Commit graph

88 commits

Author SHA1 Message Date
adam
3b92cf3cf7 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-02-07 21:12:59 +00:00
wiz
67e1f1a6bf 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-05 15:40:56 +00:00
wiz
bb579283d0 *: bump PKGREVISION for egg.mk users
They now have a tool dependency on py-setuptools instead of a DEPENDS
2022-01-04 20:53:26 +00:00
adam
54fe3b553b Forget about Python 3.6 2021-12-30 13:05:27 +00:00
adam
b12df90a45 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-19 16:47:16 +00:00
adam
6c423cf10c 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-12-16 09:50:03 +00:00
adam
76857cd447 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
2021-11-19 09:51:35 +00:00
nia
d14eac75b3 fonts: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
2021-10-26 10:26:59 +00:00
nia
9ef0a4d7a2 fonts: Remove SHA1 hashes for distfiles 2021-10-07 14:03:48 +00:00
adam
e403eb97fa py-fonttools: updated to 4.25.2
4.25.2 (released 2021-07-26)
----------------------------
- [COLRv1] Various changes to sync with the latest CORLv1 draft spec. In particular:
  define COLR.VarIndexMap, remove/inline ColorIndex struct, add VarIndexBase to ``PaintVar*`` tables
  add reduced-precicion specialized transform Paints;
  define Angle as fraction of half circle encoded as F2Dot14;
  use FWORD (int16) for all Paint center coordinates;
  change PaintTransform to have an offset to Affine2x3;
- [ttLib] when importing XML, only set sfntVersion if the font has no reader and is empty

4.25.1 (released 2021-07-16)
----------------------------
- [ttGlyphPen] Fixed bug in ``TTGlyphPointPen``, whereby open contours (i.e. starting
  with segmentType "move") would throw ``NotImplementedError``. They are now treated
  as if they are closed, like with the ``TTGlyphPen``

4.25.0 (released 2021-07-05)
----------------------------
- [tfmLib] Added new library for parsing TeX Font Metric (TFM) files
- [TupleVariation] Make shared tuples order deterministic on python < 3.7 where
  Counter (subclass of dict) doesn't remember insertion order
- [otData] Renamed COLRv1 structs to remove 'v1' suffix and match the updated draft
  spec: 'LayerV1List' -> 'LayerList', 'BaseGlyphV1List' -> 'BaseGlyphList',
  'BaseGlyphV1Record' -> 'BaseGlyphPaintRecord'
  Added 8 new ``PaintScale*`` tables: with/without centers, uniform vs non-uniform.
  Added ``*AroundCenter`` variants to ``PaintRotate`` and ``PaintSkew``: the default
  versions no longer have centerX/Y, but default to origin.
  ``PaintRotate``, ``PaintSkew`` and ``PaintComposite`` formats were re-numbered.
  NOTE: these are breaking changes; clients using the experimental COLRv1 API will
  have to be updated
- [pointPens] Allow ``GuessSmoothPointPen`` to accept a tolerance. Fixed call to
  ``math.atan2`` with x/y parameters inverted. Sync the code with fontPens
- [post] Fixed parsing ``post`` table format 2.0 when it contains extra garbage
  at the end of the stringData array
- [subset] drop empty features unless 'size' with FeatureParams table
- [otlLib] Added ``otlLib.optimize`` module; added GPOS compaction algorithm.
  The compaction can be run on existing fonts with ``fonttools otlLib.optimize``
  or using the snippet ``compact_gpos.py``. There's experimental support for
  compacting fonts at compilation time using an environment variable, but that
  might be removed later
2021-07-30 12:55:42 +00:00
adam
18ff7bf5ee py-fonttools: updated to 4.24.4
4.24.4 (released 2021-05-25)
----------------------------

- [subset/instancer] Fixed ``AttributeError`` when instantiating a VF that
  contains GPOS ValueRecords with ``Device`` tables but without the respective
  non-Device values (e.g. ``XAdvDevice`` without ``XAdvance``). When not
  explicitly set, the latter are assumed to be 0.

4.24.3 (released 2021-05-20)
----------------------------

- [otTables] Fixed ``AttributeError`` in methods that split LigatureSubst,
  MultipleSubst and AlternateSubst subtables when an offset overflow occurs.
  The ``Format`` attribute was removed in v4.22.0.

4.24.2 (released 2021-05-20)
----------------------------

- [ttGlyphPen] Fixed typing annotation of TTGlyphPen glyphSet parameter.
- Fixed two instances of DeprecationWarning: invalid escape sequence.

4.24.1 (released 2021-05-20)
----------------------------

- [subset] Fixed AttributeError when SinglePos subtable has None Value (ValueFormat 0)

4.24.0 (released 2021-05-17)
----------------------------

- [pens] Add ``ttGlyphPen.TTGlyphPointPen`` similar to ``TTGlyphPen``.

4.23.1 (released 2021-05-14)
----------------------------

- [subset] Fix ``KeyError`` after subsetting ``COLR`` table that initially contains
  both v0 and v1 color glyphs when the subset only requested v1 glyphs; we were
  not pruning the v0 portion of the table.
- [colorLib] Set ``LayerV1List`` attribute to ``None`` when empty, it's optional
  in CORLv1.

4.23.0 (released 2021-05-13)
----------------------------

- [designspaceLib] Allow to use ``\\UNC`` absolute paths on Windows.
- [varLib.merger] Fixed bug where ``VarLibMergeError`` was raised with incorrect
  parameters.
- [feaLib] Allow substituting a glyph class with ``NULL`` to delete multiple glyphs
 .
- [glyf] Fixed ``NameError`` exception in ``getPhantomPoints``.
- [removeOverlaps] Retry pathops.simplify after rounding path coordinates to integers
  if it fails the first time using floats, to work around a rare and hard to debug
  Skia bug.
- [varLib] Added support for building, reading, writing and optimizing 32-bit
  ``ItemVariationStore`` as used in COLRv1 table.
- [otBase/otConverters] Add array readers/writers for int types.
- [feaLib] Allow more than one lookahead glyph/class in contextual positioning with
  "value at end".
- [COLRv1] Default varIdx should be 0xFFFFFFFF.
- [pens] Make RecordingPointPen actually pass on identifiers; replace asserts with
  explicit ``PenError`` exception.
- [mutator] Round lsb for CF2 fonts as well.

4.22.1 (released 2021-04-26)
----------------------------

- [feaLib] Skip references to named lookups if the lookup block definition
  is empty, similarly to makeotf. This also fixes an ``AttributeError`` while
  generating ``aalt`` feature.
- [subset] Fixed bug with ``--no-hinting`` implementation for Device tables.
  The previous code was alwyas dropping Device tables if no-hinting was
  requested, but some Device tables (DeltaFormat=0x8000) are also used to encode
  variation indices and need to be retained.
- [otBase] Fixed bug in getting the ValueRecordSize when decompiling ``MVAR``
  table with ``lazy=True``.
- [varLib/glyf/gvar] Optimized and simplified ``GlyphCoordinates`` and
  ``TupleVariation`` classes, use ``bytearray`` where possible, refactored
  phantom-points calculations. We measured about 30% speedup in total time
  of loading master ttfs, building gvar, and saving.
- [subset] Fixed ``AssertionError`` while pruning unused CPAL palettes when
  ``0xFFFF`` is present.

4.22.0 (released 2021-04-01)
----------------------------

- [ttLib] Remove .Format from Coverage, ClassDef, SingleSubst, LigatureSubst,
  AlternateSubst, MultipleSubst.
  ATTENTION: This will change your TTX dumps!
- [misc.arrayTools] move Vector to its own submodule, and rewrite as a tuple
  subclass.
