Lines Matching refs:indic_plan

291   indic_shape_plan_t *indic_plan = (indic_shape_plan_t *) calloc (1, sizeof (indic_shape_plan_t));  in data_create_indic()  local
292 if (unlikely (!indic_plan)) in data_create_indic()
295 indic_plan->config = &indic_configs[0]; in data_create_indic()
298 indic_plan->config = &indic_configs[i]; in data_create_indic()
302indic_plan->is_old_spec = indic_plan->config->has_old_spec && ((plan->map.chosen_script[0] & 0x000… in data_create_indic()
303 indic_plan->uniscribe_bug_compatible = hb_options ().uniscribe_bug_compatible; in data_create_indic()
304 indic_plan->virama_glyph.set_relaxed (-1); in data_create_indic()
315 bool zero_context = !indic_plan->is_old_spec && plan->props.script != HB_SCRIPT_MALAYALAM; in data_create_indic()
316 indic_plan->rphf.init (&plan->map, HB_TAG('r','p','h','f'), zero_context); in data_create_indic()
317 indic_plan->pref.init (&plan->map, HB_TAG('p','r','e','f'), zero_context); in data_create_indic()
318 indic_plan->blwf.init (&plan->map, HB_TAG('b','l','w','f'), zero_context); in data_create_indic()
319 indic_plan->pstf.init (&plan->map, HB_TAG('p','s','t','f'), zero_context); in data_create_indic()
321 for (unsigned int i = 0; i < ARRAY_LENGTH (indic_plan->mask_array); i++) in data_create_indic()
322 indic_plan->mask_array[i] = (indic_features[i].flags & F_GLOBAL) ? in data_create_indic()
325 return indic_plan; in data_create_indic()
335 consonant_position_from_face (const indic_shape_plan_t *indic_plan, in consonant_position_from_face() argument
351 if (indic_plan->blwf.would_substitute (glyphs , 2, face) || in consonant_position_from_face()
352 indic_plan->blwf.would_substitute (glyphs+1, 2, face)) in consonant_position_from_face()
354 if (indic_plan->pstf.would_substitute (glyphs , 2, face) || in consonant_position_from_face()
355 indic_plan->pstf.would_substitute (glyphs+1, 2, face)) in consonant_position_from_face()
357 if (indic_plan->pref.would_substitute (glyphs , 2, face) || in consonant_position_from_face()
358 indic_plan->pref.would_substitute (glyphs+1, 2, face)) in consonant_position_from_face()
419 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) plan->data; in update_consonant_positions() local
421 if (indic_plan->config->base_pos != BASE_POS_LAST) in update_consonant_positions()
425 if (indic_plan->load_virama_glyph (font, &virama)) in update_consonant_positions()
434 … info[i].indic_position() = consonant_position_from_face (indic_plan, consonant, virama, face); in update_consonant_positions()
449 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) plan->data; in initial_reordering_consonant_syllable() local
490 if (indic_plan->mask_array[RPHF] && in initial_reordering_consonant_syllable()
493 (indic_plan->config->reph_mode == REPH_MODE_IMPLICIT && !is_joiner (info[start + 2])) || in initial_reordering_consonant_syllable()
494 …(indic_plan->config->reph_mode == REPH_MODE_EXPLICIT && info[start + 2].indic_category() == OT_ZWJ) in initial_reordering_consonant_syllable()
500 indic_plan->config->reph_mode == REPH_MODE_EXPLICIT ? in initial_reordering_consonant_syllable()
502 if (indic_plan->rphf.would_substitute (glyphs, 2, face) || in initial_reordering_consonant_syllable()
503 (indic_plan->config->reph_mode == REPH_MODE_EXPLICIT && in initial_reordering_consonant_syllable()
504 indic_plan->rphf.would_substitute (glyphs, 3, face))) in initial_reordering_consonant_syllable()
512 …} else if (indic_plan->config->reph_mode == REPH_MODE_LOG_REPHA && info[start].indic_category() ==… in initial_reordering_consonant_syllable()
521 switch (indic_plan->config->base_pos) in initial_reordering_consonant_syllable()
697 if (indic_plan->is_old_spec) in initial_reordering_consonant_syllable()
792 if (indic_plan->is_old_spec || end - start > 127) in initial_reordering_consonant_syllable()
826 info[i].mask |= indic_plan->mask_array[RPHF]; in initial_reordering_consonant_syllable()
829 mask = indic_plan->mask_array[HALF]; in initial_reordering_consonant_syllable()
830 if (!indic_plan->is_old_spec && in initial_reordering_consonant_syllable()
831 indic_plan->config->blwf_mode == BLWF_MODE_PRE_AND_POST) in initial_reordering_consonant_syllable()
832 mask |= indic_plan->mask_array[BLWF]; in initial_reordering_consonant_syllable()
840 … mask = indic_plan->mask_array[BLWF] | indic_plan->mask_array[ABVF] | indic_plan->mask_array[PSTF]; in initial_reordering_consonant_syllable()
845 if (indic_plan->is_old_spec && in initial_reordering_consonant_syllable()
872 info[i ].mask |= indic_plan->mask_array[BLWF]; in initial_reordering_consonant_syllable()
873 info[i+1].mask |= indic_plan->mask_array[BLWF]; in initial_reordering_consonant_syllable()
878 if (indic_plan->mask_array[PREF] && base + pref_len < end) in initial_reordering_consonant_syllable()
885 if (indic_plan->pref.would_substitute (glyphs, pref_len, face)) in initial_reordering_consonant_syllable()
888 info[i++].mask |= indic_plan->mask_array[PREF]; in initial_reordering_consonant_syllable()
909 info[j].mask &= ~indic_plan->mask_array[HALF]; in initial_reordering_consonant_syllable()
921 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) plan->data; in initial_reordering_standalone_cluster() local
926 if (indic_plan->uniscribe_bug_compatible) in initial_reordering_standalone_cluster()
1041 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) plan->data; in final_reordering_syllable() local
1052 hb_codepoint_t virama_glyph = indic_plan->virama_glyph.get_relaxed (); in final_reordering_syllable()
1075 bool try_pref = !!indic_plan->mask_array[PREF]; in final_reordering_syllable()
1085 if ((info[i].mask & indic_plan->mask_array[PREF]) != 0) in final_reordering_syllable()
1265 reph_position_t reph_pos = indic_plan->config->reph_pos; in final_reordering_syllable()
1366 if (!indic_plan->uniscribe_bug_compatible && in final_reordering_syllable()
1400 if ((info[i].mask & indic_plan->mask_array[PREF]) != 0) in final_reordering_syllable()
1463 info[start].mask |= indic_plan->mask_array[INIT]; in final_reordering_syllable()
1472 if (indic_plan->uniscribe_bug_compatible) in final_reordering_syllable()
1586 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) c->plan->data; in decompose_indic() local
1592 indic_plan->pstf.would_substitute (&glyph, 1, c->font->face))) in decompose_indic()