diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2018-11-07 13:51:17 -0500 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2018-11-07 13:51:17 -0500 |
commit | f4bad0086e40c70d66d6514f038ddda1411657c8 (patch) | |
tree | ca5f09da56ecf220a3cd14e6e4eb134ea0cd6647 | |
parent | 39b4ef6f18605e85c68cbcec534e137fc831dbca (diff) |
[kerx] Implement tupleKerning for Format1
Untested.
-rw-r--r-- | src/hb-aat-layout-kerx-table.hh | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/hb-aat-layout-kerx-table.hh b/src/hb-aat-layout-kerx-table.hh index c1b96846..6bbeda76 100644 --- a/src/hb-aat-layout-kerx-table.hh +++ b/src/hb-aat-layout-kerx-table.hh @@ -295,10 +295,12 @@ struct KerxSubTableFormat1 i++; break; } + unsigned int tuple_count = table->header.tuple_count (); + tuple_count = tuple_count ? tuple_count : 1; for (; i; i--) { unsigned int idx = stack[depth - i]; - int v = actions[i - 1]; + int v = actions[(i - 1) * tuple_count]; /* "The end of the list is marked by an odd value..." * Ignore it. */ @@ -376,9 +378,6 @@ struct KerxSubTableFormat1 if (!c->plan->requested_kerning) return false; - if (header.tuple_count ()) - return_trace (false); /* TODO kerxTupleKern */ - driver_context_t dc (this, c); StateTableDriver<Types, EntryData> driver (machine, c->buffer, c->font->face); |