diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/typo-krn.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/typo-krn.mkiv | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/typo-krn.mkiv b/Master/texmf-dist/tex/context/base/typo-krn.mkiv new file mode 100644 index 00000000000..e2f10d8066a --- /dev/null +++ b/Master/texmf-dist/tex/context/base/typo-krn.mkiv @@ -0,0 +1,59 @@ +%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 |