All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
iso15008
extra (#21). To run theiso15008
profile it's now necessary to install openbakery like so:python -m pip install -U 'openbakery[iso15008]'
-
shaping
subcommand and extra (#36). -
fontwerk
extra (#37). -
notofonts
extra (#37). -
com.thetypefounders/check/features_default_languagesystem
: Checks if a default languagesystem statement is present in feature files and warns if the compiler will not insert one automatically (fonttools/fontbakery#4011). -
com.adobe.fonts/check/cff_ascii_strings
: Checks if all strings in a font's CFF table top dict fit in the range of ASCII values (#128)
-
Removed the
check-
prefix from most subcommands (#35). As an example, now the command for running the Universal profile checks is,openbakery universal font.ttf
instead of
openbakery check-universal font.ttf
. -
The shaping checks are no longer invoked by the Universal profile. To run them use the new
shaping
subcommand (#36). -
com.google.fonts/check/fontvalidator
: The check emitted an ERROR if FontValidator isn't installed. It now emits a FAIL (#30). -
com.google.fonts/check/valid_glyphnames
: The check now takes into account that OpenType-CFF2 fonts withpost
table format 3 contain no glyph names, and will yield SKIP (#38). -
com.google.fonts/check/unique_glyphnames
: The check now takes into account that OpenType-CFF2 fonts withpost
table format 3 contain no glyph names, and will yield SKIP (#38). -
com.google.fonts/check/STAT_in_statics
: The check now skips fonts that do not have aSTAT
table (#38). -
com.google.fonts/check/family_naming_recommendations
: Two validations of PostScript name were moved out of this check and into separate new checkscom.adobe.fonts/check/postscript_name_characters
andcom.adobe.fonts/postscript_name_hyphens
which yield FAIL (#62). -
com.google.fonts/check/cjk_not_enough_glyphs
: This check is now only run when a font has CJK codepages or ranges declared in theOS/2
table. Other CJK-related checks are run on fonts with a minimum of 150 CJK glyphs (fonttools/fontbakery#3846). -
com.google.fonts/check/family/panose_familytype
andcom.google.fonts/check/family/panose_proportion
: Failures have been downgraded to warnings (fonttools/fontbakery#4192). -
com.adobe.fonts/check/postscript_name_characters
: Added underscore (_
U+005F) to the set of characters allowed in PostScript name strings (#90). -
Removed the
fontval
profile (#141). -
com.adobe.fonts/check/unsupported_tables
: Added COLR and CPAL tables to SUPPORTED_TABLES, added extra check to fail for COLRv1 (and pass for COLRv0). (#205)
com.google.fonts/check/interpolation_issues
: The check ERRORed when ran on CFF2 variable fonts. The check is now SKIPped for such fonts because it depends on the presence of thegvar
table, which only apply to TrueType variable fonts (#28).com.google.fonts/check/fontvalidator
: ERROR caused by attempting to run FontValidator before checking if it's installed (#30).com.google.fonts/check/mandatory_glyphs
: Improved the check's resilience to edge cases that could result in ERRORs (#38).-L
/--list-checks
option that can be used with subcommands. Previously this option only worked if a path to an input file was also provided in the command line (#35).- Summary statistics on HTML reporter (fonttools/fontbakery#3997).
com.google.fonts/check/layout_valid_feature_tags
: Updated the check to allow valid private-use feature tags (#101)
First release. This version is functionally equivalent to Font Bakery version 0.8.13, with two notable differences:
- The
freetype-py
library is installed by default. Consequently, thefreetype
extra was removed since it's no longer necessary. A warning message will be displayed if the removedfreetype
extra is invoked during the installation ofopenbakery
. This warning message can be safely disregarded. - To run
check-googlefonts
orcheck-ufo-sources
checks it's necessary to installopenbakery
with the new extras namedgooglefonts
orufo-sources
, respectively. Alternatively, you can use another new extra namedall
; this will install all the Python libraries required by all the checks.