diff options
author | Karl Berry <karl@freefriends.org> | 2010-12-21 23:57:50 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-12-21 23:57:50 +0000 |
commit | acc3b35eec6064cf6c468aeed3a19f83813dde8d (patch) | |
tree | e814a6649caa14203f67e6ddf96f7d2212ce7bda /Master/texmf-dist/tex/xelatex/ucharclasses | |
parent | bbaaccee05e7f1de7db31d4d2b56b8fff1f28d85 (diff) |
new xelatex package ucharclasses 1.0 (21dec10)
git-svn-id: svn://tug.org/texlive/trunk@20821 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/ucharclasses')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty | 1587 |
1 files changed, 1587 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty b/Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty new file mode 100644 index 00000000000..62059349ad0 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/ucharclasses/ucharclasses.sty @@ -0,0 +1,1587 @@ +% ---------------------------------------------------------------------------- +% 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 +% 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. +% +% This package was written by Mike "Pomax" Kamermans, from nihongoresources +% and is © 2010, Michiel Kamermans. You may freely use this package, but you are +% discouraged from modifying this package and then redistributing it. Instead, please +% contact me (ideally on the XeTeX mailing list) and we can discuss the changes +% you wish to make. If they benefit everyone, they will be worked in as a new version. +% +% ---------------------------------------------------------------------------- + +\ProvidesPackage{ucharclasses}[2010/12/19 v1.0 Unicode block character classes for XeLaTeX] + +% ---------------------------------------------------------------------------- +% The package options allow you to selectively enable certain unicode blocks +% ---------------------------------------------------------------------------- + +% load indicator "flags" - master flag + +\newcommand{\loadAllClasses}{1} +\newcommand{\overrideClassLoading}{\renewcommand{\loadAllClasses}{0}} + +% load indicator "flags" - block flags + +% Unicode 5.1 blocks: + +\newcommand{\enableAegeanNumbers}{0} +\newcommand{\enableAlphabeticPresentationForms}{0} +\newcommand{\enableAncientGreekMusicalNotation}{0} +\newcommand{\enableAncientGreekNumbers}{0} +\newcommand{\enableAncientSymbols}{0} +\newcommand{\enableArabic}{0} +\newcommand{\enableArabicPresentationFormsA}{0} +\newcommand{\enableArabicPresentationFormsB}{0} +\newcommand{\enableArabicSupplement}{0} +\newcommand{\enableArmenian}{0} +\newcommand{\enableArrows}{0} +\newcommand{\enableBalinese}{0} +\newcommand{\enableBasicLatin}{0} +\newcommand{\enableBengali}{0} +\newcommand{\enableBlockElements}{0} +\newcommand{\enableBopomofo}{0} +\newcommand{\enableBopomofoExtended}{0} +\newcommand{\enableBoxDrawing}{0} +\newcommand{\enableBraillePatterns}{0} +\newcommand{\enableBuginese}{0} +\newcommand{\enableBuhid}{0} +\newcommand{\enableByzantineMusicalSymbols}{0} +\newcommand{\enableCarian}{0} +\newcommand{\enableCham}{0} +\newcommand{\enableCherokee}{0} +\newcommand{\enableCJKCompatibility}{0} +\newcommand{\enableCJKCompatibilityForms}{0} +\newcommand{\enableCJKCompatibilityIdeographs}{0} +\newcommand{\enableCJKCompatibilityIdeographsSupplement}{0} +\newcommand{\enableCJKRadicalsSupplement}{0} +\newcommand{\enableCJKStrokes}{0} +\newcommand{\enableCJKSymbolsAndPunctuation}{0} +\newcommand{\enableCJKUnifiedIdeographs}{0} +\newcommand{\enableCJKUnifiedIdeographsExtensionA}{0} +\newcommand{\enableCJKUnifiedIdeographsExtensionB}{0} +\newcommand{\enableCJKUnifiedIdeographsExtensionC}{0} +\newcommand{\enableCombiningDiacriticalMarks}{0} +\newcommand{\enableCombiningDiacriticalMarksforSymbols}{0} +\newcommand{\enableCombiningDiacriticalMarksSupplement}{0} +\newcommand{\enableCombiningHalfMarks}{0} +\newcommand{\enableControlPictures}{0} +\newcommand{\enableCoptic}{0} +\newcommand{\enableCountingRodNumerals}{0} +\newcommand{\enableCuneiform}{0} +\newcommand{\enableCuneiformNumbersAndPunctuation}{0} +\newcommand{\enableCurrencySymbols}{0} +\newcommand{\enableCypriotSyllabary}{0} +\newcommand{\enableCyrillic}{0} +\newcommand{\enableCyrillicExtendedA}{0} +\newcommand{\enableCyrillicExtendedB}{0} +\newcommand{\enableCyrillicSupplement}{0} +\newcommand{\enableDeseret}{0} +\newcommand{\enableDevanagari}{0} +\newcommand{\enableDingbats}{0} +\newcommand{\enableDominoTiles}{0} +\newcommand{\enableEnclosedAlphanumerics}{0} +\newcommand{\enableEnclosedCJKLettersAndMonths}{0} +\newcommand{\enableEthiopic}{0} +\newcommand{\enableEthiopicExtended}{0} +\newcommand{\enableEthiopicSupplement}{0} +\newcommand{\enableGeneralPunctuation}{0} +\newcommand{\enableGeometricShapes}{0} +\newcommand{\enableGeorgian}{0} +\newcommand{\enableGeorgianSupplement}{0} +\newcommand{\enableGlagolitic}{0} +\newcommand{\enableGothic}{0} +\newcommand{\enableGreekAndCoptic}{0} +\newcommand{\enableGreekExtended}{0} +\newcommand{\enableGujarati}{0} +\newcommand{\enableGurmukhi}{0} +\newcommand{\enableHalfwidthAndFullwidthForms}{0} +\newcommand{\enableHangulCompatibilityJamo}{0} +\newcommand{\enableHangulJamo}{0} +\newcommand{\enableHangulSyllables}{0} +\newcommand{\enableHanunoo}{0} +\newcommand{\enableHebrew}{0} +\newcommand{\enableHiragana}{0} +\newcommand{\enableIdeographicDescriptionCharacters}{0} +\newcommand{\enableIPAExtensions}{0} +\newcommand{\enableKanbun}{0} +\newcommand{\enableKangxiRadicals}{0} +\newcommand{\enableKannada}{0} +\newcommand{\enableKatakana}{0} +\newcommand{\enableKatakanaPhoneticExtensions}{0} +\newcommand{\enableKayahLi}{0} +\newcommand{\enableKharoshthi}{0} +\newcommand{\enableKhmer}{0} +\newcommand{\enableKhmerSymbols}{0} +\newcommand{\enableLao}{0} +\newcommand{\enableLatinExtendedAdditional}{0} +\newcommand{\enableLatinExtendedA}{0} +\newcommand{\enableLatinExtendedB}{0} +\newcommand{\enableLatinExtendedC}{0} +\newcommand{\enableLatinExtendedD}{0} +\newcommand{\enableLatinSupplement}{0} +\newcommand{\enableLepcha}{0} +\newcommand{\enableLetterlikeSymbols}{0} +\newcommand{\enableLimbu}{0} +\newcommand{\enableLinearBIdeograms}{0} +\newcommand{\enableLinearBSyllabary}{0} +\newcommand{\enableLycian}{0} +\newcommand{\enableLydian}{0} +\newcommand{\enableMahjongTiles}{0} +\newcommand{\enableMalayalam}{0} +\newcommand{\enableMathematicalAlphanumericSymbols}{0} +\newcommand{\enableMathematicalOperators}{0} +\newcommand{\enableMiscellaneousMathematicalSymbolsA}{0} +\newcommand{\enableMiscellaneousMathematicalSymbolsB}{0} +\newcommand{\enableMiscellaneousSymbols}{0} +\newcommand{\enableMiscellaneousSymbolsAndArrows}{0} +\newcommand{\enableMiscellaneousTechnical}{0} +\newcommand{\enableModifierToneLetters}{0} +\newcommand{\enableMongolian}{0} +\newcommand{\enableMusicalSymbols}{0} +\newcommand{\enableMyanmar}{0} +\newcommand{\enableNewTaiLue}{0} +\newcommand{\enableNKo}{0} +\newcommand{\enableNumberForms}{0} +\newcommand{\enableOgham}{0} +\newcommand{\enableOldChiki}{0} +\newcommand{\enableOldItalic}{0} +\newcommand{\enableOldPersian}{0} +\newcommand{\enableOpticalCharacterRecognition}{0} +\newcommand{\enableOriya}{0} +\newcommand{\enableOsmanya}{0} +\newcommand{\enablePhagsPa}{0} +\newcommand{\enablePhaistosDisc}{0} +\newcommand{\enablePhoenician}{0} +\newcommand{\enablePhoneticExtensions}{0} +\newcommand{\enablePhoneticExtensionsSupplement}{0} +\newcommand{\enablePrivateUseArea}{0} +\newcommand{\enableRejang}{0} +\newcommand{\enableRunic}{0} +\newcommand{\enableSaurashtra}{0} +\newcommand{\enableShavian}{0} +\newcommand{\enableSinhala}{0} +\newcommand{\enableSmallFormVariants}{0} +\newcommand{\enableSpacingModifierLetters}{0} +\newcommand{\enableSpecials}{0} +\newcommand{\enableSuperscriptsAndSubscripts}{0} +\newcommand{\enableSupplementalArrowsA}{0} +\newcommand{\enableSupplementalArrowsB}{0} +\newcommand{\enableSupplementalMathematicalOperators}{0} +\newcommand{\enableSupplementalPunctuation}{0} +\newcommand{\enableSupplementaryPrivateUseAreaA}{0} +\newcommand{\enableSupplementaryPrivateUseAreaB}{0} +\newcommand{\enableSylotiNagri}{0} +\newcommand{\enableSyriac}{0} +\newcommand{\enableTagalog}{0} +\newcommand{\enableTagbanwa}{0} +\newcommand{\enableTags}{0} +\newcommand{\enableTaiLe}{0} +\newcommand{\enableTaiXuanJingSymbols}{0} +\newcommand{\enableTamil}{0} +\newcommand{\enableTelugu}{0} +\newcommand{\enableThaana}{0} +\newcommand{\enableThai}{0} +\newcommand{\enableTibetan}{0} +\newcommand{\enableTifinagh}{0} +\newcommand{\enableUgaritic}{0} +\newcommand{\enableUnifiedCanadianAboriginalSyllabics}{0} +\newcommand{\enableVai}{0} +\newcommand{\enableVariationSelectors}{0} +\newcommand{\enableVariationSelectorsSupplement}{0} +\newcommand{\enableVerticalForms}{0} +\newcommand{\enableYiRadicals}{0} +\newcommand{\enableYiSyllables}{0} +\newcommand{\enableYijingHexagramSymbols}{0} + +% New blocks in Unicode 6.0: + +\newcommand{\enableMandaic}{0} +\newcommand{\enableBatak}{0} +\newcommand{\enableEthiopicExtendedA}{0} +\newcommand{\enableBrahmi}{0} +\newcommand{\enableBamumSupplement}{0} +\newcommand{\enableKanaSupplement}{0} +\newcommand{\enablePlayingCards}{0} +\newcommand{\enableMiscellaneousSymbolsAndPictographs}{0} +\newcommand{\enableEmoticons}{0} +\newcommand{\enableTransportAndMapSymbols}{0} +\newcommand{\enableAlchemicalSymbols}{0} +\newcommand{\enableCJKUnifiedIdeographsExtensionD}{0} + +% ---------------------------------------------------------------------------- +% Option handling lets the user turn off "load all" and selectively enable only those blocks +% they are interested in +% ---------------------------------------------------------------------------- + +\DeclareOption{AegeanNumbers}{\overrideClassLoading\renewcommand{\enableAegeanNumbers}{1}} +\DeclareOption{AlphabeticPresentationForms}{\overrideClassLoading\renewcommand{\enableAlphabeticPresentationForms}{1}} +\DeclareOption{AncientGreekMusicalNotation}{\overrideClassLoading\renewcommand{\enableAncientGreekMusicalNotation}{1}} +\DeclareOption{AncientGreekNumbers}{\overrideClassLoading\renewcommand{\enableAncientGreekNumbers}{1}} +\DeclareOption{AncientSymbols}{\overrideClassLoading\renewcommand{\enableAncientSymbols}{1}} +\DeclareOption{Arabic}{\overrideClassLoading\renewcommand{\enableArabic}{1}} +\DeclareOption{ArabicPresentationFormsA}{\overrideClassLoading\renewcommand{\enableArabicPresentationFormsA}{1}} +\DeclareOption{ArabicPresentationFormsB}{\overrideClassLoading\renewcommand{\enableArabicPresentationFormsB}{1}} +\DeclareOption{ArabicSupplement}{\overrideClassLoading\renewcommand{\enableArabicSupplement}{1}} +\DeclareOption{Armenian}{\overrideClassLoading\renewcommand{\enableArmenian}{1}} +\DeclareOption{Arrows}{\overrideClassLoading\renewcommand{\enableArrows}{1}} +\DeclareOption{Balinese}{\overrideClassLoading\renewcommand{\enableBalinese}{1}} +\DeclareOption{BasicLatin}{\overrideClassLoading\renewcommand{\enableBasicLatin}{1}} +\DeclareOption{Bengali}{\overrideClassLoading\renewcommand{\enableBengali}{1}} +\DeclareOption{BlockElements}{\overrideClassLoading\renewcommand{\enableBlockElements}{1}} +\DeclareOption{Bopomofo}{\overrideClassLoading\renewcommand{\enableBopomofo}{1}} +\DeclareOption{BopomofoExtended}{\overrideClassLoading\renewcommand{\enableBopomofoExtended}{1}} +\DeclareOption{BoxDrawing}{\overrideClassLoading\renewcommand{\enableBoxDrawing}{1}} +\DeclareOption{BraillePatterns}{\overrideClassLoading\renewcommand{\enableBraillePatterns}{1}} +\DeclareOption{Buginese}{\overrideClassLoading\renewcommand{\enableBuginese}{1}} +\DeclareOption{Buhid}{\overrideClassLoading\renewcommand{\enableBuhid}{1}} +\DeclareOption{ByzantineMusicalSymbols}{\overrideClassLoading\renewcommand{\enableByzantineMusicalSymbols}{1}} +\DeclareOption{Carian}{\overrideClassLoading\renewcommand{\enableCarian}{1}} +\DeclareOption{Cham}{\overrideClassLoading\renewcommand{\enableCham}{1}} +\DeclareOption{Cherokee}{\overrideClassLoading\renewcommand{\enableCherokee}{1}} +\DeclareOption{CJKCompatibility}{\overrideClassLoading\renewcommand{\enableCJKCompatibility}{1}} +\DeclareOption{CJKCompatibilityForms}{\overrideClassLoading\renewcommand{\enableCJKCompatibilityForms}{1}} +\DeclareOption{CJKCompatibilityIdeographs}{\overrideClassLoading\renewcommand{\enableCJKCompatibilityIdeographs}{1}} +\DeclareOption{CJKCompatibilityIdeographsSupplement}{\overrideClassLoading\renewcommand{\enableCJKCompatibilityIdeographsSupplement}{1}} +\DeclareOption{CJKRadicalsSupplement}{\overrideClassLoading\renewcommand{\enableCJKRadicalsSupplement}{1}} +\DeclareOption{CJKStrokes}{\overrideClassLoading\renewcommand{\enableCJKStrokes}{1}} +\DeclareOption{CJKSymbolsAndPunctuation}{\overrideClassLoading\renewcommand{\enableCJKSymbolsAndPunctuation}{1}} +\DeclareOption{CJKUnifiedIdeographs}{\overrideClassLoading\renewcommand{\enableCJKUnifiedIdeographs}{1}} +\DeclareOption{CJKUnifiedIdeographsExtensionA}{\overrideClassLoading\renewcommand{\enableCJKUnifiedIdeographsExtensionA}{1}} +\DeclareOption{CJKUnifiedIdeographsExtensionB}{\overrideClassLoading\renewcommand{\enableCJKUnifiedIdeographsExtensionB}{1}} +\DeclareOption{CJKUnifiedIdeographsExtensionC}{\overrideClassLoading\renewcommand{\enableCJKUnifiedIdeographsExtensionC}{1}} +\DeclareOption{CombiningDiacriticalMarks}{\overrideClassLoading\renewcommand{\enableCombiningDiacriticalMarks}{1}} +\DeclareOption{CombiningDiacriticalMarksforSymbols}{\overrideClassLoading\renewcommand{\enableCombiningDiacriticalMarksforSymbols}{1}} +\DeclareOption{CombiningDiacriticalMarksSupplement}{\overrideClassLoading\renewcommand{\enableCombiningDiacriticalMarksSupplement}{1}} +\DeclareOption{CombiningHalfMarks}{\overrideClassLoading\renewcommand{\enableCombiningHalfMarks}{1}} +\DeclareOption{ControlPictures}{\overrideClassLoading\renewcommand{\enableControlPictures}{1}} +\DeclareOption{Coptic}{\overrideClassLoading\renewcommand{\enableCoptic}{1}} +\DeclareOption{CountingRodNumerals}{\overrideClassLoading\renewcommand{\enableCountingRodNumerals}{1}} +\DeclareOption{Cuneiform}{\overrideClassLoading\renewcommand{\enableCuneiform}{1}} +\DeclareOption{CuneiformNumbersAndPunctuation}{\overrideClassLoading\renewcommand{\enableCuneiformNumbersAndPunctuation}{1}} +\DeclareOption{CurrencySymbols}{\overrideClassLoading\renewcommand{\enableCurrencySymbols}{1}} +\DeclareOption{CypriotSyllabary}{\overrideClassLoading\renewcommand{\enableCypriotSyllabary}{1}} +\DeclareOption{Cyrillic}{\overrideClassLoading\renewcommand{\enableCyrillic}{1}} +\DeclareOption{CyrillicExtendedA}{\overrideClassLoading\renewcommand{\enableCyrillicExtendedA}{1}} +\DeclareOption{CyrillicExtendedB}{\overrideClassLoading\renewcommand{\enableCyrillicExtendedB}{1}} +\DeclareOption{CyrillicSupplement}{\overrideClassLoading\renewcommand{\enableCyrillicSupplement}{1}} +\DeclareOption{Deseret}{\overrideClassLoading\renewcommand{\enableDeseret}{1}} +\DeclareOption{Devanagari}{\overrideClassLoading\renewcommand{\enableDevanagari}{1}} +\DeclareOption{Dingbats}{\overrideClassLoading\renewcommand{\enableDingbats}{1}} +\DeclareOption{DominoTiles}{\overrideClassLoading\renewcommand{\enableDominoTiles}{1}} +\DeclareOption{EnclosedAlphanumerics}{\overrideClassLoading\renewcommand{\enableEnclosedAlphanumerics}{1}} +\DeclareOption{EnclosedCJKLettersAndMonths}{\overrideClassLoading\renewcommand{\enableEnclosedCJKLettersAndMonths}{1}} +\DeclareOption{Ethiopic}{\overrideClassLoading\renewcommand{\enableEthiopic}{1}} +\DeclareOption{EthiopicExtended}{\overrideClassLoading\renewcommand{\enableEthiopicExtended}{1}} +\DeclareOption{EthiopicSupplement}{\overrideClassLoading\renewcommand{\enableEthiopicSupplement}{1}} +\DeclareOption{GeneralPunctuation}{\overrideClassLoading\renewcommand{\enableGeneralPunctuation}{1}} +\DeclareOption{GeometricShapes}{\overrideClassLoading\renewcommand{\enableGeometricShapes}{1}} +\DeclareOption{Georgian}{\overrideClassLoading\renewcommand{\enableGeorgian}{1}} +\DeclareOption{GeorgianSupplement}{\overrideClassLoading\renewcommand{\enableGeorgianSupplement}{1}} +\DeclareOption{Glagolitic}{\overrideClassLoading\renewcommand{\enableGlagolitic}{1}} +\DeclareOption{Gothic}{\overrideClassLoading\renewcommand{\enableGothic}{1}} +\DeclareOption{GreekAndCoptic}{\overrideClassLoading\renewcommand{\enableGreekAndCoptic}{1}} +\DeclareOption{GreekExtended}{\overrideClassLoading\renewcommand{\enableGreekExtended}{1}} +\DeclareOption{Gujarati}{\overrideClassLoading\renewcommand{\enableGujarati}{1}} +\DeclareOption{Gurmukhi}{\overrideClassLoading\renewcommand{\enableGurmukhi}{1}} +\DeclareOption{HalfwidthAndFullwidthForms}{\overrideClassLoading\renewcommand{\enableHalfwidthAndFullwidthForms}{1}} +\DeclareOption{HangulCompatibilityJamo}{\overrideClassLoading\renewcommand{\enableHangulCompatibilityJamo}{1}} +\DeclareOption{HangulJamo}{\overrideClassLoading\renewcommand{\enableHangulJamo}{1}} +\DeclareOption{HangulSyllables}{\overrideClassLoading\renewcommand{\enableHangulSyllables}{1}} +\DeclareOption{Hanunoo}{\overrideClassLoading\renewcommand{\enableHanunoo}{1}} +\DeclareOption{Hebrew}{\overrideClassLoading\renewcommand{\enableHebrew}{1}} +\DeclareOption{Hiragana}{\overrideClassLoading\renewcommand{\enableHiragana}{1}} +\DeclareOption{IdeographicDescriptionCharacters}{\overrideClassLoading\renewcommand{\enableIdeographicDescriptionCharacters}{1}} +\DeclareOption{IPAExtensions}{\overrideClassLoading\renewcommand{\enableIPAExtensions}{1}} +\DeclareOption{Kanbun}{\overrideClassLoading\renewcommand{\enableKanbun}{1}} +\DeclareOption{KangxiRadicals}{\overrideClassLoading\renewcommand{\enableKangxiRadicals}{1}} +\DeclareOption{Kannada}{\overrideClassLoading\renewcommand{\enableKannada}{1}} +\DeclareOption{Katakana}{\overrideClassLoading\renewcommand{\enableKatakana}{1}} +\DeclareOption{KatakanaPhoneticExtensions}{\overrideClassLoading\renewcommand{\enableKatakanaPhoneticExtensions}{1}} +\DeclareOption{KayahLi}{\overrideClassLoading\renewcommand{\enableKayahLi}{1}} +\DeclareOption{Kharoshthi}{\overrideClassLoading\renewcommand{\enableKharoshthi}{1}} +\DeclareOption{Khmer}{\overrideClassLoading\renewcommand{\enableKhmer}{1}} +\DeclareOption{KhmerSymbols}{\overrideClassLoading\renewcommand{\enableKhmerSymbols}{1}} +\DeclareOption{Lao}{\overrideClassLoading\renewcommand{\enableLao}{1}} +\DeclareOption{LatinExtendedAdditional}{\overrideClassLoading\renewcommand{\enableLatinExtendedAdditional}{1}} +\DeclareOption{LatinExtendedA}{\overrideClassLoading\renewcommand{\enableLatinExtendedA}{1}} +\DeclareOption{LatinExtendedB}{\overrideClassLoading\renewcommand{\enableLatinExtendedB}{1}} +\DeclareOption{LatinExtendedC}{\overrideClassLoading\renewcommand{\enableLatinExtendedC}{1}} +\DeclareOption{LatinExtendedD}{\overrideClassLoading\renewcommand{\enableLatinExtendedD}{1}} +\DeclareOption{LatinSupplement}{\overrideClassLoading\renewcommand{\enableLatinSupplement}{1}} +\DeclareOption{Lepcha}{\overrideClassLoading\renewcommand{\enableLepcha}{1}} +\DeclareOption{LetterlikeSymbols}{\overrideClassLoading\renewcommand{\enableLetterlikeSymbols}{1}} +\DeclareOption{Limbu}{\overrideClassLoading\renewcommand{\enableLimbu}{1}} +\DeclareOption{LinearBIdeograms}{\overrideClassLoading\renewcommand{\enableLinearBIdeograms}{1}} +\DeclareOption{LinearBSyllabary}{\overrideClassLoading\renewcommand{\enableLinearBSyllabary}{1}} +\DeclareOption{Lycian}{\overrideClassLoading\renewcommand{\enableLycian}{1}} +\DeclareOption{Lydian}{\overrideClassLoading\renewcommand{\enableLydian}{1}} +\DeclareOption{MahjongTiles}{\overrideClassLoading\renewcommand{\enableMahjongTiles}{1}} +\DeclareOption{Malayalam}{\overrideClassLoading\renewcommand{\enableMalayalam}{1}} +\DeclareOption{MathematicalAlphanumericSymbols}{\overrideClassLoading\renewcommand{\enableMathematicalAlphanumericSymbols}{1}} +\DeclareOption{MathematicalOperators}{\overrideClassLoading\renewcommand{\enableMathematicalOperators}{1}} +\DeclareOption{MiscellaneousMathematicalSymbolsA}{\overrideClassLoading\renewcommand{\enableMiscellaneousMathematicalSymbolsA}{1}} +\DeclareOption{MiscellaneousMathematicalSymbolsB}{\overrideClassLoading\renewcommand{\enableMiscellaneousMathematicalSymbolsB}{1}} +\DeclareOption{MiscellaneousSymbols}{\overrideClassLoading\renewcommand{\enableMiscellaneousSymbols}{1}} +\DeclareOption{MiscellaneousSymbolsAndArrows}{\overrideClassLoading\renewcommand{\enableMiscellaneousSymbolsAndArrows}{1}} +\DeclareOption{MiscellaneousTechnical}{\overrideClassLoading\renewcommand{\enableMiscellaneousTechnical}{1}} +\DeclareOption{ModifierToneLetters}{\overrideClassLoading\renewcommand{\enableModifierToneLetters}{1}} +\DeclareOption{Mongolian}{\overrideClassLoading\renewcommand{\enableMongolian}{1}} +\DeclareOption{MusicalSymbols}{\overrideClassLoading\renewcommand{\enableMusicalSymbols}{1}} +\DeclareOption{Myanmar}{\overrideClassLoading\renewcommand{\enableMyanmar}{1}} +\DeclareOption{NewTaiLue}{\overrideClassLoading\renewcommand{\enableNewTaiLue}{1}} +\DeclareOption{NKo}{\overrideClassLoading\renewcommand{\enableNKo}{1}} +\DeclareOption{NumberForms}{\overrideClassLoading\renewcommand{\enableNumberForms}{1}} +\DeclareOption{Ogham}{\overrideClassLoading\renewcommand{\enableOgham}{1}} +\DeclareOption{OldChiki}{\overrideClassLoading\renewcommand{\enableOldChiki}{1}} +\DeclareOption{OldItalic}{\overrideClassLoading\renewcommand{\enableOldItalic}{1}} +\DeclareOption{OldPersian}{\overrideClassLoading\renewcommand{\enableOldPersian}{1}} +\DeclareOption{OpticalCharacterRecognition}{\overrideClassLoading\renewcommand{\enableOpticalCharacterRecognition}{1}} +\DeclareOption{Oriya}{\overrideClassLoading\renewcommand{\enableOriya}{1}} +\DeclareOption{Osmanya}{\overrideClassLoading\renewcommand{\enableOsmanya}{1}} +\DeclareOption{PhagsPa}{\overrideClassLoading\renewcommand{\enablePhagsPa}{1}} +\DeclareOption{PhaistosDisc}{\overrideClassLoading\renewcommand{\enablePhaistosDisc}{1}} +\DeclareOption{Phoenician}{\overrideClassLoading\renewcommand{\enablePhoenician}{1}} +\DeclareOption{PhoneticExtensions}{\overrideClassLoading\renewcommand{\enablePhoneticExtensions}{1}} +\DeclareOption{PhoneticExtensionsSupplement}{\overrideClassLoading\renewcommand{\enablePhoneticExtensionsSupplement}{1}} +\DeclareOption{PrivateUseArea}{\overrideClassLoading\renewcommand{\enablePrivateUseArea}{1}} +\DeclareOption{Rejang}{\overrideClassLoading\renewcommand{\enableRejang}{1}} +\DeclareOption{Runic}{\overrideClassLoading\renewcommand{\enableRunic}{1}} +\DeclareOption{Saurashtra}{\overrideClassLoading\renewcommand{\enableSaurashtra}{1}} +\DeclareOption{Shavian}{\overrideClassLoading\renewcommand{\enableShavian}{1}} +\DeclareOption{Sinhala}{\overrideClassLoading\renewcommand{\enableSinhala}{1}} +\DeclareOption{SmallFormVariants}{\overrideClassLoading\renewcommand{\enableSmallFormVariants}{1}} +\DeclareOption{SpacingModifierLetters}{\overrideClassLoading\renewcommand{\enableSpacingModifierLetters}{1}} +\DeclareOption{Specials}{\overrideClassLoading\renewcommand{\enableSpecials}{1}} +\DeclareOption{SuperscriptsAndSubscripts}{\overrideClassLoading\renewcommand{\enableSuperscriptsAndSubscripts}{1}} +\DeclareOption{SupplementalArrowsA}{\overrideClassLoading\renewcommand{\enableSupplementalArrowsA}{1}} +\DeclareOption{SupplementalArrowsB}{\overrideClassLoading\renewcommand{\enableSupplementalArrowsB}{1}} +\DeclareOption{SupplementalMathematicalOperators}{\overrideClassLoading\renewcommand{\enableSupplementalMathematicalOperators}{1}} +\DeclareOption{SupplementalPunctuation}{\overrideClassLoading\renewcommand{\enableSupplementalPunctuation}{1}} +\DeclareOption{SupplementaryPrivateUseAreaA}{\overrideClassLoading\renewcommand{\enableSupplementaryPrivateUseAreaA}{1}} +\DeclareOption{SupplementaryPrivateUseAreaB}{\overrideClassLoading\renewcommand{\enableSupplementaryPrivateUseAreaB}{1}} +\DeclareOption{SylotiNagri}{\overrideClassLoading\renewcommand{\enableSylotiNagri}{1}} +\DeclareOption{Syriac}{\overrideClassLoading\renewcommand{\enableSyriac}{1}} +\DeclareOption{Tagalog}{\overrideClassLoading\renewcommand{\enableTagalog}{1}} +\DeclareOption{Tagbanwa}{\overrideClassLoading\renewcommand{\enableTagbanwa}{1}} +\DeclareOption{Tags}{\overrideClassLoading\renewcommand{\enableTags}{1}} +\DeclareOption{TaiLe}{\overrideClassLoading\renewcommand{\enableTaiLe}{1}} +\DeclareOption{TaiXuanJingSymbols}{\overrideClassLoading\renewcommand{\enableTaiXuanJingSymbols}{1}} +\DeclareOption{Tamil}{\overrideClassLoading\renewcommand{\enableTamil}{1}} +\DeclareOption{Telugu}{\overrideClassLoading\renewcommand{\enableTelugu}{1}} +\DeclareOption{Thaana}{\overrideClassLoading\renewcommand{\enableThaana}{1}} +\DeclareOption{Thai}{\overrideClassLoading\renewcommand{\enableThai}{1}} +\DeclareOption{Tibetan}{\overrideClassLoading\renewcommand{\enableTibetan}{1}} +\DeclareOption{Tifinagh}{\overrideClassLoading\renewcommand{\enableTifinagh}{1}} +\DeclareOption{Ugaritic}{\overrideClassLoading\renewcommand{\enableUgaritic}{1}} +\DeclareOption{UnifiedCanadianAboriginalSyllabics}{\overrideClassLoading\renewcommand{\enableUnifiedCanadianAboriginalSyllabics}{1}} +\DeclareOption{Vai}{\overrideClassLoading\renewcommand{\enableVai}{1}} +\DeclareOption{VariationSelectors}{\overrideClassLoading\renewcommand{\enableVariationSelectors}{1}} +\DeclareOption{VariationSelectorsSupplement}{\overrideClassLoading\renewcommand{\enableVariationSelectorsSupplement}{1}} +\DeclareOption{VerticalForms}{\overrideClassLoading\renewcommand{\enableVerticalForms}{1}} +\DeclareOption{YiRadicals}{\overrideClassLoading\renewcommand{\enableYiRadicals}{1}} +\DeclareOption{YiSyllables}{\overrideClassLoading\renewcommand{\enableYiSyllables}{1}} +\DeclareOption{YijingHexagramSymbols}{\overrideClassLoading\renewcommand{\enableYijingHexagramSymbols}{1}} +\DeclareOption{Mandaic}{\overrideClassLoading\renewcommand{\enableMandaic}{1}} +\DeclareOption{Batak}{\overrideClassLoading\renewcommand{\enableBatak}{1}} +\DeclareOption{EthiopicExtendedA}{\overrideClassLoading\renewcommand{\enableEthiopicExtendedA}{1}} +\DeclareOption{Brahmi}{\overrideClassLoading\renewcommand{\enableBrahmi}{1}} +\DeclareOption{BamumSupplement}{\overrideClassLoading\renewcommand{\enableBamumSupplement}{1}} +\DeclareOption{KanaSupplement}{\overrideClassLoading\renewcommand{\enableKanaSupplement}{1}} +\DeclareOption{PlayingCards}{\overrideClassLoading\renewcommand{\enablePlayingCards}{1}} +\DeclareOption{MiscellaneousSymbolsAndPictographs}{\overrideClassLoading\renewcommand{\enableMiscellaneousSymbolsAndPictographs}{1}} +\DeclareOption{Emoticons}{\overrideClassLoading\renewcommand{\enableEmoticons}{1}} +\DeclareOption{TransportAndMapSymbols}{\overrideClassLoading\renewcommand{\enableTransportAndMapSymbols}{1}} +\DeclareOption{AlchemicalSymbols}{\overrideClassLoading\renewcommand{\enableAlchemicalSymbols}{1}} +\DeclareOption{CJKUnifiedIdeographsExtensionD}{\overrideClassLoading\renewcommand{\enableCJKUnifiedIdeographsExtensionD}{1}} + +% informal groups + +\DeclareOption{Arabic}{ + \overrideClassLoading + \renewcommand{\enableArabic}{1} + \renewcommand{\enableArabicPresentationFormsA}{1} + \renewcommand{\enableArabicPresentationFormsB}{1} + \renewcommand{\enableArabicSupplement}{1}} + +\DeclareOption{Chinese}{ + \overrideClassLoading + \renewcommand{\enableBopomofo}{1} + \renewcommand{\enableBopomofoExtended}{1} + \renewcommand{\enableCJKCompatibility}{1} + \renewcommand{\enableCJKCompatibilityForms}{1} + \renewcommand{\enableCJKCompatibilityIdeographs}{1} + \renewcommand{\enableCJKCompatibilityIdeographsSupplement}{1} + \renewcommand{\enableCJKRadicalsSupplement}{1} + \renewcommand{\enableCJKStrokes}{1} + \renewcommand{\enableCJKSymbolsAndPunctuation}{1} + \renewcommand{\enableCJKUnifiedIdeographs}{1} + \renewcommand{\enableCJKUnifiedIdeographsExtensionA}{1} + \renewcommand{\enableCJKUnifiedIdeographsExtensionB}{1} + \renewcommand{\enableCJKUnifiedIdeographsExtensionC}{1} + \renewcommand{\enableCJKUnifiedIdeographsExtensionD}{1} + \renewcommand{\enableEnclosedCJKLettersAndMonths}{1} + \renewcommand{\enableIdeographicDescriptionCharacters}{1} + \renewcommand{\enableKangxiRadicals}{1} +} + +\DeclareOption{CJK}{ + \overrideClassLoading + \renewcommand{\enableBopomofo}{1} + \renewcommand{\enableBopomofoExtended}{1} + \renewcommand{\enableCJKCompatibility}{1} + \renewcommand{\enableCJKCompatibilityForms}{1} + \renewcommand{\enableCJKCompatibilityIdeographs}{1} + \renewcommand{\enableCJKCompatibilityIdeographsSupplement}{1} + \renewcommand{\enableCJKRadicalsSupplement}{1} + \renewcommand{\enableCJKStrokes}{1} + \renewcommand{\enableCJKSymbolsAndPunctuation}{1} + \renewcommand{\enableCJKUnifiedIdeographs}{1} + \renewcommand{\enableCJKUnifiedIdeographsExtensionA}{1} + \renewcommand{\enableCJKUnifiedIdeographsExtensionB}{1} + \renewcommand{\enableCJKUnifiedIdeographsExtensionC}{1} + \renewcommand{\enableCJKUnifiedIdeographsExtensionD}{1} + \renewcommand{\enableEnclosedCJKLettersAndMonths}{1} + \renewcommand{\enableHalfwidthAndFullwidthForms}{1} + \renewcommand{\enableHangulCompatibilityJamo}{1} + \renewcommand{\enableHangulJamo}{1} + \renewcommand{\enableHangulSyllables}{1} + \renewcommand{\enableHiragana}{1} + \renewcommand{\enableIdeographicDescriptionCharacters}{1} + \renewcommand{\enableKanbun}{1} + \renewcommand{\enableKangxiRadicals}{1} + \renewcommand{\enableKatakana}{1} + \renewcommand{\enableKatakanaPhoneticExtensions}{1} + \renewcommand{\enableKanaSupplement}{1} +} + +\DeclareOption{Cyrillic}{ + \overrideClassLoading + \renewcommand{\enableCyrillic}{1} + \renewcommand{\enableCyrillicExtendedA}{1} + \renewcommand{\enableCyrillicExtendedB}{1} + \renewcommand{\enableCyrillicSupplement}{1} +} + +\DeclareOption{Diacritics}{ + \overrideClassLoading + \renewcommand{\enableCombiningDiacriticalMarks}{1} + \renewcommand{\enableCombiningDiacriticalMarksforSymbols}{1} + \renewcommand{\enableCombiningDiacriticalMarksSupplement}{1} + \renewcommand{\enableCombiningHalfMarks}{1} +} + +\DeclareOption{Greek}{ + \overrideClassLoading + \renewcommand{\enableCoptic}{1} + \renewcommand{\enableGreekAndCoptic}{1} + \renewcommand{\enableGreekExtended}{1} +} + +\DeclareOption{Korean}{ + \overrideClassLoading + \renewcommand{\enableHangulCompatibilityJamo}{1} + \renewcommand{\enableHangulJamo}{1} + \renewcommand{\enableHangulSyllables}{1} +} + +\DeclareOption{Japanese}{ + \overrideClassLoading + \renewcommand{\enableHalfwidthAndFullwidthForms}{1} + \renewcommand{\enableHiragana}{1} + \renewcommand{\enableKanbun}{1} + \renewcommand{\enableKangxiRadicals}{1} + \renewcommand{\enableKatakana}{1} + \renewcommand{\enableKatakanaPhoneticExtensions}{1} + \renewcommand{\enableKanaSupplement}{1} + \renewcommand{\enableCJKUnifiedIdeographs}{1} +} + +\DeclareOption{Latin}{ + \overrideClassLoading + \renewcommand{\enableBasicLatin}{1} + \renewcommand{\enableLatinExtendedAdditional}{1} + \renewcommand{\enableLatinExtendedA}{1} + \renewcommand{\enableLatinExtendedB}{1} + \renewcommand{\enableLatinExtendedC}{1} + \renewcommand{\enableLatinExtendedD}{1} + \renewcommand{\enableLatinSupplement}{1} + \renewcommand{\enableAlphabeticPresentationForms}{1} +} + +\DeclareOption{Mathematics}{ + \overrideClassLoading + \renewcommand{\enableMathematicalAlphanumericSymbols}{1} + \renewcommand{\enableMathematicalOperators}{1} + \renewcommand{\enableMiscellaneousMathematicalSymbolsA}{1} + \renewcommand{\enableMiscellaneousMathematicalSymbolsB}{1} + \renewcommand{\enableSupplementalMathematicalOperators}{1} +} + +\DeclareOption{Phonetics}{ + \overrideClassLoading + \renewcommand{\enableIPAExtensions}{1} + \renewcommand{\enablePhoneticExtensions}{1} + \renewcommand{\enablePhoneticExtensionsSupplement}{1} +} + +\DeclareOption{Punctuation}{ + \overrideClassLoading + \renewcommand{\enableGeneralPunctuation}{1} + \renewcommand{\enableSupplementalPunctuation}{1} +} + +\DeclareOption{Symbols}{ + \overrideClassLoading + \renewcommand{\enableArrows}{1} + \renewcommand{\enableBoxDrawing}{1} + \renewcommand{\enableByzantineMusicalSymbols}{1} + \renewcommand{\enableControlPictures}{1} + \renewcommand{\enableCurrencySymbols}{1} + \renewcommand{\enableGeometricShapes}{1} + \renewcommand{\enableLetterlikeSymbols}{1} + \renewcommand{\enableMiscellaneousSymbols}{1} + \renewcommand{\enableMiscellaneousSymbolsAndArrows}{1} + \renewcommand{\enableMiscellaneousTechnical}{1} + \renewcommand{\enableSupplementalArrowsA}{1} + \renewcommand{\enableSupplementalArrowsB}{1} + \renewcommand{\enableVariationSelectors}{1} + \renewcommand{\enableVariationSelectorsSupplement}{1} + \renewcommand{\enableMiscellaneousSymbolsAndPictographs}{1} + \renewcommand{\enableEmoticons}{1} + \renewcommand{\enableTransportAndMapSymbols}{1} + \renewcommand{\enableAlchemicalSymbols}{1} +} + +\DeclareOption{Yi}{ + \overrideClassLoading + \renewcommand{\enableYiRadicals}{1} + \renewcommand{\enableYiSyllables}{1} +} + +\DeclareOption{Other}{ + \overrideClassLoading + \renewcommand{\enableAegeanNumbers}{1} + \renewcommand{\enableAncientGreekMusicalNotation}{1} + \renewcommand{\enableAncientGreekNumbers}{1} + \renewcommand{\enableArmenian}{1} + \renewcommand{\enableBalinese}{1} + \renewcommand{\enableBengali}{1} + \renewcommand{\enableBlockElements}{1} + \renewcommand{\enableBraillePatterns}{1} + \renewcommand{\enableBuginese}{1} + \renewcommand{\enableBuhid}{1} + \renewcommand{\enableCherokee}{1} + \renewcommand{\enableCoptic}{1} + \renewcommand{\enableCountingRodNumerals}{1} + \renewcommand{\enableCuneiform}{1} + \renewcommand{\enableCuneiformNumbersAndPunctuation}{1} + \renewcommand{\enableCypriotSyllabary}{1} + \renewcommand{\enableDeseret}{1} + \renewcommand{\enableDevanagari}{1} + \renewcommand{\enableDingbats}{1} + \renewcommand{\enableDominoTiles}{1} + \renewcommand{\enableEnclosedAlphanumerics}{1} + \renewcommand{\enableEthiopic}{1} + \renewcommand{\enableEthiopicExtended}{1} + \renewcommand{\enableEthiopicSupplement}{1} + \renewcommand{\enableGeorgian}{1} + \renewcommand{\enableGeorgianSupplement}{1} + \renewcommand{\enableGlagolitic}{1} + \renewcommand{\enableGothic}{1} + \renewcommand{\enableGujarati}{1} + \renewcommand{\enableGurmukhi}{1} + \renewcommand{\enableHanunoo}{1} + \renewcommand{\enableHebrew}{1} + \renewcommand{\enableKannada}{1} + \renewcommand{\enableKharoshthi}{1} + \renewcommand{\enableKhmer}{1} + \renewcommand{\enableKhmerSymbols}{1} + \renewcommand{\enableLao}{1} + \renewcommand{\enableLimbu}{1} + \renewcommand{\enableLinearBIdeograms}{1} + \renewcommand{\enableLinearBSyllabary}{1} + \renewcommand{\enableMahjongTiles}{1} + \renewcommand{\enableMalayalam}{1} + \renewcommand{\enableModifierToneLetters}{1} + \renewcommand{\enableMongolian}{1} + \renewcommand{\enableMusicalSymbols}{1} + \renewcommand{\enableMyanmar}{1} + \renewcommand{\enableNewTaiLue}{1} + \renewcommand{\enableNKo}{1} + \renewcommand{\enableNumberForms}{1} + \renewcommand{\enableOgham}{1} + \renewcommand{\enableOldItalic}{1} + \renewcommand{\enableOldPersian}{1} + \renewcommand{\enableOpticalCharacterRecognition}{1} + \renewcommand{\enableOriya}{1} + \renewcommand{\enableOsmanya}{1} + \renewcommand{\enablePhagsPa}{1} + \renewcommand{\enablePhoenician}{1} + \renewcommand{\enablePrivateUseArea}{1} + \renewcommand{\enableRunic}{1} + \renewcommand{\enableShavian}{1} + \renewcommand{\enableSinhala}{1} + \renewcommand{\enableSmallFormVariants}{1} + \renewcommand{\enableSpacingModifierLetters}{1} + \renewcommand{\enableSpecials}{1} + \renewcommand{\enableSuperscriptsAndSubscripts}{1} + \renewcommand{\enableSupplementaryPrivateUseAreaA}{1} + \renewcommand{\enableSupplementaryPrivateUseAreaB}{1} + \renewcommand{\enableSylotiNagri}{1} + \renewcommand{\enableSyriac}{1} + \renewcommand{\enableTagalog}{1} + \renewcommand{\enableTagbanwa}{1} + \renewcommand{\enableTags}{1} + \renewcommand{\enableTaiLe}{1} + \renewcommand{\enableTaiXuanJingSymbols}{1} + \renewcommand{\enableTamil}{1} + \renewcommand{\enableTelugu}{1} + \renewcommand{\enableThaana}{1} + \renewcommand{\enableThai}{1} + \renewcommand{\enableTibetan}{1} + \renewcommand{\enableTifinagh}{1} + \renewcommand{\enableUgaritic}{1} + \renewcommand{\enableUnifiedCanadianAboriginalSyllabics}{1} + \renewcommand{\enableVerticalForms}{1} + \renewcommand{\enableYijingHexagramSymbols}{1} +} + +\ProcessOptions + +% ---------------------------------------------------------------------------- +% After dealing with the options, make sure we have the necessary packages available +% ---------------------------------------------------------------------------- + +% because this package relies on XeTeX's intercharclass sytem, better require XeTeX +\RequirePackage{ifxetex} +\RequireXeTeX + +% I like a slightly more intuitive programming interface than vanilla TeX +\RequirePackage{ifthen} +\RequirePackage{forloop} + +% ---------------------------------------------------------------------------- +% This package heavily exploits XeTeX's intercharclass system! +% ---------------------------------------------------------------------------- + +% enable/disable commands +\newcommand{\disableTransitionRules}{\XeTeXinterchartokenstate = 0} +\newcommand{\enableTransitionRules}{\XeTeXinterchartokenstate = 1} + +% shorthand commands +\newcommand{\uccoff}{\disableTransitionRules} +\newcommand{\uccon}{\enableTransitionRules} + +% make sure it's turned on +\enableTransitionRules + +% ---------------------------------------------------------------------------- +% Block compatibility for version: Unicode 6.0 +% ---------------------------------------------------------------------------- + +\newcounter{glyphcounter} +\newcommand{\@defineUnicodeClass}[3]{% + \newXeTeXintercharclass#1 + %\message{Package ucharclasses Message: #1 was assigned \the#1} + \forloop{glyphcounter}{#2}{\value{glyphcounter}<#3}{\XeTeXcharclass\value{glyphcounter}=#1} + \XeTeXcharclass#3=#1} + +% Unicode 5.1 block definitions +\newcommand{\@loadAegeanNumbers}{\@defineUnicodeClass{\AegeanNumbersClass}{65792}{65855}} +\newcommand{\@loadAlphabeticPresentationForms}{\@defineUnicodeClass{\AlphabeticPresentationFormsClass}{64256}{64335}} +\newcommand{\@loadAncientGreekMusicalNotation}{\@defineUnicodeClass{\AncientGreekMusicalNotationClass}{119296}{119375}} +\newcommand{\@loadAncientGreekNumbers}{\@defineUnicodeClass{\AncientGreekNumbersClass}{65856}{65935}} +\newcommand{\@loadAncientSymbols}{\@defineUnicodeClass{\AncientSymbolsClass}{65936}{65999}} +\newcommand{\@loadArabic}{\@defineUnicodeClass{\ArabicClass}{1536}{1791}} +\newcommand{\@loadArabicPresentationFormsA}{\@defineUnicodeClass{\ArabicPresentationFormsAClass}{64336}{65023}} +\newcommand{\@loadArabicPresentationFormsB}{\@defineUnicodeClass{\ArabicPresentationFormsBClass}{65136}{65279}} +\newcommand{\@loadArabicSupplement}{\@defineUnicodeClass{\ArabicSupplementClass}{1872}{1919}} +\newcommand{\@loadArmenian}{\@defineUnicodeClass{\ArmenianClass}{1328}{1423}} +\newcommand{\@loadArrows}{\@defineUnicodeClass{\ArrowsClass}{8592}{8703}} +\newcommand{\@loadBalinese}{\@defineUnicodeClass{\BalineseClass}{6912}{7039}} +\newcommand{\@loadBasicLatin}{\@defineUnicodeClass{\BasicLatinClass}{32}{127}} +\newcommand{\@loadBengali}{\@defineUnicodeClass{\BengaliClass}{2432}{2559}} +\newcommand{\@loadBlockElements}{\@defineUnicodeClass{\BlockElementsClass}{9600}{9631}} +\newcommand{\@loadBopomofo}{\@defineUnicodeClass{\BopomofoClass}{12544}{12591}} +\newcommand{\@loadBopomofoExtended}{\@defineUnicodeClass{\BopomofoExtendedClass}{12704}{12735}} +\newcommand{\@loadBoxDrawing}{\@defineUnicodeClass{\BoxDrawingClass}{9472}{9599}} +\newcommand{\@loadBraillePatterns}{\@defineUnicodeClass{\BraillePatternsClass}{10240}{10495}} +\newcommand{\@loadBuginese}{\@defineUnicodeClass{\BugineseClass}{6656}{6687}} +\newcommand{\@loadBuhid}{\@defineUnicodeClass{\BuhidClass}{5952}{5983}} +\newcommand{\@loadByzantineMusicalSymbols}{\@defineUnicodeClass{\ByzantineMusicalSymbolsClass}{118784}{119039}} +\newcommand{\@loadCarian}{\@defineUnicodeClass{\CarianClass}{66208}{66271}} +\newcommand{\@loadCham}{\@defineUnicodeClass{\ChamClass}{43520}{43615}} +\newcommand{\@loadCherokee}{\@defineUnicodeClass{\CherokeeClass}{5024}{5119}} +\newcommand{\@loadCJKCompatibility}{\@defineUnicodeClass{\CJKCompatibilityClass}{13056}{13311}} +\newcommand{\@loadCJKCompatibilityForms}{\@defineUnicodeClass{\CJKCompatibilityFormsClass}{65072}{65103}} +\newcommand{\@loadCJKCompatibilityIdeographs}{\@defineUnicodeClass{\CJKCompatibilityIdeographsClass}{63744}{64255}} +\newcommand{\@loadCJKCompatibilityIdeographsSupplement}{\@defineUnicodeClass{\CJKCompatibilityIdeographsSupplementClass}{194560}{195103}} +\newcommand{\@loadCJKRadicalsSupplement}{\@defineUnicodeClass{\CJKRadicalsSupplementClass}{11904}{12031}} +\newcommand{\@loadCJKStrokes}{\@defineUnicodeClass{\CJKStrokesClass}{12736}{12783}} +\newcommand{\@loadCJKSymbolsAndPunctuation}{\@defineUnicodeClass{\CJKSymbolsAndPunctuationClass}{12288}{12351}} +\newcommand{\@loadCJKUnifiedIdeographs}{\@defineUnicodeClass{\CJKUnifiedIdeographsClass}{19968}{40959}} +\newcommand{\@loadCJKUnifiedIdeographsExtensionA}{\@defineUnicodeClass{\CJKUnifiedIdeographsExtensionAClass}{13312}{19903}} +\newcommand{\@loadCJKUnifiedIdeographsExtensionB}{\@defineUnicodeClass{\CJKUnifiedIdeographsExtensionBClass}{131072}{173791}} +\newcommand{\@loadCombiningDiacriticalMarks}{\@defineUnicodeClass{\CombiningDiacriticalMarksClass}{768}{879}} +\newcommand{\@loadCombiningDiacriticalMarksforSymbols}{\@defineUnicodeClass{\CombiningDiacriticalMarksforSymbolsClass}{8400}{8447}} +\newcommand{\@loadCombiningDiacriticalMarksSupplement}{\@defineUnicodeClass{\CombiningDiacriticalMarksSupplementClass}{7616}{7679}} +\newcommand{\@loadCombiningHalfMarks}{\@defineUnicodeClass{\CombiningHalfMarksClass}{65056}{65071}} +\newcommand{\@loadControlPictures}{\@defineUnicodeClass{\ControlPicturesClass}{9216}{9279}} +\newcommand{\@loadCoptic}{\@defineUnicodeClass{\CopticClass}{11392}{11519}} +\newcommand{\@loadCountingRodNumerals}{\@defineUnicodeClass{\CountingRodNumeralsClass}{119648}{119679}} +\newcommand{\@loadCuneiform}{\@defineUnicodeClass{\CuneiformClass}{73728}{74751}} +\newcommand{\@loadCuneiformNumbersAndPunctuation}{\@defineUnicodeClass{\CuneiformNumbersAndPunctuationClass}{74752}{74879}} +\newcommand{\@loadCurrencySymbols}{\@defineUnicodeClass{\CurrencySymbolsClass}{8352}{8399}} +\newcommand{\@loadCypriotSyllabary}{\@defineUnicodeClass{\CypriotSyllabaryClass}{67584}{67647}} +\newcommand{\@loadCyrillic}{\@defineUnicodeClass{\CyrillicClass}{1024}{1279}} +\newcommand{\@loadCyrillicExtendedA}{\@defineUnicodeClass{\CyrillicExtendedAClass}{11744}{11775}} +\newcommand{\@loadCyrillicExtendedB}{\@defineUnicodeClass{\CyrillicExtendedBClass}{42560}{42655}} +\newcommand{\@loadCyrillicSupplement}{\@defineUnicodeClass{\CyrillicSupplementClass}{1280}{1327}} +\newcommand{\@loadDeseret}{\@defineUnicodeClass{\DeseretClass}{66560}{66639}} +\newcommand{\@loadDevanagari}{\@defineUnicodeClass{\DevanagariClass}{2304}{2431}} +\newcommand{\@loadDingbats}{\@defineUnicodeClass{\DingbatsClass}{9984}{10175}} +\newcommand{\@loadDominoTiles}{\@defineUnicodeClass{\DominoTilesClass}{127024}{127135}} +\newcommand{\@loadEnclosedAlphanumerics}{\@defineUnicodeClass{\EnclosedAlphanumericsClass}{9312}{9471}} +\newcommand{\@loadEnclosedCJKLettersAndMonths}{\@defineUnicodeClass{\EnclosedCJKLettersAndMonthsClass}{12800}{13055}} +\newcommand{\@loadEthiopic}{\@defineUnicodeClass{\EthiopicClass}{4608}{4991}} +\newcommand{\@loadEthiopicExtended}{\@defineUnicodeClass{\EthiopicExtendedClass}{11648}{11743}} +\newcommand{\@loadEthiopicSupplement}{\@defineUnicodeClass{\EthiopicSupplementClass}{4992}{5023}} +\newcommand{\@loadGeneralPunctuation}{\@defineUnicodeClass{\GeneralPunctuationClass}{8192}{8303}} +\newcommand{\@loadGeometricShapes}{\@defineUnicodeClass{\GeometricShapesClass}{9632}{9727}} +\newcommand{\@loadGeorgian}{\@defineUnicodeClass{\GeorgianClass}{4256}{4351}} +\newcommand{\@loadGeorgianSupplement}{\@defineUnicodeClass{\GeorgianSupplementClass}{11520}{11567}} +\newcommand{\@loadGlagolitic}{\@defineUnicodeClass{\GlagoliticClass}{11264}{11359}} +\newcommand{\@loadGothic}{\@defineUnicodeClass{\GothicClass}{66352}{66383}} +\newcommand{\@loadGreekAndCoptic}{\@defineUnicodeClass{\GreekAndCopticClass}{880}{1023}} +\newcommand{\@loadGreekExtended}{\@defineUnicodeClass{\GreekExtendedClass}{7936}{8191}} +\newcommand{\@loadGujarati}{\@defineUnicodeClass{\GujaratiClass}{2688}{2815}} +\newcommand{\@loadGurmukhi}{\@defineUnicodeClass{\GurmukhiClass}{2560}{2687}} +\newcommand{\@loadHalfwidthAndFullwidthForms}{\@defineUnicodeClass{\HalfwidthAndFullwidthFormsClass}{65280}{65519}} +\newcommand{\@loadHangulCompatibilityJamo}{\@defineUnicodeClass{\HangulCompatibilityJamoClass}{12592}{12687}} +\newcommand{\@loadHangulJamo}{\@defineUnicodeClass{\HangulJamoClass}{4352}{4607}} +\newcommand{\@loadHangulSyllables}{\@defineUnicodeClass{\HangulSyllablesClass}{44032}{55215}} +\newcommand{\@loadHanunoo}{\@defineUnicodeClass{\HanunooClass}{5920}{5951}} +\newcommand{\@loadHebrew}{\@defineUnicodeClass{\HebrewClass}{1424}{1535}} +\newcommand{\@loadHiragana}{\@defineUnicodeClass{\HiraganaClass}{12352}{12447}} +\newcommand{\@loadIdeographicDescriptionCharacters}{\@defineUnicodeClass{\IdeographicDescriptionCharactersClass}{12272}{12287}} +\newcommand{\@loadIPAExtensions}{\@defineUnicodeClass{\IPAExtensionsClass}{592}{687}} +\newcommand{\@loadKanbun}{\@defineUnicodeClass{\KanbunClass}{12688}{12703}} +\newcommand{\@loadKangxiRadicals}{\@defineUnicodeClass{\KangxiRadicalsClass}{12032}{12255}} +\newcommand{\@loadKannada}{\@defineUnicodeClass{\KannadaClass}{3200}{3327}} +\newcommand{\@loadKatakana}{\@defineUnicodeClass{\KatakanaClass}{12448}{12543}} +\newcommand{\@loadKatakanaPhoneticExtensions}{\@defineUnicodeClass{\KatakanaPhoneticExtensionsClass}{12784}{12799}} +\newcommand{\@loadKayahLi}{\@defineUnicodeClass{\KayahLiClass}{43264}{43311}} +\newcommand{\@loadKharoshthi}{\@defineUnicodeClass{\KharoshthiClass}{68096}{68191}} +\newcommand{\@loadKhmer}{\@defineUnicodeClass{\KhmerClass}{6016}{6143}} +\newcommand{\@loadKhmerSymbols}{\@defineUnicodeClass{\KhmerSymbolsClass}{6624}{6655}} +\newcommand{\@loadLao}{\@defineUnicodeClass{\LaoClass}{3712}{3839}} +\newcommand{\@loadLatinExtendedAdditional}{\@defineUnicodeClass{\LatinExtendedAdditionalClass}{7680}{7935}} +\newcommand{\@loadLatinExtendedA}{\@defineUnicodeClass{\LatinExtendedAClass}{256}{383}} +\newcommand{\@loadLatinExtendedB}{\@defineUnicodeClass{\LatinExtendedBClass}{384}{591}} +\newcommand{\@loadLatinExtendedC}{\@defineUnicodeClass{\LatinExtendedCClass}{11360}{11391}} +\newcommand{\@loadLatinExtendedD}{\@defineUnicodeClass{\LatinExtendedDClass}{42784}{43007}} +\newcommand{\@loadLatinSupplement}{\@defineUnicodeClass{\LatinSupplementClass}{128}{255}} +\newcommand{\@loadLepcha}{\@defineUnicodeClass{\LepchaClass}{7168}{7247}} +\newcommand{\@loadLetterlikeSymbols}{\@defineUnicodeClass{\LetterlikeSymbolsClass}{8448}{8527}} +\newcommand{\@loadLimbu}{\@defineUnicodeClass{\LimbuClass}{6400}{6479}} +\newcommand{\@loadLinearBIdeograms}{\@defineUnicodeClass{\LinearBIdeogramsClass}{65664}{65791}} +\newcommand{\@loadLinearBSyllabary}{\@defineUnicodeClass{\LinearBSyllabaryClass}{65536}{65663}} +\newcommand{\@loadLycian}{\@defineUnicodeClass{\LycianClass}{66176}{66207}} +\newcommand{\@loadLydian}{\@defineUnicodeClass{\LydianClass}{67872}{67903}} +\newcommand{\@loadMahjongTiles}{\@defineUnicodeClass{\MahjongTilesClass}{126976}{127023}} +\newcommand{\@loadMalayalam}{\@defineUnicodeClass{\MalayalamClass}{3328}{3455}} +\newcommand{\@loadMathematicalAlphanumericSymbols}{\@defineUnicodeClass{\MathematicalAlphanumericSymbolsClass}{119808}{120831}} +\newcommand{\@loadMathematicalOperators}{\@defineUnicodeClass{\MathematicalOperatorsClass}{8704}{8959}} +\newcommand{\@loadMiscellaneousMathematicalSymbolsA}{\@defineUnicodeClass{\MiscellaneousMathematicalSymbolsAClass}{10176}{10223}} +\newcommand{\@loadMiscellaneousMathematicalSymbolsB}{\@defineUnicodeClass{\MiscellaneousMathematicalSymbolsBClass}{10624}{10751}} +\newcommand{\@loadMiscellaneousSymbols}{\@defineUnicodeClass{\MiscellaneousSymbolsClass}{9728}{9983}} +\newcommand{\@loadMiscellaneousSymbolsAndArrows}{\@defineUnicodeClass{\MiscellaneousSymbolsAndArrowsClass}{11008}{11263}} +\newcommand{\@loadMiscellaneousTechnical}{\@defineUnicodeClass{\MiscellaneousTechnicalClass}{8960}{9215}} +\newcommand{\@loadModifierToneLetters}{\@defineUnicodeClass{\ModifierToneLettersClass}{42752}{42783}} +\newcommand{\@loadMongolian}{\@defineUnicodeClass{\MongolianClass}{6144}{6319}} +\newcommand{\@loadMusicalSymbols}{\@defineUnicodeClass{\MusicalSymbolsClass}{119040}{119295}} +\newcommand{\@loadMyanmar}{\@defineUnicodeClass{\MyanmarClass}{4096}{4255}} +\newcommand{\@loadNewTaiLue}{\@defineUnicodeClass{\NewTaiLueClass}{6528}{6623}} +\newcommand{\@loadNKo}{\@defineUnicodeClass{\NKoClass}{1984}{2047}} +\newcommand{\@loadNumberForms}{\@defineUnicodeClass{\NumberFormsClass}{8528}{8591}} +\newcommand{\@loadOgham}{\@defineUnicodeClass{\OghamClass}{5760}{5791}} +\newcommand{\@loadOldChiki}{\@defineUnicodeClass{\OldChikiClass}{7248}{7295}} +\newcommand{\@loadOldItalic}{\@defineUnicodeClass{\OldItalicClass}{66304}{66351}} +\newcommand{\@loadOldPersian}{\@defineUnicodeClass{\OldPersianClass}{66464}{66527}} +\newcommand{\@loadOpticalCharacterRecognition}{\@defineUnicodeClass{\OpticalCharacterRecognitionClass}{9280}{9311}} +\newcommand{\@loadOriya}{\@defineUnicodeClass{\OriyaClass}{2816}{2943}} +\newcommand{\@loadOsmanya}{\@defineUnicodeClass{\OsmanyaClass}{66688}{66735}} +\newcommand{\@loadPhagsPa}{\@defineUnicodeClass{\PhagsPaClass}{43072}{43135}} +\newcommand{\@loadPhaistosDisc}{\@defineUnicodeClass{\PhaistosDiscClass}{66000}{66047}} +\newcommand{\@loadPhoenician}{\@defineUnicodeClass{\PhoenicianClass}{67840}{67871}} +\newcommand{\@loadPhoneticExtensions}{\@defineUnicodeClass{\PhoneticExtensionsClass}{7424}{7551}} +\newcommand{\@loadPhoneticExtensionsSupplement}{\@defineUnicodeClass{\PhoneticExtensionsSupplementClass}{7552}{7615}} +\newcommand{\@loadPrivateUseArea}{\@defineUnicodeClass{\PrivateUseAreaClass}{57344}{63743}} +\newcommand{\@loadRejang}{\@defineUnicodeClass{\RejangClass}{43312}{43359}} +\newcommand{\@loadRunic}{\@defineUnicodeClass{\RunicClass}{5792}{5887}} +\newcommand{\@loadSaurashtra}{\@defineUnicodeClass{\SaurashtraClass}{43136}{43231}} +\newcommand{\@loadShavian}{\@defineUnicodeClass{\ShavianClass}{66640}{66687}} +\newcommand{\@loadSinhala}{\@defineUnicodeClass{\SinhalaClass}{3456}{3583}} +\newcommand{\@loadSmallFormVariants}{\@defineUnicodeClass{\SmallFormVariantsClass}{65104}{65135}} +\newcommand{\@loadSpacingModifierLetters}{\@defineUnicodeClass{\SpacingModifierLettersClass}{688}{767}} +\newcommand{\@loadSpecials}{\@defineUnicodeClass{\SpecialsClass}{65520}{65535}} +\newcommand{\@loadSuperscriptsAndSubscripts}{\@defineUnicodeClass{\SuperscriptsAndSubscriptsClass}{8304}{8351}} +\newcommand{\@loadSupplementalArrowsA}{\@defineUnicodeClass{\SupplementalArrowsAClass}{10224}{10239}} +\newcommand{\@loadSupplementalArrowsB}{\@defineUnicodeClass{\SupplementalArrowsBClass}{10496}{10623}} +\newcommand{\@loadSupplementalMathematicalOperators}{\@defineUnicodeClass{\SupplementalMathematicalOperatorsClass}{10752}{11007}} +\newcommand{\@loadSupplementalPunctuation}{\@defineUnicodeClass{\SupplementalPunctuationClass}{11776}{11903}} +\newcommand{\@loadSupplementaryPrivateUseAreaA}{\@defineUnicodeClass{\SupplementaryPrivateUseAreaAClass}{983040}{1048575}} +\newcommand{\@loadSupplementaryPrivateUseAreaB}{\@defineUnicodeClass{\SupplementaryPrivateUseAreaBClass}{1048576}{1114111}} +\newcommand{\@loadSylotiNagri}{\@defineUnicodeClass{\SylotiNagriClass}{43008}{43055}} +\newcommand{\@loadSyriac}{\@defineUnicodeClass{\SyriacClass}{1792}{1871}} +\newcommand{\@loadTagalog}{\@defineUnicodeClass{\TagalogClass}{5888}{5919}} +\newcommand{\@loadTagbanwa}{\@defineUnicodeClass{\TagbanwaClass}{5984}{6015}} +\newcommand{\@loadTags}{\@defineUnicodeClass{\TagsClass}{917504}{917631}} +\newcommand{\@loadTaiLe}{\@defineUnicodeClass{\TaiLeClass}{6480}{6527}} +\newcommand{\@loadTaiXuanJingSymbols}{\@defineUnicodeClass{\TaiXuanJingSymbolsClass}{119552}{119647}} +\newcommand{\@loadTamil}{\@defineUnicodeClass{\TamilClass}{2944}{3071}} +\newcommand{\@loadTelugu}{\@defineUnicodeClass{\TeluguClass}{3072}{3199}} +\newcommand{\@loadThaana}{\@defineUnicodeClass{\ThaanaClass}{1920}{1983}} +\newcommand{\@loadThai}{\@defineUnicodeClass{\ThaiClass}{3584}{3711}} +\newcommand{\@loadTibetan}{\@defineUnicodeClass{\TibetanClass}{3840}{4095}} +\newcommand{\@loadTifinagh}{\@defineUnicodeClass{\TifinaghClass}{11568}{11647}} +\newcommand{\@loadUgaritic}{\@defineUnicodeClass{\UgariticClass}{66432}{66463}} +\newcommand{\@loadUnifiedCanadianAboriginalSyllabics}{\@defineUnicodeClass{\UnifiedCanadianAboriginalSyllabicsClass}{5120}{5759}} +\newcommand{\@loadVai}{\@defineUnicodeClass{\VaiClass}{42240}{42559}} +\newcommand{\@loadVariationSelectors}{\@defineUnicodeClass{\VariationSelectorsClass}{65024}{65039}} +\newcommand{\@loadVariationSelectorsSupplement}{\@defineUnicodeClass{\VariationSelectorsSupplementClass}{917760}{917999}} +\newcommand{\@loadVerticalForms}{\@defineUnicodeClass{\VerticalFormsClass}{65040}{65055}} +\newcommand{\@loadYiRadicals}{\@defineUnicodeClass{\YiRadicalsClass}{42128}{42191}} +\newcommand{\@loadYiSyllables}{\@defineUnicodeClass{\YiSyllablesClass}{40960}{42127}} +\newcommand{\@loadYijingHexagramSymbols}{\@defineUnicodeClass{\YijingHexagramSymbolsClass}{19904}{19967}} + +% Unicode 6.0 block definitions +\newcommand{\@loadMandaic}{\@defineUnicodeClass{\MandaicClass}{2112}{2143}} +\newcommand{\@loadBatak}{\@defineUnicodeClass{\BatakClass}{7104}{7167}} +\newcommand{\@loadEthiopicExtendedA}{\@defineUnicodeClass{\EthiopicExtendedAClass}{43776}{43823}} +\newcommand{\@loadBrahmi}{\@defineUnicodeClass{\BrahmiClass}{69632}{69759}} +\newcommand{\@loadBamumSupplement}{\@defineUnicodeClass{\BamumSupplementClass}{92160}{92735}} +\newcommand{\@loadKanaSupplement}{\@defineUnicodeClass{\KanaSupplementClass}{110592}{110847}} +\newcommand{\@loadPlayingCards}{\@defineUnicodeClass{\PlayingCardsClass}{127136}{127231}} +\newcommand{\@loadMiscellaneousSymbolsAndPictographs}{\@defineUnicodeClass{\MiscellaneousSymbolsAndPictographsClass}{127744}{128511}} +\newcommand{\@loadEmoticons}{\@defineUnicodeClass{\EmoticonsClass}{128512}{128591}} +\newcommand{\@loadTransportAndMapSymbols}{\@defineUnicodeClass{\TransportAndMapSymbolsClass}{128640}{128767}} +\newcommand{\@loadAlchemicalSymbols}{\@defineUnicodeClass{\AlchemicalSymbolsClass}{128768}{128895}} +\newcommand{\@loadCJKUnifiedIdeographsExtensionD}{\@defineUnicodeClass{\CJKUnifiedIdeographsExtensionDClass}{177984}{178207}} + + +% ---------------------------------------------------------------------------- +% And now, finally, we can start loading all the requested blocks +% ---------------------------------------------------------------------------- + +\message{Package ucharclasses Message: Assigning character classes per unicode block (this may take a while)} + +% first, we record the start our of charclass range +\newXeTeXintercharclass\@classstart + +% then we check if we should load everything, or just the indicated blocks +\ifthenelse{\equal{\loadAllClasses}{1}}{% + % if loadAllClasses is "1", we load every class that we know + \@loadAegeanNumbers + \@loadAlphabeticPresentationForms + \@loadAncientGreekMusicalNotation + \@loadAncientGreekNumbers + \@loadAncientSymbols + \@loadArabic + \@loadArabicPresentationFormsA + \@loadArabicPresentationFormsB + \@loadArabicSupplement + \@loadArmenian + \@loadArrows + \@loadBalinese + \@loadBasicLatin + \@loadBengali + \@loadBlockElements + \@loadBopomofo + \@loadBopomofoExtended + \@loadBoxDrawing + \@loadBraillePatterns + \@loadBuginese + \@loadBuhid + \@loadByzantineMusicalSymbols + \@loadCarian + \@loadCham + \@loadCherokee + \@loadCJKCompatibility + \@loadCJKCompatibilityForms + \@loadCJKCompatibilityIdeographs + \@loadCJKCompatibilityIdeographsSupplement + \@loadCJKRadicalsSupplement + \@loadCJKStrokes + \@loadCJKSymbolsAndPunctuation + \@loadCJKUnifiedIdeographs + \@loadCJKUnifiedIdeographsExtensionA + \@loadCJKUnifiedIdeographsExtensionB + \@loadCombiningDiacriticalMarks + \@loadCombiningDiacriticalMarksforSymbols + \@loadCombiningDiacriticalMarksSupplement + \@loadCombiningHalfMarks + \@loadControlPictures + \@loadCoptic + \@loadCountingRodNumerals + \@loadCuneiform + \@loadCuneiformNumbersAndPunctuation + \@loadCurrencySymbols + \@loadCypriotSyllabary + \@loadCyrillic + \@loadCyrillicExtendedA + \@loadCyrillicExtendedB + \@loadCyrillicSupplement + \@loadDeseret + \@loadDevanagari + \@loadDingbats + \@loadDominoTiles + \@loadEnclosedAlphanumerics + \@loadEnclosedCJKLettersAndMonths + \@loadEthiopic + \@loadEthiopicExtended + \@loadEthiopicSupplement + \@loadGeneralPunctuation + \@loadGeometricShapes + \@loadGeorgian + \@loadGeorgianSupplement + \@loadGlagolitic + \@loadGothic + \@loadGreekAndCoptic + \@loadGreekExtended + \@loadGujarati + \@loadGurmukhi + \@loadHalfwidthAndFullwidthForms + \@loadHangulCompatibilityJamo + \@loadHangulJamo + \@loadHangulSyllables + \@loadHanunoo + \@loadHebrew + \@loadHiragana + \@loadIdeographicDescriptionCharacters + \@loadIPAExtensions + \@loadKanbun + \@loadKangxiRadicals + \@loadKannada + \@loadKatakana + \@loadKatakanaPhoneticExtensions + \@loadKayahLi + \@loadKharoshthi + \@loadKhmer + \@loadKhmerSymbols + \@loadLao + \@loadLatinExtendedAdditional + \@loadLatinExtendedA + \@loadLatinExtendedB + \@loadLatinExtendedC + \@loadLatinExtendedD + \@loadLatinSupplement + \@loadLepcha + \@loadLetterlikeSymbols + \@loadLimbu + \@loadLinearBIdeograms + \@loadLinearBSyllabary + \@loadLycian + \@loadLydian + \@loadMahjongTiles + \@loadMalayalam + \@loadMathematicalAlphanumericSymbols + \@loadMathematicalOperators + \@loadMiscellaneousMathematicalSymbolsA + \@loadMiscellaneousMathematicalSymbolsB + \@loadMiscellaneousSymbols + \@loadMiscellaneousSymbolsAndArrows + \@loadMiscellaneousTechnical + \@loadModifierToneLetters + \@loadMongolian + \@loadMusicalSymbols + \@loadMyanmar + \@loadNewTaiLue + \@loadNKo + \@loadNumberForms + \@loadOgham + \@loadOldChiki + \@loadOldItalic + \@loadOldPersian + \@loadOpticalCharacterRecognition + \@loadOriya + \@loadOsmanya + \@loadPhagsPa + \@loadPhaistosDisc + \@loadPhoenician + \@loadPhoneticExtensions + \@loadPhoneticExtensionsSupplement + \@loadPrivateUseArea + \@loadRejang + \@loadRunic + \@loadSaurashtra + \@loadShavian + \@loadSinhala + \@loadSmallFormVariants + \@loadSpacingModifierLetters + \@loadSpecials + \@loadSuperscriptsAndSubscripts + \@loadSupplementalArrowsA + \@loadSupplementalArrowsB + \@loadSupplementalMathematicalOperators + \@loadSupplementalPunctuation + \@loadSupplementaryPrivateUseAreaA + \@loadSupplementaryPrivateUseAreaB + \@loadSylotiNagri + \@loadSyriac + \@loadTagalog + \@loadTagbanwa + \@loadTags + \@loadTaiLe + \@loadTaiXuanJingSymbols + \@loadTamil + \@loadTelugu + \@loadThaana + \@loadThai + \@loadTibetan + \@loadTifinagh + \@loadUgaritic + \@loadUnifiedCanadianAboriginalSyllabics + \@loadVai + \@loadVariationSelectors + \@loadVariationSelectorsSupplement + \@loadVerticalForms + \@loadYiRadicals + \@loadYiSyllables + \@loadYijingHexagramSymbols + \@loadMandaic + \@loadBatak + \@loadEthiopicExtendedA + \@loadBrahmi + \@loadBamumSupplement + \@loadKanaSupplement + \@loadPlayingCards + \@loadMiscellaneousSymbolsAndPictographs + \@loadEmoticons + \@loadTransportAndMapSymbols + \@loadAlchemicalSymbols + \@loadCJKUnifiedIdeographsExtensionD +} +% if loadAllClasses is not "1" (it will be "0", but this is irrelevant to the conditional) +% we only load those blocks for which a load option was declared +{ + \ifthenelse{\equal{\enableAegeanNumbers}{1}}{\@loadAegeanNumbers}{} + \ifthenelse{\equal{\enableAlphabeticPresentationForms}{1}}{\@loadAlphabeticPresentationForms}{} + \ifthenelse{\equal{\enableAncientGreekMusicalNotation}{1}}{\@loadAncientGreekMusicalNotation}{} + \ifthenelse{\equal{\enableAncientGreekNumbers}{1}}{\@loadAncientGreekNumbers}{} + \ifthenelse{\equal{\enableAncientSymbols}{1}}{\@loadAncientSymbols}{} + \ifthenelse{\equal{\enableArabic}{1}}{\@loadArabic}{} + \ifthenelse{\equal{\enableArabicPresentationFormsA}{1}}{\@loadArabicPresentationFormsA}{} + \ifthenelse{\equal{\enableArabicPresentationFormsB}{1}}{\@loadArabicPresentationFormsB}{} + \ifthenelse{\equal{\enableArabicSupplement}{1}}{\@loadArabicSupplement}{} + \ifthenelse{\equal{\enableArmenian}{1}}{\@loadArmenian}{} + \ifthenelse{\equal{\enableArrows}{1}}{\@loadArrows}{} + \ifthenelse{\equal{\enableBalinese}{1}}{\@loadBalinese}{} + \ifthenelse{\equal{\enableBasicLatin}{1}}{\@loadBasicLatin}{} + \ifthenelse{\equal{\enableBengali}{1}}{\@loadBengali}{} + \ifthenelse{\equal{\enableBlockElements}{1}}{\@loadBlockElements}{} + \ifthenelse{\equal{\enableBopomofo}{1}}{\@loadBopomofo}{} + \ifthenelse{\equal{\enableBopomofoExtended}{1}}{\@loadBopomofoExtended}{} + \ifthenelse{\equal{\enableBoxDrawing}{1}}{\@loadBoxDrawing}{} + \ifthenelse{\equal{\enableBraillePatterns}{1}}{\@loadBraillePatterns}{} + \ifthenelse{\equal{\enableBuginese}{1}}{\@loadBuginese}{} + \ifthenelse{\equal{\enableBuhid}{1}}{\@loadBuhid}{} + \ifthenelse{\equal{\enableByzantineMusicalSymbols}{1}}{\@loadByzantineMusicalSymbols}{} + \ifthenelse{\equal{\enableCarian}{1}}{\@loadCarian}{} + \ifthenelse{\equal{\enableCham}{1}}{\@loadCham}{} + \ifthenelse{\equal{\enableCherokee}{1}}{\@loadCherokee}{} + \ifthenelse{\equal{\enableCJKCompatibility}{1}}{\@loadCJKCompatibility}{} + \ifthenelse{\equal{\enableCJKCompatibilityForms}{1}}{\@loadCJKCompatibilityForms}{} + \ifthenelse{\equal{\enableCJKCompatibilityIdeographs}{1}}{\@loadCJKCompatibilityIdeographs}{} + \ifthenelse{\equal{\enableCJKCompatibilityIdeographsSupplement}{1}}{\@loadCJKCompatibilityIdeographsSupplement}{} + \ifthenelse{\equal{\enableCJKRadicalsSupplement}{1}}{\@loadCJKRadicalsSupplement}{} + \ifthenelse{\equal{\enableCJKStrokes}{1}}{\@loadCJKStrokes}{} + \ifthenelse{\equal{\enableCJKSymbolsAndPunctuation}{1}}{\@loadCJKSymbolsAndPunctuation}{} + \ifthenelse{\equal{\enableCJKUnifiedIdeographs}{1}}{\@loadCJKUnifiedIdeographs}{} + \ifthenelse{\equal{\enableCJKUnifiedIdeographsExtensionA}{1}}{\@loadCJKUnifiedIdeographsExtensionA}{} + \ifthenelse{\equal{\enableCJKUnifiedIdeographsExtensionB}{1}}{\@loadCJKUnifiedIdeographsExtensionB}{} + \ifthenelse{\equal{\enableCombiningDiacriticalMarks}{1}}{\@loadCombiningDiacriticalMarks}{} + \ifthenelse{\equal{\enableCombiningDiacriticalMarksforSymbols}{1}}{\@loadCombiningDiacriticalMarksforSymbols}{} + \ifthenelse{\equal{\enableCombiningDiacriticalMarksSupplement}{1}}{\@loadCombiningDiacriticalMarksSupplement}{} + \ifthenelse{\equal{\enableCombiningHalfMarks}{1}}{\@loadCombiningHalfMarks}{} + \ifthenelse{\equal{\enableControlPictures}{1}}{\@loadControlPictures}{} + \ifthenelse{\equal{\enableCoptic}{1}}{\@loadCoptic}{} + \ifthenelse{\equal{\enableCountingRodNumerals}{1}}{\@loadCountingRodNumerals}{} + \ifthenelse{\equal{\enableCuneiform}{1}}{\@loadCuneiform}{} + \ifthenelse{\equal{\enableCuneiformNumbersAndPunctuation}{1}}{\@loadCuneiformNumbersAndPunctuation}{} + \ifthenelse{\equal{\enableCurrencySymbols}{1}}{\@loadCurrencySymbols}{} + \ifthenelse{\equal{\enableCypriotSyllabary}{1}}{\@loadCypriotSyllabary}{} + \ifthenelse{\equal{\enableCyrillic}{1}}{\@loadCyrillic}{} + \ifthenelse{\equal{\enableCyrillicExtendedA}{1}}{\@loadCyrillicExtendedA}{} + \ifthenelse{\equal{\enableCyrillicExtendedB}{1}}{\@loadCyrillicExtendedB}{} + \ifthenelse{\equal{\enableCyrillicSupplement}{1}}{\@loadCyrillicSupplement}{} + \ifthenelse{\equal{\enableDeseret}{1}}{\@loadDeseret}{} + \ifthenelse{\equal{\enableDevanagari}{1}}{\@loadDevanagari}{} + \ifthenelse{\equal{\enableDingbats}{1}}{\@loadDingbats}{} + \ifthenelse{\equal{\enableDominoTiles}{1}}{\@loadDominoTiles}{} + \ifthenelse{\equal{\enableEnclosedAlphanumerics}{1}}{\@loadEnclosedAlphanumerics}{} + \ifthenelse{\equal{\enableEnclosedCJKLettersAndMonths}{1}}{\@loadEnclosedCJKLettersAndMonths}{} + \ifthenelse{\equal{\enableEthiopic}{1}}{\@loadEthiopic}{} + \ifthenelse{\equal{\enableEthiopicExtended}{1}}{\@loadEthiopicExtended}{} + \ifthenelse{\equal{\enableEthiopicSupplement}{1}}{\@loadEthiopicSupplement}{} + \ifthenelse{\equal{\enableGeneralPunctuation}{1}}{\@loadGeneralPunctuation}{} + \ifthenelse{\equal{\enableGeometricShapes}{1}}{\@loadGeometricShapes}{} + \ifthenelse{\equal{\enableGeorgian}{1}}{\@loadGeorgian}{} + \ifthenelse{\equal{\enableGeorgianSupplement}{1}}{\@loadGeorgianSupplement}{} + \ifthenelse{\equal{\enableGlagolitic}{1}}{\@loadGlagolitic}{} + \ifthenelse{\equal{\enableGothic}{1}}{\@loadGothic}{} + \ifthenelse{\equal{\enableGreekAndCoptic}{1}}{\@loadGreekAndCoptic}{} + \ifthenelse{\equal{\enableGreekExtended}{1}}{\@loadGreekExtended}{} + \ifthenelse{\equal{\enableGujarati}{1}}{\@loadGujarati}{} + \ifthenelse{\equal{\enableGurmukhi}{1}}{\@loadGurmukhi}{} + \ifthenelse{\equal{\enableHalfwidthAndFullwidthForms}{1}}{\@loadHalfwidthAndFullwidthForms}{} + \ifthenelse{\equal{\enableHangulCompatibilityJamo}{1}}{\@loadHangulCompatibilityJamo}{} + \ifthenelse{\equal{\enableHangulJamo}{1}}{\@loadHangulJamo}{} + \ifthenelse{\equal{\enableHangulSyllables}{1}}{\@loadHangulSyllables}{} + \ifthenelse{\equal{\enableHanunoo}{1}}{\@loadHanunoo}{} + \ifthenelse{\equal{\enableHebrew}{1}}{\@loadHebrew}{} + \ifthenelse{\equal{\enableHiragana}{1}}{\@loadHiragana}{} + \ifthenelse{\equal{\enableIdeographicDescriptionCharacters}{1}}{\@loadIdeographicDescriptionCharacters}{} + \ifthenelse{\equal{\enableIPAExtensions}{1}}{\@loadIPAExtensions}{} + \ifthenelse{\equal{\enableKanbun}{1}}{\@loadKanbun}{} + \ifthenelse{\equal{\enableKangxiRadicals}{1}}{\@loadKangxiRadicals}{} + \ifthenelse{\equal{\enableKannada}{1}}{\@loadKannada}{} + \ifthenelse{\equal{\enableKatakana}{1}}{\@loadKatakana}{} + \ifthenelse{\equal{\enableKatakanaPhoneticExtensions}{1}}{\@loadKatakanaPhoneticExtensions}{} + \ifthenelse{\equal{\enableKayahLi}{1}}{\@loadKayahLi}{} + \ifthenelse{\equal{\enableKharoshthi}{1}}{\@loadKharoshthi}{} + \ifthenelse{\equal{\enableKhmer}{1}}{\@loadKhmer}{} + \ifthenelse{\equal{\enableKhmerSymbols}{1}}{\@loadKhmerSymbols}{} + \ifthenelse{\equal{\enableLao}{1}}{\@loadLao}{} + \ifthenelse{\equal{\enableLatinExtendedAdditional}{1}}{\@loadLatinExtendedAdditional}{} + \ifthenelse{\equal{\enableLatinExtendedA}{1}}{\@loadLatinExtendedA}{} + \ifthenelse{\equal{\enableLatinExtendedB}{1}}{\@loadLatinExtendedB}{} + \ifthenelse{\equal{\enableLatinExtendedC}{1}}{\@loadLatinExtendedC}{} + \ifthenelse{\equal{\enableLatinExtendedD}{1}}{\@loadLatinExtendedD}{} + \ifthenelse{\equal{\enableLatinSupplement}{1}}{\@loadLatinSupplement}{} + \ifthenelse{\equal{\enableLepcha}{1}}{\@loadLepcha}{} + \ifthenelse{\equal{\enableLetterlikeSymbols}{1}}{\@loadLetterlikeSymbols}{} + \ifthenelse{\equal{\enableLimbu}{1}}{\@loadLimbu}{} + \ifthenelse{\equal{\enableLinearBIdeograms}{1}}{\@loadLinearBIdeograms}{} + \ifthenelse{\equal{\enableLinearBSyllabary}{1}}{\@loadLinearBSyllabary}{} + \ifthenelse{\equal{\enableLycian}{1}}{\@loadLycian}{} + \ifthenelse{\equal{\enableLydian}{1}}{\@loadLydian}{} + \ifthenelse{\equal{\enableMahjongTiles}{1}}{\@loadMahjongTiles}{} + \ifthenelse{\equal{\enableMalayalam}{1}}{\@loadMalayalam}{} + \ifthenelse{\equal{\enableMathematicalAlphanumericSymbols}{1}}{\@loadMathematicalAlphanumericSymbols}{} + \ifthenelse{\equal{\enableMathematicalOperators}{1}}{\@loadMathematicalOperators}{} + \ifthenelse{\equal{\enableMiscellaneousMathematicalSymbolsA}{1}}{\@loadMiscellaneousMathematicalSymbolsA}{} + \ifthenelse{\equal{\enableMiscellaneousMathematicalSymbolsB}{1}}{\@loadMiscellaneousMathematicalSymbolsB}{} + \ifthenelse{\equal{\enableMiscellaneousSymbols}{1}}{\@loadMiscellaneousSymbols}{} + \ifthenelse{\equal{\enableMiscellaneousSymbolsAndArrows}{1}}{\@loadMiscellaneousSymbolsAndArrows}{} + \ifthenelse{\equal{\enableMiscellaneousTechnical}{1}}{\@loadMiscellaneousTechnical}{} + \ifthenelse{\equal{\enableModifierToneLetters}{1}}{\@loadModifierToneLetters}{} + \ifthenelse{\equal{\enableMongolian}{1}}{\@loadMongolian}{} + \ifthenelse{\equal{\enableMusicalSymbols}{1}}{\@loadMusicalSymbols}{} + \ifthenelse{\equal{\enableMyanmar}{1}}{\@loadMyanmar}{} + \ifthenelse{\equal{\enableNewTaiLue}{1}}{\@loadNewTaiLue}{} + \ifthenelse{\equal{\enableNKo}{1}}{\@loadNKo}{} + \ifthenelse{\equal{\enableNumberForms}{1}}{\@loadNumberForms}{} + \ifthenelse{\equal{\enableOgham}{1}}{\@loadOgham}{} + \ifthenelse{\equal{\enableOldChiki}{1}}{\@loadOldChiki}{} + \ifthenelse{\equal{\enableOldItalic}{1}}{\@loadOldItalic}{} + \ifthenelse{\equal{\enableOldPersian}{1}}{\@loadOldPersian}{} + \ifthenelse{\equal{\enableOpticalCharacterRecognition}{1}}{\@loadOpticalCharacterRecognition}{} + \ifthenelse{\equal{\enableOriya}{1}}{\@loadOriya}{} + \ifthenelse{\equal{\enableOsmanya}{1}}{\@loadOsmanya}{} + \ifthenelse{\equal{\enablePhagsPa}{1}}{\@loadPhagsPa}{} + \ifthenelse{\equal{\enablePhaistosDisc}{1}}{\@loadPhaistosDisc}{} + \ifthenelse{\equal{\enablePhoenician}{1}}{\@loadPhoenician}{} + \ifthenelse{\equal{\enablePhoneticExtensions}{1}}{\@loadPhoneticExtensions}{} + \ifthenelse{\equal{\enablePhoneticExtensionsSupplement}{1}}{\@loadPhoneticExtensionsSupplement}{} + \ifthenelse{\equal{\enablePrivateUseArea}{1}}{\@loadPrivateUseArea}{} + \ifthenelse{\equal{\enableRejang}{1}}{\@loadRejang}{} + \ifthenelse{\equal{\enableRunic}{1}}{\@loadRunic}{} + \ifthenelse{\equal{\enableSaurashtra}{1}}{\@loadSaurashtra}{} + \ifthenelse{\equal{\enableShavian}{1}}{\@loadShavian}{} + \ifthenelse{\equal{\enableSinhala}{1}}{\@loadSinhala}{} + \ifthenelse{\equal{\enableSmallFormVariants}{1}}{\@loadSmallFormVariants}{} + \ifthenelse{\equal{\enableSpacingModifierLetters}{1}}{\@loadSpacingModifierLetters}{} + \ifthenelse{\equal{\enableSpecials}{1}}{\@loadSpecials}{} + \ifthenelse{\equal{\enableSuperscriptsAndSubscripts}{1}}{\@loadSuperscriptsAndSubscripts}{} + \ifthenelse{\equal{\enableSupplementalArrowsA}{1}}{\@loadSupplementalArrowsA}{} + \ifthenelse{\equal{\enableSupplementalArrowsB}{1}}{\@loadSupplementalArrowsB}{} + \ifthenelse{\equal{\enableSupplementalMathematicalOperators}{1}}{\@loadSupplementalMathematicalOperators}{} + \ifthenelse{\equal{\enableSupplementalPunctuation}{1}}{\@loadSupplementalPunctuation}{} + \ifthenelse{\equal{\enableSupplementaryPrivateUseAreaA}{1}}{\@loadSupplementaryPrivateUseAreaA}{} + \ifthenelse{\equal{\enableSupplementaryPrivateUseAreaB}{1}}{\@loadSupplementaryPrivateUseAreaB}{} + \ifthenelse{\equal{\enableSylotiNagri}{1}}{\@loadSylotiNagri}{} + \ifthenelse{\equal{\enableSyriac}{1}}{\@loadSyriac}{} + \ifthenelse{\equal{\enableTagalog}{1}}{\@loadTagalog}{} + \ifthenelse{\equal{\enableTagbanwa}{1}}{\@loadTagbanwa}{} + \ifthenelse{\equal{\enableTags}{1}}{\@loadTags}{} + \ifthenelse{\equal{\enableTaiLe}{1}}{\@loadTaiLe}{} + \ifthenelse{\equal{\enableTaiXuanJingSymbols}{1}}{\@loadTaiXuanJingSymbols}{} + \ifthenelse{\equal{\enableTamil}{1}}{\@loadTamil}{} + \ifthenelse{\equal{\enableTelugu}{1}}{\@loadTelugu}{} + \ifthenelse{\equal{\enableThaana}{1}}{\@loadThaana}{} + \ifthenelse{\equal{\enableThai}{1}}{\@loadThai}{} + \ifthenelse{\equal{\enableTibetan}{1}}{\@loadTibetan}{} + \ifthenelse{\equal{\enableTifinagh}{1}}{\@loadTifinagh}{} + \ifthenelse{\equal{\enableUgaritic}{1}}{\@loadUgaritic}{} + \ifthenelse{\equal{\enableUnifiedCanadianAboriginalSyllabics}{1}}{\@loadUnifiedCanadianAboriginalSyllabics}{} + \ifthenelse{\equal{\enableVai}{1}}{\@loadVai}{} + \ifthenelse{\equal{\enableVariationSelectors}{1}}{\@loadVariationSelectors}{} + \ifthenelse{\equal{\enableVariationSelectorsSupplement}{1}}{\@loadVariationSelectorsSupplement}{} + \ifthenelse{\equal{\enableVerticalForms}{1}}{\@loadVerticalForms}{} + \ifthenelse{\equal{\enableYiRadicals}{1}}{\@loadYiRadicals}{} + \ifthenelse{\equal{\enableYiSyllables}{1}}{\@loadYiSyllables}{} + \ifthenelse{\equal{\enableYijingHexagramSymbols}{1}}{\@loadYijingHexagramSymbols}{} + \ifthenelse{\equal{\enableMandaic}{1}}{\@loadMandaic}{} + \ifthenelse{\equal{\enableBatak}{1}}{\@loadBatak}{} + \ifthenelse{\equal{\enableEthiopicExtendedA}{1}}{\@loadEthiopicExtendedA}{} + \ifthenelse{\equal{\enableBrahmi}{1}}{\@loadBrahmi}{} + \ifthenelse{\equal{\enableBamumSupplement}{1}}{\@loadBamumSupplement}{} + \ifthenelse{\equal{\enableKanaSupplement}{1}}{\@loadKanaSupplement}{} + \ifthenelse{\equal{\enablePlayingCards}{1}}{\@loadPlayingCards}{} + \ifthenelse{\equal{\enableMiscellaneousSymbolsAndPictographs}{1}}{\@loadMiscellaneousSymbolsAndPictographs}{} + \ifthenelse{\equal{\enableEmoticons}{1}}{\@loadEmoticons}{} + \ifthenelse{\equal{\enableTransportAndMapSymbols}{1}}{\@loadTransportAndMapSymbols}{} + \ifthenelse{\equal{\enableAlchemicalSymbols}{1}}{\@loadAlchemicalSymbols}{} + \ifthenelse{\equal{\enableCJKUnifiedIdeographsExtensionD}{1}}{\@loadCJKUnifiedIdeographsExtensionD}{} +} + +% finally, we record the end of our charclass range +\newXeTeXintercharclass\@classend + +% ---------------------------------------------------------------------------- +% +% The transition master commands +% +% ---------------------------------------------------------------------------- + +\newcounter{iclass} + +\newcommand{\@transition}[3]{ + %\PackageWarning{ucharclasses}{#1 #2 #3} + \XeTeXinterchartoks #1 #2=#3 +} + +% ---------------------------------------------------------------------------- +% Use: \setTransitionsFor{block name}{when entering this block}{when leaving this block} +% ---------------------------------------------------------------------------- + +\newcommand{\setTransitionsFor}[3]{ + \forloop{iclass}{\the\@classstart}{\value{iclass} < \@nameuse{#1Class}}{ + \@transition{\the\value{iclass}}{\@nameuse{#1Class}}{{#2}} + \@transition{\@nameuse{#1Class}}{\the\value{iclass}}{{#3}}} + \addtocounter{iclass}{2} + \forloop{iclass}{\value{iclass}}{\value{iclass} < \the\@classend}{ + \@transition{\the\value{iclass}}{\@nameuse{#1Class}}{{#2}} + \@transition{\@nameuse{#1Class}}{\the\value{iclass}}{{#3}}} + % and a binding for the transitions to and from boundary characters + \@transition{255}{\@nameuse{#1Class}}{{#2}} + \@transition{\@nameuse{#1Class}}{255}{{#3}}} + +% ---------------------------------------------------------------------------- +% Use: \setTransitionTo{block name}{what to do when entering this block} +% ---------------------------------------------------------------------------- + +\newcommand{\setTransitionTo}[2] { + \forloop{iclass}{\the\@classstart}{\value{iclass} < \@nameuse{#1Class}}{ + \@transition{\the\value{iclass}}{\@nameuse{#1Class}}{{#2}}} + \addtocounter{iclass}{2} + \forloop{iclass}{\value{iclass}}{\value{iclass} < \the\@classend}{ + \@transition{\the\value{iclass}}{\@nameuse{#1Class}}{{#2}}} + % and a binding for the transition from boundary characters + \@transition{255}{\@nameuse{#1Class}}{{#2}}} + +% ---------------------------------------------------------------------------- +% Use: \setTransitionFrom{block name }{what to do when leaving this block} +% ---------------------------------------------------------------------------- + +\newcommand{\setTransitionFrom}[2]{ + \forloop{iclass}{\the\@classstart}{\value{iclass} < \@nameuse{#1Class}}{ + \@transition{\@nameuse{#1Class}}{\the\value{iclass}}{{#2}}} + \addtocounter{iclass}{2} + \forloop{iclass}{\value{iclass}}{\value{iclass} < \the\@classend}{ + \@transition{\@nameuse{#1Class}}{\the\value{iclass}}{{#2}}} + % and a binding for the transition to boundary characters + \@transition{\@nameuse{#1Class}}{255}{{#2}}} + + +% ---------------------------------------------------------------------------- +% Informal Block Rules - for these, to/from must always be defined +% +% Available informal groups are: +% +% - Arabic +% - Chinese (including bopomofo) +% - CJK (Chinese/Japanese/Korean) +% - Cyrillic +% - Diacritics +% - Greek +% - Japanese (it is advised to set CJK first to a catch-all, then set Japanese for specifics) +% - Korean (=Hangul) (same comment as for Japanese) +% - Latin +% - Mathematics +% - Phonetics +% - Punctuation +% - Symbols +% - Yi +% - Other (I am not a fan of lump groups. I hope to un-lump most of it) +% +% ---------------------------------------------------------------------------- + +\newcommand{\setTransitionsForArabic}[2]{ +\setTransitionsFor{Arabic}{#1}{#2} +\setTransitionsFor{ArabicPresentationFormsA}{#1}{#2} +\setTransitionsFor{ArabicPresentationFormsB}{#1}{#2} +\setTransitionsFor{ArabicSupplement}{#1}{#2} +} + +\newcommand{\setTransitionsForChinese}[2]{ +\setTransitionsFor{Bopomofo}{#1}{#2} +\setTransitionsFor{BopomofoExtended}{#1}{#2} +\setTransitionsFor{CJKCompatibility}{#1}{#2} +\setTransitionsFor{CJKCompatibilityForms}{#1}{#2} +\setTransitionsFor{CJKCompatibilityIdeographs}{#1}{#2} +\setTransitionsFor{CJKCompatibilityIdeographsSupplement}{#1}{#2} +\setTransitionsFor{CJKRadicalsSupplement}{#1}{#2} +\setTransitionsFor{CJKStrokes}{#1}{#2} +\setTransitionsFor{CJKSymbolsAndPunctuation}{#1}{#2} +\setTransitionsFor{CJKUnifiedIdeographs}{#1}{#2} +\setTransitionsFor{CJKUnifiedIdeographsExtensionA}{#1}{#2} +\setTransitionsFor{CJKUnifiedIdeographsExtensionB}{#1}{#2} +\setTransitionsFor{EnclosedCJKLettersAndMonths}{#1}{#2} +\setTransitionsFor{IdeographicDescriptionCharacters}{#1}{#2} +\setTransitionsFor{KangxiRadicals}{#1}{#2} +} + +\newcommand{\setTransitionsForCJK}[2]{ +\setTransitionsFor{Bopomofo}{#1}{#2} +\setTransitionsFor{BopomofoExtended}{#1}{#2} +\setTransitionsFor{CJKCompatibility}{#1}{#2} +\setTransitionsFor{CJKCompatibilityForms}{#1}{#2} +\setTransitionsFor{CJKCompatibilityIdeographs}{#1}{#2} +\setTransitionsFor{CJKCompatibilityIdeographsSupplement}{#1}{#2} +\setTransitionsFor{CJKRadicalsSupplement}{#1}{#2} +\setTransitionsFor{CJKStrokes}{#1}{#2} +\setTransitionsFor{CJKSymbolsAndPunctuation}{#1}{#2} +\setTransitionsFor{CJKUnifiedIdeographs}{#1}{#2} +\setTransitionsFor{CJKUnifiedIdeographsExtensionA}{#1}{#2} +\setTransitionsFor{CJKUnifiedIdeographsExtensionB}{#1}{#2} +\setTransitionsFor{EnclosedCJKLettersAndMonths}{#1}{#2} +\setTransitionsFor{HalfwidthAndFullwidthForms}{#1}{#2} +\setTransitionsFor{HangulCompatibilityJamo}{#1}{#2} +\setTransitionsFor{HangulJamo}{#1}{#2} +\setTransitionsFor{HangulSyllables}{#1}{#2} +\setTransitionsFor{Hiragana}{#1}{#2} +\setTransitionsFor{IdeographicDescriptionCharacters}{#1}{#2} +\setTransitionsFor{Kanbun}{#1}{#2} +\setTransitionsFor{KangxiRadicals}{#1}{#2} +\setTransitionsFor{Katakana}{#1}{#2} +\setTransitionsFor{KatakanaPhoneticExtensions}{#1}{#2} +} + +\newcommand{\setTransitionsForCyrillic}[2]{ +\setTransitionsFor{Cyrillic}{#1}{#2} +\setTransitionsFor{CyrillicExtendedA}{#1}{#2} +\setTransitionsFor{CyrillicExtendedB}{#1}{#2} +\setTransitionsFor{CyrillicSupplement}{#1}{#2} +} + +\newcommand{\setTransitionsForDiacritics}[2]{ +\setTransitionsFor{CombiningDiacriticalMarks}{#1}{#2} +\setTransitionsFor{CombiningDiacriticalMarksforSymbols}{#1}{#2} +\setTransitionsFor{CombiningDiacriticalMarksSupplement}{#1}{#2} +\setTransitionsFor{CombiningHalfMarks}{#1}{#2} +} + +\newcommand{\setTransitionsForGreek}[2]{ +\setTransitionsFor{Coptic}{#1}{#2} +\setTransitionsFor{GreekAndCoptic}{#1}{#2} +\setTransitionsFor{GreekExtended}{#1}{#2} +} + +\newcommand{\setTransitionsForKorean}[2]{ +\setTransitionsFor{HangulCompatibilityJamo}{#1}{#2} +\setTransitionsFor{HangulJamo}{#1}{#2} +\setTransitionsFor{HangulSyllables}{#1}{#2} +} + +\newcommand{\setTransitionsForJapanese}[2]{ +\setTransitionsFor{HalfwidthAndFullwidthForms}{#1}{#2} +\setTransitionsFor{Hiragana}{#1}{#2} +\setTransitionsFor{Kanbun}{#1}{#2} +\setTransitionsFor{Katakana}{#1}{#2} +\setTransitionsFor{KatakanaPhoneticExtensions}{#1}{#2} +\setTransitionsFor{KangxiRadicals}{#1}{#2} +} + +\newcommand{\setTransitionsForLatin}[2]{ +\setTransitionsFor{BasicLatin}{#1}{#2} +\setTransitionsFor{LatinExtendedAdditional}{#1}{#2} +\setTransitionsFor{LatinExtendedA}{#1}{#2} +\setTransitionsFor{LatinExtendedB}{#1}{#2} +\setTransitionsFor{LatinExtendedC}{#1}{#2} +\setTransitionsFor{LatinExtendedD}{#1}{#2} +\setTransitionsFor{LatinSupplement}{#1}{#2} +\setTransitionsFor{AlphabeticPresentationForms}{#1}{#2} +} + +\newcommand{\setTransitionsForMathematics}[2]{ +\setTransitionsFor{MathematicalAlphanumericSymbols}{#1}{#2} +\setTransitionsFor{MathematicalOperators}{#1}{#2} +\setTransitionsFor{MiscellaneousMathematicalSymbolsA}{#1}{#2} +\setTransitionsFor{MiscellaneousMathematicalSymbolsB}{#1}{#2} +\setTransitionsFor{SupplementalMathematicalOperators}{#1}{#2} +} + +\newcommand{\setTransitionsForPhonetics}[2]{ +\setTransitionsFor{IPAExtensions}{#1}{#2} +\setTransitionsFor{PhoneticExtensions}{#1}{#2} +\setTransitionsFor{PhoneticExtensionsSupplement}{#1}{#2} +} + +\newcommand{\setTransitionsForPunctuation}[2]{ +\setTransitionsFor{GeneralPunctuation}{#1}{#2} +\setTransitionsFor{SupplementalPunctuation}{#1}{#2} +} + +\newcommand{\setTransitionsForSymbols}[2]{ +\setTransitionsFor{Arrows}{#1}{#2} +\setTransitionsFor{BoxDrawing}{#1}{#2} +\setTransitionsFor{ByzantineMusicalSymbols}{#1}{#2} +\setTransitionsFor{ControlPictures}{#1}{#2} +\setTransitionsFor{CurrencySymbols}{#1}{#2} +\setTransitionsFor{GeometricShapes}{#1}{#2} +\setTransitionsFor{LetterlikeSymbols}{#1}{#2} +\setTransitionsFor{MiscellaneousSymbols}{#1}{#2} +\setTransitionsFor{MiscellaneousSymbolsAndArrows}{#1}{#2} +\setTransitionsFor{MiscellaneousTechnical}{#1}{#2} +\setTransitionsFor{SupplementalArrowsA}{#1}{#2} +\setTransitionsFor{SupplementalArrowsB}{#1}{#2} +\setTransitionsFor{VariationSelectors}{#1}{#2} +\setTransitionsFor{VariationSelectorsSupplement}{#1}{#2} +} + +\newcommand{\setTransitionsForYi}[2]{ +\setTransitionsFor{YiRadicals}{#1}{#2} +\setTransitionsFor{YiSyllables}{#1}{#2} +} + +\newcommand{\setTransitionsForOther}[2]{ +\setTransitionsFor{AegeanNumbers}{#1}{#2} +\setTransitionsFor{AncientGreekMusicalNotation}{#1}{#2} +\setTransitionsFor{AncientGreekNumbers}{#1}{#2} +\setTransitionsFor{Armenian}{#1}{#2} +\setTransitionsFor{Balinese}{#1}{#2} +\setTransitionsFor{Bengali}{#1}{#2} +\setTransitionsFor{BlockElements}{#1}{#2} +\setTransitionsFor{BraillePatterns}{#1}{#2} +\setTransitionsFor{Buginese}{#1}{#2} +\setTransitionsFor{Buhid}{#1}{#2} +\setTransitionsFor{Cherokee}{#1}{#2} +\setTransitionsFor{Coptic}{#1}{#2} +\setTransitionsFor{CountingRodNumerals}{#1}{#2} +\setTransitionsFor{Cuneiform}{#1}{#2} +\setTransitionsFor{CuneiformNumbersAndPunctuation}{#1}{#2} +\setTransitionsFor{CypriotSyllabary}{#1}{#2} +\setTransitionsFor{Deseret}{#1}{#2} +\setTransitionsFor{Devanagari}{#1}{#2} +\setTransitionsFor{Dingbats}{#1}{#2} +\setTransitionsFor{DominoTiles}{#1}{#2} +\setTransitionsFor{EnclosedAlphanumerics}{#1}{#2} +\setTransitionsFor{Ethiopic}{#1}{#2} +\setTransitionsFor{EthiopicExtended}{#1}{#2} +\setTransitionsFor{EthiopicSupplement}{#1}{#2} +\setTransitionsFor{Georgian}{#1}{#2} +\setTransitionsFor{GeorgianSupplement}{#1}{#2} +\setTransitionsFor{Glagolitic}{#1}{#2} +\setTransitionsFor{Gothic}{#1}{#2} +\setTransitionsFor{Gujarati}{#1}{#2} +\setTransitionsFor{Gurmukhi}{#1}{#2} +\setTransitionsFor{Hanunoo}{#1}{#2} +\setTransitionsFor{Hebrew}{#1}{#2} +\setTransitionsFor{Kannada}{#1}{#2} +\setTransitionsFor{Kharoshthi}{#1}{#2} +\setTransitionsFor{Khmer}{#1}{#2} +\setTransitionsFor{KhmerSymbols}{#1}{#2} +\setTransitionsFor{Lao}{#1}{#2} +\setTransitionsFor{Limbu}{#1}{#2} +\setTransitionsFor{LinearBIdeograms}{#1}{#2} +\setTransitionsFor{LinearBSyllabary}{#1}{#2} +\setTransitionsFor{MahjongTiles}{#1}{#2} +\setTransitionsFor{Malayalam}{#1}{#2} +\setTransitionsFor{ModifierToneLetters}{#1}{#2} +\setTransitionsFor{Mongolian}{#1}{#2} +\setTransitionsFor{MusicalSymbols}{#1}{#2} +\setTransitionsFor{Myanmar}{#1}{#2} +\setTransitionsFor{NewTaiLue}{#1}{#2} +\setTransitionsFor{NKo}{#1}{#2} +\setTransitionsFor{NumberForms}{#1}{#2} +\setTransitionsFor{Ogham}{#1}{#2} +\setTransitionsFor{OldItalic}{#1}{#2} +\setTransitionsFor{OldPersian}{#1}{#2} +\setTransitionsFor{OpticalCharacterRecognition}{#1}{#2} +\setTransitionsFor{Oriya}{#1}{#2} +\setTransitionsFor{Osmanya}{#1}{#2} +\setTransitionsFor{PhagsPa}{#1}{#2} +\setTransitionsFor{Phoenician}{#1}{#2} +\setTransitionsFor{PrivateUseArea}{#1}{#2} +\setTransitionsFor{Runic}{#1}{#2} +\setTransitionsFor{Shavian}{#1}{#2} +\setTransitionsFor{Sinhala}{#1}{#2} +\setTransitionsFor{SmallFormVariants}{#1}{#2} +\setTransitionsFor{SpacingModifierLetters}{#1}{#2} +\setTransitionsFor{Specials}{#1}{#2} +\setTransitionsFor{SuperscriptsAndSubscripts}{#1}{#2} +\setTransitionsFor{SupplementaryPrivateUseAreaA}{#1}{#2} +\setTransitionsFor{SupplementaryPrivateUseAreaB}{#1}{#2} +\setTransitionsFor{SylotiNagri}{#1}{#2} +\setTransitionsFor{Syriac}{#1}{#2} +\setTransitionsFor{Tagalog}{#1}{#2} +\setTransitionsFor{Tagbanwa}{#1}{#2} +\setTransitionsFor{Tags}{#1}{#2} +\setTransitionsFor{TaiLe}{#1}{#2} +\setTransitionsFor{TaiXuanJingSymbols}{#1}{#2} +\setTransitionsFor{Tamil}{#1}{#2} +\setTransitionsFor{Telugu}{#1}{#2} +\setTransitionsFor{Thaana}{#1}{#2} +\setTransitionsFor{Thai}{#1}{#2} +\setTransitionsFor{Tibetan}{#1}{#2} +\setTransitionsFor{Tifinagh}{#1}{#2} +\setTransitionsFor{Ugaritic}{#1}{#2} +\setTransitionsFor{UnifiedCanadianAboriginalSyllabics}{#1}{#2} +\setTransitionsFor{VerticalForms}{#1}{#2} +\setTransitionsFor{YijingHexagramSymbols}{#1}{#2} +} + +% ---------------------------------------------------------------------------- +% +% based on the previous informal groups, we can define a catch-all transition command +% +% ---------------------------------------------------------------------------- + +\newcommand{\setDefaultTransitions}[2]{ +\setTransitionsForArabic{#1}{#2} +\setTransitionsForCJK{#1}{#2} +\setTransitionsForCyrillic{#1}{#2} +\setTransitionsForDiacritics{#1}{#2} +\setTransitionsForGreek{#1}{#2} +\setTransitionsForLatin{#1}{#2} +\setTransitionsForMathematics{#1}{#2} +\setTransitionsForPhonetics{#1}{#2} +\setTransitionsForPunctuation{#1}{#2} +\setTransitionsForSymbols{#1}{#2} +\setTransitionsForYi{#1}{#2} +\setTransitionsForOther{#1}{#2} +} + +% ---------------------------------------------------------------------------- +\endinput +% +% End of file `ucharclasses.sty'.
\ No newline at end of file |