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

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


Branch: CURRENT, Version: 3.43.1, Package name: py37-fonttools-3.43.1, 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:
[pkgtools/cwrappers]

Master sites:

SHA1: d1e9204262298983088e2fdffe1154b8ff20cda7
RMD160: dacfc694e2dd4297a2e20db6a665afcbd78b7d7b
Filesize: 2965.912 KB

Version history: (Expand)


CVS history: (Expand)


   2019-07-04 14:09:08 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
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-04-30 09:55:33 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
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-03-27 07:33:09 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
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-02-27 13:06:01 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
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-12 09:58:14 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
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-01-22 10:17:21 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
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-16 09:40:39 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
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
   2018-12-22 20:06:53 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
py-fonttools: really fix ALTERNATIVES :)