//--------------------------------------------------------------------
// Copyright (c) 2001-2004, International Business Machines
// Corporation and others.  All Rights Reserved.
//--------------------------------------------------------------------

// Latin-InterIndic

Latin_InterIndic{
  Rule{
    //":: 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];"
    
    "\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\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) ;"
  }
}
