1 static const wchar_t to_ucs4
[256] = {
258 static struct gap from_idx
[] = {
259 { start
: 000000, end
: 0x007f, idx
: 0 },
260 { start
: 0x00a0, end
: 0x00a0, idx
: -32 },
261 { start
: 0x00a9, end
: 0x00a9, idx
: -40 },
262 { start
: 0x00b0, end
: 0x00b7, idx
: -46 },
263 { start
: 0x00f7, end
: 0x00f7, idx
: -109 },
264 { start
: 0x0401, end
: 0x0401, idx
: -886 },
265 { start
: 0x0410, end
: 0x0451, idx
: -900 },
266 { start
: 0x2022, end
: 0x2022, idx
: -8020 },
267 { start
: 0x221a, end
: 0x221a, idx
: -8523 },
268 { start
: 0x2248, end
: 0x2248, idx
: -8568 },
269 { start
: 0x2264, end
: 0x2265, idx
: -8595 },
270 { start
: 0x2320, end
: 0x2321, idx
: -8781 },
271 { start
: 0x2500, end
: 0x2502, idx
: -9259 },
272 { start
: 0x250c, end
: 0x251c, idx
: -9268 },
273 { start
: 0x2524, end
: 0x2524, idx
: -9275 },
274 { start
: 0x252c, end
: 0x252c, idx
: -9282 },
275 { start
: 0x2534, end
: 0x2534, idx
: -9289 },
276 { start
: 0x253c, end
: 0x253c, idx
: -9296 },
277 { start
: 0x2550, end
: 0x256c, idx
: -9315 },
278 { start
: 0x2580, end
: 0x2593, idx
: -9334 },
279 { start
: 0x25a0, end
: 0x25a0, idx
: -9346 },
280 { start
: 0xffff, end
: 0xffff, idx
: 0 }
282 static const char from_ucs4
[] = {
284 '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08',
285 '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f', '\x10',
286 '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18',
287 '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', '\x20',
288 '\x21', '\x22', '\x23', '\x24', '\x25', '\x26', '\x27', '\x28',
289 '\x29', '\x2a', '\x2b', '\x2c', '\x2d', '\x2e', '\x2f', '\x30',
290 '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', '\x38',
291 '\x39', '\x3a', '\x3b', '\x3c', '\x3d', '\x3e', '\x3f', '\x40',
292 '\x41', '\x42', '\x43', '\x44', '\x45', '\x46', '\x47', '\x48',
293 '\x49', '\x4a', '\x4b', '\x4c', '\x4d', '\x4e', '\x4f', '\x50',
294 '\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57', '\x58',
295 '\x59', '\x5a', '\x5b', '\x5c', '\x5d', '\x5e', '\x5f', '\x60',
296 '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68',
297 '\x69', '\x6a', '\x6b', '\x6c', '\x6d', '\x6e', '\x6f', '\x70',
298 '\x71', '\x72', '\x73', '\x74', '\x75', '\x76', '\x77', '\x78',
299 '\x79', '\x7a', '\x7b', '\x7c', '\x7d', '\x7e', '\x7f', '\x9a',
300 '\xbf', '\x9c', '\x00', '\x9d', '\x00', '\x00', '\x00', '\x00',
301 '\x9e', '\x9f', '\xb3', '\xe1', '\xe2', '\xf7', '\xe7', '\xe4',
302 '\xe5', '\xf6', '\xfa', '\xe9', '\xea', '\xeb', '\xec', '\xed',
303 '\xee', '\xef', '\xf0', '\xf2', '\xf3', '\xf4', '\xf5', '\xe6',
304 '\xe8', '\xe3', '\xfe', '\xfb', '\xfd', '\xff', '\xf9', '\xf8',
305 '\xfc', '\xe0', '\xf1', '\xc1', '\xc2', '\xd7', '\xc7', '\xc4',
306 '\xc5', '\xd6', '\xda', '\xc9', '\xca', '\xcb', '\xcc', '\xcd',
307 '\xce', '\xcf', '\xd0', '\xd2', '\xd3', '\xd4', '\xd5', '\xc6',
308 '\xc8', '\xc3', '\xde', '\xdb', '\xdd', '\xdf', '\xd9', '\xd8',
309 '\xdc', '\xc0', '\xd1', '\x00', '\xa3', '\x95', '\x96', '\x97',
310 '\x98', '\x99', '\x93', '\x9b', '\x80', '\x00', '\x81', '\x82',
311 '\x00', '\x00', '\x00', '\x83', '\x00', '\x00', '\x00', '\x84',
312 '\x00', '\x00', '\x00', '\x85', '\x00', '\x00', '\x00', '\x86',
313 '\x87', '\x88', '\x89', '\x8a', '\xa0', '\xa1', '\xa2', '\xa4',
314 '\xa5', '\xa6', '\xa7', '\xa8', '\xa9', '\xaa', '\xab', '\xac',
315 '\xad', '\xae', '\xaf', '\xb0', '\xb1', '\xb2', '\xb4', '\xb5',
316 '\xb6', '\xb7', '\xb8', '\xb9', '\xba', '\xbb', '\xbc', '\xbd',
317 '\xbe', '\x8b', '\x00', '\x00', '\x00', '\x8c', '\x00', '\x00',
318 '\x00', '\x8d', '\x00', '\x00', '\x00', '\x8e', '\x00', '\x00',
319 '\x00', '\x8f', '\x90', '\x91', '\x92', '\x94',