fonttools 4.58.4__cp310-cp310-macosx_10_9_universal2.whl → 4.59.0__cp310-cp310-macosx_10_9_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 (57) hide show
  1. fontTools/__init__.py +1 -1
  2. fontTools/cu2qu/cu2qu.cpython-310-darwin.so +0 -0
  3. fontTools/feaLib/ast.py +2 -1
  4. fontTools/feaLib/builder.py +3 -2
  5. fontTools/feaLib/lexer.cpython-310-darwin.so +0 -0
  6. fontTools/merge/__init__.py +1 -1
  7. fontTools/misc/bezierTools.cpython-310-darwin.so +0 -0
  8. fontTools/misc/filesystem/__init__.py +68 -0
  9. fontTools/misc/filesystem/_base.py +134 -0
  10. fontTools/misc/filesystem/_copy.py +45 -0
  11. fontTools/misc/filesystem/_errors.py +54 -0
  12. fontTools/misc/filesystem/_info.py +75 -0
  13. fontTools/misc/filesystem/_osfs.py +164 -0
  14. fontTools/misc/filesystem/_path.py +67 -0
  15. fontTools/misc/filesystem/_subfs.py +92 -0
  16. fontTools/misc/filesystem/_tempfs.py +34 -0
  17. fontTools/misc/filesystem/_tools.py +34 -0
  18. fontTools/misc/filesystem/_walk.py +55 -0
  19. fontTools/misc/filesystem/_zipfs.py +204 -0
  20. fontTools/misc/sstruct.py +2 -6
  21. fontTools/misc/visitor.py +8 -0
  22. fontTools/misc/xmlWriter.py +28 -1
  23. fontTools/otlLib/builder.py +30 -0
  24. fontTools/pens/momentsPen.cpython-310-darwin.so +0 -0
  25. fontTools/pens/roundingPen.py +2 -2
  26. fontTools/qu2cu/qu2cu.cpython-310-darwin.so +0 -0
  27. fontTools/subset/__init__.py +11 -11
  28. fontTools/ttLib/sfnt.py +2 -3
  29. fontTools/ttLib/tables/S__i_l_f.py +2 -2
  30. fontTools/ttLib/tables/T_S_I__1.py +2 -5
  31. fontTools/ttLib/tables/T_S_I__5.py +2 -2
  32. fontTools/ttLib/tables/_c_m_a_p.py +1 -1
  33. fontTools/ttLib/tables/_c_v_t.py +1 -2
  34. fontTools/ttLib/tables/_g_l_y_f.py +9 -10
  35. fontTools/ttLib/tables/_h_d_m_x.py +4 -4
  36. fontTools/ttLib/tables/_l_o_c_a.py +2 -2
  37. fontTools/ttLib/tables/_p_o_s_t.py +3 -4
  38. fontTools/ttLib/tables/otBase.py +2 -4
  39. fontTools/ttLib/tables/otTables.py +7 -12
  40. fontTools/ttLib/tables/sbixStrike.py +3 -3
  41. fontTools/ttLib/ttFont.py +7 -16
  42. fontTools/ttLib/woff2.py +10 -13
  43. fontTools/ufoLib/__init__.py +20 -25
  44. fontTools/ufoLib/glifLib.py +12 -17
  45. fontTools/ufoLib/validators.py +2 -4
  46. fontTools/unicodedata/__init__.py +2 -0
  47. fontTools/varLib/hvar.py +1 -1
  48. fontTools/varLib/instancer/__init__.py +33 -25
  49. fontTools/varLib/iup.cpython-310-darwin.so +0 -0
  50. {fonttools-4.58.4.dist-info → fonttools-4.59.0.dist-info}/METADATA +26 -3
  51. {fonttools-4.58.4.dist-info → fonttools-4.59.0.dist-info}/RECORD +57 -45
  52. {fonttools-4.58.4.dist-info → fonttools-4.59.0.dist-info}/licenses/LICENSE.external +29 -0
  53. {fonttools-4.58.4.data → fonttools-4.59.0.data}/data/share/man/man1/ttx.1 +0 -0
  54. {fonttools-4.58.4.dist-info → fonttools-4.59.0.dist-info}/WHEEL +0 -0
  55. {fonttools-4.58.4.dist-info → fonttools-4.59.0.dist-info}/entry_points.txt +0 -0
  56. {fonttools-4.58.4.dist-info → fonttools-4.59.0.dist-info}/licenses/LICENSE +0 -0
  57. {fonttools-4.58.4.dist-info → fonttools-4.59.0.dist-info}/top_level.txt +0 -0
