From 037b815f75f28884799427d962edd4e64e294483 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 3 May 2016 00:03:02 +0000 Subject: ucharclasses git-svn-id: svn://tug.org/texlive/trunk@40854 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xelatex/ucharclasses/README | 35 +++++++------- .../doc/xelatex/ucharclasses/ucharclasses.pdf | Bin 147881 -> 147886 bytes .../tex/xelatex/ucharclasses/ucharclasses.sty | 51 ++++++++++----------- 3 files changed, 44 insertions(+), 42 deletions(-) diff --git a/Master/texmf-dist/doc/xelatex/ucharclasses/README b/Master/texmf-dist/doc/xelatex/ucharclasses/README index 406fde68cc7..6926db23fee 100644 --- a/Master/texmf-dist/doc/xelatex/ucharclasses/README +++ b/Master/texmf-dist/doc/xelatex/ucharclasses/README @@ -1,6 +1,6 @@ - ucharclasses package for XeLaTex - -------------------------------- - Michiel Kamermans, April 2016 + ucharclasses package for XeLaTex + -------------------------------- + Michiel Kamermans, October 2011 The brief --------- @@ -47,22 +47,25 @@ So what is it? character from one unicode block to a character from another unicode block is encountered by XeTeX - Current compatibility (as of v2.2) is Unicode 8.0 +Unicode Compatibility +--------------------- -Version History ---------------- - v1.0 - Initial release, support for Unicode 5.0 - v2.0 - Efficiency rewrite, support for Unicode 6.0 - v2.1 - Compatibility fixes for XeTeX 0.99994 - v2.2 - Support for Unicode 8.0, LaTeX 2e patch + Current compatibility is Unicode 8.0 + +Changelog +--------- -Credits? --------- + v2.2: Unicode 8.0 and LaTeX2e support + v2.1: Uplift for the updates introduced in XeTeX 0.99994 + v2.0: Rewritten to Vastly improve performance + Unicode 6.0 + v1.0: Unicode block switching using XeTeX intercharclasses. + +Contributors +------------ - v1.0: Written by Mike "Pomax" Kamermans - v2.0: Rewritten by Enrico Gregorio - v2.1: Patched by Qing Lee - v2.2: Patched by Werner Lemberg + v2.1-2.2: Qing Lee, Werner Lemberg + v2.0: Enrico Gregorio + v1.0: Mike "Pomax" Kamermans License? -------- diff --git a/Master/texmf-dist/doc/xelatex/ucharclasses/ucharclasses.pdf b/Master/texmf-dist/doc/xelatex/ucharclasses/ucharclasses.pdf index b12b289361e..346fec335d0 100644 Binary files a/Master/texmf-dist/doc/xelatex/ucharclasses/ucharclasses.pdf and b/Master/texmf-dist/doc/xelatex/ucharclasses/ucharclasses.pdf differ diff --git a/Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty b/Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty index 45f4be0414c..a82226cdc4d 100644 --- a/Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty +++ b/Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty @@ -7,24 +7,22 @@ % % Current compatibility should be Unicode 8.0. % -% Significant updates: -% v1.0: Unicode block switching using XeTeX intercharclasses. -% v2.0: Vastly improved performance and Unicode 6.0 support -% v2.1: Uplift for the intercharclass updates introduced in XeTeX 0.99994 -% v2.2: Unicode 8.0 support and a LaTeX 2e patch -% % Credits: -% v1.0: Mike "Pomax" Kamermans +% v2.1-2.2: Qing Lee, Werner Lemberg % v2.0: Enrico Gregorio -% v2.1: Qing Lee -% v2.2: Werner Lemberg +% v1.0: Mike "Pomax" Kamermans +% +% Significant updates: +% v2.2: Unicode 8.0 and LaTeX2e support +% v2.1: Uplift for the intercharclass updates introduced in XeTeX 0.99994 +% v2.0: Rewritten to Vastly improve performance. +% v1.0: Unicode block switching using XeTeX intercharclasses. % % License: public domain (http://www.tex.ac.uk/CTAN/help/Catalogue/licenses.pd.html) % % ---------------------------------------------------------------------------- -\ProvidesPackage{ucharclasses}[2016/04/21 v2.1x Unicode block - character classes for XeLaTeX] +\ProvidesPackage{ucharclasses}[2016/04/25 v2.2.1 Unicode block character classes for XeLaTeX] \newif\if@ucharclassverbose \DeclareOption{verbose}{\@ucharclassverbosetrue} @@ -39,14 +37,23 @@ % Starting with XeTeX version 3.14159265-2.6-0.99994, the number of % \XeTeXcharclass registers was extended from 256 to 4096 entries; some not % so important blocks are thus provided only for this and newer versions. +% The boundary of character class was changed from 255 to 4095 correspondingly. % The primitive \XeTeXinterwordspaceshaping was introduced by XeTeX 0.99994; % we use it as a flag to identify this version. % -% However, LaTeX2e itself currently doesn't provide support for 4096 -% entries; we thus have to override the hard-coded limit. -\ifdefined\XeTeXinterwordspaceshaping - \def\newXeTeXintercharclass{% - \e@alloc\XeTeXcharclass\chardef\xe@alloc@intercharclass\m@ne{4095 }} +% However, earlier version of LaTeX2e (before 2016/04/22 v2.0q) didn't provide +% support for 4096 entries; we thus have to override the hard-coded limit. +\ifdefined\e@alloc@intercharclass@top + \chardef\@ucharclass@boundary=\e@alloc@intercharclass@top +\else + \ifdefined\XeTeXinterwordspaceshaping + \chardef\@ucharclass@boundary=4095 % + \def\newXeTeXintercharclass{% + \e@alloc\XeTeXcharclass\chardef + \xe@alloc@intercharclass\m@ne\@ucharclass@boundary} + \else + \chardef\@ucharclass@boundary=\@cclv + \fi \fi \def\AllClasses{ @@ -739,8 +746,8 @@ % ---------------------------------------------------------------------------- % enable/disable commands -\newcommand{\disableTransitionRules}{\XeTeXinterchartokenstate = 0} -\newcommand{\enableTransitionRules}{\XeTeXinterchartokenstate = 1} +\newcommand{\disableTransitionRules}{\XeTeXinterchartokenstate = \z@} +\newcommand{\enableTransitionRules}{\XeTeXinterchartokenstate = \@ne} % shorthand commands \let\uccoff\disableTransitionRules @@ -804,14 +811,6 @@ %%% Our assigned classes go from \@classstart (excluded) to \@classend (included) -% The boundary of character class is changed from 255 to 4095 in XeTeX -% 0.99994. As above, we use \XeTeXinterwordspaceshaping as a flag. -\ifdefined\XeTeXinterwordspaceshaping - \chardef\@ucharclass@boundary=4095 % -\else - \chardef\@ucharclass@boundary=\@cclv -\fi - % ---------------------------------------------------------------------------- % Use: \setTransitionsFor{block name}{when entering this block}{when leaving this block} % ---------------------------------------------------------------------------- -- cgit v1.2.3