User pfeifle(a)kde.org added comment
Kurt Pfeifle <pfeifle(a)kde.org> changed:
What |Removed |Added
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(a)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
1) Qt, when generating PostScript for printing, can only support PostScript
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
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
Qt sucks donkeyballs when it comes to PostScript and TT font handling in PS
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
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
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
to PDF" from OpenOffice.org</a>
-- to <a
to PDF file" from KWord</a>
"Oh, wait", I hear you saying, "there is Scribus, which is a Qt
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
You can disable Qt's font embedding by running "kaddprinterwizard
select "TT fonts", disable "Embed fonts with PostScript data when
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.