[latex3-commits] [git/LaTeX3-latex3-latex2e] textcomp: in the middle of sorting font sub-encodings (32cad647)

Frank Mittelbach frank.mittelbach at latex-project.org
Sun Nov 10 09:13:17 CET 2019


Repository : https://github.com/latex3/latex2e
On branch  : textcomp
Link       : https://github.com/latex3/latex2e/commit/32cad6477ed1441b0a46246b53be0602e15b2807

>---------------------------------------------------------------

commit 32cad6477ed1441b0a46246b53be0602e15b2807
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Sun Nov 10 09:13:17 2019 +0100

    in the middle of sorting font sub-encodings


>---------------------------------------------------------------

32cad6477ed1441b0a46246b53be0602e15b2807
 base/textcomp-adds.tex | 641 +++++++++++++++++++++++++++++++------------------
 1 file changed, 402 insertions(+), 239 deletions(-)

diff --git a/base/textcomp-adds.tex b/base/textcomp-adds.tex
index 1dbef105..56bf3236 100644
--- a/base/textcomp-adds.tex
+++ b/base/textcomp-adds.tex
@@ -10,21 +10,20 @@
 \def\textcompsubstdefault{cmr}
 \input{ts1cmr.fd}
 
-% in pdftex pick up capital accents from TS1 
+% in pdftex pick up capital accents from TS1 if available 
+
+%\DeclareTextAccent{\capitalacute}{TS1}{1}
+%\DeclareTextAccent{\capitalbreve}{TS1}{8}
+%\DeclareTextAccent{\capitalcaron}{TS1}{7}
+%\DeclareTextAccent{\capitalcircumflex}{TS1}{2}
+%\DeclareTextAccent{\capitaldieresis}{TS1}{4}
+%\DeclareTextAccent{\capitaldotaccent}{TS1}{10}
+%\DeclareTextAccent{\capitalgrave}{TS1}{0}
+%\DeclareTextAccent{\capitalhungarumlaut}{TS1}{5}
+%\DeclareTextAccent{\capitalmacron}{TS1}{9}
+%\DeclareTextAccent{\capitalring}{TS1}{6}
+%\DeclareTextAccent{\capitaltilde}{TS1}{3}
 
-\DeclareTextAccentDefault{\capitalcedilla}{TS1}
-\DeclareTextAccentDefault{\capitalogonek}{TS1}
-\DeclareTextAccentDefault{\capitalgrave}{TS1}
-\DeclareTextAccentDefault{\capitalacute}{TS1}
-\DeclareTextAccentDefault{\capitalcircumflex}{TS1}
-\DeclareTextAccentDefault{\capitaltilde}{TS1}
-\DeclareTextAccentDefault{\capitaldieresis}{TS1}
-\DeclareTextAccentDefault{\capitalhungarumlaut}{TS1}
-\DeclareTextAccentDefault{\capitalring}{TS1}
-\DeclareTextAccentDefault{\capitalcaron}{TS1}
-\DeclareTextAccentDefault{\capitalbreve}{TS1}
-\DeclareTextAccentDefault{\capitalmacron}{TS1}
-\DeclareTextAccentDefault{\capitaldotaccent}{TS1}
 
 % use textcomp \oldstylenums if in pdftex
 
@@ -91,9 +90,9 @@
         \csname #2:\f at family\endcsname
       \fi
    \relax
-   \expandafter\@firstoftwo
+   \expandafter\@firstoftwo    % use TS1 definition
   \else
-   \expandafter\@secondoftwo
+   \expandafter\@secondoftwo   % use substitute
  \fi
   {#1{#2}}{#3}%
   #5%
@@ -149,226 +148,272 @@
 %  \DeclareTextCommand{#1}{T1}{\UseTextSymbol{#2}#1}%
 %}
 
+
+% \subsection{Sub-encodings}
+%
+% 0 is full the TS1 encoding
+
+
 \DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
 \DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
-\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
-\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
-\DeclareTextSymbolDefault{\texttwelveudash}{TS1}
-\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1}
-\DeclareTextSymbolDefault{\textdollar}{TS1}
-\UndeclareTextCommand{\textdollar}  {OT1}            % don't use the OT1 def any longer
 
-\DeclareTextSymbolDefault{\textquotesingle}{TS1}
-\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
-%\tc at compatibility@fetch{\textasteriskcentered}{OMS}
 
+\DeclareTextSymbolDefault{\textbardbl}{TS1}
 
-\DeclareTextSymbolDefault{\textfractionsolidus}{TS1}
-\DeclareTextSymbolDefault{\textminus}{TS1}
-\DeclareTextSymbolDefault{\textlbrackdbl}{TS1}
-\DeclareTextSymbolDefault{\textrbrackdbl}{TS1}
-\DeclareTextSymbolDefault{\textasciigrave}{TS1}
-\DeclareTextSymbolDefault{\texttildelow}{TS1}
-\DeclareTextSymbolDefault{\textasciibreve}{TS1}
-\DeclareTextSymbolDefault{\textasciicaron}{TS1}
-\DeclareTextSymbolDefault{\textgravedbl}{TS1}
-\DeclareTextSymbolDefault{\textacutedbl}{TS1}
 
