# Fatter Computer Modern

I very much like the design of the Computer Modern fonts, except that the strokes (mostly the hairlines) are too thin and "spindly", so not well suited to low-resolution devices like computer screens. I guess I'm not alone -- I often see complaints about this. This problem could be solved just by re-running Metafont with some "fatter" parameter values, couldn't it? Has anyone done that?

A few things I discovered by myself:

1. Alan Hoenig created a package called MathKit. The idea is to define sets of parameters that make the Computer Modern fonts look like standard ones (Times, Palatino, etc.) The Cambria font is nice and fat. I suppose one could use MathKit to create a CM fat-alike of Cambria. Of course, I could just use Cambria, but CM just looks "nicer" to me (somehow).

2. Metafont has parameters like "blacker" that are intended to adjust rasterization according to the properties of the output device. In ancient times, people used to fiddle with these parameters quite a bit to get good output on the printers of the day (which typically had resolutions of 200 to 300 dpi). Of course, none of this helps if you're using outline fonts rather than bitmap ones. When using outline fonts, the OS or the viewing app handle the rasterization, and it's beyond your control.

3. Something could perhaps be done by adjusting the hinting of the CM outline fonts, but hinting seems like a black art that hardly anyone knows much about. The standard Y&Y/Blue Sky CM fonts were hinted by real experts, so no further hinting exercise is likely to produce better results, presumably.

4. One could use a smaller design size, as suggested by NauC in the answer below. This will produce thicker strokes. It will also produce wider characters, but I was thinking I might be able to narrow them again using fontspec's "FakeStretch". The end result (if I'm lucky) will be characters with thicker hairlines.

To try out the idea from #4, I used the following code:

\documentclass[a4paper,10pt]{memoir}
\usepackage{fontspec}
\defaultfontfeatures{Scale=MatchLowercase}

\begin{document}
\raggedright

\chapter{Motivation}
\section{Background Material}
bedbugs in flowery bloomers.

\fontspec[OpticalSize=0, FakeStretch = 0.876]{Latin Modern Roman 7 Regular}
bedbugs in flowery bloomers.

\fontspec[OpticalSize=0, FakeStretch = 1.09]{Latin Modern Roman 17 Regular}
bedbugs in flowery bloomers.

\end{document}


and I got these results:

At huge sizes like this, any rasterization looks fine, of course. I provided the images just so that people could see the outline differences. The important thing (to me) is that the second line looks better than the first one at small sizes in a PDF viewer, so I'm happy with the progress. I am a raw beginner with TeX/LateX, so maybe someone with more expertise can improve my solution. Now I need to figure out how to do the same thing with math.

-
Change the paper feeder or the tray.... Sorry it had to be done. – percusse Mar 2 '13 at 16:29
Paper output is fine. It's the screen output that's too skinny. I don't have a paper feeder on my monitor. Do you?? – bubba Mar 2 '13 at 16:46
You say you're ok with the look of CM when the output is printed on paper. Have you tried a version of this font with better on-screen "hinting"? E.g., have you tried using Latin Modern instead of Computer Modern? Separately, have you tried changing the resolution (pixel count) of your display? Oddly enough, sometimes lowering the resolution slightly can produce better-looking on-screen rendering of certain fonts. – Mico Mar 2 '13 at 19:12
A font is both an aesthetic object and a practical tool. I wouldn't take the blueprints for a car, distort the x and y axes by unequal scale factors, and expect the result to be a good blueprint for a car. I also wouldn't go through an art museum taking snapshots of paintings and subjecting them to similar changes in their horizontal and vertical proportions. Metafont provides the ability to do this kind of thing so that it can be done by the designer, who presumably has carefully considered practical and aesthetic reasons for his choices. If you want a less spindly font, don't use CM. – Ben Crowell Mar 2 '13 at 19:53
@Ben -- sounds like you think parameterizing a font is a bad idea, and any attempt at adjusting the parameters will lead to a design atrocity. Maybe. Depends who does it, obviously. But, OTOH, it seems likely that it could improve screen readability. So, my questions were "can it be done", and "has it been done". I didn't ask "should it be done". If someone gives a positive answer to the "has it been done" question, then I can judge whether the results are useful to me, and you are free to ignore them if you find them unbearably hideous. – bubba Mar 4 '13 at 15:03

The idea involving FakeStretch sounds interesting! Could you maybe post an example when you find a pleasing solution? – NauC Mar 7 '13 at 16:12