fonttools 4.58.4__cp39-cp39-win32.whl → 4.59.0__cp39-cp39-win32.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.cp39-win32.pyd +0 -0
  3. fontTools/feaLib/ast.py +2 -1
  4. fontTools/feaLib/builder.py +3 -2
  5. fontTools/feaLib/lexer.cp39-win32.pyd +0 -0
  6. fontTools/merge/__init__.py +1 -1
  7. fontTools/misc/bezierTools.cp39-win32.pyd +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.cp39-win32.pyd +0 -0
  25. fontTools/pens/roundingPen.py +2 -2
  26. fontTools/qu2cu/qu2cu.cp39-win32.pyd +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.cp39-win32.pyd +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,4 +1,4 @@
1
- fontTools/__init__.py,sha256=Sgw9KOmv9qhxk2ZqYsJZsM5biaDMRbNCNSN2BZCU-fc,191
1
+ fontTools/__init__.py,sha256=5U6x_uZd11VYk1ucwvyYEj3wYSfJMdnXPt0twVOXaPQ,191
2
2
  fontTools/__main__.py,sha256=T8Tg8xPKHOCVoYVG82p_zpQXfW7_ERRAphBkZVvhWN8,960
3
3
  fontTools/afmLib.py,sha256=YbmmjT8Du6qFUhFHwnAhOdvsyfXszODVjSJtd18CCjY,13603
4
4
  fontTools/agl.py,sha256=4aKwnbvSVUa39eV5Ka8e5ULwV-IEp4pcfwlMwEH_z3k,118208
@@ -24,7 +24,7 @@ fontTools/cu2qu/__init__.py,sha256=OoM_nBJAleZal6kxeNJn1ESy1pNm5c3DG417yVIE0-Q,6
24
24
  fontTools/cu2qu/__main__.py,sha256=6Vb8Ler3yqJ5w84UwlMJV6cS01uhV4PN10OlXQ6jlqo,98
25
25
  fontTools/cu2qu/benchmark.py,sha256=FwdvNjKfWHo18_CX0CO8AY5c68XSBE4M4TJo_EkB4q8,1350
26
26
  fontTools/cu2qu/cli.py,sha256=CvWzC5a6XF_v5o0yrS4vGI1JXiVVLzSJahTIqpJmiPk,6274
27
- fontTools/cu2qu/cu2qu.cp39-win32.pyd,sha256=DK5k8m_wEQ_vtd8JQDnYiecuvnKjlHk9CQIqV0LaK0I,88576
27
+ fontTools/cu2qu/cu2qu.cp39-win32.pyd,sha256=WwSbRTJA11ZZUPw_WM7QpTsazL3DIXicZu6Et4sQaEg,88576
28
28
  fontTools/cu2qu/cu2qu.py,sha256=XH2bnQ5aG9ic921ZWzQzU1-q3MQU6INCjLk4XjRj5_Y,16970
29
29
  fontTools/cu2qu/errors.py,sha256=uYyPSs_x-EMJKO2S3cLGWyk_KlHoOoh_XEtdB_oKBp0,2518
30
30
  fontTools/cu2qu/ufo.py,sha256=Mpd_7Be9jxNcOKFqkyRp8Oem3CS3R-ZYMMSD03LJL6o,12143
@@ -39,16 +39,16 @@ fontTools/encodings/__init__.py,sha256=QoK6HlOoqtVqX5gOyv0bJiTXsVBbBRreUifdccWNp
39
39
  fontTools/encodings/codecs.py,sha256=bSpO6kuPbEIDsXSVHhzftqsm_FFUiXpLVfPSk410SqE,4856
40
40
  fontTools/feaLib/__init__.py,sha256=RprjP6BKswq4pt0J-9L1XGuZfjIFAGD6HDly_haMAN4,217
41
41
  fontTools/feaLib/__main__.py,sha256=niUAPkiYxeRAJMlJuvVJZism2VFufZrNaQtieA7sNLk,2318
42
- fontTools/feaLib/ast.py,sha256=jyQ-s8Ge0lofy9iFRC45T_heW5TET--qoPtNst1Au9Q,76270
43
- fontTools/feaLib/builder.py,sha256=M4r7qFbgCIECIMFrz559y29L2jeBDe0o8091vx3J8c8,74872
42
+ fontTools/feaLib/ast.py,sha256=q-UvEPZ97AAHpggVOzVHdgfTcE072kuOK08rdAYpCXU,76301
43
+ fontTools/feaLib/builder.py,sha256=9f7v9Vfo0HkC6Pqj-hP4B6xj5GDIoV_XLCeDajmbI2g,74962
44
44
  fontTools/feaLib/error.py,sha256=pqi8F2tnH2h7pXVffxwzuBuWaSHMzZsXs5VckdQKQAI,670
45
- fontTools/feaLib/lexer.cp39-win32.pyd,sha256=S_p56EDAkVYTdSV5kSa71EdxNFS-xH2FhvtKLd8DfK0,110592
45
+ fontTools/feaLib/lexer.cp39-win32.pyd,sha256=j3BGaqqEP1t2qbvNRWtyzhy5msMU4zdIiM7Nj7j0Qvw,110592
46
46
  fontTools/feaLib/lexer.py,sha256=7VZ3NPFH7V1mvRbym111BNKvbB4hLfGLTMS0VV_3Ipw,11408
47
47
  fontTools/feaLib/location.py,sha256=teHrhjT8zzImcGBEJS1J43oaX9onCPu_pynxS8d-tUg,246
48
48
  fontTools/feaLib/lookupDebugInfo.py,sha256=h4Ig8kmEk5WlGf1C9JJAbbOKQK5OwkFLdj8CT7fOkmU,316
49
49
  fontTools/feaLib/parser.py,sha256=fdycJS5E1RtBvFifNx4rub360J6LmUyX5XpvfoEGxNI,101710
50
50
  fontTools/feaLib/variableScalar.py,sha256=RiLHKQh2-wa-BZ015H2e7XkbshssTj2PjlapaMNJfAs,4182
51
- fontTools/merge/__init__.py,sha256=6MOtk0FXWmSmZsLf1sfjiN2lteVm-u9tI0RVWFewYHM,8498
51
+ fontTools/merge/__init__.py,sha256=A6aQxwtbzcLUrE9UOdk3yCrMwqPOboTEr5ZyEu9RxRg,8504
52
52
  fontTools/merge/__main__.py,sha256=3_u3dnyEOyh0O-SrLMLlkXxOfCFT-0SlwJpimosVJ-c,100
