fonttools 4.59.2__cp313-cp313-macosx_10_13_universal2.whl → 4.60.1__cp313-cp313-macosx_10_13_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fonttools might be problematic. Click here for more details.

Files changed (44) hide show
  1. fontTools/__init__.py +1 -1
  2. fontTools/annotations.py +30 -0
  3. fontTools/cu2qu/cu2qu.c +1057 -937
  4. fontTools/cu2qu/cu2qu.cpython-313-darwin.so +0 -0
  5. fontTools/cu2qu/cu2qu.py +19 -2
  6. fontTools/feaLib/lexer.c +8 -3
  7. fontTools/feaLib/lexer.cpython-313-darwin.so +0 -0
  8. fontTools/misc/bezierTools.c +8 -3
  9. fontTools/misc/bezierTools.cpython-313-darwin.so +0 -0
  10. fontTools/misc/enumTools.py +23 -0
  11. fontTools/misc/visitor.py +24 -16
  12. fontTools/pens/filterPen.py +218 -26
  13. fontTools/pens/momentsPen.c +8 -3
  14. fontTools/pens/momentsPen.cpython-313-darwin.so +0 -0
  15. fontTools/pens/pointPen.py +40 -6
  16. fontTools/qu2cu/qu2cu.c +20 -7
  17. fontTools/qu2cu/qu2cu.cpython-313-darwin.so +0 -0
  18. fontTools/subset/__init__.py +178 -12
  19. fontTools/ttLib/tables/_p_o_s_t.py +5 -5
  20. fontTools/ufoLib/__init__.py +278 -175
  21. fontTools/ufoLib/converters.py +14 -5
  22. fontTools/ufoLib/filenames.py +16 -6
  23. fontTools/ufoLib/glifLib.py +286 -190
  24. fontTools/ufoLib/kerning.py +32 -12
  25. fontTools/ufoLib/utils.py +41 -13
  26. fontTools/ufoLib/validators.py +121 -97
  27. fontTools/varLib/avar/__init__.py +0 -0
  28. fontTools/varLib/avar/__main__.py +72 -0
  29. fontTools/varLib/avar/build.py +79 -0
  30. fontTools/varLib/avar/map.py +108 -0
  31. fontTools/varLib/avar/plan.py +1004 -0
  32. fontTools/varLib/{avar.py → avar/unbuild.py} +70 -59
  33. fontTools/varLib/avarPlanner.py +3 -999
  34. fontTools/varLib/interpolatableHelpers.py +3 -0
  35. fontTools/varLib/iup.c +14 -5
  36. fontTools/varLib/iup.cpython-313-darwin.so +0 -0
  37. {fonttools-4.59.2.dist-info → fonttools-4.60.1.dist-info}/METADATA +41 -2
  38. {fonttools-4.59.2.dist-info → fonttools-4.60.1.dist-info}/RECORD +44 -37
  39. {fonttools-4.59.2.data → fonttools-4.60.1.data}/data/share/man/man1/ttx.1 +0 -0
  40. {fonttools-4.59.2.dist-info → fonttools-4.60.1.dist-info}/WHEEL +0 -0
  41. {fonttools-4.59.2.dist-info → fonttools-4.60.1.dist-info}/entry_points.txt +0 -0
  42. {fonttools-4.59.2.dist-info → fonttools-4.60.1.dist-info}/licenses/LICENSE +0 -0
  43. {fonttools-4.59.2.dist-info → fonttools-4.60.1.dist-info}/licenses/LICENSE.external +0 -0
  44. {fonttools-4.59.2.dist-info → fonttools-4.60.1.dist-info}/top_level.txt +0 -0
@@ -174,6 +174,9 @@ def min_cost_perfect_bipartite_matching_bruteforce(G):
174
174
  return best, best_cost
175
175
 
176
176
 
177
+ # Prefer `scipy.optimize.linear_sum_assignment` for performance.
178
+ # `Munkres` is also supported as a fallback for minimalistic systems
179
+ # where installing SciPy is not feasible.
177
180
  try:
178
181
  from scipy.optimize import linear_sum_assignment
179
182
 
fontTools/varLib/iup.c CHANGED
@@ -1,4 +1,4 @@
1
- /* Generated by Cython 3.1.3 */
1
+ /* Generated by Cython 3.1.4 */
2
2
 
3
3
  /* BEGIN: Cython Metadata
4
4
  {
@@ -26,8 +26,8 @@ END: Cython Metadata */
26
26
  #elif PY_VERSION_HEX < 0x03080000
27
27
  #error Cython requires Python 3.8+.
28
28
  #else
29
- #define __PYX_ABI_VERSION "3_1_3"
30
- #define CYTHON_HEX_VERSION 0x030103F0
29
+ #define __PYX_ABI_VERSION "3_1_4"
30
+ #define CYTHON_HEX_VERSION 0x030104F0
31
31
  #define CYTHON_FUTURE_DIVISION 1
32
32
  /* CModulePreamble */
33
33
  #include <stddef.h>
@@ -3970,8 +3970,12 @@ static PyObject *__pyx_pf_9fontTools_6varLib_3iup_iup_contour(CYTHON_UNUSED PyOb
3970
3970
  * # All deltas are None. Return 0,0 for all.
3971
3971
  * return [(0, 0)] * n
3972
3972
  */
3973
- __pyx_t_3 = (__Pyx_PyList_GET_SIZE(__pyx_v_indices) != 0);
3974
- if (unlikely(((!CYTHON_ASSUME_SAFE_MACROS) && __pyx_t_3 < 0))) __PYX_ERR(0, 104, __pyx_L1_error)
3973
+ {
3974
+ Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_indices);
3975
+ if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 104, __pyx_L1_error)
3976
+ __pyx_t_3 = (__pyx_temp != 0);
3977
+ }
3978
+
3975
3979
  __pyx_t_9 = (!__pyx_t_3);
