robotools / fontParts

The replacement for RoboFab
MIT License
133 stars 44 forks source link

Update fonttools to 4.38.0 #673

Closed pyup-bot closed 1 year ago

pyup-bot commented 1 year ago

This PR updates FontTools[unicode,ufo,lxml] from 4.37.1 to 4.38.0.

Changelog ### 4.38.0 ``` ---------------------------- - [varLib.instancer] Added support for L4 instancing, i.e. moving the default value of an axis while keeping it variable. Thanks Behdad! (2728, 2861). It's now also possible to restrict an axis min/max values beyond the current default value, e.g. a font wght has min=100, def=400, max=900 and you want a partial VF that only varies between 500 and 700, you can now do that. You can either specify two min/max values (wght=500:700), and the new default will be set to either the minimum or maximum, depending on which one is closer to the current default (e.g. 500 in this case). Or you can specify three values (e.g. wght=500:600:700) to specify the new default value explicitly. - [otlLib/featureVars] Set a few Count values so one doesn't need to compile the font to update them (2860). - [varLib.models] Make extrapolation work for 2-master models as well where one master is at the default location (2843, 2846). Add optional extrapolate=False to normalizeLocation() (2847, 2849). - [varLib.cff] Fixed sub-optimal packing of CFF2 deltas by no longer rounding them to integer (2838). - [scaleUpem] Calculate numShorts in VarData after scale; handle CFF hintmasks (2840). ``` ### 4.37.4 ``` ---------------------------- - [subset] Keep nameIDs used by CPAL palette entry labels (2837). - [varLib] Avoid negative hmtx values when creating font from variable CFF2 font (2827). - [instancer] Don't prune stat.ElidedFallbackNameID (2828). - [unicodedata] Update Scripts/Blocks to Unicode 15.0 (2833). ``` ### 4.37.3 ``` ---------------------------- - Fix arguments in calls to (glyf) glyph.draw() and drawPoints(), whereby offset wasn't correctly passed down; this fix also exposed a second bug, where lsb and tsb were not set (2824, 2825, adobe-type-tools/afdko1560). ``` ### 4.37.2 ``` ---------------------------- - [subset] Keep CPAL table and don't attempt to prune unused color indices if OT-SVG table is present even if COLR table was subsetted away; OT-SVG may be referencing the CPAL table; for now we assume that's the case (2814, 2815). - [varLib.instancer] Downgrade GPOS/GSUB version if there are no more FeatureVariations after instancing (2812). - [subset] Added ``--no-lazy`` to optionally load fonts eagerly (mostly to ease debugging of table lazy loading, no practical effects) (2807). - [varLib] Avoid building empty COLR.DeltaSetIndexMap with only identity mappings (2803). - [feaLib] Allow multiple value record types (by promoting to the most general format) within the same PairPos subtable; e.g. this allows variable and non variable kerning rules to share the same subtable. This also fixes a bug whereby some kerning pairs would become unreachable while shapiong because of premature subtable splitting (2772, 2776). - [feaLib] Speed up ``VarScalar`` by caching models for recurring master locations (2798). - [feaLib] Optionally cythonize ``feaLib.lexer``, speeds up parsing FEA a bit (2799). - [designspaceLib] Avoid crash when handling unbounded rule conditions (2797). - [post] Don't crash if ``post`` legacy format 1 is malformed/improperly used (2786) - [gvar] Don't be "lazy" (load all glyph variations up front) when TTFont.lazy=False (2771). - [TTFont] Added ``normalizeLocation`` method to normalize a location dict from the font's defined axes space (also known as "user space") into the normalized (-1..+1) space. It applies ``avar`` mapping if the font contains an ``avar`` table (2789). - [TTVarGlyphSet] Support drawing glyph instances from CFF2 variable glyph set (2784). - [fontBuilder] Do not error when building cmap if there are zero code points (2785). - [varLib.plot] Added ability to plot a variation model and set of accompaning master values corresponding to the model's master locations into a pyplot figure (2767). - [Snippets] Added ``statShape.py`` script to draw statistical shape of a glyph as an ellips (requires pycairo) (baecd88). - [TTVarGlyphSet] implement drawPoints natively, avoiding going through SegmentToPointPen (2778). - [TTVarGlyphSet] Fixed bug whereby drawing a composite glyph multiple times, its components would shif; needed an extra copy (2774). ```
Links - PyPI: https://pypi.org/project/fonttools - Changelog: https://pyup.io/changelogs/fonttools/ - Repo: http://github.com/fonttools/fonttools