th_char.h (2539B)
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 14 typedef unsigned char tis_char; 15 16 #ifdef TH_UNICODE 17 /* 18 * The char16_t type is only usable in C++ code, so we need this ugly hack to 19 * select a binary compatible C type for the expat C code to use. 20 */ 21 # ifdef __cplusplus 22 # include <uchar.h> 23 typedef char16_t th_char; 24 # else 25 # include <stdint.h> 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, 40 TH_KHOKHAI, 41 TH_KHOKHUAT, 42 TH_KHOKHWAI, 43 TH_KHOKHON, 44 TH_KHORAKHANG, 45 TH_NGONGU, 46 TH_CHOCHAN, 47 TH_CHOCHING, 48 TH_CHOCHANG, 49 TH_SOSO, 50 TH_CHOCHOE, 51 TH_YOYING, 52 TH_DOCHADA, 53 TH_TOPATAK, 54 TH_THOTHAN, 55 TH_THONANGMONTHO, 56 TH_THOPHUTHAO, 57 TH_NONEN, 58 TH_DODEK, 59 TH_TOTAO, 60 TH_THOTHUNG, 61 TH_THOTHAHAN, 62 TH_THOTHONG, 63 TH_NONU, 64 TH_BOBAIMAI, 65 TH_POPLA, 66 TH_PHOPHUNG, 67 TH_FOFA, 68 TH_PHOPHAN, 69 TH_FOFAN, 70 TH_PHOSAMPHAO, 71 TH_MOMA, 72 TH_YOYAK, 73 TH_RORUA, 74 TH_RU, 75 TH_LOLING, 76 TH_LU, 77 TH_WOWAEN, 78 TH_SOSALA, 79 TH_SORUSI, 80 TH_SOSUA, 81 TH_HOHIP, 82 TH_LOCHULA, 83 TH_OANG, 84 TH_HONOKHUK, 85 TH_PAIYANNOI, 86 TH_SARA_A, 87 TH_MAIHANAKAT, 88 TH_SARA_AA, 89 TH_SARA_AM, 90 TH_SARA_I, 91 TH_SARA_II, 92 TH_SARA_UE, 93 TH_SARA_UEE, 94 TH_SARA_U, 95 TH_SARA_UU, 96 TH_PHINTHU, 97 TH_REM_CHERNG_, 98 TH_TAC_WBRK_, 99 TH_UNDEF_DD, 100 TH_UNDEF_DE, 101 TH_BAHT, 102 TH_SARA_E, 103 TH_SARA_AE, 104 TH_SARA_O, 105 TH_MAIMUAN, 106 TH_MAIMALAI, 107 TH_LAKKHANGYAO, 108 TH_MAIYAMOK, 109 TH_MAITAIKHU, 110 TH_MAIEK, 111 TH_MAITHO, 112 TH_MAITRI, 113 TH_MAICHATTAWA, 114 TH_THANTHAKHAT, 115 TH_NIKHAHIT, 116 TH_YAMAKKAN, 117 TH_FONGMAN, 118 TH_THAIZERO, 119 TH_THAIONE, 120 TH_THAITWO, 121 TH_THAITHREE, 122 TH_THAIFOUR, 123 TH_THAIFIVE, 124 TH_THAISIX, 125 TH_THAISEVEN, 126 TH_THAIEIGHT, 127 TH_THAININE, 128 TH_ANGKHANKHU, 129 TH_KHOMUT, 130 TH_UNDEF_FC, 131 TH_UNDEF_FD, 132 TH_UNDEF_FE, 133 TH_THAIEND 134 }; 135 #endif