% fontdef.tex
% LaTeX NFSS font definition part for CM or PS fonts
% (c) Springer-Verlag HD
%----------------------------------------------------------------------
\if C\FONTS
%% This is file `fontdef.cm'
%% it is part of the Springer Verlag LaTeX support for use
%% with the New Font Selection Scheme.
%% From original copyright (C) 1989,1990 by Frank Mittelbach, Rainer Schoepf.
%% changed January 20th 1993 by Springer Verlag
%% It contains the NFSS-file 'fontdef.ori' with
%%
%% \def\fileversion{v1.1k}
%% \def\filedate{91/11/26}
%% \def\docdate {91/11/26}
%%
%% and only a few changes to the fonts that are selected.
%% Error Reports in case of UNCHANGED versions to
%%
%% Springer Verlag
%% Dept. New Technologies/Product Development
%% Tiergartenstrasse 17
%% D-W-6900 Heidelberg
%% FRG
%% \CheckSum{127}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
%% This file contains the external font information needed to load
%% the standard families of the computer modern fonts
%% designed by Donald E. Knuth.
%% This means that some of the font shapes are not available in
%% all sizes; in this case some other size (or other font) is
%% substituted instead.
%%
%% For a larger collection of fonts see the file `fontdef.max'.
%%
%% You should *not* change this file! If you want to change the
%% fonts/shapes you should create a copy of it named `fontdef.tex'
%% and edit this one according to your needs!
%%
%% The format of a font/shape definition is as follows:
%%
%% \new@fontshape{family}{series}{shape}%
%% {<size_1>external_font_1%
%% <size_2>external_font_2%
%% ...
%% <size_n>external_font_n}{}
%%
%% (Don't forget the final {} !)
%%
%% family : Name of font family like cmr etc.
%% series : Weight and width of the font in 1 to 4 letter
%% abbreviations. A table is given in the tugboat article
%% distributed together with this file.
%% shape : Either n (normal), it (italic), sc (small caps), sl
%% (slanted) or u (upright italic).
%% <size_i> : The size in printer points. Standard LaTeX supports 5,
%% 6, 7, 8, 9, 10, 11, 12, 14, 17, 20, 25 corresponding to
%% \tiny, \scriptsize and so on. The angle brackets are
%% part of the syntax!
%%
%% external_font_i : The name of the external font in your font
%% library. If the font/shape is not available in a
%% certain size you may use the name of a replacement
%% font. E.g. one can substitute cmr5 for cmti.. which is
%% only available in size 7 and higher. If you put a `1'
%% in front of the name of the font a warning message will
%% be produced (saying that the font has been substituted
%% for the real one) when you use it for the first time.
%% Below you can find examples of this mechanism.
%%
%% For font/shape combinations which aren't available at all like
%% computer modern sans serif small caps a suitable default will be
%% used automatically unless you specify a substitution yourself with
%% the \subst@fontshape command.
%%
%% It syntax is as follows:
%%
%% \subst@fontshape{family}{series}{shape}%
%% {subst_family}{subst_series}{subst_shape}
%%
%% This might be necessary if the automatically selected default does
%% not match your needs. For example: the font shape choosen instead
%% of `computer modern sans serif small caps' would be `computer
%% modern sans serif normal'. With a \subst@fontshape command you can
%% change this, for example, to `computer modern roman small caps' as
%% we did below. (If you don't like this remove this line in your
%% *copy* of this file.)
%%
%% Finally, for every family there is an \extra@def macro. It defines
%% special action to be done at load time for every font of the family.
%% In most cases you can simply write
%%
%% \extra@def{family}{}{}
%%
%% In this file it is used to suppress hyphenation for typewriter
%% fonts (see \extra@def{cmtt}... below) and to set the \skewchar
%% for math fonts (see \extra@def{cmm}... and \extra@def{cmsy}...).
%%
%%
\newlinechar`\^^J
\immediate\write\sixt@@n{File: `fontdef.cm' \space
\fileversion\space <\filedate> (Springer Verlag)}
\immediate\write\sixt@@n{English Documentation
\@spaces\space <\docdate> (FMi and RmS)}
\immediate\write\sixt@@n
{^^JIncludes Font/Shape Definitions for:^^J
^^J\@spaces Computer Modern Standard Fonts%
.^^J}
\immediate\write\sixt@@n
{********************************************************************}
\immediate\write\sixt@@n
{* Customized by Springer Verlag to change the default fonts.}
\immediate\write\sixt@@n
{********************************************************************}
%%
%% Please don't change the next lines unless you know exactly what you
%% are doing.
%%
\def\default@shape{n}
\def\default@series{m}
\def\default@family{cmr}
\def\default@errfont{cmsy10}
%%
%% Again, this is doubly dangerous bent.
%%
\fontfamily\default@family
\fontseries\default@series
\fontshape\default@shape
%%
%% And here is your playground:
%%
\new@fontshape{cmr}{m}{n}{%
<5>cmr5%
<6>cmr6%
<7>cmr7%
<8>cmr8%
<9>cmr9%
<10>cmr10%
<11>cmr10 at10.95pt%
<12>cmr12%
<14>cmr12 at14.4pt%
<17>cmr17%
<20>cmr17 at20.736pt%
<25>cmr17 at24.8832pt}{}
\extra@def{cmr}{}{}
\new@fontshape{cmr}{m}{sl}{%
<5>1cmr5%
<6>1cmr6%
<7>1cmr7%
<8>cmsl8%
<9>cmsl9%
<10>cmsl10%
<11>cmsl10 at10.95pt%
<12>cmsl12%
<14>cmsl12 at14.4pt%
<17>cmsl12 at17.28pt%
<20>cmsl12 at20.74pt%
<25>cmsl12 at24.88pt%
}{}
\new@fontshape{cmr}{m}{sc}{%
<5>1cmr5%
<6>1cmr6%
<7>1cmr7%
<8>cmcsc10 at8pt%
<9>cmcsc10 at9pt%
<10>cmcsc10%
<11>cmcsc10 at10.95pt%
<12>cmcsc10 at12pt%
<14>cmcsc10 at14.4pt%
<17>cmcsc10 at17.28pt%
<20>cmcsc10 at20.74pt%
<25>cmcsc10 at24.88pt%
}{}
%%
%% Warning: please note that the upright shape below is used
%% for the \pounds symbol of LaTeX. So this font
%% definition shouldn't be removed.
%%
% If cmu below 10pt is not available we substitute
% cmti as far as possible (sizes 7, 8, 9). This is
% done because cmu is used mainly for producing the
% the \pound symbol and it is better to get a slanted
% (or bigger) pound then to get a $ sign in such situations.
%%
\new@fontshape{cmr}{m}{u}{%
<5>1cmti7%
<6>1cmti7%
<7>1cmti7%
<8>1cmti8%
<9>1cmti9%
<10>cmu10%
<11>cmu10 at10.95pt%
<12>cmu10 at12pt%
<14>cmu10 at14.4pt%
<17>cmu10 at17.28pt%
<20>cmu10 at20.74pt%
<25>cmu10 at24.88pt%
}{}
%%
%% This is file `fontdef.ps'
%% it is part of the Springer Verlag LaTeX support for use
%% with the New Font Selection Scheme.
%% From original copyright (C) 1989,1990 by Frank Mittelbach, Rainer Schoepf.
%% changed January 20th 1993 by Springer Verlag
%%
%% It provides font selection including PostScript fonts
%% using the NFSS from Frank Mittelbach, Rainer Schoepf.
%% Error Reports in case of UNCHANGED versions to
%%
%% Springer Verlag
%% Dept. New Technologies/Product Development
%% Tiergartenstrasse 17
%% D-W-6900 Heidelberg
%% FRG
\def\fileversion{v1.0}
\def\filedate{93/01/20}
%% \CheckSum{126}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
%% This file contains the external font information needed to load
%% the standard families of the computer modern fonts
%% designed by Donald E. Knuth.
%% This means that some of the font shapes are not available in
%% all sizes; in this case some other size (or other font) is
%% substituted instead.
%%
%% For a larger collection of fonts see the file `fontdef.max'.
%%
%% You should *not* change this file! If you want to change the
%% fonts/shapes you should create a copy of it named `fontdef.tex'
%% and edit this one according to your needs!
%%
%% The format of a font/shape definition is as follows:
%%
%% \new@fontshape{family}{series}{shape}%
%% {<size_1>external_font_1%
%% <size_2>external_font_2%
%% ...
%% <size_n>external_font_n}{}
%%
%% (Don't forget the final {} !)
%%
%% family : Name of font family like cmr etc.
%% series : Weight and width of the font in 1 to 4 letter
%% abbreviations. A table is given in the tugboat article
%% distributed together with this file.
%% shape : Either n (normal), it (italic), sc (small caps), sl
%% (slanted) or u (upright italic).
%% <size_i> : The size in printer points. Standard LaTeX supports 5,
%% 6, 7, 8, 9, 10, 11, 12, 14, 17, 20, 25 corresponding to
%% \tiny, \scriptsize and so on. The angle brackets are
%% part of the syntax!
%%
%% external_font_i : The name of the external font in your font
%% library. If the font/shape is not available in a
%% certain size you may use the name of a replacement
%% font. E.g. one can substitute cmr5 for cmti.. which is
%% only available in size 7 and higher. If you put a `1'
%% in front of the name of the font a warning message will
%% be produced (saying that the font has been substituted
%% for the real one) when you use it for the first time.
%% Below you can find examples of this mechanism.
%%
%% For font/shape combinations which aren't available at all like
%% computer modern sans serif small caps a suitable default will be
%% used automatically unless you specify a substitution yourself with
%% the \subst@fontshape command.
%%
%% It syntax is as follows:
%%
%% \subst@fontshape{family}{series}{shape}%
%% {subst_family}{subst_series}{subst_shape}
%%
%% This might be necessary if the automatically selected default does
%% not match your needs. For example: the font shape choosen instead
%% of `computer modern sans serif small caps' would be `computer
%% modern sans serif normal'. With a \subst@fontshape command you can
%% change this, for example, to `computer modern roman small caps' as
%% we did below. (If you don't like this remove this line in your
%% *copy* of this file.)
%%
%% Finally, for every family there is an \extra@def macro. It defines
%% special action to be done at load time for every font of the family.
%% In most cases you can simply write
%%
%% \extra@def{family}{}{}
%%
%% In this file it is used to suppress hyphenation for typewriter
%% fonts (see \extra@def{cmtt}... below) and to set the \skewchar
%% for math fonts (see \extra@def{cmm}... and \extra@def{cmsy}...).
%%
%%
\newlinechar`\^^J
\immediate\write\sixt@@n{File: `fontdef.ps' \space
\fileversion\space <\filedate> (Springer Verlag)}
\immediate\write\sixt@@n
{********************************************************************}
\immediate\write\sixt@@n
{*by Springer Verlag from M & S original, to support PostScript fonts *}
\immediate\write\sixt@@n
{********************************************************************}
%%
%% Please don't change the next lines unless you know exactly what you
%% are doing.
%%
\def\default@shape{n}
\def\default@series{m}
\def\default@family{cmr}
\def\default@errfont{cmsy10}
%%
%% Again, this is doubly dangerous bent.
%%
\family\default@family
\series\default@series
\shape\default@shape
%%
%% And here is your playground:
%%
%%
%% Generalized scheme for PostScript fonts, assuming they
%% all have the same basic structure
\def\postscript@fontdef#1#2#3#4#5#6#7#8{
% 1 : full name for family
% 2 : short name for family
% 3 : tfm name for normal font
% 4 : tfm name for italic font
% 5 : tfm name for bold font
% 6 : tfm name for bolditalic font
% 7 : tfm name for smallcaps font
% 8 : tfm name for slanted font
\immediate\write\sixt@@n
{********************************************************************}
\immediate\write\sixt@@n
{Defining fonts for PostScript #1 family, with }
\immediate\write\sixt@@n
{#2 as shortname}
\immediate\write\sixt@@n
{#3 as TFM name for normal font}
\immediate\write\sixt@@n
{#4 as TFM name for italic font}
\immediate\write\sixt@@n
{#5 as TFM name for bold font}
\immediate\write\sixt@@n
{#6 as TFM name for bolditalic font}
\immediate\write\sixt@@n
{#7 as TFM name for smallcaps font}
\immediate\write\sixt@@n
{#8 as TFM name for slanted font}