From 89aa998bcb48fde73fb8c02e28350ca8b9042bc6 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 13 Jul 2017 23:12:08 +0000 Subject: microtype (8jul17) git-svn-id: svn://tug.org/texlive/trunk@44791 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/microtype/microtype-utf.dtx | 91 +++- .../source/latex/microtype/microtype.dtx | 592 +++++++++++++-------- .../source/latex/microtype/microtype.ins | 4 +- 3 files changed, 442 insertions(+), 245 deletions(-) (limited to 'Master/texmf-dist/source/latex') diff --git a/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx b/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx index 15f426bec15..1bc3efb1c70 100644 --- a/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx +++ b/Master/texmf-dist/source/latex/microtype/microtype-utf.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 +% Copyright (c) 2004--2017 R Schlicht % % 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 @@ -27,9 +27,9 @@ % \ProvidesFile %<*driver> - {\jobname.dtx}[2016/05/14 v2.6a] + {\jobname.dtx}[2017/07/07 v2.7] % -% {mt-CharisSIL.cfg}[2013/03/13 v1.0 microtype config. file: Charis SIL (RS)] +% {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)] % {mt-PalatinoLinotype.cfg}[2012/03/10 v1.0 microtype config. file: Palatino Linotype and similar fonts (LBD)] %<*driver> @@ -140,7 +140,7 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi % \item {\LMR % Latin Modern Roman} % \item {\CharisSIL -% Charis }\footnote{Available at \url{http://scripts.sil.org/CharisSILfont}.} +% Charis }\footnote{Available at \url{http://software.sil.org/charis}.} % \item {\PalatinoLinotype % Palatino Linotype}\footnote{These settings have been contributed by % \contributor Loren B. Davis .} @@ -985,10 +985,53 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi %} % \begin{macrocode} } +% \end{macrocode} +% The small caps glyph names in Charis have changed with version 5.0 +% of the font. We try to get the names right both with \luatex\ (where we +% can simply query the font version) and with \xetex\ (where we check for +% glyph name). +%\changes{v2.7}{2017/07/06}{automatically choose correct names for Charis SIL small caps +% (reported by `\contributor ltcomdata <@\at @>')} +% ^^A https://tex.stackexchange.com/questions/324294/ +% \begin{macrocode} + + % quick and dirty -- maybe we'll promote this to a + % regular key some time +\define@key{MT@pr@c}{command}{\csname #1\endcsname} + + % glyph names have changed with version 5.0 of Charis SIL: + % before: /a.SC, /b.SC, ... + % after: /a.sc, /b.sc, ... +\ifx\MT@lua\@undefined + \gdef\MT@get@CHARIS@SC{ + % test whether glyph "a.sc" exists + \ifnum\numexpr\XeTeXglyphindex "a.sc"\relax > 0 + \gdef\MT@CHARIS@SC{sc}% + \else + \gdef\MT@CHARIS@SC{SC}% + \fi + } +\else + \gdef\MT@get@CHARIS@SC{ + \gdef\MT@CHARIS@SC{\MT@lua{ + % check font version +% -- why doesn't this work?: +% f = font.getfont(font.current()); +% i = fontloader.info(f.filename); +% if (tonumber(i.version) < 5) then; + if (tonumber(fontloader.info(font.getfont(font.current()).filename).version) < 5) then; + tex.print("SC"); + else; + tex.print("sc"); + end + }} + } +\fi \SetProtrusion [ name = Charis-sc, - load = Charis-default ] + load = Charis-default, + command = {MT@get@CHARIS@SC} ] { encoding = {EU1,EU2,TU}, family = Charis SIL, shape = {sc} } @@ -997,24 +1040,24 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi %{\setmacrofont\CharisSIL % \begin{macrocode} % ᴀ = {100,100}, % etc., doesn't work with \textsc - /a.SC = {100,100}, - /c.SC = {50, }, - /d.SC = { ,50}, - /f.SC = { ,50}, - /g.SC = {50, }, - /j.SC = {100, }, - /k.SC = { ,50}, - /l.SC = { ,50}, - /f_l.SC = { ,50}, - /o.SC = {50,50}, - /oe.SC = {50, }, - /q.SC = {50,70}, - /r.SC = { ,50}, - /t.SC = {50,100}, - /v.SC = {50,50}, - /w.SC = {50,50}, - /x.SC = {50,50}, - /y.SC = {50,50} + /a.\MT@CHARIS@SC = {100,100}, + /c.\MT@CHARIS@SC = {50, }, + /d.\MT@CHARIS@SC = { ,50}, + /f.\MT@CHARIS@SC = { ,50}, + /g.\MT@CHARIS@SC = {50, }, + /j.\MT@CHARIS@SC = {100, }, + /k.\MT@CHARIS@SC = { ,50}, + /l.\MT@CHARIS@SC = { ,50}, + /f_l.\MT@CHARIS@SC = { ,50}, + /o.\MT@CHARIS@SC = {50,50}, + /oe.\MT@CHARIS@SC = {50, }, + /q.\MT@CHARIS@SC = {50,70}, + /r.\MT@CHARIS@SC = { ,50}, + /t.\MT@CHARIS@SC = {50,100}, + /v.\MT@CHARIS@SC = {50,50}, + /w.\MT@CHARIS@SC = {50,50}, + /x.\MT@CHARIS@SC = {50,50}, + /y.\MT@CHARIS@SC = {50,50} % \end{macrocode} %} % \begin{macrocode} 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 +% Copyright (c) 2004--2017 R Schlicht % % 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 @@ % {microtype-luatex.def} % {microtype-xetex.def} %<*package|letterspace|m-t|pdftex-def|luatex-def|xetex-def> - [2016/05/14 v2.6a + [2017/07/07 v2.7 % Micro-typographical refinements % Robust letterspacing % microtype main configuration file @@ -48,6 +48,17 @@ % xetex (RS)] % +%microtype = microtype or {} +%local microtype = microtype +%microtype.module = { +% name = "microtype", +% version = "2.7", +% date = "2017/07/07", +% description = "microtype module.", +% author = "E. Roux, R. Schlicht and P. Gesang", +% copyright = "E. Roux, R. Schlicht and P. Gesang", +% license = "LPPL", +%} %<*config> % {mt-bch.cfg}[2007/03/03 v1.5 microtype config. file: Bitstream Charter (RS)] % {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 +% automatically, that is, with \pdftex\ versions older than 1.20 or in % 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 mode. % %\medskip %\Describe{Option}{kerning}{true,!false,:font set name} @@ -1049,12 +1060,12 @@ % & $\geq$ 1.20 & & ! & ? & _ & _ & _ & _\\ % & & & ! & ! & ! & _ & _ & _\\ % & $\geq$ 1.40 & & ! & ? & _ & ? & ? & _\\ -% & & & ! & ! & ! & ? & ? & ?\,\textsuperscript{\itshape a}\\ +% & & & ! & ! & ! & ? & ? & ?\\^^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 & & ! & ? & _ & _ & _ & _\\ % & & & ! & ! & ! & _ & _ & _\\ -% & $\geq$ 0.62 & & ! & ? & _ & _ & _ & _\\ +% & $\geq$ 0.62 & & ! & ? & ?\,\textsuperscript{\itshape a} & _ & _ & ?\,\textsuperscript{\itshape a}\\ % & & & ! & ! & ! & _ & _ & ?\\ %\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 () 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 ; 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 . +% 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 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 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 @@ % & , , , , , , % & 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}} % & , , , , % & 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|), -% Neu (|fp9x|, |fp9j|)} +% \pkg{newpx}, Neu (|fp9x|, |fp9j|)} % & , , , , ()\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}} % & , , , , , ()\fnref{fn:incmpl} % & n, it, (sl)\fnref{fn:it-sl}, sc \\ % Latin Modern Roman -% & , [Latin, Greek] +% & /<2>, [Latin, Greek] % & n, it, (sl)\fnref{fn:it-sl}\\ % Charis -% & , [Latin, Cyrillic, Greek] +% & /<2>, [Latin, Cyrillic, Greek] % & n, it, sc\\ %\iffalse ^^A provided with the EB Garamond package % Garamond -% & , [Latin, Cyrillic, Greek] +% & /<2>, [Latin, Cyrillic, Greek] % & n, it, sc, si\\ %\fi % Palatino Linotype\footnote{Aliases: \TeX\ Gyre Pagella, Palatino Std, Palatino} -% & , [Latin] +% & /<2>, [Latin] % & n, it, sc\\ % Computer Modern math (|cmsy|, |cmm|)\footnote{Aliases: Latin Modern (|lmsy|, |lmm|)} % & / @@ -2771,6 +2795,7 @@ % \contributor Michalis Miatidis , % \contributor Sven Naumann , % \contributor Ross Hetherington , +% \contributor Wiebke Petersen , % \contributor Geoff Vallis , % \contributor Steven~E. Harris , % \contributor Karl Berry , @@ -2779,39 +2804,50 @@ % \contributor Wolfram Schaalo , % \contributor Vasile Gaburici , % \contributor Sveinung Heggen , +% \contributor Axel Berger , % \contributor Colin Rourke , % \contributor Maverick Woo , % \contributor Silas~S. Brown , +% \contributor Lars R\"onnb\"ack , % \contributor Christian Stark , +% \contributor Leo , % \contributor Marcin Borkowski , +% \contributor hscm , % \contributor George Gratzer , % \contributor Josep Maria Font , % \contributor Juan Acevedo , % \contributor Heiko Oberdiek , % \contributor Till~A. Heilmann , % \contributor Rolf Dieterich , -% \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 , % \contributor Steffen Hoffmann , % \contributor Scott Pakin , % \contributor Ma\"ieul Rouquette , % \contributor Jonas Hogstrom , % \contributor Gabriel Kerneis , -% `\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 , +% `\contributor Dave <@\at @>', ^^A https://tex.stackexchange.com/users/15562/dave % \contributor Giuseppe Palma , % \contributor Stephan Stiller , % \contributor Christopher Schramm , -% `\contributor uli <@\at @>', ^^A http://tex.stackexchange.com/users/9391/uli -% \contributor Sam Mason , ^^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 , ^^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 , % \contributor David Carlisle , -% `\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 , +% `\contributor user11126 <@\at @>', ^^A https://tex.stackexchange.com/users/1000/user11126 +% \contributor Ulrike Fischer , +% `\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 , % and -% \contributor Will Robertson . +% `\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 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 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 @@ % % \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 @@ %^^Q not % 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 )} % ^^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")} % % \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 % @@ -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 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 )} ^^A MID: <7d81lgF2ad3ckU1@mid.dfncis.de>, 2009/07/28 +%^^A Also: \contributor Karl Karlsson ^^A private mail, 2009/10/29 +%^^A \contributor hscm ^^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 % @@ -5378,6 +5452,7 @@ time will almost certainly lead to undesired results. Have your choice!}% \fi}% % %<*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 )} @@ -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}% }% }% % @@ -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{ +%\MT@requires@pdftex4 +%\MT@requires@luatex5 +{ \def\MT@reset@ef@codes{% \ifnum\MT@ex@factor@=\@m \else \MT@reset@ef@codes@ \fi } }{ -% -% \end{macrocode} -% ^^A this is SO wrong! -%\todo{do it right for \luatex} -% \begin{macrocode} \let\MT@reset@ef@codes\MT@reset@ef@codes@ -%} +} % \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 }% % @@ -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}% - }% +% \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}% + }% +% }% } % % \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 )} +% ^^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 )} +% 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 +% \MT@maybe@gobble@with@tikz{\aftergroup\glb@settings}% % \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 )} ^^A MID: <7d81lgF2ad3ckU1@mid.dfncis.de>, 2009/07/28 -%^^A Also: \contributor Karl Karlsson ^^A private mail, 2009/10/29 -%^^A \contributor hscm ^^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 encoding} -% With \pkg{fontspec}'s encoding, glyphs numbers may be up to four digits. +% With \pkg{fontspec}'s 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 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 }% % } @@ -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'}% + }% }% %\MT@dinfo@nl{1}{initialising: use list for font \@tempa % \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 -% \MT@requires@pdftex4{% % \end{macrocode} %\end{macro} -% We turn off automatic expansion if output mode is . +% We turn off automatic expansion if output mode is and we're running \pdftex. %\changes{v1.5}{2004/12/02}{disable automatic expansion for output} +%\changes{v2.7}{2017/07/02}{don't disable automatic expansion for 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 +% \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 }% }% -% \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 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 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{% +% \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}% +% }\relax \MT@glet\MT@warn@tracking@DVI\relax }% \else +% \def\MT@warn@tracking@DVI{% \ifnum\pdfprotrudechars<\@ne \global\pdfprotrudechars\@ne \fi \MT@glet\MT@warn@tracking@DVI\relax }% - \fi +% \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 // 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 , 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 )} +% ^^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 ` Neu' fonts, a `re-implementation' of Palatino. %\changes{v2.2}{2007/05/27}{declare \texttt{fp9x}, \texttt{fp9j} ( 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 )} % ^^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 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 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} % 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 % % \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 % diff --git a/Master/texmf-dist/source/latex/microtype/microtype.ins b/Master/texmf-dist/source/latex/microtype/microtype.ins index 8004d7ce19e..70c2c12e1d1 100644 --- a/Master/texmf-dist/source/latex/microtype/microtype.ins +++ b/Master/texmf-dist/source/latex/microtype/microtype.ins @@ -100,12 +100,12 @@ microtype-xetex.def, microtype.lua and letterspace.sty. \declarepostamble\emptypostamble \endpostamble +% ------------------------------------------------------------------------ + \def\makefile#1#2{\file{#1}{\from{microtype.dtx}{#2}}} \def\makecfg#1#2{\makefile{mt-#2.cfg}{config,cfg-#1,#2}} \def\makeutfcfg#1{\file{mt-#1.cfg}{\from{microtype-utf.dtx}{#1}}} -% ------------------------------------------------------------------------ - \usedir{tex/latex/microtype} \let\MetaPrefix\DoubleperCent \let\DEBUG\empty -- cgit v1.2.3