[otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_LIGATED

Currently unused.
This commit is contained in:
Behdad Esfahbod 2013-10-18 01:05:58 +02:00
parent 05ad6b50ac
commit 09675a8115
2 changed files with 13 additions and 5 deletions

View File

@ -616,13 +616,18 @@ struct hb_apply_context_t
} }
inline void _set_glyph_props (hb_codepoint_t glyph_index, inline void _set_glyph_props (hb_codepoint_t glyph_index,
unsigned int class_guess = 0) const unsigned int class_guess = 0,
bool ligature = false) const
{ {
unsigned int add_in = HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED; unsigned int add_in = _hb_glyph_info_get_glyph_props (&buffer->cur()) &
HB_OT_LAYOUT_GLYPH_PROPS_PRESERVE;
add_in |= HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED;
if (ligature)
add_in |= HB_OT_LAYOUT_GLYPH_PROPS_LIGATED;
if (likely (has_glyph_classes)) if (likely (has_glyph_classes))
_hb_glyph_info_set_glyph_props (&buffer->cur(), add_in | gdef.get_glyph_props (glyph_index)); _hb_glyph_info_set_glyph_props (&buffer->cur(), add_in | gdef.get_glyph_props (glyph_index));
else if (class_guess) else if (class_guess)
_hb_glyph_info_set_glyph_props (&buffer->cur(), add_in| class_guess); _hb_glyph_info_set_glyph_props (&buffer->cur(), add_in | class_guess);
} }
inline void replace_glyph (hb_codepoint_t glyph_index) const inline void replace_glyph (hb_codepoint_t glyph_index) const
@ -638,7 +643,7 @@ struct hb_apply_context_t
inline void replace_glyph_with_ligature (hb_codepoint_t glyph_index, inline void replace_glyph_with_ligature (hb_codepoint_t glyph_index,
unsigned int class_guess) const unsigned int class_guess) const
{ {
_set_glyph_props (glyph_index, class_guess); _set_glyph_props (glyph_index, class_guess, true);
buffer->replace_glyph (glyph_index); buffer->replace_glyph (glyph_index);
} }
inline void output_glyph (hb_codepoint_t glyph_index, inline void output_glyph (hb_codepoint_t glyph_index,

View File

@ -50,8 +50,11 @@ typedef enum
HB_OT_LAYOUT_GLYPH_PROPS_MARK = 0x08u, HB_OT_LAYOUT_GLYPH_PROPS_MARK = 0x08u,
/* The following are used internally; not derived from GDEF. */ /* The following are used internally; not derived from GDEF. */
HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED = 0x10u HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED = 0x10u,
HB_OT_LAYOUT_GLYPH_PROPS_LIGATED = 0x20u,
HB_OT_LAYOUT_GLYPH_PROPS_PRESERVE = HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED |
HB_OT_LAYOUT_GLYPH_PROPS_LIGATED
} hb_ot_layout_glyph_class_mask_t; } hb_ot_layout_glyph_class_mask_t;