googlefonts / Inconsolata

Development repo of Inconsolata Fonts by Raph Levien
http://levien.com/type/myfonts/inconsolata.html
SIL Open Font License 1.1
1.35k stars 63 forks source link

Building custom width variants #78

Open hpax opened 2 years ago

hpax commented 2 years ago

I will apologize in advance if this is an ignorant question, I do not know a lot about font generation.

I am wondering if it is possible to use the Inconsolata sources to build arbitrary width variants. This is the motivation, in case this is interesting/useful:

I was looking at the Inconsolata fonts to generate output emulating an Epson dot matrix printer. I did some research into the 1980s era Epson LX, FX, and LQ series printers to see how best to do this.

The Epson printer full height fixed width fonts are 10, 12, 17.1 (120/7) or 20 CPI, optionally double width.The normal line spacing is 1/6" (12 pt) but the font is formally documented as being a "10.5 point" font. An additional 15 CPI mode is simply the 10 CPI font at 2/3 size, using the sub/superscript glyph set (thus 8 or 7 pt size instead of 12 or 10.5 pt.)

Using a 12 pt font, the corresponding milliem widths become 300, 350, 500, 600, 700, 1000, 1200; for a 10.5 pt font 343, 400, 571, 686, 800, 1143, 1371.

12 pt maps mostly to stock only Inconsolata widths (except for 300 and 1200); 10.5 obviously doesn't. It isn't really clear to me yet which would look better on paper in the end; I get the feeling that line spacing back then was more compact, not giving as much allowance for crowding between descenders and diacrititcs.