Coder Social home page Coder Social logo

uswds / public-sans Goto Github PK

View Code? Open in Web Editor NEW
4.4K 52.0 108.0 394.63 MB

A strong, neutral, principles-driven, open source typeface for text or display

Home Page: https://public-sans.digital.gov/

License: Other

HTML 82.46% Ruby 0.11% JavaScript 1.49% Shell 5.54% SCSS 9.76% Dockerfile 0.64%
typeface sil ofl sans-serif font geometric

public-sans's Introduction

Public Sans

Current font files for the Public Sans typeface. This typeface is based off of https://github.com/impallari/Libre-Franklin. Public Sans is a Latin-only font.

Usage

  • Webfonts are available in fonts/webfonts
  • Opentype fonts for installing locally and for print applications are available in fonts/otf
  • Variable fonts should be considered experimental, but can be found in fonts/variable
  • Source files are available in sources as both Glyphs files and as UFO + Designspace.

Design principles

  • Be available as a free, open source webfont on any platform.
  • Use metrics similar to common system fonts for smoother progressive enhancement.
  • Have a broad range of weights and a good italic.
  • Perform well in headlines, text, and UI.
  • Be straightforward: have as few quirks as possible.
  • Have good multilingual support.
  • Allow for good data design with tabular figures.
  • Be strong and neutral.
  • Encourage continuous improvement — strive to be better, not necessarily perfect.

How Public Sans differs from Libre Franklin

Public Sans is a fork of the SIL Open Licensed face Libre Franklin. Public Sans has many similarities with its parent, but differs enough in its particulars that its effect is distinct.

sample text

Adjusted vertical metrics. Public Sans is about 2% shorter than Libre Franklin, and has slightly looser default line spacing.

line height

Tailed lowercase l. The lowercase l character has a hooked tail for disambiguation. (There is also an optional untailed l .)

tailed el

Regularized stroke weight. Public Sans provides a more regular letterform from the conventional Franklin shape for a cleaner, more consistent letterform, especially at small sizes.

regularized

Non-rounded vertices. Conventional angled vertices result in a sharper, stronger form.

squared

Narrower characters. Public Sans is narrower, especially in rounded characters like lowercase e to help with reading flow, especially in longer texts.

squared

Looser letterspacing. Public Sans has relatively loose letterspacing for reading, especially when compared with Libre Franklin, which is quite compact.

squared

Redrawn characters. Public Sans tends to use more consistent curves in its letterforms and has a focus on a smooth shape for its counters.

squared

Overall, Public Sans differs from Libre Franklin in its focus on longform reading and neutral UI applicability. It takes inspiration from geometric sans faces of the 20th century, as well as the original Franklins of the 19th, resulting in something of a mongrel face that retains its American origin.

Public Sans and comparable sans-serif faces

Public Sans is designed to be a progressive enhancement webfont, and to work well with Apple and Google system fonts as the base in its font stack. It's designed to have metrics most similar to SF Pro Text (the Apple system font) and to fall somewhere between SF Pro Text and Roboto (the Google system font) in its overall size and appearance. If a user's machine does not display webfonts, sites designed with Public Sans should appear close to the designer's intention.

Public Sans is a good option for sites that currently use Open Sans, Tahoma, Libre Franklin, Arial, or Helvetica.

Public Sans is sized somewhere between SF Pro Text and Roboto

squared

squared

Text set in Public Sans has a similar shape and color to SF Pro Text

squared

Additional features

Tabular figures (monospaced numerals)

squared

License

Public Sans is licensed under the SIL Open Font License, Version 1.1

License of USWDS’s Modified Version is based on the Libre Franklin SIL Open Font License, Version 1.1 section of LICENSE.md. The terms and conditions for modifications made to the original font by USWDS in the USWDS Modified Version can be found at https://github.com/uswds/public-sans/blob/master/LICENSE.md.

public-sans's People

Contributors

0xflotus avatar aaronbell avatar amyleadem avatar annepetersen avatar bennetfabian avatar dependabot[bot] avatar eddietejeda avatar gscottqueen avatar mahoneycm avatar maya avatar mehmetoguzderin avatar mejiaj avatar rosawagner avatar scottqueen-bixal avatar teenwolfblitzer avatar thisisdano avatar tommaroh avatar y4rr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

public-sans's Issues

Open-source tools

As much as I love Glyphs, is it not against the idea of an open-source project to require proprietary software to edit the source directly?

Add design principles and design notes to readme

The primary reason Public Sans is interesting as a typeface and an experiment is its design principles. The principles should allow iteration and active development on the face while keeping a few important things constant. We should add these principles and design notes to the readme to give the project context.

Bug: leading issue

I've noticed that when changing part of the text in a block from regular to bold, the type shifts upwards by a few pixels...

image

the OFL-1.1 license violates 17 USC § 105

17 USC § 105 says that any work of a US government employee is not subject to copyright. The OFL-1.1 license, by contrast, depends on the assertion of copyright for its effect. Therefore, there is no way for the work of US gov’t employees to be released under OFL-1.1. (I take no position on whether the terms of OFL-1.1 have been correctly applied here, though I’m skeptical.)

