aboutsummaryrefslogtreecommitdiff
path: root/Lib/fontTools
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/fontTools')
-rw-r--r--Lib/fontTools/__init__.py2
-rw-r--r--Lib/fontTools/colorLib/builder.py10
-rw-r--r--Lib/fontTools/otlLib/builder.py5
-rwxr-xr-xLib/fontTools/ttLib/tables/otData.py17
-rw-r--r--Lib/fontTools/ttLib/tables/otTables.py7
-rw-r--r--Lib/fontTools/varLib/cff.py2
6 files changed, 31 insertions, 12 deletions
diff --git a/Lib/fontTools/__init__.py b/Lib/fontTools/__init__.py
index 00b962cd..09dce766 100644
--- a/Lib/fontTools/__init__.py
+++ b/Lib/fontTools/__init__.py
@@ -4,6 +4,6 @@ from fontTools.misc.loggingTools import configLogger
log = logging.getLogger(__name__)
-version = __version__ = "4.18.1"
+version = __version__ = "4.18.2"
__all__ = ["version", "log", "configLogger"]
diff --git a/Lib/fontTools/colorLib/builder.py b/Lib/fontTools/colorLib/builder.py
index 74abb8af..724136ab 100644
--- a/Lib/fontTools/colorLib/builder.py
+++ b/Lib/fontTools/colorLib/builder.py
@@ -557,6 +557,16 @@ class LayerV1ListBuilder:
ot_paint.Paint = self.buildPaint(paint)
return ot_paint
+ def buildPaintTranslate(
+ self, paint: _PaintInput, dx: _ScalarInput, dy: _ScalarInput
+ ):
+ ot_paint = ot.Paint()
+ ot_paint.Format = int(ot.Paint.Format.PaintTranslate)
+ ot_paint.Paint = self.buildPaint(paint)
+ ot_paint.dx = _to_variable_f16dot16_float(dx)
+ ot_paint.dy = _to_variable_f16dot16_float(dy)
+ return ot_paint
+
def buildPaintRotate(
self,
paint: _PaintInput,
diff --git a/Lib/fontTools/otlLib/builder.py b/Lib/fontTools/otlLib/builder.py
index 1ba63c35..7e144451 100644
--- a/Lib/fontTools/otlLib/builder.py
+++ b/Lib/fontTools/otlLib/builder.py
@@ -314,9 +314,10 @@ class ChainContextualRuleset:
classdefbuilder = ClassDefBuilder(useClass0=False)
for position in context:
for glyphset in position:
- if not classdefbuilder.canAdd(glyphset):
+ glyphs = set(glyphset)
+ if not classdefbuilder.canAdd(glyphs):
return None
- classdefbuilder.add(glyphset)
+ classdefbuilder.add(glyphs)
return classdefbuilder
diff --git a/Lib/fontTools/ttLib/tables/otData.py b/Lib/fontTools/ttLib/tables/otData.py
index 776cf75b..a6f9619e 100755
--- a/Lib/fontTools/ttLib/tables/otData.py
+++ b/Lib/fontTools/ttLib/tables/otData.py
@@ -1665,23 +1665,30 @@ otData = [
('PaintFormat8', [
('uint8', 'PaintFormat', None, None, 'Format identifier-format = 8'),
+ ('Offset24', 'Paint', None, None, 'Offset (from beginning of PaintTranslate table) to Paint subtable.'),
+ ('VarFixed', 'dx', None, None, 'Translation in x direction.'),
+ ('VarFixed', 'dy', None, None, 'Translation in y direction.'),
+ ]),
+
+ ('PaintFormat9', [
+ ('uint8', 'PaintFormat', None, None, 'Format identifier-format = 9'),
('Offset24', 'Paint', None, None, 'Offset (from beginning of PaintRotate table) to Paint subtable.'),
('VarFixed', 'angle', None, None, ''),
('VarFixed', 'centerX', None, None, ''),
('VarFixed', 'centerY', None, None, ''),
]),
- ('PaintFormat9', [
- ('uint8', 'PaintFormat', None, None, 'Format identifier-format = 9'),
- ('Offset24', 'Paint', None, None, 'Offset (from beginning of PaintRotate table) to Paint subtable.'),
+ ('PaintFormat10', [
+ ('uint8', 'PaintFormat', None, None, 'Format identifier-format = 10'),
+ ('Offset24', 'Paint', None, None, 'Offset (from beginning of PaintSkew table) to Paint subtable.'),
('VarFixed', 'xSkewAngle', None, None, ''),
('VarFixed', 'ySkewAngle', None, None, ''),
('VarFixed', 'centerX', None, None, ''),
('VarFixed', 'centerY', None, None, ''),
]),
- ('PaintFormat10', [
- ('uint8', 'PaintFormat', None, None, 'Format identifier-format = 8'),
+ ('PaintFormat11', [
+ ('uint8', 'PaintFormat', None, None, 'Format identifier-format = 11'),
('LOffset24To(Paint)', 'SourcePaint', None, None, 'Offset (from beginning of PaintComposite table) to source Paint subtable.'),
('CompositeMode', 'CompositeMode', None, None, 'A CompositeMode enumeration value.'),
('LOffset24To(Paint)', 'BackdropPaint', None, None, 'Offset (from beginning of PaintComposite table) to backdrop Paint subtable.'),
diff --git a/Lib/fontTools/ttLib/tables/otTables.py b/Lib/fontTools/ttLib/tables/otTables.py
index c4208a55..7f42921d 100644
--- a/Lib/fontTools/ttLib/tables/otTables.py
+++ b/Lib/fontTools/ttLib/tables/otTables.py
@@ -1334,9 +1334,10 @@ class Paint(getFormatSwitchingBaseTableClass("uint8")):
PaintGlyph = 5
PaintColrGlyph = 6
PaintTransform = 7
- PaintRotate = 8
- PaintSkew = 9
- PaintComposite = 10
+ PaintTranslate = 8
+ PaintRotate = 9
+ PaintSkew = 10
+ PaintComposite = 11
def getFormatName(self):
try:
diff --git a/Lib/fontTools/varLib/cff.py b/Lib/fontTools/varLib/cff.py
index 4e2672b3..0a6ba220 100644
--- a/Lib/fontTools/varLib/cff.py
+++ b/Lib/fontTools/varLib/cff.py
@@ -413,7 +413,7 @@ def merge_charstrings(glyphOrder, num_masters, top_dicts, masterModel):
# in the PrivatDict, so we will build the default data for vsindex = 0.
if not vsindex_dict:
key = (True,) * num_masters
- _add_new_vsindex(model, key, masterSupports, vsindex_dict,
+ _add_new_vsindex(masterModel, key, masterSupports, vsindex_dict,
vsindex_by_key, varDataList)
cvData = CVarData(varDataList=varDataList, masterSupports=masterSupports,
vsindex_dict=vsindex_dict)