[scale-upem] Implement ItemVariationStore

This commit is contained in:
Behdad Esfahbod 2022-08-15 14:09:13 -06:00
parent f360cf92ec
commit 3a6fa9812d

View File

@ -82,6 +82,7 @@ def visit(visitor, obj, attr, glyphs):
for i, (x, y) in enumerate(coordinates): for i, (x, y) in enumerate(coordinates):
coordinates[i] = visitor.scale(x), visitor.scale(y) coordinates[i] = visitor.scale(x), visitor.scale(y)
@ScalerVisitor.register_attr(ttLib.getTableClass("gvar"), "variations") @ScalerVisitor.register_attr(ttLib.getTableClass("gvar"), "variations")
def visit(visitor, obj, attr, variations): def visit(visitor, obj, attr, variations):
for varlist in variations.values(): for varlist in variations.values():
@ -123,6 +124,16 @@ def visit(visitor, obj):
setattr(obj, attr, v) setattr(obj, attr, v)
# ItemVariationStore
@ScalerVisitor.register(otTables.VarData)
def visit(visitor, varData):
for item in varData.Item:
for i, v in enumerate(item):
item[i] = visitor.scale(v)
if __name__ == "__main__": if __name__ == "__main__":
from fontTools.ttLib import TTFont from fontTools.ttLib import TTFont