summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-02-03 23:00:03 +0000
committerKarl Berry <karl@freefriends.org>2016-02-03 23:00:03 +0000
commit6070500531400ed643be5b4d7a4cdd5a881aaab5 (patch)
tree546493e301c202eed96c6833ca4b317e05a63456
parent1290d7454b9754f3c7a7e4a229981e18f58ea6f6 (diff)
unicode-data (3feb16)
git-svn-id: svn://tug.org/texlive/trunk@39560 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/unicode-data/README.md26
-rw-r--r--Master/texmf-dist/tex/generic/unicode-data/load-unicode-data.tex55
-rw-r--r--Master/texmf-dist/tex/generic/unicode-data/load-unicode-xetex-classes.tex2
3 files changed, 23 insertions, 60 deletions
diff --git a/Master/texmf-dist/doc/generic/unicode-data/README.md b/Master/texmf-dist/doc/generic/unicode-data/README.md
index c0f89d65678..4f284bcd62e 100644
--- a/Master/texmf-dist/doc/generic/unicode-data/README.md
+++ b/Master/texmf-dist/doc/generic/unicode-data/README.md
@@ -32,21 +32,8 @@ From the file `UnicodeData.txt` the following properties are set:
which an upper or lower case mapping is given
- `\sfcode` 0 (ignored) for code points of Unicode classes "Pe"
(closing punctuation marks) and "Pf" (final quotation marks)
-
-From the file `MathClass.txt` the following mapping are
-implemented between Unicode classes and TeX math types
-- "L" (large) `\mathop`
-- "B" (binary) `\mathbin`
-- "V" (vary) `\mathbin`
-- "R" (relation) `\mathrel`
-- "O" (opening) `\mathopen`
-- "C" (closing) `\mathclose`
-- "P" (punctuation) `\mathpunct`
-- "A" (alphabetic) `\mathalpha`
-
-For each code point processed, the result is of the form
-
- \Umathcode <codepoint> = <type> 1 <codepoint>
+- `\Umathcode` for all letters in the base plane class 7 (var)
+ and for the supplementary plane class 0 (regular)
File: `load-unicode-xetex-classes.tex`
======================================
@@ -72,6 +59,7 @@ The following mappings between Unicode and XeTeX classes occur
- "OP" is class 2
- "CL", "NS", "EX", "IS" are class 3
- "CM" is class 256 (ignored)
+
as standard: these may be over-ridden by defining
`\XeTeXcharclass<class>` as required.
@@ -120,15 +108,19 @@ Changes
- Correctly assign XeTeX character class for code points in
ranges
- Fix issue which meant `EastAsianWidth.txt` was not read
-- v1.1b (2016-01-8)
+- v1.1b (2016-01-08)
- Avoid save stack issue when loading `EastAsianWidth.txt`
- Fix application of settings to ranges of Unicode characters
- Correct setting of space factor for ending punctuation
+- v1.2 (2016-02-02)
+ - Drop use of Unicode math data at present: undesired effect on
+ output if Unicode fonts are not loaded (classical OT1
+ situation)
License and permission
======================
-This bundle is copyright 2015,2016 The LaTeX3 Project
+This bundle is copyright (C) 2015,2016 The LaTeX3 Project
It may be distributed and/or modified under the conditions of
the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/Master/texmf-dist/tex/generic/unicode-data/load-unicode-data.tex b/Master/texmf-dist/tex/generic/unicode-data/load-unicode-data.tex
index 77a8f5f1963..b9011421e23 100644
--- a/Master/texmf-dist/tex/generic/unicode-data/load-unicode-data.tex
+++ b/Master/texmf-dist/tex/generic/unicode-data/load-unicode-data.tex
@@ -19,35 +19,22 @@
% - \catcode 11 for all letters (Unicode class "L")
% - \catcode 11 for all combining marks (Unicode class "M")
% - \sfcode 999 for all code points of class "Lu" (upper case letters)
-% - \lccode for all of class "Ll" (upper case letters) to the code point
+% - \lccode for all of class "Ll" (lower case letters) to the code point
% itself, and \uccode to the upper case mapping (or if not given
% to the code point itself)
% - \uccode for all of class "Lu" (upper case letters) to the code point
% itself, and \lccode to the lower case mapping (or if not given
% to the code point itself)
% - \lccode and \uccode for all of class "Lt" (title case letters) to the
-% lower can upper case mappings (or if not given to the code point itself)
+% lower and upper case mappings (or if not given to the code point itself)
% - \lccode and \uccode for all other letter code points are set to
% the code point itself
% - \lccode and/or \uccode for non-letter code points for which an upper
% or lower case mapping is given
% - \sfcode 0 (ignored) for code points of Unicode classes "Pe" (closing
% punctuation marks) and "Pf" (final quotation marks)
-%
-% From the file MathClass.txt the following mapping are implemented between
-% Unicode classes and TeX math types
-% - "L" (large) \mathop
-% - "B" (binary) \mathbin
-% - "V" (vary) \mathbin
-% - "R" (relation) \mathrel
-% - "O" (opening) \mathopen
-% - "C" (closing) \mathclose
-% - "P" (punctuation) \mathpunct
-% - "A" (alphabetic) \mathalpha
-%
-% For each code point processed, the result is of the form
-%
-% \Umathcode <codepoint> = <type> 1 <codepoint>
+% - \Umathcode for all letters in the base plane class 7 (var) and for
+% the supplementary plane class 0 (regular)
%
% =============================================================================
%
@@ -71,7 +58,7 @@
\catcode`\^=7 %
\newlinechar=`\^^J %
\message{^^J}%
- \message{load-unicode-data.tex v1.1b (2016-01-08)^^J}%
+ \message{load-unicode-data.tex v1.2 (2016-02-02)^^J}%
\message{Reading Unicode data^^J}%
% The first stage of parsing is dealing with the fact that there are lots of
% data items separated by |;|. Of those, only a few are needed so they are
@@ -125,6 +112,13 @@
\parseunicodedataVI\lccode{#1}{#4}%
\global\sfcode"#1=999 %
\fi
+% Letters in base plane are class~$7$, those in the supplementary plane are
+% class~$0$.
+ \ifnum"#1<10000 %
+ \global\Umathcode"#1="7"01"#1 %
+ \else
+ \global\Umathcode"#1="0"01"#1 %
+ \fi
\else
\def\temp{#2}%
\ifnum 0\ifx\temp\Pe 1\fi\ifx\temp\Pf 1\fi>0 %
@@ -169,7 +163,7 @@
\count0="#3 %
\loop
\unless\ifnum\count0>"#1 %
- \parseunicodedataV{\count0}%
+ \parseunicodedataV{\count0 }%
\advance\count0 by 1 %
\repeat
\endgroup
@@ -247,27 +241,4 @@
\catcode`\#=6 %
\closein0 %
}%
-% |MathClass.txt|: this just needs one token of the 'rest' of the line.
-% Examine the Unicode class and if known set up the math code appropriately.
- \chardef\mathclassL=1 %
- \chardef\mathclassB=2 %
- \chardef\mathclassV=2 %
- \chardef\mathclassR=3 %
- \chardef\mathclassO=4 %
- \chardef\mathclassC=5 %
- \chardef\mathclassP=6 %
- \chardef\mathclassA=7 %
- \def\parseunicodedataIV#1#2#3#4\relax{%
- \begingroup
- \count0="#1 %
- \loop
- \unless\ifnum\count0>"#2 %
- \ifcsname mathclass#3\endcsname
- \global\Umathcode\count0=\csname mathclass#3\endcsname 1 \count0 %
- \fi
- \advance\count0 by 1 %
- \repeat
- \endgroup
- }%
- \readandparse{MathClass}%
\endgroup
diff --git a/Master/texmf-dist/tex/generic/unicode-data/load-unicode-xetex-classes.tex b/Master/texmf-dist/tex/generic/unicode-data/load-unicode-xetex-classes.tex
index 91dce06491e..3d8370fec02 100644
--- a/Master/texmf-dist/tex/generic/unicode-data/load-unicode-xetex-classes.tex
+++ b/Master/texmf-dist/tex/generic/unicode-data/load-unicode-xetex-classes.tex
@@ -62,7 +62,7 @@
\catcode`\^=7 %
\newlinechar=`\^^J %
\message{^^J}%
- \message{load-unicode-xetex-classes.tex v1.1b (2016-01-08)^^J}%
+ \message{load-unicode-xetex-classes.tex v1.2 (2016-02-02)^^J}%
\message{Reading Unicode east Asian character class data^^J}%
% A string version of |#| will be needed to look for comment lines in the
% source. Once that is done proper parsing can begin.