[varlib] use VarLibCFFHintTypeMergeError for hint merging

This commit is contained in:
Josh Hadley 2021-03-05 08:50:43 -08:00
parent aafc814088
commit 50fb04fd57

View File

@ -20,7 +20,9 @@ from fontTools.varLib.models import allEqual
from fontTools.misc.psCharStrings import T2CharString, T2OutlineExtractor
from fontTools.pens.t2CharStringPen import T2CharStringPen, t2c_round
from .errors import VarLibCFFDictMergeError, VarLibCFFPointTypeMergeError, VarLibMergeError
from .errors import (
VarLibCFFDictMergeError, VarLibCFFPointTypeMergeError,
VarLibCFFHintTypeMergeError,VarLibMergeError)
# Backwards compatibility
@ -539,7 +541,7 @@ class CFF2CharStringMergePen(T2CharStringPen):
else:
cmd = self._commands[self.pt_index]
if cmd[0] != hint_type:
raise VarLibCFFPointTypeMergeError(hint_type, self.pt_index, len(cmd[1]),
raise VarLibCFFHintTypeMergeError(hint_type, self.pt_index, len(cmd[1]),
cmd[0], self.glyphName)
cmd[1].append(args)
self.pt_index += 1
@ -548,14 +550,14 @@ class CFF2CharStringMergePen(T2CharStringPen):
# For hintmask, fonttools.cffLib.specializer.py expects
# each of these to be represented by two sequential commands:
# first holding only the operator name, with an empty arg list,
# second with an empty string as the op name, and the mask arg list.
# second with an empty string as the op name, and the mask arg list.
if self.m_index == 0:
self._commands.append([hint_type, []])
self._commands.append(["", [abs_args]])
else:
cmd = self._commands[self.pt_index]
if cmd[0] != hint_type:
raise VarLibCFFPointTypeMergeError(hint_type, self.pt_index, len(cmd[1]),
raise VarLibCFFHintTypeMergeError(hint_type, self.pt_index, len(cmd[1]),
cmd[0], self.glyphName)
self.pt_index += 1
cmd = self._commands[self.pt_index]