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

Add Public Sans #1923

Closed
davelab6 opened this issue Apr 4, 2019 · 22 comments
Closed

Add Public Sans #1923

davelab6 opened this issue Apr 4, 2019 · 22 comments
Assignees

Comments

@davelab6
Copy link
Member

davelab6 commented Apr 4, 2019

https://github.com/uswds/public-sans

@davelab6 davelab6 added this to the Add New Families milestone Apr 4, 2019
@eliheuer
Copy link
Collaborator

eliheuer commented Apr 9, 2019

Both Roman and Italic build with fontmake, I might start a draft PR just to get things moving.

@thisisdano
Copy link

Thanks for getting this started. Let me know what you might need from our side. I'm unfamiliar with this process — can you point me to any relevant documentation?

@caiotarifa
Copy link

caiotarifa commented Apr 10, 2019

Extremely relevant, I'd like to use this font in my AMP-based website. (And it will be cool to use on Google Drive apps.)

@eliheuer
Copy link
Collaborator

@thisisdano

The fonts need to build with fontmake (not exported from Glyphs) and then they need to pass the quality assurance tests suite known as Font Bakery.

After that, there is a walkthrough for making a Pull Request to Google Fonts here: https://github.com/googlefonts/gf-docs/tree/master/MakingPullRequestsToGF

Font bakery produces a markdown report that can be submitted with the pull request. Since it seems like this is an active project, let's start making PRs to https://github.com/uswds/public-sans to fix whatever Font Bakery issues come up.

Thanks!

@eliheuer
Copy link
Collaborator

eliheuer commented Apr 10, 2019

@thisisdano Here is the Font Bakery report for the Roman variable font; most issues here seem easy to fix:

Fontbakery report

Fontbakery version: 0.7.2

[3] Family checks
🔥 FAIL: Check font has a license.
  • com.google.fonts/check/family/has_license
  • 🔥 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: no-license]
🔥 FAIL: Check that METADATA.pb family values are all the same.
WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?

[18] PublicSans.wght.ttf
🔥 FAIL: Checking file is named canonically.
🔥 FAIL: Is 'gasp' table set to optimize rendering?
🔥 FAIL: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
🔥 FAIL: METADATA.pb font.full_name value matches fullname declared on the name table?
🔥 FAIL: METADATA.pb font.post_script_name field contains font name in right format?
🔥 FAIL: Copyright notices match canonical pattern in METADATA.pb
🔥 FAIL: METADATA.pb: Filename is set canonically?
🔥 FAIL: METADATA.pb font.name and font.full_name fields match the values declared on the name table?
🔥 FAIL: Font enables smart dropout control in "prep" table instructions?
  • com.google.fonts/check/smart_dropout
  • 🔥 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: Checking OS/2 usWinAscent & usWinDescent.
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics.
🔥 FAIL: Does the font have a DSIG table?
  • com.google.fonts/check/dsig
  • 🔥 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.
🔥 FAIL: Whitespace and non-breaking space have the same width?
  • com.google.fonts/check/whitespace_widths
  • 🔥 FAIL Whitespace and non-breaking space have differing width: Whitespace (space) is 254 font units wide, non-breaking space (uni00A0) is 223 font units wide. Both should be positive and the same.
WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?
  • com.google.fonts/check/kerning_for_non_ligated_sequences

  • WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • f + f
    • f + i
    • i + l
    • colon + f
    • f + l
    • l + a
    • a + g
    • g + two
    • two + colon
    • g + colon
    • colon + one
    • one + eight
    • eight + F
    • F + colon

    [code: lacks-kern-info]

