[otlayout] Switch over from old is_a_ligature() to IS_LIGATED
Impact should be minimal and positive.
This commit is contained in:
parent
09675a8115
commit
a1f7b28561
|
@ -409,7 +409,7 @@ struct hb_apply_context_t
|
||||||
if (unlikely (_hb_glyph_info_is_default_ignorable (&info) &&
|
if (unlikely (_hb_glyph_info_is_default_ignorable (&info) &&
|
||||||
(ignore_zwnj || !_hb_glyph_info_is_zwnj (&info)) &&
|
(ignore_zwnj || !_hb_glyph_info_is_zwnj (&info)) &&
|
||||||
(ignore_zwj || !_hb_glyph_info_is_zwj (&info)) &&
|
(ignore_zwj || !_hb_glyph_info_is_zwj (&info)) &&
|
||||||
!_hb_glyph_info_is_ligated (&info)))
|
!_hb_glyph_info_ligated (&info)))
|
||||||
return SKIP_MAYBE;
|
return SKIP_MAYBE;
|
||||||
|
|
||||||
return SKIP_NO;
|
return SKIP_NO;
|
||||||
|
|
|
@ -306,7 +306,7 @@ _hb_glyph_info_get_lig_id (const hb_glyph_info_t *info)
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool
|
static inline bool
|
||||||
_hb_glyph_info_is_ligated (const hb_glyph_info_t *info)
|
_hb_glyph_info_ligated_internal (const hb_glyph_info_t *info)
|
||||||
{
|
{
|
||||||
return !!(info->lig_props() & IS_LIG_BASE);
|
return !!(info->lig_props() & IS_LIG_BASE);
|
||||||
}
|
}
|
||||||
|
@ -314,7 +314,7 @@ _hb_glyph_info_is_ligated (const hb_glyph_info_t *info)
|
||||||
static inline unsigned int
|
static inline unsigned int
|
||||||
_hb_glyph_info_get_lig_comp (const hb_glyph_info_t *info)
|
_hb_glyph_info_get_lig_comp (const hb_glyph_info_t *info)
|
||||||
{
|
{
|
||||||
if (_hb_glyph_info_is_ligated (info))
|
if (_hb_glyph_info_ligated_internal (info))
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
return info->lig_props() & 0x0F;
|
return info->lig_props() & 0x0F;
|
||||||
|
@ -324,7 +324,7 @@ static inline unsigned int
|
||||||
_hb_glyph_info_get_lig_num_comps (const hb_glyph_info_t *info)
|
_hb_glyph_info_get_lig_num_comps (const hb_glyph_info_t *info)
|
||||||
{
|
{
|
||||||
if ((info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE) &&
|
if ((info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE) &&
|
||||||
_hb_glyph_info_is_ligated (info))
|
_hb_glyph_info_ligated_internal (info))
|
||||||
return info->lig_props() & 0x0F;
|
return info->lig_props() & 0x0F;
|
||||||
else
|
else
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -370,6 +370,12 @@ _hb_glyph_info_is_mark (const hb_glyph_info_t *info)
|
||||||
return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MARK);
|
return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MARK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline bool
|
||||||
|
_hb_glyph_info_ligated (const hb_glyph_info_t *info)
|
||||||
|
{
|
||||||
|
return !!(info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATED);
|
||||||
|
}
|
||||||
|
|
||||||
/* Allocation / deallocation. */
|
/* Allocation / deallocation. */
|
||||||
|
|
||||||
inline void
|
inline void
|
||||||
|
|
|
@ -141,7 +141,7 @@ static inline bool
|
||||||
is_one_of (const hb_glyph_info_t &info, unsigned int flags)
|
is_one_of (const hb_glyph_info_t &info, unsigned int flags)
|
||||||
{
|
{
|
||||||
/* If it ligated, all bets are off. */
|
/* If it ligated, all bets are off. */
|
||||||
if (_hb_glyph_info_is_ligated (&info)) return false;
|
if (_hb_glyph_info_ligated (&info)) return false;
|
||||||
return !!(FLAG (info.indic_category()) & flags);
|
return !!(FLAG (info.indic_category()) & flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1406,7 +1406,7 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan,
|
||||||
if (start + 1 < end &&
|
if (start + 1 < end &&
|
||||||
info[start].indic_position() == POS_RA_TO_BECOME_REPH &&
|
info[start].indic_position() == POS_RA_TO_BECOME_REPH &&
|
||||||
((info[start].indic_category() == OT_Repha) ^
|
((info[start].indic_category() == OT_Repha) ^
|
||||||
_hb_glyph_info_is_ligated (&info[start])))
|
_hb_glyph_info_ligated (&info[start])))
|
||||||
{
|
{
|
||||||
unsigned int new_reph_pos;
|
unsigned int new_reph_pos;
|
||||||
reph_position_t reph_pos = indic_plan->config->reph_pos;
|
reph_position_t reph_pos = indic_plan->config->reph_pos;
|
||||||
|
|
|
@ -151,7 +151,7 @@ static inline bool
|
||||||
is_one_of (const hb_glyph_info_t &info, unsigned int flags)
|
is_one_of (const hb_glyph_info_t &info, unsigned int flags)
|
||||||
{
|
{
|
||||||
/* If it ligated, all bets are off. */
|
/* If it ligated, all bets are off. */
|
||||||
if (_hb_glyph_info_is_ligated (&info)) return false;
|
if (_hb_glyph_info_ligated (&info)) return false;
|
||||||
return !!(FLAG (info.myanmar_category()) & flags);
|
return !!(FLAG (info.myanmar_category()) & flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -548,7 +548,7 @@ hb_ot_hide_default_ignorables (hb_ot_shape_context_t *c)
|
||||||
unsigned int j = 0;
|
unsigned int j = 0;
|
||||||
for (unsigned int i = 0; i < count; i++)
|
for (unsigned int i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
if (unlikely (!_hb_glyph_info_is_ligated (&info[i]) &&
|
if (unlikely (!_hb_glyph_info_ligated (&info[i]) &&
|
||||||
_hb_glyph_info_is_default_ignorable (&info[i])))
|
_hb_glyph_info_is_default_ignorable (&info[i])))
|
||||||
{
|
{
|
||||||
if (space_status == SPACE_DONT_KNOW)
|
if (space_status == SPACE_DONT_KNOW)
|
||||||
|
|
Loading…
Reference in New Issue