summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def')
-rw-r--r--Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def77
1 files changed, 58 insertions, 19 deletions
diff --git a/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def b/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def
index be537a1ff4b..2729281d6cb 100644
--- a/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def
+++ b/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def
@@ -30,7 +30,7 @@
%%
\ProvidesFile
{microtype-pdftex.def}
- [2013/03/13 v2.5
+ [2013/05/23 v2.5a
Definitions specific to
pdftex
(RS)]
@@ -142,15 +142,13 @@
\def\MT@ledmac@setup{%
\ifMT@protrusion
\MT@ifdefined@c@TF\l@dunhbox@line{%
- \MT@info@nl{Patching ledmac to enable character protrusion}%
- \newdimen\MT@led@kern
+ \MT@info@nl{Patching (e)ledmac to enable character protrusion}%
\let\MT@led@unhbox@line\l@dunhbox@line
\renewcommand*{\l@dunhbox@line}[1]{%
\ifhbox##1%
- \MT@led@kern=\rightmarginkern##1%
\kern\leftmarginkern##1%
- \MT@led@unhbox@line##1%
- \kern\MT@led@kern
+ \expandafter\MT@led@unhbox@line\expandafter##1\expandafter
+ \kern\rightmarginkern##1%
\fi
}%
}{%
@@ -684,10 +682,22 @@
\csname MT@outer@kern\expandafter\string\font@name\endcsname\relax
\fi
\xdef\MT@set@curr@ok{\MT@outer@kern=\the\MT@outer@kern\relax}%
- \aftergroup\aftergroup\aftergroup\MT@ls@aftergroup
+ \MT@afteraftergroup{%
+ \MT@set@curr@os
+ \MT@set@curr@ok
+ \noexpand\MT@tr@outer@r
+ }%
\fi
}%
}
+\def\MT@afteraftergroup#1{%
+ \MT@ifdefined@n@TF{MT@aftergroup@\number\currentgrouplevel}\relax{%
+ \MT@exp@cs\xdef{MT@aftergroup@\number\currentgrouplevel}%
+ {\MT@exp@cs\MT@glet{MT@aftergroup@\number\currentgrouplevel}\noexpand\@undefined#1}%
+ \expandafter\aftergroup\expandafter\aftergroup\MT@exp@cs\aftergroup
+ {MT@aftergroup@\number\currentgrouplevel}%
+ }%
+}
\def\MT@get@tr@opt{%
\MT@set@listname
\MT@ifdefined@n@T{MT@tr@c@\MT@tr@c@name}{%
@@ -729,7 +739,7 @@
\MT@outer@kern=\dimexpr\MT@curr@ls sp * \fontdimen6\font@name/2000\relax
\kern\MT@outer@kern
\font@name #1%
- \kern\MT@outer@kern%
+ \kern\MT@outer@kern
}{#1}}%
}
\def\MT@get@ls@basefont{%
@@ -831,13 +841,19 @@
\fi
\fi
}
-\def\MT@tr@outer@r{%
- \futurelet\MT@tr@outer@next\MT@tr@outer@r@
+\MT@addto@setup{%
+ \@ifpackageloaded{tikz}
+ {\def\MT@tr@outer@r{%
+ \ifnum\tikz@expandcount>\z@ \else
+ \expandafter\MT@tr@outer@r@\fi}}
+ {\let\MT@tr@outer@r\MT@tr@outer@r@}}
+\def\MT@tr@outer@r@{%
+ \futurelet\MT@tr@outer@next\MT@tr@outer@r@@
}
\def\MT@if@outer@next#1{%
\ifx\MT@tr@outer@next#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
}
-\def\MT@tr@outer@r@{%
+\def\MT@tr@outer@r@@{%
\def\MT@temp*{}%
\ifmmode \else
\ifnum\currentgrouptype=10 \else
@@ -846,14 +862,14 @@
\expandafter\ifcat\expandafter\noexpand\csname MT@tr@outer@next\endcsname\egroup
\ifhmode\unkern\fi\egroup
\MT@set@curr@ok \MT@set@curr@os
- \def\MT@temp*{\afterassignment\MT@tr@outer@r\let\MT@temp=}%
+ \def\MT@temp*{\afterassignment\MT@tr@outer@r@\let\MT@temp=}%
\else
\MT@if@outer@next\maybe@ic{%
\MT@set@curr@ok \MT@set@curr@os
\def\MT@temp*{\afterassignment\MT@tr@outer@icr\let\MT@temp=}%
}{%
\MT@if@outer@next\check@icr{%
- \def\MT@temp*{\aftergroup\MT@tr@outer@r\check@icr\let\MT@temp=}%
+ \def\MT@temp*{\aftergroup\MT@tr@outer@r@\check@icr\let\MT@temp=}%
}{%
\MT@if@outer@next\@sptoken{%
\def\MT@temp* {\ifhmode\hskip\MT@outer@space
@@ -866,18 +882,28 @@
\MT@if@outer@next\ \relax{%
\MT@if@outer@next\space\relax{%
\MT@if@outer@next\@xobeysp\relax{%
- \def\MT@temp*{\ifdim\MT@outer@kern=\z@\else\MT@ls@outer@k
- \fi}%
- \MT@let@nc{MT@tr@outer@next}\relax
- }}}}}}}\fi
+ \MT@if@outer@next\xspace{%
+ \def\MT@temp*\xspace{\futurelet\@let@token\MT@xspace}%
+ }{%
+ \def\MT@temp*{\ifdim\MT@outer@kern=\z@\else\MT@ls@outer@k
+ \fi}%
+ \MT@let@nc{MT@tr@outer@next}\relax
+ }}}}}}}}\fi
\fi\fi
\MT@temp*%
}
-\def\MT@tr@outer@icr{\afterassignment\MT@tr@outer@icr@\MT@tr@outer@r}
+\def\MT@tr@outer@icr{\afterassignment\MT@tr@outer@icr@\MT@tr@outer@r@}
\def\MT@tr@outer@icr@{%
\let\@let@token= \MT@tr@outer@next
\maybe@ic@
}
+\def\MT@xspace{\@xspace@firsttrue\@xspace
+ \ifdim\lastskip>5sp
+ \unskip \hskip\MT@outer@space
+ \else
+ \ifdim\MT@outer@kern=\z@\else\MT@ls@outer@k \fi
+ \fi
+}
}{
\DeclareRobustCommand\lsstyle{%
\MT@error{Letterspacing only works with \MT@engine tex version
@@ -908,7 +934,20 @@
* \fontdimen6\MT@lsfont/2000\relax
\edef\MT@temp{\MT@temp{\the\@tempdima}}%
}
-\def\MT@ls@outer@k{\ifhmode\kern\MT@outer@kern\relax\fi}
+\def\MT@ls@outer@k{%
+ \ifhmode
+ \ifdim\lastkern=-3sp \unkern
+ \ifdim\lastkern=3sp \kern-3sp
+ \expandafter\expandafter\expandafter\@gobble
+ \else \unkern
+ \expandafter\expandafter\expandafter\@firstofone
+ \fi
+ \else
+ \expandafter\@firstofone
+ \fi
+ {\kern\MT@outer@kern\kern3sp\kern-3sp\relax}%
+ \fi
+}
\MT@requires@pdftex5{
\def\MT@noligatures{%
\MT@dotrue