TeXF 2.5 copyright 1988 by Ali T. Ozer ------------------------------------------------------------- TeXF is a program to convert PK fonts into AmigaDOS fonts. Pk fonts are packed TeX fonts used by the AmigaTeX previewer and the AmigaTeX printer drivers. [Note that AmigaTeX is a commercial product; it is a full implementation of the TeX typesetting system for the Amiga. AmigaTeX is a copyright of Radical Eye Software. TeX itself is a trademark of The American Mathematical Society.] PK fonts, like TeX fonts themselves, are freely distributable. The TeXF distribution contains 78 PK fonts (actually 22 fonts, but at various sizes). The fonts include some that are actually fairly large --- some are actually more than 100 pixels high on the Amiga screen. By distributing the fonts in PK format, it's possible to include a lot more in the distribution --- Especially in the case of the large fonts, the space savings can be more than 80% (a 10K PK file typically generates a 50K AmigaDOS file). Of course, if you are a AmigaTeX owner, you'll have some more PK fonts at your disposal. TeXF should work with any PK font, not just those included here. (The most interesting and/or the most useful of the PK fonts are included with this distribution in a wide range of sizes, enough to satisfy most needs. The sizes range from about 15 pixels to about 160 pixels high. The larger fonts, especially the bold ones such as cmssbx10 or cmbx10, make perfect fonts for titling genlock'ed video. Note that titles on videos look much better with shadows --- Shadows can be added to text by hand in DPaint (by using the text as brush and painting twice) or in The Director, automatically, by writing the text out twice. Of course there are many other ways...) To see what the fonts look like, look at the IFF files "PK FONTS 1," "PK FONTS 2," "PK FONTS 3," and "PK FONTS 4," by clicking on the corresponding icons. These four IFF files contain a few sample characters from all the PK files in this distribution, with some indication of what the AmigaDOS font name is and what AmigaDOS font sizes can be generated. For instance, in "PK FONTS 1," you'll see that the font "cmr10" is available in the sizes 103, 73, 61, 42, 30, and 21. To generate the AmigaDOS font cmr10/73, all you need to do is: 1. Start a CLI window and CD to the directory where TEXF is in. (In this distribution, the root directory of the distribution disk.) 2. "ASSIGN FONTS:" if you do not want to write to your default FONTS: directory (normally the FONTS directory on your startup disk). If you've got some expansion RAM, and you just want to play around with different fonts, best idea is to ASSIGN FONTS: RAM:. 3. Then: 1> texf -mcmr10/73 The "-m" option tells TeXF to make the specified font. TeXF then looks at a file (texf.pkfontfiles) to see what PK file it needs to read to generate the specified Amiga font. If you specify a size not displayed in the provided IFF files, then TeXF will not be able to figure out how to make the font and complain. Note that the argument after "-m" should be in lower case. TeXF can take some arguments to somewhat fine tune to generated font. For instance, if you wish to generate just the alphas (A-Z, a-z), numerals (0-9), and some important punctuation characters, you should include the "-r" option anywhere in the command line: 1> texf -r -mcmr10/73 If you want to eliminate the lower case characters as well, then you should use the "-s" option instead of the "-r" option. This might come in handy when you are generating some real large fonts. You can also specify a range of characters to generate with the "-f" and "-t" options. For instance 1> texf -f48 -t57 -mcmr10/73 tells TeXF to generate only the 10 characters with ASCII codes 48 to 57. (These happen to be the 10 digits 0..9.) The "-v" option tells TeXF to be verbose; TeXF will yack away as it processes the PK font. The "-g" option tells TeXF to generate the font without waiting for you to confirm --- Normally TeXF will pause after reading in the PK font and ask you if you want to write the AmigaDOS files out. The "-g" will eliminate this step and should come in handy in batch processing of PK fonts. You can also run TeXF by specifying the PK font file name instead of the AmigaDOS font name. If you have PK fonts not included in this TeXF distribution, then you will not be able to use the "-m" option to generate AmigaDOS fonts them. Instead, you'll need to specify the PK file as an input directly and see what AmigaDOS size the generated font maps to. For instance, say you have the PK font file CMX10.300PK. To run it through TeXF, you simply do: 1> texf cmx10.300pk TeXF will examine the name, and decide that the AmigaDOS name of the font is "cmx10." It'll also calculate the height for the Amiga font --- Say the height turns out to be 61. It'll then create the font file fonts:cmx10/61 and the font description file fonts:cmx10.font. The PK files in this distribution are in the "pkfonts" directory. You'll notice that the file texf.pkfontfiles contains two lines for every file in pkfonts directory. --------------- NAMING OF FONTS --------------- Some words on the bizarre naming schemes of the PK fonts... TeX is a very intelligent program. It knows a lot about typesetting, including such facts as: "As a the characters in a font are scaled down the aspect ratio of the characters should change." A font should get fatter as it gets smaller. The fonts "cmr5," "cmr10," and "cmr17," for instance, all refer to the same base font, "cmr," or "Computer Modern Roman." But the numbers in the name refer to the design sizes --- cmr5 should be used for when you need a 5-point high cmr, cmr10 should be used when you need a 10-point high one, etc... Of course, you can then break the rules and scale these three fonts any way you want --- In fact, you can scale cmr5 upto 17 points, and get a font that is about the same height as "cmr17" --- except somewhat wider. Thus, "cmr5" should really be treated as a different font than "cmr10" and "cmr17". When TeXF loads a PK font file, it looks at the name (for instance, cmr10.300pk), extracts the part before the "." as the AmigaDOS font name (in this case, "cmr10"), and then calculates the size by looking at all the characters in the font and finding the tallest one. Theoretically, all fonts of the form XXX10.300PK should generate AmigaDOS fonts of the same size. Normally the generated fonts might differ by a few pixels, due to little extension characters in different fonts might have. (For instance CMSS10.518PK generates a 72-point AmigaDOS font while CMSSBX10.518PK generates a 73-point AmigaDOS font.) For all practical purposes, these fonts are the "same" size and should be used in such... ------------------ PROBLEMS WITH TEXF ------------------ Characters in TeX fonts are very versatile. For instance, they can "stick" out of their boxes, they can be offset by negative amounts, and they can be joined with other characters in many ways. AmigaDOS fonts, on the other hand, like almost all other computer-display raster fonts, have some limitations --- For instance, it's hard to paste two consecutive characters such as capital "V" and capital "A" and have them look nice. When TeXF converts a PK font into an AmigaDOS font, it tries its best to generate a working font, and usually succeeds. Unfortunately, when the generated font is used to create text, the result might not be as nice as what you get from TeX. The problem will be more apparent with italicized or slanted PK fonts. A second problem involves the set of characters TeX fonts define vs the set of characters AmigaDOS fonts define. AmigaDOS fonts usually contain definitions for characters upto ASCII 256, while TeX fonts only involve those upto 128. AmigaDOS fonts include some bizarre symbols and international characters among the characters 128..255. For example, one such character is "O" with umlaut over it. TeX, on the other hand, normally creates special characters such as the O-umlaut by actually pasting two dots over an O. TeXF is not clever enough to generate the upper 128 characters of AmigaDOS fonts from a PK font file. Theoretically the task is not impossible, but pretty close. Thus, the upper 128 characters are not generated. The low 32 characters of a TeX font are also discarded, as AmigaDOS doesn't usually define definitions for those characters, Thus, the generated AmigaDOS font file can include only the characters 32..127. There are two other problems with the generated fonts: First, for the larger ones, trying to algorithmically italicize the fonts (using AmigaDOS) creates a mess. (For instance, load a 103-point font into DPaint and type with the "Italic" style turned on.) I haven't had to chance to decide if this is a problem with AmigaDOS or with TeXF. The last problem involves the size of the generated files. Especially for the larger fonts, the generated AmigaDOS font file might approach or even exceed 64K in size. 64K seems to be the limit for AmigaDOS font files (from what I can tell), so the user has to explicitly limit the range of characters when working with large fonts. (TeXF will warn the user if the generated font file is too large.) Of course, one final GIANT problem with the program is the lack of a decent user interface. The program needs a nice, gadget & menu driven interface to facilitate the font conversion. And maybe even a set of library calls to allow programs to open and use PK font files as if they were AmigaDOS fonts... Well, those features can follow later! For now, enjoy the fonts, and happy titling (and whatever else you use nice, large fonts for)! -Ali ------------------------------------------------------------- TeXF is freely distributable, but *not* public domain. TeXF cannot be sold for profit or included with any commercial program without consent of the author. TeXF is written by Ali T. Ozer. The code to load and unpack PK fonts is by Tomas Rokicki. USMAIL: Ali T. Ozer, Box 7703, Stanford, CA 94309 ARPA: ali@score.stanford.edu PHONE: 415-723-6083 -------------------------------------------------------------