[wxPython] Print preview and scaling problem

Hi Robin and all

win98se, py2.2.1 wxpy2.3.3pre6

I have problem with print preview. Here, the full story.

1) I learnt wxHTMLWindow (very good). I prepared a text of 50 lines, then
I checked it in a preview frame. I noticed that the number of displayed
lines
on the print preview canvas is a function of the zoom factor! What's wrong.

2) I thought about a wxHTML preview problem. So, I repeated my test onto a
dc,
using the wxPrintout functionality. I got the same result. The number of
displayed
lines vary with the zoom factor.

3) I created my own print preview using a wxWindow. This window has a size
that mimics
the size of my printer paper sheet, taking in account the non printable
area.
Scaling geometric figures is not a problem, but scaling font size is one
another
story.

4) I can not define a font with a non integer size.

Conclusion) From 4) I conclued that print preview is always using a
'rounded' font size. This
will explain why the number of lines in 1) ou 2) may differ with different
zoom factor.

- Is this a particularity of wxWindows/wxPython, that font size should be an
integer?
- In Word, VB or CorelDraw you can defined non integer font size
- I wrote a print preview in vb without this type of problem!

A side question, what does a preview of 100 % mean. 100% of which size?
Surely not
the size of the used printer.

I think all these problems are away if it would be possible to define
non integer font size.

Regards
Jean-Michel Fauth, Switzerland

4) I can not define a font with a non integer size.

Conclusion) From 4) I conclued that print preview is always using a
'rounded' font size. This
will explain why the number of lines in 1) ou 2) may differ with different
zoom factor.

- Is this a particularity of wxWindows/wxPython, that font size should be

an

integer?

The type of the pointSize parameter to wxFont is an integer, so even if you
give it a float in wxPython it will have to be converted to an int first.

- In Word, VB or CorelDraw you can defined non integer font size
- I wrote a print preview in vb without this type of problem!

I'm not sure that it's possible on all other platforms, which may be why
wxFont is this way. You could ask on wx-dev to be sure though.

A side question, what does a preview of 100 % mean. 100% of which size?
Surely not
the size of the used printer.

I think it means that the DC is scaled such that the width of the preview
window is equivallent to the width of the printer.

ยทยทยท

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!