Lines Matching refs:face

44 HB_SHAPER_DATA_ENSURE_DECLARE(ot, face)
47 _hb_ot_layout_create (hb_face_t *face)
53 layout->gdef_blob = OT::Sanitizer<OT::GDEF>::sanitize (face->reference_table (HB_OT_TAG_GDEF));
56 layout->gsub_blob = OT::Sanitizer<OT::GSUB>::sanitize (face->reference_table (HB_OT_TAG_GSUB));
59 layout->gpos_blob = OT::Sanitizer<OT::GPOS>::sanitize (face->reference_table (HB_OT_TAG_GPOS));
102 _get_gdef (hb_face_t *face)
104 if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return OT::Null(OT::GDEF);
105 return *hb_ot_layout_from_face (face)->gdef;
108 _get_gsub (hb_face_t *face)
110 if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return OT::Null(OT::GSUB);
111 return *hb_ot_layout_from_face (face)->gsub;
114 _get_gpos (hb_face_t *face)
116 if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return OT::Null(OT::GPOS);
117 return *hb_ot_layout_from_face (face)->gpos;
126 hb_ot_layout_has_glyph_classes (hb_face_t *face)
128 return _get_gdef (face).has_glyph_classes ();
132 hb_ot_layout_get_glyph_class (hb_face_t *face,
135 return (hb_ot_layout_glyph_class_t) _get_gdef (face).get_glyph_class (glyph);
139 hb_ot_layout_get_glyphs_in_class (hb_face_t *face,
143 return _get_gdef (face).get_glyphs_in_class (klass, glyphs);
147 hb_ot_layout_get_attach_points (hb_face_t *face,
153 return _get_gdef (face).get_attach_points (glyph, start_offset, point_count, point_array);
164 return _get_gdef (font->face).get_lig_carets (font, direction, glyph, start_offset, caret_count, caret_array);
173 get_gsubgpos_table (hb_face_t *face,
177 case HB_OT_TAG_GSUB: return _get_gsub (face);
178 case HB_OT_TAG_GPOS: return _get_gpos (face);
185 hb_ot_layout_table_get_script_tags (hb_face_t *face,
191 const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag);
199 hb_ot_layout_table_find_script (hb_face_t *face,
205 const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag);
229 hb_ot_layout_table_choose_script (hb_face_t *face,
236 const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag);
277 hb_ot_layout_table_get_feature_tags (hb_face_t *face,
283 const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag);
290 hb_ot_layout_script_get_language_tags (hb_face_t *face,
297 const OT::Script &s = get_gsubgpos_table (face, table_tag).get_script (script_index);
303 hb_ot_layout_script_find_language (hb_face_t *face,
310 const OT::Script &s = get_gsubgpos_table (face, table_tag).get_script (script_index);
324 hb_ot_layout_language_get_required_feature_index (hb_face_t *face,
330 return hb_ot_layout_language_get_required_feature (face,
339 hb_ot_layout_language_get_required_feature (hb_face_t *face,
346 const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag);
357 hb_ot_layout_language_get_feature_indexes (hb_face_t *face,
365 const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag);
372 hb_ot_layout_language_get_feature_tags (hb_face_t *face,
380 const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag);
397 hb_ot_layout_language_find_feature (hb_face_t *face,
405 const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag);
423 hb_ot_layout_feature_get_lookups (hb_face_t *face,
430 const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag);
437 hb_ot_layout_table_get_lookup_count (hb_face_t *face,
444 return hb_ot_layout_from_face (face)->gsub_lookup_count;
448 return hb_ot_layout_from_face (face)->gpos_lookup_count;
455 _hb_ot_layout_collect_lookups_lookups (hb_face_t *face,
466 hb_ot_layout_feature_get_lookups (face,
480 _hb_ot_layout_collect_lookups_features (hb_face_t *face,
490 if (hb_ot_layout_language_get_required_feature (face,
496 _hb_ot_layout_collect_lookups_lookups (face,
508 hb_ot_layout_language_get_feature_indexes (face,
516 _hb_ot_layout_collect_lookups_lookups (face,
529 if (hb_ot_layout_language_find_feature (face,
535 _hb_ot_layout_collect_lookups_lookups (face,
544 _hb_ot_layout_collect_lookups_languages (hb_face_t *face,
551 _hb_ot_layout_collect_lookups_features (face,
561 unsigned int count = hb_ot_layout_script_get_language_tags (face,
566 _hb_ot_layout_collect_lookups_features (face,
578 if (hb_ot_layout_script_find_language (face,
583 _hb_ot_layout_collect_lookups_features (face,
594 hb_ot_layout_collect_lookups (hb_face_t *face,
604 unsigned int count = hb_ot_layout_table_get_script_tags (face,
608 _hb_ot_layout_collect_lookups_languages (face,
620 if (hb_ot_layout_table_find_script (face,
624 _hb_ot_layout_collect_lookups_languages (face,
635 hb_ot_layout_lookup_collect_glyphs (hb_face_t *face,
643 if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return;
645 OT::hb_collect_glyphs_context_t c (face,
655 const OT::SubstLookup& l = hb_ot_layout_from_face (face)->gsub->get_lookup (lookup_index);
661 const OT::PosLookup& l = hb_ot_layout_from_face (face)->gpos->get_lookup (lookup_index);
674 hb_ot_layout_has_substitution (hb_face_t *face)
676 return &_get_gsub (face) != &OT::Null(OT::GSUB);
680 hb_ot_layout_lookup_would_substitute (hb_face_t *face,
686 if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return false;
687 return hb_ot_layout_lookup_would_substitute_fast (face, lookup_index, glyphs, glyphs_length, zero_context);
691 hb_ot_layout_lookup_would_substitute_fast (hb_face_t *face,
697 if (unlikely (lookup_index >= hb_ot_layout_from_face (face)->gsub_lookup_count)) return false;
698 OT::hb_would_apply_context_t c (face, glyphs, glyphs_length, zero_context);
700 const OT::SubstLookup& l = hb_ot_layout_from_face (face)->gsub->get_lookup (lookup_index);
702 return l.would_apply (&c, &hb_ot_layout_from_face (face)->gsub_accels[lookup_index].digest);
718 hb_ot_layout_lookup_substitute_closure (hb_face_t *face,
722 OT::hb_closure_context_t c (face, glyphs);
724 const OT::SubstLookup& l = _get_gsub (face).get_lookup (lookup_index);
734 hb_ot_layout_has_positioning (hb_face_t *face)
736 return &_get_gpos (face) != &OT::Null(OT::GPOS);
752 hb_ot_layout_get_size_params (hb_face_t *face,
759 const OT::GPOS &gpos = _get_gpos (face);
809 GSUBProxy (hb_face_t *face) :
810 table (*hb_ot_layout_from_face (face)->gsub),
811 accels (hb_ot_layout_from_face (face)->gsub_accels) {}
823 GPOSProxy (hb_face_t *face) :
824 table (*hb_ot_layout_from_face (face)->gpos),
825 accels (hb_ot_layout_from_face (face)->gpos_accels) {}
934 GSUBProxy proxy (font->face);
940 GPOSProxy proxy (font->face);