Peter Rolf wrote:
> Peter Rolf schrieb:
>> Hi,
>>
>> there is currently no bookkeeping ('name-->id') for derived colors in
>> mkiv; i.e. \definecolor[foo] [black] does not register 'foo'.
>>
>> \csname(ca:foo)\endcsname
>>
>> is the only way to access the color id. While this in no problem in TeX
>> code, using this in lua is not very handy. I tried ugly stuff like
>>
>> c_id = format("\\csname(ca:%s)\\endcsname",c)
>>
>> but when I compare 'c_id' with the id of black, the values '1' and 1 (id
>> of black) differ when compared. Mhhhh.
>>
>> I think that the best way to handle derived colors properly is to add
>> their name to the attributes list too. It's only a small patch and it
>> shouldn't do any harm.
>>
> ..... I forgot to test the existense of a 'name' :(
> hopefully now foolprooved.
>
>
> if name then
> local stra = attributes.list[attributes.numbers['color']][str]
> if stra then
> attributes.list[attributes.numbers['color']][name] =
> stra -- inherit color id
> else
> attributes.list[attributes.numbers['color']][name] =
> attributes.list[attributes.numbers['color']][black]
> end
> end
btw ...
\setupcolors[state=start]
\starttext
\definecolor[foo][black] {\red red {\foo black} red}
\definecolor[black][green] {\red red {\foo black} red}
\stoptext
you cannot freeze foo to black
-----------------------------------------------------------------
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
-----------------------------------------------------------------
_______________________________________________
dev-context mailing list
[email protected]
http://www.ntg.nl/mailman/listinfo/dev-context