Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bethellen: v1.016 added #1867

Closed
wants to merge 14 commits into from
Closed

Conversation

felipesanches
Copy link
Collaborator

@felipesanches felipesanches commented Mar 6, 2019

screenshot at 2019-03-07 18 48 56

This is the first time I submit a pull request for adding a new font to this repo. So I decided to do it step by step in the hope of documenting the process.

This initial PR contains the Beth Ellen Regular OTF and TTF files as provided by Rob Jelinski via email. It also includes a PDF that describes the overall design aspects of the font. Some of the text from that PDF was copied into the DESCRIPTION.en_us.html file.

A METADATA.pb file was automatically generated using the gftools add-font script from https://github.com/googlefonts/gftools/ The designer field was updated from "UNKNOWN" to "Rob Jelinski".

Even though this commit mentions "v1.000 added", I have not yet verified what is the font version number declared on the font binaries, so I should do it next.

I have also run fontbakery version 0.6.11 on it. The full report, which obviously contains problems yet to be addressed, will be posted on my next message.

screenshot at 2019-03-07 18 50 01
screenshot at 2019-03-07 18 50 18
screenshot at 2019-03-07 18 50 45
screenshot at 2019-03-07 18 51 01

@felipesanches
Copy link
Collaborator Author

I have also contacted Rob Jelinski asking for the corresponding font project source files. Once we get that, we'll be able to setup an upstream repo for this font project.

@felipesanches
Copy link
Collaborator Author

Fontbakery report

Fontbakery version: 0.6.12-dev

[28] Family checks
🔥 FAIL: METADATA.pb: check if fonts field only has unique "full_name" values.
🔥 FAIL: METADATA.pb: check if fonts field only contains unique style:weight pairs.
ℹ️ INFO: Do we have the latest version of FontBakery installed?
🍞 PASS: Does DESCRIPTION file contain broken links?
🍞 PASS: Is this a proper HTML snippet?
🍞 PASS: DESCRIPTION.en_us.html must have more than 200 bytes.
🍞 PASS: DESCRIPTION.en_us.html must have less than 1000 bytes.
🍞 PASS: Check METADATA.pb parse correctly.
🍞 PASS: Font designer field in METADATA.pb must not be 'unknown'.
🍞 PASS: Fonts have equal numbers of glyphs?
🍞 PASS: Fonts have equal glyph names?
🍞 PASS: Check font has a license.
🍞 PASS: METADATA.pb license is "APACHE2", "UFL" or "OFL"?
🍞 PASS: METADATA.pb should contain at least "menu" and "latin" subsets.
🍞 PASS: METADATA.pb subsets should be alphabetically ordered.
🍞 PASS: METADATA.pb: Copyright notice is the same in all fonts?
🍞 PASS: Check that METADATA.pb family values are all the same.
🍞 PASS: METADATA.pb: According Google Fonts standards, families should have a Regular style.
🍞 PASS: METADATA.pb: Regular should be 400.
🍞 PASS: All tabular figures must have the same width across the RIBBI-family.
🍞 PASS: Checking all files are in the same directory.
🍞 PASS: Is the command `ftxvalidator` (Apple Font Tool Suite) available?
🍞 PASS: Fonts have equal unicode encodings?
🍞 PASS: Make sure all font files have the same version value.
🍞 PASS: Fonts have consistent PANOSE proportion?
🍞 PASS: Fonts have consistent PANOSE family type?
🍞 PASS: Fonts have consistent underline thickness?
⚠️ WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?

[115] BethEllen-Regular.ttf
💔 ERROR: Checking with ftxvalidator.

ssh: connect to host 192.168.0.11 port 22: No route to host
lost connection
ssh: connect to host 192.168.0.11 port 22: No route to host
ssh: connect to host 192.168.0.11 port 22: No route to host

🔥 FAIL: Check copyright namerecords match license file.
  • com.google.fonts/check/029
  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 1 (MACINTOSH) is not specified for that. Value was: "Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, t" Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL" [code: wrong]
  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 3 (WINDOWS) is not specified for that. Value was: "Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, t" Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL" [code: wrong]
🔥 FAIL: "License URL matches License text on name table?
  • com.google.fonts/check/030
  • 🔥 FAIL A known license URL must be provided in the NameID 14 (LICENSE INFO URL) entry. Currently accepted licenses are Apache or Open Font License. For a small set of legacy families the Ubuntu Font License may be acceptable as well. [code: no-license-found]
🔥 FAIL: Font has all expected currency sign characters?
🔥 FAIL: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
  • com.google.fonts/check/096
  • 🔥 FAIL METADATA.pb font full_name="Beth Ellen" does not match post_script_name = "BethEllenRegular"
