home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / text / tex / 15475 < prev    next >
Encoding:
Internet Message Format  |  1993-01-27  |  9.8 KB

  1. Path: sparky!uunet!comp.vuw.ac.nz!waikato.ac.nz!aukuni.ac.nz!cs18.cs.aukuni.ac.nz!jeremy
  2. Newsgroups: comp.text.tex
  3. Subject: Re: Virtual fonts
  4. Message-ID: <1993Jan28.015305.8434@cs.aukuni.ac.nz>
  5. From: jeremy@cs.aukuni.ac.nz (Jeremy Gibbons)
  6. Date: Thu, 28 Jan 1993 01:53:05 GMT
  7. References: <10234580@MVB.SAIC.COM>
  8. Organization: Computer Science Dept. University of Auckland
  9. Cc: jeremy@cs.aukuni.ac.nz
  10. Lines: 221
  11.  
  12. In <10234580@MVB.SAIC.COM> Ralf Mollenhauer <ENSP067%FRMRS11.BITNET@SHSU.edu> writes:
  13.  
  14. >Now I would like to know:
  15. >1. Does there exist any documentation about virtual fonts ?
  16. [...]
  17. >4. What are *.vf files for ?
  18.  
  19. Here is a summary I wrote a while back, complete with comments from
  20. Berthold Horn and Yannis Haralambous.
  21.  
  22. One of these days I'll get this put in the FAQ.
  23.  
  24. Jeremy
  25.  
  26.  
  27.  
  28. >Newsgroups: comp.text.tex
  29. >Path: cs18.cs.aukuni.ac.nz!jeremy
  30. >From: jeremy@cs.aukuni.ac.nz (Jeremy Gibbons)
  31. >Subject: Re: Virtual Fonts are...?
  32. >Message-ID: <1992Oct19.235603.9537@cs.aukuni.ac.nz>
  33. >Cc: jeremy@cs.aukuni.ac.nz
  34. >Organization: Computer Science Dept. University of Auckland
  35. >References: <1992Oct16.050908.18407@lugb.latrobe.edu.au>
  36. >Date: Mon, 19 Oct 1992 23:56:03 GMT
  37.  
  38. In <1992Oct16.050908.18407@lugb.latrobe.edu.au> ecsgrt@luxor.latrobe.edu.au (Geoffrey Tobin) writes:
  39.  
  40. >1.  Exactly what are virtual fonts?
  41.  
  42. Here is my understanding of virtual fonts. Perhaps others could join in,
  43. and we can put something in the FAQ, or in Geoffrey's "MF for Beginners"?
  44. (I seem to have answered this question half a dozen times recently.)
  45.  
  46. Knuth discusses virtual fonts in the article "Virtual Fonts: More Fun for
  47. Grand Wizards" in TUGboat 11(1), which was also published in TeXhax, 
  48. volume 90, issues 11 and 12. Go and read that article!
  49.  
  50. In summary, virtual fonts are a solution to the problem of using fonts with
  51. different encodings (in the sense of "mappings from character codes to
  52. character glyphs"). In passing, they also allow you to construct composite
  53. fonts (such as Computer Modern Roman letters with oldstyle digits) and
  54. composite characters (such as accented letters) without having to do
  55. anything clever in TeX. Finally, they provide an elegant solution to the
  56. realisation on one system (eg a previewer) of documents set with fonts
  57. available only on another system (eg a phototypesetter with native fonts),
  58. by substituting available glyphs for unavailable ones.  To do all this,
  59. "all we need is a good way to specify a mapping from TeX's notion of a font
  60. character to a device's capabilities for printing".
  61.  
  62. Corresponding to .pl ("property list") files, there are .vpl ("virtual
  63. property list") files. These describe, in a human-readable format, both the
  64. typesetting information that TeX needs and the information on where to find
  65. specific glyphs that a device driver needs. The format for .vpl files is an
  66. extension of the format for .pl files. All the information on character
  67. metrics (the "metric" information) and ligatures and kerning (the "extra"
  68. information, for want of a better term) that TeX requires in a .tfm file is
  69. there; for every character, there is also information for the device driver
  70. on how to draw the glyph (the "shape" information). The shape information
  71. for a virtual character can take the form of a reference to a character in
  72. another (perhaps also virtual) font, rules or specials, and all of these
  73. can be shifted, scaled and combined. In general, this shape information
  74. "can be any sequence of typesetting commands that might appear in a page of
  75. a DVI file".
  76.  
  77. There are two programs for processing .vpl files, VPtoVF and VFtoVP; these
  78. convert between the human-readable information and compact machine-readable
  79. data. VPtoVF takes a .vpl file and constructs two files, a .tfm file and a
  80. .vf file; the .tfm file contains the metric and extra information which TeX
  81. needs, and the .vf file contains the metric and shape information which the
  82. device driver needs. VFtoVP takes the .tfm and .vf files and reconstructs
  83. the .vpl file.
  84.  
  85. Comments?
  86.  
  87. Jeremy
  88.  
  89. ---
  90. Jeremy Gibbons <jeremy@cs.aukuni.ac.nz>         tel: +64 9 373 7599
  91.    Department of Computer Science,              fax: +64 9 373 7453
  92.    University of Auckland, Private Bag 92019, Auckland, New Zealand.
  93.  
  94.  
  95.  
  96. From comp.text.tex Fri Oct 23 18:57:34 1992
  97. From: bkph@kauai.ai.mit.edu (Berthold K.P. Horn)
  98. Date: 21 Oct 92 12:26:30 GMT
  99. Newsgroups: comp.text.tex
  100. Subject: Re: Virtual Fonts are...?
  101.  
  102.  
  103. In article <1992Oct19.235603.9537@cs.aukuni.ac.nz> jeremy@cs.aukuni.ac.nz (Jeremy Gibbons) writes:
  104.  
  105.    >1.  Exactly what are virtual fonts?
  106.  
  107.    Here is my understanding of virtual fonts. Perhaps others could join in,
  108.    and we can put something in the FAQ, or in Geoffrey's "MF for Beginners"?
  109.    (I seem to have answered this question half a dozen times recently.)
  110.  
  111.     ....
  112.  
  113.    In summary, virtual fonts are a solution to the problem of using fonts with
  114.    different encodings (in the sense of "mappings from character codes to
  115.    character glyphs"). 
  116.  
  117. Just a note on this here:  Virtual fonts provide a mechanism for PERMUTING
  118. an encoding vector, not for true reencoding, since they deal only with
  119. numeric codes, not character names.  Characters that are not in the base
  120. encoding of the `actual' font, cannot be made accessible by permuting the
  121. mapping.  For instance, `Yacute' is not in Adobe StandardEncoding, so if
  122. your DVI driver does not reencode a font using SE, this character is not
  123. accessible, no matter how much you permute the numbers from 0 through 255.
  124.  
  125. Note also that you do not need necessarily need virtual fonts to reencode a
  126. font.  Different DVI drivers provide different mechanisms for doing this.
  127. Some provide instead for on-the-fly reencoding.  
  128.  
  129. There is also a common misconception that one needs virtual fonts in order
  130. to use scalable outline fonts (Type 1, TrueType, etc). This is entirely DVI
  131. driver dependent.  Some can deal with scalable outline fonts without virtual
  132. fonts.
  133.  
  134.    In passing, they also allow you to construct composite
  135.    fonts (such as Computer Modern Roman letters with oldstyle digits) 
  136.  
  137. This, on the other hand, is something they ARE good for.
  138.  
  139.    and composite characters (such as accented letters) without having to do
  140.    anything clever in TeX. 
  141.  
  142. This is less of an issue, since most plain vanilla text fonts in Type 1
  143. format contain 58 standard accented characters  (Although some DVI
  144. processors won't let you get at these, however, because of the encoding they
  145. use of the font). 
  146.  
  147.    Finally, they provide an elegant solution to the
  148.    realisation on one system (eg a previewer) of documents set with fonts
  149.    available only on another system (eg a phototypesetter with native fonts),
  150.    by substituting available glyphs for unavailable ones.  
  151.  
  152. Again, this has really nothing to do with virtual fonts. Most previewers
  153. (and printer drivers) have a mechanism for substituting existing fonts for
  154. missing ones. 
  155.  
  156.    Comments?
  157.  
  158. See above.
  159.  
  160.    Jeremy
  161.  
  162.  
  163. Berthold K.P. Horn
  164. Cambridge, Massachusetts, USA
  165.  
  166.  
  167.  
  168.  
  169. Date: 26 Jan 1993 13:06:51 +0100
  170. From: yannis@gat.citilille.fr
  171. Subject: virtual fonts
  172. Sender: metafont@dmi.ens.fr
  173. To: Multiple recipients of list <metafont@dmi.ens.fr>
  174. Errors-To: server@dmi.ens.fr
  175. Reply-To: metafont@dmi.ens.fr
  176. Content-Transfer-Encoding: 7BIT
  177. Originator: metafont@dmi.ens.fr
  178. Version: 5.5 -- Copyright (c) 1991/92, Anastasios Kotsikonas
  179.  
  180.  
  181. Jeremy's description of virtual fonts is very accurate, I would like to add
  182. some comments and thoughts.
  183.  
  184. A virtual font is a kind of interface between something that is either big
  185. (think of PK files for 2540dpi typesetting machines) or rigid (PostScript
  186. fonts inside some printer) or anyway external to TeX, and TeX itself. As long
  187. as we work with CM/DC fonts everything runs smoothly, but there is the cruel
  188. world of incompatibilities there outside and we shouldn't make a different
  189. version of TeX for every platform or encoding. There is another very important
  190. fact difference between fonts: 
  191. -- some of them are made for information exchange
  192. -- some are made to emulate traditional typography
  193. (-- and some are trying to do both, miserably most of the time).
  194. In the first case you only have the characters you need for example for email.
  195. You wan't find there any fi fl ligatures, think of the CM typewriter fonts.
  196. In the second case, you will have characters and/or variants which will serve
  197. only for typographical purposes, that is for the visual representation of your
  198. text.
  199. Most word processors work with one font encoding which aims to cover both needs.
  200. This may still be possible for the Roman script, by making some compromises.
  201. But for other scripts it is impossible (think of Arabic ligatures). In front
  202. of this problem, word processors behave in various ways. For TeX, output quality
  203. is the most important goal. So, in most cases, TeX will use it's own output
  204. fonts, which will take profit of TeX's extraordinary features of box manipu-
  205. lation etc etc.
  206. You see now what I mean: TeX uses it's own fonts for the output (or at least
  207. should use it's own fonts to get the best quality --- a sad counterexample is
  208. Moschovakis' Greek system where quality is sacrified for the sake of IBM's
  209. encoding) and if this output should use external commercail fonts, somebody
  210. must change: either the font, or TeX.
  211. Virtual fonts are there to fill this gap. We can now (and will!!) make 
  212. typesetting systems for all languages having typographical quality in our mind
  213. and not compatibility with anything or anyone. A virtual structure will then
  214. insure compatibility with the outside world.
  215.  
  216. So let me summarize: suppose we want a TeX system for Tomanian.
  217. The input will be done in Tomanian ISO for data exchange, or some equally
  218. important and standardized encoding.
  219. TeX's output will be done using a private encoding, carefully studied so that
  220. all TeX's features having been exploited to insure max typographical quality.
  221. Virtual structures will be used to convert the private encoding found in the
  222. DVI file into any possible encoding of the real Tomanian world.
  223.  
  224. In my mind, virtual fonts are TeX's passport to travel around the world, and
  225. still remain universal and unique.
  226.  
  227. Cheers
  228. Yannis
  229.  
  230.  
  231.  
  232.  
  233.