diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/base/ltfinal.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/base/ltfinal.dtx | 123 |
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} |