-\DeclareTextSymbolDefault{\textdagger}{TS1}
-%\tc at compatibility@fetch{\textdagger}{OMS}
+%------------------ sub-enc 1 (drop things that don't work in lmr)
 
 
-\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
-%\tc at compatibility@fetch{\textdaggerdbl}{OMS}
+% 1 is TS1 without \cs{textcircled}, \cs{t} (why?)
 
-\DeclareTextSymbolDefault{\textbardbl}{TS1}
-\DeclareTextSymbolDefault{\textperthousand}{TS1}
-\UndeclareTextCommand{\textperthousand}{T1}       % don't use the T1 def
 
-\DeclareTextSymbolDefault{\textbullet}{TS1} 
-%\tc at compatibility@fetch{\textbullet}{OMS}
+\DeclareTextCommandDefault{\textcircled}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OMS}}1\textcircled}
+\DeclareTextCommandDefault{\t}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OML}}1\t}
+
+
+%------------------ sub-enc 2 (majority of new OTF fonts via autoinst)
+
+\DeclareTextCommandDefault{\capitalacute}       {\tc at check@accent2\capitalacute}
+\DeclareTextCommandDefault{\capitalbreve}       {\tc at check@accent2\capitalbreve}
+\DeclareTextCommandDefault{\capitalcaron}       {\tc at check@accent2\capitalcaron}
+\DeclareTextCommandDefault{\capitalcircumflex}  {\tc at check@accent2\capitalcircumflex}
+\DeclareTextCommandDefault{\capitaldieresis}    {\tc at check@accent2\capitaldieresis}
+\DeclareTextCommandDefault{\capitaldotaccent}   {\tc at check@accent2\capitaldotaccent}
+\DeclareTextCommandDefault{\capitalgrave}       {\tc at check@accent2\capitalgrave}
+\DeclareTextCommandDefault{\capitalmacron}      {\tc at check@accent2\capitalmacron}
+\DeclareTextCommandDefault{\capitalring}        {\tc at check@accent2\capitalring}
+\DeclareTextCommandDefault{\capitaltilde}       {\tc at check@accent2\capitaltilde}
+\DeclareTextCommandDefault{\capitalnewtie}      {\tc at check@accent2\capitalnewtie}
+\DeclareTextCommandDefault{\capitaltie}         {\tc at check@accent2\capitaltie}
+\DeclareTextCommandDefault{\capitalhungarumlaut}{\tc at check@accent2\capitalhungarumlaut}
+\DeclareTextCommandDefault{\newtie}             {\tc at check@accent2\newtie}
+
+% next two exists in some fonts (faked?), but we ignore that to get linear subsets
+
+\DeclareTextCommandDefault{\textlbrackdbl}      {\tc at check@symbol2\textlbrackdbl}
+\DeclareTextCommandDefault{\textrbrackdbl}      {\tc at check@symbol2\textrbrackdbl}
+
+% old style numerals are again in some fonts but using -OsF etc is the better approach
+% to get them so we claim they aren in sub-encoding 2 as that's true for most fonts
+
+\DeclareTextCommandDefault{\texteightoldstyle}  {\tc at check@symbol2\texteightoldstyle}
+\DeclareTextCommandDefault{\textfiveoldstyle}   {\tc at check@symbol2\textfiveoldstyle}
+\DeclareTextCommandDefault{\textfouroldstyle}   {\tc at check@symbol2\textfouroldstyle}
+\DeclareTextCommandDefault{\textnineoldstyle}   {\tc at check@symbol2\textnineoldstyle}
+\DeclareTextCommandDefault{\textoneoldstyle}    {\tc at check@symbol2\textoneoldstyle}
+\DeclareTextCommandDefault{\textsevenoldstyle}  {\tc at check@symbol2\textsevenoldstyle}
+\DeclareTextCommandDefault{\textsixoldstyle}    {\tc at check@symbol2\textsixoldstyle}
+\DeclareTextCommandDefault{\textthreeoldstyle}  {\tc at check@symbol2\textthreeoldstyle}
+\DeclareTextCommandDefault{\texttwooldstyle}    {\tc at check@symbol2\texttwooldstyle}
+\DeclareTextCommandDefault{\textzerooldstyle}   {\tc at check@symbol2\textzerooldstyle}
 