53
53
  fontTools/merge/base.py,sha256=LPJKOwMiDwayLGzA1xH325CtYHPvahAA17lihvKjiPw,2470
54
54
  fontTools/merge/cmap.py,sha256=zoOze0gVp4YQXGs-zFf5k7DgEPdFMs-A3sm5v-Rtz5M,6901
@@ -59,7 +59,7 @@ fontTools/merge/unicode.py,sha256=mgqRFhRugda62Xt0r28SduaN7YBzRfHxrpNprjLqoX8,43
59
59
  fontTools/merge/util.py,sha256=3alo4b7mhFNC6h8PjeqNU99dS7EuO8sdZkZpvRsEE6E,3521
60
60
  fontTools/misc/__init__.py,sha256=QoK6HlOoqtVqX5gOyv0bJiTXsVBbBRreUifdccWNp2k,76
61
61
  fontTools/misc/arrayTools.py,sha256=baENNALPvYRUhS4rdx_F3ltOmVIf1PV9G2EaMt7gAHM,11907
62
- fontTools/misc/bezierTools.cp39-win32.pyd,sha256=ScyO22K9S7sf01kLJJ2gN21pWhkMmkITs9CWxWD8xsU,317952
62
+ fontTools/misc/bezierTools.cp39-win32.pyd,sha256=jjzVd60uj419B_45NJ2PxMpUTu4W2M2_VjMh_TEm78g,317952
63
63
  fontTools/misc/bezierTools.py,sha256=m4j14ckKYtrKy8NhFFFY_Uv3kuL8g-SWNdEKUzqGjRQ,46535
64
64
  fontTools/misc/classifyTools.py,sha256=wLTjOhLiZaLiwwUTj2Ad5eZ5T_38W0Eo_uzRGWHWYvE,5783
65
65
  fontTools/misc/cliTools.py,sha256=7zKOXczaCKRMW6Yv5jdCZYHco8y0-lfimhIWzQ2IL8A,1915
@@ -82,7 +82,7 @@ fontTools/misc/psLib.py,sha256=cqxG8yMZ7_5VTxgTUl2ARNhIhNu_iTzxLTEd1Egwugo,12497
82
82
  fontTools/misc/psOperators.py,sha256=9nZ4ymbiiCApY9V8OARpYqvO73OEcJgGyTtCuGzD-rw,16272
83
83
  fontTools/misc/py23.py,sha256=BhByQabxZis6fDvK3ZVeI-YRj_1rMQeBZCFzGWIac0U,2334
84
84
  fontTools/misc/roundTools.py,sha256=2rmbuk73NYGPmJqP58FQCFioSLilvNffd0WbL5znKUg,3283
85
- fontTools/misc/sstruct.py,sha256=RG8qOzTkp9LIN5bis5XkbA-6amnuv2Pi-foZTzIQRRE,7389
85
+ fontTools/misc/sstruct.py,sha256=7Lc9x2RV_e2JvSI4A_Rs0tM1mZpjYg_oAJKhP_F9zts,7236
86
86
  fontTools/misc/symfont.py,sha256=KYAtw-ZnG5YReS8XkSDIvxc1bl0xzZl-Wx4J7k7u7LA,7219
87
87
  fontTools/misc/testTools.py,sha256=SG48M4TJIQ4_cPpitUzGEITPnwL-o0yNZKXzWSQdwVE,7285
88
88
  fontTools/misc/textTools.py,sha256=NIBmM6k9PXIs8DMpio-9ckHS35QxL2EMFwBXP6zG-8w,3531
@@ -90,15 +90,27 @@ fontTools/misc/timeTools.py,sha256=lmncKUKvxQKO4Kqx2k7UNFkYYpj2n5CwR1lPiLZv3tA,2
90
90
  fontTools/misc/transform.py,sha256=pCR0tbKzmhH6crB_rDT5hnAWySztW_XqL0efmKOVsCU,16314
91
91
  fontTools/misc/treeTools.py,sha256=IMopMUcuhelvz8gNra50Zc1w8DSlWywnL6DFaz1ijQs,1314
92
92
  fontTools/misc/vector.py,sha256=yaNixq5pXXpPCD_wRP-LsXYSLr4WPX_y92Po05FeLU0,4209
93
- fontTools/misc/visitor.py,sha256=h35A4SWww-MNII7f68bc9pj1-2poTxztvVpKH5EEtEE,5456
93
+ fontTools/misc/visitor.py,sha256=30EPyUKvNsYU81uiYKjp_9gFj2KSqF8W2y_ldyIBJYQ,5760
94
94
  fontTools/misc/xmlReader.py,sha256=gqYg3qlDkrKsO55DPaJ-dU0i5rltqZgnKlrXmR2Z7dQ,6768
95
- fontTools/misc/xmlWriter.py,sha256=3gHeiyhbXDqDK-jn44f4znND3nEPWnk2Bdlm2Y8JZYo,6250
95
+ fontTools/misc/xmlWriter.py,sha256=rGn6BDiB2MPrhoNabDbY4vAHZC6-mEciwCJXtOL6hMA,7060
96
+ fontTools/misc/filesystem/__init__.py,sha256=wAfcTDA9TBfzZpEN-jnlhNgJ-7tsvsEpbEb3TP9B8Vs,2079
97
+ fontTools/misc/filesystem/_base.py,sha256=7vVl3J-xRNjQMrtoXDfeCCXSolM61gOZuML0p7akqL4,4144
98
+ fontTools/misc/filesystem/_copy.py,sha256=ilLjWsY9smVAD6xfDQTf6SiQQbwYvBB1C1UTAi8y0oA,1406
99
+ fontTools/misc/filesystem/_errors.py,sha256=ydFO8gLDQg-19zNps5c25aFS2pn8KoG36isRqHf223w,695
100
+ fontTools/misc/filesystem/_info.py,sha256=84OTekpR5N_7sbnnOGznTeXgNrKauAECnl8Exr5iEUs,2088
101
+ fontTools/misc/filesystem/_osfs.py,sha256=rdUu0wz8EEJgyjSkh7sPW_mwNmTuOulbD-t2C3kQy1M,5901
102
+ fontTools/misc/filesystem/_path.py,sha256=uPk1ncLUelCM4ms1Onj_sQaOGZZSB4eK-4HYmoKwZNI,1812
103
+ fontTools/misc/filesystem/_subfs.py,sha256=WZ7OUO56PeF86AJB4lO1UXm94zC0BHkAwa1BVJc6aLk,3120
104
+ fontTools/misc/filesystem/_tempfs.py,sha256=VFmK5-W7VmAutZEYGSfrG562lgW0Jk2ZdxTz4w4B5II,958
105
+ fontTools/misc/filesystem/_tools.py,sha256=Po76YLo2pYODh13d_kjTMa9XCf8A6MUlRM7obLAMZOw,1006
106
+ fontTools/misc/filesystem/_walk.py,sha256=WU0SBKObrj_bCqB48z2uEsFWnNosSfekwBlAER5-HKE,1710
107
+ fontTools/misc/filesystem/_zipfs.py,sha256=IcIO3epWIGT85LSRcoWmofkGGyYVY47zQaWQHKmoIRs,6505
96
108
  fontTools/misc/plistlib/__init__.py,sha256=doPqlGry1mRywSup0ahnwuT7mNeClhYQ82y7kd86hWQ,21794
