googlefonts / googlefonts/RobotoMono
Design issue: Several glyphs have disproportionate stem widths at curves
- Dominant language
- No language data
- Stars
- 168
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Description
This is prominent in glyphs such as five (U+0035) and especially so due to the Thin master having stem widths at curves that are greater than H or V.
When interpolated, widths are severely amplified and causes important contrast issues in the design. Here, the interpolated Light weight has a peak stem width at the curvature of 149.3 font units, while the same quarter curve has H stem of 126 units and V stem of 140 units.

This is due to the fact that the same glyph on the Thin master has peak stem width at the curvature of 55.8 while the H stem is 54 and the V stem is 55.
Moreover, this strongly impacts TrueType (auto-) hinting. `fontview.exe RobotoMono-Light.ttf` 12 pt/16 ppem (96 dpi):

Ideally in my view it would be best for glyphs to not have stems at curves greater than H and V unless expressively intentional.
I do not believe this is the case for this typeface as several glyphs look off at low ppem values because of this issue.
The best way forward is automatically checking and fixing instances where quarter circle-kind paths have stem widths at the curve unintentionally greater than expected.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by examining glyph five (U+0035) across the Thin and Light masters, using the measurements in the issue as a reference. Check the rendered RobotoMono-Light.ttf at 12 pt/16 ppem with fontview.exe to compare curve stems against H and V stems. Done means the unintended curve-width amplification is corrected and the low-ppem contrast issue is reduced without changing intentionally designed forms.
Written by the indexing model from the issue text.
Assessment
- Domain
- design
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100