home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Geek Gadgets 1
/
ADE-1.bin
/
ade-dist
/
unixtex-6.1b-bin0.lha
/
lib
/
texmf
/
doc
/
fontname
/
fontname.info
(
.txt
)
< prev
next >
Wrap
GNU Info File
|
1996-10-12
|
33KB
|
940 lines
This is Info file fontname.info, produced by Makeinfo-1.55 from the
input file fontname.texi.
File: fontname.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
Filenames for TeX fonts
***********************
This document describes a scheme for making eight-character filenames
from (almost) arbitrarily complex font names. It points out
shortcomings of this approach, as well as strengths. Many examples of
the approach are given as well as complete tables of all "registered"
(i.e., sent to me, `karl@cs.umb.edu') names.
This is version 1.6.
* Menu:
* Introduction:: Rationale and basic information about fonts.
* Naming scheme:: The construction of font names.
* Examples:: Various real-life examples.
* Long names:: A specification for long filenames.
File: fontname.info, Node: Introduction, Next: Naming scheme, Prev: Top, Up: Top
Introduction
************
As more typeface families become available for use with TeX, the need
for a consistent, rational naming scheme for the font filenames
concomitantly grows. What follows is somewhat related to and a
simplification of Mittelbach's and Schoepf's article in `TUGboat',
volume 11, number 2 (June 1990). The document you are now reading is an
update of my article published in `TUGboat' 11(4) (November 1990),
pages 512-519. Finally, Mittelbach wrote another article criticizing
the scheme below in `TUGboat' 13(1) (April 1992), pages 51-53; most of
his points are well-taken, but I saw no alternative then, and see no
alternative now. Other of his points are addressed in the appropriate
sections below.
Here are some relevant facts about fonts:
* TeX runs on virtually all computers, under almost as many operating
systems, all with their own (usually incompatible) ideas of how
files should be named. Any proposal regarding filenames,
therefore, must cater to the lowest common denominator. As far as
I know, this is eight characters in length (since the SAIL
machines on which Knuth developed TeX have been unplugged), not
counting any extension, without regard to case, and using only
letters and numerals.
* Most typefaces are offered by several vendors. The version
offered by one vendor is not compatible with that of another. In
fact, the names are usually not the same (a deplorable practice
due to the lack of typeface protection in all countries (at this
writing, and to my knowledge) except Germany, England, and (in a
few cases) France).
* Typefaces typically come in different weights (hairline to extra
heavy), different widths (ultra condensed to wide), and an
open-ended range of variants (italic, sans serif, typewriter,
shadow, .... No accepted standards exist for what any of these
qualities actually, nor (in my opinion) are any standards ever
likely to gain acceptance. (Although work on an international
font standard is progressing, the end is not in sight.)
* The Computer Modern typeface family preserves traditional
typesetting practice in at least one important respect: different
sizes of the same font are not simply linear scalings. This is in
contrast to most commercial (e.g., PostScript) fonts available.
I know that these tables are incomplete. Please send me, by
electronic mail to `karl@cs.umb.edu', any additions or corrections, as
well as any other comments you may have. There is also a (low-volume)
mailing list concerned with fonts and TeX in general (this scheme was
developed after discussions on that list, in fact):
`tex-fonts@math.utah.edu'.
Many people have contributed to this proposal. I would like to
acknowledge in particular Barbara Beeton, Rocky Bernstein, Berthold K.P.
Horn, Sebastian Rahtz, and Jean Rivlin. Tom Rokicki and Russell Lang
gave it its first real test when they adapted it to Tom's
DVI-to-PostScript translator, dvips.
File: fontname.info, Node: Naming scheme, Next: Examples, Prev: Introduction, Up: Top
The naming scheme
*****************
Here is how I propose to divide up the eight characters (the spaces
between the parts are only for readability, and of course should not be
in the filename!):
S TT W V E DD
where
* `S' represents the source of the font, and is omitted if the
source is unknown or irrelevant.
* `TT' represents the typeface name.
* `W' represents the weight.
* `V' represents the variant, and is omitted if both it and the
width are "normal". Many fonts have more than one variant.
* `E' represents the width ("expansion"), and is omitted if it is
"normal".
* `DD' represents the design size, and is omitted if the font is
linearly scaled from a single TFM file.
See the section on virtual fonts (towards the end) for an exception to
the above.
The weight, variant, and width are probably all best taken from the
original source of the typeface, instead of trying to relate them to
some external standard.
Before giving the lists of abbreviations, let me point out some
problems. I don't know of a good solution for any of them. Please let
me know if you have ideas about any of them.
1. Assuming that only the English letters are used, two letters is
enough for only 676 typeface families (even assuming we want to
use all possible combinations, which is doubtful). There are many
more than 676 typeface families in the world. This problem has
already arisen in practice--the abbreviations for typeface
families that start with the letter `s', for example, break down
after a while: I had to call Simoncini Garamond (which should be
`sg' on the face of it) `ig'.
2. Fonts with design sizes larger than 100 point do exist.
Mittelbach in TUGboat 13(1) proposes using hexadecimal or base-36
notation. I don't think the increased range makes up for the
unreadability of the common sizes (e.g., 10pt fonts would have a
suffix `a' (in hex), or `j' (in base 36)). In practice, no one
has complained to me that they can't name their 128pt Helvetica.
3. Several of the "variants" below are not type styles (specifically,
`expert' and `alternate'); instead, they are different encoding
schemes. The encoding scheme should be specified separately, but
there are no more letters.
4. Another dimension along which typefaces can vary is the script.
Many typeface families include variants for Greek, or Cyrillic, or
what have you. Again, this should be specified independently of
everything else, but there are no more letters. For now, Greek
can be specified as a variant letter `k'.
5. It is common to have multiple variants. This quickly makes the
font names longer than eight letters. For example, Adobe sells a
font named `Minion-SwashDisplayItalic', which translates to the
name `pmnrwdi', seven letters long. If Adobe did proper design
sizing, the name would be nine letters long already--and the font
isn't even bold!
6. Multiple variants also lead to ambiguous names, in two different
ways.
First, the same font can be given different names, by specifying
the variants in different orders. For example, the
`Minion-SwashDisplayItalic' font mentioned above could also be
specified as `pmnrdiw'. This can be alleviated by always giving
the variant abbreviations in alphabetical order.
Second, two fonts can be given the same name. For example,
`fcmrtc' could be either Computer Modern typewriter condensed or
Computer Modern typewriter small caps. This problem can be
alleviated by adding `r' (or possibly `rr', in pathological cases)
to the end, meaning "normal width. But that will make the name
too long in many cases, and always specifies what should be
redundant information.
Ideally, the various parts of the name would be separated by
something other than the empty string.
If you adopt this proposal at your installation, and find that you
have fonts with some property I missed, please write to me (see the end
of the article for various addresses), so I can update the lists. You
can get the most up-to-date version of these lists electronically, by
anonymous ftp from the host `ftp.cs.umb.edu', in the directory
`pub/tex/fontname'. I will also send them to you by electronic mail,
if necessary.
Graham Asher (`gasher@cursci.co.uk') has written a C routine to
demangle these fontnames. See `fnget.h' and `fnget.c' in this
distribution.
I give the letters in lowercase, which I think should be used on
systems where case is significant. The lists are in alphabetical order
by the abbreviation.
* Menu:
* Sources::
* Typeface families::
* Weight::
* Variant::
* Width::
* Naming virtual fonts::
File: fontname.info, Node: Sources, Next: Typeface families, Up: Naming scheme
Sources
=======
You should use the letter here which matches the vendor you obtained
the font from. This doesn't necessarily mean that vendor is the
original source; for example, Avant Garde was designed by Herb Lubalin
for ITC, but Adobe also sells it. The name of the font that you get
from Adobe should start with `p'.
unknown
Autologic
Bitstream
Compugraphic
Digital Typeface Corporation (DTC)
freely distributable (e.g., public domain)
Free Software Foundation (`g' for GNU)
Bigelow & Holmes
ITC (International Typeface Corporation)
Linotype
Monotype
IBM
Adobe (`p' for PostScript)
`raw' (for [obsolete] use with virtual fonts, *note Naming virtual
fonts::.)
Sun
URW
American Mathematical Society (`x' for math)
Y&Y
bizarre
Fonts that are distributed without any real attribution to the creator
or by individuals who don't plan to start their own digital type
foundries (Computer Modern, for example) can use `f'. People sometimes
create their own personal fonts, not intended for distribution; for
those, it doesn't make any difference what the name is.
It's unfortunate that the "bizarre" source `z' is needed; but some
fonts just don't fit well into the naming scheme. Such fonts should be
prefixed by `z' (in addition to the real source).
The source `r' is also unfortunate; it would be better to simply
specify the encoding of the font, or whatever the virtual font changed
or added, eliminating the rather artificial distinction between "raw"
and "virtual" fonts.
File: fontname.info, Node: Typeface families, Next: Weight, Prev: Sources, Up: Naming scheme
Typeface families
=================
Amasis
Aachen
Arnold Boecklin
Adobe Caslon
Adobe Garamond
Avant Garde
Ashley Script
Abadi
Albertus
Americana
Antique Olive
Apollo
Antiqua
Arcadia
Aldus
American Typewriter
Auriol
Avenir
Akzidenz Grotesque
Blackoak
Blado
BinnyOldStyle
Braggadocio
Bembo
Banco
Bodoni
Bell
Biffo
Benguiat
Bauhaus
Birch
Bookman
Belwe
Bernard
Balloon
Bundesbahn Pi
Berling
BakerSignet
Brush
Baskerville
Broadway
Berkeley
Carolina
Calisto
Caslon 224
Caslon 3
Caslon 540
Clarion
Compacta
Calvert
Caslon
Cooper Black
Cascade
Clarendon
Centennial
Clearface
Charlemagne
Charter
Candida
Cloister
Computer Modern
Century
Cochin
Copperplate
Cheq
Courier
Century Schoolbook
Cheltenham
Century Old Style
Clairvaux
Cottonwood
Caxton
City
Dom Casual
Duc de Berry
Dolores
Doric
Dorchester Script
Egyptian Extended
EgyptienneF
Stempel Garamond
Engschrift
Esprit
Ellington
Engravers
Amerigo
European Pi
Eras
Eurostile
Ehrhardt
Euler
Excelsior
Formata
Forte
Fairfield
Franklin Gothic
Flora
Fenice
Folio
Friz Quadrata
Frutiger
Falstaff
Figaro
Fette Fraktur
Futura
Felix Titling
Flyer
Gothic Thirteen
Garamond No. 3
Goudy Modern
Goudy Catalogue
Gothic BBB
Garth Graphic
Granjon
Galliard
Garamond
Goudy Old Style
Glypha
Grotesque
Gloucester
Gill Sans
Goudy Text
Guardi
Giovanni
Goudy
Hobo
Herculanum
Headline
Hiroshige
Helvetica Inserat
Charme
Helvetica Neue
Horley Old Style
Helvetica Rounded
Helvetica
Insignia
Impact
Inflex
Simoncini Garamond
Imprint
Caecilia
Imago
Industria
ionic
Impressum
Italian Old Style
Italia
Ironwood
Janson
Joanna
Juniper
Kabel
Klang
Korinna
Kuenstler Script
Kaufmann
Lubalin Graph
Lucida
Life
Letter Gothic
Latin
Lino
Lithos
Mittelshrift
Lutetia
Leawood
Monospace
Monoline Script
Meridien
Mercurius Script
Marigold
Machine
Medici
Melior
Minion
Modern
Memphis
Mesquite
Madrone
Mistral
Minister
Malvern
Maximus
New Aster
New Baskerville
New Century Schoolbook
New Caledonia
Nofret
News Gothic
Nimrod
Neographik
Nimbus
New Clarendon
News Plantin
New Berolina
Times New Roman
Nuptial
Novarese
Neuzeit S
Old Style 7
OCR-A
OCR-B
Concorde
Old English
Omnia
Corona
Optima
Orator
Old Style
Coronet
Octavian
Onyx
Olympian
Poplar
Palace Script
Pepita
Park Avenue
Placard
Prestige Elite
Peignot
Photina
Palatino
Plantin
Ponderosa
Perpetua
Post Antiqua
Parisian
Present
Poppl Pontifex
Poliphilus
Quorum
Raleigh
Rotis
Reporter
Russell Square
Carta
Runic
Revue
Rockwell
Ryumin
San Marco
Scotch Roman
Script
Sabon
Slimbach
Serifa
Serif Gothic
Shannon
Stencil
Spectrum
Spartan
Sonata
Serpentine
Snell Roundhand
Stempel Schneidler
Stone
Souvenir
Swing
Syntax
Symbol
Berthold Bodoni
Times Europa
Tiffany
Trade Gothic
Tech Phonetic
Trajan
Tektok
Castellar
Times
Tempo
Trump Mediaeval
Twentieth Century
Typewriter
Bauer Bodoni
Benguiat Gothic
Cushing
Universal
Umbra
Univers
Centaur
Utopia
Usherwood
University
Activa
Vectora
Van Dijck
Veljovic
Versailles
VAG Rounded
Walbaum
Weidemann
WilhelmKlingsporGotisch
Wingdings
Wilke
Wood
Weiss
Willow
Stymie
ZAntiqua
Zapf Chancery
Zapf Dingbats
Neuzeit Grotesk
Zeitgeist
* Menu:
* Aliases::
File: fontname.info, Node: Aliases, Up: Typeface families
Aliases
-------
In the introduction, I alluded to the fact that the same typeface
design is often (in fact, usually) offered under different names by
different vendors. This is because typeface *names* can be protected
in many countries, including the United States, via trademarks. But
typeface *designs* can be easily protected in only a few countries.
(Incidentally, who the trademark belongs to doesn't necessarily have
anything to do with who actually did the original design; in the case of
Helvetica, it was the Swiss letterform designer Max Miedinger for, I
believe, the Haas foundry.)
For an excellent article (still mostly up-to-date) on typeface
protection, see `Notes on typeface protection' by Charles Bigelow in
`TUGboat' volume 7, number 3 (October 1986). I have tried to summarize
that article, and events since then, in the `Legal issues' section of
the GNU fontutils manual.
This all leads to massive confusion for a typeface buyer, who knows
what, say, Helvetica (a trademark of Allied Corporation) looks
like--but probably doesn't know, or care, that Monotype's marketing
department called one of their versions of Helvetica `Arial'. Rather
than perpetuate this confusion, I believe it will be better to use the
same name for the same design, in contrast to always using the vendor's
name. (For one thing, this will help in conserving the number of
typeface families, which, given the limited number of letters, is a
desirable goal.)
In order to help users who may only know their vendor's name, and not
the original name, I am maintaining the following table of typeface name
aliases, organized alphabetically by typeface name.
The vendor who perpetrated the alias is given in parentheses, where
known.
Arial
(Monotype) Helvetica
Dutch
(Bitstream) Times
Exotic
(Bitstream) Peignot
Hammersmith
(Bitstream) Gill Sans
ISIL Gothic
Letter Gothic
Newton
Helvetica
Omega
(LaserJet) Optima
Optimum
(DTC) Optima
Palton
(DTC) Palatino
(DTC) Helvetica
Slate
(Bitstream) Rockwell
Sonoran Serif
(IBM) New Times Roman
Sonoran Sans Serif
(IBM) Helvetica
Swiss
(Bitstream) Helvetica
Tramp
Hobo
Zapf Calligraphic
(Bitstream) Palatino
Zapf Elliptical
(Bitstream) Melior
Zapf Humanist
(Bitstream) Optima
Zurich
(Bitstream) Univers
File: fontname.info, Node: Weight, Next: Variant, Prev: Typeface families, Up: Naming scheme
Weight
======
hairline, thin
bold
black
demibold
heavy
extra light
book
light
medium
poster
regular
semibold
ultra
extra bold
In order of lightest to heaviest (more or less):
hairline, extra light, light,
book, regular, medium,
demibold, semibold, bold, extra bold, heavy
black, ultra, poster
File: fontname.info, Node: Variant, Next: Width, Prev: Weight, Up: Naming scheme
Variant
=======
Unfortunately, "variants" include scripts (Greek, Cyrillic) and font
encodings (Adobe standard, alternate, expert), as well as true typeface
variations (italic, typewriter).
Mittelbach in TUGboat 13(1) suggests that `typewriter' and `sans'
should be identified as part of the typeface name, because there are few
typeface families with these variants. I feel the typeface namespace is
already too cluttered, and that logically they are variants.
Adobe standard encoding
semi sans
encoding with changed characters only, e.g., Adobe's `Dfr'
fractions
fax
phonetic (IPA)
semi serif
*escape*, see below
oldstyle digits
Adobe alternate encoding, alternate characters only
bright
small caps
display, titling, caption
engraved, copperplate
Fraktur, gothic, blackletter
grooved (as in the IBM logo)
shadow
text italic, kursiv
invisible
Greek
outline, open face
math italic
informal
oblique (i.e., slanted)
ornament
TeX extended (Cork, DC) encoding
normal (roman or sans)
sans serif
typewriter
unslanted italic
math extension
script, handwritten, swash
Adobe expert encoding
symbol
Cyrillic
If the variant is `r', and the width is also normal, both the variant
and the width are omitted. When the normal version of the typeface is
sans serif (e.g., Helvetica), `r' should be used, not `s'. Use `s'
only when the typeface family has both serif and sans serif variants.
The variant `8' is marked "escape": this means the next character is
also to be taken as a variant letter (and gives us another 36
characters). Here is the table for the escaped variants:
ISO Latin 1 (8859/1) encoding
ISO Latin 2 (8859/2) encoding
ISO Latin 5 (8859/5) encoding
Macintosh standard encoding
Windows ANSI encoding (from Appendix C of the Adobe PDF manual and
the back of the Windows manual)
File: fontname.info, Node: Width, Next: Naming virtual fonts, Prev: Variant, Up: Naming scheme
Width
=====
condensed (by hand)
expanded (automatic)
narrow (automatic)
ultra condensed
compressed
extra compressed, extra condensed
regular, normal, medium (usually omitted)
thin
ultra compressed
wide
extended (by hand)
In order of narrowest to widest (more or less):
ultra compressed, extra condensed, compressed, condensed, narrow
regular, extended, expanded, wide
Expansion or compression of fonts is sometimes done automatically (as
by the PostScript `scale' operator), and sometimes done by humans. I
chose `narrow' and `expanded' to imply the former, and `condensed' and
`extended' to imply the latter, as I believe this reflects the most
common usage. (Of course there is no general consensus.)
File: fontname.info, Node: Naming virtual fonts, Prev: Width, Up: Naming scheme
Naming virtual fonts
====================
In concert with releasing TeX version 3.0 and Metafont version 2.7,
Don Knuth wrote two new utility programs: VFtoVP and VPtoVF, which
convert to and from "virtual" fonts. Virtual fonts provide a general
interface between the writers of TeX macros and font suppliers. In
general, therefore, it is impossible to come up with a general scheme
for naming virtual fonts, since each virtual font is an individual
creation, possibly bringing together many unrelated fonts.
Nevertheless, one common case is to use virtual fonts to map plain
TeX's accent and other character code conventions onto a
vendor-supplied font. For example, the DVI-to-PostScript translator
Dvips (written by Tom Rokicki) does this for fonts given in the
PostScript "standard encoding". In this case, each font consists of a
"virtual" tfm file, which is what TeX uses, a "raw" tfm file, which
corresponds to the actual device font, and a vf file, which describes
the relationship between the two.
This adds another dimension to the font namespace, namely,
"virtualness" (or rather, "rawness", since it is the virtual tfm files
that the users want to see, and thus the one that should have the
"normal" name, as given by the tables above). But we have already used
up all eight characters in the font names (more, in fact).
The first solution, adopted in dvips, was this: prepend `r' to the
raw tfm files; the virtual tfm files should be named with the usual
source prefix. For example, Adobe's virtual Times Roman tfm file is
named `ptmr', as usual; the raw Times Roman tfm file is named `rptmr'.
To prevent intolerable confusion, I promise never to give a foundry the
letter `r'.
But now, years after, I think there is a better solution: ignore the
virtual/raw distinction in favor of the font encoding or other
distinguishing characteristics. For example, the raw Times Roman font,
using Adobe's encoding, could be named `ptmr0'; the virtual font, with
the ersatz CM encoding, would be just `ptmr'.
File: fontname.info, Node: Examples, Next: Long names, Prev: Naming scheme, Up: Top
Examples
********
This chapter gives two examples. Other examples (including the
entire Adobe font catalog as of early 1991) are available by ftp or
email (*note Introduction::.).
* Menu:
* Univers::
* Standard PostScript fonts::
File: fontname.info, Node: Univers, Next: Standard PostScript fonts, Up: Examples
Univers
=======
The fonts in the Univers typeface family were assigned numbers by its
designer, Adrien Frutiger. (You can see the scheme on, for example,
page 29 of `The Art of Typo.icon.ography', by Martin Solomon.)
The names given here have to be prefixed with a source letter to
actually be usable. Since my purpose here was just to demonstrate the
correspondence between typeface variations and the naming scheme, I left
the source out.
45 (light)
`unl'
46 (light italic)
`unli'
47 (light condensed)
`unlrc'
48 (light condensed italic)
`unlic'
49 (light extra condensed)
`unlro'
53 (medium extended)
`unmrx'
55 (medium)
`unm'
56 (medium italic)
`unmi'
57 (medium condensed)
`unmrc'
58 (medium condensed italic)
`unmic'
59 (medium extra condensed)
`unmro'
63 (demibold extended)
`undrx'
65 (demibold)
`und'
66 (demibold italic)
`undi'
67 (demibold condensed)
`undrc'
68 (demibold condensed italic)
`undic'
73 (bold extended)
`unbrx'
75 (bold)
`unb'
76 (bold italic)
`unbi'
83 (extra bold extended)
`unxrx'
File: fontname.info, Node: Standard PostScript fonts, Prev: Univers, Up: Examples
Standard PostScript fonts
=========================
Here are names for the 35 standard PostScript fonts:
`AvantGarde-Book'
`pagk'
`AvantGarde-BookOblique'
`pagko'
`AvantGarde-Demi'
`pagd'
`AvantGarde-DemiOblique'
`pagdo'
`Bookman-Demi'
`pbkd'
`Bookman-DemiItalic'
`pbkdi'
`Bookman-Light'
`pbkl'
`Bookman-LightItalic'
`pbkli'
`Courier-Bold'
`pcrb'
`Courier-BoldOblique'
`pcrbo'
`Courier'
`pcrr'
`Courier-Oblique'
`pcrro'
`Helvetica-Bold'
`phvb'
`Helvetica-BoldOblique'
`phvbo'
`Helvetica-NarrowBold'
`phvbrn'
`Helvetica-NarrowBoldOblique'
`phvbon'
`Helvetica'
`phvr'
`Helvetica-Oblique'
`phvro'
`Helvetica-Narrow'
`phvrrn'
`Helvetica-NarrowOblique'
`phvron'
`NewCenturySchlbk-Bold'
`pncb'
`NewCenturySchlbk-BoldItalic'
`pncbi'
`NewCenturySchlbk-Italic'
`pncri'
`NewCenturySchlbk-Roman'
`pncr'
`Palatino-Bold'
`pplb'
`Palatino-BoldItalic'
`pplbi'
`Palatino-Italic'
`pplri'
`Palatino-Roman'
`pplr'
`Symbol'
`psyr'
`Times-Bold'
`ptmb'
`Times-BoldItalic'
`ptmbi'
`Times-Italic'
`ptmri'
`Times-Roman'
`ptmr'
`ZapfChancery-MediumItalic'
`pzcmi'
`ZapfDingbats'
`pzdr'
File: fontname.info, Node: Long names, Prev: Examples, Up: Top
Long names
**********
As pointed out earlier, eight characters is not enough to
unambiguously represent all fonts. To do that, we have to allow
ourselves very long filenames. Right now, such a scheme could only be
implemented on a few kinds of systems. But with a simple change to
TeX, it could be used on all systems.
* Menu:
* Name mapping file:: Aliases for fonts.
* Long naming scheme:: A way to use more than 8 alphanumerics.
File: fontname.info, Node: Name mapping file, Next: Long naming scheme, Up: Long names
A fontname mapping file
=======================
At the moment, most implementations of TeX look up a TFM file (as
part of the `\font' command), by searching for a file with the name
given by the user (possibly in any of series of directories). But if it
looks the name up first in *another* file, which specifies the actual
filename, the fontname given in the TeX source could be almost anything
at all, of any length.
In version 5.851d of Web2C, I implemented this mapping file. It has
an straightforward format: each line specifies the filename and the TeX
name for one font, separated by whitespace. Extra information on the
line is ignored; then more information could be specified for the
benefit of DVI-reading programs in the same file. Comments start with
`%' and continue to the end of the line, as usual.
Besides allowing long names, the mapping file could have additional
advantages. The TeX source files could become more nearly
system-independent, because the same font names could work on every
system. Also, when combined with a consistent naming scheme, macros
could be written to access any of a number of fonts. Right now, each
font family has to have specialized macros written to deal with it.
Incidentally, Professor Knuth has approved this change as a legitimate
"system-dependent" adaptation; a TeX with such a feature can still be
called "TeX".
File: fontname.info, Node: Long naming scheme, Prev: Name mapping file, Up: Long names
A naming scheme for long names
==============================
Once we allow ourselves long names, we can construct a naming scheme
to handle arbitrary fonts without much difficulty. Here is one
proposal:
SOURCE-FAMILY-WEIGHT-VARIANTS-
WIDTH-ENCODING--SIZE
The SOURCE is the usual `Adobe' or AUTOLOGIC or whatever, as well as
`unknown', `pd', or `weird'--this last meaning the rest of the name is
nonstandard. If the SOURCE is missing, i.e., the name starts with a
`-', "public domain" is assumed. For fonts made by individuals, the
initials of the designer are probably a good SOURCE.
The FAMILY is `ComputerModern' or `Times' or whatever.
Everything else is optional. The `--' before the SIZE lets one
specify a name with, say, a weight and variants, but then skip the
WIDTH and ENCODING, but still be able to give a size.
The WEIGHT and WIDTH are as described earlier.
If there is more than one variant, they are separated with some
character other than `-', say `=':
BigelowHolmes-Lucida-Bold-Sans=Typewriter--10
The ENCODING is what Metafont calls the `font_coding_scheme'--the
layout of the characters in the font. For example, `TeXExtended' or
`ISOLatin1' or `AdobeAlternate'. Perhaps this should be mandatory, as
a font is useless if you do not know its encoding.
Names are case-sensitive, for consistency with the rest of TeX and
with PostScript, etc. Spaces cannot be used in the name, to make it
easier for TeX to parse. Likewise, characters with default category
codes other than letter or other should not be used.
Another possibility is to forget all the above, and simply use the
vendor's name (perhaps prefixed by the vendor): `Adobe-Times-Roman',
Tag Table:
Node: Top
Node: Introduction
Node: Naming scheme
Node: Sources
Node: Typeface families
10674
Node: Aliases
17148
Node: Weight
19584
Node: Variant
20141
Node: Width
22430
Node: Naming virtual fonts
23364
Node: Examples
25484
Node: Univers
25812
Node: Standard PostScript fonts
27038
Node: Long names
28400
Node: Name mapping file
28911
Node: Long naming scheme
30393
End Tag Table