🔥 FAIL: METADATA.pb font.filename and font.post_script_name fields have equivalent values?
  • com.google.fonts/check/097
  • 🔥 FAIL METADATA.pb font filename="BethEllen-Regular.ttf" does not match post_script_name="BethEllenRegular".
🔥 FAIL: Copyright notices match canonical pattern?
  • com.google.fonts/check/102
  • 🔥 FAIL METADATA.pb: Copyright notices should match a pattern similar to: 'Copyright 2017 The Familyname Project Authors (git url)'
    But instead we have got: 'Copyright (c) 2018, Rob Jelinski Studios,llc. with Reserved Font Name'
  • 🔥 FAIL Name table entry: Copyright notices should match a pattern similar to: 'Copyright 2017 The Familyname Project Authors (git url)'
    But instead we have got: 'Copyright (c) 2018, Rob Jelinski Studios,llc. with Reserved Font Name'
  • 🔥 FAIL Name table entry: Copyright notices should match a pattern similar to: 'Copyright 2017 The Familyname Project Authors (git url)'
    But instead we have got: 'Copyright (c) 2018, Rob Jelinski Studios,llc. with Reserved Font Name'
🔥 FAIL: METADATA.pb weight matches postScriptName.
  • com.google.fonts/check/113
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName ("BethEllenRegular") and weight value (400). The name must be ended with "Regular" or "Italic".
🔥 FAIL: Check name table: POSTSCRIPT_NAME entries.
  • com.google.fonts/check/160
  • 🔥 FAIL Entry [POSTSCRIPT_NAME(6):MACINTOSH(1)] on the 'name' table: Expected 'BethEllen-Regular' but got 'BethEllenRegular'.
  • 🔥 FAIL Entry [POSTSCRIPT_NAME(6):WINDOWS(3)] on the 'name' table: Expected 'BethEllen-Regular' but got 'BethEllenRegular'.
🔥 FAIL: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
  • com.google.fonts/check/161
  • 🔥 FAIL Font style is 'Regular' and, for that reason, it is not expected to have a [TYPOGRAPHIC_FAMILY_NAME(16):MACINTOSH(1)] entry! [code: ribbi]
  • 🔥 FAIL Font style is 'Regular' and, for that reason, it is not expected to have a [TYPOGRAPHIC_FAMILY_NAME(16):WINDOWS(3)] entry! [code: ribbi]
🔥 FAIL: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
  • com.google.fonts/check/162
  • 🔥 FAIL Font style is 'Regular' and, for that reason, it is not expected to have a [TYPOGRAPHIC_SUBFAMILY_NAME(17):MACINTOSH(1)] entry! [code: ribbi]
  • 🔥 FAIL Font style is 'Regular' and, for that reason, it is not expected to have a [TYPOGRAPHIC_SUBFAMILY_NAME(17):WINDOWS(3)] entry! [code: ribbi]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent.
  • com.google.fonts/check/040
  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 985, but got 969 instead [code: ascent]
  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 371, but got 368 instead [code: descent]
🔥 FAIL: Font enables smart dropout control in "prep" table instructions?
  • com.google.fonts/check/072
  • 🔥 FAIL 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script.
🔥 FAIL: Are there unwanted tables?
  • com.google.fonts/check/053
  • 🔥 FAIL Unwanted tables were found in the font and should be removed, either by fonttools/ttx or by editing them using the tool they are from: FFTM (from FontForge)
🔥 FAIL: Checking font version fields (head and name table).
  • com.google.fonts/check/044
  • 🔥 FAIL head version is ('1', '000'), name version string for platform 1, encoding 0, is ('1', '015') [code: mismatch]
  • 🔥 FAIL head version is ('1', '000'), name version string for platform 3, encoding 1, is ('1', '015') [code: mismatch]
🔥 FAIL: Does the font have a DSIG table?
  • com.google.fonts/check/045
  • 🔥 FAIL This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly.
⚠️ WARN: Checking OS/2 achVendID.
⚠️ WARN: Is 'gasp' table set to optimize rendering?

PPM <= 65535:
flag = 0x02
- Use grayscale rendering

  • ⚠️ WARN gaspRange 0xFFFF value 0x02 should be set to 0x0F.
⚠️ WARN: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'.
  • com.google.fonts/check/103
  • ⚠️ WARN METADATA.pb: copyright field ("Copyright (c) 2018, Rob Jelinski Studios,llc. with Reserved Font Name") contains "Reserved Font Name". This is an error except in a few specific rare cases.
