./fonts/py-fonttools, Library for manipulating fonts

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 4.33.3, Package name: py39-fonttools-4.33.3, Maintainer: pkgsrc-users

FontTools is a library for manipulating fonts, written in Python. It
supports TrueType, OpenType, AFM and to an extent Type 1 and some
Mac-specific formats.

This package also includes TTX: a tool to convert OpenType and TrueType
fonts to and from XML.


Required to run:
[textproc/py-expat] [devel/py-setuptools] [lang/python37]

Required to build:
[devel/py-cython] [pkgtools/cwrappers]

Master sites:

Filesize: 4858.619 KB

Version history: (Expand)


CVS history: (Expand)


   2022-04-27 11:43:23 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-fonttools: updated to 4.33.3

4.33.3 (released 2022-04-26)
----------------------------
- [designspaceLib] Fixed typo in ``deepcopyExceptFonts`` method, preventing font
  references to be transferred
  dataclass's ``__post_init__`` magic method

4.33.2 (released 2022-04-22)
----------------------------
- [otBase] Make logging less verbose when harfbuzz fails to serialize. Do not exit
  at the first failure but continue attempting to fix offset overflow error using
  the pure-python serializer even when the ``USE_HARFBUZZ_REPACKER`` option was
  explicitly set to ``True``. This is normal with fonts with relatively large
  tables, at least until hb.repack implements proper table splitting.

4.33.1 (released 2022-04-22)
----------------------------
- [otlLib] Put back the ``FONTTOOLS_GPOS_COMPACT_MODE`` environment variable to fix
  regression in ufo2ft (and thus fontmake) introduced with v4.33.0
  This is deprecated and will be removed one ufo2ft gets updated to use the new
  config setup.

4.33.0 (released 2022-04-21)
----------------------------
- [OS/2 / merge] Automatically recalculate ``OS/2.xAvgCharWidth`` after merging
  fonts with ``fontTools.merge``
- [misc/config] Added ``fontTools.misc.configTools`` module, a generic configuration
  system
  Added ``fontTools.config`` module, a fontTools-specific configuration
  system using ``configTools`` above.
  Attached a ``Config`` object to ``TTFont``.
- [otlLib] Replaced environment variable for GPOS compression level with an
  equivalent option using the new config system.
- [designspaceLib] Incremented format version to 5.0
  Added discrete axes, variable fonts, STAT information, either design- or
  user-space location on instances.
  Added ``fontTools.designspaceLib.split`` module to split a designspace
  into sub-spaces that interpolate and that represent the variable fonts
  listed in the document.
  Made instance names optional and allow computing them from STAT data instead.
  Added ``fontTools.designspaceLib.statNames`` module.
  Allow instances to have the same location as a previously defined STAT label.
  Deprecated some attributes:
  ``SourceDescriptor``: ``copyLib``, ``copyInfo``, ``copyGroups``, ``copyFeatures``.
  ``InstanceDescriptor``: ``kerning``, ``info``; ``glyphs``: use rules or sparse
  sources.
  For both, ``location``: use the more explicit designLocation.
  Note: all are soft deprecations and existing code should keep working.
  Updated documentation for Python methods and the XML format.
- [varLib] Added ``build_many`` to build several variable fonts from a single
  designspace document
  Added ``fontTools.varLib.stat`` module to build STAT tables from a designspace
  document.
- [otBase] Try to use the Harfbuzz Repacker for packing GSUB/GPOS tables when
  ``uharfbuzz`` python bindings are available
  "fontTools.ttLib.tables.otBase:USE_HARFBUZZ_REPACKER" config option \ 
to ``False``.
  If the option is set explicitly to ``True`` but ``uharfbuzz`` can't be imported
  or fails to serialize for any reasons, an error will be raised (ImportError or
  uharfbuzz errors).
- [CFF/T2] Ensure that ``pen.closePath()`` gets called for CFF2 charstrings
  Handle implicit CFF2 closePath within ``T2OutlineExtractor``

4.32.0 (released 2022-04-08)
----------------------------
- [otlLib] Disable GPOS7 optimization to work around bug in Apple CoreText.
  Always force Chaining GPOS8 for now
- [glifLib] Added ``outputImpliedClosingLine=False`` parameter to ``Glyph.draw()``,
  to control behaviour of ``PointToSegmentPen`` (6b4e2e7).
