%D \module %D [ file=char-ini, %D version=2006.08.20, %D title=\CONTEXT\ Character Support, %D subtitle=Initialization, %D author=Hans Hagen, %D date=\currentdate, %D copyright=PRAGMA] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. \writestatus{loading}{ConTeXt Character Support / Initialization} \registerctxluafile{char-def}{1.001} % let's load this one first \registerctxluafile{char-ini}{1.001} \registerctxluafile{char-cmp}{1.001} % maybe we will load this someplace else \registerctxluafile{char-map}{1.001} % maybe we will load this someplace else \registerctxluafile{char-tex}{1.001} \unprotect % \def\checkedchar#1% #2% % {\relax\iffontchar\font#1 \expandafter\firstoftwoarguments\else\expandafter\secondoftwoarguments\fi{\char#1}} % % impossible in math mode so there always fallback (till we have gyre): \def\utfchar #1{\ctxlua{tex.uprint(\number#1)}} \def\checkedchar {\relax\ifmmode\expandafter\checkedmathchar\else\expandafter\checkedtextchar\fi} % #1#2 \def\checkedmathchar#1#2{#2} \def\checkedtextchar #1{\iffontchar\font#1 \expandafter\firstoftwoarguments\else\expandafter\secondoftwoarguments\fi{\char#1}} %D The codes are stored in the format, so we don't need to reinitialize %D them (unless of course we have adapted the table). It is on the agenda %D to do this with \type {tex.lccode} cum suis once they're available. \def\setcclcuc#1#2#3{\global\catcode#1=\@@letter\global\lccode#1=#2\global\uccode#1=#3\relax} \def\setcclcucself#1{\global\catcode#1=\@@letter\global\lccode#1=#1\global\uccode#1=#1\relax } \ctxlua{characters.setcodes()} %D There may be a problem with the turkisch patterns. By now it's taken care of in %D ctxtools (thanks to Mojca). There seems to be a bug in the patterns (^^11 refers %D to a double quote but it should be ^^19 since the original is in ec encoding). % \setcclcuc "201C "201C "201C % \setcclcuc "201D "201D "201D \ctxlua { characters.define( { % letter catcodes \number\texcatcodes, \number\ctxcatcodes, \number\notcatcodes, \number\mthcatcodes, \number\vrbcatcodes, \number\prtcatcodes, \number\xmlcatcodesn, \number\xmlcatcodese, \number\xmlcatcodesr, \number\typcatcodesa, \number\typcatcodesb, }, { % activate catcodes \number\ctxcatcodes, \number\notcatcodes, \number\xmlcatcodesn, \number\xmlcatcodese, \number\xmlcatcodesr, } ) catcodes.register("xmlcatcodes",\number\xmlcatcodes) } \protect \endinput