summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/microtype/letterspace.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/microtype/letterspace.sty')
-rw-r--r--Master/texmf-dist/tex/latex/microtype/letterspace.sty99
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{%