From 08bc86930ca2a8ce4f62d52a6c32e31db515d1bf0756f61cb85fb559ddb2bbdb Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Wed, 15 Dec 2021 07:34:12 +0000 Subject: [PATCH] Accepting request 940599 from home:bnavigator:python-rpm-macros MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update to 4.28.3 * [subset] Fixed bug while subsetting COLR table, whereby incomplete layer records pointing to missing glyphs were being retained leading to struct.error upon compiling. Make it so that glyf glyph closure, which follows the COLR glyph closure, does not influence the COLR table subsetting (#2461, #2462). * [docs] Fully document the cmap and glyf tables (#2454, #2457). * [colorLib.unbuilder] Fixed CLI by deleting no longer existing parameter (180bb1867). - Release 4.28.2 * [otlLib] Remove duplicates when building coverage (#2433). * [docs] Add interrogate configuration (#2443). * [docs] Remove comment about missing “start” optional argument to calcChecksum (#2448). * [cu2qu/cli] Adapt to the latest ufoLib2. * [subset] Support subsetting SVG table and remove it from the list of drop by default tables (#534). * [subset] add --pretty-svg option to pretty print SVG table contents (#2452). * [merge] Support merging CFF tables (CID-keyed CFF is still not supported) (#2447). * [merge] Support --output-file (#2447). * [docs] Split table docs into individual pages (#2444). * [feaLib] Forbid empty classes (#2446). * [docs] Improve documentation for fontTools.ttLib.ttFont (#2442). - Release 4.28.1 * [subset] Fixed AttributeError while traversing a color glyph's Paint graph when there is no LayerList, which is optional (#2441). OBS-URL: https://build.opensuse.org/request/show/940599 OBS-URL: https://build.opensuse.org/package/show/M17N/python-FontTools?expand=0&rev=25 --- fonttools-4.21.1.zip | 3 - fonttools-4.28.3-gh.tar.gz | 3 + python-FontTools.changes | 226 +++++++++++++++++++++++++++++++++++++ python-FontTools.spec | 21 ++-- 4 files changed, 240 insertions(+), 13 deletions(-) delete mode 100644 fonttools-4.21.1.zip create mode 100644 fonttools-4.28.3-gh.tar.gz diff --git a/fonttools-4.21.1.zip b/fonttools-4.21.1.zip deleted file mode 100644 index 2150b90..0000000 --- a/fonttools-4.21.1.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9cf618ab76afb42a79dcc0b4b5e5ee7ec1534f7ad9da3809bb15ddfcedc073d -size 4381290 diff --git a/fonttools-4.28.3-gh.tar.gz b/fonttools-4.28.3-gh.tar.gz new file mode 100644 index 0000000..152680e --- /dev/null +++ b/fonttools-4.28.3-gh.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44d8953e0b522c704afc8dd6a5ec2a86b58bca950e506f9c7e8b3c5f2c29eecd +size 2944993 diff --git a/python-FontTools.changes b/python-FontTools.changes index 3c27bcb..186e128 100644 --- a/python-FontTools.changes +++ b/python-FontTools.changes @@ -1,3 +1,229 @@ +------------------------------------------------------------------- +Sun Dec 12 18:18:46 UTC 2021 - Ben Greiner + +- Update to 4.28.3 + * [subset] Fixed bug while subsetting COLR table, whereby + incomplete layer records pointing to missing glyphs were being + retained leading to struct.error upon compiling. Make it so + that glyf glyph closure, which follows the COLR glyph closure, + does not influence the COLR table subsetting (#2461, #2462). + * [docs] Fully document the cmap and glyf tables (#2454, #2457). + * [colorLib.unbuilder] Fixed CLI by deleting no longer existing + parameter (180bb1867). +- Release 4.28.2 + * [otlLib] Remove duplicates when building coverage (#2433). + * [docs] Add interrogate configuration (#2443). + * [docs] Remove comment about missing “start” optional argument + to calcChecksum (#2448). + * [cu2qu/cli] Adapt to the latest ufoLib2. + * [subset] Support subsetting SVG table and remove it from the + list of drop by default tables (#534). + * [subset] add --pretty-svg option to pretty print SVG table + contents (#2452). + * [merge] Support merging CFF tables (CID-keyed CFF is still not + supported) (#2447). + * [merge] Support --output-file (#2447). + * [docs] Split table docs into individual pages (#2444). + * [feaLib] Forbid empty classes (#2446). + * [docs] Improve documentation for fontTools.ttLib.ttFont + (#2442). +- Release 4.28.1 + * [subset] Fixed AttributeError while traversing a color glyph's + Paint graph when there is no LayerList, which is optional + (#2441). +- Release 4.28.0 + * Dropped support for EOL Python 3.6, require Python 3.7 (#2417). + * [ufoLib/glifLib] Make filename-clash checks faster by using a + set instead of a list (#2422). + * [subset] Don't crash if optional ClipList and LayerList are + None (empty) (#2424, 2439). + * [OT-SVG] Removed support for old deprecated version 1 and + embedded color palettes, which were never officially part of + the OpenType SVG spec. Upon compile, reuse offsets to SVG + documents that are identical (#2430). + * [feaLib] Added support for Variable Feature File syntax. This + is experimental and subject to change until it is finalized in + the Adobe FEA spec (#2432). + * [unicodedata] Update Scripts/ScriptExtensions/Blocks to + UnicodeData 14.0 (#2437). +- Release 4.27.1 + * [otlLib] Fixed error when chained contextual lookup builder + overflows (#2404, #2411). + * [bezierTools] Fixed two floating-point bugs: one when computing + t for a point lying on an almost horizontal/vertical line; + another when computing the intersection point between a curve + and a line (#2413). +- Release 4.27.0 + * [ttLib/otTables] Cleaned up virtual GID handling: allow virtual + GIDs in Coverage and ClassDef readers; removed unused allowVID + argument from TTFont constructor, and requireReal argument in + TTFont.getGlyphID method. Make TTFont.setGlyphOrder clear + reverse glyphOrder map, and assume glyphOrder internal + attribute is never modified outside setGlyphOrder; added + TTFont.getGlyphNameMany and getGlyphIDMany (#1536, #1654, + #2334, #2398). + * [py23] Dropped internal use of fontTools.py23 module to fix + deprecation warnings in client code that imports from fontTools + (#2234, #2399, #2400). + * [subset] Fix subsetting COLRv1 clip boxes when font is loaded + lazily (#2408). +- Release 4.26.2 + * [otTables] Added missing CompositeMode.PLUS operator (#2390). +- Release 4.26.1 + * [transform] Added transformVector and transformVectors methods + to the Transform class. Similar to transformPoint but ignore + the translation part (#2386). +- Release 4.26.0 + * [xmlWriter] Default to "\n" for newlinestr instead of + platform-specific os.linesep (#2384). + * [otData] Define COLRv1 ClipList and ClipBox (#2379). + * [removeOverlaps/instancer] Added --ignore-overlap-errors option + to work around Skia PathOps.Simplify bug (#2382, #2363, + google/fonts#3365). + * NOTE: This will be the last version to support Python 3.6. + FontTools will require Python 3.7 or above from the next + release (#2350) +- Release 4.25.2 + * [COLRv1] Various changes to sync with the latest CORLv1 draft + spec. In particular: define COLR.VarIndexMap, remove/inline + ColorIndex struct, add VarIndexBase to PaintVar* tables + (#2372); add reduced-precicion specialized transform Paints; + define Angle as fraction of half circle encoded as F2Dot14; use + FWORD (int16) for all Paint center coordinates; change + PaintTransform to have an offset to Affine2x3; + * [ttLib] when importing XML, only set sfntVersion if the font + has no reader and is empty (#2376) +- Release 4.25.1 + * [ttGlyphPen] Fixed bug in TTGlyphPointPen, whereby open + contours (i.e. starting with segmentType "move") would throw + NotImplementedError. They are now treated as if they are + closed, like with the TTGlyphPen (#2364, #2366). +- Release 4.25.0 + * [tfmLib] Added new library for parsing TeX Font Metric (TFM) + files (#2354). + * [TupleVariation] Make shared tuples order deterministic on + python < 3.7 where Counter (subclass of dict) doesn't remember + insertion order (#2351, #2353). + * [otData] Renamed COLRv1 structs to remove 'v1' suffix and match + the updated draft spec: 'LayerV1List' -> 'LayerList', + 'BaseGlyphV1List' -> 'BaseGlyphList', 'BaseGlyphV1Record' -> + 'BaseGlyphPaintRecord' (#2346). Added 8 new PaintScale* tables: + with/without centers, uniform vs non-uniform. Added + *AroundCenter variants to PaintRotate and PaintSkew: the + default versions no longer have centerX/Y, but default to + origin. PaintRotate, PaintSkew and PaintComposite formats were + re-numbered. NOTE: these are breaking changes; clients using + the experimental COLRv1 API will have to be updated (#2348). + * [pointPens] Allow GuessSmoothPointPen to accept a tolerance. + Fixed call to math.atan2 with x/y parameters inverted. Sync the + code with fontPens (#2344). + * [post] Fixed parsing post table format 2.0 when it contains + extra garbage at the end of the stringData array (#2314). + * [subset] drop empty features unless 'size' with FeatureParams + table (#2324). + * [otlLib] Added otlLib.optimize module; added GPOS compaction + algorithm. The compaction can be run on existing fonts with + fonttools otlLib.optimize or using the snippet compact_gpos.py. + There's experimental support for compacting fonts at + compilation time using an environment variable, but that might + be removed later (#2326). +- Release 4.24.4 + * [subset/instancer] Fixed AttributeError when instantiating a VF + that contains GPOS ValueRecords with Device tables but without + the respective non-Device values (e.g. XAdvDevice without + XAdvance). When not explicitly set, the latter are assumed to + be 0 (#2323). +- Release 4.24.3 + * [otTables] Fixed AttributeError in methods that split + LigatureSubst, MultipleSubst and AlternateSubst subtables when + an offset overflow occurs. The Format attribute was removed in + v4.22.0 (#2319). +- Release 4.24.2 + * [ttGlyphPen] Fixed typing annotation of TTGlyphPen glyphSet + parameter (#2315). + * Fixed two instances of DeprecationWarning: invalid escape + sequence (#2311). +- Release 4.24.1 + * [subset] Fixed AttributeError when SinglePos subtable has None + Value (ValueFormat 0) (#2312, #2313). +- Release 4.24.0 + * [pens] Add ttGlyphPen.TTGlyphPointPen similar to TTGlyphPen + (#2205). +- Release 4.23.1 + * [subset] Fix KeyError after subsetting COLR table that + initially contains both v0 and v1 color glyphs when the subset + only requested v1 glyphs; we were not pruning the v0 portion of + the table (#2308). + * [colorLib] Set LayerV1List attribute to None when empty, it's + optional in CORLv1 (#2308). +- Release 4.23.0 + * [designspaceLib] Allow to use \\UNC absolute paths on Windows + (#2299, #2306). + * [varLib.merger] Fixed bug where VarLibMergeError was raised + with incorrect parameters (#2300). + * [feaLib] Allow substituting a glyph class with NULL to delete + multiple glyphs (#2303). + * [glyf] Fixed NameError exception in getPhantomPoints (#2295, + #2305). + * [removeOverlaps] Retry pathops.simplify after rounding path + coordinates to integers if it fails the first time using + floats, to work around a rare and hard to debug Skia bug + (#2288). + * [varLib] Added support for building, reading, writing and + optimizing 32-bit ItemVariationStore as used in COLRv1 table + (#2285). + * [otBase/otConverters] Add array readers/writers for int types + (#2285). + * [feaLib] Allow more than one lookahead glyph/class in + contextual positioning with "value at end" (#2293, #2294). + * [COLRv1] Default varIdx should be 0xFFFFFFFF (#2297, #2298). + * [pens] Make RecordingPointPen actually pass on identifiers; + replace asserts with explicit PenError exception (#2284). + * [mutator] Round lsb for CF2 fonts as well (#2286). +- Release 4.22.1 + * [feaLib] Skip references to named lookups if the lookup block + definition is empty, similarly to makeotf. This also fixes an + AttributeError while generating aalt feature (#2276, #2277). + * [subset] Fixed bug with --no-hinting implementation for Device + tables (#2272, #2275). The previous code was alwyas dropping + Device tables if no-hinting was requested, but some Device + tables (DeltaFormat=0x8000) are also used to encode variation + indices and need to be retained. + * [otBase] Fixed bug in getting the ValueRecordSize when + decompiling MVAR table with lazy=True (#2273, #2274). + * [varLib/glyf/gvar] Optimized and simplified GlyphCoordinates + and TupleVariation classes, use bytearray where possible, + refactored phantom-points calculations. We measured about 30% + speedup in total time of loading master ttfs, building gvar, + and saving (#2261, #2266). + * [subset] Fixed AssertionError while pruning unused CPAL + palettes when 0xFFFF is present (#2257, #2259). +- Release 4.22.0 + * [ttLib] Remove .Format from Coverage, ClassDef, SingleSubst, + LigatureSubst, AlternateSubst, MultipleSubst (#2238). + ATTENTION: This will change your TTX dumps! + * [misc.arrayTools] move Vector to its own submodule, and rewrite + as a tuple subclass (#2201). + * [docs] Added a terminology section for varLib (#2209). + * [varLib] Move rounding to VariationModel, to avoid error + accumulation from multiple deltas (#2214) + * [varLib] Explain merge errors in more human-friendly terms + (#2223, #2226) + * [otlLib] Correct some documentation (#2225) + * [varLib/otlLib] Allow merging into VariationFont without first + saving GPOS PairPos2 (#2229) + * [subset] Improve PairPosFormat2 subsetting (#2221) + * [ttLib] TTFont.save: create file on disk as late as possible + (#2253) + * [cffLib] Add missing CFF2 dict operators LanguageGroup and + ExpansionFactor (#2249) ATTENTION: This will change your TTX + dumps! +- Support for python36 has been dropped +- Use Github archive instead of zipfile from PyPI because it has + the test fonts. +- The `fonttools` command is now documented and tested in the test + suite. + ------------------------------------------------------------------- Sat May 1 22:01:14 UTC 2021 - Ben Greiner diff --git a/python-FontTools.spec b/python-FontTools.spec index f8a86cb..20f208b 100644 --- a/python-FontTools.spec +++ b/python-FontTools.spec @@ -1,5 +1,5 @@ # -# spec file for package python-FontTools-test +# spec file # # Copyright (c) 2021 SUSE LLC # @@ -26,16 +26,17 @@ %endif %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 +%define skip_python36 1 Name: python-FontTools%{psuffix} -Version: 4.21.1 +Version: 4.28.3 Release: 0 Summary: Suite of Tools and Libraries for Manipulating Fonts License: MIT AND OFL-1.1 Group: Development/Languages/Python URL: https://github.com/fonttools/fonttools -Source: https://files.pythonhosted.org/packages/source/f/fonttools/fonttools-%{version}.zip -Source1: https://raw.githubusercontent.com/fonttools/fonttools/master/Tests/cu2qu/data/curves.json -BuildRequires: %{python_module devel} +# The PyPI archive lacks some test files, but the source is identical to the github archive +Source: https://github.com/fonttools/fonttools/archive/refs/tags/%{version}.tar.gz#/fonttools-%{version}-gh.tar.gz +BuildRequires: %{python_module devel >= 3.7} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros @@ -56,11 +57,10 @@ BuildArch: noarch BuildRequires: %{python_module Brotli >= 1.0.1} BuildRequires: %{python_module fs >= 2.2.0} BuildRequires: %{python_module pytest} +BuildRequires: %{python_module scipy >= 1.5.1} BuildRequires: %{python_module sympy} BuildRequires: %{python_module ufoLib2 >= 0.6.2} BuildRequires: %{python_module zopfli >= 0.1.6} -# TW does not have python36-scipy anymore (NEP 29). Tests are automatically skipped. -BuildRequires: %{python_module scipy >= 1.5.1 if (%python-base without python36-base)} %endif %if "%{python_flavor}" == "python3" || "%{python_provides}" == "python3" Obsoletes: fonttools < %{version}-%{release} @@ -81,7 +81,6 @@ convert TrueType fonts to an XML based format (called TTX) and back. %setup -q -n fonttools-%{version} # Remove shebang sed -i -e '/^#!\//, 1d' Lib/fontTools/mtiLib/__init__.py -cp %{SOURCE1} Tests/cu2qu/data/curves.json %build %python_build @@ -93,9 +92,8 @@ cp %{SOURCE1} Tests/cu2qu/data/curves.json %python_clone -a %{buildroot}%{_bindir}/ttx %python_clone -a %{buildroot}%{_bindir}/pyftsubset %python_clone -a %{buildroot}%{_bindir}/pyftmerge +%python_clone -a %{buildroot}%{_bindir}/fonttools %python_expand %fdupes %{buildroot}%{$python_sitelib} -# remove undocumented and non working script -rm %{buildroot}%{_bindir}/fonttools %endif %if %{with test} @@ -109,11 +107,13 @@ export LANG=en_US.UTF-8 %python_install_alternative ttx ttx.1 %python_install_alternative pyftsubset %python_install_alternative pyftmerge +%python_install_alternative fonttools %postun %python_uninstall_alternative ttx %python_uninstall_alternative pyftsubset %python_uninstall_alternative pyftmerge +%python_uninstall_alternative fonttools %files %{python_files} %license LICENSE LICENSE.external @@ -121,6 +121,7 @@ export LANG=en_US.UTF-8 %python_alternative %{_bindir}/pyftmerge %python_alternative %{_bindir}/pyftsubset %python_alternative %{_bindir}/ttx +%python_alternative %{_bindir}/fonttools %python_alternative %{_mandir}/man1/ttx.1%{?ext_man} %{python_sitelib}/fontTools %{python_sitelib}/fonttools-%{version}*-info