97
109
  fontTools/misc/plistlib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
110
  fontTools/mtiLib/__init__.py,sha256=izRpPCoQfLoDjrlgKqP6gAE6JF9LU73aqH2_qi0NpaM,48002
99
111
  fontTools/mtiLib/__main__.py,sha256=MnVcMQ1TxmYged20wKcjrpZDIvetmkzfRVKHCb5dsUc,99
100
112
  fontTools/otlLib/__init__.py,sha256=WhTONAtlItZxWAkHNit_EBW19pP32TFZSqIJ_GG6Peg,46
101
- fontTools/otlLib/builder.py,sha256=sT3eYWVvWimnb1yb0jJZ0RtO4Bi2twGHU6qKZpOWI40,131104
113
+ fontTools/otlLib/builder.py,sha256=YTmrntgVrFbeSkAv44AZqBdIUBUUPyKcKPHj_kkh_pc,132192
102
114
  fontTools/otlLib/error.py,sha256=0OQ2AuxKNEqvoHIkgouf47LDGDEmPUlhdZIW5DROL8k,346
103
115
  fontTools/otlLib/maxContextCalc.py,sha256=sVU7LLwkjhV16ADcpjbUwCt5PZbWWdc8_yZo9Lv7HaI,3271
104
116
  fontTools/otlLib/optimize/__init__.py,sha256=NKqA7fqHyzjkmuBL_ZVpc3u9OMbWxbKDtymC8CnVGNY,1583
@@ -115,7 +127,7 @@ fontTools/pens/explicitClosingLinePen.py,sha256=knCXcjSl2iPy6mLCDnsdDYx6J5rV7FH4
115
127
  fontTools/pens/filterPen.py,sha256=tWhgklyaCTUt7oQRTBbFUcOlc702V0NfadCH3X93CYg,8031
116
128
  fontTools/pens/freetypePen.py,sha256=NqNzXrOTDckoH4N6WLnj-KuxGcg6z7DlqSCfmpq8qAE,20370
117
129
  fontTools/pens/hashPointPen.py,sha256=ZAU87uw5ge3Kb4i9kRV28a5VFeZ_TWSsJabyAzwAHrU,3662
118
- fontTools/pens/momentsPen.cp39-win32.pyd,sha256=737TSryweC5XjH6kKNOQqax07IOiqquiUVrcH9rghKk,81920
130
+ fontTools/pens/momentsPen.cp39-win32.pyd,sha256=xyjSxO19cswmbUH_UEAJYpPrY0AkFWpb0UcaJL3OtL0,81920
119
131
  fontTools/pens/momentsPen.py,sha256=Z-V5CjQBSj3qPxg3C_DBFKExqno89nOe3jWwHT9_xsM,26537
120
132
  fontTools/pens/perimeterPen.py,sha256=Zy5F8QzaNJAkkQQSb2QJCp-wZTvDAjBn-B099t2ABds,2222
121
133
  fontTools/pens/pointInsidePen.py,sha256=Hy48iR5NWV3x_wWoos-UC7GMtwvvUhd_q_ykiwaWdzQ,6547
@@ -126,7 +138,7 @@ fontTools/pens/quartzPen.py,sha256=6DMDWPYfsOb374VDnLLpKLqcMJig4GCGbTsW1Jr0fgg,1
126
138
  fontTools/pens/recordingPen.py,sha256=hw393TStvhoF1XT7aidpVQ8glASbxZuARnUAyUyZAGM,12824
127
139
  fontTools/pens/reportLabPen.py,sha256=vVRG044LvUvFtqrRFYRiMFS_USHAeAvz9y9-7__WbY4,2145
128
140
  fontTools/pens/reverseContourPen.py,sha256=E_Ny86JfiMoQ04VfswMtdpaKCU37wNy9ifOccb0aWKQ,4118
129
- fontTools/pens/roundingPen.py,sha256=AHC1J0dgRChtFmkkgeR1D1ZNFUoHZTcHpWRIyL5d1_Q,4779
141
+ fontTools/pens/roundingPen.py,sha256=e7rZdTmHfGX7vLHcqJ-ntc8qIhquLCDeaOhzYxQH998,4750
130
142
  fontTools/pens/statisticsPen.py,sha256=F_JjbNtvYmJ0b3Fbv3BA3-LZhecodPr4tJEQZZd4Jxc,10120
131
143
  fontTools/pens/svgPathPen.py,sha256=4aU4iTlnGuzzyXrBgfHvrjMOkC2rdSF8HOkJ_q8tZ38,8882
132
144
  fontTools/pens/t2CharStringPen.py,sha256=g0lcaRhSAs4T2NuWvn89TODikC1t9x4KyBq0Dnkso-0,3019
@@ -138,9 +150,9 @@ fontTools/qu2cu/__init__.py,sha256=MpdE0XsHSDo9M3hyHLkPPLxB3FKr3aiT0dPW5qHCuSo,6
138
150
  fontTools/qu2cu/__main__.py,sha256=leKpToUNNyHf0nobr1I19vus2ziA1pO7rRKkreat-Xw,100
