diff options
author | Karl Berry <karl@freefriends.org> | 2016-04-23 21:44:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-04-23 21:44:36 +0000 |
commit | 112ee3ec563331c5c7380269bff5dc068d8509a6 (patch) | |
tree | fba242f12dbab867dbc7579e641b2f2b6a672819 /Master/texmf-dist/tex/xelatex | |
parent | 9cde404237f8442ec290892a907d1fce70e864fa (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')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty | 646 |
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'. |