%D \module %D [ file=typo-krn, %D version=2009.03.27, % code moved from core-spa.mkiv %D title=\CONTEXT\ Typesetting Macros, %D subtitle=Spacing, %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 Typesetting Macros / Kerning} \unprotect \registerctxluafile{typo-krn}{1.001} \definesystemattribute[kern] % more % % {\setcharacterkerning[extrakerning]\input davis\relax} \newcount \maxcharacterkerningid \def\definecharacterkerning {\dosingleargument\dodefinecharacterkerning} \def\dodefinecharacterkerning[#1]% {\ifcsname\??ck#1\endcsname \else \global\advance\maxcharacterkerningid\plusone \setxvalue{\??ck:#1}{\the\maxcharacterkerningid}% \fi} \def\setupcharacterkerning {\dodoubleargument\dosetupcharacterkerning} \def\dosetupcharacterkerning[#1][#2]% {\ifcsname\??ck:#1\endcsname \begingroup \getparameters[\??ck][\c!factor=0,#2]% \ctxlua{kerns.setspacing(\getvalue{\??ck:#1},\@@ckfactor)}% \endgroup \fi} \def\setcharacterkerning {\ctxlua{kerns.enabled=true}% \gdef\setcharacterkerning[##1]{\dosetattribute{kern}{\csname\??ck:##1\endcsname}}% \setcharacterkerning} \letvalue{\??ck:\s!reset}\attributeunsetvalue \definecharacterkerning[extrakerning] \setupcharacterkerning[extrakerning][\c!factor=.125] \protect \endinput