diff options
author | Haibo Huang <hhb@google.com> | 2020-03-24 07:36:26 -0700 |
---|---|---|
committer | Haibo Huang <hhb@google.com> | 2020-03-24 07:36:26 -0700 |
commit | 20776dfb6cb01b99c75dd4b71ac8f16ec1fa5fb4 (patch) | |
tree | 156912128b4e7bf0c4486f70d132f497161ba984 /Lib | |
parent | 6a21284c82640276328e6aebbc94b1d8b80f3a3f (diff) | |
download | fonttools-20776dfb6cb01b99c75dd4b71ac8f16ec1fa5fb4.tar.gz |
Upgrade fonttools to 4.6.0
Test: None
Change-Id: Iece9615bc8a0c3b4ec698f88387ac756e58935df
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/fontTools/__init__.py | 2 | ||||
-rw-r--r-- | Lib/fontTools/ttLib/tables/C_P_A_L_.py | 4 | ||||
-rw-r--r-- | Lib/fontTools/varLib/__init__.py | 18 | ||||
-rw-r--r-- | Lib/fontTools/varLib/merger.py | 9 | ||||
-rw-r--r-- | Lib/fonttools.egg-info/PKG-INFO | 19 | ||||
-rw-r--r-- | Lib/fonttools.egg-info/SOURCES.txt | 4 |
6 files changed, 49 insertions, 7 deletions
diff --git a/Lib/fontTools/__init__.py b/Lib/fontTools/__init__.py index 2246764f..ae13ccf1 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.5.0" +version = __version__ = "4.6.0" __all__ = ["version", "log", "configLogger"] diff --git a/Lib/fontTools/ttLib/tables/C_P_A_L_.py b/Lib/fontTools/ttLib/tables/C_P_A_L_.py index a7b4ad2b..22ef0623 100644 --- a/Lib/fontTools/ttLib/tables/C_P_A_L_.py +++ b/Lib/fontTools/ttLib/tables/C_P_A_L_.py @@ -255,3 +255,7 @@ class Color(namedtuple("Color", "blue green red alpha")): blue = int(value[4:6], 16) alpha = int(value[6:8], 16) if len (value) >= 8 else 0xFF return cls(red=red, green=green, blue=blue, alpha=alpha) + + @classmethod + def fromRGBA(cls, red, green, blue, alpha): + return cls(red=red, green=green, blue=blue, alpha=alpha) diff --git a/Lib/fontTools/varLib/__init__.py b/Lib/fontTools/varLib/__init__.py index 75a8c136..862decac 100644 --- a/Lib/fontTools/varLib/__init__.py +++ b/Lib/fontTools/varLib/__init__.py @@ -601,6 +601,22 @@ def _add_MVAR(font, masterModel, master_ttfs, axisTags): mvar.ValueRecord = sorted(records, key=lambda r: r.ValueTag) +def _add_BASE(font, masterModel, master_ttfs, axisTags): + + log.info("Generating BASE") + + merger = VariationMerger(masterModel, axisTags, font) + merger.mergeTables(font, master_ttfs, ['BASE']) + store = merger.store_builder.finish() + + if not store.VarData: + return + base = font['BASE'].table + assert base.Version == 0x00010000 + base.Version = 0x00010001 + base.VarStore = store + + def _merge_OTL(font, model, master_fonts, axisTags): log.info("Merging OpenType Layout tables") @@ -906,6 +922,8 @@ def build(designspace, master_finder=lambda s:s, exclude=[], optimize=True): assert 0 == model.mapping[ds.base_idx] log.info("Building variations tables") + if 'BASE' not in exclude and 'BASE' in vf: + _add_BASE(vf, model, master_fonts, axisTags) if 'MVAR' not in exclude: _add_MVAR(vf, model, master_fonts, axisTags) if 'HVAR' not in exclude: diff --git a/Lib/fontTools/varLib/merger.py b/Lib/fontTools/varLib/merger.py index 3f04364f..b7fb39b4 100644 --- a/Lib/fontTools/varLib/merger.py +++ b/Lib/fontTools/varLib/merger.py @@ -1052,6 +1052,15 @@ def buildVarDevTable(store_builder, master_values): base, varIdx = store_builder.storeMasters(master_values) return base, builder.buildVarDevTable(varIdx) +@VariationMerger.merger(ot.BaseCoord) +def merge(merger, self, lst): + if self.Format != 1: + raise VarLibMergeError(f"BaseCoord format {self.Format} unsupported.") + self.Coordinate, DeviceTable = buildVarDevTable(merger.store_builder, [a.Coordinate for a in lst]) + if DeviceTable: + self.Format = 3 + self.DeviceTable = DeviceTable + @VariationMerger.merger(ot.CaretValue) def merge(merger, self, lst): if self.Format != 1: diff --git a/Lib/fonttools.egg-info/PKG-INFO b/Lib/fonttools.egg-info/PKG-INFO index 4c824f25..c02d7f8f 100644 --- a/Lib/fonttools.egg-info/PKG-INFO +++ b/Lib/fonttools.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: fonttools -Version: 4.5.0 +Version: 4.6.0 Summary: Tools to manipulate font files Home-page: http://github.com/fonttools/fonttools Author: Just van Rossum @@ -414,6 +414,13 @@ Description: |Travis Build Status| |Appveyor Build status| |Coverage Status| |Py Changelog ~~~~~~~~~ + 4.6.0 (released 2020-03-24) + --------------------------- + + - [varLib] Added support for building variable ``BASE`` table version 1.1 (#1858). + - [CPAL] Added ``fromRGBA`` method to ``Color`` class (#1861). + + 4.5.0 (released 2020-03-20) --------------------------- @@ -2014,12 +2021,12 @@ Classifier: Topic :: Multimedia :: Graphics Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion Requires-Python: >=3.6 Provides-Extra: plot -Provides-Extra: woff +Provides-Extra: graphite Provides-Extra: symfont -Provides-Extra: interpolatable -Provides-Extra: ufo +Provides-Extra: woff Provides-Extra: unicode -Provides-Extra: lxml Provides-Extra: type1 -Provides-Extra: graphite Provides-Extra: all +Provides-Extra: interpolatable +Provides-Extra: lxml +Provides-Extra: ufo diff --git a/Lib/fonttools.egg-info/SOURCES.txt b/Lib/fonttools.egg-info/SOURCES.txt index 2bb456b0..5cf63c88 100644 --- a/Lib/fonttools.egg-info/SOURCES.txt +++ b/Lib/fonttools.egg-info/SOURCES.txt @@ -1467,6 +1467,7 @@ Tests/varLib/data/PartialInstancerTest-VF.ttx Tests/varLib/data/PartialInstancerTest2-VF.ttx Tests/varLib/data/SingleMaster.designspace Tests/varLib/data/SparseMasters.designspace +Tests/varLib/data/TestBASE.designspace Tests/varLib/data/TestCFF2.designspace Tests/varLib/data/TestCFF2Input.designspace Tests/varLib/data/TestNonMarkingCFF2.designspace @@ -1474,6 +1475,8 @@ Tests/varLib/data/TestSparseCFF2VF.designspace Tests/varLib/data/TestVVAR.designspace Tests/varLib/data/VarLibLocationTest.designspace Tests/varLib/data/test_vpal.designspace +Tests/varLib/data/master_base_test/TestBASE.0.ttx +Tests/varLib/data/master_base_test/TestBASE.900.ttx Tests/varLib/data/master_cff2/TestCFF2_Black.ttx Tests/varLib/data/master_cff2/TestCFF2_ExtraLight.ttx Tests/varLib/data/master_cff2/TestCFF2_Regular.ttx @@ -1831,6 +1834,7 @@ Tests/varLib/data/test_results/PartialInstancerTest2-VF-instance-900,100.ttx Tests/varLib/data/test_results/PartialInstancerTest2-VF-instance-900,62.5.ttx Tests/varLib/data/test_results/SingleMaster.ttx Tests/varLib/data/test_results/SparseMasters.ttx +Tests/varLib/data/test_results/TestBASE.ttx Tests/varLib/data/test_results/TestNonMarkingCFF2.ttx Tests/varLib/data/test_results/TestSparseCFF2VF.ttx Tests/varLib/data/test_results/TestVVAR.ttx |