fonttools 4.55.1__py3-none-any.whl → 4.55.2__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 CHANGED
@@ -3,6 +3,6 @@ from fontTools.misc.loggingTools import configLogger
3
3
 
4
4
  log = logging.getLogger(__name__)
5
5
 
6
- version = __version__ = "4.55.1"
6
+ version = __version__ = "4.55.2"
7
7
 
8
8
  __all__ = ["version", "log", "configLogger"]
@@ -1596,7 +1596,7 @@ class BaseDocWriter(object):
1596
1596
  mapElement.attrib["input"] = self.intOrFloat(inputValue)
1597
1597
  mapElement.attrib["output"] = self.intOrFloat(outputValue)
1598
1598
  axisElement.append(mapElement)
1599
- if axisObject.axisOrdering or axisObject.axisLabels:
1599
+ if axisObject.axisOrdering is not None or axisObject.axisLabels:
1600
1600
  labelsElement = ET.Element("labels")
1601
1601
  if axisObject.axisOrdering is not None:
1602
1602
  labelsElement.attrib["ordering"] = str(axisObject.axisOrdering)
@@ -1658,38 +1658,31 @@ class Builder(object):
1658
1658
 
1659
1659
  return default, device
1660
1660
 
1661
+ def makeAnchorPos(self, varscalar, deviceTable, location):
1662
+ device = None
1663
+ if not isinstance(varscalar, VariableScalar):
1664
+ if deviceTable is not None:
1665
+ device = otl.buildDevice(dict(deviceTable))
1666
+ return varscalar, device
1667
+ default, device = self.makeVariablePos(location, varscalar)
1668
+ if device is not None and deviceTable is not None:
1669
+ raise FeatureLibError(
1670
+ "Can't define a device coordinate and variable scalar", location
1671
+ )
1672
+ return default, device
1673
+
1661
1674
  def makeOpenTypeAnchor(self, location, anchor):
1662
1675
  """ast.Anchor --> otTables.Anchor"""
1663
1676
  if anchor is None:
1664
1677
  return None
1665
- variable = False
1666
1678
  deviceX, deviceY = None, None
1667
1679
  if anchor.xDeviceTable is not None:
1668
1680
  deviceX = otl.buildDevice(dict(anchor.xDeviceTable))
1669
1681
  if anchor.yDeviceTable is not None:
1670
1682
  deviceY = otl.buildDevice(dict(anchor.yDeviceTable))
1671
- for dim in ("x", "y"):
1672
- varscalar = getattr(anchor, dim)
1673
- if not isinstance(varscalar, VariableScalar):
1674
- continue
1675
- if getattr(anchor, dim + "DeviceTable") is not None:
1676
- raise FeatureLibError(
1677
- "Can't define a device coordinate and variable scalar", location
1678
- )
1679
- default, device = self.makeVariablePos(location, varscalar)
1680
- setattr(anchor, dim, default)
1681
- if device is not None:
1682
- if dim == "x":
1683
- deviceX = device
1684
- else:
1685
- deviceY = device
1686
- variable = True
1687
-
1688
- otlanchor = otl.buildAnchor(
1689
- anchor.x, anchor.y, anchor.contourpoint, deviceX, deviceY
1690
- )
1691
- if variable:
1692
- otlanchor.Format = 3
1683
+ x, deviceX = self.makeAnchorPos(anchor.x, anchor.xDeviceTable, location)
1684
+ y, deviceY = self.makeAnchorPos(anchor.y, anchor.yDeviceTable, location)
1685
+ otlanchor = otl.buildAnchor(x, y, anchor.contourpoint, deviceX, deviceY)
1693
1686
  return otlanchor
1694
1687
 
