Lines Matching refs:indic_plan
526 indic_shape_plan_t *indic_plan = (indic_shape_plan_t *) calloc (1, sizeof (indic_shape_plan_t)); in data_create_indic() local
527 if (unlikely (!indic_plan)) in data_create_indic()
530 indic_plan->config = &indic_configs[0]; in data_create_indic()
533 indic_plan->config = &indic_configs[i]; in data_create_indic()
537 …indic_plan->is_old_spec = indic_plan->config->has_old_spec && ((plan->map.chosen_script[0] & 0x000… in data_create_indic()
538 indic_plan->virama_glyph = (hb_codepoint_t) -1; in data_create_indic()
549 bool zero_context = !indic_plan->is_old_spec && plan->props.script != HB_SCRIPT_MALAYALAM; in data_create_indic()
550 indic_plan->rphf.init (&plan->map, HB_TAG('r','p','h','f'), zero_context); in data_create_indic()
551 indic_plan->pref.init (&plan->map, HB_TAG('p','r','e','f'), zero_context); in data_create_indic()
552 indic_plan->blwf.init (&plan->map, HB_TAG('b','l','w','f'), zero_context); in data_create_indic()
553 indic_plan->pstf.init (&plan->map, HB_TAG('p','s','t','f'), zero_context); in data_create_indic()
555 for (unsigned int i = 0; i < ARRAY_LENGTH (indic_plan->mask_array); i++) in data_create_indic()
556 indic_plan->mask_array[i] = (indic_features[i].flags & F_GLOBAL) ? in data_create_indic()
559 return indic_plan; in data_create_indic()
569 consonant_position_from_face (const indic_shape_plan_t *indic_plan, in consonant_position_from_face() argument
585 if (indic_plan->blwf.would_substitute (glyphs , 2, face) || in consonant_position_from_face()
586 indic_plan->blwf.would_substitute (glyphs+1, 2, face)) in consonant_position_from_face()
588 if (indic_plan->pstf.would_substitute (glyphs , 2, face) || in consonant_position_from_face()
589 indic_plan->pstf.would_substitute (glyphs+1, 2, face)) in consonant_position_from_face()
591 unsigned int pref_len = indic_plan->config->pref_len; in consonant_position_from_face()
593 (indic_plan->pref.would_substitute (glyphs , 2, face) || in consonant_position_from_face()
594 indic_plan->pref.would_substitute (glyphs+1, 2, face))) in consonant_position_from_face()
596 indic_plan->pref.would_substitute (glyphs+1, 1, face))) in consonant_position_from_face()
655 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) plan->data; in update_consonant_positions() local
657 if (indic_plan->config->base_pos != BASE_POS_LAST) in update_consonant_positions()
661 if (indic_plan->get_virama_glyph (font, &virama)) in update_consonant_positions()
670 info[i].indic_position() = consonant_position_from_face (indic_plan, consonant, virama, face); in update_consonant_positions()
685 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) plan->data; in initial_reordering_consonant_syllable() local
711 if (indic_plan->config->reph_pos != REPH_POS_DONT_CARE && in initial_reordering_consonant_syllable()
712 indic_plan->mask_array[RPHF] && in initial_reordering_consonant_syllable()
715 (indic_plan->config->reph_mode == REPH_MODE_IMPLICIT && !is_joiner (info[start + 2])) || in initial_reordering_consonant_syllable()
716 …(indic_plan->config->reph_mode == REPH_MODE_EXPLICIT && info[start + 2].indic_category() == OT_ZWJ) in initial_reordering_consonant_syllable()
722 indic_plan->config->reph_mode == REPH_MODE_EXPLICIT ? in initial_reordering_consonant_syllable()
724 if (indic_plan->rphf.would_substitute (glyphs, 2, face) || in initial_reordering_consonant_syllable()
725 (indic_plan->config->reph_mode == REPH_MODE_EXPLICIT && in initial_reordering_consonant_syllable()
726 indic_plan->rphf.would_substitute (glyphs, 3, face))) in initial_reordering_consonant_syllable()
734 …} else if (indic_plan->config->reph_mode == REPH_MODE_LOG_REPHA && info[start].indic_category() ==… in initial_reordering_consonant_syllable()
743 switch (indic_plan->config->base_pos) in initial_reordering_consonant_syllable()
826 assert (indic_plan->config->reph_mode == REPH_MODE_VIS_REPHA); in initial_reordering_consonant_syllable()
924 if (indic_plan->is_old_spec) in initial_reordering_consonant_syllable()
1017 if (indic_plan->is_old_spec || end - base > 127) in initial_reordering_consonant_syllable()
1051 info[i].mask |= indic_plan->mask_array[RPHF]; in initial_reordering_consonant_syllable()
1054 mask = indic_plan->mask_array[HALF]; in initial_reordering_consonant_syllable()
1055 if (!indic_plan->is_old_spec && in initial_reordering_consonant_syllable()
1056 indic_plan->config->blwf_mode == BLWF_MODE_PRE_AND_POST) in initial_reordering_consonant_syllable()
1057 mask |= indic_plan->mask_array[BLWF]; in initial_reordering_consonant_syllable()
1065 … mask = indic_plan->mask_array[BLWF] | indic_plan->mask_array[ABVF] | indic_plan->mask_array[PSTF]; in initial_reordering_consonant_syllable()
1070 if (indic_plan->is_old_spec && in initial_reordering_consonant_syllable()
1097 info[i ].mask |= indic_plan->mask_array[BLWF]; in initial_reordering_consonant_syllable()
1098 info[i+1].mask |= indic_plan->mask_array[BLWF]; in initial_reordering_consonant_syllable()
1102 unsigned int pref_len = indic_plan->config->pref_len; in initial_reordering_consonant_syllable()
1103 if (indic_plan->mask_array[PREF] && base + pref_len < end) in initial_reordering_consonant_syllable()
1111 if (indic_plan->pref.would_substitute (glyphs, pref_len, face)) in initial_reordering_consonant_syllable()
1114 info[i++].mask |= indic_plan->mask_array[PREF]; in initial_reordering_consonant_syllable()
1122 if (indic_plan->mask_array[CFAR]) in initial_reordering_consonant_syllable()
1124 info[i].mask |= indic_plan->mask_array[CFAR]; in initial_reordering_consonant_syllable()
1146 info[j].mask &= ~indic_plan->mask_array[HALF]; in initial_reordering_consonant_syllable()
1276 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) plan->data; in final_reordering_syllable() local
1285 if (indic_plan->virama_glyph) in final_reordering_syllable()
1287 unsigned int virama_glyph = indic_plan->virama_glyph; in final_reordering_syllable()
1308 bool try_pref = !!indic_plan->mask_array[PREF]; in final_reordering_syllable()
1315 if (try_pref && base + 1 < end && indic_plan->config->pref_len == 2) in final_reordering_syllable()
1318 if ((info[i].mask & indic_plan->mask_array[PREF]) != 0) in final_reordering_syllable()
1461 reph_position_t reph_pos = indic_plan->config->reph_pos; in final_reordering_syllable()
1597 unsigned int pref_len = indic_plan->config->pref_len; in final_reordering_syllable()
1599 if ((info[i].mask & indic_plan->mask_array[PREF]) != 0) in final_reordering_syllable()
1676 info[start].mask |= indic_plan->mask_array[INIT]; in final_reordering_syllable()
1797 const indic_shape_plan_t *indic_plan = (const indic_shape_plan_t *) c->plan->data; in decompose_indic() local
1803 indic_plan->pstf.would_substitute (&glyph, 1, c->font->face))) in decompose_indic()