diff options
Diffstat (limited to 'Master/texmf-dist/doc/fontname/fontname.texi')
-rw-r--r-- | Master/texmf-dist/doc/fontname/fontname.texi | 1344 |
1 files changed, 1344 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fontname/fontname.texi b/Master/texmf-dist/doc/fontname/fontname.texi new file mode 100644 index 00000000000..ec8a17036c9 --- /dev/null +++ b/Master/texmf-dist/doc/fontname/fontname.texi @@ -0,0 +1,1344 @@ +\input texinfo +@c This file is in the public domain and may be used freely. +@c +@c @texinfofile{ +@c author = "Karl Berry", +@c date = "10sep05", +@c filename = "fontname.texi", +@c email = "tex-fonts@@math.utah.edu", +@c url = "http://tug.org/fontname/", +@c docstring = "A naming scheme for font files intended to be usable +@c with all systems on which TeX runs." +@c } +@setfilename fontname.info +@settitle Filenames for @TeX{} fonts + +@copying +This document is in the public domain and may be used freely. +@end copying + +@c Define a new index for filenames, and use the concept index for everything. +@defcodeindex fl +@syncodeindex fl cp +@syncodeindex fn cp + +@dircategory TeX +@direntry +* Naming TeX fonts: (fontname). Filenames for TeX fonts. +@end direntry + + +@titlepage +@title Fontname +@subtitle September 2005 +@subtitle Filenames for @TeX{} fonts +@author K. Berry +@end titlepage + +@contents + +@ifnottex +@node Top +@top Filenames for @TeX{} fonts + +This is Fontname, a naming scheme for (the base part of) external @TeX{} +font filenames. Last update 10 September 2005. + +@menu +* Introduction:: Rationale and basic information about fonts. +* Filenames for fonts:: The construction of font names. +* Long names:: A specification for long filenames. +* Font name lists:: Real fontnames for many existing fonts. +* Encodings:: Specifications for various encodings. +* Font legalities:: Legal issues vary from country to country. +* General index:: Index. + +@detailmenu + --- The Detailed Node Listing --- + +Introduction + +* History:: +* References:: + +Filenames for fonts + +* Suppliers:: +* Typefaces:: +* Weights:: +* Variants:: +* Widths:: + +Long names + +* Name mapping file:: Aliases for fonts. +* Long naming scheme:: A way to use more than 8 alphanumerics. + +Font name lists + +* Standard PostScript fonts:: The standard 35 PostScript fonts. +* Adobe fonts:: +* Apple fonts:: +* Bitstream fonts:: +* DTC fonts:: +* ITC fonts:: +* Linotype fonts:: +* Monotype fonts:: +* URW fonts:: + +Encodings + +* 8a:: Adobe standard. +* 8r:: TeX base. +* cork:: Cork (aka EC, TeX Latin 1, tex256). +* dvips:: Dvips. +* qx:: QX, from GUST. +* t5:: Vietnamese, from vntex. +* texmext:: TeX math extension. +* texmsym:: TeX math symbol. +* texmital:: TeX math italic. +* texnansi:: From Y&Y. +* texnansx:: From Y&Y. +* xl2:: OT1 + ISO Latin 2 (extended). +* xt2:: Typewriter version of xl2. + +@end detailmenu +@end menu + +@end ifnottex + + +@node Introduction +@chapter Introduction + +@cindex introduction + +This is Fontname, a naming scheme for (the base part of) external @TeX{} +font filenames. This makes at most eight-character names from (almost) +arbitrarily complex font names, thus helping portability of @TeX{} +documents. We point out some shortcomings of the scheme, and ways of +dealing with them. + +@cindex bugs, reporting +@cindex reporting bugs +@flindex tex-fonts@@tug.org +Please send additions, corrections, or other comments to +@email{tex-fonts@@tug.org}. Email +@email{tex-fonts-request@@tug.org} to join the list. + +@cindex distribution +@cindex encoding files +@cindex mapping files +@cindex utilities +Besides this document, the Fontname distribution includes various +encoding files, mapping files, and utilities. See the file +@file{README} for details. You can retrieve the most up-to-date +version of these lists from @uref{http://tug.org/fontname}. It is +also mirrored on all CTAN hosts in the directory +@file{tex-archive/doc/fontname}. For a list of CTAN mirrors, see +@uref{http://www.ctan.org/tex-archive/CTAN.sites}. + +This document is in the public domain and may be used freely. + +@menu +* History:: +* References:: +@end menu + + +@node History +@section History + +@cindex history + +@cindex Mittelbach, Frank +@cindex Schoepf, Rainer +The original inspiration for Fontname was Frank Mittelbach and Rainer +Schoepf's article in @cite{TUGboat} 11(2) (June 1990), which led to my +article in @cite{TUGboat} 11(4) (November 1990), pages 512--519. +Mittelbach wrote another article criticizing the scheme below in +@cite{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. +Others of his points are addressed in the appropriate sections below. + +@cindex Fontname version 2 +In August 1995, Fontname version 2 was released, concomitantly with a new +release of the PostScript fonts for use with La@TeX{} and Dvips. After +several years of experience, several modifications of the original +distribution seemed desirable: more precise specification of encodings +(@pxref{Variants}); machine-readable mapping files (the @file{*.map} +files in the distribution) and standardizing directory names as well as +font filenames (included in @file{supplier.map} and +@file{typeface.map}). + +In Fontname version 1, some encoding variant characters (@samp{0}, +@samp{2}, etc.) have been reassigned to a @samp{7} or @samp{8} sequence +(@pxref{Variants}). Although this is an incompatible change, the +advantages of (1) consistency in naming encoding variants, and (2) +having some free variants makes it worthwhile. Also, not so +coincidentally, new metrics for PostScript fonts in the Cork encoding +were issued---same encoding, different metrics. So a new name served a +practical purpose as well. + +@cindex contributors +@cindex Beebe, Nelson +@cindex Beeton, Barbara +@cindex Bernstein, Rocky +@cindex Bouche, Thierry +@cindex Cugley, Damian +@cindex Horn, Berthol +@cindex Jeffrey, Alan +@cindex Lang, Russell +@cindex MacKay, Pierre +@cindex Rahtz, Sebastian +@cindex Rivlin, Jean +@cindex Rokicki, Tom +Many people have contributed to this work. In particular, I gratefully +acknowledge Nelson Beebe, Barbara Beeton, Rocky Bernstein, Thierry Bouche, +Damian Cugley, Berthold K.P. Horn, Alan Jeffrey, Russell Lang, Pierre +MacKay, Sebastian Rahtz, Jean Rivlin, and Tom Rokicki. + + +@node References +@section References + +@cindex references +@cindex related files + +Related files and distributions: + +@itemize @bullet +@item +@cindex @TeX{} Directory Structure standard +@cindex TDS standard +The @TeX{} Directory Structure (TDS) standard, available at +(@uref{ftp://tug.org/tex/tds} and @file{@var{CTAN:}/tds}) +specifies a directory tree for all @TeX{} library files. The directory +names given in @ref{Suppliers} and @ref{Typefaces} are intended to mesh +with that standard. + +@item +@flindex modes.mf +The @file{modes.mf} file (@uref{ftp://tug.org/tex/modes.mf}) +contains recommended mode names to use as directory names. + +@item +@cindex PSfonts distribution +The PSfonts distribution (@file{@var{CTAN:}/fonts/psfonts}) contains +@TeX{} support for many fonts, both commercially available and free. + +@item +@cindex Fontinst distribution +The Fontinst distribution (@file{@var{CTAN:}/fonts/utilities/psfonts}) +supports quite general creation of virtual fonts, named according to the +scheme given here. + +@item +@cindex Dvips translator +The Dvips translator (original at +@uref{ftp://labrea.stanford.edu/pub/dvips*.tar.gz} and variation at +@uref{ftp://tug.org/tex/dvipsk.tar.gz}) supports resident and +downloadable PostScript fonts. Dvips was the first real application of +Fontname 1. Dvips also includes Afm2tfm, another program that can +create virtual fonts. + +@item +@cindex Dviljk translator +The Dviljk processor (@uref{ftp://tug.org/tex/dviljk.tar.gz}) +contains @TeX{} support for the fonts built into the LaserJet 4. + +@item +@cindex terminology +@cindex Southall, Richard +`Designing New Typefaces with Metafont', by Richard Southall, +Stanford Computer Science Department Technical Report STAN-CS-85-1074, +September 1985, for a comprehensive terminology of font design. + +@end itemize + + +@node Filenames for fonts +@chapter Filenames for fonts + +@cindex limitations +@cindex eight-character limitation +@cindex DOS filesystems +@cindex ISO 9660 +@cindex CD-ROM distribution +We must limit ourselves to eight character names, for compatibility with +DOS filesystems and the ISO 9660 standard used for CD-ROM distribution. +Names may consist of only the letters (monocase a-z), numerals (0-9), +and underscore. + +@cindex filenames, basics +Here is the basic division of the eight characters (the spaces here are +merely for readability): + +@example + @var{S} @var{TT} @var{W} [@var{V@dots{}}] [@var{N}] [@var{E}] [@var{DD}] +@end example + +@noindent where + +@table @var +@item S +represents the supplier of the font. + +@item TT +represents the typeface name. + +@item W +represents the weight. + +@item V@dots{} +represents the variant(s), and is omitted if both it and the width are +normal. Many fonts have more than one variant. + +@item N +represents the encoding, and is omitted if the encoding is nonstandard. +Encodings are subsumed in the section on variants (@pxref{Variants}). + +@item E +represents the width (``expansion''), and is omitted if +it is normal. + +@item DD +@cindex design size specification +@cindex hexadecimal design size +@cindex font scaling +@cindex Mittelbach, Frank +represents the design size (in decimal), and is omitted if the font is +linearly scaled. Mittelbach in @cite{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., 10@dmn{pt} +fonts would have a suffix @samp{a} (in hex), or @samp{j} (in base 36)). + +@end table + +The weight, variants, and width are probably all best taken from the +original name of the font, instead of trying to relate them to some +external standard. + +@menu +* Suppliers:: +* Typefaces:: +* Weights:: +* Variants:: +* Widths:: +@end menu + + +@node Suppliers +@section Suppliers + +@cindex suppliers +@cindex foundries +@cindex type foundries + +The @dfn{supplier} is the source of a font, typically a (digital) type +foundry. + +@cindex Avant Garde +@cindex Lubalin, Herb +You should use the supplier letter which matches the supplier you +obtained the font from, not 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 @samp{p}. +This is because font resellers typically make modifications to the +original design. + +Notes on specific suppliers: + +@table @samp +@item f +@cindex individual font designers +@cindex small foundries +@cindex attribution of fonts, missing +@cindex unattributed fonts +For fonts that are distributed without any specific attribution to the +creator, by individuals, or by small foundries. (Unfortunately, we +don't have enough characters to assign one to every font +supplier in the world.) + +@item r +@cindex raw fonts +obsolete; specifies raw fonts, in the old distribution of Dvips. New +fonts should never use @samp{r}. (The right thing to do is specify the +correct encoding, variant, or whatever the font's characteristics +actually are.) + +@item z +@cindex bizarre font names +@cindex nonstandard names, escape for +@cindex escape for nonstandard names +for fonts that just don't fit well into the naming scheme. The @samp{z} +should be followed by the real supplier letter. +@end table + +@flindex supplier.map +Here is the table from the file @file{supplier.map}. It is organized +alphabetically by abbreviation. Each line consists of an abbreviation, +directory name, and comment. + +@example +@include supplier.map +@end example + + +@node Typefaces +@section Typefaces + +@cindex typefaces + +For our purposes, a @dfn{typeface} is a collection of related fonts. + +We sometimes use the same typeface abbreviation for fonts with different +supplier names, where we know (usually by inspection) that the fonts +truly are the same. This helps conserve abbreviations. + +Notes on specific typefaces: + +@table @samp +@item ad +@itemx gm +@cindex Garamond, versions of +To explain a common confusion: @samp{ad} is Adobe Garamond (with a +@samp{FontName} of @samp{AGaramond}). This is quite different from the +@samp{Garamond} typeface distributed by Adobe, which is actually ITC +Garamond. (Garamond No.@: 3 (@samp{f3}), Simoncini Garamond +(@samp{ig}), and Stempel Garamond (@samp{eg}) are still other +variations on the Garamond theme.) + +@item lh +@itemx ls +@itemx lx +@itemx r1 +These abbreviations for Lucida typeface subfamilies, et al., solve a +problem with names getting too long, or help conserve variant +abbreviations. @xref{Variants}. Ideally, they would not exist. + +@item ns +@itemx nt +@itemx tm +Suppliers offer as many variations on the Times New Roman design as they +do Garamond. Adobe has @samp{Times}, @samp{TimesNewRoman}, and +@samp{TimesNewRomanPS}. Although this last has been used by other +foundries (e.g., Monotype) for a Times variation exactly compatible with +Adobe's @samp{Times}, Adobe itself also offers it, so we must have +abbreviations for all three. + +@item pi +@cindex pi fonts +For pi fonts. Since names of pi fonts are rather arbitrary, it is +not useful to try to assign typeface abbreviations to all of +them. Instead, we use the supplier letter, @samp{pi}, an +arbitarily-assigned three-digit number, a weight and (if necessary) a +variant. For example, @samp{mpi001r}. Pi font @samp{001} for one +supplier has nothing to do with pi font @samp{001} for another. +@end table + +@flindex typeface.map +@findex FontName +Here is the table, from the file @file{typeface.map}. It is organized +alphabetically by abbreviation. Each line consists of an abbreviation +and directory name, possibly followed by PostScript @samp{FontName}s +and/or a comment in roman. The @samp{FontName} may be preceded by a +letter @var{s} and a @samp{:}, as in @samp{b:Dutch}. In that case, the +@var{s} is a supplier abbreviation, and we've used that abbreviation for +the given @samp{FontName} from that supplier. + +@example +@iftex +@ifclear html +@global@hfuzz@maxdimen +@end ifclear +@end iftex +@include typeface.map +@end example +@iftex +@ifclear html +@global@hfuzz1pt +@end ifclear +@end iftex + + +@node Weights +@section Weights + +@cindex weight + +The @dfn{weight} of a font specifies its boldness. Arranged from +lightest to heaviest (more or less): + +@display +hairline, extra light, light +book, regular, medium +demibold, semibold, bold, extra bold, heavy +black, ultra, poster +@end display + +@flindex weight.map +Here is the table, from the file @file{weight.map}. It is organized +alphabetically by abbreviation. Each line consists of an abbreviation +and any parts of a PostScript @samp{FontName} which use that +abbreviation. + +@example +@include weight.map +@end example + + +@node Variants +@section Variants + +@cindex variants + +@dfn{Variants} include typeface variations (e.g., italic, sans serif), +and font encodings (e.g., Adobe standard, @TeX{} text). + +@cindex multiple variants +A fontname may require multiple variants. To resolve the worst +ambiguities, we specify that any encoding variant (@samp{7}, @samp{8}, +or @samp{9}, see below) come last and any other numeral variant come +first (to avoid confusion with a design size). We recommend but do not +require that the other variants be given in alphabetical order. (It's +not required because it's too painful to implement the sorting in +@TeX{}, and many existing names already have non-alphabetized variants.) + +@cindex letterspacing +@cindex small caps fonts +The letterspacing possibilities introduced by @code{fontinst} and +virtual fonts have not yet become sufficiently widespread to make +standardization beneficial. Likewise for the many possible ways to +generate small caps fonts. + +Notes on specific variants, both old and new: + +@table @samp +@item 1 +@itemx 4 +@itemx 6 +@itemx b +@cindex semisans variant +@cindex semiserif variant +@cindex fax variant +@cindex bright variant +These variants (`semisans', `bright', `semiserif', and `fax') were used +only for single typefaces, so to conserve variant abbreviations, they +now have typeface abbreviations instead. Also, for @samp{b}, to avoid +too-long names; and for the others, to avoid variant vs.@: design-size +ambiguities. + +@item g +@itemx h +Since these variants were not actually used in any font names, they are +now obsolete and may be reassigned in the future. + +@item 5 +@itemx 6 +@itemx 7 +@itemx 8 +@itemx 9 +@cindex phonetic encodings +@cindex Cyrillic encodings +@cindex 7-bit encodings +@cindex 8-bit encodings +@cindex expertised encodings +@findex SuperFont +@findex 9s @r{variant} +These characters begin a two-character @dfn{encoding variant}. +Generally, @samp{7} is for 7-bit encodings, @samp{8} is for 8-bit +encodings, and @samp{9} is for expertised encodings with or without +oldstyle digits (see the @samp{x} item below), but this is not an +absolute rule. Also, @samp{5} is presently used for phonetic encodings +and @samp{6} for Cyrillic encodings. The @samp{9s} (@samp{SuperFont}) +variant contain all of Adobe, Latin 1, and Expert glyphs, perhaps with +slightly different metrics than the original fonts. + +@cindex ligatures and encodings +@findex Lslash +@findex lslash +@flindex T1.etx +For a font to be named with a certain encoding variant, it's not +necessary that all the characters appear in precisely the same positions +as in the encoding definition. It's enough that the usual @TeX{} macros +work. In practice, this means that it's ok for a font to be labelled +@samp{7t} if the only difference from Computer Modern is that the +ligatures and the @samp{lslash} and @samp{Lslash} characters are +different, since it's impossible to access or change the ligature table +from @TeX{}. Standard PostScript fonts don't have an @samp{lslash} +character the way Computer Modern does, but they do have the +@samp{Lslash} and @samp{lslash} characters themselves, so the usual +@TeX{} @code{\lslash} and @code{\Lslash} macros can be made to work via +ligatures. See the file @file{T1.etx} file in the @code{fontinst} +distribution for details. + +@cindex encodings, unspecified +@cindex Afm2tfm encoding +@cindex LaserJet 4 fonts +If a name does not contain a specific encoding variant, its encoding is +unspecified. For example, some of the fonts distributed with Dvips(k) +have names like @samp{ptmr} for @samp{Times-Roman}; they use the Dvips +encoding (@pxref{dvips}), which is close to (but not the same +as) the @TeX{} text encoding (as in Computer Modern Roman). Similarly, +the TFM files distributed with Dvilj(k) for the builtin LaserJet 4 fonts +have names like @samp{cunm}, since these fonts, while compatible with +@TeX{} text, contain many additional characters. + +@item 9 +These items are needed only because @samp{x} (and possibly @samp{j}) +followed by a two-character regular variant makes some names too long. +That is, @samp{9t} is equivalent in meaning to @samp{x7t}, and @samp{9d} +is equivalent to @samp{jx7t}. (This may not be true for all +@samp{9@var{x}} encodings, though.) + +@item k +@itemx z +@cindex scripts +@cindex Greek fonts +@cindex Cyrillic fonts +These variants (indicating Greek and Cyrillic fonts, respectively) are +obsolete; future fonts in different scripts should be assigned an +appropriate encoding abbreviation. These are not currently +standardized, due to ignorance of the appropriate encodings. Please +send suggestions for abbreviations to the address in @ref{Introduction}. + +@item m +@itemx v +@itemx y +@cindex math variants +These math-related variants remain for the sake of typeface-specific +math encodings, e.g., Lucida. Fonts that use the Computer Modern math +encodings should use @samp{7m} (@pxref{texmital}), @samp{7v} +(@pxref{texmext}), and @samp{7y} (@pxref{texmsym}). + +@item n +@cindex informal variant +@cindex schoolbook variant +@cindex Stone Informal +This is used for several different (but very rare) variants: only the +Stone typeface has an ``informal'' variant, and only a few Monotype +fonts have a ``schoolbook'' variant, with different `a', `g', and `y' +shapes. + +@item r +Included only if no other variants, including encodings, apply, and +either the width (@pxref{Widths}) is not @samp{r} or a design size is +present. I.e., @samp{r} is only used as a placeholder. When the normal +version of the typeface is sans serif (e.g., Helvetica), @samp{r} should +be used when necessary, not @samp{s}. Use @samp{s} only when the +typeface family has both serif and sans serif variants. + +@item s +@itemx t +@cindex typewriter variant +@cindex sans variant +@cindex Mittelbach, Frank +Mittelbach in @cite{TUGboat} 13(1) suggests that these variants (for +`sans' and `typewriter') should be identified as part of the typeface +name, because there are few typeface families with these variants. I +feel that since they are logically variants, it's best to name them that +way. But @samp{LucidaSans} (@pxref{Typefaces}) and a few others are +exceptions, to avoid too-long names. + +@item x +@itemx 8x +@itemx 9? +@cindex expert encoding +@cindex expertised font +@samp{8x} indicates a font in the @samp{Expert} encoding itself. +@samp{x} indicates an @dfn{expertised} font, i.e., a composite (virtual) +font that includes characters from an @samp{8x} font. And in fact an +@samp{x@var{ee}} sequence is replaced by @samp{9@var{e}}, to save +characters. +@end table + +@flindex variant.map +Fontname 1 assignments are shown in brackets in the following table, +from the file @file{variant.map}. It is organized alphabetically by +abbreviation. Each line consists of an abbreviation and either any +parts of a PostScript @samp{FontName} which use that abbreviation or the +PostScript @samp{Encoding} name. + +@example +@include variant.map +@end example + + +@node Widths +@section Widths + +@cindex widths +@cindex compression +@cindex expansion + +The @dfn{width} of a font specifies the compression or expansion of the +font. Arranged from narrowest to widest (more or less): + +@display +ultra compressed, extra condensed, compressed, condensed, narrow +regular +extended, expanded, wide +@end display + +@cindex automatic expansion +@cindex character scaling, automatic +Expansion or compression of fonts is sometimes done automatically (as by +the PostScript @code{scale} operator), and sometimes done by humans. In +the latter case, the human will also presumably choose a font name which +includes `Extended' or `Expanded' or `Condensed' or `Narrow' or whatever +according to their own preferences; the abbreviation can follow along. +When creating a new synthetically expanded or compressed font for use +with @TeX{}, e.g., with Afm2tfm or @code{fontinst}, use @samp{n} and +@samp{e}. + +@flindex width.map +Here is the table, from the file @file{width.map}. It is organized +alphabetically by abbreviation. Each line consists of an abbreviation +and any parts of a PostScript @samp{FontName} which use that +abbreviation. + +@example +@include width.map +@end example + + +@node Long names +@chapter Long names + +@cindex long names + +Eight characters is not enough to unambiguously represent all fonts. To +do that, we have to allow ourselves arbitrarily long names. Although we +certainly cannot use such names for the files themselves, we could still +use them in @TeX{} documents given a simple mapping file, as discussed +below. + +@menu +* Name mapping file:: Aliases for fonts. +* Long naming scheme:: A way to use more than 8 alphanumerics. +@end menu + + +@node Name mapping file +@section A fontname mapping file + +@cindex fontname mapping file +@cindex mapping file + +At the moment, most implementations of @TeX{} look up a TFM file (as +part of the @code{\font} command), by searching for a file with the name +given by the user (possibly in any of series of directories). But if we +also looked TFM names up in @emph{another} file (or set of files), which +specifies the actual filename, the fontname given in the @TeX{} source +file could be almost anything at all, of any length. + +@flindex texfonts.map +In version 5.851d of Web2c, I implemented this mapping file. Each file +@file{texfonts.map} in a search path is read for abbreviations. The file +has a 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 +@code{%} and continue to the end of the line. + +Besides allowing long names, this sort of mapping file has other +benefits. @TeX{} source or DVI files can be more easily transported, +because the font names in a particular file can be made 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. + +@cindex Knuth, Donald E. +Incidentally, Professor Knuth has approved this as a legitimate +``system-dependent'' extension; a @TeX{} with such a feature can still +be called ``@TeX{}''. + + +@node Long naming scheme +@section A naming scheme for long names + +@cindex long naming scheme + +@cindex X Window System font names +Once we allow ourselves long names, we can construct a naming scheme +to handle arbitrary fonts without much difficulty. Here is one +proposal, based on the X Window System font naming conventions. + +@example +@var{supplier}-@var{family}-@var{weight}-@var{variants}-@var{width}-@var{encoding}--@var{size} +@end example + +@var{supplier} is the usual @code{Adobe}, @code{Autologic}, etc., as +well as @code{unknown} or @code{bizarre}---this last meaning the rest of +the name is nonstandard. If the @var{supplier} is missing, i.e., the +name starts with a @code{-}, ``public domain'' is assumed. For fonts +made by individuals, the initials of the designer would probably make a +good @var{supplier}. + +@var{family} is @code{ComputerModern} or @code{Times} or whatever. + +Everything else is optional. The @code{--} before the @var{size} lets +one specify a name with, say, a weight and variants, but then skip the +@var{width} and @var{encoding}, but still be able to +give a size. + +@var{weight} and @var{width} are as described earlier. + +If there is more than one variant, they are separated with some +character other than @samp{-}, say @samp{=}: +@example +B+H-Lucida-Bold-Sans=Typewriter--10 +@end example + +@findex font_coding_scheme +@var{encoding} is what Metafont calls the +@code{font_coding_scheme}---the layout of the characters in the font. +For example, @samp{Cork} or @samp{ISOLatin1} or @samp{AdobeAlternate}. + +@cindex category codes +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 11 (letter) or 12 (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): +@samp{Times-Roman}. + + +@node Font name lists +@appendix Font name lists + +These sections contain a list of fonts from various suppliers together +with the corresponding names. + +@menu +* Standard PostScript fonts:: The standard 35 PostScript fonts. +* Adobe fonts:: +* Apple fonts:: +* Bitstream fonts:: +* DTC fonts:: +* ITC fonts:: +* Linotype fonts:: +* Monotype fonts:: +* URW fonts:: +@end menu + + +@node Standard PostScript fonts +@section Standard PostScript fonts + +@cindex 35 standard PostScript fonts +@cindex standard PostScript fonts +@cindex PostScript fonts, standard + +Abbreviated names for the 35 standard PostScript fonts. An encoding +variant, such as @samp{8a} for the Adobe @samp{StandardEncoding}, is +omitted. + +@table @file +@item pagk + @samp{AvantGarde-Book} +@item pagko + @samp{AvantGarde-BookOblique} +@item pagd + @samp{AvantGarde-Demi} +@item pagdo + @samp{AvantGarde-DemiOblique} +@item pbkd + @samp{Bookman-Demi} +@item pbkdi + @samp{Bookman-DemiItalic} +@item pbkl + @samp{Bookman-Light} +@item pbkli + @samp{Bookman-LightItalic} +@item pcrb + @samp{Courier-Bold} +@item pcrbo + @samp{Courier-BoldOblique} +@item pcrr + @samp{Courier} +@item pcrro + @samp{Courier-Oblique} +@item phvb + @samp{Helvetica-Bold} +@item phvbo + @samp{Helvetica-BoldOblique} +@item phvbrn + @samp{Helvetica-NarrowBold} +@item phvbon + @samp{Helvetica-NarrowBoldOblique} +@item phvr + @samp{Helvetica} +@item phvro + @samp{Helvetica-Oblique} +@item phvrrn + @samp{Helvetica-Narrow} +@item phvron + @samp{Helvetica-NarrowOblique} +@item pncb + @samp{NewCenturySchlbk-Bold} +@item pncbi + @samp{NewCenturySchlbk-BoldItalic} +@item pncri + @samp{NewCenturySchlbk-Italic} +@item pncr + @samp{NewCenturySchlbk-Roman} +@item pplb + @samp{Palatino-Bold} +@item pplbi + @samp{Palatino-BoldItalic} +@item pplri + @samp{Palatino-Italic} +@item pplr + @samp{Palatino-Roman} +@item psyr + @samp{Symbol} +@item ptmb + @samp{Times-Bold} +@item ptmbi + @samp{Times-BoldItalic} +@item ptmri + @samp{Times-Italic} +@item ptmr + @samp{Times-Roman} +@item pzcmi + @samp{ZapfChancery-MediumItalic} +@item pzdr + @samp{ZapfDingbats} +@end table + + +@node Adobe fonts +@section Adobe fonts + +@flindex adobe.map +The @file{adobe.map} file has abbreviations for Adobe fonts. + +@example +@include adobe.map +@end example + + +@node Apple fonts +@section Apple fonts + +@flindex apple.map +The @file{apple.map} file has abbreviations for Apple fonts. + +@example +@include apple.map +@end example + + +@node Bitstream fonts +@section Bitstream fonts + +@flindex bitstrea.map +The @file{bitstrea.map} file has abbreviations for Bitstream fonts. + +@example +@include bitstrea.map +@end example + + +@node DTC fonts +@section DTC fonts + +@flindex dtc.map +The @file{dtc.map} file has abbreviations for DTC (Digital Typeface +Corporation) fonts. + +@example +@include dtc.map +@end example + + +@node ITC fonts +@section ITC fonts + +@flindex itc.map +The @file{itc.map} file has abbreviations for ITC (International +Typeface Corporation) fonts. + +@example +@include itc.map +@end example + + +@node Linotype fonts +@section Linotype fonts + +@flindex linotype.map +The @file{linotype.map} file has abbreviations for Linotype fonts. + +@example +@include linotype.map +@end example + + +@node Monotype fonts +@section Monotype fonts + +@flindex monotype.map +The @file{monotype.map} file has abbreviations for Monotype fonts. + +@example +@iftex +@ifclear html +@global@hfuzz@maxdimen +@end ifclear +@end iftex +@include monotype.map +@iftex +@ifclear html +@global@hfuzz1pt +@end ifclear +@end iftex +@end example + + +@node URW fonts +@section URW fonts + +@cindex URW fonts +@cindex Ertner, Vincent + +Information graciously supplied through URW, via Vincent Ertner: Each +URW font has an assigned font number. The last character describes +the size or purpose of the font, as the design of the font is +optimized accordingly: + +@table @code +@item X000000E +Extreme: 8@dmn{pt} and smaller + +@item X000000T +Text: between 8 and 18@dmn{pt} + +@item X000000D +Display: 18@dmn{pt} and larger + +@item X000000P +Poster: 48@dmn{pt} and larger + +@item X000000M +Monospaced / Typewriter + +@item X000000L +LaserWriter / PostScript / Adobe compatible + +@item X000000I +Intellifont PCL (5) compatible + +@end table +@noindent An @samp{F} identifier is not known. + +@flindex urw.map +The @file{urw.map} file has abbreviations for URW fonts. + +@example +@include urw.map +@end example + + +@node Encodings +@appendix Encodings + +@cindex PostScript encoding vectors +@cindex encoding vectors + +The following sections define various encodings as PostScript encoding +vectors. These files can be installed in the Dvips header directory and +then used in @file{psfonts.map} to change font encodings of downloadable +or builtin fonts (@pxref{psfonts.map,,, dvips, Dvips}). + +You can also specify these @file{.enc} files to Afm2tfm when building a +font (@pxref{Changing font encodings,,, dvips, Dvips}). + +For a discussion of @TeX{} font encodings in general, and defining new +ones for use with @command{fontinst} in particular, see +@uref{http://www.ctan.org/tex-archive/fonts/utilities/fontinst/doc/encspecs}. + +Naming specific characters is a tangled and difficult area. Here are +some links to character tables for Unicode, Adobe, and WGL4, for your +researching pleasure (thanks to Boguslaw Jackowski for the list): + +@itemize @bullet +@item @uref{http://www.unicode.org/Public/UNIDATA/UnicodeData.txt} +@item @uref{http://www.unicode.org/Public/UNIDATA/NamesList.txt} +@item @uref{http://partners.adobe.com/asn/tech/type/corporateuse-old.txt} +@item @uref{http://partners.adobe.com/asn/tech/type/aglfn13.txt} +@item @uref{http://partners.adobe.com/asn/tech/type/unicodegn.jsp} +@item @uref{http://www.microsoft.com/OpenType/otspec/WGL4.htm} +@end itemize + +@menu +* 8a:: Adobe standard. +* 8r:: TeX base. +* cork:: Cork (aka EC, TeX Latin 1, tex256). +* dvips:: Dvips. +* t5:: Vietnamese, from vntex. +* qx:: QX, from GUST. +* texmext:: TeX math extension. +* texmsym:: TeX math symbol. +* texmital:: TeX math italic. +* texnansi:: From Y&Y. +* texnansx:: From Y&Y. +* xl2:: OT1 + ISO Latin 2 (extended). +* xt2:: Typewriter version of xl2. +@end menu + + +@node 8a +@section @samp{8a.enc}: Adobe standard encoding + +@flindex 8a.enc +@cindex Adobe standard encoding +@cindex encodings, Adobe standard + +@verbatiminclude 8a.enc + + +@node 8r +@section @samp{8r.enc}: @TeX{} base encoding + +@flindex 8r.enc +@cindex @TeX{} base encoding +@cindex base encoding, for @TeX{} +@cindex encodings, @TeX{} base +@cindex Windows ANSI +@cindex Lucida Bright + +@verbatiminclude 8r.enc + +@node cork +@section @samp{cork.enc}: Cork encoding + +@flindex cork.enc +@cindex Cork encoding +@cindex EC encoding +@cindex @TeX{} Latin 1 encoding +@cindex encodings, Cork +@cindex encodings, EC +@cindex encodings, @TeX{} Latin 1 + +@verbatiminclude cork.enc + + +@node dvips +@section @samp{dvips.enc}: Dvips encoding + +@flindex dvips.enc +@cindex Dvips encoding +@cindex encoding, Dvips + +@verbatiminclude dvips.enc + + +@node t5 +@section @samp{t5.enc}: T5 encoding + +@flindex t5.enc +@cindex T5 encoding +@cindex Vietnamese encoding +@cindex encoding, T5 + +@verbatiminclude t5.enc + + +@node qx +@section @samp{qx.enc} + +@flindex qx.enc +@cindex encodings, qx +@cindex qx encoding + +From GUST. + +@verbatiminclude qx.txt +@verbatiminclude qx.enc + + +@node texmext +@section @samp{texmext.enc}: @TeX{} math extension encoding + +@flindex texmext.enc +@cindex @TeX{} math extension encoding +@cindex math extension, @TeX{} encoding +@cindex extension, @TeX{} math encoding +@cindex encodings, @TeX{} math symbol + +@verbatiminclude texmext.enc + + +@node texmsym +@section @samp{texmsym.enc}: @TeX{} math symbol encoding + +@flindex texmsym.enc +@cindex @TeX{} math symbol encoding +@cindex math symbol, @TeX{} encoding +@cindex symbol, @TeX{} math encoding +@cindex encodings, @TeX{} math symbol + +@verbatiminclude texmsym.enc + + +@node texmital +@section @samp{texmital.enc}: @TeX{} math italic encoding + +@flindex texmital.enc +@cindex @TeX{} math italic encoding +@cindex math italic, @TeX{} encoding +@cindex italic, @TeX{} math encoding +@cindex encodings, @TeX{} math italic + +@verbatiminclude texmital.enc + + +@node texnansi +@section @samp{texnansi.enc} + +@flindex texnansi.enc +@cindex encodings, texnansi +@cindex texnansi encoding + +From Y&Y. + +@verbatiminclude texnansi.enc + + +@node texnansx +@section @samp{texnansx.enc} + +@flindex texnansx.enc +@cindex encodings, texnansx +@cindex texnansx encoding + +From Y&Y. @samp{texnansi} without repeats. + +@verbatiminclude texnansx.enc + + +@node xl2 +@section @samp{xl2.enc}: OT1 + ISO Latin 2 extended + +@flindex xl2.enc +@cindex ISO Latin 2 extended, @TeX{} encoding + +@verbatiminclude xl2.enc + + +@node xt2 +@section @samp{xt2.enc}: typewriter OT1 + ISO Latin 2 extended + +@flindex xt2.enc +@cindex ISO Latin 2 extended and typewriter, @TeX{} encoding + +@verbatiminclude xt2.enc + + +@node Font legalities +@appendix Font legalities + +@cindex legalisms +@cindex typeface design protection +@cindex copyright on fonts +@cindex font copyrighting +@cindex patenting of fonts + +@cindex Bigelow, Charles +@cindex Holmes, Kris +This section owes a great deal to Charles Bigelow (co-designer with Kris +Holmes of the Lucida typeface family, among others), who has generously +answered our many queries about fonts and the law around the world with +remarkable patience and understanding. (But he is naturally not +responsible for any errors here, much less our opinions.) + +Fonts have always been treated rather strangely under the law, as befits +their rather strange nature: letterforms are indivisibly both +@emph{useful} and @emph{artistic}. In most countries---in all countries +until recently---utility has taken precedence; i.e., it has been legal +to copy fonts without permission or fee. + +In any case, to the best of my knowledge, the situation in those +countries which have adopted any sort of typeface protection is as +follows. This was originally written in the early 1990's; these days, +the situation is probably different, due to widespread adoption of +software patents, among other things, but I lack specific information +to include. + +@table @asis + +@cindex United States, font design protection law +@cindex Lucida, protection of +@cindex Stone, protection of +@item United States +Typeface designs can be patented, but not copyrighted. Only a few +designs have been patented. (Lucida and Stone are the only ones I know +of. I don't know what the grounds were for patenting Stone, but Lucida +had some novel features in its design which make it reasonable to +patent, given the acceptance of the patent system in the first place.) + +Particular programs which instantiate a font can be copyrighted just as +any other computer program can. This is arguably wrong, since font +programs are nothing but a description of the shapes, possibly with some +simple hints, and there's only one basic way to describe the shapes in +any given language. Thus, the creativity lies in making the shape +right, not in making the computer program right, so it would seem that +to be consistent, the copyright laws should protect the design, not the +program---the opposite of the current situation. + +@cindex Germany, font design protection law +@cindex Renner, Paul +@cindex Futura +@item Germany +Typeface designs have been copyrightable as original works of art since +1981. As a result, many (perhaps most) designs have been copyrighted +there. The law is not retroactive, but German courts have upheld the +intellectual property rights of designers of earlier fonts as well: In +one case the heirs of Paul Renner (designer of Futura) won a suit against +the Bauer foundry for arbitrarily discontinuing a portion of their +royalties. + +@cindex England, font design protection law +@cindex Times Roman, protection of +@cindex Morison, Stanley +@item England +A copyright law passed in 1989 covers typeface designs first published +in England (or published in Britain within 30 days of its publication +elsewhere), and it @emph{is} retroactive. It's unclear how far back +the law extends, but Times Roman, designed in the late 1920's and +1930's by Stanley Morison is probably covered. This does not mean GNU +(for example) cannot have a Times Roman; it just means we cannot start +with an English version, as the law does not forbid importing foreign +versions of English typefaces. + +@cindex France, font design protection law +@cindex romain du roi +@cindex Grandjean, Philippe +@item France +The Romain du Roi typeface designed by Philippe Grandjean in 1702 for +the French royal family is protected, and perhaps other such ``royal'' +designs. There is no protection for designs in general. + +@end table + +@cindex Vienna treaty +In 1973 the international Vienna treaty on typeface design protection +was proposed. France ratified it in 1974 or 1975, and Germany in 1981. +The English law might constitute ratification, but this has not been +settled. In any case, since at least four countries have to ratify it +before it takes effect (and even then it takes effect only in those +countries which ratify it), it is still of no consequence for now. + + +@node General index +@unnumbered General index + +@printindex cp + + +@bye |