+
Skip to content

Releases: fonttools/fonttools

4.58.5

03 Jul 14:34
Compare
Choose a tag to compare
  • [feaLib] Don't try to combine ligature & multisub rules (#3874).
  • [feaLib/ast] Use weakref proxies to avoid cycles in visitor (#3873).
  • [varLib.instancer] Fixed instancing CFF2 fonts where VarData contains more than 64k items (#3858).

4.58.4

13 Jun 17:46
Compare
Choose a tag to compare
  • [feaLib] Fixed iterable check for Python 3.13.4 and newer (#3854, #3855).

4.58.3

13 Jun 11:51
Compare
Choose a tag to compare
  • [feaLib] Fixed iterable check for Python 3.13.4 and newer (#3854, #3855).

4.58.2

06 Jun 14:31
Compare
Choose a tag to compare
  • [ttLib.reorderGlyphs] Handle CFF2 when reordering glyphs (#3852)
  • [subset] Copy name IDs in use before scrapping or scrambling them for webfonts (#3853)

4.58.1

28 May 16:12
Compare
Choose a tag to compare
  • [varLib] Make sure that fvar named instances only reuse name ID 2 or 17 if they are at the default location across all axes, to match OT spec requirement (#3831).
  • [feaLib] Improve single substitution promotion to multiple/ligature substitutions, fixing a few bugs as well (#3849).
  • [loggingTools] Make Timer._time a static method that doesn't take self, makes it easier to override (#3836).
  • [featureVars] Use None for empty ConditionSet, which translates to a null offset in the compiled table (#3850).
  • [feaLib] Raise an error on conflicting ligature substitution rules instead of silently taking the last one (#3835).
  • Add typing annotations to T2CharStringPen (#3837).
  • [feaLib] Add single substitutions that were promoted to multiple or ligature substitutions to aalt feature (#3847).
  • [featureVars] Create a default LangSys in a ScriptRecord if missing when adding feature variations to existing GSUB later in the build (#3838).
  • [symfont] Added a main().
  • [cffLib.specializer] Fix rmoveto merging when blends used (#3839, #3840).
  • [pyftmerge] Add support for cmap format 14 in the merge tool (#3830).
  • [varLib.instancer/cff2] Fix vsindex of Private dicts when instantiating (#3828, #3232).
  • Update text file read to use UTF-8 with optional BOM so it works with e.g. Windows Notepad.exe (#3824).
  • [varLib] Ensure that instances only reuse name ID 2 or 17 if they are at the default location across all axes (#3831).
  • [varLib] Create a dflt LangSys in a ScriptRecord when adding variations later, to fix an avoidable crash in an edge case (#3838).

4.58.0

10 May 17:20
Compare
Choose a tag to compare
  • Drop Python 3.8, require 3.9+ (#3819)
  • [HVAR, VVAR] Prune unused regions when using a direct mapping (#3797)
  • [Docs] Improvements to ufoLib documentation (#3721)
  • [Docs] Improvements to varLib documentation (#3727)
  • [Docs] Improvements to Pens and pen-module documentation (#3724)
  • [Docs] Miscellany updates to docs (misc modules and smaller modules) (#3730)
  • [subset] Close codepoints over BiDi mirror variants. (#3801)
  • [feaLib] Fix serializing ChainContextPosStatement and ChainContextSubstStatement in some rare cases (#3788)
  • [designspaceLib] Clarify user expectations for getStatNames (#2892)
  • [GVAR] Add support for new GVAR table (#3728)
  • [TSI0, TSI5] Derive number of entries to decompile from data length (#2477)
  • [ttLib] Fix AttributeError when reporting table overflow (#3808)
  • [ttLib] Apply rounding more often in getCoordinates (#3798)
  • [ttLib] Ignore component bounds if empty (#3799)
  • [ttLib] Change the separator for duplicate glyph names from "#" to "." (#3809)
  • [feaLib] Support subtable breaks in CursivePos, MarkBasePos, MarkToLigPos and MarkToMarkPos lookups (#3800, #3807)
  • [feaLib] If the same lookup has single substitutions and ligature substitutions, upgrade single substitutions to ligature substitutions with one input glyph (#3805)
  • [feaLib] Correctly handle <NULL> in single pos lookups (#3803)
  • [feaLib] Remove duplicates from class pair pos classes instead of raising an error (#3804)
  • [feaLib] Support creating extension lookups using useExtenion lookup flag
    instead of silently ignoring it (#3811)
  • [STAT] Add typing for the simpler STAT arguments (#3812)
  • [otlLib.builder] Add future import for annotations (#3814)
  • [cffLib] Fix reading supplement encoding (#3813)
  • [voltLib] Add some missing functionality and fixes to voltLib and VoltToFea, making the conversion to feature files more robust. Add also fonttools voltLib command line tool to compile VOLT sources directly (doing an intermediate fea conversion internally) (#3818)
  • [pens] Add some PointPen annotations (#3820)

4.57.0

03 Apr 11:08
Compare
Choose a tag to compare
  • [ttLib.__main__] Add --no-recalc-timestamp flag (#3771)
  • [ttLib.__main__] Add -b (recalcBBoxes=False) flag (#3772)
  • [cmap] Speed up glyphOrder loading from cmap (#3774)
  • [ttLib.__main__] Improvements around the -t flag (#3776)
  • [Debg] Fix parsing from XML; add roundtrip tests (#3781)
  • [fealib] Support *Base.MinMax tables (#3783, #3786)
  • [config] Add OPTIMIZE_FONT_SPEED (#3784)
  • [varLib.hvar] New module to add HVAR table to the font (#3780)
  • [otlLib.optimize] Fix crash when the provided TTF does not contain a GPOS (#3794)

4.56.0

07 Feb 13:22
Compare
Choose a tag to compare
  • [varStore] Sort the input todo list with the same sorting key used for the opimizer's output (#3767).
  • [otData] Fix DeviceTable's DeltaValue repeat value which caused a crash after importing from XML and then compiling a GPOS containing Device tables (#3758).
  • [feaLib] Make FeatureLibError pickleable, so client can e.g. use feaLib to can compile features in parallel with multiprocessing (#3762).
  • [varLib/gvar] Removed workaround for old, long-fixed macOS bug about composite glyphs with all zero deltas (#1381, #1788).
  • [Docs] Updated ttLib documentation, beefed up TTFont and TTGlyphSet explanations (#3720).

4.55.8

31 Jan 09:43
Compare
Choose a tag to compare
  • [MetaTools] Fixed bug in buildUCD.py script whereby the first non-header line of some UCD text file was being skipped. This affected in particular the U+00B7 (MIDDLE DOT) entry of ScriptExtensions.txt (#3756).

4.55.7

28 Jan 13:36
Compare
Choose a tag to compare
  • Shorten the changelog included in PyPI package description to accommodate maximum length limit imposed by Azure DevOps. No actual code changes since v4.55.6 (#3754).
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载