Next | Query returned 114 messages, browsing 21 to 30 | Previous

History of commit frequency

CVS Commit History:


   2023-03-08 14:52:58 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-fonttools: updated to 4.39.0

4.39.0 (released 2023-03-06)
----------------------------

- [mtiLib] Optionally add `Debg` debug info for MTI feature builds
- [ttx] Support reading input file from standard input using special `-` character,
  similar to existing `-o -` option to write output to standard output
- [cython] Prevent ``cython.compiled`` raise AttributeError if cython not installed
  properly
- [OS/2] Guard against ZeroDivisionError when calculating xAvgCharWidth in the \ 
unlikely
  scenario no glyph has non-zero advance
- [subset] Recompute xAvgCharWidth independently of --no-prune-unicode-ranges,
  previously the two options were involuntarily bundled together
- [fontBuilder] Add ``debug`` parameter to addOpenTypeFeatures method to add source
  debugging information to the font in the ``Debg`` private table
- [name] Make NameRecord `__lt__` comparison not fail on Unicode encoding errors
- [featureVars] Fixed bug in ``overlayBox``
- [glyf] Added experimental support for cubic bezier curves in TrueType glyf \ 
table, as
  outlined in glyf v1 proposal
  https://github.com/harfbuzz/boring-expansion-spec/blob/main/glyf1-cubicOutlines.md
- Added new qu2cu module and related qu2cuPen, the reverse of cu2qu for converting
  TrueType quadratic splines to cubic bezier curves
- [glyf] Added experimental support for reading and writing Variable \ 
Composites/Components
  as defined in glyf v1 spec proposal
  https://github.com/harfbuzz/boring-expansion-spec/blob/main/glyf1-varComposites.md.
