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
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
Besides native xorg+xorg sets, modular xorg, there is also
native xorg+no xorg sets, and apparently the build doesn't fail in
this case.
Reported by John D. Baker in pkgsrc-users.
Changes in version 5.2
- Fix handling of non-ASCII characters in pdfoutline
Changes in version 5.1
- Make writing outlines with Cairo actually work
- Fix typos
Changes in version 5.0
- Add command line flag that allows to use pango for text layout
- Add possiblility to create PDF outline directly using cairo
- Switch to CMake as build system
- Add command line flag for loading Unicode blocks file during runtime.
Upstream changes:
0.12 2018-08-12 dmol@cpan.org
- Fix MANIFEST
0.11 2018-08-11 dmol@cpan.org
- Added FT_LOAD_COMPUTE_METRICS load flag (HinTak)
- Added face->foreach_glyph method for iterating over all glyphs
(some of them don't necessarily have a unicode point) (HinTak)
Overview of changes leading to 1.8.8
Tuesday, August 14, 2018
====================================
- Fix hb-icu crash on architectures where compare_exchange_weak() can
fail falsely. This bug was introduced in 1.8.4.
https://bugs.chromium.org/p/chromium/issues/detail?id=873568
- More internal refactoring of atomic operations and singletons.
- API changes:
The following functions do NOT reference their return value before
returning:
* hb_unicode_funcs_get_default()
* hb_glib_get_unicode_funcs()
* hb_icu_get_unicode_funcs()
This is consistent with their naming ("get", instead of "reference")
as well as how they are used in the wild (ie. no one calls destroy()
on their return value.)
2018-08-10: Release 11.0.02
Adds Sutton SignWriting glyphs. Miscellaneous patches to other glyphs.
2018-06-05: Release 11.0.01
Update for Unicode 11.0.0 release. Modifications maintain complete
coverage of the Unicode Basic Multilingual Plane (BMP). Also includes
many Supplemental Multilingual Plane (SMP) scripts added in Unicode 11.0.
Notable in this release is the Unicode 11.0 addition of the Copyleft
symbol at code point U+01F12F. Because of its significance, this is
the only SMP glyph added to the Unicode TrueType BMP font. This glyph
also appears in the Unicode Upper TrueType font. BDF and PCF fonts
do not contain this symbol, as they only allow code points below U+10000.
2017-12-27: Release 10.0.07
Changes to allow cross-building from source. Now the top-level Makefile
and src/Makefile define INSTALL=install, rather than install C programs
with the "-s" (strip) option. This is part of a change requested by
Helmut Grohne to allow cross-architecture building without invoking
an architecture-specific "install -s". However, INSTALL still can
be defined on the top-level command line when make is invoked as
INSTALL="install -s" to allow stripping C binaries during installation
if desired. This definition from the top-level Makefile is passed down
to src/Makefile, which uses any command line definition when installing
C programs. Plain "install" is still used when installing Perl
programs.
Minor adjustments to glyphs as noted in the ChangeLog file.
2017-08-27: Release 10.0.06
Added numerous improvements to Unicode Plane 0 and Plane 1 scripts,
almost all of which were contributed by David Corbett; see the
ChangeLog file for details.
Made changes to make files contributed by Mike Gilbert to support
parallel make.
Fixed a corrupted ASCII hexadecimal string array in unifontpic.h.
2017-07-12: Release 10.0.05
This release positions Unicode double diacritic marks correctly
in the TrueType fonts. The previous release did not multiply
their offsets by the correct scale factor in FontForge.
The unifontpic chart title is also centered along the top row
legend, which looks better visually.
The Phonetic Extensions block has gone through major revision,
with minor adjustments in other Unicode scripts as described
in the ChangeLog file.
2017-07-08: Release 10.0.04
Added "-P" flag to the unifontpic utility to specify the Unicode
plane. This allows creating code charts for glyphs above Plane 0.
The Unicode plane is now added to the chart title. This works
properly for the wide and the long chart versions, with the
letters in the long version's chart title now single-spaced.
Received double-width Chinese ideographs to replace the quadruple-
width glyphs for Church Slavonic transliteration that were released
in Unifont 10.0.01. This allows a return to PNG charts of Unifont
glyphs. PNG files are smaller than the BMP version but the PNG
Unifont utilities have not been modified to handle quadruple-width
glyphs, whereas the BMP utilities have been. The 18 quadruple-width
Chinese glyphs are preserved in font/plane00/alt/quad-width.hex to
allow future experimentation.
The PNG charts of Unicode Plane 1 (Supplemental Multilingual Plane)
glyphs now use the Unifont "sample" version of Unifont ".hex" files,
so that combining circles appear. This was already being done for
Unicode Plane 0 and will look better in font sample pages.
Added new x-offset field to all *-combining.txt files to provide
proper rendering of Unicode double diacritic marks; they should
span across the preceding character and the following character.
Added support for this in hex2sfd for FontForge generation of
TrueType fonts. Also added support for this to the unigencircles
utility, so the combining circle of a double diacritic is printed
correctly in the left half of the glyph as in the Unicode
Consortium's code charts, rather than being centered. Several
applications are not rendering these double diacritic marks
correctly; releasing this version of Unifont will allow validation
of the new Unifont TrueType build, and could serve as a test font
for implementing these specialty Unicode characters in other
applications.
Redrew Musical Symbols Ornaments (U+01D194..U+01D1A5) so they
join together when used as a consecutive string of characters.
Adjusted the Byzantine Musical Symbols "ano", "meso", and "kato"
glyph versions for high, middle, and low vertical placement,
respectively.
Made numerous adjustments to many glyphs as noted in the ChangeLog
file, including re-coding some "subjoiner" glyphs as combining
characters instead of as non-printing. Those glyphs now render
a virama (halant) sign if a script contains such a sign, or a
"+" subscript sign otherwise.
2017-06-30: Release 10.0.03
Modified font/hex2sfd to reposition combining characters. If
you experience problems with the TrueType font in this release,
revert to 10.0.02.
2017-06-30: Release 10.0.02
Touched up glyphs in the block U+03xx, which includes modern Greek.
Fixed an Aiha glyph in the Private Use Area in the Unifont CSUR font.
2017-06-20: Release 10.0.01
Updated for Unicode 10.0 release.
New scripts added (introduced in Unicode 10.0):
- U+0860..U+086F Syriac Supplement
- U+011A00..U+011A4F Zanabazar Square
- U+011A50..U+011AAF Soyombo
- U+011D00..U+011D5F Masaram Gondi
Added quadruple-width glyphs U+9FD8..U+9FE9, updating some utility
programs and documentation to allow this change. The Perl scripts
unihex2png, unipng2hex, and unifont-viewer do not support this new
16-by-32 glyph size.
Corrected several glyphs and made numerous changes in others,
described in detail in the ChangeLog file.
Overview of changes leading to 1.8.7
Wednesday, August 8, 2018
====================================
- Fix assertion failure with GDEF-blacklisted fonts.
Overview of changes leading to 1.8.6
Tuesday, August 7, 2018
====================================
- Internal code shuffling.
- New API to speed up getting advance widths for implementations
that have heavy overhead in get_h_advance callback:
+hb_font_funcs_set_glyph_h_advances_func
+hb_font_funcs_set_glyph_v_advances_func
+hb_font_get_glyph_advances_for_direction
+hb_font_get_glyph_h_advances
+hb_font_get_glyph_h_advances_func_t
+hb_font_get_glyph_v_advances
+hb_font_get_glyph_v_advances_func_t
Overview of changes leading to 1.8.5
Wednesday, August 1, 2018
====================================
- Major Khmer shaper improvements to better match Microsoft.
- Indic bug fixes.
- Internal improvements to atomic operations.
Overview of changes leading to 1.8.4
Tuesday, July 17, 2018
====================================
- Fix build on non-C++11.
- Use C++-style GCC atomics and C++11 atomics.
Overview of changes leading to 1.8.3
Wednesday, July 11, 2018
====================================
- A couple of Indic / USE bug fixes.
- Disable vectorization, as it was causing unaligned access bus error on
certain 32bit architectures.
Overview of changes leading to 1.8.2
Tuesday, July 3, 2018
====================================
- Fix infinite loop in Khmer shaper.
- Improve hb_blob_create_from_file() for streams.
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.
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
Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
The Culmus project aims at providing the Hebrew-speaking GNU/Linux
and Unix community with a basic collection of Hebrew fonts for X
Windows. Presently the collection contains fifteen font families
of different styles.
Overview of changes leading to 1.8.1
Tuesday, June 12, 2018
====================================
- Fix hb-version.h file generation; last two releases went out with wrong ones.
- Add correctness bug in hb_set_t operations, introduced in 1.7.7.
- Remove HB_SUBSET_BUILTIN build option. Not necessary.
Tuesday, June 5, 2018
====================================
- Update to Unicode 11.0.0.
Overview of changes leading to 1.7.7
Tuesday, June 5, 2018
====================================
- Lots of internal changes, but not yet exposed externally.
- All HarfBuzz objects are significantly smaller in size now.
- Sinhala: Position repha on top of post-consonant, not base.
This better matches Windows 10 behavior, which was changed
from previous Windows versions.
- New build options:
o New cpp macro HB_NO_ATEXIT
o New cpp macro HB_SUBSET_BUILTIN
- Significant libharfbuzz-subset changes. API subject to change.
- New API in libharfbuzz:
+hb_blob_create_from_file()
+hb_face_count()
A hashmap implementation:
+hb-map.h
+HB_MAP_VALUE_INVALID
+hb_map_t
+hb_map_create()
+hb_map_get_empty()
+hb_map_reference()
+hb_map_destroy()
+hb_map_set_user_data()
+hb_map_get_user_data()
+hb_map_allocation_successful()
+hb_map_clear()
+hb_map_is_empty()
+hb_map_get_population()
+hb_map_set()
+hb_map_get()
+hb_map_del()
+hb_map_has()
The package provides means of loading maths alphabets (such as
are normally addressed via macros \mathcal, \mathbb, \mathfrak
and \mathscr), offering various features normally missing in
existing packages for this job.
Version 1.11 of XCharter includes new Greek math alphabets that match the
size and style of Charter. These are used to construct the
Greek math glyphs when using the charter option to newtxmath (version 1.53
or later.)
* New version that will go on TeX Live 2018.
* kanji-config-updmap: Multiple language mode options (--ja, --sc etc.)
can be specified at the same time.
* Fix README; mention TLContrib for macOS-specific font maps.
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
* otf.sty: Scale Japanese fonts using \Cjascale if defined.
Support jsreport.cls in jsclasses.
* ajmacros.sty: Add \NeedsTeXFormat{pLaTeX2e} to avoid infinite loop.
- v2.6g (2017-11-09)
* Bugfix for clash introduced with last version. When loading `babel`
before `fontspec` the following error arose:
! Control sequence \latinencoding already defined.
- v2.6f (2017-11-05)
* Fix loading of Graphite fonts and add a little documentation
(a better interface is needed, though)
* Correct and simplify some internal code that fixes a bug in the
way some fonts are displayed in `\tracingoutput` mode.
* This also fixes an obscure bug using the API in which a query for
a selected font feature would test against the upright font in the
current family regardless of the face/shape actually in use.
* This package now complies with the `expl3` option `check-declarations`.