[Libreoffice-bugs] [Bug 124123] New: Character spacing problems with Dymo LabelWriter in Best print quality

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Sat Mar 16 19:39:25 UTC 2019


https://bugs.documentfoundation.org/show_bug.cgi?id=124123

            Bug ID: 124123
           Summary: Character spacing problems with Dymo LabelWriter in
                    Best print quality
           Product: LibreOffice
           Version: 6.2.1.2 release
          Hardware: x86-64 (AMD64)
                OS: Windows (All)
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Writer
          Assignee: libreoffice-bugs at lists.freedesktop.org
          Reporter: jason at binarycoder.net

Description:
The Dymo LabelWriter printer has character spacing issues when set to its
"best" printing quality. Some of these issues are regressions. Of the versions
available in the "old" download archive, I have narrowed down the regression to
between 5.3.0.0.alpha1 (good) and 5.3.0.0.beta1 (bad). This may have to do with
the fact that the dots in this resolution are rectangular (dpiX != dpiY).


The Dymo LabelWriter 450 series is a popular line of thermal label printers.
These devices support two print qualities: 300x300 dpi (Normal - "Text Only")
and 300x600 dpi (Best - "Barcodes and Graphics") (The print head contains 300
elements per inch; it varies the line feed to adjust the dpi perpendicular to
the print head.) A rendering program is attached if you want to test *without*
having the printer (using the driver to output the printer control codes to the
FILE: port).

Steps to Reproduce:
The form for this test is "30258 Diskette" (landscape: 2.75" x 2.13"). (There
is also a file attached for "30252 Address" (landscape 3.50" x 1.10"), in case
you actually have the printer and that common label size, though only one of
the three test cases fits.)
This test will use landscape orientation as that is most commonly used for
labels.
In this orientation, the DPI is 600 dpi on the long axis and 300 dpi on the
short axis.
But note that the affected areas are not corrected by printing in portrait
orientation; actually the spacing is worse in portrait.

1. Download printer driver package "Dymo Connect for Desktop v1.0.1" from
http://www.dymo.com/en-US/dymo-user-guides (
http://download.dymo.com/dymo/Software/Win/DCDSetup1.0.1.exe ).
2. Run DCDSetup1.0.1.exe.
3. After this is installed, Settings > Devices > Printers > Add a Printer or
Scanner > The printer I want isn't listed
3.a. Choose Add a local printer. Next.
3.b. Choose Use an existing port FILE: (Print to file). Next.
3.c. Choose Manufacturer "Dymo". Next.
3.d. The actual printer that I have used and have also tested the C# program
with is "DYMO LabelWriter 450 Twin Turbo". That being said, this probably
reproduces on any of the 450 models (and maybe others). Select that printer
model. Next.
3.e. Accept the printer name. Next.
3.f. Do not share this printer. Next.
3.g. Finish.
4. Compile the attached C# program dymo2png.cs into dymo2png.exe using the
compiler that comes with Windows.
   cd C:\location_of_cs_file
   C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /nologo
/d:DEBUG,TRACE /debug+ /optimize- dymo2png.cs
5. Open the attached Writer document: DymoLabel30258Diskette.odt
6. File > Print. 
6.a. Select printer: DYMO LabelWriter 450 Twin Turbo
6.b. Click Properties.
6.c. Layout > Landscape
6.d. Paper/Quality > Best
6.e. Click Advanced.
6.f. Set Paper Size to 30258 Diskette.
6.g. Click OK to both dialogs.
6.h. Note that preview will be have many issues (regardless of the version),
but the printed output will actually be much better than the preview indicates.
6.i. Click OK.
6.j. You will be prompted to enter a filename to receive the output. For
example, dymo.prn in the same directory as dymo2png.exe. Click Save.
7. Convert the printer output to a dot-for-dot PNG:
   cd C:\location_of_file
   .\dymo2png.exe dymo.prn dymo.png
