History

My first initial commit with all of mine experimental changes.

Dmitry Kabak (userdima committed 13 years ago

Commit d37b88d1 parent 3f5b46618352 files · +2598093 −-8690Browse files

Showing the changes to java/pkg/sun/font/ScriptRunData.java (1 of 18352 files). Show all

Unified · Split

java/pkg/sun/font/ScriptRunData.java+795−0
@@ -0,0 +1,795 @@
1+/*
2+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3+ *
4+ * This code is free software; you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 2 only, as
6+ * published by the Free Software Foundation. Oracle designates this
7+ * particular file as subject to the "Classpath" exception as provided
8+ * by Oracle in the LICENSE file that accompanied this code.
9+ *
10+ * This code is distributed in the hope that it will be useful, but WITHOUT
11+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13+ * version 2 for more details (a copy is included in the LICENSE file that
14+ * accompanied this code).
15+ *
16+ * You should have received a copy of the GNU General Public License version
17+ * 2 along with this work; if not, write to the Free Software Foundation,
18+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19+ *
20+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21+ * or visit www.oracle.com if you need additional information or have any
22+ * questions.
23+ *
24+ */
25+
26+/*
27+ *******************************************************************************
28+ * Copyright (C) 2003, International Business Machines Corporation and *
29+ * others. All Rights Reserved. *
30+ *******************************************************************************
31+ */
32+
33+package sun.font;
34+
35+public final class ScriptRunData {
36+ private ScriptRunData() {}
37+
38+ private static final int CHAR_START = 0;
39+ private static final int CHAR_LIMIT = 0x110000;
40+
41+ private static int cache = 0;
42+ public static final int getScript(int cp) {
43+ // optimize for runs of characters in the same script
44+ if (cp >= data[cache] && cp < data[cache+2]) {
45+ return data[cache+1];
46+ }
47+ if (cp >= CHAR_START & cp < CHAR_LIMIT) {
48+ int probe = dataPower;
49+ int index = 0;
50+
51+ if (cp >= data[dataExtra]) {
52+ index = dataExtra;
53+ }
54+
55+ while (probe > 2) {
56+ probe >>= 1;
57+ if (cp >= data[index + probe]) {
58+ index += probe;
59+ }
60+ }
61+
62+ cache = index;
63+ return data[index+1];
64+ }
65+
66+ throw new IllegalArgumentException(Integer.toString(cp));
67+ }
68+
69+ private static final int[] data = {
70+ 0x000000, 0x00,
71+ 0x000041, 0x19, // 'latn' latin
72+ 0x00005B, 0x00,
73+ 0x000061, 0x19, // 'latn' latin
74+ 0x00007B, 0x00,
75+ 0x0000AA, 0x19, // 'latn' latin
76+ 0x0000AB, 0x00,
77+ 0x0000B5, 0x0E, // 'grek' greek
78+ 0x0000B6, 0x00,
79+ 0x0000BA, 0x19, // 'latn' latin
80+ 0x0000BB, 0x00,
81+ 0x0000C0, 0x19, // 'latn' latin
82+ 0x0000D7, 0x00,
83+ 0x0000D8, 0x19, // 'latn' latin
84+ 0x0000F7, 0x00,
85+ 0x0000F8, 0x19, // 'latn' latin
86+ 0x000221, 0x00,
87+ 0x000222, 0x19, // 'latn' latin
88+ 0x000234, 0x00,
89+ 0x000250, 0x19, // 'latn' latin
90+ 0x0002AE, 0x00,
91+ 0x0002B0, 0x19, // 'latn' latin
92+ 0x0002B9, 0x00,
93+ 0x0002E0, 0x19, // 'latn' latin
94+ 0x0002E5, 0x00,
95+ 0x000300, 0x01, // 'qaai' inherited
96+ 0x000350, 0x00,
97+ 0x000360, 0x01, // 'qaai' inherited
98+ 0x000370, 0x00,
99+ 0x00037A, 0x0E, // 'grek' greek
100+ 0x00037B, 0x00,
101+ 0x000386, 0x0E, // 'grek' greek
102+ 0x000387, 0x00,
103+ 0x000388, 0x0E, // 'grek' greek
104+ 0x00038B, 0x00,
105+ 0x00038C, 0x0E, // 'grek' greek
106+ 0x00038D, 0x00,
107+ 0x00038E, 0x0E, // 'grek' greek
108+ 0x0003A2, 0x00,
109+ 0x0003A3, 0x0E, // 'grek' greek
110+ 0x0003CF, 0x00,
111+ 0x0003D0, 0x0E, // 'grek' greek
112+ 0x0003F6, 0x00,
113+ 0x000400, 0x08, // 'cyrl' cyrillic
114+ 0x000482, 0x00,
115+ 0x000483, 0x08, // 'cyrl' cyrillic
116+ 0x000487, 0x00,
117+ 0x000488, 0x01, // 'qaai' inherited
118+ 0x00048A, 0x08, // 'cyrl' cyrillic
119+ 0x0004CF, 0x00,
120+ 0x0004D0, 0x08, // 'cyrl' cyrillic
121+ 0x0004F6, 0x00,
122+ 0x0004F8, 0x08, // 'cyrl' cyrillic
123+ 0x0004FA, 0x00,
124+ 0x000500, 0x08, // 'cyrl' cyrillic
125+ 0x000510, 0x00,
126+ 0x000531, 0x03, // 'armn' armenian
127+ 0x000557, 0x00,
128+ 0x000559, 0x03, // 'armn' armenian
129+ 0x00055A, 0x00,
130+ 0x000561, 0x03, // 'armn' armenian
131+ 0x000588, 0x00,
132+ 0x000591, 0x01, // 'qaai' inherited
133+ 0x0005A2, 0x00,
134+ 0x0005A3, 0x01, // 'qaai' inherited
135+ 0x0005BA, 0x00,
136+ 0x0005BB, 0x01, // 'qaai' inherited
137+ 0x0005BE, 0x00,
138+ 0x0005BF, 0x01, // 'qaai' inherited
139+ 0x0005C0, 0x00,
140+ 0x0005C1, 0x01, // 'qaai' inherited
141+ 0x0005C3, 0x00,
142+ 0x0005C4, 0x01, // 'qaai' inherited
143+ 0x0005C5, 0x00,
144+ 0x0005D0, 0x13, // 'hebr' hebrew
145+ 0x0005EB, 0x00,
146+ 0x0005F0, 0x13, // 'hebr' hebrew
147+ 0x0005F3, 0x00,
148+ 0x000621, 0x02, // 'arab' arabic
149+ 0x00063B, 0x00,
150+ 0x000641, 0x02, // 'arab' arabic
151+ 0x00064B, 0x01, // 'qaai' inherited
152+ 0x000656, 0x00,
153+ 0x00066E, 0x02, // 'arab' arabic
154+ 0x000670, 0x01, // 'qaai' inherited
155+ 0x000671, 0x02, // 'arab' arabic
156+ 0x0006D4, 0x00,
157+ 0x0006D5, 0x02, // 'arab' arabic
158+ 0x0006D6, 0x01, // 'qaai' inherited
159+ 0x0006E5, 0x02, // 'arab' arabic
160+ 0x0006E7, 0x01, // 'qaai' inherited
161+ 0x0006E9, 0x00,
162+ 0x0006EA, 0x01, // 'qaai' inherited
163+ 0x0006EE, 0x00,
164+ 0x0006FA, 0x02, // 'arab' arabic
165+ 0x0006FD, 0x00,
166+ 0x000710, 0x22, // 'syrc' syriac
167+ 0x00072D, 0x00,
168+ 0x000730, 0x22, // 'syrc' syriac
169+ 0x00074B, 0x00,
170+ 0x000780, 0x25, // 'thaa' thaana
171+ 0x0007B2, 0x00,
172+ 0x000901, 0x0A, // 'deva' devanagari
173+ 0x000904, 0x00,
174+ 0x000905, 0x0A, // 'deva' devanagari
175+ 0x00093A, 0x00,
176+ 0x00093C, 0x0A, // 'deva' devanagari
177+ 0x00094E, 0x00,
178+ 0x000950, 0x0A, // 'deva' devanagari
179+ 0x000955, 0x00,
180+ 0x000958, 0x0A, // 'deva' devanagari
181+ 0x000964, 0x00,
182+ 0x000966, 0x0A, // 'deva' devanagari
183+ 0x000970, 0x00,
184+ 0x000981, 0x04, // 'beng' bengali
185+ 0x000984, 0x00,
186+ 0x000985, 0x04, // 'beng' bengali
187+ 0x00098D, 0x00,
188+ 0x00098F, 0x04, // 'beng' bengali
189+ 0x000991, 0x00,
190+ 0x000993, 0x04, // 'beng' bengali
191+ 0x0009A9, 0x00,
192+ 0x0009AA, 0x04, // 'beng' bengali
193+ 0x0009B1, 0x00,
194+ 0x0009B2, 0x04, // 'beng' bengali
195+ 0x0009B3, 0x00,
196+ 0x0009B6, 0x04, // 'beng' bengali
197+ 0x0009BA, 0x00,
198+ 0x0009BC, 0x04, // 'beng' bengali
199+ 0x0009BD, 0x00,
200+ 0x0009BE, 0x04, // 'beng' bengali
201+ 0x0009C5, 0x00,
202+ 0x0009C7, 0x04, // 'beng' bengali
203+ 0x0009C9, 0x00,
204+ 0x0009CB, 0x04, // 'beng' bengali
205+ 0x0009CE, 0x00,
206+ 0x0009D7, 0x04, // 'beng' bengali
207+ 0x0009D8, 0x00,
208+ 0x0009DC, 0x04, // 'beng' bengali
209+ 0x0009DE, 0x00,
210+ 0x0009DF, 0x04, // 'beng' bengali
211+ 0x0009E4, 0x00,
212+ 0x0009E6, 0x04, // 'beng' bengali
213+ 0x0009F2, 0x00,
214+ 0x000A02, 0x10, // 'guru' gurmukhi
215+ 0x000A03, 0x00,
216+ 0x000A05, 0x10, // 'guru' gurmukhi
217+ 0x000A0B, 0x00,
218+ 0x000A0F, 0x10, // 'guru' gurmukhi
219+ 0x000A11, 0x00,
220+ 0x000A13, 0x10, // 'guru' gurmukhi
221+ 0x000A29, 0x00,
222+ 0x000A2A, 0x10, // 'guru' gurmukhi
223+ 0x000A31, 0x00,
224+ 0x000A32, 0x10, // 'guru' gurmukhi
225+ 0x000A34, 0x00,
226+ 0x000A35, 0x10, // 'guru' gurmukhi
227+ 0x000A37, 0x00,
228+ 0x000A38, 0x10, // 'guru' gurmukhi
229+ 0x000A3A, 0x00,
230+ 0x000A3C, 0x10, // 'guru' gurmukhi
231+ 0x000A3D, 0x00,
232+ 0x000A3E, 0x10, // 'guru' gurmukhi
233+ 0x000A43, 0x00,
234+ 0x000A47, 0x10, // 'guru' gurmukhi
235+ 0x000A49, 0x00,
236+ 0x000A4B, 0x10, // 'guru' gurmukhi
237+ 0x000A4E, 0x00,
238+ 0x000A59, 0x10, // 'guru' gurmukhi
239+ 0x000A5D, 0x00,
240+ 0x000A5E, 0x10, // 'guru' gurmukhi
241+ 0x000A5F, 0x00,
242+ 0x000A66, 0x10, // 'guru' gurmukhi
243+ 0x000A75, 0x00,
244+ 0x000A81, 0x0F, // 'gujr' gujarati
245+ 0x000A84, 0x00,
246+ 0x000A85, 0x0F, // 'gujr' gujarati
247+ 0x000A8C, 0x00,
248+ 0x000A8D, 0x0F, // 'gujr' gujarati
249+ 0x000A8E, 0x00,
250+ 0x000A8F, 0x0F, // 'gujr' gujarati
251+ 0x000A92, 0x00,
252+ 0x000A93, 0x0F, // 'gujr' gujarati
253+ 0x000AA9, 0x00,
254+ 0x000AAA, 0x0F, // 'gujr' gujarati
255+ 0x000AB1, 0x00,
256+ 0x000AB2, 0x0F, // 'gujr' gujarati
257+ 0x000AB4, 0x00,
258+ 0x000AB5, 0x0F, // 'gujr' gujarati
259+ 0x000ABA, 0x00,
260+ 0x000ABC, 0x0F, // 'gujr' gujarati
261+ 0x000AC6, 0x00,
262+ 0x000AC7, 0x0F, // 'gujr' gujarati
263+ 0x000ACA, 0x00,
264+ 0x000ACB, 0x0F, // 'gujr' gujarati
265+ 0x000ACE, 0x00,
266+ 0x000AD0, 0x0F, // 'gujr' gujarati
267+ 0x000AD1, 0x00,
268+ 0x000AE0, 0x0F, // 'gujr' gujarati
269+ 0x000AE1, 0x00,
270+ 0x000AE6, 0x0F, // 'gujr' gujarati
271+ 0x000AF0, 0x00,
272+ 0x000B01, 0x1F, // 'orya' oriya
273+ 0x000B04, 0x00,
274+ 0x000B05, 0x1F, // 'orya' oriya
275+ 0x000B0D, 0x00,
276+ 0x000B0F, 0x1F, // 'orya' oriya
277+ 0x000B11, 0x00,
278+ 0x000B13, 0x1F, // 'orya' oriya
279+ 0x000B29, 0x00,
280+ 0x000B2A, 0x1F, // 'orya' oriya
281+ 0x000B31, 0x00,
282+ 0x000B32, 0x1F, // 'orya' oriya
283+ 0x000B34, 0x00,
284+ 0x000B36, 0x1F, // 'orya' oriya
285+ 0x000B3A, 0x00,
286+ 0x000B3C, 0x1F, // 'orya' oriya
287+ 0x000B44, 0x00,
288+ 0x000B47, 0x1F, // 'orya' oriya
289+ 0x000B49, 0x00,
290+ 0x000B4B, 0x1F, // 'orya' oriya
291+ 0x000B4E, 0x00,
292+ 0x000B56, 0x1F, // 'orya' oriya
293+ 0x000B58, 0x00,
294+ 0x000B5C, 0x1F, // 'orya' oriya
295+ 0x000B5E, 0x00,
296+ 0x000B5F, 0x1F, // 'orya' oriya
297+ 0x000B62, 0x00,
298+ 0x000B66, 0x1F, // 'orya' oriya
299+ 0x000B70, 0x00,
300+ 0x000B82, 0x23, // 'taml' tamil
301+ 0x000B84, 0x00,
302+ 0x000B85, 0x23, // 'taml' tamil
303+ 0x000B8B, 0x00,
304+ 0x000B8E, 0x23, // 'taml' tamil
305+ 0x000B91, 0x00,
306+ 0x000B92, 0x23, // 'taml' tamil
307+ 0x000B96, 0x00,
308+ 0x000B99, 0x23, // 'taml' tamil
309+ 0x000B9B, 0x00,
310+ 0x000B9C, 0x23, // 'taml' tamil
311+ 0x000B9D, 0x00,
312+ 0x000B9E, 0x23, // 'taml' tamil
313+ 0x000BA0, 0x00,
314+ 0x000BA3, 0x23, // 'taml' tamil
315+ 0x000BA5, 0x00,
316+ 0x000BA8, 0x23, // 'taml' tamil
317+ 0x000BAB, 0x00,
318+ 0x000BAE, 0x23, // 'taml' tamil
319+ 0x000BB6, 0x00,
320+ 0x000BB7, 0x23, // 'taml' tamil
321+ 0x000BBA, 0x00,
322+ 0x000BBE, 0x23, // 'taml' tamil
323+ 0x000BC3, 0x00,
324+ 0x000BC6, 0x23, // 'taml' tamil
325+ 0x000BC9, 0x00,
326+ 0x000BCA, 0x23, // 'taml' tamil
327+ 0x000BCE, 0x00,
328+ 0x000BD7, 0x23, // 'taml' tamil
329+ 0x000BD8, 0x00,
330+ 0x000BE7, 0x23, // 'taml' tamil
331+ 0x000BF3, 0x00,
332+ 0x000C01, 0x24, // 'telu' telugu
333+ 0x000C04, 0x00,
334+ 0x000C05, 0x24, // 'telu' telugu
335+ 0x000C0D, 0x00,
336+ 0x000C0E, 0x24, // 'telu' telugu
337+ 0x000C11, 0x00,
338+ 0x000C12, 0x24, // 'telu' telugu
339+ 0x000C29, 0x00,
340+ 0x000C2A, 0x24, // 'telu' telugu
341+ 0x000C34, 0x00,
342+ 0x000C35, 0x24, // 'telu' telugu
343+ 0x000C3A, 0x00,
344+ 0x000C3E, 0x24, // 'telu' telugu
345+ 0x000C45, 0x00,
346+ 0x000C46, 0x24, // 'telu' telugu
347+ 0x000C49, 0x00,
348+ 0x000C4A, 0x24, // 'telu' telugu
349+ 0x000C4E, 0x00,
350+ 0x000C55, 0x24, // 'telu' telugu
351+ 0x000C57, 0x00,
352+ 0x000C60, 0x24, // 'telu' telugu
353+ 0x000C62, 0x00,
354+ 0x000C66, 0x24, // 'telu' telugu
355+ 0x000C70, 0x00,
356+ 0x000C82, 0x15, // 'knda' kannada
357+ 0x000C84, 0x00,
358+ 0x000C85, 0x15, // 'knda' kannada
359+ 0x000C8D, 0x00,
360+ 0x000C8E, 0x15, // 'knda' kannada
361+ 0x000C91, 0x00,
362+ 0x000C92, 0x15, // 'knda' kannada
363+ 0x000CA9, 0x00,
364+ 0x000CAA, 0x15, // 'knda' kannada
365+ 0x000CB4, 0x00,
366+ 0x000CB5, 0x15, // 'knda' kannada
367+ 0x000CBA, 0x00,
368+ 0x000CBE, 0x15, // 'knda' kannada
369+ 0x000CC5, 0x00,
370+ 0x000CC6, 0x15, // 'knda' kannada
371+ 0x000CC9, 0x00,
372+ 0x000CCA, 0x15, // 'knda' kannada
373+ 0x000CCE, 0x00,
374+ 0x000CD5, 0x15, // 'knda' kannada
375+ 0x000CD7, 0x00,
376+ 0x000CDE, 0x15, // 'knda' kannada
377+ 0x000CDF, 0x00,
378+ 0x000CE0, 0x15, // 'knda' kannada
379+ 0x000CE2, 0x00,
380+ 0x000CE6, 0x15, // 'knda' kannada
381+ 0x000CF0, 0x00,
382+ 0x000D02, 0x1A, // 'mlym' malayalam
383+ 0x000D04, 0x00,
384+ 0x000D05, 0x1A, // 'mlym' malayalam
385+ 0x000D0D, 0x00,
386+ 0x000D0E, 0x1A, // 'mlym' malayalam
387+ 0x000D11, 0x00,
388+ 0x000D12, 0x1A, // 'mlym' malayalam
389+ 0x000D29, 0x00,
390+ 0x000D2A, 0x1A, // 'mlym' malayalam
391+ 0x000D3A, 0x00,
392+ 0x000D3E, 0x1A, // 'mlym' malayalam
393+ 0x000D44, 0x00,
394+ 0x000D46, 0x1A, // 'mlym' malayalam
395+ 0x000D49, 0x00,
396+ 0x000D4A, 0x1A, // 'mlym' malayalam
397+ 0x000D4E, 0x00,
398+ 0x000D57, 0x1A, // 'mlym' malayalam
399+ 0x000D58, 0x00,
400+ 0x000D60, 0x1A, // 'mlym' malayalam
401+ 0x000D62, 0x00,
402+ 0x000D66, 0x1A, // 'mlym' malayalam
403+ 0x000D70, 0x00,
404+ 0x000D82, 0x21, // 'sinh' sinhala
405+ 0x000D84, 0x00,
406+ 0x000D85, 0x21, // 'sinh' sinhala
407+ 0x000D97, 0x00,
408+ 0x000D9A, 0x21, // 'sinh' sinhala
409+ 0x000DB2, 0x00,
410+ 0x000DB3, 0x21, // 'sinh' sinhala
411+ 0x000DBC, 0x00,
412+ 0x000DBD, 0x21, // 'sinh' sinhala
413+ 0x000DBE, 0x00,
414+ 0x000DC0, 0x21, // 'sinh' sinhala
415+ 0x000DC7, 0x00,
416+ 0x000DCA, 0x21, // 'sinh' sinhala
417+ 0x000DCB, 0x00,
418+ 0x000DCF, 0x21, // 'sinh' sinhala
419+ 0x000DD5, 0x00,
420+ 0x000DD6, 0x21, // 'sinh' sinhala
421+ 0x000DD7, 0x00,
422+ 0x000DD8, 0x21, // 'sinh' sinhala
423+ 0x000DE0, 0x00,
424+ 0x000DF2, 0x21, // 'sinh' sinhala
425+ 0x000DF4, 0x00,
426+ 0x000E01, 0x26, // 'thai' thai
427+ 0x000E3B, 0x00,
428+ 0x000E40, 0x26, // 'thai' thai
429+ 0x000E4F, 0x00,
430+ 0x000E50, 0x26, // 'thai' thai
431+ 0x000E5A, 0x00,
432+ 0x000E81, 0x18, // 'laoo' lao
433+ 0x000E83, 0x00,
434+ 0x000E84, 0x18, // 'laoo' lao
435+ 0x000E85, 0x00,
436+ 0x000E87, 0x18, // 'laoo' lao
437+ 0x000E89, 0x00,
438+ 0x000E8A, 0x18, // 'laoo' lao
439+ 0x000E8B, 0x00,
440+ 0x000E8D, 0x18, // 'laoo' lao
441+ 0x000E8E, 0x00,
442+ 0x000E94, 0x18, // 'laoo' lao
443+ 0x000E98, 0x00,
444+ 0x000E99, 0x18, // 'laoo' lao
445+ 0x000EA0, 0x00,
446+ 0x000EA1, 0x18, // 'laoo' lao
447+ 0x000EA4, 0x00,
448+ 0x000EA5, 0x18, // 'laoo' lao
449+ 0x000EA6, 0x00,
450+ 0x000EA7, 0x18, // 'laoo' lao
451+ 0x000EA8, 0x00,
452+ 0x000EAA, 0x18, // 'laoo' lao
453+ 0x000EAC, 0x00,
454+ 0x000EAD, 0x18, // 'laoo' lao
455+ 0x000EBA, 0x00,
456+ 0x000EBB, 0x18, // 'laoo' lao
457+ 0x000EBE, 0x00,
458+ 0x000EC0, 0x18, // 'laoo' lao
459+ 0x000EC5, 0x00,
460+ 0x000EC6, 0x18, // 'laoo' lao
461+ 0x000EC7, 0x00,
462+ 0x000EC8, 0x18, // 'laoo' lao
463+ 0x000ECE, 0x00,
464+ 0x000ED0, 0x18, // 'laoo' lao
465+ 0x000EDA, 0x00,
466+ 0x000EDC, 0x18, // 'laoo' lao
467+ 0x000EDE, 0x00,
468+ 0x000F00, 0x27, // 'tibt' tibetan
469+ 0x000F01, 0x00,
470+ 0x000F18, 0x27, // 'tibt' tibetan
471+ 0x000F1A, 0x00,
472+ 0x000F20, 0x27, // 'tibt' tibetan
473+ 0x000F34, 0x00,
474+ 0x000F35, 0x27, // 'tibt' tibetan
475+ 0x000F36, 0x00,
476+ 0x000F37, 0x27, // 'tibt' tibetan
477+ 0x000F38, 0x00,
478+ 0x000F39, 0x27, // 'tibt' tibetan
479+ 0x000F3A, 0x00,
480+ 0x000F40, 0x27, // 'tibt' tibetan
481+ 0x000F48, 0x00,
482+ 0x000F49, 0x27, // 'tibt' tibetan
483+ 0x000F6B, 0x00,
484+ 0x000F71, 0x27, // 'tibt' tibetan
485+ 0x000F85, 0x00,
486+ 0x000F86, 0x27, // 'tibt' tibetan
487+ 0x000F8C, 0x00,
488+ 0x000F90, 0x27, // 'tibt' tibetan
489+ 0x000F98, 0x00,
490+ 0x000F99, 0x27, // 'tibt' tibetan
491+ 0x000FBD, 0x00,
492+ 0x000FC6, 0x27, // 'tibt' tibetan
493+ 0x000FC7, 0x00,
494+ 0x001000, 0x1C, // 'mymr' myanmar
495+ 0x001022, 0x00,
496+ 0x001023, 0x1C, // 'mymr' myanmar
497+ 0x001028, 0x00,
498+ 0x001029, 0x1C, // 'mymr' myanmar
499+ 0x00102B, 0x00,
500+ 0x00102C, 0x1C, // 'mymr' myanmar
501+ 0x001033, 0x00,
502+ 0x001036, 0x1C, // 'mymr' myanmar
503+ 0x00103A, 0x00,
504+ 0x001040, 0x1C, // 'mymr' myanmar
505+ 0x00104A, 0x00,
506+ 0x001050, 0x1C, // 'mymr' myanmar
507+ 0x00105A, 0x00,
508+ 0x0010A0, 0x0C, // 'geor' georgian
509+ 0x0010C6, 0x00,
510+ 0x0010D0, 0x0C, // 'geor' georgian
511+ 0x0010F9, 0x00,
512+ 0x001100, 0x12, // 'hang' hangul
513+ 0x00115A, 0x00,
514+ 0x00115F, 0x12, // 'hang' hangul
515+ 0x0011A3, 0x00,
516+ 0x0011A8, 0x12, // 'hang' hangul
517+ 0x0011FA, 0x00,
518+ 0x001200, 0x0B, // 'ethi' ethiopic
519+ 0x001207, 0x00,
520+ 0x001208, 0x0B, // 'ethi' ethiopic
521+ 0x001247, 0x00,
522+ 0x001248, 0x0B, // 'ethi' ethiopic
523+ 0x001249, 0x00,
524+ 0x00124A, 0x0B, // 'ethi' ethiopic
525+ 0x00124E, 0x00,
526+ 0x001250, 0x0B, // 'ethi' ethiopic
527+ 0x001257, 0x00,
528+ 0x001258, 0x0B, // 'ethi' ethiopic
529+ 0x001259, 0x00,
530+ 0x00125A, 0x0B, // 'ethi' ethiopic
531+ 0x00125E, 0x00,
532+ 0x001260, 0x0B, // 'ethi' ethiopic
533+ 0x001287, 0x00,
534+ 0x001288, 0x0B, // 'ethi' ethiopic
535+ 0x001289, 0x00,
536+ 0x00128A, 0x0B, // 'ethi' ethiopic
537+ 0x00128E, 0x00,
538+ 0x001290, 0x0B, // 'ethi' ethiopic
539+ 0x0012AF, 0x00,
540+ 0x0012B0, 0x0B, // 'ethi' ethiopic
541+ 0x0012B1, 0x00,
542+ 0x0012B2, 0x0B, // 'ethi' ethiopic
543+ 0x0012B6, 0x00,
544+ 0x0012B8, 0x0B, // 'ethi' ethiopic
545+ 0x0012BF, 0x00,
546+ 0x0012C0, 0x0B, // 'ethi' ethiopic
547+ 0x0012C1, 0x00,
548+ 0x0012C2, 0x0B, // 'ethi' ethiopic
549+ 0x0012C6, 0x00,
550+ 0x0012C8, 0x0B, // 'ethi' ethiopic
551+ 0x0012CF, 0x00,
552+ 0x0012D0, 0x0B, // 'ethi' ethiopic
553+ 0x0012D7, 0x00,
554+ 0x0012D8, 0x0B, // 'ethi' ethiopic
555+ 0x0012EF, 0x00,
556+ 0x0012F0, 0x0B, // 'ethi' ethiopic
557+ 0x00130F, 0x00,
558+ 0x001310, 0x0B, // 'ethi' ethiopic
559+ 0x001311, 0x00,
560+ 0x001312, 0x0B, // 'ethi' ethiopic
561+ 0x001316, 0x00,
562+ 0x001318, 0x0B, // 'ethi' ethiopic
563+ 0x00131F, 0x00,
564+ 0x001320, 0x0B, // 'ethi' ethiopic
565+ 0x001347, 0x00,
566+ 0x001348, 0x0B, // 'ethi' ethiopic
567+ 0x00135B, 0x00,
568+ 0x001369, 0x0B, // 'ethi' ethiopic
569+ 0x00137D, 0x00,
570+ 0x0013A0, 0x06, // 'cher' cherokee
571+ 0x0013F5, 0x00,
572+ 0x001401, 0x28, // 'cans' canadian_aboriginal
573+ 0x00166D, 0x00,
574+ 0x00166F, 0x28, // 'cans' canadian_aboriginal
575+ 0x001677, 0x00,
576+ 0x001681, 0x1D, // 'ogam' ogham
577+ 0x00169B, 0x00,
578+ 0x0016A0, 0x20, // 'runr' runic
579+ 0x0016EB, 0x00,
580+ 0x0016EE, 0x20, // 'runr' runic
581+ 0x0016F1, 0x00,
582+ 0x001700, 0x2A, // 'tglg' tagalog
583+ 0x00170D, 0x00,
584+ 0x00170E, 0x2A, // 'tglg' tagalog
585+ 0x001715, 0x00,
586+ 0x001720, 0x2B, // 'hano' hanunoo
587+ 0x001735, 0x00,
588+ 0x001740, 0x2C, // 'buhd' buhid
589+ 0x001754, 0x00,
590+ 0x001760, 0x2D, // 'tagb' tagbanwa
591+ 0x00176D, 0x00,
592+ 0x00176E, 0x2D, // 'tagb' tagbanwa
593+ 0x001771, 0x00,
594+ 0x001772, 0x2D, // 'tagb' tagbanwa
595+ 0x001774, 0x00,
596+ 0x001780, 0x17, // 'khmr' khmer
597+ 0x0017D4, 0x00,
598+ 0x0017E0, 0x17, // 'khmr' khmer
599+ 0x0017EA, 0x00,
600+ 0x00180B, 0x01, // 'qaai' inherited
601+ 0x00180E, 0x00,
602+ 0x001810, 0x1B, // 'mong' mongolian
603+ 0x00181A, 0x00,
604+ 0x001820, 0x1B, // 'mong' mongolian
605+ 0x001878, 0x00,
606+ 0x001880, 0x1B, // 'mong' mongolian
607+ 0x0018AA, 0x00,
608+ 0x001E00, 0x19, // 'latn' latin
609+ 0x001E9C, 0x00,
610+ 0x001EA0, 0x19, // 'latn' latin
611+ 0x001EFA, 0x00,
612+ 0x001F00, 0x0E, // 'grek' greek
613+ 0x001F16, 0x00,
614+ 0x001F18, 0x0E, // 'grek' greek
615+ 0x001F1E, 0x00,
616+ 0x001F20, 0x0E, // 'grek' greek
617+ 0x001F46, 0x00,
618+ 0x001F48, 0x0E, // 'grek' greek
619+ 0x001F4E, 0x00,
620+ 0x001F50, 0x0E, // 'grek' greek
621+ 0x001F58, 0x00,
622+ 0x001F59, 0x0E, // 'grek' greek
623+ 0x001F5A, 0x00,
624+ 0x001F5B, 0x0E, // 'grek' greek
625+ 0x001F5C, 0x00,
626+ 0x001F5D, 0x0E, // 'grek' greek
627+ 0x001F5E, 0x00,
628+ 0x001F5F, 0x0E, // 'grek' greek
629+ 0x001F7E, 0x00,
630+ 0x001F80, 0x0E, // 'grek' greek
631+ 0x001FB5, 0x00,
632+ 0x001FB6, 0x0E, // 'grek' greek
633+ 0x001FBD, 0x00,
634+ 0x001FBE, 0x0E, // 'grek' greek
635+ 0x001FBF, 0x00,
636+ 0x001FC2, 0x0E, // 'grek' greek
637+ 0x001FC5, 0x00,
638+ 0x001FC6, 0x0E, // 'grek' greek
639+ 0x001FCD, 0x00,
640+ 0x001FD0, 0x0E, // 'grek' greek
641+ 0x001FD4, 0x00,
642+ 0x001FD6, 0x0E, // 'grek' greek
643+ 0x001FDC, 0x00,
644+ 0x001FE0, 0x0E, // 'grek' greek
645+ 0x001FED, 0x00,
646+ 0x001FF2, 0x0E, // 'grek' greek
647+ 0x001FF5, 0x00,
648+ 0x001FF6, 0x0E, // 'grek' greek
649+ 0x001FFD, 0x00,
650+ 0x002071, 0x19, // 'latn' latin
651+ 0x002072, 0x00,
652+ 0x00207F, 0x19, // 'latn' latin
653+ 0x002080, 0x00,
654+ 0x0020D0, 0x01, // 'qaai' inherited
655+ 0x0020EB, 0x00,
656+ 0x002126, 0x0E, // 'grek' greek
657+ 0x002127, 0x00,
658+ 0x00212A, 0x19, // 'latn' latin
659+ 0x00212C, 0x00,
660+ 0x002E80, 0x11, // 'hani' han
661+ 0x002E9A, 0x00,
662+ 0x002E9B, 0x11, // 'hani' han
663+ 0x002EF4, 0x00,
664+ 0x002F00, 0x11, // 'hani' han
665+ 0x002FD6, 0x00,
666+ 0x003005, 0x11, // 'hani' han
667+ 0x003006, 0x00,
668+ 0x003007, 0x11, // 'hani' han
669+ 0x003008, 0x00,
670+ 0x003021, 0x11, // 'hani' han
671+ 0x00302A, 0x01, // 'qaai' inherited
672+ 0x003030, 0x00,
673+ 0x003038, 0x11, // 'hani' han
674+ 0x00303C, 0x00,
675+ 0x003041, 0x14, // 'hira' hiragana
676+ 0x003097, 0x00,
677+ 0x003099, 0x01, // 'qaai' inherited
678+ 0x00309B, 0x00,
679+ 0x00309D, 0x14, // 'hira' hiragana
680+ 0x0030A0, 0x00,
681+ 0x0030A1, 0x16, // 'kana' katakana
682+ 0x0030FB, 0x00,
683+ 0x0030FD, 0x16, // 'kana' katakana
684+ 0x003100, 0x00,
685+ 0x003105, 0x05, // 'bopo' bopomofo
686+ 0x00312D, 0x00,
687+ 0x003131, 0x12, // 'hang' hangul
688+ 0x00318F, 0x00,
689+ 0x0031A0, 0x05, // 'bopo' bopomofo
690+ 0x0031B8, 0x00,
691+ 0x0031F0, 0x16, // 'kana' katakana
692+ 0x003200, 0x00,
693+ 0x003400, 0x11, // 'hani' han
694+ 0x004DB6, 0x00,
695+ 0x004E00, 0x11, // 'hani' han
696+ 0x009FA6, 0x00,
697+ 0x00A000, 0x29, // 'yiii' yi
698+ 0x00A48D, 0x00,
699+ 0x00A490, 0x29, // 'yiii' yi
700+ 0x00A4A2, 0x00,
701+ 0x00A4A4, 0x29, // 'yiii' yi
702+ 0x00A4B4, 0x00,
703+ 0x00A4B5, 0x29, // 'yiii' yi
704+ 0x00A4C1, 0x00,
705+ 0x00A4C2, 0x29, // 'yiii' yi
706+ 0x00A4C5, 0x00,
707+ 0x00A4C6, 0x29, // 'yiii' yi
708+ 0x00A4C7, 0x00,
709+ 0x00AC00, 0x12, // 'hang' hangul
710+ 0x00D7A4, 0x00,
711+ 0x00F900, 0x11, // 'hani' han
712+ 0x00FA2E, 0x00,
713+ 0x00FA30, 0x11, // 'hani' han
714+ 0x00FA6B, 0x00,
715+ 0x00FB00, 0x19, // 'latn' latin
716+ 0x00FB07, 0x00,
717+ 0x00FB13, 0x03, // 'armn' armenian
718+ 0x00FB18, 0x00,
719+ 0x00FB1D, 0x13, // 'hebr' hebrew
720+ 0x00FB1E, 0x01, // 'qaai' inherited
721+ 0x00FB1F, 0x13, // 'hebr' hebrew
722+ 0x00FB29, 0x00,
723+ 0x00FB2A, 0x13, // 'hebr' hebrew
724+ 0x00FB37, 0x00,
725+ 0x00FB38, 0x13, // 'hebr' hebrew
726+ 0x00FB3D, 0x00,
727+ 0x00FB3E, 0x13, // 'hebr' hebrew
728+ 0x00FB3F, 0x00,
729+ 0x00FB40, 0x13, // 'hebr' hebrew
730+ 0x00FB42, 0x00,
731+ 0x00FB43, 0x13, // 'hebr' hebrew
732+ 0x00FB45, 0x00,
733+ 0x00FB46, 0x13, // 'hebr' hebrew
734+ 0x00FB50, 0x02, // 'arab' arabic
735+ 0x00FBB2, 0x00,
736+ 0x00FBD3, 0x02, // 'arab' arabic
737+ 0x00FD3E, 0x00,
738+ 0x00FD50, 0x02, // 'arab' arabic
739+ 0x00FD90, 0x00,
740+ 0x00FD92, 0x02, // 'arab' arabic
741+ 0x00FDC8, 0x00,
742+ 0x00FDF0, 0x02, // 'arab' arabic
743+ 0x00FDFC, 0x00,
744+ 0x00FE00, 0x01, // 'qaai' inherited
745+ 0x00FE10, 0x00,
746+ 0x00FE20, 0x01, // 'qaai' inherited
747+ 0x00FE24, 0x00,
748+ 0x00FE70, 0x02, // 'arab' arabic
749+ 0x00FE75, 0x00,
750+ 0x00FE76, 0x02, // 'arab' arabic
751+ 0x00FEFD, 0x00,
752+ 0x00FF21, 0x19, // 'latn' latin
753+ 0x00FF3B, 0x00,
754+ 0x00FF41, 0x19, // 'latn' latin
755+ 0x00FF5B, 0x00,
756+ 0x00FF66, 0x16, // 'kana' katakana
757+ 0x00FF70, 0x00,
758+ 0x00FF71, 0x16, // 'kana' katakana
759+ 0x00FF9E, 0x00,
760+ 0x00FFA0, 0x12, // 'hang' hangul
761+ 0x00FFBF, 0x00,
762+ 0x00FFC2, 0x12, // 'hang' hangul
763+ 0x00FFC8, 0x00,
764+ 0x00FFCA, 0x12, // 'hang' hangul
765+ 0x00FFD0, 0x00,
766+ 0x00FFD2, 0x12, // 'hang' hangul
767+ 0x00FFD8, 0x00,
768+ 0x00FFDA, 0x12, // 'hang' hangul
769+ 0x00FFDD, 0x00,
770+ 0x010300, 0x1E, // 'ital' old_italic
771+ 0x01031F, 0x00,
772+ 0x010330, 0x0D, // 'goth' gothic
773+ 0x01034B, 0x00,
774+ 0x010400, 0x09, // 'dsrt' deseret
775+ 0x010426, 0x00,
776+ 0x010428, 0x09, // 'dsrt' deseret
777+ 0x01044E, 0x00,
778+ 0x01D167, 0x01, // 'qaai' inherited
779+ 0x01D16A, 0x00,
780+ 0x01D17B, 0x01, // 'qaai' inherited
781+ 0x01D183, 0x00,
782+ 0x01D185, 0x01, // 'qaai' inherited
783+ 0x01D18C, 0x00,
784+ 0x01D1AA, 0x01, // 'qaai' inherited
785+ 0x01D1AE, 0x00,
786+ 0x020000, 0x11, // 'hani' han
787+ 0x02A6D7, 0x00,
788+ 0x02F800, 0x11, // 'hani' han
789+ 0x02FA1E, 0x00,
790+ 0x110000, -1, // (NO NAME)
791+ };
792+
793+ private static final int dataPower = 1 << 10;
794+ private static final int dataExtra = data.length - dataPower;
795+}