summaryrefslogtreecommitdiff
path: root/tex/context/base/attr-ini.mkiv
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2009-09-15 12:27:00 +0200
committerHans Hagen <pragma@wxs.nl>2009-09-15 12:27:00 +0200
commit2527b228386c22af57e3d72a739c74930fd09eb6 (patch)
tree34994fdc3f4798fc638a7c7668872cacae827248 /tex/context/base/attr-ini.mkiv
parentb6f05180d27bb8e4cb3e570633f16185eba987fe (diff)
downloadcontext-2527b228386c22af57e3d72a739c74930fd09eb6.tar.gz
beta 2009.09.15 12:27
Diffstat (limited to 'tex/context/base/attr-ini.mkiv')
-rw-r--r--tex/context/base/attr-ini.mkiv37
1 files changed, 28 insertions, 9 deletions
diff --git a/tex/context/base/attr-ini.mkiv b/tex/context/base/attr-ini.mkiv
index b90d4976b..49a109e7d 100644
--- a/tex/context/base/attr-ini.mkiv
+++ b/tex/context/base/attr-ini.mkiv
@@ -20,6 +20,21 @@
\registerctxluafile{attr-ini}{1.001}
+%D This might move:
+
+\def\pushattribute#1%
+ {\global\advance\csname\??ae:\string#1\endcsname\plusone
+ \global\expandafter\mathchardef\csname\??ae:\string#1:\number\csname\??ae:\string#1\endcsname\endcsname\attribute#1}
+
+\def\popattribute#1%
+ {\attribute#1\csname\??ae:\string#1:\number\csname\??ae:\string#1\endcsname\endcsname
+ \global\advance\csname\??ae:\string#1\endcsname\minusone}
+
+\def\installattributestack#1%
+ {\expandafter\newcount\csname\??ae:\string#1\endcsname}
+
+%D For the moment we put this here (later it will move to where it's used):
+
\definesystemattribute[state]
\definesystemattribute[skip]
\definesystemattribute[penalty]
@@ -27,7 +42,7 @@
\definesystemattribute[color] \chardef\colorattribute \dogetattributeid{color}
\definesystemattribute[transparency] \chardef\transparencyattribute \dogetattributeid{transparency}
\definesystemattribute[background] \chardef\backgroundattribute \dogetattributeid{background}
-\definesystemattribute[overprint]
+\definesystemattribute[colorintent] \chardef\colorintentattribute \dogetattributeid{colorintent}
\definesystemattribute[negative]
\definesystemattribute[effect]
\definesystemattribute[viewerlayer] \chardef\viewerlayerattribute \dogetattributeid{viewerlayer}
@@ -84,16 +99,20 @@
% overprint
-\def\registeroverprint#1#2%
- {\setevalue{(os:#1)}{\dosetattribute{overprint}{\ctxlua{tex.print(overprints.register('#2'))}}}}
+\def\registercolorintent#1#2%
+ {\setevalue{(os:#1)}{\dosetattribute{colorintent}{\ctxlua{tex.print(colorintents.register('#2'))}}}}
+
+\def\dotriggercolorintent
+ {\ctxlua{colorintents.enabled=true}%
+ \gdef\dotriggercolorintent##1{\csname(os:##1)\endcsname}%
+ \dotriggercolorintent}
+
+\registercolorintent{knockout} {knockout}
+\registercolorintent{overprint}{overprint}
-\def\dotriggeroverprint
- {\ctxlua{overprints.enabled=true}%
- \gdef\dotriggeroverprint##1{\csname(os:##1)\endcsname}%
- \dotriggeroverprint}
+\installattributestack\colorintentattribute
-\registeroverprint{knockout} {knockout}
-\registeroverprint{overprint}{overprint}
+\setevalue{(os:#\v!none}{\doresetattribute{colorintent}} % does this work out ok?
% negative