]>
Commit | Line | Data |
---|---|---|
6fe7ccc8 A |
1 | /* |
2 | * Copyright (C) 2012 Apple Inc. All rights reserved. | |
3 | * | |
4 | * Redistribution and use in source and binary forms, with or without | |
5 | * modification, are permitted provided that the following conditions | |
6 | * are met: | |
7 | * 1. Redistributions of source code must retain the above copyright | |
8 | * notice, this list of conditions and the following disclaimer. | |
9 | * 2. Redistributions in binary form must reproduce the above copyright | |
10 | * notice, this list of conditions and the following disclaimer in the | |
11 | * documentation and/or other materials provided with the distribution. | |
12 | * | |
13 | * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY | |
14 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
15 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
16 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR | |
17 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
18 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
19 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | |
20 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | |
21 | * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
23 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
24 | */ | |
25 | ||
26 | // DO NOT EDIT! - this file autogenerated by YarrCanonicalizeUCS2.js | |
27 | ||
28 | #include "config.h" | |
29 | #include "YarrCanonicalizeUCS2.h" | |
30 | ||
31 | namespace JSC { namespace Yarr { | |
32 | ||
33 | #include <stdint.h> | |
34 | ||
35 | uint16_t ucs2CharacterSet0[] = { 0x01c4u, 0x01c5u, 0x01c6u, 0 }; | |
36 | uint16_t ucs2CharacterSet1[] = { 0x01c7u, 0x01c8u, 0x01c9u, 0 }; | |
37 | uint16_t ucs2CharacterSet2[] = { 0x01cau, 0x01cbu, 0x01ccu, 0 }; | |
38 | uint16_t ucs2CharacterSet3[] = { 0x01f1u, 0x01f2u, 0x01f3u, 0 }; | |
39 | uint16_t ucs2CharacterSet4[] = { 0x0392u, 0x03b2u, 0x03d0u, 0 }; | |
40 | uint16_t ucs2CharacterSet5[] = { 0x0395u, 0x03b5u, 0x03f5u, 0 }; | |
41 | uint16_t ucs2CharacterSet6[] = { 0x0398u, 0x03b8u, 0x03d1u, 0 }; | |
42 | uint16_t ucs2CharacterSet7[] = { 0x0345u, 0x0399u, 0x03b9u, 0x1fbeu, 0 }; | |
43 | uint16_t ucs2CharacterSet8[] = { 0x039au, 0x03bau, 0x03f0u, 0 }; | |
44 | uint16_t ucs2CharacterSet9[] = { 0x00b5u, 0x039cu, 0x03bcu, 0 }; | |
45 | uint16_t ucs2CharacterSet10[] = { 0x03a0u, 0x03c0u, 0x03d6u, 0 }; | |
46 | uint16_t ucs2CharacterSet11[] = { 0x03a1u, 0x03c1u, 0x03f1u, 0 }; | |
47 | uint16_t ucs2CharacterSet12[] = { 0x03a3u, 0x03c2u, 0x03c3u, 0 }; | |
48 | uint16_t ucs2CharacterSet13[] = { 0x03a6u, 0x03c6u, 0x03d5u, 0 }; | |
49 | uint16_t ucs2CharacterSet14[] = { 0x1e60u, 0x1e61u, 0x1e9bu, 0 }; | |
50 | ||
51 | static const size_t UCS2_CANONICALIZATION_SETS = 15; | |
52 | uint16_t* characterSetInfo[UCS2_CANONICALIZATION_SETS] = { | |
53 | ucs2CharacterSet0, | |
54 | ucs2CharacterSet1, | |
55 | ucs2CharacterSet2, | |
56 | ucs2CharacterSet3, | |
57 | ucs2CharacterSet4, | |
58 | ucs2CharacterSet5, | |
59 | ucs2CharacterSet6, | |
60 | ucs2CharacterSet7, | |
61 | ucs2CharacterSet8, | |
62 | ucs2CharacterSet9, | |
63 | ucs2CharacterSet10, | |
64 | ucs2CharacterSet11, | |
65 | ucs2CharacterSet12, | |
66 | ucs2CharacterSet13, | |
67 | ucs2CharacterSet14, | |
68 | }; | |
69 | ||
70 | const size_t UCS2_CANONICALIZATION_RANGES = 364; | |
71 | UCS2CanonicalizationRange rangeInfo[UCS2_CANONICALIZATION_RANGES] = { | |
72 | { 0x0000u, 0x0040u, 0x0000u, CanonicalizeUnique }, | |
73 | { 0x0041u, 0x005au, 0x0020u, CanonicalizeRangeLo }, | |
74 | { 0x005bu, 0x0060u, 0x0000u, CanonicalizeUnique }, | |
75 | { 0x0061u, 0x007au, 0x0020u, CanonicalizeRangeHi }, | |
76 | { 0x007bu, 0x00b4u, 0x0000u, CanonicalizeUnique }, | |
77 | { 0x00b5u, 0x00b5u, 0x0009u, CanonicalizeSet }, | |
78 | { 0x00b6u, 0x00bfu, 0x0000u, CanonicalizeUnique }, | |
79 | { 0x00c0u, 0x00d6u, 0x0020u, CanonicalizeRangeLo }, | |
80 | { 0x00d7u, 0x00d7u, 0x0000u, CanonicalizeUnique }, | |
81 | { 0x00d8u, 0x00deu, 0x0020u, CanonicalizeRangeLo }, | |
82 | { 0x00dfu, 0x00dfu, 0x0000u, CanonicalizeUnique }, | |
83 | { 0x00e0u, 0x00f6u, 0x0020u, CanonicalizeRangeHi }, | |
84 | { 0x00f7u, 0x00f7u, 0x0000u, CanonicalizeUnique }, | |
85 | { 0x00f8u, 0x00feu, 0x0020u, CanonicalizeRangeHi }, | |
86 | { 0x00ffu, 0x00ffu, 0x0079u, CanonicalizeRangeLo }, | |
87 | { 0x0100u, 0x012fu, 0x0000u, CanonicalizeAlternatingAligned }, | |
88 | { 0x0130u, 0x0131u, 0x0000u, CanonicalizeUnique }, | |
89 | { 0x0132u, 0x0137u, 0x0000u, CanonicalizeAlternatingAligned }, | |
90 | { 0x0138u, 0x0138u, 0x0000u, CanonicalizeUnique }, | |
91 | { 0x0139u, 0x0148u, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
92 | { 0x0149u, 0x0149u, 0x0000u, CanonicalizeUnique }, | |
93 | { 0x014au, 0x0177u, 0x0000u, CanonicalizeAlternatingAligned }, | |
94 | { 0x0178u, 0x0178u, 0x0079u, CanonicalizeRangeHi }, | |
95 | { 0x0179u, 0x017eu, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
96 | { 0x017fu, 0x017fu, 0x0000u, CanonicalizeUnique }, | |
97 | { 0x0180u, 0x0180u, 0x00c3u, CanonicalizeRangeLo }, | |
98 | { 0x0181u, 0x0181u, 0x00d2u, CanonicalizeRangeLo }, | |
99 | { 0x0182u, 0x0185u, 0x0000u, CanonicalizeAlternatingAligned }, | |
100 | { 0x0186u, 0x0186u, 0x00ceu, CanonicalizeRangeLo }, | |
101 | { 0x0187u, 0x0188u, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
102 | { 0x0189u, 0x018au, 0x00cdu, CanonicalizeRangeLo }, | |
103 | { 0x018bu, 0x018cu, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
104 | { 0x018du, 0x018du, 0x0000u, CanonicalizeUnique }, | |
105 | { 0x018eu, 0x018eu, 0x004fu, CanonicalizeRangeLo }, | |
106 | { 0x018fu, 0x018fu, 0x00cau, CanonicalizeRangeLo }, | |
107 | { 0x0190u, 0x0190u, 0x00cbu, CanonicalizeRangeLo }, | |
108 | { 0x0191u, 0x0192u, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
109 | { 0x0193u, 0x0193u, 0x00cdu, CanonicalizeRangeLo }, | |
110 | { 0x0194u, 0x0194u, 0x00cfu, CanonicalizeRangeLo }, | |
111 | { 0x0195u, 0x0195u, 0x0061u, CanonicalizeRangeLo }, | |
112 | { 0x0196u, 0x0196u, 0x00d3u, CanonicalizeRangeLo }, | |
113 | { 0x0197u, 0x0197u, 0x00d1u, CanonicalizeRangeLo }, | |
114 | { 0x0198u, 0x0199u, 0x0000u, CanonicalizeAlternatingAligned }, | |
115 | { 0x019au, 0x019au, 0x00a3u, CanonicalizeRangeLo }, | |
116 | { 0x019bu, 0x019bu, 0x0000u, CanonicalizeUnique }, | |
117 | { 0x019cu, 0x019cu, 0x00d3u, CanonicalizeRangeLo }, | |
118 | { 0x019du, 0x019du, 0x00d5u, CanonicalizeRangeLo }, | |
119 | { 0x019eu, 0x019eu, 0x0082u, CanonicalizeRangeLo }, | |
120 | { 0x019fu, 0x019fu, 0x00d6u, CanonicalizeRangeLo }, | |
121 | { 0x01a0u, 0x01a5u, 0x0000u, CanonicalizeAlternatingAligned }, | |
122 | { 0x01a6u, 0x01a6u, 0x00dau, CanonicalizeRangeLo }, | |
123 | { 0x01a7u, 0x01a8u, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
124 | { 0x01a9u, 0x01a9u, 0x00dau, CanonicalizeRangeLo }, | |
125 | { 0x01aau, 0x01abu, 0x0000u, CanonicalizeUnique }, | |
126 | { 0x01acu, 0x01adu, 0x0000u, CanonicalizeAlternatingAligned }, | |
127 | { 0x01aeu, 0x01aeu, 0x00dau, CanonicalizeRangeLo }, | |
128 | { 0x01afu, 0x01b0u, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
129 | { 0x01b1u, 0x01b2u, 0x00d9u, CanonicalizeRangeLo }, | |
130 | { 0x01b3u, 0x01b6u, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
131 | { 0x01b7u, 0x01b7u, 0x00dbu, CanonicalizeRangeLo }, | |
132 | { 0x01b8u, 0x01b9u, 0x0000u, CanonicalizeAlternatingAligned }, | |
133 | { 0x01bau, 0x01bbu, 0x0000u, CanonicalizeUnique }, | |
134 | { 0x01bcu, 0x01bdu, 0x0000u, CanonicalizeAlternatingAligned }, | |
135 | { 0x01beu, 0x01beu, 0x0000u, CanonicalizeUnique }, | |
136 | { 0x01bfu, 0x01bfu, 0x0038u, CanonicalizeRangeLo }, | |
137 | { 0x01c0u, 0x01c3u, 0x0000u, CanonicalizeUnique }, | |
138 | { 0x01c4u, 0x01c6u, 0x0000u, CanonicalizeSet }, | |
139 | { 0x01c7u, 0x01c9u, 0x0001u, CanonicalizeSet }, | |
140 | { 0x01cau, 0x01ccu, 0x0002u, CanonicalizeSet }, | |
141 | { 0x01cdu, 0x01dcu, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
142 | { 0x01ddu, 0x01ddu, 0x004fu, CanonicalizeRangeHi }, | |
143 | { 0x01deu, 0x01efu, 0x0000u, CanonicalizeAlternatingAligned }, | |
144 | { 0x01f0u, 0x01f0u, 0x0000u, CanonicalizeUnique }, | |
145 | { 0x01f1u, 0x01f3u, 0x0003u, CanonicalizeSet }, | |
146 | { 0x01f4u, 0x01f5u, 0x0000u, CanonicalizeAlternatingAligned }, | |
147 | { 0x01f6u, 0x01f6u, 0x0061u, CanonicalizeRangeHi }, | |
148 | { 0x01f7u, 0x01f7u, 0x0038u, CanonicalizeRangeHi }, | |
149 | { 0x01f8u, 0x021fu, 0x0000u, CanonicalizeAlternatingAligned }, | |
150 | { 0x0220u, 0x0220u, 0x0082u, CanonicalizeRangeHi }, | |
151 | { 0x0221u, 0x0221u, 0x0000u, CanonicalizeUnique }, | |
152 | { 0x0222u, 0x0233u, 0x0000u, CanonicalizeAlternatingAligned }, | |
153 | { 0x0234u, 0x0239u, 0x0000u, CanonicalizeUnique }, | |
154 | { 0x023au, 0x023au, 0x2a2bu, CanonicalizeRangeLo }, | |
155 | { 0x023bu, 0x023cu, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
156 | { 0x023du, 0x023du, 0x00a3u, CanonicalizeRangeHi }, | |
157 | { 0x023eu, 0x023eu, 0x2a28u, CanonicalizeRangeLo }, | |
158 | { 0x023fu, 0x0240u, 0x2a3fu, CanonicalizeRangeLo }, | |
159 | { 0x0241u, 0x0242u, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
160 | { 0x0243u, 0x0243u, 0x00c3u, CanonicalizeRangeHi }, | |
161 | { 0x0244u, 0x0244u, 0x0045u, CanonicalizeRangeLo }, | |
162 | { 0x0245u, 0x0245u, 0x0047u, CanonicalizeRangeLo }, | |
163 | { 0x0246u, 0x024fu, 0x0000u, CanonicalizeAlternatingAligned }, | |
164 | { 0x0250u, 0x0250u, 0x2a1fu, CanonicalizeRangeLo }, | |
165 | { 0x0251u, 0x0251u, 0x2a1cu, CanonicalizeRangeLo }, | |
166 | { 0x0252u, 0x0252u, 0x2a1eu, CanonicalizeRangeLo }, | |
167 | { 0x0253u, 0x0253u, 0x00d2u, CanonicalizeRangeHi }, | |
168 | { 0x0254u, 0x0254u, 0x00ceu, CanonicalizeRangeHi }, | |
169 | { 0x0255u, 0x0255u, 0x0000u, CanonicalizeUnique }, | |
170 | { 0x0256u, 0x0257u, 0x00cdu, CanonicalizeRangeHi }, | |
171 | { 0x0258u, 0x0258u, 0x0000u, CanonicalizeUnique }, | |
172 | { 0x0259u, 0x0259u, 0x00cau, CanonicalizeRangeHi }, | |
173 | { 0x025au, 0x025au, 0x0000u, CanonicalizeUnique }, | |
174 | { 0x025bu, 0x025bu, 0x00cbu, CanonicalizeRangeHi }, | |
175 | { 0x025cu, 0x025fu, 0x0000u, CanonicalizeUnique }, | |
176 | { 0x0260u, 0x0260u, 0x00cdu, CanonicalizeRangeHi }, | |
177 | { 0x0261u, 0x0262u, 0x0000u, CanonicalizeUnique }, | |
178 | { 0x0263u, 0x0263u, 0x00cfu, CanonicalizeRangeHi }, | |
179 | { 0x0264u, 0x0264u, 0x0000u, CanonicalizeUnique }, | |
180 | { 0x0265u, 0x0265u, 0xa528u, CanonicalizeRangeLo }, | |
181 | { 0x0266u, 0x0267u, 0x0000u, CanonicalizeUnique }, | |
182 | { 0x0268u, 0x0268u, 0x00d1u, CanonicalizeRangeHi }, | |
183 | { 0x0269u, 0x0269u, 0x00d3u, CanonicalizeRangeHi }, | |
184 | { 0x026au, 0x026au, 0x0000u, CanonicalizeUnique }, | |
185 | { 0x026bu, 0x026bu, 0x29f7u, CanonicalizeRangeLo }, | |
186 | { 0x026cu, 0x026eu, 0x0000u, CanonicalizeUnique }, | |
187 | { 0x026fu, 0x026fu, 0x00d3u, CanonicalizeRangeHi }, | |
188 | { 0x0270u, 0x0270u, 0x0000u, CanonicalizeUnique }, | |
189 | { 0x0271u, 0x0271u, 0x29fdu, CanonicalizeRangeLo }, | |
190 | { 0x0272u, 0x0272u, 0x00d5u, CanonicalizeRangeHi }, | |
191 | { 0x0273u, 0x0274u, 0x0000u, CanonicalizeUnique }, | |
192 | { 0x0275u, 0x0275u, 0x00d6u, CanonicalizeRangeHi }, | |
193 | { 0x0276u, 0x027cu, 0x0000u, CanonicalizeUnique }, | |
194 | { 0x027du, 0x027du, 0x29e7u, CanonicalizeRangeLo }, | |
195 | { 0x027eu, 0x027fu, 0x0000u, CanonicalizeUnique }, | |
196 | { 0x0280u, 0x0280u, 0x00dau, CanonicalizeRangeHi }, | |
197 | { 0x0281u, 0x0282u, 0x0000u, CanonicalizeUnique }, | |
198 | { 0x0283u, 0x0283u, 0x00dau, CanonicalizeRangeHi }, | |
199 | { 0x0284u, 0x0287u, 0x0000u, CanonicalizeUnique }, | |
200 | { 0x0288u, 0x0288u, 0x00dau, CanonicalizeRangeHi }, | |
201 | { 0x0289u, 0x0289u, 0x0045u, CanonicalizeRangeHi }, | |
202 | { 0x028au, 0x028bu, 0x00d9u, CanonicalizeRangeHi }, | |
203 | { 0x028cu, 0x028cu, 0x0047u, CanonicalizeRangeHi }, | |
204 | { 0x028du, 0x0291u, 0x0000u, CanonicalizeUnique }, | |
205 | { 0x0292u, 0x0292u, 0x00dbu, CanonicalizeRangeHi }, | |
206 | { 0x0293u, 0x0344u, 0x0000u, CanonicalizeUnique }, | |
207 | { 0x0345u, 0x0345u, 0x0007u, CanonicalizeSet }, | |
208 | { 0x0346u, 0x036fu, 0x0000u, CanonicalizeUnique }, | |
209 | { 0x0370u, 0x0373u, 0x0000u, CanonicalizeAlternatingAligned }, | |
210 | { 0x0374u, 0x0375u, 0x0000u, CanonicalizeUnique }, | |
211 | { 0x0376u, 0x0377u, 0x0000u, CanonicalizeAlternatingAligned }, | |
212 | { 0x0378u, 0x037au, 0x0000u, CanonicalizeUnique }, | |
213 | { 0x037bu, 0x037du, 0x0082u, CanonicalizeRangeLo }, | |
214 | { 0x037eu, 0x0385u, 0x0000u, CanonicalizeUnique }, | |
215 | { 0x0386u, 0x0386u, 0x0026u, CanonicalizeRangeLo }, | |
216 | { 0x0387u, 0x0387u, 0x0000u, CanonicalizeUnique }, | |
217 | { 0x0388u, 0x038au, 0x0025u, CanonicalizeRangeLo }, | |
218 | { 0x038bu, 0x038bu, 0x0000u, CanonicalizeUnique }, | |
219 | { 0x038cu, 0x038cu, 0x0040u, CanonicalizeRangeLo }, | |
220 | { 0x038du, 0x038du, 0x0000u, CanonicalizeUnique }, | |
221 | { 0x038eu, 0x038fu, 0x003fu, CanonicalizeRangeLo }, | |
222 | { 0x0390u, 0x0390u, 0x0000u, CanonicalizeUnique }, | |
223 | { 0x0391u, 0x0391u, 0x0020u, CanonicalizeRangeLo }, | |
224 | { 0x0392u, 0x0392u, 0x0004u, CanonicalizeSet }, | |
225 | { 0x0393u, 0x0394u, 0x0020u, CanonicalizeRangeLo }, | |
226 | { 0x0395u, 0x0395u, 0x0005u, CanonicalizeSet }, | |
227 | { 0x0396u, 0x0397u, 0x0020u, CanonicalizeRangeLo }, | |
228 | { 0x0398u, 0x0398u, 0x0006u, CanonicalizeSet }, | |
229 | { 0x0399u, 0x0399u, 0x0007u, CanonicalizeSet }, | |
230 | { 0x039au, 0x039au, 0x0008u, CanonicalizeSet }, | |
231 | { 0x039bu, 0x039bu, 0x0020u, CanonicalizeRangeLo }, | |
232 | { 0x039cu, 0x039cu, 0x0009u, CanonicalizeSet }, | |
233 | { 0x039du, 0x039fu, 0x0020u, CanonicalizeRangeLo }, | |
234 | { 0x03a0u, 0x03a0u, 0x000au, CanonicalizeSet }, | |
235 | { 0x03a1u, 0x03a1u, 0x000bu, CanonicalizeSet }, | |
236 | { 0x03a2u, 0x03a2u, 0x0000u, CanonicalizeUnique }, | |
237 | { 0x03a3u, 0x03a3u, 0x000cu, CanonicalizeSet }, | |
238 | { 0x03a4u, 0x03a5u, 0x0020u, CanonicalizeRangeLo }, | |
239 | { 0x03a6u, 0x03a6u, 0x000du, CanonicalizeSet }, | |
240 | { 0x03a7u, 0x03abu, 0x0020u, CanonicalizeRangeLo }, | |
241 | { 0x03acu, 0x03acu, 0x0026u, CanonicalizeRangeHi }, | |
242 | { 0x03adu, 0x03afu, 0x0025u, CanonicalizeRangeHi }, | |
243 | { 0x03b0u, 0x03b0u, 0x0000u, CanonicalizeUnique }, | |
244 | { 0x03b1u, 0x03b1u, 0x0020u, CanonicalizeRangeHi }, | |
245 | { 0x03b2u, 0x03b2u, 0x0004u, CanonicalizeSet }, | |
246 | { 0x03b3u, 0x03b4u, 0x0020u, CanonicalizeRangeHi }, | |
247 | { 0x03b5u, 0x03b5u, 0x0005u, CanonicalizeSet }, | |
248 | { 0x03b6u, 0x03b7u, 0x0020u, CanonicalizeRangeHi }, | |
249 | { 0x03b8u, 0x03b8u, 0x0006u, CanonicalizeSet }, | |
250 | { 0x03b9u, 0x03b9u, 0x0007u, CanonicalizeSet }, | |
251 | { 0x03bau, 0x03bau, 0x0008u, CanonicalizeSet }, | |
252 | { 0x03bbu, 0x03bbu, 0x0020u, CanonicalizeRangeHi }, | |
253 | { 0x03bcu, 0x03bcu, 0x0009u, CanonicalizeSet }, | |
254 | { 0x03bdu, 0x03bfu, 0x0020u, CanonicalizeRangeHi }, | |
255 | { 0x03c0u, 0x03c0u, 0x000au, CanonicalizeSet }, | |
256 | { 0x03c1u, 0x03c1u, 0x000bu, CanonicalizeSet }, | |
257 | { 0x03c2u, 0x03c3u, 0x000cu, CanonicalizeSet }, | |
258 | { 0x03c4u, 0x03c5u, 0x0020u, CanonicalizeRangeHi }, | |
259 | { 0x03c6u, 0x03c6u, 0x000du, CanonicalizeSet }, | |
260 | { 0x03c7u, 0x03cbu, 0x0020u, CanonicalizeRangeHi }, | |
261 | { 0x03ccu, 0x03ccu, 0x0040u, CanonicalizeRangeHi }, | |
262 | { 0x03cdu, 0x03ceu, 0x003fu, CanonicalizeRangeHi }, | |
263 | { 0x03cfu, 0x03cfu, 0x0008u, CanonicalizeRangeLo }, | |
264 | { 0x03d0u, 0x03d0u, 0x0004u, CanonicalizeSet }, | |
265 | { 0x03d1u, 0x03d1u, 0x0006u, CanonicalizeSet }, | |
266 | { 0x03d2u, 0x03d4u, 0x0000u, CanonicalizeUnique }, | |
267 | { 0x03d5u, 0x03d5u, 0x000du, CanonicalizeSet }, | |
268 | { 0x03d6u, 0x03d6u, 0x000au, CanonicalizeSet }, | |
269 | { 0x03d7u, 0x03d7u, 0x0008u, CanonicalizeRangeHi }, | |
270 | { 0x03d8u, 0x03efu, 0x0000u, CanonicalizeAlternatingAligned }, | |
271 | { 0x03f0u, 0x03f0u, 0x0008u, CanonicalizeSet }, | |
272 | { 0x03f1u, 0x03f1u, 0x000bu, CanonicalizeSet }, | |
273 | { 0x03f2u, 0x03f2u, 0x0007u, CanonicalizeRangeLo }, | |
274 | { 0x03f3u, 0x03f4u, 0x0000u, CanonicalizeUnique }, | |
275 | { 0x03f5u, 0x03f5u, 0x0005u, CanonicalizeSet }, | |
276 | { 0x03f6u, 0x03f6u, 0x0000u, CanonicalizeUnique }, | |
277 | { 0x03f7u, 0x03f8u, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
278 | { 0x03f9u, 0x03f9u, 0x0007u, CanonicalizeRangeHi }, | |
279 | { 0x03fau, 0x03fbu, 0x0000u, CanonicalizeAlternatingAligned }, | |
280 | { 0x03fcu, 0x03fcu, 0x0000u, CanonicalizeUnique }, | |
281 | { 0x03fdu, 0x03ffu, 0x0082u, CanonicalizeRangeHi }, | |
282 | { 0x0400u, 0x040fu, 0x0050u, CanonicalizeRangeLo }, | |
283 | { 0x0410u, 0x042fu, 0x0020u, CanonicalizeRangeLo }, | |
284 | { 0x0430u, 0x044fu, 0x0020u, CanonicalizeRangeHi }, | |
285 | { 0x0450u, 0x045fu, 0x0050u, CanonicalizeRangeHi }, | |
286 | { 0x0460u, 0x0481u, 0x0000u, CanonicalizeAlternatingAligned }, | |
287 | { 0x0482u, 0x0489u, 0x0000u, CanonicalizeUnique }, | |
288 | { 0x048au, 0x04bfu, 0x0000u, CanonicalizeAlternatingAligned }, | |
289 | { 0x04c0u, 0x04c0u, 0x000fu, CanonicalizeRangeLo }, | |
290 | { 0x04c1u, 0x04ceu, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
291 | { 0x04cfu, 0x04cfu, 0x000fu, CanonicalizeRangeHi }, | |
292 | { 0x04d0u, 0x0527u, 0x0000u, CanonicalizeAlternatingAligned }, | |
293 | { 0x0528u, 0x0530u, 0x0000u, CanonicalizeUnique }, | |
294 | { 0x0531u, 0x0556u, 0x0030u, CanonicalizeRangeLo }, | |
295 | { 0x0557u, 0x0560u, 0x0000u, CanonicalizeUnique }, | |
296 | { 0x0561u, 0x0586u, 0x0030u, CanonicalizeRangeHi }, | |
297 | { 0x0587u, 0x109fu, 0x0000u, CanonicalizeUnique }, | |
298 | { 0x10a0u, 0x10c5u, 0x1c60u, CanonicalizeRangeLo }, | |
299 | { 0x10c6u, 0x1d78u, 0x0000u, CanonicalizeUnique }, | |
300 | { 0x1d79u, 0x1d79u, 0x8a04u, CanonicalizeRangeLo }, | |
301 | { 0x1d7au, 0x1d7cu, 0x0000u, CanonicalizeUnique }, | |
302 | { 0x1d7du, 0x1d7du, 0x0ee6u, CanonicalizeRangeLo }, | |
303 | { 0x1d7eu, 0x1dffu, 0x0000u, CanonicalizeUnique }, | |
304 | { 0x1e00u, 0x1e5fu, 0x0000u, CanonicalizeAlternatingAligned }, | |
305 | { 0x1e60u, 0x1e61u, 0x000eu, CanonicalizeSet }, | |
306 | { 0x1e62u, 0x1e95u, 0x0000u, CanonicalizeAlternatingAligned }, | |
307 | { 0x1e96u, 0x1e9au, 0x0000u, CanonicalizeUnique }, | |
308 | { 0x1e9bu, 0x1e9bu, 0x000eu, CanonicalizeSet }, | |
309 | { 0x1e9cu, 0x1e9fu, 0x0000u, CanonicalizeUnique }, | |
310 | { 0x1ea0u, 0x1effu, 0x0000u, CanonicalizeAlternatingAligned }, | |
311 | { 0x1f00u, 0x1f07u, 0x0008u, CanonicalizeRangeLo }, | |
312 | { 0x1f08u, 0x1f0fu, 0x0008u, CanonicalizeRangeHi }, | |
313 | { 0x1f10u, 0x1f15u, 0x0008u, CanonicalizeRangeLo }, | |
314 | { 0x1f16u, 0x1f17u, 0x0000u, CanonicalizeUnique }, | |
315 | { 0x1f18u, 0x1f1du, 0x0008u, CanonicalizeRangeHi }, | |
316 | { 0x1f1eu, 0x1f1fu, 0x0000u, CanonicalizeUnique }, | |
317 | { 0x1f20u, 0x1f27u, 0x0008u, CanonicalizeRangeLo }, | |
318 | { 0x1f28u, 0x1f2fu, 0x0008u, CanonicalizeRangeHi }, | |
319 | { 0x1f30u, 0x1f37u, 0x0008u, CanonicalizeRangeLo }, | |
320 | { 0x1f38u, 0x1f3fu, 0x0008u, CanonicalizeRangeHi }, | |
321 | { 0x1f40u, 0x1f45u, 0x0008u, CanonicalizeRangeLo }, | |
322 | { 0x1f46u, 0x1f47u, 0x0000u, CanonicalizeUnique }, | |
323 | { 0x1f48u, 0x1f4du, 0x0008u, CanonicalizeRangeHi }, | |
324 | { 0x1f4eu, 0x1f50u, 0x0000u, CanonicalizeUnique }, | |
325 | { 0x1f51u, 0x1f51u, 0x0008u, CanonicalizeRangeLo }, | |
326 | { 0x1f52u, 0x1f52u, 0x0000u, CanonicalizeUnique }, | |
327 | { 0x1f53u, 0x1f53u, 0x0008u, CanonicalizeRangeLo }, | |
328 | { 0x1f54u, 0x1f54u, 0x0000u, CanonicalizeUnique }, | |
329 | { 0x1f55u, 0x1f55u, 0x0008u, CanonicalizeRangeLo }, | |
330 | { 0x1f56u, 0x1f56u, 0x0000u, CanonicalizeUnique }, | |
331 | { 0x1f57u, 0x1f57u, 0x0008u, CanonicalizeRangeLo }, | |
332 | { 0x1f58u, 0x1f58u, 0x0000u, CanonicalizeUnique }, | |
333 | { 0x1f59u, 0x1f59u, 0x0008u, CanonicalizeRangeHi }, | |
334 | { 0x1f5au, 0x1f5au, 0x0000u, CanonicalizeUnique }, | |
335 | { 0x1f5bu, 0x1f5bu, 0x0008u, CanonicalizeRangeHi }, | |
336 | { 0x1f5cu, 0x1f5cu, 0x0000u, CanonicalizeUnique }, | |
337 | { 0x1f5du, 0x1f5du, 0x0008u, CanonicalizeRangeHi }, | |
338 | { 0x1f5eu, 0x1f5eu, 0x0000u, CanonicalizeUnique }, | |
339 | { 0x1f5fu, 0x1f5fu, 0x0008u, CanonicalizeRangeHi }, | |
340 | { 0x1f60u, 0x1f67u, 0x0008u, CanonicalizeRangeLo }, | |
341 | { 0x1f68u, 0x1f6fu, 0x0008u, CanonicalizeRangeHi }, | |
342 | { 0x1f70u, 0x1f71u, 0x004au, CanonicalizeRangeLo }, | |
343 | { 0x1f72u, 0x1f75u, 0x0056u, CanonicalizeRangeLo }, | |
344 | { 0x1f76u, 0x1f77u, 0x0064u, CanonicalizeRangeLo }, | |
345 | { 0x1f78u, 0x1f79u, 0x0080u, CanonicalizeRangeLo }, | |
346 | { 0x1f7au, 0x1f7bu, 0x0070u, CanonicalizeRangeLo }, | |
347 | { 0x1f7cu, 0x1f7du, 0x007eu, CanonicalizeRangeLo }, | |
348 | { 0x1f7eu, 0x1fafu, 0x0000u, CanonicalizeUnique }, | |
349 | { 0x1fb0u, 0x1fb1u, 0x0008u, CanonicalizeRangeLo }, | |
350 | { 0x1fb2u, 0x1fb7u, 0x0000u, CanonicalizeUnique }, | |
351 | { 0x1fb8u, 0x1fb9u, 0x0008u, CanonicalizeRangeHi }, | |
352 | { 0x1fbau, 0x1fbbu, 0x004au, CanonicalizeRangeHi }, | |
353 | { 0x1fbcu, 0x1fbdu, 0x0000u, CanonicalizeUnique }, | |
354 | { 0x1fbeu, 0x1fbeu, 0x0007u, CanonicalizeSet }, | |
355 | { 0x1fbfu, 0x1fc7u, 0x0000u, CanonicalizeUnique }, | |
356 | { 0x1fc8u, 0x1fcbu, 0x0056u, CanonicalizeRangeHi }, | |
357 | { 0x1fccu, 0x1fcfu, 0x0000u, CanonicalizeUnique }, | |
358 | { 0x1fd0u, 0x1fd1u, 0x0008u, CanonicalizeRangeLo }, | |
359 | { 0x1fd2u, 0x1fd7u, 0x0000u, CanonicalizeUnique }, | |
360 | { 0x1fd8u, 0x1fd9u, 0x0008u, CanonicalizeRangeHi }, | |
361 | { 0x1fdau, 0x1fdbu, 0x0064u, CanonicalizeRangeHi }, | |
362 | { 0x1fdcu, 0x1fdfu, 0x0000u, CanonicalizeUnique }, | |
363 | { 0x1fe0u, 0x1fe1u, 0x0008u, CanonicalizeRangeLo }, | |
364 | { 0x1fe2u, 0x1fe4u, 0x0000u, CanonicalizeUnique }, | |
365 | { 0x1fe5u, 0x1fe5u, 0x0007u, CanonicalizeRangeLo }, | |
366 | { 0x1fe6u, 0x1fe7u, 0x0000u, CanonicalizeUnique }, | |
367 | { 0x1fe8u, 0x1fe9u, 0x0008u, CanonicalizeRangeHi }, | |
368 | { 0x1feau, 0x1febu, 0x0070u, CanonicalizeRangeHi }, | |
369 | { 0x1fecu, 0x1fecu, 0x0007u, CanonicalizeRangeHi }, | |
370 | { 0x1fedu, 0x1ff7u, 0x0000u, CanonicalizeUnique }, | |
371 | { 0x1ff8u, 0x1ff9u, 0x0080u, CanonicalizeRangeHi }, | |
372 | { 0x1ffau, 0x1ffbu, 0x007eu, CanonicalizeRangeHi }, | |
373 | { 0x1ffcu, 0x2131u, 0x0000u, CanonicalizeUnique }, | |
374 | { 0x2132u, 0x2132u, 0x001cu, CanonicalizeRangeLo }, | |
375 | { 0x2133u, 0x214du, 0x0000u, CanonicalizeUnique }, | |
376 | { 0x214eu, 0x214eu, 0x001cu, CanonicalizeRangeHi }, | |
377 | { 0x214fu, 0x215fu, 0x0000u, CanonicalizeUnique }, | |
378 | { 0x2160u, 0x216fu, 0x0010u, CanonicalizeRangeLo }, | |
379 | { 0x2170u, 0x217fu, 0x0010u, CanonicalizeRangeHi }, | |
380 | { 0x2180u, 0x2182u, 0x0000u, CanonicalizeUnique }, | |
381 | { 0x2183u, 0x2184u, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
382 | { 0x2185u, 0x24b5u, 0x0000u, CanonicalizeUnique }, | |
383 | { 0x24b6u, 0x24cfu, 0x001au, CanonicalizeRangeLo }, | |
384 | { 0x24d0u, 0x24e9u, 0x001au, CanonicalizeRangeHi }, | |
385 | { 0x24eau, 0x2bffu, 0x0000u, CanonicalizeUnique }, | |
386 | { 0x2c00u, 0x2c2eu, 0x0030u, CanonicalizeRangeLo }, | |
387 | { 0x2c2fu, 0x2c2fu, 0x0000u, CanonicalizeUnique }, | |
388 | { 0x2c30u, 0x2c5eu, 0x0030u, CanonicalizeRangeHi }, | |
389 | { 0x2c5fu, 0x2c5fu, 0x0000u, CanonicalizeUnique }, | |
390 | { 0x2c60u, 0x2c61u, 0x0000u, CanonicalizeAlternatingAligned }, | |
391 | { 0x2c62u, 0x2c62u, 0x29f7u, CanonicalizeRangeHi }, | |
392 | { 0x2c63u, 0x2c63u, 0x0ee6u, CanonicalizeRangeHi }, | |
393 | { 0x2c64u, 0x2c64u, 0x29e7u, CanonicalizeRangeHi }, | |
394 | { 0x2c65u, 0x2c65u, 0x2a2bu, CanonicalizeRangeHi }, | |
395 | { 0x2c66u, 0x2c66u, 0x2a28u, CanonicalizeRangeHi }, | |
396 | { 0x2c67u, 0x2c6cu, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
397 | { 0x2c6du, 0x2c6du, 0x2a1cu, CanonicalizeRangeHi }, | |
398 | { 0x2c6eu, 0x2c6eu, 0x29fdu, CanonicalizeRangeHi }, | |
399 | { 0x2c6fu, 0x2c6fu, 0x2a1fu, CanonicalizeRangeHi }, | |
400 | { 0x2c70u, 0x2c70u, 0x2a1eu, CanonicalizeRangeHi }, | |
401 | { 0x2c71u, 0x2c71u, 0x0000u, CanonicalizeUnique }, | |
402 | { 0x2c72u, 0x2c73u, 0x0000u, CanonicalizeAlternatingAligned }, | |
403 | { 0x2c74u, 0x2c74u, 0x0000u, CanonicalizeUnique }, | |
404 | { 0x2c75u, 0x2c76u, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
405 | { 0x2c77u, 0x2c7du, 0x0000u, CanonicalizeUnique }, | |
406 | { 0x2c7eu, 0x2c7fu, 0x2a3fu, CanonicalizeRangeHi }, | |
407 | { 0x2c80u, 0x2ce3u, 0x0000u, CanonicalizeAlternatingAligned }, | |
408 | { 0x2ce4u, 0x2ceau, 0x0000u, CanonicalizeUnique }, | |
409 | { 0x2cebu, 0x2ceeu, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
410 | { 0x2cefu, 0x2cffu, 0x0000u, CanonicalizeUnique }, | |
411 | { 0x2d00u, 0x2d25u, 0x1c60u, CanonicalizeRangeHi }, | |
412 | { 0x2d26u, 0xa63fu, 0x0000u, CanonicalizeUnique }, | |
413 | { 0xa640u, 0xa66du, 0x0000u, CanonicalizeAlternatingAligned }, | |
414 | { 0xa66eu, 0xa67fu, 0x0000u, CanonicalizeUnique }, | |
415 | { 0xa680u, 0xa697u, 0x0000u, CanonicalizeAlternatingAligned }, | |
416 | { 0xa698u, 0xa721u, 0x0000u, CanonicalizeUnique }, | |
417 | { 0xa722u, 0xa72fu, 0x0000u, CanonicalizeAlternatingAligned }, | |
418 | { 0xa730u, 0xa731u, 0x0000u, CanonicalizeUnique }, | |
419 | { 0xa732u, 0xa76fu, 0x0000u, CanonicalizeAlternatingAligned }, | |
420 | { 0xa770u, 0xa778u, 0x0000u, CanonicalizeUnique }, | |
421 | { 0xa779u, 0xa77cu, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
422 | { 0xa77du, 0xa77du, 0x8a04u, CanonicalizeRangeHi }, | |
423 | { 0xa77eu, 0xa787u, 0x0000u, CanonicalizeAlternatingAligned }, | |
424 | { 0xa788u, 0xa78au, 0x0000u, CanonicalizeUnique }, | |
425 | { 0xa78bu, 0xa78cu, 0x0000u, CanonicalizeAlternatingUnaligned }, | |
426 | { 0xa78du, 0xa78du, 0xa528u, CanonicalizeRangeHi }, | |
427 | { 0xa78eu, 0xa78fu, 0x0000u, CanonicalizeUnique }, | |
428 | { 0xa790u, 0xa791u, 0x0000u, CanonicalizeAlternatingAligned }, | |
429 | { 0xa792u, 0xa79fu, 0x0000u, CanonicalizeUnique }, | |
430 | { 0xa7a0u, 0xa7a9u, 0x0000u, CanonicalizeAlternatingAligned }, | |
431 | { 0xa7aau, 0xff20u, 0x0000u, CanonicalizeUnique }, | |
432 | { 0xff21u, 0xff3au, 0x0020u, CanonicalizeRangeLo }, | |
433 | { 0xff3bu, 0xff40u, 0x0000u, CanonicalizeUnique }, | |
434 | { 0xff41u, 0xff5au, 0x0020u, CanonicalizeRangeHi }, | |
435 | { 0xff5bu, 0xffffu, 0x0000u, CanonicalizeUnique }, | |
436 | }; | |
437 | ||
438 | const size_t LATIN_CANONICALIZATION_RANGES = 20; | |
439 | LatinCanonicalizationRange latinRangeInfo[LATIN_CANONICALIZATION_RANGES] = { | |
440 | { 0x0000u, 0x0040u, 0x0000u, CanonicalizeLatinSelf }, | |
441 | { 0x0041u, 0x005au, 0x0000u, CanonicalizeLatinMask0x20 }, | |
442 | { 0x005bu, 0x0060u, 0x0000u, CanonicalizeLatinSelf }, | |
443 | { 0x0061u, 0x007au, 0x0000u, CanonicalizeLatinMask0x20 }, | |
444 | { 0x007bu, 0x00bfu, 0x0000u, CanonicalizeLatinSelf }, | |
445 | { 0x00c0u, 0x00d6u, 0x0000u, CanonicalizeLatinMask0x20 }, | |
446 | { 0x00d7u, 0x00d7u, 0x0000u, CanonicalizeLatinSelf }, | |
447 | { 0x00d8u, 0x00deu, 0x0000u, CanonicalizeLatinMask0x20 }, | |
448 | { 0x00dfu, 0x00dfu, 0x0000u, CanonicalizeLatinSelf }, | |
449 | { 0x00e0u, 0x00f6u, 0x0000u, CanonicalizeLatinMask0x20 }, | |
450 | { 0x00f7u, 0x00f7u, 0x0000u, CanonicalizeLatinSelf }, | |
451 | { 0x00f8u, 0x00feu, 0x0000u, CanonicalizeLatinMask0x20 }, | |
452 | { 0x00ffu, 0x00ffu, 0x0000u, CanonicalizeLatinSelf }, | |
453 | { 0x0100u, 0x0177u, 0x0000u, CanonicalizeLatinInvalid }, | |
454 | { 0x0178u, 0x0178u, 0x00ffu, CanonicalizeLatinOther }, | |
455 | { 0x0179u, 0x039bu, 0x0000u, CanonicalizeLatinInvalid }, | |
456 | { 0x039cu, 0x039cu, 0x00b5u, CanonicalizeLatinOther }, | |
457 | { 0x039du, 0x03bbu, 0x0000u, CanonicalizeLatinInvalid }, | |
458 | { 0x03bcu, 0x03bcu, 0x00b5u, CanonicalizeLatinOther }, | |
459 | { 0x03bdu, 0xffffu, 0x0000u, CanonicalizeLatinInvalid }, | |
460 | }; | |
461 | ||
462 | } } // JSC::Yarr | |
463 |