summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/microtype/microtype-utf.dtx')
-rw-r--r--Master/texmf-dist/source/latex/microtype/microtype-utf.dtx116
1 files changed, 93 insertions, 23 deletions
diff --git a/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx b/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx
index 7bc673f3de8..19fd79c25cf 100644
--- a/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx
+++ b/Master/texmf-dist/source/latex/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}}