%
% Definition of the PostScript fonts that are known to Rokicki's dvips
% Written by Dick van Soest
%
%%
%% 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}...).
%%
%------------------------------------------------------------------------
% Possible series:
%
% Weight class
%  ul ultra light
%  el extra light
%  l  light
%  sl semi light
%  m  medium (normal)
%  sb semi bold
%  b  bold
%  eb extra bold
%  ub ultra bold
%
% Width class
%  uc ultra condensed (50%)
%  ec extra condensed (62.5%)
%  c  condensed       (75%)
%  sc semi condensed  (87.5%)
%  m  medium (normal) (100%)
%  sx semi expanded   (112.5%)
%  x  expanded        (125%)
%  ex extra expanded  (150%)
%  ux ultra expanded  (200%)
%
% To combine the abbreviations in the \series command, weight is used
% first and any instance of medium is dropped except when weight and
% width are both medium. In this case one single m is used. So bold
% expanded would be bx whereas medium expanded would be x.
%
% ------------------------------------------------------------------------
%
% Possible shapes:
% n  normal
% it italic
% sc small caps
% sl slanted
% u  upright italic
%
%------------------------------------------------------------------------
% Definition of a macro to make things easier to define - Dick
%  #1 is the name of the family
%  #2 is the name of the series
%  #3 is the name of the shape
%  #4 is the name of the TFM file
\@ifundefined{new@fontshape}
 {\errmessage{The style option `psfonts' does not make sense if you
              do not use the new font selection scheme.}
  \endinput}
  {}
\@ifundefined{@psfontsloaded}{}{\endinput}

\def\postscriptdefinefont#1#2#3#4{%
 \new@fontshape{#1}{#2}{#3}{%
   <5>#4 at5pt%
   <6>#4 at6pt%
   <7>#4 at7pt%
   <8>#4 at8pt%
   <9>#4 at9pt%
   <10>#4 at10pt%
   <11>#4 at10.95pt%
   <12>#4 at12pt%
   <14>#4 at14.4pt%
   <17>#4 at17.28pt%
   <20>#4 at20.74pt%
   <25>#4 at24.88pt}{}}
%
%
%% ********************************************************************
%%
%% AvantGarde
%%
%% ********************************************************************
%% Series: medium Shape: normal
\postscriptdefinefont{pag}{m}{n}{pagk}
%% Series: medium Shape: small caps
\postscriptdefinefont{pag}{m}{sc}{pagkc}
%% Series: medium Shape: oblique
\postscriptdefinefont{pag}{m}{sl}{pagko}
%% Series: bold Shape: normal
\postscriptdefinefont{pag}{b}{n}{pagd}
%% Series: bold Shape: oblique
\postscriptdefinefont{pag}{b}{sl}{pagdo}
\extra@def{pag}{}{}
\subst@fontshape{pag}{m}{it}{pag}{m}{sl}
\subst@fontshape{pag}{b}{it}{pag}{b}{sl}
%
%% ********************************************************************
%%
%% Bookman
%%
%% ********************************************************************
%% Series: bold Shape: normal
\postscriptdefinefont{pbk}{b}{n}{pbkd}
%% Series: bold Shape: italic
\postscriptdefinefont{pbk}{b}{it}{pbkdi}
%% Series: medium Shape: normal
\postscriptdefinefont{pbk}{m}{n}{pbkl}
%% Series: medium Shape: small caps
\postscriptdefinefont{pbk}{m}{sc}{pbklc}
%% Series: medium Shape: italic
\postscriptdefinefont{pbk}{m}{it}{pbkli}
\extra@def{pbk}{}{}
\subst@fontshape{pbk}{m}{sl}{pbk}{m}{it}
\subst@fontshape{pbk}{b}{sl}{pbk}{b}{it}
%
%% ********************************************************************
%%
%% Courier
%%
%% ********************************************************************
%% Series: bold Shape: normal
\postscriptdefinefont{pcr}{b}{n}{pcrb}
%% Series: bold Shape: oblique
\postscriptdefinefont{pcr}{b}{sl}{pcrbo}
%% Series: medium Shape: normal
\postscriptdefinefont{pcr}{m}{n}{pcrr}
%% Series: medium Shape: oblique
\postscriptdefinefont{pcr}{m}{sl}{pcrro}
\extra@def{pcr}{}{}
\subst@fontshape{pcr}{m}{it}{pcr}{m}{sl}
\subst@fontshape{pcr}{b}{it}{pcr}{b}{sl}
\subst@fontshape{pcr}{m}{sc}{pcr}{m}{sc}
%
%% ********************************************************************
%%
%% Helvetica
%%
%% ********************************************************************
%% Series: bold Shape: normal
\postscriptdefinefont{phv}{b}{n}{phvb}
%% Series: bold Shape: oblique
\postscriptdefinefont{phv}{b}{sl}{phvbo}
%% Series: bold condensed Shape: normal
\postscriptdefinefont{phv}{bc}{n}{phvbrn}
%% Series: bold condensed Shape: oblique
\postscriptdefinefont{phv}{bc}{sl}{phvbon}
%% Series: condensed Shape: oblique
\postscriptdefinefont{phv}{c}{sl}{phvron}
%% Series: condensed Shape: normal
\postscriptdefinefont{phv}{c}{n}{phvrrn}
%% Series: medium Shape: oblique
\postscriptdefinefont{phv}{m}{sl}{phvro}
%% Series: medium Shape: normal
\postscriptdefinefont{phv}{m}{n}{phvr}
%% Series: medium Shape: small caps
\postscriptdefinefont{phv}{m}{sc}{phvrc}
\extra@def{phv}{}{}
\subst@fontshape{phv}{m}{it}{phv}{m}{sl}
\subst@fontshape{phv}{b}{it}{phv}{b}{sl}
\subst@fontshape{phv}{bc}{it}{phv}{bc}{sl}
\subst@fontshape{phv}{c}{it}{phv}{c}{sl}
%
%% ********************************************************************
%%
%% NewCenturySchoolbook
%%
%% ********************************************************************
% Series: bold Shape: normal
\postscriptdefinefont{pncs}{b}{n}{pncb}
% Series: bold Shape: italic
\postscriptdefinefont{pncs}{b}{it}{pncbi}
% Series: medium Shape: italic
\postscriptdefinefont{pncs}{m}{it}{pncri}
%% Series: medium Shape: normal
\postscriptdefinefont{pncs}{m}{n}{pncr}
%% Series: medium Shape: small caps
\postscriptdefinefont{pncs}{m}{sc}{pncrc}
\extra@def{pncs}{}{}
\subst@fontshape{pncs}{m}{sl}{pncs}{m}{it}
\subst@fontshape{pncs}{b}{sl}{pncs}{b}{it}
%
%% ********************************************************************
%%
%% Palatino
%%
%% ********************************************************************
%% Series: bold Shape: normal
\postscriptdefinefont{ppl}{b}{n}{pplb}
%% Series: bold Shape: italic
\postscriptdefinefont{ppl}{b}{it}{pplbi}
%% Series: bold Shape: unslanted
\postscriptdefinefont{ppl}{b}{u}{pplbu}
%% Series: condensed Shape: normal
\postscriptdefinefont{ppl}{c}{n}{pplrrn}
%% Series: expanded Shape: normal
\postscriptdefinefont{ppl}{x}{n}{pplrre}
%% Series: medium Shape: italic
\postscriptdefinefont{ppl}{m}{it}{pplri}
%% Series: medium Shape: slanted
\postscriptdefinefont{ppl}{m}{sl}{pplro}
%% Series: medium Shape: normal
\postscriptdefinefont{ppl}{m}{n}{pplr}
%% Series: medium Shape: small caps
\postscriptdefinefont{ppl}{m}{sc}{pplrc}
%% Series: medium Shape: unslanted
\postscriptdefinefont{ppl}{m}{u}{pplru}
\extra@def{ppl}{}{}
\subst@fontshape{ppl}{b}{sl}{ppl}{b}{it}
%
%% ********************************************************************
%%
%% Symbol
%%
%% ********************************************************************
%% Family: symbol
%% Series: medium Shape: normal
\postscriptdefinefont{psy}{m}{n}{psyr}
%% Series: medium Shape: slanted
\postscriptdefinefont{psy}{m}{sl}{psyro}
\extra@def{psy}{}{}
%
%% ********************************************************************
%%
%% Times
%%
%% ********************************************************************
%% Series: bold Shape: normal
\postscriptdefinefont{ptm}{b}{n}{ptmb}
%% Series: bold Shape: italic
\postscriptdefinefont{ptm}{b}{it}{ptmbi}
%% Series: condensed Shape: normal
\postscriptdefinefont{ptm}{c}{n}{ptmrrn}
%% Series: expanded Shape: normal
\postscriptdefinefont{ptm}{x}{n}{ptmrre}
%% Series: medium Shape: italic
\postscriptdefinefont{ptm}{m}{it}{ptmri}
%% Series: medium Shape: slanted
\postscriptdefinefont{ptm}{m}{sl}{ptmro}
%% Series: medium Shape: normal
\postscriptdefinefont{ptm}{m}{n}{ptmr}
%% Series: medium Shape: smallcaps
\postscriptdefinefont{ptm}{m}{sc}{ptmrc}
\extra@def{ptm}{}{}
\subst@fontshape{ptm}{b}{sl}{ptm}{b}{it}
%
%% ********************************************************************
%%
%% Zapf Chancery
%%
%% ********************************************************************
%% Series: medium Shape: it
\postscriptdefinefont{pzc}{m}{it}{pzcmi}
\extra@def{pzc}{}{}
%
%% ********************************************************************
%%
%% Zapf Dingbats
%%
%% ********************************************************************
%% Series: medium Shape: normal
\postscriptdefinefont{pzd}{m}{n}{pzdr}
\extra@def{pzd}{}{}
%
\def\@psfontsloaded{}
