summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2018-11-07 13:51:17 -0500
committerBehdad Esfahbod <behdad@behdad.org>2018-11-07 13:51:17 -0500
commitf4bad0086e40c70d66d6514f038ddda1411657c8 (patch)
treeca5f09da56ecf220a3cd14e6e4eb134ea0cd6647
parent39b4ef6f18605e85c68cbcec534e137fc831dbca (diff)
[kerx] Implement tupleKerning for Format1
Untested.
-rw-r--r--src/hb-aat-layout-kerx-table.hh7
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);