Hi List, I noticed that the rendering of DVI documents was broken exactly in the same way as what I observed with PDF documents, namely, it used auto-hinting which looks especially bad with TeX fonts.
Attached is a 1-line patch that changes it. I need your permission to commit. Screenshots: * original : http://picasaweb.google.ca/lh/photo/fry54ANy23UesNpFhbWanA?feat=directlink * fixed : http://picasaweb.google.ca/lh/photo/OjQIZ7Of6wP74k7fKUwXTw?feat=directlink Here are some comments before one objects that disabling hinting is just a matter of taste, etc. First, it's obvious that the "original" screenshot linked above is horrible and that the "fixed" is the one that looks good. Second, it is a consensus on the Poppler/PDF side that one should use no hinting, and then, there's no reason why DVI should be any different. To summarize the situation on the PDF side: * poppler/cairo (hence Evince) 's code completely disables hinting * poppler/splash (hence Okular) 's code _meant_ to completely disable hinting (actually only auto-hinting, but in the context of DVI that's really the same because almost all DVI files use Type 1 fonts, and bytecode only exists in TrueType fonts). It was a clear bug in the code, where it was clear that the code didn't do what it intended, that resulted in hinted fonts being used. Third, the old KDVI used to not do any hinting, I'm completely sure of that because I've spent hundreds of hours looking at documents in it. I remember distinctly the (imho beautiful) slightly fuzzy look of the TeX fonts in it, that is characteristic of non-hinted text, although at that time I didn't know about hinting. That said, I used "svn annotate" to see who enabled hinting in the C++ code, and it turns out to be Stefan Kebekus himself in an old revision (240000-something). I am puzzled about that, but I still maintain that KDVI didn't use hinting on all the Linux systems that I tried. My best guess is that Stefan Kebekus _thought_ that he had enabled hinting but for some reason it wasn't used. I haven't investigated further as this is quite intricate, and of course I only have Okular's code at hand, I haven't looked at the actual KDVI code. OK to commit? Benoit
Index: okular/generators/dvi/fontpool.cpp =================================================================== --- okular/generators/dvi/fontpool.cpp (révision 1030240) +++ okular/generators/dvi/fontpool.cpp (copie de travail) @@ -51,7 +51,7 @@ setObjectName("Font Pool"); displayResolution_in_dpi = 100.0; // A not-too-bad-default - useFontHints = true; + useFontHints = false; CMperDVIunit = 0; extraSearchPath.clear(); fontList.setAutoDelete(true);
_______________________________________________ Okular-devel mailing list Okular-devel@kde.org https://mail.kde.org/mailman/listinfo/okular-devel