From 61d651e387c915964ed3c5ebf5772c56b8597de6 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 15 Aug 2022 12:56:38 -0600 Subject: [PATCH] [scale-upem] Implement kern table --- Snippets/scale-upem.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Snippets/scale-upem.py b/Snippets/scale-upem.py index e8d6a306b..a6c816326 100644 --- a/Snippets/scale-upem.py +++ b/Snippets/scale-upem.py @@ -6,7 +6,6 @@ from fontTools.misc.fixedTools import otRound class ScalerVisitor(TTVisitor): - def __init__(self, scaleFactor): self.scaleFactor = scaleFactor @@ -85,6 +84,14 @@ def visit(visitor, obj, attr, glyphs): coordinates[i] = visitor.scale(x), visitor.scale(y) +@ScalerVisitor.register_attr(ttLib.getTableClass("kern"), "kernTables") +def visit(visitor, obj, attr, kernTables): + for table in kernTables: + kernTable = table.kernTable + for k in kernTable.keys(): + kernTable[k] = visitor.scale(kernTable[k]) + + # GPOS @@ -112,5 +119,5 @@ import sys font = TTFont(sys.argv[1]) -visitor = ScalerVisitor(.5) +visitor = ScalerVisitor(0.5) visitor.visit(font)