1 /*
2  * This file was generated automatically - don't edit it.
3  * File contains iconv CCS tables for iso_ir_111 encoding.
4  */
5 
6 #include "ccsbi.h"
7 
8 #if defined (ICONV_TO_UCS_CCS_ISO_IR_111) \
9  || defined (ICONV_FROM_UCS_CCS_ISO_IR_111)
10 
11 #include <_ansi.h>
12 #include <sys/types.h>
13 #include <sys/param.h>
14 #include "ccs.h"
15 #include "ccsnames.h"
16 
17 #if (_BYTE_ORDER == _LITTLE_ENDIAN)
18 #  define W(word) (word) & 0xFF, (word) >> 8
19 #elif (_BYTE_ORDER == _BIG_ENDIAN)
20 #  define W(word) (word) >> 8, (word) & 0xFF
21 #else
22 #  error "Unknown byte order."
23 #endif
24 
25 /*
26  * 8-bit iso_ir_111 -> UCS table (512 bytes).
27  * ======================================================================
28  */
29 #if defined (ICONV_TO_UCS_CCS_ISO_IR_111)
30 
31 static const __uint16_t
32 to_ucs_speed_iso_ir_111[] =
33 {
34 	0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
35 	0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
36 	0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
37 	0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
38 	0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
39 	0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
40 	0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
41 	0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
42 	0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
43 	0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
44 	0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
45 	0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
46 	0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
47 	0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
48 	0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
49 	0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
50 	0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
51 	0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
52 	0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
53 	0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
54 	0x00A0,0x0452,0x0453,0x0451,0x0454,0x0455,0x0456,0x0457,
55 	0x0458,0x0459,0x045A,0x045B,0x045C,0x00AD,0x045E,0x045F,
56 	0x2116,0x0402,0x0403,0x0401,0x0404,0x0405,0x0406,0x0407,
57 	0x0408,0x0409,0x040A,0x040B,0x040C,0x00A4,0x040E,0x040F,
58 	0x044E,0x0430,0x0431,0x0446,0x0434,0x0435,0x0444,0x0433,
59 	0x0445,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,
60 	0x043F,0x044F,0x0440,0x0441,0x0442,0x0443,0x0436,0x0432,
61 	0x044C,0x044B,0x0437,0x0448,0x044D,0x0449,0x0447,0x044A,
62 	0x042E,0x0410,0x0411,0x0426,0x0414,0x0415,0x0424,0x0413,
63 	0x0425,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,
64 	0x041F,0x042F,0x0420,0x0421,0x0422,0x0423,0x0416,0x0412,
65 	0x042C,0x042B,0x0417,0x0428,0x042D,0x0429,0x0427,0x042A,
66 
67 };
68 
69 #endif /* ICONV_TO_UCS_CCS_ISO_IR_111 */
70 
71 /*
72  * 8-bit UCS -> iso_ir_111 speed-optimized table (1282 bytes).
73  * ======================================================================
74  */
75 
76 #if defined (ICONV_FROM_UCS_CCS_ISO_IR_111)
77 
78 static const unsigned char
79 from_ucs_speed_iso_ir_111[] =
80 {
81 	W(0x042A), /* Real 0xFF mapping. 0xFF is used to mark invalid codes */
82 	/* Heading Block */
83 	W(0x0202),W(INVBLK),W(INVBLK),W(INVBLK),
84 	W(0x0302),W(INVBLK),W(INVBLK),W(INVBLK),
85 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
86 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
87 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
88 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
89 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
90 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
91 	W(INVBLK),W(0x0402),W(INVBLK),W(INVBLK),
92 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
93 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
94 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
95 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
96 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
97 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
98 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
99 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
100 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
101 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
102 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
103 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
104 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
105 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
106 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
107 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
108 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
109 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
110 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
111 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
112 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
113 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
114 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
115 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
116 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
117 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
118 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
119 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
120 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
121 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
122 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
123 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
124 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
125 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
126 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
127 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
128 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
129 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
130 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
131 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
132 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
133 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
134 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
135 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
136 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
137 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
138 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
139 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
140 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
141 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
142 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
143 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
144 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
145 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
146 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
147 	/* Block 1, Array index 0x0202 */
148 	0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
149 	0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
150 	0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
151 	0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
152 	0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
153 	0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
154 	0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
155 	0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
156 	0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
157 	0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
158 	0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
159 	0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
160 	0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
161 	0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
162 	0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
163 	0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
164 	0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
165 	0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
166 	0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
167 	0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
168 	0xA0,0xFF,0xFF,0xFF,0xBD,0xFF,0xFF,0xFF,
169 	0xFF,0xFF,0xFF,0xFF,0xFF,0xAD,0xFF,0xFF,
170 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
171 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
172 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
173 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
174 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
175 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
176 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
177 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
178 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
179 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
180 	/* Block 5, Array index 0x0302 */
181 	0xFF,0xB3,0xB1,0xB2,0xB4,0xB5,0xB6,0xB7,
182 	0xB8,0xB9,0xBA,0xBB,0xBC,0xFF,0xBE,0xBF,
183 	0xE1,0xE2,0xF7,0xE7,0xE4,0xE5,0xF6,0xFA,
184 	0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,
185 	0xF2,0xF3,0xF4,0xF5,0xE6,0xE8,0xE3,0xFE,
186 	0xFB,0xFD,0xFF,0xF9,0xF8,0xFC,0xE0,0xF1,
187 	0xC1,0xC2,0xD7,0xC7,0xC4,0xC5,0xD6,0xDA,
188 	0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,
189 	0xD2,0xD3,0xD4,0xD5,0xC6,0xC8,0xC3,0xDE,
190 	0xDB,0xDD,0xDF,0xD9,0xD8,0xDC,0xC0,0xD1,
191 	0xFF,0xA3,0xA1,0xA2,0xA4,0xA5,0xA6,0xA7,
192 	0xA8,0xA9,0xAA,0xAB,0xAC,0xFF,0xAE,0xAF,
193 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
194 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
195 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
196 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
197 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
198 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
199 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
200 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
201 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
202 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
203 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
204 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
205 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
206 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
207 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
208 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
209 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
210 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
211 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
212 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
213 	/* Block 34, Array index 0x0402 */
214 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
215 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
216 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB0,0xFF,
217 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
218 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
219 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
220 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
221 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
222 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
223 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
224 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
225 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
226 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
227 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
228 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
229 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
230 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
231 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
232 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
233 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
234 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
235 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
236 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
237 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
238 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
239 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
240 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
241 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
242 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
243 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
244 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
245 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
246 };
247 
248 #endif /* ICONV_FROM_UCS_CCS_ISO_IR_111 */
249 
250 /*
251  * iso_ir_111 CCS description table.
252  * ======================================================================
253  */
254 const iconv_ccs_t
255 _iconv_ccs_iso_ir_111 =
256 {
257 	TABLE_VERSION_1, /* Table version */
258 	ICONV_CCS_ISO_IR_111, /* CCS name */
259 	TABLE_8BIT, /* Table bits */
260 	0, /* Not Used */
261 #if defined (ICONV_FROM_UCS_CCS_ISO_IR_111)
262 	(__uint16_t *)&from_ucs_speed_iso_ir_111, /* UCS -> iso_ir_111 table */
263 #else
264 	(__uint16_t *)NULL,
265 #endif
266 	0, /* Not Used */
267 #if defined (ICONV_TO_UCS_CCS_ISO_IR_111)
268 	(__uint16_t *)&to_ucs_speed_iso_ir_111 /* iso_ir_111 -> UCS table */
269 #else
270 	(__uint16_t *)NULL,
271 #endif
272 };
273 
274 #endif /* ICONV_TO_UCS_CCS_ISO_IR_111) || ... */
275 
276