Sync from SUSE:ALP:Source:Standard:1.0 python-FontTools revision 745ee5b02360580c56feb02d694aefa0
This commit is contained in:
commit
2b34fbda8e
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<multibuild>
|
||||||
|
<package>test</package>
|
||||||
|
</multibuild>
|
BIN
fonttools-4.39.4.tar.gz
(Stored with Git LFS)
Normal file
BIN
fonttools-4.39.4.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
877
python-FontTools.changes
Normal file
877
python-FontTools.changes
Normal file
@ -0,0 +1,877 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Oct 14 00:19:08 UTC 2023 - Matej Cepl <mcepl@cepl.eu>
|
||||||
|
|
||||||
|
- Clean up space and remove unnecessary BR python-munkres and
|
||||||
|
python-zopfli.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jun 11 20:32:54 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 4.39.4:
|
||||||
|
* [varLib.interpolatable] Allow for sparse masters (#3075)
|
||||||
|
* [merge] Handle differing default/nominalWidthX in CFF (#3070)
|
||||||
|
* [ttLib] Add missing main.py file to ttLib package (#3088)
|
||||||
|
* [ttx] Fix missing composite instructions in XML (#3092)
|
||||||
|
* [ttx] Fix split tables option to work on filenames containing
|
||||||
|
'%' (#3096)
|
||||||
|
* [featureVars] Process lookups for features other than rvrn
|
||||||
|
last (#3099)
|
||||||
|
* [feaLib] support multiple substitution with classes (#3103)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 21 12:20:35 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- add sle15_python_module_pythons (jsc#PED-68)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 30 18:53:56 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 4.39.3:
|
||||||
|
* [sbix] Fixed TypeError when compiling empty glyphs whose
|
||||||
|
imageData is None
|
||||||
|
* [ttFont] Fixed AttributeError on python <= 3.10 when opening
|
||||||
|
a TTFont from a tempfile
|
||||||
|
* SpooledTemporaryFile, seekable method only added on python
|
||||||
|
3.11 (#3052).
|
||||||
|
* [varLib] Fixed regression introduced in 4.39.1 whereby an
|
||||||
|
incomplete 'STAT' table would be built even though a
|
||||||
|
DesignSpace v5 did contain 'STAT' definitions (#3045, #3046).
|
||||||
|
* [avar2] Added experimental support for reading/writing avar
|
||||||
|
version 2 as specified in this draft proposal:
|
||||||
|
https://github.com/harfbuzz/boring-expansion-spec/blob/main/avar2.md
|
||||||
|
* [glifLib] Wrap underlying XML library exceptions with
|
||||||
|
GlifLibError when parsing GLIFs, and also print the name
|
||||||
|
and path of the glyph that fails to be parsed (#3042).
|
||||||
|
* [feaLib] Consult avar for normalizing user-space values in
|
||||||
|
ConditionSets and in VariableScalars (#3042, #3043).
|
||||||
|
* [ttProgram] Handle string input to Program.fromAssembly()
|
||||||
|
(#3038).
|
||||||
|
* [otlLib] Added a config option to emit GPOS 7 lookups,
|
||||||
|
currently disabled by default because of a macOS bug (#3034).
|
||||||
|
* [COLRv1] Added method to automatically compute ClipBoxes
|
||||||
|
(#3027).
|
||||||
|
* [ttFont] Fixed getGlyphID to raise KeyError on missing glyphs
|
||||||
|
instead of returning None.
|
||||||
|
* [sbix] Fixed UnboundLocalError: cannot access local variable
|
||||||
|
'rawdata' (#3031).
|
||||||
|
* [varLib] When building VF, do not overwrite a pre-existing
|
||||||
|
``STAT`` table that was built with feaLib from FEA feature
|
||||||
|
file. Also, added support for building multiple VFs
|
||||||
|
defined in Designspace v5 from ``fonttools varLib`` script
|
||||||
|
* [mtiLib] Only add ``Debg`` table with lookup names when
|
||||||
|
``FONTTOOLS_LOOKUP_DEBUGGING`` env variable is set (#3023).
|
||||||
|
* [mtiLib] Optionally add `Debg` debug info for MTI feature
|
||||||
|
builds (#3018).
|
||||||
|
* [ttx] Support reading input file from standard input using
|
||||||
|
special `-` character, similar to existing `-o -` option
|
||||||
|
to write output to standard output (#3020).
|
||||||
|
* [cython] Prevent ``cython.compiled`` raise AttributeError if
|
||||||
|
cython not installed properly (#3017).
|
||||||
|
* [OS/2] Guard against ZeroDivisionError when calculating
|
||||||
|
xAvgCharWidth in the unlikely scenario no glyph has non-zero
|
||||||
|
advance (#3015).
|
||||||
|
* [subset] Recompute xAvgCharWidth independently of --no-prune-
|
||||||
|
unicode-ranges, previously the two options were involuntarily
|
||||||
|
bundled together (#3012).
|
||||||
|
* [fontBuilder] Add ``debug`` parameter to addOpenTypeFeatures
|
||||||
|
method to add source debugging information to the font in the
|
||||||
|
``Debg`` private table (#3008).
|
||||||
|
* [name] Make NameRecord `__lt__` comparison not fail on
|
||||||
|
Unicode encoding errors (#3006).
|
||||||
|
* [featureVars] Fixed bug in ``overlayBox`` (#3003, #3005).
|
||||||
|
* [glyf] Added experimental support for cubic bezier curves in
|
||||||
|
TrueType glyf table, as outlined in glyf v1 proposal (#2988):
|
||||||
|
* Added new qu2cu module and related qu2cuPen, the reverse of
|
||||||
|
cu2qu for converting TrueType quadratic splines to cubic bezier
|
||||||
|
curves (#2993).
|
||||||
|
* [glyf] Added experimental support for reading and writing
|
||||||
|
Variable Composites/Components as defined in glyf v1 spec
|
||||||
|
proposal (#2958):
|
||||||
|
* [pens]: Added `addVarComponent` method to pen protocols' base
|
||||||
|
classes, which pens can implement to handle varcomponents
|
||||||
|
* [misc.transform] Added DecomposedTransform class which
|
||||||
|
implements an affine transformation with separate translate,
|
||||||
|
rotation, scale, skew, and transformation-center components (#2598)
|
||||||
|
* [sbix] Ensure Glyph.referenceGlyphName is set; fixes error
|
||||||
|
after dumping and re-compiling sbix table with 'dupe' glyphs (#2984).
|
||||||
|
* [feaLib] Be cleverer when merging chained single
|
||||||
|
substitutions into same lookup when they are specified using
|
||||||
|
the inline notation (#2150, #2974).
|
||||||
|
* [instancer] Clamp user-inputted axis ranges to those of fvar
|
||||||
|
(#2959).
|
||||||
|
* [otBase/subset] Define ``__getstate__`` for BaseTable so that
|
||||||
|
a copied/pickled 'lazy' object gets its own OTTableReader to
|
||||||
|
read from; incidentally fixes a bug while subsetting COLRv1
|
||||||
|
table containing ClipBoxes on python 3.11
|
||||||
|
* [sbix] Handle glyphs with "dupe" graphic type on compile
|
||||||
|
correctly (#2963).
|
||||||
|
* [glyf] ``endPointsOfContours`` field should be unsigned!
|
||||||
|
Kudos to behdad for spotting one of the oldest bugs in FT.
|
||||||
|
Probably nobody has ever dared to make glyphs with more
|
||||||
|
than 32767 points... (#2957).
|
||||||
|
* [feaLib] Fixed handling of ``ignore`` statements with
|
||||||
|
unmarked glyphs to match makeotf behavior, which assumes
|
||||||
|
the first glyph is marked
|
||||||
|
* Reformatted code with ``black`` and enforce new code style
|
||||||
|
via CI check (#2925).
|
||||||
|
* [feaLib] Sort name table entries following OT spec prescribed
|
||||||
|
order in the builder (#2927).
|
||||||
|
* [cu2quPen] Add Cu2QuMultiPen that converts multiple outlines
|
||||||
|
at a time in interpolation compatible way; its methods take
|
||||||
|
a list of tuples arguments that would normally be passed to
|
||||||
|
individual segment pens, and at the end it dispatches the
|
||||||
|
converted outlines to each pen (#2912).
|
||||||
|
* [reverseContourPen/ttGlyphPen] Add outputImpliedClosingLine
|
||||||
|
option
|
||||||
|
* [gvar] Avoid expanding all glyphs unnecessarily upon compile
|
||||||
|
* [scaleUpem] Fixed bug whereby CFF2 vsindex was scaled; it
|
||||||
|
should not (#2893, #2894).
|
||||||
|
* [designspaceLib] Add DS.getAxisByTag and refactor getAxis
|
||||||
|
(#2891).
|
||||||
|
* [unicodedata] map Zmth<->math in ot_tag_{to,from}_script
|
||||||
|
(#1737, #2889).
|
||||||
|
* [woff2] Support encoding/decoding OVERLAP_SIMPLE glyf flags
|
||||||
|
(#2576, #2884).
|
||||||
|
* [instancer] Update OS/2 class and post.italicAngle when
|
||||||
|
default moved (L4)
|
||||||
|
* Dropped support for Python 3.7 which reached EOL, fontTools
|
||||||
|
requires 3.8+.
|
||||||
|
* [instancer] Fixed instantiateFeatureVariations logic when a
|
||||||
|
rule range becomes default-applicable (#2737, #2880).
|
||||||
|
* [ttLib] Add main to ttFont and ttCollection that just
|
||||||
|
decompile and re-compile the input font (#2869).
|
||||||
|
* [featureVars] Insert 'rvrn' lookup at the beginning of
|
||||||
|
LookupList, to work around bug in Apple implementation
|
||||||
|
of 'rvrn' feature which the spec says it should be processed
|
||||||
|
early whereas on macOS 10.15 it follows lookup order (#2140,
|
||||||
|
* [instancer/mutator] Remove 'DSIG' table if present.
|
||||||
|
* [svgPathPen] Don't close path in endPath(), assume open
|
||||||
|
unless closePath() (#2089, #2865).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 16 17:55:48 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Dependencies for testing on sympy and ufoLib2 are actually not
|
||||||
|
necessary (the test suite automatically skips affected tests),
|
||||||
|
and scipy could be replaced by much less demanding munkres
|
||||||
|
package.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 22 06:56:23 UTC 2022 - Marguerite Su <i@marguerite.su>
|
||||||
|
|
||||||
|
- Update to 4.38.0
|
||||||
|
* [varLib.instancer] Added support for L4 instancing, i.e. moving the
|
||||||
|
default value of an axis while keeping it variable.
|
||||||
|
* [otlLib/featureVars] Set a few Count values so one doesn't need to
|
||||||
|
compile the font to update them
|
||||||
|
* [varLib.models] Make extrapolation work for 2-master models as well
|
||||||
|
where one master is at the default location
|
||||||
|
Add optional extrapolate=False to normalizeLocation()
|
||||||
|
* [varLib.cff] Fixed sub-optimal packing of CFF2 deltas by no longer
|
||||||
|
rounding them to integer
|
||||||
|
* [scaleUpem] Calculate numShorts in VarData after scale; handle CFF
|
||||||
|
hintmasks
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 29 16:55:08 UTC 2022 - Gordon Leung <pirateclip@protonmail.com>
|
||||||
|
|
||||||
|
- Update to 4.37.1
|
||||||
|
* [subset] Fixed regression introduced with v4.37.0 while subsetting
|
||||||
|
the VarStore of HVAR and VVAR tables, whereby an
|
||||||
|
AttributeError: subset_varidxes was thrown because an apparently
|
||||||
|
unused import statement (with the side-effect of dynamically binding
|
||||||
|
that subset_varidxes method to the VarStore class) had been
|
||||||
|
accidentally deleted in an unrelated PR
|
||||||
|
* [pens] Added cairoPen
|
||||||
|
* [gvar] Read gvar more lazily by not parsing all of the glyf table
|
||||||
|
* [ttGlyphSet] Make drawPoints(pointPen) method work for CFF fonts
|
||||||
|
as well via adapter pen
|
||||||
|
* [cff.specializer] Fixed issue in charstring generalizer with the
|
||||||
|
blend operator
|
||||||
|
* [varLib.models] Added support for extrapolation
|
||||||
|
* [ttGlyphSet] Ensure the newly added _TTVarGlyphSet inherits from
|
||||||
|
_TTGlyphSet to keep backward compatibility with existing API
|
||||||
|
* [kern] Allow compiling legacy kern tables with more than 64k entries
|
||||||
|
* [visitor] Added new visitor API to traverse tree of objects and
|
||||||
|
dispatch based on the attribute type: cf. fontTools.misc.visitor
|
||||||
|
and fontTools.ttLib.ttVisitor. Added fontTools.ttLib.scaleUpem
|
||||||
|
module that uses the latter to change a font's units-per-em and
|
||||||
|
scale all the related fields accordingly
|
||||||
|
* Etc. https://github.com/fonttools/fonttools/compare/4.33.3...4.37.1
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat May 7 14:59:54 UTC 2022 - Ferdinand Thiessen <rpm@fthiessen.de>
|
||||||
|
|
||||||
|
- Update to version 4.33.3
|
||||||
|
* designspaceLib:
|
||||||
|
* Fixed typo in deepcopyExceptFonts method, preventing font
|
||||||
|
references to be transferred
|
||||||
|
* Fixed another typo in the name of Range dataclass's
|
||||||
|
__post_init__ magic method
|
||||||
|
- Update to version 4.33.2
|
||||||
|
* otBase: Make logging less verbose when harfbuzz fails to serialize
|
||||||
|
Do not exit at the first failure but continue attempting to fix
|
||||||
|
offset overflow error using the pure-python serializer even when
|
||||||
|
the USE_HARFBUZZ_REPACKER option was explicitly set to True.
|
||||||
|
- Update to version 4.33.1
|
||||||
|
* otlLib:
|
||||||
|
Put back the FONTTOOLS_GPOS_COMPACT_MODE environment variable
|
||||||
|
to fix regression in ufo2ft. This is deprecated and will be
|
||||||
|
removed once ufo2ft gets updated to use the new config setup.
|
||||||
|
- Update to version 4.33.0
|
||||||
|
* Added fontTools.misc.configTools module, a generic configuration system
|
||||||
|
* Added fontTools.config module, a fontTools-specific configuration
|
||||||
|
system using configTools above.
|
||||||
|
* Attached a Config object to TTFont.
|
||||||
|
* otlLib:
|
||||||
|
* Replaced environment variable for GPOS compression level with
|
||||||
|
an equivalent option using the new config system.
|
||||||
|
* designspaceLib:
|
||||||
|
* Incremented format version to 5.0
|
||||||
|
* Added discrete axes, variable fonts, STAT information, either
|
||||||
|
design- or user-space location on instances.
|
||||||
|
* Added fontTools.designspaceLib.split module to split a designspace
|
||||||
|
into sub-spaces that interpolate and that represent the variable
|
||||||
|
fonts listed in the document.
|
||||||
|
* Made instance names optional and allow computing them from
|
||||||
|
STAT data instead.
|
||||||
|
* Added fontTools.designspaceLib.statNames module.
|
||||||
|
* Allow instances to have the same location as a previously
|
||||||
|
defined STAT label.
|
||||||
|
* Deprecated some attributes:
|
||||||
|
SourceDescriptor: copyLib, copyInfo, copyGroups, copyFeatures.
|
||||||
|
InstanceDescriptor: kerning, info; glyphs: use rules or sparse sources.
|
||||||
|
For both, location: use the more explicit designLocation.
|
||||||
|
* varLib:
|
||||||
|
* Added build_many to build several variable fonts from a
|
||||||
|
single designspace document
|
||||||
|
* Added fontTools.varLib.stat module to build STAT tables
|
||||||
|
from a designspace document.
|
||||||
|
* otBase:
|
||||||
|
* Try to use the Harfbuzz Repacker for packing GSUB/GPOS tables
|
||||||
|
when uharfbuzz python bindings are available
|
||||||
|
* CFF/T2:
|
||||||
|
* Ensure that pen.closePath() gets called for CFF2 charstrings
|
||||||
|
* Handle implicit CFF2 closePath within T2OutlineExtractor
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 12 09:46:15 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Update to 4.32.0
|
||||||
|
* [otlLib] Disable GPOS7 optimization to work around bug in Apple
|
||||||
|
CoreText. Always force Chaining GPOS8 for now (#2540).
|
||||||
|
* [glifLib] Added outputImpliedClosingLine=False parameter to
|
||||||
|
Glyph.draw(), to control behaviour of PointToSegmentPen
|
||||||
|
(6b4e2e7).
|
||||||
|
* [varLib.interpolatable] Check for wrong contour starting point
|
||||||
|
(#2571).
|
||||||
|
* [cffLib] Remove leftover GlobalState class and fix calls to
|
||||||
|
TopDictIndex() (#2569, #2570).
|
||||||
|
* [instancer] Clear AxisValueArray if it is empty after
|
||||||
|
instantiating (#2563).
|
||||||
|
- Release 4.31.2
|
||||||
|
* [varLib] fix instantiation of GPOS SinglePos values (#2555).
|
||||||
|
- Release 4.31.1
|
||||||
|
* [subset] fix subsetting OT-SVG when glyph id attribute is on
|
||||||
|
the root <svg> element (#2553).
|
||||||
|
- Release 4.31.0
|
||||||
|
* [ttCollection] Fixed 'ResourceWarning: unclosed file' warning
|
||||||
|
(#2549).
|
||||||
|
* [varLib.merger] Handle merging SinglePos with valueformat=0
|
||||||
|
(#2550).
|
||||||
|
* [ttFont] Update glyf's glyphOrder when calling
|
||||||
|
TTFont.setGlyphOrder() (#2544).
|
||||||
|
* [ttFont] Added ensureDecompiled method to load all tables
|
||||||
|
irrespective of the lazy attribute (#2551).
|
||||||
|
* [otBase] Added iterSubTable method to iterate over BaseTable's
|
||||||
|
children of type BaseTable; useful for traversing a tree of
|
||||||
|
otTables (#2551).
|
||||||
|
- Release 4.30.0
|
||||||
|
* [varLib] Added debug logger showing the glyph name for which
|
||||||
|
gvar is built (#2542).
|
||||||
|
* [varLib.errors] Fixed undefined names in FoundANone and
|
||||||
|
UnsupportedFormat exceptions (ac4d561).
|
||||||
|
* [otlLib.builder] Added windowsNames and macNames (bool)
|
||||||
|
parameters to the buildStatTable function, so that one can
|
||||||
|
select whether to only add one or both of the two sets (#2528).
|
||||||
|
* [t1Lib] Added the ability to recreate PostScript stream
|
||||||
|
(#2504).
|
||||||
|
* [name] Added getFirstDebugName,
|
||||||
|
getBest{Family,SubFamily,Full}Name methods (#2526).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 7 10:28:35 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Update to 4.29.1
|
||||||
|
* [colorLib] Fixed rounding issue with radial gradient's start/end
|
||||||
|
circles inside one another (#2521).
|
||||||
|
* [freetypePen] Handle rotate/skew transform when auto-computing
|
||||||
|
width/height of the buffer; raise PenError wen missing moveTo
|
||||||
|
(#2517)
|
||||||
|
- Release 4.29.0
|
||||||
|
* [ufoLib] Fixed illegal characters and expanded reserved
|
||||||
|
filenames (#2506).
|
||||||
|
* [COLRv1] Don't emit useless PaintColrLayers of lenght=1 in
|
||||||
|
LayerListBuilder (#2513).
|
||||||
|
* [ttx] Removed legacy waitForKeyPress method on Windows (#2509).
|
||||||
|
* [pens] Added FreeTypePen that uses freetype-py and the pen
|
||||||
|
protocol for rasterizating outline paths (#2494).
|
||||||
|
* [unicodedata] Updated the script direction list to Unicode 14.0
|
||||||
|
(#2484).
|
||||||
|
* Bumped unicodedata2 dependency to 14.0 (#2499).
|
||||||
|
* [psLib] Fixed type of fontName in suckfont (#2496).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jan 15 15:11:24 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 4.28.5:
|
||||||
|
* make sure all occurrences of str() are now replaced with user-defined ntos
|
||||||
|
* refactored code into submodules, plus several bugfixes and improvements
|
||||||
|
* Merge GDEF marksets in Lookups properly
|
||||||
|
* Have fontTools feaLib script exit with error code when build fails
|
||||||
|
* Added ntos option to customize number formatting
|
||||||
|
* Speed up subsetting of large CFF fonts
|
||||||
|
* Speculatively promote lookups to extension to speed up compilation
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Dec 15 10:20:49 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- remove curves.json now included in the GitHub archive
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Dec 12 18:18:46 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- 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 <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Release 4.21.1
|
||||||
|
* [pens] Reverted breaking change that turned AbstractPen and
|
||||||
|
AbstractPointPen into abstract base classes (#2164, #2198).
|
||||||
|
- Release 4.21.0
|
||||||
|
* [feaLib] Indent anchor statements in asFea() to make them more
|
||||||
|
legible and diff-able (#2193).
|
||||||
|
* [pens] Turn AbstractPen and AbstractPointPen into abstract
|
||||||
|
base classes (#2164).
|
||||||
|
* [feaLib] Added support for parsing and building STAT table
|
||||||
|
from AFDKO feature files (#2039).
|
||||||
|
* [instancer] Added option to update name table of generated
|
||||||
|
instance using STAT table's axis values (#2189).
|
||||||
|
* [bezierTools] Added functions to compute bezier point-at-time,
|
||||||
|
as well as line-line, curve-line and curve-curve intersections
|
||||||
|
(#2192).
|
||||||
|
* [arrayTools] Added rectArea function to compute area of
|
||||||
|
rectangle (#2192).
|
||||||
|
- Release 4.20.0
|
||||||
|
* [COLRv1] Added unbuildColrV1 to deconstruct COLRv1 otTables to
|
||||||
|
raw json-able data structure; it does the reverse of
|
||||||
|
buildColrV1 (#2171).
|
||||||
|
* [feaLib] Allow sub X by NULL sequence to delete a glyph (#2170)
|
||||||
|
* [arrayTools] Fixed Vector division (#2173).
|
||||||
|
* [COLRv1] Define new PaintSweepGradient (#2172).
|
||||||
|
* [otTables] Moved Paint.Format enum class outside of Paint
|
||||||
|
class definition, now named PaintFormat. It was clashing with
|
||||||
|
paint instance Format attribute and thus was breaking lazy
|
||||||
|
load of COLR table which relies on magic __getattr__ (#2175).
|
||||||
|
* [COLRv1] Replace hand-coded builder functions with
|
||||||
|
otData-driven dynamic implementation (#2181).
|
||||||
|
* [COLRv1] Define additional static (non-variable) Paint formats
|
||||||
|
(#2181).
|
||||||
|
* [subset] Added support for subsetting COLR v1 and CPAL tables
|
||||||
|
(#2174, #2177).
|
||||||
|
* [fontBuilder] Allow setupFvar to optionally take
|
||||||
|
designspaceLib.AxisDescriptor objects. Added new setupAvar
|
||||||
|
method. Support localised names for axes and named instances
|
||||||
|
(#2185).
|
||||||
|
- Don't update to 4.22 yet because it breaks afdko
|
||||||
|
- Clarify fs requirement
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 23 14:28:25 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- We do Require fs module.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 12 13:48:21 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- 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)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 14 16:26:38 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- 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).
|
||||||
|
- [varLib] Interpret empty non-default glyphs as 'missing', if the default glyph is
|
||||||
|
not empty (#2082).
|
||||||
|
- [feaLib.builder] Only stash lookup location for ``Debg`` if ``Builder.buildLookups_``
|
||||||
|
has cooperated (#2065, #2067).
|
||||||
|
- [varLib] Fixed bug in VarStore optimizer (#2073, #2083).
|
||||||
|
- [varLib] Add designspace lib key for custom feavar feature tag (#2080).
|
||||||
|
- Add HashPointPen adapted from psautohint. With this pen, a hash value of a glyph
|
||||||
|
can be computed, which can later be used to detect glyph changes (#2005).
|
||||||
|
- [varLib.instancer] Fixed ``TypeError`` exception when instantiating a VF with
|
||||||
|
a GSUB table 1.1 in which ``FeatureVariations`` attribute is present but set to
|
||||||
|
``None`` -- indicating that optional ``FeatureVariations`` is missing (#2077).
|
||||||
|
- [glifLib] Make ``x`` and ``y`` attributes of the ``point`` element required
|
||||||
|
even when validation is turned off, and raise a meaningful ``GlifLibError``
|
||||||
|
message when that happens (#2075).
|
||||||
|
- [removeOverlaps] Added new module and ``removeOverlaps`` function that merges
|
||||||
|
overlapping contours and components in TrueType glyphs. It requires the
|
||||||
|
`skia-pathops <https://github.com/fonttools/skia-pathops>`__ module.
|
||||||
|
Note that removing overlaps invalidates the TrueType hinting (#2068).
|
||||||
|
- [varLib.instancer] Added ``--remove-overlaps`` command-line option.
|
||||||
|
The ``overlap`` option in ``instantiateVariableFont`` now takes an ``OverlapMode``
|
||||||
|
enum: 0: KEEP_AND_DONT_SET_FLAGS, 1: KEEP_AND_SET_FLAGS (default), and 2: REMOVE.
|
||||||
|
The latter is equivalent to calling ``removeOverlaps`` on the generated static
|
||||||
|
instance. The option continues to accept ``bool`` value for backward compatibility.
|
||||||
|
- [plistlib] Added typing annotations to plistlib module. Set up mypy static
|
||||||
|
typechecker to run automatically on CI (#2061).
|
||||||
|
- [ttLib] Implement private ``Debg`` table, a reverse-DNS namespaced JSON dict.
|
||||||
|
- [feaLib] Optionally add an entry into the ``Debg`` table with the original
|
||||||
|
lookup name (if any), feature name / script / language combination (if any),
|
||||||
|
and original source filename and line location. Annotate the ttx output for
|
||||||
|
a lookup with the information from the Debg table (#2052).
|
||||||
|
- [sfnt] Disabled checksum checking by default in ``SFNTReader`` (#2058).
|
||||||
|
- [Docs] Document ``mtiLib`` module (#2027).
|
||||||
|
- [varLib.interpolatable] Added checks for contour node count and operation type
|
||||||
|
of each node (#2054).
|
||||||
|
- [ttLib] Added API to register custom table packer/unpacker classes (#2055).
|
||||||
|
- [feaLib] Allow anonymous classes in LookupFlags definitions (#2037).
|
||||||
|
- [Docs] Better document DesignSpace rules processing order (#2041).
|
||||||
|
- [ttLib] Fixed 21-year old bug in ``maxp.maxComponentDepth`` calculation (#2044,
|
||||||
|
#2045).
|
||||||
|
- [varLib.models] Fixed misspelled argument name in CLI entry point (81d0042a).
|
||||||
|
- [subset] When subsetting GSUB v1.1, fixed TypeError by checking whether the
|
||||||
|
optional FeatureVariations table is present (e63ecc5b).
|
||||||
|
- [Snippets] Added snippet to show how to decompose glyphs in a TTF (#2030).
|
||||||
|
- [otlLib] Generate GSUB type 5 and GPOS type 7 contextual lookups where appropriate
|
||||||
|
(#2016).
|
||||||
|
- [feaLib/otlLib] Moved lookup subtable builders from feaLib to otlLib; refactored
|
||||||
|
some common code (#2004, #2007).
|
||||||
|
- [docs] Document otlLib module (#2009).
|
||||||
|
- [glifLib] Fixed bug with some UFO .glif filenames clashing on case-insensitive
|
||||||
|
filesystems (#2001, #2002).
|
||||||
|
- [colorLib] Updated COLRv1 implementation following changes in the draft spec:
|
||||||
|
(#2008, googlefonts/colr-gradients-spec#24).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Aug 19 08:48:04 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
|
||||||
|
|
||||||
|
- Switch from brotlipy to Brotli (bsc#1175303)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 13 06:57:05 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
|
||||||
|
|
||||||
|
- 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).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 26 06:34:20 UTC 2020 - Petr Gajdos <pgajdos@suse.com>
|
||||||
|
|
||||||
|
- %python3_only -> %python_alternative
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 20 10:13:15 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
||||||
|
|
||||||
|
- 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.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 1 12:14:15 UTC 2019 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- version update to 3.39.0
|
||||||
|
see NEWS.rst
|
||||||
|
- deleted patches
|
||||||
|
- 349cd94d171cf4e1e7541884df0d12bb6d4e841a.patch (upstreamed)
|
||||||
|
- fix-missing-sys.patch (upstreamed)
|
||||||
|
- run the testsuite
|
||||||
|
- do not provide extra subpackage for tools
|
||||||
|
- do not require python-munkres, it is suprefluous when scipy is
|
||||||
|
required
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 6 07:22:24 UTC 2018 - Matěj Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Upstream provided fix for the issue with big endian machines. Remove
|
||||||
|
fonttools-disable_failing_tests_bigendian.patch and replace with
|
||||||
|
349cd94d171cf4e1e7541884df0d12bb6d4e841a.patch
|
||||||
|
- Upstream fix has a missing import; thus fix-missing-sys.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 4 20:41:54 UTC 2018 - Matěj Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Update to 3.29.0:
|
||||||
|
too many changes to enlist here, complete list is on
|
||||||
|
https://github.com/fonttools/fonttools/releases
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 15 08:53:18 CET 2018 - tiwai@suse.de
|
||||||
|
|
||||||
|
- add fonttools-disable_failing_tests_bigendian.patch
|
||||||
|
disable two tests currently failing on bigendian archs
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 8 16:02:24 UTC 2018 - toddrme2178@gmail.com
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 26 17:42:47 UTC 2018 - toddrme2178@gmail.com
|
||||||
|
|
||||||
|
- Fix building on tumbleweed
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 20 19:05:53 UTC 2018 - toddrme2178@gmail.com
|
||||||
|
|
||||||
|
- Initial version
|
131
python-FontTools.spec
Normal file
131
python-FontTools.spec
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
#
|
||||||
|
# spec file
|
||||||
|
#
|
||||||
|
# Copyright (c) 2023 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
|
%if "%{flavor}" == "test"
|
||||||
|
%define psuffix -test
|
||||||
|
%bcond_without test
|
||||||
|
%else
|
||||||
|
%define psuffix %{nil}
|
||||||
|
%bcond_with test
|
||||||
|
%endif
|
||||||
|
%define skip_python2 1
|
||||||
|
%{?sle15_python_module_pythons}
|
||||||
|
Name: python-FontTools%{psuffix}
|
||||||
|
Version: 4.39.4
|
||||||
|
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
|
||||||
|
# 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}.tar.gz
|
||||||
|
BuildRequires: %{python_module devel >= 3.7}
|
||||||
|
BuildRequires: %{python_module pip}
|
||||||
|
BuildRequires: %{python_module wheel}
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: python-rpm-macros
|
||||||
|
BuildRequires: unzip
|
||||||
|
# some packages should require fonttools[ufo] but expect fs to be pulled in by default.
|
||||||
|
Requires: python-fs >= 2.2.0
|
||||||
|
Requires(post): update-alternatives
|
||||||
|
Requires(postun):update-alternatives
|
||||||
|
Recommends: python-Brotli >= 1.0.1
|
||||||
|
Recommends: python-lxml >= 4.0
|
||||||
|
Recommends: python-munkres >= 1.1.4
|
||||||
|
Recommends: python-reportlab
|
||||||
|
Recommends: python-sympy
|
||||||
|
Recommends: python-unicodedata2 >= 14.0.0
|
||||||
|
Recommends: python-zopfli >= 0.1.6
|
||||||
|
Provides: python-fonttools = %{version}-%{release}
|
||||||
|
BuildArch: noarch
|
||||||
|
%if %{with test}
|
||||||
|
BuildRequires: %{python_module Brotli >= 1.0.1}
|
||||||
|
BuildRequires: %{python_module fs >= 2.2.0}
|
||||||
|
BuildRequires: %{python_module pytest}
|
||||||
|
%endif
|
||||||
|
%if "%{python_flavor}" == "python3" || "%{python_provides}" == "python3"
|
||||||
|
Obsoletes: fonttools < %{version}-%{release}
|
||||||
|
Provides: fonttools = %{version}-%{release}
|
||||||
|
%endif
|
||||||
|
%python_subpackages
|
||||||
|
|
||||||
|
%description
|
||||||
|
FontTools is a suite of tools and libraries for manipulating fonts
|
||||||
|
written in Python.
|
||||||
|
|
||||||
|
It currently reads and writes TrueType font files, reads PostScript
|
||||||
|
Type 1 fonts, and more. It contains two command line programs to
|
||||||
|
convert TrueType fonts to an XML based format (called TTX) and back.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n fonttools-%{version}
|
||||||
|
|
||||||
|
# Remove shebang
|
||||||
|
sed -i -e '/^#!\//, 1d' Lib/fontTools/mtiLib/__init__.py
|
||||||
|
|
||||||
|
%build
|
||||||
|
%pyproject_wheel
|
||||||
|
|
||||||
|
%install
|
||||||
|
%pyproject_install
|
||||||
|
%python_clone -a %{buildroot}%{_mandir}/man1/ttx.1
|
||||||
|
%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}
|
||||||
|
|
||||||
|
%if %{with test}
|
||||||
|
%check
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
%pytest -ra
|
||||||
|
# We need these files to be installed for tests, but now we need them removed
|
||||||
|
# not to confuse %%files checks
|
||||||
|
%python_expand rm -r %{buildroot}%{$python_sitelib}
|
||||||
|
rm -r %{buildroot}%{_sysconfdir}/alternatives
|
||||||
|
rm -r %{buildroot}%{_bindir}
|
||||||
|
rm -r %{buildroot}%{_mandir}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{without test}
|
||||||
|
%post
|
||||||
|
%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
|
||||||
|
%doc README.rst NEWS.rst
|
||||||
|
%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
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
Loading…
Reference in New Issue
Block a user