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
59 int len = (int)(e - p);
81 if (*p == 0x0a && *(p+1) == 0x00)
83 #ifdef USE_UNICODE_ALL_LINE_TERMINATORS
85 #ifndef USE_CRNL_AS_LINE_TERMINATOR
88 *p == 0x85) && *(p+1) == 0x00)
90 if (*(p+1) == 0x20 && (*p == 0x29 || *p == 0x28))
106 code = ((((c1 << 8) + c0) & 0x03ff) << 10)
107 + (((p[3] << 8) + p[2]) & 0x03ff) + 0x10000;
110 code = c1 * 256 + p[0];
119 return (code > 0xffff ? 4 : 2);
129 unsigned int high = (code >> 10) + 0xD7C0;
130 unsigned int low = (code & 0x3FF) + 0xDC00;
132 *p++ = (high >> 8) & 0xFF;
134 *p++ = (low >> 8) & 0xFF;
138 *p++ = (
UChar )(code & 0xff);
139 *p++ = (
UChar )((code & 0xff00) >> 8);
152 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
190 v = ONIGENC_IS_UNICODE_ISO_8859_1_BIT_CTYPE(c,
191 (BIT_CTYPE_UPPER | BIT_CTYPE_LOWER));
192 if ((v | BIT_CTYPE_LOWER) != 0) {
194 if (c >= 0xaa && c <= 0xba)
210 if (s <= start)
return (
UChar* )s;
212 if ((s - start) % 2 == 1) {
229 flag, p, end, items);