<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\ProvidesPackage{stretch}
	[1998/04/18 experimental interface to experimental TeX^^J 
	extensions -- DO NOT USE!!!!]
\DeclareOption{T1}{%

% All fd files for ec fonts use \EC@family, thus we have a convenient
% hook to add a sixth argument to the \DeclareFontShape call.
\newcommand{\EC@family}[5]{%
  \DeclareFontShape{#1}{#2}{#3}{#4}%
  {&lt;5&gt;&lt;6&gt;&lt;7&gt;&lt;8&gt;&lt;9&gt;&lt;10&gt;&lt;10.95&gt;&lt;12&gt;&lt;14.4&gt;%
   &lt;17.28&gt;&lt;20.74&gt;&lt;24.88&gt;&lt;29.86&gt;&lt;35.83&gt;genb*#5}%
  {\addvariants{\fontname\font}{970,980,990,1010,1020,1030}}}

% Make sure that LaTeX rereads the preloaded `t1cmr.fd'.  
\begingroup
\nfss@catcodes
\input{t1cmr.fd}
\endgroup

}% \DeclareOption{T1}

\ProcessOptions

%% #1 is an external font name (including an `at' or `scaled' suffix)
%%    like `cmr10' or `ecrm1000 at 8.9999pt'
%% #2 is a comma-separated list of extension factors multiplied by 1000
\def\enablestretch{\message{enabling\space font stretching...^^J}\hzstate=\@ne}
\def\disablestretch{\message{disabling\space font stretching...^^J}\hzstate=\z@}

%
% This should be used in the sixth argument of \DeclareFontShape, eg
%\DeclareFontFamily{OT1}{test}{}
%\DeclareFontShape{OT1}{test}{m}{n}
%          {&lt;10&gt; [0.9]ecrm1000}
%          {\addvariants{\fontname\font}{970,980,990,1010,1020,1030}}
\def\addvariants#1#2{\begingroup
 \hzstate=\@ne% otherwise \fontvariant would be illegal 
 \expandafter\split@ext#1 \@@nil
 \message{adding\space variants\space for\space &lt;\f@stem&gt;&lt;\f@ext&gt;...^^J}%
 \let\@tempb\@empty
 \@tfor\@tempa:=#2,\do{%
  \if,\@tempa
    \font\x=\f@stem\ifnum\@tempb&lt;1000 w0\@tempb\else w\@tempb\fi\f@ext
    \fontvariant\font=\x
    \message{\fontname\x^^J}%
    \let\@tempb\@empty
  \else
    \edef\@tempc{\@tempb}% 
    \edef\@tempb{\@tempc\@tempa}%
  \fi}%
\endgroup}

% Use like \split@ext&lt;external fontname&gt;\@@nil
% This splits &lt;external fontname&gt; into a filename part and an `at' 
% or `scaled' part. The results are returned in \f@stem and \f@ext.
\begingroup
 \catcode`\ =10
 \gdef\split@ext#1 #2\@@nil{\def\f@stem{#1}\def\f@ext{ #2}}
\endgroup
</pre></body></html>