Peter Rolf wrote:
Hans Hagen schrieb:
so, what exactly do you need the number for
for overprinting (text only) i have to test if the current color is black. overprinting should be activated for all text elements, but if the print color is non black, overprinting should be disabled.
so, how about something that just works -) \setupcolors[state=start] \startluacode function ctx.isblack(ca) -- name might change local cv = ca > 0 and colors.value(ca) return (cv and cv[2] == 0) or false end \stopluacode \def\doifblackelse#1% {\ctxlua{commands.doifelse(ctx.isblack(\thecolorattribute{#1}))}} \def\doifdrawingblackelse {\ctxlua{commands.doifelse(ctx.isblack(tex.attribute[attributes.numbers['color']]))}} \starttext \definecolor[foo][black] {\red red {\foo (\doifblackelse{foo}{YES}{NO} \doifdrawingblackelse{YES}{NO}) black} red} \definecolor[foo][green] {\red red {\foo (\doifblackelse{foo}{YES}{NO} \doifdrawingblackelse{YES}{NO}) green} red} \stoptext less code and more abstract ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------