- [pens]: Added `addVarComponent` method to pen protocols' base classes, which \ 
pens can implement
  to handle varcomponents (by default they get decompo
- [misc.transform] Added DecomposedTransform class which implements an affine \ 
transformation
  with separate translate, rotation, scale, skew, and transformation-center \ 
components
- [sbix] Ensure Glyph.referenceGlyphName is set; fixes error after dumping and
  re-compiling sbix table with 'dupe' glyphs
- [feaLib] Be cleverer when merging chained single substitutions into same lookup
  when they are specified using the inline notation
- [instancer] Clamp user-inputted axis ranges to those of fvar
- [otBase/subset] Define ``__getstate__`` for BaseTable so that a copied/pickled \ 
'lazy'
  object gets its own OTTableReader to read from; incidentally fixes a bug while
  subsetting COLRv1 table containing ClipBoxes on python 3.11
- [sbix] Handle glyphs with "dupe" graphic type on compile correctly
- [glyf] ``endPointsOfContours`` field should be unsigned! Kudos to behdad for
  spotting one of the oldest bugs in FT. Probably nobody has ever dared to make
  glyphs with more than 32767 points...
- [feaLib] Fixed handling of ``ignore`` statements with unmarked glyphs to match
  makeotf behavior, which assumes the first glyph is marked
- Reformatted code with ``black`` and enforce new code style via CI check
- [feaLib] Sort name table entries following OT spec prescribed order in the builder
- [cu2quPen] Add Cu2QuMultiPen that converts multiple outlines at a time in
  interpolation compatible way; its methods take a list of tuples arguments
  that would normally be passed to individual segment pens, and at the end it
  dispatches the converted outlines to each pen
- [reverseContourPen/ttGlyphPen] Add outputImpliedClosingLine option
- [gvar] Avoid expanding all glyphs unnecessarily upon compile
- [scaleUpem] Fixed bug whereby CFF2 vsindex was scaled; it should not
- [designspaceLib] Add DS.getAxisByTag and refactor getAxis
- [unicodedata] map Zmth<->math in ot_tag_{to,from}_script
- [woff2] Support encoding/decoding OVERLAP_SIMPLE glyf flags
- [instancer] Update OS/2 class and post.italicAngle when default moved (L4)
- Dropped support for Python 3.7 which reached EOL, fontTools requires 3.8+.
- [instancer] Fixed instantiateFeatureVariations logic when a rule range becomes
  default-applicable
- [ttLib] Add main to ttFont and ttCollection that just decompile and re-compile the
  input font
- [featureVars] Insert 'rvrn' lookup at the beginning of LookupList, to work \ 
around bug
  in Apple implementation of 'rvrn' feature which the spec says it should be \ 
processed
  early whereas on macOS 10.15 it follows lookup order
- [instancer/mutator] Remove 'DSIG' table if present.
- [svgPathPen] Don't close path in endPath(), assume open unless closePath()
   2022-11-14 10:58:46 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-fonttools: updated to 4.38.0

4.38.0 (released 2022-10-21)
----------------------------

- [varLib.instancer] Added support for L4 instancing, i.e. moving the default \ 
value of
  an axis while keeping it variable. Thanks Behdad!
  It's now also possible to restrict an axis min/max values beyond the current \ 
default
  value, e.g. a font wght has min=100, def=400, max=900 and you want a partial \ 
VF that
  only varies between 500 and 700, you can now do that.
  You can either specify two min/max values (wght=500:700), and the new default \ 
will be
  set to either the minimum or maximum, depending on which one is closer to the \ 
current
  default (e.g. 500 in this case). Or you can specify three values (e.g. \ 
wght=500:600:700)
  to specify the new default value explicitly.
- [otlLib/featureVars] Set a few Count values so one doesn't need to compile the font
  to update them
- [varLib.models] Make extrapolation work for 2-master models as well where one \ 
master
  is at the default location
  Add optional extrapolate=False to normalizeLocation()
- [varLib.cff] Fixed sub-optimal packing of CFF2 deltas by no longer rounding them to
  integer
- [scaleUpem] Calculate numShorts in VarData after scale; handle CFF hintmasks
   2022-10-10 10:47:10 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-fonttools: updated to 4.37.4

4.37.4 (released 2022-09-30)
----------------------------
- [subset] Keep nameIDs used by CPAL palette entry labels
- [varLib] Avoid negative hmtx values when creating font from variable CFF2 font
- [instancer] Don't prune stat.ElidedFallbackNameID
- [unicodedata] Update Scripts/Blocks to Unicode 15.0

4.37.3 (released 2022-09-20)
----------------------------
- Fix arguments in calls to (glyf) glyph.draw() and drawPoints(), whereby offset \ 
wasn't
  correctly passed down; this fix also exposed a second bug, where lsb and tsb \ 
were not
  set
   2022-09-15 21:05:27 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-fonttools: updated to 4.37.2

4.37.2 (released 2022-09-15)
----------------------------

- [subset] Keep CPAL table and don't attempt to prune unused color indices if OT-SVG
  table is present even if COLR table was subsetted away; OT-SVG may be \ 
referencing the
  CPAL table; for now we assume that's the case
- [varLib.instancer] Downgrade GPOS/GSUB version if there are no more \ 
FeatureVariations
  after instancing
- [subset] Added ``--no-lazy`` to optionally load fonts eagerly (mostly to ease
  debugging of table lazy loading, no practical effects)
- [varLib] Avoid building empty COLR.DeltaSetIndexMap with only identity mappings
- [feaLib] Allow multiple value record types (by promoting to the most general \ 
format)
  within the same PairPos subtable; e.g. this allows variable and non variable \ 
kerning
  rules to share the same subtable. This also fixes a bug whereby some kerning pairs
  would become unreachable while shapiong because of premature subtable splitting
- [feaLib] Speed up ``VarScalar`` by caching models for recurring master locations
- [feaLib] Optionally cythonize ``feaLib.lexer``, speeds up parsing FEA a bit
- [designspaceLib] Avoid crash when handling unbounded rule conditions
- [post] Don't crash if ``post`` legacy format 1 is malformed/improperly used
- [gvar] Don't be "lazy" (load all glyph variations up front) when \ 
TTFont.lazy=False
- [TTFont] Added ``normalizeLocation`` method to normalize a location dict from the
  font's defined axes space (also known as "user space") into the \ 
normalized (-1..+1)
  space. It applies ``avar`` mapping if the font contains an ``avar`` table
- [TTVarGlyphSet] Support drawing glyph instances from CFF2 variable glyph set
- [fontBuilder] Do not error when building cmap if there are zero code points
- [varLib.plot] Added ability to plot a variation model and set of accompaning master
  values corresponding to the model's master locations into a pyplot figure
- [Snippets] Added ``statShape.py`` script to draw statistical shape of a glyph as an
  ellips (requires pycairo) (baecd88).
- [TTVarGlyphSet] implement drawPoints natively, avoiding going through
  SegmentToPointPen
- [TTVarGlyphSet] Fixed bug whereby drawing a composite glyph multiple times, its
  components would shif; needed an extra copy
   2022-09-07 17:13:52 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-fonttools: updated to 4.37.1

4.37.1 (released 2022-08-24)
----------------------------

- [subset] Fixed regression introduced with v4.37.0 while subsetting the VarStore of
  ``HVAR`` and ``VVAR`` tables, whereby an ``AttributeError: subset_varidxes`` was
  thrown because an apparently unused import statement (with the side-effect of
  dynamically binding that ``subset_varidxes`` method to the VarStore class) had been
  accidentally deleted in an unrelated PR.
- [pens] Added ``cairoPen``.
- [gvar] Read ``gvar`` more lazily by not parsing all of the ``glyf`` table.
- [ttGlyphSet] Make ``drawPoints(pointPen)`` method work for CFF fonts as well via
  adapter pen.

4.37.0 (released 2022-08-23)
----------------------------

- [varLib.models] Reverted PR 2717 which added support for "narrow \ 
tents" in v4.36.0,
  as it introduced a regression. It will be restored in upcoming release
  once we found a solution to the bug.
- [cff.specializer] Fixed issue in charstring generalizer with the ``blend`` \ 
operator.
- [varLib.models] Added support for extrapolation.
- [ttGlyphSet] Ensure the newly added ``_TTVarGlyphSet`` inherits from \ 
``_TTGlyphSet``
  to keep backward compatibility with existing API.
- [kern] Allow compiling legacy kern tables with more than 64k entries (d21cfdede).
- [visitor] Added new visitor API to traverse tree of objects and dispatch based
  on the attribute type: cf. ``fontTools.misc.visitor`` and \ 
``fontTools.ttLib.ttVisitor``. Added ``fontTools.ttLib.scaleUpem`` module that \ 
uses the latter to
  change a font's units-per-em and scale all the related fields accordingly.

4.36.0 (released 2022-08-17)
----------------------------

- [varLib.models] Use a simpler model that generates narrower "tents" \ 
(regions, master
  supports) whenever possible: specifically when any two axes that actively \ 
"cooperate"
  (have masters at non-zero positions for both axes) have a complete set of \ 
intermediates.
  The simpler algorithm produces fewer overlapping regions and behaves better with
  respect to rounding at the peak positions than the generic solver, always matching
  intermediate masters exactly, instead of maximally 0.5 units off. This may be \ 
useful
  when 100% metrics compatibility is desired.
- [feaLib] Remove warning when about ``GDEF`` not being built when explicitly not
  requested; don't build one unconditonally even when not requested.
- [ttFont] ``TTFont.getGlyphSet`` method now supports selecting a location that
  represents an instance of a variable font (supports both user-scale and normalized
  axes coordinates via the ``normalized=False`` parameter). Currently this only works
  for TrueType-flavored variable fonts.

4.35.0 (released 2022-08-15)
----------------------------

- [otData/otConverters] Added support for 'biased' PaintSweepGradient start/end \ 
angles
  to match latest COLRv1 spec.
- [varLib.instancer] Fixed bug in ``_instantiateFeatureVariations`` when at the same
  time pinning one axis and restricting the range of a subsequent axis; the \ 
wrong axis
  tag was being used in the latter step (as the records' axisIdx was updated in the
  preceding step but looked up using the old axes order in the following step).
- [mtiLib] Pad script tags with space when less than 4 char long.
- [merge] Use ``'.'`` instead of ``'#'`` in duplicate glyph names.
- [gvar] Added support for lazily loading glyph variations.
- [varLib] In ``build_many``, we forgot to pass on ``colr_layer_reuse`` parameter to
  the ``build`` method.
- [svgPathPen] Add a main that prints SVG for input text (6df779fd).
- [cffLib.width] Fixed off-by-one in optimized values; previous code didn't match the
  code block above it (2963fa50).
- [varLib.interpolatable] Support reading .designspace and .glyphs files (via \ 
optional
  ``glyphsLib``).
- Compile some modules with Cython when available and building/installing fonttools
  from source: ``varLib.iup`` (35% faster), ``pens.momentsPen`` (makes
  ``varLib.interpolatable`` 3x faster).
- [feaLib] Allow features to be built for VF without also building a GDEF table (e.g.
  only build GSUB); warn when GDEF would be needed but isn't requested.
- [otBase] Fixed ``AttributeError`` when uharfbuzz < 0.23.0 and 'repack' method is
  missing (32aa8eaf). Use new ``uharfbuzz.repack_with_tag`` when available (since
  uharfbuzz>=0.30.0), enables table-specific optimizations to be performed during
  repacking.
- [statisticsPen] By default report all glyphs (4139d891). Avoid division-by-zero
  (52b28f90).
- [feaLib] Added missing required argument to FeatureLibError exception
- [varLib.merge] Fixed error during error reporting. Fixed undefined
  ``NotANone`` variable.

4.34.4 (released 2022-07-07)
----------------------------

- Fixed typo in varLib/merger.py that causes NameError merging COLR glyphs
  containing more than 255 layers.

4.34.3 (released 2022-07-07)
----------------------------

- [designspaceLib] Don't make up bad PS names when no STAT data

4.34.2 (released 2022-07-06)
----------------------------

- [varStore/subset] fixed KeyError exception to do with NO_VARIATION_INDEX while
  subsetting varidxes in GPOS/GDEF (a08140d).

4.34.1 (released 2022-07-06)
----------------------------

- [instancer] When optimizing HVAR/VVAR VarStore, use_NO_VARIATION_INDEX=False \ 
to avoid
  including NO_VARIATION_INDEX in AdvWidthMap, RsbMap, LsbMap mappings, which would
  push the VarIdx width to maximum (4bytes), which is not desirable. This also fixes
  a hard crash when attempting to subset a varfont after it had been partially \ 
instanced
  with use_NO_VARIATION_INDEX=True.

4.34.0 (released 2022-07-06)
----------------------------

- [instancer] Set RIBBI bits in head and OS/2 table when cutting instances and the
  subfamily nameID=2 contains strings like 'Italic' or 'Bold'.
- [otTraverse] Addded module containing methods for traversing trees of otData tables
 .
- [otTables] Made DeltaSetIndexMap TTX dump less verbose by omitting no-op entries
 .
- [colorLib.builder] Added option to disable PaintColrLayers's reuse of layers from
  LayerList.
- [varLib] Added support for merging multiple master COLRv1 tables into a variable
  COLR table. Base color glyphs of same name in different masters must have
  identical paint graph structure (incl. number of layers, palette indices, number
  of color line stops, corresponding paint formats at each level of the graph),
  but can differ in the variable fields (e.g. PaintSolid.Alpha). PaintVar* tables
  are produced when this happens and a VarStore/DeltaSetIndexMap is added to the
  variable COLR table. It is possible for non-default masters to be 'sparse', i.e.
  omit some of the color glyphs present in the default master.
- [feaLib] Let the Parser set nameIDs 1 through 6 that were previously reserved.
- [varLib.varStore] Support NO_VARIATION_INDEX in optimizer and instancer.
- [feaLib] Show all missing glyphs at once at end of parsing.
- [varLib.iup] Rewrite force-set conditions and limit DP loopback length.
  For Noto Sans, IUP time drops from 23s down to 9s, with only a slight size increase
  in the final font. This basically turns the algorithm from O(n^3) into O(n).
- [featureVars] Report about missing glyphs in substitution rules.
- [mutator/instancer] Added CLI flag to --no-recalc-timestamp.
- [SVG] Allow individual SVG documents in SVG OT table to be compressed on \ 
uncompressed,
  and remember that when roundtripping to/from ttx. The SVG.docList is now a list
  of SVGDocument namedtuple-like dataclass containing an extra ``compressed`` field,
  and no longer a bare 3-tuple.
- [designspaceLib] Check for descriptor types with hasattr() to allow custom classes
  that don't inherit the default descriptors.
- [subset] Enable sharing across subtables of extension lookups for harfbuzz packing
 . Updated how table packing falls back to fontTools from harfbuzz.
- [subset] Updated default feature tags following current Harfbuzz.
- [svgLib] Fixed regex for real number to support e.g. 1e-4 in addition to 1.0e-4.
  Support parsing negative rx, ry on arc commands.
- [subset] Fixed subsetting SinglePosFormat2 when ValueFormat=0.
   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

Next | Query returned 114 messages, browsing 21 to 30 | Previous