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

Miscellaneous other fixes #10

Closed
vv-monsalve opened this issue May 15, 2020 · 8 comments
Closed

Miscellaneous other fixes #10

vv-monsalve opened this issue May 15, 2020 · 8 comments

Comments

@vv-monsalve
Copy link
Collaborator

vv-monsalve commented May 15, 2020

Version
The new version value is 1.1, but if the release includes a change to variable version it should be 2.0. https://github.com/googlefonts/gf-docs/tree/master/Spec#font-versioning

STAT table
All variable fonts should include a STAT table. There is a patch file on the repository to solve this, but it seems it needs to be updated.
There are a few web pages that are always handy to test variable fonts Wakamai Fondue, Font Gauntlet, and the latest and IMO strongest Samsa Variable Font Inspector

Naming
Instance names of a Variable Font should follow the spec for them https://github.com/googlefonts/gf-docs/tree/master/Spec#instance-names

Ligatures: kerning and carets
Fonts with ligatures should have kerning on the corresponding non-ligated sequences for text where ligatures aren’t used (eg impallari/Raleway#14)
At the same time, all ligatures in a font must have corresponding caret (text cursor) positions defined in the GDEF table, otherwise, users may experience issues with caret rend
This is related to some of the Warns on the last FB report.

Notdef and glyphorder
A design for the .notdef character is needed. The OpenType specification v1.8.2 recommends that the first glyph is the .notdef glyph without a codepoint assigned and with a drawing.
https://docs.microsoft.com/en-us/typography/opentype/spec/

@davelab6
Copy link
Collaborator

All sounds good, although instance naming may need some discussion/clarification. @xotypeco wdyt?

@xotypeco
Copy link
Owner

xotypeco commented May 15, 2020

Instance names: I'm fine with VF instances following the VF spec, my only concern is keeping static files named Big Shoulders Text—Thin, etc. rather than using Big Shoulders 10pt—Thin.

this is primarily because of the family's purpose as a "citizen font" for all citizens, including most who aren't designers. easily-discernible purpose is derived from the names Text and Display, but not 10pt and 72pt. in my testing, most designers, let alone most people, don't know what grading is, so they don't understand what the point sizes mean.

again, this concern only pertains to statics. I expect designers on the web and developers using the VFs to understand (or be willing to understand) grading.

@davelab6, what do you think about that? does the change in naming between VF and Static cause a problem for you?

@xotypeco
Copy link
Owner

xotypeco commented May 15, 2020

Fonts with ligatures should have kerning on the corresponding non-ligated sequences for text where ligatures aren’t used (eg impallari/Raleway#14)

this already exists. in these screengrabs from the production files, left is typing in characters in their primary form. right is the ligated characters.

edit: left is ligature in fi, right is f and I.

Screenshot 2020-05-15 13 43 37

Screenshot 2020-05-15 13 45 14

Screenshot 2020-05-15 13 42 57

@vv-monsalve
Copy link
Collaborator Author

Good, the important thing is to ensure they are there. Probably an Issue on this false Warn could be opened.

@vv-monsalve
Copy link
Collaborator Author

vv-monsalve commented May 22, 2020

Please, have a look at these other Warns. This type of Warns are really great to catch some possible unwanted/unplanned things on the glyphs and ensure everything is as expected

WARN: Glyphs are similiar to Google Fonts version?
  • com.google.fonts/check/production_glyphs_similarity

  • WARN Following glyphs differ greatly from Google Fonts version: [uni0207.sc, uni0208, uni1EB7.sc, Itilde, uni1E2B.sc, uni1EF9.sc, obreve.sc, Gbreve, uni020B.sc, uni0146.sc, uni0215.sc, uni0157.sc, uni1ED3.sc, uni020C, uni1E15.sc, uni03060303, Obreve, lslash, uni1EAB.sc, uni1EAF.sc, uni0216, ebreve.sc, estimated, uni0213.sc, uni013C.sc, uni1EBD.sc, uni0201, uni0200, periodcentered.loclCAT, uni013B, uni1EB5, uni1EA6, uni1E14, uni1EBC, uni0203.sc, uni0136, Lslash, gdotaccent, uni1EE0, uni1EBF.sc, uni1EB1.sc, uni0215, uni030F, periodcentered.loclCAT.sc, Utilde, uni1ED0, uni0218, uni020E, uni1EB6, OE, uni1E79.sc, otilde.sc, uni0214, itilde.sc, uni1E52, uni1EA5.sc, uni1ED7, uni020F.sc, uni1EC0, uni0145, uni1EB2, uni0213.sc.ss01, aringacute, uni1EB5.ss01, uni0123.sc, Ebreve, uni1EBE, uni0205, abreve.sc, uni1EAB.ss01, uni1ED1.sc, ubreve.sc, Ibreve, uni020A, uni0122, uni0209.sc, uni1E2A, uni1E51.sc, uni0210, uni03020303, uni0211, uni022D.sc, aringacute.sc, uni0157.sc.ss01, ibreve.sc, uni1E69, uni0205.sc, ldot, uni1E53.sc, uni022C, Ohungarumlaut, uni0156.ss01, uni0211.sc, utilde.sc, uni1E78, uni1E4D.sc, uni0201.sc, Oslashacute, uni020D.sc, uni0206, uni1E50, uni021A, uni1EAA, uni1EE1.sc, uni1EC1.sc, uni0204, aring.ss01, ring, uni0219.sc, uni1E1C, uni1EAB, uni1EB0, atilde.sc, ldot.sc, uni0156, uni0210.ss01, uni0217.sc, uring, Ntilde, gbreve.sc, uni020D, aring, uni0202, Uhungarumlaut, uni1ED6, uni1EC5, uni1EA7.sc, emptyset, uni1ED2, Oslash, uni1E1D.sc, uni0209, Abreve, uni0137.sc, Aringacute, uni0212, periodcentered.sc, periodcentered.case, Otilde, periodcentered, uhungarumlaut.sc, uni1EEF.sc, Ldot, uni1EC4, oslashacute, uni021B.sc, uni1E16, ntilde.sc, uni1EB3.sc, uni1EC5.sc, ohungarumlaut.sc, Atilde, oslash, Ubreve, uni1EEE, uni0212.ss01, uni1EB5.sc, uni1EAE, uni030A, uni1E4C, uni1EA4, uni1EF8, uni0211.sc.ss01, uni1E17.sc, uni1ED7.sc, uni1EB4]

WARN: Check if each glyph has the recommended amount of contours.
--- Rationale ---

Visually QAing thousands of glyphs by hand is tiring. Most glyphs can only be
constructured in a handful of ways. This means a glyph's contour count will
only differ slightly amongst different fonts, e.g a 'g' could either be 2 or 3
contours, depending on whether its double story or single story.

However, a quotedbl should have 2 contours, unless the font belongs to a
display family.

This check currently does not cover variable fonts because there's plenty of
alternative ways of constructing glyphs with multiple outlines for each feature
in a VarFont. The expected contour count data for this check is currently
optimized for the typical construction of glyphs in static fonts.


  • 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: aogonek Contours detected: 3 Expected: 2
Glyph name: eogonek Contours detected: 3 Expected: 2
Glyph name: oe Contours detected: 4 Expected: 3
Glyph name: Uogonek Contours detected: 2 Expected: 1
Glyph name: uogonek Contours detected: 2 Expected: 1
Glyph name: ohorn Contours detected: 3 Expected: 2
Glyph name: Uhorn Contours detected: 2 Expected: 1
Glyph name: uhorn Contours detected: 2 Expected: 1
Glyph name: uni01EA Contours detected: 3 Expected: 2
Glyph name: uni01EB Contours detected: 3 Expected: 2
Glyph name: uni1E08 Contours detected: 3 Expected: 2
Glyph name: uni1E09 Contours detected: 3 Expected: 2
Glyph name: uni1E1C Contours detected: 3 Expected: 2
Glyph name: uni1E1D Contours detected: 4 Expected: 3
Glyph name: uni1EDB Contours detected: 4 Expected: 3
Glyph name: uni1EDD Contours detected: 4 Expected: 3
Glyph name: uni1EDF Contours detected: 4 Expected: 3
Glyph name: uni1EE1 Contours detected: 4 Expected: 3
Glyph name: uni1EE3 Contours detected: 4 Expected: 3
Glyph name: uni1EE8 Contours detected: 3 Expected: 2
Glyph name: uni1EE9 Contours detected: 3 Expected: 2
Glyph name: uni1EEA Contours detected: 3 Expected: 2
Glyph name: uni1EEB Contours detected: 3 Expected: 2
Glyph name: uni1EEC Contours detected: 3 Expected: 2
Glyph name: uni1EED Contours detected: 3 Expected: 2
Glyph name: uni1EEE Contours detected: 3 Expected: 2
Glyph name: uni1EEF Contours detected: 3 Expected: 2
Glyph name: uni1EF0 Contours detected: 3 Expected: 2
Glyph name: uni1EF1 Contours detected: 3 Expected: 2
Glyph name: uni1EDB Contours detected: 4 Expected: 3
Glyph name: uni1EF1 Contours detected: 3 Expected: 2
Glyph name: uogonek Contours detected: 2 Expected: 1
Glyph name: uni1EE1 Contours detected: 4 Expected: 3
Glyph name: uni1EE9 Contours detected: 3 Expected: 2
Glyph name: oe Contours detected: 4 Expected: 3
Glyph name: uni1E08 Contours detected: 3 Expected: 2
Glyph name: uni1EDF Contours detected: 4 Expected: 3
Glyph name: uni1EE3 Contours detected: 4 Expected: 3
Glyph name: uni1EEF Contours detected: 3 Expected: 2
Glyph name: uni1EE8 Contours detected: 3 Expected: 2
Glyph name: Uogonek Contours detected: 2 Expected: 1
Glyph name: uni1EEC Contours detected: 3 Expected: 2
Glyph name: Uhorn Contours detected: 2 Expected: 1
Glyph name: uni1EEA Contours detected: 3 Expected: 2
Glyph name: uni1E09 Contours detected: 3 Expected: 2
Glyph name: eogonek Contours detected: 3 Expected: 2
Glyph name: uni1EDD Contours detected: 4 Expected: 3
Glyph name: uni1E1C Contours detected: 3 Expected: 2
Glyph name: uni1EF0 Contours detected: 3 Expected: 2
Glyph name: aogonek Contours detected: 3 Expected: 2
Glyph name: uhorn Contours detected: 2 Expected: 1
Glyph name: uni1E1D Contours detected: 4 Expected: 3
Glyph name: uni1EED Contours detected: 3 Expected: 2
Glyph name: uni1EEE Contours detected: 3 Expected: 2
Glyph name: uni1EEB Contours detected: 3 Expected: 2
Glyph name: ohorn Contours detected: 3 Expected: 2 [code: contour-count]

@xotypeco
Copy link
Owner

these are all as expected.

the first warn is entirely due to my removal of .case accents, which is in current google fonts version, then using a standard set throughout the new versions.

the second warn is due to characters like ç and ę being comprised of a glyph and component rather than a unified single path.

@xotypeco xotypeco reopened this May 27, 2020
@xotypeco
Copy link
Owner

(reopened in case something else pops up)

@vv-monsalve
Copy link
Collaborator Author

I think most of them are covered. Stat table would be a future step. I changed the Instance Names back to Text and Display, for now, as Dave suggested

xotypeco pushed a commit that referenced this issue Oct 7, 2020
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

No branches or pull requests

3 participants