# [NTG-context] Rendering differences between PDF viewers

Hans Hagen pragma at wxs.nl
Wed Apr 18 09:38:13 CEST 2012

```On 18-4-2012 02:49, Kip Warner wrote:
> On Tue, 2012-04-17 at 12:48 +0200, Peter Rolf wrote:
>> Hi Kip,
>>
>> give it a try and add this to you document...
>>
>>
>> \startluacode
>>
>> backends                = backends                or { }
>> backends.codeinjections = backends.codeinjections or { }
>>
>> function backends.codeinjections.rgbtransparencygroup()
>>      local d = lpdf.dictionary {
>>          S  = lpdf.constant("Transparency"),
>>          CS = lpdf.constant("DeviceRGB"),
>>          I  = true }
>>      lpdf.registerpagefinalizer(function()
>> end
>>
>> backends.codeinjections.rgbtransparencygroup()
>>
>> \stopluacode
>>
>>
>> This does not work, if you also use CMYK based graphics/pictures in your
>> document (as this is done document wide).
>
> You know Peter, I must admit. ConTeXt has made me rather cynical at
> times. I don't know how many times I've tried a snippet of this or that,
> only to have it do exactly what I hadn't intended. Having said that,
> every now and then I am blown away when something I never expected to
> actually get working, gets working. Thank you so much, that worked
> beautifully. Both Evince (poppler based) and AR look identical now.
>
> I stuck it in my environment file. I wonder if there is a safer way of
> doing this than via "inline asm", so to speak. Also, maybe for my
> benefit, and anybody else having the same problem, you might be able to
> explain what was happening?

At some point it can become an option (or semi automatic) but the
problem is that we don't know in advance if we operate in rgb or cmyk. I
can imagine that when we have enabled cmyk and disabled rgb or reverse,
it can be added automatically but even then users must make sure that
all images are in the right colorspace as well. And what with spotcolors?

Hans

-----------------------------------------------------------------