https://bugzilla.novell.com/show_bug.cgi?id=211235 User pfeifle@kde.org added comment https://bugzilla.novell.com/show_bug.cgi?id=211235#c8 Kurt Pfeifle <pfeifle@kde.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pfeifle@kde.org Summary|Bad postscript creation from kprinter concludes |Bad postscript creation from kprinter concludes |in ugly pdf |in ugly pdf (that's Qt's fault!) --- Comment #8 from Kurt Pfeifle <pfeifle@kde.org> 2008-05-01 05:36:16 MST --- [Disclaimer: while I in general loved to use Qt-based applications over the last 10 years, what I have to say below may make some Qt-fanboyz feel insulted. Avoid reading on if you can't stand the truth.) The problem with printing from Qt-based applications over the last 10 years are these: 1) Qt, when generating PostScript for printing, can only support PostScript Level 1. 2) Qt can't handle TrueType fonts well when it comes to printing. Taken together, these two points mean: Qt cannot embed TrueType fonts them into PostScript Level 1; instead, it converts them to a (even crappy-looking at that!) "Type 3" PostScript font, and embeds this font instead. To add insult to injury, the font names used for the embedded "converted to Type 3 fonts" Qt does not comply with the font naming standards that were laid down by Adobe in their PostScript specifications (as is already noted in comment #5). These problems haven't been fixed (or even touched) by Trolltech for over a decade of Qt1-Qt3(-Qt4) development, although there have been quite a few bugs about it in their internal (and published) bug tracking system. As well as various Trolltech promises ("will be fixed in next version")... which never happened. Qt sucks donkeyballs when it comes to PostScript and TT font handling in PS print files. Qt4 introduces "export to PDF" and therefor seems to be much better for print fidelity and quality. However, the Qt-app needs to take advantage of that. Whenever there is an app that still outputs PostScript, you're treated with Level 1 PostScript and with the dreaded "I converted your nice TrueType fonts into my crappy quality, ugly looking, pixelized Type 3 fonts" feature. This TT handling "feature" of Qt has many more drawbacks: 1. PDFs created from the PostScript that was output by a typical Qt application doesn't only look ugly.... 2. ....and therefor do get downrated when it comes to "usability"... 3. ....but it also are not "searchable".... 4. ....and they doesn't let you extract the contained text ("pdftotext"),.... 5. ....they don't work with a screenreader.... 6. ....and hence are a complete failure when it comes to "accessability". You can have a look at these two PDF files I did <a href="http://bugs.kde.org/show_bug.cgi?id=140546">generate quite some time ago</a> which show all 6 points from above in a comparison. The same OpenDocumentText (.odt) file was used as the base file: -- to <a href="http://bugs.kde.org/attachment.cgi?id=19402&action=view">"Export to PDF" from OpenOffice.org</a> -- to <a href="http://bugs.kde.org/attachment.cgi?id=19403&action=view">"Print to PDF file" from KWord</a> "Oh, wait", I hear you saying, "there is Scribus, which is a Qt application, and it produces excellent PostScript or PDF output, and has no such problem with TT fonts." That's true. But it is only true because the Scribus developers didn't rely on Qt when it came to generate the print files. They did their own thing on that field. They had to. Otherwise, they'd have to suffer from the same problem that KDEPrint (up to KDE 3.5.9) did and still does.... So isn't there a workaround when you want to generate PDFs via KDEPrint's "print to PDF" feature? Yes, there is. ==> Disable "Font embedding" when KDEPrint-ing documents that contain TrueType fonts. You can disable Qt's font embedding by running "kaddprinterwizard --kdeconfig", select "TT fonts", disable "Embed fonts with PostScript data when printing". The net effect is that the original TrueType font will be referenced only by name in the resulting PostScript file. If the next step in print processing then is running Ghostscript on that PostScript file (in the case of kprinter's "Print to PDF" that *IS* the case), it will try to use the real TT font and embed that into the file (and that way avoid an already embedded, crappy looking Type 3 generated by Qt). ---- Last question: Why could the author of comment #4 not reproduce it? I bet he was not using TrueType fonts for his testing.... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.