fonttools 4.55.4__py3-none-any.whl → 4.55.5__py3-none-any.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/builder.py +7 -1
- fontTools/ttLib/tables/_g_l_y_f.py +6 -3
- {fonttools-4.55.4.dist-info → fonttools-4.55.5.dist-info}/METADATA +7 -1
- {fonttools-4.55.4.dist-info → fonttools-4.55.5.dist-info}/RECORD +10 -10
- {fonttools-4.55.4.data → fonttools-4.55.5.data}/data/share/man/man1/ttx.1 +0 -0
- {fonttools-4.55.4.dist-info → fonttools-4.55.5.dist-info}/LICENSE +0 -0
- {fonttools-4.55.4.dist-info → fonttools-4.55.5.dist-info}/WHEEL +0 -0
- {fonttools-4.55.4.dist-info → fonttools-4.55.5.dist-info}/entry_points.txt +0 -0
- {fonttools-4.55.4.dist-info → fonttools-4.55.5.dist-info}/top_level.txt +0 -0
fontTools/__init__.py
CHANGED
fontTools/feaLib/builder.py
CHANGED
|
@@ -1106,7 +1106,13 @@ class Builder(object):
|
|
|
1106
1106
|
if (language == "dflt" or include_default) and lookups:
|
|
1107
1107
|
self.features_[key] = lookups[:]
|
|
1108
1108
|
else:
|
|
1109
|
-
|
|
1109
|
+
# if we aren't including default we need to manually remove the
|
|
1110
|
+
# default lookups, which were added to all declared langsystems
|
|
1111
|
+
# as they were encountered (we don't remove all lookups because
|
|
1112
|
+
# we want to allow duplicate script/lang statements;
|
|
1113
|
+
# see https://github.com/fonttools/fonttools/issues/3748
|
|
1114
|
+
cur_lookups = self.features_.get(key, [])
|
|
1115
|
+
self.features_[key] = [x for x in cur_lookups if x not in lookups]
|
|
1110
1116
|
self.language_systems = frozenset([(self.script_, language)])
|
|
1111
1117
|
|
|
1112
1118
|
if required:
|
|
@@ -1187,7 +1187,7 @@ class Glyph(object):
|
|
|
1187
1187
|
):
|
|
1188
1188
|
return
|
|
1189
1189
|
try:
|
|
1190
|
-
coords, endPts, flags = self.getCoordinates(glyfTable)
|
|
1190
|
+
coords, endPts, flags = self.getCoordinates(glyfTable, round=otRound)
|
|
1191
1191
|
self.xMin, self.yMin, self.xMax, self.yMax = coords.calcIntBounds()
|
|
1192
1192
|
except NotImplementedError:
|
|
1193
1193
|
pass
|
|
@@ -1241,7 +1241,7 @@ class Glyph(object):
|
|
|
1241
1241
|
else:
|
|
1242
1242
|
return self.numberOfContours == -1
|
|
1243
1243
|
|
|
1244
|
-
def getCoordinates(self, glyfTable):
|
|
1244
|
+
def getCoordinates(self, glyfTable, round=noRound):
|
|
1245
1245
|
"""Return the coordinates, end points and flags
|
|
1246
1246
|
|
|
1247
1247
|
This method returns three values: A :py:class:`GlyphCoordinates` object,
|
|
@@ -1267,13 +1267,16 @@ class Glyph(object):
|
|
|
1267
1267
|
for compo in self.components:
|
|
1268
1268
|
g = glyfTable[compo.glyphName]
|
|
1269
1269
|
try:
|
|
1270
|
-
coordinates, endPts, flags = g.getCoordinates(
|
|
1270
|
+
coordinates, endPts, flags = g.getCoordinates(
|
|
1271
|
+
glyfTable, round=round
|
|
1272
|
+
)
|
|
1271
1273
|
except RecursionError:
|
|
1272
1274
|
raise ttLib.TTLibError(
|
|
1273
1275
|
"glyph '%s' contains a recursive component reference"
|
|
1274
1276
|
% compo.glyphName
|
|
1275
1277
|
)
|
|
1276
1278
|
coordinates = GlyphCoordinates(coordinates)
|
|
1279
|
+
coordinates.toInt(round=round)
|
|
1277
1280
|
if hasattr(compo, "firstPt"):
|
|
1278
1281
|
# component uses two reference points: we apply the transform _before_
|
|
1279
1282
|
# computing the offset between the points
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: fonttools
|
|
3
|
-
Version: 4.55.
|
|
3
|
+
Version: 4.55.5
|
|
4
4
|
Summary: Tools to manipulate font files
|
|
5
5
|
Home-page: http://github.com/fonttools/fonttools
|
|
6
6
|
Author: Just van Rossum
|
|
@@ -389,6 +389,12 @@ Have fun!
|
|
|
389
389
|
Changelog
|
|
390
390
|
~~~~~~~~~
|
|
391
391
|
|
|
392
|
+
4.55.5 (released 2025-01-23)
|
|
393
|
+
----------------------------
|
|
394
|
+
|
|
395
|
+
- [glyf] Fixed recalcBounds of transformed components with unrounded coordinates (#3750).
|
|
396
|
+
- [feaLib] Allow duplicate script/language statements (#3749).
|
|
397
|
+
|
|
392
398
|
4.55.4 (released 2025-01-21)
|
|
393
399
|
----------------------------
|
|
394
400
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
fontTools/__init__.py,sha256=
|
|
1
|
+
fontTools/__init__.py,sha256=OYDPTWCWOw88Y0Ovnd6VAvxaE753VM7PqOK6uaMfM6s,183
|
|
2
2
|
fontTools/__main__.py,sha256=VjkGh1UD-i1zTDA1dXo1uecSs6PxHdGQ5vlCk_mCCYs,925
|
|
3
3
|
fontTools/afmLib.py,sha256=1MagIItOzRV4vV5kKPxeDZbPJsfxLB3wdHLFkQvl0uk,13164
|
|
4
4
|
fontTools/agl.py,sha256=05bm8Uq45uVWW8nPbP6xbNgmFyxQr8sWhYAiP0VSjnI,112975
|
|
@@ -39,7 +39,7 @@ fontTools/encodings/codecs.py,sha256=u50ruwz9fcRsrUrRGpR17Cr55Ovn1fvCHCKrElVumDE
|
|
|
39
39
|
fontTools/feaLib/__init__.py,sha256=jlIru2ghxvb1HhC5Je2BCXjFJmFQlYKpruorPoz3BvQ,213
|
|
40
40
|
fontTools/feaLib/__main__.py,sha256=Df2PA6LXwna98lSXiL7R4as_ZEdWCIk3egSM5w7GpvM,2240
|
|
41
41
|
fontTools/feaLib/ast.py,sha256=3DU5NKXesyNCVu5wcebGlnvwdMf0_NKrPgOvS0FrWSg,73800
|
|
42
|
-
fontTools/feaLib/builder.py,sha256=
|
|
42
|
+
fontTools/feaLib/builder.py,sha256=y7t8_q0-PiPoLpXZCfThx1SmvF-ZpDDyVe8605FzaL4,71036
|
|
43
43
|
fontTools/feaLib/error.py,sha256=Tq2dZUlCOyLfjTr3qibsT2g9t-S_JEf6bKgyNX55oCE,643
|
|
44
44
|
fontTools/feaLib/lexer.py,sha256=emyMPmRoqNZkzxnJyI6JRCCtXrbCOFofwa9O6ABGLiw,11121
|
|
45
45
|
fontTools/feaLib/location.py,sha256=JXzHqGV56EHdcq823AwA5oaK05hf_1ySWpScbo3zGC0,234
|
|
@@ -224,7 +224,7 @@ fontTools/ttLib/tables/_f_p_g_m.py,sha256=t1T6lfuoJv1ImKu7X4h6jg2S6B4rxQZSlDrnZ5
|
|
|
224
224
|
fontTools/ttLib/tables/_f_v_a_r.py,sha256=rV33H2BgHUl3Wuydsou1G-Hi4uASBppWaLj3FMmiLjs,8837
|
|
225
225
|
fontTools/ttLib/tables/_g_a_s_p.py,sha256=YvhAVDvdssN2fjPMTfSrO4WBCfTuh9T2cU5zquDVnSw,2203
|
|
226
226
|
fontTools/ttLib/tables/_g_c_i_d.py,sha256=AJ4uV7PTHbnsw4Tfw8c2Ezh0VMox3oAH0qhhq7y8hdM,362
|
|
227
|
-
fontTools/ttLib/tables/_g_l_y_f.py,sha256=
|
|
227
|
+
fontTools/ttLib/tables/_g_l_y_f.py,sha256=FOUV04tS3lxwecbmlPwkYbbmI9tjTndrrPQKedbC4lA,84667
|
|
228
228
|
fontTools/ttLib/tables/_g_v_a_r.py,sha256=9T8XwBWaWyJINSeDhLR-g9oPiKLXJvlhThpXL0YuSs0,10773
|
|
229
229
|
fontTools/ttLib/tables/_h_d_m_x.py,sha256=kgydwtD1ibF3T0Vbohq-aM_QD8PY-vp4oUuWQWJJMNA,4271
|
|
230
230
|
fontTools/ttLib/tables/_h_e_a_d.py,sha256=yY2GTFq6Mn6nN8EegbMVJRMUWIqDYFln3FhTk3ziw6s,4926
|
|
@@ -308,10 +308,10 @@ fontTools/voltLib/error.py,sha256=phcQOQj-xOspCXu9hBJQRhSOBDzxHRgZd3fWQOFNJzw,39
|
|
|
308
308
|
fontTools/voltLib/lexer.py,sha256=OvuETOSvlS6v7iCVeJ3IdH2Cg71n3OJoEyiB3-h6vhE,3368
|
|
309
309
|
fontTools/voltLib/parser.py,sha256=wBSUrjLT3fSPv9Mjx6_ULIf8IcGlwjtb4Auxjh5wqnc,24916
|
|
310
310
|
fontTools/voltLib/voltToFea.py,sha256=igP7_E-7AzSl8f_LiN_GHMoNmFiXPBaXp_zZLndjU4c,28505
|
|
311
|
-
fonttools-4.55.
|
|
312
|
-
fonttools-4.55.
|
|
313
|
-
fonttools-4.55.
|
|
314
|
-
fonttools-4.55.
|
|
315
|
-
fonttools-4.55.
|
|
316
|
-
fonttools-4.55.
|
|
317
|
-
fonttools-4.55.
|
|
311
|
+
fonttools-4.55.5.data/data/share/man/man1/ttx.1,sha256=cLbm_pOOj1C76T2QXvDxzwDj9gk-GTd5RztvTMsouFw,5377
|
|
312
|
+
fonttools-4.55.5.dist-info/LICENSE,sha256=Z4cgj4P2Wcy8IiOy_elS_6b36KymLxqKK_W8UbsbI4M,1072
|
|
313
|
+
fonttools-4.55.5.dist-info/METADATA,sha256=LTpr4fuHsoSAtkaG68Uuij-9NQNhB8V_Ra8J14m7u1M,165880
|
|
314
|
+
fonttools-4.55.5.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
315
|
+
fonttools-4.55.5.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
|
|
316
|
+
fonttools-4.55.5.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
|
|
317
|
+
fonttools-4.55.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|