[Bug 30699] wine printing: barcode is not printed from VB6 application

WineHQ Bugzilla wine-bugs at winehq.org
Tue Aug 11 01:40:47 CDT 2020


https://bugs.winehq.org/show_bug.cgi?id=30699

Damjan Jovanovic <damjan.jov at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |damjan.jov at gmail.com
           Keywords|Abandoned?                  |

--- Comment #13 from Damjan Jovanovic <damjan.jov at gmail.com> ---
Still an issue on Wine 5.14.

To reproduce:
Set up cups and cups-pdf, create a PDF printer, ensure it works.
Download the ZIP in the "URL" field.
Extract it and install to your WINEPREFIX.
export LANG=ro_RO.UTF-8 LANGUAGE=ro_RO.UTF-8 LC_TIME=ro_RO.UTF-8
cd "${WINEPREFIX}/drive_c/Program Files/OPFV 2012"
Populate ordine.txt with the data in
https://bugs.winehq.org/attachment.cgi?id=41629
wine OPFV_2012.exe
Select the only entry in the only dropdown menu.
Click the bottom right button "Incarcare".
In the new screen, type "a" into the "Adresa" field.
In the very thin field just under it, with "Cod iban platitor" on the left,
type 40.
In the bottom field, "Reprezentat", type "a".
Click the green "Listare" button on the right.
The resulting PDF should be wherever you set up cups-pdf to write them to. No
need to edit win.ini like the OP said.

Debugging this is long and hard, but in essence, the OLEPictureImpl_Render()
function (our implementation of COM's IPicture::Render()) is called 3 times. On
the first call, the IPicture is the main window background, and it is drawn on
the main window. In the second and third calls, the IPicture is the barcode.

For the first and second calls, the DC type is OBJ_DC and TECHNOLOGY is
DT_RASDISPLAY. For the third call the DC type is OBJ_METADC and TECHNOLOGY is
DT_METAFILE.

If OLEPictureImpl_Render() is made to do nothing, the main window background
changes color as expected, but there is a difference in the output PDF that
reveals something interesting. When nothing is drawn, the barcode area is
completely white. When we do draw, there is very tiny spec in the middle left,
and if you zoom in 400%, you do see a very tiny barcode. [Note that this is
true as of 5.14 - the OP's PDF made with the older Wine version lacks the
barcode completely.]

In other words, this is some kind of picture positioning/scaling issue when
rendering to a metafile.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list