https://bugs.winehq.org/show_bug.cgi?id=30699
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |damjan.jov@gmail.com Keywords|Abandoned? |
--- Comment #13 from Damjan Jovanovic damjan.jov@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.