139
151
  fontTools/qu2cu/benchmark.py,sha256=PFxx2Bfu7-KuNrzdOIBXHPZvyNphqqcTVy4CneaCo3M,1456
140
152
  fontTools/qu2cu/cli.py,sha256=1QLBTSZW7e_VATJN9vjszRxIk_-Xjxu1KP53yX4T7q8,3839
141
- fontTools/qu2cu/qu2cu.cp39-win32.pyd,sha256=Kb0IrtkIVShR0E8dEgm2__4JXRvpbBpH_l-ieVx5W-g,97280
153
+ fontTools/qu2cu/qu2cu.cp39-win32.pyd,sha256=Lupr9yrC9fuJuBaWEWF8mdejrgR3lc1Tv7KfOh4im7M,97280
142
154
  fontTools/qu2cu/qu2cu.py,sha256=dtp5Zqhcs_NePwA2U5fgG2LtWleRwmBilTurau8sLL0,12693
143
- fontTools/subset/__init__.py,sha256=UUOidAx7b_LNNsRnEizxG8tPF5JX5-4fooerwyTWFvU,141588
155
+ fontTools/subset/__init__.py,sha256=cMUbkLDSaj0f576WF5zhbZ9mYT4U9b_PPzFFBpg8VEI,141636
144
156
  fontTools/subset/__main__.py,sha256=cEIC52EtGOJvFDfHXzi0M2EAYmyHAcI-ZZ0lb2y4r7s,101
145
157
  fontTools/subset/cff.py,sha256=GSmxdsokxuFKvJJQVcAIOhd5hYQq8KkzxnXE_dgm8yo,6329
146
158
  fontTools/subset/svg.py,sha256=y_yTZuAm3bjcoEOFu5likXoHuG5u1oNiv0mOni2Z9fQ,9637
@@ -157,13 +169,13 @@ fontTools/ttLib/macUtils.py,sha256=B5UhZU8gQerJMXEG9-BGZsuv3aewFRAGQ5HCuZMzMkQ,1
157
169
  fontTools/ttLib/removeOverlaps.py,sha256=PTxICjLx89JxKfboLruoV_OwuwCIxcJ4feNcCCkrsTQ,13005
158
170
  fontTools/ttLib/reorderGlyphs.py,sha256=PAHvoh4yN3u-_aDACH8H1ResVMCmVE7Kp5_mIKAG0TI,10656
159
171
  fontTools/ttLib/scaleUpem.py,sha256=Qz-kS48q7a5GibgnPoUglyVk_qIVkYp5KZ-r1aMx_7Q,15054
160
- fontTools/ttLib/sfnt.py,sha256=7X9xujgV0Za4nOEfUD3mSrrRb-f9NuzEqgJ-IFLNVQU,23494
172
+ fontTools/ttLib/sfnt.py,sha256=0VEhMx4T30H5X8_ZrpgXv8mxZkdLcGUETcN-QfmTiOM,23453
161
173
  fontTools/ttLib/standardGlyphOrder.py,sha256=VG-8hW1VgQIro7cDJusSXThILIr4pQgmU37t85SQ65Y,6056
162
174
  fontTools/ttLib/ttCollection.py,sha256=1_wMr_ONgwPZh6wfbS_a7lNeE2IxUqd029TGObOsWs0,4088
163
- fontTools/ttLib/ttFont.py,sha256=t57l-KFaSAs29LQz7NOqatjsZSnqt-VVqPloySwetEU,42122
175
+ fontTools/ttLib/ttFont.py,sha256=MkZX62eRAu_Qq7DFKLW5KBVbq3ZZJAGIiyUeRtFk_3g,41817
164
176
  fontTools/ttLib/ttGlyphSet.py,sha256=JQZTE5TKXaVdceqYHZiC7gYanl_1mpHWjtW6GYjAtZ0,17966
165
177
  fontTools/ttLib/ttVisitor.py,sha256=_Dkmz0tDs-5AFUR46kyg3Ku6BMPifrZzRU8-9UvXdz4,1057
166
- fontTools/ttLib/woff2.py,sha256=LuX5SHMlhuhNRI0W5J2UnDua7_3NCnGaoofXhmjkf3g,62741
178
+ fontTools/ttLib/woff2.py,sha256=-vdJKDAUUJlriaoOGnrtB8OwagiJ8argKeNhR4YzIHs,62601
167
179
  fontTools/ttLib/tables/B_A_S_E_.py,sha256=KpUf8_XEoFNEv3RcoQjfOaJUtBBaCxMzfifEcGtAydI,383
168
180
  fontTools/ttLib/tables/BitmapGlyphMetrics.py,sha256=cQuhook-kYL6AoUS9vQIAr65Ls6xN-e15l_lCxDwM2w,1833
169
181
  fontTools/ttLib/tables/C_B_D_T_.py,sha256=zg-Knjto2WgnEjl-_foLbeecNp0KHUOHg8ZgCmAyCqI,3759
@@ -197,7 +209,7 @@ fontTools/ttLib/tables/O_S_2f_2.py,sha256=HFVzQYVZDqETgRCTbRqa3NyyuwlTwmc6CNSngj
197
209
  fontTools/ttLib/tables/S_I_N_G_.py,sha256=6deN-m2-k5C20NE8iTdajju8D2Mw_0tcPiHQln_RaMo,3416
198
210
  fontTools/ttLib/tables/S_T_A_T_.py,sha256=clj8sbU60dzo16KApGXNp54CSS387GjIjxuiu5cU09c,513
199
211
  fontTools/ttLib/tables/S_V_G_.py,sha256=O6Aik0j7t02ODsZRwI_tJUwNJQiZ3Dl3oxPqQhyRXH8,7899
200
- fontTools/ttLib/tables/S__i_l_f.py,sha256=nXCNpzLpeKDruzavbQVQ_VYLtIB0Yq-i46iMqPClIwg,36027
212
+ fontTools/ttLib/tables/S__i_l_f.py,sha256=i-ufBKv10ykJ7-8rfYnA7RgcIdl3XaQmz8pNrLOsWCw,36025
201
213
  fontTools/ttLib/tables/S__i_l_l.py,sha256=LeN6U0y4VLNgtIa7uCX_cpsZW1Ue_yKY8dsZJyS75ec,3316
