mjlagattuta / Hepta-Slab

SIL Open Font License 1.1
57 stars 9 forks source link

Pass fontbakery #8

Closed davelab6 closed 5 years ago

davelab6 commented 6 years ago

It would be good to confirm that this project passes fontbakery checks; you can use a drag and drop service from www.fontbakery.com right now, or set it up on your own machine and run it in Terminal.

mjlagattuta commented 6 years ago

Fontbakery report

[23] Family checks
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **FAIL** No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: none]
:bread: PASS: Checking all files are in the same directory. * [com.google.fonts/check/002](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/002) * :bread: **PASS** All files are in the same directory.
:bread: PASS: Fonts have equal unicode encodings? * [com.google.fonts/check/013](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/013) * :bread: **PASS** Fonts have equal unicode encodings.
:bread: PASS: Make sure all font files have the same version value. * [com.google.fonts/check/014](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/014) * :bread: **PASS** All font files have the same version.
:bread: PASS: Fonts have consistent PANOSE proportion? * [com.google.fonts/check/009](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/009) * :bread: **PASS** Fonts have consistent PANOSE proportion.
:bread: PASS: Fonts have consistent PANOSE family type? * [com.google.fonts/check/010](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/010) * :bread: **PASS** Fonts have consistent PANOSE family type.
:bread: PASS: Fonts have consistent underline thickness? * [com.google.fonts/check/008](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/008) * :bread: **PASS** Fonts have consistent underline thickness.
:zzz: SKIP: Does DESCRIPTION file contain broken links? * [com.google.fonts/check/003](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/003) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Is this a proper HTML snippet? * [com.google.fonts/check/004](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/004) * :zzz: **SKIP** Unfulfilled Conditions: descfile
:zzz: SKIP: DESCRIPTION.en_us.html must have more than 200 bytes. * [com.google.fonts/check/005](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/005) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes. * [com.google.fonts/check/006](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/006) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Font designer field in METADATA.pb must not be 'unknown'. * [com.google.fonts/check/007](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/007) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Ensure designer simple short name. * [com.google.fonts/check/080](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/080) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API? * [com.google.fonts/check/081](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/081) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only has unique "full_name" values. * [com.google.fonts/check/083](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/083) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs. * [com.google.fonts/check/084](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/084) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"? * [com.google.fonts/check/085](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/085) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb should contain at least "menu" and "latin" subsets. * [com.google.fonts/check/086](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/086) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb subsets should be alphabetically ordered. * [com.google.fonts/check/087](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/087) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Copyright notice is the same in all fonts? * [com.google.fonts/check/088](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/088) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: Check that METADATA.pb family values are all the same. * [com.google.fonts/check/089](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/089) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style. * [com.google.fonts/check/090](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/090) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Regular should be 400. * [com.google.fonts/check/091](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/091) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, has_regular_style

