Lines Matching defs:utfchar
132 uint32_t utfchar;
142 utfchar = le16toh(s16[s16idx++]);
143 if ((utfchar & 0xf800) == 0xd800) {
145 if ((utfchar & 0x400) != 0 || (c & 0xfc00) != 0xdc00)
146 utfchar = 0xfffd;
150 if (utfchar < 0x80) {
153 s8[s8idx++] = (uint8_t)utfchar;
154 } else if (utfchar < 0x800) {
157 s8[s8idx++] = (uint8_t)(0xc0 | (utfchar >> 6));
158 s8[s8idx++] = (uint8_t)(0x80 | (utfchar & 0x3f));
159 } else if (utfchar < 0x10000) {
162 s8[s8idx++] = (uint8_t)(0xe0 | (utfchar >> 12));
163 s8[s8idx++] = (uint8_t)(0x80 | ((utfchar >> 6) & 0x3f));
164 s8[s8idx++] = (uint8_t)(0x80 | (utfchar & 0x3f));
165 } else if (utfchar < 0x200000) {
168 s8[s8idx++] = (uint8_t)(0xf0 | (utfchar >> 18));
169 s8[s8idx++] = (uint8_t)(0x80 | ((utfchar >> 12) & 0x3f));
170 s8[s8idx++] = (uint8_t)(0x80 | ((utfchar >> 6) & 0x3f));
171 s8[s8idx++] = (uint8_t)(0x80 | (utfchar & 0x3f));
185 uint32_t utfchar = 0;
206 utfchar = c & 0x07;
209 utfchar = c & 0x0f;
212 utfchar = c & 0x1f;
215 utfchar = c & 0x7f;
221 utfchar = (utfchar << 6) + (c & 0x3f);
227 if (utfchar >= 0x10000 && s16idx + 2 >= s16len)
228 utfchar = 0xfffd;
229 if (utfchar >= 0x10000) {
231 (0xd800 | ((utfchar>>10) - 0x40)));
233 (0xdc00 | (utfchar & 0x3ff)));
235 s16[s16idx++] = htole16((uint16_t)utfchar);