skosch / Crimson

The Crimson Text typeface
SIL Open Font License 1.1
518 stars 55 forks source link

Have proper TTFs #2

Closed adrientetar closed 10 years ago

adrientetar commented 10 years ago

A bit of comparison on Windows 7 to back up the changes (please lookup full-size).

Here is the OTF:

otf

TTF provided inside webfonts:

ttf-webfont

FontForge TTF:

ttf-fontforge

FontForge TTF with ttfautohint pass:

ttf-fontforge-hinted

For reference, here is the TTF from the webfonts/ folder, hinted with ttfautohint:

ttf-webfont-hinted

Now clearly here FontForge gives us a better TTF.
As for generating webfonts:
Seeing that the Fontsquirrel generator tends to give mixed results as I experienced and as this other case shows us, I would advise to use the Fontsquirrel Basic setting from the hinted TTF in order to generate WOFF, EOT or TTF. Why? Because TTFs look better on Windows and they generally look the same as OTFs on other platforms (ttfautohint applies hinting from GNU+Linux FreeType inside the TTFs).

r? @skosch

BTW there were a few warnings from FontForge (Feb 2014 build) geometry-related like "self intersecting" and "missing points at extrema".

Also there were lots of:

fg

All of these occur regardless of the output file format it seems.

skosch commented 10 years ago

Awesome, thanks so much for cleaning this stuff up :) I'm going to have to have another look at the OpenType tables, there seem to be quite a bit of broken references, but I'll merge your changes. Thanks again!

rainerschuhsler commented 10 years ago

This last commit was more destructive than constructive.

The web fonts should not have been removed. The TTF web fonts aren't meant to be installed as desktop fonts; they were generated to have a basic subsetting for browsers to download them faster and to have an adjusted x-height to match Georgia. Font Squirrel did not touch the settings for hinting, so the differences in hinting between the web TTF files and the new desktop TTF files weren't caused by the generator.

It looks like ttfautohint improved the hinting of the TTF files on Windows, but I fail to see why this is necessary at all, when the OTF files are technically superior. The reason the TTF files appear to render "better" on Windows (at least at small point sizes) is the way they're aliased. As you can see by the 72pt size type, the OTF characters appear smooth while the TTF characters appear jagged. I'll concede that Windows desktop users should have to option to install TTF fonts if they prefer them over OTF fonts, but these files shouldn't outright replace the web versions.

Further, it appears the new TTF fonts were generated by the SRF files, which retain the issues with vertical metrics that are fixed in the OTF files, so new web fonts can't be generated from the new TTF files because the baseline will be inconsistent among different weights. See http://uh.edu/~jrschuhs/crimson/December-2013/baseline-test.html and http://uh.edu/~jrschuhs/crimson/May-2014/baseline-test.html to compare.

adrientetar commented 10 years ago

@rainerschuhsler Webfonts (particularly the pattern you describe) serve a particular need and they should not be part of the standard distribution, in my opinion. Fontsquirrel generated TTFs from an OTF (seemingly), FontForge makes a proper conversion from the outlines whereas the Fontsquirrel-generated TTF had abberations in its outlines (see the pseudo-curved terminals on the previously-provided TTF webfont).

It looks like ttfautohint improved the hinting of the TTF files on Windows, but I fail to see why this is necessary at all, when the OTF files are technically superior.

OTF files look blurry at small sizes on Windows, this is why TTFs are needed for proper rendering at small sizes.

As you can see by the 72pt size type, the OTF characters appear smooth while the TTF characters appear jagged.

All TTFs on my system (e.g., Arial) look the same with the Preview application (I do not know which renderer it uses), but I can confirm that it looks smooth under Firefox with DirectWrite rendering.

these files shouldn't outright replace the web versions.

The added TTFs are not meant to replace webfonts, webfonts were dropped from the repository because I don't think they should be maintained inside the main repo and I didn't want to use a generator I have no control over (what do they use to generate their stuff, no one knows – plus I have already seen issues with generated TTFs so I personally stick with FontForge—if people want to use the FOntsquirrel generator, they can do so with their own settings).

Further, it appears the new TTF fonts were generated by the SRF files, which retain the issues with vertical metrics that are fixed in the OTF files

SRF source files are not up-to-date? I didn't know. This is a separate issue which I can't take care of myself... I originally preferred those over OTFs since I know that the conversion from one Bézier curve to another is lossy, through FontForge does it pretty ok.

skosch commented 10 years ago

Sorry, just saw this -- I think I understand your intentions much better now, Adrien. My apologies!

I'll let Rainer (since he has the latest sources) generate both a set of "full" TTFs (using ttfautohint) for Windows users, and a set of subsetted-and-scaled TTFs for web use. I will put them into separate, clearly-labelled folders and explain the difference in the readme. I will also upload fixed source files once I get back home.

Would that resolve the issues you were having?