202
214
  fontTools/ttLib/tables/T_S_I_B_.py,sha256=zbtLbMfCSVRd9hc5qoxPoQ8j3tNYtrvofTy7Kl6TBwE,354
203
215
  fontTools/ttLib/tables/T_S_I_C_.py,sha256=xpE9EYI3hFETe0CFG4RMe4G52_2aBsOs9kiCwXISKeo,395
@@ -207,10 +219,10 @@ fontTools/ttLib/tables/T_S_I_P_.py,sha256=4h7p-ssF_gklUJHtkPy62eA8LvidV38K3HHmiJ
207
219
  fontTools/ttLib/tables/T_S_I_S_.py,sha256=eDzfFEZHN4-sawGAF5gtAIj8LKRAFXe8z1ve7aHmY9M,354
208
220
  fontTools/ttLib/tables/T_S_I_V_.py,sha256=IX-V7mRFxXNmj-wtEfFvpDjkevGZE-OEo5-Dvd6jfgY,881
209
221
  fontTools/ttLib/tables/T_S_I__0.py,sha256=-ahx5aDKeZAkoeZHXZRw95aZ85905sYAPhDlKGb_1_A,2575
210
- fontTools/ttLib/tables/T_S_I__1.py,sha256=-QZug_3dTIAYU25tXrig3gOF7RUvZr_ygjg7jZYajUM,7224
222
+ fontTools/ttLib/tables/T_S_I__1.py,sha256=QXBeuKDikkWQME0T3e-NYK7qevsJClLl121Za5bXQsg,7134
211
223
  fontTools/ttLib/tables/T_S_I__2.py,sha256=QU05Fvz1L-OE7bqXwsRuMjrhtGwi7WtI-UwS7lBS1jM,513
212
224
  fontTools/ttLib/tables/T_S_I__3.py,sha256=bBo8nZ2bXDcKAmym1rRM--4nrjSXl7CvQhqe6h544SY,565
213
- fontTools/ttLib/tables/T_S_I__5.py,sha256=hA0iN5Pvq0_8py1PxNn8XcAfqMBM92TaGUJdT_UaCl0,1973
225
+ fontTools/ttLib/tables/T_S_I__5.py,sha256=QbEJddd97R46RGfaDYbkwwpd_hDtEddLoK3MkzkOZIo,1965
214
226
  fontTools/ttLib/tables/T_T_F_A_.py,sha256=2lCDLx_UmkWTvNLrKkDm7T4MErKOvojLDvr6iQ9tXpM,406
215
227
  fontTools/ttLib/tables/TupleVariation.py,sha256=m7TWmB4TBmJ6DD_onpYidGp5qq3ogTd4qYRXa8XHJ90,33119
216
228
  fontTools/ttLib/tables/V_A_R_C_.py,sha256=6CgniBLKLlrLXRqDC-z6aYHQD1QzXZYF8w9DMof1PMc,301
@@ -222,23 +234,23 @@ fontTools/ttLib/tables/_a_n_k_r.py,sha256=eiy6DKxPGw-H9QCLWIQBFveuTFQSKgcPItwgyB
222
234
  fontTools/ttLib/tables/_a_v_a_r.py,sha256=cIqfWyyU5hNrJ-SIfVCKQcpyi2DUjobAgrmyE2In9FI,7307
223
235
  fontTools/ttLib/tables/_b_s_l_n.py,sha256=iHLFy3sjFFoGa-pDGdcLCCudv4QFMt2VBL06gigGA_k,480
224
236
  fontTools/ttLib/tables/_c_i_d_g.py,sha256=BPa6b0yrmT8OXPW3USRpn_H8DOLKFlDe9subtRDJBrc,937
225
- fontTools/ttLib/tables/_c_m_a_p.py,sha256=BTWxvUta7Y_ZUq2zyIsKY86yXfhs6JGl0bEBJ4hilsY,63799
237
+ fontTools/ttLib/tables/_c_m_a_p.py,sha256=dvtnrDf1LjXVf_DXW0tz67BqOlf7dINyG0_HF3aoDmw,63793
226
238
  fontTools/ttLib/tables/_c_v_a_r.py,sha256=5LCuL07YXkqcqkSQeW4F6Vlx5XYtkjIIyiYfQ88Ydw0,3621
227
- fontTools/ttLib/tables/_c_v_t.py,sha256=cJ_9JHh-Tud0CjWNaFqyO3X4pKO2_rdL82rtrWhO4Vc,1704
239
+ fontTools/ttLib/tables/_c_v_t.py,sha256=n1dc7Gyui5HxkimCYGMEdJ8V5X27UCDbydhv5-npNiI,1674
228
240
  fontTools/ttLib/tables/_f_e_a_t.py,sha256=g-B57skN59uZa3dQ88gMVpY1RmQH92cCkttJq2T4TzY,484
229
241
  fontTools/ttLib/tables/_f_p_g_m.py,sha256=eX1DSy29t_BFai90WQKEgHgCuMLqFp01Ff9a1txuuLI,1695
230
242
  fontTools/ttLib/tables/_f_v_a_r.py,sha256=hpxU0-u7_pZYDmQdKpmd_7c6BjVpXHdoQ97jKk9Kz5U,9098
231
243
  fontTools/ttLib/tables/_g_a_s_p.py,sha256=Pr4X2CEg3a_nYAZrKSWT0auQ5HU2WutP1Shxxg7ALPw,2266
232
244
  fontTools/ttLib/tables/_g_c_i_d.py,sha256=diZlew4U8nFK5vimh-GMOjwHw8ccZtIEl9cPq0PrNdA,375
233
- fontTools/ttLib/tables/_g_l_y_f.py,sha256=hdaJvO2KUL3wqOkP5ti5jE30e6Jt6Stb2aM5-vzb9l8,87901
245
+ fontTools/ttLib/tables/_g_l_y_f.py,sha256=gnZ1femTeEaFeWn4inLiWL0h8U9_iJ0CzU_6PDtFryk,87895
234
246
  fontTools/ttLib/tables/_g_v_a_r.py,sha256=bXLh4wXqtbL_hEmds5PXWJ5FTx58_1VojaqVvgesYH4,12412
