9 static const unsigned char
11 #define from_UTF_16LE_00toFF_D8toDB_00toFF_offsets 0
15 #define from_UTF_16LE_00toFF_D8toDB_offsets 6
17 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
18 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
20 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
21 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
22 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
23 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
24 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
25 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
26 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
28 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
31 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
32 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
34 #define from_UTF_16LE_00toFF_offsets 264
36 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
37 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
38 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
39 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
40 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
42 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
43 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
44 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
45 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
46 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
47 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
48 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
49 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
50 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
51 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
53 #define from_UTF_32LE_00toFF_00toD7_00_offsets 522
57 #define from_UTF_32LE_00toFF_00toD7_offsets 525
59 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
62 #define from_UTF_32LE_00toFF_D8toDF_offsets 544
64 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
66 #define from_UTF_32LE_00toFF_offsets 562
68 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
69 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
70 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
71 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
72 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
74 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
75 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
77 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
78 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
79 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
80 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
82 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
83 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85 #define from_UTF_32BE_00_offsets 820
87 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
90 #define from_UTF_8_C2toDF_offsets 839
92 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
93 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
94 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
95 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
97 #define from_UTF_8_E0_offsets 905
99 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
100 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
102 #define from_UTF_8_ED_offsets 939
104 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
105 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
107 #define from_UTF_8_F0_offsets 973
109 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
110 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
111 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
113 #define from_UTF_8_F4_offsets 1023
115 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
117 #define from_UTF_8_offsets 1041
119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
127 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
128 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
129 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
130 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
131 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
132 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
133 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 4,
137 static const unsigned int
139 #define from_UTF_16LE_00toFF_D8toDB_00toFF_infos WORDINDEX2INFO(0)
142 #define from_UTF_16LE_00toFF_D8toDB_00toFF WORDINDEX2INFO(2)
146 #define from_UTF_16LE_00toFF_D8toDB_infos WORDINDEX2INFO(4)
149 #define from_UTF_16LE_00toFF_D8toDB WORDINDEX2INFO(5)
153 #define from_UTF_16LE_00toFF_infos WORDINDEX2INFO(7)
157 #define from_UTF_16LE_00toFF WORDINDEX2INFO(10)
161 #define from_UTF_16LE_infos WORDINDEX2INFO(12)
164 #define from_UTF_16LE WORDINDEX2INFO(13)
168 #define from_UTF_32LE_00toFF_00toD7_00_infos WORDINDEX2INFO(15)
171 #define from_UTF_32LE_00toFF_00toD7_00 WORDINDEX2INFO(17)
175 #define from_UTF_32LE_00toFF_00toD7_infos WORDINDEX2INFO(19)
178 #define from_UTF_32LE_00toFF_00toD7 WORDINDEX2INFO(21)
182 #define from_UTF_32LE_00toFF_D8toDF_infos WORDINDEX2INFO(23)
185 #define from_UTF_32LE_00toFF_D8toDF WORDINDEX2INFO(25)
189 #define from_UTF_32LE_00toFF_infos WORDINDEX2INFO(27)
192 #define from_UTF_32LE_00toFF WORDINDEX2INFO(29)
196 #define from_UTF_32LE_infos WORDINDEX2INFO(31)
199 #define from_UTF_32LE WORDINDEX2INFO(32)
203 #define from_UTF_16BE_00toD7_infos WORDINDEX2INFO(34)
206 #define from_UTF_16BE_00toD7 WORDINDEX2INFO(35)
210 #define from_UTF_16BE_D8toDB_00toFF_infos WORDINDEX2INFO(37)
213 #define from_UTF_16BE_D8toDB_00toFF WORDINDEX2INFO(39)
217 #define from_UTF_16BE_D8toDB_infos WORDINDEX2INFO(41)
220 #define from_UTF_16BE_D8toDB WORDINDEX2INFO(42)
224 #define from_UTF_16BE_infos WORDINDEX2INFO(44)
228 #define from_UTF_16BE WORDINDEX2INFO(47)
232 #define from_UTF_32BE_00_00_infos WORDINDEX2INFO(49)
235 #define from_UTF_32BE_00_00 WORDINDEX2INFO(51)
239 #define from_UTF_32BE_00_01to10_infos WORDINDEX2INFO(53)
242 #define from_UTF_32BE_00_01to10 WORDINDEX2INFO(54)
246 #define from_UTF_32BE_00_infos WORDINDEX2INFO(56)
250 #define from_UTF_32BE_00 WORDINDEX2INFO(59)
254 #define from_UTF_32BE_infos WORDINDEX2INFO(61)
257 #define from_UTF_32BE WORDINDEX2INFO(63)
261 #define from_UTF_16_00toFF_infos WORDINDEX2INFO(65)
264 #define from_UTF_16_00toFF WORDINDEX2INFO(66)
268 #define from_UTF_16_infos WORDINDEX2INFO(68)
271 #define from_UTF_16 WORDINDEX2INFO(69)
275 #define from_UTF_32_00toFF_infos WORDINDEX2INFO(71)
278 #define from_UTF_32_00toFF WORDINDEX2INFO(72)
282 #define from_UTF_32_infos WORDINDEX2INFO(74)
285 #define from_UTF_32 WORDINDEX2INFO(75)
289 #define from_UTF_8_C2toDF WORDINDEX2INFO(77)
293 #define from_UTF_8_E0_infos WORDINDEX2INFO(79)
296 #define from_UTF_8_E0 WORDINDEX2INFO(81)
300 #define from_UTF_8_E1toEC WORDINDEX2INFO(83)
304 #define from_UTF_8_ED WORDINDEX2INFO(85)
308 #define from_UTF_8_F0_infos WORDINDEX2INFO(87)
311 #define from_UTF_8_F0 WORDINDEX2INFO(89)
315 #define from_UTF_8_F1toF3 WORDINDEX2INFO(91)
319 #define from_UTF_8_F4 WORDINDEX2INFO(93)
323 #define from_UTF_8_infos WORDINDEX2INFO(95)
330 #define from_UTF_8 WORDINDEX2INFO(104)
335 #define TRANSCODE_TABLE_INFO utf_16_32_byte_array, 1288, utf_16_32_word_array, 106, ((int)sizeof(unsigned int))
341 if (!s[0] && s[1]<0x80) {
345 else if (s[0]<0x08) {
346 o[0] = 0xC0 | (s[0]<<2) | (s[1]>>6);
347 o[1] = 0x80 | (s[1]&0x3F);
350 else if ((s[0]&0xF8)!=0xD8) {
351 o[0] = 0xE0 | (s[0]>>4);
352 o[1] = 0x80 | ((s[0]&0x0F)<<2) | (s[1]>>6);
353 o[2] = 0x80 | (s[1]&0x3F);
357 unsigned int u = (((s[0]&0x03)<<2)|(s[1]>>6)) + 1;
358 o[0] = 0xF0 | (u>>2);
359 o[1] = 0x80 | ((u&0x03)<<4) | ((s[1]>>2)&0x0F);
360 o[2] = 0x80 | ((s[1]&0x03)<<4) | ((s[2]&0x03)<<2) | (s[3]>>6);
361 o[3] = 0x80 | (s[3]&0x3F);
374 else if ((s[0]&0xE0)==0xC0) {
375 o[0] = (s[0]>>2)&0x07;
376 o[1] = ((s[0]&0x03)<<6) | (s[1]&0x3F);
379 else if ((s[0]&0xF0)==0xE0) {
380 o[0] = (s[0]<<4) | ((s[1]>>2)^0x20);
381 o[1] = (s[1]<<6) | (s[2]^0x80);
385 int w = (((s[0]&0x07)<<2) | ((s[1]>>4)&0x03)) - 1;
386 o[0] = 0xD8 | (w>>2);
387 o[1] = (w<<6) | ((s[1]&0x0F)<<2) | ((s[2]>>4)-8);
388 o[2] = 0xDC | ((s[2]>>2)&0x03);
389 o[3] = (s[2]<<6) | (s[3]&~0x80);
397 if (!s[1] && s[0]<0x80) {
401 else if (s[1]<0x08) {
402 o[0] = 0xC0 | (s[1]<<2) | (s[0]>>6);
403 o[1] = 0x80 | (s[0]&0x3F);
406 else if ((s[1]&0xF8)!=0xD8) {
407 o[0] = 0xE0 | (s[1]>>4);
408 o[1] = 0x80 | ((s[1]&0x0F)<<2) | (s[0]>>6);
409 o[2] = 0x80 | (s[0]&0x3F);
413 unsigned int u = (((s[1]&0x03)<<2)|(s[0]>>6)) + 1;
415 o[1] = 0x80 | ((u&0x03)<<4) | ((s[0]>>2)&0x0F);
416 o[2] = 0x80 | ((s[0]&0x03)<<4) | ((s[3]&0x03)<<2) | (s[2]>>6);
417 o[3] = 0x80 | (s[2]&0x3F);
430 else if ((s[0]&0xE0)==0xC0) {
431 o[1] = (s[0]>>2)&0x07;
432 o[0] = ((s[0]&0x03)<<6) | (s[1]&0x3F);
435 else if ((s[0]&0xF0)==0xE0) {
436 o[1] = (s[0]<<4) | ((s[1]>>2)^0x20);
437 o[0] = (s[1]<<6) | (s[2]^0x80);
441 int w = (((s[0]&0x07)<<2) | ((s[1]>>4)&0x03)) - 1;
442 o[1] = 0xD8 | (w>>2);
443 o[0] = (w<<6) | ((s[1]&0x0F)<<2) | ((s[2]>>4)-8);
444 o[3] = 0xDC | ((s[2]>>2)&0x03);
445 o[2] = (s[2]<<6) | (s[3]&~0x80);
454 if (s[2]==0 && s[3]<0x80) {
458 else if (s[2]<0x08) {
459 o[0] = 0xC0 | (s[2]<<2) | (s[3]>>6);
460 o[1] = 0x80 | (s[3]&0x3F);
464 o[0] = 0xE0 | (s[2]>>4);
465 o[1] = 0x80 | ((s[2]&0x0F)<<2) | (s[3]>>6);
466 o[2] = 0x80 | (s[3]&0x3F);
471 o[0] = 0xF0 | (s[1]>>2);
472 o[1] = 0x80 | ((s[1]&0x03)<<4) | (s[2]>>4);
473 o[2] = 0x80 | ((s[2]&0x0F)<<2) | (s[3]>>6);
474 o[3] = 0x80 | (s[3]&0x3F);
487 else if ((s[0]&0xE0)==0xC0) {
489 o[2] = (s[0]>>2)&0x07;
490 o[3] = ((s[0]&0x03)<<6) | (s[1]&0x3F);
492 else if ((s[0]&0xF0)==0xE0) {
494 o[2] = (s[0]<<4) | ((s[1]>>2)^0x20);
495 o[3] = (s[1]<<6) | (s[2]^0x80);
498 o[1] = ((s[0]&0x07)<<2) | ((s[1]>>4)&0x03);
499 o[2] = ((s[1]&0x0F)<<4) | ((s[2]>>2)&0x0F);
500 o[3] = ((s[2]&0x03)<<6) | (s[3]&0x3F);
509 if (s[1]==0 && s[0]<0x80) {
513 else if (s[1]<0x08) {
514 o[0] = 0xC0 | (s[1]<<2) | (s[0]>>6);
515 o[1] = 0x80 | (s[0]&0x3F);
519 o[0] = 0xE0 | (s[1]>>4);
520 o[1] = 0x80 | ((s[1]&0x0F)<<2) | (s[0]>>6);
521 o[2] = 0x80 | (s[0]&0x3F);
526 o[0] = 0xF0 | (s[2]>>2);
527 o[1] = 0x80 | ((s[2]&0x03)<<4) | (s[1]>>4);
528 o[2] = 0x80 | ((s[1]&0x0F)<<2) | (s[0]>>6);
529 o[3] = 0x80 | (s[0]&0x3F);
542 else if ((s[0]&0xE0)==0xC0) {
544 o[1] = (s[0]>>2)&0x07;
545 o[0] = ((s[0]&0x03)<<6) | (s[1]&0x3F);
547 else if ((s[0]&0xF0)==0xE0) {
549 o[1] = (s[0]<<4) | ((s[1]>>2)^0x20);
550 o[0] = (s[1]<<6) | (s[2]^0x80);
553 o[2] = ((s[0]&0x07)<<2) | ((s[1]>>4)&0x03);
554 o[1] = ((s[1]&0x0F)<<4) | ((s[2]>>2)&0x0F);
555 o[0] = ((s[2]&0x03)<<6) | (s[3]&0x3F);
563 unsigned char *sp = statep;
573 unsigned char *sp = statep;
576 if (s[0] == 0xFE && s[1] == 0xFF) {
580 else if (s[0] == 0xFF && s[1] == 0xFE) {
586 if (s[0] < 0xD8 || 0xDF < s[0]) {
589 else if (s[0] <= 0xDB) {
594 if (s[1] < 0xD8 || 0xDF < s[1]) {
597 else if (s[1] <= 0xDB) {
608 unsigned char *sp = statep;
621 unsigned char *sp = statep;
624 if (s[0] == 0 && s[1] == 0 && s[2] == 0xFE && s[3] == 0xFF) {
628 else if (s[0] == 0xFF && s[1] == 0xFE && s[2] == 0 && s[3] == 0) {
634 if (s[0] == 0 && ((0 < s[1] && s[1] <= 0x10) ||
635 (s[1] == 0 && (s[2] < 0xD8 || 0xDF < s[2]))))
639 if (s[3] == 0 && ((0 < s[2] && s[2] <= 0x10) ||
640 (s[2] == 0 && (s[1] < 0xD8 || 0xDF < s[1]))))
650 unsigned char *sp = statep;
661 fun_so_to_utf_16(
void *statep,
const unsigned char *
s,
size_t l,
unsigned char *o,
size_t osize)
663 unsigned char *sp = statep;
674 fun_so_to_utf_32(
void *statep,
const unsigned char *
s,
size_t l,
unsigned char *o,
size_t osize)
676 unsigned char *sp = statep;
static ssize_t fun_so_to_utf_32le(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
static ssize_t fun_so_to_utf_32be(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
#define from_UTF_32LE_00toFF_00toD7_00_infos
#define from_UTF_16LE_00toFF_D8toDB_00toFF_offsets
#define from_UTF_32LE_00toFF_00toD7_00
#define from_UTF_16LE_00toFF_D8toDB_00toFF
#define from_UTF_16LE_00toFF_D8toDB
#define from_UTF_8_E0_offsets
static ssize_t fun_so_from_utf_16(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
#define from_UTF_8_C2toDF
#define from_UTF_16BE_D8toDB_00toFF_infos
#define from_UTF_8_E1toEC
#define from_UTF_32LE_00toFF_D8toDF_infos
#define from_UTF_16BE_00toD7_infos
#define from_UTF_32_infos
#define from_UTF_16LE_00toFF_infos
#define from_UTF_32LE_00toFF_00toD7_00_offsets
#define from_UTF_16BE_00toD7
static const rb_transcoder rb_to_UTF_32LE
static const unsigned char utf_16_32_byte_array[1288]
#define from_UTF_8_ED_offsets
#define from_UTF_32LE_00toFF_D8toDF_offsets
#define from_UTF_8_F0_infos
#define from_UTF_16LE_infos
#define from_UTF_32_00toFF
#define from_UTF_32BE_00_01to10_infos
#define from_UTF_16_infos
static const rb_transcoder rb_from_UTF_32BE
#define from_UTF_32BE_00_00_infos
static ssize_t fun_so_to_utf_16be(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
#define from_UTF_16BE_D8toDB_infos
static VALUE fun_si_from_utf_32(void *statep, const unsigned char *s, size_t l)
#define from_UTF_32BE_00_infos
#define from_UTF_16BE_D8toDB_00toFF
#define from_UTF_16LE_00toFF_D8toDB_00toFF_infos
void rb_register_transcoder(const rb_transcoder *tr)
void Init_utf_16_32(void)
#define from_UTF_16LE_00toFF
static ssize_t fun_so_to_utf_32(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
#define from_UTF_8_E0_infos
#define TRANSCODE_TABLE_INFO
static ssize_t fun_so_to_utf_16(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
static const rb_transcoder rb_from_UTF_32
static ssize_t fun_so_to_utf_16le(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
static const rb_transcoder rb_from_UTF_16BE
#define from_UTF_32LE_00toFF_00toD7_offsets
#define from_UTF_16LE_00toFF_D8toDB_infos
#define from_UTF_16LE_00toFF_D8toDB_offsets
#define from_UTF_32BE_infos
#define from_UTF_32LE_00toFF_00toD7
#define from_UTF_8_F0_offsets
#define from_UTF_16_00toFF
static const rb_transcoder rb_to_UTF_16BE
static ssize_t fun_so_from_utf_16be(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
static ssize_t fun_so_from_utf_32le(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
static const rb_transcoder rb_to_UTF_32
static VALUE fun_si_from_utf_16(void *statep, const unsigned char *s, size_t l)
static int state_init(void *statep)
#define from_UTF_8_F4_offsets
static ssize_t fun_so_from_utf_32(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
#define from_UTF_32LE_00toFF_offsets
static const unsigned int utf_16_32_word_array[106]
#define from_UTF_8_F1toF3
static const rb_transcoder rb_to_UTF_32BE
#define from_UTF_32LE_00toFF_00toD7_infos
static ssize_t fun_so_from_utf_32be(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
#define from_UTF_16BE_infos
static const rb_transcoder rb_from_UTF_16
#define from_UTF_16BE_D8toDB
#define from_UTF_32BE_00_01to10
#define from_UTF_32_00toFF_infos
static const rb_transcoder rb_from_UTF_32LE
static const rb_transcoder rb_to_UTF_16
#define from_UTF_32LE_infos
#define from_UTF_8_C2toDF_offsets
#define from_UTF_32LE_00toFF_D8toDF
static ssize_t fun_so_from_utf_16le(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
#define from_UTF_32LE_00toFF_infos
#define from_UTF_32LE_00toFF
#define from_UTF_16_00toFF_infos
static const rb_transcoder rb_from_UTF_16LE
#define from_UTF_16LE_00toFF_offsets
#define from_UTF_8_offsets
static const rb_transcoder rb_to_UTF_16LE
#define from_UTF_32BE_00_offsets
#define from_UTF_32BE_00_00