summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/microtype
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-06-01 22:56:51 +0000
committerKarl Berry <karl@freefriends.org>2006-06-01 22:56:51 +0000
commit3f78b824add5f8236277b3be45a141e7436ec5d5 (patch)
tree7d1229feafb6d21bba77d8e26488a74a985a5789 /Master/texmf-dist/tex/latex/microtype
parente39a33ec4d6321f43329645a687af33893234ff5 (diff)
microtype 1.9d
git-svn-id: svn://tug.org/texlive/trunk@1647 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/microtype')
-rw-r--r--Master/texmf-dist/tex/latex/microtype/microtype.cfg234
-rw-r--r--Master/texmf-dist/tex/latex/microtype/microtype.sty2123
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-bch.cfg86
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg57
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-euf.cfg20
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg59
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-eus.cfg23
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-msa.cfg72
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-msb.cfg22
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg62
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-pad.cfg32
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg42
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg30
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg95
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg253
-rw-r--r--Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg84
16 files changed, 2001 insertions, 1293 deletions
diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.cfg b/Master/texmf-dist/tex/latex/microtype/microtype.cfg
index e6b005186f2..ae5e4b57548 100644
--- a/Master/texmf-dist/tex/latex/microtype/microtype.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/microtype.cfg
@@ -4,14 +4,14 @@
%%
%% The original source files were:
%%
-%% microtype.dtx (with options: `config,m-t')
+%% microtype.dtx (with options: `config,cfg-t,m-t')
%%
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -23,19 +23,20 @@
%% derived file microtype.sty.
%%
%% -----------------------------------------------------------------------
-%% This is the main configuration file for the `microtype' package.
-%% It contains settings for font expansion and character protrusion.
-%% Please consult the documentation for details.
+%% This is the main configuration file for the `microtype' package.
+%% It contains settings for font expansion and character protrusion,
+%% as well as character inheritance and font set declarations.
+%% Please consult the documentation for details.
%%
-%% You may customize these settings here, or in a different file. If
-%% you think you have found improvements to the settings, please tell
-%% me about them.
-%%
-%% When modifying this file, also change the identification line below.
-%% -----------------------------------------------------------------------
+%% You may customize these settings here, or in a different file. If
+%% you think you have found improvements to the settings, please let
+%% me know.
%%
+%% When modifying this file, also change the identification line below.
+%% -----------------------------------------------------------------------
+%%
\ProvidesFile
- {microtype.cfg}[2005/08/16 v1.6 microtype main configuration file (RS)]
+ {microtype.cfg}[2006/04/20 v1.8 microtype main configuration file (RS)]
%%% ----------------------------------------------------------------------
%%% FONT SETS
@@ -44,22 +45,22 @@
{ }
\DeclareMicrotypeSet{allmath}
- { encoding = {T1,LY1,OT1,OT4,T5,TS1,OML,OMS,U} }
+ { encoding = {OT1,T1,LY1,OT4,QX,T5,TS1,OML,OMS,U} }
\DeclareMicrotypeSet{alltext}
- { encoding = {T1,LY1,OT1,OT4,T5,TS1} }
+ { encoding = {OT1,T1,LY1,OT4,QX,T5,TS1} }
\DeclareMicrotypeSet{basicmath}
- { encoding = {T1,LY1,OT1,OT4,T5,OML,OMS},
+ { encoding = {OT1,T1,LY1,OT4,QX,T5,OML,OMS},
family = {rm*,sf*},
- series = {m},
+ series = {md*},
size = {normalsize,footnotesize,small,large}
}
\DeclareMicrotypeSet{basictext}
- { encoding = {T1,LY1,OT1,OT4,T5},
+ { encoding = {OT1,T1,LY1,OT4,QX,T5},
family = {rm*,sf*},
- series = {m},
+ series = {md*},
size = {normalsize,footnotesize,small,large}
}
@@ -84,7 +85,11 @@
\DeclareMicrotypeAlias{qpl} {ppl} % qfonts/QuasiPalatino
\DeclareMicrotypeAlias{txr} {ptm} % txfonts
\DeclareMicrotypeAlias{qtm} {ptm} % qfonts/QuasiTimes
-
+\DeclareMicrotypeAlias{mdbch}{bch} % mathdesign/Charter
+\DeclareMicrotypeAlias{mdugm}{ugm} % mathdesign/URW Garamond
+\DeclareMicrotypeAlias{zpeus}{zpeu} % Adobe Euro sans -> serif
+\DeclareMicrotypeAlias{eurosans}{zpeu} % Adobe Euro sans -> serif
+\DeclareMicrotypeAlias{euroitcs}{euroitc} % ITC Euro sans -> serif
%%% ----------------------------------------------------------------------
%%% CHARACTER INHERITANCE
@@ -100,47 +105,47 @@
\DeclareCharacterInheritance
{ encoding = T1 }
- { 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}},
+ { 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},
f = {027}, % ff
- G = {\u{G}},
- g = {\u{g}},
+ G = {\u G},
+ g = {\u g},
I = {\`I,\'I,\^I,\"I,\.I},
i = {\`i,\'i,\^i,\"i,\i},
j = {\j},
- 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}},
+ 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}},
+ Z = {\'Z,\.Z,\v Z},
+ z = {\'z,\.z,\v z},
- = {127},
}
\DeclareCharacterInheritance
{ encoding = LY1 }
- { A = {\`A,\'A,\^A,\~A,\"A,\r{A}},
- a = {\`a,\'a,\^a,\~a,\"a,\r{a}},
- C = {\c{C}},
- c = {\c{c}},
+ { A = {\`A,\'A,\^A,\~A,\"A,\r A},
+ a = {\`a,\'a,\^a,\~a,\"a,\r a},
+ C = {\c C},
+ c = {\c c},
D = {\DH},
E = {\`E,\'E,\^E,\"E},
e = {\`e,\'e,\^e,\"e},
@@ -153,24 +158,24 @@
n = {\~n},
O = {\`O,\'O,\^O,\~O,\"O,\O},
o = {\`o,\'o,\^o,\~o,\"o,\o},
- S = {\v{S}},
- s = {\v{s}},
+ S = {\v S},
+ s = {\v s},
U = {\`U,\'U,\^U,\"U},
u = {\`u,\'u,\^u,\"u},
Y = {\'Y,\"Y},
y = {\'y,\"y},
- Z = {\v{Z}},
- z = {\v{z}},
+ Z = {\v Z},
+ z = {\v z},
}
\DeclareCharacterInheritance
{ encoding = OT4 }
- { A = {\k{A}},
- a = {\k{a}},
+ { A = {\k A},
+ a = {\k a},
C = {\'C},
c = {\'c},
- E = {\k{E}},
- e = {\k{e}},
+ E = {\k E},
+ e = {\k e},
f = {011}, % ff
i = {\i},
j = {\j},
@@ -187,33 +192,65 @@
}
\DeclareCharacterInheritance
+ { encoding = QX }
+ { A = {\`A,\'A,\^A,\~A,\"A,\k A,\AA},
+ a = {\`a,\'a,\^a,\~a,\"a,\k a,\aa},
+ C = {\'C,\c C},
+ c = {\'c,\c c},
+ D = {\DH},
+ E = {\`E,\'E,\^E,\"E,\k E},
+ e = {\`e,\'e,\^e,\"e,\k e},
+ f = {011}, % ff
+ I = {\`I,\'I,\^I,\"I,\k I},
+ i = {\`i,\'i,\^i,\"i,\k i,\i},
+ j = {\j},
+ L = {\L},
+ l = {\l},
+ N = {\'N,\~N},
+ n = {\'n,\~n},
+ O = {\O,\`O,\'O,\^O,\~O,\"O},
+ o = {\o,\`o,\'o,\^o,\~o,\"o},
+ S = {\'S,\c S,\v S},
+ s = {\'s,\c s,\v s},
+ T = {\c T},
+ t = {\c t},
+ U = {\`U,\'U,\^U,\"U,\k U},
+ u = {\`u,\'u,\^u,\"u,\k u},
+ Y = {\'Y,\"Y},
+ y = {\'y,\"y},
+ Z = {\'Z,\.Z,\v Z},
+ z = {\'z,\.z,\v z},
+ . = \textellipsis
+ }
+
+\DeclareCharacterInheritance
{ encoding = T5 }
- { A = {\`A,\'A,\~A,\h{A},\d{A},\^A,\u{A},
+ { A = {\`A,\'A,\~A,\h A,\d A,\^A,\u A,
\`\Acircumflex,\'\Acircumflex,\~\Acircumflex,\h\Acircumflex,\d\Acircumflex,
\`\Abreve,\'\Abreve,\~\Abreve,\h\Abreve,\d\Abreve},
- a = {\`a,\'a,\~a,\h{a},\d{a},\^a,\u{a},
+ a = {\`a,\'a,\~a,\h a,\d a,\^a,\u a,
\`\acircumflex,\'\acircumflex,\~\acircumflex,\h\acircumflex,\d\acircumflex,
\`\abreve,\'\abreve,\~\abreve,\h\abreve,\d\abreve},
D = {\DJ},
d = {\dj},
- E = {\`E,\'E,\~E,\h{E},\d{E},\^E,
+ E = {\`E,\'E,\~E,\h E,\d E,\^E,
\`\Ecircumflex,\'\Ecircumflex,\~\Ecircumflex,\h\Ecircumflex,\d\Ecircumflex},
- e = {\`e,\'e,\~e,\h{e},\d{e},\^e,
+ e = {\`e,\'e,\~e,\h e,\d e,\^e,
\`\ecircumflex,\'\ecircumflex,\~\ecircumflex,\h\ecircumflex,\d\ecircumflex},
- I = {\`I,\'I,\~I,\h{I},\d{I}},
- i = {\`i,\'i,\~i,\h{i},\d{i},\i},
- O = {\`O,\'O,\~O,\h{O},\d{O},\^O,\horn{O},
+ I = {\`I,\'I,\~I,\h I,\d I},
+ i = {\`i,\'i,\~i,\h i,\d i,\i},
+ O = {\`O,\'O,\~O,\h O,\d O,\^O,\horn O,
\`\Ocircumflex,\'\Ocircumflex,\~\Ocircumflex,\h\Ocircumflex,\d\Ocircumflex,
\`\Ohorn,\'\Ohorn,\~\Ohorn,\h\Ohorn,\d\Ohorn},
- o = {\`o,\'o,\~o,\h{o},\d{o},\^o,\horn{o},
+ o = {\`o,\'o,\~o,\h o,\d o,\^o,\horn o,
\`\ocircumflex,\'\ocircumflex,\~\ocircumflex,\h\ocircumflex,\d\ocircumflex,
\`\ohorn,\'\ohorn,\~\ohorn,\h\ohorn,\d\ohorn},
- U = {\`U,\'U,\~U,\h{U},\d{U},\horn{U},
+ U = {\`U,\'U,\~U,\h U,\d U,\horn U,
\`\Uhorn,\'\Uhorn,\~\Uhorn,\h\Uhorn,\d\Uhorn},
- u = {\`u,\'u,\~u,\h{u},\d{u},\horn{u},
+ u = {\`u,\'u,\~u,\h u,\d u,\horn u,
\`\uhorn,\'\uhorn,\~\uhorn,\h\uhorn,\d\uhorn},
- Y = {\`Y,\'Y,\~Y,\h{Y},\d{Y}},
- y = {\`y,\'y,\~y,\h{y},\d{y}},
+ Y = {\`Y,\'Y,\~Y,\h Y,\d Y},
+ y = {\`y,\'y,\~y,\h y,\d y},
}
%%% ----------------------------------------------------------------------
@@ -221,7 +258,7 @@
\SetExpansion
[ name = default ]
- { encoding = {OT1,OT4,T1,LY1} }
+ { encoding = {OT1,OT4,QX,T1,LY1} }
{
A = 500, a = 700,
\AE = 500, \ae = 700,
@@ -316,7 +353,6 @@
? = { ,100},
@ = {50,50},
~ = {200,250},
- _ = {100,100},
\% = {50,50},
* = {200,200},
+ = {250,250},
@@ -333,6 +369,7 @@
load = default ]
{ encoding = {T1,LY1} }
{
+ _ = {100,100},
\textbackslash = {100,200},
\quotesinglbase = {400,400}, \quotedblbase = {400,400},
\guilsinglleft = {400,300}, \guilsinglright = {300,400},
@@ -343,6 +380,23 @@
}
\SetProtrusion
+ [ name = QX-default,
+ load = default ]
+ { encoding = QX }
+ {
+ {=} = {100,100},
+ \textunderscore = {100,100},
+ \textbackslash = {100,200},
+ \quotedblbase = {400,400},
+ \guillemotleft = {200,200}, \guillemotright = {200,200},
+ \textexclamdown = {100, }, \textquestiondown = {100, },
+ \textbraceleft = {400,200}, \textbraceright = {200,400},
+ \textless = {200,100}, \textgreater = {100,200},
+ \textminus = {200,200}, \textdegree = {300,300},
+ \copyright = {100,100}, \textregistered = {100,100},
+ }
+
+\SetProtrusion
[ name = OT1-it ]
{ encoding = OT1,
shape = {it,sl} }
@@ -351,7 +405,6 @@
{,}= { ,500},
: = { ,300},
; = { ,300},
- _ = { ,100},
& = {50,50},
\% = {100, },
* = {200,200},
@@ -372,6 +425,7 @@
{ encoding = {T1,LY1},
shape = {it,sl} }
{
+ _ = { ,100},
\textbackslash = {100,200},
\quotesinglbase = {300,700}, \quotedblbase = {400,500},
\guilsinglleft = {400,400}, \guilsinglright = {300,500},
@@ -381,6 +435,24 @@
}
\SetProtrusion
+ [ name = QX-it-default,
+ load = OT1-it ]
+ { encoding = {QX},
+ shape = {it,sl} }
+ {
+ {=} = {100,100},
+ \textunderscore = {100,100},
+ \textbackslash = {100,200},
+ \quotedblbase = {300,400},
+ \guillemotleft = {300,300}, \guillemotright = {300,300},
+ \textexclamdown = {200, }, \textquestiondown = {200, },
+ \textbraceleft = {200,100}, \textbraceright = {200,200},
+ \textless = {100,100}, \textgreater = {100,100},
+ \textminus = {200,200}, \textdegree = {300,150},
+ \copyright = {100,100}, \textregistered = {100,100},
+ }
+
+\SetProtrusion
[ name = OT1-sc,
load = default ]
{ encoding = OT1,
@@ -413,6 +485,22 @@
}
\SetProtrusion
+ [ name = QX-sc,
+ load = QX-default ]
+ { encoding = QX,
+ shape = sc }
+ {
+ a = {50,50},
+ f = { ,50},
+ j = {50, },
+ l = { ,50},
+ 013 = { ,50}, % fl
+ r = { , 0},
+ t = {50,50},
+ y = {50,50},
+ }
+
+\SetProtrusion
[ name = textcomp ]
{ encoding = TS1 }
{
diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.sty b/Master/texmf-dist/tex/latex/microtype/microtype.sty
index 79c72384491..0780299e6e0 100644
--- a/Master/texmf-dist/tex/latex/microtype/microtype.sty
+++ b/Master/texmf-dist/tex/latex/microtype/microtype.sty
@@ -9,9 +9,9 @@
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -25,8 +25,9 @@
%% -----------------------------------------------------------------------
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{microtype}
- [2005/10/28 v1.9 Micro-typography with pdfTeX (RS)]
+\ProvidesPackage{microtype}[2006/05/05
+ v1.9d
+ Micro-typography with pdfTeX (RS)]
\newcommand*\DeclareMicrotypeSet[3][]{}
\newcommand*\UseMicrotypeSet[2][]{}
\newcommand*\DeclareMicrotypeSetDefault[2][]{}
@@ -38,39 +39,29 @@
\newcommand*\LoadMicrotypeFile[1]{}
\newcommand*\microtypesetup[1]{}
\newcommand*\microtypecontext[1]{}
-\def\DeclareMicrotypeSet{%
- \@ifstar
- {\@ifnextchar[\MT@DeclareSet{\MT@DeclareSet[]}}%
- {\@ifnextchar[\MT@DeclareSet{\MT@DeclareSet[]}}%
-}
-\def\MT@DeclareSet[#1]#2#3{}
+\def\DeclareMicrotypeSet#1#{\@gobbletwo}
\@onlypreamble{\DeclareMicrotypeSet}
\@onlypreamble{\UseMicrotypeSet}
+\@onlypreamble{\DeclareMicrotypeSetDefault}
\@onlypreamble{\DisableLigatures}
\def\MT@old@cmd#1#2{%
- \MT@warning{\string#1 is deprecated. Please use\MessageBreak
- \string#2 instead}%
- \let#1#2#2}
-\newcommand*\DeclareMicroTypeSet{%
- \MT@old@cmd\DeclareMicroTypeSet
- \DeclareMicrotypeSet}
-\newcommand*\UseMicroTypeSet{%
- \MT@old@cmd\UseMicroTypeSet
- \UseMicrotypeSet}
-\newcommand*\DeclareMicroTypeAlias{%
- \MT@old@cmd\DeclareMicroTypeAlias
- \DeclareMicrotypeAlias}
-\newcommand*\LoadMicroTypeFile{%
- \MT@old@cmd\LoadMicroTypeFile
- \LoadMicrotypeFile}
-\def\MT@error{\PackageError{microtype}}
-\def\MT@warning{\PackageWarning{microtype}}
+ \newcommand*#1{\MT@warning{%
+ \string#1 is deprecated. Please use\MessageBreak
+ \string#2 instead}%
+ \let #1#2#2}}
+\MT@old@cmd\DeclareMicroTypeSet\DeclareMicrotypeSet
+\MT@old@cmd\UseMicroTypeSet\UseMicrotypeSet
+\MT@old@cmd\DeclareMicroTypeAlias\DeclareMicrotypeAlias
+\MT@old@cmd\LoadMicroTypeFile\LoadMicrotypeFile
+\def\MT@MT{microtype}
+\def\MT@error{\PackageError{\MT@MT}}
+\def\MT@warning{\PackageWarning{\MT@MT}}
\def\MT@warning@nl#1{\MT@warning{#1\@gobble}}
\def\MT@warn@err#1{\MT@error{#1}{%
- This error message appears because you loaded the `microtype'\MessageBreak
+ This error message appears because you loaded the `\MT@MT'\MessageBreak
package with the option `verbose=errors'. Consult the documentation\MessageBreak
- in microtype.(pdf,dvi) to find out what went wrong.}}
-\def\MT@info{\PackageInfo{microtype}}
+ in \MT@MT.(pdf,dvi) to find out what went wrong.}}
+\def\MT@info{\PackageInfo{\MT@MT}}
\def\MT@info@nl#1{\MT@info{#1\@gobble}}
\let\MT@vinfo\@gobble
\let\MT@pdftex@no\z@
@@ -103,20 +94,18 @@
\fi
\fi
\ifnum\MT@pdftex@no<\tw@
- \AtEndOfPackage{\let\@unprocessedoptions\relax}%
+ \AtEndOfPackage{\let\@unprocessedoptions\relax}
\let\CurrentOption\@empty
\MT@warning@nl{%
\ifcase\MT@pdftex@no
You don't seem to be using pdftex.\MessageBreak
\or
You are using a pdftex version older than 0.14f.\MessageBreak
- microtype won't work with such antiquated versions.\MessageBreak
+ `\MT@MT' won't work with such antiquated versions.\MessageBreak
Please install a newer version of pdftex.\MessageBreak
\fi
All micro-typographic features will be disabled}
- \expandafter
- \endinput
-\fi
+\endinput\fi
\def\MT@catcodes{%
\catcode`\^7 %
\@makeother\-%
@@ -127,7 +116,7 @@
\@makeother\`%
\@makeother\'%
\@makeother\"%
- \@makeother\|%
+ \@makeother\!%
}
\def\MT@restore@catcodes#1{%
\ifx\relax#1\else
@@ -135,20 +124,18 @@
\expandafter\MT@restore@catcodes
\fi
}
-\edef\MT@restore@catcodes{%
- \MT@restore@catcodes\^\-\=\*\,\/\`\'\"\|\relax
-}
+\edef\MT@restore@catcodes{\MT@restore@catcodes\^\-\=\*\,\/\`\'\"\!\relax}
\MT@catcodes
\AtEndOfPackage{\MT@restore@catcodes}
\RequirePackage{keyval}[1997/11/10]
-\newtoks\mt@toks
+\newtoks\MT@toks
\newif\ifMT@protrusion
\newif\ifMT@expansion
\newif\ifMT@auto
\newif\ifMT@selected
\newif\ifMT@noligatures
-\newif\ifMT@DVIoutput
\newif\ifMT@draft
+\newif\ifMT@document
\let\MT@pr@level\tw@
\let\MT@pr@factor\@m
\let\MT@pr@unit\@empty
@@ -165,94 +152,24 @@
\def\MT@stretch@default{20 }
\def\MT@shrink@default{20 }
\def\MT@step@default{4 }
-\def\MT@pdfcprot@error{%
- \MT@error{Detected the `pdfcprot' package!\MessageBreak
- `microtype' and `pdfcprot' may not be used together}{%
-The `pdfcprot' package provides an interface to character protrusion.\MessageBreak
-So does the `microtype' package. Using both packages at the same\MessageBreak
-time will almost certainly lead to undesired results. Have your choice!}%
- \let\MT@pdfcprot@error\relax
-}
-\@ifpackageloaded{pdfcprot}\MT@pdfcprot@error\relax
-\def\MT@ledmac@setup{%
- \ifMT@protrusion
- \ifnum\MT@pdftex@no > 4
- \MT@ifdefined@c\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}%
- }%
- \else
- \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
+\expandafter\let\expandafter\MT@requires@etex
+ \ifcase 0%
+ \ifx\eTeXversion\@undefined 1\else
+ \ifx\eTeXversion\relax 1\else
+ \ifcase\eTeXversion 1\fi
+ \fi
+ \fi\space
+ \@firstoftwo
+ \else
+ \@secondoftwo
\fi
-}
-\def\MT@setupfont@hook{%
- \@ifpackagewith{babel}{spanish}{%
- \MT@ifdefined@c\percentsign
- {\let\%\percentsign}\relax
- }\relax
- \@ifpackageloaded{csquotes}{%
- \@ifpackagelater{csquotes}{2005/05/11}\@disablequotes\relax
- }\relax
- \@ifpackageloaded{hyperref}{%
- \chardef\%`\%
- \chardef\#`\#
- }\relax
-}
-\AtBeginDocument{%
- \@ifpackageloaded{pdfcprot}\MT@pdfcprot@error\relax
- \@ifpackageloaded{ledmac}\MT@ledmac@setup\relax
- \let\MT@setupfont@hook\@empty
- \@ifpackagewith{babel}{spanish}{%
- \g@addto@macro\MT@setupfont@hook{%
- \MT@ifdefined@c\percentsign
- {\let\%\percentsign}\relax}%
- }\relax
- \@ifpackageloaded{csquotes}{%
- \@ifpackagelater{csquotes}{2005/05/11}{%
- \g@addto@macro\MT@setupfont@hook\@disablequotes
- }{%
- \MT@warning@nl{%
- Should you receive warnings about unknown slot\MessageBreak
- numbers, try upgrading the `csquotes' package}%
- }%
- }\relax
- \@ifpackageloaded{hyperref}{%
- \g@addto@macro\MT@setupfont@hook{%
- \chardef\%`\%
- \chardef\#`\#
- }%
- \pdfstringdefDisableCommands{%
- \let\pickup@font\MT@orig@pickupfont
- }%
- }\relax
-}
-\expandafter\ifx\the\font\nullfont\normalfont\fi
-\let\MT@etex@no\z@
-\ifx\eTeXversion\@undefined \else
- \ifx\eTeXversion\relax \else
- \ifnum\eTeXversion>\z@
- \let\MT@etex@no\@ne
- \fi
+\def\MT@requires@pdftex#1{%
+ \ifnum\MT@pdftex@no<#1\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
\fi
-\fi
+}
\def\MT@def@n#1{\expandafter\def\csname #1\endcsname}
\def\MT@edef@n#1{\expandafter\edef\csname #1\endcsname}
\def\MT@let@nc#1{\expandafter\let\csname #1\endcsname}
@@ -261,43 +178,79 @@ time will almost certainly lead to undesired results. Have your choice!}%
\def\MT@exp@string{\expandafter\string}
\def\MT@exp@one@n#1#2{\expandafter#1\expandafter{#2}}
\def\MT@exp@two@c#1{\expandafter\expandafter\expandafter#1\expandafter}
-\def\MT@exp@two@n#1#2#3{\expandafter\expandafter\expandafter
- #1\expandafter\expandafter\expandafter
- {\expandafter#2\expandafter}\expandafter{#3}}
-\def\MT@hop@fi#1\fi{\fi#1}
-\def\MT@hop@else@fi#1\else#2\fi{\fi#1}
-\ifcase\MT@etex@no \MT@hop@else@fi{%
- \def\MT@ifdefined@c#1{%
- \ifx#1\@undefined
- \expandafter\@secondoftwo
+\def\MT@exp@two@n#1#2#3{%
+ \expandafter\expandafter\expandafter
+ #1\expandafter\expandafter\expandafter
+ {\expandafter#2\expandafter}\expandafter{#3}}
+\MT@requires@etex{
+ \def\MT@ifdefined@c@T#1{%
+ \ifdefined#1%
+ \expandafter\@firstofone
\else
- \expandafter\@firstoftwo
+ \expandafter\@gobble
\fi
}
- \def\MT@ifdefined@n#1{%
- \begingroup\MT@exp@two@c\endgroup
- \ifx\csname #1\endcsname\relax
+ \def\MT@ifdefined@c@TF#1{%
+ \ifdefined#1%
+ \expandafter\@firstoftwo
+ \else
\expandafter\@secondoftwo
+ \fi
+ }
+ \def\MT@ifdefined@n@T#1{%
+ \ifcsname#1\endcsname
+ \expandafter\@firstofone
\else
- \expandafter\@firstoftwo
+ \expandafter\@gobble
\fi
}
-}\else\MT@hop@fi{%
- \def\MT@ifdefined@c#1{%
- \ifdefined#1%
+ \def\MT@ifdefined@n@TF#1{%
+ \ifcsname#1\endcsname
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
}
- \def\MT@ifdefined@n#1{%
- \ifcsname#1\endcsname
+}{
+ \def\MT@ifdefined@c@T#1{%
+ \ifx#1\@undefined
+ \expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi
+ }
+ \def\MT@ifdefined@c@TF#1{%
+ \ifx#1\@undefined
+ \expandafter\@secondoftwo
+ \else
\expandafter\@firstoftwo
+ \fi
+ }
+ \def\MT@ifdefined@n@T#1{%
+ \begingroup\MT@exp@two@c\endgroup
+ \ifx\csname #1\endcsname\relax
+ \expandafter\@gobble
\else
+ \expandafter\@firstofone
+ \fi
+ }
+ \def\MT@ifdefined@n@TF#1{%
+ \begingroup\MT@exp@two@c\endgroup
+ \ifx\csname #1\endcsname\relax
\expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
\fi
}
-}\fi
+}
+\MT@requires@etex{
+ \def\MT@detokenize@n#1{\detokenize\expandafter{\string#1}}
+ \def\MT@detokenize@c#1{\detokenize
+ \expandafter\expandafter\expandafter{\expandafter\string#1}}
+}{
+ \def\MT@detokenize@n#1{\string#1}
+ \def\MT@detokenize@c#1{\MT@exp@two@c\zap@space\strip@prefix\meaning#1 \@empty}
+}
\begingroup
\catcode`\%=12
\catcode`\&=14
@@ -309,51 +262,69 @@ time will almost certainly lead to undesired results. Have your choice!}%
\fi
}
\endgroup
-\def\MT@ifnumber#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
+\MT@requires@pdftex6{
+ \def\MT@ifint#1{%
+ \ifcase\pdfmatch{^[0-9]+ *$}{#1}\relax
+ \expandafter\@secondoftwo
\else
- \aftergroup\@firstoftwo
- \fi}%
-}
-\def\MT@ifgt#1#2{%
- \ifdim #1\p@ > #2\p@
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
+ \expandafter\@firstoftwo
+ \fi
+ }
+}{
+ \def\MT@ifint#1{%
+ \if!\ifnum9<1#1!\else?\fi
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ }
}
-\def\MT@iflt#1#2{%
- \ifdim #1\p@ < #2\p@
- \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)? *$}{#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@ifeq#1#2{%
- \ifdim #1\p@ = #2\p@
+\def\MT@ifdim#1#2#3{%
+ \ifdim #1\p@ #2 #3\p@
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
}
-\def\MT@ifstreq#1#2{%
- \edef\x{#1}%
- \edef\y{#2}%
- \ifx\x\y
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \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\x{#1}%
+ \edef\y{#2}%
+ \ifx\x\y
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ }
}
\def\MT@xadd#1#2{%
\ifx#1\relax
@@ -372,27 +343,21 @@ time will almost certainly lead to undesired results. Have your choice!}%
\def\MT@map@clist@n#1#2{%
\ifx\@empty#1\else
\def\MT@clist@function##1{#2}%
- \expandafter\MT@map@clist@
- \expandafter#1,\@nil,\@nnil,%
+ \MT@map@clist@#1,\@nil,\@nnil
\fi
}
-\def\MT@map@clist@c#1{\expandafter\MT@map@clist@n\expandafter{#1}}
+\def\MT@map@clist@c#1{\MT@exp@one@n\MT@map@clist@n#1}
\def\MT@map@clist@#1,{%
\ifx\@nil#1%
- \MT@clist@break
- \else
- \MT@clist@function{#1}%
- \expandafter\MT@map@clist@
+ \expandafter\MT@clist@break
\fi
+ \MT@clist@function{#1}%
+ \MT@map@clist@
}
-\def\MT@clist@break#1\@nnil,{\fi}
-\def\MT@map@tlist@n#1#2{%
- \MT@map@tlist@#2#1\@nnil
-}
-\def\MT@map@tlist@c#1#2{%
- \expandafter\MT@map@tlist@
- \expandafter#2#1\@nnil
-}
+\let\MT@clist@function\@gobble
+\def\MT@clist@break#1\@nnil{}
+\def\MT@map@tlist@n#1#2{\MT@map@tlist@#2#1\@nnil}
+\def\MT@map@tlist@c#1#2{\expandafter\MT@map@tlist@\expandafter#2#1\@nnil}
\def\MT@map@tlist@#1#2{%
\ifx\@nnil#2\else
#1{#2}%
@@ -403,24 +368,25 @@ time will almost certainly lead to undesired results. Have your choice!}%
\def\MT@tlist@break#1\@nnil{\fi}
\newif\ifMT@inlist@
\def\MT@in@clist#1#2{%
- \MT@inlist@false
- \def\x##1#1,##2\@nnil{%
- \ifx\\##2\\\else
+ \def\x##1,#1,##2##3\@nnil{%
+ \ifx##2\@empty
+ \MT@inlist@false
+ \else
\MT@inlist@true
\fi
}%
- \expandafter\x#2,#1,\@nnil
+ \expandafter\x\expandafter,#2,#1,\@empty\@nnil
}
-\def\MT@rem@from@list#1#2{%
- \def\x##1#1,##2\@nnil{%
- \ifx\\##2\\\else
- \def\x####1,#1,####2\@nnil{%
- \gdef#2{##1####1}%
- }%
- \x##2,#1,\@nnil
+\def\MT@rem@from@clist#1#2{%
+ \def\x##1,#1,##2##3\@nnil{%
+ \ifx##2\@empty\else
+ \ifx\\##1\\\global\let#2\@gobble
+ \else\xdef#2{\@gobble##1}\fi
+ \def\x####1,#1,####2####3\@nnil{\xdef#2{#2####1}}%
+ \x,##2##3,#1,\@nnil
\fi
}%
- \expandafter\x#2,#1,\@nnil
+ \expandafter\x\expandafter,#2,#1,\@empty\@nnil
}
\def\MT@in@tlist#1#2{%
\MT@inlist@false
@@ -438,17 +404,15 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@inlist@false
\MT@map@tlist@c#1\MT@in@rlist@
}
-\def\MT@in@rlist@#1{%
- \expandafter\MT@in@rlist@@#1%
-}
+\def\MT@in@rlist@#1{\expandafter\MT@in@rlist@@#1}
\def\MT@in@rlist@@#1#2#3{%
- \MT@ifeq{#2}\m@ne{%
- \MT@ifeq{#1}\MT@size
+ \MT@ifdim{#2}=\m@ne{%
+ \MT@ifdim{#1}=\MT@size
\MT@inlist@true
\relax
}{%
- \MT@iflt\MT@size{#1}\relax{%
- \MT@iflt\MT@size{#2}%
+ \MT@ifdim\MT@size<{#1}\relax{%
+ \MT@ifdim\MT@size<{#2}%
\MT@inlist@true
\relax
}%
@@ -460,31 +424,27 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
\def\MT@loop#1\MT@repeat{%
\def\MT@iterate{#1\relax\expandafter\MT@iterate\fi}%
- \MT@iterate
- \let\MT@iterate\relax
+ \MT@iterate \let\MT@iterate\relax
}
\let\MT@repeat\fi
-\def\MT@while@num#1#2{\MT@loop #2\ifnum#1\MT@repeat}
+\def\MT@while@num#1#2#3{%
+ \@tempcnta#1\relax
+ \MT@loop #3%
+ \advance\@tempcnta \@ne
+ \ifnum\@tempcnta < #2\MT@repeat
+}
+\def\MT@do@font{\MT@while@num\z@\@cclvi}
\newcount\MT@count
-\ifcase\MT@etex@no
+\MT@requires@etex{
+ \def\MT@increment#1{\edef#1{\number\numexpr #1 + 1\relax}}
+}{
\def\MT@increment#1{%
\MT@count=#1\relax
\advance\MT@count \@ne
\edef#1{\number\MT@count}%
}
-\else
- \def\MT@increment#1{%
- \edef#1{\number\numexpr #1 + 1\relax}%
- }
-\fi
-\ifcase\MT@etex@no
- \def\MT@scale#1#2#3{%
- \multiply #1 #2\relax
- \ifnum #3 = \z@ \else
- \divide #1 #3\relax
- \fi
- }
-\else
+}
+\MT@requires@etex{
\def\MT@scale#1#2#3{%
\ifnum #3 = \z@
#1=\numexpr #1 * #2\relax
@@ -492,8 +452,14 @@ time will almost certainly lead to undesired results. Have your choice!}%
#1=\numexpr #1 * #2 / #3\relax
\fi
}
-\fi
-\def\MT@remove@spaces#1{\expandafter\KV@@sp@def\expandafter#1\expandafter{#1}}
+}{
+ \def\MT@scale#1#2#3{%
+ \multiply #1 #2\relax
+ \ifnum #3 = \z@ \else
+ \divide #1 #3\relax
+ \fi
+ }
+}
\let\MT@make@string\@onelevel@sanitize
\def\MT@abbr@pr{protrusion}
\def\MT@abbr@ex{expansion}
@@ -504,6 +470,118 @@ time will almost certainly lead to undesired results. Have your choice!}%
\def\MT@abbr@nl{noligatures}
\def\MT@rbba@protrusion{pr}
\def\MT@rbba@expansion{ex}
+\def\MT@features{pr,ex%
+}
+\def\MT@features@long{protrusion,expansion%
+}
+\def\MT@is@feature#1{%
+ \MT@exp@one@n\MT@in@clist\@tempa\MT@features@long
+ \ifMT@inlist@
+ \expandafter\@firstofone
+ \else
+ \MT@error{`\@tempa' is not an available micro-typographic\MessageBreak
+ feature. Ignoring #1}{Available features are: `\MT@features@long'.}%
+ \expandafter\@gobble
+ \fi
+}
+\let\MT@setup@\@empty
+\def\MT@addto@setup#1{%
+ \begingroup
+ \MT@toks\expandafter{\MT@setup@#1}%
+ \xdef\MT@setup@{\the\MT@toks}%
+ \endgroup
+}
+\AtBeginDocument{\MT@setup@}
+\def\MT@with@package#1{\@ifpackageloaded{#1}\@firstofone\@gobble}
+\def\MT@pdfcprot@error{%
+ \MT@error{Detected the `pdfcprot' package!\MessageBreak
+ `\MT@MT' and `pdfcprot' may not be used together}{%
+The `pdfcprot' package provides an interface to character protrusion.\MessageBreak
+So does the `\MT@MT' package. Using both packages at the same\MessageBreak
+time will almost certainly lead to undesired results. Have your choice!}%
+ \let\MT@pdfcprot@error\relax
+}
+\MT@with@package{pdfcprot}\MT@pdfcprot@error
+\def\MT@ledmac@setup{%
+ \ifMT@protrusion
+ \MT@requires@pdftex5{%
+ \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}%
+ }%
+ }{%
+ \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\#`\# }
+\def\MT@setupfont@hook{%
+ \@ifpackagewith{babel}{spanish}{%
+ \MT@ifdefined@c@T\percentsign{\let\%\percentsign}%
+ }\relax
+ \MT@with@package{csquotes}{%
+ \@ifpackagelater{csquotes}{2005/05/11}\@disablequotes\relax
+ }%
+ \@ifpackageloaded{hyperref}\MT@restore@p@h{%
+ \MT@with@package{tex4ht}\MT@restore@p@h
+ }%
+}
+\MT@addto@setup{%
+ \MT@with@package{pdfcprot}\MT@pdfcprot@error
+ \MT@with@package{ledmac}\MT@ledmac@setup
+ \let\MT@setupfont@hook\@empty
+ \@ifpackagewith{babel}{spanish}{%
+ \g@addto@macro\MT@setupfont@hook{%
+ \MT@ifdefined@c@T\percentsign{\let\%\percentsign}}%
+ }\relax
+ \MT@with@package{csquotes}{%
+ \@ifpackagelater{csquotes}{2005/05/11}{%
+ \g@addto@macro\MT@setupfont@hook\@disablequotes
+ }{%
+ \MT@warning@nl{%
+ Should you receive warnings about unknown slot\MessageBreak
+ numbers, try upgrading the `csquotes' package}%
+ }%
+ }%
+ \@ifpackageloaded{hyperref}{%
+ \g@addto@macro\MT@setupfont@hook\MT@restore@p@h
+ \pdfstringdefDisableCommands{%
+ \let\pickup@font\MT@orig@pickupfont
+ }%
+ }{%
+ \MT@with@package{tex4ht}{%
+ \g@addto@macro\MT@setupfont@hook\MT@restore@p@h
+ }%
+ }%
+ \MT@with@package{listings}{%
+ \g@addto@macro\MT@begin@catcodes{%
+ \MT@while@num{"30}{"3A}{\catcode\@tempcnta 12\relax}%
+ \MT@while@num{"41}{"5B}{\catcode\@tempcnta 11\relax}%
+ \MT@while@num{"61}{"7B}{\catcode\@tempcnta 11\relax}%
+ }%
+ \g@addto@macro\MT@setupfont@hook{%
+ \let\lst@ProcessLetter\@empty
+ }%
+ }%
+}
+\expandafter\ifx\the\font\nullfont\normalfont\fi
\def\MT@setupfont{%
\ifx\MT@vinfo\MT@info@nl
\MT@info{Setting up font `\MT@exp@string\MT@font'}\fi
@@ -523,7 +601,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\def\MT@series{#3}%
\def\MT@shape{#4}%
\def\MT@size{#5}%
- \MT@ifdefined@n{MT@\MT@family @alias}%
+ \MT@ifdefined@n@TF{MT@\MT@family @alias}%
{\MT@let@cn\MT@familyalias{MT@\MT@family @alias}}%
{\let\MT@familyalias\@empty}%
}
@@ -532,7 +610,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\expandafter\csname ifMT@\csname MT@abbr@#1\endcsname\endcsname
\MT@dotrue
\MT@map@clist@n{font,encoding,family,series,shape,size}{%
- \MT@ifdefined@n{MT@checklist@##1}%
+ \MT@ifdefined@n@TF{MT@checklist@##1}%
{\csname MT@checklist@##1\endcsname}%
{\MT@checklist@{##1}}%
{#1}%
@@ -549,36 +627,40 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
\def\MT@checklist@#1#2{%
\edef\@tempa{\csname MT@#2@setname\endcsname}%
- \MT@ifdefined@n{MT@#2list@#1@\@tempa}{%
- \expandafter\expandafter\expandafter
- \MT@in@clist\expandafter\expandafter\expandafter
- {\csname MT@#1\expandafter\endcsname\expandafter}%
- \csname MT@#2list@#1@\@tempa\endcsname
+ \MT@ifdefined@n@T
+ {MT@#2list@#1@\@tempa}{%
+ \expandafter\MT@exp@one@n\expandafter\MT@in@clist
+ \csname MT@#1\expandafter\endcsname
+ \csname MT@#2list@#1@\@tempa\endcsname
\ifMT@inlist@
\MT@dotrue
\else
\MT@dofalse
\expandafter\MT@clist@break
\fi
- }{%
}%
}
\def\MT@checklist@font#1{%
\edef\@tempa{\csname MT@#1@setname\endcsname}%
- \MT@ifdefined@n{MT@#1list@font@\@tempa}{%
- \MT@exp@two@n\MT@in@clist
- \MT@font{\csname MT@#1list@font@\@tempa\endcsname}%
+ \MT@ifdefined@n@T
+ {MT@#1list@font@\@tempa}{%
+ \expandafter\expandafter\expandafter\MT@exp@one@n
+ \expandafter\expandafter\expandafter\MT@in@clist
+ \expandafter\expandafter\expandafter{%
+ \expandafter\expandafter\expandafter\string
+ \expandafter\MT@font\expandafter}%
+ \csname MT@#1list@font@\@tempa\endcsname
\ifMT@inlist@
\expandafter\MT@clist@break
\else
\MT@dofalse
\fi
- }{%
}%
}
\def\MT@checklist@family#1{%
\edef\@tempa{\csname MT@#1@setname\endcsname}%
- \MT@ifdefined@n{MT@#1list@family@\@tempa}{%
+ \MT@ifdefined@n@T
+ {MT@#1list@family@\@tempa}{%
\MT@exp@two@n\MT@in@clist
\MT@family{\csname MT@#1list@family@\@tempa\endcsname}%
\ifMT@inlist@
@@ -596,12 +678,12 @@ time will almost certainly lead to undesired results. Have your choice!}%
\ifMT@do \else
\expandafter\MT@clist@break
\fi
- }{%
}%
}
\def\MT@checklist@size#1{%
\edef\@tempa{\csname MT@#1@setname\endcsname}%
- \MT@ifdefined@n{MT@#1list@size@\@tempa}{%
+ \MT@ifdefined@n@T
+ {MT@#1list@size@\@tempa}{%
\expandafter\MT@in@rlist
\csname MT@#1list@size@\@tempa\endcsname
\ifMT@inlist@
@@ -610,28 +692,25 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@dofalse
\expandafter\MT@clist@break
\fi
- }{%
}%
}
\def\MT@protrusion{\MT@maybe@do{pr}}
\def\MT@set@pr@codes{%
- \MT@reset@pr@codes
\MT@if@list@exists{%
\MT@get@dimen@six
\MT@get@opt
+ \MT@reset@pr@codes
\MT@get@inh@list
- \MT@load@list{\MT@pr@c@name}%
- \edef\MT@curr@list@name{protrusion list `\MT@pr@c@name'}%
+ \MT@load@list\MT@pr@c@name
+ \MT@set@listname
\MT@let@cn\@tempc{MT@pr@c@\MT@pr@c@name}%
\expandafter\MT@pr@do\@tempc,\relax,%
- }\relax
+ }\MT@reset@pr@codes
}
\def\MT@set@all@pr#1#2{%
- \@tempcnta=\z@
- \MT@while@num{\@tempcnta < \@cclvi}{%
+ \MT@do@font{%
\lpcode\MT@font\@tempcnta=#1\relax
\rpcode\MT@font\@tempcnta=#2\relax
- \advance\@tempcnta \@ne
}%
}
\def\MT@reset@pr@codes@{\MT@set@all@pr\z@\z@}
@@ -675,15 +754,15 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@scale@to@em
\rpcode\MT@font\MT@char=\@tempcntb
}%
- \MT@ifdefined@c\MT@pr@inh@name{%
- \MT@ifdefined@n{MT@inh@\MT@pr@inh@name @\MT@char @}{%
+ \MT@ifdefined@c@T\MT@pr@inh@name{%
+ \MT@ifdefined@n@T{MT@inh@\MT@pr@inh@name @\MT@char @}{%
\expandafter\MT@map@tlist@c
\csname MT@inh@\MT@pr@inh@name @\MT@char @\endcsname
\MT@set@pr@heirs
- }\relax
- }\relax
+ }%
+ }%
}
-\ifnum\MT@pdftex@no > \tw@
+\MT@requires@pdftex3{
\def\MT@scale@to@em{%
\@tempcntb=\MT@count\relax
\MT@scale\@tempcntb \@tempb \MT@dimen@six
@@ -691,19 +770,19 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@scale@factor
\fi
}
- \ifcase\MT@etex@no
+ \MT@requires@etex{
\def\MT@get@charwd{%
- \setbox\z@=\hbox{\MT@font \char\MT@char}%
- \MT@count=\wd\z@\relax
- \ifnum\MT@count=\z@ \MT@warn@missing@char \fi
+ \MT@count=\fontcharwd\MT@font\MT@char\relax
+ \ifnum\MT@count=\z@ \MT@info@missing@char \fi
}
- \else
+ }{
\def\MT@get@charwd{%
- \MT@count=\number\fontcharwd\MT@font\MT@char\relax
- \ifnum\MT@count=\z@ \MT@warn@missing@char \fi
+ \setbox\z@=\hbox{\MT@font \char\MT@char}%
+ \MT@count=\wd\z@\relax
+ \ifnum\MT@count=\z@ \MT@info@missing@char \fi
}
- \fi
-\else
+ }
+}{
\def\MT@scale@to@em{%
\MT@count=\@tempb\relax
\ifnum\MT@count=\z@ \else
@@ -711,40 +790,46 @@ time will almost certainly lead to undesired results. Have your choice!}%
\fi
}
\def\MT@get@charwd{\MT@count=\MT@dimen@six}
-\fi
+}
\def\MT@get@font@dimen#1{%
- \MT@count=\number\fontdimen#1\MT@font
+ \ifnum\fontdimen#1\MT@font=\z@
+ \MT@warning@nl{Font \font@name does not specify its\MessageBreak
+ \@backslashchar fontdimen \number#1 (it's zero).\MessageBreak
+ You should use a different `unit' for \MT@curr@list@name}%
+ \else
+ \MT@count=\fontdimen#1\MT@font
+ \fi
}
-\ifcase\MT@etex@no \MT@hop@else@fi{%
- \def\MT@warn@missing@char{%
- \MT@warning@nl{%
- Character `\the\mt@toks' has a width of 0pt\MessageBreak
- (it's probably missing) in font `\MT@exp@string\MT@font'.\MessageBreak
- It cannot be protruded}%
+\MT@requires@etex{
+ \def\MT@info@missing@char{%
+ \MT@info@nl{Character `\the\MT@toks' \iffontchar\MT@font\MT@char
+ has a width of 0pt \else is missing \fi in font\MessageBreak
+ `\MT@exp@string\MT@font'. Ignoring protrusion settings\MessageBreak
+ for this character}%
}
-}\else\MT@hop@fi{%
- \def\MT@warn@missing@char{%
- \MT@warning@nl{Character `\the\mt@toks'
- \iffontchar\MT@font\MT@char has a width of 0pt \else is missing \fi
- in font\MessageBreak `\MT@exp@string\MT@font'. It cannot be protruded}%
+}{
+ \def\MT@info@missing@char{%
+ \MT@info@nl{%
+ Character `\the\MT@toks' has a width of 0pt\MessageBreak
+ (it's probably missing) in font `\MT@exp@string\MT@font'.\MessageBreak
+ Ignoring protrusion settings for this character}%
}
-}\fi
+}
\def\MT@scale@factor{%
\ifnum\csname MT@\MT@feat @factor@\endcsname=\@m \else
\expandafter\MT@scale\expandafter
\@tempcntb \csname MT@\MT@feat @factor@\endcsname \@m
\fi
- \ifnum\@tempcntb > \csname MT@\MT@feat @max\endcsname\relax
- \@tempcnta=\csname MT@\MT@feat @max\endcsname
- \MT@warn@code@too@large
+ \ifnum\@tempcntb>\csname MT@\MT@feat @max\endcsname\relax
+ \expandafter\MT@warn@code@too@large\csname MT@\MT@feat @max\endcsname
\else
\ifnum\@tempcntb<\csname MT@\MT@feat @min\endcsname\relax
- \@tempcnta=\csname MT@\MT@feat @min\endcsname
- \MT@warn@code@too@large
+ \expandafter\MT@warn@code@too@large\csname MT@\MT@feat @min\endcsname
\fi
\fi
}
-\def\MT@warn@code@too@large{%
+\def\MT@warn@code@too@large#1{%
+ \@tempcnta=#1\relax
\ifnum\csname MT@\MT@feat @factor@\endcsname=\@m \else
\expandafter\MT@scale\expandafter\@tempcnta\expandafter\@m
\csname MT@\MT@feat @factor@\endcsname
@@ -752,12 +837,12 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@scale\@tempcnta \MT@dimen@six \MT@count
\MT@warning@nl{The \@nameuse{MT@abbr@\MT@feat} code \@tempb\space
is too large for character\MessageBreak
- `\the\mt@toks' in \MT@curr@list@name.\MessageBreak
+ `\the\MT@toks' in \MT@curr@list@name.\MessageBreak
Setting it to the maximum of \number\@tempcnta}%
- \@tempcntb=\@tempcnta
+ \@tempcntb=#1\relax
}
\def\MT@get@opt{%
- \MT@ifdefined@n{MT@\MT@feat @c@\csname MT@\MT@feat @c@name\endcsname @factor}{%
+ \MT@ifdefined@n@TF{MT@\MT@feat @c@\csname MT@\MT@feat @c@name\endcsname @factor}{%
\MT@let@nn{MT@\MT@feat @factor@}
{MT@\MT@feat @c@\csname MT@\MT@feat @c@name\endcsname @factor}%
\MT@vinfo{... : Multiplying \@nameuse{MT@abbr@\MT@feat} codes by
@@ -765,7 +850,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
}{%
\MT@let@nn{MT@\MT@feat @factor@}{MT@\MT@feat @factor}%
}%
- \MT@ifdefined@n{MT@\MT@feat @c@\csname MT@\MT@feat @c@name\endcsname @unit}{%
+ \MT@ifdefined@n@TF{MT@\MT@feat @c@\csname MT@\MT@feat @c@name\endcsname @unit}{%
\MT@let@nn{MT@\MT@feat @unit@}%
{MT@\MT@feat @c@\csname MT@\MT@feat @c@name\endcsname @unit}%
\expandafter\ifx\csname MT@\MT@feat @unit@\endcsname\@empty
@@ -791,9 +876,11 @@ time will almost certainly lead to undesired results. Have your choice!}%
\expandafter\MT@get@unit\csname MT@\MT@feat @unit@\endcsname
\fi
\fi
- \MT@ifdefined@n{MT@\MT@feat @c@\csname MT@\MT@feat @c@name\endcsname @preset}{%
+ \MT@ifdefined@n@T{MT@\MT@feat @c@\csname MT@\MT@feat @c@name\endcsname @preset}{%
+ \MT@set@listname
\csname MT@preset@\MT@feat\endcsname
- }\relax
+ \MT@let@nc{MT@reset@\MT@feat @codes}\relax
+ }%
}
\def\MT@get@unit#1{%
\expandafter\MT@get@unit@#1 e!\@nil
@@ -809,7 +896,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\else
\MT@vinfo{... : Setting \@nameuse{MT@abbr@\MT@feat} factors relative
to \the\@tempdima}%
- \MT@count=\number\@tempdima\relax
+ \MT@count=\@tempdima\relax
\fi
}
\def\MT@get@unit@#1e#2#3\@nil{%
@@ -833,10 +920,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
\def\MT@preset@pr@#1,#2\@nil{%
\ifx\MT@pr@unit@\@empty
- \MT@warning@nl{%
- Cannot preset characters relative to their widths\MessageBreak
- for protrusion list `\MT@pr@c@name'. Presetting them\MessageBreak
- relative to 1em instead}%
+ \MT@warn@preset@towidth{pr}%
\let\MT@preset@aux\MT@preset@aux@factor
\else
\let\MT@preset@aux\MT@preset@aux@space
@@ -856,14 +940,20 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@scale@to@em
\edef#2{\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
\MT@reset@ef@codes
\MT@get@inh@list
- \MT@load@list{\MT@ex@c@name}%
- \edef\MT@curr@list@name{expansion list `\MT@ex@c@name'}%
+ \MT@load@list\MT@ex@c@name
+ \MT@set@listname
\MT@let@cn\@tempc{MT@ex@c@\MT@ex@c@name}%
\expandafter\MT@ex@do\@tempc,\relax,%
\pdffontexpand\MT@font \MT@stretch@ \MT@shrink@ \MT@step@ \MT@auto@\relax
@@ -887,22 +977,18 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
\let\MT@set@ex@codes\MT@set@ex@codes@n
\def\MT@set@all@ex#1{%
- \@tempcnta=\z@
- \MT@while@num{\@tempcnta < \@cclvi}{%
- \efcode\MT@font\@tempcnta=#1\relax
- \advance\@tempcnta \@ne
- }%
+ \MT@do@font{\efcode\MT@font\@tempcnta=#1\relax}%
}
\def\MT@reset@ef@codes@{\MT@set@all@ex\MT@ex@factor@}
-\ifnum\MT@pdftex@no < 4
- \let\MT@reset@ef@codes\MT@reset@ef@codes@
-\else
+\MT@requires@pdftex4{
\def\MT@reset@ef@codes{%
\ifnum\MT@ex@factor@=\@m \else
\MT@reset@ef@codes@
\fi
}
-\fi
+}{
+ \let\MT@reset@ef@codes\MT@reset@ef@codes@
+}
\def\MT@ex@do#1,{%
\ifx\relax#1\@empty \else
\MT@ex@split #1==\relax
@@ -926,55 +1012,46 @@ time will almost certainly lead to undesired results. Have your choice!}%
\fi
\fi
\efcode\MT@font\MT@char=\@tempcntb
- \MT@ifdefined@c\MT@ex@inh@name{%
- \MT@ifdefined@n{MT@inh@\MT@ex@inh@name @\MT@char @}{%
+ \MT@ifdefined@c@T\MT@ex@inh@name{%
+ \MT@ifdefined@n@T{MT@inh@\MT@ex@inh@name @\MT@char @}{%
\expandafter\MT@map@tlist@c
\csname MT@inh@\MT@ex@inh@name @\MT@char @\endcsname
\MT@set@ex@heirs
- }\relax
- }\relax
+ }%
+ }%
\fi
\fi
}
\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
+ \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@ifdefined@n{MT@ex@c@\MT@ex@c@name @factor}{%
+ \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@ifdefined@n{MT@ex@c@\MT@ex@c@name @stretch}{%
- \MT@let@cn\MT@stretch@{MT@ex@c@\MT@ex@c@name @stretch}%
- \MT@vinfo{... : Setting stretch limit to \number\MT@stretch@}%
+ \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@\csname MT@ex@c@name\endcsname @preset}{%
+ \MT@set@listname
+ \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}%
}{%
- \let\MT@stretch@\MT@stretch
- }%
- \MT@ifdefined@n{MT@ex@c@\MT@ex@c@name @shrink}{%
- \MT@let@cn\MT@shrink@{MT@ex@c@\MT@ex@c@name @shrink}%
- \MT@vinfo{... : Setting shrink limit to \number\MT@shrink@}%
- }{%
- \let\MT@shrink@\MT@shrink
- }%
- \MT@ifdefined@n{MT@ex@c@\MT@ex@c@name @step}{%
- \MT@let@cn\MT@step@{MT@ex@c@\MT@ex@c@name @step}%
- \MT@vinfo{... : Setting expansion step to \number\MT@step@}%
- }{%
- \let\MT@step@\MT@step
- }%
- \MT@ifdefined@n{MT@ex@c@\MT@ex@c@name @auto}{%
- \MT@let@cn\MT@auto@{MT@ex@c@\MT@ex@c@name @auto}%
- \def\@tempa{autoexpand}%
- \MT@vinfo{... : \ifx\@tempa\MT@auto@ En\else Dis\fi
- abling automatic expansion}%
- }{%
- \let\MT@auto@\MT@auto
+ \MT@let@nn{MT@#1@}{MT@#1}%
}%
}
\def\MT@set@ex@heirs#1{%
@@ -985,14 +1062,12 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@scale@factor
\MT@set@all@ex\@tempcntb
}
-\ifnum\MT@pdftex@no < 5 \MT@hop@else@fi{%
- \let\MT@noligatures\relax
-}\else\MT@hop@fi{%
+\MT@requires@pdftex5{
\def\MT@noligatures{%
- \csname ifMT@\MT@abbr@nl\endcsname
+ \ifMT@noligatures
\MT@dotrue
\MT@map@clist@n{font,encoding,family,series,shape,size}{%
- \MT@ifdefined@n{MT@checklist@##1}%
+ \MT@ifdefined@n@TF{MT@checklist@##1}%
{\csname MT@checklist@##1\endcsname}%
{\MT@checklist@{##1}}%
{nl}%
@@ -1005,7 +1080,9 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@vinfo{... Disabling ligatures}%
\fi
}
-}\fi
+}{
+ \let\MT@noligatures\relax
+}
\def\MT@load@list#1{%
\edef\@tempa{#1}%
\MT@let@cn\@tempb{MT@\MT@feat @c@\@tempa load}%
@@ -1013,12 +1090,12 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@warning{\@nameuse{MT@abbr@\MT@feat} list `\@tempa' cannot load itself}%
}{%
\ifx\@tempb\relax \else
- \MT@ifdefined@n{MT@\MT@feat @c@\@tempb}{%
+ \MT@ifdefined@n@TF{MT@\MT@feat @c@\@tempb}{%
\MT@vinfo{... : First loading \@nameuse{MT@abbr@\MT@feat} list `\@tempb'}%
\begingroup
- \MT@load@list{\@tempb}%
+ \MT@load@list\@tempb
\endgroup
- \edef\MT@curr@list@name{\@nameuse{MT@abbr@\MT@feat} list `\@tempb'}%
+ \edef\MT@curr@list@name{\@nameuse{MT@abbr@\MT@feat} list\MessageBreak`\@tempb'}%
\MT@let@cn\@tempc{MT@\MT@feat @c@\@tempb}%
\expandafter\csname MT@\MT@feat @do\expandafter\endcsname\@tempc,\relax,%
}{%
@@ -1033,24 +1110,26 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@in@clist{#1}\MT@file@list
\ifMT@inlist@\else
\MT@begin@catcodes
- \let\MT@begin@catcodes\relax
- \let\MT@end@catcodes\relax
- \InputIfFileExists{mt-#1.cfg}{%
- \MT@vinfo{... Loading configuration file mt-#1.cfg}%
- \MT@xadd\MT@file@list{#1,}%
- }{%
- \expandafter\MT@get@basefamily#1\relax\relax\relax
- \MT@exp@one@n\MT@in@clist\@tempa\MT@file@list
- \ifMT@inlist@\else
- \InputIfFileExists{mt-\@tempa.cfg}{%
- \MT@vinfo{... Loading configuration file mt-\@tempa.cfg}%
- \MT@xadd\MT@file@list{\@tempa,#1,}%
- }{%
- \MT@vinfo{... No configuration file mt-#1.cfg}%
- \MT@xadd\MT@file@list{#1,}%
- }%
- \fi
- }%
+ \let\MT@begin@catcodes\relax
+ \let\MT@end@catcodes\relax
+ \InputIfFileExists{mt-#1.cfg}{%
+ \edef\MT@curr@file{mt-#1.cfg}%
+ \MT@vinfo{... Loading configuration file \MT@curr@file}%
+ \MT@xadd\MT@file@list{#1,}%
+ }{%
+ \expandafter\MT@get@basefamily#1\relax\relax\relax
+ \MT@exp@one@n\MT@in@clist\@tempa\MT@file@list
+ \ifMT@inlist@\else
+ \InputIfFileExists{mt-\@tempa.cfg}{%
+ \edef\MT@curr@file{mt-\@tempa.cfg}%
+ \MT@vinfo{... Loading configuration file \MT@curr@file}%
+ \MT@xadd\MT@file@list{\@tempa,#1,}%
+ }{%
+ \MT@vinfo{... No configuration file mt-#1.cfg}%
+ \MT@xadd\MT@file@list{#1,}%
+ }%
+ \fi
+ }%
\endgroup
\fi
}
@@ -1069,7 +1148,6 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@map@tlist@n
{\!\"\$\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\[\]\_\`\|\~}%
\@makeother
- \def\MT@remove@spaces##1{}%
\let\KV@@sp@def\def
}
\let\MT@end@catcodes\endgroup
@@ -1105,7 +1183,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
/\ifnum#3=\@ne \MT@shape\fi
/\ifnum#4=\@ne *\fi
\MT@context}%
- \MT@ifdefined@n{MT@\@tempb @\@tempa}{%
+ \MT@ifdefined@n@TF{MT@\@tempb @\@tempa}{%
\MT@next@listname@#4%
}{%
\ifnum#1=\@ne
@@ -1116,9 +1194,9 @@ time will almost certainly lead to undesired results. Have your choice!}%
/\ifnum#3=\@ne \MT@shape\fi
/\ifnum#4=\@ne *\fi
\MT@context}%
- \MT@ifdefined@n{MT@\@tempb @\@tempa}{%
+ \MT@ifdefined@n@T{MT@\@tempb @\@tempa}{%
\MT@next@listname@#4%
- }\relax
+ }%
\fi
\fi
}%
@@ -1134,9 +1212,10 @@ time will almost certainly lead to undesired results. Have your choice!}%
\fi
}
\def\MT@if@list@exists{%
- \expandafter\let\expandafter\MT@context\csname MT@\MT@feat @context\endcsname
+ \MT@let@cn\MT@context{MT@\MT@feat @context}%
+ \MT@ifstreq{@}\MT@context{\let\MT@context\@empty}\relax
\MT@get@listname{\MT@feat @c}%
- \MT@ifdefined@c\MT@listname{%
+ \MT@ifdefined@c@TF\MT@listname{%
\MT@edef@n{MT@\MT@feat @c@name}{\MT@listname}%
\ifMT@nonselected
\MT@vinfo{... Applying non-selected expansion (list `\MT@ex@c@name')}%
@@ -1161,12 +1240,12 @@ time will almost certainly lead to undesired results. Have your choice!}%
\def\MT@get@inh@list{%
\let\MT@context\@empty
\MT@get@listname{\MT@feat @inh}%
- \MT@ifdefined@c\MT@listname{%
+ \MT@ifdefined@c@TF\MT@listname{%
\MT@edef@n{MT@\MT@feat @inh@name}{\MT@listname}%
\MT@let@cn\@tempc{MT@\MT@feat @inh@\csname MT@\MT@feat @inh@name\endcsname}%
\ifx\@tempc\@empty \else
\MT@let@cn\MT@inh@name{MT@\MT@feat @inh@name}%
- \def\MT@curr@list@name{inheritance list}%
+ \edef\MT@curr@list@name{inheritance list\MessageBreak`\MT@inh@name'}%
\expandafter\MT@inh@do\@tempc,\relax,%
\global\MT@let@nc{MT@\MT@feat @inh@\csname MT@\MT@feat @inh@name\endcsname}\@empty
\fi
@@ -1176,49 +1255,45 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
\def\MT@get@slot{%
\escapechar`\\
- \let\Mt@char\m@ne
+ \let\MT@char@\m@ne
\MT@noresttrue
- \mt@toks=\expandafter\expandafter\expandafter{\expandafter\string\@tempa}%
- \edef\MT@char{\expandafter\meaning\@tempa}%
+ \MT@toks=\expandafter{\@tempa}%
\expandafter\MT@is@letter\@tempa\relax\relax
- \ifnum\Mt@char < \z@
+ \ifnum\MT@char@ < \z@
\MT@exp@two@c\MT@is@active\string\@tempa\@nil
- \MT@ifdefined@n{\MT@encoding\MT@detokenize\@tempa}%
+ \MT@ifdefined@n@TF{\MT@encoding\MT@detokenize@c\@tempa}%
\MT@is@symbol
- {%
- \expandafter\MT@is@composite\@tempa\relax\relax
- }%
- \ifnum\Mt@char < \z@
- \MT@exp@two@c\MT@is@char\MT@char\MT@charstring\relax\relax\relax
+ {\expandafter\MT@is@composite\@tempa\relax\relax}%
+ \ifnum\MT@char@ < \z@
+ \expandafter\MT@exp@two@c\expandafter\MT@is@char\expandafter
+ \meaning\expandafter\@tempa\MT@charstring\relax\relax\relax
\fi
\fi
- \let\MT@char\Mt@char
+ \let\MT@char\MT@char@
\ifnum\MT@char < \z@
\MT@warn@unknown
\else
\ifMT@norest \else
- \MT@warn@unknown@i
+ \MT@warn@rest
\let\MT@char\m@ne
\fi
\fi
\escapechar\m@ne
}
\newif\ifMT@norest
-\def\MT@testrest#1#2{%
- \MT@ifstreq{#1}{#2}\relax\MT@norestfalse
-}
+\def\MT@testrest#1#2{\MT@ifstreq{#1}{#2}\relax\MT@norestfalse}
\def\MT@is@letter#1#2\relax{%
\ifcat a\noexpand#1\relax
- \edef\Mt@char{\number`#1}%
+ \edef\MT@char@{\number`#1}%
\ifx\\#2\\%
\else
\MT@norestfalse
\fi
\else
- \ifcat 1\noexpand#1\relax
- \edef\Mt@char{\number`#1}%
+ \ifcat !\noexpand#1\relax
+ \edef\MT@char@{\number`#1}%
\ifx\\#2\\%
- \ifnum\Mt@char>127 \Mt@warn@ascii \fi
+ \ifnum\MT@char@>127 \MT@warn@ascii \fi
\else
\MT@norestfalse
\expandafter\MT@is@number#1#2\relax\relax
@@ -1231,50 +1306,45 @@ time will almost certainly lead to undesired results. Have your choice!}%
\ifx\relax#2\relax \else
\MT@noresttrue
\if#1"\relax
- \def\x{\uppercase{\edef\Mt@char{\number#1#2#3}}}\x
+ \def\x{\uppercase{\edef\MT@char@{\number#1#2#3}}}\x
\else
\if#1'\relax
- \def\Mt@char{\number#1#2#3}%
+ \def\MT@char@{\number#1#2#3}%
\else
- \MT@ifnumber{#1#2#3}{%
- \def\Mt@char{\number#1#2#3}%
+ \MT@ifint{#1#2#3}{%
+ \def\MT@char@{\number#1#2#3}%
}\MT@norestfalse
\fi
\fi
- \ifnum\Mt@char > \@cclv
+ \ifnum\MT@char@ > \@cclv
\MT@warn@number@too@large{\noexpand#1\noexpand#2\noexpand#3}%
- \let\Mt@char\m@ne
+ \let\MT@char@\m@ne
\fi
\fi
\fi
}
\def\MT@is@active#1#2\@nil{%
- \ifx\\#2\\%
- \ifnum\catcode`#1 = \active
- \begingroup
- \set@display@protect
- \def\IeC##1{##1}%
- \def\@inpenc@undefined@##1{undefined^^J%
- (microtype)\@spaces\@spaces\@spaces\@spaces
- in input encoding ``##1''}%
- \edef\x{%
- \def\noexpand\@tempa{\@tempa}%
- \mt@toks={\the\mt@toks\space (= \@tempa)}%
- }%
- \expandafter\endgroup\x
- \fi
+ \ifnum\catcode`#1 = \active
+ \begingroup
+ \set@display@protect
+ \let\IeC\@firstofone
+ \let\@inpenc@undefined@\MT@undefined@char
+ \def\UTFviii@defined##1{\ifx ##1\relax
+ \MT@undefined@char{utf8}\else\expandafter##1\fi}%
+ \edef\x{%
+ \def\noexpand\@tempa{\@tempa}%
+ \MT@toks={\the\MT@toks\space(= \@tempa)}%
+ }%
+ \expandafter\endgroup\x
\fi
}
+\def\MT@undefined@char#1{undefined in input encoding ``#1''}
\def\MT@is@symbol{%
- \edef\@tempa{\expandafter
- \csname\expandafter
- \MT@encoding\expandafter
- \string\@tempa
- \endcsname}%
+ \edef\MT@char{\csname\MT@encoding\MT@detokenize@c\@tempa\endcsname}%
\expandafter\MT@exp@two@c\expandafter\MT@is@char\expandafter
- \meaning\expandafter\@tempa\MT@charstring\relax\relax\relax
- \ifnum\Mt@char < \z@
- \expandafter\MT@is@letter\@tempa\relax\relax
+ \meaning\expandafter\MT@char\MT@charstring\relax\relax\relax
+ \ifnum\MT@char@ < \z@
+ \expandafter\MT@is@letter\MT@char\relax\relax
\fi
}
\begingroup
@@ -1286,10 +1356,10 @@ time will almost certainly lead to undesired results. Have your choice!}%
/def/MT@is@char##1\CHAR"##2##3##4/relax{%
/ifx/relax##1/relax
/if##3\/relax
- /edef/Mt@char{/number"##2}%
+ /edef/MT@char@{/number"##2}%
/MT@testrest/MT@charstring{##3##4}%
/else
- /edef/Mt@char{/number"##2##3}%
+ /edef/MT@char@{/number"##2##3}%
/MT@testrest/MT@charstring{##4}%
/fi
/fi
@@ -1299,24 +1369,21 @@ time will almost certainly lead to undesired results. Have your choice!}%
/expandafter/endgroup/x
\def\MT@is@composite#1#2\relax{%
\ifx\\#2\\\else
- \edef\@tempa{\expandafter
+ \edef\MT@char{\expandafter
\csname\expandafter
\string\csname\MT@encoding\endcsname
- \string#1-%
- \string#2%
+ \MT@detokenize@n{#1}-%
+ \MT@detokenize@n{#2}%
\endcsname}%
- \expandafter\MT@is@letter\@tempa\relax\relax
+ \expandafter\MT@is@letter\MT@char\relax\relax
\fi
}
-\ifcase\MT@etex@no
- \def\MT@detokenize#1{\MT@exp@two@c\zap@space\strip@prefix\meaning#1 \@empty}
-\else
- \def\MT@detokenize#1{\detokenize
- \expandafter\expandafter\expandafter{\expandafter\string#1}}
-\fi
-\let\MT@curr@list@name\@empty
-\def\Mt@warn@ascii{%
- \MT@warning@nl{Character `\the\mt@toks' (= \Mt@char)
+\def\MT@set@listname{%
+ \edef\MT@curr@list@name{\@nameuse{MT@abbr@\MT@feat} list\MessageBreak
+ `\@nameuse{MT@\MT@feat @c@name}'}%
+}
+\def\MT@warn@ascii{%
+ \MT@warning@nl{Character `\the\MT@toks' (= \MT@char@)
is outside of ASCII range.\MessageBreak
You must load the `inputenc' package before using\MessageBreak
8-bit characters in \MT@curr@list@name}%
@@ -1326,79 +1393,148 @@ time will almost certainly lead to undesired results. Have your choice!}%
Number #1 in encoding `\MT@encoding' too large!\MessageBreak
Ignoring it in \MT@curr@list@name}%
}
-\def\MT@warn@unknown@i{%
+\def\MT@warn@rest{%
\MT@warning@nl{%
- Unknown slot number of character `\the\mt@toks' in\MessageBreak
- font encoding `\MT@encoding'. Make sure it's a single\MessageBreak
+ Unknown slot number of character\MessageBreak`\the\MT@toks'\MessageBreak
+ in font encoding `\MT@encoding'. Make sure it's a single\MessageBreak
character (or a number) in \MT@curr@list@name}%
}
\def\MT@warn@unknown{%
\MT@warning@nl{%
- Unknown slot number of character `\the\mt@toks' in\MessageBreak
- font encoding `\MT@encoding' in \MT@curr@list@name}%
+ Unknown slot number of character\MessageBreak`\the\MT@toks'\MessageBreak
+ in font encoding `\MT@encoding' in \MT@curr@list@name}%
}
+\let\MT@font@list\@empty
\let\MT@font\@empty
-\g@addto@macro\do@subst@correction{%
- \xdef\MT@font{\csname \curr@fontshape/\f@size\endcsname}%
-}
-\def\MT@orig@pickupfont{\expandafter\ifx\font@name\relax\define@newfont\fi}
-\ifx\pickup@font\MT@orig@pickupfont \else
- \MT@warning@nl{%
- Command \string\pickup@font\space is not defined as expected.\MessageBreak
- Double-check whether micro-typography is indeed\MessageBreak
- applied to the document.\MessageBreak (Hint: Turn on `verbose' mode)%
+\MT@addto@setup{%
+ \g@addto@macro\do@subst@correction{%
+ \xdef\MT@font{\csname \curr@fontshape/\f@size\endcsname}%
}
-\fi
-\g@addto@macro\pickup@font{%
- \begingroup
- \escapechar\m@ne
- \ifx\MT@font\@empty
- \let\MT@font\font@name
- \else
- \ifx\MT@font\font@name \else
- \expandafter\MT@xadd
- \csname MT@\MT@curr@contexts font@list\endcsname{\font@name,}%
+ \def\MT@orig@pickupfont{\expandafter\ifx\font@name\relax\define@newfont\fi}
+ \ifx\pickup@font\MT@orig@pickupfont \else
+ \MT@warning@nl{%
+ Command \string\pickup@font\space is not defined as expected.\MessageBreak
+ Double-check whether micro-typography is indeed\MessageBreak
+ applied to the document.\MessageBreak (Hint: Turn on `verbose' mode)%
+ }
+ \fi
+ \g@addto@macro\pickup@font{%
+ \begingroup
+ \escapechar\m@ne
+ \ifx\MT@font\@empty
+ \let\MT@font\font@name
+ \else
+ \ifx\MT@font\font@name \else
+ \MT@register@subst@font
+ \fi
\fi
- \fi
+ \MT@check@font
+ \ifMT@inlist@ \else
+ \MT@setupfont
+ \MT@register@font
+ \fi
+ \endgroup
+ \global\let\MT@font\@empty
+ }
+ \let\MT@pickupfont\pickup@font
+ \let\MT@orig@add@accent\add@accent
+ \def\add@accent#1#2{%
+ \let\pickup@font\MT@orig@pickupfont
+ \MT@orig@add@accent{#1}{#2}%
+ \let\pickup@font\MT@pickupfont
+ }
+}
+\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,}}
+\let\MT@active@features\@empty
+\def\MT@check@font@cx{%
+ \@tempswatrue
+ \MT@map@clist@c\MT@active@features{%
\expandafter\MT@exp@one@n\expandafter\MT@in@clist\expandafter\MT@font
- \csname MT@\MT@curr@contexts font@list\endcsname
- \ifMT@inlist@ \else
- \MT@setupfont
- \expandafter\MT@xadd\csname MT@\MT@curr@contexts font@list\endcsname{\MT@font,}%
- \MT@map@tlist@c\MT@doc@contexts\MT@rem@from@lists
+ \csname MT@##1@\csname MT@##1@context\endcsname font@list\endcsname
+ \ifMT@inlist@
+ \MT@let@nc{MT@\@nameuse{MT@abbr@##1}}\relax
+ \else
+ \@tempswafalse
\fi
- \endgroup
- \global\let\MT@font\@empty
+ }%
+ \if@tempswa \MT@inlist@true \else \MT@inlist@false \fi
+}
+\def\MT@register@subst@font@cx{%
+ \MT@map@clist@c\MT@active@features{%
+ \expandafter\MT@xadd
+ \csname MT@##1@\csname MT@##1@context\endcsname font@list\endcsname
+ {\font@name,}%
+ }%
+}
+\def\MT@register@font@cx{%
+ \MT@map@clist@c\MT@active@features{%
+ \expandafter\ifx\csname MT@\@nameuse{MT@abbr@##1}\endcsname\relax\else
+ \expandafter\MT@xadd
+ \csname MT@##1@\csname MT@##1@context\endcsname font@list\endcsname
+ {\MT@font,}%
+ \def\@tempa{##1}%
+ \expandafter\MT@map@tlist@c
+ \csname MT@##1@doc@contexts\endcsname
+ \MT@rem@from@lists
+ \fi
+ }%
}
\def\MT@rem@from@lists#1{%
- \MT@ifstreq{#1}\MT@curr@contexts\relax{%
- \expandafter\MT@exp@one@n\expandafter\MT@rem@from@list
- \expandafter\MT@font\csname MT@#1font@list\endcsname
- }%
-}
-\let\MT@pickupfont\pickup@font
-\let\MT@add@accent\add@accent
-\def\add@accent#1#2{%
- \let\pickup@font\MT@orig@pickupfont
- \MT@add@accent{#1}{#2}%
- \let\pickup@font\MT@pickupfont
-}
-\AtBeginDocument{%
- \ifx\MT@pickupfont\pickup@font \else
- \MT@error{%
- Another package has overwritten the definition\MessageBreak
- of \string\pickup@font. I might not be able to\MessageBreak
- apply any micro-typography. Please find the\MessageBreak
- culprit, and load it before the microtype package
- }{%
-The microtype package attaches the micro-typographic setup to\MessageBreak
-\string\pickup@font. If the other package has simply overwritten this\MessageBreak
-command, nothing will work. If, on the other hand, it has changed\MessageBreak
-the command in a cautious way, everything may be fine.\MessageBreak
-In either case, please send a report to <w.m.l@gmx.net>.
- }%
- \fi
+ \MT@ifstreq{\@tempa/#1}{\@tempa/\csname MT@\@tempa @context\endcsname}\relax{%
+ \expandafter\MT@exp@one@n\expandafter\MT@rem@from@clist
+ \expandafter\MT@font\csname MT@\@tempa @#1font@list\endcsname
+ }%
+}
+\def\microtypecontext#1{\MT@addto@setup{\microtypecontext{#1}}}
+\MT@addto@setup{%
+ \def\microtypecontext#1{%
+ \MT@setup@contexts
+ \setkeys{MTC}{#1}%
+ \selectfont
+ \aftergroup\MT@reset@context
+ }%
+}
+\def\MT@reset@context{%
+ \MT@vinfo{Resetting contexts on line \the\inputlineno
+ }%
+ \selectfont
+}
+\def\MT@setup@contexts{%
+ \MT@map@clist@c\MT@active@features
+ {\global\MT@let@nc{MT@##1@@font@list}\MT@font@list}%
+ \global\let\MT@check@font\MT@check@font@cx
+ \global\let\MT@register@font\MT@register@font@cx
+ \global\let\MT@register@subst@font\MT@register@subst@font@cx
+ \global\let\MT@setup@contexts\relax
+}
+\def\MT@define@context#1{%
+ \define@key{MTC}{#1}[]{%
+ \KV@@sp@def\@tempb{#1}%
+ \edef\@tempb{\@nameuse{MT@rbba@\@tempb}}%
+ \MT@exp@one@n\MT@in@clist\@tempb\MT@active@features
+ \ifMT@inlist@
+ \MT@ifempty{##1}{\def\MT@val{@}}{\KV@@sp@def\MT@val{##1}}%
+ \expandafter\ifx\csname MT@\@tempb @context\endcsname\MT@val \else
+ \MT@vinfo{--- Changing #1 context to `\MT@val'}%
+ \global\MT@let@nn{MT@reset@\@tempb @codes}{MT@reset@\@tempb @codes@}%
+ \expandafter\MT@exp@one@n\expandafter\MT@in@tlist
+ \expandafter\MT@val\csname MT@\@tempb @doc@contexts\endcsname
+ \ifMT@inlist@ \else
+ \expandafter\MT@xadd\csname MT@\@tempb @doc@contexts\endcsname{{\MT@val}}%
+ \fi
+ \MT@edef@n{MT@\@tempb @context}{\MT@val}%
+ \fi
+ \fi
+ }%
}
+\MT@map@clist@c\MT@features@long{\MT@define@context{#1}}
+\MT@exp@one@n\MT@map@clist@n{\MT@features,nl}{%
+ \MT@def@n{MT@#1@context}{@}%
+ \MT@def@n{MT@#1@doc@contexts}{{@}}%
+}
+\let\MT@extra@context\@empty
\def\DeclareMicrotypeSet{%
\@ifstar
{\@ifnextchar[\MT@DeclareSetAndUseIt
@@ -1416,23 +1552,25 @@ In either case, please send a report to <w.m.l@gmx.net>.
\def\MT@DeclareSet@#1#2#3{%
\KV@@sp@def\@tempa{#1}%
\MT@ifempty\@tempa{%
- \MT@declare@sets{pr}{#2}{#3}%
- \MT@declare@sets{ex}{#2}{#3}%
+ \MT@map@clist@c\MT@features{{\MT@declare@sets{##1}{#2}{#3}}}%
}{%
- \MT@map@clist@c\@tempa{%
- {\KV@@sp@def\@tempa{##1}%
- \MT@ifempty\@tempa\relax{%
- \MT@exp@one@n\MT@declare@sets
- {\csname MT@rbba@\@tempa\endcsname}{#2}{#3}}}%
- }%
+ \MT@map@clist@c\@tempa{{%
+ \KV@@sp@def\@tempa{##1}%
+ \MT@ifempty\@tempa\relax{%
+ \MT@is@feature{set declaration `#2'}{%
+ \MT@exp@one@n\MT@declare@sets
+ {\csname MT@rbba@\@tempa\endcsname}{#2}{#3}%
+ }%
+ }%
+ }}%
}%
}
\let\MT@curr@set@name\@empty
\def\MT@declare@sets#1#2#3{%
\KV@@sp@def\MT@curr@set@name{#2}%
- \MT@ifdefined@n{MT@#1@set@@\MT@curr@set@name}{%
+ \MT@ifdefined@n@T{MT@#1@set@@\MT@curr@set@name}{%
\MT@warning{Redefining set `\MT@curr@set@name'}%
- }\relax
+ }%
\global\MT@let@nc{MT@#1@set@@\MT@curr@set@name}\@empty
\setkeys{MT@#1@set}{#3}%
}
@@ -1445,34 +1583,26 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@define@set@key@font{#1}%
}
\def\MT@define@set@key@#1#2{%
- \csname MT@#2list@#1@\MT@curr@set@name\endcsname
\define@key{MT@#2@set}{#1}[]{%
\global\MT@let@nc{MT@#2list@#1@\MT@curr@set@name}\@empty
\MT@map@clist@n{##1}{%
\KV@@sp@def\MT@val{####1}%
\MT@get@highlevel{#1}%
- \MT@make@string\MT@val
- \expandafter\MT@xadd
- \csname MT@#2list@#1@\MT@curr@set@name\endcsname{\MT@val,}%
+ \MT@exp@two@n\g@addto@macro
+ {\csname MT@#2list@#1@\MT@curr@set@name\expandafter\endcsname}%
+ {\MT@val,}%
}%
+ \edef\x{%
+ \expandafter\noexpand\expandafter\MT@fix@font@spec
+ \expandafter\noexpand\csname MT@#2list@#1@\MT@curr@set@name\endcsname
+ }%
+ \MT@exp@one@n\MT@addto@setup\x
}%
}
\def\MT@get@highlevel#1{%
\expandafter\MT@test@ast\MT@val*\@nil{%
\MT@ifempty\@tempa{\def\@tempa{#1}}\relax
- \edef\MT@val{\csname \@tempa default\endcsname}%
- \ifx\@nodocument\relax \else
- \expandafter\ifx
- \csname MT@check@\MT@curr@set@name @\@tempa\endcsname\@empty
- \else
- \global\MT@edef@n{MT@\MT@curr@set@name @\@tempa @default}{\MT@val}%
- \edef\x{{\MT@curr@set@name}{\@tempa}}%
- \MT@exp@one@n\AtBeginDocument{%
- \expandafter\MT@check@default\x
- }%
- \global\MT@let@nc{MT@check@\MT@curr@set@name @\@tempa}\@empty
- \fi
- \fi
+ \edef\MT@val{\expandafter\noexpand\csname \@tempa default\endcsname}%
}%
}
\def\MT@test@ast#1*#2\@nil{%
@@ -1481,17 +1611,9 @@ In either case, please send a report to <w.m.l@gmx.net>.
\@gobble
\@firstofone
}
-\def\MT@check@default#1#2{%
- \MT@let@cn\@tempa{MT@#1@#2@default}%
- \edef\@tempb{\csname #2default\endcsname}%
- \ifx\@tempa\@tempb \else
- \MT@warning@nl{%
- \expandafter\noexpand\csname #2default\endcsname
- has changed (`\@tempa' <> `\@tempb')!\MessageBreak
- This might affect the `#1' font set.\MessageBreak
- Please make all relevant font changes *before*\MessageBreak
- loading the `microtype' package}%
- \fi
+\def\MT@fix@font@spec#1{%
+ \xdef#1{#1}%
+ \global\MT@make@string#1%
}
\def\MT@define@set@key@size#1{%
\define@key{MT@#1@set}{size}[]{%
@@ -1500,8 +1622,8 @@ In either case, please send a report to <w.m.l@gmx.net>.
\expandafter\MT@get@range\MT@val--\@nil
\ifx\MT@val\relax \else
\expandafter\MT@xadd
- \csname MT@#1list@size@\MT@curr@set@name\endcsname
- {{{\MT@lower}{\MT@upper}\relax}}%
+ \csname MT@#1list@size@\MT@curr@set@name\endcsname
+ {{{\MT@lower}{\MT@upper}\relax}}%
\fi
}%
}%
@@ -1531,7 +1653,7 @@ In either case, please send a report to <w.m.l@gmx.net>.
\def\MT@val{#2}%
\MT@get@size
\ifx\MT@val\relax \else
- \MT@ifgt\MT@lower\MT@val{%
+ \MT@ifdim\MT@lower>\MT@val{%
\MT@warning{%
Invalid size range (\MT@lower\space > \MT@val) in font set
`\MT@curr@set@name'.\MessageBreak Swapping sizes}%
@@ -1540,7 +1662,7 @@ In either case, please send a report to <w.m.l@gmx.net>.
}{%
\edef\MT@upper{\MT@val}%
}%
- \MT@ifeq\MT@lower\MT@upper{%
+ \MT@ifdim\MT@lower=\MT@upper{%
\def\MT@upper{-1}%
}\relax
\fi
@@ -1571,13 +1693,19 @@ In either case, please send a report to <w.m.l@gmx.net>.
}
\def\MT@define@set@key@font#1{%
\define@key{MT@#1@set}{font}[]{%
+ \global\MT@let@nc{MT@#1list@font@\MT@curr@set@name}\@empty
\MT@map@clist@n{##1}{%
\KV@@sp@def\MT@val{####1}%
\expandafter\MT@get@font\MT@val/////\@nil
- \expandafter\MT@xadd
- \csname MT@#1list@font@\MT@curr@set@name\endcsname
- {\csname\MT@val\endcsname,}%
+ \MT@exp@two@n\g@addto@macro
+ {\csname MT@#1list@font@\MT@curr@set@name\expandafter\endcsname}%
+ {\MT@val,}%
}%
+ \edef\x{%
+ \expandafter\noexpand\expandafter\MT@fix@font@spec
+ \expandafter\noexpand\csname MT@#1list@font@\MT@curr@set@name\endcsname
+ }%
+ \MT@exp@one@n\MT@addto@setup\x
}%
}
\def\MT@get@font#1/#2/#3/#4/#5/#6\@nil{%
@@ -1589,51 +1717,55 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@get@axis{series}{#3}%
\MT@get@axis{shape}{#4}%
\MT@ifempty{#5}{%
- \MT@warning{size axis is empty in font specification\MessageBreak
- `\MT@temp'. Using \string\normalsize\space instead}%
+ \MT@warn@axis@empty{size}{\string\normalsize}%
\def\MT@val{*}%
}{%
\def\MT@val{#5}%
}%
\MT@get@size
\ifx\MT@val\relax\def\MT@val{0}\fi
- \edef\MT@val{\expandafter\@gobble\@tempb/\MT@val}%
+ \expandafter\g@addto@macro\expandafter\@tempb\expandafter{\MT@val}%
+ \let\MT@val\@tempb
}%
}
\def\MT@get@axis#1#2{%
\def\MT@val{#2}%
\MT@get@highlevel{#1}%
\MT@ifempty\MT@val{%
- \MT@warning{#1 axis is empty in font specification\MessageBreak
- `\MT@temp'. Using `\csname #1default\endcsname' instead}%
- \edef\@tempb{\@tempb/\csname #1default\endcsname}%
- }{%
- \edef\@tempb{\@tempb/\MT@val}%
- }%
+ \MT@warn@axis@empty{#1}{\csname #1default\endcsname}%
+ \expandafter\def\expandafter\MT@val\expandafter{\csname #1default\endcsname}%
+ }\relax
+ \expandafter\g@addto@macro\expandafter\@tempb\expandafter{\MT@val/}%
+}
+\def\MT@warn@axis@empty#1#2{%
+ \MT@warning{#1 axis is empty in font specification\MessageBreak
+ `\MT@temp'. Using `#2' instead}%
}
-\MT@define@set@keys{pr}
-\MT@define@set@keys{ex}
+\MT@map@clist@c\MT@features{\MT@define@set@keys{#1}}
\MT@define@set@keys{nl}
\renewcommand*\UseMicrotypeSet[2][]{%
\KV@@sp@def\@tempa{#1}%
\MT@ifempty\@tempa{%
- \MT@use@set{pr}{#2}%
- \MT@use@set{ex}{#2}%
+ \MT@map@clist@c\MT@features{{\MT@use@set{##1}{#2}}}%
}{%
\MT@map@clist@c\@tempa{%
- {\KV@@sp@def\@tempa{##1}%
- \MT@ifempty\@tempa\relax{%
- \MT@exp@one@n\MT@use@set{\csname MT@rbba@\@tempa\endcsname}{#2}}}%
+ \KV@@sp@def\@tempa{##1}%
+ \MT@ifempty\@tempa\relax{%
+ \MT@is@feature{activation of set `#2'}{%
+ \MT@exp@one@n\MT@use@set
+ {\csname MT@rbba@\@tempa\endcsname}{#2}%
+ }%
+ }%
}%
}%
}
\def\MT@use@set#1#2{%
\KV@@sp@def\@tempa{#2}%
- \MT@ifdefined@n{MT@#1@set@@\@tempa}{%
+ \MT@ifdefined@n@TF{MT@#1@set@@\@tempa}{%
\global\MT@edef@n{MT@#1@setname}{\@tempa}%
\MT@info{Using \@nameuse{MT@abbr@#1} set `\@tempa'}%
}{%
- \MT@ifdefined@n{MT@#1@setname}\relax{%
+ \MT@ifdefined@n@TF{MT@#1@setname}\relax{%
\global\MT@edef@n{MT@#1@setname}{\@nameuse{MT@default@#1@set}}%
}%
\MT@warning{%
@@ -1644,20 +1776,22 @@ In either case, please send a report to <w.m.l@gmx.net>.
\renewcommand*\DeclareMicrotypeSetDefault[2][]{%
\KV@@sp@def\@tempa{#1}%
\MT@ifempty\@tempa{%
- \MT@set@default@set{pr}{#2}%
- \MT@set@default@set{ex}{#2}%
+ \MT@map@clist@c\MT@features{{\MT@set@default@set{##1}{#2}}}%
}{%
- \MT@map@clist@c\@tempa{%
- {\KV@@sp@def\@tempa{##1}%
- \MT@ifempty\@tempa\relax{%
- \MT@exp@one@n\MT@set@default@set
- {\csname MT@rbba@\@tempa\endcsname}{#2}}}%
- }%
+ \MT@map@clist@c\@tempa{{%
+ \KV@@sp@def\@tempa{##1}%
+ \MT@ifempty\@tempa\relax{%
+ \MT@is@feature{declaration of default set `#2'}{%
+ \MT@exp@one@n\MT@set@default@set
+ {\csname MT@rbba@\@tempa\endcsname}{#2}%
+ }%
+ }%
+ }}%
}%
}
\def\MT@set@default@set#1#2{%
\KV@@sp@def\@tempa{#2}%
- \MT@ifdefined@n{MT@#1@set@@\@tempa}{%
+ \MT@ifdefined@n@TF{MT@#1@set@@\@tempa}{%
\global\MT@edef@n{MT@default@#1@set}{\@tempa}%
}{%
\MT@warning{%
@@ -1670,14 +1804,14 @@ In either case, please send a report to <w.m.l@gmx.net>.
\KV@@sp@def\@tempa{#1}%
\KV@@sp@def\@tempb{#2}%
\MT@make@string\@tempb
- \MT@ifdefined@n{MT@\@tempa @alias}{%
+ \MT@ifdefined@n@T{MT@\@tempa @alias}{%
\MT@warning{Alias font family `\@tempb' will override
alias `\@nameuse{MT@\@tempa @alias}'\MessageBreak
- for font family `\@tempa'}}\relax
+ for font family `\@tempa'}}%
\global\MT@edef@n{MT@\@tempa @alias}{\@tempb}%
- \MT@ifdefined@c\MT@family{%
+ \MT@ifdefined@c@T\MT@family{%
\global\let\MT@familyalias\@tempb
- }\relax
+ }%
}
\def\LoadMicrotypeFile#1{%
\KV@@sp@def\@tempa{#1}%
@@ -1689,7 +1823,8 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@xadd\MT@file@list{\@tempa,}%
\MT@begin@catcodes
\InputIfFileExists{mt-\@tempa.cfg}{%
- \MT@vinfo{... Loading configuration file mt-\@tempa.cfg}%
+ \edef\MT@curr@file{mt-\@tempa.cfg}%
+ \MT@vinfo{... Loading configuration file \MT@curr@file}%
}{%
\MT@warning{... Configuration file mt-\@tempa.cfg\MessageBreak
does not exist}%
@@ -1697,32 +1832,30 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@end@catcodes
\fi
}
-\ifnum\MT@pdftex@no > 4
+\MT@requires@pdftex5{
\renewcommand*\DisableLigatures[1]{%
+ \edef\MT@active@features{\MT@active@features,nl}%
\MT@noligaturestrue
\MT@declare@sets{nl}{no ligatures}{#1}%
\gdef\MT@nl@setname{no ligatures}%
}
-\else
+}{
\renewcommand*\DisableLigatures[1]{%
\MT@warning{Disabling ligatures of a font is only possible\MessageBreak
- with pdftex version 1.30 or later.\MessageBreak
+ with pdftex version 1.30 or newer.\MessageBreak
Ignoring \string\DisableLigatures}%
- \let\DisableLigatures\@gobble
+ \global\let\DisableLigatures\@gobble
}
-\fi
+}
\renewcommand*\SetProtrusion[2][]{%
\let\MT@pr@c@name\@undefined
- \let\MT@load\@undefined
- \let\MT@extra@factor\@undefined
- \let\MT@extra@unit\@undefined
- \let\MT@extra@preset\@undefined
\let\MT@extra@context\@empty
+ \MT@map@clist@n{load,factor,unit,preset}{\MT@let@nc{MT@extra@##1}\@undefined}%
\setkeys{MT@pr@c}{#1}%
\MT@get@codes@name{pr}%
- \MT@set@pr@opt
+ \MT@map@clist@n{factor,unit,preset}{\MT@set@opt{pr}{##1}}%
\def\MT@permutelist{pr@c}%
- \setkeys{MT@pr@c}{#2}%
+ \setkeys{MT@cfg}{#2}%
\MT@permute
\MT@begin@catcodes
\MT@set@pr@list
@@ -1733,19 +1866,23 @@ In either case, please send a report to <w.m.l@gmx.net>.
}
\renewcommand*\SetExpansion[2][]{%
\let\MT@ex@c@name\@undefined
- \let\MT@load\@undefined
- \let\MT@extra@factor\@undefined
- \let\MT@extra@stretch\@undefined
- \let\MT@extra@shrink\@undefined
- \let\MT@extra@step\@undefined
- \let\MT@extra@auto\@undefined
- \let\MT@extra@preset\@undefined
\let\MT@extra@context\@empty
+ \MT@map@clist@n{load,factor,preset,stretch,shrink,step,auto}%
+ {\MT@let@nc{MT@extra@##1}\@undefined}%
\setkeys{MT@ex@c}{#1}%
\MT@get@codes@name{ex}%
- \MT@set@ex@opt
+ \MT@map@clist@n{preset,stretch,shrink,step,auto}{\MT@set@opt{ex}{##1}}%
+ \MT@ifdefined@c@T\MT@extra@factor{%
+ \ifnum\MT@extra@factor>\@m
+ \MT@warning@nl{Expansion factor \number\MT@extra@factor\space too
+ large in list\MessageBreak `\MT@ex@c@name'. Setting it to the
+ maximum of 1000}%
+ \let\MT@extra@factor\@m
+ \fi
+ \global\MT@let@nc{MT@ex@c@\MT@ex@c@name @factor}\MT@extra@factor
+ }%
\def\MT@permutelist{ex@c}%
- \setkeys{MT@ex@c}{#2}%
+ \setkeys{MT@cfg}{#2}%
\MT@permute
\MT@begin@catcodes
\MT@set@ex@list
@@ -1755,51 +1892,22 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@end@catcodes
}
\def\MT@get@codes@name#1{%
- \MT@ifdefined@n{MT@#1@c@name}{%
- \MT@ifdefined@n{MT@#1@c@\csname MT@#1@c@name\endcsname}{%
+ \MT@ifdefined@n@TF{MT@#1@c@name}{%
+ \MT@ifdefined@n@T{MT@#1@c@\csname MT@#1@c@name\endcsname}{%
\MT@warning{Redefining list `\@nameuse{MT@#1@c@name}'}%
- }\relax
- }{%
- \@tempcnta=\@ne
- \MT@while@num{\@tempcnta > \z@}{%
- \MT@ifdefined@n{MT@#1@c@#1-\romannumeral\@tempcnta}{%
- \advance \@tempcnta \@ne
- }{%
- \MT@edef@n{MT@#1@c@name}{#1-\romannumeral\@tempcnta}%
- \@tempcnta=\z@
- }%
}%
+ }{%
+ \MT@edef@n{MT@#1@c@name}{\MT@curr@file/\the\inputlineno}%
}%
\MT@let@cn\MT@curr@set@name{MT@#1@c@name}%
- \MT@ifdefined@c\MT@load{%
- \global\MT@let@nc{MT@#1@c@\MT@curr@set@name load}\MT@load
- }\relax
-}
-\def\MT@set@pr@opt{%
- \MT@set@opt@{pr}{factor}%
- \MT@set@opt@{pr}{unit}%
- \MT@set@opt@{pr}{preset}%
+ \MT@ifdefined@c@T\MT@extra@load{%
+ \global\MT@let@nc{MT@#1@c@\MT@curr@set@name load}\MT@extra@load
+ }%
}
-\def\MT@set@ex@opt{%
- \MT@ifdefined@c\MT@extra@factor{%
- \ifnum\MT@extra@factor>\@m
- \MT@warning@nl{Expansion factor \number\MT@extra@factor\space too
- large in list\MessageBreak `\MT@ex@c@name'. Setting it to the
- maximum of 1000}%
- \let\MT@extra@factor\@m
- \fi
- \global\MT@let@nc{MT@ex@c@\MT@ex@c@name @factor}\MT@extra@factor
- }\relax
- \MT@set@opt@{ex}{stretch}%
- \MT@set@opt@{ex}{shrink}%
- \MT@set@opt@{ex}{step}%
- \MT@set@opt@{ex}{auto}%
- \MT@set@opt@{ex}{preset}%
-}
-\def\MT@set@opt@#1#2{%
- \MT@ifdefined@n{MT@extra@#2}{%
+\def\MT@set@opt#1#2{%
+ \MT@ifdefined@n@T{MT@extra@#2}{%
\global\MT@let@nn{MT@#1@c@\csname MT@#1@c@name\endcsname @#2}{MT@extra@#2}%
- }\relax
+ }%
}
\def\MT@define@code@key#1#2{%
\define@key{MT@#2}{#1}[]{%
@@ -1807,7 +1915,7 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@map@clist@n{##1}{%
\KV@@sp@def\MT@val{####1}%
\MT@get@highlevel{#1}%
- \MT@edef@n{MT@temp#1\romannumeral\@tempcnta}{\MT@val}%
+ \MT@edef@n{MT@temp#1\the\@tempcnta}{\MT@val}%
\advance\@tempcnta \@ne
}%
}%
@@ -1818,9 +1926,8 @@ In either case, please send a report to <w.m.l@gmx.net>.
\KV@@sp@def\MT@val{####1}%
\expandafter\MT@get@range\MT@val--\@nil
\ifx\MT@val\relax \else
- \expandafter\MT@xadd
- \csname MT@tempsize\endcsname
- {{{\MT@lower}{\MT@upper}{\csname MT@#1@name\endcsname}}}%
+ \expandafter\MT@xadd\csname MT@tempsize\endcsname
+ {{{\MT@lower}{\MT@upper}{\MT@curr@set@name}}}%
\fi
}%
}%
@@ -1830,11 +1937,11 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@map@clist@n{##1}{%
\KV@@sp@def\MT@val{####1}%
\expandafter\MT@get@font@and@size\MT@val/////\@nil
- \global\MT@edef@n{MT@\MT@permutelist @\@tempb}%
+ \global\MT@edef@n{MT@\MT@permutelist @\@tempb\MT@extra@context}%
{\csname MT@\MT@permutelist @name\endcsname}%
\expandafter\MT@xaddb
- \csname MT@\MT@permutelist @\@tempb @sizes\endcsname
- {{{\MT@val}{\m@ne}{\csname MT@#1@name\endcsname}}}%
+ \csname MT@\MT@permutelist @\@tempb\MT@extra@context @sizes\endcsname
+ {{{\MT@val}{\m@ne}{\MT@curr@set@name}}}%
}%
}%
}
@@ -1846,10 +1953,9 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@get@axis{family}{#2}%
\MT@get@axis{series}{#3}%
\MT@get@axis{shape}{#4}%
- \edef\@tempb{\expandafter\@gobble\@tempb/*}%
+ \edef\@tempb{\@tempb*}%
\MT@ifempty{#5}{%
- \MT@warning{size axis is empty in font specification\MessageBreak
- `\MT@temp'. Using \string\normalsize\space instead}%
+ \MT@warn@axis@empty{size}{\string\normalsize}%
\def\MT@val{*}%
}{%
\def\MT@val{#5}%
@@ -1857,41 +1963,25 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@get@size
}%
}
+\MT@define@code@key{encoding}{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}
+\MT@define@code@key@font{cfg}
\def\MT@declare@codes#1{%
\define@key{MT@#1@c}{name}[]{%
- \MT@ifempty{##1}\relax{%
- \MT@def@n{MT@#1@c@name}{##1}%
- }%
- }%
+ \MT@ifempty{##1}\relax{\MT@def@n{MT@#1@c@name}{##1}}}%
\define@key{MT@#1@c}{load}[]{%
- \MT@ifempty{##1}\relax{%
- \def\MT@load{##1}%
- }%
- }%
+ \MT@ifempty{##1}\relax{\def\MT@extra@load{##1}}}%
\define@key{MT@#1@c}{factor}[]{%
- \MT@ifempty{##1}\relax{%
- \def\MT@extra@factor{##1 }%
- }%
- }%
- \MT@define@code@key{encoding}{#1@c}%
- \MT@define@code@key{family}{#1@c}%
- \MT@define@code@key{series}{#1@c}%
- \MT@define@code@key{shape}{#1@c}%
- \MT@define@code@key@size{#1@c}%
- \MT@define@code@key@font{#1@c}%
+ \MT@ifempty{##1}\relax{\def\MT@extra@factor{##1 }}}%
\define@key{MT@#1@c}{preset}[]{%
- \MT@ifempty{##1}\relax{%
- \def\MT@extra@preset{##1}%
- }%
- }%
+ \MT@ifempty{##1}\relax{\def\MT@extra@preset{##1}}}%
\define@key{MT@#1@c}{context}[]{%
- \MT@ifempty{##1}\relax{%
- \def\MT@extra@context{##1}%
- }%
- }%
+ \MT@ifempty{##1}\relax{\def\MT@extra@context{##1}}}%
}
-\MT@declare@codes{pr}
-\MT@declare@codes{ex}
+\MT@map@clist@c\MT@features{\MT@declare@codes{#1}}
\define@key{MT@pr@c}{unit}[character]{%
\let\MT@extra@unit\@empty
\KV@@sp@def\@tempa{#1}%
@@ -1914,7 +2004,7 @@ In either case, please send a report to <w.m.l@gmx.net>.
\def\MT@define@ex@c@key#1{%
\define@key{MT@ex@c}{#1}[]{%
\MT@ifempty{##1}\relax{%
- \MT@ifnumber{##1}{%
+ \MT@ifint{##1}{%
\MT@def@n{MT@extra@#1}{##1 }%
}{%
\MT@warning{%
@@ -1930,62 +2020,53 @@ In either case, please send a report to <w.m.l@gmx.net>.
\define@key{MT@ex@c}{auto}[true]{%
\KV@@sp@def\@tempa{#1}%
\csname if\@tempa\endcsname
- \ifnum\MT@pdftex@no > \thr@@
+ \MT@requires@pdftex4{%
\def\MT@extra@auto{autoexpand}%
- \else
+ }{%
\MT@warning{pdfTeX too old for automatic font expansion}%
- \fi
+ }
\else
- \ifnum\MT@pdftex@no > \thr@@
+ \MT@requires@pdftex4{%
\let\MT@extra@auto\@empty
- \fi
+ }\relax
\fi
}
\renewcommand*\DeclareCharacterInheritance[1][]{%
+ \let\MT@extra@context\@empty
\KV@@sp@def\@tempa{#1}%
\MT@begin@catcodes
\MT@set@inh@list
}
\def\MT@set@inh@list#1#2{%
\MT@ifempty\@tempa{%
- \MT@declare@char@inh{pr}{#1}{#2}%
- \MT@declare@char@inh{ex}{#1}{#2}%
+ \MT@map@clist@c\MT@features{{\MT@declare@char@inh{##1}{#1}{#2}}}%
}{%
- \MT@map@clist@c\@tempa{%
- {\KV@@sp@def\@tempa{##1}%
- \MT@ifempty\@tempa\relax{%
- \MT@exp@one@n\MT@declare@char@inh
- {\csname MT@rbba@\@tempa\endcsname}{#1}{#2}}}%
- }%
+ \MT@map@clist@c\@tempa{{%
+ \KV@@sp@def\@tempa{##1}%
+ \MT@ifempty\@tempa\relax{%
+ \MT@is@feature{inheritance declaration for `#1'}{%
+ \MT@exp@one@n\MT@declare@char@inh
+ {\csname MT@rbba@\@tempa\endcsname}{#1}{#2}%
+ }%
+ }%
+ }}%
}%
\MT@end@catcodes
}
\def\MT@declare@char@inh#1#2#3{%
- \MT@let@nc{MT@#1@inh@name}\@undefined
- \MT@get@inh@name{#1}%
+ \MT@edef@n{MT@#1@inh@name}%
+ {\MT@curr@file/\the\inputlineno (\@nameuse{MT@abbr@#1})}%
+ \MT@let@cn\MT@curr@set@name{MT@#1@inh@name}%
\global\MT@def@n{MT@#1@inh@\csname MT@#1@inh@name\endcsname}{#3}%
\def\MT@permutelist{#1@inh}%
- \setkeys{MT@#1@inh}{#2}%
+ \setkeys{MT@inh}{#2}%
\MT@permute
}
-\def\MT@get@inh@name#1{%
- \@tempcnta=\@ne
- \MT@while@num{\@tempcnta > \z@}{%
- \MT@ifdefined@n{MT@#1@inh@#1-inh-\romannumeral\@tempcnta}{%
- \advance \@tempcnta \@ne
- }{%
- \MT@edef@n{MT@#1@inh@name}{#1-inh-\romannumeral\@tempcnta}%
- \@tempcnta=\z@
- }%
- }%
-}
-\def\MT@define@inh@key@encoding#1{%
- \define@key{MT@#1}{encoding}[]{%
- \def\MT@val{##1}%
- \expandafter\MT@encoding@check\MT@val,\@nil
- \MT@get@highlevel{encoding}%
- \MT@edef@n{MT@tempencoding\romannumeral1}{\MT@val}%
- }%
+\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{%
@@ -1994,16 +2075,11 @@ In either case, please send a report to <w.m.l@gmx.net>.
inheritance lists. Ignoring encoding(s) #2}%
}%
}
-\def\MT@define@inh@keys#1{%
- \MT@define@inh@key@encoding{#1@inh}%
- \MT@define@code@key{family}{#1@inh}%
- \MT@define@code@key{series}{#1@inh}%
- \MT@define@code@key{shape}{#1@inh}%
- \MT@define@code@key@size{#1@inh}%
- \MT@define@code@key@font{#1@inh}%
-}
-\MT@define@inh@keys{pr}
-\MT@define@inh@keys{ex}
+\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
@@ -2039,35 +2115,40 @@ In either case, please send a report to <w.m.l@gmx.net>.
\let\MT@cnt@family\@ne
\MT@permute@@
\MT@increment\MT@cnt@encoding
- \MT@ifdefined@n{MT@tempencoding\romannumeral\MT@cnt@encoding}%
+ \MT@ifdefined@n@T{MT@tempencoding\MT@cnt@encoding}%
\MT@permute@
- \relax
}
\def\MT@permute@@{%
\let\MT@cnt@series\@ne
\MT@permute@@@
\MT@increment\MT@cnt@family
- \MT@ifdefined@n{MT@tempfamily\romannumeral\MT@cnt@family}%
+ \MT@ifdefined@n@T{MT@tempfamily\MT@cnt@family}%
\MT@permute@@
- \relax
}
\def\MT@permute@@@{%
\let\MT@cnt@shape\@ne
\MT@permute@@@@
\MT@increment\MT@cnt@series
- \MT@ifdefined@n{MT@tempseries\romannumeral\MT@cnt@series}%
+ \MT@ifdefined@n@T{MT@tempseries\MT@cnt@series}%
\MT@permute@@@
- \relax
}
\def\MT@permute@@@@{%
\MT@permute@@@@@
\MT@increment\MT@cnt@shape
- \MT@ifdefined@n{MT@tempshape\romannumeral\MT@cnt@shape}%
+ \MT@ifdefined@n@T{MT@tempshape\MT@cnt@shape}%
\MT@permute@@@@
- \relax
}
\def\MT@permute@@@@@{%
\MT@permute@define{encoding}%
+ \ifMT@document
+ \ifx\MT@tempencoding\@empty \else
+ \MT@ifdefined@n@TF{T@\MT@tempencoding}\relax
+ {\expandafter\expandafter\expandafter\@gobble}%
+ \fi
+ \fi
+ \MT@permute@@@@@@
+}
+\def\MT@permute@@@@@@{%
\MT@permute@define{family}%
\MT@permute@define{series}%
\MT@permute@define{shape}%
@@ -2075,7 +2156,7 @@ In either case, please send a report to <w.m.l@gmx.net>.
/\MT@tempfamily
/\MT@tempseries
/\MT@tempshape
- /\MT@ifdefined@c\MT@tempsize *\@empty}%
+ /\MT@ifdefined@c@T\MT@tempsize *}%
\def\@tempb{////}%
\ifx\@tempa\@tempb \else
\ifx\MT@tempencoding\@empty
@@ -2085,21 +2166,22 @@ In either case, please send a report to <w.m.l@gmx.net>.
`\@nameuse{MT@\MT@permutelist @name}'.\MessageBreak
Ignoring it}%
\else
- \MT@ifdefined@c\MT@tempsize{%
- \MT@ifdefined@n{MT@\MT@permutelist @\@tempa\MT@extra@context @sizes}{%
+ \MT@ifdefined@c@TF\MT@tempsize{%
+ \MT@ifdefined@n@T{MT@\MT@permutelist @\@tempa\MT@extra@context @sizes}{%
\MT@map@tlist@c
\MT@tempsize
\MT@check@rlist
- }\relax
+ }%
\expandafter\MT@xaddb
\csname MT@\MT@permutelist @\@tempa\MT@extra@context @sizes\endcsname
\MT@tempsize
}{%
- \MT@ifdefined@n{MT@\MT@permutelist @\@tempa\MT@extra@context}{%
+ \MT@ifdefined@n@T{MT@\MT@permutelist @\@tempa\MT@extra@context}{%
\MT@warning{\@nameuse{MT@abbr@\MT@permutelist} list
`\@nameuse{MT@\MT@permutelist @name}' will override list\MessageBreak
- `\@nameuse{MT@\MT@permutelist @\@tempa\MT@extra@context}' for font `\@tempa'}%
- }\relax
+ `\@nameuse{MT@\MT@permutelist @\@tempa\MT@extra@context}'
+ for font `\@tempa'}%
+ }%
}%
\global\MT@edef@n{MT@\MT@permutelist @\@tempa\MT@extra@context}%
{\csname MT@\MT@permutelist @name\endcsname}%
@@ -2108,8 +2190,8 @@ In either case, please send a report to <w.m.l@gmx.net>.
}
\def\MT@permute@define#1{%
\expandafter\@tempcnta=\csname MT@cnt@#1\endcsname\relax
- \MT@ifdefined@n{MT@temp#1\romannumeral\@tempcnta}%
- {\MT@edef@n{MT@temp#1}{\csname MT@temp#1\romannumeral\@tempcnta\endcsname}}%
+ \MT@ifdefined@n@TF{MT@temp#1\the\@tempcnta}%
+ {\MT@edef@n{MT@temp#1}{\csname MT@temp#1\the\@tempcnta\endcsname}}%
{\MT@let@nc{MT@temp#1}\@empty}%
}
\def\MT@permute@reset{%
@@ -2122,16 +2204,14 @@ In either case, please send a report to <w.m.l@gmx.net>.
\def\MT@permute@reset@#1{%
\@tempcnta=\@ne
\MT@loop
- \MT@let@nc{MT@temp#1\romannumeral\@tempcnta}\@undefined
+ \MT@let@nc{MT@temp#1\the\@tempcnta}\@undefined
\advance\@tempcnta\@ne
- \MT@ifdefined@n{MT@temp#1\romannumeral\@tempcnta}%
+ \MT@ifdefined@n@TF{MT@temp#1\the\@tempcnta}%
\iftrue
\iffalse
\MT@repeat
}
-\def\MT@check@rlist#1{%
- \expandafter\MT@check@rlist@#1%
-}
+\def\MT@check@rlist#1{\expandafter\MT@check@rlist@ #1}
\def\MT@check@rlist@#1#2#3{%
\def\@tempb{#1}%
\def\@tempc{#2}%
@@ -2140,29 +2220,27 @@ In either case, please send a report to <w.m.l@gmx.net>.
\csname MT@\MT@permutelist @\@tempa\MT@extra@context @sizes\endcsname
\MT@check@range
}
-\def\MT@check@range#1{%
- \expandafter\MT@check@range@#1%
-}
+\def\MT@check@range#1{\expandafter\MT@check@range@ #1}
\def\MT@check@range@#1#2#3{%
- \MT@ifeq{#2}\m@ne{%
- \MT@ifeq\@tempc\m@ne{%
- \MT@ifeq\@tempb{#1}\@tempswatrue\relax
+ \MT@ifdim{#2}=\m@ne{%
+ \MT@ifdim\@tempc=\m@ne{%
+ \MT@ifdim\@tempb={#1}\@tempswatrue\relax
}{%
- \MT@ifgt\@tempb{#1}\relax{%
- \MT@ifgt\@tempc{#1}{%
+ \MT@ifdim\@tempb>{#1}\relax{%
+ \MT@ifdim\@tempc>{#1}{%
\@tempswatrue
\edef\@tempb{#1 (with range: \@tempb\space to \@tempc)}%
}\relax
}%
}%
}{%
- \MT@ifeq\@tempc\m@ne{%
- \MT@iflt\@tempb{#2}{%
- \MT@iflt\@tempb{#1}\relax\@tempswatrue
+ \MT@ifdim\@tempc=\m@ne{%
+ \MT@ifdim\@tempb<{#2}{%
+ \MT@ifdim\@tempb<{#1}\relax\@tempswatrue
}\relax
}{%
- \MT@iflt\@tempb{#2}{%
- \MT@ifgt\@tempc{#1}{%
+ \MT@ifdim\@tempb<{#2}{%
+ \MT@ifdim\@tempc>{#1}{%
\@tempswatrue
\edef\@tempb{#1 to #2 (with range: \@tempb\space to \@tempc)}%
}\relax
@@ -2176,119 +2254,9 @@ In either case, please send a report to <w.m.l@gmx.net>.
\expandafter\MT@tlist@break
\fi
}
-\def\microtypesetup{\setkeys{MTX}}
-\def\MT@define@optionX#1#2{%
- \define@key{MTX}{#1}[true]{%
- \KV@@sp@def\@tempb{#1}%
- \MT@map@clist@n{##1}{%
- \KV@@sp@def\MT@val{####1}%
- \edef\@tempb{\csname MT@rbba@\@tempb\endcsname}%
- \MT@ifempty\MT@val\relax{%
- \@tempcnta=\m@ne
- \MT@ifstreq\MT@val{true}{%
- \MT@checksetup\@tempb{%
- \expandafter\@tempcnta=\csname MT@\@tempb @level\endcsname
- \MT@info{Enabling #1
- (level \number\csname MT@\@tempb @level\endcsname)}%
- }%
- }{%
- \MT@ifstreq\MT@val{false}{%
- \@tempcnta=\z@
- \MT@info{Disabling #1}%
- }{%
- \MT@ifstreq\MT@val{compatibility}{%
- \MT@checksetup\@tempb{%
- \@tempcnta=\@ne
- \MT@let@nc{MT@\@tempb @level}\@ne
- \MT@info{Setting #1 to level 1}%
- }%
- }{%
- \MT@ifstreq\MT@val{nocompatibility}{%
- \MT@checksetup\@tempb{%
- \@tempcnta=\tw@
- \MT@let@nc{MT@\@tempb @level}\tw@
- \MT@info{Setting #1 to level 2}%
- }%
- }{%
- \MT@warning{%
- Value `\MT@val' for key `#1' not recognized.\MessageBreak
- Use any of `true', `false', `compatibility' or\MessageBreak
- `nocompatibility'}%
- }%
- }%
- }%
- }%
- \ifnum\@tempcnta>\m@ne
- #2\@tempcnta\relax
- \fi
- }%
- }%
- }%
-}
-\def\MT@checksetup#1{%
- \expandafter\csname ifMT@\csname MT@abbr@#1\endcsname\endcsname
- \expandafter\@firstofone
- \else
- \MT@warning{%
- You cannot enable \@nameuse{MT@abbr@#1} if it was disabled\MessageBreak
- in the package options,}%
- \expandafter\@gobble
- \fi
-}
-\MT@define@optionX{protrusion}\pdfprotrudechars
-\MT@define@optionX{expansion}\pdfadjustspacing
-\define@key{MTX}{activate}[]{%
- \setkeys{MTX}{protrusion={#1}}%
- \setkeys{MTX}{expansion={#1}}%
-}
-\def\microtypecontext#1{%
- \setkeys{MTC}{#1}%
- \edef\MT@curr@contexts{\MT@pr@context|%
- \MT@ex@context|%
- \MT@sp@context|%
- \MT@kn@context}%
- \MT@exp@one@n\MT@in@tlist\MT@curr@contexts\MT@doc@contexts
- \ifMT@inlist@ \else
- \MT@xadd\MT@doc@contexts{{\MT@curr@contexts}}%
- \fi
- \selectfont
- \aftergroup\MT@reset@context
-}
-\def\MT@reset@context{%
- \MT@vinfo{Resetting contexts on line \the\inputlineno}%
- \selectfont
-}
-\def\MT@define@context#1{%
- \define@key{MTC}{#1}[]{%
- \KV@@sp@def\@tempb{#1}%
- \edef\@tempb{\@nameuse{MT@rbba@\@tempb}}%
- \KV@@sp@def\MT@val{##1}%
- \MT@vinfo{--- Changing #1 context to `\MT@val'}%
- \MT@edef@n{MT@\@tempb @context}{\MT@val}%
- \MT@ifempty\MT@val\relax{%
- \global\MT@let@nn{MT@reset@\@tempb @codes}{MT@reset@\@tempb @codes@}%
- }%
- }%
-}
-\MT@define@context{protrusion}
-\MT@define@context{expansion}
-\let\MT@pr@context\@empty
-\let\MT@ex@context\@empty
-\def\MT@curr@contexts{|||}
-\def\MT@doc@contexts{{|||}}
-\let\MT@extra@context\@empty
-\def\MT@gobblethree#1#2#3{}
-\let\MT@saved@setupfont\MT@setupfont
-\define@key{MTX}{disable}[]{%
- \MT@info{Inactivate microtype package}%
- \let\MT@setupfont\MT@gobblethree
-}
-\define@key{MTX}{enable}[]{%
- \MT@info{Reactivate microtype package}%
- \let\MT@setupfont\MT@saved@setupfont
-}
\newif\ifMT@opt@expansion
\newif\ifMT@opt@auto
+\newif\ifMT@opt@DVI
\def\MT@define@option#1{%
\define@key{MT}{#1}[true]{%
\csname MT@opt@#1true\endcsname
@@ -2308,7 +2276,7 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@ifstreq\MT@val{nocompatibility}{%
\MT@let@nc{MT@\@tempb @level}\tw@
}{%
- \MT@ifdefined@n{MT@\@tempb @set@@\MT@val}{%
+ \MT@ifdefined@n@TF{MT@\@tempb @set@@\MT@val}{%
\global\MT@edef@n{MT@\@tempb @setname}{\MT@val}%
}{%
\global\MT@edef@n{MT@\@tempb @setname}%
@@ -2331,7 +2299,7 @@ In either case, please send a report to <w.m.l@gmx.net>.
\setkeys{MT}{protrusion={#1}}%
\setkeys{MT}{expansion={#1}}%
}
-\def\MT@def@bool@opt#1{%
+\def\MT@def@bool@opt#1#2{%
\define@key{MT}{#1}[]{%
\MT@ifempty{##1}%
{\def\@tempa{true}}%
@@ -2344,26 +2312,36 @@ In either case, please send a report to <w.m.l@gmx.net>.
\def\@tempa{false}%
}%
}%
- \csname MT@#1\@tempa\endcsname
+ #2%
}%
}
-\MT@map@tlist@n{{draft}{DVIoutput}{auto}{selected}%
-}\MT@def@bool@opt
-\define@key{MT}{final}[]{%
- \MT@draftfalse
- \MT@ifempty{#1}%
- {\def\@tempa{true}}%
- {\def\@tempa{#1}}%
- \MT@ifstreq\@tempa{true}\relax{%
- \MT@ifstreq\@tempa{false}%
- \MT@drafttrue
- {%
- \MT@warning@nl{%
- `#1' is not an admissible value for option\MessageBreak
- `final'. Assuming `true'}%
- \MT@draftfalse
+\def\MT@def@simple@bool@opt#1{\MT@def@bool@opt{#1}{\csname MT@#1\@tempa\endcsname}}
+\MT@map@tlist@n{{draft}{auto}{selected}%
+}\MT@def@simple@bool@opt
+\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{%
+ \MT@setup@
+ \let\MT@setup@\@empty
+ \let\MT@addto@setup\@firstofone
}%
- }%
+ \fi
+}
+\MT@def@bool@opt{final}{%
+ \csname if\@tempa\endcsname
+ \MT@draftfalse
+ \else
+ \MT@drafttrue
+ \fi
}
\define@key{MT}{verbose}[]{%
\let\MT@vinfo\MT@info@nl
@@ -2389,7 +2367,7 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@ifempty{##1}%
{\MT@let@cn\@tempa{MT@#1@default}}%
{\def\@tempa{##1 }}%
- \MT@ifnumber\@tempa{%
+ \MT@ifint\@tempa{%
\MT@edef@n{MT@#1}{\@tempa}%
}{\MT@warning@nl{%
Value `##1' for option `#1' is not a number.\MessageBreak
@@ -2403,8 +2381,8 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@ifempty{#1}%
{\let\@tempa\MT@factor@default}%
{\def\@tempa{#1 }}%
- \MT@ifnumber\@tempa{%
- \MT@edef@n{MT@pr@factor}{\@tempa}%
+ \MT@ifint\@tempa{%
+ \edef\MT@pr@factor{\@tempa}%
}{\MT@warning@nl{%
Value `#1' for option `factor' is not a number.\MessageBreak
Using default value of \number\MT@factor@default}%
@@ -2430,16 +2408,16 @@ In either case, please send a report to <w.m.l@gmx.net>.
}%
}
\MT@protrusiontrue
-\ifnum\pdfoutput=\z@ \else
- \ifnum\MT@pdftex@no > \thr@@
+\ifnum\pdfoutput<\@ne \else
+ \MT@requires@pdftex4{
\MT@expansiontrue
\MT@autotrue
- \fi
+ }\relax
\fi
\define@key{MT}{config}[]{\relax}
\def\MT@get@config#1config=#2,#3\@nil{%
\MT@ifempty{#2}%
- {\def\MT@config@file{microtype.cfg}}%
+ {\def\MT@config@file{\MT@MT.cfg}}%
{\KV@@sp@def\MT@config@file{#2.cfg}}%
}
\expandafter\expandafter\expandafter\MT@get@config
@@ -2447,39 +2425,111 @@ In either case, please send a report to <w.m.l@gmx.net>.
\IfFileExists{\MT@config@file}{%
\MT@info@nl{Loading configuration file \MT@config@file}%
\MT@begin@catcodes
- \let\MT@begin@catcodes\relax
- \let\MT@end@catcodes\relax
- \input{\MT@config@file}%
+ \let\MT@begin@catcodes\relax
+ \let\MT@end@catcodes\relax
+ \let\MT@curr@file\MT@config@file
+ \input{\MT@config@file}%
\endgroup
-}{%
- \MT@warning@nl{%
+}{\MT@warning@nl{%
Could not find configuration file `\MT@config@file'!\MessageBreak
This will almost certainly cause undesired results.\MessageBreak
Please fix your installation}%
}
-\MT@ifdefined@c\MT@default@pr@set\relax{\gdef\MT@default@pr@set{all}}
-\MT@ifdefined@c\MT@default@ex@set\relax{\gdef\MT@default@ex@set{all}}
-\renewcommand*\DeclareMicrotypeSetDefault[2][]{%
- \MT@warning{%
- The command \string\DeclareMicrotypeSetDefault\space may only\MessageBreak
- be used inside the main configuration file.\MessageBreak
- Ignoring it}%
+\MT@map@clist@c\MT@features{%
+ \MT@ifdefined@n@TF{MT@default@#1@set}\relax
+ {\global\MT@def@n{MT@default@#1@set}{all}}%
}
-\MT@ifdefined@c\MicroType@Hook{%
- \MT@warning@nl{%
+\MT@ifdefined@c@T\MicroType@Hook{%
+ \MT@warning{%
Command \string\MicroType@Hook\space is deprecated.\MessageBreak
- Use \string\Microtype@Hook\space instead}\MicroType@Hook}\relax
-\MT@ifdefined@c\Microtype@Hook\Microtype@Hook\relax
+ Use \string\Microtype@Hook\space instead}\MicroType@Hook}
+\MT@ifdefined@c@T\Microtype@Hook\Microtype@Hook
+\def\microtypesetup{\setkeys{MT}}
+\MT@addto@setup{\def\microtypesetup{\setkeys{MTX}}}
+\def\MT@define@optionX#1#2{%
+ \define@key{MTX}{#1}[true]{%
+ \KV@@sp@def\@tempb{#1}%
+ \MT@map@clist@n{##1}{%
+ \KV@@sp@def\MT@val{####1}%
+ \edef\@tempb{\csname MT@rbba@\@tempb\endcsname}%
+ \MT@ifempty\MT@val\relax{%
+ \@tempcnta=\m@ne
+ \MT@ifstreq\MT@val{true}{%
+ \MT@checksetup\@tempb{%
+ \expandafter\@tempcnta=\csname MT@\@tempb @level\endcsname
+ \MT@info{Enabling #1
+ (level \number\csname MT@\@tempb @level\endcsname)}%
+ }%
+ }{%
+ \MT@ifstreq\MT@val{false}{%
+ \@tempcnta=\z@
+ \MT@info{Disabling #1}%
+ }{%
+ \MT@ifstreq\MT@val{compatibility}{%
+ \MT@checksetup\@tempb{%
+ \@tempcnta=\@ne
+ \MT@let@nc{MT@\@tempb @level}\@ne
+ \MT@info{Setting #1 to level 1}%
+ }%
+ }{%
+ \MT@ifstreq\MT@val{nocompatibility}{%
+ \MT@checksetup\@tempb{%
+ \@tempcnta=\tw@
+ \MT@let@nc{MT@\@tempb @level}\tw@
+ \MT@info{Setting #1 to level 2}%
+ }%
+ }{%
+ \MT@warning{%
+ Value `\MT@val' for key `#1' not recognized.\MessageBreak
+ Use any of `true', `false', `compatibility' or\MessageBreak
+ `nocompatibility'}%
+ }%
+ }%
+ }%
+ }%
+ \ifnum\@tempcnta>\m@ne
+ #2\@tempcnta\relax
+ \fi
+ }%
+ }%
+ }%
+}
+\def\MT@checksetup#1{%
+ \expandafter\csname ifMT@\csname MT@abbr@#1\endcsname\endcsname
+ \expandafter\@firstofone
+ \else
+ \MT@warning{%
+ You cannot enable \@nameuse{MT@abbr@#1} if it was disabled\MessageBreak
+ in the package options,}%
+ \expandafter\@gobble
+ \fi
+}
+\MT@define@optionX{protrusion}\pdfprotrudechars
+\MT@define@optionX{expansion}\pdfadjustspacing
+\define@key{MTX}{activate}[]{%
+ \setkeys{MTX}{protrusion={#1}}%
+ \setkeys{MTX}{expansion={#1}}%
+}
+\def\MT@gobblethree#1#2#3{}
+\let\MT@saved@setupfont\MT@setupfont
+\define@key{MTX}{disable}[]{%
+ \MT@info{Inactivate `\MT@MT' package}%
+ \let\MT@setupfont\MT@gobblethree
+}
+\define@key{MTX}{enable}[]{%
+ \MT@info{Reactivate `\MT@MT' package}%
+ \let\MT@setupfont\MT@saved@setupfont
+}
\def\MT@ProcessOptionsWithKV#1{%
\let\@tempc\relax
\let\KVo@tempa\@empty
\MT@map@clist@c\@classoptionslist{%
\def\CurrentOption{##1}%
- \MT@ifdefined@n{KV@#1@\CurrentOption}{%
+ \MT@ifdefined@n@T{KV@#1@\CurrentOption}{%
\edef\KVo@tempa{\KVo@tempa,\CurrentOption,}%
\@expandtwoargs\@removeelement\CurrentOption
\@unusedoptionlist\@unusedoptionlist
- }\relax
+ }%
}%
\edef\KVo@tempa{%
\noexpand\setkeys{#1}{%
@@ -2491,19 +2541,7 @@ In either case, please send a report to <w.m.l@gmx.net>.
\let\CurrentOption\@empty
}
\MT@ProcessOptionsWithKV{MT}
-\ifMT@DVIoutput
- \ifnum\pdfoutput=\z@
- \MT@info@nl{Generating DVI output}
- \else
- \pdfoutput\z@
- \MT@info@nl{Changing output mode to DVI}
- \ifMT@opt@expansion \else
- \MT@expansionfalse
- \fi
- \fi
-\else
- \MT@info@nl{Generating \ifnum\pdfoutput=\z@ DVI \else PDF \fi output}
-\fi
+\MT@addto@setup{%
\ifMT@draft
\MT@warning@nl{`draft' option active.\MessageBreak
Disabling all micro-typographic extensions.\MessageBreak
@@ -2511,12 +2549,7 @@ In either case, please send a report to <w.m.l@gmx.net>.
\MT@protrusionfalse
\MT@expansionfalse
\let\MT@setupfont\relax
- \def\DeclareMicrotypeSet{%
- \@ifstar
- {\@ifnextchar[\MT@DeclareSet{\MT@DeclareSet[]}}%
- {\@ifnextchar[\MT@DeclareSet{\MT@DeclareSet[]}}%
- }
- \def\MT@DeclareSet[#1]#2#3{}
+ \def\DeclareMicrotypeSet#1#{\@gobbletwo}
\renewcommand*\UseMicrotypeSet[2][]{}
\renewcommand*\SetProtrusion[3][]{}
\renewcommand*\SetExpansion[3][]{}
@@ -2525,134 +2558,146 @@ In either case, please send a report to <w.m.l@gmx.net>.
\renewcommand*\LoadMicrotypeFile[1]{}
\renewcommand*\microtypesetup[1]{}
\renewcommand*\microtypecontext[1]{}
- \expandafter
- \endinput
-\fi
-\ifMT@protrusion
- \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@ifdefined@c\MT@pr@setname{%
- \MT@info@nl{Using protrusion set `\MT@pr@setname'}%
- }{%
- \global\let\MT@pr@setname\MT@default@pr@set
- \MT@info@nl{Using default protrusion set `\MT@pr@setname'}%
- }
\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
- \ifnum\MT@stretch>\z@
- \let\MT@shrink\MT@stretch
- \else
- \let\MT@shrink\MT@shrink@default
+ \ifnum\pdfoutput<\@ne
+ \ifMT@opt@expansion \else
+ \MT@expansionfalse
\fi
\fi
- \ifnum\MT@step=\m@ne
- \ifnum\MT@stretch>\MT@shrink
- \ifnum\MT@shrink=\z@
- \@tempcnta=\MT@stretch
+ \MT@info@nl{Generating \ifnum\pdfoutput<\@ne DVI \else PDF \fi output%
+ \ifMT@opt@DVI\space (changed by \MT@MT)\fi}%
+ \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@ifdefined@c@TF\MT@pr@setname{%
+ \MT@info@nl{Using protrusion set `\MT@pr@setname'}%
+ }{%
+ \global\let\MT@pr@setname\MT@default@pr@set
+ \MT@info@nl{Using default protrusion set `\MT@pr@setname'}%
+ }
+ \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
+ \ifnum\MT@stretch>\z@
+ \let\MT@shrink\MT@stretch
\else
- \@tempcnta=\MT@shrink
+ \let\MT@shrink\MT@shrink@default
\fi
- \else
- \ifnum\MT@stretch=\z@
- \@tempcnta=\MT@shrink
+ \fi
+ \ifnum\MT@step=\m@ne
+ \ifnum\MT@stretch>\MT@shrink
+ \ifnum\MT@shrink=\z@
+ \@tempcnta=\MT@stretch
+ \else
+ \@tempcnta=\MT@shrink
+ \fi
\else
- \@tempcnta=\MT@stretch
+ \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
- \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
- \ifnum\MT@pdftex@no > \thr@@
- \ifnum\pdfoutput=\z@
+ \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@warning@nl{%
+ Automatic font expansion only works for PDF output.\MessageBreak
+ However, you are creating a DVI file. I will switch\MessageBreak
+ automatic font expansion off and hope that expanded\MessageBreak
+ fonts are available}
+ \fi
+ \MT@autofalse
+ \else
+ \def\MT@auto{autoexpand}
+ \fi
+ }{%
\ifMT@opt@auto
\MT@warning@nl{%
- Automatic font expansion only works for PDF output.\MessageBreak
- However, you are creating a DVI file. I will switch\MessageBreak
- automatic font expansion off and hope that expanded\MessageBreak
- fonts are available}
+ The pdftex you are using is too old for automatic\MessageBreak
+ font expansion. I will switch it off and hope that\MessageBreak
+ expanded fonts are available on your system.\MessageBreak
+ Install pdftex version 1.20 or newer}
\fi
\MT@autofalse
- \else
- \def\MT@auto{autoexpand}
+ \def\MT@auto{1000 }
+ }
+ \else
+ \ifnum\MT@pdftex@no < 4
+ \def\MT@auto{1000 }
\fi
+ \fi
+ \ifMT@selected
+ \let\MT@set@ex@codes\MT@set@ex@codes@s
\else
- \ifMT@opt@auto
+ \let\MT@set@ex@codes\MT@set@ex@codes@n
+ \fi
+ \ifnum\MT@stretch=\z@
+ \ifnum\MT@shrink=\z@
\MT@warning@nl{%
- The pdftex you are using is too old for automatic\MessageBreak
- font expansion. I will switch it off and hope that\MessageBreak
- expanded fonts are available on your system.\MessageBreak
- Install pdftex version 1.20 or newer}
+ Both the stretch and shrink limit are set to zero.\MessageBreak
+ Disabling font expansion}
+ \MT@expansionfalse
\fi
- \MT@autofalse
- \def\MT@auto{1000 }
- \fi
- \else
- \ifnum\MT@pdftex@no < 4
- \def\MT@auto{1000 }
\fi
\fi
- \ifMT@selected
- \let\MT@set@ex@codes\MT@set@ex@codes@s
+ \ifMT@expansion
+ \edef\MT@active@features{\MT@active@features,ex}%
+ \pdfadjustspacing\MT@ex@level
+ \MT@info@nl{\ifMT@auto\else Non-\fi Automatic 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}
+ \MT@ifdefined@c@TF\MT@ex@setname{%
+ \MT@info@nl{Using expansion set `\MT@ex@setname'}%
+ }{%
+ \global\let\MT@ex@setname\MT@default@ex@set
+ \MT@info@nl{Using default expansion set `\MT@ex@setname'}%
+ }
+ \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@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
+ \let\MT@expansion\relax
+ \MT@info@nl{No font expansion}
\fi
\fi
-\ifMT@expansion
- \pdfadjustspacing\MT@ex@level
- \MT@info@nl{\ifMT@auto Automatic f\else F\fi ont 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}
- \MT@ifdefined@c\MT@ex@setname{%
- \MT@info@nl{Using expansion set `\MT@ex@setname'}%
- }{%
- \global\let\MT@ex@setname\MT@default@ex@set
- \MT@info@nl{Using default expansion set `\MT@ex@setname'}%
- }
- \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@addto@setup{%
+ \ifx\MT@active@features\@empty \else
+ \edef\MT@active@features{\expandafter\@gobble\MT@active@features}
+ \fi
+ \MT@documenttrue
+}
+\AtBeginDocument\selectfont
+\edef\MT@curr@file{\jobname.tex}
\endinput
%%
%% End of file `microtype.sty'.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg b/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg
index 0f59b327594..8695686c58a 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg
@@ -4,14 +4,14 @@
%%
%% The original source files were:
%%
-%% microtype.dtx (with options: `config,bch')
+%% microtype.dtx (with options: `config,cfg-t,bch')
%%
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -23,18 +23,18 @@
%% derived file microtype.sty.
%%
%% -----------------------------------------------------------------------
-%% This is a font-specific configuration file for the `microtype'
-%% package. It contains settings for font expansion and character
-%% protrusion. Please consult the documentation for details.
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. Please consult the documentation for details.
%%
-%% If you think you have found improvements to these settings, please
-%% tell me about them.
-%%
-%% When modifying this file, also change the identification line below.
-%% -----------------------------------------------------------------------
+%% 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-bch.cfg}[2005/03/15 v1.3 microtype config. file: Bitstream Charter (RS)]
+ {mt-bch.cfg}[2005/12/02 v1.4 microtype config. file: Bitstream Charter (RS)]
%%% ----------------------------------------------------------------------
%%% PROTRUSION SETTINGS
@@ -53,7 +53,6 @@
K = { ,50},
L = { ,50},
O = {50,50},
- \OE = {50, },
Q = {50,70},
R = { ,50},
T = {50,50},
@@ -83,7 +82,6 @@
? = { ,200},
@ = {50,50},
~ = {200,250},
- _ = {100,100},
\% = { ,50},
* = {200,300},
+ = {150,250},
@@ -102,6 +100,8 @@
{ encoding = {T1,LY1},
family = bch }
{
+ \OE = {50, },
+ _ = {100,100},
\textbackslash = {150,200},
\quotesinglbase = {400,400}, \quotedblbase = {300,300},
\guilsinglleft = {400,300}, \guilsinglright = {300,400},
@@ -112,6 +112,21 @@
}
\SetProtrusion
+ [ name = bch-T5,
+ load = bch-default ]
+ { encoding = T5,
+ family = bch }
+ {
+ _ = {100,100},
+ \textbackslash = {150,200},
+ \quotesinglbase = {400,400}, \quotedblbase = {300,300},
+ \guilsinglleft = {400,300}, \guilsinglright = {300,400},
+ \guillemotleft = {200,200}, \guillemotright = {150,300},
+ \textbraceleft = {200, }, \textbraceright = { ,300},
+ \textless = {200,100}, \textgreater = {100,200},
+ }
+
+\SetProtrusion
[ name = bch-it ]
{ encoding = OT1,
family = bch,
@@ -120,7 +135,6 @@
C = {50, },
G = {50, },
O = {50, },
- \OE = {50, },
Q = {50, },
S = {50, },
$ = {50, },
@@ -141,7 +155,6 @@
: = { ,400},
; = { ,400},
? = { ,200},
- _ = { ,100},
& = { ,80},
\% = {50,50},
* = {300,200},
@@ -163,6 +176,24 @@
family = bch,
shape = {it,sl} }
{
+ _ = { ,100},
+ \OE = { 50, },
+ \textbackslash = {150,150},
+ \quotesinglbase = {200,500}, \quotedblbase = {150,500},
+ \guilsinglleft = {300,400}, \guilsinglright = {200,500},
+ \guillemotleft = {200,300}, \guillemotright = {150,400},
+ \textbraceleft = {200, }, \textbraceright = { ,200},
+ \textless = {100, }, \textgreater = { ,100},
+ }
+
+\SetProtrusion
+ [ name = bch-it-T5,
+ load = bch-it ]
+ { encoding = T5,
+ family = bch,
+ shape = it }
+ {
+ _ = { ,100},
\textbackslash = {150,150},
\quotesinglbase = {200,500}, \quotedblbase = {150,500},
\guilsinglleft = {300,400}, \guilsinglright = {200,500},
@@ -187,7 +218,6 @@
l = { ,50},
013 = { ,50}, % fl
o = {50,50},
- \oe = {50, },
q = {50,70},
t = {50,50},
y = {50,50},
@@ -216,6 +246,26 @@
}
\SetProtrusion
+ [ name = bch-sc-T5,
+ load = bch-T5 ]
+ { encoding = T5,
+ family = bch,
+ shape = sc }
+ {
+ a = {50,50},
+ c = {50, },
+ d = { ,50},
+ f = { ,50},
+ g = {50, },
+ j = {100, },
+ l = { ,50},
+ o = {50,50},
+ q = { 0, },
+ t = {50,50},
+ y = {50,50},
+ }
+
+\SetProtrusion
[ name = bch-textcomp ]
{ encoding = TS1,
family = bch }
@@ -245,7 +295,7 @@
\texttwosuperior = {100,200},
\textthreesuperior = {100,200},
\textmu = { ,100},
- \textparagraph = { ,100},
+ \textparagraph = { ,100},
\textperiodcentered = {300,400},
\textonesuperior = {200,300},
\textordmasculine = {200,200},
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg b/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg
index a7e81ffb93f..5f5a9a9c8e5 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg
@@ -4,14 +4,14 @@
%%
%% The original source files were:
%%
-%% microtype.dtx (with options: `config,cmr')
+%% microtype.dtx (with options: `config,cfg-t,cmr')
%%
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -23,18 +23,18 @@
%% derived file microtype.sty.
%%
%% -----------------------------------------------------------------------
-%% This is a font-specific configuration file for the `microtype'
-%% package. It contains settings for font expansion and character
-%% protrusion. Please consult the documentation for details.
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. Please consult the documentation for details.
%%
-%% If you think you have found improvements to these settings, please
-%% tell me about them.
-%%
-%% When modifying this file, also change the identification line below.
-%% -----------------------------------------------------------------------
+%% 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-cmr.cfg}[2005/08/16 v1.8 microtype config. file: Computer Modern (RS)]
+ {mt-cmr.cfg}[2005/11/07 v1.9 microtype config. file: Computer Modern (RS)]
%%% ----------------------------------------------------------------------
%%% PROTRUSION SETTINGS
@@ -78,7 +78,6 @@
? = { ,200},
@ = {50,50},
~ = {200,250},
- _ = {200,200},
\% = {50,50},
* = {300,300},
+ = {250,250},
@@ -114,6 +113,7 @@
family = cmr }
{
\AE = {50, },
+ _ = {200,200},
\textbackslash = {200,300},
\textquotedblleft = {200,600},
\textquotedbl = {300,300},
@@ -126,8 +126,18 @@
}
\SetProtrusion
- [ name = cmr-T5,
- load = cmr-default ]
+ [ name = lmr-T1,
+ load = cmr-T1 ]
+ { encoding = {T1,LY1},
+ family = lmr }
+ {
+ \textquotedblleft = {500,300},
+ \quotedblbase = {500,300},
+ }
+
+\SetProtrusion
+ [ name = cmr-T5,
+ load = cmr-default ]
{ encoding = T5,
family = cmr }
{
@@ -142,16 +152,6 @@
}
\SetProtrusion
- [ name = lmr-T1,
- load = cmr-T1 ]
- { encoding = {T1,LY1},
- family = lmr }
- {
- \textquotedblleft = {500,300},
- \quotedblbase = {500,300},
- }
-
-\SetProtrusion
[ name = cmr-it ]
{ }
{
@@ -195,7 +195,6 @@
{,}= { ,500},
: = { ,300},
; = { ,300},
- _ = {100,200},
& = {100,50},
\% = {100, },
* = {400,100},
@@ -239,10 +238,11 @@
family = cmr,
shape = it }
{
+ _ = {100,200},
\AE = {100, },
\OE = {100, },
- \textbackslash = {300,300},
156 = {100, }, % IJ
+ \textbackslash = {300,300},
\textquotedblleft = {500,300},
\quotesinglbase = {300,700}, \quotedblbase = {200,600},
\guilsinglleft = {500,300}, \guilsinglright = {400,400},
@@ -259,6 +259,7 @@
family = cmr,
shape = it }
{
+ _ = {100,200},
\textbackslash = {300,300},
\quotesinglbase = {300,700}, \quotedblbase = {200,600},
\guilsinglleft = {500,300}, \guilsinglright = {400,400},
@@ -475,7 +476,7 @@
{ encoding = OML,
family = cmm,
series = {m,b},
- shape = it }
+ shape = it }
{
A = {100, 50}, % \mathnormal
B = { 50, },
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg b/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg
index 08848a35e72..2b868f9b4e7 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg
@@ -9,9 +9,9 @@
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -23,16 +23,16 @@
%% derived file microtype.sty.
%%
%% -----------------------------------------------------------------------
-%% This is a font-specific configuration file for the `microtype'
-%% package. It contains settings for font expansion and character
-%% protrusion. Please consult the documentation for details.
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. Please consult the documentation for details.
%%
-%% If you think you have found improvements to these settings, please
-%% tell me about them.
-%%
-%% When modifying this file, also change the identification line below.
-%% -----------------------------------------------------------------------
+%% 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-euf.cfg}[2005/06/01 v1.0 microtype config. file: AMS Euler Fraktur (RS)]
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg b/Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg
new file mode 100644
index 00000000000..3da4c547a44
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg
@@ -0,0 +1,59 @@
+%%
+%% This is file `mt-euroitc.cfg',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% microtype.dtx (with options: `config,cfg-e,euroitc')
+%%
+%% -----------------------------------------------------------------------
+%% The `microtype' package
+%% An interface to the micro-typographic extensions of pdfTeX
+%% Copyright (c) 2004--2006 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.3 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.3 or later
+%% is part of all distributions of LaTeX version 2003/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 file microtype.sty.
+%%
+%% -----------------------------------------------------------------------
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. 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-euroitc.cfg}[2006/05/04 v1.0 microtype config. file: ITC Euro (RS)]
+
+%%% ----------------------------------------------------------------------
+%%% PROTRUSION SETTINGS
+
+\SetProtrusion
+ { encoding = U,
+ family = {euroitc,euroitcs} }
+ {
+ E = {100,50}
+ }
+
+\SetProtrusion
+ { encoding = U,
+ family = {euroitc,euroitcs},
+ shape = it* }
+ {
+ E = {100,}
+ }
+
+\endinput
+%%
+%% End of file `mt-euroitc.cfg'.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg b/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg
index 03fac392fe5..ffd4fefe6cf 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg
@@ -9,9 +9,9 @@
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -23,18 +23,18 @@
%% derived file microtype.sty.
%%
%% -----------------------------------------------------------------------
-%% This is a font-specific configuration file for the `microtype'
-%% package. It contains settings for font expansion and character
-%% protrusion. Please consult the documentation for details.
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. Please consult the documentation for details.
%%
-%% If you think you have found improvements to these settings, please
-%% tell me about them.
-%%
-%% When modifying this file, also change the identification line below.
-%% -----------------------------------------------------------------------
+%% 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-eus.cfg}[2005/06/01 v1.0 microtype config. file: AMS Euler script (RS)]
+ {mt-eus.cfg}[2006/02/04 v1.1 microtype config. file: AMS Euler script (RS)]
%%% ----------------------------------------------------------------------
%%% PROTRUSION SETTINGS
@@ -63,6 +63,7 @@
V = { 50, 50},
W = { 50, 50},
X = { 50, 50},
+ Y = { 50, },
Z = { 50,100},
}
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg b/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg
index a37c5010e68..31ccb357031 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg
@@ -9,9 +9,9 @@
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -23,24 +23,24 @@
%% derived file microtype.sty.
%%
%% -----------------------------------------------------------------------
-%% This is a font-specific configuration file for the `microtype'
-%% package. It contains settings for font expansion and character
-%% protrusion. Please consult the documentation for details.
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. Please consult the documentation for details.
%%
-%% If you think you have found improvements to these settings, please
-%% tell me about them.
-%%
-%% When modifying this file, also change the identification line below.
-%% -----------------------------------------------------------------------
+%% 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-msa.cfg}[2005/06/01 v1.0 microtype config. file: AMS (a) (RS)]
+ {mt-msa.cfg}[2006/02/04 v1.1 microtype config. file: AMS (a) (RS)]
%%% ----------------------------------------------------------------------
%%% PROTRUSION SETTINGS
\SetProtrusion
- [ name = AMSa ]
+ [ name = AMS-a ]
{ encoding = U,
family = msa }
{
@@ -49,13 +49,13 @@
"07 = { 50, 50}, % \blacklozenge
"08 = { 50, 50}, % \circlearrowright
"09 = { 50, 50}, % \circlearrowleft
- "0A = { 50, 50}, % \rightleftharpoons
- "0B = { 50, 50}, % \leftrightharpoons
- "0D = {-50,150}, % \Vdash
- "0E = {-50,150}, % \Vvdash
+ "0A = {100,100}, % \rightleftharpoons
+ "0B = {100,100}, % \leftrightharpoons
+ "0D = {-50,200}, % \Vdash
+ "0E = {-50,200}, % \Vvdash
"0F = {-70,150}, % \vDash
- "10 = {100,100}, % \twoheadrightarrow
- "11 = { 50,150}, % \twoheadleftarrow
+ "10 = {100,150}, % \twoheadrightarrow
+ "11 = {100,150}, % \twoheadleftarrow
"12 = { 50,100}, % \leftleftarrows
"13 = { 50, 80}, % \rightrightarrows
"14 = {120,120}, % \upuparrows
@@ -64,23 +64,23 @@
"17 = {200,200}, % \downharpoonright
"18 = {200,200}, % \upharpoonleft
"19 = {200,200}, % \downharpoonleft
- "1A = { 50, 80}, % \rightarrowtail
- "1B = { 50, 80}, % \leftarrowtail
+ "1A = { 80,100}, % \rightarrowtail
+ "1B = { 80,100}, % \leftarrowtail
"1C = { 50, 50}, % \leftrightarrows
"1D = { 50, 50}, % \rightleftarrows
- "1E = {150, }, % \Lsh
- "1F = { ,150}, % \Rsh
- "20 = { 50,100}, % \rightsquigarrow
- "21 = { 50, 50}, % \leftrightsquigarrow
- "22 = { 50, 50}, % \looparrowleft
- "23 = { 50, 50}, % \looparrowright
- "24 = { , 50}, % \circeq
+ "1E = {250, }, % \Lsh
+ "1F = { ,250}, % \Rsh
+ "20 = {100,100}, % \rightsquigarrow
+ "21 = {100,100}, % \leftrightsquigarrow
+ "22 = {100, 50}, % \looparrowleft
+ "23 = { 50,100}, % \looparrowright
+ "24 = { 50, 80}, % \circeq
"25 = { ,100}, % \succsim
"26 = { ,100}, % \gtrsim
"27 = { ,100}, % \gtrapprox
- "28 = { 50, 50}, % \multimap
- "2B = { 50, 50}, % \doteqdot
- "2C = { 50, 50}, % \triangleq
+ "28 = {150, 50}, % \multimap
+ "2B = {100,150}, % \doteqdot
+ "2C = {100,150}, % \triangleq
"2D = {100, 50}, % \precsim
"2E = {100, 50}, % \lesssim
"2F = { 50, 50}, % \lessapprox
@@ -91,7 +91,7 @@
"34 = {100, 50}, % \preccurlyeq
"36 = { 50, }, % \leqslant
"38 = { , 50}, % \backprime
- "39 = {200,200}, % \dabar@ : the dash bar in \dash(left,right)arrow
+ "39 = {250,250}, % \dabar@ : the dash bar in \dash(left,right)arrow
"3C = { 50,100}, % \succcurlyeq
"3E = { , 50}, % \geqslant
"40 = { , 50}, % \sqsubset
@@ -112,7 +112,7 @@
"50 = { 50, 50}, % \eqcirc
"56 = { ,150}, % \Rrightarrow
"57 = {150, }, % \Lleftarrow
- "58 = {100,200}, % \checkmark
+ "58 = {100,300}, % \checkmark
"5C = { 50, 50}, % \angle
"5D = { 50, 50}, % \measuredangle
"5E = { 50, 50}, % \sphericalangle
@@ -121,9 +121,9 @@
"61 = {100,100}, % \smallfrown
"62 = { 50, }, % \Subset
"63 = { , 50}, % \Supset
- "66 = {100,100}, % \curlywedge
- "67 = {100,100}, % \curlyvee
- "68 = { 50,100}, % \leftthreetimes
+ "66 = {150,150}, % \curlywedge
+ "67 = {150,150}, % \curlyvee
+ "68 = { 50,150}, % \leftthreetimes
"69 = {100, 50}, % \rightthreetimes
"6C = { 50, 50}, % \bumpeq
"6D = { 50, 50}, % \Bumpeq
@@ -131,7 +131,7 @@
"6F = { ,100}, % \ggg
"70 = { 50,100}, % \ulcorner
"71 = {100, 50}, % \urcorner
- "75 = {100,150}, % \dotplus
+ "75 = {150,200}, % \dotplus
"76 = { 50,100}, % \backsim
"78 = { 50,100}, % \llcorner
"79 = {100, 50}, % \lrcorner
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg b/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg
index 0dbf369f6f0..a94bf45b07f 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg
@@ -9,9 +9,9 @@
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -23,16 +23,16 @@
%% derived file microtype.sty.
%%
%% -----------------------------------------------------------------------
-%% This is a font-specific configuration file for the `microtype'
-%% package. It contains settings for font expansion and character
-%% protrusion. Please consult the documentation for details.
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. Please consult the documentation for details.
%%
-%% If you think you have found improvements to these settings, please
-%% tell me about them.
-%%
-%% When modifying this file, also change the identification line below.
-%% -----------------------------------------------------------------------
+%% 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-msb.cfg}[2005/06/01 v1.0 microtype config. file: AMS (b) (RS)]
@@ -40,7 +40,7 @@
%%% PROTRUSION SETTINGS
\SetProtrusion
- [ name = AMSb ]
+ [ name = AMS-b ]
{ encoding = U,
family = msb }
{
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg b/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg
new file mode 100644
index 00000000000..ab2f1aa2893
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg
@@ -0,0 +1,62 @@
+%%
+%% This is file `mt-mvs.cfg',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% microtype.dtx (with options: `config,cfg-e,mvs')
+%%
+%% -----------------------------------------------------------------------
+%% The `microtype' package
+%% An interface to the micro-typographic extensions of pdfTeX
+%% Copyright (c) 2004--2006 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.3 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.3 or later
+%% is part of all distributions of LaTeX version 2003/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 file microtype.sty.
+%%
+%% -----------------------------------------------------------------------
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. 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-mvs.cfg}[2006/05/04 v1.0 microtype config. file: Marvosym Euro (RS)]
+
+%%% ----------------------------------------------------------------------
+%%% CHARACTER INHERITANCE
+
+\DeclareCharacterInheritance
+ { encoding = OT1,
+ family = mvs }
+ {
+ 164 = {099,100,101} % \EURhv,\EURcr,\EURtm
+ }
+
+%%% ----------------------------------------------------------------------
+%%% PROTRUSION SETTINGS
+
+\SetProtrusion
+ { encoding = OT1,
+ family = mvs }
+ {
+ 164 = {50,50} % \EUR
+ 068 = {50,-100}, % \EURdig
+ }
+
+\endinput
+%%
+%% End of file `mt-mvs.cfg'.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg b/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg
index e98e28cc8ef..fd96b49f5dc 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg
@@ -4,14 +4,14 @@
%%
%% The original source files were:
%%
-%% microtype.dtx (with options: `config,pad')
+%% microtype.dtx (with options: `config,cfg-t,pad')
%%
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -23,18 +23,18 @@
%% derived file microtype.sty.
%%
%% -----------------------------------------------------------------------
-%% This is a font-specific configuration file for the `microtype'
-%% package. It contains settings for font expansion and character
-%% protrusion. Please consult the documentation for details.
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. Please consult the documentation for details.
%%
-%% If you think you have found improvements to these settings, please
-%% tell me about them.
-%%
-%% When modifying this file, also change the identification line below.
-%% -----------------------------------------------------------------------
+%% 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-pad.cfg}[2005/03/15 v1.4a microtype config. file: Adobe Garamond (RS)]
+ {mt-pad.cfg}[2005/11/07 v1.5 microtype config. file: Adobe Garamond (RS)]
%%% ----------------------------------------------------------------------
%%% PROTRUSION SETTINGS
@@ -86,7 +86,6 @@
? = { ,100},
@ = {50,50},
~ = {200,250},
- _ = {100,100},
& = {50,100},
\% = {50,50},
* = {300,300},
@@ -105,6 +104,7 @@
{ encoding = {T1,LY1},
family = {pad,padx,padj} }
{
+ _ = {100,100},
\textbackslash = {100,200},
\quotesinglbase = {400,400}, \quotedblbase = {400,400},
\guilsinglleft = {400,400}, \guilsinglright = {300,500},
@@ -153,7 +153,6 @@
{,}= { ,500},
: = { ,300},
; = { ,300},
- _ = {100,100},
& = {50,50},
\% = {100, },
* = {500,100},
@@ -175,8 +174,9 @@
family = {pad,padx,padj},
shape = {it,sl} }
{
- \textbackslash = {100,200},
+ _ = {100,100},
156 = {50, }, % IJ
+ \textbackslash = {100,200},
\quotesinglbase = {500,500}, \quotedblbase = {400,400},
\guilsinglleft = {500,400}, \guilsinglright = {300,500},
\guillemotleft = {300,300}, \guillemotright = {200,400},
@@ -264,7 +264,7 @@
\textpm = {150,200},
\texttwosuperior = {200,200},
\textthreesuperior = {200,200},
- \textparagraph = { ,100},
+ \textparagraph = { ,100},
\textperiodcentered = {300,400},
\textonesuperior = {200,200},
\textordmasculine = {200,200},
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg b/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg
index dc164f85af2..24005a06a21 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg
@@ -4,14 +4,14 @@
%%
%% The original source files were:
%%
-%% microtype.dtx (with options: `config,pmn')
+%% microtype.dtx (with options: `config,cfg-t,pmn')
%%
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -23,23 +23,23 @@
%% derived file microtype.sty.
%%
%% -----------------------------------------------------------------------
-%% This is a font-specific configuration file for the `microtype'
-%% package. It contains settings for font expansion and character
-%% protrusion. Please consult the documentation for details.
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. Please consult the documentation for details.
%%
-%% If you think you have found improvements to these settings, please
-%% tell me about them.
+%% If you think you have found improvements to these settings, please
+%% let me know.
%%
-%% When modifying this file, also change the identification line below.
-%% -----------------------------------------------------------------------
-%%
-%% These settings have been prepared by, and are copied with the
-%% generous permission of, Harald Harders <h.harders{at}tu-bs.de>.
-%%
-%% -----------------------------------------------------------------------
+%% When modifying this file, also change the identification line below.
+%% -----------------------------------------------------------------------
+%%
+%% These settings have been prepared by, and are copied with the
+%% generous permission of: Harald Harders <h.harders{at}tu-bs.de>.
%%
+%% -----------------------------------------------------------------------
+%%
\ProvidesFile
- {mt-pmn.cfg}[2004/03/15 v1.1b microtype config. file: Adobe Minion (HH)]
+ {mt-pmn.cfg}[2004/11/07 v1.2 microtype config. file: Adobe Minion (HH)]
%%% ----------------------------------------------------------------------
%%% PROTRUSION SETTINGS
@@ -86,7 +86,6 @@
" = {300,300},
@ = {50,50},
~ = {200,250},
- _ = {100,100},
\% = {50,50},
* = {200,300},
+ = {150,200},
@@ -106,6 +105,7 @@
family = pmnj }
{
\TH = { ,50},
+ _ = {100,100},
\textbackslash = {100,200},
\quotesinglbase = {400,400}, \quotedblbase = {300,300},
\guilsinglleft = {400,300}, \guilsinglright = {300,400},
@@ -185,7 +185,6 @@
: = { ,200},
; = { ,200},
" = {400,200},
- _ = { ,100},
& = {50,50},
\% = {100, },
* = {200,200},
@@ -207,11 +206,12 @@
family = pmnj,
shape = {it,sl} }
{
- \textbackslash = {100,150},
+ _ = { ,100},
031 = { ,-100}, % ffl
156 = {20, }, % IJ
188 = { ,-30}, % ij
- \v{t} = { ,100},
+ \v t = { ,100},
+ \textbackslash = {100,150},
\quotesinglbase = {200,500}, \quotedblbase = {150,500},
\guilsinglleft = {300,400}, \guilsinglright = {200,500},
\guillemotleft = {200,300}, \guillemotright = {150,400},
@@ -451,7 +451,7 @@
\texttwosuperior = {200,200},
\textthreesuperior = {200,200},
\textasciiacute = {300,400},
- \textparagraph = { ,100},
+ \textparagraph = { ,100},
\textperiodcentered = {300,400},
\textonesuperior = {200,200},
\textordmasculine = {200,200},
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg b/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg
index 35722d5598f..45d1f93dad4 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg
@@ -4,14 +4,14 @@
%%
%% The original source files were:
%%
-%% microtype.dtx (with options: `config,ppl')
+%% microtype.dtx (with options: `config,cfg-t,ppl')
%%
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -23,18 +23,18 @@
%% derived file microtype.sty.
%%
%% -----------------------------------------------------------------------
-%% This is a font-specific configuration file for the `microtype'
-%% package. It contains settings for font expansion and character
-%% protrusion. Please consult the documentation for details.
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. Please consult the documentation for details.
%%
-%% If you think you have found improvements to these settings, please
-%% tell me about them.
-%%
-%% When modifying this file, also change the identification line below.
-%% -----------------------------------------------------------------------
+%% 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-ppl.cfg}[2005/08/16 v1.5 microtype config. file: Palatino (RS)]
+ {mt-ppl.cfg}[2005/11/16 v1.6 microtype config. file: Palatino (RS)]
%%% ----------------------------------------------------------------------
%%% PROTRUSION SETTINGS
@@ -62,7 +62,7 @@
x = {50,50},
y = {50,70},
1 = {100,100},
- 7 = { ,50},
+ 7 = { ,50},
. = { ,700},
{,}= { ,500},
: = { ,500},
@@ -71,7 +71,6 @@
? = { ,200},
@ = {50,50},
~ = {200,250},
- _ = {100,100},
& = {50,100},
\% = {100,100},
* = {200,200},
@@ -90,6 +89,7 @@
{ encoding = {T1,LY1},
family = {ppl,pplx,pplj} }
{
+ _ = {100,100},
\textbackslash = {200,300},
\quotesinglbase = {400,400}, \quotedblbase = {400,400},
\guilsinglleft = {400,400}, \guilsinglright = {300,500},
@@ -138,7 +138,6 @@
: = { ,300},
; = { ,300},
? = { ,300},
- _ = {100,100},
& = {50,50},
\% = {100,100},
* = {200,200},
@@ -160,6 +159,7 @@
family = {ppl,pplx,pplj},
shape = {it,sl} }
{
+ _ = {100,100},
\textbackslash = {100,200},
\quotesinglbase = {500,500}, \quotedblbase = {400,400},
\guilsinglleft = {400,400}, \guilsinglright = {300,500},
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg b/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg
index 0cd7e9dc06b..db5283e7526 100644
--- a/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg
+++ b/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg
@@ -4,14 +4,14 @@
%%
%% The original source files were:
%%
-%% microtype.dtx (with options: `config,ptm')
+%% microtype.dtx (with options: `config,cfg-t,ptm')
%%
%% -----------------------------------------------------------------------
%% The `microtype' package
%% An interface to the micro-typographic extensions of pdfTeX
-%% Copyright (c) 2004, 2005 R Schlicht <w.m.l@gmx.net>
+%% Copyright (c) 2004--2006 R Schlicht <w.m.l@gmx.net>
%%
-%% This work may be distributed and/or modified under the conditions of
+%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 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.3 or later
@@ -23,18 +23,18 @@
%% derived file microtype.sty.
%%
%% -----------------------------------------------------------------------
-%% This is a font-specific configuration file for the `microtype'
-%% package. It contains settings for font expansion and character
-%% protrusion. Please consult the documentation for details.
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. Please consult the documentation for details.
%%
-%% If you think you have found improvements to these settings, please
-%% tell me about them.
-%%
-%% When modifying this file, also change the identification line below.
-%% -----------------------------------------------------------------------
+%% 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-ptm.cfg}[2005/08/16 v1.5 microtype config. file: Times (RS)]
+ {mt-ptm.cfg}[2006/04/20 v1.7 microtype config. file: Times (RS)]
%%% ----------------------------------------------------------------------
%%% PROTRUSION SETTINGS
@@ -72,7 +72,6 @@
? = { ,100},
@ = {100,100},
~ = {200,250},
- _ = {100,100},
& = {50,100},
\% = {100,100},
* = {200,200},
@@ -91,6 +90,7 @@
{ encoding = {T1},
family = {ptm,ptmx,ptmj} }
{
+ _ = {100,100},
\textbackslash = {100,200},
\quotesinglbase = {400,400}, \quotedblbase = {400,400},
\guilsinglleft = {400,400}, \guilsinglright = {300,500},
@@ -100,12 +100,44 @@
\textless = {200,100}, \textgreater = {100,200},
}
+\SetProtrusion
+ [ name = ptm-QX,
+ load = ptm-default ]
+ { encoding = QX,
+ family = {ptm,ptmx,ptmj} }
+ {
+ * = {200,200},
+ {=} = {100,100},
+ \textunderscore = {100,100},
+ \textbackslash = {100,200},
+ \quotedblbase = {400,400},
+ \guillemotleft = {300,300}, \guillemotright = {200,400},
+ \textexclamdown = {100, }, \textquestiondown = {100, },
+ \textbraceleft = {200,200}, \textbraceright = {200,300},
+ \textless = {200,100}, \textgreater = {100,200},
+ \textminus = {200,200}, \textdegree = {300,300},
+ \copyright = {100,150}, \textregistered = {100,150},
+ \textxgeq = { ,100}, \textxleq = {100, },
+ \textalpha = { , 50}, \textDelta = { 70, 70},
+ \textpi = { 50, 80}, \textSigma = { , 70},
+ \textmu = { , 80}, \texteuro = { 50, 50},
+ \textellipsis = {175,175}, \textasciitilde = { 80, 80},
+ \textapprox = { 50, 50}, \textinfty = {100,100},
+ \textdagger = {150,150}, \textdaggerdbl = {100,100},
+ \textdiv = { 50,150}, \textsection = { 80, 80},
+ \texttimes = {100,150}, \textpm = { 50, 80},
+ \textbullet = {150,150}, \textperiodcentered = {300,300},
+ \textquotesingle = {500,500}, \textquotedbl = {300,300},
+ \textperthousand = { ,50},
+ }
+
\SetProtrusion
[ name = ptm-LY1,
load = ptm-T1 ]
{ encoding = LY1,
family = {ptm,ptmx,ptmj} }
{
+ _ = {100,100},
\texttrademark = {100,100},
\textregistered = {100,100},
\textcopyright = {100,100},
@@ -175,7 +207,6 @@
; = { ,500},
! = { ,100},
? = { ,100},
- _ = {100,100},
& = {50,50},
\% = {100,100},
* = {400,200},
@@ -197,8 +228,9 @@
family = {ptm,ptmx,ptmj},
shape = {it,sl} }
{
- \textbackslash = {100,200},
+ _ = {100,100},
156 = {100, }, % IJ
+ \textbackslash = {100,200},
\quotesinglbase = {300,700}, \quotedblbase = {400,500},
\guilsinglleft = {400,400}, \guilsinglright = {300,500},
\guillemotleft = {300,400}, \guillemotright = {200,400},
@@ -208,12 +240,45 @@
}
\SetProtrusion
+ [ name = ptm-it-QX,
+ load = ptm-it ]
+ { encoding = {QX},
+ family = {ptm,ptmx,ptmj},
+ shape = {it,sl} }
+ {
+ 009 = { , 50}, % fk
+ {=} = {100,100},
+ \textunderscore = {100,150},
+ \textbackslash = {100,200},
+ \quotedblbase = {300,400},
+ \guillemotleft = {200,400}, \guillemotright = {200,400},
+ \textexclamdown = {200, }, \textquestiondown = {200, },
+ \textbraceleft = {200,100}, \textbraceright = {200,200},
+ \textless = {100,100}, \textgreater = {100,100},
+ \textminus = {200,200}, \textdegree = {300,150},
+ \textregistered = {100,150}, \copyright = {100,150},
+ \textDelta = { 70, }, \textdelta = { , 50},
+ \textpi = { 50, 80}, \textmu = { , 80},
+ \texteuro = {200, }, \textellipsis = {100,150},
+ \textquoteleft = {500,400}, \textquoteright = {500,400},
+ \textquotedblleft = {500,300}, \textquotedblright = {400,400},
+ \textapprox = { 50, 50}, \textinfty = {100,100},
+ \textdagger = {150,150}, \textdaggerdbl = {100,100},
+ \textdiv = {150,150}, \textasciitilde = { 80, 80},
+ \texttimes = {100,150}, \textpm = { 50, 80},
+ \textbullet = {300,100}, \textperiodcentered = {300,300},
+ \textquotesingle = {500,500}, \textquotedbl = {300,300},
+ \textperthousand = { ,50},
+ }
+
+\SetProtrusion
[ name = ptm-it-LY1,
load = ptm-it-T1 ]
{ encoding = {LY1},
family = {ptm,ptmx,ptmj},
shape = {it,sl} }
{
+ _ = {100,100},
\texttrademark = {100,100},
\textregistered = {100,100},
\textcopyright = {100,100},
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg b/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg
new file mode 100644
index 00000000000..ab9eb03ee07
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg
@@ -0,0 +1,253 @@
+%%
+%% This is file `mt-ugm.cfg',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% microtype.dtx (with options: `config,cfg-t,ugm')
+%%
+%% -----------------------------------------------------------------------
+%% The `microtype' package
+%% An interface to the micro-typographic extensions of pdfTeX
+%% Copyright (c) 2004--2006 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.3 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.3 or later
+%% is part of all distributions of LaTeX version 2003/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 file microtype.sty.
+%%
+%% -----------------------------------------------------------------------
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. 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-ugm.cfg}[2006/01/26 v1.0 microtype config. file: URW Garamond (RS)]
+
+%%% ----------------------------------------------------------------------
+%%% PROTRUSION SETTINGS
+
+\SetProtrusion
+ [ name = ugm-default ]
+ { encoding = OT1,
+ family = ugm }
+ {
+ A = {50,100},
+ \AE = {150,50},
+ B = { ,50},
+ C = {50, },
+ D = { ,70},
+ E = { ,50},
+ F = { ,70},
+ G = {50,50},
+ J = {50, },
+ K = { ,50},
+ L = { ,120},
+ O = {50,50},
+ \OE = {50,50},
+ P = { ,50},
+ Q = {50,50},
+ R = { ,70},
+ T = {70,70},
+ V = {70,70},
+ W = {70,70},
+ X = {50,70},
+ Y = {80,80},
+ Z = {50,50},
+ k = { ,70},
+ p = { ,50},
+ r = { ,50},
+ t = { ,100},
+ v = {50,70},
+ w = {50,70},
+ x = {50,50},
+ y = { ,70},
+ 1 = {150,150},
+ 2 = {50,50},
+ 3 = {50,50},
+ 4 = {70,70},
+ 7 = {50,80},
+ . = { ,700},
+ {,}= { ,500},
+ : = { ,500},
+ ; = { ,400},
+ ! = { ,100},
+ ? = { ,200},
+ ~ = {300,350},
+ & = { ,100},
+ \% = {50,100},
+ * = {200,200},
+ + = {250,300},
+ {=}= {200,200},
+ ( = {200, }, ) = { ,200},
+ / = {100,300},
+ - = {500,600},
+ \textendash = {250,300}, \textemdash = {250,250},
+ \textquoteleft = {300,600}, \textquoteright = {300,600},
+ \textquotedblleft = {400,400}, \textquotedblright = {400,400},
+ }
+
+\SetProtrusion
+ [ name = ugm-T1,
+ load = ugm-default ]
+ { encoding = {T1},
+ family = ugm }
+ {
+ _ = {100,200},
+ \textbackslash = {100,300},
+ \textbar = {200,200},
+ \quotesinglbase = {400,400}, \quotedblbase = {400,400},
+ \guilsinglleft = {400,400}, \guilsinglright = {300,600},
+ \guillemotleft = {300,400}, \guillemotright = {300,400},
+ \textexclamdown = {100, }, \textquestiondown = {100, },
+ \textbraceleft = {400,200}, \textbraceright = {200,400},
+ \textless = {200,100}, \textgreater = {100,200},
+ }
+
+\SetProtrusion
+ [ name = ugm-it ]
+ { encoding = OT1,
+ family = ugm,
+ shape = it }
+ {
+ A = { ,150},
+ C = {50, },
+ G = {50, },
+ L = { ,100},
+ O = {70,50},
+ Q = {70,50},
+ T = {70, },
+ V = {100, },
+ W = {100, },
+ v = {50, },
+ w = {50, },
+ 1 = {150,150},
+ . = { ,700},
+ {,}= { ,600},
+ : = { ,400},
+ ; = { ,400},
+ & = {50,100},
+ \% = {100,50},
+ * = {400,200},
+ + = {250,250},
+ ~ = {150,150},
+ {=}= {200,200},
+ ( = {200, }, ) = { ,200},
+ / = {100,200},
+ - = {400,700},
+ \textendash = {300,300}, \textemdash = {200,200},
+ \textquoteleft = {400,200}, \textquoteright = {400,200},
+ \textquotedblleft = {600,200}, \textquotedblright = {600,200},
+ }
+
+\SetProtrusion
+ [ name = ugm-it-T1,
+ load = ugm-it ]
+ { encoding = {T1},
+ family = ugm,
+ shape = it }
+ {
+ _ = {100,200},
+ \textbackslash = {300,300},
+ \textbar = {200,200},
+ \quotesinglbase = {300,700}, \quotedblbase = {300,500},
+ \guilsinglleft = {400,400}, \guilsinglright = {300,600},
+ \guillemotleft = {300,400}, \guillemotright = {300,400},
+ \textexclamdown = {100, }, \textquestiondown = {200, },
+ \textbraceleft = {200,100}, \textbraceright = {200,200},
+ }
+
+\SetProtrusion
+ [ name = ugm-textcomp ]
+ { encoding = TS1,
+ family = ugm }
+ {
+ \texttwelveudash = {200,200},
+ \textthreequartersemdash = {200,200},
+ \textquotesingle = {300,500},
+ \textasteriskcentered = {100,200},
+ \textminus = {250,300},
+ \textdagger = { 80, 80},
+ \textbardbl = {150,150},
+ \textbullet = { 50,100},
+ \textflorin = { ,100},
+ \texttrademark = {100,150},
+ \textcent = { 50, },
+ \textsterling = { , 50},
+ \textbrokenbar = {200,300},
+ \textcopyright = {100,100},
+ \textordfeminine = {100,200},
+ \textlnot = {200, },
+ \textregistered = {100,100},
+ \textdegree = {200,200},
+ \textpm = {150,200},
+ \texttwosuperior = {100,200},
+ \textthreesuperior = {100,200},
+ \textmu = { ,100},
+ \textperiodcentered = {200,500},
+ \textonesuperior = {200,300},
+ \textordmasculine = {200,200},
+ \texttimes = {200,300},
+ \textdiv = {200,300},
+ \textsection = { ,100},
+ \textonehalf = { 50,100},
+ \textonequarter = { 50,100},
+ \textthreequarters = { 50,100},
+ \textsurd = { ,100},
+ }
+
+\SetProtrusion
+ [ name = ugm-textcomp-it ]
+ { encoding = TS1,
+ family = ugm,
+ shape = it }
+ {
+ \texttwelveudash = {200,200},
+ \textthreequartersemdash = {200,200},
+ \textquotesingle = {500,500},
+ \textasteriskcentered = {300,150},
+ \textminus = {250,300},
+ \textdagger = { 80, 80},
+ \textbardbl = {150,150},
+ \textbullet = { 50,100},
+ \textflorin = { ,100},
+ \texttrademark = {150, 50},
+ \textcent = { 50, },
+ \textsterling = { , 50},
+ \textbrokenbar = {200,300},
+ \textcopyright = {300, },
+ \textordfeminine = {100,200},
+ \textlnot = {200, },
+ \textregistered = {300, },
+ \textdegree = {300,200},
+ \textpm = {150,200},
+ \textonesuperior = {300,300},
+ \texttwosuperior = {300,200},
+ \textthreesuperior = {300,200},
+ \textmu = { ,100},
+ \textperiodcentered = {300,400},
+ \textordmasculine = {300,200},
+ \texttimes = {200,300},
+ \textdiv = {200,300},
+ \textsection = { ,200},
+ \textonehalf = { 50,100},
+ \textonequarter = { 50,100},
+ \textthreequarters = { 50,100},
+ \textsurd = { ,100},
+ }
+
+\endinput
+%%
+%% End of file `mt-ugm.cfg'.
diff --git a/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg b/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg
new file mode 100644
index 00000000000..3399715a3fe
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg
@@ -0,0 +1,84 @@
+%%
+%% This is file `mt-zpeu.cfg',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% microtype.dtx (with options: `config,cfg-e,zpeu')
+%%
+%% -----------------------------------------------------------------------
+%% The `microtype' package
+%% An interface to the micro-typographic extensions of pdfTeX
+%% Copyright (c) 2004--2006 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.3 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.3 or later
+%% is part of all distributions of LaTeX version 2003/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 file microtype.sty.
+%%
+%% -----------------------------------------------------------------------
+%% This is a font-specific configuration file for the `microtype'
+%% package. It contains settings for font expansion and character
+%% protrusion. 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-zpeu.cfg}[2006/05/04 v1.0 microtype config. file: Adobe Euro (RS)]
+
+%%% ----------------------------------------------------------------------
+%%% CHARACTER INHERITANCE
+
+\DeclareCharacterInheritance
+ { encoding = U,
+ family = {zpeu,zpeus,eurosans} }
+ {
+ E = 128
+ }
+
+%%% ----------------------------------------------------------------------
+%%% PROTRUSION SETTINGS
+
+\SetProtrusion
+ { encoding = U,
+ family = zpeu }
+ {
+ E = {50, }
+ }
+
+\SetProtrusion
+ { encoding = U,
+ family = zpeu,
+ shape = it* }
+ {
+ E = {100,-50}
+ }
+
+\SetProtrusion
+ { encoding = U,
+ family = {zpeus,eurosans} }
+ {
+ E = {100,50}
+ }
+
+\SetProtrusion
+ { encoding = U,
+ family = {zpeus,eurosans},
+ shape = it* }
+ {
+ E = {200, }
+ }
+
+\endinput
+%%
+%% End of file `mt-zpeu.cfg'.