googlefonts / roboto-classic

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

Pre-Diet Build is complete #50

Closed dberlow closed 4 years ago

dberlow commented 4 years ago

The font requested before the current round of glyph reductions, is now ready for testing visual compatibility.

Font hinting complies cleanly in VTT with no errors/warnings. All glyphs hinted, checked, mostly re-hinted*, to ensure correct use of CVT’S for height alignments. GASP set to use Hinting and smoothing above 9ppem. Matches Shipping Roboto. Hinted Heights (Cap/x-height/ascender/descender) matched to Roboto Shipping font until 32ppem 24/point @96dpi.

VTT SOURCES: github.com/TypeNetwork/Roboto/tree/master/Hinted%20VTT/MD%20Hints/Sources

SHIPPABLE FONT github.com/TypeNetwork/Roboto/tree/master/Hinted%20VTT/MD%20Hints/Fonts

m4rc1e commented 4 years ago

From what I've seen, the hinting looks very good. I'm more concerned that we cannot get repeatable results. I've outlined what we need before I can thoroughly inspect the fonts.

davelab6 commented 4 years ago

Font hinting complies cleanly in VTT with no errors/warnings.

We require the hints compile with fontmake via vttLib

dberlow commented 4 years ago

Vtt to product.

Font Bureau has been asked to provide an updated build script for Roboto that can run from vtt sources to generate font binaries with no manual intervention.

We are developing a single build script that starts with complete vtt sources and ends with a minimal size variable ttf, and should be repeatable with some issues mentioned below.

Some terms. Vtt source = a vtt file that contains both final tables and vtt-required tables, TSI for short.

XML (of vtt) source = an xml file containing both final tables and vtt-required TSI tables.

(To get from one of these to a ttf binary requires either vtt-user selection of the “ship” command, or scripting TTX to delete the TSI tables, (Which can be as big as 2 MB), via “forward-moving” production script.

XML binary = the hints as exported by vtt after the “ship” command is selected. This is then used to compile a TTF binary, by doesn’t preserve hints going backwards to vtt.

TTF Binary = final compiled ttf. Opening in vtt doesn’t preserve hints.

Backward-moving script = for gathering sources to use vtt for hinting, adding new glyphs, or changing glyphs including repertoire or point indices.

Forward-moving script = for gathering required sources and making changes to tables other than glyp, gvar, cvt, cvar, prep, maxp* or fpgm, or to repeatedly generate the same font without any modifications having occurred.

*the maxp table = a font’s maximum profile, cacheing things about glyphs, like number of glyphs, the most points, the most contours, and things about the hints, like the most function definitions, the maximum stack depth, etc.

A backward-moving script will have this made by vtt, and can then move forward without a problem.

But if any changes are made going forward-moving, from final hints and glyphs, to ttf binary, that would affect the max profile, we’d need to figure out.