WARN: Check for points out of bounds.
  • com.google.fonts/check/points_out_of_bounds
  • WARN The following glyphs have coordinates which are out of bounds:
    [('zero.subs', 163.668, 291.057), ('zero.subs', 208.327, 291.057), ('zero.subs', 230.342, -176.29), ('zero.subs', 163.039, -176.29), ('zero.subs', 96.365, -176.29), ('zero.subs', 14.594999999999999, -62.441), ('zero.subs', 14.594999999999999, 55.18199999999999), ('zero.subs', 14.594999999999999, 135.065), ('zero.subs', 119.638, 291.057), ('one.subs', -1.2109999999999985, 221.83499999999998), ('one.subs', -1.2109999999999985, 242.59199999999998), ('one.subs', 120.186, 289.767), ('one.subs', 120.186, -165.0), ('two.subs', 13.934000000000001, 224.351), ('two.subs', 127.154, 296.057), ('two.subs', 155.459, 296.057), ('two.subs', 191.312, 296.057), ('two.subs', 289.436, -139.211), ('two.subs', 289.436, -165.0), ('three.subs', 138.412, 293.057), ('three.subs', 176.152, 293.057), ('three.subs', 220.182, 293.057), ('four.subs', 21.708, -33.53899999999999), ('four.subs', 21.708, -2.7179999999999893), ('five.subs', 344.498, 30.13499999999999), ('five.subs', 344.498, -18.926999999999992), ('five.subs', 344.498, -65.473), ('five.subs', 236.939, -174.29), ('five.subs', 191.022, -174.29), ('five.subs', 151.395, -174.29), ('six.subs', 189.086, 296.089), ('six.subs', 221.794, 296.089), ('six.subs', 318.031, 191.675), ('six.subs', 216.762, -171.258), ('six.subs', 170.845, -171.258), ('six.subs', 123.66999999999999, -171.258), ('six.subs', 12.966000000000001, -15.89500000000001), ('six.subs', 12.966000000000001, 57.69800000000001), ('six.subs', 12.966000000000001, 129.404), ('six.subs', 133.734, 296.089), ('seven.subs', 27.789, 289.767), ('seven.subs', 328.451, 289.767), ('seven.subs', 328.451, 264.607), ('seven.subs', 27.789, 264.607), ('nine.subs', 152.83, -171.258), ('nine.subs', 120.12200000000001, -171.258), ('nine.subs', 116.977, 296.089), ('nine.subs', 162.26500000000001, 296.089), ('nine.subs', 210.069, 296.089), ('nine.subs', 320.144, 140.726), ('nine.subs', 320.144, 67.13300000000001), ('nine.subs', 320.144, -3.9439999999999884), ('nine.subs', 208.182, -171.258), ('zero.dnom', 163.668, 456.057), ('zero.dnom', 208.327, 456.057), ('zero.dnom', 230.342, -11.29), ('zero.dnom', 163.039, -11.29), ('zero.dnom', 96.365, -11.29), ('zero.dnom', 14.594999999999999, 102.559), ('zero.dnom', 14.594999999999999, 220.182), ('zero.dnom', 14.594999999999999, 300.065), ('zero.dnom', 119.638, 456.057), ('one.dnom', -1.2109999999999985, 386.835), ('one.dnom', -1.2109999999999985, 407.592), ('one.dnom', 120.186, 454.767), ('one.dnom', 120.186, 0.0), ('two.dnom', 13.934000000000001, 389.351), ('two.dnom', 127.154, 461.057), ('two.dnom', 155.459, 461.057), ('two.dnom', 191.312, 461.057), ('two.dnom', 289.436, 25.789), ('two.dnom', 289.436, 0.0), ('three.dnom', 138.412, 458.057), ('three.dnom', 176.152, 458.057), ('three.dnom', 220.182, 458.057), ('four.dnom', 21.708, 131.461), ('four.dnom', 21.708, 162.282), ('five.dnom', 344.498, 195.135), ('five.dnom', 344.498, 146.073), ('five.dnom', 344.498, 99.527), ('five.dnom', 236.939, -9.29), ('five.dnom', 191.022, -9.29), ('five.dnom', 151.395, -9.29), ('six.dnom', 189.086, 461.089), ('six.dnom', 221.794, 461.089), ('six.dnom', 318.031, 356.675), ('six.dnom', 216.762, -6.258), ('six.dnom', 170.845, -6.258), ('six.dnom', 123.66999999999999, -6.258), ('six.dnom', 12.966000000000001, 149.105), ('six.dnom', 12.966000000000001, 222.698), ('six.dnom', 12.966000000000001, 294.404), ('six.dnom', 133.734, 461.089), ('seven.dnom', 27.789, 454.767), ('seven.dnom', 328.451, 454.767), ('seven.dnom', 328.451, 429.607), ('seven.dnom', 27.789, 429.607), ('nine.dnom', 152.83, -6.258), ('nine.dnom', 120.12200000000001, -6.258), ('nine.dnom', 116.977, 461.089), ('nine.dnom', 162.26500000000001, 461.089), ('nine.dnom', 210.069, 461.089), ('nine.dnom', 320.144, 305.726), ('nine.dnom', 320.144, 232.133), ('nine.dnom', 320.144, 161.056), ('nine.dnom', 208.182, -6.258), ('zero.numr', 163.668, 740.057), ('zero.numr', 208.327, 740.057), ('zero.numr', 230.342, 272.71), ('zero.numr', 163.039, 272.71), ('zero.numr', 96.365, 272.71), ('zero.numr', 14.594999999999999, 386.55899999999997), ('zero.numr', 14.594999999999999, 504.182), ('zero.numr', 14.594999999999999, 584.065), ('zero.numr', 119.638, 740.057), ('one.numr', -1.2109999999999985, 662.835), ('one.numr', -1.2109999999999985, 683.592), ('one.numr', 120.186, 730.767), ('one.numr', 120.186, 276.0), ('two.numr', 13.934000000000001, 668.351), ('two.numr', 127.154, 740.057), ('two.numr', 155.459, 740.057), ('two.numr', 191.312, 740.057), ('two.numr', 289.436, 304.789), ('two.numr', 289.436, 279.0), ('three.numr', 138.412, 740.057), ('three.numr', 176.152, 740.057), ('three.numr', 220.182, 740.057), ('four.numr', 21.708, 407.461), ('four.numr', 21.708, 438.28200000000004), ('five.numr', 344.498, 474.135), ('five.numr', 344.498, 425.073), ('five.numr', 344.498, 378.527), ('five.numr', 236.939, 269.71), ('five.numr', 191.022, 269.71), ('five.numr', 151.395, 269.71), ('six.numr', 189.086, 746.0889999999999), ('six.numr', 221.794, 746.0889999999999), ('six.numr', 318.031, 641.675), ('six.numr', 216.762, 278.742), ('six.numr', 170.845, 278.742), ('six.numr', 123.66999999999999, 278.742), ('six.numr', 12.966000000000001, 434.105), ('six.numr', 12.966000000000001, 507.698), ('six.numr', 12.966000000000001, 579.404), ('six.numr', 133.734, 746.0889999999999), ('seven.numr', 27.789, 729.767), ('seven.numr', 328.451, 729.767), ('seven.numr', 328.451, 704.607), ('seven.numr', 27.789, 704.607), ('nine.numr', 152.83, 278.742), ('nine.numr', 120.12200000000001, 278.742), ('nine.numr', 116.977, 746.0889999999999), ('nine.numr', 162.26500000000001, 746.0889999999999), ('nine.numr', 210.069, 746.0889999999999), ('nine.numr', 320.144, 590.726), ('nine.numr', 320.144, 517.133), ('nine.numr', 320.144, 446.05600000000004), ('nine.numr', 208.182, 278.742), ('uni2070', 163.668, 844.057), ('uni2070', 208.327, 844.057), ('uni2070', 230.342, 376.71), ('uni2070', 163.039, 376.71), ('uni2070', 96.365, 376.71), ('uni2070', 14.594999999999999, 490.55899999999997), ('uni2070', 14.594999999999999, 608.182), ('uni2070', 14.594999999999999, 688.065), ('uni2070', 119.638, 844.057), ('uni00B9', -1.2109999999999985, 766.835), ('uni00B9', -1.2109999999999985, 787.592), ('uni00B9', 120.186, 834.767), ('uni00B9', 120.186, 380.0), ('uni00B2', 13.934000000000001, 773.351), ('uni00B2', 127.154, 845.057), ('uni00B2', 155.459, 845.057), ('uni00B2', 191.312, 845.057), ('uni00B2', 289.436, 409.789), ('uni00B2', 289.436, 384.0), ('uni00B3', 138.412, 845.057), ('uni00B3', 176.152, 845.057), ('uni00B3', 220.182, 845.057), ('uni2074', 21.708, 511.461), ('uni2074', 21.708, 542.282), ('uni2075', 344.498, 578.135), ('uni2075', 344.498, 529.073), ('uni2075', 344.498, 482.527), ('uni2075', 236.939, 373.71), ('uni2075', 191.022, 373.71), ('uni2075', 151.395, 373.71), ('uni2076', 189.086, 851.0889999999999), ('uni2076', 221.794, 851.0889999999999), ('uni2076', 318.031, 746.675), ('uni2076', 216.762, 383.742), ('uni2076', 170.845, 383.742), ('uni2076', 123.66999999999999, 383.742), ('uni2076', 12.966000000000001, 539.105), ('uni2076', 12.966000000000001, 612.698), ('uni2076', 12.966000000000001, 684.404), ('uni2076', 133.734, 851.0889999999999), ('uni2077', 27.789, 834.767), ('uni2077', 328.451, 834.767), ('uni2077', 328.451, 809.607), ('uni2077', 27.789, 809.607), ('uni2079', 152.83, 383.742), ('uni2079', 120.12200000000001, 383.742), ('uni2079', 116.977, 851.0889999999999), ('uni2079', 162.26500000000001, 851.0889999999999), ('uni2079', 210.069, 851.0889999999999), ('uni2079', 320.144, 695.726), ('uni2079', 320.144, 622.133), ('uni2079', 320.144, 551.056), ('uni2079', 208.182, 383.742), ('onehalf', -1.2109999999999985, 662.835), ('onehalf', -1.2109999999999985, 683.592), ('onehalf', 818.4359999999999, 25.789), ('onehalf', 818.4359999999999, 0.0), ('uni2153', -1.2109999999999985, 662.835), ('uni2153', -1.2109999999999985, 683.592), ('uni2154', 13.934000000000001, 668.351), ('uni2154', 127.154, 740.057), ('uni2154', 155.459, 740.057), ('uni2154', 191.312, 740.057), ('onequarter', -1.2109999999999985, 662.835), ('onequarter', -1.2109999999999985, 683.592), ('threequarters', 138.412, 740.057), ('threequarters', 176.152, 740.057), ('threequarters', 220.182, 740.057), ('oneeighth', -1.2109999999999985, 662.835), ('oneeighth', -1.2109999999999985, 683.592), ('threeeighths', 138.412, 740.057), ('threeeighths', 176.152, 740.057), ('threeeighths', 220.182, 740.057), ('seveneighths', 27.789, 729.767), ('seveneighths', 27.789, 704.607), ('trademark', 3.75, 426.875), ('trademark', 3.75, 451.875), ('uni2120', 206.25, -6.25), ('uni2120', 175.625, -6.25), ('uni2120', 260.0, -6.25)]
    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

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS
0 15 6 41 6 85
0% 10% 4% 27% 4% 56%