[110] HeptaSlabBeta-VF.ttf
:broken_heart: ERROR: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :broken_heart: **ERROR** Failed with FileNotFoundError: [Errno 2] No such file or directory: 'HeptaSlabBeta-VF.ttf.report.xml' * :information_source: **INFO** Microsoft Font Validator returned an error code. Output follows : Unknown command line option: '-file'
:warning: WARN: Show hinting filesize impact. * [com.google.fonts/check/054](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/054) * :warning: **WARN** ttfautohint is not available! You really MUST check the fonts with this tool. To install it, see https://github.com/googlefonts/gf-docs/blob/master/ProjectChecklist.md#ttfautohint [code: ttfa-missing]
:warning: WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/153](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/153) * :warning: **WARN** This check inspects the glyph outlines and detects the total number of counters in each of them. The expected values are infered from the typical ammounts of counters observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct. The following glyphs do not have the recommended number of contours: Glyph name: numbersign Counters detected: 4 Expected: 2 Glyph name: dollar Counters detected: 4 Expected: 1 or 3 Glyph name: asterisk Counters detected: 3 Expected: 1 or 4 Glyph name: one Counters detected: 2 Expected: 1 Glyph name: two Counters detected: 2 Expected: 1 Glyph name: three Counters detected: 3 Expected: 1 Glyph name: four Counters detected: 3 Expected: 1 or 2 Glyph name: five Counters detected: 3 Expected: 1 Glyph name: seven Counters detected: 3 Expected: 1 Glyph name: eight Counters detected: 4 Expected: 3 Glyph name: B Counters detected: 4 Expected: 2 or 3 Glyph name: C Counters detected: 2 Expected: 1 Glyph name: E Counters detected: 2 Expected: 1 Glyph name: F Counters detected: 2 Expected: 1 Glyph name: G Counters detected: 4 Expected: 1 Glyph name: H Counters detected: 3 Expected: 1 Glyph name: K Counters detected: 3 Expected: 1 or 2 Glyph name: L Counters detected: 2 Expected: 1 Glyph name: M Counters detected: 3 Expected: 1 Glyph name: N Counters detected: 3 Expected: 1 Glyph name: Q Counters detected: 3 Expected: 2 Glyph name: R Counters detected: 3 Expected: 1 or 2 Glyph name: S Counters detected: 3 Expected: 1 Glyph name: Y Counters detected: 2 Expected: 1 Glyph name: Z Counters detected: 3 Expected: 1 Glyph name: c Counters detected: 2 Expected: 1 Glyph name: g Counters detected: 4 Expected: 2 or 3 Glyph name: h Counters detected: 2 Expected: 1 Glyph name: k Counters detected: 3 Expected: 1 or 2 Glyph name: m Counters detected: 3 Expected: 1 Glyph name: n Counters detected: 2 Expected: 1 Glyph name: r Counters detected: 2 Expected: 1 Glyph name: s Counters detected: 3 Expected: 1 Glyph name: u Counters detected: 2 Expected: 1 Glyph name: z Counters detected: 3 Expected: 1 Glyph name: uni2074 Counters detected: 3 Expected: 1 or 2 Glyph name: uni2075 Counters detected: 3 Expected: 1 Glyph name: uni2077 Counters detected: 3 Expected: 1 Glyph name: uni2078 Counters detected: 4 Expected: 3 Glyph name: uni2081 Counters detected: 2 Expected: 1 Glyph name: uni2082 Counters detected: 2 Expected: 1 Glyph name: uni2083 Counters detected: 3 Expected: 1 Glyph name: uni2084 Counters detected: 3 Expected: 1 or 2 Glyph name: uni2085 Counters detected: 3 Expected: 1 Glyph name: uni2087 Counters detected: 3 Expected: 1 Glyph name: uni2088 Counters detected: 4 Expected: 3 Glyph name: colonmonetary Counters detected: 4 Expected: 1 or 3 Glyph name: currency Counters detected: 6 Expected: 2 Glyph name: franc Counters detected: 3 Expected: 1 or 2 Glyph name: lira Counters detected: 4 Expected: 1 Glyph name: uni20A6 Counters detected: 4 Expected: 1, 3 or 5 Glyph name: sterling Counters detected: 3 Expected: 1 or 2 Glyph name: Euro Counters detected: 4 Expected: 1 or 2 Glyph name: uni20AD Counters detected: 4 Expected: 1 Glyph name: uni20AE Counters detected: 3 Expected: 1 Glyph name: uni00B2 Counters detected: 2 Expected: 1 Glyph name: uni00B3 Counters detected: 3 Expected: 1 Glyph name: uni20B2 Counters detected: 5 Expected: 1, 2 or 3 Glyph name: uni20B5 Counters detected: 3 Expected: 1 or 2 Glyph name: uni20B4 Counters detected: 6 Expected: 1 or 2 Glyph name: uni00B9 Counters detected: 2 Expected: 1 Glyph name: onequarter Counters detected: 6 Expected: 3 or 4 Glyph name: onehalf Counters detected: 5 Expected: 3 Glyph name: threequarters Counters detected: 7 Expected: 3 or 4 Glyph name: AE Counters detected: 4 Expected: 2 Glyph name: Ccedilla Counters detected: 4 Expected: 1 or 2 Glyph name: Egrave Counters detected: 3 Expected: 2 Glyph name: Eacute Counters detected: 3 Expected: 2 Glyph name: Ecircumflex Counters detected: 3 Expected: 2 Glyph name: Edieresis Counters detected: 4 Expected: 3 Glyph name: Eth Counters detected: 3 Expected: 2 Glyph name: Ntilde Counters detected: 4 Expected: 2 Glyph name: Yacute Counters detected: 3 Expected: 2 Glyph name: germandbls Counters detected: 2 Expected: 1 Glyph name: ae Counters detected: 4 Expected: 3 Glyph name: ccedilla Counters detected: 4 Expected: 1 or 2 Glyph name: eth Counters detected: 4 Expected: 2 Glyph name: ntilde Counters detected: 3 Expected: 2 Glyph name: ugrave Counters detected: 3 Expected: 2 Glyph name: uacute Counters detected: 3 Expected: 2 Glyph name: ucircumflex Counters detected: 3 Expected: 2 Glyph name: udieresis Counters detected: 4 Expected: 3 Glyph name: aogonek Counters detected: 3 Expected: 2 Glyph name: Cacute Counters detected: 3 Expected: 2 Glyph name: cacute Counters detected: 3 Expected: 2 Glyph name: Ccircumflex Counters detected: 3 Expected: 2 Glyph name: ccircumflex Counters detected: 3 Expected: 2 Glyph name: Cdotaccent Counters detected: 3 Expected: 2 Glyph name: cdotaccent Counters detected: 3 Expected: 2 Glyph name: Ccaron Counters detected: 3 Expected: 2 Glyph name: ccaron Counters detected: 3 Expected: 2 Glyph name: Dcroat Counters detected: 3 Expected: 2 Glyph name: dcroat Counters detected: 3 Expected: 2 Glyph name: Emacron Counters detected: 3 Expected: 2 Glyph name: Ebreve Counters detected: 3 Expected: 2 Glyph name: Edotaccent Counters detected: 3 Expected: 2 Glyph name: Eogonek Counters detected: 3 Expected: 1 or 2 Glyph name: eogonek Counters detected: 3 Expected: 2 Glyph name: Ecaron Counters detected: 3 Expected: 2 Glyph name: Gcircumflex Counters detected: 5 Expected: 2 Glyph name: gcircumflex Counters detected: 5 Expected: 3 or 4 Glyph name: Gbreve Counters detected: 5 Expected: 2 Glyph name: gbreve Counters detected: 5 Expected: 3 or 4 Glyph name: Gdotaccent Counters detected: 5 Expected: 2 Glyph name: gdotaccent Counters detected: 5 Expected: 3 or 4 Glyph name: uni0122 Counters detected: 5 Expected: 2 Glyph name: uni0123 Counters detected: 5 Expected: 3 or 4 Glyph name: Hcircumflex Counters detected: 4 Expected: 2 Glyph name: hcircumflex Counters detected: 3 Expected: 2 Glyph name: Hbar Counters detected: 4 Expected: 2 Glyph name: hbar Counters detected: 3 Expected: 1 Glyph name: uni0136 Counters detected: 4 Expected: 2 or 3 Glyph name: uni0137 Counters detected: 4 Expected: 2 or 3 Glyph name: kgreenlandic Counters detected: 3 Expected: 1 or 2 Glyph name: Lacute Counters detected: 3 Expected: 2 Glyph name: uni013B Counters detected: 3 Expected: 2 Glyph name: Lcaron Counters detected: 3 Expected: 2 Glyph name: Ldot Counters detected: 3 Expected: 2 Glyph name: Lslash Counters detected: 3 Expected: 1 Glyph name: lslash Counters detected: 2 Expected: 1 Glyph name: Nacute Counters detected: 4 Expected: 2 Glyph name: nacute Counters detected: 3 Expected: 2 Glyph name: uni0145 Counters detected: 4 Expected: 2 Glyph name: uni0146 Counters detected: 3 Expected: 2 Glyph name: Ncaron Counters detected: 4 Expected: 2 Glyph name: ncaron Counters detected: 3 Expected: 2 Glyph name: at Counters detected: 4 Expected: 2 Glyph name: Eng Counters detected: 3 Expected: 1 Glyph name: eng Counters detected: 2 Expected: 1 Glyph name: OE Counters detected: 3 Expected: 2 Glyph name: oe Counters detected: 4 Expected: 3 Glyph name: Racute Counters detected: 4 Expected: 3 Glyph name: racute Counters detected: 3 Expected: 2 Glyph name: uni0156 Counters detected: 4 Expected: 3 Glyph name: uni0157 Counters detected: 3 Expected: 2 Glyph name: Rcaron Counters detected: 4 Expected: 3 Glyph name: rcaron Counters detected: 3 Expected: 2 Glyph name: Sacute Counters detected: 4 Expected: 2 Glyph name: sacute Counters detected: 4 Expected: 2 Glyph name: Scircumflex Counters detected: 4 Expected: 2 Glyph name: scircumflex Counters detected: 4 Expected: 2 Glyph name: Scedilla Counters detected: 5 Expected: 1 or 2 Glyph name: scedilla Counters detected: 5 Expected: 1 or 2 Glyph name: Scaron Counters detected: 4 Expected: 2 Glyph name: scaron Counters detected: 4 Expected: 2 Glyph name: uni0162 Counters detected: 3 Expected: 1 or 2 Glyph name: uni0163 Counters detected: 3 Expected: 1 or 2 Glyph name: Tbar Counters detected: 2 Expected: 1 Glyph name: tbar Counters detected: 2 Expected: 1 Glyph name: utilde Counters detected: 3 Expected: 2 Glyph name: umacron Counters detected: 3 Expected: 2 Glyph name: ubreve Counters detected: 3 Expected: 2 Glyph name: uring Counters detected: 4 Expected: 3 Glyph name: uhungarumlaut Counters detected: 4 Expected: 3 Glyph name: Uogonek Counters detected: 2 Expected: 1 Glyph name: uogonek Counters detected: 3 Expected: 1 Glyph name: Ycircumflex Counters detected: 3 Expected: 2 Glyph name: Ydieresis Counters detected: 4 Expected: 3 Glyph name: Zacute Counters detected: 4 Expected: 2 Glyph name: zacute Counters detected: 4 Expected: 2 Glyph name: Zdotaccent Counters detected: 4 Expected: 2 Glyph name: zdotaccent Counters detected: 4 Expected: 2 Glyph name: Zcaron Counters detected: 4 Expected: 2 Glyph name: zcaron Counters detected: 4 Expected: 2 Glyph name: arrowleft Counters detected: 2 Expected: 1 Glyph name: arrowup Counters detected: 2 Expected: 1 Glyph name: arrowright Counters detected: 2 Expected: 1 Glyph name: arrowdown Counters detected: 2 Expected: 1 Glyph name: ohorn Counters detected: 3 Expected: 2 Glyph name: daggerdbl Counters detected: 2 Expected: 1 or 3 Glyph name: Uhorn Counters detected: 2 Expected: 1 Glyph name: uhorn Counters detected: 3 Expected: 1 Glyph name: uni01C4 Counters detected: 6 Expected: 4 Glyph name: uni01C5 Counters detected: 6 Expected: 4 Glyph name: uni01C6 Counters detected: 6 Expected: 4 Glyph name: uni01C7 Counters detected: 3 Expected: 2 Glyph name: uni01C8 Counters detected: 4 Expected: 3 Glyph name: uni01CA Counters detected: 4 Expected: 2 Glyph name: uni01CB Counters detected: 5 Expected: 3 Glyph name: uni01CC Counters detected: 4 Expected: 3 Glyph name: Gcaron Counters detected: 5 Expected: 2 Glyph name: gcaron Counters detected: 5 Expected: 3 or 4 Glyph name: uni01EA Counters detected: 3 Expected: 2 Glyph name: uni01EB Counters detected: 3 Expected: 2 Glyph name: AEacute Counters detected: 5 Expected: 3 Glyph name: aeacute Counters detected: 5 Expected: 4 Glyph name: uni0204 Counters detected: 4 Expected: 3 Glyph name: uni0206 Counters detected: 3 Expected: 2 Glyph name: uni0210 Counters detected: 5 Expected: 4 Glyph name: uni0211 Counters detected: 4 Expected: 3 Glyph name: uni0212 Counters detected: 4 Expected: 3 Glyph name: uni0213 Counters detected: 3 Expected: 2 Glyph name: uni0215 Counters detected: 4 Expected: 3 Glyph name: uni0217 Counters detected: 3 Expected: 2 Glyph name: uni0218 Counters detected: 4 Expected: 2 Glyph name: uni0219 Counters detected: 4 Expected: 2 Glyph name: uni0232 Counters detected: 3 Expected: 2 Glyph name: notequal Counters detected: 3 Expected: 1 Glyph name: braceleft Counters detected: 3 Expected: 1 Glyph name: braceright Counters detected: 3 Expected: 1 Glyph name: hookabovecomb Counters detected: 2 Expected: 1 Glyph name: uni0327 Counters detected: 2 Expected: 1 Glyph name: yen Counters detected: 4 Expected: 1 or 2 Glyph name: copyright Counters detected: 4 Expected: 3 Glyph name: logicalnot Counters detected: 2 Expected: 1 Glyph name: registered Counters detected: 5 Expected: 3 or 4 Glyph name: uni00B5 Counters detected: 3 Expected: 1 Glyph name: cedilla Counters detected: 2 Expected: 1 Glyph name: uni03A9 Counters detected: 3 Expected: 1 Glyph name: uni03BC Counters detected: 3 Expected: 1 Glyph name: uniE0FF Counters detected: 38 Expected: 7 Glyph name: uni20B9 Counters detected: 4 Expected: 1 Glyph name: uni20BA Counters detected: 4 Expected: 1 Glyph name: uni20BC Counters detected: 2 Expected: 1 Glyph name: uni20BD Counters detected: 4 Expected: 2 Glyph name: uni1E08 Counters detected: 5 Expected: 2 Glyph name: uni1E09 Counters detected: 5 Expected: 2 Glyph name: uni1E14 Counters detected: 4 Expected: 3 Glyph name: uni1E16 Counters detected: 4 Expected: 3 Glyph name: uni1E1C Counters detected: 5 Expected: 2 Glyph name: uni1E1D Counters detected: 5 Expected: 3 Glyph name: uni1E20 Counters detected: 5 Expected: 2 Glyph name: uni1E21 Counters detected: 5 Expected: 3 or 4 Glyph name: uni1E24 Counters detected: 4 Expected: 2 Glyph name: uni1E25 Counters detected: 3 Expected: 2 Glyph name: uni1E2A Counters detected: 4 Expected: 2 Glyph name: uni1E2B Counters detected: 3 Expected: 2 Glyph name: uni1E36 Counters detected: 3 Expected: 2 Glyph name: uni1E3A Counters detected: 3 Expected: 2 Glyph name: uni1E42 Counters detected: 4 Expected: 2 Glyph name: uni1E43 Counters detected: 4 Expected: 2 Glyph name: uni1E44 Counters detected: 4 Expected: 2 Glyph name: uni1E45 Counters detected: 3 Expected: 2 Glyph name: uni1E46 Counters detected: 4 Expected: 2 Glyph name: uni1E47 Counters detected: 3 Expected: 2 Glyph name: uni1E48 Counters detected: 4 Expected: 2 Glyph name: uni1E49 Counters detected: 3 Expected: 2 Glyph name: uni1E5A Counters detected: 4 Expected: 3 Glyph name: uni1E5B Counters detected: 3 Expected: 2 Glyph name: uni1E5E Counters detected: 4 Expected: 3 Glyph name: uni1E5F Counters detected: 3 Expected: 2 Glyph name: uni1E60 Counters detected: 4 Expected: 2 Glyph name: uni1E61 Counters detected: 4 Expected: 2 Glyph name: uni1E62 Counters detected: 4 Expected: 2 Glyph name: uni1E63 Counters detected: 4 Expected: 2 Glyph name: uni1E64 Counters detected: 5 Expected: 3 Glyph name: uni1E65 Counters detected: 5 Expected: 3 Glyph name: uni1E66 Counters detected: 5 Expected: 3 Glyph name: uni1E67 Counters detected: 5 Expected: 3 Glyph name: uni1E68 Counters detected: 5 Expected: 3 Glyph name: uni1E69 Counters detected: 5 Expected: 3 Glyph name: uni2113 Counters detected: 1 Expected: 2 Glyph name: uni2116 Counters detected: 6 Expected: 3 or 4 Glyph name: uni1E79 Counters detected: 4 Expected: 3 Glyph name: uni1E7B Counters detected: 5 Expected: 4 Glyph name: uni1E8E Counters detected: 3 Expected: 2 Glyph name: uni1E92 Counters detected: 4 Expected: 2 Glyph name: uni1E93 Counters detected: 4 Expected: 2 Glyph name: uni1E9E Counters detected: 3 Expected: 1 Glyph name: uni1EA2 Counters detected: 4 Expected: 3 Glyph name: uni1EA3 Counters detected: 4 Expected: 3 Glyph name: uni1EA8 Counters detected: 5 Expected: 4 Glyph name: uni1EA9 Counters detected: 5 Expected: 4 Glyph name: uni1EB2 Counters detected: 5 Expected: 4 Glyph name: uni1EB3 Counters detected: 5 Expected: 4 Glyph name: trademark Counters detected: 4 Expected: 2 Glyph name: uni1EB8 Counters detected: 3 Expected: 2 Glyph name: uni1EBA Counters detected: 4 Expected: 2 Glyph name: uni1EBB Counters detected: 4 Expected: 3 Glyph name: uni1EBC Counters detected: 3 Expected: 2 Glyph name: uni1EBE Counters detected: 4 Expected: 3 Glyph name: uni1EC0 Counters detected: 4 Expected: 3 Glyph name: uni1EC2 Counters detected: 5 Expected: 3 Glyph name: uni1EC3 Counters detected: 5 Expected: 4 Glyph name: uni1EC4 Counters detected: 4 Expected: 3 Glyph name: uni1EC6 Counters detected: 4 Expected: 3 Glyph name: uni2126 Counters detected: 3 Expected: 1 Glyph name: uni1EC8 Counters detected: 3 Expected: 2 Glyph name: uni1EC9 Counters detected: 3 Expected: 2 Glyph name: uni1ECE Counters detected: 4 Expected: 3 Glyph name: uni1ECF Counters detected: 4 Expected: 3 Glyph name: uni1ED4 Counters detected: 5 Expected: 4 Glyph name: uni1ED5 Counters detected: 5 Expected: 4 Glyph name: uni1EDB Counters detected: 4 Expected: 3 Glyph name: uni1EDD Counters detected: 4 Expected: 3 Glyph name: uni1EDE Counters detected: 5 Expected: 3 or 4 Glyph name: uni1EDF Counters detected: 5 Expected: 3 Glyph name: uni1EE1 Counters detected: 4 Expected: 3 Glyph name: uni1EE3 Counters detected: 4 Expected: 3 Glyph name: uni1EE5 Counters detected: 3 Expected: 2 Glyph name: uni1EE6 Counters detected: 3 Expected: 2 Glyph name: uni1EE7 Counters detected: 4 Expected: 2 Glyph name: uni1EE8 Counters detected: 3 Expected: 2 Glyph name: uni1EE9 Counters detected: 4 Expected: 2 Glyph name: uni1EEA Counters detected: 3 Expected: 2 Glyph name: uni1EEB Counters detected: 4 Expected: 2 Glyph name: uni1EEC Counters detected: 4 Expected: 2 Glyph name: uni1EED Counters detected: 5 Expected: 2 Glyph name: uni1EEE Counters detected: 3 Expected: 2 Glyph name: uni1EEF Counters detected: 4 Expected: 2 Glyph name: uni1EF0 Counters detected: 3 Expected: 2 Glyph name: uni1EF1 Counters detected: 4 Expected: 2 Glyph name: Ygrave Counters detected: 3 Expected: 2 Glyph name: uni1EF4 Counters detected: 3 Expected: 2 Glyph name: uni1EF6 Counters detected: 4 Expected: 2 Glyph name: uni1EF7 Counters detected: 3 Expected: 2 Glyph name: uni1EF8 Counters detected: 3 Expected: 2 Glyph name: uni2153 Counters detected: 6 Expected: 3 Glyph name: uni2154 Counters detected: 6 Expected: 1 or 3 Glyph name: oneeighth Counters detected: 7 Expected: 5 Glyph name: threeeighths Counters detected: 8 Expected: 5 Glyph name: fiveeighths Counters detected: 8 Expected: 5 Glyph name: seveneighths Counters detected: 8 Expected: 5 Glyph name: uniEFFD Counters detected: 74 Expected: 9 or 7
:warning: WARN: Check if OS/2 xAvgCharWidth is correct. * [com.google.fonts/check/034](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/034) * :warning: **WARN** OS/2 xAvgCharWidth is 657 but should be 660 which corresponds to the weighted average of the widths of the latin lowercase glyphs in the font. These are similar values, which may be a symptom of the slightly different calculation of the xAvgCharWidth value in font editors. There's further discussion on this at https://github.com/googlefonts/fontbakery/issues/1622
:warning: WARN: Is there kerning info for non-ligated sequences? * [com.google.fonts/check/065](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/065) * :warning: **WARN** GPOS table lacks kerning info for the following non-ligated sequences: ['uni0302_gravecomb', 'uni0302_acutecomb', 'uni0302_tildecomb', 'uni0302_hookabovecomb', 'uni0306_gravecomb', 'uni0306_acutecomb', 'uni0306_tildecomb', 'uni0306_hookabovecomb', 'N_o', 'T_h', 'c_h', 'c_t', 'f_f', 'f_i', 'f_l', 's_t', 'g_j', 'j_j'] [code: lacks-kern-info]
:warning: WARN: Is there a caret position declared for every ligature? * [com.google.fonts/check/064](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/064) * :warning: **WARN** It seems that this font lacks caret positioning values for some of its ligature glyphs on the GDEF table. There's a total of 9 ligatures, but only 7 sets of caret positioning values. [code: incomplete-caret-pos-data]
:warning: WARN: Check for points out of bounds. * [com.google.fonts/check/075](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/075) * :warning: **WARN** The following glyphs have coordinates which are out of bounds: [('uni0200', 420.34015999999997, 967.3545600000001), ('uni0200', 272.34015999999997, 967.3545600000001), ('uni0204', 410.34015999999997, 967.3545600000001), ('uni0204', 262.34015999999997, 967.3545600000001), ('uni0208', 175.34016, 967.3545600000001), ('uni0208', 27.34015999999997, 967.3545600000001), ('uni020C', 426.34015999999997, 967.3545600000001), ('uni020C', 278.34015999999997, 967.3545600000001), ('Ohungarumlaut', 435.65984000000003, 967.3545600000001), ('Ohungarumlaut', 583.65984, 967.3545600000001), ('uni0210', 389.34015999999997, 967.3545600000001), ('uni0210', 241.34015999999997, 967.3545600000001), ('uni0214', 427.34015999999997, 967.3545600000001), ('uni0214', 279.34015999999997, 967.3545600000001), ('Uhungarumlaut', 436.65984000000003, 967.3545600000001), ('Uhungarumlaut', 584.65984, 967.3545600000001), ('uni0204.ss04', 382.34015999999997, 967.3545600000001), ('uni0204.ss04', 234.34015999999997, 967.3545600000001), ('uni0201', 288.34015999999997, 759.3545600000001), ('uni0201', 140.34015999999997, 759.3545600000001), ('uni0205', 311.34015999999997, 759.3545600000001), ('uni0205', 163.34015999999997, 759.3545600000001), ('uni0209', 181.34016, 759.3545600000001), ('uni0209', 33.34015999999997, 759.3545600000001), ('uni020D', 319.34015999999997, 759.3545600000001), ('uni020D', 171.34015999999997, 759.3545600000001), ('ohungarumlaut', 328.65984000000003, 759.3545600000001), ('ohungarumlaut', 476.65984000000003, 759.3545600000001), ('uni0211', 230.34016, 759.3545600000001), ('uni0211', 82.34015999999997, 759.3545600000001), ('uni0215', 342.34015999999997, 759.3545600000001), ('uni0215', 194.34015999999997, 759.3545600000001), ('uhungarumlaut', 351.65984000000003, 759.3545600000001), ('uhungarumlaut', 499.65984000000003, 759.3545600000001), ('uni0201.ss02', 316.34015999999997, 759.3545600000001), ('uni0201.ss02', 168.34015999999997, 759.3545600000001), ('uni0201.sc', 362.34015999999997, 815.3545600000001), ('uni0201.sc', 214.34015999999997, 815.3545600000001), ('uni0205.sc', 353.34015999999997, 815.3545600000001), ('uni0205.sc', 205.34015999999997, 815.3545600000001), ('uni0209.sc', 181.34016, 815.3545600000001), ('uni0209.sc', 33.34015999999997, 815.3545600000001), ('uni020D.sc', 360.34015999999997, 815.3545600000001), ('uni020D.sc', 212.34015999999997, 815.3545600000001), ('ohungarumlaut.sc', 369.65984000000003, 815.3545600000001), ('ohungarumlaut.sc', 517.65984, 815.3545600000001), ('uni0211.sc', 342.34015999999997, 815.3545600000001), ('uni0211.sc', 194.34015999999997, 815.3545600000001), ('uni0215.sc', 360.34015999999997, 815.3545600000001), ('uni0215.sc', 212.34015999999997, 815.3545600000001), ('uhungarumlaut.sc', 369.65984000000003, 815.3545600000001), ('uhungarumlaut.sc', 517.65984, 815.3545600000001), ('uni0205.sc.ss04', 353.34015999999997, 815.3545600000001), ('uni0205.sc.ss04', 205.34015999999997, 815.3545600000001), ('uni030B', -238.34016, 759.3545600000001), ('uni030B', -90.34016, 759.3545600000001), ('uni030F', -191.65984, 759.3545600000001), ('uni030F', -339.65984000000003, 759.3545600000001), ('hungarumlaut', 199.65984, 759.3545600000001), ('hungarumlaut', 347.65984000000003, 759.3545600000001)] This happens a lot when points are not extremes, which is usually bad. However, fixing this alert by adding points on extremes may do more harm than good, especially with italics, calligraphic-script, handwriting, rounded and other fonts. So it is common to ignore this message
:zzz: SKIP: Checking OS/2 usWeightClass. * [com.google.fonts/check/020](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/020) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check copyright namerecords match license file. * [com.google.fonts/check/029](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/029) * :zzz: **SKIP** Unfulfilled Conditions: license
:zzz: SKIP: Checks METADATA.pb font.name field matches family name declared on the name table. * [com.google.fonts/check/092](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/092) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table. * [com.google.fonts/check/093](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/093) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.full_name value matches fullname declared on the name table? * [com.google.fonts/check/094](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/094) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name value should be same as the family name declared on the name table. * [com.google.fonts/check/095](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/095) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, style
:zzz: SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ? * [com.google.fonts/check/096](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/096) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values? * [com.google.fonts/check/097](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/097) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name field contains font name in right format? * [com.google.fonts/check/098](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/098) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.full_name field contains font name in right format? * [com.google.fonts/check/099](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/099) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.filename field contains font name in right format? * [com.google.fonts/check/100](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/100) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.post_script_name field contains font name in right format? * [com.google.fonts/check/101](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/101) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb matches canonical pattern? * [com.google.fonts/check/102](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/102) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. * [com.google.fonts/check/103](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/103) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars. * [com.google.fonts/check/104](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/104) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Filename is set canonically? * [com.google.fonts/check/105](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/105) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, canonical_filename
:zzz: SKIP: METADATA.pb font.style "italic" matches font internals? * [com.google.fonts/check/106](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/106) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.style "normal" matches font internals? * [com.google.fonts/check/107](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/107) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table? * [com.google.fonts/check/108](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/108) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check if fontname is not camel cased. * [com.google.fonts/check/109](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/109) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check font name is the same as family name. * [com.google.fonts/check/110](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/110) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, font_metadata
:zzz: SKIP: METADATA.pb: Check that font weight has a canonical value. * [com.google.fonts/check/111](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/111) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb. * [com.google.fonts/check/112](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/112) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb weight matches postScriptName. * [com.google.fonts/check/113](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/113) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Font styles are named canonically? * [com.google.fonts/check/115](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/115) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Version number has increased since previous release on Google Fonts? * [com.google.fonts/check/117](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/117) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont, github_gfonts_ttFont
:zzz: SKIP: Glyphs are similiar to Google Fonts version? * [com.google.fonts/check/118](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/118) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts? * [com.google.fonts/check/119](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/119) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Checking OS/2 fsSelection value. * [com.google.fonts/check/129](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/129) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking post.italicAngle value. * [com.google.fonts/check/130](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/130) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking head.macStyle value. * [com.google.fonts/check/131](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/131) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com * [com.google.fonts/check/154](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/154) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ? * [com.google.fonts/check/155](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/155) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Font has all mandatory 'name' table entries ? * [com.google.fonts/check/156](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/156) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_FAMILY_NAME entries. * [com.google.fonts/check/157](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/157) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/158](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/158) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FULL_FONT_NAME entries. * [com.google.fonts/check/159](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/159) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/160](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/160) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries. * [com.google.fonts/check/161](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/161) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries. * [com.google.fonts/check/162](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/162) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: FontForge validation outputs error messages? * [com.google.fonts/check/038](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/038) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: FontForge checks. * [com.google.fonts/check/039](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/039) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth? * [com.google.fonts/check/079](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/079) * :zzz: **SKIP** Unfulfilled Conditions: seems_monospaced
:zzz: SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance. * [com.google.fonts/check/168](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/168) * :zzz: **SKIP** Unfulfilled Conditions: regular_wdth_coord
:zzz: SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/169](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/169) * :zzz: **SKIP** Unfulfilled Conditions: regular_slnt_coord
:zzz: SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/170](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/170) * :zzz: **SKIP** Unfulfilled Conditions: regular_ital_coord
:zzz: SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance. * [com.google.fonts/check/171](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/171) * :zzz: **SKIP** Unfulfilled Conditions: regular_opsz_coord
:information_source: INFO: Font has old ttfautohint applied? * [com.google.fonts/check/056](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/056) * :information_source: **INFO** Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.023', 'Version 1.023']
:information_source: INFO: EPAR table present in font? * [com.google.fonts/check/061](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/061) * :information_source: **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
:information_source: INFO: Check for font-v versioning * [com.google.fonts/check/166](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/166) * :information_source: **INFO** Version string is: "Version 1.023" The version string must ideally include a git commit hash and either a 'dev' or a 'release' suffix such as in the example below: "Version 1.3; git-0d08353-release"
:information_source: INFO: Font contains all required tables? * [com.google.fonts/check/052](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/052) * :information_source: **INFO** This font contains the following optional tables [GSUB, prep, gasp, GPOS, loca, DSIG] * :bread: **PASS** Font contains all required tables.
:bread: PASS: Checking file is named canonically. * [com.google.fonts/check/001](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/001) * :bread: **PASS** HeptaSlabBeta-VF.ttf is named canonically.
:bread: PASS: Fonts have equal numbers of glyphs? * [com.google.fonts/check/011](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/011) * :bread: **PASS** All font files in this family have an equal total ammount of glyphs.
:bread: PASS: Fonts have equal glyph names? * [com.google.fonts/check/012](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/012) * :bread: **PASS** All font files have identical glyph names.
:bread: PASS: Checking OS/2 fsType. * [com.google.fonts/check/016](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/016) * :bread: **PASS** OS/2 fsType is properly set to zero.
:bread: PASS: Checking OS/2 achVendID. * [com.google.fonts/check/018](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/018) * :bread: **PASS** OS/2 VendorID 'MLAG' looks good!
:bread: PASS: Substitute copyright, registered and trademark symbols in name table entries. * [com.google.fonts/check/019](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/019) * :bread: **PASS** No need to substitute copyright, registered and trademark symbols in name table entries of this font.
:bread: PASS: "License URL matches License text on name table? * [com.google.fonts/check/030](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/030) * :bread: **PASS** Font has a valid license URL in NAME table.
:bread: PASS: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/032](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/032) * :bread: **PASS** All description name records have reasonably small lengths.
:bread: PASS: Version format is correct in 'name' table? * [com.google.fonts/check/055](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/055) * :bread: **PASS** Version format in NAME table entries is correct.
:bread: PASS: Is 'gasp' table set to optimize rendering? * [com.google.fonts/check/062](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/062) * :bread: **PASS** 'gasp' table is correctly set, with one gaspRange:value of 0xFFFF:0x0F.
:bread: PASS: Make sure family name does not begin with a digit. * [com.google.fonts/check/067](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/067) * :bread: **PASS** Font family name first character is not a digit.
:bread: PASS: Font has all expected currency sign characters? * [com.google.fonts/check/070](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/070) * :bread: **PASS** Font has all expected currency sign characters.
:bread: PASS: Are there non-ASCII characters in ASCII-only NAME table entries? * [com.google.fonts/check/074](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/074) * :bread: **PASS** None of the ASCII-only NAME table entries contain non-ASCII characteres.
:bread: PASS: Is font em size (ideally) equal to 1000? * [com.google.fonts/check/116](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/116) * :bread: **PASS** Font em size is equal to 1000.
:bread: PASS: Length of copyright notice must not exceed 500 characters. * [com.google.fonts/check/164](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/164) * :bread: **PASS** All copyright notice name entries on the 'name' table are shorter than 500 characters.
:bread: PASS: Familyname must be unique according to namecheck.fontdata.com * [com.google.fonts/check/165](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/165) * :bread: **PASS** Font familyname seems to be unique.
:bread: PASS: Check a static ttf can be generated from a variable font. * [com.google.fonts/check/174](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/174) * :bread: **PASS** fontTools.varLib.mutator generated a static font instance
:bread: PASS: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/040](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/040) * :bread: **PASS** OS/2 usWinAscent & usWinDescent values look good!
:bread: PASS: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/042](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/042) * :bread: **PASS** OS/2.sTypoAscender/Descender match hhea.ascent/descent.
:bread: PASS: Font enables smart dropout control in "prep" table instructions? * [com.google.fonts/check/072](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/072) * :bread: **PASS** 'prep' table contains instructions enabling smart dropout control.
:bread: PASS: Checking with ftxvalidator. * [com.google.fonts/check/035](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/035) * :bread: **PASS** ftxvalidator passed this file
:bread: PASS: Checking with ots-sanitize. * [com.google.fonts/check/036](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/036) * :bread: **PASS** ots-sanitize passed this file
:bread: PASS: Font contains .notdef as first glyph? * [com.google.fonts/check/046](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/046) * :bread: **PASS** Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
:bread: PASS: Font contains glyphs for whitespace characters? * [com.google.fonts/check/047](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/047) * :bread: **PASS** Font contains glyphs for whitespace characters.
:bread: PASS: Font has **proper** whitespace glyph names? * [com.google.fonts/check/048](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/048) * :bread: **PASS** Font has **proper** whitespace glyph names.
:bread: PASS: Whitespace glyphs have ink? * [com.google.fonts/check/049](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/049) * :bread: **PASS** There is no whitespace glyph with ink.
:bread: PASS: Are there unwanted tables? * [com.google.fonts/check/053](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/053) * :bread: **PASS** There are no unwanted tables.
:bread: PASS: Glyph names are all valid? * [com.google.fonts/check/058](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/058) * :bread: **PASS** Glyph names are all valid.
:bread: PASS: Font contains unique glyph names? * [com.google.fonts/check/059](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/059) * :bread: **PASS** Font contains unique glyph names.
:bread: PASS: Checking with fontTools.ttx * [com.google.fonts/check/ttx-roundtrip](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ttx-roundtrip) * :bread: **PASS** Hey! It all looks good!
:bread: PASS: Check glyphs have unique unicode codepoints. * [com.google.fonts/check/076](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/076) * :bread: **PASS** All glyphs have unique unicode codepoint assignments.
:bread: PASS: Check all glyphs have codepoints assigned. * [com.google.fonts/check/077](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/077) * :bread: **PASS** All glyphs have a codepoint value assigned.
:bread: PASS: Checking unitsPerEm value is reasonable. * [com.google.fonts/check/043](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/043) * :bread: **PASS** unitsPerEm value on the 'head' table is reasonable.
:bread: PASS: Checking font version fields (head and name table). * [com.google.fonts/check/044](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/044) * :bread: **PASS** All font version fields match.
:bread: PASS: Font has correct post table version (2 for TTF, 3 for OTF)? * [com.google.fonts/check/015](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/015) * :bread: **PASS** Font has post table version 2.
:bread: PASS: Description strings in the name table must not contain copyright info. * [com.google.fonts/check/031](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/031) * :bread: **PASS** Description strings in the name table do not contain any copyright string.
:bread: PASS: Checking correctness of monospaced metadata. * [com.google.fonts/check/033](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/033) * :bread: **PASS** Font is not monospaced and all related metadata look good. [code: good]
:bread: PASS: Name table entries should not contain line-breaks. * [com.google.fonts/check/057](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/057) * :bread: **PASS** Name table entries are all single-line (no line-breaks found).
:bread: PASS: Does full font name begin with the font family name? * [com.google.fonts/check/068](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/068) * :bread: **PASS** Full font name begins with the font family name.
:bread: PASS: Font follows the family naming recommendations? * [com.google.fonts/check/071](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/071) * :bread: **PASS** Font follows the family naming recommendations.
:bread: PASS: Name table strings must not contain the string 'Reserved Font Name'. * [com.google.fonts/check/152](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/152) * :bread: **PASS** None of the name table strings contain "Reserved Font Name".
:bread: PASS: Combined length of family and style must not exceed 20 characters. * [com.google.fonts/check/163](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/163) * :bread: **PASS** All name entries are good.
:bread: PASS: Checking Vertical Metric Linegaps. * [com.google.fonts/check/041](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/041) * :bread: **PASS** OS/2 sTypoLineGap and hhea lineGap are both 0.
:bread: PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables? * [com.google.fonts/check/073](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/073) * :bread: **PASS** MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
:bread: PASS: Does the font have a DSIG table? * [com.google.fonts/check/045](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/045) * :bread: **PASS** Digital Signature (DSIG) exists.
:bread: PASS: Whitespace and non-breaking space have the same width? * [com.google.fonts/check/050](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/050) * :bread: **PASS** Whitespace and non-breaking space have the same width.
:bread: PASS: Does GPOS table have kerning information? * [com.google.fonts/check/063](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/063) * :bread: **PASS** GPOS table has got kerning information.
:bread: PASS: Is there a "kern" table declared in the font? * [com.google.fonts/check/066](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/066) * :bread: **PASS** Font does not declare an optional "kern" table.
:bread: PASS: Is there any unused data at the end of the glyf table? * [com.google.fonts/check/069](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/069) * :bread: **PASS** There is no unused data at the end of the glyf table.
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance. * [com.google.fonts/check/167](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/167) * :bread: **PASS** Regular:wght is 400.
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance. * [com.google.fonts/check/172](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/172) * :bread: **PASS** Bold:wght is 700.
:bread: PASS: Does the number of glyphs in the loca table match the maxp table? * [com.google.fonts/check/180](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/180) * :bread: **PASS** 'loca' table matches numGlyphs in 'maxp' table.

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
1 1 6 63 4 58
1% 1% 5% 47% 3% 44%
m4rc1e commented 6 years ago