Numerals are not equally strong

1st of all: Nice font!
I found a few issues with the numerals, though:

To reproduce:

  • Select 'Black 900' variant - this way, the issues stand out a bit more
  • Squint at numerals (maybe increase distance to your screen, a bit)
    => Numeral '4' is clearly too strong
    => Numeral '0' might be a bit too strong
    => Tabular '1' is much stronger than '2' or '3'

There are other minor issues with the numerals, too, but they might be part of the design.
E.g. maybe check the joint thickness of numeral '2'

Conflation of kerning, tracking, spacing

This image https://github.com/uswds/public-sans#tighter-kerning-as-the-face-gets-heavier is described with “tighter kerning as the face gets heavier”.

When talking about type, it’s very common to hear spacing and kerning mixed up, but given the nature of this repository, I think it’s important to get things right:

  • spacing: the general decision of space distribution built into a typeface. For example: “This 1970s design is very tightly spaced”
  • kerning: an exception to the default spacing, wherever necessary – for instance in the combination A V. Example: “I hope you didn’t kern the tabular figures”
  • tracking: changing the letterfit of a longer run of text. Example: “I usually track out small captions if there’s no dedicated caption font available”

This image https://raw.githubusercontent.com/uswds/public-sans/master/examples/public-sans-featured-images/public-v-lf-looser-tracking.png is captioned with “looser tracking”.

I propose changing the caption of the first image to “tighter spacing” …
I propose changing the caption of the 2nd image to “looser spacing” …

NB: tighter spacing as the face gets heavier is something completely normal in typeface design, so perhaps not worthy of additional emphasis.

File naming convention for Regular and Italic

The file naming of the regular weight is bit confusing to me. All font weight are named by their weight then, if italicized, with "italic" e.g. PublicSans-Black and PublicSans-BlackItalic.

However, the "regular" weight does not follow this convention, it has a PublicSans-Regular with a corresponding PublicSans-Italic. I would expect this to be: PublicSans-RegularItalic

License does not follow best practices and usage intention

We want to Public Sans to be a good open-source project and follow SIL OFL guidance, requirements, and best practices.

cc @impallari @davelab6

The dots on the i and j differ in size

The dots on the i and j differ significantly. This looks like a change introduced not present in Libre Franklin. The difference is most pronounced in weights ≤ 700.

Screenshot from 2019-04-09 10-50-27

Is this a conscious design choice or a design flaw?

The difference is rather jarring in words like hijacker.

Pubic Sans?!

Pubic Sans is somewhere between SF Pro Text and Roboto

Pretty sure that should read "Public Sans" ... !

Keep the repository strictly for source files

I would personally structure the repository to keep binary, exported font files, strictly separate from the source. If you update the release with each commit, you get a much cleaner workflow.
 I very rarely see it done the way I am suggesting though, so hopefully someone can educate me if I’m missing some essential information.

Add instructions for running the site

Since this is now a Jekyll site, it would be nice to be able to run the site, but we need instructions for how to set it up and run it.

Does this follow another repo's build process that we copy the documentation from? I'd expect to find this in either the README and/or CONTRIBUTING file.

Release version is outdated

I tried to start using Public Sans on my website but hit some rendering issues (mainly #24). I then tried the version that is within the git repository and that seemed to render correctly. The released version is from 6 Oct 2018 - is there any plans to release an updated version?

Thanks

alternate lowercase g

I would be very interested in seeing an option for a single-story or monocular g in this typeface. Overall I'm very pleased with this and I wish I could contribute directly, unfortunately I don't have access to Glyphs or a MacOS computer.

My feeling is that the binocular g currently included stands out quite a bit from the rest of the characters. It's very old-timey and busy compared with the rest of the typeface, I don't think it fits the modern look that's embodied by the rest of the glyphs.

I think it would be a better default, but barring that an option for a monocular g would make this font more stylistically consistent, especially in more modern designs.

the OFL-1.1. license violates the Establishment Clause

Amendment I of the Constitution of the United States prohibits US gov’t acts that “respect[] an establishment of religion”. OFL-1.1 is shorthand for the full name, which is “SIL Open Font License Version 1.1”. According to its website, SIL is a “faith-based” organization. Linguists Lise Dobrin & Jeff Good describe SIL more specifically as a “Christian missionary organization” whose main work is “Bible translation”. The US gov’t should not be using this license, as it creates an explicit entanglement / endorsement of a religious organization.

Missing Hawaiian Character: ʻ

The font has support for most of the Hawaiian Diacritics (ĀāĪīŪūĒēŌō) but is missing the ʻokina.

Ā ā Ī ī Ū ū Ē ē Ō ō ʻ

"the ʻokina is encoded as U+02BB ʻ MODIFIER LETTER TURNED COMMA, which can be rendered in HTML by the entity ʻ (or in hexadecimal form ʻ)"

Should look similar to a left single quote but able to be told apart from the punctuation. Much like this example from Wikipedia.

There are currently less than 30 fonts that support all the Hawaiian Characters on Google fonts, This font being available would greatly help Government sites.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.