Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!bruce!monu1!eln272v From: eln272v@monu1.cc.monash.oz ( r lang) Newsgroups: comp.text.tex Subject: Re: Virtual fonts Message-ID: <5891@monu1.cc.monash.oz> Date: 14 Nov 90 23:36:25 GMT References: <1990Nov14.153050.19884@uncecs.edu> Organization: Dept. Electrical & Computer Systems Engineering, Monash University Lines: 247 In article <1990Nov14.153050.19884@uncecs.edu>, dezern@uncecs.edu (David H. Dezern) writes: > could someone tell me what a virtual font is? Suggested references: VPtoVF.web VFtoVP.web dvips 5.399 by Tom Rokicki TeX 3.0 tape In dvips, virtual fonts are used to map the PostScript resident fonts to a font that can be used by TeX. I have a file tftoivf.c (based on tftoiv.icn by Sebastian Rahtz) which converts a visible tfm file into an invisible tfm and vf. This is useful if you want to use invisible fonts in slitex, but don't have the invisible pk fonts. The following information is from the TeX 3.0 tape. [This file is ./fontutil/README.virtual_fonts. It consists of excerpts from the electronic digest TeXhax (1990), issues 11 and 12.] Excerpted from: TeXhax Digest Sunday, January 14, 1990 Volume 90 : Issue 11 Date: 08 Jan 90 1727 PST From: Don Knuth Subject: Virtual fonts: More fun for Grand Wizards Keywords: fonts Many writers to TeXhax during the past year or so have been struggling with interfaces between differing font conventions. For example, there's been a brisk correspondence about mixing oldstyle digits with a caps-and-small-caps alphabet. Other people despair of working with fonts supplied by manufacturers like Autologic, Compugraphic, Monotype, etc.; still others are afraid to leave the limited accent capabilities of Computer Modern for fonts containing letters that are individually accented as they should be, because such fonts are not readily available in a form that existing TeX software understands. There is a much better way to solve such problems than the remedies that have been proposed in TeXhax. This better way was first realized by David Fuchs in 1983, when he installed it in our DVI-to-APS software at Stanford (which he also developed for commercial distribution by ArborText). We used it, for example, to typeset my article on Literate Programming for The Computer Journal, using native Autologic fonts to match the typography of that journal. I was expecting David's strategy to become widely known and adopted. But alas --- and this has really been the only significant disappointment I've had with respect to the way TeX has been propagating around the world --- nobody else's DVI-to-X drivers have incorporated anything resembling David's ideas, and TeXhax contributors have spilled gallons of electronic ink searching for answers in the wrong direction. The right direction is obvious once you've seen it (although it wasn't obvious in 1983): All we need is a good way to specify a mapping from TeX's notion of a font character to a device's capabilities for printing. Such a mapping was called a "virtual font" by the AMS speakers at the TUG meetings this past August. At that meeting I spoke briefly about the issue and voiced my hope that all DVI drivers be upgraded within a year to add a virtual font capability. Dave Rodgers of ArborText announced that his company would make their WEB routines for virtual font design freely available, and I promised to edit them into a form that would match the other programs in the standard TeXware distribution. The preparation of TeX Version 3 and MF Version 2 has taken me much longer than expected, but at last I've been able to look closely at the concept of virtual fonts. (The need for such fonts is indeed much greater now than it was before, because TeX's new multilingual capabilities are significantly more powerful only when suitable fonts are available. Virtual fonts can easily be created to meet these needs.) After looking closely at David Fuchs's original design, I decided to design a completely new file format that would carry his ideas further, making the virtual font mechanism completely device-independent; David's original code was very APS-specific. Furthermore I decided to extend his notions so that arbitrary DVI commands (including rules and even specials) could be part of a virtual font. The new file format I've just designed is called VF; it's easy for DVI drivers to read VF files, because VF format is similar to the PK and DVI formats they already deal with. The result is two new system routines called VFtoVP and VPtoVF. These routines are extensions of the old ones called TFtoPL and PLtoTF; there's a property-list language called VPL that extends the ordinary PL format so that virtual fonts can be created easily. In addition to implementing these routines, I've also tested the ideas by verifying that virtual fonts could be incorporated into Tom Rokicki's dvips system without difficulty. I wrote a C program (available from Tom) that converts Adobe AFM files into virtual fonts for TeX; these virtual fonts include almost all the characteristics of Computer Modern text fonts (lacking only the uppercase Greek and the dotless j) and they include all the additional Adobe characters as well. These virtual fonts even include all the "composite characters" listed in the AFM file, from `Aacute' to `zcaron'; such characters are available as ligatures. For example, to get `Aacute' you type first `acute' (which is character 19 = ^S in Computer Modern font layout, it could also be character 194 = Meta-B if you're using an 8-bit keyboard with the new TeX) followed by `A'. Using such fonts, it's now easier for me to typeset European language texts in Times-Roman and Helvetica and Palatino than in Computer Modern! [But with less than an hour's work I could make a virtual font for Computer Modern that would do the same things; I just haven't gotten around to it yet.] [A nice ligature scheme for dozens of European languages was just published by Haralambous in the November TUGboat. He uses only ASCII characters, getting Aacute with the combination