122 |
FT_UNUSED( limit ); |
FT_UNUSED( limit ); |
123 |
|
|
124 |
|
|
125 |
setMark = (FT_UShort)( (flags >> 15) & 1 ); |
setMark = (FT_UShort)( ( flags >> 15 ) & 1 ); |
126 |
dontAdvance = (FT_UShort)( (flags >> 14) & 1 ); |
dontAdvance = (FT_UShort)( ( flags >> 14 ) & 1 ); |
127 |
reserved = (FT_UShort)( flags & 0x3FFF ); |
|
128 |
|
reserved = (FT_UShort)( flags & 0x3FFF ); |
129 |
|
|
130 |
markIndex = (FT_Short)( glyphOffset.ul >> 16 ); |
markIndex = (FT_Short)( glyphOffset.ul >> 16 ); |
131 |
currentIndex = (FT_Short)( glyphOffset.ul ); |
currentIndex = (FT_Short)( glyphOffset.ul ); |
132 |
|
|
133 |
GXV_TRACE(( " setMark=%01d dontAdvance=%01d\n", |
GXV_TRACE(( " setMark=%01d dontAdvance=%01d\n", |
134 |
setMark, dontAdvance )); |
setMark, dontAdvance )); |
144 |
markIndex, currentIndex )); |
markIndex, currentIndex )); |
145 |
|
|
146 |
if ( optdata->substitutionTable_num_lookupTables < markIndex + 1 ) |
if ( optdata->substitutionTable_num_lookupTables < markIndex + 1 ) |
147 |
optdata->substitutionTable_num_lookupTables = (FT_Short)(markIndex + 1); |
optdata->substitutionTable_num_lookupTables = |
148 |
|
(FT_Short)( markIndex + 1 ); |
149 |
|
|
150 |
if ( optdata->substitutionTable_num_lookupTables < currentIndex + 1 ) |
if ( optdata->substitutionTable_num_lookupTables < currentIndex + 1 ) |
151 |
optdata->substitutionTable_num_lookupTables = (FT_Short)(currentIndex + 1); |
optdata->substitutionTable_num_lookupTables = |
152 |
|
(FT_Short)( currentIndex + 1 ); |
153 |
} |
} |
154 |
|
|
155 |
|
|
158 |
GXV_LookupValueDesc value, |
GXV_LookupValueDesc value, |
159 |
GXV_Validator valid ) |
GXV_Validator valid ) |
160 |
{ |
{ |
161 |
GXV_TRACE(( "morx subtable type1 subst.: %d -> %d\n", glyph, value.u )); |
FT_UNUSED( glyph ); /* for the non-debugging case */ |
162 |
|
|
163 |
FT_UNUSED( glyph ); |
GXV_TRACE(( "morx subtable type1 subst.: %d -> %d\n", glyph, value.u )); |
164 |
|
|
165 |
if ( value.u > valid->face->num_glyphs ) |
if ( value.u > valid->face->num_glyphs ) |
166 |
FT_INVALID_GLYPH_ID; |
FT_INVALID_GLYPH_ID; |
179 |
FT_UShort offset; |
FT_UShort offset; |
180 |
GXV_LookupValueDesc value; |
GXV_LookupValueDesc value; |
181 |
|
|
182 |
/* XXX: check range ? */ |
/* XXX: check range? */ |
183 |
offset = (FT_UShort)(base_value.u + relative_gindex * sizeof ( FT_UShort )); |
offset = (FT_UShort)( base_value.u + |
184 |
|
relative_gindex * sizeof ( FT_UShort ) ); |
185 |
|
|
186 |
p = valid->lookuptbl_head + offset; |
p = valid->lookuptbl_head + offset; |
187 |
limit = lookuptbl_limit; |
limit = lookuptbl_limit; |