- [varLib.interpolatable] Check for wrong contour starting point
- [cffLib] Remove leftover ``GlobalState`` class and fix calls to ``TopDictIndex()``

- [instancer] Clear ``AxisValueArray`` if it is empty after instantiating

4.31.2 (released 2022-03-22)
----------------------------
- [varLib] fix instantiation of GPOS SinglePos values

4.31.1 (released 2022-03-18)
----------------------------
- [subset] fix subsetting OT-SVG when glyph id attribute is on the root \ 
``<svg>``
  element

4.31.0 (released 2022-03-18)
----------------------------
- [ttCollection] Fixed 'ResourceWarning: unclosed file' warning
- [varLib.merger] Handle merging SinglePos with valueformat=0
- [ttFont] Update glyf's glyphOrder when calling TTFont.setGlyphOrder()
- [ttFont] Added ``ensureDecompiled`` method to load all tables irrespective
  of the ``lazy`` attribute
- [otBase] Added ``iterSubTable`` method to iterate over BaseTable's children of
  type BaseTable; useful for traversing a tree of otTables

4.30.0 (released 2022-03-10)
----------------------------
- [varLib] Added debug logger showing the glyph name for which ``gvar`` is built
- [varLib.errors] Fixed undefined names in ``FoundANone`` and ``UnsupportedFormat``
  exceptions (ac4d5611).
- [otlLib.builder] Added ``windowsNames`` and ``macNames`` (bool) parameters to the
  ``buildStatTabe`` function, so that one can select whether to only add one or both
  of the two sets
- [t1Lib] Added the ability to recreate PostScript stream
- [name] Added ``getFirstDebugName``, ``getBest{Family,SubFamily,Full}Name`` methods
   2022-02-07 22:13:00 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-fonttools: updated to 4.29.1

4.29.1 (released 2022-02-01)
----------------------------
- [colorLib] Fixed rounding issue with radial gradient's start/end circles inside
  one another
- [freetypePen] Handle rotate/skew transform when auto-computing width/height of the
  buffer; raise PenError wen missing moveTo

4.29.0 (released 2022-01-24)
----------------------------
- [ufoLib] Fixed illegal characters and expanded reserved filenames
- [COLRv1] Don't emit useless PaintColrLayers of lenght=1 in LayerListBuilder
- [ttx] Removed legacy ``waitForKeyPress`` method on Windows
- [pens] Added FreeTypePen that uses ``freetype-py`` and the pen protocol for
  rasterizating outline paths
- [unicodedata] Updated the script direction list to Unicode 14.0
  Bumped unicodedata2 dependency to 14.0
- [psLib] Fixed type of ``fontName`` in ``suckfont``
   2022-01-05 16:41:32 by Thomas Klausner | Files touched by this commit (289)
Log message:
python: egg.mk: add USE_PKG_RESOURCES flag

This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.

Set this flag for packages that need it and bump PKGREVISION.
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2021-12-30 14:05:42 by Adam Ciarcinski | Files touched by this commit (125)
Log message:
Forget about Python 3.6
   2021-12-19 17:47:16 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-fonttools: updated to 4.28.5

4.28.5 (released 2021-12-19)
----------------------------
- [svgPathPen] Continuation of 2471: make sure all occurrences of ``str()`` are now
  replaced with user-defined ``ntos`` callable.
- [merge] Refactored code into submodules, plus several bugfixes and improvements:
  fixed duplicate-glyph-resolution GSUB-lookup generation code; use tolerance in \ 
glyph
  comparison for empty glyph's width; ignore space of default ignorable glyphs;
  downgrade duplicates-resolution missing-GSUB from assert to warn; added \ 
--drop-tables
  option.
   2021-12-16 10:50:04 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-fonttools: updated to 4.28.4

4.28.4 (released 2021-12-15)
----------------------------

- [merge] Merge GDEF marksets in Lookups properly
- [feaLib] Have ``fontTools feaLib`` script exit with error code when build fails
- [svgPathPen] Added ``ntos`` option to customize number formatting (e.g. rounding)
- [subset] Speed up subsetting of large CFF fonts
- [otTables] Speculatively promote lookups to extension to speed up compilation. \ 
If the
  offset to lookup N is too big to fit in a ushort, the offset to lookup N+1 is \ 
going to
  be too big as well, so we promote to extension all lookups from lookup N onwards