⚠️ WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/116
  • ⚠️ WARN Even though unitsPerEm (1000) in this font is reasonable. It is strongly advised to consider changing it to 2000, since it will likely improve the quality of Variable Fonts by avoiding excessive rounding of coordinates on interpolations.
⚠️ WARN: Check if each glyph has the recommended amount of contours.
  • com.google.fonts/check/153
  • ⚠️ 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: four Contours detected: 3 Expected: 1 or 2
Glyph name: eight Contours detected: 2 Expected: 3
Glyph name: D Contours detected: 3 Expected: 2
Glyph name: F Contours detected: 3 Expected: 1
Glyph name: G Contours detected: 4 Expected: 1
Glyph name: H Contours detected: 3 Expected: 1
Glyph name: J Contours detected: 3 Expected: 1
Glyph name: K Contours detected: 3 Expected: 1 or 2
Glyph name: L Contours detected: 3 Expected: 1
Glyph name: S Contours detected: 3 Expected: 1
Glyph name: T Contours detected: 2 Expected: 1
Glyph name: f Contours detected: 2 Expected: 1
Glyph name: h Contours detected: 3 Expected: 1
Glyph name: j Contours detected: 3 Expected: 2
Glyph name: l Contours detected: 2 Expected: 1
Glyph name: q Contours detected: 3 Expected: 2
Glyph name: A Contours detected: 2 Expected: 3 or 4
Glyph name: E Contours detected: 1 Expected: 3
Glyph name: N Contours detected: 1 Expected: 2
Glyph name: s Contours detected: 2 Expected: 1
Glyph name: a Contours detected: 2 Expected: 4
Glyph name: e Contours detected: 2 Expected: 4
Glyph name: i Contours detected: 2 Expected: 3
Glyph name: n Contours detected: 1 Expected: 2
Glyph name: u Contours detected: 1 Expected: 3
Glyph name: y Contours detected: 1 Expected: 3
Glyph name: trademark Contours detected: 1 Expected: 2

⚠️ WARN: Check name table: FULL_FONT_NAME entries.
  • com.google.fonts/check/159
  • ⚠️ WARN Entry [FULL_FONT_NAME(4):MACINTOSH(1)] on the 'name' table: Got 'Beth Ellen' which lacks 'Regular', but it is probably OK in this case.
  • ⚠️ WARN Entry [FULL_FONT_NAME(4):WINDOWS(3)] on the 'name' table: Got 'Beth Ellen' which lacks 'Regular', but it is probably OK in this case.
⚠️ WARN: Font contains .notdef as first glyph?
  • com.google.fonts/check/046
  • ⚠️ WARN Font should contain the .notdef glyph as the first glyph, it should not have a Unicode value assigned and should contain a drawing.
⚠️ WARN: Name table strings must not contain the string 'Reserved Font Name'.
  • com.google.fonts/check/152
  • ⚠️ WARN Name table entry ("Copyright (c) 2018, Rob Jelinski Studios,llc. with Reserved Font Name") contains "Reserved Font Name". This is an error except in a few specific rare cases.
  • ⚠️ WARN Name table entry ("Copyright (c) 2018, Rob Jelinski Studios,llc. with Reserved Font Name") contains "Reserved Font Name". This is an error except in a few specific rare cases.
⚠️ WARN: Does GPOS table have kerning information?
⚠️ WARN: Are there caret positions declared for every ligature?
  • com.google.fonts/check/064
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
💤 SKIP: Font has ttfautohint params?
💤 SKIP: METADATA.pb font.style "italic" matches font internals?
💤 SKIP: Version number has increased since previous release on Google Fonts?
💤 SKIP: Glyphs are similiar to Google Fonts version?
💤 SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
💤 SKIP: Check a static ttf can be generated from a variable font.
💤 SKIP: Check that variable fonts have an HVAR table.
💤 SKIP: All name entries referenced by fvar instances exist on the name table?
💤 SKIP: A variable font must have named instances.
💤 SKIP: Variable font weight coordinates must be multiples of 100.
💤 SKIP: PPEM must be an integer on hinted fonts.
💤 SKIP: FontForge validation outputs error messages?
💤 SKIP: FontForge checks.
💤 SKIP: CFF table FontName must match name table ID 6 (PostScript name).
💤 SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
💤 SKIP: Is there kerning info for non-ligated sequences?
💤 SKIP: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
💤 SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
💤 SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
💤 SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
💤 SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
💤 SKIP: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
💤 SKIP: The variable font 'wght' (Weight) axis coordinate must be within spec range of 1 to 1000 on all instances.
ℹ️ INFO: Show hinting filesize impact.
BethEllen-Regular.ttf
Dehinted Size 47.2kb
Hinted Size 47.2kb
Increase -28 bytes
Change -0.1 %
ℹ️ INFO: Font has old ttfautohint applied?
  • com.google.fonts/check/056
  • ℹ️ 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.015;Fontself Maker 2.1.2', 'Version 1.015;Fontself Maker 2.1.2']
