Lines Matching +full:0 +full:xd800
15 #define F 0 /* character never appears in text */
22 F, F, F, F, F, F, F, T, T, T, T, F, T, T, F, F, /* 0x0X */
24 F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, /* 0x1X */
25 T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x2X */
26 T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x3X */
27 T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x4X */
28 T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x5X */
29 T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x6X */
30 T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, /* 0x7X */
32 X, X, X, X, X, T, X, X, X, X, X, X, X, X, X, X, /* 0x8X */
33 X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, /* 0x9X */
34 I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xaX */
35 I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xbX */
36 I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xcX */
37 I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xdX */
38 I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xeX */
39 I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I /* 0xfX */
47 * 0: uses odd control characters, so doesn't look like text
61 int gotone = 0, ctrl = 0; in looks_utf8()
63 for (i = 0; i < nbytes; i++) { in looks_utf8()
64 if ((buf[i] & 0x80) == 0) { /* 0xxxxxxx is plain ASCII */ in looks_utf8()
72 } else if ((buf[i] & 0x40) == 0) { /* 10xxxxxx never 1st byte */ in looks_utf8()
77 if ((buf[i] & 0x20) == 0) /* 110xxxxx */ in looks_utf8()
78 if (buf[i] > 0xC1) /* C0, C1 */ in looks_utf8()
81 else if ((buf[i] & 0x10) == 0) /* 1110xxxx */ in looks_utf8()
83 else if ((buf[i] & 0x08) == 0) /* 11110xxx */ in looks_utf8()
84 if (buf[i] < 0xF5) in looks_utf8()
90 for (n = 0; n < following; n++) { in looks_utf8()
95 if ((buf[i] & 0xc0) != 0x80) /* 10xxxxxx */ in looks_utf8()
103 return ctrl ? 0 : (gotone ? 2 : 1); in looks_utf8()
110 * 0: invalid UTF-16
124 int following = 0; in looks_utf16()
127 return 0; in looks_utf16()
129 bom = buf[0] << 8 ^ buf[1]; in looks_utf16()
130 if (bom == 0xFFFE) in looks_utf16()
131 bigend = 0; in looks_utf16()
132 else if (bom == 0xFEFF) in looks_utf16()
135 return 0; in looks_utf16()
144 if (c < 0xD800 || c > 0xDFFF) in looks_utf16()
146 return 0; in looks_utf16()
148 following = 0; in looks_utf16()
149 else if (c > 0xDBFF) in looks_utf16()
150 return 0; in looks_utf16()
155 else if (c < 0xDC00 || c > 0xDFFF) in looks_utf16()
156 return 0; in looks_utf16()
182 if ((buf[0] & 0x80) == 0) in decode_utf8()
183 u = buf[0]; in decode_utf8()
184 else if ((buf[0] & 0x40) == 0); in decode_utf8()
186 if ((buf[0] & 0x20) == 0) in decode_utf8()
187 u = (buf[0] ^ 0xC0) << 6 ^ (buf[1] ^ 0x80); in decode_utf8()
188 else if ((buf[0] & 0x10) == 0) in decode_utf8()
189 u = (buf[0] ^ 0xE0) << 12 ^ (buf[1] ^ 0x80) << 6 in decode_utf8()
190 ^ (buf[2] ^ 0x80); in decode_utf8()
191 else if (((buf[0] & 0x08) == 0)) in decode_utf8()
192 u = (buf[0] ^ 0xF0) << 18 ^ (buf[1] ^ 0x80) << 12 in decode_utf8()
193 ^ (buf[2] ^ 0x80) << 6 ^ (buf[3] ^ 0x80); in decode_utf8()
216 w1 = buf[0] << 8 ^ buf[1]; in decode_utf16()
218 w1 = buf[0] ^ buf[1] << 8; in decode_utf16()
220 if (w1 < 0xD800 || w1 > 0xDFFF) in decode_utf16()
222 else if (w1 > 0xDBFF); in decode_utf16()
228 u = ((w1 ^ 0xD800) << 10 ^ (w2 ^ 0xDC00)) + 0x10000; in decode_utf16()