googlefonts / roboto-2

The Roboto family of fonts
Apache License 2.0
3.85k stars 309 forks source link

Testing hinted source fonts #276

Open m4rc1e opened 6 years ago

m4rc1e commented 6 years ago

We are releasing an update for Google Fonts which will add the following 8 additional characters:

U+1C80 # CYRILLIC SMALL LETTER ROUNDED VE
U+1C81 # CYRILLIC SMALL LETTER LONG-LEGGED DE
U+1C82 # CYRILLIC SMALL LETTER NARROW O
U+1C83 # CYRILLIC SMALL LETTER WIDE ES
U+1C84 # CYRILLIC SMALL LETTER TALL TE
U+1C85 # CYRILLIC SMALL LETTER THREE-LEGGED TE
U+1C86 # CYRILLIC SMALL LETTER TALL HARD SIGN
U+1C87 # CYRILLIC SMALL LETTER TALL YAT

We've used the existing supplier to add and hint these glyphs.

I've managed to integrate the new glyphs into the .ufos and chain without causing unnecessary changes. However, the supplier has updated the fpgm, prep and cvt tables. They've assured me that no changes in hinted appearance will occur.

Our comments on the 'fpgm', 'cvt ' and 'prep' tables:

The 'cvt ' and 'prep' tables have changed because hinting of 8 characters was added. The 'fpgm' table was modified for Windows 10 rasterizing modes. We did this modification in summer, and now we build the fonts with the new 'fpgm'. It shouldn’t have any adverse effect on the font compared to the previous version of 'fpgm'.

In March, we genned the webfonts for Roboto v2.136. We previously hosted an early v2 version. We noticed that the hinting had regressed quite a bit between the two releases. We still decided to release it which ended up upsetting a lot of people https://github.com/google/roboto/issues/243.

Basically, I don't want a repeat of this. I also want to make sure our suppliers claims are correct.

At GF, we've been developing a tool (still wip) which can test for browser rendering regressions. It uses the BrowserStack screenshot api, a webapp to host the fonts and a cli tool to control it. It will simply compare the old fonts against the new. It can return the amount of different pixels, animated gifs and overlayed diff images. Below is a demo gif of Montserrat on Win7 IE11

[ @davelab6 edit: Please note this is an EXAMPLE demo gif of Montserrat - not Roboto! - on Win7 IE11 ]

desktop_windows_7_ie_11 0_

[ @davelab6 edit: Please note the above is an EXAMPLE demo gif of Montserrat - not Roboto! - on Win7 IE11 ]

Now the main question, if we accept that the tables have changed, what visual regression tests are needed in order for everyone to be happy that we haven't caused any issues?

Personally, I'd only sign this off if we had the following:

I know this may sound like overkill but people are very sensitive to these changes. I'd really appreciate any comments or suggestions anyone may have.

@anthrotype @davelab6 @roozbehp @dougfelt

davelab6 commented 6 years ago

I'd only sign this off if we had the following

Sounds good - it would be ideal if these tests include various Android system releases.

Please update this PR with such images.

anthrotype commented 6 years ago

So what do you get when you plug Roboto in your compare tool? Do you notice any differences?

m4rc1e commented 6 years ago

@anthrotype Still working on the tooling. Will have the results this eve. So far, so good...