﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2006, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: InterIndic_Malayalam.txt
# Generated from CLDR: Thu Jul 20 16:27:16 PDT 2006
#
\uE001>ം; # REMAP (indicExceptions.txt): \u0D01>ം = 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>എ; # FALLLBACK LETTER E
\uE00E>എ; # LETTER E
\uE00F>ഏ; # LETTER EE
\uE010>ഐ; # LETTER AI
\uE011>ഒ; # FALLBACK TO O
\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): \u0D29>ന = 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\uE03C>ഴ;
\uE033>ള; # LETTER LLA
\uE034>ഴ; # LETTER LLLA
\uE035>വ; # LETTER VA
\uE036>ശ; # LETTER SHA
\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>ീ; # VOWEL SIGN II
\uE041>\u0D41; # VOWEL SIGN U
\uE042>\u0D42; # VOWEL SIGN UU
\uE043>\u0D43; # VOWEL SIGN VOCALIC R
\uE044>; # FALLBACK BLOW AWAY VOWEL SIGN VOCALIC RR
\uE045>ാ; # REMAP (indicExceptions.txt): \u0D45>ാ = VOWEL SIGN CANDRA E>VOWEL SIGN AA
\uE046>െ; # VOWEL SIGN E
\uE047>േ; # VOWEL SIGN EE
\uE048>ൈ; # VOWEL SIGN AI
\uE049>ോ; # REMAP (indicExceptions.txt): \u0D49>ോ = VOWEL SIGN CANDRA O>VOWEL SIGN OO
\uE04A>ൊ; # VOWEL SIGN O
\uE04B>ോ; # VOWEL SIGN OO
\uE04C>ൌ; # VOWEL SIGN AU
\uE04D>\u0D4D; # SIGN VIRAMA
\uE050>ഓം; # UNMAPPED InterIndic-Malayalam: OM
\uE051>;
\uE052>;
\uE053>;
\uE054>;
\uE055>; # FALLBACK BLOW AWAY LENGTH MARK
\uE056>ൈ; # REMAP (indicExceptions.txt): \u0D56>ൈ = AI LENGTH MARK>VOWEL SIGN AI
\uE057>ൗ; # AU LENGTH MARK
\uE058>ക; # FALLBACK
\uE059>ഖ; # REMAP (indicExceptions.txt): \u0D59>ഖ = LETTER KHHA>LETTER KHA
\uE05A>ഗ; # REMAP (indicExceptions.txt): \u0D5A>ഗ = LETTER GHHA>LETTER GA
\uE05B>ജ; # REMAP (indicExceptions.txt): \u0D5B>ജ = LETTER ZA>LETTER JA
\uE05D>ഢ; # REMAP (indicExceptions.txt): \u0D5D>ഢ = LETTER RHA>LETTER DDHA
\uE05C>ഡ; # FALLBACK
\uE05E>ഫ; # REMAP (indicExceptions.txt): \u0D5E>ഫ = LETTER FA>LETTER PHA
\uE05F>യ; # REMAP (indicExceptions.txt): \u0D5F>യ = LETTER YYA>LETTER YA
\uE060>ൠ; # LETTER VOCALIC RR
\uE061>ൡ; # LETTER VOCALIC LL
\uE062>; # FALLBACK BLOW AWAY VOWEL SIGN VOCALIC L
\uE063>; # FALLBACK BLOW AWAY VOWEL SIGN VOCALIC LL
\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>ത\u0D4D;  # Bengali Khanda-ta
0 > ൦;    # FALLBACK FOR TAMIL
1 > ൧;
