From 5e68cec17913e9f6e98e5017a56c78a5614e4030 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 5 Nov 2018 23:23:57 -0500 Subject: [PATCH] [ot-layout] Simplify GDEF access --- src/hb-ot-layout.cc | 44 ++++++++++++++++---------------------------- 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/src/hb-ot-layout.cc b/src/hb-ot-layout.cc index 5768cd7f6..33c8c1135 100644 --- a/src/hb-ot-layout.cc +++ b/src/hb-ot-layout.cc @@ -53,34 +53,14 @@ **/ -const OT::GDEF& _get_gdef (hb_face_t *face) -{ - return *face->table.GDEF->table; -} -static hb_blob_t * _get_gsub_blob (hb_face_t *face) -{ - return face->table.GSUB->blob; -} static inline const OT::GSUB& _get_gsub (hb_face_t *face) { return *face->table.GSUB->table; } -const OT::GSUB& _get_gsub_relaxed (hb_face_t *face) -{ - return *face->table.GSUB.get_relaxed ()->table; -} -static hb_blob_t * _get_gpos_blob (hb_face_t *face) -{ - return face->table.GPOS->blob; -} static inline const OT::GPOS& _get_gpos (hb_face_t *face) { return *face->table.GPOS->table; } -const OT::GPOS& _get_gpos_relaxed (hb_face_t *face) -{ - return *face->table.GPOS.get_relaxed ()->table; -} /* @@ -219,8 +199,8 @@ OT::GDEF::accelerator_t::init (hb_face_t *face) this->blob = hb_sanitize_context_t().reference_table (face); if (unlikely (_hb_ot_blacklist_gdef (this->blob->length, - _get_gsub_blob (face)->length, - _get_gpos_blob (face)->length))) + face->table.GSUB->blob->length, + face->table.GPOS->blob->length))) { hb_blob_destroy (this->blob); this->blob = hb_blob_get_empty (); @@ -235,7 +215,7 @@ _hb_ot_layout_set_glyph_props (hb_font_t *font, { _hb_buffer_assert_gsubgpos_vars (buffer); - const OT::GDEF &gdef = _get_gdef (font->face); + const OT::GDEF &gdef = *font->face->table.GDEF->table; unsigned int count = buffer->len; for (unsigned int i = 0; i < count; i++) { @@ -250,7 +230,7 @@ _hb_ot_layout_set_glyph_props (hb_font_t *font, hb_bool_t hb_ot_layout_has_glyph_classes (hb_face_t *face) { - return _get_gdef (face).has_glyph_classes (); + return face->table.GDEF->table->has_glyph_classes (); } /** @@ -262,7 +242,7 @@ hb_ot_layout_glyph_class_t hb_ot_layout_get_glyph_class (hb_face_t *face, hb_codepoint_t glyph) { - return (hb_ot_layout_glyph_class_t) _get_gdef (face).get_glyph_class (glyph); + return (hb_ot_layout_glyph_class_t) face->table.GDEF->table->get_glyph_class (glyph); } /** @@ -275,7 +255,7 @@ hb_ot_layout_get_glyphs_in_class (hb_face_t *face, hb_ot_layout_glyph_class_t klass, hb_set_t *glyphs /* OUT */) { - return _get_gdef (face).get_glyphs_in_class (klass, glyphs); + return face->table.GDEF->table->get_glyphs_in_class (klass, glyphs); } unsigned int @@ -285,7 +265,10 @@ hb_ot_layout_get_attach_points (hb_face_t *face, unsigned int *point_count /* IN/OUT */, unsigned int *point_array /* OUT */) { - return _get_gdef (face).get_attach_points (glyph, start_offset, point_count, point_array); + return face->table.GDEF->table->get_attach_points (glyph, + start_offset, + point_count, + point_array); } unsigned int @@ -296,7 +279,12 @@ hb_ot_layout_get_ligature_carets (hb_font_t *font, unsigned int *caret_count /* IN/OUT */, hb_position_t *caret_array /* OUT */) { - return _get_gdef (font->face).get_lig_carets (font, direction, glyph, start_offset, caret_count, caret_array); + return font->face->table.GDEF->table->get_lig_carets (font, + direction, + glyph, + start_offset, + caret_count, + caret_array); }