﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2007, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: InterIndic_Kannada.txt
# Generated from CLDR 
#
\uE033\uE03C>ೞ; # LETTER FA
\uE001>ಂ; # REMAP (indicExceptions.txt): \u0C81>ಂ = SIGN CANDRABINDU>SIGN ANUSVARA
\uE002>ಂ; # 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>ಎ; # LETTER E
\uE00E>ಎ; # FALLBACK
\uE00F>ಏ; # LETTER EE
\uE010>ಐ; # LETTER AI
\uE011>ಒ; # FALLBACK
\uE012>ಒ; # LETTER O
\uE013>ಓ; # LETTER OO
\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>ನ; # REMAP (indicExceptions.txt): \u0CA9>ನ = LETTER NNNA>LETTER NA
\uE02A>ಪ; # LETTER PA
\uE02B>ಫ; # LETTER PHA
\uE02C>ಬ; # LETTER BA
\uE02D>ಭ; # LETTER BHA
\uE02E>ಮ; # LETTER MA
\uE02F>ಯ; # LETTER YA
\uE030\uE03C>ಱ;
\uE030>ರ; # LETTER RA
\uE031>ಱ; # LETTER RRA
\uE032>ಲ; # LETTER LA
\uE033>ಳ; # LETTER LLA
\uE034>ೞ; # REMAP (indicExceptions.txt): \u0CB4>ಳ = LETTER LLLA>LETTER LLA
\uE035>ವ; # LETTER VA
\uE036>ಶ; # LETTER SHA
\uE037>ಷ; # LETTER SSA
\uE038>ಸ; # LETTER SA
\uE039>ಹ; # LETTER HA
\uE03C>\u0CBC; # NUKTA
\uE03D>ಽ; # AVAGRAHA
\uE03E>ಾ; # VOWEL SIGN AA
\uE03F>\u0CBF; # VOWEL SIGN I
\uE040>ೀ; # VOWEL SIGN II
\uE041>ು; # VOWEL SIGN U
\uE042>ೂ; # VOWEL SIGN UU
\uE043>ೃ; # VOWEL SIGN VOCALIC R
\uE044>ೄ; # VOWEL SIGN VOCALIC RR
\uE045>\u0CC6; # REMAP (indicExceptions.txt): \u0CC5>\u0CC6 = VOWEL SIGN CANDRA E>VOWEL SIGN E
\uE046>\u0CC6; # VOWEL SIGN E
\uE047>ೇ; # VOWEL SIGN EE
\uE048>ೈ; # VOWEL SIGN AI
\uE049>ೊ; # REMAP (indicExceptions.txt): \u0CC9>ೊ = VOWEL SIGN CANDRA O>VOWEL SIGN O
\uE04A>ೊ; # VOWEL SIGN O
\uE04B>ೋ; # VOWEL SIGN OO
\uE04C>\u0CCC; # VOWEL SIGN AU
\uE04D>\u0CCD; # SIGN VIRAMA
\uE050>ಓಂ; # REMAP (indicExceptions.txt): \u0CD0>ಓಂ = OM>LETTER OO.SIGN ANUSVARA
\uE051>;
\uE052>;
\uE053>;
\uE054>;
\uE055>ೕ; # LENGTH MARK
\uE056>ೖ; # AI LENGTH MARK
\uE057>\u0CCC; # REMAP (indicExceptions.txt): \u0CD7>\u0CCC = AU LENGTH MARK>VOWEL SIGN AU
\uE058>ಕ; # FALLBACK
\uE059>ಖ; # REMAP (indicExceptions.txt): \u0CD9>ಖ = LETTER KHHA>LETTER KHA
\uE05A>ಗ; # REMAP (indicExceptions.txt): \u0CDA>ಗ = LETTER GHHA>LETTER GA
\uE05B>ಜ; # REMAP (indicExceptions.txt): \u0CDB>ಜ = LETTER ZA>LETTER JA
\uE05C>ಢ; # FALLBACK
\uE05D>ಢ; # REMAP (indicExceptions.txt): \u0CDD>ಢ = LETTER RHA>LETTER DDHA
\uE05E>ೞ; # LETTER FA
\uE05F>ಯ; # REMAP (indicExceptions.txt): \u0CDF>ಯ = LETTER YYA>LETTER YA
\uE060>ೠ; # LETTER VOCALIC RR
\uE061>ೡ; # LETTER VOCALIC LL
\uE062>\u0CBF; # REMAP (indicExceptions.txt): \u0CE2>\u0CBF = VOWEL SIGN VOCALIC L>VOWEL SIGN I
\uE063>ೀ; # REMAP (indicExceptions.txt): \u0CE3>ೀ = VOWEL SIGN VOCALIC LL>VOWEL SIGN II
\uE064>'.'   ; # FALLBACK FOR DANDA
\uE065>'.'   ; # FALLBACK FOR 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>ತ\u0CCD;  # Bengali Khanda-ta
0 > ೦;    # FALLBACK FOR TAMIL
1 > ೧;
