Open Bug 1977718 Opened 3 months ago

[wpt-sync] Sync PR 53799 - Bump fonttools from 4.51.0 to 4.59.0 in /tools

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(Not tracked)

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 53799 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/53799
Details from upstream follow.

dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> wrote:

Bump fonttools from 4.51.0 to 4.59.0 in /tools

Bumps fonttools from 4.51.0 to 4.59.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/fonttools/fonttools/releases">fonttools's releases</a>.</em></p>
<blockquote>
<h2>4.59.0</h2>
<ul>
<li>Removed hard-dependency on pyfilesystem2 (<code>fs</code> package) from <code>fonttools[ufo]</code> extra. This is replaced by the <code>fontTools.misc.filesystem</code> package, a stdlib-only, drop-in replacement for the subset of the pyfilesystem2's API used by <code>fontTools.ufoLib</code>. The latter should continue to work with the upstream <code>fs</code> (we even test with/without). However, clients who wish to continue using <code>fs</code> can do so by depending on it directly instead of via the <code>fonttools[ufo]</code> extra (<a href="https://redirect.github.com/fonttools/fonttools/issues/3885">#3885</a>, <a href="https://redirect.github.com/fonttools/fonttools/issues/3620">#3620</a>).</li>
<li>[xmlWriter] Replace illegal XML characters (e.g. control or non-characters) with "?" when dumping to ttx (<a href="https://redirect.github.com/fonttools/fonttools/issues/3868">#3868</a>, <a href="https://redirect.github.com/fonttools/fonttools/issues/71">#71</a>).</li>
<li>[varLib.hvar] Fixed vertical metrics fields copy/pasta error (<a href="https://redirect.github.com/fonttools/fonttools/issues/3884">#3884</a>).</li>
<li>Micro optimizations in ttLib and sstruct modules (<a href="https://redirect.github.com/fonttools/fonttools/issues/3878">#3878</a>, <a href="https://redirect.github.com/fonttools/fonttools/issues/3879">#3879</a>).</li>
<li>[unicodedata] Add Garay script to RTL_SCRIPTS (<a href="https://redirect.github.com/fonttools/fonttools/issues/3882">#3882</a>).</li>
<li>[roundingPen] Remove unreliable kwarg usage. Argument names aren’t consistent among point pens’ <code>.addComponent()</code> implementations, in particular <code>baseGlyphName</code> vs <code>glyphName</code> (<a href="https://redirect.github.com/fonttools/fonttools/issues/3880">#3880</a>).</li>
</ul>
<h2>4.58.5</h2>
<ul>
<li>[feaLib] Don't try to combine ligature & multisub rules (<a href="https://redirect.github.com/fonttools/fonttools/issues/3874">#3874</a>).</li>
<li>[feaLib/ast] Use weakref proxies to avoid cycles in visitor (<a href="https://redirect.github.com/fonttools/fonttools/issues/3873">#3873</a>).</li>
<li>[varLib.instancer] Fixed instancing CFF2 fonts where VarData contains more than 64k items (<a href="https://redirect.github.com/fonttools/fonttools/issues/3858">#3858</a>).</li>
</ul>
<h2>4.58.4</h2>
<ul>
<li>[feaLib] Fixed iterable check for Python 3.13.4 and newer (<a href="https://redirect.github.com/fonttools/fonttools/issues/3854">#3854</a>, <a href="https://redirect.github.com/fonttools/fonttools/issues/3855">#3855</a>).</li>
</ul>
<h2>4.58.3</h2>
<ul>
<li>[feaLib] Fixed iterable check for Python 3.13.4 and newer (<a href="https://redirect.github.com/fonttools/fonttools/issues/3854">#3854</a>, <a href="https://redirect.github.com/fonttools/fonttools/issues/3855">#3855</a>).</li>
</ul>
<h2>4.58.2</h2>
<ul>
<li>[ttLib.reorderGlyphs] Handle CFF2 when reordering glyphs (<a href="https://redirect.github.com/fonttools/fonttools/pull/3852">fonttools/fonttools#3852</a>)</li>
<li>[subset] Copy name IDs in use before scrapping or scrambling them for webfonts (<a href="https://redirect.github.com/fonttools/fonttools/pull/3853">fonttools/fonttools#3853</a>)</li>
</ul>
<h2>4.58.1</h2>
<ul>
<li>[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 (<a href="https://redirect.github.com/fonttools/fonttools/issues/3831">#3831</a>).</li>
<li>[feaLib] Improve single substitution promotion to multiple/ligature substitutions, fixing a few bugs as well (<a href="https://redirect.github.com/fonttools/fonttools/issues/3849">#3849</a>).</li>
<li>[loggingTools] Make <code>Timer._time</code> a static method that doesn't take self, makes it easier to override (<a href="https://redirect.github.com/fonttools/fonttools/issues/3836">#3836</a>).</li>
<li>[featureVars] Use <code>None</code> for empty ConditionSet, which translates to a null offset in the compiled table (<a href="https://redirect.github.com/fonttools/fonttools/issues/3850">#3850</a>).</li>
<li>[feaLib] Raise an error on conflicting ligature substitution rules instead of silently taking the last one (<a href="https://redirect.github.com/fonttools/fonttools/issues/3835">#3835</a>).</li>
<li>Add typing annotations to T2CharStringPen (<a href="https://redirect.github.com/fonttools/fonttools/issues/3837">#3837</a>).</li>
<li>[feaLib] Add single substitutions that were promoted to multiple or ligature substitutions to <code>aalt</code> feature (<a href="https://redirect.github.com/fonttools/fonttools/issues/3847">#3847</a>).</li>
<li>[featureVars] Create a default <code>LangSys</code> in a <code>ScriptRecord</code> if missing when adding feature variations to existing GSUB later in the build (<a href="https://redirect.github.com/fonttools/fonttools/issues/3838">#3838</a>).</li>
<li>[symfont] Added a <code>main()</code>.</li>
<li>[cffLib.specializer] Fix rmoveto merging when blends used (<a href="https://redirect.github.com/fonttools/fonttools/issues/3839">#3839</a>, <a href="https://redirect.github.com/fonttools/fonttools/issues/3840">#3840</a>).</li>
<li>[pyftmerge] Add support for cmap format 14 in the merge tool (<a href="https://redirect.github.com/fonttools/fonttools/issues/3830">#3830</a>).</li>
<li>[varLib.instancer/cff2] Fix vsindex of Private dicts when instantiating (<a href="https://redirect.github.com/fonttools/fonttools/issues/3828">#3828</a>, <a href="https://redirect.github.com/fonttools/fonttools/issues/3232">#3232</a>).</li>
<li>Update text file read to use UTF-8 with optional BOM so it works with e.g. Windows Notepad.exe (<a href="https://redirect.github.com/fonttools/fonttools/issues/3824">#3824</a>).</li>
<li>[varLib] Ensure that instances only reuse name ID 2 or 17 if they are at the default location across all axes (<a href="https://redirect.github.com/fonttools/fonttools/issues/3831">#3831</a>).</li>
<li>[varLib] Create a dflt LangSys in a ScriptRecord when adding variations later, to fix an avoidable crash in an edge case (<a href="https://redirect.github.com/fonttools/fonttools/issues/3838">#3838</a>).</li>
</ul>
<h2>4.58.0</h2>
<ul>
<li>Drop Python 3.8, require 3.9+ (<a href="https://redirect.github.com/fonttools/fonttools/issues/3819">#3819</a>)</li>
<li>[HVAR, VVAR] Prune unused regions when using a direct mapping (<a href="https://redirect.github.com/fonttools/fonttools/issues/3797">#3797</a>)</li>
<li>[Docs] Improvements to ufoLib documentation (<a href="https://redirect.github.com/fonttools/fonttools/issues/3721">#3721</a>)</li>
<li>[Docs] Improvements to varLib documentation (<a href="https://redirect.github.com/fonttools/fonttools/issues/3727">#3727</a>)</li>
<li>[Docs] Improvements to Pens and pen-module documentation (<a href="https://redirect.github.com/fonttools/fonttools/issues/3724">#3724</a>)</li>
<li>[Docs] Miscellany updates to docs (misc modules and smaller modules) (<a href="https://redirect.github.com/fonttools/fonttools/issues/3730">#3730</a>)</li>
<li>[subset] Close codepoints over BiDi mirror variants. (<a href="https://redirect.github.com/fonttools/fonttools/issues/3801">#3801</a>)</li>
<li>[feaLib] Fix serializing ChainContextPosStatement and ChainContextSubstStatement in some rare cases (<a href="https://redirect.github.com/fonttools/fonttools/issues/3788">#3788</a>)</li>
<li>[designspaceLib] Clarify user expectations for getStatNames (<a href="https://redirect.github.com/fonttools/fonttools/issues/2892">#2892</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/fonttools/fonttools/blob/main/NEWS.rst">fonttools's changelog</a>.</em></p>
<blockquote>
<h2>4.59.0 (released 2025-07-16)</h2>
<ul>
<li>Removed hard-dependency on pyfilesystem2 (<code>fs</code> package) from <code>fonttools[ufo]</code> extra.
This is replaced by the <code>fontTools.misc.filesystem</code> package, a stdlib-only, drop-in
replacement for the subset of the pyfilesystem2's API used by <code>fontTools.ufoLib</code>.
The latter should continue to work with the upstream <code>fs</code> (we even test with/without).
Clients who wish to continue using <code>fs</code> can do so by depending on it directly instead
of via the <code>fonttools[ufo]</code> extra (<a href="https://redirect.github.com/fonttools/fonttools/issues/3885">#3885</a>, <a href="https://redirect.github.com/fonttools/fonttools/issues/3620">#3620</a>).</li>
<li>[xmlWriter] Replace illegal XML characters (e.g. control or non-characters) with "?"
when dumping to ttx (<a href="https://redirect.github.com/fonttools/fonttools/issues/3868">#3868</a>, <a href="https://redirect.github.com/fonttools/fonttools/issues/71">#71</a>).</li>
<li>[varLib.hvar] Fixed vertical metrics fields copy/pasta error (<a href="https://redirect.github.com/fonttools/fonttools/issues/3884">#3884</a>).</li>
<li>Micro optimizations in ttLib and sstruct modules (<a href="https://redirect.github.com/fonttools/fonttools/issues/3878">#3878</a>, <a href="https://redirect.github.com/fonttools/fonttools/issues/3879">#3879</a>).</li>
<li>[unicodedata] Add Garay script to RTL_SCRIPTS (<a href="https://redirect.github.com/fonttools/fonttools/issues/3882">#3882</a>).</li>
<li>[roundingPen] Remove unreliable kwarg usage. Argument names aren’t consistent among
point pens’ <code>.addComponent()</code> implementations, in particular <code>baseGlyphName</code>
vs <code>glyphName</code> (<a href="https://redirect.github.com/fonttools/fonttools/issues/3880">#3880</a>).</li>
</ul>
<h2>4.58.5 (released 2025-07-03)</h2>
<ul>
<li>[feaLib] Don't try to combine ligature & multisub rules (<a href="https://redirect.github.com/fonttools/fonttools/issues/3874">#3874</a>).</li>
<li>[feaLib/ast] Use weakref proxies to avoid cycles in visitor (<a href="https://redirect.github.com/fonttools/fonttools/issues/3873">#3873</a>).</li>
<li>[varLib.instancer] Fixed instancing CFF2 fonts where VarData contains more than 64k items (<a href="https://redirect.github.com/fonttools/fonttools/issues/3858">#3858</a>).</li>
</ul>
<h2>4.58.4 (released 2025-06-13)</h2>
<ul>
<li>[feaLib] Allow for empty MarkFilter & MarkAttach sets (<a href="https://redirect.github.com/fonttools/fonttools/issues/3856">#3856</a>).</li>
</ul>
<h2>4.58.3 (released 2025-06-13)</h2>
<ul>
<li>[feaLib] Fixed iterable check for Python 3.13.4 and newer (<a href="https://redirect.github.com/fonttools/fonttools/issues/3854">#3854</a>, <a href="https://redirect.github.com/fonttools/fonttools/issues/3855">#3855</a>).</li>
</ul>
<h2>4.58.2 (released 2025-06-06)</h2>
<ul>
<li>[ttLib.reorderGlyphs] Handle CFF2 when reordering glyphs (<a href="https://redirect.github.com/fonttools/fonttools/issues/3852">#3852</a>)</li>
<li>[subset] Copy name IDs in use before scrapping or scrambling them for webfonts (<a href="https://redirect.github.com/fonttools/fonttools/issues/3853">#3853</a>)</li>
</ul>
<h2>4.58.1 (released 2025-05-28)</h2>
<ul>
<li>[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 (<a href="https://redirect.github.com/fonttools/fonttools/issues/3831">#3831</a>).</li>
<li>[feaLib] Improve single substitution promotion to multiple/ligature substitutions, fixing a few bugs as well (<a href="https://redirect.github.com/fonttools/fonttools/issues/3849">#3849</a>).</li>
<li>[loggingTools] Make <code>Timer._time</code> a static method that doesn't take self, makes it easier to override (<a href="https://redirect.github.com/fonttools/fonttools/issues/3836">#3836</a>).</li>
<li>[featureVars] Use <code>None</code> for empty ConditionSet, which translates to a null offset in the compiled table (<a href="https://redirect.github.com/fonttools/fonttools/issues/3850">#3850</a>).</li>
<li>[feaLib] Raise an error on conflicting ligature substitution rules instead of silently taking the last one (<a href="https://redirect.github.com/fonttools/fonttools/issues/3835">#3835</a>).</li>
<li>Add typing annotations to T2CharStringPen (<a href="https://redirect.github.com/fonttools/fonttools/issues/3837">#3837</a>).</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/fonttools/fonttools/commit/d12eea7867a9fc9912995fa1df12d6281746b376"><code>d12eea7</code></a> Release 4.59.0</li>
<li><a href="https://github.com/fonttools/fonttools/commit/64c55fda08c23acac7fb79330e630a76d55544f2"><code>64c55fd</code></a> Update NEWS.rst</li>
<li><a href="https://github.com/fonttools/fonttools/commit/6580a4283d4adc51a41f6aaf44ee398869ebfcd8"><code>6580a42</code></a> [LICENSE.external] Include pyfilesystem2's original copyright and license notice</li>
<li><a href="https://github.com/fonttools/fonttools/commit/e687881d7b6a142ac4ce54f104862ccd924492a0"><code>e687881</code></a> Merge pull request <a href="https://redirect.github.com/fonttools/fonttools/issues/3885">#3885</a> from fonttools/drop-fs</li>
<li><a href="https://github.com/fonttools/fonttools/commit/83ab1bd9c59fd93262c7850baa8267a4efadcce8"><code>83ab1bd</code></a> [filesystem] suggest migration work for client code in the docstring</li>
<li><a href="https://github.com/fonttools/fonttools/commit/201c95c78f65bd973577df1515bb5c4d0f281de5"><code>201c95c</code></a> [osfs] implement movedir(create=False)</li>
<li><a href="https://github.com/fonttools/fonttools/commit/c45509e24b12c557d9a826dc7ce31c94936a2139"><code>c45509e</code></a> sort imports with ruff check --select I --fix</li>
<li><a href="https://github.com/fonttools/fonttools/commit/1f0bcdecda689b2d0cedb44241090f710f387cb4"><code>1f0bcde</code></a> allow clients to do 'from fontTools.misc import filesystem as fs'...</li>
<li><a href="https://github.com/fonttools/fonttools/commit/a96ce9bcb924ead19225c5fa920b9a4f5c85038b"><code>a96ce9b</code></a> [UFOZ_test] exercise reading GLIF off of .ufoz</li>
<li><a href="https://github.com/fonttools/fonttools/commit/6b050da2622ae995ef51e0d5dba81dc01e0449e3"><code>6b050da</code></a> [Tests/ufoLib] test getFileModificationTime</li>
<li>Additional commits viewable in <a href="https://github.com/fonttools/fonttools/compare/4.51.0...4.59.0">compare view</a></li>
</ul>
</details>
<br />

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

You need to log in before you can comment on or make changes to this bug.