[latex3-commits] [latex2e-public] r1283 - initial pass at tuenc support, will require further changes

noreply at latex-project.org noreply at latex-project.org
Sun Dec 4 13:11:02 CET 2016


Author: carlisle
Date: 2016-12-04 13:11:02 +0100 (Sun, 04 Dec 2016)
New Revision: 1283

Added:
   trunk/base/tuenc.def
   trunk/base/tufontrange-T1.def
   trunk/base/tufontrange-TS1.def
   trunk/base/tulmr.fd
   trunk/base/tulmss.fd
   trunk/base/tulmtt.fd
Modified:
   trunk/base/build.lua
   trunk/base/changes.txt
   trunk/base/fontdef.dtx
   trunk/base/ltluatex.dtx
Log:
initial pass at tuenc support, will require further changes

Modified: trunk/base/build.lua
===================================================================
--- trunk/base/build.lua	2016-12-03 20:44:21 UTC (rev 1282)
+++ trunk/base/build.lua	2016-12-04 12:11:02 UTC (rev 1283)
@@ -42,7 +42,9 @@
     "sample2e.tex",
     "small2e.tex",
     "source2e.tex",
-    "testpage.tex"
+    "testpage.tex",
+    "tu*.def",
+    "tu*.fd"
   }
 typesetfiles   =
   {
@@ -86,7 +88,8 @@
     "load-unicode-xetex-classes.tex",
     "MathClass.txt",
     "UnicodeData.txt",
-    "UShyphen.tex"
+    "UShyphen.tex",
+    "ot1lmr.fd"
   }
 
 -- Custom settings for the check system

Modified: trunk/base/changes.txt
===================================================================
--- trunk/base/changes.txt	2016-12-03 20:44:21 UTC (rev 1282)
+++ trunk/base/changes.txt	2016-12-04 12:11:02 UTC (rev 1283)
@@ -4,6 +4,10 @@
 are not part of the distribution.
 =======================================================================
 
+2016-12-03  David Carlisle  <latex-bugs at latex-project.org>
+
+	* ltluatex.dtx, fontdef.dtx: Add support for defaulting to TU encoding
+
 2016-11-18  David Carlisle  <latex-bugs at latex-project.org>
 
 	* ltvers.dtx: 2017/01/01

Modified: trunk/base/fontdef.dtx
===================================================================
--- trunk/base/fontdef.dtx	2016-12-03 20:44:21 UTC (rev 1282)
+++ trunk/base/fontdef.dtx	2016-12-04 12:11:02 UTC (rev 1283)
@@ -39,7 +39,7 @@
 %<driver, >\ProvidesFile{fontdef.drv}
 % \fi
 %          \ProvidesFile{fontdef.dtx}
