﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2010, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: InterIndic_Tamil.txt
# Generated from CLDR 
#
\uE001→\u0B82; # FALLBACK SIGN CANDRABINDU
\uE002→\u0B82; # 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→ரி; # REMAP (indicExceptions.txt): \u0B8B→ரி = LETTER VOCALIC R→LETTER RA.VOWEL SIGN I
\uE00C→ல; # FALLBACK LETTER LA
\uE00D→ஏ; # FALLBACK
\uE00E→எ; # LETTER E
\uE00F→ஏ; # LETTER EE
\uE010→ஐ; # LETTER AI
\uE011→ஒ; # FALLBACK
\uE012→ஒ; # LETTER O
\uE013→ஓ; # LETTER OO
\uE014→ஔ; # LETTER AU
\uE015→க; # LETTER KA
\uE016→க; # REMAP (indicExceptions.txt): \u0B96→க = LETTER KHA→LETTER KA
\uE017→க; # REMAP (indicExceptions.txt): \u0B97→க = LETTER GA→LETTER KA
\uE018→க; # REMAP (indicExceptions.txt): \u0B98→க = LETTER GHA→LETTER KA
\uE019→ங; # LETTER NGA
\uE01A→ச; # LETTER CA
\uE01B→ச; # REMAP (indicExceptions.txt): \u0B9B→ச = LETTER CHA→LETTER CA
\uE01C→ஜ; # LETTER JA
\uE01D→ச; # REMAP (indicExceptions.txt): \u0B9D→ச = LETTER JHA→LETTER CA
\uE01E→ஞ; # LETTER NYA
\uE01F→ட; # LETTER TTA
\uE020→ட; # REMAP (indicExceptions.txt): \u0BA0→ட = LETTER TTHA→LETTER TTA
\uE021→ட; # REMAP (indicExceptions.txt): \u0BA1→ட = LETTER DDA→LETTER TTA
\uE022→ட; # REMAP (indicExceptions.txt): \u0BA2→ட = LETTER DDHA→LETTER TTA
\uE023→ண; # LETTER NNA
\uE024→த; # LETTER TA
\uE025→த; # REMAP (indicExceptions.txt): \u0BA5→த = LETTER THA→LETTER TA
\uE026→த; # REMAP (indicExceptions.txt): \u0BA6→த = LETTER DA→LETTER TA
\uE027→த; # REMAP (indicExceptions.txt): \u0BA7→த = LETTER DHA→LETTER TA
\uE028\uE03C→ன;
\uE028→ந; # LETTER NA
\uE029→ன; # LETTER NNNA
\uE02A→ப; # LETTER PA
\uE02B→ப; # REMAP (indicExceptions.txt): \u0BAB→ப = LETTER PHA→LETTER PA
\uE02C→ப; # REMAP (indicExceptions.txt): \u0BAC→ப = LETTER BA→LETTER PA
\uE02D→ப; # REMAP (indicExceptions.txt): \u0BAD→ப = LETTER BHA→LETTER PA
\uE02E→ம; # LETTER MA
\uE02F→ய; # LETTER YA
\uE030\uE03C→ற;
\uE030→ர; # LETTER RA
\uE031→ற; # LETTER RRA
\uE032→ல; # LETTER LA
\uE033\uE03C→ழ;
\uE033→ள; # LETTER LLA
\uE034→ழ; # LETTER LLLA
\uE035→வ; # LETTER VA
\uE036→ஶ; # REMAP (indicExceptions.txt): ஶ→ஷ = LETTER SHA→LETTER SSA
\uE037→ஷ; # LETTER SSA
\uE038→ஸ; # LETTER SA
\uE039→ஹ; # LETTER HA
\uE03C→; # FALLBACK BLOW AWAY NUKTA
\uE03D→; # FALLBACK BLOW AWAY AVAGRAHA
\uE03E→ா; # VOWEL SIGN AA
\uE03F→ி; # VOWEL SIGN I
\uE040→\u0BC0; # VOWEL SIGN II
\uE041→ு; # VOWEL SIGN U
\uE042→ூ; # VOWEL SIGN UU
\uE043→\u0BCDரி; # REMAP (indicExceptions.txt): \u0BC3→\u0BCDரி = VOWEL SIGN VOCALIC R→SIGN VIRAMA.LETTER RA.VOWEL SIGN I
\uE044→\u0BCDரி; # REMAP (indicExceptions.txt): \u0BC4→\u0BCDரி = VOWEL SIGN VOCALIC RR→SIGN VIRAMA.LETTER RA.VOWEL SIGN I
\uE045→ா; # REMAP (indicExceptions.txt): \u0BC5→ா = VOWEL SIGN CANDRA E→VOWEL SIGN AA
\uE046→ெ; # VOWEL SIGN E
\uE047→ே; # VOWEL SIGN EE
\uE048→ை; # VOWEL SIGN AI
\uE049→ா; # REMAP (indicExceptions.txt): \u0BC9→ா = VOWEL SIGN CANDRA O→VOWEL SIGN AA
\uE04A→ொ; # VOWEL SIGN O
\uE04B→ோ; # VOWEL SIGN OO
\uE04C→ௌ; # VOWEL SIGN AU
\uE04D→\u0BCD; # SIGN VIRAMA
\uE050→ஓம\u0BCD; # REMAP (indicExceptions.txt): \u0BD0→ஓம\u0BCD = OM→LETTER OO.LETTER MA.SIGN VIRAMA
\uE051→;
\uE052→;
\uE053→;
\uE054→;
\uE055→; # UNMAPPED InterIndic-Tamil: LENGTH MARK
\uE056→ை; # REMAP (indicExceptions.txt): \u0BD6→ை = AI LENGTH MARK→VOWEL SIGN AI
\uE057→ௗ; # AU LENGTH MARK
\uE058→க; # FALLBACK
\uE059→க; # REMAP (indicExceptions.txt): \u0BD9→க = LETTER KHHA→LETTER KA
\uE05A→க; # REMAP (indicExceptions.txt): \u0BDA→க = LETTER GHHA→LETTER KA
\uE05B→ஜ; # REMAP (indicExceptions.txt): \u0BDB→ஜ = LETTER ZA→LETTER JA
\uE05C→த; # FALLBACK
\uE05D→ட; # REMAP (indicExceptions.txt): \u0BDD→ட = LETTER RHA→LETTER TTA
\uE05E→ப; # REMAP (indicExceptions.txt): \u0BDE→ப = LETTER FA→LETTER PA
\uE05F→ய; # REMAP (indicExceptions.txt): \u0BDF→ய = LETTER YYA→LETTER YA
\uE060→ரி; # REMAP (indicExceptions.txt): \u0BE0→ரி = LETTER VOCALIC RR→LETTER RA.VOWEL SIGN I
\uE061→ள; # FALLBACK LETTER LLA
\uE062→ி; # FALLBACK VOWEL SIGN VOCALIC L
\uE063→\u0BC0; # FALLBACK VOWEL SIGN VOCALIC LL
\uE064→'.'   ; # FALLBACK FOR DANDA
\uE065→'.'   ; # FALLBACK FOR DOUBLE DANDA
\uE066→\u0BE6; # FALLBACK 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→\u0BC0; # LETTER RA WITH MIDDLE DIAGONAL
\uE072→\u0BC0; # 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→த\u0BCD;  # Bengali Khanda-ta
