﻿ // -*- Coding: utf-8; -*-
//--------------------------------------------------------------------
// Copyright (c) 1999-2001, International Business Machines
// Corporation and others.  All Rights Reserved.
//--------------------------------------------------------------------
// THIS IS A MACHINE-GENERATED FILE
// Tool: dumpICUrules.bat
// Source: ../../text/resources/Transliterator_InterIndic_Gurmukhi.txt
// Date: Tue Nov 13 00:51:08 2001
//--------------------------------------------------------------------

// InterIndic_Gurmukhi

translit_InterIndic_Gurmukhi {
  Rule {
//--------------------------------------------------------------------
// Copyright (c) 1999-2001, International Business Machines
// Corporation and others.  All Rights Reserved.
//--------------------------------------------------------------------
// THIS IS A MACHINE-GENERATED FILE
// Tool: dumpICUrules.bat
// Source: \u005cicu4j\u005csrc\u005ccom\u005cibm\u005ctext\u005cresources/Transliterator_InterIndic_Gurmukhi.utf8.txt
// Date: Thu Mar  1 20:03:55 2001
//--------------------------------------------------------------------
// InterIndic_Gurmukhi
//--------------------------------------------------------------------
// Copyright (c) 1999-2001, International Business Machines
// Corporation and others.  All Rights Reserved.
//--------------------------------------------------------------------
// Date: Tue Jan 23 12:42:00 2001
//--------------------------------------------------------------------
// InterIndic-Gurmukhi
//:: NFD (NFC) ;
"\ue001>\u0a02;" // REMAP (indicExceptions.txt): \u0a01>\u0a02 = SIGN CANDRABINDU>SIGN BINDI
"\ue002>;" // FALLBACK BLOW AWAY SIGN ANUSVARA (\u0a02 = SIGN BINDI)
"\ue003>;" // FALLBACK BLOW AWAY SIGN VISARGA
"\ue005>\u0a05;" // LETTER A
"\ue006>\u0a06;" // LETTER AA
"\ue007>\u0a07;" // LETTER I
"\ue008>\u0a08;" // LETTER II
"\ue009>\u0a09;" // LETTER U
"\ue00a>\u0a0a;" // LETTER UU
"\ue00b>\u0a30\u0a3f;" // REMAP (indicExceptions.txt): \u0a0b>\u0a30\u0a3f = LETTER VOCALIC R>LETTER RA.VOWEL SIGN I
"\ue00c>\u0a33;" // FALLBACK
"\ue00d>\u0a0f;" // FALLBACK
"\ue00e>\u0a0f;" // FALLBACK
"\ue00f>\u0a0f;" // LETTER EE
"\ue010>\u0a10;" // LETTER AI
"\ue011>\u0a13;" // FALLBACK
"\ue012>\u0a13;" // FALLBACK
"\ue013>\u0a13;" // LETTER OO
"\ue014>\u0a14;" // LETTER AU
"\ue015>\u0a15;" // LETTER KA
"\ue016>\u0a16;" // LETTER KHA
"\ue017>\u0a17;" // LETTER GA
"\ue018>\u0a18;" // LETTER GHA
"\ue019>\u0a19;" // LETTER NGA
"\ue01a>\u0a1a;" // LETTER CA
"\ue01b>\u0a1b;" // LETTER CHA
"\ue01c>\u0a1c;" // LETTER JA
"\ue01d>\u0a1d;" // LETTER JHA
"\ue01e>\u0a1e;" // LETTER NYA
"\ue01f>\u0a1f;" // LETTER TTA
"\ue020>\u0a20;" // LETTER TTHA
"\ue021>\u0a21;" // LETTER DDA
"\ue022>\u0a22;" // LETTER DDHA
"\ue023>\u0a23;" // LETTER NNA
"\ue024>\u0a24;" // LETTER TA
"\ue025>\u0a25;" // LETTER THA
"\ue026>\u0a26;" // LETTER DA
"\ue027>\u0a27;" // LETTER DHA
"\ue028>\u0a28;" // LETTER NA
"\ue029>\u0a28\u0a3c;" // REMAP (indicExceptions.txt): \u0a29>\u0a28 = LETTER NNNA>LETTER NA
"\ue02a>\u0a2a;" // LETTER PA
"\ue02b>\u0a2b;" // LETTER PHA
"\ue02c>\u0a2c;" // LETTER BA
"\ue02d>\u0a2d;" // LETTER BHA
"\ue02e>\u0a2e;" // LETTER MA
"\ue02f>\u0a2f;" // LETTER YA
"\ue030>\u0a30;" // LETTER RA
"\ue031>\u0a30\u0a3c;" // FALLBACK LETTER RA+NUKTA
"\ue032>\u0a32;" // LETTER LA
"\ue033>\u0a33;" // LETTER LLA
"\ue034>\u0a33;" // REMAP (indicExceptions.txt): \u0a34>\u0a33 = LETTER LLLA>LETTER LLA
"\ue035>\u0a35;" // LETTER VA
"\ue036>\u0a36;" // LETTER SHA
"\ue037>\u0a36;" // REMAP (indicExceptions.txt): \u0a37>\u0a36 = LETTER SSA>LETTER SHA
"\ue038>\u0a38;" // LETTER SA
"\ue039>\u0a39;" // LETTER HA
"\ue03c>\u0a3c;" // SIGN NUKTA
"\ue03d>;" // FALLBACK BLOW AWAY SIGN AVAGRAHA
"\ue03e>\u0a3e;" // VOWEL SIGN AA
"\ue03f>\u0a3f;" // VOWEL SIGN I
"\ue040>\u0a40;" // VOWEL SIGN II
"\ue041>\u0a41;" // VOWEL SIGN U
"\ue042>\u0a42;" // VOWEL SIGN UU
"\ue043>;" // FALLBACK BLOW AWAY VOWEL SIGN VOCALIC R
"\ue044>;" // FALLBACK BLOW AWAY VOWEL SIGN VOCALIC RR
"\ue045>\u0a48;" // REMAP (indicExceptions.txt): \u0a45>\u0a48 = VOWEL SIGN CANDRA E>VOWEL SIGN AI
"\ue046>\u0a47;" // FALLABCK
"\ue047>\u0a47;" // VOWEL SIGN EE
"\ue048>\u0a48;" // VOWEL SIGN AI
"\ue049>\u0a4c;" // REMAP (indicExceptions.txt): \u0a49>\u0a4c = VOWEL SIGN CANDRA O>VOWEL SIGN AU
"\ue04a>\u0a4b;" // FALLBACK
"\ue04b>\u0a4b;" // VOWEL SIGN OO
"\ue04c>\u0a4c;" // VOWEL SIGN AU
"\ue04d>\u0a4d;" // SIGN VIRAMA
"\ue050>\u0a0f\u0a02;" //  FALLBACK to OO+BINDI : OM
"\ue055>;" // FALLBACK BLOW AWAY LENGTH MARK
"\ue056>\u0a48;" // REMAP (indicExceptions.txt): \u0a56>\u0a48 = AI LENGTH MARK>VOWEL SIGN AI
"\ue057>\u0a4c;" // REMAP (indicExceptions.txt): \u0a57>\u0a4c = AU LENGTH MARK>VOWEL SIGN AU
"\ue058>\u0a15\u0a3c;" // FALLBACK RA+ NUKTA
"\ue059>\u0a59;" // LETTER KHHA
"\ue05a>\u0a5a;" // LETTER GHHA
"\ue05b>\u0a5b;" // LETTER ZA
"\ue05c>\u0a5c;" // LETTER RRA
"\ue05d>\u0a22\u0a3c;" // REMAP (indicExceptions.txt): \u0a5d>\u0a22\u0a3c = LETTER RHA>LETTER DDHA.SIGN NUKTA
"\ue05e>\u0a5e;" // LETTER FA
"\ue05f>\u0a2f\u0a3c;" // REMAP (indicExceptions.txt): \u0a5f>\u0a2f = LETTER YYA>LETTER YA
"\ue060>\u0a30\u0a3f;" // REMAP (indicExceptions.txt): \u0a60>\u0a30\u0a3f = LETTER VOCALIC RR>LETTER RA.VOWEL SIGN I
"\ue061>\u0a33\u0a3c;" // 
"\ue062>\u0a3f\u0a3c;" // REMAP (indicExceptions.txt): \u0a62>\u0a3f\u0a3c = VOWEL SIGN VOCALIC L>VOWEL SIGN I.SIGN NUKTA
"\ue063>\u0a40\u0a3c;" // REMAP (indicExceptions.txt): \u0a63>\u0a40\u0a3c = VOWEL SIGN VOCALIC LL>VOWEL SIGN II.SIGN NUKTA
"\ue066>\u0a66;" // DIGIT ZERO
"\ue067>\u0a67;" // DIGIT ONE
"\ue068>\u0a68;" // DIGIT TWO
"\ue069>\u0a69;" // DIGIT THREE
"\ue06a>\u0a6a;" // DIGIT FOUR
"\ue06b>\u0a6b;" // DIGIT FIVE
"\ue06c>\u0a6c;" // DIGIT SIX
"\ue06d>\u0a6d;" // DIGIT SEVEN
"\ue06e>\u0a6e;" // DIGIT EIGHT
"\ue06f>\u0a6f;" // DIGIT NINE
"\ue070>\u0a70;" //  TIPPI
"\ue071>\u0a71;" //  ADDAK
"\ue072>\u0a72;" //  IRI
"\ue073>\u0a73;" //  URA
"\ue074>\u0a74;" //  EK ONKAR
"\ue080>;" // FALLBACK BLOW AWAY ISSHAR
"\ue081>;" // FALLBACK BLOW AWAY LETTER E
"\ue082>;" // FALLBACK BLOW AWAY LETTER O (\u0a02 = SIGN BINDI)
"\ue084>;" // FALLBACK BLOW AWAY VOWEL SIGN E
"\ue085>;" // FALLBACK BLOW AWAY VOWEL SIGN O (\u0a05 = LETTER A)

"0 > \u0a66;"       // FALLBACK FOR TAMIL
"1 > \u0a67;"
"\ue0f0 >  \u0a30;"  // FALLBACK RA 
"\ue0f1 >  \u0a30;"  // FALLBACK RA
//    :: NFC (NFD) ;
// eof
  }
}
