Lines Matching refs:info

187 _hb_glyph_info_set_unicode_props (hb_glyph_info_t *info, hb_unicode_funcs_t *unicode)
190 info->unicode_props0() = ((unsigned int) unicode->general_category (info->codepoint)) |
191 (unicode->is_default_ignorable (info->codepoint) ? MASK0_IGNORABLE : 0) |
192 (info->codepoint == 0x200Cu ? MASK0_ZWNJ : 0) |
193 (info->codepoint == 0x200Du ? MASK0_ZWJ : 0);
194 info->unicode_props1() = unicode->modified_combining_class (info->codepoint);
198 _hb_glyph_info_set_general_category (hb_glyph_info_t *info,
201 info->unicode_props0() = (unsigned int) gen_cat | ((info->unicode_props0()) & ~MASK0_GEN_CAT);
205 _hb_glyph_info_get_general_category (const hb_glyph_info_t *info)
207 return (hb_unicode_general_category_t) (info->unicode_props0() & MASK0_GEN_CAT);
211 _hb_glyph_info_set_modified_combining_class (hb_glyph_info_t *info,
214 info->unicode_props1() = modified_class;
218 _hb_glyph_info_get_modified_combining_class (const hb_glyph_info_t *info)
220 return info->unicode_props1();
224 _hb_glyph_info_is_default_ignorable (const hb_glyph_info_t *info)
226 return !!(info->unicode_props0() & MASK0_IGNORABLE);
230 _hb_glyph_info_is_zwnj (const hb_glyph_info_t *info)
232 return !!(info->unicode_props0() & MASK0_ZWNJ);
236 _hb_glyph_info_is_zwj (const hb_glyph_info_t *info)
238 return !!(info->unicode_props0() & MASK0_ZWJ);
242 _hb_glyph_info_flip_joiners (hb_glyph_info_t *info)
244 info->unicode_props0() ^= MASK0_ZWNJ | MASK0_ZWJ;
273 _hb_glyph_info_clear_lig_props (hb_glyph_info_t *info)
275 info->lig_props() = 0;
281 _hb_glyph_info_set_lig_props_for_ligature (hb_glyph_info_t *info,
285 info->lig_props() = (lig_id << 5) | IS_LIG_BASE | (lig_num_comps & 0x0F);
289 _hb_glyph_info_set_lig_props_for_mark (hb_glyph_info_t *info,
293 info->lig_props() = (lig_id << 5) | (lig_comp & 0x0F);
297 _hb_glyph_info_set_lig_props_for_component (hb_glyph_info_t *info, unsigned int comp)
299 _hb_glyph_info_set_lig_props_for_mark (info, 0, comp);
303 _hb_glyph_info_get_lig_id (const hb_glyph_info_t *info)
305 return info->lig_props() >> 5;
309 _hb_glyph_info_ligated_internal (const hb_glyph_info_t *info)
311 return !!(info->lig_props() & IS_LIG_BASE);
315 _hb_glyph_info_get_lig_comp (const hb_glyph_info_t *info)
317 if (_hb_glyph_info_ligated_internal (info))
320 return info->lig_props() & 0x0F;
324 _hb_glyph_info_get_lig_num_comps (const hb_glyph_info_t *info)
326 if ((info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE) &&
327 _hb_glyph_info_ligated_internal (info))
328 return info->lig_props() & 0x0F;
344 _hb_glyph_info_set_glyph_props (hb_glyph_info_t *info, unsigned int props)
346 info->glyph_props() = props;
350 _hb_glyph_info_get_glyph_props (const hb_glyph_info_t *info)
352 return info->glyph_props();
356 _hb_glyph_info_is_base_glyph (const hb_glyph_info_t *info)
358 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_BASE_GLYPH);
362 _hb_glyph_info_is_ligature (const hb_glyph_info_t *info)
364 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE);
368 _hb_glyph_info_is_mark (const hb_glyph_info_t *info)
370 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MARK);
374 _hb_glyph_info_substituted (const hb_glyph_info_t *info)
376 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED);
380 _hb_glyph_info_ligated (const hb_glyph_info_t *info)
382 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATED);
386 _hb_glyph_info_multiplied (const hb_glyph_info_t *info)
388 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MULTIPLIED);
392 _hb_glyph_info_ligated_and_didnt_multiply (const hb_glyph_info_t *info)
394 return _hb_glyph_info_ligated (info) && !_hb_glyph_info_multiplied (info);
398 _hb_glyph_info_clear_ligated_and_multiplied (hb_glyph_info_t *info)
400 info->glyph_props() &= ~(HB_OT_LAYOUT_GLYPH_PROPS_LIGATED |