8. Open dymo.png in a graphics program.
8.a. You can resize the image by the scale factors 200% x 100% to adjust for
the rectangular dots to get an image representative of the printed output at
this resolution. (The dots parallel with the print head are physically twice
the size because that axis is half resolution.)
8.b. This is a landscape printing, so you can rotate it CCW 90 degrees for
better viewing.

Actual Results:
A scan of the actual hardcopy is attached. The PNG file produced by the above
procedure prior to the image manipulation steps is also attached.

Expected Results:
Correct rendering in 300x600 dpi.


Reproducible: Always


User Profile Reset: No



Additional Info:
The regressions to (1) are likely the most problematic in practice because they
affect ordinary text on the page. The actual end user case that prompted this
involves an automated merge and print from Calc into Writer.
The kerning was not acceptable to the user, and there were also problems with
barcode printing. The 300x600 mode can be especially useful for barcode fonts
(notice that the Best mode is called "Barcodes and Graphics" in the printer
Advanced Properties). Barcodes that are too small to scan when printed in
300x300 may be usable in 300x600 IF there is correct printing. Barcodes that
were usable in old versions of Writer did not work for scanning in newer
versions due to incorrect rendering of the barcode font ("Free 3 of 9" font 18
pt).

Here is some potentially useful information from the Windows DEVMODE structure
and GetDeviceCaps API. My analysis is that these metrics reported by the driver
ARE CORRECT.

Here is for a diskette label (landscape: 2.75" x 2.13")

DEVMODE
=======
dmFormName      =  30258 Diskette
dmOrientation   =    2 (DMORIENT_LANDSCAPE)

DeviceCaps
==========
PHYSICALWIDTH   = 1650 pixels
PHYSICALHEIGHT  =  638 pixels
PHYSICALOFFSETX =  132 pixels
PHYSICALOFFSETY =   12 pixels
HORZRES         = 1482 pixels
VERTRES         =  609 pixels
HORZSIZE        =   63 mm
VERTSIZE        =   52 mm
LOGPIXELSX      =  600 dpi
LOGPIXELSY      =  300 dpi

Here is for a standard address label (landscape: 3.50" x 1.10")

DocumentProperties
==================
dmFormName      =  30252 Address
dmOrientation   =    2 (DMORIENT_LANDSCAPE)

DeviceCaps
==========
PHYSICALWIDTH   = 2100 pixels
PHYSICALHEIGHT  =  329 pixels
PHYSICALOFFSETX =  138 pixels
PHYSICALOFFSETY =   12 pixels
HORZRES         = 1926 pixels
VERTRES         =  299 pixels
HORZSIZE        =   82 mm
VERTSIZE        =   25 mm
LOGPIXELSX      =  600 dpi
LOGPIXELSY      =  300 dpi

The technical manual describing these printers is:
http://download.dymo.com/dymo/technical-data-sheets/LW%20450%20Series%20Technical%20Reference.pdf

Please do not hesitate to ask if there are any questions. Thank you.


Version: 5.3.0.0.alpha1 (x64)
Build ID: f4ca1573fcf445164c068c1046ab5d084e1b005f
CPU Threads: 4; OS Version: Windows 6.19; UI Render: GL; 
Locale: en-US (en_US); Calc: CL

Version: 5.3.0.0.beta1 (x64)
Build ID: 690f553ecb3efd19143acbf01f3af4e289e94536
CPU Threads: 4; OS Version: Windows 6.19; UI Render: GL; Layout Engine: new; 
Locale: en-US (en_US); Calc: CL

Version: 6.2.1.2 (x64)
Build ID: 7bcb35dc3024a62dea0caee87020152d1ee96e71
CPU threads: 4; OS: Windows 10.0; UI render: GL; VCL: win; 
Locale: en-US (en_US); UI-Language: en-US
Calc: CL

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20190316/b4c6ac3c/attachment.html>


More information about the Libreoffice-bugs mailing list