... |
... |
@@ -24,14 +24,110 @@ adjustment_database[] = |
24
|
24
|
{0xC3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*A with tilde*/
|
25
|
25
|
{0xC8, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*E with grave*/
|
26
|
26
|
{0xCC, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*I with grave*/
|
27
|
|
- {0xD9, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*U with grave*/
|
28
|
|
- {0xE0, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*a with grave*/
|
29
|
|
- {0xEC, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*i with grave*/
|
30
|
|
- {0x114, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*E with macron*/
|
31
|
|
- {0x12A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*I with macron*/
|
32
|
|
- {0x12B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*i with macron*/
|
33
|
|
- {0x16A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}, /*U with macron*/
|
34
|
|
- {0x16B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP} /*u with macron*/
|
|
27
|
+ {0xCD, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
28
|
+ {0xCE, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
29
|
+ {0xD1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
30
|
+ {0xD2, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
31
|
+ {0xD3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
32
|
+ {0xD4, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
33
|
+ {0xD5, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
34
|
+ {0xD9, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
35
|
+ {0xD1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
36
|
+ {0xDB, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
37
|
+ {0xDD, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
38
|
+ {0xE0, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
39
|
+ {0xE1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
40
|
+ {0xE2, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
41
|
+ {0xE3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
42
|
+ {0xE8, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
43
|
+ {0xE9, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
44
|
+ {0xEA, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
45
|
+ {0xEC, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
46
|
+ {0xED, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
47
|
+ {0xEE, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
48
|
+ {0xF1, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
49
|
+ {0xF2, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
50
|
+ {0xF3, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
51
|
+ {0xF4, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
52
|
+ {0xF5, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
53
|
+ {0xF9, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
54
|
+ {0xFA, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
55
|
+ {0xFB, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
56
|
+ {0xFD, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
57
|
+ {0x100, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
58
|
+ {0x101, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
59
|
+ {0x102, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
60
|
+ {0x103, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
61
|
+ {0x106, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
62
|
+ {0x108, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
63
|
+ {0x109, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
64
|
+ {0x10A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
65
|
+ {0x10B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
66
|
+ {0x10C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
67
|
+ {0x10D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
68
|
+ {0x10E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
69
|
+ {0x112, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
70
|
+ {0x113, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
71
|
+ {0x114, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
72
|
+ {0x115, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
73
|
+ {0x116, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
74
|
+ {0x117, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
75
|
+ {0x11B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
76
|
+ {0x11C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
77
|
+ {0x11D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
78
|
+ {0x11E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
79
|
+ {0x11F, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
80
|
+ {0x120, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
81
|
+ {0x121, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
82
|
+ {0x123, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
83
|
+ {0x124, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
84
|
+ {0x125, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
85
|
+ {0x128, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
86
|
+ {0x129, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
87
|
+ {0x12A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
88
|
+ {0x12B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
89
|
+ {0x12C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
90
|
+ {0x12D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
91
|
+ {0x12F, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
92
|
+ {0x130, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
93
|
+ {0x134, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
94
|
+ {0x135, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
95
|
+ {0x139, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
96
|
+ {0x13A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
97
|
+ {0x143, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
98
|
+ {0x144, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
99
|
+ {0x147, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
100
|
+ {0x14C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
101
|
+ {0x14D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
102
|
+ {0x14E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
103
|
+ {0x14F, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
104
|
+ {0x154, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
105
|
+ {0x155, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
106
|
+ {0x158, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
107
|
+ {0x159, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
108
|
+ {0x15A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
109
|
+ {0x15B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
110
|
+ {0x15C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
111
|
+ {0x15D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
112
|
+ {0x160, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
113
|
+ {0x161, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
114
|
+ {0x164, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
115
|
+ {0x168, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
116
|
+ {0x169, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
117
|
+ {0x16A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
118
|
+ {0x16B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
119
|
+ {0x16C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
120
|
+ {0x16D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
121
|
+ {0x174, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
122
|
+ {0x175, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
123
|
+ {0x176, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
124
|
+ {0x177, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
125
|
+ {0x179, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
126
|
+ {0x17A, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
127
|
+ {0x17B, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
128
|
+ {0x17C, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
129
|
+ {0x17D, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP},
|
|
130
|
+ {0x17E, AF_VERTICAL_ADJUSTMENT_TOP_CONTOUR_UP}
|
35
|
131
|
};
|
36
|
132
|
|
37
|
133
|
/*Helper function: get the adjustment database entry for a codepoint*/
|
... |
... |
@@ -40,7 +136,7 @@ af_adjustment_database_lookup( FT_UInt32 codepoint ) { |
40
|
136
|
/* Binary search for database entry */
|
41
|
137
|
FT_Int low = 0;
|
42
|
138
|
FT_Int high = AF_ADJUSTMENT_DATABASE_LENGTH - 1;
|
43
|
|
- while ( high > low )
|
|
139
|
+ while ( high >= low )
|
44
|
140
|
{
|
45
|
141
|
FT_Int mid = ( low + high ) / 2;
|
46
|
142
|
FT_UInt32 mid_codepoint = adjustment_database[mid].codepoint;
|
... |
... |
@@ -94,7 +190,7 @@ af_reverse_character_map_lookup( AF_ReverseCharacterMap map, FT_Int glyph_index |
94
|
190
|
/* Binary search for reverse character map entry */
|
95
|
191
|
FT_Int low = 0;
|
96
|
192
|
FT_Int high = map->length - 1;
|
97
|
|
- while ( high > low )
|
|
193
|
+ while ( high >= low )
|
98
|
194
|
{
|
99
|
195
|
FT_Int mid = ( high + low ) / 2;
|
100
|
196
|
FT_Int mid_glyph_index = map->entries[mid].glyph_index;
|