|
1 /* |
|
2 Copyright (c) 1999 Samphan Raruenrom <samphan@thai.com> |
|
3 Permission to use, copy, modify, distribute and sell this software |
|
4 and its documentation for any purpose is hereby granted without fee, |
|
5 provided that the above copyright notice appear in all copies and |
|
6 that both that copyright notice and this permission notice appear |
|
7 in supporting documentation. Samphan Raruenrom makes no |
|
8 representations about the suitability of this software for any |
|
9 purpose. It is provided "as is" without express or implied warranty. |
|
10 */ |
|
11 #ifndef __TH_CHAR_H__ |
|
12 #define __TH_CHAR_H__ |
|
13 #include "nscore.h" |
|
14 |
|
15 |
|
16 typedef unsigned char tis_char; |
|
17 |
|
18 #ifdef TH_UNICODE |
|
19 /* |
|
20 * The char16_t type is only usable in C++ code, so we need this ugly hack to |
|
21 * select a binary compatible C type for the expat C code to use. |
|
22 */ |
|
23 #ifdef __cplusplus |
|
24 typedef char16_t th_char; |
|
25 #else |
|
26 typedef uint16_t th_char; |
|
27 #endif |
|
28 #define TH_THAIBEGIN_ 0x0e00 |
|
29 #define th_isthai(c) (0x0e00 <= (c) && (c) <= 0x0e5f) |
|
30 #else |
|
31 typedef tis_char th_char; |
|
32 #define TH_THAIBEGIN_ 0xa0 |
|
33 #define th_isthai(c) ((c) >= 0xa0) |
|
34 #endif |
|
35 #define th_zcode(c) ((c) - TH_THAIBEGIN_) |
|
36 |
|
37 enum TH_CHARNAME { |
|
38 TH_THAIBEGIN = TH_THAIBEGIN_, |
|
39 TH_KOKAI,TH_KHOKHAI,TH_KHOKHUAT,TH_KHOKHWAI,TH_KHOKHON,TH_KHORAKHANG, |
|
40 TH_NGONGU,TH_CHOCHAN,TH_CHOCHING,TH_CHOCHANG,TH_SOSO,TH_CHOCHOE,TH_YOYING, |
|
41 TH_DOCHADA,TH_TOPATAK,TH_THOTHAN,TH_THONANGMONTHO,TH_THOPHUTHAO,TH_NONEN, |
|
42 TH_DODEK,TH_TOTAO,TH_THOTHUNG,TH_THOTHAHAN,TH_THOTHONG,TH_NONU,TH_BOBAIMAI, |
|
43 TH_POPLA,TH_PHOPHUNG,TH_FOFA,TH_PHOPHAN,TH_FOFAN,TH_PHOSAMPHAO,TH_MOMA, |
|
44 TH_YOYAK,TH_RORUA,TH_RU,TH_LOLING,TH_LU,TH_WOWAEN,TH_SOSALA,TH_SORUSI, |
|
45 TH_SOSUA,TH_HOHIP,TH_LOCHULA,TH_OANG,TH_HONOKHUK,TH_PAIYANNOI,TH_SARA_A, |
|
46 TH_MAIHANAKAT,TH_SARA_AA,TH_SARA_AM,TH_SARA_I,TH_SARA_II,TH_SARA_UE, |
|
47 TH_SARA_UEE,TH_SARA_U,TH_SARA_UU,TH_PHINTHU,TH_REM_CHERNG_,TH_TAC_WBRK_, |
|
48 TH_UNDEF_DD,TH_UNDEF_DE,TH_BAHT,TH_SARA_E,TH_SARA_AE,TH_SARA_O,TH_MAIMUAN, |
|
49 TH_MAIMALAI,TH_LAKKHANGYAO,TH_MAIYAMOK,TH_MAITAIKHU,TH_MAIEK,TH_MAITHO, |
|
50 TH_MAITRI,TH_MAICHATTAWA,TH_THANTHAKHAT,TH_NIKHAHIT,TH_YAMAKKAN,TH_FONGMAN, |
|
51 TH_THAIZERO,TH_THAIONE,TH_THAITWO,TH_THAITHREE,TH_THAIFOUR,TH_THAIFIVE, |
|
52 TH_THAISIX,TH_THAISEVEN,TH_THAIEIGHT,TH_THAININE,TH_ANGKHANKHU,TH_KHOMUT, |
|
53 TH_UNDEF_FC,TH_UNDEF_FD,TH_UNDEF_FE,TH_THAIEND |
|
54 }; |
|
55 #endif |