Releases: googlefonts/glyphsets
v1.1.0
- Added Ⓓ (design right symbol) to GF_Latin_Plus (issue #217)
- Revised GF_Cyrillic_Core and Plus glyphset definitions with language definitions and descriptions
- Removed Python 3.8 support from tests
- Implemented
glyphsets find
to find characters in the language and glyphset definitions - Remove invisible control and format characters from glyphsets (Unicode
Cc
andCf
categories) - In
.nam
files, separate names from unicodes with a#
to make the files consumable as-is in subsetting applications (issue #232) - Include glyphset inheritance, defined in child glyphsets (e.g. GF_Cyrillic_Plus is set to include GF_Cyrillic_Core)
- Following inheritance, put out “Exclusive” glyphsets (for
.plist
files for now); may be extended to other outputs later - Add
CustomFilter_GF_All.plist
to results - Manually added GF_Latin_Kernel to all modern Arabic, Cyrillic glyphsets as well as GF_Greek_Core
- Added dynamic Cyrillic Roman/Italic localization glyphsets to
.plist
files based on manually curated files indefinitions/misc/
- Added
glyphsets print-unicodes
command that prints a list of unicodes of several defined glyphsets that can be piped into command line arguments, for instance forpyftsubset font.ttf --unicodes=$(glyphsets print-unicodes GF_Latin_Core GF_Cyrillic_Core)
- Added a list of Arabic characters that either commonly included in fonts but are not in the Arabic language definitions (
alefWasla-ar
) or are commonly used as components (behDotless-ar
) - Added automatic Arabic
.init/.medi/.fina
presentation forms (and changed sortin for all glyphsets as an implication) - Switched GF_Cyrillic_Historical from manual to language defintions, including Church Slavic (
cu_Cyrl
).
v1.0.0
v0.6.20
- Added
language_code
definition for GF_Latin_PriAfrican to allow shaping tests - Added
glyphsets coverage
CLI command that prints a font's glyphset coverages - Reworked glyphset coverage calculation in
get_glyphsets_fulfilled()
; now based on characters per glyphset that are unique when compared to GF_Latin_Core.
Coverage Calculation Changes in Detail:
Previously, the coverage percentage as returned by get_glyphsets_fulfilled()
would calculate all the font’s characters as a percentage of a glyphset’s total characters. Fontbakery (among others) would then treat a glyphset as covered as soon as 80% of characters are present.
This generally worked, but created unwelcome overlaps as soon as glyphsets were too similar to each other. The newly redefined GF_Latin_PriAfrican glyphset, for example, has only 34 additional characters compared to GF_Latin_Core, as revealed by the command glyphsets compare GF_Latin_Core GF_Latin_PriAfrican
.
GF_Latin_Core on the other hand currently has 324 glyphs, and so a font that covers GF_Latin_Core also covers 90% of GF_Latin_PriAfrican and would therefore be counted as supporting GF_Latin_PriAfrican by accident, without actually supporting it, resulting in loads of unwelcome reports by Fontbakery’s shape_languages
check.
The new calculation is based solely on additional characters when compared to GF_Latin_Core. Similar to the compare
command, additional characters are calculated in a first step (Ŋ ŋ Ɓ Ɔ Ɗ Ɛ Ƙ ƙ Ɲ Ƴ ƴ Ǹ ǹ ɓ ɔ ɗ ɛ ɲ Ḿ ḿ Ṅ ṅ Ṣ ṣ Ẹ ẹ Ị ị Ọ ọ Ụ ụ
for GF_Latin_PriAfrican vs GF_Latin_Core), and then it is calculated how many of those characters a font supports, which is a significantly more accurate calculation.
Since get_glyphsets_fulfilled()
is hosted here inside glyphsets
, no changes to external implementations are required as the API didn't change, only the calculation of the percentage. Fontbakery still uses 80% as the threshold, but now based on a more accurate calculation.
v0.6.19
- Removed unnecessary
glyphsLib
import that caused trouble on fontbakery.com
v0.6.18
v0.6.17
Reinstate GFTestData
v0.6.15
- Excluded colonizer languages from African glyphset via new
exclude_language_codes
to prevent unnecessary glyphs (e.g. "ß") from appearing in the African Latin glyphset - Reintroduced
glyphsets filter-list
command to generate custom filter lists
v0.6.14
Added language codes for additional glyphsets that can be now covered in Fontbakery's shape_languages check.
In total, these glyphsets are now covered:
- Latin African+Core
- Cyrillic Core
- Greek Core
- Arabic Core+Plus
v0.6.13
- Made human-readable description available in /GLYPHSETS.md
- Changed API, consequently updated Fontbakery's usage of the API
- Includes the new GF African Latin glyphset