better error when pointed at a non-variable font
This commit is contained in:
parent
ced09ff3fd
commit
aa59dc92cf
@ -126,13 +126,25 @@ def normalizeAxisLimits(varfont, axis_limits):
|
||||
axis_limits[axis_tag] = tuple(normalize(v, triple, avar_mapping)
|
||||
for v in axis_limits[axis_tag])
|
||||
|
||||
|
||||
def sanityCheckVariableTables(varfont):
|
||||
if "fvar" not in varfont:
|
||||
raise ValueError("Missing required table fvar")
|
||||
if "gvar" in varfont:
|
||||
if "glyf" not in varfont:
|
||||
raise ValueError("Can't have gvar without glyf")
|
||||
|
||||
def instantiateVariableFont(varfont, axis_limits, inplace=False):
|
||||
sanityCheckVariableTables(varfont)
|
||||
|
||||
if not inplace:
|
||||
varfont = deepcopy(varfont)
|
||||
normalizeAxisLimits(varfont, axis_limits)
|
||||
|
||||
log.info("Normalized limits: %s", axis_limits)
|
||||
|
||||
|
||||
|
||||
if "gvar" in varfont:
|
||||
# TODO: support range, stop dropping max value
|
||||
axis_limits = {tag: minv for tag, (minv, maxv) in axis_limits.items()}
|
||||
|
Loading…
x
Reference in New Issue
Block a user