%% 
%% This is file `tracefnt.sty', generated 
%% on <1993/12/21> with the docstrip utility (2.1e).
%% 
%% The original source files were:
%% 
%% tracefnt.dtx  (with options: `package,trace')
%% 
%% Copyright (C) 1993 by LaTeX3 project. All rights reserved. 
%% For additional copyright information see further down in this file. 
%% 
%% This file is part of the LaTeX2e system (PRELIMINARY TEST RELEASE) 
%% ------------------------------------------------------------------ 
%% 
%% This system is distributed in the hope that it will be useful, 
%% but WITHOUT ANY WARRANTY; without even the implied warranty of 
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
%% 
%% 
%% IMPORTANT NOTICE: 
%% 
%% For error reports in case of UNCHANGED versions see readme files. 
%% 
%% Please do not request updates from us directly. Distribution is 
%% done through Mail-Servers and TeX organizations. 
%% 
%% You are not allowed to change this file. 
%% 
%% You are allowed to distribute this file under the condition that 
%% it is distributed together with all files mentioned in 00readme.l2e. 
%% 
%% If you receive only some of these files from someone, complain! 
%% 
%% You are NOT ALLOWED to distribute this file alone. You are NOT 
%% ALLOWED to take money for the distribution or use of either this 
%% file or a changed version, except for a nominal charge for copying 
%% etc. 
\def\filename{tracefnt}
\def\fileversion{v2.2e}
\def\filedate{1993/12/19}
\def\docdate {1993/11/11}


%% Copyright (C) 1989-1993 Frank Mittelbach and Rainer Sch\"opf,
%% all rights reserved.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tracefnt}[\filedate\space\fileversion\space
                           LaTeX2e standard package]
 \immediate\write\sixt@@n{Package: `tracefnt'
 \fileversion\space <\filedate>  (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
\@spaces <\docdate>  (FMi and RmS)}
\newcount\tracingfonts
\tracingfonts=0
\def\font@warning#1{\immediate\write\sixt@@n
                 {^^JNFSS Info: #1\on@line.^^J}}
\def\font@log#1{%
          \immediate\write\m@ne{NFSS Note: #1\on@line.}}
\DeclareOption{errorshow}{%
    \def\font@log##1{\immediate\write\m@ne{NFSS Note: ##1\on@line.}}%
    \def\font@warning##1{\immediate\write\m@ne
             {^^JNFSS Info: ##1\on@line.^^J}}%
     }
\DeclareOption{warningshow}{%
    \def\font@log##1{\immediate\write\m@ne{NFSS Note: ##1\on@line.}}%
    \def\font@warning##1{\immediate\write\sixt@@n
             {^^JNFSS Info: ##1\on@line.^^J}}%
     }
\DeclareOption{infoshow}{%
    \def\font@warning##1{\immediate\write\sixt@@n
             {^^JNFSS Info: ##1\on@line.^^J}}%
    \def\font@log##1{\immediate\write\sixt@@n
             {NFSS Note: ##1\on@line.}}%
    }
\DeclareOption{loading}{%
    \tracingfonts\tw@
   }
\DeclareOption{debugshow}{%
    \ExecuteOptions{infoshow}%
    \tracingfonts\thr@@
   }
\DeclareOption{pausing}{%
    \def\font@warning##1{%
       \errmessage{^^JNFSS Info: ##1.^^J}}%
   }
\ExecuteOptions{infoshow}
\ProcessOptions
\def\extract@font{%
   \get@external@font
   \global\expandafter\font\font@name\external@font\relax
    \ifnum \tracingfonts >\@ne
    \font@warning{Loading external
             \external@font\space as \font@name\f@warn@break}\fi
    \font@name \relax
    \csname \f@encoding+\f@family\endcsname
    \csname\curr@fontshape\endcsname
    \relax
       }

\def\p@selectfont{%
    \xdef\font@name{%
      \csname\curr@fontshape/\f@size\endcsname}%
    \pickup@font
    \font@name
  \ifnum \tracingfonts>\tw@
    \font@log{Switching to \font@name}\fi
      \@tempskipa \f@baselineskip\relax
      \baselineskip \baselinestretch\@tempskipa
    \setbox\strutbox\hbox{\vrule\@height.7\baselineskip
        \@depth.3\baselineskip \@width\z@}%
    \normalbaselineskip\baselineskip
    \ifx \glb@currsize \f@size
     \else
  \ifnum \tracingfonts>\tw@
    \font@log{Changing size to \f@size/\f@baselineskip}\fi
    \ifmath@fonts\else
      \font@log{No math setup}\fi
     \glb@settings \the\every@size
  \ifnum \tracingfonts>\tw@
    \aftergroup\type@restoreinfo \fi
       \aftergroup\glb@settings \fi
  \ifnum \tracingfonts>\tw@
   \gdef\font@restore{\xdef\font@name{%
     \csname\curr@fontshape/\f@size\endcsname}%
     \font@log{Restoring \space\space\space\font@name}%
     \global\let\font@restore\@empty}%
    \aftergroup\font@restore
  \fi
    }
   \def\type@restoreinfo{\font@log{Restoring size
                         or baselineskip to \f@size/\f@baselineskip}}
\def\use@mathgroup#1#2{\relax\ifmmode
  \ifnum \tracingfonts>\tw@
    \count@#2\relax
    \font@log{Using \noexpand\mathgroup
             (\the\count@) #2}\fi
     \math@bgroup
         \expandafter\ifx\csname M@\f@encoding\endcsname#1\else
         #1\fi
         \mathgroup#2\relax
     \expandafter\math@egroup\fi}%
  \ifx\math@bgroup\begingroup
    \def\math@egroup#1{#1\endgroup
      \ifnum \tracingfonts>\tw@
     \font@log{Restoring \noexpand\mathgroup
        (\ifnum\mathgroup=\m@ne default\else \the\mathgroup \fi)%
        }\fi}
  \fi
\def\getanddefine@fonts#1#2{%
  \ifnum \tracingfonts>\tw@
  \count@#1\relax
    \font@log{\noexpand\mathgroup (\the\count@) #1 <-
              \string#2 \tf@size/\sf@size/\ssf@size}\fi
  \xdef\font@name{\csname \string#2/\tf@size\endcsname}%
  \pickup@font \let\textfont@name\font@name
  \xdef\font@name{\csname \string#2/\sf@size\endcsname}%
  \pickup@font \let\scriptfont@name\font@name
  \xdef\font@name{\csname \string#2/\ssf@size\endcsname}%
  \pickup@font
  \edef\math@fonts{\math@fonts
               \textfont#1\textfont@name
               \scriptfont#1\scriptfont@name
               \scriptscriptfont#1\font@name}%
    }
%% this could be replaced by \try@size@range making the subst slower!
\def\execute@size@function#1{%
         \@ifundefined{s@fct@#1}%
           {\errmessage{Undefined font size function #1}%
            \s@fct@}%
           {\csname s@fct@#1\endcsname}%
}
\fontsubfuzz=0pt


\endinput
%% 
%% End of file `tracefnt.sty'.
