googlefonts / roboto-classic

Development of a Roboto Variable font
SIL Open Font License 1.1
150 stars 15 forks source link

Make u202F one-sixth of EM #105

Open j77h opened 1 year ago

j77h commented 1 year ago

References: https://github.com/googlefonts/roboto/issues/24 https://github.com/googlefonts/roboto/issues/101 https://github.com/notofonts/latin-greek-cyrillic/issues/182

This was resolved for Noto LGC by making both u2009 and u202F one-sixth of an EM.

Subtitles on YouTube still use Roboto v2, and the width of the NNBSP is too wide in some browsers. (NNBSP is used in French typography.)

Somehow, in Chrome on Linux and Edge on Windows, the widths of all narrow spaces look good. Don't know what Chrome does behind the scenes -- the results do not match any form of Roboto, yet Inspector says Roboto is the font used. The WOFF2 file it sends does not have any thin spaces in it at all.

In Firefox (on Linux, with Roboto 2.138 installed) the NNBSP appears far too wide, as is consistent with the width of u202F in v 2.138, where it has the same width as u205F. (u205F, MMSP, is meant to be 'medium', which it is in Roboto 2.138.)

Note that Roboto 2.138 is from github, and fonts.google.com provides only 2.137, which has no u202F.

In RobotoFlex v3.100 the width of 2009 thin space is only 100 (less than the hair space), which might cause problems in future.

I'm not sure if this is the right place to make this request, but github.com/googlefonts/roboto/ seems to be unattended.

dberlow commented 1 year ago

 Roboto has billions of users, making out difficult to inform everyone individually and has been updated to variables fonts in two publicized stages; Roboto Classic wraps the original in a variable font and Roboto flex goes farther, adding wider and bolder styles an optical size axis and more.

Since 2017, Google has been publishing information about this, the latest is here, https://material.io/blog/roboto-flex

Each is a public repo with a README file and should be informative enough to follow the changes.

If you are having trouble with the thin space, perhaps you should try a newer version.

Thanks.

On Mar 9, 2023, at 1:10 AM, jon @.***> wrote:

 References: googlefonts/roboto#24 googlefonts/roboto#101 notofonts/latin-greek-cyrillic#182

This was resolved for Noto LGC by making both u2009 and u202F one-sixth of an EM.

Subtitles on YouTube still use Roboto v2, and the width of the NNBSP is too wide in some browsers. (NNBSP is used in French typography.)

Somehow, in Chrome on Linux and Edge on Windows, the widths of all narrow spaces look good. Don't know what Chrome does behind the scenes -- the results do not match any form of Roboto, yet Inspector says Roboto is the font used. The WOFF2 file it sends does not have any thin spaces in it at all.

In Firefox (on Linux, with Roboto 2.138 installed) the NNBSP appears far too wide, as is consistent with the width of u202F in v 2.138, where it has the same width as u205F. (u205F, MMSP, is meant to be 'medium', which it is in Roboto 2.138.)

Note that Roboto 2.138 is from github, and fonts.google.com provides only 2.137, which has no u202F.

In RobotoFlex v3.100 the width of 2009 thin space is only 100 (less than the hair space), which might cause problems in future.

I'm not sure if this is the right place to make this request, but github.com/googlefonts/roboto/ seems to be unattended.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

j77h commented 1 year ago

Thanks David.

In RobotoFlex v3.100, the width of u2009 is unusually thin, and there are no other narrow spaces at all.

Is there a reason why spaces in Roboto Flex cannot be reasonably consistent with Noto Sans LGC?

As long as Roboto v2 is used for YouTube captions, can it be updated to have narrower width for u202F?

And can such new version of v2 be actually published? (fonts.google.com still has only v 2.137)

Following is a list of all space codepoints and their widths as reported by Python fontTools, in current versions of Roboto v2, RobotoFlex v3, and NotoSans-Regular LGC. (Roboto versions are the latest releases I could find on github.)

The column headed 'Em' is the fraction of units per Em, for direct comparison of Noto and Roboto.

Where a code-point is not listed, it's not present in the font.

Roboto-Regular_2.138_2017-08-03.ttf
2048 units per Em
ucode  units  Em
u0020    507  0.2476 
u00A0    507  0.2476 
u2000   1044  0.5098 
u2001   2089  1.0200 
u2002   1044  0.5098 
u2003   2089  1.0200 
u2004    697  0.3403 
u2005    522  0.2549 
u2006    348  0.1699 
u2007   1151  0.5620 
u2008    560  0.2734 
u2009    418  0.2041 
u200A    209  0.1021 
u202F    507  0.2476  * TOO WIDE
u205F    507  0.2476 

RobotoFlex-Variable_3.100.ttf
2048 units per Em
ucode  units  Em
u0020    500  0.2441 
u00A0    500  0.2441 
u2002   1138  0.5557 
u2009    100  0.0488  * TOO NARROW

NotoSans-Regular.ttf
1000 units per Em
ucode  units  Em
u0020    260  0.2600 
u00A0    260  0.2600 
u2000    500  0.5000 
u2001   1000  1.0000 
u2002    500  0.5000 
u2003   1000  1.0000 
u2004    333  0.3330 
u2005    250  0.2500 
u2006    167  0.1670 
u2007    572  0.5720 
u2008    268  0.2680 
u2009    200  0.2000 
u200A    100  0.1000 
u202F    200  0.2000
u205F    372  0.3720