-\DeclareTextSymbolDefault{\textcelsius}{TS1}
-\DeclareTextSymbolDefault{\textflorin}{TS1}
-\DeclareTextSymbolDefault{\texttrademark}{TS1}
-\DeclareTextSymbolDefault{\textcent}{TS1}
+% those are special to TeX fonts (and for a few older PS fonts
+% supported in the virtual fonts, but not any longer in the majority
+% of fonts provided through autoinst, so we pretend there aren't
+% available in sub-encoding 2 and below.
+
+\DeclareTextCommandDefault{\textasciigrave}     {\tc at check@symbol2\textasciigrave}
+\DeclareTextCommandDefault{\texttildelow}       {\tc at check@symbol2\texttildelow}
+\DeclareTextCommandDefault{\textasciibreve}     {\tc at check@symbol2\textasciibreve}
+\DeclareTextCommandDefault{\textasciicaron}     {\tc at check@symbol2\textasciicaron}
+\DeclareTextCommandDefault{\textgravedbl}       {\tc at check@symbol2\textgravedbl}
+\DeclareTextCommandDefault{\textacutedbl}       {\tc at check@symbol2\textacutedbl}
+\DeclareTextCommandDefault{\textasciidieresis}  {\tc at check@symbol2\textasciidieresis}
+\DeclareTextCommandDefault{\textasciimacron}    {\tc at check@symbol2\textasciimacron}
+\DeclareTextCommandDefault{\textasciiacute}     {\tc at check@symbol2\textasciiacute}
+
+% none of those are arround other than in CM based fonts
+
+\DeclareTextCommandDefault{\textbaht}           {\tc at check@symbol2\textbaht}
+\DeclareTextCommandDefault{\textbigcircle}      {\tc at check@symbol2\textbigcircle}
+\DeclareTextCommandDefault{\textborn}           {\tc at check@symbol2\textborn}
+\DeclareTextCommandDefault{\textcentoldstyle}   {\tc at check@symbol2\textcentoldstyle}
+\DeclareTextCommandDefault{\textcircledP}       {\tc at check@symbol2\textcircledP}
+\DeclareTextCommandDefault{\textcopyleft}       {\tc at check@symbol2\textcopyleft}
+\DeclareTextCommandDefault{\textdblhyphenchar}  {\tc at check@symbol2\textdblhyphenchar}
+\DeclareTextCommandDefault{\textdblhyphen}      {\tc at check@symbol2\textdblhyphen}
+\DeclareTextCommandDefault{\textdied}           {\tc at check@symbol2\textdied}
+\DeclareTextCommandDefault{\textdiscount}       {\tc at check@symbol2\textdiscount}
+\DeclareTextCommandDefault{\textdivorced}       {\tc at check@symbol2\textdivorced}
+\DeclareTextCommandDefault{\textdollaroldstyle} {\tc at check@symbol2\textdollaroldstyle}
+\DeclareTextCommandDefault{\textguarani}        {\tc at check@symbol2\textguarani}
+\DeclareTextCommandDefault{\textleaf}           {\tc at check@symbol2\textleaf}
+\DeclareTextCommandDefault{\textlquill}         {\tc at check@symbol2\textlquill}
+\DeclareTextCommandDefault{\textmarried}        {\tc at check@symbol2\textmarried}
+\DeclareTextCommandDefault{\textmho}            {\tc at check@symbol2\textmho}
+\DeclareTextCommandDefault{\textmusicalnote}    {\tc at check@symbol2\textmusicalnote}
+\DeclareTextCommandDefault{\textnaira}          {\tc at check@symbol2\textnaira}
+\DeclareTextCommandDefault{\textopenbullet}     {\tc at check@symbol2\textopenbullet}
+\DeclareTextCommandDefault{\textpeso}           {\tc at check@symbol2\textpeso}
+\DeclareTextCommandDefault{\textpilcrow}        {\tc at check@symbol2\textpilcrow}
+\DeclareTextCommandDefault{\textrecipe}         {\tc at check@symbol2\textrecipe}
+\DeclareTextCommandDefault{\textreferencemark}  {\tc at check@symbol2\textreferencemark}
+\DeclareTextCommandDefault{\textrquill}         {\tc at check@symbol2\textrquill}
+\DeclareTextCommandDefault{\textservicemark}    {\tc at check@symbol2\textservicemark}
+\DeclareTextCommandDefault{\textsurd}           {\tc at check@symbol2\textsurd}
+
+% we have a choice here: in T1 there is definition
+%  for \cs{textpertenthousand} making the symbol up from \%
+%  and \verb=\char 24= (twice) but in many fonts that char doesn't
+%  exist and the slot is reused for random ligatures. So better not
+%  use it because often it is wrong.  But pointing to TS1 is also not
+%  great as only a few fonts have it as a real symbol, so we get a
+%  substitution to CM or LM.
+
+%  Alternatively we could just state that the symbol is unavailable in
+%  those fonts. For now I substitute.
+
+
+\DeclareTextCommandDefault{\textpertenthousand} {\tc at check@symbol2\textpertenthousand}
+\UndeclareTextCommand{\textpertenthousand}{T1}
+
+%------------------ sub-enc 3 
+
+\DeclareTextCommandDefault{\textlangle}         {\tc at check@symbol3\textlangle}
+\DeclareTextCommandDefault{\textrangle}         {\tc at check@symbol3\textrangle}
+
+
+
+%------------------ sub-enc 4 
+
+
+\DeclareTextCommandDefault{\textcolonmonetary}  {\tc at check@symbol4\textcolonmonetary}
+\DeclareTextCommandDefault{\textdong}           {\tc at check@symbol4\textdong}
+\DeclareTextCommandDefault{\textdownarrow}      {\tc at check@symbol4\textdownarrow}
+\DeclareTextCommandDefault{\textleftarrow}      {\tc at check@symbol4\textleftarrow}
+\DeclareTextCommandDefault{\textlira}           {\tc at check@symbol4\textlira}
+\DeclareTextCommandDefault{\textrightarrow}     {\tc at check@symbol4\textrightarrow}
+\DeclareTextCommandDefault{\textuparrow}        {\tc at check@symbol4\textuparrow}
+\DeclareTextCommandDefault{\textwon}            {\tc at check@symbol4\textwon}
+
+
+%------------------ sub-enc 5 ()
+
+\DeclareTextCommandDefault{\textflorin}         {\tc at check@symbol5\textflorin}    
+\DeclareTextCommandDefault{\textnumero}         {\tc at check@symbol5\textnumero}
+\DeclareTextCommandDefault{\textestimated}      {\tc at check@symbol5\textestimated}
+\DeclareTextCommandDefault{\textcurrency}       {\tc at check@symbol5\textcurrency}
+
+
+
+%------------------ sub-enc 4 ()
+
+
+\DeclareTextCommandDefault{\textfractionsolidus}{\tc at check@symbol3\textfractionsolidus}
+\DeclareTextCommandDefault{\textblank}          {\tc at check@symbol4\textblank}
+\DeclareTextCommandDefault{\textinterrobangdown}{\tc at check@symbol4\textinterrobangdown}
+\DeclareTextCommandDefault{\textinterrobang}    {\tc at check@symbol4\textinterrobang}
+
+
+
+
+%------------------ sub-enc 5 (older PS fonts)
+
+\DeclareTextCommandDefault{\textohm}            {\tc at check@symbol5\textohm}
+\DeclareTextCommandDefault{\textmu}             {\tc at check@symbol5\textmu}
+
+%------------------ sub-enc 6 (conservative guess)
+
+\DeclareTextCommandDefault{\texteuro}
+   {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro6\texteuro}  %FMi fix
+
+
+\DeclareTextCommandDefault{\textminus}          {\tc at check@symbol6\textminus} % FIX
+
+
+%------------------ always available or so we hope
+
+\DeclareTextSymbolDefault{\textdollar}{TS1}
+\UndeclareTextCommand{\textdollar}  {OT1}         % don't use the OT1 def any longer
 
 \DeclareTextSymbolDefault{\textsterling}{TS1}
 \UndeclareTextCommand{\textsterling}{OT1}         % don't use the OT1 def any longer
 
+\DeclareTextSymbolDefault{\textperthousand}{TS1}
+\UndeclareTextCommand{\textperthousand}{T1}       % don't use the T1 def
 
-\DeclareTextSymbolDefault{\textyen}{TS1}
-\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
-\DeclareTextSymbolDefault{\textsection}{TS1}
-%\tc at compatibility@fetch{\textsection}{OMS}
 
-\DeclareTextSymbolDefault{\textasciidieresis}{TS1}
-\DeclareTextSymbolDefault{\textcopyright}{TS1}
-\DeclareTextSymbolDefault{\textordfeminine}{TS1}
-\DeclareTextSymbolDefault{\textlnot}{TS1}
-\DeclareTextSymbolDefault{\textregistered}{TS1}
-\DeclareTextSymbolDefault{\textasciimacron}{TS1}
-\DeclareTextSymbolDefault{\textdegree}{TS1}
-\DeclareTextSymbolDefault{\textpm}{TS1}
-\DeclareTextSymbolDefault{\texttwosuperior}{TS1}
-\DeclareTextSymbolDefault{\textthreesuperior}{TS1}
-\DeclareTextSymbolDefault{\textasciiacute}{TS1}
-\DeclareTextSymbolDefault{\textmu}{TS1}
-\DeclareTextSymbolDefault{\textparagraph}{TS1}
-%\tc at compatibility@fetch{\textparagraph}{OMS}
+% these are the std itemize and footnote symbols originally taken from OMS
 
+\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
+\DeclareTextSymbolDefault{\textbullet}{TS1} %0
+\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
+\DeclareTextSymbolDefault{\textdagger}{TS1}
+\DeclareTextSymbolDefault{\textparagraph}{TS1}
 \DeclareTextSymbolDefault{\textperiodcentered}{TS1}
+\DeclareTextSymbolDefault{\textsection}{TS1}
+
+%\tc at compatibility@fetch{\textasteriskcentered}{OMS}
+%\tc at compatibility@fetch{\textbullet}{OMS}
+%\tc at compatibility@fetch{\textdaggerdbl}{OMS}
+%\tc at compatibility@fetch{\textdagger}{OMS}
+%\tc at compatibility@fetch{\textparagraph}{OMS}
 %\tc at compatibility@fetch{\textperiodcentered}{OMS}
+%\tc at compatibility@fetch{\textsection}{OMS}
+
 
+\DeclareTextAccentDefault{\capitalcedilla}{TS1}
+\DeclareTextAccentDefault{\capitalogonek}{TS1}
+
+\DeclareTextSymbolDefault{\textbrokenbar}{TS1} %0
+\DeclareTextSymbolDefault{\textcelsius}{TS1}
+\DeclareTextSymbolDefault{\textcent}{TS1}    %0
+\DeclareTextSymbolDefault{\textcopyright}{TS1} %0
+\DeclareTextSymbolDefault{\textdegree}{TS1}
+\DeclareTextSymbolDefault{\textdiv}{TS1}
+\DeclareTextSymbolDefault{\textlnot}{TS1}
+\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textonequarter}{TS1}
 \DeclareTextSymbolDefault{\textonesuperior}{TS1}
