The buildlink3.mk should be included for OSes _except_ Darwin.
The proper fix for this would be to have a devel/libuuid/builtin.mk that
detects builtinness.
Finally we have made new stable release, 2.13.0 here. summaries for
changes since last stable release of 2.12.6 are:
- Improve the footprint on cache creation
- emoji/math fonts support
- variable fonts support
- config file description support
- allow sharing caches with bind-mounted dirs
- bug fixes
Overview of changes leading to 1.7.6
Wednesday, March 7, 2018
====================================
- Fix to hb_set_t binary operations. Ouch.
- New experimental harfbuzz-subset library. All of hb-subset.h
is experimental right now and API WILL change.
- New API:
hb_blob_copy_writable_or_fail()
HB_OT_TAG_BASE
hb_set_previous()
hb_set_previous_range()
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
Alan Coopersmith (1):
mkfontscale 1.1.3
Emil Velikov (1):
autogen.sh: use quoted string variables
Jeremy Huddleston Sequoia (1):
mkfontscale: Avoid a buffer underrun
Mihail Konev (1):
autogen: add default patch prefix
Peter Hutterer (1):
autogen.sh: use exec instead of waiting for configure to finish
Stefan Dirsch (1):
fix handling of Type1 fonts without /FamilyName and/or /FullName
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
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
Overview of changes leading to 1.7.5
Tuesday, January 30, 2018
====================================
- Separate Khmer shaper from Indic.
- First stab at AAT morx. Not hooked up.
- Misc bug fixes.
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
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.)