{
TRACE_APPLY (this);
+ if (!c->plan->requested_kerning)
+ return false;
+
hb_kern_machine_t<KerxSubTableFormat0> machine (*this);
machine.kern (c->font, c->buffer, c->plan->kern_mask);
{
TRACE_APPLY (this);
+ if (!c->plan->requested_kerning)
+ return false;
+
/* TODO */
return_trace (true);
{
TRACE_APPLY (this);
+ if (!c->plan->requested_kerning)
+ return false;
+
accelerator_t accel (*this,
c->sanitizer.end,
c->face->get_num_glyphs ());
{
TRACE_APPLY (this);
+ if (!c->plan->requested_kerning)
+ return false;
+
/* TODO */
return_trace (true);
HB_TAG ('k','e','r','n') : HB_TAG ('v','k','r','n');
plan.kern_mask = plan.map.get_mask (kern_tag);
- bool kerning_requested = !!plan.kern_mask;
+ plan.requested_kerning = !!plan.kern_mask;
bool has_gpos_kern = plan.map.get_feature_index (1, kern_tag) != HB_OT_LAYOUT_NO_FEATURE_INDEX;
bool disable_gpos = plan.shaper->gpos_tag &&
plan.shaper->gpos_tag != plan.map.chosen_script[1];
else if (hb_aat_layout_has_positioning (face))
plan.apply_kerx = true;
- if (kerning_requested)
+ if (plan.requested_kerning)
{
if (plan.apply_kerx)
;/* kerx supercedes kern. */
hb_mask_t rtlm_mask, frac_mask, numr_mask, dnom_mask;
hb_mask_t kern_mask;
+ bool requested_kerning : 1;
bool has_frac : 1;
bool has_gpos_mark : 1;
bool fallback_glyph_classes : 1;