+\DeclareTextSymbolDefault{\textordfeminine}{TS1}
 \DeclareTextSymbolDefault{\textordmasculine}{TS1}
-\DeclareTextSymbolDefault{\textonequarter}{TS1}
-\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textpm}{TS1}
+\DeclareTextSymbolDefault{\textquotesingle}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
+\DeclareTextSymbolDefault{\textregistered}{TS1}
+\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1}
 \DeclareTextSymbolDefault{\textthreequarters}{TS1}
+\DeclareTextSymbolDefault{\textthreesuperior}{TS1}
 \DeclareTextSymbolDefault{\texttimes}{TS1}
-\DeclareTextSymbolDefault{\textdiv}{TS1}
-\DeclareTextCommandDefault{\texteuro}
-   {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro5\texteuro}
-\DeclareTextCommandDefault{\textohm}{\tc at check@symbol4\textohm}
-\DeclareTextCommandDefault{\textestimated}%
-    {\tc at check@symbol3\textestimated}
-\DeclareTextCommandDefault{\textcurrency}%
-    {\tc at check@symbol3\textcurrency}
-\DeclareTextCommandDefault{\capitaltie}%
-    {\tc at check@accent2\capitaltie}
-\DeclareTextCommandDefault{\newtie}%
-    {\tc at check@accent2\newtie}
-\DeclareTextCommandDefault{\capitalnewtie}%
-    {\tc at check@accent2\capitalnewtie}
-\DeclareTextCommandDefault{\textleftarrow}%
-    {\tc at check@symbol2\textleftarrow}
-\DeclareTextCommandDefault{\textrightarrow}%
-    {\tc at check@symbol2\textrightarrow}
-\DeclareTextCommandDefault{\textblank}%
-    {\tc at check@symbol2\textblank}
-\DeclareTextCommandDefault{\textdblhyphen}%
-    {\tc at check@symbol2\textdblhyphen}
-\DeclareTextCommandDefault{\textzerooldstyle}%
-    {\tc at check@symbol2\textzerooldstyle}
-\DeclareTextCommandDefault{\textoneoldstyle}%
-    {\tc at check@symbol2\textoneoldstyle}
-\DeclareTextCommandDefault{\texttwooldstyle}%
-    {\tc at check@symbol2\texttwooldstyle}
-\DeclareTextCommandDefault{\textthreeoldstyle}%
-    {\tc at check@symbol2\textthreeoldstyle}
-\DeclareTextCommandDefault{\textfouroldstyle}%
-    {\tc at check@symbol2\textfouroldstyle}
-\DeclareTextCommandDefault{\textfiveoldstyle}%
-    {\tc at check@symbol2\textfiveoldstyle}
-\DeclareTextCommandDefault{\textsixoldstyle}%
-    {\tc at check@symbol2\textsixoldstyle}
-\DeclareTextCommandDefault{\textsevenoldstyle}%
-    {\tc at check@symbol2\textsevenoldstyle}
-\DeclareTextCommandDefault{\texteightoldstyle}%
-    {\tc at check@symbol2\texteightoldstyle}
-\DeclareTextCommandDefault{\textnineoldstyle}%
-    {\tc at check@symbol2\textnineoldstyle}
-\DeclareTextCommandDefault{\textlangle}%
-    {\tc at check@symbol2\textlangle}
-\DeclareTextCommandDefault{\textrangle}%
-    {\tc at check@symbol2\textrangle}
-\DeclareTextCommandDefault{\textmho}%
-    {\tc at check@symbol2\textmho}
-\DeclareTextCommandDefault{\textbigcircle}%
-    {\tc at check@symbol2\textbigcircle}
-\DeclareTextCommandDefault{\textuparrow}%
-    {\tc at check@symbol2\textuparrow}
-\DeclareTextCommandDefault{\textdownarrow}%
-    {\tc at check@symbol2\textdownarrow}
-\DeclareTextCommandDefault{\textborn}%
-    {\tc at check@symbol2\textborn}
-\DeclareTextCommandDefault{\textdivorced}%
-    {\tc at check@symbol2\textdivorced}
-\DeclareTextCommandDefault{\textdied}%
-    {\tc at check@symbol2\textdied}
-\DeclareTextCommandDefault{\textleaf}%
-    {\tc at check@symbol2\textleaf}
-\DeclareTextCommandDefault{\textmarried}%
-    {\tc at check@symbol2\textmarried}
-\DeclareTextCommandDefault{\textmusicalnote}%
-    {\tc at check@symbol2\textmusicalnote}
-\DeclareTextCommandDefault{\textdblhyphenchar}%
-    {\tc at check@symbol2\textdblhyphenchar}
-\DeclareTextCommandDefault{\textdollaroldstyle}%
-    {\tc at check@symbol2\textdollaroldstyle}
-\DeclareTextCommandDefault{\textcentoldstyle}%
-    {\tc at check@symbol2\textcentoldstyle}
-\DeclareTextCommandDefault{\textcolonmonetary}%
-    {\tc at check@symbol2\textcolonmonetary}
-\DeclareTextCommandDefault{\textwon}%
-    {\tc at check@symbol2\textwon}
-\DeclareTextCommandDefault{\textnaira}%
-    {\tc at check@symbol2\textnaira}
-\DeclareTextCommandDefault{\textguarani}%  ₲
-    {\tc at check@symbol2\textguarani}
-\DeclareTextCommandDefault{\textpeso}%
-    {\tc at check@symbol2\textpeso}
-\DeclareTextCommandDefault{\textlira}%
-    {\tc at check@symbol2\textlira}
-\DeclareTextCommandDefault{\textrecipe}%
-    {\tc at check@symbol2\textrecipe}
-\DeclareTextCommandDefault{\textinterrobang}%
-    {\tc at check@symbol2\textinterrobang}
-\DeclareTextCommandDefault{\textinterrobangdown}%
-    {\tc at check@symbol2\textinterrobangdown}
-\DeclareTextCommandDefault{\textdong}%
-    {\tc at check@symbol2\textdong}
-\DeclareTextCommandDefault{\textpertenthousand}%
-    {\tc at check@symbol2\textpertenthousand}
-\DeclareTextCommandDefault{\textpilcrow}%
-    {\tc at check@symbol2\textpilcrow}
-\DeclareTextCommandDefault{\textbaht}%
-    {\tc at check@symbol2\textbaht}
-\DeclareTextCommandDefault{\textnumero}%
-    {\tc at check@symbol2\textnumero}
-\DeclareTextCommandDefault{\textdiscount}%
-    {\tc at check@symbol2\textdiscount}
-\DeclareTextCommandDefault{\textopenbullet}%
-    {\tc at check@symbol2\textopenbullet}
-\DeclareTextCommandDefault{\textservicemark}%
-    {\tc at check@symbol2\textservicemark}
-\DeclareTextCommandDefault{\textlquill}%
-    {\tc at check@symbol2\textlquill}
-\DeclareTextCommandDefault{\textrquill}%
-    {\tc at check@symbol2\textrquill}
-\DeclareTextCommandDefault{\textcopyleft}%
-    {\tc at check@symbol2\textcopyleft}
-\DeclareTextCommandDefault{\textcircledP}%
-    {\tc at check@symbol2\textcircledP}
-\DeclareTextCommandDefault{\textreferencemark}%
-    {\tc at check@symbol2\textreferencemark}
-\DeclareTextCommandDefault{\textsurd}%
-    {\tc at check@symbol2\textsurd}
-\DeclareTextCommandDefault{\textcircled}
-  {\CheckEncodingSubset\UseTextAccent{TS1}%
-    {\UseTextAccent{OMS}}1\textcircled}
-\DeclareTextCommandDefault{\t}
-  {\CheckEncodingSubset\UseTextAccent{TS1}%
-    {\UseTextAccent{OML}}1\t}
+\DeclareTextSymbolDefault{\texttrademark}{TS1}
+\DeclareTextSymbolDefault{\texttwelveudash}{TS1}
+\DeclareTextSymbolDefault{\texttwosuperior}{TS1}
+\DeclareTextSymbolDefault{\textyen}{TS1}
+
+
+
+%------------------ END of defaults (some get overwritten for Unicode engines)
+
 
     
 
