summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2007-12-25 09:57:38 +0000
committerNorbert Preining <preining@logic.at>2007-12-25 09:57:38 +0000
commitd44531a5d8e2be7f6b19fe5e5110e4b1734cc697 (patch)
treece58b67dd82f6bb4bb17f2457af835d2e05abf23 /Master/texmf-dist/tex
parent49de519af20c652c3b3cfe9ba1dd4df1de06bde8 (diff)
microtype update 07-12-25
git-svn-id: svn://tug.org/texlive/trunk@5899 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/microtype/letterspace.sty120
-rw-r--r--Master/texmf-dist/tex/latex/microtype/microtype.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/microtype.sty400
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-blg.cfg2
4 files changed, 335 insertions, 194 deletions
diff --git a/Master/texmf-dist/tex/latex/microtype/letterspace.sty b/Master/texmf-dist/tex/latex/microtype/letterspace.sty
index 84b34e4202f..d26ce3541ff 100644
--- a/Master/texmf-dist/tex/latex/microtype/letterspace.sty
+++ b/Master/texmf-dist/tex/latex/microtype/letterspace.sty
@@ -4,7 +4,7 @@
%%
%% The original source files were:
%%
-%% microtype.dtx (with options: `letterspace')
+%% microtype.dtx (with options: `letterspace,plain')
%%
%% ------------------------------------------------------------------------
%%
@@ -31,15 +31,33 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage
- {letterspace}[2007/07/14 v1.2 Robust letterspacing (RS)]
+ {letterspace}[2007/12/23 v1.3 Robust letterspacing (RS)]
+\def\MT@MT
+ {letterspace}
\newcommand*\lsstyle{}
\newcommand\textls[2][]{}
\def\textls#1#{}
\newcommand*\lslig[1]{#1}
-\def\MT@MT
- {letterspace}
\def\MT@warning{\PackageWarning\MT@MT}
\def\MT@warning@nl#1{\MT@warning{#1\@gobble}}
+\def\MT@plain{0}
+\ifx\documentclass\@undefined
+ \def\MT@plain{1}
+ \def\hmode@bgroup{\leavevmode\bgroup}
+ \let\@typeset@protect\relax
+ \ifx\eplain\@undefined
+ \def\MT@plain{2}
+ \def\PackageWarning#1#2{%
+ \begingroup
+ \newlinechar=10 %
+ \def\MessageBreak{^^J(#1)\@spaces\@spaces\@spaces\@spaces}%
+ \immediate\write16{^^JPackage #1 Warning: #2\on@line.^^J}%
+ \endgroup
+ }
+ \def\on@line{ on input line \the\inputlineno}
+ \def\@spaces{\space\space\space\space}
+ \fi
+\fi
\def\MT@pdftex@no{0}
\ifx\normalpdftexversion\@undefined \else
\let\pdftexversion \normalpdftexversion
@@ -55,8 +73,10 @@
\fi
\fi
\def\MT@clear@options{%
+ \ifnum\MT@plain<2
\AtEndOfPackage{\let\@unprocessedoptions\relax}%
\let\CurrentOption\@empty
+ \fi
}
\ifnum\MT@pdftex@no <
6
@@ -133,6 +153,19 @@ X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi
}
\let\MT@clist@function\@gobble
\def\MT@clist@break#1\@nnil{}
+\def\MT@loop#1\MT@repeat{%
+ \def\MT@iterate{#1\relax\expandafter\MT@iterate\fi}%
+ \MT@iterate \let\MT@iterate\relax
+}
+\let\MT@repeat\fi
+\def\MT@while@num#1#2#3{%
+ \@tempcnta#1\relax
+ \MT@loop #3%
+ \advance\@tempcnta \@ne
+ \ifnum\@tempcnta < #2\MT@repeat
+}
+\def\MT@do@font{\MT@while@num\z@\@cclvi}
+\ifnum\MT@plain<2
\let\MT@setup@\@empty
\def\MT@addto@setup{\g@addto@macro\MT@setup@}
\AtBeginDocument{\MT@setup@ \MT@glet\MT@setup@\@empty}
@@ -150,6 +183,9 @@ X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi
\soulregister\textls 1%
}
}
+\else
+ \let\MT@addto@setup\@firstofone
+\fi
\let\MT@tracking\relax
\def\MT@set@tr@codes{%
\MT@ifdefined@c@TF\MT@letterspace@\relax{\let\MT@letterspace@\MT@letterspace}%
@@ -165,24 +201,48 @@ X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi
\tagcode\MT@lsfont`f=\m@ne
\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
+ \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
\def\MT@set@lsfont{\MT@exp@two@c\let\font@name\MT@lsfont}
\DeclareRobustCommand\lsstyle{%
\let\MT@tracking\MT@set@tr@codes
\selectfont
- \MT@lskern=\dimexpr\MT@ifdefined@c@TF\MT@letterspace@
- \MT@letterspace@\MT@letterspace sp
- * \fontdimen6\MT@lsfont/2000\relax
- \MT@ls@adjust
}
+\else
+\def\MT@set@lsfont{\MT@lsfont}
+\renewcommand\lsstyle{%
+ \begingroup
+ \escapechar\m@ne
+ \xdef\font@name{\csname\expandafter\string\the\font\endcsname}%
+ \MT@set@tr@codes
+ \endgroup
+}
+\let\textls\@undefined
+\let\lslig\@undefined
+\fi
\DeclareRobustCommand\lslig[1]{%
- \kern\MT@lskern
- {\MT@get@ls@basefont\font@name #1}%
- \kern\MT@lskern
+ {\MT@ifdefined@c@TF\MT@curr@ls{%
+ \escapechar\m@ne
+ \MT@get@ls@basefont
+ \MT@outer@kern=\dimexpr\MT@curr@ls sp * \fontdimen6\font@name/2000\relax
+ \kern\MT@outer@kern
+ \font@name #1%
+ \kern\MT@outer@kern%
+ }{#1}}%
}
\def\MT@get@ls@basefont{%
- \escapechar\m@ne
\edef\MT@ls@basefont{\csname\expandafter\string\font@name @base\endcsname}%
\expandafter\ifx\MT@ls@basefont\relax
\MT@exp@two@c\MT@glet\MT@ls@basefont\font@name
@@ -192,8 +252,8 @@ X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi
}
\DeclareRobustCommand\textls{%
\hmode@bgroup
- \@ifstar{\let\MT@ls@adjust\MT@ls@adjust@\MT@textls}%
- {\let\MT@ls@adjust\relax \MT@textls}%
+ \@ifstar{\let\MT@ls@adjust\@empty\MT@textls}%
+ {\let\MT@ls@adjust\relax \MT@textls}%
}
\newcommand\MT@textls[2][]{%
\MT@ifempty{#1}%
@@ -201,7 +261,6 @@ X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi
{\KV@@sp@def\MT@letterspace@{#1}%
\MT@ls@too@large\MT@letterspace@}%
\lsstyle #2%
- \MT@ls@adjust
\egroup
}
\def\MT@ls@too@large#1{%
@@ -215,9 +274,9 @@ X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi
\fi
\fi
}
-\newdimen\MT@lskern
-\let\MT@ls@adjust\relax
-\def\MT@ls@adjust@{\kern-\MT@lskern}
+\newdimen\MT@outer@kern
+\def\MT@ls@outer@k{\ifhmode\kern\MT@outer@kern\relax\fi}
+\ifnum\MT@plain=0
\MT@addto@setup{%
\@ifpackageloaded{CJK}{
\@ifpackagelater{CJK}{2006/10/17}
@@ -234,6 +293,7 @@ X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi
\ifx\pickup@font\MT@orig@pickupfont \else
\MT@warning@nl{%
Command \string\pickup@font\space is not defined as expected.%
+ \MessageBreak Patching it anyway. Some things may break%
}
\fi
\g@addto@macro\pickup@font{\begingroup}
@@ -244,6 +304,7 @@ X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi
\endgroup
}
}
+\fi
\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}}%
@@ -257,9 +318,11 @@ X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi
{\MT@optwarn@nan{##1}{#1}}%
}%
}
+\ifnum\MT@plain<2
\def\MT@ProcessOptionsWithKV#1{%
\let\@tempc\relax
\let\MT@temp\@empty
+ \ifnum\MT@plain=0
\MT@map@clist@c\@classoptionslist{%
\def\CurrentOption{##1}%
\MT@ifdefined@n@T{KV@#1@\CurrentOption}{%
@@ -268,27 +331,32 @@ X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi
\@unusedoptionlist\@unusedoptionlist
}%
}%
- \edef\MT@temp{%
- \noexpand\setkeys{#1}{%
- \MT@temp\@ptionlist{\@currname.\@currext}%
- }%
- }%
+ \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
\MT@temp
\MT@clear@options
}
\MT@ProcessOptionsWithKV{MT}
+\fi
\MT@addto@setup{%
\ifnum\pdfoutput<\@ne
\def\MT@warn@tracking@DVI{%
\MT@warning@nl{%
You are using tracking/letterspacing in DVI mode.\MessageBreak
This will probably not work, unless the post-\MessageBreak
- processing program (dvips, dvipdfm(x), ...) is able\MessageBreak
- to create the virtual fonts on the fly}%
+ processing program (dvips, dvipdfm(x), ...) is\MessageBreak
+ able to create the virtual fonts on the fly}%
\MT@glet\MT@warn@tracking@DVI\relax
}
\else
- \let\MT@warn@tracking@DVI\relax
+ \def\MT@warn@tracking@DVI{%
+ \ifnum\pdfprotrudechars<\@ne \global\pdfprotrudechars\@ne \fi
+ \MT@glet\MT@warn@tracking@DVI\relax
+ }
\fi
\ifnum\MT@letterspace=\m@ne
\let\MT@letterspace\MT@letterspace@default
diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.cfg b/Master/texmf-dist/tex/latex/microtype/microtype.cfg
index 7adaf78198f..66c4a509069 100644
--- a/Master/texmf-dist/tex/latex/microtype/microtype.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/microtype.cfg
@@ -38,7 +38,7 @@
%% ------------------------------------------------------------------------
%%
\ProvidesFile
- {microtype.cfg}[2007/07/14 v2.2 microtype main configuration file (RS)]
+ {microtype.cfg}[2007/12/23 v2.3 microtype main configuration file (RS)]
%%% -----------------------------------------------------------------------
%%% FONT SETS
@@ -299,9 +299,10 @@
%%% TRACKING/LETTERSPACING
\SetTracking
- [ no ligatures = {f} ]
+ [ name = default,
+ no ligatures = {f} ]
{ encoding = {OT1,T1,LY1,OT4,QX} }
- {}
+ { }
%%% -----------------------------------------------------------------------
%%% EXPANSION
diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.sty b/Master/texmf-dist/tex/latex/microtype/microtype.sty
index bc9e702567f..a6b56d69dda 100644
--- a/Master/texmf-dist/tex/latex/microtype/microtype.sty
+++ b/Master/texmf-dist/tex/latex/microtype/microtype.sty
@@ -28,7 +28,9 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage
{microtype}
- [2007/07/14 v2.2 Micro-typography with pdfTeX (RS)]
+ [2007/12/23 v2.3 Micro-typography with pdfTeX (RS)]
+\def\MT@MT
+ {microtype}
\newcommand*\DeclareMicrotypeSet[3][]{}
\newcommand*\UseMicrotypeSet[2][]{}
\newcommand*\DeclareMicrotypeSetDefault[2][]{}
@@ -69,18 +71,16 @@
\MT@old@cmd\DeclareMicroTypeSet \DeclareMicrotypeSet
\MT@old@cmd\UseMicroTypeSet \UseMicrotypeSet
\MT@old@cmd\LoadMicroTypeFile \LoadMicrotypeFile
-\def\MT@MT
- {microtype}
\def\MT@warning{\PackageWarning\MT@MT}
\def\MT@warning@nl#1{\MT@warning{#1\@gobble}}
\def\MT@info{\PackageInfo\MT@MT}
\def\MT@info@nl#1{\MT@info{#1\@gobble}}
\let\MT@vinfo\@gobble
+\def\MT@error{\PackageError\MT@MT}
\def\MT@warn@err#1{\MT@error{#1}{%
This error message appears because you loaded the `\MT@MT'\MessageBreak
package with the option `verbose=errors'. Consult the documentation\MessageBreak
in \MT@MT.pdf to find out what went wrong.}}
-\def\MT@error{\PackageError\MT@MT}
\def\MT@pdftex@no{0}
\ifx\normalpdftexversion\@undefined \else
\let\pdftexversion \normalpdftexversion
@@ -395,28 +395,28 @@ Q \MT@exp@two@c\zap@space\strip@prefix\meaning#1 \@empty
\def\MT@tlist@break#1\@nnil{\fi}
\newif\ifMT@inlist@
\def\MT@in@clist#1#2{%
- \def\x##1,#1,##2##3\@nnil{%
+ \def\MT@res@a##1,#1,##2##3\@nnil{%
\ifx##2\@empty
\MT@inlist@false
\else
\MT@inlist@true
\fi
}%
- \expandafter\x\expandafter,#2,#1,\@empty\@nnil
+ \expandafter\MT@res@a\expandafter,#2,#1,\@empty\@nnil
}
\def\MT@rem@from@clist#1#2{%
- \def\x##1,#1,##2\x{##1,##2\y}%
- \def\y##1,\y##2\y{\ifx,##1\@empty\else##1\fi}%
- \xdef#2{\MT@exp@two@c\y\x\expandafter,#2,\y,#1,\x}%
+ \def\MT@res@a##1,#1,##2\MT@res@a{##1,##2\MT@res@b}%
+ \def\MT@res@b##1,\MT@res@b##2\MT@res@b{\ifx,##1\@empty\else##1\fi}%
+ \xdef#2{\MT@exp@two@c\MT@res@b\MT@res@a\expandafter,#2,\MT@res@b,#1,\MT@res@a}%
}
\def\MT@in@tlist#1#2{%
\MT@inlist@false
- \def\x{#1}%
+ \def\MT@res@a{#1}%
\MT@map@tlist@c#2\MT@in@tlist@
}
\def\MT@in@tlist@#1{%
- \edef\y{#1}%
- \ifx\x\y
+ \edef\MT@res@b{#1}%
+ \ifx\MT@res@a\MT@res@b
\MT@inlist@true
\expandafter\MT@tlist@break
\fi
@@ -595,6 +595,8 @@ time will almost certainly lead to undesired results. Have your choice!}%
\g@addto@macro\MT@setupfont@hook\MT@restore@p@h
\pdfstringdefDisableCommands{%
\let\pickup@font\MT@orig@pickupfont
+ \let\textmicrotypecontext\@secondoftwo
+ \let\microtypecontext\@gobble
\def\lsstyle{\pdfstringdefWarn\lsstyle}%
\def\textls#1#{\pdfstringdefWarn\textls}%
}%
@@ -602,7 +604,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
{\MT@with@package@T{tex4ht}
{\g@addto@macro\MT@setupfont@hook\MT@restore@p@h}}%
\MT@with@package@T{listings}{%
- \g@addto@macro\MT@normal@catcodes{%
+ \g@addto@macro\MT@cfg@catcodes{%
\MT@while@num{"30}{"3A}{\catcode\@tempcnta 12\relax}%
\MT@while@num{"41}{"5B}{\catcode\@tempcnta 11\relax}%
\MT@while@num{"61}{"7B}{\catcode\@tempcnta 11\relax}%
@@ -660,7 +662,6 @@ time will almost certainly lead to undesired results. Have your choice!}%
\g@addto@macro\MT@setupfont{%
\MT@register@font
\fi
- \MT@glet\MT@font\@empty
}
\MT@requires@pdftex7{
\let\MT@copy@font\relax
@@ -800,24 +801,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\expandafter\MT@pr@do\@tempc,\relax,%
}\MT@reset@pr@codes
}
-\def\MT@set@all@pr#1#2{%
- \let\MT@temp\@empty
- \MT@ifempty{#1}\relax{\g@addto@macro\MT@temp{\lpcode\MT@font\@tempcnta=#1\relax}}%
- \MT@ifempty{#2}\relax{\g@addto@macro\MT@temp{\rpcode\MT@font\@tempcnta=#2\relax}}%
- \MT@do@font\MT@temp
-}
-\def\MT@reset@pr@codes@{\MT@set@all@pr\z@\z@}
-\let\MT@reset@pr@codes\relax
-\MT@requires@pdftex6{
- \g@addto@macro\MT@set@pr@codes\MT@compensate@tr
- \let\MT@compensate@tr\relax
- \def\MT@compensate@tr@{%
- \MT@do@font{\MT@compensate@tr@@\lpcode \MT@compensate@tr@@\rpcode}%
- }
- \def\MT@compensate@tr@@#1{%
- #1\MT@font\@tempcnta=\numexpr#1\MT@font\@tempcnta + \MT@letterspace@/2\relax
- }
-}\relax
+\def\MT@gobble@settings#1\@tempc,\relax,{}
\def\MT@get@font@dimen@six{%
\ifnum\fontdimen6\MT@font=\z@
\MT@warning@nl{%
@@ -829,7 +813,20 @@ time will almost certainly lead to undesired results. Have your choice!}%
\edef\MT@dimen@six{\number\fontdimen6\MT@font}%
\fi
}
-\def\MT@gobble@settings#1\@tempc,\relax,{}
+\def\MT@set@all@pr#1#2{%
+ \let\MT@temp\@empty
+ \MT@ifempty{#1}\relax{\g@addto@macro\MT@temp{\lpcode\MT@font\@tempcnta=#1\relax}}%
+ \MT@ifempty{#2}\relax{\g@addto@macro\MT@temp{\rpcode\MT@font\@tempcnta=#2\relax}}%
+ \MT@do@font\MT@temp
+}
+\def\MT@reset@pr@codes@{\MT@set@all@pr\z@\z@}
+\let\MT@reset@pr@codes\relax
+\def\MT@the@pr@code{\@tempcntb}
+\MT@requires@pdftex6{
+ \def\MT@the@pr@code@tr{%
+ \numexpr\@tempcntb+\MT@letterspace@/2\relax
+ }
+}\relax
\def\MT@pr@do#1,{%
\ifx\relax#1\@empty\else
\MT@pr@split #1==\relax
@@ -850,12 +847,12 @@ time will almost certainly lead to undesired results. Have your choice!}%
\def\@tempb{#1}%
\MT@ifempty\@tempb\relax{%
\MT@scale@to@em
- \lpcode\MT@font\MT@char=\@tempcntb
+ \lpcode\MT@font\MT@char=\MT@the@pr@code
}%
\def\@tempb{#2}%
\MT@ifempty\@tempb\relax{%
\MT@scale@to@em
- \rpcode\MT@font\MT@char=\@tempcntb
+ \rpcode\MT@font\MT@char=\MT@the@pr@code
}%
\MT@ifdefined@c@T\MT@pr@inh@name{%
\MT@ifdefined@n@T{MT@inh@\MT@pr@inh@name @\MT@char @}{%
@@ -1028,14 +1025,13 @@ Q \MessageBreak (it's probably missing)
}
}{
\def\MT@set@inputenc@{%
- \MT@error{Key `inputenc' used in \MT@curr@list@name, but the `inputenc'
- \MessageBreak package isn't loaded. Ignoring key}%
- {You must load the `inputenc' package before you can use the `inputenc' key.}%
+ \MT@warning@nl{Key `inputenc' used in \MT@curr@list@name, but the `inputenc'
+ \MessageBreak package isn't loaded. Ignoring input encoding}%
}
}
}
\def\MT@load@inputenc{%
- \MT@normal@catcodes
+ \MT@cfg@catcodes
\inputencoding{\@nameuse{\@tempa}}%
}
\def\MT@set@pr@heirs#1{%
@@ -1379,31 +1375,9 @@ Q \MessageBreak (it's probably missing)
\def\MT@set@tr@codes{%
\MT@vinfo{Tracking font `\MT@@font'\on@line}%
\MT@get@font@dimen@six
- \MT@if@list@exists{%
- \MT@set@listname
- \MT@ifdefined@n@T{MT@tr@c@\MT@tr@c@name}{%
- \MT@let@cn\MT@letterspace{MT@tr@c@\MT@tr@c@name}%
- \MT@ifdefined@n@T{MT@tr@c@\MT@tr@c@name @unit}{%
- \MT@let@cn\MT@tr@unit@{MT@tr@c@\MT@tr@c@name @unit}%
- \ifdim\MT@tr@unit@=1em
- \let\MT@tr@unit@\@undefined
- \else
- \MT@let@cn\@tempb{MT@tr@c@\MT@tr@c@name}%
- \MT@get@unit\MT@tr@unit@
- \let\MT@tr@factor@\@m
- \MT@scale@to@em
- \edef\MT@letterspace{\number\@tempcntb}%
- \fi
- }%
- }%
- \MT@ifdefined@n@T{MT@tr@c@\MT@tr@c@name @noligatures}%
- {\MT@let@cn\MT@tr@ligatures{MT@tr@c@\MT@tr@c@name @noligatures}}%
- \MT@ifdefined@n@T{MT@tr@c@\MT@tr@c@name @spacing}%
- {\MT@let@cn\MT@tr@ispace{MT@tr@c@\MT@tr@c@name @spacing}}%
- \MT@ifdefined@n@T{MT@tr@c@\MT@tr@c@name @outerspacing}%
- {\MT@let@cn\MT@tr@ospace{MT@tr@c@\MT@tr@c@name @outerspacing}}%
- }\relax
- \let\MT@compensate@tr\MT@compensate@tr@
+ \MT@if@list@exists
+ \MT@get@tr@opt
+ \relax
\MT@ifdefined@c@TF\MT@letterspace@\relax{\let\MT@letterspace@\MT@letterspace}%
\ifnum\MT@letterspace@=\z@\else
\MT@vinfo{... Tracking by \number\MT@letterspace@}%
@@ -1414,40 +1388,85 @@ Q \MessageBreak (it's probably missing)
\MT@get@ls@basefont
\global\expandafter\letterspacefont\MT@lsfont\font@name\MT@letterspace@
\MT@ifdefined@c@TF\MT@tr@ispace
- {\let\@tempa\MT@tr@ispace}
+ {\let\@tempa\MT@tr@ispace}%
{\edef\@tempa{\MT@letterspace@*,,}}%
\MT@ifdefined@c@TF\MT@tr@ospace
- {\edef\@tempa{\@tempa,\MT@tr@ospace}}
+ {\edef\@tempa{\@tempa,\MT@tr@ospace}}%
{\edef\@tempa{\@tempa,,,}}%
- \expandafter\MT@tr@adjust@space\@tempa,%
+ \expandafter\MT@tr@set@space\@tempa,%
+ \MT@ifdefined@c@TF\MT@tr@okern{\let\@tempa\MT@tr@okern}{\def\@tempa{*,*}}%
+ \expandafter\MT@tr@set@okern\@tempa,%
\MT@ifdefined@c@T\MT@tr@ligatures\MT@tr@noligatures
\fi
\aftergroup\MT@set@lsfont
\let\MT@font\MT@lsfont
- \ifx\MT@ls@adjust\relax
- \global\MT@outer@space=\csname MT@outer@space\MT@@font\endcsname
- \MT@tr@outer@l
- \aftergroup\aftergroup\aftergroup\MT@tr@outer@r
+ \xdef\MT@set@curr@ls{\def\noexpand\MT@curr@ls{\MT@letterspace@}}%
+ \aftergroup\MT@set@curr@ls
+ \MT@outer@space=\csname MT@outer@space\expandafter\string\font@name\endcsname\relax
+ \xdef\MT@set@curr@os{\MT@outer@space=\the\MT@outer@space\relax}%
+ \aftergroup\aftergroup\aftergroup\MT@set@curr@os
+ \MT@tr@outer@l
+ \ifx\MT@ls@adjust\@empty
+ \MT@outer@kern=-\dimexpr\MT@letterspace@ sp * \fontdimen6\font@name/2000\relax
+ \MT@ls@outer@k
+ \else
+ \MT@outer@kern=\expandafter\expandafter\expandafter\@firstoftwo
+ \csname MT@outer@kern\expandafter\string\font@name\endcsname\relax
+ \ifdim\MT@outer@kern=\z@\else \MT@ls@outer@k \fi
+ \MT@outer@kern=\expandafter\expandafter\expandafter\@secondoftwo
+ \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@set@curr@ok
+ \aftergroup\aftergroup\aftergroup\MT@tr@outer@r
+ \MT@do@font{\lpcode\MT@lsfont\@tempcnta=\numexpr\MT@letterspace@/2\relax
+ \rpcode\MT@lsfont\@tempcnta=\numexpr\MT@letterspace@/2\relax}%
+ \let\MT@the@pr@code\MT@the@pr@code@tr
\fi
}
+\def\MT@get@tr@opt{%
+ \MT@set@listname
+ \MT@ifdefined@n@T{MT@tr@c@\MT@tr@c@name}{%
+ \MT@let@cn\MT@letterspace{MT@tr@c@\MT@tr@c@name}%
+ \MT@ifdefined@n@T{MT@tr@c@\MT@tr@c@name @unit}{%
+ \MT@let@cn\MT@tr@unit@{MT@tr@c@\MT@tr@c@name @unit}%
+ \ifdim\MT@tr@unit@=1em
+ \let\MT@tr@unit@\@undefined
+ \else
+ \MT@let@cn\@tempb{MT@tr@c@\MT@tr@c@name}%
+ \MT@get@unit\MT@tr@unit@
+ \let\MT@tr@factor@\@m
+ \MT@scale@to@em
+ \edef\MT@letterspace{\number\@tempcntb}%
+ \fi
+ }%
+ }%
+ \MT@get@tr@opt@{spacing} {ispace}%
+ \MT@get@tr@opt@{outerspacing}{ospace}%
+ \MT@get@tr@opt@{outerkerning}{okern}%
+ \MT@get@tr@opt@{noligatures} {ligatures}%
+}
+\def\MT@get@tr@opt@#1#2{%
+ \MT@ifdefined@n@T{MT@tr@c@\MT@tr@c@name @#1}%
+ {\MT@let@nn{MT@tr@#2}{MT@tr@c@\MT@tr@c@name @#1}}%
+}
\def\MT@set@lsfont{\MT@exp@two@c\let\font@name\MT@lsfont}
\DeclareRobustCommand\lsstyle{%
\def\MT@feat{tr}%
\let\MT@tracking\MT@set@tr@codes
\selectfont
- \MT@lskern=\dimexpr\MT@ifdefined@c@TF\MT@letterspace@
- \MT@letterspace@\MT@letterspace sp
- * \fontdimen6\MT@lsfont/2000\relax
- \MT@ls@adjust
}
\DeclareRobustCommand\lslig[1]{%
- \kern\MT@lskern
- {\MT@get@ls@basefont\font@name #1}%
- \kern\MT@lskern
+ {\MT@ifdefined@c@TF\MT@curr@ls{%
+ \escapechar\m@ne
+ \MT@get@ls@basefont
+ \MT@outer@kern=\dimexpr\MT@curr@ls sp * \fontdimen6\font@name/2000\relax
+ \kern\MT@outer@kern
+ \font@name #1%
+ \kern\MT@outer@kern%
+ }{#1}}%
}
\def\MT@get@ls@basefont{%
- \escapechar\m@ne
\edef\MT@ls@basefont{\csname\expandafter\string\font@name @base\endcsname}%
\expandafter\ifx\MT@ls@basefont\relax
\MT@exp@two@c\MT@glet\MT@ls@basefont\font@name
@@ -1472,32 +1491,32 @@ Q \MessageBreak (it's probably missing)
}
}
\newskip\MT@outer@space
-\def\MT@tr@adjust@space#1,#2,#3,#4,#5,#6,{%
+\def\MT@tr@set@space#1,#2,#3,#4,#5,#6,{%
\let\MT@temp\@empty
- \MT@adjust@space@{#1}{#4}{2}\@empty
- \MT@adjust@space@{#2}{#5}{3}\@plus
- \MT@adjust@space@{#3}{#6}{4}\@minus
- \global\MT@let@nc{MT@outer@space\expandafter\string\MT@lsfont}\MT@temp
+ \MT@tr@set@space@{#1}{#4}{2}\@empty
+ \MT@tr@set@space@{#2}{#5}{3}\@plus
+ \MT@tr@set@space@{#3}{#6}{4}\@minus
+ \global\MT@let@nc{MT@outer@space\expandafter\string\font@name}\MT@temp
}
-\def\MT@adjust@space@#1#2#3#4{%
+\def\MT@tr@set@space@#1#2#3#4{%
\MT@ifempty{#2}{%
\MT@ifempty{#1}{%
\edef\MT@temp{\MT@temp#4\the\fontdimen#3\MT@lsfont}%
}{%
- \MT@tr@get@space{#1}{#3}{1000}%
+ \MT@tr@set@space@@{#1}{#3}{1000}%
\edef\MT@temp{\MT@temp#4\the\@tempdima}%
\fontdimen#3\MT@lsfont=\@tempdima
}%
}{%
- \MT@tr@get@space{#2}{#3}{2000}%
+ \MT@tr@set@space@@{#2}{#3}{2000}%
\edef\MT@temp{\MT@temp#4\the\@tempdima}%
\MT@ifempty{#1}\relax{%
- \MT@tr@get@space{#1}{#3}{1000}%
+ \MT@tr@set@space@@{#1}{#3}{1000}%
\fontdimen#3\MT@lsfont=\@tempdima
}%
}%
}
-\def\MT@tr@get@space#1#2#3{%
+\def\MT@tr@set@space@@#1#2#3{%
\MT@test@ast#1*\@nil{%
\MT@ifdefined@c@TF\MT@tr@unit@
{\edef\@tempb{#1}\MT@scale@to@em}
@@ -1515,16 +1534,24 @@ Q \MessageBreak (it's probably missing)
}
\def\MT@tr@outer@l{%
\ifdim\lastskip>5sp
- \unskip \hskip\MT@outer@space
+ \edef\x{\the\lastskip plus 0pt}%
+ \setbox\z@\hbox{\MT@outer@space=\x}%
+ \ifdim\wd\z@>\z@
+ \unskip \hskip\MT@outer@space\relax
+ \let\MT@ls@outer@k\relax
+ \fi
\fi
}
\def\MT@tr@outer@r{%
\futurelet\MT@tr@outer@next\MT@tr@outer@r@
}
\def\MT@tr@outer@r@{%
- \def\MT@temp*##1{\hskip\MT@outer@space}%
+ \def\MT@temp*##1{\hskip\MT@outer@space
+ }%
\ifcat\egroup\noexpand\MT@tr@outer@next
\unkern\egroup
+ \MT@set@curr@ok
+ \MT@set@curr@os
\def\MT@temp*{\afterassignment\MT@tr@outer@r\let\x=}%
\else
\ifx\maybe@ic\MT@tr@outer@next
@@ -1534,15 +1561,17 @@ Q \MessageBreak (it's probably missing)
\def\MT@temp*{\aftergroup\MT@tr@outer@r\check@icr\let\x=}%
\else
\ifx\@sptoken\MT@tr@outer@next
- \def\MT@temp* {\hskip\MT@outer@space}%
+ \def\MT@temp* {\hskip\MT@outer@space
+ }%
\else
\ifx~\MT@tr@outer@next
- \def\MT@temp*~{\nobreak\hskip\MT@outer@space}%
+ \def\MT@temp*~{\nobreak\hskip\MT@outer@space
+ }%
\else
\ifx\ \MT@tr@outer@next \else
\ifx\space\MT@tr@outer@next \else
\ifx\@xobeysp\MT@tr@outer@next \else
- \def\MT@temp*{}%
+ \def\MT@temp*{\ifdim\MT@outer@kern=\z@\else\MT@ls@outer@k\fi}%
\let\MT@tr@outer@next\relax
\fi\fi\fi\fi\fi\fi\fi\fi
\MT@temp*%
@@ -1562,8 +1591,8 @@ Q \MessageBreak (it's probably missing)
}
\DeclareRobustCommand\textls{%
\hmode@bgroup
- \@ifstar{\let\MT@ls@adjust\MT@ls@adjust@\MT@textls}%
- {\let\MT@ls@adjust\relax \MT@textls}%
+ \@ifstar{\let\MT@ls@adjust\@empty\MT@textls}%
+ {\let\MT@ls@adjust\relax \MT@textls}%
}
\newcommand\MT@textls[2][]{%
\MT@ifempty{#1}%
@@ -1571,7 +1600,6 @@ Q \MessageBreak (it's probably missing)
{\KV@@sp@def\MT@letterspace@{#1}%
\MT@ls@too@large\MT@letterspace@}%
\lsstyle #2%
- \MT@ls@adjust
\egroup
}
\def\MT@ls@too@large#1{%
@@ -1585,12 +1613,33 @@ Q \MessageBreak (it's probably missing)
\fi
\fi
}
-\newdimen\MT@lskern
-\let\MT@ls@adjust\relax
-\def\MT@ls@adjust@{\kern-\MT@lskern}
+\newdimen\MT@outer@kern
+\def\MT@tr@set@okern#1,#2,{%
+ \let\MT@temp\@empty
+ \MT@tr@set@okern@{#1}%
+ \MT@tr@set@okern@{#2}%
+ \global\MT@let@nc{MT@outer@kern\expandafter\string\font@name}\MT@temp
+}
+\def\MT@tr@set@okern@#1{%
+ \MT@test@ast#1*\@nil{%
+ \MT@ifdefined@c@TF\MT@tr@unit@
+ {\edef\@tempb{#1}\MT@scale@to@em}
+ {\@tempcntb=#1\relax}%
+ \@tempdima=\dimexpr \@tempcntb sp * \MT@dimen@six/1000\relax
+ }{%
+ \MT@ifempty\@tempa{\let\@tempa\@m}\relax
+ \@tempdima=\dimexpr \numexpr\@tempa*\MT@letterspace@/1000\relax sp
+ * \fontdimen6\MT@lsfont/2000\relax
+ }%
+ \advance\@tempdima -\dimexpr \MT@letterspace@ sp
+ * \fontdimen6\MT@lsfont/2000\relax
+ \edef\MT@temp{\MT@temp{\the\@tempdima}}%
+}
+\def\MT@ls@outer@k{\ifhmode\kern\MT@outer@kern\relax\fi}
\MT@requires@pdftex5{
\def\MT@noligatures{%
\MT@dotrue
+ \let\@tempa\MT@nl@setname
\MT@map@clist@n{font,encoding,family,series,shape,size}{%
\MT@ifdefined@n@TF{MT@checklist@##1}%
{\csname MT@checklist@##1\endcsname}%
@@ -1605,7 +1654,7 @@ Q \MessageBreak (it's probably missing)
\MT@ifdefined@c@TF#2{%
\MT@ifdefined@c@TF\tagcode{%
\MT@map@clist@c#2{%
- \def\@tempa{##1}\MT@get@slot
+ \KV@@sp@def\@tempa{##1}\MT@get@slot
\ifnum\MT@char > \m@ne
\tagcode#1\MT@char=\m@ne\fi
}%
@@ -1626,7 +1675,7 @@ Q \MessageBreak (it's probably missing)
\edef\@tempa{#1}%
\MT@let@cn\@tempb{MT@\MT@feat @c@\@tempa @load}%
\MT@ifstreq\@tempa\@tempb{%
- \MT@warning{\@nameuse{MT@abbr@\MT@feat} list `\@tempa' cannot load itself}%
+ \MT@error{\@nameuse{MT@abbr@\MT@feat} list `\@tempa' cannot load itself}{}%
}{%
\ifx\@tempb\relax \else
\MT@ifdefined@n@TF{MT@\MT@feat @c@\@tempb}{%
@@ -1639,8 +1688,8 @@ Q \MessageBreak (it's probably missing)
\MT@let@cn\@tempc{MT@\MT@feat @c@\@tempb}%
\expandafter\csname MT@\MT@feat @do\expandafter\endcsname\@tempc,\relax,%
}{%
- \MT@warning{\@nameuse{MT@abbr@\MT@feat} list `\@tempb' undefined.
- Cannot load\MessageBreak it from list `\@tempa'}%
+ \MT@error{\@nameuse{MT@abbr@\MT@feat} list `\@tempb' undefined.\MessageBreak
+ Cannot load it from list `\@tempa'}{}%
}%
\fi
}%
@@ -1675,7 +1724,7 @@ Q \MessageBreak (it's probably missing)
\endgroup
\fi
}
-\def\MT@normal@catcodes{%
+\def\MT@cfg@catcodes{%
\makeatletter
\catcode`\^7%
\catcode`\ 9%
@@ -1686,12 +1735,13 @@ Q \MessageBreak (it's probably missing)
\catcode`\}\tw@
\catcode`\#6%
\catcode`\%14%
- \MT@map@tlist@n{\!\"\$\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\[\]\_\`\|\~}\@makeother
+ \MT@map@tlist@n
+ {\!\"\$\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\[\]\_\`\|\~}%
+ \@makeother
}
\def\MT@begin@catcodes{%
\begingroup
- \MT@normal@catcodes
- \let\KV@@sp@def\def
+ \MT@cfg@catcodes
}
\let\MT@end@catcodes\endgroup
\def\MT@get@basefamily#1#2#3#4\@nil{%
@@ -1881,11 +1931,13 @@ Q \MessageBreak (it's probably missing)
\let\@inpenc@undefined@\MT@undefined@char
\def\UTFviii@defined##1{\ifx ##1\relax
\MT@undefined@char{utf8}\else\expandafter ##1\fi}%
- \edef\x{%
+ \MT@ifdefined@c@T\PrerenderUnicode
+ {\PrerenderUnicode{\@tempa}\let\unicode@charfilter\@firstofone}%
+ \edef\x{\endgroup
\def\noexpand\@tempa{\@tempa}%
\MT@toks={\the\MT@toks\space(= \@tempa)}%
}%
- \expandafter\endgroup\x
+ \x
\fi
}
\def\MT@undefined@char#1{undefined in input encoding ``#1''}
@@ -1902,7 +1954,7 @@ Q \MessageBreak (it's probably missing)
\catcode`\/=\z@
/MT@map@tlist@n{/\CHAR}/@makeother
/lowercase{%
- /def/x{%
+ /def/x{/endgroup
/def/MT@charstring{\CHAR"}%
/def/MT@is@char##1\CHAR"##2##3##4/relax{%
/ifx/relax##1/relax
@@ -1917,7 +1969,7 @@ Q \MessageBreak (it's probably missing)
}%
}%
}
-/expandafter/endgroup/x
+/x
\def\MT@is@composite#1#2\relax{%
\ifx\\#2\\\else
\expandafter\def\expandafter\MT@char\expandafter{\csname\expandafter
@@ -1964,8 +2016,6 @@ Q \MessageBreak (it's probably missing)
\let\MT@font@list\@empty
\let\MT@font\@empty
\MT@addto@setup{%
- \g@addto@macro\do@subst@correction
- {\xdef\MT@font{\csname \curr@fontshape/\f@size\endcsname}}
\@ifpackageloaded{CJK}{
\@ifpackagelater{CJK}{2006/10/17}
{\def\MT@orig@pickupfont{\CJK@ifundefined\CJK@plane}} % 4.7.0
@@ -1981,15 +2031,18 @@ Q \MessageBreak (it's probably missing)
\ifx\pickup@font\MT@orig@pickupfont \else
\MT@warning@nl{%
Command \string\pickup@font\space is not defined as expected.%
- \MessageBreak Double-check whether micro-typography is indeed\MessageBreak
- applied to the document.\MessageBreak (Hint: Turn on `verbose' mode)%
+ \MessageBreak Patching it anyway. Some things may break%
+ .\MessageBreak Double-check whether micro-typography is indeed%
+ \MessageBreak applied to the document.%
+ \MessageBreak (Hint: Turn on `verbose' mode)%
}
\fi
\g@addto@macro\pickup@font{\begingroup}
\MT@with@package@T{trace}{\g@addto@macro\pickup@font{\conditionally@traceoff}}
\g@addto@macro\pickup@font{%
\escapechar\m@ne
- \ifx\MT@font\@empty
+ \MT@let@cn\MT@font{MT@subst@\expandafter\string\font@name}%
+ \ifx\MT@font\relax
\let\MT@font\font@name
\else
\ifx\MT@font\font@name \else
@@ -2000,6 +2053,9 @@ Q \MessageBreak (it's probably missing)
\endgroup
}
\let\MT@pickupfont\pickup@font
+ \g@addto@macro\do@subst@correction
+ {\edef\MT@font{\csname\curr@fontshape/\f@size\endcsname}%
+ \global\MT@let@nc{MT@subst@\expandafter\string\font@name}\MT@font}
\let\MT@orig@add@accent\add@accent
\def\add@accent#1#2{%
\let\pickup@font\MT@orig@pickupfont
@@ -2052,7 +2108,7 @@ Q \MessageBreak (it's probably missing)
}
\def\microtypecontext#1{\MT@addto@setup{\microtypecontext{#1}}}
\MT@addto@setup{%
- \def\microtypecontext#1{%
+ \DeclareRobustCommand\microtypecontext[1]{%
\MT@setup@contexts
\let\MT@reset@context\relax
\setkeys{MTC}{#1}%
@@ -2060,7 +2116,7 @@ Q \MessageBreak (it's probably missing)
\MT@reset@context
}%
}
-\def\textmicrotypecontext#1#2{{\microtypecontext{#1}#2}}
+\DeclareRobustCommand\textmicrotypecontext[2]{{\microtypecontext{#1}#2}}
\def\MT@reset@context@{%
\MT@vinfo{<<< Resetting contexts\on@line
}%
@@ -2202,9 +2258,9 @@ Q \MessageBreak (it's probably missing)
\MT@get@size
\ifx\MT@val\relax \else
\MT@ifdim\MT@lower>\MT@val{%
- \MT@warning{%
+ \MT@error{%
Invalid size range (\MT@lower\space > \MT@val) in font set
- `\MT@curr@set@name'.\MessageBreak Swapping sizes}%
+ `\MT@curr@set@name'.\MessageBreak Swapping sizes}{}%
\edef\MT@upper{\MT@lower}%
\edef\MT@lower{\MT@val}%
}{%
@@ -2244,6 +2300,7 @@ Q \MessageBreak (it's probably missing)
\global\MT@let@nc{MT@#1list@font@\MT@curr@set@name}\@empty
\MT@map@clist@n{##1}{%
\KV@@sp@def\MT@val{####1}%
+ \MT@ifstreq\MT@val*{\def\MT@val{*/*/*/*/*}}\relax
\expandafter\MT@get@font\MT@val/////\@nil
\MT@exp@two@n\g@addto@macro
{\csname MT@#1list@font@\MT@curr@set@name\expandafter\endcsname}%
@@ -2323,9 +2380,9 @@ Q \MessageBreak (it's probably missing)
\MT@ifdefined@n@TF{MT@#1@setname}\relax{%
\MT@xdef@n{MT@#1@setname}{\@nameuse{MT@default@#1@set}}%
}%
- \MT@warning{%
+ \MT@error{%
The \@nameuse{MT@abbr@#1} set `\@tempa' is undeclared.\MessageBreak
- Using set `\@nameuse{MT@#1@setname}' instead}%
+ Using set `\@nameuse{MT@#1@setname}' instead}{}%
}%
}
\renewcommand*\DeclareMicrotypeSetDefault[2][]{%
@@ -2349,9 +2406,9 @@ Q \MessageBreak (it's probably missing)
\MT@ifdefined@n@TF{MT@#1@set@@\@tempa}{%
\MT@xdef@n{MT@default@#1@set}{\@tempa}%
}{%
- \MT@warning{%
+ \MT@error{%
The \@nameuse{MT@abbr@#1} set `\@tempa' is not declared.\MessageBreak
- Cannot make it the default set. Using set\MessageBreak `all' instead}%
+ Cannot make it the default set. Using set\MessageBreak `all' instead}{}%
\MT@xdef@n{MT@default@#1@set}{all}%
}%
}
@@ -2470,7 +2527,12 @@ Q \MessageBreak (it's probably missing)
\def\MT@permutelist{tr@c}%
\setkeys{MT@cfg}{#2}%
\MT@permute
- \MT@ifempty{#3}\relax{\MT@gdef@n{MT@tr@c@\MT@tr@c@name}{#3}}%
+ \KV@@sp@def\@tempa{#3}%
+ \MT@ifempty\@tempa\relax{%
+ \MT@ifint\@tempa
+ {\MT@xdef@n{MT@tr@c@\MT@tr@c@name}{\@tempa}}%
+ {\MT@warning{Value `\@tempa' is not a number in\MessageBreak
+ tracking set `\MT@curr@set@name'}}}%
\MT@end@catcodes
}
\def\SetExtraSpacing{%
@@ -2535,6 +2597,7 @@ Q \MessageBreak (it's probably missing)
\define@key{MT@#1}{font}[]{%
\MT@map@clist@n{##1}{%
\KV@@sp@def\MT@val{####1}%
+ \MT@ifstreq\MT@val*{\def\MT@val{*/*/*/*/*}}\relax
\expandafter\MT@get@font@and@size\MT@val/////\@nil
\MT@xdef@n{MT@\MT@permutelist @\@tempb\MT@extra@context}%
{\csname MT@\MT@permutelist @name\endcsname}%
@@ -2577,22 +2640,22 @@ Q \MessageBreak (it's probably missing)
\define@key{MT@#1@c}{context}[]{\MT@ifempty{##1}\relax{\def\MT@extra@context{##1}}}%
}
\MT@requires@pdftex7{
- \define@key{MT@ex@c}{context}[]{\MT@ifempty{#1}\relax{%
- \MT@glet\MT@copy@font\MT@copy@font@
- \def\MT@extra@context{#1}}%
- }
- \MT@addto@setup{%
- \define@key{MT@ex@c}{context}[]{%
- \ifx\MT@copy@font\MT@copy@font@
- \MT@ifempty{#1}\relax{\def\MT@extra@context{#1}}%
- \else
- \MT@error{\MT@MT\space isn't set up for expansion contexts.\MessageBreak
- Ignoring `context' key\on@line}%
- {Either move the settings inside the preamble,\MessageBreak
- or load the package with the `copyfonts' option.}%
- \fi
+ \define@key{MT@ex@c}{context}[]{\MT@ifempty{#1}\relax{%
+ \MT@glet\MT@copy@font\MT@copy@font@
+ \def\MT@extra@context{#1}}%
+ }
+ \MT@addto@setup{%
+ \define@key{MT@ex@c}{context}[]{%
+ \ifx\MT@copy@font\MT@copy@font@
+ \MT@ifempty{#1}\relax{\def\MT@extra@context{#1}}%
+ \else
+ \MT@error{\MT@MT\space isn't set up for expansion contexts.\MessageBreak
+ Ignoring `context' key\on@line}%
+ {Either move the settings inside the preamble,\MessageBreak
+ or load the package with the `copyfonts' option.}%
+ \fi
+ }
}
- }
}{
\define@key{MT@ex@c}{context}[]{%
\MT@error{Expansion contexts only work with pdftex 1.40.4\MessageBreak
@@ -2664,9 +2727,11 @@ Q \MessageBreak (it's probably missing)
}
\MT@define@opt@key{tr}{spacing}
\MT@define@opt@key{tr}{outerspacing}
-\define@key{MT@tr@c}{outer spacing}[]{\setkeys{MT@tr@c}{outerspacing={#1}}}
+\MT@define@opt@key{tr}{outerkerning}
\define@key{MT@tr@c}{noligatures}[]%
{\MT@xdef@n{MT@tr@c@\MT@curr@set@name @noligatures}{#1}}
+\define@key{MT@tr@c}{outer spacing}[]{\setkeys{MT@tr@c}{outerspacing={#1}}}
+\define@key{MT@tr@c}{outer kerning}[]{\setkeys{MT@tr@c}{outerkerning={#1}}}
\define@key{MT@tr@c}{no ligatures}[]{\setkeys{MT@tr@c}{noligatures={#1}}}
\renewcommand*\DeclareCharacterInheritance[1][]{%
\let\MT@extra@context\@empty
@@ -2993,19 +3058,19 @@ Q \MessageBreak (it's probably missing)
\fi
}
\MT@requires@pdftex7{
- \MT@def@bool@opt{copyfonts}{%
- \csname if\@tempa\endcsname
- \MT@glet\MT@copy@font\MT@copy@font@
- \else
- \MT@glet\MT@copy@font\relax
- \fi
- }
+ \MT@def@bool@opt{copyfonts}{%
+ \csname if\@tempa\endcsname
+ \MT@glet\MT@copy@font\MT@copy@font@
+ \else
+ \MT@glet\MT@copy@font\relax
+ \fi
+ }
}{
\MT@def@bool@opt{copyfonts}{%
\csname if\@tempa\endcsname
\MT@error{The pdftex version you are using is too old\MessageBreak
to use the `copyfonts' option}
- {Please upgrade pdftex.}%
+ {Upgrade pdftex.}%
\fi
}
}
@@ -3021,12 +3086,16 @@ Q \MessageBreak (it's probably missing)
\def\@tempa{#1}%
\MT@ifstreq\@tempa{true}\relax{%
\MT@ifstreq\@tempa{errors}{%
- \let\MT@warning\MT@warn@err
+ \let\MT@warning \MT@warn@err
\let\MT@warning@nl\MT@warn@err
}{%
\let\MT@vinfo\@gobble
- \MT@ifstreq\@tempa{false}\relax
- {\MT@optwarn@admissible{#1}{verbose}}%
+ \MT@ifstreq\@tempa{silent}{%
+ \let\MT@warning \MT@info
+ \let\MT@warning@nl\MT@info@nl
+ }{%
+ \MT@ifstreq\@tempa{false}\relax{\MT@optwarn@admissible{#1}{verbose}}%
+ }%
}%
}%
}
@@ -3220,11 +3289,8 @@ Q \MessageBreak (it's probably missing)
\@unusedoptionlist\@unusedoptionlist
}%
}%
- \edef\MT@temp{%
- \noexpand\setkeys{#1}{%
- \MT@temp\@ptionlist{\@currname.\@currext}%
- }%
- }%
+ \edef\MT@temp{\noexpand\setkeys{#1}%
+ {\MT@temp\@ptionlist{\@currname.\@currext}}}%
\MT@temp
\MT@clear@options
}
@@ -3379,6 +3445,7 @@ Q \MessageBreak (it's probably missing)
\edef\MT@active@features{\MT@active@features,tr}
\MT@info@nl{Tracking enabled}
\MT@check@active@set{tr}
+ \ifMT@protrusion\else\pdfprotrudechars\@ne\fi
\else
\let\MT@tracking\relax
\MT@info@nl{No tracking}
@@ -3407,12 +3474,15 @@ Q \MessageBreak (it's probably missing)
\MT@warning@nl{%
You are using tracking/letterspacing in DVI mode.\MessageBreak
This will probably not work, unless the post-\MessageBreak
- processing program (dvips, dvipdfm(x), ...) is able\MessageBreak
- to create the virtual fonts on the fly}%
+ processing program (dvips, dvipdfm(x), ...) is\MessageBreak
+ able to create the virtual fonts on the fly}%
\MT@glet\MT@warn@tracking@DVI\relax
}
\else
- \let\MT@warn@tracking@DVI\relax
+ \def\MT@warn@tracking@DVI{%
+ \ifnum\pdfprotrudechars<\@ne \global\pdfprotrudechars\@ne \fi
+ \MT@glet\MT@warn@tracking@DVI\relax
+ }
\fi
\ifnum\MT@letterspace=\m@ne
\let\MT@letterspace\MT@letterspace@default
@@ -3483,7 +3553,7 @@ Q \MessageBreak (it's probably missing)
}
\@ifpackageloaded{babel}{
\def\MT@shorthandoff#1#2{%
- \MT@info@nl{Switching off #1 babel's active characters}%
+ \MT@info@nl{Switching off #1 babel's active characters (#2)}%
\shorthandoff{#2}}
}{
\def\MT@shorthandoff#1#2{%
@@ -3512,8 +3582,10 @@ Q \MessageBreak (it's probably missing)
\MT@with@babel@and@T{francais}\MT@if@true
\MT@with@babel@and@T{acadian} \MT@if@true
\MT@with@babel@and@T{canadien}\MT@if@true
- \ifMT@if@\MT@shorthandoff{French}{;:!?}\fi
- \MT@with@babel@and@T{turkish}{\MT@shorthandoff{Turkish}{:!=}}
+ \ifMT@if@\MT@shorthandoff{French}{:;!?}\fi
+ \MT@if@false
+ \MT@with@babel@and@T{turkish} \MT@if@true
+ \ifMT@if@\MT@shorthandoff{Turkish}{:!=}\fi
\fi
\MT@set@babel@context\languagename
}{%
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg b/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg
index d744a8be554..08a1da84b10 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg
@@ -37,7 +37,7 @@
%% ------------------------------------------------------------------------
%%
\ProvidesFile
- {mt-blg.cfg}[2007/07/14 v1.0 microtype config. file: Bitstream Letter Gothic(RS)]
+ {mt-blg.cfg}[2007/07/14 v1.0 microtype config. file: Bitstream Letter Gothic (RS)]
%%% -----------------------------------------------------------------------
%%% PROTRUSION