... |
... |
@@ -21,121 +21,123 @@ |
21
|
21
|
FT_LOCAL_ARRAY_DEF( AF_AdjustmentDatabaseEntry )
|
22
|
22
|
adjustment_database[] =
|
23
|
23
|
{
|
24
|
|
- {0x21, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /* ! */
|
25
|
|
- {0x69, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /* i */
|
26
|
|
- {0x6A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /* j */
|
27
|
|
- {0xA1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*Inverted Exclamation Mark*/
|
28
|
|
- {0xBF, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*Inverted Question Mark*/
|
29
|
|
- {0xC0, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*A with grave*/
|
30
|
|
- {0xC1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*A with acute*/
|
31
|
|
- {0xC2, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*A with circumflex*/
|
32
|
|
- {0xC3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*A with tilde*/
|
33
|
|
- {0xC8, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*E with grave*/
|
34
|
|
- {0xCC, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*I with grave*/
|
35
|
|
- {0xCD, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
36
|
|
- {0xCE, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
37
|
|
- {0xD1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
38
|
|
- {0xD2, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
39
|
|
- {0xD3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
40
|
|
- {0xD4, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
41
|
|
- {0xD5, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
42
|
|
- {0xD9, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
43
|
|
- {0xD1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
44
|
|
- {0xDB, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
45
|
|
- {0xDD, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
46
|
|
- {0xE0, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
47
|
|
- {0xE1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
48
|
|
- {0xE2, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
49
|
|
- {0xE3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
50
|
|
- {0xE8, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
51
|
|
- {0xE9, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
52
|
|
- {0xEA, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
53
|
|
- {0xEC, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
54
|
|
- {0xED, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
55
|
|
- {0xEE, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
56
|
|
- {0xF1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
57
|
|
- {0xF2, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
58
|
|
- {0xF3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
59
|
|
- {0xF4, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
60
|
|
- {0xF5, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
61
|
|
- {0xF9, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
62
|
|
- {0xFA, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
63
|
|
- {0xFB, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
64
|
|
- {0xFD, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
65
|
|
- {0x100, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
66
|
|
- {0x101, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
67
|
|
- {0x102, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
68
|
|
- {0x103, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
69
|
|
- {0x106, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
70
|
|
- {0x108, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
71
|
|
- {0x109, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
72
|
|
- {0x10A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
73
|
|
- {0x10B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
74
|
|
- {0x10C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
75
|
|
- {0x10D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
76
|
|
- {0x10E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
77
|
|
- {0x112, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
78
|
|
- {0x113, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
79
|
|
- {0x114, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
80
|
|
- {0x115, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
81
|
|
- {0x116, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
82
|
|
- {0x117, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
83
|
|
- {0x11B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
84
|
|
- {0x11C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
85
|
|
- {0x11D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
86
|
|
- {0x11E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
87
|
|
- {0x11F, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
88
|
|
- {0x120, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
89
|
|
- {0x121, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
90
|
|
- {0x123, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
91
|
|
- {0x124, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
92
|
|
- {0x125, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
93
|
|
- {0x128, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
94
|
|
- {0x129, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
95
|
|
- {0x12A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
96
|
|
- {0x12B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
97
|
|
- {0x12C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
98
|
|
- {0x12D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
99
|
|
- {0x12F, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
100
|
|
- {0x130, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
101
|
|
- {0x134, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
102
|
|
- {0x135, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
103
|
|
- {0x139, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
104
|
|
- {0x13A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
105
|
|
- {0x143, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
106
|
|
- {0x144, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
107
|
|
- {0x147, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
108
|
|
- {0x14C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
109
|
|
- {0x14D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
110
|
|
- {0x14E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
111
|
|
- {0x14F, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
112
|
|
- {0x154, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
113
|
|
- {0x155, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
114
|
|
- {0x158, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
115
|
|
- {0x159, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
116
|
|
- {0x15A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
117
|
|
- {0x15B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
118
|
|
- {0x15C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
119
|
|
- {0x15D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
120
|
|
- {0x160, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
121
|
|
- {0x161, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
122
|
|
- {0x164, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
123
|
|
- {0x168, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
124
|
|
- {0x169, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
125
|
|
- {0x16A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
126
|
|
- {0x16B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
127
|
|
- {0x16C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
128
|
|
- {0x16D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
129
|
|
- {0x174, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
130
|
|
- {0x175, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
131
|
|
- {0x176, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
132
|
|
- {0x177, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
133
|
|
- {0x179, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
134
|
|
- {0x17A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
135
|
|
- {0x17B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
136
|
|
- {0x17C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
137
|
|
- {0x17D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
138
|
|
- {0x17E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}
|
|
24
|
+ {0x21, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /* ! */
|
|
25
|
+ {0x69, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /* i */
|
|
26
|
+ {0x6A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /* j */
|
|
27
|
+ {0xA1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /*Inverted Exclamation Mark*/
|
|
28
|
+ {0xBF, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /* j */
|
|
29
|
+ {0xA1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /*Inverted Exclamation Mark*/
|
|
30
|
+ {0xBF, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /*Inverted Question Mark*/
|
|
31
|
+ {0xC0, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /*A with grave*/
|
|
32
|
+ {0xC1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /*A with acute*/
|
|
33
|
+ {0xC2, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /*A with circumflex*/
|
|
34
|
+ {0xC3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /*A with tilde*/
|
|
35
|
+ {0xC8, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /*E with grave*/
|
|
36
|
+ {0xCC, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}, /*I with grave*/
|
|
37
|
+ {0xCD, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
38
|
+ {0xCE, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
39
|
+ {0xD1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
40
|
+ {0xD2, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
41
|
+ {0xD3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
42
|
+ {0xD4, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
43
|
+ {0xD5, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
44
|
+ {0xD9, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
45
|
+ {0xD1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
46
|
+ {0xDB, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
47
|
+ {0xDD, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
48
|
+ {0xE0, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
49
|
+ {0xE1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
50
|
+ {0xE2, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
51
|
+ {0xE3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 1}, /*a with tilde*/
|
|
52
|
+ {0xE8, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
53
|
+ {0xE9, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
54
|
+ {0xEA, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
55
|
+ {0xEC, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
56
|
+ {0xED, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
57
|
+ {0xEE, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
58
|
+ {0xF1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 1}, /*n with tilde*/
|
|
59
|
+ {0xF2, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
60
|
+ {0xF3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
61
|
+ {0xF4, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
62
|
+ {0xF5, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 1}, /*o with tilde*/
|
|
63
|
+ {0xF9, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
64
|
+ {0xFA, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
65
|
+ {0xFB, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
66
|
+ {0xFD, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
67
|
+ {0x100, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
68
|
+ {0x101, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
69
|
+ {0x102, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
70
|
+ {0x103, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
71
|
+ {0x106, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
72
|
+ {0x108, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
73
|
+ {0x109, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
74
|
+ {0x10A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
75
|
+ {0x10B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
76
|
+ {0x10C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
77
|
+ {0x10D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
78
|
+ {0x10E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
79
|
+ {0x112, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
80
|
+ {0x113, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
81
|
+ {0x114, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
82
|
+ {0x115, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
83
|
+ {0x116, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
84
|
+ {0x117, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
85
|
+ {0x11B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
86
|
+ {0x11C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
87
|
+ {0x11D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
88
|
+ {0x11E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
89
|
+ {0x11F, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
90
|
+ {0x120, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
91
|
+ {0x121, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
92
|
+ {0x123, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
93
|
+ {0x124, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
94
|
+ {0x125, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
95
|
+ {0x128, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
96
|
+ {0x129, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 1}, /*i with tilde*/
|
|
97
|
+ {0x12A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
98
|
+ {0x12B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
99
|
+ {0x12C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
100
|
+ {0x12D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
101
|
+ {0x12F, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
102
|
+ {0x130, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
103
|
+ {0x134, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
104
|
+ {0x135, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
105
|
+ {0x139, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
106
|
+ {0x13A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
107
|
+ {0x143, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
108
|
+ {0x144, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
109
|
+ {0x147, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
110
|
+ {0x14C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
111
|
+ {0x14D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
112
|
+ {0x14E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
113
|
+ {0x14F, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
114
|
+ {0x154, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
115
|
+ {0x155, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
116
|
+ {0x158, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
117
|
+ {0x159, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
118
|
+ {0x15A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
119
|
+ {0x15B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
120
|
+ {0x15C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
121
|
+ {0x15D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
122
|
+ {0x160, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
123
|
+ {0x161, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
124
|
+ {0x164, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
125
|
+ {0x168, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
126
|
+ {0x169, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 1}, /*u with tilde*/
|
|
127
|
+ {0x16A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
128
|
+ {0x16B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
129
|
+ {0x16C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
130
|
+ {0x16D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
131
|
+ {0x174, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
132
|
+ {0x175, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
133
|
+ {0x176, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
134
|
+ {0x177, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
135
|
+ {0x179, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
136
|
+ {0x17A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
137
|
+ {0x17B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
138
|
+ {0x17C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
139
|
+ {0x17D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0},
|
|
140
|
+ {0x17E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP, 0}
|
139
|
141
|
};
|
140
|
142
|
|
141
|
143
|
/*FT_LOCAL_DEF( FT_Bool )
|
... |
... |
@@ -182,24 +184,17 @@ af_lookup_vertical_seperation_type( AF_ReverseCharacterMap map, FT_Int glyph_ind |
182
|
184
|
return entry->vertical_separation_adjustment_type;
|
183
|
185
|
}
|
184
|
186
|
|
185
|
|
-/*TODO: this is a testing placeholder
|
186
|
|
- it only returns 1 for n with tilde*/
|
187
|
|
-FT_LOCAL_DEF( FT_Int )
|
|
187
|
+/*1 if tilde correction should be applied to the topmost contour
|
|
188
|
+else 0*/
|
|
189
|
+FT_LOCAL_DEF( FT_Bool )
|
188
|
190
|
af_lookup_tilde_correction_type( AF_ReverseCharacterMap map, FT_Int glyph_index ) {
|
189
|
191
|
FT_UInt32 codepoint = af_reverse_character_map_lookup( map, glyph_index );
|
190
|
|
- /* bits are: apply stretch, apply segment removal */
|
191
|
|
- if ( codepoint == 0xF1 ) { /*n tilde*/
|
192
|
|
- return 0b01;
|
193
|
|
- }
|
194
|
|
- else if ( codepoint == 0xE3 ) /*a tilde*/
|
195
|
|
- {
|
196
|
|
- return 0b11;
|
197
|
|
- }
|
198
|
|
- else if ( codepoint == 0xF5 ) /*o tilde*/
|
|
192
|
+ const AF_AdjustmentDatabaseEntry *entry = af_adjustment_database_lookup( codepoint );
|
|
193
|
+ if ( entry == NULL )
|
199
|
194
|
{
|
200
|
|
- return 0b10;
|
|
195
|
+ return 0;
|
201
|
196
|
}
|
202
|
|
- return 0;
|
|
197
|
+ return entry->apply_tilde;
|
203
|
198
|
}
|
204
|
199
|
|
205
|
200
|
typedef struct AF_ReverseMapEntry_
|
... |
... |
@@ -283,12 +278,47 @@ af_reverse_character_map_entry_compare( const void *a, const void *b ) { |
283
|
278
|
}
|
284
|
279
|
|
285
|
280
|
#ifdef FT_CONFIG_OPTION_USE_HARFBUZZ
|
286
|
|
-/*Recursive algorithm to find all glyphs that a codepoint could turn into from the GSUB table.
|
|
281
|
+/*
|
|
282
|
+Recursive algorithm to find all glyphs that a codepoint could turn into from the GSUB table.
|
|
283
|
+
|
287
|
284
|
buffer: a buffer containing only the input codepoint
|
288
|
285
|
feature_tag_pool: the current list of features under consideration
|
289
|
286
|
current_features: the current list of features being applied
|
290
|
287
|
num_features: length of current_features
|
291
|
|
-result: the set of glyphs in the answer
|
|
288
|
+result: the set of glyphs that the input codepoint can map to.
|
|
289
|
+
|
|
290
|
+The algorithm works by running the hb_ot_shape_glyphs_closure function on different lists of features
|
|
291
|
+to see which features will map to glyph onto something different. This functions returns
|
|
292
|
+the result of transforming a glyph using a list of features as well as all intermediate
|
|
293
|
+forms if the glyph was transformed multiple times.
|
|
294
|
+With no features enabled, hb_ot_shape_glyphs_closure will only return the glyph given by cmap.
|
|
295
|
+This character will be the first to be placed into the results set.
|
|
296
|
+Next, the algorithm will test the same lookup enabline one feature at a time
|
|
297
|
+and see if any of those features change the result.
|
|
298
|
+If any new glyph variants are found this way, they are added to the results set
|
|
299
|
+and the algorithm will recurce, trying that feature in combination will every other feature
|
|
300
|
+to look for further glyph variants.
|
|
301
|
+
|
|
302
|
+example:
|
|
303
|
+suppose we have the following features in the GSUB table:
|
|
304
|
+f1:
|
|
305
|
+a -> b
|
|
306
|
+
|
|
307
|
+f2:
|
|
308
|
+b -> c
|
|
309
|
+
|
|
310
|
+f3:
|
|
311
|
+d -> e
|
|
312
|
+
|
|
313
|
+The algorithm will take the following steps to find all variants of "a":
|
|
314
|
+- a is added to the results
|
|
315
|
+- lookup with feature list {f1}, yielding {a, b}. b is added to the results list and the algorithm recurses
|
|
316
|
+- - lookup with feature list {f1, f2}, yielding {a, b, c}. c is added to the results list and the algorithm recurses
|
|
317
|
+- - - lookup with feature list {f1, f2, f3} yielding {a, b, c}. No new glyphs
|
|
318
|
+- - lookup with feature list {f1, f3}, yielding {a, b}. No new glyphs
|
|
319
|
+- lookup with feature list {f2}, yielding {a}. No new glyphs
|
|
320
|
+- lookup with feature list {f3}, yielding {a}. No new glyphs
|
|
321
|
+
|
292
|
322
|
*/
|
293
|
323
|
FT_LOCAL_DEF( FT_Error )
|
294
|
324
|
af_all_glyph_variants_helper( hb_font_t *font,
|
... |
... |
@@ -300,7 +330,7 @@ af_all_glyph_variants_helper( hb_font_t *font, |
300
|
330
|
{
|
301
|
331
|
FT_Error error;
|
302
|
332
|
/*get the list of glyphs that are created by only transforming based on the
|
303
|
|
- features in current features*/
|
|
333
|
+ features in current_features*/
|
304
|
334
|
hb_set_t *baseline_glyphs = NULL, *new_glyphs = NULL;
|
305
|
335
|
baseline_glyphs = hb_set_create();
|
306
|
336
|
if ( !hb_set_allocation_successful( baseline_glyphs ) )
|