summaryrefslogtreecommitdiff
path: root/tex/context/base/typo-krn.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/typo-krn.mkiv')
-rw-r--r--tex/context/base/typo-krn.mkiv20
1 files changed, 14 insertions, 6 deletions
diff --git a/tex/context/base/typo-krn.mkiv b/tex/context/base/typo-krn.mkiv
index b7a6113bc..d2b9d3b65 100644
--- a/tex/context/base/typo-krn.mkiv
+++ b/tex/context/base/typo-krn.mkiv
@@ -28,7 +28,7 @@
\def\dodefinecharacterkerning[#1][#2]%
{\getparameters[\??ck#1][\c!factor=0.125,#2]%
- \setgvalue{\??ck:#1}{\ctxlua{kerns.setspacing(\csname\??ck#1\c!factor\endcsname)}}}
+ \setuvalue{\??ck:#1}{\dosetcharacterkerning{#1}}}
\unexpanded\def\setupcharacterkerning
{\dodoubleargument\dosetupcharacterkerning}
@@ -40,12 +40,20 @@
\dodefinecharacterkerning[#1][#2]% bonus
\fi}
-\unexpanded\def\setcharacterkerning
- {\ctxlua{kerns.enable()}%
- \unexpanded\gdef\setcharacterkerning[##1]{\csname\??ck:##1\endcsname}%
- \setcharacterkerning}
+\unexpanded\def\dosetcharacterkerning#1%
+ {\ctxlua{typesetting.kerns.set(\csname\??ck#1\c!factor\endcsname)}}
-\letvalue{\??ck:\s!reset}\attributeunsetvalue
+\unexpanded\def\setcharacterkerning[#1]%
+ {\csname\??ck:#1\endcsname}
+
+\unexpanded\def\resetcharacterkerning % fast one
+ {\attribute\kernattribute\attributeunsetvalue}
+
+\letvalue{\??ck\s!reset\c!factor}\attributeunsetvalue % trick
+
+\appendtoks
+ \resetcharacterkerning
+\to \everyresettypesetting
\definecharacterkerning [extrakerning] [\c!factor=.125] % used in manuals