diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-fonttools.spec | 562 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 564 insertions, 0 deletions
@@ -0,0 +1 @@ +/fonttools-4.39.3.zip 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 @@ -0,0 +1 @@ +8869fb907adf0a9433e06eb76fe946b9 fonttools-4.39.3.zip |
