40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
|
class VarLibError(Exception):
|
||
|
"""Base exception for the varLib module."""
|
||
|
|
||
|
|
||
|
class VarLibValidationError(VarLibError):
|
||
|
"""Raised when input data is invalid from varLib's point of view."""
|
||
|
|
||
|
|
||
|
class VarLibMergeError(VarLibError):
|
||
|
"""Raised when input data cannot be merged into a variable font."""
|
||
|
|
||
|
|
||
|
class VarLibCFFDictMergeError(VarLibMergeError):
|
||
|
"""Raised when a CFF PrivateDict cannot be merged."""
|
||
|
|
||
|
def __init__(self, key, value, values):
|
||
|
error_msg = (
|
||
|
f"For the Private Dict key '{key}', the default font value list:"
|
||
|
f"\n\t{value}\nhad a different number of values than a region font:"
|
||
|
)
|
||
|
for region_value in values:
|
||
|
error_msg += f"\n\t{region_value}"
|
||
|
self.args = (error_msg,)
|
||
|
|
||
|
|
||
|
class VarLibCFFPointTypeMergeError(VarLibMergeError):
|
||
|
"""Raised when a CFF glyph cannot be merged."""
|
||
|
|
||
|
def __init__(self, point_type, pt_index, m_index, default_type, glyph_name):
|
||
|
error_msg = (
|
||
|
f"Glyph '{glyph_name}': '{point_type}' at point index {pt_index} in "
|
||
|
f"master index {m_index} differs from the default font point type "
|
||
|
f"'{default_type}'"
|
||
|
)
|
||
|
self.args = (error_msg,)
|
||
|
|
||
|
|
||
|
class VariationModelError(VarLibError):
|
||
|
"""Raised when a variation model is faulty."""
|