+
+% \subsection{Dealing with Unicode engines}
+
+
+
+
+\ifx \Umathcode\@undefined  \else
+
+
 % take these from TS1 still (so probably from LMR)
 
-\DeclareTextSymbol{\textcopyleft}{TS1}{171}
-\DeclareTextSymbol{\textdblhyphen}{TS1}{45}
-\DeclareTextSymbol{\textdblhyphenchar}{TS1}{127}
-\DeclareTextSymbol{\textquotestraightbase}{TS1}{13}
-\DeclareTextSymbol{\textquotestraightdblbase}{TS1}{18}
-\DeclareTextSymbol{\textleaf}{TS1}{108}
-\DeclareTextSymbol{\texttwelveudash}{TS1}{21}
-\DeclareTextSymbol{\textthreequartersemdash}{TS1}{22}
+%\DeclareTextSymbol{\textcopyleft}{TS1}{171}
+%\DeclareTextSymbol{\textdblhyphen}{TS1}{45}
+%\DeclareTextSymbol{\textdblhyphenchar}{TS1}{127}
+%\DeclareTextSymbol{\textquotestraightbase}{TS1}{13}
+%\DeclareTextSymbol{\textquotestraightdblbase}{TS1}{18}
+%\DeclareTextSymbol{\textleaf}{TS1}{108}
+%\DeclareTextSymbol{\texttwelveudash}{TS1}{21}
+%\DeclareTextSymbol{\textthreequartersemdash}{TS1}{22}
+
 
 
-\ifx\Umathcode\@undefined
-\else
 
