summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/microtype/letterspace.sty155
-rw-r--r--Master/texmf-dist/tex/latex/microtype/microtype-luatex.def1162
-rw-r--r--Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def1568
-rw-r--r--Master/texmf-dist/tex/latex/microtype/microtype-xetex.def480
-rw-r--r--Master/texmf-dist/tex/latex/microtype/microtype.cfg75
-rw-r--r--Master/texmf-dist/tex/latex/microtype/microtype.lua32
-rw-r--r--Master/texmf-dist/tex/latex/microtype/microtype.sty1783
-rwxr-xr-xMaster/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg476
-rwxr-xr-xMaster/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg349
-rwxr-xr-xMaster/texmf-dist/tex/latex/microtype/mt-PalatinoLinotype.cfg293
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-bch.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-blg.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg129
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-euf.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-eur.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-eus.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-msa.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-msb.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg14
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-pad.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg7
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg7
26 files changed, 4810 insertions, 1804 deletions
diff --git a/Master/texmf-dist/tex/latex/microtype/letterspace.sty b/Master/texmf-dist/tex/latex/microtype/letterspace.sty
index 0f49716a828..3fc1de4ec15 100644
--- a/Master/texmf-dist/tex/latex/microtype/letterspace.sty
+++ b/Master/texmf-dist/tex/latex/microtype/letterspace.sty
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a stand-alone version that only provides the letterspacing
@@ -32,7 +33,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage
{letterspace}
- [2010/01/10 v2.4
+ [2013/03/13 v2.5
Robust letterspacing
(RS)]
\def\MT@MT
@@ -86,56 +87,59 @@
\def\MT@requires@latex#1{%
\ifnum\MT@plain<#1 \expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi
}
-\def\MT@pdftex@no{0}
+\ifcase 0%
+ \ifx\eTeXversion\@undefined 1\else
+ \ifx\eTeXversion\relax 1\else
+ \ifcase\eTeXversion 1\fi
+ \fi
+ \fi
+\else
+ \catcode`\^^Q=9 \catcode`\^^X=14
+\fi
+\def\MT@clear@options{%
+ \MT@requires@latex1{%
+ \AtEndOfPackage{\let\@unprocessedoptions\relax\MT@restore@catcodes}%
+ \let\CurrentOption\@empty
+ }\relax
+}
\ifx\normalpdftexversion\@undefined \else
\let\pdftexversion \normalpdftexversion
\let\pdftexrevision\normalpdftexrevision
\let\pdfoutput \normalpdfoutput
\fi
+\let\MT@engine\relax
+\def\MT@engine@tooold{0}
\ifx\pdftexversion\@undefined \else
\ifx\pdftexversion\relax \else
- \def\MT@pdftex@no{7}
- \ifnum\pdftexversion < 140
- \def\MT@pdftex@no{5}
+ \def\MT@engine{pdf}
+ \let\MT@pdf@or@lua\@firstoftwo
+ \ifnum\pdftexversion > 139 \def\MT@engine@tooold{1}\fi
+ \ifx\directlua\@undefined \else
+ \ifx\directlua\relax \else
+ \def\MT@engine{lua}
+ \let\MT@pdf@or@lua\@secondoftwo
+ \ifnum\luatexversion < 62 \def\MT@engine@tooold{0}\fi
+ \fi
\fi
\fi
\fi
-\def\MT@clear@options{%
- \MT@requires@latex1{%
- \AtEndOfPackage{\let\@unprocessedoptions\relax}%
- \let\CurrentOption\@empty
- }\relax
-}
-\ifnum\MT@pdftex@no <
- 6
+\ifnum
+ \MT@engine@tooold=\z@
\MT@warning@nl{You
- \ifcase\MT@pdftex@no
- don't seem to be using pdftex.\MessageBreak
- `\MT@MT' only works with pdftex.\MessageBreak
- Try running `pdflatex' instead of
- `\ifx\XeTeXversion\@undefined\else xe\fi latex'%
+ \ifx\MT@engine\relax
+ don't seem to be using pdftex or luatex.\MessageBreak
+ Try running `pdftex' or `luatex' instead of\MessageBreak
+ `\ifx\XeTeXversion\@undefined\else xe\fi tex'%
\else
- are using a pdftex version older than
- 1.40%
+ are using a \MT@engine tex version older than
+ \MT@pdf@or@lua{1.40}{0.62}%
.\MessageBreak
`\MT@MT' does not work with this version.\MessageBreak
- Please install a newer version of pdftex%
+ Please install a newer version of \MT@engine tex%
\fi
- }
- \MT@clear@options\MT@restore@catcodes
+ .\MessageBreak I will quit now}
+ \MT@clear@options
\endinput\fi
-\ifx\directlua\@undefined \else
- \ifx\directlua\relax \else
- \MT@warning@nl
- {`\MT@MT'
- doesn't currently work with luatex.%
- \MessageBreak
- Bye bye%
- }
- \MT@clear@options\MT@restore@catcodes
- \expandafter\expandafter\expandafter\endinput
- \fi
-\fi
\RequirePackage{keyval}[1997/11/10]
\def\MT@tr@min{-\@m}
\let\MT@tr@max\@m
@@ -163,13 +167,23 @@
\fi
}
\endgroup
- \def\MT@ifint#1{%
- \ifcase\pdfmatch{^-*[0-9]+ *$}{#1}\relax
- \expandafter\@secondoftwo
- \else
- \expandafter\@firstoftwo
- \fi
- }
+\MT@pdf@or@lua{
+\def\MT@ifint#1{%
+ \ifcase\pdfmatch{^-*[0-9]+ *$}{#1}\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi
+}
+}{
+\def\MT@ifint#1{%
+ \if!\ifnum9<1#1!\else?\fi
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+}
\def\MT@map@clist@n#1#2{%
\ifx\@empty#1\else
\def\MT@clist@function##1{#2}%
@@ -197,7 +211,9 @@
\advance\@tempcnta \@ne
\ifnum\@tempcnta < #2\MT@repeat
}
-\def\MT@do@font{\MT@while@num\z@\@cclvi}
+\def\MT@do@font{\MT@while@num\z@
+ \@cclvi
+}
\MT@requires@latex1{
\let\MT@setup@\@empty
\def\MT@addto@setup{\g@addto@macro\MT@setup@}
@@ -260,6 +276,7 @@
\def\MT@set@lsfont{\MT@exp@two@c\let\font@name\MT@lsfont}
\DeclareRobustCommand\lsstyle{%
\not@math@alphabet\lsstyle\textls
+ \let\glb@currsize\@empty
\let\MT@tracking\MT@set@tr@codes
\selectfont
}
@@ -321,6 +338,7 @@
\MT@ifempty{#1}%
{\let\MT@letterspace@\@undefined}%
{\KV@@sp@def\MT@letterspace@{#1}%
+ \edef\MT@letterspace@{\number\MT@letterspace@}%
\MT@ls@too@large\MT@letterspace@}%
\MT@ls@adjust@
}
@@ -421,28 +439,29 @@
\def\MT@getkey#1=#2\@nil{#1}
\MT@ProcessOptionsWithKV{MT}
}\relax
- \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\MessageBreak
- able to create the virtual fonts on the fly}%
- \MT@glet\MT@warn@tracking@DVI\relax
- }%
- \else
- \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
- \else
- \MT@ls@too@large\MT@letterspace
- \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\MessageBreak
+ able to create the virtual fonts on the fly}%
+ \MT@glet\MT@warn@tracking@DVI\relax
+ }%
+ \else
+ \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
+ \else
+ \MT@ls@too@large\MT@letterspace
+ \fi
+}
\MT@requires@latex1{
\AtBeginDocument{\MT@setup@ \MT@glet\MT@setup@\@empty}
}\relax
diff --git a/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def b/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def
new file mode 100644
index 00000000000..c560e4fe160
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def
@@ -0,0 +1,1162 @@
+%%
+%% This is file `microtype-luatex.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% microtype.dtx (with options: `luatex-def')
+%%
+%% ------------------------------------------------------------------------
+%%
+%% The `microtype' package
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3c of this license or (at
+%% your option) any later version. The latest version of this license is in:
+%% http://www.latex-project.org/lppl.txt, and version 1.3c or later is part
+%% of all distributions of LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `author-maintained'.
+%%
+%% This work consists of the files microtype.dtx and microtype.ins and the
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
+%%
+%% ------------------------------------------------------------------------
+%% This file contains enginge-specific definitions.
+%% ------------------------------------------------------------------------
+%%
+\ProvidesFile
+ {microtype-luatex.def}
+ [2013/03/13 v2.5
+ Definitions specific to
+ luatex
+ (RS)]
+\def\MT@lua{\directlua}
+\def\MT@luatex@no{3}
+\ifnum\luatexversion<62
+ \def\MT@luatex@no{2}
+ \ifnum\luatexversion<36
+ \def\MT@lua{\directlua0}
+ \def\MT@luatex@no{1}
+ \fi
+\fi
+\def
+ \MT@requires@luatex%
+ #1{\ifnum
+ \MT@luatex@no
+ <#1 \expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi}
+\MT@lua{
+ if (luatextra and luatextra.use_module) then
+ luatextra.use_module("microtype")
+ else
+ dofile(kpse.find_file("microtype.lua"))
+ end}
+\def\MT@ifint#1{\csname\MT@lua{microtype.if_int([[#1]])}\endcsname}
+\def\MT@ifdimen#1{\csname\MT@lua{microtype.if_dimen([[#1]])}\endcsname}
+\def\MT@ifstreq#1#2{\csname\MT@lua{microtype.if_str_eq([[#1]],[[#2]])}\endcsname}
+\def\MT@do@font{\MT@while@num\z@
+ \MT@max@slot
+}
+ \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
+ \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
+ \fi
+ }%
+ }{%
+ \MT@warning@nl{%
+ Character protrusion in paragraphs with line\MessageBreak
+ numbering will only work if you update ledmac}%
+ }%
+ \fi
+ }
+\def\MT@setupfont{\MT@setupfont@hook}
+\g@addto@macro\MT@setupfont\MT@copy@font
+\g@addto@macro\MT@setupfont{%
+ \MT@exp@two@c\MT@split@name\string\MT@font/\@nil
+ \MT@exp@one@n\MT@find@file\MT@family
+ \ifx\MT@familyalias\@empty \else
+ \MT@exp@one@n\MT@find@file\MT@familyalias\fi
+}
+\MT@requires@luatex3
+ {\g@addto@macro\MT@setupfont\MT@tracking}\relax
+\g@addto@macro\MT@setupfont{%
+ \MT@check@font
+ \ifMT@inlist@
+ \else
+ \MT@vinfo{Setting up font `\MT@@font'\on@line}%
+ \MT@protrusion
+ \MT@expansion
+}
+\g@addto@macro\MT@setupfont\MT@noligatures
+\g@addto@macro\MT@setupfont{%
+ \MT@register@font
+ \fi
+}
+\let\MT@copy@font\relax
+\def\MT@copy@font@{%
+ \xdef\MT@font@copy{\csname\MT@@font/\MT@pr@context/\MT@ex@context\endcsname}%
+ \expandafter\ifx\MT@font@copy\relax
+ \edef\MT@font@orig{\csname\expandafter\string\font@name @orig\endcsname}%
+ \expandafter\ifx\MT@font@orig\relax
+ \MT@exp@two@c\MT@glet\MT@font@orig\font@name
+ \else
+ \MT@exp@two@c\let\font@name\MT@font@orig
+ \fi
+ \global\MT@exp@two@c\pdfcopyfont\MT@font@copy\font@name
+ \MT@map@clist@c\MT@active@features{%
+ \MT@exp@cs\ifx{MT@\@nameuse{MT@abbr@##1}}\relax\else
+ \def\@tempa{##1}%
+ \MT@exp@cs\MT@map@tlist@c{MT@##1@doc@contexts}\MT@rem@from@list
+ \fi
+ }%
+ \fi
+ \MT@exp@two@c\let\MT@font\MT@font@copy
+ \let\font@name\MT@font@copy
+ \aftergroup\let\aftergroup\font@name\aftergroup\MT@font@copy
+}
+\def\MT@rem@from@list#1{%
+ \MT@exp@cs\ifx{MT@\@tempa @#1font@list}\relax\else
+ \expandafter\MT@exp@one@n\expandafter\MT@rem@from@clist\expandafter
+ \MT@font \csname MT@\@tempa @#1font@list\endcsname
+ \fi
+}
+\def\MT@protrusion{\MT@maybe@do{pr}}
+\def\MT@set@pr@codes{%
+ \MT@nofamilyfalse
+ \MT@if@list@exists{%
+ \ifMT@nofamily
+ \MT@ifdefined@n@TF{\MT@encoding-\MT@family-settings}\relax{%
+ \MT@info@nl{Loading generic settings for font family\MessageBreak
+ `\MT@family' (encoding: \MT@encoding).\MessageBreak
+ For optimal results, create family-specific settings.\MessageBreak
+ See the microtype manual for details}%
+ \MT@glet@nc{\MT@encoding-\MT@family-settings}\@empty
+ }%
+ \fi
+ \MT@get@font@dimen@six{%
+ \MT@get@opt
+ \MT@reset@pr@codes
+ \MT@get@inh@list
+ \MT@set@inputenc{c}%
+ \MT@load@list\MT@pr@c@name
+ \MT@set@listname
+ \MT@let@cn\@tempc{MT@pr@c@\MT@pr@c@name}%
+ \expandafter\MT@set@codes\@tempc,\relax,}%
+ }\MT@reset@pr@codes
+}
+\def\MT@get@font@dimen@six{%
+ \ifnum\fontdimen6\MT@font=\z@
+ \MT@warning@nl{%
+ Font `\MT@@font' does not specify its\MessageBreak
+ \@backslashchar fontdimen 6 (width of an `em')! Therefore,\MessageBreak
+ \@nameuse{MT@abbr@\MT@feat} will not work with this font}%
+ \expandafter\@gobble
+ \else
+ \edef\MT@dimen@six{\number\fontdimen6\MT@font}%
+ \expandafter\@firstofone
+ \fi
+}
+\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}}%
+ \MT@ifempty{#2}\relax{\g@addto@macro\MT@temp{\rpcode\MT@font\@tempcnta=#2}}%
+ \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@luatex3
+ {\def\MT@the@pr@code@tr{%
+ \numexpr\@tempcntb+\MT@letterspace@/2\relax
+ }
+}\relax
+\def\MT@set@codes#1,{%
+ \ifx\relax#1\@empty\else
+ \MT@split@codes #1==\relax
+ \expandafter\MT@set@codes
+ \fi
+}
+\def\MT@split@codes#1=#2=#3\relax{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty \else
+ \MT@get@slot
+ \ifnum\MT@char > \m@ne
+ \MT@get@char@unit
+ \csname MT@\MT@feat @split@val\endcsname#2\relax
+ \fi
+ \fi
+}
+\def\MT@pr@split@val#1,#2\relax{%
+ \def\@tempb{#1}%
+ \MT@ifempty\@tempb\relax{%
+ \MT@scale@to@em
+ \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=\MT@the@pr@code
+ }%
+ \MT@ifdefined@c@T\MT@pr@inh@name{%
+ \MT@ifdefined@n@T{MT@inh@\MT@pr@inh@name @\MT@char @}{%
+ \MT@exp@cs\MT@map@tlist@c
+ {MT@inh@\MT@pr@inh@name @\MT@char @}%
+ \MT@set@pr@heirs
+ }%
+ }%
+}
+\def\MT@scale@to@em{%
+ \@tempcntb=\MT@count\relax
+ \MT@scale\@tempcntb \@tempb \MT@dimen@six
+ \ifnum\@tempcntb=\z@ \else
+ \MT@scale@factor
+ \fi
+}
+\def\MT@get@charwd{%
+ \MT@count=\fontcharwd\MT@font\MT@char\relax
+ \ifnum\MT@count=\z@ \MT@info@missing@char \fi
+}
+\def\MT@set@pr@heirs#1{%
+ \lpcode\MT@font #1 =\lpcode\MT@font\MT@char\relax
+ \rpcode\MT@font #1 =\rpcode\MT@font\MT@char\relax
+}
+\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
+}
+\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}%
+}
+\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}%
+}
+\def\MT@expansion{\MT@maybe@do{ex}}
+\def\MT@set@ex@codes@s{%
+ \MT@if@list@exists{%
+ \MT@get@ex@opt
+ \let\MT@get@char@unit\relax
+ \MT@reset@ef@codes
+ \MT@get@inh@list
+ \MT@set@inputenc{c}%
+ \MT@load@list\MT@ex@c@name
+ \MT@set@listname
+ \MT@let@cn\@tempc{MT@ex@c@\MT@ex@c@name}%
+ \expandafter\MT@set@codes\@tempc,\relax,%
+ \MT@expandfont
+ }\relax
+}
+\def\MT@set@ex@codes@n{%
+ \MT@nonselectedtrue
+ \MT@if@list@exists
+ \MT@get@ex@opt
+ {%
+ \let\MT@stretch@ \MT@stretch
+ \let\MT@shrink@ \MT@shrink
+ \let\MT@step@ \MT@step
+ \let\MT@auto@ \MT@auto
+ \let\MT@ex@factor@\MT@ex@factor
+ }%
+ \MT@reset@ef@codes
+ \MT@expandfont
+ \MT@nonselectedfalse
+}
+\let\MT@set@ex@codes\MT@set@ex@codes@n
+\def\MT@expandfont{%
+ \pdffontexpand\MT@font \MT@stretch@ \MT@shrink@ \MT@step@ \MT@auto@\relax
+}
+\def\MT@set@all@ex#1{%
+ \MT@do@font{\efcode\MT@font\@tempcnta=#1\relax}%
+}
+\def\MT@reset@ef@codes@{\MT@set@all@ex\MT@ex@factor@}
+ \let\MT@reset@ef@codes\MT@reset@ef@codes@
+\def\MT@ex@split@val#1\relax{%
+ \@tempcntb=#1\relax
+ \ifnum\MT@ex@factor@=\@m \else
+ \MT@scale\@tempcntb \MT@ex@factor@ \@m
+ \fi
+ \ifnum\@tempcntb > \MT@ex@max
+ \MT@warn@ex@too@large\MT@ex@max
+ \else
+ \ifnum\@tempcntb < \MT@ex@min
+ \MT@warn@ex@too@large\MT@ex@min
+ \fi
+ \fi
+ \efcode\MT@font\MT@char=\@tempcntb
+ \MT@ifdefined@c@T\MT@ex@inh@name{%
+ \MT@ifdefined@n@T{MT@inh@\MT@ex@inh@name @\MT@char @}{%
+ \MT@exp@cs\MT@map@tlist@c{MT@inh@\MT@ex@inh@name @\MT@char @}\MT@set@ex@heirs
+ }%
+ }%
+}
+\def\MT@warn@ex@too@large#1{%
+ \MT@warning@nl{Expansion factor \number\@tempcntb\space too large for
+ character\MessageBreak `\the\MT@toks' in \MT@curr@list@name.\MessageBreak
+ Setting it to the maximum of \number#1}%
+ \@tempcntb=#1\relax
+}
+\def\MT@get@ex@opt{%
+ \MT@set@listname
+ \MT@ifdefined@n@TF{MT@ex@c@\MT@ex@c@name @factor}{%
+ \MT@let@cn\MT@ex@factor@{MT@ex@c@\MT@ex@c@name @factor}%
+ \MT@vinfo{... : Multiplying expansion factors by \number\MT@ex@factor@/1000}%
+ }{%
+ \let\MT@ex@factor@\MT@ex@factor
+ }%
+ \MT@get@ex@opt@{stretch}{Setting stretch limit to \number\MT@stretch@}%
+ \MT@get@ex@opt@{shrink} {Setting shrink limit to \number\MT@shrink@}%
+ \MT@get@ex@opt@{step} {Setting expansion step to \number\MT@step@}%
+ \def\@tempa{autoexpand}%
+ \MT@get@ex@opt@{auto}{\ifx\@tempa\MT@auto@ En\else Dis\fi abling automatic expansion}%
+ \MT@ifdefined@n@T{MT@ex@c@\MT@ex@c@name @preset}{%
+ \MT@preset@ex
+ \let\MT@reset@ef@codes\relax
+ }%
+}
+\def\MT@get@ex@opt@#1#2{%
+ \MT@ifdefined@n@TF{MT@ex@c@\MT@ex@c@name @#1}{%
+ \MT@let@nn{MT@#1@}{MT@ex@c@\MT@ex@c@name @#1}%
+ \MT@vinfo{... : #2}%
+ }{%
+ \MT@let@nn{MT@#1@}{MT@#1}%
+ }%
+}
+\def\MT@set@ex@heirs#1{%
+ \efcode\MT@font#1=\efcode\MT@font\MT@char
+}
+\def\MT@preset@ex{%
+ \@tempcntb=\csname MT@ex@c@\MT@ex@c@name @preset\endcsname\relax
+ \MT@scale@factor
+ \MT@set@all@ex\@tempcntb
+}
+\MT@requires@luatex3
+{
+\let\MT@tr@font@list\@empty
+\def\MT@tracking@{%
+ \MT@exp@one@n\MT@in@clist\MT@font\MT@tr@font@list
+ \ifMT@inlist@\else
+ \MT@maybe@do{tr}%
+ \ifMT@do\else
+ \xdef\MT@tr@font@list{\MT@tr@font@list\MT@font,}%
+ \fi
+ \fi
+}
+\let\MT@tracking
+ \MT@tracking@
+\def\MT@set@tr@codes{%
+ \MT@vinfo{Tracking font `\MT@@font'\on@line}%
+ \MT@get@font@dimen@six{%
+ \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@
+ \MT@set@tr@zero
+ \else
+ \MT@vinfo{... Tracking by \number\MT@letterspace@}%
+ \MT@warn@tracking@DVI
+ \xdef\MT@lsfont{\csname\expandafter\string\font@name
+ /\number\MT@letterspace@ ls\endcsname}%
+ \expandafter\ifx\MT@lsfont\relax
+ \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}%
+ {\edef\@tempa{\MT@letterspace@*,,}}%
+ \MT@ifdefined@c@TF\MT@tr@ospace
+ {\edef\@tempa{\@tempa,\MT@tr@ospace}}%
+ {\edef\@tempa{\@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
+ \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
+ \aftergroup\MT@set@lsfont
+ \let\MT@font\MT@lsfont
+ \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}%
+ \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@ls@aftergroup
+ \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{%
+ \not@math@alphabet\lsstyle\textls
+ \let\glb@currsize\@empty
+ \def\MT@feat{tr}%
+ \let\MT@tracking\MT@set@tr@codes
+ \selectfont
+}
+\DeclareRobustCommand\lslig[1]{%
+ {\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{%
+ \xdef\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
+ \else
+ \MT@exp@two@c\let\font@name\MT@ls@basefont
+ \fi
+}
+\def\MT@set@lsbasefont{\MT@exp@two@c\let\font@name\MT@ls@basefont}
+\def\MT@set@tr@zero{%
+ \xdef\MT@ls@basefont{\csname\expandafter\string\font@name @base\endcsname}%
+ \expandafter\ifx\MT@ls@basefont\relax \else
+ \aftergroup\MT@set@lsbasefont
+ \fi
+}
+ \def\MT@tr@noligatures{%
+ \ifx\MT@tr@ligatures\@empty
+ \MT@noligatures@\MT@lsfont\@undefined
+ \else
+ \MT@noligatures@\MT@lsfont\MT@tr@ligatures
+ \fi
+ }
+\newskip\MT@outer@space
+\def\MT@tr@set@space#1,#2,#3,#4,#5,#6,{%
+ \let\MT@temp\@empty
+ \MT@tr@set@space@{#1}{#4}{2}\@empty
+ \MT@tr@set@space@{#2}{#5}{3}\@plus
+ \MT@tr@set@space@{#3}{#6}{4}\@minus
+ \MT@glet@nc{MT@outer@space\expandafter\string\font@name}\MT@temp
+}
+\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@set@space@@{#1}{#3}{1000}%
+ \edef\MT@temp{\MT@temp#4\the\@tempdima}%
+ \fontdimen#3\MT@lsfont=\@tempdima
+ }%
+ }{%
+ \MT@tr@set@space@@{#2}{#3}{2000}%
+ \edef\MT@temp{\MT@temp#4\the\@tempdima}%
+ \MT@ifempty{#1}\relax{%
+ \MT@tr@set@space@@{#1}{#3}{1000}%
+ \fontdimen#3\MT@lsfont=\@tempdima
+ }%
+ }%
+}
+\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}
+ {\@tempcntb=#1\relax}%
+ \@tempdima=\dimexpr \dimexpr\@tempcntb sp*\MT@dimen@six/1000\relax
+ -\fontdimen#2\MT@lsfont\relax
+ \ifnum#2=\tw@
+ \advance\@tempdima -\dimexpr\MT@letterspace@ sp*\MT@dimen@six/#3\relax
+ \fi
+ \@tempdima=\dimexpr \fontdimen#2\MT@lsfont+\@tempdima\relax
+ }{%
+ \MT@ifempty\@tempa{\let\@tempa\MT@letterspace@}\relax
+ \@tempdima=\dimexpr \numexpr1000+\@tempa sp *\fontdimen#2\MT@lsfont/1000\relax
+ }%
+}
+\def\MT@tr@outer@l{%
+ \ifhmode
+ \ifdim\lastskip>5sp
+ \edef\x{\the\lastskip minus 0pt}%
+ \setbox\z@\hbox{\MT@outer@space=\x}%
+ \ifdim\wd\z@>\z@
+ \unskip \hskip\MT@outer@space\relax
+ \let\MT@ls@outer@k\relax
+ \else
+ \ifdim\lastskip=%
+ \ifnum\spacefactor<2000
+ \spaceskip
+ \else
+ \ifdim\xspaceskip=\z@
+ \dimexpr\spaceskip+\fontdimen7\font@name\relax
+ \else
+ \xspaceskip
+ \fi
+ \fi
+ \unskip \hskip\MT@outer@space\relax
+ \let\MT@ls@outer@k\relax
+ \fi
+ \fi
+ \fi
+ \fi
+}
+\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@temp*{}%
+ \ifmmode \else
+ \ifnum\currentgrouptype=10 \else
+ \def\MT@temp*##1{\ifhmode\hskip\MT@outer@space
+ \fi}%
+ \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=}%
+ \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=}%
+ }{%
+ \MT@if@outer@next\@sptoken{%
+ \def\MT@temp* {\ifhmode\hskip\MT@outer@space
+ \fi}%
+ }{%
+ \MT@if@outer@next~{%
+ \def\MT@temp*~{\nobreak\hskip\MT@outer@space
+ }%
+ }{%
+ \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
+ \fi\fi
+ \MT@temp*%
+}
+\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@
+}
+}{
+ \DeclareRobustCommand\lsstyle{%
+ \MT@error{Letterspacing only works with \MT@engine tex version
+ 0.62%
+ \MessageBreak or newer}
+ {Upgrade \MT@engine tex, or try the `soul' package instead.}%
+ \MT@glet\lsstyle\relax
+ }
+}
+\def\MT@tr@set@okern#1,#2,{%
+ \let\MT@temp\@empty
+ \MT@ifempty{#1}{\MT@tr@set@okern@{*}}{\MT@tr@set@okern@{#1}}%
+ \MT@ifempty{#2}{\MT@tr@set@okern@{*}}{\MT@tr@set@okern@{#2}}%
+ \MT@glet@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}
+\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}%
+ {\MT@checklist@{##1}}%
+ {nl}%
+ }%
+ \ifMT@do
+ \MT@noligatures@\MT@font\MT@nl@ligatures
+ \fi
+}
+\def\MT@noligatures@#1#2{%
+ \MT@ifdefined@c@TF#2{%
+ \MT@ifdefined@c@TF\tagcode{%
+ \let\MT@warn@maybe@inputenc\@empty
+ \def\MT@curr@list@name{\@backslashchar DisableLigatures}%
+ \MT@map@clist@c#2{%
+ \KV@@sp@def\@tempa{##1}\MT@get@slot
+ \ifnum\MT@char>\m@ne \tagcode#1\MT@char=\m@ne \fi}%
+ \MT@vinfo{... Disabling ligatures for characters: #2}%
+ }{%
+ \pdfnoligatures#1%
+ \MT@warning{Cannot disable selected ligatures (pdftex doesn't\MessageBreak
+ know \@backslashchar tagcode). Disabling all ligatures of\MessageBreak
+ the font instead}%
+ }%
+ }{%
+ \pdfnoligatures#1%
+ \MT@vinfo{... Disabling ligatures}%
+ }%
+}
+\def\MT@get@slot@{%
+ \ifnum\MT@char > \m@ne
+ \ifnum\MT@char=47\relax
+ \ifMT@norest \else
+ \@tempcnta=\directlua{
+ local glyph = microtype.name_to_slot([[\expandafter\@gobble\@tempa]])
+ if glyph then tex.write(glyph)
+ else tex.write(-1)
+ end
+ }\relax
+ \ifnum\@tempcnta<\z@
+ \MT@warn@unknown
+ \let\MT@char\m@ne
+ \else
+ \edef\MT@char{\the\@tempcnta}%
+ \fi
+ \fi
+ \else
+ \ifMT@norest \else
+ \MT@warn@rest
+ \let\MT@char\m@ne
+ \fi
+ \fi
+ \else
+ \MT@warn@unknown
+ \fi
+}
+\def\MT@max@char
+ {1114111 }
+\def\MT@max@slot
+ {1114111 }
+\def\DisableLigatures{%
+ \MT@begin@catcodes
+ \MT@DisableLigatures
+}
+\newcommand*\MT@DisableLigatures[2][]{%
+ \MT@ifempty{#1}\relax{\gdef\MT@nl@ligatures{#1}}%
+ \xdef\MT@active@features{\MT@active@features,nl}%
+ \global\MT@noligaturestrue
+ \MT@declare@sets{nl}{no ligatures}{#2}%
+ \gdef\MT@nl@setname{no ligatures}%
+ \MT@end@catcodes
+}
+\def\SetProtrusion{%
+ \MT@begin@catcodes
+ \MT@SetProtrusion
+}
+\newcommand*\MT@SetProtrusion[3][]{%
+ \let\MT@extra@context\@empty
+ \MT@set@named@keys{MT@pr@c}{#1}%
+ \def\MT@permutelist{pr@c}%
+ \setkeys{MT@cfg}{#2}%
+ \MT@permute
+ \MT@gdef@n{MT@pr@c@\MT@pr@c@name}{#3}%
+ \MT@end@catcodes
+}
+\def\SetExpansion{%
+ \MT@begin@catcodes
+ \MT@SetExpansion
+}
+\newcommand*\MT@SetExpansion[3][]{%
+ \let\MT@extra@context\@empty
+ \MT@set@named@keys{MT@ex@c}{#1}%
+ \MT@ifdefined@n@T{MT@ex@c@\MT@ex@c@name @factor}{%
+ \ifnum\csname MT@ex@c@\MT@ex@c@name @factor\endcsname > \@m
+ \MT@warning@nl{Expansion factor \number\@nameuse{MT@ex@c@\MT@ex@c@name @factor}
+ too large in list\MessageBreak `\MT@ex@c@name'. Setting it to the
+ maximum of 1000}%
+ \MT@glet@nc{MT@ex@c@\MT@ex@c@name @factor}\@m
+ \fi
+ }%
+ \def\MT@permutelist{ex@c}%
+ \setkeys{MT@cfg}{#2}%
+ \MT@permute
+ \MT@gdef@n{MT@ex@c@\MT@ex@c@name}{#3}%
+ \MT@end@catcodes
+}
+\def\SetTracking{%
+ \MT@begin@catcodes
+ \MT@SetTracking
+}
+\newcommand*\MT@SetTracking[3][]{%
+ \let\MT@extra@context\@empty
+ \MT@set@named@keys{MT@tr@c}{#1}%
+ \def\MT@permutelist{tr@c}%
+ \setkeys{MT@cfg}{#2}%
+ \MT@permute
+ \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
+}
+ \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@pr@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@pr@c}{context}[]{%
+ \MT@ifempty{#1}\relax{\def\MT@extra@context{#1}}%
+ \ifx\MT@copy@font\MT@copy@font@\else
+ \MT@warning@nl{If protrusion contexts don't work as expected,
+ \MessageBreak load the package with the `copyfonts' option}%
+ \fi
+ }%
+ }
+\define@key{MT@pr@c}{unit}[character]{%
+ \MT@glet@nc{MT@pr@c@\MT@curr@set@name @unit}\@empty
+ \def\@tempa{#1}%
+ \MT@ifstreq\@tempa{character}\relax{%
+ \MT@ifdimen\@tempa
+ {\MT@glet@nc{MT@pr@c@\MT@curr@set@name @unit}\@tempa}%
+ {\MT@warn@nodim{character widths}}%
+ }%
+}
+\define@key{MT@tr@c}{unit}[1em]{%
+ \MT@glet@nc{MT@tr@c@\MT@curr@set@name @unit}\@empty
+ \def\@tempa{#1}%
+ \MT@ifdimen\@tempa
+ {\MT@glet@nc{MT@tr@c@\MT@curr@set@name @unit}\@tempa}%
+ {\MT@warn@nodim{1em}%
+ \MT@gdef@n{MT@tr@c@\MT@curr@set@name @unit}{1em}}%
+}
+\MT@map@clist@n{stretch,shrink,step}{%
+ \define@key{MT@ex@c}{#1}[]{%
+ \MT@ifempty{##1}\relax{%
+ \MT@ifint{##1}{%
+ \MT@gdef@n{MT@ex@c@\MT@curr@set@name @#1}{##1 }%
+ }{%
+ \MT@warning{%
+ Value `##1' for option `#1' is not a number.\MessageBreak
+ Ignoring it}%
+ }%
+ }%
+ }%
+}
+\define@key{MT@ex@c}{auto}[true]{%
+ \def\@tempa{#1}%
+ \csname if\@tempa\endcsname
+ \MT@gdef@n{MT@ex@c@\MT@curr@set@name @auto}{autoexpand}%
+ \else
+ \MT@glet@nc{MT@ex@c@\MT@curr@set@name @auto}\@empty
+ \fi
+}
+\MT@define@opt@key{tr}{spacing}
+\MT@define@opt@key{tr}{outerspacing}
+\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}}}
+\def\MT@inh@split#1=#2=#3\relax{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty \else
+ \MT@get@slot
+ \ifnum\MT@char > \m@ne
+ \let\MT@val\MT@char
+ \MT@map@clist@n{#2}{%
+ \def\@tempa{##1}%
+ \ifx\@tempa\@empty \else
+ \MT@get@slot
+ \ifnum\MT@char > \m@ne
+ \MT@exp@cs\MT@xadd{MT@inh@\MT@listname @\MT@val @}{{\MT@char}}%
+ \fi
+ \fi
+ }%
+ \fi
+ \fi
+}
+\MT@def@bool@opt{DVIoutput}{%
+ \csname if\@tempa\endcsname
+ \ifnum\pdfoutput>\z@ \MT@opt@DVItrue \fi
+ \pdfoutput\z@
+ \else
+ \ifnum\pdfoutput<\@ne \MT@opt@DVItrue \fi
+ \pdfoutput\@ne
+ \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
+ }
+\ifnum\pdfoutput<\@ne \else
+ \MT@expansiontrue
+ \MT@autotrue
+\fi
+\def\MT@define@optionX#1#2{%
+ \define@key{MTX}{#1}[true]{%
+ \edef\@tempb{\csname MT@rbba@#1\endcsname}%
+ \MT@map@clist@n{##1}{%
+ \KV@@sp@def\MT@val{####1}%
+ \MT@ifempty\MT@val\relax{%
+ \@tempcnta=\m@ne
+ \MT@ifstreq\MT@val{true}{%
+ \MT@checksetup{#1}{%
+ \@tempcnta=\csname MT@\@tempb @level\endcsname
+ \MT@vinfo{Enabling #1
+ (level \number\csname MT@\@tempb @level\endcsname)\on@line}%
+ }%
+ }{%
+ \MT@ifstreq\MT@val{false}{%
+ \@tempcnta=\z@
+ \MT@vinfo{Disabling #1\on@line}%
+ }{%
+ \MT@ifstreq\MT@val{compatibility}{%
+ \MT@checksetup{#1}{%
+ \@tempcnta=\@ne
+ \MT@let@nc{MT@\@tempb @level}\@ne
+ \MT@vinfo{Setting #1 to level 1\on@line}%
+ }%
+ }{%
+ \MT@ifstreq\MT@val{nocompatibility}{%
+ \MT@checksetup{#1}{%
+ \@tempcnta=\tw@
+ \MT@let@nc{MT@\@tempb @level}\tw@
+ \MT@vinfo{Setting #1 to level 2\on@line}%
+ }%
+ }{\MT@error{Value `\MT@val' for key `#1' not recognised}
+ {Use any of `true', `false', `compatibility' or
+ `nocompatibility'.}%
+ }%
+ }%
+ }%
+ }%
+ \ifnum\@tempcnta>\m@ne
+ #2\@tempcnta\relax
+ \fi
+ }%
+ }%
+ }%
+}
+\def\MT@checksetup#1{%
+ \csname ifMT@#1\endcsname
+ \expandafter\@firstofone
+ \else
+ \MT@error{You cannot enable #1 if it was disabled\MessageBreak
+ in the package options}{Load microtype with #1 enabled.}%
+ \expandafter\@gobble
+ \fi
+}
+\MT@define@optionX{protrusion}\MT@protrudechars
+\MT@define@optionX{expansion}\MT@adjustspacing
+\let\MT@protrudechars\pdfprotrudechars
+\let\MT@adjustspacing\pdfadjustspacing
+\MT@requires@luatex3{
+ \def\MT@define@optionX@#1#2{%
+ \define@key{MTX}{#1}[true]{%
+ \MT@map@clist@n{##1}{%
+ \KV@@sp@def\MT@val{####1}%
+ \MT@ifempty\MT@val\relax{%
+ \@tempcnta=\m@ne
+ \MT@ifstreq\MT@val{true}{%
+ \MT@checksetup{#1}{%
+ \@tempcnta=\@ne
+ \MT@vinfo{Enabling #1\on@line}%
+ }%
+ }{%
+ \MT@ifstreq\MT@val{false}{%
+ \@tempcnta=\z@
+ \MT@vinfo{Disabling #1\on@line}%
+ }{\MT@error{Value `\MT@val' for key `#1' not recognised}
+ {Use either `true' or `false'}%
+ }%
+ }%
+ \ifnum\@tempcnta>\m@ne
+ #2\relax
+ \fi
+ }%
+ }%
+ }%
+ }
+ \MT@define@optionX@{tracking}{\ifnum\@tempcnta=\z@ \let\MT@tracking\MT@set@tr@zero
+ \else \let\MT@tracking\MT@tracking@ \fi}
+ \MT@define@optionX@{spacing}{\pdfadjustinterwordglue\@tempcnta}
+ \MT@define@optionX@{kerning}{\pdfprependkern\@tempcnta
+ \pdfappendkern \@tempcnta}
+}{
+\define@key{MTX}{tracking}[true]{\MT@warning{Ignoring tracking setup}}
+}
+\define@key{MTX}{kerning}[true]{\MT@warning{Ignoring kerning setup}}
+\define@key{MTX}{spacing}[true]{\MT@warning{Ignoring spacing setup}}
+\define@key{MTX}{activate}[true]{%
+ \setkeys{MTX}{protrusion={#1}}%
+ \setkeys{MTX}{expansion={#1}}%
+}
+\def\MT@setup@PDF{%
+ \MT@info@nl{Generating \ifnum\pdfoutput<\@ne DVI \else PDF \fi output%
+ \ifMT@opt@DVI\space (changed by \MT@MT)\fi}%
+}
+\def\MT@setup@copies{%
+ \ifx\MT@copy@font\relax\else \MT@info@nl{Using font copies for contexts}\fi
+}
+\def\MT@setup@protrusion{%
+ \ifMT@protrusion
+ \edef\MT@active@features{\MT@active@features,pr}%
+ \MT@protrudechars\MT@pr@level
+ \MT@info@nl{Character protrusion enabled (level \number\MT@pr@level)%
+ \ifnum\MT@pr@factor=\MT@factor@default \else,\MessageBreak
+ factor: \number\MT@pr@factor\fi
+ \ifx\MT@pr@unit\@empty \else,\MessageBreak unit: \MT@pr@unit\fi}%
+ \MT@check@active@set{pr}%
+ \else
+ \let\MT@protrusion\relax
+ \MT@info@nl{No character protrusion}%
+ \fi
+}
+\def\MT@setup@expansion{%
+ \ifnum\pdfoutput<\@ne
+ \ifMT@opt@expansion \else
+ \MT@expansionfalse
+ \fi
+ \fi
+ \ifMT@expansion
+ \ifnum\MT@stretch=\m@ne
+ \let\MT@stretch\MT@stretch@default
+ \fi
+ \ifnum\MT@shrink=\m@ne
+ \let\MT@shrink\MT@stretch
+ \fi
+ \ifnum\MT@step=\m@ne
+ \def\MT@step{1 }%
+ \fi
+ \ifnum\MT@step=\z@
+ \MT@warning@nl{The expansion step cannot be set to zero.\MessageBreak
+ Setting it to one}%
+ \def\MT@step{1 }%
+ \fi
+ \let\MT@auto\@empty
+ \ifMT@auto
+ \ifnum\pdfoutput<\@ne
+ \ifMT@opt@auto
+ \MT@error{%
+ Automatic font expansion only works for PDF output.\MessageBreak
+ However, you are creating a DVI file}
+ {If you have created expanded fonts instances, remove `auto' from%
+ \MessageBreak the package options. Otherwise, you have to switch
+ off expansion\MessageBreak completely.}%
+ \fi
+ \MT@autofalse
+ \else
+ \def\MT@auto{autoexpand}%
+ \fi
+ \else
+ \fi
+ \ifMT@selected
+ \let\MT@set@ex@codes\MT@set@ex@codes@s
+ \else
+ \let\MT@set@ex@codes\MT@set@ex@codes@n
+ \fi
+ \ifnum\MT@stretch=\z@
+ \ifnum\MT@shrink=\z@
+ \MT@warning@nl{%
+ Both the stretch and shrink limit are set to zero.\MessageBreak
+ Disabling font expansion}%
+ \MT@expansionfalse
+ \fi
+ \fi
+ \fi
+ \ifMT@expansion
+ \edef\MT@active@features{\MT@active@features,ex}%
+ \MT@adjustspacing\MT@ex@level
+ \MT@info@nl{\ifMT@auto A\else Non-a\fi utomatic font expansion enabled
+ (level \number\MT@ex@level),\MessageBreak
+ stretch: \number\MT@stretch, shrink: \number\MT@shrink,
+ step: \number\MT@step, \ifMT@selected\else non-\fi selected}%
+ \def\MT@check@step##1{%
+ \@tempcnta=\csname MT@##1\endcsname
+ \divide\@tempcnta \MT@step
+ \multiply\@tempcnta \MT@step
+ \ifnum\@tempcnta=\csname MT@##1\endcsname\else
+ \MT@warning@nl{The ##1 amount is not a multiple of step.\MessageBreak
+ The effective maximum ##1 is \the\@tempcnta\space
+ (step \number\MT@step)}%
+ \fi
+ }%
+ \MT@check@step{stretch}%
+ \MT@check@step{shrink}%
+ \MT@check@active@set{ex}%
+ \CheckCommand*\showhyphens[1]{\setbox0\vbox{%
+ \color@begingroup\everypar{}\parfillskip\z@skip
+ \hsize\maxdimen\normalfont\pretolerance\m@ne\tolerance\m@ne
+ \hbadness\z@\showboxdepth\z@\ ##1\color@endgroup}}%
+ \gdef\showhyphens##1{\setbox0\vbox{%
+ \color@begingroup\pdfadjustspacing\z@\everypar{}\parfillskip\z@skip
+ \hsize\maxdimen\normalfont\pretolerance\m@ne\tolerance\m@ne
+ \hbadness\z@\showboxdepth\z@\ ##1\color@endgroup}}%
+ \else
+ \let\MT@expansion\relax
+ \MT@info@nl{No font expansion}%
+ \fi
+}
+\MT@requires@luatex3{%
+ \def\MT@setup@tracking{%
+ \ifMT@tracking
+ \edef\MT@active@features{\MT@active@features,tr}%
+ \MT@info@nl{Tracking enabled}%
+ \MT@check@active@set{tr}%
+ \ifMT@protrusion\else\MT@protrudechars\@ne\fi
+ \else
+ \let\MT@tracking\relax
+ \MT@info@nl{No adjustment of tracking}%
+ \fi
+ }
+}{
+ \def\MT@setup@tracking{%
+ \ifMT@tracking
+ \MT@error{The tracking feature only works with luatex 0.62\MessageBreak
+ or newer. Switching it off}{Upgrade luatex.}%
+ \MT@trackingfalse
+ \MT@let@nc{MT@tracking}\relax
+ \else
+ \MT@info@nl{No adjustment of tracking (luatex too old)}%
+ \fi
+ }
+}
+ \def\MT@error@doesnt@work#1{%
+ \csname ifMT@#1\endcsname
+ \MT@error{The #1 feature only works with pdftex 1.40\MessageBreak
+ or newer. Switching it off}
+ {Use pdftex instead.}%
+ \csname MT@#1false\endcsname
+ \MT@let@nc{MT@#1}\relax
+ \else
+ \MT@info@nl{No adjustment of #1%
+ }%
+ \fi
+ }
+ \def\MT@setup@kerning {\MT@error@doesnt@work{kerning}}
+ \def\MT@setup@spacing {\MT@error@doesnt@work{spacing}}
+\def\MT@setup@warntracking
+{%
+ \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\MessageBreak
+ able to create the virtual fonts on the fly}%
+ \MT@glet\MT@warn@tracking@DVI\relax
+ }%
+ \else
+ \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
+ \else
+ \MT@ls@too@large\MT@letterspace
+ \fi
+}
+\def\MT@setup@noligatures{%
+ \ifMT@noligatures \else
+ \let\MT@noligatures\relax
+ \fi
+}
+\endinput
+%%
+%% End of file `microtype-luatex.def'.
diff --git a/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def b/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def
new file mode 100644
index 00000000000..be537a1ff4b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def
@@ -0,0 +1,1568 @@
+%%
+%% This is file `microtype-pdftex.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% microtype.dtx (with options: `pdftex-def')
+%%
+%% ------------------------------------------------------------------------
+%%
+%% The `microtype' package
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3c of this license or (at
+%% your option) any later version. The latest version of this license is in:
+%% http://www.latex-project.org/lppl.txt, and version 1.3c or later is part
+%% of all distributions of LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `author-maintained'.
+%%
+%% This work consists of the files microtype.dtx and microtype.ins and the
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
+%%
+%% ------------------------------------------------------------------------
+%% This file contains enginge-specific definitions.
+%% ------------------------------------------------------------------------
+%%
+\ProvidesFile
+ {microtype-pdftex.def}
+ [2013/03/13 v2.5
+ Definitions specific to
+ pdftex
+ (RS)]
+\def\MT@pdftex@no{7}
+\ifnum\pdftexversion = 140
+ \ifnum\pdftexrevision < 4
+ \def\MT@pdftex@no{6}
+ \fi
+\else
+ \ifnum\pdftexversion < 140
+ \def\MT@pdftex@no{5}
+ \ifnum\pdftexversion < 130
+ \def\MT@pdftex@no{4}
+ \ifnum\pdftexversion < 120
+ \def\MT@pdftex@no{3}
+ \ifnum\pdftexversion = 14
+ \ifnum \expandafter`\pdftexrevision < `h
+ \def\MT@pdftex@no{2}
+ \ifnum \expandafter`\pdftexrevision < `f
+ \def\MT@pdftex@no{1}
+ \fi
+ \fi
+ \else
+ \ifnum\pdftexversion < 14
+ \def\MT@pdftex@no{1}
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+\fi
+\ifnum
+ \csname MT@\MT@engine tex@no\endcsname < 2
+ \MT@warning@nl{You
+ are using a \MT@engine tex version older than
+ 0.14f%
+ .\MessageBreak
+ `\MT@MT' does not work with this version.\MessageBreak
+ Please install a newer version of \MT@engine tex%
+ .\MessageBreak I will quit now}
+ \MT@clear@options
+\endinput\fi
+\def
+ \MT@requires@pdftex%
+ #1{\ifnum
+ \MT@pdftex@no
+ <#1 \expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi}
+\MT@requires@pdftex6{
+\def\MT@ifint#1{%
+ \ifcase\pdfmatch{^-*[0-9]+ *$}{#1}\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi
+}
+}{
+\def\MT@ifint#1{%
+ \if!\ifnum9<1#1!\else?\fi
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+}
+\MT@requires@pdftex6{
+\def\MT@ifdimen#1{%
+ \ifcase\pdfmatch{^([0-9]+([.,][0-9]+)?|[.,][0-9]+)%
+ (em|ex|cm|mm|in|pc|pt|dd|cc|bp|sp|nd|nc|px)? *$}{#1}\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi
+}
+}{
+\def\MT@ifdimen#1{%
+ \setbox\z@=\hbox{%
+ \MT@count=1#1\relax
+ \ifnum\MT@count=\@ne
+ \aftergroup\@secondoftwo
+ \else
+ \aftergroup\@firstoftwo
+ \fi
+ }%
+}
+}
+\MT@requires@pdftex5{
+\def\MT@ifstreq#1#2{%
+ \ifcase\pdfstrcmp{#1}{#2}\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+}{
+\def\MT@ifstreq#1#2{%
+ \edef\MT@res@a{#1}%
+ \edef\MT@res@b{#2}%
+ \ifx\MT@res@a\MT@res@b
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+}
+\def\MT@do@font{\MT@while@num\z@
+ \@cclvi
+}
+\MT@requires@pdftex5{
+ \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
+ \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
+ \fi
+ }%
+ }{%
+ \MT@warning@nl{%
+ Character protrusion in paragraphs with line\MessageBreak
+ numbering will only work if you update ledmac}%
+ }%
+ \fi
+ }
+}{
+ \def\MT@ledmac@setup{%
+ \ifMT@protrusion
+ \MT@warning@nl{%
+ The pdftex version you are using does not allow\MessageBreak
+ character protrusion in paragraphs with line\MessageBreak
+ numbering by the `ledmac' package.\MessageBreak
+ Upgrade pdftex to version 1.30 or later}%
+ \fi
+ }
+}
+\def\MT@setupfont{\MT@setupfont@hook}
+\MT@requires@pdftex7{
+\g@addto@macro\MT@setupfont\MT@copy@font
+}\relax
+\g@addto@macro\MT@setupfont{%
+ \MT@exp@two@c\MT@split@name\string\MT@font/\@nil
+ \MT@exp@one@n\MT@find@file\MT@family
+ \ifx\MT@familyalias\@empty \else
+ \MT@exp@one@n\MT@find@file\MT@familyalias\fi
+}
+\MT@requires@pdftex6
+ {\g@addto@macro\MT@setupfont\MT@tracking}\relax
+\g@addto@macro\MT@setupfont{%
+ \MT@check@font
+ \ifMT@inlist@
+ \else
+ \MT@vinfo{Setting up font `\MT@@font'\on@line}%
+ \MT@protrusion
+ \MT@expansion
+}
+\MT@requires@pdftex6{
+\g@addto@macro\MT@setupfont{\MT@spacing\MT@kerning}
+}\relax
+\MT@requires@pdftex5{
+\g@addto@macro\MT@setupfont\MT@noligatures
+}\relax
+\g@addto@macro\MT@setupfont{%
+ \MT@register@font
+ \fi
+}
+\let\MT@copy@font\relax
+\MT@requires@pdftex7{
+\def\MT@copy@font@{%
+ \xdef\MT@font@copy{\csname\MT@@font/\MT@pr@context/\MT@ex@context\endcsname}%
+ \expandafter\ifx\MT@font@copy\relax
+ \edef\MT@font@orig{\csname\expandafter\string\font@name @orig\endcsname}%
+ \expandafter\ifx\MT@font@orig\relax
+ \MT@exp@two@c\MT@glet\MT@font@orig\font@name
+ \else
+ \MT@exp@two@c\let\font@name\MT@font@orig
+ \fi
+ \global\MT@exp@two@c\pdfcopyfont\MT@font@copy\font@name
+ \MT@map@clist@c\MT@active@features{%
+ \MT@exp@cs\ifx{MT@\@nameuse{MT@abbr@##1}}\relax\else
+ \def\@tempa{##1}%
+ \MT@exp@cs\MT@map@tlist@c{MT@##1@doc@contexts}\MT@rem@from@list
+ \fi
+ }%
+ \fi
+ \MT@exp@two@c\let\MT@font\MT@font@copy
+ \let\font@name\MT@font@copy
+ \aftergroup\let\aftergroup\font@name\aftergroup\MT@font@copy
+}
+\def\MT@rem@from@list#1{%
+ \MT@exp@cs\ifx{MT@\@tempa @#1font@list}\relax\else
+ \expandafter\MT@exp@one@n\expandafter\MT@rem@from@clist\expandafter
+ \MT@font \csname MT@\@tempa @#1font@list\endcsname
+ \fi
+}
+}\relax
+\def\MT@protrusion{\MT@maybe@do{pr}}
+\def\MT@set@pr@codes{%
+ \MT@nofamilyfalse
+ \MT@if@list@exists{%
+ \ifMT@nofamily
+ \MT@ifdefined@n@TF{\MT@encoding-\MT@family-settings}\relax{%
+ \MT@info@nl{Loading generic settings for font family\MessageBreak
+ `\MT@family' (encoding: \MT@encoding).\MessageBreak
+ For optimal results, create family-specific settings.\MessageBreak
+ See the microtype manual for details}%
+ \MT@glet@nc{\MT@encoding-\MT@family-settings}\@empty
+ }%
+ \fi
+ \MT@get@font@dimen@six{%
+ \MT@get@opt
+ \MT@reset@pr@codes
+ \MT@get@inh@list
+ \MT@set@inputenc{c}%
+ \MT@load@list\MT@pr@c@name
+ \MT@set@listname
+ \MT@let@cn\@tempc{MT@pr@c@\MT@pr@c@name}%
+ \expandafter\MT@set@codes\@tempc,\relax,}%
+ }\MT@reset@pr@codes
+}
+\def\MT@get@font@dimen@six{%
+ \ifnum\fontdimen6\MT@font=\z@
+ \MT@warning@nl{%
+ Font `\MT@@font' does not specify its\MessageBreak
+ \@backslashchar fontdimen 6 (width of an `em')! Therefore,\MessageBreak
+ \@nameuse{MT@abbr@\MT@feat} will not work with this font}%
+ \expandafter\@gobble
+ \else
+ \edef\MT@dimen@six{\number\fontdimen6\MT@font}%
+ \expandafter\@firstofone
+ \fi
+}
+\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}}%
+ \MT@ifempty{#2}\relax{\g@addto@macro\MT@temp{\rpcode\MT@font\@tempcnta=#2}}%
+ \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@set@codes#1,{%
+ \ifx\relax#1\@empty\else
+ \MT@split@codes #1==\relax
+ \expandafter\MT@set@codes
+ \fi
+}
+\def\MT@split@codes#1=#2=#3\relax{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty \else
+ \MT@get@slot
+ \ifnum\MT@char > \m@ne
+ \MT@get@char@unit
+ \csname MT@\MT@feat @split@val\endcsname#2\relax
+ \fi
+ \fi
+}
+\def\MT@pr@split@val#1,#2\relax{%
+ \def\@tempb{#1}%
+ \MT@ifempty\@tempb\relax{%
+ \MT@scale@to@em
+ \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=\MT@the@pr@code
+ }%
+ \MT@ifdefined@c@T\MT@pr@inh@name{%
+ \MT@ifdefined@n@T{MT@inh@\MT@pr@inh@name @\MT@char @}{%
+ \MT@exp@cs\MT@map@tlist@c
+ {MT@inh@\MT@pr@inh@name @\MT@char @}%
+ \MT@set@pr@heirs
+ }%
+ }%
+}
+\MT@requires@pdftex3{
+\def\MT@scale@to@em{%
+ \@tempcntb=\MT@count\relax
+ \MT@scale\@tempcntb \@tempb \MT@dimen@six
+ \ifnum\@tempcntb=\z@ \else
+ \MT@scale@factor
+ \fi
+}
+\def\MT@get@charwd{%
+^^X \MT@count=\fontcharwd\MT@font\MT@char\relax
+^^Q \setbox\z@=\hbox{\MT@font \char\MT@char}%
+^^Q \MT@count=\wd\z@
+ \ifnum\MT@count=\z@ \MT@info@missing@char \fi
+}
+\MT@requires@pdftex6{
+ \g@addto@macro\MT@get@charwd{%
+ \MT@ifdefined@c@T\MT@letterspace@
+ {\advance\MT@count -\dimexpr\MT@letterspace@ sp *\dimexpr 1em/1000\relax}%
+ }
+}\relax
+}{
+\def\MT@scale@to@em{%
+ \MT@count=\@tempb\relax
+ \ifnum\MT@count=\z@ \else
+ \MT@scale@factor
+ \fi
+}
+\def\MT@get@charwd{\MT@count=\MT@dimen@six}
+}
+\def\MT@set@pr@heirs#1{%
+ \lpcode\MT@font #1 =\lpcode\MT@font\MT@char\relax
+ \rpcode\MT@font #1 =\rpcode\MT@font\MT@char\relax
+}
+\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
+}
+\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}%
+}
+\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}%
+}
+\def\MT@expansion{\MT@maybe@do{ex}}
+\def\MT@set@ex@codes@s{%
+ \MT@if@list@exists{%
+ \MT@get@ex@opt
+ \let\MT@get@char@unit\relax
+ \MT@reset@ef@codes
+ \MT@get@inh@list
+ \MT@set@inputenc{c}%
+ \MT@load@list\MT@ex@c@name
+ \MT@set@listname
+ \MT@let@cn\@tempc{MT@ex@c@\MT@ex@c@name}%
+ \expandafter\MT@set@codes\@tempc,\relax,%
+ \MT@expandfont
+ }\relax
+}
+\def\MT@set@ex@codes@n{%
+ \MT@nonselectedtrue
+ \MT@if@list@exists
+ \MT@get@ex@opt
+ {%
+ \let\MT@stretch@ \MT@stretch
+ \let\MT@shrink@ \MT@shrink
+ \let\MT@step@ \MT@step
+ \let\MT@auto@ \MT@auto
+ \let\MT@ex@factor@\MT@ex@factor
+ }%
+ \MT@reset@ef@codes
+ \MT@expandfont
+ \MT@nonselectedfalse
+}
+\let\MT@set@ex@codes\MT@set@ex@codes@n
+\def\MT@expandfont{%
+ \pdffontexpand\MT@font \MT@stretch@ \MT@shrink@ \MT@step@ \MT@auto@\relax
+}
+\def\MT@set@all@ex#1{%
+ \MT@do@font{\efcode\MT@font\@tempcnta=#1\relax}%
+}
+\def\MT@reset@ef@codes@{\MT@set@all@ex\MT@ex@factor@}
+\MT@requires@pdftex4{
+ \def\MT@reset@ef@codes{%
+ \ifnum\MT@ex@factor@=\@m \else
+ \MT@reset@ef@codes@
+ \fi
+ }
+}{
+ \let\MT@reset@ef@codes\MT@reset@ef@codes@
+}
+\def\MT@ex@split@val#1\relax{%
+ \@tempcntb=#1\relax
+ \ifnum\MT@ex@factor@=\@m \else
+ \MT@scale\@tempcntb \MT@ex@factor@ \@m
+ \fi
+ \ifnum\@tempcntb > \MT@ex@max
+ \MT@warn@ex@too@large\MT@ex@max
+ \else
+ \ifnum\@tempcntb < \MT@ex@min
+ \MT@warn@ex@too@large\MT@ex@min
+ \fi
+ \fi
+ \efcode\MT@font\MT@char=\@tempcntb
+ \MT@ifdefined@c@T\MT@ex@inh@name{%
+ \MT@ifdefined@n@T{MT@inh@\MT@ex@inh@name @\MT@char @}{%
+ \MT@exp@cs\MT@map@tlist@c{MT@inh@\MT@ex@inh@name @\MT@char @}\MT@set@ex@heirs
+ }%
+ }%
+}
+\def\MT@warn@ex@too@large#1{%
+ \MT@warning@nl{Expansion factor \number\@tempcntb\space too large for
+ character\MessageBreak `\the\MT@toks' in \MT@curr@list@name.\MessageBreak
+ Setting it to the maximum of \number#1}%
+ \@tempcntb=#1\relax
+}
+\def\MT@get@ex@opt{%
+ \MT@set@listname
+ \MT@ifdefined@n@TF{MT@ex@c@\MT@ex@c@name @factor}{%
+ \MT@let@cn\MT@ex@factor@{MT@ex@c@\MT@ex@c@name @factor}%
+ \MT@vinfo{... : Multiplying expansion factors by \number\MT@ex@factor@/1000}%
+ }{%
+ \let\MT@ex@factor@\MT@ex@factor
+ }%
+ \MT@get@ex@opt@{stretch}{Setting stretch limit to \number\MT@stretch@}%
+ \MT@get@ex@opt@{shrink} {Setting shrink limit to \number\MT@shrink@}%
+ \MT@get@ex@opt@{step} {Setting expansion step to \number\MT@step@}%
+ \def\@tempa{autoexpand}%
+ \MT@get@ex@opt@{auto}{\ifx\@tempa\MT@auto@ En\else Dis\fi abling automatic expansion}%
+ \MT@ifdefined@n@T{MT@ex@c@\MT@ex@c@name @preset}{%
+ \MT@preset@ex
+ \let\MT@reset@ef@codes\relax
+ }%
+}
+\def\MT@get@ex@opt@#1#2{%
+ \MT@ifdefined@n@TF{MT@ex@c@\MT@ex@c@name @#1}{%
+ \MT@let@nn{MT@#1@}{MT@ex@c@\MT@ex@c@name @#1}%
+ \MT@vinfo{... : #2}%
+ }{%
+ \MT@let@nn{MT@#1@}{MT@#1}%
+ }%
+}
+\def\MT@set@ex@heirs#1{%
+ \efcode\MT@font#1=\efcode\MT@font\MT@char
+}
+\def\MT@preset@ex{%
+ \@tempcntb=\csname MT@ex@c@\MT@ex@c@name @preset\endcsname\relax
+ \MT@scale@factor
+ \MT@set@all@ex\@tempcntb
+}
+\MT@requires@pdftex6{
+\def\MT@spacing{\MT@maybe@do{sp}}
+\def\MT@set@sp@codes{%
+ \MT@if@list@exists{%
+ \MT@get@font@dimen@six{%
+ \MT@get@opt
+ \MT@reset@sp@codes
+ \MT@get@inh@list
+ \MT@set@inputenc{c}%
+ \MT@load@list\MT@sp@c@name
+ \MT@set@listname
+ \MT@let@cn\@tempc{MT@sp@c@\MT@sp@c@name}%
+ \expandafter\MT@set@codes\@tempc,\relax,}%
+ }\MT@reset@sp@codes
+}
+\def\MT@sp@split@val#1,#2,#3\relax{%
+ \def\@tempb{#1}%
+ \MT@ifempty\@tempb\relax{%
+ \MT@get@space@unit2%
+ \MT@scale@to@em
+ \knbscode\MT@font\MT@char=\@tempcntb
+ }%
+ \def\@tempb{#2}%
+ \MT@ifempty\@tempb\relax{%
+ \MT@get@space@unit3%
+ \MT@scale@to@em
+ \stbscode\MT@font\MT@char=\@tempcntb
+ }%
+ \def\@tempb{#3}%
+ \MT@ifempty\@tempb\relax{%
+ \MT@get@space@unit4%
+ \MT@scale@to@em
+ \shbscode\MT@font\MT@char=\@tempcntb
+ }%
+ \MT@ifdefined@c@T\MT@sp@inh@name{%
+ \MT@ifdefined@n@T{MT@inh@\MT@sp@inh@name @\MT@char @}{%
+ \MT@exp@cs\MT@map@tlist@c{MT@inh@\MT@sp@inh@name @\MT@char @}\MT@set@sp@heirs
+ }%
+ }%
+}
+\def\MT@set@sp@heirs#1{%
+ \knbscode\MT@font#1=\knbscode\MT@font\MT@char
+ \stbscode\MT@font#1=\stbscode\MT@font\MT@char
+ \shbscode\MT@font#1=\shbscode\MT@font\MT@char
+}
+\def\MT@set@all@sp#1#2#3{%
+ \let\MT@temp\@empty
+ \MT@ifempty{#1}\relax{\g@addto@macro\MT@temp{\knbscode\MT@font\@tempcnta=#1\relax}}%
+ \MT@ifempty{#2}\relax{\g@addto@macro\MT@temp{\stbscode\MT@font\@tempcnta=#2\relax}}%
+ \MT@ifempty{#3}\relax{\g@addto@macro\MT@temp{\shbscode\MT@font\@tempcnta=#3\relax}}%
+ \MT@do@font\MT@temp
+}
+\def\MT@reset@sp@codes@{\MT@set@all@sp\z@\z@\z@}
+\let\MT@reset@sp@codes\relax
+\def\MT@preset@sp{%
+ \expandafter\expandafter\expandafter\MT@preset@sp@
+ \csname MT@sp@c@\MT@sp@c@name @preset\endcsname\@nil
+}
+\def\MT@preset@sp@#1,#2,#3\@nil{%
+ \ifx\MT@sp@unit@\@empty
+ \MT@warn@preset@towidth{sp}%
+ \MT@ifempty{#1}{\let\@tempa\@empty}{\MT@preset@aux@factor{#1}\@tempa}%
+ \MT@ifempty{#2}{\let\@tempc\@empty}{\MT@preset@aux@factor{#2}\@tempc}%
+ \MT@ifempty{#3}{\let\@tempb\@empty}{\MT@preset@aux@factor{#3}\@tempb}%
+ \else
+ \MT@ifempty{#1}{\let\@tempa\@empty}{\MT@preset@aux@space2{#1}\@tempa}%
+ \MT@ifempty{#2}{\let\@tempc\@empty}{\MT@preset@aux@space3{#2}\@tempc}%
+ \MT@ifempty{#3}{\let\@tempb\@empty}{\MT@preset@aux@space4{#3}\@tempb}%
+ \fi
+ \MT@set@all@sp\@tempa\@tempc\@tempb
+}
+}\relax
+\MT@requires@pdftex6{
+\def\MT@kerning{\MT@maybe@do{kn}}
+\def\MT@set@kn@codes{%
+ \MT@if@list@exists{%
+ \MT@get@font@dimen@six{%
+ \MT@get@opt
+ \MT@reset@kn@codes
+ \MT@get@inh@list
+ \MT@set@inputenc{c}%
+ \MT@load@list\MT@kn@c@name
+ \MT@set@listname
+ \MT@let@cn\@tempc{MT@kn@c@\MT@kn@c@name}%
+ \expandafter\MT@set@codes\@tempc,\relax,}%
+ }\MT@reset@kn@codes
+}
+\def\MT@kn@split@val#1,#2\relax{%
+ \def\@tempb{#1}%
+ \MT@ifempty\@tempb\relax{%
+ \MT@get@space@unit2%
+ \MT@scale@to@em
+ \knbccode\MT@font\MT@char=\@tempcntb
+ }%
+ \def\@tempb{#2}%
+ \MT@ifempty\@tempb\relax{%
+ \MT@get@space@unit2%
+ \MT@scale@to@em
+ \knaccode\MT@font\MT@char=\@tempcntb
+ }%
+ \MT@ifdefined@c@T\MT@kn@inh@name{%
+ \MT@ifdefined@n@T{MT@inh@\MT@kn@inh@name @\MT@char @}{%
+ \MT@exp@cs\MT@map@tlist@c{MT@inh@\MT@kn@inh@name @\MT@char @}\MT@set@kn@heirs
+ }%
+ }%
+}
+\def\MT@set@kn@heirs#1{%
+ \knbccode\MT@font#1=\knbccode\MT@font\MT@char
+ \knaccode\MT@font#1=\knaccode\MT@font\MT@char
+}
+\def\MT@set@all@kn#1#2{%
+ \let\MT@temp\@empty
+ \MT@ifempty{#1}\relax{\g@addto@macro\MT@temp{\knbccode\MT@font\@tempcnta=#1\relax}}%
+ \MT@ifempty{#2}\relax{\g@addto@macro\MT@temp{\knaccode\MT@font\@tempcnta=#2\relax}}%
+ \MT@do@font\MT@temp
+}
+\def\MT@reset@kn@codes@{\MT@set@all@kn\z@\z@}
+\let\MT@reset@kn@codes\relax
+\def\MT@preset@kn{%
+ \expandafter\expandafter\expandafter\MT@preset@kn@
+ \csname MT@kn@c@\MT@kn@c@name @preset\endcsname\@nil
+}
+\def\MT@preset@kn@#1,#2\@nil{%
+ \ifx\MT@kn@unit@\@empty
+ \MT@warn@preset@towidth{kn}%
+ \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@kn\@tempa\@tempb
+}
+}\relax
+\MT@requires@pdftex6
+{
+\let\MT@tr@font@list\@empty
+\def\MT@tracking@{%
+ \MT@exp@one@n\MT@in@clist\MT@font\MT@tr@font@list
+ \ifMT@inlist@\else
+ \MT@maybe@do{tr}%
+ \ifMT@do\else
+ \xdef\MT@tr@font@list{\MT@tr@font@list\MT@font,}%
+ \fi
+ \fi
+}
+\let\MT@tracking
+ \MT@tracking@
+\def\MT@set@tr@codes{%
+ \MT@vinfo{Tracking font `\MT@@font'\on@line}%
+ \MT@get@font@dimen@six{%
+ \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@
+ \MT@set@tr@zero
+ \else
+ \MT@vinfo{... Tracking by \number\MT@letterspace@}%
+ \MT@warn@tracking@DVI
+ \xdef\MT@lsfont{\csname\expandafter\string\font@name
+ /\number\MT@letterspace@ ls\endcsname}%
+ \expandafter\ifx\MT@lsfont\relax
+ \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}%
+ {\edef\@tempa{\MT@letterspace@*,,}}%
+ \MT@ifdefined@c@TF\MT@tr@ospace
+ {\edef\@tempa{\@tempa,\MT@tr@ospace}}%
+ {\edef\@tempa{\@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
+ \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
+ \aftergroup\MT@set@lsfont
+ \let\MT@font\MT@lsfont
+ \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}%
+ \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@ls@aftergroup
+ \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{%
+ \not@math@alphabet\lsstyle\textls
+ \let\glb@currsize\@empty
+ \def\MT@feat{tr}%
+ \let\MT@tracking\MT@set@tr@codes
+ \selectfont
+}
+\DeclareRobustCommand\lslig[1]{%
+ {\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{%
+ \xdef\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
+ \else
+ \MT@exp@two@c\let\font@name\MT@ls@basefont
+ \fi
+}
+\def\MT@set@lsbasefont{\MT@exp@two@c\let\font@name\MT@ls@basefont}
+\def\MT@set@tr@zero{%
+ \xdef\MT@ls@basefont{\csname\expandafter\string\font@name @base\endcsname}%
+ \expandafter\ifx\MT@ls@basefont\relax \else
+ \aftergroup\MT@set@lsbasefont
+ \fi
+}
+\MT@requires@pdftex7{
+ \def\MT@tr@noligatures{%
+ \ifx\MT@tr@ligatures\@empty
+ \MT@noligatures@\MT@lsfont\@undefined
+ \else
+ \MT@noligatures@\MT@lsfont\MT@tr@ligatures
+ \fi
+ }
+}{
+ \def\MT@tr@noligatures{%
+ \MT@warning@nl{%
+ Disabling selected ligatures is only possible since\MessageBreak
+ pdftex 1.40.4. Disabling all ligatures instead}%
+ \MT@glet\MT@tr@noligatures\relax
+ }
+}
+\newskip\MT@outer@space
+\def\MT@tr@set@space#1,#2,#3,#4,#5,#6,{%
+ \let\MT@temp\@empty
+ \MT@tr@set@space@{#1}{#4}{2}\@empty
+ \MT@tr@set@space@{#2}{#5}{3}\@plus
+ \MT@tr@set@space@{#3}{#6}{4}\@minus
+ \MT@glet@nc{MT@outer@space\expandafter\string\font@name}\MT@temp
+}
+\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@set@space@@{#1}{#3}{1000}%
+ \edef\MT@temp{\MT@temp#4\the\@tempdima}%
+ \fontdimen#3\MT@lsfont=\@tempdima
+ }%
+ }{%
+ \MT@tr@set@space@@{#2}{#3}{2000}%
+ \edef\MT@temp{\MT@temp#4\the\@tempdima}%
+ \MT@ifempty{#1}\relax{%
+ \MT@tr@set@space@@{#1}{#3}{1000}%
+ \fontdimen#3\MT@lsfont=\@tempdima
+ }%
+ }%
+}
+\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}
+ {\@tempcntb=#1\relax}%
+ \@tempdima=\dimexpr \dimexpr\@tempcntb sp*\MT@dimen@six/1000\relax
+ -\fontdimen#2\MT@lsfont\relax
+ \ifnum#2=\tw@
+ \advance\@tempdima -\dimexpr\MT@letterspace@ sp*\MT@dimen@six/#3\relax
+ \fi
+ \@tempdima=\dimexpr \fontdimen#2\MT@lsfont+\@tempdima\relax
+ }{%
+ \MT@ifempty\@tempa{\let\@tempa\MT@letterspace@}\relax
+ \@tempdima=\dimexpr \numexpr1000+\@tempa sp *\fontdimen#2\MT@lsfont/1000\relax
+ }%
+}
+\def\MT@tr@outer@l{%
+ \ifhmode
+ \ifdim\lastskip>5sp
+ \edef\x{\the\lastskip minus 0pt}%
+ \setbox\z@\hbox{\MT@outer@space=\x}%
+ \ifdim\wd\z@>\z@
+ \unskip \hskip\MT@outer@space\relax
+ \let\MT@ls@outer@k\relax
+ \else
+ \ifdim\lastskip=%
+ \ifnum\spacefactor<2000
+ \spaceskip
+ \else
+ \ifdim\xspaceskip=\z@
+ \dimexpr\spaceskip+\fontdimen7\font@name\relax
+ \else
+ \xspaceskip
+ \fi
+ \fi
+ \unskip \hskip\MT@outer@space\relax
+ \let\MT@ls@outer@k\relax
+ \fi
+ \fi
+ \fi
+ \fi
+}
+\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@temp*{}%
+ \ifmmode \else
+ \ifnum\currentgrouptype=10 \else
+ \def\MT@temp*##1{\ifhmode\hskip\MT@outer@space
+ \fi}%
+ \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=}%
+ \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=}%
+ }{%
+ \MT@if@outer@next\@sptoken{%
+ \def\MT@temp* {\ifhmode\hskip\MT@outer@space
+ \fi}%
+ }{%
+ \MT@if@outer@next~{%
+ \def\MT@temp*~{\nobreak\hskip\MT@outer@space
+ }%
+ }{%
+ \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
+ \fi\fi
+ \MT@temp*%
+}
+\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@
+}
+}{
+ \DeclareRobustCommand\lsstyle{%
+ \MT@error{Letterspacing only works with \MT@engine tex version
+ 1.40%
+ \MessageBreak or newer}
+ {Upgrade \MT@engine tex, or try the `soul' package instead.}%
+ \MT@glet\lsstyle\relax
+ }
+}
+\def\MT@tr@set@okern#1,#2,{%
+ \let\MT@temp\@empty
+ \MT@ifempty{#1}{\MT@tr@set@okern@{*}}{\MT@tr@set@okern@{#1}}%
+ \MT@ifempty{#2}{\MT@tr@set@okern@{*}}{\MT@tr@set@okern@{#2}}%
+ \MT@glet@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}%
+ {\MT@checklist@{##1}}%
+ {nl}%
+ }%
+ \ifMT@do
+ \MT@noligatures@\MT@font\MT@nl@ligatures
+ \fi
+}
+\def\MT@noligatures@#1#2{%
+ \MT@ifdefined@c@TF#2{%
+ \MT@ifdefined@c@TF\tagcode{%
+ \let\MT@warn@maybe@inputenc\@empty
+ \def\MT@curr@list@name{\@backslashchar DisableLigatures}%
+ \MT@map@clist@c#2{%
+ \KV@@sp@def\@tempa{##1}\MT@get@slot
+ \ifnum\MT@char>\m@ne \tagcode#1\MT@char=\m@ne \fi}%
+ \MT@vinfo{... Disabling ligatures for characters: #2}%
+ }{%
+ \pdfnoligatures#1%
+ \MT@warning{Cannot disable selected ligatures (pdftex doesn't\MessageBreak
+ know \@backslashchar tagcode). Disabling all ligatures of\MessageBreak
+ the font instead}%
+ }%
+ }{%
+ \pdfnoligatures#1%
+ \MT@vinfo{... Disabling ligatures}%
+ }%
+}
+}\relax
+\def\MT@get@slot@{%
+ \ifnum\MT@char > \m@ne
+ \ifMT@norest \else
+ \MT@warn@rest
+ \let\MT@char\m@ne
+ \fi
+ \else
+ \MT@warn@unknown
+ \fi
+}
+\def\MT@max@char
+ {127 }
+\def\MT@max@slot
+ {255 }
+\MT@requires@pdftex5{
+\def\DisableLigatures{%
+ \MT@begin@catcodes
+ \MT@DisableLigatures
+}
+\newcommand*\MT@DisableLigatures[2][]{%
+ \MT@ifempty{#1}\relax{\gdef\MT@nl@ligatures{#1}}%
+ \xdef\MT@active@features{\MT@active@features,nl}%
+ \global\MT@noligaturestrue
+ \MT@declare@sets{nl}{no ligatures}{#2}%
+ \gdef\MT@nl@setname{no ligatures}%
+ \MT@end@catcodes
+}
+}{
+\renewcommand*\DisableLigatures[2][]{%
+ \MT@error{Disabling ligatures of a font is only possible\MessageBreak
+ with pdftex version 1.30 or newer.\MessageBreak
+ Ignoring \string\DisableLigatures}{%
+ Upgrade
+ pdftex.}%
+}
+}
+\def\SetProtrusion{%
+ \MT@begin@catcodes
+ \MT@SetProtrusion
+}
+\newcommand*\MT@SetProtrusion[3][]{%
+ \let\MT@extra@context\@empty
+ \MT@set@named@keys{MT@pr@c}{#1}%
+ \def\MT@permutelist{pr@c}%
+ \setkeys{MT@cfg}{#2}%
+ \MT@permute
+ \MT@gdef@n{MT@pr@c@\MT@pr@c@name}{#3}%
+ \MT@end@catcodes
+}
+\def\SetExpansion{%
+ \MT@begin@catcodes
+ \MT@SetExpansion
+}
+\newcommand*\MT@SetExpansion[3][]{%
+ \let\MT@extra@context\@empty
+ \MT@set@named@keys{MT@ex@c}{#1}%
+ \MT@ifdefined@n@T{MT@ex@c@\MT@ex@c@name @factor}{%
+ \ifnum\csname MT@ex@c@\MT@ex@c@name @factor\endcsname > \@m
+ \MT@warning@nl{Expansion factor \number\@nameuse{MT@ex@c@\MT@ex@c@name @factor}
+ too large in list\MessageBreak `\MT@ex@c@name'. Setting it to the
+ maximum of 1000}%
+ \MT@glet@nc{MT@ex@c@\MT@ex@c@name @factor}\@m
+ \fi
+ }%
+ \def\MT@permutelist{ex@c}%
+ \setkeys{MT@cfg}{#2}%
+ \MT@permute
+ \MT@gdef@n{MT@ex@c@\MT@ex@c@name}{#3}%
+ \MT@end@catcodes
+}
+\def\SetTracking{%
+ \MT@begin@catcodes
+ \MT@SetTracking
+}
+\newcommand*\MT@SetTracking[3][]{%
+ \let\MT@extra@context\@empty
+ \MT@set@named@keys{MT@tr@c}{#1}%
+ \def\MT@permutelist{tr@c}%
+ \setkeys{MT@cfg}{#2}%
+ \MT@permute
+ \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{%
+ \MT@begin@catcodes
+ \MT@SetExtraSpacing
+}
+\newcommand*\MT@SetExtraSpacing[3][]{%
+ \let\MT@extra@context\@empty
+ \MT@set@named@keys{MT@sp@c}{#1}%
+ \def\MT@permutelist{sp@c}%
+ \setkeys{MT@cfg}{#2}%
+ \MT@permute
+ \MT@gdef@n{MT@sp@c@\MT@sp@c@name}{#3}%
+ \MT@end@catcodes
+}
+\def\SetExtraKerning{%
+ \MT@begin@catcodes
+ \MT@SetExtraKerning
+}
+\newcommand*\MT@SetExtraKerning[3][]{%
+ \let\MT@extra@context\@empty
+ \MT@set@named@keys{MT@kn@c}{#1}%
+ \def\MT@permutelist{kn@c}%
+ \setkeys{MT@cfg}{#2}%
+ \MT@permute
+ \MT@gdef@n{MT@kn@c@\MT@kn@c@name}{#3}%
+ \MT@end@catcodes
+}
+\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@pr@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@pr@c}{context}[]{%
+ \MT@ifempty{#1}\relax{\def\MT@extra@context{#1}}%
+ \ifx\MT@copy@font\MT@copy@font@\else
+ \MT@warning@nl{If protrusion contexts don't work as expected,
+ \MessageBreak 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
+ or later. Ignoring `context' key\on@line}%
+ {Upgrade pdftex.}%
+ }
+ \define@key{MT@pr@c}{context}[]{%
+ \MT@error{Protrusion contexts only work with pdftex
+ 1.40.4\MessageBreak or later.
+ Ignoring `context' key\on@line}%
+ {Upgrade pdftex.}%
+ }
+}
+\define@key{MT@pr@c}{unit}[character]{%
+ \MT@glet@nc{MT@pr@c@\MT@curr@set@name @unit}\@empty
+ \def\@tempa{#1}%
+ \MT@ifstreq\@tempa{character}\relax{%
+ \MT@ifdimen\@tempa
+ {\MT@glet@nc{MT@pr@c@\MT@curr@set@name @unit}\@tempa}%
+ {\MT@warn@nodim{character widths}}%
+ }%
+}
+\define@key{MT@tr@c}{unit}[1em]{%
+ \MT@glet@nc{MT@tr@c@\MT@curr@set@name @unit}\@empty
+ \def\@tempa{#1}%
+ \MT@ifdimen\@tempa
+ {\MT@glet@nc{MT@tr@c@\MT@curr@set@name @unit}\@tempa}%
+ {\MT@warn@nodim{1em}%
+ \MT@gdef@n{MT@tr@c@\MT@curr@set@name @unit}{1em}}%
+}
+\MT@map@clist@n{sp,kn}{%
+ \define@key{MT@#1@c}{unit}[space]{%
+ \MT@glet@nc{MT@#1@c@\MT@curr@set@name @unit}\@empty
+ \def\@tempa{##1}%
+ \MT@ifstreq\@tempa{character}\relax{%
+ \MT@glet@nc{MT@#1@c@\MT@curr@set@name @unit}\m@ne
+ \MT@ifstreq\@tempa{space}\relax{%
+ \MT@ifdimen\@tempa
+ {\MT@glet@nc{MT@#1@c@\MT@curr@set@name @unit}\@tempa}%
+ {\MT@warn@nodim{width of space}}%
+ }%
+ }%
+ }%
+}
+\MT@map@clist@n{stretch,shrink,step}{%
+ \define@key{MT@ex@c}{#1}[]{%
+ \MT@ifempty{##1}\relax{%
+ \MT@ifint{##1}{%
+ \MT@gdef@n{MT@ex@c@\MT@curr@set@name @#1}{##1 }%
+ }{%
+ \MT@warning{%
+ Value `##1' for option `#1' is not a number.\MessageBreak
+ Ignoring it}%
+ }%
+ }%
+ }%
+}
+\define@key{MT@ex@c}{auto}[true]{%
+ \def\@tempa{#1}%
+ \csname if\@tempa\endcsname
+ \MT@requires@pdftex4{%
+ \MT@gdef@n{MT@ex@c@\MT@curr@set@name @auto}{autoexpand}%
+ }{%
+ \MT@warning{pdftex too old for automatic font expansion}%
+ }
+ \else
+ \MT@requires@pdftex4{%
+ \MT@glet@nc{MT@ex@c@\MT@curr@set@name @auto}\@empty
+ }\relax
+ \fi
+}
+\MT@define@opt@key{tr}{spacing}
+\MT@define@opt@key{tr}{outerspacing}
+\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}}}
+\def\MT@inh@split#1=#2=#3\relax{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty \else
+ \MT@get@slot
+ \ifnum\MT@char > \m@ne
+ \let\MT@val\MT@char
+ \MT@map@clist@n{#2}{%
+ \def\@tempa{##1}%
+ \ifx\@tempa\@empty \else
+ \MT@get@slot
+ \ifnum\MT@char > \m@ne
+ \MT@exp@cs\MT@xadd{MT@inh@\MT@listname @\MT@val @}{{\MT@char}}%
+ \fi
+ \fi
+ }%
+ \fi
+ \fi
+}
+\MT@def@bool@opt{DVIoutput}{%
+ \csname if\@tempa\endcsname
+ \ifnum\pdfoutput>\z@ \MT@opt@DVItrue \fi
+ \pdfoutput\z@
+ \else
+ \ifnum\pdfoutput<\@ne \MT@opt@DVItrue \fi
+ \pdfoutput\@ne
+ \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@error
+ {The pdftex version you are using is too old\MessageBreak
+ to use the `copyfonts' option}{Upgrade pdftex.}%
+ \fi
+ }
+}
+\ifnum\pdfoutput<\@ne \else
+ \MT@requires@pdftex4{
+ \MT@expansiontrue
+ \MT@autotrue
+ }\relax
+\fi
+\def\MT@define@optionX#1#2{%
+ \define@key{MTX}{#1}[true]{%
+ \edef\@tempb{\csname MT@rbba@#1\endcsname}%
+ \MT@map@clist@n{##1}{%
+ \KV@@sp@def\MT@val{####1}%
+ \MT@ifempty\MT@val\relax{%
+ \@tempcnta=\m@ne
+ \MT@ifstreq\MT@val{true}{%
+ \MT@checksetup{#1}{%
+ \@tempcnta=\csname MT@\@tempb @level\endcsname
+ \MT@vinfo{Enabling #1
+ (level \number\csname MT@\@tempb @level\endcsname)\on@line}%
+ }%
+ }{%
+ \MT@ifstreq\MT@val{false}{%
+ \@tempcnta=\z@
+ \MT@vinfo{Disabling #1\on@line}%
+ }{%
+ \MT@ifstreq\MT@val{compatibility}{%
+ \MT@checksetup{#1}{%
+ \@tempcnta=\@ne
+ \MT@let@nc{MT@\@tempb @level}\@ne
+ \MT@vinfo{Setting #1 to level 1\on@line}%
+ }%
+ }{%
+ \MT@ifstreq\MT@val{nocompatibility}{%
+ \MT@checksetup{#1}{%
+ \@tempcnta=\tw@
+ \MT@let@nc{MT@\@tempb @level}\tw@
+ \MT@vinfo{Setting #1 to level 2\on@line}%
+ }%
+ }{\MT@error{Value `\MT@val' for key `#1' not recognised}
+ {Use any of `true', `false', `compatibility' or
+ `nocompatibility'.}%
+ }%
+ }%
+ }%
+ }%
+ \ifnum\@tempcnta>\m@ne
+ #2\@tempcnta\relax
+ \fi
+ }%
+ }%
+ }%
+}
+\def\MT@checksetup#1{%
+ \csname ifMT@#1\endcsname
+ \expandafter\@firstofone
+ \else
+ \MT@error{You cannot enable #1 if it was disabled\MessageBreak
+ in the package options}{Load microtype with #1 enabled.}%
+ \expandafter\@gobble
+ \fi
+}
+\MT@define@optionX{protrusion}\MT@protrudechars
+\MT@define@optionX{expansion}\MT@adjustspacing
+\let\MT@protrudechars\pdfprotrudechars
+\let\MT@adjustspacing\pdfadjustspacing
+\MT@requires@pdftex6{
+ \def\MT@define@optionX@#1#2{%
+ \define@key{MTX}{#1}[true]{%
+ \MT@map@clist@n{##1}{%
+ \KV@@sp@def\MT@val{####1}%
+ \MT@ifempty\MT@val\relax{%
+ \@tempcnta=\m@ne
+ \MT@ifstreq\MT@val{true}{%
+ \MT@checksetup{#1}{%
+ \@tempcnta=\@ne
+ \MT@vinfo{Enabling #1\on@line}%
+ }%
+ }{%
+ \MT@ifstreq\MT@val{false}{%
+ \@tempcnta=\z@
+ \MT@vinfo{Disabling #1\on@line}%
+ }{\MT@error{Value `\MT@val' for key `#1' not recognised}
+ {Use either `true' or `false'}%
+ }%
+ }%
+ \ifnum\@tempcnta>\m@ne
+ #2\relax
+ \fi
+ }%
+ }%
+ }%
+ }
+ \MT@define@optionX@{tracking}{\ifnum\@tempcnta=\z@ \let\MT@tracking\MT@set@tr@zero
+ \else \let\MT@tracking\MT@tracking@ \fi}
+ \MT@define@optionX@{spacing}{\pdfadjustinterwordglue\@tempcnta}
+ \MT@define@optionX@{kerning}{\pdfprependkern\@tempcnta
+ \pdfappendkern \@tempcnta}
+}{
+\define@key{MTX}{tracking}[true]{\MT@warning{Ignoring tracking setup}}
+\define@key{MTX}{kerning}[true]{\MT@warning{Ignoring kerning setup}}
+\define@key{MTX}{spacing}[true]{\MT@warning{Ignoring spacing setup}}
+}
+\define@key{MTX}{activate}[true]{%
+ \setkeys{MTX}{protrusion={#1}}%
+ \setkeys{MTX}{expansion={#1}}%
+}
+\def\MT@setup@PDF{%
+ \MT@info@nl{Generating \ifnum\pdfoutput<\@ne DVI \else PDF \fi output%
+ \ifMT@opt@DVI\space (changed by \MT@MT)\fi}%
+}
+\def\MT@setup@copies{%
+ \ifx\MT@copy@font\relax\else \MT@info@nl{Using font copies for contexts}\fi
+}
+\def\MT@setup@protrusion{%
+ \ifMT@protrusion
+ \edef\MT@active@features{\MT@active@features,pr}%
+ \MT@protrudechars\MT@pr@level
+ \MT@info@nl{Character protrusion enabled (level \number\MT@pr@level)%
+ \ifnum\MT@pr@factor=\MT@factor@default \else,\MessageBreak
+ factor: \number\MT@pr@factor\fi
+ \ifx\MT@pr@unit\@empty \else,\MessageBreak unit: \MT@pr@unit\fi}%
+ \MT@check@active@set{pr}%
+ \else
+ \let\MT@protrusion\relax
+ \MT@info@nl{No character protrusion}%
+ \fi
+}
+\def\MT@setup@expansion{%
+ \ifnum\pdfoutput<\@ne
+ \ifMT@opt@expansion \else
+ \MT@expansionfalse
+ \fi
+ \fi
+ \ifMT@expansion
+ \ifnum\MT@stretch=\m@ne
+ \let\MT@stretch\MT@stretch@default
+ \fi
+ \ifnum\MT@shrink=\m@ne
+ \let\MT@shrink\MT@stretch
+ \fi
+ \ifnum\MT@step=\m@ne
+ \MT@requires@pdftex6{%
+ \def\MT@step{1 }%
+ }{%
+ \ifnum\MT@stretch>\MT@shrink
+ \ifnum\MT@shrink=\z@
+ \@tempcnta=\MT@stretch
+ \else
+ \@tempcnta=\MT@shrink
+ \fi
+ \else
+ \ifnum\MT@stretch=\z@
+ \@tempcnta=\MT@shrink
+ \else
+ \@tempcnta=\MT@stretch
+ \fi
+ \fi
+ \divide\@tempcnta 5\relax
+ \ifnum\@tempcnta=\z@ \@tempcnta=\@ne \fi
+ \edef\MT@step{\number\@tempcnta\space}%
+ }%
+ \fi
+ \ifnum\MT@step=\z@
+ \MT@warning@nl{The expansion step cannot be set to zero.\MessageBreak
+ Setting it to one}%
+ \def\MT@step{1 }%
+ \fi
+ \let\MT@auto\@empty
+ \ifMT@auto
+ \MT@requires@pdftex4{%
+ \ifnum\pdfoutput<\@ne
+ \ifMT@opt@auto
+ \MT@error{%
+ Automatic font expansion only works for PDF output.\MessageBreak
+ However, you are creating a DVI file}
+ {If you have created expanded fonts instances, remove `auto' from%
+ \MessageBreak the package options. Otherwise, you have to switch
+ off expansion\MessageBreak completely.}%
+ \fi
+ \MT@autofalse
+ \else
+ \def\MT@auto{autoexpand}%
+ \fi
+ }{%
+ \MT@error{%
+ The pdftex version you are using is too old for\MessageBreak
+ automatic font expansion}%
+ {If you have created expanded fonts instances, remove `auto' from\MessageBreak
+ the package options. Otherwise, you have to switch off expansion\MessageBreak
+ completely, or upgrade pdftex to version 1.20 or newer.}%
+ \MT@autofalse
+ \def\MT@auto{1000 }%
+ }%
+ \else
+ \MT@requires@pdftex4\relax{%
+ \def\MT@auto{1000 }%
+ }%
+ \fi
+ \ifMT@selected
+ \let\MT@set@ex@codes\MT@set@ex@codes@s
+ \else
+ \let\MT@set@ex@codes\MT@set@ex@codes@n
+ \fi
+ \ifnum\MT@stretch=\z@
+ \ifnum\MT@shrink=\z@
+ \MT@warning@nl{%
+ Both the stretch and shrink limit are set to zero.\MessageBreak
+ Disabling font expansion}%
+ \MT@expansionfalse
+ \fi
+ \fi
+ \fi
+ \ifMT@expansion
+ \edef\MT@active@features{\MT@active@features,ex}%
+ \MT@adjustspacing\MT@ex@level
+ \MT@info@nl{\ifMT@auto A\else Non-a\fi utomatic font expansion enabled
+ (level \number\MT@ex@level),\MessageBreak
+ stretch: \number\MT@stretch, shrink: \number\MT@shrink,
+ step: \number\MT@step, \ifMT@selected\else non-\fi selected}%
+ \def\MT@check@step##1{%
+ \@tempcnta=\csname MT@##1\endcsname
+ \divide\@tempcnta \MT@step
+ \multiply\@tempcnta \MT@step
+ \ifnum\@tempcnta=\csname MT@##1\endcsname\else
+ \MT@warning@nl{The ##1 amount is not a multiple of step.\MessageBreak
+ The effective maximum ##1 is \the\@tempcnta\space
+ (step \number\MT@step)}%
+ \fi
+ }%
+ \MT@check@step{stretch}%
+ \MT@check@step{shrink}%
+ \MT@check@active@set{ex}%
+ \CheckCommand*\showhyphens[1]{\setbox0\vbox{%
+ \color@begingroup\everypar{}\parfillskip\z@skip
+ \hsize\maxdimen\normalfont\pretolerance\m@ne\tolerance\m@ne
+ \hbadness\z@\showboxdepth\z@\ ##1\color@endgroup}}%
+ \gdef\showhyphens##1{\setbox0\vbox{%
+ \color@begingroup\pdfadjustspacing\z@\everypar{}\parfillskip\z@skip
+ \hsize\maxdimen\normalfont\pretolerance\m@ne\tolerance\m@ne
+ \hbadness\z@\showboxdepth\z@\ ##1\color@endgroup}}%
+ \else
+ \let\MT@expansion\relax
+ \MT@info@nl{No font expansion}%
+ \fi
+}
+\MT@requires@pdftex6{%
+ \def\MT@setup@tracking{%
+ \ifMT@tracking
+ \edef\MT@active@features{\MT@active@features,tr}%
+ \MT@info@nl{Tracking enabled}%
+ \MT@check@active@set{tr}%
+ \ifMT@protrusion\else\MT@protrudechars\@ne\fi
+ \else
+ \let\MT@tracking\relax
+ \MT@info@nl{No adjustment of tracking}%
+ \fi
+ }
+ \def\MT@setup@spacing{%
+ \ifMT@spacing
+ \edef\MT@active@features{\MT@active@features,sp}%
+ \pdfadjustinterwordglue\@ne
+ \MT@info@nl{Adjustment of interword spacing enabled}%
+ \MT@with@package@T{ragged2e}{%
+ \MT@warning@nl{You are using the `ragged2e' package.\MessageBreak
+ Adjustment of interword spacing may lead to\MessageBreak
+ undesired results when used with `ragged2e'.\MessageBreak
+ In this case, disable the `spacing' option}%
+ }%
+ \MT@check@active@set{sp}%
+ \else
+ \let\MT@spacing\relax
+ \MT@info@nl{No adjustment of interword spacing}%
+ \fi
+ }
+ \def\MT@setup@spacing@check{%
+ \ifMT@spacing
+ \ifMT@babel \else
+ \ifnum\sfcode`\. > 1500
+ \MT@ifstreq\MT@sp@context{nonfrench}\relax{%
+ \MT@warning@nl{%
+ \string\nonfrenchspacing\space is active. Adjustment of\MessageBreak
+ interword spacing will disable it. You might want\MessageBreak
+ to add `\@backslashchar\MT@MT context{spacing=nonfrench}'\MessageBreak
+ to your preamble}%
+ }%
+ \fi
+ \fi
+ \fi
+ }
+ \def\MT@setup@kerning{%
+ \ifMT@kerning
+ \edef\MT@active@features{\MT@active@features,kn}%
+ \pdfprependkern\@ne
+ \pdfappendkern\@ne
+ \MT@info@nl{Adjustment of character kerning enabled}%
+ \MT@check@active@set{kn}%
+ \else
+ \let\MT@kerning\relax
+ \MT@info@nl{No adjustment of character kerning}%
+ \fi
+ }
+}{
+ \def\MT@error@doesnt@work#1{%
+ \csname ifMT@#1\endcsname
+ \MT@error{The #1 feature only works with pdftex 1.40\MessageBreak
+ or newer. Switching it off}
+ {Upgrade pdftex.}%
+ \csname MT@#1false\endcsname
+ \MT@let@nc{MT@#1}\relax
+ \else
+ \MT@info@nl{No adjustment of #1%
+ \space(pdftex too old)%
+ }%
+ \fi
+ }
+ \def\MT@setup@tracking{\MT@error@doesnt@work{tracking}}
+ \def\MT@setup@kerning {\MT@error@doesnt@work{kerning}}
+ \def\MT@setup@spacing {\MT@error@doesnt@work{spacing}}
+}
+\def\MT@setup@warntracking
+{%
+ \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\MessageBreak
+ able to create the virtual fonts on the fly}%
+ \MT@glet\MT@warn@tracking@DVI\relax
+ }%
+ \else
+ \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
+ \else
+ \MT@ls@too@large\MT@letterspace
+ \fi
+}
+\def\MT@setup@noligatures{%
+ \MT@requires@pdftex5{%
+ \ifMT@noligatures \else
+ \let\MT@noligatures\relax
+ \fi
+ }\relax
+}
+\endinput
+%%
+%% End of file `microtype-pdftex.def'.
diff --git a/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def b/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def
new file mode 100644
index 00000000000..581695e43d5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def
@@ -0,0 +1,480 @@
+%%
+%% This is file `microtype-xetex.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% microtype.dtx (with options: `xetex-def')
+%%
+%% ------------------------------------------------------------------------
+%%
+%% The `microtype' package
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3c of this license or (at
+%% your option) any later version. The latest version of this license is in:
+%% http://www.latex-project.org/lppl.txt, and version 1.3c or later is part
+%% of all distributions of LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `author-maintained'.
+%%
+%% This work consists of the files microtype.dtx and microtype.ins and the
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
+%%
+%% ------------------------------------------------------------------------
+%% This file contains enginge-specific definitions.
+%% ------------------------------------------------------------------------
+%%
+\ProvidesFile
+ {microtype-xetex.def}
+ [2013/03/13 v2.5
+ Definitions specific to
+ xetex
+ (RS)]
+\ifdim 0\XeTeXrevision pt < 0.9997pt
+ \def\MT@xetex@no{1}
+\else
+ \def\MT@xetex@no{2}
+\fi
+\ifnum
+ \csname MT@\MT@engine tex@no\endcsname < 2
+ \MT@warning@nl{You
+ are using a \MT@engine tex version older than
+ 0.9997%
+ .\MessageBreak
+ `\MT@MT' does not work with this version.\MessageBreak
+ Please install a newer version of \MT@engine tex%
+ .\MessageBreak I will quit now}
+ \MT@clear@options
+\endinput\fi
+\def\MT@ifint#1{%
+ \if!\ifnum9<1#1!\else?\fi
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\def\MT@ifdimen#1{%
+ \setbox\z@=\hbox{%
+ \MT@count=1#1\relax
+ \ifnum\MT@count=\@ne
+ \aftergroup\@secondoftwo
+ \else
+ \aftergroup\@firstoftwo
+ \fi
+ }%
+}
+\def\MT@ifstreq#1#2{%
+ \edef\MT@res@a{#1}%
+ \edef\MT@res@b{#2}%
+ \ifx\MT@res@a\MT@res@b
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\def\MT@do@font#1{%
+ \@tempcnta=\z@
+ \MT@loop #1%
+ \advance\@tempcnta \@ne
+ \ifnum\@tempcnta < \XeTeXcountglyphs\MT@font \MT@repeat
+}
+ \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
+ \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
+ \fi
+ }%
+ }{%
+ \MT@warning@nl{%
+ Character protrusion in paragraphs with line\MessageBreak
+ numbering will only work if you update ledmac}%
+ }%
+ \fi
+ }
+\def\MT@setupfont{\MT@setupfont@hook}
+\g@addto@macro\MT@setupfont{%
+ \MT@exp@two@c\MT@split@name\string\MT@font/\@nil
+ \MT@exp@one@n\MT@find@file\MT@family
+ \ifx\MT@familyalias\@empty \else
+ \MT@exp@one@n\MT@find@file\MT@familyalias\fi
+}
+\g@addto@macro\MT@setupfont{%
+ \MT@check@font
+ \ifMT@inlist@
+ \else
+ \MT@vinfo{Setting up font `\MT@@font'\on@line}%
+ \MT@protrusion
+}
+\g@addto@macro\MT@setupfont{%
+ \MT@register@font
+ \fi
+}
+\def\MT@protrusion{\MT@maybe@do{pr}}
+\def\MT@set@pr@codes{%
+ \MT@nofamilyfalse
+ \MT@if@list@exists{%
+ \ifMT@nofamily
+ \MT@ifdefined@n@TF{\MT@encoding-\MT@family-settings}\relax{%
+ \MT@info@nl{Loading generic settings for font family\MessageBreak
+ `\MT@family' (encoding: \MT@encoding).\MessageBreak
+ For optimal results, create family-specific settings.\MessageBreak
+ See the microtype manual for details}%
+ \MT@glet@nc{\MT@encoding-\MT@family-settings}\@empty
+ }%
+ \fi
+ \MT@get@font@dimen@six{%
+ \MT@get@opt
+ \MT@reset@pr@codes
+ \MT@get@inh@list
+ \MT@set@inputenc{c}%
+ \MT@load@list\MT@pr@c@name
+ \MT@set@listname
+ \MT@let@cn\@tempc{MT@pr@c@\MT@pr@c@name}%
+ \expandafter\MT@set@codes\@tempc,\relax,}%
+ }\MT@reset@pr@codes
+}
+\def\MT@get@font@dimen@six{%
+ \ifnum\fontdimen6\MT@font=\z@
+ \MT@warning@nl{%
+ Font `\MT@@font' does not specify its\MessageBreak
+ \@backslashchar fontdimen 6 (width of an `em')! Therefore,\MessageBreak
+ \@nameuse{MT@abbr@\MT@feat} will not work with this font}%
+ \expandafter\@gobble
+ \else
+ \edef\MT@dimen@six{\number\fontdimen6\MT@font}%
+ \expandafter\@firstofone
+ \fi
+}
+\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}}%
+ \MT@ifempty{#2}\relax{\g@addto@macro\MT@temp{\rpcode\MT@font\@tempcnta=#2}}%
+ \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}
+\def\MT@set@codes#1,{%
+ \ifx\relax#1\@empty\else
+ \MT@split@codes #1==\relax
+ \expandafter\MT@set@codes
+ \fi
+}
+\def\MT@split@codes#1=#2=#3\relax{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty \else
+ \MT@get@slot
+ \ifx\MT@char\@empty \else
+ \MT@get@char@unit
+ \csname MT@\MT@feat @split@val\endcsname#2\relax
+ \fi
+ \fi
+}
+\def\MT@pr@split@val#1,#2\relax{%
+ \def\@tempb{#1}%
+ \MT@ifempty\@tempb\relax{%
+ \MT@scale@to@em
+ \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=\MT@the@pr@code
+ }%
+ \MT@ifdefined@c@T\MT@pr@inh@name{%
+ \MT@ifdefined@n@T{MT@inh@\MT@pr@inh@name @\MT@char @}{%
+ \MT@exp@cs\MT@map@tlist@c
+ {MT@inh@\MT@pr@inh@name @\MT@char @}%
+ \MT@set@pr@heirs
+ }%
+ }%
+}
+\def\MT@scale@to@em{%
+ \@tempcntb=\MT@count\relax
+ \MT@scale\@tempcntb \@tempb \MT@dimen@six
+ \ifnum\@tempcntb=\z@ \else
+ \MT@scale@factor
+ \fi
+}
+\def\MT@get@charwd{%
+ \ifnum\MT@char@<\z@
+ \setbox\z@=\hbox{\MT@font \XeTeXglyph-\MT@char@}%
+ \MT@count=\wd\z@
+ \else
+ \MT@count=\fontcharwd\MT@font\MT@char@\relax
+ \fi
+ \ifnum\MT@count=\z@ \MT@info@missing@char \fi
+}
+\def\MT@set@pr@heirs#1{%
+ \lpcode\MT@font #1 =\lpcode\MT@font\MT@char\relax
+ \rpcode\MT@font #1 =\rpcode\MT@font\MT@char\relax
+}
+\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
+}
+\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}%
+}
+\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}%
+}
+\DeclareRobustCommand\lsstyle{%
+ \MT@error{Letterspacing currently doesn't work with xetex}
+ {Run pdftex or luatex, or use the `soul' package instead.}%
+ \MT@glet\lsstyle\relax
+}
+\def\MT@get@slot@{%
+ \ifnum\XeTeXfonttype\MT@font=\z@
+ \ifnum\MT@char > \m@ne
+ \ifMT@norest \else
+ \MT@warn@rest
+ \let\MT@char\@empty
+ \fi
+ \else
+ \MT@warn@unknown
+ \fi
+ \else
+ \ifnum\MT@char=47\relax
+ \ifMT@norest \edef\MT@char{U47}%
+ \else
+ \@tempcnta=\XeTeXglyphindex"\expandafter\@gobble\@tempa"\relax
+ \ifnum\@tempcnta=\z@
+ \MT@warn@unknown
+ \let\MT@char\@empty
+ \else
+ \edef\MT@char{\@tempa\space}%
+ \edef\MT@char@{-\the\@tempcnta}%
+ \fi
+ \fi
+ \else
+ \ifnum\MT@char > \m@ne
+ \ifMT@norest
+ \@tempcnta=\XeTeXcharglyph\MT@char\relax
+ \ifnum\@tempcnta=\z@
+ \MT@info@missing@char
+ \let\MT@char\@empty
+ \else
+ \edef\MT@char{U\MT@char}%
+ \fi
+ \else
+ \MT@warn@rest
+ \let\MT@char\@empty
+ \fi
+ \else
+ \MT@warn@unknown
+ \let\MT@char\@empty
+ \fi
+ \fi
+ \fi
+}
+\def\MT@max@char
+ {1114111 }
+\def\MT@max@slot
+ {1114111 }
+\renewcommand*\DisableLigatures[2][]{%
+ \MT@error{Disabling ligatures of a font is only possible\MessageBreak
+ with pdftex version 1.30 or newer.\MessageBreak
+ Ignoring \string\DisableLigatures}{%
+ Use
+ pdftex.}%
+}
+\def\SetProtrusion{%
+ \MT@begin@catcodes
+ \MT@SetProtrusion
+}
+\newcommand*\MT@SetProtrusion[3][]{%
+ \let\MT@extra@context\@empty
+ \MT@set@named@keys{MT@pr@c}{#1}%
+ \def\MT@permutelist{pr@c}%
+ \setkeys{MT@cfg}{#2}%
+ \MT@permute
+ \MT@gdef@n{MT@pr@c@\MT@pr@c@name}{#3}%
+ \MT@end@catcodes
+}
+ \define@key{MT@pr@c}{context}[]{%
+ \MT@error{Protrusion contexts only work with pdftex
+ \MessageBreak or luatex.
+ Ignoring `context' key\on@line}%
+ {Use pdftex or luatex.}%
+ }
+\define@key{MT@pr@c}{unit}[character]{%
+ \MT@glet@nc{MT@pr@c@\MT@curr@set@name @unit}\@empty
+ \def\@tempa{#1}%
+ \MT@ifstreq\@tempa{character}\relax{%
+ \MT@ifdimen\@tempa
+ {\MT@glet@nc{MT@pr@c@\MT@curr@set@name @unit}\@tempa}%
+ {\MT@warn@nodim{character widths}}%
+ }%
+}
+\def\MT@inh@split#1=#2=#3\relax{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty \else
+ \MT@get@slot
+ \ifx\MT@char\@empty\else
+ \let\MT@val\MT@char
+ \MT@map@clist@n{#2}{%
+ \def\@tempa{##1}%
+ \ifx\@tempa\@empty \else
+ \MT@get@slot
+ \ifx\MT@char\@empty\else
+ \MT@exp@cs\MT@xadd{MT@inh@\MT@listname @\MT@val @}{{\MT@char}}%
+ \fi
+ \fi
+ }%
+ \fi
+ \fi
+}
+\MT@def@bool@opt{DVIoutput}{%
+ \csname if\@tempa\endcsname
+ \MT@warning@nl{Ignoring `DVIoutput' option}%
+ \fi
+}
+ \MT@def@bool@opt{copyfonts}{%
+ \csname if\@tempa\endcsname
+ \MT@error
+ {The `copyfonts' option does not work with xetex}
+ {Use pdftex or luatex instead.}%
+ \fi
+ }
+\def\MT@define@optionX#1#2{%
+ \define@key{MTX}{#1}[true]{%
+ \edef\@tempb{\csname MT@rbba@#1\endcsname}%
+ \MT@map@clist@n{##1}{%
+ \KV@@sp@def\MT@val{####1}%
+ \MT@ifempty\MT@val\relax{%
+ \@tempcnta=\m@ne
+ \MT@ifstreq\MT@val{true}{%
+ \MT@checksetup{#1}{%
+ \@tempcnta=\csname MT@\@tempb @level\endcsname
+ \MT@vinfo{Enabling #1
+ (level \number\csname MT@\@tempb @level\endcsname)\on@line}%
+ }%
+ }{%
+ \MT@ifstreq\MT@val{false}{%
+ \@tempcnta=\z@
+ \MT@vinfo{Disabling #1\on@line}%
+ }{%
+ \MT@ifstreq\MT@val{compatibility}{%
+ \MT@checksetup{#1}{%
+ \@tempcnta=\@ne
+ \MT@let@nc{MT@\@tempb @level}\@ne
+ \MT@vinfo{Setting #1 to level 1\on@line}%
+ }%
+ }{%
+ \MT@ifstreq\MT@val{nocompatibility}{%
+ \MT@checksetup{#1}{%
+ \@tempcnta=\tw@
+ \MT@let@nc{MT@\@tempb @level}\tw@
+ \MT@vinfo{Setting #1 to level 2\on@line}%
+ }%
+ }{\MT@error{Value `\MT@val' for key `#1' not recognised}
+ {Use any of `true', `false', `compatibility' or
+ `nocompatibility'.}%
+ }%
+ }%
+ }%
+ }%
+ \ifnum\@tempcnta>\m@ne
+ #2\@tempcnta\relax
+ \fi
+ }%
+ }%
+ }%
+}
+\def\MT@checksetup#1{%
+ \csname ifMT@#1\endcsname
+ \expandafter\@firstofone
+ \else
+ \MT@error{You cannot enable #1 if it was disabled\MessageBreak
+ in the package options}{Load microtype with #1 enabled.}%
+ \expandafter\@gobble
+ \fi
+}
+\MT@define@optionX{protrusion}\MT@protrudechars
+\let\MT@protrudechars\XeTeXprotrudechars
+\define@key{MTX}{expansion}[true]{\MT@warning{Ignoring expansion setup}}
+\define@key{MTX}{tracking}[true]{\MT@warning{Ignoring tracking setup}}
+\define@key{MTX}{kerning}[true]{\MT@warning{Ignoring kerning setup}}
+\define@key{MTX}{spacing}[true]{\MT@warning{Ignoring spacing setup}}
+\define@key{MTX}{activate}[true]{%
+ \setkeys{MTX}{protrusion={#1}}%
+}
+\let\MT@setup@PDF\relax
+\let\MT@setup@copies\relax
+\def\MT@setup@protrusion{%
+ \ifMT@protrusion
+ \edef\MT@active@features{\MT@active@features,pr}%
+ \MT@protrudechars\MT@pr@level
+ \MT@info@nl{Character protrusion enabled (level \number\MT@pr@level)%
+ \ifnum\MT@pr@factor=\MT@factor@default \else,\MessageBreak
+ factor: \number\MT@pr@factor\fi
+ \ifx\MT@pr@unit\@empty \else,\MessageBreak unit: \MT@pr@unit\fi}%
+ \MT@check@active@set{pr}%
+ \else
+ \let\MT@protrusion\relax
+ \MT@info@nl{No character protrusion}%
+ \fi
+}
+\def\MT@setup@expansion{%
+ \ifMT@expansion
+ \ifMT@opt@expansion
+ \MT@error{Font expansion does not work with xetex}
+ {Use pdftex or luatex instead.}%
+ \fi
+ \fi
+}
+ \def\MT@error@doesnt@work#1{%
+ \csname ifMT@#1\endcsname
+ \MT@error{The #1 feature only works with pdftex 1.40\MessageBreak
+ or newer. Switching it off}
+ {Use pdftex instead.}%
+ \csname MT@#1false\endcsname
+ \MT@let@nc{MT@#1}\relax
+ \else
+ \MT@info@nl{No adjustment of #1%
+ }%
+ \fi
+ }
+ \def\MT@setup@tracking{\MT@error@doesnt@work{tracking}}
+ \def\MT@setup@kerning {\MT@error@doesnt@work{kerning}}
+ \def\MT@setup@spacing {\MT@error@doesnt@work{spacing}}
+\let\MT@setup@warntracking\relax
+\let\MT@setup@noligatures\relax
+\endinput
+%%
+%% End of file `microtype-xetex.def'.
diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.cfg b/Master/texmf-dist/tex/latex/microtype/microtype.cfg
index c0b735f6294..f1d91115c63 100644
--- a/Master/texmf-dist/tex/latex/microtype/microtype.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/microtype.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is the main configuration file for the `microtype' package.
@@ -39,7 +40,7 @@
%%
\ProvidesFile
{microtype.cfg}
- [2010/01/10 v2.4
+ [2013/03/13 v2.5
microtype main configuration file
(RS)]
@@ -50,37 +51,37 @@
{ }
\DeclareMicrotypeSet{allmath}
- { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1,OML,OMS,U} }
+ { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,EU1,EU2,TS1,OML,OMS,U} }
\DeclareMicrotypeSet{alltext}
- { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1} }
+ { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1,EU1,EU2} }
\DeclareMicrotypeSet{basicmath}
- { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,OML,OMS},
+ { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,EU1,EU2,OML,OMS},
family = {rm*,sf*},
series = {md*},
size = {normalsize,footnotesize,small,large}
}
\DeclareMicrotypeSet{basictext}
- { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5},
+ { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,EU1,EU2},
family = {rm*,sf*},
series = {md*},
size = {normalsize,footnotesize,small,large}
}
\DeclareMicrotypeSet{smallcaps}
- { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1},
+ { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1,EU1,EU2},
shape = {sc*}
}
\DeclareMicrotypeSet{footnotesize}
- { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1},
+ { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1,EU1,EU2},
size = {-small}
}
\DeclareMicrotypeSet{scriptsize}
- { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1},
+ { encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1,EU1,EU2},
size = {-footnotesize}
}
@@ -101,7 +102,13 @@
\DeclareMicrotypeVariants{x,j,w,a,d,0,1}
+\ifMT@fontspec
+\DeclareMicrotypeAlias{lmr} {Latin Modern Roman}
+\else
\DeclareMicrotypeAlias{lmr} {cmr} % lmodern
+\fi
+\DeclareMicrotypeAlias{lmsy}{cmsy}
+\DeclareMicrotypeAlias{lmm} {cmm}
\DeclareMicrotypeAlias{aer} {cmr} % ae
\DeclareMicrotypeAlias{zer} {cmr} % zefonts
\DeclareMicrotypeAlias{cmor}{cmr} % eco
@@ -112,11 +119,19 @@
\DeclareMicrotypeAlias{fp9j}{pplj} % "
\DeclareMicrotypeAlias{txr} {ptm} % txfonts
\DeclareMicrotypeAlias{qtm} {ptm} % TeX Gyre Termes (formerly: qfonts/QuasiTimes)
+\DeclareMicrotypeAlias{TeX Gyre Pagella}{Palatino Linotype}
+\DeclareMicrotypeAlias{Palatino LT Std} {Palatino Linotype}
+\DeclareMicrotypeAlias{Palatino} {Palatino Linotype}
+\DeclareMicrotypeAlias{Asana Math} {Palatino Linotype}
\DeclareMicrotypeAlias{zeur}{eur} % Euler VM
\DeclareMicrotypeAlias{zeus}{eus} % "
\DeclareMicrotypeAlias{chr} {bch} % CH Math
\DeclareMicrotypeAlias{mdbch}{bch} % mathdesign/Charter
\DeclareMicrotypeAlias{mdugm}{ugm} % mathdesign/URW Garamond
+\DeclareMicrotypeAlias{zgmx}{ugm} % garamondx
+\DeclareMicrotypeAlias{zgmj}{ugm} % "
+\DeclareMicrotypeAlias{zgmI}{ugm} % "
+\DeclareMicrotypeAlias{zgmq}{ugm} % "
\DeclareMicrotypeAlias{ulg} {blg} % URW LetterGothic -> Bitstream LetterGothic12Pitch
\DeclareMicrotypeAlias{zpeus} {zpeu} % Adobe Euro sans -> serif
\DeclareMicrotypeAlias{eurosans}{zpeu} % Adobe Euro sans -> serif
@@ -298,13 +313,47 @@
y = {\`y,\'y,\~y,\h y,\d y}
}
+\DeclareCharacterInheritance
+ { encoding = {EU1,EU2} }
+ { A = {\`A,\'A,\^A,\~A,\"A,\r A,\k A,\u A},
+ a = {\`a,\'a,\^a,\~a,\"a,\r a,\k a,\u a},
+ C = {\'C,\c C,\v C},
+ c = {\'c,\c c,\v c},
+ D = {\v D,\DH},
+ d = {\v d,\dj},
+ E = {\`E,\'E,\^E,\"E,\k E,\v E},
+ e = {\`e,\'e,\^e,\"e,\k e,\v e},
+ G = {\u G},
+ g = {\u g},
+ I = {\`I,\'I,\^I,\"I,\.I},
+ i = {\`i,\'i,\^i,\"i,\i},
+ L = {\L,\'L,\v L},
+ l = {\l,\'l,\v l},
+ N = {\'N,\~N,\v N},
+ n = {\'n,\~n,\v n},
+ O = {\O,\`O,\'O,\^O,\~O,\"O,\H O},
+ o = {\o,\`o,\'o,\^o,\~o,\"o,\H o},
+ R = {\'R,\v R},
+ r = {\'r,\v r},
+ S = {\'S,\c S,\v S}, % \SS
+ s = {\'s,\c s,\v s},
+ T = {\c T,\v T},
+ t = {\c t,\v t},
+ U = {\`U,\'U,\^U,\"U,\H U,\r U},
+ u = {\`u,\'u,\^u,\"u,\H u,\r u},
+ Y = {\'Y,\"Y},
+ y = {\'y,\"y},
+ Z = {\'Z,\.Z,\v Z},
+ z = {\'z,\.z,\v z}
+ }
+
%%% -----------------------------------------------------------------------
%%% TRACKING/LETTERSPACING
\SetTracking
[ name = default,
no ligatures = {f} ]
- { encoding = {OT1,T1,T2A,LY1,OT4,QX} }
+ { encoding = {OT1,T1,T2A,LY1,OT4,QX,EU2} }
{ }
%%% -----------------------------------------------------------------------
@@ -490,7 +539,7 @@
\SetProtrusion
[ name = T1-default,
load = default ]
- { encoding = {T1,LY1} }
+ { encoding = {T1,LY1,EU1,EU2} }
{
\AE = {50, },
_ = {100,100},
diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.lua b/Master/texmf-dist/tex/latex/microtype/microtype.lua
index 7590e2095b4..8f800c38598 100644
--- a/Master/texmf-dist/tex/latex/microtype/microtype.lua
+++ b/Master/texmf-dist/tex/latex/microtype/microtype.lua
@@ -9,8 +9,8 @@
-- ------------------------------------------------------------------------
--
-- The `microtype' package
--- An interface to the micro-typographic extensions of pdfTeX
--- Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+-- Subliminal refinements towards typographical perfection
+-- Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
--
-- This work may be distributed and/or modified under the conditions of the
-- LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
-- This work has the LPPL maintenance status `author-maintained'.
--
-- This work consists of the files microtype.dtx and microtype.ins and the
--- derived files microtype.sty, microtype.lua and letterspace.sty.
+-- derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+-- microtype-luatex.def, microtype.lua and letterspace.sty.
--
-- ------------------------------------------------------------------------
-- This file contains auxiliary lua functions.
@@ -36,11 +37,11 @@ microtype = {}
microtype.module = {
name = "microtype",
- version = 2.4,
- date = "2010/01/10",
+ version = 2.5,
+ date = "2013/03/13",
description = "microtype module.",
- author = "R Schlicht",
- copyright = "R Schlicht",
+ author = "Elie Roux & R Schlicht",
+ copyright = "Elie Roux & R Schlicht",
license = "LPPL",
}
@@ -48,7 +49,7 @@ if luatextra and luatextra.provides_module then
luatextra.provides_module(microtype.module)
end
-function microtype.ifint(s)
+function microtype.if_int(s)
if string.find(s,"^-*[0-9]+ *$") then
tex.write("@firstoftwo")
else
@@ -56,7 +57,7 @@ function microtype.ifint(s)
end
end
-function microtype.ifdimen(s)
+function microtype.if_dimen(s)
if (string.find(s, "^-*[0-9]+(%a*) *$") or
string.find(s, "^-*[0-9]*[.,][0-9]+(%a*) *$")) then
tex.write("@firstoftwo")
@@ -65,7 +66,7 @@ function microtype.ifdimen(s)
end
end
-function microtype.ifstreq(s1, s2)
+function microtype.if_str_eq(s1, s2)
if s1 == s2 then
tex.write("@firstoftwo")
else
@@ -73,6 +74,17 @@ function microtype.ifstreq(s1, s2)
end
end
+function microtype.name_to_slot(name)
+ if fonts then
+ local tfmdata = fonts.ids[font.current()]
+ if tfmdata and tfmdata.shared then
+ local otfdata = tfmdata.shared.otfdata
+ local unicode = otfdata.luatex.unicodes[name]
+ return unicode and (type(unicode) == "number" and unicode or unicode[1])
+ end
+ end
+end
+
end
--
--
diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.sty b/Master/texmf-dist/tex/latex/microtype/microtype.sty
index 018f1f958ac..5c925868330 100644
--- a/Master/texmf-dist/tex/latex/microtype/microtype.sty
+++ b/Master/texmf-dist/tex/latex/microtype/microtype.sty
@@ -4,13 +4,13 @@
%%
%% The original source files were:
%%
-%% microtype.dtx (with options: `package,lua')
+%% microtype.dtx (with options: `package')
%%
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,15 +21,16 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage
{microtype}
- [2010/01/10 v2.4
- Micro-typography with pdfTeX
+ [2013/03/13 v2.5
+ Micro-typographical refinements
(RS)]
\def\MT@MT
{microtype}
@@ -90,6 +91,7 @@
\@onlypreamble\DisableLigatures
\@onlypreamble\DeclareMicrotypeVariants
\@onlypreamble\DeclareMicrotypeBabelHook
+\expandafter\let\csname ver@letterspace.sty\endcsname\@empty
\def\MT@old@cmd#1#2{%
\newcommand*#1{\MT@warning{%
\string#1 is deprecated. Please use\MessageBreak
@@ -109,66 +111,43 @@
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@pdftex@no{0}
+\ifcase 0%
+ \ifx\eTeXversion\@undefined 1\else
+ \ifx\eTeXversion\relax 1\else
+ \ifcase\eTeXversion 1\fi
+ \fi
+ \fi
+\else
+ \catcode`\^^Q=9 \catcode`\^^X=14
+\fi
+\def\MT@clear@options{%
+ \AtEndOfPackage{\let\@unprocessedoptions\relax\MT@restore@catcodes}%
+ \let\CurrentOption\@empty
+ \let\MT@endinput\endinput
+}
\ifx\normalpdftexversion\@undefined \else
\let\pdftexversion \normalpdftexversion
\let\pdftexrevision\normalpdftexrevision
\let\pdfoutput \normalpdfoutput
\fi
+\let\MT@engine\relax
\ifx\pdftexversion\@undefined \else
\ifx\pdftexversion\relax \else
- \def\MT@pdftex@no{7}
- \ifnum\pdftexversion = 140
- \ifnum\pdftexrevision < 4
- \def\MT@pdftex@no{6}
- \fi
- \else
- \ifnum\pdftexversion < 140
- \def\MT@pdftex@no{5}
- \ifnum\pdftexversion < 130
- \def\MT@pdftex@no{4}
- \ifnum\pdftexversion < 120
- \def\MT@pdftex@no{3}
- \ifnum\pdftexversion = 14
- \ifnum \expandafter`\pdftexrevision < `h
- \def\MT@pdftex@no{2}
- \ifnum \expandafter`\pdftexrevision < `f
- \def\MT@pdftex@no{1}
- \fi
- \fi
- \else
- \ifnum\pdftexversion < 14
- \def\MT@pdftex@no{1}
- \fi
- \fi
- \fi
- \fi
+ \def\MT@engine{pdf}
+ \ifx\directlua\@undefined \else
+ \ifx\directlua\relax \else
+ \def\MT@engine{lua}
\fi
\fi
\fi
\fi
-\def\MT@clear@options{%
- \AtEndOfPackage{\let\@unprocessedoptions\relax}%
- \let\CurrentOption\@empty
-}
-\ifnum\MT@pdftex@no <
- 2
- \MT@warning@nl{You
- \ifcase\MT@pdftex@no
- don't seem to be using pdftex.\MessageBreak
- `\MT@MT' only works with pdftex.\MessageBreak
- Try running `pdflatex' instead of
- `\ifx\XeTeXversion\@undefined\else xe\fi latex'%
- \else
- are using a pdftex version older than
- 0.14f%
- .\MessageBreak
- `\MT@MT' does not work with this version.\MessageBreak
- Please install a newer version of pdftex%
+\ifx\MT@engine\relax
+ \ifx\XeTeXversion\@undefined \else
+ \ifx\XeTeXversion\relax \else
+ \def\MT@engine{xe}
\fi
- }
- \MT@clear@options\MT@restore@catcodes
-\endinput\fi
+ \fi
+\fi
\RequirePackage{keyval}[1997/11/10]
\newtoks\MT@toks
\newif\ifMT@if@
@@ -207,41 +186,9 @@
\def\MT@factor@default{1000 }
\def\MT@stretch@default{20 }
\def\MT@shrink@default{20 }
-\def\MT@step@default{4 }
\let\MT@letterspace\m@ne
\def\MT@letterspace@default{100}
\newif\ifMT@document
-\ifcase 0%
- \ifx\eTeXversion\@undefined 1\else
- \ifx\eTeXversion\relax 1\else
- \ifcase\eTeXversion 1\fi
- \fi
- \fi
-\else
- \catcode`\^^Q=9 \catcode`\^^X=14
-\fi
-\def\MT@requires@pdftex#1{%
- \ifnum\MT@pdftex@no<#1 \expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi
-}
-\let\MT@requires@luatex\@secondoftwo
-\ifx\directlua\@undefined \else
- \ifx\directlua\relax \else
- \let\MT@requires@luatex\@firstoftwo
- \fi
-\fi
-\MT@requires@luatex{
-\ifnum\luatexversion<36
- \def\MT@lua{\directlua0}
-\else
- \def\MT@lua{\directlua}
-\fi
-\MT@lua{
- if (luatextra and luatextra.use_module) then
- luatextra.use_module("microtype")
- else
- dofile(kpse.find_file("microtype.lua"))
- end}
-}\relax
\def\MT@glet{\global\let}
\def\MT@exp@cs#1#2{\expandafter#1\csname#2\endcsname}
\def\MT@exp@gcs#1#2{\begingroup\expandafter\endgroup\expandafter#1\csname#2\endcsname}
@@ -303,52 +250,6 @@
\fi
}
\endgroup
-\MT@requires@pdftex6{
- \MT@requires@luatex{
- \def\MT@ifint#1{\csname\MT@lua{microtype.ifint([[#1]])}\endcsname}
- }{
- \def\MT@ifint#1{%
- \ifcase\pdfmatch{^-*[0-9]+ *$}{#1}\relax
- \expandafter\@secondoftwo
- \else
- \expandafter\@firstoftwo
- \fi
- }
- }
-}{
- \def\MT@ifint#1{%
- \if!\ifnum9<1#1!\else?\fi
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
- }
-}
-\MT@requires@pdftex6{
- \MT@requires@luatex{
- \def\MT@ifdimen#1{\csname\MT@lua{microtype.ifdimen([[#1]])}\endcsname}
- }{
- \def\MT@ifdimen#1{%
- \ifcase\pdfmatch{^([0-9]+([.,][0-9]+)?|[.,][0-9]+)%
- (em|ex|cm|mm|in|pc|pt|dd|cc|bp|sp|nd|nc|px)? *$}{#1}\relax
- \expandafter\@secondoftwo
- \else
- \expandafter\@firstoftwo
- \fi
- }
- }
-}{
- \def\MT@ifdimen#1{%
- \setbox\z@=\hbox{%
- \MT@count=1#1\relax
- \ifnum\MT@count=\@ne
- \aftergroup\@secondoftwo
- \else
- \aftergroup\@firstoftwo
- \fi
- }%
- }
-}
\def\MT@ifdim#1#2#3{%
\ifdim #1\p@ #2 #3\p@
\expandafter\@firstoftwo
@@ -356,29 +257,6 @@
\expandafter\@secondoftwo
\fi
}
-\MT@requires@pdftex5{
- \MT@requires@luatex{
- \def\MT@ifstreq#1#2{\csname\MT@lua{microtype.ifstreq([[#1]],[[#2]])}\endcsname}
- }{
- \def\MT@ifstreq#1#2{%
- \ifcase\pdfstrcmp{#1}{#2}\relax
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
- }
- }
-}{
- \def\MT@ifstreq#1#2{%
- \edef\MT@res@a{#1}%
- \edef\MT@res@b{#2}%
- \ifx\MT@res@a\MT@res@b
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
- }
-}
\def\MT@xadd#1#2{%
\ifx#1\relax
\xdef#1{#2}%
@@ -480,7 +358,6 @@
\advance\@tempcnta \@ne
\ifnum\@tempcnta < #2\MT@repeat
}
-\def\MT@do@font{\MT@while@num\z@\@cclvi}
\newcount\MT@count
\def\MT@increment#1{%
^^X \edef#1{\number\numexpr #1 + 1\relax}%
@@ -532,7 +409,7 @@
\@ifl@aded{tex}{wordcount}{%
\MT@warning@nl{Detected the `wordcount' utility.\MessageBreak
Disabling `\MT@MT', since it wouldn't work}%
- \MT@clear@options\MT@restore@catcodes\endinput}\relax
+ \MT@clear@options\endinput}\relax
\let\MT@setup@\@empty
\def\MT@addto@setup{\g@addto@macro\MT@setup@}
\def\MT@with@package@T#1{\@ifpackageloaded{#1}\@firstofone\@gobble}
@@ -543,42 +420,13 @@
\ifMT@inlist@\expandafter\@gobble\fi
}\@gobble
}
-\MT@let@nc{ver@letterspace.sty}\@empty
-\MT@requires@pdftex5{
- \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
- \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
- \fi
- }%
- }{%
- \MT@warning@nl{%
- Character protrusion in paragraphs with line\MessageBreak
- numbering will only work if you update ledmac}%
- }%
- \fi
- }
-}{
- \def\MT@ledmac@setup{%
- \ifMT@protrusion
- \MT@warning@nl{%
- The pdftex version you are using does not allow\MessageBreak
- character protrusion in paragraphs with line\MessageBreak
- numbering by the `ledmac' package.\MessageBreak
- Upgrade pdftex to version 1.30 or later}%
- \fi
- }
-}
\def\MT@restore@p@h{\chardef\%`\% \chardef\#`\# }
+\newif\ifMT@xunicode
+\newif\ifMT@fontspec
+\MT@with@package@T{xunicode}\MT@xunicodetrue
+\MT@with@package@T{fontspec}\MT@fontspectrue
\def\MT@setupfont@hook{%
+ \ifMT@fontspec\MT@font\fi
\MT@if@false
\MT@with@babel@and@T{spanish} \MT@if@true
\MT@with@babel@and@T{galician}\MT@if@true
@@ -587,8 +435,9 @@
\MT@with@package@T{csquotes}{%
\@ifpackagelater{csquotes}{2005/05/11}\@disablequotes\relax}%
\MT@if@false
- \MT@with@package@T{hyperref}\MT@if@true
- \MT@with@package@T{tex4ht} \MT@if@true
+ \MT@with@package@T{hyperref} \MT@if@true
+ \MT@with@package@T{tex4ht} \MT@if@true
+ \MT@with@package@T{mathastext}\MT@if@true
\ifMT@if@\MT@restore@p@h\fi
}
\MT@addto@setup{%
@@ -600,7 +449,12 @@ So does the `\MT@MT' package. Using both packages at the same\MessageBreak
time will almost certainly lead to undesired results. Have your choice!}%
}%
\MT@with@package@T{ledmac}\MT@ledmac@setup
+ \MT@with@package@T{xunicode}\MT@xunicodetrue
+ \MT@with@package@T{fontspec}\MT@fontspectrue
\let\MT@setupfont@hook\@empty
+ \ifMT@fontspec
+ \g@addto@macro\MT@setupfont@hook{\MT@font}%
+ \fi
\MT@if@false
\MT@with@babel@and@T{spanish} \MT@if@true
\MT@with@babel@and@T{galician}\MT@if@true
@@ -630,6 +484,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@if@true
}%
\MT@with@package@T{tex4ht}\MT@if@true
+ \MT@with@package@T{mathastext}\MT@if@true
\ifMT@if@\g@addto@macro\MT@setupfont@hook\MT@restore@p@h\fi
\MT@with@package@T{listings}{%
\g@addto@macro\MT@cfg@catcodes{%
@@ -639,6 +494,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
}%
\g@addto@macro\MT@setupfont@hook{%
\catcode`\\\z@
+ \def\space{ }%
\let\lst@ProcessLetter\@empty
}%
}%
@@ -662,66 +518,13 @@ time will almost certainly lead to undesired results. Have your choice!}%
}%
}
\expandafter\ifx\the\font\nullfont\normalfont\fi
-\def\MT@setupfont{\MT@setupfont@hook}
-\MT@requires@pdftex7
- {\g@addto@macro\MT@setupfont\MT@copy@font}\relax
-\g@addto@macro\MT@setupfont{%
- \MT@exp@two@c\MT@split@name\string\MT@font/\@nil
- \MT@exp@one@n\MT@find@file\MT@family
- \ifx\MT@familyalias\@empty \else
- \MT@exp@one@n\MT@find@file\MT@familyalias\fi
-}
-\MT@requires@pdftex6
- {\g@addto@macro\MT@setupfont\MT@tracking}\relax
-\g@addto@macro\MT@setupfont{%
- \MT@check@font
- \ifMT@inlist@
- \else
- \MT@vinfo{Setting up font `\MT@@font'\on@line}%
- \MT@protrusion
- \MT@expansion
-}
-\MT@requires@pdftex6
- {\g@addto@macro\MT@setupfont{\MT@spacing\MT@kerning}}\relax
-\MT@requires@pdftex5
- {\g@addto@macro\MT@setupfont\MT@noligatures}\relax
-\g@addto@macro\MT@setupfont{%
- \MT@register@font
- \fi
-}
-\let\MT@copy@font\relax
-\MT@requires@pdftex7{
-\def\MT@copy@font@{%
- \xdef\MT@font@copy{\csname\MT@@font/\MT@pr@context/\MT@ex@context\endcsname}%
- \expandafter\ifx\MT@font@copy\relax
- \edef\MT@font@orig{\csname\expandafter\string\font@name @orig\endcsname}%
- \expandafter\ifx\MT@font@orig\relax
- \MT@exp@two@c\MT@glet\MT@font@orig\font@name
- \else
- \MT@exp@two@c\let\font@name\MT@font@orig
- \fi
- \global\MT@exp@two@c\pdfcopyfont\MT@font@copy\font@name
- \MT@map@clist@c\MT@active@features{%
- \MT@exp@cs\ifx{MT@\@nameuse{MT@abbr@##1}}\relax\else
- \def\@tempa{##1}%
- \MT@exp@cs\MT@map@tlist@c{MT@##1@doc@contexts}\MT@rem@from@list
- \fi
- }%
- \fi
- \MT@exp@two@c\let\MT@font\MT@font@copy
- \let\font@name\MT@font@copy
- \aftergroup\let\aftergroup\font@name\aftergroup\MT@font@copy
-}
-\def\MT@rem@from@list#1{%
- \MT@exp@cs\ifx{MT@\@tempa @#1font@list}\relax\else
- \expandafter\MT@exp@one@n\expandafter\MT@rem@from@clist\expandafter
- \MT@font \csname MT@\@tempa @#1font@list\endcsname
- \fi
-}
-}\relax
\def\MT@split@name#1/#2/#3/#4/#5/#6\@nil{%
\def\MT@encoding{#1}%
- \def\MT@family {#2}%
+ \ifMT@fontspec
+ \edef\MT@family{\MT@scrubfeature#2()\relax}%
+ \else
+ \def\MT@family{#2}%
+ \fi
\def\MT@series {#3}%
\def\MT@shape {#4}%
\def\MT@size {#5}%
@@ -729,6 +532,13 @@ time will almost certainly lead to undesired results. Have your choice!}%
{\MT@let@cn\MT@familyalias{MT@\MT@family @alias}}%
{\let\MT@familyalias\@empty}%
}
+\def\MT@scrubfeature#1(#2)#3\relax{#1}
+\def\MT@scrubfeatures#1(#2)#3\relax{%
+ #1%
+ \ifx\relax#3\relax\else
+ \MT@scrubfeatures#3\relax
+ \fi
+}
\newif\ifMT@do
\def\MT@maybe@do#1{%
\csname ifMT@\csname MT@abbr@#1\endcsname\endcsname
@@ -811,110 +621,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\fi
}%
}
-\def\MT@protrusion{\MT@maybe@do{pr}}
-\def\MT@set@pr@codes{%
- \MT@if@list@exists{%
- \MT@get@font@dimen@six{%
- \MT@get@opt
- \MT@reset@pr@codes
- \MT@get@inh@list
- \MT@set@inputenc{c}%
- \MT@load@list\MT@pr@c@name
- \MT@set@listname
- \MT@let@cn\@tempc{MT@pr@c@\MT@pr@c@name}%
- \expandafter\MT@set@codes\@tempc,\relax,}%
- }\MT@reset@pr@codes
-}
-\def\MT@get@font@dimen@six{%
- \ifnum\fontdimen6\MT@font=\z@
- \MT@warning@nl{%
- Font `\MT@@font' does not specify its\MessageBreak
- \@backslashchar fontdimen 6 (width of an `em')! Therefore,\MessageBreak
- \@nameuse{MT@abbr@\MT@feat} will not work with this font}%
- \expandafter\@gobble
- \else
- \edef\MT@dimen@six{\number\fontdimen6\MT@font}%
- \expandafter\@firstofone
- \fi
-}
-\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@set@codes#1,{%
- \ifx\relax#1\@empty\else
- \MT@split@codes #1==\relax
- \expandafter\MT@set@codes
- \fi
-}
-\def\MT@split@codes#1=#2=#3\relax{%
- \def\@tempa{#1}%
- \ifx\@tempa\@empty \else
- \MT@get@slot
- \ifnum\MT@char > \m@ne
- \MT@get@char@unit
- \csname MT@\MT@feat @split@val\endcsname#2\relax
- \fi
- \fi
-}
-\def\MT@pr@split@val#1,#2\relax{%
- \def\@tempb{#1}%
- \MT@ifempty\@tempb\relax{%
- \MT@scale@to@em
- \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=\MT@the@pr@code
- }%
- \MT@ifdefined@c@T\MT@pr@inh@name{%
- \MT@ifdefined@n@T{MT@inh@\MT@pr@inh@name @\MT@char @}{%
- \MT@exp@cs\MT@map@tlist@c
- {MT@inh@\MT@pr@inh@name @\MT@char @}%
- \MT@set@pr@heirs
- }%
- }%
-}
-\MT@requires@pdftex3{
- \def\MT@scale@to@em{%
- \@tempcntb=\MT@count\relax
- \MT@scale\@tempcntb \@tempb \MT@dimen@six
- \ifnum\@tempcntb=\z@ \else
- \MT@scale@factor
- \fi
- }
- \def\MT@get@charwd{%
-^^X \MT@count=\fontcharwd\MT@font\MT@char\relax
-^^Q \setbox\z@=\hbox{\MT@font \char\MT@char}%
-^^Q \MT@count=\wd\z@
- \ifnum\MT@count=\z@ \MT@info@missing@char \fi
- }
- \MT@requires@pdftex6{
- \g@addto@macro\MT@get@charwd{%
- \MT@ifdefined@c@T\MT@letterspace@
- {\advance\MT@count -\dimexpr\MT@letterspace@ sp *\dimexpr 1em/1000\relax}%
- }
- }\relax
-}{
- \def\MT@scale@to@em{%
- \MT@count=\@tempb\relax
- \ifnum\MT@count=\z@ \else
- \MT@scale@factor
- \fi
- }
- \def\MT@get@charwd{\MT@count=\MT@dimen@six}
-}
+\newif\ifMT@nofamily
\def\MT@get@font@dimen#1{%
\ifnum\fontdimen#1\MT@font=\z@
\MT@warning@nl{Font `\MT@@font' does not specify its\MessageBreak
@@ -926,7 +633,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
\def\MT@info@missing@char{%
\MT@info@nl{Character `\the\MT@toks'
-^^X \iffontchar\MT@font\MT@char
+^^X \iffontchar\MT@font\MT@char@
has a width of 0pt
^^X \else is missing\fi
^^Q \MessageBreak (it's probably missing)
@@ -1054,554 +761,13 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@cfg@catcodes
\inputencoding{\@nameuse{\@tempa}}%
}
-\def\MT@set@pr@heirs#1{%
- \lpcode\MT@font#1=\lpcode\MT@font\MT@char
- \rpcode\MT@font#1=\rpcode\MT@font\MT@char
-}
-\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
-}
-\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}%
-}
-\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}%
-}
-\def\MT@expansion{\MT@maybe@do{ex}}
-\def\MT@set@ex@codes@s{%
- \MT@if@list@exists{%
- \MT@get@ex@opt
- \let\MT@get@char@unit\relax
- \MT@reset@ef@codes
- \MT@get@inh@list
- \MT@set@inputenc{c}%
- \MT@load@list\MT@ex@c@name
- \MT@set@listname
- \MT@let@cn\@tempc{MT@ex@c@\MT@ex@c@name}%
- \expandafter\MT@set@codes\@tempc,\relax,%
- \MT@expandfont
- }\relax
-}
\newif\ifMT@nonselected
-\def\MT@set@ex@codes@n{%
- \MT@nonselectedtrue
- \MT@if@list@exists
- \MT@get@ex@opt
- {%
- \let\MT@stretch@ \MT@stretch
- \let\MT@shrink@ \MT@shrink
- \let\MT@step@ \MT@step
- \let\MT@auto@ \MT@auto
- \let\MT@ex@factor@\MT@ex@factor
- }%
- \MT@reset@ef@codes
- \MT@expandfont
- \MT@nonselectedfalse
-}
-\let\MT@set@ex@codes\MT@set@ex@codes@n
-\def\MT@expandfont{%
- \pdffontexpand\MT@font \MT@stretch@ \MT@shrink@ \MT@step@ \MT@auto@\relax
-}
-\def\MT@set@all@ex#1{%
- \MT@do@font{\efcode\MT@font\@tempcnta=#1\relax}%
-}
-\def\MT@reset@ef@codes@{\MT@set@all@ex\MT@ex@factor@}
-\MT@requires@pdftex4{
- \def\MT@reset@ef@codes{%
- \ifnum\MT@ex@factor@=\@m \else
- \MT@reset@ef@codes@
- \fi
- }
-}{
- \let\MT@reset@ef@codes\MT@reset@ef@codes@
-}
-\def\MT@ex@split@val#1\relax{%
- \@tempcntb=#1\relax
- \ifnum\MT@ex@factor@=\@m \else
- \MT@scale\@tempcntb \MT@ex@factor@ \@m
- \fi
- \ifnum\@tempcntb > \MT@ex@max
- \MT@warn@ex@too@large\MT@ex@max
- \else
- \ifnum\@tempcntb < \MT@ex@min
- \MT@warn@ex@too@large\MT@ex@min
- \fi
- \fi
- \efcode\MT@font\MT@char=\@tempcntb
- \MT@ifdefined@c@T\MT@ex@inh@name{%
- \MT@ifdefined@n@T{MT@inh@\MT@ex@inh@name @\MT@char @}{%
- \MT@exp@cs\MT@map@tlist@c{MT@inh@\MT@ex@inh@name @\MT@char @}\MT@set@ex@heirs
- }%
- }%
-}
-\def\MT@warn@ex@too@large#1{%
- \MT@warning@nl{Expansion factor \number\@tempcntb\space too large for
- character\MessageBreak `\the\MT@toks' in \MT@curr@list@name.\MessageBreak
- Setting it to the maximum of \number#1}%
- \@tempcntb=#1\relax
-}
-\def\MT@get@ex@opt{%
- \MT@set@listname
- \MT@ifdefined@n@TF{MT@ex@c@\MT@ex@c@name @factor}{%
- \MT@let@cn\MT@ex@factor@{MT@ex@c@\MT@ex@c@name @factor}%
- \MT@vinfo{... : Multiplying expansion factors by \number\MT@ex@factor@/1000}%
- }{%
- \let\MT@ex@factor@\MT@ex@factor
- }%
- \MT@get@ex@opt@{stretch}{Setting stretch limit to \number\MT@stretch@}%
- \MT@get@ex@opt@{shrink} {Setting shrink limit to \number\MT@shrink@}%
- \MT@get@ex@opt@{step} {Setting expansion step to \number\MT@step@}%
- \def\@tempa{autoexpand}%
- \MT@get@ex@opt@{auto}{\ifx\@tempa\MT@auto@ En\else Dis\fi abling automatic expansion}%
- \MT@ifdefined@n@T{MT@ex@c@\MT@ex@c@name @preset}{%
- \MT@preset@ex
- \let\MT@reset@ef@codes\relax
- }%
-}
-\def\MT@get@ex@opt@#1#2{%
- \MT@ifdefined@n@TF{MT@ex@c@\MT@ex@c@name @#1}{%
- \MT@let@nn{MT@#1@}{MT@ex@c@\MT@ex@c@name @#1}%
- \MT@vinfo{... : #2}%
- }{%
- \MT@let@nn{MT@#1@}{MT@#1}%
- }%
-}
-\def\MT@set@ex@heirs#1{%
- \efcode\MT@font#1=\efcode\MT@font\MT@char
-}
-\def\MT@preset@ex{%
- \@tempcntb=\csname MT@ex@c@\MT@ex@c@name @preset\endcsname\relax
- \MT@scale@factor
- \MT@set@all@ex\@tempcntb
-}
-\MT@requires@pdftex6{
-\def\MT@spacing{\MT@maybe@do{sp}}
-\def\MT@set@sp@codes{%
- \MT@if@list@exists{%
- \MT@get@font@dimen@six{%
- \MT@get@opt
- \MT@reset@sp@codes
- \MT@get@inh@list
- \MT@set@inputenc{c}%
- \MT@load@list\MT@sp@c@name
- \MT@set@listname
- \MT@let@cn\@tempc{MT@sp@c@\MT@sp@c@name}%
- \expandafter\MT@set@codes\@tempc,\relax,}%
- }\MT@reset@sp@codes
-}
-\def\MT@sp@split@val#1,#2,#3\relax{%
- \def\@tempb{#1}%
- \MT@ifempty\@tempb\relax{%
- \MT@get@space@unit2%
- \MT@scale@to@em
- \knbscode\MT@font\MT@char=\@tempcntb
- }%
- \def\@tempb{#2}%
- \MT@ifempty\@tempb\relax{%
- \MT@get@space@unit3%
- \MT@scale@to@em
- \stbscode\MT@font\MT@char=\@tempcntb
- }%
- \def\@tempb{#3}%
- \MT@ifempty\@tempb\relax{%
- \MT@get@space@unit4%
- \MT@scale@to@em
- \shbscode\MT@font\MT@char=\@tempcntb
- }%
- \MT@ifdefined@c@T\MT@sp@inh@name{%
- \MT@ifdefined@n@T{MT@inh@\MT@sp@inh@name @\MT@char @}{%
- \MT@exp@cs\MT@map@tlist@c{MT@inh@\MT@sp@inh@name @\MT@char @}\MT@set@sp@heirs
- }%
- }%
-}
-\def\MT@set@sp@heirs#1{%
- \knbscode\MT@font#1=\knbscode\MT@font\MT@char
- \stbscode\MT@font#1=\stbscode\MT@font\MT@char
- \shbscode\MT@font#1=\shbscode\MT@font\MT@char
-}
-\def\MT@set@all@sp#1#2#3{%
- \let\MT@temp\@empty
- \MT@ifempty{#1}\relax{\g@addto@macro\MT@temp{\knbscode\MT@font\@tempcnta=#1\relax}}%
- \MT@ifempty{#2}\relax{\g@addto@macro\MT@temp{\stbscode\MT@font\@tempcnta=#2\relax}}%
- \MT@ifempty{#3}\relax{\g@addto@macro\MT@temp{\shbscode\MT@font\@tempcnta=#3\relax}}%
- \MT@do@font\MT@temp
-}
-\def\MT@reset@sp@codes@{\MT@set@all@sp\z@\z@\z@}
-\let\MT@reset@sp@codes\relax
-\def\MT@preset@sp{%
- \expandafter\expandafter\expandafter\MT@preset@sp@
- \csname MT@sp@c@\MT@sp@c@name @preset\endcsname\@nil
-}
-\def\MT@preset@sp@#1,#2,#3\@nil{%
- \ifx\MT@sp@unit@\@empty
- \MT@warn@preset@towidth{sp}%
- \MT@ifempty{#1}{\let\@tempa\@empty}{\MT@preset@aux@factor{#1}\@tempa}%
- \MT@ifempty{#2}{\let\@tempc\@empty}{\MT@preset@aux@factor{#2}\@tempc}%
- \MT@ifempty{#3}{\let\@tempb\@empty}{\MT@preset@aux@factor{#3}\@tempb}%
- \else
- \MT@ifempty{#1}{\let\@tempa\@empty}{\MT@preset@aux@space2{#1}\@tempa}%
- \MT@ifempty{#2}{\let\@tempc\@empty}{\MT@preset@aux@space3{#2}\@tempc}%
- \MT@ifempty{#3}{\let\@tempb\@empty}{\MT@preset@aux@space4{#3}\@tempb}%
- \fi
- \MT@set@all@sp\@tempa\@tempc\@tempb
-}
-}\relax
-\MT@requires@pdftex6{
-\def\MT@kerning{\MT@maybe@do{kn}}
-\def\MT@set@kn@codes{%
- \MT@if@list@exists{%
- \MT@get@font@dimen@six{%
- \MT@get@opt
- \MT@reset@kn@codes
- \MT@get@inh@list
- \MT@set@inputenc{c}%
- \MT@load@list\MT@kn@c@name
- \MT@set@listname
- \MT@let@cn\@tempc{MT@kn@c@\MT@kn@c@name}%
- \expandafter\MT@set@codes\@tempc,\relax,}%
- }\MT@reset@kn@codes
-}
-\def\MT@kn@split@val#1,#2\relax{%
- \def\@tempb{#1}%
- \MT@ifempty\@tempb\relax{%
- \MT@get@space@unit2%
- \MT@scale@to@em
- \knbccode\MT@font\MT@char=\@tempcntb
- }%
- \def\@tempb{#2}%
- \MT@ifempty\@tempb\relax{%
- \MT@get@space@unit2%
- \MT@scale@to@em
- \knaccode\MT@font\MT@char=\@tempcntb
- }%
- \MT@ifdefined@c@T\MT@kn@inh@name{%
- \MT@ifdefined@n@T{MT@inh@\MT@kn@inh@name @\MT@char @}{%
- \MT@exp@cs\MT@map@tlist@c{MT@inh@\MT@kn@inh@name @\MT@char @}\MT@set@kn@heirs
- }%
- }%
-}
-\def\MT@set@kn@heirs#1{%
- \knbccode\MT@font#1=\knbccode\MT@font\MT@char
- \knaccode\MT@font#1=\knaccode\MT@font\MT@char
-}
-\def\MT@set@all@kn#1#2{%
- \let\MT@temp\@empty
- \MT@ifempty{#1}\relax{\g@addto@macro\MT@temp{\knbccode\MT@font\@tempcnta=#1\relax}}%
- \MT@ifempty{#2}\relax{\g@addto@macro\MT@temp{\knaccode\MT@font\@tempcnta=#2\relax}}%
- \MT@do@font\MT@temp
-}
-\def\MT@reset@kn@codes@{\MT@set@all@kn\z@\z@}
-\let\MT@reset@kn@codes\relax
-\def\MT@preset@kn{%
- \expandafter\expandafter\expandafter\MT@preset@kn@
- \csname MT@kn@c@\MT@kn@c@name @preset\endcsname\@nil
-}
-\def\MT@preset@kn@#1,#2\@nil{%
- \ifx\MT@kn@unit@\@empty
- \MT@warn@preset@towidth{kn}%
- \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@kn\@tempa\@tempb
-}
-}\relax
-\MT@requires@pdftex6{
-\let\MT@tr@font@list\@empty
-\def\MT@tracking@{%
- \MT@exp@one@n\MT@in@clist\MT@font\MT@tr@font@list
- \ifMT@inlist@\else
- \MT@maybe@do{tr}%
- \ifMT@do\else
- \xdef\MT@tr@font@list{\MT@tr@font@list\MT@font,}%
- \fi
- \fi
-}
-\let\MT@tracking
- \MT@tracking@
-\def\MT@set@tr@codes{%
- \MT@vinfo{Tracking font `\MT@@font'\on@line}%
- \MT@get@font@dimen@six{%
- \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@
- \MT@set@tr@zero
- \else
- \MT@vinfo{... Tracking by \number\MT@letterspace@}%
- \MT@warn@tracking@DVI
- \xdef\MT@lsfont{\csname\expandafter\string\font@name
- /\number\MT@letterspace@ ls\endcsname}%
- \expandafter\ifx\MT@lsfont\relax
- \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}%
- {\edef\@tempa{\MT@letterspace@*,,}}%
- \MT@ifdefined@c@TF\MT@tr@ospace
- {\edef\@tempa{\@tempa,\MT@tr@ospace}}%
- {\edef\@tempa{\@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
- \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
- \aftergroup\MT@set@lsfont
- \let\MT@font\MT@lsfont
- \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}%
- \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@ls@aftergroup
- \fi
- }%
-}
\MT@addto@setup{%
\@ifpackageloaded{tikz}
{\def\MT@ls@aftergroup{%
\ifnum\tikz@expandcount>\z@ \else
\MT@set@curr@os\MT@set@curr@ok\expandafter\MT@tr@outer@r\fi}}
{\def\MT@ls@aftergroup{\MT@set@curr@os\MT@set@curr@ok\MT@tr@outer@r}}}
-\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{%
- \not@math@alphabet\lsstyle\textls
- \def\MT@feat{tr}%
- \let\MT@tracking\MT@set@tr@codes
- \selectfont
-}
-\DeclareRobustCommand\lslig[1]{%
- {\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{%
- \xdef\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
- \else
- \MT@exp@two@c\let\font@name\MT@ls@basefont
- \fi
-}
-\def\MT@set@lsbasefont{\MT@exp@two@c\let\font@name\MT@ls@basefont}
-\def\MT@set@tr@zero{%
- \xdef\MT@ls@basefont{\csname\expandafter\string\font@name @base\endcsname}%
- \expandafter\ifx\MT@ls@basefont\relax \else
- \aftergroup\MT@set@lsbasefont
- \fi
-}
-\MT@requires@pdftex7{
- \def\MT@tr@noligatures{%
- \ifx\MT@tr@ligatures\@empty
- \MT@noligatures@\MT@lsfont\@undefined
- \else
- \MT@noligatures@\MT@lsfont\MT@tr@ligatures
- \fi
- }
-}{
- \def\MT@tr@noligatures{%
- \MT@warning@nl{%
- Disabling selected ligatures is only possible since\MessageBreak
- pdftex 1.40.4. Disabling all ligatures instead}%
- \MT@glet\MT@tr@noligatures\relax
- }
-}
-\newskip\MT@outer@space
-\def\MT@tr@set@space#1,#2,#3,#4,#5,#6,{%
- \let\MT@temp\@empty
- \MT@tr@set@space@{#1}{#4}{2}\@empty
- \MT@tr@set@space@{#2}{#5}{3}\@plus
- \MT@tr@set@space@{#3}{#6}{4}\@minus
- \MT@glet@nc{MT@outer@space\expandafter\string\font@name}\MT@temp
-}
-\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@set@space@@{#1}{#3}{1000}%
- \edef\MT@temp{\MT@temp#4\the\@tempdima}%
- \fontdimen#3\MT@lsfont=\@tempdima
- }%
- }{%
- \MT@tr@set@space@@{#2}{#3}{2000}%
- \edef\MT@temp{\MT@temp#4\the\@tempdima}%
- \MT@ifempty{#1}\relax{%
- \MT@tr@set@space@@{#1}{#3}{1000}%
- \fontdimen#3\MT@lsfont=\@tempdima
- }%
- }%
-}
-\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}
- {\@tempcntb=#1\relax}%
- \@tempdima=\dimexpr \dimexpr\@tempcntb sp*\MT@dimen@six/1000\relax
- -\fontdimen#2\MT@lsfont\relax
- \ifnum#2=\tw@
- \advance\@tempdima -\dimexpr\MT@letterspace@ sp*\MT@dimen@six/#3\relax
- \fi
- \@tempdima=\dimexpr \fontdimen#2\MT@lsfont+\@tempdima\relax
- }{%
- \MT@ifempty\@tempa{\let\@tempa\MT@letterspace@}\relax
- \@tempdima=\dimexpr \numexpr1000+\@tempa sp *\fontdimen#2\MT@lsfont/1000\relax
- }%
-}
-\def\MT@tr@outer@l{%
- \ifhmode
- \ifdim\lastskip>5sp
- \edef\x{\the\lastskip minus 0pt}%
- \setbox\z@\hbox{\MT@outer@space=\x}%
- \ifdim\wd\z@>\z@
- \unskip \hskip\MT@outer@space\relax
- \let\MT@ls@outer@k\relax
- \else
- \ifdim\lastskip=%
- \ifnum\spacefactor<2000
- \spaceskip
- \else
- \ifdim\xspaceskip=\z@
- \dimexpr\spaceskip+\fontdimen7\font@name\relax
- \else
- \xspaceskip
- \fi
- \fi
- \unskip \hskip\MT@outer@space\relax
- \let\MT@ls@outer@k\relax
- \fi
- \fi
- \fi
- \fi
-}
-\def\MT@tr@outer@r{%
- \futurelet\MT@tr@outer@next\MT@tr@outer@r@
-}
-\def\MT@tr@outer@r@{%
- \def\MT@temp*{}%
- \ifmmode \else
- \ifnum\currentgrouptype=10 \else
- \def\MT@temp*##1{\ifhmode\hskip\MT@outer@space
- \fi}%
- \ifcat\egroup\noexpand\MT@tr@outer@next
- \ifhmode\unkern\fi\egroup
- \MT@set@curr@ok \MT@set@curr@os
- \def\MT@temp*{\afterassignment\MT@tr@outer@r\let\MT@temp=}%
- \else
- \ifx\maybe@ic\MT@tr@outer@next
- \MT@set@curr@ok \MT@set@curr@os
- \def\MT@temp*{\afterassignment\MT@tr@outer@icr\let\MT@temp=}%
- \else
- \ifx\check@icr\MT@tr@outer@next
- \def\MT@temp*{\aftergroup\MT@tr@outer@r\check@icr\let\MT@temp=}%
- \else
- \ifx\@sptoken\MT@tr@outer@next
- \def\MT@temp* {\ifhmode\hskip\MT@outer@space
- \fi}%
- \else
- \ifx~\MT@tr@outer@next
- \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*{\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\fi\fi
- \MT@temp*%
-}
-\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@
-}
-}{
- \DeclareRobustCommand\lsstyle{%
- \MT@error{Letterspacing only works with pdftex version 1.40\MessageBreak
- or newer}{Upgrade pdftex, or use the `soul' package instead.}%
- \MT@glet\lsstyle\relax
- }
-}
-\MT@requires@luatex{
- \DeclareRobustCommand\lsstyle{%
- \MT@error{Letterspacing currently doesn't work with luatex}
- {Run pdftex, or use the `soul' package instead.}%
- \MT@glet\lsstyle\relax
- }
-}\relax
\DeclareRobustCommand\textls{%
\@ifstar{\let\MT@ls@adjust@\MT@ls@adjust@empty\MT@textls}%
{\let\MT@ls@adjust@\MT@ls@adjust@relax\MT@textls}%
@@ -1623,6 +789,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@ifempty{#1}%
{\let\MT@letterspace@\@undefined}%
{\KV@@sp@def\MT@letterspace@{#1}%
+ \edef\MT@letterspace@{\number\MT@letterspace@}%
\MT@ls@too@large\MT@letterspace@}%
\MT@ls@adjust@
}
@@ -1638,63 +805,6 @@ time will almost certainly lead to undesired results. Have your choice!}%
\fi
}
\newdimen\MT@outer@kern
-\def\MT@tr@set@okern#1,#2,{%
- \let\MT@temp\@empty
- \MT@ifempty{#1}{\MT@tr@set@okern@{*}}{\MT@tr@set@okern@{#1}}%
- \MT@ifempty{#2}{\MT@tr@set@okern@{*}}{\MT@tr@set@okern@{#2}}%
- \MT@glet@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}%
- {\MT@checklist@{##1}}%
- {nl}%
- }%
- \ifMT@do
- \MT@noligatures@\MT@font\MT@nl@ligatures
- \fi
-}
-\def\MT@noligatures@#1#2{%
- \MT@ifdefined@c@TF#2{%
- \MT@ifdefined@c@TF\tagcode{%
- \let\MT@warn@maybe@inputenc\@empty
- \def\MT@curr@list@name{\@backslashchar DisableLigatures}%
- \MT@map@clist@c#2{%
- \KV@@sp@def\@tempa{##1}\MT@get@slot
- \ifnum\MT@char>\m@ne \tagcode#1\MT@char=\m@ne \fi}%
- \MT@vinfo{... Disabling ligatures for characters: #2}%
- }{%
- \pdfnoligatures#1%
- \MT@warning{Cannot disable selected ligatures (pdftex doesn't\MessageBreak
- know \@backslashchar tagcode). Disabling all ligatures of\MessageBreak
- the font instead}%
- }%
- }{%
- \pdfnoligatures#1%
- \MT@vinfo{... Disabling ligatures}%
- }%
-}
-}\relax
\def\MT@load@list#1{%
\edef\@tempa{#1}%
\MT@let@cn\@tempb{MT@\MT@feat @c@\@tempa @load}%
@@ -1799,11 +909,12 @@ time will almost certainly lead to undesired results. Have your choice!}%
{0111}{0110}{0101}{0100}{0011}{0010}{0001}{0000}%
}
\def\MT@next@listname#1#2#3#4{%
+ \ifnum#1=\z@\MT@nofamilytrue\fi
\edef\@tempa{\MT@encoding
- /\ifnum#1=\@ne \MT@family\fi
- /\ifnum#2=\@ne \MT@series\fi
- /\ifnum#3=\@ne \MT@shape\fi
- /\ifnum#4=\@ne *\fi
+/\ifnum#1=\@ne \MT@family \fi
+/\ifnum#2=\@ne \MT@series \fi
+/\ifnum#3=\@ne \MT@shape \fi
+/\ifnum#4=\@ne *\fi
\MT@context}%
\MT@ifdefined@n@TF{MT@\@tempb @\@tempa}{%
\MT@next@listname@#4%
@@ -1895,14 +1006,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\fi
\fi
\let\MT@char\MT@char@
- \ifnum\MT@char < \z@
- \MT@warn@unknown
- \else
- \ifMT@norest \else
- \MT@warn@rest
- \let\MT@char\m@ne
- \fi
- \fi
+ \MT@get@slot@
\escapechar\m@ne
}
\newif\ifMT@norest
@@ -1917,7 +1021,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\ifcat !\noexpand#1\relax
\edef\MT@char@{\number`#1}%
\ifx\\#2\\%
- \ifnum\MT@char@ > 127 \MT@warn@ascii \fi
+ \ifnum\MT@char@ > \MT@max@char \MT@warn@ascii \fi
\else
\MT@norestfalse
\expandafter\MT@is@number#1#2\relax\relax
@@ -1940,7 +1044,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
}\MT@norestfalse
\fi
\fi
- \ifnum\MT@char@ > \@cclv
+ \ifnum\MT@char@ > \MT@max@slot
\MT@warn@number@too@large{\noexpand#1\noexpand#2\noexpand#3}%
\let\MT@char@\m@ne
\fi
@@ -1976,18 +1080,35 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
\begingroup
\catcode`\/=\z@
- /MT@map@tlist@n{/\CHAR}/@makeother
+ /MT@map@tlist@n{/\CHARLEX}/@makeother
/lowercase{%
/def/x{/endgroup
/def/MT@charstring{\CHAR"}%
/def/MT@is@char##1\CHAR"##2##3##4/relax{%
+ /ifx/relax##4/relax
+ /ifMT@xunicode
+ /expandafter/MT@is@charx/MT@strip@prefix##1>/relax\CHAR "%
+ /relax/relax/relax/relax/relax
+ /fi
+ /else
+ /ifx/relax##1/relax
+ /if##3\/relax
+ /edef/MT@char@{/number"##2}%
+ /MT@ifstreq/MT@charstring{##3##4}/relax/MT@norestfalse
+ /else
+ /edef/MT@char@{/number"##2##3}%
+ /MT@ifstreq/MT@charstring{##4}/relax/MT@norestfalse
+ /fi
+ /fi
+ /fi
+ }%
+ /def/MT@charxstring{\CHAR "}%
+ /def/MT@strip@prefix##1>##2/relax{##2}%
+ /def/MT@is@charx##1\CHAR "##2##3##4##5##6/relax{%
/ifx/relax##1/relax
- /if##3\/relax
- /edef/MT@char@{/number"##2}%
- /MT@ifstreq/MT@charstring{##3##4}/relax/MT@norestfalse
- /else
- /edef/MT@char@{/number"##2##3}%
- /MT@ifstreq/MT@charstring{##4}/relax/MT@norestfalse
+ /ifx/relax##6/relax/else
+ /edef/MT@char@{/number"##2##3##4##5}%
+ /MT@ifstreq{\RELAX >\CHAR "}{##6}/relax/MT@norestfalse
/fi
/fi
}%
@@ -2000,6 +1121,13 @@ time will almost certainly lead to undesired results. Have your choice!}%
\string\csname\MT@encoding\endcsname
\MT@detokenize@n{#1}-\MT@detokenize@n{#2}\endcsname}%
\expandafter\expandafter\expandafter\MT@is@letter\MT@char\relax\relax
+ \ifnum\MT@char@ < \z@
+ \ifMT@xunicode
+ \edef\MT@char{\MT@exp@two@c\MT@strip@prefix\meaning\MT@char>\relax}%
+ \expandafter\MT@exp@two@c\expandafter\MT@is@charx\expandafter
+ \MT@char\MT@charxstring\relax\relax\relax\relax\relax
+ \fi
+ \fi
\fi
}
\def\MT@set@listname{%
@@ -2103,8 +1231,9 @@ time will almost certainly lead to undesired results. Have your choice!}%
}%
}
\def\MT@check@font{\MT@exp@one@n\MT@in@clist\MT@font\MT@font@list}
-\def\MT@register@subst@font{\xdef\MT@font@list{\MT@font@list\font@name,}}
\def\MT@register@font{\xdef\MT@font@list{\MT@font@list\MT@font,}}
+\def\MT@register@subst@font{\MT@exp@one@n\MT@in@clist\font@name\MT@font@list
+ \ifMT@inlist@\else\xdef\MT@font@list{\MT@font@list\font@name,}\fi}
\let\MT@active@features\@empty
\def\MT@check@font@cx{%
\MT@if@true
@@ -2121,9 +1250,13 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
\def\MT@register@subst@font@cx{%
\MT@map@clist@c\MT@active@features{%
- \MT@exp@cs\MT@xadd
- {MT@##1@\csname MT@##1@context\endcsname font@list}%
- {\font@name,}%
+ \expandafter\MT@exp@one@n\expandafter\MT@in@clist\expandafter\font@name
+ \csname MT@##1@\csname MT@##1@context\endcsname font@list\endcsname
+ \ifMT@inlist@ \else
+ \MT@exp@cs\MT@xadd
+ {MT@##1@\csname MT@##1@context\endcsname font@list}%
+ {\font@name,}%
+ \fi
}%
}
\def\MT@register@font@cx{%
@@ -2148,6 +1281,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\DeclareRobustCommand\microtypecontext[1]{%
\MT@setup@contexts
\let\MT@reset@context\relax
+ \let\glb@currsize\@empty
\setkeys{MTC}{#1}%
\selectfont
\MT@reset@context
@@ -2256,6 +1390,9 @@ time will almost certainly lead to undesired results. Have your choice!}%
\let\MT@font@sets\@empty
\def\MT@fix@font@set#1{%
\xdef#1{#1}%
+ \ifMT@fontspec
+ \xdef#1{\expandafter\MT@scrubfeatures#1()\relax}%
+ \fi
\global\@onelevel@sanitize#1%
}
\def\MT@define@set@key@size#1{%
@@ -2459,8 +1596,8 @@ time will almost certainly lead to undesired results. Have your choice!}%
}%
}
\renewcommand*\DeclareMicrotypeAlias[2]{%
- \KV@@sp@def\@tempa{#1}%
- \KV@@sp@def\@tempb{#2}%
+ \edef\@tempa{\zap@space#1 \@empty}%
+ \edef\@tempb{\zap@space#2 \@empty}%
\@onelevel@sanitize\@tempb
\MT@ifdefined@n@T{MT@\@tempa @alias}{%
\MT@warning{Alias font family `\@tempb' will override
@@ -2472,7 +1609,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
}%
}
\def\LoadMicrotypeFile#1{%
- \KV@@sp@def\@tempa{#1}%
+ \edef\@tempa{\zap@space#1 \@empty}%
\@onelevel@sanitize\@tempa
\MT@exp@one@n\MT@in@clist\@tempa\MT@file@list
\ifMT@inlist@
@@ -2490,110 +1627,12 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@end@catcodes
\fi
}
-\MT@requires@pdftex5{
-\def\DisableLigatures{%
- \MT@begin@catcodes
- \MT@DisableLigatures
-}
-\newcommand*\MT@DisableLigatures[2][]{%
- \MT@ifempty{#1}\relax{\gdef\MT@nl@ligatures{#1}}%
- \xdef\MT@active@features{\MT@active@features,nl}%
- \global\MT@noligaturestrue
- \MT@declare@sets{nl}{no ligatures}{#2}%
- \gdef\MT@nl@setname{no ligatures}%
- \MT@end@catcodes
-}
-}{
-\renewcommand*\DisableLigatures[2][]{%
- \MT@error{Disabling ligatures of a font is only possible\MessageBreak
- with pdftex version 1.30 or newer.\MessageBreak
- Ignoring \string\DisableLigatures}{Upgrade pdftex.}%
-}
-}
\def\DeclareMicrotypeBabelHook#1#2{%
\MT@map@clist@n{#1}{%
\KV@@sp@def\@tempa{##1}%
\MT@gdef@n{MT@babel@\@tempa}{#2}%
}%
}
-\def\SetProtrusion{%
- \MT@begin@catcodes
- \MT@SetProtrusion
-}
-\newcommand*\MT@SetProtrusion[3][]{%
- \let\MT@extra@context\@empty
- \MT@set@named@keys{MT@pr@c}{#1}%
- \def\MT@permutelist{pr@c}%
- \setkeys{MT@cfg}{#2}%
- \MT@permute
- \MT@gdef@n{MT@pr@c@\MT@pr@c@name}{#3}%
- \MT@end@catcodes
-}
-\def\SetExpansion{%
- \MT@begin@catcodes
- \MT@SetExpansion
-}
-\newcommand*\MT@SetExpansion[3][]{%
- \let\MT@extra@context\@empty
- \MT@set@named@keys{MT@ex@c}{#1}%
- \MT@ifdefined@n@T{MT@ex@c@\MT@ex@c@name @factor}{%
- \ifnum\csname MT@ex@c@\MT@ex@c@name @factor\endcsname > \@m
- \MT@warning@nl{Expansion factor \number\@nameuse{MT@ex@c@\MT@ex@c@name @factor}
- too large in list\MessageBreak `\MT@ex@c@name'. Setting it to the
- maximum of 1000}%
- \MT@glet@nc{MT@ex@c@\MT@ex@c@name @factor}\@m
- \fi
- }%
- \def\MT@permutelist{ex@c}%
- \setkeys{MT@cfg}{#2}%
- \MT@permute
- \MT@gdef@n{MT@ex@c@\MT@ex@c@name}{#3}%
- \MT@end@catcodes
-}
-\def\SetTracking{%
- \MT@begin@catcodes
- \MT@SetTracking
-}
-\newcommand*\MT@SetTracking[3][]{%
- \let\MT@extra@context\@empty
- \MT@set@named@keys{MT@tr@c}{#1}%
- \def\MT@permutelist{tr@c}%
- \setkeys{MT@cfg}{#2}%
- \MT@permute
- \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{%
- \MT@begin@catcodes
- \MT@SetExtraSpacing
-}
-\newcommand*\MT@SetExtraSpacing[3][]{%
- \let\MT@extra@context\@empty
- \MT@set@named@keys{MT@sp@c}{#1}%
- \def\MT@permutelist{sp@c}%
- \setkeys{MT@cfg}{#2}%
- \MT@permute
- \MT@gdef@n{MT@sp@c@\MT@sp@c@name}{#3}%
- \MT@end@catcodes
-}
-\def\SetExtraKerning{%
- \MT@begin@catcodes
- \MT@SetExtraKerning
-}
-\newcommand*\MT@SetExtraKerning[3][]{%
- \let\MT@extra@context\@empty
- \MT@set@named@keys{MT@kn@c}{#1}%
- \def\MT@permutelist{kn@c}%
- \setkeys{MT@cfg}{#2}%
- \MT@permute
- \MT@gdef@n{MT@kn@c@\MT@kn@c@name}{#3}%
- \MT@end@catcodes
-}
\def\MT@set@named@keys#1#2{%
\def\x##1name=##2,##3\@nil{%
\setkeys{#1}{name=##2}%
@@ -2614,6 +1653,20 @@ time will almost certainly lead to undesired results. Have your choice!}%
}%
}%
}
+\def\MT@define@code@key@family#1{%
+ \define@key{MT@#1}{family}[]{%
+ \@tempcnta=\@ne
+ \MT@map@clist@n{##1}{%
+ \KV@@sp@def\MT@val{####1}%
+ \MT@get@highlevel{family}%
+ \ifMT@fontspec
+ \edef\x{\edef\noexpand\MT@val{\noexpand\MT@scrubfeature\MT@val()\relax}}\x
+ \fi
+ \MT@edef@n{MT@tempfamily\the\@tempcnta}{\MT@val}%
+ \advance\@tempcnta \@ne
+ }%
+ }%
+}
\def\MT@define@code@key@size#1{%
\define@key{MT@#1}{size}[]{%
\MT@map@clist@n{##1}{%
@@ -2632,6 +1685,9 @@ time will almost certainly lead to undesired results. Have your choice!}%
\KV@@sp@def\MT@val{####1}%
\MT@ifstreq\MT@val*{\def\MT@val{*/*/*/*/*}}\relax
\expandafter\MT@get@font@and@size\MT@val/////\@nil
+ \ifMT@fontspec
+ \edef\@tempb{\expandafter\MT@scrubfeatures\@tempb()\relax}%
+ \fi
\MT@xdef@n{MT@\MT@permutelist @\@tempb\MT@extra@context}%
{\csname MT@\MT@permutelist @name\endcsname}%
\MT@exp@cs\MT@xaddb
@@ -2644,7 +1700,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@get@font@{#1}{#2}{#3}{#4}{#5}{1}%
}
\MT@define@code@key{encoding}{cfg}
-\MT@define@code@key{family} {cfg}
+\MT@define@code@key@family {cfg}
\MT@define@code@key{series} {cfg}
\MT@define@code@key{shape} {cfg}
\MT@define@code@key@size {cfg}
@@ -2653,10 +1709,17 @@ time will almost certainly lead to undesired results. Have your choice!}%
\define@key{MT@#1@c}{#2}[]{\MT@ifempty{##1}\relax{%
\MT@xdef@n{MT@#1@c@\MT@curr@set@name @#2}{##1}}}%
}
+\newcount\MT@listname@count
\MT@map@clist@c\MT@features{%
\define@key{MT@#1@c}{name}[]{%
\MT@ifempty{##1}{%
- \MT@edef@n{MT@#1@c@name}{\MT@curr@file/\the\inputlineno}%
+ \MT@ifdefined@n@TF{MT@#1@c@\MT@curr@file/\the\inputlineno}{%
+ \global\advance\MT@listname@count\@ne
+ \MT@edef@n{MT@#1@c@name}{\MT@curr@file/\the\inputlineno
+ (\number\MT@listname@count)}%
+ }{%
+ \MT@edef@n{MT@#1@c@name}{\MT@curr@file/\the\inputlineno}%
+ }%
}{%
\MT@edef@n{MT@#1@c@name}{##1}%
\MT@ifdefined@n@T{MT@#1@c@\csname MT@#1@c@name\endcsname}{%
@@ -2671,125 +1734,10 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@define@opt@key{#1}{inputenc}%
\define@key{MT@#1@c}{context}[]{\MT@ifempty{##1}\relax{\def\MT@extra@context{##1}}}%
}
-\MT@requires@pdftex7{
- \MT@requires@luatex{
- \define@key{MT@ex@c}{context}[]{%
- \MT@error{Expansion contexts currently don't work with luatex.\MessageBreak
- Ignoring `context' key\on@line}%
- {Use pdftex instead.}%
- }
- }{
- \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@pr@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@pr@c}{context}[]{%
- \MT@ifempty{#1}\relax{\def\MT@extra@context{#1}}%
- \ifx\MT@copy@font\MT@copy@font@\else
- \MT@warning@nl{If protrusion contexts don't work as expected,
- \MessageBreak 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
- or later. Ignoring `context' key\on@line}%
- {Upgrade pdftex.}%
- }
-}
\def\MT@warn@nodim#1{%
\MT@warning{`\@tempa' is not a dimension.\MessageBreak
Ignoring it and setting values relative to\MessageBreak #1}%
}
-\define@key{MT@pr@c}{unit}[character]{%
- \MT@glet@nc{MT@pr@c@\MT@curr@set@name @unit}\@empty
- \def\@tempa{#1}%
- \MT@ifstreq\@tempa{character}\relax{%
- \MT@ifdimen\@tempa
- {\MT@glet@nc{MT@pr@c@\MT@curr@set@name @unit}\@tempa}%
- {\MT@warn@nodim{character widths}}%
- }%
-}
-\define@key{MT@tr@c}{unit}[1em]{%
- \MT@glet@nc{MT@tr@c@\MT@curr@set@name @unit}\@empty
- \def\@tempa{#1}%
- \MT@ifdimen\@tempa
- {\MT@glet@nc{MT@tr@c@\MT@curr@set@name @unit}\@tempa}%
- {\MT@warn@nodim{1em}%
- \MT@gdef@n{MT@tr@c@\MT@curr@set@name @unit}{1em}}%
-}
-\MT@map@clist@n{sp,kn}{%
- \define@key{MT@#1@c}{unit}[space]{%
- \MT@glet@nc{MT@#1@c@\MT@curr@set@name @unit}\@empty
- \def\@tempa{##1}%
- \MT@ifstreq\@tempa{character}\relax{%
- \MT@glet@nc{MT@#1@c@\MT@curr@set@name @unit}\m@ne
- \MT@ifstreq\@tempa{space}\relax{%
- \MT@ifdimen\@tempa
- {\MT@glet@nc{MT@#1@c@\MT@curr@set@name @unit}\@tempa}%
- {\MT@warn@nodim{width of space}}%
- }%
- }%
- }%
-}
-\MT@map@clist@n{stretch,shrink,step}{%
- \define@key{MT@ex@c}{#1}[]{%
- \MT@ifempty{##1}\relax{%
- \MT@ifint{##1}{%
- \MT@gdef@n{MT@ex@c@\MT@curr@set@name @#1}{##1 }%
- }{%
- \MT@warning{%
- Value `##1' for option `#1' is not a number.\MessageBreak
- Ignoring it}%
- }%
- }%
- }%
-}
-\define@key{MT@ex@c}{auto}[true]{%
- \def\@tempa{#1}%
- \csname if\@tempa\endcsname
- \MT@requires@pdftex4{%
- \MT@gdef@n{MT@ex@c@\MT@curr@set@name @auto}{autoexpand}%
- }{%
- \MT@warning{pdftex too old for automatic font expansion}%
- }
- \else
- \MT@requires@pdftex4{%
- \MT@glet@nc{MT@ex@c@\MT@curr@set@name @auto}\@empty
- }\relax
- \fi
-}
-\MT@define@opt@key{tr}{spacing}
-\MT@define@opt@key{tr}{outerspacing}
-\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
\let\MT@extra@inputenc\@undefined
@@ -2826,48 +1774,18 @@ time will almost certainly lead to undesired results. Have your choice!}%
\setkeys{MT@inh}{#2}%
\MT@permute
}
-\define@key{MT@inh}{encoding}[]{%
- \def\MT@val{#1}%
- \expandafter\MT@encoding@check\MT@val,\@nil
- \MT@get@highlevel{encoding}%
- \MT@edef@n{MT@tempencoding1}{\MT@val}%
-}
-\def\MT@encoding@check#1,#2\@nil{%
- \MT@ifempty{#2}\relax{%
- \edef\MT@val{#1}%
- \MT@warning{You may only specify one encoding for character\MessageBreak
- inheritance lists. Ignoring encoding(s) #2}%
- }%
-}
-\MT@define@code@key{family}{inh}
-\MT@define@code@key{series}{inh}
-\MT@define@code@key{shape} {inh}
-\MT@define@code@key@size {inh}
-\MT@define@code@key@font {inh}
+\MT@define@code@key{encoding}{inh}
+\MT@define@code@key@family {inh}
+\MT@define@code@key{series} {inh}
+\MT@define@code@key{shape} {inh}
+\MT@define@code@key@size {inh}
+\MT@define@code@key@font {inh}
\def\MT@inh@do#1,{%
\ifx\relax#1\@empty \else
\MT@inh@split #1==\relax
\expandafter\MT@inh@do
\fi
}
-\def\MT@inh@split#1=#2=#3\relax{%
- \def\@tempa{#1}%
- \ifx\@tempa\@empty \else
- \MT@get@slot
- \ifnum\MT@char > \m@ne
- \let\MT@val\MT@char
- \MT@map@clist@n{#2}{%
- \def\@tempa{##1}%
- \ifx\@tempa\@empty \else
- \MT@get@slot
- \ifnum\MT@char > \m@ne
- \MT@exp@cs\MT@xadd{MT@inh@\MT@listname @\MT@val @}{{\MT@char}}%
- \fi
- \fi
- }%
- \fi
- \fi
-}
\def\MT@permute{%
\let\MT@cnt@encoding\@ne
\MT@permute@
@@ -3093,15 +2011,6 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@map@clist@n{draft,selected,babel}{%
\MT@def@bool@opt{#1}{\csname MT@#1\@tempa\endcsname}}
\MT@def@bool@opt{auto}{\csname MT@auto\@tempa\endcsname \MT@opt@autotrue}
-\MT@def@bool@opt{DVIoutput}{%
- \csname if\@tempa\endcsname
- \ifnum\pdfoutput>\z@ \MT@opt@DVItrue \fi
- \pdfoutput\z@
- \else
- \ifnum\pdfoutput<\@ne \MT@opt@DVItrue \fi
- \pdfoutput\@ne
- \fi
-}
\MT@def@bool@opt{defersetup}{%
\csname if\@tempa\endcsname \else
\AtEndOfPackage{%
@@ -3111,31 +2020,6 @@ time will almost certainly lead to undesired results. Have your choice!}%
}%
\fi
}
-\MT@requires@pdftex7{
- \MT@requires@luatex{
- \MT@def@bool@opt{copyfonts}{%
- \csname if\@tempa\endcsname
- \MT@error{The `copyfonts' option doesn't work with luatex}
- {Use pdftex instead.}%
- \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}{Upgrade pdftex.}%
- \fi
- }
-}
\MT@def@bool@opt{final}{%
\csname if\@tempa\endcsname
\MT@draftfalse
@@ -3187,13 +2071,17 @@ time will almost certainly lead to undesired results. Have your choice!}%
character widths}}%
}%
}
-\MT@protrusiontrue
-\ifnum\pdfoutput<\@ne \else
- \MT@requires@pdftex4{
- \MT@expansiontrue
- \MT@autotrue
- }\relax
+\let\MT@endinput\relax
+\ifx\MT@engine\relax
+ \MT@warning@nl{You don't seem to be using either pdftex, luatex, or xetex.\MessageBreak
+ `\MT@MT' only works with these engines.\MessageBreak
+ I will quit now.}
+ \MT@clear@options
+\else
+ \input{microtype-\MT@engine tex.def}
\fi
+\MT@endinput
+\MT@protrusiontrue
\define@key{MT}{config}[]{\relax}
\def\MT@get@config#1config=#2,#3\@nil{%
\MT@ifempty{#2}%
@@ -3235,106 +2123,6 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@ifdefined@c@T\Microtype@Hook\Microtype@Hook
\def\microtypesetup{\setkeys{MT}}
\MT@addto@setup{\def\microtypesetup#1{\setkeys{MTX}{#1}\selectfont}}
-\def\MT@define@optionX#1#2{%
- \define@key{MTX}{#1}[true]{%
- \edef\@tempb{\csname MT@rbba@#1\endcsname}%
- \MT@map@clist@n{##1}{%
- \KV@@sp@def\MT@val{####1}%
- \MT@ifempty\MT@val\relax{%
- \@tempcnta=\m@ne
- \MT@ifstreq\MT@val{true}{%
- \MT@checksetup{#1}{%
- \@tempcnta=\csname MT@\@tempb @level\endcsname
- \MT@vinfo{Enabling #1
- (level \number\csname MT@\@tempb @level\endcsname)\on@line}%
- }%
- }{%
- \MT@ifstreq\MT@val{false}{%
- \@tempcnta=\z@
- \MT@vinfo{Disabling #1\on@line}%
- }{%
- \MT@ifstreq\MT@val{compatibility}{%
- \MT@checksetup{#1}{%
- \@tempcnta=\@ne
- \MT@let@nc{MT@\@tempb @level}\@ne
- \MT@vinfo{Setting #1 to level 1\on@line}%
- }%
- }{%
- \MT@ifstreq\MT@val{nocompatibility}{%
- \MT@checksetup{#1}{%
- \@tempcnta=\tw@
- \MT@let@nc{MT@\@tempb @level}\tw@
- \MT@vinfo{Setting #1 to level 2\on@line}%
- }%
- }{\MT@error{Value `\MT@val' for key `#1' not recognised}
- {Use any of `true', `false', `compatibility' or
- `nocompatibility'.}%
- }%
- }%
- }%
- }%
- \ifnum\@tempcnta>\m@ne
- #2\@tempcnta\relax
- \fi
- }%
- }%
- }%
-}
-\def\MT@checksetup#1{%
- \csname ifMT@#1\endcsname
- \expandafter\@firstofone
- \else
- \MT@error{You cannot enable #1 if it was disabled\MessageBreak
- in the package options}{Load microtype with #1 enabled.}%
- \expandafter\@gobble
- \fi
-}
-\MT@define@optionX{protrusion}\pdfprotrudechars
-\MT@define@optionX{expansion}\pdfadjustspacing
-\MT@requires@pdftex6{
- \MT@requires@luatex\@firstofone{
- \def\MT@define@optionX@#1#2{%
- \define@key{MTX}{#1}[true]{%
- \MT@map@clist@n{##1}{%
- \KV@@sp@def\MT@val{####1}%
- \MT@ifempty\MT@val\relax{%
- \@tempcnta=\m@ne
- \MT@ifstreq\MT@val{true}{%
- \MT@checksetup{#1}{%
- \@tempcnta=\@ne
- \MT@vinfo{Enabling #1\on@line}%
- }%
- }{%
- \MT@ifstreq\MT@val{false}{%
- \@tempcnta=\z@
- \MT@vinfo{Disabling #1\on@line}%
- }{\MT@error{Value `\MT@val' for key `#1' not recognised}
- {Use either `true' or `false'}%
- }%
- }%
- \ifnum\@tempcnta>\m@ne
- #2\relax
- \fi
- }%
- }%
- }%
- }
- \MT@define@optionX@{tracking}{\ifnum\@tempcnta=\z@ \let\MT@tracking\MT@set@tr@zero
- \else \let\MT@tracking\MT@tracking@ \fi}
- \MT@define@optionX@{spacing}{\pdfadjustinterwordglue\@tempcnta}
- \MT@define@optionX@{kerning}{\pdfprependkern\@tempcnta
- \pdfappendkern \@tempcnta}
- \@gobble
- }
-}\@firstofone
-{\define@key{MTX}{tracking}[true]{\MT@warning{Ignoring tracking setup}}
- \define@key{MTX}{kerning}[true]{\MT@warning{Ignoring kerning setup}}
- \define@key{MTX}{spacing}[true]{\MT@warning{Ignoring spacing setup}}
-}
-\define@key{MTX}{activate}[true]{%
- \setkeys{MTX}{protrusion={#1}}%
- \setkeys{MTX}{expansion={#1}}%
-}
\let\MT@saved@setupfont\MT@setupfont
\define@key{MTX}{disable}[]{%
\MT@info{Inactivate `\MT@MT' package}%
@@ -3373,229 +2161,17 @@ time will almost certainly lead to undesired results. Have your choice!}%
\renewcommand*\microtypecontext[1]{}%
\renewcommand*\lsstyle{}%
\else
- \ifnum\pdfoutput<\@ne
- \ifMT@opt@expansion \else
- \MT@expansionfalse
- \fi
- \fi
- \MT@info@nl{Generating \ifnum\pdfoutput<\@ne DVI \else PDF \fi output%
- \ifMT@opt@DVI\space (changed by \MT@MT)\fi}%
- \ifx\MT@copy@font\relax\else \MT@info@nl{Using font copies for contexts}\fi
+ \MT@setup@PDF
+ \MT@setup@copies
\MT@map@tlist@c\MT@font@sets\MT@fix@font@set
- \ifMT@protrusion
- \edef\MT@active@features{\MT@active@features,pr}%
- \pdfprotrudechars\MT@pr@level
- \MT@info@nl{Character protrusion enabled (level \number\MT@pr@level)%
- \ifnum\MT@pr@factor=\MT@factor@default \else,\MessageBreak
- factor: \number\MT@pr@factor\fi
- \ifx\MT@pr@unit\@empty \else,\MessageBreak unit: \MT@pr@unit\fi}%
- \MT@check@active@set{pr}%
- \else
- \let\MT@protrusion\relax
- \MT@info@nl{No character protrusion}%
- \fi
- \ifMT@expansion
- \ifnum\MT@stretch=\m@ne
- \let\MT@stretch\MT@stretch@default
- \fi
- \ifnum\MT@shrink=\m@ne
- \let\MT@shrink\MT@stretch
- \fi
- \MT@requires@pdftex6{\def\MT@step{1 }}{%
- \ifnum\MT@step=\m@ne
- \ifnum\MT@stretch>\MT@shrink
- \ifnum\MT@shrink=\z@
- \@tempcnta=\MT@stretch
- \else
- \@tempcnta=\MT@shrink
- \fi
- \else
- \ifnum\MT@stretch=\z@
- \@tempcnta=\MT@shrink
- \else
- \@tempcnta=\MT@stretch
- \fi
- \fi
- \divide\@tempcnta 5\relax
- \else
- \@tempcnta=\MT@step
- \ifnum\@tempcnta=\z@
- \MT@warning@nl{The expansion step cannot be set to zero.\MessageBreak
- Setting it to one}
- \fi
- \fi
- \ifnum\@tempcnta=\z@ \@tempcnta=\@ne \fi
- \edef\MT@step{\number\@tempcnta\space}}%
- \let\MT@auto\@empty
- \ifMT@auto
- \MT@requires@pdftex4{%
- \ifnum\pdfoutput<\@ne
- \ifMT@opt@auto
- \MT@error{%
- Automatic font expansion only works for PDF output.\MessageBreak
- However, you are creating a DVI file}
- {If you have created expanded fonts instances, remove `auto' from%
- \MessageBreak the package options. Otherwise, you have to switch
- off expansion\MessageBreak completely.}%
- \fi
- \MT@autofalse
- \else
- \def\MT@auto{autoexpand}%
- \fi
- }{%
- \MT@error{%
- The pdftex version you are using is too old for\MessageBreak
- automatic font expansion}%
- {If you have created expanded fonts instances, remove `auto' from\MessageBreak
- the package options. Otherwise, you have to switch off expansion\MessageBreak
- completely, or upgrade pdftex to version 1.20 or newer.}%
- \MT@autofalse
- \def\MT@auto{1000 }%
- }%
- \else
- \MT@requires@pdftex4\relax{%
- \def\MT@auto{1000 }%
- }%
- \fi
- \ifMT@selected
- \let\MT@set@ex@codes\MT@set@ex@codes@s
- \else
- \let\MT@set@ex@codes\MT@set@ex@codes@n
- \fi
- \ifnum\MT@stretch=\z@
- \ifnum\MT@shrink=\z@
- \MT@warning@nl{%
- Both the stretch and shrink limit are set to zero.\MessageBreak
- Disabling font expansion}%
- \MT@expansionfalse
- \fi
- \fi
- \fi
- \ifMT@expansion
- \edef\MT@active@features{\MT@active@features,ex}%
- \pdfadjustspacing\MT@ex@level
- \MT@info@nl{\ifMT@auto A\else Non-a\fi utomatic font expansion enabled
- (level \number\MT@ex@level),\MessageBreak
- stretch: \number\MT@stretch, shrink: \number\MT@shrink,
- step: \number\MT@step, \ifMT@selected\else non-\fi selected}%
- \def\MT@check@step#1{%
- \@tempcnta=\csname MT@#1\endcsname
- \divide\@tempcnta \MT@step
- \multiply\@tempcnta \MT@step
- \ifnum\@tempcnta=\csname MT@#1\endcsname\else
- \MT@warning@nl{The #1 amount is not a multiple of step.\MessageBreak
- The effective maximum #1 is \the\@tempcnta\space
- (step \number\MT@step)}%
- \fi
- }%
- \MT@check@step{stretch}%
- \MT@check@step{shrink}%
- \MT@check@active@set{ex}%
- \CheckCommand*\showhyphens[1]{\setbox0\vbox{%
- \color@begingroup\everypar{}\parfillskip\z@skip
- \hsize\maxdimen\normalfont\pretolerance\m@ne\tolerance\m@ne
- \hbadness\z@\showboxdepth\z@\ #1\color@endgroup}}%
- \gdef\showhyphens#1{\setbox0\vbox{%
- \color@begingroup\pdfadjustspacing\z@\everypar{}\parfillskip\z@skip
- \hsize\maxdimen\normalfont\pretolerance\m@ne\tolerance\m@ne
- \hbadness\z@\showboxdepth\z@\ #1\color@endgroup}}%
- \else
- \let\MT@expansion\relax
- \MT@info@nl{No font expansion}%
- \fi
+ \MT@setup@protrusion
+ \MT@setup@expansion
+ \MT@setup@tracking
+ \MT@setup@warntracking
+ \MT@setup@spacing
+ \MT@setup@kerning
+ \MT@setup@noligatures
}
-\MT@requires@pdftex6{
- \def\MT@warn@lua#1{%
- \MT@error{The `#1' feature doesn't currently work\MessageBreak with luatex}
- {Use pdftex instead.}%
- \csname MT@#1false\endcsname
- \MT@let@nc{MT@#1}\relax
- }
- \MT@addto@setup{%
- \ifMT@tracking
- \MT@requires@luatex{\MT@warn@lua{tracking}}{%
- \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}%
- \fi
- \ifMT@spacing
- \MT@requires@luatex{\MT@warn@lua{spacing}}{%
- \edef\MT@active@features{\MT@active@features,sp}%
- \pdfadjustinterwordglue\@ne
- \MT@info@nl{Adjustment of interword spacing enabled}%
- \MT@check@active@set{sp}%
- }%
- \else
- \let\MT@spacing\relax
- \MT@info@nl{No adjustment of interword spacing}%
- \fi
- \ifMT@kerning
- \MT@requires@luatex{\MT@warn@lua{kerning}}{%
- \edef\MT@active@features{\MT@active@features,kn}%
- \pdfprependkern\@ne
- \pdfappendkern\@ne
- \MT@info@nl{Adjustment of character kerning enabled}%
- \MT@check@active@set{kn}%
- }%
- \else
- \let\MT@kerning\relax
- \MT@info@nl{No adjustment of character kerning}%
- \fi
- \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\MessageBreak
- able to create the virtual fonts on the fly}%
- \MT@glet\MT@warn@tracking@DVI\relax
- }%
- \else
- \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
- \else
- \MT@ls@too@large\MT@letterspace
- \fi
- }%
-}{
- \MT@addto@setup{%
- \ifMT@tracking
- \MT@error{Tracking only works with pdftex version 1.40\MessageBreak
- or newer. Switching it off}{Upgrade pdftex.}%
- \else
- \MT@info@nl{No tracking (pdftex too old)}%
- \fi
- \ifMT@spacing
- \MT@error{Adjustment of interword spacing only works with\MessageBreak
- pdftex version 1.40 or newer. Switching it off}{Upgrade pdftex.}%
- \else
- \MT@info@nl{No adjustment of interword spacing (pdftex too old)}%
- \fi
- \ifMT@kerning
- \MT@error{Character kerning only works with\MessageBreak
- pdftex version 1.40 or newer. Switching it off}{Upgrade pdftex.}%
- \else
- \MT@info@nl{No adjustment of character kerning (pdftex too old)}%
- \fi
- }
-}
-\MT@requires@pdftex5{
- \MT@addto@setup{%
- \ifMT@noligatures \else
- \let\MT@noligatures\relax
- \fi
- }
-}\relax
\MT@addto@setup{%
\ifx\MT@active@features\@empty \else
\edef\MT@active@features{\expandafter\@gobble\MT@active@features}%
@@ -3658,23 +2234,8 @@ time will almost certainly lead to undesired results. Have your choice!}%
\selectfont}
\edef\MT@curr@file{\jobname.tex}
\AtBeginDocument{\MT@setup@ \MT@glet\MT@setup@\@empty}
-\MT@requires@pdftex6{
- \AtBeginDocument{%
- \ifMT@spacing
- \ifMT@babel \else
- \ifnum\sfcode`\. > 1500
- \MT@ifstreq\MT@sp@context{nonfrench}\relax{%
- \MT@warning@nl{%
- \string\nonfrenchspacing\space is active. Adjustment of\MessageBreak
- interword spacing will disable it. You might want\MessageBreak
- to add `\@backslashchar\MT@MT context{spacing=nonfrench}'\MessageBreak
- to your preamble}%
- }%
- \fi
- \fi
- \fi
- }
-}\relax
+\MT@ifdefined@c@T\MT@setup@spacing@check
+ {\AtBeginDocument{\MT@setup@spacing@check}}
\MT@restore@catcodes
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg b/Master/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg
new file mode 100755
index 00000000000..c8388555dfb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg
@@ -0,0 +1,476 @@
+%%
+%% This is file `mt-CharisSIL.cfg'.
+%%
+%% ------------------------------------------------------------------------
+%%
+%% The `microtype' package
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3c of this license or (at
+%% your option) any later version. The latest version of this license is in:
+%% http://www.latex-project.org/lppl.txt, and version 1.3c or later is part
+%% of all distributions of LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `author-maintained'.
+%%
+%% This work consists of the files microtype.dtx and microtype.ins and the
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
+%%
+%% ------------------------------------------------------------------------
+%% This is a font-specific configuration file for the `microtype' package.
+%% It may contain settings for font expansion and character protrusion,
+%% tracking, interword spacing and additional kerning, as well as
+%% character inheritance declarations.
+%% Please consult the documentation for details.
+%%
+%% If you think you have found improvements to these settings, please
+%% let me know.
+%%
+%% When modifying this file, also change the identification line below.
+%% ------------------------------------------------------------------------
+%%
+\ProvidesFile
+ {mt-CharisSIL.cfg}[2013/03/13 v1.0 microtype config. file: Charis SIL (RS)]
+
+%%% -----------------------------------------------------------------------
+%%% INHERITANCE
+
+% for xetex (EU1) and luatex (EU2)
+\DeclareCharacterInheritance
+ { encoding = {EU1,EU2},
+ family = Charis SIL }
+ { A = {À,Á,Â,Ã,Ä,Å,Ā,Ă,Ą,Ǎ,Ǟ,Ǡ,Ȧ,Ǻ,Ȁ,Ȃ,Ḁ,Ạ,Ả,Ấ,Ầ,Ẩ,Ẫ,Ậ,Ắ,Ằ,Ẳ,Ẵ,Ặ,Ꜳ,
+ А,Ӑ,Ӓ}, % Cyrillic
+ Æ = {Ǣ,
+ Ǽ,Ӕ}, % Cyrillic
+ B = {Ḃ,Ḅ,Ḇ,
+ В}, % Cyr
+ C = {Ç,Ć,Ĉ,Ḉ,Ċ,Č,
+ С,Ҫ}, % Cyr
+ D = {Ď,Ḋ,Ḍ,Ḏ,Ḑ,Ḓ,Đ},
+ E = {È,É,Ê,Ë,Ē,Ĕ,Ė,Ę,Ě,Ȅ,Ȩ,Ȇ,Ḕ,Ḗ,Ḙ,Ḛ,Ḝ,Ẹ,Ẻ,Ẽ,Ế,Ề,Ể,Ễ,Ệ,
+ Е,Ѐ,Ё,Ӗ}, % Cyr
+ F = {Ḟ},
+ G = {Ĝ,Ğ,Ġ,Ģ,Ǧ,Ǵ,Ḡ,Ԍ},
+ H = {Ĥ,Ȟ,Ḣ,Ḥ,Ḧ,Ḩ,Ḫ,
+ Н,Ң,Ҥ,Ӈ,Ӊ}, % Cyr
+ I = {Ì,Í,Î,Ȉ,Ï,Į,Ĩ,Ị,Ī,İ,Ǐ,Ỉ,Ȋ,Ĭ,Ḭ,Ï,
+ І,Ї,Ӏ,ӏ}, % Cyr
+ J = {Ĵ,
+ Ј}, % Cyr
+ K = {Ķ,Ǩ,Ḱ,Ḳ,Ḵ,
+ К,Ќ,Қ,Ҝ,Ҟ,Ҡ,Ӄ,Ԟ}, % Cyr
+ L = {Ĺ,Ļ,Ľ,Ḷ,Ḹ,Ḻ,Ḽ}, % L·
+ M = {Ḿ,Ṁ,Ṃ,
+ М,Ӎ}, % Cyr
+ N = {Ñ,Ń,Ņ,Ň,Ǹ,Ṅ,Ṇ,Ṉ,Ṋ,
+ И,Й,Ѝ,Ҋ,Ӣ,Ӥ}, % Cyr
+ O = {Ò,Ó,Ô,Õ,Ö,Ō,Ŏ,Ő,Ǒ,Ǫ,Ǭ,Ȍ,Ȏ,Ȫ,Ȭ,Ȯ,Ȱ,Ṍ,Ṏ,Ṑ,Ṓ,Ọ,Ỏ,Ố,Ồ,Ổ,Ỗ,Ộ,Ớ,Ờ,Ở,Ỡ,Ơ,
+ О,Ѳ,Ӧ,Ө,Ӫ, % Cyr
+ Θ}, % Greek
+ P = {Ṕ,Ṗ,
+ Р,Ҏ}, % Cyr
+ Q = {Ԛ}, % Cyr
+ R = {Ŕ,Ŗ,Ř,Ȑ,Ȓ,Ṙ,Ṛ,Ṝ,Ṟ},
+ S = {Ś,Ŝ,Ş,Š,Ș,Ṡ,Ṣ,Ṥ,Ṧ,Ṩ,
+ Ѕ}, % Cyr
+ T = {Ţ,Ť,Ț,Ṫ,Ṭ,Ṯ,Ṱ,
+ Т,Ҭ}, % Cyr
+ U = {Ù,Ú,Û,Ü,Ũ,Ū,Ŭ,Ů,Ű,Ų,Ǔ,Ǖ,Ǘ,Ǚ,Ǜ,Ȕ,Ȗ,Ṳ,Ṵ,Ṷ,Ṹ,Ṻ,Ụ,Ủ,Ứ,Ừ,Ử,Ữ,Ự},
+ V = {Ṽ,Ṿ},
+ W = {Ŵ,Ẁ,Ẃ,Ẅ,Ẇ,Ẉ,
+ Ԝ}, % Cyr
+ X = {Ẋ,Ẍ,
+ Х,Ҳ,Ӽ,Ӿ}, % Cyr
+ Y = {Ý,Ŷ,Ÿ,Ȳ,Ẏ,Ỳ,Ỵ,Ỷ,Ỹ,
+ Ү,Ұ}, % Cyr
+ Z = {Ź,Ż,Ž,Ẑ,Ẓ,Ẕ},
+ a = {à,á,â,ã,ä,å,ā,ă,ą,ǎ,ǟ,ǡ,ȧ,ǻ,ȁ,ȃ,ḁ,ạ,ả,ầ,ấ,ẩ,ẫ,ậ,ắ,ằ,ẳ,ẵ,ặ, % aʾ
+ а,ӑ,ӓ}, % Cyr
+ æ = {ǽ,
+ ӕ}, % Cyr
+ b = {ḃ,ḅ,ḇ},
+ c = {ç,ć,ĉ,ċ,č,ḉ,
+ с,ҫ}, % Cyr
+ d = {ď,ḋ,ḍ,ḏ,ḑ,ḓ},
+ e = {è,é,ê,ë,ē,ĕ,ė,ę,ě,ȅ,ȩ,ȇ,ḕ,ḗ,ḙ,ḛ,ḝ,ẹ,ẻ,ẽ,ề,ế,ể,ễ,ệ,
+ е,ѐ,ё,ӗ}, % Cyr
+ f = {ḟ,ff}, % /f_f
+ g = {ĝ,ğ,ġ,ģ,ǧ,ǵ,ḡ},
+ h = {ĥ,ȟ,ḣ,ḥ,ḧ,ḩ,ḫ,ẖ,
+ Һ,һ}, % Cyr
+ i = {ı,ì,í,î,ȉ,ǐ,ï,į,ī,ị,ĩ,ḭ,ḯ,ỉ,ȋ,ĭ,
+ і,ї}, % Cyr
+ j = {ĵ,ǰ,
+ ј}, % Cyr
+ k = {ķ,ǩ,ḱ,ḳ,ḵ},
+ l = {ĺ,ļ,ḻ,ḷ,ḹ,ḽ}, % ľ,l·
+ m = {ḿ,ṁ,ṃ},
+ n = {ñ,ń,ņ,ň,ǹ,ṅ,ṇ,ṉ,ṋ}, % ʼn
+ o = {ò,ó,ô,õ,ö,ō,ŏ,ő,ǒ,ǫ,ǭ,ȍ,ȏ,ȫ,ȭ,ȯ,ȱ,ṍ,ṏ,ṑ,ṓ,ọ,ỏ,ồ,ố,ổ,ỗ,ộ,ớ,ờ,ở,ỡ,ợ,
+ о,ѳ,ӧ,ө,ӫ}, % Cyr
+ p = {ṕ,ṗ,
+ р,ҏ}, % Cyr
+ q = {ԛ}, % Cyr
+ r = {ŕ,ŗ,ř,ȑ,ȓ,ṙ,ṛ,ṝ,ṟ},
+ s = {ś,ŝ,ş,š,ș,ṡ,ṣ,ṥ,ṧ,ṩ,
+ ѕ}, % Cyr
+ t = {ţ,ț,ṫ,ṭ,ṯ,ṱ,ẗ}, % ť
+ u = {ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų,ǔ,ǖ,ǘ,ǚ,ǜ,ȕ,ȗ,ṳ,ṵ,ṷ,ṹ,ṻ,ụ,ủ,ứ,ừ,ử,ữ,ự},
+ v = {ṽ,ṿ},
+ w = {ŵ,ẁ,ẃ,ẅ,ẇ,ẉ,ẘ,
+ ԝ}, % Cyr
+ x = {ẋ,ẍ,
+ х,ҳ}, % Cyr
+ y = {ý,ÿ,ŷ,ȳ,ẏ,ẙ,ỳ,ỵ,ỷ,ỹ,
+ у,ў,ӯ,ӱ,ӳ}, % Cyr
+ z = {ź,ż,ž,ẑ,ẓ,ẕ},
+ % Cyrillic
+ Г = {Ѓ,Ґ,Ғ,Ӷ,Ӻ},
+ Ж = {Җ,Ӝ,Ӂ},
+ З = {Ӟ,Ҙ},
+ Л = {Ӆ},
+ П = {Ԥ},
+ У = {Ў,Ӯ,Ӱ,Ӳ},
+ Ч = {Ҷ,Ҹ,Ӌ,Ӵ},
+ Ы = {Ӹ},
+ Ә = {Ӛ},
+ Ҽ = {Ҿ},
+ г = {ѓ,ґ,ғ,ӷ,ӻ},
+ ж = {җ,ӂ,ӝ},
+ з = {ҙ,ӟ},
+ и = {й,ѝ,ҋ,ӣ,ӥ},
+ к = {ќ,қ,ҝ,ҟ,ҡ,ӄ,ԟ},
+ л = {ӆ},
+ м = {ӎ},
+ н = {ң,ҥ,ӈ,ӊ},
+ п = {ԥ},
+ т = {ҭ},
+ х = {ӽ,ӿ},
+ ч = {ҷ,ҹ,ӌ,ӵ},
+ ш = {щ},
+ ы = {ӹ},
+ э = {ӭ},
+ ҽ = {ҿ},
+ ә = {ӛ},
+ ү = {ұ},
+ Г = {Γ}, % Greek
+ П = {Π}, % Greek
+ }
+
+% missing: tipa, math, symbols, ...
+
+%%% -----------------------------------------------------------------------
+%%% PROTRUSION
+
+\SetProtrusion
+ [ name = Charis-default ]
+ { encoding = {EU1,EU2},
+ family = Charis SIL }
+ {
+ A = {50,50},
+ Æ = {50,50},
+ C = {50, },
+ D = { ,50},
+ F = { ,50},
+ G = {50, },
+ J = {100, },
+ K = { ,50},
+ L = { ,50},
+ Ŀ = { ,100},
+ O = {50,50},
+ Π= {50, },
+ P = { ,50},
+ Q = {50,70},
+ R = { ,50},
+ ẞ = { ,40}, % capital sharp s
+ T = {50,50},
+ V = {50,50},
+ W = {50,50},
+ X = {50,50},
+ Y = {50,50},
+ k = { ,50},
+ ŀ = { ,150},
+ r = { ,50},
+ t = { ,50},
+ v = {50,50},
+ w = {50,50},
+ x = {50,50},
+ y = { ,50},
+ 1 = {150,150},
+ 2 = {50,50},
+ 3 = {50, },
+ 4 = {100,50},
+ 6 = {50, },
+ 7 = {50,80},
+ 9 = {50,50},
+ . = { ,600},
+ {,}= { ,500},
+ : = { ,400},
+ ; = { ,300},
+ ! = { ,100},
+ ? = { ,200},
+ @ = {50,50},
+ ~ = {200,250},
+ \% = { ,50},
+ * = {300,300},
+ + = {200,250},
+ / = { ,200},
+ /backslash = {150,200},
+ | = {200,200},
+ - = {400,500}, % hyphen
+ – = {200,300}, % endash
+ — = {150,250}, % emdash
+ ― = {200,200}, % Horizontal Bar = \texttwelveudash
+ ‒ = {150,150}, % Figure Dash = \textthreequartersemdash
+ _ = {100,100},
+ {=} = {100,100},
+ ‘ = {300,400}, ’ = {300,400},
+ “ = {300,300}, ” = {300,300},
+ ‚ = {400,400}, „ = {300,300},
+ ‹ = {400,300}, › = {300,400},
+ « = {200,200}, » = {150,300},
+ ¡ = {100, }, ¿ = {100, },
+ ( = {200, }, ) = { ,200},
+ < = {200,150}, > = {100,200},
+ [ = {100, }, ] = { ,100},
+ /braceleft = {200, }, /braceright = { ,300},
+ † = { 80, 80},
+ ‡ = {100,100},
+ • = {200,200},
+ ° = {150,200},
+ ™ = {150,150},
+ ¢ = { 50, },
+ £ = { 50, },
+ ¦ = {200,200},
+ © = {100,100},
+ ® = {100,100},
+ ª = {100,200},
+ º = {200,200},
+ ¬ = {200, 50},
+ µ = { ,100},
+ ¶ = { ,100},
+ · = {300,400},
+ ¹ = {200,300},
+ ² = {100,200},
+ ³ = {100,200},
+ € = {100, },
+ ± = {150,200},
+ × = {200,200},
+ ÷ = {250,250},
+ /minus = {200,200},
+ − = {200,200},
+ % Cyrillic
+ Б = { ,50},
+ Г = { ,130},
+ Ж = {50,50},
+ З = {30,50},
+ Л = {50, },
+ У = {50,50},
+ Ф = {50,50},
+ Ч = {100, },
+ Ъ = { ,50},
+ Ь = { ,50},
+ Э = {50,50},
+ Ю = { ,40},
+ Я = {50, },
+ Ѵ = {50,50},
+ Ҽ = {50, },
+ Ђ = {50,100},
+ Є = {50, },
+ Љ = {50,50},
+ Њ = { ,50},
+ Ћ = {50,50},
+ Ԅ = {100,100},
+ Ԇ = {50,50},
+ Ѣ = { ,50},
+ Ҍ = { ,50},
+ Ԉ = {50,80},
+ Ԋ = { ,80},
+ Ԏ = {50,50},
+ Ԓ = {50, },
+ Ԕ = {50,40},
+ Ԗ = { ,50},
+ Ԙ = {50, },
+ Ԡ = { ,50},
+ Ԣ = { ,50},
+ Ԃ = { ,100},
+ б = {50,50},
+ г = { ,70},
+ к = { ,50},
+ л = {50, },
+ т = {50,50},
+ ф = {50,50},
+ ч = {50, },
+ ъ = { ,50},
+ ь = { ,50},
+ э = { ,50},
+ я = {50, },
+ љ = {50, },
+ њ = { ,50},
+ ѣ = { ,50},
+ ѵ = {50,50},
+ ҽ = {50, },
+ ҍ = { ,50},
+ ү = {50,50},
+ ҕ = { ,50},
+ ҧ = { ,50},
+ ԃ = { ,100},
+ ԅ = {100,100},
+ ԇ = {50,50},
+ ԉ = {50,70},
+ ԋ = { ,70},
+ ԙ = {50,30},
+ ԡ = { ,50},
+ ԣ = { ,50},
+ % Д П Ц Ш Щ Ы Ҕ Ҧ Ҩ Ә Ҵ Џ Ӭ Ӡ Ԑ Ԁ
+ % в д ж з и м н п ц ш ы ю ђ є ћ џ ә ԑ ҩ ҵ ӡ ԁ ԍ ԏ ԓ ԕ ԗ
+ % Greek
+ Δ = {50,50},
+ Ψ = {50,50},
+ γ = {70,70},
+ λ = {40,70},
+ π = {40,50},
+ ρ = { ,50},
+ σ = { ,50},
+ χ = {50,50},
+}
+
+\SetProtrusion
+ [ name = Charis-it ]
+ { encoding = {EU1,EU2},
+ family = Charis SIL,
+ shape = {it,sl} }
+ {
+ C = {50, },
+ G = {50, },
+ J = {50, },
+ L = {50,50},
+ O = {50, },
+ Π= {50, },
+ Q = {50, },
+ S = {50, },
+ $ = {50, },
+ T = {70, },
+ o = {50,50},
+ p = { ,50},
+ q = {50, },
+ t = { ,50},
+ w = { ,50},
+ y = { ,50},
+ 1 = {150,100},
+ 3 = {50, },
+ 4 = {100, },
+ 6 = {50, },
+ 7 = {100, },
+ . = { ,700},
+ {,}= { ,600},
+ : = { ,400},
+ ; = { ,400},
+ ? = { ,150},
+ & = { ,80},
+ \% = {50,50},
+ * = {300,200},
+ + = {250,250},
+ @ = {80,50},
+ ~ = {150,150},
+ / = { ,150},
+ /backslash = {150,150},
+ - = {300,400}, % hyphen
+ – = {200,300}, % endash
+ — = {150,200}, % emdash
+ _ = { ,100},
+ {=} = {200,200},
+ ± = {150,200},
+ × = {250,250},
+ ÷ = {250,250},
+ ° = {150,200},
+ · = {300,400},
+ ‘ = {400,200}, ’ = {400,200},
+ “ = {300,200}, ” = {400,200},
+ ‚ = {200,500}, „ = {150,500},
+ ‹ = {300,400}, › = {200,500},
+ « = {200,300}, » = {150,400},
+ ( = {200, }, ) = { ,200},
+ < = {200,200}, > = {200,200},
+ /braceleft = {300, }, /braceright = { ,200},
+ % Cyrillic
+ Ж = {50,30},
+ Л = {50, },
+ У = {50,30},
+ Ф = {50, },
+ Ч = {100, },
+ Ъ = { ,50},
+ Ь = { ,50},
+ Э = {50,50},
+ Я = {50, },
+ Ѵ = {50,50},
+ Љ = {50,50},
+ Ԅ = {140,100},
+ Ԇ = {70,50},
+ Ԉ = {50,80},
+ Ԋ = { ,80},
+ Ԏ = {50,50},
+ г = {50,50},
+ д = {50,30},
+ м = {50, },
+ ф = {50, },
+ ч = {50, },
+ ъ = { ,50},
+ ь = { ,50},
+ э = { ,50},
+ я = {50, },
+ љ = {50,50},
+ њ = { ,50},
+ ѵ = {50,50},
+ ҍ = { ,50},
+ ԅ = {140,100},
+ ԇ = {70,50},
+ ԉ = {50,70},
+ ԋ = { ,70},
+ % Greek
+ Γ = { ,130},
+ Δ = {50,50},
+ Ψ = {50,50},
+ γ = {70,70},
+ λ = {40,70},
+ π = {40,50},
+ ρ = { ,50},
+ σ = { ,50},
+ χ = {50,50},
+ }
+
+\SetProtrusion
+ [ name = Charis-sc,
+ load = Charis-default ]
+ { encoding = {EU1,EU2},
+ family = Charis SIL,
+ shape = {sc} }
+ {
+% ᴀ = {100,100}, % etc., doesn't work with \textsc
+ /a.SC = {100,100},
+ /c.SC = {50, },
+ /d.SC = { ,50},
+ /f.SC = { ,50},
+ /g.SC = {50, },
+ /j.SC = {100, },
+ /k.SC = { ,50},
+ /l.SC = { ,50},
+ /f_l.SC = { ,50},
+ /o.SC = {50,50},
+ /oe.SC = {50, },
+ /q.SC = {50,70},
+ /r.SC = { ,50},
+ /t.SC = {50,100},
+ /v.SC = {50,50},
+ /w.SC = {50,50},
+ /x.SC = {50,50},
+ /y.SC = {50,50}
+ }
+
+\endinput
+%%
+%% End of file `mt-CharisSIL.cfg'.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg b/Master/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg
new file mode 100755
index 00000000000..8f142d8f849
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg
@@ -0,0 +1,349 @@
+%%
+%% This is file `mt-LatinModernRoman.cfg'.
+%%
+%% ------------------------------------------------------------------------
+%%
+%% The `microtype' package
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3c of this license or (at
+%% your option) any later version. The latest version of this license is in:
+%% http://www.latex-project.org/lppl.txt, and version 1.3c or later is part
+%% of all distributions of LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `author-maintained'.
+%%
+%% This work consists of the files microtype.dtx and microtype.ins and the
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
+%%
+%% ------------------------------------------------------------------------
+%% This is a font-specific configuration file for the `microtype' package.
+%% It may contain settings for font expansion and character protrusion,
+%% tracking, interword spacing and additional kerning, as well as
+%% character inheritance declarations.
+%% Please consult the documentation for details.
+%%
+%% If you think you have found improvements to these settings, please
+%% let me know.
+%%
+%% When modifying this file, also change the identification line below.
+%% ------------------------------------------------------------------------
+%%
+\ProvidesFile
+ {mt-LatinModernRoman.cfg}[2013/03/13 v1.0 microtype config. file: Latin Modern Roman (RS)]
+
+%%% -----------------------------------------------------------------------
+%%% INHERITANCE
+
+% for xetex (EU1) and luatex (EU2)
+\DeclareCharacterInheritance
+ { encoding = {EU1,EU2},
+ family = Latin Modern Roman }
+ { A = {À,Á,Â,Ã,Ä,Å,Ā,Ă,Ą,Ǻ,Ȁ,Ạ,Ả,Ấ,Ầ,Ẩ,Ẫ,Ậ,Ắ,Ằ,Ẳ,Ặ,
+ Α}, % Greek
+ Æ = {Ǽ},
+ B = {฿,
+ Β}, % Greek
+ C = {Ç,Ć,Ĉ,Ċ,Č},
+ D = {Ð,Ď,Đ,Ḍ,Ḏ},
+ E = {È,É,Ê,Ë,Ē,Ĕ,Ė,Ę,Ě,Ȅ,Ẹ,Ẻ,Ẽ,Ề,Ế,Ễ,Ể,Ệ,
+ Ε}, % Greek
+ G = {Ĝ,Ğ,Ġ,Ģ,Ǧ,Ǵ},
+ H = {Ĥ,Ħ,Ḥ,Ḧ,Ḫ,
+ Η}, % Greek
+ I = {Ì,Í,Î,Ï,Ĩ,Ī,Ĭ,Į,İ,Ȉ,Ỉ,Ị,
+ Ι}, % Greek
+ J = {Ĵ},
+ K = {Ķ,
+ Κ}, % Greek
+ L = {Ĺ,Ļ,Ł,Ḷ}, % Ľ,Ŀ,Ḹ
+ M = {Μ}, % Greek
+ N = {Ñ,Ń,Ņ,Ň,Ṅ,Ṇ,
+ Ν}, % Greek
+ O = {Ò,Ó,Ô,Õ,Ö,Ø,Ō,Ŏ,Ő,Ọ,Ơ,Ǫ,Ǿ,Ȍ,Ỏ,Ố,Ồ,Ổ,Ỗ,Ộ,Ớ,Ờ,Ỡ,Ở,Ợ,
+ Ο}, % Greek
+ P = {Ρ}, % Greek
+ R = {Ŕ,Ŗ,Ř,Ȑ,Ṛ,Ṙ,Ṝ},
+ S = {Ś,Ŝ,Ş,Š,Ș,Ṣ},
+ T = {Ţ,Ť,Ț,Ṭ,Ṯ,
+ Τ}, % Greek
+ U = {Ù,Ú,Û,Ü,Ũ,Ū,Ŭ,Ů,Ű,Ų,Ư,Ȕ,Ụ,Ủ,Ứ,Ừ,Ử,Ữ,Ự},
+ W = {Ŵ,Ẁ,Ẃ,Ẅ},
+ X = {Χ}, % Greek
+ Y = {Ý,Ŷ,Ÿ,Ỵ,Ỷ,Ỹ},
+ Z = {Ź,Ż,Ž,Ẓ,
+ Ζ}, % Greek
+ a = {à,á,â,ã,ä,å,ā,ă,ą,ǻ,ȁ,ạ,ả,ấ,ầ,ẩ,ẫ,ậ,ắ,ằ,ẳ,ẵ},
+ æ = {ǽ},
+ c = {ç,ć,ĉ,ċ,č},
+ d = {đ,ḍ,ḏ},
+ e = {è,é,ê,ë,ē,ĕ,ė,ę,ě,ȅ,ẹ,ẻ,ẽ,ế,ề,ể,ễ,ệ},
+ f = {/f_f},
+ g = {ĝ,ğ,ġ,ģ,ǧ,ǵ},
+ h = {ĥ,ħ,ḥ,ḧ,ḫ},
+ i = {ì,í,î,ï,ĩ,ī,ĭ,į,ı,ȉ,ỉ,ị},
+ j = {ĵ},
+ k = {ķ},
+ l = {ĺ,ļ,ł,ḷ,ḹ}, % ľ,l·
+ n = {ñ,ń,ņ,ň,ṅ,ṇ},
+ o = {ò,ó,ô,õ,ö,ø,ō,ŏ,ő,ọ,ơ,ǫ,ǿ,ȍ,ỏ,ố,ồ,ổ,ỗ,ộ,ớ,ờ,ỡ,ở,ợ},
+ r = {ŕ,ŗ,ř,ȑ,ṛ,ṙ,ṝ},
+ s = {ś,ŝ,ş,š,ș,ṣ},
+ t = {ţ,ț,ṭ,ṯ,ẗ}, % ť
+ u = {ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų,ư,ȕ,ụ,ủ,ứ,ừ,ử,ữ,ự},
+ w = {ŵ,ẁ,ẃ,ẅ},
+ y = {ý,ŷ,ÿ,ỳ,ỵ,ỷ,ỹ},
+ z = {ź,ż,ž,ẓ},
+ }
+
+%%% -----------------------------------------------------------------------
+%%% PROTRUSION
+
+\SetProtrusion
+ [ name = LMR-default ]
+ { encoding = {EU1,EU2},
+ family = Latin Modern Roman }
+ {
+ A = {50,50},
+ Æ = {50, },
+ F = { ,50},
+ J = {50, },
+ K = { ,50},
+ L = { ,50},
+ T = {50,50},
+ V = {50,50},
+ W = {50,50},
+ X = {50,50},
+ Y = {50,50},
+ k = { ,50},
+ r = { ,50},
+ t = { ,70},
+ v = {50,50},
+ w = {50,50},
+ x = {50,50},
+ y = {50,70},
+ 0 = { ,50},
+ 1 = {100,200},
+ 2 = {50,50},
+ 3 = {50,50},
+ 4 = {70,70},
+ 5 = { ,50},
+ 6 = { ,50},
+ 7 = {50,100},
+ 8 = { ,50},
+ 9 = { ,50},
+ . = { ,700},
+ {,}= { ,500},
+ : = { ,500},
+ ; = { ,500},
+ ! = { ,100},
+ ? = { ,200},
+ @ = {50,50},
+ ~ = {200,250},
+ \% = {50,50},
+ * = {300,300},
+ + = {250,250},
+ - = {400,500}, % /hyphen
+ – = {400,300}, % /endash
+ — = {300,200}, % /emdash
+ _ = {200,200}, % /underscore
+ / = {200,300},
+ /backslash = {200,300},
+ ' = {300,400}, % /quotesingle
+ ‘ = {500,700}, ’ = {500,600},
+ “ = {500,300}, ” = {200,600},
+ ‚ = {400,400}, „ = {400,400},
+ ‹ = {400,400}, › = {300,500},
+ « = {300,200}, » = {100,400},
+ ¡ = {100, }, ¿ = {100, },
+ ( = {300, }, ) = { ,300},
+ < = {200,100}, > = {100,200},
+ /braceleft = {400,200}, /braceright = {200,400},
+ /angleleft = {400, }, /angleright = { ,400},
+ † = {100,100},
+ ‡ = { 80, 80},
+ • = {200,200},
+ · = {400,450}, % / periodcentered
+ ℃ = { 80, 50},
+ ₡ = { , 50},
+ ° = {400,400},
+ ™ = {100,200},
+ © = {100,100},
+ ® = {100,100},
+ ª = {100,200},
+ º = {100,200},
+ ¹ = {200,250},
+ ² = { 50,100},
+ ³ = { 50,100},
+ ¬ = {200, },
+ − = {300,300},
+ ± = {150,200},
+ × = {150,250},
+ ÷ = {150,250},
+ € = {100, },
+ /one.oldstyle = {100,100},
+ /two.oldstyle = { 50, 50},
+ /three.oldstyle = { 30, 80},
+ /four.oldstyle = { 50, 50},
+ /seven.oldstyle = { 50, 80},
+ Γ = { ,180}, % /Gamma
+ Δ = {100,100}, % /Delta
+ Θ = { 50, 50}, % /Theta
+ Λ = {100,100}, % /Lambda
+% Ξ = {,}, % /Xi
+% Π = {,}, % /Pi
+ Σ = { 50, 50}, % /Sigma
+ Υ = {100,100}, % /Upsilon
+ Φ = { 50, 50}, % /Phi
+ Ψ = { 50, 50}, % /Psi
+% Ω = {,}, % /Omega
+ }
+
+\SetProtrusion
+ [ name = LMR-it ]
+ { encoding = {EU1,EU2},
+ family = Latin Modern Roman,
+ shape = {it,sl} }
+ {
+ A = {125,100},
+ Æ = {125,-55},
+ B = {90,-40},
+ C = {145,-75},
+ D = {75, -28},
+ E = {80,-55},
+ F = {85,-80},
+ G = {153,-15},
+ H = {73,-60},
+ I = {140,-120},
+ IJ = {140,-80},
+ J = {135,-80},
+ K = {70,-30},
+ L = {87, 40},
+ M = {67,-45},
+ N = {75,-55},
+ O = {150,-30},
+ Π= {150,-55},
+ P = {82,-50},
+ Q = {150,-30},
+ R = {75, 15},
+ S = {90,-65},
+ $ = {100,-20},
+ T = {220,-85},
+ U = {230,-55},
+ V = {260,-60},
+ W = {185,-55},
+ X = {70,-30},
+ Y = {250,-60},
+ Z = {90,-60},
+ a = {150,-10},
+ b = {170, },
+ c = {173,-10},
+ d = {150,-55},
+ e = {180, },
+ f = { ,-250},
+ g = {150,-10},
+ h = {100, },
+ i = {210, },
+ ij = {210,-40},
+ j = { ,-40},
+ k = {110,-50},
+ l = {240,-110},
+ m = {80, },
+ n = {115, },
+ o = {155, },
+ q = {170,-40},
+ r = {155,-40},
+ s = {130, },
+ t = {230,-10},
+ u = {120, },
+ v = {140,-25},
+ w = {98,-20},
+ x = {65,-40},
+ y = {130,-20},
+ z = {110,-80},
+ 0 = {170,-85},
+ 1 = {230,110},
+ 2 = {130,-70},
+ 3 = {140,-70},
+ 4 = {130,80},
+ 5 = {160, },
+ 6 = {175,-30},
+ 7 = {250,-150},
+ 8 = {130,-40},
+ 9 = {155,-80},
+ . = { ,500},
+ {,}= { ,450},
+ : = { ,300},
+ ; = { ,300},
+ & = {130,30},
+ \% = {180,50},
+ * = {380,20},
+ + = {180,200},
+ @ = {180,10},
+ ~ = {200,150},
+ ( = {300, }, ) = { ,70},
+ / = {100,100},
+ - = {500,300}, % /hyphen
+ – = {500,300}, % /endash
+ — = {400,170}, % /emdash
+ _ = {100,200}, % /underscore
+ ' = {300,400}, % /quotesingle
+ " = {500,300},
+ ‘ = {800,200}, ’ = {800,-20},
+ “ = {540,100}, ” = {500,100},
+ ‚ = {300,700}, „ = {200,600},
+ ‹ = {500,300}, › = {400,400},
+ « = {400,100}, » = {200,300},
+ ¡ = {200, }, ¿ = {200, },
+ < = {300,100}, > = {200,100},
+ /backslash = {300,300},
+ /braceleft = {400,100}, /braceright = {200,200},
+ † = {200, 80},
+ ‡ = {120, 80},
+ • = {220,100},
+ · = {550,300}, % / periodcentered
+ ℃ = {170, },
+ ₡ = {100, 50},
+ ¶ = {200, },
+ ° = {500,300},
+ ™ = {200, 70},
+ © = { 50, 70},
+ ® = { 50, 70},
+ ª = {140,100},
+ º = {140,100},
+ ¹ = {400,150},
+ ² = {250, 80},
+ ³ = {250, 80},
+ ¬ = {250, 80},
+ − = {300,200},
+ ± = {150,170},
+ × = {200,200},
+ ÷ = {200,200},
+ € = {150, },
+ /one.oldstyle = {100,100},
+ /two.oldstyle = {100, 80},
+ /three.oldstyle = { 80, 50},
+ /four.oldstyle = { 80, 80},
+ /five.oldstyle = { 50, },
+ /six.oldstyle = { 50, },
+ /seven.oldstyle = { 80, 80},
+ /eight.oldstyle = { 50, },
+ Γ = {100,120}, % /Gamma
+ Δ = {120,100}, % /Delta
+ Θ = {120, 50}, % /Theta
+ Λ = {130,100}, % /Lambda
+ Ξ = {100,}, % /Xi
+ Π = {100,}, % /Pi
+ Σ = {100, 50}, % /Sigma
+ Υ = {180,100}, % /Upsilon
+ Φ = {130, 70}, % /Phi
+ Ψ = {130, 50}, % /Psi
+ Ω = { 50,}, % /Omega
+ }
+
+\endinput
+%%
+%% End of file `mt-LatinModernRoman.cfg'.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-PalatinoLinotype.cfg b/Master/texmf-dist/tex/latex/microtype/mt-PalatinoLinotype.cfg
new file mode 100755
index 00000000000..e92feeaa8cf
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/microtype/mt-PalatinoLinotype.cfg
@@ -0,0 +1,293 @@
+%% mt-PalatinoLinotype.cfg:
+%% Microtype configuration file for
+%% Hermann Zapf’s Palatino font and
+%% close substitutes
+%%
+%% Copyright © 2012 Loren B. Davis. ALL RIGHTS RESERVED. This is a derived
+%% work and a modified component of R. Schlicht’s microtype package. The na-
+%% ture of the changes to the mt-ppl.cfg component is: supporting character
+%% protrusion for Unicode versions of Palatino and similar fonts.
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3c of this license or (at
+%% your option) any later version. The latest version of this license is in:
+%% http://www.latex-project.org/lppl.txt, and version 1.3c or later is part
+%% of all distributions of LaTeX version 2005/12/01 or later.
+%%
+%% Palatino is a registered trademark of Linotype GmbH. Used without permis-
+%% sion.
+
+\ProvidesFile
+ {mt-PalatinoLinotype.cfg}[2012/03/10 v1.0 microtype config. file: Palatino Linotype and similar fonts (LBD)]
+
+\DeclareCharacterInheritance
+ { encoding = {EU1,EU2},
+ family = {PalatinoLinotype} }
+ { A = {À,Á,Â,Ã,Ä,Ā,Ă,Ą,Ǎ,Ǟ,Ǡ,Ȧ,Ǻ,Ȁ,Ȃ,Ḁ,Ạ,Ả,Ấ,Ầ,Ẩ,Ẫ,Ậ,Ắ,Ằ,Ẳ,Ẵ,Ặ,Ꜳ},
+ B = {Ḃ,Ḅ,Ḇ},
+ C = {Ç,Ć,Ĉ,Ḉ,Ċ,Č},
+ D = {Ď,Ḋ,Ḍ,Ḏ,Ḑ,Ḓ},
+ E = {È,É,Ê,Ë,Ē,Ĕ,Ė,Ę,Ě,Ȅ,Ȩ,Ȇ,Ḕ,Ḗ,Ḙ,Ḛ,Ḝ,Ẹ,Ẻ,Ẽ,Ế,Ề,Ể,Ễ,Ệ},
+ F = {Ḟ},
+ G = {Ĝ,Ğ,Ġ,Ģ,Ǧ,Ǵ,Ḡ},
+ H = {Ĥ,Ȟ,Ḣ,Ḥ,Ḧ,Ḩ,Ḫ},
+ I = {Ì,Í,Î,Ȉ,Ï,Į,Ĩ,Ị,Ī,İ,Ǐ,Ỉ,Ȋ,Ĭ,Ḭ,Ï},
+ J = {Ĵ},
+ K = {Ķ,Ǩ,Ḱ,Ḳ,Ḵ},
+ L = {Ĺ,Ļ,Ľ,Ḷ,Ḹ,Ḻ,Ḽ,Ỻ,Ŀ,Ł}, % L·
+ M = {Ḿ,Ṁ,Ṃ},
+ N = {Ñ,Ń,Ņ,Ň,Ǹ,Ṅ,Ṇ,Ṉ,Ṋ},
+ O = {Ò,Ó,Ô,Õ,Ö,Ō,Ŏ,Ő,Ǒ,Ǫ,Ǭ,Ȍ,Ȏ,Ȫ,Ȭ,Ȯ,Ȱ,Ṍ,Ṏ,Ṑ,Ṓ,Ọ,Ỏ,Ố,Ồ,Ổ,Ỗ,Ộ,Ớ,Ờ,Ở,Ỡ,Ơ},
+ P = {Ṕ,Ṗ},
+ R = {Ŕ,Ŗ,Ř,Ȑ,Ȓ,Ṙ,Ṛ,Ṝ,Ṟ},
+ S = {Ś,Ŝ,Ş,Š,Ș,Ṡ,Ṣ,Ṥ,Ṧ,Ṩ},
+ T = {Ţ,Ť,Ț,Ṫ,Ṭ,Ṯ,Ṱ},
+ U = {Ù,Ú,Û,Ü,Ũ,Ū,Ŭ,Ů,Ű,Ų,Ǔ,Ǖ,Ǘ,Ǚ,Ǜ,Ȕ,Ȗ,Ṳ,Ṵ,Ṷ,Ṹ,Ṻ,Ụ,Ủ,Ứ,Ừ,Ử,Ữ,Ự},
+ V = {Ṽ,Ṿ},
+ W = {Ŵ,Ẁ,Ẃ,Ẅ,Ẇ,Ẉ},
+ X = {Ẋ,Ẍ},
+ Y = {Ý,Ŷ,Ÿ,Ȳ,Ẏ,Ỳ,Ỵ,Ỷ,Ỹ},
+ Z = {Ź,Ż,Ž,Ẑ,Ẓ,Ẕ},
+ a = {à,á,â,ã,ä,å,ā,ă,ą,ǎ,ǟ,ǡ,ȧ,ǻ,ȁ,ȃ,ḁ,ạ,ả,ầ,ấ,ẩ,ẫ,ậ,ắ,ằ,ẳ,ẵ,ặ}, % aʾ
+ b = {ḃ,ḅ,ḇ},
+ c = {ç,ć,ĉ,ċ,č,ḉ},
+ d = {ď,ḋ,ḍ,ḏ,ḑ,ḓ},
+ e = {è,é,ê,ë,ē,ĕ,ė,ę,ě,ȅ,ȩ,ȇ,ḕ,ḗ,ḙ,ḛ,ḝ,ẹ,ẻ,ẽ,ề,ế,ể,ễ,ệ},
+ f = {ḟ,ff},
+ g = {ĝ,ğ,ġ,ģ,ǧ,ǵ,ḡ},
+ h = {ĥ,ȟ,ḣ,ḥ,ḧ,ḩ,ḫ,ẖ},
+ i = {ı,ì,í,î,ȉ,ǐ,ï,į,ī,ị,ĩ,ḭ,ḯ,ỉ,ȋ,ĭ},
+ j = {ĵ,ǰ},
+ k = {ķ,ǩ,ḱ,ḳ,ḵ},
+ l = {ĺ,ļ,ḻ,ḷ,ḹ,ḽ}, % ľ,l·
+ m = {ḿ,ṁ,ṃ},
+ n = {ñ,ń,ņ,ň,ǹ,ṅ,ṇ,ṉ,ṋ}, % ʼn
+ o = {ò,ó,ô,õ,ö,ō,ŏ,ő,ǒ,ǫ,ǭ,ȍ,ȏ,ȫ,ȭ,ȯ,ȱ,ṍ,ṏ,ṑ,ṓ,ọ,ỏ,ồ,ố,ổ,ỗ,ộ,ớ,ờ,ở,ỡ,ợ},
+ p = {ṕ,ṗ},
+ r = {ŕ,ŗ,ř,ȑ,ȓ,ṙ,ṛ,ṝ,ṟ},
+ s = {ś,ŝ,ş,š,ș,ṡ,ṣ,ṥ,ṧ,ṩ},
+ t = {ţ,ț,ṫ,ṭ,ṯ,ṱ,ẗ}, % ť
+ u = {ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų,ǔ,ǖ,ǘ,ǚ,ǜ,ȕ,ȗ,ṳ,ṵ,ṷ,ṹ,ṻ,ụ,ủ,ứ,ừ,ử,ữ,ự},
+ v = {ṽ,ṿ},
+ w = {ŵ,ẁ,ẃ,ẅ,ẇ,ẉ,ẘ},
+ x = {ẋ,ẍ},
+ y = {ý,ÿ,ŷ,ȳ,ẏ,ẙ,ỳ,ỵ,ỷ,ỹ},
+ z = {ź,ż,ž,ẑ,ẓ,ẕ},
+ }
+
+\SetProtrusion
+ [ name = palatino-default ]
+ { encoding = {EU1,EU2},
+ family = {PalatinoLinotype} }
+ {
+ A = {50,50},
+ D = { ,50},
+ J = {50, },
+ K = { ,50},
+ L = { ,50},
+ O = {25, },
+ T = {50,50},
+ V = {50,50},
+ W = {50,50},
+ X = {50,50},
+ Y = {50,50},
+ b = { ,25},
+ d = {25,30},
+ f = { ,50},
+ g = { ,100},
+ k = { ,50},
+ p = { ,50},
+ q = {50, },
+ r = { ,50},
+ t = { ,50}, st = { ,50}, ſt = { ,50},
+ v = {75,50},
+ w = {50,50},
+ x = {50,50},
+ y = {50,70},
+ 1 = {100,50},
+ 2 = {25,50},
+ 4 = {50, },
+ 6 = {50, },
+ 9 = {25, },
+ Æ = {100, },
+ Π= {25, },
+ . = { ,700}, ‥ = { ,350}, … = {,150},
+ {,}= { ,500},
+ : = { ,500},
+ ; = { ,500},
+ ! = { ,100}, ‼ = { ,100},
+ ? = { ,200}, ‽ = { ,200},
+ @ = {50,50},
+ ~ = {200,250},
+ & = {50,100},
+ \% = {100,100},
+ * = {200,200},
+ + = {250,250},
+ ( = {100, }, ) = { ,300},
+ / = {200,300},
+ - = {400,500},
+ \textendash = {300,300}, \textemdash = {200,200},
+ \textquoteleft = {500,700}, \textquoteright = {500,700},
+ \textquotedblleft = {300,400}, \textquotedblright = {300,400},
+ \textbackslash = {200,300},
+ \quotesinglbase = {400,400}, \quotedblbase = {400,400},
+ \guilsinglleft = {400,400}, \guilsinglright = {300,500},
+ \guillemotleft = {300,300}, \guillemotright = {200,400},
+ \textexclamdown = {100, }, \textquestiondown = {100, },
+ \textbraceleft = {400,200}, \textbraceright = {200,400},
+ \textless = {200,100}, \textgreater = {100,200},
+ ≤ = {200,100}, ≥ = {100,200},
+ \textminus = {300,300},
+ \texttrademark = {200,200},
+ \textcopyright = {200,200},
+ \textregistered = {200,200},
+ \textdegree = {300,300},
+ ¦ = {450,500}, ¬ = {250,150},
+ ⌐ = {150,250},
+ · = {850, 700},
+ ¶ = {100,0},
+ × = {150, 300},
+ ª = {300,300}, º = {300,300},
+ ⁰ = {200,400},
+ ¹ = {400,350}, ² = {200,300}, ³ = {250,400},
+ ⁴ = {250,350}, ⁵ = {200,300}, ⁶ = {250,400},
+ ⁷ = {200,450}, ⁸ = {250,400}, ⁹ = {200,350},
+ ₀ = {200,400},
+ ₁ = {400,250}, ₂ = {200,300}, ₃ = {250,400},
+ ₄ = {250,350}, ₅ = {200,300}, ₆ = {250,400},
+ ₇ = {200,450}, ₈ = {250,400}, ₉ = {200,350},
+ ± = {150,100}, ÷ = {300,300},
+ þ = { ,25},
+ ₊ = {300,450}, ₋ = {300,450},
+ ⁺ = {300,450}, ⁻ = {300,450},
+ † = {200,250}, ‡ = {200,250},
+ π = {50, },
+ ſ = { ,50},
+ № = {100,150},
+ \textservicemark = {100,200},
+ ‐ = {400,500}, ‑ = {400,500}, ‒ = {200,300},
+ – = {205,305}, — = {200,300}, ― = {50,150},
+ • = {125,200},
+% /a.sc = {50,50},
+ }
+
+\SetProtrusion
+ [ name = palatino-it ]
+ { encoding = {EU1,EU2},
+ family = {PalatinoLinotype},
+ shape = {it,sl} }
+ {
+ A = {50,50},
+ Æ = {50, },
+ B = {50, },
+ C = {50, },
+ D = {50,50},
+ E = {50, },
+ F = {50, },
+ G = {50, },
+ H = {50, },
+ K = {50, },
+ L = {50, },
+ O = {50, },
+ Π= {50, },
+ P = {50, },
+ Q = {50, },
+ R = {50, },
+ S = {50, },
+ $ = {50, },
+ T = {100, },
+ U = {50, },
+ V = {100,50},
+ W = {50, },
+ X = {50, },
+ Y = {100,50},
+ b = { ,50},
+ c = {25, },
+ g = {75, },
+ i = {25, },
+ m = { ,50},
+ n = { ,50},
+ p = { ,25},
+ q = {25, },
+ x = { ,50},
+ 1 = {100, },
+ 2 = {50, },
+ 4 = {50, },
+ 7 = {50, },
+ . = { ,500}, ‥ = { ,350}, … = { ,200},
+ {,}= { ,500},
+ : = { ,300},
+ ; = { ,300},
+ ? = { ,300}, ‽ = { ,300},
+ & = {50,50},
+ \% = {100,100},
+ * = {200,200},
+ + = {150,200},
+ @ = {50,50},
+ ~ = {200,150},
+ ( = {200, }, ) = { ,200},
+ / = {100,200},
+ - = {300,500},
+ \textendash = {300,300}, \textemdash = {200,200},
+ \textquoteleft = {700,400}, \textquoteright = {700,400},
+ \textquotedblleft = {500,300}, \textquotedblright = {500,300},
+ _ = {100,100},
+ \textbackslash = {100,200},
+ \quotesinglbase = {500,500}, \quotedblbase = {400,400},
+ \guilsinglleft = {400,400}, \guilsinglright = {300,500},
+ \guillemotleft = {300,300}, \guillemotright = {300,300},
+ \textexclamdown = {100, }, \textquestiondown = {200, },
+ \textbraceleft = {200,100}, \textbraceright = {200,200},
+ \textless = {300,100}, \textgreater = {200,100},
+ ≤ = {200,100}, ≥ = {100,200},
+ ¦ = {450,500}, ¬ = {250,150},
+ · = {850, 700},
+ ¶ = {100,0},
+ × = {150, 300},
+ ª = {300,250}, ° = {300,300}, º = {300,250},
+ ⁰ = {300,200},
+ ¹ = {300,150}, ² = {350,200}, ³ = {250,150},
+ ⁴ = {350,100}, ⁵ = {300, 50}, ⁶ = {400,100},
+ ⁷ = {400, 50}, ⁸ = {250, 50}, ⁹ = {300, 50},
+ ₀ = {300,300},
+ ₁ = {300,350}, ₂ = {300,150}, ₃ = {250,250},
+ ₄ = {400,200}, ₅ = {300,100}, ₆ = {450,200},
+ ₇ = {450,150}, ₈ = {400,250}, ₉ = {400,200},
+ ± = {150,100}, ÷ = {300,300},
+ þ = { 50, },
+ † = {250,200}, ‡ = {250,200},
+ ₊ = {300,450}, ₋ = {300,450},
+ ⁺ = {300,450}, ⁻ = {300,450},
+ ‐ = {300,500}, ‑ = {300,500}, ‒ = {100,300},
+ – = {125,305}, — = {200,300}, ― = {125,150},
+ • = {125,200}
+ }
+
+\SetProtrusion
+ [ name = palatino-sc,
+ load = palatino-default ]
+ { encoding = {EU1,EU2},
+ family = {PalatinoLinotype},
+ shape = sc }
+ {
+ a = {50,50},
+ æ = {50, },
+ b = { 0, 0},
+ d = { 0, 0},
+ f = { 0, 0},
+ g = { 0, 0},
+ j = {50, },
+ l = { ,50},
+ o = { 0, 0},
+ p = { 0, 0},
+ q = { 0, },
+ r = { , 0},
+ t = {50,50},
+ y = {50,50},
+ fl = { 0,50},
+ ffl = { 0,50},
+ ſt = { 0,50},
+ st = { 0,50}
+ }
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg b/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg
index 795a8e1653f..7cd6391674a 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg b/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg
index d328a68752e..ec675c344cb 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg b/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg
index 569a465f32d..d1560da8983 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
@@ -37,7 +38,7 @@
%% ------------------------------------------------------------------------
%%
\ProvidesFile
- {mt-cmr.cfg}[2009/11/09 v2.0 microtype config. file: Computer Modern Roman (RS)]
+ {mt-cmr.cfg}[2011/04/09 v2.1 microtype config. file: Computer Modern Roman (RS)]
%%% -----------------------------------------------------------------------
%%% PROTRUSION
@@ -180,58 +181,84 @@
[ name = cmr-it ]
{ }
{
- A = {100,50},
- B = {50, },
- C = {100, },
- D = {50,50},
- E = {50, },
- F = {100, },
- G = {100, },
- H = {50, },
- I = {50, },
- J = {100, },
- K = {50, },
- L = {50, },
- M = {50, },
- N = {50, },
- O = {100, },
- P = {50, },
- Q = {100, },
- R = {50, },
- S = {50, },
- $ = {50, },
- T = {100, },
- U = {50, },
- V = {100, },
- W = {100, },
- X = {50, },
- Y = {100, },
- 0 = {100, },
- 1 = {200,50},
- 2 = {100,-100},
- 3 = {100,-100},
- 4 = {150, },
- 5 = {100, },
- 6 = {100, },
- 7 = {200,-150},
- 8 = {50,-50},
- 9 = {100,-100},
+ A = {100,100},
+ B = {83,-40},
+ C = {165,-75},
+ D = {75, -28},
+ E = {80,-55},
+ F = {85,-80},
+ G = {153,-15},
+ H = {73,-60},
+ I = {140,-120},
+ J = {135,-80},
+ K = {70,-30},
+ L = {87, 40},
+ M = {67,-45},
+ N = {75,-55},
+ O = {150,-30},
+ P = {82,-50},
+ Q = {150,-30},
+ R = {75, 15},
+ S = {90,-65},
+ $ = {100,-20},
+ T = {220,-85},
+ U = {230,-55},
+ V = {260,-60},
+ W = {185,-55},
+ X = {70,-30},
+ Y = {250,-60},
+ Z = {90,-60},
+ a = {150,-10},
+ b = {170, },
+ c = {173,-10},
+ d = {150,-55},
+ e = {180, },
+ f = { ,-250},
+ g = {150,-10},
+ h = {100, },
+ i = {210, },
+ j = { ,-40},
+ k = {110,-50},
+ l = {240,-110},
+ m = {80, },
+ n = {115, },
+ o = {155, },
+ q = {170,-40},
+ r = {155,-40},
+ s = {130, },
+ t = {230,-10},
+ u = {120, },
+ v = {140,-25},
+ w = {98,-20},
+ x = {65,-40},
+ y = {130,-20},
+ z = {110,-80},
+ 0 = {170,-85},
+ 1 = {230,110},
+ 2 = {130,-70},
+ 3 = {140,-70},
+ 4 = {130,80},
+ 5 = {160, },
+ 6 = {175,-30},
+ 7 = {250,-150},
+ 8 = {130,-40},
+ 9 = {155,-80},
. = { ,500},
- {,}= { ,500},
+ {,}= { ,450},
: = { ,300},
; = { ,300},
- & = {100,50},
- \% = {100, },
- * = {400,100},
- + = {150,200},
- @ = {200,50},
+ & = {130,30},
+ \% = {180,50},
+ * = {380,20},
+ + = {180,200},
+ @ = {180,10},
~ = {200,150},
- ( = {200, }, ) = { ,200},
- / = {100,200},
+ ( = {300, }, ) = { ,70},
+ / = {100,100},
- = {500,300},
- \textendash = {500,300}, \textemdash = {400,200},
- \textquoteleft = {800,200}, \textquoteright = {800,200},
- \textquotedblleft = {700,100}, \textquotedblright = {500,300}
+ \textendash = {500,300}, \textemdash = {400,170},
+ \textquoteleft = {800,200}, \textquoteright = {800,-20},
+ \textquotedblleft = {540,100}, \textquotedblright = {500,100}
}
\SetProtrusion
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg b/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg
index e9bc49ea379..563f4b94b7d 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg b/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg
index aead497cb7c..c5a1ec24b1c 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg b/Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg
index c550af7a186..8153724ece1 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg b/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg
index 33f16930902..16e6c8f5f2d 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg b/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg
index f0b954eb8ea..f1d0f86c162 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg b/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg
index 6ed2d1fcc98..d1c8b11eed3 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg b/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg
index 666cd337dda..dd6f18e18e3 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
@@ -43,15 +44,10 @@
%%% CHARACTER INHERITANCE
\DeclareCharacterInheritance
- { encoding = OT1,
+ { encoding = {OT1,U},
family = mvs }
{ 164 = {099,100,101} } % \EURhv,\EURcr,\EURtm
-\DeclareCharacterInheritance
- { encoding = U,
- family = mvs }
- { 164 = {099,100,101} }
-
%%% -----------------------------------------------------------------------
%%% PROTRUSION
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg b/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg
index 4ab10ff8359..1325e42f228 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg b/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg
index 618c231f7d0..eaa6fbbd3c4 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg b/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg
index 90ed3babd15..ba214018f7f 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg b/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg
index a6bfbe3a209..51da99cbcf9 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg b/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg
index 0037aeed2ed..7fc0bd74f0f 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg b/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg
index 58d41b907cf..3570dae991e 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg
@@ -9,8 +9,8 @@
%% ------------------------------------------------------------------------
%%
%% The `microtype' package
-%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004--2010 R Schlicht <w.m.l@gmx.net>
+%% Subliminal refinements towards typographical perfection
+%% Copyright (c) 2004--2013 R Schlicht <w.m.l@gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -21,7 +21,8 @@
%% This work has the LPPL maintenance status `author-maintained'.
%%
%% This work consists of the files microtype.dtx and microtype.ins and the
-%% derived files microtype.sty, microtype.lua and letterspace.sty.
+%% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+%% microtype-luatex.def, microtype.lua and letterspace.sty.
%%
%% ------------------------------------------------------------------------
%% This is a font-specific configuration file for the `microtype' package.