Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-fontParts for
openSUSE:Factory checked in at 2023-12-08 22:31:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-fontParts (Old)
and /work/SRC/openSUSE:Factory/.python-fontParts.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-fontParts"
Fri Dec 8 22:31:49 2023 rev:8 rq:1131701 version:0.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-fontParts/python-fontParts.changes
2022-12-14 14:11:28.647641135 +0100
+++
/work/SRC/openSUSE:Factory/.python-fontParts.new.25432/python-fontParts.changes
2023-12-08 22:32:00.483899726 +0100
@@ -1,0 +2,11 @@
+Thu Dec 7 21:29:37 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 0.12.1:
+ * Tweak to logic of `setStartSegment`
+- update to 0.12.0:
+ * Fixes to `setStartSegment` so that it keeps the start point
+ on-curve and prevents setting a setting a start segment on an
+ open contour (issues #709 and #412). Thanks @typesupply!
+ * Fixes to docs and test setup. Boring things.
+
+-------------------------------------------------------------------
Old:
----
fontParts-0.11.0.zip
New:
----
fontParts-0.12.1.zip
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-fontParts.spec ++++++
--- /var/tmp/diff_new_pack.iA4tgz/_old 2023-12-08 22:32:01.591940495 +0100
+++ /var/tmp/diff_new_pack.iA4tgz/_new 2023-12-08 22:32:01.595940643 +0100
@@ -1,7 +1,7 @@
#
# spec file
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -27,7 +27,7 @@
%define skip_python2 1
%define skip_python36 1
Name: python-fontParts%{psuffix}
-Version: 0.11.0
+Version: 0.12.1
Release: 0
Summary: API for interacting with the parts of fonts
License: MIT
++++++ fontParts-0.11.0.zip -> fontParts-0.12.1.zip ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/fontParts-0.11.0/.github/workflows/publish-package.yml
new/fontParts-0.12.1/.github/workflows/publish-package.yml
--- old/fontParts-0.11.0/.github/workflows/publish-package.yml 2022-12-09
17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/.github/workflows/publish-package.yml 2023-10-30
19:21:38.000000000 +0100
@@ -25,9 +25,9 @@
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/[email protected]
- name: Set up Python
- uses: actions/setup-python@v2
+ uses: actions/[email protected]
with:
python-version: '3.x'
- name: Install dependencies
@@ -40,4 +40,4 @@
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
python setup.py sdist bdist_wheel
- twine upload dist/*
\ No newline at end of file
+ twine upload dist/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/.github/workflows/run-tests.yml
new/fontParts-0.12.1/.github/workflows/run-tests.yml
--- old/fontParts-0.11.0/.github/workflows/run-tests.yml 2022-12-09
17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/.github/workflows/run-tests.yml 2023-10-30
19:21:38.000000000 +0100
@@ -18,21 +18,21 @@
if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')"
strategy:
matrix:
- python-version: ['3.7', '3.8', '3.9', '3.10']
+ python-version: ['3.8', '3.9', '3.10', '3.11']
platform: [ubuntu-latest, macos-latest, windows-latest]
exclude: # Only test on the oldest and latest supported stable Python
on macOS and Windows.
- platform: macos-latest
- python-version: 3.8
- - platform: windows-latest
- python-version: 3.8
- - platform: macos-latest
python-version: 3.9
- platform: windows-latest
python-version: 3.9
+ - platform: macos-latest
+ python-version: 3.10
+ - platform: windows-latest
+ python-version: 3.10
steps:
- - uses: actions/checkout@v2
+ - uses: actions/[email protected]
- name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v2
+ uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
- name: Install packages
@@ -44,7 +44,7 @@
coverage combine
coverage xml
- name: Upload coverage to Codecov
- uses: codecov/[email protected]
+ uses: codecov/[email protected]
with:
file: coverage.xml
flags: unittests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/Lib/fontParts/_version.py
new/fontParts-0.12.1/Lib/fontParts/_version.py
--- old/fontParts-0.11.0/Lib/fontParts/_version.py 2022-12-09
17:36:02.000000000 +0100
+++ new/fontParts-0.12.1/Lib/fontParts/_version.py 2023-10-30
19:21:56.000000000 +0100
@@ -1 +1 @@
-__version__ = "0.11.0"
\ No newline at end of file
+__version__ = "0.12.1"
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/Lib/fontParts/base/contour.py
new/fontParts-0.12.1/Lib/fontParts/base/contour.py
--- old/fontParts-0.11.0/Lib/fontParts/base/contour.py 2022-12-09
17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/Lib/fontParts/base/contour.py 2023-10-30
19:21:38.000000000 +0100
@@ -628,6 +628,8 @@
Set the first segment on the contour.
segment can be a segment object or an index.
"""
+ if self.open:
+ raise FontPartsError("An open contour can not change the starting
segment.")
segments = self.segments
if not isinstance(segment, int):
segmentIndex = segments.index(segment)
@@ -638,50 +640,21 @@
if segmentIndex == 0:
return
if segmentIndex >= len(segments):
- raise ValueError(("The contour does not contain a segment "
- "at index %d" % segmentIndex))
+ raise ValueError(("The contour does not contain a segment at index
%d" % segmentIndex))
self._setStartSegment(segmentIndex)
def _setStartSegment(self, segmentIndex, **kwargs):
"""
Subclasses may override this method.
"""
+ # get the previous segment and set
+ # its on curve as the first point
+ # in the contour. this matches the
+ # iteration behavior of self.segments.
+ segmentIndex -= 1
segments = self.segments
- oldStart = segments[-1]
- oldLast = segments[0]
- # If the contour ends with a curve on top of a move,
- # delete the move.
- if oldLast.type == "curve" or oldLast.type == "qcurve":
- startOn = oldStart.onCurve
- lastOn = oldLast.onCurve
- if startOn.x == lastOn.x and startOn.y == lastOn.y:
- self.removeSegment(0)
- # Shift new the start index.
- segmentIndex = segmentIndex - 1
- segments = self.segments
- # If the first point is a move, convert it to a line.
- if segments[0].type == "move":
- segments[0].type = "line"
- # Reorder the points internally.
- segments = segments[segmentIndex - 1:] + segments[:segmentIndex - 1]
- points = []
- for segment in segments:
- for point in segment:
- points.append(((point.x, point.y), point.type,
- point.smooth, point.name, point.identifier))
- # Clear the points.
- for point in self.points:
- self.removePoint(point)
- # Add the points.
- for point in points:
- position, type, smooth, name, identifier = point
- self.appendPoint(
- position,
- type=type,
- smooth=smooth,
- name=name,
- identifier=identifier
- )
+ segment = segments[segmentIndex]
+ self.setStartPoint(segment.points[-1])
# -------
# bPoints
@@ -960,11 +933,10 @@
def setStartPoint(self, point):
"""
Set the first point on the contour.
- point can be a segment object or an index.
+ point can be a point object or an index.
"""
if self.open:
raise FontPartsError("An open contour can not change the starting
point.")
-
points = self.points
if not isinstance(point, int):
pointIndex = points.index(point)
@@ -972,10 +944,8 @@
pointIndex = point
if pointIndex == 0:
return
-
if pointIndex >= len(points):
- raise ValueError(("The contour does not contain a point "
- "at index %d" % pointIndex))
+ raise ValueError(("The contour does not contain a point at index
%d" % pointIndex))
self._setStartPoint(pointIndex)
def _setStartPoint(self, pointIndex, **kwargs):
@@ -996,6 +966,7 @@
name=point.name,
identifier=point.identifier
)
+
# ---------
# Selection
# ---------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/Lib/fontParts/base/glyph.py
new/fontParts-0.12.1/Lib/fontParts/base/glyph.py
--- old/fontParts-0.11.0/Lib/fontParts/base/glyph.py 2022-12-09
17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/Lib/fontParts/base/glyph.py 2023-10-30
19:21:38.000000000 +0100
@@ -1694,7 +1694,7 @@
mathGlyph.drawPoints(pen, filterRedundantPoints=filterRedundantPoints)
for anchor in mathGlyph.anchors:
a = copied.appendAnchor(
- name=anchor["name"],
+ name=anchor.get("name"),
position=(anchor["x"], anchor["y"]),
color=anchor["color"]
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/Lib/fontParts/test/test_contour.py
new/fontParts-0.12.1/Lib/fontParts/test/test_contour.py
--- old/fontParts-0.11.0/Lib/fontParts/test/test_contour.py 2022-12-09
17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/Lib/fontParts/test/test_contour.py 2023-10-30
19:21:38.000000000 +0100
@@ -670,6 +670,24 @@
[(0, 0), (2, 2), (3, 3), (4, 4), (1, 1), (5, 5)]
)
+ def test_setStartSegment(self):
+ contour, _ = self.objectGenerator("contour")
+ contour.appendPoint((50, 0), "curve")
+ contour.appendPoint((75, 0), "offcurve")
+ contour.appendPoint((100, 25), "offcurve")
+ contour.appendPoint((100, 50), "curve")
+ contour.appendPoint((100, 75), "offcurve")
+ contour.appendPoint((75, 100), "offcurve")
+ contour.appendPoint((50, 100), "curve")
+ contour.appendPoint((25, 100), "offcurve")
+ contour.appendPoint((0, 75), "offcurve")
+ contour.appendPoint((0, 50), "curve")
+ contour.appendPoint((0, 25), "offcurve")
+ contour.appendPoint((25, 0), "offcurve")
+ contour.setStartSegment(1)
+ self.assertEqual(contour.points[0].type, "curve")
+ self.assertEqual((contour.points[0].x, contour.points[0].y), (100, 50))
+
# ------
# points
# ------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/Lib/fontParts.egg-info/PKG-INFO
new/fontParts-0.12.1/Lib/fontParts.egg-info/PKG-INFO
--- old/fontParts-0.11.0/Lib/fontParts.egg-info/PKG-INFO 2022-12-09
17:36:02.000000000 +0100
+++ new/fontParts-0.12.1/Lib/fontParts.egg-info/PKG-INFO 2023-10-30
19:21:56.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: fontParts
-Version: 0.11.0
+Version: 0.12.1
Summary: An API for interacting with the parts of fonts during the font
development process.
Home-page: http://github.com/robotools/fontParts
Author: Just van Rossum, Tal Leming, Erik van Blokland, Ben Kiel, others
@@ -23,6 +23,10 @@
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.7
License-File: LICENSE
+Requires-Dist: FontTools[lxml,ufo,unicode]>=3.32.0
+Requires-Dist: fontMath>=0.4.8
+Requires-Dist: defcon[pens]>=0.6.0
+Requires-Dist: booleanOperations>=0.9.0
|CI Build Status| |Coverage| |PyPI| |Versions|
@@ -149,7 +153,7 @@
:target:
https://github.com/robotools/fontParts/actions?query=workflow%3ATests
.. |PyPI| image:: https://img.shields.io/pypi/v/fontParts.svg
:target: https://pypi.org/project/fontParts
-.. |Versions| image::
https://img.shields.io/badge/python-3.7%2C%203.8%2C%203.9%2C%203.10-blue.svg
+.. |Versions| image::
https://img.shields.io/badge/python-3.8%2C%203.9%2C%203.10%2C%203.11-blue.svg
:alt: Python Versions
.. |Coverage| image::
https://codecov.io/gh/robotools/fontParts/branch/master/graph/badge.svg
:target: https://codecov.io/gh/robotools/fontParts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/NEWS.rst
new/fontParts-0.12.1/NEWS.rst
--- old/fontParts-0.11.0/NEWS.rst 2022-12-09 17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/NEWS.rst 2023-10-30 19:21:38.000000000 +0100
@@ -1,3 +1,18 @@
+0.12.1 (released 2023-10-30)
+---------------------------
+- Tweak to logic of `setStartSegment`
+
+0.12.0 (released 2023-10-30)
+---------------------------
+- Fixes to `setStartSegment` so that it keeps the start point on-curve and
prevents setting a setting a start segment on an open contour (issues #709 and
#412). Thanks @typesupply!
+- Fixes to docs and test setup. Boring things.
+
+0.11.0 (released 2022-12-09)
+---------------------------
+- Expose the `mathGlyph` options. Thanks @typesupply! See #672
+- Set defaultLayer to "public.default" when its available. Fixes issue #674.
Thanks @typemytype! See #675.
+- Add `info.update` to the info object. Thanks @typesupply! See #676
+
0.10.8 (released 2022-09-03)
---------------------------
- Adds `setStartPoint` to the contour object. Thanks @typemytype! See #668.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/PKG-INFO
new/fontParts-0.12.1/PKG-INFO
--- old/fontParts-0.11.0/PKG-INFO 2022-12-09 17:36:02.000000000 +0100
+++ new/fontParts-0.12.1/PKG-INFO 2023-10-30 19:21:56.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: fontParts
-Version: 0.11.0
+Version: 0.12.1
Summary: An API for interacting with the parts of fonts during the font
development process.
Home-page: http://github.com/robotools/fontParts
Author: Just van Rossum, Tal Leming, Erik van Blokland, Ben Kiel, others
@@ -23,6 +23,10 @@
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.7
License-File: LICENSE
+Requires-Dist: FontTools[lxml,ufo,unicode]>=3.32.0
+Requires-Dist: fontMath>=0.4.8
+Requires-Dist: defcon[pens]>=0.6.0
+Requires-Dist: booleanOperations>=0.9.0
|CI Build Status| |Coverage| |PyPI| |Versions|
@@ -149,7 +153,7 @@
:target:
https://github.com/robotools/fontParts/actions?query=workflow%3ATests
.. |PyPI| image:: https://img.shields.io/pypi/v/fontParts.svg
:target: https://pypi.org/project/fontParts
-.. |Versions| image::
https://img.shields.io/badge/python-3.7%2C%203.8%2C%203.9%2C%203.10-blue.svg
+.. |Versions| image::
https://img.shields.io/badge/python-3.8%2C%203.9%2C%203.10%2C%203.11-blue.svg
:alt: Python Versions
.. |Coverage| image::
https://codecov.io/gh/robotools/fontParts/branch/master/graph/badge.svg
:target: https://codecov.io/gh/robotools/fontParts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/README.rst
new/fontParts-0.12.1/README.rst
--- old/fontParts-0.11.0/README.rst 2022-12-09 17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/README.rst 2023-10-30 19:21:38.000000000 +0100
@@ -123,7 +123,7 @@
:target:
https://github.com/robotools/fontParts/actions?query=workflow%3ATests
.. |PyPI| image:: https://img.shields.io/pypi/v/fontParts.svg
:target: https://pypi.org/project/fontParts
-.. |Versions| image::
https://img.shields.io/badge/python-3.7%2C%203.8%2C%203.9%2C%203.10-blue.svg
+.. |Versions| image::
https://img.shields.io/badge/python-3.8%2C%203.9%2C%203.10%2C%203.11-blue.svg
:alt: Python Versions
.. |Coverage| image::
https://codecov.io/gh/robotools/fontParts/branch/master/graph/badge.svg
:target: https://codecov.io/gh/robotools/fontParts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/fontParts-0.11.0/documentation/source/objectref/objects/info.rst
new/fontParts-0.12.1/documentation/source/objectref/objects/info.rst
--- old/fontParts-0.11.0/documentation/source/objectref/objects/info.rst
2022-12-09 17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/documentation/source/objectref/objects/info.rst
2023-10-30 19:21:38.000000000 +0100
@@ -13,6 +13,10 @@
:class:`Info <BaseInfo>` validates any value set for a `Info <BaseInfo>` item,
but does not check if the data is sane (i.e., you can set valid but incorrect
data).
+The :class:`Info <BaseInfo>` object (as any other fontParts object) does not
allow to modify mutable containers (like lists) in-place. Always get a value,
modify it and then set it back to perform an edit.
+
+For a list of info attributes, refer to the `UFO fontinfo.plist Specification
<https://unifiedfontobject.org/versions/ufo3/fontinfo.plist/#specification>`_.
+
********
Overview
********
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/requirements.txt
new/fontParts-0.12.1/requirements.txt
--- old/fontParts-0.11.0/requirements.txt 2022-12-09 17:35:50.000000000
+0100
+++ new/fontParts-0.12.1/requirements.txt 2023-10-30 19:21:38.000000000
+0100
@@ -1,4 +1,4 @@
-FontTools[unicode,ufo,lxml]==4.38.0
+FontTools[ufo,lxml,unicode]==4.43.1
fontMath==0.9.3
-defcon[pens]==0.10.2
+defcon[pens]==0.10.3
booleanOperations==0.9.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/setup.cfg
new/fontParts-0.12.1/setup.cfg
--- old/fontParts-0.11.0/setup.cfg 2022-12-09 17:36:02.000000000 +0100
+++ new/fontParts-0.12.1/setup.cfg 2023-10-30 19:21:56.000000000 +0100
@@ -8,7 +8,7 @@
max-line-length = 500
[options]
-setup_requires = setuptools_scm==7.0.5
+setup_requires = setuptools_scm==8.0.3
[egg_info]
tag_build =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fontParts-0.11.0/tox.ini new/fontParts-0.12.1/tox.ini
--- old/fontParts-0.11.0/tox.ini 2022-12-09 17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/tox.ini 2023-10-30 19:21:38.000000000 +0100
@@ -5,7 +5,7 @@
[tox]
minversion = 3.0
-envlist = py3{7,8,9,10}-cov, htmlcov
+envlist = py3{8,9,10,11}-cov, htmlcov
[testenv]
deps =