home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
100-199
/
ff135.lzh
/
TeXF
/
TeXF.DOC
< prev
next >
Wrap
Text File
|
1988-03-14
|
10KB
|
236 lines
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
-------------------------------------------------------------