Lines Matching full:info
114 bool (*filter) (const hb_glyph_info_t *info));
168 hb_glyph_info_t *info = buffer->info; in _hb_next_syllable() local
171 unsigned int syllable = info[start].syllable(); in _hb_next_syllable()
172 while (++start < count && syllable == info[start].syllable()) in _hb_next_syllable()
211 _hb_glyph_info_set_unicode_props (hb_glyph_info_t *info, hb_buffer_t *buffer) in _hb_glyph_info_set_unicode_props() argument
214 unsigned int u = info->codepoint; in _hb_glyph_info_set_unicode_props()
255 info->unicode_props() = props; in _hb_glyph_info_set_unicode_props()
259 _hb_glyph_info_set_general_category (hb_glyph_info_t *info, in _hb_glyph_info_set_general_category() argument
263 …info->unicode_props() = (unsigned int) gen_cat | (info->unicode_props() & (0xFF & ~UPROPS_MASK_GEN… in _hb_glyph_info_set_general_category()
267 _hb_glyph_info_get_general_category (const hb_glyph_info_t *info) in _hb_glyph_info_get_general_category() argument
269 return (hb_unicode_general_category_t) (info->unicode_props() & UPROPS_MASK_GEN_CAT); in _hb_glyph_info_get_general_category()
273 _hb_glyph_info_is_unicode_mark (const hb_glyph_info_t *info) in _hb_glyph_info_is_unicode_mark() argument
275 return HB_UNICODE_GENERAL_CATEGORY_IS_MARK (info->unicode_props() & UPROPS_MASK_GEN_CAT); in _hb_glyph_info_is_unicode_mark()
278 _hb_glyph_info_set_modified_combining_class (hb_glyph_info_t *info, in _hb_glyph_info_set_modified_combining_class() argument
281 if (unlikely (!_hb_glyph_info_is_unicode_mark (info))) in _hb_glyph_info_set_modified_combining_class()
283 info->unicode_props() = (modified_class<<8) | (info->unicode_props() & 0xFF); in _hb_glyph_info_set_modified_combining_class()
286 _hb_glyph_info_get_modified_combining_class (const hb_glyph_info_t *info) in _hb_glyph_info_get_modified_combining_class() argument
288 return _hb_glyph_info_is_unicode_mark (info) ? info->unicode_props()>>8 : 0; in _hb_glyph_info_get_modified_combining_class()
290 #define info_cc(info) (_hb_glyph_info_get_modified_combining_class (&(info))) argument
293 _hb_glyph_info_is_unicode_space (const hb_glyph_info_t *info) in _hb_glyph_info_is_unicode_space() argument
295 return _hb_glyph_info_get_general_category (info) == in _hb_glyph_info_is_unicode_space()
299 _hb_glyph_info_set_unicode_space_fallback_type (hb_glyph_info_t *info, hb_unicode_funcs_t::space_t … in _hb_glyph_info_set_unicode_space_fallback_type() argument
301 if (unlikely (!_hb_glyph_info_is_unicode_space (info))) in _hb_glyph_info_set_unicode_space_fallback_type()
303 info->unicode_props() = (((unsigned int) s)<<8) | (info->unicode_props() & 0xFF); in _hb_glyph_info_set_unicode_space_fallback_type()
306 _hb_glyph_info_get_unicode_space_fallback_type (const hb_glyph_info_t *info) in _hb_glyph_info_get_unicode_space_fallback_type() argument
308 return _hb_glyph_info_is_unicode_space (info) ? in _hb_glyph_info_get_unicode_space_fallback_type()
309 (hb_unicode_funcs_t::space_t) (info->unicode_props()>>8) : in _hb_glyph_info_get_unicode_space_fallback_type()
313 static inline bool _hb_glyph_info_ligated (const hb_glyph_info_t *info);
316 _hb_glyph_info_is_default_ignorable (const hb_glyph_info_t *info) in _hb_glyph_info_is_default_ignorable() argument
318 return (info->unicode_props() & UPROPS_MASK_IGNORABLE) && in _hb_glyph_info_is_default_ignorable()
319 !_hb_glyph_info_ligated (info); in _hb_glyph_info_is_default_ignorable()
322 _hb_glyph_info_is_default_ignorable_and_not_hidden (const hb_glyph_info_t *info) in _hb_glyph_info_is_default_ignorable_and_not_hidden() argument
324 return ((info->unicode_props() & (UPROPS_MASK_IGNORABLE|UPROPS_MASK_HIDDEN)) in _hb_glyph_info_is_default_ignorable_and_not_hidden()
326 !_hb_glyph_info_ligated (info); in _hb_glyph_info_is_default_ignorable_and_not_hidden()
329 _hb_glyph_info_unhide (hb_glyph_info_t *info) in _hb_glyph_info_unhide() argument
331 info->unicode_props() &= ~ UPROPS_MASK_HIDDEN; in _hb_glyph_info_unhide()
335 _hb_glyph_info_set_continuation (hb_glyph_info_t *info) in _hb_glyph_info_set_continuation() argument
337 info->unicode_props() |= UPROPS_MASK_CONTINUATION; in _hb_glyph_info_set_continuation()
340 _hb_glyph_info_reset_continuation (hb_glyph_info_t *info) in _hb_glyph_info_reset_continuation() argument
342 info->unicode_props() &= ~ UPROPS_MASK_CONTINUATION; in _hb_glyph_info_reset_continuation()
345 _hb_glyph_info_is_continuation (const hb_glyph_info_t *info) in _hb_glyph_info_is_continuation() argument
347 return info->unicode_props() & UPROPS_MASK_CONTINUATION; in _hb_glyph_info_is_continuation()
360 hb_glyph_info_t *info = buffer->info; in _hb_next_grapheme() local
363 while (++start < count && _hb_glyph_info_is_continuation (&info[start])) in _hb_next_grapheme()
370 _hb_glyph_info_is_unicode_format (const hb_glyph_info_t *info) in _hb_glyph_info_is_unicode_format() argument
372 return _hb_glyph_info_get_general_category (info) == in _hb_glyph_info_is_unicode_format()
376 _hb_glyph_info_is_zwnj (const hb_glyph_info_t *info) in _hb_glyph_info_is_zwnj() argument
378 return _hb_glyph_info_is_unicode_format (info) && (info->unicode_props() & UPROPS_MASK_Cf_ZWNJ); in _hb_glyph_info_is_zwnj()
381 _hb_glyph_info_is_zwj (const hb_glyph_info_t *info) in _hb_glyph_info_is_zwj() argument
383 return _hb_glyph_info_is_unicode_format (info) && (info->unicode_props() & UPROPS_MASK_Cf_ZWJ); in _hb_glyph_info_is_zwj()
386 _hb_glyph_info_is_joiner (const hb_glyph_info_t *info) in _hb_glyph_info_is_joiner() argument
388 …return _hb_glyph_info_is_unicode_format (info) && (info->unicode_props() & (UPROPS_MASK_Cf_ZWNJ|UP… in _hb_glyph_info_is_joiner()
391 _hb_glyph_info_flip_joiners (hb_glyph_info_t *info) in _hb_glyph_info_flip_joiners() argument
393 if (!_hb_glyph_info_is_unicode_format (info)) in _hb_glyph_info_flip_joiners()
395 info->unicode_props() ^= UPROPS_MASK_Cf_ZWNJ | UPROPS_MASK_Cf_ZWJ; in _hb_glyph_info_flip_joiners()
424 _hb_glyph_info_clear_lig_props (hb_glyph_info_t *info) in _hb_glyph_info_clear_lig_props() argument
426 info->lig_props() = 0; in _hb_glyph_info_clear_lig_props()
432 _hb_glyph_info_set_lig_props_for_ligature (hb_glyph_info_t *info, in _hb_glyph_info_set_lig_props_for_ligature() argument
436 info->lig_props() = (lig_id << 5) | IS_LIG_BASE | (lig_num_comps & 0x0F); in _hb_glyph_info_set_lig_props_for_ligature()
440 _hb_glyph_info_set_lig_props_for_mark (hb_glyph_info_t *info, in _hb_glyph_info_set_lig_props_for_mark() argument
444 info->lig_props() = (lig_id << 5) | (lig_comp & 0x0F); in _hb_glyph_info_set_lig_props_for_mark()
448 _hb_glyph_info_set_lig_props_for_component (hb_glyph_info_t *info, unsigned int comp) in _hb_glyph_info_set_lig_props_for_component() argument
450 _hb_glyph_info_set_lig_props_for_mark (info, 0, comp); in _hb_glyph_info_set_lig_props_for_component()
454 _hb_glyph_info_get_lig_id (const hb_glyph_info_t *info) in _hb_glyph_info_get_lig_id() argument
456 return info->lig_props() >> 5; in _hb_glyph_info_get_lig_id()
460 _hb_glyph_info_ligated_internal (const hb_glyph_info_t *info) in _hb_glyph_info_ligated_internal() argument
462 return !!(info->lig_props() & IS_LIG_BASE); in _hb_glyph_info_ligated_internal()
466 _hb_glyph_info_get_lig_comp (const hb_glyph_info_t *info) in _hb_glyph_info_get_lig_comp() argument
468 if (_hb_glyph_info_ligated_internal (info)) in _hb_glyph_info_get_lig_comp()
471 return info->lig_props() & 0x0F; in _hb_glyph_info_get_lig_comp()
475 _hb_glyph_info_get_lig_num_comps (const hb_glyph_info_t *info) in _hb_glyph_info_get_lig_num_comps() argument
477 if ((info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE) && in _hb_glyph_info_get_lig_num_comps()
478 _hb_glyph_info_ligated_internal (info)) in _hb_glyph_info_get_lig_num_comps()
479 return info->lig_props() & 0x0F; in _hb_glyph_info_get_lig_num_comps()
495 _hb_glyph_info_set_glyph_props (hb_glyph_info_t *info, unsigned int props) in _hb_glyph_info_set_glyph_props() argument
497 info->glyph_props() = props; in _hb_glyph_info_set_glyph_props()
501 _hb_glyph_info_get_glyph_props (const hb_glyph_info_t *info) in _hb_glyph_info_get_glyph_props() argument
503 return info->glyph_props(); in _hb_glyph_info_get_glyph_props()
507 _hb_glyph_info_is_base_glyph (const hb_glyph_info_t *info) in _hb_glyph_info_is_base_glyph() argument
509 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_BASE_GLYPH); in _hb_glyph_info_is_base_glyph()
513 _hb_glyph_info_is_ligature (const hb_glyph_info_t *info) in _hb_glyph_info_is_ligature() argument
515 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE); in _hb_glyph_info_is_ligature()
519 _hb_glyph_info_is_mark (const hb_glyph_info_t *info) in _hb_glyph_info_is_mark() argument
521 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MARK); in _hb_glyph_info_is_mark()
525 _hb_glyph_info_substituted (const hb_glyph_info_t *info) in _hb_glyph_info_substituted() argument
527 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED); in _hb_glyph_info_substituted()
531 _hb_glyph_info_ligated (const hb_glyph_info_t *info) in _hb_glyph_info_ligated() argument
533 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATED); in _hb_glyph_info_ligated()
537 _hb_glyph_info_multiplied (const hb_glyph_info_t *info) in _hb_glyph_info_multiplied() argument
539 return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MULTIPLIED); in _hb_glyph_info_multiplied()
543 _hb_glyph_info_ligated_and_didnt_multiply (const hb_glyph_info_t *info) in _hb_glyph_info_ligated_and_didnt_multiply() argument
545 return _hb_glyph_info_ligated (info) && !_hb_glyph_info_multiplied (info); in _hb_glyph_info_ligated_and_didnt_multiply()
549 _hb_glyph_info_clear_ligated_and_multiplied (hb_glyph_info_t *info) in _hb_glyph_info_clear_ligated_and_multiplied() argument
551 info->glyph_props() &= ~(HB_OT_LAYOUT_GLYPH_PROPS_LIGATED | in _hb_glyph_info_clear_ligated_and_multiplied()
556 _hb_glyph_info_clear_substituted (hb_glyph_info_t *info) in _hb_glyph_info_clear_substituted() argument
558 info->glyph_props() &= ~(HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED); in _hb_glyph_info_clear_substituted()