235
- fontTools/ttLib/tables/_h_d_m_x.py,sha256=Da8Og1KFmOLJGkBlLDlcgdvrIeCTx1USGwnmlg93r3E,4398
247
+ fontTools/ttLib/tables/_h_d_m_x.py,sha256=1dRbNSzHQlznrXqG0GtFYbGp_SzzgDcYfJqhSoS1FL8,4379
236
248
  fontTools/ttLib/tables/_h_e_a_d.py,sha256=ft9ghTA1NZsGBvB0yElFFCqVHecuCKGjT2m2GfYB3Yc,5056
237
249
  fontTools/ttLib/tables/_h_h_e_a.py,sha256=pY92ZLt3o0jZ3KQVd_qtxYtk_tbP2DLzSWm_wVP8FNM,4914
238
250
  fontTools/ttLib/tables/_h_m_t_x.py,sha256=p-9K-E3LcdJByagZ-0F0OA11pCVfNS9HtKRjbpvMM6I,6202
239
251
  fontTools/ttLib/tables/_k_e_r_n.py,sha256=AjG5Fd6XaPAdXi5puDtLuMrfCsHUi9X7uFh76QGCMrc,11083
240
252
  fontTools/ttLib/tables/_l_c_a_r.py,sha256=N-1I6OJHvnF_YfGktyfFTRAG5lrExV7q6HX-0ffSRyQ,403
241
- fontTools/ttLib/tables/_l_o_c_a.py,sha256=d1pX-QByFSJ00K9NQaOGbAHDr0pax_48PkfCupvekkw,2264
253
+ fontTools/ttLib/tables/_l_o_c_a.py,sha256=MHRhxCcHbyK71lD3L91qNfYXD_rflSXsRa-YHDptCik,2250
242
254
  fontTools/ttLib/tables/_l_t_a_g.py,sha256=rnf8P_C_RIb37HBNk0qDSxP7rK-N9j5CcQHgMrPSuxw,2624
243
255
  fontTools/ttLib/tables/_m_a_x_p.py,sha256=9B6lvWo4y42dyLPIvG6CsVOlWCk7bs4DoVJDB8ViEew,5411
244
256
  fontTools/ttLib/tables/_m_e_t_a.py,sha256=I8HaZgcIPQZcCxBiSX0rGrfrs-zXRGUfEbJ8eGvZ07A,4025
@@ -246,7 +258,7 @@ fontTools/ttLib/tables/_m_o_r_t.py,sha256=LU3D9PmV_nFs6hoccGmr1pfUzjJaeB_WRW2OIS
246
258
  fontTools/ttLib/tables/_m_o_r_x.py,sha256=vLyrtx_O__BwnPi7Qo3oT8WHaANRARtHcqHSdZ5ct0E,563
247
259
  fontTools/ttLib/tables/_n_a_m_e.py,sha256=bvahvBMX21pC6G83D35WZap6F7BDd7Xi2AmhVMBZz00,42300
248
260
  fontTools/ttLib/tables/_o_p_b_d.py,sha256=lfJi6kblt_nGmGmRSupwEaud3Ri_y6ftWNuyrCPpzQ0,462
249
- fontTools/ttLib/tables/_p_o_s_t.py,sha256=Sifgmfgu6UQLfun6nkVGj5jBgMqmYTs3fpDDm_zOOMY,12073
261
+ fontTools/ttLib/tables/_p_o_s_t.py,sha256=HIsvathEMOAm8QFG7vcRfPQvBqXh-QmsVyOoDWsaRNc,12020
250
262
  fontTools/ttLib/tables/_p_r_e_p.py,sha256=qWDjHiHvHaJCx2hYFmjJeMwpgwvD-cG5zkibMh9TWuk,443
251
263
  fontTools/ttLib/tables/_p_r_o_p.py,sha256=ux5Z0FrE7uuKQrO-SCQwButVtKmEAsvfDE6mOP_SOnE,439
252
264
  fontTools/ttLib/tables/_s_b_i_x.py,sha256=KF9acCLqBcYpg92h5vJBp5LsNT7c4MDKD4rocixRPKw,4994
@@ -255,32 +267,32 @@ fontTools/ttLib/tables/_v_h_e_a.py,sha256=ay73lNwQR72zZeyQ00ejfds2XmUp7sOLidnSzM
255
267
  fontTools/ttLib/tables/_v_m_t_x.py,sha256=933DMeQTI9JFfJ3TOjAFE6G8qHXJ7ZI2GukIKSQjaFU,519
256
268
  fontTools/ttLib/tables/asciiTable.py,sha256=xJtOWy5lATZJILItU-A0dK4-jNXBByzyVWeO81FW8nc,657
257
269
  fontTools/ttLib/tables/grUtils.py,sha256=T_WsEtpW60m9X6Rulko3bGI9aFdSC8Iyffwg_9ky0_I,2362
258
- fontTools/ttLib/tables/otBase.py,sha256=UMBHfYAUbhe_NkrpsTvgL_vJCbQ9vksZDrdkr1DqPcE,54850
270
+ fontTools/ttLib/tables/otBase.py,sha256=CLtbHFqU-X0l07cj2jVE9BgZT28PYJXC1v_jBq7WUfw,54794
259
271
  fontTools/ttLib/tables/otConverters.py,sha256=7_vqtb3-OV_iyHnVBrbQCWLg7lqkrX55F5PwRVDkck8,76270
260
272
  fontTools/ttLib/tables/otData.py,sha256=i6KD2n1OqJvYgRlXV9-ya_QSmhYl8jcBQm61zCnBt90,203662
261
- fontTools/ttLib/tables/otTables.py,sha256=GCxuX-FIMLKbRd4TdE2c9YLsWRkufpzX1TAAxEAJBK4,99836
273
+ fontTools/ttLib/tables/otTables.py,sha256=Oe7YfSsfTBC_loA0KSwGtD7pZ5BSgInUSDvrPceRUY0,99690
262
274
  fontTools/ttLib/tables/otTraverse.py,sha256=T1fnamNXqvFPUBspFm7aYsq_P0jUSJSy1ab9t48p_ZI,5681
263
275
  fontTools/ttLib/tables/sbixGlyph.py,sha256=a-mCmO5EibN_He7QQohG06Qg-fCOHWiNFMAbCpxa25w,5945
