Opened 14 years ago
Closed 14 years ago
#95 closed task (fixed)
Printing support
Reported by: | Silvan Scherrer | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | GA |
Component: | general | Version: | 1.6.0-b22 RC2 |
Severity: | low | Keywords: | |
Cc: |
Description
needs to be checked if it works
Change History (6)
comment:1 by , 14 years ago
comment:2 by , 14 years ago
There are actually many more problems with printing. For example, the Java2DFont demo application uses the native printer dialog instead of its own one (like jEdit). This dialog is implemented by Odin. And there are even two flavors of it: the one that mimics the Win32 dialog (from Wine) and the one that goes from Open32 (more PM-like). The former hangs (pressing Ok does not do anything and does not dismiss it), the later closes, but doesn't print. The second attempt to show it crashes the application.
There are also crashes in the release build despite the fix above.
This needs more investigation.
comment:3 by , 14 years ago
Fixed the flipped text issue in r 21628 in Odin: the TextOut() API family was completely broken there. jEdit prints well now.
comment:4 by , 14 years ago
In r287, I fixed a crash that happened in the release build when opening the Print dialog in jEdit and other applications. It was a really nasty one (took some time hard to find).
comment:5 by , 14 years ago
Still can't find why the native print dialogs don't work. I have to go deeper into the Java->Odin32->PM pipeline.
comment:6 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
In r 21630 in Odin, I switched the PrintDlg() API to using the native PM print dialogue instead of the Win32 clone emulated by the Wine code in Odin. This PM print dialogue looks much more native and gives access to all printer settings. Note that after this switch PageSetupDlg() is a no-op (always returns FALSE) but this API isn't really important as PringDlg() gives access to page settings as well which should work for all applications.
Now printing support in Java looks quite complete.
Turns out to be an Odin problem, as usual. Support form some Unicode APIs was missing. I added them in r 21627 and printing now kind of works with one exception: lines of text are flipped along the horizontal axis on paper. Still can't figure out who's guilty. Must be a usual difference between the PM and Win32 coordinate space orientation (PM has the Y axis going up).