GF Check 116 should include option for UPMs with powers of 2, not only UPMs of 1000
See original GitHub issueObserved 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:
- Created 5 years ago
- Comments:12 (11 by maintainers)
Top 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 >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
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.
For 0.7 we should do the rename to profiles and prioritize all checks better