-           [2014/09/29 v2.3a LaTeX Kernel
+           [2016/12/03 v3.0a LaTeX Kernel
 % \iftrue  (\else
 %<text,   >(Text
 %<math,   >(Math
@@ -134,7 +134,8 @@
 %   |U|        &   unknown encoding \\
 %   |OML|      &   old \TeX{} math letters encoding \\
 %   |OMS|      &   old \TeX{} math symbols encoding \\
-%   |OMX|      &   old \TeX{} math extension symbols encoding
+%   |OMX|      &   old \TeX{} math extension symbols encoding\\
+%   |TU|      &   Unicode
 % \end{tabular}
 % \end{center}
 % Notice that some of these encodings are `old' in the sense that we
@@ -245,12 +246,17 @@
 % \changes{v2.2e}{1994/10/31}{... and moved further down}
 % \changes{v2.2f}{1994/11/07}{(DPC) Updated to use \cs{ProvidesFile}}
 % \changes{v2.2h}{1994/11/16}{(DPC) Removed \cmd\{ and \cmd\}}
+% \changes{v3.0a}{2016/12/03}{(DPC) Default to TU encoding for Unicode TeX engines}
 %    \begin{macrocode}
 \input {omlenc.def}
 \input  {t1enc.def}
 \input {ot1enc.def}       % <- should come after T1 for speed
 \input {omsenc.def}
 %    \end{macrocode}
+% \changes{v3.0a}{2016/12/03}{(DPC) Default to TU encoding for Unicode TeX engines}
+%    \begin{macrocode}
+\ifx\Umathchar\@undefined
+%    \end{macrocode}
 %
 %    We then set set the default text font encoding. This will
 %    hopefully change some day to |T1|. This setting should \emph{not}
@@ -259,6 +265,30 @@
 \fontencoding{OT1}
 %    \end{macrocode}
 %
+%    \begin{macrocode}
+\else
+%    \end{macrocode}
+% Unicode.
+%    \begin{macrocode}
+\input {tuenc.def}
+\fontencoding{TU}
+\DeclareFontSubstitution{TU}{lmr}{m}{n}
+\begingroup
+\nfss at catcodes
+\input  {tulmr.fd}
+\input  {tulmss.fd}
+\input  {tulmtt.fd}
+\endgroup
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSubstitution{TU}{lmr}{m}{n}
+%    \end{macrocode}
+% End of Unicode branch.
+%    \begin{macrocode}
+\fi
+%    \end{macrocode}
+%
 %    If different encodings for text fonts are in use one could put
 %    the common setup into |\DeclareFontEncodingDefaults|. There is
 %    now a better mechanism so using this interface is discouraged!
@@ -354,19 +384,53 @@
 %    making documents non-portable.
 %
 %
+% \begin{macro}{\encodingdefault}
 % \begin{macro}{\rmdefault}
 % \begin{macro}{\sfdefault}
 % \begin{macro}{\ttdefault}
 %    The following three definitions set up the meaning for
 %    |\rmfamily|, |\sffamily|, and |\ttfamily|.
 %    \begin{macrocode}
+%</text>
+%<*text|latexrelease>
+\ifx\Umathchar\@undefined
+\newcommand\encodingdefault{OT1}
 \newcommand\rmdefault{cmr}
 \newcommand\sfdefault{cmss}
 \newcommand\ttdefault{cmtt}
+\else
+\newcommand\encodingdefault{TU}
+\newcommand\rmdefault{lmr}\fontfamily{\rmdefault}
+\newcommand\sfdefault{lmss}
+\newcommand\ttdefault{lmtt}
+\fi
+%<latexrelease>\IncludeInRelease{2017/01/01}%
+%<latexrelease>                 {\encodingdefault}{TU encoding default}%
+%<latexrelease>\ifx\Umathchar\@undefined
+%<latexrelease>\renewcommand\encodingdefault{OT1}
+%<latexrelease>\renewcommand\rmdefault{cmr}
+%<latexrelease>\renewcommand\sfdefault{cmss}
+%<latexrelease>\renewcommand\ttdefault{cmtt}
+%<latexrelease>\else
+%<latexrelease>\renewcommand\encodingdefault{TU}
+%<latexrelease>\renewcommand\rmdefault{lmr}
+%<latexrelease>\renewcommand\sfdefault{lmss}
+%<latexrelease>\renewcommand\ttdefault{lmtt}
+%<latexrelease>\fi
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\encodingdefault}{TU encoding default}%
+%<latexrelease>\renewcommand\encodingdefault{OT1}
+%<latexrelease>\renewcommand\rmdefault{cmr}
+%<latexrelease>\renewcommand\sfdefault{cmss}
+%<latexrelease>\renewcommand\ttdefault{cmtt}
+%</text|latexrelease>
+%<*text>
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % \begin{macro}{\bfdefault}
 % \begin{macro}{\mddefault}
@@ -394,7 +458,6 @@
 % \end{macro}
 % \end{macro}
 %
-% \begin{macro}{\encodingdefault}
 % \begin{macro}{\familydefault}
 % \begin{macro}{\seriesdefault}
 % \begin{macro}{\shapedefault}
@@ -403,8 +466,8 @@
 %    |\encodingdefault| should \emph{not} be changed and should match
 %    the setting above for |\fontencoding|. All other values can be
 %    set according to your taste.
+% \changes{v3.0a}{2016/12/03}{(DPC) Default to TU encoding for Unicode TeX engines}
 %    \begin{macrocode}
-\newcommand\encodingdefault{OT1}
 \newcommand\familydefault{\rmdefault}
 \newcommand\seriesdefault{\mddefault}
 \newcommand\shapedefault{\updefault}
@@ -412,7 +475,6 @@
 % \end{macro}
 % \end{macro}
 % \end{macro}
-% \end{macro}
 %
 %
 %    This finishes the low-level setup in \texttt{fonttext.ltx}.

Modified: trunk/base/ltluatex.dtx
===================================================================
--- trunk/base/ltluatex.dtx	2016-12-03 20:44:21 UTC (rev 1282)
+++ trunk/base/ltluatex.dtx	2016-12-04 12:11:02 UTC (rev 1283)
@@ -24,7 +24,7 @@
 \ProvidesFile{ltluatex.dtx}
 %</driver>
 %<*tex>
-[2016/11/17 v1.0p
+[2016/12/03 v1.0q
 %</tex>
 %<plain>  LuaTeX support for plain TeX (core)
 %<*tex>
@@ -802,7 +802,28 @@
 %<latexrelease>\EndIncludeInRelease
 %    \end{macrocode}
 %
+% In \verb|\everyjob|, if luaotfload is available, load it and switch to TU.
 %    \begin{macrocode}
+%<2ekernel>\everyjob\expandafter{%
+%<2ekernel>  \the\everyjob
+%<2ekernel>\fontencoding{%
+%<2ekernel>\directlua{
+%<2ekernel>tex.print((pcall(function ()
+%<2ekernel>           require('luaotfload-main')
+%<2ekernel>           local _void = luaotfload.main ()
+%<2ekernel>          end) and 'TU') or 'OT1')
+%<2ekernel>}}\let\encodingdefault\f at encoding}
+%<latexrelease>\IncludeInRelease{2017/01/01}%
+%<latexrelease>                 {\fontencoding}{TU in everyjob}%
+%<latexrelease>\fontencoding{TU}\let\encodingdefault\f at encoding
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\fontencoding}{TU in everyjob}%
+%<latexrelease>\fontencoding{OT1}\let\encodingdefault\f at encoding
+%<latexrelease>\EndIncludeInRelease
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 %<2ekernel|latexrelease>\fi
 %</2ekernel|tex|latexrelease>
 %    \end{macrocode}

Added: trunk/base/tuenc.def
===================================================================
--- trunk/base/tuenc.def	                        (rev 0)
+++ trunk/base/tuenc.def	2016-12-04 12:11:02 UTC (rev 1283)
@@ -0,0 +1,90 @@
+\ProvidesFile{tuenc.def}
+    [2016/01/29 v0.1 Unicode font encoding for LaTeX2e]
+
+%%%%%%
+% Please consider this encoding definition to be experimental!
+%%%%%%
+
+\providecommand\UnicodeEncodingName{TU}
+
+
+%% WRAPPERS NEEDED FOR FONT LOADING (.fd FILE COMMANDS)
+
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname XeTeXrevision\endcsname\relax\else
+  \def\UnicodeFontTeXLigatures{mapping=tex-text;}
+\fi
+
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname directlua\endcsname\relax\else
+  \def\UnicodeFontTeXLigatures{+tlig;} % "+trep;" no longer needed
+\fi
+
+\def\UnicodeFontFile#1#2{"[#1]:#2"}
+\def\UnicodeFontName#1#2{"#1:#2"}
+
+% Alternative luaotfload definitions for LuaLaTeX:
+%    \def\UnicodeFontFile#1#2{"file:#1:#2"}
+%    \def\UnicodeFontName#1#2{"name:#1:#2"}
+
+
+%% COMMANDS NEEDED TO DEFINE UNICODE COMMANDS AND ACCENTS
+
+% Accents in Unicode are postpended: 
+\def\add at unicode@accent#1#2{#2\char#1\relax}
+
+\def\DeclareUnicodeCommand#1#2{%
+  \DeclareTextCommand{#1}{\LastDeclaredEncoding}{#2}%
+}
+
+\def\DeclareUnicodeAccent#1#2{%
+  \DeclareTextCommand{#1}{\LastDeclaredEncoding}{\add at unicode@accent{#2}}%
+}
+
+\def\DeclareUnicodeSymbol#1#2{%
+  \DeclareTextSymbol{#1}{\LastDeclaredEncoding}{#2}%
+}
+
+\def\DeclareUnicodeComposite#1#2#3{%
+  \DeclareTextComposite{#1}{\LastDeclaredEncoding}{#2}{#3}%
+}
+
+\def\DeclareUnicodeCompositeCommand#1#2#3{%
+  \DeclareTextCompositeCommand{#1}{\LastDeclaredEncoding}{#2}{#3}%
+}
+
+
+%% COMMANDS FOR DEFINING NEW ENCODINGS FROM FONT RANGES
+
+\def\NewUnicodeEncoding#1{%
+  \DeclareFontEncoding{#1}{}{}
+  \DeclareErrorFont{\LastDeclaredEncoding}{lmr}{m}{n}{10}
+  \DeclareFontSubstitution{\LastDeclaredEncoding}{lmr}{m}{n}
+  \DeclareFontFamily{\LastDeclaredEncoding}{lmr}{}
+  \DeclareFontShape{\LastDeclaredEncoding}{lmr}{m}{n}
+       {<->\UnicodeFontFile{lmroman10-regular}{\UnicodeFontTeXLigatures}}{}
+  \DeclareFontShape{\LastDeclaredEncoding}{lmr}{m}{it}
+       {<->\UnicodeFontFile{lmroman10-italic}{\UnicodeFontTeXLigatures}}{}
+  \DeclareFontShape{\LastDeclaredEncoding}{lmr}{m}{sc}
+       {<->\UnicodeFontFile{lmromancaps10-regular}{\UnicodeFontTeXLigatures}}{}
+  \DeclareFontShape{\LastDeclaredEncoding}{lmr}{bx}{n}
+       {<->\UnicodeFontFile{lmroman10-bold}{\UnicodeFontTeXLigatures}}{}
+  \DeclareFontShape{\LastDeclaredEncoding}{lmr}{bx}{it}
+       {<->\UnicodeFontFile{lmroman10-bolditalic}{\UnicodeFontTeXLigatures}}{}
+}
+
+\def\DeclareUnicodeEncoding#1#2#3{%
+  \NewUnicodeEncoding{#1}%
+  \@for\@ii:=#2\do{%
+    \InputIfFileExists{tufontrange-\@ii.def}{}{%
+      \@latex at error{Unicode font range file `tufontrange-\@ii.def' not found}{\@ehd}%
+    }%
+  }%
+  #3%
+}
+
+%% THE ENCODING ITSELF
+
+\DeclareUnicodeEncoding{\UnicodeEncodingName}{T1,TS1}{}
+
+\endinput

Added: trunk/base/tufontrange-T1.def
===================================================================
--- trunk/base/tufontrange-T1.def	                        (rev 0)
+++ trunk/base/tufontrange-T1.def	2016-12-04 12:11:02 UTC (rev 1283)
@@ -0,0 +1,198 @@
+\ProvidesFile{ucfontrange-T1.def}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% T1 SYMBOLS
+
+\DeclareUnicodeAccent{\`}{"0300}
+\DeclareUnicodeAccent{\'}{"0301}
+\DeclareUnicodeAccent{\^}{"0302}
+\DeclareUnicodeAccent{\~}{"0303}
+\DeclareUnicodeAccent{\"}{"0308}
+\DeclareUnicodeAccent{\H}{"030B}
+\DeclareUnicodeAccent{\r}{"030A}
+\DeclareUnicodeAccent{\v}{"030C}
+\DeclareUnicodeAccent{\u}{"0306}
+\DeclareUnicodeAccent{\=}{"0304}
+\DeclareUnicodeAccent{\.}{"0307}
+\DeclareUnicodeAccent{\b}{"0332}
+\DeclareUnicodeAccent{\c}{"0327}
+\DeclareUnicodeAccent{\d}{"0323}
+\DeclareUnicodeAccent{\k}{"0328}
+%% \textogonekcentered %% not in unicode?
+\DeclareUnicodeSymbol{\textperthousand}{"2030}
+\DeclareUnicodeSymbol{\textpertenthousand}{"2031}
+\DeclareUnicodeSymbol{\AE}{"00C6}
+\DeclareUnicodeSymbol{\DH}{"00D0}
+\DeclareUnicodeSymbol{\DJ}{"0110}
+\DeclareUnicodeSymbol{\L} {"0141}
+\DeclareUnicodeSymbol{\NG}{"014A}
+\DeclareUnicodeSymbol{\OE}{"0152}
+\DeclareUnicodeSymbol{\O} {"00D8}
+\DeclareUnicodeSymbol{\SS}{"1E9E}
+\DeclareUnicodeSymbol{\TH}{"00DE}
+\DeclareUnicodeSymbol{\ae}{"00E6}
+\DeclareUnicodeSymbol{\dh}{"00F0}
+\DeclareUnicodeSymbol{\dj}{"0111}
+\DeclareUnicodeSymbol{\guillemotleft}{"00AB}
+\DeclareUnicodeSymbol{\guillemotright}{"00BB}
+\DeclareUnicodeSymbol{\guilsinglleft}{"2039}
+\DeclareUnicodeSymbol{\guilsinglright}{"203A}
+\DeclareUnicodeSymbol{\i} {"0131}
+\DeclareUnicodeSymbol{\j} {"0237}
+\DeclareUnicodeSymbol{\ij}{"0133}
+\DeclareUnicodeSymbol{\IJ}{"0132}
+\DeclareUnicodeSymbol{\l} {"0142}
+\DeclareUnicodeSymbol{\ng}{"014B}
+\DeclareUnicodeSymbol{\oe}{"0153}
+\DeclareUnicodeSymbol{\o} {"00F8}
+\DeclareUnicodeSymbol{\quotedblbase}{"201E}
+\DeclareUnicodeSymbol{\quotesinglbase}{"201A}
+\DeclareUnicodeSymbol{\ss}{"00DF}
+\DeclareUnicodeSymbol{\textasciicircum}{`\^}
+\DeclareUnicodeSymbol{\textasciitilde}{`\~}
+\DeclareUnicodeSymbol{\textbackslash}{`\\}
+\DeclareUnicodeSymbol{\textbar}{`\|}
+\DeclareUnicodeSymbol{\textbraceleft}{`\{}
+\DeclareUnicodeSymbol{\textbraceright}{`\}}
+\DeclareUnicodeSymbol{\textcompwordmark}{"200C}
+\DeclareUnicodeSymbol{\textdollar}{`\$}
+\DeclareUnicodeSymbol{\textemdash}{"2014}
+\DeclareUnicodeSymbol{\textendash}{"2013}
+\DeclareUnicodeSymbol{\textexclamdown}{"00A1}
+\DeclareUnicodeSymbol{\textgreater}{`\>}
+\DeclareUnicodeSymbol{\textless}{`\<}
+\DeclareUnicodeSymbol{\textquestiondown}{"00BF}
+\DeclareUnicodeSymbol{\textquotedblleft}{"201C}
+\DeclareUnicodeSymbol{\textquotedblright}{"201D}
+\DeclareUnicodeSymbol{\textquotedbl}{`\"}
+\DeclareUnicodeSymbol{\textquoteleft}{"2018}
+\DeclareUnicodeSymbol{\textquoteright}{"2019}
+\DeclareUnicodeSymbol{\textsection}{"00A7}
+\DeclareUnicodeSymbol{\textsterling}{"00A3}
+\DeclareUnicodeSymbol{\textunderscore}{`\_}
+\DeclareUnicodeSymbol{\textvisiblespace}{"2423}
+\DeclareUnicodeSymbol{\th}{"00FE}
+\DeclareUnicodeComposite{\.}{i}{`\i}
+\DeclareUnicodeComposite{\.}{\i}{`\i}
+\DeclareUnicodeComposite{\u}{A}{"0102}
+\DeclareUnicodeComposite{\k}{A}{"0104}
+\DeclareUnicodeComposite{\'}{C}{"0106}
+\DeclareUnicodeComposite{\v}{C}{"010C}
+\DeclareUnicodeComposite{\v}{D}{"010E}
+\DeclareUnicodeComposite{\v}{E}{"011A}
+\DeclareUnicodeComposite{\k}{E}{"0118}
+\DeclareUnicodeComposite{\u}{G}{"011E}
+\DeclareUnicodeComposite{\'}{L}{"0139}
+\DeclareUnicodeComposite{\v}{L}{"013D}
+\DeclareUnicodeComposite{\'}{N}{"0143}
+\DeclareUnicodeComposite{\v}{N}{"0147}
+\DeclareUnicodeComposite{\H}{O}{"0150}
+\DeclareUnicodeComposite{\'}{R}{"0154}
+\DeclareUnicodeComposite{\v}{R}{"0158}
+\DeclareUnicodeComposite{\'}{S}{"015A}
+\DeclareUnicodeComposite{\v}{S}{"0160}
+\DeclareUnicodeComposite{\c}{S}{"015F}
+\DeclareUnicodeComposite{\v}{T}{"0164}
+\DeclareUnicodeComposite{\c}{T}{"0162}
+\DeclareUnicodeComposite{\H}{U}{"0170}
+\DeclareUnicodeComposite{\r}{U}{"016E}
+\DeclareUnicodeComposite{\"}{Y}{"0178}
+\DeclareUnicodeComposite{\'}{Z}{"017A}
+\DeclareUnicodeComposite{\v}{Z}{"017D}
+\DeclareUnicodeComposite{\.}{Z}{"017B}
+\DeclareUnicodeComposite{\.}{I}{"0130}
+\DeclareUnicodeComposite{\u}{a}{"0103}
+\DeclareUnicodeComposite{\k}{a}{"0105}
+\DeclareUnicodeComposite{\'}{c}{"0107}
+\DeclareUnicodeComposite{\v}{c}{"010D}
+\DeclareUnicodeComposite{\v}{d}{"010F}
+\DeclareUnicodeComposite{\v}{e}{"011B}
+\DeclareUnicodeComposite{\k}{e}{"0119}
+\DeclareUnicodeComposite{\u}{g}{"011F}
+\DeclareUnicodeComposite{\'}{l}{"0139}
+\DeclareUnicodeComposite{\v}{l}{"013E}
+\DeclareUnicodeComposite{\'}{n}{"0144}
+\DeclareUnicodeComposite{\v}{n}{"0148}
+\DeclareUnicodeComposite{\H}{o}{"0151}
+\DeclareUnicodeComposite{\'}{r}{"0155}
+\DeclareUnicodeComposite{\v}{r}{"0159}
+\DeclareUnicodeComposite{\'}{s}{"015B}
+\DeclareUnicodeComposite{\v}{s}{"0161}
+\DeclareUnicodeComposite{\c}{s}{"015F}
+\DeclareUnicodeComposite{\v}{t}{"0165}
+\DeclareUnicodeComposite{\c}{t}{"0163}
+\DeclareUnicodeComposite{\H}{u}{"0171}
+\DeclareUnicodeComposite{\r}{u}{"016F}
+\DeclareUnicodeComposite{\"}{y}{"00FF}
+\DeclareUnicodeComposite{\'}{z}{"00FD}
+\DeclareUnicodeComposite{\v}{z}{"017E}
+\DeclareUnicodeComposite{\.}{z}{"017C}
+\DeclareUnicodeComposite{\`}{A}{"00C0}
+\DeclareUnicodeComposite{\'}{A}{"00C1}
+\DeclareUnicodeComposite{\^}{A}{"00C2}
+\DeclareUnicodeComposite{\~}{A}{"00C3}
+\DeclareUnicodeComposite{\"}{A}{"00C4}
+\DeclareUnicodeComposite{\r}{A}{"00C5}
+\DeclareUnicodeComposite{\c}{C}{"00C7}
+\DeclareUnicodeComposite{\`}{E}{"00C8}
+\DeclareUnicodeComposite{\'}{E}{"00C9}
+\DeclareUnicodeComposite{\^}{E}{"00CA}
+\DeclareUnicodeComposite{\"}{E}{"00CB}
+\DeclareUnicodeComposite{\`}{I}{"00CC}
+\DeclareUnicodeComposite{\'}{I}{"00CD}
+\DeclareUnicodeComposite{\^}{I}{"00CE}
+\DeclareUnicodeComposite{\"}{I}{"00CF}
+\DeclareUnicodeComposite{\~}{N}{"00D1}
+\DeclareUnicodeComposite{\`}{O}{"00D2}
+\DeclareUnicodeComposite{\'}{O}{"00D3}
+\DeclareUnicodeComposite{\^}{O}{"00D4}
+\DeclareUnicodeComposite{\~}{O}{"00D5}
+\DeclareUnicodeComposite{\"}{O}{"00D6}
+\DeclareUnicodeComposite{\`}{U}{"00D9}
+\DeclareUnicodeComposite{\'}{U}{"00DA}
+\DeclareUnicodeComposite{\^}{U}{"00DB}
+\DeclareUnicodeComposite{\"}{U}{"00DC}
+\DeclareUnicodeComposite{\'}{Y}{"00DD}
+\DeclareUnicodeComposite{\`}{a}{"00E0}
+\DeclareUnicodeComposite{\'}{a}{"00E1}
+\DeclareUnicodeComposite{\^}{a}{"00E2}
+\DeclareUnicodeComposite{\~}{a}{"00E3}
+\DeclareUnicodeComposite{\"}{a}{"00E4}
+\DeclareUnicodeComposite{\r}{a}{"00E5}
+\DeclareUnicodeComposite{\c}{c}{"00E7}
+\DeclareUnicodeComposite{\`}{e}{"00E8}
+\DeclareUnicodeComposite{\'}{e}{"00E9}
+\DeclareUnicodeComposite{\^}{e}{"00EA}
+\DeclareUnicodeComposite{\"}{e}{"00EB}
+\DeclareUnicodeComposite{\`}{i} {"00EC}
+\DeclareUnicodeComposite{\`}{\i}{"00EC}
+\DeclareUnicodeComposite{\'}{i} {"00ED}
+\DeclareUnicodeComposite{\'}{\i}{"00ED}
+\DeclareUnicodeComposite{\^}{i} {"00EE}
+\DeclareUnicodeComposite{\^}{\i}{"00EE}
+\DeclareUnicodeComposite{\"}{i} {"00EF}
+\DeclareUnicodeComposite{\"}{\i}{"00EF}
+\DeclareUnicodeComposite{\~}{n}{"00F1}
+\DeclareUnicodeComposite{\`}{o}{"00F2}
+\DeclareUnicodeComposite{\'}{o}{"00F3}
+\DeclareUnicodeComposite{\^}{o}{"00F4}
+\DeclareUnicodeComposite{\~}{o}{"00F5}
+\DeclareUnicodeComposite{\"}{o}{"00F6}
+\DeclareUnicodeComposite{\`}{u}{"00F9}
+\DeclareUnicodeComposite{\'}{u}{"00FA}
+\DeclareUnicodeComposite{\^}{u}{"00FB}
+\DeclareUnicodeComposite{\"}{u}{"00FC}
+\DeclareUnicodeComposite{\'}{y}{"00FD}
+\DeclareUnicodeComposite{\k}{o}{"01EB}
+\DeclareUnicodeComposite{\k}{O}{"01EA}
+
+\DeclareUnicodeComposite{\c}{G}{"0122}
+\DeclareUnicodeComposite{\c}{g}{"0123} % note this cedilla is above not below :)
+\DeclareUnicodeComposite{\c}{K}{"0136}
+\DeclareUnicodeComposite{\c}{k}{"0137}
+\DeclareUnicodeComposite{\c}{L}{"013B}
+\DeclareUnicodeComposite{\c}{l}{"013C}
+\DeclareUnicodeComposite{\c}{N}{"0145}
+\DeclareUnicodeComposite{\c}{n}{"0146}
+\DeclareUnicodeComposite{\c}{R}{"0156}
+\DeclareUnicodeComposite{\c}{r}{"0157}

Added: trunk/base/tufontrange-TS1.def
===================================================================
--- trunk/base/tufontrange-TS1.def	                        (rev 0)
+++ trunk/base/tufontrange-TS1.def	2016-12-04 12:11:02 UTC (rev 1283)
@@ -0,0 +1,134 @@
+\ProvidesFile{ucfontrange-TS1.def}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% TS1 symbols
+
+\DeclareUnicodeAccent{\capitalcedilla}{"0327}
+\DeclareUnicodeAccent{\capitalogonek}{"0328}
+\DeclareUnicodeAccent{\capitalgrave}{"0300}
+\DeclareUnicodeAccent{\capitalacute}{"0301}
+\DeclareUnicodeAccent{\capitalcircumflex}{"0302}
+\DeclareUnicodeAccent{\capitaltilde}{"0303}
+\DeclareUnicodeAccent{\capitaldieresis}{"0308}
+\DeclareUnicodeAccent{\capitalhungarumlaut}{"030B}
+\DeclareUnicodeAccent{\capitalring}{"030A}
+\DeclareUnicodeAccent{\capitalcaron}{"030C}
+\DeclareUnicodeAccent{\capitalbreve}{"0306}
+\DeclareUnicodeAccent{\capitalmacron}{"0304}
+\DeclareUnicodeAccent{\capitaldotaccent}{"0307}
+\DeclareUnicodeAccent{\t}{"0361}
+\DeclareUnicodeAccent{\capitaltie}{"0361}
+\DeclareUnicodeAccent{\newtie}{"0311}
+\DeclareUnicodeAccent{\capitalnewtie}{"0311}
+%%\DeclareUnicodeSymbol{\textcapitalcompwordmark}{23}
+%%\DeclareUnicodeSymbol{\textascendercompwordmark}{31}
+\DeclareUnicodeSymbol{\textquotestraightbase}{"201A}
+\DeclareUnicodeSymbol{\textquotestraightdblbase}{"201E}
+\DeclareUnicodeSymbol{\texttwelveudash}{"2015}
+\DeclareUnicodeSymbol{\textthreequartersemdash}{"2012}
+\DeclareUnicodeSymbol{\textleftarrow}{"2190}
+\DeclareUnicodeSymbol{\textrightarrow}{"2192}
+\DeclareUnicodeSymbol{\textblank}{"2422}
+\DeclareUnicodeSymbol{\textdollar}{`\$}
+\DeclareUnicodeSymbol{\textquotesingle}{`\'}
+\DeclareUnicodeSymbol{\textasteriskcentered}{"204E}
+%% \DeclareUnicodeSymbol{\textdblhyphen}{45}
+\DeclareUnicodeSymbol{\textfractionsolidus}{"2044}
+%%\DeclareUnicodeSymbol{\textzerooldstyle}{48}
+%%\DeclareUnicodeSymbol{\textoneoldstyle}{49}
+%%\DeclareUnicodeSymbol{\texttwooldstyle}{50}
+%%\DeclareUnicodeSymbol{\textthreeoldstyle}{51}
+%%\DeclareUnicodeSymbol{\textfouroldstyle}{52}
+%%\DeclareUnicodeSymbol{\textfiveoldstyle}{53}
+%%\DeclareUnicodeSymbol{\textsixoldstyle}{54}
+%%\DeclareUnicodeSymbol{\textsevenoldstyle}{55}
+%%\DeclareUnicodeSymbol{\texteightoldstyle}{56}
+%%\DeclareUnicodeSymbol{\textnineoldstyle}{57}
+\DeclareUnicodeSymbol{\textlangle}{"27E8}
+\DeclareUnicodeSymbol{\textminus}{"2212}
+\DeclareUnicodeSymbol{\textrangle}{"27E9}
+\DeclareUnicodeSymbol{\textmho}{"2127}
+\DeclareUnicodeSymbol{\textbigcircle}{"25EF}
+\DeclareUnicodeAccent{\textcircled}{"20DD}
+\DeclareUnicodeSymbol{\textohm}{"2126}
+\DeclareUnicodeSymbol{\textlbrackdbl}{"301A}
+\DeclareUnicodeSymbol{\textrbrackdbl}{"301B}
+\DeclareUnicodeSymbol{\textuparrow}{"2191}
+\DeclareUnicodeSymbol{\textdownarrow}{"2193}
+\DeclareUnicodeSymbol{\textasciigrave}{`\`}
+\DeclareUnicodeSymbol{\textborn}{"2605} %% actually "black star" but close enough
+\DeclareUnicodeSymbol{\textdivorced}{"26AE}
+\DeclareUnicodeSymbol{\textdied}{"2020} %% different from "dagger"??
+%% \DeclareUnicodeSymbol{\textleaf}{108}
+\DeclareUnicodeSymbol{\textmarried}{"26AD}
+\DeclareUnicodeSymbol{\textmusicalnote}{"266A}
+\DeclareUnicodeSymbol{\texttildelow}{"02F7}
+%% \DeclareUnicodeSymbol{\textdblhyphenchar}{127} %% can't obtain this without deactivating font mapping :(
+\DeclareUnicodeSymbol{\textasciibreve}{"02D8}
+\DeclareUnicodeSymbol{\textasciicaron}{"02C7}
+\DeclareUnicodeSymbol{\textacutedbl}{"02DD}
+\DeclareUnicodeSymbol{\textgravedbl}{"02F5}
+\DeclareUnicodeSymbol{\textdagger}{"2020}
+\DeclareUnicodeSymbol{\textdaggerdbl}{"2021}
+\DeclareUnicodeSymbol{\textbardbl}{"2016}
+\DeclareUnicodeSymbol{\textperthousand}{"2030}
+\DeclareUnicodeSymbol{\textbullet}{"2022}
+\DeclareUnicodeSymbol{\textcelsius}{"2103}
+%% \DeclareUnicodeSymbol{\textdollaroldstyle}{138}
+%% \DeclareUnicodeSymbol{\textcentoldstyle}{139}
+\DeclareUnicodeSymbol{\textflorin}{"0192}
+\DeclareUnicodeSymbol{\textcolonmonetary}{"20A1}
+\DeclareUnicodeSymbol{\textwon}{"20A9}
+\DeclareUnicodeSymbol{\textnaira}{"20A6}
+%% \DeclareUnicodeSymbol{\textguarani}{144}
+\DeclareUnicodeSymbol{\textpeso}{"20B1}
+\DeclareUnicodeSymbol{\textlira}{"20A4}
+\DeclareUnicodeSymbol{\textrecipe}{"211E}
+\DeclareUnicodeSymbol{\textinterrobang}{"203D}
+\DeclareUnicodeSymbol{\textinterrobangdown}{"2E18}
+\DeclareUnicodeSymbol{\textdong}{"20AB}
+\DeclareUnicodeSymbol{\texttrademark}{"2122}
+\DeclareUnicodeSymbol{\textpertenthousand}{"2031}
+\DeclareUnicodeSymbol{\textpilcrow}{"00B6}
+\DeclareUnicodeSymbol{\textbaht}{"0E3F}
+\DeclareUnicodeSymbol{\textnumero}{"2116}
+\DeclareUnicodeSymbol{\textdiscount}{"2052}
+\DeclareUnicodeSymbol{\textestimated}{"212E}
+\DeclareUnicodeSymbol{\textopenbullet}{"25E6}
+\DeclareUnicodeSymbol{\textservicemark}{"2120}
+\DeclareUnicodeSymbol{\textlquill}{"2045}
+\DeclareUnicodeSymbol{\textrquill}{"2046}
+\DeclareUnicodeSymbol{\textcent}{"00A2}
+\DeclareUnicodeSymbol{\textsterling}{"00A3}
+\DeclareUnicodeSymbol{\textcurrency}{"00A4}
+\DeclareUnicodeSymbol{\textyen}{"00A5}
+\DeclareUnicodeSymbol{\textbrokenbar}{"00A6}
+\DeclareUnicodeSymbol{\textsection}{"00A7}
+\DeclareUnicodeSymbol{\textasciidieresis}{"00A8}
+\DeclareUnicodeSymbol{\textcopyright}{"00A9}
+\DeclareUnicodeSymbol{\textordfeminine}{"00AA}
+%% \DeclareUnicodeSymbol{\textcopyleft}{171}
+\DeclareUnicodeSymbol{\textlnot}{"00AC}
+\DeclareUnicodeSymbol{\textcircledP}{"2117}
+\DeclareUnicodeSymbol{\textregistered}{"00AE}
+\DeclareUnicodeSymbol{\textasciimacron}{"00AF}
+\DeclareUnicodeSymbol{\textdegree}{"00B0}
+\DeclareUnicodeSymbol{\textpm}{"00B1}
+\DeclareUnicodeSymbol{\texttwosuperior}{"00B2}
+\DeclareUnicodeSymbol{\textthreesuperior}{"00B3}
+\DeclareUnicodeSymbol{\textasciiacute}{"00B4}
+\DeclareUnicodeSymbol{\textmu}{"00B5}
+\DeclareUnicodeSymbol{\textparagraph}{"00B6}
+\DeclareUnicodeSymbol{\textperiodcentered}{"00B7}
+\DeclareUnicodeSymbol{\textreferencemark}{"203B}
+\DeclareUnicodeSymbol{\textonesuperior}{"00B9}
+\DeclareUnicodeSymbol{\textordmasculine}{"00BA}
+\DeclareUnicodeSymbol{\textsurd}{"221A}
+\DeclareUnicodeSymbol{\textonequarter}{"00BC}
+\DeclareUnicodeSymbol{\textonehalf}{"00BD}
+\DeclareUnicodeSymbol{\textthreequarters}{"00BE}
+\DeclareUnicodeSymbol{\texteuro}{"20AC}
+\DeclareUnicodeSymbol{\texttimes}{"00D7}
+\DeclareUnicodeSymbol{\textdiv}{"00F7}
+

Added: trunk/base/tulmr.fd
===================================================================
--- trunk/base/tulmr.fd	                        (rev 0)
+++ trunk/base/tulmr.fd	2016-12-04 12:11:02 UTC (rev 1283)
@@ -0,0 +1,43 @@
+
+\ProvidesFile{tulmr.fd}[2009/10/30 v1.6 Font defs for Latin Modern]
+\DeclareFontFamily{TU}{lmr}{}
+\DeclareFontShape{TU}{lmr}{m}{n}%
+     {<-5.5>    \UnicodeFontFile{lmroman5-regular}{\UnicodeFontTeXLigatures}     <5.5-6.5> \UnicodeFontFile{lmroman6-regular}{\UnicodeFontTeXLigatures}
+      <6.5-7.5> \UnicodeFontFile{lmroman7-regular}{\UnicodeFontTeXLigatures}     <7.5-8.5> \UnicodeFontFile{lmroman8-regular}{\UnicodeFontTeXLigatures}
+      <8.5-9.5> \UnicodeFontFile{lmroman9-regular}{\UnicodeFontTeXLigatures}     <9.5-11>  \UnicodeFontFile{lmroman10-regular}{\UnicodeFontTeXLigatures}
+      <11-15>   \UnicodeFontFile{lmroman12-regular}{\UnicodeFontTeXLigatures}
+      <15-> \UnicodeFontFile{lmroman17-regular}{\UnicodeFontTeXLigatures}
+      }{}
+\DeclareFontShape{TU}{lmr}{m}{sl}%
+     {<-8.5>    \UnicodeFontFile{lmromanslant8-regular}{\UnicodeFontTeXLigatures}    <8.5-9.5> \UnicodeFontFile{lmromanslant9-regular}{\UnicodeFontTeXLigatures}
+      <9.5-11>  \UnicodeFontFile{lmromanslant10-regular}{\UnicodeFontTeXLigatures}   <11-15>   \UnicodeFontFile{lmromanslant12-regular}{\UnicodeFontTeXLigatures}
+      <15-> \UnicodeFontFile{lmromanslant17-regular}{\UnicodeFontTeXLigatures}
+      }{}
+\DeclareFontShape{TU}{lmr}{m}{it}%
+     {<-7.5>    \UnicodeFontFile{lmroman7-italic}{\UnicodeFontTeXLigatures}
+      <7.5-8.5> \UnicodeFontFile{lmroman8-italic}{\UnicodeFontTeXLigatures}    <8.5-9.5> \UnicodeFontFile{lmroman9-italic}{\UnicodeFontTeXLigatures}
+      <9.5-11>  \UnicodeFontFile{lmroman10-italic}{\UnicodeFontTeXLigatures}   <11->   \UnicodeFontFile{lmroman12-italic}{\UnicodeFontTeXLigatures}
+      }{}
+\DeclareFontShape{TU}{lmr}{m}{sc}%
+     {<-> \UnicodeFontFile{lmromancaps10-regular}{\UnicodeFontTeXLigatures}}{}
+\DeclareFontShape{TU}{lmr}{m}{ui}%
+     {<-> ec-lmu10}{}
+\DeclareFontShape{TU}{lmr}{m}{scsl}%
+     {<-> \UnicodeFontFile{lmromancaps10-oblique}{\UnicodeFontTeXLigatures}}{}
+\DeclareFontShape{TU}{lmr}{b}{n}
+     {<-> \UnicodeFontFile{lmromandemi10-regular}{\UnicodeFontTeXLigatures}}{}
+\DeclareFontShape{TU}{lmr}{b}{sl}
+     {<-> \UnicodeFontFile{lmromandemi10-oblique}{\UnicodeFontTeXLigatures}}{}
+\DeclareFontShape{TU}{lmr}{bx}{n}
+     {<-5.5>   \UnicodeFontFile{lmroman5-bold}{\UnicodeFontTeXLigatures}      <5.5-6.5> \UnicodeFontFile{lmroman6-bold}{\UnicodeFontTeXLigatures}
+      <6.5-7.5> \UnicodeFontFile{lmroman7-bold}{\UnicodeFontTeXLigatures}      <7.5-8.5> \UnicodeFontFile{lmroman8-bold}{\UnicodeFontTeXLigatures}
+      <8.5-9.5> \UnicodeFontFile{lmroman9-bold}{\UnicodeFontTeXLigatures}      <9.5-11>  \UnicodeFontFile{lmroman10-bold}{\UnicodeFontTeXLigatures}
+      <11->   \UnicodeFontFile{lmroman12-bold}{\UnicodeFontTeXLigatures}
+      }{}
+\DeclareFontShape{TU}{lmr}{bx}{it}
+     {<-> \UnicodeFontFile{lmroman10-bolditalic}{\UnicodeFontTeXLigatures}}{}
+\DeclareFontShape{TU}{lmr}{bx}{sl}
+     {<-> \UnicodeFontFile{lmromanslant10-bold}{\UnicodeFontTeXLigatures}}{}
+\DeclareFontShape{TU}{lmr}{b}{it}
+     {<->sub * lmr/b/sl}{}
+\endinput

Added: trunk/base/tulmss.fd
===================================================================
--- trunk/base/tulmss.fd	                        (rev 0)
+++ trunk/base/tulmss.fd	2016-12-04 12:11:02 UTC (rev 1283)
@@ -0,0 +1,36 @@
+
+\ProvidesFile{tulmss.fd}[2009/10/30 v1.6 Font defs for Latin Modern]
+\DeclareFontFamily{TU}{lmss}{}
+\DeclareFontShape{TU}{lmss}{m}{n}
+     {<-8.5> \UnicodeFontFile{lmsans8-regular}{\UnicodeFontTeXLigatures}
+      <8.5-9.5> \UnicodeFontFile{lmsans9-regular}{\UnicodeFontTeXLigatures}      <9.5-11>  \UnicodeFontFile{lmsans10-regular}{\UnicodeFontTeXLigatures}
+      <11-15.5> \UnicodeFontFile{lmsans12-regular}{\UnicodeFontTeXLigatures}     <15.5-> \UnicodeFontFile{lmsans17-regular}{\UnicodeFontTeXLigatures}
+      }{}
+\DeclareFontShape{TU}{lmss}{m}{it}
+      {<->ssub*lmss/m/sl}{}
+\DeclareFontShape{TU}{lmss}{m}{sl}
+     {<-8.5> \UnicodeFontFile{lmsans8-oblique}{\UnicodeFontTeXLigatures}
+      <8.5-9.5> \UnicodeFontFile{lmsans9-oblique}{\UnicodeFontTeXLigatures}      <9.5-11>  \UnicodeFontFile{lmsans10-oblique}{\UnicodeFontTeXLigatures}
+      <11-15.5> \UnicodeFontFile{lmsans12-oblique}{\UnicodeFontTeXLigatures}     <15.5-> \UnicodeFontFile{lmsans17-oblique}{\UnicodeFontTeXLigatures}
+      }{}
+\DeclareFontShape{TU}{lmss}{m}{sc}
+     {<->sub*lmr/m/sc}{}
+\DeclareFontShape{TU}{lmss}{b}{n}
+     {<->ssub * lmss/bx/n}{}
+\DeclareFontShape{TU}{lmss}{b}{sl}
+     {<->ssub * lmss/bx/sl}{}
+\DeclareFontShape{TU}{lmss}{b}{it}
+     {<->ssub * lmss/bx/it}{}
+\DeclareFontShape{TU}{lmss}{sbc}{n}
+     {<-> \UnicodeFontFile{lmsansdemicond10-regular}{\UnicodeFontTeXLigatures}}{}
+\DeclareFontShape{TU}{lmss}{sbc}{sl}
+     {<-> \UnicodeFontFile{lmsansdemicond10-oblique}{\UnicodeFontTeXLigatures}}{}
+\DeclareFontShape{TU}{lmss}{sbc}{it}
+     {<->ssub*lmss/sbc/sl}{}
+\DeclareFontShape{TU}{lmss}{bx}{n}
+     {<-> \UnicodeFontFile{lmsans10-bold}{\UnicodeFontTeXLigatures}}{}
+\DeclareFontShape{TU}{lmss}{bx}{sl}
+     {<-> \UnicodeFontFile{lmsans10-boldoblique}{\UnicodeFontTeXLigatures}}{}
+\DeclareFontShape{TU}{lmss}{bx}{it}
+     {<->ssub*lmss/bx/sl}{}
+\endinput

Added: trunk/base/tulmtt.fd
===================================================================
--- trunk/base/tulmtt.fd	                        (rev 0)
+++ trunk/base/tulmtt.fd	2016-12-04 12:11:02 UTC (rev 1283)
@@ -0,0 +1,68 @@
+
+\ProvidesFile{tulmtt.fd}[2009/10/30 v1.6 Font defs for Latin Modern]
+\DeclareFontFamily{TU}{lmtt}{\hyphenchar \font\m at ne}
+
+\ifx\lmtt at use@light at as@normal\@empty
+\DeclareFontShape{TU}{lmtt}{sb}{n}
+     {<-8.5>   \UnicodeFontFile{lmmono8-regular}{}     <8.5-9.5> \UnicodeFontFile{lmmono9-regular}{}
+      <9.5-11> \UnicodeFontFile{lmmono10-regular}{}    <11->     \UnicodeFontFile{lmmono12-regular}{}
+      }{}
+\DeclareFontShape{TU}{lmtt}{sb}{it}
+     {<-> \UnicodeFontFile{lmmono10-italic}{}}{}
+\DeclareFontShape{TU}{lmtt}{sb}{sl}
+     {<-> \UnicodeFontFile{lmmonoslant10-regular}{}}{}
+\DeclareFontShape{TU}{lmtt}{sb}{sc}
+     {<-> \UnicodeFontFile{lmmonocaps10-regular}{}}{}
+\DeclareFontShape{TU}{lmtt}{sb}{scsl}
+     {<-> \UnicodeFontFile{lmmonocaps10-oblique}{}}{}
+\DeclareFontShape{TU}{lmtt}{m}{n}
+     {<-> \UnicodeFontFile{lmmonolt10-regular}{}}{}
+\DeclareFontShape{TU}{lmtt}{m}{it}
+     {<->sub*lmtt/l/sl}{}
+\DeclareFontShape{TU}{lmtt}{m}{sl}
+     {<-> \UnicodeFontFile{lmmonolt10-oblique}{}}{}
+\DeclareFontShape{TU}{lmtt}{c}{n}
+     {<-> \UnicodeFontFile{lmmonoltcond10-regular}{}}{}
+\DeclareFontShape{TU}{lmtt}{c}{it}
+     {<->sub*lmtt/lc/sl}{}
+\DeclareFontShape{TU}{lmtt}{c}{sl}
+     {<-> \UnicodeFontFile{lmmonoltcond10-oblique}{}}{}
+\else
+\DeclareFontShape{TU}{lmtt}{m}{n}
+     {<-8.5>   \UnicodeFontFile{lmmono8-regular}{}     <8.5-9.5> \UnicodeFontFile{lmmono9-regular}{}
+      <9.5-11> \UnicodeFontFile{lmmono10-regular}{}    <11->     \UnicodeFontFile{lmmono12-regular}{}
+      }{}
+\DeclareFontShape{TU}{lmtt}{m}{it}
+     {<-> \UnicodeFontFile{lmmono10-italic}{}}{}
+\DeclareFontShape{TU}{lmtt}{m}{sl}
+     {<-> \UnicodeFontFile{lmmonoslant10-regular}{}}{}
+\DeclareFontShape{TU}{lmtt}{m}{sc}
+     {<-> \UnicodeFontFile{lmmonocaps10-regular}{}}{}
+\DeclareFontShape{TU}{lmtt}{m}{scsl}
+     {<-> \UnicodeFontFile{lmmonocaps10-oblique}{}}{}
+\DeclareFontShape{TU}{lmtt}{l}{n}
+     {<-> \UnicodeFontFile{lmmonolt10-regular}{}}{}
+\DeclareFontShape{TU}{lmtt}{l}{it}
+     {<->sub*lmtt/l/sl}{}
+\DeclareFontShape{TU}{lmtt}{l}{sl}
+     {<-> \UnicodeFontFile{lmmonolt10-oblique}{}}{}
+\DeclareFontShape{TU}{lmtt}{lc}{n}
+     {<-> \UnicodeFontFile{lmmonoltcond10-regular}{}}{}
+\DeclareFontShape{TU}{lmtt}{lc}{it}
+     {<->sub*lmtt/lc/sl}{}
+\DeclareFontShape{TU}{lmtt}{lc}{sl}
+     {<-> \UnicodeFontFile{lmmonoltcond10-oblique}{}}{}
+\fi
+\DeclareFontShape{TU}{lmtt}{b}{n}
+     {<-> \UnicodeFontFile{lmmonolt10-bold}{}}{}
+\DeclareFontShape{TU}{lmtt}{b}{it}
+     {<->sub*lmtt/b/sl}{}
+\DeclareFontShape{TU}{lmtt}{b}{sl}
+{<-> \UnicodeFontFile{lmmonolt10-boldoblique}{}}{}
+\DeclareFontShape{TU}{lmtt}{bx}{it}
+     {<->sub*lmtt/b/sl}{}
+\DeclareFontShape{TU}{lmtt}{bx}{n}
+     {<->ssub*lmtt/b/n}{}
+\DeclareFontShape{TU}{lmtt}{bx}{sl}
+     {<->ssub*lmtt/b/sl}{}
+\endinput



More information about the latex3-commits mailing list