63 |
FT_Bytes p = table; |
FT_Bytes p = table; |
64 |
|
|
65 |
GXV_morx_subtable_type2_StateOptRecData optdata = |
GXV_morx_subtable_type2_StateOptRecData optdata = |
66 |
valid->xstatetable.optdata; |
(GXV_morx_subtable_type2_StateOptRecData)valid->xstatetable.optdata; |
67 |
|
|
68 |
|
|
69 |
GXV_LIMIT_CHECK( 4 + 4 + 4 ); |
GXV_LIMIT_CHECK( 4 + 4 + 4 ); |
95 |
FT_ULong buff[7]; |
FT_ULong buff[7]; |
96 |
|
|
97 |
GXV_morx_subtable_type2_StateOptRecData optdata = |
GXV_morx_subtable_type2_StateOptRecData optdata = |
98 |
valid->xstatetable.optdata; |
(GXV_morx_subtable_type2_StateOptRecData)valid->xstatetable.optdata; |
99 |
|
|
100 |
|
|
101 |
GXV_NAME_ENTER( "subtable boundaries setup" ); |
GXV_NAME_ENTER( "subtable boundaries setup" ); |
146 |
{ |
{ |
147 |
/* access ligActionTable */ |
/* access ligActionTable */ |
148 |
GXV_morx_subtable_type2_StateOptRecData optdata = |
GXV_morx_subtable_type2_StateOptRecData optdata = |
149 |
valid->xstatetable.optdata; |
(GXV_morx_subtable_type2_StateOptRecData)valid->xstatetable.optdata; |
150 |
|
|
151 |
FT_Bytes lat_base = table + optdata->ligActionTable; |
FT_Bytes lat_base = table + optdata->ligActionTable; |
152 |
FT_Bytes p = lat_base + |
FT_Bytes p = lat_base + |
220 |
GXV_Validator valid ) |
GXV_Validator valid ) |
221 |
{ |
{ |
222 |
GXV_morx_subtable_type2_StateOptRecData optdata = |
GXV_morx_subtable_type2_StateOptRecData optdata = |
223 |
valid->xstatetable.optdata; |
(GXV_morx_subtable_type2_StateOptRecData)valid->xstatetable.optdata; |
224 |
|
|
225 |
FT_Bytes p = table + optdata->ligatureTable; |
FT_Bytes p = table + optdata->ligatureTable; |
226 |
FT_Bytes limit = table + optdata->ligatureTable |
FT_Bytes limit = table + optdata->ligatureTable |
246 |
} |
} |
247 |
|
|
248 |
|
|
249 |
static void |
FT_LOCAL_DEF( void ) |
250 |
gxv_morx_subtable_type2_validate( FT_Bytes table, |
gxv_morx_subtable_type2_validate( FT_Bytes table, |
251 |
FT_Bytes limit, |
FT_Bytes limit, |
252 |
GXV_Validator valid ) |
GXV_Validator valid ) |
258 |
|
|
259 |
GXV_NAME_ENTER( "morx chain subtable type2 (Ligature Substitution)" ); |
GXV_NAME_ENTER( "morx chain subtable type2 (Ligature Substitution)" ); |
260 |
|
|
261 |
GXV_LIMIT_CHECK( GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE ); |
GXV_LIMIT_CHECK( GXV_MORX_SUBTABLE_TYPE2_HEADER_SIZE ); |
262 |
|
|
263 |
valid->xstatetable.optdata = |
valid->xstatetable.optdata = |
264 |
&lig_rec; |
&lig_rec; |