Download The microtype package

Transcript
IMPLEMENTATION: Font setup
}
\MT@load@inputenc
}%
\def\MT@set@inputenc@{%
\MT@warning@nl{Key ‘inputenc’ used in \MT@curr@list@name, but the ‘inputenc’
\MessageBreak package isn’t loaded. Ignoring input encoding}%
}%
Set up normal catcodes, since, e. g., listings would otherwise want to actually typeset
the inputenc file when it is being loaded inside a listing.
\def\MT@load@inputenc{%
\MT@cfg@catcodes
hdebugi\MT@dinfo@nl{1}{loading input encoding: \@nameuse{\@tempa}}%
\inputencoding{\@nameuse{\@tempa}}%
}
\MT@set@pr@heirs
Set the inheriting characters.
\def\MT@set@pr@heirs#1{%
\lpcode\MT@font#1=\lpcode\MT@font\MT@char
\rpcode\MT@font#1=\rpcode\MT@font\MT@char
hdebugi\MT@dinfo@nl{2}{-- heir of \MT@char: #1}%
hdebugi\MT@dinfo@nl{4}{;;; lp/rp (#1): \number\lpcode\MT@font\MT@char/%
hdebugi
\number\rpcode\MT@font\MT@char}%
}
\MT@preset@pr
\MT@preset@pr@
\MT@preset@aux
\MT@preset@aux@factor
\MT@preset@aux@space
67
Preset characters. Presetting them relative to their widths is not allowed.
\def\MT@preset@pr{%
\expandafter\expandafter\expandafter\MT@preset@pr@
\csname MT@pr@c@\MT@pr@c@name @preset\endcsname\@nil
}
\def\MT@preset@pr@#1,#2\@nil{%
\ifx\MT@pr@unit@\@empty
\MT@warn@preset@towidth{pr}%
\let\MT@preset@aux\MT@preset@aux@factor
\else
\def\MT@preset@aux{\MT@preset@aux@space2}%
\fi
\MT@ifempty{#1}{\let\@tempa\@empty}{\MT@preset@aux{#1}\@tempa}%
\MT@ifempty{#2}{\let\@tempb\@empty}{\MT@preset@aux{#2}\@tempb}%
\MT@set@all@pr\@tempa\@tempb
}
Auxiliary macro for presetting. Store value h#1 i in macro h#2 i.
\def\MT@preset@aux@factor#1#2{%
\@tempcntb=#1\relax
\MT@scale@factor
\edef#2{\number\@tempcntb}%
}
\def\MT@preset@aux@space#1#2#3{%
\def\@tempb{#2}%
\MT@get@space@unit#1%
\MT@scale@to@em
\edef#3{\number\@tempcntb}%
}
\MT@warn@preset@towidth
\def\MT@warn@preset@towidth#1{%
\MT@warning@nl{%
Cannot preset characters relative to their widths\MessageBreak
for \@nameuse{MT@abbr@#1} list ‘\@nameuse{MT@#1@c@name}’. Presetting them%
\MessageBreak relative to 1em instead}%