Overview of changes leading to 2.6.5
Friday, April 17, 2020
====================================
- Add experimental meson build system. Autotools is still the primary
and supported build system.
- AAT is now always preferred for horizontal scripts when both AAT and OT
layout tables exist at the same time.
- Subsetter improvements.
- New API:
+hb_ft_font_lock_face()
+hb_ft_font_unlock_face()
4.8.1 (released 2020-04-17)
---------------------------
- [feaLib] Fixed ``AttributeError: 'NoneType' has no attribute 'getAlternateGlyphs'``
when ``aalt`` feature references a chain contextual substitution lookup
4.8.0 (released 2020-04-16)
---------------------------
- [feaLib] If Parser is initialized without a ``glyphNames`` parameter, it cannot
distinguish between a glyph name containing an hyphen, or a range of glyph names;
instead of raising an error, it now interprets them as literal glyph names, while
also outputting a logging warning to alert user about the ambiguity
- [feaLib] When serializing AST to string, emit spaces around hyphens that denote
ranges. Also, fixed an issue with CID ranges when round-tripping AST->string->AST
- [Snippets/otf2ttf] In otf2ttf.py script update LSB in hmtx to match xMin
- [colorLib] Added experimental support for building ``COLR`` v1 tables as per
the `colr-gradients-spec <https://github.com/googlefonts/colr-gradients-spec/blob/master/colr-gradients-spec.md>`__
draft proposal. **NOTE**: both the API and the XML dump of ``COLR`` v1 are
susceptible to change while the proposal is being discussed and formalized
- Added Cadson Demak Sarabun font family (different from TH Sarabun New under DIP SIPA). Adding 16 typefaces for the font family.
- Refreshed NECTEC-TLWG fonts, expanding them to match what is available in the 2020-01-04 Debian distribution. Total of 58 typefaces in 13 font families.
- Expanded the Google Noto-Thai fonts to match what is available in the 2020-01-04 Debian distribution. Total of 74 typefaces.
Also, appease pkglint by sorting a few Makefile variables
4.7.0:
- [cu2qu] Added ``fontTools.cu2qu`` package, imported from the original
`cu2qu <https://github.com/googlefonts/cu2qu>`__ project. The ``cu2qu.pens`` module
was moved to ``fontTools.pens.cu2quPen``. The optional cu2qu extension module
can be compiled by installing `Cython <https://cython.org/>` before installing
fonttools from source (i.e. git repo or sdist tarball). The wheel package that
is published on PyPI (i.e. the one ``pip`` downloads, unless ``--no-binary``
option is used), will continue to be pure-Python for now
4.6.0:
- [varLib] Added support for building variable ``BASE`` table version 1.1
- [CPAL] Added ``fromRGBA`` method to ``Color`` class
4.5.0:
- [designspaceLib] Added ``add{Axis,Source,Instance,Rule}Descriptor`` methods to
``DesignSpaceDocument`` class, to initialize new descriptor objects using keyword
arguments, and at the same time append them to the current document
- [unicodedata] Update to Unicode 13.0
4.4.3:
- [varLib] Always build ``gvar`` table for TrueType-flavored Variable Fonts,
even if it contains no variation data. The table is required according to
the OpenType spec
4.4.2:
- [ttx] Annotate ``LookupFlag`` in XML dump with comment explaining what bits
are set and what they mean
- [feaLib] Added more descriptive message to ``IncludedFeaNotFound`` error
4.4.1:
- [woff2] Skip normalizing ``glyf`` and ``loca`` tables if these are missing from
a font (e.g. in NotoColorEmoji using ``CBDT/CBLC`` tables).
- [timeTools] Use non-localized date parsing in ``timestampFromString``, to fix
error when non-English ``LC_TIME`` locale is set
- [fontBuilder] Make sure the CFF table generated by fontBuilder can be used by varLib
without having to compile and decompile the table first. This was breaking in
converting the CFF table to CFF2 due to some unset attributes
4.4.0:
- [colorLib] Added ``fontTools.colorLib.builder`` module, initially with ``buildCOLR``
and ``buildCPAL`` public functions. More color font formats will follow
- [fontBuilder] Added ``setupCOLR`` and ``setupCPAL`` methods
- [ttGlyphPen] Quantize ``GlyphComponent.transform`` floats to ``F2Dot14`` to fix
round-trip issue when computing bounding boxes of transformed components
- [glyf] If a component uses reference points (``firstPt`` and ``secondPt``) for
alignment (instead of X and Y offsets), compute the effective translation offset
*after* having applied any transform
- [glyf] When all glyphs have zero contours, compile ``glyf`` table data as a single
null byte in order to pass validation by OTS and Windows
- [feaLib] Parsing feature code now ensures that referenced glyph names are part of
the known glyph set, unless a glyph set was not provided.
- [varLib] When filling in the default axis value for a missing location of a source or
instance, correctly map the value forward.
- [varLib] The avar table can now contain mapping output values that are greater than
OR EQUAL to the preceeding value, as the avar specification allows this.
- [varLib] The errors of the module are now ordered hierarchically below VarLibError.
4.3.0:
- [EBLC/CBLC] Fixed incorrect padding length calculation for Format 3 IndexSubTable
- [varLib] Fixed error when merging OTL tables and TTFonts were loaded as ``lazy=True``
- [varLib] Allow to use master fonts containing ``CFF2`` table when building VF
- [ttLib] Make ``recalcBBoxes`` option work also with ``CFF2`` table
- [feaLib] Don't reset ``lookupflag`` in lookups defined inside feature blocks.
They will now inherit the current ``lookupflag`` of the feature. This is what
Adobe ``makeotf`` also does in this case
- [feaLib] Fixed bug with mixed single/multiple substitutions. If a single substitution
involved a glyph class, we were incorrectly using only the first glyph in the class
4.2.5:
- [feaLib] Do not fail on duplicate multiple substitutions, only warn
- [subset] Optimize SinglePos subtables to Format 1 if all ValueRecords are the same
Changes to version 5.2.8 (2012-04-21)
- Libertine Regular:
did ticket 3522377 »Right curly bracket pieces«
- Biolinum Bold:
FIXED 3521717 "NT" combination in Biolinum is too wide open
-Libertine (all styles):
- Kerning is now devided by glyph sets (latin, cyrrilic, greek and small caps).
By this means the list of kernpairs becomes much shorter, thus TTFs tend to load much
faster and a problem with papyrus text editor is being fixed.
Changes to version 5.2.0 (2011-06-23)
- Small Caps updated for Libertine Semibold and Semibold italic. For SemiboldItalic: Added small caps to GSUB-Table.
- Libertine Bold: Added real bold minuscles to the cyrrilic pane
27-Sep-2018: version 0.133
-------------------------
New and updated symbols in Caladings.
Changes:
1. Improved Hamsa shape in Caladings - contributed by Aharon Varady.
2. New Synagogue glyph inspired by the Grand Choral Synagogue of
St. Petersburg.
3. Flag of Israel, moon phases and minor fixes.
4. Fixed varika in David CLM - an issue detected by Hebrew Font Visualizer
(https://opensiddur.org/help/fonts, again, courtesy of Aharon Varady).
0.201:
- Oopsie-release: The last one was missing pre-built binaries in the release
tarball.
- Use AFDKO's `tx` to compress the variable font in roughly half.
- Addendum: For 0.200 and 0.201, the following appstream translations were added
or updated:
- Basque by Asier Sarasua Garmendia
- Brazilian Portuguese by Rafael Fontenelle
- British English by Zander Brown
- Esperanto by Carmen Bianca Bakker
- French by Charles Monzat
- Karbi by Jor Teron
- Kazakh by Baurzhan Muftakhidinov
- Lao by Saikeo Kavhanxay
- Malay by Umarzuki Bin Mochlis Moktar
- Malayalam by Anish Sheela
- Nepali by Pawan Chitrakar
- Persian by Danial Behzadi
- Scottish Gaelic by Gun Chleoc
- Ukrainian by Daniel Korostil
0.200:
- (The design points below are mostly the result of design reviews by Alexei
Vanyashin, Jacques Le Bailly and Stephen Nixon, in no particular order).
- Respacing of uppercase letters in the regular master and complete thin and
extra bold masters. Uppercase letters space better next to lowercase letters
now. Cyrillics are more consistently spaced.
- Tweak numerals some. Especially the "one" and fractions.
- Various tweaks to various shapes across the board, especially symbols. Braces
are curlier now. Detail tweaks to Cyrillics.
- Basic mathy symbols and currency symbols now have tabular number width. I found
no advantage to having proportional variants.
- Removed .tosf numerals. Fiddly work without clear purpose.
- Experimental alternative form of "l" without the tail, contributed by Jacques
Le Bailly. Accessible via the ss01 feature.
- Added variable font, CFF2 flavor. postscriptBlueFuzz is set to 1 explicitly
to avoid rounding issues with blue zone coverage in FreeType.
- Removed f-ligatures without their own Unicode code points, as the design doesn't
currently need them. They were mainly added to fill up the Google glyph set.
- The following glyphs now represent more than one Unicode code point to keep the
glyph view tidier:
emdash: U+2014, U+2015
emspace: U+2001, U+2003
enspace: U+2000, U+2002
hyphen: U+002D, U+00AD, U+2010, U+2011
space: U+0020, U+00A0
In PDFs where the generator removed the text stream, copy-paste may lead to the
others turning into the first. Meh.
- Filled in hryvnia (U+20B4), tugrik (U+20AE) and tenge (U+20B8).
- Static fonts use same rounding method as varLib uses for the variable font.
- Fixed Ustraight-cy (U+04AE), ustraight-cy (U+04AF), Ustraightstroke-cy
(U+04B0), ustraightstroke-cy (U+04B1), they didn't have a proper production
name before and may not have been properly accessible.
- Removed some building components that made it into the final font.
- Limited anchor propagation to letters, excluding ligatures. Generate GDEF
table properly.
- Set one simple `gasp` table for hinted display for e.g. Windows.
- Removed `ccmp` from the `aalt` lookup.
- The OS/2 table fsType now says that no Digital Rights Management is applied
to the fonts, the name table now says the fonts are OFL 1.1 licensed.
- Internal housekeeping: Sources are stored in the open UFO and Designspace format
now, with various cleanups like removed unused layers.
- Internal housekeeping: Removed composite diacritics that served no design purpose.
Update to ruby-ttfunk to 1.6.2.1.
## [1.6.2.1]
### Fixed
* 1.6.2 gem conains local debuging code. This is the same commit but without
local changes.
Alexander Mankuta
## [1.6.2]
### Fixed
* Reverted to pre 1.6 maxp table serialization.
Cameron Dutro
pkgsrc changes:
- Upstream moved to GitHub
- Add missing LICENSE marker
- Stop patching Makefile.gcc and use a do-build target instead
ChangeLog:
1.06:
- Fixed: too-long-path-to-input.pcf.gz causes stack-based buffer overflow.
1.05:
- The size should come from POINT_SIZE instead of PIXEL_SIZE.
- Internal quotation characters in a string property should be indicated
(or "quoted") by using two quotation characters in a row.
- Fix avoid crash with large compressed metrics tables. (Colin Watson)
- Fix support gzipped source. (Colin Watson)
- Fix use C++ compiler and simplify using GNU extensions. (Jonas Smedegaard)
- Other fixes.
Spleen 1.7.0 (2020-02-13)
- Improve generated PSF files so that box-drawing characters are correctly
displayed
- Add the FONT_VERSION XFLD property for all BDF sizes
- Generate OpenType (OTF) versions for the 8x16, 12x24, 16x32 and 32x64 sizes
- Stop generating .dfont files, OTF versions should be used instead
- Add links to Debian and Ubuntu packages
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
4.2.4:
- [unicodedata] Update RTL_SCRIPTS for Unicode 11 and 12.
4.2.3:
- [otTables] Fixed bug when splitting `MarkBasePos` subtables as offsets overflow.
The mark class values in the split subtable were not being updated, leading to
invalid mark-base attachments.
- [feaLib] Only log a warning instead of error when features contain duplicate
substitutions.
- [glifLib] Strip XML comments when parsing with lxml
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
Recursive Mono & Sans is a variable type family built for better code
& UI. It is inspired by casual script signpainting, but designed
primarily to meet the needs of programming environments and
application interfaces.
In programming, "recursion" is when a function calls itself, using its
own output as an input to yield powerful results. Recursive Mono was
used as a tool to help build itself: it was used to write Python
scripts to automate type production work and to generate specimen
images, and it was used in HTML, CSS, and JS to create web-based
proofs & prototypes. Through this active usage, Recursive Mono was
crafted to be both fun to look at as well as deeply useful for all-day
work.
Recursive Sans borrows glyphs from its parent mono but adjusts the
widths of many key glyphs for comfortable readability. Its metrics are
superplexed - every style takes up the exact same horizontal space,
across all styles. In this 3-axis variable font, this allows for fluid
transitions between weight, slant, and "expression" (casual to strict
letterforms), all without text shifts or layout reflow. Not only does
this allow for new interactive possibilities in UI, but it also makes
for a uniquely fun typesetting experience.
Update ruby-ttfunk to 1.6.1.
pkgsrc change: add "USE_LANGUAGES= # none".
## [1.6.1]
### Fixed
* Fixed maxp table encoding
Cameron Dutro
## [1.6.0]
### Added
* OpenType fonts support
* Added support for CFF-flavored fonts (also known as CID-keyed or OpenType fonts)
* Added support for the VORG and DSIG tables
* Improved charset encoding support
* Improved font metrics calculations in the head, maxp, hhea, hmtx, and os/2 tables
* Subsetted fonts verified with Font-Validator, fontlint, and Mac OS's Font Book
Cameron Dutro
* Ruby 2.6 support
Alexander Mankuta
* JRuby 9.2 support
Alexander Mankuta
### Removed
* Dropped Ruby 2.1 & 2.2 support
Alexander Mankuta
* Removed JRuby 9.1 support
Alexander Mankuta
### Fixed
* Sort name table entries when generating subset font
Matjaz Gregoric
* Map the 0xFFFF char code to glyph 0 in cmap format 4
Matjaz Gregoric
* Order tables by tag when generating font subset
Matjaz Gregoric
* Fix typo in TTFunk::Subset::Unicode#includes?
Matjaz Gregoric
* Fixe calculation of search_range for font subsets
Matjaz Gregoric
* Fixed instance variable @offset and @length not initialized
Katsuya HIDAKA
* Code style fixes
Katsuya HIDAKA, Matjaz Gregoric, Alexander Mankuta
(From FONTLOG.txt)
January 8 2020 (USWDS) Public Sans v1.008
- https://github.com/uswds/public-sans/releases/tag/v1.008
General
- Improves overall texture and spacing
- Added NPM scripts for building and testing
Kerning and spacing
- Tightened kerning around `r`, `t`, `f`, and `l`
- Loosened spacing around `o`
- Improved spacing around `n`
- Balanced `o|v|o` kerning
- Widen `space` glyph
- Balance sidebearings in capitals
Glyphs
- Added `division slash`
UnifrakturMaguntia is a Unicode Fraktur Font.
UnifrakturMaguntia is based on Peter Wiegel's font Berthold Mainzer
Fraktur. The main differences from Peter Wiegel's font are the
following:
* UnifrakturMaguntia uses OpenType for displaying the font's
ligatures.
* UnifrakturMaguntia is suitable for @font-face embedding on the
Internet. It has a permissive license, the OFL, that explicitly
allows font embedding.
* G. Ansmann has carefully redrawn all glyphs and significantly
expanded the font.
For an extensive documentation created by G. Ansmann, see
UnifrakturMaguntia, Manual (with General Rules for Typesetting
Fraktur), or UnifrakturMaguntia, Manual (with General Rules for
Typesetting Fraktur).
Unscii is a set of bitmapped Unicode fonts based on classic system
fonts. Unscii attempts to support character cell art well while also
being suitable for terminal and programming use.
The two main variants are unscii-8 (8x8) and unscii-16 (8x16). There
are also several alternative styles for unscii-8, as well as a 8x16
"full" variant that incorporates missing Unicode glyphs from Fixedsys
Excelsior and GNU Unifont. "unscii-16-full" falls under GPL because of
how Unifont is licensed; the other variants are in the Public Domain.
HEX and PCF are the only actual bitmapped formats here. HEX is the
same simple hexdump format as used by the Unifont project.
TTF, OTF and WOFF are vectorized because the bitmapped TTF fonts
generated by FontForge didn't seem to work anywhere. Fixes to this
problem are appreciated.
2019-11-30 Paul Hardy <unifoundry@unifoundry.com>
* Version 12.1.04
* font/Makefile:
- Added variable PLANE_2_HEX to hold name of Plane 2 .hex file.
- bigpic: Generate large unifont_plane2-$(VERSION).bmp file (this
is very sparse, but added for the sake of completeness).
- bmp: Generate Plane 2 BMP files, generate compiled/plane02.html.
- distclean: add invoking distclean target in font/plane00csur.
- png: Generate Plane 2 PNG files, generate compiled/plane02.html.
- precompiled: added unifont_jp-$(VERSION).bdf.gz.
* font/plane00/unifont-base.hex:
- Added two missing dots to Syriac glyph U+08BA.
Submitted by David Corbett (Savannah bug 57273).
- Added descending lines to coffin (U+26B0) so it looks more 3D.
* font/plane01/plane01.hex:
- Removed dotted circles in Adlam (U+1E900..U+1E95F)
(Savannah bug 56751).
- Removed dotted circles in Nyiakeng Puachue Hmong
(U+1E100..U+1E14F) (Savannah bug 56753).
- David Corbett improved some Duployan glyphs
(U+1BC00..U+1BC9F) (Savannah bug 56772).
- Lowered Somboyo glyph U+11A9A as it is not a combining glyph.
Submitted by David Corbett (Savannah bug 56773).
- Removed stray pixels in three Soyombo glyphs
(U+11A52, U+11A53, and U+11A5B) (Savannah bug 57250).
Changelog:
Plex v4.0.2
Added
- OpenType layout feature "subs"
- meta table to all generated otf and ttf font files
Removed
- Glyph /ibmlogo07 (0xEBE7)
Fixed
- [IBM Plex Sans Hebrew-Text] /samekh (0x05E1) wrong right sidebearing
- Wrong kerning between /vav (0x05D5) /dagesh (0xFB35)
- Small metrics errors in Latin glyphs
- Errors in PS hint replacement in all files containing PostScript outlines
Changelog:
Plex v4.0.2
Added
- OpenType layout feature "subs"
- meta table to all generated otf and ttf font files
Removed
- Glyph /ibmlogo07 (0xEBE7)
Fixed
- [IBM Plex Sans Hebrew-Text] /samekh (0x05E1) wrong right sidebearing
- Wrong kerning between /vav (0x05D5) /dagesh (0xFB35)
- Small metrics errors in Latin glyphs
- Errors in PS hint replacement in all files containing PostScript outlines
4.2.2:
- [subset] Fixed issue with subsetting FeatureVariations table when the index
of features changes as features get dropped. The feature index need to be
remapped to point to index of the remaining features.
- [fontBuilder] Added `addFeatureVariations` method to `FontBuilder` class. This
is a shorthand for calling `featureVars.addFeatureVariations` on the builder's
TTFont object.
- [glyf] Fixed the flags bug in glyph.drawPoints() like we did for glyph.draw()
4.2.1:
- [glyf] Use the ``flagOnCurve`` bit mask in ``glyph.draw()``, so that we ignore
the ``overlap`` flag that may be set when instantiating variable fonts.
4.2.0:
- [pens] Added the following pens:
* ``roundingPen.RoundingPen``: filter pen that rounds coordinates and components'
offsets to integer;
* ``roundingPen.RoundingPointPen``: like the above, but using PointPen protocol.
* ``filterPen.FilterPointPen``: base class for filter point pens;
* ``transformPen.TransformPointPen``: filter point pen to apply affine transform;
* ``recordingPen.RecordingPointPen``: records and replays point-pen commands.
- [ttGlyphPen] Always round float coordinates and component offsets to integers
.
- [ufoLib] When converting kerning groups from UFO2 to UFO3, avoid confusing
groups with the same name as one of the glyphs
4.1.0:
- [instancer] Implemented restricting axis ranges (level 3 partial instancing).
You can now pass ``{axis_tag: (min, max)}`` tuples as input to the
``instantiateVariableFont`` function. Note that changing the default axis
position is not supported yet. The command-line script also accepts axis ranges
in the form of colon-separated float values, e.g. ``wght=400:700``.
- [instancer] Never drop STAT ``DesignAxis`` records, but only prune out-of-range
``AxisValue`` records.
- [otBase/otTables] Enforce that VarStore.RegionAxisCount == fvar.axisCount, even
when regions list is empty to appease OTS < v8.0.
- [designspaceLib] Defined new ``processing`` attribute for ``<rules>`` element,
with values "first" or "last", plus other editorial changes to DesignSpace
specification. Bumped format version to 4.1.
- [varLib] Improved error message when masters' glyph orders do not match
- [featureVars] Allow to specify custom feature tag in ``addFeatureVariations``;
allow said feature to already exist, in which case we append new lookup indices
to existing features. Implemented ``<rules>`` attribute ``processing`` according to
DesignSpace specification update in. Depending on this flag, we generate
either an 'rvrn' (always processed first) or a 'rclt' feature (follows lookup order,
therefore last).
- [ttCollection] Added support for context manager auto-closing via ``with`` statement
like with ``TTFont``.
- [unicodedata] Require unicodedata2 >= 12.1.0.
- [py2.py3] Removed yet more PY2 vestiges.
- [_n_a_m_e] Fixed issue when comparing NameRecords with different string types.
- [fixedTools] Changed ``fixedToFloat`` to not do any rounding but simply return
``value / (1 << precisionBits)``. Added ``floatToFixedToStr`` and
``strToFixedToFloat`` functions to be used when loading from or dumping to XML.
Fixed values (e.g. fvar axes and instance coordinates, avar mappings, etc.) are
are now stored as un-rounded decimal floats upon decompiling.
- [feaLib] Fixed handling of multiple ``LigatureCaret`` statements for the same glyph.
Only the first rule per glyph is used, additional ones are ignored.
4.0.2:
- [voltLib] Added support for ``ALL`` and ``NONE`` in ``PROCESS_MARKS``.
- [Silf] Fixed issue in ``Silf`` table compilation and decompilation regarding str vs
bytes in python3.
- [merge] Handle duplicate glyph names better: instead of appending font index to
all glyph names, use similar code like we use in ``post`` and ``CFF`` tables.
4.0.1:
- [otTables] Support fixing offset overflows in ``MultipleSubst`` lookup subtables
- [subset] Prune empty strikes in ``EBDT`` and ``CBDT`` table data.
- [pens] Fixed issue in ``PointToSegmentPen`` when last point of closed contour has
same coordinates as the starting point and was incorrectly dropped.
- [Graphite] Fixed ``Sill`` table output to pass OTS.
- [name] Added ``removeNames`` method to ``table__n_a_m_e`` class.
- [ttLib] Added aliases for renamed entries ``ascender`` and ``descender`` in
``hhea`` table.
4.0.0:
- NOTE: The v4.x version series only supports Python 3.6 or greater. You can keep
using fonttools 3.x if you need support for Python 2.
- [py23] Removed all the python2-only code since it is no longer reachable, thus
unused; only the Python3 symbols were kept, but these are no-op. The module is now
DEPRECATED and will removed in the future.
- [ttLib] Fixed UnboundLocalError for empty loca/glyph tables. Also, allow
the glyf table to be incomplete when dumping to XML.
- [varLib.models] Fixed KeyError while sorting masters and there are no on-axis for
a given axis (38a8eb0e).
- [cffLib] Make sure glyph names are unique.
- [feaLib] Fix feature parser to correctly handle octal numbers
Fonts-TLWG 0.7.1 Released
Submitted by thep on 4 November, 2018 - 16:18
- Address another reproducibility issue caused by "date stamp" in
auto-generated UniqueID.
- Automate font binary tarballs building, with additional ZIP provision.
Fonts-TLWG 0.7.0 Released
Submitted by thep on 26 October, 2018 - 14:32
- Build fonts reproducibly, thus new major version due to source
restructuring.
- Generate OTF by default instead of TTF.
- LaTeX: Provide OpenType fonts for XeTeX.
(Issue #6. Thanks Abhabongse Janthong for the suggestion.)
- Fix bug in GSUB rule.
(Issue #7. Thanks @Richard57 for the report and investigation.)
- Norasi: Fix Fontforge warnings and substitution rules.
Fonts-TLWG 0.6.5 Released
Submitted by thep on 24 April, 2018 - 12:57
- Convert source files to recent Fontforge format.
- Move fontconfig templates to /usr/share/fontconfig, according to recent
fontconfig change.
- Normalize TTFWeight for non-bold, non-light fonts, so some apps like
EditPad can classify the weight correctly.
(Thanks @alysdexia for the report in Issue #5.)
- Add missing Latin ligatures to Laksaman, to fullfill LaTeX typesetting.
(Thanks Kittipitch Meesawat for the report in a KKLUG meeting.)
Public Sans v1.007
@thisisdano thisisdano released this Nov 14, 2019 · 1 commit to master since
this release
General
- Rewrite type test to better test unusual combinations
- Remove AFM files for simplicity
- Rename fonts to binaries
- Keep UFOs and designspace files in src
- Move Glyphs files to src/glyphs
- Update test strings
- Add Google Analytics code to site
- Update dependencies
- Remediate package vulnerabilities in gulp-notify
- Update and clarify Public Sans license
Metadata
- Update description
- Remove trademark metadata
- Update copyright and designer information
Metrics changes
- Changed ascender height to 1900
Parameter v1.006 v1.007
Ascender 2000 1900
typoAscender 2000 1900
hheaAscender 2000 1900
Kerning and spacing
- Normalized sidebearings to multiples of 5
- Used sidebearing groups more consistently
- Improve Æ spacing
- Improve kerning of the following: s|s, t|t, g|g, r|g, E|t, V|[a,e], R|e,
'P'|'e'
- Fix spacing around U
- Set width of the colonsign.tf to 1400
- Use 600 width for tf punctuation
- Rebalance roman tabular figures
- Use components for .tf numbers and rebalance
Glyphs
- Widen H
- Redraw Þ
- Add and synchronize italic tabular figs
- Add currency to tabular figures
- Align diacritics
- Fix faulty dot accents
- Fix italic i
- Square terminals and regularize shapes in s,e,c
- Update italic æ and Æ
- Update italic œ and Œ
Public Sans v1.006
@thisisdano thisisdano released this Jul 18, 2019 · 94 commits to master since
this release
- Adds a new python-based build script for generating webfonts and variable
fonts. Use /.build.sh from the project directory. Based on https://
github.com/thundernixon/googlefonts-qa-template/blob/master/sources/
build.sh
- Moves to 2000 UPM
- Adjusts kerning overall
- Improves vertical metrics
- Rounds counters in b, d, p, and q glyphs
- Widens o and e glyphs
- Narrows s glyph
- Slightly squares curves in rounded lowercase thin glyphs
- Squares counters on S and C glyphs
- Aligns C and G glyph upper terminals
- Improves output of variable fonts
- Outputs better binaries for Font Bakery (https://github.com/googlefonts/
fontbakery)
Public Sans v1.005
@thisisdano thisisdano released this Jun 6, 2019 · 108 commits to master since
this release
- Redraws eth character
- Improves Vietnamese diacritics with better positioning and shape
- Fixes bad masters that resulted in faulty interpolation in fractions and
some math characters
- Improves spacing of caron.alt–related glyphs
Public Sans v1.004
@thisisdano thisisdano released this Jun 3, 2019 · 115 commits to master since
this release
- Improved kerning
- Improved hinting and rendering on Windows
- Improved fractions and subscript/superscript numerals
- Improved spacing for hyphens and em/en dashes
- Fixes the colón character
Public Sans v1.003
@thisisdano thisisdano released this May 7, 2019 · 129 commits to master since
this release
- Address some spacing regressions in v1.002
- Thicken regular weight to 365 from 350
- Adds explicit underline metadata to address a rendering quirk in Firefox
Public Sans v1.002
@thisisdano thisisdano released this May 6, 2019 · 136 commits to master since
this release
This release tries to simplify the kerning and spacing and make both easier to
maintain. There may be some small spacing regressions as we evaluate this
version in production and continue to update.
- Added 'okina character
- Improved appearance and spacing of diacritic glyphs — especially Czech,
Slovak, and Vietnamese
- Improved consistency between roman and italic
- Upscaled to 2000 UPM
- Use 100-900 as range for variable font output
- Rebalanced numbers
- Improved kerning in fractions
- Corrected some spacing issues in tabular figures, especially in italic
tabular figures
- Adjusted position of hcircumflex
- Removed spur from eszett
- Simplified spacing and kerning
- Updated and made better use of sidebearing groups
- Updated and made better use of kerning groups
0.111
- Fix the wrongly assigned OS/2 weight class values that e.g. led to Extra Bold
being selected when Bold was requested.
0.110
- Space everything a little bit tighter.
- Scale down whiteCircle and blackCircle by 50%, makes password dots smaller.
- Tweak feet of one.lf slightly for a more even appearance.
- Revise lcaron, dcaron and tcaron for collision-free rendering even at bold
weight. Will need kerning later.
- Add draft of Cyrillic (GF Cyrillic Plus set), to be improved.
- Equalize advance width of period, comma, colon, semicolon.
- Build packages with prebuilt fonts baked in.
- New contributed AppStream metadata translations for Slovak (Dušan Kazik),
Slovenian (Matej Urbančič), Russian (Stas Solovey) and Chinese China
(Dingzhong Chen).
0.101
- Countless detail updates to various glyphs
- Added contributed AppStream metdata translations for Polish (Piotr Drąg),
French (Claude Paroz), Indonesian (Kukuh Syafaat), Galician (Fran Dieguez),
Occitan (Cédric Valmary), Chinese Taiwan (Cheng-Chia Tseng), Spanish (Daniel
Mustieles), Catalan (Adolfo Jayme), Croatian (gogo), German (Tim Sabsch),
Dutch (Nathan Follens), Turkish (Emin Tufan Çetin), Serbian (Марко Костић),
Serbian Latin (Marko Kostić), Hungarian (Gabor Kelemen), Korean (DaeHyun
Sung), Czech (Marek Černocký), Lithuanian (Aurimas Černius), Danish (Ask
Hjorth Larsen), Italian (Gianvito Cavasoli), Romanian (Daniel Șerbănescu),
Punjabi (A S Alam), Latvian (Rūdolfs Mazurs), Swedish (Anders Jonsson),
Icelandic (Sveinn í Felli), Greek (Efstathios Iosifidis)
0.100
- Redesigned from scratch to interpolate cleanly from thin to extra bold.
Currently targets the Google Fonts Latin Core and Pro glyph sets.
- Added contributed AppStream metdata translations for Brazilian Portugese
(Rafael Fontenelle), Friulian (Fabio Tomat) and Finnish (Jiri Grönroos).
v3.11
@rsms rsms released this Oct 23, 2019 · 15 commits to master since this release
- Fixes issue (regression) with variable font where certain glyphs would
slant in the wrong direction. #198
- Fixes issue (regression) with variable font where version metadata would be
wrong. #202
- Fixes codepoint mapping for /copyleft glyph. #203
- Improves metadata of variable fonts. “fullName” name table entry is now
“Inter” instead of “Inter Regular”.
- New alternate-named variable font “Inter V”. With a different family name,
this is useful for when you want to install the variable version alongside
traditional static font files.
- Improvements to /backslash glyph
v3.10
@rsms rsms released this Sep 7, 2019 · 35 commits to master since this release
Release 3.10 is a mix of new glyphs & glyph changes, and adjustments & fixes.
New glyphs:
- blackSquare (U+25A0)
- whiteSquare (U+25A1)
- whiteRoundedCornersSquare (U+25A2)
- lowerHalfWhiteSquare (U+2B12)
- topHalfWhiteSquare (U+2B13)
- downWhiteTriangle (U+25BD)
- upWhiteTriangle (U+25B3)
- leftWhiteTriangle (U+25C1, U+25C5)
- rightWhiteTriangle (U+25B7, U+25BB)
Other notable changes:
- Fixes alignment issue with otilde U+00F5. #191
- Improvements to contextual alternates (calt), primarily reducing the cases
where case substitution is unwanted. #193
- Adjustments to the following whitespace glyphs: zerowidthspace, hairspace,
thinspace, punctuationspace, enspace, emspace, sixthemspace,
quarteremspace, thirdemspace and figurespace. #185
- Improvements to ogonek-based diacritics.
- Refinements and improvements to fractions (both dedicated glyphs and
arbitrary frac parts)
- Kerning improvements to all weights
- Progress on mark and mkmk “dynamic diacritics”
v3.9
@rsms rsms released this Aug 7, 2019 · 58 commits to master since this release
Fixes an issue with metadata where Medium, Semi Bold, and Extra Bold would
incorrectly be marked as “italic” which would confuse certain software.
v3.8
@rsms rsms released this Aug 5, 2019 · 62 commits to master since this release
- Possibly breaking change: Variable italic axis (really, slnt axis) has been
inverted (negated) — a negative value causes the text to lean rightwards.
This is only a breaking change if you are using the multi-axis variable
font (Inter.var) and define slant angle using high-level CSS properties
like font-style. This change was done to comply with the convention defined
in the OpenType spec. #175#172
- Variable font files are now significantly smaller thanks to #171 and #169
□ Inter.var.woff2 v3.7: 393kB, v3.8: 306kB
□ Inter-upright.var.woff2 v3.7: 267kB, v3.8: 224kB
□ All this while v3.8 introduces a whole new set of glyphs, kerning and
feature code.
- Adds several new glyphs, like double-stemmed arrows and enclosed
alphanumerics & symbols
□ Warning sign #168
□ Copyleft symbol #165
□ Really long arrows, useful in ligatures like --->
□ Arrows with double-lined stems, useful for “assign to”, with ligatures
defined for some combinations with equals, e.g. =>
□ Enclosed glyphs in circles and squares
- Fixes a bug where U+0430 Cyrillic lower-case a would not be substituted for
a single-storey “a” with cv11 enabled. #179
- Fixes a bug with slant of Ͽ (U+03FF) #170#169
- Some calt code has moved to liga (standard ligatures), specifically arrow
ligatures. Automatic case alignment is still kept in calt. So, you can now
disable calt to disable only case alignment, and disable liga to only
disable arrow ligatures.
- Improvements to kerning, spacing and letterform details
- Improved Microsoft Windows installation instructions #173
v3.7
@rsms rsms released this May 31, 2019 · 103 commits to master since this
release
- Fixes an issue with spacing to the right of capital "M"
- Improves positioning of various bullet glyphs
- Improved kerning
- new copyright glyph U+00A9
- new published (aka sound recording copyright) glyph U+2117
- new registered sign glyph U+00AE
- release now contains installation instructions for Linux
v3.6
@rsms rsms released this May 27, 2019 · 123 commits to master since this
release
- Fixes an issue related to ttfautohint where lower case "r" would be grid
fitted incorrectly by ClearType on Microsoft Windows #119
- Fixes an issue with using case and calt features in combination where arrow
combinations like -> would not be substituted by arrow glyphs #161
- Fixes an issue with rightArrow of bolder weights in italic #154
- Adjusts the glyph width of "bullet" to be exactly two "space" glyphs wide,
allowing easy ad-hoc list creation with wrapping lines
- Improved kerning for a.1 (alternate single-storey "a")
v3.5
@rsms rsms released this Apr 2, 2019 · 139 commits to master since this release
This is a very small incremental change from v3.4 that mainly contains improved
metrics metadata for some macOS applications, improving vertical alignment.
v3.4
@rsms rsms released this Apr 1, 2019 · 144 commits to master since this release
Lots of changes in this release.
Highlights include:
- Workaround for bug with some Apple software (including Sketch) where the
computed line height of the Regular weight would be too tall
- Several new symbol glyphs, especially in the technical area (e.g. computer
keyboard symbols)
- Single-storey a
- Lots of improvements to diacritics
Some interesting commits since v3.3:
- 9084323 slight increase of slant of /numbersign
- e903526 remove slant from /degree
- c130c69 misc documentation on variable font usage
- 794662c fixes issues with calt substitution ignore rule
- 1abaae4 fixes issue with shapes of a.1
- aa2a3fe adds single-storey a
- e605458 fix issue with x paths and adds blackstar U+2605, whitestar U+2606
- ccc994e swap one <-> one.ss01
- 3b9675e improvements to calt and arithmetic glyphs (e.g. plus, multiply,
etc.)
- 56e2c75 Swaps r.1 <-> r + rips out calt r.1 code + adds ss03 for "r curves
into corund neighbors"
- dddf6d2 Fixes kerning of pair /v/idotless -- closes#143
- 1dbc8fd Change vertical metrics to make Apple ATS work properly. New
ascender value: 2728, new descender value: -680
- e1d8712 reworked commaaccent
- fb79b9e Use vert metrics script to fix line heights issue #124 (#141)
- 3488601 Adds 'Version ' prefix to nameID 5 version string, per MS OT spec (
#140)
- 70f3df7 Fixup STAT tables of single-axis variable fonts to aid desktop apps
(style linking). Related to #142
- 35a2362 Adds --name option to "fontbuild compile-var" for customizing
family name, useful for producing variable font files with a different name
than the constant files so they can be installed alongside each other.
Closes#144
- 20aaab6 Change version encoding in font files to match common zero-padded
version to allow FontBakery to be happy. Closes#138
- 1208ea9 adds returnsymbol U+23CE
- 610b997 Adds several "technical" glyphs
- a503c5a Adds glyphs leftHookArrow, upWhiteArrow, upBlackArrow, control,
option, deleteleft, deleteright
- 9f176ab improved placeofinterestsign U+2318
- 0b8f63c Fix and improve paths (mostly order) of several glyphs
- 6cf0980 redraws and adds paragraphreversed, blackleftbullet,
blackrightbullet and .case versions
- a1a1288 redrawn seagullsubnosp U+033C (also fixes bad paths)
- 181ba19 fixes paths of uni0346 (COMBINING BRIDGE ABOVE)
- 528f843 improvements to grave, acute, dblgrave and tonos diacritics
- 6ef7b3e disable exporting of debug glyph uniE001
- 162519e update panose metadata
- 034a240 fixes missing "-BETA" filename suffix in the demo CSS file included
with dists
- a99328b Upgrade toolchain. glyphsLib 3.2.0b2 -> 3.2.0; fontmake 1.8.0 ->
1.9.1
- a0af904 workaround for bug in Safari where contextual sub in liga causes
kerning to fail. Moves "r" ligature to calt to work around this bug.
v3.3
@rsms rsms released this Feb 4, 2019 · 203 commits to master since this release
Inter UI is now called simply Inter, without the "UI" part.
- New name
- Lots of diacritic improvements
- Beta-grade light styles are now suffixed " BETA" to make it extra clear
that these are in development
- Many many changes; several new glyphs, lots of redrawn glyphs, lots of
kerning improvements, etc.
v3.2
@rsms rsms released this Jan 4, 2019 · 276 commits to master since this release
- Now includes lighter weights ([100–400); which are of beta quality and
needs testing)
- Lots of improvements to other weights (diacritics, glyph shapes, kerning,
etc.)
This release is a big one in terms of source changes, adding up to 14,117
changed files with 714,886 additions and 259,287 deletions, since v3.1.
PDF glyph charts:
- Inter-UI-Thin-BETA-glyphs.pdf
- Inter-UI-ThinItalic-BETA-glyphs.pdf
- Inter-UI-Regular-glyphs.pdf
- Inter-UI-Italic-glyphs.pdf
- Inter-UI-Black-glyphs.pdf
- Inter-UI-BlackItalic-glyphs.pdf
Spleen 1.6.0 (2019-12-02)
- Make it clear that .dfont files are provided in release tarballs
- Initial SFD version converted from the 8x16 BDF file
- Add a 'otf' target in the Makefile to generate an OTF version
- Mention the OTF version in the README, in notes for Windows users