summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fontname/fontname.texi
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-05-23 00:14:50 +0000
committerKarl Berry <karl@freefriends.org>2009-05-23 00:14:50 +0000
commitac7c62d7555a6cebca926dc51ebc39cb235982db (patch)
tree8411809d969764b8f25e7ad5082c08f3577aee00 /Master/texmf-dist/doc/fontname/fontname.texi
parentaf6a89d1cc9fae03dc3a8dc7b19e324266bf0596 (diff)
use doc subdirs
git-svn-id: svn://tug.org/texlive/trunk@13408 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/fontname/fontname.texi')
-rw-r--r--Master/texmf-dist/doc/fontname/fontname.texi1349
1 files changed, 0 insertions, 1349 deletions
diff --git a/Master/texmf-dist/doc/fontname/fontname.texi b/Master/texmf-dist/doc/fontname/fontname.texi
deleted file mode 100644
index e9592dbcbff..00000000000
--- a/Master/texmf-dist/doc/fontname/fontname.texi
+++ /dev/null
@@ -1,1349 +0,0 @@
-\input texinfo
-@c This file is in the public domain and may be used freely.
-@c
-@c @texinfofile{
-@c author = "Karl Berry",
-@c date = "30oct08",
-@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 October 2008
-@subtitle Filenames for @TeX{} fonts
-@author Karl 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 30 October 2008.
-
-@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.
-* dvips:: Dvips.
-* ec:: EC (aka Cork, TeX Latin 1, tex256).
-* 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{http://tug.org/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 Fontinst distribution
-The Fontinst distribution (@url{http://tug.org/applications/fontinst}
-supports quite general creation of virtual fonts, named according to the
-scheme given here.
-
-@item
-@cindex Dvips translator
-The Dvips translator (@url{http://tug.org/dvips}) supports resident
-and downloadable PostScript fonts. Dvips was the first place where
-Fontname became widely known. Dvips also includes Afm2tfm, another
-program that can create virtual fonts.
-
-@item
-@cindex Dviljk translator
-The Dviljk processor (included in @TeX{} Live) contains @TeX{} support
-for the fonts built into the LaserJet@tie{}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
-
-In this scheme, names may consist of only the letters (monocase a-z),
-numerals (0-9), and underscore. Having two names which differ only in
-case is undesirable, since it results in clashes on common Windows
-filesystems.
-
-@cindex filenames, basics
-Here is the basic scheme (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. In my opinion, the increased range
-does not make 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
-
-We used to try to limit font names to eight characters. This was
-never completely possible, and since DOS filesystems have become rare,
-it's no longer an issue.
-
-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.
-
-@verbatiminclude typeface.map
-
-@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
-semiextended, 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}.
-
-A tutorial on character code issues in general is available at
-@url{http://www.cs.tut.fi/~jkorpela/chars.html}.
-
-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
-* 6w:: CP-1251 (Cyrillic).
-* 8a:: Adobe standard.
-* 8r:: TeX base.
-* dvips:: Dvips.
-* ec:: EC (aka COrk, TeX Latin 1, tex256).
-* groff:: 8g.
-* 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 6w
-@section @samp{6w.enc}: Cyrillic CP-1251
-
-@flindex 62.enc
-@cindex Cyrillic encoding
-@cindex CP-1251 encoding
-@cindex encodings, Cyrillic CP-1251
-
-@verbatiminclude 8a.enc
-
-
-@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 dvips
-@section @samp{dvips.enc}: Dvips encoding
-
-@flindex dvips.enc
-@cindex Dvips encoding
-@cindex encoding, Dvips
-
-@verbatiminclude dvips.enc
-
-
-@node ec
-@section @samp{ec.enc}: Cork encoding
-
-@flindex ec.enc
-@cindex Cork encoding
-@cindex EC encoding
-@cindex @TeX{} Latin 1 encoding
-@cindex encodings, Cork
-@cindex encodings, EC
-@cindex encodings, @TeX{} Latin 1
-
-@verbatiminclude ec.enc
-
-
-@node groff
-@section @samp{groff.enc}: groff encoding
-
-@flindex groff.enc
-@cindex Groff encoding
-@cindex encoding, Groff
-
-@verbatiminclude groff.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