summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/unicode-data
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-12-11 23:23:35 +0000
committerKarl Berry <karl@freefriends.org>2015-12-11 23:23:35 +0000
commit7ce6e9fac24637fcc964be2d44071e1cd96243ca (patch)
tree884afbce3e1517172272146586f3e991552dfe2e /Master/texmf-dist/doc/generic/unicode-data
parent816ecdfa1109529b3f0be1c5cbfdca2c6cf647c3 (diff)
unicode-data (10dec15)
git-svn-id: svn://tug.org/texlive/trunk@39085 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/unicode-data')
-rw-r--r--Master/texmf-dist/doc/generic/unicode-data/README.md168
1 files changed, 168 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/unicode-data/README.md b/Master/texmf-dist/doc/generic/unicode-data/README.md
new file mode 100644
index 00000000000..5913b3a66ea
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/unicode-data/README.md
@@ -0,0 +1,168 @@
+The Unicode Consortium provide a range of data files detailing
+the nature of code points in Unicode. These data files are
+machine-readable but large. Here, a set of loaders are provided
+to parse these files during a TeX run and set appropriate
+parameters in an automated fashion.
+
+File: `load-unicode-data.tex`
+=============================
+
+The loader parses a number of data files provided by the Unicode
+Consortium and when used with used Unicode-capable engine sets
+up a range of TeX-related parameters based on the extracted
+information.
+
+From the file `UnicodeData.txt` the following properties are set:
+- `\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 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)
+- `\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>
+
+File: `load-unicode-xetex-classes.tex`
+======================================
+
+From the files `EastAsianWidth.txt` and `LineBreak.txt` inter
+character classes for XeTeX (`\XeTeXcharclass`) are set for the
+following classes
+- "ID" (ideographic)
+- "OP" (opener)
+- "CL" (closer)
+- "NS" (non-starter)
+- "EX" (exclamation)
+- "IS" (infix separator)
+- "CM" (combining marks)
+
+All code points of class "ID" are assigned to a
+`\XeTeXcharclass`, but for other classes this only occurs when
+they fall into east Asian width type "F", "H" or "W" (full-,
+half- and wide-width).
+
+The following mappings between Unicode and XeTeX classes occur
+- "ID" is class 1
+- "OP" is class 2
+- "CL", "NS", "EX", "IS" are class 3
+- "CM" is class 256 (ignored)
+
+This file does _not_ activate XeTeX's inter-character token
+mechanism (`\XeTeXinterchartokenstate` is not set) nor does it
+install any material in the inter-character token registers.
+
+Note that this file is separate from the main loader as the data
+structure here may need more refinement at the macro level.
+
+Data files
+==========
+
+The following data files are included here with permission of the
+Unicode Consortium (see below):
+- `UnicodeData.txt`
+- `CaseFolding.txt`
+- `EastAsianWidth.txt`
+- `LineBreak.txt`
+- `MathClass.txt`
+- `SpecialCasing.txt`
+
+With the exception of `MathClass.txt`, which is currently not
+formally part of the Unicode Character Database, all of the
+data files here are for Unicode 8.0.0.
+
+Requests to include additional Unicode data files in this bundle are
+welcome. Ideally this bundle will act as a single location for all
+Unicode data for use by TeX systems.
+
+Issues and improvements
+=======================
+
+The home page for this bundle is
+https://github.com/latex3/unicode-data, and issues may be
+reported there.
+
+Changes
+=======
+
+- v1.0 (2015-12-01) First public release
+
+License and permission
+======================
+
+This bundle is copyright 2015 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
+this license or (at your option) any later version. The latest
+version of this license is in the file
+http://www.latex-project.org/lppl.txt.
+
+The source data (`.txt` files) are supplied by the Unicode
+Consortium and the following notice applies.
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright © 1991-2015 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in
+http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of the Unicode data files and any associated
+documentation (the "Data Files") or Unicode software and any
+associated documentation (the "Software") to deal in the Data
+Files or Software without restriction, including without
+limitation the rights to use, copy, modify, merge, publish,
+distribute, and/or sell copies of the Data Files or Software,
+and to permit persons to whom the Data Files or Software are
+furnished to do so, provided that
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software,
+(b) this copyright and permission notice appear in associated
+documentation, and
+(c) there is clear notice in each modified Data File or in the
+Software as well as in the documentation associated with the
+Data File(s) or Software that the data or software has been
+modified.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT
+WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
+NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
+CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
+SOFTWARE.
+
+Except as contained in this notice, the name of a copyright
+holder shall not be used in advertising or otherwise to promote
+the sale, use or other dealings in these Data Files or Software
+without prior written authorization of the copyright holder.