Lines Matching refs:table_index
34 void hb_ot_map_t::collect_lookups (unsigned int table_index, hb_set_t *lookups_out) const
36 for (unsigned int i = 0; i < lookups[table_index].len; i++)
37 hb_set_add (lookups_out, lookups[table_index][i].index);
59 for (unsigned int table_index = 0; table_index < 2; table_index++) {
60 hb_tag_t table_tag = table_tags[table_index];
61 found_script[table_index] = (bool) hb_ot_layout_table_choose_script (face, table_tag, script_tags, &script_index[table_index], &chosen_script[table_index]);
62 hb_ot_layout_script_find_language (face, table_tag, script_index[table_index], language_tag, &language_index[table_index]);
84 unsigned int table_index,
94 table_lookup_count = hb_ot_layout_table_get_lookup_count (face, table_tags[table_index]);
100 table_tags[table_index],
110 hb_ot_map_t::lookup_map_t *lookup = m.lookups[table_index].push ();
123 void hb_ot_map_builder_t::add_pause (unsigned int table_index, hb_ot_map_t::pause_func_t pause_func)
125 stage_info_t *s = stages[table_index].push ();
127 s->index = current_stage[table_index];
131 current_stage[table_index]++;
149 for (unsigned int table_index = 0; table_index < 2; table_index++)
151 m.chosen_script[table_index] = chosen_script[table_index];
152 m.found_script[table_index] = found_script[table_index];
155 table_tags[table_index],
156 script_index[table_index],
157 language_index[table_index],
158 &required_feature_index[table_index],
159 &required_feature_tag[table_index]);
211 for (unsigned int table_index = 0; table_index < 2; table_index++)
213 if (required_feature_tag[table_index] == info->tag)
214 required_feature_stage[table_index] = info->stage[table_index];
217 table_tags[table_index],
218 script_index[table_index],
219 language_index[table_index],
221 &feature_index[table_index]);
225 for (unsigned int table_index = 0; table_index < 2; table_index++)
228 table_tags[table_index],
230 &feature_index[table_index]);
267 for (unsigned int table_index = 0; table_index < 2; table_index++)
273 table_tags[table_index],
280 for (unsigned stage = 0; stage < current_stage[table_index]; stage++)
282 if (required_feature_index[table_index] != HB_OT_LAYOUT_NO_FEATURE_INDEX &&
283 required_feature_stage[table_index] == stage)
284 add_lookups (m, face, table_index,
285 required_feature_index[table_index],
291 if (m.features[i].stage[table_index] == stage)
292 add_lookups (m, face, table_index,
293 m.features[i].index[table_index],
299 if (last_num_lookups < m.lookups[table_index].len)
301 m.lookups[table_index].qsort (last_num_lookups, m.lookups[table_index].len);
304 for (unsigned int i = j + 1; i < m.lookups[table_index].len; i++)
305 if (m.lookups[table_index][i].index != m.lookups[table_index][j].index)
306 m.lookups[table_index][++j] = m.lookups[table_index][i];
309 m.lookups[table_index][j].mask |= m.lookups[table_index][i].mask;
310 m.lookups[table_index][j].auto_zwj &= m.lookups[table_index][i].auto_zwj;
312 m.lookups[table_index].shrink (j + 1);
315 last_num_lookups = m.lookups[table_index].len;
317 if (stage_index < stages[table_index].len && stages[table_index][stage_index].index == stage) {
318 hb_ot_map_t::stage_map_t *stage_map = m.stages[table_index].push ();
321 stage_map->pause_func = stages[table_index][stage_index].pause_func;