1695
1688
  _VALUEREC_ATTRS = {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fonttools
3
- Version: 4.55.1
3
+ Version: 4.55.2
4
4
  Summary: Tools to manipulate font files
5
5
  Home-page: http://github.com/fonttools/fonttools
6
6
  Author: Just van Rossum
@@ -377,6 +377,13 @@ Have fun!
377
377
  Changelog
378
378
  ~~~~~~~~~
379
379
 
380
+ 4.55.2 (released 2024-12-05)
381
+ ----------------------------
382
+
383
+ - [Docs] update Sphinx config (#3712)
384
+ - [designspaceLib] Allow axisOrdering to be set to zero (#3715)
385
+ - [feaLib] Don’t modify variable anchors in place (#3717)
386
+
380
387
  4.55.1 (released 2024-12-02)
381
388
  ----------------------------
382
389
 
@@ -1,4 +1,4 @@
1
- fontTools/__init__.py,sha256=9hI5R1PjRyo3W1UVA69et9R_aVPY9BsxGKLO0gGmfVg,183
1
+ fontTools/__init__.py,sha256=lwLzuMwUwPYcQJeLiVoCL2BCkBwsHM21iJtDLjRJXZ0,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
@@ -27,7 +27,7 @@ fontTools/cu2qu/cli.py,sha256=MbAQnOpZwrUFe_tjAP3Tgf6uLdOgHlONUcPNeTXwH0Y,6076
27
27
  fontTools/cu2qu/cu2qu.py,sha256=GGNdNWT4xgrvxeZTczIj9Nxi6vN-5lb90KyVmB95W0Y,16439
28
28
  fontTools/cu2qu/errors.py,sha256=PyJNMy8lHDtKpfFkc0nkM8F4jNLZAC4lPQCN1Km4bpg,2441
29
29
  fontTools/cu2qu/ufo.py,sha256=qZR70uWdCia19Ff8GLn5NeItscvvn69DegjDZVF4eNI,11794
30
- fontTools/designspaceLib/__init__.py,sha256=gQKalFNhackVAU9t3Z0nz6zChKkm2-79qpArmud37tA,129251
30
+ fontTools/designspaceLib/__init__.py,sha256=NGIC5zaq0NDdSkOyl6-i327cAzgCS3jeayEDvMEXRwY,129263
31
31
  fontTools/designspaceLib/__main__.py,sha256=xhtYXo1T1tsykhQDD0tcconSNYgWL5hoTBORpVDUYrc,103
32
32
  fontTools/designspaceLib/split.py,sha256=FB1NuvhUO453UXveQZi9oyrW_caoCPM3RADp1rYWkDs,19239
33
33
  fontTools/designspaceLib/statNames.py,sha256=lDqFxZAKSbpMuLsgbK6XtyHA5lqLyAK0t561wsSWmaM,9069
@@ -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=_27skibzPidJtI5lUFeVjEv5NVaNPbuz4u8oZfMuxMk,73801
42
- fontTools/feaLib/builder.py,sha256=H-WC0TzlkQB1GZuLbijD66f8_aJexoXxQJ6L-cXQ0Bo,69994
42
+ fontTools/feaLib/builder.py,sha256=2iy2EMQPkRn8s2SNxX3Cpgce4iDGUvsJ_B3akC08O_E,69931
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
@@ -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.1.data/data/share/man/man1/ttx.1,sha256=cLbm_pOOj1C76T2QXvDxzwDj9gk-GTd5RztvTMsouFw,5377
312
- fonttools-4.55.1.dist-info/LICENSE,sha256=Z4cgj4P2Wcy8IiOy_elS_6b36KymLxqKK_W8UbsbI4M,1072
313
- fonttools-4.55.1.dist-info/METADATA,sha256=ZiBf1HZ3ZM4wyUblsIl45TfKCCDk4o8iuubg7fJl318,164730
314
- fonttools-4.55.1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
315
- fonttools-4.55.1.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
316
- fonttools-4.55.1.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
317
- fonttools-4.55.1.dist-info/RECORD,,
311
+ fonttools-4.55.2.data/data/share/man/man1/ttx.1,sha256=cLbm_pOOj1C76T2QXvDxzwDj9gk-GTd5RztvTMsouFw,5377
312
+ fonttools-4.55.2.dist-info/LICENSE,sha256=Z4cgj4P2Wcy8IiOy_elS_6b36KymLxqKK_W8UbsbI4M,1072
313
+ fonttools-4.55.2.dist-info/METADATA,sha256=FddmcMlkxKfelDQfx9nPLs6IhFC2Ep5bZm7KwT0xoIo,164952
314
+ fonttools-4.55.2.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
315
+ fonttools-4.55.2.dist-info/entry_points.txt,sha256=8kVHddxfFWA44FSD4mBpmC-4uCynQnkoz_9aNJb227Y,147
316
+ fonttools-4.55.2.dist-info/top_level.txt,sha256=rRgRylrXzekqWOsrhygzib12pQ7WILf7UGjqEwkIFDM,10
317
+ fonttools-4.55.2.dist-info/RECORD,,