ℹ️ INFO: EPAR table present in font?
ℹ️ INFO: Check for font-v versioning
  • com.google.fonts/check/166
  • ℹ️ INFO Version string is: "Version 1.015;Fontself Maker 2.1.2"
    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"
ℹ️ INFO: Font contains all required tables?
  • com.google.fonts/check/052
  • ℹ️ INFO This font contains the following optional tables [GPOS, GSUB, gasp, loca]
  • 🍞 PASS Font contains all required tables.
ℹ️ INFO: Check if OS/2 xAvgCharWidth is correct.
🍞 PASS: Checking file is named canonically.
🍞 PASS: Checking OS/2 fsType.
🍞 PASS: Substitute copyright, registered and trademark symbols in name table entries.
  • com.google.fonts/check/019
  • 🍞 PASS No need to substitute copyright, registered and trademark symbols in name table entries of this font.
🍞 PASS: Checking OS/2 usWeightClass.
🍞 PASS: Description strings in the name table must not exceed 200 characters.
🍞 PASS: Version format is correct in 'name' table?
🍞 PASS: Make sure family name does not begin with a digit.
🍞 PASS: Are there non-ASCII characters in ASCII-only NAME table entries?
🍞 PASS: Checks METADATA.pb font.name field matches family name declared on the name table.
🍞 PASS: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
🍞 PASS: METADATA.pb font.full_name value matches fullname declared on the name table?
  • com.google.fonts/check/094
  • 🍞 PASS Font fullname "Beth Ellen" is identical in METADATA.pb and on the TTF file.
  • 🍞 PASS Font fullname "Beth Ellen" is identical in METADATA.pb and on the TTF file.
🍞 PASS: METADATA.pb font.name value should be same as the family name declared on the name table.
  • com.google.fonts/check/095
  • 🍞 PASS OK: Family name "Beth Ellen" is identical in METADATA.pb and on the TTF file.
  • 🍞 PASS OK: Family name "Beth Ellen" is identical in METADATA.pb and on the TTF file.
🍞 PASS: METADATA.pb font.name field contains font name in right format?
🍞 PASS: METADATA.pb font.full_name field contains font name in right format?
  • com.google.fonts/check/099
  • 🍞 PASS METADATA.pb font.full_name field contains font name in right format. ('Beth Ellen' in 'Beth Ellen')
  • 🍞 PASS METADATA.pb font.full_name field contains font name in right format. ('Beth Ellen' in 'Beth Ellen')
🍞 PASS: METADATA.pb font.filename field contains font name in right format?
🍞 PASS: METADATA.pb font.post_script_name field contains font name in right format?
  • com.google.fonts/check/101
  • 🍞 PASS METADATA.pb postScriptName field contains font name in right format.
  • 🍞 PASS METADATA.pb postScriptName field contains font name in right format.
🍞 PASS: METADATA.pb: Copyright notice shouldn't exceed 500 chars.
🍞 PASS: METADATA.pb: Filename is set canonically?
🍞 PASS: METADATA.pb font.style "normal" matches font internals?
🍞 PASS: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
🍞 PASS: METADATA.pb: Check if fontname is not camel cased.
🍞 PASS: METADATA.pb: Check font name is the same as family name.
🍞 PASS: METADATA.pb: Check that font weight has a canonical value.
🍞 PASS: Checking OS/2 usWeightClass matches weight specified at METADATA.pb.
🍞 PASS: METADATA.pb: Font styles are named canonically?
🍞 PASS: Checking OS/2 fsSelection value.
  • com.google.fonts/check/129
  • 🍞 PASS OS/2 fsSelection REGULAR bit is properly set.
  • 🍞 PASS OS/2 fsSelection ITALIC bit is properly set.
  • 🍞 PASS OS/2 fsSelection BOLD bit is properly set.
🍞 PASS: Checking post.italicAngle value.
🍞 PASS: Checking head.macStyle value.
  • com.google.fonts/check/131
  • 🍞 PASS head macStyle ITALIC bit is properly set.
  • 🍞 PASS head macStyle BOLD bit is properly set.
🍞 PASS: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
  • com.google.fonts/check/155
  • 🍞 PASS Copyright field for this font on METADATA.pb matches copyright notice entries on the name table.
