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

Roboto Thin: do we still need to set usWeightClass to 250? #179

Closed
jungshik opened this issue May 16, 2016 · 12 comments · Fixed by #187
Closed

Roboto Thin: do we still need to set usWeightClass to 250? #179

jungshik opened this issue May 16, 2016 · 12 comments · Fixed by #187

Comments

@jungshik
Copy link
Contributor

jungshik commented May 16, 2016

Roboto Thin has usWeightClass set to 250 because Windows GDI cannot handle weights less than a certain value.

However, other platforms do not have this issue. It's likely that Windows DW does not have this issue, either.

Actually, in Chrome on Linux and Chrome OS, having usWeightClass set to 250 is problematic. When Roboto is installed locally, Thin and Light cannot be distinguished.

See the first column in table 1 and compare it with the 2nd and 3rd columns at https://40693f90dd0c21a90ac245e232f09b56581db3cd-www.googledrive.com/host/0B153_ao11p4QOFpIRGExRUtkcGc/roboto_test.html

Note that in the 1st column (local font), 'Thin' (font-weight: 100) is actually rendered by 'Roboto-Light' while the 2nd and 3rd columns do not have that issue (2nd column uses web fonts and 3rd column use 'Roboto {Thin,Light}' etc as a family name. The 3rd column may not work if 'touch_up_for_web' is not applied ).

At least for Chrome OS, I'll make a pull request to change it back to 100.

/cc @behdad @jamesgk @roozbehp

@davelab6
Copy link
Member

Actually, in Chrome on Linux and Chrome OS, having usWeightClass set to 250 is problematic. When Roboto is installed locally, Thin and Light cannot be distinguished.

I thought that has been fixed upstream already

@jungshik
Copy link
Contributor Author

I thought that has been fixed upstream already

Upstream where? Skia? Blink? fontconfig? I vaguely remember that @behdad did something in fontconfig, but it's not in any of released versions (the latest is about 2 years ago and his change was landed about a year ago, IIRC).

Anyway, using 250 for Roboto Thin does not make much sense. Roboto Thin is really thin.

@davelab6
Copy link
Member

Given the continued dominance of Windows desktops, I don't think its good for end users to have fonts with values under 250 anywhere except distribution channels focused on non-windows systems.

@jungshik
Copy link
Contributor Author

Well, it's Windows GDI. DW is not likely to have that problem any more.

@davelab6
Copy link
Member

@jungshik
Copy link
Contributor Author

Well, usWeightClass=250 makes it impossible to use 'Roboto Thin' with Chrome OS or Linux Chrome because the released version of fontconfig returns the same fontweight for Roboto-Thin and Roboto-Light.

Try 'fc-query Roboto-Thin.ttf' and 'fc-query Roboto-Light.ttf'. @behdad changed fontconfig to return different fontweight values for those two, but it's not yet released.

Nonetheless, I really don't like to keep using 250 when 100 makes a much better sense to cope with what's supposed to be legacy (Windows GDI) .

Given the continued dominance of Windows desktops

Where in the world? 'dominance of Windows desktops'??

@davelab6
Copy link
Member

Nonetheless, I really don't like to keep using 250 when 100 makes a much better sense to cope with what's supposed to be legacy (Windows GDI) .

Sadly our sense of "legacy" is not the lived experience of most people using desktop computers in the world.

Behdad's fontconfig fix is likely to get deployed much faster than replacements to Windows applications using GDI.

Where in the world? 'dominance of Windows desktops'??

ChromeOS has a long way to go ;) Windows is still around 85%, per https://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0

@jungshik
Copy link
Contributor Author

Where in the world? 'dominance of Windows desktops'??
ChromeOS has a long way to go ;) Windows is still around 85%, per

I'm not comparing Windows against Chrome OS. I'm talking about Android, Mac, iOS, Chrome OS all combined + Windows applications (that have moved onto DirectWrite : Edge, Chrome, Firefox, IE 11) vs Windows applications still using GDI.

Anyway, for Windows, we can have a special version of Roboto-Thin for Windows applications that still use GDI.

For web fonts served by Google Fonts, none of this matters.

@davelab6
Copy link
Member

On 31 May 2016 at 11:40, jungshik notifications@github.com wrote:

For web fonts served by Google Fonts, none of this matters.

I don't understand this; the fonts served by Google Fonts are massively
downloaded into Windows desktops and installed.

@jungshik
Copy link
Contributor Author

jungshik commented Mar 6, 2017

For web fonts served by Google Fonts, none of this matters.
I don't understand this; the fonts served by Google Fonts are massively
downloaded into Windows desktops and installed.

What I meant is that as long as Roboto are served via GWF and used in web browsers, it does not matter.
For those who download fonts and use on Windows, we can have a special Windows build of Thin available.

See #51 (comment) where using 250 hurts Linux users.

@mikmikmik
Copy link

A Thin font which is weighted 100 should be 100. It is distributed for every USER, so it doesn't make sense to change the value from a DEVELOPER perspective. I'm not a windows developer but it seems the bold render issue is based on the CLEARTYPE_QUALITY setting, which is where the decision should be made as a developer or as a Windows user. Windows has always been the worse in font anti-aliasing, which probably made many typographers cry.

@davelab6
Copy link
Member

davelab6 commented Mar 7, 2017 via email

algitbot pushed a commit to alpinelinux/aports that referenced this issue Jul 23, 2022
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

Successfully merging a pull request may close this issue.

3 participants