fonttools 4.58.5__cp310-cp310-win32.whl → 4.59.0__cp310-cp310-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 (52) hide show
  1. fontTools/__init__.py +1 -1
  2. fontTools/cu2qu/cu2qu.cp310-win32.pyd +0 -0
  3. fontTools/feaLib/lexer.cp310-win32.pyd +0 -0
  4. fontTools/merge/__init__.py +1 -1
  5. fontTools/misc/bezierTools.cp310-win32.pyd +0 -0
  6. fontTools/misc/filesystem/__init__.py +68 -0
  7. fontTools/misc/filesystem/_base.py +134 -0
  8. fontTools/misc/filesystem/_copy.py +45 -0
  9. fontTools/misc/filesystem/_errors.py +54 -0
  10. fontTools/misc/filesystem/_info.py +75 -0
  11. fontTools/misc/filesystem/_osfs.py +164 -0
  12. fontTools/misc/filesystem/_path.py +67 -0
  13. fontTools/misc/filesystem/_subfs.py +92 -0
  14. fontTools/misc/filesystem/_tempfs.py +34 -0
  15. fontTools/misc/filesystem/_tools.py +34 -0
  16. fontTools/misc/filesystem/_walk.py +55 -0
  17. fontTools/misc/filesystem/_zipfs.py +204 -0
  18. fontTools/misc/sstruct.py +2 -6
  19. fontTools/misc/xmlWriter.py +28 -1
  20. fontTools/pens/momentsPen.cp310-win32.pyd +0 -0
  21. fontTools/pens/roundingPen.py +2 -2
  22. fontTools/qu2cu/qu2cu.cp310-win32.pyd +0 -0
  23. fontTools/subset/__init__.py +11 -11
  24. fontTools/ttLib/sfnt.py +2 -3
  25. fontTools/ttLib/tables/S__i_l_f.py +2 -2
  26. fontTools/ttLib/tables/T_S_I__1.py +2 -5
  27. fontTools/ttLib/tables/T_S_I__5.py +2 -2
  28. fontTools/ttLib/tables/_c_m_a_p.py +1 -1
  29. fontTools/ttLib/tables/_c_v_t.py +1 -2
  30. fontTools/ttLib/tables/_g_l_y_f.py +9 -10
  31. fontTools/ttLib/tables/_h_d_m_x.py +4 -4
  32. fontTools/ttLib/tables/_l_o_c_a.py +2 -2
  33. fontTools/ttLib/tables/_p_o_s_t.py +3 -4
  34. fontTools/ttLib/tables/otBase.py +2 -4
  35. fontTools/ttLib/tables/otTables.py +7 -12
  36. fontTools/ttLib/tables/sbixStrike.py +3 -3
  37. fontTools/ttLib/ttFont.py +7 -16
  38. fontTools/ttLib/woff2.py +10 -13
  39. fontTools/ufoLib/__init__.py +20 -25
  40. fontTools/ufoLib/glifLib.py +12 -17
  41. fontTools/ufoLib/validators.py +2 -4
  42. fontTools/unicodedata/__init__.py +2 -0
  43. fontTools/varLib/hvar.py +1 -1
  44. fontTools/varLib/iup.cp310-win32.pyd +0 -0
  45. {fonttools-4.58.5.dist-info → fonttools-4.59.0.dist-info}/METADATA +19 -3
  46. {fonttools-4.58.5.dist-info → fonttools-4.59.0.dist-info}/RECORD +52 -40
  47. {fonttools-4.58.5.dist-info → fonttools-4.59.0.dist-info}/licenses/LICENSE.external +29 -0
  48. {fonttools-4.58.5.data → fonttools-4.59.0.data}/data/share/man/man1/ttx.1 +0 -0
  49. {fonttools-4.58.5.dist-info → fonttools-4.59.0.dist-info}/WHEEL +0 -0
  50. {fonttools-4.58.5.dist-info → fonttools-4.59.0.dist-info}/entry_points.txt +0 -0
  51. {fonttools-4.58.5.dist-info → fonttools-4.59.0.dist-info}/licenses/LICENSE +0 -0
  52. {fonttools-4.58.5.dist-info → fonttools-4.59.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- fontTools/__init__.py,sha256=CMvLHAX8mH1p7lpibUmfxRpuUumFA3KUNRLvSOB4KYU,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
@@ -25,7 +25,7 @@ fontTools/cu2qu/__main__.py,sha256=6Vb8Ler3yqJ5w84UwlMJV6cS01uhV4PN10OlXQ6jlqo,9
25
25
  fontTools/cu2qu/benchmark.py,sha256=FwdvNjKfWHo18_CX0CO8AY5c68XSBE4M4TJo_EkB4q8,1350
26
26
  fontTools/cu2qu/cli.py,sha256=CvWzC5a6XF_v5o0yrS4vGI1JXiVVLzSJahTIqpJmiPk,6274
27
27
  fontTools/cu2qu/cu2qu.c,sha256=vGZopOBC5bnIqTGmwPiW107oLG0YSrHSoyq1BFoqppI,644884
28
- fontTools/cu2qu/cu2qu.cp310-win32.pyd,sha256=0Oe8DXl66kAXFRWlwwOzKJj1X77O0KupKMf44cCSL6Q,87552
28
+ fontTools/cu2qu/cu2qu.cp310-win32.pyd,sha256=vLOLWsIIm4pR7FKcPMK_3ZOhJHIv-D4cchXpPn69th4,87552
29
29
  fontTools/cu2qu/cu2qu.py,sha256=XH2bnQ5aG9ic921ZWzQzU1-q3MQU6INCjLk4XjRj5_Y,16970
30
30
  fontTools/cu2qu/errors.py,sha256=uYyPSs_x-EMJKO2S3cLGWyk_KlHoOoh_XEtdB_oKBp0,2518
31
31
  fontTools/cu2qu/ufo.py,sha256=Mpd_7Be9jxNcOKFqkyRp8Oem3CS3R-ZYMMSD03LJL6o,12143
@@ -44,13 +44,13 @@ fontTools/feaLib/ast.py,sha256=q-UvEPZ97AAHpggVOzVHdgfTcE072kuOK08rdAYpCXU,76301
44
44
  fontTools/feaLib/builder.py,sha256=9f7v9Vfo0HkC6Pqj-hP4B6xj5GDIoV_XLCeDajmbI2g,74962
45
45
  fontTools/feaLib/error.py,sha256=pqi8F2tnH2h7pXVffxwzuBuWaSHMzZsXs5VckdQKQAI,670
46
46
  fontTools/feaLib/lexer.c,sha256=PXU52K9r0MSS_E2tiD4R_ac1r-uXCeye8yHgRfcww44,770662
47
- fontTools/feaLib/lexer.cp310-win32.pyd,sha256=b_9KAoMWEq2rVQV-7fzHp3uBRKPEQAlm9p-wrEJ68XY,110592
47
+ fontTools/feaLib/lexer.cp310-win32.pyd,sha256=s7ZjvL5DXxHiOBS9wQVJX92AV8oy30lQ8kqKGKMFa2I,110592
48
48
  fontTools/feaLib/lexer.py,sha256=7VZ3NPFH7V1mvRbym111BNKvbB4hLfGLTMS0VV_3Ipw,11408
49
49
  fontTools/feaLib/location.py,sha256=teHrhjT8zzImcGBEJS1J43oaX9onCPu_pynxS8d-tUg,246
50
50
  fontTools/feaLib/lookupDebugInfo.py,sha256=h4Ig8kmEk5WlGf1C9JJAbbOKQK5OwkFLdj8CT7fOkmU,316
51
51
  fontTools/feaLib/parser.py,sha256=fdycJS5E1RtBvFifNx4rub360J6LmUyX5XpvfoEGxNI,101710
52
52
  fontTools/feaLib/variableScalar.py,sha256=RiLHKQh2-wa-BZ015H2e7XkbshssTj2PjlapaMNJfAs,4182
53
- fontTools/merge/__init__.py,sha256=6MOtk0FXWmSmZsLf1sfjiN2lteVm-u9tI0RVWFewYHM,8498
53
+ fontTools/merge/__init__.py,sha256=A6aQxwtbzcLUrE9UOdk3yCrMwqPOboTEr5ZyEu9RxRg,8504
54
54
  fontTools/merge/__main__.py,sha256=3_u3dnyEOyh0O-SrLMLlkXxOfCFT-0SlwJpimosVJ-c,100
55
55
  fontTools/merge/base.py,sha256=LPJKOwMiDwayLGzA1xH325CtYHPvahAA17lihvKjiPw,2470
56
56
  fontTools/merge/cmap.py,sha256=zoOze0gVp4YQXGs-zFf5k7DgEPdFMs-A3sm5v-Rtz5M,6901
@@ -62,7 +62,7 @@ fontTools/merge/util.py,sha256=3alo4b7mhFNC6h8PjeqNU99dS7EuO8sdZkZpvRsEE6E,3521
62
62
  fontTools/misc/__init__.py,sha256=QoK6HlOoqtVqX5gOyv0bJiTXsVBbBRreUifdccWNp2k,76
63
63
  fontTools/misc/arrayTools.py,sha256=baENNALPvYRUhS4rdx_F3ltOmVIf1PV9G2EaMt7gAHM,11907
64
64
  fontTools/misc/bezierTools.c,sha256=R4i5TUxLgiDFCwkoBZUpdBhGzRp5AI4GYDW497S1f54,1860910
65
- fontTools/misc/bezierTools.cp310-win32.pyd,sha256=mJztR7eeweTTzWG1_zTT2SaUc7TNwC2ehtrZKLJ2Rbs,316416
65
+ fontTools/misc/bezierTools.cp310-win32.pyd,sha256=DjZ-tddCQfAiHpDK58oh2zxMomGxpbIL-T7DCJabgMY,316416
66
66
  fontTools/misc/bezierTools.py,sha256=m4j14ckKYtrKy8NhFFFY_Uv3kuL8g-SWNdEKUzqGjRQ,46535
67
67
  fontTools/misc/classifyTools.py,sha256=wLTjOhLiZaLiwwUTj2Ad5eZ5T_38W0Eo_uzRGWHWYvE,5783
68
68
  fontTools/misc/cliTools.py,sha256=7zKOXczaCKRMW6Yv5jdCZYHco8y0-lfimhIWzQ2IL8A,1915
@@ -85,7 +85,7 @@ fontTools/misc/psLib.py,sha256=cqxG8yMZ7_5VTxgTUl2ARNhIhNu_iTzxLTEd1Egwugo,12497
85
85
  fontTools/misc/psOperators.py,sha256=9nZ4ymbiiCApY9V8OARpYqvO73OEcJgGyTtCuGzD-rw,16272
86
86
  fontTools/misc/py23.py,sha256=BhByQabxZis6fDvK3ZVeI-YRj_1rMQeBZCFzGWIac0U,2334
87
87
  fontTools/misc/roundTools.py,sha256=2rmbuk73NYGPmJqP58FQCFioSLilvNffd0WbL5znKUg,3283
88
- fontTools/misc/sstruct.py,sha256=RG8qOzTkp9LIN5bis5XkbA-6amnuv2Pi-foZTzIQRRE,7389
88
+ fontTools/misc/sstruct.py,sha256=7Lc9x2RV_e2JvSI4A_Rs0tM1mZpjYg_oAJKhP_F9zts,7236
89
89
  fontTools/misc/symfont.py,sha256=KYAtw-ZnG5YReS8XkSDIvxc1bl0xzZl-Wx4J7k7u7LA,7219
90
90
  fontTools/misc/testTools.py,sha256=SG48M4TJIQ4_cPpitUzGEITPnwL-o0yNZKXzWSQdwVE,7285
91
91
  fontTools/misc/textTools.py,sha256=NIBmM6k9PXIs8DMpio-9ckHS35QxL2EMFwBXP6zG-8w,3531
@@ -95,7 +95,19 @@ fontTools/misc/treeTools.py,sha256=IMopMUcuhelvz8gNra50Zc1w8DSlWywnL6DFaz1ijQs,1
95
95
  fontTools/misc/vector.py,sha256=yaNixq5pXXpPCD_wRP-LsXYSLr4WPX_y92Po05FeLU0,4209
96
96
  fontTools/misc/visitor.py,sha256=30EPyUKvNsYU81uiYKjp_9gFj2KSqF8W2y_ldyIBJYQ,5760
97
97
  fontTools/misc/xmlReader.py,sha256=gqYg3qlDkrKsO55DPaJ-dU0i5rltqZgnKlrXmR2Z7dQ,6768
98
- fontTools/misc/xmlWriter.py,sha256=3gHeiyhbXDqDK-jn44f4znND3nEPWnk2Bdlm2Y8JZYo,6250
98
+ fontTools/misc/xmlWriter.py,sha256=rGn6BDiB2MPrhoNabDbY4vAHZC6-mEciwCJXtOL6hMA,7060
99
+ fontTools/misc/filesystem/__init__.py,sha256=wAfcTDA9TBfzZpEN-jnlhNgJ-7tsvsEpbEb3TP9B8Vs,2079
100
+ fontTools/misc/filesystem/_base.py,sha256=7vVl3J-xRNjQMrtoXDfeCCXSolM61gOZuML0p7akqL4,4144
101
+ fontTools/misc/filesystem/_copy.py,sha256=ilLjWsY9smVAD6xfDQTf6SiQQbwYvBB1C1UTAi8y0oA,1406
102
+ fontTools/misc/filesystem/_errors.py,sha256=ydFO8gLDQg-19zNps5c25aFS2pn8KoG36isRqHf223w,695
103
+ fontTools/misc/filesystem/_info.py,sha256=84OTekpR5N_7sbnnOGznTeXgNrKauAECnl8Exr5iEUs,2088
104
+ fontTools/misc/filesystem/_osfs.py,sha256=rdUu0wz8EEJgyjSkh7sPW_mwNmTuOulbD-t2C3kQy1M,5901
105
+ fontTools/misc/filesystem/_path.py,sha256=uPk1ncLUelCM4ms1Onj_sQaOGZZSB4eK-4HYmoKwZNI,1812
106
+ fontTools/misc/filesystem/_subfs.py,sha256=WZ7OUO56PeF86AJB4lO1UXm94zC0BHkAwa1BVJc6aLk,3120
107
+ fontTools/misc/filesystem/_tempfs.py,sha256=VFmK5-W7VmAutZEYGSfrG562lgW0Jk2ZdxTz4w4B5II,958
108
+ fontTools/misc/filesystem/_tools.py,sha256=Po76YLo2pYODh13d_kjTMa9XCf8A6MUlRM7obLAMZOw,1006
109
+ fontTools/misc/filesystem/_walk.py,sha256=WU0SBKObrj_bCqB48z2uEsFWnNosSfekwBlAER5-HKE,1710
110
+ fontTools/misc/filesystem/_zipfs.py,sha256=IcIO3epWIGT85LSRcoWmofkGGyYVY47zQaWQHKmoIRs,6505
99
111
  fontTools/misc/plistlib/__init__.py,sha256=doPqlGry1mRywSup0ahnwuT7mNeClhYQ82y7kd86hWQ,21794
100
112
  fontTools/misc/plistlib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
113
  fontTools/mtiLib/__init__.py,sha256=izRpPCoQfLoDjrlgKqP6gAE6JF9LU73aqH2_qi0NpaM,48002
@@ -119,7 +131,7 @@ fontTools/pens/filterPen.py,sha256=tWhgklyaCTUt7oQRTBbFUcOlc702V0NfadCH3X93CYg,8
119
131
  fontTools/pens/freetypePen.py,sha256=NqNzXrOTDckoH4N6WLnj-KuxGcg6z7DlqSCfmpq8qAE,20370
120
132
  fontTools/pens/hashPointPen.py,sha256=ZAU87uw5ge3Kb4i9kRV28a5VFeZ_TWSsJabyAzwAHrU,3662
121
133
  fontTools/pens/momentsPen.c,sha256=JgH7cc_5ZKbJJUq0iiwppphdXhD4XL33KsNAIsBejx8,578346
122
- fontTools/pens/momentsPen.cp310-win32.pyd,sha256=8PaeUwet5c-c535fcHhttheHRFMKSMMzFDmUhTu3Zas,81920
134
+ fontTools/pens/momentsPen.cp310-win32.pyd,sha256=ommHZVi5QrGIozXwUt-LCsylC6Q1uWJ-Jg7x7KM5Uk0,81920
123
135
  fontTools/pens/momentsPen.py,sha256=Z-V5CjQBSj3qPxg3C_DBFKExqno89nOe3jWwHT9_xsM,26537
124
136
  fontTools/pens/perimeterPen.py,sha256=Zy5F8QzaNJAkkQQSb2QJCp-wZTvDAjBn-B099t2ABds,2222
125
137
  fontTools/pens/pointInsidePen.py,sha256=Hy48iR5NWV3x_wWoos-UC7GMtwvvUhd_q_ykiwaWdzQ,6547
@@ -130,7 +142,7 @@ fontTools/pens/quartzPen.py,sha256=6DMDWPYfsOb374VDnLLpKLqcMJig4GCGbTsW1Jr0fgg,1
130
142
  fontTools/pens/recordingPen.py,sha256=hw393TStvhoF1XT7aidpVQ8glASbxZuARnUAyUyZAGM,12824
131
143
  fontTools/pens/reportLabPen.py,sha256=vVRG044LvUvFtqrRFYRiMFS_USHAeAvz9y9-7__WbY4,2145
132
144
  fontTools/pens/reverseContourPen.py,sha256=E_Ny86JfiMoQ04VfswMtdpaKCU37wNy9ifOccb0aWKQ,4118
133
- fontTools/pens/roundingPen.py,sha256=AHC1J0dgRChtFmkkgeR1D1ZNFUoHZTcHpWRIyL5d1_Q,4779
145
+ fontTools/pens/roundingPen.py,sha256=e7rZdTmHfGX7vLHcqJ-ntc8qIhquLCDeaOhzYxQH998,4750
134
146
  fontTools/pens/statisticsPen.py,sha256=F_JjbNtvYmJ0b3Fbv3BA3-LZhecodPr4tJEQZZd4Jxc,10120
135
147
  fontTools/pens/svgPathPen.py,sha256=4aU4iTlnGuzzyXrBgfHvrjMOkC2rdSF8HOkJ_q8tZ38,8882
136
148
  fontTools/pens/t2CharStringPen.py,sha256=g0lcaRhSAs4T2NuWvn89TODikC1t9x4KyBq0Dnkso-0,3019
@@ -143,9 +155,9 @@ fontTools/qu2cu/__main__.py,sha256=leKpToUNNyHf0nobr1I19vus2ziA1pO7rRKkreat-Xw,1
143
155
  fontTools/qu2cu/benchmark.py,sha256=PFxx2Bfu7-KuNrzdOIBXHPZvyNphqqcTVy4CneaCo3M,1456
144
156
  fontTools/qu2cu/cli.py,sha256=1QLBTSZW7e_VATJN9vjszRxIk_-Xjxu1KP53yX4T7q8,3839
145
157
  fontTools/qu2cu/qu2cu.c,sha256=mPAVbeH6SgLkKCnPhergCFE2-evs0Z8E1WlvBhDxo5E,706100
146
- fontTools/qu2cu/qu2cu.cp310-win32.pyd,sha256=FNBAr5M7bQgDoA6dGQM11xZDoqyeZNjbSAFRnRAwcIY,96256
158
+ fontTools/qu2cu/qu2cu.cp310-win32.pyd,sha256=2ljaaWNvs9pVlY8L5OvdBjYzKWkaXdkRPdw5bliRbKk,96256
147
159
  fontTools/qu2cu/qu2cu.py,sha256=dtp5Zqhcs_NePwA2U5fgG2LtWleRwmBilTurau8sLL0,12693
148
- fontTools/subset/__init__.py,sha256=UUOidAx7b_LNNsRnEizxG8tPF5JX5-4fooerwyTWFvU,141588
160
+ fontTools/subset/__init__.py,sha256=cMUbkLDSaj0f576WF5zhbZ9mYT4U9b_PPzFFBpg8VEI,141636
149
161
  fontTools/subset/__main__.py,sha256=cEIC52EtGOJvFDfHXzi0M2EAYmyHAcI-ZZ0lb2y4r7s,101
150
162
  fontTools/subset/cff.py,sha256=GSmxdsokxuFKvJJQVcAIOhd5hYQq8KkzxnXE_dgm8yo,6329
151
163
  fontTools/subset/svg.py,sha256=y_yTZuAm3bjcoEOFu5likXoHuG5u1oNiv0mOni2Z9fQ,9637
@@ -162,13 +174,13 @@ fontTools/ttLib/macUtils.py,sha256=B5UhZU8gQerJMXEG9-BGZsuv3aewFRAGQ5HCuZMzMkQ,1
162
174
  fontTools/ttLib/removeOverlaps.py,sha256=PTxICjLx89JxKfboLruoV_OwuwCIxcJ4feNcCCkrsTQ,13005
163
175
  fontTools/ttLib/reorderGlyphs.py,sha256=PAHvoh4yN3u-_aDACH8H1ResVMCmVE7Kp5_mIKAG0TI,10656
164
176
  fontTools/ttLib/scaleUpem.py,sha256=Qz-kS48q7a5GibgnPoUglyVk_qIVkYp5KZ-r1aMx_7Q,15054
165
- fontTools/ttLib/sfnt.py,sha256=7X9xujgV0Za4nOEfUD3mSrrRb-f9NuzEqgJ-IFLNVQU,23494
177
+ fontTools/ttLib/sfnt.py,sha256=0VEhMx4T30H5X8_ZrpgXv8mxZkdLcGUETcN-QfmTiOM,23453
166
178
  fontTools/ttLib/standardGlyphOrder.py,sha256=VG-8hW1VgQIro7cDJusSXThILIr4pQgmU37t85SQ65Y,6056
167
179
  fontTools/ttLib/ttCollection.py,sha256=1_wMr_ONgwPZh6wfbS_a7lNeE2IxUqd029TGObOsWs0,4088
168
- fontTools/ttLib/ttFont.py,sha256=t57l-KFaSAs29LQz7NOqatjsZSnqt-VVqPloySwetEU,42122
180
+ fontTools/ttLib/ttFont.py,sha256=MkZX62eRAu_Qq7DFKLW5KBVbq3ZZJAGIiyUeRtFk_3g,41817
169
181
  fontTools/ttLib/ttGlyphSet.py,sha256=JQZTE5TKXaVdceqYHZiC7gYanl_1mpHWjtW6GYjAtZ0,17966
170
182
  fontTools/ttLib/ttVisitor.py,sha256=_Dkmz0tDs-5AFUR46kyg3Ku6BMPifrZzRU8-9UvXdz4,1057
171
- fontTools/ttLib/woff2.py,sha256=LuX5SHMlhuhNRI0W5J2UnDua7_3NCnGaoofXhmjkf3g,62741
183
+ fontTools/ttLib/woff2.py,sha256=-vdJKDAUUJlriaoOGnrtB8OwagiJ8argKeNhR4YzIHs,62601
172
184
  fontTools/ttLib/tables/B_A_S_E_.py,sha256=KpUf8_XEoFNEv3RcoQjfOaJUtBBaCxMzfifEcGtAydI,383
173
185
  fontTools/ttLib/tables/BitmapGlyphMetrics.py,sha256=cQuhook-kYL6AoUS9vQIAr65Ls6xN-e15l_lCxDwM2w,1833
174
186
  fontTools/ttLib/tables/C_B_D_T_.py,sha256=zg-Knjto2WgnEjl-_foLbeecNp0KHUOHg8ZgCmAyCqI,3759
@@ -202,7 +214,7 @@ fontTools/ttLib/tables/O_S_2f_2.py,sha256=HFVzQYVZDqETgRCTbRqa3NyyuwlTwmc6CNSngj
202
214
  fontTools/ttLib/tables/S_I_N_G_.py,sha256=6deN-m2-k5C20NE8iTdajju8D2Mw_0tcPiHQln_RaMo,3416
203
215
  fontTools/ttLib/tables/S_T_A_T_.py,sha256=clj8sbU60dzo16KApGXNp54CSS387GjIjxuiu5cU09c,513
204
216
  fontTools/ttLib/tables/S_V_G_.py,sha256=O6Aik0j7t02ODsZRwI_tJUwNJQiZ3Dl3oxPqQhyRXH8,7899
205
- fontTools/ttLib/tables/S__i_l_f.py,sha256=nXCNpzLpeKDruzavbQVQ_VYLtIB0Yq-i46iMqPClIwg,36027
217
+ fontTools/ttLib/tables/S__i_l_f.py,sha256=i-ufBKv10ykJ7-8rfYnA7RgcIdl3XaQmz8pNrLOsWCw,36025
206
218
  fontTools/ttLib/tables/S__i_l_l.py,sha256=LeN6U0y4VLNgtIa7uCX_cpsZW1Ue_yKY8dsZJyS75ec,3316
207
219
  fontTools/ttLib/tables/T_S_I_B_.py,sha256=zbtLbMfCSVRd9hc5qoxPoQ8j3tNYtrvofTy7Kl6TBwE,354
208
220
  fontTools/ttLib/tables/T_S_I_C_.py,sha256=xpE9EYI3hFETe0CFG4RMe4G52_2aBsOs9kiCwXISKeo,395
@@ -212,10 +224,10 @@ fontTools/ttLib/tables/T_S_I_P_.py,sha256=4h7p-ssF_gklUJHtkPy62eA8LvidV38K3HHmiJ
212
224
  fontTools/ttLib/tables/T_S_I_S_.py,sha256=eDzfFEZHN4-sawGAF5gtAIj8LKRAFXe8z1ve7aHmY9M,354
213
225
  fontTools/ttLib/tables/T_S_I_V_.py,sha256=IX-V7mRFxXNmj-wtEfFvpDjkevGZE-OEo5-Dvd6jfgY,881
214
226
  fontTools/ttLib/tables/T_S_I__0.py,sha256=-ahx5aDKeZAkoeZHXZRw95aZ85905sYAPhDlKGb_1_A,2575
215
- fontTools/ttLib/tables/T_S_I__1.py,sha256=-QZug_3dTIAYU25tXrig3gOF7RUvZr_ygjg7jZYajUM,7224
227
+ fontTools/ttLib/tables/T_S_I__1.py,sha256=QXBeuKDikkWQME0T3e-NYK7qevsJClLl121Za5bXQsg,7134
216
228
  fontTools/ttLib/tables/T_S_I__2.py,sha256=QU05Fvz1L-OE7bqXwsRuMjrhtGwi7WtI-UwS7lBS1jM,513
217
229
  fontTools/ttLib/tables/T_S_I__3.py,sha256=bBo8nZ2bXDcKAmym1rRM--4nrjSXl7CvQhqe6h544SY,565
218
- fontTools/ttLib/tables/T_S_I__5.py,sha256=hA0iN5Pvq0_8py1PxNn8XcAfqMBM92TaGUJdT_UaCl0,1973
230
+ fontTools/ttLib/tables/T_S_I__5.py,sha256=QbEJddd97R46RGfaDYbkwwpd_hDtEddLoK3MkzkOZIo,1965
219
231
  fontTools/ttLib/tables/T_T_F_A_.py,sha256=2lCDLx_UmkWTvNLrKkDm7T4MErKOvojLDvr6iQ9tXpM,406
220
232
  fontTools/ttLib/tables/TupleVariation.py,sha256=m7TWmB4TBmJ6DD_onpYidGp5qq3ogTd4qYRXa8XHJ90,33119
221
233
  fontTools/ttLib/tables/V_A_R_C_.py,sha256=6CgniBLKLlrLXRqDC-z6aYHQD1QzXZYF8w9DMof1PMc,301
@@ -227,23 +239,23 @@ fontTools/ttLib/tables/_a_n_k_r.py,sha256=eiy6DKxPGw-H9QCLWIQBFveuTFQSKgcPItwgyB
227
239
  fontTools/ttLib/tables/_a_v_a_r.py,sha256=cIqfWyyU5hNrJ-SIfVCKQcpyi2DUjobAgrmyE2In9FI,7307
228
240
  fontTools/ttLib/tables/_b_s_l_n.py,sha256=iHLFy3sjFFoGa-pDGdcLCCudv4QFMt2VBL06gigGA_k,480
229
241
  fontTools/ttLib/tables/_c_i_d_g.py,sha256=BPa6b0yrmT8OXPW3USRpn_H8DOLKFlDe9subtRDJBrc,937
230
- fontTools/ttLib/tables/_c_m_a_p.py,sha256=BTWxvUta7Y_ZUq2zyIsKY86yXfhs6JGl0bEBJ4hilsY,63799
242
+ fontTools/ttLib/tables/_c_m_a_p.py,sha256=dvtnrDf1LjXVf_DXW0tz67BqOlf7dINyG0_HF3aoDmw,63793
231
243
  fontTools/ttLib/tables/_c_v_a_r.py,sha256=5LCuL07YXkqcqkSQeW4F6Vlx5XYtkjIIyiYfQ88Ydw0,3621
232
- fontTools/ttLib/tables/_c_v_t.py,sha256=cJ_9JHh-Tud0CjWNaFqyO3X4pKO2_rdL82rtrWhO4Vc,1704
244
+ fontTools/ttLib/tables/_c_v_t.py,sha256=n1dc7Gyui5HxkimCYGMEdJ8V5X27UCDbydhv5-npNiI,1674
233
245
  fontTools/ttLib/tables/_f_e_a_t.py,sha256=g-B57skN59uZa3dQ88gMVpY1RmQH92cCkttJq2T4TzY,484
234
246
  fontTools/ttLib/tables/_f_p_g_m.py,sha256=eX1DSy29t_BFai90WQKEgHgCuMLqFp01Ff9a1txuuLI,1695
235
247
  fontTools/ttLib/tables/_f_v_a_r.py,sha256=hpxU0-u7_pZYDmQdKpmd_7c6BjVpXHdoQ97jKk9Kz5U,9098
236
248
  fontTools/ttLib/tables/_g_a_s_p.py,sha256=Pr4X2CEg3a_nYAZrKSWT0auQ5HU2WutP1Shxxg7ALPw,2266
237
249
  fontTools/ttLib/tables/_g_c_i_d.py,sha256=diZlew4U8nFK5vimh-GMOjwHw8ccZtIEl9cPq0PrNdA,375
238
- fontTools/ttLib/tables/_g_l_y_f.py,sha256=hdaJvO2KUL3wqOkP5ti5jE30e6Jt6Stb2aM5-vzb9l8,87901
250
+ fontTools/ttLib/tables/_g_l_y_f.py,sha256=gnZ1femTeEaFeWn4inLiWL0h8U9_iJ0CzU_6PDtFryk,87895
239
251
  fontTools/ttLib/tables/_g_v_a_r.py,sha256=bXLh4wXqtbL_hEmds5PXWJ5FTx58_1VojaqVvgesYH4,12412
240
- fontTools/ttLib/tables/_h_d_m_x.py,sha256=Da8Og1KFmOLJGkBlLDlcgdvrIeCTx1USGwnmlg93r3E,4398
252
+ fontTools/ttLib/tables/_h_d_m_x.py,sha256=1dRbNSzHQlznrXqG0GtFYbGp_SzzgDcYfJqhSoS1FL8,4379
241
253
  fontTools/ttLib/tables/_h_e_a_d.py,sha256=ft9ghTA1NZsGBvB0yElFFCqVHecuCKGjT2m2GfYB3Yc,5056
242
254
  fontTools/ttLib/tables/_h_h_e_a.py,sha256=pY92ZLt3o0jZ3KQVd_qtxYtk_tbP2DLzSWm_wVP8FNM,4914
243
255
  fontTools/ttLib/tables/_h_m_t_x.py,sha256=p-9K-E3LcdJByagZ-0F0OA11pCVfNS9HtKRjbpvMM6I,6202
244
256
  fontTools/ttLib/tables/_k_e_r_n.py,sha256=AjG5Fd6XaPAdXi5puDtLuMrfCsHUi9X7uFh76QGCMrc,11083
245
257
  fontTools/ttLib/tables/_l_c_a_r.py,sha256=N-1I6OJHvnF_YfGktyfFTRAG5lrExV7q6HX-0ffSRyQ,403
246
- fontTools/ttLib/tables/_l_o_c_a.py,sha256=d1pX-QByFSJ00K9NQaOGbAHDr0pax_48PkfCupvekkw,2264
258
+ fontTools/ttLib/tables/_l_o_c_a.py,sha256=MHRhxCcHbyK71lD3L91qNfYXD_rflSXsRa-YHDptCik,2250
247
259
  fontTools/ttLib/tables/_l_t_a_g.py,sha256=rnf8P_C_RIb37HBNk0qDSxP7rK-N9j5CcQHgMrPSuxw,2624
248
260
  fontTools/ttLib/tables/_m_a_x_p.py,sha256=9B6lvWo4y42dyLPIvG6CsVOlWCk7bs4DoVJDB8ViEew,5411
249
261
  fontTools/ttLib/tables/_m_e_t_a.py,sha256=I8HaZgcIPQZcCxBiSX0rGrfrs-zXRGUfEbJ8eGvZ07A,4025
@@ -251,7 +263,7 @@ fontTools/ttLib/tables/_m_o_r_t.py,sha256=LU3D9PmV_nFs6hoccGmr1pfUzjJaeB_WRW2OIS
251
263
  fontTools/ttLib/tables/_m_o_r_x.py,sha256=vLyrtx_O__BwnPi7Qo3oT8WHaANRARtHcqHSdZ5ct0E,563
252
264
  fontTools/ttLib/tables/_n_a_m_e.py,sha256=bvahvBMX21pC6G83D35WZap6F7BDd7Xi2AmhVMBZz00,42300
253
265
  fontTools/ttLib/tables/_o_p_b_d.py,sha256=lfJi6kblt_nGmGmRSupwEaud3Ri_y6ftWNuyrCPpzQ0,462
254
- fontTools/ttLib/tables/_p_o_s_t.py,sha256=Sifgmfgu6UQLfun6nkVGj5jBgMqmYTs3fpDDm_zOOMY,12073
266
+ fontTools/ttLib/tables/_p_o_s_t.py,sha256=HIsvathEMOAm8QFG7vcRfPQvBqXh-QmsVyOoDWsaRNc,12020
255
267
  fontTools/ttLib/tables/_p_r_e_p.py,sha256=qWDjHiHvHaJCx2hYFmjJeMwpgwvD-cG5zkibMh9TWuk,443
256
268
  fontTools/ttLib/tables/_p_r_o_p.py,sha256=ux5Z0FrE7uuKQrO-SCQwButVtKmEAsvfDE6mOP_SOnE,439
257
269
  fontTools/ttLib/tables/_s_b_i_x.py,sha256=KF9acCLqBcYpg92h5vJBp5LsNT7c4MDKD4rocixRPKw,4994
@@ -260,32 +272,32 @@ fontTools/ttLib/tables/_v_h_e_a.py,sha256=ay73lNwQR72zZeyQ00ejfds2XmUp7sOLidnSzM
260
272
  fontTools/ttLib/tables/_v_m_t_x.py,sha256=933DMeQTI9JFfJ3TOjAFE6G8qHXJ7ZI2GukIKSQjaFU,519
261
273
  fontTools/ttLib/tables/asciiTable.py,sha256=xJtOWy5lATZJILItU-A0dK4-jNXBByzyVWeO81FW8nc,657
262
274
  fontTools/ttLib/tables/grUtils.py,sha256=T_WsEtpW60m9X6Rulko3bGI9aFdSC8Iyffwg_9ky0_I,2362
263
- fontTools/ttLib/tables/otBase.py,sha256=UMBHfYAUbhe_NkrpsTvgL_vJCbQ9vksZDrdkr1DqPcE,54850
275
+ fontTools/ttLib/tables/otBase.py,sha256=CLtbHFqU-X0l07cj2jVE9BgZT28PYJXC1v_jBq7WUfw,54794
264
276
  fontTools/ttLib/tables/otConverters.py,sha256=7_vqtb3-OV_iyHnVBrbQCWLg7lqkrX55F5PwRVDkck8,76270
265
277
  fontTools/ttLib/tables/otData.py,sha256=i6KD2n1OqJvYgRlXV9-ya_QSmhYl8jcBQm61zCnBt90,203662
266
- fontTools/ttLib/tables/otTables.py,sha256=GCxuX-FIMLKbRd4TdE2c9YLsWRkufpzX1TAAxEAJBK4,99836
278
+ fontTools/ttLib/tables/otTables.py,sha256=Oe7YfSsfTBC_loA0KSwGtD7pZ5BSgInUSDvrPceRUY0,99690
267
279
  fontTools/ttLib/tables/otTraverse.py,sha256=T1fnamNXqvFPUBspFm7aYsq_P0jUSJSy1ab9t48p_ZI,5681
268
280
  fontTools/ttLib/tables/sbixGlyph.py,sha256=a-mCmO5EibN_He7QQohG06Qg-fCOHWiNFMAbCpxa25w,5945
269
- fontTools/ttLib/tables/sbixStrike.py,sha256=9-UIVPormVd27lOU5fuGZvzkckA2U5975jBXXUEPxKA,6840
281
+ fontTools/ttLib/tables/sbixStrike.py,sha256=Q1F4rFlj-SwUKFDJkcta1oz_b393dt9VYFOyxaFSc_o,6828
270
282
  fontTools/ttLib/tables/table_API_readme.txt,sha256=E9lwGW1P_dGqy1FYBcYLVEDDmikbsqW4pUtpv1RKCJU,2839
271
283
  fontTools/ttLib/tables/ttProgram.py,sha256=vkRtptH7QXD0Ng8LNzh-A_Ln27VPCxSJOXgW8878nSo,36482
272
- fontTools/ufoLib/__init__.py,sha256=LYIIhFjl4flv5NidE5T6u57Sda5-xYu82Vrva7dN1aY,96908
284
+ fontTools/ufoLib/__init__.py,sha256=HbYdVqQUpL5szGEnkuBhRSOKgpWTQLuRADfy1te1Rv0,96811
273
285
  fontTools/ufoLib/converters.py,sha256=hPVFC0K1IPXG8tCGZQOIUXB4ILdiGPuzbgtqSiWHZn4,13442
274
286
  fontTools/ufoLib/errors.py,sha256=pgJKS2A5RcsfQS2Z6Y_l3mIz62-VD_SrpIysKmywuYA,875
275
287
  fontTools/ufoLib/etree.py,sha256=kTUP1EzN2wSXZ4jwAX8waNfKz52u7jc2qQ2LrqPYLBw,237
276
288
  fontTools/ufoLib/filenames.py,sha256=wuXjT9VX3791TBJ0WL4lWhFQ6pInkcYML9Mgc2cdJsE,10764
277
- fontTools/ufoLib/glifLib.py,sha256=O75JqjD9gZwpJPD6Pvh0lyYMk5m-rqIwIbr0EJ1kYdU,74781
289
+ fontTools/ufoLib/glifLib.py,sha256=lV42VMkIDuYL10L5lqLj6c4JNqSgvWGJZT05Kw2ddVI,74723
278
290
  fontTools/ufoLib/kerning.py,sha256=VgE-xhGMAD2ipauleB-liNxwBuR_Ze5Jceb4XDi2Ob4,4354
279
291
  fontTools/ufoLib/plistlib.py,sha256=GpWReRtO7S1JCv6gJnnuiYooo4Hwbgc2vagT041kFk8,1557
280
292
  fontTools/ufoLib/pointPen.py,sha256=bU0-DLHrWKyutmwjw0tvhT-QPE-kmqs2Dqe0cflYgOk,250
281
293
  fontTools/ufoLib/utils.py,sha256=3hKaFRkCBhmwP6NRst6H0d5ZKSXYTzKK8kNfGGwzEaw,2074
282
- fontTools/ufoLib/validators.py,sha256=nZgijPWW40jzcQb6YgujVFVi53mPPlmrQ1uU8QJT_Gs,31991
294
+ fontTools/ufoLib/validators.py,sha256=VtH8-SzQv16T6oVqYkRmdcwLBE8E0c9t0kiDgCMgqO4,31997
283
295
  fontTools/unicodedata/Blocks.py,sha256=R0rSdM3NktyDMxtyLQJV4nvlTJylX9osWKkQQ_ZTEpQ,33216
284
296
  fontTools/unicodedata/Mirrored.py,sha256=I6Fy7stp4cphy9JQ2zFZOynXvqIp3eKL6Clw7CTI8IU,9688
285
297
  fontTools/unicodedata/OTTags.py,sha256=IAt8NXaZOhu5cuuks46DDX3E7Ovoqp-PMUQC-WJUPIs,1246
286
298
  fontTools/unicodedata/ScriptExtensions.py,sha256=eIAXBnM9BbI5V_MWeA9I9Iv2rvgWi8mt8dCWN3cN1gY,29033
287
299
  fontTools/unicodedata/Scripts.py,sha256=jCKY8wlKrSFmsFndzLegVS6vrhVGZ-S3T0dw2vO9Drg,133888
288
- fontTools/unicodedata/__init__.py,sha256=isIrE4vSaQoKiU9Hrz07UuVNp9pctma5GmESj53WBMw,9285
300
+ fontTools/unicodedata/__init__.py,sha256=dUWWA4Ga1Wud8XkCIWZ02NCHBLtX2XYYUJo4ZLHTd0U,9337
289
301
  fontTools/varLib/__init__.py,sha256=E38iOYGLna0PhK-t7G33KNl36B11w_Lq7rd6KV5Pt8s,55753
290
302
  fontTools/varLib/__main__.py,sha256=ykyZY5GG9IPDsPrUWiHgXEnsgKrQudZkneCTes6GUpU,101
291
303
  fontTools/varLib/avar.py,sha256=tRgKAUn_K5MTCSkB2MgPYYZ2U6Qo_Cg3jFQV0TDKFgc,9907
@@ -294,7 +306,7 @@ fontTools/varLib/builder.py,sha256=1k-N-rTwnZqQpzhNLBx2tqu2oYGG44sJSXKTCjAvIVM,6
294
306
  fontTools/varLib/cff.py,sha256=bl8rrPHHpwzUdZBY80_5JJLWYcXQOolhKKvTJiiU-Bs,23532
295
307
  fontTools/varLib/errors.py,sha256=mXl-quT2Z75_t7Uwb6ug3VMhmbQjO841YNLeghwuY_s,7153
296
308
  fontTools/varLib/featureVars.py,sha256=fBt7iJtohfsfqO7AULmYMD56hb3apCDXRgpR18pDoG8,26390
297
- fontTools/varLib/hvar.py,sha256=3bd_J1eRrF7q1YIKFF-NBZo_lU-r3VlgDwhtkMo9MSc,3808
309
+ fontTools/varLib/hvar.py,sha256=Tm0ibxOtSVrBQeHiA5-idUQaJEjzOdUWxAQyKTGsOdQ,3808
298
310
  fontTools/varLib/interpolatable.py,sha256=8AXrhsnYY1z0hR6gskqYRYx8qcFsvUKmIIHZRpIOlAU,46430
299
311
  fontTools/varLib/interpolatableHelpers.py,sha256=JnabttZY7sY9-QzdiqkgzQ_S5nG8k_O1TzLEmfNUvNo,11892
300
312
  fontTools/varLib/interpolatablePlot.py,sha256=tUKFd8H9B2eD_GE6jV13J-dZkkIeLmk3ojAYrf-edsA,45644
@@ -302,7 +314,7 @@ fontTools/varLib/interpolatableTestContourOrder.py,sha256=Pbt0jW0LoVggIwrtADZ7HW
302
314
  fontTools/varLib/interpolatableTestStartingPoint.py,sha256=f5MJ3mj8MctJCvDJwqmW1fIVOgovUMYAOela9HweaRU,4403
303
315
  fontTools/varLib/interpolate_layout.py,sha256=tTPUes_K7MwooUO_wac9AeFEVgL1uGSz4ITYiOizaME,3813
304
316
  fontTools/varLib/iup.c,sha256=Eld9QWThV5wgZlhHNvj15DILGRPArLAkU2071G1fSEY,846546
305
- fontTools/varLib/iup.cp310-win32.pyd,sha256=k1-U9QudoekDmDr1d8ZRsHt4EewR_9HeaZW_av5UhJE,116224
317
+ fontTools/varLib/iup.cp310-win32.pyd,sha256=AvUG-1KOWJOAlsSHFxBm4OVdEqTAYFB2WFoflzcglJo,116224
306
318
  fontTools/varLib/iup.py,sha256=O_xPJOBECrNDbQqCC3e5xf9KsWXUd1i3BAp9Fl6Hv2Y,15474
307
319
  fontTools/varLib/merger.py,sha256=V-B17poOYbbrRsfUYJbdqt46GtRfG833MKwtv9NOB3Q,62519
308
320
  fontTools/varLib/models.py,sha256=ZqQb1Lapj5dCO8dwa3UTx1LsIpF0-GiDte32t_TMJJQ,23040
@@ -324,11 +336,11 @@ fontTools/voltLib/error.py,sha256=3TsaZBA82acFd2j5Beq3WUQTURTKM0zxOnUFGZovSNA,40
324
336
  fontTools/voltLib/lexer.py,sha256=v9V4zdBO2VqVJG__IWrL8fv_CRURmh2eD_1UpbIJn9g,3467
325
337
  fontTools/voltLib/parser.py,sha256=HS72gxtFzvcPSwEbUYj3E41CPK7ZqK9mSe0nLRxn-IY,26060
326
338
  fontTools/voltLib/voltToFea.py,sha256=nS-OSlx_a-TngGICFNKyFxMhjqkV3OQLcvyzw4sQFyk,37460
327
- fonttools-4.58.5.data/data/share/man/man1/ttx.1,sha256=E71F9mRNWlttVpzlnP7w_fqkQygPkph5s-AtVa0Js50,5601
328
- fonttools-4.58.5.dist-info/licenses/LICENSE,sha256=Ir74Bpfs-qF_l-YrmibfoSggvgVYPo3RKtFpskEnTJk,1093
329
- fonttools-4.58.5.dist-info/licenses/LICENSE.external,sha256=p5eWRJLxSGv9_M1uYYVeOjFkXzYCPqXeeF2jfqwvy04,19046
330
- fonttools-4.58.5.dist-info/METADATA,sha256=btf65Ggqrp-gkUSzPHqVQAstBMwthSS-fKTo3hZuPpk,109046
331
- fonttools-4.58.5.dist-info/WHEEL,sha256=GWZF0cboiU4MhsG0baPl8rrtCaXFSLW25384gp3vddM,97
332
- fonttools-4.58.5.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
333
- fonttools-4.58.5.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
334
- fonttools-4.58.5.dist-info/RECORD,,
339
+ fonttools-4.59.0.data/data/share/man/man1/ttx.1,sha256=E71F9mRNWlttVpzlnP7w_fqkQygPkph5s-AtVa0Js50,5601
340
+ fonttools-4.59.0.dist-info/licenses/LICENSE,sha256=Ir74Bpfs-qF_l-YrmibfoSggvgVYPo3RKtFpskEnTJk,1093
341
+ fonttools-4.59.0.dist-info/licenses/LICENSE.external,sha256=sIKl-Gd1smQfAbzLi5yCkISB3l9QK7JUseE7_CqfMD0,20410
342
+ fonttools-4.59.0.dist-info/METADATA,sha256=d4GOxfoHGPMLqZHqeziF_YonUyYjeJuRcCWQgCZg81s,110052
343
+ fonttools-4.59.0.dist-info/WHEEL,sha256=GWZF0cboiU4MhsG0baPl8rrtCaXFSLW25384gp3vddM,97
344
+ fonttools-4.59.0.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
345
+ fonttools-4.59.0.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
346
+ 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.