[kerx] Disable backwards-kerning for non-state-machine tables
That's what the spec says for Backwards flag, only applicable to formats 1 and 4.
This commit is contained in:
parent
b2f687c256
commit
0eb4157011
|
@ -118,7 +118,7 @@ struct KerxSubTableFormat0
|
||||||
if (!c->plan->requested_kerning)
|
if (!c->plan->requested_kerning)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (header.coverage & header.CrossStream)
|
if (header.coverage & (header.CrossStream | header.Backwards))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
accelerator_t accel (*this, c);
|
accelerator_t accel (*this, c);
|
||||||
|
@ -427,7 +427,7 @@ struct KerxSubTableFormat2
|
||||||
if (!c->plan->requested_kerning)
|
if (!c->plan->requested_kerning)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (header.coverage & header.CrossStream)
|
if (header.coverage & (header.CrossStream | header.Backwards))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
accelerator_t accel (*this, c);
|
accelerator_t accel (*this, c);
|
||||||
|
@ -696,7 +696,7 @@ struct KerxSubTableFormat6
|
||||||
if (!c->plan->requested_kerning)
|
if (!c->plan->requested_kerning)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (header.coverage & header.CrossStream)
|
if (header.coverage & (header.CrossStream | header.Backwards))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
accelerator_t accel (*this, c);
|
accelerator_t accel (*this, c);
|
||||||
|
@ -918,8 +918,6 @@ struct KerxTable
|
||||||
|
|
||||||
c->sanitizer.set_object (*st);
|
c->sanitizer.set_object (*st);
|
||||||
|
|
||||||
/* XXX Reverse-kern is probably not working yet...
|
|
||||||
* hb_kern_machine_t would need to know that it's reverse-kerning. */
|
|
||||||
st->dispatch (c);
|
st->dispatch (c);
|
||||||
|
|
||||||
if (reverse)
|
if (reverse)
|
||||||
|
|
|
@ -66,7 +66,7 @@ struct KernSubTableFormat3
|
||||||
if (!c->plan->requested_kerning)
|
if (!c->plan->requested_kerning)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (header.coverage & header.CrossStream)
|
if (header.coverage & (header.CrossStream | header.Backwards))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
hb_kern_machine_t<KernSubTableFormat3> machine (*this);
|
hb_kern_machine_t<KernSubTableFormat3> machine (*this);
|
||||||
|
|
Loading…
Reference in New Issue