diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/microtype.cfg | 234 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/microtype.sty | 2123 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-bch.cfg | 86 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg | 57 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-euf.cfg | 20 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg | 59 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-eus.cfg | 23 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-msa.cfg | 72 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-msb.cfg | 22 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg | 62 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-pad.cfg | 32 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg | 42 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg | 30 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg | 95 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg | 253 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg | 84 |
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'. |