| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
package Lingua::MY::Zawgyi2Unicode; |
|
2
|
|
|
|
|
|
|
|
|
3
|
1
|
|
|
1
|
|
27611
|
use Readonly; |
|
|
1
|
|
|
|
|
2
|
|
|
|
1
|
|
|
|
|
36
|
|
|
4
|
1
|
|
|
1
|
|
3
|
use Exporter; |
|
|
1
|
|
|
|
|
2
|
|
|
|
1
|
|
|
|
|
26
|
|
|
5
|
1
|
|
|
1
|
|
3
|
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); |
|
|
1
|
|
|
|
|
5
|
|
|
|
1
|
|
|
|
|
69
|
|
|
6
|
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
@ISA = qw(Exporter); |
|
8
|
|
|
|
|
|
|
@EXPORT = qw(isZawgyi isBurmese convert); |
|
9
|
|
|
|
|
|
|
@EXPORT_OK = qw(isZawgyi isBurmese convert); |
|
10
|
|
|
|
|
|
|
|
|
11
|
1
|
|
|
1
|
|
3
|
use strict; |
|
|
1
|
|
|
|
|
1
|
|
|
|
1
|
|
|
|
|
15
|
|
|
12
|
1
|
|
|
1
|
|
2
|
use warnings; |
|
|
1
|
|
|
|
|
1
|
|
|
|
1
|
|
|
|
|
442
|
|
|
13
|
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
our $VERSION = '0.001'; |
|
15
|
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
|
|
17
|
|
|
|
|
|
|
=head1 NAME |
|
18
|
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
Lingua::MY::Zawgyi2Unicode - providing a module for converting Burmese text in Zawgyi to Unicode (UTF-8). |
|
20
|
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
=head1 VERSION |
|
22
|
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
0.001 |
|
24
|
|
|
|
|
|
|
|
|
25
|
|
|
|
|
|
|
=head1 SYNOPSIS |
|
26
|
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
use Lingua::MY::Zawgyi2Unicode; |
|
28
|
|
|
|
|
|
|
|
|
29
|
|
|
|
|
|
|
# /.../ |
|
30
|
|
|
|
|
|
|
|
|
31
|
|
|
|
|
|
|
# check if the $string is Burmese (fast operation) |
|
32
|
|
|
|
|
|
|
# and if so, also check if the $string is in |
|
33
|
|
|
|
|
|
|
# zawgyi encoding. |
|
34
|
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
if (isBurmese($string) and isZawgyi($string)) { |
|
36
|
|
|
|
|
|
|
$string = convert($string); |
|
37
|
|
|
|
|
|
|
} |
|
38
|
|
|
|
|
|
|
|
|
39
|
|
|
|
|
|
|
=head1 DESCRIPTION |
|
40
|
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
A Perl implementation to convert Burmese text in Zawgyi to Unicode (UTF-8). Inspiration, algortithms, and bits of code has been cherry picketed from the L project and L project. |
|
42
|
|
|
|
|
|
|
|
|
43
|
|
|
|
|
|
|
=head1 FUNCTIONS |
|
44
|
|
|
|
|
|
|
|
|
45
|
|
|
|
|
|
|
=head2 isBurmese |
|
46
|
|
|
|
|
|
|
|
|
47
|
|
|
|
|
|
|
Check if a string is Burmese text, either Zawgyi or Unicode. Considered a quick operation. |
|
48
|
|
|
|
|
|
|
|
|
49
|
|
|
|
|
|
|
=head2 isZawgui |
|
50
|
|
|
|
|
|
|
|
|
51
|
|
|
|
|
|
|
Check if a string is Zawgyi. This function is slower than isBurmese, so it makes sense to check with isBurmese prior to call this. |
|
52
|
|
|
|
|
|
|
|
|
53
|
|
|
|
|
|
|
=head2 convert |
|
54
|
|
|
|
|
|
|
|
|
55
|
|
|
|
|
|
|
This function convert the supplied string to Unicode and return the result. Do not call this function with a (Burmese) Unicode string, if uncertain of the encoding, check with the above is-functions. |
|
56
|
|
|
|
|
|
|
|
|
57
|
|
|
|
|
|
|
=head1 SOURCE |
|
58
|
|
|
|
|
|
|
|
|
59
|
|
|
|
|
|
|
L |
|
60
|
|
|
|
|
|
|
|
|
61
|
|
|
|
|
|
|
|
|
62
|
|
|
|
|
|
|
=head1 HOMEPAGE |
|
63
|
|
|
|
|
|
|
|
|
64
|
|
|
|
|
|
|
L |
|
65
|
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
|
|
67
|
|
|
|
|
|
|
=head1 AUTHOR |
|
68
|
|
|
|
|
|
|
|
|
69
|
|
|
|
|
|
|
Joakim Lagerqvist, C<< >> |
|
70
|
|
|
|
|
|
|
|
|
71
|
|
|
|
|
|
|
=head1 BUGS |
|
72
|
|
|
|
|
|
|
|
|
73
|
|
|
|
|
|
|
Please report any bugs or feature requests to C, or through |
|
74
|
|
|
|
|
|
|
the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. |
|
75
|
|
|
|
|
|
|
|
|
76
|
|
|
|
|
|
|
|
|
77
|
|
|
|
|
|
|
=head1 COPYRIGHT & LICENSE |
|
78
|
|
|
|
|
|
|
|
|
79
|
|
|
|
|
|
|
Copyright 2009 Joakim Lagerqvist, all rights reserved. |
|
80
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify it |
|
81
|
|
|
|
|
|
|
under the same terms as Perl itself. |
|
82
|
|
|
|
|
|
|
|
|
83
|
|
|
|
|
|
|
=cut |
|
84
|
|
|
|
|
|
|
|
|
85
|
|
|
|
|
|
|
|
|
86
|
|
|
|
|
|
|
Readonly my $zawgyire => qr/ |
|
87
|
|
|
|
|
|
|
\x{1031}\x{103b} | #e+medial ra |
|
88
|
|
|
|
|
|
|
# beginning e or medial ra |
|
89
|
|
|
|
|
|
|
^\x{1031} | ^\x{103b} | |
|
90
|
|
|
|
|
|
|
# independent vowel, dependent vowel, tone , medial ra wa ha (no ya |
|
91
|
|
|
|
|
|
|
# because of 103a+103b is valid in unicode) , digit , |
|
92
|
|
|
|
|
|
|
#symbol + medial ra |
|
93
|
|
|
|
|
|
|
[\x{1022}-\x{1030}\x{1032}-\x{1039}\x{103b}-\x{103d}\x{1040}-\x{104f} ] \x{103b} | |
|
94
|
|
|
|
|
|
|
# end with asat |
|
95
|
|
|
|
|
|
|
\x{1039}$ | |
|
96
|
|
|
|
|
|
|
# medial ha + medial wa |
|
97
|
|
|
|
|
|
|
\x{103d}\x{103c} | |
|
98
|
|
|
|
|
|
|
# medial ra + medial wa |
|
99
|
|
|
|
|
|
|
\x{103b}\x{103c} | |
|
100
|
|
|
|
|
|
|
# consonant + asat + ya ra wa ha independent vowel e dot below |
|
101
|
|
|
|
|
|
|
# visarga asat medial ra digit symbol |
|
102
|
|
|
|
|
|
|
[\x{1000}-\x{1021}]\x{1039}[\x{101a}\x{101b}\x{101d}\x{101f}\x{1022}-\x{102a}\x{1031}\x{1037}-\x{1039}\x{103b}\x{1040}-\x{104f}] | |
|
103
|
|
|
|
|
|
|
# II+I II ae |
|
104
|
|
|
|
|
|
|
\x{102e}[\x{102d}\x{103e}\x{1032}] | |
|
105
|
|
|
|
|
|
|
# ae + I II |
|
106
|
|
|
|
|
|
|
\x{1032}[\x{102d}\x{102e}] | |
|
107
|
|
|
|
|
|
|
# I II , II I, I I, II II |
|
108
|
|
|
|
|
|
|
[\x{102d}\x{102e}][\x{102d}\x{102e}] | |
|
109
|
|
|
|
|
|
|
# shan digit + vowel |
|
110
|
|
|
|
|
|
|
[\x{1090}-\x{1099}][\x{102b}-\x{1030}\x{1032}\x{1037}\x{103c}-\x{103e}] | |
|
111
|
|
|
|
|
|
|
# consonant + medial ya + dependent vowel tone asat |
|
112
|
|
|
|
|
|
|
[\x{1000}-\x{102a}]\x{103a}[\x{102c}-\x{102e}\x{1032}-\x{1036}] | |
|
113
|
|
|
|
|
|
|
# independent vowel dependent vowel tone digit + e [ FIXED !!! - not include medial ] |
|
114
|
|
|
|
|
|
|
[\x{1023}-\x{1030}\x{1032}-\x{1039}\x{1040}-\x{104f}]\x{1031} | |
|
115
|
|
|
|
|
|
|
# other shapes of medial ra + consonant not in Shan consonant |
|
116
|
|
|
|
|
|
|
[\x{107e}-\x{1084}][\x{1001}\x{1003}\x{1005}-\x{100f}\x{1012}-\x{1014}\x{1016}-\x{1018}\x{101f}] | |
|
117
|
|
|
|
|
|
|
# u + asat |
|
118
|
|
|
|
|
|
|
\x{1025}\x{1039} | |
|
119
|
|
|
|
|
|
|
# eain-dray |
|
120
|
|
|
|
|
|
|
[\x{1081}\x{1083}]\x{108f} | |
|
121
|
|
|
|
|
|
|
# short na + stack characters |
|
122
|
|
|
|
|
|
|
\x{108f}[\x{1060}-\x{108d}] |
|
123
|
|
|
|
|
|
|
# I II ae dow bolow above + asat typing error |
|
124
|
|
|
|
|
|
|
[\x{102d}-\x{1030}\x{1032}\x{1036}\x{1037}]\x{1039} | |
|
125
|
|
|
|
|
|
|
# aa + asat awww |
|
126
|
|
|
|
|
|
|
\x{102c}\x{1039} | |
|
127
|
|
|
|
|
|
|
# ya + medial wa |
|
128
|
|
|
|
|
|
|
\x{101b}\x{103c} | |
|
129
|
|
|
|
|
|
|
# non digit + zero + \x{102d} (i vowel) [FIXED!!! rules tested zero + i vowel in numeric usage] |
|
130
|
|
|
|
|
|
|
[^\x{1040}-\x{1049}]\x{1040}\x{102d} | |
|
131
|
|
|
|
|
|
|
# e + zero + vowel |
|
132
|
|
|
|
|
|
|
\x{1031}?\x{1040}[\x{102b}\x{105a}\x{102e}-\x{1030}\x{1032}\x{1036}-\x{1038}] | |
|
133
|
|
|
|
|
|
|
# e + seven + vowel |
|
134
|
|
|
|
|
|
|
\x{1031}?\x{1047}[\x{102c}-\x{1030}\x{1032}\x{1036}-\x{1038}] | |
|
135
|
|
|
|
|
|
|
# U | UU | AI + (zawgyi) dot below |
|
136
|
|
|
|
|
|
|
[\x{102f}\x{1030}\x{1032}]\x{1094} | |
|
137
|
|
|
|
|
|
|
# virama + (zawgyi) medial ra |
|
138
|
|
|
|
|
|
|
\x{1039}[\x{107e}-\x{1084}] |
|
139
|
|
|
|
|
|
|
/x; |
|
140
|
|
|
|
|
|
|
|
|
141
|
|
|
|
|
|
|
sub isBurmese { |
|
142
|
3
|
|
|
3
|
1
|
11
|
my $str = shift; |
|
143
|
3
|
50
|
|
|
|
15
|
if ($str =~ /[\x{1000}-\x{1021}]/) { |
|
144
|
3
|
|
|
|
|
12
|
return 1; |
|
145
|
|
|
|
|
|
|
} |
|
146
|
0
|
|
|
|
|
0
|
return 0; |
|
147
|
|
|
|
|
|
|
} |
|
148
|
|
|
|
|
|
|
|
|
149
|
|
|
|
|
|
|
sub isZawgyi { |
|
150
|
3
|
|
|
3
|
0
|
4
|
my $str = shift; |
|
151
|
|
|
|
|
|
|
|
|
152
|
3
|
|
|
|
|
75
|
my @lines = split (/[\f\n\r\t\v\x{00a0}\x{1680}\x{180e}\x{2000}-\x{200a}\x{2028}\x{2029}\x{202f}\x{205f}\x{3000}\x{feff}]/, $str); |
|
153
|
3
|
|
|
|
|
7
|
for my $line (@lines) { |
|
154
|
3
|
|
|
|
|
3
|
my $prepend = ''; |
|
155
|
3
|
|
|
|
|
44
|
for my $word (split (/\s/, $line)) { |
|
156
|
65
|
|
|
|
|
1539
|
$word = $prepend.$word; |
|
157
|
65
|
|
|
|
|
52
|
$prepend = ' '; |
|
158
|
65
|
100
|
|
|
|
91
|
if ($word =~ /$zawgyire/) { |
|
159
|
1
|
|
|
|
|
17
|
return 1; |
|
160
|
|
|
|
|
|
|
} |
|
161
|
|
|
|
|
|
|
} |
|
162
|
|
|
|
|
|
|
} |
|
163
|
2
|
|
|
|
|
64
|
return 0; |
|
164
|
|
|
|
|
|
|
} |
|
165
|
|
|
|
|
|
|
|
|
166
|
|
|
|
|
|
|
#From Rabbit |
|
167
|
|
|
|
|
|
|
sub convert { |
|
168
|
1
|
|
|
1
|
1
|
10560
|
my ($zawgyi) = @_; |
|
169
|
|
|
|
|
|
|
|
|
170
|
1
|
|
|
1
|
|
4
|
no warnings 'uninitialized'; |
|
|
1
|
|
|
|
|
1
|
|
|
|
1
|
|
|
|
|
1523
|
|
|
171
|
|
|
|
|
|
|
|
|
172
|
1
|
|
|
|
|
8
|
$zawgyi =~ s/\x{200b}//g; |
|
173
|
1
|
|
|
|
|
41
|
$zawgyi =~ s/(\x{103d}|\x{1087})/\x{103e}/g; |
|
174
|
1
|
|
|
|
|
8
|
$zawgyi =~ s/\x{103c}/\x{103d}/g; |
|
175
|
1
|
|
|
|
|
41
|
$zawgyi =~ s/(\x{103b}|\x{107e}|\x{107f}|\x{1080}|\x{1081}|\x{1082}|\x{1083}|\x{1084})/\x{103c}/g; |
|
176
|
1
|
|
|
|
|
44
|
$zawgyi =~ s/(\x{103a}|\x{107d})/\x{103b}/g; |
|
177
|
1
|
|
|
|
|
18
|
$zawgyi =~ s/\x{1039}/\x{103a}/g; |
|
178
|
1
|
|
|
|
|
41
|
$zawgyi =~ s/(\x{1066}|\x{1067})/\x{1039}\x{1006}/g; |
|
179
|
1
|
|
|
|
|
7
|
$zawgyi =~ s/\x{106a}/\x{1009}/g; |
|
180
|
1
|
|
|
|
|
7
|
$zawgyi =~ s/\x{106b}/\x{100a}/g; |
|
181
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{106c}/\x{1039}\x{100b}/g; |
|
182
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{106d}/\x{1039}\x{100c}/g; |
|
183
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{106e}/\x{100d}\x{1039}\x{100d}/g; |
|
184
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{106f}/\x{100d}\x{1039}\x{100e}/g; |
|
185
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1070}/\x{1039}\x{100f}/g; |
|
186
|
1
|
|
|
|
|
28
|
$zawgyi =~ s/(\x{1071}|\x{1072})/\x{1039}\x{1010}/g; |
|
187
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1060}/\x{1039}\x{1000}/g; |
|
188
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1061}/\x{1039}\x{1001}/g; |
|
189
|
1
|
|
|
|
|
6
|
$zawgyi =~ s/\x{1062}/\x{1039}\x{1002}/g; |
|
190
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1063}/\x{1039}\x{1003}/g; |
|
191
|
1
|
|
|
|
|
6
|
$zawgyi =~ s/\x{1065}/\x{1039}\x{1005}/g; |
|
192
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1068}/\x{1039}\x{1007}/g; |
|
193
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1069}/\x{1039}\x{1008}/g; |
|
194
|
1
|
|
|
|
|
28
|
$zawgyi =~ s/(\x{1073}|\x{1074})/\x{1039}\x{1011}/g; |
|
195
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1075}/\x{1039}\x{1012}/g; |
|
196
|
1
|
|
|
|
|
6
|
$zawgyi =~ s/\x{1076}/\x{1039}\x{1013}/g; |
|
197
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1077}/\x{1039}\x{1014}/g; |
|
198
|
1
|
|
|
|
|
13
|
$zawgyi =~ s/\x{1078}/\x{1039}\x{1015}/g; |
|
199
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1079}/\x{1039}\x{1016}/g; |
|
200
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{107a}/\x{1039}\x{1017}/g; |
|
201
|
1
|
|
|
|
|
7
|
$zawgyi =~ s/\x{107c}/\x{1039}\x{1019}/g; |
|
202
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1085}/\x{1039}\x{101c}/g; |
|
203
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1033}/\x{102f}/g; |
|
204
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1034}/\x{1030}/g; |
|
205
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{103f}/\x{1030}/g; |
|
206
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1086}/\x{103f}/g; |
|
207
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1036}\x{1088}/\x{1088}\x{1036}/g; |
|
208
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1088}/\x{103e}\x{102f}/g; |
|
209
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1089}/\x{103e}\x{1030}/g; |
|
210
|
1
|
|
|
|
|
7
|
$zawgyi =~ s/\x{108a}/\x{103d}\x{103e}/g; |
|
211
|
1
|
|
|
|
|
21
|
$zawgyi =~ s/([\x{1000}-\x{1021}])\x{1064}/\x{1004}\x{103a}\x{1039}$1/g; |
|
212
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/([\x{1000}-\x{1021}])\x{108b}/\x{1004}\x{103a}\x{1039}$1\x{102d}/g; |
|
213
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/([\x{1000}-\x{1021}])\x{108c}/\x{1004}\x{103a}\x{1039}$1\x{102e}/g; |
|
214
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/([\x{1000}-\x{1021}])\x{108d}/\x{1004}\x{103a}\x{1039}$1\x{1036}/g; |
|
215
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{108e}/\x{102d}\x{1036}/g; |
|
216
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{108f}/\x{1014}/g; |
|
217
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1090}/\x{101b}/g; |
|
218
|
1
|
|
|
|
|
18
|
$zawgyi =~ s/\x{1091}/\x{100f}\x{1039}\x{100d}/g; |
|
219
|
1
|
|
|
|
|
10
|
$zawgyi =~ s/\x{1019}\x{102c}(\x{107b}|\x{1093})/\x{1019}\x{1039}\x{1018}\x{102c}/g; |
|
220
|
1
|
|
|
|
|
31
|
$zawgyi =~ s/(\x{107b}|\x{1093})/\x{1039}\x{1018}/g; |
|
221
|
1
|
|
|
|
|
36
|
$zawgyi =~ s/(\x{1094}|\x{1095})/\x{1037}/g; |
|
222
|
1
|
|
|
|
|
6
|
$zawgyi =~ s/\x{1096}/\x{1039}\x{1010}\x{103d}/g; |
|
223
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1097}/\x{100b}\x{1039}\x{100b}/g; |
|
224
|
1
|
|
|
|
|
23
|
$zawgyi =~ s/\x{103c}([\x{1000}-\x{1021}])([\x{1000}-\x{1021}])?/$1\x{103c}$2/g; |
|
225
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/([\x{1000}-\x{1021}])\x{103c}\x{103a}/\x{103c}$1\x{103a}/g; |
|
226
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1047}(?=[\x{102c}-\x{1030}\x{1032}\x{1036}-\x{1038}\x{103d}\x{1038}])/\x{101b}/g; |
|
227
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1031}\x{1047}/\x{1031}\x{101b}/g; |
|
228
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1040}(\x{102e}|\x{102f}|\x{102d}\x{102f}|\x{1030}|\x{1036}|\x{103d}|\x{103e})/\x{101d}$1/g; |
|
229
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/([^\x{1040}\x{1041}\x{1042}\x{1043}\x{1044}\x{1045}\x{1046}\x{1047}\x{1048}\x{1049}])\x{1040}\x{102b}/$1\x{101d}\x{102b}/g; |
|
230
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/([\x{1040}\x{1041}\x{1042}\x{1043}\x{1044}\x{1045}\x{1046}\x{1047}\x{1048}\x{1049}])\x{1040}\x{102b}(?!\x{1038})/$1\x{101d}\x{102b}/g; |
|
231
|
1
|
|
|
|
|
3
|
$zawgyi =~ s/^\x{1040}(?=\x{102b})/\x{101d}/g; |
|
232
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1040}\x{102d}(?!\x{0020}?\/)/\x{101d}\x{102d}/g; |
|
233
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/([^\x{1040}-\x{1049}])\x{1040}([^\x{1040}-\x{1049}]|[\x{104a}\x{104b}])/$1\x{101d}$2/g; |
|
234
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/([^\x{1040}-\x{1049}])\x{1040}(?=[\\f\\n\\r])/$1\x{101d}/g; |
|
235
|
1
|
|
|
|
|
3
|
$zawgyi =~ s/([^\x{1040}-\x{1049}])\x{1040}$/$1\x{101d}/g; |
|
236
|
1
|
|
|
|
|
43
|
$zawgyi =~ s/\x{1031}([\x{1000}-\x{1021}])(\x{103e})?(\x{103b})?/$1$2$3\x{1031}/g; |
|
237
|
1
|
|
|
|
|
27
|
$zawgyi =~ s/([\x{1000}-\x{1021}])\x{1031}([\x{103b}\x{103c}\x{103d}\x{103e}]+)/$1$2\x{1031}/g; |
|
238
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1032}\x{103d}/\x{103d}\x{1032}/g; |
|
239
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{103d}\x{103b}/\x{103b}\x{103d}/g; |
|
240
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{103a}\x{1037}/\x{1037}\x{103a}/g; |
|
241
|
1
|
|
|
|
|
10
|
$zawgyi =~ s/\x{102f}(\x{102d}|\x{102e}|\x{1036}|\x{1037})\x{102f}/\x{102f}$1/g; |
|
242
|
1
|
|
|
|
|
14
|
$zawgyi =~ s/\x{102f}\x{102f}/\x{102f}/g; |
|
243
|
1
|
|
|
|
|
37
|
$zawgyi =~ s/(\x{102f}|\x{1030})(\x{102d}|\x{102e})/$2$1/g; |
|
244
|
1
|
|
|
|
|
8
|
$zawgyi =~ s/(\x{103e})(\x{103b}|\x{103c})/$2$1/g; |
|
245
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1025}(\x{103a}|\x{102c})/\x{1009}$1/g; |
|
246
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1025}\x{102e}/\x{1026}/g; |
|
247
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1005}\x{103b}/\x{1008}/g; |
|
248
|
1
|
|
|
|
|
8
|
$zawgyi =~ s/\x{1036}(\x{102f}|\x{1030})/$1\x{1036}/g; |
|
249
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1031}\x{1037}\x{103e}/\x{103e}\x{1031}\x{1037}/g; |
|
250
|
1
|
|
|
|
|
3
|
$zawgyi =~ s/\x{1031}\x{103e}\x{102c}/\x{103e}\x{1031}\x{102c}/g; |
|
251
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{105a}/\x{102b}\x{103a}/g; |
|
252
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1031}\x{103b}\x{103e}/\x{103b}\x{103e}\x{1031}/g; |
|
253
|
1
|
|
|
|
|
37
|
$zawgyi =~ s/(\x{102d}|\x{102e})(\x{103d}|\x{103e})/$2$1/g; |
|
254
|
1
|
|
|
|
|
10
|
$zawgyi =~ s/\x{102c}\x{1039}([\x{1000}-\x{1021}])/\x{1039}$1\x{102c}/g; |
|
255
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{103c}\x{1004}\x{103a}\x{1039}([\x{1000}-\x{1021}])/\x{1004}\x{103a}\x{1039}$1\x{103c}/g; |
|
256
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1039}\x{103c}\x{103a}\x{1039}([\x{1000}-\x{1021}])/\x{103a}\x{1039}$1\x{103c}/g; |
|
257
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{103c}\x{1039}([\x{1000}-\x{1021}])/\x{1039}$1\x{103c}/g; |
|
258
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1036}\x{1039}([\x{1000}-\x{1021}])/\x{1039}$1\x{1036}/g; |
|
259
|
1
|
|
|
|
|
6
|
$zawgyi =~ s/\x{1092}/\x{100b}\x{1039}\x{100c}/g; |
|
260
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{104e}/\x{104e}\x{1004}\x{103a}\x{1038}/g; |
|
261
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1040}(\x{102b}|\x{102c}|\x{1036})/\x{101d}$1/g; |
|
262
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{1025}\x{1039}/\x{1009}\x{1039}/g; |
|
263
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/([\x{1000}-\x{1021}])\x{103c}\x{1031}\x{103d}/$1\x{103c}\x{103d}\x{1031}/g; |
|
264
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/([\x{1000}-\x{1021}])\x{103b}\x{1031}\x{103d}(\x{103e})?/$1\x{103b}\x{103d}$2\x{1031}/g; |
|
265
|
1
|
|
|
|
|
3
|
$zawgyi =~ s/([\x{1000}-\x{1021}])\x{103d}\x{1031}\x{103b}/$1\x{103b}\x{103d}\x{1031}/g; |
|
266
|
1
|
|
|
|
|
9
|
$zawgyi =~ s/([\x{1000}-\x{1021}])\x{1031}(\x{1039}[\x{1000}-\x{1021}])/$1$2\x{1031}/g; |
|
267
|
1
|
|
|
|
|
7
|
$zawgyi =~ s/\x{1038}\x{103a}/\x{103a}\x{1038}/g; |
|
268
|
1
|
|
|
|
|
31
|
$zawgyi =~ s/\x{102d}\x{103a}|\x{103a}\x{102d}/\x{102d}/g; |
|
269
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{102d}\x{102f}\x{103a}/\x{102d}\x{102f}/g; |
|
270
|
1
|
|
|
|
|
6
|
$zawgyi =~ s/ \x{1037}/\x{1037}/g; |
|
271
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1037}\x{1036}/\x{1036}\x{1037}/g; |
|
272
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{102d}\x{102d}/\x{102d}/g; |
|
273
|
1
|
|
|
|
|
3
|
$zawgyi =~ s/\x{102e}\x{102e}/\x{102e}/g; |
|
274
|
1
|
|
|
|
|
31
|
$zawgyi =~ s/\x{102d}\x{102e}|\x{102e}\x{102d}/\x{102e}/g; |
|
275
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{102f}\x{102f}/\x{102f}/g; |
|
276
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{102f}\x{102d}/\x{102d}\x{102f}/g; |
|
277
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1037}\x{1037}/\x{1037}/g; |
|
278
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/\x{1032}\x{1032}/\x{1032}/g; |
|
279
|
1
|
|
|
|
|
3
|
$zawgyi =~ s/\x{1044}\x{1004}\x{103a}\x{1038}/\x{104e}\x{1004}\x{103a}\x{1038}/g; |
|
280
|
1
|
|
|
|
|
5
|
$zawgyi =~ s/\x{103a}\x{103a}/\x{103a}/g; |
|
281
|
1
|
|
|
|
|
4
|
$zawgyi =~ s/ \x{1037}/\x{1037}/g; |
|
282
|
|
|
|
|
|
|
|
|
283
|
1
|
|
|
|
|
4
|
return $zawgyi; |
|
284
|
|
|
|
|
|
|
} |
|
285
|
|
|
|
|
|
|
|
|
286
|
|
|
|
|
|
|
1; |