#--------------------------------------------------------------------
# Copyright (c) 1999-2001, International Business Machines
# Corporation and others. All Rights Reserved.
#--------------------------------------------------------------------
# $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/impl/data/Attic/Transliterator_Oriya_InterIndic.txt,v $
# $Date: 2002/09/19 18:11:23 $
# $Revision: 1.6 $
#--------------------------------------------------------------------

# Oriya-InterIndic
#:: NFD (NFC) ;
#\u0B21\u0B3C>\uE05C;# LETTER RRA
#\u0B22\u0B3C>\uE05D;# LETTER RHA
\u0B47\u0B56>\uE048;# VOWEL SIGN AI
\u0B47\u0B3E>\uE04B;# VOWEL SIGN O
\u0B47\u0B57>\uE04C;# VOWEL SIGN AU

\u0B01>\uE001;      # SIGN CANDRABINDU
\u0B02>\uE002;      # SIGN ANUSVARA
\u0B03>\uE003;      # SIGN VISARGA
\u0B05>\uE005;      # LETTER A
\u0B06>\uE006;      # LETTER AA
\u0B07>\uE007;      # LETTER I
\u0B08>\uE008;      # LETTER II
\u0B09>\uE009;      # LETTER U
\u0B0A>\uE00A;      # LETTER UU
\u0B0B>\uE00B;      # LETTER VOCALIC R
\u0B0C>\uE00C;      # LETTER VOCALIC L
\u0B0F>\uE00F;      # LETTER E
\u0B10>\uE010;      # LETTER AI
\u0B13>\uE013;      # LETTER O
\u0B14>\uE014;      # LETTER AU
\u0B15>\uE015;      # LETTER KA
\u0B16>\uE016;      # LETTER KHA
\u0B17>\uE017;      # LETTER GA
\u0B18>\uE018;      # LETTER GHA
\u0B19>\uE019;      # LETTER NGA
\u0B1A>\uE01A;      # LETTER CA
\u0B1B>\uE01B;      # LETTER CHA
\u0B1C>\uE01C;      # LETTER JA
\u0B1D>\uE01D;      # LETTER JHA
\u0B1E>\uE01E;      # LETTER NYA
\u0B1F>\uE01F;      # LETTER TTA
\u0B20>\uE020;      # LETTER TTHA
\u0B21>\uE021;      # LETTER DDA
\u0B22>\uE022;      # LETTER DDHA
\u0B23>\uE023;      # LETTER NNA
\u0B24>\uE024;      # LETTER TA
\u0B25>\uE025;      # LETTER THA
\u0B26>\uE026;      # LETTER DA
\u0B27>\uE027;      # LETTER DHA
\u0B28>\uE028;      # LETTER NA
\u0B2A>\uE02A;      # LETTER PA
\u0B2B>\uE02B;      # LETTER PHA
\u0B2C>\uE02C;      # LETTER BA
\u0B2D>\uE02D;      # LETTER BHA
\u0B2E>\uE02E;      # LETTER MA
\u0B2F>\uE02F;      # LETTER YA
\u0B30>\uE030;      # LETTER RA
\u0B32>\uE032;      # LETTER LA
\u0B33>\uE033;      # LETTER LLA
\u0B36>\uE036;      # LETTER SHA
\u0B37>\uE037;      # LETTER SSA
\u0B38>\uE038;      # LETTER SA
\u0B39>\uE039;      # LETTER HA
\u0B3C>\uE03C;      # SIGN NUKTA
\u0B3D>\uE03D;      # SIGN AVAGRAHA
\u0B3E>\uE03E;      # VOWEL SIGN AA
\u0B3F>\uE03F;      # VOWEL SIGN I
\u0B40>\uE040;      # VOWEL SIGN II
\u0B41>\uE041;      # VOWEL SIGN U
\u0B42>\uE042;      # VOWEL SIGN UU
\u0B43>\uE043;      # VOWEL SIGN VOCALIC R
\u0B47>\uE047;      # VOWEL SIGN E
#
\u0B4D>\uE04D;      # SIGN VIRAMA
\u0B56>\uE056;      # AI LENGTH MARK
\u0B57>\uE057;      # AU LENGTH MARK
\u0964>\ue064;      # DANDA
\u0965>\ue065;      # DOUBLE DANDA
#
\u0B5F>\uE05F;      # LETTER YYA
\u0B60>\uE060;      # LETTER VOCALIC RR
\u0B61>\uE061;      # LETTER VOCALIC LL
\u0B66>\uE066;      # DIGIT ZERO
\u0B67>\uE067;      # DIGIT ONE
\u0B68>\uE068;      # DIGIT TWO
\u0B69>\uE069;      # DIGIT THREE
\u0B6A>\uE06A;      # DIGIT FOUR
\u0B6B>\uE06B;      # DIGIT FIVE
\u0B6C>\uE06C;      # DIGIT SIX
\u0B6D>\uE06D;      # DIGIT SEVEN
\u0B6E>\uE06E;      # DIGIT EIGHT
\u0B6F>\uE06F;      # DIGIT NINE
\u0B70>\ue07B;      # ISSHAR
#    :: NFC (NFD) ;
# eof
