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.
4.28.5 (released 2021-12-19)
----------------------------
- [svgPathPen] Continuation of 2471: make sure all occurrences of ``str()`` are now
replaced with user-defined ``ntos`` callable.
- [merge] Refactored code into submodules, plus several bugfixes and improvements:
fixed duplicate-glyph-resolution GSUB-lookup generation code; use tolerance in glyph
comparison for empty glyph's width; ignore space of default ignorable glyphs;
downgrade duplicates-resolution missing-GSUB from assert to warn; added --drop-tables
option.
Cascadia Code 2111.01
This is a "single-issue" bug fix release! Happy holidays!
- The brace ligatures in the italic style will no longer look totally
hilarious and terrible (#595)
Changelog:
v6.0.0 Latest
Changes in 6.0
Note: this is a major release due to the change in postscript naming
structure. Each font now uses abbreviations for Semibold, ExtraLight
and Medium (SmBld, ExtLt, and Medm respectively).
[IBM PLEX MONO V2.3] - 2021-08-13
Added
U+2500-U259F Box drawing characters and block elements
referenced in issue 93
U+2032 (PRIME) U+2033 (DOUBLE PRIME)
referenced in issue 145
glyphs /acaron /acaron.alt01 /icaron /ocaron /ucaron
/udieresismacron /udieresisacute /udieresisgrave /udieresiscaron
/Acaron /Icaron /Ocaron /Ucaron /Udieresismacron /Udieresisacute
/Udieresisgrave /Udieresiscaron to support pinyin
referenced in issue 84
U+017F (LONG S)
referenced in issue 158
U+00A4 (CURRENCY SIGN) U+2215 (DIVISION SLASH)
referenced in issue 280
Fixed
FamilyClass value in OS/2 table
referenced in issue 330
PostScript BlueScale values
Changed
more distinct shape for /a and related characters in italic styles
more distinct shape for /r and related characters
more distinct shape for /asciitilde
referenced in issue 322
replaced commaaccent with cedilla in glyphs /Tcedilla /tcedilla
referenced in issue 251
disabled bit 38 (Mathematical Operators) from OS/2 UnicodeRanges
[IBM PLEX SANS JP V1.0] - 2021-06-18
Added
Support for Japanese (9505 glyphs per font)
[IBM PLEX SANS DEVANAGARI V1.2] - 2021-05-31
Changed
abbreviated font names used for style mapping (name ID1 + ID2) to
improve interoperability
[IBM PLEX SANS THAI V1.2] - 2021-05-31
Changed
abbreviated font names used for style mapping (name ID1 + ID2) to
improve interoperability
[IBM PLEX SANS THAI LOOPED V1.2] - 2021-05-31
Changed
abbreviated font names used for style mapping (name ID1 + ID2) to
improve interoperability
[IBM PLEX MONO V2.2] - 2021-05-28
Changed
abbreviated font names used for style mapping (name ID1 + ID2) to
improve interoperability
[IBM PLEX SANS V3.3] - 2021-05-28
Changed
abbreviated font names used for style mapping (name ID1 + ID2) to
improve interoperability
[IBM PLEX SERIF V2.7] - 2021-05-28
Changed
abbreviated font names used for style mapping (name ID1 + ID2) to
improve interoperability
[IBM PLEX SANS ARABIC V1.2] - 2021-02-14
Added
Glyphs /alefMaksura_zain-ar.fina.rlig
/alefMaksura_zain-ar.fina.rlig.short /alefMaksura_jeh-ar.fina.rlig
/alefMaksura_jeh-ar.fina.rlig.short /alefMaksura_noon-ar.fina.rlig
Fixed
Mark placement on alternative form of /kaf
referenced in issue 284
Multiple spacing issues including /lam_meem ligatures
PostScript BlueScale values
FamilyClass value in OS/2 table
Changed
included logographs are not used by default anymore but can be
activated through OpenType layout feature "dlig"
referenced in issue 336
abbreviated font names used for style mapping (name ID1 + ID2) to
improve interoperability
Removed
Glyphs /tteh_reh-ar.fina.short /tteh_zain-ar.fina.short
/tteh_rreh-ar.fina.short /tteh_jeh-ar.fina.short
[IBM PLEX SANS HEBREW V1.3] - 2020-12-04
Fixed
placement of dot in glyph /lamed_holam-hb
placement of dot in glyph /lamed_dagesh_holam-hb
metrics of /resh-hb
referenced in issue 343
metrics of /tav-hb
PostScript BlueScale values
FamilyClass value in OS/2 table
Changed
abbreviated font names used for style mapping (name ID1 + ID2) to improve interoperability
4.28.4 (released 2021-12-15)
----------------------------
- [merge] Merge GDEF marksets in Lookups properly
- [feaLib] Have ``fontTools feaLib`` script exit with error code when build fails
- [svgPathPen] Added ``ntos`` option to customize number formatting (e.g. rounding)
- [subset] Speed up subsetting of large CFF fonts
- [otTables] Speculatively promote lookups to extension to speed up compilation. If the
offset to lookup N is too big to fit in a ushort, the offset to lookup N+1 is going to
be too big as well, so we promote to extension all lookups from lookup N onwards
4.28.3 (released 2021-12-03)
----------------------------
- [subset] Fixed bug while subsetting ``COLR`` table, whereby incomplete layer records
pointing to missing glyphs were being retained leading to ``struct.error`` upon
compiling. Make it so that ``glyf`` glyph closure, which follows the ``COLR`` glyph
closure, does not influence the ``COLR`` table subsetting
- [docs] Fully document the ``cmap`` and ``glyf`` tables
- [colorLib.unbuilder] Fixed CLI by deleting no longer existing parameter (180bb1867).
4.28.2 (released 2021-11-22)
----------------------------
- [otlLib] Remove duplicates when building coverage
- [docs] Add interrogate configuration
- [docs] Remove comment about missing “start” optional argument to ``calcChecksum``
- [cu2qu/cli] Adapt to the latest ufoLib2.
- [subset] Support subsetting SVG table and remove it from the list of drop by default tables
- [subset] add ``--pretty-svg`` option to pretty print SVG table contents
- [merge] Support merging ``CFF`` tables (CID-keyed ``CFF`` is still not supported)
- [merge] Support ``--output-file``
- [docs] Split table docs into individual pages
- [feaLib] Forbid empty classes
- [docs] Improve documentation for ``fontTools.ttLib.ttFont``
3.1.2
hb-shape / hb-view: revert treating text on the commandline as single paragraph (was introduced in 3.0.0); add new --single-par to do that.
Subsetter bug fixes.
4.28.1 (released 2021-11-08)
----------------------------
- [subset] Fixed AttributeError while traversing a color glyph's Paint graph when there is no
LayerList, which is optional
4.28.0 (released 2021-11-05)
----------------------------
- Dropped support for EOL Python 3.6, require Python 3.7
- [ufoLib/glifLib] Make filename-clash checks faster by using a set instead of a list
- [subset] Don't crash if optional ClipList and LayerList are ``None`` (empty)
- [OT-SVG] Removed support for old deprecated version 1 and embedded color palettes,
which were never officially part of the OpenType SVG spec. Upon compile, reuse offsets
to SVG documents that are identical
- [feaLib] Added support for Variable Feature File syntax. This is experimental and subject
to change until it is finalized in the Adobe FEA spec
- [unicodedata] Update Scripts/ScriptExtensions/Blocks to UnicodeData 14.0
4.27.1 (released 2021-09-23)
----------------------------
- [otlLib] Fixed error when chained contextual lookup builder overflows
- [bezierTools] Fixed two floating-point bugs: one when computing `t` for a point
lying on an almost horizontal/vertical line; another when computing the intersection
point between a curve and a line
4.27.0 (released 2021-09-14)
----------------------------
- [ttLib/otTables] Cleaned up virtual GID handling: allow virtual GIDs in ``Coverage``
and ``ClassDef`` readers; removed unused ``allowVID`` argument from ``TTFont``
constructor, and ``requireReal`` argument in ``TTFont.getGlyphID`` method.
Make ``TTFont.setGlyphOrder`` clear reverse glyphOrder map, and assume ``glyphOrder``
internal attribute is never modified outside setGlyphOrder; added ``TTFont.getGlyphNameMany``
and ``getGlyphIDMany``
- [py23] Dropped internal use of ``fontTools.py23`` module to fix deprecation warnings
in client code that imports from fontTools
- [subset] Fix subsetting COLRv1 clip boxes when font is loaded lazily
4.26.2 (released 2021-08-09)
----------------------------
- [otTables] Added missing ``CompositeMode.PLUS`` operator
4.26.1 (released 2021-08-03)
----------------------------
- [transform] Added ``transformVector`` and ``transformVectors`` methods to the
``Transform`` class. Similar to ``transformPoint`` but ignore the translation
part
4.26.0 (released 2021-08-03)
----------------------------
- [xmlWriter] Default to ``"\n"`` for ``newlinestr`` instead of platform-specific
``os.linesep``
- [otData] Define COLRv1 ClipList and ClipBox
- [removeOverlaps/instancer] Added --ignore-overlap-errors option to work around
Skia PathOps.Simplify bug
- NOTE: This will be the last version to support Python 3.6. FontTools will require
Python 3.7 or above from the next release
This font was originally released during the 1930s as part of the
Deutschmeister font family at the type foundry Ludwig Wagner. FDI
Neumeister is a carefully crafted revival released for free under
the Open Font License. This was made possible by the generous
support of people around the world, who pledged for this project
on Kickstarter.
FDI Neumeister has around 400 glyphs covering Western, Eastern and
Central European Latin. Many characters have alternative glyphs,
so both traditional German blackletter typesetting and international
use with improved legibility are possible.
This font was originally released as Deutschmeister in 1927 at the
type foundry Ludwig Wagner. FDI Altmeister is a carefully crafted
revival released for free under the Open Font License. This was
made possible by the generous support of people around the world,
who pledged for this project on Kickstarter.
FDI Altmeister has around 400 glyphs covering Western, Eastern and
Central European Latin. Many characters have alternative glyphs,
so both traditional German blackletter typesetting and international
use with improved legibility are possible.
3.1.0
Better offset-overflow handling in the subsetter library. (Garret Rieger)
Improved Unicode 14 properties in the USE shaper, and various other USE shaper fixes. (David Corbett)
MATH and COLR v1 tables subsetting support, and various other subsetter fixes. (Qunxin Liu)
Support for Pwo Karen / Ason Chin medial la. (Simon Cozens)
Apply GPOS positioning when substituting with morx table, if kerx is missing. (Behdad Esfahbod)
Apply calt and clig features across syllable boundaries in Indic shaper. (Behdad Esfahbod)
Meson option for enabling Graphite 2 has been renamed to graphite2.
Build and documentation fixes.
New API:
+hb_buffer_set_not_found_glyph()
+hb_buffer_get_not_found_glyph()
The original TextFonts distfile is no longer available.
The home page has moved (as linked from the previous version) and
reorganized, and now it lists several more/different related fonts. It
would be silly not to package them too, since they fit within the
original package description. The font files are now OTF instead of
TTF. The differences are so much that a new package with a new
appropriate name seemed better than keeping the old package name.
No changelog was found.
Junicode version 1.000 fully implements the Medieval Unicode Font
Initiative version 4.0. It includes numerous bug fixes, most
notably one that affected the stacking of diacritical marks and
another that caused glyphs to "explode" in certain printers.
The Greek face has been moved into its own font, Foulis Greek.
Junicode 1.001 adds some anchors at a users' request. Version 1.002
adds an anchor and a couple of glyphs requested by users and fixes
several bugs.
These have code ligatures & several stylistic sets pre-applied so they
will work by default in most code environments & apps. These are also
named & configured in a way that enables their use in code themes that
utilize italic & bold styles. If you wish to configure specific features
in Rec Mono fonts, see
Recursive Code Config https://github.com/arrowtype/recursive-code-config
- Regular, Italic, Bold, & Bold Italic static fonts
- Frozen-in Code Ligatures
- An abbreviated family name to enable italic themes on macOS
- Reduced-slant italics for easier readability in code (normal Recursive
Italics have slnt=-15, which is pretty intense)
- Frozen-in OpenType features to enhance legibility for code (e.g.
making 1 and l instantly recognizable)
- `ss03` # simplified f
- `ss05` # simplified l
- `ss08` # serifless L and Z
- `ss09` # simplified 6 and 9
- `ss12` # simplified @
1.079: Several small fixes to diacritics and kerning
Several small fixes to diacritics and spacing:
Fixes#472 - Accidental kerning pair in Sans: standard (tabular) 1 and 7
Fixes#465 - Overly-tight kerning: right quote + e accents
Fixes#450 - Combining vertical line below had incorrect Unicode value.
1.081: Make default numbers fully tabular, add fuller pnum feature, and
other tiny fixes & upgrades
The main change here is that the default characters for all instances
(Sans included) are now fully tabular, for better use in data tables,
numerical animations, invoices, and more. They were always intended to
be tabular by default, but they were unintentionally given kerning that
made them not-quite-tabular. The kerning that was present was useful, so
it was moved into a fuller proportional numbers (pnum) feature, and can
still be activated for better text flow.
Overall changes:
Adds a minus.superior glyph, for negative exponents
Aixes the width of the prebuilt 1/2 glyph in Sans styles (Closes#479)
Adds a ratio glyph (Closes#480)
Adds mu as a greek character. It was already there under the mu.math
Unicode value, but this will make it easier to find and use (Closes
#481)
Fixes not-quite-tabular figures (Closes#482)
1.082: Glyph width corrections: Sans minus.superior, Mono fl and fi Latest
A minus.superior sign for exponents/superiors was added in the last
release. However, it was too wide in the Sans styles. This release
corrects that.
It also adds the ability to substitute the minus.superior for the hyphen
rather than only the minus, for easier access.
It also closes#483, by making the fi and fl glyphs only 1 unit wide in
the mono. Note that these glyphs aren't ligatures that are easily
accessible or intended for use in code -- they are only there for
describing the specific Unicode characters 0xFB01 - fi and 0xFB02 - fl.
Overview of changes leading to 3.0.0
Friday, September 17, 2021
====================================
- Unicode 14.0 support (David Corbett).
- The hb-subset API and the harfbuzz-subset library's ABI are now declared
stable. The harfbuzz-subset library would not have been possible without the
work of Garret Rieger and Qunxin Liu from Google Fonts, and the earlier work
of Michiharu Ariza from Adobe.
- The hb-style API is now stable and no longer experimental.
- New API:
+hb_style_tag_t
+hb_style_get_value()
+hb_subset_input_t
+hb_subset_flags_t
+hb_subset_sets_t
+hb_subset_input_create_or_fail()
+hb_subset_input_reference()
+hb_subset_input_destroy()
+hb_subset_input_set_user_data()
+hb_subset_input_get_user_data()
+hb_subset_input_unicode_set()
+hb_subset_input_glyph_set()
+hb_subset_input_set()
+hb_subset_input_get_flags()
+hb_subset_input_set_flags()
+hb_subset_or_fail()
- Removed old unstable harfbuzz-subset API:
-hb_subset_input_nameid_set()
-hb_subset_input_namelangid_set()
-hb_subset_input_layout_features_set()
-hb_subset_input_no_subset_tables_set()
-hb_subset_input_drop_tables_set()
-hb_subset_input_set_drop_hints()
-hb_subset_input_get_drop_hints()
-hb_subset_input_set_desubroutinize()
-hb_subset_input_get_desubroutinize()
-hb_subset_input_set_retain_gids()
-hb_subset_input_get_retain_gids()
-hb_subset_input_set_name_legacy()
-hb_subset_input_get_name_legacy()
-hb_subset_input_set_overlaps_flag()
-hb_subset_input_get_overlaps_flag()
-hb_subset_input_set_notdef_outline()
-hb_subset_input_get_notdef_outline()
-hb_subset_input_set_no_prune_unicode_ranges()
-hb_subset_input_get_no_prune_unicode_ranges()
-hb_subset()
Overview of changes leading to 2.9.1
Tuesday, September 7, 2021
====================================
- Final subset API is in place and if no issues are discovered, it will be the
stable subset API of HarfBuzz 3.0.0. Old API is kept to ease transition, but
will be removed in 3.0.0.
- Various fuzzer-found bug fixes.
- hb_buffer_append() now handles the pre- and post-context which previously
were left unchanged in the destination buffer.
- hb-view / hb-shape now accept following new arguments:
o --unicodes-before/after: takes a list of hex numbers that represent Unicode
codepoints.
- Undeprecated API:
hb_set_invert()
Overview of changes leading to 2.9.0
Wednesday, August 18, 2021
History Repeats Itself (Afghanistan)
====================================
- Subsetter API is being stabilized, with the first stable API to happen in
3.0.0 release (https://github.com/harfbuzz/harfbuzz/issues/3078).
- Support multiple variation axes with same tag, aka HOI.
- The “coretext” testing shaper now passes font variations to CoreText.
- hb-shape/hb-view does not break line at new lines unless text is read from
file.
- hb-view and hb-subset has a --batch now, similar to hb-shape.
- The --batch mode now uses ; as argument separator instead of : used previously.
- The --batch in hb-shape does not expect 0th argument anymore. That is, the
lines read are interpreted as argv[1:], instead of argv[0:].
- The --batch option has been undocumented. We are ready to document it; send
feedback if you find it useful.
- hb-subset got arguments revamps. Added much-requested --gids-file, --glyphs,
--glyphs-file, --unicodes-file, supporting ranges in --unicodes.
- Various bug fixes.
4.25.2 (released 2021-07-26)
----------------------------
- [COLRv1] Various changes to sync with the latest CORLv1 draft spec. In particular:
define COLR.VarIndexMap, remove/inline ColorIndex struct, add VarIndexBase to ``PaintVar*`` tables
add reduced-precicion specialized transform Paints;
define Angle as fraction of half circle encoded as F2Dot14;
use FWORD (int16) for all Paint center coordinates;
change PaintTransform to have an offset to Affine2x3;
- [ttLib] when importing XML, only set sfntVersion if the font has no reader and is empty
4.25.1 (released 2021-07-16)
----------------------------
- [ttGlyphPen] Fixed bug in ``TTGlyphPointPen``, whereby open contours (i.e. starting
with segmentType "move") would throw ``NotImplementedError``. They are now treated
as if they are closed, like with the ``TTGlyphPen``
4.25.0 (released 2021-07-05)
----------------------------
- [tfmLib] Added new library for parsing TeX Font Metric (TFM) files
- [TupleVariation] Make shared tuples order deterministic on python < 3.7 where
Counter (subclass of dict) doesn't remember insertion order
- [otData] Renamed COLRv1 structs to remove 'v1' suffix and match the updated draft
spec: 'LayerV1List' -> 'LayerList', 'BaseGlyphV1List' -> 'BaseGlyphList',
'BaseGlyphV1Record' -> 'BaseGlyphPaintRecord'
Added 8 new ``PaintScale*`` tables: with/without centers, uniform vs non-uniform.
Added ``*AroundCenter`` variants to ``PaintRotate`` and ``PaintSkew``: the default
versions no longer have centerX/Y, but default to origin.
``PaintRotate``, ``PaintSkew`` and ``PaintComposite`` formats were re-numbered.
NOTE: these are breaking changes; clients using the experimental COLRv1 API will
have to be updated
- [pointPens] Allow ``GuessSmoothPointPen`` to accept a tolerance. Fixed call to
``math.atan2`` with x/y parameters inverted. Sync the code with fontPens
- [post] Fixed parsing ``post`` table format 2.0 when it contains extra garbage
at the end of the stringData array
- [subset] drop empty features unless 'size' with FeatureParams table
- [otlLib] Added ``otlLib.optimize`` module; added GPOS compaction algorithm.
The compaction can be run on existing fonts with ``fonttools otlLib.optimize``
or using the snippet ``compact_gpos.py``. There's experimental support for
compacting fonts at compilation time using an environment variable, but that
might be removed later
v5.2.1:
IBM Plex Sans JP:
Added:
- CSS stylesheets: css/ibm-plex-sans-jp.css and css/ibm-plex-sans-jp.min.css
- Sass entrypoint: scss/sans-jp/index.scss
The upcoming major release will make chosing specific font-weights and
languages easier for developers. Until then, enjoy IBM Plex Sans JP!
v5.1.3:
IBM Plex Sans KR:
Fixed:
- WWS naming scheme to make sure all weights are grouped together on certain
versions of Windows referenced in #326
v5.1.0:
IBM Plex Sans KR Styles:
- CSS stylesheets: css/ibm-plex-sans-kr.css and css/ibm-plex-sans-kr.min.css
- Sass entrypoint: scss/sans-kr/index.scss
Rendering CJK fonts performantly on the web requires many more subsets
than western languages. These additional subsets result in many more
font-family declarations. Adding these declarations to the currently
generated stylesheet would cause it to double in size.
For this reason, we've split IBM Plex Sans KR off into it's own style
sheet. In the future, we'll be exporting similar stylesheets per-language
so developers can chose inidividual languages to suit their users.
v5.0.0:
New font file updates for:
- IBM Plex Sans
- IBM Plex Serif
- IBM Plex Sans Condensed
- IBM Plex Mono
This includes some changes to the vertical metrics of the font files as
well as a few changes to the available glyphs.
Breaking:
- Changed IBM Plex Sans Condensed to IBM Plex Sans Cond, this won't impact
web applications, but could for other third party applications
New:
- IBM Plex Sans KR (Korean)
v5.2.1:
IBM Plex Sans JP:
Added:
- CSS stylesheets: css/ibm-plex-sans-jp.css and css/ibm-plex-sans-jp.min.css
- Sass entrypoint: scss/sans-jp/index.scss
The upcoming major release will make chosing specific font-weights and
languages easier for developers. Until then, enjoy IBM Plex Sans JP!
v5.1.3:
IBM Plex Sans KR:
Fixed:
- WWS naming scheme to make sure all weights are grouped together on certain
versions of Windows referenced in #326
v5.1.0:
IBM Plex Sans KR Styles:
- CSS stylesheets: css/ibm-plex-sans-kr.css and css/ibm-plex-sans-kr.min.css
- Sass entrypoint: scss/sans-kr/index.scss
Rendering CJK fonts performantly on the web requires many more subsets
than western languages. These additional subsets result in many more
font-family declarations. Adding these declarations to the currently
generated stylesheet would cause it to double in size.
For this reason, we've split IBM Plex Sans KR off into it's own style
sheet. In the future, we'll be exporting similar stylesheets per-language
so developers can chose inidividual languages to suit their users.
v5.0.0:
New font file updates for:
- IBM Plex Sans
- IBM Plex Serif
- IBM Plex Sans Condensed
- IBM Plex Mono
This includes some changes to the vertical metrics of the font files as
well as a few changes to the available glyphs.
Breaking:
- Changed IBM Plex Sans Condensed to IBM Plex Sans Cond, this won't impact
web applications, but could for other third party applications
New:
- IBM Plex Sans KR (Korean)
mkfontdir, which means X11.
Since there are legitimate uses for fonts on sans-X machines
(rrdtool), control the dependency with a (default) x11 option.