Skip to main content

libxml_rs/xml/
unicode_tables.rs

1// GENERATED by tools/archaeology/gen_chvalid_tables.py — do not hand-edit.
2//
3// Verbatim extraction of the upstream libxml2 character-class
4// tables (exported C data globals, chvalid.h / codegen/ranges.inc).
5// Data provenance: oracle/historical/src/libxml2-2.15.0/codegen/ranges.inc
6// ranges.inc sha256: 11145b1e095370400b82f7fc219f29ddd28d4f6792438b4e2ad9b73b4b3acb4b
7//
8// # SAFETY
9//
10// The tables are immutable const data; the #[no_mangle] exports
11// match the upstream `const xmlChRangeGroup xmlIs*Group` and
12// `const unsigned char xmlIsPubidChar_tab[256]` symbols (data ABI).
13
14use crate::abi::structs::{xmlChLRange, xmlChRangeGroup, xmlChSRange};
15
16/// Upstream `const unsigned char xmlIsPubidChar_tab[256]`.
17#[no_mangle]
18pub static xmlIsPubidChar_tab: [u8; 256] = [
19    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
20    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
21    0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
22    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01,
23    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
24    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
25    0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
26    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
27    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
28    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
29    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
30    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
31    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
32    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
33    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
34    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
35];
36
37/// Upstream `xmlIsBaseChar_srng[]` — 197 xmlChSRange ranges (2.15.0).
38#[no_mangle]
39pub static xmlIsBaseChar_srng: [xmlChSRange; 197] = [
40    xmlChSRange { low: 0x100, high: 0x131 },
41    xmlChSRange { low: 0x134, high: 0x13e },
42    xmlChSRange { low: 0x141, high: 0x148 },
43    xmlChSRange { low: 0x14a, high: 0x17e },
44    xmlChSRange { low: 0x180, high: 0x1c3 },
45    xmlChSRange { low: 0x1cd, high: 0x1f0 },
46    xmlChSRange { low: 0x1f4, high: 0x1f5 },
47    xmlChSRange { low: 0x1fa, high: 0x217 },
48    xmlChSRange { low: 0x250, high: 0x2a8 },
49    xmlChSRange { low: 0x2bb, high: 0x2c1 },
50    xmlChSRange { low: 0x386, high: 0x386 },
51    xmlChSRange { low: 0x388, high: 0x38a },
52    xmlChSRange { low: 0x38c, high: 0x38c },
53    xmlChSRange { low: 0x38e, high: 0x3a1 },
54    xmlChSRange { low: 0x3a3, high: 0x3ce },
55    xmlChSRange { low: 0x3d0, high: 0x3d6 },
56    xmlChSRange { low: 0x3da, high: 0x3da },
57    xmlChSRange { low: 0x3dc, high: 0x3dc },
58    xmlChSRange { low: 0x3de, high: 0x3de },
59    xmlChSRange { low: 0x3e0, high: 0x3e0 },
60    xmlChSRange { low: 0x3e2, high: 0x3f3 },
61    xmlChSRange { low: 0x401, high: 0x40c },
62    xmlChSRange { low: 0x40e, high: 0x44f },
63    xmlChSRange { low: 0x451, high: 0x45c },
64    xmlChSRange { low: 0x45e, high: 0x481 },
65    xmlChSRange { low: 0x490, high: 0x4c4 },
66    xmlChSRange { low: 0x4c7, high: 0x4c8 },
67    xmlChSRange { low: 0x4cb, high: 0x4cc },
68    xmlChSRange { low: 0x4d0, high: 0x4eb },
69    xmlChSRange { low: 0x4ee, high: 0x4f5 },
70    xmlChSRange { low: 0x4f8, high: 0x4f9 },
71    xmlChSRange { low: 0x531, high: 0x556 },
72    xmlChSRange { low: 0x559, high: 0x559 },
73    xmlChSRange { low: 0x561, high: 0x586 },
74    xmlChSRange { low: 0x5d0, high: 0x5ea },
75    xmlChSRange { low: 0x5f0, high: 0x5f2 },
76    xmlChSRange { low: 0x621, high: 0x63a },
77    xmlChSRange { low: 0x641, high: 0x64a },
78    xmlChSRange { low: 0x671, high: 0x6b7 },
79    xmlChSRange { low: 0x6ba, high: 0x6be },
80    xmlChSRange { low: 0x6c0, high: 0x6ce },
81    xmlChSRange { low: 0x6d0, high: 0x6d3 },
82    xmlChSRange { low: 0x6d5, high: 0x6d5 },
83    xmlChSRange { low: 0x6e5, high: 0x6e6 },
84    xmlChSRange { low: 0x905, high: 0x939 },
85    xmlChSRange { low: 0x93d, high: 0x93d },
86    xmlChSRange { low: 0x958, high: 0x961 },
87    xmlChSRange { low: 0x985, high: 0x98c },
88    xmlChSRange { low: 0x98f, high: 0x990 },
89    xmlChSRange { low: 0x993, high: 0x9a8 },
90    xmlChSRange { low: 0x9aa, high: 0x9b0 },
91    xmlChSRange { low: 0x9b2, high: 0x9b2 },
92    xmlChSRange { low: 0x9b6, high: 0x9b9 },
93    xmlChSRange { low: 0x9dc, high: 0x9dd },
94    xmlChSRange { low: 0x9df, high: 0x9e1 },
95    xmlChSRange { low: 0x9f0, high: 0x9f1 },
96    xmlChSRange { low: 0xa05, high: 0xa0a },
97    xmlChSRange { low: 0xa0f, high: 0xa10 },
98    xmlChSRange { low: 0xa13, high: 0xa28 },
99    xmlChSRange { low: 0xa2a, high: 0xa30 },
100    xmlChSRange { low: 0xa32, high: 0xa33 },
101    xmlChSRange { low: 0xa35, high: 0xa36 },
102    xmlChSRange { low: 0xa38, high: 0xa39 },
103    xmlChSRange { low: 0xa59, high: 0xa5c },
104    xmlChSRange { low: 0xa5e, high: 0xa5e },
105    xmlChSRange { low: 0xa72, high: 0xa74 },
106    xmlChSRange { low: 0xa85, high: 0xa8b },
107    xmlChSRange { low: 0xa8d, high: 0xa8d },
108    xmlChSRange { low: 0xa8f, high: 0xa91 },
109    xmlChSRange { low: 0xa93, high: 0xaa8 },
110    xmlChSRange { low: 0xaaa, high: 0xab0 },
111    xmlChSRange { low: 0xab2, high: 0xab3 },
112    xmlChSRange { low: 0xab5, high: 0xab9 },
113    xmlChSRange { low: 0xabd, high: 0xabd },
114    xmlChSRange { low: 0xae0, high: 0xae0 },
115    xmlChSRange { low: 0xb05, high: 0xb0c },
116    xmlChSRange { low: 0xb0f, high: 0xb10 },
117    xmlChSRange { low: 0xb13, high: 0xb28 },
118    xmlChSRange { low: 0xb2a, high: 0xb30 },
119    xmlChSRange { low: 0xb32, high: 0xb33 },
120    xmlChSRange { low: 0xb36, high: 0xb39 },
121    xmlChSRange { low: 0xb3d, high: 0xb3d },
122    xmlChSRange { low: 0xb5c, high: 0xb5d },
123    xmlChSRange { low: 0xb5f, high: 0xb61 },
124    xmlChSRange { low: 0xb85, high: 0xb8a },
125    xmlChSRange { low: 0xb8e, high: 0xb90 },
126    xmlChSRange { low: 0xb92, high: 0xb95 },
127    xmlChSRange { low: 0xb99, high: 0xb9a },
128    xmlChSRange { low: 0xb9c, high: 0xb9c },
129    xmlChSRange { low: 0xb9e, high: 0xb9f },
130    xmlChSRange { low: 0xba3, high: 0xba4 },
131    xmlChSRange { low: 0xba8, high: 0xbaa },
132    xmlChSRange { low: 0xbae, high: 0xbb5 },
133    xmlChSRange { low: 0xbb7, high: 0xbb9 },
134    xmlChSRange { low: 0xc05, high: 0xc0c },
135    xmlChSRange { low: 0xc0e, high: 0xc10 },
136    xmlChSRange { low: 0xc12, high: 0xc28 },
137    xmlChSRange { low: 0xc2a, high: 0xc33 },
138    xmlChSRange { low: 0xc35, high: 0xc39 },
139    xmlChSRange { low: 0xc60, high: 0xc61 },
140    xmlChSRange { low: 0xc85, high: 0xc8c },
141    xmlChSRange { low: 0xc8e, high: 0xc90 },
142    xmlChSRange { low: 0xc92, high: 0xca8 },
143    xmlChSRange { low: 0xcaa, high: 0xcb3 },
144    xmlChSRange { low: 0xcb5, high: 0xcb9 },
145    xmlChSRange { low: 0xcde, high: 0xcde },
146    xmlChSRange { low: 0xce0, high: 0xce1 },
147    xmlChSRange { low: 0xd05, high: 0xd0c },
148    xmlChSRange { low: 0xd0e, high: 0xd10 },
149    xmlChSRange { low: 0xd12, high: 0xd28 },
150    xmlChSRange { low: 0xd2a, high: 0xd39 },
151    xmlChSRange { low: 0xd60, high: 0xd61 },
152    xmlChSRange { low: 0xe01, high: 0xe2e },
153    xmlChSRange { low: 0xe30, high: 0xe30 },
154    xmlChSRange { low: 0xe32, high: 0xe33 },
155    xmlChSRange { low: 0xe40, high: 0xe45 },
156    xmlChSRange { low: 0xe81, high: 0xe82 },
157    xmlChSRange { low: 0xe84, high: 0xe84 },
158    xmlChSRange { low: 0xe87, high: 0xe88 },
159    xmlChSRange { low: 0xe8a, high: 0xe8a },
160    xmlChSRange { low: 0xe8d, high: 0xe8d },
161    xmlChSRange { low: 0xe94, high: 0xe97 },
162    xmlChSRange { low: 0xe99, high: 0xe9f },
163    xmlChSRange { low: 0xea1, high: 0xea3 },
164    xmlChSRange { low: 0xea5, high: 0xea5 },
165    xmlChSRange { low: 0xea7, high: 0xea7 },
166    xmlChSRange { low: 0xeaa, high: 0xeab },
167    xmlChSRange { low: 0xead, high: 0xeae },
168    xmlChSRange { low: 0xeb0, high: 0xeb0 },
169    xmlChSRange { low: 0xeb2, high: 0xeb3 },
170    xmlChSRange { low: 0xebd, high: 0xebd },
171    xmlChSRange { low: 0xec0, high: 0xec4 },
172    xmlChSRange { low: 0xf40, high: 0xf47 },
173    xmlChSRange { low: 0xf49, high: 0xf69 },
174    xmlChSRange { low: 0x10a0, high: 0x10c5 },
175    xmlChSRange { low: 0x10d0, high: 0x10f6 },
176    xmlChSRange { low: 0x1100, high: 0x1100 },
177    xmlChSRange { low: 0x1102, high: 0x1103 },
178    xmlChSRange { low: 0x1105, high: 0x1107 },
179    xmlChSRange { low: 0x1109, high: 0x1109 },
180    xmlChSRange { low: 0x110b, high: 0x110c },
181    xmlChSRange { low: 0x110e, high: 0x1112 },
182    xmlChSRange { low: 0x113c, high: 0x113c },
183    xmlChSRange { low: 0x113e, high: 0x113e },
184    xmlChSRange { low: 0x1140, high: 0x1140 },
185    xmlChSRange { low: 0x114c, high: 0x114c },
186    xmlChSRange { low: 0x114e, high: 0x114e },
187    xmlChSRange { low: 0x1150, high: 0x1150 },
188    xmlChSRange { low: 0x1154, high: 0x1155 },
189    xmlChSRange { low: 0x1159, high: 0x1159 },
190    xmlChSRange { low: 0x115f, high: 0x1161 },
191    xmlChSRange { low: 0x1163, high: 0x1163 },
192    xmlChSRange { low: 0x1165, high: 0x1165 },
193    xmlChSRange { low: 0x1167, high: 0x1167 },
194    xmlChSRange { low: 0x1169, high: 0x1169 },
195    xmlChSRange { low: 0x116d, high: 0x116e },
196    xmlChSRange { low: 0x1172, high: 0x1173 },
197    xmlChSRange { low: 0x1175, high: 0x1175 },
198    xmlChSRange { low: 0x119e, high: 0x119e },
199    xmlChSRange { low: 0x11a8, high: 0x11a8 },
200    xmlChSRange { low: 0x11ab, high: 0x11ab },
201    xmlChSRange { low: 0x11ae, high: 0x11af },
202    xmlChSRange { low: 0x11b7, high: 0x11b8 },
203    xmlChSRange { low: 0x11ba, high: 0x11ba },
204    xmlChSRange { low: 0x11bc, high: 0x11c2 },
205    xmlChSRange { low: 0x11eb, high: 0x11eb },
206    xmlChSRange { low: 0x11f0, high: 0x11f0 },
207    xmlChSRange { low: 0x11f9, high: 0x11f9 },
208    xmlChSRange { low: 0x1e00, high: 0x1e9b },
209    xmlChSRange { low: 0x1ea0, high: 0x1ef9 },
210    xmlChSRange { low: 0x1f00, high: 0x1f15 },
211    xmlChSRange { low: 0x1f18, high: 0x1f1d },
212    xmlChSRange { low: 0x1f20, high: 0x1f45 },
213    xmlChSRange { low: 0x1f48, high: 0x1f4d },
214    xmlChSRange { low: 0x1f50, high: 0x1f57 },
215    xmlChSRange { low: 0x1f59, high: 0x1f59 },
216    xmlChSRange { low: 0x1f5b, high: 0x1f5b },
217    xmlChSRange { low: 0x1f5d, high: 0x1f5d },
218    xmlChSRange { low: 0x1f5f, high: 0x1f7d },
219    xmlChSRange { low: 0x1f80, high: 0x1fb4 },
220    xmlChSRange { low: 0x1fb6, high: 0x1fbc },
221    xmlChSRange { low: 0x1fbe, high: 0x1fbe },
222    xmlChSRange { low: 0x1fc2, high: 0x1fc4 },
223    xmlChSRange { low: 0x1fc6, high: 0x1fcc },
224    xmlChSRange { low: 0x1fd0, high: 0x1fd3 },
225    xmlChSRange { low: 0x1fd6, high: 0x1fdb },
226    xmlChSRange { low: 0x1fe0, high: 0x1fec },
227    xmlChSRange { low: 0x1ff2, high: 0x1ff4 },
228    xmlChSRange { low: 0x1ff6, high: 0x1ffc },
229    xmlChSRange { low: 0x2126, high: 0x2126 },
230    xmlChSRange { low: 0x212a, high: 0x212b },
231    xmlChSRange { low: 0x212e, high: 0x212e },
232    xmlChSRange { low: 0x2180, high: 0x2182 },
233    xmlChSRange { low: 0x3041, high: 0x3094 },
234    xmlChSRange { low: 0x30a1, high: 0x30fa },
235    xmlChSRange { low: 0x3105, high: 0x312c },
236    xmlChSRange { low: 0xac00, high: 0xd7a3 },
237];
238
239/// Upstream `const xmlChRangeGroup xmlIsBaseCharGroup`.
240#[no_mangle]
241pub static xmlIsBaseCharGroup: xmlChRangeGroup = xmlChRangeGroup {
242    nbShortRange: 197,
243    nbLongRange: 0,
244    shortRange: &xmlIsBaseChar_srng as *const xmlChSRange,
245    longRange: core::ptr::null(),
246};
247
248/// Upstream `xmlIsChar_srng[]` — 2 xmlChSRange ranges (2.15.0).
249#[no_mangle]
250pub static xmlIsChar_srng: [xmlChSRange; 2] = [
251    xmlChSRange { low: 0x100, high: 0xd7ff },
252    xmlChSRange { low: 0xe000, high: 0xfffd },
253];
254
255/// Upstream `xmlIsChar_lrng[]` — 1 xmlChLRange ranges (2.15.0).
256#[no_mangle]
257pub static xmlIsChar_lrng: [xmlChLRange; 1] = [
258    xmlChLRange { low: 0x10000, high: 0x10ffff },
259];
260
261/// Upstream `const xmlChRangeGroup xmlIsCharGroup`.
262#[no_mangle]
263pub static xmlIsCharGroup: xmlChRangeGroup = xmlChRangeGroup {
264    nbShortRange: 2,
265    nbLongRange: 1,
266    shortRange: &xmlIsChar_srng as *const xmlChSRange,
267    longRange: &xmlIsChar_lrng as *const xmlChLRange,
268};
269
270/// Upstream `xmlIsCombining_srng[]` — 95 xmlChSRange ranges (2.15.0).
271#[no_mangle]
272pub static xmlIsCombining_srng: [xmlChSRange; 95] = [
273    xmlChSRange { low: 0x300, high: 0x345 },
274    xmlChSRange { low: 0x360, high: 0x361 },
275    xmlChSRange { low: 0x483, high: 0x486 },
276    xmlChSRange { low: 0x591, high: 0x5a1 },
277    xmlChSRange { low: 0x5a3, high: 0x5b9 },
278    xmlChSRange { low: 0x5bb, high: 0x5bd },
279    xmlChSRange { low: 0x5bf, high: 0x5bf },
280    xmlChSRange { low: 0x5c1, high: 0x5c2 },
281    xmlChSRange { low: 0x5c4, high: 0x5c4 },
282    xmlChSRange { low: 0x64b, high: 0x652 },
283    xmlChSRange { low: 0x670, high: 0x670 },
284    xmlChSRange { low: 0x6d6, high: 0x6dc },
285    xmlChSRange { low: 0x6dd, high: 0x6df },
286    xmlChSRange { low: 0x6e0, high: 0x6e4 },
287    xmlChSRange { low: 0x6e7, high: 0x6e8 },
288    xmlChSRange { low: 0x6ea, high: 0x6ed },
289    xmlChSRange { low: 0x901, high: 0x903 },
290    xmlChSRange { low: 0x93c, high: 0x93c },
291    xmlChSRange { low: 0x93e, high: 0x94c },
292    xmlChSRange { low: 0x94d, high: 0x94d },
293    xmlChSRange { low: 0x951, high: 0x954 },
294    xmlChSRange { low: 0x962, high: 0x963 },
295    xmlChSRange { low: 0x981, high: 0x983 },
296    xmlChSRange { low: 0x9bc, high: 0x9bc },
297    xmlChSRange { low: 0x9be, high: 0x9be },
298    xmlChSRange { low: 0x9bf, high: 0x9bf },
299    xmlChSRange { low: 0x9c0, high: 0x9c4 },
300    xmlChSRange { low: 0x9c7, high: 0x9c8 },
301    xmlChSRange { low: 0x9cb, high: 0x9cd },
302    xmlChSRange { low: 0x9d7, high: 0x9d7 },
303    xmlChSRange { low: 0x9e2, high: 0x9e3 },
304    xmlChSRange { low: 0xa02, high: 0xa02 },
305    xmlChSRange { low: 0xa3c, high: 0xa3c },
306    xmlChSRange { low: 0xa3e, high: 0xa3e },
307    xmlChSRange { low: 0xa3f, high: 0xa3f },
308    xmlChSRange { low: 0xa40, high: 0xa42 },
309    xmlChSRange { low: 0xa47, high: 0xa48 },
310    xmlChSRange { low: 0xa4b, high: 0xa4d },
311    xmlChSRange { low: 0xa70, high: 0xa71 },
312    xmlChSRange { low: 0xa81, high: 0xa83 },
313    xmlChSRange { low: 0xabc, high: 0xabc },
314    xmlChSRange { low: 0xabe, high: 0xac5 },
315    xmlChSRange { low: 0xac7, high: 0xac9 },
316    xmlChSRange { low: 0xacb, high: 0xacd },
317    xmlChSRange { low: 0xb01, high: 0xb03 },
318    xmlChSRange { low: 0xb3c, high: 0xb3c },
319    xmlChSRange { low: 0xb3e, high: 0xb43 },
320    xmlChSRange { low: 0xb47, high: 0xb48 },
321    xmlChSRange { low: 0xb4b, high: 0xb4d },
322    xmlChSRange { low: 0xb56, high: 0xb57 },
323    xmlChSRange { low: 0xb82, high: 0xb83 },
324    xmlChSRange { low: 0xbbe, high: 0xbc2 },
325    xmlChSRange { low: 0xbc6, high: 0xbc8 },
326    xmlChSRange { low: 0xbca, high: 0xbcd },
327    xmlChSRange { low: 0xbd7, high: 0xbd7 },
328    xmlChSRange { low: 0xc01, high: 0xc03 },
329    xmlChSRange { low: 0xc3e, high: 0xc44 },
330    xmlChSRange { low: 0xc46, high: 0xc48 },
331    xmlChSRange { low: 0xc4a, high: 0xc4d },
332    xmlChSRange { low: 0xc55, high: 0xc56 },
333    xmlChSRange { low: 0xc82, high: 0xc83 },
334    xmlChSRange { low: 0xcbe, high: 0xcc4 },
335    xmlChSRange { low: 0xcc6, high: 0xcc8 },
336    xmlChSRange { low: 0xcca, high: 0xccd },
337    xmlChSRange { low: 0xcd5, high: 0xcd6 },
338    xmlChSRange { low: 0xd02, high: 0xd03 },
339    xmlChSRange { low: 0xd3e, high: 0xd43 },
340    xmlChSRange { low: 0xd46, high: 0xd48 },
341    xmlChSRange { low: 0xd4a, high: 0xd4d },
342    xmlChSRange { low: 0xd57, high: 0xd57 },
343    xmlChSRange { low: 0xe31, high: 0xe31 },
344    xmlChSRange { low: 0xe34, high: 0xe3a },
345    xmlChSRange { low: 0xe47, high: 0xe4e },
346    xmlChSRange { low: 0xeb1, high: 0xeb1 },
347    xmlChSRange { low: 0xeb4, high: 0xeb9 },
348    xmlChSRange { low: 0xebb, high: 0xebc },
349    xmlChSRange { low: 0xec8, high: 0xecd },
350    xmlChSRange { low: 0xf18, high: 0xf19 },
351    xmlChSRange { low: 0xf35, high: 0xf35 },
352    xmlChSRange { low: 0xf37, high: 0xf37 },
353    xmlChSRange { low: 0xf39, high: 0xf39 },
354    xmlChSRange { low: 0xf3e, high: 0xf3e },
355    xmlChSRange { low: 0xf3f, high: 0xf3f },
356    xmlChSRange { low: 0xf71, high: 0xf84 },
357    xmlChSRange { low: 0xf86, high: 0xf8b },
358    xmlChSRange { low: 0xf90, high: 0xf95 },
359    xmlChSRange { low: 0xf97, high: 0xf97 },
360    xmlChSRange { low: 0xf99, high: 0xfad },
361    xmlChSRange { low: 0xfb1, high: 0xfb7 },
362    xmlChSRange { low: 0xfb9, high: 0xfb9 },
363    xmlChSRange { low: 0x20d0, high: 0x20dc },
364    xmlChSRange { low: 0x20e1, high: 0x20e1 },
365    xmlChSRange { low: 0x302a, high: 0x302f },
366    xmlChSRange { low: 0x3099, high: 0x3099 },
367    xmlChSRange { low: 0x309a, high: 0x309a },
368];
369
370/// Upstream `const xmlChRangeGroup xmlIsCombiningGroup`.
371#[no_mangle]
372pub static xmlIsCombiningGroup: xmlChRangeGroup = xmlChRangeGroup {
373    nbShortRange: 95,
374    nbLongRange: 0,
375    shortRange: &xmlIsCombining_srng as *const xmlChSRange,
376    longRange: core::ptr::null(),
377};
378
379/// Upstream `xmlIsDigit_srng[]` — 14 xmlChSRange ranges (2.15.0).
380#[no_mangle]
381pub static xmlIsDigit_srng: [xmlChSRange; 14] = [
382    xmlChSRange { low: 0x660, high: 0x669 },
383    xmlChSRange { low: 0x6f0, high: 0x6f9 },
384    xmlChSRange { low: 0x966, high: 0x96f },
385    xmlChSRange { low: 0x9e6, high: 0x9ef },
386    xmlChSRange { low: 0xa66, high: 0xa6f },
387    xmlChSRange { low: 0xae6, high: 0xaef },
388    xmlChSRange { low: 0xb66, high: 0xb6f },
389    xmlChSRange { low: 0xbe7, high: 0xbef },
390    xmlChSRange { low: 0xc66, high: 0xc6f },
391    xmlChSRange { low: 0xce6, high: 0xcef },
392    xmlChSRange { low: 0xd66, high: 0xd6f },
393    xmlChSRange { low: 0xe50, high: 0xe59 },
394    xmlChSRange { low: 0xed0, high: 0xed9 },
395    xmlChSRange { low: 0xf20, high: 0xf29 },
396];
397
398/// Upstream `const xmlChRangeGroup xmlIsDigitGroup`.
399#[no_mangle]
400pub static xmlIsDigitGroup: xmlChRangeGroup = xmlChRangeGroup {
401    nbShortRange: 14,
402    nbLongRange: 0,
403    shortRange: &xmlIsDigit_srng as *const xmlChSRange,
404    longRange: core::ptr::null(),
405};
406
407/// Upstream `xmlIsExtender_srng[]` — 10 xmlChSRange ranges (2.15.0).
408#[no_mangle]
409pub static xmlIsExtender_srng: [xmlChSRange; 10] = [
410    xmlChSRange { low: 0x2d0, high: 0x2d0 },
411    xmlChSRange { low: 0x2d1, high: 0x2d1 },
412    xmlChSRange { low: 0x387, high: 0x387 },
413    xmlChSRange { low: 0x640, high: 0x640 },
414    xmlChSRange { low: 0xe46, high: 0xe46 },
415    xmlChSRange { low: 0xec6, high: 0xec6 },
416    xmlChSRange { low: 0x3005, high: 0x3005 },
417    xmlChSRange { low: 0x3031, high: 0x3035 },
418    xmlChSRange { low: 0x309d, high: 0x309e },
419    xmlChSRange { low: 0x30fc, high: 0x30fe },
420];
421
422/// Upstream `const xmlChRangeGroup xmlIsExtenderGroup`.
423#[no_mangle]
424pub static xmlIsExtenderGroup: xmlChRangeGroup = xmlChRangeGroup {
425    nbShortRange: 10,
426    nbLongRange: 0,
427    shortRange: &xmlIsExtender_srng as *const xmlChSRange,
428    longRange: core::ptr::null(),
429};
430
431/// Upstream `xmlIsIdeographic_srng[]` — 3 xmlChSRange ranges (2.15.0).
432#[no_mangle]
433pub static xmlIsIdeographic_srng: [xmlChSRange; 3] = [
434    xmlChSRange { low: 0x3007, high: 0x3007 },
435    xmlChSRange { low: 0x3021, high: 0x3029 },
436    xmlChSRange { low: 0x4e00, high: 0x9fa5 },
437];
438
439/// Upstream `const xmlChRangeGroup xmlIsIdeographicGroup`.
440#[no_mangle]
441pub static xmlIsIdeographicGroup: xmlChRangeGroup = xmlChRangeGroup {
442    nbShortRange: 3,
443    nbLongRange: 0,
444    shortRange: &xmlIsIdeographic_srng as *const xmlChSRange,
445    longRange: core::ptr::null(),
446};
447