Open codeman38 opened 7 years ago
It is missing the Condensed Medium and Condensed Medium Italic styles that are present in roboto-unhinted.zip.
The Condensed Medium and Condensed Medium Italic do not have any hinted VTT binaries, https://github.com/google/roboto/tree/master/src/hinted. The roboto-hinted.zip
fonts steal the hinting from the fonts in the directory I've just linked. The Condensed Medium weights were introduced in https://github.com/google/roboto/commit/0d86e31b8f6e97740408bf0d90ab4d90f123a5f6
Only ~30% of the glyphs in each style contain any instructions.
Judging by just the file size and a quick ttx. Your assumption is correct. I'll gen off the old v2.136 and see if the problem is being introduced by the chain.
@jamesgk Sorry to disturb you. I'm assuming roboto-hinted.zip
for each of your releases comes from, https://github.com/google/roboto/blob/master/Makefile#L45-L57?
cc @davelab6
The first point is as intended since those styles aren't hinted. The zip could be updated with info about this in the readme, though.
The second, is that a regression from the previous release?
@davelab6 I think both his queries relate to the v2.138 roboto-hinted.zip
.
I'm assuming roboto-hinted.zip for each of your releases comes from, https://github.com/google/roboto/blob/master/Makefile#L45-L57?
Actually, from https://github.com/google/roboto/blob/master/Makefile#L59-L72. The "android from hinted" target probably should be removed as it actually stripped hints from the hinted sources to create binaries from android (now the regular android target should work just as well).
@jamesgk thanks for the rapid response.
I'm not entirely sure the previous roboto-hinted.zip
archives have come from the lines you've quoted in the makeFile. When you run make web
, the web fonts are subsetted (1,284 glyphs) whilst the files in the previous hinted zips are not (3,387 glyphs). Perhaps it was run with https://github.com/google/roboto/blob/master/Makefile#L69-70 commented out?
Apologies, I'm not trying to point fingers. I just need to make sure this gets updated correctly.
In any case we should remove the roboto-hinted.zip
archive from the v2.138 release now.
cc @davelab6
remove the roboto-hinted.zip archive from the v2.138 release now.
done
I'm not entirely sure the previous roboto-hinted.zip archives have come from the lines you've quoted in the makeFile. When you run make web, the web fonts are subsetted (1,284 glyphs) whilst the files in the previous hinted zips are not (3,387 glyphs). Perhaps it was run with https://github.com/google/roboto/blob/master/Makefile#L70 commented out?
I think you're right! Maybe separate "hinted" and "web" targets should be made, like we have with the "crunch" and "android" targets. Though most other touchup steps would be generally important for the hinted output I think.
Thank you for your help James! I hope all is well with your new venture as well!
I'll add a hinted option to the Makefile, if dropping the subsetting script works.
If you add a new option to the Makefile:
hinted:
mkdir -p out/hinted
for source in src/hinted/*.ttf; do \
basename=$$(basename $$source); \
case $$source in \
src/hinted/Roboto-*) unhinted=out/RobotoTTF/$$basename ;; \
*) unhinted=out/RobotoCondensedTTF/$$basename ;; \
esac; \
touched=$$(mktemp); \
final=out/hinted/$$(basename $$source); \
python scripts/touchup_for_web.py $$source $$unhinted $$final Roboto && \
rm $$touched; \
done
It will create a new dir ./out/hinted
which contains a new set of fonts which have web fixes applied and no subsetting. If you archive these files, the zip is approx 5.2mb which is more inline with the v2.136 release. I'm not 100% sure this is the final solution so I will spend some time finding it tomorrow.
Thanks again @codeman38
@davelab6 I'll dedicate some time to this tomorrow.
After adding my snippet to the Makefile, it will now generate the hinted ttfs. I'll get this added as a pr after a few more checks and a small tidy up.
The only major difference is the removal of duplicate glyphs in GDEF > MarkGlyphSetsDef which was introduced in https://github.com/google/roboto/pull/254/commits/e2c5a2f14fcdf5f9464ee59d0dddad683ea057a1
I don't know where the hinting stands on Roboto, but I can tell you the webfont version that Google is now using across the Gmail main page has little or no hinting. I mean, look at this:
The 'i' has a line segment one pixel wide, but a splotch of a dot 3 pixels wide. The 'u' has different widths for its left and right vertical segments. The spaces between letters vary from 1 to 5 pixels.
It looks horrible on standard-DPI laptop screens. What's going on?
@balazer which OS and Browser are you using?
Hi, @m4rc1e . I'm in Windows 7 and I have font smoothing disabled. I've tried Chrome and Firefox with very similar results.
The above image was in Firefox with display scaling at 149%. It's from Gmail's inbox, which has letter-spacing of 0.2px, so the irregular gaps between the letters are bigger compared to the default letter-spacing.
Here's a screenshot of https://fonts.google.com/specimen/Roboto in Chrome 69 in Windows 7, with display scaling at 125% (the default) and font smoothing disabled, so this should be easily reproducible: You might need to save that image and view it in an image viewer at 1:1 pixel scaling to see exactly what I see. The fifth sample line of "Communications" is the regular style, and lines up pretty well with my Gmail/Firefox sample above, differences in letter-spacing aside.
You get different artifacts in the rendering depending on the font size. At 17px I got the 'u' and 'i' to look that way with the unbalanced vertical segments and the irregularly shaped dot. At other sizes, you can get artifacts in other characters. Arial seems to have none of these problems under the same conditions.
2.138 incompletely hinted release was removed on August 2017. It is the end of April 2019 now and some of us are still waiting.
The roboto-hinted.zip release for version 2.138 seems to be incomplete on two counts: