diff options
-rw-r--r-- | Master/texmf-dist/doc/latex/mff/mffdoc.pdf | bin | 219976 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/mff/mffdoc.tex | 1455 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/mff/table.tex | 113 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/mff/test.tex | 19 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/mff/file_id.diz | 8 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/mff/mff.mfj | 10 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/mff/test.bat | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mff/mfarithm.tex | 165 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mff/mfcorfnt.tex | 492 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mff/mfdcdata.tex | 1720 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mff/mff.sty | 743 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mff/mfsauter.tex | 1972 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mff/mftricks.tex | 429 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlprm | 2 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/mff.tlpsrc | 0 |
18 files changed, 3 insertions, 7133 deletions
diff --git a/Master/texmf-dist/doc/latex/mff/mffdoc.pdf b/Master/texmf-dist/doc/latex/mff/mffdoc.pdf Binary files differdeleted file mode 100644 index 6313a1a4816..00000000000 --- a/Master/texmf-dist/doc/latex/mff/mffdoc.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/mff/mffdoc.tex b/Master/texmf-dist/doc/latex/mff/mffdoc.tex deleted file mode 100644 index 1f88354d18a..00000000000 --- a/Master/texmf-dist/doc/latex/mff/mffdoc.tex +++ /dev/null @@ -1,1455 +0,0 @@ -\documentstyle{article} -\title{{\sc mff.sty}: Computer Modern Typefaces\\ -as the Multiple Master Fonts\\[0.5\baselineskip] -\Large Version 1.21} - -\author{ -\begin{minipage}{0.4\textwidth} -\begin{center} A.S.Berdnikov\\{\tt berd{\sl @}ianin.spb.su} \end{center} -\end{minipage} -\hfill -\begin{minipage}{0.4\textwidth} -\begin{center} S.B.Turtia\\{\tt turtia{\sl @}ianin.spb.su} \end{center} -\end{minipage} -} - -\date{} - -\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC\spacefactor1000 } -\font\manual=logo10 at 12pt -\def\MF{{\manual META}\-{\manual FONT}\spacefactor1000 } -\def\AW{Addison\kern.1em-\penalty 0pt \hskip 0pt Wesley} -\def\CandT{{\sl Computers \& Typesetting}} -\def\TUB{{\sl TUGboat\/}} - -\font\cmcmss=cmss12 scaled 1000 -\font\cmcmbx=cmbx12 scaled 1000 -\font\cmcmtt=cmtt12 scaled 1000 -\font\cmcmsl=cmsl12 scaled 1000 -\font\cmfunny=cmff10 scaled 1200 -\font\cmquote=cmssq8 scaled 1200 -\font\cmdunh=cmdunh10 scaled 1200 -\font\cmcmr=cmr12 scaled 1000 - -\font\cmq=cmssq8 scaled 800 -\font\cmd=cmdunh10 scaled 800 -\font\csl=cmsl10 scaled 800 - -\newcommand{\bs}{\char92} % char \ - -\makeatletter -\def\hackersmile{\@ifnextchar[{\@hackersmile}{\@hackersmile[10]}} -\def\@hackersmile[#1]{\hbox{% - \unitlength=1pt\relax - \unitlength=#1\unitlength - \divide\unitlength by 10\relax - \thicklines - \raise -3\unitlength \hbox{% - \begin{picture}(12,12)(-6,-6) - \put(0,0){\circle{10}} - \put(-2,1.75){\circle*{1}} - \put(2,1.75){\circle*{1}} - \thicklines - \put(-2.75,3){\line(1,0){1.5}} - \put(2.75,3){\line(-1,0){1.5}} - \put(0,-1){\line(0,1){3}} - \put(-2.5,-2.5){\line(1,0){5}} - \put(-2.5,-2.5){\line(0,1){1}} - \put(2.5,-2.5){\line(0,1){1}} - \end{picture}% -}}} -\makeatother - -\begin{document} - -\maketitle - -\begin{flushright} -\begin{minipage}{0.55\textwidth} -\small -We would like to express our warmest thanks -to Dr.\ A.Compagner from the Delft University of Technology -who spent a lot of his time and efforts -trying to transform two naive students from Russia -into serious scientists. -\end{minipage} -\end{flushright} - -\bigskip - -\begin{abstract} -The style file {\sc mff.sty} simulates the effect of -{\sl Multiple Master Fonts} created by Adobe using -the Computer Modern typefaces as a template. -It enables to vary continuously in a wide range -the shape of \TeX{} fonts and create the unique font -which suites the User's demands. -Although originally {\sc mff.sty} was created for internal -purposes to investigate the possibilities hidden inside -the \MF{} source code for Computer Modern typefaces, -it might be useful for professional applications too. -The style file works correctly with -\LaTeX{} 2$_{\hbox{\normalsize$\varepsilon$}}$ -as well as with \LaTeX{} $2.09$. -\end{abstract} - -\section{Introduction} - -The {\sl Multiple Master Font} format for PostScript -fonts was suggested some time ago -by the well-known company {\sl Adobe Inc}. -It enables to vary continuously the -font characteristics (say, {\em weight} (``boldness'') -from light to black, {\em width} from condensed to expanded, -etc.) and create the unique font which suites -the particular User's demands. -Like many other ``new inventions'' -in computer assisted typography, the roots of this -idea can be found inside \TeX{}\footnote{For example, -{\sl Microsoft Word} 6.0 was announced as the {\em first} -program which enables to mark some place in the text by -a special marker and then to refer to its position -in a form: ``see page \dots'' \hackersmile.} --- namely, in \MF{} -as the language for font description, and in Computer -Modern font family created by D.Knuth in 1977--1985. - -The \MF{} source code was created, and the {\sl Computer Modern} -font parameters were selected using the advises of such -professional font designers as Hermann Zapf, -Matthew Carter, Charles Bigelow and others -(see \cite{CM} for the {\em full} list of contributors). -The \MF{} code for {\sl Computer Modern} typefaces -has the following essential features: -\begin{itemize} -\item -the parameter files are separated from the main source code -so that the font parameters can be variated easily; -\item -the role of the font parameters, the details of the \MF{} source code, -etc., are documented in \cite{CM} in deep details; -\item -the font variations (provided that the fonts and all -changed {\tt .mf} files have the names \underline{\bf different} -from that for the original CM fonts) -are encouraged by the author. -\end{itemize} -The {\sl Computer Modern} fonts are parametrized using -sixty two \hbox{(!!!)} parameters most of which are independent. -It can be seen easily that such big amount of free parameters -exceeds the flexibility of {\em any} multiple master font -which is created up to now or even {\em will be} created -by somebody in future. - -The continuous parametrization of the canonical Computer Modern -typefaces created by John Sauter and Karl Berry -({\sc sauter} fonts \cite{SAUTER}), and, on a different basis, -by J\"org Knappen and Norbert Schwarz for -{\sl European Computer Modern} typefaces \cite{DC}, -enables to vary continuously the font size in a wide range -without loosing the high quality of the output. -As a result it is easy to manipulate with -{\sl Computer Modern} typefaces like the Adobe multiple master fonts, -and to produce an enomorous amount of {\bf freeware} -fonts of professional quality. - -The style file {\sc mff.sty} described here performs this work. -It follows the ideas implimented in the package MF\PiC{}\footnote{% -Like MF\PiC, the first pass of \LaTeX{} -creates the {\tt .mf} file, -then the {\tt .mf} file is processed by \MF, -and at the second pass of \LaTeX{} the new -font is used to make the output.} -and enables to specify the new fonts inside \LaTeX{} document -without dealing with the details of \MF{} programming and -manual specification of each of 62 parameters used in -{\sl Computer Modern} source files. -The User can variate the font shape continuously between -CMR, CMBX, CMSL, CMSS, CMTT and CMFF font families, -specify the {\em weight}, {\em width}, {\em height} -and {\em contrast} of the output font independently, -and in addition he/she can play the character -characteristics so that the output does not -look like the canonical {\sl Computer Modern} -typefaces at all. - -\section{Main Command: define a font\label{GENER}} - -The generation of the {\tt .mf} header file and the activation -of the new font is performed by the command -{\tt\bs{}MFFgener} which has the format: -\begin{itemize} -\item[] \tt \bs{}MFFgener[{\em fntscaled}]\{{\em{\tt\bs}fntcmd}\}\{{\em filename}\}\{{\em fntsize}\} -\end{itemize} -The command {\em{\tt\bs}fntcmd} will switch inside the document -to the desired font like it is done by the \LaTeX{} commands -\verb?\bf?, \verb?\sl?, \verb?\sf?, etc.\footnote{The difference is that -the size of this font is not influenced by the commands like -{\tt\bs{}large} or {\tt\bs{}small} --- it is fixed and is -determined totally by the parameters {\em fntscaled} and {\em fntsize}.} -The file {\em filename{\tt.mf}} will contain the \MF{} source -code of the new font\footnote{To minimize the attempts to create the -fonts with the names already used in Computer Modern family, etc., -the prefix {\em xx} is added before the file name automatically. -See section~\ref{MORE} for more details.}. -The value {\em fntsize} specifies the design size -of the new font (it defines the size of a new font and -is used by {\sc mff.sty} to calculate the font parameters -as the functions of this reference value --- -see sections \ref{MIXTURE} and \ref{CORRECT} for more details). -The optional parameter {\em fntscaled} specifies -the additional scaling of this font in \LaTeX{} document. -Examples: -\begin{itemize} -\item[]\verb?\MFFgener{\zfnt}{zmz30}{30pt}?\\ - \verb?\MFFgener[scaled 2000]{\zfnt}{zmz15}{15pt}?\\ - \verb?\MFFgener[at 30pt]{\zfnt}{zmz20}{20pt}? -\end{itemize} - -The {\tt .mf} file created by {\sc mff.sty} -contains only the list of 62 font -parameters which determine the character shapes. -It also contains the command that loads the -driver file ({\tt roman.mf}, {\tt csc.mf}, etc.), -and the driver file assemblers all the necessary \MF{} source code. -It is assumed that the driver files for the fonts described -in section~\ref{CLASS} together with all necessary -{\tt .mf} files are already installed on your computer. - -When the file {\em filename{\tt.mf}} is created, -it is necessary to process it by \MF{} to get the metric -file {\em filename{\tt.tfm}} and the bitmap file -{\em filename{\tt.pk}}. The second pass of \LaTeX{} will use the metric -information to format the document properly, and the {\sl DVI}-drivers -will use the bitmap data to make the output. -The proper configuration of \TeX-compiler and {\sl DVI}-drivers -so that they can find these files is the User's task -(please consult your local \TeX-expert how to configure -it\footnote{Some advises how to configure the programs -if you use {\sl MS DOS}/{\sf em\TeX} are in section~\ref{CONFIG}.}). - -If \LaTeX{} can find the file {\em filename}{\tt .tfm}, it assigns -the font {\em filename} to the command {\em{\tt\bs}fntcmd} which -can be used later in the document to switch to the desired font. -If \LaTeX{} cannot find the {\tt .tfm} file, the warning message -\begin{itemize} -\item[] {\tt No file {\em filename}.tfm -- dummy font will be used} -\end{itemize} -is displayed which means that the text typed by this new font -will disappear from the {\sl DVI}-file ({\tt dummy} font is the -artificial font which contains no characters). - -The file {\em filename{\tt.mf}} which contains the \MF{} data -necessary to make the font is created after {\em each} pass -of \LaTeX{} and the warning message -\begin{itemize} -\item[] {\tt Do not forget to process {\em filename}.mf - and reprocess this file} -\end{itemize} -is displayed even if the new {\tt .mf} file is identical to the previous -one. It is the User's responcibility to guarantee that the {\sc mff.sty} -commands are the same as during the previous pass of \LaTeX{} and that -the {\tt .tfm} and {\tt .pk} files are produced from the correct version -of {\tt .mf} file. - -\section{Mixture of independent fonts\label{MIXTURE}} - -The {\sl Computer Modern} font sequences -\begin{itemize} -\item[]\begin{flushleft} -{\cmcmr roman},\quad {\cmcmbx bold},\quad -{\cmcmsl slanted},\quad {\cmcmss sans serif},\quad -{\cmcmtt typewriter},\quad {\cmfunny funny},\quad -{\cmdunh dunhill},\quad {\cmquote quotation}\end{flushleft} -\end{itemize} -share just the same \MF{} source code but with different values for -font parameters. Since each font exists at different sizes, it is -possible to construct for each sequence and for each parameter -a continuous approximation which is the function of the font size. -Such approximations, for example, enable to generate fonts with the -font sizes different from that created by D.E.Knuth. - -At least two {\em ready-to-use} font approximations are available from -CTAN. One is the {\sc sauter} font package created by -John Sauter and Karl Berry \cite{SAUTER}, and the other is realized -in {\sc dc} and {\sc tc} fonts created by J\"org Knappen and Norbert -Schwarz \cite{DC}. Special {\sc mff.sty} comands control -the approximation scheme: -\begin{itemize} -\item[] {\tt \bs{}MFFsauter} --- {\sc sauter}-type approximation - is used;\\ - {\tt \bs{}MFFdcfonts} --- {\sc DC font} approximation - is used; -\end{itemize} -where the default mode is {\tt\bs{}MFFsauter}. - -The continuous approximation for CMR parameters enables to create -the \MF{} header file for CMR font with an arbitrary font size. -Similar approximations and, as a result, the font headers with -an arbitrary font size, can be constructed for CMBX, CMTT, CMSS, etc. -The main hypothesis used below is the following: -if some font headers result to correct fonts when processed by \MF{}, -the font header contructed from the {\em weighted sum} of the font -parameters extracted from these font headers gives -the correct font also\footnote{The internal relations between -font parameters described in \cite{CM} are conserved for the weighted -sum of font parameters.}. -Although it is not necessarily true, the experiments -with {\sl Computer Modern} typefaces show that if the header files -corresponding to different {\sl Computer Modern} fonts -{\em with the same font size} are selected, this assumption is fulfilled -with great probability. - -The fonts CMR, CMBX, CMTT, CMSS, etc., have quite different -character styles although they use just the same \MF{} driver file -{\tt roman.mf}. -The CMTT fonts have nearly rectangular serifs, -nearly no contrast between thin and thick lines, -and different ratio width/height as compared with CMR. -The CMSS fonts has no serifs at all, they also -have no contrast, the thickness of their lines is greater -than that for CMTT. -Other fonts have their own specific -features, but inspite of this fact they can be ``added'' -together --- at least mathematically as the 62-dimensional -vectors of font parameters. -The resulting font is no longer CMR, CMBX, CMTT, etc., -but something intermediate with a unique shape. - -Taking into account the {\sf New Font Selection Scheme} used by -\LaTeX~2$_{\hbox{\normalsize$\varepsilon$}}$, -it is preferable to decompose -the CMBX font sequence into {\em two} sequences --- one -for ``boldness'' ({\em weight}) and one for ``extension'' -({\em width}) characteristics. -The {\sc mff.sty} uses the special fonts -$\overline{\hbox{CMB}}$\footnote{It is not the same as -{\tt cmb10} created by D.E.Knuth --- the font parameters -are different.} (bold as CMBX and wide as -CMR) and $\overline{\hbox{CMX}}$ (wide as CMBX and bold as CMR) -which are derived from CMBX. - -The mixture of fonts is performed by the command -\begin{itemize} -\item[] {\tt \bs{}MFFmixture\{$\alpha_1$\}\{$\alpha_2$\}% - \{$\alpha_3$\}\{$\alpha_4$\}\{$\alpha_5$\}\{$\alpha_6$\}} -\end{itemize} -where $\alpha_1$, $\alpha_2$, $\alpha_3$, $\alpha_4$, -$\alpha_5$, $\alpha_6$ specify -the weight factors: -$\alpha_1$ corresponds to $\overline{\hbox{CMB}}$, -$\alpha_2$ corresponds to $\overline{\hbox{CMX}}$, -$\alpha_3$ corresponds to CMSS (sans serif fonts), -$\alpha_4$ corresponds to CMTT (typewriter fonts), -$\alpha_5$ corresponds to CMFIB (``Fibonacci'' fonts), -$\alpha_6$ corresponds to CMFF (funny fonts)\footnote{% -The fonts {\csl slanted}, {\cmq quotation} and {\cmd dunhill} - -are not included in this list because they can be produced -from CMR easily using the scaling commands described -in section~\ref{CORRECT}.}. - -If some parameter has the value $p_{cmr}$ for CMR font, -the value $p_{cmb}$ for $\overline{\hbox{CMB}}$ font -(with the same font size!), the value $p_{sf}$ for CMSS font, etc., -the {\em mixture} value $p_*$ for this parameter is calculated as -\begin{eqnarray} -p_* &=& \alpha_0 p_{cmr} - + \alpha_1 \left(p_{cmb}-p_{cmr}\right) - + \alpha_2 \left(p_{cmx}-p_{cmr}\right) - + \alpha_3 \left(p_{sf}-p_{cmr}\right) -\cr &&\quad\quad - + \alpha_4 \left(p_{tt}-p_{cmr}\right) - + \alpha_5 \left(p_{fib}-p_{cmr}\right) - + \alpha_6 \left(p_{funny}-p_{cmr}\right) -\label{Eq1} -\end{eqnarray} -The value $\alpha_0$ is set to 1.0 by the command {\tt \bs{}MFFmixture}, -but the User can assign an arbitrary value to it using the -commands {\tt\bs{}setMFF[$\alpha_0$]\{cmr\}} and -{\tt\bs{}mixMFF[$\alpha_0$]\{cmr\}} which are decribed below. - -This procedure enables, for example, to make the font ``less bold'' -than CMR or ``more bold'' and ``more extended'' than CMBX -using the weight factors which are less than 0 or greater than 1, -and to create the ``mutant'' combinations of nearly incompatible -font families\footnote{Caution: playing this game -it is very easy to get the {\tt .mf} file which cannot -be passed through \MF{} without errors if you do not -understand clearly what are you doing.}. - -The command - {\tt \bs{}MFFmixture\{$\alpha_{1}$\}\{$\alpha_{2}$\}% - \{$\alpha_{3}$\}\{$\alpha_{4}$\}\{$\alpha_{5}$\}% - \{$\alpha_{6}$\}} -is equivalent to the following sequence of commands: -\begin{itemize} -\item[]{\tt \bs{}clearMFF\ \ \ \ \ \ - \% synonim for \bs{}MFFmixture\{0\}\{0\}\{0\}\{0\}\{0\}\{0\}}\\ - {\tt \bs{}mixMFF[$\alpha_{1}$]\{bold\}} \\ - {\tt \bs{}mixMFF[$\alpha_{2}$]\{x\}} \\ - {\tt \bs{}mixMFF[$\alpha_{3}$]\{sf\}} \\ - {\tt \bs{}mixMFF[$\alpha_{4}$]\{tt\}} \\ - {\tt \bs{}mixMFF[$\alpha_{5}$]\{fib\}} \\ - {\tt \bs{}mixMFF[$\alpha_{6}$]\{funny\}} -\end{itemize} -These commands are better recognized due to their mnemonic form, -they can be specified in an arbitrary order, the commands with -zero $\alpha$'s can be skipped since the zero weight factors are -already assigned by {\tt\bs{}clearMFF}. -If several commands with the same font name are encountered, -the last specification is active. The default value for the -optional parameter $\alpha$ is {\tt 1.0}. - -The mixture between CMR and a {\em single} font can be -specified by a single mnemonic command selected from -\begin{center}\begin{tabular}{l@{\qquad}l@{\qquad}l} -{\tt \bs{}setMFF[$\alpha_{1}$]\{bold\}} & -{\tt \bs{}setMFF[$\alpha_{3}$]\{sf\}} & -{\tt \bs{}setMFF[$\alpha_{5}$]\{fib\}} \\ -{\tt \bs{}setMFF[$\alpha_{2}$]\{x\}} & -{\tt \bs{}setMFF[$\alpha_{4}$]\{tt\}} & -{\tt \bs{}setMFF[$\alpha_{6}$]\{funny\}} -\end{tabular}\end{center} -which is equivalent to {\tt \bs{}MFFmixture} where only -one weight factor has non-zero value. If the optional parameter $\alpha$ -is skipped, the default value {\tt 1.0} is used. It means that -the ``pure'' font family can be specified by the commands -\begin{center}\begin{tabular}{l@{\qquad}l@{\qquad}l} -{\tt \bs{}setMFF\{bold\}} & -{\tt \bs{}setMFF\{sf\}} & -{\tt \bs{}setMFF\{fib\}} \\ -{\tt \bs{}setMFF\{x\}} & -{\tt \bs{}setMFF\{tt\}} & -{\tt \bs{}setMFF\{funny\}} -\end{tabular}\end{center} - -Although \LaTeX{} 2$_{\hbox{\normalsize$\varepsilon$}}$/NFSS -considers the {\em weight} and the {\em width} as two -independent font characteristics, the movement in the direction -``bold + extended'' (i.e., to CMBX font family) usually gives -more pleasant results. -To perform this operation it is necessary to assign the equal weights -to $\alpha_{cmb}$ and $\alpha_{cmx}$ which can be done -by the mnemonic commands -\begin{itemize} -\item[]{\tt \bs{}mixMFF[$\alpha_{bx}$]\{bx\}} - \qquad and \qquad - {\tt \bs{}setMFF[$\alpha_{bx}$]\{bx\}} -\end{itemize} -The commands -\begin{itemize} -\item[]{\tt \bs{}mixMFF[$\alpha_{cmr}$]\{cmr\}} - \qquad and \qquad - {\tt \bs{}setMFF[$\alpha_{cmr}$]\{cmr\}} -\end{itemize} -play a special role: they enable to assign the value -$\alpha_0=\alpha_{cmr}$ in the equation~(\ref{Eq1}) -(usually $\alpha_0$ is set to 1.0 by the command -{\tt\bs{}MFFmixture} --- for the evident reasons). - -%\section*{Some notes about the font sequences -% with continuously variated font size} -% -%Suppose that there is a continuous approximation -%for {\sl Computer Modern Roman} (CMR) which enables -%to calculate the \MF{} font parameters for an {\em arbitrtary} -%design size even with weak \TeX{} arithmetical capabilities. -%The desired font size is specified as the input parameter, -%all the internal calculations of the font parameters are performed -%by \TeX{}, and at the output there is the \MF{} {\em ready-to-run} -%font header file for a new font. When this new font header file -%is processed by \MF{}, it can be used in \TeX{} documents like -%other generic \TeX{} fonts. -% -%It is interesting to compare the possibilities of this simplest -%form of pa\-ra\-me\-tri\-za\-ti\-on -%of CMR-fonts and the {\sc PostScript} vector fonts. -%The nearly-proportional changing of the font dimensions -%with respect to magnification parameter is the analog of the -%linear scaling of the {\sc PostScript} fonts. -%The non-linear relationship of the inter-character spacing from -%the font size imitates the {\em tracking} mechanism implemented -%in {\sc PostScript} fonts (which is not taken into account in most -%cases by text processors). The fact that the ratio height/width is a -%non-constant (and non-linear) function of the font size is a -%serious advantage of these pseudo-CMR fonts in comparison with -%the linearly scaled {\sc Postscript} fonts since it enables to make -%the font proportions more suitable for a human eye -%(it is well known that for good eye recognision small letters -%are to be more expanded and have greater inter-character spacing). -% -%There are at least {\em two} ready-to-use font approximations -%available from CTAN. The first one is the \MF{} {\sc sauter} -%font package created by John Sauter and Karl Berry. It uses -%the continuous functions composed from constant, linear and quadratic -%pieces which are constructed so that for {\em canonical} font sizes they -%produce nearly just the same {\tt *.mf} files as the ones used -%by the original {\sl Computer Modern} typefaces. Although the latest -%version of {\sc sauter} is dated 1992, and in 1995 the parameters -%of {\sl Computer Modern} fonts were again slightly changed, -%it seems still to be the reliable source of the fonts with -%intermediate design sizes. -% -%The other approximation is realized in {\sc dc} and {\sc tc} -%fonts by by J\"org Knappen and Norbert Schwarz \cite{DC}. -%It is based on cubic splines --- Lagrange cubic splines or -%canonical cubic splines --- using the parameters of -%{\sl Computer Modern} typefaces as the base points. -%Although generally piecewise-cubic functions produce -%good quality approximations, it is not so with the data extracted -%from {\sl Computer Modern} \MF{} files. The plots of its parameters -%with respect to the design size are ``noisy'' functions with some -%abrupt jumps since these parameters were selected -%manually to optimize the font shape, not the mathematical plots. -%As a result the cubic smooth approximations obey parasilic local -%minima and maxima and do not work far outside the range of -%design sizes used as the base data points. The {\sc dc} and {\sc tc} -%fonts with intermediate font sizes are visually good even with -%this ``mathematical'' defects but it was more advantageous -%to impliment piecewise-linear approximation instead of -%piesewise-cubic one. -% -%The first version of {\sc mff.sty} was based on piecewise-linear and -%piecewise-cubic (Lagrange splines) functions using {\sl Computer Modern} -%typefaces as the reference data. To eliminate the parasitic local -%minima and maxima some data points were slightly changed, and new -%data points were added to guarantee a good behavour of the approximating -%expressions outside the range {\tt 5pt} -- {\tt 17.28pt}. The current -%version of {\sc mff.sty} is based on {\sc sauter}-type approximation -%with some modifications (especially for {\tt cmff} and {\tt cmfib} fonts) -%and on the piecewise-linear approximations based on {\sc dc} data. -%The variated {\sl Computer Modern} data used in the previous versions -%became obsolete and is discarded now since it is not a good idea -%to modify voluntary the original {\sc Computer Modern} parameters. - -\section{Modifications of font parameters\label{CORRECT}} - -You can use the weighted mixture of font ingredients using the commands -{\tt\bs{}setMFF}, {\tt\bs{}mixMFF} and {\tt\bs{}MFFmixture} described -above, but you can also vary ``by hand'' the font parameters -which control the essential details of the character shape. -%The commands described in this section enable to do: -%\begin{itemize} -%\item scale the {\em width} of the character; -%\item scale the {\em height} of the character; -%\item scale the length of ascenders and descenders; -%\item scale the height of digits and the middle line for -% mathematical symbols; -%\item scale the thickness of {\em thin strokes} -% and {\em thick strokes}; -%\item correct the {\em contrast} of the character; -%\item specify the tilt ratio $(\Delta x/\Delta y)$ -% for {\sl slanted} fonts; -%\item scale (or set to some value) some specific parameters -% which are responcible for fine character tuning; -%\item specify the logical flags which control the ligatures, -% character serifs, etc. -%\end{itemize} - -\subsection{Variations of the height\label{HEIGHT}} - -The following commands enable to vary the height of the vertical -elements of the characters: -\begin{description} -\item[\quad{\tt \bs{}MFFscaleHeight\{{\em factor}\}}] --- scale proportionally - the height and the depth of the characters; -\item[\quad{\tt \bs{}MFFscaleAsc\{{\em factor}\}}] --- scale - the height of the capital characters, brackets, digits, etc., - and the ascenders of the characters like `b', `h'; -\item[\quad{\tt \bs{}MFFscaleDesc\{{\em factor}\}}] --- scale - the depth of comma and the descenders of the characters - like `Q', `y'; -\item[\quad{\tt \bs{}MFFscaleMath\{{\em factor}\}}] --- scale - the height of digits and the height of - the horizontal bar (the middle line) for mathematical symbols - like $=$, $+$, $-$. -\end{description} -If several height factors are specified, their effect is combined. -The curious font {\tt cmdunh10} can be reproduced {\em exactly} -by proper specification of all these factors. - -Example: -\begin{eqnarray*} -&&\hbox{\tt \bs{}MFFscaleAsc\{1.5\}}\\ -&&\hbox{\tt \bs{}MFFscaleDesc\{1.2\}} -\end{eqnarray*} - -\subsection{Variations of the width\label{WIDTH}} - -The {\em width} of CMR font can be variated by mixturing -with the $\overline{\hbox{CMX}}$ font. It increases the character width -and also performs some fine tuning of other font parameters. -Due to this reason the mixturing with -$\overline{\hbox{CMX}}$ can be advantageous to variate -the width of characters if you deal with CMR family. -From the other side, for CMTT fonts or CMSS fonts the -mixturing with $\overline{\hbox{CMX}}$ results also -to some variation of the character shapes which can be -an undesirable effect. - -The User can specify the explicit width multiplication -which means that the font parameters which define the width -of the characters are multiplied by some factor: -\begin{itemize} -\item[]{\tt \bs{}MFFscaleWidth\{{\em factor}\}} -\end{itemize} -After this command the font parameters -\begin{itemize} -\item[]\begin{flushleft} -{\tt u\#}, {\tt serif\_fit\#}, {\tt cap\_serif\_fit\#}, -{\tt jut\#}, {\tt cap\_jut\#} -\end{flushleft}\end{itemize} -are scaled proportionally to {\em factor}. -The values $\hbox{\em factor}>1.0$ correspond to expansion, -the values $0<\hbox{\em factor}<1.0$ --- to compression of the -characters. The command {\tt \bs{}MFFscaleWidth\{1.0\}} -restores the default width. - -\subsection{Variations of the weight\label{WEIGHT}} - -The {\em weight}, i.e., the ``boldness'' of the characters can be -controlled by muxturing with $\overline{\hbox{CMB}}$. -Similarly to {\em width} correction described in the previous section, -for such fonts as CMTT or CMSS it is accompanied -by some undesirable changes in the character shapes. - -The following commands control explicitly -the {\em weight} and the {\em contrast} of the characters: -\begin{description} -\item[\quad{\tt \bs{}MFFscaleBoldLines\{{\em coef}$_1$\}}] ---- scale the thickness of {\em thick} strokes by {\em coef}$_1$; -\item[\quad{\tt \bs{}MFFscaleThinLines\{{\em coef}$_2$\}}] ---- scale the thickness of {\em thin} strokes by {\em coef}$_2$. -\end{description} -The coefficient {\em coef}$_1$ scales the values of the font parameters -\begin{itemize} -\item[]\begin{flushleft} -{\tt stem\#}, {\tt curve\#}, {\tt ess\#}, {\tt flare\#}, {\tt dot\_size\#}, -{\tt cap\_stem\#}, {\tt cap\_curve\#}, {\tt cap\_ess\#}, -{\tt bar\#}, {\tt slab\#}, {\tt cap\_bar\#}, {\tt cap\_band\#}, -{\tt thin\_join\#}. -\end{flushleft}\end{itemize} -The coefficient {\em coef}$_2$ scales the values of font parameters -\begin{itemize} -\item[]\begin{flushleft} -{\tt hair\#}, {\tt vair\#}, {\tt cap\_hair\#}, -{\tt rule\_thickness\#}, {\tt notch\_cut\#}, {\tt cap\_notch\_cut\#}. -\end{flushleft}\end{itemize} - -Multiplication by {\em coef}$_1$ and {\em coef}$_2$ increases -the font contrast in $\hbox{\em coef}_1/\hbox{\em coef}_2$ times. -The contrast can be specified explicitly using the commands -\begin{itemize} -\item[]{\tt \bs{}MFFcontrast[{\em type}]}\qquad or \qquad - {\tt \bs{}MFFcontrast\{{\em value}\}} -\end{itemize} -which defines the parameter {\em value} equal to the ratio -of the thickness of {\em thin strokes} to the thickness of -{\em thick strokes}. The commands work as: -\begin{eqnarray*} -&&\hbox{{\tt\bs{}MFFcontrast[s]} --- no correction of the contrast;}\\ -&&\hbox{{\tt\bs{}MFFcontrast[n]} --- no contrast at all ({\em value}=1);}\\ -&&\hbox{{\tt\bs{}MFFcontrast[d]} --- 50\% contrast ({\em value}=0.5);}\\ -&&\hbox{{\tt\bs{}MFFcontrast\{{\em value}\}} - --- the {\em value} is specified explitly.} -\end{eqnarray*} -If the correction of the contrast is active -(no command {\tt\bs{}MFFcontrast[s]}), -all thick element of lowercase characters are equal to {\tt stem\#}, -all thick element of uppercase characters are equal to {\tt cap\_stem\#}, -all thin elements have the thickness of {\tt stem\#} or {\tt cap\_stem\#} -multiplied by {\em value}, the values {\tt stem\#} and {\tt cap\_stem\#} -are multiplied by $\hbox{\em coef}_1$, -the value $\hbox{\em coef}_2$ is ignored. - -\subsection{Miscellaneous variations\label{MISC}} - -The following scaling factors can help to perform fine tuning -of the characters (see \cite{CM} for more details): -\begin{description} -\item[\quad{\tt \bs{}MFFscaleJoinLines\{{\em factor}\}}] ---- variable {\tt thin\_join\#} is multiplied by {\em factor} - (this variable is responcible - for fine connection between thin and thick lines in `h', `m', `n'); -\item[\quad{\tt \bs{}MFFscaleNotchCut\{{\em factor}\}}] --- - variables {\tt notch\_cut\#} and {\tt cap\_notch\_cut\#} are - multiplied by {\em factor} (these variables - are responcible for sharp corners in letters `A', `V', `w'); -\item[\quad{\tt \bs{}MFFscaleDotSize\{{\em factor}\}}] --- - variables {\tt dot\_size\#} and {\tt flare\#} are multiplied - by {\em factor} (these variables - are responcible for dots in `i', `:' and bulbs in `a', `c'); -\item[\quad{\tt \bs{}MFFscaleSerifDish\{{\em factor}\}}] --- - variable {\tt dish\#} is multiplied by {\em factor} (this - variable defines the curved shape of the serif platform). -\end{description} - -Since these parameters perform fine tuning of the character shape, -it can be desirable to assign the specific value to some of them -instead of scaling the default value. -This operation requires the ``expert level macros'' -described in section~\ref{EXPERT}. -For example, to assign a very big number to the variables -{\tt notch\_cut\#} and {\tt cap\_notch\_cut\#} -which control the sharpness of the corners in letters `A', `V', `w', -etc.\footnote{This operation is necessary to produce high-quality -outlined characters using {\em font tricks} commands described -in section~\ref{TRICKS} (see \cite{Outline} for more -details).}, the following commands can be used: -\begin{itemize} -\item[] - {\tt\bs{}MFFcatcode}\\ - {\tt \bs{}def\bs{}MFF@assign@notch\_cut\{\bs{}@tempdimb=16383pt\}}\\ - {\tt \bs{}def\bs{}MFF@assign@cap\_notch\_cut\{\bs{}@tempdimb=16383pt\}}\\ - {\tt\bs{}noMFFcatcode} -\end{itemize} -To return the rule of calculation for these parameters -to the default state, the commands -\begin{itemize} -\item[] - {\tt\bs{}MFFcatcode}\\ - {\tt \bs{}def\bs{}MFF@assign@notch\_cut\{\}}\\ - {\tt \bs{}def\bs{}MFF@assign@cap\_notch\_cut\{\}}\\ - {\tt\bs{}noMFFcatcode} -\end{itemize} -should be used. - -\subsection{Slanted characters\label{SLANT}} - -The inclination of the characters is defined by the -variable {\tt slant\#} which is specified explicitly -by the commands: -\begin{itemize} -\item[]{\tt \bs{}MFFslant\{{\em parm}\}} --- set {\em slant} as a fraction; -\item[]{\tt \bs{}MFFslantD\{{\em parm}\}} --- set {\em slant} as an angle - specified in degrees. -\end{itemize} -For example, {\em slant} typical for CMSL is specified -as {\tt \bs{}MFFslant\{1/6\}}, and {\em slant} typical for -CMSSI is specified as {\tt \bs{}MFFslantD\{12\}} which is -just the same as {\tt \bs{}MFFslant\{sind(12)/cosd(12)\}}. -The arguments of the commands {\tt\bs{}MFFslant} and {\tt\bs{}MFFslantD} -are interpreted as the text strings directly transferred to -{\tt .mf} files, not as the numerical values. - - -\subsection{Logical flags\label{FLAGS}} - -The logical switches usually specified at the end of {\tt *.mf} -file can be controlled by the following commands -({\sl char}={\tt n} means {\em false}, {\sl char}={\tt y} means {\em true}): -\begin{description} -\item[\quad{\tt \bs{}MFFflagSquareDots\{{\sl char}\}}] --- set logical variable - {\tt square\_dots} (should dots be square?); -\item[\quad{\tt \bs{}MFFflagHefty\{{\sl char}\}}] --- set logical variable - {\tt hefty} (should we try hard not to be overweight?); -\item[\quad{\tt \bs{}MFFflagSerifs\{{\sl char}\}}] --- set logical variable - {\tt serifs} (should bulbs and se\-rifs be attached?); -\item[\quad{\tt \bs{}MFFflagMonospace\{{\sl char}\}}] --- set logical variable - {\tt monospace} (are all characters of the same width?); -\item[\quad{\tt \bs{}MFFflagVariantG\{{\sl char}\}}] --- set logical variable - {\tt variant\_g} (should an italic-style g be used?); -\item[\quad{\tt \bs{}MFFflagLowAsterisk\{{\sl char}\}}] --- set logical variable - {\tt low\_asterisk} (should the asterisk be centered at the axis?); -\item[\quad{\tt \bs{}MFFflagMathSpacing\{{\sl char}\}}] --- set logical variable - {\tt math\_fitting} (should math-mode spacing be used?). -\end{description} -The level of ligature and kerning data is specified by the command: -\begin{description} -\item[\quad{\tt \bs{}MFFflagLigs\{{\em type}\}}] where {\em type} is - {\tt 0}, {\tt 1}, {\tt 2}, {\tt s} or {\tt n} --- set ligature level: - {\tt 0}, {\tt 1}, {\tt 2} correspond to the value of the variable {\tt ligs}, - {\tt n} is equivalent to {\tt 0}, {\tt s} set ligature level like - in CMR fonts (it is {\tt 1} if font design size is less than {\tt 6pt}, - and {\tt 2} otherwise). -\end{description} - -\subsection{Expert level macros\label{EXPERT}} - -It is possible to change manually each font variable -if the default value calculated by {\sc mff.sty} is -not satisfactory. To perform such operation it is necessary -to specify the macro with the name -\begin{itemize} -\item[] {\tt \bs{}MFF@assign@{\em varname}} -\end{itemize} -which redefine the value of the register \verb?\@tempdimb?. -On input the register \verb?\@tempdimb? -is equal to automatically calculated value for that parameter, -and the register \verb?\@tempdima? is equal to the font design size. -On output the register \verb?\@tempdimb? should contain -the new value for the font parameter. -When the macro {\tt\bs{}MFF@assign@{\em varname}} is executed, -the correction procedure described in section~\ref{CORR} -is performed. - -For example, the following macro -\begin{itemize} -\item[] {\tt \bs{}def\bs{}MFF@assign@x\_height\{\bs{}@tempdimb=3\bs{}@tempdimb\}} -\end{itemize} -scales by 3 the font variable {\tt x\_height\#}, and the macro -\begin{itemize} -\item[] {\tt \bs{}def\bs{}MFF@assign@crisp\{\bs{}@tempdimb=0pt\}} -\end{itemize} -assigns zero value to the font variable {\tt crisp\#}. -To delete this user-specified transformation it is -necessary to use the explicit dummy definition -\begin{itemize} -\item[] {\tt \bs{}def\bs{}MFF@assign@x\_height\{\}}\\ - {\tt \bs{}def\bs{}MFF@assign@crisp\{\}} -\end{itemize} - -The characters `{\tt \_}' and `{\tt @}' should have the status -{\em letters} to type such macro definition. The command -{\tt\bs{}MFFcatcode} assigns the status {\em letters} to -`{\tt \_}' and `{\tt @}', and the command {\tt\bs{}noMFFcatcode} -returns the previous status for these characters. -These commands work correctly even inside {\tt .sty} files where -the character `{\tt @}' have the status {\em letter} before \LaTeX{} -starts to process the style file, and should conserve this status -when \LaTeX{} finishes to process the style file. -Since the command {\tt\bs{}noMFFcatcode} returns {\em the previous} -status to `{\tt \_}' and `{\tt @}' (that is, the catcode which -they have during the last command {\tt\bs{}MFFcatcode}), two subsequent -commands {\tt\bs{}MFFcatcode} without intermediate{\tt\bs{}noMFFcatcode} -produce an error: the status of `{\tt \_}' and `{\tt @}' will be -{\em letters} even after the command {\tt\bs{}noMFFcatcode}. -To assign the status {\em other characters} to `{\tt \_}' and `{\tt @}' -unconditionally, the command {\tt\bs{}otherMFFcatcode} can be used. - -\bigskip - -The only operation that should be performed inside -{\tt\bs{}MFF@assign@{\em varname}} is the re-definition of -{\tt\bs{}@tempdimb}. No {\tt\bs{}@tempdima} nor other -internal variables can be changed although the contents of -{\tt\bs{}@tempdima} and the initial value of {\tt\bs{}@tempdimb} -can be used to calculate the output value. The exception are -the dimensional registers -{\tt\bs{}MFF@dimenA}, {\tt\bs{}MFF@dimenB}, -{\tt\bs{}MFF@dimenC}, {\tt\bs{}MFF@dimenD} -which can be used for intermediate calculations. -Also, it is necessary to take into account that: -\begin{itemize} -\item the value of all dimensional {\tt .mf} variables except - \begin{itemize}\item[] - {\tt notch\_cut\#}, {\tt cap\_notch\_cut\#}, - {\tt rule\_thickness\#} - \end{itemize} - is divided by 36 when printed to the header file; -\item the values of the variables - \begin{itemize}\item[] - {\tt notch\_cut\#}, {\tt cap\_notch\_cut\#}, - {\tt rule\_thickness\#} - \end{itemize} - are divided by 100 when printed to the header file; -\item the values of non-dimensional variables - \begin{itemize} - \item[]\begin{flushleft} - {\tt fudge}, {\tt math\_spread}, - {\tt superness}, {\tt superpull}, - {\tt beak\_darkness} - \end{flushleft}\end{itemize} - are printed to the header file `as it is' but it is to be - specified in {\tt pt} --- say, to assign - the value 0.5 to the variable {\tt fudge}, - the command - \begin{itemize} - \item[] {\tt \bs{}def\bs{}MFF@assign@fudge\{\bs{}@tempdimb=0.5pt\}} - \end{itemize} - should be used; -\item the value of the font parameter {\tt slant} is - set directly by the commands {\tt \bs{}MFFslant} - and {\tt \bs{}MFFslantD} and cannot be specified - using the command {\tt\bs{}MFF@assign@slant}; -\item the value of {\tt font\_size} is defined by the parameter - {\em fntsize} of the command {\tt\bs{}MFFgener} - (see section~\ref{GENER}) and cannot be changed - after it. -\end{itemize} - - -\section{Automatic control of font parameters\label{CORR}} - -The \MF{} programs which describe the {\sl Computer Modern} typefaces -assume that the following mutial relations between font parameters -are fulfilled (see \cite{CM} for more details): -\begin{itemize} -\item $0.5\cdot${\tt x\_height} $\le$ {\tt bar\_height} - $\le 0.55\cdot${\tt x\_height} -\item $\displaystyle\begin{array}[t]{rcl} - \hbox{\tt asc\_height} &\ge& 1.2\cdot\hbox{\tt x\_height}\\ - \hbox{\tt curve} &\ge& \hbox{\tt stem}\\ - \hbox{\tt cap\_stem} &\ge& \hbox{\tt stem}\\ - \hbox{\tt cap\_curve} &\ge& \hbox{\tt curve} - \end{array}$ -\item -each of the variables -\begin{itemize} -\item[] \begin{flushleft} - {\tt thin\_join}, {\tt hair}, {\tt vair}, {\tt stem}, {\tt curve}, - {\tt ess}, {\tt flare}, {\tt dot\_size}, {\tt bar}, {\tt slab}, - {\tt cap\_hair}, {\tt cap\_stem}, {\tt cap\_curve}, - {\tt cap\_ess}, {\tt cap\_bar}, {\tt cap\_band} - \end{flushleft} -\end{itemize} -are no less than {\tt crisp}, {\tt tiny} and {\tt fine}; -\item -the variables {\tt stem\_corr} and {\tt vair\_corr} -are no greater than -$\frac{1}{5}$ {\tt cap\_hair}, -$\frac{1}{6}$ {\tt stem}, -$\frac{1}{4}$ {\tt fudge}$\times${\tt stem} -and $\frac{1}{12}$ {\tt curve}; -\item -the variable {\tt vair\_corr} is no greater than -$\frac{1}{4}\hbox{\tt slab}$; -\item -the variable {\tt stem\_corr} is no greater than -$\frac{1}{16}\hbox{\tt fudge}\times\hbox{\tt hair}$. -\end{itemize} - -Although even the canonical header files sometimes -violate these conditions, -it is more safe if the font parameters calculated by {\sc mff.sty} -satisfy these relations (especially if the {\sl Computer Modern} -driver files {\tt roman.mf}, {\tt textit.mf}, {\tt csc.mf} are used). -From the other side, several interesting effects can be achieved only -when these relations are violated (provided that the {\tt .mf} file -is still processed by \MF{} without errors). -The automatical correction is switched {\em on} and {\em off} -by the commands: -\begin{description} -\item[\quad{\tt\bs{}MFFcheck}] --- the conditions described above -are checked and the variable values are corrected if necessary; -\item[\quad{\tt\bs{}MFFnocheck}] --- the automatical checking -and correction of the font parameters is switched off although -the condition that some critical parameters -are not negative, is still checked and corrected, if necessary. -\end{description} - -\section{Font classes\label{CLASS}} - -The NFSS/\LaTeX$2_{\varepsilon}$ classifies \TeX{} font -families in a way which is different from the logical structure -of {\tt .mf} files for {\sl Computer Modern} typefaces. -That is, the {\em italic} and {\sc small caps} -are at the same family {\cmcmr roman} together with -{\cmcmbx bold} and {\cmcmsl slanted} fonts, although they are produced -by different driver files. Similarly, {\cmcmr roman}, -{\cmcmtt typewriter}, {\cmcmss sans serif}, {\cmdunh dunhill}, -{\cmquote quotation} and {\cmfunny funny} fonts are considered -as different font families -although they are produced by the same driver file {\tt roman.mf} -(but with different font parameters). - -As soon as we deal with {\sc mff.sty} there is no sharp boundary -between {\cmcmr roman}, {\cmcmbx bold}, {\cmcmsl slanted}, -{\cmcmtt typewriter}, {\cmcmss sans serif}, {\cmfunny funny} and -{\cmdunh dunhill} fonts --- each font is smoothly -converted to another one, while {\em italic} and {\sc small caps} -fonts are quite different --- they use different driver files. -The macros {\sc mff.sty} assign different {\em classes} to these fonts -to distinguish such difference from {\em font families} -used in NFSS. The following font classes can be specified now: -\begin{description} -\item[\quad CMR] --- Computer Modern Roman; -\item[\quad CMTI] --- Computer Modern Text Italic; -\item[\quad CMCSC] --- Computer Modern Small Caps; -\item[\quad DCR] --- European Computer Modern Roman; -\item[\quad DCTI] --- European Computer Modern Text Italic; -\item[\quad DCCSC] --- European Computer Modern Small Caps; -\item[\quad CMRZ] --- {\sl CMZ} Computer Modern Roman/Cyrillic - created by Nana Glonti and Alexander Samarin; -\item[\quad CMRIZ] --- {\sl CMZ} Computer Modern Text Italic/Cyrillic; -\item[\quad CMCCSC] --- {\sl CMZ} Computer Modern Small Caps/Cyrillic; -\item[\quad LHR] --- {\sl LH} Computer Modern Roman/Cyrillic - created by Olga Lapko and Alexey Khodulev; -\item[\quad LHTI] --- {\sl LH} Computer Modern Text Italic/Cyrillic; -\item[\quad LHCSC] --- {\sl LH} Computer Modern Small Caps/Cyrillic. -\item[\quad LLR] --- {\sl LL} Computer Modern Roman/Cyrillic - created by Olga Lapko and Alexey Khodulev - (cyrillic part only); -\item[\quad LLTI] --- {\sl LL} Computer Modern Text Italic/Cyrillic; -\item[\quad LLCSC] --- {\sl LL} Computer Modern Small Caps/Cyrillic. -\end{description} -The font class is specified by the command -\begin{itemize} -\item[]{\tt \bs{}MFFclass\{{\em class}\}} -\end{itemize} -For example the command {\tt \bs{}MFFclass\{CMR\}} -activates {\sl Computer Modern Roman} fonts -(that is, the font header file will use the driver file -{\tt roman.mf}). - -The set of font classes -can be extended easily as soon as there is a font based -on the same set of parameters as {\sl Computer Modern} fonts. -The only thing to do is to specify the macro which writes the -{\tt font\_identifier} value and the operator {\tt generate} -with corresponding name of the driver file (see {\sc mff.sty} -for the examples). - -\section{Special Effects\label{TRICKS}} - -To make more fun some special effects described in \cite{ABC,Outline} -can be included in your font. If you specify some {\em font trick} -declaration, the special portion of \MF{} code is inserted in the -header file which modifies the characters generated by -original \MF{} subroutines. -The {\em font trick} declarations can specify -\begin{itemize} -\item pattern for the main body of the character; -\item pattern for the rectangular box (background) of the character; -\item pattern for the character shadow (if present); -\item pattern for the underlining of the character (if present) - [this feature will be realized in future versions]; -\item additional transformations (reflections, rotations, etc.) - of the characters. -\end{itemize} -The command {\tt \bs{}MFFtrick} which specifies these attributes -has the format: -\begin{itemize} -\item[] {\tt \bs{}MFFtrick\{{\em char-style}\}\{{\em box-style}\}% - \{{\em shadow-style}\}\{{\em underline}\}\{{\em transform}\}} -\end{itemize} -where the parameter {\em underline} is reserved for future -improvements and means nothing in the current version. -The following letters can be used to specify the -{\em char-style}, {\em box-style} and {\em shadow-style}: -\begin{eqnarray*} -&&\hbox{{\tt z} --- no such element or solid white pattern;}\\ -&&\hbox{{\tt b} --- solid black pattern;}\\ -&&\hbox{{\tt h} --- horizontal stripes;}\\ -&&\hbox{{\tt v} --- vertical stripes;}\\ -&&\hbox{{\tt r} --- slanted stripes {\tt /};}\\ -&&\hbox{{\tt l} --- slanted stripes {\tt \bs};}\\ -&&\hbox{{\tt g} --- rectangular grid (`{\tt h}'$+$`{\tt v}');}\\ -&&\hbox{{\tt s} --- slanted grid (`{\tt r}'$+$`{\tt l}');}\\ -&&\hbox{{\tt d} --- dotted grid.} -\end{eqnarray*} -The capital letters {\tt Z}, {\tt B}, {\tt H}, {\tt V}, {\tt R}, -{\tt L}, {\tt G}, {\tt S}, {\tt D} -mean that the outline of the element contour -is added to the filling pattern. -The specifications {\tt b} and {\tt B} -are equivalent since the outlined contour is undistinguishable -over the solid black pattern. -For example, the outlined main character -with a white body, white box background and -outlined shadow filled with dotted grid is specified by the command -{\tt \bs{}MFFtrick\{Z\}\{z\}\{D\}\{\}}. - -The parameter {\em transform} specifies the transformation -of the character\footnote{Several transformations can be used ---- in this case the individual letters are separated by commas -like in {\tt\{rr,sx,ro\}}.}: -\begin{eqnarray*} -&&\hbox{{\tt rr} --- rotation $-90^{\circ}$;}\\ -&&\hbox{{\tt rl} --- rotation $+90^{\circ}$;}\\ -&&\hbox{{\tt ro} --- rotation $180^{\circ}$;}\\ -&&\hbox{{\tt sx} --- symmetry $x \longrightarrow -x$;}\\ -&&\hbox{{\tt sy} --- symmetry $y \longrightarrow -y$;}\\ -&&\hbox{{\tt sz} --- symmetry $(x,y) \longrightarrow (y,x)$,}\\ -&&\hbox{{\tt st} --- symmetry $(x,y) \longrightarrow (-y,-x)$.} -\end{eqnarray*} -The font trick effects specified by the command {\tt\bs{}MFFtrick} -are used immediately by the subsequent commands {\tt\bs{}MFFgener}. -The following commands switch {\em on} and {\em of} -the font trick effects provided that the font trick -parameters are already established: -\begin{itemize} -\item[] {\tt \bs{}MFFfonttricks} --- activates - the font trick declarations; -\item[] {\tt \bs{}MFFnotricks} --- deactivates - the font trick declarations. -\end{itemize} -The following commands can be used to specify the individual -font trick elements (these declarations are used by the subsequent -commands {\tt\bs{}MFFgener} only after the explicit -command {\tt\bs{}MFFfonttricks} or if they are specified after the -command {\tt\bs{}MFFtrick}): -\begin{description} -\item[\quad{\tt\bs{}trickMFFchar\{{\em char-style}\}}] --- the pattern style - for filling of the body of the character (``{\tt z}'' means white body); -\item[\quad{\tt\bs{}trickMFFbox\{{\em box-style}\}}] --- the pattern style - for filling of the background box (``{\tt z}'' means empty background); -\item[\quad{\tt\bs{}trickMFFshadow\{{\em shadow-style}\}}] --- the pattern style - for filling of the character shadow (``{\tt z}'' means no shadow); -\item[\quad{\tt\bs{}trickMFFtransform\{{\em transform}\}}] - --- the additional transformation of the character. -\end{description} -Some typical font trick effects can be specified using the -command -\begin{itemize} -\item[] {\tt\bs{}MFFstdtrick\{{\em trick-name}\}} -\end{itemize} -where the following {\em trick-name} identifiers can be used: -\begin{description} -\item[\quad{\tt standard}] --- no font tricks -(={\tt\bs{}MFFtrick\{b\}\{z\}\{z\}\{\}}); -\item[\quad{\tt reversed}] --- {\em reversed} characters: -white letters over black rectangle; -\item[\quad{\tt dotted}] --- characters with a body filled with dots; -\item[\quad{\tt striped}] --- characters with a body filled with -rectangular grid; -\item[\quad{\tt stripedH}] --- characters with a body filled with -horizontal stripes; -\item[\quad{\tt stripedV}] --- characters with a body filled with -vertical stripes; -\item[\quad{\tt slanted}] --- characters with a body filled with -slanted rectangular grid; -\item[\quad{\tt slantedL}] --- characters with a body filled with -slanted stripes ``{\tt\bs}''; -\item[\quad{\tt slantedR}] --- characters with a body filled with -slanted stripes ``{\tt/}''; -\item[\quad{\tt outlined}] --- outlined white characters; -\item[\quad{\tt shadowed}] --- outlined white characters -with solid shadows; -\item[\quad{\tt sHadowed}] --- outlined white characters -with outlined white shadows; -\item[\quad{\tt shadowonly}] --- -only the solid shadow of the character is still present. -\end{description} -The parameters of the {\em font trick} effects are controlled -by the commands: -\begin{itemize} - -\item outline contour parameters: -\begin{description} -\item[\quad{\tt \bs{}stepMFFoutline\{{\em value}\}}] --- -the thickness of the outline contour. -\end{description} - -\item shadow parameters: -\begin{description} -\item[\quad{\tt \bs{}stepMFFshadow\{{\em value}\}}] --- -the step of the shadow shift; -\item[\quad{\tt \bs{}cornerMFFshadow\{{\em char}\}}] --- -the corner of the shadow: -\begin{itemize} -\item[]{\tt A} --- right/down corner;\\ - {\tt B} --- right/upper corner;\\ - {\tt C} --- left/upper corner;\\ - {\tt D} --- left/down corner. -\end{itemize} -\end{description} - -\item the parameters for the patterns which are used - for the main body of the character: -\begin{description} -\item[\quad{\tt \bs{}stepMFFcharpattern\{{\em value}\}}] --- -the step between lines and dots; -\item[\quad{\tt \bs{}penMFFcharpattern\{{\em value}\}}] --- -the thickness of lines and dots. -\end{description} - -\item the parameters for the patterns which are used - for the background of the character: -\begin{description} -\item[\quad{\tt \bs{}stepMFFboxpattern\{{\em value}\}}] --- -the step between lines and dots; -\item[\quad{\tt \bs{}penMFFboxpattern\{{\em value}\}}] --- -the thickness of lines and dots. -\end{description} - -\item the parameters for the patterns which are used - for the character shadow: -\begin{description} -\item[\quad{\tt \bs{}stepMFFshadowpattern\{{\em value}\}}] --- -the step between lines and dots; -\item[\quad{\tt \bs{}penMFFshadowpattern\{{\em value}\}}] --- -the thickness of lines and dots. -\end{description} -\end{itemize} -The values of the thickness/step size for the -striped, slanted and dotted patterns -are specified using the non-dimensional {\em value} -which is the factor applied to the (dimensional) -font parameter {\tt hair\#}. For example, -the command {\tt\bs{}stepMFFboxpattern\{0.5\}} -specifies that the step size between horizontal, -vertical or slanted lines used to -construct the pattern for the background -is equal to $0.5\times${\tt hair\#}. - -\section{Default state} - -The default values for {\em all} parameters used by {\sc mff.sty} -are assigned by the command {\tt \bs{}MFFdefault} which -is defined as -\begin{itemize} -\item[]\small -\begin{verbatim} -\def\MFFdefault{ -% - \MFFcontrast[s] - \MFFscaleBoldLines{1} \MFFscaleThinLines{1} - \MFFscaleWidth{1} \MFFscaleHeight{1} - \MFFscaleAscend{1} \MFFscaleDescend{1} \MFFscaleMath{1} - \MFFscaleJoinLines{1} \MFFscaleNotchCut{1} - \MFFscaleDotSize{1} \MFFscaleSerifDish{1} -% - \MFFslant{0} - \MFFflagLigs{s} \MFFflagMonospace{n} - \MFFflagSquareDots{n} \MFFflagHefty{n} - \MFFflagSerifs{y} \MFFflagVariantG{n} - \MFFflagLowAsterisk{n} \MFFflagMathSpacing{n} -% - \stepMFFoutline{0.075} - \stepMFFshadow{0.5} - \cornerMFFshadow{A} - \stepMFFbackpattern{0.375} \penMFFbackpattern{0.075} - \stepMFFcharpattern{0.375} \penMFFcharpattern{0.075} - \stepMFFshadowpattern{0.375} \penMFFshadowpattern{0.075} -% - \MFFstdtrick{standard} - \MFFnotricks -% - \MFFsauter - \MFFclass{CMR} - \MFFmixture{0}{0}{0}{0}{0}{0}{0} - \MFFnocheck -} -\end{verbatim} -\end{itemize} -It can be called at any moment to initialize -from the very beginning the {\sc mff.sty} parameters. - - -\section{Configuration of {\sf em\TeX} programs\label{CONFIG}} - -The way you should setup \TeX\ and \MF\ to work with {\sc mff.sty} -correctly depends on your local system. -The most difficult (and system-dependent) aspect is how to teach -\MF{} to generate the {\tt *.pk}-files according to -your printer specification, and how to teach \TeX\ and -{\sl DVI}-drivers to find \MF's output files. -For {\sl MS DOS} and {\sl OS/2} and for {\sf em\TeX} -package this problem can be solved using the utility {\sl MFJob} -as it is described below. - -The configuration used here assumes that the {\tt .mf} files -and {\tt .tfm} files are placed at the working directory, and -the {\tt .pk} files are placed in its subdirectories with the names -corresponding to font resolution. The {\tt .mf} files created -by {\sc mff.sty} are placed at the current directory automatically. -The {\tt .tfm} and {\tt .pk} files are placed at the proper directories -by the utility {\sl MFJob} if it uses the following script file: -\begin{verbatim} -% -% file mff.mfj / script for MFPiC and MFF.STY -% -input [modes]; -def s=[s0]; -{ -base=plain; -fonts=f; mags=s; m; -output=pk[.\@Rrdpi\@f] tfm[@f] log[@f]; -} -\end{verbatim} -The script file named {\tt mff.mfj} should be placed at the directory -{\tt\bs{}EMTEX\bs{}MFJOB\bs}. -To process the {\tt .mf} file by \MF{} and to generate the output font -for the desired printer with desired magnification it is necessary -to use the command -\begin{itemize} -\item[]\tt mfjob /a mff.mfj m=$<${\em printer-mode}$>$ - s=$<${\em magn}$>$ - f=$<${\em fontname}$>$ -\end{itemize} -(option {\tt /a} forces the program to generate the output font even if -it was already generated). The program {\sl MFJob} put {\tt .tfm} -and {.log} files at the current directory, and {\tt .pk} file at -the subdirectory with the name which mirrors the font resolution. -Example: -\begin{itemize} -\item[]\tt mfjob /a mff.mfj m=lj s=1 f=zcmr10 -\end{itemize} - -To teach {\sf em\TeX} to look for {\tt .tfm} files at the current -directory as well as at the system directories, it is necessary -to specify the DOS environment variable {\tt TEXTFM} as -\begin{itemize} -\item[]\tt SET TEXTFM=\%EMTEXDIR\%\bs{}TFM!;.\bs -\end{itemize} -instead of its default value {\tt \%EMTEXDIR\%\bs{}TFM!} -(it is assumed that {\tt EMTEXDIR} -is specified already like {\tt SET EMTEXDIR=C:\bs{}EMTEX}). - -To teach {\sl DVI}-drivers to look for {\tt .pk} -files at the subdirectories of the current directory, -it is necessary to edit the printer configuration files -placed by {\sf em\TeX} at {\tt\bs{}EMTEX\bs{}DATA\bs}. -Suppose you use the {\sl HP Laser Jet} printer (the modifications -of the configuration files for other printers are performed similarly). -The original {\sl Laser Jet} configuration file {\tt lj.cnf} -looks like -\begin{verbatim} -% lj.cnf (300x300 DPI using LJ fonts) -+dvi-file={,$DVIDRVINPUT:}@i -+font-libraries=$DVIDRVFONTS:lj_{base,more} -+font-files=$DVIDRVFONTS:pixel.lj\@Rrdpi\@f{.pk,.pxl} -+graph-files={,$DVIDRVGRAPH:}{@Rrdpi\,}@PBf{@Ef,.msp,.pcx,.bmp} -+resolution=300 -+font-resolution=300 -+font-scaling=1 -+metafont-mode=laserjet -+max-drift=2 -\end{verbatim} -The new configuration file (with the file name {\em different} -from {\tt lj.cnf}) should contain the parameter {\tt +font-files} -in a form -\begin{verbatim} -.... -+font-files={$DVIDRVFONTS:pixel.lj\,}@Rrdpi\@f{.pk,.pxl} -.... -\end{verbatim} -Now it is necessary to substitute the references on this -configuration file in the batch files {\tt v.bat}, {\tt vs.bat} -and {\tt prtlj.bat} from {\tt\bs{}EMTEX\bs{}BIN\bs{}}, -and you are ready to work with {\sc mff.sty}. -Just the same re-configuration of {\sf em\TeX} will enable -to work correctly with the {\sl MF\PiC} macro package. - -\section{History} -\begin{itemize} -\item Ver. 0.?? --- the first attempt which helped - to learn more about \TeX{} commands and - the internal structure of - {\sl Computer Modern} fonts. -\item Ver. 1.0 --- the arithmetical macros finally works. - The ``empirical'' approximation scheme based - on linear splines and ``corrected-by-hand'' - CM parameters is implemented. - The fonts generated by command - {\tt\bs{}MFFmixture} (at that moment it was called - {\tt\bs{}MFFcompose}) are tested experimentally. -\item Ver. 1.1 --- {\sc sauter} approximation scheme is used instead - of the ``empirical'' approximation scheme. - Commands for the logical flags are added. - Font classes other than CMR are included. - Generation of {\sc small caps} and - {\it italic} fonts is added. - As a result new commands are added, - some commands are renamed. -\item Ver. 1.2 --- the font tricks described in \cite{ABC} and \cite{Outline} - are added. - Font classes corresponding to the {\sc DC fonts} - driver files are included. -\item Ver. 1.21a --- the approximation based on {\sc DC fonts} data is added. - Information printed at the header of {\tt .mf} file - becomes more detailed now. - The {\sc mff.sty} commands are revised - and the names of many commands are changed. - This version was distributed during the {\sl TUG-96} - Conference. -\item Ver. 1.21b --- the section ``{\em Last minute corrections}'' - is added to this manual. The obligatory prefix - {\em xx} is added now in front of the file name - containing the font header. The list of parameters - for {\tt\bs{}MFFtrick} is changed so that in future - the {\em underlining} effect can be added. - This version is put on CTAN. -\end{itemize} - -\section{Last minute corrections\label{MORE}} - -The following data is the result of discussioins -held during the {\sl TUG-96} Conference. -Some corrections suggested by the participants -are implemented just now, most of them will be -implemented in future versions: -\begin{itemize} -\item {\em Add special (and obligatory) prefix in front of - the file name so, that the fonts created - by {\sc mff.sty} cannot be confused with the fonts - created by the professional font designers.} - - Corrected. Now all the fonts created by {\sc mff.sty} are - started with {\em xx}. This feature is added to lock the - attempts to create user-defined fonts under the names of - the Computer Modern, etc., fonts. The prefix {\em xx} - used by default is defined as - \begin{itemize} - \item[] \tt\bs{}def\bs{}MFFprefix\{xx\} - \end{itemize} - and can be redefined by the User, if necessary. - -\item {\em Include {\sl Concrete Fonts} into the set of fonts - used in the arithmetical mixture of Computer Modern - families.} - - It is not done, and with great probability it will not be done - at all. The most essential effects associated with - {\em Concrete Font Family} can be produced in {\sc mff.sty} - using the scaling of the thickness for - the thin strokes (see section~\ref{WEIGHT}). - -\item {\em Extend {\sc mff.sty} to generate the mathematical fonts as well.} - - This is a very interesting and important suggestion, - but it requires a lot of time since it is also necessary - to describe all these fonts as the mathematical ones - inside \TeX. Will be done somedays in future. - -\item {\em Extend {\sc mff.sty} to work with {\sl Pandora Font Family} - as well.} - - Interesting and promising. It may be done if there - is enough time to look for for {\sl Pandora Font Family} - in more details. - -\item {\em Generate the partial fonts, i.e., generate the font where - some (or nearly all) characters from the original MetaFont source - are excluded.} - - Interesting and not too difficult using the re-definition - of the procedure {\tt beginchar} by the commands - inside the font header created by {\sc mff.sty}. - Some problems may arize due to {\sl Metafont} - memory problems. Will be done in future. - -\item {\em Include some more {\sl font trick} effect, namely the - underlining of the characters so that the underlining stroke - has some gaps near the descender of the character.} - - Interesting and not too difficult. Corresponding feature - is reserved now in the list of {\tt\bs{}MFFtrick} parameters - (see section~\ref{TRICKS}). - Will be realized in the nearest future. - -\end{itemize} - - -\section*{Acknowledgements} - -This research was partially supported by a grant -from the Dutch Organization for Scientific Research -(NWO grant No 07-30-007). - - -\begin{thebibliography}{00} -\bibitem{CM} Donald E.\ Knuth. Computer Modern Typefaces -(\CandT{} series). \AW, 1986. -\bibitem{SAUTER} John Sauter. {\em Building Computer Modern fonts}. -\TUB, {\bf 7} (1986), pp. 151--152. -\bibitem{DC} J\"org Knappen. {\em The release 1.2 of the Cork -encoded DC fonts and the text companion symbol fonts}. - Proceedings of the 9th Euro\TeX{} Conference, Arnhem, 1995. -\bibitem{LL} A.Khodulev, I.Mahovaya. -{\em On \TeX{} experience in MIR Publishers}. - Proceedings of the 7th Euro\TeX{} Conference, Prague, 1992. -\bibitem{LH} O.Lapko. - {\em MAKEFONT as a part of CurTUG--Em\TeX{} package}. - Proceedings of the 8th Euro\TeX{} Conference, Gda\'nsk, 1994. -\bibitem{ABC} Georgia K.M. Tobin. - {\em The ABS's of Special Effects}. - TUGBoat {\bf 9} (1988) No 1 pp. 15--18. -\bibitem{Outline} Doug Henderson. - {\em Outline Fonts with Metafont}. - TUGBoat {\bf 10} (1989) No 1 pp. 36--38. -\end{thebibliography} - - -\end{document} diff --git a/Master/texmf-dist/doc/latex/mff/table.tex b/Master/texmf-dist/doc/latex/mff/table.tex deleted file mode 100644 index f320bc2d3fa..00000000000 --- a/Master/texmf-dist/doc/latex/mff/table.tex +++ /dev/null @@ -1,113 +0,0 @@ -\def\mmp{{${}^{\vrule height 12pt}_{\vrule height 12pt}$}} -\def\mmpi{{${}^{\vrule height 20pt}_{\vrule height 8pt}$}} -\def\mp{}%\hphantom{\hbox{\vrule width 3pt}}} -\def\mpi{\hphantom{\hbox{\vrule width 24pt}}} -\def\np#1{\vphantom{\mmp}{\footnotesize\tt #1}} -\def\npi#1{\vphantom{\mmpi}{\footnotesize\em #1}} - - -\def\cp#1#2{&{#2\hfill\char#1\hfill}} -\def\pc#1#2{&{#2\fill\char#1\hfill}} -\def\cph#1#2#3{\np{"#2#1x} - \cp{"#10}{#3}\cp{"#11}{#3}\cp{"#12}{#3}\cp{"#13}{#3} - \cp{"#14}{#3}\cp{"#15}{#3}\cp{"#16}{#3}\cp{"#17}{#3} - \cp{"#18}{#3}\cp{"#19}{#3}\cp{"#1A}{#3}\cp{"#1B}{#3} - \cp{"#1C}{#3}\cp{"#1D}{#3}\cp{"#1E}{#3}\cp{"#1F}{#3}\\ - } -\def\cpo#1#2#3{\npi{'#2#1x} - \pc{'#10}{#3}\pc{'#11}{#3}\pc{'#12}{#3}\pc{'#13}{#3} - \pc{'#14}{#3}\pc{'#15}{#3}\pc{'#16}{#3}\pc{'#17}{#3}\\ - } - -\def\Table#1{% -\centerline{\Large Font \fontname#1}% -\bigskip\hrule\bigskip -\TableH{}{#1}% -%\TableO{}{#1}% -} - -\def\TableH#1#2{% -\centerline{\begin{tabular}{||c||c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c||} -\hline - &\mp & \mp &\mp &\mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp \\ - & \np{x0} & \np{x1} & \np{x2} & \np{x3} & \np{x4} & \np{x5} & \np{x6} & \np{x7} & \np{x8} & \np{x9} & \np{xA} & \np{xB} & \np{xC} & \np{xD} & \np{xE} & \np{xF} \\ -\hline\hline -\cph{0}{#1}{#2}\hline -\cph{1}{#1}{#2}\hline -\cph{2}{#1}{#2}\hline -\cph{3}{#1}{#2}\hline -\cph{4}{#1}{#2}\hline -\cph{5}{#1}{#2}\hline -\cph{6}{#1}{#2}\hline -\cph{7}{#1}{#2}\hline\hline -\cph{8}{#1}{#2}\hline -\cph{9}{#1}{#2}\hline -\cph{A}{#1}{#2}\hline -\cph{B}{#1}{#2}\hline -\cph{C}{#1}{#2}\hline -\cph{D}{#1}{#2}\hline -\cph{E}{#1}{#2}\hline -\cph{F}{#1}{#2} -\hline\hline - & \np{x0} & \np{x1} & \np{x2} & \np{x3} & \np{x4} & \np{x5} & \np{x6} & \np{x7} & \np{x8} & \np{x9} & \np{xA} & \np{xB} & \np{xC} & \np{xD} & \np{xE} & \np{xF} \\ - &\mp & \mp &\mp &\mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp & \mp \\ -\hline -\end{tabular}} -} - -\def\TableO#1#2{% -\centerline{\em\begin{tabular}{||c||c|c|c|c|c|c|c|c||} -\hline - &\mpi & \mpi &\mpi &\mpi & \mpi & \mpi & \mpi & \mpi \\ - & \npi{x0}& \npi{x1}& \npi{x2}& \npi{x3}& \npi{x4}& \npi{x5}& \npi{x6}& \npi{x7}\\ -\hline\hline -\cpo{00}{#1}{#2}\hline -\cpo{01}{#1}{#2}\hline\hline -\cpo{02}{#1}{#2}\hline -\cpo{03}{#1}{#2}\hline\hline -\cpo{04}{#1}{#2}\hline -\cpo{05}{#1}{#2}\hline\hline -\cpo{06}{#1}{#2}\hline -\cpo{07}{#1}{#2}\hline\hline -\cpo{10}{#1}{#2}\hline -\cpo{11}{#1}{#2}\hline\hline -\cpo{12}{#1}{#2}\hline -\cpo{13}{#1}{#2}\hline\hline -\cpo{14}{#1}{#2}\hline -\cpo{15}{#1}{#2}\hline\hline -\cpo{16}{#1}{#2}\hline -\cpo{17}{#1}{#2} -\hline\hline - & \npi{x0}& \npi{x1}& \npi{x2}& \npi{x3}& \npi{x4}& \npi{x5}& \npi{x6}& \npi{x7}\\ - &\mpi & \mpi &\mpi &\mpi & \mpi & \mpi & \mpi & \mpi \\ -\hline -\end{tabular}} - -\centerline{\em\begin{tabular}{||c||c|c|c|c|c|c|c|c||} -\hline - &\mpi & \mpi &\mpi &\mpi & \mpi & \mpi & \mpi & \mpi \\ - & \npi{x0}& \npi{x1}& \npi{x2}& \npi{x3}& \npi{x4}& \npi{x5}& \npi{x6}& \npi{x7}\\ -\hline\hline -\cpo{20}{#1}{#2}\hline -\cpo{21}{#1}{#2}\hline\hline -\cpo{22}{#1}{#2}\hline -\cpo{23}{#1}{#2}\hline\hline -\cpo{24}{#1}{#2}\hline -\cpo{25}{#1}{#2}\hline\hline -\cpo{26}{#1}{#2}\hline -\cpo{27}{#1}{#2}\hline\hline -\cpo{30}{#1}{#2}\hline -\cpo{31}{#1}{#2}\hline\hline -\cpo{32}{#1}{#2}\hline -\cpo{33}{#1}{#2}\hline\hline -\cpo{34}{#1}{#2}\hline -\cpo{35}{#1}{#2}\hline\hline -\cpo{36}{#1}{#2}\hline -\cpo{37}{#1} -\hline\hline - & \npi{x0}& \npi{x1}& \npi{x2}& \npi{x3}& \npi{x4}& \npi{x5}& \npi{x6}& \npi{x7}\\ - &\mpi & \mpi &\mpi &\mpi & \mpi & \mpi & \mpi & \mpi \\ -\hline -\end{tabular}} -} - diff --git a/Master/texmf-dist/doc/latex/mff/test.tex b/Master/texmf-dist/doc/latex/mff/test.tex deleted file mode 100644 index 6da475f596a..00000000000 --- a/Master/texmf-dist/doc/latex/mff/test.tex +++ /dev/null @@ -1,19 +0,0 @@ - -\documentstyle[mff]{article} -\begin{document} - -\MFFmixture{4}{2}{0.15}{0}{0}{0} -\MFFscaleAsc{1.5} -\MFFscaleDesc{1.5} -\MFFclass{CMR} -\MFFtrick{Z}{z}{Z}{z}{} -\stepMFFshadow{0.075} -\MFFgener[scaled 1000]{\zfnt}{z15}{15pt} - -\input{table} - -\Table{\zfnt} - - -\end{document} - diff --git a/Master/texmf-dist/source/latex/mff/file_id.diz b/Master/texmf-dist/source/latex/mff/file_id.diz deleted file mode 100644 index 25f479217f9..00000000000 --- a/Master/texmf-dist/source/latex/mff/file_id.diz +++ /dev/null @@ -1,8 +0,0 @@ -This is MFF.STY 1.21b -(beta version) -Author: A.S.Berdnikov - (berd@ianin.spb.su) -Try & enjoy ! - -Note: mffdoc.tex = manual - (read before you use mff!) diff --git a/Master/texmf-dist/source/latex/mff/mff.mfj b/Master/texmf-dist/source/latex/mff/mff.mfj deleted file mode 100644 index 41c6417f259..00000000000 --- a/Master/texmf-dist/source/latex/mff/mff.mfj +++ /dev/null @@ -1,10 +0,0 @@ -% -% file mff.mfj / script for MFPiC and MFF.STY -% -input [modes]; -def s=[s0]; -{ -base=plain; -fonts=f; mags=s; m; -output=pk[.\@Rrdpi\@f] tfm[@f] log[@f]; -} diff --git a/Master/texmf-dist/source/latex/mff/test.bat b/Master/texmf-dist/source/latex/mff/test.bat deleted file mode 100644 index c96da177d99..00000000000 --- a/Master/texmf-dist/source/latex/mff/test.bat +++ /dev/null @@ -1,4 +0,0 @@ -call latex2e test
-mfjob /a mff m=ljh s=1 f=xxz15
-call latex2e test
-call v.bat test.dvi
diff --git a/Master/texmf-dist/tex/latex/mff/mfarithm.tex b/Master/texmf-dist/tex/latex/mff/mfarithm.tex deleted file mode 100644 index 0eb00afe20f..00000000000 --- a/Master/texmf-dist/tex/latex/mff/mfarithm.tex +++ /dev/null @@ -1,165 +0,0 @@ -% -% Base arithmetic functions -% - -\newdimen\MFF@dimenA -\newdimen\MFF@dimenB -\newdimen\MFF@dimenC -\newdimen\MFF@dimenD - -% -% this code convert dimen (pt) into real value assigned to \@tempa -% -\def\MFF@convert#1{\@ovxx=#1\relax \@negargfalse - \ifdim \@ovxx<0pt \@ovxx=-\@ovxx \@negargtrue \fi - \@xarg=\@ovxx \@yarg=\@xarg - \divide\@xarg by 65536\relax - \@yyarg=\@xarg \multiply\@yyarg by 65536\relax - \advance\@yarg by -\@yyarg - \multiply\@yarg by 3125 \divide\@yarg by 2048 - \ifnum \@yarg > 9999 \def\@tempa{}% - \else \ifnum \@yarg > 999 \def\@tempa{0}% - \else \ifnum \@yarg > 99 \def\@tempa{00}% - \else \ifnum \@yarg > 99 \def\@tempa{000}% - \else \def\@tempa{0000}% - \fi\fi\fi\fi - \edef\@tempa{\if@negarg -\fi \the\@xarg.\@tempa\the\@yarg}% -} - -% ************************************************************ -% *** The following macros are partially taken from PiCTeX *** -% ************************************************************ - -% DIVISION (Does long division of dimension registers) -% ** \MFF@divide{DIVIDEND}{DIVISOR}{RESULT} - -% ** \MFF@divide DIVIDEND [by] DIVISOR [to get] ANSWER -% ** Divides the dimension DIVIDEND by the dimension DIVISOR, placing the -% ** quotient in the dimension register ANSWER. Values are understood to -% ** be in points. E.g. 12.5pt/1.4pt=8.92857pt. -% ** Quotient is accurate to 1/65536pt=2**[-16]pt -% ** |DIVISOR| should be < 8192pt = 113.36in -% ** --- otherwise acciracy is decreased in 2 times -\def\MFF@divide#1#2#3{% -\ifdim #2=\z@ #3=\z@\relax -\else - \MFF@dimenB=#1\relax% ** dimB holds current remainder (r) - \MFF@dimenC=#2\relax% ** dimC holds divisor (d) - \ifdim\MFF@dimenC<\z@ - \MFF@dimenB=-\MFF@dimenB \MFF@dimenC=-\MFF@dimenC - \fi - \@negargfalse - \ifdim \MFF@dimenB<\z@ \MFF@dimenB=-\MFF@dimenB \@negargtrue \fi - \ifdim \MFF@dimenC<8192pt\relax - \else - \MFF@dimenB=0.5\MFF@dimenB - \MFF@dimenC=0.5\MFF@dimenC - \fi - \MFF@dimenD=\MFF@dimenB% ** dimD holds quotient q=r/d for this - \divide \MFF@dimenD \MFF@dimenC% ** step, in units of scaled pts - \MFF@dimenA=\MFF@dimenD% ** dimA eventually holds answer (a) - \multiply\MFF@dimenD \MFF@dimenC% ** r <-- r - dq - \advance\MFF@dimenB -\MFF@dimenD% ** First step complete. Have integer part -% ** of a, and corresponding remainder. - \MFF@dimenD=\MFF@dimenC% ** Temporarily use dimD to hold |d| - \ifdim\MFF@dimenD<64pt% ** Branch on the magnitude of |d| - \MFF@divstep[256]\MFF@divstep[256]% - \else -% ** The following code handles divisors d with -% ** (1) .88in = 64pt <= d < 256pt = 3.54in -% ** (2) 3.54in = 256pt <= d < 2048pt = 28.34in -% ** (3) 28.34in = 2048pt <= d < 8192pt = 113.36in -% ** Anything bigger than that may result in an overflow condition. -% ** For our purposes, we should never even see case (2) or (3). - \ifdim\MFF@dimenD<256pt - \MFF@divstep[64]\MFF@divstep[32]\MFF@divstep[32]% - \else - \ifdim\MFF@dimenD<2048pt - \MFF@divstep[8]\MFF@divstep[8]\MFF@divstep[8]% - \MFF@divstep[8]\MFF@divstep[4]\MFF@divstep[4]% - \else - \MFF@divstep[2]\MFF@divstep[2]\MFF@divstep[2]\MFF@divstep[2]% - \MFF@divstep[2]\MFF@divstep[2]\MFF@divstep[2]\MFF@divstep[2]% - \MFF@divstep[2]\MFF@divstep[2]\MFF@divstep[2]\MFF@divstep[2]% - \MFF@divstep[2]\MFF@divstep[2]\MFF@divstep[2]\MFF@divstep[2]% - \fi - \fi - \fi - \if@negarg \MFF@dimenA=-\MFF@dimenA \fi - #3=\MFF@dimenA -\fi\ignorespaces} - -% ** The following macro does the real long division work. -\def\MFF@divstep[#1]{% ** #1 = "B" - \MFF@dimenB=#1\MFF@dimenB% ** r <-- B*r - \MFF@dimenD=\MFF@dimenB% ** dimD holds quotient q=r/d for this - \divide \MFF@dimenD by \MFF@dimenC% ** step, in units of scaled pts - \MFF@dimenA=#1\MFF@dimenA% ** a <-- B*a + q - \advance\MFF@dimenA by \MFF@dimenD% - \multiply\MFF@dimenD by \MFF@dimenC% ** r <-- r - dq - \advance\MFF@dimenB by -\MFF@dimenD} - - -% MULTIPLICATION (Does long multiplication of dimension registers) -% ** \MFF@multiply{FACTOR1}{FACTOR2}{RESULT} -% ** Result is accurate to 1/65536pt=2**[-16]pt -% ** |FACTOR2| should be < 8192pt = 113.36in -% ** --- otherwise acciracy is decreased in 2 times - -\def\MFF@multiply#1#2#3{% - \MFF@dimenB=#1\relax \MFF@dimenC=#2\relax - \ifdim\MFF@dimenC<\z@ - \MFF@dimenB=-\MFF@dimenB \MFF@dimenC=-\MFF@dimenC - \fi - \@negargfalse - \ifdim \MFF@dimenB<\z@ \MFF@dimenB=-\MFF@dimenB \@negargtrue \fi - \ifdim \MFF@dimenC<8192pt\relax - \else - \MFF@dimenB=2\MFF@dimenB - \MFF@dimenC=0.5\MFF@dimenC - \fi - % calculate integer part - \@yarg=\MFF@dimenC \@xarg=65536 - \@yyarg=\@yarg \divide\@yyarg by \@xarg - % multiplication by integer part - \MFF@dimenA=\MFF@dimenB \multiply\MFF@dimenA by \@yyarg - % prepare fraction part - \multiply\@yyarg by \@xarg \advance\@yarg by -\@yyarg - % multiplication cycle - \ifdim\MFF@dimenB<64pt% - \MFF@mulstep[256]\MFF@mulstep[256]% - \else - \ifdim\MFF@dimenB<256pt - \MFF@mulstep[64]\MFF@mulstep[32]\MFF@mulstep[32]% - \else - \ifdim\MFF@dimenB<2048pt - \MFF@mulstep[8]\MFF@mulstep[8]\MFF@mulstep[8]% - \MFF@mulstep[8]\MFF@mulstep[4]\MFF@mulstep[4]% - \else - \MFF@mulstep[2]\MFF@mulstep[2]\MFF@mulstep[2]\MFF@mulstep[2]% - \MFF@mulstep[2]\MFF@mulstep[2]\MFF@mulstep[2]\MFF@mulstep[2]% - \MFF@mulstep[2]\MFF@mulstep[2]\MFF@mulstep[2]\MFF@mulstep[2]% - \MFF@mulstep[2]\MFF@mulstep[2]\MFF@mulstep[2]\MFF@mulstep[2]% - \fi - \fi - \fi - % assign result - \if@negarg \MFF@dimenA=-\MFF@dimenA \fi - #3=\MFF@dimenA -\ignorespaces} - -% perform partial multiplication -\def\MFF@mulstep[#1]{\divide\@xarg by #1 - \@yyarg=\@yarg \divide\@yyarg by \@xarg - % calculate new additive component - \MFF@dimenC=\MFF@dimenB \multiply\MFF@dimenC by \@yyarg - \divide\MFF@dimenC by #1 \advance\MFF@dimenA by \MFF@dimenC - % update fraction data - \multiply\@yyarg by \@xarg \advance\@yarg by -\@yyarg - \divide\MFF@dimenB by #1 -} - -% ********************************************* -% ******** End of PiCTeX arith macros ********* -% ********************************************* - diff --git a/Master/texmf-dist/tex/latex/mff/mfcorfnt.tex b/Master/texmf-dist/tex/latex/mff/mfcorfnt.tex deleted file mode 100644 index 3e495984354..00000000000 --- a/Master/texmf-dist/tex/latex/mff/mfcorfnt.tex +++ /dev/null @@ -1,492 +0,0 @@ -% -% Macro which are responsible for correction -% of font parameters -% - -\def\MFF@corr@many#1{% - \if@MFF@checkit - \MFF@dimenD=\MFF@temp@crisp\relax - \ifdim \@tempdimb<\MFF@dimenD - \@tempdimb=\MFF@dimenD \MFF@warncorr{#1}% - \fi - \MFF@dimenD=\MFF@temp@tiny\relax - \ifdim \@tempdimb<\MFF@dimenD - \@tempdimb=\MFF@dimenD \MFF@warncorr{#1}% - \fi - \MFF@dimenD=\MFF@temp@fine\relax - \ifdim \@tempdimb<\MFF@dimenD - \@tempdimb=\MFF@dimenD \MFF@warncorr{#1}% - \fi - \fi -} - -\def\MFF@corr@corr#1{% - \if@MFF@checkit - \MFF@dimenD=\MFF@temp@cap_hair\relax - \ifdim \@tempdimb>0.2\MFF@dimenD - \@tempdimb=0.2\MFF@dimenD \MFF@warncorr{#1}% - \fi - \MFF@dimenD=\MFF@temp@stem\relax - \ifdim \@tempdimb>0.16666666667\MFF@dimenD - \@tempdimb=0.16666666667\MFF@dimenD \MFF@warncorr{#1}% - \fi - \MFF@dimenA=\MFF@temp@fudge\relax - \MFF@multiply{\MFF@dimenA}{\MFF@dimenD}{\MFF@dimenD}% - \ifdim \@tempdimb>0.25\MFF@dimenD - \@tempdimb=0.25\MFF@dimenD \MFF@warncorr{#1}% - \fi - \MFF@dimenD=\MFF@temp@curve\relax - \ifdim \@tempdimb>0.083333333333\MFF@dimenD - \@tempdimb=0.083333333333\MFF@dimenD \MFF@warncorr{#1}% - \fi - \fi -} - -% -% Correct font parameters -% - - -\def\MFF@correct@u{% - \@tempdimb=\MFF@scale@width\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{u}\fi -} - -%\def\MFF@correct@width_adj{% -%} - -\def\MFF@correct@serif_fit{% - \@tempdimb=\MFF@scale@width\@tempdimb -} - -\def\MFF@correct@cap_serif_fit{% - \@tempdimb=\MFF@scale@width\@tempdimb -} - -%\def\MFF@correct@letter_fit{% -%} - -\def\MFF@correct@body_height{% - \@tempdimb=\MFF@scale@height\@tempdimb - \@tempdimb=\MFF@scale@asc\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{body_height}\fi -} - -\def\MFF@correct@asc_height{% - \@tempdimb=\MFF@scale@height\@tempdimb - \@tempdimb=\MFF@scale@asc\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{asc_height}\fi - \if@MFF@checkit - \MFF@dimenD=\MFF@temp@x_height\relax - \ifdim \@tempdimb<1.2\MFF@dimenD - \@tempdimb=1.2\MFF@dimenD \MFF@warncorr{asc_height}% - \fi - \fi -} - -\def\MFF@correct@cap_height{% - \@tempdimb=\MFF@scale@height\@tempdimb - \@tempdimb=\MFF@scale@asc\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_height}\fi -} - -\def\MFF@correct@fig_height{% - \@tempdimb=\MFF@scale@height\@tempdimb - \@tempdimb=\MFF@scale@asc\@tempdimb - \@tempdimb=\MFF@scale@math\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{fig_height}\fi -} - -\def\MFF@correct@x_height{% - \@tempdimb=\MFF@scale@height\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{x_height}\fi - \edef\MFF@temp@x_height{\the\@tempdimb}% -} - -\def\MFF@correct@math_axis{% - \@tempdimb=\MFF@scale@height\@tempdimb - \@tempdimb=\MFF@scale@math\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{math_axis}\fi -} - -\def\MFF@correct@comma_depth{% - \@tempdimb=\MFF@scale@height\@tempdimb - \@tempdimb=\MFF@scale@desc\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{comma_depth}\fi -} - -\def\MFF@correct@desc_depth{% - \@tempdimb=\MFF@scale@height\@tempdimb - \@tempdimb=\MFF@scale@desc\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{desc_depth}\fi -} - -\def\MFF@correct@acc_height{% - \@tempdimb=\MFF@scale@height\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{acc_height}\fi -} - -\def\MFF@correct@dot_height{% - \@tempdimb=\MFF@scale@height\@tempdimb - \@tempdimb=\MFF@scale@asc\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{dot_height}\fi -} - -\def\MFF@correct@udot_height{% - \@tempdimb=\MFF@scale@height\@tempdimb - \@tempdimb=\MFF@scale@asc\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{udot_height}\fi -} - -\def\MFF@correct@bar_height{% - \@tempdimb=\MFF@scale@height\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{bar_height}\fi - \if@MFF@checkit - \MFF@dimenD=\MFF@temp@x_height\relax - \ifdim \@tempdimb<0.5\MFF@dimenD - \@tempdimb=0.5\MFF@dimenD \MFF@warncorr{bar_height}% - \fi - \ifdim \@tempdimb>0.55\MFF@dimenD - \@tempdimb=0.55\MFF@dimenD \MFF@warncorr{bar_height}% - \fi - \fi -} - -\def\MFF@correct@crisp{% - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{crisp}\fi - \edef\MFF@temp@crisp{\the\@tempdimb}% -} - -\def\MFF@correct@tiny{% - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{tiny}\fi - \edef\MFF@temp@tiny{\the\@tempdimb}% -} - -\def\MFF@correct@fine{% - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{fine}\fi - \edef\MFF@temp@fine{\the\@tempdimb}% -} - -\def\MFF@correct@thin_join{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \fi - \@tempdimb=\MFF@scale@join\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{thin_join}\fi - \MFF@corr@many{thin_join}% -} - -\def\MFF@correct@hair{% - \@tempdimb=\MFF@scale@thin\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@contrast\MFF@dimenD - \fi - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{hair}\fi - \MFF@corr@many{hair}% - \edef\MFF@temp@hair{\the\@tempdimb}% -} - -\def\MFF@correct@vair{% - \@tempdimb=\MFF@scale@thin\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@contrast\MFF@dimenD - \fi - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{vair}\fi - \MFF@corr@many{vair}% -} - -\def\MFF@correct@stem{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{stem}\fi - \MFF@corr@many{stem}% - \edef\MFF@temp@stem{\the\@tempdimb}% -} - -\def\MFF@correct@curve{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@dimenD - \fi - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{curve}\fi - \if@MFF@checkit - \MFF@dimenD=\MFF@temp@stem\relax - \ifdim \@tempdimb<\MFF@dimenD - \@tempdimb=\MFF@dimenD \MFF@warncorr{curve}% - \fi - \fi - \MFF@corr@many{curve}% - \edef\MFF@temp@curve{\the\@tempdimb}% -} - -\def\MFF@correct@ess{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@dimenD - \fi - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{ess}\fi - \MFF@corr@many{ess}% -} - -\def\MFF@correct@flare{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \@tempdimb=\MFF@scale@dot\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{flare}\fi - \MFF@corr@many{flare}% -} - -\def\MFF@correct@dot_size{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@dimenD - \fi - \@tempdimb=\MFF@scale@dot\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{dot_size}\fi - \MFF@corr@many{dot_size}% -} - -\def\MFF@correct@cap_hair{% - \@tempdimb=\MFF@scale@thin\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@contrast\MFF@dimenD - \fi - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_hair}\fi - \MFF@corr@many{cap_hair}% - \edef\MFF@temp@cap_hair{\the\@tempdimb}% -} - -\def\MFF@correct@cap_stem{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_stem}\fi - \if@MFF@checkit - \MFF@dimenD=\MFF@temp@stem\relax - \ifdim \@tempdimb<\MFF@dimenD - \@tempdimb=\MFF@dimenD \MFF@warncorr{cap_stem}% - \fi - \fi - \MFF@corr@many{cap_stem}% - \edef\MFF@temp@cap_stem{\the\@tempdimb}% -} - -\def\MFF@correct@cap_curve{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@dimenD - \fi - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_curve}\fi - \if@MFF@checkit - \MFF@dimenD=\MFF@temp@curve\relax - \ifdim \@tempdimb<\MFF@dimenD - \@tempdimb=\MFF@dimenD \MFF@warncorr{cap_curve}% - \fi - \fi - \MFF@corr@many{cap_curve}% -} - -\def\MFF@correct@cap_ess{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@dimenD - \fi - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_ess}\fi - \MFF@corr@many{cap_ess}% -} - -\def\MFF@correct@rule_thickness{% - \@tempdimb=\MFF@scale@thin\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{rule_thickness}\fi -} - -\def\MFF@correct@dish{% - \@tempdimb=\MFF@scale@dish\@tempdimb -} - -%\def\MFF@correct@bracket{% -%} - -\def\MFF@correct@jut{% - \@tempdimb=\MFF@scale@width\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{jut}\fi -} - -\def\MFF@correct@cap_jut{% - \@tempdimb=\MFF@scale@width\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_jut}\fi -} - -\def\MFF@correct@beak_jut{% - \@tempdimb=\MFF@scale@width\@tempdimb -} - -%\def\MFF@correct@beak{% -%} - -\def\MFF@correct@notch_cut{% - \@tempdimb=\MFF@scale@thin\@tempdimb - \@tempdimb=\MFF@scale@notch\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{notch_cut}\fi -} - -\def\MFF@correct@bar{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@stem\relax - \@tempdimb=\MFF@dimenD - \fi - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{bar}\fi - \MFF@corr@many{bar}% -} - -\def\MFF@correct@slab{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@dimenD - \fi - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{slab}\fi - \MFF@corr@many{slab}% - \edef\MFF@temp@slab{\the\@tempdimb}% -} - -\def\MFF@correct@cap_bar{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@dimenD - \fi - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_bar}\fi - \MFF@corr@many{cap_bar}% -} - -\def\MFF@correct@cap_band{% - \@tempdimb=\MFF@scale@bold\@tempdimb - \if n\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@dimenD - \fi - \if d\MFF@contrasttype - \MFF@dimenD=\MFF@temp@cap_stem\relax - \@tempdimb=\MFF@dimenD - \fi - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_band}\fi - \MFF@corr@many{cap_band}% -} - -\def\MFF@correct@cap_notch_cut{% - \@tempdimb=\MFF@scale@thin\@tempdimb - \@tempdimb=\MFF@scale@notch\@tempdimb - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_notch_cut}\fi -} - -%\def\MFF@correct@serif_drop{% -%} - -\def\MFF@correct@stem_corr{% - \MFF@corr@corr{stem_cor}% - \if@MFF@checkit - \MFF@dimenD=\MFF@temp@hair\relax - \MFF@dimenA=\MFF@temp@fudge\relax - \MFF@multiply{\MFF@dimenA}{\MFF@dimenD}{\MFF@dimenD}% - \ifdim \@tempdimb>0.0625\MFF@dimenD - \@tempdimb=0.0625\MFF@dimenD \MFF@warncorr{stem_corr}% - \fi - \fi -} - -\def\MFF@correct@vair_corr{% - \MFF@corr@corr{vair_cor}% - \if@MFF@checkit - \MFF@dimenD=\MFF@temp@slab\relax - \ifdim \@tempdimb>0.25\MFF@dimenD - \@tempdimb=0.25\MFF@dimenD \MFF@warncorr{vair_corr}% - \fi - \fi -} - -%\def\MFF@correct@apex_corr{% -%} - -%\def\MFF@correct@o{% -%} - -%\def\MFF@correct@apex_o{% -%} - -\def\MFF@correct@fudge{% - \ifdim \@tempdimb<0.5pt\relax \@tempdimb=0.5pt \MFF@warncorr{fudge}\fi - \edef\MFF@temp@fudge{\the\@tempdimb}% -} - -%\def\MFF@correct@math_spread{% -%} - -%\def\MFF@correct@superness{% -%} - -%\def\MFF@correct@superpull{% -%} - -\def\MFF@correct@beak_darkness{% - \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{beak_darkness}\fi -} - - -% -% End of font correction -% diff --git a/Master/texmf-dist/tex/latex/mff/mfdcdata.tex b/Master/texmf-dist/tex/latex/mff/mfdcdata.tex deleted file mode 100644 index 558f68e3c6c..00000000000 --- a/Master/texmf-dist/tex/latex/mff/mfdcdata.tex +++ /dev/null @@ -1,1720 +0,0 @@ -% -% Approxiomation for font parameters based on DC Fonts -% - -\def\MFF@title@DCFONT{% - \MFF@comment{Based on DC font parameter files prepared by} - \MFF@comment{J"org Knappen and Norbert Schwarz (Version 1.2 [1995])} -} - -%% -%% CMR Family -%% - -% -% this code find index (=\@tempcnta) for font size value, -% (assigned earlier to \@tempdima) -% -\def\DCFNT@findpos@CMR{\ifdim \@tempdima<\z@ \@tempdima=\z@ \fi - \@tempcnta= - \ifdim \@tempdima<5pt 0 - \else \ifdim \@tempdima<6pt 1 - \else \ifdim \@tempdima<7pt 2 - \else \ifdim \@tempdima<8pt 3 - \else \ifdim \@tempdima<9pt 4 - \else \ifdim \@tempdima<10pt 5 - \else \ifdim \@tempdima<12pt 6 - \else 7 - \fi\fi\fi\fi\fi\fi\fi} -% -% x-value and interval value for given index \@tempcntb -% -\def\DCFNT@fntsize@CMR{\@tempdimb= - \ifcase\@tempcntb 0pt \or 5pt \or 6pt \or 7pt \or 8pt \or 9pt - \or 10pt \or 12pt \else 17.28pt - \fi} - -\def\DCFNT@interval@CMR{% - \ifcase\@tempcntb 5 % 0pt-5pt - \or 1 % 5pt-6pt - \or 1 % 6pt-7pt - \or 1 % 7pt-8pt - \or 1 % 8pt-9pt - \or 1 % 9pt-10pt - \or 2 % 10pt-12pt - \or 5.28 % 12pt-17.28pt - \else 0 - \fi} - -\def\DCFNT@revint@CMR{% - \ifcase\@tempcntb 0.2 % 0pt-5pt - \or 1 % 5pt-6pt - \or 1 % 6pt-7pt - \or 1 % 7pt-8pt - \or 1 % 8pt-9pt - \or 1 % 9pt-10pt - \or 0.5 % 10pt-12pt - \or 0.18939393939 % 12pt-17.28pt - \else 0 - \fi} - -\def\DCFNT@CMR@u{\@tempdimb= - \ifcase\@tempcntb 5pt \or 12.5pt \or 14pt \or 15.5pt \or 17pt - \or 18.5pt \or 20pt \or 23.5pt \else 32.5pt - \fi} - -\def\DCFNT@CMR@width_adj{\@tempdimb=0pt} - -\def\DCFNT@CMR@serif_fit{\@tempdimb=0pt} - -\def\DCFNT@CMR@cap_serif_fit{\@tempdimb= - \ifcase\@tempcntb 0pt \or 2pt \or 2.8pt \or 3.5pt \or 4.1pt - \or 4.6pt \or 5pt \or 5.8pt \else 8pt - \fi} - -\def\DCFNT@CMR@letter_fit{\@tempdimb= - \ifcase\@tempcntb 7pt \or 5pt \or 3pt \or 2pt \or 0pt - \or 0pt \or 0pt \or 0pt \else -0.1pt - \fi} - -\def\DCFNT@CMR@body_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 135pt \or 162pt \or 189pt \or 216pt - \or 243pt \or 270pt \or 324pt \else 466pt - \fi} - -\def\DCFNT@CMR@asc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 125pt \or 150pt \or 175pt \or 200pt - \or 225pt \or 250pt \or 300pt \else 432pt - \fi} - -\def\DCFNT@CMR@cap_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 123pt \or 147.6pt \or 172.2pt \or 196.8pt - \or 221.4pt \or 246pt \or 295.2pt \else 425pt - \fi} - -\def\DCFNT@CMR@fig_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 116pt \or 139.2pt \or 162.4pt \or 185.6pt - \or 208.8pt \or 232pt \or 278.4pt \else 401pt - \fi} - -\def\DCFNT@CMR@x_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 77.5pt \or 93pt \or 108.5pt \or 124pt - \or 139.5pt \or 155pt \or 186pt \else 267.8pt - \fi} - -\def\DCFNT@CMR@math_axis{\@tempdimb= - \ifcase\@tempcntb 0pt \or 45pt \or 54pt \or 63pt \or 72pt - \or 81pt \or 90pt \or 108pt \else 155.5pt - \fi} - -\def\DCFNT@CMR@bar_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 43.5pt \or 52.2pt \or 60.9pt \or 69.6pt - \or 78.3pt \or 87pt \or 104.4pt \else 150pt - \fi} - -\def\DCFNT@CMR@comma_depth{\@tempdimb= - \ifcase\@tempcntb 0pt \or 35pt \or 42pt \or 49pt \or 56pt - \or 63pt \or 70pt \or 84pt \else 121pt - \fi} - -\def\DCFNT@CMR@desc_depth{\@tempdimb= - \ifcase\@tempcntb 0pt \or 35pt \or 42pt \or 49pt \or 56pt - \or 63pt \or 70pt \or 84pt \else 121pt - \fi} - -\def\DCFNT@CMR@acc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 42.5pt \or 49pt \or 55.5pt \or 62pt - \or 68.5pt \or 75pt \or 90pt \else 127.5pt - \fi} - -\def\DCFNT@CMR@dot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 42pt \or 46.6pt \or 51.2pt \or 56pt - \or 60.4pt \or 66pt \or 77.2pt \else 100pt - \fi} - -\def\DCFNT@CMR@udot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 33.5pt \or 38.5pt \or 43.3pt \or 48.4pt - \or 53.1pt \or 59pt \or 70.8pt \else 95pt - \fi} - -\def\DCFNT@CMR@crisp{\@tempdimb=0pt} - -\def\DCFNT@CMR@tiny{\@tempdimb= - \ifcase\@tempcntb 1pt \or 6pt \or 7pt \or 7pt \or 8pt - \or 8pt \or 8pt \or 8pt \else 8pt - \fi} - -\def\DCFNT@CMR@fine{\@tempdimb= - \ifcase\@tempcntb 0pt \or 5pt \or 6pt \or 6pt \or 7pt - \or 7pt \or 7pt \or 7pt \else 7pt - \fi} - -\def\DCFNT@CMR@thin_join{\@tempdimb= - \ifcase\@tempcntb 0pt \or 5pt \or 6pt \or 6pt \or 7pt - \or 7pt \or 7pt \or 7.5pt \else 9pt - \fi} - -\def\DCFNT@CMR@hair{\@tempdimb= - \ifcase\@tempcntb 5pt \or 7.5pt \or 8pt \or 8.5pt \or 9pt - \or 9pt \or 9pt \or 9.5pt \else 11pt - \fi} - -\def\DCFNT@CMR@stem{\@tempdimb= - \ifcase\@tempcntb 6pt \or 16pt \or 18pt \or 20pt \or 22pt - \or 24pt \or 25pt \or 28pt \else 33pt - \fi} - -\def\DCFNT@CMR@curve{\@tempdimb= - \ifcase\@tempcntb 5.5pt \or 18pt \or 20.5pt \or 23pt \or 25.5pt - \or 28pt \or 30pt \or 33pt \else 40pt - \fi} - -\def\DCFNT@CMR@ess{\@tempdimb= - \ifcase\@tempcntb 0pt \or 12pt \or 17pt \or 21pt \or 23pt - \or 25pt \or 27pt \or 30pt \else 35pt - \fi} - -\def\DCFNT@CMR@flare{\@tempdimb= - \ifcase\@tempcntb 9pt \or 19pt \or 21pt \or 24pt \or 27pt - \or 30pt \or 33pt \or 36pt \else 45pt - \fi} - -\def\DCFNT@CMR@dot_size{\@tempdimb= - \ifcase\@tempcntb 2pt \or 22pt \or 26pt \or 29pt \or 32pt - \or 35pt \or 38pt \or 42pt \else 51pt - \fi} - -\def\DCFNT@CMR@cap_hair{\@tempdimb= - \ifcase\@tempcntb 5.5pt \or 8pt \or 8.5pt \or 9pt \or 9.5pt - \or 10pt \or 11pt \or 11.5pt \else 13pt - \fi} - -\def\DCFNT@CMR@cap_stem{\@tempdimb= - \ifcase\@tempcntb 6.5pt \or 19pt \or 21.5pt \or 24pt \or 26.5pt - \or 29pt \or 32pt \or 35pt \else 41pt - \fi} - -\def\DCFNT@CMR@cap_curve{\@tempdimb= - \ifcase\@tempcntb 6pt \or 21pt \or 24pt \or 27pt \or 30pt - \or 33pt \or 37pt \or 40pt \else 47pt - \fi} - -\def\DCFNT@CMR@cap_ess{\@tempdimb= - \ifcase\@tempcntb 0pt \or 14pt \or 19pt \or 23pt \or 27pt - \or 31pt \or 35pt \or 38pt \else 43pt - \fi} - -\def\DCFNT@CMR@rule_thickness{\@tempdimb= - \ifcase\@tempcntb 13pt \or 28pt \or 31pt \or 34pt \or 36pt - \or 38pt \or 40pt \or 44pt \else 60pt - \fi} - -\def\DCFNT@CMR@dish{\@tempdimb= - \ifcase\@tempcntb 0.2pt \or 0.7pt \or 0.8pt \or 0.9pt \or 1pt - \or 1pt \or 1pt \or 1pt \else 1pt - \fi} - -\def\DCFNT@CMR@bracket{\@tempdimb= - \ifcase\@tempcntb 0pt \or 10pt \or 12pt \or 14pt \or 16pt - \or 18pt \or 20pt \or 24pt \else 34pt - \fi} - -\def\DCFNT@CMR@jut{\@tempdimb= - \ifcase\@tempcntb 5pt \or 15pt \or 17pt \or 19pt \or 22pt - \or 25pt \or 28pt \or 33pt \else 42pt - \fi} - -\def\DCFNT@CMR@cap_jut{\@tempdimb= - \ifcase\@tempcntb 5pt \or 20pt \or 23pt \or 26pt \or 29pt - \or 33pt \or 37pt \or 41pt \else 50pt - \fi} - -\def\DCFNT@CMR@beak_jut{\@tempdimb= - \ifcase\@tempcntb 2pt \or 6pt \or 6.8pt \or 7.6pt \or 8.4pt - \or 9.2pt \or 10pt \or 11.4pt \else 15pt - \fi} - -\def\DCFNT@CMR@beak{\@tempdimb= - \ifcase\@tempcntb 0pt \or 35pt \or 42pt \or 49pt \or 56pt - \or 63pt \or 70pt \or 84pt \else 121pt - \fi} - -\def\DCFNT@CMR@vair{\@tempdimb= - \ifcase\@tempcntb 1pt \or 6pt \or 7pt \or 7pt \or 8pt - \or 8pt \or 8pt \or 8.5pt \else 10pt - \fi} - -\def\DCFNT@CMR@notch_cut{\@tempdimb= - \ifcase\@tempcntb 0pt \or 500pt \or 600pt \or 700pt \or 800pt - \or 900pt \or 1000pt \or 1200pt \else 1700pt - \fi} - -\def\DCFNT@CMR@bar{\@tempdimb= - \ifcase\@tempcntb 5.5pt \or 8pt \or 8.5pt \or 9pt \or 9.5pt - \or 10pt \or 11pt \or 12.5pt \else 16pt - \fi} - -\def\DCFNT@CMR@slab{\@tempdimb= - \ifcase\@tempcntb 5.5pt \or 8pt \or 8.5pt \or 9pt \or 9.5pt - \or 10pt \or 11pt \or 12.5pt \else 16pt - \fi} - -\def\DCFNT@CMR@cap_bar{\@tempdimb= - \ifcase\@tempcntb 5.5pt \or 8pt \or 8.5pt \or 9pt \or 9.5pt - \or 10pt \or 11pt \or 12.5pt \else 16pt - \fi} - -\def\DCFNT@CMR@cap_band{\@tempdimb= - \ifcase\@tempcntb 5.5pt \or 8pt \or 8.5pt \or 9pt \or 9.5pt - \or 10pt \or 11pt \or 12.5pt \else 16pt - \fi} - -\def\DCFNT@CMR@cap_notch_cut{\@tempdimb= - \ifcase\@tempcntb 0pt \or 500pt \or 600pt \or 700pt \or 800pt - \or 900pt \or 1000pt \or 1200pt \else 1700pt - \fi} - -\def\DCFNT@CMR@serif_drop{\@tempdimb= - \ifcase\@tempcntb 0pt \or 2pt \or 2.4pt \or 2.8pt \or 3.2pt - \or 3.6pt \or 4pt \or 4.8pt \else 7pt - \fi} - -\def\DCFNT@CMR@stem_corr{\@tempdimb= - \ifcase\@tempcntb 0.2pt \or 0.7pt \or 0.8pt \or 0.9pt \or 1pt - \or 1pt \or 1pt \or 1pt \else 1pt - \fi} - -\def\DCFNT@CMR@vair_corr{\@tempdimb= - \ifcase\@tempcntb 0pt \or 0.5pt \or 0.7pt \or 0.9pt \or 1pt - \or 1pt \or 1pt \or 1pt \else 1pt - \fi} - -\def\DCFNT@CMR@apex_corr{\@tempdimb=0pt} - -\def\DCFNT@CMR@o{\@tempdimb= - \ifcase\@tempcntb 1.5pt \or 4pt \or 4.5pt \or 5pt \or 6pt - \or 7pt \or 8pt \or 9pt \else 10pt - \fi} - -\def\DCFNT@CMR@apex_o{\@tempdimb= - \ifcase\@tempcntb 1.5pt \or 4pt \or 4.5pt \or 5pt \or 6pt - \or 7pt \or 8pt \or 9pt \else 10pt - \fi} - -\def\DCFNT@CMR@fudge{\@tempdimb=1pt} - -\def\DCFNT@CMR@math_spread{\@tempdimb= - \ifcase\@tempcntb 2pt \or 1pt \or 0.8pt \or 0.6pt \or 0.4pt - \or 0.2pt \or 0pt \or -0.2pt \else -0.2pt - \fi} - -\def\DCFNT@CMR@superness{\@tempdimb=0.707106781186548pt} - -\def\DCFNT@CMR@superpull{\@tempdimb=0.16666666667pt} - -\def\DCFNT@CMR@beak_darkness{\@tempdimb=0.36666666667pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% -%% CMX Family -%% - -% -% this code find index (=\@tempcnta) for font size value, -% (assigned earlier to \@tempdima) -% -\def\DCFNT@findpos@CMX{% - \DCFNT@findpos@CMR - \ifnum \@tempcnta>6\relax \@tempcnta=6 \fi -} - -\def\DCFNT@fntsize@CMX{\DCFNT@fntsize@CMR} -\def\DCFNT@interval@CMX{\DCFNT@interval@CMR} -\def\DCFNT@revint@CMX{\DCFNT@revint@CMR} - -\def\DCFNT@CMX@u{\@tempdimb= - \ifcase\@tempcntb 6pt \or 14.5pt \or 16.2pt \or 17.9pt \or 19.6pt - \or 21.3pt \or 23pt \else 27pt - \fi} - -\def\DCFNT@CMX@width_adj{\@tempdimb= - \ifcase\@tempcntb 3pt \or 7pt \or 7.8pt \or 8.6pt \or 9.4pt - \or 10.2pt \or 11pt \else 13pt - \fi} - -\def\DCFNT@CMX@serif_fit{\@tempdimb=0pt} - -\def\DCFNT@CMX@cap_serif_fit{\@tempdimb= - \ifcase\@tempcntb -1pt \or 3pt \or 3.8pt \or 4.6pt \or 5.4pt - \or 6.2pt \or 7pt \else 8pt - \fi} - -\def\DCFNT@CMX@letter_fit{\@tempdimb= - \ifcase\@tempcntb 4pt \or 3pt \or 2pt \or 1pt \or 0pt - \or 0pt \or 0pt \else 0pt - \fi} - -\def\DCFNT@CMX@cap_jut{\@tempdimb= - \ifcase\@tempcntb 0pt \or 19pt \or 23pt \or 27pt \or 31pt - \or 35pt \or 39pt \else 46pt - \fi} - -\def\DCFNT@CMX@body_height{\DCFNT@CMR@body_height} -\def\DCFNT@CMX@asc_height{\DCFNT@CMR@asc_height} -\def\DCFNT@CMX@acc_height{\DCFNT@CMR@acc_height} -\def\DCFNT@CMX@dot_height{\DCFNT@CMR@dot_height} -\def\DCFNT@CMX@udot_height{\DCFNT@CMR@udot_height} -\def\DCFNT@CMX@cap_height{\DCFNT@CMR@cap_height} -\def\DCFNT@CMX@fig_height{\DCFNT@CMR@fig_height} -\def\DCFNT@CMX@x_height{\DCFNT@CMR@x_height} -\def\DCFNT@CMX@math_axis{\DCFNT@CMR@math_axis} -\def\DCFNT@CMX@comma_depth{\DCFNT@CMR@comma_depth} -\def\DCFNT@CMX@desc_depth{\DCFNT@CMR@desc_depth} -\def\DCFNT@CMX@bar_height{\DCFNT@CMR@bar_height} -\def\DCFNT@CMX@crisp{\DCFNT@CMR@crisp} -\def\DCFNT@CMX@tiny{\DCFNT@CMR@tiny} -\def\DCFNT@CMX@fine{\DCFNT@CMR@fine} -\def\DCFNT@CMX@thin_join{\DCFNT@CMR@thin_join} -\def\DCFNT@CMX@hair{\DCFNT@CMR@hair} -\def\DCFNT@CMX@stem{\DCFNT@CMR@stem} -\def\DCFNT@CMX@curve{\DCFNT@CMR@curve} -\def\DCFNT@CMX@ess{\DCFNT@CMR@ess} -\def\DCFNT@CMX@flare{\DCFNT@CMR@flare} -\def\DCFNT@CMX@dot_size{\DCFNT@CMR@dot_size} -\def\DCFNT@CMX@cap_hair{\DCFNT@CMR@cap_hair} -\def\DCFNT@CMX@cap_stem{\DCFNT@CMR@cap_stem} -\def\DCFNT@CMX@cap_curve{\DCFNT@CMR@cap_curve} -\def\DCFNT@CMX@cap_ess{\DCFNT@CMR@cap_ess} -\def\DCFNT@CMX@rule_thickness{\DCFNT@CMR@rule_thickness} -\def\DCFNT@CMX@dish{\DCFNT@CMR@dish} -\def\DCFNT@CMX@bracket{\DCFNT@CMR@bracket} -\def\DCFNT@CMX@jut{\DCFNT@CMR@jut} -\def\DCFNT@CMX@beak_jut{\DCFNT@CMR@beak_jut} -\def\DCFNT@CMX@beak{\DCFNT@CMR@beak} -\def\DCFNT@CMX@vair{\DCFNT@CMR@vair} -\def\DCFNT@CMX@notch_cut{\DCFNT@CMR@notch_cut} -\def\DCFNT@CMX@bar{\DCFNT@CMR@bar} -\def\DCFNT@CMX@slab{\DCFNT@CMR@slab} -\def\DCFNT@CMX@cap_bar{\DCFNT@CMR@cap_bar} -\def\DCFNT@CMX@cap_band{\DCFNT@CMR@cap_band} -\def\DCFNT@CMX@cap_notch_cut{\DCFNT@CMR@cap_notch_cut} -\def\DCFNT@CMX@serif_drop{\DCFNT@CMR@serif_drop} -\def\DCFNT@CMX@stem_corr{\DCFNT@CMR@stem_corr} -\def\DCFNT@CMX@vair_corr{\DCFNT@CMR@vair_corr} -\def\DCFNT@CMX@apex_corr{\DCFNT@CMR@apex_corr} -\def\DCFNT@CMX@o{\DCFNT@CMR@o} -\def\DCFNT@CMX@apex_o{\DCFNT@CMR@apex_o} -\def\DCFNT@CMX@fudge{\DCFNT@CMR@fudge} -\def\DCFNT@CMX@math_spread{\DCFNT@CMR@math_spread} -\def\DCFNT@CMX@superness{\DCFNT@CMR@superness} -\def\DCFNT@CMX@superpull{\DCFNT@CMR@superpull} -\def\DCFNT@CMX@beak_darkness{\DCFNT@CMR@beak_darkness} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% -%% CMB Family (actually CMBX compressed) -%% - -\def\DCFNT@findpos@CMB{% - \DCFNT@findpos@CMR - \ifnum \@tempcnta>6\relax \@tempcnta=6 \fi -} - -% -% x-value and interval value for given index \@tempcntb -% -\def\DCFNT@fntsize@CMB{\DCFNT@fntsize@CMR} - -\def\DCFNT@interval@CMB{\DCFNT@interval@CMR} - -\def\DCFNT@revint@CMB{\DCFNT@revint@CMR} - -\def\DCFNT@CMB@u{\DCFNT@CMR@u} -\def\DCFNT@CMB@width_adj{\DCFNT@CMR@width_adj} -\def\DCFNT@CMB@serif_fit{\DCFNT@CMR@serif_fit} -\def\DCFNT@CMB@cap_serif_fit{\DCFNT@CMR@cap_serif_fit} -\def\DCFNT@CMB@letter_fit{\DCFNT@CMR@letter_fit} -\def\DCFNT@CMB@cap_jut{\DCFNT@CMR@cap_jut} - -\def\DCFNT@CMB@body_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 135pt \or 162pt \or 189pt \or 216pt - \or 243pt \or 270pt \else 324pt - \fi} - -\def\DCFNT@CMB@asc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 125pt \or 150pt \or 175pt \or 200pt - \or 225pt \or 250pt \else 300pt - \fi} - -\def\DCFNT@CMB@cap_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 123.5pt \or 148.2pt \or 172.9pt \or 197.6pt - \or 222.3pt \or 247pt \else 296.4pt - \fi} - -\def\DCFNT@CMB@fig_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 116pt \or 139.2pt \or 162.4pt \or 185.6pt - \or 208.8pt \or 232pt \else 278.4pt - \fi} - -\def\DCFNT@CMB@x_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 80pt \or 96pt \or 112pt \or 128pt - \or 144pt \or 160pt \else 192pt - \fi} - -\def\DCFNT@CMB@math_axis{\@tempdimb= - \ifcase\@tempcntb 0pt \or 45pt \or 54pt \or 63pt \or 72pt - \or 81pt \or 90pt \else 108pt - \fi} - -\def\DCFNT@CMB@bar_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 40pt \or 49pt \or 58pt \or 67pt - \or 76pt \or 85pt \else 102pt - \fi} - -\def\DCFNT@CMB@comma_depth{\@tempdimb= - \ifcase\@tempcntb 0pt \or 35pt \or 42pt \or 49pt \or 56pt - \or 63pt \or 70pt \else 84pt - \fi} - -\def\DCFNT@CMB@desc_depth{\@tempdimb= - \ifcase\@tempcntb 0pt \or 35pt \or 42pt \or 49pt \or 56pt - \or 63pt \or 70pt \else 84pt - \fi} - -\def\DCFNT@CMB@acc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 37.5pt \or 45pt \or 52.5pt \or 60pt - \or 67.5pt \or 75pt \else 90pt - \fi} - -\def\DCFNT@CMB@dot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 37.5pt \or 45pt \or 52.5pt \or 60pt - \or 67.5pt \or 75pt \else 90pt - \fi} - -\def\DCFNT@CMB@udot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 29.5pt \or 35.5pt \or 41.3pt \or 47.2pt - \or 53.1pt \or 59pt \else 70.8pt - \fi} - -\def\DCFNT@CMB@crisp{\@tempdimb=0pt} - -\def\DCFNT@CMB@tiny{\@tempdimb= - \ifcase\@tempcntb 4pt \or 9pt \or 10pt \or 11pt \or 12pt - \or 13pt \or 13pt \else 13pt - \fi} - -\def\DCFNT@CMB@fine{\@tempdimb= - \ifcase\@tempcntb 3pt \or 8pt \or 9pt \or 9pt \or 10pt - \or 10pt \or 10pt \else 10pt - \fi} - -\def\DCFNT@CMB@thin_join{\@tempdimb= - \ifcase\@tempcntb 3pt \or 8pt \or 9pt \or 9pt \or 10pt - \or 10pt \or 10pt \else 10.5pt - \fi} - -\def\DCFNT@CMB@hair{\@tempdimb= - \ifcase\@tempcntb 13pt \or 15pt \or 15.4pt \or 15.8pt \or 16.2pt - \or 16.6pt \or 17pt \else 18.3pt - \fi} - -\def\DCFNT@CMB@stem{\@tempdimb= - \ifcase\@tempcntb 4pt \or 24pt \or 28pt \or 32pt \or 35pt - \or 38pt \or 41pt \else 47pt - \fi} - -\def\DCFNT@CMB@curve{\@tempdimb= - \ifcase\@tempcntb 7pt \or 27pt \or 31pt \or 35pt \or 39pt - \or 43pt \or 46pt \else 52pt - \fi} - -\def\DCFNT@CMB@ess{\@tempdimb= - \ifcase\@tempcntb 0pt \or 19pt \or 25pt \or 29pt \or 32pt - \or 35pt \or 38pt \else 44pt - \fi} - -\def\DCFNT@CMB@flare{\@tempdimb= - \ifcase\@tempcntb 7pt \or 27pt \or 31pt \or 35pt \or 39pt - \or 42pt \or 45pt \else 51pt - \fi} - -\def\DCFNT@CMB@dot_size{\@tempdimb= - \ifcase\@tempcntb 6pt \or 31pt \or 36pt \or 41pt \or 46pt - \or 51pt \or 56pt \else 62pt - \fi} - -\def\DCFNT@CMB@cap_hair{\@tempdimb= - \ifcase\@tempcntb 12pt \or 17pt \or 18pt \or 18pt \or 19pt - \or 19pt \or 19pt \else 20pt - \fi} - -\def\DCFNT@CMB@cap_stem{\@tempdimb= - \ifcase\@tempcntb 3pt \or 28pt \or 33pt \or 38pt \or 43pt - \or 47pt \or 51pt \else 57pt - \fi} - -\def\DCFNT@CMB@cap_curve{\@tempdimb= - \ifcase\@tempcntb 6pt \or 31pt \or 36pt \or 41pt \or 46pt - \or 51pt \or 55pt \else 61pt - \fi} - -\def\DCFNT@CMB@cap_ess{\@tempdimb= - \ifcase\@tempcntb 0pt \or 24pt \or 31pt \or 37pt \or 43pt - \or 48pt \or 53pt \else 59pt - \fi} - -\def\DCFNT@CMB@rule_thickness{\@tempdimb= - \ifcase\@tempcntb 23pt \or 43pt \or 47pt \or 51pt \or 54pt - \or 57pt \or 60pt \else 66pt - \fi} - -\def\DCFNT@CMB@dish{\@tempdimb= - \ifcase\@tempcntb 0.2pt \or 0.7pt \or 0.8pt \or 0.9pt \or 1pt - \or 1pt \or 1pt \else 1pt - \fi} - -\def\DCFNT@CMB@bracket{\@tempdimb= - \ifcase\@tempcntb 0pt \or 5pt \or 6pt \or 7pt \or 8pt - \or 9pt \or 10pt \else 12pt - \fi} - -\def\DCFNT@CMB@jut{\@tempdimb= - \ifcase\@tempcntb 3pt \or 13pt \or 15pt \or 17pt \or 19pt - \or 22pt \or 25pt \else 30pt - \fi} - -\def\DCFNT@CMB@beak_jut{\@tempdimb= - \ifcase\@tempcntb 3pt \or 7pt \or 7.8pt \or 8.6pt \or 9.4pt - \or 10.2pt \or 11pt \else 12.4pt - \fi} - -\def\DCFNT@CMB@beak{\@tempdimb= - \ifcase\@tempcntb 0pt \or 25pt \or 36pt \or 46pt \or 55pt - \or 63pt \or 70pt \else 84pt - \fi} - -\def\DCFNT@CMB@vair{\@tempdimb= - \ifcase\@tempcntb 5pt \or 10pt \or 11pt \or 11.5pt \or 12pt - \or 12.5pt \or 13pt \else 14.3pt - \fi} - -\def\DCFNT@CMB@notch_cut{\@tempdimb= - \ifcase\@tempcntb 30pt \or 500pt \or 600pt \or 700pt \or 800pt - \or 900pt \or 1000pt \else 1200pt - \fi} - -\def\DCFNT@CMB@bar{\@tempdimb= - \ifcase\@tempcntb 7pt \or 12pt \or 13pt \or 14pt \or 15pt - \or 16pt \or 17pt \else 18.5pt - \fi} - -\def\DCFNT@CMB@slab{\@tempdimb= - \ifcase\@tempcntb 7pt \or 12pt \or 13pt \or 14pt \or 15pt - \or 16pt \or 17pt \else 18.5pt - \fi} - -\def\DCFNT@CMB@cap_bar{\@tempdimb= - \ifcase\@tempcntb 7pt \or 12pt \or 13pt \or 14pt \or 15pt - \or 16pt \or 17pt \else 18.5pt - \fi} - -\def\DCFNT@CMB@cap_band{\@tempdimb= - \ifcase\@tempcntb 7pt \or 12pt \or 13pt \or 14pt \or 15pt - \or 16pt \or 17pt \else 18.5pt - \fi} - -\def\DCFNT@CMB@cap_notch_cut{\@tempdimb= - \ifcase\@tempcntb 30pt \or 500pt \or 600pt \or 700pt \or 800pt - \or 900pt \or 1000pt \else 1200pt - \fi} - -\def\DCFNT@CMB@serif_drop{\@tempdimb= - \ifcase\@tempcntb 0pt \or 1.5pt \or 1.8pt \or 2.1pt \or 2.4pt - \or 2.7pt \or 3pt \else 3.6pt - \fi} - -\def\DCFNT@CMB@stem_corr{\@tempdimb= - \ifcase\@tempcntb 1pt \or 1.5pt \or 1.6pt \or 1.7pt \or 1.8pt - \or 1.9pt \or 2pt \else 2pt - \fi} - -\def\DCFNT@CMB@vair_corr{\@tempdimb= - \ifcase\@tempcntb 0.5pt \or 1pt \or 1.1pt \or 1.2pt \or 1.3pt - \or 1.4pt \or 1.5pt \else 1.5pt - \fi} - -\def\DCFNT@CMB@apex_corr{\@tempdimb= - \ifcase\@tempcntb 0pt \or 9pt \or 5pt \or 2pt \or 0pt - \or 0pt \or 0pt \else 0pt - \fi} - -\def\DCFNT@CMB@o{\@tempdimb= - \ifcase\@tempcntb 1.6pt \or 3pt \or 3pt \or 3pt \or 4pt - \or 4pt \or 4pt \else 5pt - \fi} - -\def\DCFNT@CMB@apex_o{\@tempdimb= - \ifcase\@tempcntb 1.6pt \or 3pt \or 3pt \or 3pt \or 3pt - \or 3pt \or 3pt \else 4pt - \fi} - -\def\DCFNT@CMB@fudge{\@tempdimb=1pt} - -\def\DCFNT@CMB@math_spread{\@tempdimb= - \ifcase\@tempcntb 2.4pt \or 1.5pt \or 1.3pt \or 1.1pt \or 0.9pt - \or 0.7pt \or 0.5pt \else 0.5pt - \fi} - -\def\DCFNT@CMB@superness{\@tempdimb=0.72727272727pt} - -\def\DCFNT@CMB@superpull{\@tempdimb=0.125pt} - -\def\DCFNT@CMB@beak_darkness{\@tempdimb=0.4pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% -%% CMSS Family -%% - - -% -% this code find index (=\@tempcnta) for font size value, -% (assigned earlier to \@tempdima) -% -\def\DCFNT@findpos@CMS{\ifdim \@tempdima<\z@ \@tempdima=\z@ \fi - \@tempcnta= - \ifdim \@tempdima<8pt 0 - \else \ifdim \@tempdima<9pt 1 - \else \ifdim \@tempdima<10pt 2 - \else \ifdim \@tempdima<12pt 3 - \else 4 - \fi\fi\fi\fi} -% -% x-value and interval value for given index \@tempcntb -% -\def\DCFNT@fntsize@CMS{\@tempdimb= - \ifcase\@tempcntb 0pt \or 8pt \or 9pt \or 10pt - \or 12pt \else 17.28pt - \fi} - -\def\DCFNT@interval@CMS{% - \ifcase\@tempcntb 8 % 0pt-8pt - \or 1 % 8pt-9pt - \or 1 % 9pt-10pt - \or 2 % 10pt-12pt - \or 5.28 % 12pt-17.28pt - \else 0 - \fi} - -\def\DCFNT@revint@CMS{% - \ifcase\@tempcntb 0.125 % 0pt-8pt - \or 1 % 8pt-9pt - \or 1 % 9pt-10pt - \or 0.5 % 10pt-12pt - \or 0.18939393939 % 12pt-17.28pt - \else 0 - \fi} - -\def\DCFNT@CMS@u{\@tempdimb= - \ifcase\@tempcntb 5pt \or 17pt \or 18.5pt \or 20pt - \or 23.5pt \else 32.5pt - \fi} - -\def\DCFNT@CMS@width_adj{\@tempdimb= - \ifcase\@tempcntb 4pt \or 12pt \or 13pt \or 15pt - \or 17pt \else 24pt - \fi} - -\def\DCFNT@CMS@serif_fit{\@tempdimb= - \ifcase\@tempcntb -2pt \or -6pt \or -6.5pt \or -7pt - \or -9pt \else -12pt - \fi} - -\def\DCFNT@CMS@cap_serif_fit{\@tempdimb= - \ifcase\@tempcntb -4.5pt \or -8.5pt \or -9pt \or -10pt - \or -13pt \else -17pt - \fi} - -\def\DCFNT@CMS@letter_fit{\DCFNT@CMR@letter_fit} - -\def\DCFNT@CMS@body_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 216pt \or 243pt \or 270pt - \or 324pt \else 466pt - \fi} - -\def\DCFNT@CMS@asc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 205pt \or 235pt \or 260pt - \or 315pt \else 445pt - \fi} - -\def\DCFNT@CMS@cap_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 200pt \or 225pt \or 250pt - \or 300pt \else 425pt - \fi} - -\def\DCFNT@CMS@fig_height{\@tempdimb= - \ifcase\@tempcntb 5pt \or 189pt \or 212pt \or 236pt - \or 283pt \else 408pt - \fi} - -\def\DCFNT@CMS@x_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 128pt \or 144pt \or 160pt - \or 192pt \else 267.8pt - \fi} - -\def\DCFNT@CMS@math_axis{\@tempdimb= - \ifcase\@tempcntb 0pt \or 72pt \or 81pt \or 90pt - \or 108pt \else 155.5pt - \fi} - -\def\DCFNT@CMS@bar_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 63pt \or 71pt \or 79pt - \or 97pt \else 136pt - \fi} - -\def\DCFNT@CMS@comma_depth{\@tempdimb= - \ifcase\@tempcntb 5pt \or 37pt \or 41pt \or 45pt - \or 54pt \else 78pt - \fi} - -\def\DCFNT@CMS@desc_depth{\@tempdimb= - \ifcase\@tempcntb 0pt \or 56pt \or 63pt \or 70pt - \or 84pt \else 121pt - \fi} - -\def\DCFNT@CMS@acc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 60pt \or 65pt \or 70pt - \or 82pt \else 110pt - \fi} - -\def\DCFNT@CMS@dot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 45.8pt \or 50.4pt \or 56pt - \or 67.2pt \else 90pt - \fi} - -\def\DCFNT@CMS@udot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 48.2pt \or 53.1pt \or 59pt - \or 70.8pt \else 100.3pt - \fi} - -\def\DCFNT@CMS@crisp{\@tempdimb=0pt} - -\def\DCFNT@CMS@tiny{\@tempdimb=0pt} - -\def\DCFNT@CMS@fine{\@tempdimb=0pt} - -\def\DCFNT@CMS@thin_join{\@tempdimb= - \ifcase\@tempcntb 0pt \or 15pt \or 16pt \or 17pt - \or 20pt \else 24pt - \fi} - -\def\DCFNT@CMS@hair{\@tempdimb= - \ifcase\@tempcntb 9pt \or 25pt \or 27pt \or 28pt - \or 33pt \else 37pt - \fi} - -\def\DCFNT@CMS@stem{\@tempdimb= - \ifcase\@tempcntb 9pt \or 25pt \or 27pt \or 28pt - \or 33pt \else 37pt - \fi} - -\def\DCFNT@CMS@curve{\@tempdimb= - \ifcase\@tempcntb 9pt \or 25pt \or 27pt \or 28pt - \or 30pt \else 33pt - \fi} - -\def\DCFNT@CMS@ess{\@tempdimb= - \ifcase\@tempcntb 9pt \or 25pt \or 27pt \or 28pt - \or 33pt \else 37pt - \fi} - -\def\DCFNT@CMS@flare{\@tempdimb= - \ifcase\@tempcntb 6pt \or 22pt \or 24pt \or 25pt - \or 30pt \else 33pt - \fi} - -\def\DCFNT@CMS@dot_size{\@tempdimb= - \ifcase\@tempcntb 10pt \or 26pt \or 28pt \or 30pt - \or 35pt \else 40pt - \fi} - -\def\DCFNT@CMS@cap_hair{\@tempdimb= - \ifcase\@tempcntb 9pt \or 25pt \or 27pt \or 28pt - \or 33pt \else 37pt - \fi} - -\def\DCFNT@CMS@cap_stem{\@tempdimb= - \ifcase\@tempcntb 13pt \or 29pt \or 31pt \or 32pt - \or 33pt \else 39pt - \fi} - -\def\DCFNT@CMS@cap_curve{\@tempdimb= - \ifcase\@tempcntb 13pt \or 29pt \or 31pt \or 32pt - \or 37pt \else 42pt - \fi} - -\def\DCFNT@CMS@cap_ess{\@tempdimb= - \ifcase\@tempcntb 4pt \or 28pt \or 31pt \or 32pt - \or 37pt \else 42pt - \fi} - -\def\DCFNT@CMS@rule_thickness{\@tempdimb= - \ifcase\@tempcntb 13pt \or 36pt \or 38pt \or 40pt - \or 44pt \else 60pt - \fi} - -\def\DCFNT@CMS@dish{\@tempdimb=0pt} - -\def\DCFNT@CMS@bracket{\@tempdimb=0pt} - -\def\DCFNT@CMS@jut{\@tempdimb=0pt} - -\def\DCFNT@CMS@cap_jut{\@tempdimb=0pt} - -\def\DCFNT@CMS@beak_jut{\@tempdimb=0pt} - -\def\DCFNT@CMS@beak{\@tempdimb= - \ifcase\@tempcntb 0pt \or 0.4pt \or 0.5pt \or 0.5pt - \or 0.6pt \else 0.8pt - \fi} - -\def\DCFNT@CMS@vair{\@tempdimb= - \ifcase\@tempcntb 3pt \or 19pt \or 21pt \or 22pt - \or 26pt \else 31pt - \fi} - -\def\DCFNT@CMS@notch_cut{\@tempdimb= - \ifcase\@tempcntb 8pt \or 16pt \or 17pt \or 18pt - \or 22pt \else 32pt - \fi - \@tempdimb=2.7777777778\@tempdimb} - -\def\DCFNT@CMS@bar{\@tempdimb= - \ifcase\@tempcntb 2pt \or 18pt \or 20pt \or 21pt - \or 25pt \else 30pt - \fi} - -\def\DCFNT@CMS@slab{\@tempdimb= - \ifcase\@tempcntb 4pt \or 20pt \or 22pt \or 23pt - \or 27pt \else 32pt - \fi} - -\def\DCFNT@CMS@cap_bar{\@tempdimb= - \ifcase\@tempcntb 3pt \or 19pt \or 21pt \or 22pt - \or 26pt \else 31pt - \fi} - -\def\DCFNT@CMS@cap_band{\@tempdimb= - \ifcase\@tempcntb 1pt \or 17pt \or 19pt \or 20pt - \or 24pt \else 30pt - \fi} - -\def\DCFNT@CMS@cap_notch_cut{\@tempdimb= - \ifcase\@tempcntb 6pt \or 22pt \or 24pt \or 25pt - \or 31pt \else 36pt - \fi - \@tempdimb=2.7777777778\@tempdimb} - -\def\DCFNT@CMS@serif_drop{\@tempdimb=2pt} - -\def\DCFNT@CMS@stem_corr{\@tempdimb=1pt} - -\def\DCFNT@CMS@vair_corr{\@tempdimb=1pt} - -\def\DCFNT@CMS@apex_corr{\@tempdimb= - \ifcase\@tempcntb 0pt \or 4pt \or 4.5pt \or 5pt - \or 6pt \else 7pt - \fi} - -\def\DCFNT@CMS@o{\@tempdimb= - \ifcase\@tempcntb 1.5pt \or 6pt \or 7pt \or 8pt - \or 9pt \else 10pt - \fi} - -\def\DCFNT@CMS@apex_o{\@tempdimb=0pt} - -\def\DCFNT@CMS@fudge{\@tempdimb= - \ifcase\@tempcntb 0.77pt \or 0.93pt \or 0.95pt \or 0.96pt - \or 0.98pt \else 0.98pt - \fi} - -\def\DCFNT@CMS@math_spread{\@tempdimb= - \ifcase\@tempcntb 2pt \or 0.4pt \or 0.2pt \or 0pt - \or -0.2pt \else -0.2pt - \fi} - -\def\DCFNT@CMS@superness{\@tempdimb=0.707106781186548pt} - -\def\DCFNT@CMS@superpull{\@tempdimb=0.05pt} - -\def\DCFNT@CMS@beak_darkness{\@tempdimb=0pt} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% -%% CMTT Family -%% - - -% -% this code find index (=\@tempcnta) for font size value, -% (assigned earlier to \@tempdima) -% -\def\DCFNT@findpos@CMT{\ifdim \@tempdima<\z@ \@tempdima=\z@ \fi - \@tempcnta= - \ifdim \@tempdima<8pt 0 - \else \ifdim \@tempdima<9pt 1 - \else \ifdim \@tempdima<10pt 2 - \else 3 - \fi\fi\fi} - -% -% x-value and interval value for given index \@tempcntb -% -\def\DCFNT@fntsize@CMT{\@tempdimb= - \ifcase\@tempcntb 0pt \or 8pt \or 9pt \or 10pt - \else 12pt - \fi} - -\def\DCFNT@interval@CMT{% - \ifcase\@tempcntb 8 % 0pt-8pt - \or 1 % 8pt-9pt - \or 1 % 9pt-10pt - \or 2 % 10pt-12pt - \else 0 - \fi} - -\def\DCFNT@revint@CMT{% - \ifcase\@tempcntb 0.125 % 0pt-8pt - \or 1 % 8pt-9pt - \or 1 % 9pt-10pt - \or 0.5 % 10pt-12pt - \else 0 - \fi} - -\def\DCFNT@CMT@u{\@tempdimb= - \ifcase\@tempcntb 9pt \or 17pt \or 18.9pt \or 21pt \else 24.7pt - \fi} - -\def\DCFNT@CMT@width_adj{\@tempdimb=0pt} - -\def\DCFNT@CMT@serif_fit{\@tempdimb=0pt} - -\def\DCFNT@CMT@cap_serif_fit{\@tempdimb=0pt} - -\def\DCFNT@CMT@letter_fit{\DCFNT@CMR@letter_fit} - -\def\DCFNT@CMT@body_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 200pt \or 225pt \or 250pt \else 300pt - \fi} - -\def\DCFNT@CMT@asc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 176pt \or 198pt \or 220pt \else 264pt - \fi} - -\def\DCFNT@CMT@cap_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 176pt \or 198pt \or 220pt \else 264pt - \fi} - -\def\DCFNT@CMT@fig_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 176pt \or 198pt \or 220pt \else 264pt - \fi} - -\def\DCFNT@CMT@x_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 124pt \or 139.5pt \or 155pt \else 186pt - \fi} - -\def\DCFNT@CMT@math_axis{\@tempdimb= - \ifcase\@tempcntb 0pt \or 88pt \or 99pt \or 110pt \else 132pt - \fi} - -\def\DCFNT@CMT@bar_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 63pt \or 71pt \or 79pt \else 95pt - \fi} - -\def\DCFNT@CMT@comma_depth{\@tempdimb= - \ifcase\@tempcntb 0pt \or 40pt \or 45pt \or 50pt \else 60pt - \fi} - -\def\DCFNT@CMT@desc_depth{\@tempdimb= - \ifcase\@tempcntb 0pt \or 64pt \or 72pt \or 80pt \else 96pt - \fi} - -\def\DCFNT@CMT@acc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 60pt \or 67.5pt \or 75pt \else 90pt - \fi} - -\def\DCFNT@CMT@dot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 60pt \or 67.5pt \or 75pt \else 90pt - \fi} - -\def\DCFNT@CMT@udot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 47.2pt \or 53.1pt \or 59pt \else 70.8pt - \fi} - -\def\DCFNT@CMT@crisp{\@tempdimb= - \ifcase\@tempcntb 3pt \or 19pt \or 21pt \or 22pt \else 25pt - \fi} - -\def\DCFNT@CMT@tiny{\@tempdimb= - \ifcase\@tempcntb 3pt \or 19pt \or 21pt \or 22pt \else 25pt - \fi} - -\def\DCFNT@CMT@fine{\@tempdimb= - \ifcase\@tempcntb 0pt \or 18pt \or 20pt \or 21pt \else 22pt - \fi} - -\def\DCFNT@CMT@thin_join{\@tempdimb= - \ifcase\@tempcntb 0pt \or 18pt \or 20pt \or 21pt \else 22pt - \fi} - -\def\DCFNT@CMT@hair{\@tempdimb= - \ifcase\@tempcntb 0pt \or 22pt \or 24pt \or 25pt \else 28pt - \fi} - -\def\DCFNT@CMT@stem{\@tempdimb= - \ifcase\@tempcntb 0pt \or 22pt \or 24pt \or 25pt \else 28pt - \fi} - -\def\DCFNT@CMT@curve{\@tempdimb= - \ifcase\@tempcntb 0pt \or 22pt \or 24pt \or 25pt \else 28pt - \fi} - -\def\DCFNT@CMT@ess{\@tempdimb= - \ifcase\@tempcntb 0pt \or 19pt \or 21pt \or 22pt \else 25pt - \fi} - -\def\DCFNT@CMT@flare{\@tempdimb= - \ifcase\@tempcntb 12pt \or 28pt \or 30pt \or 32pt \else 35pt - \fi} - -\def\DCFNT@CMT@dot_size{\@tempdimb= - \ifcase\@tempcntb 15pt \or 31pt \or 33pt \or 36pt \else 39pt - \fi} - -\def\DCFNT@CMT@cap_hair{\@tempdimb= - \ifcase\@tempcntb 0pt \or 22pt \or 24pt \or 25pt \else 28pt - \fi} - -\def\DCFNT@CMT@cap_stem{\@tempdimb= - \ifcase\@tempcntb 0pt \or 22pt \or 24pt \or 25pt \else 28pt - \fi} - -\def\DCFNT@CMT@cap_curve{\@tempdimb= - \ifcase\@tempcntb 0pt \or 22pt \or 24pt \or 25pt \else 28pt - \fi} - -\def\DCFNT@CMT@cap_ess{\@tempdimb= - \ifcase\@tempcntb 0pt \or 22pt \or 24pt \or 25pt \else 28pt - \fi} - -\def\DCFNT@CMT@rule_thickness{\@tempdimb= - \ifcase\@tempcntb 0pt \or 22pt \or 24pt \or 25pt \else 28pt - \fi - \@tempdimb=2.7777777778\@tempdimb} - -\def\DCFNT@CMT@dish{\@tempdimb=0pt} - -\def\DCFNT@CMT@bracket{\@tempdimb=0pt} - -\def\DCFNT@CMT@jut{\@tempdimb= - \ifcase\@tempcntb 0pt \or 27pt \or 31pt \or 34pt \else 39pt - \fi} - -\def\DCFNT@CMT@cap_jut{\@tempdimb= - \ifcase\@tempcntb 0pt \or 27pt \or 31pt \or 34pt \else 39pt - \fi} - -\def\DCFNT@CMT@beak_jut{\@tempdimb=0pt} - -\def\DCFNT@CMT@beak{\@tempdimb= - \ifcase\@tempcntb 0pt \or 27pt \or 31pt \or 34pt \else 39pt - \fi} - -\def\DCFNT@CMT@vair{\@tempdimb= - \ifcase\@tempcntb 0pt \or 19pt \or 21pt \or 22pt \else 25pt - \fi} - -\def\DCFNT@CMT@notch_cut{\@tempdimb= - \ifcase\@tempcntb 0pt \or 22pt \or 24pt \or 25pt \else 28pt - \fi - \@tempdimb=2.7777777778\@tempdimb} - -\def\DCFNT@CMT@bar{\@tempdimb= - \ifcase\@tempcntb 0pt \or 19pt \or 21pt \or 22pt \else 25pt - \fi} - -\def\DCFNT@CMT@slab{\@tempdimb= - \ifcase\@tempcntb 0pt \or 19pt \or 21pt \or 22pt \else 25pt - \fi} - -\def\DCFNT@CMT@cap_bar{\@tempdimb= - \ifcase\@tempcntb 0pt \or 19pt \or 21pt \or 22pt \else 25pt - \fi} - -\def\DCFNT@CMT@cap_band{\@tempdimb= - \ifcase\@tempcntb 0pt \or 19pt \or 21pt \or 22pt \else 25pt - \fi} - -\def\DCFNT@CMT@cap_notch_cut{\@tempdimb= - \ifcase\@tempcntb 0pt \or 22pt \or 24pt \or 25pt \else 28pt - \fi - \@tempdimb=2.7777777778\@tempdimb} - -\def\DCFNT@CMT@serif_drop{\@tempdimb=0pt} - -\def\DCFNT@CMT@stem_corr{\@tempdimb=0pt} - -\def\DCFNT@CMT@vair_corr{\@tempdimb=0pt} - -\def\DCFNT@CMT@apex_corr{\@tempdimb= - \ifcase\@tempcntb 0pt \or 8pt \or 9pt \or 10pt \else 11pt - \fi} - -\def\DCFNT@CMT@o{\@tempdimb= - \ifcase\@tempcntb 0pt \or 3pt \or 3.5pt \or 4pt \else 5pt - \fi} - -\def\DCFNT@CMT@apex_o{\@tempdimb= - \ifcase\@tempcntb 0pt \or 3pt \or 3pt \or 3pt \else 4pt - \fi} - -\def\DCFNT@CMT@fudge{\@tempdimb=0.81pt} - -\def\DCFNT@CMT@math_spread{\@tempdimb=-1pt} - -\def\DCFNT@CMT@superness{\@tempdimb=0.707106781186548pt} - -\def\DCFNT@CMT@superpull{\@tempdimb=0pt} - -\def\DCFNT@CMT@beak_darkness{\@tempdimb=0pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% -%% CM Funny Family -%% - - -% -% this code find index (=\@tempcnta) for font size value, -% (assigned earlier to \@tempdima) -% -\def\DCFNT@findpos@CMF{\ifdim \@tempdima<\z@ \@tempdima=\z@ \fi - \@tempcnta= - \ifdim \@tempdima<8pt 0 - \else \ifdim \@tempdima<9pt 1 - \else \ifdim \@tempdima<10pt 2 - \else 3 - \fi\fi\fi} - -% -% x-value and interval value for given index \@tempcntb -% -\def\DCFNT@fntsize@CMF{\DCFNT@fntsize@CMT} - -\def\DCFNT@interval@CMF{\DCFNT@interval@CMT} - -\def\DCFNT@revint@CMF{\DCFNT@revint@CMT} - -\def\DCFNT@CMF@u{\@tempdimb= - \ifcase\@tempcntb 4pt \or 12pt \or 13.9pt \or 16pt \else 19.7pt - \fi} - -\def\DCFNT@CMF@width_adj{\@tempdimb=-16pt} - -\def\DCFNT@CMF@serif_fit{\@tempdimb=-3pt} - -\def\DCFNT@CMF@cap_serif_fit{\@tempdimb=-4pt} - -\def\DCFNT@CMF@letter_fit{\@tempdimb=2pt} - -\def\DCFNT@CMF@body_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 190pt \or 215pt \or 240pt \else 290pt - \fi} - -\def\DCFNT@CMF@asc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 176pt \or 198pt \or 220pt \else 264pt - \fi} - -\def\DCFNT@CMF@cap_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 181pt \or 203pt \or 225pt \else 269pt - \fi} - -\def\DCFNT@CMF@fig_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 166pt \or 188pt \or 210pt \else 254pt - \fi} - -\def\DCFNT@CMF@x_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 159pt \or 174.5pt \or 190pt \else 221pt - \fi} - -\def\DCFNT@CMF@math_axis{\@tempdimb= - \ifcase\@tempcntb 0pt \or 33pt \or 44pt \or 55pt \else 77pt - \fi} - -\def\DCFNT@CMF@bar_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 44pt \or 52pt \or 60pt \else 76pt - \fi} - -\def\DCFNT@CMF@comma_depth{\@tempdimb= - \ifcase\@tempcntb 0pt \or 54pt \or 62pt \or 70pt \else 86pt - \fi} - -\def\DCFNT@CMF@desc_depth{\@tempdimb= - \ifcase\@tempcntb 0pt \or 84pt \or 92pt \or 100pt \else 116pt - \fi} - -\def\DCFNT@CMF@acc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 60pt \or 67.5pt \or 75pt \else 90pt - \fi} - -\def\DCFNT@CMF@dot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 60pt \or 67.5pt \or 75pt \else 90pt - \fi} - -\def\DCFNT@CMF@udot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 47.2pt \or 53.1pt \or 59pt \else 70.8pt - \fi} - -\def\DCFNT@CMF@crisp{\@tempdimb= - \ifcase\@tempcntb 0pt \or 8pt \or 10pt \or 11pt \else 14pt - \fi} - -\def\DCFNT@CMF@tiny{\@tempdimb=0pt} - -\def\DCFNT@CMF@fine{\@tempdimb=0pt} - -\def\DCFNT@CMF@thin_join{\@tempdimb= - \ifcase\@tempcntb 0pt \or 11pt \or 13pt \or 14pt \else 15pt - \fi} - -\def\DCFNT@CMF@hair{\@tempdimb= - \ifcase\@tempcntb 6.666666pt \or 8pt \or 10pt \or 11pt \else 14pt - \fi} - -\def\DCFNT@CMF@stem{\@tempdimb= - \ifcase\@tempcntb 3.85pt \or 13pt \or 15pt \or 16pt \else 19pt - \fi} - -\def\DCFNT@CMF@curve{\@tempdimb= - \ifcase\@tempcntb 3.66666pt \or 17pt \or 19pt \or 20pt \else 23pt - \fi} - -\def\DCFNT@CMF@ess{\@tempdimb= - \ifcase\@tempcntb 0pt \or 19pt \or 21pt \or 22pt \else 25pt - \fi} - -\def\DCFNT@CMF@flare{\@tempdimb= - \ifcase\@tempcntb 6.55pt \or 20pt \or 22pt \or 24pt \else 27pt - \fi} - -\def\DCFNT@CMF@dot_size{\@tempdimb= - \ifcase\@tempcntb 1.37pt \or 21pt \or 23pt \or 26pt \else 29pt - \fi} - -\def\DCFNT@CMF@cap_hair{\@tempdimb= - \ifcase\@tempcntb 8pt \or 13pt \or 15pt \or 16pt \else 19pt - \fi} - -\def\DCFNT@CMF@cap_stem{\@tempdimb= - \ifcase\@tempcntb 9.46pt \or 21pt \or 23pt \or 24pt \else 27pt - \fi} - -\def\DCFNT@CMF@cap_curve{\@tempdimb= - \ifcase\@tempcntb 4.2pt \or 23pt \or 25pt \or 26pt \else 29pt - \fi} - -\def\DCFNT@CMF@cap_ess{\@tempdimb= - \ifcase\@tempcntb 0pt \or 25pt \or 27pt \or 28pt \else 31pt - \fi} - -\def\DCFNT@CMF@rule_thickness{\@tempdimb= - \ifcase\@tempcntb 16.25pt \or 46pt \or 48pt \or 50pt \else 54pt - \fi} - -\def\DCFNT@CMF@dish{\@tempdimb=5pt} - -\def\DCFNT@CMF@bracket{\@tempdimb=20pt} - -\def\DCFNT@CMF@jut{\@tempdimb= - \ifcase\@tempcntb 0pt \or 2.4pt \or 2.7pt \or 3.0pt \else 3.6pt - \fi} - -\def\DCFNT@CMF@cap_jut{\@tempdimb= - \ifcase\@tempcntb 0pt \or 3.2pt \or 3.6pt \or 4.0pt \else 4.8pt - \fi} - -\def\DCFNT@CMF@beak_jut{\@tempdimb=-8pt} - -\def\DCFNT@CMF@beak{\@tempdimb= - \ifcase\@tempcntb 0pt \or 8pt \or 9pt \or 10pt \else 12pt - \fi} - -\def\DCFNT@CMF@vair{\@tempdimb= - \ifcase\@tempcntb 1.75pt \or 11pt \or 13pt \or 14pt \else 17pt - \fi} - -\def\DCFNT@CMF@notch_cut{\@tempdimb=200pt} - -\def\DCFNT@CMF@bar{\@tempdimb= - \ifcase\@tempcntb 8.5pt \or 14pt \or 16pt \or 17pt \else 20pt - \fi} - -\def\DCFNT@CMF@slab{\@tempdimb= - \ifcase\@tempcntb 10pt \or 17pt \or 19pt \or 20pt \else 25pt - \fi} - -\def\DCFNT@CMF@cap_bar{\@tempdimb= - \ifcase\@tempcntb 11pt \or 19pt \or 21pt \or 22pt \else 25pt - \fi} - -\def\DCFNT@CMF@cap_band{\@tempdimb= - \ifcase\@tempcntb 8.5pt \or 14pt \or 16pt \or 17pt \else 20pt - \fi} - -\def\DCFNT@CMF@cap_notch_cut{\@tempdimb=300pt} - -\def\DCFNT@CMF@serif_drop{\@tempdimb=-10pt} - -\def\DCFNT@CMF@stem_corr{\@tempdimb=-1pt} - -\def\DCFNT@CMF@vair_corr{\@tempdimb=-1pt} - -\def\DCFNT@CMF@apex_corr{\@tempdimb= - \ifcase\@tempcntb 0pt \or 4pt \or 5pt \or 6pt \else 7pt - \fi} - -\def\DCFNT@CMF@o{\@tempdimb= - \ifcase\@tempcntb 0.75pt \or 3pt \or 3.5pt \or 4pt \else 5pt - \fi} - -\def\DCFNT@CMF@apex_o{\@tempdimb= - \ifcase\@tempcntb 1.68pt \or 9pt \or 9pt \or 9pt \else 10pt - \fi} - -\def\DCFNT@CMF@fudge{\@tempdimb=1pt} - -\def\DCFNT@CMF@math_spread{\@tempdimb=0.5pt} - -\def\DCFNT@CMF@superness{\@tempdimb=0.66666666667pt} - -\def\DCFNT@CMF@superpull{\@tempdimb=-0.125pt} - -\def\DCFNT@CMF@beak_darkness{\@tempdimb=0.5pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% -%% CMFIB Family -%% - -% -% this code find index (=\@tempcnta) for font size value, -% (assigned earlier to \@tempdima) -% -\def\DCFNT@findpos@FIB{\ifdim \@tempdima<\z@ \@tempdima=\z@ \fi - \@tempcnta= - \ifdim \@tempdima<5pt 0 - \else \ifdim \@tempdima<8pt 1 - \else \ifdim \@tempdima<13pt 2 - \else \ifdim \@tempdima<21pt 3 - \else 4 - \fi\fi\fi\fi} -% -% x-value and interval value for given index \@tempcntb -% -\def\DCFNT@fntsize@FIB{\@tempdimb= - \ifcase\@tempcntb 0pt \or 5pt \or 8pt \or 13pt - \or 21pt \else 34pt - \fi} - -\def\DCFNT@interval@FIB{% - \ifcase\@tempcntb 5 % 0pt-5pt - \or 3 % 5pt-8pt - \or 5 % 8pt-13pt - \or 8 % 13pt-21pt - \or 13 % 21pt-34pt - \else 0 - \fi} - -\def\DCFNT@revint@FIB{% - \ifcase\@tempcntb 0.2 % 0pt-5pt - \or 0.33333333333 % 5pt-8pt - \or 0.2 % 8pt-13pt - \or 0.125 % 13pt-21pt - \or 0.076923076923 % 21pt-34pt - \else 0 - \fi} - -\def\DCFNT@FIB@u{\@tempdimb= - \ifcase\@tempcntb 6.1768pt \or 13pt \or 21pt - \or 34pt \or 55pt \else 144pt - \fi} - -\def\DCFNT@FIB@width_adj{\@tempdimb= - \ifcase\@tempcntb 0pt \or 0pt \or 0pt - \or 1pt \or 1pt \else 3pt - \fi} - -\def\DCFNT@FIB@serif_fit{\@tempdimb= - \ifcase\@tempcntb 0pt \or 0pt \or 0pt - \or 1pt \or 1pt \else 3pt - \fi} - -\def\DCFNT@FIB@cap_serif_fit{\@tempdimb= - \ifcase\@tempcntb 0pt \or 0pt \or 0pt - \or 1pt \or 1pt \else 3pt - \fi} - -\def\DCFNT@FIB@letter_fit{\@tempdimb= - \ifcase\@tempcntb 0pt \or 0pt \or 0pt - \or 1pt \or 1pt \else 3pt - \fi} - -\def\DCFNT@FIB@body_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 144pt \or 233pt - \or 377pt \or 610pt \else 1597pt - \fi} - -\def\DCFNT@FIB@asc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 144pt \or 233pt - \or 377pt \or 610pt \else 1597pt - \fi} - -\def\DCFNT@FIB@cap_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 144pt \or 233pt - \or 377pt \or 610pt \else 1597pt - \fi} - -\def\DCFNT@FIB@fig_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 144pt \or 233pt - \or 377pt \or 610pt \else 1597pt - \fi} - -\def\DCFNT@FIB@x_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 89pt \or 144pt - \or 233pt \or 377pt \else 610pt - \fi} - -\def\DCFNT@FIB@math_axis{\@tempdimb= - \ifcase\@tempcntb 0pt \or 55pt \or 89pt - \or 144pt \or 233pt \else 377pt - \fi} - -\def\DCFNT@FIB@bar_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 55pt \or 89pt - \or 144pt \or 233pt \else 377pt - \fi} - -\def\DCFNT@FIB@comma_depth{\@tempdimb= - \ifcase\@tempcntb 0pt \or 34pt \or 55pt - \or 89pt \or 144pt \else 233pt - \fi} - -\def\DCFNT@FIB@desc_depth{\@tempdimb= - \ifcase\@tempcntb 0pt \or 34pt \or 55pt - \or 89pt \or 144pt \else 233pt - \fi} - -\def\DCFNT@FIB@acc_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 34pt \or 55pt - \or 89pt \or 144pt \else 233pt - \fi} - -\def\DCFNT@FIB@dot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 21pt \or 55pt - \or 89pt \or 144pt \else 233pt - \fi} - -\def\DCFNT@FIB@udot_height{\@tempdimb= - \ifcase\@tempcntb 0pt \or 34pt \or 55pt - \or 89pt \or 144pt \else 233pt - \fi} - -\def\DCFNT@FIB@crisp{\@tempdimb= - \ifcase\@tempcntb 0pt \or 0pt \or 0pt - \or 1pt \or 1pt \else 3pt - \fi} - -\def\DCFNT@FIB@tiny{\@tempdimb= - \ifcase\@tempcntb 1.625pt \or 8pt \or 13pt - \or 21pt \or 34pt \else 89pt - \fi} - -\def\DCFNT@FIB@fine{\@tempdimb= - \ifcase\@tempcntb 0pt \or 8pt \or 13pt - \or 21pt \or 34pt \else 89pt - \fi} - -\def\DCFNT@FIB@thin_join{\@tempdimb= - \ifcase\@tempcntb 0pt \or 8pt \or 13pt - \or 21pt \or 34pt \else 89pt - \fi} - -\def\DCFNT@FIB@hair{\@tempdimb= - \ifcase\@tempcntb 11.67pt \or 13pt \or 21pt - \or 34pt \or 55pt \else 144pt - \fi} - -\def\DCFNT@FIB@stem{\@tempdimb= - \ifcase\@tempcntb 9.27pt \or 21pt \or 34pt - \or 55pt \or 89pt \else 233pt - \fi} - -\def\DCFNT@FIB@curve{\@tempdimb= - \ifcase\@tempcntb 8.58pt \or 24pt \or 39pt - \or 63pt \or 102pt \else 254pt - \fi} - -\def\DCFNT@FIB@ess{\@tempdimb= - \ifcase\@tempcntb 0pt \or 21pt \or 34pt - \or 55pt \or 89pt \else 233pt - \fi} - -\def\DCFNT@FIB@flare{\@tempdimb= - \ifcase\@tempcntb 11.33pt \or 21pt \or 34pt - \or 55pt \or 89pt \else 233pt - \fi} - -\def\DCFNT@FIB@dot_size{\@tempdimb= - \ifcase\@tempcntb 2.125pt \or 21pt \or 34pt - \or 55pt \or 89pt \else 233pt - \fi} - -\def\DCFNT@FIB@cap_hair{\@tempdimb= - \ifcase\@tempcntb 6pt \or 13pt \or 21pt - \or 34pt \or 55pt \else 144pt - \fi} - -\def\DCFNT@FIB@cap_stem{\@tempdimb= - \ifcase\@tempcntb 8.34pt \or 21pt \or 34pt - \or 55pt \or 89pt \else 233pt - \fi} - -\def\DCFNT@FIB@cap_curve{\@tempdimb= - \ifcase\@tempcntb 7.8pt \or 24pt \or 39pt - \or 63pt \or 102pt \else 254pt - \fi} - -\def\DCFNT@FIB@cap_ess{\@tempdimb= - \ifcase\@tempcntb 0pt \or 21pt \or 34pt - \or 55pt \or 89pt \else 233pt - \fi} - -\def\DCFNT@FIB@rule_thickness{\@tempdimb= - \ifcase\@tempcntb 8pt \or 13pt \or 21pt - \or 34pt \or 55pt \else 144pt - \fi - \@tempdimb=2.7777777778\@tempdimb} - -\def\DCFNT@FIB@dish{\@tempdimb= - \ifcase\@tempcntb 0.2pt \or 1pt \or 1pt - \or 1pt \or 2pt \else 5pt - \fi} - -\def\DCFNT@FIB@bracket{\@tempdimb= - \ifcase\@tempcntb 0pt \or 13pt \or 21pt - \or 34pt \or 55pt \else 144pt - \fi} - -\def\DCFNT@FIB@jut{\@tempdimb= - \ifcase\@tempcntb 4.77pt \or 13pt \or 21pt - \or 34pt \or 55pt \else 144pt - \fi} - -\def\DCFNT@FIB@cap_jut{\@tempdimb= - \ifcase\@tempcntb 3.62pt \or 13pt \or 21pt - \or 34pt \or 55pt \else 144pt - \fi} - -\def\DCFNT@FIB@beak_jut{\@tempdimb= - \ifcase\@tempcntb 3.1pt \or 8pt \or 13pt - \or 21pt \or 34pt \else 89pt - \fi} - -\def\DCFNT@FIB@beak{\@tempdimb= - \ifcase\@tempcntb 0pt \or 34pt \or 55pt - \or 89pt \or 144pt \else 377pt - \fi} - -\def\DCFNT@FIB@vair{\@tempdimb= - \ifcase\@tempcntb 1.625pt \or 8pt \or 13pt - \or 21pt \or 34pt \else 89pt - \fi} - -\def\DCFNT@FIB@notch_cut{\@tempdimb= - \ifcase\@tempcntb 0pt \or 300pt \or 800pt - \or 1300pt \or 2100pt \else 5500pt - \fi} - -\def\DCFNT@FIB@bar{\@tempdimb= - \ifcase\@tempcntb 5pt \or 8pt \or 13pt - \or 21pt \or 34pt \else 89pt - \fi} - -\def\DCFNT@FIB@slab{\@tempdimb= - \ifcase\@tempcntb 5pt \or 8pt \or 13pt - \or 21pt \or 34pt \else 89pt - \fi} - -\def\DCFNT@FIB@cap_bar{\@tempdimb= - \ifcase\@tempcntb 5pt \or 8pt \or 13pt - \or 21pt \or 34pt \else 89pt - \fi} - -\def\DCFNT@FIB@cap_band{\@tempdimb= - \ifcase\@tempcntb 5pt \or 8pt \or 13pt - \or 21pt \or 34pt \else 89pt - \fi} - -\def\DCFNT@FIB@cap_notch_cut{\@tempdimb= - \ifcase\@tempcntb 0pt \or 3pt \or 8pt - \or 13pt \or 21pt \else 55pt - \fi} - -\def\DCFNT@FIB@serif_drop{\@tempdimb= - \ifcase\@tempcntb 0pt \or 2pt \or 3pt - \or 5pt \or 8pt \else 21pt - \fi} - -\def\DCFNT@FIB@stem_corr{\@tempdimb= - \ifcase\@tempcntb 0pt \or 0pt \or 1pt - \or 1pt \or 2pt \else 5pt - \fi} - -\def\DCFNT@FIB@vair_corr{\@tempdimb= - \ifcase\@tempcntb 0pt \or 0pt \or 1pt - \or 1pt \or 2pt \else 5pt - \fi} - -\def\DCFNT@FIB@apex_corr{\@tempdimb= - \ifcase\@tempcntb 0pt \or 0pt \or 0pt - \or 1pt \or 1pt \else 3pt - \fi} - -\def\DCFNT@FIB@o{\@tempdimb= - \ifcase\@tempcntb 2pt \or 5pt \or 8pt - \or 13pt \or 21pt \else 55pt - \fi} - -\def\DCFNT@FIB@apex_o{\@tempdimb= - \ifcase\@tempcntb 2pt \or 5pt \or 8pt - \or 13pt \or 21pt \else 55pt - \fi} - -\def\DCFNT@FIB@fudge{\@tempdimb=1pt} - -\def\DCFNT@FIB@math_spread{\@tempdimb=0.375pt} - -\def\DCFNT@FIB@superness{\@tempdimb=0.707106781186548pt} - -\def\DCFNT@FIB@superpull{\@tempdimb=0.076923076923pt} - -\def\DCFNT@FIB@beak_darkness{\@tempdimb=0.38461538462pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/latex/mff/mff.sty b/Master/texmf-dist/tex/latex/mff/mff.sty deleted file mode 100644 index ca698889d2e..00000000000 --- a/Master/texmf-dist/tex/latex/mff/mff.sty +++ /dev/null @@ -1,743 +0,0 @@ -\def\MFF@version{1.21 [June 1996]} -\typeout{LaTeX Style file MFF.STY, ver. \MFF@version} - -\def\MFFcatcode{% - \chardef\oldatcatcode=\catcode`@ - \chardef\oldsubcatcode=\catcode`_ - \catcode`@=11 - \catcode`_=11 -} - -\def\noMFFcatcode{% - \catcode`@=\oldatcatcode - \catcode`_=\oldsubcatcode -} - -\def\otherMFFcatcode{% - \catcode`@=12 - \catcode`_=12 -} - -\def\letterMFFcatcode{% - \catcode`@=11 - \catcode`_=11 -} - -\MFFcatcode - -\newif\ifMFF@dcfont -\MFF@dcfontfalse - -% -% select approximation scheme: dcfonts, sauter -% - -\def\MFFsauter{\def\MFF@apptype{SAUTER}} -\def\MFFdcfonts{\def\MFF@apptype{DCFONT}} - -\input{mfdcdata.tex} -\input{mfsauter.tex} -\input{mfcorfnt.tex} -\input{mftricks.tex} -\input{mfarithm.tex} - -\newwrite\MFF@outfont -\newread\MFF@checkfont - -% type warning message -\def\MFF@warning#1{\immediate\write16{<MFF/line=\the\inputlineno>: #1}} -\def\MFF@warncorr#1{\MFF@warning{Variable "#1" is corrected}} - -% open new font: #1 = internal name, #2 = file name, #3 = scaling -\def\MFF@open#1#2#3{% - \immediate\openout\MFF@outfont=#2.mf - \openin\MFF@checkfont=#2.tfm - \ifeof\MFF@checkfont - \MFF@warning{No file #2.tfm -- dummy font will be used}% - \font #1=dummy\relax - \else - \font #1=#2 #3\relax - \fi - \closein\MFF@checkfont - \MFF@warning{Do not forget to process #2.mf - and reprocess this file}% -} - -% write to \MFF@outfont some string -\def\MFF@write#1{\immediate\write\MFF@outfont{#1}\ignorespaces} - -% close output file -\def\MFF@close{\MFF@write{}\immediate\closeout\MFF@outfont} - -% -% output primitives -% -\chardef\tempoldCod=\catcode`# \chardef\tempoldcoD=\catcode`^ -\chardef\tempoldCoD=\catcode37 -\catcode`#=12 \catcode`^=6 \catcode37=12 - -\def\MFF@p{#} -\def\MFF@c{%} - -\def\MFF@comment^1{\MFF@write{% \space ^1}} -\def\MFF@commstr^1^2{\MFF@write{^1 \space\space\space % ^2}} -\def\MFF@capsprmdc{\MFF@write{lower.uu#:= lower.u#;}} -\def\MFF@capsprm^1^2^3{\MFF@write{lower.^1#:= \space\space\space % ^3} - \MFF@write{ \space\space\space ^1# * (^2);}} -\def\MFF@capsval^1^2^3{\MFF@write{lower.^1:= \space\space\space % ^3} - \MFF@write{ \space\space\space ^1 * (^2) ;}} -\def\MFF@parameter^1^2^3{\MFF@write{^1:=\@tempa^2; \space\space\space % ^3}} -\def\MFF@parmreal^1^2{\MFF@parm{^1}\MFF@parameter{^1#}{/36pt#}{^2}} -\def\MFF@parmrule^1^2{\MFF@parm{^1}\MFF@parameter{^1#}{/100pt#}{^2}} -\def\MFF@parmfactor^1^2{\MFF@parm{^1}\MFF@parameter{^1}{}{^2}} -\def\MFF@parmsize^1{\MFF@convert{^1}\MFF@write{font_size \@tempa pt#;}} - -\catcode`#=\tempoldCod \catcode`^=\tempoldcoD \catcode37=\tempoldCoD - -% set slant value -\def\MFFslant#1{\global\edef\MFF@slant{#1}} -\def\MFFslantD#1{\global\edef\MFF@slant{sind(#1)/cosd(#1)}} - -% set flags -\def\MFF@setflag#1#2{% - \if y#1 \global\expandafter\edef\csname MFF@#2\endcsname{true}\fi - \if n#1 \global\expandafter\edef\csname MFF@#2\endcsname{false}\fi} - -\def\MFFflagLigs#1{% - \if s#1 \def\MFF@ligs{\ifdim \@tempdima<6pt 1 \else 2\fi}\fi - \if n#1 \def\MFF@ligs{0}\fi - \if 0#1 \def\MFF@ligs{0}\fi - \if 1#1 \def\MFF@ligs{1}\fi - \if 2#1 \def\MFF@ligs{2}\fi -} - -\def\MFFflagSquareDots#1{\MFF@setflag{#1}{squaredots}} -\def\MFFflagHefty#1{\MFF@setflag{#1}{hefty}} -\def\MFFflagSerifs#1{\MFF@setflag{#1}{serifs}} -\def\MFFflagMonospace#1{\MFF@setflag{#1}{monospace}} -\def\MFFflagVariantG#1{\MFF@setflag{#1}{variantg}} -\def\MFFflagLowAsterisk#1{\MFF@setflag{#1}{lowasterisk}} -\def\MFFflagMathSpacing#1{\MFF@setflag{#1}{mathfitting}} - -% -% set font mixture -% -\def\MFF@add@cmr#1{\global\def\MFF@frac@CMR{#1}} -\def\MFF@add@bold#1{\global\def\MFF@frac@CMB{#1}} -\def\MFF@add@x#1{\global\def\MFF@frac@CMX{#1}} -\def\MFF@add@bx#1{\MFF@add@b{#1}\MFF@add@x{#1}} -\def\MFF@add@sf#1{\global\def\MFF@frac@CMS{#1}} -\def\MFF@add@tt#1{\global\def\MFF@frac@CMT{#1}} -\def\MFF@add@fib#1{\global\def\MFF@frac@FIB{#1}} -\def\MFF@add@funny#1{\global\def\MFF@frac@CMF{#1}} - -\def\MFFmixture#1#2#3#4#5#6{\MFF@add@cmr{1}% - \MFF@add@bold{#1}\MFF@add@x{#2}\MFF@add@sf{#3}\MFF@add@tt{#4}% - \MFF@add@fib{#5}\MFF@add@funny{#6}% -} - -\def\clearMFF{\MFFmixture{0}{0}{0}{0}{0}{0}} -\def\mixMFF{\@ifnextchar[{\mixMFF@}{\mixMFF@[1.0]}} -\def\setMFF{\clearMFF\mixMFF} - -\def\mixMFF@[#1]#2{% - \ifx \relax\expandafter\csname MFF@add@#2\endcsname - \else \csname MFF@add@#2\endcsname{#1}\fi -} - -\def\MFFscaleWidth#1{\global\def\MFF@scale@width{#1}} -\def\MFFscaleHeight#1{\global\def\MFF@scale@height{#1}} -\def\MFFscaleAsc#1{\global\def\MFF@scale@asc{#1}} -\def\MFFscaleDesc#1{\global\def\MFF@scale@desc{#1}} -\def\MFFscaleMath#1{\global\def\MFF@scale@math{#1}} -\def\MFFscaleBoldLines#1{\global\def\MFF@scale@bold{#1}} -\def\MFFscaleThinLines#1{\global\def\MFF@scale@thin{#1}} -\def\MFFscaleJoinLines#1{\global\def\MFF@scale@join{#1}} -\def\MFFscaleNotchCut#1{\global\def\MFF@scale@notch{#1}} -\def\MFFscaleDotSize#1{\global\def\MFF@scale@dot{#1}} -\def\MFFscaleSerifDish#1{\global\def\MFF@scale@dish{#1}} - -\def\MFFcontrast{\@ifnextchar[{\MFF@@contrast}{\MFF@contrast}}% -\def\MFF@@contrast[#1]{\global\edef\MFF@contrasttype{#1}% - \global\edef\MFF@contrast{0.5}} -\def\MFF@contrast#1{\global\edef\MFF@contrasttype{d}% - \global\edef\MFF@contrast{#1}} - - -\newif\if@MFF@checkit -\def\MFFcheck{\@MFF@checkittrue} -\def\MFFnocheck{\@MFF@checkitfalse} - -\newif\if@MFF@tricks - -% z = empty (white), b = black, -% v = vertical, h = horizontal, r = slanted(/), l - slanted (\) -% d = dotted, g = rectangular grid, s - slanted grid -% uppercase(*) = (*) + outline - -% #1 - var name, #2 - value -\def\MFF@settrick#1#2{% - \@negargtrue - \@tfor \@temp:=zZbBvVhHrRlLdDgGsS\do - {\if \@temp#2 - \@negargfalse \expandafter\edef\csname#1\endcsname{#2}% - \fi}% - \if@negarg \MFF@warning{Illegal pattern style: #2}\fi -} - -% #1 - variable, #2 - list of legal values, #3 - command -\def\MFF@checktrick#1#2#3{% - \@tfor \@temp:=#2\do - {\if \@temp#1\relax \@negargfalse #3 \fi}% -} - -% !!! -% argument #4 is not used currently - reserved for underline effect -% !!! -\def\MFFtrick#1#2#3#4#5{% - \MFF@settrick{MFF@trickchar}{#1}% - \MFF@settrick{MFF@trickbox}{#2}% - \MFF@settrick{MFF@trickshadow}{#3}% - \edef\MFF@trick@transform{#5}% - \@MFF@trickstrue} - -\def\trickMFFshadow#1{\MFF@settrick{MFF@trickshadow}{#1}} -\def\trickMFFbox#1{\MFF@settrick{MFF@trickbox}{#1}} -\def\trickMFFchar#1{\MFF@settrick{MFF@trickchar}{#1}} -\def\trickMFFtransform#1{\edef\MFF@trick@transform{#1}} - -\def\MFFnotricks{\@MFF@tricksfalse} -\def\MFFfonttricks{\@MFF@trickstrue} - -\def\MFFstdtrick#1{\csname MFF@stdtrick@#1\endcsname\@MFF@trickstrue} - -\def\MFF@stdtrick@standard{\MFFtrick{b}{z}{z}{}{}}% -\def\MFF@stdtrick@reversed{\MFFtrick{z}{b}{z}{}{}}% -\def\MFF@stdtrick@dotted{\MFFtrick{D}{z}{z}{}{}}% -\def\MFF@stdtrick@striped{\MFFtrick{G}{z}{z}{}{}}% -\def\MFF@stdtrick@stripedH{\MFFtrick{H}{z}{z}{}{}}% -\def\MFF@stdtrick@stripedV{\MFFtrick{V}{z}{z}{}{}}% -\def\MFF@stdtrick@slanted{\MFFtrick{S}{z}{z}{}{}}% -\def\MFF@stdtrick@slantedR{\MFFtrick{R}{z}{z}{}{}}% -\def\MFF@stdtrick@slantedL{\MFFtrick{L}{z}{z}{}{}}% -\def\MFF@stdtrick@outlined{\MFFtrick{Z}{z}{z}{}{}}% -\def\MFF@stdtrick@shadowed{\MFFtrick{b}{z}{b}{}{}}% -\def\MFF@stdtrick@sHadowed{\MFFtrick{Z}{z}{Z}{}{}}% -\def\MFF@stdtrick@shadowonly{\MFFtrick{z}{z}{b}{}{}}% - -\def\stepMFFoutline#1{\def\MFF@contourstep{#1}} -\def\stepMFFshadow#1{\def\MFF@shadowstep{#1}} -\def\cornerMFFshadow#1{\def\MFF@shadowstyle{#1}} - -\def\stepMFFboxpattern#1{\def\MFF@HPenstep{#1}} -\def\penMFFboxpattern#1{\def\MFF@HPenpen{#1}} -\def\stepMFFcharpattern#1{\def\MFF@MPenstep{#1}} -\def\penMFFcharpattern#1{\def\MFF@MPenpen{#1}} -\def\stepMFFshadowpattern#1{\def\MFF@SPenstep{#1}} -\def\penMFFshadowpattern#1{\def\MFF@SPenpen{#1}} - -% -% this code calculates the parameter value: -% #1 = parameter name -% #2 = font family -% \@tempdima = size, -% output: \@tempdimb = value - -\def\MFF@calc#1#2{\csname \MFF@apptype @calc\endcsname{#1}{#2}} - -\def\SAUTER@calc#1#2{\@tempdimb=0pt \csname SAUTER@#2@#1\endcsname} - -\def\DCFONT@calc#1#2{\@tempdimb=0pt - \csname DCFNT@findpos@#2\endcsname - % calculate reference points - \@tempcntb=\@tempcnta \@tempdimb=\z@ \csname DCFNT@#2@#1\endcsname - \@ovxx=\@tempdimb - \advance\@tempcntb by 1 \@tempdimb=\z@ \csname DCFNT@#2@#1\endcsname - \@ovyy=\@tempdimb - % calculate local inclination - \MFF@dimenD=\@ovyy \advance \MFF@dimenD by -\@ovxx - \@tempcntb=\@tempcnta - \MFF@dimenD=\csname DCFNT@revint@#2\endcsname \MFF@dimenD - % calculate function - \@tempcntb=\@tempcnta \csname DCFNT@fntsize@#2\endcsname - \MFF@dimenA=\@tempdima \advance \MFF@dimenA by -\@tempdimb\relax - \MFF@multiply{\MFF@dimenA}{\MFF@dimenD}{\@tempdimb}% - \advance\@tempdimb by \@ovxx -} - -% this macro adds fraction of parameter value from other font -% #1 = parm name, #2 = font name -\def\MFF@addparm#1#2{% - \@tempdimb=\csname MFF@frac@#2\endcsname pt\relax - \ifdim \@tempdimb=\z@\relax - \else - \MFF@calc{#1}{#2}% - \advance\@tempdimb by -\@ovro - \advance\@ovri by \csname MFF@frac@#2\endcsname \@tempdimb - \fi -} - -% this macro calculates parameter value: -% #1 = variable name - -\def\MFF@parm#1{% - \MFF@calc{#1}{CMR}% - \@ovro=\@tempdimb \@ovri=\MFF@frac@CMR\@tempdimb - % add other font components - \MFF@addparm{#1}{CMX}% - \MFF@addparm{#1}{CMB}% - \MFF@addparm{#1}{CMS}% - \MFF@addparm{#1}{CMT}% - \MFF@addparm{#1}{CMF}% - \MFF@addparm{#1}{FIB}% - % correct value - \@tempdimb=\@ovri - \csname MFF@assign@#1\endcsname - \csname MFF@correct@#1\endcsname - \MFF@convert{\@tempdimb}% -} - -% -% this macro creates the parameter file for CMR font: -% #1 is (optional) scaling parameter -% #2 is internal font name -% #3 is font file name -% #4 is font size (in pt) -% -\def\MFFgener{\@ifnextchar[{\MFF@font}{\MFF@font[scaled 1000]}} - -% -% !!! attention: -% stem, cap_stem are processed before other "thickness" parms -% bar_height is processed after x_height -% asc_height is processed after x_height -% curve is processed after stem -% cap_stem is processed after stem -% cap_curve is processed after curve -% -% the variables: -% thin_join, hair, vair, stem, curve, ess, flare, dot_size, bar, -% slab, cap_hair, cap_stem, cap_curve, cap_ess, cap_bar, cap_band -% are processed after crisp, tiny, fine -% -% the variables stem_corr, vair_corr -% are processed after cap_hair, stem, fudge, curve -% -% the variable vair_corr is processed after slab, fudge, hair -% -\def\MFF@font[#1]#2#3#4{% - \MFF@open{#2}{\MFFprefix#3}{#1} - \MFF@comment{Created by MMF/LaTeX (ver. \MFF@version) at \today.} - \MFF@write{} - \csname MFF@title@\MFF@apptype\endcsname - \MFF@write{} - \MFF@comment{This font is the modification of} - \csname MFF@\MFF@class \MFF@fam @header\endcsname - \@tempdima=#4\relax \ifdim \@tempdima<\z@ \@tempdima=\z@ \fi - \MFF@parmsize{#4} - \MFF@write{} - \MFF@parmreal{u}{unit width} - \MFF@parmreal{width_adj}{width adjustment for certain characters} - \MFF@parmreal{serif_fit}{extra sidebar near lowercase serifs} - \MFF@parmreal{cap_serif_fit}{extra sidebar near uppercase serifs} - \MFF@parmreal{letter_fit}{extra space added to all sidebars} - \MFF@write{} - \MFF@parmreal{body_height}{height of tallest characters} - \MFF@parmreal{x_height}{height of lowercase without ascenders} - \MFF@parmreal{asc_height}{height of lowercase ascenders} - \MFF@parmreal{cap_height}{height of caps} - \MFF@parmreal{fig_height}{height of numerals} - \MFF@parmreal{math_axis}{axis of symmetry for math symbols} - \MFF@parmreal{bar_height}{height of crossbar in lowercase e} - \MFF@parmreal{comma_depth}{depth of comma below baseline} - \MFF@parmreal{desc_depth}{depth of lowercase descenders} - \ifMFF@dcfont - \MFF@parmreal{acc_height}{height of accents} - \MFF@parmreal{dot_height}{height of y umlaut dots} - \MFF@parmreal{udot_height}{height of u umlaut dots (skipped actually)} - \fi - \MFF@write{} - \MFF@parmreal{crisp}{diameter of serif corners} - \MFF@parmreal{tiny}{diameter of rounded corners} - \MFF@parmreal{fine}{diameter of sharply rounded corners} - \MFF@parmreal{stem}{lowercase stem breadth} - \MFF@parmreal{cap_stem}{uppercase stem breadth} - \MFF@parmreal{thin_join}{width of extrafine details} - \MFF@parmreal{hair}{lowercase hairline breadth} - \MFF@parmreal{curve}{lowercase curve breadth} - \MFF@parmreal{ess}{breadth in middle of lowercase s} - \MFF@parmreal{flare}{diameter of bulbs or breadth of terminals} - \MFF@parmreal{dot_size}{diameter of dots} - \MFF@parmreal{cap_hair}{uppercase hairline breadth} - \MFF@parmreal{cap_curve}{uppercase curve breadth} - \MFF@parmreal{cap_ess}{breadth in middle of uppercase s} - \MFF@parmrule{rule_thickness}{thickness of lines in math symbols} - \MFF@write{} - \MFF@parmreal{dish}{amount erased at top or bottom of serifs} - \MFF@parmreal{bracket}{vertical distance from serif base to tangent} - \MFF@parmreal{jut}{protrusion of lowercase serifs} - \MFF@parmreal{cap_jut}{protrusion of uppercase serifs} - \MFF@parmreal{beak_jut}{horizontal protrusion of beak serifs} - \MFF@parmreal{beak}{vertical protrusion of beak serifs} - \MFF@parmreal{vair}{vertical diameter of hairlines} - \MFF@parmrule{notch_cut}{maximum breadth above or below notches} - \MFF@parmreal{bar}{lowercase bar thickness} - \MFF@parmreal{slab}{serif and arm thickness} - \MFF@parmreal{cap_bar}{uppercase bar thickness} - \MFF@parmreal{cap_band}{uppercase thickness above/below lobes} - \MFF@parmrule{cap_notch_cut}{max breadth above/below uppercase notches} - \MFF@parmreal{serif_drop}{vertical drop of sloped serifs} - \MFF@parmreal{apex_corr}{extra width at diagonal junctions} - \MFF@write{} - \MFF@parmreal{o}{amount of overshoot for curves} - \MFF@parmreal{apex_o}{amount of overshoot for diagonal junctions} - \MFF@write{} - \edef\@tempa{\MFF@slant}% - \MFF@parameter{slant}{}{tilt ratio (Delta x/Delta y)} - \MFF@parmfactor{fudge}{factor applied to weights of heavy characters} - \MFF@parmfactor{math_spread}{extra openness of math symbols} - \MFF@parmfactor{superness}{parameter for superellipses} - \MFF@parmfactor{superpull}{extra openness inside bowls} - \MFF@parmfactor{beak_darkness}{fraction of triangle inside beak serifs} - \MFF@write{} - \MFF@parmreal{stem_corr}{for small refinements of stem breadth} - \MFF@parmreal{vair_corr}{for small refinements of hairline height} - \MFF@write{} - \edef\@tempa{\MFF@ligs}% - \MFF@commstr{ligs:=\@tempa;}{level of ligatures to be included} - \MFF@write{} - \MFF@commstr{square_dots:=\MFF@squaredots;}{should dots be square?} - \MFF@commstr{hefty:=\MFF@hefty;}{should we try hard not to be overweight?} - \MFF@commstr{serifs:=\MFF@serifs;}{should serifs and bulbs be attached?} - \MFF@commstr{monospace:=\MFF@monospace;}{should all characters have the same width?} - \MFF@commstr{variant_g:=\MFF@variantg;}{should an italic-style g be used?} - \MFF@commstr{low_asterisk:=\MFF@lowasterisk;}{should the asterisk be centered at the axis?} - \MFF@commstr{math_fitting:=\MFF@mathfitting;}{should math-mode spacing be used?} - \if@MFF@tricks - \MFF@write{} - \MFF@comment{This part is taken from "The ABC's of Special Effects"} - \MFF@comment{by Georgia K.M. Tobin in TUGBoat 9 (1988) No 1 pp. 15--18} - \MFF@comment{and from "Outline Fonts with Metafont"} - \MFF@comment{by Doug Henderson in TUGBoat 10 (1989) No 1 pp. 36--38.} - \MFF@maketrick - \fi - \MFF@write{} - \csname MFF@\MFF@class \MFF@fam @generate\endcsname - \MFF@close -} - -% -% this macro adds parameters for CAPS -\def\MFF@smallcaps{% - \MFF@comment{now come replacements used to set the lowercase caps} - \MFF@write{} - \MFF@capsprm{u}{16.0/21.0}{unit width} - \ifMFF@dcfont \MFF@capsprmdc \fi - \MFF@capsprm{width_adj}{1.0}{width adjustment for certain characters} - \MFF@capsprm{cap_serif_fit}{40.0/50.0}{extra sidebar near uppercase serifs} - \MFF@capsprm{letter_fit}{24.0/50.0}{extra space added to all sidebars} - \MFF@capsprm{body_height}{20.0/27.0}{height of tallest characters} - \MFF@capsprm{cap_height}{18.5/24.6}{height of caps} - \MFF@capsprm{x_height}{116.0/155.0}{height of lowercase without ascenders} - \MFF@capsprm{bar_height}{65.0/87.0}{height of crossbar in lowercase e} - \MFF@capsprm{comma_depth}{52.0/70.0}{depth of comma below baseline} - \MFF@capsprm{stem}{21.0/25.0}{lowercase stem breadth} - \MFF@capsprm{flare}{25.0/33.0}{diameter of bulbs or breadth of terminals} - \MFF@capsprm{cap_hair}{91.0/110.0}{uppercase hairline breadth} - \MFF@capsprm{cap_stem}{26.0/32.0}{uppercase stem breadth} - \MFF@capsprm{cap_curve}{31.0/37.0}{uppercase curve breadth} - \MFF@capsprm{cap_ess}{28.0/35.0}{breadth in middle of uppercase s} - \MFF@capsprm{cap_jut}{26.0/37.0}{protrusion of uppercase serifs} - \MFF@capsprm{beak_jut}{7.0/10.0}{horizontal protrusion of beak serifs} - \MFF@capsprm{beak}{52.0/70.0}{vertical protrusion of beak serifs} - \MFF@capsprm{slab}{91.0/110.0}{serif and arm thickness} - \MFF@capsprm{cap_bar}{91.0/110.0}{uppercase bar thickness} - \MFF@capsprm{cap_band}{91.0/110.0}{uppercase thickness above/below lobes} - \MFF@capsprm{cap_notch_cut}{1.0}{max breadth above/below uppercase notches} - \MFF@capsprm{o}{5.0/8.0}{amount of overshoot for curves} - \MFF@capsprm{apex_o}{4.0/8.0}{amount of overshoot for diagonal junctions} - \MFF@capsval{fudge}{1.0}{factor applied to weights of heavy characters} -} - -\def\MFF@setcmbas#1{\MFF@common@header - \MFF@write{}% - \MFF@commstr{if unknown cmbase: input cmbase fi}{}% - \MFF@write{}% - \MFF@write{font_identifier:="#1/MFF";}% -} - -\def\MFF@setdcbas#1{\MFF@common@header - \MFF@write{}% - \MFF@commstr{if unknown cmbase: }{}% - \MFF@commstr{\space\space\space if unknown dxbase: input dxbase; fi;}{}% - \MFF@commstr{else:}{}% - \MFF@commstr{\space\space\space show "You cannot use cmbase with DC fonts!"; }{}% - \MFF@commstr{\space\space\space endinput; }{}% - \MFF@commstr{fi;}{}% - \MFF@write{}% - \MFF@write{font_identifier:="#1/MFF";}% -} - -\def\MFF@setgener#1{% - \MFF@commstr{generate #1}{switch to the driver file}% -} - -% general header -\def\MFF@common@header{\MFF@write{} - \MFF@comment{Composition\space\space\space\space\space\space\space: - bold=\MFF@frac@CMB, x=\MFF@frac@CMX, - sf=\MFF@frac@CMS, tt=\MFF@frac@CMT, - fib=\MFF@frac@FIB, funny=\MFF@frac@CMF} - \MFF@comment{Scale char size\space\space\space: - widht=\MFF@scale@width, height=\MFF@scale@height, - asc=\MFF@scale@asc, desc=\MFF@scale@desc, - math=\MFF@scale@math} - \MFF@comment{Scale char weight : - bold line factor=\MFF@scale@bold, - thin line factor=\MFF@scale@thin} - \MFF@comment{\space\space\space\space\space\space - \space\space\space\space\space\space - \space\space\space\space\space\space\space\space - contrast type=\MFF@contrasttype, - contrast factor=\MFF@contrast} - \MFF@comment{Scale variables\space\space\space: - join_lines\MFF@p\space * \MFF@scale@join, - notch_cut\MFF@p\space * \MFF@scale@notch,} - \MFF@comment{\space\space\space\space\space\space - \space\space\space\space\space\space - \space\space\space\space\space\space\space\space - dot_size\MFF@p\space * \MFF@scale@dot, - dish\MFF@p\space * \MFF@scale@dish} - \if@MFF@checkit \MFF@comment{Auto correction\space\space\space: ON} - \else \MFF@comment{Auto correction\space\space\space: OFF} - \fi - \if@MFF@tricks \MFF@comment{Add font tricks\space\space\space: - foreground=\MFF@trickchar, - background=\MFF@trickbox, - shadow=\MFF@trickshadow, - transform=\MFF@trick@transform} - \else \MFF@comment{Add font tricks\space\space\space: none} - \fi -} - -% CMR family -\def\MFF@CMR@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Roman family}% - \MFF@comment{created by D.E.Knuth [driver=roman.mf]}% - \MFF@setcmbas{CMR}% -} -\def\MFF@CMR@generate{% - \MFF@setgener{roman}% -} -\def\MFF@CMI@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Text Italic family}% - \MFF@comment{created by D.E.Knuth [driver=textit.mf]}% - \MFF@setcmbas{CMTI}% -} -\def\MFF@CMI@generate{% - \MFF@setgener{textit}% -} -\def\MFF@CMC@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Caps and Small Caps family}% - \MFF@comment{created by D.E.Knuth [driver=csc.mf]}% - \MFF@setcmbas{CMCSC}% -} -\def\MFF@CMC@generate{% - \MFF@smallcaps\MFF@write{}% - \MFF@setgener{csc}% -} - -% Samarin/Glonti Roman family -\def\MFF@SGR@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Roman Cyrillic family}% - \MFF@comment{by N.Glonti and A.Samarin [driver=cyrillic.mf]}% - \MFF@setcmbas{CMRZ}% -} -\def\MFF@SGR@generate{% - \MFF@setgener{cyrillic}% -} -\def\MFF@SGI@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Text Italic Cyrillic family}% - \MFF@comment{by N.Glonti and A.Samarin [driver=cytextit.mf]}% - \MFF@setcmbas{CMRIZ}% -} -\def\MFF@SGI@generate{% - \MFF@setgener{cytextit}% -} -\def\MFF@SGC@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Small Caps Cyrillic family}% - \MFF@comment{by N.Glonti and A.Samarin [driver=cyccsc.mf]}% - \MFF@setcmbas{CMCCSC}% -} -\def\MFF@SGC@generate{% - \MFF@smallcaps\MFF@write{}% - \MFF@setgener{cyccsc}% -} - -% Lapko/Khodulev Roman family -\def\MFF@LHR@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Roman Cyrillic family}% - \MFF@comment{by A.Khodulev and O.Lapko [driver=ldrmfont.mf]}% - \MFF@setcmbas{LHR}% -} -\def\MFF@LHR@generate{% - \MFF@setgener{ldrmfont;}% - \MFF@write{bye.}% -} -\def\MFF@LHI@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Text Italic Cyrillic family}% - \MFF@comment{by A.Khodulev and O.Lapko [driver=ldrifont.mf]}% - \MFF@setcmbas{LHTI}% -} -\def\MFF@LHI@generate{% - \MFF@setgener{ldrifont;}% - \MFF@write{bye.}% -} -\def\MFF@LHC@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Small Caps Cyrillic family}% - \MFF@comment{by A.Khodulev and O.Lapko [driver=ldrcfont.mf]}% - \MFF@setcmbas{LHCSC}% -} -\def\MFF@LHC@generate{% - \MFF@smallcaps\MFF@write{}% - \MFF@setgener{ldrcfont;}% - \MFF@write{bye.}% -} -% Lapko/Khodulev Roman family (cyrillic only) -\def\MFF@LLR@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Roman Cyrillic-only family}% - \MFF@comment{by A.Khodulev and O.Lapko [driver=ldrmfont.mf]}% - \MFF@setcmbas{LLR}% -} -\def\MFF@LLR@generate{% - \MFF@commstr{vfcoding=1; }{only cyrillic characters}% - \MFF@write{}\MFF@setgener{ldrmfont;}% - \MFF@write{bye.}% -} -\def\MFF@LLI@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Text Italic Cyrillic-only family}% - \MFF@comment{by A.Khodulev and O.Lapko [driver=ldrifont.mf]}% - \MFF@setcmbas{LLTI}% -} -\def\MFF@LLI@generate{% - \MFF@commstr{vfcoding=1; }{only cyrillic characters}% - \MFF@write{}\MFF@setgener{ldrifont;}% - \MFF@write{bye.}% -} -\def\MFF@LLC@header{% - \MFF@dcfontfalse - \MFF@comment{Computer Modern Small Caps Cyrillic-only family}% - \MFF@comment{by A.Khodulev and O.Lapko [driver=ldrcfont.mf]}% - \MFF@setcmbas{LLCSC}% -} -\def\MFF@LLC@generate{% - \MFF@smallcaps\MFF@write{}% - \MFF@commstr{vfcoding=1; }{only cyrillic characters}% - \MFF@write{}\MFF@setgener{ldrcfont;}% - \MFF@write{bye.}% -} - -% DC family -\def\MFF@DCR@header{% - \MFF@dcfonttrue - \MFF@comment{European Computer Modern Roman family}% - \MFF@comment{by J"org Knappen and Norbert Schwarz [driver=dxroman.mf]}% - \MFF@setdcbas{DCR}% -} -\def\MFF@DCR@generate{% - \MFF@setgener{dxroman}% -} -\def\MFF@DCI@header{% - \MFF@dcfonttrue - \MFF@comment{European Computer Modern Text Italic family}% - \MFF@comment{by J"org Knappen and Norbert Schwarz [driver=dxtextit.mf]}% - \MFF@setdcbas{DCTI}% -} -\def\MFF@DCI@generate{% - \MFF@setgener{dxtextit}% -} -\def\MFF@DCC@header{% - \MFF@dcfonttrue - \MFF@comment{European Computer Modern Caps and Small Caps family}% - \MFF@comment{by J"org Knappen and Norbert Schwarz [driver=dxcsc.mf]}% - \MFF@setdcbas{DCCSC}% -} -\def\MFF@DCC@generate{% - \MFF@smallcaps\MFF@write{}% - \MFF@setgener{dxcsc}% -} - -\def\MFFclass@CMR{\def\MFF@class{CM}\def\MFF@fam{R}} -\def\MFFclass@LHR{\def\MFF@class{LH}\def\MFF@fam{R}} -\def\MFFclass@LLR{\def\MFF@class{LH}\def\MFF@fam{R}} -\def\MFFclass@CMRZ{\def\MFF@class{SG}\def\MFF@fam{R}} -\def\MFFclass@DCR{\def\MFF@class{DC}\def\MFF@fam{R}} - -\def\MFFclass@CMTI{\def\MFF@class{CM}\def\MFF@fam{I}} -\def\MFFclass@LHTI{\def\MFF@class{LH}\def\MFF@fam{I}} -\def\MFFclass@LLTI{\def\MFF@class{LH}\def\MFF@fam{I}} -\def\MFFclass@CMRIZ{\def\MFF@class{SG}\def\MFF@fam{I}} -\def\MFFclass@DCTI{\def\MFF@class{DC}\def\MFF@fam{I}} - -\def\MFFclass@CMCSC{\def\MFF@class{CM}\def\MFF@fam{C}} -\def\MFFclass@LHCSC{\def\MFF@class{LH}\def\MFF@fam{C}} -\def\MFFclass@LLCSC{\def\MFF@class{LH}\def\MFF@fam{C}} -\def\MFFclass@CMCCSC{\def\MFF@class{SG}\def\MFF@fam{C}} -\def\MFFclass@DCCSC{\def\MFF@class{DC}\def\MFF@fam{C}} - -\def\MFFclass#1{\csname MFFclass@#1\endcsname} - -\def\MFFdefault{\MFFnocheck -% - \MFFscaleWidth{1}% - \MFFscaleHeight{1}% - \MFFscaleAsc{1}% - \MFFscaleDesc{1}% - \MFFscaleMath{1}% - \MFFscaleBoldLines{1}% - \MFFscaleThinLines{1}% - \MFFscaleJoinLines{1}% - \MFFscaleNotchCut{1}% - \MFFscaleDotSize{1}% - \MFFscaleSerifDish{1}% - \MFFcontrast[s]% -% - \MFFslant{0}% - \MFFflagLigs{s}% - \MFFflagSquareDots{n}% - \MFFflagHefty{n}% - \MFFflagSerifs{y}% - \MFFflagMonospace{n}% - \MFFflagVariantG{n}% - \MFFflagLowAsterisk{n}% - \MFFflagMathSpacing{n}% -% - \stepMFFoutline{0.075}% - \stepMFFshadow{0.5}% - \cornerMFFshadow{A}% - \stepMFFboxpattern{0.375}\penMFFboxpattern{0.075}% - \stepMFFcharpattern{0.375}\penMFFcharpattern{0.075}% - \stepMFFshadowpattern{0.375}\penMFFshadowpattern{0.075}% - \MFFstdtrick{standard}% - \MFFnotricks% -% - \def\MFFprefix{xx}% - \MFFsauter - \MFFmixture{0}{0}{0}{0}{0}{0}% - \MFFclass{CMR}% -} - -\MFFdefault -\noMFFcatcode - diff --git a/Master/texmf-dist/tex/latex/mff/mfsauter.tex b/Master/texmf-dist/tex/latex/mff/mfsauter.tex deleted file mode 100644 index 56fa9d8b2db..00000000000 --- a/Master/texmf-dist/tex/latex/mff/mfsauter.tex +++ /dev/null @@ -1,1972 +0,0 @@ -% -% Approxiomation for font parameters based on SAUTER -% - -\def\MFF@title@SAUTER{% - \MFF@comment{Based on ``alternate parameter files'' prepared by} - \MFF@comment{John Sauter and Karl Berry (Version 1.4 [1992])} -} - -% -% this code is for linear and quadratic -% local approximations used in SAUTER -% -\def\MFF@linear#1#2#3{% - \@tempdimb=-#1pt\relax - \advance\@tempdimb by \@tempdima - \@tempdimb=#2\@tempdimb - \advance\@tempdimb by #3pt\relax -} - -\def\MFF@quadric#1#2#3#4{% - \@tempdimb=-#1pt\relax - \advance\@tempdimb by \@tempdima - \MFF@dimenD=\@tempdimb - \@tempdimb=#2\@tempdimb - \advance\@tempdimb by #3pt\relax - \MFF@multiply{\@tempdimb}{\MFF@dimenD}{\@tempdimb}% - \advance\@tempdimb by #4pt\relax -} - -\def\SAUTER@CMR@u{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{15}{50}% - \else - \MFF@quadric{10}{-0.062437562437}{17.6248751249}{200}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@width_adj{\@tempdimb=0pt} - -\def\SAUTER@CMR@serif_fit{\@tempdimb=0pt} - -\def\SAUTER@CMR@cap_serif_fit{% - \ifdim \@tempdima<9pt\relax - \MFF@quadric{0}{-0.5}{13.5}{-35}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{4}{46}% - \else - \MFF@quadric{10}{0.022893772893}{3.95421245416}{50}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@letter_fit{% - \ifdim \@tempdima<4pt\relax - \@tempdimb=70pt\relax - \else - \ifdim \@tempdima<6pt\relax - \MFF@linear{0}{-20}{150}% - \else - \ifdim \@tempdima<7pt\relax - \MFF@linear{6}{-10}{90}% - \MFF@linear{ 6}{-10}{ 30}% - \else - \ifdim \@tempdima<8pt\relax - \MFF@linear{7}{-20}{20}% - \else - \ifdim \@tempdima<10pt\relax - \@tempdimb=0pt\relax - \else - \MFF@quadric{10}{-0.936563436562}{1.87312687301}{0}% - \fi\fi\fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@body_height{% - \ifdim \@tempdima<6pt\relax - \@tempdimb=270\@tempdima - \else - \MFF@quadric{6}{-0.14568764568}{271.456876457}{1620}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@asc_height{\@tempdimb=25\@tempdima} - -\def\SAUTER@CMR@acc_height{\SAUTER@CMR@x_height - \@tempdimb=0.48387096774\@tempdimb} - -\def\SAUTER@CMR@dot_height{\SAUTER@CMR@cap_height - \@tempdimb=0.26829268293\@tempdimb} - -\def\SAUTER@CMR@udot_height{\SAUTER@CMR@cap_height - \@tempdimb=0.23983739837\@tempdimb} - -\def\SAUTER@CMR@cap_height{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=246\@tempdima - \else - \MFF@quadric{10}{-0.0228937728937}{246.045787545}{2460}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@fig_height{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=232\@tempdima - \else - \MFF@quadric{10}{0.0270562770562}{231.945887445}{2320}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@x_height{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=155\@tempdima - \else - \MFF@quadric{10}{-0.010406260406}{155.020812512}{1550}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@math_axis{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=90\@tempdima - \else - \MFF@quadric{10}{-0.00520313020313}{90.0104062603}{900}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@comma_depth{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=70\@tempdima - \else - \MFF@quadric{10}{0.010406260406}{69.9791874791}{700}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@desc_depth{\SAUTER@CMR@comma_depth} - -\def\SAUTER@CMR@bar_height{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=87\@tempdima - \else - \MFF@quadric{10}{-0.087412587412}{87.1748251748}{870}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@crisp{\@tempdimb=0pt} - -\def\SAUTER@CMR@tiny{% - \ifdim \@tempdima<6pt\relax - \MFF@linear{0}{10}{10}% - \else - \ifdim \@tempdima<7pt\relax - \@tempdimb=70pt\relax - \else - \ifdim \@tempdima<8pt\relax - \@tempdimb=10\@tempdima - \else - \@tempdimb=80pt\relax - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@fine{% - \ifdim \@tempdima<6pt\relax - \@tempdimb=10\@tempdima - \else - \ifdim \@tempdima<7pt\relax - \@tempdimb=60pt\relax - \else - \ifdim \@tempdima<8pt\relax - \MFF@linear{7}{10}{60}% - \else - \ifdim \@tempdima<10pt\relax - \@tempdimb=70pt\relax - \else - \MFF@quadric{10}{0.046828171828}{2.40634365626}{70}% - \fi\fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@thin_join{\SAUTER@CMR@fine} - -\def\SAUTER@CMR@hair{% - \ifdim \@tempdima<8pt\relax - \MFF@linear{0}{5}{50}% - \else - \ifdim \@tempdima<10pt\relax - \@tempdimb=90pt\relax - \else - \MFF@quadric{10}{0.046828171828}{2.40634365626}{90}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@stem{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{60}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{240}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{15}{250}% - \else - \MFF@linear{12}{9.4696969696}{280}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@curve{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{25}{55}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{20}{100}% - \MFF@linear{9}{20}{280}% - \else - \ifdim \@tempdima<42pt\relax - \MFF@quadric{10}{-0.23934398934}{15.4786879782}{300}% - \else - \@tempdimb=550.22977022pt\relax - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@ess{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=24\@tempdima - \else - \ifdim \@tempdima<7pt\relax - \MFF@quadric{5}{-5}{55}{120}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{7}{20}{210}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{15}{270}% - \else - \MFF@linear{12}{9.4696969696}{300}% - \fi\fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - - -\def\SAUTER@CMR@flare{% - \ifdim \@tempdima<6pt\relax - \MFF@linear{0}{20}{90}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{6}{30}{210}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{15}{330}% - \else - \MFF@quadric{12}{0.280969030969}{15.5619380619}{360}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@dot_size{% - \ifdim \@tempdima<6pt\relax - \MFF@linear{0}{40}{20}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{6}{30}{260}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{20}{380}% - \else - \MFF@linear{12}{17.0454545454}{420}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@cap_hair{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{5}{55}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{100}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{2.5}{110}% - \else - \MFF@quadric{12}{0.046828171828}{2.59365634357}{115}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@cap_stem{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{25}{65}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{30}{290}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{15}{320}% - \else - \ifdim \@tempdima<26pt\relax - \MFF@quadric{12}{-0.4995004995}{25.989010989}{110.059940059}% - \MFF@quadric{12}{-0.4995004995}{14.000999001}{350}% - \else - \@tempdimb=461.0989011pt\relax - \fi\fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@cap_curve{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{30}{60}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{40}{330}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{15}{370}% - \else - \ifdim \@tempdima<45pt\relax - \MFF@quadric{12}{-0.23934398934}{20.265567765}{191.278721278}% - \MFF@quadric{12}{-0.23934398934}{14.5213120208}{400}% - \else - \@tempdimb=618.557692303pt\relax - \fi\fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@cap_ess{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=28\@tempdima - \else - \ifdim \@tempdima<6pt\relax - \MFF@linear{5}{50}{140}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{6}{40}{190}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{15}{350}% - \else - \MFF@linear{12}{9.46969696}{380}% - \fi\fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@rule_thickness{% - \ifdim \@tempdima<7pt\relax - \MFF@linear{0}{3}{13}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{7}{2}{34}% - \else - \MFF@linear{12}{3.0303030303}{44}% - \fi\fi -} - -\def\SAUTER@CMR@dish{% - \ifdim \@tempdima<8pt\relax - \MFF@linear{0}{1}{2}% - \else - \@tempdimb=10pt\relax - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@bracket{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=20\@tempdima - \else - \ifdim \@tempdima<80pt\relax - \MFF@quadric{10}{-0.145687645687}{20.2913752914}{200}% - \else - \@tempdimb=906.52680653pt\relax - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@jut{% - \ifdim \@tempdima<7pt\relax - \MFF@linear{0}{20}{50}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{7}{30}{190}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{25}{280}% - \else - \MFF@linear{12}{17.0454545454}{330}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@cap_jut{% - \ifdim \@tempdima<8pt\relax - \MFF@linear{0}{30}{50}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{8}{40}{290}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{20}{370}% - \else - \MFF@linear{12}{17.0454545454}{410}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@beak_jut{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{8}{20}% - \else - \MFF@quadric{10}{-0.024975024975}{7.0499500499}{100}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@beak{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=70\@tempdima - \else - \MFF@quadric{10}{0.010406260406}{69.9791874791}{700}% - \fi - \@tempdimb=0.1\@tempdimb -} - - -\def\SAUTER@CMR@vair{% - \ifdim \@tempdima<6pt\relax - \MFF@linear{0}{10}{10}% - \else - \ifdim \@tempdima<7pt\relax - \@tempdimb=70pt\relax - \else - \ifdim \@tempdima<8pt\relax - \@tempdimb=10\@tempdima - \else - \ifdim \@tempdima<10pt\relax - \@tempdimb=80pt\relax - \else - \MFF@quadric{10}{0.046828171828}{2.40634365626}{80}% - \fi\fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@notch_cut{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=100\@tempdima - \else - \ifdim \@tempdima<35pt\relax - \MFF@quadric{10}{-0.728438228438}{101.456876451}{1000}% - \else - \@tempdimb=3081.1480185pt\relax - \fi\fi -} - -\def\SAUTER@CMR@bar{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{5}{55}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{100}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{7.5}{110}% - \else - \MFF@linear{12}{6.6287878787}{125}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@slab{\SAUTER@CMR@bar} - -\def\SAUTER@CMR@cap_bar{\SAUTER@CMR@bar} - -\def\SAUTER@CMR@cap_band{\SAUTER@CMR@bar} - -\def\SAUTER@CMR@cap_notch_cut{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=100\@tempdima - \else - \MFF@quadric{10}{-0.72843822843}{101.456876456}{1000}% - \fi -} - -\def\SAUTER@CMR@serif_drop{% - \ifdim \@tempdima<12pt\relax - \@tempdimb=4\@tempdima - \else - \MFF@quadric{12}{0.0228937728937}{4.04578754578}{48}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@stem_corr{% - \ifdim \@tempdima<8pt\relax - \MFF@linear{0}{1}{2}% - \else - \@tempdimb=10pt\relax - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@vair_corr{% - \ifdim \@tempdima<7pt\relax - \MFF@linear{0}{2}{-5}% - \else - \ifdim \@tempdima<8pt\relax - \MFF@quadric{7}{-0.5}{1.5}{9}% - \else - \@tempdimb=10pt\relax - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@apex_corr{\@tempdimb=0pt} - -\def\SAUTER@CMR@o{% - \ifdim \@tempdima<7pt\relax - \MFF@linear{0}{5}{15}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{7}{10}{50}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{5}{80}% - \else - \MFF@linear{12}{1.8939393939}{90}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMR@apex_o{\SAUTER@CMR@o} - -\def\SAUTER@CMR@fudge{\@tempdimb=1pt} - -\def\SAUTER@CMR@math_spread{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{-0.2}{2}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{-0.1}{0}% - \else - \MFF@linear{12}{-0.0378787878787}{-0.2}% - \fi\fi -} - -\def\SAUTER@CMR@superness{\@tempdimb=0.707106781186548pt} - -\def\SAUTER@CMR@superpull{\@tempdimb=0.16666666667pt} - -\def\SAUTER@CMR@beak_darkness{\@tempdimb=0.36666666667pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\SAUTER@CMX@u{\SAUTER@CMR@u \@tempdimb=1.2\@tempdimb} - -\def\SAUTER@CMX@width_adj{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{8}{30}% - \else - \MFF@linear{10}{10}{110}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMX@serif_fit{\@tempdimb=0pt} - -\def\SAUTER@CMX@cap_serif_fit{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{8}{-10}% - \else - \MFF@linear{10}{5}{70}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMX@letter_fit{% - \ifdim \@tempdima<4pt\relax - \@tempdimb=40pt\relax - \else - \ifdim \@tempdima<8pt\relax - \MFF@linear{0}{-10}{80}% - \else - \@tempdimb=0pt\relax - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMX@cap_jut{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{40}{-10}% - \else - \MFF@linear{10}{35}{390}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMX@body_height{\SAUTER@CMR@body_height} -\def\SAUTER@CMX@asc_height{\SAUTER@CMR@asc_height} -\def\SAUTER@CMX@acc_height{\SAUTER@CMR@acc_height} -\def\SAUTER@CMX@dot_height{\SAUTER@CMR@dot_height} -\def\SAUTER@CMX@udot_height{\SAUTER@CMR@udot_height} -\def\SAUTER@CMX@cap_height{\SAUTER@CMR@cap_height} -\def\SAUTER@CMX@fig_height{\SAUTER@CMR@fig_height} -\def\SAUTER@CMX@x_height{\SAUTER@CMR@x_height} -\def\SAUTER@CMX@math_axis{\SAUTER@CMR@math_axis} -\def\SAUTER@CMX@comma_depth{\SAUTER@CMR@comma_depth} -\def\SAUTER@CMX@desc_depth{\SAUTER@CMR@desc_depth} -\def\SAUTER@CMX@bar_height{\SAUTER@CMR@bar_height} -\def\SAUTER@CMX@crisp{\SAUTER@CMR@crisp} -\def\SAUTER@CMX@tiny{\SAUTER@CMR@tiny} -\def\SAUTER@CMX@fine{\SAUTER@CMR@fine} -\def\SAUTER@CMX@thin_join{\SAUTER@CMR@thin_join} -\def\SAUTER@CMX@hair{\SAUTER@CMR@hair} -\def\SAUTER@CMX@stem{\SAUTER@CMR@stem} -\def\SAUTER@CMX@curve{\SAUTER@CMR@curve} -\def\SAUTER@CMX@ess{\SAUTER@CMR@ess} -\def\SAUTER@CMX@flare{\SAUTER@CMR@flare} -\def\SAUTER@CMX@dot_size{\SAUTER@CMR@dot_size} -\def\SAUTER@CMX@cap_hair{\SAUTER@CMR@cap_hair} -\def\SAUTER@CMX@cap_stem{\SAUTER@CMR@cap_stem} -\def\SAUTER@CMX@cap_curve{\SAUTER@CMR@cap_curve} -\def\SAUTER@CMX@cap_ess{\SAUTER@CMR@cap_ess} -\def\SAUTER@CMX@rule_thickness{\SAUTER@CMR@rule_thickness} -\def\SAUTER@CMX@dish{\SAUTER@CMR@dish} -\def\SAUTER@CMX@bracket{\SAUTER@CMR@bracket} -\def\SAUTER@CMX@jut{\SAUTER@CMR@jut} -\def\SAUTER@CMX@beak_jut{\SAUTER@CMR@beak_jut} -\def\SAUTER@CMX@beak{\SAUTER@CMR@beak} -\def\SAUTER@CMX@vair{\SAUTER@CMR@vair} -\def\SAUTER@CMX@notch_cut{\SAUTER@CMR@notch_cut} -\def\SAUTER@CMX@bar{\SAUTER@CMR@bar} -\def\SAUTER@CMX@slab{\SAUTER@CMR@slab} -\def\SAUTER@CMX@cap_bar{\SAUTER@CMR@cap_bar} -\def\SAUTER@CMX@cap_band{\SAUTER@CMR@cap_band} -\def\SAUTER@CMX@cap_notch_cut{\SAUTER@CMR@cap_notch_cut} -\def\SAUTER@CMX@serif_drop{\SAUTER@CMR@serif_drop} -\def\SAUTER@CMX@stem_corr{\SAUTER@CMR@stem_corr} -\def\SAUTER@CMX@vair_corr{\SAUTER@CMR@vair_corr} -\def\SAUTER@CMX@apex_corr{\SAUTER@CMR@apex_corr} -\def\SAUTER@CMX@o{\SAUTER@CMR@o} -\def\SAUTER@CMX@apex_o{\SAUTER@CMR@apex_o} -\def\SAUTER@CMX@fudge{\SAUTER@CMR@fudge} -\def\SAUTER@CMX@math_spread{\SAUTER@CMR@math_spread} -\def\SAUTER@CMX@superness{\SAUTER@CMR@superness} -\def\SAUTER@CMX@superpull{\SAUTER@CMR@superpull} -\def\SAUTER@CMX@beak_darkness{\SAUTER@CMR@beak_darkness} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\SAUTER@CMB@u{\SAUTER@CMR@u} - -\def\SAUTER@CMB@width_adj{\@tempdimb=\@tempdima} - -\def\SAUTER@CMB@serif_fit{\@tempdimb=0pt} - -\def\SAUTER@CMB@cap_serif_fit{\@tempdimb=0.6\@tempdima} - -\def\SAUTER@CMB@letter_fit{% - \ifdim \@tempdima<4pt\relax - \@tempdimb=40pt\relax - \else - \ifdim \@tempdima<8pt\relax - \MFF@linear{0}{-10}{80}% - \else - \@tempdimb=0pt\relax - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@body_height{\@tempdimb=27\@tempdima} - -\def\SAUTER@CMB@asc_height{\@tempdimb=25\@tempdima} - -\def\SAUTER@CMB@acc_height{\SAUTER@CMB@x_height - \@tempdimb=0.46875\@tempdimb} - -\def\SAUTER@CMB@dot_height{\SAUTER@CMB@cap_height - \@tempdimb=0.3036437247\@tempdimb} - -\def\SAUTER@CMB@udot_height{\SAUTER@CMB@cap_height - \@tempdimb=0.23886639676\@tempdimb} - -\def\SAUTER@CMB@cap_height{\@tempdimb=24.7\@tempdima} - -\def\SAUTER@CMB@fig_height{% - \MFF@linear{0}{232}{0.00006}% - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@x_height{\@tempdimb=16\@tempdima} - -\def\SAUTER@CMB@math_axis{\@tempdimb=9\@tempdima} - -\def\SAUTER@CMB@comma_depth{\@tempdimb=7\@tempdima} - -\def\SAUTER@CMB@desc_depth{\@tempdimb=7\@tempdima} - -\def\SAUTER@CMB@bar_height{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{90}{-50}% - \else - \@tempdimb=85\@tempdima - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@crisp{\@tempdimb=0pt} - -\def\SAUTER@CMB@tiny{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{10}{40}% - \else - \@tempdimb=130pt\relax - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@fine{% - \ifdim \@tempdima<6pt\relax - \MFF@linear{0}{10}{30}% - \else - \ifdim \@tempdima<7pt\relax - \@tempdimb=90pt\relax - \else - \ifdim \@tempdima<8pt\relax - \MFF@linear{7}{10}{90}% - \else - \ifdim \@tempdima<10pt\relax - \@tempdimb=100pt\relax - \else - \MFF@linear{10}{2.5}{100}% - \fi\fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@thin_join{\SAUTER@CMB@fine} - -\def\SAUTER@CMB@hair{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{4}{130}% - \else - \MFF@linear{10}{6.5}{170}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@stem{% - \ifdim \@tempdima<7pt\relax - \MFF@linear{0}{40}{40}% - \else - \ifdim \@tempdima<45pt\relax - \MFF@linear{7}{30}{320}% - \else - \@tempdimb=1460pt\relax - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@curve{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{40}{70}% - \else - \ifdim \@tempdima<45pt\relax - \MFF@linear{9}{30}{430}% - \else - \@tempdimb=1510pt\relax - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@ess{% - \ifdim \@tempdima<7pt\relax - \MFF@quadric{0}{-10}{170}{-410}% - \else - \MFF@linear{7}{30}{290}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@flare{% - \ifdim \@tempdima<8pt\relax - \MFF@linear{0}{40}{70}% - \else - \MFF@linear{8}{30}{390}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@dot_size{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{50}{60}% - \else - \MFF@linear{10}{30}{560}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@cap_hair{% - \ifdim \@tempdima<6pt\relax - \MFF@linear{0}{10}{120}% - \else - \ifdim \@tempdima<7pt\relax - \@tempdimb=180pt\relax - \else - \ifdim \@tempdima<8pt\relax - \MFF@linear{7}{10}{180}% - \else - \ifdim \@tempdima<9pt\relax - \@tempdimb=190pt\relax - \else - \MFF@linear{9}{5}{190}% - \fi\fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@cap_stem{% - \ifdim \@tempdima<8pt\relax - \MFF@linear{0}{50}{30}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{8}{40}{430}% - \else - \ifdim \@tempdima<45pt\relax - \MFF@linear{10}{30}{510}% - \else - \@tempdimb=1560pt\relax - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@cap_curve{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{50}{60}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{40}{510}% - \else - \ifdim \@tempdima<45pt\relax - \MFF@linear{10}{30}{550}% - \else - \@tempdimb=1600pt\relax - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@cap_ess{% - \ifdim \@tempdima<7pt\relax - \MFF@quadric{0}{-5}{125}{-260}% - \else - \ifdim \@tempdima<9pt\relax - \MFF@quadric{7}{-5}{135}{-330}% - \MFF@quadric{7}{-5}{65}{370}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{50}{480}% - \else - \MFF@linear{10}{30}{530}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@rule_thickness{% - \ifdim \@tempdima<7pt\relax - \MFF@linear{0}{4}{23}% - \else - \MFF@linear{7}{3}{51}% - \fi -} - -\def\SAUTER@CMB@dish{% - \ifdim \@tempdima<8pt\relax - \MFF@linear{0}{1}{2}% - \else - \@tempdimb=10pt\relax - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@bracket{\@tempdimb=\@tempdima} - -\def\SAUTER@CMB@jut{% - \ifdim \@tempdima<8pt\relax - \MFF@linear{0}{20}{30}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{8}{30}{190}% - \else - \@tempdimb=25\@tempdima - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@cap_jut{\SAUTER@CMR@cap_jut} - -\def\SAUTER@CMB@beak_jut{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{8}{30}% - \else - \MFF@linear{10}{7}{110}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@beak{% - \ifdim \@tempdima<10pt\relax - \MFF@quadric{0}{-5}{165}{-450}% - \else - \@tempdimb=70\@tempdima - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@vair{% - \ifdim \@tempdima<6pt\relax - \MFF@linear{0}{10}{50}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{6}{5}{110}% - \else - \MFF@linear{10}{6.5}{130}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@notch_cut{% - \ifdim \@tempdima<15pt\relax - \MFF@linear{0}{100}{30} - \else - \@tempdimb=1530pt\relax - \fi -} - -\def\SAUTER@CMB@bar{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{10}{70}% - \else - \MFF@linear{10}{7.5}{170}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@slab{\SAUTER@CMB@bar} - -\def\SAUTER@CMB@cap_bar{\SAUTER@CMB@bar} - -\def\SAUTER@CMB@cap_band{\SAUTER@CMB@bar} - -\def\SAUTER@CMB@cap_notch_cut{% - \ifdim \@tempdima<15pt\relax - \MFF@linear{0}{100}{30} - \else - \@tempdimb=1530pt\relax - \fi -} - -\def\SAUTER@CMB@serif_drop{\@tempdimb=0.3\@tempdima} - -\def\SAUTER@CMB@stem_corr{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{1}{10}% - \else - \@tempdimb=20pt\relax - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@vair_corr{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{1}{5}% - \else - \@tempdimb=15pt\relax - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@apex_corr{\@tempdimb=0pt\relax} - -\def\SAUTER@CMB@o{% - \ifdim \@tempdima<7pt\relax - \MFF@linear{0}{2}{16}% - \else - \ifdim \@tempdima<8pt\relax - \MFF@linear{7}{10}{30}% - \else - \ifdim \@tempdima<10pt\relax - \@tempdimb=40pt\relax - \else - \MFF@linear{10}{5}{40}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMB@apex_o{\SAUTER@CMB@o} - -\def\SAUTER@CMB@fudge{\@tempdimb=1pt} - -\def\SAUTER@CMB@math_spread{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{-20}{250}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{-5}{50}% - \else - \MFF@linear{12}{-3.78787878787}{40}% - \fi\fi - \@tempdimb=0.01\@tempdimb -} - -\def\SAUTER@CMB@superness{\@tempdimb=0.72727272727pt} - -\def\SAUTER@CMB@superpull{\@tempdimb=0.125pt} - -\def\SAUTER@CMB@beak_darkness{\@tempdimb=0.4pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\SAUTER@CMS@u{\SAUTER@CMR@u} - -\def\SAUTER@CMS@width_adj{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{10}{40}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{20}{130}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{10}{150}% - \else - \MFF@quadric{12}{0.44746919746}{10.8949383947}{170}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@serif_fit{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{-5}{-20}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{-10}{-70}% - \else - \MFF@linear{12}{-5.6818181818}{-90}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@cap_serif_fit{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{-5}{-45}% - \else - \ifdim \@tempdima<10pt\relax - \@tempdimb=-10\@tempdima - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{-15}{-100}% - \else - \MFF@linear{12}{-7.5757575757}{-130}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@letter_fit{\SAUTER@CMR@letter_fit} - -\def\SAUTER@CMS@body_height{\SAUTER@CMR@body_height} - -\def\SAUTER@CMS@asc_height{\SAUTER@CMR@asc_height} - -\def\SAUTER@CMS@acc_height{\SAUTER@CMS@x_height - \@tempdimb=0.4375\@tempdimb} - -\def\SAUTER@CMS@dot_height{\SAUTER@CMS@cap_height - \@tempdimb=0.224\@tempdimb} - -\def\SAUTER@CMS@udot_height{\SAUTER@CMS@cap_height - \@tempdimb=0.236\@tempdimb} - -\def\SAUTER@CMS@cap_height{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=250\@tempdima - \else - \MFF@quadric{10}{-0.0228937728937}{ 250.045787545}{2500}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@fig_height{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{230}{50}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{240}{2120}% - \else - \MFF@quadric{10}{0.23934398934}{234.521312021}{2360}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@x_height{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=160\@tempdima - \else - \MFF@quadric{10}{-2.25815850815}{164.516317016}{1600}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@math_axis{\SAUTER@CMR@math_axis} - -\def\SAUTER@CMS@comma_depth{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{40}{50}% - \else - \MFF@quadric{10}{0.0624375624375}{44.8751248748}{450}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@desc_depth{\SAUTER@CMR@desc_depth} - -\def\SAUTER@CMS@bar_height{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{80}{-10}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{90}{790}% - \else - \MFF@linear{12}{73.863636363}{970}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@crisp{\@tempdimb=0pt} - -\def\SAUTER@CMS@tiny{\@tempdimb=0pt} - -\def\SAUTER@CMS@fine{\@tempdimb=0pt} - -\def\SAUTER@CMS@thin_join{% - \ifdim \@tempdima<10pt\relax - \SAUTER@CMR@thin_join - \else - \MFF@quadric{10}{0.00208125208125}{1.49583749583}{17}% - \fi -} - -\def\SAUTER@CMS@hair{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{90}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{270}% - \else - \MFF@quadric{10}{0.20812520812}{24.5837495834}{280}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@stem{\SAUTER@CMS@hair} - -\def\SAUTER@CMS@curve{\SAUTER@CMS@hair} - -\def\SAUTER@CMS@ess{\SAUTER@CMS@hair} - -\def\SAUTER@CMS@flare{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{60}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{240}% - \else - \ifdim \@tempdima<12pt\relax - \@tempdimb=25\@tempdima - \else - \MFF@linear{12}{22.727272727}{300}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@dot_size{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{20}{100}% - \else - \MFF@quadric{10}{0.46828171828}{24.0634365626}{300}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@cap_hair{\SAUTER@CMS@hair} - -\def\SAUTER@CMS@cap_stem{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{130}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{310}% - \else - \MFF@quadric{10}{0.46828171828}{24.0634365626}{320}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@cap_curve{\SAUTER@CMS@cap_stem} - -\def\SAUTER@CMS@cap_ess{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{30}{40}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{310}% - \else - \MFF@quadric{10}{0.46828171828}{24.0634365626}{320}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@rule_thickness{\SAUTER@CMR@rule_thickness} - -\def\SAUTER@CMS@dish{\@tempdimb=0pt} - -\def\SAUTER@CMS@bracket{\@tempdimb=0pt} - -\def\SAUTER@CMS@jut{\@tempdimb=0pt} - -\def\SAUTER@CMS@cap_jut{\@tempdimb=0pt} - -\def\SAUTER@CMS@beak_jut{\@tempdimb=0pt} - -\def\SAUTER@CMS@beak{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{1}{-4}% - \else - \ifdim \@tempdima<10pt\relax - \@tempdimb=5\@tempdima - \else - \MFF@quadric{10}{-0.01665001665}{0.5333000333}{5}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@vair{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{30}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{210}% - \else - \MFF@quadric{10}{0.37462537462}{19.2507492504}{220}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@notch_cut{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{10}{80}% - \else - \MFF@quadric{10}{-0.14568764568}{20.2913752914}{180}% - \fi - \@tempdimb=0.27777777778\@tempdimb -} - -\def\SAUTER@CMS@bar{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{20}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{200}% - \else - \MFF@quadric{10}{0.11446886446}{19.7710622702}{210}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@slab{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{40}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{220}% - \else - \ifdim \@tempdima<12pt\relax - \MFF@linear{10}{20}{230}% - \else - \MFF@linear{12}{24.6212121212}{270}% - \fi\fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@cap_bar{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{30}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{210}% - \else - \MFF@quadric{10}{0.37462537462}{19.2507492504}{220}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@cap_band{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{10}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{190}% - \else - \MFF@quadric{10}{0.11446886446}{19.7710622702}{200}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@cap_notch_cut{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{60}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{240}% - \else - \MFF@quadric{10}{-0.218531468531}{30.437062937}{250}% - \fi\fi - \@tempdimb=0.27777777778\@tempdimb -} - -\def\SAUTER@CMS@serif_drop{\@tempdimb=2pt} - -\def\SAUTER@CMS@stem_corr{\@tempdimb=1pt} - -\def\SAUTER@CMS@vair_corr{\@tempdimb=1pt} - -\def\SAUTER@CMS@apex_corr{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=5\@tempdima - \else - \MFF@quadric{10}{-0.426656676656}{5.85331335328}{50}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@o{% - \ifdim \@tempdima<7pt\relax - \MFF@linear{0}{5}{15}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{7}{10}{50}% - \else - \MFF@quadric{10}{-0.42665667665}{5.853313353}{80}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMS@apex_o{\@tempdimb=0pt} - -\def\SAUTER@CMS@fudge{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{0.02}{0.77}% - \else - \ifdim \@tempdima<14pt\relax - \MFF@linear{9}{0.01}{0.95}% - \else - \@tempdimb=1pt\relax - \fi\fi -} - -\def\SAUTER@CMS@math_spread{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{-0.2}{2}% - \else - \MFF@quadric{10}{0.00853313353313}{-0.117066267065}{0}% - \fi -} - -\def\SAUTER@CMS@superness{\@tempdimb=0.707106781186548pt} - -\def\SAUTER@CMS@superpull{\@tempdimb=0.05pt} - -\def\SAUTER@CMS@beak_darkness{\@tempdimb=0pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\SAUTER@CMT@u{% - \ifdim \@tempdima<10pt\relax - \MFF@quadric{0}{1}{2}{90}% - \else - \MFF@linear{10}{18.5}{210}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@width_adj{\@tempdimb=0pt} - -\def\SAUTER@CMT@serif_fit{\@tempdimb=0pt} - -\def\SAUTER@CMT@cap_serif_fit{\@tempdimb=0pt} - -\def\SAUTER@CMT@letter_fit{\SAUTER@CMR@letter_fit} - -\def\SAUTER@CMT@body_height{\@tempdimb=25\@tempdima} - -\def\SAUTER@CMT@asc_height{\@tempdimb=22\@tempdima} - -\def\SAUTER@CMT@acc_height{\SAUTER@CMT@x_height - \@tempdimb=0.48387096774\@tempdimb} - -\def\SAUTER@CMT@dot_height{\SAUTER@CMT@cap_height - \@tempdimb=0.34090909091\@tempdimb} - -\def\SAUTER@CMT@udot_height{\SAUTER@CMT@cap_height - \@tempdimb=0.26818181818\@tempdimb} - -\def\SAUTER@CMT@cap_height{\@tempdimb=22\@tempdima} - -\def\SAUTER@CMT@fig_height{\@tempdimb=22\@tempdima} - -\def\SAUTER@CMT@x_height{\@tempdimb=15.52\@tempdima} - -\def\SAUTER@CMT@math_axis{\@tempdimb=11\@tempdima} - -\def\SAUTER@CMT@comma_depth{\@tempdimb=5\@tempdima} - -\def\SAUTER@CMT@desc_depth{\@tempdimb=8\@tempdima} - -\def\SAUTER@CMT@bar_height{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=78\@tempdima - \else - \MFF@linear{5}{80}{390}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@crisp{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{30}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{210}% - \else - \MFF@linear{10}{15}{220}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@tiny{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{30}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{10}{210}% - \else - \MFF@linear{10}{15}{220}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@fine{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=12\@tempdima - \else - \ifdim \@tempdima<10pt\relax - \MFF@quadric{5}{-5}{55}{60}% - \else - \MFF@linear{10}{5}{210}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@thin_join{\SAUTER@CMT@fine} - -\def\SAUTER@CMT@hair{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=20\@tempdima - \else - \ifdim \@tempdima<10pt\relax - \MFF@quadric{5}{-5}{55}{100}% - \else - \MFF@linear{10}{15}{250}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@stem{\SAUTER@CMT@hair} - -\def\SAUTER@CMT@curve{\SAUTER@CMT@hair} - -\def\SAUTER@CMT@ess{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=14\@tempdima - \else - \ifdim \@tempdima<10pt\relax - \MFF@quadric{5}{-5}{55}{70}% - \else - \MFF@linear{10}{15}{220}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@flare{% - \ifdim \@tempdima<10pt\relax - \MFF@linear{0}{20}{120}% - \else - \MFF@linear{10}{15}{320}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@dot_size{% - \ifdim \@tempdima<9pt\relax - \MFF@linear{0}{20}{150}% - \else - \ifdim \@tempdima<10pt\relax - \MFF@linear{9}{30}{330}% - \else - \MFF@linear{10}{15}{360}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@cap_hair{\SAUTER@CMT@hair} - -\def\SAUTER@CMT@cap_stem{\SAUTER@CMT@hair} - -\def\SAUTER@CMT@cap_curve{\SAUTER@CMT@hair} - -\def\SAUTER@CMT@cap_ess{\SAUTER@CMT@hair} - -\def\SAUTER@CMT@rule_thickness{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=20\@tempdima - \else - \ifdim \@tempdima<10pt\relax - \MFF@quadric{5}{-5}{55}{100}% - \else - \MFF@linear{10}{15}{250}% - \fi\fi - \@tempdimb=0.27777777778\@tempdimb -} - -\def\SAUTER@CMT@dish{\@tempdimb=0pt} - -\def\SAUTER@CMT@bracket{\@tempdimb=0pt} - -\def\SAUTER@CMT@jut{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=18\@tempdima - \else - \ifdim \@tempdima<10pt\relax - \MFF@quadric{5}{-5}{75}{90}% - \else - \MFF@linear{10}{25}{340}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@cap_jut{\SAUTER@CMT@jut} - -\def\SAUTER@CMT@beak_jut{\@tempdimb=0pt} - -\def\SAUTER@CMT@beak{\SAUTER@CMT@jut} - -\def\SAUTER@CMT@vair{\SAUTER@CMT@ess} - -\def\SAUTER@CMT@notch_cut{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=20\@tempdima - \else - \ifdim \@tempdima<10pt\relax - \MFF@quadric{5}{-5}{55}{100}% - \else - \MFF@linear{10}{15}{250}% - \fi\fi - \@tempdimb=0.27777777778\@tempdimb -} - -\def\SAUTER@CMT@bar{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=14\@tempdima - \else - \ifdim \@tempdima<10pt\relax - \MFF@quadric{5}{-5}{55}{70}% - \else - \MFF@linear{10}{15}{220}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@slab{\SAUTER@CMT@bar} - -\def\SAUTER@CMT@cap_bar{\SAUTER@CMT@bar} - -\def\SAUTER@CMT@cap_band{\SAUTER@CMT@bar} - -\def\SAUTER@CMT@cap_notch_cut{\SAUTER@CMT@notch_cut} - -\def\SAUTER@CMT@serif_drop{\@tempdimb=0pt} - -\def\SAUTER@CMT@stem_corr{\@tempdimb=0pt} - -\def\SAUTER@CMT@vair_corr{\@tempdimb=0pt} - -\def\SAUTER@CMT@apex_corr{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=10\@tempdima - \else - \MFF@linear{10}{5}{100}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@o{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=3\@tempdima - \else - \MFF@linear{5}{5}{15}% - \fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@apex_o{% - \ifdim \@tempdima<5pt\relax - \@tempdimb=6\@tempdima - \else - \ifdim \@tempdima<10pt\relax - \@tempdimb=30pt\relax - \else - \MFF@linear{10}{5}{30}% - \fi\fi - \@tempdimb=0.1\@tempdimb -} - -\def\SAUTER@CMT@fudge{% - \ifdim \@tempdima<10pt\relax - \@tempdimb=0.81pt\relax - \else - \ifdim \@tempdima<17.6pt\relax - \MFF@linear{10}{0.025}{0.81}% - \else - \@tempdimb=1pt\relax - \fi\fi -} - -\def\SAUTER@CMT@math_spread{\@tempdimb=-1pt} - -\def\SAUTER@CMT@superness{\@tempdimb=0.707106781186548pt} - -\def\SAUTER@CMT@superpull{\@tempdimb=0pt} - -\def\SAUTER@CMT@beak_darkness{\@tempdimb=0pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\SAUTER@CMF@u{\SAUTER@CMR@u - \@tempdimb=0.8\@tempdimb} - -\def\SAUTER@CMF@width_adj{\@tempdimb=-1.6\@tempdima} - -\def\SAUTER@CMF@serif_fit{\@tempdimb=-0.3\@tempdima} - -\def\SAUTER@CMF@cap_serif_fit{\@tempdimb=-0.4\@tempdima} - -\def\SAUTER@CMF@letter_fit{\SAUTER@CMR@letter_fit - \@tempdimb=0.8\@tempdimb} - -\def\SAUTER@CMF@body_height{\SAUTER@CMR@body_height - \@tempdimb=0.88888888889\@tempdimb} - -\def\SAUTER@CMF@asc_height{\SAUTER@CMR@asc_height - \@tempdimb=0.88\@tempdimb} - -\def\SAUTER@CMF@acc_height{\SAUTER@CMF@x_height - \@tempdimb=0.39473684211\@tempdimb} - -\def\SAUTER@CMF@dot_height{\SAUTER@CMF@cap_height - \@tempdimb=0.33333333333\@tempdimb} - -\def\SAUTER@CMF@udot_height{\SAUTER@CMF@cap_height - \@tempdimb=0.26222222222\@tempdimb} - -\def\SAUTER@CMF@cap_height{\SAUTER@CMR@cap_height - \@tempdimb=0.91463414634\@tempdimb} - -\def\SAUTER@CMF@fig_height{\SAUTER@CMR@fig_height - \@tempdimb=0.90517241379\@tempdimb} - -\def\SAUTER@CMF@x_height{\SAUTER@CMR@x_height - \@tempdimb=1.2258064516\@tempdimb} - -\def\SAUTER@CMF@math_axis{\SAUTER@CMR@math_axis - \@tempdimb=0.61111111111\@tempdimb} - -\def\SAUTER@CMF@comma_depth{\SAUTER@CMR@comma_depth} - -\def\SAUTER@CMF@desc_depth{\SAUTER@CMR@desc_depth - \@tempdimb=1.4285714286\@tempdimb} - -\def\SAUTER@CMF@bar_height{\SAUTER@CMR@bar_height - \@tempdimb=0.68965517241\@tempdimb} - -\def\SAUTER@CMF@crisp{\@tempdimb=\@tempdima} - -\def\SAUTER@CMF@tiny{\@tempdimb=0pt} - -\def\SAUTER@CMF@fine{\@tempdimb=0pt} - -\def\SAUTER@CMF@thin_join{\SAUTER@CMR@thin_join - \@tempdimb=2\@tempdimb} - -\def\SAUTER@CMF@hair{\SAUTER@CMR@hair - \@tempdimb=1.3333333333\@tempdimb} - -\def\SAUTER@CMF@stem{\SAUTER@CMR@stem - \@tempdimb=0.64\@tempdimb} - -\def\SAUTER@CMF@curve{\SAUTER@CMR@curve - \@tempdimb=0.66666666667\@tempdimb} - -\def\SAUTER@CMF@ess{\SAUTER@CMR@ess - \@tempdimb=0.81481481481\@tempdimb} - -\def\SAUTER@CMF@flare{\SAUTER@CMR@flare - \@tempdimb=0.72727272727\@tempdimb} - -\def\SAUTER@CMF@dot_size{\SAUTER@CMR@dot_size - \@tempdimb=0.68421052632\@tempdimb} - -\def\SAUTER@CMF@cap_hair{\SAUTER@CMR@cap_hair - \@tempdimb=1.4545454545\@tempdimb} - -\def\SAUTER@CMF@cap_stem{\SAUTER@CMR@cap_stem - \@tempdimb=1.4545454545\@tempdimb} - -\def\SAUTER@CMF@cap_curve{\SAUTER@CMR@cap_curve - \@tempdimb=0.7027027027\@tempdimb} - -\def\SAUTER@CMF@cap_ess{\SAUTER@CMR@cap_ess - \@tempdimb=0.8\@tempdimb} - -\def\SAUTER@CMF@rule_thickness{\SAUTER@CMR@rule_thickness - \@tempdimb=1.25\@tempdimb} - -\def\SAUTER@CMF@dish{\SAUTER@CMR@dish - \@tempdimb=5\@tempdimb} - -\def\SAUTER@CMF@bracket{\SAUTER@CMR@bracket - \@tempdimb=\@tempdimb} - -\def\SAUTER@CMF@jut{\SAUTER@CMR@jut - \@tempdimb=1.0714285714\@tempdimb} - -\def\SAUTER@CMF@cap_jut{\SAUTER@CMR@cap_jut - \@tempdimb=1.0810810811\@tempdimb} - -\def\SAUTER@CMF@beak_jut{\SAUTER@CMR@beak_jut - \@tempdimb=-0.8\@tempdimb} - -\def\SAUTER@CMF@beak{\SAUTER@CMR@beak - \@tempdimb=0.14285714286\@tempdimb} - -\def\SAUTER@CMF@vair{\SAUTER@CMR@vair - \@tempdimb=1.75\@tempdimb} - -\def\SAUTER@CMF@notch_cut{\SAUTER@CMR@notch_cut - \@tempdimb=0.55555555556\@tempdimb} - -\def\SAUTER@CMF@bar{\SAUTER@CMR@bar - \@tempdimb=1.5454545455\@tempdimb} - -\def\SAUTER@CMF@slab{\SAUTER@CMR@slab - \@tempdimb=1.8181818182\@tempdimb} - -\def\SAUTER@CMF@cap_bar{\SAUTER@CMR@cap_bar - \@tempdimb=2\@tempdimb} - -\def\SAUTER@CMF@cap_band{\SAUTER@CMR@cap_band - \@tempdimb=1.5454545455\@tempdimb} - -\def\SAUTER@CMF@cap_notch_cut{\SAUTER@CMR@cap_notch_cut - \@tempdimb=0.83333333333\@tempdimb} - -\def\SAUTER@CMF@serif_drop{\SAUTER@CMR@serif_drop - \@tempdimb=-2.5\@tempdimb} - -\def\SAUTER@CMF@stem_corr{\SAUTER@CMR@stem_corr - \@tempdimb=-\@tempdimb} - -\def\SAUTER@CMF@vair_corr{\SAUTER@CMR@vair_corr - \@tempdimb=-\@tempdimb} - -\def\SAUTER@CMF@apex_corr{\@tempdimb=0.6\@tempdima} - -\def\SAUTER@CMF@o{\SAUTER@CMR@o - \@tempdimb=0.5\@tempdimb} - -\def\SAUTER@CMF@apex_o{\SAUTER@CMR@apex_o - \@tempdimb=1.125\@tempdimb} - -\def\SAUTER@CMF@fudge{\SAUTER@CMR@fudge - \@tempdimb=\@tempdimb} - -\def\SAUTER@CMF@math_spread{\@tempdimb=0.5pt} - -\def\SAUTER@CMF@superness{\@tempdimb=0.66666666667pt} - -\def\SAUTER@CMF@superpull{\@tempdimb=-0.125pt} - -\def\SAUTER@CMF@beak_darkness{\@tempdimb=0.5pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\SAUTER@FIB@u{\SAUTER@CMR@u - \@tempdimb=1.2352941176\@tempdimb} - -\def\SAUTER@FIB@width_adj{\SAUTER@CMR@width_adj} - -\def\SAUTER@FIB@serif_fit{\@tempdimb=-0.25\@tempdima} - -\def\SAUTER@FIB@cap_serif_fit{\@tempdimb=0pt} - -\def\SAUTER@FIB@letter_fit{\SAUTER@CMR@letter_fit} - -\def\SAUTER@FIB@body_height{\SAUTER@CMR@body_height - \@tempdimb=1.0787037037\@tempdimb} - -\def\SAUTER@FIB@asc_height{\SAUTER@CMR@asc_height - \@tempdimb=1.165\@tempdimb} - -\def\SAUTER@FIB@acc_height{\SAUTER@FIB@x_height - \@tempdimb=0.38197424893\@tempdimb} - -\def\SAUTER@FIB@dot_height{\SAUTER@FIB@cap_height - \@tempdimb=0.23607427056\@tempdimb} - -\def\SAUTER@FIB@udot_height{\SAUTER@FIB@cap_height - \@tempdimb=0.23607427056\@tempdimb} - -\def\SAUTER@FIB@cap_height{\SAUTER@CMR@cap_height - \@tempdimb=1.1887755102\@tempdimb} - -\def\SAUTER@FIB@fig_height{\SAUTER@CMR@fig_height - \@tempdimb=1.255387931\@tempdimb} - -\def\SAUTER@FIB@x_height{\SAUTER@CMR@x_height - \@tempdimb=1.1612903226\@tempdimb} - -\def\SAUTER@FIB@math_axis{\SAUTER@CMR@math_axis - \@tempdimb=1.2361111111\@tempdimb} - -\def\SAUTER@FIB@comma_depth{\SAUTER@CMR@comma_depth - \@tempdimb=0.98214285714\@tempdimb} - -\def\SAUTER@FIB@desc_depth{\SAUTER@CMR@desc_depth - \@tempdimb=0.98214285714\@tempdimb} - -\def\SAUTER@FIB@bar_height{\SAUTER@CMR@bar_height - \@tempdimb=1.2898550725\@tempdimb} - -\def\SAUTER@FIB@crisp{\@tempdimb=\@tempdima} - -\def\SAUTER@FIB@tiny{\SAUTER@CMR@tiny - \@tempdimb=1.625\@tempdimb} - -\def\SAUTER@FIB@fine{\SAUTER@CMR@fine - \@tempdimb=1.8571428571\@tempdimb} - - -\def\SAUTER@FIB@thin_join{\SAUTER@CMR@thin_join - \@tempdimb=1.8571428571\@tempdimb} - -\def\SAUTER@FIB@hair{\SAUTER@CMR@hair - \@tempdimb=2.3333333333\@tempdimb} - -\def\SAUTER@FIB@stem{\SAUTER@CMR@stem - \@tempdimb=1.5454545455\@tempdimb} - -\def\SAUTER@FIB@curve{\SAUTER@CMR@curve - \@tempdimb=1.56\@tempdimb} - -\def\SAUTER@FIB@ess{\SAUTER@CMR@ess - \@tempdimb=1.4782608696\@tempdimb} - -\def\SAUTER@FIB@flare{\SAUTER@CMR@flare - \@tempdimb=1.2592592593\@tempdimb} - -\def\SAUTER@FIB@dot_size{\SAUTER@CMR@dot_size - \@tempdimb=1.0625\@tempdimb} - -\def\SAUTER@FIB@cap_hair{\SAUTER@CMR@cap_hair - \@tempdimb=2.2105263158\@tempdimb} - -\def\SAUTER@FIB@cap_stem{\SAUTER@CMR@cap_stem - \@tempdimb=1.2830188679\@tempdimb} - -\def\SAUTER@FIB@cap_curve{\SAUTER@CMR@cap_curve - \@tempdimb=1.3\@tempdimb} - -\def\SAUTER@FIB@cap_ess{\SAUTER@CMR@cap_ess - \@tempdimb=1.2592592593\@tempdimb} - -\def\SAUTER@FIB@rule_thickness{\SAUTER@CMR@rule_thickness - \@tempdimb=1.6203703704\@tempdimb} - -\def\SAUTER@FIB@dish{\SAUTER@CMR@dish} - -\def\SAUTER@FIB@bracket{\SAUTER@CMR@bracket - \@tempdimb=1.3125\@tempdimb} - -\def\SAUTER@FIB@jut{\SAUTER@CMR@jut - \@tempdimb=0.95454545455\@tempdimb} - -\def\SAUTER@FIB@cap_jut{\SAUTER@CMR@cap_jut - \@tempdimb=0.72413793103\@tempdimb} - -\def\SAUTER@FIB@beak_jut{\SAUTER@CMR@beak_jut - \@tempdimb=1.5476190476\@tempdimb} - -\def\SAUTER@FIB@beak{\SAUTER@CMR@beak - \@tempdimb=0.98214285714\@tempdimb} - -\def\SAUTER@FIB@vair{\SAUTER@CMR@vair - \@tempdimb=1.625\@tempdimb} - -\def\SAUTER@FIB@notch_cut{\SAUTER@CMR@notch_cut} - -\def\SAUTER@FIB@bar{\SAUTER@CMR@bar - \@tempdimb=1.3684210526\@tempdimb} - -\def\SAUTER@FIB@slab{\SAUTER@CMR@slab - \@tempdimb=1.3684210526\@tempdimb} - -\def\SAUTER@FIB@cap_bar{\SAUTER@CMR@cap_bar - \@tempdimb=1.3684210526\@tempdimb} - -\def\SAUTER@FIB@cap_band{\SAUTER@CMR@cap_band - \@tempdimb=1.3684210526\@tempdimb} - -\def\SAUTER@FIB@cap_notch_cut{\SAUTER@CMR@cap_notch_cut} - -\def\SAUTER@FIB@serif_drop{\SAUTER@CMR@serif_drop - \@tempdimb=0.9375\@tempdimb} - -\def\SAUTER@FIB@stem_corr{\SAUTER@CMR@stem_corr} - -\def\SAUTER@FIB@vair_corr{\SAUTER@CMR@vair_corr} - -\def\SAUTER@FIB@apex_corr{\SAUTER@CMR@apex_corr} - -\def\SAUTER@FIB@o{\SAUTER@CMR@o - \@tempdimb=1.3333333333\@tempdimb} - -\def\SAUTER@FIB@apex_o{\SAUTER@CMR@apex_o - \@tempdimb=1.3333333333\@tempdimb} - -\def\SAUTER@FIB@fudge{\SAUTER@CMR@fudge} - -\def\SAUTER@FIB@math_spread{\SAUTER@CMR@math_spread - \@tempdimb=0.9375\@tempdimb} - -\def\SAUTER@FIB@superness{\@tempdimb=0.707106781186548pt} - -\def\SAUTER@FIB@superpull{\@tempdimb=0.076923076923pt} - -\def\SAUTER@FIB@beak_darkness{\@tempdimb=0.38461538462pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - diff --git a/Master/texmf-dist/tex/latex/mff/mftricks.tex b/Master/texmf-dist/tex/latex/mff/mftricks.tex deleted file mode 100644 index 2680da29ac3..00000000000 --- a/Master/texmf-dist/tex/latex/mff/mftricks.tex +++ /dev/null @@ -1,429 +0,0 @@ -% -% ``Font Tricks'' borrowed from: -% "The ABC's of Special Effects" by Georgia K.M. Tobin -% TUGBoat 9 (1988) No 1 pp. 15--18 -% "Outline Fonts with Metafont" by Doug Henderson -% TUGBoat 10 (1989) No 1 pp. 36--38. -% - - -\def\MFF@writetrick#1{\MFF@write{\space\space\space #1}} - -% main trick subroutine (background + main char + shadow + transform) -% z = empty (white), b = black, -% v = vertical, h = horizontal, r = slanted(/), l - slanted (\) -% d = dotted grig, g = rectangular grid, s - slanted grid -% uppercase(*) = (*) + outline -% transformations: -% "z" - XY symmetry, "x" - symmetry OX, "y" - symmetry OY -% "+" - rotate +90, "-" - rotate -90, "=" - rotate 180 - -\def\MFF@maketrick{% - % initialization - \if z\MFF@trickshadow\relax \else \MFF@shadowinit \fi - \MFF@checktrick{\MFF@trickshadow}{vVhHrRlLdDgGsS}{\MFF@patterninit{SPen}}% - \MFF@checktrick{\MFF@trickchar}{vVhHrRlLdDgGsS}{\MFF@patterninit{MPen}}% - \MFF@checktrick{\MFF@trickbox}{ZvVhHrRlLdDgGsS}{\MFF@patterninit{HPen}}% - \@negargtrue - \MFF@checktrick{\MFF@trickchar}{ZBVHRLDGS}{}% - \MFF@checktrick{\MFF@trickshadow}{ZBVHRLDGS}{}% - \if@negarg\relax \else \MFF@outlineinit \fi - % subroutine which repaces endchar - \@negargtrue \if z\MFF@trickbox \@negargfalse \fi - \MFF@trick@start{TrickChar}% - \MFF@boxinit\MFF@trick@dochar{Normal}% - \if z\MFF@trickshadow \else \MFF@trick@doshadow{Normal}{Shadow}\fi - % make background - \@negargtrue - \MFF@checktrick{\MFF@trickbox}{zZ}{% - \MFF@writetrick{clearit; picture BackChar; BackChar:=currentpicture;}% - }% - \if@negarg - \if z\MFF@trickshadow - \MFF@trick@helpdraw{Normal}{Back}{HPen}{\MFF@trickbox}% - \else - \MFF@trick@helpdraw{ShadowBox}{Back}{HPen}{\MFF@trickbox}% - \fi - \fi - \MFF@checktrick{\MFF@trickbox}{ZBVHRLDGS}{% - \MFF@writetrick{clearit; pickup HPen;} - \MFF@writetrick{draw (rbXM,rbYM)--(rbXP,rbYM); draw (rbXP,rbYM)--(rbXP,rbYP);} - \MFF@writetrick{draw (rbXP,rbYP)--(rbXM,rbYP); draw (rbXM,rbYP)--(rbXM,rbYM);} - \MFF@writetrick{cullit; BackChar:=currentpicture + BackChar;} - }% - % make character - \MFF@trick@trickhelp{\MFF@trickchar}{MPen}{Normal}{Main}% - % make shadow - \MFF@trick@trickhelp{\MFF@trickshadow}{SPen}{Shadow}{SMain}% - % combine - \MFF@writetrick{clearit; currentpicture:=BackChar+MainChar+SMainChar;}% - \MFF@trick@end{TrickChar}% - % correct char box - % transformation - \@negargfalse - \@for\@temp:=\MFF@trick@transform\do - {\csname MFF@help@transf@\@temp\endcsname}% - % final box corrections - \if z\MFF@trickbox \if@negarg \MFF@trick@makebox \fi - \else \MFF@trick@shiftbox \@negargtrue \fi - \if@negarg \MFF@trick@assignbox \fi -} - -\def\MFF@help@transf@rr{\@negargtrue - \MFF@trick@transf{FR}% - {rotatedaround ((0,0),-90) shifted (0,tmpW)}% - {tempI:=tmpW; tmpW:=tmpH; tmpH:=tempI+tmpP; tmpP:=tmpD; tmpD:=0;}% - {tmptmp:=tmpwd; tmpwd:=tmpht; tmpht:=tmptmp+tmpwp; tmpwp:=tmpdp; tmpdp:=0pt\MFF@p;}% -} - -\def\MFF@help@transf@rl{\@negargtrue - \MFF@trick@transf{FL}% - {rotatedaround ((0,0),+90) shifted (tmpH,0)}% - {tempI:=tmpH; tmpH:=tmpW; tmpW:=tempI+tmpD; tmpD:=tmpP; tmpP:=0;}% - {tmptmp:=tmpht; tmpht:=tmpwd; tmpwd:=tmptmp+tmpdp; tmpdp:=tmpwp; tmpwp:=0pt\MFF@p;}% -} - -\def\MFF@help@transf@ro{\@negargtrue - \MFF@trick@transf{FF}% - {rotatedaround ((0,0),180) shifted (tmpW,tmpH)}% - {tmpH:=tmpH+tmpD; tmpW:=tmpW+tmpP; tmpD:=0; tmpP:=0;}% - {tmpht:=tmpht+tmpdp; tmpwd:=tmpwd+tmpwp; tmpdp:=0pt\MFF@p; tmpwp:=0pt\MFF@p;}% -} - -\def\MFF@help@transf@sx{\@negargtrue - \MFF@trick@transf{FY}% - {reflectedabout ((0,0),(0,100)) shifted (tmpW,0)}% - {tmpW:=tmpW+tmpP; tmpP:=0;}% - {tmpwd:=tmpwd+tmpwp; tmpwp:=0pt\MFF@p;}% -} - -\def\MFF@help@transf@sy{\@negargtrue - \MFF@trick@transf{FX}% - {reflectedabout ((0,0),(100,0)) shifted (0,tmpH)}% - {tmpH:=tmpH+tmpD; tmpD:=0;}% - {tmpht:=tmpht+tmpdp; tmpdp:=0pt\MFF@p;}% -} - -\def\MFF@help@transf@sz{\@negargtrue - \MFF@trick@transf{FZ}% - {reflectedabout ((0,0),(100,100))}% - {tempI:=tmpW; tmpW:=tmpH; tmpH:=tempI; tempI:=tmpP; tmpP:=tmpD; tmpD:=tempI;}% - {tmptmp:=tmpwd; tmpwd:=tmpht; tmpht:=tmptmp; tmptmp:=tmpwp; tmpwp:=tmpdp; tmpdp:=tmptmp;}% -} - -\def\MFF@help@transf@st{\@negargtrue - \MFF@trick@transf{FT}% - {reflectedabout ((0,0),(100,-100)) shifted (tmpH,tmpW)}% - {tempI:=tmpW+tmpP; tmpW:=tmpH+tmpD; tmpH:=tempI; tmpP:=0; tmpD:=0;}% - {tmptmp:=tmpwd+tmpwp; tmpwd:=tmpht+tmpdp; tmpht:=tmptmp; tmpwp:=0pt\MFF@p; tmpdp:=0pt\MFF@p;}% -} - -% #1 - shift -\def\MFF@boxinit{% - \MFF@writetrick{if slant>0:} - \MFF@writetrick{\space\space\space rbXM:=hround(slant*chardp*hppp);} - \MFF@writetrick{\space\space\space rbXP:=hround(slant*charht*hppp);} - \MFF@writetrick{else:} - \MFF@writetrick{\space\space\space rbXM:=hround((-slant)*charht*hppp);} - \MFF@writetrick{\space\space\space rbXP:=hround((-slant)*chardp*hppp);} - \MFF@writetrick{fi;} - \if@negarg % background=yes - \MFF@writetrick{shiftX:=rbXM+curve; rbXM:=0;} - \MFF@writetrick{rbXP:=w+curve+rbXP+shiftX+hround(charic*hppp);} - \else % background=no - \MFF@writetrick{rbXM:=-curve-rbXM; rbXP:=w+curve+rbXP;} - \fi - \MFF@writetrick{rbYP:=body_height+curve; rbYM:=-body_depth-curve;} - \if z\MFF@trickshadow \relax \else - \if A\MFF@shadowstyle - \MFF@writetrick{rbYM:=rbYM-shadowstepV; rbXP:=rbXP+shadowstepH;} - \fi - \if B\MFF@shadowstyle - \MFF@writetrick{rbYP:=rbYP+shadowstepV; rbXP:=rbXP+shadowstepH;} - \fi - \if C\MFF@shadowstyle - \MFF@writetrick{rbYP:=rbYP+shadowstepV; rbXM:=rbXM-shadowstepH;} - \fi - \if D\MFF@shadowstyle - \MFF@writetrick{rbYM:=rbYM-shadowstepV; rbXM:=rbXM-shadowstepH;} - \fi - \fi -} - -\def\MFF@outlineinit{\MFF@write{}% - \MFF@writetrick{HCntSize\MFF@p:=\MFF@contourstep*hair\MFF@p;} - \MFF@writetrick{HCntX:=hround(HCntSize\MFF@p*hppp); if (HCntX<1): HCntX:=1; fi} - \MFF@writetrick{HCntY:=vround(HCntSize\MFF@p*hppp); if (HCntY<1): HCntY:=1; fi} -} - -% #1 - pen name (HPen for background, MPen for char, SPen for shadow) -\def\MFF@patterninit#1{\MFF@write{}% - \MFF@writetrick{#1Size\MFF@p:=\csname MFF@#1pen\endcsname *hair\MFF@p;} - \MFF@writetrick{#1X:=hround(#1Size\MFF@p*hppp); if (#1X<1): #1X:=1; fi} - \MFF@writetrick{#1Y:=vround(#1Size\MFF@p*hppp); if (#1Y<1): #1Y:=1; fi} - \MFF@writetrick{path #1Path;} - \MFF@writetrick{#1Path:=(-0.5#1X,-0.5#1Y)--(0.5#1X,-0.5#1Y)} - \MFF@writetrick{\space\space\space --(0.5#1X,0.5#1Y)--(-0.5#1X,0.5#1Y)--cycle;} - \MFF@writetrick{capsule_def(#1) makepen(#1Path);} - \MFF@writetrick{#1Step\MFF@p:=\csname MFF@#1step\endcsname *hair\MFF@p;} - \MFF@writetrick{#1StepH:=hround(#1Step\MFF@p*hppp); if (#1StepH<1): #1StepH:=1; fi} - \MFF@writetrick{#1StepV:=vround(#1Step\MFF@p*hppp); if (#1StepV<1): #1StepV:=1; fi} -} - -\def\MFF@shadowinit{\MFF@write{}% - \def\@tempa{+}\def\@tempb{-}% - \@tfor \@temp := \MFF@shadowstyle \do {% - \if A\@temp \def\@tempa{+}\def\@tempb{-}\fi - \if B\@temp \def\@tempa{+}\def\@tempb{+}\fi - \if C\@temp \def\@tempa{-}\def\@tempb{+}\fi - \if D\@temp \def\@tempa{-}\def\@tempb{-}\fi - }% - \MFF@writetrick{shadowstepH:=\@tempa hround(\MFF@shadowstep*hair\MFF@p*hppp);}% - \MFF@writetrick{shadowstepV:=\@tempb vround(\MFF@shadowstep*hair\MFF@p*hppp);}% -} - -% \@negarg = shift, #1 = picturename (Normal) -\def\MFF@trick@dochar#1{% - \MFF@writetrick{cullit; picture #1Char;} - \if@negarg % background=yes - \MFF@writetrick{#1Char:=currentpicture shifted (shiftX,0);} - \else % background=no - \MFF@writetrick{#1Char:=currentpicture;} - \fi -} - -% #1 - input char name, #2 - output char name -\def\MFF@trick@docontour#1#2{% - \MFF@writetrick{clearit;} - \MFF@writetrick{currentpicture:=#1Char;} - \MFF@writetrick{cull currentpicture keeping (1,infinity);} - \MFF@writetrick{picture TempPict; TempPict:=currentpicture;} - \MFF@writetrick{cull currentpicture keeping (1,1) withweight 3;} - \MFF@writetrick{addto currentpicture also TempPict - - TempPict shifted (-HCntX,0)} - \MFF@writetrick{\space\space\space - TempPict shifted (+HCntX,0) - - TempPict shifted (0,-HCntY) - - TempPict shifted (0,+HCntY);} - \MFF@writetrick{cull currentpicture keeping (1,4);} - \MFF@writetrick{picture #2Char; #2Char:=currentpicture;} -} - -% #1 - input char, #2 - output char -\def\MFF@trick@doshadow#1#2{% - \MFF@writetrick{clearit;} - \MFF@writetrick{currentpicture:=#1Char shifted (shadowstepH, shadowstepV);} - \MFF@writetrick{picture ShadowPict; ShadowPict:=currentpicture;} - \MFF@writetrick{clearit; currentpicture:=ShadowPict-#1Char;} - \MFF@writetrick{cullit; picture #2Char; #2Char:=currentpicture;} - \MFF@writetrick{clearit; currentpicture:=#1Char+#2Char;} - \MFF@writetrick{cullit; picture #2BoxChar; #2BoxChar:=currentpicture;} -} - -% make charactyer or shadow: -% #1 = draw subroutine, #2 - pen name, -% #3 = input char, #4 - output char -\def\MFF@trick@trickhelp#1#2#3#4{% - \if z#1 - \MFF@writetrick{clearit; picture #4Char; #4Char:=currentpicture;}% - \else - \if Z#1 - \MFF@trick@docontour{#3}{#4}% - \else - \if b#1 - \MFF@writetrick{picture #4Char; #4Char:=#3Char;}% - \else - \if B#1 - \MFF@writetrick{picture #4Char; #4Char:=#3Char;}% - \else - \MFF@trick@helpdraw{#3}{R#3}{#2}{B}% - \MFF@trick@helpdraw{R#3}{#4}{#2}{#1}% - \MFF@checktrick{#1}{ZBVHRLDGS}{% - \MFF@trick@docontour{#3}{OL#3}% - \MFF@writetrick{#4Char:=#4Char + OL#3Char;}% - }% - \fi\fi\fi\fi -} - -% black background: #1 - pen name (dummy) -\def\MFF@trick@do@b#1{\MFF@trick@do@B{#1}} -\def\MFF@trick@do@B#1{% - \MFF@writetrick{fill (rbXM,rbYM)--(rbXP,rbYM)--(rbXP,rbYP)--(rbXM,rbYP)--cycle;} -} - -% hor line background: #1 - pen name -\def\MFF@trick@do@h#1{\MFF@trick@do@H{#1}} -\def\MFF@trick@do@H#1{% - \MFF@writetrick{for f=rbYM+0.5#1Y step #1StepV until rbYP-0.5#1Y:} - \MFF@writetrick{\space\space\space draw (rbXM+0.5#1X,f)--(rbXP-0.5#1X,f);} - \MFF@writetrick{endfor;} -} - -% vert line background: #1 - pen name -\def\MFF@trick@do@v#1{\MFF@trick@do@V{#1}} -\def\MFF@trick@do@V#1{% - \MFF@writetrick{for f=rbXM+0.5#1X step #1StepH until rbXP-0.5#1X:} - \MFF@writetrick{\space\space\space draw (f,rbYM+0.5#1Y)--(f,rbYP-0.5#1Y);} - \MFF@writetrick{endfor;} -} - -% rect grid background: #1 - pen name -\def\MFF@trick@do@g#1{\MFF@trick@do@G{#1}} -\def\MFF@trick@do@G#1{\MFF@trick@do@H{#1}\MFF@trick@do@V{#1}} - -% dotted grid background: #1 - pen name -\def\MFF@trick@do@d#1{\MFF@trick@do@D{#1}} -\def\MFF@trick@do@D#1{% - \MFF@writetrick{for f=rbYM+0.5#1Y step #1StepV until rbYP-0.5#1Y:} - \MFF@writetrick{\space for g=rbXM+0.5#1X step #1StepH until rbXP-0.5#1X:} - \MFF@writetrick{\space\space\space draw (g,f);} - \MFF@writetrick{\space endfor;} - \MFF@writetrick{endfor;} -} - -% slant (\) background: #1 - pen name -\def\MFF@trick@do@r#1{\MFF@trick@do@R{#1}} -\def\MFF@trick@do@R#1{% - \MFF@writetrick{levelX:=rbXP-rbXM-#1X; levelY:=rbYP-rbYM-#1Y; f:=0;} - \MFF@writetrick{forever:} - \MFF@writetrick{\space\space\space exitif f>(levelX+levelY);} - \MFF@writetrick{\space\space\space if (f<levelY) :} - \MFF@writetrick{\space\space\space\space\space\space - pX:=rbXM + 0.5#1X; pY:=rbYM + 0.5#1Y + f;} - \MFF@writetrick{\space\space\space else:} - \MFF@writetrick{\space\space\space\space\space\space - pX:=rbXM + 0.5#1X + f - levelY; pY:=rbYP - 0.5#1Y;} - \MFF@writetrick{\space\space\space fi;} - \MFF@writetrick{\space\space\space if (f<levelX) :} - \MFF@writetrick{\space\space\space\space\space\space - qX:=rbXM + 0.5#1X + f; qY:=rbYM + 0.5#1Y;} - \MFF@writetrick{\space\space\space else:} - \MFF@writetrick{\space\space\space\space\space\space - qX:=rbXP - 0.5#1X; qY:=rbYM + 0.5#1Y + f - levelX;} - \MFF@writetrick{\space\space\space fi;} - \MFF@writetrick{\space\space\space draw (pX,pY)--(qX,qY);} - \MFF@writetrick{\space\space\space f:=f+#1StepV;} - \MFF@writetrick{endfor;} -} - -% slant (/) background: #1 - pen name -\def\MFF@trick@do@l#1{\MFF@trick@do@L{#1}} -\def\MFF@trick@do@L#1{% - \MFF@writetrick{levelX:=rbXP-rbXM-#1X; levelY:=rbYP-rbYM-#1Y; f:=0;} - \MFF@writetrick{forever:} - \MFF@writetrick{\space\space\space exitif f>(levelX+levelY);} - \MFF@writetrick{\space\space\space if (f<levelY) :} - \MFF@writetrick{\space\space\space\space\space\space - pX:=rbXP - 0.5#1X; pY:=rbYM + 0.5#1Y + f;} - \MFF@writetrick{\space\space\space else:} - \MFF@writetrick{\space\space\space\space\space\space - pX:=rbXP - 0.5#1X - f + levelY; pY:=rbYP - 0.5#1Y;} - \MFF@writetrick{\space\space\space fi;} - \MFF@writetrick{\space\space\space if (f<levelX) :} - \MFF@writetrick{\space\space\space\space\space\space - qX:=rbXP - 0.5#1X - f; qY:=rbYM + 0.5#1Y;} - \MFF@writetrick{\space\space\space else:} - \MFF@writetrick{\space\space\space\space\space\space - qX:=rbXM + 0.5#1X; qY:=rbYM + 0.5#1Y + f - levelX;} - \MFF@writetrick{\space\space\space fi;} - \MFF@writetrick{\space\space\space draw (pX,pY)--(qX,qY);} - \MFF@writetrick{\space\space\space f:=f+#1StepV;} - \MFF@writetrick{endfor;} -} - -% slanted grid background: #1 - pen name -\def\MFF@trick@do@s#1{\MFF@trick@do@S{#1}} -\def\MFF@trick@do@S#1{\MFF@trick@do@R{#1}\MFF@trick@do@L{#1}} - -% #1 - input char, #2 - output char, #3 - pen name, #4 - drawing subroutine -\def\MFF@trick@helpdraw#1#2#3#4{% - \MFF@writetrick{clearit;} - \if B#4 \else - \if b#4 \else - \if Z#4 \else - \if z#4 \else - \MFF@writetrick{pickup #3;} - \fi\fi\fi\fi - \csname MFF@trick@do@#4\endcsname{#3}% - \MFF@writetrick{cullit; currentpicture:=currentpicture-#1Char; cullit;} - \MFF@writetrick{picture #2Char; #2Char:=currentpicture;} -} - -% #1 - subroutine name -\def\MFF@trick@start#1{% - \MFF@write{}\MFF@write{def #1\space = } -} - -% #1 - subroutine name -\def\MFF@trick@end#1{% - \MFF@write{enddef;}\MFF@write{} - \MFF@write{extra_endchar := extra_endchar & "; #1";} -} - -% #1 - subroutine name, #2 - transformation -% #3 - update tmpH, tmpD, tmpW, tmpP -% #4 - update tmpht, tmpdp, tmpwd, tmpwp -\def\MFF@trick@transf#1#2#3#4{% - \MFF@trick@start{#1endchar}% - \MFF@writetrick{picture TempPict; TempPict:=currentpicture;} - \MFF@writetrick{clearit; currentpicture:=TempPict #2;} - \MFF@writetrick{clearit; currentpicture:=TempPict #2;} - \MFF@writetrick{#3} - \MFF@trick@end{#1endchar}% - \MFF@write{} - \MFF@write{def #1beginchar = } - \MFF@writetrick{#4} - \MFF@write{enddef;} - \MFF@write{extra_beginchar := extra_beginchar & "; #1beginchar";} -} - -\def\MFF@trick@dimen{% - \MFF@writetrick{tmpH:=vround(tmpht*hppp); tmpD:=vround(tmpdp*hppp);} - \MFF@writetrick{tmpW:=hround(tmpwd*hppp); tmpP:=hround(tmpwp*hppp);} -} - -\def\MFF@trick@shiftbox{% - \MFF@write{} - \MFF@write{body_depth\MFF@p:=desc_depth\MFF@p+body_height\MFF@p-asc_height\MFF@p;} - \MFF@write{def ABCbeginchar = } - \MFF@writetrick{tmpht:=body_height\MFF@p+curve\MFF@p; tmpdp:=body_depth\MFF@p+curve\MFF@p;} - \MFF@writetrick{tmpwd:=charwd+charic+2*curve\MFF@p; tmpic:=0pt\MFF@p; tmpwp:=0pt\MFF@p;} - \MFF@writetrick{if slant>0:} - \MFF@writetrick{\space\space\space tmpwd:=tmpwd+slant*(tmpdp+tmpht);} - \MFF@writetrick{else:} - \MFF@writetrick{\space\space\space tmpwd:=tmpwd-slant*(tmpdp+tmpht);} - \MFF@writetrick{fi;} - \MFF@trick@dimen - \MFF@write{enddef;} - \MFF@write{extra_beginchar := "ABCbeginchar; " & extra_beginchar;} -} - -\def\MFF@trick@makebox{% - \MFF@write{} - \MFF@write{body_depth\MFF@p:=desc_depth\MFF@p+body_height\MFF@p-asc_height\MFF@p;} - \MFF@write{def PQRbeginchar = } - \MFF@writetrick{tmpht:=body_height\MFF@p; tmpdp:=body_depth\MFF@p;} - \MFF@writetrick{tmpwd:=charwd; tmpic:=charic;} - \MFF@writetrick{if slant>0:} - \MFF@writetrick{\space\space\space tmpwp:=curve\MFF@p+slant*tmpdp;} - \MFF@writetrick{else:} - \MFF@writetrick{\space\space\space tmpwp:=curve\MFF@p-slant*tmpht;} - \MFF@writetrick{fi;} - \MFF@trick@dimen - \MFF@write{enddef;} - \MFF@write{extra_beginchar := "PQRbeginchar; " & extra_beginchar;} -} - -\def\MFF@trick@assignbox{% - \MFF@write{} - \MFF@write{def XYZbeginchar = } - \MFF@writetrick{charht:=tmpht; chardp:=tmpdp;} - \MFF@write{enddef;} - \MFF@write{def XYZendchar = } - \MFF@writetrick{charwd:=tmpwd; charic:=tmpic;} - \MFF@write{enddef;} - \MFF@write{extra_beginchar := extra_beginchar & "; XYZbeginchar";} - \MFF@write{extra_endchar := extra_endchar & "; XYZendchar";} -} - -%%%%%%% end MFF tricks %%%%%%%%%%%%%%%%%%% - diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 9482c9933a8..2a691bf7ca9 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -231,7 +231,7 @@ my @TLP_working = qw( menu metafont-beginners metago metalogo metaobj metaplot metatex metauml method metre - mff mfnfss mfpic mfpic4ode mftinc mh mhchem + mfnfss mfpic mfpic4ode mftinc mh mhchem mhequ microtype midnight midpage miller minibox minipage-marginpar miniplot minitoc minted minutes diff --git a/Master/tlpkg/bin/tlprm b/Master/tlpkg/bin/tlprm index 4b3494b441e..271ece44399 100755 --- a/Master/tlpkg/bin/tlprm +++ b/Master/tlpkg/bin/tlprm @@ -97,7 +97,7 @@ sub main } # e.g., insert a die. - print "$Master/tlpkg/libexec/ctan2tds:64: no resurrection\n"; + print "$Master/tlpkg/libexec/ctan2tds:500: no resurrection\n"; `echo $Master/tlpkg/libexec/ctan2tds >>$commit_file`; print "then:\nsvn remove `cat $rm_file`\n"; diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 21d8a7ebd13..06e34d5f4e6 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -496,6 +496,7 @@ $Master = "$mydir/../.."; 'metaobj', "&MAKEflatten", 'metauml', "&MAKEmetauml", 'mflogo', "die 'skipping, TL conflates distinct mflogo pkgs on CTAN'", + 'mff', "die 'skipping, noinfo license'", 'mfpic', "&MAKEcopy", 'mhs', "die 'skipping, nomodify license'", 'milstd', "die 'skipping, have milstd.sty from logic'", diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index d6480a52198..a3da2c68026 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -389,7 +389,6 @@ depend memexsupp depend menu depend method depend metre -depend mff depend mftinc depend midpage depend minibox diff --git a/Master/tlpkg/tlpsrc/mff.tlpsrc b/Master/tlpkg/tlpsrc/mff.tlpsrc deleted file mode 100644 index e69de29bb2d..00000000000 --- a/Master/tlpkg/tlpsrc/mff.tlpsrc +++ /dev/null |