[poppler] [PATCH] Fix Splash back-end FT_Load_Glyph flags
jacob.benoit.1 at gmail.com
Fri Oct 2 18:24:43 PDT 2009
2009/10/2 Albert Astals Cid <aacid at kde.org>:
> A Dimecres, 30 de setembre de 2009, Benoit Jacob va escriure:
>> Here on Opensuse 11.2 / KDE 4.3.1, Okular gave me very poor rendering
>> of PDF files. Example:
>> The attached patch fixes it so it now looks like this:
>> For comparison, here's how it looks in Evince.
>> As you can see, my fix makes Okular render this document exactly like
>> Evince does.
> Actually it does not, see the attached images, but i agree they look much
> closer now ;-)
erm OK, actually my testing was unprofessional in that in the 2 apps,
I only used _approximately_ the same zoom level and viewpoint. So
there was no chance at all that the two would be identical
>> FT_Int32 SplashFTFont::getFTLoadFlags() const
>> return aa ? FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP
>> : FT_LOAD_DEFAULT;
>> As you can see, in the anti-aliasing case, it does the exact same
>> thing as the Cairo back-end.
>> I preserved the existing logic for the non-anti-aliasing case, as I
>> don't have an opinion on these matters. The logic of using
>> FT_LOAD_DEFAULT in that case is what was previously being done in the
>> Splash back-end and I just kept it without asking questions.
> Interesting findings, have you tried that with the autohinter enabled?
Yes, as that is the default on openSUSE. However, since you asked, I
wanted to check that. Here is my my method so you can check that it is
I edit the file /etc/fonts/suse-hinting.conf, and I change this line,
to change the value to "false" or "true", and then I run as root:
Assuming that my method is correct, here are my findings:
* without any patch, the rendering is BAD regardless of the autohint setting
* with my patch (setting FT_LOAD_NO_HINTING), the rendering is GOOD,
regardless of the autohint setting
* with my patch as in 2nd e-mail (setting FT_LOAD_NO_AUTOHINT), the
rendering is BAD, regardless of the autohint setting
More information about the poppler