﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2006, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: ThaiLogical_Latin.txt
# Generated from CLDR: Thu Jul 20 16:27:19 PDT 2006
#
$notAbove = [^\p{ccc=0}\p{ccc=above}] ;
$notBelow = [^\p{ccc=0}\p{ccc=below}] ;
$freeStandingBelow = [\u0325  ];
$hAccent =  [   \u0304     \u0323];
$notHAccent0 = [^$freeStandingBelow$hAccent];
$notHAccent1 = $freeStandingBelow [^$hAccent];
ห > h\u0304 ; # THAI CHARACTER HO HIP
ห | $1 < h ($notAbove*)    \u0304; # backward case, account for reordering
ฮ <> h\u0323 ; # THAI CHARACTER HO NOKHUK
ข <> k\u0304h ; # THAI CHARACTER KHO KHAI
ฃ <> k\u0323\u0304h ; # THAI CHARACTER KHO KHUAT
ฅ <> kʹh ; # THAI CHARACTER KHO KHON
ฆ <> k\u0323h ; # THAI CHARACTER KHO RAKHANG
ค < kh } $notHAccent1 ; # THAI CHARACTER KHO KHWAI
ค <> kh } $notHAccent0 ; # THAI CHARACTER KHO KHWAI
ก <> k ; # THAI CHARACTER KO KAI
ภ <> p\u0323h ; # THAI CHARACTER PHO SAMPHAO
ผ <> p\u0304h ; # THAI CHARACTER PHO PHUNG
พ < ph } $notHAccent1 ; # THAI CHARACTER PHO PHAN
พ <> ph } $notHAccent0 ; # THAI CHARACTER PHO PHAN
ป <> p ; # THAI CHARACTER PO PLA
ฉ <> c\u0304h ; # THAI CHARACTER CHO CHING
ฌ <> c\u0323h ; # THAI CHARACTER CHO CHOE
ช < ch } $notHAccent1 ; # THAI CHARACTER CHO CHANG
ช <> ch } $notHAccent0 ; # THAI CHARACTER CHO CHANG
จ <> c ; # THAI CHARACTER CHO CHAN
ฐ <> t\u0323\u0304h ; # THAI CHARACTER THO THAN
ฑ <> t\u0331h ; # THAI CHARACTER THO NANGMONTHO
ฒ <> tʹh ; # THAI CHARACTER THO PHUTHAO
ถ <> t\u0304h ; # THAI CHARACTER THO THUNG
ธ <> t\u0323h ; # THAI CHARACTER THO THONG
ท < th } $notHAccent1 ; # THAI CHARACTER THO THAHAN
ท <> th } $notHAccent0 ; # THAI CHARACTER THO THAHAN
ฏ <> t\u0329 ; # THAI CHARACTER TO PATAK
ต <> t ; # THAI CHARACTER TO TAO
ง <> ng ; # THAI CHARACTER NGO NGU
ณ <> n\u0323 ; # THAI CHARACTER NO NEN
น <> n ; # THAI CHARACTER NO NU
ญ <> y\u0323  ; # THAI CHARACTER YO YING
ฎ <> d\u0323 ; # THAI CHARACTER DO CHADA
ด <> d ; # THAI CHARACTER DO DEK
บ <> b ; # THAI CHARACTER BO BAIMAI
ฝ <> f\u0304 ; # THAI CHARACTER FO FA
ฝ | $1 < f ($notAbove*)    \u0304; # backward case, account for reordering
ม <> m ; # THAI CHARACTER MO MA
ย <> y ; # THAI CHARACTER YO YAK
ร <> r ; # THAI CHARACTER RO RUA
ฤ <> v ; # THAI CHARACTER RU
ฦ <> ł ; # THAI CHARACTER LU
ว <> w ; # THAI CHARACTER WO WAEN
ศ <> s\u0323\u0304 ; # THAI CHARACTER SO SALA***
ศ | $1 < s    \u0323 ($notAbove*)    \u0304; # backward case, account for reordering
ษ <> s\u0304ʹ ; # THAI CHARACTER SO RUSI
ส > s\u0304 ; # THAI CHARACTER SO SUA***
ส | $1 < s ($notAbove*)    \u0304; # backward case, account for reordering
ฬ <> l\u0323 ; # THAI CHARACTER LO CHULA
ล <> l ; # THAI CHARACTER LO LING
ฟ <> f ; # THAI CHARACTER FO FAN
อ <> x ; # THAI CHARACTER O ANG
ซ <> s ; # THAI CHARACTER SO SO
\u0E31 <> a\u0323 ; # THAI CHARACTER MAI HAN-AKAT
า > a\u0304 ; # THAI CHARACTER SARA AA
า | $1 < a ($notAbove*)    \u0304; # backward case, account for reordering
ำ > a  \u0309; # THAI CHARACTER SARA AM
ำ | $1 < a ($notAbove*)  \u0309 ; # backward case, account for reordering
ะ <> a ; # THAI CHARACTER SARA A
\u0E35 <> i\u0304 ; # THAI CHARACTER SARA II
\u0E35 | $1 < i ($notAbove*)    \u0304  ; # backward case, account for reordering
\u0E37 <> u\u0323\u0304 ; # THAI CHARACTER SARA UEE
\u0E37 | $1 < u   \u0323 ($notAbove*)    \u0304  ; # backward case, account for reordering
\u0E36 <> u\u0323 ; # THAI CHARACTER SARA UE
\u0E39 <> u\u0304 ; # THAI CHARACTER SARA UU
\u0E39 | $1 < u  ($notAbove*)    \u0304  ; # backward case, account for reordering
\u0E38 <> u ; # THAI CHARACTER SARA U
ฯ <> ‡ ; # THAI CHARACTER PAIYANNOI
เ <> e ; # THAI CHARACTER SARA E
แ <> æ ; # THAI CHARACTER SARA AE
โ <> o ; # THAI CHARACTER SARA O
ใ <> ı ; # THAI CHARACTER SARA AI MAIMUAN
ไ <> i\u0323 ; # THAI CHARACTER SARA AI MAIMALAI
ๅ <> ɨ ; # THAI CHARACTER LAKKHANGYAO
\u0E47 <> \u0306 ; # THAI CHARACTER MAITAIKHU
\u0E48 <> \u0300 ; # THAI CHARACTER MAI EK
\u0E49 <> \u0302 ; # THAI CHARACTER MAI THO
\u0E4A <> \u0301 ; # THAI CHARACTER MAI TRI
\u0E4B <> \u030C ; # THAI CHARACTER MAI CHATTAWA
\u0E4C <> \u0312 ; # THAI CHARACTER THANTHAKHAT
\u0E4E <> '~' ; # THAI CHARACTER YAMAKKAN
\u0E4D <>  \u030A ; # THAI CHARACTER NIKHAHIT
๏ <> '§' ; # THAI CHARACTER FONGMAN
๐ <> 0 ; # THAI DIGIT ZERO
๑ <> 1 ; # THAI DIGIT ONE
๒ <> 2 ; # THAI DIGIT TWO
๓ <> 3 ; # THAI DIGIT THREE
๔ <> 4 ; # THAI DIGIT FOUR
๕ <> 5 ; # THAI DIGIT FIVE
๖ <> 6 ; # THAI DIGIT SIX
๗ <> 7 ; # THAI DIGIT SEVEN
๘ <> 8 ; # THAI DIGIT EIGHT
๙ <> 9 ; # THAI DIGIT NINE
๚ <> '||' ; # THAI CHARACTER ANGKHANKHU
๛ <> » ; # THAI CHARACTER KHOMUT
ๆ <> « ; # THAI CHARACTER MAIYAMOK
\u0E3A <> ˌ ; # THAI CHARACTER PHINTHU
\u0E34 <> i ; # THAI CHARACTER SARA I
| k < g ;
| k < h ;
| c < j ;
| k < q ;
| s < z ;
:: (lower);
