#--------------------------------------------------------------------
# Copyright (c) 2001-2004, 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;
    $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
#\u0950>\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
    # 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;
# \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];
    #DEBUG: $consonants=[$ka-$ha $virama];
    \u0315 > $avagraha;
    '-'\u0303>$chandrabindu$anusvara;
    '-'m\u0310>$chandrabindu;
    '-'h\u0323>$visarga;
    mm>$anusvara;
    x>$visarga;
    aa>$waa;
    a\u0304>$waa;
    ai>$wai;
    au>$wau;
    ii>$wii;
    i\u0304>$wii;
    i>$wi;
    uu>$wuu;
    u\u0304>$wuu;
    u>$wu;
    rrh>$wrr;
    r\u0325\u0304>$wrr;
    rh>$wr;
    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;
    o>$wso;
    n}na                > $na|$virama;
    n\u0307}[kg]        > $anusvara;
    n\u0307}n\u0303     > $anusvara;
    n\u0304}[cj]        > $anusvara;
    n\u0304}n\u0307     > $anusvara;
    n\u0323}[tdn]\u0323 > $anusvara;
    n}[tdn]             > $anusvara;
    m}[pbm]             > $anusvara;
    n} [yrlvsh]         > $anusvara;
    '-'m\u0307          > $anusvara;
    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;
    q>$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>$ra|$virama;
    l\u0323a>$lla;
    l>$la|$virama;
    v>$va|$virama;
    f>$va|$virama;
    w>$va|$virama;
    sh>$sha|$virama;
    ss>$ssa|$virama;
    s\u0323>$ssa|$virama;
    s\u0301>$sha|$virama;
    s>$sa|$virama;
    z>$sa|$virama;
    h>$ha|$virama;
    '.'>$danda;
    $danda'.'>$doubleDanda;
    $depVowelAbove{'~'>$anusvara;
    $depVowelBelow{'~'>$chandrabindu;
    $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;
    $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;
    $virama } [$z] > $virama;
    $virama } ' ' > $virama ;
    $virama}$endThing>;
    0>$zero;
    1>$one;
    2>$two;
    3>$three;
    4>$four;
    5>$five;
    6>$six;
    7>$seven;
    8>$eight;
    9>$nine;
    ''>;
    #:: NFC (NFD) ;
