home *** CD-ROM | disk | FTP | other *** search
- 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
- -------------------------------------------------------------
-