parent
cdcdfe61b9
commit
b931e0b0ce
|
@ -45,9 +45,9 @@ struct hb_ot_face_metrics_accelerator_t
|
||||||
|
|
||||||
inline void init (hb_face_t *face,
|
inline void init (hb_face_t *face,
|
||||||
hb_tag_t _hea_tag, hb_tag_t _mtx_tag,
|
hb_tag_t _hea_tag, hb_tag_t _mtx_tag,
|
||||||
unsigned int default_advance)
|
unsigned int default_advance_)
|
||||||
{
|
{
|
||||||
this->default_advance = default_advance;
|
this->default_advance = default_advance_;
|
||||||
this->num_metrics = face->get_num_glyphs ();
|
this->num_metrics = face->get_num_glyphs ();
|
||||||
|
|
||||||
hb_blob_t *_hea_blob = OT::Sanitizer<OT::_hea>::sanitize (face->reference_table (_hea_tag));
|
hb_blob_t *_hea_blob = OT::Sanitizer<OT::_hea>::sanitize (face->reference_table (_hea_tag));
|
||||||
|
|
|
@ -516,39 +516,39 @@ struct hb_apply_context_t
|
||||||
inline bool
|
inline bool
|
||||||
match_properties_mark (hb_codepoint_t glyph,
|
match_properties_mark (hb_codepoint_t glyph,
|
||||||
unsigned int glyph_props,
|
unsigned int glyph_props,
|
||||||
unsigned int lookup_props) const
|
unsigned int match_props) const
|
||||||
{
|
{
|
||||||
/* If using mark filtering sets, the high short of
|
/* If using mark filtering sets, the high short of
|
||||||
* lookup_props has the set index.
|
* match_props has the set index.
|
||||||
*/
|
*/
|
||||||
if (lookup_props & LookupFlag::UseMarkFilteringSet)
|
if (match_props & LookupFlag::UseMarkFilteringSet)
|
||||||
return gdef.mark_set_covers (lookup_props >> 16, glyph);
|
return gdef.mark_set_covers (match_props >> 16, glyph);
|
||||||
|
|
||||||
/* The second byte of lookup_props has the meaning
|
/* The second byte of match_props has the meaning
|
||||||
* "ignore marks of attachment type different than
|
* "ignore marks of attachment type different than
|
||||||
* the attachment type specified."
|
* the attachment type specified."
|
||||||
*/
|
*/
|
||||||
if (lookup_props & LookupFlag::MarkAttachmentType)
|
if (match_props & LookupFlag::MarkAttachmentType)
|
||||||
return (lookup_props & LookupFlag::MarkAttachmentType) == (glyph_props & LookupFlag::MarkAttachmentType);
|
return (match_props & LookupFlag::MarkAttachmentType) == (glyph_props & LookupFlag::MarkAttachmentType);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool
|
inline bool
|
||||||
check_glyph_property (const hb_glyph_info_t *info,
|
check_glyph_property (const hb_glyph_info_t *info,
|
||||||
unsigned int lookup_props) const
|
unsigned int match_props) const
|
||||||
{
|
{
|
||||||
hb_codepoint_t glyph = info->codepoint;
|
hb_codepoint_t glyph = info->codepoint;
|
||||||
unsigned int glyph_props = _hb_glyph_info_get_glyph_props (info);
|
unsigned int glyph_props = _hb_glyph_info_get_glyph_props (info);
|
||||||
|
|
||||||
/* Not covered, if, for example, glyph class is ligature and
|
/* Not covered, if, for example, glyph class is ligature and
|
||||||
* lookup_props includes LookupFlags::IgnoreLigatures
|
* match_props includes LookupFlags::IgnoreLigatures
|
||||||
*/
|
*/
|
||||||
if (glyph_props & lookup_props & LookupFlag::IgnoreFlags)
|
if (glyph_props & match_props & LookupFlag::IgnoreFlags)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (unlikely (glyph_props & HB_OT_LAYOUT_GLYPH_PROPS_MARK))
|
if (unlikely (glyph_props & HB_OT_LAYOUT_GLYPH_PROPS_MARK))
|
||||||
return match_properties_mark (glyph, glyph_props, lookup_props);
|
return match_properties_mark (glyph, glyph_props, match_props);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue