qr_reader-native 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE-mruby.txt +22 -0
- data/LICENSE-spinel.txt +19 -0
- data/LICENSE.txt +21 -0
- data/README.md +61 -0
- data/ext/qr_reader_native/SPINEL_VERSION +1 -0
- data/ext/qr_reader_native/extconf.rb +8 -0
- data/ext/qr_reader_native/mruby/error.h +13 -0
- data/ext/qr_reader_native/mruby/internal.h +145 -0
- data/ext/qr_reader_native/mruby/string.h +22 -0
- data/ext/qr_reader_native/mruby.h +93 -0
- data/ext/qr_reader_native/mruby_shim.h +118 -0
- data/ext/qr_reader_native/qr_reader_native.c +13513 -0
- data/ext/qr_reader_native/qr_reader_native.h +29 -0
- data/ext/qr_reader_native/qr_reader_native_ext.c +598 -0
- data/ext/qr_reader_native/re_cased.h +71 -0
- data/ext/qr_reader_native/re_compile.c +5784 -0
- data/ext/qr_reader_native/re_ctype.h +3540 -0
- data/ext/qr_reader_native/re_exec.c +2190 -0
- data/ext/qr_reader_native/re_internal.h +671 -0
- data/ext/qr_reader_native/re_prop.h +4629 -0
- data/ext/qr_reader_native/re_spinel.c +363 -0
- data/ext/qr_reader_native/re_spinel.h +22 -0
- data/ext/qr_reader_native/re_spinel_utf8.inc +97 -0
- data/ext/qr_reader_native/re_utf8.c +156 -0
- data/ext/qr_reader_native/sp_alloc.c +1447 -0
- data/ext/qr_reader_native/sp_alloc.h +1196 -0
- data/ext/qr_reader_native/sp_argf.h +33 -0
- data/ext/qr_reader_native/sp_array.c +1052 -0
- data/ext/qr_reader_native/sp_array.h +456 -0
- data/ext/qr_reader_native/sp_bigint.c +5826 -0
- data/ext/qr_reader_native/sp_bigint.h +117 -0
- data/ext/qr_reader_native/sp_cold.c +5259 -0
- data/ext/qr_reader_native/sp_compat.h +402 -0
- data/ext/qr_reader_native/sp_core.c +818 -0
- data/ext/qr_reader_native/sp_core.h +56 -0
- data/ext/qr_reader_native/sp_crypto.c +877 -0
- data/ext/qr_reader_native/sp_crypto.h +169 -0
- data/ext/qr_reader_native/sp_dtoa.c +1533 -0
- data/ext/qr_reader_native/sp_dtoa.h +29 -0
- data/ext/qr_reader_native/sp_encoding_names.h +172 -0
- data/ext/qr_reader_native/sp_enum.h +86 -0
- data/ext/qr_reader_native/sp_exc.c +1185 -0
- data/ext/qr_reader_native/sp_exc.h +186 -0
- data/ext/qr_reader_native/sp_exc_ctx.h +56 -0
- data/ext/qr_reader_native/sp_fiber.c +889 -0
- data/ext/qr_reader_native/sp_fiber.h +162 -0
- data/ext/qr_reader_native/sp_fiber_ctx.h +84 -0
- data/ext/qr_reader_native/sp_format.c +695 -0
- data/ext/qr_reader_native/sp_format.h +83 -0
- data/ext/qr_reader_native/sp_gc.c +1793 -0
- data/ext/qr_reader_native/sp_gc.h +762 -0
- data/ext/qr_reader_native/sp_hash.c +131 -0
- data/ext/qr_reader_native/sp_hash.h +131 -0
- data/ext/qr_reader_native/sp_inspect.c +215 -0
- data/ext/qr_reader_native/sp_inspect.h +128 -0
- data/ext/qr_reader_native/sp_io.c +1676 -0
- data/ext/qr_reader_native/sp_io.h +272 -0
- data/ext/qr_reader_native/sp_iobuffer.c +1014 -0
- data/ext/qr_reader_native/sp_iobuffer.h +167 -0
- data/ext/qr_reader_native/sp_marshal.c +487 -0
- data/ext/qr_reader_native/sp_marshal.h +60 -0
- data/ext/qr_reader_native/sp_net.c +1029 -0
- data/ext/qr_reader_native/sp_net.h +205 -0
- data/ext/qr_reader_native/sp_pack.c +1254 -0
- data/ext/qr_reader_native/sp_poly_cold.c +1220 -0
- data/ext/qr_reader_native/sp_proc.c +410 -0
- data/ext/qr_reader_native/sp_proc.h +327 -0
- data/ext/qr_reader_native/sp_process.c +547 -0
- data/ext/qr_reader_native/sp_process_status.c +211 -0
- data/ext/qr_reader_native/sp_process_status.h +66 -0
- data/ext/qr_reader_native/sp_random.c +287 -0
- data/ext/qr_reader_native/sp_random.h +52 -0
- data/ext/qr_reader_native/sp_range.h +144 -0
- data/ext/qr_reader_native/sp_re.c +1379 -0
- data/ext/qr_reader_native/sp_re.h +186 -0
- data/ext/qr_reader_native/sp_re_names.h +59 -0
- data/ext/qr_reader_native/sp_sched.c +4044 -0
- data/ext/qr_reader_native/sp_sched.h +295 -0
- data/ext/qr_reader_native/sp_slab.c +1507 -0
- data/ext/qr_reader_native/sp_str.c +1462 -0
- data/ext/qr_reader_native/sp_str.h +306 -0
- data/ext/qr_reader_native/sp_str_crypt.c +23 -0
- data/ext/qr_reader_native/sp_string.c +92 -0
- data/ext/qr_reader_native/sp_string.h +253 -0
- data/ext/qr_reader_native/sp_system.c +78 -0
- data/ext/qr_reader_native/sp_system.h +18 -0
- data/ext/qr_reader_native/sp_time.c +860 -0
- data/ext/qr_reader_native/sp_time.h +100 -0
- data/ext/qr_reader_native/sp_types.h +292 -0
- data/ext/qr_reader_native/spinel_rt.h +19017 -0
- data/ext/qr_reader_native/unicase.c +399 -0
- data/ext/qr_reader_native/unicase.h +901 -0
- data/lib/qr_reader/native.rb +6 -0
- metadata +153 -0
|
@@ -0,0 +1,901 @@
|
|
|
1
|
+
/*
|
|
2
|
+
** unicase.h - Unicode case mapping tables
|
|
3
|
+
**
|
|
4
|
+
** Generated by tools/gen_unicase.rb from the Unicode 17.0.0 character
|
|
5
|
+
** database. Do not edit by hand.
|
|
6
|
+
**
|
|
7
|
+
** Sources below 128 are not in the tables: the callers fold ASCII inline.
|
|
8
|
+
** A source that maps to several characters is in the multi table beside
|
|
9
|
+
** each run table, spelled as the UTF-8 bytes it produces.
|
|
10
|
+
**
|
|
11
|
+
** Title case is stored as its difference from upper case, and folding as
|
|
12
|
+
** its difference from the lowercase mapping; a run of delta 0 in either
|
|
13
|
+
** means the source maps under the table it rides on and not under this
|
|
14
|
+
** one.
|
|
15
|
+
**
|
|
16
|
+
** See Copyright Notice in mruby.h
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
#ifndef MRB_UNICASE_H
|
|
20
|
+
#define MRB_UNICASE_H
|
|
21
|
+
|
|
22
|
+
/* One run of sources start, start+stride, ... (count entries), each
|
|
23
|
+
mapping to the source plus delta, in six bytes least significant first:
|
|
24
|
+
|
|
25
|
+
bits 0-20 start, the first source of the run
|
|
26
|
+
bits 21-27 count, how many sources it holds
|
|
27
|
+
bit 28 stride - 1, so 0 steps by one and 1 by two
|
|
28
|
+
bits 29-45 delta + UNI_CASE_DELTA_BIAS
|
|
29
|
+
|
|
30
|
+
A struct of the four fields costs twelve bytes to the same effect, over
|
|
31
|
+
half of it padding around a 21-bit codepoint in a 32-bit field. */
|
|
32
|
+
#define UNI_CASE_RUN_BYTES 6
|
|
33
|
+
#define UNI_CASE_DELTA_BIAS 65536
|
|
34
|
+
|
|
35
|
+
/* One source mapping to the `len` bytes of uni_case_pool at `off`, in five
|
|
36
|
+
bytes the same way:
|
|
37
|
+
|
|
38
|
+
bits 0-20 cp, the source
|
|
39
|
+
bits 21-32 off, where its spelling starts in the pool
|
|
40
|
+
bits 33-35 len, how many bytes the spelling takes */
|
|
41
|
+
#define UNI_CASE_MULTI_BYTES 5
|
|
42
|
+
|
|
43
|
+
/* The widest mapping any of the tables produces, in UTF-8 bytes. */
|
|
44
|
+
#define UNI_CASE_MAX_BYTES 6
|
|
45
|
+
|
|
46
|
+
static const unsigned char uni_case_pool[] = {
|
|
47
|
+
0x69, 0xCC, 0x87, 0x53, 0x53, 0xCA, 0xBC, 0x4E, 0x4A, 0xCC, 0x8C, 0xCE,
|
|
48
|
+
0x99, 0xCC, 0x88, 0xCC, 0x81, 0xCE, 0xA5, 0xCC, 0x88, 0xCC, 0x81, 0xD4,
|
|
49
|
+
0xB5, 0xD5, 0x92, 0x48, 0xCC, 0xB1, 0x54, 0xCC, 0x88, 0x57, 0xCC, 0x8A,
|
|
50
|
+
0x59, 0xCC, 0x8A, 0x41, 0xCA, 0xBE, 0xCE, 0xA5, 0xCC, 0x93, 0xCE, 0xA5,
|
|
51
|
+
0xCC, 0x93, 0xCC, 0x80, 0xCE, 0xA5, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0xA5,
|
|
52
|
+
0xCC, 0x93, 0xCD, 0x82, 0xE1, 0xBC, 0x88, 0xCE, 0x99, 0xE1, 0xBC, 0x89,
|
|
53
|
+
0xCE, 0x99, 0xE1, 0xBC, 0x8A, 0xCE, 0x99, 0xE1, 0xBC, 0x8B, 0xCE, 0x99,
|
|
54
|
+
0xE1, 0xBC, 0x8C, 0xCE, 0x99, 0xE1, 0xBC, 0x8D, 0xCE, 0x99, 0xE1, 0xBC,
|
|
55
|
+
0x8E, 0xCE, 0x99, 0xE1, 0xBC, 0x8F, 0xCE, 0x99, 0xE1, 0xBC, 0xA8, 0xCE,
|
|
56
|
+
0x99, 0xE1, 0xBC, 0xA9, 0xCE, 0x99, 0xE1, 0xBC, 0xAA, 0xCE, 0x99, 0xE1,
|
|
57
|
+
0xBC, 0xAB, 0xCE, 0x99, 0xE1, 0xBC, 0xAC, 0xCE, 0x99, 0xE1, 0xBC, 0xAD,
|
|
58
|
+
0xCE, 0x99, 0xE1, 0xBC, 0xAE, 0xCE, 0x99, 0xE1, 0xBC, 0xAF, 0xCE, 0x99,
|
|
59
|
+
0xE1, 0xBD, 0xA8, 0xCE, 0x99, 0xE1, 0xBD, 0xA9, 0xCE, 0x99, 0xE1, 0xBD,
|
|
60
|
+
0xAA, 0xCE, 0x99, 0xE1, 0xBD, 0xAB, 0xCE, 0x99, 0xE1, 0xBD, 0xAC, 0xCE,
|
|
61
|
+
0x99, 0xE1, 0xBD, 0xAD, 0xCE, 0x99, 0xE1, 0xBD, 0xAE, 0xCE, 0x99, 0xE1,
|
|
62
|
+
0xBD, 0xAF, 0xCE, 0x99, 0xE1, 0xBE, 0xBA, 0xCE, 0x99, 0xCE, 0x91, 0xCE,
|
|
63
|
+
0x99, 0xCE, 0x86, 0xCE, 0x99, 0xCE, 0x91, 0xCD, 0x82, 0xCE, 0x91, 0xCD,
|
|
64
|
+
0x82, 0xCE, 0x99, 0xE1, 0xBF, 0x8A, 0xCE, 0x99, 0xCE, 0x97, 0xCE, 0x99,
|
|
65
|
+
0xCE, 0x89, 0xCE, 0x99, 0xCE, 0x97, 0xCD, 0x82, 0xCE, 0x97, 0xCD, 0x82,
|
|
66
|
+
0xCE, 0x99, 0xCE, 0x99, 0xCC, 0x88, 0xCC, 0x80, 0xCE, 0x99, 0xCD, 0x82,
|
|
67
|
+
0xCE, 0x99, 0xCC, 0x88, 0xCD, 0x82, 0xCE, 0xA5, 0xCC, 0x88, 0xCC, 0x80,
|
|
68
|
+
0xCE, 0xA1, 0xCC, 0x93, 0xCE, 0xA5, 0xCD, 0x82, 0xCE, 0xA5, 0xCC, 0x88,
|
|
69
|
+
0xCD, 0x82, 0xE1, 0xBF, 0xBA, 0xCE, 0x99, 0xCE, 0xA9, 0xCE, 0x99, 0xCE,
|
|
70
|
+
0x8F, 0xCE, 0x99, 0xCE, 0xA9, 0xCD, 0x82, 0xCE, 0xA9, 0xCD, 0x82, 0xCE,
|
|
71
|
+
0x99, 0x46, 0x46, 0x46, 0x49, 0x46, 0x4C, 0x46, 0x46, 0x49, 0x46, 0x46,
|
|
72
|
+
0x4C, 0x53, 0x54, 0xD5, 0x84, 0xD5, 0x86, 0xD5, 0x84, 0xD4, 0xB5, 0xD5,
|
|
73
|
+
0x84, 0xD4, 0xBB, 0xD5, 0x8E, 0xD5, 0x86, 0xD5, 0x84, 0xD4, 0xBD, 0x53,
|
|
74
|
+
0x73, 0xD4, 0xB5, 0xD6, 0x82, 0xE1, 0xBE, 0xBA, 0xCD, 0x85, 0xCE, 0x86,
|
|
75
|
+
0xCD, 0x85, 0xCE, 0x91, 0xCD, 0x82, 0xCD, 0x85, 0xE1, 0xBF, 0x8A, 0xCD,
|
|
76
|
+
0x85, 0xCE, 0x89, 0xCD, 0x85, 0xCE, 0x97, 0xCD, 0x82, 0xCD, 0x85, 0xE1,
|
|
77
|
+
0xBF, 0xBA, 0xCD, 0x85, 0xCE, 0x8F, 0xCD, 0x85, 0xCE, 0xA9, 0xCD, 0x82,
|
|
78
|
+
0xCD, 0x85, 0x46, 0x66, 0x46, 0x69, 0x46, 0x6C, 0x46, 0x66, 0x69, 0x46,
|
|
79
|
+
0x66, 0x6C, 0x53, 0x74, 0xD5, 0x84, 0xD5, 0xB6, 0xD5, 0x84, 0xD5, 0xA5,
|
|
80
|
+
0xD5, 0x84, 0xD5, 0xAB, 0xD5, 0x8E, 0xD5, 0xB6, 0xD5, 0x84, 0xD5, 0xAD,
|
|
81
|
+
0x64, 0xC5, 0xBD, 0x6C, 0x4A, 0x6E, 0x4A, 0x64, 0x5A, 0xE1, 0xBC, 0x80,
|
|
82
|
+
0xCE, 0x99, 0xE1, 0xBC, 0x81, 0xCE, 0x99, 0xE1, 0xBC, 0x82, 0xCE, 0x99,
|
|
83
|
+
0xE1, 0xBC, 0x83, 0xCE, 0x99, 0xE1, 0xBC, 0x84, 0xCE, 0x99, 0xE1, 0xBC,
|
|
84
|
+
0x85, 0xCE, 0x99, 0xE1, 0xBC, 0x86, 0xCE, 0x99, 0xE1, 0xBC, 0x87, 0xCE,
|
|
85
|
+
0x99, 0xE1, 0xBC, 0xA0, 0xCE, 0x99, 0xE1, 0xBC, 0xA1, 0xCE, 0x99, 0xE1,
|
|
86
|
+
0xBC, 0xA2, 0xCE, 0x99, 0xE1, 0xBC, 0xA3, 0xCE, 0x99, 0xE1, 0xBC, 0xA4,
|
|
87
|
+
0xCE, 0x99, 0xE1, 0xBC, 0xA5, 0xCE, 0x99, 0xE1, 0xBC, 0xA6, 0xCE, 0x99,
|
|
88
|
+
0xE1, 0xBC, 0xA7, 0xCE, 0x99, 0xE1, 0xBD, 0xA0, 0xCE, 0x99, 0xE1, 0xBD,
|
|
89
|
+
0xA1, 0xCE, 0x99, 0xE1, 0xBD, 0xA2, 0xCE, 0x99, 0xE1, 0xBD, 0xA3, 0xCE,
|
|
90
|
+
0x99, 0xE1, 0xBD, 0xA4, 0xCE, 0x99, 0xE1, 0xBD, 0xA5, 0xCE, 0x99, 0xE1,
|
|
91
|
+
0xBD, 0xA6, 0xCE, 0x99, 0xE1, 0xBD, 0xA7, 0xCE, 0x99, 0xCE, 0xB1, 0xCE,
|
|
92
|
+
0x99, 0xCE, 0xB7, 0xCE, 0x99, 0xCF, 0x89, 0xCE, 0x99, 0x73, 0x73, 0xCA,
|
|
93
|
+
0xBC, 0x6E, 0x6A, 0xCC, 0x8C, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCF,
|
|
94
|
+
0x85, 0xCC, 0x88, 0xCC, 0x81, 0xD5, 0xA5, 0xD6, 0x82, 0x68, 0xCC, 0xB1,
|
|
95
|
+
0x74, 0xCC, 0x88, 0x77, 0xCC, 0x8A, 0x79, 0xCC, 0x8A, 0x61, 0xCA, 0xBE,
|
|
96
|
+
0xCF, 0x85, 0xCC, 0x93, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCF, 0x85,
|
|
97
|
+
0xCC, 0x93, 0xCC, 0x81, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xE1, 0xBC,
|
|
98
|
+
0x80, 0xCE, 0xB9, 0xE1, 0xBC, 0x81, 0xCE, 0xB9, 0xE1, 0xBC, 0x82, 0xCE,
|
|
99
|
+
0xB9, 0xE1, 0xBC, 0x83, 0xCE, 0xB9, 0xE1, 0xBC, 0x84, 0xCE, 0xB9, 0xE1,
|
|
100
|
+
0xBC, 0x85, 0xCE, 0xB9, 0xE1, 0xBC, 0x86, 0xCE, 0xB9, 0xE1, 0xBC, 0x87,
|
|
101
|
+
0xCE, 0xB9, 0xE1, 0xBC, 0xA0, 0xCE, 0xB9, 0xE1, 0xBC, 0xA1, 0xCE, 0xB9,
|
|
102
|
+
0xE1, 0xBC, 0xA2, 0xCE, 0xB9, 0xE1, 0xBC, 0xA3, 0xCE, 0xB9, 0xE1, 0xBC,
|
|
103
|
+
0xA4, 0xCE, 0xB9, 0xE1, 0xBC, 0xA5, 0xCE, 0xB9, 0xE1, 0xBC, 0xA6, 0xCE,
|
|
104
|
+
0xB9, 0xE1, 0xBC, 0xA7, 0xCE, 0xB9, 0xE1, 0xBD, 0xA0, 0xCE, 0xB9, 0xE1,
|
|
105
|
+
0xBD, 0xA1, 0xCE, 0xB9, 0xE1, 0xBD, 0xA2, 0xCE, 0xB9, 0xE1, 0xBD, 0xA3,
|
|
106
|
+
0xCE, 0xB9, 0xE1, 0xBD, 0xA4, 0xCE, 0xB9, 0xE1, 0xBD, 0xA5, 0xCE, 0xB9,
|
|
107
|
+
0xE1, 0xBD, 0xA6, 0xCE, 0xB9, 0xE1, 0xBD, 0xA7, 0xCE, 0xB9, 0xE1, 0xBD,
|
|
108
|
+
0xB0, 0xCE, 0xB9, 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xAC, 0xCE, 0xB9, 0xCE,
|
|
109
|
+
0xB1, 0xCD, 0x82, 0xCE, 0xB1, 0xCD, 0x82, 0xCE, 0xB9, 0xE1, 0xBD, 0xB4,
|
|
110
|
+
0xCE, 0xB9, 0xCE, 0xB7, 0xCE, 0xB9, 0xCE, 0xAE, 0xCE, 0xB9, 0xCE, 0xB7,
|
|
111
|
+
0xCD, 0x82, 0xCE, 0xB7, 0xCD, 0x82, 0xCE, 0xB9, 0xCE, 0xB9, 0xCC, 0x88,
|
|
112
|
+
0xCC, 0x80, 0xCE, 0xB9, 0xCD, 0x82, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82,
|
|
113
|
+
0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCF, 0x81, 0xCC, 0x93, 0xCF, 0x85,
|
|
114
|
+
0xCD, 0x82, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xE1, 0xBD, 0xBC, 0xCE,
|
|
115
|
+
0xB9, 0xCF, 0x89, 0xCE, 0xB9, 0xCF, 0x8E, 0xCE, 0xB9, 0xCF, 0x89, 0xCD,
|
|
116
|
+
0x82, 0xCF, 0x89, 0xCD, 0x82, 0xCE, 0xB9, 0x66, 0x66, 0x66, 0x69, 0x66,
|
|
117
|
+
0x6C, 0x66, 0x66, 0x69, 0x66, 0x66, 0x6C, 0x73, 0x74, 0xD5, 0xB4, 0xD5,
|
|
118
|
+
0xB6, 0xD5, 0xB4, 0xD5, 0xA5, 0xD5, 0xB4, 0xD5, 0xAB, 0xD5, 0xBE, 0xD5,
|
|
119
|
+
0xB6, 0xD5, 0xB4, 0xD5, 0xAD,
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
/* the lowercase mapping: 1461 sources in 184 runs, 1 multi. */
|
|
123
|
+
static const uint8_t uni_lower_runs[] = {
|
|
124
|
+
0xC0, 0x00, 0xE0, 0x02, 0x04, 0x20, /* 0x000C0 x23, +32 */
|
|
125
|
+
0xD8, 0x00, 0xE0, 0x00, 0x04, 0x20, /* 0x000D8 x7, +32 */
|
|
126
|
+
0x00, 0x01, 0x00, 0x33, 0x00, 0x20, /* 0x00100 x24, +1 */
|
|
127
|
+
0x32, 0x01, 0x60, 0x30, 0x00, 0x20, /* 0x00132 x3, +1 */
|
|
128
|
+
0x39, 0x01, 0x00, 0x31, 0x00, 0x20, /* 0x00139 x8, +1 */
|
|
129
|
+
0x4A, 0x01, 0xE0, 0x32, 0x00, 0x20, /* 0x0014A x23, +1 */
|
|
130
|
+
0x78, 0x01, 0x20, 0xE0, 0xF0, 0x1F, /* 0x00178 x1, -121 */
|
|
131
|
+
0x79, 0x01, 0x60, 0x30, 0x00, 0x20, /* 0x00179 x3, +1 */
|
|
132
|
+
0x81, 0x01, 0x20, 0x40, 0x1A, 0x20, /* 0x00181 x1, +210 */
|
|
133
|
+
0x82, 0x01, 0x40, 0x30, 0x00, 0x20, /* 0x00182 x2, +1 */
|
|
134
|
+
0x86, 0x01, 0x20, 0xC0, 0x19, 0x20, /* 0x00186 x1, +206 */
|
|
135
|
+
0x87, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x00187 x1, +1 */
|
|
136
|
+
0x89, 0x01, 0x40, 0xA0, 0x19, 0x20, /* 0x00189 x2, +205 */
|
|
137
|
+
0x8B, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x0018B x1, +1 */
|
|
138
|
+
0x8E, 0x01, 0x20, 0xE0, 0x09, 0x20, /* 0x0018E x1, +79 */
|
|
139
|
+
0x8F, 0x01, 0x20, 0x40, 0x19, 0x20, /* 0x0018F x1, +202 */
|
|
140
|
+
0x90, 0x01, 0x20, 0x60, 0x19, 0x20, /* 0x00190 x1, +203 */
|
|
141
|
+
0x91, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x00191 x1, +1 */
|
|
142
|
+
0x93, 0x01, 0x20, 0xA0, 0x19, 0x20, /* 0x00193 x1, +205 */
|
|
143
|
+
0x94, 0x01, 0x20, 0xE0, 0x19, 0x20, /* 0x00194 x1, +207 */
|
|
144
|
+
0x96, 0x01, 0x20, 0x60, 0x1A, 0x20, /* 0x00196 x1, +211 */
|
|
145
|
+
0x97, 0x01, 0x20, 0x20, 0x1A, 0x20, /* 0x00197 x1, +209 */
|
|
146
|
+
0x98, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x00198 x1, +1 */
|
|
147
|
+
0x9C, 0x01, 0x20, 0x60, 0x1A, 0x20, /* 0x0019C x1, +211 */
|
|
148
|
+
0x9D, 0x01, 0x20, 0xA0, 0x1A, 0x20, /* 0x0019D x1, +213 */
|
|
149
|
+
0x9F, 0x01, 0x20, 0xC0, 0x1A, 0x20, /* 0x0019F x1, +214 */
|
|
150
|
+
0xA0, 0x01, 0x60, 0x30, 0x00, 0x20, /* 0x001A0 x3, +1 */
|
|
151
|
+
0xA6, 0x01, 0x20, 0x40, 0x1B, 0x20, /* 0x001A6 x1, +218 */
|
|
152
|
+
0xA7, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x001A7 x1, +1 */
|
|
153
|
+
0xA9, 0x01, 0x20, 0x40, 0x1B, 0x20, /* 0x001A9 x1, +218 */
|
|
154
|
+
0xAC, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x001AC x1, +1 */
|
|
155
|
+
0xAE, 0x01, 0x20, 0x40, 0x1B, 0x20, /* 0x001AE x1, +218 */
|
|
156
|
+
0xAF, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x001AF x1, +1 */
|
|
157
|
+
0xB1, 0x01, 0x40, 0x20, 0x1B, 0x20, /* 0x001B1 x2, +217 */
|
|
158
|
+
0xB3, 0x01, 0x40, 0x30, 0x00, 0x20, /* 0x001B3 x2, +1 */
|
|
159
|
+
0xB7, 0x01, 0x20, 0x60, 0x1B, 0x20, /* 0x001B7 x1, +219 */
|
|
160
|
+
0xB8, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x001B8 x1, +1 */
|
|
161
|
+
0xBC, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x001BC x1, +1 */
|
|
162
|
+
0xC4, 0x01, 0x20, 0x40, 0x00, 0x20, /* 0x001C4 x1, +2 */
|
|
163
|
+
0xC5, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x001C5 x1, +1 */
|
|
164
|
+
0xC7, 0x01, 0x20, 0x40, 0x00, 0x20, /* 0x001C7 x1, +2 */
|
|
165
|
+
0xC8, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x001C8 x1, +1 */
|
|
166
|
+
0xCA, 0x01, 0x20, 0x40, 0x00, 0x20, /* 0x001CA x1, +2 */
|
|
167
|
+
0xCB, 0x01, 0x20, 0x31, 0x00, 0x20, /* 0x001CB x9, +1 */
|
|
168
|
+
0xDE, 0x01, 0x20, 0x31, 0x00, 0x20, /* 0x001DE x9, +1 */
|
|
169
|
+
0xF1, 0x01, 0x20, 0x40, 0x00, 0x20, /* 0x001F1 x1, +2 */
|
|
170
|
+
0xF2, 0x01, 0x40, 0x30, 0x00, 0x20, /* 0x001F2 x2, +1 */
|
|
171
|
+
0xF6, 0x01, 0x20, 0xE0, 0xF3, 0x1F, /* 0x001F6 x1, -97 */
|
|
172
|
+
0xF7, 0x01, 0x20, 0x00, 0xF9, 0x1F, /* 0x001F7 x1, -56 */
|
|
173
|
+
0xF8, 0x01, 0x80, 0x32, 0x00, 0x20, /* 0x001F8 x20, +1 */
|
|
174
|
+
0x20, 0x02, 0x20, 0xC0, 0xEF, 0x1F, /* 0x00220 x1, -130 */
|
|
175
|
+
0x22, 0x02, 0x20, 0x31, 0x00, 0x20, /* 0x00222 x9, +1 */
|
|
176
|
+
0x3A, 0x02, 0x20, 0x60, 0x45, 0x25, /* 0x0023A x1, +10795 */
|
|
177
|
+
0x3B, 0x02, 0x20, 0x20, 0x00, 0x20, /* 0x0023B x1, +1 */
|
|
178
|
+
0x3D, 0x02, 0x20, 0xA0, 0xEB, 0x1F, /* 0x0023D x1, -163 */
|
|
179
|
+
0x3E, 0x02, 0x20, 0x00, 0x45, 0x25, /* 0x0023E x1, +10792 */
|
|
180
|
+
0x41, 0x02, 0x20, 0x20, 0x00, 0x20, /* 0x00241 x1, +1 */
|
|
181
|
+
0x43, 0x02, 0x20, 0xA0, 0xE7, 0x1F, /* 0x00243 x1, -195 */
|
|
182
|
+
0x44, 0x02, 0x20, 0xA0, 0x08, 0x20, /* 0x00244 x1, +69 */
|
|
183
|
+
0x45, 0x02, 0x20, 0xE0, 0x08, 0x20, /* 0x00245 x1, +71 */
|
|
184
|
+
0x46, 0x02, 0xA0, 0x30, 0x00, 0x20, /* 0x00246 x5, +1 */
|
|
185
|
+
0x70, 0x03, 0x40, 0x30, 0x00, 0x20, /* 0x00370 x2, +1 */
|
|
186
|
+
0x76, 0x03, 0x20, 0x20, 0x00, 0x20, /* 0x00376 x1, +1 */
|
|
187
|
+
0x7F, 0x03, 0x20, 0x80, 0x0E, 0x20, /* 0x0037F x1, +116 */
|
|
188
|
+
0x86, 0x03, 0x20, 0xC0, 0x04, 0x20, /* 0x00386 x1, +38 */
|
|
189
|
+
0x88, 0x03, 0x60, 0xA0, 0x04, 0x20, /* 0x00388 x3, +37 */
|
|
190
|
+
0x8C, 0x03, 0x20, 0x00, 0x08, 0x20, /* 0x0038C x1, +64 */
|
|
191
|
+
0x8E, 0x03, 0x40, 0xE0, 0x07, 0x20, /* 0x0038E x2, +63 */
|
|
192
|
+
0x91, 0x03, 0x20, 0x02, 0x04, 0x20, /* 0x00391 x17, +32 */
|
|
193
|
+
0xA3, 0x03, 0x20, 0x01, 0x04, 0x20, /* 0x003A3 x9, +32 */
|
|
194
|
+
0xCF, 0x03, 0x20, 0x00, 0x01, 0x20, /* 0x003CF x1, +8 */
|
|
195
|
+
0xD8, 0x03, 0x80, 0x31, 0x00, 0x20, /* 0x003D8 x12, +1 */
|
|
196
|
+
0xF4, 0x03, 0x20, 0x80, 0xF8, 0x1F, /* 0x003F4 x1, -60 */
|
|
197
|
+
0xF7, 0x03, 0x20, 0x20, 0x00, 0x20, /* 0x003F7 x1, +1 */
|
|
198
|
+
0xF9, 0x03, 0x20, 0x20, 0xFF, 0x1F, /* 0x003F9 x1, -7 */
|
|
199
|
+
0xFA, 0x03, 0x20, 0x20, 0x00, 0x20, /* 0x003FA x1, +1 */
|
|
200
|
+
0xFD, 0x03, 0x60, 0xC0, 0xEF, 0x1F, /* 0x003FD x3, -130 */
|
|
201
|
+
0x00, 0x04, 0x00, 0x02, 0x0A, 0x20, /* 0x00400 x16, +80 */
|
|
202
|
+
0x10, 0x04, 0x00, 0x04, 0x04, 0x20, /* 0x00410 x32, +32 */
|
|
203
|
+
0x60, 0x04, 0x20, 0x32, 0x00, 0x20, /* 0x00460 x17, +1 */
|
|
204
|
+
0x8A, 0x04, 0x60, 0x33, 0x00, 0x20, /* 0x0048A x27, +1 */
|
|
205
|
+
0xC0, 0x04, 0x20, 0xE0, 0x01, 0x20, /* 0x004C0 x1, +15 */
|
|
206
|
+
0xC1, 0x04, 0xE0, 0x30, 0x00, 0x20, /* 0x004C1 x7, +1 */
|
|
207
|
+
0xD0, 0x04, 0x00, 0x36, 0x00, 0x20, /* 0x004D0 x48, +1 */
|
|
208
|
+
0x31, 0x05, 0xC0, 0x04, 0x06, 0x20, /* 0x00531 x38, +48 */
|
|
209
|
+
0xA0, 0x10, 0xC0, 0x04, 0x8C, 0x23, /* 0x010A0 x38, +7264 */
|
|
210
|
+
0xC7, 0x10, 0x20, 0x00, 0x8C, 0x23, /* 0x010C7 x1, +7264 */
|
|
211
|
+
0xCD, 0x10, 0x20, 0x00, 0x8C, 0x23, /* 0x010CD x1, +7264 */
|
|
212
|
+
0xA0, 0x13, 0x00, 0x0A, 0xFA, 0x32, /* 0x013A0 x80, +38864 */
|
|
213
|
+
0xF0, 0x13, 0xC0, 0x00, 0x01, 0x20, /* 0x013F0 x6, +8 */
|
|
214
|
+
0x89, 0x1C, 0x20, 0x20, 0x00, 0x20, /* 0x01C89 x1, +1 */
|
|
215
|
+
0x90, 0x1C, 0x60, 0x05, 0x88, 0x1E, /* 0x01C90 x43, -3008 */
|
|
216
|
+
0xBD, 0x1C, 0x60, 0x00, 0x88, 0x1E, /* 0x01CBD x3, -3008 */
|
|
217
|
+
0x00, 0x1E, 0x60, 0x39, 0x00, 0x20, /* 0x01E00 x75, +1 */
|
|
218
|
+
0x9E, 0x1E, 0x20, 0x20, 0x48, 0x1C, /* 0x01E9E x1, -7615 */
|
|
219
|
+
0xA0, 0x1E, 0x00, 0x36, 0x00, 0x20, /* 0x01EA0 x48, +1 */
|
|
220
|
+
0x08, 0x1F, 0x00, 0x01, 0xFF, 0x1F, /* 0x01F08 x8, -8 */
|
|
221
|
+
0x18, 0x1F, 0xC0, 0x00, 0xFF, 0x1F, /* 0x01F18 x6, -8 */
|
|
222
|
+
0x28, 0x1F, 0x00, 0x01, 0xFF, 0x1F, /* 0x01F28 x8, -8 */
|
|
223
|
+
0x38, 0x1F, 0x00, 0x01, 0xFF, 0x1F, /* 0x01F38 x8, -8 */
|
|
224
|
+
0x48, 0x1F, 0xC0, 0x00, 0xFF, 0x1F, /* 0x01F48 x6, -8 */
|
|
225
|
+
0x59, 0x1F, 0x80, 0x10, 0xFF, 0x1F, /* 0x01F59 x4, -8 */
|
|
226
|
+
0x68, 0x1F, 0x00, 0x01, 0xFF, 0x1F, /* 0x01F68 x8, -8 */
|
|
227
|
+
0x88, 0x1F, 0x00, 0x01, 0xFF, 0x1F, /* 0x01F88 x8, -8 */
|
|
228
|
+
0x98, 0x1F, 0x00, 0x01, 0xFF, 0x1F, /* 0x01F98 x8, -8 */
|
|
229
|
+
0xA8, 0x1F, 0x00, 0x01, 0xFF, 0x1F, /* 0x01FA8 x8, -8 */
|
|
230
|
+
0xB8, 0x1F, 0x40, 0x00, 0xFF, 0x1F, /* 0x01FB8 x2, -8 */
|
|
231
|
+
0xBA, 0x1F, 0x40, 0xC0, 0xF6, 0x1F, /* 0x01FBA x2, -74 */
|
|
232
|
+
0xBC, 0x1F, 0x20, 0xE0, 0xFE, 0x1F, /* 0x01FBC x1, -9 */
|
|
233
|
+
0xC8, 0x1F, 0x80, 0x40, 0xF5, 0x1F, /* 0x01FC8 x4, -86 */
|
|
234
|
+
0xCC, 0x1F, 0x20, 0xE0, 0xFE, 0x1F, /* 0x01FCC x1, -9 */
|
|
235
|
+
0xD8, 0x1F, 0x40, 0x00, 0xFF, 0x1F, /* 0x01FD8 x2, -8 */
|
|
236
|
+
0xDA, 0x1F, 0x40, 0x80, 0xF3, 0x1F, /* 0x01FDA x2, -100 */
|
|
237
|
+
0xE8, 0x1F, 0x40, 0x00, 0xFF, 0x1F, /* 0x01FE8 x2, -8 */
|
|
238
|
+
0xEA, 0x1F, 0x40, 0x00, 0xF2, 0x1F, /* 0x01FEA x2, -112 */
|
|
239
|
+
0xEC, 0x1F, 0x20, 0x20, 0xFF, 0x1F, /* 0x01FEC x1, -7 */
|
|
240
|
+
0xF8, 0x1F, 0x40, 0x00, 0xF0, 0x1F, /* 0x01FF8 x2, -128 */
|
|
241
|
+
0xFA, 0x1F, 0x40, 0x40, 0xF0, 0x1F, /* 0x01FFA x2, -126 */
|
|
242
|
+
0xFC, 0x1F, 0x20, 0xE0, 0xFE, 0x1F, /* 0x01FFC x1, -9 */
|
|
243
|
+
0x26, 0x21, 0x20, 0x60, 0x54, 0x1C, /* 0x02126 x1, -7517 */
|
|
244
|
+
0x2A, 0x21, 0x20, 0x20, 0xE8, 0x1B, /* 0x0212A x1, -8383 */
|
|
245
|
+
0x2B, 0x21, 0x20, 0x40, 0xF7, 0x1B, /* 0x0212B x1, -8262 */
|
|
246
|
+
0x32, 0x21, 0x20, 0x80, 0x03, 0x20, /* 0x02132 x1, +28 */
|
|
247
|
+
0x60, 0x21, 0x00, 0x02, 0x02, 0x20, /* 0x02160 x16, +16 */
|
|
248
|
+
0x83, 0x21, 0x20, 0x20, 0x00, 0x20, /* 0x02183 x1, +1 */
|
|
249
|
+
0xB6, 0x24, 0x40, 0x43, 0x03, 0x20, /* 0x024B6 x26, +26 */
|
|
250
|
+
0x00, 0x2C, 0x00, 0x06, 0x06, 0x20, /* 0x02C00 x48, +48 */
|
|
251
|
+
0x60, 0x2C, 0x20, 0x20, 0x00, 0x20, /* 0x02C60 x1, +1 */
|
|
252
|
+
0x62, 0x2C, 0x20, 0x20, 0xC1, 0x1A, /* 0x02C62 x1, -10743 */
|
|
253
|
+
0x63, 0x2C, 0x20, 0x40, 0x23, 0x1E, /* 0x02C63 x1, -3814 */
|
|
254
|
+
0x64, 0x2C, 0x20, 0x20, 0xC3, 0x1A, /* 0x02C64 x1, -10727 */
|
|
255
|
+
0x67, 0x2C, 0x60, 0x30, 0x00, 0x20, /* 0x02C67 x3, +1 */
|
|
256
|
+
0x6D, 0x2C, 0x20, 0x80, 0xBC, 0x1A, /* 0x02C6D x1, -10780 */
|
|
257
|
+
0x6E, 0x2C, 0x20, 0x60, 0xC0, 0x1A, /* 0x02C6E x1, -10749 */
|
|
258
|
+
0x6F, 0x2C, 0x20, 0x20, 0xBC, 0x1A, /* 0x02C6F x1, -10783 */
|
|
259
|
+
0x70, 0x2C, 0x20, 0x40, 0xBC, 0x1A, /* 0x02C70 x1, -10782 */
|
|
260
|
+
0x72, 0x2C, 0x20, 0x20, 0x00, 0x20, /* 0x02C72 x1, +1 */
|
|
261
|
+
0x75, 0x2C, 0x20, 0x20, 0x00, 0x20, /* 0x02C75 x1, +1 */
|
|
262
|
+
0x7E, 0x2C, 0x40, 0x20, 0xB8, 0x1A, /* 0x02C7E x2, -10815 */
|
|
263
|
+
0x80, 0x2C, 0x40, 0x36, 0x00, 0x20, /* 0x02C80 x50, +1 */
|
|
264
|
+
0xEB, 0x2C, 0x40, 0x30, 0x00, 0x20, /* 0x02CEB x2, +1 */
|
|
265
|
+
0xF2, 0x2C, 0x20, 0x20, 0x00, 0x20, /* 0x02CF2 x1, +1 */
|
|
266
|
+
0x40, 0xA6, 0xE0, 0x32, 0x00, 0x20, /* 0x0A640 x23, +1 */
|
|
267
|
+
0x80, 0xA6, 0xC0, 0x31, 0x00, 0x20, /* 0x0A680 x14, +1 */
|
|
268
|
+
0x22, 0xA7, 0xE0, 0x30, 0x00, 0x20, /* 0x0A722 x7, +1 */
|
|
269
|
+
0x32, 0xA7, 0xE0, 0x33, 0x00, 0x20, /* 0x0A732 x31, +1 */
|
|
270
|
+
0x79, 0xA7, 0x40, 0x30, 0x00, 0x20, /* 0x0A779 x2, +1 */
|
|
271
|
+
0x7D, 0xA7, 0x20, 0x80, 0xBF, 0x0E, /* 0x0A77D x1, -35332 */
|
|
272
|
+
0x7E, 0xA7, 0xA0, 0x30, 0x00, 0x20, /* 0x0A77E x5, +1 */
|
|
273
|
+
0x8B, 0xA7, 0x20, 0x20, 0x00, 0x20, /* 0x0A78B x1, +1 */
|
|
274
|
+
0x8D, 0xA7, 0x20, 0x00, 0x5B, 0x0B, /* 0x0A78D x1, -42280 */
|
|
275
|
+
0x90, 0xA7, 0x40, 0x30, 0x00, 0x20, /* 0x0A790 x2, +1 */
|
|
276
|
+
0x96, 0xA7, 0x40, 0x31, 0x00, 0x20, /* 0x0A796 x10, +1 */
|
|
277
|
+
0xAA, 0xA7, 0x20, 0x80, 0x57, 0x0B, /* 0x0A7AA x1, -42308 */
|
|
278
|
+
0xAB, 0xA7, 0x20, 0x20, 0x56, 0x0B, /* 0x0A7AB x1, -42319 */
|
|
279
|
+
0xAC, 0xA7, 0x20, 0xA0, 0x56, 0x0B, /* 0x0A7AC x1, -42315 */
|
|
280
|
+
0xAD, 0xA7, 0x20, 0xE0, 0x57, 0x0B, /* 0x0A7AD x1, -42305 */
|
|
281
|
+
0xAE, 0xA7, 0x20, 0x80, 0x57, 0x0B, /* 0x0A7AE x1, -42308 */
|
|
282
|
+
0xB0, 0xA7, 0x20, 0xC0, 0x5D, 0x0B, /* 0x0A7B0 x1, -42258 */
|
|
283
|
+
0xB1, 0xA7, 0x20, 0xC0, 0x5A, 0x0B, /* 0x0A7B1 x1, -42282 */
|
|
284
|
+
0xB2, 0xA7, 0x20, 0x60, 0x5D, 0x0B, /* 0x0A7B2 x1, -42261 */
|
|
285
|
+
0xB3, 0xA7, 0x20, 0x00, 0x74, 0x20, /* 0x0A7B3 x1, +928 */
|
|
286
|
+
0xB4, 0xA7, 0x00, 0x31, 0x00, 0x20, /* 0x0A7B4 x8, +1 */
|
|
287
|
+
0xC4, 0xA7, 0x20, 0x00, 0xFA, 0x1F, /* 0x0A7C4 x1, -48 */
|
|
288
|
+
0xC5, 0xA7, 0x20, 0xA0, 0x57, 0x0B, /* 0x0A7C5 x1, -42307 */
|
|
289
|
+
0xC6, 0xA7, 0x20, 0x00, 0xB9, 0x0E, /* 0x0A7C6 x1, -35384 */
|
|
290
|
+
0xC7, 0xA7, 0x40, 0x30, 0x00, 0x20, /* 0x0A7C7 x2, +1 */
|
|
291
|
+
0xCB, 0xA7, 0x20, 0x20, 0x53, 0x0B, /* 0x0A7CB x1, -42343 */
|
|
292
|
+
0xCC, 0xA7, 0x00, 0x31, 0x00, 0x20, /* 0x0A7CC x8, +1 */
|
|
293
|
+
0xDC, 0xA7, 0x20, 0xE0, 0x37, 0x0B, /* 0x0A7DC x1, -42561 */
|
|
294
|
+
0xF5, 0xA7, 0x20, 0x20, 0x00, 0x20, /* 0x0A7F5 x1, +1 */
|
|
295
|
+
0x21, 0xFF, 0x40, 0x03, 0x04, 0x20, /* 0x0FF21 x26, +32 */
|
|
296
|
+
0x00, 0x04, 0x01, 0x05, 0x05, 0x20, /* 0x10400 x40, +40 */
|
|
297
|
+
0xB0, 0x04, 0x81, 0x04, 0x05, 0x20, /* 0x104B0 x36, +40 */
|
|
298
|
+
0x70, 0x05, 0x61, 0xE1, 0x04, 0x20, /* 0x10570 x11, +39 */
|
|
299
|
+
0x7C, 0x05, 0xE1, 0xE1, 0x04, 0x20, /* 0x1057C x15, +39 */
|
|
300
|
+
0x8C, 0x05, 0xE1, 0xE0, 0x04, 0x20, /* 0x1058C x7, +39 */
|
|
301
|
+
0x94, 0x05, 0x41, 0xE0, 0x04, 0x20, /* 0x10594 x2, +39 */
|
|
302
|
+
0x80, 0x0C, 0x61, 0x06, 0x08, 0x20, /* 0x10C80 x51, +64 */
|
|
303
|
+
0x50, 0x0D, 0xC1, 0x02, 0x04, 0x20, /* 0x10D50 x22, +32 */
|
|
304
|
+
0xA0, 0x18, 0x01, 0x04, 0x04, 0x20, /* 0x118A0 x32, +32 */
|
|
305
|
+
0x40, 0x6E, 0x01, 0x04, 0x04, 0x20, /* 0x16E40 x32, +32 */
|
|
306
|
+
0xA0, 0x6E, 0x21, 0x63, 0x03, 0x20, /* 0x16EA0 x25, +27 */
|
|
307
|
+
0x00, 0xE9, 0x41, 0x44, 0x04, 0x20, /* 0x1E900 x34, +34 */
|
|
308
|
+
};
|
|
309
|
+
#define UNI_LOWER_RUNS uni_lower_runs
|
|
310
|
+
#define UNI_LOWER_RUN_COUNT (sizeof(uni_lower_runs) / UNI_CASE_RUN_BYTES)
|
|
311
|
+
|
|
312
|
+
static const uint8_t uni_lower_multi[] = {
|
|
313
|
+
0x30, 0x01, 0x00, 0x00, 0x06, /* 0x00130, 3 at 0 */
|
|
314
|
+
};
|
|
315
|
+
#define UNI_LOWER_MULTI uni_lower_multi
|
|
316
|
+
#define UNI_LOWER_MULTI_COUNT (sizeof(uni_lower_multi) / UNI_CASE_MULTI_BYTES)
|
|
317
|
+
|
|
318
|
+
/* Lowest and highest source either table holds, so a lookup that
|
|
319
|
+
cannot hit anything costs one comparison. */
|
|
320
|
+
#define UNI_LOWER_MIN 0x000C0
|
|
321
|
+
#define UNI_LOWER_MAX 0x1E921
|
|
322
|
+
|
|
323
|
+
/* the uppercase mapping: 1452 sources in 197 runs, 102 multi. */
|
|
324
|
+
static const uint8_t uni_upper_runs[] = {
|
|
325
|
+
0xB5, 0x00, 0x20, 0xE0, 0x5C, 0x20, /* 0x000B5 x1, +743 */
|
|
326
|
+
0xE0, 0x00, 0xE0, 0x02, 0xFC, 0x1F, /* 0x000E0 x23, -32 */
|
|
327
|
+
0xF8, 0x00, 0xE0, 0x00, 0xFC, 0x1F, /* 0x000F8 x7, -32 */
|
|
328
|
+
0xFF, 0x00, 0x20, 0x20, 0x0F, 0x20, /* 0x000FF x1, +121 */
|
|
329
|
+
0x01, 0x01, 0x00, 0xF3, 0xFF, 0x1F, /* 0x00101 x24, -1 */
|
|
330
|
+
0x31, 0x01, 0x20, 0x00, 0xE3, 0x1F, /* 0x00131 x1, -232 */
|
|
331
|
+
0x33, 0x01, 0x60, 0xF0, 0xFF, 0x1F, /* 0x00133 x3, -1 */
|
|
332
|
+
0x3A, 0x01, 0x00, 0xF1, 0xFF, 0x1F, /* 0x0013A x8, -1 */
|
|
333
|
+
0x4B, 0x01, 0xE0, 0xF2, 0xFF, 0x1F, /* 0x0014B x23, -1 */
|
|
334
|
+
0x7A, 0x01, 0x60, 0xF0, 0xFF, 0x1F, /* 0x0017A x3, -1 */
|
|
335
|
+
0x7F, 0x01, 0x20, 0x80, 0xDA, 0x1F, /* 0x0017F x1, -300 */
|
|
336
|
+
0x80, 0x01, 0x20, 0x60, 0x18, 0x20, /* 0x00180 x1, +195 */
|
|
337
|
+
0x83, 0x01, 0x40, 0xF0, 0xFF, 0x1F, /* 0x00183 x2, -1 */
|
|
338
|
+
0x88, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x00188 x1, -1 */
|
|
339
|
+
0x8C, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x0018C x1, -1 */
|
|
340
|
+
0x92, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x00192 x1, -1 */
|
|
341
|
+
0x95, 0x01, 0x20, 0x20, 0x0C, 0x20, /* 0x00195 x1, +97 */
|
|
342
|
+
0x99, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x00199 x1, -1 */
|
|
343
|
+
0x9A, 0x01, 0x20, 0x60, 0x14, 0x20, /* 0x0019A x1, +163 */
|
|
344
|
+
0x9B, 0x01, 0x20, 0x20, 0xC8, 0x34, /* 0x0019B x1, +42561 */
|
|
345
|
+
0x9E, 0x01, 0x20, 0x40, 0x10, 0x20, /* 0x0019E x1, +130 */
|
|
346
|
+
0xA1, 0x01, 0x60, 0xF0, 0xFF, 0x1F, /* 0x001A1 x3, -1 */
|
|
347
|
+
0xA8, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001A8 x1, -1 */
|
|
348
|
+
0xAD, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001AD x1, -1 */
|
|
349
|
+
0xB0, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001B0 x1, -1 */
|
|
350
|
+
0xB4, 0x01, 0x40, 0xF0, 0xFF, 0x1F, /* 0x001B4 x2, -1 */
|
|
351
|
+
0xB9, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001B9 x1, -1 */
|
|
352
|
+
0xBD, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001BD x1, -1 */
|
|
353
|
+
0xBF, 0x01, 0x20, 0x00, 0x07, 0x20, /* 0x001BF x1, +56 */
|
|
354
|
+
0xC5, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001C5 x1, -1 */
|
|
355
|
+
0xC6, 0x01, 0x20, 0xC0, 0xFF, 0x1F, /* 0x001C6 x1, -2 */
|
|
356
|
+
0xC8, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001C8 x1, -1 */
|
|
357
|
+
0xC9, 0x01, 0x20, 0xC0, 0xFF, 0x1F, /* 0x001C9 x1, -2 */
|
|
358
|
+
0xCB, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001CB x1, -1 */
|
|
359
|
+
0xCC, 0x01, 0x20, 0xC0, 0xFF, 0x1F, /* 0x001CC x1, -2 */
|
|
360
|
+
0xCE, 0x01, 0x00, 0xF1, 0xFF, 0x1F, /* 0x001CE x8, -1 */
|
|
361
|
+
0xDD, 0x01, 0x20, 0x20, 0xF6, 0x1F, /* 0x001DD x1, -79 */
|
|
362
|
+
0xDF, 0x01, 0x20, 0xF1, 0xFF, 0x1F, /* 0x001DF x9, -1 */
|
|
363
|
+
0xF2, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001F2 x1, -1 */
|
|
364
|
+
0xF3, 0x01, 0x20, 0xC0, 0xFF, 0x1F, /* 0x001F3 x1, -2 */
|
|
365
|
+
0xF5, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001F5 x1, -1 */
|
|
366
|
+
0xF9, 0x01, 0x80, 0xF2, 0xFF, 0x1F, /* 0x001F9 x20, -1 */
|
|
367
|
+
0x23, 0x02, 0x20, 0xF1, 0xFF, 0x1F, /* 0x00223 x9, -1 */
|
|
368
|
+
0x3C, 0x02, 0x20, 0xE0, 0xFF, 0x1F, /* 0x0023C x1, -1 */
|
|
369
|
+
0x3F, 0x02, 0x40, 0xE0, 0x47, 0x25, /* 0x0023F x2, +10815 */
|
|
370
|
+
0x42, 0x02, 0x20, 0xE0, 0xFF, 0x1F, /* 0x00242 x1, -1 */
|
|
371
|
+
0x47, 0x02, 0xA0, 0xF0, 0xFF, 0x1F, /* 0x00247 x5, -1 */
|
|
372
|
+
0x50, 0x02, 0x20, 0xE0, 0x43, 0x25, /* 0x00250 x1, +10783 */
|
|
373
|
+
0x51, 0x02, 0x20, 0x80, 0x43, 0x25, /* 0x00251 x1, +10780 */
|
|
374
|
+
0x52, 0x02, 0x20, 0xC0, 0x43, 0x25, /* 0x00252 x1, +10782 */
|
|
375
|
+
0x53, 0x02, 0x20, 0xC0, 0xE5, 0x1F, /* 0x00253 x1, -210 */
|
|
376
|
+
0x54, 0x02, 0x20, 0x40, 0xE6, 0x1F, /* 0x00254 x1, -206 */
|
|
377
|
+
0x56, 0x02, 0x40, 0x60, 0xE6, 0x1F, /* 0x00256 x2, -205 */
|
|
378
|
+
0x59, 0x02, 0x20, 0xC0, 0xE6, 0x1F, /* 0x00259 x1, -202 */
|
|
379
|
+
0x5B, 0x02, 0x20, 0xA0, 0xE6, 0x1F, /* 0x0025B x1, -203 */
|
|
380
|
+
0x5C, 0x02, 0x20, 0xE0, 0xA9, 0x34, /* 0x0025C x1, +42319 */
|
|
381
|
+
0x60, 0x02, 0x20, 0x60, 0xE6, 0x1F, /* 0x00260 x1, -205 */
|
|
382
|
+
0x61, 0x02, 0x20, 0x60, 0xA9, 0x34, /* 0x00261 x1, +42315 */
|
|
383
|
+
0x63, 0x02, 0x20, 0x20, 0xE6, 0x1F, /* 0x00263 x1, -207 */
|
|
384
|
+
0x64, 0x02, 0x20, 0xE0, 0xAC, 0x34, /* 0x00264 x1, +42343 */
|
|
385
|
+
0x65, 0x02, 0x20, 0x00, 0xA5, 0x34, /* 0x00265 x1, +42280 */
|
|
386
|
+
0x66, 0x02, 0x20, 0x80, 0xA8, 0x34, /* 0x00266 x1, +42308 */
|
|
387
|
+
0x68, 0x02, 0x20, 0xE0, 0xE5, 0x1F, /* 0x00268 x1, -209 */
|
|
388
|
+
0x69, 0x02, 0x20, 0xA0, 0xE5, 0x1F, /* 0x00269 x1, -211 */
|
|
389
|
+
0x6A, 0x02, 0x20, 0x80, 0xA8, 0x34, /* 0x0026A x1, +42308 */
|
|
390
|
+
0x6B, 0x02, 0x20, 0xE0, 0x3E, 0x25, /* 0x0026B x1, +10743 */
|
|
391
|
+
0x6C, 0x02, 0x20, 0x20, 0xA8, 0x34, /* 0x0026C x1, +42305 */
|
|
392
|
+
0x6F, 0x02, 0x20, 0xA0, 0xE5, 0x1F, /* 0x0026F x1, -211 */
|
|
393
|
+
0x71, 0x02, 0x20, 0xA0, 0x3F, 0x25, /* 0x00271 x1, +10749 */
|
|
394
|
+
0x72, 0x02, 0x20, 0x60, 0xE5, 0x1F, /* 0x00272 x1, -213 */
|
|
395
|
+
0x75, 0x02, 0x20, 0x40, 0xE5, 0x1F, /* 0x00275 x1, -214 */
|
|
396
|
+
0x7D, 0x02, 0x20, 0xE0, 0x3C, 0x25, /* 0x0027D x1, +10727 */
|
|
397
|
+
0x80, 0x02, 0x20, 0xC0, 0xE4, 0x1F, /* 0x00280 x1, -218 */
|
|
398
|
+
0x82, 0x02, 0x20, 0x60, 0xA8, 0x34, /* 0x00282 x1, +42307 */
|
|
399
|
+
0x83, 0x02, 0x20, 0xC0, 0xE4, 0x1F, /* 0x00283 x1, -218 */
|
|
400
|
+
0x87, 0x02, 0x20, 0x40, 0xA5, 0x34, /* 0x00287 x1, +42282 */
|
|
401
|
+
0x88, 0x02, 0x20, 0xC0, 0xE4, 0x1F, /* 0x00288 x1, -218 */
|
|
402
|
+
0x89, 0x02, 0x20, 0x60, 0xF7, 0x1F, /* 0x00289 x1, -69 */
|
|
403
|
+
0x8A, 0x02, 0x40, 0xE0, 0xE4, 0x1F, /* 0x0028A x2, -217 */
|
|
404
|
+
0x8C, 0x02, 0x20, 0x20, 0xF7, 0x1F, /* 0x0028C x1, -71 */
|
|
405
|
+
0x92, 0x02, 0x20, 0xA0, 0xE4, 0x1F, /* 0x00292 x1, -219 */
|
|
406
|
+
0x9D, 0x02, 0x20, 0xA0, 0xA2, 0x34, /* 0x0029D x1, +42261 */
|
|
407
|
+
0x9E, 0x02, 0x20, 0x40, 0xA2, 0x34, /* 0x0029E x1, +42258 */
|
|
408
|
+
0x45, 0x03, 0x20, 0x80, 0x0A, 0x20, /* 0x00345 x1, +84 */
|
|
409
|
+
0x71, 0x03, 0x40, 0xF0, 0xFF, 0x1F, /* 0x00371 x2, -1 */
|
|
410
|
+
0x77, 0x03, 0x20, 0xE0, 0xFF, 0x1F, /* 0x00377 x1, -1 */
|
|
411
|
+
0x7B, 0x03, 0x60, 0x40, 0x10, 0x20, /* 0x0037B x3, +130 */
|
|
412
|
+
0xAC, 0x03, 0x20, 0x40, 0xFB, 0x1F, /* 0x003AC x1, -38 */
|
|
413
|
+
0xAD, 0x03, 0x60, 0x60, 0xFB, 0x1F, /* 0x003AD x3, -37 */
|
|
414
|
+
0xB1, 0x03, 0x20, 0x02, 0xFC, 0x1F, /* 0x003B1 x17, -32 */
|
|
415
|
+
0xC2, 0x03, 0x20, 0x20, 0xFC, 0x1F, /* 0x003C2 x1, -31 */
|
|
416
|
+
0xC3, 0x03, 0x20, 0x01, 0xFC, 0x1F, /* 0x003C3 x9, -32 */
|
|
417
|
+
0xCC, 0x03, 0x20, 0x00, 0xF8, 0x1F, /* 0x003CC x1, -64 */
|
|
418
|
+
0xCD, 0x03, 0x40, 0x20, 0xF8, 0x1F, /* 0x003CD x2, -63 */
|
|
419
|
+
0xD0, 0x03, 0x20, 0x40, 0xF8, 0x1F, /* 0x003D0 x1, -62 */
|
|
420
|
+
0xD1, 0x03, 0x20, 0xE0, 0xF8, 0x1F, /* 0x003D1 x1, -57 */
|
|
421
|
+
0xD5, 0x03, 0x20, 0x20, 0xFA, 0x1F, /* 0x003D5 x1, -47 */
|
|
422
|
+
0xD6, 0x03, 0x20, 0x40, 0xF9, 0x1F, /* 0x003D6 x1, -54 */
|
|
423
|
+
0xD7, 0x03, 0x20, 0x00, 0xFF, 0x1F, /* 0x003D7 x1, -8 */
|
|
424
|
+
0xD9, 0x03, 0x80, 0xF1, 0xFF, 0x1F, /* 0x003D9 x12, -1 */
|
|
425
|
+
0xF0, 0x03, 0x20, 0x40, 0xF5, 0x1F, /* 0x003F0 x1, -86 */
|
|
426
|
+
0xF1, 0x03, 0x20, 0x00, 0xF6, 0x1F, /* 0x003F1 x1, -80 */
|
|
427
|
+
0xF2, 0x03, 0x20, 0xE0, 0x00, 0x20, /* 0x003F2 x1, +7 */
|
|
428
|
+
0xF3, 0x03, 0x20, 0x80, 0xF1, 0x1F, /* 0x003F3 x1, -116 */
|
|
429
|
+
0xF5, 0x03, 0x20, 0x00, 0xF4, 0x1F, /* 0x003F5 x1, -96 */
|
|
430
|
+
0xF8, 0x03, 0x20, 0xE0, 0xFF, 0x1F, /* 0x003F8 x1, -1 */
|
|
431
|
+
0xFB, 0x03, 0x20, 0xE0, 0xFF, 0x1F, /* 0x003FB x1, -1 */
|
|
432
|
+
0x30, 0x04, 0x00, 0x04, 0xFC, 0x1F, /* 0x00430 x32, -32 */
|
|
433
|
+
0x50, 0x04, 0x00, 0x02, 0xF6, 0x1F, /* 0x00450 x16, -80 */
|
|
434
|
+
0x61, 0x04, 0x20, 0xF2, 0xFF, 0x1F, /* 0x00461 x17, -1 */
|
|
435
|
+
0x8B, 0x04, 0x60, 0xF3, 0xFF, 0x1F, /* 0x0048B x27, -1 */
|
|
436
|
+
0xC2, 0x04, 0xE0, 0xF0, 0xFF, 0x1F, /* 0x004C2 x7, -1 */
|
|
437
|
+
0xCF, 0x04, 0x20, 0x20, 0xFE, 0x1F, /* 0x004CF x1, -15 */
|
|
438
|
+
0xD1, 0x04, 0x00, 0xF6, 0xFF, 0x1F, /* 0x004D1 x48, -1 */
|
|
439
|
+
0x61, 0x05, 0xC0, 0x04, 0xFA, 0x1F, /* 0x00561 x38, -48 */
|
|
440
|
+
0xD0, 0x10, 0x60, 0x05, 0x78, 0x21, /* 0x010D0 x43, +3008 */
|
|
441
|
+
0xFD, 0x10, 0x60, 0x00, 0x78, 0x21, /* 0x010FD x3, +3008 */
|
|
442
|
+
0xF8, 0x13, 0xC0, 0x00, 0xFF, 0x1F, /* 0x013F8 x6, -8 */
|
|
443
|
+
0x80, 0x1C, 0x20, 0x40, 0xF2, 0x1C, /* 0x01C80 x1, -6254 */
|
|
444
|
+
0x81, 0x1C, 0x20, 0x60, 0xF2, 0x1C, /* 0x01C81 x1, -6253 */
|
|
445
|
+
0x82, 0x1C, 0x20, 0x80, 0xF3, 0x1C, /* 0x01C82 x1, -6244 */
|
|
446
|
+
0x83, 0x1C, 0x40, 0xC0, 0xF3, 0x1C, /* 0x01C83 x2, -6242 */
|
|
447
|
+
0x85, 0x1C, 0x20, 0xA0, 0xF3, 0x1C, /* 0x01C85 x1, -6243 */
|
|
448
|
+
0x86, 0x1C, 0x20, 0x80, 0xF4, 0x1C, /* 0x01C86 x1, -6236 */
|
|
449
|
+
0x87, 0x1C, 0x20, 0x60, 0xFB, 0x1C, /* 0x01C87 x1, -6181 */
|
|
450
|
+
0x88, 0x1C, 0x20, 0x40, 0x38, 0x31, /* 0x01C88 x1, +35266 */
|
|
451
|
+
0x8A, 0x1C, 0x20, 0xE0, 0xFF, 0x1F, /* 0x01C8A x1, -1 */
|
|
452
|
+
0x79, 0x1D, 0x20, 0x80, 0x40, 0x31, /* 0x01D79 x1, +35332 */
|
|
453
|
+
0x7D, 0x1D, 0x20, 0xC0, 0xDC, 0x21, /* 0x01D7D x1, +3814 */
|
|
454
|
+
0x8E, 0x1D, 0x20, 0x00, 0x47, 0x31, /* 0x01D8E x1, +35384 */
|
|
455
|
+
0x01, 0x1E, 0x60, 0xF9, 0xFF, 0x1F, /* 0x01E01 x75, -1 */
|
|
456
|
+
0x9B, 0x1E, 0x20, 0xA0, 0xF8, 0x1F, /* 0x01E9B x1, -59 */
|
|
457
|
+
0xA1, 0x1E, 0x00, 0xF6, 0xFF, 0x1F, /* 0x01EA1 x48, -1 */
|
|
458
|
+
0x00, 0x1F, 0x00, 0x01, 0x01, 0x20, /* 0x01F00 x8, +8 */
|
|
459
|
+
0x10, 0x1F, 0xC0, 0x00, 0x01, 0x20, /* 0x01F10 x6, +8 */
|
|
460
|
+
0x20, 0x1F, 0x00, 0x01, 0x01, 0x20, /* 0x01F20 x8, +8 */
|
|
461
|
+
0x30, 0x1F, 0x00, 0x01, 0x01, 0x20, /* 0x01F30 x8, +8 */
|
|
462
|
+
0x40, 0x1F, 0xC0, 0x00, 0x01, 0x20, /* 0x01F40 x6, +8 */
|
|
463
|
+
0x51, 0x1F, 0x80, 0x10, 0x01, 0x20, /* 0x01F51 x4, +8 */
|
|
464
|
+
0x60, 0x1F, 0x00, 0x01, 0x01, 0x20, /* 0x01F60 x8, +8 */
|
|
465
|
+
0x70, 0x1F, 0x40, 0x40, 0x09, 0x20, /* 0x01F70 x2, +74 */
|
|
466
|
+
0x72, 0x1F, 0x80, 0xC0, 0x0A, 0x20, /* 0x01F72 x4, +86 */
|
|
467
|
+
0x76, 0x1F, 0x40, 0x80, 0x0C, 0x20, /* 0x01F76 x2, +100 */
|
|
468
|
+
0x78, 0x1F, 0x40, 0x00, 0x10, 0x20, /* 0x01F78 x2, +128 */
|
|
469
|
+
0x7A, 0x1F, 0x40, 0x00, 0x0E, 0x20, /* 0x01F7A x2, +112 */
|
|
470
|
+
0x7C, 0x1F, 0x40, 0xC0, 0x0F, 0x20, /* 0x01F7C x2, +126 */
|
|
471
|
+
0xB0, 0x1F, 0x40, 0x00, 0x01, 0x20, /* 0x01FB0 x2, +8 */
|
|
472
|
+
0xBE, 0x1F, 0x20, 0x60, 0x7B, 0x1C, /* 0x01FBE x1, -7205 */
|
|
473
|
+
0xD0, 0x1F, 0x40, 0x00, 0x01, 0x20, /* 0x01FD0 x2, +8 */
|
|
474
|
+
0xE0, 0x1F, 0x40, 0x00, 0x01, 0x20, /* 0x01FE0 x2, +8 */
|
|
475
|
+
0xE5, 0x1F, 0x20, 0xE0, 0x00, 0x20, /* 0x01FE5 x1, +7 */
|
|
476
|
+
0x4E, 0x21, 0x20, 0x80, 0xFC, 0x1F, /* 0x0214E x1, -28 */
|
|
477
|
+
0x70, 0x21, 0x00, 0x02, 0xFE, 0x1F, /* 0x02170 x16, -16 */
|
|
478
|
+
0x84, 0x21, 0x20, 0xE0, 0xFF, 0x1F, /* 0x02184 x1, -1 */
|
|
479
|
+
0xD0, 0x24, 0x40, 0xC3, 0xFC, 0x1F, /* 0x024D0 x26, -26 */
|
|
480
|
+
0x30, 0x2C, 0x00, 0x06, 0xFA, 0x1F, /* 0x02C30 x48, -48 */
|
|
481
|
+
0x61, 0x2C, 0x20, 0xE0, 0xFF, 0x1F, /* 0x02C61 x1, -1 */
|
|
482
|
+
0x65, 0x2C, 0x20, 0xA0, 0xBA, 0x1A, /* 0x02C65 x1, -10795 */
|
|
483
|
+
0x66, 0x2C, 0x20, 0x00, 0xBB, 0x1A, /* 0x02C66 x1, -10792 */
|
|
484
|
+
0x68, 0x2C, 0x60, 0xF0, 0xFF, 0x1F, /* 0x02C68 x3, -1 */
|
|
485
|
+
0x73, 0x2C, 0x20, 0xE0, 0xFF, 0x1F, /* 0x02C73 x1, -1 */
|
|
486
|
+
0x76, 0x2C, 0x20, 0xE0, 0xFF, 0x1F, /* 0x02C76 x1, -1 */
|
|
487
|
+
0x81, 0x2C, 0x40, 0xF6, 0xFF, 0x1F, /* 0x02C81 x50, -1 */
|
|
488
|
+
0xEC, 0x2C, 0x40, 0xF0, 0xFF, 0x1F, /* 0x02CEC x2, -1 */
|
|
489
|
+
0xF3, 0x2C, 0x20, 0xE0, 0xFF, 0x1F, /* 0x02CF3 x1, -1 */
|
|
490
|
+
0x00, 0x2D, 0xC0, 0x04, 0x74, 0x1C, /* 0x02D00 x38, -7264 */
|
|
491
|
+
0x27, 0x2D, 0x20, 0x00, 0x74, 0x1C, /* 0x02D27 x1, -7264 */
|
|
492
|
+
0x2D, 0x2D, 0x20, 0x00, 0x74, 0x1C, /* 0x02D2D x1, -7264 */
|
|
493
|
+
0x41, 0xA6, 0xE0, 0xF2, 0xFF, 0x1F, /* 0x0A641 x23, -1 */
|
|
494
|
+
0x81, 0xA6, 0xC0, 0xF1, 0xFF, 0x1F, /* 0x0A681 x14, -1 */
|
|
495
|
+
0x23, 0xA7, 0xE0, 0xF0, 0xFF, 0x1F, /* 0x0A723 x7, -1 */
|
|
496
|
+
0x33, 0xA7, 0xE0, 0xF3, 0xFF, 0x1F, /* 0x0A733 x31, -1 */
|
|
497
|
+
0x7A, 0xA7, 0x40, 0xF0, 0xFF, 0x1F, /* 0x0A77A x2, -1 */
|
|
498
|
+
0x7F, 0xA7, 0xA0, 0xF0, 0xFF, 0x1F, /* 0x0A77F x5, -1 */
|
|
499
|
+
0x8C, 0xA7, 0x20, 0xE0, 0xFF, 0x1F, /* 0x0A78C x1, -1 */
|
|
500
|
+
0x91, 0xA7, 0x40, 0xF0, 0xFF, 0x1F, /* 0x0A791 x2, -1 */
|
|
501
|
+
0x94, 0xA7, 0x20, 0x00, 0x06, 0x20, /* 0x0A794 x1, +48 */
|
|
502
|
+
0x97, 0xA7, 0x40, 0xF1, 0xFF, 0x1F, /* 0x0A797 x10, -1 */
|
|
503
|
+
0xB5, 0xA7, 0x00, 0xF1, 0xFF, 0x1F, /* 0x0A7B5 x8, -1 */
|
|
504
|
+
0xC8, 0xA7, 0x40, 0xF0, 0xFF, 0x1F, /* 0x0A7C8 x2, -1 */
|
|
505
|
+
0xCD, 0xA7, 0x00, 0xF1, 0xFF, 0x1F, /* 0x0A7CD x8, -1 */
|
|
506
|
+
0xF6, 0xA7, 0x20, 0xE0, 0xFF, 0x1F, /* 0x0A7F6 x1, -1 */
|
|
507
|
+
0x53, 0xAB, 0x20, 0x00, 0x8C, 0x1F, /* 0x0AB53 x1, -928 */
|
|
508
|
+
0x70, 0xAB, 0x00, 0x0A, 0x06, 0x0D, /* 0x0AB70 x80, -38864 */
|
|
509
|
+
0x41, 0xFF, 0x40, 0x03, 0xFC, 0x1F, /* 0x0FF41 x26, -32 */
|
|
510
|
+
0x28, 0x04, 0x01, 0x05, 0xFB, 0x1F, /* 0x10428 x40, -40 */
|
|
511
|
+
0xD8, 0x04, 0x81, 0x04, 0xFB, 0x1F, /* 0x104D8 x36, -40 */
|
|
512
|
+
0x97, 0x05, 0x61, 0x21, 0xFB, 0x1F, /* 0x10597 x11, -39 */
|
|
513
|
+
0xA3, 0x05, 0xE1, 0x21, 0xFB, 0x1F, /* 0x105A3 x15, -39 */
|
|
514
|
+
0xB3, 0x05, 0xE1, 0x20, 0xFB, 0x1F, /* 0x105B3 x7, -39 */
|
|
515
|
+
0xBB, 0x05, 0x41, 0x20, 0xFB, 0x1F, /* 0x105BB x2, -39 */
|
|
516
|
+
0xC0, 0x0C, 0x61, 0x06, 0xF8, 0x1F, /* 0x10CC0 x51, -64 */
|
|
517
|
+
0x70, 0x0D, 0xC1, 0x02, 0xFC, 0x1F, /* 0x10D70 x22, -32 */
|
|
518
|
+
0xC0, 0x18, 0x01, 0x04, 0xFC, 0x1F, /* 0x118C0 x32, -32 */
|
|
519
|
+
0x60, 0x6E, 0x01, 0x04, 0xFC, 0x1F, /* 0x16E60 x32, -32 */
|
|
520
|
+
0xBB, 0x6E, 0x21, 0xA3, 0xFC, 0x1F, /* 0x16EBB x25, -27 */
|
|
521
|
+
0x22, 0xE9, 0x41, 0xC4, 0xFB, 0x1F, /* 0x1E922 x34, -34 */
|
|
522
|
+
};
|
|
523
|
+
#define UNI_UPPER_RUNS uni_upper_runs
|
|
524
|
+
#define UNI_UPPER_RUN_COUNT (sizeof(uni_upper_runs) / UNI_CASE_RUN_BYTES)
|
|
525
|
+
|
|
526
|
+
static const uint8_t uni_upper_multi[] = {
|
|
527
|
+
0xDF, 0x00, 0x60, 0x00, 0x04, /* 0x000DF, 2 at 3 */
|
|
528
|
+
0x49, 0x01, 0xA0, 0x00, 0x06, /* 0x00149, 3 at 5 */
|
|
529
|
+
0xF0, 0x01, 0x00, 0x01, 0x06, /* 0x001F0, 3 at 8 */
|
|
530
|
+
0x90, 0x03, 0x60, 0x01, 0x0C, /* 0x00390, 6 at 11 */
|
|
531
|
+
0xB0, 0x03, 0x20, 0x02, 0x0C, /* 0x003B0, 6 at 17 */
|
|
532
|
+
0x87, 0x05, 0xE0, 0x02, 0x08, /* 0x00587, 4 at 23 */
|
|
533
|
+
0x96, 0x1E, 0x60, 0x03, 0x06, /* 0x01E96, 3 at 27 */
|
|
534
|
+
0x97, 0x1E, 0xC0, 0x03, 0x06, /* 0x01E97, 3 at 30 */
|
|
535
|
+
0x98, 0x1E, 0x20, 0x04, 0x06, /* 0x01E98, 3 at 33 */
|
|
536
|
+
0x99, 0x1E, 0x80, 0x04, 0x06, /* 0x01E99, 3 at 36 */
|
|
537
|
+
0x9A, 0x1E, 0xE0, 0x04, 0x06, /* 0x01E9A, 3 at 39 */
|
|
538
|
+
0x50, 0x1F, 0x40, 0x05, 0x08, /* 0x01F50, 4 at 42 */
|
|
539
|
+
0x52, 0x1F, 0xC0, 0x05, 0x0C, /* 0x01F52, 6 at 46 */
|
|
540
|
+
0x54, 0x1F, 0x80, 0x06, 0x0C, /* 0x01F54, 6 at 52 */
|
|
541
|
+
0x56, 0x1F, 0x40, 0x07, 0x0C, /* 0x01F56, 6 at 58 */
|
|
542
|
+
0x80, 0x1F, 0x00, 0x08, 0x0A, /* 0x01F80, 5 at 64 */
|
|
543
|
+
0x81, 0x1F, 0xA0, 0x08, 0x0A, /* 0x01F81, 5 at 69 */
|
|
544
|
+
0x82, 0x1F, 0x40, 0x09, 0x0A, /* 0x01F82, 5 at 74 */
|
|
545
|
+
0x83, 0x1F, 0xE0, 0x09, 0x0A, /* 0x01F83, 5 at 79 */
|
|
546
|
+
0x84, 0x1F, 0x80, 0x0A, 0x0A, /* 0x01F84, 5 at 84 */
|
|
547
|
+
0x85, 0x1F, 0x20, 0x0B, 0x0A, /* 0x01F85, 5 at 89 */
|
|
548
|
+
0x86, 0x1F, 0xC0, 0x0B, 0x0A, /* 0x01F86, 5 at 94 */
|
|
549
|
+
0x87, 0x1F, 0x60, 0x0C, 0x0A, /* 0x01F87, 5 at 99 */
|
|
550
|
+
0x88, 0x1F, 0x00, 0x08, 0x0A, /* 0x01F88, 5 at 64 */
|
|
551
|
+
0x89, 0x1F, 0xA0, 0x08, 0x0A, /* 0x01F89, 5 at 69 */
|
|
552
|
+
0x8A, 0x1F, 0x40, 0x09, 0x0A, /* 0x01F8A, 5 at 74 */
|
|
553
|
+
0x8B, 0x1F, 0xE0, 0x09, 0x0A, /* 0x01F8B, 5 at 79 */
|
|
554
|
+
0x8C, 0x1F, 0x80, 0x0A, 0x0A, /* 0x01F8C, 5 at 84 */
|
|
555
|
+
0x8D, 0x1F, 0x20, 0x0B, 0x0A, /* 0x01F8D, 5 at 89 */
|
|
556
|
+
0x8E, 0x1F, 0xC0, 0x0B, 0x0A, /* 0x01F8E, 5 at 94 */
|
|
557
|
+
0x8F, 0x1F, 0x60, 0x0C, 0x0A, /* 0x01F8F, 5 at 99 */
|
|
558
|
+
0x90, 0x1F, 0x00, 0x0D, 0x0A, /* 0x01F90, 5 at 104 */
|
|
559
|
+
0x91, 0x1F, 0xA0, 0x0D, 0x0A, /* 0x01F91, 5 at 109 */
|
|
560
|
+
0x92, 0x1F, 0x40, 0x0E, 0x0A, /* 0x01F92, 5 at 114 */
|
|
561
|
+
0x93, 0x1F, 0xE0, 0x0E, 0x0A, /* 0x01F93, 5 at 119 */
|
|
562
|
+
0x94, 0x1F, 0x80, 0x0F, 0x0A, /* 0x01F94, 5 at 124 */
|
|
563
|
+
0x95, 0x1F, 0x20, 0x10, 0x0A, /* 0x01F95, 5 at 129 */
|
|
564
|
+
0x96, 0x1F, 0xC0, 0x10, 0x0A, /* 0x01F96, 5 at 134 */
|
|
565
|
+
0x97, 0x1F, 0x60, 0x11, 0x0A, /* 0x01F97, 5 at 139 */
|
|
566
|
+
0x98, 0x1F, 0x00, 0x0D, 0x0A, /* 0x01F98, 5 at 104 */
|
|
567
|
+
0x99, 0x1F, 0xA0, 0x0D, 0x0A, /* 0x01F99, 5 at 109 */
|
|
568
|
+
0x9A, 0x1F, 0x40, 0x0E, 0x0A, /* 0x01F9A, 5 at 114 */
|
|
569
|
+
0x9B, 0x1F, 0xE0, 0x0E, 0x0A, /* 0x01F9B, 5 at 119 */
|
|
570
|
+
0x9C, 0x1F, 0x80, 0x0F, 0x0A, /* 0x01F9C, 5 at 124 */
|
|
571
|
+
0x9D, 0x1F, 0x20, 0x10, 0x0A, /* 0x01F9D, 5 at 129 */
|
|
572
|
+
0x9E, 0x1F, 0xC0, 0x10, 0x0A, /* 0x01F9E, 5 at 134 */
|
|
573
|
+
0x9F, 0x1F, 0x60, 0x11, 0x0A, /* 0x01F9F, 5 at 139 */
|
|
574
|
+
0xA0, 0x1F, 0x00, 0x12, 0x0A, /* 0x01FA0, 5 at 144 */
|
|
575
|
+
0xA1, 0x1F, 0xA0, 0x12, 0x0A, /* 0x01FA1, 5 at 149 */
|
|
576
|
+
0xA2, 0x1F, 0x40, 0x13, 0x0A, /* 0x01FA2, 5 at 154 */
|
|
577
|
+
0xA3, 0x1F, 0xE0, 0x13, 0x0A, /* 0x01FA3, 5 at 159 */
|
|
578
|
+
0xA4, 0x1F, 0x80, 0x14, 0x0A, /* 0x01FA4, 5 at 164 */
|
|
579
|
+
0xA5, 0x1F, 0x20, 0x15, 0x0A, /* 0x01FA5, 5 at 169 */
|
|
580
|
+
0xA6, 0x1F, 0xC0, 0x15, 0x0A, /* 0x01FA6, 5 at 174 */
|
|
581
|
+
0xA7, 0x1F, 0x60, 0x16, 0x0A, /* 0x01FA7, 5 at 179 */
|
|
582
|
+
0xA8, 0x1F, 0x00, 0x12, 0x0A, /* 0x01FA8, 5 at 144 */
|
|
583
|
+
0xA9, 0x1F, 0xA0, 0x12, 0x0A, /* 0x01FA9, 5 at 149 */
|
|
584
|
+
0xAA, 0x1F, 0x40, 0x13, 0x0A, /* 0x01FAA, 5 at 154 */
|
|
585
|
+
0xAB, 0x1F, 0xE0, 0x13, 0x0A, /* 0x01FAB, 5 at 159 */
|
|
586
|
+
0xAC, 0x1F, 0x80, 0x14, 0x0A, /* 0x01FAC, 5 at 164 */
|
|
587
|
+
0xAD, 0x1F, 0x20, 0x15, 0x0A, /* 0x01FAD, 5 at 169 */
|
|
588
|
+
0xAE, 0x1F, 0xC0, 0x15, 0x0A, /* 0x01FAE, 5 at 174 */
|
|
589
|
+
0xAF, 0x1F, 0x60, 0x16, 0x0A, /* 0x01FAF, 5 at 179 */
|
|
590
|
+
0xB2, 0x1F, 0x00, 0x17, 0x0A, /* 0x01FB2, 5 at 184 */
|
|
591
|
+
0xB3, 0x1F, 0xA0, 0x17, 0x08, /* 0x01FB3, 4 at 189 */
|
|
592
|
+
0xB4, 0x1F, 0x20, 0x18, 0x08, /* 0x01FB4, 4 at 193 */
|
|
593
|
+
0xB6, 0x1F, 0xA0, 0x18, 0x08, /* 0x01FB6, 4 at 197 */
|
|
594
|
+
0xB7, 0x1F, 0x20, 0x19, 0x0C, /* 0x01FB7, 6 at 201 */
|
|
595
|
+
0xBC, 0x1F, 0xA0, 0x17, 0x08, /* 0x01FBC, 4 at 189 */
|
|
596
|
+
0xC2, 0x1F, 0xE0, 0x19, 0x0A, /* 0x01FC2, 5 at 207 */
|
|
597
|
+
0xC3, 0x1F, 0x80, 0x1A, 0x08, /* 0x01FC3, 4 at 212 */
|
|
598
|
+
0xC4, 0x1F, 0x00, 0x1B, 0x08, /* 0x01FC4, 4 at 216 */
|
|
599
|
+
0xC6, 0x1F, 0x80, 0x1B, 0x08, /* 0x01FC6, 4 at 220 */
|
|
600
|
+
0xC7, 0x1F, 0x00, 0x1C, 0x0C, /* 0x01FC7, 6 at 224 */
|
|
601
|
+
0xCC, 0x1F, 0x80, 0x1A, 0x08, /* 0x01FCC, 4 at 212 */
|
|
602
|
+
0xD2, 0x1F, 0xC0, 0x1C, 0x0C, /* 0x01FD2, 6 at 230 */
|
|
603
|
+
0xD3, 0x1F, 0x60, 0x01, 0x0C, /* 0x01FD3, 6 at 11 */
|
|
604
|
+
0xD6, 0x1F, 0x80, 0x1D, 0x08, /* 0x01FD6, 4 at 236 */
|
|
605
|
+
0xD7, 0x1F, 0x00, 0x1E, 0x0C, /* 0x01FD7, 6 at 240 */
|
|
606
|
+
0xE2, 0x1F, 0xC0, 0x1E, 0x0C, /* 0x01FE2, 6 at 246 */
|
|
607
|
+
0xE3, 0x1F, 0x20, 0x02, 0x0C, /* 0x01FE3, 6 at 17 */
|
|
608
|
+
0xE4, 0x1F, 0x80, 0x1F, 0x08, /* 0x01FE4, 4 at 252 */
|
|
609
|
+
0xE6, 0x1F, 0x00, 0x20, 0x08, /* 0x01FE6, 4 at 256 */
|
|
610
|
+
0xE7, 0x1F, 0x80, 0x20, 0x0C, /* 0x01FE7, 6 at 260 */
|
|
611
|
+
0xF2, 0x1F, 0x40, 0x21, 0x0A, /* 0x01FF2, 5 at 266 */
|
|
612
|
+
0xF3, 0x1F, 0xE0, 0x21, 0x08, /* 0x01FF3, 4 at 271 */
|
|
613
|
+
0xF4, 0x1F, 0x60, 0x22, 0x08, /* 0x01FF4, 4 at 275 */
|
|
614
|
+
0xF6, 0x1F, 0xE0, 0x22, 0x08, /* 0x01FF6, 4 at 279 */
|
|
615
|
+
0xF7, 0x1F, 0x60, 0x23, 0x0C, /* 0x01FF7, 6 at 283 */
|
|
616
|
+
0xFC, 0x1F, 0xE0, 0x21, 0x08, /* 0x01FFC, 4 at 271 */
|
|
617
|
+
0x00, 0xFB, 0x20, 0x24, 0x04, /* 0x0FB00, 2 at 289 */
|
|
618
|
+
0x01, 0xFB, 0x60, 0x24, 0x04, /* 0x0FB01, 2 at 291 */
|
|
619
|
+
0x02, 0xFB, 0xA0, 0x24, 0x04, /* 0x0FB02, 2 at 293 */
|
|
620
|
+
0x03, 0xFB, 0xE0, 0x24, 0x06, /* 0x0FB03, 3 at 295 */
|
|
621
|
+
0x04, 0xFB, 0x40, 0x25, 0x06, /* 0x0FB04, 3 at 298 */
|
|
622
|
+
0x05, 0xFB, 0xA0, 0x25, 0x04, /* 0x0FB05, 2 at 301 */
|
|
623
|
+
0x06, 0xFB, 0xA0, 0x25, 0x04, /* 0x0FB06, 2 at 301 */
|
|
624
|
+
0x13, 0xFB, 0xE0, 0x25, 0x08, /* 0x0FB13, 4 at 303 */
|
|
625
|
+
0x14, 0xFB, 0x60, 0x26, 0x08, /* 0x0FB14, 4 at 307 */
|
|
626
|
+
0x15, 0xFB, 0xE0, 0x26, 0x08, /* 0x0FB15, 4 at 311 */
|
|
627
|
+
0x16, 0xFB, 0x60, 0x27, 0x08, /* 0x0FB16, 4 at 315 */
|
|
628
|
+
0x17, 0xFB, 0xE0, 0x27, 0x08, /* 0x0FB17, 4 at 319 */
|
|
629
|
+
};
|
|
630
|
+
#define UNI_UPPER_MULTI uni_upper_multi
|
|
631
|
+
#define UNI_UPPER_MULTI_COUNT (sizeof(uni_upper_multi) / UNI_CASE_MULTI_BYTES)
|
|
632
|
+
|
|
633
|
+
/* Lowest and highest source either table holds, so a lookup that
|
|
634
|
+
cannot hit anything costs one comparison. */
|
|
635
|
+
#define UNI_UPPER_MIN 0x000B5
|
|
636
|
+
#define UNI_UPPER_MAX 0x1E943
|
|
637
|
+
|
|
638
|
+
/* where title case differs from upper case: 158 sources in 28 runs, 23 multi. */
|
|
639
|
+
static const uint8_t uni_title_runs[] = {
|
|
640
|
+
0xC4, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x001C4 x1, +1 */
|
|
641
|
+
0xC5, 0x01, 0x20, 0x00, 0x00, 0x20, /* 0x001C5 x1, +0 */
|
|
642
|
+
0xC6, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001C6 x1, -1 */
|
|
643
|
+
0xC7, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x001C7 x1, +1 */
|
|
644
|
+
0xC8, 0x01, 0x20, 0x00, 0x00, 0x20, /* 0x001C8 x1, +0 */
|
|
645
|
+
0xC9, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001C9 x1, -1 */
|
|
646
|
+
0xCA, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x001CA x1, +1 */
|
|
647
|
+
0xCB, 0x01, 0x20, 0x00, 0x00, 0x20, /* 0x001CB x1, +0 */
|
|
648
|
+
0xCC, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001CC x1, -1 */
|
|
649
|
+
0xF1, 0x01, 0x20, 0x20, 0x00, 0x20, /* 0x001F1 x1, +1 */
|
|
650
|
+
0xF2, 0x01, 0x20, 0x00, 0x00, 0x20, /* 0x001F2 x1, +0 */
|
|
651
|
+
0xF3, 0x01, 0x20, 0xE0, 0xFF, 0x1F, /* 0x001F3 x1, -1 */
|
|
652
|
+
0xD0, 0x10, 0x60, 0x05, 0x00, 0x20, /* 0x010D0 x43, +0 */
|
|
653
|
+
0xFD, 0x10, 0x60, 0x00, 0x00, 0x20, /* 0x010FD x3, +0 */
|
|
654
|
+
0x90, 0x1C, 0x60, 0x05, 0x88, 0x1E, /* 0x01C90 x43, -3008 */
|
|
655
|
+
0xBD, 0x1C, 0x60, 0x00, 0x88, 0x1E, /* 0x01CBD x3, -3008 */
|
|
656
|
+
0x80, 0x1F, 0x00, 0x01, 0x01, 0x20, /* 0x01F80 x8, +8 */
|
|
657
|
+
0x88, 0x1F, 0x00, 0x01, 0x00, 0x20, /* 0x01F88 x8, +0 */
|
|
658
|
+
0x90, 0x1F, 0x00, 0x01, 0x01, 0x20, /* 0x01F90 x8, +8 */
|
|
659
|
+
0x98, 0x1F, 0x00, 0x01, 0x00, 0x20, /* 0x01F98 x8, +0 */
|
|
660
|
+
0xA0, 0x1F, 0x00, 0x01, 0x01, 0x20, /* 0x01FA0 x8, +8 */
|
|
661
|
+
0xA8, 0x1F, 0x00, 0x01, 0x00, 0x20, /* 0x01FA8 x8, +0 */
|
|
662
|
+
0xB3, 0x1F, 0x20, 0x20, 0x01, 0x20, /* 0x01FB3 x1, +9 */
|
|
663
|
+
0xBC, 0x1F, 0x20, 0x00, 0x00, 0x20, /* 0x01FBC x1, +0 */
|
|
664
|
+
0xC3, 0x1F, 0x20, 0x20, 0x01, 0x20, /* 0x01FC3 x1, +9 */
|
|
665
|
+
0xCC, 0x1F, 0x20, 0x00, 0x00, 0x20, /* 0x01FCC x1, +0 */
|
|
666
|
+
0xF3, 0x1F, 0x20, 0x20, 0x01, 0x20, /* 0x01FF3 x1, +9 */
|
|
667
|
+
0xFC, 0x1F, 0x20, 0x00, 0x00, 0x20, /* 0x01FFC x1, +0 */
|
|
668
|
+
};
|
|
669
|
+
#define UNI_TITLE_RUNS uni_title_runs
|
|
670
|
+
#define UNI_TITLE_RUN_COUNT (sizeof(uni_title_runs) / UNI_CASE_RUN_BYTES)
|
|
671
|
+
|
|
672
|
+
static const uint8_t uni_title_multi[] = {
|
|
673
|
+
0xDF, 0x00, 0x60, 0x28, 0x04, /* 0x000DF, 2 at 323 */
|
|
674
|
+
0x87, 0x05, 0xA0, 0x28, 0x08, /* 0x00587, 4 at 325 */
|
|
675
|
+
0xB2, 0x1F, 0x20, 0x29, 0x0A, /* 0x01FB2, 5 at 329 */
|
|
676
|
+
0xB4, 0x1F, 0xC0, 0x29, 0x08, /* 0x01FB4, 4 at 334 */
|
|
677
|
+
0xB7, 0x1F, 0x40, 0x2A, 0x0C, /* 0x01FB7, 6 at 338 */
|
|
678
|
+
0xC2, 0x1F, 0x00, 0x2B, 0x0A, /* 0x01FC2, 5 at 344 */
|
|
679
|
+
0xC4, 0x1F, 0xA0, 0x2B, 0x08, /* 0x01FC4, 4 at 349 */
|
|
680
|
+
0xC7, 0x1F, 0x20, 0x2C, 0x0C, /* 0x01FC7, 6 at 353 */
|
|
681
|
+
0xF2, 0x1F, 0xE0, 0x2C, 0x0A, /* 0x01FF2, 5 at 359 */
|
|
682
|
+
0xF4, 0x1F, 0x80, 0x2D, 0x08, /* 0x01FF4, 4 at 364 */
|
|
683
|
+
0xF7, 0x1F, 0x00, 0x2E, 0x0C, /* 0x01FF7, 6 at 368 */
|
|
684
|
+
0x00, 0xFB, 0xC0, 0x2E, 0x04, /* 0x0FB00, 2 at 374 */
|
|
685
|
+
0x01, 0xFB, 0x00, 0x2F, 0x04, /* 0x0FB01, 2 at 376 */
|
|
686
|
+
0x02, 0xFB, 0x40, 0x2F, 0x04, /* 0x0FB02, 2 at 378 */
|
|
687
|
+
0x03, 0xFB, 0x80, 0x2F, 0x06, /* 0x0FB03, 3 at 380 */
|
|
688
|
+
0x04, 0xFB, 0xE0, 0x2F, 0x06, /* 0x0FB04, 3 at 383 */
|
|
689
|
+
0x05, 0xFB, 0x40, 0x30, 0x04, /* 0x0FB05, 2 at 386 */
|
|
690
|
+
0x06, 0xFB, 0x40, 0x30, 0x04, /* 0x0FB06, 2 at 386 */
|
|
691
|
+
0x13, 0xFB, 0x80, 0x30, 0x08, /* 0x0FB13, 4 at 388 */
|
|
692
|
+
0x14, 0xFB, 0x00, 0x31, 0x08, /* 0x0FB14, 4 at 392 */
|
|
693
|
+
0x15, 0xFB, 0x80, 0x31, 0x08, /* 0x0FB15, 4 at 396 */
|
|
694
|
+
0x16, 0xFB, 0x00, 0x32, 0x08, /* 0x0FB16, 4 at 400 */
|
|
695
|
+
0x17, 0xFB, 0x80, 0x32, 0x08, /* 0x0FB17, 4 at 404 */
|
|
696
|
+
};
|
|
697
|
+
#define UNI_TITLE_MULTI uni_title_multi
|
|
698
|
+
#define UNI_TITLE_MULTI_COUNT (sizeof(uni_title_multi) / UNI_CASE_MULTI_BYTES)
|
|
699
|
+
|
|
700
|
+
/* Lowest and highest source either table holds, so a lookup that
|
|
701
|
+
cannot hit anything costs one comparison. */
|
|
702
|
+
#define UNI_TITLE_MIN 0x000DF
|
|
703
|
+
#define UNI_TITLE_MAX 0x0FB17
|
|
704
|
+
|
|
705
|
+
/* where swapping differs from the down-then-up rule: 0 sources in 0 runs, 31 multi. */
|
|
706
|
+
#define UNI_SWAP_RUNS NULL
|
|
707
|
+
#define UNI_SWAP_RUN_COUNT 0
|
|
708
|
+
|
|
709
|
+
static const uint8_t uni_swap_multi[] = {
|
|
710
|
+
0xC5, 0x01, 0x00, 0x33, 0x06, /* 0x001C5, 3 at 408 */
|
|
711
|
+
0xC8, 0x01, 0x60, 0x33, 0x04, /* 0x001C8, 2 at 411 */
|
|
712
|
+
0xCB, 0x01, 0xA0, 0x33, 0x04, /* 0x001CB, 2 at 413 */
|
|
713
|
+
0xF2, 0x01, 0xE0, 0x33, 0x04, /* 0x001F2, 2 at 415 */
|
|
714
|
+
0x88, 0x1F, 0x20, 0x34, 0x0A, /* 0x01F88, 5 at 417 */
|
|
715
|
+
0x89, 0x1F, 0xC0, 0x34, 0x0A, /* 0x01F89, 5 at 422 */
|
|
716
|
+
0x8A, 0x1F, 0x60, 0x35, 0x0A, /* 0x01F8A, 5 at 427 */
|
|
717
|
+
0x8B, 0x1F, 0x00, 0x36, 0x0A, /* 0x01F8B, 5 at 432 */
|
|
718
|
+
0x8C, 0x1F, 0xA0, 0x36, 0x0A, /* 0x01F8C, 5 at 437 */
|
|
719
|
+
0x8D, 0x1F, 0x40, 0x37, 0x0A, /* 0x01F8D, 5 at 442 */
|
|
720
|
+
0x8E, 0x1F, 0xE0, 0x37, 0x0A, /* 0x01F8E, 5 at 447 */
|
|
721
|
+
0x8F, 0x1F, 0x80, 0x38, 0x0A, /* 0x01F8F, 5 at 452 */
|
|
722
|
+
0x98, 0x1F, 0x20, 0x39, 0x0A, /* 0x01F98, 5 at 457 */
|
|
723
|
+
0x99, 0x1F, 0xC0, 0x39, 0x0A, /* 0x01F99, 5 at 462 */
|
|
724
|
+
0x9A, 0x1F, 0x60, 0x3A, 0x0A, /* 0x01F9A, 5 at 467 */
|
|
725
|
+
0x9B, 0x1F, 0x00, 0x3B, 0x0A, /* 0x01F9B, 5 at 472 */
|
|
726
|
+
0x9C, 0x1F, 0xA0, 0x3B, 0x0A, /* 0x01F9C, 5 at 477 */
|
|
727
|
+
0x9D, 0x1F, 0x40, 0x3C, 0x0A, /* 0x01F9D, 5 at 482 */
|
|
728
|
+
0x9E, 0x1F, 0xE0, 0x3C, 0x0A, /* 0x01F9E, 5 at 487 */
|
|
729
|
+
0x9F, 0x1F, 0x80, 0x3D, 0x0A, /* 0x01F9F, 5 at 492 */
|
|
730
|
+
0xA8, 0x1F, 0x20, 0x3E, 0x0A, /* 0x01FA8, 5 at 497 */
|
|
731
|
+
0xA9, 0x1F, 0xC0, 0x3E, 0x0A, /* 0x01FA9, 5 at 502 */
|
|
732
|
+
0xAA, 0x1F, 0x60, 0x3F, 0x0A, /* 0x01FAA, 5 at 507 */
|
|
733
|
+
0xAB, 0x1F, 0x00, 0x40, 0x0A, /* 0x01FAB, 5 at 512 */
|
|
734
|
+
0xAC, 0x1F, 0xA0, 0x40, 0x0A, /* 0x01FAC, 5 at 517 */
|
|
735
|
+
0xAD, 0x1F, 0x40, 0x41, 0x0A, /* 0x01FAD, 5 at 522 */
|
|
736
|
+
0xAE, 0x1F, 0xE0, 0x41, 0x0A, /* 0x01FAE, 5 at 527 */
|
|
737
|
+
0xAF, 0x1F, 0x80, 0x42, 0x0A, /* 0x01FAF, 5 at 532 */
|
|
738
|
+
0xBC, 0x1F, 0x20, 0x43, 0x08, /* 0x01FBC, 4 at 537 */
|
|
739
|
+
0xCC, 0x1F, 0xA0, 0x43, 0x08, /* 0x01FCC, 4 at 541 */
|
|
740
|
+
0xFC, 0x1F, 0x20, 0x44, 0x08, /* 0x01FFC, 4 at 545 */
|
|
741
|
+
};
|
|
742
|
+
#define UNI_SWAP_MULTI uni_swap_multi
|
|
743
|
+
#define UNI_SWAP_MULTI_COUNT (sizeof(uni_swap_multi) / UNI_CASE_MULTI_BYTES)
|
|
744
|
+
|
|
745
|
+
/* Lowest and highest source either table holds, so a lookup that
|
|
746
|
+
cannot hit anything costs one comparison. */
|
|
747
|
+
#define UNI_SWAP_MIN 0x001C5
|
|
748
|
+
#define UNI_SWAP_MAX 0x01FFC
|
|
749
|
+
|
|
750
|
+
/* where folding differs from the lowercase mapping: 194 sources in 24 runs, 103 multi. */
|
|
751
|
+
static const uint8_t uni_fold_runs[] = {
|
|
752
|
+
0xB5, 0x00, 0x20, 0xE0, 0x60, 0x20, /* 0x000B5 x1, +775 */
|
|
753
|
+
0x7F, 0x01, 0x20, 0x80, 0xDE, 0x1F, /* 0x0017F x1, -268 */
|
|
754
|
+
0x45, 0x03, 0x20, 0x80, 0x0E, 0x20, /* 0x00345 x1, +116 */
|
|
755
|
+
0xC2, 0x03, 0x20, 0x20, 0x00, 0x20, /* 0x003C2 x1, +1 */
|
|
756
|
+
0xD0, 0x03, 0x20, 0x40, 0xFC, 0x1F, /* 0x003D0 x1, -30 */
|
|
757
|
+
0xD1, 0x03, 0x20, 0xE0, 0xFC, 0x1F, /* 0x003D1 x1, -25 */
|
|
758
|
+
0xD5, 0x03, 0x20, 0x20, 0xFE, 0x1F, /* 0x003D5 x1, -15 */
|
|
759
|
+
0xD6, 0x03, 0x20, 0x40, 0xFD, 0x1F, /* 0x003D6 x1, -22 */
|
|
760
|
+
0xF0, 0x03, 0x20, 0x40, 0xF9, 0x1F, /* 0x003F0 x1, -54 */
|
|
761
|
+
0xF1, 0x03, 0x20, 0x00, 0xFA, 0x1F, /* 0x003F1 x1, -48 */
|
|
762
|
+
0xF5, 0x03, 0x20, 0x00, 0xF8, 0x1F, /* 0x003F5 x1, -64 */
|
|
763
|
+
0xA0, 0x13, 0xC0, 0x0A, 0x00, 0x20, /* 0x013A0 x86, +0 */
|
|
764
|
+
0xF8, 0x13, 0xC0, 0x00, 0xFF, 0x1F, /* 0x013F8 x6, -8 */
|
|
765
|
+
0x80, 0x1C, 0x20, 0x40, 0xF6, 0x1C, /* 0x01C80 x1, -6222 */
|
|
766
|
+
0x81, 0x1C, 0x20, 0x60, 0xF6, 0x1C, /* 0x01C81 x1, -6221 */
|
|
767
|
+
0x82, 0x1C, 0x20, 0x80, 0xF7, 0x1C, /* 0x01C82 x1, -6212 */
|
|
768
|
+
0x83, 0x1C, 0x40, 0xC0, 0xF7, 0x1C, /* 0x01C83 x2, -6210 */
|
|
769
|
+
0x85, 0x1C, 0x20, 0xA0, 0xF7, 0x1C, /* 0x01C85 x1, -6211 */
|
|
770
|
+
0x86, 0x1C, 0x20, 0x80, 0xF8, 0x1C, /* 0x01C86 x1, -6204 */
|
|
771
|
+
0x87, 0x1C, 0x20, 0x80, 0xFB, 0x1C, /* 0x01C87 x1, -6180 */
|
|
772
|
+
0x88, 0x1C, 0x20, 0x60, 0x38, 0x31, /* 0x01C88 x1, +35267 */
|
|
773
|
+
0x9B, 0x1E, 0x20, 0xC0, 0xF8, 0x1F, /* 0x01E9B x1, -58 */
|
|
774
|
+
0xBE, 0x1F, 0x20, 0x60, 0x7F, 0x1C, /* 0x01FBE x1, -7173 */
|
|
775
|
+
0x70, 0xAB, 0x00, 0x0A, 0x06, 0x0D, /* 0x0AB70 x80, -38864 */
|
|
776
|
+
};
|
|
777
|
+
#define UNI_FOLD_RUNS uni_fold_runs
|
|
778
|
+
#define UNI_FOLD_RUN_COUNT (sizeof(uni_fold_runs) / UNI_CASE_RUN_BYTES)
|
|
779
|
+
|
|
780
|
+
static const uint8_t uni_fold_multi[] = {
|
|
781
|
+
0xDF, 0x00, 0xA0, 0x44, 0x04, /* 0x000DF, 2 at 549 */
|
|
782
|
+
0x49, 0x01, 0xE0, 0x44, 0x06, /* 0x00149, 3 at 551 */
|
|
783
|
+
0xF0, 0x01, 0x40, 0x45, 0x06, /* 0x001F0, 3 at 554 */
|
|
784
|
+
0x90, 0x03, 0xA0, 0x45, 0x0C, /* 0x00390, 6 at 557 */
|
|
785
|
+
0xB0, 0x03, 0x60, 0x46, 0x0C, /* 0x003B0, 6 at 563 */
|
|
786
|
+
0x87, 0x05, 0x20, 0x47, 0x08, /* 0x00587, 4 at 569 */
|
|
787
|
+
0x96, 0x1E, 0xA0, 0x47, 0x06, /* 0x01E96, 3 at 573 */
|
|
788
|
+
0x97, 0x1E, 0x00, 0x48, 0x06, /* 0x01E97, 3 at 576 */
|
|
789
|
+
0x98, 0x1E, 0x60, 0x48, 0x06, /* 0x01E98, 3 at 579 */
|
|
790
|
+
0x99, 0x1E, 0xC0, 0x48, 0x06, /* 0x01E99, 3 at 582 */
|
|
791
|
+
0x9A, 0x1E, 0x20, 0x49, 0x06, /* 0x01E9A, 3 at 585 */
|
|
792
|
+
0x9E, 0x1E, 0xA0, 0x44, 0x04, /* 0x01E9E, 2 at 549 */
|
|
793
|
+
0x50, 0x1F, 0x80, 0x49, 0x08, /* 0x01F50, 4 at 588 */
|
|
794
|
+
0x52, 0x1F, 0x00, 0x4A, 0x0C, /* 0x01F52, 6 at 592 */
|
|
795
|
+
0x54, 0x1F, 0xC0, 0x4A, 0x0C, /* 0x01F54, 6 at 598 */
|
|
796
|
+
0x56, 0x1F, 0x80, 0x4B, 0x0C, /* 0x01F56, 6 at 604 */
|
|
797
|
+
0x80, 0x1F, 0x40, 0x4C, 0x0A, /* 0x01F80, 5 at 610 */
|
|
798
|
+
0x81, 0x1F, 0xE0, 0x4C, 0x0A, /* 0x01F81, 5 at 615 */
|
|
799
|
+
0x82, 0x1F, 0x80, 0x4D, 0x0A, /* 0x01F82, 5 at 620 */
|
|
800
|
+
0x83, 0x1F, 0x20, 0x4E, 0x0A, /* 0x01F83, 5 at 625 */
|
|
801
|
+
0x84, 0x1F, 0xC0, 0x4E, 0x0A, /* 0x01F84, 5 at 630 */
|
|
802
|
+
0x85, 0x1F, 0x60, 0x4F, 0x0A, /* 0x01F85, 5 at 635 */
|
|
803
|
+
0x86, 0x1F, 0x00, 0x50, 0x0A, /* 0x01F86, 5 at 640 */
|
|
804
|
+
0x87, 0x1F, 0xA0, 0x50, 0x0A, /* 0x01F87, 5 at 645 */
|
|
805
|
+
0x88, 0x1F, 0x40, 0x4C, 0x0A, /* 0x01F88, 5 at 610 */
|
|
806
|
+
0x89, 0x1F, 0xE0, 0x4C, 0x0A, /* 0x01F89, 5 at 615 */
|
|
807
|
+
0x8A, 0x1F, 0x80, 0x4D, 0x0A, /* 0x01F8A, 5 at 620 */
|
|
808
|
+
0x8B, 0x1F, 0x20, 0x4E, 0x0A, /* 0x01F8B, 5 at 625 */
|
|
809
|
+
0x8C, 0x1F, 0xC0, 0x4E, 0x0A, /* 0x01F8C, 5 at 630 */
|
|
810
|
+
0x8D, 0x1F, 0x60, 0x4F, 0x0A, /* 0x01F8D, 5 at 635 */
|
|
811
|
+
0x8E, 0x1F, 0x00, 0x50, 0x0A, /* 0x01F8E, 5 at 640 */
|
|
812
|
+
0x8F, 0x1F, 0xA0, 0x50, 0x0A, /* 0x01F8F, 5 at 645 */
|
|
813
|
+
0x90, 0x1F, 0x40, 0x51, 0x0A, /* 0x01F90, 5 at 650 */
|
|
814
|
+
0x91, 0x1F, 0xE0, 0x51, 0x0A, /* 0x01F91, 5 at 655 */
|
|
815
|
+
0x92, 0x1F, 0x80, 0x52, 0x0A, /* 0x01F92, 5 at 660 */
|
|
816
|
+
0x93, 0x1F, 0x20, 0x53, 0x0A, /* 0x01F93, 5 at 665 */
|
|
817
|
+
0x94, 0x1F, 0xC0, 0x53, 0x0A, /* 0x01F94, 5 at 670 */
|
|
818
|
+
0x95, 0x1F, 0x60, 0x54, 0x0A, /* 0x01F95, 5 at 675 */
|
|
819
|
+
0x96, 0x1F, 0x00, 0x55, 0x0A, /* 0x01F96, 5 at 680 */
|
|
820
|
+
0x97, 0x1F, 0xA0, 0x55, 0x0A, /* 0x01F97, 5 at 685 */
|
|
821
|
+
0x98, 0x1F, 0x40, 0x51, 0x0A, /* 0x01F98, 5 at 650 */
|
|
822
|
+
0x99, 0x1F, 0xE0, 0x51, 0x0A, /* 0x01F99, 5 at 655 */
|
|
823
|
+
0x9A, 0x1F, 0x80, 0x52, 0x0A, /* 0x01F9A, 5 at 660 */
|
|
824
|
+
0x9B, 0x1F, 0x20, 0x53, 0x0A, /* 0x01F9B, 5 at 665 */
|
|
825
|
+
0x9C, 0x1F, 0xC0, 0x53, 0x0A, /* 0x01F9C, 5 at 670 */
|
|
826
|
+
0x9D, 0x1F, 0x60, 0x54, 0x0A, /* 0x01F9D, 5 at 675 */
|
|
827
|
+
0x9E, 0x1F, 0x00, 0x55, 0x0A, /* 0x01F9E, 5 at 680 */
|
|
828
|
+
0x9F, 0x1F, 0xA0, 0x55, 0x0A, /* 0x01F9F, 5 at 685 */
|
|
829
|
+
0xA0, 0x1F, 0x40, 0x56, 0x0A, /* 0x01FA0, 5 at 690 */
|
|
830
|
+
0xA1, 0x1F, 0xE0, 0x56, 0x0A, /* 0x01FA1, 5 at 695 */
|
|
831
|
+
0xA2, 0x1F, 0x80, 0x57, 0x0A, /* 0x01FA2, 5 at 700 */
|
|
832
|
+
0xA3, 0x1F, 0x20, 0x58, 0x0A, /* 0x01FA3, 5 at 705 */
|
|
833
|
+
0xA4, 0x1F, 0xC0, 0x58, 0x0A, /* 0x01FA4, 5 at 710 */
|
|
834
|
+
0xA5, 0x1F, 0x60, 0x59, 0x0A, /* 0x01FA5, 5 at 715 */
|
|
835
|
+
0xA6, 0x1F, 0x00, 0x5A, 0x0A, /* 0x01FA6, 5 at 720 */
|
|
836
|
+
0xA7, 0x1F, 0xA0, 0x5A, 0x0A, /* 0x01FA7, 5 at 725 */
|
|
837
|
+
0xA8, 0x1F, 0x40, 0x56, 0x0A, /* 0x01FA8, 5 at 690 */
|
|
838
|
+
0xA9, 0x1F, 0xE0, 0x56, 0x0A, /* 0x01FA9, 5 at 695 */
|
|
839
|
+
0xAA, 0x1F, 0x80, 0x57, 0x0A, /* 0x01FAA, 5 at 700 */
|
|
840
|
+
0xAB, 0x1F, 0x20, 0x58, 0x0A, /* 0x01FAB, 5 at 705 */
|
|
841
|
+
0xAC, 0x1F, 0xC0, 0x58, 0x0A, /* 0x01FAC, 5 at 710 */
|
|
842
|
+
0xAD, 0x1F, 0x60, 0x59, 0x0A, /* 0x01FAD, 5 at 715 */
|
|
843
|
+
0xAE, 0x1F, 0x00, 0x5A, 0x0A, /* 0x01FAE, 5 at 720 */
|
|
844
|
+
0xAF, 0x1F, 0xA0, 0x5A, 0x0A, /* 0x01FAF, 5 at 725 */
|
|
845
|
+
0xB2, 0x1F, 0x40, 0x5B, 0x0A, /* 0x01FB2, 5 at 730 */
|
|
846
|
+
0xB3, 0x1F, 0xE0, 0x5B, 0x08, /* 0x01FB3, 4 at 735 */
|
|
847
|
+
0xB4, 0x1F, 0x60, 0x5C, 0x08, /* 0x01FB4, 4 at 739 */
|
|
848
|
+
0xB6, 0x1F, 0xE0, 0x5C, 0x08, /* 0x01FB6, 4 at 743 */
|
|
849
|
+
0xB7, 0x1F, 0x60, 0x5D, 0x0C, /* 0x01FB7, 6 at 747 */
|
|
850
|
+
0xBC, 0x1F, 0xE0, 0x5B, 0x08, /* 0x01FBC, 4 at 735 */
|
|
851
|
+
0xC2, 0x1F, 0x20, 0x5E, 0x0A, /* 0x01FC2, 5 at 753 */
|
|
852
|
+
0xC3, 0x1F, 0xC0, 0x5E, 0x08, /* 0x01FC3, 4 at 758 */
|
|
853
|
+
0xC4, 0x1F, 0x40, 0x5F, 0x08, /* 0x01FC4, 4 at 762 */
|
|
854
|
+
0xC6, 0x1F, 0xC0, 0x5F, 0x08, /* 0x01FC6, 4 at 766 */
|
|
855
|
+
0xC7, 0x1F, 0x40, 0x60, 0x0C, /* 0x01FC7, 6 at 770 */
|
|
856
|
+
0xCC, 0x1F, 0xC0, 0x5E, 0x08, /* 0x01FCC, 4 at 758 */
|
|
857
|
+
0xD2, 0x1F, 0x00, 0x61, 0x0C, /* 0x01FD2, 6 at 776 */
|
|
858
|
+
0xD3, 0x1F, 0xA0, 0x45, 0x0C, /* 0x01FD3, 6 at 557 */
|
|
859
|
+
0xD6, 0x1F, 0xC0, 0x61, 0x08, /* 0x01FD6, 4 at 782 */
|
|
860
|
+
0xD7, 0x1F, 0x40, 0x62, 0x0C, /* 0x01FD7, 6 at 786 */
|
|
861
|
+
0xE2, 0x1F, 0x00, 0x63, 0x0C, /* 0x01FE2, 6 at 792 */
|
|
862
|
+
0xE3, 0x1F, 0x60, 0x46, 0x0C, /* 0x01FE3, 6 at 563 */
|
|
863
|
+
0xE4, 0x1F, 0xC0, 0x63, 0x08, /* 0x01FE4, 4 at 798 */
|
|
864
|
+
0xE6, 0x1F, 0x40, 0x64, 0x08, /* 0x01FE6, 4 at 802 */
|
|
865
|
+
0xE7, 0x1F, 0xC0, 0x64, 0x0C, /* 0x01FE7, 6 at 806 */
|
|
866
|
+
0xF2, 0x1F, 0x80, 0x65, 0x0A, /* 0x01FF2, 5 at 812 */
|
|
867
|
+
0xF3, 0x1F, 0x20, 0x66, 0x08, /* 0x01FF3, 4 at 817 */
|
|
868
|
+
0xF4, 0x1F, 0xA0, 0x66, 0x08, /* 0x01FF4, 4 at 821 */
|
|
869
|
+
0xF6, 0x1F, 0x20, 0x67, 0x08, /* 0x01FF6, 4 at 825 */
|
|
870
|
+
0xF7, 0x1F, 0xA0, 0x67, 0x0C, /* 0x01FF7, 6 at 829 */
|
|
871
|
+
0xFC, 0x1F, 0x20, 0x66, 0x08, /* 0x01FFC, 4 at 817 */
|
|
872
|
+
0x00, 0xFB, 0x60, 0x68, 0x04, /* 0x0FB00, 2 at 835 */
|
|
873
|
+
0x01, 0xFB, 0xA0, 0x68, 0x04, /* 0x0FB01, 2 at 837 */
|
|
874
|
+
0x02, 0xFB, 0xE0, 0x68, 0x04, /* 0x0FB02, 2 at 839 */
|
|
875
|
+
0x03, 0xFB, 0x20, 0x69, 0x06, /* 0x0FB03, 3 at 841 */
|
|
876
|
+
0x04, 0xFB, 0x80, 0x69, 0x06, /* 0x0FB04, 3 at 844 */
|
|
877
|
+
0x05, 0xFB, 0xE0, 0x69, 0x04, /* 0x0FB05, 2 at 847 */
|
|
878
|
+
0x06, 0xFB, 0xE0, 0x69, 0x04, /* 0x0FB06, 2 at 847 */
|
|
879
|
+
0x13, 0xFB, 0x20, 0x6A, 0x08, /* 0x0FB13, 4 at 849 */
|
|
880
|
+
0x14, 0xFB, 0xA0, 0x6A, 0x08, /* 0x0FB14, 4 at 853 */
|
|
881
|
+
0x15, 0xFB, 0x20, 0x6B, 0x08, /* 0x0FB15, 4 at 857 */
|
|
882
|
+
0x16, 0xFB, 0xA0, 0x6B, 0x08, /* 0x0FB16, 4 at 861 */
|
|
883
|
+
0x17, 0xFB, 0x20, 0x6C, 0x08, /* 0x0FB17, 4 at 865 */
|
|
884
|
+
};
|
|
885
|
+
#define UNI_FOLD_MULTI uni_fold_multi
|
|
886
|
+
#define UNI_FOLD_MULTI_COUNT (sizeof(uni_fold_multi) / UNI_CASE_MULTI_BYTES)
|
|
887
|
+
|
|
888
|
+
/* Lowest and highest source either table holds, so a lookup that
|
|
889
|
+
cannot hit anything costs one comparison. */
|
|
890
|
+
#define UNI_FOLD_MIN 0x000B5
|
|
891
|
+
#define UNI_FOLD_MAX 0x0FB17
|
|
892
|
+
|
|
893
|
+
/* The sources above ASCII whose simple folding is an ASCII character, as
|
|
894
|
+
a list the caller expands with an X of its own. ASCII itself is in no
|
|
895
|
+
table, so unfolding an ASCII character is these and the ASCII rules,
|
|
896
|
+
and no table is read at all. */
|
|
897
|
+
#define UNI_FOLD_TO_ASCII \
|
|
898
|
+
X(0x0017F, 0x00073) /* to 's' */ \
|
|
899
|
+
X(0x0212A, 0x0006B) /* to 'k' */
|
|
900
|
+
|
|
901
|
+
#endif /* MRB_UNICASE_H */
|