6 otl_jstf_extender_validate( OTL_Bytes table,
14 count = OTL_NEXT_USHORT( p );
21 otl_jstf_gsub_mods_validate( OTL_Bytes table,
28 count = OTL_NEXT_USHORT( p );
31 /* XXX: check GSUB lookup indices */
36 otl_jstf_gpos_mods_validate( OTL_Bytes table,
43 count = OTL_NEXT_USHORT( p );
46 /* XXX: check GPOS lookup indices */
51 otl_jstf_max_validate( OTL_Bytes table,
59 count = OTL_NEXT_USHORT( p );
62 for ( ; count > 0; count-- )
63 otl_gpos_subtable_check( table + OTL_NEXT_USHORT( p ), valid );
68 otl_jstf_priority_validate( OTL_Bytes table,
76 /* shrinkage GSUB enable/disable */
77 val = OTL_NEXT_USHORT( p );
79 otl_jstf_gsub_mods_validate( table + val, valid );
81 val = OTL_NEXT_USHORT( p );
83 otl_jstf_gsub_mods_validate( table + val, valid );
85 /* shrinkage GPOS enable/disable */
86 val = OTL_NEXT_USHORT( p );
88 otl_jstf_gpos_mods_validate( table + val, valid );
90 val = OTL_NEXT_USHORT( p );
92 otl_jstf_gpos_mods_validate( table + val, valid );
94 /* shrinkage JSTF max */
95 val = OTL_NEXT_USHORT( p );
97 otl_jstf_max_validate( table + val, valid );
99 /* extension GSUB enable/disable */
100 val = OTL_NEXT_USHORT( p );
102 otl_jstf_gsub_mods_validate( table + val, valid );
104 val = OTL_NEXT_USHORT( p );
106 otl_jstf_gsub_mods_validate( table + val, valid );
108 /* extension GPOS enable/disable */
109 val = OTL_NEXT_USHORT( p );
111 otl_jstf_gpos_mods_validate( table + val, valid );
113 val = OTL_NEXT_USHORT( p );
115 otl_jstf_gpos_mods_validate( table + val, valid );
117 /* extension JSTF max */
118 val = OTL_NEXT_USHORT( p );
120 otl_jstf_max_validate( table + val, valid );
124 otl_jstf_lang_validate( OTL_Bytes table,
125 OTL_Validator valid )
132 count = OTL_NEXT_USHORT( p );
134 OTL_CHECK( count*2 );
135 for ( ; count > 0; count-- )
136 otl_jstf_priority_validate( table + OTL_NEXT_USHORT( p ), valid );
141 otl_jstf_script_validate( OTL_Bytes table,
142 OTL_Validator valid )
145 OTL_UInt count, extender, default_lang;
148 extender = OTL_NEXT_USHORT( p );
149 default_lang = OTL_NEXT_USHORT( p );
150 count = OTL_NEXT_USHORT( p );
153 otl_jstf_extender_validate( table + extender, valid );
156 otl_jstf_lang_validate( table + default_lang, valid );
158 OTL_CHECK( 6*count );
160 for ( ; count > 0; count-- )
162 p += 4; /* ignore tag */
163 otl_jstf_lang_validate( table + OTL_NEXT_USHORT( p ), valid );
169 otl_jstf_validate( OTL_Bytes table,
170 OTL_Validator valid )
177 if ( OTL_NEXT_ULONG( p ) != 0x10000UL )
180 count = OTL_NEXT_USHORT( p );
181 OTL_CHECK( count*6 );
183 for ( ; count > 0; count++ )
185 p += 4; /* ignore tag */
186 otl_jstf_script_validate( table + OTL_NEXT_USHORT( p ), valid );