// *******************************************************************************
// *
// *   Copyright (C) 1999-2001, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// *******************************************************************************

th {
   BreakDictionaryData:import { "thaidict.brk" }
    AmPmMarkers { 
            "\u0E01\u0E48\u0E2D\u0E19\u0E40\u0E17\u0E35\u0E48\u0E22\u0E07",
            "\u0E2B\u0E25\u0E31\u0E07\u0E40\u0E17\u0E35\u0E48\u0E22\u0E07",
    }
     Version{ "1.1.1" }
    // -------------------- ibm.597 --------------------
    //
    // First put in all of the consonants, after Z
    //
    CollationElements {
	    Version { "2.0" }
		Sequence { "[normalization on]& Z "
        "< \u0E01 "                   //  KO KAI
        "< \u0E02 "                   //  KHO KHAI
        "< \u0E03 "                   //  KHO KHUAT
        "< \u0E04 "                   //  KHO KHWAI
        "< \u0E05 "                   //  KHO KHON
        "< \u0E06 "                   //  KHO RAKHANG
        "< \u0E07 "                   //  NGO NGU
        "< \u0E08 "                   //  CHO CHAN
        "< \u0E09 "                   //  CHO CHING
        "< \u0E0A "                   //  CHO CHANG
        "< \u0E0B "                   //  SO SO
        "< \u0E0C "                   //  CHO CHOE
        "< \u0E0D "                   //  YO YING
        "< \u0E0E "                   //  DO CHADA
        "< \u0E0F "                   //  TO PATAK
        "< \u0E10 "                   //  THO THAN
        "< \u0E11 "                   //  THO NANGMONTHO
        "< \u0E12 "                   //  THO PHUTHAO
        "< \u0E13 "                   //  NO NEN
        "< \u0E14 "                   //  DO DEK
        "< \u0E15 "                   //  TO TAO
        "< \u0E16 "                   //  THO THUNG
        "< \u0E17 "                   //  THO THAHAN
        "< \u0E18 "                   //  THO THONG
        "< \u0E19 "                   //  NO NU
        "< \u0E1A "                   //  BO BAIMAI
        "< \u0E1B "                   //  PO PLA
        "< \u0E1C "                   //  PHO PHUNG
        "< \u0E1D "                   //  FO FA
        "< \u0E1E "                   //  PHO PHAN
        "< \u0E1F "                   //  FO FAN
        "< \u0E20 "                   //  PHO SAMPHAO
        "< \u0E21 "                   //  MO MA
        "< \u0E22 "                   //  YO YAK
        "< \u0E23 "                   //  RO RUA
        "< \u0E24 "                   //  RU
        "< \u0E24\u0E45 "             //  See the comment below on LAKKHANGYAO
        "< \u0E25 "                   //  LO LING
        "< \u0E26 "                   //  LU
        "< \u0E26\u0E45 "             //  See the comment below on LAKKHANGYAO
        "< \u0E27 "                   //  WO WAEN
        "< \u0E28 "                   //  SO SALA
        "< \u0E29 "                   //  SO RUSI
        "< \u0E2A "                   //  SO SUA
        "< \u0E2B "                   //  HO HIP
        "< \u0E2C "                   //  LO CHULA
        "< \u0E2D "                   //  O ANG
        "< \u0E2E "                   //  HO NOKHUK

        //
        // Normal vowels
        //
        "< \u0E30 "                   //  SARA A
        "< \u0E31 "                   //  MAI HAN-AKAT
        "< \u0E32 "                   //  SARA AA

        // Normalizer will decompose this character to \u0e4d\u0e32.
        // This is a Bad Thing, because we want the separate
        // characters to sort differently than this individual one.
        // Since there's no public way to set the decomposition to be
        // used when creating a collator, there's no way around this
        // right now.  It's best to go ahead and leave the character
        // in, because it occurs this way a lot more often than it
        // occurs as separate characters.
        "< \u0E33 "                   //  SARA AM

        "< \u0E34 "                   //  SARA I

        "< \u0E35 "                   //  SARA II
        "< \u0E36 "                   //  SARA UE
        "< \u0E37 "                   //  SARA UEE
        "< \u0E38 "                   //  SARA U
        "< \u0E39 "                   //  SARA UU

        //
        // Preceding vowels
        //
        "< \u0E40 "                   //  SARA E
        "< \u0E41 "                   //  SARA AE
        "< \u0E42 "                   //  SARA O
        "< \u0E43 "                   //  SARA AI MAIMUAN
        "< \u0E44 "                   //  SARA AI MAIMALAI

        //
        // Digits
        //
        "< \u0E50 "                   //  DIGIT ZERO
        "< \u0E51 "                   //  DIGIT ONE
        "< \u0E52 "                   //  DIGIT TWO
        "< \u0E53 "                   //  DIGIT THREE
        "< \u0E54 "                   //  DIGIT FOUR
        "< \u0E55 "                   //  DIGIT FIVE
        "< \u0E56 "                   //  DIGIT SIX
        "< \u0E57 "                   //  DIGIT SEVEN
        "< \u0E58 "                   //  DIGIT EIGHT
        "< \u0E59 "                   //  DIGIT NINE

        // Sorta tonal marks, but maybe not really
        "< \u0E4D "                   //  NIKHAHIT

        // Thai symbols are supposed to sort "after white space".  I'm
        // treating this as making them sort just after the normal
        // Latin-1 symbols, which are in turn after the white space.
        "&'\u007d'"                   //  right-brace
        "< \u0E2F "                   //  PAIYANNOI      (ellipsis, abbreviation)
        "< \u0E46 "                   //  MAIYAMOK
        "< \u0E4F "                   //  FONGMAN
        "< \u0E5A "                   //  ANGKHANKHU
        "< \u0E5B "                   //  KHOMUT
        "< \u0E3F "                   //  CURRENCY SYMBOL BAHT

        // These symbols are supposed to be "after all characters"
        "< \u0E4E "                   //  YAMAKKAN

        // This rare symbol also comes after all characters.  But when it is
        // used in combination with RU and LU, the combination is treated as
        // a separate letter, ala "CH" sorting after "C" in traditional Spanish.
		// see above.
        "< \u0E45 "                   //  LAKKHANGYAO

        // Tonal marks are primary ignorables but are treated as secondary
        // differences
        "& \u0301 "                   // acute accent
        "; \u0E47 "                   //  MAITAIKHU
        "; \u0E48 "                   //  MAI EK
        "; \u0E49 "                   //  MAI THO
        "; \u0E4A "                   //  MAI TRI
        "; \u0E4B "                   //  MAI CHATTAWA
        "; \u0E4C "                   //  THANTHAKHAT


        // These are supposed to be ignored, so I'm treating them as controls
        "& \u0001 "
        "= \u0E3A "                   //  PHINTHU
        "= '.' "                      //  period 
		}
    }
    Countries { 
        TH { "\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28\u0E44\u0E17\u0E22" }
    }
    DateTimePatterns { 
            "H' \u0E19\u0E32\u0E2C\u0E34\u0E01\u0E32 'm' \u0E19\u0E32\u0E17\u0E35 'ss' \u0E27"
            "\u0E34\u0E19\u0E32\u0E17\u0E35'",
            "H' \u0E19\u0E32\u0E2C\u0E34\u0E01\u0E32 'm' \u0E19\u0E32\u0E17\u0E35'",
            "H:mm:ss",
            "H:mm",
            "EEEE'\u0E17\u0E35\u0E48 'd MMMM G yyyy",
            "d MMMM yyyy",
            "d MMM yyyy",
            "d/M/yyyy",
            "{1}, {0}",
    }
    DayAbbreviations { 
            "\u0E2D\u0E32.",
            "\u0E08.",
            "\u0E2D.",
            "\u0E1E.",
            "\u0E1E\u0E24.",
            "\u0E28.",
            "\u0E2A.",
    }
    DayNames { 
            "\u0E27\u0E31\u0E19\u0E2D\u0E32\u0E17\u0E34\u0E15\u0E22\u0E4C",
            "\u0E27\u0E31\u0E19\u0E08\u0E31\u0E19\u0E17\u0E23\u0E4C",
            "\u0E27\u0E31\u0E19\u0E2D\u0E31\u0E07\u0E04\u0E32\u0E23",
            "\u0E27\u0E31\u0E19\u0E1E\u0E38\u0E18",
            "\u0E27\u0E31\u0E19\u0E1E\u0E24\u0E2B\u0E31\u0E2A\u0E1A\u0E14\u0E35",
            "\u0E27\u0E31\u0E19\u0E28\u0E38\u0E01\u0E23\u0E4C",
            "\u0E27\u0E31\u0E19\u0E40\u0E2A\u0E32\u0E23\u0E4C",
    }
    Eras { 
            "\u0E1B\u0E35\u0E01\u0E48\u0E2D\u0E19\u0E04\u0E23\u0E34\u0E2A\u0E15\u0E4C\u0E01\u0E32"
            "\u0E25\u0E17\u0E35\u0E48",
            "\u0E04.\u0E28.",
    }
    Languages { 
        th { "\u0E44\u0E17\u0E22" }
    }
    LocaleID { "1e" }
    LocaleString { "th" }
    MonthAbbreviations { 
            "\u0E21.\u0E04.",
            "\u0E01.\u0E1E.",
            "\u0E21\u0E35.\u0E04.",
            "\u0E40\u0E21.\u0E22.",
            "\u0E1E.\u0E04.",
            "\u0E21\u0E34.\u0E22.",
            "\u0E01.\u0E04.",
            "\u0E2A.\u0E04.",
            "\u0E01.\u0E22.",
            "\u0E15.\u0E04.",
            "\u0E1E.\u0E22.",
            "\u0E18.\u0E04.",
            "",
    }
    MonthNames { 
            "\u0E21\u0E01\u0E23\u0E32\u0E04\u0E21",
            "\u0E01\u0E38\u0E21\u0E20\u0E32\u0E1E\u0E31\u0E19\u0E18\u0E4C",
            "\u0E21\u0E35\u0E19\u0E32\u0E04\u0E21",
            "\u0E40\u0E21\u0E29\u0E32\u0E22\u0E19",
            "\u0E1E\u0E24\u0E29\u0E20\u0E32\u0E04\u0E21",
            "\u0E21\u0E34\u0E16\u0E38\u0E19\u0E32\u0E22\u0E19",
            "\u0E01\u0E23\u0E01\u0E0E\u0E32\u0E04\u0E21",
            "\u0E2A\u0E34\u0E07\u0E2B\u0E32\u0E04\u0E21",
            "\u0E01\u0E31\u0E19\u0E22\u0E32\u0E22\u0E19",
            "\u0E15\u0E38\u0E25\u0E32\u0E04\u0E21",
            "\u0E1E\u0E24\u0E28\u0E08\u0E34\u0E01\u0E32\u0E22\u0E19",
            "\u0E18\u0E31\u0E19\u0E27\u0E32\u0E04\u0E21",
            "",
    }
    ShortLanguage { "tha" }
    localPatternChars { "GanjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
                "THA",
                "Thailand Time",
                "THA",
                "Thailand Time",
                "THA",
                "Bangkok",
        }
    }
    LocaleScript{ 
                "Thai", // Script Name  
    }

    //------------------------------------------------------------
    // Rule Based Number Format Support
    //------------------------------------------------------------

