question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

GF Check 116 should include option for UPMs with powers of 2, not only UPMs of 1000

See original GitHub issue

Observed behaviour

Google Fonts check 116 is:

"Is font em size (ideally) equal to 1000?"

However, the MS Typography OpenType head table spec says:

unitsPerEm: Set to a value from 16 to 16384. Any value in this range is valid. In fonts that have TrueType outlines, a power of 2 is recommended as this allows performance optimizations in some rasterizers.

Most type design advice suggests drawing at UPM 1000, and it makes sense to advise that for type on Google Fonts, as well. However, It is very common for TTF fonts to have a UPM of 2048, and the spec confirms that it may actually be slightly better for TTFs to be in a power of 2.

Expected behaviour

I propose that we update the check:

  • If the font has a UPM that is either 1000 or a power of 2 (128, 256, 1024, 2048), this check should be a “Pass”
  • If we still wish to recommend that fonts at a power of 2 be changed to 1000 for ease of collaboration, this could instead be an “Info” flag

The new text might read something like:

"Is font em size (ideally) equal to 1000 or a power of 2 between 16 and 16384 (e.g. 2048)?"

It is a bit of a mouthful, but I believe the increased accuracy would make this a more useful check.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:12 (11 by maintainers)

github_iconTop GitHub Comments

1reaction
davelab6commented, Nov 21, 2018

With 1000 being standard, when you open a font to work on it, you have a sense of what 10 or 100 UPM units means in typography.

Since TT outlines are all int only, no floats, then instances in a VF suffer rounding compromises, and therefore a 1000 UPM is to small because it forces too many such compromises.

Therefore 2000 is a good ‘new VF standard’, because 2000 is a simple 2x conversion from existing fonts drawn on a 1000 UPM, and anyone who knows what 10 units can do for 1000 UPM will know what 20 units does too.

Since we ARE converting almost all fonts to VF, I don’t even see an issue even with fonts only available on a UPM that is a power of 2; there will be some rounding, but since the whole design is being finely checked, any issues can be corrected.

A FAIL is just, like, Font Bakery’s opinion, man 😉 We can always override and accept FAILs, and many checks - like this one - should probably be in the gf-glyphs-scripts checker so that these things are caught early.

0reactions
davelab6commented, Nov 30, 2018

For 0.7 we should do the rename to profiles and prioritize all checks better

Read more comments on GitHub >

github_iconTop Results From Across the Web

New Leasing Standard under SFRS(I) 16/FRS 116 - PwC
SFRS(I) 16/FRS 116 Leases no longer makes a distinction between operating and finance lease for a lessee and is effective for financial periods...
Read more >
googlefonts — Font Bakery 0.8.10 documentation
This is (for now) a merely informative check to detect what's the axis ordering declared on the STAT table of fonts in the...
Read more >
2017 ACC/AHA/AAPA/ABC/ACPM/AGS/APhA/ASH/ASPC ...
Key search words included but were not limited to the following: ... 1000 mg per day) and result in an average of about...
Read more >
Human Infection with Fusobacterium necrophorum ... - NCBI
The source of infection is unclear; suggestions include acquisition from animals or human-to-human transmission. Approximately 10% of published cases are ...
Read more >
general orientation handbook 2019 - UPMC
to discuss options, including discharge, consistent with UPMC's employment at will provision. 2. Staff members, who have completed their ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found