summaryrefslogtreecommitdiff
path: root/python-fonttools.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 08:41:11 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 08:41:11 +0000
commit95bff05ae638f52740b5bbf78b7f3fc280194399 (patch)
tree66ca0df25f08c0b1a9a86ddf8bfa0ece4139faea /python-fonttools.spec
parentf8e33f289f9cef203de9d928c2a95f5b2559c894 (diff)
automatic import of python-fonttools
Diffstat (limited to 'python-fonttools.spec')
-rw-r--r--python-fonttools.spec562
1 files changed, 562 insertions, 0 deletions
diff --git a/python-fonttools.spec b/python-fonttools.spec
new file mode 100644
index 0000000..ddd8f12
--- /dev/null
+++ b/python-fonttools.spec
@@ -0,0 +1,562 @@
+%global _empty_manifest_terminate_build 0
+Name: python-fonttools
+Version: 4.39.3
+Release: 1
+Summary: Tools to manipulate font files
+License: MIT
+URL: http://github.com/fonttools/fonttools
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/39/d7/ab05ae34dd57dd657e492d95ce7ec6bfebfb3bfcdc7316660ac5a13fcfee/fonttools-4.39.3.zip
+BuildArch: noarch
+
+Requires: python3-fs
+Requires: python3-lxml
+Requires: python3-zopfli
+Requires: python3-lz4
+Requires: python3-matplotlib
+Requires: python3-sympy
+Requires: python3-skia-pathops
+Requires: python3-uharfbuzz
+Requires: python3-brotlicffi
+Requires: python3-scipy
+Requires: python3-brotli
+Requires: python3-munkres
+Requires: python3-unicodedata2
+Requires: python3-xattr
+Requires: python3-lz4
+Requires: python3-scipy
+Requires: python3-munkres
+Requires: python3-lxml
+Requires: python3-skia-pathops
+Requires: python3-matplotlib
+Requires: python3-uharfbuzz
+Requires: python3-sympy
+Requires: python3-xattr
+Requires: python3-fs
+Requires: python3-unicodedata2
+Requires: python3-zopfli
+Requires: python3-brotlicffi
+Requires: python3-brotli
+
+%description
+The ``fontTools`` package currently has no (required) external dependencies
+besides the modules included in the Python Standard Library.
+However, a few extra dependencies are required by some of its modules, which
+are needed to unlock optional features.
+The ``fonttools`` PyPI distribution also supports so-called "extras", i.e. a
+set of keywords that describe a group of additional dependencies, which can be
+used when installing via pip, or when specifying a requirement.
+For example:
+ pip install fonttools[ufo,lxml,woff,unicode]
+This command will install fonttools, as well as the optional dependencies that
+are required to unlock the extra features named "ufo", etc.
+- ``Lib/fontTools/misc/etree.py``
+ The module exports a ElementTree-like API for reading/writing XML files, and
+ allows to use as the backend either the built-in ``xml.etree`` module or
+ `lxml <https://lxml.de>`__. The latter is preferred whenever present,
+ as it is generally faster and more secure.
+ *Extra:* ``lxml``
+- ``Lib/fontTools/ufoLib``
+ Package for reading and writing UFO source files; it requires:
+ * `fs <https://pypi.org/pypi/fs>`__: (aka ``pyfilesystem2``) filesystem
+ abstraction layer.
+ * `enum34 <https://pypi.org/pypi/enum34>`__: backport for the built-in ``enum``
+ module (only required on Python < 3.4).
+ *Extra:* ``ufo``
+- ``Lib/fontTools/ttLib/woff2.py``
+ Module to compress/decompress WOFF 2.0 web fonts; it requires:
+ * `brotli <https://pypi.python.org/pypi/Brotli>`__: Python bindings of
+ the Brotli compression library.
+ *Extra:* ``woff``
+- ``Lib/fontTools/ttLib/sfnt.py``
+ To better compress WOFF 1.0 web fonts, the following module can be used
+ instead of the built-in ``zlib`` library:
+ * `zopfli <https://pypi.python.org/pypi/zopfli>`__: Python bindings of
+ the Zopfli compression library.
+ *Extra:* ``woff``
+- ``Lib/fontTools/unicode.py``
+ To display the Unicode character names when dumping the ``cmap`` table
+ with ``ttx`` we use the ``unicodedata`` module in the Standard Library.
+ The version included in there varies between different Python versions.
+ To use the latest available data, you can install:
+ * `unicodedata2 <https://pypi.python.org/pypi/unicodedata2>`__:
+ ``unicodedata`` backport for Python 3.x updated to the latest Unicode
+ version 15.0.
+ *Extra:* ``unicode``
+- ``Lib/fontTools/varLib/interpolatable.py``
+ Module for finding wrong contour/component order between different masters.
+ It requires one of the following packages in order to solve the so-called
+ "minimum weight perfect matching problem in bipartite graphs", or
+ the Assignment problem:
+ * `scipy <https://pypi.python.org/pypi/scipy>`__: the Scientific Library
+ for Python, which internally uses `NumPy <https://pypi.python.org/pypi/numpy>`__
+ arrays and hence is very fast;
+ * `munkres <https://pypi.python.org/pypi/munkres>`__: a pure-Python
+ module that implements the Hungarian or Kuhn-Munkres algorithm.
+ *Extra:* ``interpolatable``
+- ``Lib/fontTools/varLib/plot.py``
+ Module for visualizing DesignSpaceDocument and resulting VariationModel.
+ * `matplotlib <https://pypi.org/pypi/matplotlib>`__: 2D plotting library.
+ *Extra:* ``plot``
+- ``Lib/fontTools/misc/symfont.py``
+ Advanced module for symbolic font statistics analysis; it requires:
+ * `sympy <https://pypi.python.org/pypi/sympy>`__: the Python library for
+ symbolic mathematics.
+ *Extra:* ``symfont``
+- ``Lib/fontTools/t1Lib.py``
+ To get the file creator and type of Macintosh PostScript Type 1 fonts
+ on Python 3 you need to install the following module, as the old ``MacOS``
+ module is no longer included in Mac Python:
+ * `xattr <https://pypi.python.org/pypi/xattr>`__: Python wrapper for
+ extended filesystem attributes (macOS platform only).
+ *Extra:* ``type1``
+- ``Lib/fontTools/ttLib/removeOverlaps.py``
+ Simplify TrueType glyphs by merging overlapping contours and components.
+ * `skia-pathops <https://pypi.python.org/pypy/skia-pathops>`__: Python
+ bindings for the Skia library's PathOps module, performing boolean
+ operations on paths (union, intersection, etc.).
+ *Extra:* ``pathops``
+- ``Lib/fontTools/pens/cocoaPen.py`` and ``Lib/fontTools/pens/quartzPen.py``
+ Pens for drawing glyphs with Cocoa ``NSBezierPath`` or ``CGPath`` require:
+ * `PyObjC <https://pypi.python.org/pypi/pyobjc>`__: the bridge between
+ Python and the Objective-C runtime (macOS platform only).
+- ``Lib/fontTools/pens/qtPen.py``
+ Pen for drawing glyphs with Qt's ``QPainterPath``, requires:
+ * `PyQt5 <https://pypi.python.org/pypi/PyQt5>`__: Python bindings for
+ the Qt cross platform UI and application toolkit.
+- ``Lib/fontTools/pens/reportLabPen.py``
+ Pen to drawing glyphs as PNG images, requires:
+ * `reportlab <https://pypi.python.org/pypi/reportlab>`__: Python toolkit
+ for generating PDFs and graphics.
+- ``Lib/fontTools/pens/freetypePen.py``
+ Pen to drawing glyphs with FreeType as raster images, requires:
+ * `freetype-py <https://pypi.python.org/pypi/freetype-py>`__: Python binding
+ for the FreeType library.
+- ``Lib/fontTools/ttLib/tables/otBase.py``
+ Use the Harfbuzz library to serialize GPOS/GSUB using ``hb_repack`` method, requires:
+ * `uharfbuzz <https://pypi.python.org/pypi/uharfbuzz>`__: Streamlined Cython
+ bindings for the harfbuzz shaping engine
+ *Extra:* ``repacker``
+How to make a new release
+~~~~~~~~~~~~~~~~~~~~~~~~~
+1) Update ``NEWS.rst`` with all the changes since the last release. Write a
+ changelog entry for each PR, with one or two short sentences summarizing it,
+ as well as links to the PR and relevant issues addressed by the PR. Do not
+ put a new title, the next command will do it for you.
+2) Use semantic versioning to decide whether the new release will be a 'major',
+ 'minor' or 'patch' release. It's usually one of the latter two, depending on
+ whether new backward compatible APIs were added, or simply some bugs were fixed.
+3) Run ``python setup.py release`` command from the tip of the ``main`` branch.
+ By default this bumps the third or 'patch' digit only, unless you pass ``--major``
+ or ``--minor`` to bump respectively the first or second digit.
+ This bumps the package version string, extracts the changes since the latest
+ version from ``NEWS.rst``, and uses that text to create an annotated git tag
+ (or a signed git tag if you pass the ``--sign`` option and your git and Github
+ account are configured for `signing commits <https://docs.github.com/en/github/authenticating-to-github/managing-commit-signature-verification/signing-commits>`__
+ using a GPG key).
+ It also commits an additional version bump which opens the main branch for
+ the subsequent developmental cycle
+4) Push both the tag and commit to the upstream repository, by running the command
+ ``git push --follow-tags``. Note: it may push other local tags as well, be
+ careful.
+5) Let the CI build the wheel and source distribution packages and verify both
+ get uploaded to the Python Package Index (PyPI).
+6) [Optional] Go to fonttools `Github Releases <https://github.com/fonttools/fonttools/releases>`__
+ page and create a new release, copy-pasting the content of the git tag
+ message. This way, the release notes are nicely formatted as markdown, and
+ users watching the repo will get an email notification. One day we shall
+ automate that too.
+Acknowledgements
+~~~~~~~~~~~~~~~~
+In alphabetical order:
+aschmitz, Olivier Berten, Samyak Bhuta, Erik van Blokland, Petr van Blokland,
+Jelle Bosma, Sascha Brawer, Tom Byrer, Antonio Cavedoni, Frédéric
+Coiffier, Vincent Connare, David Corbett, Simon Cozens, Dave Crossland,
+Simon Daniels, Peter Dekkers, Behdad Esfahbod, Behnam Esfahbod, Hannes
+Famira, Sam Fishman, Matt Fontaine, Takaaki Fuji, Yannis Haralambous, Greg
+Hitchcock, Jeremie Hornus, Khaled Hosny, John Hudson, Denis Moyogo Jacquerye,
+Jack Jansen, Tom Kacvinsky, Jens Kutilek, Antoine Leca, Werner Lemberg, Tal
+Leming, Peter Lofting, Cosimo Lupo, Olli Meier, Masaya Nakamura, Dave Opstad,
+Laurence Penney, Roozbeh Pournader, Garret Rieger, Read Roberts, Colin Rofls,
+Guido van Rossum, Just van Rossum, Andreas Seidel, Georg Seifert, Chris
+Simpkins, Miguel Sousa, Adam Twardoch, Adrien Tétar, Vitaly Volkov,
+Paul Wise.
+Copyrights
+~~~~~~~~~~
+| Copyright (c) 1999-2004 Just van Rossum, LettError
+ (just@letterror.com)
+| See `LICENSE <LICENSE>`__ for the full license.
+Copyright (c) 2000 BeOpen.com. All Rights Reserved.
+Copyright (c) 1995-2001 Corporation for National Research Initiatives.
+All Rights Reserved.
+Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All
+Rights Reserved.
+Have fun!
+Changelog
+~~~~~~~~~
+
+%package -n python3-fonttools
+Summary: Tools to manipulate font files
+Provides: python-fonttools
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-fonttools
+The ``fontTools`` package currently has no (required) external dependencies
+besides the modules included in the Python Standard Library.
+However, a few extra dependencies are required by some of its modules, which
+are needed to unlock optional features.
+The ``fonttools`` PyPI distribution also supports so-called "extras", i.e. a
+set of keywords that describe a group of additional dependencies, which can be
+used when installing via pip, or when specifying a requirement.
+For example:
+ pip install fonttools[ufo,lxml,woff,unicode]
+This command will install fonttools, as well as the optional dependencies that
+are required to unlock the extra features named "ufo", etc.
+- ``Lib/fontTools/misc/etree.py``
+ The module exports a ElementTree-like API for reading/writing XML files, and
+ allows to use as the backend either the built-in ``xml.etree`` module or
+ `lxml <https://lxml.de>`__. The latter is preferred whenever present,
+ as it is generally faster and more secure.
+ *Extra:* ``lxml``
+- ``Lib/fontTools/ufoLib``
+ Package for reading and writing UFO source files; it requires:
+ * `fs <https://pypi.org/pypi/fs>`__: (aka ``pyfilesystem2``) filesystem
+ abstraction layer.
+ * `enum34 <https://pypi.org/pypi/enum34>`__: backport for the built-in ``enum``
+ module (only required on Python < 3.4).
+ *Extra:* ``ufo``
+- ``Lib/fontTools/ttLib/woff2.py``
+ Module to compress/decompress WOFF 2.0 web fonts; it requires:
+ * `brotli <https://pypi.python.org/pypi/Brotli>`__: Python bindings of
+ the Brotli compression library.
+ *Extra:* ``woff``
+- ``Lib/fontTools/ttLib/sfnt.py``
+ To better compress WOFF 1.0 web fonts, the following module can be used
+ instead of the built-in ``zlib`` library:
+ * `zopfli <https://pypi.python.org/pypi/zopfli>`__: Python bindings of
+ the Zopfli compression library.
+ *Extra:* ``woff``
+- ``Lib/fontTools/unicode.py``
+ To display the Unicode character names when dumping the ``cmap`` table
+ with ``ttx`` we use the ``unicodedata`` module in the Standard Library.
+ The version included in there varies between different Python versions.
+ To use the latest available data, you can install:
+ * `unicodedata2 <https://pypi.python.org/pypi/unicodedata2>`__:
+ ``unicodedata`` backport for Python 3.x updated to the latest Unicode
+ version 15.0.
+ *Extra:* ``unicode``
+- ``Lib/fontTools/varLib/interpolatable.py``
+ Module for finding wrong contour/component order between different masters.
+ It requires one of the following packages in order to solve the so-called
+ "minimum weight perfect matching problem in bipartite graphs", or
+ the Assignment problem:
+ * `scipy <https://pypi.python.org/pypi/scipy>`__: the Scientific Library
+ for Python, which internally uses `NumPy <https://pypi.python.org/pypi/numpy>`__
+ arrays and hence is very fast;
+ * `munkres <https://pypi.python.org/pypi/munkres>`__: a pure-Python
+ module that implements the Hungarian or Kuhn-Munkres algorithm.
+ *Extra:* ``interpolatable``
+- ``Lib/fontTools/varLib/plot.py``
+ Module for visualizing DesignSpaceDocument and resulting VariationModel.
+ * `matplotlib <https://pypi.org/pypi/matplotlib>`__: 2D plotting library.
+ *Extra:* ``plot``
+- ``Lib/fontTools/misc/symfont.py``
+ Advanced module for symbolic font statistics analysis; it requires:
+ * `sympy <https://pypi.python.org/pypi/sympy>`__: the Python library for
+ symbolic mathematics.
+ *Extra:* ``symfont``
+- ``Lib/fontTools/t1Lib.py``
+ To get the file creator and type of Macintosh PostScript Type 1 fonts
+ on Python 3 you need to install the following module, as the old ``MacOS``
+ module is no longer included in Mac Python:
+ * `xattr <https://pypi.python.org/pypi/xattr>`__: Python wrapper for
+ extended filesystem attributes (macOS platform only).
+ *Extra:* ``type1``
+- ``Lib/fontTools/ttLib/removeOverlaps.py``
+ Simplify TrueType glyphs by merging overlapping contours and components.
+ * `skia-pathops <https://pypi.python.org/pypy/skia-pathops>`__: Python
+ bindings for the Skia library's PathOps module, performing boolean
+ operations on paths (union, intersection, etc.).
+ *Extra:* ``pathops``
+- ``Lib/fontTools/pens/cocoaPen.py`` and ``Lib/fontTools/pens/quartzPen.py``
+ Pens for drawing glyphs with Cocoa ``NSBezierPath`` or ``CGPath`` require:
+ * `PyObjC <https://pypi.python.org/pypi/pyobjc>`__: the bridge between
+ Python and the Objective-C runtime (macOS platform only).
+- ``Lib/fontTools/pens/qtPen.py``
+ Pen for drawing glyphs with Qt's ``QPainterPath``, requires:
+ * `PyQt5 <https://pypi.python.org/pypi/PyQt5>`__: Python bindings for
+ the Qt cross platform UI and application toolkit.
+- ``Lib/fontTools/pens/reportLabPen.py``
+ Pen to drawing glyphs as PNG images, requires:
+ * `reportlab <https://pypi.python.org/pypi/reportlab>`__: Python toolkit
+ for generating PDFs and graphics.
+- ``Lib/fontTools/pens/freetypePen.py``
+ Pen to drawing glyphs with FreeType as raster images, requires:
+ * `freetype-py <https://pypi.python.org/pypi/freetype-py>`__: Python binding
+ for the FreeType library.
+- ``Lib/fontTools/ttLib/tables/otBase.py``
+ Use the Harfbuzz library to serialize GPOS/GSUB using ``hb_repack`` method, requires:
+ * `uharfbuzz <https://pypi.python.org/pypi/uharfbuzz>`__: Streamlined Cython
+ bindings for the harfbuzz shaping engine
+ *Extra:* ``repacker``
+How to make a new release
+~~~~~~~~~~~~~~~~~~~~~~~~~
+1) Update ``NEWS.rst`` with all the changes since the last release. Write a
+ changelog entry for each PR, with one or two short sentences summarizing it,
+ as well as links to the PR and relevant issues addressed by the PR. Do not
+ put a new title, the next command will do it for you.
+2) Use semantic versioning to decide whether the new release will be a 'major',
+ 'minor' or 'patch' release. It's usually one of the latter two, depending on
+ whether new backward compatible APIs were added, or simply some bugs were fixed.
+3) Run ``python setup.py release`` command from the tip of the ``main`` branch.
+ By default this bumps the third or 'patch' digit only, unless you pass ``--major``
+ or ``--minor`` to bump respectively the first or second digit.
+ This bumps the package version string, extracts the changes since the latest
+ version from ``NEWS.rst``, and uses that text to create an annotated git tag
+ (or a signed git tag if you pass the ``--sign`` option and your git and Github
+ account are configured for `signing commits <https://docs.github.com/en/github/authenticating-to-github/managing-commit-signature-verification/signing-commits>`__
+ using a GPG key).
+ It also commits an additional version bump which opens the main branch for
+ the subsequent developmental cycle
+4) Push both the tag and commit to the upstream repository, by running the command
+ ``git push --follow-tags``. Note: it may push other local tags as well, be
+ careful.
+5) Let the CI build the wheel and source distribution packages and verify both
+ get uploaded to the Python Package Index (PyPI).
+6) [Optional] Go to fonttools `Github Releases <https://github.com/fonttools/fonttools/releases>`__
+ page and create a new release, copy-pasting the content of the git tag
+ message. This way, the release notes are nicely formatted as markdown, and
+ users watching the repo will get an email notification. One day we shall
+ automate that too.
+Acknowledgements
+~~~~~~~~~~~~~~~~
+In alphabetical order:
+aschmitz, Olivier Berten, Samyak Bhuta, Erik van Blokland, Petr van Blokland,
+Jelle Bosma, Sascha Brawer, Tom Byrer, Antonio Cavedoni, Frédéric
+Coiffier, Vincent Connare, David Corbett, Simon Cozens, Dave Crossland,
+Simon Daniels, Peter Dekkers, Behdad Esfahbod, Behnam Esfahbod, Hannes
+Famira, Sam Fishman, Matt Fontaine, Takaaki Fuji, Yannis Haralambous, Greg
+Hitchcock, Jeremie Hornus, Khaled Hosny, John Hudson, Denis Moyogo Jacquerye,
+Jack Jansen, Tom Kacvinsky, Jens Kutilek, Antoine Leca, Werner Lemberg, Tal
+Leming, Peter Lofting, Cosimo Lupo, Olli Meier, Masaya Nakamura, Dave Opstad,
+Laurence Penney, Roozbeh Pournader, Garret Rieger, Read Roberts, Colin Rofls,
+Guido van Rossum, Just van Rossum, Andreas Seidel, Georg Seifert, Chris
+Simpkins, Miguel Sousa, Adam Twardoch, Adrien Tétar, Vitaly Volkov,
+Paul Wise.
+Copyrights
+~~~~~~~~~~
+| Copyright (c) 1999-2004 Just van Rossum, LettError
+ (just@letterror.com)
+| See `LICENSE <LICENSE>`__ for the full license.
+Copyright (c) 2000 BeOpen.com. All Rights Reserved.
+Copyright (c) 1995-2001 Corporation for National Research Initiatives.
+All Rights Reserved.
+Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All
+Rights Reserved.
+Have fun!
+Changelog
+~~~~~~~~~
+
+%package help
+Summary: Development documents and examples for fonttools
+Provides: python3-fonttools-doc
+%description help
+The ``fontTools`` package currently has no (required) external dependencies
+besides the modules included in the Python Standard Library.
+However, a few extra dependencies are required by some of its modules, which
+are needed to unlock optional features.
+The ``fonttools`` PyPI distribution also supports so-called "extras", i.e. a
+set of keywords that describe a group of additional dependencies, which can be
+used when installing via pip, or when specifying a requirement.
+For example:
+ pip install fonttools[ufo,lxml,woff,unicode]
+This command will install fonttools, as well as the optional dependencies that
+are required to unlock the extra features named "ufo", etc.
+- ``Lib/fontTools/misc/etree.py``
+ The module exports a ElementTree-like API for reading/writing XML files, and
+ allows to use as the backend either the built-in ``xml.etree`` module or
+ `lxml <https://lxml.de>`__. The latter is preferred whenever present,
+ as it is generally faster and more secure.
+ *Extra:* ``lxml``
+- ``Lib/fontTools/ufoLib``
+ Package for reading and writing UFO source files; it requires:
+ * `fs <https://pypi.org/pypi/fs>`__: (aka ``pyfilesystem2``) filesystem
+ abstraction layer.
+ * `enum34 <https://pypi.org/pypi/enum34>`__: backport for the built-in ``enum``
+ module (only required on Python < 3.4).
+ *Extra:* ``ufo``
+- ``Lib/fontTools/ttLib/woff2.py``
+ Module to compress/decompress WOFF 2.0 web fonts; it requires:
+ * `brotli <https://pypi.python.org/pypi/Brotli>`__: Python bindings of
+ the Brotli compression library.
+ *Extra:* ``woff``
+- ``Lib/fontTools/ttLib/sfnt.py``
+ To better compress WOFF 1.0 web fonts, the following module can be used
+ instead of the built-in ``zlib`` library:
+ * `zopfli <https://pypi.python.org/pypi/zopfli>`__: Python bindings of
+ the Zopfli compression library.
+ *Extra:* ``woff``
+- ``Lib/fontTools/unicode.py``
+ To display the Unicode character names when dumping the ``cmap`` table
+ with ``ttx`` we use the ``unicodedata`` module in the Standard Library.
+ The version included in there varies between different Python versions.
+ To use the latest available data, you can install:
+ * `unicodedata2 <https://pypi.python.org/pypi/unicodedata2>`__:
+ ``unicodedata`` backport for Python 3.x updated to the latest Unicode
+ version 15.0.
+ *Extra:* ``unicode``
+- ``Lib/fontTools/varLib/interpolatable.py``
+ Module for finding wrong contour/component order between different masters.
+ It requires one of the following packages in order to solve the so-called
+ "minimum weight perfect matching problem in bipartite graphs", or
+ the Assignment problem:
+ * `scipy <https://pypi.python.org/pypi/scipy>`__: the Scientific Library
+ for Python, which internally uses `NumPy <https://pypi.python.org/pypi/numpy>`__
+ arrays and hence is very fast;
+ * `munkres <https://pypi.python.org/pypi/munkres>`__: a pure-Python
+ module that implements the Hungarian or Kuhn-Munkres algorithm.
+ *Extra:* ``interpolatable``
+- ``Lib/fontTools/varLib/plot.py``
+ Module for visualizing DesignSpaceDocument and resulting VariationModel.
+ * `matplotlib <https://pypi.org/pypi/matplotlib>`__: 2D plotting library.
+ *Extra:* ``plot``
+- ``Lib/fontTools/misc/symfont.py``
+ Advanced module for symbolic font statistics analysis; it requires:
+ * `sympy <https://pypi.python.org/pypi/sympy>`__: the Python library for
+ symbolic mathematics.
+ *Extra:* ``symfont``
+- ``Lib/fontTools/t1Lib.py``
+ To get the file creator and type of Macintosh PostScript Type 1 fonts
+ on Python 3 you need to install the following module, as the old ``MacOS``
+ module is no longer included in Mac Python:
+ * `xattr <https://pypi.python.org/pypi/xattr>`__: Python wrapper for
+ extended filesystem attributes (macOS platform only).
+ *Extra:* ``type1``
+- ``Lib/fontTools/ttLib/removeOverlaps.py``
+ Simplify TrueType glyphs by merging overlapping contours and components.
+ * `skia-pathops <https://pypi.python.org/pypy/skia-pathops>`__: Python
+ bindings for the Skia library's PathOps module, performing boolean
+ operations on paths (union, intersection, etc.).
+ *Extra:* ``pathops``
+- ``Lib/fontTools/pens/cocoaPen.py`` and ``Lib/fontTools/pens/quartzPen.py``
+ Pens for drawing glyphs with Cocoa ``NSBezierPath`` or ``CGPath`` require:
+ * `PyObjC <https://pypi.python.org/pypi/pyobjc>`__: the bridge between
+ Python and the Objective-C runtime (macOS platform only).
+- ``Lib/fontTools/pens/qtPen.py``
+ Pen for drawing glyphs with Qt's ``QPainterPath``, requires:
+ * `PyQt5 <https://pypi.python.org/pypi/PyQt5>`__: Python bindings for
+ the Qt cross platform UI and application toolkit.
+- ``Lib/fontTools/pens/reportLabPen.py``
+ Pen to drawing glyphs as PNG images, requires:
+ * `reportlab <https://pypi.python.org/pypi/reportlab>`__: Python toolkit
+ for generating PDFs and graphics.
+- ``Lib/fontTools/pens/freetypePen.py``
+ Pen to drawing glyphs with FreeType as raster images, requires:
+ * `freetype-py <https://pypi.python.org/pypi/freetype-py>`__: Python binding
+ for the FreeType library.
+- ``Lib/fontTools/ttLib/tables/otBase.py``
+ Use the Harfbuzz library to serialize GPOS/GSUB using ``hb_repack`` method, requires:
+ * `uharfbuzz <https://pypi.python.org/pypi/uharfbuzz>`__: Streamlined Cython
+ bindings for the harfbuzz shaping engine
+ *Extra:* ``repacker``
+How to make a new release
+~~~~~~~~~~~~~~~~~~~~~~~~~
+1) Update ``NEWS.rst`` with all the changes since the last release. Write a
+ changelog entry for each PR, with one or two short sentences summarizing it,
+ as well as links to the PR and relevant issues addressed by the PR. Do not
+ put a new title, the next command will do it for you.
+2) Use semantic versioning to decide whether the new release will be a 'major',
+ 'minor' or 'patch' release. It's usually one of the latter two, depending on
+ whether new backward compatible APIs were added, or simply some bugs were fixed.
+3) Run ``python setup.py release`` command from the tip of the ``main`` branch.
+ By default this bumps the third or 'patch' digit only, unless you pass ``--major``
+ or ``--minor`` to bump respectively the first or second digit.
+ This bumps the package version string, extracts the changes since the latest
+ version from ``NEWS.rst``, and uses that text to create an annotated git tag
+ (or a signed git tag if you pass the ``--sign`` option and your git and Github
+ account are configured for `signing commits <https://docs.github.com/en/github/authenticating-to-github/managing-commit-signature-verification/signing-commits>`__
+ using a GPG key).
+ It also commits an additional version bump which opens the main branch for
+ the subsequent developmental cycle
+4) Push both the tag and commit to the upstream repository, by running the command
+ ``git push --follow-tags``. Note: it may push other local tags as well, be
+ careful.
+5) Let the CI build the wheel and source distribution packages and verify both
+ get uploaded to the Python Package Index (PyPI).
+6) [Optional] Go to fonttools `Github Releases <https://github.com/fonttools/fonttools/releases>`__
+ page and create a new release, copy-pasting the content of the git tag
+ message. This way, the release notes are nicely formatted as markdown, and
+ users watching the repo will get an email notification. One day we shall
+ automate that too.
+Acknowledgements
+~~~~~~~~~~~~~~~~
+In alphabetical order:
+aschmitz, Olivier Berten, Samyak Bhuta, Erik van Blokland, Petr van Blokland,
+Jelle Bosma, Sascha Brawer, Tom Byrer, Antonio Cavedoni, Frédéric
+Coiffier, Vincent Connare, David Corbett, Simon Cozens, Dave Crossland,
+Simon Daniels, Peter Dekkers, Behdad Esfahbod, Behnam Esfahbod, Hannes
+Famira, Sam Fishman, Matt Fontaine, Takaaki Fuji, Yannis Haralambous, Greg
+Hitchcock, Jeremie Hornus, Khaled Hosny, John Hudson, Denis Moyogo Jacquerye,
+Jack Jansen, Tom Kacvinsky, Jens Kutilek, Antoine Leca, Werner Lemberg, Tal
+Leming, Peter Lofting, Cosimo Lupo, Olli Meier, Masaya Nakamura, Dave Opstad,
+Laurence Penney, Roozbeh Pournader, Garret Rieger, Read Roberts, Colin Rofls,
+Guido van Rossum, Just van Rossum, Andreas Seidel, Georg Seifert, Chris
+Simpkins, Miguel Sousa, Adam Twardoch, Adrien Tétar, Vitaly Volkov,
+Paul Wise.
+Copyrights
+~~~~~~~~~~
+| Copyright (c) 1999-2004 Just van Rossum, LettError
+ (just@letterror.com)
+| See `LICENSE <LICENSE>`__ for the full license.
+Copyright (c) 2000 BeOpen.com. All Rights Reserved.
+Copyright (c) 1995-2001 Corporation for National Research Initiatives.
+All Rights Reserved.
+Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All
+Rights Reserved.
+Have fun!
+Changelog
+~~~~~~~~~
+
+%prep
+%autosetup -n fonttools-4.39.3
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-fonttools -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 4.39.3-1
+- Package Spec generated