[VARC/scaleUpem] Remove early return

This commit is contained in:
Behdad Esfahbod 2023-12-17 21:35:26 -07:00
parent 93fe24050b
commit 232d9cf047

View File

@ -167,71 +167,69 @@ def visit(visitor, obj, attr, varc):
varIdx = component.locationVarIndex varIdx = component.locationVarIndex
# TODO Move this code duplicated below to MultiVarStore.__getitem__, # TODO Move this code duplicated below to MultiVarStore.__getitem__,
# or a getDeltasAndSupports(). # or a getDeltasAndSupports().
if varIdx == otTables.NO_VARIATION_INDEX: if varIdx != otTables.NO_VARIATION_INDEX:
continue major = varIdx >> 16
major = varIdx >> 16 minor = varIdx & 0xFFFF
minor = varIdx & 0xFFFF varData = store.MultiVarData[major]
varData = store.MultiVarData[major] vec = varData.Item[minor]
vec = varData.Item[minor] storeBuilder.setSupports(store.get_supports(major, fvar.axes))
storeBuilder.setSupports(store.get_supports(major, fvar.axes)) if vec.values:
if vec.values: m = len(vec.values) // varData.VarRegionCount
m = len(vec.values) // varData.VarRegionCount vec = list(batched(vec.values, m))
vec = list(batched(vec.values, m)) vec = [Vector(v) for v in vec]
vec = [Vector(v) for v in vec] component.locationVarIndex = storeBuilder.storeDeltas(vec)
component.locationVarIndex = storeBuilder.storeDeltas(vec) else:
else: component.transformVarIndex = otTables.NO_VARIATION_INDEX
component.transformVarIndex = otTables.NO_VARIATION_INDEX
if component.flags & otTables.VarComponentFlags.TRANSFORM_HAS_VARIATION: if component.flags & otTables.VarComponentFlags.TRANSFORM_HAS_VARIATION:
varIdx = component.transformVarIndex varIdx = component.transformVarIndex
if varIdx == otTables.NO_VARIATION_INDEX: if varIdx != otTables.NO_VARIATION_INDEX:
continue major = varIdx >> 16
major = varIdx >> 16 minor = varIdx & 0xFFFF
minor = varIdx & 0xFFFF vec = varData.Item[varIdx & 0xFFFF]
vec = varData.Item[varIdx & 0xFFFF] major = varIdx >> 16
major = varIdx >> 16 minor = varIdx & 0xFFFF
minor = varIdx & 0xFFFF varData = store.MultiVarData[major]
varData = store.MultiVarData[major] vec = varData.Item[minor]
vec = varData.Item[minor] storeBuilder.setSupports(store.get_supports(major, fvar.axes))
storeBuilder.setSupports(store.get_supports(major, fvar.axes)) if vec.values:
if vec.values: m = len(vec.values) // varData.VarRegionCount
m = len(vec.values) // varData.VarRegionCount flags = component.flags
flags = component.flags vec = list(batched(vec.values, m))
vec = list(batched(vec.values, m)) newVec = []
newVec = [] for v in vec:
for v in vec: v = list(v)
v = list(v) i = 0
i = 0 ## Scale translate & tCenter
## Scale translate & tCenter if flags & otTables.VarComponentFlags.HAVE_TRANSLATE_X:
if flags & otTables.VarComponentFlags.HAVE_TRANSLATE_X: v[i] = visitor.scale(v[i])
v[i] = visitor.scale(v[i]) i += 1
i += 1 if flags & otTables.VarComponentFlags.HAVE_TRANSLATE_Y:
if flags & otTables.VarComponentFlags.HAVE_TRANSLATE_Y: v[i] = visitor.scale(v[i])
v[i] = visitor.scale(v[i]) i += 1
i += 1 if flags & otTables.VarComponentFlags.HAVE_ROTATION:
if flags & otTables.VarComponentFlags.HAVE_ROTATION: i += 1
i += 1 if flags & otTables.VarComponentFlags.HAVE_SCALE_X:
if flags & otTables.VarComponentFlags.HAVE_SCALE_X: i += 1
i += 1 if flags & otTables.VarComponentFlags.HAVE_SCALE_Y:
if flags & otTables.VarComponentFlags.HAVE_SCALE_Y: i += 1
i += 1 if flags & otTables.VarComponentFlags.HAVE_SKEW_X:
if flags & otTables.VarComponentFlags.HAVE_SKEW_X: i += 1
i += 1 if flags & otTables.VarComponentFlags.HAVE_SKEW_Y:
if flags & otTables.VarComponentFlags.HAVE_SKEW_Y: i += 1
i += 1 if flags & otTables.VarComponentFlags.HAVE_TCENTER_X:
if flags & otTables.VarComponentFlags.HAVE_TCENTER_X: v[i] = visitor.scale(v[i])
v[i] = visitor.scale(v[i]) i += 1
i += 1 if flags & otTables.VarComponentFlags.HAVE_TCENTER_Y:
if flags & otTables.VarComponentFlags.HAVE_TCENTER_Y: v[i] = visitor.scale(v[i])
v[i] = visitor.scale(v[i]) i += 1
i += 1
newVec.append(Vector(v)) newVec.append(Vector(v))
vec = newVec vec = newVec
component.transformVarIndex = storeBuilder.storeDeltas(vec) component.transformVarIndex = storeBuilder.storeDeltas(vec)
else: else:
component.transformVarIndex = otTables.NO_VARIATION_INDEX component.transformVarIndex = otTables.NO_VARIATION_INDEX
varc.MultiVarStore = storeBuilder.finish() varc.MultiVarStore = storeBuilder.finish()