- [docs] Added a terminology section for varLib.
- [varLib] Move rounding to VariationModel, to avoid error accumulation from
  multiple deltas
- [varLib] Explain merge errors in more human-friendly terms
- [otlLib] Correct some documentation
- [varLib/otlLib] Allow merging into VariationFont without first saving GPOS
  PairPos2
- [subset] Improve PairPosFormat2 subsetting
- [ttLib] TTFont.save: create file on disk as late as possible
- [cffLib] Add missing CFF2 dict operators LanguageGroup and ExpansionFactor
  ATTENTION: This will change your TTX dumps!
2021-06-01 05:29:23 +00:00
adam
e2fa562a6c py-fonttools: updated to 4.21.1
4.21.1 (released 2021-02-26)

[pens] Reverted breaking change that turned AbstractPen and AbstractPointPen into abstract base classes.

4.21.0 (released 2021-02-26)

[feaLib] Indent anchor statements in asFea() to make them more legible and diff-able.
[pens] Turn AbstractPen and AbstractPointPen into abstract base classes.
[feaLib] Added support for parsing and building STAT table from AFDKO feature files.
[instancer] Added option to update name table of generated instance using STAT table's axis values.
[bezierTools] Added functions to compute bezier point-at-time, as well as line-line, curve-line and curve-curve intersections.

4.20.0 (released 2021-02-15)

[COLRv1] Added unbuildColrV1 to deconstruct COLRv1 otTables to raw json-able data structure; it does the reverse of buildColrV1.
[feaLib] Allow sub X by NULL sequence to delete a glyph.
[arrayTools] Fixed Vector division.
[COLRv1] Define new PaintSweepGradient.
[otTables] Moved Paint.Format enum class outside of Paint class definition, now named PaintFormat. It was clashing with paint instance Format attribute and thus was breaking lazy load of COLR table which relies on magic __getattr__.
[COLRv1] Replace hand-coded builder functions with otData-driven dynamic implementation.
[COLRv1] Define additional static (non-variable) Paint formats.
[subset] Added support for subsetting COLR v1 and CPAL tables.
[fontBuilder] Allow setupFvar to optionally take designspaceLib.AxisDescriptor objects. Added new setupAvar method. Support localised names for axes and named instances.

4.19.1 (released 2021-01-28)

[woff2] An initial off-curve point with an overlap flag now stays an off-curve point after compression.

4.19.0 (released 2021-01-25)

[codecs] Handle errors parameter different from 'strict' for the custom extended mac encodings.
[featureVars] Raise better error message when a script is missing the required default language system.
[COLRv1] Avoid abrupt change caused by rounding PaintRadialGradient.c0 when the start circle almost touches the end circle's perimeter.
[COLRv1] Support building unlimited lists of paints as 255-ary trees of PaintColrLayers tables.
[subset] Prune redundant format-12 cmap subtables when all non-BMP characters are dropped.
[basePen] Raise MissingComponentError instead of bare KeyError when a referenced component is missing
2021-03-20 09:32:43 +00:00
adam
366562a909 py-fonttools: updated to 4.18.2
4.18.2 (released 2020-12-16)
----------------------------
- [COLRv1] Implemented ``PaintTranslate`` paint format.
- [varLib.cff] Fixed unbound local variable error.
- [otlLib] Don't crash when creating OpenType class definitions if some glyphs
  occur more than once.

4.18.1 (released 2020-12-09)
----------------------------
- [colorLib] Speed optimization for ``LayerV1ListBuilder``.
- [mutator] Fixed missing tab in ``interpolate_cff2_metrics`` (0957dc7a).

4.18.0 (released 2020-12-04)
----------------------------
- [COLRv1] Update to latest draft: added ``PaintRotate`` and ``PaintSkew``.
- [woff2] Support new ``brotlicffi`` bindings for PyPy.
- [glifLib] Added ``expectContentsFile`` parameter to ``GlyphSet``, for use when
  reading existing UFOs, to comply with the specification stating that a
  ``contents.plist`` file must exist in a glyph set.
- [subset] Allow ``LangSys`` tags in ``--layout-scripts`` option. For example:
  ``--layout-scripts=arab.dflt,arab.URD,latn``; this will keep ``DefaultLangSys``
  and ``URD`` language for ``arab`` script, and all languages for ``latn`` script.
- [varLib.interpolatable] Allow UFOs to be checked; report open paths, non existant
  glyphs; add a ``--json`` option to produce a machine-readable list of
  incompatibilities
- [pens] Added ``QuartzPen`` to create ``CGPath`` from glyph outlines on macOS.
  Requires pyobjc.
- [feaLib] You can export ``FONTTOOLS_LOOKUP_DEBUGGING=1`` to enable feature file
  debugging info stored in ``Debg`` table.
- [otlLib] Build more efficient format 1 and format 2 contextual lookups whenever
  possible
2021-01-24 20:29:04 +00:00
wiz
0f311e50e0 py-fonttools: update to 4.17.1.
4.17.1 (released 2020-11-16)
----------------------------

