Home | History | Annotate | Download | only in src

Lines Matching refs:info

188 _hb_glyph_info_set_unicode_props (hb_glyph_info_t *info, hb_unicode_funcs_t *unicode)
191 info->unicode_props0() = ((unsigned int) unicode->general_category (info->codepoint)) |
192 (unicode->is_default_ignorable (info->codepoint) ? MASK0_IGNORABLE : 0) |
193 (info->codepoint == 0x200Cu ? MASK0_ZWNJ : 0) |
194 (info->codepoint == 0x200Du ? MASK0_ZWJ : 0);
195 info->unicode_props1() = unicode->modified_combining_class (info->codepoint);
199 _hb_glyph_info_set_general_category (hb_glyph_info_t *info,
202 info->unicode_props0() = (unsigned int) gen_cat | ((info->unicode_props0()) & ~MASK0_GEN_CAT);
206 _hb_glyph_info_get_general_category (const hb_glyph_info_t *info)
208 return (hb_unicode_general_category_t) (info->unicode_props0() & MASK0_GEN_CAT);
212 _hb_glyph_info_set_modified_combining_class (hb_glyph_info_t *info,
215 info->unicode_props1() = modified_class;
219 _hb_glyph_info_get_modified_combining_class (const hb_glyph_info_t *info)
221 return info->unicode_props1();
225 _hb_glyph_info_is_default_ignorable (const hb_glyph_info_t *info)
227 return !!(info->unicode_props0() & MASK0_IGNORABLE);
231 _hb_glyph_info_is_zwnj (const hb_glyph_info_t *info)
233 return !!(info->unicode_props0() & MASK0_ZWNJ);
237 _hb_glyph_info_is_zwj (const hb_glyph_info_t *info)
239 return !!(info->unicode_props0() & MASK0_ZWJ);
243 _hb_glyph_info_flip_joiners (hb_glyph_info_t *info)
245 info->unicode_props0() ^= MASK0_ZWNJ | MASK0_ZWJ;
274 _hb_glyph_info_clear_lig_props (hb_glyph_info_t *info)
276 info->lig_props() = 0;
282 _hb_glyph_info_set_lig_props_for_ligature (hb_glyph_info_t *info,
286 info->lig_props() = (lig_id << 5) | IS_LIG_BASE | (lig_num_comps & 0x0F);
290 _hb_glyph_info_set_lig_props_for_mark (hb_glyph_info_t *info,
294 info->lig_props() = (lig_id << 5) | (lig_comp & 0x0F);
298 _hb_glyph_info_set_lig_props_for_component (hb_glyph_info_t *info, unsigned int comp)
300 _hb_glyph_info_set_lig_props_for_mark (info, 0, comp);
304 _hb_glyph_info_get_lig_id (const hb_glyph_info_t *info)
306 return info->lig_props() >> 5;
310 _hb_glyph_info_ligated_internal (const hb_glyph_info_t *info)
312 return !!(info->lig_props() & IS_LIG_BASE);
316 _hb_glyph_info_get_lig_comp (const hb_glyph_info_t *info)
318 if (_hb_glyph_info_ligated_internal (info))
321 return info->lig_props() & 0x0F;
325 _hb_glyph_info_get_lig_num_comps (const hb_glyph_info_t *info)
327 if ((info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE) &&
328 _hb_glyph_info_ligated_internal (info))
329 return info->lig_props() & 0x0F;
345 _hb_glyph_info_set_glyph_props (hb_glyph_info_t *info, unsigned int props)
347 info->glyph_props() = props;
351 _hb_glyph_info_get_glyph_props (const hb_glyph_info_t *info)
353 return info->glyph_props();
357 _hb_glyph_info_is_base_glyph (const hb_glyph_info_t *info)
359 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_BASE_GLYPH);
363 _hb_glyph_info_is_ligature (const hb_glyph_info_t *info)
365 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE);
369 _hb_glyph_info_is_mark (const hb_glyph_info_t *info)
371 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MARK);
375 _hb_glyph_info_substituted (const hb_glyph_info_t *info)
377 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED);
381 _hb_glyph_info_ligated (const hb_glyph_info_t *info)
383 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATED);
387 _hb_glyph_info_multiplied (const hb_glyph_info_t *info)
389 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MULTIPLIED);
393 _hb_glyph_info_ligated_and_didnt_multiply (const hb_glyph_info_t *info)
395 return _hb_glyph_info_ligated (info) && !_hb_glyph_info_multiplied (info);
399 _hb_glyph_info_clear_ligated_and_multiplied (hb_glyph_info_t *info)
401 info->glyph_props() &= ~(HB_OT_LAYOUT_GLYPH_PROPS_LIGATED |