Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!zodiac!saturn!xanthian From: xanthian@saturn.ADS.COM (Metafont Consultant Account) Newsgroups: comp.fonts Subject: Re: What Metafont is (was Re: Custom Fonts...?) Message-ID: <10235@zodiac.ADS.COM> Date: 30 Dec 89 07:10:43 GMT References: <1533@cc.helsinki.fi> <3242@jarthur.Claremont.EDU> Sender: news@zodiac.ADS.COM Organization: Advanced Decision Systems, Mt. View, CA (415) 960-7300 Lines: 88 In article <3242@jarthur.Claremont.EDU> dhosek@jarthur.UUCP (D.A. Hosek) writes: >In article <1533@cc.helsinki.fi> STICKLER@cc.helsinki.fi writes: >>Also, what is the METAFONT format used in TEX? How does one >>define a METAFONT? > >Metafont is a system [lots omitted...] Personally, I believe that the true >potential of Metafont has yet to be exploited. For example, in an >undertaking like the Quixote Oriental Fonts Project, visual design >of the more than 50,000 characters involved would take an extravagant >amount of time. A procedural approach seems to be the only rational >way to approach the development of the characters. > >-dh Additional response to the above, from personal experience with METAFONT: I've recently had the (fun) experience of producing (for [modest] gain) a corporate logo in METAFONT for use in TeX and LaTeX documents. The joys of METAFONT are many. It is a mix of a procedural and a functional language; while a METAFONT program has a flow, lots of the really ugly imperative programming details can be finessed by establishing equations which define the relationships among the lines (virtual pen strokes) of the drawing. Relationships such as "intersection point of two curves", "curve interpolating between two curves", "proportional to", and "rotated about", for example, are very easy to express. On the down side, the output is _not_ an outline description of the symbol, so one must create (by running the mf program with ones METAFONT symbol program and a parameter header as input) a rasterized instance of each point size, at each display device resolution, of the symbol. For even a simple situation, this can involve dozens of font files to manage, just to support a single symbol. For a full set of computer modern fonts in a good range of point sizes and several different resolutions, the files of rasterized fonts can extend to hundreds (even perhaps low thousands), and the disk space demands are very heavy. To compensate, METAFONT supports _excellent_ rasterization facilities, so that the symbols produced work well over a large range of point sizes with relatively little effort (compared say, to making a gridding system work well for an outline font at low point sizes) by the symbol programmer. Additionally, the two implementations of METAFONT with which I am familiar (for Sun Unix(tm) and for the Amiga) come with the font definition sources for Knuth's Computer Modern(tm?) font set. Together with a set of existing, also furnished, parameter header files, these font programs allow the user to create dozens of fonts. With the user supplying parameter header files, the possibilities are endless fonts, though all with certain stylistic similarities. With the user supplying the font symbol (character) programs, the sky is the limit. As an aside, for those with the hardware to run it, I cannot recommend too strongly the excellent AmigaTeX, AmigaLaTeX, and AmigaMETAFONT software from Radical Eye Software [(415) 332-6442]. The previewers for both TeX and METAFONT, and the generally smooth and seamless operation of this software made my work a delight, and I'm more than happy to give Tom Rokiki and crew a free plug. I suppose that, compared to Bitstream, Adobe, and other commercial font vendors' products, METAFONT fonts will always be relatively orphans, but being able to roll your own special purpose symbol set and pop it up in TeX to decorate documents is an awfully nice feature. Having completed my for-pay project, I couldn't resist making my own Treehouse Computer Consulting "corporate" logo, a tree with treehouse, using METAFONT's random number capabilities to make a tree symbol with bark, leaves, trunk, and branches, and a treehouse right out of "There Was a Crooked Man", all looking georgous and clearly delineated at 72 points in the letterhead I made for myself. Now for a word from our sponsor ;-) -- Again, my opinion, not the account furnishers'. xanthian@well.sf.ca.us Kent, the (bionic) man from xanth, now available as a build-a-xanthian kit at better toy stores near you. Warning - uses some fragile parts. /^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\ < Your artwork converted to a METAFONT symbol program for TeX and LaTeX use! > < Send a salad plate sized blowup, a SASE, and a cover letter to me at TCC, > < P.O. Box 390755, Mountain View, CA 94039-0755 for a no risk, fixed price > < quote. Company logos a specialty. (Hey, it's a living, however modest.) > \vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv/