- 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
- Update to 4.19.1
* [woff2] An initial off-curve point with an overlap flag now
stays an off-curve point after compression.
- Changes in 4.19.0
* [codecs] Handle errors parameter different from 'strict' for
the custom extended mac encodings (#2137, #2132).
* [featureVars] Raise better error message when a script is
missing the required default language system (#2154).
* [COLRv1] Avoid abrupt change caused by rounding
PaintRadialGradient.c0 when the start circle almost touches
the end circle's perimeter (#2148).
* [COLRv1] Support building unlimited lists of paints as 255-ary
trees of PaintColrLayers tables (#2153).
* [subset] Prune redundant format-12 cmap subtables when all
non-BMP characters are dropped (#2146).
* [basePen] Raise MissingComponentError instead of bare KeyError
when a referenced component is missing (#2145).
- Only 'Recommend:' optional extra requirements (Some are not
available in TW python36 flavor anymore)
- Don't require python36-scipy for testing. (NEP 29)
OBS-URL: https://build.opensuse.org/request/show/871463
OBS-URL: https://build.opensuse.org/package/show/M17N/python-FontTools?expand=0&rev=19
- update to 4.18.2:
- [COLRv1] Implemented ``PaintTranslate`` paint format (#2129).
- [varLib.cff] Fixed unbound local variable error (#1787).
- [otlLib] Don't crash when creating OpenType class definitions if some glyphs
occur more than once (#2125).
- [colorLib] Speed optimization for ``LayerV1ListBuilder`` (#2119).
- [mutator] Fixed missing tab in ``interpolate_cff2_metrics`` (0957dc7a).
- [COLRv1] Update to latest draft: added ``PaintRotate`` and ``PaintSkew`` (#2118).
- [woff2] Support new ``brotlicffi`` bindings for PyPy (#2117).
- [glifLib] Added ``expectContentsFile`` parameter to ``GlyphSet``, for use when
reading existing UFOs, to comply with the specification stating that a
``contents.plist`` file must exist in a glyph set (#2114).
- [subset] Allow ``LangSys`` tags in ``--layout-scripts`` option (#2112). For example:
``--layout-scripts=arab.dflt,arab.URD,latn``; this will keep ``DefaultLangSys``
and ``URD`` language for ``arab`` script, and all languages for ``latn`` script.
- [varLib.interpolatable] Allow UFOs to be checked; report open paths, non existant
glyphs; add a ``--json`` option to produce a machine-readable list of
incompatibilities
- [pens] Added ``QuartzPen`` to create ``CGPath`` from glyph outlines on macOS.
Requires pyobjc (#2107).
- [feaLib] You can export ``FONTTOOLS_LOOKUP_DEBUGGING=1`` to enable feature file
debugging info stored in ``Debg`` table (#2106).
- [otlLib] Build more efficient format 1 and format 2 contextual lookups whenever
possible (#2101).
- [colorLib] Fixed regression in 4.17.0 when building COLR v0 table; when color
layers are stored in UFO lib plist, we can't distinguish tuples from lists so
we need to accept either types (e5439eb9, googlefonts/ufo2ft/issues#426).
- [colorLib/otData] Updated to latest draft ``COLR`` v1 spec (#2092).
- [svgLib] Fixed parsing error when arc commands' boolean flags are not separated
by space or comma (#2094).
OBS-URL: https://build.opensuse.org/request/show/863150
OBS-URL: https://build.opensuse.org/package/show/M17N/python-FontTools?expand=0&rev=18
- Update to 4.13.0
* [feaLib/otlLib] Moved lookup subtable builders from feaLib to otlLib; refactored
some common code (#2004, #2007).
* [glifLib] Fixed bug with some UFO .glif filenames clashing on case-insensitive
filesystems (#2001, #2002).
* [_n_a_m_e] Fixed error in ``addMultilingualName`` with one-character names.
Only attempt to recovered malformed UTF *16 data from a ``bytes`` string,
not from unicode ``str`` (#1997, #1998).
* [OS/2] Don't calculate whole sets of unicode codepoints, use faster and more memory
efficient ranges and bisect lookups (#1984).
* [voltLib] Support writing back abstract syntax tree as VOLT data (#1983).
* [voltLib] Accept DO_NOT_TOUCH_CMAP keyword (#1987).
* [ufoLib] Silently delete duplicate glyphs within the same kerning group when reading
groups (#1970).
* [ttLib] Set version of COLR table when decompiling COLRv1 (commit 9d8a7e2).
OBS-URL: https://build.opensuse.org/request/show/826238
OBS-URL: https://build.opensuse.org/package/show/M17N/python-FontTools?expand=0&rev=14
- Update to 4.10.2:
* Note: The v4.x version series only supports Python 3.6 or greater.
* see NEWS.rst for the full changelog
- Use _multibuild to run the tests in a different flavor and make it
possible to BuildRequire ufoLib2 (which requires FontTools to build)
without creating a dependency cycle.
- Add curves.json from upstream as a separate source as it's
missing from the zip file.
OBS-URL: https://build.opensuse.org/request/show/807893
OBS-URL: https://build.opensuse.org/package/show/M17N/python-FontTools?expand=0&rev=11
- Update to version 3.24.1
* [varLib] Don’t remap the same DeviceTable twice in VarStore
optimizer (#1206).
* [varLib] Add --disable-iup option to fonttools varLib script,
and a optimize=True keyword argument to varLib.build function,
to optionally disable IUP optimization while building varfonts.
* [ttCollection] Fixed issue while decompiling ttc with python3
(#1207).
- Update to version 3.24.0
* [ttGlyphPen] Decompose composite glyphs if any components’
transform is too large to fit a F2Dot14 value, or clamp
transform values that are (almost) equal to +2.0 to make them
fit and avoid decomposing (#1200, #1204, #1205).
* [ttx] Added new -g option to dump glyphs from the glyf table
splitted as individual ttx files (#153, #1035, #1132, #1202).
* Copied ufoLib.filenames module to fontTools.misc.filenames,
used for the ttx split-glyphs option (#1202).
* [feaLib] Added support for cvParameters blocks in Character
Variant feautures cv01-cv99 (#860, #1169).
* [Snippets] Added checksum.py script to generate/check SHA1
hash of ttx files (#1197).
* [varLib.mutator] Fixed issue while instantiating some variable
fonts whereby the horizontal advance width computed from gvar
phantom points could turn up to be negative (#1198).
* [varLib/subset] Fixed issue with subsetting GPOS variation
data not picking up ValueRecord Device objects (54fd71f).
* [feaLib/voltLib] In all AST elements, the location is no
longer a required positional argument, but an optional
kewyord argument (defaults to None). This will make it easier
to construct feature AST from code (#1201).
- Update to version 3.23.0
* [designspaceLib] Added an optional lib element to the
designspace as a whole, as well as to the instance elements,
to store arbitrary data in a property list dictionary, similar
to the UFO’s lib. Added an optional font attribute to the
SourceDescriptor, to allow operating on in-memory font objects
(#1175).
* [cffLib] Fixed issue with lazy-loading of attributes when
attempting to set the CFF TopDict.Encoding (#1177, #1187).
* [ttx] Fixed regression introduced in 3.22.0 that affected
the split tables -s option (#1188).
* [feaLib] Added IncludedFeaNotFound custom exception subclass,
raised when an included feature file cannot be found (#1186).
* [otTables] Changed VarIdxMap to use glyph names internally
instead of glyph indexes. The old ttx dumps of HVAR/VVAR
tables that contain indexes can still be imported
(21cbab8, 38a0ffb).
* [varLib] Implemented VarStore optimizer (#1184).
* [subset] Implemented pruning of GDEF VarStore, HVAR and
MVAR (#1179).
* [sfnt] Restore backward compatiblity with numFonts attribute
of SFNTReader object (#1181).
* [merge] Initial support for merging LangSysRecords (#1180).
* [ttCollection] don’t seek(0) when writing to possibly
unseekable strems.
* [subset] Keep all --name-IDs from 0 to 6 by default
(#1170, #605, #114).
* [cffLib] Added width module to calculate optimal CFF default
and nominal glyph widths.
* [varLib] Don’t fail if STAT already in the master fonts
(#1166).
- Fix conflict with old single-package version
OBS-URL: https://build.opensuse.org/request/show/584507
OBS-URL: https://build.opensuse.org/package/show/M17N/python-FontTools?expand=0&rev=3