3976
3980
  if (__pyx_t_9) {
3977
3981
 
@@ -15533,6 +15537,7 @@ static int __pyx_CommonTypesMetaclass_init(PyObject *module) {
15533
15537
  return -1;
15534
15538
  }
15535
15539
  mstate->__pyx_CommonTypesMetaclassType = __Pyx_FetchCommonTypeFromSpec(NULL, module, &__pyx_CommonTypesMetaclass_spec, bases);
15540
+ Py_DECREF(bases);
15536
15541
  if (unlikely(mstate->__pyx_CommonTypesMetaclassType == NULL)) {
15537
15542
  return -1;
15538
15543
  }
@@ -19190,6 +19195,10 @@ static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt
19190
19195
  PyCode_NewWithPosOnlyArgs
19191
19196
  #endif
19192
19197
  (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, __pyx_mstate_global->__pyx_empty_bytes);
19198
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030c00A1
19199
+ if (likely(result))
19200
+ result->_co_firsttraceable = 0;
19201
+ #endif
19193
19202
  return result;
19194
19203
  }
19195
19204
  #elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fonttools
3
- Version: 4.59.2
3
+ Version: 4.60.1
4
4
  Summary: Tools to manipulate font files
5
5
  Home-page: http://github.com/fonttools/fonttools
6
6
  Author: Just van Rossum
@@ -211,7 +211,11 @@ are required to unlock the extra features named "ufo", etc.
211
211
  for Python, which internally uses `NumPy <https://pypi.python.org/pypi/numpy>`__
212
212
  arrays and hence is very fast;
213
213
  * `munkres <https://pypi.python.org/pypi/munkres>`__: a pure-Python
214
- module that implements the Hungarian or Kuhn-Munkres algorithm.
214
+ module that implements the Hungarian or Kuhn-Munkres algorithm. Slower than
215
+ SciPy, but useful for minimalistic systems where adding SciPy is undesirable.
216
+
217
+ This ensures both performance (via SciPy) and minimal footprint (via Munkres)
218
+ are possible.
215
219
 
216
220
  To plot the results to a PDF or HTML format, you also need to install:
217
221
 
@@ -388,6 +392,41 @@ Have fun!
388
392
  Changelog
389
393
  ~~~~~~~~~
390
394
 