@eliheuer eliheuer self-assigned this Apr 22, 2019
@gyvrjoe
Copy link

gyvrjoe commented May 8, 2019

I predict this typeface is going to see fairly widespread adoption as it fails nicely to system fonts (Roboto, San Francisco, Source) I'd dearly love for it to be available in Google apps.

@joe12south
Copy link

🦗🦗🦗

@franvelasco
Copy link

Is there any update? Can I help with anything?

@wouterds
Copy link

wouterds commented Jul 7, 2019

What's the status on this? Can't wait to start using this in my projects!

@m4rc1e
Copy link
Collaborator

m4rc1e commented Nov 13, 2019

Family is now in production https://fonts.google.com/specimen/Public+Sans. Enjoy.

@m4rc1e m4rc1e closed this as completed Nov 13, 2019
@joe12south
Copy link

Woot!

@samlinville
Copy link

Hi! Is there any estimation of when this will appear in Google Apps?

@m4rc1e
Copy link
Collaborator

m4rc1e commented Nov 15, 2019

I'll see if we can get this into Sheets and Docs.

@Logoholik
Copy link

Any update on adding it into Docs?

@maya
Copy link

maya commented Feb 18, 2020

@m4rc1e any update on getting it into Sheets and Docs?

@m4rc1e
Copy link
Collaborator

m4rc1e commented Feb 19, 2020

Hopefully next week.

@maya
Copy link

maya commented Mar 3, 2020

@m4rc1e noticed it wasn't added last week. Do you have an updated timeframe?

@m4rc1e
Copy link
Collaborator

m4rc1e commented Mar 3, 2020

@maya
Copy link

maya commented Mar 3, 2020

@m4rc1e yes, am aware it's published to fonts.google.com (looks great!), though you previously mentioned planning to add it into Google Sheets and Google Docs apps and that's what my question was referring to. Can you clarify?

@Logoholik
Copy link

@maya @m4rc1e High hopes for that feature over here too! :)

@m4rc1e
Copy link
Collaborator

m4rc1e commented Mar 3, 2020

I'll ask for the family to be pushed to docs today.

Apologies for the delay. Our production push has been broken for the past fortnight. It should be fixed now.

@m4rc1e
Copy link
Collaborator

m4rc1e commented Mar 17, 2020

Ok Public Sans should be available in Google Docs.

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