- % not always set up at this point while not fully integrated
+% not always set up at this point while not fully integrated
 \providecommand\UnicodeEncodingName{TU}
 
 \def\add at unicode@accent#1#2{%
@@ -410,8 +455,6 @@
     \DeclareUnicodeAccent{\textcircled}    \UnicodeEncodingName{"20DD}
   \fi
 
-\fi
-
 % we could make them point to dollar and cent glyphs in TU
 
 %\DeclareTextSymbol{\textcentoldstyle}            \UnicodeEncodingName{"00A2}
@@ -419,14 +462,20 @@
 
 
 % but I think it is better to pick them up from TS1 even if that usually means LMR fonts
+
 \DeclareTextSymbol{\textdollaroldstyle}{TS1}{138}
 \DeclareTextSymbol{\textcentoldstyle}  {TS1}{139}
 
 
+\fi  % --- END of Unicode engines
+
+
+% \subsection{Font sub-encodings setup
+
 % we declare the subsets of a good number of fonts in the kernel ...
 
 % the default:
-\DeclareEncodingSubset{TS1}{?}{4}
+\DeclareEncodingSubset{TS1}{?}{4}  %FMI not sure 0/1  instead?
 
 \DeclareEncodingSubset{TS1}{cmr}     {0}
 \DeclareEncodingSubset{TS1}{cmss}    {0}
@@ -435,23 +484,6 @@
 \DeclareEncodingSubset{TS1}{cmbr}    {0}
 \DeclareEncodingSubset{TS1}{cmtl}    {0}
 \DeclareEncodingSubset{TS1}{ccr}     {0}
-\DeclareEncodingSubset{TS1}{ptm}     {4}
-\DeclareEncodingSubset{TS1}{pcr}     {4}
-\DeclareEncodingSubset{TS1}{phv}     {4}
-\DeclareEncodingSubset{TS1}{ppl}     {3}
-\DeclareEncodingSubset{TS1}{pag}     {4}
-\DeclareEncodingSubset{TS1}{pbk}     {4}
-\DeclareEncodingSubset{TS1}{pnc}     {4}
-\DeclareEncodingSubset{TS1}{pzc}     {4}
-\DeclareEncodingSubset{TS1}{bch}     {4}
-\DeclareEncodingSubset{TS1}{put}     {5}
-\DeclareEncodingSubset{TS1}{uag}     {5}
-\DeclareEncodingSubset{TS1}{ugq}     {5}
-\DeclareEncodingSubset{TS1}{ul8}     {4}
-\DeclareEncodingSubset{TS1}{ul9}     {4}  % (LuxiSans, one day)
-\DeclareEncodingSubset{TS1}{augie}   {5}
-\DeclareEncodingSubset{TS1}{dayrom}  {3}
-\DeclareEncodingSubset{TS1}{dayroms} {3}
 \DeclareEncodingSubset{TS1}{pxr}     {0}
 \DeclareEncodingSubset{TS1}{pxss}    {0}
 \DeclareEncodingSubset{TS1}{pxtt}    {0}
@@ -473,22 +505,153 @@
 \DeclareEncodingSubset{TS1}{qtm}     {0}
 \DeclareEncodingSubset{TS1}{qzc}     {0}
 \DeclareEncodingSubset{TS1}{qhvc}    {0}
-\DeclareEncodingSubset{TS1}{futs}    {4}
-\DeclareEncodingSubset{TS1}{futx}    {4}
-\DeclareEncodingSubset{TS1}{futj}    {4}
-\DeclareEncodingSubset{TS1}{hlh}     {3}
-\DeclareEncodingSubset{TS1}{hls}     {3}
-\DeclareEncodingSubset{TS1}{hlst}    {3}
-\DeclareEncodingSubset{TS1}{hlct}    {5}
-\DeclareEncodingSubset{TS1}{hlx}     {5}
-\DeclareEncodingSubset{TS1}{hlce}    {5}
-\DeclareEncodingSubset{TS1}{hlcn}    {5}
-\DeclareEncodingSubset{TS1}{hlcw}    {5}
-\DeclareEncodingSubset{TS1}{hlcf}    {5}
-\DeclareEncodingSubset{TS1}{pplx}    {3}
-\DeclareEncodingSubset{TS1}{pplj}    {3}
-\DeclareEncodingSubset{TS1}{ptmx}    {4}
-\DeclareEncodingSubset{TS1}{ptmj}    {4}
+
+\DeclareEncodingSubset{TS1}{ppl}     {8}
+\DeclareEncodingSubset{TS1}{dayrom}  {8}
+\DeclareEncodingSubset{TS1}{dayroms} {8}
+\DeclareEncodingSubset{TS1}{hlh}     {8}
+\DeclareEncodingSubset{TS1}{hls}     {8}
+\DeclareEncodingSubset{TS1}{hlst}    {8}
+\DeclareEncodingSubset{TS1}{pplx}    {8}
+\DeclareEncodingSubset{TS1}{pplj}    {8}
+
+\DeclareEncodingSubset{TS1}{ptmx}    {9}
+\DeclareEncodingSubset{TS1}{ptmj}    {9}
+\DeclareEncodingSubset{TS1}{ptm}     {9}
+\DeclareEncodingSubset{TS1}{pcr}     {9}
+\DeclareEncodingSubset{TS1}{phv}     {9}
+\DeclareEncodingSubset{TS1}{pag}     {9}
+\DeclareEncodingSubset{TS1}{ul8}     {9}
+\DeclareEncodingSubset{TS1}{futs}    {9}
+\DeclareEncodingSubset{TS1}{futx}    {9}
+\DeclareEncodingSubset{TS1}{futj}    {9}
+\DeclareEncodingSubset{TS1}{ul9}     {9}  % (LuxiSans, one day)
+\DeclareEncodingSubset{TS1}{pbk}     {9}
+\DeclareEncodingSubset{TS1}{pnc}     {9}
+\DeclareEncodingSubset{TS1}{pzc}     {9}
+\DeclareEncodingSubset{TS1}{bch}     {9}
+
+\DeclareEncodingSubset{TS1}{put}     {10}
+\DeclareEncodingSubset{TS1}{uag}     {10}
+\DeclareEncodingSubset{TS1}{ugq}     {10}
+\DeclareEncodingSubset{TS1}{augie}   {10}
+\DeclareEncodingSubset{TS1}{hlct}    {10}
+\DeclareEncodingSubset{TS1}{hlx}     {10}
+\DeclareEncodingSubset{TS1}{hlce}    {10}
+\DeclareEncodingSubset{TS1}{hlcn}    {10}
+\DeclareEncodingSubset{TS1}{hlcw}    {10}
+\DeclareEncodingSubset{TS1}{hlcf}    {10}
+
+
+
+%? \DeclareEncodingSubset{TS1}{fbb-LF}  % centoldstyle
+\DeclareEncodingSubset{TS1}{lato-LF}     {0}
+\DeclareEncodingSubset{TS1}{opensans-LF} {0}
+\DeclareEncodingSubset{TS1}{tli}         {0}
+\DeclareEncodingSubset{TS1}{cantarell-LF}{0}
+
+
+\DeclareEncodingSubset{TS1}{Alegreya-LF}              {2}
+\DeclareEncodingSubset{TS1}{AlegreyaSans-LF}          {2}
+\DeclareEncodingSubset{TS1}{Cinzel-LF}                {2}
+\DeclareEncodingSubset{TS1}{CinzelDecorative-LF}      {2}
+\DeclareEncodingSubset{TS1}{CormorantGaramond-LF}     {2}
+\DeclareEncodingSubset{TS1}{DejaVuSans-TLF}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansCondensed-TLF}  {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansMono-TLF}       {2}
+\DeclareEncodingSubset{TS1}{EBGaramond-LF}            {2}
+\DeclareEncodingSubset{TS1}{Heuristica-TLF}           {2}
+\DeclareEncodingSubset{TS1}{IMFELLEnglish-TLF}        {2}
+\DeclareEncodingSubset{TS1}{LibreBaskerville-TLF}     {2}
+\DeclareEncodingSubset{TS1}{LibreCaslon-LF}           {2}
+\DeclareEncodingSubset{TS1}{Marcellus-LF}             {2}
+\DeclareEncodingSubset{TS1}{NotoSans-LF}              {2}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TLF}         {2}
+\DeclareEncodingSubset{TS1}{NotoSerif-LF}             {2}
+\DeclareEncodingSubset{TS1}{Quattrocento-TLF}         {2}
+\DeclareEncodingSubset{TS1}{QuattrocentoSans-TLF}     {2}
+\DeclareEncodingSubset{TS1}{Tempora-TLF}              {2}
+\DeclareEncodingSubset{TS1}{XCharter-TLF}             {2}
+
+
+\DeclareEncodingSubset{TS1}{FiraSans-LF}              {3}
+\DeclareEncodingSubset{TS1}{FiraSans-TLF}             {3}
+\DeclareEncodingSubset{TS1}{Arimo-TLF}                {3}
+\DeclareEncodingSubset{TS1}{Carlito-LF}               {3}
+\DeclareEncodingSubset{TS1}{IBMPlexSans-TLF}          {3}
+\DeclareEncodingSubset{TS1}{Montserrat-LF}            {3}
+\DeclareEncodingSubset{TS1}{MontserratAlternates-LF}  {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TLF}        {3}
+\DeclareEncodingSubset{TS1}{SourceSansPro-LF}         {3}
+\DeclareEncodingSubset{TS1}{SourceSerifPro-LF}        {3}
+\DeclareEncodingSubset{TS1}{Tinos-TLF}                {3}
+
+\DeclareEncodingSubset{TS1}{AccanthisADFStdNoThree-LF}{4}
+\DeclareEncodingSubset{TS1}{Cabin-TLF}                {4}
+\DeclareEncodingSubset{TS1}{Caladea-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Chivo-LF}                 {4}
+\DeclareEncodingSubset{TS1}{ClearSans-TLF}            {4}
+\DeclareEncodingSubset{TS1}{Coelacanth-LF}            {4}
+\DeclareEncodingSubset{TS1}{CrimsonPro-LF}            {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TLF}             {4}
+\DeclareEncodingSubset{TS1}{Go-TLF}                   {4}
+\DeclareEncodingSubset{TS1}{GoMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{InriaSans-LF}             {4}
+\DeclareEncodingSubset{TS1}{InriaSerif-LF}            {4}
+\DeclareEncodingSubset{TS1}{LibertinusSans-LF}        {4}
+\DeclareEncodingSubset{TS1}{LibertinusSerif-LF}       {4}
+\DeclareEncodingSubset{TS1}{LibreBodoni-TLF}          {4}
+\DeclareEncodingSubset{TS1}{LibreFranklin-TLF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-LF}        {4}
+\DeclareEncodingSubset{TS1}{LinuxBiolinumT-LF}        {4}
+\DeclareEncodingSubset{TS1}{LinuxLibertineT-LF}       {4}
+\DeclareEncodingSubset{TS1}{MintSpirit-LF}            {4}
+\DeclareEncodingSubset{TS1}{MintSpiritNoTwo-LF}       {4}
+\DeclareEncodingSubset{TS1}{PTMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSans-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSansCaption-TLF}        {4}
+\DeclareEncodingSubset{TS1}{PTSansNarrow-TLF}         {4}
+\DeclareEncodingSubset{TS1}{PTSerif-TLF}              {4}
+\DeclareEncodingSubset{TS1}{PTSerifCaption-TLF}       {4}
+\DeclareEncodingSubset{TS1}{Raleway-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Roboto-LF}                {4}
+\DeclareEncodingSubset{TS1}{RobotoMono-TLF}           {4}
+\DeclareEncodingSubset{TS1}{RobotoSlab-TLF}           {4}
+\DeclareEncodingSubset{TS1}{Rosario-LF}               {4}
+\DeclareEncodingSubset{TS1}{SticksTooText-LF}         {4}
+\DeclareEncodingSubset{TS1}{UniversalisADFStd-LF}     {4}
+
+
+\DeclareEncodingSubset{TS1}{Baskervaldx-LF}           {5}
+\DeclareEncodingSubset{TS1}{BaskervilleF-LF}          {5}
+\DeclareEncodingSubset{TS1}{Bitter-TLF}               {5}
+\DeclareEncodingSubset{TS1}{Crimson-TLF}              {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerif-TLF}          {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerifCondensed-TLF} {5}
+\DeclareEncodingSubset{TS1}{GilliusADF-LF}            {5}
+\DeclareEncodingSubset{TS1}{GilliusADFCond-LF}        {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwo-LF}       {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwoCond-LF}   {5}
+\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF}          {5}
+\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF}         {5}
+\DeclareEncodingSubset{TS1}{LibertinusMono-TLF}       {5}
+\DeclareEncodingSubset{TS1}{LibertinusSerifDisplay-LF}{5}
+\DeclareEncodingSubset{TS1}{LinuxLibertineDisplayT-LF}{5}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-LF}   {5}
+\DeclareEncodingSubset{TS1}{OldStandard-TLF}          {5}
+\DeclareEncodingSubset{TS1}{Overlock-LF}              {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TLF}      {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TLF}          {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TLF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TLF}       {5}
+
+
+
+% Fix those
+\DeclareEncodingSubset{TS1}{erewhon-LF}               {5} 
+\DeclareEncodingSubset{TS1}{AlgolRevived-TLF}         {7}
+\DeclareEncodingSubset{TS1}{Cochineal-LF}             {8}
+
 
 
 % for item labels provide:





More information about the latex3-commits mailing list