For the static ttfs

Fontbakery report

[1] Family checks
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **FAIL** No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: none]

[1] HeptaSlab-Black.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1223 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1224 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1260

[1] HeptaSlab-Bold.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1223 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1224 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1260 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1261

[1] HeptaSlab-ExtraBold.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 440 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1223 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1224 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1260 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1261

[1] HeptaSlab-ExtraLight.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: The usWeightClass is not a valid value DETAILS: 275 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 899 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 903 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1223 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1224 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1260 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1261

[1] HeptaSlab-Light.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1223 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1224 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1260 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1261

[1] HeptaSlab-Medium.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1223 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1224 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1260 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1261

[1] HeptaSlab-Regular.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1191 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1223 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1224 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1260 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1261

[1] HeptaSlab-SemiBold.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1223 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1224 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1260 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1261

[1] HeptaSlab-Thin.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: The usWeightClass is not a valid value DETAILS: 250 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1223 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1224 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1260

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
0 10 43 367 45 548
0% 1% 4% 36% 4% 54%

Note: The following loglevels were omitted in this report:

mjlagattuta commented 6 years ago

Updated static ttfs. All fails with intersecting contours have been reviewed and only happen on special miscellaneous glyphs.

Fontbakery report

[1] Family checks
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **FAIL** No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: none]

[1] HeptaSlab-Black.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1262

[1] HeptaSlab-Bold.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1262 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1263

[1] HeptaSlab-ExtraBold.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1262 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1263

[1] HeptaSlab-ExtraLight.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: The usWeightClass is not a valid value DETAILS: 275 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1262 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1263

[1] HeptaSlab-Light.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1262 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1263

[1] HeptaSlab-Medium.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1262 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1263

[1] HeptaSlab-Regular.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1262 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1263

[1] HeptaSlab-SemiBold.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1262 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1263

[1] HeptaSlab-Thin.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: The usWeightClass is not a valid value DETAILS: 250 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1262

[1] HeptaSlabHairline-Regular.ttf
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1262

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
0 11 48 405 50 618
0% 1% 4% 36% 4% 55%

Note: The following loglevels were omitted in this report:

davelab6 commented 6 years ago

Great work!

m4rc1e commented 6 years ago

I talked with Dave the other day and we thought it would be best to release this as an unhinted VF. Could we also gen one? I'm happy with the FB reports and the metrics now.

mjlagattuta commented 6 years ago

New beta VF is in the fonts/variable folder. Results below, currently no hinting so it does not need ttfautohint paramaters, and the fails on fontVal I believe are expected with a VF. (note: there were fails for "invalid DeltaFormat" on every glyph, which made the markdown too long, so I abridged it to just one entry)

Fontbakery report

[22] Family checks
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **FAIL** No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: none]
:bread: PASS: Checking all files are in the same directory. * [com.google.fonts/check/002](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/002) * :bread: **PASS** All files are in the same directory.
:bread: PASS: Fonts have equal unicode encodings? * [com.google.fonts/check/013](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/013) * :bread: **PASS** Fonts have equal unicode encodings.
:bread: PASS: Make sure all font files have the same version value. * [com.google.fonts/check/014](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/014) * :bread: **PASS** All font files have the same version.
:bread: PASS: Fonts have consistent PANOSE proportion? * [com.google.fonts/check/009](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/009) * :bread: **PASS** Fonts have consistent PANOSE proportion.
:bread: PASS: Fonts have consistent PANOSE family type? * [com.google.fonts/check/010](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/010) * :bread: **PASS** Fonts have consistent PANOSE family type.
:bread: PASS: Fonts have consistent underline thickness? * [com.google.fonts/check/008](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/008) * :bread: **PASS** Fonts have consistent underline thickness.
:zzz: SKIP: Does DESCRIPTION file contain broken links? * [com.google.fonts/check/003](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/003) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Is this a proper HTML snippet? * [com.google.fonts/check/004](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/004) * :zzz: **SKIP** Unfulfilled Conditions: descfile
:zzz: SKIP: DESCRIPTION.en_us.html must have more than 200 bytes. * [com.google.fonts/check/005](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/005) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes. * [com.google.fonts/check/006](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/006) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Font designer field in METADATA.pb must not be 'unknown'. * [com.google.fonts/check/007](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/007) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API? * [com.google.fonts/check/081](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/081) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only has unique "full_name" values. * [com.google.fonts/check/083](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/083) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs. * [com.google.fonts/check/084](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/084) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"? * [com.google.fonts/check/085](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/085) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb should contain at least "menu" and "latin" subsets. * [com.google.fonts/check/086](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/086) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb subsets should be alphabetically ordered. * [com.google.fonts/check/087](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/087) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Copyright notice is the same in all fonts? * [com.google.fonts/check/088](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/088) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: Check that METADATA.pb family values are all the same. * [com.google.fonts/check/089](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/089) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style. * [com.google.fonts/check/090](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/090) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Regular should be 400. * [com.google.fonts/check/091](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/091) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, has_regular_style