264
- fontTools/ttLib/tables/sbixStrike.py,sha256=9-UIVPormVd27lOU5fuGZvzkckA2U5975jBXXUEPxKA,6840
276
+ fontTools/ttLib/tables/sbixStrike.py,sha256=Q1F4rFlj-SwUKFDJkcta1oz_b393dt9VYFOyxaFSc_o,6828
265
277
  fontTools/ttLib/tables/table_API_readme.txt,sha256=E9lwGW1P_dGqy1FYBcYLVEDDmikbsqW4pUtpv1RKCJU,2839
266
278
  fontTools/ttLib/tables/ttProgram.py,sha256=vkRtptH7QXD0Ng8LNzh-A_Ln27VPCxSJOXgW8878nSo,36482
267
- fontTools/ufoLib/__init__.py,sha256=LYIIhFjl4flv5NidE5T6u57Sda5-xYu82Vrva7dN1aY,96908
279
+ fontTools/ufoLib/__init__.py,sha256=HbYdVqQUpL5szGEnkuBhRSOKgpWTQLuRADfy1te1Rv0,96811
268
280
  fontTools/ufoLib/converters.py,sha256=hPVFC0K1IPXG8tCGZQOIUXB4ILdiGPuzbgtqSiWHZn4,13442
269
281
  fontTools/ufoLib/errors.py,sha256=pgJKS2A5RcsfQS2Z6Y_l3mIz62-VD_SrpIysKmywuYA,875
270
282
  fontTools/ufoLib/etree.py,sha256=kTUP1EzN2wSXZ4jwAX8waNfKz52u7jc2qQ2LrqPYLBw,237
271
283
  fontTools/ufoLib/filenames.py,sha256=wuXjT9VX3791TBJ0WL4lWhFQ6pInkcYML9Mgc2cdJsE,10764
272
- fontTools/ufoLib/glifLib.py,sha256=O75JqjD9gZwpJPD6Pvh0lyYMk5m-rqIwIbr0EJ1kYdU,74781
284
+ fontTools/ufoLib/glifLib.py,sha256=lV42VMkIDuYL10L5lqLj6c4JNqSgvWGJZT05Kw2ddVI,74723
273
285
  fontTools/ufoLib/kerning.py,sha256=VgE-xhGMAD2ipauleB-liNxwBuR_Ze5Jceb4XDi2Ob4,4354
274
286
  fontTools/ufoLib/plistlib.py,sha256=GpWReRtO7S1JCv6gJnnuiYooo4Hwbgc2vagT041kFk8,1557
275
287
  fontTools/ufoLib/pointPen.py,sha256=bU0-DLHrWKyutmwjw0tvhT-QPE-kmqs2Dqe0cflYgOk,250
276
288
  fontTools/ufoLib/utils.py,sha256=3hKaFRkCBhmwP6NRst6H0d5ZKSXYTzKK8kNfGGwzEaw,2074
277
- fontTools/ufoLib/validators.py,sha256=nZgijPWW40jzcQb6YgujVFVi53mPPlmrQ1uU8QJT_Gs,31991
289
+ fontTools/ufoLib/validators.py,sha256=VtH8-SzQv16T6oVqYkRmdcwLBE8E0c9t0kiDgCMgqO4,31997
278
290
  fontTools/unicodedata/Blocks.py,sha256=R0rSdM3NktyDMxtyLQJV4nvlTJylX9osWKkQQ_ZTEpQ,33216
279
291
  fontTools/unicodedata/Mirrored.py,sha256=I6Fy7stp4cphy9JQ2zFZOynXvqIp3eKL6Clw7CTI8IU,9688
280
292
  fontTools/unicodedata/OTTags.py,sha256=IAt8NXaZOhu5cuuks46DDX3E7Ovoqp-PMUQC-WJUPIs,1246
281
293
  fontTools/unicodedata/ScriptExtensions.py,sha256=eIAXBnM9BbI5V_MWeA9I9Iv2rvgWi8mt8dCWN3cN1gY,29033
282
294
  fontTools/unicodedata/Scripts.py,sha256=jCKY8wlKrSFmsFndzLegVS6vrhVGZ-S3T0dw2vO9Drg,133888
283
- fontTools/unicodedata/__init__.py,sha256=isIrE4vSaQoKiU9Hrz07UuVNp9pctma5GmESj53WBMw,9285
295
+ fontTools/unicodedata/__init__.py,sha256=dUWWA4Ga1Wud8XkCIWZ02NCHBLtX2XYYUJo4ZLHTd0U,9337
284
296
  fontTools/varLib/__init__.py,sha256=E38iOYGLna0PhK-t7G33KNl36B11w_Lq7rd6KV5Pt8s,55753
285
297
  fontTools/varLib/__main__.py,sha256=ykyZY5GG9IPDsPrUWiHgXEnsgKrQudZkneCTes6GUpU,101
286
298
  fontTools/varLib/avar.py,sha256=tRgKAUn_K5MTCSkB2MgPYYZ2U6Qo_Cg3jFQV0TDKFgc,9907
@@ -289,14 +301,14 @@ fontTools/varLib/builder.py,sha256=1k-N-rTwnZqQpzhNLBx2tqu2oYGG44sJSXKTCjAvIVM,6
289
301
  fontTools/varLib/cff.py,sha256=bl8rrPHHpwzUdZBY80_5JJLWYcXQOolhKKvTJiiU-Bs,23532
290
302
  fontTools/varLib/errors.py,sha256=mXl-quT2Z75_t7Uwb6ug3VMhmbQjO841YNLeghwuY_s,7153
291
303
  fontTools/varLib/featureVars.py,sha256=fBt7iJtohfsfqO7AULmYMD56hb3apCDXRgpR18pDoG8,26390
292
- fontTools/varLib/hvar.py,sha256=3bd_J1eRrF7q1YIKFF-NBZo_lU-r3VlgDwhtkMo9MSc,3808
304
+ fontTools/varLib/hvar.py,sha256=Tm0ibxOtSVrBQeHiA5-idUQaJEjzOdUWxAQyKTGsOdQ,3808
293
305
  fontTools/varLib/interpolatable.py,sha256=8AXrhsnYY1z0hR6gskqYRYx8qcFsvUKmIIHZRpIOlAU,46430
294
306
  fontTools/varLib/interpolatableHelpers.py,sha256=JnabttZY7sY9-QzdiqkgzQ_S5nG8k_O1TzLEmfNUvNo,11892
