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.
Features:
- Arabic (and Urdu) support added (design by Mohamad Dakak) (#84)
- See the Arabic features PDF for the exciting new Arabic ligature
functionality used in Cascadia Code that gives the font greatly improved
readability and feel more more akin to a text typeface.
- Don't want all that? Don't worry, Cascadia Mono will house a normal
version of Arabic.
- Hebrew support added (design by Liron Lavi Turkenich) (#465)
- Due to popular demand, we've introduced a more "toned-down" version of
Cascadia Italic, which does away with a number of the cursive letter forms.
(#468)
- Entry and exit strokes across the italic lowercase have been rounded
to better achieve the fun / playful design language that we intended
for the italic. Other skeletons have been modified as necessary.
Cyrillic has also been updated for better consistency with the new
design.
- You can now activate the original cursive versions of /f /l /s and
/r with typographic feature salt or ss01.
Changes:
- We have adjusted the slant on all of the italic letters to make sure it's
consistent (#470)
- Italic Only: #507 - bar and broken bar will now stay upright for better
clarity
- Fixing a bug in the ccmp feature file and added ccmp to the feature
set in the build script.
- Deleting the (unused) liga feature file
- Vika has reviewed and improved some forms in Cascadia Code upright.
- Greek lowercase has been updated per feedback from Gerry Leonidas to
be more cohesive (No longer a mix between a "Monday" and "Friday" font.
All Friday, all the time!)
- #422 - Bitcoin glyph added
- #427 - FFFD glyph added
- #418 - top bar corrected
- #433 - hinting corrected to ensure alignment
- #435 - adds consistent ligature form for =>> <<= =<< and
>>= (the infinite arrows still work with addition of more equals)
- #443 - ligature now ignores (*) scenario
- #454 - adds ignore to prevent equal_equal ligature from showing up
- #467 - Not specifically sure of the problem here, but suspect that it will
be fixed with this - update.
- #477, #478, #479, #480 - interpolation issues fixes in a lot of ligatures
- #481 - JetBrains enumerates fonts weird. We've modified the internal naming
so that it will register Cascadia Code correctly. Also aligned postscript
naming with Google's recommendation, so will show up as "Regular" instead of
"Roman".
- General improvement of weight balancing
- Weight of lowercase rounds reduced in the Bold weight in Cascadia Code.
- Weight of Capital stems increased in Extralight weight in Cascadia Code.
- Tweaked weight of ogonek in ExtraLight.
- Added a localized form for ij and IJ should a user chose to use those
codepoints and want an accented version.
- Split fraction bar at heavier weights to improve clarity of fractions.
- Adjusted standard box drawing characters to align with GDI metrics, and added
a complete set of DWrite-specific ones that align with sTypo (using rclt).
- Ironed out some tiny inconsistencies in the <$ $> <$> ligatures which
we suspect no one will ever notice.
- Fixed centering of braces and some hyphens.
- Fixed inconsistency between semicolon/colon and period weight in bold. Also
fixed slight differences in hyphen-like glyphs in bold. You're as surprised
as we are.
- Increased weight of underscore in bold.
- Changed design of commaaccent, commaaccentmod commaturnedabove and commaabove
to be more distinguishable (following design of quotes).
- Fixed descents of various greek lowercase glyphs that were inconsistent.
- Felt ligated, might edit later.
- Corrected some additional interpolation bugs
0.301:
- Oopsie-release: The last one was missing PostScript names for the new glyphs.
Only relevant for when extracting text from PDFs where the generator omitted
the text stream.
- Rounded coordinates of macronbelowcomb.narrow and macroncomb.narrow.case.
Leftovers from when they were scaled components.
- Internal: Removed stale layers and data, added normalization script to prune
unnecessary data. import-glyphs.py also imports PostScript names now.
0.300:
- Import Greek glyph set designed by Florian Fecher for GSoC 2018. No kerning,
might need a slight respacing. Imported anyway because something is better
than nothing.
- Correct positioning of dotaccentcomb.case.
- Correct mark positioning in caroncomb.case.
- Correct appearance of ustraightstroke in variable font, the overlap became
visible at smaller, autohinted sizes.
- Correct bar positioning in Ustraightstroke and ustraightstroke
- Correct anchor positioning in Y
- Internal: Consolidate various anchors in composites into the base outline
glyphs, to reduce the chance they get out sync.
- New appstream translations:
- Norwegian Bokmal by Kjartan Maraas
- Bengali (India) by Akarshan Biswas
- Portuguese by Joao Nuno Matos
- Japanese by Shinichirou Yamada and sicklylife
Overview of changes leading to 2.8.1
Tuesday, May 4, 2021
====================================
- Subsetter now fully supports GSUB/GPOS/GDEF tables (including variations); as
such, layout tables are retained by subsetter by default. (Garret Rieger, Qunxin Liu)
- Build scripts no longer check for FontConfig as HarfBuzz does not use it.
- hb-view supports iTerm2 and kitty inline image protocols (Khaled Hosny),
it can also use Chafa for terminal graphics if available (Hans Petter Jansson).
Overview of changes leading to 2.8.0
Tuesday, March 16, 2021
====================================
- Shape joining scripts other than Arabic/Syriac using the Universal Shaping Engine.
Previously these were shaped using the generalized Arabic shaper. (David Corbett)
- Fix regression in shaping of U+0B55 ORIYA SIGN OVERLINE. (David Corbett)
- Update language tags. (David Corbett)
- Variations: reduce error: do not round each interpolated delta. (Just van Rossum)
- Documentation improvements. (Khaled Hosny, Nathan Willis)
- Subsetter improvements: subsets most, if not all, lookup types now. (Garret Rieger,
Qunxin Liu)
- Fuzzer-found fixes and other improvements when memory failures happen. (Behdad)
- Removed most atomic implementations now that we have C++11 atomic impl. (Behdad)
- General codebase upkeep; using more C++11 features: constexpr constructors, etc.
(Behdad)
Changes since v3.18:
- Fixes a variable-font interpolation bug with Roman numeral eight. #382
- Fixes spacing of the latin epsilon glyph thanks to @hcsch. #377
- Adds new glyph U+25AA "blackSmallSquare" including calt mappings for
case sensitivity. #373
- Removes U+20E3 "uni20E3" COMBINING ENCLOSING KEYCAP which triggers a
bug in chromium, causing certain emoji to not render properly. #371
- Improvements to Roman numerals
Changes since v3.17:
- Adjusts vertical metrics metadata to that of v3.15 and older. This
should fix any vertical alignment issues that might have occurred with
v3.17. #361
- Fixes several issues with italics introduced by Glyphs 3 upgrade:
- Fixes an issue with backslash in Italic masters. #362
- Fixes issues with afii10026 and uni0376 in italic masters
- Fixes issue with italic q U+0071 by inlining the shape instead of
using components. #360
- Fixes issue with U+035E COMBINING DOUBLE MACRON and U+20F0 COMBINING
ASTERISK ABOVE in Thin Italic. #363
- Fixes positioning issue with U+0358 COMBINING DOT ABOVE RIGHT
- Improvements to U+20DC COMBINING FOUR DOTS ABOVE and U+20DB COMBINING
THREE DOTS ABOVE
- Improvements to U+204E LOW ASTERISK
- Improved positioning via mark anchors of combining glyphs U+20F0,
U+035E and U+035F. #363
- Changes glyph shape of Latin upper-case iota. #359
- Improved glyph composition via ccmp for enclosed glyphs like
U+0041,U+20DD. #335
Changes since v3.15:
- Fixes issues with appearance in Microsoft Word. #352 (note that #156
is still unresolved although we have made some progress in v3.16 toward
developing workarounds for certain printers.)
- Fixes double grave interpolation issue. #317
- Fixes design issue with glyphs acutedblnosp, dblgravecmb, uni02F6 and
uni02F5. #339
- Fixes missing or incorrect mark anchors in several turn* glyphs. #336
- Adds Baht currency glyph U+0E3F. #323
- Improvement to Latin iota (lower and upper case) glyphs. #340
- Improvement to some numerical fraction glyphs
- Adds a dummy DSIG table to address issues with Microsoft Office 2003
and older
- Improvements when using Inter with certain older Microsoft products
by decomposing any nested components which some of that software has
issues with
- Addresses a major regression in v3.16 where several italic glyphs got
messed up due to a Glyphs 3 version upgrade of the source file. This
only affected users of v3.16 which was only released for about 12 hours
before being replaced with this release v3.17. #360
Changes since v3.14:
- Fixes an issue with the variable font, where some software would not
list the various weights correctly. #308
- Fixes an issue with rendering on Windows with ClearType where some
glyphs using advanced OpenType features (component transformations)
would render incorrectly, with a slight vertical offset. #251
- Improvements to Elfdalian, improving the /yogonek and /eth glyphs #285
- Improvements to /eth U+00F0 glyph f7924a2#commitcomment-41610142
Changes since v3.13:
- Fixes position of ring at bottom of /Aringbelow U+1E00. #266
- Fixes interpolation issues with /omegatitlocyrillic /omega and
/pisymbolgreek. #272
- Fixes an issue with /dotmacroncomb.cn used by glyphs like
/Adotmacron. #298
- Adds /bitcoin glyph U+20BF. #284
- Adds /insertionsymbol U+2380. #290
- Adds specialized glyphs /Aringogonek, /aringogonek, /Yogonek and
/yogonek to fully support Elfdalian script. #285
- Adds U+EE01, a vertically-centered colon used by Android on the lock
screen #212
- Improves kerning of /quotedblright,/quoteright and /period,/comma. #299
- Improves design of "Theta" U+03F4, U+0398 and "Fita" U+0472,
U+0473. #263, #264
- Improves design of /yhook and use /ucyrillic in /Ukcyrillic
/ukcyrillic. #273
- Improves design of /dzaltone and /dzcurl. #268
- Improves design of /percent, /perthousand and /pertenthousand
glyphs. #237
- Improves variable-font metadata (STAT table). #265
- Improves (tunes) calt case substitutions, e.g. "x -X". #251
- Changes codepoint mapping of /q.sups from U+146B to private-area
U+E163. #275
Changes since v3.12:
- Improvements to Greek and Cyrillic glyphs #240
- New stylistic set ss04 which is almost identical to ss02 with the
exception of no slashed zero #252
- Fixes interpolation issues with several diacritics in the light
weights #257
- Removes codepoint mappings for some math-related enclosed glyphs that
would be too large when using the circle-enclosed glyphs #250
- Various improvements and adjustments to glyph shapes, spacing and
kerning
- Improves OpenType feature name metadata
Changes since v3.11:
- This release includes major improvements Thin, Light and ExtraLight
styles (including italic counterparts) incorporating months of work
by @KatjaSchimmel
Spleen 1.9.1 (2021-06-13)
- Tweak wsfont export program to account for the new block in the 6x12 version
- Mention that Haiku now uses Spleen 12x24 in the trivia section
- Fix paths to wsfont generators
- Add an 'otb' target to generate OTB files for all sizes using fonttosfnt
- Also remove generated .otb files in the 'clean' target
- Generate .dfont files again in release tarballs
- Generate OTB versions in release tarballs
- Also remove generated .dfont files in the 'clean' target
1. Cleaned up (hopefully all) references to licensing to not withstand our
claim that the package is under Knuth license. 2. In many places encoding
of texts changed to UTF-8, to make them easier to read. 3. Functionality
should be same.
* Allow using variable fonts without explicitly specifying any
axis values
* The fontloader has been synced with the context code from
2021-05-20
* Multiple small fixes, mostly concerning discretionaries in harf
mode.
General:
* Donald Knuth’s changes for his 2021 tuneup of TeX and Metafont are
incorporated (https://tug.org/TUGboat/tb42-1/tb130knuth-tuneup21.pdf). They
are also available on CTAN as the knuth-dist and knuth-local packages. As
expected, the fixes are for obscure cases and do not affect any behavior in
practice.
* Except in original TeX: if \tracinglostchars is set to 3 or more, missing
characters will result in an error, not just a message in the log file, and
the missing character code will be shown in hex.
* Except in original TeX: a new integer parameter \tracingstacklevels, if
positive, and \tracingmacros is also positive, causes a prefix indicating the
macro expansion depth to be output on each relevant log line (e.g., ~.. at
depth 2). Also, macro logging is truncated at a depth ≥ the parameter value.
Aleph: The Aleph-based LaTeX format, named lamed, has been removed. The aleph
binary itself is still included and supported.
LuaTeX:
* Lua 5.3.6.
* Callback for nesting level used in \tracingmacros, as generalized variant
of the new \tracingstacklevels.
* Mark math glyphs as protected to prevent processing as text.
* Removed width/ic compensation for traditional math code path.
MetaPost:
* SOURCE_DATE_EPOCH environment variable support for reproducible output.
* Avoid wrong final % in mpto.
* Document -T option, other fixes to manual.
* Value of epsilon changed in binary and decimal modes, so mp_solve_rising_cubic
works as expected.
pdfTeX:
* New primitives \pdfrunninglinkoff and \pdfrunninglinkon; e.g., for
disabling generation of links in headers and footers.
* Warn instead of aborting when “\pdfendlink ended up in different nesting
level than \pdfstartlink”.
* Dump \pdfglyphtounicode assignments in fmt file.
* Source: poppler support removed, as it was too hard to keep in sync with
upstream. In native TL, pdfTeX has always used libs/xpdf, which is cut-down
and adapted code from xpdf.
XeTeX: Fixes for math kerning.
Dvipdfmx:
* Ghostscript is now invoked safely by default; to override (assuming all
input files are trusted), use -i dvipdfmx-unsafe.cfg. To use PSTricks with
XeTeX, this is required, as in:
xetex -output-driver="xdvipdfmx -i dvipdfmx-unsafe.cfg -q -E" ...
* If an image file is not found, exit with bad status.
* Extended special syntax for color support.
* Specials for manipulating ExtGState.
* Compatibility specials pdfcolorstack and pdffontattr.
* Experimental support for dviluatex’s extended fnt_def.
* Support new feature of virtual font to fallback Japanese font definition.
Dvips:
* Default PostScript document title is now the basename of the input file,
and can be overridden with the new option -title.
* If an .eps or other image file is not found, exit with bad status.
* Support new feature of virtual font to fallback Japanese font definition.
This release fixes a number of small inconsistencies in the STIX Two Math.
The most significant change is that the widths of many of the mathematical
operators and related characters have been revised to be more consistent
with one another.
New features:
- Compact virtual fonts.
- Add support for the ruby family.
This version requires a new version of DVI driver that supports
new feature of virtual font to fallback Japanese font definition
available in TeX Live 2021.
1. Cleaned up (hopefully all) references to licensing to not withstand our
claim that the package is under Knuth license.
2. In many places encoding of texts changed to UTF-8, to make them easier
to read.
3. Functionality should be same.
4.24.4 (released 2021-05-25)
----------------------------
- [subset/instancer] Fixed ``AttributeError`` when instantiating a VF that
contains GPOS ValueRecords with ``Device`` tables but without the respective
non-Device values (e.g. ``XAdvDevice`` without ``XAdvance``). When not
explicitly set, the latter are assumed to be 0.
4.24.3 (released 2021-05-20)
----------------------------
- [otTables] Fixed ``AttributeError`` in methods that split LigatureSubst,
MultipleSubst and AlternateSubst subtables when an offset overflow occurs.
The ``Format`` attribute was removed in v4.22.0.
4.24.2 (released 2021-05-20)
----------------------------
- [ttGlyphPen] Fixed typing annotation of TTGlyphPen glyphSet parameter.
- Fixed two instances of DeprecationWarning: invalid escape sequence.
4.24.1 (released 2021-05-20)
----------------------------
- [subset] Fixed AttributeError when SinglePos subtable has None Value (ValueFormat 0)
4.24.0 (released 2021-05-17)
----------------------------
- [pens] Add ``ttGlyphPen.TTGlyphPointPen`` similar to ``TTGlyphPen``.
4.23.1 (released 2021-05-14)
----------------------------
- [subset] Fix ``KeyError`` after subsetting ``COLR`` table that initially contains
both v0 and v1 color glyphs when the subset only requested v1 glyphs; we were
not pruning the v0 portion of the table.
- [colorLib] Set ``LayerV1List`` attribute to ``None`` when empty, it's optional
in CORLv1.
4.23.0 (released 2021-05-13)
----------------------------
- [designspaceLib] Allow to use ``\\UNC`` absolute paths on Windows.
- [varLib.merger] Fixed bug where ``VarLibMergeError`` was raised with incorrect
parameters.
- [feaLib] Allow substituting a glyph class with ``NULL`` to delete multiple glyphs
.
- [glyf] Fixed ``NameError`` exception in ``getPhantomPoints``.
- [removeOverlaps] Retry pathops.simplify after rounding path coordinates to integers
if it fails the first time using floats, to work around a rare and hard to debug
Skia bug.
- [varLib] Added support for building, reading, writing and optimizing 32-bit
``ItemVariationStore`` as used in COLRv1 table.
- [otBase/otConverters] Add array readers/writers for int types.
- [feaLib] Allow more than one lookahead glyph/class in contextual positioning with
"value at end".
- [COLRv1] Default varIdx should be 0xFFFFFFFF.
- [pens] Make RecordingPointPen actually pass on identifiers; replace asserts with
explicit ``PenError`` exception.
- [mutator] Round lsb for CF2 fonts as well.
4.22.1 (released 2021-04-26)
----------------------------
- [feaLib] Skip references to named lookups if the lookup block definition
is empty, similarly to makeotf. This also fixes an ``AttributeError`` while
generating ``aalt`` feature.
- [subset] Fixed bug with ``--no-hinting`` implementation for Device tables.
The previous code was alwyas dropping Device tables if no-hinting was
requested, but some Device tables (DeltaFormat=0x8000) are also used to encode
variation indices and need to be retained.
- [otBase] Fixed bug in getting the ValueRecordSize when decompiling ``MVAR``
table with ``lazy=True``.
- [varLib/glyf/gvar] Optimized and simplified ``GlyphCoordinates`` and
``TupleVariation`` classes, use ``bytearray`` where possible, refactored
phantom-points calculations. We measured about 30% speedup in total time
of loading master ttfs, building gvar, and saving.
- [subset] Fixed ``AssertionError`` while pruning unused CPAL palettes when
``0xFFFF`` is present.
4.22.0 (released 2021-04-01)
----------------------------
- [ttLib] Remove .Format from Coverage, ClassDef, SingleSubst, LigatureSubst,
AlternateSubst, MultipleSubst.
ATTENTION: This will change your TTX dumps!
- [misc.arrayTools] move Vector to its own submodule, and rewrite as a tuple
subclass.
- [docs] Added a terminology section for varLib.
- [varLib] Move rounding to VariationModel, to avoid error accumulation from
multiple deltas
- [varLib] Explain merge errors in more human-friendly terms
- [otlLib] Correct some documentation
- [varLib/otlLib] Allow merging into VariationFont without first saving GPOS
PairPos2
- [subset] Improve PairPosFormat2 subsetting
- [ttLib] TTFont.save: create file on disk as late as possible
- [cffLib] Add missing CFF2 dict operators LanguageGroup and ExpansionFactor
ATTENTION: This will change your TTX dumps!
v1.078 - fix backtick/grave issue
See Issue #456 for further details.
v1.077 - Upgrade 'mark' and 'mkmk' features for mark attachments
v1.075 - Add localization features, make combining marks case-sensitive
v1.074 - Fix inconsistent default line heights on macOS
v1.073 - weight-specific underlines, fixed ß