Skip to main content

Font changes when printing text component.

1 reply [Last post]
hlander123
Offline
Joined: 2005-05-12

I am printing a text component which uses a single font throughout. Using SDK 1.4 it prints as expected. Using SDK 1.5, every line that contains a question mark (?) prints with what appears to be a different font.

I have done some research, and believe that this is due to the issues discussed in Bugs #4480930 and #5089015. Basically, as I understand it SDK 1.5 introduced some optimizations which attempt to use printer fonts as much as possible (rather than stroked filled shapes). This was done to reduce the Spool File size. However, when it cannot use printer fonts, it falls back to the filled shapes. I believe then the question mark makes it use the filled shapes, which makes the line appear significantly different. This belief is reinforced by the fact that the font used in the lines containing question marks appears just like the font used when printing under SDK 1.4.

My questions are:

1) Does my analysis of the problem make sense?
2) If so, why does the question mark cause the problem, and what other characters may cause it?
3) One of the bugs referenced above talks about shapes being tickled, what does that mean?
4) Is there any way I can force all lines to be rendered the same way (either using filled shapes or printer fonts)?

Some additional info, this problem occurs under Linux but not under Windows. However, this may be due to the different fonts being used. It could be that the specific font being used under Windows does not have this issue.

Thanks.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
philrace
Offline
Joined: 2003-06-09

You are almost along the right lines. Your question mark
is filled outlines but one fact you mention points to
the precise bug

> Some additional info, this problem occurs under Linux but not under Windows

So that's BUG ID 6217355
"On linux text prints as filled outlines if string includes a Question Mark

If you read that you'll see its a linux specific problem
with character encoding processing.