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