[varLib.avar] Don't require a full .designspace with sources
This commit is contained in:
parent
297f73aeaf
commit
0127a235af
@ -869,7 +869,7 @@ def _add_COLR(font, model, master_fonts, axisTags, colr_layer_reuse=True):
|
||||
colr.VarIndexMap = builder.buildDeltaSetIndexMap(varIdxes)
|
||||
|
||||
|
||||
def load_designspace(designspace, log_enabled=True):
|
||||
def load_designspace(designspace, log_enabled=True, *, require_sources=True):
|
||||
# TODO: remove this and always assume 'designspace' is a DesignSpaceDocument,
|
||||
# never a file path, as that's already handled by caller
|
||||
if hasattr(designspace, "sources"): # Assume a DesignspaceDocument
|
||||
@ -878,7 +878,7 @@ def load_designspace(designspace, log_enabled=True):
|
||||
ds = DesignSpaceDocument.fromfile(designspace)
|
||||
|
||||
masters = ds.sources
|
||||
if not masters:
|
||||
if require_sources and not masters:
|
||||
raise VarLibValidationError("Designspace must have at least one source.")
|
||||
instances = ds.instances
|
||||
|
||||
@ -978,7 +978,7 @@ def load_designspace(designspace, log_enabled=True):
|
||||
"More than one base master found in Designspace."
|
||||
)
|
||||
base_idx = i
|
||||
if base_idx is None:
|
||||
if require_sources and base_idx is None:
|
||||
raise VarLibValidationError(
|
||||
"Base master not found; no master at default location?"
|
||||
)
|
||||
|
@ -150,7 +150,7 @@ def main(args=None):
|
||||
|
||||
axisTags = [a.axisTag for a in font["fvar"].axes]
|
||||
|
||||
ds = load_designspace(options.designspace)
|
||||
ds = load_designspace(options.designspace, require_sources=False)
|
||||
|
||||
if "avar" in font:
|
||||
log.warning("avar table already present, overwriting.")
|
||||
|
Loading…
x
Reference in New Issue
Block a user