google / fonts

Font files available from Google Fonts, and a public issue tracker for all things Google Fonts
https://fonts.google.com
17.84k stars 2.6k forks source link

Add Darwin #7636

Open davelab6 opened 2 months ago

davelab6 commented 2 months ago

Github repo: https://github.com/topological-modular-forms/Darwin-Typeface

https://darwintypeface.com

emmamarichal commented 2 months ago

TO DO

Screenshot 2024-05-08 at 11 39 02

FontBakery report

fontbakery version: 0.12.5

Experimental checks

These won't break the CI job for now, but will become effective after some time if nobody raises any concern.

[1] DarwinSerif-Regular.ttf
⚠️ WARN Validate location, size and resolution of article images.
* ⚠️ **WARN**

Family metadata at . does not have an article.

[code: lacks-article]

All other checks

[29] DarwinSerif-Regular.ttf
🔥 FAIL Checking font version fields (head and name table).
* 🔥 **FAIL**

head version is "0.00099" while name version string (for platform 1, encoding 0) is "Version 0.1".

[code: mismatch] * 🔥 **FAIL**

head version is "0.00099" while name version string (for platform 3, encoding 1) is "Version 0.1".

[code: mismatch]
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent.
* 🔥 **FAIL**

OS/2.usWinAscent value should be equal or greater than 810, but got 644 instead

[code: ascent] * 🔥 **FAIL**

OS/2.usWinDescent value should be equal or greater than 339, but got 214 instead

[code: descent]
🔥 FAIL Ensure component transforms do not perform scaling or rotation.
* 🔥 **FAIL**

The following glyphs had components with scaling or rotation or inverted outline direction:

  • quoteleft (component quoteright)
  • quotedblleft (component quoteright)
  • quotedblleft (component quoteright)
[code: transformed-components]
🔥 FAIL Font contains glyphs for whitespace characters?
* 🔥 **FAIL**

Whitespace glyph missing for codepoint 0x00A0.

[code: missing-whitespace-glyph-0x00A0]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

No GF glyphset was found to be supported >80%, so language shaping support couldn't get checked.

[code: no-glyphset-supported]
🔥 FAIL Checking file is named canonically.
* 🔥 **FAIL**

Expected "DarwinSerifRegularALPHA-Regular.ttf. Got DarwinSerif-Regular.ttf.

[code: bad-filename]
🔥 FAIL Check font has the expected color font tables.
* 🔥 **FAIL**

Font only has an SVG table. Please add a COLR table as well. You can do it by using the maximum_color tool provided by the nanoemoji project: https://github.com/googlefonts/nanoemoji

[code: add-colr]
🔥 FAIL Copyright notices match canonical pattern in fonts
* 🔥 **FAIL**

Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2019 The Familyname Project Authors (git url)"

But instead we have got:

"(c) Emily de Oliveira Santos"

[code: bad-notice-format]
🔥 FAIL Check font names are correct
* 🔥 **FAIL**

Font names are incorrect:

nameID current expected
Family Name Darwin Serif Regular ALPHA Darwin Serif Regular ALPHA
Subfamily Name Regular Regular
Full Name Darwin Serif Regular ALPHA Darwin Serif Regular ALPHA Regular
Postscript Name DarwinSerifRegularALPHA DarwinSerifRegularALPHA-Regular
[code: bad-names]
🔥 FAIL Check Google Fonts glyph coverage.
* 🔥 **FAIL**

Missing required codepoints:

- 0x0060 (GRAVE ACCENT)

- 0x007E (TILDE)

- 0x00A0 (NO-BREAK SPACE)

- 0x00A1 (INVERTED EXCLAMATION MARK)

- 0x00A3 (POUND SIGN)

- 0x00A5 (YEN SIGN)

- 0x00A8 (DIAERESIS)

- 0x00A9 (COPYRIGHT SIGN)

- 0x00AA (FEMININE ORDINAL INDICATOR)

- 0x00AB (LEFT-POINTING DOUBLE ANGLE QUOTATION MARK)

- 206 more.

Use -F or --full-lists to disable shortening of long lists.

[code: missing-codepoints]
🔥 FAIL Version format is correct in 'name' table?
* 🔥 **FAIL**

The NameID.VERSION_STRING (nameID=5) value must follow the pattern "Version X.Y" with X.Y greater than or equal to 1.000. Current version string is: "Version 0.1"

[code: bad-version-strings] * 🔥 **FAIL**

The NameID.VERSION_STRING (nameID=5) value must follow the pattern "Version X.Y" with X.Y greater than or equal to 1.000. Current version string is: "Version 0.1"

[code: bad-version-strings]
🔥 FAIL Font enables smart dropout control in "prep" table instructions?
* 🔥 **FAIL**

The '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.

[code: lacks-smart-dropout]
🔥 FAIL Check font follows the Google Fonts vertical metric schema
* 🔥 **FAIL**

