fonttools 4.55.8__cp313-cp313-musllinux_1_2_x86_64.whl → 4.56.0__cp313-cp313-musllinux_1_2_x86_64.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.
- fontTools/__init__.py +1 -1
- fontTools/feaLib/error.py +1 -1
- fontTools/misc/testTools.py +3 -0
- fontTools/ttLib/tables/otData.py +1 -1
- fontTools/ttLib/tables/otTables.py +21 -17
- fontTools/ttLib/tables/otTraverse.py +2 -1
- fontTools/ttLib/ttFont.py +6 -2
- fontTools/varLib/__init__.py +1 -12
- fontTools/varLib/varStore.py +9 -37
- {fonttools-4.55.8.dist-info → fonttools-4.56.0.dist-info}/METADATA +10 -1
- {fonttools-4.55.8.dist-info → fonttools-4.56.0.dist-info}/RECORD +16 -16
- {fonttools-4.55.8.data → fonttools-4.56.0.data}/data/share/man/man1/ttx.1 +0 -0
- {fonttools-4.55.8.dist-info → fonttools-4.56.0.dist-info}/LICENSE +0 -0
- {fonttools-4.55.8.dist-info → fonttools-4.56.0.dist-info}/WHEEL +0 -0
- {fonttools-4.55.8.dist-info → fonttools-4.56.0.dist-info}/entry_points.txt +0 -0
- {fonttools-4.55.8.dist-info → fonttools-4.56.0.dist-info}/top_level.txt +0 -0
fontTools/__init__.py
CHANGED
fontTools/feaLib/error.py
CHANGED
fontTools/misc/testTools.py
CHANGED
fontTools/ttLib/tables/otData.py
CHANGED
|
@@ -2226,24 +2226,28 @@ _equivalents = {
|
|
|
2226
2226
|
def fixLookupOverFlows(ttf, overflowRecord):
|
|
2227
2227
|
"""Either the offset from the LookupList to a lookup overflowed, or
|
|
2228
2228
|
an offset from a lookup to a subtable overflowed.
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2229
|
+
|
|
2230
|
+
The table layout is::
|
|
2231
|
+
|
|
2232
|
+
GPSO/GUSB
|
|
2233
|
+
Script List
|
|
2234
|
+
Feature List
|
|
2235
|
+
LookUpList
|
|
2236
|
+
Lookup[0] and contents
|
|
2237
|
+
SubTable offset list
|
|
2238
|
+
SubTable[0] and contents
|
|
2239
|
+
...
|
|
2240
|
+
SubTable[n] and contents
|
|
2241
|
+
...
|
|
2242
|
+
Lookup[n] and contents
|
|
2243
|
+
SubTable offset list
|
|
2244
|
+
SubTable[0] and contents
|
|
2245
|
+
...
|
|
2246
|
+
SubTable[n] and contents
|
|
2247
|
+
|
|
2245
2248
|
If the offset to a lookup overflowed (SubTableIndex is None)
|
|
2246
|
-
we must promote the *previous*
|
|
2249
|
+
we must promote the *previous* lookup to an Extension type.
|
|
2250
|
+
|
|
2247
2251
|
If the offset from a lookup to subtable overflowed, then we must promote it
|
|
2248
2252
|
to an Extension Lookup type.
|
|
2249
2253
|
"""
|
|
@@ -79,7 +79,8 @@ def bfs_base_table(
|
|
|
79
79
|
"""Breadth-first search tree of BaseTables.
|
|
80
80
|
|
|
81
81
|
Args:
|
|
82
|
-
|
|
82
|
+
root
|
|
83
|
+
the root of the tree.
|
|
83
84
|
root_accessor (Optional[str]): attribute name for the root table, if any (mostly
|
|
84
85
|
useful for debugging).
|
|
85
86
|
skip_root (Optional[bool]): if True, the root itself is not visited, only its
|
fontTools/ttLib/ttFont.py
CHANGED
|
@@ -27,6 +27,7 @@ class TTFont(object):
|
|
|
27
27
|
they're actually accessed. This means that simple operations can be extremely fast.
|
|
28
28
|
|
|
29
29
|
Example usage:
|
|
30
|
+
|
|
30
31
|
.. code-block:: pycon
|
|
31
32
|
|
|
32
33
|
>>>
|
|
@@ -39,8 +40,10 @@ class TTFont(object):
|
|
|
39
40
|
>> tt['head'].unitsPerEm
|
|
40
41
|
2048
|
|
41
42
|
|
|
42
|
-
For details of the objects returned when accessing each table, see
|
|
43
|
+
For details of the objects returned when accessing each table, see the
|
|
44
|
+
:doc:`tables </ttLib/tables>` documentation.
|
|
43
45
|
To add a table to the font, use the :py:func:`newTable` function:
|
|
46
|
+
|
|
44
47
|
.. code-block:: pycon
|
|
45
48
|
|
|
46
49
|
>>>
|
|
@@ -50,7 +53,8 @@ class TTFont(object):
|
|
|
50
53
|
>> font["OS/2"] = os2
|
|
51
54
|
|
|
52
55
|
TrueType fonts can also be serialized to and from XML format (see also the
|
|
53
|
-
:
|
|
56
|
+
:doc:`ttx </ttx>` binary):
|
|
57
|
+
|
|
54
58
|
.. code-block:: pycon
|
|
55
59
|
|
|
56
60
|
>>
|
fontTools/varLib/__init__.py
CHANGED
|
@@ -325,7 +325,6 @@ def _add_gvar(font, masterModel, master_ttfs, tolerance=0.5, optimize=True):
|
|
|
325
325
|
|
|
326
326
|
for glyph in font.getGlyphOrder():
|
|
327
327
|
log.debug("building gvar for glyph '%s'", glyph)
|
|
328
|
-
isComposite = glyf[glyph].isComposite()
|
|
329
328
|
|
|
330
329
|
allData = [
|
|
331
330
|
m.glyf._getCoordinatesAndControls(glyph, m.hMetrics, m.vMetrics)
|
|
@@ -363,7 +362,7 @@ def _add_gvar(font, masterModel, master_ttfs, tolerance=0.5, optimize=True):
|
|
|
363
362
|
endPts = control.endPts
|
|
364
363
|
|
|
365
364
|
for i, (delta, support) in enumerate(zip(deltas[1:], supports[1:])):
|
|
366
|
-
if all(v == 0 for v in delta.array)
|
|
365
|
+
if all(v == 0 for v in delta.array):
|
|
367
366
|
continue
|
|
368
367
|
var = TupleVariation(support, delta)
|
|
369
368
|
if optimize:
|
|
@@ -372,16 +371,6 @@ def _add_gvar(font, masterModel, master_ttfs, tolerance=0.5, optimize=True):
|
|
|
372
371
|
)
|
|
373
372
|
|
|
374
373
|
if None in delta_opt:
|
|
375
|
-
"""In composite glyphs, there should be one 0 entry
|
|
376
|
-
to make sure the gvar entry is written to the font.
|
|
377
|
-
|
|
378
|
-
This is to work around an issue with macOS 10.14 and can be
|
|
379
|
-
removed once the behaviour of macOS is changed.
|
|
380
|
-
|
|
381
|
-
https://github.com/fonttools/fonttools/issues/1381
|
|
382
|
-
"""
|
|
383
|
-
if all(d is None for d in delta_opt):
|
|
384
|
-
delta_opt = [(0, 0)] + [None] * (len(delta_opt) - 1)
|
|
385
374
|
# Use "optimized" version only if smaller...
|
|
386
375
|
var_opt = TupleVariation(support, delta_opt)
|
|
387
376
|
|
fontTools/varLib/varStore.py
CHANGED
|
@@ -412,25 +412,6 @@ class _Encoding(object):
|
|
|
412
412
|
def extend(self, lst):
|
|
413
413
|
self.items.update(lst)
|
|
414
414
|
|
|
415
|
-
def get_room(self):
|
|
416
|
-
"""Maximum number of bytes that can be added to characteristic
|
|
417
|
-
while still being beneficial to merge it into another one."""
|
|
418
|
-
count = len(self.items)
|
|
419
|
-
return max(0, (self.overhead - 1) // count - self.width)
|
|
420
|
-
|
|
421
|
-
room = property(get_room)
|
|
422
|
-
|
|
423
|
-
def get_gain(self):
|
|
424
|
-
"""Maximum possible byte gain from merging this into another
|
|
425
|
-
characteristic."""
|
|
426
|
-
count = len(self.items)
|
|
427
|
-
return max(0, self.overhead - count)
|
|
428
|
-
|
|
429
|
-
gain = property(get_gain)
|
|
430
|
-
|
|
431
|
-
def gain_sort_key(self):
|
|
432
|
-
return self.gain, self.chars
|
|
433
|
-
|
|
434
415
|
def width_sort_key(self):
|
|
435
416
|
return self.width, self.chars
|
|
436
417
|
|
|
@@ -534,13 +515,9 @@ def VarStore_optimize(self, use_NO_VARIATION_INDEX=True, quantization=1):
|
|
|
534
515
|
# of the old encoding is completely eliminated. However, each row
|
|
535
516
|
# now would require more bytes to encode, to the tune of one byte
|
|
536
517
|
# per characteristic bit that is active in the new encoding but not
|
|
537
|
-
# in the old one.
|
|
538
|
-
# while still beneficial to merge it into another encoding is called
|
|
539
|
-
# the "room" for that encoding.
|
|
518
|
+
# in the old one.
|
|
540
519
|
#
|
|
541
|
-
# The "gain" of
|
|
542
|
-
# save by merging it into another encoding. The "gain" of merging
|
|
543
|
-
# two encodings is how many bytes we save by doing so.
|
|
520
|
+
# The "gain" of merging two encodings is how many bytes we save by doing so.
|
|
544
521
|
#
|
|
545
522
|
# High-level algorithm:
|
|
546
523
|
#
|
|
@@ -554,7 +531,11 @@ def VarStore_optimize(self, use_NO_VARIATION_INDEX=True, quantization=1):
|
|
|
554
531
|
#
|
|
555
532
|
# - Put all encodings into a "todo" list.
|
|
556
533
|
#
|
|
557
|
-
# - Sort todo list
|
|
534
|
+
# - Sort todo list (for stability) by width_sort_key(), which is a tuple
|
|
535
|
+
# of the following items:
|
|
536
|
+
# * The "width" of the encoding.
|
|
537
|
+
# * The characteristic bitmap of the encoding, with higher-numbered
|
|
538
|
+
# columns compared first.
|
|
558
539
|
#
|
|
559
540
|
# - Make a priority-queue of the gain from combining each two
|
|
560
541
|
# encodings in the todo list. The priority queue is sorted by
|
|
@@ -575,16 +556,7 @@ def VarStore_optimize(self, use_NO_VARIATION_INDEX=True, quantization=1):
|
|
|
575
556
|
#
|
|
576
557
|
# The output is then sorted for stability, in the following way:
|
|
577
558
|
# - The VarRegionList of the input is kept intact.
|
|
578
|
-
# -
|
|
579
|
-
# gain_key_sort(), which is a tuple of the following items:
|
|
580
|
-
# * The gain of the encoding.
|
|
581
|
-
# * The characteristic bitmap of the encoding, with higher-numbered
|
|
582
|
-
# columns compared first.
|
|
583
|
-
# - The VarData is sorted by width_sort_key(), which is a tuple
|
|
584
|
-
# of the following items:
|
|
585
|
-
# * The "width" of the encoding.
|
|
586
|
-
# * The characteristic bitmap of the encoding, with higher-numbered
|
|
587
|
-
# columns compared first.
|
|
559
|
+
# - The VarData is sorted by the same width_sort_key() used at the beginning.
|
|
588
560
|
# - Within each VarData, the items are sorted as vectors of numbers.
|
|
589
561
|
#
|
|
590
562
|
# Finally, each VarData is optimized to remove the empty columns and
|
|
@@ -626,7 +598,7 @@ def VarStore_optimize(self, use_NO_VARIATION_INDEX=True, quantization=1):
|
|
|
626
598
|
front_mapping[(major << 16) + minor] = row
|
|
627
599
|
|
|
628
600
|
# Prepare for the main algorithm.
|
|
629
|
-
todo = sorted(encodings.values(), key=_Encoding.
|
|
601
|
+
todo = sorted(encodings.values(), key=_Encoding.width_sort_key)
|
|
630
602
|
del encodings
|
|
631
603
|
|
|
632
604
|
# Repeatedly pick two best encodings to combine, and combine them.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: fonttools
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.56.0
|
|
4
4
|
Summary: Tools to manipulate font files
|
|
5
5
|
Home-page: http://github.com/fonttools/fonttools
|
|
6
6
|
Author: Just van Rossum
|
|
@@ -391,6 +391,15 @@ Have fun!
|
|
|
391
391
|
Changelog
|
|
392
392
|
~~~~~~~~~
|
|
393
393
|
|
|
394
|
+
4.56.0 (released 2025-02-07)
|
|
395
|
+
----------------------------
|
|
396
|
+
|
|
397
|
+
- [varStore] Sort the input todo list with the same sorting key used for the opimizer's output (#3767).
|
|
398
|
+
- [otData] Fix DeviceTable's ``DeltaValue`` repeat value which caused a crash after importing from XML and then compiling a GPOS containing Device tables (#3758).
|
|
399
|
+
- [feaLib] Make ``FeatureLibError`` pickleable, so client can e.g. use feaLib to can compile features in parallel with multiprocessing (#3762).
|
|
400
|
+
- [varLib/gvar] Removed workaround for old, long-fixed macOS bug about composite glyphs with all zero deltas (#1381, #1788).
|
|
401
|
+
- [Docs] Updated ttLib documentation, beefed up TTFont and TTGlyphSet explanations (#3720).
|
|
402
|
+
|
|
394
403
|
4.55.8 (released 2025-01-29)
|
|
395
404
|
----------------------------
|
|
396
405
|
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
fonttools-4.55.8.dist-info/LICENSE,sha256=Z4cgj4P2Wcy8IiOy_elS_6b36KymLxqKK_W8UbsbI4M,1072
|
|
2
|
-
fonttools-4.55.8.dist-info/WHEEL,sha256=XPgYmeBC_Rg0MCVBgXqO165pafrAlEvfR4FBK_d_Vdw,112
|
|
3
|
-
fonttools-4.55.8.dist-info/RECORD,,
|
|
4
|
-
fonttools-4.55.8.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
|
|
5
|
-
fonttools-4.55.8.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
|
|
6
|
-
fonttools-4.55.8.dist-info/METADATA,sha256=MiUIvxVITe5f3ZDPJsVR8esUSUHMbTgUqamI9YF5fuk,101219
|
|
7
1
|
fontTools/ttx.py,sha256=XCerBn2ySMc5Bn54io4j5U5cW228GFREYvEeuvp0ZfM,16652
|
|
8
2
|
fontTools/unicode.py,sha256=ZZ7OMmWvIyV1IL1k6ioTzaRAh3tUvm6gvK7QgFbOIHY,1237
|
|
9
3
|
fontTools/fontBuilder.py,sha256=ntG0lXnhXNcHK-C7bp0nGNQ68OutFA-84TNNpzntTcE,33952
|
|
@@ -12,7 +6,7 @@ fontTools/afmLib.py,sha256=1MagIItOzRV4vV5kKPxeDZbPJsfxLB3wdHLFkQvl0uk,13164
|
|
|
12
6
|
fontTools/agl.py,sha256=05bm8Uq45uVWW8nPbP6xbNgmFyxQr8sWhYAiP0VSjnI,112975
|
|
13
7
|
fontTools/help.py,sha256=bAjatvIhV7TJyXI7WhsxdYO4YVlhScZXu_kRtHANEPo,1125
|
|
14
8
|
fontTools/tfmLib.py,sha256=UMbkM73JXRJVS9t2B-BJc13rSjImaWBuzCoehLwHFhs,14270
|
|
15
|
-
fontTools/__init__.py,sha256=
|
|
9
|
+
fontTools/__init__.py,sha256=_orqitJ6zKfuWG-XX0I6vuq1MhBXcEAA8-wdaVMksIo,183
|
|
16
10
|
fontTools/encodings/codecs.py,sha256=u50ruwz9fcRsrUrRGpR17Cr55Ovn1fvCHCKrElVumDE,4721
|
|
17
11
|
fontTools/encodings/MacRoman.py,sha256=4vEooUDm2gLCG8KIIDhRxm5-A64w7XrhP9cjDRr2Eo0,3576
|
|
18
12
|
fontTools/encodings/__init__.py,sha256=DJBWmoX_Haau7qlgmvWyfbhSzrX2qL636Rns7CG01pk,75
|
|
@@ -89,7 +83,7 @@ fontTools/misc/filenames.py,sha256=MMCO3xjk1pcDc-baobcKd8IdoFPt-bcGqu8t8HUGAkI,8
|
|
|
89
83
|
fontTools/misc/vector.py,sha256=6lqZcDjAgHJFQgjzD-ULQ_PrigAMfeZKaBZmAfcC0ig,4062
|
|
90
84
|
fontTools/misc/py23.py,sha256=aPVCEUz_deggwLBCeTSsccX6QgJavZqvdVtuhpzrPvA,2238
|
|
91
85
|
fontTools/misc/intTools.py,sha256=l6pjk4UYlXcyLtfC0DdOC5RL6UJ8ihRR0zRiYow5xA8,586
|
|
92
|
-
fontTools/misc/testTools.py,sha256=
|
|
86
|
+
fontTools/misc/testTools.py,sha256=_JdQXAtThRxXKv8hHT2Arh6ezADIZyRJ8nO909A1bYE,7001
|
|
93
87
|
fontTools/misc/encodingTools.py,sha256=hCv5PFfnXQJVCZA8Wyn1vr3vzLBbUuEPtGk5CzWM9RY,2073
|
|
94
88
|
fontTools/misc/transform.py,sha256=OR8dPsAw87z77gkZQMq00iUkDWLIxYv-12XiKH1-erk,15798
|
|
95
89
|
fontTools/misc/psCharStrings.py,sha256=Tb5-k_5krP0eu7qD054iGxE4Zybk9oB4jdiKzcsV0rw,43036
|
|
@@ -119,7 +113,7 @@ fontTools/ttLib/standardGlyphOrder.py,sha256=7AY_fVWdtwZ4iv5uWdyKAUcbEQiSDt1lN4s
|
|
|
119
113
|
fontTools/ttLib/removeOverlaps.py,sha256=YBtj1PX-d2jMgCiWGuI6ibghWApUWqH2trJGXNxrbjQ,12612
|
|
120
114
|
fontTools/ttLib/reorderGlyphs.py,sha256=8ClsX9-tnPfuiD8kHY4jPliGJ-31-JdybA4s1UNWx4w,10316
|
|
121
115
|
fontTools/ttLib/ttVisitor.py,sha256=_tah4C42Tv6Pm9QeLNQwwVCxqI4VNEAqYCbmThp6cvY,1025
|
|
122
|
-
fontTools/ttLib/ttFont.py,sha256=
|
|
116
|
+
fontTools/ttLib/ttFont.py,sha256=llMtJ3VnzRUEyHk606_ElVty3J80E9BHbJnWamB_lO0,41024
|
|
123
117
|
fontTools/ttLib/scaleUpem.py,sha256=U_-NGkwfS9GRIackdEXjGYZ-wSomcUPXQahDneLeArI,14618
|
|
124
118
|
fontTools/ttLib/ttGlyphSet.py,sha256=oq4u8OpTsKxR9ThOomNBJhOA1B9NxYK__Shkx6NIkHo,17853
|
|
125
119
|
fontTools/ttLib/__main__.py,sha256=3yxwadpQ5YTM27RXqG3sFE3EaOSFLQVHaUUH9P0qrSw,3443
|
|
@@ -129,7 +123,7 @@ fontTools/ttLib/ttCollection.py,sha256=aRph2MkBK3kd9-JCLqhJ1EN9pffN_lVX6WWmOTTew
|
|
|
129
123
|
fontTools/ttLib/sfnt.py,sha256=rkznKfteU_Rn9P65WSjFaiwQgpEAoh-TrQpvkQhdIlo,22832
|
|
130
124
|
fontTools/ttLib/tables/table_API_readme.txt,sha256=eZlRTLUkLzc_9Ot3pdfhyMb3ahU0_Iipx0vSbzOVGy8,2748
|
|
131
125
|
fontTools/ttLib/tables/_v_h_e_a.py,sha256=FuULIBl4OQyUeLPOFEY8buB0pAnQhGa1-5a6kN9i5Sc,4459
|
|
132
|
-
fontTools/ttLib/tables/otTraverse.py,sha256=
|
|
126
|
+
fontTools/ttLib/tables/otTraverse.py,sha256=HznEVAlVf_8eyqjsO2edgELtMlXnjnUqccK3PytvVUE,5518
|
|
133
127
|
fontTools/ttLib/tables/_p_r_e_p.py,sha256=CcKr4HrswkupLmbJdrJLTM-z9XgLefQyv8467j9V0zs,427
|
|
134
128
|
fontTools/ttLib/tables/S__i_l_l.py,sha256=Vjtn7SI83vaLGIuQf2e-jhZSFOXb9vXB4jwqznjqnMc,3224
|
|
135
129
|
fontTools/ttLib/tables/V_V_A_R_.py,sha256=Cstw6tc_U4-EmTriRItBSpvTJODAjMFQjfyTaxLzsbI,319
|
|
@@ -183,9 +177,9 @@ fontTools/ttLib/tables/C_P_A_L_.py,sha256=odFjqM4GnjXyQYGEC-e0Gvqms1jQ5zHHG3SDg7
|
|
|
183
177
|
fontTools/ttLib/tables/G_M_A_P_.py,sha256=fvIQumokOCLa8DFeq_xi069F9RROsXSVmDvWtxgyacQ,4720
|
|
184
178
|
fontTools/ttLib/tables/_k_e_r_n.py,sha256=DQNLmD_HEdDKPfp4tamOd9W3T5a1lXFM5tDaWrKl164,10794
|
|
185
179
|
fontTools/ttLib/tables/otConverters.py,sha256=JI9b387HZwbPgf_0J2AO-nJA_wr6VHPJE1lC-H_An8E,74073
|
|
186
|
-
fontTools/ttLib/tables/otTables.py,sha256=
|
|
180
|
+
fontTools/ttLib/tables/otTables.py,sha256=wgmNkSSLbZOkT_DrF7Y-ki8OGW7SC0A7Ue6OHUJQC4E,96972
|
|
187
181
|
fontTools/ttLib/tables/H_V_A_R_.py,sha256=6kPLDUGT8EussA3y9gKr_mrgY5PNv7YaK1V0keMXD9w,313
|
|
188
|
-
fontTools/ttLib/tables/otData.py,sha256
|
|
182
|
+
fontTools/ttLib/tables/otData.py,sha256=-XXRwdVfP-Wz7oBjMPpku0A0QH9lw_fFGNzZlt9N0mo,197262
|
|
189
183
|
fontTools/ttLib/tables/G_P_K_G_.py,sha256=Xi4Hj2OxZ2IZgVyBQ-Qyiie0hPZjpXZkrao-E5EdTWM,4646
|
|
190
184
|
fontTools/ttLib/tables/_c_i_d_g.py,sha256=yt8rVIadpJSDUCoVH4dZetNiy0Azm5ESAxHjB2BX_eA,913
|
|
191
185
|
fontTools/ttLib/tables/_f_v_a_r.py,sha256=rV33H2BgHUl3Wuydsou1G-Hi4uASBppWaLj3FMmiLjs,8837
|
|
@@ -245,7 +239,7 @@ fontTools/feaLib/ast.py,sha256=3DU5NKXesyNCVu5wcebGlnvwdMf0_NKrPgOvS0FrWSg,73800
|
|
|
245
239
|
fontTools/feaLib/lexer.cpython-313-x86_64-linux-musl.so,sha256=UwHS0tWo7wCviRNlk8dXlQioFgagEdOD41Sycl_ILcM,1053080
|
|
246
240
|
fontTools/feaLib/parser.py,sha256=wbfG_-rqrn2RWMRQMlR3-uaiM9k4_mzCVF-wPLr00rQ,98466
|
|
247
241
|
fontTools/feaLib/__init__.py,sha256=jlIru2ghxvb1HhC5Je2BCXjFJmFQlYKpruorPoz3BvQ,213
|
|
248
|
-
fontTools/feaLib/error.py,sha256=
|
|
242
|
+
fontTools/feaLib/error.py,sha256=Bz_5tNcNVcY7_nrAmFlQNhQldtqZWd8WUGQ2E3PWhZo,648
|
|
249
243
|
fontTools/feaLib/location.py,sha256=JXzHqGV56EHdcq823AwA5oaK05hf_1ySWpScbo3zGC0,234
|
|
250
244
|
fontTools/voltLib/lexer.py,sha256=OvuETOSvlS6v7iCVeJ3IdH2Cg71n3OJoEyiB3-h6vhE,3368
|
|
251
245
|
fontTools/voltLib/voltToFea.py,sha256=igP7_E-7AzSl8f_LiN_GHMoNmFiXPBaXp_zZLndjU4c,28505
|
|
@@ -293,7 +287,7 @@ fontTools/varLib/errors.py,sha256=dMo8eGj76I7H4hrBEiNbYrGs2J1K1SwdsUyTHpkVOrQ,69
|
|
|
293
287
|
fontTools/varLib/builder.py,sha256=mSKOCcnnw-WzmZs15FayoqCDh77Ts7o9Tre9psh8CUc,6609
|
|
294
288
|
fontTools/varLib/interpolatableTestStartingPoint.py,sha256=K6OYKBspim6BXc91pfLTbGLyi5XZukfMuBc6hRpENG8,4296
|
|
295
289
|
fontTools/varLib/featureVars.py,sha256=BCOBGjGUv2Rw_z0rlVi1ZYkTDcCMh0LyAUzDVJ2PYm4,25448
|
|
296
|
-
fontTools/varLib/varStore.py,sha256=
|
|
290
|
+
fontTools/varLib/varStore.py,sha256=gE3mrrL5aEIdMkIbOLI5NcElnP2IThC6NzQCjR0fhxU,24050
|
|
297
291
|
fontTools/varLib/mvar.py,sha256=LTV77vH_3Ecg_qKBO5xQzjLOlJir_ppEr7mPVZRgad8,2449
|
|
298
292
|
fontTools/varLib/models.py,sha256=sj_ENljh_qcMbfYzRIOlRgHq6tFOmL02Wv6WO8uofis,22398
|
|
299
293
|
fontTools/varLib/multiVarStore.py,sha256=eQEuWNY01YF5zDpy1UwNtvOYyD6c0FLxpH-QFpX1i78,8305
|
|
@@ -311,7 +305,7 @@ fontTools/varLib/cff.py,sha256=EVgaQcoROIrYQsRuftnxFuGGldEPYbrIh5yBckylJC4,22901
|
|
|
311
305
|
fontTools/varLib/__main__.py,sha256=wbdYC5bPjWCxA0I4SKcLO88gl-UMtsYS8MxdW9ySTkY,95
|
|
312
306
|
fontTools/varLib/interpolatableTestContourOrder.py,sha256=mHJ9Ry7Rm7H3zHDwEUQEtEIDseiUzOxjg4MveW_FSiU,3021
|
|
313
307
|
fontTools/varLib/interpolatableHelpers.py,sha256=lXd7kwfIVl-4opd-vxCDhf48RnJ7IQKv_uuFQM_6vaU,11496
|
|
314
|
-
fontTools/varLib/__init__.py,sha256=
|
|
308
|
+
fontTools/varLib/__init__.py,sha256=Y3Yx5TlD6wN6GImZfrHsetdZJD4mH6p5VC8VU12ucMg,53391
|
|
315
309
|
fontTools/varLib/merger.py,sha256=E59oli4AwqWZ-FgnuStMSBvsB-FHe-55esXTYUqGeJ8,60802
|
|
316
310
|
fontTools/varLib/iup.py,sha256=mKq_GRWuUg4yTmw2V32nu0v2r-SzzN7xS7rIbV0mYuc,14984
|
|
317
311
|
fontTools/varLib/instancer/featureVars.py,sha256=oPqSlnHLMDTtOsmQMi6gkzLox7ymCrqlRAkvC_EJ4bc,7110
|
|
@@ -326,4 +320,10 @@ fontTools/otlLib/error.py,sha256=cthuhBuOwZYpkTLi5gFPupUxkXkCHe-L_YgkE7N1wCI,335
|
|
|
326
320
|
fontTools/otlLib/optimize/__main__.py,sha256=BvP472kA9KxBb9RMyyehPNevAfpmgW9MfdazkUiAO3M,104
|
|
327
321
|
fontTools/otlLib/optimize/__init__.py,sha256=UUQRpNkHU2RczCRt-Gz7sEiYE9AQq9BHLXZEOyvsnX4,1530
|
|
328
322
|
fontTools/otlLib/optimize/gpos.py,sha256=NTDLwjo90L4GiqdIdWkBEycQ7VcT7cOxxype73mFz8c,18474
|
|
329
|
-
fonttools-4.
|
|
323
|
+
fonttools-4.56.0.data/data/share/man/man1/ttx.1,sha256=cLbm_pOOj1C76T2QXvDxzwDj9gk-GTd5RztvTMsouFw,5377
|
|
324
|
+
fonttools-4.56.0.dist-info/LICENSE,sha256=Z4cgj4P2Wcy8IiOy_elS_6b36KymLxqKK_W8UbsbI4M,1072
|
|
325
|
+
fonttools-4.56.0.dist-info/WHEEL,sha256=XPgYmeBC_Rg0MCVBgXqO165pafrAlEvfR4FBK_d_Vdw,112
|
|
326
|
+
fonttools-4.56.0.dist-info/RECORD,,
|
|
327
|
+
fonttools-4.56.0.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
|
|
328
|
+
fonttools-4.56.0.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
|
|
329
|
+
fonttools-4.56.0.dist-info/METADATA,sha256=mHbq7JOdQyQ3-vtlnRALzKhNmCpZgtAPIWzHOxG2txQ,101907
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|