summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/ucharclasses
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-04-23 21:44:36 +0000
committerKarl Berry <karl@freefriends.org>2016-04-23 21:44:36 +0000
commit112ee3ec563331c5c7380269bff5dc068d8509a6 (patch)
treefba242f12dbab867dbc7579e641b2f2b6a672819 /Master/texmf-dist/tex/xelatex/ucharclasses
parent9cde404237f8442ec290892a907d1fce70e864fa (diff)
ucharclasses (23apr16)
git-svn-id: svn://tug.org/texlive/trunk@40704 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/ucharclasses')
-rw-r--r--Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty646
1 files changed, 434 insertions, 212 deletions
diff --git a/Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty b/Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty
index a22f39b57f3..45f4be0414c 100644
--- a/Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty
+++ b/Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty
@@ -1,220 +1,328 @@
% ----------------------------------------------------------------------------
-% This "ucharclasses" package sets up XeTeX character classes based on which
+% This "ucharclasses" package sets up XeTeX character classes based on which
% unicode block a character is found in. It then allows transition rules to be defined
% when entering or leaving particular unicode blocks, the code of which gets inserted
-% automatically when a transition from a character from one unicode block to a
+% automatically when a transition from a character from one unicode block to a
% character from another unicode block is encountered by XeTeX
%
-% Current compatibility should be Unicode 6.0, although I may have missed one or
-% more blocks that were added between 5 and 6.
+% 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.0: rewritten by Enrico Gregorio
+% v2.0: Enrico Gregorio
+% v2.1: Qing Lee
+% v2.2: Werner Lemberg
%
% License: public domain (http://www.tex.ac.uk/CTAN/help/Catalogue/licenses.pd.html)
%
% ----------------------------------------------------------------------------
-\ProvidesPackage{ucharclasses}[2012/09/25 v2.0x Unicode block
+\ProvidesPackage{ucharclasses}[2016/04/21 v2.1x Unicode block
character classes for XeLaTeX]
\newif\if@ucharclassverbose
\DeclareOption{verbose}{\@ucharclassverbosetrue}
-
+
% ----------------------------------------------------------------------------
% The package options allow you to selectively enable certain unicode blocks
% ----------------------------------------------------------------------------
-% We first define all blocks in a list together with their start and
-% end point
+% We first define all blocks in a list together with their start and end
+% point.
+%
+% 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 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 }}
+\fi
\def\AllClasses{
% Unicode 5.1 block definitions
- \do{AegeanNumbers}{65792}{65855}
- \do{AlphabeticPresentationForms}{64256}{64335}
- \do{AncientGreekMusicalNotation}{119296}{119375}
- \do{AncientGreekNumbers}{65856}{65935}
- \do{AncientSymbols}{65936}{65999}
- \do{Arabic}{1536}{1791}
- \do{ArabicPresentationFormsA}{64336}{65023}
- \do{ArabicPresentationFormsB}{65136}{65279}
- \do{ArabicSupplement}{1872}{1919}
- \do{Armenian}{1328}{1423}
- \do{Arrows}{8592}{8703}
- \do{Balinese}{6912}{7039}
- \do{BasicLatin}{32}{127}
- \do{Bengali}{2432}{2559}
- \do{BlockElements}{9600}{9631}
- \do{Bopomofo}{12544}{12591}
- \do{BopomofoExtended}{12704}{12735}
- \do{BoxDrawing}{9472}{9599}
- \do{BraillePatterns}{10240}{10495}
- \do{Buginese}{6656}{6687}
- \do{Buhid}{5952}{5983}
- \do{ByzantineMusicalSymbols}{118784}{119039}
- \do{Carian}{66208}{66271}
- \do{Cham}{43520}{43615}
- \do{Cherokee}{5024}{5119}
- \do{CJKCompatibility}{13056}{13311}
- \do{CJKCompatibilityForms}{65072}{65103}
- \do{CJKCompatibilityIdeographs}{63744}{64255}
- \do{CJKCompatibilityIdeographsSupplement}{194560}{195103}
- \do{CJKRadicalsSupplement}{11904}{12031}
- \do{CJKStrokes}{12736}{12783}
- \do{CJKSymbolsAndPunctuation}{12288}{12351}
- \do{CJKUnifiedIdeographs}{19968}{40959}
- \do{CJKUnifiedIdeographsExtensionA}{13312}{19903}
- \do{CJKUnifiedIdeographsExtensionB}{131072}{173791}
- \do{CJKUnifiedIdeographsExtensionC}{173824}{177983}
- \do{CombiningDiacriticalMarks}{768}{879}
- \do{CombiningDiacriticalMarksforSymbols}{8400}{8447}
- \do{CombiningDiacriticalMarksSupplement}{7616}{7679}
- \do{CombiningHalfMarks}{65056}{65071}
- \do{ControlPictures}{9216}{9279}
- \do{Coptic}{11392}{11519}
- \do{CountingRodNumerals}{119648}{119679}
- \do{Cuneiform}{73728}{74751}
- \do{CuneiformNumbersAndPunctuation}{74752}{74879}
- \do{CurrencySymbols}{8352}{8399}
- \do{CypriotSyllabary}{67584}{67647}
- \do{Cyrillic}{1024}{1279}
- \do{CyrillicExtendedA}{11744}{11775}
- \do{CyrillicExtendedB}{42560}{42655}
- \do{CyrillicSupplement}{1280}{1327}
- \do{Deseret}{66560}{66639}
- \do{Devanagari}{2304}{2431}
- \do{Dingbats}{9984}{10175}
- \do{DominoTiles}{127024}{127135}
- \do{EnclosedAlphanumerics}{9312}{9471}
- \do{EnclosedCJKLettersAndMonths}{12800}{13055}
- \do{Ethiopic}{4608}{4991}
- \do{EthiopicExtended}{11648}{11743}
- \do{EthiopicSupplement}{4992}{5023}
- \do{GeneralPunctuation}{8192}{8303}
- \do{GeometricShapes}{9632}{9727}
- \do{Georgian}{4256}{4351}
- \do{GeorgianSupplement}{11520}{11567}
- \do{Glagolitic}{11264}{11359}
- \do{Gothic}{66352}{66383}
- \do{GreekAndCoptic}{880}{1023}
- \do{GreekExtended}{7936}{8191}
- \do{Gujarati}{2688}{2815}
- \do{Gurmukhi}{2560}{2687}
- \do{HalfwidthAndFullwidthForms}{65280}{65519}
- \do{HangulCompatibilityJamo}{12592}{12687}
- \do{HangulJamo}{4352}{4607}
- \do{HangulSyllables}{44032}{55215}
- \do{Hanunoo}{5920}{5951}
- \do{Hebrew}{1424}{1535}
- \do{Hiragana}{12352}{12447}
- \do{IdeographicDescriptionCharacters}{12272}{12287}
- \do{IPAExtensions}{592}{687}
- \do{Kanbun}{12688}{12703}
- \do{KangxiRadicals}{12032}{12255}
- \do{Kannada}{3200}{3327}
- \do{Katakana}{12448}{12543}
- \do{KatakanaPhoneticExtensions}{12784}{12799}
- \do{KayahLi}{43264}{43311}
- \do{Kharoshthi}{68096}{68191}
- \do{Khmer}{6016}{6143}
- \do{KhmerSymbols}{6624}{6655}
- \do{Lao}{3712}{3839}
- \do{LatinExtendedAdditional}{7680}{7935}
- \do{LatinExtendedA}{256}{383}
- \do{LatinExtendedB}{384}{591}
- \do{LatinExtendedC}{11360}{11391}
- \do{LatinExtendedD}{42784}{43007}
- \do{LatinSupplement}{128}{255}
- \do{Lepcha}{7168}{7247}
- \do{LetterlikeSymbols}{8448}{8527}
- \do{Limbu}{6400}{6479}
- \do{LinearBIdeograms}{65664}{65791}
- \do{LinearBSyllabary}{65536}{65663}
- \do{Lycian}{66176}{66207}
- \do{Lydian}{67872}{67903}
- \do{MahjongTiles}{126976}{127023}
- \do{Malayalam}{3328}{3455}
- \do{MathematicalAlphanumericSymbols}{119808}{120831}
- \do{MathematicalOperators}{8704}{8959}
- \do{MiscellaneousMathematicalSymbolsA}{10176}{10223}
- \do{MiscellaneousMathematicalSymbolsB}{10624}{10751}
- \do{MiscellaneousSymbols}{9728}{9983}
- \do{MiscellaneousSymbolsAndArrows}{11008}{11263}
- \do{MiscellaneousTechnical}{8960}{9215}
- \do{ModifierToneLetters}{42752}{42783}
- \do{Mongolian}{6144}{6319}
- \do{MusicalSymbols}{119040}{119295}
- \do{Myanmar}{4096}{4255}
- \do{NewTaiLue}{6528}{6623}
- \do{NKo}{1984}{2047}
- \do{NumberForms}{8528}{8591}
- \do{Ogham}{5760}{5791}
- \do{OldChiki}{7248}{7295}
- \do{OldItalic}{66304}{66351}
- \do{OldPersian}{66464}{66527}
- \do{OpticalCharacterRecognition}{9280}{9311}
- \do{Oriya}{2816}{2943}
- \do{Osmanya}{66688}{66735}
- \do{PhagsPa}{43072}{43135}
- \do{PhaistosDisc}{66000}{66047}
- \do{Phoenician}{67840}{67871}
- \do{PhoneticExtensions}{7424}{7551}
- \do{PhoneticExtensionsSupplement}{7552}{7615}
- \do{PrivateUseArea}{57344}{63743}
- \do{Rejang}{43312}{43359}
- \do{Runic}{5792}{5887}
- \do{Saurashtra}{43136}{43231}
- \do{Shavian}{66640}{66687}
- \do{Sinhala}{3456}{3583}
- \do{SmallFormVariants}{65104}{65135}
- \do{SpacingModifierLetters}{688}{767}
- \do{Specials}{65520}{65535}
- \do{SuperscriptsAndSubscripts}{8304}{8351}
- \do{SupplementalArrowsA}{10224}{10239}
- \do{SupplementalArrowsB}{10496}{10623}
- \do{SupplementalMathematicalOperators}{10752}{11007}
- \do{SupplementalPunctuation}{11776}{11903}
- \do{SupplementaryPrivateUseAreaA}{983040}{1048575}
- \do{SupplementaryPrivateUseAreaB}{1048576}{1114111}
- \do{SylotiNagri}{43008}{43055}
- \do{Syriac}{1792}{1871}
- \do{Tagalog}{5888}{5919}
- \do{Tagbanwa}{5984}{6015}
- \do{Tags}{917504}{917631}
- \do{TaiLe}{6480}{6527}
- \do{TaiXuanJingSymbols}{119552}{119647}
- \do{Tamil}{2944}{3071}
- \do{Telugu}{3072}{3199}
- \do{Thaana}{1920}{1983}
- \do{Thai}{3584}{3711}
- \do{Tibetan}{3840}{4095}
- \do{Tifinagh}{11568}{11647}
- \do{Ugaritic}{66432}{66463}
- \do{UnifiedCanadianAboriginalSyllabics}{5120}{5759}
- \do{Vai}{42240}{42559}
- \do{VariationSelectors}{65024}{65039}
- \do{VariationSelectorsSupplement}{917760}{917999}
- \do{VerticalForms}{65040}{65055}
- \do{YiRadicals}{42128}{42191}
- \do{YiSyllables}{40960}{42127}
- \do{YijingHexagramSymbols}{19904}{19967}
-% Unicode 6.0 block definitions
- \do{Mandaic}{2112}{2143}
- \do{Batak}{7104}{7167}
- \do{EthiopicExtendedA}{43776}{43823}
- \do{Brahmi}{69632}{69759}
- \do{BamumSupplement}{92160}{92735}
- \do{KanaSupplement}{110592}{110847}
- \do{PlayingCards}{127136}{127231}
- \do{MiscellaneousSymbolsAndPictographs}{127744}{128511}
- \do{Emoticons}{128512}{128591}
- \do{TransportAndMapSymbols}{128640}{128767}
- \do{AlchemicalSymbols}{128768}{128895}
- \do{CJKUnifiedIdeographsExtensionD}{177984}{178207}
+ \do{AegeanNumbers}{"010100}{"01013F}
+ \do{AlphabeticPresentationForms}{"0FB00}{"0FB4F}
+ \do{AncientGreekMusicalNotation}{"01D200}{"01D24F}
+ \do{AncientGreekNumbers}{"010140}{"01018F}
+ \do{AncientSymbols}{"010190}{"0101CF}
+ \do{Arabic}{"0600}{"06FF}
+ \do{ArabicPresentationFormsA}{"0FB50}{"0FDFF}
+ \do{ArabicPresentationFormsB}{"0FE70}{"0FEFF}
+ \do{ArabicSupplement}{"0750}{"077F}
+ \do{Armenian}{"0530}{"058F}
+ \do{Arrows}{"02190}{"021FF}
+ \do{Balinese}{"01B00}{"01B7F}
+ \do{BasicLatin}{"0020}{"007F} % 0000..007F in Unicode standard
+ \do{Bengali}{"0980}{"09FF}
+ \do{BlockElements}{"02580}{"0259F}
+ \do{Bopomofo}{"03100}{"0312F}
+ \do{BopomofoExtended}{"031A0}{"031BF}
+ \do{BoxDrawing}{"02500}{"0257F}
+ \do{BraillePatterns}{"02800}{"028FF}
+ \do{Buginese}{"01A00}{"01A1F}
+ \do{Buhid}{"01740}{"0175F}
+ \do{ByzantineMusicalSymbols}{"01D000}{"01D0FF}
+ \do{Carian}{"0102A0}{"0102DF}
+ \do{Cham}{"0AA00}{"0AA5F}
+ \do{Cherokee}{"013A0}{"013FF}
+ \do{CJKCompatibility}{"03300}{"033FF}
+ \do{CJKCompatibilityForms}{"0FE30}{"0FE4F}
+ \do{CJKCompatibilityIdeographs}{"0F900}{"0FAFF}
+ \do{CJKCompatibilityIdeographsSupplement}{"02F800}{"02FA1F}
+ \do{CJKRadicalsSupplement}{"02E80}{"02EFF}
+ \do{CJKStrokes}{"031C0}{"031EF}
+ \do{CJKSymbolsAndPunctuation}{"03000}{"0303F}
+ \do{CJKUnifiedIdeographs}{"04E00}{"09FFF}
+ \do{CJKUnifiedIdeographsExtensionA}{"03400}{"04DBF}
+ \do{CJKUnifiedIdeographsExtensionB}{"020000}{"02A6DF}
+ \do{CombiningDiacriticalMarks}{"0300}{"036F}
+ \do{CombiningDiacriticalMarksForSymbols}{"020D0}{"020FF}
+ \do{CombiningDiacriticalMarksSupplement}{"01DC0}{"01DFF}
+ \do{CombiningHalfMarks}{"0FE20}{"0FE2F}
+ \do{ControlPictures}{"02400}{"0243F}
+ \do{Coptic}{"02C80}{"02CFF}
+ \do{CountingRodNumerals}{"01D360}{"01D37F}
+ \do{Cuneiform}{"012000}{"0123FF}
+ \do{CuneiformNumbersAndPunctuation}{"012400}{"01247F}
+ \do{CurrencySymbols}{"020A0}{"020CF}
+ \do{CypriotSyllabary}{"010800}{"01083F}
+ \do{Cyrillic}{"0400}{"04FF}
+ \do{CyrillicExtendedA}{"02DE0}{"02DFF}
+ \do{CyrillicExtendedB}{"0A640}{"0A69F}
+ \do{CyrillicSupplement}{"0500}{"052F}
+ \do{Deseret}{"010400}{"01044F}
+ \do{Devanagari}{"0900}{"097F}
+ \do{Dingbats}{"02700}{"027BF}
+ \do{DominoTiles}{"01F030}{"01F09F}
+ \do{EnclosedAlphanumerics}{"02460}{"024FF}
+ \do{EnclosedCJKLettersAndMonths}{"03200}{"032FF}
+ \do{Ethiopic}{"01200}{"0137F}
+ \do{EthiopicExtended}{"02D80}{"02DDF}
+ \do{EthiopicSupplement}{"01380}{"0139F}
+ \do{GeneralPunctuation}{"02000}{"0206F}
+ \do{GeometricShapes}{"025A0}{"025FF}
+ \do{Georgian}{"010A0}{"010FF}
+ \do{GeorgianSupplement}{"02D00}{"02D2F}
+ \do{Glagolitic}{"02C00}{"02C5F}
+ \do{Gothic}{"010330}{"01034F}
+ \do{GreekAndCoptic}{"0370}{"03FF}
+ \do{GreekExtended}{"01F00}{"01FFF}
+ \do{Gujarati}{"0A80}{"0AFF}
+ \do{Gurmukhi}{"0A00}{"0A7F}
+ \do{HalfwidthAndFullwidthForms}{"0FF00}{"0FFEF}
+ \do{HangulCompatibilityJamo}{"03130}{"0318F}
+ \do{HangulJamo}{"01100}{"011FF}
+ \do{HangulSyllables}{"0AC00}{"0D7AF}
+ \do{Hanunoo}{"01720}{"0173F}
+ \do{Hebrew}{"0590}{"05FF}
+ \do{Hiragana}{"03040}{"0309F}
+ \do{IdeographicDescriptionCharacters}{"02FF0}{"02FFF}
+ \do{IPAExtensions}{"0250}{"02AF}
+ \do{Kanbun}{"03190}{"0319F}
+ \do{KangxiRadicals}{"02F00}{"02FDF}
+ \do{Kannada}{"0C80}{"0CFF}
+ \do{Katakana}{"030A0}{"030FF}
+ \do{KatakanaPhoneticExtensions}{"031F0}{"031FF}
+ \do{KayahLi}{"0A900}{"0A92F}
+ \do{Kharoshthi}{"010A00}{"010A5F}
+ \do{Khmer}{"01780}{"017FF}
+ \do{KhmerSymbols}{"019E0}{"019FF}
+ \do{Lao}{"0E80}{"0EFF}
+ \do{LatinExtendedAdditional}{"01E00}{"01EFF}
+ \do{LatinExtendedA}{"0100}{"017F}
+ \do{LatinExtendedB}{"0180}{"024F}
+ \do{LatinExtendedC}{"02C60}{"02C7F}
+ \do{LatinExtendedD}{"0A720}{"0A7FF}
+ \do{LatinSupplement}{"0080}{"00FF}
+ \do{Lepcha}{"01C00}{"01C4F}
+ \do{LetterlikeSymbols}{"02100}{"0214F}
+ \do{Limbu}{"01900}{"0194F}
+ \do{LinearBIdeograms}{"010080}{"0100FF}
+ \do{LinearBSyllabary}{"010000}{"01007F}
+ \do{Lycian}{"010280}{"01029F}
+ \do{Lydian}{"010920}{"01093F}
+ \do{MahjongTiles}{"01F000}{"01F02F}
+ \do{Malayalam}{"0D00}{"0D7F}
+ \do{MathematicalAlphanumericSymbols}{"01D400}{"01D7FF}
+ \do{MathematicalOperators}{"02200}{"022FF}
+ \do{MiscellaneousMathematicalSymbolsA}{"027C0}{"027EF}
+ \do{MiscellaneousMathematicalSymbolsB}{"02980}{"029FF}
+ \do{MiscellaneousSymbols}{"02600}{"026FF}
+ \do{MiscellaneousSymbolsAndArrows}{"02B00}{"02BFF}
+ \do{MiscellaneousTechnical}{"02300}{"023FF}
+ \do{ModifierToneLetters}{"0A700}{"0A71F}
+ \do{Mongolian}{"01800}{"018AF}
+ \do{MusicalSymbols}{"01D100}{"01D1FF}
+ \do{Myanmar}{"01000}{"0109F}
+ \do{NewTaiLue}{"01980}{"019DF}
+ \do{NKo}{"07C0}{"07FF}
+ \do{NumberForms}{"02150}{"0218F}
+ \do{Ogham}{"01680}{"0169F}
+ \do{OlChiki}{"01C50}{"01C7F}
+ \do{OldItalic}{"010300}{"01032F}
+ \do{OldPersian}{"0103A0}{"0103DF}
+ \do{OpticalCharacterRecognition}{"02440}{"0245F}
+ \do{Oriya}{"0B00}{"0B7F}
+ \do{Osmanya}{"010480}{"0104AF}
+ \do{PhagsPa}{"0A840}{"0A87F}
+ \do{PhaistosDisc}{"0101D0}{"0101FF}
+ \do{Phoenician}{"010900}{"01091F}
+ \do{PhoneticExtensions}{"01D00}{"01D7F}
+ \do{PhoneticExtensionsSupplement}{"01D80}{"01DBF}
+ \do{PrivateUseArea}{"0E000}{"0F8FF}
+ \do{Rejang}{"0A930}{"0A95F}
+ \do{Runic}{"016A0}{"016FF}
+ \do{Saurashtra}{"0A880}{"0A8DF}
+ \do{Shavian}{"010450}{"01047F}
+ \do{Sinhala}{"0D80}{"0DFF}
+ \do{SmallFormVariants}{"0FE50}{"0FE6F}
+ \do{SpacingModifierLetters}{"02B0}{"02FF}
+ \do{Sundanese}{"01B80}{"01BBF}
+ \do{SuperscriptsAndSubscripts}{"02070}{"0209F}
+ \do{SupplementalArrowsA}{"027F0}{"027FF}
+ \do{SupplementalArrowsB}{"02900}{"0297F}
+ \do{SupplementalMathematicalOperators}{"02A00}{"02AFF}
+ \do{SupplementalPunctuation}{"02E00}{"02E7F}
+% SupplementaryPrivateUseAreaA (see below)
+% SupplementaryPrivateUseAreaB (see below)
+ \do{SylotiNagri}{"0A800}{"0A82F}
+ \do{Syriac}{"0700}{"074F}
+ \do{Tagalog}{"01700}{"0171F}
+ \do{Tagbanwa}{"01760}{"0177F}
+ \do{Tags}{"0E0000}{"0E007F}
+ \do{TaiLe}{"01950}{"0197F}
+ \do{TaiXuanJingSymbols}{"01D300}{"01D35F}
+ \do{Tamil}{"0B80}{"0BFF}
+ \do{Telugu}{"0C00}{"0C7F}
+ \do{Thaana}{"0780}{"07BF}
+ \do{Thai}{"0E00}{"0E7F}
+ \do{Tibetan}{"0F00}{"0FFF}
+ \do{Tifinagh}{"02D30}{"02D7F}
+ \do{Ugaritic}{"010380}{"01039F}
+ \do{UnifiedCanadianAboriginalSyllabics}{"01400}{"0167F}
+ \do{Vai}{"0A500}{"0A63F}
+ \do{VerticalForms}{"0FE10}{"0FE1F}
+ \do{YiRadicals}{"0A490}{"0A4CF}
+ \do{YiSyllables}{"0A000}{"0A48F}
+ \do{YijingHexagramSymbols}{"04DC0}{"04DFF}
+% Unicode 5.2 additions
+ \do{Avestan}{"010B00}{"010B3F}
+ \do{Bamum}{"0A6A0}{"0A6FF}
+ \do{CJKUnifiedIdeographsExtensionC}{"02A700}{"02B73F}
+ \do{CommonIndicNumberForms}{"0A830}{"0A83F}
+ \do{DevanagariExtended}{"0A8E0}{"0A8FF}
+ \do{EgyptianHieroglyphs}{"013000}{"01342F}
+ \do{EnclosedAlphanumericSupplement}{"01F100}{"01F1FF}
+ \do{EnclosedIdeographicSupplement}{"01F200}{"01F2FF}
+ \do{HangulJamoExtendedA}{"0A960}{"0A97F}
+ \do{HangulJamoExtendedB}{"0D7B0}{"0D7FF}
+ \do{ImperialAramaic}{"010840}{"01085F}
+ \do{InscriptionalPahlavi}{"010B60}{"010B7F}
+ \do{InscriptionalParthian}{"010B40}{"010B5F}
+ \do{Javanese}{"0A980}{"0A9DF}
+ \do{Kaithi}{"011080}{"0110CF}
+ \do{Lisu}{"0A4D0}{"0A4FF}
+ \do{MeeteiMayek}{"0ABC0}{"0ABFF}
+ \do{MyanmarExtendedA}{"0AA60}{"0AA7F}
+ \do{OldSouthArabian}{"010A60}{"010A7F}
+ \do{OldTurkic}{"010C00}{"010C4F}
+ \do{RumiNumeralSymbols}{"010E60}{"010E7F}
+ \do{Samaritan}{"0800}{"083F}
+ \do{TaiTham}{"01A20}{"01AAF}
+ \do{TaiViet}{"0AA80}{"0AADF}
+ \do{UnifiedCanadianAboriginalSyllabicsExtended}{"018B0}{"018FF}
+ \do{VedicExtensions}{"01CD0}{"01CFF}
+% Unicode 6.0 additions
+ \do{AlchemicalSymbols}{"01F700}{"01F77F}
+ \do{BamumSupplement}{"016800}{"016A3F}
+ \do{Batak}{"01BC0}{"01BFF}
+ \do{Brahmi}{"011000}{"01107F}
+ \do{CJKUnifiedIdeographsExtensionD}{"02B740}{"02B81F}
+ \do{Emoticons}{"01F600}{"01F64F}
+ \do{EthiopicExtendedA}{"0AB00}{"0AB2F}
+ \do{KanaSupplement}{"01B000}{"01B0FF}
+ \do{Mandaic}{"0840}{"085F}
+ \do{MiscellaneousSymbolsAndPictographs}{"01F300}{"01F5FF}
+ \do{PlayingCards}{"01F0A0}{"01F0FF}
+ \do{TransportAndMapSymbols}{"01F680}{"01F6FF}
+% Unicode 6.1 additions
+ \do{ArabicExtendedA}{"08A0}{"08FF}
+ \do{ArabicMathematicalAlphabeticSymbols}{"01EE00}{"01EEFF}
+ \do{Chakma}{"011100}{"01114F}
+ \do{MeeteiMayekExtensions}{"0AAE0}{"0AAFF}
+ \do{MeroiticCursive}{"0109A0}{"0109FF}
+ \do{MeroiticHieroglyphs}{"010980}{"01099F}
+ \do{Miao}{"016F00}{"016F9F}
+ \do{Sharada}{"011180}{"0111DF}
+ \do{SoraSompeng}{"0110D0}{"0110FF}
+ \do{SundaneseSupplement}{"01CC0}{"01CCF}
+ \do{Takri}{"011680}{"0116CF}
+% Unicode 7.0 additions
+ \do{BassaVah}{"016AD0}{"016AFF}
+ \do{CaucasianAlbanian}{"010530}{"01056F}
+ \do{CombiningDiacriticalMarksExtended}{"01AB0}{"01AFF}
+ \do{CopticEpactNumbers}{"0102E0}{"0102FF}
+% Duployan (see below)
+ \do{Elbasan}{"010500}{"01052F}
+ \do{GeometricShapesExtended}{"01F780}{"01F7FF}
+ \do{Grantha}{"011300}{"01137F}
+ \do{Khojki}{"011200}{"01124F}
+ \do{Khudawadi}{"0112B0}{"0112FF}
+ \do{LatinExtendedE}{"0AB30}{"0AB6F}
+ \do{LinearA}{"010600}{"01077F}
+ \do{Mahajani}{"011150}{"01117F}
+ \do{Manichaean}{"010AC0}{"010AFF}
+ \do{MendeKikakui}{"01E800}{"01E8DF}
+ \do{Modi}{"011600}{"01165F}
+ \do{Mro}{"016A40}{"016A6F}
+ \do{MyanmarExtendedB}{"0A9E0}{"0A9FF}
+ \do{Nabataean}{"010880}{"0108AF}
+ \do{OldNorthArabian}{"010A80}{"010A9F}
+ \do{OldPermic}{"010350}{"01037F}
+ \do{OrnamentalDingbats}{"01F650}{"01F67F}
+ \do{PahawhHmong}{"016B00}{"016B8F}
+ \do{Palmyrene}{"010860}{"01087F}
+ \do{PauCinHau}{"011AC0}{"011AFF}
+ \do{PsalterPahlavi}{"010B80}{"010BAF}
+% ShorthandFormatControls (see below)
+ \do{Siddham}{"011580}{"0115FF}
+ \do{SinhalaArchaicNumbers}{"0111E0}{"0111FF}
+ \do{SupplementalArrowsC}{"01F800}{"01F8FF}
+ \do{Tirhuta}{"011480}{"0114DF}
+ \do{WarangCiti}{"0118A0}{"0118FF}
+% Unicode 8.0 additions
+ \do{Ahom}{"011700}{"01173F}
+ \do{AnatolianHieroglyphs}{"014400}{"01467F}
+ \do{CherokeeSupplement}{"0AB70}{"0ABBF}
+ \do{CJKUnifiedIdeographsExtensionE}{"02B820}{"02CEAF}
+ \do{EarlyDynasticCuneiform}{"012480}{"01254F}
+ \do{Hatran}{"0108E0}{"0108FF}
+ \do{Multani}{"011280}{"0112AF}
+ \do{OldHungarian}{"010C80}{"010CFF}
+ \do{SupplementalSymbolsAndPictographs}{"01F900}{"01F9FF}
+% SuttonSignWriting (see below)
+%
+ \ifdefined\XeTeXinterwordspaceshaping
+ \do{SupplementaryPrivateUseAreaA}{"0F0000}{"0FFFFF}
+ \do{SupplementaryPrivateUseAreaB}{"0100000}{"010FFFF}
+ \do{Duployan}{"01BC00}{"01BC9F}
+ \do{ShorthandFormatControls}{"01BCA0}{"01BCAF}
+ \do{SuttonSignWriting}{"01D800}{"01DAAF}
+ \fi
}
% ----------------------------------------------------------------------------
-% Option handling lets the user turn off "load all" and selectively enable only those blocks
+% Option handling lets the user turn off "load all" and selectively enable only those blocks
% they are interested in
% ----------------------------------------------------------------------------
@@ -256,6 +364,7 @@
\def\ArabicsClasses{
\do{Arabic}
+ \do{ArabicExtendedA}
\do{ArabicPresentationFormsA}
\do{ArabicPresentationFormsB}
\do{ArabicSupplement}
@@ -276,7 +385,9 @@
\do{CJKUnifiedIdeographsExtensionB}
\do{CJKUnifiedIdeographsExtensionC}
\do{CJKUnifiedIdeographsExtensionD}
+ \do{CJKUnifiedIdeographsExtensionE}
\do{EnclosedCJKLettersAndMonths}
+ \do{EnclosedIdeographicSupplement}
\do{IdeographicDescriptionCharacters}
\do{KangxiRadicals}
}
@@ -296,10 +407,14 @@
\do{CJKUnifiedIdeographsExtensionB}
\do{CJKUnifiedIdeographsExtensionC}
\do{CJKUnifiedIdeographsExtensionD}
+ \do{CJKUnifiedIdeographsExtensionE}
\do{EnclosedCJKLettersAndMonths}
+ \do{EnclosedIdeographicSupplement}
\do{HalfwidthAndFullwidthForms}
\do{HangulCompatibilityJamo}
\do{HangulJamo}
+ \do{HangulJamoExtendedA}
+ \do{HangulJamoExtendedB}
\do{HangulSyllables}
\do{Hiragana}
\do{IdeographicDescriptionCharacters}
@@ -315,17 +430,22 @@
\do{CyrillicExtendedA}
\do{CyrillicExtendedB}
\do{CyrillicSupplement}
+ \do{Glagolitic}
}
\def\DiacriticsClasses{
\do{CombiningDiacriticalMarks}
- \do{CombiningDiacriticalMarksforSymbols}
+ \do{CombiningDiacriticalMarksExtended}
+ \do{CombiningDiacriticalMarksForSymbols}
\do{CombiningDiacriticalMarksSupplement}
\do{CombiningHalfMarks}
+ \do{ModifierToneLetters}
+ \do{SpacingModifierLetters}
}
\def\GreekClasses{
\do{Coptic}
+ \do{CopticEpactNumbers}
\do{GreekAndCoptic}
\do{GreekExtended}
}
@@ -333,10 +453,13 @@
\def\KoreanClasses{
\do{HangulCompatibilityJamo}
\do{HangulJamo}
+ \do{HangulJamoExtendedA}
+ \do{HangulJamoExtendedB}
\do{HangulSyllables}
}
\def\JapaneseClasses{
+ \do{CJKUnifiedIdeographs}
\do{HalfwidthAndFullwidthForms}
\do{Hiragana}
\do{Kanbun}
@@ -344,21 +467,22 @@
\do{Katakana}
\do{KatakanaPhoneticExtensions}
\do{KanaSupplement}
- \do{CJKUnifiedIdeographs}
}
\def\LatinClasses{
+ \do{AlphabeticPresentationForms}
\do{BasicLatin}
\do{LatinExtendedAdditional}
\do{LatinExtendedA}
\do{LatinExtendedB}
\do{LatinExtendedC}
\do{LatinExtendedD}
+ \do{LatinExtendedE}
\do{LatinSupplement}
- \do{AlphabeticPresentationForms}
}
\def\MathematicsClasses{
+ \do{ArabicMathematicalAlphabeticSymbols}
\do{MathematicalAlphanumericSymbols}
\do{MathematicalOperators}
\do{MiscellaneousMathematicalSymbolsA}
@@ -378,24 +502,28 @@
}
\def\SymbolsClasses{
+ \do{AlchemicalSymbols}
\do{Arrows}
\do{BoxDrawing}
\do{ByzantineMusicalSymbols}
\do{ControlPictures}
\do{CurrencySymbols}
+ \do{Dingbats}
+ \do{Emoticons}
\do{GeometricShapes}
+ \do{GeometricShapesExtended}
\do{LetterlikeSymbols}
\do{MiscellaneousSymbols}
\do{MiscellaneousSymbolsAndArrows}
+ \do{MiscellaneousSymbolsAndPictographs}
\do{MiscellaneousTechnical}
+ \do{NumberForms}
+ \do{OrnamentalDingbats}
\do{SupplementalArrowsA}
\do{SupplementalArrowsB}
- \do{VariationSelectors}
- \do{VariationSelectorsSupplement}
- \do{MiscellaneousSymbolsAndPictographs}
- \do{Emoticons}
+ \do{SupplementalArrowsC}
+ \do{SupplementalSymbolsAndPictographs}
\do{TransportAndMapSymbols}
- \do{AlchemicalSymbols}
}
\def\YiClasses{
@@ -405,16 +533,31 @@
\def\OtherClasses{
\do{AegeanNumbers}
+ \do{Ahom}
+ \do{AnatolianHieroglyphs}
\do{AncientGreekMusicalNotation}
\do{AncientGreekNumbers}
+ \do{AncientSymbols}
\do{Armenian}
+ \do{Avestan}
\do{Balinese}
+ \do{Bamum}
+ \do{BamumSupplement}
+ \do{BassaVah}
+ \do{Batak}
\do{Bengali}
\do{BlockElements}
+ \do{Brahmi}
\do{BraillePatterns}
\do{Buginese}
\do{Buhid}
+ \do{Carian}
+ \do{Cham}
+ \do{CaucasianAlbanian}
+ \do{Chakma}
\do{Cherokee}
+ \do{CherokeeSupplement}
+ \do{CommonIndicNumberForms}
\do{Coptic}
\do{CountingRodNumerals}
\do{Cuneiform}
@@ -422,72 +565,142 @@
\do{CypriotSyllabary}
\do{Deseret}
\do{Devanagari}
- \do{Dingbats}
\do{DominoTiles}
+% Duployan (see below)
+ \do{EarlyDynasticCuneiform}
+ \do{EgyptianHieroglyphs}
+ \do{Elbasan}
\do{EnclosedAlphanumerics}
+ \do{EnclosedAlphanumericSupplement}
\do{Ethiopic}
\do{EthiopicExtended}
+ \do{EthiopicExtendedA}
\do{EthiopicSupplement}
\do{Georgian}
\do{GeorgianSupplement}
- \do{Glagolitic}
\do{Gothic}
+ \do{Grantha}
\do{Gujarati}
\do{Gurmukhi}
\do{Hanunoo}
+ \do{Hatran}
\do{Hebrew}
+ \do{ImperialAramaic}
+ \do{InscriptionalPahlavi}
+ \do{InscriptionalParthian}
+ \do{Javanese}
+ \do{Kaithi}
\do{Kannada}
+ \do{KayahLi}
\do{Kharoshthi}
\do{Khmer}
\do{KhmerSymbols}
+ \do{Khojki}
+ \do{Khudawadi}
\do{Lao}
+ \do{Lepcha}
\do{Limbu}
+ \do{LinearA}
\do{LinearBIdeograms}
\do{LinearBSyllabary}
+ \do{Lisu}
+ \do{Lycian}
+ \do{Lydian}
+ \do{Mahajani}
\do{MahjongTiles}
\do{Malayalam}
- \do{ModifierToneLetters}
+ \do{Mandaic}
+ \do{Manichaean}
+ \do{MeeteiMayek}
+ \do{MeeteiMayekExtensions}
+ \do{MendeKikakui}
+ \do{MeroiticCursive}
+ \do{MeroiticHieroglyphs}
+ \do{Miao}
+ \do{Modi}
\do{Mongolian}
+ \do{Mro}
+ \do{Multani}
\do{MusicalSymbols}
\do{Myanmar}
+ \do{MyanmarExtendedA}
+ \do{MyanmarExtendedB}
+ \do{Nabataean}
\do{NewTaiLue}
\do{NKo}
- \do{NumberForms}
\do{Ogham}
+ \do{OlChiki}
+ \do{OldHungarian}
\do{OldItalic}
+ \do{OldNorthArabian}
+ \do{OldPermic}
\do{OldPersian}
+ \do{OldSouthArabian}
+ \do{OldTurkic}
\do{OpticalCharacterRecognition}
\do{Oriya}
\do{Osmanya}
+ \do{PahawhHmong}
+ \do{Palmyrene}
+ \do{PauCinHau}
\do{PhagsPa}
+ \do{PhaistosDisc}
\do{Phoenician}
+ \do{PlayingCards}
\do{PrivateUseArea}
+ \do{PsalterPahlavi}
+ \do{Rejang}
+ \do{RumiNumeralSymbols}
\do{Runic}
+ \do{Samaritan}
+ \do{Saurashtra}
+ \do{Sharada}
\do{Shavian}
+% ShorthandFormatControls (see below)
+ \do{Siddham}
\do{Sinhala}
+ \do{SinhalaArchaicNumbers}
\do{SmallFormVariants}
- \do{SpacingModifierLetters}
- \do{Specials}
+ \do{SoraSompeng}
+ \do{Sundanese}
+ \do{SundaneseSupplement}
\do{SuperscriptsAndSubscripts}
- \do{SupplementaryPrivateUseAreaA}
- \do{SupplementaryPrivateUseAreaB}
+% SupplementaryPrivateUseAreaA (see below)
+% SupplementaryPrivateUseAreaB (see below)
+% SuttonSignWriting (see below)
\do{SylotiNagri}
\do{Syriac}
\do{Tagalog}
\do{Tagbanwa}
\do{Tags}
\do{TaiLe}
+ \do{TaiTham}
+ \do{TaiViet}
\do{TaiXuanJingSymbols}
+ \do{Takri}
\do{Tamil}
\do{Telugu}
\do{Thaana}
\do{Thai}
\do{Tibetan}
\do{Tifinagh}
+ \do{Tirhuta}
\do{Ugaritic}
\do{UnifiedCanadianAboriginalSyllabics}
+ \do{UnifiedCanadianAboriginalSyllabicsExtended}
+ \do{Vai}
+ \do{VedicExtensions}
\do{VerticalForms}
+ \do{WarangCiti}
\do{YijingHexagramSymbols}
+%
+ \ifdefined\XeTeXinterwordspaceshaping
+ \do{SupplementaryPrivateUseAreaA}
+ \do{SupplementaryPrivateUseAreaB}
+ \do{Duployan}
+ \do{ShorthandFormatControls}
+ \do{SuttonSignWriting}
+ \fi
}
% For each class group Z we define the relative option
@@ -588,8 +801,17 @@
% finally, we record the end of our charclass range
\chardef\@classend=\xe@alloc@intercharclass
+
%%% 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}
% ----------------------------------------------------------------------------
@@ -604,8 +826,8 @@
\XeTeXinterchartoks\csname #1Class\endcsname \count@={#3}%
\fi
\repeat
- \XeTeXinterchartoks\@cclv\csname #1Class\endcsname={#2}%
- \XeTeXinterchartoks\csname #1Class\endcsname\@cclv={#3}%
+ \XeTeXinterchartoks\@ucharclass@boundary\csname #1Class\endcsname={#2}%
+ \XeTeXinterchartoks\csname #1Class\endcsname\@ucharclass@boundary={#3}%
\else
\if@ucharclassverbose
\PackageWarningNoLine{ucharclasses}{Class #1\MessageBreak
@@ -627,7 +849,7 @@
\XeTeXinterchartoks\count@ \csname #1Class\endcsname={#2}%
\fi
\repeat
- \XeTeXinterchartoks\@cclv\csname #1Class\endcsname={#2}%
+ \XeTeXinterchartoks\@ucharclass@boundary\csname #1Class\endcsname={#2}%
\else
\if@ucharclassverbose
\PackageWarningNoLine{ucharclasses}{Class #1\MessageBreak
@@ -649,7 +871,7 @@
\XeTeXinterchartoks\csname #1Class\endcsname \count@={#2}%
\fi
\repeat
- \XeTeXinterchartoks\csname #1Class\endcsname\@cclv={#2}%
+ \XeTeXinterchartoks\csname #1Class\endcsname\@ucharclass@boundary={#2}%
\else
\if@ucharclassverbose
\PackageWarningNoLine{ucharclasses}{Class #1\MessageBreak
@@ -721,4 +943,4 @@
\let\do\@undefined\let\doclass\@undefined
\endinput
%
-% End of file `ucharclasses.sty'. \ No newline at end of file
+% End of file `ucharclasses.sty'.