48 |
/*************************************************************************/ |
/*************************************************************************/ |
49 |
/*************************************************************************/ |
/*************************************************************************/ |
50 |
|
|
51 |
#define BaseArray otv_x_sxy, "BaseArray" |
#define BaseArrayFunc otv_x_sxy |
52 |
#define LigatureAttach otv_x_sxy, "LigatureAttach" |
#define LigatureAttachFunc otv_x_sxy |
53 |
#define Mark2Array otv_x_sxy, "Mark2Array" |
#define Mark2ArrayFunc otv_x_sxy |
54 |
|
|
55 |
/* uses valid->extra1 (counter) */ |
/* uses valid->extra1 (counter) */ |
56 |
/* uses valid->extra2 (boolean to handle NULL anchor field) */ |
/* uses valid->extra2 (boolean to handle NULL anchor field) */ |
88 |
OTV_SIZE_CHECK( anchor_offset ); |
OTV_SIZE_CHECK( anchor_offset ); |
89 |
if ( anchor_offset ) |
if ( anchor_offset ) |
90 |
otv_Anchor_validate( table + anchor_offset, valid ); |
otv_Anchor_validate( table + anchor_offset, valid ); |
91 |
} |
} |
92 |
else |
else |
93 |
otv_Anchor_validate( table + anchor_offset, valid ); |
otv_Anchor_validate( table + anchor_offset, valid ); |
94 |
} |
} |
95 |
|
|
97 |
} |
} |
98 |
|
|
99 |
|
|
100 |
#define MarkBasePosFormat1 otv_u_O_O_u_O_O, "MarkBasePosFormat1" |
#define MarkBasePosFormat1Func otv_u_O_O_u_O_O |
101 |
#define MarkLigPosFormat1 otv_u_O_O_u_O_O, "MarkLigPosFormat1" |
#define MarkLigPosFormat1Func otv_u_O_O_u_O_O |
102 |
#define MarkMarkPosFormat1 otv_u_O_O_u_O_O, "MarkMarkPosFormat1" |
#define MarkMarkPosFormat1Func otv_u_O_O_u_O_O |
103 |
|
|
104 |
/* sets valid->extra1 (class count) */ |
/* sets valid->extra1 (class count) */ |
105 |
|
|
130 |
otv_MarkArray_validate( table + Array1, valid ); |
otv_MarkArray_validate( table + Array1, valid ); |
131 |
|
|
132 |
valid->nesting_level++; |
valid->nesting_level++; |
133 |
func = valid->func[valid->nesting_level]; |
func = valid->func[valid->nesting_level]; |
134 |
valid->extra1 = ClassCount; |
valid->extra1 = ClassCount; |
135 |
|
|
136 |
func( table + Array2, valid ); |
func( table + Array2, valid ); |
861 |
/* context rules since even invalid glyph indices/classes return */ |
/* context rules since even invalid glyph indices/classes return */ |
862 |
/* meaningful results */ |
/* meaningful results */ |
863 |
|
|
864 |
OTV_NEST3( ChainContextPosFormat2, |
OTV_NEST3( ChainContextPosFormat2,ChainPosClassSet, ChainPosClassRule ); |
|
ChainPosClassSet, ChainPosClassRule ); |
|
865 |
OTV_RUN( table, valid ); |
OTV_RUN( table, valid ); |
866 |
break; |
break; |
867 |
|
|