// Spellout rules for Thai. Data from Suwit Srivilairith, IBM Thailand

    SpelloutRules {
        "%default:\n"
        "    -x: \u0e25\u0e1a>>;\n"
        "    x.x: <<\u0e08\u0e38\u0e14>>>;\n"
        "    \u0e28\u0e39\u0e19\u0e22\u0e4c; \u0e2b\u0e19\u0e36\u0e48\u0e07; \u0e2a\u0e2d\u0e07; \u0e2a\u0e32\u0e21;\n"
        "    \u0e2a\u0e35\u0e48; \u0e2b\u0e49\u0e32; \u0e2b\u0e01; \u0e40\u0e08\u0e47\u0e14; \u0e41\u0e1b\u0e14;\n"
        "    \u0e40\u0e01\u0e49\u0e32; \u0e2a\u0e34\u0e1a; \u0e2a\u0e34\u0e1a\u0e40\u0e2d\u0e47\u0e14;\n"
        "    \u0e2a\u0e34\u0e1a\u0e2a\u0e2d\u0e07; \u0e2a\u0e34\u0e1a\u0e2a\u0e32\u0e21;\n"
        "    \u0e2a\u0e34\u0e1a\u0e2a\u0e35\u0e48; \u0e2a\u0e34\u0e1a\u0e2b\u0e49\u0e32;\n"
        "    \u0e2a\u0e34\u0e1a\u0e2b\u0e01; \u0e2a\u0e34\u0e1a\u0e40\u0e08\u0e47\u0e14;\n"
        "    \u0e2a\u0e34\u0e1a\u0e41\u0e1b\u0e14; \u0e2a\u0e34\u0e1a\u0e40\u0e01\u0e49\u0e32;\n"
        "    20: \u0e22\u0e35\u0e48\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
        "    30: \u0e2a\u0e32\u0e21\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
        "    40: \u0e2a\u0e35\u0e48\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
        "    50: \u0e2b\u0e49\u0e32\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
        "    60: \u0e2b\u0e01\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
        "    70: \u0e40\u0e08\u0e47\u0e14\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
        "    80: \u0e41\u0e1b\u0e14\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
        "    90: \u0e40\u0e01\u0e49\u0e32\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
        "    100: <<\u0e23\u0e49\u0e2d\u0e22[>>];\n"
        "    1000: <<\u0e1e\u0e31\u0e19[>>];\n"
        "    10000: <<\u0e2b\u0e21\u0e37\u0e48\u0e19[>>];\n"
        "    100000: <<\u0e41\u0e2a\u0e19[>>];\n"
        "    1,000,000: <<\u0e25\u0e49\u0e32\u0e19[>>];\n"
        "    1,000,000,000: <<\u0e1e\u0e31\u0e19\u0e25\u0e49\u0e32\u0e19[>>];\n"
        "    1,000,000,000,000: <<\u0e25\u0e49\u0e32\u0e19\u0e25\u0e49\u0e32\u0e19[>>];\n"
        "    1,000,000,000,000,000: =#,##0=;\n"
        "%%alt-ones:\n"
        "    \u0e28\u0e39\u0e19\u0e22\u0e4c;\n"
        "    \u0e40\u0e2d\u0e47\u0e14;\n"
        "    =%default=;\n";
    }
}
