#--------------------------------------------------------------------
# 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) ;
