diff options
Diffstat (limited to 'Master')
31 files changed, 2029 insertions, 428 deletions
diff --git a/Master/texmf-dist/doc/latex/microtype/README b/Master/texmf-dist/doc/latex/microtype/README index 62c2e189b5f..5ed6f9cdada 100644 --- a/Master/texmf-dist/doc/latex/microtype/README +++ b/Master/texmf-dist/doc/latex/microtype/README @@ -3,7 +3,7 @@ The `microtype' package Subliminal refinements towards typographical perfection =================================== - v2.5 2013/03/13 + v2.5a 2013/05/23 * Overview @@ -37,15 +37,21 @@ The documentation can be found in microtype.pdf. * Installation -------------- - - Run latex on microtype.ins to generate the package and configuration files - - Move all generated files into a directory where LaTeX will find them, - e.g., TEXMF/tex/latex/microtype/ + To install the package, use one of the following methods + (in decreasing order of simplicity): + + - Use the package manager of your TeX system + (TeXLive: tlmgr install microtype + MiKTeX: MiKTeX Package Manager) + + - Download microtype.tds.zip from CTAN, + extract it in the root of one of your TDS trees, + and update the filename database - - Run (pdf)latex twice on microtype.dtx to create the documentation - - For an index run: - makeindex -s gind.ist -o microtype.ind microtype.idx - - For the change history run: - makeindex -s gglo.ist -o microtype.gls microtype.glo + - Get the source (microtype.zip) from CTAN and extract it, + run latex on microtype.ins to generate the package and configuration files, + and move all generated files into a directory where LaTeX will find them, + e.g., TEXMF/tex/latex/microtype/ * License diff --git a/Master/texmf-dist/doc/latex/microtype/microtype.pdf b/Master/texmf-dist/doc/latex/microtype/microtype.pdf Binary files differindex 4ee0841c39a..bf9d1c1682b 100644 --- a/Master/texmf-dist/doc/latex/microtype/microtype.pdf +++ b/Master/texmf-dist/doc/latex/microtype/microtype.pdf 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 diff --git a/Master/texmf-dist/tex/latex/microtype/letterspace.sty b/Master/texmf-dist/tex/latex/microtype/letterspace.sty index 3fc1de4ec15..3afa0048c1e 100644 --- a/Master/texmf-dist/tex/latex/microtype/letterspace.sty +++ b/Master/texmf-dist/tex/latex/microtype/letterspace.sty @@ -33,7 +33,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage {letterspace} - [2013/03/13 v2.5 + [2013/05/23 v2.5a Robust letterspacing (RS)] \def\MT@MT @@ -156,6 +156,9 @@ \def\MT@ifdefined@n@T#1{% ^^X \ifcsname#1\endcsname\expandafter\@firstofone\else\expandafter\@gobble\fi } +\def\MT@ifdefined@n@TF#1{% +^^X \ifcsname#1\endcsname\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi +} \begingroup \catcode`\%=12 \catcode`\&=14 @@ -267,11 +270,21 @@ \MT@outer@kern=-\dimexpr\MT@letterspace@ sp * \fontdimen6\font@name/2000\relax \MT@ls@outer@k \xdef\MT@set@curr@ok{\MT@outer@kern=\the\MT@outer@kern\relax}% - \aftergroup\aftergroup\aftergroup\MT@ls@aftergroup + \MT@afteraftergroup{% + \MT@set@curr@ok + \noexpand\MT@ls@outer@k + }% \fi \fi } -\def\MT@ls@aftergroup{\MT@set@curr@ok\MT@ls@outer@k} +\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@requires@latex2{ \def\MT@set@lsfont{\MT@exp@two@c\let\font@name\MT@lsfont} \DeclareRobustCommand\lsstyle{% @@ -299,7 +312,7 @@ \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}}% } \def\MT@get@ls@basefont{% @@ -354,7 +367,20 @@ \fi } \newdimen\MT@outer@kern -\def\MT@ls@outer@k{\ifhmode\kern\MT@outer@kern\relax\fi} +\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 +} \MT@requires@latex2{ \MT@addto@setup{% \@ifpackageloaded{CJK}{% diff --git a/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def b/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def index c560e4fe160..fe2e8000886 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def +++ b/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def @@ -30,7 +30,7 @@ %% \ProvidesFile {microtype-luatex.def} - [2013/03/13 v2.5 + [2013/05/23 v2.5a Definitions specific to luatex (RS)] @@ -48,12 +48,8 @@ #1{\ifnum \MT@luatex@no <#1 \expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi} -\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} \def\MT@ifint#1{\csname\MT@lua{microtype.if_int([[#1]])}\endcsname} \def\MT@ifdimen#1{\csname\MT@lua{microtype.if_dimen([[#1]])}\endcsname} \def\MT@ifstreq#1#2{\csname\MT@lua{microtype.if_str_eq([[#1]],[[#2]])}\endcsname} @@ -63,15 +59,13 @@ \def\MT@ledmac@setup{% \ifMT@protrusion \MT@ifdefined@c@TF\l@dunhbox@line{% - \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 }% }{% @@ -405,10 +399,10 @@ \MT@ifdefined@c@T\MT@tr@ligatures\MT@tr@noligatures \MT@do@font{\lpcode\MT@lsfont\@tempcnta=\numexpr\MT@letterspace@/2\relax \rpcode\MT@lsfont\@tempcnta=\numexpr\MT@letterspace@/2\relax}% - \let\MT@the@pr@code\MT@the@pr@code@tr \fi \aftergroup\MT@set@lsfont \let\MT@font\MT@lsfont + \ifMT@fontspec\MT@font\fi \xdef\MT@set@curr@ls{\def\noexpand\MT@curr@ls{\MT@letterspace@}}% \aftergroup\MT@set@curr@ls \MT@outer@space=\csname MT@outer@space\expandafter\string\font@name\endcsname\relax @@ -425,8 +419,21 @@ \csname MT@outer@kern\expandafter\string\font@name\endcsname\relax \fi \xdef\MT@set@curr@ok{\MT@outer@kern=\the\MT@outer@kern\relax}% - \aftergroup\aftergroup\aftergroup\MT@ls@aftergroup + \MT@afteraftergroup{% + \MT@set@curr@os + \MT@set@curr@ok + \noexpand\MT@tr@outer@r + }% \fi + \MT@protrusionfalse + }% +} +\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}% }% } \def\MT@get@tr@opt{% @@ -470,7 +477,7 @@ \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}}% } \def\MT@get@ls@basefont{% @@ -563,13 +570,19 @@ \fi \fi } -\def\MT@tr@outer@r{% - \futurelet\MT@tr@outer@next\MT@tr@outer@r@ +\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@}} +\def\MT@tr@outer@r@{% + \futurelet\MT@tr@outer@next\MT@tr@outer@r@@ } \def\MT@if@outer@next#1{% \ifx\MT@tr@outer@next#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi } -\def\MT@tr@outer@r@{% +\def\MT@tr@outer@r@@{% \def\MT@temp*{}% \ifmmode \else \ifnum\currentgrouptype=10 \else @@ -578,14 +591,14 @@ \expandafter\ifcat\expandafter\noexpand\csname MT@tr@outer@next\endcsname\egroup \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 \MT@if@outer@next\maybe@ic{% \MT@set@curr@ok \MT@set@curr@os \def\MT@temp*{\afterassignment\MT@tr@outer@icr\let\MT@temp=}% }{% \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 @@ -598,18 +611,28 @@ \MT@if@outer@next\ \relax{% \MT@if@outer@next\space\relax{% \MT@if@outer@next\@xobeysp\relax{% - \def\MT@temp*{\ifdim\MT@outer@kern=\z@\else\MT@ls@outer@k - \fi}% - \MT@let@nc{MT@tr@outer@next}\relax - }}}}}}}\fi + \MT@if@outer@next\xspace{% + \def\MT@temp*\xspace{\futurelet\@let@token\MT@xspace}% + }{% + \def\MT@temp*{\ifdim\MT@outer@kern=\z@\else\MT@ls@outer@k + \fi}% + \MT@let@nc{MT@tr@outer@next}\relax + }}}}}}}}\fi \fi\fi \MT@temp*% } -\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@ } +\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 +} }{ \DeclareRobustCommand\lsstyle{% \MT@error{Letterspacing only works with \MT@engine tex version @@ -640,7 +663,20 @@ * \fontdimen6\MT@lsfont/2000\relax \edef\MT@temp{\MT@temp{\the\@tempdima}}% } -\def\MT@ls@outer@k{\ifhmode\kern\MT@outer@kern\relax\fi} +\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 +} \def\MT@noligatures{% \MT@dotrue \let\@tempa\MT@nl@setname @@ -678,8 +714,8 @@ \ifnum\MT@char > \m@ne \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 diff --git a/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def b/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def index be537a1ff4b..2729281d6cb 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def +++ b/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def @@ -30,7 +30,7 @@ %% \ProvidesFile {microtype-pdftex.def} - [2013/03/13 v2.5 + [2013/05/23 v2.5a Definitions specific to pdftex (RS)] @@ -142,15 +142,13 @@ \def\MT@ledmac@setup{% \ifMT@protrusion \MT@ifdefined@c@TF\l@dunhbox@line{% - \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 }% }{% @@ -684,10 +682,22 @@ \csname MT@outer@kern\expandafter\string\font@name\endcsname\relax \fi \xdef\MT@set@curr@ok{\MT@outer@kern=\the\MT@outer@kern\relax}% - \aftergroup\aftergroup\aftergroup\MT@ls@aftergroup + \MT@afteraftergroup{% + \MT@set@curr@os + \MT@set@curr@ok + \noexpand\MT@tr@outer@r + }% \fi }% } +\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}% + }% +} \def\MT@get@tr@opt{% \MT@set@listname \MT@ifdefined@n@T{MT@tr@c@\MT@tr@c@name}{% @@ -729,7 +739,7 @@ \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}}% } \def\MT@get@ls@basefont{% @@ -831,13 +841,19 @@ \fi \fi } -\def\MT@tr@outer@r{% - \futurelet\MT@tr@outer@next\MT@tr@outer@r@ +\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@}} +\def\MT@tr@outer@r@{% + \futurelet\MT@tr@outer@next\MT@tr@outer@r@@ } \def\MT@if@outer@next#1{% \ifx\MT@tr@outer@next#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi } -\def\MT@tr@outer@r@{% +\def\MT@tr@outer@r@@{% \def\MT@temp*{}% \ifmmode \else \ifnum\currentgrouptype=10 \else @@ -846,14 +862,14 @@ \expandafter\ifcat\expandafter\noexpand\csname MT@tr@outer@next\endcsname\egroup \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 \MT@if@outer@next\maybe@ic{% \MT@set@curr@ok \MT@set@curr@os \def\MT@temp*{\afterassignment\MT@tr@outer@icr\let\MT@temp=}% }{% \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 @@ -866,18 +882,28 @@ \MT@if@outer@next\ \relax{% \MT@if@outer@next\space\relax{% \MT@if@outer@next\@xobeysp\relax{% - \def\MT@temp*{\ifdim\MT@outer@kern=\z@\else\MT@ls@outer@k - \fi}% - \MT@let@nc{MT@tr@outer@next}\relax - }}}}}}}\fi + \MT@if@outer@next\xspace{% + \def\MT@temp*\xspace{\futurelet\@let@token\MT@xspace}% + }{% + \def\MT@temp*{\ifdim\MT@outer@kern=\z@\else\MT@ls@outer@k + \fi}% + \MT@let@nc{MT@tr@outer@next}\relax + }}}}}}}}\fi \fi\fi \MT@temp*% } -\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@ } +\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 +} }{ \DeclareRobustCommand\lsstyle{% \MT@error{Letterspacing only works with \MT@engine tex version @@ -908,7 +934,20 @@ * \fontdimen6\MT@lsfont/2000\relax \edef\MT@temp{\MT@temp{\the\@tempdima}}% } -\def\MT@ls@outer@k{\ifhmode\kern\MT@outer@kern\relax\fi} +\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 +} \MT@requires@pdftex5{ \def\MT@noligatures{% \MT@dotrue diff --git a/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def b/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def index 581695e43d5..86a169114dd 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def +++ b/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def @@ -30,7 +30,7 @@ %% \ProvidesFile {microtype-xetex.def} - [2013/03/13 v2.5 + [2013/05/23 v2.5a Definitions specific to xetex (RS)] @@ -85,15 +85,13 @@ \def\MT@ledmac@setup{% \ifMT@protrusion \MT@ifdefined@c@TF\l@dunhbox@line{% - \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 }% }{% diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.cfg b/Master/texmf-dist/tex/latex/microtype/microtype.cfg index f1d91115c63..bf5ea4ede82 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype.cfg +++ b/Master/texmf-dist/tex/latex/microtype/microtype.cfg @@ -40,7 +40,7 @@ %% \ProvidesFile {microtype.cfg} - [2013/03/13 v2.5 + [2013/05/23 v2.5a microtype main configuration file (RS)] @@ -767,40 +767,6 @@ } \SetExtraSpacing - [ name = T2A, - load = default ] - { encoding = T2A, - family = cmr } - { - \cyrg = { ,-300,300}, - \cyrb = { ,-200,200}, - \cyrk = { ,-200,200}, - \cyrs = { ,-100,100}, - \cyrr = { ,-100,100}, - \cyrh = { ,-100,100}, - \cyru = { ,-100,100}, - \cyrt = { , 50, -50}, - \cyrp = { , 50, -50}, - \cyri = { , 50, -50}, - \cyrishrt = { , 50, -50}, - } - -\SetExtraSpacing - [ name = nonfrench-cmr, - load = default, - context = nonfrench ] - { encoding = {OT1,T1,LY1,OT4,QX,T5}, - family = cmr } - { - . = {333,2000,-667}, - ? = {333,2000,-667}, - ! = {333,2000,-667}, - : = {333,1000,-500}, - ; = { , 500,-333}, - {,}= { , 250,-200} - } - -\SetExtraSpacing [ name = nonfrench-default, load = default, context = nonfrench ] diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.lua b/Master/texmf-dist/tex/latex/microtype/microtype.lua index 8f800c38598..2da38c7d643 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype.lua +++ b/Master/texmf-dist/tex/latex/microtype/microtype.lua @@ -29,63 +29,82 @@ -- It was contributed by Elie Roux <elie.roux{at}telecom-bretagne.eu>. -- ------------------------------------------------------------------------ -- -if microtype then - -- we simply don't load -else - -microtype = {} +microtype = microtype or {} +local 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 -function microtype.if_int(s) - if string.find(s,"^-*[0-9]+ *$") then - tex.write("@firstoftwo") +local find = string.find +local tex_write = tex.write + +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 -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 -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 -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 -end -- -- -- End of file `microtype.lua'. diff --git a/Master/texmf-dist/tex/latex/microtype/microtype.sty b/Master/texmf-dist/tex/latex/microtype/microtype.sty index 5c925868330..8f3a382b467 100644 --- a/Master/texmf-dist/tex/latex/microtype/microtype.sty +++ b/Master/texmf-dist/tex/latex/microtype/microtype.sty @@ -29,7 +29,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage {microtype} - [2013/03/13 v2.5 + [2013/05/23 v2.5a Micro-typographical refinements (RS)] \def\MT@MT @@ -449,6 +449,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 \let\MT@setupfont@hook\@empty @@ -762,12 +763,6 @@ time will almost certainly lead to undesired results. Have your choice!}% \inputencoding{\@nameuse{\@tempa}}% } \newif\ifMT@nonselected -\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}}} \DeclareRobustCommand\textls{% \@ifstar{\let\MT@ls@adjust@\MT@ls@adjust@empty\MT@textls}% {\let\MT@ls@adjust@\MT@ls@adjust@relax\MT@textls}% @@ -923,9 +918,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}% \MT@ifdefined@n@T{MT@\@tempb @\@tempa}{% \MT@next@listname@#4% diff --git a/Master/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg b/Master/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg index c8388555dfb..8111bb4a8f8 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg @@ -1,36 +1,41 @@ %% -%% This is file `mt-CharisSIL.cfg'. +%% This is file `mt-CharisSIL.cfg', +%% generated with the docstrip utility. %% -%% ------------------------------------------------------------------------ +%% The original source files were: %% +%% microtype-utf.dtx (with options: `CharisSIL') +%% +%% ------------------------------------------------------------------------ +%% %% 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. -%% +%% %% ------------------------------------------------------------------------ %% This is a font-specific configuration file for the `microtype' package. %% It may contain settings for font expansion and character protrusion, %% tracking, interword spacing and additional kerning, as well as %% character inheritance declarations. %% Please consult the documentation for details. -%% +%% %% If you think you have found improvements to these settings, please %% let me know. -%% +%% %% When modifying this file, also change the identification line below. -%% ------------------------------------------------------------------------ +%% ------------------------------------------------------------------------ %% \ProvidesFile {mt-CharisSIL.cfg}[2013/03/13 v1.0 microtype config. file: Charis SIL (RS)] @@ -38,7 +43,7 @@ %%% ----------------------------------------------------------------------- %%% INHERITANCE -% for xetex (EU1) and luatex (EU2) +%% for xetex (EU1) and luatex (EU2) \DeclareCharacterInheritance { encoding = {EU1,EU2}, family = Charis SIL } @@ -161,7 +166,7 @@ П = {Π}, % Greek } -% missing: tipa, math, symbols, ... + % missing: tipa, math, symbols, ... %%% ----------------------------------------------------------------------- %%% PROTRUSION @@ -235,7 +240,7 @@ « = {200,200}, » = {150,300}, ¡ = {100, }, ¿ = {100, }, ( = {200, }, ) = { ,200}, - < = {200,150}, > = {100,200}, + < = {200,150}, > = {100,200}, [ = {100, }, ] = { ,100}, /braceleft = {200, }, /braceright = { ,300}, † = { 80, 80}, @@ -395,7 +400,7 @@ ‹ = {300,400}, › = {200,500}, « = {200,300}, » = {150,400}, ( = {200, }, ) = { ,200}, - < = {200,200}, > = {200,200}, + < = {200,200}, > = {200,200}, /braceleft = {300, }, /braceright = { ,200}, % Cyrillic Ж = {50,30}, @@ -450,7 +455,7 @@ family = Charis SIL, shape = {sc} } { -% ᴀ = {100,100}, % etc., doesn't work with \textsc + % ᴀ = {100,100}, % etc., doesn't work with \textsc /a.SC = {100,100}, /c.SC = {50, }, /d.SC = { ,50}, diff --git a/Master/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg b/Master/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg index 8f142d8f849..4c1927acaa6 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg @@ -1,36 +1,41 @@ %% -%% This is file `mt-LatinModernRoman.cfg'. +%% This is file `mt-LatinModernRoman.cfg', +%% generated with the docstrip utility. %% -%% ------------------------------------------------------------------------ +%% The original source files were: %% +%% microtype-utf.dtx (with options: `LatinModernRoman') +%% +%% ------------------------------------------------------------------------ +%% %% 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. -%% +%% %% ------------------------------------------------------------------------ %% This is a font-specific configuration file for the `microtype' package. %% It may contain settings for font expansion and character protrusion, %% tracking, interword spacing and additional kerning, as well as %% character inheritance declarations. %% Please consult the documentation for details. -%% +%% %% If you think you have found improvements to these settings, please %% let me know. -%% +%% %% When modifying this file, also change the identification line below. -%% ------------------------------------------------------------------------ +%% ------------------------------------------------------------------------ %% \ProvidesFile {mt-LatinModernRoman.cfg}[2013/03/13 v1.0 microtype config. file: Latin Modern Roman (RS)] @@ -38,7 +43,7 @@ %%% ----------------------------------------------------------------------- %%% INHERITANCE -% for xetex (EU1) and luatex (EU2) +%% for xetex (EU1) and luatex (EU2) \DeclareCharacterInheritance { encoding = {EU1,EU2}, family = Latin Modern Roman } @@ -160,7 +165,7 @@ « = {300,200}, » = {100,400}, ¡ = {100, }, ¿ = {100, }, ( = {300, }, ) = { ,300}, - < = {200,100}, > = {100,200}, + < = {200,100}, > = {100,200}, /braceleft = {400,200}, /braceright = {200,400}, /angleleft = {400, }, /angleright = { ,400}, † = {100,100}, @@ -193,13 +198,10 @@ Δ = {100,100}, % /Delta Θ = { 50, 50}, % /Theta Λ = {100,100}, % /Lambda -% Ξ = {,}, % /Xi -% Π = {,}, % /Pi Σ = { 50, 50}, % /Sigma Υ = {100,100}, % /Upsilon Φ = { 50, 50}, % /Phi Ψ = { 50, 50}, % /Psi -% Ω = {,}, % /Omega } \SetProtrusion diff --git a/Master/texmf-dist/tex/latex/microtype/mt-PalatinoLinotype.cfg b/Master/texmf-dist/tex/latex/microtype/mt-PalatinoLinotype.cfg index e92feeaa8cf..cadb4a0a4d1 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-PalatinoLinotype.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-PalatinoLinotype.cfg @@ -1,25 +1,58 @@ -%% mt-PalatinoLinotype.cfg: -%% Microtype configuration file for -%% Hermann Zapf’s Palatino font and -%% close substitutes %% -%% Copyright © 2012 Loren B. Davis. ALL RIGHTS RESERVED. This is a derived -%% work and a modified component of R. Schlicht’s microtype package. The na- -%% ture of the changes to the mt-ppl.cfg component is: supporting character -%% protrusion for Unicode versions of Palatino and similar fonts. +%% This is file `mt-PalatinoLinotype.cfg', +%% generated with the docstrip utility. %% +%% The original source files were: +%% +%% microtype-utf.dtx (with options: `PalatinoLinotype') +%% +%% ------------------------------------------------------------------------ +%% +%% 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. +%% +%% ------------------------------------------------------------------------ +%% This is a font-specific configuration file for the `microtype' package. +%% It may contain settings for font expansion and character protrusion, +%% tracking, interword spacing and additional kerning, as well as +%% character inheritance declarations. +%% Please consult the documentation for details. +%% +%% If you think you have found improvements to these settings, please +%% let me know. +%% +%% When modifying this file, also change the identification line below. +%% ------------------------------------------------------------------------ +%% +%% These settings have been prepared by, and are copied with the +%% generous permission of: +%% Loren B. Davis. (c) 2012 +%% +%% ------------------------------------------------------------------------ +%% Palatino is a registered trademark of Linotype GmbH. +%% Used without permission. +%% ------------------------------------------------------------------------ %% -%% Palatino is a registered trademark of Linotype GmbH. Used without permis- -%% sion. - \ProvidesFile - {mt-PalatinoLinotype.cfg}[2012/03/10 v1.0 microtype config. file: Palatino Linotype and similar fonts (LBD)] + {mt-PalatinoLinotype.cfg}[2012/03/10 v1.0 microtype config. file: Palatino Linotype and similar fonts (LBD)] +%%% ----------------------------------------------------------------------- +%%% INHERITANCE + +%% for xetex (EU1) and luatex (EU2) \DeclareCharacterInheritance { encoding = {EU1,EU2}, family = {PalatinoLinotype} } @@ -75,6 +108,9 @@ z = {ź,ż,ž,ẑ,ẓ,ẕ}, } +%%% ----------------------------------------------------------------------- +%%% PROTRUSION + \SetProtrusion [ name = palatino-default ] { encoding = {EU1,EU2}, @@ -168,7 +204,6 @@ ‐ = {400,500}, ‑ = {400,500}, ‒ = {200,300}, – = {205,305}, — = {200,300}, ― = {50,150}, • = {125,200}, -% /a.sc = {50,50}, } \SetProtrusion @@ -178,7 +213,7 @@ shape = {it,sl} } { A = {50,50}, - Æ = {50, }, + Æ = {50, }, B = {50, }, C = {50, }, D = {50,50}, @@ -189,7 +224,7 @@ K = {50, }, L = {50, }, O = {50, }, - Œ = {50, }, + Œ = {50, }, P = {50, }, Q = {50, }, R = {50, }, @@ -271,7 +306,7 @@ shape = sc } { a = {50,50}, - æ = {50, }, + æ = {50, }, b = { 0, 0}, d = { 0, 0}, f = { 0, 0}, @@ -291,3 +326,5 @@ } \endinput +%% +%% End of file `mt-PalatinoLinotype.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg b/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg index 7cd6391674a..7df10b52389 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg @@ -308,6 +308,7 @@ \textdiv = {150,200} } + \endinput %% %% End of file `mt-bch.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg b/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg index ec675c344cb..1db4079a31d 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg @@ -177,6 +177,7 @@ \textdiv = {100,100} } + \endinput %% %% End of file `mt-blg.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg b/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg index d1560da8983..a6e2d5bd6ec 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg @@ -38,7 +38,7 @@ %% ------------------------------------------------------------------------ %% \ProvidesFile - {mt-cmr.cfg}[2011/04/09 v2.1 microtype config. file: Computer Modern Roman (RS)] + {mt-cmr.cfg}[2013/05/19 v2.2 microtype config. file: Computer Modern Roman (RS)] %%% ----------------------------------------------------------------------- %%% PROTRUSION @@ -795,6 +795,43 @@ "7F = {100,100} % \spadesuit } +%%% ----------------------------------------------------------------------- +%%% INTERWORD SPACING + +\SetExtraSpacing + [ name = T2A, + load = default ] + { encoding = T2A, + family = cmr } + { + \cyrg = { ,-300,300}, + \cyrb = { ,-200,200}, + \cyrk = { ,-200,200}, + \cyrs = { ,-100,100}, + \cyrr = { ,-100,100}, + \cyrh = { ,-100,100}, + \cyru = { ,-100,100}, + \cyrt = { , 50, -50}, + \cyrp = { , 50, -50}, + \cyri = { , 50, -50}, + \cyrishrt = { , 50, -50}, + } + +\SetExtraSpacing + [ name = nonfrench-cmr, + load = default, + context = nonfrench ] + { encoding = {OT1,T1,LY1,OT4,QX,T5}, + family = cmr } + { + . = {333,2000,-667}, + ? = {333,2000,-667}, + ! = {333,2000,-667}, + : = {333,1000,-500}, + ; = { , 500,-333}, + {,}= { , 250,-200} + } + \endinput %% %% End of file `mt-cmr.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg b/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg index 563f4b94b7d..816760339c9 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg @@ -89,6 +89,7 @@ ] = { ,200} } + \endinput %% %% End of file `mt-euf.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg b/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg index c5a1ec24b1c..0e7be3b2277 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg @@ -120,6 +120,7 @@ "82 = {100,200} } + \endinput %% %% End of file `mt-eur.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg b/Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg index 8153724ece1..8bf2256adfd 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-euroitc.cfg @@ -58,6 +58,7 @@ E = {100,} } + \endinput %% %% End of file `mt-euroitc.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg b/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg index 16e6c8f5f2d..6a133c6c50c 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg @@ -169,6 +169,7 @@ "DE = {200,200} } + \endinput %% %% End of file `mt-eus.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg b/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg index f1d0f86c162..16bfe648ce7 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg @@ -145,6 +145,7 @@ "7F = { 50, 50} % \circleddash } + \endinput %% %% End of file `mt-msa.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg b/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg index d1c8b11eed3..4a3f19fc457 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg @@ -147,6 +147,7 @@ "7F = {200, } % \backepsilon } + \endinput %% %% End of file `mt-msb.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg b/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg index dd6f18e18e3..2b5e1901cc7 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg @@ -59,6 +59,7 @@ 068 = {50,-100} % \EURdig } + \endinput %% %% End of file `mt-mvs.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg b/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg index 1325e42f228..0da1afc6f33 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-pad.cfg @@ -318,6 +318,7 @@ \textdiv = {200,200} } + \endinput %% %% End of file `mt-pad.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg b/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg index eaa6fbbd3c4..603f65a6e35 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg @@ -610,6 +610,7 @@ \textdiv = {150,200} } + \endinput %% %% End of file `mt-pmn.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg b/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg index ba214018f7f..c9e705db381 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg @@ -223,6 +223,7 @@ \textdegree = {300,300}, } + \endinput %% %% End of file `mt-ppl.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg b/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg index 51da99cbcf9..18480aa61b1 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg @@ -369,6 +369,7 @@ \textperthousand = { ,50} } + \endinput %% %% End of file `mt-ptm.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg b/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg index 7fc0bd74f0f..07b6c18d449 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg @@ -252,6 +252,7 @@ \textsurd = { ,100} } + \endinput %% %% End of file `mt-ugm.cfg'. diff --git a/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg b/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg index 3570dae991e..bf8c8dc943d 100644 --- a/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg +++ b/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg @@ -81,6 +81,7 @@ E = {200, } } + \endinput %% %% End of file `mt-zpeu.cfg'. |