Skip to content

Releases: googlefonts/ufo2ft

v2.33.1

28 Jul 17:15
v2.33.1
fbd1c5b
Compare
Choose a tag to compare
  • Added convertCubics=True to compileInterpolatableTTFs/compileVariableTTF methods, to allow disabling cu2qu altogether (similar to the existing option that was already there for compileTTF for statics).
  • OutlineTTFCompiler: ensure that only quadratic curves are present in TrueType glyphs if glyphDataFormat=0 was not explicitly set to 1 (#769).

v2.33.0

28 Jul 15:49
v2.33.0
1ff885d
Compare
Choose a tag to compare

v2.32.0

12 Jun 15:41
v2.32.0
7807ef5
Compare
Choose a tag to compare
  • Raise error when multiple glyphs claim the same Unicode codepoint. When expanding color layers to glyphs, ensure any codepoint is stripped to prevent unintentional clashes (#739).
  • Use fontTools.cu2qu instead of standalone cu2qu module, no changes, just one less dependency (#756).
  • Added compile option for static/variable TTF outputs to dropImpliedOnCurves to omit on-curve points that are halfway between two consecutive off-curve points, slightly reducing glyf table size with no visible differences (#753).
  • [constants] Updated Indic / USE script lists (#755).
  • Require fonttools >= 4.40.0

v2.31.1

20 Apr 15:58
v2.31.1
0d2688c
Compare
Choose a tag to compare
  • [featureWriter.ast] Have iterClassDefinitions search not just top-level but inside feature and lookup blocks as well (#732).
  • Added autoUseMyMetrics=True compile option (for TrueType output only) to allow disabling the automatic setting of USE_MY_METRICS glyf component flags, which is not needed for fonts without hinted metrics (#741).
  • [kernFeatureWriter] Only use exported glyphs when generating mark filtering sets (#740).

v2.31.0

21 Mar 12:00
v2.31.0
fca66fe
Compare
Choose a tag to compare
  • Dropped support for Python 3.7 which reached EOL. We now require Python >= 3.8.
  • Take into account extra substitutions found in DesignSpace rules when classifying glyphs by various unicode properties in feature writers (#731).
  • Added support for compiling TrueType instructions and flags stored in the UFO's public.truetype.* lib keys (#654).
  • Automatically compute COLRv1 ClipBoxes if none are explicitly provided. This is enabled by default for static builds only. You can set colrAutoClipBoxes=True for interpolatable/variable builds if safe to do so (#728).
  • Improved "no default source" error (#677).
  • Warn about mis-cased # Automatic Code insertion marker comments; also warn if there are no insertion markers but kerning.plist is non empty and there are manual kern/dist features in the FEA code (#719).
  • Respect openTypeNameRecords overrides for the predefined name IDs (#727).
  • Reorder class definitions in feature writers such that they appear before the lookups that use them (#725).
  • Renamed dottedCircleFilter module to dottedCirlce, was wrongly named; old kept for backward compat (#716).
  • [kernFeatureWriter] Avoid overwriting classDefs (#705).
    Register kern lookups for all defined languages (#711).
    Correctly split mark and base kerning pairs (#713).
    Don't skip over spacing marks when kerning (#720).
  • Fixed FEA include dir detection when in current dir (#689)
  • Automatically decompose components when 2x2 transforms differ (#698)
  • [kernFeatureWriter] Split kerning by script, not horizontal direction, which should be faster to compile and produce smaller GPOS. The old kernFeatureWriter is still kept in a separate module (#679, #636, #697).

v2.31.0b3

17 Mar 18:53
v2.31.0b3
0f123a7
Compare
Choose a tag to compare
v2.31.0b3 Pre-release
Pre-release
  • Dropped support for Python 3.7 which reached EOL. We now require Python >= 3.8.
  • Added support for compiling TrueType instructions and flags stored in the UFO's public.truetype.* lib keys (#654).
  • Automatically compute COLRv1 ClipBoxes if none are explicitly provided. This is enabled by default for static builds only. You can set colrAutoClipBoxes=True for interpolatable/variable builds if safe to do so (#728).
  • Improved "no default source" error (#677).
  • Warn about mis-cased # Automatic Code insertion marker comments; also warn if there are no insertion markers but kerning.plist is non empty and there are manual kern/dist features in the FEA code (#719).
  • Respect openTypeNameRecords overrides for the predefined name IDs (#727).
  • Reorder class definitions in feature writers such that they appear before the lookups that use them (#725).
  • Renamed dottedCircleFilter module to dottedCirlce, was wrongly named; old kept for backward compat (#716).
  • [kernFeatureWriter] Avoid overwriting classDefs (#705).
    Register kern lookups for all defined languages (#711).
    Correctly split mark and base kerning pairs (#713).
    Don't skip over spacing marks when kerning (#720).
  • Fixed FEA include dir detection when in current dir (#689)
  • Automatically decompose components when 2x2 transforms differ (#698)
  • Copy old KernFeatureWriter from ufo2ft 2.30.0 into separate module (#697)

v2.31.0b2

09 Dec 10:57
dd738cd
Compare
Choose a tag to compare
v2.31.0b2 Pre-release
Pre-release

Make it possible to kern Hiragana and Katakana against each other (#683)

v2.31.0b1

06 Dec 16:01
e0b810b
Compare
Choose a tag to compare
v2.31.0b1 Pre-release
Pre-release
  • Split kerning by script, not direction (#679). This is a rework of #636 and should now properly split up kerning into per-script lookups without losing any. The major upside is that multi-script fonts with a lot of kerning will compile faster and smaller, because lookups will overflow less often and become denser.
  • As a side-effect, kerning will now also be generated such that the shaper will actually apply it when the designer did not explicitly declare an appropriate languagesystem in the font's features. Before, kerning for Greek glyphs was effectively dropped unless the designer declared languagesystem grek dflt;.
  • Another side-effect is that kerning between some common glyphs like increment and asterisk will now always be applied, where before due to circumstances it might have been stuck in e.g. the LTR instead of the Common lookup and therefore not applied if the script wasn't set correctly.

v2.30.0

26 Nov 12:00
v2.30.0
1c33aac
Compare
Choose a tag to compare
  • Improve mark feature writer for characters that can be used in multiple scripts and some of them require mark feature, while others require abvm/blwm features (#579).

v2.29.0

28 Oct 21:53
236096c
Compare
Choose a tag to compare
  • Added feaIncludeDir option to allow clients such as fontmake to override the default FEA include directory used for parsing UFO features.fea (#637, googlefonts/glyphsLib#797).
  • Fixed ModuleNotFoundError('ufoLib2') when using dottedCircleFilter.py with defcon backend (#644, #650).
  • [featureWriters] In __main__, load ufoLib2.Font using its open method, as ufoLib2.Font(path) no longer works (#661).
  • [FlattenComponentsFilter] Improve error message when referenced
    components are missing from the glyph set (#669).
  • [postProcessor] Avoid unconditionally reloading TTFont in PostProcessor, unless required for renaming glyphs to final production names or when dropping all glyph names (#485, #671).