summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/microtype/microtype.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-07-13 23:12:08 +0000
committerKarl Berry <karl@freefriends.org>2017-07-13 23:12:08 +0000
commit89aa998bcb48fde73fb8c02e28350ca8b9042bc6 (patch)
tree5d32265a3f46be10802647d7fb209fd650415341 /Master/texmf-dist/source/latex/microtype/microtype.dtx
parent5a237aa2394aa120794c276d4af43957742d3da4 (diff)
microtype (8jul17)
git-svn-id: svn://tug.org/texlive/trunk@44791 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/microtype/microtype.dtx')
-rw-r--r--Master/texmf-dist/source/latex/microtype/microtype.dtx592
1 files changed, 373 insertions, 219 deletions
diff --git a/Master/texmf-dist/source/latex/microtype/microtype.dtx b/Master/texmf-dist/source/latex/microtype/microtype.dtx
index 50a06ab4596..06ebb509344 100644
--- a/Master/texmf-dist/source/latex/microtype/microtype.dtx
+++ b/Master/texmf-dist/source/latex/microtype/microtype.dtx
@@ -2,11 +2,11 @@
% ^^A messages to WinEdt:
% !Mode:: "TeX:DTX:UK"
% !smartQuote:: "English"
-% !DTXversion:: "2.6a"
+% !DTXversion:: "2.7"
% ------------------------------------------------------------------------
% The `microtype' package
% Subliminal refinements towards typographical perfection
-% Copyright (c) 2004--2016 R Schlicht <w.m.l@gmx.net>
+% Copyright (c) 2004--2017 R Schlicht <w.m.l@gmx.net>
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -38,7 +38,7 @@
%<luatex-def> {microtype-luatex.def}
%<xetex-def> {microtype-xetex.def}
%<*package|letterspace|m-t|pdftex-def|luatex-def|xetex-def>
- [2016/05/14 v2.6a
+ [2017/07/07 v2.7
%<package> Micro-typographical refinements
%<letterspace> Robust letterspacing
%<m-t> microtype main configuration file
@@ -48,6 +48,17 @@
%<xetex-def> xetex
(RS)]
%</package|letterspace|m-t|pdftex-def|luatex-def|xetex-def>
+%<luafile>microtype = microtype or {}
+%<luafile>local microtype = microtype
+%<luafile>microtype.module = {
+%<luafile> name = "microtype",
+%<luafile> version = "2.7",
+%<luafile> date = "2017/07/07",
+%<luafile> description = "microtype module.",
+%<luafile> author = "E. Roux, R. Schlicht and P. Gesang",
+%<luafile> copyright = "E. Roux, R. Schlicht and P. Gesang",
+%<luafile> license = "LPPL",
+%<luafile>}
%<*config>
%<bch> {mt-bch.cfg}[2007/03/03 v1.5 microtype config. file: Bitstream Charter (RS)]
%<blg> {mt-blg.cfg}[2007/07/14 v1.0 microtype config. file: Bitstream Letter Gothic (RS)]
@@ -172,12 +183,12 @@
\def\match{\textbullet}
\usepackage{amssymb} % \varnothing
\let\OrigTeX\TeX
- \def\TeX{\textoractual{\OrigTeX}{TeX}}
+ \DeclareRobustCommand\TeX{\textoractual{\OrigTeX}{TeX}}
\setlength\textheight{49\baselineskip}
\else
\def\bfdefault{b}
\def\Module#1{{\color{theblue}\textoractual{$\langle$}{<}\textit{#1}\textoractual{$\rangle$}{>}}}
- \def\TeX{\textoractual{T\kern-.1em\lower.4ex\hbox{E}\kern-.075emX\@}{TeX}}
+ \DeclareRobustCommand\TeX{\textoractual{T\kern-.1em\lower.4ex\hbox{E}\kern-.075emX\@}{TeX}}
\DeclareRobustCommand\LaTeX{\textoractual{L\kern-.26em{\sbox\z@ T\vbox to\ht\z@{%
\hbox{\check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont A}%
\vss}}}{La}\kern-.075em\TeX}
@@ -430,6 +441,7 @@
\def\OptionSep{{\rmfamily, }} \def\MacroSep{\,} \def\EnvironmentSep{\,}
\def\PrintValues[#1]{{\MacroFont\expandafter\@gobble\@tempa\hfill #1}\\*[.25\baselineskip]}
\def\CatIndex#1#2{\index{#1\actualchar{\protect\ttfamily #1} (#2)\encapchar hyperpage}}
+\def\CatIndeX#1#2#3{\index{#2\actualchar#1\ (#3)\encapchar hyperpage}}
\def\SpecialOptionIndex#1{\@bsphack
\index{\quotechar/#1% sort options as `Symbols'
\actualchar{\protect\ttfamily#1}\encapchar usage}%
@@ -530,7 +542,7 @@
% fancy PDF document
\ifpdf
\ifx\eTeXversion\@undefined \else % errors when not using etex (conflict with multicol)
- \ifx\pdfcolorstack\@undefined % no longer required with pdftex 1.40
+ \ifnum\pdftexversion < 140 % no longer required with pdftex 1.40
\usepackage{pdfcolmk}
\fi\fi
\usepackage[bookmarks,bookmarksopen,pdfdisplaydoctitle,
@@ -547,7 +559,7 @@
pdfkeywords={TeX, LaTeX, pdfTeX, LuaTeX, XeTeX, typography, micro-typography,
character protrusion, margin kerning, optical alignment, font expansion,
font scaling, hz, kerning, spacing, glue, letterspacing, tracking, ligatures},
- pdfcopyright={\textcopyright\ 2004--2016 R Schlicht\012%
+ pdfcopyright={\textcopyright\ 2004--2017 R Schlicht\012%
This work may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3c of this
license or (at your option) any later version.\012%
@@ -701,17 +713,15 @@
\else \llap{\raisebox{0.45ex}{\'{}\kern\dimexpr.05em-2\fontdimen1\font\relax}}%
\fi}
\DeclareRobustCommand\thanh{H\`an \thanhthe{} Th\`anh}
-\DeclareRobustCommand\pdftex{\texorpdfstring{pdf\kern.05em\TeX}{pdfTeX}}
-\DeclareRobustCommand\luatex{\texorpdfstring{Lua\kern-.05em\TeX}{LuaTeX}}
-\DeclareRobustCommand\etex{\mbox{e-\kern-.075em\TeX}}
+\DeclareRobustCommand\pdftex{\texorpdfstring{pdf\kern.05em\TeX\CatIndeX{pdf\TeX}{pdftex}{engine}}{pdfTeX}}
+\DeclareRobustCommand\luatex{\texorpdfstring{Lua\kern-.05em\TeX\CatIndeX{Lua\TeX}{luatex}{engine}}{LuaTeX}}
+\DeclareRobustCommand\etex{\mbox{e-\kern-.075em\TeX}\CatIndeX{e-\TeX}{etex}{engine}}
\DeclareRobustCommand\nonetex{\rlap{\kern.05em/}\etex} % aka. \TeX
-\def\@reflect#1{\ifdim\fontdimen1\font=0pt \reflectbox{#1}%
- \else \rotatebox[origin=c]{180}{#1}\fi}
-\def\xe{% also reflect the initial `X'?
- \textoractual{\@reflect{X}\lower.4ex\hbox{\kern-.066em\@reflect{E}}}{Xe}}
-\DeclareRobustCommand\xetex{\xe\kern-.1em\TeX}
-\def\texlive{\TeX~Live}
-\def\miktex{MiK\TeX}
+\def\@reflect#1{\ifdim\fontdimen1\font=0pt \reflectbox{#1}\else\rotatebox[origin=c]{180}{#1}\fi}
+\DeclareRobustCommand\xe{\textoractual{\@reflect{X}\lower.4ex\hbox{\kern-.066em\@reflect{E}}}{Xe}}% also reflect the initial `X'?
+\DeclareRobustCommand\xetex{\xe\kern-.1em\TeX\CatIndeX{\xe\TeX}{xetex}{engine}}
+\DeclareRobustCommand\texlive{\TeX~Live\CatIndeX{\TeX~Live}{TeXLive}{distribution}}
+\DeclareRobustCommand\miktex{MiK\TeX\CatIndeX{MiK\TeX}{MiKTeX}{distribution}}
\def\microtype{{\PackageFont microtype}}
\def\letterspace{\pkg{letterspace}}
\def\fontdim{\cmd\fontdimen\,}
@@ -769,10 +779,10 @@
%\noindent
% The \microtype\ package provides a \LaTeX\ interface to the micro-typographic
% extensions that were introduced by \pdftex\ and have since also propagated to
-% \luatex\ and \xetex: most prominently, character protrusion and font
-% expansion, furthermore the adjustment of interword spacing and additional
-% kerning, as well as hyphenatable letterspacing (tracking) and the possibility
-% to disable all or selected ligatures.
+% \luatex\ and \xetex: most prominently, character protrusion and font expansion,
+% furthermore the adjustment of interword spacing and additional kerning, as
+% well as hyphenatable letterspacing (tracking) and the possibility to disable
+% all or selected ligatures.
% These features may be applied to customisable sets of fonts, and all
% micro-typographic aspects of the fonts can be configured in a straight-forward
% and flexible way. Settings for various fonts are provided.
@@ -792,7 +802,7 @@
% other extensions (see section~\ref{sec:lettersp}).
%
%\bigskip\noindent
-% This package is copyright \textcopyright\ 2004\kern.09em--2016 R Schlicht.
+% This package is copyright \textcopyright\ 2004\kern.09em--2017 R Schlicht.
% It may be distributed and/or modified under the conditions of the
% \IfFileExists{lppl.tex}{\hyperref[LPPL:LPPL]}{\href{http://www.latex-project.org/lppl/}}
% {\LaTeX\ Project Public License},
@@ -965,7 +975,7 @@
% refinement which the fonts in your document should gain. By default, the
% package is moderately greedy: character protrusion will always be enabled,
% font expansion will only be disabled when the fonts cannot be expanded
-% automatically, that is, with \pdftex\ versions older than 1.20, in <DVI>
+% automatically, that is, with \pdftex\ versions older than 1.20 or in <DVI>
% output mode (see section~\ref{sub:options-misc}), or with \xetex.
% In other words, \microtype\ will try to apply as much micro-typography as
% can safely be expected to work under the respective conditions (hence, it is
@@ -1007,6 +1017,7 @@
% the active font set (by default, all small capitals).
% It is not available with \xetex\ (you may use the `|LetterSpace|'
% option of the \cite{fontspec} package instead).
+% With \pdftex, it is only available in <PDF> mode.
%
%\medskip
%\Describe{Option}{kerning}{true,!false,:font set name}
@@ -1049,12 +1060,12 @@
% & $\geq$ 1.20 & <DVI> & ! & ? & _ & _ & _ & _\\
% & & <PDF> & ! & ! & ! & _ & _ & _\\
% & $\geq$ 1.40 & <DVI> & ! & ? & _ & ? & ? & _\\
-% & & <PDF> & ! & ! & ! & ? & ? & ?\,\textsuperscript{\itshape a}\\
+% & & <PDF> & ! & ! & ! & ? & ? & ?\\^^A\,\textsuperscript{\itshape a}\\
%\cmidrule(r){1-3}
% \luatex ^^A we will have to re-model kerning, spacing and tracking with \luatex
% & $\geq$ 0.30 & <DVI> & ! & ? & _ & _ & _ & _\\
% & & <PDF> & ! & ! & ! & _ & _ & _\\
-% & $\geq$ 0.62 & <DVI> & ! & ? & _ & _ & _ & _\\
+% & $\geq$ 0.62 & <DVI> & ! & ? & ?\,\textsuperscript{\itshape a} & _ & _ & ?\,\textsuperscript{\itshape a}\\
% & & <PDF> & ! & ! & ! & _ & _ & ?\\
%\cmidrule(r){1-3}
% \let\textoractual\@firstoftwo ^^A why?
@@ -1068,7 +1079,8 @@
% ? = not enabled\quad
% _ = not available
%\hfill
-% \textit{a}\quad $\geq$ 1.40.4 recommended
+% ^^A \textit{a}\quad $\geq$ 1.40.4 recommended
+% \textit{a}\quad for legacy (<TFM>) fonts only
%\vskip3pt
%\end{minipage}^^A
%}\kern-\dimexpr\fboxsep+\fboxrule\relax ^^A end \fcolorbox
@@ -1116,8 +1128,8 @@
% instances of the fonts may be calculated automatically and at run-time instead
% of the user having to prepare the instances in advance. This option is true
% by default provided that you are using a \TeX\ engine with this capability
-% and the output mode is <PDF>; otherwise, it will be disabled.
-% If \opt{auto} is set to false, the fonts for all expansion steps must exist
+% and the output mode is <PDF>.
+% If \opt{auto} is set to false, the font instances for all expansion steps must exist
% (with files called \meta{font~name}\texttt{\textpm}\meta{expansion value},
% \eg, \file{cmr12+10}, as described in the \cite{pdftexman}).
%\iffalse ^^A no longer true (1.40?)
@@ -1127,7 +1139,8 @@
%
%\changes{v1.9}{2005/08/27}{add remark about Type\,1 fonts required for
% automatic font expansion}
-% Automatic font expansion does not work with bitmap fonts. Therefore, if you
+%\changes{v2.7}{2017/07/06}{add remark about automatic font expansion with \texttt{dvilualatex}}
+% With \pdftex, automatic font expansion does not work with bitmap fonts. Therefore, if you
% are using the Computer Modern Roman fonts in <T1> encoding,
%\iffalse
% \footnote{
@@ -1135,7 +1148,10 @@
% no other way related than that both start with a `T' and end with a `1'.}
%\fi
% you should either install the \pkg{cm-super} fonts or use the Latin Modern
-% fonts (package \pkg{lmodern}).
+% fonts (package \pkg{lmodern}). With \luatex, automatic expansion even works
+% in <DVI> mode, however, because postprocessing programs like |dvips| or
+% |dvipdfmx| are (at the moment of this writing) not capable of dealing with
+% OpenType fonts, only for legacy fonts.
%
%\medskip
%\Describe{Option}{stretch}{:integer}[20]
@@ -1185,6 +1201,7 @@
% to +1000.
%
%
+%\enlargethispage{2\baselineskip} ^^A layout
%\subsection{Miscellaneous options}\label{sub:options-misc}
%
%\Describe{Option}{DVIoutput}{true,*false}
@@ -1521,14 +1538,14 @@
% The set of fonts to which the settings should apply is declared using the
% same syntax of \meta{font axis}\,|=|\,\meta{value list} pairs as for the
% command \cs{DeclareMicrotypeSet} (see section~\ref{sec:font-sets}), with the
-% only difference that values with an asterisk will be translated immediately
+% only difference that values including asterisks (which, as you may recall,
+% stand for the respective default) will be translated immediately
% instead of at the end of the preamble.
% To find the matching settings for a given font the package will try all
% combinations of font encoding, family, series, shape and size,
-% with decreasing significance in this order. For instance, if both settings for
-% the current family (say, |T1/cmr///|) and settings for italic fonts in the
-% normal weight (|T1//m/it/|) exist, those for the |cmr| family would
-% apply.
+% with decreasing significance in this order. For instance, if settings exist for
+% both the current family (say, |T1/cmr///|) and for italic fonts in the
+% normal weight (|T1//m/it/|), the settings for the |cmr| family would apply.
%\changes{v1.7}{2005/03/23}{remove table of match order
% (now table~\ref{tab:match-order} on page~\pageref{tab:match-order})}
% The encoding must always match.
@@ -1908,14 +1925,20 @@
% is, whenever a particular character appears in the text, the specified
% kerning will be inserted, regardless of which character precedes resp.
% follows it.
+% (Put in another way, this feature allows to modify the left or right
+% \textit{sidebearings} of specific glyphs.)
%
%\emptypdfpageresources ^^A layers of letterspacing illustration
%
% It should not be neglected to mention a limitation of this feature:
% words \emph{immediately following} such a kern (not separated by a space)
% will not be hyphenated, unless you insert the breakpoints manually, \eg, for
-% kerning after the apostrophe, `|l'apos\-trophe|'. This restriction of \pdftex\
-% will hopefully be lifted some time.
+% kerning after the apostrophe, `|l'apos\-trophe|'.
+%\changes{v2.7}{2016/10/16}{mention that additional kerning does not work in math mode
+% (discovered by `\contributor Daniel <@\at @>')}
+% ^^A http://tex.stackexchange.com/questions/332695/microtype-kerning-in-math-mode-with-mathdesign-charter
+% Furthermore, additional kerning will not be applied in math mode.
+% These restrictions of \pdftex\ will hopefully be lifted some time.
%
%\paragraph{The kerning settings}
% are specified as pairs of \meta{character}\,|=|\,\meta{kerning values}, where
@@ -2114,7 +2137,7 @@
% & <OT1>, <OT4>, <T1>, <T2A>, <T5>, <LY1>, <TS1>
% & n, it, sl, sc \\
% Bitstream Charter (|bch|)\footnote{Aliases: \pkg{mathdesign}/Charter (|mdbch|),
-% MicroPress's \pkg{chmath} (|chr|)}
+% MicroPress's \pkg{chmath} (|chr|), \pkg{XCharter}}
% & <OT1>, <T1>, <T5>, <LY1>, <TS1>
% & n, it, (sl)\footnote{Settings inherited from italic shape\label{fn:it-sl}}, sc \\
% Adobe Garamond (|pad|, |padx|, |padj|)
@@ -2131,26 +2154,27 @@
% & n, it, (sl)\fnref{fn:it-sl}, sc, si\\
% Palatino (|ppl|, |pplx|, |pplj|)\footnote{Aliases: \pkg{pxfonts} (|pxr|),
% \pkg{qfonts}/QuasiPalatino, \TeX\ Gyre Pagella (|qpl|),
-% <FPL> Neu (|fp9x|, |fp9j|)}
+% \pkg{newpx}, <FPL> Neu (|fp9x|, |fp9j|)}
% & <OT1>, <OT4>, <T1>, <LY1>, (<TS1>)\fnref{fn:incmpl}
% & n, it, (sl)\fnref{fn:it-sl}, sc \\
% Times (|ptm|, |ptmx|, |ptmj|)\footnote{Aliases: \pkg{txfonts} (|txr|),
-% \pkg{qfonts}/QuasiTimes, \TeX\ Gyre Termes (|qtm|)}
+% \pkg{qfonts}/QuasiTimes, \TeX\ Gyre Termes (|qtm|),
+% \pkg{newtx}, \pkg{tempora}}
% & <OT1>, <OT4>, <T1>, <LY1>, <QX>, (<TS1>)\fnref{fn:incmpl}
% & n, it, (sl)\fnref{fn:it-sl}, sc \\
% Latin Modern Roman
-% & <EU1/2>, <TU> [Latin, Greek]
+% & <EU1>/<2>, <TU> [Latin, Greek]
% & n, it, (sl)\fnref{fn:it-sl}\\
% Charis <SIL>
-% & <EU1/2>, <TU> [Latin, Cyrillic, Greek]
+% & <EU1>/<2>, <TU> [Latin, Cyrillic, Greek]
% & n, it, sc\\
%\iffalse ^^A provided with the EB Garamond package
% <EB> Garamond
-% & <EU1/2>, <TU> [Latin, Cyrillic, Greek]
+% & <EU1>/<2>, <TU> [Latin, Cyrillic, Greek]
% & n, it, sc, si\\
%\fi
% Palatino Linotype\footnote{Aliases: \TeX\ Gyre Pagella, Palatino <LT> Std, Palatino}
-% & <EU1/2>, <TU> [Latin]
+% & <EU1>/<2>, <TU> [Latin]
% & n, it, sc\\
% Computer Modern math (|cmsy|, |cmm|)\footnote{Aliases: Latin Modern (|lmsy|, |lmm|)}
% & <OML>/<OMS>
@@ -2771,6 +2795,7 @@
% \contributor Michalis Miatidis <miatidis\at informatik.rwth-aachen.de>,
% \contributor Sven Naumann <svenau\at gmx.net>,
% \contributor Ross Hetherington <ross\at heth.eclipse.co.uk>,
+% \contributor Wiebke Petersen <petersew\at uni-duesseldorf.de>,
% \contributor Geoff Vallis <gkv\at Princeton.EDU>,
% \contributor Steven~E. Harris <seh\at panix.com>,
% \contributor Karl Berry <karl\at freefriends.org>,
@@ -2779,39 +2804,50 @@
% \contributor Wolfram Schaalo <schaalo\at gmx.net>,
% \contributor Vasile Gaburici <vgaburici\at gmail.com>,
% \contributor Sveinung Heggen <sveinung.heggen\at orkla.no>,
+% \contributor Axel Berger <Axel_Berger\at b.maus.de>,
% \contributor Colin Rourke <gt\at msp.warwick.ac.uk>,
% \contributor Maverick Woo <maverick\at cs.cmu.edu>,
% \contributor Silas~S. Brown <ssb22\at cam.ac.uk>,
+% \contributor Lars R\"onnb\"ack <lars.ronnback\at affecto.com>,
% \contributor Christian Stark <cstark\at gmx.de>,
+% \contributor Leo <sdl.web\at gmail.com>,
% \contributor Marcin Borkowski <mbork\at atos.wmid.amu.edu.pl>,
+% \contributor hscm <henkmetselaar\at gmail.com>,
% \contributor George Gratzer <gratzer\at me.com>,
% \contributor Josep Maria Font <jmfont\at ub.edu>,
% \contributor Juan Acevedo <juan.acevedo.juan\at gmail.com>,
% \contributor Heiko Oberdiek <heiko.oberdiek\at googlemail.com>,
% \contributor Till~A. Heilmann <till.heilmann\at unibas.ch>,
% \contributor Rolf Dieterich <rolf.dieterich\at gmx.de>,
-% \contributor Seamus Bradley <@\at @>, ^^A http://tex.stackexchange.com/users/215/seamus
+% \contributor Seamus Bradley <@\at @>, ^^A https://tex.stackexchange.com/users/215/seamus
% \contributor Meho~R <meho.2005\at gmail.com>,
% \contributor Steffen Hoffmann <speraviro-delenda\at expires-2011-11-30.arcornews.de>,
% \contributor Scott Pakin <scott\at pakin.org>,
% \contributor Ma\"ieul Rouquette <maieul\at maieul.net>,
% \contributor Jonas Hogstrom <hjb981\at gmail.com>,
% \contributor Gabriel Kerneis <gabriel\at kerneis.info>,
-% `\contributor RazorXsr <@\at @>', ^^A http://tex.stackexchange.com/users/17609/razorxsr
-% `\contributor Dave <@\at @>', ^^A http://tex.stackexchange.com/users/15562/dave
+% `\contributor RazorXsr <@\at @>', ^^A https://tex.stackexchange.com/users/17609/razorxsr
+% \contributor Sebastian Schubert <schubert.seb\at googlemail.com>,
+% `\contributor Dave <@\at @>', ^^A https://tex.stackexchange.com/users/15562/dave
% \contributor Giuseppe Palma <pippi.palma\at gmail.com>,
% \contributor Stephan Stiller <stephan.stiller\at gmail.com>,
% \contributor Christopher Schramm <debian\at shakaweb.org>,
-% `\contributor uli <@\at @>', ^^A http://tex.stackexchange.com/users/9391/uli
-% \contributor Sam Mason <sam\at samason.me.uk>, ^^A http://tex.stackexchange.com/users/16433/sam-mason
-% `\contributor kleenstar <@\at @>', ^^A http://tex.stackexchange.com/users/56468/kleenstar
-% `\contributor Henning <@\at @>', ^^A http://tex.stackexchange.com/users/64603/henning
+% `\contributor uli <@\at @>', ^^A https://tex.stackexchange.com/users/9391/uli
+% \contributor Sam Mason <sam\at samason.me.uk>, ^^A https://tex.stackexchange.com/users/16433/sam-mason
+% `\contributor kleenstar <@\at @>', ^^A https://tex.stackexchange.com/users/56468/kleenstar
+% `\contributor Henning <@\at @>', ^^A https://tex.stackexchange.com/users/64603/henning
% \contributor Ronnie Marksch <Ronnie.Marksch\at yahoo.de>,
% \contributor David Carlisle <d.p.carlisle\at gmail.com>,
-% `\contributor Max <@\at @>', ^^A http://tex.stackexchange.com/users/16809/max
-% `\contributor HcN <@\at @>' ^^A http://tex.stackexchange.com/users/87090/hcn
+% `\contributor Max <@\at @>', ^^A https://tex.stackexchange.com/users/16809/max
+% `\contributor HcN <@\at @>', ^^A https://tex.stackexchange.com/users/87090/hcn
+% \contributor Will Robertson <will\at wspr.io>,
+% `\contributor user11126 <@\at @>', ^^A https://tex.stackexchange.com/users/1000/user11126
+% \contributor Ulrike Fischer <fischer\at troubleshooting-tex.de>,
+% `\contributor Daniel <@\at @>', ^^A https://tex.stackexchange.com/users/113787/daniel
+% `\contributor ltcomdata <@\at @>', ^^A https://tex.stackexchange.com/users/17061/ltcomdata
+% \contributor Reinhard Kotucha <reinhard.kotucha\at web.de>,
% and
-% \contributor Will Robertson <will\at wspr.io>.
+% `\contributor jcr <@\at @>'. ^^A https://tex.stackexchange.com/users/56514/jcr
%
%
%\iffalse
@@ -2885,7 +2921,7 @@
% \bibitem[\pdftex\ manual]{pdftexman}
% \thanh, Sebastian Rahtz, Hans Hagen, Hartmut Henkel, Pawe\l\ Jackowski, Martin Schr\"oder,
% \emph{The \pdftex\ user manual},
-% \newblock 25 April 2016.
+% \newblock 20 April 2017.
% \newblock (\ctanurl{systems/doc/pdftex/manual/pdftex-a.pdf})
% ^^A latest version at \url{http://sarovar.org/projects/pdftex/}
% ^^A or even \url{http://foundry.supelec.fr/scm/?group_id=23}
@@ -2903,13 +2939,13 @@
% \bibitem[\pkg{fontspec}]{fontspec}
% Will Robertson, Khaled Hosny,
% \emph{The \pkg{fontspec} package: Font selection for \xe\LaTeX\ and Lua\LaTeX},
-% \newblock 1 February 2016.
+% \newblock 31 March 2017.
% \newblock (\ctanpkgurl{fontspec})
%
% \bibitem[\pkg{luaotfload}]{luaotfload}
% \'Elie Roux, Khaled Hosny, Philipp Gesang,
% \emph{The \pkg{luaotfload} package},
-% \newblock 21 April 2016.
+% \newblock 29 January 2017.
% \newblock (\ctanpkgurl{luaotfload})
%
% \bibitem[\pkg{pdfcprot}]{pdfcprot}
@@ -2960,10 +2996,16 @@
%
%\begin{History}
%
-%\VersionDate{\expandafter\@gobble\fileversion}{\filedate}
+%\Version{\expandafter\@gobble\fileversion}{\filedate}
+% \item Allow automatic expansion and letterspacing with \luatex\ in <DVI> mode
+% (aka. \texttt{dvilualatex})
+% \refsection{\ref{sub:options-microtype}, \ref{sub:options-expansion}, table~\ref{tab:available-features}}
+% \item Compatibility with \LaTeX\ 2017/01/01 (fix warnings)
+%
+%\VersionDate{2.6a}{2016/05/14}
%
%\Version{2.6}{2016/05/01}
-% \item Support for \luatex\ 0.85
+% \item Support for \luatex\ $\geq$ 0.85
% \item Improvements for tracking/letterspacing with \luatex\
% (|Renderer=Basic| no longer required)
% \item New font sets: `|alltext-nott|', `|allmath-nott|'
@@ -3081,7 +3123,6 @@
% \refsection{\ref{sub:options-cmd}}
% \item Protrusion settings for <T5> encoded Charter
%
-%\ifcmr\else\pagebreak\fi ^^A layout
%\Version{1.9}{2005/10/28}
% \item New command \cs{DisableLigatures} to disable ligatures
% (\pdftex\ $\geq$ 1.30)
@@ -3288,24 +3329,24 @@
%\DoNotIndex{\eplain,\usepkg@pkg} ^^A eplain
%\DoNotIndex{\@backslashchar,\@cclv,\@cclvi,\@classoptionslist,\@currext,
% \@currname,\@defaultunits,\@empty,\@expandtwoargs,\@firstofone,\@firstoftwo,
-% \@gobble,\@gobbletwo,\@ifl@aded,\@ifpackagelater,\@ifpackageloaded,\@ifstar,
-% \@ifundefined,\@let@token,\@m,\@makeother,\@minus,\@nameuse,\@ne,\@nil,\@nnil,
-% \@onelevel@sanitize,\@onlypreamble,\@percentchar,\@pkgextension,\@plus,
-% \@ptionlist,\@removeelement,\@secondoftwo,\@spaces,\@sptoken,\@tempa,\@tempb,
-% \@tempc,\@tempcnta,\@tempcntb,\@tempdima,\@typeset@protect,\@undefined,
-% \@unprocessedoptions,\@unusedoptionlist,\@xobeysp,\check@icr,\color@begingroup,
-% \color@endgroup,\g@addto@macro,\hmode@bgroup,\m@ne,\maybe@ic,\maybe@ic@,
-% \nfss@text,\not@math@alphabet,\on@line,\p@,\set@display@protect,\strip@prefix,
-% \strip@pt,\tw@,\z@,\z@skip,\zap@space,\active,\documentclass,\leavevmode,
-% \makeatletter,\mbox,\newcommand,\newcount,\newdimen,\newif,\newskip,
-% \newtoks,\nobreak,\nonfrenchspacing,\normalsize,\renewcommand,\space,
-% \AtBeginDocument,\AtEndOfPackage,\CheckCommand,\CurrentOption,
-% \DeclareRobustCommand,\IfFileExists,\InputIfFileExists,\MessageBreak,
-% \PackageError,\PackageInfo,\PackageWarning,\RequirePackage,
-% \@@enc@update,\cf@encoding,\f@encoding}
+% \@gobble,\@gobbletwo,\@ifclassloaded,\@ifl@t@r,\@ifl@aded,\@ifpackagelater,
+% \@ifpackageloaded,\@ifstar,\@ifundefined,\@let@token,\@m,\@makeother,
+% \@minus,\@nameuse,\@ne,\@nil,\@nnil,\@onelevel@sanitize,\@onlypreamble,
+% \@percentchar,\@pkgextension,\@plus,\@ptionlist,\@removeelement,\@secondoftwo,
+% \@spaces,\@sptoken,\@tempa,\@tempb,\@tempc,\@tempcnta,\@tempcntb,\@tempdima,
+% \@typeset@protect,\@undefined,\@unprocessedoptions,\@unusedoptionlist,
+% \@xobeysp,\check@icr,\color@begingroup,\color@endgroup,\g@addto@macro,
+% \hmode@bgroup,\m@ne,\maybe@ic,\maybe@ic@,\nfss@text,\not@math@alphabet,
+% \on@line,\p@,\set@display@protect,\strip@prefix,\strip@pt,\tw@,\z@,\z@skip,
+% \zap@space,\active,\documentclass,\leavevmode,\makeatletter,\mbox,\newcommand,
+% \newcount,\newdimen,\newif,\newskip,\newtoks,\nobreak,\nonfrenchspacing,
+% \normalsize,\renewcommand,\space,\AtBeginDocument,\AtEndOfPackage,
+% \CheckCommand,\CurrentOption,\DeclareRobustCommand,\IfFileExists,
+% \InputIfFileExists,\MessageBreak,\PackageError,\PackageInfo,\PackageWarning,
+% \RequirePackage,\@@enc@update,\cf@encoding,\f@encoding}
%^^A\DoNotIndex{\add@accent,\curr@fontshape,\define@newfont,\do@subst@correction,
-%^^A \f@size,\font@name,\glb@currsize,\normalfont,\pickup@font,\selectfont,
-%^^A \set@fontsize,\showhyphens} ^^A latex
+%^^A \every@math@size,\f@size,\font@name,\glb@currsize,\glb@settings,\normalfont,
+%^^A \pickup@font,\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
@@ -3704,9 +3745,8 @@
%</plain>
% \end{macrocode}
%\end{macro}
-%\begin{macro}{\MT@maybe@etex}
-%\changes{v2.2}{2007/05/01}{use catcode trickery}
-%\changes{v2.3a}{2007/12/29}{removed}
+%\changes{v2.2}{2007/05/01}{use catcode trickery for \etex\ test}
+%^^A\changes{v2.3a}{2007/12/29}{removed} ^^A \MT@maybe@etex
% For definitions that depend on \etex\ features.
% \begin{macrocode}
\ifcase 0%
@@ -3722,7 +3762,6 @@
%<debug>^^Q not
%<debug> etex}
% \end{macrocode}
-%\end{macro}
%\changes{v2.5}{2010/05/05}{new files: \file{microtype-pdftex.def}, \file{microtype-xetex.def}, \file{microtype-luatex.def},
% containing engine-specific definitions}
% We check whether we are running \pdftex, \xetex, or \luatex, and
@@ -3899,7 +3938,8 @@
% \item + \cmd\directlua\ without state number ($\geq$~0.36)
% \item + \cmd\letterspacefont\ ($\geq$~0.62)
% \item + almost all of the \pdftex\ primitives have been renamed ($\geq$~0.85)
-% \item + \cmd\protrusionboundary\ [not yet supported] ($\geq$~0.90)
+% \item + default \cmd\efcode\,=\,1000;
+% \cmd\protrusionboundary\ [not yet supported] ($\geq$~0.90)
%\todo{interface for \cmd\protrusionboundary}
%\end{enum}
%\changes{v2.6}{2016/04/22}{update for \luatex\ 0.85 (renamed primitives)}
@@ -3915,14 +3955,17 @@
%\changes{v2.3d}{2009/03/25}{update for \luatex\ 0.36}
% \begin{macrocode}
\def\MT@lua{\directlua}
-\def\MT@luatex@no{4}
-\ifnum\luatexversion<85
- \def\MT@luatex@no{3}
- \ifnum\luatexversion<62
- \def\MT@luatex@no{2}
- \ifnum\luatexversion<36
- \def\MT@lua{\directlua0}
- \def\MT@luatex@no{1}
+\def\MT@luatex@no{5}
+\ifnum\luatexversion<90
+ \def\MT@luatex@no{4}
+ \ifnum\luatexversion<85
+ \def\MT@luatex@no{3}
+ \ifnum\luatexversion<62
+ \def\MT@luatex@no{2}
+ \ifnum\luatexversion<36
+ \def\MT@lua{\directlua0}
+ \def\MT@luatex@no{1}
+ \fi
\fi
\fi
\fi
@@ -4160,19 +4203,21 @@
%\changes{v2.5a}{2013/04/19}{use \pkg{luatexbase} instead of \pkg{luatextra}
% (contributed by \contributor \'Elie Roux <elie.roux\at telecom-bretagne.eu>)}
% ^^A MID: <516AAF6B.8040605@telecom-bretagne.eu>
-% We use the \pkg{luatexbase} package to load the module.
+% Unless running a recent \LaTeX,
+%\changes{v2.7}{2017/02/08}{drop \pkg{luatexbase} with recent \LaTeX}
+% we load the \pkg{luatexbase} package.
% \begin{macrocode}
%<*luatex-def>
-\RequirePackage{luatexbase}
+\@ifl@t@r\fmtversion{2016/01/01}\relax{\RequirePackage{luatexbase}}
% \end{macrocode}
-% Additionally, we load \pkg{luaotfload}, because some of its functions are
+% We load \pkg{luaotfload}, because some of its functions are
% required in \file{microtype.lua}. This eliminates the need for the user to
% load \pkg{fontspec} before \microtype.
% There will hardly be any \luatex\ documents that don't load this package, anyway.
%\changes{v2.6}{2013/06/19}{load \pkg{luaotfload} with \luatex}
% \begin{macrocode}
\RequirePackage{luaotfload}
-\RequireLuaModule{microtype}
+\MT@lua{require("microtype")}
%</luatex-def>
% \end{macrocode}
% Here it begins. The module was contributed by \'Elie Roux.
@@ -4181,18 +4226,6 @@
% \begin{macrocode}
%<*luafile>
-microtype = microtype or {}
-local microtype = microtype
-microtype.module = {
- name = "microtype",
- version = "2.6a",
- date = "2016/05/14",
- description = "microtype module.",
- author = "E. Roux, R. Schlicht and P. Gesang",
- copyright = "E. Roux, R. Schlicht and P. Gesang",
- license = "LPPL",
-}
-
local err, warn, info, log = luatexbase.provides_module(microtype.module)
microtype.warning = warn
@@ -4200,8 +4233,14 @@ local find = string.find
local match = string.match
local tex_write = tex.write
+local catpackage
+if luatexbase.registernumber then
+ catpackage = luatexbase.registernumber("catcodetable@atletter") -- LaTeX
+else
+ catpackage = luatexbase.catcodetables.CatcodeTableAtletter -- luatexbase
+end
function microtype.sprint (...)
- tex.sprint(luatexbase.catcodetables['latex-package'], ...)
+ tex.sprint(catpackage, ...)
end
%</luafile>
@@ -4985,6 +5024,17 @@ microtype.do_font = do_font
Disabling `\MT@MT', since it wouldn't work}%
\MT@clear@options\endinput}\relax
% \end{macrocode}
+% The \pkg{minimal} class doesn't define any size commands other than
+% \cmd\normalsize, which will result in lots of warnings. Therefore we
+% issue a warning about the warnings.
+%\changes{v2.7}{2016/05/18}{warning with \pkg{minimal} class}
+% \begin{macrocode}
+\@ifclassloaded{minimal}{%
+ \MT@warning@nl{Detected the `minimal' class.\MessageBreak
+ Expect lots of warnings and some malfunctions.\MessageBreak
+ You might want to use a proper class instead}%
+}\relax
+% \end{macrocode}
%\begin{macro}{\MT@setup@}
%\changes{v1.9a}{2005/11/21}{defer setup until the end of the preamble}
%\changes{v1.9e}{2006/07/06}{empty \cs{MT@setup@} after use
@@ -5052,7 +5102,7 @@ microtype.do_font = do_font
% Beginning with \pdftex\ version 1.21b together with \file{ledpatch.sty} as of
% 2005/06/02 (v0.4), character protrusion will work at last.
%
-% Peter Wilson was so kind to provide the \cmd\l@dunhbox@line\ hook in
+% \contributor Peter Wilson <herries.press\at earthlink.net> was so kind to provide the \cmd\l@dunhbox@line\ hook in
% \pkg{ledmac} to allow for protrusion. \cmd\leftmarginkern\ and
% \cmd\rightmarginkern\ are new primitives of \pdftex\ 1.21b (aka. 1.30.0).
%\changes{v2.5}{2012/07/02}{fix to work with \xetex\
@@ -5153,6 +5203,30 @@ microtype.do_font = do_font
% \end{macrocode}
%\end{macro}
%\end{macro}
+%\begin{macro}{\MT@maybe@gobble@with@tikz}
+%\begin{macro}{\MT@tikz@setup}
+%\changes{v2.3e}{2009/11/02}{compatibility with \pkg{tikz} (first reported by
+% \contributor Christian Stark <cstark\at gmx.de>)} ^^A MID: <7d81lgF2ad3ckU1@mid.dfncis.de>, 2009/07/28
+%^^A Also: \contributor Karl Karlsson <karl-karlsson\at yandex.ru> ^^A private mail, 2009/10/29
+%^^A \contributor hscm <henkmetselaar\at gmail.com> ^^A MID: <6a24e972-b1a7-4172-a5a0-d2707e016301@12g2000pri.googlegroups.com>, 2009/11/02
+%\changes{v2.7}{2016/06/08}{compatibility with \pkg{tikz} (again)}
+% If \cmd\tikz@expandcount\ is greater than zero, we're inside or at the end of
+% a \pkg{tikz} node, where we don't want to adjust spacing after letterspacing,
+% lest we disturb \pkg{tikz}. This is used in \cs{MT@afteraftergroup}, and we
+% don't need it for \letterspace.
+% \begin{macrocode}
+%<*package>
+\let\MT@maybe@gobble@with@tikz\@firstofone
+\def\MT@tikz@setup{%
+ \def\MT@maybe@gobble@with@tikz{%
+ \ifnum\tikz@expandcount>\z@
+ \expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi}}
+% \end{macrocode}
+%\end{macro}
+%\end{macro}
%\begin{macro}{\MT@setupfont@hook}
% This hook will be executed every time a font is set up (inside a group).
%
@@ -5166,7 +5240,6 @@ microtype.do_font = do_font
% (This is no longer needed, since the complete setup is now deferred until the
% end of the preamble. However, it is still necessary for \opt{defersetup}|=false|.)
% \begin{macrocode}
-%<*package>
\def\MT@setupfont@hook{%
% \end{macrocode}
%\iffalse
@@ -5230,6 +5303,7 @@ microtype.do_font = do_font
\MT@with@package@T{tex4ht} \MT@if@true
\MT@with@package@T{mathastext}\MT@if@true
\ifMT@if@\MT@restore@p@h\fi
+ \MT@with@package@T{tikz}\MT@tikz@setup
}
% \end{macrocode}
%\end{macro}
@@ -5301,7 +5375,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@with@package@T{hyperref}{%
\pdfstringdefDisableCommands{%
%<*package>
- \let\pickup@font\MT@orig@pickupfont
+ \MT@ltx@pickupfont
\let\textmicrotypecontext\@secondoftwo
\let\microtypecontext\@gobble
%</package>
@@ -5378,6 +5452,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\fi}%
%</plain>
%<*package>
+ \MT@with@package@T{tikz}\MT@tikz@setup
% \end{macrocode}
%\changes{v2.1}{2007/01/15}{compatibility with \pkg{pinyin}: disable \microtype\ in \cmd\py@macron\
% (reported by \contributor Sven Naumann <svenau\at gmx.net>)}
@@ -5394,14 +5469,14 @@ time will almost certainly lead to undesired results. Have your choice!}%
\let\MT@orig@py@macron\py@macron
\@ifpackagelater{pinyin}{2005/08/11}{% 4.6.0
\def\py@macron#1#2{%
- \let\pickup@font\MT@orig@pickupfont
+ \MT@ltx@pickupfont
\MT@orig@py@macron{#1}{#2}%
- \let\pickup@font\MT@pickupfont}%
+ \MT@MT@pickupfont}%
}{%
\def\py@macron#1{%
- \let\pickup@font\MT@orig@pickupfont
+ \MT@ltx@pickupfont
\MT@orig@py@macron{#1}%
- \let\pickup@font\MT@pickupfont}%
+ \MT@MT@pickupfont}%
}%
}%
%</package>
@@ -5531,13 +5606,13 @@ time will almost certainly lead to undesired results. Have your choice!}%
% ^^A private mail, 2008/04/14
% \begin{macrocode}
\xdef\MT@font@copy{\csname\MT@@font/\MT@pr@context/\MT@ex@context\endcsname}%
+ \expandafter\ifx\MT@font@copy\relax
% \end{macrocode}
%\end{macro}
%\begin{macro}{\MT@font@orig}
% \pdftex\ doesn't allow copying a font that has already been copied and
% expanded\slash letterspaced. Hence, we have to get the original.
% \begin{macrocode}
- \expandafter\ifx\MT@font@copy\relax
\edef\MT@font@orig{\csname\expandafter\string\font@name @orig\endcsname}%
\expandafter\ifx\MT@font@orig\relax
\MT@exp@two@c\MT@glet\MT@font@orig\font@name
@@ -5875,7 +5950,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@if@list@exists{%
\ifMT@nofamily
\MT@ifdefined@n@TF{\MT@encoding-\MT@family-settings}\relax{%
- \MT@info@nl{Loading generic settings for font family\MessageBreak
+ \MT@info@nl{Loading generic protrusion settings for font family\MessageBreak
`\MT@family' (encoding: \MT@encoding).\MessageBreak
For optimal results, create family-specific settings.\MessageBreak
See the microtype manual for details}%
@@ -6555,24 +6630,22 @@ time will almost certainly lead to undesired results. Have your choice!}%
%\end{macro}
%\end{macro}
%\begin{macro}{\MT@reset@ef@codes}
-% However, this is only necessary for versions prior to~1.20.
+% However, this is only necessary for \pdftex\ versions prior to~1.20,
+% or \luatex\ $\less$~0.90 (actually, I think, 0.87).
%\changes{v1.6a}{2005/01/30}{only reset \cmd\efcode s for older \pdftex\ versions}
+%\changes{v2.7}{2017/02/13}{only reset \cmd\efcode s for older \luatex\ versions}
% \begin{macrocode}
-%<*pdftex-def>
-\MT@requires@pdftex4{
+%<pdftex-def>\MT@requires@pdftex4
+%<luatex-def>\MT@requires@luatex5
+{
\def\MT@reset@ef@codes{%
\ifnum\MT@ex@factor@=\@m \else
\MT@reset@ef@codes@
\fi
}
}{
-%</pdftex-def>
-% \end{macrocode}
-% ^^A this is SO wrong!
-%\todo{do it right for \luatex}
-% \begin{macrocode}
\let\MT@reset@ef@codes\MT@reset@ef@codes@
-%<pdftex-def>}
+}
% \end{macrocode}
%\end{macro}
%\begin{macro}{\MT@ex@split@val}
@@ -7134,13 +7207,10 @@ time will almost certainly lead to undesired results. Have your choice!}%
%\end{macro}
% Stuff to be done after the letterspace group. The \letterspace\ package
% only adjusts the kerning.
-%\changes{v2.6}{2014/09/07}{fix: ensure to set up math fonts (reported by \contributor kleenstar <@\at @>)}
-% ^^A http://tex.stackexchange.com/questions/187655/microtype-gives-wrong-letterspacing-in-math-mode
% \begin{macrocode}
\MT@afteraftergroup{%
\MT@set@curr@os
\MT@set@curr@ok
- \MT@glet\noexpand\glb@currsize\noexpand\@empty
\noexpand\MT@tr@outer@r
}%
%</pdftex-def|luatex-def>
@@ -7156,12 +7226,14 @@ time will almost certainly lead to undesired results. Have your choice!}%
%\changes{v2.5a}{2013/05/15}{fix: get outer kerning and spacing of nested letterspacing right}
% \begin{macrocode}
\def\MT@afteraftergroup#1{%
- \MT@ifdefined@n@TF{MT@aftergroup@\number\currentgrouplevel}\relax{%
- \MT@exp@cs\xdef{MT@aftergroup@\number\currentgrouplevel}%
- {\MT@exp@cs\MT@glet{MT@aftergroup@\number\currentgrouplevel}\noexpand\@undefined#1}%
- \expandafter\aftergroup\expandafter\aftergroup\MT@exp@cs\aftergroup
- {MT@aftergroup@\number\currentgrouplevel}%
- }%
+%<!letterspace> \MT@maybe@gobble@with@tikz{%
+ \MT@ifdefined@n@TF{MT@aftergroup@\number\currentgrouplevel}\relax{%
+ \MT@exp@cs\xdef{MT@aftergroup@\number\currentgrouplevel}%
+ {\MT@exp@cs\MT@glet{MT@aftergroup@\number\currentgrouplevel}\noexpand\@undefined#1}%
+ \expandafter\aftergroup\expandafter\aftergroup\MT@exp@cs\aftergroup
+ {MT@aftergroup@\number\currentgrouplevel}%
+ }%
+%<!letterspace> }%
}
%</pdftex-def|luatex-def|letterspace>
% \end{macrocode}
@@ -7169,13 +7241,16 @@ time will almost certainly lead to undesired results. Have your choice!}%
%\begin{macro}{\MT@ls@fontspec@colon}
%\begin{macro}{\MT@ls@fontspec@font}
%\changes{v2.6a}{2016/05/03}{fix for value of \textpm1000}
+%\changes{v2.7}{2017/02/10}{fix for `\texttt{file:}\meta{font}' spec
+% (reported by \contributor Reinhard Kotucha <reinhard.kotucha\at web.de>)}
+% ^^A http://tug.org/pipermail/lualatex-dev/2017-February/001670.html
% Add the |kernfactor| feature to a font loaded by \pkg{fontspec}
% (we might have to add the colon ourselves).
% \begin{macrocode}
%<*luatex-def|letterspace>
-\def\MT@ls@fontspec@colon#1:#2:#3\@nil{#1:#2}
+\def\MT@ls@fontspec@colon#1:#2:#3:#4\@nil{\ifx\\#3\\#1:#2\else#1:#2:#3\fi}
\def\MT@ls@fontspec@font#1 #2\@nil{%
- "\MT@ls@fontspec@colon#1::\@nil
+ "\MT@ls@fontspec@colon#1:::\relax\@nil
kernfactor=\MT@minus \ifnum\MT@letterspace@=1000 1\else 0.%
\ifnum\MT@minus\MT@letterspace@<100 0\fi
\ifnum\MT@minus\MT@letterspace@<10 0\fi
@@ -7267,11 +7342,19 @@ time will almost certainly lead to undesired results. Have your choice!}%
% another text switch, of course).
%\changes{v2.5}{2012/11/14}{fix: ensure to set up math fonts (reported by \contributor RazorXsr <@\at @>)}
% ^^A http://tex.stackexchange.com/questions/82686/settracking-in-the-math-environment
-% Still, we have to (globally) ensure that math fonts are set up again.
+%\changes{v2.6}{2014/09/07}{fix: ensure to set up math fonts (reported by \contributor kleenstar <@\at @>)}
+% ^^A http://tex.stackexchange.com/questions/187655/microtype-gives-wrong-letterspacing-in-math-mode
+% Still, we have to ensure that math fonts are set up again.
+%\changes{v2.7}{2016/08/03}{fix: prevent infinite loop with \pkg{psnfss} and \pkg{exscale} packages
+% (reported by \contributor user11126 <@\at @>,
+% solution by \contributor Ulrike Fischer <fischer\at troubleshooting-tex.de>)}
+% Setting \cmd\glb@currsize\ to \cmd\@empty\ (our previous solution) could
+% throw us into an infinite loop (\eg, with the \pkg{psnfss} packages,
+% via \cmd\every@math@size), so we issue \cmd\glb@settings\ instead.
% \begin{macrocode}
\DeclareRobustCommand\lsstyle{%
\not@math@alphabet\lsstyle\textls
- \MT@glet\glb@currsize\@empty
+%<pdftex-def|luatex-def> \MT@maybe@gobble@with@tikz{\aftergroup\glb@settings}%
%<pdftex-def|luatex-def> \def\MT@feat{tr}%
\let\MT@tracking\MT@set@tr@codes
\selectfont
@@ -7300,7 +7383,6 @@ time will almost certainly lead to undesired results. Have your choice!}%
%\changes{v2.2}{2007/02/25}{always defined}
%\changes{v2.3}{2007/11/03}{redone: extract outer kerns from current letterspacing
% amount}
-%\begin{macro}{\MT@lslig}
% For Fraktur fonts, some ligatures shouldn't be broken up. This command will
% temporarily select the base font and insert the correct kerning.
% \begin{macrocode}
@@ -7316,7 +7398,6 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
% \end{macrocode}
%\end{macro}
-%\end{macro}
%\begin{macro}{\MT@ls@basefont}
%\begin{macro}{\MT@get@ls@basefont}
%\changes{v2.1}{2007/01/19}{redone: use \cmd\pdfmatch\ to make it bullet-proof}
@@ -7509,32 +7590,15 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
% \end{macrocode}
%\end{macro}
+%\begin{macro}{\MT@tr@outer@next}
%\begin{macro}{\MT@tr@outer@r}
-%\changes{v2.3e}{2009/11/02}{compatibility with \pkg{tikz} (first reported by
-% \contributor Christian Stark <cstark\at gmx.de>)} ^^A MID: <7d81lgF2ad3ckU1@mid.dfncis.de>, 2009/07/28
-%^^A Also: \contributor Karl Karlsson <karl-karlsson\at yandex.ru> ^^A private mail, 2009/10/29
-%^^A \contributor hscm <henkmetselaar\at gmail.com> ^^A MID: <6a24e972-b1a7-4172-a5a0-d2707e016301@12g2000pri.googlegroups.com>, 2009/11/02
% \microtype\ also adjusts spacing.
-% If \cmd\tikz@expandcount\ is greater than zero, we're inside or at the end of
-% a \pkg{tikz} node, where we don't want to do anything, lest we disturb
-% \pkg{tikz}.
-% \begin{macrocode}
-\MT@addto@setup{%
- \@ifpackageloaded{tikz}
- {\def\MT@tr@outer@r{%
- \ifnum\tikz@expandcount>\z@ \else
- \expandafter\MT@tr@outer@r@\fi}}
- {\let\MT@tr@outer@r\MT@tr@outer@r@}}
-% \end{macrocode}
-%\end{macro}
-%\begin{macro}{\MT@tr@outer@next}
-%\begin{macro}{\MT@tr@outer@r@}
% The following is borrowed from \pkg{soul}. I've added the cases for italic
% correction, since tracking may also be triggered by text commands (\eg,
% \cmd\textsc).
% \begin{macrocode}
-\def\MT@tr@outer@r@{%
- \futurelet\MT@tr@outer@next\MT@tr@outer@r@@
+\def\MT@tr@outer@r{%
+ \futurelet\MT@tr@outer@next\MT@tr@outer@r@
}
% \end{macrocode}
%\end{macro}
@@ -7552,9 +7616,9 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
% \end{macrocode}
%\end{macro}
-%\begin{macro}{\MT@tr@outer@r@@}
+%\begin{macro}{\MT@tr@outer@r@}
% \begin{macrocode}
-\def\MT@tr@outer@r@@{%
+\def\MT@tr@outer@r@{%
\def\MT@temp*{}%
% \end{macrocode}
% Don't adjust in math mode.
@@ -7586,7 +7650,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
% \begin{macrocode}
\ifhmode\unkern\fi\egroup
\MT@set@curr@ok \MT@set@curr@os
- \def\MT@temp*{\afterassignment\MT@tr@outer@r@\let\MT@temp=}%
+ \def\MT@temp*{\afterassignment\MT@tr@outer@r\let\MT@temp=}%
\else
% \end{macrocode}
% If the next token is \cmd\maybe@ic\ (from an enclosing text command), we
@@ -7610,7 +7674,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
% doesn't read beyond our group).
% \begin{macrocode}
\MT@if@outer@next\check@icr{%
- \def\MT@temp*{\aftergroup\MT@tr@outer@r@\check@icr\let\MT@temp=}%
+ \def\MT@temp*{\aftergroup\MT@tr@outer@r\check@icr\let\MT@temp=}%
}{%
\MT@if@outer@next\@sptoken{%
\def\MT@temp* {\ifhmode\hskip\MT@outer@space
@@ -7648,7 +7712,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
%\begin{macro}{\MT@tr@outer@icr@}
% Helper macros for the italic correction mess.
% \begin{macrocode}
-\def\MT@tr@outer@icr{\afterassignment\MT@tr@outer@icr@\MT@tr@outer@r@}
+\def\MT@tr@outer@icr{\afterassignment\MT@tr@outer@icr@\MT@tr@outer@r}
\def\MT@tr@outer@icr@{%
\let\@let@token= \MT@tr@outer@next
\maybe@ic@
@@ -8841,7 +8905,7 @@ end
%\end{macro}
%\begin{macro}{\MT@is@xchar}
%\changes{v2.6}{2016/04/23}{update for \pkg{fontspec}'s <TU> encoding}
-% With \pkg{fontspec}'s <TU> encoding, glyphs numbers may be up to four digits.
+% With \pkg{fontspec}'s <TU> encoding, glyph numbers may be up to four digits.
%\SpecialEscapechar{\/}
% \begin{macrocode}
/def/MT@is@xchar##1|##2\CHAR"##3##4/relax{%
@@ -8895,6 +8959,20 @@ end
\expandafter\def\expandafter\MT@char\expandafter{\csname\expandafter
\string\csname\MT@encoding\endcsname
\MT@detokenize@n{#1}-\MT@detokenize@n{#2}\endcsname}%
+% \end{macrocode}
+% In 2017, \LaTeX\ introduced a new way of declaring accented
+% Unicode commands (\cs{DeclareUnicodeComposite}), which we take care of here
+% (\cs{UnicodeEncodingName} has been introduced at the same time):
+%\changes{v2.7}{2017/04/29}{compatibility with \LaTeX\ 2017/01/01 (\cs{DeclareUnicodeComposite})
+% (reported by \contributor Ulrike Fischer <news3\at nililand.de> and
+% `\contributor jcr <@\at @>')}
+% ^^A (1) private mail, 2017/04/25
+% ^^A (2) https://tex.stackexchange.com/questions/373594/
+% \begin{macrocode}
+ \ifx\UnicodeEncodingName\@undefined\else
+ \expandafter\expandafter\expandafter
+ \MT@is@uni@comp\MT@char\iffontchar\else\fi\relax
+ \fi
\expandafter\expandafter\expandafter\MT@is@letter\MT@char\relax\relax
% \end{macrocode}
% Again, \pkg{xunicode}.
@@ -8910,6 +8988,14 @@ end
}
% \end{macrocode}
%\end{macro}
+%\begin{macro}{MT@is@uni@comp}
+% Helper for \cs{DeclareUnicodeComposite}.
+% \begin{macrocode}
+\def\MT@is@uni@comp#1\iffontchar#2\else#3\fi\relax{%
+ \ifx\\#2\\\else\edef\MT@char{\iffontchar#2\fi}\fi
+}
+% \end{macrocode}
+%\end{macro}
% [What about math? Well, for a moment the following looked like a solution, with
% \cs{mt@is@mathchar} defined accordingly, analogous to \cs{MT@is@char} above,
% to pick up the last two tokens (the \cmd\meaning\ of a \cmd\mathchardef'ed
@@ -9211,11 +9297,18 @@ end
% \end{macrocode}
%\end{macro}
%\begin{macro}{\MT@pickupfont}
-% Remember the patched command for later.
+%\begin{macro}{\MT@MT@pickupfont}
+%\begin{macro}{\MT@ltx@pickupfont}
+% Remember the patched command, because we may have to disable
+% ourselves in certain situations.
% \begin{macrocode}
\let\MT@pickupfont\pickup@font
+ \def\MT@MT@pickupfont {\let\pickup@font\MT@pickupfont}%
+ \def\MT@ltx@pickupfont{\let\pickup@font\MT@orig@pickupfont}%
% \end{macrocode}
%\end{macro}
+%\end{macro}
+%\end{macro}
%\begin{macro}{\do@subst@correction}
% Additionally, we hook into \cmd\do@subst@correction, which is called if
% a substitution has taken place, to record the name of the ersatz font.
@@ -9245,9 +9338,9 @@ end
% \begin{macrocode}
\let\MT@orig@add@accent\add@accent
\def\add@accent#1#2{%
- \let\pickup@font\MT@orig@pickupfont
+ \MT@ltx@pickupfont
\MT@orig@add@accent{#1}{#2}%
- \let\pickup@font\MT@pickupfont
+ \MT@MT@pickupfont
}%
%</package>
}
@@ -11016,12 +11109,18 @@ end
}{%
% \end{macrocode}
% Only one list can apply to a given combination.
+%\changes{v2.7}{2017/07/07}{don't warn for override if conflicting list is loaded}
+% But we don't warn if the overridden list is to be loaded by the current one.
% \begin{macrocode}
\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'}%
+ \MT@ifstreq{\csname MT@\MT@permutelist @\@tempa\MT@extra@context\endcsname}%
+ {\csname MT@\MT@permutelist @\csname MT@\MT@permutelist @name\endcsname @load\endcsname}%
+ \relax{%
+ \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'}%
+ }%
}%
%<debug>\MT@dinfo@nl{1}{initialising: use list for font \@tempa
%<debug> \ifx\MT@extra@context\@empty\else\MessageBreak
@@ -11089,7 +11188,8 @@ end
%\end{macro}
%\begin{macro}{\MT@check@range@}
% \cmd\@tempb\ and \cmd\@tempc\ are lower resp. upper bound of the new range,
-% \meta{\#2} and \meta{\#3} those of the existing range.
+% \meta{\#1} and \meta{\#2} those of the existing range. \meta{\#3} is the list name.
+%\changes{v2.7}{2017/07/07}{don't warn for override if conflicting list is loaded}
% \begin{macrocode}
\def\MT@check@range@#1#2#3{%
\MT@ifdim{#2}=\m@ne{%
@@ -11131,9 +11231,13 @@ end
}%
}%
\ifMT@if@
- \MT@warning{\@nameuse{MT@abbr@\MT@permutelist} list
- `\@nameuse{MT@\MT@permutelist @name}' will override\MessageBreak
- list `#3' for font \@tempa,\MessageBreak size \@tempb}%
+ \MT@ifstreq{#3}%
+ {\csname MT@\MT@permutelist @\csname MT@\MT@permutelist @name\endcsname @load\endcsname}%
+ \relax{%
+ \MT@warning{\@nameuse{MT@abbr@\MT@permutelist} list
+ `\@nameuse{MT@\MT@permutelist @name}' will override\MessageBreak
+ list `#3' for font \@tempa,\MessageBreak size \@tempb}%
+ }%
% \end{macrocode}
% If we've already found a conflict with this item, we can skip the rest of the
% list.
@@ -12039,12 +12143,14 @@ end
% \begin{macrocode}
\let\MT@auto\@empty
\ifMT@auto
-%<pdftex-def> \MT@requires@pdftex4{%
% \end{macrocode}
%\end{macro}
-% We turn off automatic expansion if output mode is <DVI>.
+% We turn off automatic expansion if output mode is <DVI> and we're running \pdftex.
%\changes{v1.5}{2004/12/02}{disable automatic expansion for <DVI> output}
+%\changes{v2.7}{2017/07/02}{don't disable automatic expansion for <DVI> output with \luatex}
% \begin{macrocode}
+%<*pdftex-def>
+ \MT@requires@pdftex4{%
\ifnum\pdfoutput<\@ne
\ifMT@opt@auto
\MT@error{%
@@ -12056,7 +12162,9 @@ end
\fi
\MT@autofalse
\else
+%</pdftex-def>
\def\MT@auto{autoexpand}%
+%<*pdftex-def>
\fi
% \end{macrocode}
% Also, if \pdftex\ is too old.
@@ -12064,7 +12172,6 @@ end
% version is too old for \texttt{autoexpand}}
%\changes{v1.6}{2004/12/23}{disable automatic expansion for old \pdftex\ versions}
% \begin{macrocode}
-%<*pdftex-def>
}{%
\MT@error{%
The pdftex version you are using is too old for\MessageBreak
@@ -12075,12 +12182,10 @@ end
\MT@autofalse
\def\MT@auto{1000 }%
}%
-%</pdftex-def>
\else
% \end{macrocode}
% No automatic expansion.
% \begin{macrocode}
-%<*pdftex-def>
\MT@requires@pdftex4\relax{%
\def\MT@auto{1000 }%
}%
@@ -12136,6 +12241,9 @@ end
%\end{macro}
%\changes{v1.7}{2005/03/02}{modify \cmd\showhyphens}
% Inside \cmd\showhyphens, font expansion should be disabled.
+% (Since 2017/01/10, the \LaTeX\ format contains a different version
+% for \xetex, but since expansion doesn't work with \xetex, we don't
+% have to bother.)
% \begin{macrocode}
\CheckCommand*\showhyphens[1]{\setbox0\vbox{%
\color@begingroup\everypar{}\parfillskip\z@skip
@@ -12316,27 +12424,32 @@ end
% \end{macrocode}
%\begin{macro}{\MT@warn@tracking@DVI}
%\changes{v2.2}{2007/02/11}{warning when letterspacing in DVI mode}
-% We issue a warning, when letterspacing in <DVI> mode, since it will probably
+%\changes{v2.7}{2017/07/06}{don't warn for letterspacing in DVI mode with \luatex}
+% With \pdftex, we issue a warning, when letterspacing in <DVI> mode, since it will probably
% not work. We also switch on protrusion if it isn't already, to compensate for
% the letterspacing kerns.
% \begin{macrocode}
%<*pdftex-def|luatex-def|letterspace>
{%
+%<*pdftex-def|letterspace>
\ifnum\pdfoutput<\@ne
\def\MT@warn@tracking@DVI{%
+%<letterspace> \MT@pdf@or@lua{%
\MT@warning@nl{%
You are using tracking/letterspacing in DVI mode.\MessageBreak
This will probably not work, unless the post-\MessageBreak
processing program (dvips, dvipdfm(x), ...) is\MessageBreak
able to create the virtual fonts on the fly}%
+%<letterspace> }\relax
\MT@glet\MT@warn@tracking@DVI\relax
}%
\else
+%</pdftex-def|letterspace>
\def\MT@warn@tracking@DVI{%
\ifnum\pdfprotrudechars<\@ne \global\pdfprotrudechars\@ne \fi
\MT@glet\MT@warn@tracking@DVI\relax
}%
- \fi
+%<pdftex-def|letterspace> \fi
% \end{macrocode}
%\end{macro}
% \begin{macrocode}
@@ -12503,6 +12616,8 @@ end
% ^^A -------------------------------------------------------------------------
%\NoIndexing ^^A from now on, don't bother indexing
%
+%\newpage
+%
%\section{Configuration files}
%\changes{v1.6}{2005/01/24}{restructure \file{dtx} file}
%
@@ -12623,13 +12738,12 @@ end
% \begin{macrocode}
%%% -----------------------------------------------------------------------
%%% FONT VARIANTS AND ALIASES
-
% \end{macrocode}
% These are the variants I happen to be using (expert encoding, oldstyle
% numerals, swashes, alternative, display, inferior and superior numerals):
% \begin{macrocode}
-\DeclareMicrotypeVariants{x,j,w,a,d,0,1}
+\DeclareMicrotypeVariants{x,j,w,a,d,0,1}
% \end{macrocode}
% Other candidates: |2|~(proportional digits), |e|~(engraved), |f|~(Fraktur),
% |g|~(small text), |h|~(shadow), |l|~(outline), |n|~(informal),
@@ -12639,15 +12753,27 @@ end
%
%\bigskip\noindent
% Fonts that are `the same':
-% The \pkg{fontspec} package will use |lmr| by default, whose EU1/2/TU encoding
-% is declared in \file{mt-LatinModernRoman.cfg}.
-%\changes{v2.5}{2012/08/23}{declare \texttt{lmr} as alias of Latin Modern Roman
-% (OpenType version)}
+% The \pkg{fontspec} package will set |lmr| as the default font, whose
+% declarations for <EU1>/<EU2>/<TU> encoding are in \file{mt-LatinModernRoman.cfg}.
+%\changes{v2.5}{2012/08/23}{declare Latin Modern Roman (OpenType version) as alias of \texttt{lmr}
+% when \pkg{fontspec} is loaded}
+% Since 2016/12/03, the default encoding with \xetex\ and \luatex\ in the
+% \LaTeX\ format is <TU>, even if \pkg{fontspec} is not loaded.
+%\changes{v2.7}{2017/01/27}{declare Latin Modern Roman as alias of \texttt{lmr}
+% with new \LaTeX\ format
+% (reported by \contributor Ulrike Fischer <news3\at nililand.de>)}
+% ^^A private mail, 2017/01/25
% \begin{macrocode}
-\ifMT@fontspec
-\DeclareMicrotypeAlias{lmr} {Latin Modern Roman}
-\else
-\DeclareMicrotypeAlias{lmr} {cmr} % lmodern
+
+\MT@if@false
+\ifx\UnicodeEncodingName\@undefined\else
+ \MT@ifstreq{\encodingdefault}{\UnicodeEncodingName}\MT@if@true\relax
+\fi
+\ifMT@fontspec\MT@if@true\fi
+\ifMT@if@
+\DeclareMicrotypeAlias{lmr}{Latin Modern Roman}
+ \else
+\DeclareMicrotypeAlias{lmr}{cmr} % lmodern
\fi
% \end{macrocode}
% The Latin Modern fonts, the virtual fonts from the
@@ -12665,10 +12791,10 @@ end
% \begin{macrocode}
\DeclareMicrotypeAlias{lmsy}{cmsy}
\DeclareMicrotypeAlias{lmm} {cmm}
-\DeclareMicrotypeAlias{aer} {cmr} % ae
-\DeclareMicrotypeAlias{zer} {cmr} % zefonts
-\DeclareMicrotypeAlias{cmor}{cmr} % eco
-\DeclareMicrotypeAlias{hfor}{cmr} % hfoldsty
+\DeclareMicrotypeAlias{aer} {cmr} % ae
+\DeclareMicrotypeAlias{zer} {cmr} % zefonts
+\DeclareMicrotypeAlias{cmor}{cmr} % eco
+\DeclareMicrotypeAlias{hfor}{cmr} % hfoldsty
% \end{macrocode}
% The packages \pkg{pxfonts} and \pkg{txfonts} fonts inherit Palatino and Times
% settings respectively,
@@ -12678,16 +12804,38 @@ end
%\changes{v1.9}{2005/08/16}{declare \texttt{qpl} and \texttt{qtm} (\pkg{qfonts}, \TeX\ Gyre)
% as aliases of \texttt{ppl} resp. \texttt{ptm}}
% \begin{macrocode}
-\DeclareMicrotypeAlias{pxr} {ppl} % pxfonts
-\DeclareMicrotypeAlias{qpl} {ppl} % TeX Gyre Pagella (formerly: qfonts/QuasiPalatino)
+\DeclareMicrotypeAlias{pxr} {ppl} % pxfonts
+\DeclareMicrotypeAlias{qpl} {ppl} % TeX Gyre Pagella (formerly: qfonts/QuasiPalatino)
% \end{macrocode}
% The `<FPL> Neu' fonts, a `re-implementation' of Palatino.
%\changes{v2.2}{2007/05/27}{declare \texttt{fp9x}, \texttt{fp9j} (<FPL> Neu) as aliases of \texttt{ppl[xj]}}
% \begin{macrocode}
-\DeclareMicrotypeAlias{fp9x}{pplx} % FPL Neu
-\DeclareMicrotypeAlias{fp9j}{pplj} % "
-\DeclareMicrotypeAlias{txr} {ptm} % txfonts
-\DeclareMicrotypeAlias{qtm} {ptm} % TeX Gyre Termes (formerly: qfonts/QuasiTimes)
+\DeclareMicrotypeAlias{fp9x}{pplx} % FPL Neu
+\DeclareMicrotypeAlias{fp9j}{pplj} % "
+% \end{macrocode}
+% The \pkg{newpx} package, a replacement for \pkg{pxfonts}.
+%\changes{v2.7}{2017/03/13}{declare aliases for \pkg{newpx}}
+% \begin{macrocode}
+\DeclareMicrotypeAlias{zpllf}{ppl} % newpxtext
+\DeclareMicrotypeAlias{zplosf}{ppl} % "
+\DeclareMicrotypeAlias{zpltlf}{ppl} % "
+\DeclareMicrotypeAlias{zpltosf}{ppl} % "
+\DeclareMicrotypeAlias{txr} {ptm} % txfonts
+% \end{macrocode}
+% The \pkg{newtx} package, a replacement for \pkg{txfonts}.
+%\changes{v2.7}{2017/02/25}{declare aliases for \pkg{newtx}}
+% \begin{macrocode}
+\DeclareMicrotypeAlias{ntxlf}{ptm} % newtxtext
+\DeclareMicrotypeAlias{ntxosf}{ptm} % "
+\DeclareMicrotypeAlias{ntxtlf}{ptm} % "
+\DeclareMicrotypeAlias{ntxtosf}{ptm} % "
+% \end{macrocode}
+% The \pkg{tempora} package.
+%\changes{v2.7}{2017/02/25}{declare aliases for \pkg{tempora}}
+% \begin{macrocode}
+\DeclareMicrotypeAlias{Tempora-TLF}{ptm} % tempora
+\DeclareMicrotypeAlias{Tempora-TOsF}{ptm}% "
+\DeclareMicrotypeAlias{qtm} {ptm} % TeX Gyre Termes (formerly: qfonts/QuasiTimes)
% \end{macrocode}
% The OpenType versions:
%
@@ -12708,44 +12856,50 @@ end
%\changes{v1.9e}{2006/07/28}{declare \texttt{zeur} and \texttt{zeus} (\pkg{eulervm})
% as aliases of \texttt{eur} resp. \texttt{eus} (\pkg{euler})}
% \begin{macrocode}
-\DeclareMicrotypeAlias{zeur}{eur} % Euler VM
-\DeclareMicrotypeAlias{zeus}{eus} % "
+\DeclareMicrotypeAlias{zeur}{eur} % Euler VM
+\DeclareMicrotypeAlias{zeus}{eus} % "
% \end{macrocode}
% MicroPress's Charter version (\pkg{chmath}).
%\changes{v2.2}{2007/06/08}{declare \texttt{chr} (\pkg{chmath}) as an alias of \texttt{bch}
% (reported by \contributor Geoff Vallis <gkv\at Princeton.EDU>)}
% ^^A private mail, 2007/06/07
% \begin{macrocode}
-\DeclareMicrotypeAlias{chr} {bch} % CH Math
+\DeclareMicrotypeAlias{chr} {bch} % CH Math
+% \end{macrocode}
+%\changes{v2.7}{2017/03/13}{declare aliases for \pkg{XCharter}}
+% The \pkg{XCharter} package extends the Charter fonts.
+% \begin{macrocode}
+\DeclareMicrotypeAlias{XCharter-TLF} {bch} % XCharter
+\DeclareMicrotypeAlias{XCharter-TOsF}{bch} % "
% \end{macrocode}
% The \pkg{mathdesign} package provides math fonts matching Bitstream Charter
%\changes{v1.9a}{2005/10/31}{declare \texttt{mdbch} (\pkg{mathdesign})
% as an alias of \texttt{bch}}
% and <URW> Garamond.
% \begin{macrocode}
-\DeclareMicrotypeAlias{mdbch}{bch} % mathdesign/Charter
-\DeclareMicrotypeAlias{mdugm}{ugm} % mathdesign/URW Garamond
+\DeclareMicrotypeAlias{mdbch}{bch} % mathdesign/Charter
+\DeclareMicrotypeAlias{mdugm}{ugm} % mathdesign/URW Garamond
% \end{macrocode}
% The \pkg{garamondx} package, an extension of <URW> Garamond, providing
% small caps and oldstyle figures.
%\changes{v2.5}{2013/02/20}{declare \texttt{zgmx} etc. (\pkg{garamondx})
% as aliases of \texttt{ugm}}
% \begin{macrocode}
-\DeclareMicrotypeAlias{zgmx}{ugm} % garamondx
-\DeclareMicrotypeAlias{zgmj}{ugm} % "
-\DeclareMicrotypeAlias{zgmI}{ugm} % "
-\DeclareMicrotypeAlias{zgmq}{ugm} % "
+\DeclareMicrotypeAlias{zgmx}{ugm} % garamondx
+\DeclareMicrotypeAlias{zgmj}{ugm} % "
+\DeclareMicrotypeAlias{zgmI}{ugm} % "
+\DeclareMicrotypeAlias{zgmq}{ugm} % "
% \end{macrocode}
% <URW> Letter Gothic is similar enough to Bitstream Letter Gothic to share the
% configuration.
% \begin{macrocode}
-\DeclareMicrotypeAlias{ulg} {blg} % URW LetterGothic -> Bitstream LetterGothic12Pitch
+\DeclareMicrotypeAlias{ulg} {blg} % URW LetterGothic -> Bitstream LetterGothic12Pitch
% \end{macrocode}
% Euro symbol fonts, to save some files.
% \begin{macrocode}
-\DeclareMicrotypeAlias{zpeus} {zpeu} % Adobe Euro sans -> serif
-\DeclareMicrotypeAlias{eurosans}{zpeu} % Adobe Euro sans -> serif
-\DeclareMicrotypeAlias{euroitcs}{euroitc} % ITC Euro sans -> serif
+\DeclareMicrotypeAlias{zpeus} {zpeu} % Adobe Euro sans -> serif
+\DeclareMicrotypeAlias{eurosans}{zpeu} % Adobe Euro sans -> serif
+\DeclareMicrotypeAlias{euroitcs}{euroitc}% ITC Euro sans -> serif
% \end{macrocode}
%
@@ -16491,7 +16645,7 @@ end
%</cmr>
% \end{macrocode}
-% \pkg{fontinst}, however, which is also used to create the \pkg{PSNFSS} font
+% \pkg{fontinst}, however, which is also used to create the \pkg{psnfss} font
% metrics, sets \fontdim7 to 240 by default. Therefore, the fallback settings
% use this value for the first component.
% \begin{macrocode}
@@ -16779,7 +16933,7 @@ normal, and shrunk by 5\%:
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-% \CheckSum{10449}
+% \CheckSum{10549}
%
% \Finale
%