- [colorLib] Fixed regression in 4.17.0 when building COLR v0 table; when color
  layers are stored in UFO lib plist, we can't distinguish tuples from lists so
  we need to accept either types (e5439eb9, googlefonts/ufo2ft/issues#426).

4.17.0 (released 2020-11-12)
----------------------------

- [colorLib/otData] Updated to latest draft ``COLR`` v1 spec (#2092).
- [svgLib] Fixed parsing error when arc commands' boolean flags are not separated
  by space or comma (#2094).
- [varLib] Interpret empty non-default glyphs as 'missing', if the default glyph is
  not empty (#2082).
- [feaLib.builder] Only stash lookup location for ``Debg`` if ``Builder.buildLookups_``
  has cooperated (#2065, #2067).
- [varLib] Fixed bug in VarStore optimizer (#2073, #2083).
- [varLib] Add designspace lib key for custom feavar feature tag (#2080).
- Add HashPointPen adapted from psautohint. With this pen, a hash value of a glyph
  can be computed, which can later be used to detect glyph changes (#2005).

4.16.1 (released 2020-10-05)
----------------------------

- [varLib.instancer] Fixed ``TypeError`` exception when instantiating a VF with
  a GSUB table 1.1 in which ``FeatureVariations`` attribute is present but set to
  ``None`` -- indicating that optional ``FeatureVariations`` is missing (#2077).
- [glifLib] Make ``x`` and ``y`` attributes of the ``point`` element required
  even when validation is turned off, and raise a meaningful ``GlifLibError``
  message when that happens (#2075).

4.16.0 (released 2020-09-30)
----------------------------

- [removeOverlaps] Added new module and ``removeOverlaps`` function that merges
  overlapping contours and components in TrueType glyphs. It requires the
  `skia-pathops <https://github.com/fonttools/skia-pathops>`__ module.
  Note that removing overlaps invalidates the TrueType hinting (#2068).
- [varLib.instancer] Added ``--remove-overlaps`` command-line option.
  The ``overlap`` option in ``instantiateVariableFont`` now takes an ``OverlapMode``
  enum: 0: KEEP_AND_DONT_SET_FLAGS, 1: KEEP_AND_SET_FLAGS (default), and 2: REMOVE.
  The latter is equivalent to calling ``removeOverlaps`` on the generated static
  instance. The option continues to accept ``bool`` value for backward compatibility.


4.15.0 (released 2020-09-21)
----------------------------

- [plistlib] Added typing annotations to plistlib module. Set up mypy static
  typechecker to run automatically on CI (#2061).
- [ttLib] Implement private ``Debg`` table, a reverse-DNS namespaced JSON dict.
- [feaLib] Optionally add an entry into the ``Debg`` table with the original
  lookup name (if any), feature name / script / language combination (if any),
  and original source filename and line location. Annotate the ttx output for
  a lookup with the information from the Debg table (#2052).
- [sfnt] Disabled checksum checking by default in ``SFNTReader`` (#2058).
- [Docs] Document ``mtiLib`` module (#2027).
- [varLib.interpolatable] Added checks for contour node count and operation type
  of each node (#2054).
- [ttLib] Added API to register custom table packer/unpacker classes (#2055).
2020-12-06 09:58:49 +00:00
adam
b946eec4d5 py-fonttools: updated to 4.14.0
4.14.0
- [feaLib] Allow anonymous classes in LookupFlags definitions.
- [Docs] Better document DesignSpace rules processing order.
- [ttLib] Fixed 21-year old bug in ``maxp.maxComponentDepth`` calculation.
- [varLib.models] Fixed misspelled argument name in CLI entry point (81d0042a).
- [subset] When subsetting GSUB v1.1, fixed TypeError by checking whether the
  optional FeatureVariations table is present (e63ecc5b).
- [Snippets] Added snippet to show how to decompose glyphs in a TTF.
- [otlLib] Generate GSUB type 5 and GPOS type 7 contextual lookups where appropriate.
2020-09-10 10:28:12 +00:00
adam
a69c8c937c py-fonttools: updated to 4.13.0
4.13.0
- [feaLib/otlLib] Moved lookup subtable builders from feaLib to otlLib; refactored
  some common code
- [docs] Document otlLib module
- [glifLib] Fixed bug with some UFO .glif filenames clashing on case-insensitive
  filesystems
- [colorLib] Updated COLRv1 implementation following changes in the draft spec
2020-08-04 19:06:42 +00:00
adam
88e206aba5 py-fonttools: updated to 4.12.1
4.12.1:
- [_n_a_m_e] Fixed error in ``addMultilingualName`` with one-character names.
  Only attempt to recovered malformed UTF-16 data from a ``bytes`` string,
  not from unicode ``str``.

4.12.0:
- [otlLib/varLib] Ensure that the ``AxisNameID`` in the ``STAT`` and ``fvar``
  tables is grater than 255 as per OpenType spec.
- [docs] Document more modules in ``fontTools.misc`` package: ``filenames``,
  ``fixedTools``, ``intTools``, ``loggingTools``, ``macCreatorType``, ``macRes``,
  ``plistlib``.
- [OS/2] Don't calculate whole sets of unicode codepoints, use faster and more memory
  efficient ranges and bisect lookups.
- [voltLib] Support writing back abstract syntax tree as VOLT data.
- [voltLib] Accept DO_NOT_TOUCH_CMAP keyword.
- [subset/merge] Fixed a namespace clash involving a private helper class.

4.11.0:
- [feaLib] Introduced ``includeDir`` parameter on Parser and IncludingLexer to
  explicitly specify the directory to search when ``include()`` statements are
  encountered.
- [ufoLib] Silently delete duplicate glyphs within the same kerning group when reading
  groups.
- [ttLib] Set version of COLR table when decompiling COLRv1 (commit 9d8a7e2).

4.10.2:
- [sfnt] Fixed ``NameError: SimpleNamespace`` while reading TTC header. The regression
  was introduced with 4.10.1 after removing ``py23`` star import.

4.10.1:
- [sfnt] Make ``SFNTReader`` pickleable even when TTFont is loaded with lazy=True
  option and thus keeps a reference to an external file.
- [feaLib.ast] Restore backward compatibility (broken in 4.10 for
  ``ChainContextPosStatement`` and ``ChainContextSubstStatement`` classes.
  Make them accept either list of lookups or list of lists of lookups.
- [docs] Document some modules in ``fontTools.misc`` package: ``arrayTools``,
  ``bezierTools`` ``cliTools`` and ``eexec``.
- [ttLib._n_a_m_e] Fixed ``findMultilingualName()`` when name record's ``string`` is
  encoded as bytes sequence.

4.10.0:
- [varLib] Allow feature variations to be active across the entire space.
- [ufoLib] Added support for ``formatVersionMinor`` in UFO's ``fontinfo.plist`` and for
  ``formatMinor`` attribute in GLIF file as discussed in unified-font-object/ufo-spec#78.
  No changes in reading or writing UFOs until an upcoming (non-0) minor update of the
  UFO specification is published.
- [merge] Fixed merging fonts with different versions of ``OS/2`` table.
- [subset] Fixed ``AttributeError`` while subsetting ``ContextSubst`` and ``ContextPos``
  Format 3 subtable.
- [ttLib.table._m_e_t_a] if data happens to be ascii, emit comment in TTX.
- [feaLib] Support multiple lookups per glyph position.
- [psCharStrings] Use inheritance to avoid repeated code in initializer.
- [Doc] Improved documentation for the following modules: ``afmLib``, ``agl``
 , ``cffLib``, ``cu2qu``, ``encodings``, ``feaLib``, ``merge``.
- [Doc] Split off developer-centric info to new page, making front page of docs more
  user-focused. List all utilities and sub-modules with brief descriptions.
  Make README more concise and focused.
- [otlLib] Add function to build STAT table from high-level description.
- [ttLib._n_a_m_e] Add ``findMultilingualName()`` method.
- [unicodedata] Update ``RTL_SCRIPTS`` for Unicode 13.0.
- [gvar] Sort ``gvar`` XML output by glyph name, not glyph order.
- [Doc] Added help options to ``fonttools`` command line tool.
  Ensure all fonttools CLI tools have help documentation.
- [ufoLib] Only write fontinfo.plist when there actually is content.

4.9.0:
- [subset] Fixed subsetting of FeatureVariations table. The subsetter no longer drops
  FeatureVariationRecords that have empty substitutions as that will keep the search
  going and thus change the logic. It will only drop empty records that occur at the
  end of the FeatureVariationRecords array.
- [subset] Remove FeatureVariations table and downgrade GSUB/GPOS to version 0x10000
  when FeatureVariations contain no FeatureVariationRecords after subsetting.
- [agl] Add support for legacy Adobe Glyph List of glyph names in ``fontTools.agl``
 .
- [feaLib] Ignore superfluous script statements.
- [feaLib] Hide traceback by default on ``fonttools feaLib`` command line.
  Use ``--traceback`` option to show.
- [feaLib] Check lookup index in chaining sub/pos lookups and print better error
  message.
- [feaLib] Fix building chained alt substitutions.
- [Doc] Included all fontTools modules in the sphinx-generated documentation, and
  published it to ReadTheDocs for continuous documentation of the fontTools project
 . Check it out at https://fonttools.readthedocs.io/. Thanks to Chris Simpkins!
- [transform] The ``Transform`` class is now subclass of ``typing.NamedTuple``. No
  change in functionality.
2020-06-16 16:52:41 +00:00
jperkin
27eefeb9fd *: Remove manual page entries from ALTERNATIVES files.
Thes are not supported by pkg_alternatives, and lead to breakage as found
in <http://mail-index.netbsd.org/tech-pkg/2020/05/06/msg023089.html>.

In many cases these were unnecessary anyway, as they match the corresponding
command that pkg_alternatives will have automatically detected manual page
entries for, plus many of them did not support PKGMANDIR.

In the one case (databases/py-peewee) where the manual page does not match
the command name, pkg_alternatives will need to be enhanced to support this
before it can be re-enabled.
2020-05-06 11:16:45 +00:00
adam
1559e22e62 py-fonttools: updated to 4.8.1
4.8.1 (released 2020-04-17)
---------------------------
- [feaLib] Fixed ``AttributeError: 'NoneType' has no attribute 'getAlternateGlyphs'``
  when ``aalt`` feature references a chain contextual substitution lookup

4.8.0 (released 2020-04-16)
---------------------------
- [feaLib] If Parser is initialized without a ``glyphNames`` parameter, it cannot
  distinguish between a glyph name containing an hyphen, or a range of glyph names;
  instead of raising an error, it now interprets them as literal glyph names, while
  also outputting a logging warning to alert user about the ambiguity
- [feaLib] When serializing AST to string, emit spaces around hyphens that denote
  ranges. Also, fixed an issue with CID ranges when round-tripping AST->string->AST
- [Snippets/otf2ttf] In otf2ttf.py script update LSB in hmtx to match xMin
- [colorLib] Added experimental support for building ``COLR`` v1 tables as per
  the `colr-gradients-spec <https://github.com/googlefonts/colr-gradients-spec/blob/master/colr-gradients-spec.md>`__
  draft proposal. **NOTE**: both the API and the XML dump of ``COLR`` v1 are
  susceptible to change while the proposal is being discussed and formalized
2020-04-18 07:29:59 +00:00
adam
21ae8a6531 py-fonttools: needs C compiler; fix PLIST; bump revision 2020-04-16 07:39:41 +00:00
adam
a42f04080f py-fonttools: updated to 4.7.0
4.7.0:
- [cu2qu] Added ``fontTools.cu2qu`` package, imported from the original
  `cu2qu <https://github.com/googlefonts/cu2qu>`__ project. The ``cu2qu.pens`` module
  was moved to ``fontTools.pens.cu2quPen``. The optional cu2qu extension module
  can be compiled by installing `Cython <https://cython.org/>` before installing
  fonttools from source (i.e. git repo or sdist tarball). The wheel package that
  is published on PyPI (i.e. the one ``pip`` downloads, unless ``--no-binary``
  option is used), will continue to be pure-Python for now

4.6.0:
- [varLib] Added support for building variable ``BASE`` table version 1.1
- [CPAL] Added ``fromRGBA`` method to ``Color`` class

4.5.0:
- [designspaceLib] Added ``add{Axis,Source,Instance,Rule}Descriptor`` methods to
  ``DesignSpaceDocument`` class, to initialize new descriptor objects using keyword
  arguments, and at the same time append them to the current document
- [unicodedata] Update to Unicode 13.0

4.4.3:
- [varLib] Always build ``gvar`` table for TrueType-flavored Variable Fonts,
  even if it contains no variation data. The table is required according to
  the OpenType spec

4.4.2:
- [ttx] Annotate ``LookupFlag`` in XML dump with comment explaining what bits
  are set and what they mean
- [feaLib] Added more descriptive message to ``IncludedFeaNotFound`` error

4.4.1:
- [woff2] Skip normalizing ``glyf`` and ``loca`` tables if these are missing from
  a font (e.g. in NotoColorEmoji using ``CBDT/CBLC`` tables).
- [timeTools] Use non-localized date parsing in ``timestampFromString``, to fix
  error when non-English ``LC_TIME`` locale is set
- [fontBuilder] Make sure the CFF table generated by fontBuilder can be used by varLib
  without having to compile and decompile the table first. This was breaking in
  converting the CFF table to CFF2 due to some unset attributes

4.4.0:
- [colorLib] Added ``fontTools.colorLib.builder`` module, initially with ``buildCOLR``
  and ``buildCPAL`` public functions. More color font formats will follow
- [fontBuilder] Added ``setupCOLR`` and ``setupCPAL`` methods
- [ttGlyphPen] Quantize ``GlyphComponent.transform`` floats to ``F2Dot14`` to fix
  round-trip issue when computing bounding boxes of transformed components
- [glyf] If a component uses reference points (``firstPt`` and ``secondPt``) for
  alignment (instead of X and Y offsets), compute the effective translation offset
  *after* having applied any transform
- [glyf] When all glyphs have zero contours, compile ``glyf`` table data as a single
  null byte in order to pass validation by OTS and Windows
- [feaLib] Parsing feature code now ensures that referenced glyph names are part of
  the known glyph set, unless a glyph set was not provided.
- [varLib] When filling in the default axis value for a missing location of a source or
  instance, correctly map the value forward.
- [varLib] The avar table can now contain mapping output values that are greater than
  OR EQUAL to the preceeding value, as the avar specification allows this.
- [varLib] The errors of the module are now ordered hierarchically below VarLibError.

4.3.0:
- [EBLC/CBLC] Fixed incorrect padding length calculation for Format 3 IndexSubTable
- [varLib] Fixed error when merging OTL tables and TTFonts were loaded as ``lazy=True``
- [varLib] Allow to use master fonts containing ``CFF2`` table when building VF
- [ttLib] Make ``recalcBBoxes`` option work also with ``CFF2`` table
- [feaLib] Don't reset ``lookupflag`` in lookups defined inside feature blocks.
  They will now inherit the current ``lookupflag`` of the feature. This is what
  Adobe ``makeotf`` also does in this case
- [feaLib] Fixed bug with mixed single/multiple substitutions. If a single substitution
  involved a glyph class, we were incorrectly using only the first glyph in the class

4.2.5:
- [feaLib] Do not fail on duplicate multiple substitutions, only warn
- [subset] Optimize SinglePos subtables to Format 1 if all ValueRecords are the same
2020-04-11 07:21:37 +00:00
adam
32f4b755ec py-fonttools: updated to 4.2.4
4.2.4:
- [unicodedata] Update RTL_SCRIPTS for Unicode 11 and 12.

4.2.3:
- [otTables] Fixed bug when splitting `MarkBasePos` subtables as offsets overflow.
  The mark class values in the split subtable were not being updated, leading to
  invalid mark-base attachments.
- [feaLib] Only log a warning instead of error when features contain duplicate
  substitutions.
- [glifLib] Strip XML comments when parsing with lxml
2020-01-26 09:24:15 +00:00
adam
3b0b9c6b1f py-fonttools: updated to 4.2.2
4.2.2:
- [subset] Fixed issue with subsetting FeatureVariations table when the index
  of features changes as features get dropped. The feature index need to be
  remapped to point to index of the remaining features.
- [fontBuilder] Added `addFeatureVariations` method to `FontBuilder` class. This
  is a shorthand for calling `featureVars.addFeatureVariations` on the builder's
  TTFont object.
- [glyf] Fixed the flags bug in glyph.drawPoints() like we did for glyph.draw()

4.2.1:
- [glyf] Use the ``flagOnCurve`` bit mask in ``glyph.draw()``, so that we ignore
  the ``overlap`` flag that may be set when instantiating variable fonts.

4.2.0:
- [pens] Added the following pens:

  * ``roundingPen.RoundingPen``: filter pen that rounds coordinates and components'
    offsets to integer;
  * ``roundingPen.RoundingPointPen``: like the above, but using PointPen protocol.
  * ``filterPen.FilterPointPen``: base class for filter point pens;
  * ``transformPen.TransformPointPen``: filter point pen to apply affine transform;
  * ``recordingPen.RecordingPointPen``: records and replays point-pen commands.

- [ttGlyphPen] Always round float coordinates and component offsets to integers
 .
- [ufoLib] When converting kerning groups from UFO2 to UFO3, avoid confusing
  groups with the same name as one of the glyphs

4.1.0:
- [instancer] Implemented restricting axis ranges (level 3 partial instancing).
  You can now pass ``{axis_tag: (min, max)}`` tuples as input to the
  ``instantiateVariableFont`` function. Note that changing the default axis
  position is not supported yet. The command-line script also accepts axis ranges
  in the form of colon-separated float values, e.g. ``wght=400:700``.
- [instancer] Never drop STAT ``DesignAxis`` records, but only prune out-of-range
  ``AxisValue`` records.
- [otBase/otTables] Enforce that VarStore.RegionAxisCount == fvar.axisCount, even
  when regions list is empty to appease OTS < v8.0.
- [designspaceLib] Defined new ``processing`` attribute for ``<rules>`` element,
  with values "first" or "last", plus other editorial changes to DesignSpace
  specification. Bumped format version to 4.1.
- [varLib] Improved error message when masters' glyph orders do not match
- [featureVars] Allow to specify custom feature tag in ``addFeatureVariations``;
  allow said feature to already exist, in which case we append new lookup indices
  to existing features. Implemented ``<rules>`` attribute ``processing`` according to
  DesignSpace specification update in. Depending on this flag, we generate
  either an 'rvrn' (always processed first) or a 'rclt' feature (follows lookup order,
  therefore last).
- [ttCollection] Added support for context manager auto-closing via ``with`` statement
  like with ``TTFont``.
- [unicodedata] Require unicodedata2 >= 12.1.0.
- [py2.py3] Removed yet more PY2 vestiges.
- [_n_a_m_e] Fixed issue when comparing NameRecords with different string types.
- [fixedTools] Changed ``fixedToFloat`` to not do any rounding but simply return
  ``value / (1 << precisionBits)``. Added ``floatToFixedToStr`` and
  ``strToFixedToFloat`` functions to be used when loading from or dumping to XML.
  Fixed values (e.g. fvar axes and instance coordinates, avar mappings, etc.) are
  are now stored as un-rounded decimal floats upon decompiling.
- [feaLib] Fixed handling of multiple ``LigatureCaret`` statements for the same glyph.
  Only the first rule per glyph is used, additional ones are ignored.

4.0.2:
- [voltLib] Added support for ``ALL`` and ``NONE`` in ``PROCESS_MARKS``.
- [Silf] Fixed issue in ``Silf`` table compilation and decompilation regarding str vs
  bytes in python3.
- [merge] Handle duplicate glyph names better: instead of appending font index to
  all glyph names, use similar code like we use in ``post`` and ``CFF`` tables.

4.0.1:
- [otTables] Support fixing offset overflows in ``MultipleSubst`` lookup subtables
- [subset] Prune empty strikes in ``EBDT`` and ``CBDT`` table data.
- [pens] Fixed issue in ``PointToSegmentPen`` when last point of closed contour has
  same coordinates as the starting point and was incorrectly dropped.
- [Graphite] Fixed ``Sill`` table output to pass OTS.
- [name] Added ``removeNames`` method to ``table__n_a_m_e`` class.
- [ttLib] Added aliases for renamed entries ``ascender`` and ``descender`` in
  ``hhea`` table.

4.0.0:
- NOTE: The v4.x version series only supports Python 3.6 or greater. You can keep
  using fonttools 3.x if you need support for Python 2.
- [py23] Removed all the python2-only code since it is no longer reachable, thus
  unused; only the Python3 symbols were kept, but these are no-op. The module is now
  DEPRECATED and will removed in the future.
- [ttLib] Fixed UnboundLocalError for empty loca/glyph tables. Also, allow
  the glyf table to be incomplete when dumping to XML.
- [varLib.models] Fixed KeyError while sorting masters and there are no on-axis for
  a given axis (38a8eb0e).
- [cffLib] Make sure glyph names are unique.
- [feaLib] Fix feature parser to correctly handle octal numbers
2019-12-14 10:35:17 +00:00
adam
cfb6d65568 py-fonttools: updated to 3.43.0
3.43.1 (released 2019-06-19)
- [subset] Fixed regression when passing --flavor=woff2 option with an input font
  that was already compressed as WOFF 1.0

3.43.0 (released 2019-06-18)
- [woff2] Added support for compressing/decompressing WOFF2 fonts with non-transformed
  glyf and loca tables, as well as with transformed hmtx table.
  Removed Snippets/woff2_compress.py and Snippets/woff2_decompress.py scripts,
  and replaced them with a new console entry point fonttools ttLib.woff2
  that provides two sub-commands compress and decompress.
- [varLib.cff] Fixed bug when merging CFF2 PrivateDicts. The PrivateDict
  data from the first region font was incorrecty used for all subsequent fonts.
  The bug would only affect variable CFF2 fonts with hinting
  Also, fixed a merging bug when VF masters have no blends or marking glyphs
- [loggingTools] Removed unused backport of LastResortLogger class.
- [subset] Gracefully handle partial MATH table
- [featureVars] Avoid duplicate references to rvrn feature record in
  DefaultLangSys tables when calling addFeatureVariations on a font that
  does not already have a GSUB table (aa8a5bc6).
- [varLib] Fixed merging of class-based kerning. Before, the process could introduce
  rogue kerning values and variations for random classes against class zero (everything
  not otherwise classed).
- [varLib] Fixed merging GPOS tables from master fonts with different number of
  SinglePos subtables
- [unicodedata] Updated Blocks, Scripts and ScriptExtensions to Unicode 12.1.

3.42.0 (released 2019-05-28)
- [OS/2] Fixed sign of fsType: it should be uint16, not int16
- [subset] Skip out-of-range class values in mark attachment
- [fontBuilder] Add an empty DSIG table with setupDummyDSIG method
- [varLib.merger] Fixed bug whereby GDEF.GlyphClassDef were being dropped
  when generating instance via varLib.mutator
- [varLib] Added command-line options -v and -q to configure logging
- [subset] Update font extents in head table
- [subset] Make --retain-gids truncate empty glyphs after the last non-empty glyph
- [requirements] Updated unicodedata2 backport for Unicode 12.0.

3.41.2 (released 2019-05-13)
- [cffLib] Fixed issue when importing a CFF2 variable font from XML, whereby
  the VarStore state was not propagated to PrivateDict
- [varLib] Don't drop post glyph names when building CFF2 variable font

3.41.1 (released 2019-05-13)
- [designspaceLib] Added loadSourceFonts method to load source fonts using
  custom opener function
- [head] Round font bounding box coordinates to integers to fix compile error
  if CFF font has float coordinates
- [feaLib] Don't write None in ast.ValueRecord.asFea()
- [subset] Fixed issue AssertionError when using --desubroutinize option
- [graphite] Fixed bug in Silf table's decompile method unmasked by
  previous typo fix
  decompile method
2019-07-04 12:09:08 +00:00
adam
b388bae55f py-fonttools: updated to 3.41.0
3.41.0:
- [varLib/cffLib] Added support for building CFF2 variable font from sparse
  masters, or masters with more than one model (multiple VarStore.VarData).
  In cffLib.specializer, added support for CFF2 CharStrings with
  blend operators.
- [subset] Fixed subsetting HVAR and VVAR with --retain-gids option,
  and when advances mapping is null while sidebearings mappings are non-null
- Added otlLib.maxContextCalc module to compute OS/2.usMaxContext value.
  Calculate it automatically when compiling features with feaLib. Added option
  --recalc-max-context to subset module
- [otBase/otTables] Fixed AttributeError on missing OT table fields after
  importing font from TTX
- [Silf] Fixed typo Silf table's decompile method
- [otlLib] Better compress GPOS SinglePos (LookupType 1) subtables

3.40.0:
- [subset] Fixed error while subsetting VVAR with --retain-gids
  option
- [designspaceLib] Use up-to-date default location in findDefault method
- [voltLib] Allow passing file-like object to Parser.
- [arrayTools/glyf] calcIntBounds (used to compute bounding boxes of glyf
  table's glyphs) now uses otRound instead of round3
- [svgLib] Added support for converting more SVG shapes to path d strings
  (ellipse, line, polyline), as well as support for transform attributes.
  Only matrix transformations are currently supported
- [varLib] Added support for building VVAR table from vmtx and VORG
  tables
- [fontBuilder] Enable making CFF2 fonts with post table format 2
- Fixed DeprecationWarning on invalid escape sequences
2019-04-30 07:55:33 +00:00
adam
958b12af6c py-fonttools: updated to 3.39.0
3.39.0:
- [ttLib/glyf] Raise more specific error when encountering recursive
  component references.
- [Doc/designspaceLib] Defined new public.skipExportGlyphs lib key.
- [varLib] Use vmtx to compute vertical phantom points; or hhea.ascent
  and head.unitsPerEM if vmtx is missing.
- [gvar/cvar] Sort XML element's min/value/max attributes in TupleVariation
  toXML to improve readability of TTX dump.
- [varLib.plot] Added support for 2D plots with only 1 variation axis.
- [designspaceLib] Use axes maps when normalizing locations in
  DesignSpaceDocument, and when finding default source.
- [mutator] Set OVERLAP_SIMPLE and OVERLAP_COMPOUND glyf flags by
  default in instantiateVariableFont. Added --no-overlap cli option
  to disable this.
- [subset] Fixed subsetting VVAR table.
  Fixed subsetting an HVAR table that has an AdvanceWidthMap when the
  option --retain-gids is used.
- [feaLib] Added forceChained in MultipleSubstStatement.
  Fixed double indentation of subtable statement.
  Added support for subtable statement in more places than just PairPos
  lookups.
  Handle lookupflag 0 and lookupflag without a value.
- [varLib] In load_designspace, provide a default English name for the
  ital axis tag.
- Remove pyftinspect because it is unmaintained and bitrotted.
2019-03-27 06:33:09 +00:00
adam
3fc1c03b2b py-fonttools: updated to 3.38.0
3.38.0:
- [cffLib] Fixed RecursionError when unpickling or deepcopying TTFont with
  CFF table.
- [subset] Fixed AttributeError when using --desubroutinize option.
  Also, fixed desubroutinizing bug when subrs contain hints.
- [CPAL] Make Color a subclass of namedtuple.
- [feaLib] Allow hyphen in glyph class names.
- [feaLib] Added 'tables' option to __main__.py.
- [feaLib] Add support for special-case contextual positioning formatting.
- [svgLib] Support converting SVG basic shapes (rect, circle, etc.) into
  equivalent SVG paths.
- [Snippets] Added name-viewer.ipynb Jupyter notebook.
2019-02-27 12:06:01 +00:00
adam
ddd72fe31e py-fonttools: updated to 3.37.3
3.37.3:
- The previous release accidentally changed several files from Unix to DOS
  line-endings. Fix that.

3.37.2:
- [varLib] Temporarily revert the fix to load_masters(), which caused a
  crash in interpolate_layout() when deepcopy-ing OTFs.

3.37.1:
- [varLib] load_masters() now actually assigns the fonts it loads to the
  source.font attributes.
- [varLib] Fixed an MVAR table generation crash when sparse masters were
  involved.
- [voltLib] parse_coverage_() returns a tuple instead of an ast.Enum.
- [feaLib] A MarkClassDefinition inside a block is no longer doubly indented
  compared to the rest of the block.

3.37.0:
- [svgLib] Added support for converting elliptical arcs to cubic bezier curves
- [py23] Added backport for math.isfinite.
- [varLib] Apply HIDDEN flag to fvar axis if designspace axis has attribute
  hidden=1.
- Fixed "DeprecationWarning: invalid escape sequence" in Python 3.7.
- [voltLib] Fixed parsing glyph groups. Distinguish different PROCESS_MARKS.
  Accept COMPONENT glyph type.
- [feaLib] Distinguish missing value and explicit <NULL> for PairPos2
  format A. Round-trip useExtension keyword. Implemented
  ValueRecord.asFea method.
- [subset] Insert empty widths into hdmx when retaining gids
2019-02-12 08:58:14 +00:00
adam
949d315f42 py-fonttools: updated to 3.36.0
3.36.0:
- [ttx] Added --no-recalc-timestamp option to keep the original font's
  head.modified timestamp.
- [ttx/psCharStrings] Fixed issues while dumping and round-tripping CFF2 table
  with ttx.
- [voltLib] Fixed check for duplicate anchors. Don't try to read past
  the END operator in .vtp file.
- [varLib] Use sentinel value -0x8000 (-32768) to ignore post.underlineThickness
  and post.underlinePosition when generating MVAR deltas.
- [subset] Added --retain-gids option to subset font without modifying the
  current glyph indices.
- [ufoLib] Replace deprecated calls to getbytes and setbytes with new
  equivalent readbytes and writebytes calls. fs >= 2.2 no required.
- [varLib] Allow loading masters from TTX files as well
2019-01-22 09:17:20 +00:00
adam
e0c19e3b10 py-fonttools: updated to 3.35.2
3.35.2:
- [hmtx/vmtx]: Allow to compile/decompile hmtx and vmtx tables even
  without the corresponding (required) metrics header tables, hhea and
  vhea
- [varLib] Added support for localized axes' labelname and named instances'
  stylename.

3.35.1:
- [_m_a_x_p] Include maxComponentElements in maxp table's recalculation.

3.35.0:
- [psCharStrings] In encodeFloat function, use float's "general format" with
  8 digits of precision (i.e. %8g) instead of str(). This works around
  a macOS rendering issue when real numbers in CFF table are too long, and
  also makes sure that floats are encoded with the same precision in python 2.7
  and 3.x.
- [_n_a_m_e/fontBuilder] Make _n_a_m_e_table.addMultilingualName also add
  Macintosh (platformID=1) names by default. Added options to FontBuilder
  setupNameTable method to optionally disable Macintosh or Windows names.
- [varLib] Make build optionally accept a DesignSpaceDocument object,
  instead of a designspace file path. The caller can now set the font
  attribute of designspace's sources to a TTFont object, thus allowing to
  skip filenames manipulation altogether.
- [sfnt] Allow SFNTReader objects to be deep-copied.
- Require typing>=3.6.4 on py27 to fix issue with singledispatch.
- [designspaceLib/t1Lib/macRes] Fixed some cases where pathlib.Path objects were
  not accepted.
- [varLib] Fixed merging of multiple PairPosFormat2 subtables.
- [varLib] The default STAT table version is now set to 1.1, to improve
  compatibility with legacy applications
2019-01-16 08:40:39 +00:00
adam
ed38fb4645 py-fonttools: really fix ALTERNATIVES :) 2018-12-22 19:06:53 +00:00
taca
af2b28c4b9 fonts/py-fonttools: fix ALTERNATIVES file
Fix ALTERNATIVES file syntax.

Bump PKGREVISION.
2018-12-22 17:19:35 +00:00
adam
2f36aa4fe4 py-fonttools: updated to 3.34.2
3.34.2
- [merge] Fixed AssertionError when none of the script tables in GPOS/GSUB have
  a DefaultLangSys record

3.34.1
- [varLib] Work around macOS rendering issue for composites without gvar entry
2018-12-22 09:20:03 +00:00
adam
ff5aa4b839 py-fonttools: updated to 3.34.0
3.34.0:
- [varLib] Support generation of CFF2 variable fonts. model.reorderMasters()
  now supports arbitrary mapping. Fix handling of overlapping ranges for feature
  variations.
- [cffLib, subset] Code clean-up and fixing related to CFF2 support.
- [ttLib.tables.ttProgram] Use raw strings for regex patterns.
- [fontbuilder] Initial support for building CFF2 fonts. Set CFF's
  FontMatrix automatically from unitsPerEm.
- [plistLib] Accept the more general collections.Mapping instead of the
  specific dict class to support custom data classes that should serialize
  to dictionaries.
2018-12-16 14:09:29 +00:00
adam
c7e9117dbd py-fonttools: updated to 3.33.0
3.33.0:
- [subset] subsetter bug fix with variable fonts.
- [varLib.featureVar] Improve FeatureVariations generation with many rules.
- [varLib] Enable sparse masters when buildirg variable fonts.
- [varLib.mutator] Add IDEF for GETVARIATION opcode, for handling hints in an
  instance.
- [ttLib] Ignore the length of kern table subtable format 0
2018-12-05 15:42:55 +00:00
adam
7fe5d440da py-fonttools: updated to 3.32.0
3.32.0:
- [ufoLib] Make UFOWriter a subclass of UFOReader, and use mixins
  for shared methods
- [featureVars] Fixed normalization error when a condition's minimum/maximum
  attributes are missing in designspace <rule>
- [setup.py] Added [plot] to extras, to optionally install matplotlib,
  needed to use the fonTools.varLib.plot module.
- [varLib] Take total bounding box into account when resolving model.
  If multiple axes have the same range ratio, cut across both.
- [subset] Don't error if STAT has no AxisValue tables.
- [fontBuilder] Added a new submodule which contains a FontBuilder wrapper
  class around TTFont that makes it easier to create a working TTF or OTF
  font from scratch with code. NOTE: the API is still experimental and may
  change in future versions.

3.31.0:
- [ufoLib] Merged the ufoLib <https://github.com/unified-font-objects/ufoLib>__
  master branch into a new fontTools.ufoLib package
  Moved ufoLib.pointPen module to fontTools.pens.pointPen.
  Moved ufoLib.etree module to fontTools.misc.etree.
  Moved ufoLib.plistlib module to fontTools.misc.plistlib.
  To use the new fontTools.ufoLib module you need to install fonttools
  with the [ufo] extra, or you can manually install the required additional
  dependencies (cf. README.rst).
- [morx] Support AAT action type to insert glyphs and clean up compilation
  of AAT action tables.
- [subset] The --no-hinting on a CFF font now also drops the optional
  hinting keys in Private dict: ForceBold, LanguageGroup, and
  ExpansionFactor
- [subset] Include nameIDs referenced by STAT table
- [loggingTools] Added msg=None argument to
  CapturingLogHandler.assertRegex.
- [varLib.mutator] Implemented FeatureVariations instantiation
- [g_l_y_f] Added PointPen support to _TTGlyph objects
2018-11-02 09:59:31 +00:00
adam
52a51625a0 py-fonttools: updated to 3.30.0
3.30.0:
- Skip building noop class PairPos subtables when Coverage is NULL
- Expose the previously reserved bit flag OVERLAP_SIMPLE of
  glyf table's contour points in the TTX dump. This is used in some
  implementations to specify a non-zero fill with overlapping contours.
- Added support for decompiling/compiling TS1C tables containing
  VTT sources for cvar variation table.
- Use fontTools.designspaceLib to read DesignSpaceDocument. The
  fontTools.varLib.designspace module is now deprecated and will be removed
  in future versions. The presence of an explicit axes element is now
  required in order to build a variable font.
- Implemented building GSUB FeatureVariations table from the rules
  element of DesignSpace document
- Added --no-layout-closure option to not expand the subset with
  the glyphs produced by OpenType layout features. Instead, OpenType features
  will be subset to only rules that are relevant to the otherwise-specified
  glyph setpy-fonttools: updated to 3.30.0
2018-09-24 09:38:47 +00:00
adam
20a7ed2c6a py-fonttools: updated to 3.29.0
3.29.0:
- [feaLib] In the OTL table builder, when the name table is excluded
  from the list of tables to be build, skip compiling featureNames blocks,
  as the records referenced in FeatureParams table don't exist.
- [otBase] Try ExtensionLookup if other offset-overflow methods fail.
- [feaLib] Added support for explicit subtable; break statements in
  PairPos lookups; previously these were ignored.
- [cffLib.specializer] Make sure the stack depth does not exceed maxstack - 1,
  so that a subroutinizer can insert subroutine calls.
- [otTables] Added support for fixing offset overflow errors occurring inside
  MarkBasePos subtables.
- [subset] Write the default output file extension based on --flavor option,
  or the value of TTFont.sfntVersion.
- [unicodedata] Updated Blocks, Scripts and ScriptExtensions for Unicode 11.
- [xmlWriter] Added context manager to XMLWriter class to autoclose file
  descriptor on exit.
- [psCharStrings] Optimize the charstring's bytecode by encoding as integers
  all float values that have no decimal portion.
- [ttFont] Fixed missing import of TTLibError exception.
- [feaLib] Allow any languages other than dflt under DFLT script.
2018-08-05 10:10:43 +00:00
adam
75d396b815 py-fonttools: updated to 3.28.0
3.28.0:
- [featureVars] Added experimental module to build FeatureVariations
  tables. Still needs to be hooked up to varLib.build
- [fixedTools] Added otRound to round floats to nearest integer towards
  positive Infinity. This is now used where we deal with visual data like X/Y
  coordinates, advance widths/heights, variation deltas, and similar
- [subset] Improved GSUB closure memoize algorithm.
- [varLib.models] Fixed regression in model resolution
- [feaLib.ast] Fixed error when converting SubtableStatement to string
- [varLib.mutator] Set OS/2.usWeightClass and usWidthClass, and
  post.italicAngle based on the 'wght', 'wdth' and 'slnt' axis values
- [py23/loggingTools] Don't automatically set logging.lastResort handler
  on py27. Moved LastResortLogger to the loggingTools module
2018-07-05 13:13:24 +00:00
adam
b1b962f09c py-fonttools: updated to 3.27.1
3.27.1:
Issue a warning and skip building non-existing components
Fixed issue when running ttx_test.py from a tagged commit.
2018-06-15 08:26:27 +00:00
adam
ce4822f58a py-fonttools: updated to 3.26.0
3.26.0:
- [designspace] Added a new optional layer attribute to the source element,
  and a corresponding layerName attribute to the SourceDescriptor
  object.
  Added conditionset element to the rule element to the spec, but not
  implemented in designspace reader/writer yet.
- [varLib.models] Refine modeling one last time.
- [otBase] Fixed sharing of tables referred to by different offset sizes
- [subset] Don't drop a GDEF that only has VarStore. Set to None
  empty Coverage tables in MarkGlyphSets.
- [varLib]: Added --master-finder command-line option.
- [varLib.mutator] Prune fvar nameIDs from instance's name table.
- [otTables] Allow decompiling bad ClassDef tables with invalid format, with
  warning.
- [varLib] Make STAT v1.2 and reuse nameIDs from fvar table.
- [varLib.plot] Show master locations. Set axis limits to -1, +1.
- [subset] Handle HVAR direct mapping. Passthrough 'cvar'.
  Added --font-number command-line option for collections.
- [t1Lib] Allow a text encoding to be specified when parsing a Type 1 font
  Added kind argument to T1Font constructor.
- [ttLib] Added context manager API to TTFont class, so it can be used in
  with statements to auto-close the file when exiting the context
2018-05-11 14:38:24 +00:00
adam
f59cec120a py-fonttools: updated to 3.25.0
3.25.0:
[varLib] Improved support-resolution algorithm. Previously, the on-axis masters would always cut the space. They don’t anymore. That’s more consistent, and fixes the main issue Erik showed at TYPO Labs 2017. Any varfont built that had an unusual master configuration will change when rebuilt
[varLib.models] Added a main() entry point, that takes positions and prints model results.
[varLib.plot] Added new module to plot a designspace’s VariationModel. Requires matplotlib.
[varLib.mutator] Added -o option to specify output file path
[otTables] Fixed IndexError while pruning of HVAR pre-write
[varLib.models] Convert delta array to floats if values overflows signed short integer
2018-04-09 10:54:20 +00:00
adam
1296c7e9b7 py-fonttools: updated to 3.24.1
3.24.1:
[varLib] Don't remap the same DeviceTable twice in VarStore optimizer.
[varLib] Add --disable-iup option to fonttools varLib script, and a optimize=True keyword argument to varLib.build function, to optionally disable IUP optimization while building varfonts.
[ttCollection] Fixed issue while decompiling ttc with python3
2018-03-08 12:48:56 +00:00
adam
53532e8042 py-fonttools: updated to 3.24.0
3.24.0:
[ttGlyphPen] Decompose composite glyphs if any components' transform is too large to fit a F2Dot14 value, or clamp transform values that are (almost) equal to +2.0 to make them fit and avoid decomposing.
[ttx] Added new -g option to dump glyphs from the glyf table splitted as individual ttx files.
Copied ufoLib.filenames module to fontTools.misc.filenames, used for the ttx split-glyphs option .
[feaLib] Added support for cvParameters blocks in Character Variant feautures cv01-cv99.
[Snippets] Added checksum.py script to generate/check SHA1 hash of ttx files.
[varLib.mutator] Fixed issue while instantiating some variable fonts whereby the horizontal advance width computed from gvar phantom points could turn up to be negative.
[varLib/subset] Fixed issue with subsetting GPOS variation data not picking up ValueRecord Device objects (54fd71f).
[feaLib/voltLib] In all AST elements, the location is no longer a required positional argument, but an optional kewyord argument (defaults to None). This will make it easier to construct feature AST from code
2018-03-02 11:37:05 +00:00
adam
954f40f563 py-fonttools: updated to 3.23.0
3.23.0:
[designspaceLib] Added an optional lib element to the designspace as a whole, as well as to the instance elements, to store arbitrary data in a property list dictionary, similar to the UFO’s lib. Added an optional font attribute to the SourceDescriptor, to allow operating on in-memory font objects.
[cffLib] Fixed issue with lazy-loading of attributes when attempting to set the CFF TopDict.Encoding.
[ttx] Fixed regression introduced in 3.22.0 that affected the split tables -s option.
[feaLib] Added IncludedFeaNotFound custom exception subclass, raised when an included feature file cannot be found.
[otTables] Changed VarIdxMap to use glyph names internally instead of glyph indexes. The old ttx dumps of HVAR/VVAR tables that contain indexes can still be imported.
[varLib] Implemented VarStore optimizer.
[subset] Implemented pruning of GDEF VarStore, HVAR and MVAR.
[sfnt] Restore backward compatiblity with numFonts attribute of SFNTReader object.
[merge] Initial support for merging LangSysRecords.
[ttCollection] don’t seek(0) when writing to possibly unseekable strems.
[subset] Keep all --name-IDs from 0 to 6 by default.
[cffLib] Added width module to calculate optimal CFF default and nominal glyph widths.
[varLib] Don’t fail if STAT already in the master fonts
2018-03-01 09:00:08 +00:00
adam
10e223f277 py-fonttools: updated to 3.22.0
3.22.0:
- [subset] Support subsetting endchar acting as seac-like components
  in CFF.
- [feaLib] Allow to build from pre-parsed ast.FeatureFile object.
  Added tables argument to only build some tables instead of all.
- [textTools] Replaced safeEval with ast.literal_eval.
- [feaLib] Added option to the parser to not resolve include statements.
- [ttLib] Added new ttCollection module to read/write TrueType and
  OpenType Collections. Exports a TTCollection class with a fonts
  attribute containing a list of TTFont instances, the methods save
  and saveXML, plus some list-like methods. The importXML method is
  not implemented yet.
- [unicodeadata] Added ot_tag_to_script function that converts from
  OpenType script tag to Unicode script code.
- Added new designspaceLib subpackage, originally from Erik Van Blokland's
  designSpaceDocument: https://github.com/LettError/designSpaceDocument
  NOTE: this is not yet used internally by varLib, and the API may be subject
  to changes.
- Added new FontTools icon images.
- [unicodedata] Added script_horizontal_direction function that returns
  either "LTR" or "RTL" given a unicode script code.
- [otConverters] Don't write descriptive name string as XML comment if the
  NameID value is 0 (== NULL).
- [unicodedata] Add ot_tags_from_script function to get the list of
  OpenType script tags associated with unicode script code.
- [feaLib] Don't error when "enumerated" kern pairs conflict with preceding
  single pairs; emit warning and chose the first value.
- [loggingTools] In CapturingLogHandler.assertRegex method, match the
  fully formatted log message.
- [sbix] Fixed TypeError when concatenating str and bytes.
- [bezierTools] Implemented cusp support and removed approximate_fallback
  arg in calcQuadraticArcLength. Added calcCubicArcLength
2018-02-08 08:28:56 +00:00
adam
f16dfc79cb py-fonttools: updated to 3.21.2
3.21.2:
- [varLib] Fixed merging PairPos Format1/2 with missing subtables
2018-01-10 07:42:17 +00:00
adam
58cf70d6a6 py-fonttools: updated to 3.21.1
3.21.1:
- [feaLib] Allow mixed single/multiple substitutions
- Added missing ``*.afm`` test assets to MAINFEST.in
- Fixed dumping ``SVG`` tables containing color palettes
2018-01-04 20:40:36 +00:00
adam
a2ab49236f py-fonttools: updated to 3.21.0
3.21.0:
[cmap] when compiling format6 subtable, don't assume gid0 is always called '.notdef'.
[ot] Allow decompiling fonts with bad Coverage format number.
Change FontTools licence to MIT.
[post] Prune extra names already in standard Mac set.
[subset] Delete empty SubrsIndex after subsetting.
[varLib] Don't share points in cvar by default, as it currently fails on some browsers.
[afmLib] Make poor old afmLib work on python3.
2017-12-22 06:07:42 +00:00
adam
d87159ed4f py-fonttools: updated to 3.20.1
3.20.1:
[unicodedata] Fixed issue with script and script_extension functions returning inconsistent short vs long names. They both return the short four- letter script codes now. Added script_name and script_code functions to look up the long human-readable script name from the script code, and viceversa.

3.20.0:
[unicodedata] Addded new module fontTools.unicodedata which exports the same interface as the built-in unicodedata module, with the addition of a few functions that are missing from the latter, such as script, script_extension and block. Added a MetaTools/buildUCD.py script to download and parse data files from the Unicode Character Database and generate python modules containing lists of ranges and property values.
[feaLib] Added __str__ method to all ast elements.
[feaLib] Parser constructor now accepts a glyphNames iterable instead of glyphMap dict. The latter still works but with a pending deprecation warning.
[bezierTools] Added arc length calculation functions originally from pens.perimeterPen module.
[varLib] Started generating STAT table (8af4309). Right now it just reflects the axes, and even that with certain limitations: * AxisOrdering is set to the order axes are defined, * Name-table entries are not shared with fvar.
[py23] Added backports for redirect_stdout and redirect_stderr context managers.
[Graphite] Fixed some round-trip bugs
2017-11-28 08:59:32 +00:00