harfbuzz: update to 1.7.4.
Overview of changes leading to 1.7.4
Wednesday, December 20, 2017
====================================
- Fix collect_glyphs() regression caused by hb_set_t changes.
Overview of changes leading to 1.7.3
Monday, December 18, 2017
====================================
- hb_set_t performance tuning and optimizations.
- Speed up collect_glyphs() and reject garbage data.
- In hb_coretext_font_create() set font point-size (ptem).
- Misc fixes.
Overview of changes leading to 1.7.2
Monday, December 4, 2017
====================================
- Optimize hb_set_add_range().
- Misc fixes.
- New API:
hb_coretext_font_create()
The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.
There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
Unsorted entries in PLIST files have generated a pkglint warning for at
least 12 years. Somewhat more recently, pkglint has learned to sort
PLIST files automatically. Since pkglint 5.4.23, the sorting is only
done in obvious, simple cases. These have been applied by running:
pkglint -Cnone,PLIST -Wnone,plist-sort -r -F
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.
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
Overview of changes leading to 1.7.1
Tuesday, November 14, 2017
====================================
- Fix atexit object destruction regression.
- Fix minor integer-overflow.
Overview of changes leading to 1.7.0
Monday, November 13, 2017
====================================
- Minor Indic fixes.
- Implement kerning and glyph names in hb-ot-font.
- Various DSO optimization re .data and .bss sizes.
- Make C++11 optional; build fixes.
- Mark all other backends "unsafe-to-break".
- Graphite fix.
Overview of changes leading to 1.6.3
Thursday, October 26th, 2017
====================================
- Fix hb_set_t some more. Should be solid now.
- Implement get_glyph_name() for hb-ot-font.
- Misc fixes.
Overview of changes leading to 1.6.2
Monday, October 23nd, 2017
====================================
- Yesterday's release had a bad crasher; don't use it. That's what
happens when one works on Sunday...
https://github.com/behdad/harfbuzz/issues/578
- Build fixes for FreeBSD and Chrome Android.
Overview of changes leading to 1.6.1
Sunday, October 22nd, 2017
====================================
- Don't skip over COMBINING GRAPHEME JOINER when ligating, etc.
To be refined: https://github.com/behdad/harfbuzz/issues/554
- Faster hb_set_t implementation.
- Don't use deprecated ICU API.
- Fix undefined-behavior in Myanmar shaper, introduced in 1.6.0
- Deprecated API:
hb_set_invert()
Overview of changes leading to 1.6.0
Friday, October the 13th, 2017
====================================
- Update to Unicode 10.
- Various Indic and Universal Shaping Engine fixes as a result of
HarfBuzz Hackfest with Jonathan Kew at Web Engines Hackfest at
the Igalia offices in A Coruña, Spain. Thanks Igalia for having
us!
- Implement Unicode Arabic Mark Ordering Algorithm UTR#53.
- Implement optical sizing / tracking in CoreText backend, using
new API hb_font_set_ptem().
- Allow notifying hb_font_t that underlying FT_Face changed sizing,
using new API hb_ft_font_changed().
- More Graphite backend RTL fixes.
- Fix caching of variable font shaping plans.
- hb-view / hb-shape now accept following new arguments:
o --unicodes: takes a list of hex numbers that represent Unicode
codepoints.
New API:
+hb_face_get_table_tags()
+hb_font_set_ptem()
+hb_font_get_ptem()
+hb_ft_font_changed()
30 Oct 2017 (Eben Sorkin) Merriweather v2.002
Made first Variable font version with the Roman. Italic is not generating yet.
General
Fixed interpolation issues in Both Roman and italic.
Quotes ‘“”’ made clearer.
‹›«» made less wide and more typical
All dashes and math symbols: heights corrected.
¿ ? adjusted to be somewhat less distinctive
all 10 arrows → now included
Diacritic anchor positions made common across family
Combining Diacritics centered on zero widths
Diacritic design generally improved and Vietnamese diacritics made so they are not made from composites (properly designed) and so they won’t be clipped.
File efficiency gained from forcing all glyphs that should made only from composites to do so.
Clunky spacing and design for in some Currency glyphs corrected
Lining Figures Added
Zero slash added
Non standard use of composites (flipped shapes) corrected
Missing Latin glyphs added
Total Glyph count in Roman and Italic made to match.
Open Type code added: aalt, ccmp, locl, sups, numr, dnom, frac, ordn, lnum, onum, case, liga, zero, cpsp
Added the Published (circle P) symbol
OpenType Features: Update code for more languages
Fractions: Improved and added limited support for inferior or subscript numbers
Weight Scale: Altered instance weights across roman and italic so nominal weights appear more even; italics are still slightly lighter, but less contrast with roman
Symbols: Made all styles share reference glyphs for copyright, registered and published symbols
Added Gawker/Elizabeth Style curling quotes, dollar and question mark and mediumBlackSquare (uni25FC) to a Stylistic set (ss01)
Language
Latin: Found and upgraded all non-combining diacritics to combining, and all combining now have zero width
Cyrillic: Found and fixed many side-bearing problems
Vietnamese: Fixed diacritics and the glyphs they are used for, as well as the o and u horns
Technology
OTF: Improved blue zones for PS OTFs
Italic specific fixes
Missing Cyrillic glyphs in Italic added
Fixed denominator and fraction glyphs
Corrected weight inconsistency in Currency Glyphs
2 Feb 2017 (Marc Foley) Merriweather v2.001
Fixed interpolation issues in Italic
17 Jan 2017 (Marc Foley) Merriweather v2.000
Added CrystalType Vietnamese extension
Added Alexieva Cyrillic extension
Updated font metadata
This release imports the libXfont 1.x BDF-reading and PCF-writing code,
as this program is the only known user of that code and libXfont 1.x is
otherwise unmaintained. No functional difference should be apparent,
this is just another step towards eliminating the old version of
libXfont from the world.
3.19.0:
[varLib] Try set of used points instead of all points when testing whether to share points between tuples.
[CFF2] Fixed issue with reading/writing PrivateDict BlueValues to TTX file. Read the commit message 8b02b5a and issue 1030 for more details. NOTE: this change invalidates all the TTX files containing CFF2 tables that where dumped with previous verisons of fonttools. CFF2 Subr items can have values on the stack after the last operator, thus a CFF2Subr class was added to accommodate this.
[_k_e_r_n] Fixed compilation of AAT kern version=1.0 tables
[ttLib] Added getBestCmap() convenience method to TTFont class and cmap table class that returns a preferred Unicode cmap subtable given a list of options.
[morx] Emit more meaningful subtable flags. Implement InsertionMorphAction
3.18.0 (released 2017-10-30)
[feaLib] Fixed writing back nested glyph classes.
[TupleVariation] Reactivated shared points logic, bugfixes.
[AAT] Implemented morx ligature subtables.
[reverseContourPen] Keep duplicate lineTo following a moveTo.
[varLib.mutator] Suport instantiation of GPOS, GDEF and MVAR.
[sstruct] Fixed issue with unicode_literals and struct module in old versions of python 2.7
0.6.4 (2017-10-03) : The "TeXnical Boost" release
=====
- Use package versioning based on Git snapshot.
- Fix LaTeX familydefault upon switching between scripts.
(Thanks Abhabongse Janthong for the pull request.)
- Add LaTeX option for font scaling.
(Thanks Abhabongse Janthong for another pull request.)
* Re-enable use of `HyphenChar=None` in LuaLaTeX. (Hyphenation and font
choice are decoupled in LuaTeX, except for this one setting.)
* Some internal changes needed by `unicode-math` to fix some cross-over
code.
This update corrects the behavior of the package under XeLaTeX and
LuaLaTeX when using libertine with newtxmath. It now behaves as the
documentation describes.
3.17.0:
- [svgPathPen] Added an ``SVGPathPen`` that translates segment pen commands
into SVG path descriptions. Copied from Tal Leming's ``ufo2svg.svgPathPen``
https://github.com/typesupply/ufo2svg/blob/d69f992/Lib/ufo2svg/svgPathPen.py
- [reverseContourPen] Added ``ReverseContourPen``, a filter pen that draws
contours with the winding direction reversed, while keeping the starting
point.
- [filterPen] Added ``ContourFilterPen`` to manipulate contours as a whole
rather than segment by segment.
- [arrayTools] Added ``Vector`` class to apply math operations on an array
of numbers, and ``pairwise`` function to loop over pairs of items in an
iterable.
- [varLib] Added support for building and interpolation of ``cvar`` table
3.16.0:
[head] Try using SOURCE_DATE_EPOCH environment variable when setting the head modified timestamp to ensure reproducible builds.
[VTT] Decode VTT’s TSI* tables text as UTF-8.
Added support for Graphite font tables: Feat, Glat, Gloc, Silf and Sill.
[varLib] Default to using axis “name” attribute if “labelname” element is missing.
[merge] Added support for merging Script records. Remove unused features and lookups after merge.
Added fontTools.svgLib package. Includes a parser for SVG Paths that supports the Pen protocol. Also, added a snippet to convert SVG outlines to UFO GLIF.
[AAT] Added support for ankr, bsln, mort, morx, gcid, and cidg.
[subset] Implemented subsetting of prop, opbd, bsln, lcar.
I did not notice the package already existed in fonts/py-fonttools. This
package is now updated to the latest version available (3.15.1).
Thanks joerg@ for the heads-up.
Changelog for this release:
- [otConverters] Implemented ``__add__`` and ``__radd__`` methods on
``otConverters._LazyList`` that decompile a lazy list before adding
it to another list or ``_LazyList`` instance. Fixes an ``AttributeError``
in the ``subset`` module when attempting to sum ``_LazyList`` objects
(6ef48bd2, 1aef1683).
- [AAT] Support the `opbd` table with optical bounds (a47f6588).
- [AAT] Support `prop` table with glyph properties (d05617b4).
fontTools is a library for manipulating fonts, written in Python. The project
includes the TTX tool, that can convert TrueType and OpenType fonts to and from
an XML text format, which is also called TTX. It supports TrueType, OpenType,
AFM and to an extent Type 1 and some Mac-specific formats. The project has a
BSD-style open-source licence.