@@ -723,9 +723,7 @@ def instantiateCFF2(
723
723
  minor = varDataCursor[major]
724
724
  varDataCursor[major] += 1
725
725
 
726
- varIdx = (major << 16) + minor
727
-
728
- defaultValue += round(defaultDeltas[varIdx])
726
+ defaultValue += round(defaultDeltas[major][minor])
729
727
  newDefaults.append(defaultValue)
730
728
 
731
729
  varData = varStore.VarData[major]
@@ -781,7 +779,9 @@ def instantiateCFF2(
781
779
  storeBlendsToVarStore(value + [count])
782
780
 
783
781
  # Instantiate VarStore
784
- defaultDeltas = instantiateItemVariationStore(varStore, fvarAxes, axisLimits)
782
+ defaultDeltas = instantiateItemVariationStore(
783
+ varStore, fvarAxes, axisLimits, hierarchical=True
784
+ )
785
785
 
786
786
  # Read back new charstring blends from the instantiated VarStore
787
787
  varDataCursor = [0] * len(varStore.VarData)
@@ -839,18 +839,13 @@ def instantiateCFF2(
839
839
  varData.Item = []
840
840
  varData.ItemCount = 0
841
841
 
842
- # Remove vsindex commands that are no longer needed, collect those that are.
843
- usedVsindex = set()
844
- for commands in allCommands:
845
- if any(isinstance(arg, list) for command in commands for arg in command[1]):
846
- vsindex = 0
847
- for command in commands:
848
- if command[0] == "vsindex":
849
- vsindex = command[1][0]
850
- continue
851
- if any(isinstance(arg, list) for arg in command[1]):
852
- usedVsindex.add(vsindex)
853
- else:
842
+ # Collect surviving vsindexes
843
+ usedVsindex = set(
844
+ i for i in range(len(varStore.VarData)) if varStore.VarData[i].VarRegionCount
845
+ )
846
+ # Remove vsindex commands that are no longer needed
847
+ for commands, private in zip(allCommands, allCommandPrivates):
848
+ if not any(isinstance(arg, list) for command in commands for arg in command[1]):
854
849
  commands[:] = [command for command in commands if command[0] != "vsindex"]
855
850
 
856
851
  # Remove unused VarData and update vsindex values
@@ -863,10 +858,14 @@ def instantiateCFF2(
863
858
  for command in commands:
864
859
  if command[0] == "vsindex":
865
860
  command[1][0] = vsindexMapping[command[1][0]]
861
+ for private in privateDicts:
862
+ if hasattr(private, "vsindex"):
863
+ private.vsindex = vsindexMapping[private.vsindex]
866
864
 
867
865
  # Remove initial vsindex commands that are implied
868
- for commands in allCommands:
869
- if commands and commands[0] == ("vsindex", [0]):
866
+ for commands, private in zip(allCommands, allCommandPrivates):
867
+ vsindex = getattr(private, "vsindex", 0)
868
+ if commands and commands[0] == ("vsindex", [vsindex]):
870
869
  commands.pop(0)
871
870
 
872
871
  # Ship the charstrings!
@@ -1247,7 +1246,9 @@ class _TupleVarStoreAdapter(object):
1247
1246
  return itemVarStore
1248
1247
 
1249
1248
 
1250
- def instantiateItemVariationStore(itemVarStore, fvarAxes, axisLimits):
1249
+ def instantiateItemVariationStore(
1250
+ itemVarStore, fvarAxes, axisLimits, hierarchical=False
1251
+ ):
1251
1252
  """Compute deltas at partial location, and update varStore in-place.
1252
1253
 
1253
1254
  Remove regions in which all axes were instanced, or fall outside the new axis
@@ -1279,12 +1280,19 @@ def instantiateItemVariationStore(itemVarStore, fvarAxes, axisLimits):
1279
1280
  assert itemVarStore.VarDataCount == newItemVarStore.VarDataCount
1280
1281
  itemVarStore.VarData = newItemVarStore.VarData
1281
1282
 
1282
- defaultDeltas = {
1283
- ((major << 16) + minor): delta
1284
- for major, deltas in enumerate(defaultDeltaArray)
1285
- for minor, delta in enumerate(deltas)
1286
- }
1287
- defaultDeltas[itemVarStore.NO_VARIATION_INDEX] = 0
1283
+ if not hierarchical:
1284
+ defaultDeltas = {
1285
+ ((major << 16) + minor): delta
1286
+ for major, deltas in enumerate(defaultDeltaArray)
1287
+ for minor, delta in enumerate(deltas)
1288
+ }
1289
+ defaultDeltas[itemVarStore.NO_VARIATION_INDEX] = 0
1290
+ else:
1291
+ defaultDeltas = {0xFFFF: {0xFFFF: 0}} # NO_VARIATION_INDEX
1292
+ for major, deltas in enumerate(defaultDeltaArray):
1293
+ defaultDeltasForMajor = defaultDeltas.setdefault(major, {})
1294
+ for minor, delta in enumerate(deltas):
1295
+ defaultDeltasForMajor[minor] = delta
1288
1296
  return defaultDeltas
1289
1297
 
1290
1298
 
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fonttools
3
- Version: 4.58.4
3
+ Version: 4.59.0
4
4
  Summary: Tools to manipulate font files
5
5
  Home-page: http://github.com/fonttools/fonttools
6
6
  Author: Just van Rossum
@@ -31,7 +31,6 @@ Description-Content-Type: text/x-rst
31
31
  License-File: LICENSE
32
32
  License-File: LICENSE.external
33
33
  Provides-Extra: ufo
34
- Requires-Dist: fs<3,>=2.2.0; extra == "ufo"
35
34
  Provides-Extra: lxml
36
35
  Requires-Dist: lxml>=4.0; extra == "lxml"
37
36
  Provides-Extra: woff
@@ -57,7 +56,6 @@ Requires-Dist: skia-pathops>=0.5.0; extra == "pathops"
57
56
  Provides-Extra: repacker
58
57
  Requires-Dist: uharfbuzz>=0.23.0; extra == "repacker"
59
58
  Provides-Extra: all
60
- Requires-Dist: fs<3,>=2.2.0; extra == "all"
61
59
  Requires-Dist: lxml>=4.0; extra == "all"
62
60
  Requires-Dist: brotli>=1.0.1; platform_python_implementation == "CPython" and extra == "all"
63
61
  Requires-Dist: brotlicffi>=0.8.0; platform_python_implementation != "CPython" and extra == "all"
@@ -388,6 +386,31 @@ Have fun!
388
386
  Changelog
389
387
  ~~~~~~~~~
390
388
 
389
+ 4.59.0 (released 2025-07-16)
390
+ ----------------------------
391
+
392
+ - Removed hard-dependency on pyfilesystem2 (``fs`` package) from ``fonttools[ufo]`` extra.
393
+ This is replaced by the `fontTools.misc.filesystem` package, a stdlib-only, drop-in
394
+ replacement for the subset of the pyfilesystem2's API used by ``fontTools.ufoLib``.
395
+ The latter should continue to work with the upstream ``fs`` (we even test with/without).
396
+ Clients who wish to continue using ``fs`` can do so by depending on it directly instead
397
+ of via the ``fonttools[ufo]`` extra (#3885, #3620).
398
+ - [xmlWriter] Replace illegal XML characters (e.g. control or non-characters) with "?"
399
+ when dumping to ttx (#3868, #71).
400
+ - [varLib.hvar] Fixed vertical metrics fields copy/pasta error (#3884).
401
+ - Micro optimizations in ttLib and sstruct modules (#3878, #3879).
402
+ - [unicodedata] Add Garay script to RTL_SCRIPTS (#3882).
403
+ - [roundingPen] Remove unreliable kwarg usage. Argument names aren’t consistent among
404
+ point pens’ ``.addComponent()`` implementations, in particular ``baseGlyphName``
405
+ vs ``glyphName`` (#3880).
406
+
407
+ 4.58.5 (released 2025-07-03)
408
+ ----------------------------
409
+
410
+ - [feaLib] Don't try to combine ligature & multisub rules (#3874).
411
+ - [feaLib/ast] Use weakref proxies to avoid cycles in visitor (#3873).
412
+ - [varLib.instancer] Fixed instancing CFF2 fonts where VarData contains more than 64k items (#3858).
413
+
391
414
  4.58.4 (released 2025-06-13)
392
415
  ----------------------------
393
416
 
@@ -1,7 +1,7 @@
1
1
  fontTools/ttx.py,sha256=FxuGubujWCGJWSTrJEjoNH--25fVIPy-ZRtYy9H6iTk,17277
2
2
  fontTools/fontBuilder.py,sha256=yF2-IYl_hao-Zy_FWSI4R-HnlFpzFrz0YBGQO8zfaOs,34130
3
3
  fontTools/unicode.py,sha256=ZZ7OMmWvIyV1IL1k6ioTzaRAh3tUvm6gvK7QgFbOIHY,1237
4
- fontTools/__init__.py,sha256=Zh-X7sXdWHvqUllqCJHWVEWn45Cl9M9sbKwmwS0FQtg,183
4
+ fontTools/__init__.py,sha256=fgEzyisKw1rSSjT7FZcZnqK0rK2jqxT-G6ctz4mAi9U,183
5
5
  fontTools/tfmLib.py,sha256=UMbkM73JXRJVS9t2B-BJc13rSjImaWBuzCoehLwHFhs,14270
6
6
  fontTools/afmLib.py,sha256=1MagIItOzRV4vV5kKPxeDZbPJsfxLB3wdHLFkQvl0uk,13164
7
7
  fontTools/agl.py,sha256=05bm8Uq45uVWW8nPbP6xbNgmFyxQr8sWhYAiP0VSjnI,112975
@@ -12,7 +12,7 @@ fontTools/encodings/__init__.py,sha256=DJBWmoX_Haau7qlgmvWyfbhSzrX2qL636Rns7CG01
12
12
  fontTools/encodings/MacRoman.py,sha256=4vEooUDm2gLCG8KIIDhRxm5-A64w7XrhP9cjDRr2Eo0,3576
13
13
  fontTools/encodings/StandardEncoding.py,sha256=Eo3AGE8FE_p-IVYYuV097KouSsF3UrXoRRN0XyvYbrs,3581
14
14
  fontTools/qu2cu/benchmark.py,sha256=GMcr_4r7L6K9SmJ13itt-_XKhnKqSVUDPlXUG6IZmmM,1400
15
- fontTools/qu2cu/qu2cu.cpython-310-darwin.so,sha256=_zWzQfsjMtsqdBMd6S1ywaZogFzqBr6x2i6dLe62OEQ,313664
15
+ fontTools/qu2cu/qu2cu.cpython-310-darwin.so,sha256=q3tbA4Grh0dUtkFzdN6BDq390xf09Q_tkryXK5Mq5do,313664
16
16
  fontTools/qu2cu/__init__.py,sha256=Jfm1JljXbt91w4gyvZn6jzEmVnhRx50sh2fDongrOsE,618
17
17
  fontTools/qu2cu/qu2cu.py,sha256=IYtpkwHdfKOXJr65Y_pJ9Lrt_MgJaISAKGMAs5ilFSM,12288
18
18
  fontTools/qu2cu/cli.py,sha256=U2rooYnVVEalGRAWGFHk-Kp6Okys8wtzdaWLjw1bngY,3714
@@ -25,7 +25,7 @@ fontTools/misc/vector.py,sha256=6lqZcDjAgHJFQgjzD-ULQ_PrigAMfeZKaBZmAfcC0ig,4062
25
25
  fontTools/misc/psLib.py,sha256=ioIPm5x3MHkBXF2vzNkC4iVZYobrkWcyvFhmYsjOrPY,12099
26
26
  fontTools/misc/timeTools.py,sha256=e9h5pgzL04tBDXmCv_8eRGB4boFV8GKXlS6dq3ggEpw,2234
27
27
  fontTools/misc/configTools.py,sha256=YXBE_vL2dMWCnK4oY3vtU15B79q82DtKp7h7XRqJc1Q,11188
28
- fontTools/misc/sstruct.py,sha256=HuXwoRr9-mAbBxI3gJ3n34ML7NAGSHsAAazaaloWQB4,7158
28
+ fontTools/misc/sstruct.py,sha256=vUODd2CKvHLtjr7yn1K94Hui_yxOPWKmlgAmBMm3KDQ,7009
29
29
  fontTools/misc/classifyTools.py,sha256=zcg3EM4GOerBW9c063ljaLllgeeZ772EpFZjp9CdgLI,5613
30
30
  fontTools/misc/symfont.py,sha256=x5ZwqK9Ik9orG6qSftgVGygBFE1wTSngrMK2We1Z5AM,6977
31
31
  fontTools/misc/roundTools.py,sha256=1RSXZ0gyi1qW42tz6WSBMJD1FlPdtgqKfWixVN9bd78,3173
@@ -39,10 +39,10 @@ fontTools/misc/macRes.py,sha256=GT_pnfPw2NCvvOF86nHLAnOtZ6SMHqEuLntaplXzvHM,8579
39
39
  fontTools/misc/encodingTools.py,sha256=hCv5PFfnXQJVCZA8Wyn1vr3vzLBbUuEPtGk5CzWM9RY,2073
40
40
  fontTools/misc/testTools.py,sha256=3vj_KllUQVEiVFbS0SzTmeuKv44-L-disI1dZ4XhOfw,7052
41
41
  fontTools/misc/lazyTools.py,sha256=BC6MmF-OzJ3GrBD8TYDZ-VCSN4UOx0pN0r3oF4GSoiw,1020
42
- fontTools/misc/bezierTools.cpython-310-darwin.so,sha256=x93umRl-uni-s4CRmdzu7HAdnkNRaX-lw5r4pv_DTVY,996792
42
+ fontTools/misc/bezierTools.cpython-310-darwin.so,sha256=WxtuDeqEtCPiD5s4dYsCxXmn4ap7AN2b8cwycafTSfA,996792
43
43
  fontTools/misc/loggingTools.py,sha256=NOYROsLK5TzONK5967OGdVonNyXC6kP_CmPr7M2PW_c,19933
44
44
  fontTools/misc/textTools.py,sha256=pbhr6LVhm3J-0Z4saYnJfxBDzyoiw4BR9pAgwypiOw8,3377
45
- fontTools/misc/visitor.py,sha256=S3I_OCavPhkwGQpwIKV9XjNCaWUcafo7HQCyxDI0nQg,5314
45
+ fontTools/misc/visitor.py,sha256=c9YQs14bXfL1SmqwoAhEGCvXlmyZIKR5_Vr4n7iWaRs,5610
46
46
  fontTools/misc/macCreatorType.py,sha256=Je9jtqUr7EPbpH3QxlVl3pizoQ-1AOPMBIctHIMTM3k,1593
47
47
  fontTools/misc/psCharStrings.py,sha256=Tb5-k_5krP0eu7qD054iGxE4Zybk9oB4jdiKzcsV0rw,43036
48
48
  fontTools/misc/transform.py,sha256=OR8dPsAw87z77gkZQMq00iUkDWLIxYv-12XiKH1-erk,15798
@@ -52,15 +52,27 @@ fontTools/misc/bezierTools.c,sha256=bvcuD_CKMVNW8nJ7nv5AQQrGrhv72MCeSDR_GQBrF1Y,
52
52
  fontTools/misc/dictTools.py,sha256=VxjarsGJuk_wa3z29FSCtKZNCFfXtMBiNEu0RPAlpDk,2417
53
53
  fontTools/misc/bezierTools.py,sha256=OmR3pzCGExNvZyTPrByH7gQHpAJsYOl1cmvfYQIVfQA,45038
54
54
  fontTools/misc/eexec.py,sha256=GNn2OCRvO1HbbIeDPxk9i0glO7cux_AQaoVMXhBR8y8,3331
55
- fontTools/misc/xmlWriter.py,sha256=CA1c-Ov5vFTF9tT4bGk-f3yBvaX7lVmSdLPYygUqlAE,6046
55
+ fontTools/misc/xmlWriter.py,sha256=CrNXQfNJRdt5CHKAZ4-qy3h1yJeL63ot17kXkNbeI_E,6829
56
56
  fontTools/misc/intTools.py,sha256=l6pjk4UYlXcyLtfC0DdOC5RL6UJ8ihRR0zRiYow5xA8,586
57
57
  fontTools/misc/iterTools.py,sha256=17H6LPZszp32bTKoNorp6uZF1PKj47BAbe5QG8irUjo,390
58
+ fontTools/misc/filesystem/_path.py,sha256=frP6ZLmMeP9E3NiwoCbbgBPWpQbLBRh7T-0vOE-EuPo,1745
59
+ fontTools/misc/filesystem/_base.py,sha256=p74O7xREadfPQgzPJ9mP3ehu0ZHDgsmXlpsL9CnTRso,4010
60
+ fontTools/misc/filesystem/_tempfs.py,sha256=9FUXdCBTwFtZMFx8ghYuZVYoQdDb0tDB-jXNu3D-Qy0,924
61
+ fontTools/misc/filesystem/_info.py,sha256=pbV7bDTJ5F8ms6alK34J0FZYWzmRO7FT0NM3yRA3czo,2013
62
+ fontTools/misc/filesystem/_errors.py,sha256=-YziRB1BT1I80ypmufvCR-M_4XoerCHyBVqX-cRnIzU,641
63
+ fontTools/misc/filesystem/_tools.py,sha256=r75dpadp7C9EdQ6r7pJQKZlCZDUJzVq2ikb_LXN-wCI,972
64
+ fontTools/misc/filesystem/_subfs.py,sha256=vRotQwyLVfINbR88xIBQUbq9j4Kmg1_mJvEhnpvK_t4,3028
65
+ fontTools/misc/filesystem/__init__.py,sha256=iwoOj6DpXKk8q-NRRHqOfRxFF6lcXIhsIA46j-cZswU,2011
66
+ fontTools/misc/filesystem/_walk.py,sha256=KMQ-GavWYr4SsA5V8ohLPmz3boilvY2P0JKrLoxW6NU,1655
67
+ fontTools/misc/filesystem/_osfs.py,sha256=RkKCE2IxcRaj7gyqFW10LhEm_-VJYtXxsS5s0DCXihM,5737
68
+ fontTools/misc/filesystem/_copy.py,sha256=ifMSs-A_bz1Aa4tIQrlUd9HtdJQ5fp5M3B6mbYuDtXI,1361
69
+ fontTools/misc/filesystem/_zipfs.py,sha256=i3qolbkDRntB_oL3v79KuEgfVlVojecPBnBA0X04PWc,6301
58
70
  fontTools/misc/plistlib/__init__.py,sha256=1HfhHPt3As6u2eRSlFfl6XdnXv_ypQImeQdWIw6wK7Y,21113
59
71
  fontTools/misc/plistlib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
72
  fontTools/cu2qu/benchmark.py,sha256=wasPJmf8q9k9UHjpHChC3WQAGbBAyHN9PvJzXvWC0Fw,1296
61
73
  fontTools/cu2qu/cu2qu.c,sha256=5MqBt8fFiiaXVyfUVZbAkI1P1CP9g6ZSyk7LbKzmx78,629339
62
74
  fontTools/cu2qu/__init__.py,sha256=Cuc7Uglb0nSgaraTxXY5J8bReznH5wApW0uakN7MycY,618
63
- fontTools/cu2qu/cu2qu.cpython-310-darwin.so,sha256=7PkizivlFJ4Sw8ZuSpmEQS4DjYPpz_FT4uW6BzPzFC8,308240
75
+ fontTools/cu2qu/cu2qu.cpython-310-darwin.so,sha256=S4uASoWgo6INaVvJ49NtID3EgSnlzU_agadtC8UHv8A,308240
64
76
  fontTools/cu2qu/ufo.py,sha256=qZR70uWdCia19Ff8GLn5NeItscvvn69DegjDZVF4eNI,11794
65
77
  fontTools/cu2qu/cli.py,sha256=MbAQnOpZwrUFe_tjAP3Tgf6uLdOgHlONUcPNeTXwH0Y,6076
66
78
  fontTools/cu2qu/errors.py,sha256=PyJNMy8lHDtKpfFkc0nkM8F4jNLZAC4lPQCN1Km4bpg,2441
@@ -68,7 +80,7 @@ fontTools/cu2qu/cu2qu.py,sha256=GGNdNWT4xgrvxeZTczIj9Nxi6vN-5lb90KyVmB95W0Y,1643
68
80
  fontTools/cu2qu/__main__.py,sha256=kTUI-jczsHeelULLlory74QEeFjZWp9zigCc7PrdVQY,92
69
81
  fontTools/subset/cff.py,sha256=rqMRJOlX5FacV1LW8aDlVOglgEM87TkMA9bdsYenask,6145
70
82
  fontTools/subset/util.py,sha256=9SXFYb5Ef9Z58uXmYPCQil8B2i3Q7aFB_1fFDFSppdU,754
71
- fontTools/subset/__init__.py,sha256=c3EulDBf-RYUaUFTM_JoIuVHvmLK7Fwf4_IlgxS46BY,137659
83
+ fontTools/subset/__init__.py,sha256=uOof18oO8Bwl3BDoRqBIG1VvEpY9qSkG0TRmBWLKPFk,137707
72
84
  fontTools/subset/svg.py,sha256=8dLBzQlnIt4_fOKEFDAVlKTucdHvcbCcyG9-a6UBZZ0,9384
73
85
  fontTools/subset/__main__.py,sha256=bhtfP2SqP4k799pxtksFgnC-XGNQDr3LcO4lc8T5e5g,95
74
86
  fontTools/voltLib/error.py,sha256=phcQOQj-xOspCXu9hBJQRhSOBDzxHRgZd3fWQOFNJzw,395
@@ -83,7 +95,7 @@ fontTools/merge/cmap.py,sha256=HpthxVH5lA7VegJ8yHoBjd9vrFBV7UB5OknKGYpxWY8,6728
83
95
  fontTools/merge/unicode.py,sha256=kb1Jrfuoq1KUcVhhSKnflAED_wMZxXDjVwB-CI9k05Y,4273
84
96
  fontTools/merge/util.py,sha256=BH3bZWNFy-Tsj1cth7aSpGVJ18YXKXqDakPn6Wzku6U,3378
85
97
  fontTools/merge/layout.py,sha256=fkMPGPLxEdxohS3scVM4W7LmNthSz-UPyocsffe2KqE,16075
86
- fontTools/merge/__init__.py,sha256=-l65-mbTwSh0gjarnojIfsAX-ZkMtdz3vGTjtYHQ2ws,8250
98
+ fontTools/merge/__init__.py,sha256=8i6ownyQTAOBKWnTEHvvCYFw64Mv7Z1HPBgJI-ZiuKo,8256
87
99
  fontTools/merge/tables.py,sha256=7SzXYL04awDEDhvU2-9T_8A2gAjvgGyYAHUICUJOpZg,10958
88
100
  fontTools/merge/__main__.py,sha256=hDx3gfbUBO83AJKumSEhiV-xqNTJNNgK2uFjazOGTmw,94
89
101
  fontTools/merge/base.py,sha256=l0G1Px98E9ZdVuFLMUBKWdtr7Jb8JX8vxcjeaDUUnzY,2389
@@ -94,7 +106,7 @@ fontTools/svgLib/path/__init__.py,sha256=C82fh7xH6ZHsSFVnV848-xeDezpokx1EwTmayJC
94
106
  fontTools/svgLib/path/parser.py,sha256=8T6okMstvgM9ufb2zBcwSzsuuoYbqfnUjNYgb6kjznU,10788
95
107
  fontTools/svgLib/path/arc.py,sha256=-f5Ym6q4tDWQ76sMNSTUTWgL_7AfgXojvBhtBS7bWwQ,5812
96
108
  fontTools/varLib/interpolatableTestContourOrder.py,sha256=mHJ9Ry7Rm7H3zHDwEUQEtEIDseiUzOxjg4MveW_FSiU,3021
97
- fontTools/varLib/iup.cpython-310-darwin.so,sha256=0hX4VGCXLq1cZJwuwcJHvlOnsM-GiHcqhuDSkuIHPsU,397968
109
+ fontTools/varLib/iup.cpython-310-darwin.so,sha256=lPdl6YWZDFehc4q7f9rJT3mEGbEyFttC3W53nLUNLqA,397968
98
110
  fontTools/varLib/iup.py,sha256=mKq_GRWuUg4yTmw2V32nu0v2r-SzzN7xS7rIbV0mYuc,14984
99
111
  fontTools/varLib/iup.c,sha256=M-eCV04EONUWonJxOEZxVlUqw4zWN6Iy7wpvOPOpMB4,826716
100
112
  fontTools/varLib/plot.py,sha256=NoSZkJ5ndxNcDvJIvd5pQ9_jX6X1oM1K2G_tR4sdPVs,7494
@@ -106,7 +118,7 @@ fontTools/varLib/mutator.py,sha256=YJkKFFWjwpYZ1MrC7UZYJ1BuYTGiwgi7jHnpqNpKfKg,1
106
118
  fontTools/varLib/interpolatablePlot.py,sha256=w393P6mGLRhYkIjSxMww3qyoYxAUZzCXlmPBbI_84C0,44375
107
119
  fontTools/varLib/builder.py,sha256=mSKOCcnnw-WzmZs15FayoqCDh77Ts7o9Tre9psh8CUc,6609
108
120
  fontTools/varLib/stat.py,sha256=XuNKKZxGlBrl4OGFDAwVXhpBwJi23U3BdHmNTKoJnvE,4811
109
- fontTools/varLib/hvar.py,sha256=u7ppYCyWRBbJhIYyBcOxuVvwbZHnlOmXlUJH74a3LHs,3695
121
+ fontTools/varLib/hvar.py,sha256=1IvL5BneTkg8jJYicH0TSQViB6D0vBEesLdlfqoLBX4,3695
110
122
  fontTools/varLib/interpolatableHelpers.py,sha256=lXd7kwfIVl-4opd-vxCDhf48RnJ7IQKv_uuFQM_6vaU,11496
111
123
  fontTools/varLib/interpolatableTestStartingPoint.py,sha256=K6OYKBspim6BXc91pfLTbGLyi5XZukfMuBc6hRpENG8,4296
112
124
  fontTools/varLib/varStore.py,sha256=2QA9SDI6jQyQ_zq82OOwa3FBkfl-ksaSo1KGmVFpa9Q,24069
@@ -120,7 +132,7 @@ fontTools/varLib/interpolate_layout.py,sha256=22VjGZuV2YiAe2MpdTf0xPVz1x2G84bcOL
120
132
  fontTools/varLib/merger.py,sha256=E59oli4AwqWZ-FgnuStMSBvsB-FHe-55esXTYUqGeJ8,60802
121
133
  fontTools/varLib/multiVarStore.py,sha256=eQEuWNY01YF5zDpy1UwNtvOYyD6c0FLxpH-QFpX1i78,8305
122
134
  fontTools/varLib/instancer/solver.py,sha256=uMePwX0BVT5F94kUvDglsI4_F0nEH67F7RFuJ6tQwQ0,11002
123
- fontTools/varLib/instancer/__init__.py,sha256=4I3M5PL3rLcch_yw_rflb0f09SG3zA3eADws-purFXg,71827
135
+ fontTools/varLib/instancer/__init__.py,sha256=UxmXi4zpOGxSOMRaWQB-2IsI_tsZIK0O_T4AqXPJXZQ,72266
124
136
  fontTools/varLib/instancer/names.py,sha256=IPRqel_M8zVU0jl30WsfgufxUm9PBBQDQCY3VHapeHc,14950
125
137
  fontTools/varLib/instancer/__main__.py,sha256=zfULwcP01FhplS1IlcMgNQnLxk5RVfmOuinWjqeid-g,104
126
138
  fontTools/varLib/instancer/featureVars.py,sha256=oPqSlnHLMDTtOsmQMi6gkzLox7ymCrqlRAkvC_EJ4bc,7110
@@ -144,13 +156,13 @@ fontTools/pens/perimeterPen.py,sha256=lr6NzrIWxi4TXBJPbcJsKzqABWfQeil2Bgm9BgUD3N
144
156
  fontTools/pens/__init__.py,sha256=DJBWmoX_Haau7qlgmvWyfbhSzrX2qL636Rns7CG01pk,75
145
157
  fontTools/pens/ttGlyphPen.py,sha256=yLtB-E5pTQR59OKVYySttWBu1xC2vR8ezSaRhIMtVwg,11870
146
158
  fontTools/pens/statisticsPen.py,sha256=piWK6NjjWqk9MLROjeE2-4EsxVYMyNU7UQFGD_trE9g,9808
147
- fontTools/pens/momentsPen.cpython-310-darwin.so,sha256=FTc847KxiA-xUHv19ltlAcHmsVkzmL1igs0m9bfNSPM,240936
159
+ fontTools/pens/momentsPen.cpython-310-darwin.so,sha256=4SBOPLiNV4SbwZGPyMcqO4xbCH9nqWTunfbgz6o_OCA,240936
148
160
  fontTools/pens/cairoPen.py,sha256=wuuOJ1qQDSt_K3zscM2nukRyHZTZMwMzzCXCirfq_qQ,592
149
161
  fontTools/pens/wxPen.py,sha256=W9RRHlBWHp-CVC4Exvk3ytBmRaB4-LgJPP5Bv7o9BA0,680
150
162
  fontTools/pens/boundsPen.py,sha256=wE3owOQA8DfhH-zBGC3lJvnVwp-oyIt0KZrEqXbmS9I,3129
151
163
  fontTools/pens/recordingPen.py,sha256=VgFZ4NMhnZt1qSTzFEU0cma-gw3kBe47bfSxPYH73rs,12489
152
164
  fontTools/pens/momentsPen.py,sha256=kjLVXhGe55Abl__Yr1gob0bl0dHe7fPSwyr7TRJnbug,25658
153
- fontTools/pens/roundingPen.py,sha256=Q4vvG0Esq_sLNODU0TITU4F3wcXcKWo4BA7DWdDaVcM,4649
165
+ fontTools/pens/roundingPen.py,sha256=vh_FjikRd82-S4I8glgGMGEuGrj5IkCjRT_wmZ8jfqY,4620
154
166
  fontTools/pens/freetypePen.py,sha256=HD-gXJSbgImJdBc8sIBk0HWBdjv3WKFofs6PgCCsGOY,19908
155
167
  fontTools/pens/explicitClosingLinePen.py,sha256=kKKtdZiwaf8Cj4_ytrIDdGB2GMpPPDXm5Nwbw5WDgwU,3219
156
168
  fontTools/pens/reverseContourPen.py,sha256=oz64ZRhLAvT7DYMAwGKoLzZXQK8l81jRiYnTZkW6a-Y,4022
@@ -159,7 +171,7 @@ fontTools/pens/hashPointPen.py,sha256=gElrFyQoOQp3ZbpKHRWPwC61A9OgT2Js8crVUD8BQA
159
171
  fontTools/pens/quartzPen.py,sha256=EH482Kz_xsqYhVRovv6N_T1CXaSvOzUKPLxTaN956tU,1287
160
172
  fontTools/otlLib/error.py,sha256=cthuhBuOwZYpkTLi5gFPupUxkXkCHe-L_YgkE7N1wCI,335
161
173
  fontTools/otlLib/__init__.py,sha256=D2leUW-3gsUTOFcJYGC18edBYjIJ804ut4qitJYWsaQ,45
162
- fontTools/otlLib/builder.py,sha256=nv1bEbN-Q3OhDZJyz3t1CK4M-EoFZ1iPHIPHIQUBNB8,127669
174
+ fontTools/otlLib/builder.py,sha256=MHuQKul3Nl3vzXmY7Wb6x54ZNbJGUzRUD7-VKpOG7lE,128727
163
175
  fontTools/otlLib/maxContextCalc.py,sha256=3es4Kt84TaZ49sA2ev1zrlwPJikJCAECx5KavwhyB-I,3175
164
176
  fontTools/otlLib/optimize/__init__.py,sha256=UUQRpNkHU2RczCRt-Gz7sEiYE9AQq9BHLXZEOyvsnX4,1530
165
177
  fontTools/otlLib/optimize/gpos.py,sha256=htOgSP743DZDUKF3eWAeJ-kdqNYOnpGXdlV-rbEXJ1A,17668
@@ -167,16 +179,16 @@ fontTools/otlLib/optimize/__main__.py,sha256=BvP472kA9KxBb9RMyyehPNevAfpmgW9Mfda
167
179
  fontTools/ufoLib/pointPen.py,sha256=CuREcm3IYteZNBDAd_ZRAV4XqBsy0s07jdWc4en9r-8,244
168
180
  fontTools/ufoLib/kerning.py,sha256=QF5n7eXwBfc2TJ_XGUkLAnxcgq82vdLOpJEN2Lh_7UY,4233
169
181
  fontTools/ufoLib/filenames.py,sha256=o8Kuj0aOSlb8_hoLfJ2D91n9S5JZazFcTjiQYfqQ5ic,10418
170
- fontTools/ufoLib/validators.py,sha256=zIcp2weAYLOJBCvxbqBqAy34TaJrqpAlXKshJIkdhWI,30805
171
- fontTools/ufoLib/__init__.py,sha256=_Um-de5MGbr7lxarlsoHSdxLpzAD88LfLEYMrnup2Sc,94431
172
- fontTools/ufoLib/glifLib.py,sha256=uqYAW2Y0Ot4sWSP1ObMzoQm4bSKuIu-EyK5aGZMPNws,72752
182
+ fontTools/ufoLib/validators.py,sha256=EtVfe3fNZAS7q9Yd07S0pF1x_lonFxpYoqLpjiNIwL8,30813
183
+ fontTools/ufoLib/__init__.py,sha256=Q_yTPiqbbgFO50ephzOkE0AQITEu0IC24jvIv1dhxds,94339
184
+ fontTools/ufoLib/glifLib.py,sha256=cUNEGB1xnJyiY4BqXkPjlkXQbB4wjjN4gYPnXpgyxmU,72699
173
185
  fontTools/ufoLib/plistlib.py,sha256=jzMGOGvHO6XvS-IO8hS04ur7r8-v2dnVq-vKMoJZvqQ,1510
174
186
  fontTools/ufoLib/utils.py,sha256=mN5GuY21fsr-9N1I3laaSm3IUhILTBlNySfM52p26gQ,1995
175
187
  fontTools/ufoLib/etree.py,sha256=T3sjLTgjMAq6VyYRicWPaMIVBJ2YSuwZxV6Vc5yZtQI,231
176
188
  fontTools/ufoLib/converters.py,sha256=9j4BQ7EXVfWiVoB7OZCzRGsRJWi9G9w_27iFuiJNphw,13044
177
189
  fontTools/ufoLib/errors.py,sha256=9f8l5NaFAj3BZPa6Bbqt06FL4afffLuMzy4nPf-eOlE,845
178
190
  fontTools/unicodedata/OTTags.py,sha256=wOPpbMsNcp_gdvPFeITtgVMnTN8TJSNAsVEdu_nuPXE,1196
179
- fontTools/unicodedata/__init__.py,sha256=Ega5OM4ksWZPCeJv99NLo2pksMpzMqlhkXCScGE6byM,8983
191
+ fontTools/unicodedata/__init__.py,sha256=ht5cIwvgKSonvRADzijXzBp6uZjhTvFobBwaba4ogaM,9033
180
192
  fontTools/unicodedata/ScriptExtensions.py,sha256=YTZr2bOteHiz_7I4108PRy0Is4kFof-32yFuoKjFHjc,28207
181
193
  fontTools/unicodedata/Scripts.py,sha256=I0nY08ovsZ4pHU5wYchjat9DjnxcpoTzaXAn5oFaKNI,130271
182
194
  fontTools/unicodedata/Blocks.py,sha256=6BL66vrr5UWylVx3bicy6U2kO-QcNNKpmPKQTGggUEU,32415
@@ -190,15 +202,15 @@ fontTools/feaLib/error.py,sha256=Bz_5tNcNVcY7_nrAmFlQNhQldtqZWd8WUGQ2E3PWhZo,648
190
202
  fontTools/feaLib/variableScalar.py,sha256=Xu8tpDlQbfIfjnKnYDEf43EqVdyIJUy8_1ROVPg9_mg,4069
191
203
  fontTools/feaLib/lexer.c,sha256=yVnAVeP6s8MEmqVhbu3aZHdgJZxF-AQyzNssVS-09rY,753326
192
204
  fontTools/feaLib/__init__.py,sha256=jlIru2ghxvb1HhC5Je2BCXjFJmFQlYKpruorPoz3BvQ,213
193
- fontTools/feaLib/lexer.cpython-310-darwin.so,sha256=6MYwBlQA5q_gJjHq-mhnKtbMfBD88XngADX9zbWHCLQ,363520
205
+ fontTools/feaLib/lexer.cpython-310-darwin.so,sha256=XtsgP7KADJecEc8pKMMTvAT4KNLVVI4cgElrD9UmmUU,363520
194
206
  fontTools/feaLib/lookupDebugInfo.py,sha256=gVRr5-APWfT_a5-25hRuawSVX8fEvXVsOSLWkH91T2w,304
195
- fontTools/feaLib/builder.py,sha256=Rfevokk_53TD5_0uiGxXbUKoqZnE7DuKoG6OKyl742o,73076
207
+ fontTools/feaLib/builder.py,sha256=f8bet-VuwM6aIBIUPgKUQ01chyTSaWOzn152zq4Y1rY,73165
196
208
  fontTools/feaLib/parser.py,sha256=YDy5ySnQaNXB-q-fSpcIAbBRzQO9jJH8t2Y7jt3vpuI,99331
197
209
  fontTools/feaLib/location.py,sha256=JXzHqGV56EHdcq823AwA5oaK05hf_1ySWpScbo3zGC0,234
198
210
  fontTools/feaLib/lexer.py,sha256=emyMPmRoqNZkzxnJyI6JRCCtXrbCOFofwa9O6ABGLiw,11121
199
- fontTools/feaLib/ast.py,sha256=AuWdCUE_oysF2yDkvr1dj8K7AUF9bibDEIM0Dla9sbc,74128
211
+ fontTools/feaLib/ast.py,sha256=48Y6vpSD_wYfucWyh_bQtzf2AQFX-pOwBvsxdcpVDz0,74158
200
212
  fontTools/feaLib/__main__.py,sha256=Df2PA6LXwna98lSXiL7R4as_ZEdWCIk3egSM5w7GpvM,2240
201
- fontTools/ttLib/sfnt.py,sha256=rkznKfteU_Rn9P65WSjFaiwQgpEAoh-TrQpvkQhdIlo,22832
213
+ fontTools/ttLib/sfnt.py,sha256=wemkfz93dlAoyo-VVzmg5OLoSSyMFQNzBTTP3Kem-xk,22792
202
214
  fontTools/ttLib/macUtils.py,sha256=lj3oeFpyjV7ko_JqnluneITmAtlc119J-vwTTg2s73A,1737
203
215
  fontTools/ttLib/standardGlyphOrder.py,sha256=7AY_fVWdtwZ4iv5uWdyKAUcbEQiSDt1lN4sqx9xXwE0,5785
204
216
  fontTools/ttLib/ttCollection.py,sha256=aRph2MkBK3kd9-JCLqhJ1EN9pffN_lVX6WWmOTTewc8,3963
@@ -207,9 +219,9 @@ fontTools/ttLib/__init__.py,sha256=1k7qp9z04gA3m6GvxDaINjqrKbzOkdTA_4RnqW_-LrA,6
207
219
  fontTools/ttLib/removeOverlaps.py,sha256=YBtj1PX-d2jMgCiWGuI6ibghWApUWqH2trJGXNxrbjQ,12612
208
220
  fontTools/ttLib/scaleUpem.py,sha256=U_-NGkwfS9GRIackdEXjGYZ-wSomcUPXQahDneLeArI,14618
209
221
  fontTools/ttLib/reorderGlyphs.py,sha256=TbxLxqPTUGiKRX3ulGFCwVm2lEisFYlX6caONJr_4oY,10371
210
- fontTools/ttLib/ttFont.py,sha256=rTGWNOiTW5mnFFN1HrYIi1HzihBXyJOvhhpsxhYwKnA,40965
222
+ fontTools/ttLib/ttFont.py,sha256=8I79ksIdtfMf8GV_nhawEhlzOvQMTyB98lrWzoJADh0,40669
211
223
  fontTools/ttLib/ttVisitor.py,sha256=_tah4C42Tv6Pm9QeLNQwwVCxqI4VNEAqYCbmThp6cvY,1025
212
- fontTools/ttLib/woff2.py,sha256=Ryw4WVwUFMtdEo9FcIejP1OTV92Z4B9y5Wq7nWDW3lE,61058
224
+ fontTools/ttLib/woff2.py,sha256=6LPISeBQ1dubzKjWrUcYm_vgETC46BTLY4XkG52qvSA,60921
213
225
  fontTools/ttLib/__main__.py,sha256=lHMPWsnzjKPuMFavf6i1gpk9KexiAk4qzgDd50Mbby0,4733
214
226
  fontTools/ttLib/tables/_s_b_i_x.py,sha256=tkkKbNKNYkUhZJuN0kl7q37x5KK5OovB06y28obPV6A,4865
215
227
  fontTools/ttLib/tables/G_M_A_P_.py,sha256=fvIQumokOCLa8DFeq_xi069F9RROsXSVmDvWtxgyacQ,4720
@@ -222,21 +234,21 @@ fontTools/ttLib/tables/TupleVariation.py,sha256=4XTDTRPZWPg9_1K5SVgdNoxtgQvahtiO
222
234
  fontTools/ttLib/tables/_p_r_o_p.py,sha256=Eg8x5qWyXDzPezMafFu0s0qyPDHj-sPsFxGtE6h29qo,427
223
235
  fontTools/ttLib/tables/_f_p_g_m.py,sha256=uZHZzqL6OdLn_Hxskv-xf3XuE4fyaSv_jbALEjwXYug,1633
224
236
  fontTools/ttLib/tables/T_S_I__0.py,sha256=O-2oI0eBgt4mP15-UwH0_0r7YWi3EEEhG-4etqDueGI,2505
225
- fontTools/ttLib/tables/S__i_l_f.py,sha256=RaG5X1wtnEd75pKam9Ss64_pEpDVHDbaQ-lp7JeRZhc,34987
237
+ fontTools/ttLib/tables/S__i_l_f.py,sha256=lPQV2RdhcJRgfDzHp_dkgSxVUUdkcAnY1Bz7V18Gt9U,34985
226
238
  fontTools/ttLib/tables/G_D_E_F_.py,sha256=QXiILFCRnPNZcwpub6ojN5S9WP6y56LsXi25pUWLgp4,299
227
- fontTools/ttLib/tables/T_S_I__1.py,sha256=qO4nP_Eke7Bdih02VtxDMadmABVmeX_8ZKyKz-xQ77o,7058
228
- fontTools/ttLib/tables/_h_d_m_x.py,sha256=kgydwtD1ibF3T0Vbohq-aM_QD8PY-vp4oUuWQWJJMNA,4271
239
+ fontTools/ttLib/tables/T_S_I__1.py,sha256=nSUhni-fvYmeKXW4zLfP3FG_3LQU2QKPKS1_gKY5lYg,6971
240
+ fontTools/ttLib/tables/_h_d_m_x.py,sha256=wMrO4D04QNT8u30p8AV-aG3bndXCq4wlPNvtbd8ip7c,4252
229
241
  fontTools/ttLib/tables/S_I_N_G_.py,sha256=CFDy8R2fDeYn7ocfrZr7Ui7U9D0h4G55CdPfY55g-Bk,3317
230
242
  fontTools/ttLib/tables/V_V_A_R_.py,sha256=Cstw6tc_U4-EmTriRItBSpvTJODAjMFQjfyTaxLzsbI,319
231
- fontTools/ttLib/tables/T_S_I__5.py,sha256=2EdW4dbIHNT7H3VEVWEXnF52S21MGVYzwzUo-ShoTC0,1913
243
+ fontTools/ttLib/tables/T_S_I__5.py,sha256=hhvJn6jiXs8kuBtun8krNUTXTljH-eKxaxXM1T-7SXM,1905
232
244
  fontTools/ttLib/tables/grUtils.py,sha256=hcOJ5oJPOd2uJWnWA7qwR7AfL37YZ5zUT7g8o5BBV80,2270
233
- fontTools/ttLib/tables/otTables.py,sha256=IZQY8Scf8JFsUD28LY1csC8bvFbfY-aURH6YaQ3Ao24,97128
245
+ fontTools/ttLib/tables/otTables.py,sha256=2U04ot_2ITlBZx2QtpnIOtBGftPFs9ZX2FWfz4vz1G0,96987
234
246
  fontTools/ttLib/tables/_c_v_a_r.py,sha256=35ayk2kX1pcLGwyx0y4I1l-r7LHgdKv0ulVx8oBPteI,3527
235
247
  fontTools/ttLib/tables/otConverters.py,sha256=ihE_WMSKAKSaBbMvnFYDj2eMxf7PvRMMa8zGwfoYuYc,74202
236
- fontTools/ttLib/tables/_p_o_s_t.py,sha256=uV2w0YKNnSOQiDPTZJFBNG_AvD3rV-GV9w8PoyV6XwM,11753
248
+ fontTools/ttLib/tables/_p_o_s_t.py,sha256=hsGOLA10ZwaGSGpvQgeelnj1vj_kTUbiBnskgk2i35w,11701
237
249
  fontTools/ttLib/tables/_m_e_t_a.py,sha256=A0CZPEAVxYrpytjXUGQJCTddwG8KrvUVbtBe3A1MqgI,3913
238
250
  fontTools/ttLib/tables/C_B_D_T_.py,sha256=5LNdc8FMir1kC5fvp5iHwWfeuE-RuqdxAArFXaqPjQ0,3646
239
- fontTools/ttLib/tables/_c_m_a_p.py,sha256=0P0z1lYtQG4OgV_Bo3n1ciq1XKD2ANdfoOV5cSzN4Ig,62208
251
+ fontTools/ttLib/tables/_c_m_a_p.py,sha256=r8-bB_E0EQh5h4TGX5nTnDnwTUtXuRB3iuqEDoN_IOM,62202
240
252
  fontTools/ttLib/tables/_p_r_e_p.py,sha256=CcKr4HrswkupLmbJdrJLTM-z9XgLefQyv8467j9V0zs,427
241
253
  fontTools/ttLib/tables/C_P_A_L_.py,sha256=odFjqM4GnjXyQYGEC-e0Gvqms1jQ5zHHG3SDg7y-BI0,11942
242
254
  fontTools/ttLib/tables/S__i_l_l.py,sha256=Vjtn7SI83vaLGIuQf2e-jhZSFOXb9vXB4jwqznjqnMc,3224
@@ -253,11 +265,11 @@ fontTools/ttLib/tables/otTraverse.py,sha256=HznEVAlVf_8eyqjsO2edgELtMlXnjnUqccK3
253
265
  fontTools/ttLib/tables/_m_o_r_x.py,sha256=OwamVpIO7REDnFr95HuFPoY_0U6i9zQPb11K1sFTvDY,548
254
266
  fontTools/ttLib/tables/_l_t_a_g.py,sha256=9YpApjI-rZ4e3HeT8Pj-osiHl3uALD9JXg5O7pqk9L0,2552
255
267
  fontTools/ttLib/tables/D_S_I_G_.py,sha256=AgQPM9Cdro1P-ehJjTfsC9mRTTtSc16At0nnpb1XOGI,5517
256
- fontTools/ttLib/tables/_g_l_y_f.py,sha256=5NaOyj2t4tgB0ailbYN8K0PXdj0XSaBblIxqvpe5_xw,85589
268
+ fontTools/ttLib/tables/_g_l_y_f.py,sha256=dDV65llsEDI9fKcVKC5TOiaXpXSyMHNEytuYOGt7adM,85584
257
269
  fontTools/ttLib/tables/T_S_I_S_.py,sha256=tVBnl63vyZUIq93oM6dEjHCXvPn9vt5vvL3jG59b0Lg,341
258
270
  fontTools/ttLib/tables/T_S_I_D_.py,sha256=TsdX-G2xxVQO9sSE1wE_xDRx-gor5YiXTHeUthMwCPY,341
259
271
  fontTools/ttLib/tables/B_A_S_E_.py,sha256=H71A9pJ850mvjbrWHqy8iFI2Dxg7102YRtAkfdCooig,369
260
- fontTools/ttLib/tables/_c_v_t.py,sha256=DMuapXe73YOuUoq9HwDUic0cot3wGY3jn-y5j5iotOQ,1647
272
+ fontTools/ttLib/tables/_c_v_t.py,sha256=1_RhEcTmhWQWQp7Hsj8UsByKmXCIppZyIbIArGywEEM,1618
261
273
  fontTools/ttLib/tables/J_S_T_F_.py,sha256=Q9TEf3OuyDIxZlmoz9a3c-mDMlJK6YBQ9KcYmiwFRbU,315
262
274
  fontTools/ttLib/tables/V_D_M_X_.py,sha256=RbHl7vvO9pcjT_kKvcCmcByQj39n4PmVeq55wD5C14g,10437
263
275
  fontTools/ttLib/tables/_a_v_a_r.py,sha256=QnjP8oO-hozKcI21_bRC-_SzZxVqcHC2VLDyNs4aH9U,7116
@@ -275,7 +287,7 @@ fontTools/ttLib/tables/T_S_I_B_.py,sha256=3WhEtyNnjYumcowD0GpjubrgnS-RzouZxCxEe4
275
287
  fontTools/ttLib/tables/_v_h_e_a.py,sha256=FuULIBl4OQyUeLPOFEY8buB0pAnQhGa1-5a6kN9i5Sc,4459
276
288
  fontTools/ttLib/tables/S_V_G_.py,sha256=vT6QTW5ArtskVUxnPEH_ZxKz4DF4v1pKbylN6DG0R3o,7676
277
289
  fontTools/ttLib/tables/L_T_S_H_.py,sha256=Iu6syJFuhJj0_7Aan2NPlDuQDIq-AzLwsOQbXVTnlL0,2189
278
- fontTools/ttLib/tables/sbixStrike.py,sha256=gFyOlhRIGnd59y0SrhtsT2Ce4L3yaBrLoFJ_dK9u9mQ,6663
290
+ fontTools/ttLib/tables/sbixStrike.py,sha256=dL8O9K8R4S6RVQDP-PVjIPBrvbqbE9zwra0uRL0nLq0,6651
279
291
  fontTools/ttLib/tables/E_B_L_C_.py,sha256=LfEVzBg_yWr9dhChzS0U2G-7wNOwzwB0LWoXIUYNKKM,30054
280
292
  fontTools/ttLib/tables/_g_c_i_d.py,sha256=AJ4uV7PTHbnsw4Tfw8c2Ezh0VMox3oAH0qhhq7y8hdM,362
281
293
  fontTools/ttLib/tables/T_S_I_C_.py,sha256=hAV9Hq_ALsWaducDpw1tDRREvFL7hx7onnUF0sXTelU,381
@@ -292,8 +304,8 @@ fontTools/ttLib/tables/asciiTable.py,sha256=4c69jsAirUnDEpylf9CYBoCKTzwbmfbtUAOr
292
304
  fontTools/ttLib/tables/G_P_O_S_.py,sha256=UkP3mlnyvQg-jj6ZBOh6j-OieVg_goJQ31nlLvoLGSI,397
293
305
  fontTools/ttLib/tables/O_S_2f_2.py,sha256=1Pq2Xu4oYOJePTHC_hTKg3RIfKely3j6T1u_lMTEpD8,28030
294
306
  fontTools/ttLib/tables/BitmapGlyphMetrics.py,sha256=9gcGPVzsxEYnVBO7YLWfeOuht9PaCl09GmbAqDYqKi0,1769
295
- fontTools/ttLib/tables/otBase.py,sha256=BTBFiQuwcFgKXzePIQZkJp18xq8Y174PuFcCjGQLtik,53384
296
- fontTools/ttLib/tables/_l_o_c_a.py,sha256=rwOUDoFC7GXgYZiQGtM5xWjUhJK-cUsJE1NXkQcUmCY,2194
307
+ fontTools/ttLib/tables/otBase.py,sha256=cHdoYX-ICa8GeI-tVhFy1K9-CHaExiKO-HBjmH0OkbU,53330
308
+ fontTools/ttLib/tables/_l_o_c_a.py,sha256=yxiwLKXLZjNju5XYmLb6EhNLec1d7ezEDDe1dszceHo,2180
297
309
  fontTools/ttLib/tables/C_F_F_.py,sha256=yg3mUtYBudgmpG7Bz475j_DNnCelsgrTsM8DH1uR4ek,1978
298
310
  fontTools/ttLib/tables/sbixGlyph.py,sha256=tjEUPVRfx6gr5yme8UytGTtVrimKN5qmbzT1GZPjXiM,5796
299
311
  fontTools/ttLib/tables/_f_e_a_t.py,sha256=Fi1XnjhkCG0tp43AcvpIaivD-YRFpufo6feGIrenQDo,469
@@ -324,11 +336,11 @@ fontTools/colorLib/builder.py,sha256=kmO7OuudQQb3fEOS7aLzgTDVjqS9i2xIQmk9p1uBe8A
324
336
  fontTools/colorLib/geometry.py,sha256=3ScySrR2YDJa7d5K5_xM5Yt1-3NCV-ry8ikYA5VwVbI,5518
325
337
  fontTools/colorLib/errors.py,sha256=CsaviiRxxrpgVX4blm7KCyK8553ljwL44xkJOeC5U7U,41
326
338
  fontTools/colorLib/unbuilder.py,sha256=iW-E5I39WsV82K3NgCO4Cjzwm1WqzGrtypHt8epwbHM,2142
327
- fonttools-4.58.4.data/data/share/man/man1/ttx.1,sha256=cLbm_pOOj1C76T2QXvDxzwDj9gk-GTd5RztvTMsouFw,5377
328
- fonttools-4.58.4.dist-info/RECORD,,
329
- fonttools-4.58.4.dist-info/WHEEL,sha256=nc924w4TUhRiaM6-2LHWgVO2LgkOLXLUotVVlNPrJ7M,141
330
- fonttools-4.58.4.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
331
- fonttools-4.58.4.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
332
- fonttools-4.58.4.dist-info/METADATA,sha256=SkGgR8yK__IzBRG7rCXQWPqII5dAr-r5yU83yucM2II,106602
333
- fonttools-4.58.4.dist-info/licenses/LICENSE,sha256=Z4cgj4P2Wcy8IiOy_elS_6b36KymLxqKK_W8UbsbI4M,1072
334
- fonttools-4.58.4.dist-info/licenses/LICENSE.external,sha256=1IdixYQuQZseNUNQ1bR3SJQhW1d5SGRUR23TNBJjzwo,18687
339
+ fonttools-4.59.0.data/data/share/man/man1/ttx.1,sha256=cLbm_pOOj1C76T2QXvDxzwDj9gk-GTd5RztvTMsouFw,5377
340
+ fonttools-4.59.0.dist-info/RECORD,,
341
+ fonttools-4.59.0.dist-info/WHEEL,sha256=nc924w4TUhRiaM6-2LHWgVO2LgkOLXLUotVVlNPrJ7M,141
342
+ fonttools-4.59.0.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
343
+ fonttools-4.59.0.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
344
+ fonttools-4.59.0.dist-info/METADATA,sha256=LneEbtHYsAQHPecvKT4gNMv-qzS_AwQTJBmslrSnfvs,107891
345
+ fonttools-4.59.0.dist-info/licenses/LICENSE,sha256=Z4cgj4P2Wcy8IiOy_elS_6b36KymLxqKK_W8UbsbI4M,1072
346
+ fonttools-4.59.0.dist-info/licenses/LICENSE.external,sha256=lKg6ruBymg8wLTSsxKzsvZ1YNm8mJCkHX-VX5KVLLmk,20022
@@ -357,3 +357,32 @@ Licensed under the Apache License, Version 2.0, a copy of which is reproduced be
357
357
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
358
358
  See the License for the specific language governing permissions and
359
359
  limitations under the License.
360
+
361
+ =====
362
+
363
+ FontTools includes code in `fontTools.misc.filesystem` which is derived from:
364
+
365
+ PyFilesystem2 (i.e. the `fs` package) by Will McGugan
366
+ Licensed under the MIT License
367
+ https://github.com/PyFilesystem/pyfilesystem2
368
+
369
+ Copyright (c) 2017-2021 The PyFilesystem2 contributors
370
+ Copyright (c) 2016-2019 Will McGugan
371
+
372
+ Permission is hereby granted, free of charge, to any person obtaining a copy
373
+ of this software and associated documentation files (the "Software"), to deal
374
+ in the Software without restriction, including without limitation the rights
375
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
376
+ copies of the Software, and to permit persons to whom the Software is
377
+ furnished to do so, subject to the following conditions:
378
+
379
+ The above copyright notice and this permission notice shall be included in all
380
+ copies or substantial portions of the Software.
381
+
382
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
383
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
384
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
385
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
386
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
387
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
388
+ SOFTWARE.