41ca4f63ee
X-SVN-Rev: 17296
396 lines
9.0 KiB
Plaintext
396 lines
9.0 KiB
Plaintext
#--------------------------------------------------------------------
|
|
# Copyright (c) 1999-2005, International Business Machines
|
|
# Corporation and others. All Rights Reserved.
|
|
#--------------------------------------------------------------------
|
|
|
|
# Latin-InterIndic
|
|
#:: NFD;
|
|
#\u0e00 reserved
|
|
#consonants
|
|
$chandrabindu=\ue001;
|
|
$anusvara=\ue002;
|
|
$visarga=\ue003;
|
|
#\u0e004 reserved
|
|
# w<vowel> represents the stand-alone form
|
|
$wa=\ue005;
|
|
$waa=\ue006;
|
|
$wi=\ue007;
|
|
$wii=\ue008;
|
|
$wu=\ue009;
|
|
$wuu=\ue00a;
|
|
$wr=\ue00b;
|
|
$wl=\ue00c;
|
|
$wce=\ue00d; # LETTER CANDRA E
|
|
$wse=\ue00e; # LETTER SHORT E
|
|
$we=\ue00f; # \u090f LETTER E
|
|
$wai=\ue010;
|
|
$wco=\ue011; # LETTER CANDRA O
|
|
$wso=\ue012; # LETTER SHORT O
|
|
$wo=\ue013; # \u0913 LETTER O
|
|
$wau=\ue014;
|
|
$ka=\ue015;
|
|
$kha=\ue016;
|
|
$ga=\ue017;
|
|
$gha=\ue018;
|
|
$nga=\ue019;
|
|
$ca=\ue01a;
|
|
$cha=\ue01b;
|
|
$ja=\ue01c;
|
|
$jha=\ue01d;
|
|
$nya=\ue01e;
|
|
$tta=\ue01f;
|
|
$ttha=\ue020;
|
|
$dda=\ue021;
|
|
$ddha=\ue022;
|
|
$nna=\ue023;
|
|
$ta=\ue024;
|
|
$tha=\ue025;
|
|
$da=\ue026;
|
|
$dha=\ue027;
|
|
$na=\ue028;
|
|
$ena=\ue029; #compatibility
|
|
$pa=\ue02a;
|
|
$pha=\ue02b;
|
|
$ba=\ue02c;
|
|
$bha=\ue02d;
|
|
$ma=\ue02e;
|
|
$ya=\ue02f;
|
|
$ra=\ue030;
|
|
$rra=\ue031;
|
|
$la=\ue032;
|
|
$lla=\ue033;
|
|
$ela=\ue034; #compatibility
|
|
$va=\ue035;
|
|
$vva=\ue081;
|
|
$sha=\ue036;
|
|
$ssa=\ue037;
|
|
$sa=\ue038;
|
|
$ha=\ue039;
|
|
#\u093a Reserved
|
|
#\u093b Reserved
|
|
$nukta=\ue03c;
|
|
$avagraha=\ue03d; # SIGN AVAGRAHA
|
|
# <vowel> represents the dependent form
|
|
$aa=\ue03e;
|
|
$i=\ue03f;
|
|
$ii=\ue040;
|
|
$u=\ue041;
|
|
$uu=\ue042;
|
|
$rh=\ue043;
|
|
$lh=\ue044;
|
|
$ce=\ue045; #VOWEL SIGN CANDRA E
|
|
$se=\ue046; #VOWEL SIGN SHORT E
|
|
$e=\ue047;
|
|
$ai=\ue048;
|
|
$co=\ue049; # VOWEL SIGN CANDRA O
|
|
$so=\ue04a; # VOWEL SIGN SHORT O
|
|
$o=\ue04b; # \u094b
|
|
$au=\ue04c;
|
|
$virama=\ue04d;
|
|
# \u094e Reserved
|
|
# \u094f Reserved
|
|
$om = \ue050; # OM
|
|
# \u0951>; # UNMAPPED STRESS SIGN UDATTA
|
|
# \u0952>; # UNMAPPED STRESS SIGN ANUDATTA
|
|
# \u0953>; # UNMAPPED GRAVE ACCENT
|
|
# \u0954>; # UNMAPPED ACUTE ACCENT
|
|
$lm = \ue055;# Telugu Length Mark
|
|
$ailm=\ue056;# AI Length Mark
|
|
$aulm=\ue057;# AU Length Mark
|
|
#urdu compatibity forms
|
|
$uka=\ue058;
|
|
$ukha=\ue059;
|
|
$ugha=\ue05a;
|
|
$ujha=\ue05b;
|
|
$uddha=\ue05c;
|
|
$udha=\ue05d;
|
|
$ufa=\ue05e;
|
|
$uya=\ue05f;
|
|
$wrr=\ue060;
|
|
$wll=\ue061;
|
|
$rrh=\ue062;
|
|
$llh=\ue063;
|
|
$danda=\ue064;
|
|
$doubleDanda=\ue065;
|
|
$zero=\ue066; # DIGIT ZERO
|
|
$one=\ue067; # DIGIT ONE
|
|
$two=\ue068; # DIGIT TWO
|
|
$three=\ue069; # DIGIT THREE
|
|
$four=\ue06a; # DIGIT FOUR
|
|
$five=\ue06b; # DIGIT FIVE
|
|
$six=\ue06c; # DIGIT SIX
|
|
$seven=\ue06d; # DIGIT SEVEN
|
|
$eight=\ue06e; # DIGIT EIGHT
|
|
$nine=\ue06f; # DIGIT NINE
|
|
|
|
$dgs=\ue082;
|
|
|
|
# For all other scripts
|
|
$ecp0=\ue070;
|
|
$ecp1=\ue071;
|
|
$ecp2=\ue072;
|
|
$ecp3=\ue073;
|
|
$ecp4=\ue074;
|
|
$ecp5=\ue075;
|
|
$ecp6=\ue076;
|
|
$ecp7=\ue077;
|
|
$ecp8=\ue078;
|
|
$ecp9=\ue079;
|
|
$ecpA=\ue07a;
|
|
$ecpB=\ue07b;
|
|
$ecpC=\ue07c;
|
|
$ecpD=\ue07d;
|
|
$ecpE=\ue07e;
|
|
$ecpF=\ue07f;
|
|
|
|
# Khanda-ta
|
|
$kta=\ue083;
|
|
|
|
# \u0970>; # UNMAPPED ABBREVIATION SIGN
|
|
$depVowelAbove=[\ue03e-\ue040\ue045-\ue04c];
|
|
$depVowelBelow=[\ue041-\ue044];
|
|
$endThing=[$danda$doubleDanda];
|
|
# $x was originally called '&'; $z was '%'
|
|
$x=[$virama$aa$ai$au$ii$i$uu$u$rrh$rh$lh$e$o$se$ce$so$co];
|
|
$z=[bcdfghjklmnpqrstvwxyz];
|
|
$consonants=[[$ka-$ha]$z[\u0915-\u0939][\u0995-\u09b9][\u0a15-\u0a39][\u0a95-\u0ab9][\u0b15-\u0b39][\u0b95-\u0bb9][\u0c15-\u0c39][\u0c95-\u0cb9][\u0d15-\u0d39]];
|
|
\u0315 > $avagraha;
|
|
\u0303>$chandrabindu$anusvara;
|
|
m\u0310>$chandrabindu;
|
|
h\u0323>$visarga;
|
|
x>$ka$virama$sa;
|
|
# convert to independent forms at start of word or syllable:
|
|
# dependent forms for roundtrip
|
|
\u0314a\u0304>$aa;
|
|
\u0314ai>$ai;
|
|
\u0314au>$au;
|
|
\u0314ii>$ii;
|
|
\u0314i\u0304>$ii;
|
|
\u0314i>$i;
|
|
\u0314u\u0304>$uu;
|
|
\u0314u>$u;
|
|
\u0314r\u0325\u0304>$rrh;
|
|
\u0314r\u0325>$rh;
|
|
\u0314l\u0325\u0304>$llh;
|
|
\u0314lh>$lh;
|
|
\u0314l\u0325>$lh;
|
|
\u0314e\u0304>$e;
|
|
\u0314o\u0304>$o;
|
|
\u0314a>;
|
|
\u0314e\u0306>$ce;
|
|
\u0314o\u0306>$co;
|
|
\u0314e>$se;
|
|
\u0314o>$so;
|
|
|
|
# preceeded by consonants
|
|
$consonants{ a\u0304>$aa;
|
|
$consonants{ ai>$ai;
|
|
$consonants{ au>$au;
|
|
$consonants{ ii>$ii;
|
|
$consonants{ i\u0304>$ii;
|
|
$consonants{ i>$i;
|
|
$consonants{ u\u0304>$uu;
|
|
$consonants{ u>$u;
|
|
$consonants{ r\u0325\u0304>$rrh;
|
|
$consonants{ r\u0325a>$rh;
|
|
$consonants{ r\u0325>$rh;
|
|
$consonants{ l\u0325\u0304>$llh;
|
|
$consonants{ lh>$lh;
|
|
$consonants{ l\u0325>$lh;
|
|
$consonants{ e\u0304>$e;
|
|
$consonants{ o\u0304>$o;
|
|
$consonants{ e\u0306>$ce;
|
|
$consonants{ o\u0306>$co;
|
|
$consonants{ e>$se;
|
|
$consonants{ o>$so;
|
|
|
|
# e.g. keai -> {ka}{e}{wai}; k'ai -> {ka}{wai}; (ai) -> ({wai})
|
|
a\u0304>$waa;
|
|
ai>$wai;
|
|
au>$wau;
|
|
i\u0304>$wii;
|
|
i>$wi;
|
|
u\u0304>$wuu;
|
|
u>$wu;
|
|
r\u0325\u0304>$wrr;
|
|
r\u0325>$wr;
|
|
l\u0325\u0304>$wll;
|
|
lh>$wl;
|
|
l\u0325>$wl;
|
|
e\u0304>$we;
|
|
o\u0304>$wo;
|
|
a>$wa;
|
|
e\u0306>$wce;
|
|
o\u0306>$wco;
|
|
e>$wse;
|
|
''om>$om;
|
|
o>$wso;
|
|
|
|
# rules for anusvara
|
|
n}r\u0325 > $na|$virama;
|
|
n}l\u0325 > $na|$virama;
|
|
n}na > $na|$virama;
|
|
n\u0307}[kg] > $anusvara;
|
|
n\u0307}n\u0307 > $anusvara;
|
|
n\u0304}[cj] > $anusvara;
|
|
n\u0304}n\u0303 > $anusvara;
|
|
n\u0323}[tdn]\u0323 > $anusvara;
|
|
n}[tdn] > $anusvara;
|
|
m}[pbm] > $anusvara;
|
|
n}[ylvshr] > $anusvara;
|
|
m\u0307 > $anusvara;
|
|
|
|
#urdu compatibility
|
|
q>$uka|$virama;
|
|
k\u0331h\u0331>$ukha |$virama;
|
|
g\u0307> $ugha | $virama;
|
|
z > $ujha |$virama;
|
|
f > $ufa|$virama;
|
|
|
|
t\u0331>$kta;
|
|
|
|
# dev
|
|
y\u0307>$uya|$virama;
|
|
l\u0331>$ela|$virama;
|
|
n\u0331>$ena|$virama;
|
|
n\u0307>$nga|$virama;
|
|
n\u0303>$nya|$virama;
|
|
n\u0323>$nna|$virama;
|
|
t\u0323h>$ttha|$virama;
|
|
t\u0323>$tta|$virama;
|
|
r\u0323h>$udha|$virama;
|
|
r\u0323>$uddha|$virama;
|
|
d\u0323h>$ddha|$virama;
|
|
d\u0323>$dda|$virama;
|
|
kh>$kha|$virama;
|
|
k>$ka|$virama;
|
|
gh>$gha|$virama;
|
|
g>$ga|$virama;
|
|
ch>$cha|$virama;
|
|
c>$ca|$virama;
|
|
jh>$jha|$virama;
|
|
j>$ja|$virama;
|
|
ny>$nya|$virama;
|
|
tth>$ttha|$virama;
|
|
ddh>$ddha|$virama;
|
|
th>$tha|$virama;
|
|
t>$ta|$virama;
|
|
dh>$dha|$virama;
|
|
d>$da|$virama;
|
|
n>$na|$virama;
|
|
ph>$pha|$virama;
|
|
p>$pa|$virama;
|
|
bh>$bha|$virama;
|
|
b>$ba|$virama;
|
|
m>$ma|$virama;
|
|
y>$ya|$virama;
|
|
r\u0331>$rra|$virama;
|
|
r>$ra|$virama;
|
|
l\u0323>$lla|$virama;
|
|
l>$la|$virama;
|
|
v>$va|$virama;
|
|
w\u0307>$vva|$virama;
|
|
w>$va|$virama;
|
|
sh>$sha|$virama;
|
|
ss>$ssa|$virama;
|
|
s\u0323>$ssa|$virama;
|
|
s\u0301>$sha|$virama;
|
|
s>$sa|$virama;
|
|
h>$ha|$virama;
|
|
'.'>$danda;
|
|
$danda'.'>$doubleDanda;
|
|
$depVowelAbove{'~'>$anusvara;
|
|
$depVowelBelow{'~'>$chandrabindu;
|
|
# convert to dependent forms after consonant with no vowel:
|
|
# e.g. kai -> {ka}{virama}ai -> {ka}{ai}
|
|
#$virama aa>$aa;
|
|
$virama a\u0304>$aa;
|
|
$virama ai>$ai;
|
|
$virama au>$au;
|
|
$virama ii>$ii;
|
|
$virama i\u0304>$ii;
|
|
$virama i>$i;
|
|
#$virama uu>$uu;
|
|
$virama u\u0304>$uu;
|
|
$virama u>$u;
|
|
#$virama rrh>$rrh;
|
|
$virama r\u0325\u0304>$rrh;
|
|
#$virama rh>$rh;
|
|
$virama r\u0325a>$rh;
|
|
$virama r\u0325>$rh;
|
|
$virama l\u0325\u0304>$llh;
|
|
$virama lh>$lh;
|
|
$virama l\u0325>$lh;
|
|
$virama e\u0304>$e;
|
|
$virama o\u0304>$o;
|
|
$virama a>;
|
|
$virama e\u0306>$ce;
|
|
$virama o\u0306>$co;
|
|
$virama e>$se;
|
|
$virama o>$so;
|
|
|
|
|
|
# otherwise convert independent forms when separated by ': k'ai -> {ka}{virama}{wai}
|
|
#$virama''aa>$waa;
|
|
$virama''a\u0304>$waa;
|
|
$virama''ai>$wai;
|
|
$virama''au>$wau;
|
|
#$virama''ii>$wii;
|
|
$virama''i\u0304>$wii;
|
|
$virama''i>$wi;
|
|
#$virama''uu>$wuu;
|
|
$virama''u\u0304>$wuu;
|
|
$virama''u>$wu;
|
|
#$virama''rrh>$wrr;
|
|
$virama''r\u0325\u0304>$wrr;
|
|
#$virama''rh>$wr;
|
|
$virama''r\u0325>$wr;
|
|
$virama''l\u0325\u0304>$wll;
|
|
#$virama''lh>$wl;
|
|
$virama''l\u0325>$wl;
|
|
$virama''e\u0304>$we;
|
|
$virama''o\u0304>$wo;
|
|
$virama''a>$wa;
|
|
$virama''e\u0306>$wce;
|
|
$virama''o\u0306>$wco;
|
|
$virama''e>$wse;
|
|
$virama''o>$wso;
|
|
# no virama
|
|
''a\u0304>$waa;
|
|
''ai>$wai;
|
|
''au>$wau;
|
|
''i\u0304>$wii;
|
|
''i>$wi;
|
|
''u\u0304>$wuu;
|
|
''u>$wu;
|
|
''r\u0325\u0304>$wrr;
|
|
''r\u0325>$wr;
|
|
''l\u0325\u0304>$wll;
|
|
''l\u0325>$wl;
|
|
''e\u0304>$we;
|
|
''o\u0304>$wo;
|
|
''a>$wa;
|
|
''e\u0306>$wce;
|
|
''o\u0306>$wco;
|
|
''e>$wse;
|
|
''o>$wso;
|
|
|
|
$virama } [$z] > $virama;
|
|
$virama } ' ' > $virama ;
|
|
$virama}$endThing>;
|
|
|
|
\u0294>$dgs; # Glottal Stop
|
|
|
|
0>$zero;
|
|
1>$one;
|
|
2>$two;
|
|
3>$three;
|
|
4>$four;
|
|
5>$five;
|
|
6>$six;
|
|
7>$seven;
|
|
8>$eight;
|
|
9>$nine;
|
|
''>;
|
|
#:: NFC (NFD) ;
|