The sum of hhea.ascender + abs(hhea.descender) + hhea.lineGap is 1078 when it should be at least 1200

[code: bad-hhea-range]
⚠️ WARN Does the font have a DSIG table?
* ⚠️ **WARN**

This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly. The current recommendation is to completely remove the DSIG table.

[code: found-DSIG]
⚠️ WARN Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value
* ⚠️ **WARN**

GPOS table lacks kerning information.

[code: lacks-kern-info]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **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: fi Contours detected: 1    Expected: 3

- Glyph name: fl    Contours detected: 1    Expected: 2
[code: contour-count]
⚠️ WARN Do any segments have colinear vectors?
* ⚠️ **WARN**

The following glyphs have colinear vectors:

* .notdef (U+E000): L<<362.0,407.0>--<382.0,404.0>> -> L<<382.0,404.0>--<400.0,403.0>>

* J (U+004A): L<<-92.0,-223.0>--<-92.0,-221.0>> -> L<<-92.0,-221.0>--<-92.0,-214.0>>

* J (U+004A): L<<-92.0,-224.0>--<-92.0,-223.0>> -> L<<-92.0,-223.0>--<-92.0,-221.0>>

* J (U+004A): L<<-92.0,-226.0>--<-92.0,-224.0>> -> L<<-92.0,-224.0>--<-92.0,-223.0>>

* J (U+004A): L<<-92.0,-227.0>--<-92.0,-226.0>> -> L<<-92.0,-226.0>--<-92.0,-224.0>>

* J (U+004A): L<<105.0,662.0>--<110.0,662.0>> -> L<<110.0,662.0>--<119.0,662.0>>

* J (U+004A): L<<110.0,662.0>--<119.0,662.0>> -> L<<119.0,662.0>--<124.0,662.0>>

* J (U+004A): L<<133.0,661.0>--<138.0,661.0>> -> L<<138.0,661.0>--<147.0,661.0>>

* J (U+004A): L<<138.0,661.0>--<147.0,661.0>> -> L<<147.0,661.0>--<160.0,661.0>>

* J (U+004A): L<<145.0,481.0>--<145.0,489.0>> -> L<<145.0,489.0>--<145.0,504.0>>

* 38 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-colinear-vectors]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* four.onum (U+E00E): L<<325.0,82.0>--<324.0,385.0>>

* four.tosf (U+E00F): L<<325.0,82.0>--<324.0,385.0>>
[code: found-semi-vertical]
⚠️ WARN Check the direction of the outermost contour in each glyph
* ⚠️ **WARN**

The following glyphs have a counter-clockwise outer contour:

* a (U+0061) has a counter-clockwise outer contour

* cent (U+00A2) has a counter-clockwise outer contour

* ordfeminine.onum (U+E028) has a counter-clockwise outer contour
[code: ccw-outer-contour]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.

  • U+FB00 LATIN SMALL LIGATURE FF: not included in any glyphset definition
  • U+FB01 LATIN SMALL LIGATURE FI: not included in any glyphset definition
  • U+FB02 LATIN SMALL LIGATURE FL: not included in any glyphset definition
  • U+FB03 LATIN SMALL LIGATURE FFI: not included in any glyphset definition
  • U+FB04 LATIN SMALL LIGATURE FFL: not included in any glyphset definition

Or you can add the above codepoints to one of the subsets supported by the font: cyrillic-ext, greek-ext, latin-ext

[code: unreachable-subsetting]
⚠️ WARN Are there caret positions declared for every ligature?
* ⚠️ **WARN**

This font lacks caret position values for ligature glyphs on its GDEF table.

[code: lacks-caret-pos]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
⚠️ WARN Checking OS/2 achVendID.
* ⚠️ **WARN**

OS/2 VendorID value ' ' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx

[code: unknown]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

.

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

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

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

DarwinSerif-Regular.ttf
Dehinted Size 32.7kb
Hinted Size 59.5kb
Increase 26.8kb
Change 81.9 %
[code: size-impact]
ℹ️ INFO Font has old ttfautohint applied?
* ℹ️ **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 0.1', 'Version 0.1']

[code: version-not-detected]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
* ℹ️ **INFO**

All of the fonts lack a STAT table.

[code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 13 11 124 7 95 0
0% 0% 5% 4% 50% 3% 38% 0%

Note: The following loglevels were omitted in this report:

davelab6 commented 1 month ago

Thanks for the quick detailed review @emmamarichal! I'll pass this upstream :)

topological-modular-forms commented 1 month ago

Thank you so much, Dave and Emma! Having Darwin eventually available on Google Fonts has been a goal since day one; I'll keep working on it and update this thread once the font is ready for submission :)

emmamarichal commented 1 month ago

@topological-modular-forms Thanks a lot, don't hesitate if you have any questions!