[ot-layout] Simplify GDEF access
This commit is contained in:
parent
33b006cc51
commit
5e68cec179
|
@ -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)
|
static inline const OT::GSUB& _get_gsub (hb_face_t *face)
|
||||||
{
|
{
|
||||||
return *face->table.GSUB->table;
|
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)
|
static inline const OT::GPOS& _get_gpos (hb_face_t *face)
|
||||||
{
|
{
|
||||||
return *face->table.GPOS->table;
|
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<GDEF> (face);
|
this->blob = hb_sanitize_context_t().reference_table<GDEF> (face);
|
||||||
|
|
||||||
if (unlikely (_hb_ot_blacklist_gdef (this->blob->length,
|
if (unlikely (_hb_ot_blacklist_gdef (this->blob->length,
|
||||||
_get_gsub_blob (face)->length,
|
face->table.GSUB->blob->length,
|
||||||
_get_gpos_blob (face)->length)))
|
face->table.GPOS->blob->length)))
|
||||||
{
|
{
|
||||||
hb_blob_destroy (this->blob);
|
hb_blob_destroy (this->blob);
|
||||||
this->blob = hb_blob_get_empty ();
|
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);
|
_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;
|
unsigned int count = buffer->len;
|
||||||
for (unsigned int i = 0; i < count; i++)
|
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_bool_t
|
||||||
hb_ot_layout_has_glyph_classes (hb_face_t *face)
|
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_ot_layout_get_glyph_class (hb_face_t *face,
|
||||||
hb_codepoint_t glyph)
|
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_ot_layout_glyph_class_t klass,
|
||||||
hb_set_t *glyphs /* OUT */)
|
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
|
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_count /* IN/OUT */,
|
||||||
unsigned int *point_array /* 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
|
unsigned int
|
||||||
|
@ -296,7 +279,12 @@ hb_ot_layout_get_ligature_carets (hb_font_t *font,
|
||||||
unsigned int *caret_count /* IN/OUT */,
|
unsigned int *caret_count /* IN/OUT */,
|
||||||
hb_position_t *caret_array /* 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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue