32 #define UTF16_IS_SURROGATE_FIRST(c) (((c) & 0xfc) == 0xd8)
33 #define UTF16_IS_SURROGATE_SECOND(c) (((c) & 0xfc) == 0xdc)
34 #define UTF16_IS_SURROGATE(c) (((c) & 0xf8) == 0xd8)
37 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
38 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
39 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
40 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
41 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
42 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
43 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
44 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
45 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
46 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
47 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
48 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
49 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
50 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 2, 2, 2, 2,
51 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
52 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
88 if (*(p+1) == 0x0a && *p == 0x00)
90 #ifdef USE_UNICODE_ALL_LINE_TERMINATORS
92 #ifndef USE_CRNL_AS_LINE_TERMINATOR
95 *(p+1) == 0x85) && *p == 0x00)
97 if (*p == 0x20 && (*(p+1) == 0x29 || *(p+1) == 0x28))
111 code = ((((p[0] << 8) + p[1]) & 0x03ff) << 10)
112 + (((p[2] << 8) + p[3]) & 0x03ff) + 0x10000;
115 code = p[0] * 256 + p[1];
124 return (code > 0xffff ? 4 : 2);
134 unsigned int high = (code >> 10) + 0xD7C0;
135 unsigned int low = (code & 0x3FF) + 0xDC00;
136 *p++ = (high >> 8) & 0xFF;
138 *p++ = (low >> 8) & 0xFF;
143 *p++ = (
UChar )((code & 0xff00) >> 8);
144 *p++ = (
UChar )(code & 0xff);
158 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
196 v = ONIGENC_IS_UNICODE_ISO_8859_1_BIT_CTYPE(c,
197 (BIT_CTYPE_UPPER | BIT_CTYPE_LOWER));
199 if ((v | BIT_CTYPE_LOWER) != 0) {
201 if (c >= 0xaa && c <= 0xba)
217 if (s <= start)
return (
UChar* )s;
219 if ((s - start) % 2 == 1) {
236 flag, p, end, items);