diff options
Diffstat (limited to 'macros/latex/contrib/microtype/microtype-utf.dtx')
-rw-r--r-- | macros/latex/contrib/microtype/microtype-utf.dtx | 116 |
1 files changed, 93 insertions, 23 deletions
diff --git a/macros/latex/contrib/microtype/microtype-utf.dtx b/macros/latex/contrib/microtype/microtype-utf.dtx index 7bc673f3de..19fd79c25c 100644 --- a/macros/latex/contrib/microtype/microtype-utf.dtx +++ b/macros/latex/contrib/microtype/microtype-utf.dtx @@ -1,11 +1,11 @@ %\iffalse meta-comment % !Mode:: "TeX:DTX:UK" % !smartQuote:: "English" -% !DTXversion:: "2.8" +% !DTXversion:: "2.8a" % ------------------------------------------------------------------------ % The `microtype' package % Subliminal refinements towards typographical perfection -% Copyright (c) 2004--2020 R Schlicht <w.m.l@gmx.net> +% Copyright (c) 2004--2021 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 @@ -26,11 +26,13 @@ % \ProvidesFile %<*driver> - {\jobname.dtx}[2020/12/07 v2.8] + {\jobname.dtx}[2021/02/22 v2.8a] %</driver> %<CharisSIL> {mt-CharisSIL.cfg}[2017/07/07 v1.1 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)] +%<LatinModernRoman> {mt-LatinModernRoman.cfg}[2021/02/21 v1.1 microtype config. file: Latin Modern Roman (RS)] +%<Palatino> {mt-Palatino.cfg}[2012/03/10 v1.0 microtype config. file: Palatino and similar fonts (LBD)] +%<Lato> {mt-Lato.cfg}[2021/02/22 v1.0 microtype config. file: Lato (RS)] +%<FontAwesome> {mt-FontAwesome.cfg}[2021/02/22 v1.0 microtype config. file: Font Awesome (RS)] %<*driver> \documentclass[10pt,a4paper]{ltxdoc} \usepackage{fontspec} @@ -44,7 +46,10 @@ \def\setmacrofont#1{\par\def\macro@font{#1}\footnotesize} \newfontface\LMR{Latin Modern Roman} \newfontface\CharisSIL{Charis SIL} - \newfontface\PalatinoLinotype{TeX Gyre Pagella} + \newfontface\Palatino{TeX Gyre Pagella} +% \newfontface\Palatino[RawFeature={fallback=charisfallback}]{TeX Gyre Pagella} +% \directlua{luaotfload.add_fallback("charisfallback",{"CharisSIL:color=F70A12;mode=harf;"})} + \newfontface\Lato{Lato} \usepackage{luacode} \tracinglostchars2 % we replace any missing characters (in Palatino) with CharisSIL @@ -114,6 +119,11 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi %\StopEventually{} % % ^^A ------------------------------------------------------------------------- +%\GeneralChanges* +%\changes{v2.8a}{2021/02/22}{rename \file{mt-PalatinoLinotype.cfg} to \file{mt-Palatino.cfg} +% (requested by \contributor Karl Berry <karl\at freefriends.org>)} +% ^^A private mail, 2021/02/22 +% %\GeneralChanges{Documentation} %\changes{v2.5a}{2013/05/15}{include OpenType configuration files} %\changes{v2.6}{2015/12/07}{missing characters printed with Charis <SIL>} @@ -134,9 +144,9 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi % Latin Modern Roman} % \item {\CharisSIL % Charis <SIL>}\footnote{Available at \url{http://software.sil.org/charis}.} -% \item {\PalatinoLinotype -% Palatino Linotype}\footnote{These settings have been contributed by -% \contributor Loren B. Davis <davislo\at eecs.oregonstate.edu>.} +% \item {\Palatino +% Palatino}\footnote{These settings have been contributed by +% \contributor Loren B. Davis <davislo\at eecs.oregonstate.edu>.} %\end{itemize} % %\noindent @@ -162,6 +172,7 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi { encoding = {EU1,EU2,TU}, family = Latin Modern Roman } % \end{macrocode} +%\changes{v2.8a}{2021/02/21}{specify `ff' ligature as Unicode instead of glyph name} %{\setmacrofont\LMR % \begin{macrocode} { A = {À,Á,Â,Ã,Ä,Å,Ā,Ă,Ą,Ǻ,Ȁ,Ạ,Ả,Ấ,Ầ,Ẩ,Ẫ,Ậ,Ắ,Ằ,Ẳ,Ặ, @@ -203,7 +214,7 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi c = {ç,ć,ĉ,ċ,č}, d = {đ,ḍ,ḏ}, e = {è,é,ê,ë,ē,ĕ,ė,ę,ě,ȅ,ẹ,ẻ,ẽ,ế,ề,ể,ễ,ệ}, - f = {/f_f}, + f = {ff}, % Unicode 64256, glyph name in Latin Modern: /f_f ; in New Computer Modern: /ff g = {ĝ,ğ,ġ,ģ,ǧ,ǵ}, h = {ĥ,ħ,ḥ,ḧ,ḫ}, i = {ì,í,î,ï,ĩ,ī,ĭ,į,ı,ȉ,ỉ,ị}, @@ -355,17 +366,17 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi %} % \begin{macrocode} %</CharisSIL> -%<*PalatinoLinotype> +%<*Palatino> \DeclareCharacterInheritance { encoding = {EU1,EU2,TU}, - family = {PalatinoLinotype} } + family = {Palatino} } % \end{macrocode} % Unfortunately, I don't have a Palatino variant containing all of the following % glyphs. The settings are typeset in \TeX\ Gyre Pagella; % missing glyphs, printed in red, are taken from Charis <SIL>; % glyphs missing even in Charis <SIL> appear as `\char"FFFD@'. -% To see the real settings, consult \file{mt-PalatinoLinotype.cfg}. -%{\setmacrofont\PalatinoLinotype +% To see the real settings, consult \file{mt-Palatino.cfg}. +%{\setmacrofont\Palatino % \begin{macrocode} { A = {À,Á,Â,Ã,Ä,Ā,Ă,Ą,Ǎ,Ǟ,Ǡ,Ȧ,Ǻ,Ȁ,Ȃ,Ḁ,Ạ,Ả,Ấ,Ầ,Ẩ,Ẫ,Ậ,Ắ,Ằ,Ẳ,Ẵ,Ặ,Ꜳ}, B = {Ḃ,Ḅ,Ḇ}, @@ -421,7 +432,58 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi % \end{macrocode} %} % \begin{macrocode} -%</PalatinoLinotype> +%</Palatino> +% \end{macrocode} +% Less characters in the Lato font \dots +%\changes{v2.8a}{2021/02/21}{settings for the Lato font +% (reported by \contributor dsedivec <@\at @>)} +% ^^A https://tex.stackexchange.com/questions/380812/microtype-warning-unknown-slot-number-of-character-with-lato-font +% \begin{macrocode} +%<*Lato> +\DeclareCharacterInheritance + { encoding = {TU,EU1,EU2}, + family = {Lato} } +% \end{macrocode} +%{\setmacrofont\Lato +% \begin{macrocode} + { A = {À,Á,Â,Ã,Ä,Å,Ą}, + a = {à,á,â,ã,ä,å,ą}, + C = {Ć,Ç}, + c = {ć,ç}, + D = {Ð}, + E = {È,É,Ê,Ë,Ę}, + e = {è,é,ê,ë,ę}, + I = {Ì,Í,Î,Ï}, + i = {ì,í,î,ï,ı}, + L = {Ł}, + l = {ł}, + N = {Ń,Ñ}, + n = {ń,ñ}, + O = {Ø,Ò,Ó,Ô,Õ,Ö}, + o = {ø,ò,ó,ô,õ,ö}, + S = {Ś,Š}, % \SS + s = {ś,š}, + U = {Ù,Ú,Û,Ü}, + u = {ù,ú,û,ü}, + Y = {Ý,Ÿ}, + y = {ý,ÿ}, + Z = {Ź,Ż,Ž}, + z = {ź,ż,ž} + } +% \end{macrocode} +%} +% \begin{macrocode} +%</Lato> +% \end{macrocode} +% \dots\ and even less in the self-professed awesone Font Awesome font. +%\changes{v2.8a}{2021/02/21}{dummy settings for the Font Awesome font} +% \begin{macrocode} +%<*FontAwesome> +\DeclareCharacterInheritance + { encoding = {TU,EU1,EU2}, + family = {FontAwesome} } + { } +%</FontAwesome> % \end{macrocode} % %\subsection{Character protrusion} @@ -1056,14 +1118,14 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi % \begin{macrocode} } %</CharisSIL> -%<*PalatinoLinotype> +%<*Palatino> \SetProtrusion [ name = palatino-default ] { encoding = {EU1,EU2,TU}, - family = {PalatinoLinotype} } + family = {Palatino} } { % \end{macrocode} -%{\setmacrofont\PalatinoLinotype +%{\setmacrofont\Palatino % \begin{macrocode} A = {50,50}, D = { ,50}, @@ -1162,11 +1224,11 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi \SetProtrusion [ name = palatino-it ] { encoding = {EU1,EU2,TU}, - family = {PalatinoLinotype}, + family = {Palatino}, shape = {it,sl} } { % \end{macrocode} -%{\setmacrofont\PalatinoLinotype +%{\setmacrofont\Palatino % \begin{macrocode} A = {50,50}, Æ = {50, }, @@ -1261,11 +1323,11 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi [ name = palatino-sc, load = palatino-default ] { encoding = {EU1,EU2,TU}, - family = {PalatinoLinotype}, + family = {Palatino}, shape = sc } { % \end{macrocode} -%{\setmacrofont\PalatinoLinotype +%{\setmacrofont\Palatino % \begin{macrocode} a = {50,50}, æ = {50, }, @@ -1289,7 +1351,15 @@ luatexbase.add_to_callback("pre_linebreak_filter", nodeprocessor, "replace missi %} % \begin{macrocode} } -%</PalatinoLinotype> +%</Palatino> +%<Lato> %% No settings yet. +%<*FontAwesome> +\SetProtrusion + [ name = empty ] + { encoding = {TU,EU1,EU2}, + family = {FontAwesome} } + { } +%</FontAwesome> % \end{macrocode} %\immediate\write \utftmp{\string\setcounter{CodelineNo}{\the\c@CodelineNo}} |