[111] HeptaSlab-VF.ttf
:fire: FAIL: Font has ttfautohint params? * [com.google.fonts/check/has_ttfautohint_params](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/has_ttfautohint_params) * :fire: **FAIL** Font is lacking ttfautohint params on its version strings on the name table.
:fire: FAIL: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :fire: **FAIL** MS-FonVal: The version number is neither 0x00010000 nor 0x0001002 DETAILS: 0x00010003 * :fire: **FAIL** MS-FonVal: The device table's DeltaFormat value is invalid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[0], PairValueRecord[0], Value1, XAdvDeviceTable, DeltaFormat = 32768 * :fire: **FAIL** MS-FonVal: The version number is not 0x00010000 DETAILS: 0x00010001 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 0 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 4 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 18, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 29 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 31 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 32 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 39 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 41 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 47 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 58, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 70 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 71 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 75 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 76 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 79 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 80 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 81 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 89, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 102 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 103 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 104 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 105 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 109 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 110 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 115 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 116 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 118 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 122 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 123 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 126 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 139, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 152, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 158 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 159 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 161 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 166 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 167 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 168 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 169 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 170 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 171 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 174 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 175 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 176, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 180 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 187 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 188 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 192 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 193 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 195 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 199 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 206, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 211 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 217, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 225 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 226 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 231 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 232 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 242 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 247 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 252 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 263, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 274 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 275 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 289, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 300 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 302 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 303 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 310 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 311 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 313 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 314 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 318 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 329, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 343 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 347 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 348 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 351 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 352 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 353 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 362, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 376 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 377 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 378 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 379 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 384 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 389 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 390 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 392 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 395 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 396 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 399 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 412, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 425, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 431 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 432 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 434 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 439 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 440 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 441 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 442 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 443 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 446 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 447 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 448, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 452 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 459 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 460 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 464 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 467 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 471 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 475 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 479, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 490, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 498 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 499 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 504 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 505 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 511 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 516 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 523 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 527 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 531 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 536 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 550, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 561 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 565 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 566 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 569 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 570 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 571 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 572 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 573 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 574 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 575 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 576 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 577 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 578 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 579 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 580 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 581 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 584 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 585 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 586 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 587 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 588 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 589 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 590 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 591 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 592 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 593 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 595 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 596 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 610, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 621 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 623 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 624 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 631 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 632 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 638 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 649, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 661 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 662 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 663 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 667 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 668 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 671 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 672 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 673 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 681, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 694 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 695 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 696 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 697 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 700 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 701 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 706 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 707 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 709 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 712 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 713 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 716 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 729, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 742, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 748 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 749 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 751 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 756 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 757 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 758 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 759 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 760 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 761 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 764 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 765 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 766, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 770 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 777 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 778 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 782 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 784 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 788 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 796, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 801 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 807, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 815 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 816 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 821 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 822 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 832 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 837 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 842 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 853, Composite Maximal deviation=8(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 865 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 866 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 868 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 869 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 870 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 873 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 874 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 875 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 876 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 877 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 878 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 879 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 880 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 883 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 884 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 885 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 886 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 887 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 888 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 889 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 890 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 893 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 894 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 895 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 897 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 898 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 900 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 901 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 902 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 903 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 904 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 905 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 906 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 907 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 910 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 911 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 912 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 914 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 915 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 916 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 917 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 918 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 919 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 920 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 921 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 924 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 925 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 926 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 927 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 929 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 930 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 931 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 932 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 933 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 934 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 935 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 936 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 979 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 980 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 995 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1000 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1001 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1002 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1003 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1004 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1005 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1006 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1007 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1010 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1011 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1012 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1016 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1017 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1018 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1019 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1020 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1021 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1025 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1026 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1029 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1032 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1040 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1041 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1053 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1056 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1078 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1080 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1082 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1084 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1086 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1088 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1105 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1107 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1109 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1111 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1125 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1126 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1127 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1128 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1129 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1130 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1131 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1132 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1134 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1135 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1136 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1137 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1138 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1139 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1140 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1141 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1142 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1143 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1144 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1145 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1146 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1148 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1149 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1150 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1151 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1153 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1154 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1155 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1156 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1157 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1158 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1159 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1160 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1161 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1162 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1163 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1164 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1165 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1166 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1167 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1168 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1170 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1171 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1172 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1181 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1188 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1191 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1192 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1198 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 1205, Composite Maximal deviation=123(FU) * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 1207, Composite Maximal deviation=123(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1208 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1211 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 1215, Composite Maximal deviation=110(FU) * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 1217, Composite Maximal deviation=63(FU) * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 1219, Composite Maximal deviation=110(FU) * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 1221, Composite Maximal deviation=63(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1222 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1223 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1224 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1225 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1226 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1227 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1228 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1229 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1236 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1239 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1243 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1245 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1247 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 1261, Composite Maximal deviation=36(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1270 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 1271, Composite Maximal deviation=36(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1274 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1276 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1281 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1282 * :fire: **FAIL** MS-FonVal: Bounding box is incorrect DETAILS: Glyph index 1298, Composite Maximal deviation=36(FU) * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1304 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1319 * :fire: **FAIL** MS-FonVal: Intersecting contours DETAILS: Glyph index 1320 * :information_source: **INFO** Microsoft Font Validator returned an error code. Output follows : HeptaSlab-VF.ttf (file 1 of 1) Table Test: DSIG Table Test: GDEF Table Test: GPOS Table Test: GSUB Table Test: OS/2 Table Test: cmap Table Test: gasp Table Test: glyf Progress: Validating glyph with index 0 (out of 1321 glyphs) Progress: Validating glyph with index 100 (out of 1321 glyphs) Progress: Validating glyph with index 200 (out of 1321 glyphs) Progress: Validating glyph with index 300 (out of 1321 glyphs) Progress: Validating glyph with index 400 (out of 1321 glyphs) Progress: Validating glyph with index 500 (out of 1321 glyphs) Progress: Validating glyph with index 600 (out of 1321 glyphs) Progress: Validating glyph with index 700 (out of 1321 glyphs) Progress: Validating glyph with index 800 (out of 1321 glyphs) Progress: Validating glyph with index 900 (out of 1321 glyphs) Progress: Validating glyph with index 1000 (out of 1321 glyphs) Progress: Validating glyph with index 1100 (out of 1321 glyphs) Progress: Validating glyph with index 1200 (out of 1321 glyphs) Progress: Validating glyph with index 1300 (out of 1321 glyphs) Table Test: head Table Test: hhea Table Test: hmtx Table Test: loca Table Test: maxp Table Test: name Table Test: post Table Test: prep Begin Raster Test: Black and White Begin Raster Test: Grayscale Begin Raster Test: ClearType Complete: HeptaSlab-VF.ttf.report.xml Unhandled Exception: System.DllNotFoundException: libfreetype.6.dylib at (wrapper managed-to-native) SharpFont.FT.FT_Done_FreeType(intptr) at SharpFont.Library.Dispose (System.Boolean disposing) [0x001a3] in <6bd9613faa3d4edfac217488ff609b6f>:0 at SharpFont.Library.Finalize () [0x00000] in <6bd9613faa3d4edfac217488ff609b6f>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.DllNotFoundException: libfreetype.6.dylib at (wrapper managed-to-native) SharpFont.FT.FT_Done_FreeType(intptr) at SharpFont.Library.Dispose (System.Boolean disposing) [0x001a3] in <6bd9613faa3d4edfac217488ff609b6f>:0 at SharpFont.Library.Finalize () [0x00000] in <6bd9613faa3d4edfac217488ff609b6f>:0 * :information_source: **INFO** MS-FonVal: The file begins with an Offset Table (file contains a single font) * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Latin Extended-B', 62 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'IPA Extensions', 1 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Spacing Modifier Letters', 19 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Combining Diacritical Marks', 28 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Greek', 4 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'General Punctuation', 27 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Letterlike Symbols', 5 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Number Forms', 6 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 4 characters are present in the ranges: Arrows, Supplementary Arrows A, Supplementary Arrows B * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 17 characters are present in the ranges: Mathematical Operators, Supplemental Mathematical Operators, Mathematical Symbols A, Mathematical Symbols B * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Geometric Shapes', 13 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Private Use Area', 2 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Alphabetic Presentation Forms', 2 characters are present * :information_source: **INFO** MS-FonVal: Characters in a unicode range are present in the font, but not indicated in ulUnicodeRange fields DETAILS: 'Arabic Presentation Forms-B', 1 characters are present * :information_source: **INFO** MS-FonVal: Not an OpenType table, contents not validated * :information_source: **INFO** MS-FonVal: Not an OpenType table, contents not validated DETAILS: This table type is defined in the Apple TrueType spec. * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 0 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 4 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 29 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 31 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 32 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 39 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 41 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 47 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 70 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 71 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 75 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 76 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 79 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 80 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 81 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 102 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 103 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 104 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 105 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 109 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 110 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 115 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 116 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 118 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 122 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 123 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 126 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 158 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 159 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 161 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 166 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 167 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 168 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 169 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 170 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 171 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 174 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 175 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 180 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 187 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 188 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 192 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 193 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 195 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 199 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 211 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 225 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 226 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 231 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 232 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 242 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 247 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 252 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 274 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 275 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 300 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 302 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 303 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 310 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 311 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 313 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 314 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 318 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 343 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 347 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 348 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 351 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 352 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 353 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 376 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 377 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 378 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 379 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 384 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 389 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 390 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 392 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 395 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 396 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 399 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 431 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 432 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 434 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 439 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 440 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 441 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 442 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 443 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 446 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 447 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 452 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 459 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 460 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 464 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 467 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 471 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 475 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 498 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 499 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 504 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 505 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 511 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 516 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 523 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 527 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 531 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 536 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 561 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 565 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 566 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 569 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 570 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 571 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 572 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 573 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 574 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 575 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 576 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 577 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 578 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 579 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 580 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 581 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 584 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 585 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 586 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 587 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 588 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 589 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 590 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 591 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 592 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 593 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 595 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 596 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 621 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 623 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 624 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 631 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 632 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 638 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 661 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 662 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 663 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 667 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 668 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 671 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 672 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 673 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 694 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 695 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 696 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 697 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 700 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 701 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 706 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 707 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 709 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 712 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 713 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 716 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 748 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 749 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 751 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 756 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 757 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 758 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 759 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 760 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 761 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 764 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 765 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 770 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 777 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 778 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 782 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 784 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 788 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 801 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 815 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 816 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 821 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 822 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 832 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 837 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 842 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 865 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 866 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 868 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 869 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 870 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 873 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 874 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 875 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 876 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 877 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 878 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 879 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 880 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 883 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 884 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 885 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 886 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 887 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 888 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 889 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 890 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 893 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 894 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 895 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 897 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 898 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 900 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 901 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 902 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 903 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 904 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 905 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 906 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 907 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 910 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 911 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 912 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 914 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 915 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 916 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 917 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 918 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 919 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 920 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 921 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 924 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 925 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 926 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 927 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 929 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 930 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 931 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 932 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 933 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 934 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 935 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 936 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 979 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 980 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 995 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1000 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1001 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1002 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1003 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1004 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1005 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1006 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1007 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1010 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1011 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1012 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1016 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1017 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1018 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1019 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1020 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1021 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1025 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1026 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1029 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1032 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1040 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1041 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1053 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1056 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1078 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1080 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1082 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1084 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1086 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1088 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1105 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1107 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1109 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1111 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1125 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1126 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1127 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1128 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1129 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1130 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1131 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1132 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1134 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1135 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1136 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1137 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1138 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1139 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1140 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1141 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1142 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1143 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1144 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1145 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1146 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1148 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1149 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1150 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1151 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1153 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1154 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1155 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1156 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1157 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1158 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1159 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1160 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1161 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1162 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1163 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1164 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1165 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1166 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1167 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1168 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1170 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1171 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1172 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1181 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1188 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1191 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1192 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1198 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1208 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1211 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1222 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1223 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1224 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1225 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1226 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1227 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1228 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1229 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1236 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1239 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1243 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1245 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1247 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1270 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1274 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1276 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1281 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1282 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1304 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1319 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Unable to perform test due to previously detected errors DETAILS: Glyph index 1320 Test: ValidateSimpContMisor * :information_source: **INFO** MS-FonVal: Descender should be greater than or equal to head.yMin DETAILS: Descender = -263, head.yMin = -255 * :information_source: **INFO** MS-FonVal: Loca references a zero-length entry in the glyf table DETAILS: Number of glyphs that are empty = 10 * :information_source: **INFO** MS-FonVal: maxSizeOfInstructions via method #1 DETAILS: maxSizeOfInstructions=0, computed from the glyf table * :information_source: **INFO** MS-FonVal: No string for Typographic Family name (Name ID 16) * :information_source: **INFO** MS-FonVal: No string for Typographic Subfamily name (Name ID 17) * :information_source: **INFO** MS-FonVal: The post name isn't in uniXXXX or uXXXXX format and there is no Adobe Glyph List entry DETAILS: glyph = 1, char = U+0000, name = NULL * :information_source: **INFO** MS-FonVal: Validation for the prep table is not directly implemented, but rasterization testing will validate any executed hinting instructions * :information_source: **INFO** MS-FonVal: An exception occurred during rasterization testing DETAILS: libfreetype.6.dylib at (wrapper managed-to-native) SharpFont.FT.FT_Init_FreeType(intptr&) at SharpFont.Library..ctor () [0x00007] in <6bd9613faa3d4edfac217488ff609b6f>:0 at OTFontFile.Rasterizer.RasterInterf..ctor () [0x00061] in <8bf3804a877240f6a426a121cde2d694>:0 at OTFontFile.Rasterizer.RasterInterf.getInstance () [0x0000a] in <8bf3804a877240f6a426a121cde2d694>:0 at OTFontFileVal.OTFileVal.GetRasterizer () [0x00000] in <96025b618ca64658ad6b94312cc3f5e3>:0 at OTFontFileVal.OTFontVal.Validate () [0x00426] in <96025b618ca64658ad6b94312cc3f5e3>:0 * :information_source: **INFO** MS-FonVal: An exception occurred during rasterization testing DETAILS: libfreetype.6.dylib at (wrapper managed-to-native) SharpFont.FT.FT_Init_FreeType(intptr&) at SharpFont.Library..ctor () [0x00007] in <6bd9613faa3d4edfac217488ff609b6f>:0 at OTFontFile.Rasterizer.RasterInterf..ctor () [0x00061] in <8bf3804a877240f6a426a121cde2d694>:0 at OTFontFile.Rasterizer.RasterInterf.getInstance () [0x0000a] in <8bf3804a877240f6a426a121cde2d694>:0 at OTFontFileVal.OTFileVal.GetRasterizer () [0x00000] in <96025b618ca64658ad6b94312cc3f5e3>:0 at OTFontFileVal.OTFontVal.Validate () [0x00597] in <96025b618ca64658ad6b94312cc3f5e3>:0 * :information_source: **INFO** MS-FonVal: An exception occurred during rasterization testing DETAILS: libfreetype.6.dylib at (wrapper managed-to-native) SharpFont.FT.FT_Init_FreeType(intptr&) at SharpFont.Library..ctor () [0x00007] in <6bd9613faa3d4edfac217488ff609b6f>:0 at OTFontFile.Rasterizer.RasterInterf..ctor () [0x00061] in <8bf3804a877240f6a426a121cde2d694>:0 at OTFontFile.Rasterizer.RasterInterf.getInstance () [0x0000a] in <8bf3804a877240f6a426a121cde2d694>:0 at OTFontFileVal.OTFileVal.GetRasterizer () [0x00000] in <96025b618ca64658ad6b94312cc3f5e3>:0 at OTFontFileVal.OTFontVal.Validate () [0x00710] in <96025b618ca64658ad6b94312cc3f5e3>:0 * :information_source: **INFO** MS-FonVal: Total time validating file DETAILS: 0:00:23 * :bread: **PASS** MS-FonVal: The numTables field is non-zero DETAILS: 20 * :bread: **PASS** MS-FonVal: The searchRange, entrySelector, and rangeShift fields are all valid * :bread: **PASS** MS-FonVal: The directory entry tags are in ascending order * :bread: **PASS** MS-FonVal: The directory entry tag names are valid * :bread: **PASS** MS-FonVal: The directory entry table offsets are all multiples of 4 * :bread: **PASS** MS-FonVal: All required tables are present * :bread: **PASS** MS-FonVal: No unnecessary tables are present * :bread: **PASS** MS-FonVal: Tables are in optimal order * :bread: **PASS** MS-FonVal: All signature blocks were in format 1 * :bread: **PASS** MS-FonVal: All signature blocks' reserved values were 0 * :bread: **PASS** MS-FonVal: The digital signature of the file verified correctly * :bread: **PASS** MS-FonVal: All header offsets point within the table * :bread: **PASS** MS-FonVal: The Coverage offset is nonzero and points within the GDEF table DETAILS: LigCaretList * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[0] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[1] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[2] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[3] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[4] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[5] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[6] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[7] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[8] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[9] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[10] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[11] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[12] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[13] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[14] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[15] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[16] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[17] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[18] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[19] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[20] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[21] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[22] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[23] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[24] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[25] * :bread: **PASS** MS-FonVal: The offsets in the CaretValue array are valid DETAILS: LigCaretList, LigGlyph[26] * :bread: **PASS** MS-FonVal: The offsets in the LigGlyph array are valid DETAILS: LigCaretList * :bread: **PASS** MS-FonVal: The version number is 0x00010000 * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable, DefaultLangSysTable * :bread: **PASS** MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord[0](DFLT), ScriptTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, DefaultLangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[0], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[1], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[2], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[3], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[4], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[5], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[6], LangSysTable * :bread: **PASS** MS-FonVal: The LangSysTable is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable, LangSysRecord[7], LangSysTable * :bread: **PASS** MS-FonVal: The Script Table is valid DETAILS: ScriptList, ScriptRecord[1](latn), ScriptTable * :bread: **PASS** MS-FonVal: The ScriptList Table is valid DETAILS: ScriptList * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[0](cpsp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[1](cpsp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[2](cpsp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[3](cpsp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[4](cpsp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[5](cpsp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[6](cpsp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[7](cpsp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[8](cpsp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[9](cpsp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[10](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[11](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[12](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[13](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[14](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[15](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[16](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[17](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[18](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[19](kern), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[20](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[21](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[22](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[23](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[24](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[25](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[26](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[27](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[28](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[29](mark), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[30](mkmk), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[31](mkmk), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[32](mkmk), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[33](mkmk), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[34](mkmk), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[35](mkmk), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[36](mkmk), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[37](mkmk), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[38](mkmk), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[39](mkmk), FeatureTable * :bread: **PASS** MS-FonVal: The FeatureList table is valid DETAILS: FeatureList * :bread: **PASS** MS-FonVal: The SinglePos subtable is valid DETAILS: LookupList, Lookup[0], SubTable[0](SinglePos, fmt 1) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos) * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[0] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[1] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[2] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[3] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[4] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[5] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[6] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[7] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[8] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[9] * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](ExtensionPos)(PairPos, fmt 1) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[1](ExtensionPos) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[1](ExtensionPos)(PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[2](ExtensionPos) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[2](ExtensionPos)(PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[3](ExtensionPos) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[1], SubTable[3](ExtensionPos)(PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos) * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[0] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[1] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[2] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[3] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[4] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[5] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[6] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[7] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[8] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[9] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[10] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[11] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[12] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[13] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[14] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[15] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[16] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[17] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[18] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[19] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[20] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[21] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[22] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[23] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[24] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[25] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[26] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[27] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[28] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[29] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[30] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[31] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[32] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[33] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[34] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[35] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[36] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[37] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[38] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[39] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[40] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[41] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[42] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[43] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[44] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[45] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[46] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[47] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[48] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[49] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[50] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[51] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[52] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[53] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[54] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[55] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[56] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[57] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[58] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[59] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[60] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[61] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[62] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[63] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[64] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[65] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[66] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[67] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[68] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[69] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[70] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[71] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[72] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[73] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[74] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[75] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[76] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[77] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[78] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[79] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[80] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[81] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[82] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[83] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[84] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[85] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[86] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[87] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[88] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[89] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[90] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[91] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[92] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[93] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[94] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[95] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[96] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[97] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[98] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[99] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[100] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[101] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[102] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[103] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[104] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[105] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[106] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[107] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[108] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[109] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[110] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[111] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[112] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[113] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[114] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[115] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[116] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[117] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[118] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[119] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[120] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[121] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[122] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[123] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[124] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[125] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[126] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[127] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[128] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[129] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[130] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[131] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[132] * :bread: **PASS** MS-FonVal: The PairSet table is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1), PairSet[133] * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[0](ExtensionPos)(PairPos, fmt 1) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[1](ExtensionPos) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[1](ExtensionPos)(PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[2](ExtensionPos) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[2](ExtensionPos)(PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[3](ExtensionPos) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[3](ExtensionPos)(PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[4](ExtensionPos) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[4](ExtensionPos)(PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[5](ExtensionPos) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[5](ExtensionPos)(PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[6](ExtensionPos) * :bread: **PASS** MS-FonVal: The PairPos subtable is valid DETAILS: LookupList, Lookup[2], SubTable[6](ExtensionPos)(PairPos, fmt 2) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[3], SubTable[0](ExtensionPos) * :bread: **PASS** MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[3], SubTable[0](ExtensionPos)(MarkBasePos), BaseArray * :bread: **PASS** MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[3], SubTable[0](ExtensionPos)(MarkBasePos) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[4], SubTable[0](ExtensionPos) * :bread: **PASS** MS-FonVal: The BaseArray table is valid DETAILS: LookupList, Lookup[4], SubTable[0](ExtensionPos)(MarkBasePos), BaseArray * :bread: **PASS** MS-FonVal: The MarkBasePos subtable is valid DETAILS: LookupList, Lookup[4], SubTable[0](ExtensionPos)(MarkBasePos) * :bread: **PASS** MS-FonVal: The ExtensiontPos subtable is valid DETAILS: LookupList, Lookup[5], SubTable[0](ExtensionPos) * :bread: **PASS** MS-FonVal: The LigatureArray table is valid DETAILS: LookupList, Lookup[5], SubTable[0](ExtensionPos)(MarkLigPos), LigatureArray * :bread: **PASS** MS-FonVal: The MarkLigPos subtable is valid DETAILS: LookupList, Lookup[5], SubTable[0](ExtensionPos)(MarkLigPos) * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[0] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[1] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[2] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[3] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[4] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[5] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[6] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[7] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[8] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[9] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[10] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[11] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[12] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[13] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[14] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[15] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[16] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[17] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[18] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[19] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[20] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[21] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[22] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[23] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[24] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[25] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[26] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[27] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[28] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[29] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[30] * :bread: **PASS** MS-FonVal: The Mark2Array table is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos), Mark2Array * :bread: **PASS** MS-FonVal: The MarkMarkPos subtable is valid DETAILS: LookupList, Lookup[6], SubTable[0](MarkMarkPos) * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[7], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[0] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[7], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[1] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[7], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[2] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[7], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[3] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[7], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[4] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[7], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[5] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[7], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[6] * :bread: **PASS** MS-FonVal: The Mark2Record is valid DETAILS: LookupList, Lookup[7], SubTable[0](MarkMarkPos), Mark2Array, Mark2Record[7] * :bread: **PASS** MS-FonVal: The Mark2Array table is valid DETAILS: LookupList, Lookup[7], SubTable[0](MarkMarkPos), Mark2Array * :bread: **PASS** MS-FonVal: The MarkMarkPos subtable is valid DETAILS: LookupList, Lookup[7], SubTable[0](MarkMarkPos) * :bread: **PASS** MS-FonVal: The LookupList table is valid DETAILS: LookupList * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[0](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[1](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[2](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[3](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[4](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[5](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[6](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[7](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[8](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[9](aalt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[10](c2sc), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[11](c2sc), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[12](c2sc), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[13](c2sc), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[14](c2sc), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[15](c2sc), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[16](c2sc), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[17](c2sc), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[18](c2sc), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[19](c2sc), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[20](calt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[21](calt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[22](calt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[23](calt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[24](calt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[25](calt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[26](calt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[27](calt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[28](calt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[29](calt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[30](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[31](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[32](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[33](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[34](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[35](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[36](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[37](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[38](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[39](case), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[40](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[41](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[42](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[43](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[44](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[45](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[46](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[47](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[48](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[49](ccmp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[50](dlig), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[51](dlig), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[52](dlig), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[53](dlig), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[54](dlig), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[55](dlig), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[56](dlig), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[57](dlig), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[58](dlig), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[59](dlig), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[60](dnom), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[61](dnom), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[62](dnom), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[63](dnom), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[64](dnom), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[65](dnom), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[66](dnom), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[67](dnom), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[68](dnom), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[69](dnom), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[70](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[71](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[72](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[73](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[74](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[75](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[76](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[77](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[78](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[79](frac), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[80](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[81](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[82](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[83](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[84](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[85](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[86](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[87](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[88](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[89](liga), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[90](lnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[91](lnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[92](lnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[93](lnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[94](lnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[95](lnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[96](lnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[97](lnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[98](lnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[99](lnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[100](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[101](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[102](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[103](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[104](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[105](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[106](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[107](locl), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[108](numr), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[109](numr), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[110](numr), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[111](numr), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[112](numr), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[113](numr), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[114](numr), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[115](numr), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[116](numr), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[117](numr), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[118](onum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[119](onum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[120](onum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[121](onum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[122](onum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[123](onum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[124](onum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[125](onum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[126](onum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[127](onum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[128](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[129](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[130](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[131](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[132](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[133](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[134](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[135](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[136](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[137](ordn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[138](pnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[139](pnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[140](pnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[141](pnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[142](pnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[143](pnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[144](pnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[145](pnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[146](pnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[147](pnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[148](rvrn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[149](rvrn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[150](rvrn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[151](rvrn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[152](rvrn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[153](rvrn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[154](rvrn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[155](rvrn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[156](rvrn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[157](rvrn), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[158](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[159](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[160](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[161](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[162](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[163](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[164](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[165](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[166](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[167](salt), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[168](sinf), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[169](sinf), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[170](sinf), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[171](sinf), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[172](sinf), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[173](sinf), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[174](sinf), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[175](sinf), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[176](sinf), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[177](sinf), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[178](smcp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[179](smcp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[180](smcp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[181](smcp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[182](smcp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[183](smcp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[184](smcp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[185](smcp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[186](smcp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[187](smcp), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[188](ss01), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[189](ss01), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[190](ss01), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[191](ss01), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[192](ss01), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[193](ss01), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[194](ss01), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[195](ss01), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[196](ss01), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[197](ss01), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[198](ss02), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[199](ss02), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[200](ss02), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[201](ss02), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[202](ss02), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[203](ss02), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[204](ss02), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[205](ss02), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[206](ss02), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[207](ss02), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[208](ss03), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[209](ss03), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[210](ss03), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[211](ss03), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[212](ss03), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[213](ss03), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[214](ss03), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[215](ss03), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[216](ss03), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[217](ss03), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[218](ss04), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[219](ss04), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[220](ss04), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[221](ss04), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[222](ss04), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[223](ss04), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[224](ss04), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[225](ss04), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[226](ss04), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[227](ss04), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[228](subs), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[229](subs), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[230](subs), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[231](subs), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[232](subs), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[233](subs), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[234](subs), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[235](subs), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[236](subs), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[237](subs), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[238](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[239](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[240](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[241](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[242](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[243](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[244](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[245](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[246](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[247](sups), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[248](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[249](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[250](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[251](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[252](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[253](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[254](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[255](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[256](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[257](tnum), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[258](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[259](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[260](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[261](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[262](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[263](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[264](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[265](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[266](zero), FeatureTable * :bread: **PASS** MS-FonVal: The Feature table is valid DETAILS: FeatureList, FeatureRecord[267](zero), FeatureTable * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[0], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The AlternateSubst subtable is valid DETAILS: LookupList, Lookup[1], SubTable[0](AlternateSubst, fmt 1) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[2], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[2], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[2], SubTable[2](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[2], SubTable[3](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[3], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[3], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[4], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[5], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[6], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[7], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[8], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[8], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[9], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[10], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[11], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[12], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[13], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[14], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[15], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[16], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[17], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[18], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[19], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[20], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[21], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[22], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[22], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[23], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[23], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[24], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[25], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[26], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[27], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[28], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[29], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[30], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[31], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[32], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The LigatureSubst subtable is valid DETAILS: LookupList, Lookup[33], SubTable[0](LigatureSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[34], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[35], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[36], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[37], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[38], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[39], SubTable[0](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The ChainContextSubst subtable is valid DETAILS: LookupList, Lookup[39], SubTable[1](ChainContextSubst, fmt 3) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[40], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[41], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[42], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[43], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[44], SubTable[0](SingleSubst, fmt 2) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[45], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[46], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The SingleSubst subtable is valid DETAILS: LookupList, Lookup[47], SubTable[0](SingleSubst, fmt 1) * :bread: **PASS** MS-FonVal: The table length matches the expected length for this version * :bread: **PASS** MS-FonVal: The usWeightClass is a valid value DETAILS: 400 * :bread: **PASS** MS-FonVal: The width class is a valid value DETAILS: 5 * :bread: **PASS** MS-FonVal: The fsType field is valid DETAILS: 0x0000, Installable Embedding * :bread: **PASS** MS-FonVal: All subscript and superscript values appear valid * :bread: **PASS** MS-FonVal: The yStrikeoutSize and yStrikeoutPosition appear valid * :bread: **PASS** MS-FonVal: The sFamilyClass Class ID and Subclass ID values are in a valid range * :bread: **PASS** MS-FonVal: All panose values are in a valid range * :bread: **PASS** MS-FonVal: The Unicode Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The usFirstCharIndex and usLastCharIndex fields are valid DETAILS: first = 0x0000, last = 0xfeff * :bread: **PASS** MS-FonVal: The CodePage Range fields' bits are all allowable values * :bread: **PASS** MS-FonVal: The sxHeight field is nonzero DETAILS: 524 * :bread: **PASS** MS-FonVal: The sCapHeight field is nonzero DETAILS: 752 * :bread: **PASS** MS-FonVal: The usDefaultChar field is zero * :bread: **PASS** MS-FonVal: The usBreakChar is mapped to a glyf * :bread: **PASS** MS-FonVal: The usMaxContext field matches the calculated value DETAILS: 3 * :bread: **PASS** MS-FonVal: The table version number is 0 * :bread: **PASS** MS-FonVal: Each subtable offset is within the table * :bread: **PASS** MS-FonVal: Each subtable length is within the table * :bread: **PASS** MS-FonVal: The subtables are in the correct order * :bread: **PASS** MS-FonVal: There are no duplicate subtables * :bread: **PASS** MS-FonVal: No overlapping subtables were found * :bread: **PASS** MS-FonVal: Each subtable's format number is valid * :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: PlatID = 0, EncID = 3, Fmt = 4 * :bread: **PASS** MS-FonVal: The subtable internal format appears valid DETAILS: PlatID = 3, EncID = 1, Fmt = 4 * :bread: **PASS** MS-FonVal: Character code U+20AC, the euro character, is mapped for cmap 3,1 * :bread: **PASS** MS-FonVal: All non mac subtables have a language field of zero * :bread: **PASS** MS-FonVal: The version number is valid DETAILS: version = 1 * :bread: **PASS** MS-FonVal: All of the rangeGaspBehavior fields contain valid flags * :bread: **PASS** MS-FonVal: The gaspRange array is in sorted order * :bread: **PASS** MS-FonVal: The gaspRange array has a 0xFFFF sentinel * :bread: **PASS** MS-FonVal: No adjacent ranges have identical flags * :bread: **PASS** MS-FonVal: Correct format of loca (0 or 1) * :bread: **PASS** MS-FonVal: Table length is 54 bytes * :bread: **PASS** MS-FonVal: The table version number is 0x00010000 * :bread: **PASS** MS-FonVal: fontRevision is consistent with the font's version string DETAILS: 1.100 * :bread: **PASS** MS-FonVal: Font checksum is correct DETAILS: 0x89880cb2 * :bread: **PASS** MS-FonVal: The magic number is 0x5f0f3cf5 * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and hdmx table is not present * :bread: **PASS** MS-FonVal: Non-linear scaling flag (bit 4) is clear, and LTSH table is not present * :bread: **PASS** MS-FonVal: Reserved bit 14 of the flags field is clear * :bread: **PASS** MS-FonVal: Reserved bit 15 of the flags field is clear * :bread: **PASS** MS-FonVal: The created time is not zero * :bread: **PASS** MS-FonVal: The xMin value matches the minimum glyph xMin DETAILS: xMin = -912 * :bread: **PASS** MS-FonVal: The yMin value matches the minimum glyph yMin DETAILS: yMin = -255 * :bread: **PASS** MS-FonVal: The xMax value matches the maximum glyph xMax DETAILS: xMax = 1473 * :bread: **PASS** MS-FonVal: The yMax value matches the maximum glyph yMax DETAILS: yMax = 1184 * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the name table's font subfamily string * :bread: **PASS** MS-FonVal: The macStyle bold bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the OS/2 fsSelection bit * :bread: **PASS** MS-FonVal: The macStyle italic bit matches the post table italic angle * :bread: **PASS** MS-FonVal: The lowestRecPPEM value is in a reasonable range * :bread: **PASS** MS-FonVal: The fontDirectionHint is in the range -2..2 DETAILS: 2 * :bread: **PASS** MS-FonVal: The indexToLocFormat value is 0 or 1 DETAILS: 0 * :bread: **PASS** MS-FonVal: The indexToLocFormat value matches the loca table DETAILS: 0 * :bread: **PASS** MS-FonVal: The glyphDataFormat value is 0 * :bread: **PASS** MS-FonVal: The Ascender value is greater than zero * :bread: **PASS** MS-FonVal: The Descender is less than zero * :bread: **PASS** MS-FonVal: Ascender is less than or equal to head.yMax * :bread: **PASS** MS-FonVal: LineGap is greater than or equal to 0 * :bread: **PASS** MS-FonVal: The advanceWidthMax field equals the calculated value * :bread: **PASS** MS-FonVal: The minLeftSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The minRightSideBearing field equals the calculated value * :bread: **PASS** MS-FonVal: The xMaxExtent field equals the calculated value * :bread: **PASS** MS-FonVal: The reserved fields are all set to zero * :bread: **PASS** MS-FonVal: The metricDataFormat field is set to zero * :bread: **PASS** MS-FonVal: The numberOfHMetrics value is consistent with the length of the hmtx table * :bread: **PASS** MS-FonVal: The caretSlope angle matches the post.italicAngle * :bread: **PASS** MS-FonVal: The size of the table matches the calculated size * :bread: **PASS** MS-FonVal: The horizontal metrics are all within an allowable range of values * :bread: **PASS** MS-FonVal: The number of entries is equal to (maxp.numGlyphs + 1) * :bread: **PASS** MS-FonVal: The entries are sorted in ascending order * :bread: **PASS** MS-FonVal: All entries point within range of the glyf table * :bread: **PASS** MS-FonVal: All glyphs in the glyf table are referenced by the loca table * :bread: **PASS** MS-FonVal: Table version is 1.0 and a glyf table is present and no CFF table is present * :bread: **PASS** MS-FonVal: Table version is 1.0 and the table is 32 bytes long * :bread: **PASS** MS-FonVal: The numGlyphs value equals the number of entries in the loca array plus one DETAILS: numGlyphs = 1321 * :bread: **PASS** MS-FonVal: The points, contours, and component values match the calculated values * :bread: **PASS** MS-FonVal: The format selector field is 0 * :bread: **PASS** MS-FonVal: No strings extended past the end of the table * :bread: **PASS** MS-FonVal: The NameRecords array is in sorted order * :bread: **PASS** MS-FonVal: No name records are using reserved Name IDs * :bread: **PASS** MS-FonVal: The table contains strings for both Mac and Microsoft platforms * :bread: **PASS** MS-FonVal: The version string is in the correct format DETAILS: platID = 3, encID = 1, langID = 1033, "Version 1.100" * :bread: **PASS** MS-FonVal: All strings had valid Platform Specific Encoding IDs * :bread: **PASS** MS-FonVal: All Microsoft unicode strings had valid Language IDs * :bread: **PASS** MS-FonVal: The length of every unicode string is an even # of bytes * :bread: **PASS** MS-FonVal: The PostScript strings are correctly formatted * :bread: **PASS** MS-FonVal: The subfamily string is consistent with the style of the font * :bread: **PASS** MS-FonVal: No name record specified Unicode Variation Sequences cmap subtable DETAILS: PlatformID=0, EncodingID=5 is for Variation Sequences (Format 14) * :bread: **PASS** MS-FonVal: No inconsistencies were found for Copyright strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Trademark strings * :bread: **PASS** MS-FonVal: No inconsistencies were found for Description strings * :bread: **PASS** MS-FonVal: The table length is valid * :bread: **PASS** MS-FonVal: The version number is valid * :bread: **PASS** MS-FonVal: The italicAngle value is reasonable and consistent with other tables * :bread: **PASS** MS-FonVal: The underlinePosition value is not less than hhea.Descender * :bread: **PASS** MS-FonVal: The underlineThickness value is reasonable * :bread: **PASS** MS-FonVal: The isFixedPitch field is consistent with other table(s) DETAILS: matches the hmtx and OS/2 tables * :bread: **PASS** MS-FonVal: The numberOfGlyphs field equals maxp.numGlyphs * :bread: **PASS** MS-FonVal: The glyphNameIndex array contains valid indexes * :bread: **PASS** MS-FonVal: The names in the post table are consistent with the Adobe Glyph List names * :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: kern * :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: hdmx * :warning: **WARN** MS-FonVal: Recommended table is missing DETAILS: VDMX * :warning: **WARN** MS-FonVal: The FeatureRecord tag is valid, but unregistered DETAILS: FeatureList, FeatureRecord[148], tag = 'rvrn' * :warning: **WARN** MS-FonVal: The FeatureRecord tag is valid, but unregistered DETAILS: FeatureList, FeatureRecord[149], tag = 'rvrn' * :warning: **WARN** MS-FonVal: The FeatureRecord tag is valid, but unregistered DETAILS: FeatureList, FeatureRecord[150], tag = 'rvrn' * :warning: **WARN** MS-FonVal: The FeatureRecord tag is valid, but unregistered DETAILS: FeatureList, FeatureRecord[151], tag = 'rvrn' * :warning: **WARN** MS-FonVal: The FeatureRecord tag is valid, but unregistered DETAILS: FeatureList, FeatureRecord[152], tag = 'rvrn' * :warning: **WARN** MS-FonVal: The FeatureRecord tag is valid, but unregistered DETAILS: FeatureList, FeatureRecord[153], tag = 'rvrn' * :warning: **WARN** MS-FonVal: The FeatureRecord tag is valid, but unregistered DETAILS: FeatureList, FeatureRecord[154], tag = 'rvrn' * :warning: **WARN** MS-FonVal: The FeatureRecord tag is valid, but unregistered DETAILS: FeatureList, FeatureRecord[155], tag = 'rvrn' * :warning: **WARN** MS-FonVal: The FeatureRecord tag is valid, but unregistered DETAILS: FeatureList, FeatureRecord[156], tag = 'rvrn' * :warning: **WARN** MS-FonVal: The FeatureRecord tag is valid, but unregistered DETAILS: FeatureList, FeatureRecord[157], tag = 'rvrn' * :warning: **WARN** MS-FonVal: The version number is valid, but less than 5 DETAILS: 4 * :warning: **WARN** MS-FonVal: The xAvgCharWidth field does not equal the calculated value DETAILS: actual = 657, calc = 548 * :warning: **WARN** MS-FonVal: There are undefined bits set in fsSelection field DETAILS: Bit(s) 7 * :warning: **WARN** MS-FonVal: The value of sTypoAscender minus sTypoDescender is greater than unitsPerEm DETAILS: sTypoAscender = 988, sTypoDescender = -263 * :warning: **WARN** MS-FonVal: The table does not contain any Apple subtables * :warning: **WARN** MS-FonVal: Apple logo mapping test not performed, cmap 1,0 not present * :warning: **WARN** MS-FonVal: Characters are mapped in the Unicode Private Use area * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 25 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 35 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 36 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 51 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 68 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 98 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 146 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 157 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 185 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 197 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 221 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 256 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 273 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 296 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 306 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 307 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 322 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 339 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 371 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 419 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 420 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 421 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 422 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 423 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 424 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 430 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 457 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 469 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 484 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 494 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 525 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 557 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 617 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 627 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 628 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 642 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 659 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 690 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 736 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 747 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 775 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 786 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 811 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 846 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 863 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 1138 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 1146 * :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 1158 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 1160 * :warning: **WARN** MS-FonVal: Not all extremes are marked with the on-curve control points DETAILS: Glyph index 1168 * :warning: **WARN** MS-FonVal: Intersecting components of composite glyph DETAILS: Glyph index 1237 * :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 1268 * :warning: **WARN** MS-FonVal: Duplicated knots DETAILS: Glyph index 1320 * :warning: **WARN** MS-FonVal: The unitsPerEm value is not a power of two DETAILS: 1000 * :warning: **WARN** MS-FonVal: The modified time is an unlikely value DETAILS: modified = 3619193844 (Friday, September 7, 2018 7:37 PM) * :warning: **WARN** MS-FonVal: Ascender is different than OS/2.usWinAscent. Different line heights on Windows and Apple DETAILS: hhea.Ascender = 988, OS/2.usWinAscent = 1400 * :warning: **WARN** MS-FonVal: Descender is different than OS/2.usWinDescent. Different line heights on Windows and Apple DETAILS: hhea.Descender = -263, OS/2.usWinDescent = 330 * :warning: **WARN** MS-FonVal: The LineGap value is less than the recommended value DETAILS: LineGap = 0, recommended = 479 * :warning: **WARN** MS-FonVal: Loca references a glyf entry which length is not a multiple of 4 DETAILS: Number of glyphs with the warning = 335
:warning: WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/153](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/153) * :warning: **WARN** This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct. The following glyphs do not have the recommended number of contours: Glyph name: numbersign Contours detected: 4 Expected: 2 Glyph name: dollar Contours detected: 4 Expected: 1 or 3 Glyph name: asterisk Contours detected: 3 Expected: 1 or 4 Glyph name: one Contours detected: 2 Expected: 1 Glyph name: two Contours detected: 2 Expected: 1 Glyph name: three Contours detected: 3 Expected: 1 Glyph name: four Contours detected: 3 Expected: 1 or 2 Glyph name: five Contours detected: 3 Expected: 1 Glyph name: seven Contours detected: 3 Expected: 1 Glyph name: eight Contours detected: 4 Expected: 3 Glyph name: B Contours detected: 4 Expected: 2 or 3 Glyph name: C Contours detected: 2 Expected: 1 Glyph name: E Contours detected: 2 Expected: 1 Glyph name: F Contours detected: 2 Expected: 1 Glyph name: G Contours detected: 4 Expected: 1 Glyph name: H Contours detected: 3 Expected: 1 Glyph name: K Contours detected: 3 Expected: 1 or 2 Glyph name: L Contours detected: 2 Expected: 1 Glyph name: M Contours detected: 3 Expected: 1 Glyph name: N Contours detected: 3 Expected: 1 Glyph name: Q Contours detected: 3 Expected: 2 Glyph name: R Contours detected: 3 Expected: 1 or 2 Glyph name: S Contours detected: 3 Expected: 1 Glyph name: Y Contours detected: 2 Expected: 1 Glyph name: Z Contours detected: 3 Expected: 1 Glyph name: c Contours detected: 2 Expected: 1 Glyph name: g Contours detected: 4 Expected: 2 or 3 Glyph name: h Contours detected: 2 Expected: 1 Glyph name: k Contours detected: 3 Expected: 1 or 2 Glyph name: m Contours detected: 3 Expected: 1 Glyph name: n Contours detected: 2 Expected: 1 Glyph name: r Contours detected: 2 Expected: 1 Glyph name: s Contours detected: 3 Expected: 1 Glyph name: u Contours detected: 2 Expected: 1 Glyph name: z Contours detected: 3 Expected: 1 Glyph name: uni2074 Contours detected: 3 Expected: 1 or 2 Glyph name: uni2075 Contours detected: 3 Expected: 1 Glyph name: uni2077 Contours detected: 3 Expected: 1 Glyph name: uni2078 Contours detected: 4 Expected: 3 Glyph name: uni2081 Contours detected: 2 Expected: 1 Glyph name: uni2082 Contours detected: 2 Expected: 1 Glyph name: uni2083 Contours detected: 3 Expected: 1 Glyph name: uni2084 Contours detected: 3 Expected: 1 or 2 Glyph name: uni2085 Contours detected: 3 Expected: 1 Glyph name: uni2087 Contours detected: 3 Expected: 1 Glyph name: uni2088 Contours detected: 4 Expected: 3 Glyph name: colonmonetary Contours detected: 4 Expected: 1 or 3 Glyph name: currency Contours detected: 6 Expected: 2 Glyph name: franc Contours detected: 3 Expected: 1 or 2 Glyph name: lira Contours detected: 4 Expected: 1 Glyph name: uni20A6 Contours detected: 4 Expected: 1, 3 or 5 Glyph name: sterling Contours detected: 3 Expected: 1 or 2 Glyph name: Euro Contours detected: 4 Expected: 1 or 2 Glyph name: uni20AD Contours detected: 4 Expected: 1 Glyph name: uni20AE Contours detected: 3 Expected: 1 Glyph name: uni00B2 Contours detected: 2 Expected: 1 Glyph name: uni00B3 Contours detected: 3 Expected: 1 Glyph name: uni20B2 Contours detected: 5 Expected: 1, 2 or 3 Glyph name: uni20B5 Contours detected: 3 Expected: 1 or 2 Glyph name: uni20B4 Contours detected: 6 Expected: 1 or 2 Glyph name: uni00B9 Contours detected: 2 Expected: 1 Glyph name: onequarter Contours detected: 6 Expected: 3 or 4 Glyph name: onehalf Contours detected: 5 Expected: 3 Glyph name: threequarters Contours detected: 7 Expected: 3 or 4 Glyph name: AE Contours detected: 4 Expected: 2 Glyph name: Ccedilla Contours detected: 4 Expected: 1 or 2 Glyph name: Egrave Contours detected: 3 Expected: 2 Glyph name: Eacute Contours detected: 3 Expected: 2 Glyph name: Ecircumflex Contours detected: 3 Expected: 2 Glyph name: Edieresis Contours detected: 4 Expected: 3 Glyph name: Eth Contours detected: 3 Expected: 2 Glyph name: Ntilde Contours detected: 4 Expected: 2 Glyph name: Yacute Contours detected: 3 Expected: 2 Glyph name: germandbls Contours detected: 2 Expected: 1 Glyph name: ae Contours detected: 4 Expected: 3 Glyph name: ccedilla Contours detected: 4 Expected: 1 or 2 Glyph name: eth Contours detected: 4 Expected: 2 Glyph name: ntilde Contours detected: 3 Expected: 2 Glyph name: ugrave Contours detected: 3 Expected: 2 Glyph name: uacute Contours detected: 3 Expected: 2 Glyph name: ucircumflex Contours detected: 3 Expected: 2 Glyph name: udieresis Contours detected: 4 Expected: 3 Glyph name: aogonek Contours detected: 3 Expected: 2 Glyph name: Cacute Contours detected: 3 Expected: 2 Glyph name: cacute Contours detected: 3 Expected: 2 Glyph name: Ccircumflex Contours detected: 3 Expected: 2 Glyph name: ccircumflex Contours detected: 3 Expected: 2 Glyph name: Cdotaccent Contours detected: 3 Expected: 2 Glyph name: cdotaccent Contours detected: 3 Expected: 2 Glyph name: Ccaron Contours detected: 3 Expected: 2 Glyph name: ccaron Contours detected: 3 Expected: 2 Glyph name: Dcroat Contours detected: 3 Expected: 2 Glyph name: dcroat Contours detected: 3 Expected: 2 Glyph name: Emacron Contours detected: 3 Expected: 2 Glyph name: Ebreve Contours detected: 3 Expected: 2 Glyph name: Edotaccent Contours detected: 3 Expected: 2 Glyph name: Eogonek Contours detected: 3 Expected: 1 or 2 Glyph name: eogonek Contours detected: 3 Expected: 2 Glyph name: Ecaron Contours detected: 3 Expected: 2 Glyph name: Gcircumflex Contours detected: 5 Expected: 2 Glyph name: gcircumflex Contours detected: 5 Expected: 3 or 4 Glyph name: Gbreve Contours detected: 5 Expected: 2 Glyph name: gbreve Contours detected: 5 Expected: 3 or 4 Glyph name: Gdotaccent Contours detected: 5 Expected: 2 Glyph name: gdotaccent Contours detected: 5 Expected: 3 or 4 Glyph name: uni0122 Contours detected: 5 Expected: 2 Glyph name: uni0123 Contours detected: 5 Expected: 3 or 4 Glyph name: Hcircumflex Contours detected: 4 Expected: 2 Glyph name: hcircumflex Contours detected: 3 Expected: 2 Glyph name: Hbar Contours detected: 4 Expected: 2 Glyph name: hbar Contours detected: 3 Expected: 1 Glyph name: uni0136 Contours detected: 4 Expected: 2 or 3 Glyph name: uni0137 Contours detected: 4 Expected: 2 or 3 Glyph name: kgreenlandic Contours detected: 3 Expected: 1 or 2 Glyph name: Lacute Contours detected: 3 Expected: 2 Glyph name: uni013B Contours detected: 3 Expected: 2 Glyph name: Lcaron Contours detected: 3 Expected: 2 Glyph name: Ldot Contours detected: 3 Expected: 2 Glyph name: Lslash Contours detected: 3 Expected: 1 Glyph name: lslash Contours detected: 2 Expected: 1 Glyph name: Nacute Contours detected: 4 Expected: 2 Glyph name: nacute Contours detected: 3 Expected: 2 Glyph name: uni0145 Contours detected: 4 Expected: 2 Glyph name: uni0146 Contours detected: 3 Expected: 2 Glyph name: Ncaron Contours detected: 4 Expected: 2 Glyph name: ncaron Contours detected: 3 Expected: 2 Glyph name: at Contours detected: 4 Expected: 2 Glyph name: Eng Contours detected: 3 Expected: 1 Glyph name: eng Contours detected: 2 Expected: 1 Glyph name: OE Contours detected: 3 Expected: 2 Glyph name: oe Contours detected: 4 Expected: 3 Glyph name: Racute Contours detected: 4 Expected: 3 Glyph name: racute Contours detected: 3 Expected: 2 Glyph name: uni0156 Contours detected: 4 Expected: 3 Glyph name: uni0157 Contours detected: 3 Expected: 2 Glyph name: Rcaron Contours detected: 4 Expected: 3 Glyph name: rcaron Contours detected: 3 Expected: 2 Glyph name: Sacute Contours detected: 4 Expected: 2 Glyph name: sacute Contours detected: 4 Expected: 2 Glyph name: Scircumflex Contours detected: 4 Expected: 2 Glyph name: scircumflex Contours detected: 4 Expected: 2 Glyph name: Scedilla Contours detected: 5 Expected: 1 or 2 Glyph name: scedilla Contours detected: 5 Expected: 1 or 2 Glyph name: Scaron Contours detected: 4 Expected: 2 Glyph name: scaron Contours detected: 4 Expected: 2 Glyph name: uni0162 Contours detected: 3 Expected: 1 or 2 Glyph name: uni0163 Contours detected: 3 Expected: 1 or 2 Glyph name: Tbar Contours detected: 2 Expected: 1 Glyph name: tbar Contours detected: 2 Expected: 1 Glyph name: utilde Contours detected: 3 Expected: 2 Glyph name: umacron Contours detected: 3 Expected: 2 Glyph name: ubreve Contours detected: 3 Expected: 2 Glyph name: uring Contours detected: 4 Expected: 3 Glyph name: uhungarumlaut Contours detected: 4 Expected: 3 Glyph name: Uogonek Contours detected: 2 Expected: 1 Glyph name: uogonek Contours detected: 3 Expected: 1 Glyph name: Ycircumflex Contours detected: 3 Expected: 2 Glyph name: Ydieresis Contours detected: 4 Expected: 3 Glyph name: Zacute Contours detected: 4 Expected: 2 Glyph name: zacute Contours detected: 4 Expected: 2 Glyph name: Zdotaccent Contours detected: 4 Expected: 2 Glyph name: zdotaccent Contours detected: 4 Expected: 2 Glyph name: Zcaron Contours detected: 4 Expected: 2 Glyph name: zcaron Contours detected: 4 Expected: 2 Glyph name: arrowleft Contours detected: 2 Expected: 1 Glyph name: arrowup Contours detected: 2 Expected: 1 Glyph name: arrowright Contours detected: 2 Expected: 1 Glyph name: arrowdown Contours detected: 2 Expected: 1 Glyph name: ohorn Contours detected: 3 Expected: 2 Glyph name: daggerdbl Contours detected: 2 Expected: 1 or 3 Glyph name: Uhorn Contours detected: 2 Expected: 1 Glyph name: uhorn Contours detected: 3 Expected: 1 Glyph name: uni01C4 Contours detected: 6 Expected: 4 Glyph name: uni01C5 Contours detected: 6 Expected: 4 Glyph name: uni01C6 Contours detected: 6 Expected: 4 Glyph name: uni01C7 Contours detected: 3 Expected: 2 Glyph name: uni01C8 Contours detected: 4 Expected: 3 Glyph name: uni01CA Contours detected: 4 Expected: 2 Glyph name: uni01CB Contours detected: 5 Expected: 3 Glyph name: uni01CC Contours detected: 4 Expected: 3 Glyph name: Gcaron Contours detected: 5 Expected: 2 Glyph name: gcaron Contours detected: 5 Expected: 3 or 4 Glyph name: uni01EA Contours detected: 3 Expected: 2 Glyph name: uni01EB Contours detected: 3 Expected: 2 Glyph name: AEacute Contours detected: 5 Expected: 3 Glyph name: aeacute Contours detected: 5 Expected: 4 Glyph name: uni0204 Contours detected: 4 Expected: 3 Glyph name: uni0206 Contours detected: 3 Expected: 2 Glyph name: uni0210 Contours detected: 5 Expected: 4 Glyph name: uni0211 Contours detected: 4 Expected: 3 Glyph name: uni0212 Contours detected: 4 Expected: 3 Glyph name: uni0213 Contours detected: 3 Expected: 2 Glyph name: uni0215 Contours detected: 4 Expected: 3 Glyph name: uni0217 Contours detected: 3 Expected: 2 Glyph name: uni0218 Contours detected: 4 Expected: 2 Glyph name: uni0219 Contours detected: 4 Expected: 2 Glyph name: uni0232 Contours detected: 3 Expected: 2 Glyph name: notequal Contours detected: 3 Expected: 1 Glyph name: braceleft Contours detected: 3 Expected: 1 Glyph name: braceright Contours detected: 3 Expected: 1 Glyph name: hookabovecomb Contours detected: 2 Expected: 1 Glyph name: uni0327 Contours detected: 2 Expected: 1 Glyph name: yen Contours detected: 4 Expected: 1 or 2 Glyph name: copyright Contours detected: 4 Expected: 3 Glyph name: logicalnot Contours detected: 2 Expected: 1 Glyph name: registered Contours detected: 5 Expected: 3 or 4 Glyph name: uni00B5 Contours detected: 3 Expected: 1 Glyph name: cedilla Contours detected: 2 Expected: 1 Glyph name: uni03A9 Contours detected: 3 Expected: 1 Glyph name: uni03BC Contours detected: 3 Expected: 1 Glyph name: uniE0FF Contours detected: 38 Expected: 7 Glyph name: uni20B9 Contours detected: 4 Expected: 1 Glyph name: uni20BA Contours detected: 4 Expected: 1 Glyph name: uni20BC Contours detected: 2 Expected: 1 Glyph name: uni20BD Contours detected: 4 Expected: 2 Glyph name: uni1E08 Contours detected: 5 Expected: 2 Glyph name: uni1E09 Contours detected: 5 Expected: 2 Glyph name: uni1E14 Contours detected: 4 Expected: 3 Glyph name: uni1E16 Contours detected: 4 Expected: 3 Glyph name: uni1E1C Contours detected: 5 Expected: 2 Glyph name: uni1E1D Contours detected: 5 Expected: 3 Glyph name: uni1E20 Contours detected: 5 Expected: 2 Glyph name: uni1E21 Contours detected: 5 Expected: 3 or 4 Glyph name: uni1E24 Contours detected: 4 Expected: 2 Glyph name: uni1E25 Contours detected: 3 Expected: 2 Glyph name: uni1E2A Contours detected: 4 Expected: 2 Glyph name: uni1E2B Contours detected: 3 Expected: 2 Glyph name: uni1E36 Contours detected: 3 Expected: 2 Glyph name: uni1E3A Contours detected: 3 Expected: 2 Glyph name: uni1E42 Contours detected: 4 Expected: 2 Glyph name: uni1E43 Contours detected: 4 Expected: 2 Glyph name: uni1E44 Contours detected: 4 Expected: 2 Glyph name: uni1E45 Contours detected: 3 Expected: 2 Glyph name: uni1E46 Contours detected: 4 Expected: 2 Glyph name: uni1E47 Contours detected: 3 Expected: 2 Glyph name: uni1E48 Contours detected: 4 Expected: 2 Glyph name: uni1E49 Contours detected: 3 Expected: 2 Glyph name: uni1E5A Contours detected: 4 Expected: 3 Glyph name: uni1E5B Contours detected: 3 Expected: 2 Glyph name: uni1E5E Contours detected: 4 Expected: 3 Glyph name: uni1E5F Contours detected: 3 Expected: 2 Glyph name: uni1E60 Contours detected: 4 Expected: 2 Glyph name: uni1E61 Contours detected: 4 Expected: 2 Glyph name: uni1E62 Contours detected: 4 Expected: 2 Glyph name: uni1E63 Contours detected: 4 Expected: 2 Glyph name: uni1E64 Contours detected: 5 Expected: 3 Glyph name: uni1E65 Contours detected: 5 Expected: 3 Glyph name: uni1E66 Contours detected: 5 Expected: 3 Glyph name: uni1E67 Contours detected: 5 Expected: 3 Glyph name: uni1E68 Contours detected: 5 Expected: 3 Glyph name: uni1E69 Contours detected: 5 Expected: 3 Glyph name: uni2113 Contours detected: 1 Expected: 2 Glyph name: uni2116 Contours detected: 6 Expected: 3 or 4 Glyph name: uni1E79 Contours detected: 4 Expected: 3 Glyph name: uni1E7B Contours detected: 5 Expected: 4 Glyph name: uni1E8E Contours detected: 3 Expected: 2 Glyph name: uni1E92 Contours detected: 4 Expected: 2 Glyph name: uni1E93 Contours detected: 4 Expected: 2 Glyph name: uni1E9E Contours detected: 3 Expected: 1 Glyph name: uni1EA2 Contours detected: 4 Expected: 3 Glyph name: uni1EA3 Contours detected: 4 Expected: 3 Glyph name: uni1EA8 Contours detected: 5 Expected: 4 Glyph name: uni1EA9 Contours detected: 5 Expected: 4 Glyph name: uni1EB2 Contours detected: 5 Expected: 4 Glyph name: uni1EB3 Contours detected: 5 Expected: 4 Glyph name: trademark Contours detected: 4 Expected: 2 Glyph name: uni1EB8 Contours detected: 3 Expected: 2 Glyph name: uni1EBA Contours detected: 4 Expected: 2 Glyph name: uni1EBB Contours detected: 4 Expected: 3 Glyph name: uni1EBC Contours detected: 3 Expected: 2 Glyph name: uni1EBE Contours detected: 4 Expected: 3 Glyph name: uni1EC0 Contours detected: 4 Expected: 3 Glyph name: uni1EC2 Contours detected: 5 Expected: 3 Glyph name: uni1EC3 Contours detected: 5 Expected: 4 Glyph name: uni1EC4 Contours detected: 4 Expected: 3 Glyph name: uni1EC6 Contours detected: 4 Expected: 3 Glyph name: uni2126 Contours detected: 3 Expected: 1 Glyph name: uni1EC8 Contours detected: 3 Expected: 2 Glyph name: uni1EC9 Contours detected: 3 Expected: 2 Glyph name: uni1ECE Contours detected: 4 Expected: 3 Glyph name: uni1ECF Contours detected: 4 Expected: 3 Glyph name: uni1ED4 Contours detected: 5 Expected: 4 Glyph name: uni1ED5 Contours detected: 5 Expected: 4 Glyph name: uni1EDB Contours detected: 4 Expected: 3 Glyph name: uni1EDD Contours detected: 4 Expected: 3 Glyph name: uni1EDE Contours detected: 5 Expected: 3 or 4 Glyph name: uni1EDF Contours detected: 5 Expected: 3 Glyph name: uni1EE1 Contours detected: 4 Expected: 3 Glyph name: uni1EE3 Contours detected: 4 Expected: 3 Glyph name: uni1EE5 Contours detected: 3 Expected: 2 Glyph name: uni1EE6 Contours detected: 3 Expected: 2 Glyph name: uni1EE7 Contours detected: 4 Expected: 2 Glyph name: uni1EE8 Contours detected: 3 Expected: 2 Glyph name: uni1EE9 Contours detected: 4 Expected: 2 Glyph name: uni1EEA Contours detected: 3 Expected: 2 Glyph name: uni1EEB Contours detected: 4 Expected: 2 Glyph name: uni1EEC Contours detected: 4 Expected: 2 Glyph name: uni1EED Contours detected: 5 Expected: 2 Glyph name: uni1EEE Contours detected: 3 Expected: 2 Glyph name: uni1EEF Contours detected: 4 Expected: 2 Glyph name: uni1EF0 Contours detected: 3 Expected: 2 Glyph name: uni1EF1 Contours detected: 4 Expected: 2 Glyph name: Ygrave Contours detected: 3 Expected: 2 Glyph name: uni1EF4 Contours detected: 3 Expected: 2 Glyph name: uni1EF6 Contours detected: 4 Expected: 2 Glyph name: uni1EF7 Contours detected: 3 Expected: 2 Glyph name: uni1EF8 Contours detected: 3 Expected: 2 Glyph name: uni2153 Contours detected: 6 Expected: 3 Glyph name: uni2154 Contours detected: 6 Expected: 1 or 3 Glyph name: oneeighth Contours detected: 7 Expected: 5 Glyph name: threeeighths Contours detected: 8 Expected: 5 Glyph name: fiveeighths Contours detected: 8 Expected: 5 Glyph name: seveneighths Contours detected: 8 Expected: 5 Glyph name: uniEFFD Contours detected: 74 Expected: 9 or 7
:warning: WARN: Check if OS/2 xAvgCharWidth is correct. * [com.google.fonts/check/034](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/034) * :warning: **WARN** OS/2 xAvgCharWidth is 657 but should be 661 which corresponds to the weighted average of the widths of the latin lowercase glyphs in the font. These are similar values, which may be a symptom of the slightly different calculation of the xAvgCharWidth value in font editors. There's further discussion on this at https://github.com/googlefonts/fontbakery/issues/1622
:warning: WARN: Is there kerning info for non-ligated sequences? * [com.google.fonts/check/065](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/065) * :warning: **WARN** GPOS table lacks kerning info for the following non-ligated sequences: - f + f - f + i - i + f - f + l - l + f - i + l - g + j - j + j [code: lacks-kern-info]
:warning: WARN: Check for points out of bounds. * [com.google.fonts/check/075](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/075) * :warning: **WARN** The following glyphs have coordinates which are out of bounds: [('uni0200', 420.34015999999997, 967.3545600000001), ('uni0200', 272.34015999999997, 967.3545600000001), ('uni0204', 410.34015999999997, 967.3545600000001), ('uni0204', 262.34015999999997, 967.3545600000001), ('uni0208', 175.34016, 967.3545600000001), ('uni0208', 27.34015999999997, 967.3545600000001), ('uni020C', 426.34015999999997, 967.3545600000001), ('uni020C', 278.34015999999997, 967.3545600000001), ('Ohungarumlaut', 435.65984000000003, 967.3545600000001), ('Ohungarumlaut', 583.65984, 967.3545600000001), ('uni0210', 389.34015999999997, 967.3545600000001), ('uni0210', 241.34015999999997, 967.3545600000001), ('uni0214', 427.34015999999997, 967.3545600000001), ('uni0214', 279.34015999999997, 967.3545600000001), ('Uhungarumlaut', 436.65984000000003, 967.3545600000001), ('Uhungarumlaut', 584.65984, 967.3545600000001), ('uni0204.ss04', 382.34015999999997, 967.3545600000001), ('uni0204.ss04', 234.34015999999997, 967.3545600000001), ('uni0201', 288.34015999999997, 759.3545600000001), ('uni0201', 140.34015999999997, 759.3545600000001), ('uni0205', 311.34015999999997, 759.3545600000001), ('uni0205', 163.34015999999997, 759.3545600000001), ('uni0209', 181.34016, 759.3545600000001), ('uni0209', 33.34015999999997, 759.3545600000001), ('uni020D', 319.34015999999997, 759.3545600000001), ('uni020D', 171.34015999999997, 759.3545600000001), ('ohungarumlaut', 328.65984000000003, 759.3545600000001), ('ohungarumlaut', 476.65984000000003, 759.3545600000001), ('uni0211', 230.34016, 759.3545600000001), ('uni0211', 82.34015999999997, 759.3545600000001), ('uni0215', 342.34015999999997, 759.3545600000001), ('uni0215', 194.34015999999997, 759.3545600000001), ('uhungarumlaut', 351.65984000000003, 759.3545600000001), ('uhungarumlaut', 499.65984000000003, 759.3545600000001), ('uni0201.ss02', 316.34015999999997, 759.3545600000001), ('uni0201.ss02', 168.34015999999997, 759.3545600000001), ('uni0201.sc', 362.34015999999997, 815.3545600000001), ('uni0201.sc', 214.34015999999997, 815.3545600000001), ('uni0205.sc', 353.34015999999997, 815.3545600000001), ('uni0205.sc', 205.34015999999997, 815.3545600000001), ('uni0209.sc', 181.34016, 815.3545600000001), ('uni0209.sc', 33.34015999999997, 815.3545600000001), ('uni020D.sc', 360.34015999999997, 815.3545600000001), ('uni020D.sc', 212.34015999999997, 815.3545600000001), ('ohungarumlaut.sc', 369.65984000000003, 815.3545600000001), ('ohungarumlaut.sc', 517.65984, 815.3545600000001), ('uni0211.sc', 342.34015999999997, 815.3545600000001), ('uni0211.sc', 194.34015999999997, 815.3545600000001), ('uni0215.sc', 360.34015999999997, 815.3545600000001), ('uni0215.sc', 212.34015999999997, 815.3545600000001), ('uhungarumlaut.sc', 369.65984000000003, 815.3545600000001), ('uhungarumlaut.sc', 517.65984, 815.3545600000001), ('uni0205.sc.ss04', 353.34015999999997, 815.3545600000001), ('uni0205.sc.ss04', 205.34015999999997, 815.3545600000001), ('uni030B', -238.34016, 759.3545600000001), ('uni030B', -90.34016, 759.3545600000001), ('uni030F', -191.65984, 759.3545600000001), ('uni030F', -339.65984000000003, 759.3545600000001), ('hungarumlaut', 199.65984, 759.3545600000001), ('hungarumlaut', 347.65984000000003, 759.3545600000001)] This happens a lot when points are not extremes, which is usually bad. However, fixing this alert by adding points on extremes may do more harm than good, especially with italics, calligraphic-script, handwriting, rounded and other fonts. So it is common to ignore this message
:zzz: SKIP: Checking OS/2 usWeightClass. * [com.google.fonts/check/020](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/020) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check copyright namerecords match license file. * [com.google.fonts/check/029](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/029) * :zzz: **SKIP** Unfulfilled Conditions: license
:zzz: SKIP: Checks METADATA.pb font.name field matches family name declared on the name table. * [com.google.fonts/check/092](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/092) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table. * [com.google.fonts/check/093](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/093) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.full_name value matches fullname declared on the name table? * [com.google.fonts/check/094](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/094) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name value should be same as the family name declared on the name table. * [com.google.fonts/check/095](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/095) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, style
:zzz: SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ? * [com.google.fonts/check/096](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/096) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values? * [com.google.fonts/check/097](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/097) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name field contains font name in right format? * [com.google.fonts/check/098](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/098) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.full_name field contains font name in right format? * [com.google.fonts/check/099](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/099) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.filename field contains font name in right format? * [com.google.fonts/check/100](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/100) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.post_script_name field contains font name in right format? * [com.google.fonts/check/101](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/101) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb matches canonical pattern? * [com.google.fonts/check/102](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/102) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. * [com.google.fonts/check/103](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/103) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars. * [com.google.fonts/check/104](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/104) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Filename is set canonically? * [com.google.fonts/check/105](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/105) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, canonical_filename
:zzz: SKIP: METADATA.pb font.style "italic" matches font internals? * [com.google.fonts/check/106](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/106) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.style "normal" matches font internals? * [com.google.fonts/check/107](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/107) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table? * [com.google.fonts/check/108](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/108) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check if fontname is not camel cased. * [com.google.fonts/check/109](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/109) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check font name is the same as family name. * [com.google.fonts/check/110](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/110) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, font_metadata
:zzz: SKIP: METADATA.pb: Check that font weight has a canonical value. * [com.google.fonts/check/111](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/111) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb. * [com.google.fonts/check/112](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/112) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb weight matches postScriptName. * [com.google.fonts/check/113](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/113) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Font styles are named canonically? * [com.google.fonts/check/115](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/115) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Version number has increased since previous release on Google Fonts? * [com.google.fonts/check/117](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/117) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont, github_gfonts_ttFont
:zzz: SKIP: Glyphs are similiar to Google Fonts version? * [com.google.fonts/check/118](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/118) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts? * [com.google.fonts/check/119](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/119) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Checking OS/2 fsSelection value. * [com.google.fonts/check/129](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/129) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking post.italicAngle value. * [com.google.fonts/check/130](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/130) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking head.macStyle value. * [com.google.fonts/check/131](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/131) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com * [com.google.fonts/check/154](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/154) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ? * [com.google.fonts/check/155](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/155) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Font has all mandatory 'name' table entries ? * [com.google.fonts/check/156](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/156) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_FAMILY_NAME entries. * [com.google.fonts/check/157](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/157) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/158](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/158) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FULL_FONT_NAME entries. * [com.google.fonts/check/159](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/159) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/160](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/160) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries. * [com.google.fonts/check/161](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/161) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries. * [com.google.fonts/check/162](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/162) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: FontForge validation outputs error messages? * [com.google.fonts/check/038](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/038) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: FontForge checks. * [com.google.fonts/check/039](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/039) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth? * [com.google.fonts/check/079](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/079) * :zzz: **SKIP** Unfulfilled Conditions: seems_monospaced
:zzz: SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance. * [com.google.fonts/check/168](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/168) * :zzz: **SKIP** Unfulfilled Conditions: regular_wdth_coord
:zzz: SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/169](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/169) * :zzz: **SKIP** Unfulfilled Conditions: regular_slnt_coord
:zzz: SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/170](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/170) * :zzz: **SKIP** Unfulfilled Conditions: regular_ital_coord
:zzz: SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance. * [com.google.fonts/check/171](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/171) * :zzz: **SKIP** Unfulfilled Conditions: regular_opsz_coord
:information_source: INFO: Show hinting filesize impact. * [com.google.fonts/check/054](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/054) * :information_source: **INFO** Hinting filesize impact: | | HeptaSlab-VF.ttf | |:--- | ---:| | Dehinted Size | 447.0kb | | Hinted Size | 446.2kb | | Increase | -860 bytes | | Change | -0.0 % |
:information_source: INFO: Font has old ttfautohint applied? * [com.google.fonts/check/056](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/056) * :information_source: **INFO** Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.100', 'Version 1.100']
:information_source: INFO: EPAR table present in font? * [com.google.fonts/check/061](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/061) * :information_source: **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
:information_source: INFO: Is 'gasp' table set to optimize rendering? * [com.google.fonts/check/062](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/062) * :information_source: **INFO** These are the ppm ranges declared on the gasp table: PPM <= 65535: flag = 0x0F - Use gridfitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType® * :bread: **PASS** 'gasp' table is correctly set, with one gaspRange:value of 0xFFFF:0x0F.
:information_source: INFO: Check for font-v versioning * [com.google.fonts/check/166](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/166) * :information_source: **INFO** Version string is: "Version 1.100" The version string must ideally include a git commit hash and either a 'dev' or a 'release' suffix such as in the example below: "Version 1.3; git-0d08353-release"
:information_source: INFO: Font contains all required tables? * [com.google.fonts/check/052](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/052) * :information_source: **INFO** This font contains the following optional tables [DSIG, GPOS, loca, prep, gasp, GSUB] * :bread: **PASS** Font contains all required tables.
:bread: PASS: Checking file is named canonically. * [com.google.fonts/check/001](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/001) * :bread: **PASS** HeptaSlab-VF.ttf is named canonically.
:bread: PASS: Fonts have equal numbers of glyphs? * [com.google.fonts/check/011](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/011) * :bread: **PASS** All font files in this family have an equal total ammount of glyphs.
:bread: PASS: Fonts have equal glyph names? * [com.google.fonts/check/012](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/012) * :bread: **PASS** All font files have identical glyph names.
:bread: PASS: Checking OS/2 fsType. * [com.google.fonts/check/016](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/016) * :bread: **PASS** OS/2 fsType is properly set to zero.
:bread: PASS: Checking OS/2 achVendID. * [com.google.fonts/check/018](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/018) * :bread: **PASS** OS/2 VendorID 'MLAG' looks good!
:bread: PASS: Substitute copyright, registered and trademark symbols in name table entries. * [com.google.fonts/check/019](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/019) * :bread: **PASS** No need to substitute copyright, registered and trademark symbols in name table entries of this font.
:bread: PASS: "License URL matches License text on name table? * [com.google.fonts/check/030](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/030) * :bread: **PASS** Font has a valid license URL in NAME table.
:bread: PASS: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/032](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/032) * :bread: **PASS** All description name records have reasonably small lengths.
:bread: PASS: Version format is correct in 'name' table? * [com.google.fonts/check/055](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/055) * :bread: **PASS** Version format in NAME table entries is correct.
:bread: PASS: Make sure family name does not begin with a digit. * [com.google.fonts/check/067](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/067) * :bread: **PASS** Font family name first character is not a digit.
:bread: PASS: Font has all expected currency sign characters? * [com.google.fonts/check/070](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/070) * :bread: **PASS** Font has all expected currency sign characters.
:bread: PASS: Are there non-ASCII characters in ASCII-only NAME table entries? * [com.google.fonts/check/074](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/074) * :bread: **PASS** None of the ASCII-only NAME table entries contain non-ASCII characteres.
:bread: PASS: Is font em size (ideally) equal to 1000? * [com.google.fonts/check/116](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/116) * :bread: **PASS** Font em size is equal to 1000.
:bread: PASS: Length of copyright notice must not exceed 500 characters. * [com.google.fonts/check/164](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/164) * :bread: **PASS** All copyright notice name entries on the 'name' table are shorter than 500 characters.
:bread: PASS: Familyname must be unique according to namecheck.fontdata.com * [com.google.fonts/check/165](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/165) * :bread: **PASS** Font familyname seems to be unique.
:bread: PASS: Check a static ttf can be generated from a variable font. * [com.google.fonts/check/174](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/174) * :bread: **PASS** fontTools.varLib.mutator generated a static font instance
:bread: PASS: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/040](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/040) * :bread: **PASS** OS/2 usWinAscent & usWinDescent values look good!
:bread: PASS: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/042](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/042) * :bread: **PASS** OS/2.sTypoAscender/Descender match hhea.ascent/descent.
:bread: PASS: Font enables smart dropout control in "prep" table instructions? * [com.google.fonts/check/072](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/072) * :bread: **PASS** 'prep' table contains instructions enabling smart dropout control.
:bread: PASS: Checking with ftxvalidator. * [com.google.fonts/check/035](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/035) * :bread: **PASS** ftxvalidator passed this file
:bread: PASS: Checking with ots-sanitize. * [com.google.fonts/check/036](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/036) * :bread: **PASS** ots-sanitize passed this file
:bread: PASS: Font contains .notdef as first glyph? * [com.google.fonts/check/046](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/046) * :bread: **PASS** Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
:bread: PASS: Font contains glyphs for whitespace characters? * [com.google.fonts/check/047](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/047) * :bread: **PASS** Font contains glyphs for whitespace characters.
:bread: PASS: Font has **proper** whitespace glyph names? * [com.google.fonts/check/048](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/048) * :bread: **PASS** Font has **proper** whitespace glyph names.
:bread: PASS: Whitespace glyphs have ink? * [com.google.fonts/check/049](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/049) * :bread: **PASS** There is no whitespace glyph with ink.
:bread: PASS: Are there unwanted tables? * [com.google.fonts/check/053](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/053) * :bread: **PASS** There are no unwanted tables.
:bread: PASS: Glyph names are all valid? * [com.google.fonts/check/058](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/058) * :bread: **PASS** Glyph names are all valid.
:bread: PASS: Font contains unique glyph names? * [com.google.fonts/check/059](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/059) * :bread: **PASS** Font contains unique glyph names.
:bread: PASS: Checking with fontTools.ttx * [com.google.fonts/check/ttx-roundtrip](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ttx-roundtrip) * :bread: **PASS** Hey! It all looks good!
:bread: PASS: Check glyphs have unique unicode codepoints. * [com.google.fonts/check/076](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/076) * :bread: **PASS** All glyphs have unique unicode codepoint assignments.
:bread: PASS: Check all glyphs have codepoints assigned. * [com.google.fonts/check/077](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/077) * :bread: **PASS** All glyphs have a codepoint value assigned.
:bread: PASS: Checking unitsPerEm value is reasonable. * [com.google.fonts/check/043](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/043) * :bread: **PASS** unitsPerEm value on the 'head' table is reasonable.
:bread: PASS: Checking font version fields (head and name table). * [com.google.fonts/check/044](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/044) * :bread: **PASS** All font version fields match.
:bread: PASS: Font has correct post table version (2 for TTF, 3 for OTF)? * [com.google.fonts/check/015](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/015) * :bread: **PASS** Font has post table version 2.
:bread: PASS: Description strings in the name table must not contain copyright info. * [com.google.fonts/check/031](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/031) * :bread: **PASS** Description strings in the name table do not contain any copyright string.
:bread: PASS: Checking correctness of monospaced metadata. * [com.google.fonts/check/033](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/033) * :bread: **PASS** Font is not monospaced and all related metadata look good. [code: good]
:bread: PASS: Name table entries should not contain line-breaks. * [com.google.fonts/check/057](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/057) * :bread: **PASS** Name table entries are all single-line (no line-breaks found).
:bread: PASS: Does full font name begin with the font family name? * [com.google.fonts/check/068](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/068) * :bread: **PASS** Full font name begins with the font family name.
:bread: PASS: Font follows the family naming recommendations? * [com.google.fonts/check/071](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/071) * :bread: **PASS** Font follows the family naming recommendations.
:bread: PASS: Name table strings must not contain the string 'Reserved Font Name'. * [com.google.fonts/check/152](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/152) * :bread: **PASS** None of the name table strings contain "Reserved Font Name".
:bread: PASS: Combined length of family and style must not exceed 20 characters. * [com.google.fonts/check/163](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/163) * :bread: **PASS** All name entries are good.
:bread: PASS: Checking Vertical Metric Linegaps. * [com.google.fonts/check/041](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/041) * :bread: **PASS** OS/2 sTypoLineGap and hhea lineGap are both 0.
:bread: PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables? * [com.google.fonts/check/073](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/073) * :bread: **PASS** MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
:bread: PASS: Does the font have a DSIG table? * [com.google.fonts/check/045](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/045) * :bread: **PASS** Digital Signature (DSIG) exists.
:bread: PASS: Whitespace and non-breaking space have the same width? * [com.google.fonts/check/050](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/050) * :bread: **PASS** Whitespace and non-breaking space have the same width.
:bread: PASS: Does GPOS table have kerning information? * [com.google.fonts/check/063](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/063) * :bread: **PASS** GPOS table has got kerning information.
:bread: PASS: Are there caret positions declared for every ligature? * [com.google.fonts/check/064](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/064) * :bread: **PASS** Looks good!
:bread: PASS: Is there a "kern" table declared in the font? * [com.google.fonts/check/066](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/066) * :bread: **PASS** Font does not declare an optional "kern" table.
:bread: PASS: Is there any unused data at the end of the glyf table? * [com.google.fonts/check/069](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/069) * :bread: **PASS** There is no unused data at the end of the glyf table.
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance. * [com.google.fonts/check/167](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/167) * :bread: **PASS** Regular:wght is 400.
:bread: PASS: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance. * [com.google.fonts/check/172](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/172) * :bread: **PASS** Bold:wght is 700.
:bread: PASS: Does the number of glyphs in the loca table match the maxp table? * [com.google.fonts/check/180](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/180) * :bread: **PASS** 'loca' table matches numGlyphs in 'maxp' table.

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
0 3 4 62 6 58
0% 2% 3% 47% 5% 44%
davelab6 commented 6 years ago

Sweet!