295
307
  fontTools/varLib/interpolatablePlot.py,sha256=tUKFd8H9B2eD_GE6jV13J-dZkkIeLmk3ojAYrf-edsA,45644
296
308
  fontTools/varLib/interpolatableTestContourOrder.py,sha256=Pbt0jW0LoVggIwrtADZ7HWK6Ftdoo1bjuWz0ost0HD0,3103
297
309
  fontTools/varLib/interpolatableTestStartingPoint.py,sha256=f5MJ3mj8MctJCvDJwqmW1fIVOgovUMYAOela9HweaRU,4403
298
310
  fontTools/varLib/interpolate_layout.py,sha256=tTPUes_K7MwooUO_wac9AeFEVgL1uGSz4ITYiOizaME,3813
299
- fontTools/varLib/iup.cp39-win32.pyd,sha256=1BSlelXV4HXK-d7MPxh8bp947S-gBtmVR_GHqox07ZA,117248
311
+ fontTools/varLib/iup.cp39-win32.pyd,sha256=nkmd-zYi_s2CcXf4XAfykn62_BOfqTrsORin8K78cPo,117248
300
312
  fontTools/varLib/iup.py,sha256=O_xPJOBECrNDbQqCC3e5xf9KsWXUd1i3BAp9Fl6Hv2Y,15474
301
313
  fontTools/varLib/merger.py,sha256=V-B17poOYbbrRsfUYJbdqt46GtRfG833MKwtv9NOB3Q,62519
302
314
  fontTools/varLib/models.py,sha256=ZqQb1Lapj5dCO8dwa3UTx1LsIpF0-GiDte32t_TMJJQ,23040
@@ -306,7 +318,7 @@ fontTools/varLib/mvar.py,sha256=Gf3q54ICH-E9oAwKYeIKUPLZabfjY0bUT4t220zLzYI,2489
306
318
  fontTools/varLib/plot.py,sha256=BtozrcnKoEyCs0rGy7PZmrUvUNTmZT-5_sylW5PuJ28,7732
307
319
  fontTools/varLib/stat.py,sha256=ScaVFIVpXTqA-F07umv_66GoxtcjaZ54MPLFvFK4s68,4960
308
320
  fontTools/varLib/varStore.py,sha256=GWz-B1YcR-JnIh2aDmeQg621GDEBj9M4pKYcbZraA3w,24808
309
- fontTools/varLib/instancer/__init__.py,sha256=h8jYMTPeSTrc2TZaVArHekvPBfa6d3n2k7qlENd_jPM,73773
321
+ fontTools/varLib/instancer/__init__.py,sha256=Dp4bxw_aOCdpECbQ4QPj8PujUzzpZAxQso4huWUx2J4,74220
310
322
  fontTools/varLib/instancer/__main__.py,sha256=YN_tyJDdmLlH3umiLDS2ue0Zc3fSFexa9wCuk3Wuod0,109
311
323
  fontTools/varLib/instancer/featureVars.py,sha256=b3qtGCYVZ9fqkqcgFQUikYQBX_3_x0YgdrvvxIALbuU,7300
312
324
  fontTools/varLib/instancer/names.py,sha256=vmHi7JZlh-N4amxKdaTJ-5DN9mDJ8Wnh_s9W1gJAQ4Y,15338
@@ -318,11 +330,11 @@ fontTools/voltLib/error.py,sha256=3TsaZBA82acFd2j5Beq3WUQTURTKM0zxOnUFGZovSNA,40
318
330
  fontTools/voltLib/lexer.py,sha256=v9V4zdBO2VqVJG__IWrL8fv_CRURmh2eD_1UpbIJn9g,3467
319
331
  fontTools/voltLib/parser.py,sha256=HS72gxtFzvcPSwEbUYj3E41CPK7ZqK9mSe0nLRxn-IY,26060
320
332
  fontTools/voltLib/voltToFea.py,sha256=nS-OSlx_a-TngGICFNKyFxMhjqkV3OQLcvyzw4sQFyk,37460
321
- fonttools-4.58.4.data/data/share/man/man1/ttx.1,sha256=E71F9mRNWlttVpzlnP7w_fqkQygPkph5s-AtVa0Js50,5601
322
- fonttools-4.58.4.dist-info/licenses/LICENSE,sha256=Ir74Bpfs-qF_l-YrmibfoSggvgVYPo3RKtFpskEnTJk,1093
323
- fonttools-4.58.4.dist-info/licenses/LICENSE.external,sha256=p5eWRJLxSGv9_M1uYYVeOjFkXzYCPqXeeF2jfqwvy04,19046
324
- fonttools-4.58.4.dist-info/METADATA,sha256=4nK7TGGTUx9QezfJRr9Z1mu9ZMDVretTgzE_w2pvDrw,108740
325
- fonttools-4.58.4.dist-info/WHEEL,sha256=Q3uEVTFw-CqGed7ywmQZcdvBC5FiRV941NvAhTjjkOQ,95
326
- fonttools-4.58.4.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
327
- fonttools-4.58.4.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
328
- fonttools-4.58.4.dist-info/RECORD,,
333
+ fonttools-4.59.0.data/data/share/man/man1/ttx.1,sha256=E71F9mRNWlttVpzlnP7w_fqkQygPkph5s-AtVa0Js50,5601
334
+ fonttools-4.59.0.dist-info/licenses/LICENSE,sha256=Ir74Bpfs-qF_l-YrmibfoSggvgVYPo3RKtFpskEnTJk,1093
335
+ fonttools-4.59.0.dist-info/licenses/LICENSE.external,sha256=sIKl-Gd1smQfAbzLi5yCkISB3l9QK7JUseE7_CqfMD0,20410
336
+ fonttools-4.59.0.dist-info/METADATA,sha256=d4GOxfoHGPMLqZHqeziF_YonUyYjeJuRcCWQgCZg81s,110052
337
+ fonttools-4.59.0.dist-info/WHEEL,sha256=Q3uEVTFw-CqGed7ywmQZcdvBC5FiRV941NvAhTjjkOQ,95
338
+ fonttools-4.59.0.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
339
+ fonttools-4.59.0.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
340
+ fonttools-4.59.0.dist-info/RECORD,,
@@ -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.