From 61708ee48576253b5b4bd021bcb68f8244cd0d18 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 19 Nov 2019 00:01:37 +0000 Subject: microtype (19nov19) git-svn-id: svn://tug.org/texlive/trunk@52853 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/microtype/README.md | 2 +- .../texmf-dist/doc/latex/microtype/microtype.pdf | Bin 1689839 -> 1694528 bytes .../source/latex/microtype/microtype-utf.dtx | 12 +- .../source/latex/microtype/microtype.dtx | 131 +++++++++++++++------ .../texmf-dist/tex/latex/microtype/letterspace.sty | 2 +- .../tex/latex/microtype/microtype-luatex.def | 20 +++- .../tex/latex/microtype/microtype-pdftex.def | 2 +- .../tex/latex/microtype/microtype-xetex.def | 2 +- .../texmf-dist/tex/latex/microtype/microtype.cfg | 2 +- .../texmf-dist/tex/latex/microtype/microtype.lua | 4 +- .../texmf-dist/tex/latex/microtype/microtype.sty | 13 +- 11 files changed, 133 insertions(+), 57 deletions(-) diff --git a/Master/texmf-dist/doc/latex/microtype/README.md b/Master/texmf-dist/doc/latex/microtype/README.md index 211ed325765..47a727711c1 100644 --- a/Master/texmf-dist/doc/latex/microtype/README.md +++ b/Master/texmf-dist/doc/latex/microtype/README.md @@ -4,7 +4,7 @@ The `microtype` package **Subliminal refinements towards typographical perfection** - (v2.7c -- 2019/10/10) + (v2.7d -- 2019/11/18) Overview diff --git a/Master/texmf-dist/doc/latex/microtype/microtype.pdf b/Master/texmf-dist/doc/latex/microtype/microtype.pdf index 95bd060f8a4..6c2810a2c9c 100644 Binary files a/Master/texmf-dist/doc/latex/microtype/microtype.pdf and b/Master/texmf-dist/doc/latex/microtype/microtype.pdf differ diff --git a/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx b/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx index c72fca3f54e..36b08620a2d 100644 --- a/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx +++ b/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx @@ -1,7 +1,7 @@ %\iffalse meta-comment % !Mode:: "TeX:DTX:UK" % !smartQuote:: "English" -% !DTXversion:: "2.7c" +% !DTXversion:: "2.7d" % ------------------------------------------------------------------------ % The `microtype' package % Subliminal refinements towards typographical perfection @@ -26,7 +26,7 @@ % \ProvidesFile %<*driver> - {\jobname.dtx}[2019/10/10 v2.7c] + {\jobname.dtx}[2019/11/18 v2.7d] % % {mt-CharisSIL.cfg}[2017/07/07 v1.1 microtype config. file: Charis SIL (RS)] % {mt-LatinModernRoman.cfg}[2013/03/13 v1.0 microtype config. file: Latin Modern Roman (RS)] @@ -36,14 +36,6 @@ \usepackage{fontspec} \usepackage{luatexbase} \RequireLuaModule{luainputenc} -\ifnum\luatexversion>84 - \protected\edef\pdfminorversion {\pdfvariable minorversion} - \protected\def\pdfobj {\pdfextension obj } - \protected\def\pdfcatalog {\pdfextension catalog } - \protected\def\pdfmapline {\pdfextension mapline } - \protected\def\pdfglyphtounicode {\pdfextension glyphtounicode } - \protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax} -\fi \makeatletter % microtype-doc.sty is 8-bit, and the following is a hack \luatexbase@directlua{luatexbase.add_to_callback('process_input_buffer', luainputenc.fake_utf_read, 'luainputenc.fake_utf_read')} diff --git a/Master/texmf-dist/source/latex/microtype/microtype.dtx b/Master/texmf-dist/source/latex/microtype/microtype.dtx index 3871ffedc35..9f92e7296f9 100644 --- a/Master/texmf-dist/source/latex/microtype/microtype.dtx +++ b/Master/texmf-dist/source/latex/microtype/microtype.dtx @@ -1,7 +1,7 @@ %\iffalse meta-comment % !Mode:: "TeX:DTX:UK" % !smartQuote:: "English" -% !DTXversion:: "2.7c" +% !DTXversion:: "2.7d" % ------------------------------------------------------------------------ % The `microtype' package % Subliminal refinements towards typographical perfection @@ -37,7 +37,7 @@ % {microtype-luatex.def} % {microtype-xetex.def} %<*package|letterspace|m-t|pdftex-def|luatex-def|xetex-def> - [2019/10/10 v2.7c + [2019/11/18 v2.7d % Micro-typographical refinements % Robust letterspacing % microtype main configuration file @@ -51,8 +51,8 @@ %local microtype = microtype %microtype.module = { % name = "microtype", -% version = "2.7c", -% date = "2019/10/10", +% version = "2.7d", +% date = "2019/11/18", % description = "microtype module.", % author = "E. Roux, R. Schlicht and P. Gesang", % copyright = "E. Roux, R. Schlicht and P. Gesang", @@ -84,16 +84,16 @@ % % Let's abolish CM! We use Charter and Letter Gothic % (for the pre-built documentation on CTAN): - \usepackage[T1]{fontenc} - \usepackage[charter]{mathdesign} +\usepackage[T1]{fontenc} +\usepackage[charter]{mathdesign} \def\rmdefault{bch} % not scaled \def\sfdefault{SourceSansPro-TLF} \def\SourceSansPro@scale{1.02} \def\ttdefault{blg} {\ttfamily\selectfont \DeclareFontShape{T1}{blg}{k}{n}{<-> ssub * blg/b/n}{}} - \usepackage{textcomp} -\usepackage{ifpdf,ifluatex,ifxetex} +\usepackage{textcomp} +\usepackage{iftex} %<*!docsty> \ifxetex\else \usepackage[latin1]{\ifluatex lua\fi inputenc} @@ -120,10 +120,10 @@ { encoding = T1, family = blg } { _ = {100,100} } % underscores shouldn't touch - \ifxetex\else +\ifxetex\else % disable ?` and !` ligatures (sample in section \ref{sec:disable-ligatures}) \DisableLigatures[?,!]{encoding = *, family = rm* } - \fi +\fi % Fraktur sample in section \ref{sec:lettersp} \IfFileExists{t1mwr.fd} {\def\textfrak##1{{\fontfamily{mwr}\selectfont ##1}} @@ -136,15 +136,18 @@ \SetTracking[no ligatures={f,s,c}]{encoding=LY,family=yfrak}{120} \fi} {\def\textfrak{\rule{.5em}{1.5ex}\@gobble}}} +\ifpdftex\else + \microtypesetup{kerning=false} +\fi \tolerance=700 \ifpdf \ifluatex % microtype.dtx finally compiles with 0.35! - \microtypesetup{kerning=false} \def\pdftexversion{200} % in TeX Live 2015, they let this to \luatexversion \let\pdfxform \saveboxresource \let\pdflastxform \lastsavedboxresourceindex \protected\edef\pdfminorversion {\pdfvariable minorversion} \protected\def\pdfobj {\pdfextension obj } + \protected\def\pdfcatalog {\pdfextension catalog } \protected\def\pdfannot {\pdfextension annot } \protected\def\pdfoutline {\pdfextension outline } \protected\def\pdfmapline {\pdfextension mapline } @@ -161,10 +164,9 @@ \InputIfFileExists{microtype-logo.dtx}\relax\relax \InputIfFileExists{microtype-lssample.dtx}\relax\relax \else - \let\lsstyle\relax -\fi -\ifxetex - \microtypesetup{kerning=false} + \ifluatex\else + \let\lsstyle\relax + \fi \fi \usepackage{booktabs} \usepackage{array} @@ -333,7 +335,7 @@ \itemindent \labelsep \lstset{belowskip=0pt}}} {\endlist} -% boxes (for some reason, mathdesign changes these values) % still? +% boxes (for some reason, mathdesign changes these values) \setlength\fboxrule{0.4pt} \setlength\fboxsep{3pt} \setlength\arrayrulewidth{0.4pt} @@ -1216,7 +1218,7 @@ %\Describe{Option}{DVIoutput}{true,*false} % \pdftex\ and \luatex\ are not only able to generate output but can also % spit out files.\footnote{ -% Recent \TeX\ systems are using \pdftex\ as the default engine even for +% All recent \TeX\ systems are using \pdftex\ as the default engine also for % output.} % The latter can be ordered with the option \opt{DVIoutput}, which will set % \cmd\pdfoutput\ to zero. @@ -2054,7 +2056,6 @@ % of the respective space dimension set by the font. By default, the unit % is measured by the space dimensions. For example, with the following % (nonsensical) settings: -%\pagebreak ^^A layout %\begin{verbatim} %\SetExtraSpacing % [ unit = space ] % default @@ -2651,6 +2652,7 @@ % distributions, this can be changed in the file \file{updmap.cfg} by setting % |pdftexDownloadBase14| to |true|. % +%\pagebreak ^^A layout %\changes{v1.9a}{2005/11/15}{add explanation for error message with non-Type\,1 fonts} % \item %\begin{verbatim} @@ -2866,9 +2868,13 @@ % \contributor Franz Wexler <@\at @>, ^^A https://tex.stackexchange.com/users/182307/franz-wexler % \contributor Moritz Wemheuer , % `\contributor Andy N <@\at @>', ^^A https://tex.stackexchange.com/users/182462/andy-n -% \contributor Phelype Oleinik +% \contributor Phelype Oleinik , +% \contributor Falk Hanisch , +% \contributor Markus Kohm , +% \contributor Paolo Polesana <@\at @>, ^^A https://tex.stackexchange.com/users/95083/paolo-polesana +% \contributor Oliver Kopp % and -% \contributor Falk Hanisch . +% \contributor Hironori Kitagawa . % % %\iffalse @@ -2960,13 +2966,13 @@ % \bibitem[\pkg{fontspec}]{fontspec} % Will Robertson, % \emph{The \pkg{fontspec} package: Font selection for \xe\LaTeX\ and Lua\LaTeX}, -% \newblock 15~March 2019. +% \newblock 19~October 2019. % \newblock (\ctanpkgurl{fontspec}) % % \bibitem[\pkg{luaotfload}]{luaotfload} -% \'Elie Roux, Khaled Hosny, Philipp Gesang, Ulrike Fischer, +% \'Elie Roux, Khaled Hosny, Philipp Gesang, Ulrike Fischer, Marcel Kr\"uger, % \emph{The \pkg{luaotfload} package}, -% \newblock 13~September 2019. +% \newblock 10~November 2019. % \newblock (\ctanpkgurl{luaotfload}) % % \bibitem[\pkg{pdfcprot}]{pdfcprot} @@ -3019,6 +3025,8 @@ % %\VersionDate{\expandafter\@gobble\fileversion}{\filedate} % +%\VersionDate{2.7c}{2019/10/10} +% %\VersionDate{2.7b}{2019/02/28} % %\VersionDate{2.7a}{2018/01/14} @@ -3371,7 +3379,7 @@ % \RequirePackage,\@@enc@update,\cf@encoding,\f@encoding} %^^A\DoNotIndex{\add@accent,\curr@fontshape,\define@newfont,\do@subst@correction, %^^A \every@math@size,\f@size,\font@name,\glb@currsize,\glb@settings,\normalfont, -%^^A \pickup@font,\selectfont,\set@fontsize,\showhyphens} ^^A latex +%^^A \pickup@font,\remove@tlig,\selectfont,\set@fontsize,\showhyphens} ^^A latex %\DoNotIndex{\normalpdfoutput,\normalpdftexversion,\normalpdftexrevision} ^^A tex live 2004 %\DoNotIndex{\foreign@language,\languagename,\select@language,\shorthandoff} ^^A babel %\DoNotIndex{\percentsign} ^^A babel/spanish,galician,mexican @@ -3967,6 +3975,8 @@ %\todo{interface for \cmd\protrusionboundary} %\end{enum} %\changes{v2.6}{2016/04/22}{update for \luatex\ 0.85 (renamed primitives)} +% Also, sometime between 1.0.4 and 1.0.7, the function |font.setexpansion| +% has been introduced, but we'll test this directly later. % \begin{macrocode} %<*luatex-def> %\MT@dinfo@nl0{this is luatex (\the\luatexversion)} @@ -5630,7 +5640,6 @@ time will almost certainly lead to undesired results. Have your choice!}% % \begin{macrocode} %<*pdftex-def|luatex-def> \let\MT@copy@font\relax -%\MT@requires@luatex4{\let\pdfcopyfont\copyfont}\relax %\MT@requires@pdftex7{ \def\MT@copy@font@{% % \end{macrocode} @@ -5654,10 +5663,22 @@ time will almost certainly lead to undesired results. Have your choice!}% \else \MT@exp@two@c\let\font@name\MT@font@orig \fi - \global\MT@exp@two@c\pdfcopyfont\MT@font@copy\font@name -%\MT@dinfo1{creating new copy: \MT@font@copy}% +% \global\MT@exp@two@c\pdfcopyfont\MT@font@copy\font@name % \end{macrocode} %\end{macro} +% Even though \luatex\ also provides the primitive from \pdftex\ (even renamed to +% \cmd\copyfont, that is, `promoted' as per the \luatex\ manual), it is crippled +% in that OpenType features will be lost. ^^A see https://mailman.ntg.nl/pipermail/ntg-context/2016/087541.html +%\changes{v2.7d}{2019/11/17}{in \luatex, don't use the \cmd\copyfont\ primitive, but load the font anew +% (reported by \contributor Paolo Polesana <@\at @> and +% \contributor Oliver Kopp )} +% ^^A http://tex.stackexchange.com/questions/338942/cancellation-of-color-fontspec-font-settings-while-defining-microtype-context +% ^^A https://tex.stackexchange.com/questions/419288/microtypecontext-with-lualatex +% Therefore, we do not copy the font but load it anew. +% \begin{macrocode} +% \MT@exp@two@c\MT@lua@copyfont\meaning\font@name\@nil +%\MT@dinfo1{creating new copy: \MT@font@copy}% +% \end{macrocode} % Since it's a new font, we have to remove it from the context lists. % \begin{macrocode} \MT@map@clist@c\MT@active@features{% @@ -5674,7 +5695,9 @@ time will almost certainly lead to undesired results. Have your choice!}% \let\font@name\MT@font@copy % \end{macrocode} % But we have to properly substitute the font after we're done. +% In \luatex, for some reason, one expansion step more. % \begin{macrocode} +% \aftergroup\MT@exp@two@c \aftergroup\let\aftergroup\font@name\aftergroup\MT@font@copy } % \end{macrocode} @@ -5689,6 +5712,14 @@ time will almost certainly lead to undesired results. Have your choice!}% \fi } %}\relax +% \end{macrocode} +%\end{macro} +%\begin{macro}{\MT@lua@copy@font} +% \meta{\#1} and \meta{\#2} are `|select|' and `|font|', respectively, +% \meta{\#3} is the font spec. +% \begin{macrocode} +%\def\MT@lua@copyfont #1 #2 #3\@nil{% +% \global\expandafter\font\MT@font@copy=#3\relax} % % \end{macrocode} %\end{macro} @@ -6660,11 +6691,29 @@ time will almost certainly lead to undesired results. Have your choice!}% %\end{macro} %\begin{macro}{\MT@expandfont} % Expand the font. +% In \luatex, we try to go the |lua| way, if the |font.setexpansion| function exists. +%\changes{v2.7d}{2019/11/17}{use \luatex\ function \texttt{font.}\penalty\exhyphenpenalty\texttt{setexpansion} if available} % \begin{macrocode} -%\MT@requires@luatex4{\let\pdffontexpand\expandglyphsinfont}\relax +%<*luatex-def> +\directlua{\detokenize{ + if font.setexpansion == nil then + tex.print("\\@firstoftwo") + else + tex.print("\\@secondoftwo") + end +}}{ +\MT@requires@luatex4{\let\pdffontexpand\expandglyphsinfont}\relax +% \def\MT@expandfont{% \pdffontexpand\MT@font \MT@stretch@ \MT@shrink@ \MT@step@ \MT@auto@\relax } +%<*luatex-def> +}{ +\def\MT@expandfont{% + \directlua{font.setexpansion(font.current(),\MT@stretch@,\MT@shrink@,\MT@step@)}% +} +} +% % \end{macrocode} %\end{macro} %\begin{macro}{\MT@set@all@ex} @@ -9457,16 +9506,27 @@ end %\end{macro} %\begin{macro}{\MT@register@subst@font} % Register the substituted font -%\changes{v2.5}{2010/08/23}{only register if it isn't registered already +%\changes{v2.5}{2010/08/23}{only register substituted font if it isn't registered already % (reported by \contributor George Gratzer % and \contributor Josep Maria Font )} % ^^A 1. % ^^A 2. % ^^A (beta:02) % (only if it isn't registered already). -% \begin{macrocode} -\def\MT@register@subst@font{\MT@exp@one@n\MT@in@clist\font@name\MT@font@list - \ifMT@inlist@\else\xdef\MT@font@list{\MT@font@list\font@name,}\fi} +%\changes{v2.7d}{2019/10/28}{remove substitute font from list +% (reported by \contributor Markus Kohm )} +% ^^A private mail, 2019/01/16 +% ^^A https://tex.stackexchange.com/q/470311 +% Additionally, we have to remove the substitute font from the list of fonts, +% so that we set it up again. +% \begin{macrocode} +\def\MT@register@subst@font{% + \MT@exp@one@n\MT@in@clist\font@name\MT@font@list + \ifMT@inlist@\else + \xdef\MT@font@list{\MT@font@list\font@name,}% + \expandafter\MT@rem@from@clist\MT@font\MT@font@list + \fi +} % \end{macrocode} %\end{macro} % @@ -9503,9 +9563,10 @@ end % \end{macrocode} %\end{macro} %\begin{macro}{\MT@register@subst@font@cx} -% Add the substituted font to each feature list. +% Add the substituted font to each feature list and possibly remove substitute font. %\todo{remove from other lists?} %\changes{v2.5}{2010/08/23}{only register if it isn't registered already} ^^A (beta:02) +%\changes{v2.7d}{2019/10/28}{remove substitute font from lists} % \begin{macrocode} \def\MT@register@subst@font@cx{% \MT@map@clist@c\MT@active@features{% @@ -9515,6 +9576,8 @@ end \MT@exp@cs\MT@xadd {MT@##1@\csname MT@##1@context\endcsname font@list}% {\font@name,}% + \expandafter\MT@exp@one@n\expandafter\MT@rem@from@clist\expandafter\MT@font + \csname MT@##1@\csname MT@##1@context\endcsname font@list\endcsname \fi }% } @@ -17071,7 +17134,7 @@ normal, and shrunk by 5\%: % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % -% \CheckSum{10630} +% \CheckSum{10666} % % \Finale % diff --git a/Master/texmf-dist/tex/latex/microtype/letterspace.sty b/Master/texmf-dist/tex/latex/microtype/letterspace.sty index 43662f328e8..07b08c0a3cd 100644 --- a/Master/texmf-dist/tex/latex/microtype/letterspace.sty +++ b/Master/texmf-dist/tex/latex/microtype/letterspace.sty @@ -33,7 +33,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage {letterspace} - [2019/10/10 v2.7c + [2019/11/18 v2.7d Robust letterspacing (RS)] \def\MT@MT diff --git a/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def b/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def index 08daa2166eb..5bdb98dc2bf 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def +++ b/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def @@ -30,7 +30,7 @@ %% \ProvidesFile {microtype-luatex.def} - [2019/10/10 v2.7c + [2019/11/18 v2.7d Definitions specific to luatex (RS)] @@ -113,7 +113,6 @@ \fi } \let\MT@copy@font\relax -\MT@requires@luatex4{\let\pdfcopyfont\copyfont}\relax \def\MT@copy@font@{% \xdef\MT@font@copy{\csname\MT@@font/\MT@pr@context/\MT@ex@context\endcsname}% \expandafter\ifx\MT@font@copy\relax @@ -123,7 +122,7 @@ \else \MT@exp@two@c\let\font@name\MT@font@orig \fi - \global\MT@exp@two@c\pdfcopyfont\MT@font@copy\font@name + \MT@exp@two@c\MT@lua@copyfont\meaning\font@name\@nil \MT@map@clist@c\MT@active@features{% \MT@exp@cs\ifx{MT@\@nameuse{MT@abbr@##1}}\relax\else \def\@tempa{##1}% @@ -133,6 +132,7 @@ \fi \MT@exp@two@c\let\MT@font\MT@font@copy \let\font@name\MT@font@copy + \aftergroup\MT@exp@two@c \aftergroup\let\aftergroup\font@name\aftergroup\MT@font@copy } \def\MT@rem@from@list#1{% @@ -141,6 +141,8 @@ \MT@font \csname MT@\@tempa @#1font@list\endcsname \fi } +\def\MT@lua@copyfont #1 #2 #3\@nil{% + \global\expandafter\font\MT@font@copy=#3\relax} \def\MT@protrusion{\MT@maybe@do{pr}} \def\MT@set@pr@codes{% \MT@nofamilyfalse @@ -303,10 +305,22 @@ \MT@nonselectedfalse } \let\MT@set@ex@codes\MT@set@ex@codes@n +\directlua{\detokenize{ + if font.setexpansion == nil then + tex.print("\\@firstoftwo") + else + tex.print("\\@secondoftwo") + end +}}{ \MT@requires@luatex4{\let\pdffontexpand\expandglyphsinfont}\relax \def\MT@expandfont{% \pdffontexpand\MT@font \MT@stretch@ \MT@shrink@ \MT@step@ \MT@auto@\relax } +}{ +\def\MT@expandfont{% + \directlua{font.setexpansion(font.current(),\MT@stretch@,\MT@shrink@,\MT@step@)}% +} +} \def\MT@set@all@ex#1{% \MT@do@font{\efcode\MT@font\@tempcnta=#1\relax}% } diff --git a/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def b/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def index 1b68bdd1b94..eff2fd5ba14 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def +++ b/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def @@ -30,7 +30,7 @@ %% \ProvidesFile {microtype-pdftex.def} - [2019/10/10 v2.7c + [2019/11/18 v2.7d Definitions specific to pdftex (RS)] diff --git a/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def b/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def index a0422a3a6df..b9f2d478b2c 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def +++ b/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def @@ -30,7 +30,7 @@ %% \ProvidesFile {microtype-xetex.def} - [2019/10/10 v2.7c + [2019/11/18 v2.7d Definitions specific to xetex (RS)] diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.cfg b/Master/texmf-dist/tex/latex/microtype/microtype.cfg index 83c73b47ace..212b37910cd 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype.cfg +++ b/Master/texmf-dist/tex/latex/microtype/microtype.cfg @@ -40,7 +40,7 @@ %% \ProvidesFile {microtype.cfg} - [2019/10/10 v2.7c + [2019/11/18 v2.7d microtype main configuration file (RS)] diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.lua b/Master/texmf-dist/tex/latex/microtype/microtype.lua index 54ccd668ae3..c12ec1b9d8d 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype.lua +++ b/Master/texmf-dist/tex/latex/microtype/microtype.lua @@ -34,8 +34,8 @@ microtype = microtype or {} local microtype = microtype microtype.module = { name = "microtype", - version = "2.7c", - date = "2019/10/10", + version = "2.7d", + date = "2019/11/18", description = "microtype module.", author = "E. Roux, R. Schlicht and P. Gesang", copyright = "E. Roux, R. Schlicht and P. Gesang", diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.sty b/Master/texmf-dist/tex/latex/microtype/microtype.sty index ff823d55f97..302589147d3 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype.sty +++ b/Master/texmf-dist/tex/latex/microtype/microtype.sty @@ -29,7 +29,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage {microtype} - [2019/10/10 v2.7c + [2019/11/18 v2.7d Micro-typographical refinements (RS)] \def\MT@MT @@ -1289,8 +1289,13 @@ time will almost certainly lead to undesired results. Have your choice!}% } \def\MT@check@font{\MT@exp@one@n\MT@in@clist\MT@font\MT@font@list} \def\MT@register@font{\xdef\MT@font@list{\MT@font@list\MT@font,}} -\def\MT@register@subst@font{\MT@exp@one@n\MT@in@clist\font@name\MT@font@list - \ifMT@inlist@\else\xdef\MT@font@list{\MT@font@list\font@name,}\fi} +\def\MT@register@subst@font{% + \MT@exp@one@n\MT@in@clist\font@name\MT@font@list + \ifMT@inlist@\else + \xdef\MT@font@list{\MT@font@list\font@name,}% + \expandafter\MT@rem@from@clist\MT@font\MT@font@list + \fi +} \let\MT@active@features\@empty \def\MT@check@font@cx{% \MT@if@true @@ -1313,6 +1318,8 @@ time will almost certainly lead to undesired results. Have your choice!}% \MT@exp@cs\MT@xadd {MT@##1@\csname MT@##1@context\endcsname font@list}% {\font@name,}% + \expandafter\MT@exp@one@n\expandafter\MT@rem@from@clist\expandafter\MT@font + \csname MT@##1@\csname MT@##1@context\endcsname font@list\endcsname \fi }% } -- cgit v1.2.3