Skip to content

Releases: googlefonts/glyphsets

v1.1.0

20 Dec 11:52
Compare
Choose a tag to compare
  • 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 and Cf 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 in definitions/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 for pyftsubset 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

03 May 09:49
Compare
Choose a tag to compare
  • Removed all remaining old code after diffenator2 got refactored
  • Pulled in 3 additional African language definitions from gflanguages v0.6.0. GF_Latin_African glyphset didn’t change as a result of that, only its "Character Sequences" definitions increased from 722 to 746 (commit 8b93034).

v0.6.20

24 Apr 14:56
Compare
Choose a tag to compare
  • 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

17 Apr 12:23
Compare
Choose a tag to compare
  • Removed unnecessary glyphsLib import that caused trouble on fontbakery.com

v0.6.18

10 Apr 13:43
Compare
Choose a tag to compare
  • Added back a few unencoded glyphs to Latin_Plus and Latin_Vietnamese that went missing in the recent data transition (Issue #166)
  • Added language_code definition for Latin_Vietnamese to allow shaping tests
  • Added glyphsets compare CLI command

v0.6.17

03 Apr 13:34
Compare
Choose a tag to compare

Reinstate GFTestData

v0.6.15

03 Apr 12:07
Compare
Choose a tag to compare
  • 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

15 Feb 13:26
Compare
Choose a tag to compare

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

09 Feb 14:26
cfa9993
Compare
Choose a tag to compare
  • 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

v0.6.11

15 Dec 14:26
b9e22e7
Compare
Choose a tag to compare

Merge pull request #151 from googlefonts/arabic-charsets

Arabic charsets overhaul