1 #--------------------------------------------------------------------
2 # Copyright (c) 1999-2004, International Business Machines
3 # Corporation and others. All Rights Reserved.
4 #--------------------------------------------------------------------
13 # w<vowel> represents the stand-alone form
22 $wce=\ue00d; # LETTER CANDRA E
23 $wse=\ue00e; # LETTER SHORT E
24 $we=\ue00f; # \u090f LETTER E
26 $wco=\ue011; # LETTER CANDRA O
27 $wso=\ue012; # LETTER SHORT O
28 $wo=\ue013; # \u0913 LETTER O
50 $ena=\ue029; #compatibility
62 $ela=\ue034; #compatibility
71 $avagraha=\ue03d; # SIGN AVAGRAHA
72 # <vowel> represents the dependent form
80 $ce=\ue045; #VOWEL SIGN CANDRA E
81 $se=\ue046; #VOWEL SIGN SHORT E
84 $co=\ue049; # VOWEL SIGN CANDRA O
85 $so=\ue04a; # VOWEL SIGN SHORT O
92 \ue051>; # UNMAPPED STRESS SIGN UDATTA
93 \ue052>; # UNMAPPED STRESS SIGN ANUDATTA
94 \ue053>; # UNMAPPED GRAVE ACCENT
95 \ue054>; # UNMAPPED ACUTE ACCENT
96 $lm = \ue055;# Telugu Length Mark
97 $ailm=\ue056;# AI Length Mark
98 $aulm=\ue057;# AU Length Mark
99 #urdu compatibity forms
114 $zero=\ue066; # DIGIT ZERO
115 $one=\ue067; # DIGIT ONE
116 $two=\ue068; # DIGIT TWO
117 $three=\ue069; # DIGIT THREE
118 $four=\ue06a; # DIGIT FOUR
119 $five=\ue06b; # DIGIT FIVE
120 $six=\ue06c; # DIGIT SIX
121 $seven=\ue06d; # DIGIT SEVEN
122 $eight=\ue06e; # DIGIT EIGHT
123 $nine=\ue06f; # DIGIT NINE
125 # \u0970>; # UNMAPPED ABBREVIATION SIGN
126 $depVowelAbove=[\ue03e-\ue040\ue045-\ue04c];
127 $depVowelBelow=[\ue041-\ue044];
128 # $x was originally called '&'; $z was '%'
129 $x=[$aa$ai$au$ii$i$uu$u$rrh$rh$lh$llh$e$o$se$ce$so$co];
130 $z=[bcdfghjklmnpqrstvwxyz];
131 $vowels=[aeiour\u0304\u0325\u0306];
132 $forceIndependentMatra = [^[[:L:][\u0300-\u034c]]];
133 ######################################################################
134 # convert from Native letters to Latin letters
135 ######################################################################
136 #transliterations for anusvara
137 $anusvara} [$ka$kha$ga$gha$nga] > n\u0307;
138 $anusvara} [$ca$cha$ja$jha$nya] > n\u0304;
139 $anusvara} [$tta$ttha$dda$ddha$nna] > n\u0323;
140 $anusvara} [$ta$tha$da$dha$na] > n ;
141 $anusvara} [$pa$pha$ba$bha$ma] > m ;
142 $anusvara} [$ya$ra$lla$la$va$ssa$sha$sa$ha] > n ;
146 $ya$nukta}$x > y\u0307 ;
147 $ya$nukta$virama > y\u0307 ;
148 $ya$nukta > y\u0307a ;
150 $la$nukta }$x > l\u0331 ;
151 $la$nukta$virama > l\u0331 ;
152 $la$nukta > l\u0331a ;
154 $na$nukta }$x > n\u0331 ;
155 $na$nukta$virama > n\u0331 ;
156 $na$nukta > n\u0331a ;
159 $ena$virama > n\u0331 ;
163 $ka$nukta$virama > q ;
165 $kha$nukta }$x > k\u0331h\u0331 ;
166 $kha$nukta$virama > k\u0331h\u0331 ;
167 $kha$nukta > k\u0331h\u0331a ;
168 $ukha$virama > k\u0331h\u0331;
169 $ukha > k\u0331h\u0331a;
171 $ga$nukta }$x > g\u0307 ;
172 $ga$nukta$virama > g\u0307 ;
173 $ga$nukta > g\u0307a ;
177 $ja$nukta$virama > z ;
179 $ddha$nukta}$x > r\u0323h ;
180 $ddha$nukta$virama > r\u0323h ;
181 $ddha$nukta > r\u0323ha;
183 $uddha}$x > r\u0323 ;
184 $uddha$virama > r\u0323 ;
188 $dda$nukta}$x > r\u0323 ;
189 $dda$nukta$virama > r\u0323 ;
190 $dda$nukta > r\u0323a ;
192 $pha$nukta$virama > f ;
198 $ra$nukta}$x > r\u0331;
199 $ra$nukta$virama > r\u0331;
200 $ra$nukta > r\u0331a;
201 $lla$nukta}$x > l\u0331;
202 $lla$nukta$virama > l\u0331;
203 $lla$nukta > l\u0331a;
206 $ela$virama > l\u0331;
210 $uya$virama > y\u0307;
256 $tta$virama}$ha>t\u0323'';
262 $ttha$virama>t\u0323h;
264 $dda}$x$ha>d\u0323'';
270 $ddha$virama>d\u0323h;
279 $ta$virama}$ttha>t'';
290 $da$virama}$ddha>d'';
334 $vva$virama}$ha>w\u0307'';
338 $rra$virama}$ha>r\u0331'';
346 $lla$virama}$ha>l\u0323'';
361 $sa$nukta}$x>s\u0301;
362 $sa$nukta$virama>s\u0301;
377 # dependent vowels (should never occur except following consonants)
378 $forceIndependentMatra{$aa > \u0314a\u0304 ;
379 $forceIndependentMatra{$ai > \u0314ai ;
380 $forceIndependentMatra{$au > \u0314au ;
381 $forceIndependentMatra{$ii > \u0314i\u0304 ;
382 $forceIndependentMatra{$i > \u0314i ;
383 $forceIndependentMatra{$uu > \u0314u\u0304 ;
384 $forceIndependentMatra{$u > \u0314u ;
385 $forceIndependentMatra{$rrh > \u0314r\u0325\u0304 ;
386 $forceIndependentMatra{$rh > \u0314r\u0325 ;
387 $forceIndependentMatra{$llh > \u0314l\u0325\u0304 ;
388 $forceIndependentMatra{$lh > \u0314l\u0325 ;
389 $forceIndependentMatra{$e > \u0314e\u0304 ;
390 $forceIndependentMatra{$o > \u0314o\u0304 ;
392 $forceIndependentMatra{$ce > \u0314e\u0306 ;
393 $forceIndependentMatra{$co > \u0314o\u0306 ;
394 $forceIndependentMatra{$se > \u0314e ;
395 $forceIndependentMatra{$so > \u0314o ;
396 $forceIndependentMatra{$nukta >; # Nukta cannot appear independently or as first character
397 $forceIndependentMatra{$virama >; # Virama cannot appear independently or as first character
405 $rrh > r\u0325\u0304 ;
407 $llh > l\u0325\u0304 ;
416 #dependent vowels when following independent vowels. Generally Illegal only for roundtripping
417 $waa} $x > a\u0304\u0314 ;
418 $wai} $x > ai\u0314 ;
419 $wau} $x > au\u0314 ;
420 $wii} $x > i\u0304\u0314 ;
422 $wuu} $x > u\u0304\u0314 ;
424 $wrr} $x > r\u0325\u0304\u0314 ;
425 $wr } $x > r\u0325\u0314 ;
426 $wll} $x > l\u0325\u0304\u0314 ;
427 $wl } $x > l\u0325\u0314 ;
428 $we } $x > e\u0304\u0314 ;
429 $wo } $x > o\u0304\u0314 ;
432 $wce} $x > e\u0306\u0314 ;
433 $wco} $x > o\u0306\u0314 ;
436 $om} $x > ''om\u0314 ;
438 # independent vowels when preceeded by vowels
439 $vowels{$waa > ''a\u0304 ;
440 $vowels{$wai > ''ai ;
441 $vowels{$wau > ''au ;
442 $vowels{$wii > ''i\u0304 ;
444 $vowels{$wuu > ''u\u0304 ;
446 $vowels{$wrr > ''r\u0325\u0304 ;
447 $vowels{$wr > ''r\u0325 ;
448 $vowels{$wll > ''l\u0325\u0304 ;
449 $vowels{$wl > ''l\u0325 ;
450 $vowels{$we > ''e\u0304 ;
451 $vowels{$wo > ''o\u0304 ;
454 $vowels{$wce > ''e\u0306 ;
455 $vowels{$wco > ''o\u0306 ;
459 # independent vowels (otherwise)
467 $wrr > r\u0325\u0304 ;
469 $wll > l\u0325\u0304 ;
483 $chandrabindu$anusvara>\u0303;
484 $chandrabindu > m\u0310;
504 \ue070>; # ABBREVIATION SIGN
505 # LETTER RA WITH MIDDLE DIAGONAL
509 # LETTER RA WITH LOWER DIAGONAL
514 \ue073>; # RUPEE MARK
515 \ue074>; # RUPEE SIGN
516 \ue075>; # CURRENCY NUMERATOR ONE
517 \ue076>; # CURRENCY NUMERATOR TWO
518 \ue077>; # CURRENCY NUMERATOR THREE
519 \ue078>; # CURRENCY NUMERATOR FOUR
520 \ue079>; # CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
521 \ue07A>; # CURRENCY DENOMINATOR SIXTEEN
528 \uE004>; # DEVANAGARI VOWEL SIGN SHORT A