summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/base/ltfinal.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/base/ltfinal.dtx')
-rw-r--r--Master/texmf-dist/source/latex/base/ltfinal.dtx123
1 files changed, 108 insertions, 15 deletions
diff --git a/Master/texmf-dist/source/latex/base/ltfinal.dtx b/Master/texmf-dist/source/latex/base/ltfinal.dtx
index 13c3a748177..a237fb8560d 100644
--- a/Master/texmf-dist/source/latex/base/ltfinal.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfinal.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2015
+% Copyright 1993-2016
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2015/06/23 v2.0h LaTeX Kernel (Final Settings)]
+ [2016/01/05 v2.0p LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -55,7 +55,7 @@
%</driver>
% \fi
%
-% \CheckSum{593}
+% \CheckSum{750}
%
% \section{Final settings}
% This section contains the final settings for \LaTeX. It initialises
@@ -149,6 +149,9 @@
% \changes{v2.0a}{2014/12/30}{macro added}
% \changes{v2.0b}{2015/01/23}{use reserved count 257}
% \changes{v2.0f}{2015/04/28}{define \cs{xe@alloc@intercharclass} for compatibility with older xelatex initilisation}
+%\begin{macro}{\xe@alloc@intercharclass}
+% \changes{v2.0j}{2016/01/04}{Start allocation at one not three}
+% \changes{v2.0k}{2016/01/05}{Remove duplicated code}
% Allocate |\XeTeXintercharclass| types if xetex is active.
% previously defined in |xetex.ini|.
%
@@ -159,13 +162,11 @@
%<latexrelease> {\newXeTeXintercharclass}{Extended Allocation}%
% \end{macrocode}
%
-% Classes allocatedfrom 4 (1,2 and 3 are used by CJK), up to 254.
+% Classes allocated 1 to 254 (early 1, 2 and 3 were pre-set for CJK).
% \changes{v2.0g}{2015/06/19}{Use $-1$ for first range to get contiguous allocation}
% \begin{macrocode}
\ifx\XeTeXcharclass\@undefined
\else
-\countdef\xe@alloc@intercharclass=257
-\xe@alloc@intercharclass=\thr@@
\def\newXeTeXintercharclass{%
\e@alloc\XeTeXcharclass\chardef\xe@alloc@intercharclass\m@ne\@cclv}
\fi
@@ -178,8 +179,6 @@
%<latexrelease> {\newXeTeXintercharclass}{Extended Allocation}%
%<latexrelease> \ifx\XeTeXcharclass\@undefined
%<latexrelease> \else
-%<latexrelease> \newcount\xe@alloc@intercharclass
-%<latexrelease> \xe@alloc@intercharclass=\thr@@
%<latexrelease> \def\xe@alloc@#1#2#3#4#5{\global\advance#1\@ne
%<latexrelease> \xe@ch@ck#1#4#2%
%<latexrelease> \allocationnumber#1%
@@ -194,9 +193,36 @@
%<latexrelease> \XeTeXcharclass\chardef\@cclv}
%<latexrelease> \fi
%<latexrelease>\EndIncludeInRelease
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2016/02/01}%
+%<latexrelease> {\xe@alloc@intercharclass}{Start of XeTeX class allocator}%
+\ifx\XeTeXcharclass\@undefined
+\else
+ \countdef\xe@alloc@intercharclass=257
+ \xe@alloc@intercharclass=\z@
+\fi
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2015/01/01}%
+%<latexrelease> {\xe@alloc@intercharclass}{Start of XeTeX class allocator}%
+%<latexrelease> \ifx\XeTeXcharclass\@undefined
+%<latexrelease> \else
+%<latexrelease> \xe@alloc@intercharclass=\thr@@
+%<latexrelease> \fi
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\xe@alloc@intercharclass}{Start of XeTeX class allocator}%
+%<latexrelease> \ifx\XeTeXcharclass\@undefined
+%<latexrelease> \else
+%<latexrelease> \newcount\xe@alloc@intercharclass
+%<latexrelease> \xe@alloc@intercharclass=\thr@@
+%<latexrelease> \fi
+%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
% \end{macro}
+% \end{macro}
+%
%
%
% The default values of the picture and |\fbox| parameters:
@@ -235,27 +261,94 @@
% \changes{v2.0c}{2015/01/24}{Skip T1-code entirely with Unicode engines}
% \changes{v2.0d}{2015/03/26}{Use renamed
% \texttt{unicode-letters.def}}
+% \changes{v2.0i}{2015/12/10}{Use new common Unicode data loaders}
+% \changes{v2.0j}{2016/01/04}{Do not set up inter character classes for
+% XeTeX}
+% \changes{v2.0l}{2016/01/05}{Correct \textsf{latexrelease} guards}
+% \changes{v2.0l}{2016/01/05}{Ensure old definitions for inter-character
+% class toks are available using \textsf{latexrelease}}
+% \changes{v2.0m}{2016/01/05}{Undefine XeTeX classes when using patching
+% an older kernel}
+% \changes{v2.0l}{2016/01/05}{Missing brace}
+% \changes{v2.0p}{2016/01/05}{Only apply XeTeX change if XeTeX is in use}
% For $7$- and $8$-bit engines the assumption of T1 encodings is the
% basis for the hyphenation patterns. That's not the case for the Unicode
-% engines, where the assumption is engine-native working. The file
-% |unicode-letters.def| contains data extracted from the
-% master Unicode Consortium
-% information covering not only |\lccode| but also other related data. The
+% engines, where the assumption is engine-native working. The common
+% loader system provides access to data from the Unicode Consortium
+% covering not only |\lccode| but also other related data. The
% |\lccode| part of that at least needs to be loaded before hyphenation is
% tackled: Xe\TeX{} follows the standard \TeX{} route of building patterns
% into the format. Lua\TeX{} doesn't require this data be loaded \emph{here}
% but it does need to be loaded somewhere. Rather than test for the Unicode
% engines by name, the approach here is to look for the extended math mode
% handling both provide: any other engine developed in this area will
-% presumably also provide |\Umathcode| (older Xe\TeX{} versions use
-% |\XeTeXmathcode| so that is covered too).
+% presumably also provide |\Umathcode|.
% \begin{macrocode}
\ifnum 0%
\ifx\Umathcode\@undefined\else 1\fi
\ifx\XeTeXmathcode\@undefined\else 1\fi
>\z@
\message{ Unicode character data,}
- \input{unicode-letters.def}
+ \input{load-unicode-data}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2016/02/01}%
+%<latexrelease> {\XeTeXintercharclasses}{XeTeX character classes}%
+%<latexrelease> \ifx\XeTeXinterchartoks\undefined
+%<latexrelease> \else
+%<latexrelease> \begingroup
+%<latexrelease> \chardef\XeTeXcharclassID = 0 %
+%<latexrelease> \chardef\XeTeXcharclassOP = 0 %
+%<latexrelease> \chardef\XeTeXcharclassCL = 0 %
+%<latexrelease> \chardef\XeTeXcharclassEX = 0 %
+%<latexrelease> \chardef\XeTeXcharclassIS = 0 %
+%<latexrelease> \chardef\XeTeXcharclassNS = 0 %
+%<latexrelease> \chardef\XeTeXcharclassCM = 0 %
+%<latexrelease> \input{load-unicode-xetex-classes}
+%<latexrelease> \endgroup
+%<latexrelease> \global\let\xtxHanGlue\undefined
+%<latexrelease> \global\let\xtxHanSpace\undefined
+%<latexrelease> \global\XeTeXinterchartoks 0 1 = {}
+%<latexrelease> \global\XeTeXinterchartoks 0 2 = {}
+%<latexrelease> \global\XeTeXinterchartoks 0 3 = {}
+%<latexrelease> \global\XeTeXinterchartoks 1 0 = {}
+%<latexrelease> \global\XeTeXinterchartoks 2 0 = {}
+%<latexrelease> \global\XeTeXinterchartoks 3 0 = {}
+%<latexrelease> \global\XeTeXinterchartoks 1 1 = {}
+%<latexrelease> \global\XeTeXinterchartoks 1 2 = {}
+%<latexrelease> \global\XeTeXinterchartoks 1 3 = {}
+%<latexrelease> \global\XeTeXinterchartoks 2 1 = {}
+%<latexrelease> \global\XeTeXinterchartoks 2 2 = {}
+%<latexrelease> \global\XeTeXinterchartoks 2 3 = {}
+%<latexrelease> \global\XeTeXinterchartoks 3 1 = {}
+%<latexrelease> \global\XeTeXinterchartoks 3 2 = {}
+%<latexrelease> \global\XeTeXinterchartoks 3 3 = {}
+%<latexrelease> \fi
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\XeTeXintercharclasses}{XeTeX character classes}%
+%<latexrelease> \ifx\XeTeXinterchartoks\undefined
+%<latexrelease> \else
+%<latexrelease> \input{load-unicode-xetex-classes}
+%<latexrelease> \gdef\xtxHanGlue{\hskip0pt plus 0.1em\relax}
+%<latexrelease> \gdef\xtxHanSpace{\hskip0.2em plus 0.2em minus 0.1em\relax}
+%<latexrelease> \global\XeTeXinterchartoks 0 1 = {\xtxHanSpace}
+%<latexrelease> \global\XeTeXinterchartoks 0 2 = {\xtxHanSpace}
+%<latexrelease> \global\XeTeXinterchartoks 0 3 = {\nobreak\xtxHanSpace}
+%<latexrelease> \global\XeTeXinterchartoks 1 0 = {\xtxHanSpace}
+%<latexrelease> \global\XeTeXinterchartoks 2 0 = {\nobreak\xtxHanSpace}
+%<latexrelease> \global\XeTeXinterchartoks 3 0 = {\xtxHanSpace}
+%<latexrelease> \global\XeTeXinterchartoks 1 1 = {\xtxHanGlue}
+%<latexrelease> \global\XeTeXinterchartoks 1 2 = {\xtxHanGlue}
+%<latexrelease> \global\XeTeXinterchartoks 1 3 = {\nobreak\xtxHanGlue}
+%<latexrelease> \global\XeTeXinterchartoks 2 1 = {\nobreak\xtxHanGlue}
+%<latexrelease> \global\XeTeXinterchartoks 2 2 = {\nobreak\xtxHanGlue}
+%<latexrelease> \global\XeTeXinterchartoks 2 3 = {\xtxHanGlue}
+%<latexrelease> \global\XeTeXinterchartoks 3 1 = {\xtxHanGlue}
+%<latexrelease> \global\XeTeXinterchartoks 3 2 = {\xtxHanGlue}
+%<latexrelease> \global\XeTeXinterchartoks 3 3 = {\nobreak\xtxHanGlue}
+%<latexrelease> \fi
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \changes{v2.0d}{2015/02/03}{Set \cs{lccode} for \texttt{-} with Unicode
% engines}