[buffer-deserialize] Ignore glyph extents

Fixes https://github.com/harfbuzz/harfbuzz/issues/5169
This commit is contained in:
Behdad Esfahbod 2025-04-04 16:17:32 -06:00
parent 9ddf3da71e
commit 0457d3d734
4 changed files with 565 additions and 431 deletions

View file

@ -32,38 +32,39 @@
#include "hb.hh"
#line 36 "hb-buffer-deserialize-json.hh"
#line 33 "hb-buffer-deserialize-json.hh"
static const unsigned char _deserialize_json_trans_keys[] = {
0u, 0u, 9u, 34u, 97u, 117u, 120u, 121u, 34u, 34u, 9u, 58u, 9u, 57u, 48u, 57u,
0u, 0u, 9u, 34u, 97u, 121u, 120u, 121u, 34u, 34u, 9u, 58u, 9u, 57u, 48u, 57u,
9u, 125u, 9u, 125u, 9u, 93u, 9u, 125u, 34u, 34u, 9u, 58u, 9u, 57u, 48u, 57u,
9u, 125u, 9u, 125u, 108u, 108u, 34u, 34u, 9u, 58u, 9u, 57u, 9u, 125u, 9u, 125u,
120u, 121u, 34u, 34u, 9u, 58u, 9u, 57u, 48u, 57u, 9u, 125u, 9u, 125u, 34u, 34u,
9u, 58u, 9u, 57u, 48u, 57u, 9u, 125u, 9u, 125u, 108u, 108u, 34u, 34u, 9u, 58u,
9u, 57u, 9u, 125u, 9u, 125u, 34u, 34u, 9u, 58u, 9u, 57u, 34u, 92u, 9u, 125u,
34u, 92u, 9u, 125u, 9u, 125u, 34u, 34u, 9u, 58u, 9u, 57u, 9u, 125u, 9u, 123u,
9u, 123u, 9u, 123u, 0
34u, 92u, 9u, 125u, 9u, 125u, 34u, 34u, 9u, 58u, 9u, 57u, 48u, 57u, 9u, 125u,
34u, 34u, 9u, 58u, 9u, 57u, 9u, 125u, 98u, 98u, 9u, 123u, 9u, 123u, 9u, 123u,
0
};
static const char _deserialize_json_key_spans[] = {
0, 26, 21, 2, 1, 50, 49, 10,
0, 26, 25, 2, 1, 50, 49, 10,
117, 117, 85, 117, 1, 50, 49, 10,
117, 117, 1, 1, 50, 49, 117, 117,
2, 1, 50, 49, 10, 117, 117, 1,
50, 49, 10, 117, 117, 1, 1, 50,
49, 117, 117, 1, 50, 49, 59, 117,
59, 117, 117, 1, 50, 49, 117, 115,
115, 115
59, 117, 117, 1, 50, 49, 10, 117,
1, 50, 49, 117, 1, 115, 115, 115
};
static const short _deserialize_json_index_offsets[] = {
0, 0, 27, 49, 52, 54, 105, 155,
166, 284, 402, 488, 606, 608, 659, 709,
720, 838, 956, 958, 960, 1011, 1061, 1179,
1297, 1300, 1302, 1353, 1403, 1414, 1532, 1650,
1652, 1703, 1753, 1764, 1882, 2000, 2002, 2004,
2055, 2105, 2223, 2341, 2343, 2394, 2444, 2504,
2622, 2682, 2800, 2918, 2920, 2971, 3021, 3139,
3255, 3371
0, 0, 27, 53, 56, 58, 109, 159,
170, 288, 406, 492, 610, 612, 663, 713,
724, 842, 960, 962, 964, 1015, 1065, 1183,
1301, 1304, 1306, 1357, 1407, 1418, 1536, 1654,
1656, 1707, 1757, 1768, 1886, 2004, 2006, 2008,
2059, 2109, 2227, 2345, 2347, 2398, 2448, 2508,
2626, 2686, 2804, 2922, 2924, 2975, 3025, 3036,
3154, 3156, 3207, 3257, 3375, 3377, 3493, 3609
};
static const char _deserialize_json_indicies[] = {
@ -71,28 +72,28 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 2, 1, 3, 1, 4, 5,
1, 6, 7, 1, 1, 1, 1, 1,
1, 6, 7, 8, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
8, 1, 9, 10, 1, 11, 1, 11,
11, 11, 11, 11, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 11, 1,
9, 1, 8, 10, 10, 1, 11, 12,
1, 13, 1, 13, 13, 13, 13, 13,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
12, 1, 12, 12, 12, 12, 12, 1,
1, 1, 13, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 12, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 13, 1,
1, 14, 15, 15, 15, 15, 15, 15,
15, 15, 15, 1, 16, 17, 17, 17,
17, 17, 17, 17, 17, 17, 1, 18,
18, 18, 18, 18, 1, 1, 1, 1,
1, 1, 1, 1, 14, 1, 14, 14,
14, 14, 14, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 18, 1,
1, 1, 1, 1, 1, 14, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 19, 1, 1, 1, 1, 1,
1, 1, 15, 1, 1, 16, 17, 17,
17, 17, 17, 17, 17, 17, 17, 1,
18, 19, 19, 19, 19, 19, 19, 19,
19, 19, 1, 20, 20, 20, 20, 20,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 20, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 21, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -102,12 +103,12 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 20, 1, 21, 21, 21,
21, 21, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 22,
1, 23, 23, 23, 23, 23, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 21, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1,
23, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -117,24 +118,24 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 22, 1, 22, 22, 22, 22, 22,
1, 1, 1, 1, 1, 24, 1, 24,
24, 24, 24, 24, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 24, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 22, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 23, 1,
1, 1, 25, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 23,
1, 18, 18, 18, 18, 18, 1, 1,
1, 1, 1, 25, 1, 20, 20, 20,
20, 20, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 20, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
18, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 19, 1, 1, 1,
17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 1, 1, 1, 1, 1, 1,
21, 1, 1, 1, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -142,26 +143,27 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 20, 1, 24,
1, 24, 24, 24, 24, 24, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 22, 1, 26, 1, 26, 26, 26,
26, 26, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 26, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
24, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 27, 1,
27, 27, 27, 27, 27, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 27,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 25, 1, 25, 25, 25, 25,
25, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 25, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
26, 1, 1, 27, 28, 28, 28, 28,
28, 28, 28, 28, 28, 1, 29, 30,
1, 1, 1, 1, 28, 1, 1, 29,
30, 30, 30, 30, 30, 30, 30, 30,
1, 31, 31, 31, 31, 31, 1, 1,
30, 1, 31, 32, 32, 32, 32, 32,
32, 32, 32, 32, 1, 33, 33, 33,
33, 33, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 33, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
31, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 32, 1, 1, 1,
34, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -171,13 +173,13 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 33, 1, 31,
31, 31, 31, 31, 1, 1, 1, 1,
1, 35, 1, 33, 33, 33, 33, 33,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 31, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 32, 1, 1, 1, 30, 30,
30, 30, 30, 30, 30, 30, 30, 30,
1, 1, 33, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 34, 1,
1, 1, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -185,26 +187,27 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 35,
1, 36, 1, 37, 1, 37, 37, 37,
37, 37, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 33, 1, 34, 1, 35,
1, 35, 35, 35, 35, 35, 1, 1,
1, 1, 1, 1, 37, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
35, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 38, 1,
38, 38, 38, 38, 38, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 38,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 36, 1, 36, 36, 36, 36,
36, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 39,
40, 40, 40, 40, 40, 40, 40, 40,
40, 1, 41, 41, 41, 41, 41, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 36, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 37, 38, 38, 38, 38,
38, 38, 38, 38, 38, 1, 39, 39,
39, 39, 39, 1, 1, 1, 1, 1,
1, 41, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 42, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 39, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 40, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -212,43 +215,43 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 43, 1,
41, 41, 41, 41, 41, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 41,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 41, 1, 39, 39, 39, 39,
39, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 42, 1, 1, 1, 44,
44, 44, 44, 44, 44, 44, 44, 44,
44, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 39, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 40,
1, 1, 1, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 43, 1, 45, 46,
1, 47, 1, 47, 47, 47, 47, 47,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
41, 1, 43, 44, 1, 45, 1, 45,
45, 45, 45, 45, 1, 1, 1, 1,
1, 1, 47, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 45, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 48, 1, 48, 48,
48, 48, 48, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 48, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
46, 1, 46, 46, 46, 46, 46, 1,
1, 1, 49, 1, 1, 50, 51, 51,
51, 51, 51, 51, 51, 51, 51, 1,
52, 53, 53, 53, 53, 53, 53, 53,
53, 53, 1, 54, 54, 54, 54, 54,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 46, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 47, 1,
1, 48, 49, 49, 49, 49, 49, 49,
49, 49, 49, 1, 50, 51, 51, 51,
51, 51, 51, 51, 51, 51, 1, 52,
52, 52, 52, 52, 1, 1, 1, 1,
1, 1, 54, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 55, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 52, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 53, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -256,85 +259,57 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 54, 1, 52, 52, 52,
52, 52, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 52, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
53, 1, 1, 1, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 54, 1, 55, 1, 55, 55, 55,
55, 55, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 55, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 56, 1,
56, 56, 56, 56, 56, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 56,
1, 54, 54, 54, 54, 54, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 57, 1, 1, 58,
59, 59, 59, 59, 59, 59, 59, 59,
59, 1, 60, 61, 61, 61, 61, 61,
61, 61, 61, 61, 1, 62, 62, 62,
62, 62, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 62, 1, 1, 1,
54, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 55, 1, 1, 1,
53, 53, 53, 53, 53, 53, 53, 53,
53, 53, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
63, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 56, 1, 57,
1, 57, 57, 57, 57, 57, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
57, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 64, 1, 62, 62, 62, 62, 62,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 58, 1, 58, 58, 58, 58,
58, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 62, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 63, 1,
1, 1, 61, 61, 61, 61, 61, 61,
61, 61, 61, 61, 1, 1, 1, 1,
1, 1, 1, 58, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
59, 1, 1, 60, 61, 61, 61, 61,
61, 61, 61, 61, 61, 1, 62, 63,
63, 63, 63, 63, 63, 63, 63, 63,
1, 64, 64, 64, 64, 64, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
64, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 65, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 64,
1, 65, 1, 66, 1, 66, 66, 66,
66, 66, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 66, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 67, 1,
67, 67, 67, 67, 67, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 67,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 68,
69, 69, 69, 69, 69, 69, 69, 69,
69, 1, 70, 70, 70, 70, 70, 1,
1, 1, 1, 1, 1, 66, 1, 64,
64, 64, 64, 64, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 64, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 70, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 71, 1, 1,
1, 1, 65, 1, 1, 1, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -343,48 +318,42 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 66, 1, 67, 1, 68,
1, 68, 68, 68, 68, 68, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 72, 1,
70, 70, 70, 70, 70, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 70,
68, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 71, 1, 1, 1, 73,
73, 73, 73, 73, 73, 73, 73, 73,
73, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 69, 1, 69, 69, 69, 69,
69, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 69, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 70, 71, 71, 71, 71,
71, 71, 71, 71, 71, 1, 72, 72,
72, 72, 72, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 72, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 73, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 72, 1, 74, 1,
74, 74, 74, 74, 74, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 74,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 75, 1, 75, 75, 75, 75, 75,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 75, 1, 76, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 77, 78, 78, 78, 78, 78,
78, 78, 78, 78, 1, 80, 79, 79,
79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79, 79, 79, 81,
79, 82, 82, 82, 82, 82, 1, 1,
1, 1, 74, 1, 72, 72, 72, 72,
72, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 72, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 73,
1, 1, 1, 75, 75, 75, 75, 75,
75, 75, 75, 75, 75, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
82, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 83, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -392,65 +361,32 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
74, 1, 76, 1, 76, 76, 76, 76,
76, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 76, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 84, 1, 79,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 77, 1, 77,
77, 77, 77, 77, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 77, 1,
78, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 79, 80,
80, 80, 80, 80, 80, 80, 80, 80,
1, 82, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 83, 81, 84, 84, 84,
84, 84, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 79, 1, 85, 85, 85, 85, 85,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 85, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 86, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 87,
1, 85, 85, 85, 85, 85, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 84, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
85, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 86, 1, 1, 1,
88, 88, 88, 88, 88, 88, 88, 88,
88, 88, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 87, 1, 89,
1, 89, 89, 89, 89, 89, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
89, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 90, 1, 90, 90, 90, 90,
90, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 90, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 91, 92, 92, 92, 92,
92, 92, 92, 92, 92, 1, 85, 85,
85, 85, 85, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 85, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 86, 1, 1, 1, 93, 93, 93,
93, 93, 93, 93, 93, 93, 93, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -459,24 +395,119 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 87, 1, 94, 94, 94, 94,
94, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 94, 1, 1, 1, 1,
1, 86, 1, 81, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 95, 1,
1, 1, 1, 1, 1, 81, 1, 87,
87, 87, 87, 87, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 87, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 88, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 96, 1,
95, 95, 95, 95, 95, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 95,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 89, 1, 87, 87, 87,
87, 87, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 87, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
88, 1, 1, 1, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 89, 1, 91, 1, 91, 91, 91,
91, 91, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 91, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 92, 1,
92, 92, 92, 92, 92, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 92,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 93, 1, 1, 94,
95, 95, 95, 95, 95, 95, 95, 95,
95, 1, 23, 96, 96, 96, 96, 96,
96, 96, 96, 96, 1, 23, 23, 23,
23, 23, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 23, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 24, 1, 97, 1, 97, 97, 97,
97, 97, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 97, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 98, 1,
98, 98, 98, 98, 98, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 98,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 99,
100, 100, 100, 100, 100, 100, 100, 100,
100, 1, 87, 87, 87, 87, 87, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 87, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 88, 1, 1,
1, 101, 101, 101, 101, 101, 101, 101,
101, 101, 101, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 89, 1,
8, 1, 102, 102, 102, 102, 102, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 102, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 103, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 104, 1, 103, 103,
103, 103, 103, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 103, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -488,10 +519,10 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 96, 1, 23, 23, 23, 23,
23, 1, 1, 1, 1, 1, 1, 1,
104, 1, 25, 25, 25, 25, 25, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 23, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 25, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
@ -502,50 +533,51 @@ static const char _deserialize_json_indicies[] = {
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 96, 1,
0
1, 1, 1, 1, 104, 1, 0
};
static const char _deserialize_json_trans_targs[] = {
1, 0, 2, 3, 18, 24, 37, 43,
51, 4, 12, 5, 6, 7, 8, 11,
8, 11, 9, 1, 10, 9, 10, 57,
13, 14, 15, 16, 17, 16, 17, 9,
1, 10, 19, 20, 21, 22, 23, 9,
1, 10, 23, 25, 31, 26, 27, 28,
29, 30, 29, 30, 9, 1, 10, 32,
33, 34, 35, 36, 35, 36, 9, 1,
10, 38, 39, 40, 41, 42, 9, 1,
10, 42, 44, 45, 46, 49, 50, 46,
47, 48, 9, 1, 10, 9, 1, 10,
50, 52, 53, 49, 54, 54, 55, 56,
51, 56, 60, 4, 12, 5, 6, 7,
8, 11, 8, 11, 9, 1, 10, 9,
10, 63, 13, 14, 15, 16, 17, 16,
17, 9, 1, 10, 19, 20, 21, 22,
23, 9, 1, 10, 23, 25, 31, 26,
27, 28, 29, 30, 29, 30, 9, 1,
10, 32, 33, 34, 35, 36, 35, 36,
9, 1, 10, 38, 39, 40, 41, 42,
9, 1, 10, 42, 44, 45, 46, 49,
50, 46, 47, 48, 9, 1, 10, 9,
1, 10, 50, 52, 53, 54, 9, 55,
55, 57, 58, 49, 59, 59, 61, 62,
1
};
static const char _deserialize_json_trans_actions[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 1,
0, 0, 2, 2, 2, 0, 0, 3,
0, 0, 1, 1, 1, 0, 0, 4,
4, 4, 0, 0, 0, 1, 1, 5,
5, 5, 0, 0, 0, 0, 0, 1,
1, 1, 0, 0, 6, 6, 6, 0,
0, 1, 1, 1, 0, 0, 7, 7,
7, 0, 0, 0, 1, 1, 8, 8,
8, 0, 0, 0, 1, 9, 9, 0,
10, 0, 11, 11, 11, 12, 12, 12,
10, 0, 0, 13, 13, 14, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1,
1, 1, 0, 0, 2, 2, 2, 0,
0, 3, 0, 0, 1, 1, 1, 0,
0, 4, 4, 4, 0, 0, 0, 1,
1, 5, 5, 5, 0, 0, 0, 0,
0, 1, 1, 1, 0, 0, 6, 6,
6, 0, 0, 1, 1, 1, 0, 0,
7, 7, 7, 0, 0, 0, 1, 1,
8, 8, 8, 0, 0, 0, 1, 9,
9, 0, 10, 0, 11, 11, 11, 12,
12, 12, 10, 0, 0, 1, 1, 1,
0, 0, 0, 13, 13, 14, 0, 0,
15
};
static const int deserialize_json_start = 55;
static const int deserialize_json_first_final = 55;
static const int deserialize_json_start = 61;
static const int deserialize_json_first_final = 61;
static const int deserialize_json_error = 0;
static const int deserialize_json_en_main = 55;
static const int deserialize_json_en_main = 61;
#line 111 "hb-buffer-deserialize-json.rl"
#line 115 "hb-buffer-deserialize-json.rl"
static hb_bool_t
@ -565,12 +597,12 @@ _hb_buffer_deserialize_json (hb_buffer_t *buffer,
hb_glyph_info_t info = {0};
hb_glyph_position_t pos = {0};
#line 569 "hb-buffer-deserialize-json.hh"
#line 594 "hb-buffer-deserialize-json.hh"
{
cs = deserialize_json_start;
}
#line 574 "hb-buffer-deserialize-json.hh"
#line 597 "hb-buffer-deserialize-json.hh"
{
int _slen;
int _trans;
@ -680,7 +712,7 @@ _resume:
#line 56 "hb-buffer-deserialize-json.rl"
{ if (unlikely (!buffer->ensure_unicode ())) return false; }
break;
#line 684 "hb-buffer-deserialize-json.hh"
#line 689 "hb-buffer-deserialize-json.hh"
}
_again:
@ -692,7 +724,7 @@ _again:
_out: {}
}
#line 132 "hb-buffer-deserialize-json.rl"
#line 136 "hb-buffer-deserialize-json.rl"
*end_ptr = p;

View file

@ -91,6 +91,8 @@ yoffset = "\"dy\"" colon (num >tok %parse_y_offset);
xadvance= "\"ax\"" colon (num >tok %parse_x_advance);
yadvance= "\"ay\"" colon (num >tok %parse_y_advance);
glyphflags="\"fl\"" colon (unum >tok %parse_glyph_flags);
# Not parsed. Ignored.
glyphextents="\""("xb"|"yb"|"w"|"h")"\"" colon (num >tok);
element = glyph @ensure_glyphs
| unicode @ensure_unicode
@ -99,7 +101,9 @@ element = glyph @ensure_glyphs
| yoffset
| xadvance
| yadvance
| glyphflags;
| glyphflags
| glyphextents
;
item =
( '{' space* element (comma element)* space* '}' space* (','|']') space* )
>clear_item

View file

@ -32,249 +32,344 @@
#include "hb.hh"
#line 36 "hb-buffer-deserialize-text-glyphs.hh"
#line 33 "hb-buffer-deserialize-text-glyphs.hh"
static const unsigned char _deserialize_text_glyphs_trans_keys[] = {
0u, 0u, 35u, 124u, 48u, 57u, 93u, 124u, 45u, 57u, 48u, 57u, 35u, 124u, 45u, 57u,
48u, 57u, 35u, 124u, 35u, 124u, 35u, 124u, 48u, 57u, 35u, 124u, 45u, 57u, 48u, 57u,
0u, 0u, 35u, 124u, 48u, 57u, 60u, 124u, 45u, 57u, 48u, 57u, 44u, 44u, 45u, 57u,
48u, 57u, 44u, 44u, 45u, 57u, 48u, 57u, 44u, 44u, 45u, 57u, 48u, 57u, 62u, 62u,
93u, 124u, 45u, 57u, 48u, 57u, 35u, 124u, 45u, 57u, 48u, 57u, 35u, 124u, 35u, 124u,
35u, 124u, 35u, 124u, 35u, 124u, 35u, 124u, 48u, 57u, 35u, 124u, 45u, 57u, 48u, 57u,
44u, 44u, 45u, 57u, 48u, 57u, 35u, 124u, 35u, 124u, 44u, 57u, 35u, 124u, 43u, 124u,
48u, 124u, 35u, 124u, 35u, 124u, 35u, 124u, 0
35u, 124u, 48u, 62u, 44u, 57u, 44u, 57u, 44u, 57u, 48u, 124u, 35u, 124u, 35u, 124u,
35u, 124u, 0
};
static const char _deserialize_text_glyphs_key_spans[] = {
0, 90, 10, 32, 13, 10, 90, 13,
10, 90, 90, 90, 10, 90, 13, 10,
0, 90, 10, 65, 13, 10, 1, 13,
10, 1, 13, 10, 1, 13, 10, 1,
32, 13, 10, 90, 13, 10, 90, 90,
90, 90, 90, 90, 10, 90, 13, 10,
1, 13, 10, 90, 90, 14, 90, 82,
77, 90, 90, 90
90, 15, 14, 14, 14, 77, 90, 90,
90
};
static const short _deserialize_text_glyphs_index_offsets[] = {
0, 0, 91, 102, 135, 149, 160, 251,
265, 276, 367, 458, 549, 560, 651, 665,
676, 678, 692, 703, 794, 885, 900, 991,
1074, 1152, 1243, 1334
0, 0, 91, 102, 168, 182, 193, 195,
209, 220, 222, 236, 247, 249, 263, 274,
276, 309, 323, 334, 425, 439, 450, 541,
632, 723, 814, 905, 996, 1007, 1098, 1112,
1123, 1125, 1139, 1150, 1241, 1332, 1347, 1438,
1521, 1612, 1628, 1643, 1658, 1673, 1751, 1842,
1933
};
static const char _deserialize_text_glyphs_indicies[] = {
1, 0, 0, 0, 0, 0, 0,
0, 2, 3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4, 0, 0, 5, 0,
0, 0, 4, 5, 0, 0, 6, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 6, 7, 0, 0, 0, 0,
0, 0, 7, 8, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 7, 0, 8, 9, 9, 9,
9, 9, 9, 9, 9, 9, 3, 10,
0, 0, 8, 0, 9, 10, 10, 10,
10, 10, 10, 10, 10, 10, 3, 11,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 10, 3,
11, 3, 3, 12, 13, 13, 13, 13,
13, 13, 13, 13, 13, 3, 14, 15,
3, 3, 3, 3, 3, 3, 3, 3,
12, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 12,
3, 13, 3, 3, 14, 15, 15, 15,
15, 15, 15, 15, 15, 15, 3, 14,
15, 15, 15, 15, 15, 15, 15, 15,
3, 16, 3, 3, 3, 3, 3, 3,
3, 3, 17, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 18, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 18, 3, 19, 3, 3, 20,
21, 21, 21, 21, 21, 21, 21, 21,
21, 3, 22, 23, 23, 23, 23, 23,
23, 23, 23, 23, 3, 24, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 25,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 25, 3,
24, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 23, 23, 23,
15, 3, 16, 3, 17, 3, 3, 18,
19, 19, 19, 19, 19, 19, 19, 19,
19, 3, 18, 19, 19, 19, 19, 19,
19, 19, 19, 19, 3, 20, 3, 21,
3, 3, 22, 23, 23, 23, 23, 23,
23, 23, 23, 23, 3, 22, 23, 23,
23, 23, 23, 23, 23, 23, 23, 3,
24, 3, 25, 3, 3, 26, 27, 27,
27, 27, 27, 27, 27, 27, 27, 3,
26, 27, 27, 27, 27, 27, 27, 27,
27, 27, 3, 28, 3, 29, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 29, 3, 30, 3,
3, 31, 32, 32, 32, 32, 32, 32,
32, 32, 32, 3, 33, 34, 34, 34,
34, 34, 34, 34, 34, 34, 3, 35,
3, 3, 3, 3, 3, 3, 3, 3,
36, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
37, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 38, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
38, 3, 39, 3, 3, 40, 41, 41,
41, 41, 41, 41, 41, 41, 41, 3,
42, 43, 43, 43, 43, 43, 43, 43,
43, 43, 3, 44, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 45, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 46, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 46, 3, 44, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 3, 3, 45,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 25, 3, 3, 3, 3, 3,
46, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 25, 3, 16, 3, 3, 3, 3,
3, 3, 3, 3, 17, 3, 3, 3,
15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 18, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 18, 3, 26, 27,
27, 27, 27, 27, 27, 27, 27, 27,
3, 28, 3, 3, 3, 3, 3, 3,
3, 29, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 30, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 31, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 31, 3, 32, 3, 3, 33,
3, 3, 3, 3, 3, 3, 3, 46,
3, 35, 3, 3, 3, 3, 3, 3,
3, 3, 36, 3, 3, 3, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34,
34, 3, 35, 36, 36, 36, 36, 36,
36, 36, 36, 36, 3, 37, 3, 38,
3, 3, 39, 40, 40, 40, 40, 40,
40, 40, 40, 40, 3, 41, 42, 42,
42, 42, 42, 42, 42, 42, 42, 3,
43, 3, 3, 3, 3, 3, 3, 3,
44, 3, 3, 3, 3, 3, 3, 3,
3, 3, 37, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 45, 3, 3, 3, 3, 3,
3, 3, 3, 38, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 45, 3, 43, 3, 3, 3, 3,
3, 3, 3, 44, 3, 3, 3, 3,
42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 3, 3, 3, 3, 3, 3,
3, 3, 38, 3, 1, 0, 0, 0,
0, 0, 0, 0, 2, 3, 47, 0,
0, 48, 49, 49, 49, 49, 49, 49,
49, 49, 49, 0, 0, 4, 5, 0,
0, 6, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 7, 8, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 8, 0, 1,
0, 0, 0, 0, 0, 0, 0, 2,
3, 0, 0, 0, 48, 49, 49, 49,
49, 49, 49, 49, 49, 49, 0, 0,
4, 5, 0, 0, 6, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
7, 8, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
8, 0, 1, 0, 0, 0, 0, 0,
0, 0, 2, 16, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4, 5, 0, 0, 6,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 7, 8, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 8, 0, 50, 51, 51,
51, 51, 51, 51, 51, 51, 51, 3,
52, 3, 3, 3, 3, 3, 3, 3,
53, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 54, 3, 3, 3, 55, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 45, 3, 3,
3, 3, 56, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 45, 3, 37, 3,
3, 3, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 3, 28, 3, 3,
3, 3, 3, 3, 3, 29, 3, 3,
3, 3, 46, 46, 46, 46, 46, 46,
46, 46, 46, 46, 3, 3, 3, 3,
3, 3, 30, 3, 3, 3, 3, 3,
3, 56, 3, 57, 3, 3, 58, 59,
59, 59, 59, 59, 59, 59, 59, 59,
3, 60, 61, 61, 61, 61, 61, 61,
61, 61, 61, 3, 62, 3, 63, 3,
3, 64, 65, 65, 65, 65, 65, 65,
65, 65, 65, 3, 66, 67, 67, 67,
67, 67, 67, 67, 67, 67, 3, 68,
3, 3, 3, 3, 3, 3, 3, 69,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 31,
70, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 71, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
71, 3, 68, 3, 3, 3, 3, 3,
3, 3, 69, 3, 3, 3, 3, 67,
67, 67, 67, 67, 67, 67, 67, 67,
67, 3, 3, 70, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 71, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 71, 3, 62, 3, 3,
3, 61, 61, 61, 61, 61, 61, 61,
61, 61, 61, 3, 52, 3, 3, 3,
3, 3, 3, 3, 53, 3, 3, 3,
3, 72, 72, 72, 72, 72, 72, 72,
72, 72, 72, 3, 3, 54, 3, 3,
3, 55, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 56, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 56, 3, 0,
0, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 0, 3, 3, 0, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 31, 3,
0, 0, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 0, 3, 3, 0, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
0, 3, 1, 0, 0, 0, 0, 0,
0, 0, 2, 16, 0, 0, 0, 49,
49, 49, 49, 49, 49, 49, 49, 49,
49, 0, 0, 4, 5, 0, 0, 6,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 7, 8, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 8, 0, 27, 27, 27,
27, 27, 27, 27, 27, 27, 27, 3,
3, 3, 3, 28, 3, 24, 3, 3,
3, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 3, 20, 3, 3, 3,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 3, 16, 3, 3, 3, 15,
15, 15, 15, 15, 15, 15, 15, 15,
15, 3, 73, 73, 73, 73, 73, 73,
73, 73, 73, 73, 3, 3, 11, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 0, 0, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 12,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 0, 3, 47, 47, 47, 47, 47,
47, 47, 47, 47, 47, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
10, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 10,
3, 49, 48, 48, 48, 48, 48, 48,
48, 50, 3, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 51, 48, 48, 52, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 53, 54, 55, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 55, 48, 57, 56, 56, 56,
56, 56, 56, 56, 58, 3, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 59, 56,
56, 60, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 61, 62, 56,
56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 62, 56, 63,
48, 48, 48, 48, 48, 48, 48, 64,
3, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 65, 48, 48, 66, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
54, 67, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
67, 48, 0
3, 3, 3, 3, 3, 3, 12, 3,
75, 74, 74, 74, 74, 74, 74, 74,
76, 3, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74,
74, 77, 78, 74, 74, 79, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74,
80, 81, 82, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74,
74, 82, 74, 84, 83, 83, 83, 83,
83, 83, 83, 85, 3, 83, 83, 83,
83, 83, 83, 83, 83, 83, 83, 83,
83, 83, 83, 83, 86, 87, 83, 83,
88, 83, 83, 83, 83, 83, 83, 83,
83, 83, 83, 83, 83, 83, 83, 83,
83, 83, 83, 83, 83, 83, 83, 83,
83, 83, 83, 83, 89, 90, 83, 83,
83, 83, 83, 83, 83, 83, 83, 83,
83, 83, 83, 83, 83, 83, 83, 83,
83, 83, 83, 83, 83, 83, 83, 83,
83, 83, 83, 83, 90, 83, 91, 74,
74, 74, 74, 74, 74, 74, 92, 3,
74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 93,
94, 74, 74, 95, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 81,
96, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 96,
74, 0
};
static const char _deserialize_text_glyphs_trans_targs[] = {
1, 2, 4, 0, 12, 14, 23, 26,
3, 24, 26, 5, 6, 11, 6, 11,
2, 7, 26, 8, 9, 10, 9, 10,
2, 26, 13, 22, 2, 4, 14, 26,
15, 16, 21, 16, 21, 17, 18, 19,
20, 19, 20, 2, 4, 26, 22, 24,
1, 2, 4, 12, 14, 27, 23, 26,
1, 2, 4, 12, 14, 23, 26, 2,
4, 12, 14, 26
1, 2, 17, 0, 25, 28, 30, 39,
47, 3, 45, 4, 47, 5, 6, 44,
7, 8, 9, 43, 10, 11, 12, 42,
13, 14, 15, 41, 16, 47, 18, 19,
24, 19, 24, 2, 20, 4, 47, 21,
22, 23, 22, 23, 2, 4, 47, 26,
27, 40, 29, 38, 2, 17, 4, 30,
47, 31, 32, 37, 32, 37, 33, 34,
35, 36, 35, 36, 2, 17, 4, 47,
38, 45, 1, 2, 17, 25, 28, 30,
48, 39, 47, 1, 2, 17, 25, 28,
30, 39, 47, 2, 17, 25, 28, 30,
47
};
static const char _deserialize_text_glyphs_trans_actions[] = {
0, 1, 1, 0, 1, 1, 0, 1,
2, 2, 3, 2, 2, 2, 0, 0,
4, 4, 4, 2, 2, 2, 0, 0,
5, 5, 2, 2, 6, 6, 6, 6,
2, 2, 2, 0, 0, 7, 2, 2,
2, 0, 0, 8, 8, 8, 0, 0,
9, 10, 10, 10, 10, 9, 9, 10,
12, 13, 13, 13, 13, 12, 13, 14,
14, 14, 14, 14
0, 1, 1, 0, 1, 1, 1, 0,
1, 2, 2, 3, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2, 2,
2, 0, 0, 4, 4, 4, 4, 2,
2, 2, 0, 0, 5, 5, 5, 0,
0, 0, 2, 2, 6, 6, 6, 6,
6, 2, 2, 2, 0, 0, 7, 2,
2, 2, 0, 0, 8, 8, 8, 8,
0, 0, 9, 10, 10, 10, 10, 10,
9, 9, 10, 12, 13, 13, 13, 13,
13, 12, 13, 14, 14, 14, 14, 14,
14
};
static const char _deserialize_text_glyphs_eof_actions[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 11, 0
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 11,
0
};
static const int deserialize_text_glyphs_start = 25;
static const int deserialize_text_glyphs_first_final = 25;
static const int deserialize_text_glyphs_start = 46;
static const int deserialize_text_glyphs_first_final = 46;
static const int deserialize_text_glyphs_error = 0;
static const int deserialize_text_glyphs_en_main = 25;
static const int deserialize_text_glyphs_en_main = 46;
#line 98 "hb-buffer-deserialize-text-glyphs.rl"
#line 101 "hb-buffer-deserialize-text-glyphs.rl"
static hb_bool_t
@ -294,12 +389,12 @@ _hb_buffer_deserialize_text_glyphs (hb_buffer_t *buffer,
hb_glyph_info_t info = {0};
hb_glyph_position_t pos = {0};
#line 298 "hb-buffer-deserialize-text-glyphs.hh"
#line 386 "hb-buffer-deserialize-text-glyphs.hh"
{
cs = deserialize_text_glyphs_start;
}
#line 303 "hb-buffer-deserialize-text-glyphs.hh"
#line 389 "hb-buffer-deserialize-text-glyphs.hh"
{
int _slen;
int _trans;
@ -457,7 +552,7 @@ _resume:
return false;
}
break;
#line 461 "hb-buffer-deserialize-text-glyphs.hh"
#line 523 "hb-buffer-deserialize-text-glyphs.hh"
}
_again:
@ -478,14 +573,14 @@ _again:
*end_ptr = p;
}
break;
#line 482 "hb-buffer-deserialize-text-glyphs.hh"
#line 542 "hb-buffer-deserialize-text-glyphs.hh"
}
}
_out: {}
}
#line 119 "hb-buffer-deserialize-text-glyphs.rl"
#line 122 "hb-buffer-deserialize-text-glyphs.rl"
*end_ptr = p;

View file

@ -76,7 +76,9 @@ glyph = (glyph_id | glyph_name) >tok %parse_glyph;
cluster = '=' (unum >tok %parse_cluster);
offsets = '@' (num >tok %parse_x_offset) ',' (num >tok %parse_y_offset );
advances= '+' (num >tok %parse_x_advance) (',' (num >tok %parse_y_advance))?;
glyphflags= '#' (unum >tok %parse_glyph_flags);
glyphflags = '#' (unum >tok %parse_glyph_flags);
# Not parsed. Ignored.
glyphextents = '<' (num ',' num ',' num ',' num) '>';
glyph_item =
(
@ -85,6 +87,7 @@ glyph_item =
offsets?
advances?
glyphflags?
glyphextents?
( '|' | ']')
)
>clear_item