Lines Matching refs:indic_plan
260 indic_shape_plan_t *indic_plan = (indic_shape_plan_t *) calloc (1, sizeof (indic_shape_plan_t)); in data_create_indic() local
261 if (unlikely (!indic_plan)) in data_create_indic()
264 indic_plan->config = &indic_configs[0]; in data_create_indic()
267 indic_plan->config = &indic_configs[i]; in data_create_indic()
271 …indic_plan->is_old_spec = indic_plan->config->has_old_spec && ((plan->map.chosen_script[0] & 0x000… in data_create_indic()
273 indic_plan->uniscribe_bug_compatible = hb_options ().uniscribe_bug_compatible; in data_create_indic()
275 indic_plan->virama_glyph.set_relaxed (-1); in data_create_indic()
286 bool zero_context = !indic_plan->is_old_spec && plan->props.script != HB_SCRIPT_MALAYALAM; in data_create_indic()
287 indic_plan->rphf.init (&plan->map, HB_TAG('r','p','h','f'), zero_context); in data_create_indic()
288 indic_plan->pref.init (&plan->map, HB_TAG('p','r','e','f'), zero_context); in data_create_indic()
289 indic_plan->blwf.init (&plan->map, HB_TAG('b','l','w','f'), zero_context); in data_create_indic()
290 indic_plan->pstf.init (&plan->map, HB_TAG('p','s','t','f'), zero_context); in data_create_indic()
291 indic_plan->vatu.init (&plan->map, HB_TAG('v','a','t','u'), zero_context); in data_create_indic()
293 for (unsigned int i = 0; i < ARRAY_LENGTH (indic_plan->mask_array); i++) in data_create_indic()
294 indic_plan->mask_array[i] = (indic_features[i].flags & F_GLOBAL) ? in data_create_indic()
297 return indic_plan; in data_create_indic()
307 consonant_position_from_face (const indic_shape_plan_t *indic_plan, in consonant_position_from_face() argument
327 if (indic_plan->blwf.would_substitute (glyphs , 2, face) || in consonant_position_from_face()
328 indic_plan->blwf.would_substitute (glyphs+1, 2, face) || in consonant_position_from_face()
329 indic_plan->vatu.would_substitute (glyphs , 2, face) || in consonant_position_from_face()
330 indic_plan->vatu.would_substitute (glyphs+1, 2, face)) in consonant_position_from_face()
332 if (indic_plan->pstf.would_substitute (glyphs , 2, face) || in consonant_position_from_face()
333 indic_plan->pstf.would_substitute (glyphs+1, 2, face)) in consonant_position_from_face()
335 if (indic_plan->pref.would_substitute (glyphs , 2, face) || in consonant_position_from_face()
336 indic_plan->pref.would_substitute (glyphs+1, 2, face)) in consonant_position_from_face()
384 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) plan->data; in update_consonant_positions_indic() local
386 if (indic_plan->config->base_pos != BASE_POS_LAST) in update_consonant_positions_indic()
390 if (indic_plan->load_virama_glyph (font, &virama)) in update_consonant_positions_indic()
399 info[i].indic_position() = consonant_position_from_face (indic_plan, consonant, virama, face); in update_consonant_positions_indic()
414 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) plan->data; in initial_reordering_consonant_syllable() local
455 if (indic_plan->mask_array[INDIC_RPHF] && in initial_reordering_consonant_syllable()
458 (indic_plan->config->reph_mode == REPH_MODE_IMPLICIT && !is_joiner (info[start + 2])) || in initial_reordering_consonant_syllable()
459 …(indic_plan->config->reph_mode == REPH_MODE_EXPLICIT && info[start + 2].indic_category() == OT_ZWJ) in initial_reordering_consonant_syllable()
465 indic_plan->config->reph_mode == REPH_MODE_EXPLICIT ? in initial_reordering_consonant_syllable()
467 if (indic_plan->rphf.would_substitute (glyphs, 2, face) || in initial_reordering_consonant_syllable()
468 (indic_plan->config->reph_mode == REPH_MODE_EXPLICIT && in initial_reordering_consonant_syllable()
469 indic_plan->rphf.would_substitute (glyphs, 3, face))) in initial_reordering_consonant_syllable()
477 …} else if (indic_plan->config->reph_mode == REPH_MODE_LOG_REPHA && info[start].indic_category() ==… in initial_reordering_consonant_syllable()
486 switch (indic_plan->config->base_pos) in initial_reordering_consonant_syllable()
662 if (indic_plan->is_old_spec) in initial_reordering_consonant_syllable()
778 if (indic_plan->is_old_spec || end - start > 127) in initial_reordering_consonant_syllable()
813 info[i].mask |= indic_plan->mask_array[INDIC_RPHF]; in initial_reordering_consonant_syllable()
816 mask = indic_plan->mask_array[INDIC_HALF]; in initial_reordering_consonant_syllable()
817 if (!indic_plan->is_old_spec && in initial_reordering_consonant_syllable()
818 indic_plan->config->blwf_mode == BLWF_MODE_PRE_AND_POST) in initial_reordering_consonant_syllable()
819 mask |= indic_plan->mask_array[INDIC_BLWF]; in initial_reordering_consonant_syllable()
827 mask = indic_plan->mask_array[INDIC_BLWF] | in initial_reordering_consonant_syllable()
828 indic_plan->mask_array[INDIC_ABVF] | in initial_reordering_consonant_syllable()
829 indic_plan->mask_array[INDIC_PSTF]; in initial_reordering_consonant_syllable()
834 if (indic_plan->is_old_spec && in initial_reordering_consonant_syllable()
861 info[i ].mask |= indic_plan->mask_array[INDIC_BLWF]; in initial_reordering_consonant_syllable()
862 info[i+1].mask |= indic_plan->mask_array[INDIC_BLWF]; in initial_reordering_consonant_syllable()
867 if (indic_plan->mask_array[INDIC_PREF] && base + pref_len < end) in initial_reordering_consonant_syllable()
874 if (indic_plan->pref.would_substitute (glyphs, pref_len, face)) in initial_reordering_consonant_syllable()
877 info[i++].mask |= indic_plan->mask_array[INDIC_PREF]; in initial_reordering_consonant_syllable()
898 info[j].mask &= ~indic_plan->mask_array[INDIC_HALF]; in initial_reordering_consonant_syllable()
913 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) plan->data; in initial_reordering_standalone_cluster() local
914 if (indic_plan->uniscribe_bug_compatible) in initial_reordering_standalone_cluster()
976 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) plan->data; in final_reordering_syllable_indic() local
987 hb_codepoint_t virama_glyph = indic_plan->virama_glyph.get_relaxed (); in final_reordering_syllable_indic()
1010 bool try_pref = !!indic_plan->mask_array[INDIC_PREF]; in final_reordering_syllable_indic()
1020 if ((info[i].mask & indic_plan->mask_array[INDIC_PREF]) != 0) in final_reordering_syllable_indic()
1205 reph_position_t reph_pos = indic_plan->config->reph_pos; in final_reordering_syllable_indic()
1307 if (!indic_plan->uniscribe_bug_compatible && in final_reordering_syllable_indic()
1343 if ((info[i].mask & indic_plan->mask_array[INDIC_PREF]) != 0) in final_reordering_syllable_indic()
1406 info[start].mask |= indic_plan->mask_array[INDIC_INIT]; in final_reordering_syllable_indic()
1415 if (indic_plan->uniscribe_bug_compatible) in final_reordering_syllable_indic()
1521 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) c->plan->data; in decompose_indic() local
1523 if (indic_plan->uniscribe_bug_compatible || in decompose_indic()
1525 indic_plan->pstf.would_substitute (&glyph, 1, c->font->face))) in decompose_indic()