Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I normally prefer Adobe Reader (still v9 on Linux) to all other PDF viewers because I think it has the best rendering quality, even though others have caught up lately. This rendering quality appears to be to a large part due to CoolType, Adobe's implementation of subpixel rendering. Unfortunately I've found that Adobe Reader consistently switches subpixel rendering off (on a per-page basis) as soon as the page contains transparent elements. An example:

Blue shape is opaque, text is rendered using subpixels:

opaque

Blue shape is 50% transparent, text is rendered with standard antialiasing:

transparent

The two corresponding pdf files have been generated in exactly the same way (using TikZ/PGF with pdflatex), except for specifying transparency in the second case. I made these pdfs myself, but I have frequently observed the same effect with pdfs from completely different sources. Strangely, Foxit Reader and Okular render the same two pdfs in an exactly identical way (except of course for the transparent part itself), but at a generally worse quality IMHO.

My question: Does someone know why this happens, and whether / how it can be avoided?

share|improve this question
    
This may be be a bug in Adobe, better raised in their forums. You might try improving font display in Linux (which version?) by using Infinality. See also archlinux Font Configuration - Infinality. –  harrymc Dec 7 '13 at 8:36
    
@harrymc I doubt this affects Adobe Reader font rendering, but it is an interesting tip otherwise. Maybe Okular gets better this way. Thanks! –  A. Donda Dec 7 '13 at 14:18
    
@slhck, I thought I had put a bounty on this? Did you take this over somehow, or am I just confused? Thank you anyway! –  A. Donda Dec 7 '13 at 14:20
add comment

2 Answers 2

Subpixel rendering is done by using the individual colors of a pixel. Every pixel on a screen is made up by an even smaller pixel with the color of red, green and blue.

If you want to render an object that is 10.3 pixels wide, you would use only the red color of the 11th pixel. The screen would then emit light from 31 subpixels, that is 10 full pixels and then a third of a pixel.

If you try to simulate this effect yourself, simply by drawing 10 white pixels wide, and then a red pixel on the right at a black background, you would see the effect yourself.

The problem is that you would notice that the right edge would be red, this if you simply do it that way. Most likely, Adobe has to use advanced algorithms to cancel out that effect - possibly by amplifying the value of the red and green of the 10th pixel.

Adding transparency to an algorithm that is already quite advanced is probably something they haven't solved yet and therefore, they simply disable subpixel rendering.

I believe this to be the case, because I've tried to implement subpixel rendering myself in this naive way and I saw that "coloured side" effect myself.

share|improve this answer
    
Yes, the colored edge effect is definitely there, you can see it also in the magnified screen shots above, and I don't really see how it could be avoided. I think subpixel rendering only makes sense when the whole pixels are already small. Maybe you're right, that it's just too complicated. –  A. Donda Jan 9 at 20:24
    
I believe they are too complicated. If not, the technology would not be worthy of such cool names :) –  frodeborli Jan 9 at 20:50
add comment

This may be be a bug in Adobe, better raised in their forums.

To improve font display in Linux, you might try using Infinality :

Infinality is a set of Freetype patches that try to provide an improved font rendering for Linux and also, to allow easy customization so the users can adjust the settings to their taste. Using it, you can easily set the font style to emulate OSX, OSX2, Windows 98, WIndows XP or Windows 7 or you can use the "Linux" or "Infinality" (default) styles.

See :

Better Font Rendering In Linux With Infinality
archlinux Font Configuration - Infinality.

share|improve this answer
    
I appreciate the tips, and I will go and ask in Adobe forums. However, I don't think this qualifies as an answer. –  A. Donda Dec 11 '13 at 18:44
    
No problem. Do you want me to delete this? –  harrymc Dec 11 '13 at 19:44
    
No, I just wanted to explain why I didn't upvote. –  A. Donda Dec 11 '13 at 19:51
    
Unfortunately, this seems like the only answer you will get. –  harrymc Dec 13 '13 at 10:32
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.