4.28.3 (released 2021-12-03)
----------------------------

- [subset] Fixed bug while subsetting ``COLR`` table, whereby incomplete layer \ 
records
  pointing to missing glyphs were being retained leading to ``struct.error`` upon
  compiling. Make it so that ``glyf`` glyph closure, which follows the ``COLR`` glyph
  closure, does not influence the ``COLR`` table subsetting
- [docs] Fully document the ``cmap`` and ``glyf`` tables
- [colorLib.unbuilder] Fixed CLI by deleting no longer existing parameter \ 
(180bb1867).

4.28.2 (released 2021-11-22)
----------------------------

- [otlLib] Remove duplicates when building coverage
- [docs] Add interrogate configuration
- [docs] Remove comment about missing “start” optional argument to \ 
``calcChecksum``
- [cu2qu/cli] Adapt to the latest ufoLib2.
- [subset] Support subsetting SVG table and remove it from the list of  drop by \ 
default tables
- [subset] add ``--pretty-svg`` option to pretty print SVG table contents
- [merge] Support merging ``CFF`` tables (CID-keyed ``CFF`` is still not supported)
- [merge] Support ``--output-file``
- [docs] Split table docs into individual pages
- [feaLib] Forbid empty classes
- [docs] Improve documentation for ``fontTools.ttLib.ttFont``
   2021-11-19 10:51:35 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-fonttools: updated to 4.28.1

4.28.1 (released 2021-11-08)
----------------------------
- [subset] Fixed AttributeError while traversing a color glyph's Paint graph \ 
when there is no
  LayerList, which is optional

4.28.0 (released 2021-11-05)
----------------------------
- Dropped support for EOL Python 3.6, require Python 3.7
- [ufoLib/glifLib] Make filename-clash checks faster by using a set instead of a list
- [subset] Don't crash if optional ClipList and LayerList are ``None`` (empty)
- [OT-SVG] Removed support for old deprecated version 1 and embedded color palettes,
  which were never officially part of the OpenType SVG spec. Upon compile, reuse \ 
offsets
  to SVG documents that are identical
- [feaLib] Added support for Variable Feature File syntax. This is experimental \ 
and subject
  to change until it is finalized in the Adobe FEA spec
- [unicodedata] Update Scripts/ScriptExtensions/Blocks to UnicodeData 14.0

4.27.1 (released 2021-09-23)
----------------------------
- [otlLib] Fixed error when chained contextual lookup builder overflows
- [bezierTools] Fixed two floating-point bugs: one when computing `t` for a point
  lying on an almost horizontal/vertical line; another when computing the \ 
intersection
  point between a curve and a line

4.27.0 (released 2021-09-14)
----------------------------
- [ttLib/otTables] Cleaned up virtual GID handling: allow virtual GIDs in \ 
``Coverage``
  and ``ClassDef`` readers; removed unused ``allowVID`` argument from ``TTFont``
  constructor, and ``requireReal`` argument in ``TTFont.getGlyphID`` method.
  Make ``TTFont.setGlyphOrder`` clear reverse glyphOrder map, and assume \ 
``glyphOrder``
  internal attribute is never modified outside setGlyphOrder; added \ 
``TTFont.getGlyphNameMany``
  and ``getGlyphIDMany``
- [py23] Dropped internal use of ``fontTools.py23`` module to fix deprecation \ 
warnings
  in client code that imports from fontTools
- [subset] Fix subsetting COLRv1 clip boxes when font is loaded lazily

4.26.2 (released 2021-08-09)
----------------------------
- [otTables] Added missing ``CompositeMode.PLUS`` operator

4.26.1 (released 2021-08-03)
----------------------------
- [transform] Added ``transformVector`` and ``transformVectors`` methods to the
  ``Transform`` class. Similar to ``transformPoint`` but ignore the translation
  part

4.26.0 (released 2021-08-03)
----------------------------
- [xmlWriter] Default to ``"\n"`` for ``newlinestr`` instead of \ 
platform-specific
  ``os.linesep``
- [otData] Define COLRv1 ClipList and ClipBox
- [removeOverlaps/instancer] Added --ignore-overlap-errors option to work around
  Skia PathOps.Simplify bug
- NOTE: This will be the last version to support Python 3.6. FontTools will require
  Python 3.7 or above from the next release