395
+ 4.60.1 (released 2025-09-29)
396
+ ----------------------------
397
+
398
+ - [ufoLib] Reverted accidental method name change in ``UFOReader.getKerningGroupConversionRenameMaps``
399
+ that broke compatibility with downstream projects like defcon (#3948, #3947, robotools/defcon#478).
400
+ - [ufoLib] Added test coverage for ``getKerningGroupConversionRenameMaps`` method (#3950).
401
+ - [subset] Don't try to subset BASE table; pass it through by default instead (#3949).
402
+ - [subset] Remove empty BaseRecord entries in MarkBasePos lookups (#3897, #3892).
403
+ - [subset] Add pruning for MarkLigPos and MarkMarkPos lookups (#3946).
404
+ - [subset] Remove duplicate features when subsetting (#3945).
405
+ - [Docs] Added documentation for the visitor module (#3944).
406
+
407
+ 4.60.0 (released 2025-09-17)
408
+ ----------------------------
409
+
410
+ - [pointPen] Allow ``reverseFlipped`` parameter of ``DecomposingPointPen`` to take a ``ReverseFlipped``
411
+ enum value to control whether/how to reverse contour direction of flipped components, in addition to
412
+ the existing True/False. This allows to set ``ReverseFlipped.ON_CURVE_FIRST`` to ensure that
413
+ the decomposed outline starts with an on-curve point before being reversed, for better consistency
414
+ with other segment-oriented contour transformations. The change is backward compatible, and the
415
+ default behavior hasn't changed (#3934).
416
+ - [filterPen] Added ``ContourFilterPointPen``, base pen for buffered contour operations, and
417
+ ``OnCurveStartPointPen`` filter to ensure contours start with an on-curve point (#3934).
418
+ - [cu2qu] Fixed difference in cython vs pure-python complex division by real number (#3930).
419
+ - [varLib.avar] Refactored and added some new sub-modules and scripts (#3926).
420
+ * ``varLib.avar.build`` module to build avar (and a missing fvar) binaries into a possibly empty TTFont,
421
+ * ``varLib.avar.unbuild`` module to print a .designspace snippet that would generate the same avar binary,
422
+ * ``varLib.avar.map`` module to take TTFont and do the mapping, in user/normalized space,
423
+ * ``varLib.avar.plan`` module moved from ``varLib.avarPlanner``.
424
+ The bare ``fonttools varLib.avar`` script is deprecated, in favour of ``fonttools varLib.avar.build`` (or ``unbuild``).
425
+ - [interpolatable] Clarify ``linear_sum_assignment`` backend options and minimal dependency
426
+ usage (#3927).
427
+ - [post] Speed up ``build_psNameMapping`` (#3923).
428
+ - [ufoLib] Added typing annotations to fontTools.ufoLib (#3875).
429
+
391
430
  4.59.2 (released 2025-08-27)
392
431
  ----------------------------
393
432
 
@@ -1,18 +1,19 @@
1
- fonttools-4.59.2.dist-info/RECORD,,
2
- fonttools-4.59.2.dist-info/WHEEL,sha256=YOKbiIEZep2WTRrpKV0dvEfsSeIOVH2NqduVxoKQt6I,142
3
- fonttools-4.59.2.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
4
- fonttools-4.59.2.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
5
- fonttools-4.59.2.dist-info/METADATA,sha256=Rbk8RaO8aipmJ2MbUXSeOY4fgqe2qNQ0XPMGZnaqkr0,109742
6
- fonttools-4.59.2.dist-info/licenses/LICENSE,sha256=Z4cgj4P2Wcy8IiOy_elS_6b36KymLxqKK_W8UbsbI4M,1072
7
- fonttools-4.59.2.dist-info/licenses/LICENSE.external,sha256=lKg6ruBymg8wLTSsxKzsvZ1YNm8mJCkHX-VX5KVLLmk,20022
1
+ fonttools-4.60.1.dist-info/RECORD,,
2
+ fonttools-4.60.1.dist-info/WHEEL,sha256=YOKbiIEZep2WTRrpKV0dvEfsSeIOVH2NqduVxoKQt6I,142
3
+ fonttools-4.60.1.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
4
+ fonttools-4.60.1.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
5
+ fonttools-4.60.1.dist-info/METADATA,sha256=CIZ3DxcKqkgjQVIa68ndWbeo4HP-yrkBlOLu-dmZygM,112334
6
+ fonttools-4.60.1.dist-info/licenses/LICENSE,sha256=Z4cgj4P2Wcy8IiOy_elS_6b36KymLxqKK_W8UbsbI4M,1072
7
+ fonttools-4.60.1.dist-info/licenses/LICENSE.external,sha256=lKg6ruBymg8wLTSsxKzsvZ1YNm8mJCkHX-VX5KVLLmk,20022
8
8
  fontTools/ttx.py,sha256=FxuGubujWCGJWSTrJEjoNH--25fVIPy-ZRtYy9H6iTk,17277
9
9
  fontTools/fontBuilder.py,sha256=yF2-IYl_hao-Zy_FWSI4R-HnlFpzFrz0YBGQO8zfaOs,34130
10
10
  fontTools/unicode.py,sha256=ZZ7OMmWvIyV1IL1k6ioTzaRAh3tUvm6gvK7QgFbOIHY,1237
11
- fontTools/__init__.py,sha256=w_h7ip_rhBuS_Ze4zjNfr1ay8-5fsCVqLp7_H-XUGyo,183
11
+ fontTools/__init__.py,sha256=MfqTqdwYD_P2HKtnQkjibL8iy5ln62P1VIO9tT5epww,183
12
12
  fontTools/tfmLib.py,sha256=UMbkM73JXRJVS9t2B-BJc13rSjImaWBuzCoehLwHFhs,14270
13
13
  fontTools/afmLib.py,sha256=1MagIItOzRV4vV5kKPxeDZbPJsfxLB3wdHLFkQvl0uk,13164
14
14
  fontTools/agl.py,sha256=05bm8Uq45uVWW8nPbP6xbNgmFyxQr8sWhYAiP0VSjnI,112975
15
15
  fontTools/help.py,sha256=bAjatvIhV7TJyXI7WhsxdYO4YVlhScZXu_kRtHANEPo,1125
16
+ fontTools/annotations.py,sha256=BdIIriNYDzBfgniwWFg_u71qLZnV0sCcn4-VAkXkYNM,1225
16
17
  fontTools/__main__.py,sha256=VjkGh1UD-i1zTDA1dXo1uecSs6PxHdGQ5vlCk_mCCYs,925
17
18
  fontTools/encodings/codecs.py,sha256=u50ruwz9fcRsrUrRGpR17Cr55Ovn1fvCHCKrElVumDE,4721
18
19
  fontTools/encodings/__init__.py,sha256=DJBWmoX_Haau7qlgmvWyfbhSzrX2qL636Rns7CG01pk,75
@@ -21,9 +22,9 @@ fontTools/encodings/StandardEncoding.py,sha256=Eo3AGE8FE_p-IVYYuV097KouSsF3UrXoR
21
22
  fontTools/qu2cu/benchmark.py,sha256=GMcr_4r7L6K9SmJ13itt-_XKhnKqSVUDPlXUG6IZmmM,1400
22
23
  fontTools/qu2cu/__init__.py,sha256=Jfm1JljXbt91w4gyvZn6jzEmVnhRx50sh2fDongrOsE,618
23
24
  fontTools/qu2cu/qu2cu.py,sha256=IYtpkwHdfKOXJr65Y_pJ9Lrt_MgJaISAKGMAs5ilFSM,12288
24
- fontTools/qu2cu/qu2cu.cpython-313-darwin.so,sha256=zpftqjHExQ1x5j0HZNUJvNKwN_a_nhu4OqAzb4L7vFk,314224
25
+ fontTools/qu2cu/qu2cu.cpython-313-darwin.so,sha256=SmoqttleLcMOLiipO8z8unc-KSHgPoeRkdvCURAVh90,342984
25
26
  fontTools/qu2cu/cli.py,sha256=U2rooYnVVEalGRAWGFHk-Kp6Okys8wtzdaWLjw1bngY,3714
26
- fontTools/qu2cu/qu2cu.c,sha256=B5XPXnUiMmB7iA2RXnPBr4tm1S5e1_mXqxZ3PgSEHTM,690152
27
+ fontTools/qu2cu/qu2cu.c,sha256=k-6C2e2_m_1cBuYoSiHCY1ZBcSqtZjiffLCghiJCYDM,690421
27
28
  fontTools/qu2cu/__main__.py,sha256=9FWf6SIZaRaC8SiL0LhjAWC2yIdY9N_9wlRko8m1l2Q,93
28
29
  fontTools/misc/arrayTools.py,sha256=jZk__GE-K9VViZE_H-LPPj0smWbKng-yfPE8BfGp8HI,11483
29
30
  fontTools/misc/cython.py,sha256=eyLcL2Bw-SSToYro8f44dkkYRlQfiFbhcza0afS-qHE,682
@@ -33,7 +34,7 @@ fontTools/misc/psLib.py,sha256=ioIPm5x3MHkBXF2vzNkC4iVZYobrkWcyvFhmYsjOrPY,12099
33
34
  fontTools/misc/timeTools.py,sha256=e9h5pgzL04tBDXmCv_8eRGB4boFV8GKXlS6dq3ggEpw,2234
34
35
  fontTools/misc/configTools.py,sha256=YXBE_vL2dMWCnK4oY3vtU15B79q82DtKp7h7XRqJc1Q,11188
35
36
  fontTools/misc/sstruct.py,sha256=vUODd2CKvHLtjr7yn1K94Hui_yxOPWKmlgAmBMm3KDQ,7009
36
- fontTools/misc/bezierTools.cpython-313-darwin.so,sha256=0Y6b7lg914Ki4EVIUzzchiTRoO2-vlZoOzwC6Ru6mWo,999784
37
+ fontTools/misc/bezierTools.cpython-313-darwin.so,sha256=K3YzLpjYSAwDHhK76CzM3sdhRc-XaR_JYyKubzyNiro,1090624
37
38
  fontTools/misc/classifyTools.py,sha256=zcg3EM4GOerBW9c063ljaLllgeeZ772EpFZjp9CdgLI,5613
38
39
  fontTools/misc/symfont.py,sha256=x5ZwqK9Ik9orG6qSftgVGygBFE1wTSngrMK2We1Z5AM,6977
39
40
  fontTools/misc/roundTools.py,sha256=1RSXZ0gyi1qW42tz6WSBMJD1FlPdtgqKfWixVN9bd78,3173
@@ -42,6 +43,7 @@ fontTools/misc/filenames.py,sha256=MMCO3xjk1pcDc-baobcKd8IdoFPt-bcGqu8t8HUGAkI,8
42
43
  fontTools/misc/treeTools.py,sha256=tLWkwyDHeZUPVOGNnJeD4Pn7x2bQeZetwJKaEAW2J2M,1269
43
44
  fontTools/misc/psOperators.py,sha256=9SLl5PPBulLo0Xxg_dqlJMitNIBdiGKdkXhOWsNSYZE,15700
44
45
  fontTools/misc/py23.py,sha256=aPVCEUz_deggwLBCeTSsccX6QgJavZqvdVtuhpzrPvA,2238
46
+ fontTools/misc/enumTools.py,sha256=YQZW-d2ES9KFFkAXOUMIBbRUk6v_3BT6Q7lXE1ufhxA,502
45
47
  fontTools/misc/__init__.py,sha256=DJBWmoX_Haau7qlgmvWyfbhSzrX2qL636Rns7CG01pk,75
46
48
  fontTools/misc/macRes.py,sha256=GT_pnfPw2NCvvOF86nHLAnOtZ6SMHqEuLntaplXzvHM,8579
47
49
  fontTools/misc/encodingTools.py,sha256=hCv5PFfnXQJVCZA8Wyn1vr3vzLBbUuEPtGk5CzWM9RY,2073
@@ -49,13 +51,13 @@ fontTools/misc/testTools.py,sha256=3vj_KllUQVEiVFbS0SzTmeuKv44-L-disI1dZ4XhOfw,7
49
51
  fontTools/misc/lazyTools.py,sha256=BC6MmF-OzJ3GrBD8TYDZ-VCSN4UOx0pN0r3oF4GSoiw,1020
50
52
  fontTools/misc/loggingTools.py,sha256=NOYROsLK5TzONK5967OGdVonNyXC6kP_CmPr7M2PW_c,19933
51
53
  fontTools/misc/textTools.py,sha256=wNjH5zl1v9qNfmTl4BL52IO2IG1H5xY3o_pslqPPRjc,3483
52
- fontTools/misc/visitor.py,sha256=c9YQs14bXfL1SmqwoAhEGCvXlmyZIKR5_Vr4n7iWaRs,5610
54
+ fontTools/misc/visitor.py,sha256=zwBAVfZ3MTsrbhNFj03pSSjNRyT6oGkare-kfWkN5ns,5754
53
55
  fontTools/misc/macCreatorType.py,sha256=Je9jtqUr7EPbpH3QxlVl3pizoQ-1AOPMBIctHIMTM3k,1593
54
56
  fontTools/misc/psCharStrings.py,sha256=Zn8mr7NRTfEJbnaXbOnSarrFBPcvPM0AupAxF2C80LY,43468
55
57
  fontTools/misc/transform.py,sha256=OR8dPsAw87z77gkZQMq00iUkDWLIxYv-12XiKH1-erk,15798
56
58
  fontTools/misc/etree.py,sha256=ZzJc6TvAS579deAgZLVDvTY_HeTm-ZsKJ5s3LYhZSSY,16304
57
59
  fontTools/misc/xmlReader.py,sha256=igut4_d13RT4WarliqVvuuPybO1uSXVeoBOeW4j0_e4,6580
58
- fontTools/misc/bezierTools.c,sha256=3nxe835mJj7k7uaUMxOjVYx3aGKfKB2LwXNrgv4CboQ,1821567
60
+ fontTools/misc/bezierTools.c,sha256=mFo2nrmrIq11WJ8Tj_cxR4M6U3tx75RVPcU-ODkHrbg,1821732
59
61
  fontTools/misc/dictTools.py,sha256=VxjarsGJuk_wa3z29FSCtKZNCFfXtMBiNEu0RPAlpDk,2417
60
62
  fontTools/misc/bezierTools.py,sha256=OmR3pzCGExNvZyTPrByH7gQHpAJsYOl1cmvfYQIVfQA,45038
61
63
  fontTools/misc/eexec.py,sha256=GNn2OCRvO1HbbIeDPxk9i0glO7cux_AQaoVMXhBR8y8,3331
@@ -77,17 +79,17 @@ fontTools/misc/filesystem/_zipfs.py,sha256=i3qolbkDRntB_oL3v79KuEgfVlVojecPBnBA0
77
79
  fontTools/misc/plistlib/__init__.py,sha256=1HfhHPt3As6u2eRSlFfl6XdnXv_ypQImeQdWIw6wK7Y,21113
78
80
  fontTools/misc/plistlib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
81
  fontTools/cu2qu/benchmark.py,sha256=wasPJmf8q9k9UHjpHChC3WQAGbBAyHN9PvJzXvWC0Fw,1296
80
- fontTools/cu2qu/cu2qu.c,sha256=kzR0ORLRQ9fjB3jcFUyKfZKSqDc583s_MPL5xK52DoA,633389
82
+ fontTools/cu2qu/cu2qu.c,sha256=-7JwWBSeJ3I4vIs6ZaSVHzfBf46MSx25lG05NRqA6Zg,637967
81
83
  fontTools/cu2qu/__init__.py,sha256=Cuc7Uglb0nSgaraTxXY5J8bReznH5wApW0uakN7MycY,618
82
84
  fontTools/cu2qu/ufo.py,sha256=qZR70uWdCia19Ff8GLn5NeItscvvn69DegjDZVF4eNI,11794
83
85
  fontTools/cu2qu/cli.py,sha256=MbAQnOpZwrUFe_tjAP3Tgf6uLdOgHlONUcPNeTXwH0Y,6076
84
- fontTools/cu2qu/cu2qu.cpython-313-darwin.so,sha256=Sbn3UUg--mwXwTuCTd_vaD1p1GDhKqJ4S3BFdX1LDr8,308288
86
+ fontTools/cu2qu/cu2qu.cpython-313-darwin.so,sha256=ODEDlC_VYTPo3gOXcxlW-qGfgwe29Tnr_mFbVlyksJw,319656
85
87
  fontTools/cu2qu/errors.py,sha256=PyJNMy8lHDtKpfFkc0nkM8F4jNLZAC4lPQCN1Km4bpg,2441
86
- fontTools/cu2qu/cu2qu.py,sha256=fCoJWoS-v5m_GhCa1o8B5_FG0Vg8czm9Yu3vq5ENkn0,17361
88
+ fontTools/cu2qu/cu2qu.py,sha256=6LTe1ZI-jxW8y79s_UFjbkeFoFleIekTLm2jAE-uqGQ,17986
87
89
  fontTools/cu2qu/__main__.py,sha256=kTUI-jczsHeelULLlory74QEeFjZWp9zigCc7PrdVQY,92
88
90
  fontTools/subset/cff.py,sha256=rqMRJOlX5FacV1LW8aDlVOglgEM87TkMA9bdsYenask,6145
89
91
  fontTools/subset/util.py,sha256=9SXFYb5Ef9Z58uXmYPCQil8B2i3Q7aFB_1fFDFSppdU,754
90
- fontTools/subset/__init__.py,sha256=Qmhbtr07h4a16dHWUP46jF8Nr4gd4njICcNVBFyYaac,137742
92
+ fontTools/subset/__init__.py,sha256=R9VoZ2QWhqENHC5Ct1wyhLhEU-xo4mUXwCWl6EZGgwQ,143263
91
93
  fontTools/subset/svg.py,sha256=8dLBzQlnIt4_fOKEFDAVlKTucdHvcbCcyG9-a6UBZZ0,9384
92
94
  fontTools/subset/__main__.py,sha256=bhtfP2SqP4k799pxtksFgnC-XGNQDr3LcO4lc8T5e5g,95
93
95
  fontTools/voltLib/error.py,sha256=phcQOQj-xOspCXu9hBJQRhSOBDzxHRgZd3fWQOFNJzw,395
@@ -114,30 +116,35 @@ fontTools/svgLib/path/parser.py,sha256=8T6okMstvgM9ufb2zBcwSzsuuoYbqfnUjNYgb6kjz
114
116
  fontTools/svgLib/path/arc.py,sha256=-f5Ym6q4tDWQ76sMNSTUTWgL_7AfgXojvBhtBS7bWwQ,5812
115
117
  fontTools/varLib/interpolatableTestContourOrder.py,sha256=mHJ9Ry7Rm7H3zHDwEUQEtEIDseiUzOxjg4MveW_FSiU,3021
116
118
  fontTools/varLib/iup.py,sha256=mKq_GRWuUg4yTmw2V32nu0v2r-SzzN7xS7rIbV0mYuc,14984
117
- fontTools/varLib/iup.c,sha256=VXbB1GdUChay7RctnzCGfl59zz_AnQHiMeQm0tE2iEk,827506
119
+ fontTools/varLib/iup.c,sha256=I7snrACi_wloZDL67Fypk-7Dff5pxJhaVmluAXBUW_4,827723
118
120
  fontTools/varLib/plot.py,sha256=NoSZkJ5ndxNcDvJIvd5pQ9_jX6X1oM1K2G_tR4sdPVs,7494
119
121
  fontTools/varLib/cff.py,sha256=EVgaQcoROIrYQsRuftnxFuGGldEPYbrIh5yBckylJC4,22901
120
122
  fontTools/varLib/models.py,sha256=sj_ENljh_qcMbfYzRIOlRgHq6tFOmL02Wv6WO8uofis,22398
121
- fontTools/varLib/avar.py,sha256=Ye_u0HHznaPQaTzufNFKDj_v9o_LxOKJoa_eTK1D1F0,9647
122
123
  fontTools/varLib/__init__.py,sha256=SeAVSol0qvmw4Io5hvuVWxwx_onKadqr_1eXwjNUGkk,57322
123
124
  fontTools/varLib/mutator.py,sha256=kzXiLFxRLgU2pcHzOzh9u0n0KkO3DuBk06xZ_RPhWz8,19804
124
125
  fontTools/varLib/interpolatablePlot.py,sha256=w393P6mGLRhYkIjSxMww3qyoYxAUZzCXlmPBbI_84C0,44375
125
126
  fontTools/varLib/builder.py,sha256=mSKOCcnnw-WzmZs15FayoqCDh77Ts7o9Tre9psh8CUc,6609
126
127
  fontTools/varLib/stat.py,sha256=XuNKKZxGlBrl4OGFDAwVXhpBwJi23U3BdHmNTKoJnvE,4811
127
128
  fontTools/varLib/hvar.py,sha256=1IvL5BneTkg8jJYicH0TSQViB6D0vBEesLdlfqoLBX4,3695
128
- fontTools/varLib/interpolatableHelpers.py,sha256=lXd7kwfIVl-4opd-vxCDhf48RnJ7IQKv_uuFQM_6vaU,11496
129
+ fontTools/varLib/interpolatableHelpers.py,sha256=cTFgTqDjggSCqNfTM77__5b9Sja_g7xWWMiB-pXDx84,11672
129
130
  fontTools/varLib/interpolatableTestStartingPoint.py,sha256=K6OYKBspim6BXc91pfLTbGLyi5XZukfMuBc6hRpENG8,4296
130
131
  fontTools/varLib/varStore.py,sha256=2QA9SDI6jQyQ_zq82OOwa3FBkfl-ksaSo1KGmVFpa9Q,24069
131
132
  fontTools/varLib/interpolatable.py,sha256=Bhlq_LhEZ-sXfLNY8aFEChFrsKuT2kzmnuMfG5qi0v4,45221
132
- fontTools/varLib/avarPlanner.py,sha256=uLMGsL6cBbEMq5YItwABG_vXlXV3bxquM93WGDJ1brA,27358
133
+ fontTools/varLib/avarPlanner.py,sha256=CabG5xB57FMdwmN1acpVMvyOucVPxCdRdJSK2gu7gb4,109
133
134
  fontTools/varLib/mvar.py,sha256=LTV77vH_3Ecg_qKBO5xQzjLOlJir_ppEr7mPVZRgad8,2449
134
135
  fontTools/varLib/errors.py,sha256=dMo8eGj76I7H4hrBEiNbYrGs2J1K1SwdsUyTHpkVOrQ,6934
135
- fontTools/varLib/iup.cpython-313-darwin.so,sha256=7UITUEkjcI1UJK_YIBHzzhiMjO09ewZuex6m0L0VGu4,398784
136
+ fontTools/varLib/iup.cpython-313-darwin.so,sha256=lwU7l7sqL4bjxFEs_cfHoVSArmV6uq74U2FkYfCNgjg,432376
136
137
  fontTools/varLib/__main__.py,sha256=wbdYC5bPjWCxA0I4SKcLO88gl-UMtsYS8MxdW9ySTkY,95
137
138
  fontTools/varLib/featureVars.py,sha256=kp4gPjKyyGRu7yBWxgd1N4OkKnU9V45QwiWSHs6OWd0,26180
138
139
  fontTools/varLib/interpolate_layout.py,sha256=22VjGZuV2YiAe2MpdTf0xPVz1x2G84bcOL0vOeBpGQM,3689
139
140
  fontTools/varLib/merger.py,sha256=E59oli4AwqWZ-FgnuStMSBvsB-FHe-55esXTYUqGeJ8,60802
140
141
  fontTools/varLib/multiVarStore.py,sha256=eQEuWNY01YF5zDpy1UwNtvOYyD6c0FLxpH-QFpX1i78,8305
142
+ fontTools/varLib/avar/build.py,sha256=YSMsRMjGkNW2zhKn29HgovNNG-jgiFSsK7zYH4un2Ws,2087
143
+ fontTools/varLib/avar/plan.py,sha256=qDKZjQq6OfeXBr3T3DZnrmauyMm5ek0rm5YVosAO_UA,27354
144
+ fontTools/varLib/avar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
+ fontTools/varLib/avar/map.py,sha256=UBeElT40SHXvJrQ7SflH5MNYKTTom7RLHwq2varb_oE,2867
146
+ fontTools/varLib/avar/__main__.py,sha256=ew1fJpg81GpYbdkrp4I7ntWdbhkDeg5fNn1SrpF254k,1770
147
+ fontTools/varLib/avar/unbuild.py,sha256=h3qb0JBN7SngijPrwjTjGEjueeENlhPYY9FyN02FLEk,10467
141
148
  fontTools/varLib/instancer/solver.py,sha256=uMePwX0BVT5F94kUvDglsI4_F0nEH67F7RFuJ6tQwQ0,11002
142
149
  fontTools/varLib/instancer/__init__.py,sha256=fHd864WfEDyFH3zXGldT34aw3524143dZPIDqA95V5A,75554
143
150
  fontTools/varLib/instancer/names.py,sha256=IPRqel_M8zVU0jl30WsfgufxUm9PBBQDQCY3VHapeHc,14950
@@ -149,17 +156,17 @@ fontTools/pens/qtPen.py,sha256=QRNLIry2rQl4E_7ct2tu10-qLHneQp0XV7FfaZ-tcL8,634
149
156
  fontTools/pens/qu2cuPen.py,sha256=pRST43-rUpzlOP83Z_Rr0IvIQBCx6RWI6nnNaitQcLk,3985
150
157
  fontTools/pens/cocoaPen.py,sha256=IJRQcAxRuVOTQ90bB_Bgjnmz7px_ST5uLF9CW-Y0KPY,612
151
158
  fontTools/pens/t2CharStringPen.py,sha256=GgGklb5XsCer0w37ujgRLRXx-EuzdFsyCYuzCx4n-Qs,2931
152
- fontTools/pens/pointPen.py,sha256=kc-jhMC-UgXZzKz7r6UL36kosYAQQEJ0xjhm3SaX59Y,22730
159
+ fontTools/pens/pointPen.py,sha256=oeE_uabVCNJ1Lpk5Hn3eBmafaao3QqKMjK6FAy0hKBo,24197
153
160
  fontTools/pens/transformPen.py,sha256=s0kUyQdnemUwHvYr2SFboFmh4WY1S9OHBL8L4PJKRwE,4056
154
161
  fontTools/pens/reportLabPen.py,sha256=kpfMfOLXt2vOQ5smPsU82ft80FpCPWJzQLl7ENOH8Ew,2066
155
- fontTools/pens/filterPen.py,sha256=kKSvLmWCW4MkCF0ciJhjTj-LdUGOQL593PFkpm5PhP8,7790
162
+ fontTools/pens/filterPen.py,sha256=REgspXaaSvF3XUwqe40abe3X_E7-WbBP13IqLUUBLCw,14703
156
163
  fontTools/pens/areaPen.py,sha256=Y1WkmqzcC4z_bpGAR0IZUKrtHFtxKUQBmr5-64_zCOk,1472
157
164
  fontTools/pens/teePen.py,sha256=P1ARJOCMJ6MxK-PB1yZ-ips3CUfnadWYnQ_do6VIasQ,1290
158
165
  fontTools/pens/basePen.py,sha256=eIGSKrKm6w4LLHuG6XJoQZ3eObtoKV5P6aF4gT4sk7U,17073
159
166
  fontTools/pens/pointInsidePen.py,sha256=noEUvBQIeAheDMJwzvvfnEiKhmwbS1i0RQE9jik6Gl4,6355
160
167
  fontTools/pens/cu2quPen.py,sha256=gMUwFUsm_-WzBlDjTMQiNnEuI2heomGeOJBX81zYXPo,13007
161
- fontTools/pens/momentsPen.cpython-313-darwin.so,sha256=-QFD1qgSfJ_CLFJlwQ_FFmupAaZjQ2vDS85niTMhz5M,274312
162
- fontTools/pens/momentsPen.c,sha256=W8GcF3k0tHBeKwIQTgGbq1G430-S01ExqJ40fhIsKWY,565145
168
+ fontTools/pens/momentsPen.cpython-313-darwin.so,sha256=dKsCWQ9T1vyFswqXHxRO6u-TQg3PyaEdaixg5xdH-PQ,281824
169
+ fontTools/pens/momentsPen.c,sha256=nXlaxy9cejy1MWW6NCDck71BKCfnc_E25BrmYXXPC18,565310
163
170
  fontTools/pens/perimeterPen.py,sha256=lr6NzrIWxi4TXBJPbcJsKzqABWfQeil2Bgm9BgUD3N4,2153
164
171
  fontTools/pens/__init__.py,sha256=DJBWmoX_Haau7qlgmvWyfbhSzrX2qL636Rns7CG01pk,75
165
172
  fontTools/pens/ttGlyphPen.py,sha256=yLtB-E5pTQR59OKVYySttWBu1xC2vR8ezSaRhIMtVwg,11870
@@ -184,15 +191,15 @@ fontTools/otlLib/optimize/__init__.py,sha256=UUQRpNkHU2RczCRt-Gz7sEiYE9AQq9BHLXZ
184
191
  fontTools/otlLib/optimize/gpos.py,sha256=htOgSP743DZDUKF3eWAeJ-kdqNYOnpGXdlV-rbEXJ1A,17668
185
192
  fontTools/otlLib/optimize/__main__.py,sha256=BvP472kA9KxBb9RMyyehPNevAfpmgW9MfdazkUiAO3M,104
186
193
  fontTools/ufoLib/pointPen.py,sha256=CuREcm3IYteZNBDAd_ZRAV4XqBsy0s07jdWc4en9r-8,244
187
- fontTools/ufoLib/kerning.py,sha256=QF5n7eXwBfc2TJ_XGUkLAnxcgq82vdLOpJEN2Lh_7UY,4233
188
- fontTools/ufoLib/filenames.py,sha256=o8Kuj0aOSlb8_hoLfJ2D91n9S5JZazFcTjiQYfqQ5ic,10418
189
- fontTools/ufoLib/validators.py,sha256=EtVfe3fNZAS7q9Yd07S0pF1x_lonFxpYoqLpjiNIwL8,30813
190
- fontTools/ufoLib/__init__.py,sha256=Q_yTPiqbbgFO50ephzOkE0AQITEu0IC24jvIv1dhxds,94339
191
- fontTools/ufoLib/glifLib.py,sha256=cUNEGB1xnJyiY4BqXkPjlkXQbB4wjjN4gYPnXpgyxmU,72699
194
+ fontTools/ufoLib/kerning.py,sha256=o1BeJDVZ_CZZPzmOPwRKTqglYmhA_JZPjwq2JLgdQIk,4836
195
+ fontTools/ufoLib/filenames.py,sha256=hoyUhzzQMDaeckT7UdreISANq4-gLR2jGyk5yAyYtOA,10654
196
+ fontTools/ufoLib/validators.py,sha256=MWBqcLThGyYpst61QothA_BSlc6jGVhPvFiay-pobCY,32387
197
+ fontTools/ufoLib/__init__.py,sha256=nKG8gu6NEvqGJoZ781IARoQ7ii4LoWfMMvX3Yf5TsVw,98981
198
+ fontTools/ufoLib/glifLib.py,sha256=Y-xzf4qbTIOl3-dVLXvu3iFCIDtAEu_klId2_UNngWs,77170
192
199
  fontTools/ufoLib/plistlib.py,sha256=jzMGOGvHO6XvS-IO8hS04ur7r8-v2dnVq-vKMoJZvqQ,1510
193
- fontTools/ufoLib/utils.py,sha256=mN5GuY21fsr-9N1I3laaSm3IUhILTBlNySfM52p26gQ,1995
200
+ fontTools/ufoLib/utils.py,sha256=nZoJJqHXQSL-LXYE58_WHA97XlbTkEbYkdH3GL32SmQ,3192
194
201
  fontTools/ufoLib/etree.py,sha256=T3sjLTgjMAq6VyYRicWPaMIVBJ2YSuwZxV6Vc5yZtQI,231
195
- fontTools/ufoLib/converters.py,sha256=9j4BQ7EXVfWiVoB7OZCzRGsRJWi9G9w_27iFuiJNphw,13044
202
+ fontTools/ufoLib/converters.py,sha256=YnBKr8kmyjwLcq8LdD46ubGOgyL9Pxt9avlvZn9anKI,13444
196
203
  fontTools/ufoLib/errors.py,sha256=9f8l5NaFAj3BZPa6Bbqt06FL4afffLuMzy4nPf-eOlE,845
197
204
  fontTools/unicodedata/OTTags.py,sha256=wOPpbMsNcp_gdvPFeITtgVMnTN8TJSNAsVEdu_nuPXE,1196
198
205
  fontTools/unicodedata/__init__.py,sha256=ht5cIwvgKSonvRADzijXzBp6uZjhTvFobBwaba4ogaM,9033
@@ -207,7 +214,7 @@ fontTools/designspaceLib/statNames.py,sha256=gXGKWVr1ju2_oL-R_DkyoZ3GlI7mfLORovp
207
214
  fontTools/designspaceLib/__main__.py,sha256=xhtYXo1T1tsykhQDD0tcconSNYgWL5hoTBORpVDUYrc,103
208
215
  fontTools/feaLib/error.py,sha256=Bz_5tNcNVcY7_nrAmFlQNhQldtqZWd8WUGQ2E3PWhZo,648
209
216
  fontTools/feaLib/variableScalar.py,sha256=f6sOg9cfFJRI3fw04uRohDeFux0xnZanaPT_lcxAVOw,4200
210
- fontTools/feaLib/lexer.c,sha256=v7h5YRtiEXt1bb5WhmELGLc9z1ZZrbwJOLQO0TkTONY,754120
217
+ fontTools/feaLib/lexer.c,sha256=UaY5Hy0WYsGF9UMJnA2tMx0k5DwYA72N2IKxpRsAcCc,754285
211
218
  fontTools/feaLib/__init__.py,sha256=jlIru2ghxvb1HhC5Je2BCXjFJmFQlYKpruorPoz3BvQ,213
212
219
  fontTools/feaLib/lookupDebugInfo.py,sha256=gVRr5-APWfT_a5-25hRuawSVX8fEvXVsOSLWkH91T2w,304
213
220
  fontTools/feaLib/builder.py,sha256=jIJVmaLwrNGFBO7mQDNpchiGBiv70nNpZ4LVRVaaIUM,73757
@@ -215,7 +222,7 @@ fontTools/feaLib/parser.py,sha256=E8Ey_Ft2TUbbleRJkCQ9Nmjn1VZ4SCt3UtLACcZqr2s,99
215
222
  fontTools/feaLib/location.py,sha256=JXzHqGV56EHdcq823AwA5oaK05hf_1ySWpScbo3zGC0,234
216
223
  fontTools/feaLib/lexer.py,sha256=emyMPmRoqNZkzxnJyI6JRCCtXrbCOFofwa9O6ABGLiw,11121
217
224
  fontTools/feaLib/ast.py,sha256=48Y6vpSD_wYfucWyh_bQtzf2AQFX-pOwBvsxdcpVDz0,74158
218
- fontTools/feaLib/lexer.cpython-313-darwin.so,sha256=DmbSrJ9gK14J3OWDGSk_fcd1Cj3H9Z7crEneF8biKvg,347120
225
+ fontTools/feaLib/lexer.cpython-313-darwin.so,sha256=qU3AqEOvGWuPA-DiPt_0GGdDsNhKl8oiO3HdtzNHUpo,375288
219
226
  fontTools/feaLib/__main__.py,sha256=Df2PA6LXwna98lSXiL7R4as_ZEdWCIk3egSM5w7GpvM,2240
220
227
  fontTools/ttLib/sfnt.py,sha256=wemkfz93dlAoyo-VVzmg5OLoSSyMFQNzBTTP3Kem-xk,22792
221
228
  fontTools/ttLib/macUtils.py,sha256=lj3oeFpyjV7ko_JqnluneITmAtlc119J-vwTTg2s73A,1737
@@ -252,7 +259,7 @@ fontTools/ttLib/tables/grUtils.py,sha256=hcOJ5oJPOd2uJWnWA7qwR7AfL37YZ5zUT7g8o5B
252
259
  fontTools/ttLib/tables/otTables.py,sha256=2U04ot_2ITlBZx2QtpnIOtBGftPFs9ZX2FWfz4vz1G0,96987
253
260
  fontTools/ttLib/tables/_c_v_a_r.py,sha256=35ayk2kX1pcLGwyx0y4I1l-r7LHgdKv0ulVx8oBPteI,3527
254
261
  fontTools/ttLib/tables/otConverters.py,sha256=ihE_WMSKAKSaBbMvnFYDj2eMxf7PvRMMa8zGwfoYuYc,74202
255
- fontTools/ttLib/tables/_p_o_s_t.py,sha256=hsGOLA10ZwaGSGpvQgeelnj1vj_kTUbiBnskgk2i35w,11701
262
+ fontTools/ttLib/tables/_p_o_s_t.py,sha256=9siVXSisWGdTfj_mC1E9dUDz9Jdm1i3QzI-l3i3VWME,11671
256
263
  fontTools/ttLib/tables/_m_e_t_a.py,sha256=A0CZPEAVxYrpytjXUGQJCTddwG8KrvUVbtBe3A1MqgI,3913
257
264
  fontTools/ttLib/tables/C_B_D_T_.py,sha256=5LNdc8FMir1kC5fvp5iHwWfeuE-RuqdxAArFXaqPjQ0,3646
258
265
  fontTools/ttLib/tables/_c_m_a_p.py,sha256=r8-bB_E0EQh5h4TGX5nTnDnwTUtXuRB3iuqEDoN_IOM,62202
@@ -343,4 +350,4 @@ fontTools/colorLib/builder.py,sha256=kmO7OuudQQb3fEOS7aLzgTDVjqS9i2xIQmk9p1uBe8A
343
350
  fontTools/colorLib/geometry.py,sha256=3ScySrR2YDJa7d5K5_xM5Yt1-3NCV-ry8ikYA5VwVbI,5518
344
351
  fontTools/colorLib/errors.py,sha256=CsaviiRxxrpgVX4blm7KCyK8553ljwL44xkJOeC5U7U,41
345
352
  fontTools/colorLib/unbuilder.py,sha256=iW-E5I39WsV82K3NgCO4Cjzwm1WqzGrtypHt8epwbHM,2142
346
- fonttools-4.59.2.data/data/share/man/man1/ttx.1,sha256=cLbm_pOOj1C76T2QXvDxzwDj9gk-GTd5RztvTMsouFw,5377
353
+ fonttools-4.60.1.data/data/share/man/man1/ttx.1,sha256=cLbm_pOOj1C76T2QXvDxzwDj9gk-GTd5RztvTMsouFw,5377