elwell@tut.cis.ohio-state.edu (Clayton Elwell) (04/11/88)
There are several important issues within the general one of font representation. Several people have said things about outline fonts and Adobe PostScript fonts in particular. I've been working with PostScript and Metafont for a while now, and I'd like to throw out for your amusement some of the pbservations I have been able to make. One basic issue is whether to store character images as bitmaps or as algorithms by which those bitmaps can be derived. This is a tradeoff. On the one hand, using simple bitmaps gives you the ultimate control over the appearance of the printed page. It is relatively fast (given a good high-speed communications channel) and the amount of space required to store the character images will expand to fill all available space on the host. Also, bitmaps that look pretty good with one marking engine will often look awful on another one that uses a different imaging technology. These are problems, but a printer controller that accepts just bitmaps is very easy to implement. On the other hand, using algorithmic fonts (such as PostScript or Metafont) lets you store one representation that can take several parameters (such as character size, printer resolution and technology, and so forth) and derive the bitmaps "on the fly." This requires a lot more intelligence in the printer (or whatever is constructing the page images), but saves on space, and can in fact save time if the communication channel has finite bandwidth :-). The simplest kind of algorithm is a simple outline that is scaled to the approriate size. This works reasonably well at high resolutions, but fails at lower resolutions (such as 300 dpi) because of the lack of resolution and positioning accuracy. This most often manifests as uneven widths of hairlines and other small features. Anyone who has used Fontographer(tm) on a Mac has encountered this problem. On high resolution devices, though, smaller type can often look too light, since these small features can get "washed out." Metafont is in some senses the opposite extreme, since a given font description can be arbitrarily parameterized. This can require great amounts of computing "horsepower," however flexible it may be. What I have done in experiments, and what Adobe seems to do for their PostScript typefaces, is to use outlines that are "adjusted" before a character is imaged. This involves such things as rounding hairlines and strokes to an integral number of pixels, so as to preserve the even texture of the text. This is not easy, and to some extent involves trial and error for each typeface, although automated tools can help some here. The end results seem pretty reasoanble. Until we all have 2000+ dpi printers on our desks, there's going to be a certain amount of messing about with the physical characteristics of the printer. -- Clayton M. Elwell <elwell@tut.cis.ohio-state.edu> -=- "You can't just take my dreams away, not with me watching" -- Holly Near