🍞 PASS: Font has all mandatory 'name' table entries ?
🍞 PASS: Check name table: FONT_FAMILY_NAME entries.
🍞 PASS: Check name table: FONT_SUBFAMILY_NAME entries.
🍞 PASS: Length of copyright notice must not exceed 500 characters.
🍞 PASS: Familyname must be unique according to namecheck.fontdata.com
🍞 PASS: Checking OS/2 Metrics match hhea Metrics.
🍞 PASS: There must not be VTT Talk sources in the font.
🍞 PASS: Are there unwanted Apple tables?
🍞 PASS: Checking with ots-sanitize.
🍞 PASS: Font contains glyphs for whitespace characters?
🍞 PASS: Font has **proper** whitespace glyph names?
🍞 PASS: Whitespace glyphs have ink?
🍞 PASS: Glyph names are all valid?
🍞 PASS: Font contains unique glyph names?
🍞 PASS: Checking with fontTools.ttx
🍞 PASS: Check all glyphs have codepoints assigned.
🍞 PASS: Checking unitsPerEm value is reasonable.
🍞 PASS: Font has correct post table version (2 for TTF, 3 for OTF)?
🍞 PASS: Description strings in the name table must not contain copyright info.
🍞 PASS: Checking correctness of monospaced metadata.
🍞 PASS: Name table entries should not contain line-breaks.
🍞 PASS: Does full font name begin with the font family name?
🍞 PASS: Font follows the family naming recommendations?
🍞 PASS: Combined length of family and style must not exceed 20 characters.
🍞 PASS: Checking Vertical Metric Linegaps.
🍞 PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
🍞 PASS: Whitespace and non-breaking space have the same width?
🍞 PASS: Is there a "kern" table declared in the font?
🍞 PASS: Is there any unused data at the end of the glyf table?
🍞 PASS: Check for points out of bounds.
🍞 PASS: Does the number of glyphs in the loca table match the maxp table?

Summary

💔 ERROR 🔥 FAIL ⚠️ WARN 💤 SKIP ℹ️ INFO 🍞 PASS
1 17 11 23 7 84
1% 12% 8% 16% 5% 59%

@davelab6
Copy link
Member

davelab6 commented Mar 6, 2019

Thank you Felipe! Really great to have you preparing PRs and "dogfooding" Font Bakery :)

A few issues I can see:

The RFN is a huge blocker. My guess is that it's an oversight and as part of setting up the upstream with him that will be resolved, though :)

The copyright notices in METADATA are wrong compared to the OFL.txt. Probably also compared to the fonts internal name table metadata.

The otf and pdf don't belong here, they should be in the upstream repo /docs folder; and FontBakery and or the CI should have FAIL checks for that to prevent them being added.

The METADATA category is wrong, perhaps can be checked against other style metadata in the ttf like panose or other os/2 or post table metadata and flagged as inconsistent; also the METADATA generator should have also placefilled it as UNKNOWN to make it clearer it needs a manual input (or if the generator is running interactively bit can prompt, and if ambiguous, prompt and time out and continue)

Even though there's no older version to diff, a PNG inline on the PR showing what it looks like would be important to quickly reviewing.

I see FB caught a bunch of other stuff, which is great :) All the above should be caught by FB, and I think the FB report needs more clear prioritization :)

@felipesanches
Copy link
Collaborator Author

felipesanches commented Mar 7, 2019

I will create additional commits with incremental changes to document the step-by-step process of fixing these issues. In the end, I expect this to be squashed into a single commit right before merging.

@felipesanches
Copy link
Collaborator Author

I've just updated the description of this pull request to include samples of the font, as @davelab6 suggested.

