﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2006, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: InterIndic_Gujarati.txt
# Generated from CLDR: Thu Jul 20 16:27:16 PDT 2006
#
\uE001>\u0A81; # SIGN CANDRABINDU
\uE002>\u0A82; # SIGN ANUSVARA
\uE003>ઃ; # SIGN VISARGA
\uE004>અ; # FALLBACK TO LETTER A
\uE005>અ; # LETTER A
\uE006>આ; # LETTER AA
\uE007>ઇ; # LETTER I
\uE008>ઈ; # LETTER II
\uE009>ઉ; # LETTER U
\uE00A>ઊ; # LETTER UU
\uE00B>ઋ; # LETTER VOCALIC R
\uE00C>ઌ; # LETTER VOCALIC L
\uE00D>ઍ; # GUJARATI VOWEL CANDRA E
\uE00E>એ; # FALLBACK
\uE00F>એ; #  InterIndic-Gujarati: LETTER EE (એ = LETTER E)
\uE010>ઐ; # LETTER AI
\uE011>ઑ; # FALLBACK
\uE012>ઓ; # FALLBACK
\uE013>ઓ; # UNMAPPED InterIndic-Gujarati: LETTER OO (ઓ = LETTER O)
\uE014>ઔ; # LETTER AU
\uE015>ક; # LETTER KA
\uE016>ખ; # LETTER KHA
\uE017>ગ; # LETTER GA
\uE018>ઘ; # LETTER GHA
\uE019>ઙ; # LETTER NGA
\uE01A>ચ; # LETTER CA
\uE01B>છ; # LETTER CHA
\uE01C>જ; # LETTER JA
\uE01D>ઝ; # LETTER JHA
\uE01E>ઞ; # LETTER NYA
\uE01F>ટ; # LETTER TTA
\uE020>ઠ; # LETTER TTHA
\uE021>ડ; # LETTER DDA
\uE022>ઢ; # LETTER DDHA
\uE023>ણ; # LETTER NNA
\uE024>ત; # LETTER TA
\uE025>થ; # LETTER THA
\uE026>દ; # LETTER DA
\uE027>ધ; # LETTER DHA
\uE028>ન; # LETTER NA
\uE029>ન\u0ABC; # FALLBACK to NA+NUKTA
\uE02A>પ; # LETTER PA
\uE02B>ફ; # LETTER PHA
\uE02C>બ; # LETTER BA
\uE02D>ભ; # LETTER BHA
\uE02E>મ; # LETTER MA
\uE02F>ય; # LETTER YA
\uE030>ર; # LETTER RA
\uE031>ર\u0ABC; # FALLBACK
\uE032>લ; # LETTER LA
\uE033>ળ; # LETTER LLA
\uE034>ળ\u0ABC; #  LETTER LLLA>LETTER LLA+NUKTA
\uE035>વ; # LETTER VA
\uE036>શ; # LETTER SHA
\uE037>ષ; # LETTER SSA
\uE038>સ; # LETTER SA
\uE039>હ; # LETTER HA
\uE03C>\u0ABC; # SIGN NUKTA
\uE03D>ઽ; # SIGN AVAGRAHA
\uE03E>ા; # VOWEL SIGN AA
\uE03F>િ; # VOWEL SIGN I
\uE040>ી; # 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
\uE046>\u0AC7; # FALLBACK
\uE047>\u0AC7; #  InterIndic-Gujarati: VOWEL SIGN EE (\u0AC7 = VOWEL SIGN E)
\uE048>\u0AC8; # VOWEL SIGN AI
\uE049>ૉ; # VOWEL SIGN CANDRA O
\uE04A>ો; # FALLBACK
\uE04B>ો; # UNMAPPED InterIndic-Gujarati: VOWEL SIGN OO (ો = VOWEL SIGN O)
\uE04C>ૌ; # VOWEL SIGN AU
\uE04D>\u0ACD; # SIGN VIRAMA
\uE050>ૐ; # OM
\uE051>;
\uE052>;
\uE053>;
\uE054>;
\uE055>; # UNMAPPED InterIndic-Gujarati: LENGTH MARK
\uE056>\u0AC8; # REMAP (indicExceptions.txt): \u0AD6>\u0AC8 = AI LENGTH MARK>VOWEL SIGN AI
\uE057>ૌ; # REMAP (indicExceptions.txt): \u0AD7>ૌ = AU LENGTH MARK>VOWEL SIGN AU
\uE058>ક\u0ABC; # FALLBACK
\uE059>ખ\u0ABC; # REMAP (indicExceptions.txt): \u0AD9>ખ\u0ABC = LETTER KHHA>LETTER KHA.SIGN NUKTA
\uE05A>ગ\u0ABC; # REMAP (indicExceptions.txt): \u0ADA>ગ\u0ABC = LETTER GHHA>LETTER GA.SIGN NUKTA
\uE05B>જ\u0ABC; # REMAP (indicExceptions.txt): \u0ADB>જ\u0ABC = LETTER ZA>LETTER JA.SIGN NUKTA
\uE05C>ડ\u0ABC; # FALLBACK
\uE05D>ઢ\u0ABC; # REMAP (indicExceptions.txt): \u0ADD>ઢ\u0ABC = LETTER RHA>LETTER DDHA.SIGN NUKTA
\uE05E>ફ\u0ABC; # REMAP (indicExceptions.txt): \u0ADE>ફ\u0ABC = LETTER FA>LETTER PHA.SIGN NUKTA
\uE05F>ય\u0ABC; # REMAP (indicExceptions.txt): \u0ADF>ય\u0ABC = LETTER YYA>LETTER YA.SIGN NUKTA
\uE060>ૠ; # LETTER VOCALIC RR
\uE061>ૡ; # LETTER VOCALIC LL
\uE062>િ\u0ABC; # REMAP (indicExceptions.txt): \u0AE2>િ\u0ABC = VOWEL SIGN VOCALIC L>VOWEL SIGN I.SIGN NUKTA
\uE063>ી\u0ABC; # REMAP (indicExceptions.txt): \u0AE3>ી\u0ABC = VOWEL SIGN VOCALIC LL>VOWEL SIGN II.SIGN NUKTA
\uE064>।;          # DANDA
\uE065>॥;          # DOUBLE DANDA
\uE066>૦; # DIGIT ZERO
\uE067>૧; # DIGIT ONE
\uE068>૨; # DIGIT TWO
\uE069>૩; # DIGIT THREE
\uE06A>૪; # DIGIT FOUR
\uE06B>૫; # DIGIT FIVE
\uE06C>૬; # DIGIT SIX
\uE06D>૭; # DIGIT SEVEN
\uE06E>૮; # DIGIT EIGHT
\uE06F>૯; # DIGIT NINE
\uE070>;       # ABBREVIATION SIGN
\uE071>ર;     # LETTER RA WITH MIDDLE DIAGONAL
\uE072>ર;     # LETTER RA WITH LOWER DIAGONAL
\uE073>;           # RUPEE MARK
\uE074>;           # RUPEE SIGN
\uE075>;           # CURRENCY NUMERATOR ONE
\uE076>;           # CURRENCY NUMERATOR TWO
\uE077>;           # CURRENCY NUMERATOR THREE
\uE078>;           # CURRENCY NUMERATOR FOUR
\uE079>;           # CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
\uE07A>;           # CURRENCY DENOMINATOR SIXTEEN
\uE07B>;           # ISSHAR
\uE07C>;           # TIPPI
\uE07D>;           # ADDAK
\uE07E>;           # IRI
\uE07F>;           # URA
\uE080>;           # EK ONKAR
\uE081>વ;     # FALLBACK FOR ORIYA LETTER WA
\uE082>;           # Devanagari Glottal Stop
\uE083>ત\u0ACD;  # Bengali Khanda-ta
0 > ૦;        # FALLBACK FOR TAMIL
1 > ૧;
