home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fonts 1 / freshfonts1.bin / programs / amiga / pastex / macros / latex2e / base / tracefnt.sty < prev    next >
Text File  |  1994-06-12  |  9KB  |  266 lines

  1. %% 
  2. %% This is file `tracefnt.sty', generated 
  3. %% on <1994/6/12> with the docstrip utility (2.2h).
  4. %% 
  5. %% The original source files were:
  6. %% 
  7. %% tracefnt.dtx  (with options: `package,trace')
  8. %% 
  9. %% Copyright 1994 the LaTeX3 project and the individual authors. 
  10. %% All rights reserved. For further copyright information see the file 
  11. %% legal.txt, and any other copyright indicated in this file. 
  12. %% 
  13. %% This file is part of the LaTeX2e system. 
  14. %% ---------------------------------------- 
  15. %% 
  16. %% This system is distributed in the hope that it will be useful, 
  17. %% but WITHOUT ANY WARRANTY; without even the implied warranty of 
  18. %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
  19. %% 
  20. %% 
  21. %% IMPORTANT NOTICE: 
  22. %% 
  23. %% For error reports in case of UNCHANGED versions see bugs.txt. 
  24. %% 
  25. %% Please do not request updates from us directly. Distribution is 
  26. %% done through Mail-Servers and TeX organizations. 
  27. %% 
  28. %% You are not allowed to change this file. 
  29. %% 
  30. %% You are allowed to distribute this file under the condition that 
  31. %% it is distributed together with all files mentioned in manifest.txt. 
  32. %% 
  33. %% If you receive only some of these files from someone, complain! 
  34. %% 
  35. %% You are NOT ALLOWED to distribute this file alone. You are NOT 
  36. %% ALLOWED to take money for the distribution or use of either this 
  37. %% file or a changed version, except for a nominal charge for copying 
  38. %% etc. 
  39. %%% File: tracefnt
  40. \def\filename{tracefnt}
  41. \def\fileversion{v2.3k}
  42. \def\filedate{1994/05/29}
  43. \def\docdate {1994/01/17}
  44. %% Copyright (C) 1989-94 by Frank Mittelbach and Rainer Sch\"opf.
  45. %% Copyright (C) 1994 by LaTeX3 project. All rights reserved.
  46. \NeedsTeXFormat{LaTeX2e}
  47. \ProvidesPackage{tracefnt}[\filedate\space\fileversion\space
  48.                            Standard LaTeX package (font tracing)]
  49. \newcount\tracingfonts
  50. \tracingfonts=0
  51. \def\@font@warning#1{%
  52.    \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}%
  53.                   {LaTeX Font Warning: #1}%
  54. }
  55. \def\@font@info#1{%
  56.    \GenericInfo{(Font)\@spaces\@spaces\space\@spaces\space}%
  57.                {LaTeX Font Info: \space\space\space#1}%
  58. }
  59. \DeclareOption{errorshow}{%
  60.    \def\@font@info##1{%
  61.          \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
  62.                      {LaTeX Font Info: \space\space\space##1}}%
  63.     \def\@font@warning##1{%
  64.          \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
  65.                         {LaTeX Font Warning: ##1}}%
  66.      }
  67. \DeclareOption{warningshow}{%
  68.    \def\@font@info##1{%
  69.          \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
  70.                      {LaTeX Font Info: \space\space\space##1}}%
  71.     \def\@font@warning##1{%
  72.          \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}%
  73.                         {LaTeX Font Warning: ##1}}%
  74.      }
  75. \DeclareOption{infoshow}{%
  76.    \def\@font@info##1{%
  77.          \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}%
  78.                      {LaTeX Font Info: \space\space\space##1}}%
  79.     \def\@font@warning##1{%
  80.          \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}%
  81.                         {LaTeX Font Warning: ##1}}%
  82.      }
  83. \DeclareOption{loading}{%
  84.     \tracingfonts\tw@
  85.    }
  86. \DeclareOption{debugshow}{%
  87.     \ExecuteOptions{infoshow}%
  88.     \tracingfonts\thr@@
  89.    }
  90. \DeclareOption{pausing}{%
  91.     \def\@font@warning##1{%
  92.       \GenericError
  93.              {(Font)\@spaces\@spaces\@spaces\space\space}%
  94.              {LaTeX Font Warning: ##1}%
  95.              {See the LaTeX Companion for details.}%
  96.              {I'll stop for every LaTeX Font Warning because
  97.               you requested\\the `pausing' option
  98.               to the tracefnt package.}}%
  99.    }
  100. \ExecuteOptions{infoshow}
  101. \ProcessOptions
  102. \def\extract@font{%
  103.    \get@external@font
  104.    \global\expandafter\font\font@name\external@font\relax
  105.     \ifnum \tracingfonts >\@ne
  106.     \@font@info{External font `\external@font'
  107.               loaded as\MessageBreak \font@name}\fi
  108.     \font@name \relax
  109.     \csname \f@encoding+\f@family\endcsname
  110.     \csname\curr@fontshape\endcsname
  111.     \relax
  112.        }
  113. \DeclareRobustCommand\selectfont
  114.         {%
  115.     \ifx\f@linespread\baselinestretch \else
  116.       \set@fontsize\baselinestretch\f@size\f@baselineskip \fi
  117.     \xdef\font@name{%
  118.       \csname\curr@fontshape/\f@size\endcsname}%
  119.     \pickup@font
  120.     \font@name
  121.     \ifnum \tracingfonts>\tw@
  122.       \@font@info{Switching to \font@name}\fi
  123.     \size@update
  124.     \enc@update
  125.     }
  126. \def\set@fontsize#1#2#3{%
  127.     \@defaultunits\@tempdimb#2pt\relax\@nnil
  128.     \edef\f@size{\strip@pt\@tempdimb}%
  129.     \@defaultunits\@tempskipa#3pt\relax\@nnil
  130.     \edef\f@baselineskip{\the\@tempskipa}%
  131.     \edef\f@linespread{#1}%
  132.     \let\baselinestretch\f@linespread
  133.       \def\size@update{%
  134.         \baselineskip\f@baselineskip\relax
  135.         \baselineskip\f@linespread\baselineskip
  136.         \normalbaselineskip\baselineskip
  137.         \setbox\strutbox\hbox{%
  138.           \vrule\@height.7\baselineskip
  139.                 \@depth.3\baselineskip
  140.                 \@width\z@}%
  141.         \the\every@size
  142.    \ifnum \tracingfonts>\tw@
  143.       \ifx\f@linespread\@empty
  144.         \let\@tempa\@empty
  145.       \else
  146.         \def\@tempa{\f@linespread x}%
  147.       \fi
  148.       \@font@info{Changing size to \f@size/\@tempa
  149.                 \f@baselineskip}%
  150.       \aftergroup\type@restoreinfo \fi
  151.         \let\size@update\relax}%
  152.   }
  153. \let\size@update\relax
  154.    \def\type@restoreinfo{%
  155.       \ifx\f@linespread\@empty
  156.         \let\@tempa\@empty
  157.       \else
  158.         \def\@tempa{\f@linespread x}%
  159.       \fi
  160.       \@font@info{Restoring size to
  161.                 \f@size/\@tempa\f@baselineskip}}
  162. \def\glb@settings{\begingroup
  163.     \ifnum \tracingfonts>\tw@
  164.       \ifmath@fonts
  165.         \@font@info{Setting up math fonts for
  166.                   \f@size/\f@baselineskip}\fi
  167.       \else
  168.         \@font@info{No math setup}\fi
  169.      \expandafter\ifx\csname S@\f@size\endcsname\relax
  170.        \calculate@math@sizes
  171.      \fi
  172.      \csname S@\f@size\endcsname
  173.       \ifmath@fonts
  174.         \escapechar\m@ne
  175.         \csname mv@\math@version \endcsname
  176.       \else
  177.         \math@fontstrue
  178.       \fi
  179.     \globaldefs\@ne
  180.     \math@fonts
  181.     \let \glb@currsize \f@size
  182.   \endgroup
  183.   \the\every@size
  184. }
  185.  
  186. \def\check@mathfonts{%
  187.   \ifx \glb@currsize \f@size
  188.     \ifnum \tracingfonts>\thr@@
  189.         \@font@info{*** MATH: no change \f@size\space
  190.  curr/global (\curr@math@size/\glb@currsize)}\fi
  191.   \else
  192.     \ifnum \tracingfonts>\thr@@
  193.         \@font@info{*** MATH: setting up \f@size\space
  194.  curr/global (\curr@math@size/\glb@currsize)}\fi
  195.      \glb@settings
  196.      \if@inmath
  197.        \aftergroup\restglb@settings
  198.      \else
  199.        \ifnum \tracingfonts>\thr@@
  200.         \@font@info{*** MATH: no resetting (not in math)}\fi
  201.      \fi
  202.   \fi
  203.   \let\curr@math@size\f@size
  204.   \@inmathtrue
  205. }
  206. \def\restglb@settings{%
  207.     \ifnum \tracingfonts>\thr@@
  208.         \@font@info{*** MATH: restoring}\fi
  209.       \begingroup
  210.         \let\f@size\curr@math@size
  211.         \ifx\glb@currsize \f@size
  212.     \ifnum \tracingfonts>\thr@@
  213.         \@font@info{*** MATH: ... already okay (\f@size)}\fi
  214.         \else
  215.     \ifnum \tracingfonts>\thr@@
  216.         \@font@info{*** MATH: ... to \f@size}\fi
  217.           \glb@settings
  218.         \fi
  219.       \endgroup
  220. }
  221. \def\use@mathgroup#1#2{\relax\ifmmode
  222.   \ifnum \tracingfonts>\tw@
  223.     \count@#2\relax
  224.     \@font@info{Using \noexpand\mathgroup
  225.              (\the\count@) #2}\fi
  226.      \math@bgroup
  227.          \expandafter\ifx\csname M@\f@encoding\endcsname#1\else
  228.          #1\fi
  229.          \mathgroup#2\relax
  230.      \expandafter\math@egroup\fi}%
  231.   \ifx\math@bgroup\begingroup
  232.     \def\math@egroup#1{#1\endgroup
  233.       \ifnum \tracingfonts>\tw@
  234.      \@font@info{Restoring \noexpand\mathgroup
  235.         (\ifnum\mathgroup=\m@ne default\else \the\mathgroup \fi)%
  236.         }\fi}
  237.   \fi
  238. \def\getanddefine@fonts#1#2{%
  239.   \ifnum \tracingfonts>\tw@
  240.   \count@#1\relax
  241.     \@font@info{\noexpand\mathgroup (\the\count@) #1 :=\MessageBreak
  242.               \string#2 \tf@size/\sf@size/\ssf@size}\fi
  243.   \xdef\font@name{\csname \string#2/\tf@size\endcsname}%
  244.   \pickup@font \let\textfont@name\font@name
  245.   \xdef\font@name{\csname \string#2/\sf@size\endcsname}%
  246.   \pickup@font \let\scriptfont@name\font@name
  247.   \xdef\font@name{\csname \string#2/\ssf@size\endcsname}%
  248.   \pickup@font
  249.   \edef\math@font