[scale-upem] Scale GPOS using register_attrs as well

This commit is contained in:
Behdad Esfahbod 2022-08-15 14:19:26 -06:00
parent 3a6fa9812d
commit c588b2d5b3

View File

@ -51,6 +51,8 @@ class ScalerVisitor(TTVisitor):
"sCapHeight", "sCapHeight",
), ),
), ),
(otTables.ValueRecord, ("XAdvance", "YAdvance", "XPlacement", "YPlacement")),
(otTables.Anchor, ("XCoordinate", "YCoordinate")),
) )
) )
def visit(visitor, obj, attr, value): def visit(visitor, obj, attr, value):
@ -102,28 +104,6 @@ def visit(visitor, obj, attr, kernTables):
kernTable[k] = visitor.scale(kernTable[k]) kernTable[k] = visitor.scale(kernTable[k])
# GPOS
@ScalerVisitor.register(otTables.ValueRecord)
def visit(visitor, obj):
attrs = ["XAdvance", "YAdvance", "XPlacement", "YPlacement"]
for attr in attrs:
v = getattr(obj, attr, None)
if v is not None:
v = visitor.scale(v)
setattr(obj, attr, v)
@ScalerVisitor.register(otTables.Anchor)
def visit(visitor, obj):
attrs = ["XCoordinate", "YCoordinate"]
for attr in attrs:
v = getattr(obj, attr)
v = visitor.scale(v)
setattr(obj, attr, v)
# ItemVariationStore # ItemVariationStore