Rob Jelinski authorized me to make this licensing update.
The font project repo string currently points to my fork (https://github.com/felipesanches/BethEllen), but we may soon move it to https://github.com/googlefonts/BethEllen and then we'll have to update this again here.
@felipesanches felipesanches changed the title bethellen: v1.000 added bethellen: v1.015 added Mar 7, 2019
@felipesanches
Copy link
Collaborator Author

I just verified that the font version stored in the TTF binaries is v1.015, so I updated the PR title to reflect that.

@felipesanches felipesanches changed the title bethellen: v1.015 added bethellen: v1.016 added Mar 7, 2019
@felipesanches
Copy link
Collaborator Author

Since Rob Jelinski had already published v1.015 binaries elsewhere, I decided it is safer for GFonts to start with v1.016

binaries previously published elsewhere.
@felipesanches
Copy link
Collaborator Author

Updated fontbakery report, showing only FAILs:

Fontbakery report

Fontbakery version: 0.6.12-dev

[11] BethEllen-Regular.ttf
💔 ERROR: Checking with ftxvalidator.

ssh: connect to host 192.168.0.11 port 22: No route to host
lost connection
ssh: connect to host 192.168.0.11 port 22: No route to host
ssh: connect to host 192.168.0.11 port 22: No route to host

🔥 FAIL: Font has all expected currency sign characters?
🔥 FAIL: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
  • com.google.fonts/check/096
  • 🔥 FAIL METADATA.pb font full_name="Beth Ellen" does not match post_script_name = "BethEllenRegular"
🔥 FAIL: METADATA.pb font.filename and font.post_script_name fields have equivalent values?
  • com.google.fonts/check/097
  • 🔥 FAIL METADATA.pb font filename="BethEllen-Regular.ttf" does not match post_script_name="BethEllenRegular".
🔥 FAIL: METADATA.pb weight matches postScriptName.
  • com.google.fonts/check/113
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName ("BethEllenRegular") and weight value (400). The name must be ended with "Regular" or "Italic".
🔥 FAIL: Check name table: POSTSCRIPT_NAME entries.
  • com.google.fonts/check/160
  • 🔥 FAIL Entry [POSTSCRIPT_NAME(6):MACINTOSH(1)] on the 'name' table: Expected 'BethEllen-Regular' but got 'BethEllenRegular'.
  • 🔥 FAIL Entry [POSTSCRIPT_NAME(6):WINDOWS(3)] on the 'name' table: Expected 'BethEllen-Regular' but got 'BethEllenRegular'.
🔥 FAIL: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
  • com.google.fonts/check/161
  • 🔥 FAIL Font style is 'Regular' and, for that reason, it is not expected to have a [TYPOGRAPHIC_FAMILY_NAME(16):MACINTOSH(1)] entry! [code: ribbi]
  • 🔥 FAIL Font style is 'Regular' and, for that reason, it is not expected to have a [TYPOGRAPHIC_FAMILY_NAME(16):WINDOWS(3)] entry! [code: ribbi]
🔥 FAIL: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
  • com.google.fonts/check/162
  • 🔥 FAIL Font style is 'Regular' and, for that reason, it is not expected to have a [TYPOGRAPHIC_SUBFAMILY_NAME(17):MACINTOSH(1)] entry! [code: ribbi]
  • 🔥 FAIL Font style is 'Regular' and, for that reason, it is not expected to have a [TYPOGRAPHIC_SUBFAMILY_NAME(17):WINDOWS(3)] entry! [code: ribbi]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent.
  • com.google.fonts/check/040
  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 985, but got 969 instead [code: ascent]
  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 371, but got 368 instead [code: descent]
🔥 FAIL: Font enables smart dropout control in "prep" table instructions?
  • com.google.fonts/check/072
  • 🔥 FAIL 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script.
🔥 FAIL: Does the font have a DSIG table?
  • com.google.fonts/check/045
  • 🔥 FAIL This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly.

Summary

💔 ERROR 🔥 FAIL ⚠️ WARN 💤 SKIP ℹ️ INFO 🍞 PASS
1 10 9 23 7 93
1% 7% 6% 16% 5% 65%

Note: The following loglevels were omitted in this report:

  • WARN
  • SKIP
  • INFO
  • PASS

Font enables smart dropout control in "prep" table instructions?
FAIL: 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script.
* com.google.fonts/check/040
* **FAIL** OS/2.usWinAscent value should be equal or greater than 985, but got 969 instead [code: ascent]
* **FAIL** OS/2.usWinDescent value should be equal or greater than 371, but got 368 instead [code: descent]
@felipesanches
Copy link
Collaborator Author

I've addressed almost everything. I will now try to setup ftxvalidator on the Mac using @graphicore's SSH-bridge.

Fontbakery report

Fontbakery version: 0.6.12-dev

[1] BethEllen-Regular.ttf
💔 ERROR: Checking with ftxvalidator.

ssh: connect to host 192.168.0.11 port 22: No route to host
lost connection
ssh: connect to host 192.168.0.11 port 22: No route to host
ssh: connect to host 192.168.0.11 port 22: No route to host


Summary

💔 ERROR 🔥 FAIL ⚠️ WARN 💤 SKIP ℹ️ INFO 🍞 PASS
1 0 7 23 8 104
1% 0% 5% 16% 6% 73%

Note: The following loglevels were omitted in this report:

  • WARN
  • SKIP
  • INFO
  • PASS

@felipesanches
Copy link
Collaborator Author

Note: the Euro glyph outlines were extracted from the sample PDF and added to the font using FontForge. I have published all changes in TTX format, including this auxiliary FontForge project (in SFD format) at the upstream repo:

https://github.com/felipesanches/BethEllen/

@felipesanches
Copy link
Collaborator Author

There are still some WARNs. I have the impression that several of those are not important at the moment for this font, though. What do you think, @davelab6?

Fontbakery report

Fontbakery version: 0.6.12-dev

[2] Family checks
ℹ️ INFO: Do we have the latest version of FontBakery installed?
⚠️ WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?

[37] BethEllen-Regular.ttf
💔 ERROR: Checking with ftxvalidator.

ssh: connect to host 192.168.0.11 port 22: No route to host
lost connection
ssh: connect to host 192.168.0.11 port 22: No route to host
ssh: connect to host 192.168.0.11 port 22: No route to host

⚠️ WARN: Checking OS/2 achVendID.
⚠️ WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/116
  • ⚠️ WARN Even though unitsPerEm (1000) in this font is reasonable. It is strongly advised to consider changing it to 2000, since it will likely improve the quality of Variable Fonts by avoiding excessive rounding of coordinates on interpolations.
⚠️ WARN: Check if each glyph has the recommended amount of contours.
  • com.google.fonts/check/153
  • ⚠️ 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: four Contours detected: 3 Expected: 1 or 2
Glyph name: eight Contours detected: 2 Expected: 3
Glyph name: D Contours detected: 3 Expected: 2
Glyph name: F Contours detected: 3 Expected: 1
Glyph name: G Contours detected: 4 Expected: 1
Glyph name: H Contours detected: 3 Expected: 1
Glyph name: J Contours detected: 3 Expected: 1
Glyph name: K Contours detected: 3 Expected: 1 or 2
Glyph name: L Contours detected: 3 Expected: 1
Glyph name: S Contours detected: 3 Expected: 1
Glyph name: T Contours detected: 2 Expected: 1
Glyph name: f Contours detected: 2 Expected: 1
Glyph name: h Contours detected: 3 Expected: 1
Glyph name: j Contours detected: 3 Expected: 2
Glyph name: l Contours detected: 2 Expected: 1
Glyph name: q Contours detected: 3 Expected: 2
Glyph name: A Contours detected: 2 Expected: 3 or 4
Glyph name: E Contours detected: 1 Expected: 3
Glyph name: N Contours detected: 1 Expected: 2
Glyph name: s Contours detected: 2 Expected: 1
Glyph name: a Contours detected: 2 Expected: 4
Glyph name: e Contours detected: 2 Expected: 4
Glyph name: i Contours detected: 2 Expected: 3
Glyph name: n Contours detected: 1 Expected: 2
Glyph name: u Contours detected: 1 Expected: 3
Glyph name: y Contours detected: 1 Expected: 3
Glyph name: trademark Contours detected: 1 Expected: 2

⚠️ WARN: Font contains .notdef as first glyph?
  • com.google.fonts/check/046
  • ⚠️ WARN Font should contain the .notdef glyph as the first glyph, it should not have a Unicode value assigned and should contain a drawing.
⚠️ WARN: Does GPOS table have kerning information?
⚠️ WARN: Are there caret positions declared for every ligature?
  • com.google.fonts/check/064
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
💤 SKIP: Font has ttfautohint params?
💤 SKIP: METADATA.pb font.style "italic" matches font internals?
💤 SKIP: Version number has increased since previous release on Google Fonts?
💤 SKIP: Glyphs are similiar to Google Fonts version?
💤 SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com
💤 SKIP: Check a static ttf can be generated from a variable font.
💤 SKIP: Check that variable fonts have an HVAR table.
💤 SKIP: All name entries referenced by fvar instances exist on the name table?
💤 SKIP: A variable font must have named instances.
💤 SKIP: Variable font weight coordinates must be multiples of 100.
💤 SKIP: PPEM must be an integer on hinted fonts.
💤 SKIP: FontForge validation outputs error messages?
💤 SKIP: FontForge checks.
💤 SKIP: CFF table FontName must match name table ID 6 (PostScript name).
💤 SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth?
💤 SKIP: Is there kerning info for non-ligated sequences?
💤 SKIP: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
💤 SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
💤 SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
💤 SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
💤 SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance.
💤 SKIP: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
💤 SKIP: The variable font 'wght' (Weight) axis coordinate must be within spec range of 1 to 1000 on all instances.
ℹ️ INFO: Show hinting filesize impact.
BethEllen-Regular.ttf
Dehinted Size 47.5kb
Hinted Size 47.4kb
Increase -152 bytes
Change -0.3 %
ℹ️ INFO: Font has old ttfautohint applied?
  • com.google.fonts/check/056
  • ℹ️ 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.016;Fontself Maker 2.1.2', 'Version 1.016;Fontself Maker 2.1.2']
ℹ️ INFO: EPAR table present in font?
ℹ️ INFO: Is 'gasp' table set to optimize rendering?

PPM <= 65535:
flag = 0x0F
- Use gridfitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®

ℹ️ INFO: Check for font-v versioning
  • com.google.fonts/check/166
  • ℹ️ INFO Version string is: "Version 1.016;Fontself Maker 2.1.2"
    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"
ℹ️ INFO: Font contains all required tables?
ℹ️ INFO: Check if OS/2 xAvgCharWidth is correct.

Summary

💔 ERROR 🔥 FAIL ⚠️ WARN 💤 SKIP ℹ️ INFO 🍞 PASS
1 0 7 23 8 104
1% 0% 5% 16% 6% 73%

Note: The following loglevels were omitted in this report:

  • PASS

@felipesanches
Copy link
Collaborator Author

screenshot at 2019-03-07 23 25 32

@felipesanches
Copy link
Collaborator Author

I suggested Rob should consider registering a vendor ID with Microsoft. Some good choices for Rob Jelinski Studios could be RobJ, RJel or RJSt.

If he does register, then I'll update the font metadata because it currently has vendor-id=XXXX.

@@ -0,0 +1,9 @@
<p>
Beth Ellen is a simple, joyful handwritten font crafted after the penmanship of my mom, Beth Ellen Jelinski who passed away from cancer on March 5th, 2017.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would drop the empty lines

filename: "BethEllen-Regular.ttf"
post_script_name: "BethEllen-Regular"
full_name: "Beth Ellen Regular"
copyright: "Copyright 2018 The Beth Ellen Project Authors (https://github.com/felipesanches/BethEllen)"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

URL should be https://github.com/googlefonts/BethEllen

@@ -0,0 +1,43 @@
Copyright 2018 The Beth Ellen Project Authors (https://github.com/felipesanches/BethEllen)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

URL should be https://github.com/googlefonts/BethEllen

@davelab6
Copy link
Member

davelab6 commented Mar 8, 2019

I made a few comments on the Files Changed tab. Main thing there is to transfer https://github.com/felipesanches/BethEllen/ to me, and then I'll transfer it to googlefonts org.

OS/2 VendorID value 'XXXX' is not a known registered id.

I believe UNKN is what is typically used, maybe specific to FontLab v5 though. XXXX is fine, though, but whatever set it to XXXX should be identified and then the check result string should tell you how to set it correctly for that tool.

If he does register, then I'll update the font metadata

Sure. I guess file that on the upstream repo as a someday/maybe thing to do.

Does GPOS table have kerning information?

That's a pity. I guess there may be some 'shockers' like To or AV but as a handwriting font, maybe its OK. I suggest you look at it on the old Impallari Testing page (eg http://www.cyreal.org/Font-Testing-Page/) on the latin 1 and latin 2 tabs, which have 'kern king' and other test texts for kerning, and make sure it look OK.

Font contains .notdef as first glyph?

Not sure how important that is. Probably can be ignored, if there is a .notdef glyph defined somewhere in the font. The check could be updated to confirm if that is the case, and if not, result in a FAIL.

full_name: "Beth Ellen Regular"
copyright: "Copyright 2018 The Beth Ellen Project Authors (https://github.com/felipesanches/BethEllen)"
}
subsets: "latin"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you confirm it has 100% of the "Google Latin Core" glyph set?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I haven't. I'll do it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have just reviewed it and there's a whole bunch of glyphs from that set still missing.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@davelab6 davelab6 self-assigned this Mar 8, 2019
@davelab6 davelab6 added this to the Add New Families milestone Mar 8, 2019
@davelab6
Copy link
Member

davelab6 commented Mar 8, 2019

Is there a "add font" issue filed that this PR closes?

@felipesanches
Copy link
Collaborator Author

Is there a "add font" issue filed that this PR closes?

No. It seems Rod Jelinski contacted you directly via email.

@felipesanches
Copy link
Collaborator Author

Regarding .notdef, it is the first glyph in the font file and it has no outline.

screenshot at 2019-03-08 00 09 32

@felipesanches
Copy link
Collaborator Author

@felipesanches
Copy link
Collaborator Author

Closing this, as an updated version covering the full GF-latin-core glyphset is available as Beth Ellen Version 2.000 at #1981

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants