[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)
|
||||
return false;
|
||||
|
||||
if (header.coverage & header.CrossStream)
|
||||
if (header.coverage & (header.CrossStream | header.Backwards))
|
||||
return false;
|
||||
|
||||
accelerator_t accel (*this, c);
|
||||
|
@ -427,7 +427,7 @@ struct KerxSubTableFormat2
|
|||
if (!c->plan->requested_kerning)
|
||||
return false;
|
||||
|
||||
if (header.coverage & header.CrossStream)
|
||||
if (header.coverage & (header.CrossStream | header.Backwards))
|
||||
return false;
|
||||
|
||||
accelerator_t accel (*this, c);
|
||||
|
@ -696,7 +696,7 @@ struct KerxSubTableFormat6
|
|||
if (!c->plan->requested_kerning)
|
||||
return false;
|
||||
|
||||
if (header.coverage & header.CrossStream)
|
||||
if (header.coverage & (header.CrossStream | header.Backwards))
|
||||
return false;
|
||||
|
||||
accelerator_t accel (*this, c);
|
||||
|
@ -918,8 +918,6 @@ struct KerxTable
|
|||
|
||||
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);
|
||||
|
||||
if (reverse)
|
||||
|
|
|
@ -66,7 +66,7 @@ struct KernSubTableFormat3
|
|||
if (!c->plan->requested_kerning)
|
||||
return false;
|
||||
|
||||
if (header.coverage & header.CrossStream)
|
||||
if (header.coverage & (header.CrossStream | header.Backwards))
|
||||
return false;
|
||||
|
||||
hb_kern_machine_t<KernSubTableFormat3> machine (*this);
|
||||
|
|
Loading…
Reference in New Issue