diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/microtype/letterspace.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/letterspace.sty | 99 |
1 files changed, 59 insertions, 40 deletions
diff --git a/Master/texmf-dist/tex/latex/microtype/letterspace.sty b/Master/texmf-dist/tex/latex/microtype/letterspace.sty index 5256e48c772..2a21385d8bd 100644 --- a/Master/texmf-dist/tex/latex/microtype/letterspace.sty +++ b/Master/texmf-dist/tex/latex/microtype/letterspace.sty @@ -32,7 +32,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage {letterspace} - [2008/02/29 v2.3a + [2008/06/04 v2.3b Robust letterspacing (RS)% ] \def\MT@MT @@ -64,13 +64,13 @@ \newcommand*\lslig[1]{#1} \def\MT@warning{\PackageWarning\MT@MT} \def\MT@warning@nl#1{\MT@warning{#1\@gobble}} -\def\MT@plain{0} +\def\MT@plain{2} \ifx\documentclass\@undefined \def\MT@plain{1} \def\hmode@bgroup{\leavevmode\bgroup} \let\@typeset@protect\relax \ifx\eplain\@undefined - \def\MT@plain{2} + \def\MT@plain{0} \def\PackageWarning#1#2{% \begingroup \newlinechar=10 % @@ -82,6 +82,9 @@ \def\@spaces{\space\space\space\space} \fi \fi +\def\MT@requires@latex#1{% + \ifnum\MT@plain<#1 \expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi +} \def\MT@pdftex@no{0} \ifx\normalpdftexversion\@undefined \else \let\pdftexversion \normalpdftexversion @@ -97,10 +100,10 @@ \fi \fi \def\MT@clear@options{% - \ifnum\MT@plain<2 + \MT@requires@latex1{% \AtEndOfPackage{\let\@unprocessedoptions\relax}% \let\CurrentOption\@empty - \fi + }\relax } \ifnum\MT@pdftex@no < 6 @@ -134,7 +137,8 @@ \MT@clear@options\MT@restore@catcodes\expandafter\endinput \fi \def\MT@glet{\global\let} -\def\MT@edef@n#1{\expandafter\edef\csname #1\endcsname} +\def\MT@exp@cs#1#2{\expandafter#1\csname#2\endcsname} +\def\MT@edef@n{\MT@exp@cs\edef} \def\MT@exp@one@n#1#2{\expandafter#1\expandafter{#2}} \def\MT@exp@two@c#1{\expandafter\expandafter\expandafter#1\expandafter} \def\MT@ifdefined@c@TF#1{% @@ -189,34 +193,33 @@ \ifnum\@tempcnta < #2\MT@repeat } \def\MT@do@font{\MT@while@num\z@\@cclvi} -\ifnum\MT@plain<2 +\MT@requires@latex1{ \let\MT@setup@\@empty \def\MT@addto@setup{\g@addto@macro\MT@setup@} \AtBeginDocument{\MT@setup@ \MT@glet\MT@setup@\@empty} -\else \let\MT@addto@setup\@firstofone \fi +}{\let\MT@addto@setup\@firstofone} \def\MT@with@package@T#1{\@ifpackageloaded{#1}\@firstofone\@gobble} \MT@addto@setup{% - \ifnum\MT@plain=0 + \MT@requires@latex2{ \MT@with@package@T{hyperref}{% \pdfstringdefDisableCommands{% \def\lsstyle{\pdfstringdefWarn\lsstyle}% \def\textls#1#{\pdfstringdefWarn\textls}% }% } - \fi - \ifnum\MT@plain=0 + }\relax + \MT@requires@latex2{ \MT@with@package@T{soul}{% \soulregister\lsstyle 0% \soulregister\textls 1% } - \else - \ifx\SOUL@\@undefined\else + }{\ifx\SOUL@\@undefined\else \soulregister\lsstyle 0% \soulregister\textls 1% - \fi - \fi + \fi} } -\let\MT@tracking\relax +\let\MT@tracking + \relax \def\MT@set@tr@codes{% \MT@ifdefined@c@TF\MT@letterspace@\relax{\let\MT@letterspace@\MT@letterspace}% \ifnum\MT@letterspace@=\z@\else @@ -226,31 +229,34 @@ \expandafter\ifx\MT@lsfont\relax \MT@get@ls@basefont \global\expandafter\letterspacefont\MT@lsfont\font@name\MT@letterspace@ + % spacing = {<letterspace amount>*,,} \fontdimen2\MT@lsfont=\dimexpr\numexpr 1000+\MT@letterspace@\relax sp * \fontdimen2\MT@lsfont/1000\relax + % no ligatures = {f} \tagcode\MT@lsfont`f=\m@ne + \MT@do@font{\lpcode\MT@lsfont\@tempcnta=\numexpr\MT@letterspace@/2\relax + \rpcode\MT@lsfont\@tempcnta=\numexpr\MT@letterspace@/2\relax}% \fi \aftergroup\MT@set@lsfont \xdef\MT@set@curr@ls{\def\noexpand\MT@curr@ls{\MT@letterspace@}}% \aftergroup\MT@set@curr@ls \ifx\MT@ls@adjust\@empty + % \textls : outer kerning = {*,*} ; \textls* : outer kerning = {0,0} \MT@outer@kern=-\dimexpr\MT@letterspace@ sp * \fontdimen6\font@name/2000\relax \MT@ls@outer@k \xdef\MT@set@curr@ok{\MT@outer@kern=\the\MT@outer@kern\relax}% \aftergroup\aftergroup\aftergroup\MT@set@curr@ok \aftergroup\aftergroup\aftergroup\MT@ls@outer@k \fi - \MT@do@font{\lpcode\MT@lsfont\@tempcnta=\numexpr\MT@letterspace@/2\relax - \rpcode\MT@lsfont\@tempcnta=\numexpr\MT@letterspace@/2\relax}% \fi } -\ifnum\MT@plain=0 +\MT@requires@latex2{ \def\MT@set@lsfont{\MT@exp@two@c\let\font@name\MT@lsfont} \DeclareRobustCommand\lsstyle{% \let\MT@tracking\MT@set@tr@codes \selectfont } -\else +}{ \def\MT@set@lsfont{\MT@lsfont} \def\lsstyle{% \begingroup @@ -261,7 +267,7 @@ } \let\textls\@undefined \let\lslig\@undefined -\fi +} \DeclareRobustCommand\lslig[1]{% {\MT@ifdefined@c@TF\MT@curr@ls{% \escapechar\m@ne @@ -306,17 +312,32 @@ } \newdimen\MT@outer@kern \def\MT@ls@outer@k{\ifhmode\kern\MT@outer@kern\relax\fi} -\ifnum\MT@plain=0 +\MT@requires@latex2{ \MT@addto@setup{% \@ifpackageloaded{CJK}{ - \@ifpackagelater{CJK}{2006/10/17} - {\def\MT@orig@pickupfont{\CJK@ifundefined\CJK@plane}} % 4.7.0 + \@ifpackagelater{CJK}{2006/10/17} % 4.7.0 + {\def\MT@orig@pickupfont{\CJK@ifundefined\CJK@plane}} {\def\MT@orig@pickupfont{\@ifundefined{CJK@plane}}} - \g@addto@macro\MT@orig@pickupfont{% - {\expandafter\ifx\font@name\relax\define@newfont\fi}% + \g@addto@macro\MT@orig@pickupfont + {{\expandafter\ifx\font@name\relax\define@newfont\fi}} + \@ifpackageloaded{CJKutf8} + {\@ifpackagelater{CJKutf8}{2008/05/22} % 4.8.0 + {\ifpdf\expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi} + {\@firstoftwo}} + {\@firstoftwo} + {\g@addto@macro\MT@orig@pickupfont{% {\expandafter\ifx\csname\curr@fontshape/\f@size/\CJK@plane\endcsname\relax - \define@newfont\else\xdef\font@name - {\csname \curr@fontshape/\f@size/\CJK@plane\endcsname}\fi}} + \define@newfont\else\xdef\font@name{% + \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}\fi}}} + {\g@addto@macro\MT@orig@pickupfont{% + {\expandafter\ifx\csname \curr@fontshape/\f@size/\CJK@plane\endcsname\relax + \define@newfont\def\CJK@temp{v}% + \ifx\CJK@temp\CJK@plane + \expandafter\ifx\csname CJK@cmap@\f@family\CJK@plane\endcsname\relax + \else\csname CJK@cmap@\f@family\CJK@plane\endcsname\fi + \else \CJK@addcmap\CJK@plane \fi + \else\xdef\font@name{% + \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}\fi}}} }{ \def\MT@orig@pickupfont{\expandafter\ifx\font@name\relax\define@newfont\fi} } @@ -334,14 +355,14 @@ \endgroup } } -\fi -\ifnum\MT@plain<2 +}\relax +\MT@requires@latex1{ \def\MT@optwarn@nan#1#2{% \MT@warning@nl{Value `#1' for option `#2' is not a\MessageBreak number. Using default value of \number\@nameuse{MT@#2@default}}% } -\fi -\ifnum\MT@plain<2 +}\relax +\MT@requires@latex1{ \MT@map@clist@n{% letterspace}{% \define@key{MT}{#1}[\csname MT@#1@default\endcsname]{% @@ -351,12 +372,12 @@ {\MT@optwarn@nan{##1}{#1}}% }% } -\fi -\ifnum\MT@plain<2 +}\relax +\MT@requires@latex1{ \def\MT@ProcessOptionsWithKV#1{% \let\@tempc\relax \let\MT@temp\@empty - \ifnum\MT@plain=0 + \MT@requires@latex2{ \MT@map@clist@c\@classoptionslist{% \def\CurrentOption{##1}% \MT@ifdefined@n@T{KV@#1@\expandafter\MT@getkey\CurrentOption=\@nil}{% @@ -367,16 +388,14 @@ }% \edef\MT@temp{\noexpand\setkeys{#1}% {\MT@temp\@ptionlist{\@currname.\@currext}}}% - \else - \edef\MT@temp{\noexpand\setkeys{#1}% - {\csname usepkg@options@\usepkg@pkg\endcsname}}% - \fi + }{\edef\MT@temp{\noexpand\setkeys{#1}% + {\csname usepkg@options@\usepkg@pkg\endcsname}}} \MT@temp \MT@clear@options } \def\MT@getkey#1=#2\@nil{#1} \MT@ProcessOptionsWithKV{MT} -\fi +}\relax \MT@addto@setup{% \ifnum\pdfoutput<\@ne \def\MT@warn@tracking@DVI{% |