﻿ // -*- Coding: utf-8; -*-
//--------------------------------------------------------------------
// Copyright (c) 1999-2002, International Business Machines
// Corporation and others.  All Rights Reserved.
//--------------------------------------------------------------------
// THIS IS A MACHINE-GENERATED FILE
// Tool: dumpicurules.bat
// Source: ../../../impl/data/Transliterator_InterIndic_Telugu.txt
// Date: Sat Jul 27 10:31:07 2002
//--------------------------------------------------------------------

// InterIndic_Telugu

t_InterIndic_Telu {
  Rule {
//--------------------------------------------------------------------
//--------------------------------------------------------------------
//--------------------------------------------------------------------

// InterIndic-Telugu
//:: NFD (NFC) ;
"\ue001>\u0c01;" // SIGN CANDRABINDU
"\ue002>\u0c02;" // SIGN ANUSVARA
"\ue003>\u0c03;" // SIGN VISARGA
"\ue005>\u0c05;" // LETTER A
"\ue006>\u0c06;" // LETTER AA
"\ue007>\u0c07;" // LETTER I
"\ue008>\u0c08;" // LETTER II
"\ue009>\u0c09;" // LETTER U
"\ue00a>\u0c0a;" // LETTER UU
"\ue00b>\u0c0b;" // LETTER VOCALIC R
"\ue00c>\u0c0c;" // LETTER VOCALIC L
"\ue00d>\u0c0E;" // FALLBACK MAPPING
"\ue00e>\u0c0E;" // LETTER E
"\ue00f>\u0c0f;" // LETTER EE
"\ue010>\u0c10;" // LETTER AI
"\ue011>\u0c12;" // FALBACK MAPPING
"\ue012>\u0c12;" // LETTER O
"\ue013>\u0c13;" // LETTER OO
"\ue014>\u0c14;" // LETTER AU
"\ue015>\u0c15;" // LETTER KA
"\ue016>\u0c16;" // LETTER KHA
"\ue017>\u0c17;" // LETTER GA
"\ue018>\u0c18;" // LETTER GHA
"\ue019>\u0c19;" // LETTER NGA
"\ue01a>\u0c1a;" // LETTER CA
"\ue01b>\u0c1b;" // LETTER CHA
"\ue01c>\u0c1c;" // LETTER JA
"\ue01d>\u0c1d;" // LETTER JHA
"\ue01e>\u0c1e;" // LETTER NYA
"\ue01f>\u0c1f;" // LETTER TTA
"\ue020>\u0c20;" // LETTER TTHA
"\ue021>\u0c21;" // LETTER DDA
"\ue022>\u0c22;" // LETTER DDHA
"\ue023>\u0c23;" // LETTER NNA
"\ue024>\u0c24;" // LETTER TA
"\ue025>\u0c25;" // LETTER THA
"\ue026>\u0c26;" // LETTER DA
"\ue027>\u0c27;" // LETTER DHA
"\ue028>\u0c28;" // LETTER NA
"\ue029>\u0c28;" // REMAP (indicExceptions.txt): \u0c29>\u0c28 = LETTER NNNA>LETTER NA
"\ue02a>\u0c2a;" // LETTER PA
"\ue02b>\u0c2b;" // LETTER PHA
"\ue02c>\u0c2c;" // LETTER BA
"\ue02d>\u0c2d;" // LETTER BHA
"\ue02e>\u0c2e;" // LETTER MA
"\ue02f>\u0c2f;" // LETTER YA
"\ue030\ue03c>\u0c31;"
"\ue030>\u0c30;" // LETTER RA
"\ue031>\u0c31;" // LETTER RRA
"\ue032>\u0c32;" // LETTER LA
"\ue033>\u0c33;" // LETTER LLA
"\ue034>\u0c33;" // REMAP (indicExceptions.txt): \u0c34>\u0c33 = LETTER LLLA>LETTER LLA
"\ue035>\u0c35;" // LETTER VA
"\ue036>\u0c36;" // LETTER SHA
"\ue037>\u0c37;" // LETTER SSA
"\ue038>\u0c38;" // LETTER SA
"\ue039>\u0c39;" // LETTER HA

"\ue03c>;" // FALLBACK BLOW AWAY NUKTA
"\ue03d>;" // FALLBACK BLOW AWAY AVAGRAHA

"\ue03e>\u0c3e;" // VOWEL SIGN AA
"\ue03f>\u0c3f;" // VOWEL SIGN I
"\ue040>\u0c40;" // VOWEL SIGN II
"\ue041>\u0c41;" // VOWEL SIGN U
"\ue042>\u0c42;" // VOWEL SIGN UU
"\ue043>\u0c43;" // VOWEL SIGN VOCALIC R
"\ue044>\u0c44;" // VOWEL SIGN VOCALIC RR
"\ue045>\u0c46;" // VOWEL SIGN CANDRA E>VOWEL SIGN E
"\ue047>\u0c47;" // VOWEL SIGN EE
"\ue048>\u0c48;" // VOWEL SIGN AI
"\ue049>\u0c4a;" // REMAP (indicExceptions.txt): \u0c49>\u0c4a = VOWEL SIGN CANDRA O>VOWEL SIGN O
"\ue04b>\u0c4b;" // VOWEL SIGN OO
"\ue04c>\u0c4c;" // VOWEL SIGN AU
"\ue04d>\u0c4d;" // SIGN VIRAMA
"\ue050>\u0c13\u0c02;" // REMAP (indicExceptions.txt): \u0c50>\u0c13\u0c02 = OM>LETTER OO.SIGN ANUSVARA
"\ue051>;"
"\ue052>;"
"\ue053>;"
"\ue054>;"
"\ue055>\u0c55;" // LENGTH MARK
"\ue056>\u0c56;" // AI LENGTH MARK
"\ue057>\u0c4c;" // REMAP (indicExceptions.txt): \u0c57>\u0c4c = AU LENGTH MARK>VOWEL SIGN AU
"\ue058>\u0c15;" // REMAP
"\ue059>\u0c16;" // REMAP (indicExceptions.txt): \u0c59>\u0c16 = LETTER KHHA>LETTER KHA
"\ue05a>\u0c17;" // REMAP (indicExceptions.txt): \u0c5a>\u0c17 = LETTER GHHA>LETTER GA
"\ue05b>\u0c1c;" // REMAP (indicExceptions.txt): \u0c5b>\u0c1c = LETTER ZA>LETTER JA
"\ue05c>\u0c22;" // REMAP
"\ue05d>\u0c22;" // REMAP (indicExceptions.txt): \u0c5d>\u0c22 = LETTER RHA>LETTER DDHA
"\ue05e>\u0c2b;" // REMAP (indicExceptions.txt): \u0c5e>\u0c2b = LETTER FA>LETTER PHA
"\ue05f>\u0c2f;" // REMAP (indicExceptions.txt): \u0c5f>\u0c2f = LETTER YYA>LETTER YA
"\ue060>\u0c60;" // LETTER VOCALIC RR
"\ue061>\u0c61;" // LETTER VOCALIC LL
"\ue062>\u0c3f;" // REMAP (indicExceptions.txt): \u0c62>\u0c3f = VOWEL SIGN VOCALIC L>VOWEL SIGN I
"\ue063>\u0c40;" // REMAP (indicExceptions.txt): \u0c63>\u0c40 = VOWEL SIGN VOCALIC LL>VOWEL SIGN II
"\ue064>'.'   ;" // FALLBACK FOR DANDA
"\ue065>'.'   ;" // FALLBACK FOR DOUBLE DANDA	
"\ue066>\u0c66;" // DIGIT ZERO
"\ue067>\u0c67;" // DIGIT ONE
"\ue068>\u0c68;" // DIGIT TWO
"\ue069>\u0c69;" // DIGIT THREE
"\ue06a>\u0c6a;" // DIGIT FOUR
"\ue06b>\u0c6b;" // DIGIT FIVE
"\ue06c>\u0c6c;" // DIGIT SIX
"\ue06d>\u0c6d;" // DIGIT SEVEN
"\ue06e>\u0c6e;" // DIGIT EIGHT
"\ue06f>\u0c6f;" // DIGIT NINE
// \ue080>; # UNMAPPED InterIndic-Telugu: ISSHAR


"\ue046>\u0c46;" // VOWEL SIGN E
"\ue04a>\u0c4a;" // VOWEL SIGN O
"\ue070>;"
"\ue071>;"
"\ue072>;"
"\ue073>;"
"\ue074>;"
"\ue075>;"
"\ue076>;"
"\ue077>;"
"\ue078>;"
"\ue079>;"
"\ue07A>;"

"0 > \u0c66;"       // FALLBACK FOR TAMIL
"1 > \u0c67;"
"\ue0f0 >  \u0c30;"  // FALLBACK RA 
"\ue0f1 >  \u0c30;"  // FALLBACK RA
//    :: NFC (NFD) ;
// eof
  }
}
