summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2013-05-27 01:20:20 +0000
committerNorbert Preining <preining@logic.at>2013-05-27 01:20:20 +0000
commitf07b7c015a77f69963eb08048aba8c5621cdb0c1 (patch)
tree416117265306e535a623b7d29544a300865d02db /Master/texmf-dist/source/latex
parenta310e63ad62aa521c7903a0f499d8b9ca8124681 (diff)
microtype 5/27
git-svn-id: svn://tug.org/texlive/trunk@30696 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rwxr-xr-xMaster/texmf-dist/source/latex/microtype/microtype-utf.dtx1191
-rw-r--r--Master/texmf-dist/source/latex/microtype/microtype.dtx689
-rw-r--r--Master/texmf-dist/source/latex/microtype/microtype.ins20
3 files changed, 1660 insertions, 240 deletions
diff --git a/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx b/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx
new file mode 100755
index 00000000000..b35af6be1f9
--- /dev/null
+++ b/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx
@@ -0,0 +1,1191 @@
+%\iffalse meta-comment
+% ^^A messages to WinEdt:
+% !Mode:: "TeX:DTX:UK"
+% !smartQuote:: "English"
+% !DTXversion:: "2.5a"
+% ------------------------------------------------------------------------
+% The `microtype' package
+% Subliminal refinements towards typographical perfection
+% Copyright (c) 2004--2013 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
+% your option) any later version. The latest version of this license is in:
+% http://www.latex-project.org/lppl.txt, and version 1.3c or later is part
+% of all distributions of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `author-maintained'.
+%
+% This work consists of the files microtype.dtx and microtype.ins and the
+% derived files microtype.sty, microtype-pdftex.def, microtype-xetex.def,
+% microtype-luatex.def, microtype.lua and letterspace.sty.
+%
+% Modified versions of the configuration files (*.cfg) may be distributed
+% provided that: (1) the original copyright statement is not removed, and
+% (2) the identification string is changed.
+% ------------------------------------------------------------------------
+%
+\ProvidesFile
+%<*driver>
+ {\jobname.dtx}[2013/05/23 v2.5a]
+%</driver>
+%<CharisSIL> {mt-CharisSIL.cfg}[2013/03/13 v1.0 microtype config. file: Charis SIL (RS)]
+%<LatinModernRoman> {mt-LatinModernRoman.cfg}[2013/03/13 v1.0 microtype config. file: Latin Modern Roman (RS)]
+%<PalatinoLinotype> {mt-PalatinoLinotype.cfg}[2012/03/10 v1.0 microtype config. file: Palatino Linotype and similar fonts (LBD)]
+%<*driver>
+\documentclass[10pt,a4paper]{ltxdoc}
+\usepackage{fontspec}
+\usepackage{microtype-doc} % there will be errors with luatex because of the non-utf \nobreakspace -- just ignore them!
+\makeatletter
+ \def\setmacrofont#1{\def\macro@font{#1}}
+ \newfontface\LMR{Latin Modern Roman}
+ \newfontface\CharisSIL{Charis SIL}
+ \newfontface\PalatinoLinotype{TeX Gyre Pagella}
+\linespread{1.07} % this isn't set correctly for some reason
+\textheight=626pt
+\DisableCrossrefs
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%\StopEventually{}
+%
+%\GeneralChanges*
+%\ImplementationSettings
+%\InputIfFileExists{microtype-utf.tmp}\relax\relax
+%\edef\startpage{\thepage}
+%\stepcounter{page}
+%
+%\newwrite\utftmp
+%\immediate\openout\utftmp=microtype.tmp
+%
+%\section{OpenType configuration files}
+%
+% These are the configuration files for the following OpenType fonts:\footnote{This is file \file{microtype-utf.dtx}.}
+%
+%\begin{itemize}
+% \item {\LMR
+% Latin Modern Roman}
+% \item {\CharisSIL
+% Charis <SIL>}\footnote{This font is available at
+% \url{http://scripts.sil.org/CharisSILfont}.}
+% \item {\PalatinoLinotype
+% Palatino Linotype}\footnote{These settings have been contributed by
+% \contributor Loren Davis <davislo\at eecs.oregonstate.edu>.}
+%\end{itemize}
+%
+%\noindent
+% The settings are typeset in the respective font.
+%
+%\subsection{Character inheritance}
+%\GeneralChanges{Inheritance}
+%\edef\x{\string\def\string\utfsectioni{\number\numexpr\thepage-\startpage\relax}}
+%\immediate\write\expandafter\utftmp\expandafter{\x}
+%
+% OpenType fonts may differ considerably in how complete their arsenal of glyphs is.
+% Therefore, each font family should have their own inheritance settings.
+%
+%\NoIndexing
+% \begin{macrocode}
+
+%%% -----------------------------------------------------------------------
+%%% INHERITANCE
+
+%% for xetex (EU1) and luatex (EU2)
+%<*LatinModernRoman>
+\DeclareCharacterInheritance
+ { encoding = {EU1,EU2},
+ family = Latin Modern Roman }
+% \end{macrocode}
+%{\setmacrofont\LMR
+% \begin{macrocode}
+ { A = {À,Á,Â,Ã,Ä,Å,Ā,Ă,Ą,Ǻ,Ȁ,Ạ,Ả,Ấ,Ầ,Ẩ,Ẫ,Ậ,Ắ,Ằ,Ẳ,Ặ,
+ Α}, % Greek
+ Æ = {Ǽ},
+ B = {฿,
+ Β}, % Greek
+ C = {Ç,Ć,Ĉ,Ċ,Č},
+ D = {Ð,Ď,Đ,Ḍ,Ḏ},
+ E = {È,É,Ê,Ë,Ē,Ĕ,Ė,Ę,Ě,Ȅ,Ẹ,Ẻ,Ẽ,Ề,Ế,Ễ,Ể,Ệ,
+ Ε}, % Greek
+ G = {Ĝ,Ğ,Ġ,Ģ,Ǧ,Ǵ},
+ H = {Ĥ,Ħ,Ḥ,Ḧ,Ḫ,
+ Η}, % Greek
+ I = {Ì,Í,Î,Ï,Ĩ,Ī,Ĭ,Į,İ,Ȉ,Ỉ,Ị,
+ Ι}, % Greek
+ J = {Ĵ},
+ K = {Ķ,
+ Κ}, % Greek
+ L = {Ĺ,Ļ,Ł,Ḷ}, % Ľ,Ŀ,Ḹ
+ M = {Μ}, % Greek
+ N = {Ñ,Ń,Ņ,Ň,Ṅ,Ṇ,
+ Ν}, % Greek
+ O = {Ò,Ó,Ô,Õ,Ö,Ø,Ō,Ŏ,Ő,Ọ,Ơ,Ǫ,Ǿ,Ȍ,Ỏ,Ố,Ồ,Ổ,Ỗ,Ộ,Ớ,Ờ,Ỡ,Ở,Ợ,
+ Ο}, % Greek
+ P = {Ρ}, % Greek
+ R = {Ŕ,Ŗ,Ř,Ȑ,Ṛ,Ṙ,Ṝ},
+ S = {Ś,Ŝ,Ş,Š,Ș,Ṣ},
+ T = {Ţ,Ť,Ț,Ṭ,Ṯ,
+ Τ}, % Greek
+ U = {Ù,Ú,Û,Ü,Ũ,Ū,Ŭ,Ů,Ű,Ų,Ư,Ȕ,Ụ,Ủ,Ứ,Ừ,Ử,Ữ,Ự},
+ W = {Ŵ,Ẁ,Ẃ,Ẅ},
+ X = {Χ}, % Greek
+ Y = {Ý,Ŷ,Ÿ,Ỵ,Ỷ,Ỹ},
+ Z = {Ź,Ż,Ž,Ẓ,
+ Ζ}, % Greek
+ a = {à,á,â,ã,ä,å,ā,ă,ą,ǻ,ȁ,ạ,ả,ấ,ầ,ẩ,ẫ,ậ,ắ,ằ,ẳ,ẵ},
+ æ = {ǽ},
+ c = {ç,ć,ĉ,ċ,č},
+ d = {đ,ḍ,ḏ},
+ e = {è,é,ê,ë,ē,ĕ,ė,ę,ě,ȅ,ẹ,ẻ,ẽ,ế,ề,ể,ễ,ệ},
+ f = {/f_f},
+ g = {ĝ,ğ,ġ,ģ,ǧ,ǵ},
+ h = {ĥ,ħ,ḥ,ḧ,ḫ},
+ i = {ì,í,î,ï,ĩ,ī,ĭ,į,ı,ȉ,ỉ,ị},
+ j = {ĵ},
+ k = {ķ},
+ l = {ĺ,ļ,ł,ḷ,ḹ}, % ľ,l·
+ n = {ñ,ń,ņ,ň,ṅ,ṇ},
+ o = {ò,ó,ô,õ,ö,ø,ō,ŏ,ő,ọ,ơ,ǫ,ǿ,ȍ,ỏ,ố,ồ,ổ,ỗ,ộ,ớ,ờ,ỡ,ở,ợ},
+ r = {ŕ,ŗ,ř,ȑ,ṛ,ṙ,ṝ},
+ s = {ś,ŝ,ş,š,ș,ṣ},
+ t = {ţ,ț,ṭ,ṯ,ẗ}, % ť
+ u = {ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų,ư,ȕ,ụ,ủ,ứ,ừ,ử,ữ,ự},
+ w = {ŵ,ẁ,ẃ,ẅ},
+ y = {ý,ŷ,ÿ,ỳ,ỵ,ỷ,ỹ},
+ z = {ź,ż,ž,ẓ},
+ }
+% \end{macrocode}
+%}
+% \begin{macrocode}
+%</LatinModernRoman>
+%<*CharisSIL>
+\DeclareCharacterInheritance
+ { encoding = {EU1,EU2},
+ family = Charis SIL }
+% \end{macrocode}
+%{\setmacrofont\CharisSIL
+% \begin{macrocode}
+ { A = {À,Á,Â,Ã,Ä,Å,Ā,Ă,Ą,Ǎ,Ǟ,Ǡ,Ȧ,Ǻ,Ȁ,Ȃ,Ḁ,Ạ,Ả,Ấ,Ầ,Ẩ,Ẫ,Ậ,Ắ,Ằ,Ẳ,Ẵ,Ặ,Ꜳ,
+ А,Ӑ,Ӓ}, % Cyrillic
+ Æ = {Ǣ,
+ Ǽ,Ӕ}, % Cyrillic
+ B = {Ḃ,Ḅ,Ḇ,
+ В}, % Cyr
+ C = {Ç,Ć,Ĉ,Ḉ,Ċ,Č,
+ С,Ҫ}, % Cyr
+ D = {Ď,Ḋ,Ḍ,Ḏ,Ḑ,Ḓ,Đ},
+ E = {È,É,Ê,Ë,Ē,Ĕ,Ė,Ę,Ě,Ȅ,Ȩ,Ȇ,Ḕ,Ḗ,Ḙ,Ḛ,Ḝ,Ẹ,Ẻ,Ẽ,Ế,Ề,Ể,Ễ,Ệ,
+ Е,Ѐ,Ё,Ӗ}, % Cyr
+ F = {Ḟ},
+ G = {Ĝ,Ğ,Ġ,Ģ,Ǧ,Ǵ,Ḡ,Ԍ},
+ H = {Ĥ,Ȟ,Ḣ,Ḥ,Ḧ,Ḩ,Ḫ,
+ Н,Ң,Ҥ,Ӈ,Ӊ}, % Cyr
+ I = {Ì,Í,Î,Ȉ,Ï,Į,Ĩ,Ị,Ī,İ,Ǐ,Ỉ,Ȋ,Ĭ,Ḭ,Ï,
+ І,Ї,Ӏ,ӏ}, % Cyr
+ J = {Ĵ,
+ Ј}, % Cyr
+ K = {Ķ,Ǩ,Ḱ,Ḳ,Ḵ,
+ К,Ќ,Қ,Ҝ,Ҟ,Ҡ,Ӄ,Ԟ}, % Cyr
+ L = {Ĺ,Ļ,Ľ,Ḷ,Ḹ,Ḻ,Ḽ}, % L·
+ M = {Ḿ,Ṁ,Ṃ,
+ М,Ӎ}, % Cyr
+ N = {Ñ,Ń,Ņ,Ň,Ǹ,Ṅ,Ṇ,Ṉ,Ṋ,
+ И,Й,Ѝ,Ҋ,Ӣ,Ӥ}, % Cyr
+ O = {Ò,Ó,Ô,Õ,Ö,Ō,Ŏ,Ő,Ǒ,Ǫ,Ǭ,Ȍ,Ȏ,Ȫ,Ȭ,Ȯ,Ȱ,Ṍ,Ṏ,Ṑ,Ṓ,Ọ,Ỏ,Ố,Ồ,Ổ,Ỗ,Ộ,Ớ,Ờ,Ở,Ỡ,Ơ,
+ О,Ѳ,Ӧ,Ө,Ӫ, % Cyr
+ Θ}, % Greek
+ P = {Ṕ,Ṗ,
+ Р,Ҏ}, % Cyr
+ Q = {Ԛ}, % Cyr
+ R = {Ŕ,Ŗ,Ř,Ȑ,Ȓ,Ṙ,Ṛ,Ṝ,Ṟ},
+ S = {Ś,Ŝ,Ş,Š,Ș,Ṡ,Ṣ,Ṥ,Ṧ,Ṩ,
+ Ѕ}, % Cyr
+ T = {Ţ,Ť,Ț,Ṫ,Ṭ,Ṯ,Ṱ,
+ Т,Ҭ}, % Cyr
+ U = {Ù,Ú,Û,Ü,Ũ,Ū,Ŭ,Ů,Ű,Ų,Ǔ,Ǖ,Ǘ,Ǚ,Ǜ,Ȕ,Ȗ,Ṳ,Ṵ,Ṷ,Ṹ,Ṻ,Ụ,Ủ,Ứ,Ừ,Ử,Ữ,Ự},
+ V = {Ṽ,Ṿ},
+ W = {Ŵ,Ẁ,Ẃ,Ẅ,Ẇ,Ẉ,
+ Ԝ}, % Cyr
+ X = {Ẋ,Ẍ,
+ Х,Ҳ,Ӽ,Ӿ}, % Cyr
+ Y = {Ý,Ŷ,Ÿ,Ȳ,Ẏ,Ỳ,Ỵ,Ỷ,Ỹ,
+ Ү,Ұ}, % Cyr
+ Z = {Ź,Ż,Ž,Ẑ,Ẓ,Ẕ},
+ a = {à,á,â,ã,ä,å,ā,ă,ą,ǎ,ǟ,ǡ,ȧ,ǻ,ȁ,ȃ,ḁ,ạ,ả,ầ,ấ,ẩ,ẫ,ậ,ắ,ằ,ẳ,ẵ,ặ, % aʾ
+ а,ӑ,ӓ}, % Cyr
+ æ = {ǽ,
+ ӕ}, % Cyr
+ b = {ḃ,ḅ,ḇ},
+ c = {ç,ć,ĉ,ċ,č,ḉ,
+ с,ҫ}, % Cyr
+ d = {ď,ḋ,ḍ,ḏ,ḑ,ḓ},
+ e = {è,é,ê,ë,ē,ĕ,ė,ę,ě,ȅ,ȩ,ȇ,ḕ,ḗ,ḙ,ḛ,ḝ,ẹ,ẻ,ẽ,ề,ế,ể,ễ,ệ,
+ е,ѐ,ё,ӗ}, % Cyr
+ f = {ḟ,ff}, % /f_f
+ g = {ĝ,ğ,ġ,ģ,ǧ,ǵ,ḡ},
+ h = {ĥ,ȟ,ḣ,ḥ,ḧ,ḩ,ḫ,ẖ,
+ Һ,һ}, % Cyr
+ i = {ı,ì,í,î,ȉ,ǐ,ï,į,ī,ị,ĩ,ḭ,ḯ,ỉ,ȋ,ĭ,
+ і,ї}, % Cyr
+ j = {ĵ,ǰ,
+ ј}, % Cyr
+ k = {ķ,ǩ,ḱ,ḳ,ḵ},
+ l = {ĺ,ļ,ḻ,ḷ,ḹ,ḽ}, % ľ,l·
+ m = {ḿ,ṁ,ṃ},
+ n = {ñ,ń,ņ,ň,ǹ,ṅ,ṇ,ṉ,ṋ}, % ʼn
+ o = {ò,ó,ô,õ,ö,ō,ŏ,ő,ǒ,ǫ,ǭ,ȍ,ȏ,ȫ,ȭ,ȯ,ȱ,ṍ,ṏ,ṑ,ṓ,ọ,ỏ,ồ,ố,ổ,ỗ,ộ,ớ,ờ,ở,ỡ,ợ,
+ о,ѳ,ӧ,ө,ӫ}, % Cyr
+ p = {ṕ,ṗ,
+ р,ҏ}, % Cyr
+ q = {ԛ}, % Cyr
+ r = {ŕ,ŗ,ř,ȑ,ȓ,ṙ,ṛ,ṝ,ṟ},
+ s = {ś,ŝ,ş,š,ș,ṡ,ṣ,ṥ,ṧ,ṩ,
+ ѕ}, % Cyr
+ t = {ţ,ț,ṫ,ṭ,ṯ,ṱ,ẗ}, % ť
+ u = {ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų,ǔ,ǖ,ǘ,ǚ,ǜ,ȕ,ȗ,ṳ,ṵ,ṷ,ṹ,ṻ,ụ,ủ,ứ,ừ,ử,ữ,ự},
+ v = {ṽ,ṿ},
+ w = {ŵ,ẁ,ẃ,ẅ,ẇ,ẉ,ẘ,
+ ԝ}, % Cyr
+ x = {ẋ,ẍ,
+ х,ҳ}, % Cyr
+ y = {ý,ÿ,ŷ,ȳ,ẏ,ẙ,ỳ,ỵ,ỷ,ỹ,
+ у,ў,ӯ,ӱ,ӳ}, % Cyr
+ z = {ź,ż,ž,ẑ,ẓ,ẕ},
+ % Cyrillic
+ Г = {Ѓ,Ґ,Ғ,Ӷ,Ӻ},
+ Ж = {Җ,Ӝ,Ӂ},
+ З = {Ӟ,Ҙ},
+ Л = {Ӆ},
+ П = {Ԥ},
+ У = {Ў,Ӯ,Ӱ,Ӳ},
+ Ч = {Ҷ,Ҹ,Ӌ,Ӵ},
+ Ы = {Ӹ},
+ Ә = {Ӛ},
+ Ҽ = {Ҿ},
+ г = {ѓ,ґ,ғ,ӷ,ӻ},
+ ж = {җ,ӂ,ӝ},
+ з = {ҙ,ӟ},
+ и = {й,ѝ,ҋ,ӣ,ӥ},
+ к = {ќ,қ,ҝ,ҟ,ҡ,ӄ,ԟ},
+ л = {ӆ},
+ м = {ӎ},
+ н = {ң,ҥ,ӈ,ӊ},
+ п = {ԥ},
+ т = {ҭ},
+ х = {ӽ,ӿ},
+ ч = {ҷ,ҹ,ӌ,ӵ},
+ ш = {щ},
+ ы = {ӹ},
+ э = {ӭ},
+ ҽ = {ҿ},
+ ә = {ӛ},
+ ү = {ұ},
+ Г = {Γ}, % Greek
+ П = {Π}, % Greek
+ }
+
+ % missing: tipa, math, symbols, ...
+% \end{macrocode}
+%}
+% \begin{macrocode}
+%</CharisSIL>
+%<*PalatinoLinotype>
+\DeclareCharacterInheritance
+ { encoding = {EU1,EU2},
+ family = {PalatinoLinotype} }
+% \end{macrocode}
+% Unfortunately, I don't have a Palatino variant containing all of the following
+% glyphs, which will therefore not show up here. The following is typeset in
+% \TeX\ Gyre Pagella.
+% To see the real settings, consult \file{mt-PalatinoLinotype.cfg}.
+%{\setmacrofont\PalatinoLinotype
+% \begin{macrocode}
+ { A = {À,Á,Â,Ã,Ä,Ā,Ă,Ą,Ǎ,Ǟ,Ǡ,Ȧ,Ǻ,Ȁ,Ȃ,Ḁ,Ạ,Ả,Ấ,Ầ,Ẩ,Ẫ,Ậ,Ắ,Ằ,Ẳ,Ẵ,Ặ,Ꜳ},
+ B = {Ḃ,Ḅ,Ḇ},
+ C = {Ç,Ć,Ĉ,Ḉ,Ċ,Č},
+ D = {Ď,Ḋ,Ḍ,Ḏ,Ḑ,Ḓ},
+ E = {È,É,Ê,Ë,Ē,Ĕ,Ė,Ę,Ě,Ȅ,Ȩ,Ȇ,Ḕ,Ḗ,Ḙ,Ḛ,Ḝ,Ẹ,Ẻ,Ẽ,Ế,Ề,Ể,Ễ,Ệ},
+ F = {Ḟ},
+ G = {Ĝ,Ğ,Ġ,Ģ,Ǧ,Ǵ,Ḡ},
+ H = {Ĥ,Ȟ,Ḣ,Ḥ,Ḧ,Ḩ,Ḫ},
+ I = {Ì,Í,Î,Ȉ,Ï,Į,Ĩ,Ị,Ī,İ,Ǐ,Ỉ,Ȋ,Ĭ,Ḭ,Ï},
+ J = {Ĵ},
+ K = {Ķ,Ǩ,Ḱ,Ḳ,Ḵ},
+ L = {Ĺ,Ļ,Ľ,Ḷ,Ḹ,Ḻ,Ḽ,Ỻ,Ŀ,Ł}, % L·
+ M = {Ḿ,Ṁ,Ṃ},
+ N = {Ñ,Ń,Ņ,Ň,Ǹ,Ṅ,Ṇ,Ṉ,Ṋ},
+ O = {Ò,Ó,Ô,Õ,Ö,Ō,Ŏ,Ő,Ǒ,Ǫ,Ǭ,Ȍ,Ȏ,Ȫ,Ȭ,Ȯ,Ȱ,Ṍ,Ṏ,Ṑ,Ṓ,Ọ,Ỏ,Ố,Ồ,Ổ,Ỗ,Ộ,Ớ,Ờ,Ở,Ỡ,Ơ},
+ P = {Ṕ,Ṗ},
+ R = {Ŕ,Ŗ,Ř,Ȑ,Ȓ,Ṙ,Ṛ,Ṝ,Ṟ},
+ S = {Ś,Ŝ,Ş,Š,Ș,Ṡ,Ṣ,Ṥ,Ṧ,Ṩ},
+ T = {Ţ,Ť,Ț,Ṫ,Ṭ,Ṯ,Ṱ},
+ U = {Ù,Ú,Û,Ü,Ũ,Ū,Ŭ,Ů,Ű,Ų,Ǔ,Ǖ,Ǘ,Ǚ,Ǜ,Ȕ,Ȗ,Ṳ,Ṵ,Ṷ,Ṹ,Ṻ,Ụ,Ủ,Ứ,Ừ,Ử,Ữ,Ự},
+ V = {Ṽ,Ṿ},
+ W = {Ŵ,Ẁ,Ẃ,Ẅ,Ẇ,Ẉ},
+ X = {Ẋ,Ẍ},
+ Y = {Ý,Ŷ,Ÿ,Ȳ,Ẏ,Ỳ,Ỵ,Ỷ,Ỹ},
+ Z = {Ź,Ż,Ž,Ẑ,Ẓ,Ẕ},
+ a = {à,á,â,ã,ä,å,ā,ă,ą,ǎ,ǟ,ǡ,ȧ,ǻ,ȁ,ȃ,ḁ,ạ,ả,ầ,ấ,ẩ,ẫ,ậ,ắ,ằ,ẳ,ẵ,ặ}, % aʾ
+ b = {ḃ,ḅ,ḇ},
+ c = {ç,ć,ĉ,ċ,č,ḉ},
+ d = {ď,ḋ,ḍ,ḏ,ḑ,ḓ},
+ e = {è,é,ê,ë,ē,ĕ,ė,ę,ě,ȅ,ȩ,ȇ,ḕ,ḗ,ḙ,ḛ,ḝ,ẹ,ẻ,ẽ,ề,ế,ể,ễ,ệ},
+ f = {ḟ,ff},
+ g = {ĝ,ğ,ġ,ģ,ǧ,ǵ,ḡ},
+ h = {ĥ,ȟ,ḣ,ḥ,ḧ,ḩ,ḫ,ẖ},
+ i = {ı,ì,í,î,ȉ,ǐ,ï,į,ī,ị,ĩ,ḭ,ḯ,ỉ,ȋ,ĭ},
+ j = {ĵ,ǰ},
+ k = {ķ,ǩ,ḱ,ḳ,ḵ},
+ l = {ĺ,ļ,ḻ,ḷ,ḹ,ḽ}, % ľ,l·
+ m = {ḿ,ṁ,ṃ},
+ n = {ñ,ń,ņ,ň,ǹ,ṅ,ṇ,ṉ,ṋ}, % ʼn
+ o = {ò,ó,ô,õ,ö,ō,ŏ,ő,ǒ,ǫ,ǭ,ȍ,ȏ,ȫ,ȭ,ȯ,ȱ,ṍ,ṏ,ṑ,ṓ,ọ,ỏ,ồ,ố,ổ,ỗ,ộ,ớ,ờ,ở,ỡ,ợ},
+ p = {ṕ,ṗ},
+ r = {ŕ,ŗ,ř,ȑ,ȓ,ṙ,ṛ,ṝ,ṟ},
+ s = {ś,ŝ,ş,š,ș,ṡ,ṣ,ṥ,ṧ,ṩ},
+ t = {ţ,ț,ṫ,ṭ,ṯ,ṱ,ẗ}, % ť
+ u = {ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų,ǔ,ǖ,ǘ,ǚ,ǜ,ȕ,ȗ,ṳ,ṵ,ṷ,ṹ,ṻ,ụ,ủ,ứ,ừ,ử,ữ,ự},
+ v = {ṽ,ṿ},
+ w = {ŵ,ẁ,ẃ,ẅ,ẇ,ẉ,ẘ},
+ x = {ẋ,ẍ},
+ y = {ý,ÿ,ŷ,ȳ,ẏ,ẙ,ỳ,ỵ,ỷ,ỹ},
+ z = {ź,ż,ž,ẑ,ẓ,ẕ},
+ }
+% \end{macrocode}
+%}
+% \begin{macrocode}
+%</PalatinoLinotype>
+% \end{macrocode}
+%
+%\subsection{Character protrusion}
+%\GeneralChanges{Protrusion}
+%\edef\x{\string\def\string\utfsectionii{\number\numexpr\thepage-\startpage\relax}}
+%\immediate\write\expandafter\utftmp\expandafter{\x}
+%
+% \begin{macrocode}
+
+%%% -----------------------------------------------------------------------
+%%% PROTRUSION
+
+%<*LatinModernRoman>
+\SetProtrusion
+ [ name = LMR-default ]
+ { encoding = {EU1,EU2},
+ family = Latin Modern Roman }
+ {
+% \end{macrocode}
+%{\setmacrofont\LMR
+% \begin{macrocode}
+ A = {50,50},
+ Æ = {50, },
+ F = { ,50},
+ J = {50, },
+ K = { ,50},
+ L = { ,50},
+ T = {50,50},
+ V = {50,50},
+ W = {50,50},
+ X = {50,50},
+ Y = {50,50},
+ k = { ,50},
+ r = { ,50},
+ t = { ,70},
+ v = {50,50},
+ w = {50,50},
+ x = {50,50},
+ y = {50,70},
+ 0 = { ,50},
+ 1 = {100,200},
+ 2 = {50,50},
+ 3 = {50,50},
+ 4 = {70,70},
+ 5 = { ,50},
+ 6 = { ,50},
+ 7 = {50,100},
+ 8 = { ,50},
+ 9 = { ,50},
+ . = { ,700},
+ {,}= { ,500},
+ : = { ,500},
+ ; = { ,500},
+ ! = { ,100},
+ ? = { ,200},
+ @ = {50,50},
+ ~ = {200,250},
+ \% = {50,50},
+ * = {300,300},
+ + = {250,250},
+ - = {400,500}, % /hyphen
+ – = {400,300}, % /endash
+ — = {300,200}, % /emdash
+ _ = {200,200}, % /underscore
+ / = {200,300},
+ /backslash = {200,300},
+ ' = {300,400}, % /quotesingle
+ ‘ = {500,700}, ’ = {500,600},
+ “ = {500,300}, ” = {200,600},
+ ‚ = {400,400}, „ = {400,400},
+ ‹ = {400,400}, › = {300,500},
+ « = {300,200}, » = {100,400},
+ ¡ = {100, }, ¿ = {100, },
+ ( = {300, }, ) = { ,300},
+ < = {200,100}, > = {100,200},
+ /braceleft = {400,200}, /braceright = {200,400},
+ /angleleft = {400, }, /angleright = { ,400},
+ † = {100,100},
+ ‡ = { 80, 80},
+ • = {200,200},
+ · = {400,450}, % / periodcentered
+ ℃ = { 80, 50},
+ ₡ = { , 50},
+ ° = {400,400},
+ ™ = {100,200},
+ © = {100,100},
+ ® = {100,100},
+ ª = {100,200},
+ º = {100,200},
+ ¹ = {200,250},
+ ² = { 50,100},
+ ³ = { 50,100},
+ ¬ = {200, },
+ − = {300,300},
+ ± = {150,200},
+ × = {150,250},
+ ÷ = {150,250},
+ € = {100, },
+ /one.oldstyle = {100,100},
+ /two.oldstyle = { 50, 50},
+ /three.oldstyle = { 30, 80},
+ /four.oldstyle = { 50, 50},
+ /seven.oldstyle = { 50, 80},
+ Γ = { ,180}, % /Gamma
+ Δ = {100,100}, % /Delta
+ Θ = { 50, 50}, % /Theta
+ Λ = {100,100}, % /Lambda
+% Ξ = {,}, % /Xi
+% Π = {,}, % /Pi
+ Σ = { 50, 50}, % /Sigma
+ Υ = {100,100}, % /Upsilon
+ Φ = { 50, 50}, % /Phi
+ Ψ = { 50, 50}, % /Psi
+% Ω = {,}, % /Omega
+% \end{macrocode}
+%}
+% \begin{macrocode}
+ }
+
+\SetProtrusion
+ [ name = LMR-it ]
+ { encoding = {EU1,EU2},
+ family = Latin Modern Roman,
+ shape = {it,sl} }
+ {
+% \end{macrocode}
+%{\setmacrofont\LMR
+% \begin{macrocode}
+ A = {125,100},
+ Æ = {125,-55},
+ B = {90,-40},
+ C = {145,-75},
+ D = {75, -28},
+ E = {80,-55},
+ F = {85,-80},
+ G = {153,-15},
+ H = {73,-60},
+ I = {140,-120},
+ IJ = {140,-80},
+ J = {135,-80},
+ K = {70,-30},
+ L = {87, 40},
+ M = {67,-45},
+ N = {75,-55},
+ O = {150,-30},
+ Π= {150,-55},
+ P = {82,-50},
+ Q = {150,-30},
+ R = {75, 15},
+ S = {90,-65},
+ $ = {100,-20},
+ T = {220,-85},
+ U = {230,-55},
+ V = {260,-60},
+ W = {185,-55},
+ X = {70,-30},
+ Y = {250,-60},
+ Z = {90,-60},
+ a = {150,-10},
+ b = {170, },
+ c = {173,-10},
+ d = {150,-55},
+ e = {180, },
+ f = { ,-250},
+ g = {150,-10},
+ h = {100, },
+ i = {210, },
+ ij = {210,-40},
+ j = { ,-40},
+ k = {110,-50},
+ l = {240,-110},
+ m = {80, },
+ n = {115, },
+ o = {155, },
+ q = {170,-40},
+ r = {155,-40},
+ s = {130, },
+ t = {230,-10},
+ u = {120, },
+ v = {140,-25},
+ w = {98,-20},
+ x = {65,-40},
+ y = {130,-20},
+ z = {110,-80},
+ 0 = {170,-85},
+ 1 = {230,110},
+ 2 = {130,-70},
+ 3 = {140,-70},
+ 4 = {130,80},
+ 5 = {160, },
+ 6 = {175,-30},
+ 7 = {250,-150},
+ 8 = {130,-40},
+ 9 = {155,-80},
+ . = { ,500},
+ {,}= { ,450},
+ : = { ,300},
+ ; = { ,300},
+ & = {130,30},
+ \% = {180,50},
+ * = {380,20},
+ + = {180,200},
+ @ = {180,10},
+ ~ = {200,150},
+ ( = {300, }, ) = { ,70},
+ / = {100,100},
+ - = {500,300}, % /hyphen
+ – = {500,300}, % /endash
+ — = {400,170}, % /emdash
+ _ = {100,200}, % /underscore
+ ' = {300,400}, % /quotesingle
+ " = {500,300},
+ ‘ = {800,200}, ’ = {800,-20},
+ “ = {540,100}, ” = {500,100},
+ ‚ = {300,700}, „ = {200,600},
+ ‹ = {500,300}, › = {400,400},
+ « = {400,100}, » = {200,300},
+ ¡ = {200, }, ¿ = {200, },
+ < = {300,100}, > = {200,100},
+ /backslash = {300,300},
+ /braceleft = {400,100}, /braceright = {200,200},
+ † = {200, 80},
+ ‡ = {120, 80},
+ • = {220,100},
+ · = {550,300}, % / periodcentered
+ ℃ = {170, },
+ ₡ = {100, 50},
+ ¶ = {200, },
+ ° = {500,300},
+ ™ = {200, 70},
+ © = { 50, 70},
+ ® = { 50, 70},
+ ª = {140,100},
+ º = {140,100},
+ ¹ = {400,150},
+ ² = {250, 80},
+ ³ = {250, 80},
+ ¬ = {250, 80},
+ − = {300,200},
+ ± = {150,170},
+ × = {200,200},
+ ÷ = {200,200},
+ € = {150, },
+ /one.oldstyle = {100,100},
+ /two.oldstyle = {100, 80},
+ /three.oldstyle = { 80, 50},
+ /four.oldstyle = { 80, 80},
+ /five.oldstyle = { 50, },
+ /six.oldstyle = { 50, },
+ /seven.oldstyle = { 80, 80},
+ /eight.oldstyle = { 50, },
+ Γ = {100,120}, % /Gamma
+ Δ = {120,100}, % /Delta
+ Θ = {120, 50}, % /Theta
+ Λ = {130,100}, % /Lambda
+ Ξ = {100,}, % /Xi
+ Π = {100,}, % /Pi
+ Σ = {100, 50}, % /Sigma
+ Υ = {180,100}, % /Upsilon
+ Φ = {130, 70}, % /Phi
+ Ψ = {130, 50}, % /Psi
+ Ω = { 50,}, % /Omega
+% \end{macrocode}
+%}
+% \begin{macrocode}
+ }
+%</LatinModernRoman>
+%<*CharisSIL>
+\SetProtrusion
+ [ name = Charis-default ]
+ { encoding = {EU1,EU2},
+ family = Charis SIL }
+ {
+% \end{macrocode}
+%{\setmacrofont\CharisSIL
+% \begin{macrocode}
+ A = {50,50},
+ Æ = {50,50},
+ C = {50, },
+ D = { ,50},
+ F = { ,50},
+ G = {50, },
+ J = {100, },
+ K = { ,50},
+ L = { ,50},
+ Ŀ = { ,100},
+ O = {50,50},
+ Π= {50, },
+ P = { ,50},
+ Q = {50,70},
+ R = { ,50},
+ ẞ = { ,40}, % capital sharp s
+ T = {50,50},
+ V = {50,50},
+ W = {50,50},
+ X = {50,50},
+ Y = {50,50},
+ k = { ,50},
+ ŀ = { ,150},
+ r = { ,50},
+ t = { ,50},
+ v = {50,50},
+ w = {50,50},
+ x = {50,50},
+ y = { ,50},
+ 1 = {150,150},
+ 2 = {50,50},
+ 3 = {50, },
+ 4 = {100,50},
+ 6 = {50, },
+ 7 = {50,80},
+ 9 = {50,50},
+ . = { ,600},
+ {,}= { ,500},
+ : = { ,400},
+ ; = { ,300},
+ ! = { ,100},
+ ? = { ,200},
+ @ = {50,50},
+ ~ = {200,250},
+ \% = { ,50},
+ * = {300,300},
+ + = {200,250},
+ / = { ,200},
+ /backslash = {150,200},
+ | = {200,200},
+ - = {400,500}, % hyphen
+ – = {200,300}, % endash
+ — = {150,250}, % emdash
+ ― = {200,200}, % Horizontal Bar = \texttwelveudash
+ ‒ = {150,150}, % Figure Dash = \textthreequartersemdash
+ _ = {100,100},
+ {=} = {100,100},
+ ‘ = {300,400}, ’ = {300,400},
+ “ = {300,300}, ” = {300,300},
+ ‚ = {400,400}, „ = {300,300},
+ ‹ = {400,300}, › = {300,400},
+ « = {200,200}, » = {150,300},
+ ¡ = {100, }, ¿ = {100, },
+ ( = {200, }, ) = { ,200},
+ < = {200,150}, > = {100,200},
+ [ = {100, }, ] = { ,100},
+ /braceleft = {200, }, /braceright = { ,300},
+ † = { 80, 80},
+ ‡ = {100,100},
+ • = {200,200},
+ ° = {150,200},
+ ™ = {150,150},
+ ¢ = { 50, },
+ £ = { 50, },
+ ¦ = {200,200},
+ © = {100,100},
+ ® = {100,100},
+ ª = {100,200},
+ º = {200,200},
+ ¬ = {200, 50},
+ µ = { ,100},
+ ¶ = { ,100},
+ · = {300,400},
+ ¹ = {200,300},
+ ² = {100,200},
+ ³ = {100,200},
+ € = {100, },
+ ± = {150,200},
+ × = {200,200},
+ ÷ = {250,250},
+ /minus = {200,200},
+ − = {200,200},
+ % Cyrillic
+ Б = { ,50},
+ Г = { ,130},
+ Ж = {50,50},
+ З = {30,50},
+ Л = {50, },
+ У = {50,50},
+ Ф = {50,50},
+ Ч = {100, },
+ Ъ = { ,50},
+ Ь = { ,50},
+ Э = {50,50},
+ Ю = { ,40},
+ Я = {50, },
+ Ѵ = {50,50},
+ Ҽ = {50, },
+ Ђ = {50,100},
+ Є = {50, },
+ Љ = {50,50},
+ Њ = { ,50},
+ Ћ = {50,50},
+ Ԅ = {100,100},
+ Ԇ = {50,50},
+ Ѣ = { ,50},
+ Ҍ = { ,50},
+ Ԉ = {50,80},
+ Ԋ = { ,80},
+ Ԏ = {50,50},
+ Ԓ = {50, },
+ Ԕ = {50,40},
+ Ԗ = { ,50},
+ Ԙ = {50, },
+ Ԡ = { ,50},
+ Ԣ = { ,50},
+ Ԃ = { ,100},
+ б = {50,50},
+ г = { ,70},
+ к = { ,50},
+ л = {50, },
+ т = {50,50},
+ ф = {50,50},
+ ч = {50, },
+ ъ = { ,50},
+ ь = { ,50},
+ э = { ,50},
+ я = {50, },
+ љ = {50, },
+ њ = { ,50},
+ ѣ = { ,50},
+ ѵ = {50,50},
+ ҽ = {50, },
+ ҍ = { ,50},
+ ү = {50,50},
+ ҕ = { ,50},
+ ҧ = { ,50},
+ ԃ = { ,100},
+ ԅ = {100,100},
+ ԇ = {50,50},
+ ԉ = {50,70},
+ ԋ = { ,70},
+ ԙ = {50,30},
+ ԡ = { ,50},
+ ԣ = { ,50},
+ % Д П Ц Ш Щ Ы Ҕ Ҧ Ҩ Ә Ҵ Џ Ӭ Ӡ Ԑ Ԁ
+ % в д ж з и м н п ц ш ы ю ђ є ћ џ ә ԑ ҩ ҵ ӡ ԁ ԍ ԏ ԓ ԕ ԗ
+ % Greek
+ Δ = {50,50},
+ Ψ = {50,50},
+ γ = {70,70},
+ λ = {40,70},
+ π = {40,50},
+ ρ = { ,50},
+ σ = { ,50},
+ χ = {50,50},
+% \end{macrocode}
+%}
+% \begin{macrocode}
+}
+
+\SetProtrusion
+ [ name = Charis-it ]
+ { encoding = {EU1,EU2},
+ family = Charis SIL,
+ shape = {it,sl} }
+ {
+% \end{macrocode}
+%{\setmacrofont\CharisSIL
+% \begin{macrocode}
+ C = {50, },
+ G = {50, },
+ J = {50, },
+ L = {50,50},
+ O = {50, },
+ Π= {50, },
+ Q = {50, },
+ S = {50, },
+ $ = {50, },
+ T = {70, },
+ o = {50,50},
+ p = { ,50},
+ q = {50, },
+ t = { ,50},
+ w = { ,50},
+ y = { ,50},
+ 1 = {150,100},
+ 3 = {50, },
+ 4 = {100, },
+ 6 = {50, },
+ 7 = {100, },
+ . = { ,700},
+ {,}= { ,600},
+ : = { ,400},
+ ; = { ,400},
+ ? = { ,150},
+ & = { ,80},
+ \% = {50,50},
+ * = {300,200},
+ + = {250,250},
+ @ = {80,50},
+ ~ = {150,150},
+ / = { ,150},
+ /backslash = {150,150},
+ - = {300,400}, % hyphen
+ – = {200,300}, % endash
+ — = {150,200}, % emdash
+ _ = { ,100},
+ {=} = {200,200},
+ ± = {150,200},
+ × = {250,250},
+ ÷ = {250,250},
+ ° = {150,200},
+ · = {300,400},
+ ‘ = {400,200}, ’ = {400,200},
+ “ = {300,200}, ” = {400,200},
+ ‚ = {200,500}, „ = {150,500},
+ ‹ = {300,400}, › = {200,500},
+ « = {200,300}, » = {150,400},
+ ( = {200, }, ) = { ,200},
+ < = {200,200}, > = {200,200},
+ /braceleft = {300, }, /braceright = { ,200},
+ % Cyrillic
+ Ж = {50,30},
+ Л = {50, },
+ У = {50,30},
+ Ф = {50, },
+ Ч = {100, },
+ Ъ = { ,50},
+ Ь = { ,50},
+ Э = {50,50},
+ Я = {50, },
+ Ѵ = {50,50},
+ Љ = {50,50},
+ Ԅ = {140,100},
+ Ԇ = {70,50},
+ Ԉ = {50,80},
+ Ԋ = { ,80},
+ Ԏ = {50,50},
+ г = {50,50},
+ д = {50,30},
+ м = {50, },
+ ф = {50, },
+ ч = {50, },
+ ъ = { ,50},
+ ь = { ,50},
+ э = { ,50},
+ я = {50, },
+ љ = {50,50},
+ њ = { ,50},
+ ѵ = {50,50},
+ ҍ = { ,50},
+ ԅ = {140,100},
+ ԇ = {70,50},
+ ԉ = {50,70},
+ ԋ = { ,70},
+ % Greek
+ Γ = { ,130},
+ Δ = {50,50},
+ Ψ = {50,50},
+ γ = {70,70},
+ λ = {40,70},
+ π = {40,50},
+ ρ = { ,50},
+ σ = { ,50},
+ χ = {50,50},
+% \end{macrocode}
+%}
+% \begin{macrocode}
+ }
+
+\SetProtrusion
+ [ name = Charis-sc,
+ load = Charis-default ]
+ { encoding = {EU1,EU2},
+ family = Charis SIL,
+ shape = {sc} }
+ {
+% \end{macrocode}
+%{\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}
+% \end{macrocode}
+%}
+% \begin{macrocode}
+ }
+%</CharisSIL>
+%<*PalatinoLinotype>
+\SetProtrusion
+ [ name = palatino-default ]
+ { encoding = {EU1,EU2},
+ family = {PalatinoLinotype} }
+ {
+% \end{macrocode}
+%{\setmacrofont\PalatinoLinotype
+% \begin{macrocode}
+ A = {50,50},
+ D = { ,50},
+ J = {50, },
+ K = { ,50},
+ L = { ,50},
+ O = {25, },
+ T = {50,50},
+ V = {50,50},
+ W = {50,50},
+ X = {50,50},
+ Y = {50,50},
+ b = { ,25},
+ d = {25,30},
+ f = { ,50},
+ g = { ,100},
+ k = { ,50},
+ p = { ,50},
+ q = {50, },
+ r = { ,50},
+ t = { ,50}, st = { ,50}, ſt = { ,50},
+ v = {75,50},
+ w = {50,50},
+ x = {50,50},
+ y = {50,70},
+ 1 = {100,50},
+ 2 = {25,50},
+ 4 = {50, },
+ 6 = {50, },
+ 9 = {25, },
+ Æ = {100, },
+ Π= {25, },
+ . = { ,700}, ‥ = { ,350}, … = {,150},
+ {,}= { ,500},
+ : = { ,500},
+ ; = { ,500},
+ ! = { ,100}, ‼ = { ,100},
+ ? = { ,200}, ‽ = { ,200},
+ @ = {50,50},
+ ~ = {200,250},
+ & = {50,100},
+ \% = {100,100},
+ * = {200,200},
+ + = {250,250},
+ ( = {100, }, ) = { ,300},
+ / = {200,300},
+ - = {400,500},
+ \textendash = {300,300}, \textemdash = {200,200},
+ \textquoteleft = {500,700}, \textquoteright = {500,700},
+ \textquotedblleft = {300,400}, \textquotedblright = {300,400},
+ \textbackslash = {200,300},
+ \quotesinglbase = {400,400}, \quotedblbase = {400,400},
+ \guilsinglleft = {400,400}, \guilsinglright = {300,500},
+ \guillemotleft = {300,300}, \guillemotright = {200,400},
+ \textexclamdown = {100, }, \textquestiondown = {100, },
+ \textbraceleft = {400,200}, \textbraceright = {200,400},
+ \textless = {200,100}, \textgreater = {100,200},
+ ≤ = {200,100}, ≥ = {100,200},
+ \textminus = {300,300},
+ \texttrademark = {200,200},
+ \textcopyright = {200,200},
+ \textregistered = {200,200},
+ \textdegree = {300,300},
+ ¦ = {450,500}, ¬ = {250,150},
+ ⌐ = {150,250},
+ · = {850, 700},
+ ¶ = {100,0},
+ × = {150, 300},
+ ª = {300,300}, º = {300,300},
+ ⁰ = {200,400},
+ ¹ = {400,350}, ² = {200,300}, ³ = {250,400},
+ ⁴ = {250,350}, ⁵ = {200,300}, ⁶ = {250,400},
+ ⁷ = {200,450}, ⁸ = {250,400}, ⁹ = {200,350},
+ ₀ = {200,400},
+ ₁ = {400,250}, ₂ = {200,300}, ₃ = {250,400},
+ ₄ = {250,350}, ₅ = {200,300}, ₆ = {250,400},
+ ₇ = {200,450}, ₈ = {250,400}, ₉ = {200,350},
+ ± = {150,100}, ÷ = {300,300},
+ þ = { ,25},
+ ₊ = {300,450}, ₋ = {300,450},
+ ⁺ = {300,450}, ⁻ = {300,450},
+ † = {200,250}, ‡ = {200,250},
+ π = {50, },
+ ſ = { ,50},
+ № = {100,150},
+ \textservicemark = {100,200},
+ ‐ = {400,500}, ‑ = {400,500}, ‒ = {200,300},
+ – = {205,305}, — = {200,300}, ― = {50,150},
+ • = {125,200},
+% /a.sc = {50,50},
+% \end{macrocode}
+%}
+% \begin{macrocode}
+ }
+
+\SetProtrusion
+ [ name = palatino-it ]
+ { encoding = {EU1,EU2},
+ family = {PalatinoLinotype},
+ shape = {it,sl} }
+ {
+% \end{macrocode}
+%{\setmacrofont\PalatinoLinotype
+% \begin{macrocode}
+ A = {50,50},
+ Æ = {50, },
+ B = {50, },
+ C = {50, },
+ D = {50,50},
+ E = {50, },
+ F = {50, },
+ G = {50, },
+ H = {50, },
+ K = {50, },
+ L = {50, },
+ O = {50, },
+ Π= {50, },
+ P = {50, },
+ Q = {50, },
+ R = {50, },
+ S = {50, },
+ $ = {50, },
+ T = {100, },
+ U = {50, },
+ V = {100,50},
+ W = {50, },
+ X = {50, },
+ Y = {100,50},
+ b = { ,50},
+ c = {25, },
+ g = {75, },
+ i = {25, },
+ m = { ,50},
+ n = { ,50},
+ p = { ,25},
+ q = {25, },
+ x = { ,50},
+ 1 = {100, },
+ 2 = {50, },
+ 4 = {50, },
+ 7 = {50, },
+ . = { ,500}, ‥ = { ,350}, … = { ,200},
+ {,}= { ,500},
+ : = { ,300},
+ ; = { ,300},
+ ? = { ,300}, ‽ = { ,300},
+ & = {50,50},
+ \% = {100,100},
+ * = {200,200},
+ + = {150,200},
+ @ = {50,50},
+ ~ = {200,150},
+ ( = {200, }, ) = { ,200},
+ / = {100,200},
+ - = {300,500},
+ \textendash = {300,300}, \textemdash = {200,200},
+ \textquoteleft = {700,400}, \textquoteright = {700,400},
+ \textquotedblleft = {500,300}, \textquotedblright = {500,300},
+ _ = {100,100},
+ \textbackslash = {100,200},
+ \quotesinglbase = {500,500}, \quotedblbase = {400,400},
+ \guilsinglleft = {400,400}, \guilsinglright = {300,500},
+ \guillemotleft = {300,300}, \guillemotright = {300,300},
+ \textexclamdown = {100, }, \textquestiondown = {200, },
+ \textbraceleft = {200,100}, \textbraceright = {200,200},
+ \textless = {300,100}, \textgreater = {200,100},
+ ≤ = {200,100}, ≥ = {100,200},
+ ¦ = {450,500}, ¬ = {250,150},
+ · = {850, 700},
+ ¶ = {100,0},
+ × = {150, 300},
+ ª = {300,250}, ° = {300,300}, º = {300,250},
+ ⁰ = {300,200},
+ ¹ = {300,150}, ² = {350,200}, ³ = {250,150},
+ ⁴ = {350,100}, ⁵ = {300, 50}, ⁶ = {400,100},
+ ⁷ = {400, 50}, ⁸ = {250, 50}, ⁹ = {300, 50},
+ ₀ = {300,300},
+ ₁ = {300,350}, ₂ = {300,150}, ₃ = {250,250},
+ ₄ = {400,200}, ₅ = {300,100}, ₆ = {450,200},
+ ₇ = {450,150}, ₈ = {400,250}, ₉ = {400,200},
+ ± = {150,100}, ÷ = {300,300},
+ þ = { 50, },
+ † = {250,200}, ‡ = {250,200},
+ ₊ = {300,450}, ₋ = {300,450},
+ ⁺ = {300,450}, ⁻ = {300,450},
+ ‐ = {300,500}, ‑ = {300,500}, ‒ = {100,300},
+ – = {125,305}, — = {200,300}, ― = {125,150},
+ • = {125,200}
+% \end{macrocode}
+%}
+% \begin{macrocode}
+ }
+
+\SetProtrusion
+ [ name = palatino-sc,
+ load = palatino-default ]
+ { encoding = {EU1,EU2},
+ family = {PalatinoLinotype},
+ shape = sc }
+ {
+% \end{macrocode}
+%{\setmacrofont\PalatinoLinotype
+% \begin{macrocode}
+ a = {50,50},
+ æ = {50, },
+ b = { 0, 0},
+ d = { 0, 0},
+ f = { 0, 0},
+ g = { 0, 0},
+ j = {50, },
+ l = { ,50},
+ o = { 0, 0},
+ p = { 0, 0},
+ q = { 0, },
+ r = { , 0},
+ t = {50,50},
+ y = {50,50},
+ fl = { 0,50},
+ ffl = { 0,50},
+ ſt = { 0,50},
+ st = { 0,50}
+% \end{macrocode}
+%}
+% \begin{macrocode}
+ }
+%</PalatinoLinotype>
+
+% \end{macrocode}
+%\immediate\write \utftmp{\string\setcounter{CodelineNo}{\the\c@CodelineNo}}
+%\immediate\write \utftmp{\string\setcounter{footnote}{\the\c@footnote}}
+%\immediate\closeout\utftmp
+%
+\endinput
diff --git a/Master/texmf-dist/source/latex/microtype/microtype.dtx b/Master/texmf-dist/source/latex/microtype/microtype.dtx
index f7504f44871..78c2450e83a 100644
--- a/Master/texmf-dist/source/latex/microtype/microtype.dtx
+++ b/Master/texmf-dist/source/latex/microtype/microtype.dtx
@@ -2,9 +2,9 @@
% ^^A messages to WinEdt:
% !Mode:: "TeX:DTX:UK"
% !smartQuote:: "English"
-% !DTXversion:: "2.5"
+% !DTXversion:: "2.5a"
% ------------------------------------------------------------------------
-% $Id: microtype.dtx,v 1.69 2013-03-13 05:46:35+01 schlicht Exp schlicht $
+% $Id: microtype.dtx,v 1.72 2013-05-23 20:35:08+02 schlicht Exp schlicht $
% ------------------------------------------------------------------------
% The `microtype' package
% Subliminal refinements towards typographical perfection
@@ -40,7 +40,7 @@
%<luatex-def> {microtype-luatex.def}
%<xetex-def> {microtype-xetex.def}
%<*package|letterspace|m-t|pdftex-def|luatex-def|xetex-def>
- [2013/03/13 v2.5
+ [2013/05/23 v2.5a
%<package> Micro-typographical refinements
%<letterspace> Robust letterspacing
%<m-t> microtype main configuration file
@@ -53,7 +53,7 @@
%<*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)]
-%<cmr> {mt-cmr.cfg}[2011/04/09 v2.1 microtype config. file: Computer Modern Roman (RS)]
+%<cmr> {mt-cmr.cfg}[2013/05/19 v2.2 microtype config. file: Computer Modern Roman (RS)]
%<pad> {mt-pad.cfg}[2005/11/07 v1.5 microtype config. file: Adobe Garamond (RS)]
%<pmn> {mt-pmn.cfg}[2009/11/14 v1.3 microtype config. file: Adobe Minion (HH/KK)]
%<ppl> {mt-ppl.cfg}[2005/11/16 v1.6 microtype config. file: Palatino (RS)]
@@ -76,11 +76,17 @@
%</driver>
% Let's abolish CM! We use Charter and Letter Gothic
% (for the pre-built documentation on CTAN):
-% \usepackage[charter]{mathdesign}
-% \def\rmdefault{bch} % not scaled
-% \def\ttdefault{blg}
-\usepackage{ifpdf,ifluatex}
+ \usepackage[charter]{mathdesign}
+ \def\rmdefault{bch} % not scaled
+ \def\sfdefault{SourceSansPro-TLF}
+ \newcommand*{\SourceSansPro@scale}{1.02}
+ \def\ttdefault{blg}
+ {\ttfamily\selectfont
+ \DeclareFontShape{T1}{blg}{k}{n}{<-> ssub * blg/b/n}{}}
+\usepackage{ifpdf,ifluatex,ifxetex}
+%<*!docsty>
\usepackage[latin1]{\ifluatex lua\fi inputenc}
+%</!docsty>
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\GetFileInfo{\jobname.dtx}
@@ -104,11 +110,13 @@
{ encoding = T1,
family = blg }
{ _ = {100,100} } % underscores shouldn't touch
+ \ifxetex\else
% disable ?` and !` ligatures (sample in section \ref{sec:disable-ligatures})
\DisableLigatures[?,!]{encoding = *, family = rm* }
+ \fi
% Fraktur sample in section \ref{sec:lettersp}
\IfFileExists{t1mwr.fd}
- {\newcommand\textfrak[1]{{\fontfamily{mwr}\selectfont ##1}}
+ {\def\textfrak##1{{\fontfamily{mwr}\selectfont ##1}}
\ifpdf
\SetTracking[no ligatures={f,s,c}]{encoding=T1,family=mwr}{100}
\fi}
@@ -117,7 +125,7 @@
\ifpdf
\SetTracking[no ligatures={f,s,c}]{encoding=LY,family=yfrak}{100}
\fi}
- {\let\textfrak\@gobble}}
+ {\def\textfrak{\rule{.5em}{1.5ex}\@gobble}}}
\tolerance=700
\ifpdf
\ifnum\pdftexversion<140 \else % pdftex 1.40, including textmatrix patch,
@@ -129,23 +137,27 @@
% bonus material
\InputIfFileExists{microtype-logo.dtx}\relax\relax
\InputIfFileExists{microtype-lssample.dtx}\relax\relax
+ \usepackage{pdfpages}
\else
\let\lsstyle\relax
\fi
\ifluatex % microtype.dtx finally compiles with 0.35!
\microtypesetup{kerning=false}
- \let\lsstyle\relax
+\fi
+\ifxetex
+ \microtypesetup{kerning=false}
\fi
\usepackage{booktabs}
\usepackage{array}
\newcolumntype{L}[1]{p{#1}<{\raggedright}}
\usepackage{color}
- \definecolor{theblue} {rgb}{0.02,0.04,0.48}
- \definecolor{thered} {rgb}{0.65,0.04,0.07}
- \definecolor{thegreen}{rgb}{0.06,0.44,0.08}
- \definecolor{thegrey} {gray}{0.5}
- \definecolor{theshade}{gray}{0.94}
- \definecolor{theframe}{gray}{0.75}
+ \definecolor{thered} {rgb} {0.65,0.04,0.07}
+ \definecolor{thegreen} {rgb} {0.06,0.44,0.08}
+ \definecolor{theblue} {rgb} {0.02,0.04,0.48}
+ \definecolor{sectioning}{gray}{0.44}
+ \definecolor{thegrey} {gray}{0.5}
+ \definecolor{theframe} {gray}{0.75}
+ \definecolor{theshade} {gray}{0.94}
\usepackage{graphicx}
% general layout
\frenchspacing
@@ -179,15 +191,28 @@
\addtolength\textheight{\topskip}
\setlength\topmargin{5pt}
% sections
+%\def\@seccntformat#1{\setbox0\hbox to0pt{\hss\colorbox{theshade}{\space\color{sectioning}\csname the#1\endcsname\strut\space}\hskip\marginparsep}\ht0=0pt \dp0=0pt \box0}
\def\@seccntformat#1{\llap{\csname the#1\endcsname\hskip\marginparsep}}
+\def\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\fontseries{k}\sffamily\color{sectioning}}}
+\def\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\fontseries{k}\sffamily\color{sectioning}}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\fontseries{k}\sffamily\color{sectioning}}}
\def\paragraph{\@startsection{paragraph}{4}%
{0pt}{8pt plus 2pt minus 1pt}{-1em}%
{\normalfont\normalsize\itshape}}
% title
\def\@maketitle{%
\newpage\null\vskip 2em
- \begin{center}\let\footnote\thanks
- {\LARGE \@title\par}\vskip 1.5em
+ \begin{center}\let\footnote\thanks\sffamily
+ {\huge \@title\par}\vskip 1.5em
{\large \parbox{.33\textwidth}{\centering\@author}%
\parbox{.33\textwidth}{\centering\@date}}%
\vskip2.5em\rule{\textwidth}{.4pt}%
@@ -198,17 +223,17 @@
\def\ps@MTheadings{%
\def\@oddhead{%
\hbox to\textwidth{\vbox{\hbox to\textwidth{%
- \footnotesize{\leftmark\rightmark\strut}\hfill\thepage\strut}%
+ \footnotesize\sffamily{\leftmark\rightmark\strut}\hfill\thepage\strut}%
\hrule height 0.4pt width\textwidth \vskip-0.4pt
}}\hss}
\let\@oddfoot\@empty
\let\@mkboth\markboth
- \def\sectionmark##1{\markboth{\textls*[60]{\MakeUppercase{##1}}}{}}
+ \def\sectionmark##1{\markboth{\textls*[70]{\MakeUppercase{##1}}}{}}
\def\subsectionmark##1{\markright{: ##1}}}
\pagestyle{MTheadings}
% toc
\let\l@section@\l@section
-\def\l@section{\vskip -1ex\l@section@}
+\def\l@section{\vskip -1.25ex\l@section@}
\def\l@subsection{\vskip.35ex \penalty\@secpenalty \@dottedtocline{2}{1.5em}{2.7em}}
\def\l@subsubsection#1#2{%
\leftskip 4.2em
@@ -300,8 +325,8 @@
\vskip\dimexpr\floatsep-4pt+\fboxrule\relax
\hsize\dimexpr\marginparwidth-\marginparsep-4pt-\fboxrule\relax
\rightskip\dimexpr\marginparsep+4pt+\fboxrule\relax plus 2.5em
- \footnotesize {\itshape#1:}\\[-\dimexpr\aboverulesep+\cmidrulewidth+3.5\fboxrule]
- \textcolor{theframe}{\vrule width \hsize height\fboxrule}\\[.3\baselineskip]#2}}}
+ \footnotesize {\sffamily#1:}\\[-\dimexpr\aboverulesep+\cmidrulewidth+3.5\fboxrule]
+ \textcolor{theframe}{\vrule width \hsize height\fboxrule}\\[.3\baselineskip]\sffamily#2}}}
\mt@unvdimen\dimexpr\ht\mt@box+\dp\mt@box\relax
\unvbox\mt@box
\vskip-\mt@unvdimen}
@@ -321,7 +346,7 @@
\end{multicols}
\vspace*{-2\baselineskip}%
\begin{multicols}{2}
- \llap{\mdseries\color{thegrey}\footnotesize
+ \llap{\sffamily\mdseries\color{thegrey}\footnotesize
\hbox to 1em{\hss#1\hss}\hskip\marginparsep}%
\vspace*{-\baselineskip}%
\IndexParms %\rightskip 15pt
@@ -345,8 +370,8 @@
\MacroTopsep=0pt
\MacrocodeTopsep=3pt
\setlength\MacroIndent{0pt}
-\def\theCodelineNo{\reset@font\color{thegrey}\scriptsize
- \textoractual{\arabic{CodelineNo}\,}{}}% don't copy line numbers
+\def\theCodelineNo{\reset@font\sffamily\color{thegrey}\scriptsize
+ \textoractual{\arabic{CodelineNo}\ }{}}% don't copy line numbers
\def\MacroFont{\ttfamily\small}
\def\AltMacroFont{\ttfamily\footnotesize}
\def\PrintMacroName#1{\strut\MacroFont\string #1\hskip15pt}
@@ -424,7 +449,7 @@
\g@addto@macro\@tempa\RequiresSep
\expandafter\g@addto@macro\expandafter\@tempa\expandafter{\@tempb}}%
\hfill{\setlength\fboxsep{2pt}%
- \fcolorbox{theframe}{white}{\mdseries\itshape\small\strut\color{thegrey}%
+ \fcolorbox{theframe}{white}{\mdseries\small\strut\color{sectioning}%
\,\expandafter\@gobble\@tempa\,}}}
% ... and whistles
{\catcode`\"\active
@@ -633,6 +658,8 @@
Har-ders Hop-pe Jac-kow-ski Ku-char-czyk Mei-er Mu-the-si-us Zed-ler
Die-te-rich
Sveinung % ?
+ Marcin % ?
+ RazorXsr
with-out
Pa-la-ti-no}
\def\fallbacktext#1{{\centering\itshape[#1]\par}}
@@ -694,7 +721,7 @@
%
% \GetFileInfo{microtype.dtx}
% \title{\ifx\printlogo\undefined\else\printlogo\fi
-% \textls{The \microtype\ package}\\[.3\baselineskip]\large
+% \textls[70]{The \microtype\ package}\\[.3\baselineskip]\large
% Subliminal refinements towards typographical perfection}
% \author{R Schlicht\\\mailtoRS}
% \date{\fileversion\\\filedate}
@@ -739,8 +766,10 @@
%
%\newpage
%\emptypdfpageresources ^^A layers of the logo
-%\tableofcontents
-%\listoftables
+%{\sffamily\def\familydefault{\sfdefault}\def\bfdefault{sb}
+% \tableofcontents
+% \listoftables
+%}
%
%
%\newpage
@@ -1121,6 +1150,7 @@
% to +1000.
%
%
+%\ifcmr\enlargethispage{\baselineskip}\fi ^^A layout
%\subsection{Miscellaneous options}\label{sub:options-misc}
%
%\Describe{Option}{DVIoutput}{true,*false}
@@ -1536,7 +1566,7 @@
% just with a different factor applied to them:
%\begin{verbatim}
%\SetProtrusion
-% [ factor = 700
+% [ factor = 700,
% load = cmr-T1 ]
% { encoding = T1,
% family = cmr,
@@ -1579,16 +1609,16 @@
% the same amount. However, it is also possible to limit the expansion of
% certain characters if they are more sensitive to deformation. This is the
% purpose of the \cs{SetExpansion} command. Note that it will only have an
-% effect if the package was loaded with the \opt{selected} option (cf.
+% effect if the package has been loaded with the \opt{selected} option (cf.
% section~\ref{sub:options-expansion}). Otherwise, the expansion settings will
% be ignored~-- unlike the options in the optional first argument, which will
% still be evaluated.
-% If the package was loaded with the \opt{selected} option, and settings for a
-% font don't exist, font expansion will not be applied to this font at all.
-% Should the extraordinary situation arise that you want to employ selected
-% expansion in general but that all characters of a particular font (set)
-% should be expanded or shrunk by the same amount, you would have to declare an
-% empty list for these fonts.
+% If the \opt{selected} option has been set to true, and settings for a font
+% don't exist, font expansion will not be applied to this font at all. Should
+% the extraordinary situation arise that you want to employ selected expansion
+% in general but that all characters of a particular font (set) should be
+% expanded or shrunk by the same amount, you would have to declare an empty
+% list for these fonts.
%
%\paragraph{The expansion settings}
% consist of \meta{character}\,|=|\,\meta{expansion factor} pairs.
@@ -1776,7 +1806,7 @@
%\begin{verbatim}
%Stop \textls{stealing sheep}!
%\end{verbatim}
-% this is the (typographically dubious) outcome:
+% this would be the (typographically dubious) outcome:
%
% \lssample
%
@@ -1980,17 +2010,19 @@
% you may declare such classes of characters, so that you then only have to set
% up the respective base character. With the optional argument, which may
% contain a comma-separated list of features, you can confine the scope of the
-% list. Additionally, it accepts the |inputenc| key to set the input encoding
+% list. Additionally, it accepts the \key{inputenc} key to set the input encoding
% for this list. The font set can be declared in the usual way. The inheritance
% lists are declared as pairs of \meta{base character}\,|=|\,\meta{list of
% inheriting characters}. Unless you are using a different encoding or a very
% peculiarly shaped font, there should be no need to change the default
-% character inheritance settings. The situation is different with \luatex\ and
-% \xetex, however: the default inheritance settings only contain those glyhps
-% that can safely be assumed to exist in any font; but since OpenType fonts may
-% contain many more glyphs for different scripts (languages), it is quite
-% probable that font-specific settings are necessary, which should be specified
-% in the font's configuration file (see next section).
+% character inheritance settings.
+%
+% The situation is different with \luatex\ and \xetex, however: the default
+% inheritance settings only contain those glyhps that can safely be assumed to
+% exist in any font; but since OpenType fonts may contain many more glyphs for
+% different scripts (languages), it is quite probable that font-specific
+% settings are necessary, which should be specified in the font's configuration
+% file (see next section).
%
%
%
@@ -2246,8 +2278,6 @@
% \label{sec:lettersp}
%
%\Describe{Macro}{\textls}{?amount,general text}
-%\DescribeMacro{\textls*}
-%\DescribeMacro{\lsstyle}
% While the \opt{tracking} feature, described in section~\ref{sub:tracking},
% will apply to sets of fonts, you may also want to letterspace shorter pieces
% of text, regardless of the font in which they are typeset.\footnote{
@@ -2259,14 +2289,18 @@
% For such ad-hoc letterspacing, \microtype\ introduces two commands that can
% be used (independently of whether the |tracking| option is enabled) in the
% same way as \LaTeX's text commands: \cs{textls} -- which also works in math
-% mode -- expects the text in the mandatory argument, while \cs{lsstyle} will
-% switch on letterspacing for all subsequent fonts until the end of the current
-% group. The starred version of \cs{textls} does not add any extra kerning
-% before or after the text, which may be useful, \eg, for section titles. By
-% default, each character will be spaced out by \EM{100/1000}\,=\,\EM{0.1}; this
-% amount may be altered in the optional argument to \cs{textls}, using the
-% \cs{SetTracking} command, or globally with the \opt{letterspace} package
-% option, with decreasing significance in this order.
+% mode -- expects the text in the mandatory argument, while
+%\DescribeMacro{\lsstyle}
+% \cs{lsstyle} will switch on letterspacing for all subsequent fonts until the
+% end of the current group.
+%\DescribeMacro{\textls*}
+% The starred version of \cs{textls} does not add any
+% extra kerning before or after the text, which may be useful, \eg, for section
+% titles. By default, each character will be spaced out by
+% \EM{100/1000}\,=\,\EM{0.1}; this amount may be altered in the optional
+% argument to \cs{textls}, using the \cs{SetTracking} command, or globally with
+% the \opt{letterspace} package option, with decreasing significance in this
+% order.
%
%\medskip
%\Describe{Macro}{\lslig}{ligature}
@@ -2286,10 +2320,9 @@
% `|{\kern0pt}|' or \pkg{babel}'s \verb="|= shortcut; or disable them and
% protect those ligatures that need to be protected by enclosing them in the
% \cs{lslig} command. So, the following two solutions have the same result
-% (namely, `\textfrak{\lsstyle
-% \def\!#1{\textcolor{thered}{\lslig{#1}}}^^A
-% \def\?#1{\textcolor{thegreen}{#1}}^^A
-% Au\!{s:}\?{si}\!{ch}t\!{s:}lo\?{si}gkeit}',
+% (namely, `\textls{\def\!#1{\textcolor{thered}{\lslig{#1}}}^^A
+% \def\?#1{\textcolor{thegreen}{#1}}^^A
+% \textfrak{Au\!{s:}\?{si}\!{ch}t\!{s:}lo\?{si}gkeit}}',
% ligatures shown in red, inhibited ligatures in green).
%
%\begin{verbatim}[morekeywords={[0]{\kern}}]
@@ -2394,7 +2427,7 @@
%\end{verbatim}
%
%\changes{v1.9}{2005/07/10}{add hint about \texttt{verbatim} environment}
-%\todo{option to patch \texttt{verbatim}} ^^A for Karl
+%\todo{option to patch \texttt{verbatim}?} ^^A for Karl
%\paragraph{You might want to disable protrusion in \texttt{verbatim} environments.}
% As you know by now, \microtype\ will by default activate character protrusion
% for all fonts contained in the font set `|alltext|'. This also includes the
@@ -2465,16 +2498,11 @@
%\changes{v2.3a}{2008/02/25}{add hint about \pkg{babel} having to be loaded first}
% \item When loading the package with the \opt{babel} option, you must load
% the \pkg{babel} package before \microtype.
-%\changes{v2.3c}{2008/11/11}{add hint about partial incompatibility with \pkg{CJK}}
-% \item It is currently not possible to create character-specific settings for
-% Chinese\slash Japanese\slash Korean fonts. Therefore, the only
-% micro-typographic extension that can be made to work with the
-% \pkg{CJK} package is font expansion.
%\changes{v2.5}{2012/09/11}{add hint about \luatex\ compatibility}
% \item Before this package was fully compatible with \luatex, the following
% method of enabling expansion and protrusion with the \pkg{fontspec}
-% package was most often recommended on the web and in groups and forums:
-%\begin{verbatim}[deletekeywords={[1]{expansion,protrusion}}]
+% package was most often found to be recommended:
+%\begin{verbatim}[deletekeywords={[1]{expansion,protrusion}},belowskip=0pt]
%\newfontfeature{Microtype}{protrusion=default;expansion=default}
%\defaultfontfeatures{Microtype}
%\end{verbatim}
@@ -2483,6 +2511,14 @@
% the naming, the above lines have nothing to do with this
% package.\footnote{^^A
% They make use of features provided by \pkg{luaotfload} (via \pkg{fontspec}).}
+%\changes{v2.5a}{2013/05/21}{add hint about \pkg{fontspec} having to be loaded first}
+% \item With \luatex, load \pkg{fontspec} before \microtype.
+% ^^A otherwise the \pkg{luaotfload} function luaotfload.aux.slot_of_name wouldn't be picked up
+%\changes{v2.3c}{2008/11/11}{add hint about partial incompatibility with \pkg{CJK}}
+% \item It is currently not possible to create character-specific settings for
+% Chinese\slash Japanese\slash Korean fonts. Therefore, the only
+% micro-typographic extension that can be made to work with the
+% \pkg{CJK} package is font expansion.
%\end{itemize}
%
%\changes{v1.8}{2005/06/23}{add hint about error messages}
@@ -2586,6 +2622,8 @@
% For the source code of the logo on the title page and of the letterspacing
% sample from section~\ref{sub:tracking}, see appendix~\ref{sec:title-logo} and
% \ref{sec:letterspace-ill}.
+% If you want to re-typeset the documentation, read the comments at the end of
+% \file{microtype.dtx}.
%
%
%\section{Contributions}
@@ -2611,9 +2649,10 @@
% hadn't created the \pdftex\ programme in the first place, which introduced
% the micro-typographic extensions and made them available to the \TeX\ world.
% Furthermore, I thank him for helping me to improve this package, and not
-% least for promoting it in \cite{ThanhPracTeX} and \cite{ThanhEuroTeX07} and
-% elsewhere. I also thank him and the rest of the \pdftex\ team for refuting
-% the idea that \TeX\ is dead, and for fixing the bugs I find.
+% least for promoting it in \cite{ThanhPracTeX}, \cite{ThanhEuroTeX07} and ^^A comma, to avoid the Three Ands Falls
+% elsewhere. I also thank him and the rest of the \pdftex\ team, and more
+% recently also of the \luatex\ team, for refuting the idea that \TeX\ is dead,
+% and for fixing the bugs I find.
%
% \contributor Harald Harders <h.harders\at tu-bs.de>
% has contributed protrusion settings for Adobe Minion. I~would also like to
@@ -2636,11 +2675,15 @@
% for providing settings for the Cyrillic <T2A> encoding, and to
% \contributor Hendrik Vogt <hendrik.vogt\at tu-dresden.de>,
% who made substantial improvements to the Computer Modern Roman italic settings.
+% I thank
% \contributor Loren B. Davis <davislo\at eecs.oregonstate.edu>
-% has provided protrusion settings for OpenType versions of Palatino Linotype.
-% I am also indebted to
+% for providing protrusion settings for OpenType versions of Palatino Linotype.
+% I am also very much indebted to
% \contributor \'Elie Roux <elie.roux\at telecom-bretagne.eu>,
-% who contributed the |lua| module.
+% who not only contributed the |lua| module in the first place, but also,
+% together with
+% \contributor Philipp Gesang <philipp.gesang\at alumni.uni-heidelberg.de>,
+% took care of updating it for the developments in \luatex\ land.
%
% I thank
% \contributor Philipp Lehman <plehman\at gmx.net>
@@ -2650,6 +2693,11 @@
% \contributor Peter Wilson <herries.press\at earthlink.net>
% kindly provided a hook in his \pkg{ledmac}/\pkg{ledpar} packages, so that
% critical editions can finally also benefit from character protrusion.
+%\iffalse
+% Useful not only for his \pkg{shapepar} package,
+% \contributor Donald Arseneau <asnd\at triumf.ca>
+% suggested the new commands \cs{microtypeunhbox} and \cs{microtypeunhcopy}.
+%\fi
%
% Additionally, the following people have reported bugs, made suggestions or
% helped otherwise (in chronological order):
@@ -2694,16 +2742,18 @@
% \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 @>,
+% \contributor Seamus Bradley <@\at @>, ^^A http://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 Loren~B. Davis <davislo\at eecs.oregonstate.edu>,
% \contributor Ma\"ieul Rouquette <maieul\at maieul.net>,
% \contributor Jonas Hogstrom <hjb981\at gmail.com>,
-% \contributor Gabriel Kerneis <gabriel\at kerneis.info>
+% \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
% and
-% \contributor RazorXsr <@\at @>.
+% \contributor Giuseppe Palma <pippi.palma\at gmail.com>.
%
%
%\iffalse
@@ -2808,7 +2858,7 @@
%
% \bibitem[\pkg{fontspec}]{fontspec}
% Will Robertson, Khaled Hosny, \emph{The \pkg{fontspec} package},
-% \newblock 6 May 2012.
+% \newblock 16 March 2013.
% \newblock (\ctanurl{macros/latex/contrib/fontspec/})
%\end{thebibliography}
%
@@ -2836,7 +2886,7 @@
% \VersionDate{#1}{#2}
% \vskip\topsep
% \pagebreak[2]
-% \item[#1](#2)
+% \item[\textsf{#1}]\textsf{(#2)}
% \vskip\topsep
% \nopagebreak}
%\newcommand\VersionDate[2]{^^A needed in the Change history
@@ -2844,13 +2894,17 @@
%
%\begin{History}
%
-%\Version{\expandafter\@gobble\fileversion}{\filedate}
-% \item Support for the \pkg{fontspec} and \pkg{xunicode} packages, viz.
+% ^^A\item New commands \cs{microtypeunhbox} and \cs{microtypeunhcopy} ^^A \refsection{\ref{..}}
+%
+%\VersionDate{\expandafter\@gobble\fileversion}{\filedate}
+%
+%\Version{2.5}{2013/03/13}
+% \item Support for the \pkg{fontspec} package, viz.
% for OpenType fonts with \luatex\ and \xetex
% \item Support for protrusion with \xetex\ $\geq$ 0.9997
% \item Support for tracking/letterspacing with \luatex\ $\geq$ 0.62
% \item Allow context-sensitive setup with \luatex
-% \item Warning if protrusion settings are generic
+% \item Info if protrusion settings are generic
% \item Protrusion settings for Latin Modern Roman (OpenType)
% \item Protrusion settings for Charis SIL (OpenType)
% \item Protrusion settings for Palatino Linotype (OpenType)
@@ -2909,11 +2963,11 @@
%
%\Version{2.0}{2007/01/14}
% \item Support for the new extensions of \pdftex\ $\geq$ 1.40:
-% tracking/letterspacing, adjustment of interword spacing (glue),
-% and additional kerning
-% (new commands \cs{SetTracking}, \cs{SetExtraSpacing}, \cs{SetExtraKerning};
-% new options `\opt{tracking}', `\opt{spacing}', `\opt{kerning}')
-% \refsection{\ref{sub:tracking}, \ref{sub:spacing}, \ref{sub:kerning}}
+% tracking/letterspacing, additional kerning, and adjustment of
+% interword spacing (glue)
+% (new commands \cs{SetTracking}, \cs{SetExtraKerning}, \cs{SetExtraSpacing};
+% new options `\opt{tracking}', `\opt{kerning}', `\opt{spacing}')
+% \refsection{\ref{sub:tracking}, \ref{sub:kerning}, \ref{sub:spacing}}
% \item New commands \cs{textls} and \cs{lsstyle} for letterspacing,
% new option `\opt{letterspace}'
% \refsection{\ref{sub:option-tracking}, \ref{sec:lettersp}}
@@ -3139,13 +3193,14 @@
% \endinput,\escapechar,\everypar,\expandafter,\fi,\futurelet,\gdef,\global,
% \hbadness,\hbox,\hsize,\hskip,\if,\ifcase,\ifcat,\ifdim,\iffalse,\ifhbox,
% \ifhmode,\ifmmode,\ifnum,\iftrue,\ifx,\immediate,\input,\inputlineno,\jobname,
-% \kern,\lastskip,\let,\lowercase,\maxdimen,\meaning,\multiply,\newlinechar,
-% \noexpand,\number,\or,\parfillskip,\pretolerance,\relax,\setbox,\showboxdepth,
-% \string,\the,\tolerance,\unkern,\unskip,\uppercase,\vbox,\wd,\write,\xdef}
+% \kern,\lastkern,\lastskip,\let,\lowercase,\maxdimen,\meaning,\multiply,
+% \newlinechar,\noexpand,\number,\or,\parfillskip,\pretolerance,\relax,\setbox,
+% \showboxdepth,\string,\the,\tolerance,\unkern,\unskip,\uppercase,\vbox,\wd,
+% \write,\xdef}
%^^A\DoNotIndex{\font,\fontdimen,\nullfont,\sfcode,\spacefactor,\spaceskip,
%^^A \xspaceskip} ^^A tex
-%\DoNotIndex{\currentgrouptype,\detokenize,\dimexpr,\eTeXversion,\ifcsname,
-% \ifdefined,\numexpr}
+%\DoNotIndex{\currentgrouplevel,\currentgrouptype,\detokenize,\dimexpr,
+% \eTeXversion,\ifcsname,\ifdefined,\numexpr}
%^^A\DoNotIndex{\fontcharwd,\iffontchar} ^^A e-tex
%\DoNotIndex{\pdfannot,\pdfescapestring,\pdfmatch,\pdfoutput,\pdfstrcmp,
% \pdftexrevision,\pdftexversion}
@@ -3189,13 +3244,15 @@
%\DoNotIndex{\UTFviii@defined} ^^A inputenc/utf8
%\DoNotIndex{\PrerenderUnicode,\unicode@charfilter} ^^A inputenc/utf8x
%\DoNotIndex{\define@key,\KV@@sp@def,\setkeys} ^^A keyval
-%\DoNotIndex{\l@dunhbox@line} ^^A ledmac,ledpar
+%\DoNotIndex{\l@dunhbox@line} ^^A (e)ledmac,(e)ledpar
%\DoNotIndex{\lst@ProcessLetter} ^^A listings
+%\DoNotIndex{\RequireLuaModule} ^^A luatexbase
%\DoNotIndex{\pdf@escapestring} ^^A pdftexcmds
%\DoNotIndex{\py@macron} ^^A pinyin
%\DoNotIndex{\SOUL@,\soulregister} ^^A soul
%\DoNotIndex{\tikz@expandcount} ^^A tikz
%\DoNotIndex{\conditionally@traceoff} ^^A trace
+%\DoNotIndex{\@xspace,\@xspace@firsttrue} ^^A xspace
%\DoNotIndex{\x,\MT@dinfo,\MT@dinfo@nl,\tracingmicrotype,\tracingmicrotypeinpdf,
% \ifMT@inannot,\MT@inannottrue,\MT@inannotfalse,\MT@addto@annot,\MT@pdf@annot,
% \MT@show@pdfannot,\iftracingmicrotypeinpdfall,\tracingmicrotypeinpdfalltrue,
@@ -4004,15 +4061,14 @@
%\end{macro}
% Some functions are loaded from a dedicated |lua| file. This avoids character
% escaping problems and incompatibilities between versions of \luatex.
-% If available, we'll use the \pkg{luatextra} package to load the module.
+%\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.
% \begin{macrocode}
%<*luatex-def>
-\MT@lua{
- if (luatextra and luatextra.use_module) then
- luatextra.use_module("microtype")
- else
- dofile(kpse.find_file("microtype.lua"))
- end}
+\RequirePackage{luatexbase}
+\RequireLuaModule{microtype}
%</luatex-def>
% \end{macrocode}
% Here it begins. The module was contributed by \'Elie Roux.
@@ -4020,26 +4076,26 @@
% (contributed by \contributor \'Elie Roux <elie.roux\at telecom-bretagne.eu>)}
% \begin{macrocode}
%<*luafile>
-if microtype then
- -- we simply don't load
-else
+microtype = microtype or {}
+local microtype = microtype
-microtype = {}
-
-microtype.module = {
+local microtype_module = {
name = "microtype",
version = 2.5,
- date = "2013/03/13",
+ date = "2013/05/15",
description = "microtype module.",
- author = "Elie Roux & R Schlicht",
- copyright = "Elie Roux & R Schlicht",
+ author = "E. Roux, R. Schlicht and P. Gesang",
+ copyright = "E. Roux, R. Schlicht and P. Gesang",
license = "LPPL",
}
-if luatextra and luatextra.provides_module then
- luatextra.provides_module(microtype.module)
+if luatexbase and luatexbase.provides_module then
+ luatexbase.provides_module(microtype_module)
end
+local find = string.find
+local tex_write = tex.write
+
%</luafile>
% \end{macrocode}
% To be continued, but first back to primitives.
@@ -4166,12 +4222,12 @@ end
%<package>^^Q \begingroup\MT@exp@two@c\endgroup\ifx\csname #1\endcsname\relax
%<package>^^Q \expandafter\@gobble\else\expandafter\@firstofone\fi
}
-%<*package>
\def\MT@ifdefined@n@TF#1{%
^^X \ifcsname#1\endcsname\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
-^^Q \begingroup\MT@exp@two@c\endgroup\ifx\csname #1\endcsname\relax
-^^Q \expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi
+%<package>^^Q \begingroup\MT@exp@two@c\endgroup\ifx\csname #1\endcsname\relax
+%<package>^^Q \expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi
}
+%<*package>
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -4260,13 +4316,14 @@ end
%<pdftex-def|letterspace>}
%<luatex-def>\def\MT@ifint#1{\csname\MT@lua{microtype.if_int([[#1]])}\endcsname}
%<*luafile>
-function microtype.if_int(s)
- if string.find(s,"^-*[0-9]+ *$") then
- tex.write("@firstoftwo")
+local function if_int(s)
+ if find(s,"^-*[0-9]+ *$") then
+ tex_write("@firstoftwo")
else
- tex.write("@secondoftwo")
+ tex_write("@secondoftwo")
end
end
+microtype.if_int = if_int
%</luafile>
% \end{macrocode}
@@ -4309,14 +4366,15 @@ end
%<pdftex-def>}
%<luatex-def>\def\MT@ifdimen#1{\csname\MT@lua{microtype.if_dimen([[#1]])}\endcsname}
%<*luafile>
-function microtype.if_dimen(s)
- if (string.find(s, "^-*[0-9]+(%a*) *$") or
- string.find(s, "^-*[0-9]*[.,][0-9]+(%a*) *$")) then
- tex.write("@firstoftwo")
+local function if_dimen(s)
+ if (find(s, "^-*[0-9]+(%a*) *$") or
+ find(s, "^-*[0-9]*[.,][0-9]+(%a*) *$")) then
+ tex_write("@firstoftwo")
else
- tex.write("@secondoftwo")
+ tex_write("@secondoftwo")
end
end
+microtype.if_dimen = if_dimen
%</luafile>
% \end{macrocode}
@@ -4368,13 +4426,14 @@ end
%<pdftex-def>}
%<luatex-def>\def\MT@ifstreq#1#2{\csname\MT@lua{microtype.if_str_eq([[#1]],[[#2]])}\endcsname}
%<*luafile>
-function microtype.if_str_eq(s1, s2)
+local function if_str_eq(s1, s2)
if s1 == s2 then
- tex.write("@firstoftwo")
+ tex_write("@firstoftwo")
else
- tex.write("@secondoftwo")
+ tex_write("@secondoftwo")
end
end
+microtype.if_str_eq = if_str_eq
%</luafile>
% \end{macrocode}
@@ -4854,6 +4913,8 @@ end
% (reported by \contributor Ma\"ieul Rouquette <maieul\at maieul.net>)}
% ^^A private mail, 2012/06/30
% They are also part of recent \xetex.
+%\changes{v2.5a}{2013/03/25}{support for \pkg{eledmac}}
+% The successor package \pkg{eledmac} is also supported.
% \begin{macrocode}
%</package>
%<pdftex-def>\MT@requires@pdftex5{
@@ -4863,23 +4924,20 @@ end
\MT@ifdefined@c@TF\l@dunhbox@line{%
% \end{macrocode}
%\begin{macro}{\MT@led@unhbox@line}
-%\begin{macro}{\MT@led@kern}
% Hook.
+%\changes{v2.5a}{2013/03/27}{simplified}
% \begin{macrocode}
- \MT@info@nl{Patching ledmac to enable character protrusion}%
- \newdimen\MT@led@kern
+ \MT@info@nl{Patching (e)ledmac to enable character protrusion}%
\let\MT@led@unhbox@line\l@dunhbox@line
\renewcommand*{\l@dunhbox@line}[1]{%
\ifhbox##1%
- \MT@led@kern=\rightmarginkern##1%
\kern\leftmarginkern##1%
- \MT@led@unhbox@line##1%
- \kern\MT@led@kern
+ \expandafter\MT@led@unhbox@line\expandafter##1\expandafter
+ \kern\rightmarginkern##1%
\fi
}%
% \end{macrocode}
%\end{macro}
-%\end{macro}
% \begin{macrocode}
}{%
\MT@warning@nl{%
@@ -4904,6 +4962,8 @@ end
%</pdftex-def>
% \end{macrocode}
%\end{macro}
+%\todo{fix: protrusion with \pkg{shapepar} (reported by \contributor Giuseppe Palma <pippi.palma\at gmail.com>)}
+% ^^A private mail, 2013/03/22
%\begin{macro}{\MT@restore@p@h}
% Restore meaning of \cmd\% and \cmd\#.
% \begin{macrocode}
@@ -4912,9 +4972,9 @@ end
\def\MT@restore@p@h{\chardef\%`\% \chardef\#`\# }
% \end{macrocode}
%\end{macro}
-% Two new conditionals for use with \xetex\ or \luatex.
%\begin{macro}{\ifMT@xunicode}
%\begin{macro}{\ifMT@fontspec}
+% Two new conditionals for use with \xetex\ or \luatex.
% \begin{macrocode}
\newif\ifMT@xunicode
\newif\ifMT@fontspec
@@ -5019,6 +5079,7 @@ So does the `\MT@MT' package. Using both packages at the same\MessageBreak
time will almost certainly lead to undesired results. Have your choice!}%
}%
\MT@with@package@T{ledmac}\MT@ledmac@setup
+ \MT@with@package@T{eledmac}\MT@ledmac@setup
\MT@with@package@T{xunicode}\MT@xunicodetrue
\MT@with@package@T{fontspec}\MT@fontspectrue
% \end{macrocode}
@@ -5283,7 +5344,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\def\MT@copy@font@{%
% \end{macrocode}
%\begin{macro}{\MT@font@copy}
-% For every new protrusion and expansion contexts, we create a new copy.
+% For every new protrusion and expansion context, we create a new copy.
%\changes{v2.3b}{2008/04/15}{enable font copies also with protrusion contexts
% (reported by \contributor Nathan Rosenblum <nater\at cs.wisc.edu>)}
% ^^A private mail, 2008/04/14
@@ -5484,7 +5545,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
%<debug> \MT@ifdefined@n@TF
{MT@#2list@#1@\@tempa}{%
% \end{macrocode}
-% Begin a (masqueraded) \cmd\expandafter\ orgy to test whether the font
+% Begin a (neatly masqueraded) \cmd\expandafter\ orgy to test whether the font
% attribute is in the list.
% \begin{macrocode}
\expandafter\MT@exp@one@n\expandafter\MT@in@clist
@@ -6248,6 +6309,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@expandfont
}\relax
}
+%</pdftex-def|luatex-def>
% \end{macrocode}
%\end{macro}
%
@@ -6258,12 +6320,11 @@ time will almost certainly lead to undesired results. Have your choice!}%
% We need this boolean in \cs{MT@if@list@exists} so that no warning for missing
% lists will be issued.
% \begin{macrocode}
-%</pdftex-def|luatex-def>
%<package>\newif\ifMT@nonselected
-%<*pdftex-def|luatex-def>
% \end{macrocode}
%\end{macro}
% \begin{macrocode}
+%<*pdftex-def|luatex-def>
\def\MT@set@ex@codes@n{%
\MT@nonselectedtrue
\MT@if@list@exists
@@ -6745,7 +6806,6 @@ time will almost certainly lead to undesired results. Have your choice!}%
%\end{macro}
% In case of nested letterspacing with different amounts, we have to extract
% the base font again.
-%\todo{outer spacing/kerning for nested letterspaced text}
% \begin{macrocode}
\MT@get@ls@basefont
\global\expandafter\letterspacefont\MT@lsfont\font@name\MT@letterspace@
@@ -6788,7 +6848,9 @@ time will almost certainly lead to undesired results. Have your choice!}%
\tagcode\MT@lsfont`f=\m@ne
%</letterspace>
% \end{macrocode}
-% Adjust protrusion values now, and maybe later (in \cs{MT@pr@split@val}).
+% Adjust protrusion values now, and maybe later (in \cs{MT@pr@split@val})
+% (not for \luatex, though, where the letterspaced font inherits the protrusion
+% values from the base font).
%\changes{v2.3}{2007/07/27}{also adjust tracking if protrusion is not enabled,
% and even for \letterspace\
% (reported by \contributor Stephan Hennig <stephanhennig\at arcor.de>)}
@@ -6800,13 +6862,16 @@ time will almost certainly lead to undesired results. Have your choice!}%
%<debug>\MT@dinfo@nl{2}{... compensating for tracking (\number\MT@letterspace@)}%
\MT@do@font{\lpcode\MT@lsfont\@tempcnta=\numexpr\MT@letterspace@/2\relax
\rpcode\MT@lsfont\@tempcnta=\numexpr\MT@letterspace@/2\relax}%
-%<pdftex-def|luatex-def> \let\MT@the@pr@code\MT@the@pr@code@tr
+%<pdftex-def> \let\MT@the@pr@code\MT@the@pr@code@tr
\fi
% \end{macrocode}
-% Finally, let the letterspaced font propagate.
+% Finally, let the letterspaced font propagate. With \luatex, we also need to
+% load.
+%\changes{v2.5a}{2013/05/15}{fix: load font for \pkg{fontspec}} ^^A for MT@get@slot
% \begin{macrocode}
\aftergroup\MT@set@lsfont
%<pdftex-def|luatex-def> \let\MT@font\MT@lsfont
+%<luatex-def> \ifMT@fontspec\MT@font\fi
% \end{macrocode}
%\begin{macro}{\MT@set@curr@ls}
%\begin{macro}{\MT@curr@ls}
@@ -6837,10 +6902,6 @@ time will almost certainly lead to undesired results. Have your choice!}%
%<letterspace> % \textls : outer kerning = {*,*} ; \textls* : outer kerning = {0,0}
\MT@outer@kern=-\dimexpr\MT@letterspace@ sp * \fontdimen6\font@name/2000\relax
\MT@ls@outer@k
-%<*letterspace>
- \xdef\MT@set@curr@ok{\MT@outer@kern=\the\MT@outer@kern\relax}%
- \aftergroup\aftergroup\aftergroup\MT@ls@aftergroup
-%</letterspace>
% \end{macrocode}
% Otherwise, get the current outer kerning and adjust it, for left and right
% side (\microtype\ only).
@@ -6853,6 +6914,13 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@outer@kern=\expandafter\expandafter\expandafter\@secondoftwo
\csname MT@outer@kern\expandafter\string\font@name\endcsname\relax
%</pdftex-def|luatex-def>
+%<*letterspace>
+ \xdef\MT@set@curr@ok{\MT@outer@kern=\the\MT@outer@kern\relax}%
+ \MT@afteraftergroup{%
+ \MT@set@curr@ok
+ \noexpand\MT@ls@outer@k
+ }%
+%</letterspace>
\fi
%<*pdftex-def|luatex-def>
% \end{macrocode}
@@ -6861,46 +6929,48 @@ time will almost certainly lead to undesired results. Have your choice!}%
% spacing (which will set kerning, if no space follows).
% \begin{macrocode}
\xdef\MT@set@curr@ok{\MT@outer@kern=\the\MT@outer@kern\relax}%
- \aftergroup\aftergroup\aftergroup\MT@ls@aftergroup
% \end{macrocode}
%\end{macro}
+% Stuff to be done after the letterspace group. The \letterspace\ package
+% only adjusts the kerning.
% \begin{macrocode}
+ \MT@afteraftergroup{%
+ \MT@set@curr@os
+ \MT@set@curr@ok
+ \noexpand\MT@tr@outer@r
+ }%
%</pdftex-def|luatex-def>
\fi
+% \end{macrocode}
+% Since protrusion values are inherited in \luatex, we switch off the setup for
+% this font.
+% \begin{macrocode}
+%<luatex-def> \MT@protrusionfalse
%<pdftex-def|luatex-def> }%
}
% \end{macrocode}
%\end{macro}
-%\begin{macro}{\MT@ls@aftergroup}
-% Stuff to be done after the letterspace group. The \letterspace\ package
-% only adjusts the kerning.
-% \begin{macrocode}
-%<letterspace>\def\MT@ls@aftergroup{\MT@set@curr@ok\MT@ls@outer@k}
-% \end{macrocode}
-%\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 privat 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{macro}{\MT@afteraftergroup}
+% This helper macro carries stuff outside of the current group to the end of
+% the next group, but will then respect grouping, which is crucial for nested
+% letterspacing. (Following an idea of Will Robertson.)^^A http://tex.stackexchange.com/a/56319
+%\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}%
+ }%
+}
%</pdftex-def|luatex-def|letterspace>
-%<*package>
-\MT@addto@setup{%
- \@ifpackageloaded{tikz}
- {\def\MT@ls@aftergroup{%
- \ifnum\tikz@expandcount>\z@ \else
- \MT@set@curr@os\MT@set@curr@ok\expandafter\MT@tr@outer@r\fi}}
- {\def\MT@ls@aftergroup{\MT@set@curr@os\MT@set@curr@ok\MT@tr@outer@r}}}
-%</package>
-%<*pdftex-def|luatex-def>
% \end{macrocode}
%\end{macro}
%\begin{macro}{\MT@get@tr@opt}
% Various settings (only for the \microtype\ version).
% \begin{macrocode}
+%<*pdftex-def|luatex-def>
\def\MT@get@tr@opt{%
\MT@set@listname
\MT@ifdefined@n@T{MT@tr@c@\MT@tr@c@name}{%
@@ -7022,7 +7092,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@outer@kern=\dimexpr\MT@curr@ls sp * \fontdimen6\font@name/2000\relax
\kern\MT@outer@kern
\font@name #1%
- \kern\MT@outer@kern%
+ \kern\MT@outer@kern
}{#1}}%
}
% \end{macrocode}
@@ -7069,13 +7139,13 @@ time will almost certainly lead to undesired results. Have your choice!}%
\aftergroup\MT@set@lsbasefont
\fi
}
+%</pdftex-def|luatex-def|letterspace>
% \end{macrocode}
%\end{macro}
%\end{macro}
%\begin{macro}{\MT@tr@noligatures}
% \pdftex\ 1.40.0--1.40.3 disabled all ligatures in letterspaced fonts.
% \begin{macrocode}
-%</pdftex-def|luatex-def|letterspace>
%<*pdftex-def|luatex-def>
%<pdftex-def>\MT@requires@pdftex7{
\def\MT@tr@noligatures{%
@@ -7163,7 +7233,7 @@ time will almost certainly lead to undesired results. Have your choice!}%
-\fontdimen#2\MT@lsfont\relax
% \end{macrocode}
% For \fontdim2, we also have to subtract the kerning that letterspacing adds
-% to the sides of the characters (only half if it's for outer spacing).
+% to each side of the characters (only half if it's for outer spacing).
% \begin{macrocode}
\ifnum#2=\tw@
\advance\@tempdima -\dimexpr\MT@letterspace@ sp*\MT@dimen@six/#3\relax
@@ -7220,14 +7290,32 @@ 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}
@@ -7245,10 +7333,9 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
% \end{macrocode}
%\end{macro}
-%\begin{macro}{\MT@tr@outer@r@}
-%\todo{fix problem with \pkg{xspace}} ^^A http://tex.stackexchange.com/questions/59655
+%\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.
@@ -7277,14 +7364,10 @@ time will almost certainly lead to undesired results. Have your choice!}%
%\changes{v2.3c}{2008/09/18}{additional test for horizontal mode
% (reported by \contributor Sveinung Heggen <sveinung.heggen\at orkla.no>)}
% ^^A private mail, 2008/09/18
-%\todo{fix problem with tikz} ^^A fixed in tikz? (2012/02/20)
-%^^A \path[->] (N0) edge node {\textls{abc}} (N1);
-%^^A reported by \contributor Christian Stark <cstark\at gmx.de>
-%^^A ^^A 2009/07/28, MID: <7d81lgF2ad3ckU1@mid.dfncis.de>
% \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
@@ -7308,7 +7391,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
@@ -7324,13 +7407,19 @@ time will almost certainly lead to undesired results. Have your choice!}%
\MT@if@outer@next\space\relax{%
\MT@if@outer@next\@xobeysp\relax{%
% \end{macrocode}
+% \pkg{xspace} requires special treatment.
+% \begin{macrocode}
+ \MT@if@outer@next\xspace{%
+ \def\MT@temp*\xspace{\futurelet\@let@token\MT@xspace}%
+ }{%
+% \end{macrocode}
% If there's no outer spacing, there may be outer kerning.
% \begin{macrocode}
- \def\MT@temp*{\ifdim\MT@outer@kern=\z@\else\MT@ls@outer@k
+ \def\MT@temp*{\ifdim\MT@outer@kern=\z@\else\MT@ls@outer@k
%<debug>\MT@dinfo2{--- adjusting post kern: \the\MT@outer@kern}%
- \fi}%
- \MT@let@nc{MT@tr@outer@next}\relax
- }}}}}}}\fi
+ \fi}%
+ \MT@let@nc{MT@tr@outer@next}\relax
+ }}}}}}}}\fi
\fi\fi
\MT@temp*%
}
@@ -7340,7 +7429,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@
@@ -7348,6 +7437,22 @@ time will almost certainly lead to undesired results. Have your choice!}%
% \end{macrocode}
%\end{macro}
%\end{macro}
+%\begin{macro}{\MT@xspace}
+%\changes{v2.5a}{2013/05/15}{fix \texttt{outer spacing} problem with \pkg{xspace}
+% (reported by \contributor Dave <@\at @>)}
+% ^^A http://tex.stackexchange.com/questions/59655
+% If the group is followed by \cmd\xspace, we first feed \cmd\xspace\ with the
+% next token, then check whether it has inserted a space.
+% \begin{macrocode}
+\def\MT@xspace{\@xspace@firsttrue\@xspace
+ \ifdim\lastskip>5sp
+ \unskip \hskip\MT@outer@space
+ \else
+ \ifdim\MT@outer@kern=\z@\else\MT@ls@outer@k \fi
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
% For older \pdftex\ versions and \luatex, throw an error.
% \begin{macrocode}
}{
@@ -7493,19 +7598,37 @@ time will almost certainly lead to undesired results. Have your choice!}%
% \end{macrocode}
%\end{macro}
%\begin{macro}{\MT@ls@outer@k}
-% Adjust outer kerning.
+% Adjust outer kerning. We additionally add a marker (|\kern3sp\kern-3sp|)
+% for cases of nested letterspacing without anything actually printed. ^^A eg. \LaTeX!
+%\changes{v2.5a}{2013/05/15}{add marker for tightly nested letterspacing}
% \begin{macrocode}
-%<pdftex-def|luatex-def|letterspace>\def\MT@ls@outer@k{\ifhmode\kern\MT@outer@kern\relax\fi}
-%<*pdftex-def|luatex-def>
+%<*pdftex-def|luatex-def|letterspace>
+\def\MT@ls@outer@k{%
+ \ifhmode
+ \ifdim\lastkern=-3sp \unkern
+ \ifdim\lastkern=3sp \kern-3sp
+ \expandafter\expandafter\expandafter\@gobble
+ \else \unkern
+ \expandafter\expandafter\expandafter\@firstofone
+ \fi
+ \else
+ \expandafter\@firstofone
+ \fi
+ {\kern\MT@outer@kern\kern3sp\kern-3sp\relax}%
+ \fi
+}
+%</pdftex-def|luatex-def|letterspace>
% \end{macrocode}
%\end{macro}
%
%\subsubsection{Disabling ligatures}
%
%\begin{macro}{\MT@noligatures}
-% The possibility to disable ligatures is a new features of \pdftex\ 1.30.
-%\changes{v2.3}{2007/10/23}{fix: set evaluation didn't work (bug introduced in 2.2)}
+% The possibility to disable ligatures is a new features of \pdftex\ 1.30, and
+% also works with \luatex.
+%\changes{v2.3}{2007/10/23}{fix: set evaluation didn't work (bug introduced in v2.2)}
% \begin{macrocode}
+%<*pdftex-def|luatex-def>
%<pdftex-def>\MT@requires@pdftex5{
\def\MT@noligatures{%
\MT@dotrue
@@ -7835,9 +7958,9 @@ time will almost certainly lead to undesired results. Have your choice!}%
\ifx\MT@familyalias\@empty \else
\edef\@tempa{\MT@encoding
/\MT@familyalias
- /\ifnum#2=\@ne \MT@series\fi
- /\ifnum#3=\@ne \MT@shape\fi
- /\ifnum#4=\@ne *\fi
+ /\ifnum#2=\@ne \MT@series\fi
+ /\ifnum#3=\@ne \MT@shape\fi
+ /\ifnum#4=\@ne *\fi
\MT@context}%
%<debug>\MT@dinfo@nl{1}{(alias) \@tempa}%
\MT@ifdefined@n@T{MT@\@tempb @\@tempa}{%
@@ -8055,8 +8178,8 @@ time will almost certainly lead to undesired results. Have your choice!}%
%<*luatex-def>
\ifnum\MT@char=47\relax
\ifMT@norest \else
- \@tempcnta=\directlua{
- local glyph = microtype.name_to_slot([[\expandafter\@gobble\@tempa]])
+ \@tempcnta=\MT@lua{
+ local glyph = microtype.name_to_slot([[\expandafter\@gobble\@tempa]],true)
if glyph then tex.write(glyph)
else tex.write(-1)
end
@@ -8135,19 +8258,41 @@ time will almost certainly lead to undesired results. Have your choice!}%
}
%</pdftex-def|luatex-def|xetex-def>
% \end{macrocode}
-% This is the lua function to translate glyph name into Unicode number, stolen
-% from \pkg{luaotfload} (file \file{otfl-font-dum.lua}).
+% This is the lua function to translate glyph name into slot number.
+% Beginning with v2.2, \pkg{luaotfload} provides this function in an API, which
+% we use if available, but (for now, at least) keep the old code for backward
+% compatibility.
+%\changes{v2.5a}{2013/04/19}{adapted for \pkg{luaotfload} v2.2
+% (contributed by \contributor \'Elie Roux <elie.roux\at telecom-bretagne.eu>)}
+% ^^A MID: <516AAF6B.8040605@telecom-bretagne.eu>
% \begin{macrocode}
%<*luafile>
-function microtype.name_to_slot(name)
- if fonts then
- local tfmdata = fonts.ids[font.current()]
- if tfmdata and tfmdata.shared then
- local otfdata = tfmdata.shared.otfdata
- local unicode = otfdata.luatex.unicodes[name]
- return unicode and (type(unicode) == "number" and unicode or unicode[1])
+if luaotfload and luaotfload.aux and luaotfload.aux.slot_of_name then
+ local slot_of_name = luaotfload.aux.slot_of_name
+ microtype.name_to_slot = function(name, unsafe)
+ return slot_of_name(font.current(), name, unsafe)
+ end
+else
+ -- we dig into internal structure (should be avoided)
+ local function name_to_slot(name, unsafe)
+ if fonts then
+ local unicodes
+ if fonts.ids then --- legacy luaotfload
+ local tfmdata = fonts.ids[font.current()]
+ if not tfmdata then return end
+ unicodes = tfmdata.shared.otfdata.luatex.unicodes
+ else --- new location
+ local tfmdata = fonts.hashes.identifiers[font.current()]
+ if not tfmdata then return end
+ unicodes = tfmdata.resources.unicodes
+ end
+ local unicode = unicodes[name]
+ if unicode then --- does the 'or' branch actually exist?
+ return type(unicode) == "number" and unicode or unicode[1]
+ end
end
end
+ microtype.name_to_slot = name_to_slot
end
%</luafile>
@@ -9744,7 +9889,6 @@ end
\MT@gdef@n{MT@ex@c@\MT@ex@c@name}{#3}%
\MT@end@catcodes
}
-%</pdftex-def|luatex-def>
% \end{macrocode}
%\end{macro}
%\end{macro}
@@ -9760,7 +9904,6 @@ end
% (suggested by \contributor Steven~E. Harris <seh\at panix.com>)}
% ^^A private mail, 2007/06/15
% \begin{macrocode}
-%<*pdftex-def|luatex-def>
\def\SetTracking{%
\MT@begin@catcodes
\MT@SetTracking
@@ -10032,6 +10175,7 @@ end
% \begin{macrocode}
\define@key{MT@#1@c}{context}[]{\MT@ifempty{##1}\relax{\def\MT@extra@context{##1}}}%
}
+%</package>
% \end{macrocode}
% Automatically enable font copying if we find a protrusion or expansion context.
% After the preamble, check whether font copying is enabled.
@@ -10039,7 +10183,6 @@ end
%\changes{v2.5}{2010/02/27}{allow contexts for \luatex}
% It also works with \luatex\ 0.30 or newer.
% \begin{macrocode}
-%</package>
%<*pdftex-def|luatex-def>
%<pdftex-def>\MT@requires@pdftex7{
\define@key{MT@ex@c}{context}[]{%
@@ -10210,13 +10353,11 @@ end
%<pdftex-def> }\relax
\fi
}
-%</pdftex-def|luatex-def>
% \end{macrocode}
% Tracking: Interword spacing and outer kerning.
-% The variant with space in case \cs{SetTracking} is called inside an argument
-% (\eg, to \cmd\IfFileExists).
+% The variant with space just in case \cs{SetTracking} is called inside an
+% argument (\eg, to \cmd\IfFileExists).
% \begin{macrocode}
-%<*pdftex-def|luatex-def>
\MT@define@opt@key{tr}{spacing}
\MT@define@opt@key{tr}{outerspacing}
\MT@define@opt@key{tr}{outerkerning}
@@ -10364,7 +10505,6 @@ end
\fi
}
%</pdftex-def|xetex-def|luatex-def>
-%<*package>
% \end{macrocode}
%\end{macro}
%
@@ -10389,6 +10529,7 @@ end
% |\MT@|\meta{list type}|@/|\allowbreak\meta{font axes}|@sizes|, which in turn
% contains the respective \meta{list name}s attached to the ranges.
% \begin{macrocode}
+%<*package>
\def\MT@permute{%
\let\MT@cnt@encoding\@ne
\MT@permute@
@@ -10709,7 +10850,7 @@ end
% \end{macrocode}
% \opt{activate} is a shortcut for \opt{protrusion} and \opt{expansion}.
%\changes{v1.9e}{2006/07/18}{fix: default value for \opt{activate}: \texttt{true}}
-%\todo{add \opt{spacing} to \opt{activate}, when the feature has stabilised in \pdftex?}
+%\todo{add \opt{spacing} to \opt{activate}, when the feature has stabilised in \pdftex?} ^^A probably won't happen ...
% \begin{macrocode}
\define@key{MT}{activate}[true]{%
\setkeys{MT}{protrusion={#1}}%
@@ -10890,6 +11031,7 @@ end
}%
}%
}
+%</package>
% \end{macrocode}
%\changes{v1.5}{2004/12/02}{defaults: \opt{step}: 4
% (suggested by \contributor \thanh{} <hanthethanh\at gmx.net>)}
@@ -10904,7 +11046,6 @@ end
% \opt{step},
% \opt{letterspace}.
% \begin{macrocode}
-%</package>
%<*package|letterspace>
%<plain>\MT@requires@latex1{
\MT@map@clist@n{%
@@ -10924,10 +11065,10 @@ end
}
%<plain>}\relax
%</package|letterspace>
-%<*package>
% \end{macrocode}
% \opt{factor} will define the protrusion factor only.
% \begin{macrocode}
+%<*package>
\define@key{MT}{factor}[\MT@factor@default]{%
\def\@tempa{#1 }%
\MT@ifint\@tempa
@@ -11653,11 +11794,11 @@ end
\fi
}
%</pdftex-def|luatex-def>
-%<*pdftex-def>
% \end{macrocode}
%\end{macro}
%\begin{macro}{\MT@setup@spacing}
% \begin{macrocode}
+%<*pdftex-def>
\def\MT@setup@spacing{%
\ifMT@spacing
\edef\MT@active@features{\MT@active@features,sp}%
@@ -11934,6 +12075,7 @@ end
% This is the current file (hopefully with the correct extension).
% \begin{macrocode}
\edef\MT@curr@file{\jobname.tex}
+%</package>
% \end{macrocode}
%\end{macro}
% Finally, execute the setup macro at the end of the preamble, and empty it
@@ -11942,7 +12084,6 @@ end
% (for \contributor Colin Rourke <gt\at msp.warwick.ac.uk>)}
% ^^A private mail, 2009/02/03
% \begin{macrocode}
-%</package>
%<*package|letterspace>
%<plain>\MT@requires@latex1{
\AtBeginDocument{\MT@setup@ \MT@glet\MT@setup@\@empty}
@@ -11958,10 +12099,6 @@ end
% \begin{macrocode}
%<package|letterspace>\MT@restore@catcodes
% \end{macrocode}
-% And here we end the |lua| file.
-% \begin{macrocode}
-%<luafile>end
-% \end{macrocode}
% That was that.
%
% ^^A -------------------------------------------------------------------------
@@ -15711,10 +15848,12 @@ end
% Default unit is space.
%
% \begin{macrocode}
-%<*m-t>
+%<*m-t|cmr>
%%% -----------------------------------------------------------------------
%%% INTERWORD SPACING
+%</m-t|cmr>
+%<*m-t>
\SetExtraSpacing
[ name = default ]
{ encoding = {OT1,T1,LY1,OT4,QX,T5} }
@@ -15808,6 +15947,7 @@ end
% \begin{macrocode}
}
+%</m-t>
% \end{macrocode}
% Questions are:
%\begin{itemize}
@@ -15838,7 +15978,7 @@ end
% \contributor Karl Karlsson <karl-karlsson\at yandex.ru>)}
% ^^A private mail, 2009/10/21
% \begin{macrocode}
-%<*m-t>
+%<*cmr>
\SetExtraSpacing
[ name = T2A,
load = default ]
@@ -15858,7 +15998,6 @@ end
\cyrishrt = { , 50, -50},
}
-%</m-t>
% \end{macrocode}
%
% \subsubsection{Nonfrenchspacing}
@@ -15923,11 +16062,13 @@ end
% \begin{macrocode}
}
+%</cmr>
% \end{macrocode}
% \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}
+%<*m-t>
\SetExtraSpacing
[ name = nonfrench-default,
load = default,
@@ -16031,13 +16172,31 @@ end
% \end{macrocode}
%^^A\changes{v2.0}{2006/12/28}{remove \texttt{letterspacing} settings}
%
-%^^A \includepdf[pages=-,
-%^^A addtotoc={1,section,1,OpenType configuration files,section.\thesection}]
-%^^A {microtype-utf.pdf}
-%\section{OpenType font configuration files}
-% The configuration files for OpenType fonts are not included in the
-% documentation. Please refer to the respective |mt-|\meta{font}|.cfg|
-% files in the |microtype| \TeX\ input directory.
+%\GeneralChanges{Documentation}
+%\changes{v2.5a}{2013/05/15}{include OpenType configuration files}
+%^^A The OpenType configuration files are outsourced to an external file,
+%^^A since they are typeset with \luatex.
+%
+%\newwrite \utftmp
+%\immediate\openout \utftmp=microtype-utf.tmp
+%\immediate\write \utftmp{\string\setcounter{section}{\the\c@section}}
+%\immediate\write \utftmp{\string\setcounter{CodelineNo}{\the\c@CodelineNo}}
+%\immediate\write \utftmp{\string\setcounter{page}{\the\c@page}}
+%\immediate\write \utftmp{\string\setcounter{footnote}{\the\c@footnote}}
+%\immediate\closeout\utftmp
+%
+%\InputIfFileExists{microtype.tmp}\relax{\def\utfsectioni{1}\def\utfsectionii{1}}
+%
+%\IfFileExists{microtype-utf.pdf}
+% {\includepdf[pages=-,
+% addtotoc={1,section,1,OpenType configuration files,section.\thesection,
+% \utfsectioni,subsection,2,Character inheritance,subsection.\thesection.1,
+% \utfsectionii,subsection,2,Character protrusion,subsection.\thesection.2}]
+% {microtype-utf.pdf}}
+% {\section{OpenType configuration settings}
+% To view the OpenType configuration settings, first typeset
+% \file{microtype-utf.dtx} with \luatex.}
+%
%
%\GeneralChanges*
%
@@ -16176,9 +16335,63 @@ normal, and shrunk by 5\%:
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-% \CheckSum{10217}
+% \CheckSum{10288}
%
% \Finale
%
\endinput
%
+% -----------------------------------------------------------------------------
+
+ *** Typesetting the documentation ***
+
+ The documentation (microtype.pdf) can be found on CTAN, if it isn't already
+ on your computer, so there should be no need to re-typeset it.
+ If you still want to do that, there are some requirements to consider.
+ Follow these steps:
+
+# 1) In microtype.ins, uncomment the line:
+%\generate{\makefile{microtype-doc.sty}{docsty}}
+# 2) Install the package by running:
+pdflatex microtype.ins
+# 3) Extract microtype-lssample.dtx and microtype-logo.dtx from
+# microtype.pdf (ie., from the file you are going to recreate ...).
+# This can be done, eg., with Adobe Reader or with the pdftk tool.
+# 4) Run
+pdflatex microtype.dtx
+pdflatex microtype.dtx
+# * The following fonts are required:
+# - Bitstream Charter
+# - Bitstream LetterGothic
+# - Adobe Source Sans Pro
+# - Adobe Wittenberger Fraktur MT (alternatively yfrak)
+# - Adobe Zapf Chancery
+# - Adobe Kepler MM (for microtype-logo.dtx, input by microtype.dtx)
+# - Adobe Caslon (for microtype-lssample.dtx, input by microtype.dtx)
+# 5) Run
+makeindex -s gind.ist microtype
+# 6) Run
+makeindex -s gglo.ist -o microtype.gls microtype.glo
+# 7) Run
+lualatex microtype-utf.dtx
+# * There will be some errors (15, to be exact) about `invalid utf-8 sequences',
+# which you should just ignore.
+# * The following fonts are required:
+# - Bitstream Charter (Type 1)
+# - Bitstream LetterGothic (Type 1)
+# - Adobe Source Sans Pro (Type 1 or OpenType)
+# - Latin Modern Roman (OpenType)
+# - Charis SIL (OpenType)
+# - TeX Gyre Pagella (OpenType)
+# 8) Run
+pdflatex microtype.dtx
+# 9) Run
+makeindex -s gind.ist microtype
+# 10) Run
+makeindex -s gglo.ist -o microtype.gls microtype.glo
+# 11) Run
+pdflatex microtype.dtx
+#
+# That's it, although I still may have forgotten some things...
+%
+% --
diff --git a/Master/texmf-dist/source/latex/microtype/microtype.ins b/Master/texmf-dist/source/latex/microtype/microtype.ins
index 34fe8baa33f..85698aa2810 100644
--- a/Master/texmf-dist/source/latex/microtype/microtype.ins
+++ b/Master/texmf-dist/source/latex/microtype/microtype.ins
@@ -1,5 +1,5 @@
% !Mode:: "TeX:STY:UK"
-% $Id: microtype.ins,v 1.22 2013-03-13 05:07:23+01 schlicht Exp schlicht $
+% $Id: microtype.ins,v 1.23 2013-05-23 02:32:14+02 schlicht Exp schlicht $
% ------------------------------------------------------------------------
\input docstrip
\keepsilent
@@ -90,16 +90,25 @@ microtype-luatex.def, microtype.lua and letterspace.sty.
Harald Harders <h.harders{at}tu-bs.de> and
Karl Karlsson <karl-karlsson{at}yandex.ru>.^^M
\endpreamble
+\declarepreamble\lorenpreamble^^M
+ Loren B. Davis. (c) 2012
+
+ ------------------------------------------------------------------------
+ Palatino is a registered trademark of Linotype GmbH.
+ Used without permission.
+\endpreamble
\declarepostamble\luapostamble
\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
+
\generate{
\makefile{microtype.sty}{package}
\usepreamble\defpreamble
@@ -126,12 +135,20 @@ microtype-luatex.def, microtype.lua and letterspace.sty.
\makecfg{e}{zpeu}
\makecfg{e}{euroitc}
\makecfg{e}{mvs}
+ \makeutfcfg{LatinModernRoman}
+ \makeutfcfg{CharisSIL}
\usepreamble\haraldandkarlpreamble
\makecfg{t}{pmn}
+ \usepreamble\lorenpreamble
+ \makeutfcfg{PalatinoLinotype}
\usepreamble\testpreamble
\makefile{test-microtype.tex}{test}
}
+%% for the extra documentation
+%% (microtype-utf.dtx, microtype-logo.dtx, microtype-lssample.dtx):
+%\generate{\makefile{microtype-doc.sty}{docsty}}
+
\def\MetaPrefix{--}
\generate{
\usepreamble \luapreamble
@@ -143,7 +160,6 @@ microtype-luatex.def, microtype.lua and letterspace.sty.
\Msg{***********************************************************************}
\Msg{* To finish installation, move all files to their appropriate places. *}
\Msg{* See the documentation for details. *}
-\Msg{* You can create the documentation by running latex on microtype.dtx. *}
\Msg{***********************************************************************}
\endbatchfile