#--------------------------------------------------------------------
# Copyright (c) 1999-2001, International Business Machines
# Corporation and others.  All Rights Reserved.
#--------------------------------------------------------------------
# THIS IS A MACHINE-GENERATED FILE
# Tool: dumpICUrules.bat
# Source: \u005cicu4j\u005csrc\u005ccom\u005cibm\u005ctext\u005cresources/Transliterator_InterIndic_Gujarati.utf8.txt
# Date: Thu Mar  1 20:03:55 2001
#--------------------------------------------------------------------
# InterIndic_Gujarati
#--------------------------------------------------------------------
# Copyright (c) 1999-2001, International Business Machines
# Corporation and others.  All Rights Reserved.
#--------------------------------------------------------------------
# Date: Tue Jan 23 12:41:59 2001
#--------------------------------------------------------------------
# InterIndic-Gujarati
#:: NFD (NFC) ;
\ue001>\u0a81; # SIGN CANDRABINDU
\ue002>\u0a82; # SIGN ANUSVARA
\ue003>\u0a83; # SIGN VISARGA
\ue005>\u0a85; # LETTER A
\ue006>\u0a86; # LETTER AA
\ue007>\u0a87; # LETTER I
\ue008>\u0a88; # LETTER II
\ue009>\u0a89; # LETTER U
\ue00a>\u0a8a; # LETTER UU
\ue00b>\u0a8b; # LETTER VOCALIC R
\ue00c>\u0ab2\u0ac3; # REMAP (indicExceptions.txt): \u0a8c>\u0ab2\u0ac3 = LETTER VOCALIC L>LETTER LA.VOWEL SIGN VOCALIC R
# \ue00f>; # UNMAPPED InterIndic-Gujarati: LETTER EE (\u0a8f = LETTER E)
\ue010>\u0a90; # LETTER AI
# \ue013>; # UNMAPPED InterIndic-Gujarati: LETTER OO (\u0a93 = LETTER O)
\ue014>\u0a94; # LETTER AU
\ue015>\u0a95; # LETTER KA
\ue016>\u0a96; # LETTER KHA
\ue017>\u0a97; # LETTER GA
\ue018>\u0a98; # LETTER GHA
\ue019>\u0a99; # LETTER NGA
\ue01a>\u0a9a; # LETTER CA
\ue01b>\u0a9b; # LETTER CHA
\ue01c>\u0a9c; # LETTER JA
\ue01d>\u0a9d; # LETTER JHA
\ue01e>\u0a9e; # LETTER NYA
\ue01f>\u0a9f; # LETTER TTA
\ue020>\u0aa0; # LETTER TTHA
\ue021>\u0aa1; # LETTER DDA
\ue022>\u0aa2; # LETTER DDHA
\ue023>\u0aa3; # LETTER NNA
\ue024>\u0aa4; # LETTER TA
\ue025>\u0aa5; # LETTER THA
\ue026>\u0aa6; # LETTER DA
\ue027>\u0aa7; # LETTER DHA
\ue028>\u0aa8; # LETTER NA
\ue029>\u0aa8; # REMAP (indicExceptions.txt): \u0aa9>\u0aa8 = LETTER NNNA>LETTER NA
\ue02a>\u0aaa; # LETTER PA
\ue02b>\u0aab; # LETTER PHA
\ue02c>\u0aac; # LETTER BA
\ue02d>\u0aad; # LETTER BHA
\ue02e>\u0aae; # LETTER MA
\ue02f>\u0aaf; # LETTER YA
\ue030>\u0ab0; # LETTER RA
\ue032>\u0ab2; # LETTER LA
\ue033>\u0ab3; # LETTER LLA
\ue034>\u0ab3; # REMAP (indicExceptions.txt): \u0ab4>\u0ab3 = LETTER LLLA>LETTER LLA
\ue035>\u0ab5; # LETTER VA
\ue036>\u0ab6; # LETTER SHA
\ue037>\u0ab7; # LETTER SSA
\ue038>\u0ab8; # LETTER SA
\ue039>\u0ab9; # LETTER HA
\ue03c>\u0abc; # SIGN NUKTA
\ue03d>\u0abd; # SIGN AVAGRAHA
\ue03e>\u0abe; # VOWEL SIGN AA
\ue03f>\u0abf; # VOWEL SIGN I
\ue040>\u0ac0; # VOWEL SIGN II
\ue041>\u0ac1; # VOWEL SIGN U
\ue042>\u0ac2; # VOWEL SIGN UU
\ue043>\u0ac3; # VOWEL SIGN VOCALIC R
\ue044>\u0ac4; # VOWEL SIGN VOCALIC RR
\ue045>\u0ac5; # VOWEL SIGN CANDRA E
# \ue047>; # UNMAPPED InterIndic-Gujarati: VOWEL SIGN EE (\u0ac7 = VOWEL SIGN E)
\ue048>\u0ac8; # VOWEL SIGN AI
\ue049>\u0ac9; # VOWEL SIGN CANDRA O
# \ue04b>; # UNMAPPED InterIndic-Gujarati: VOWEL SIGN OO (\u0acb = VOWEL SIGN O)
\ue04c>\u0acc; # VOWEL SIGN AU
\ue04d>\u0acd; # SIGN VIRAMA
\ue050>\u0ad0; # OM
# \ue055>; # UNMAPPED InterIndic-Gujarati: LENGTH MARK
\ue056>\u0ac8; # REMAP (indicExceptions.txt): \u0ad6>\u0ac8 = AI LENGTH MARK>VOWEL SIGN AI
\ue057>\u0acc; # REMAP (indicExceptions.txt): \u0ad7>\u0acc = AU LENGTH MARK>VOWEL SIGN AU
\ue059>\u0a96\u0abc; # REMAP (indicExceptions.txt): \u0ad9>\u0a96\u0abc = LETTER KHHA>LETTER KHA.SIGN NUKTA
\ue05a>\u0a97\u0abc; # REMAP (indicExceptions.txt): \u0ada>\u0a97\u0abc = LETTER GHHA>LETTER GA.SIGN NUKTA
\ue05b>\u0a9c\u0abc; # REMAP (indicExceptions.txt): \u0adb>\u0a9c\u0abc = LETTER ZA>LETTER JA.SIGN NUKTA
\ue05d>\u0aa2\u0abc; # REMAP (indicExceptions.txt): \u0add>\u0aa2\u0abc = LETTER RHA>LETTER DDHA.SIGN NUKTA
\ue05e>\u0aab\u0abc; # REMAP (indicExceptions.txt): \u0ade>\u0aab\u0abc = LETTER FA>LETTER PHA.SIGN NUKTA
\ue05f>\u0aaf\u0abc; # REMAP (indicExceptions.txt): \u0adf>\u0aaf\u0abc = LETTER YYA>LETTER YA.SIGN NUKTA
\ue060>\u0ae0; # LETTER VOCALIC RR
\ue061>\u0ab2\u0ac3; # REMAP (indicExceptions.txt): \u0ae1>\u0ab2\u0ac3 = LETTER VOCALIC LL>LETTER LA.VOWEL SIGN VOCALIC R
\ue062>\u0abf\u0abc; # REMAP (indicExceptions.txt): \u0ae2>\u0abf\u0abc = VOWEL SIGN VOCALIC L>VOWEL SIGN I.SIGN NUKTA
\ue063>\u0ac0\u0abc; # REMAP (indicExceptions.txt): \u0ae3>\u0ac0\u0abc = VOWEL SIGN VOCALIC LL>VOWEL SIGN II.SIGN NUKTA
\ue066>\u0ae6; # DIGIT ZERO
\ue067>\u0ae7; # DIGIT ONE
\ue068>\u0ae8; # DIGIT TWO
\ue069>\u0ae9; # DIGIT THREE
\ue06a>\u0aea; # DIGIT FOUR
\ue06b>\u0aeb; # DIGIT FIVE
\ue06c>\u0aec; # DIGIT SIX
\ue06d>\u0aed; # DIGIT SEVEN
\ue06e>\u0aee; # DIGIT EIGHT
\ue06f>\u0aef; # DIGIT NINE
# \ue080>; # UNMAPPED InterIndic-Gujarati: ISSHAR
\ue00f>\u0a8f; # LETTER E
\ue013>\u0a93; # LETTER O
# \ue083>; # UNMAPPED InterIndic-Gujarati: LETTER RRA (\u0a83 = SIGN VISARGA)
\ue047>\u0ac7; # VOWEL SIGN E
\ue04b>\u0acb; # VOWEL SIGN O
#    :: NFC (NFD) ;
# eof
