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

--- Comment #2 from [email protected] ---
Seems like the issue here is that the Envelope system tries to consider the
current printer's OS settings. It's doing this because my printer is configured
in the OS to use letter-size paper, so it resizes the envelope to fit on
letter-sized paper.

This doesn't make much sense, for several reasons:

1. I might not be actually setting up this document for printing on this
computer. I might be planning to print it on a different computer or printer.
This is especially relevant for envelopes, which are a bit of a specialty print
job.

2. Consumer printers don't have envelope paper trays. Of course it's configured
for letter-size paper; that's what's loaded in the automatic tray. When I print
the envelope, I'll print it from the manual tray in a dedicated job.

3. I'm very technically proficient, and this is the first time in my life that
I've seen any kind of software pull printer data outside the "Print" dialog.
The data flow should be a one-way flow: from document to printer, never in
reverse. Even Brother's proprietary label-making software doesn't pull the
label size from the printer. You define your label width, and if you define it
wrong, you only get a notice to adjust your document width when you actually
kick off the print job.

Excuse the slop below, I'm including it as a hint as to where this feature has
gone wrong. I've tested & confirmed it's correct at a conceptual level, but I
am not familiar with and have not read the code in LibreOffice

---

Root cause: the insertion path enlarges the envelope page to the printer’s
paper width when the alignment is vertical.

In sw/source/uibase/app/appenv.cxx:350, vertical alignment adds:

lUpper += aPaperSize.Width() - nPageH;

aPaperSize is normalized to portrait at lines 330–335. For a Letter printer,
aPaperSize.Width() is 8.5″. With a #10 envelope height of 4.125″, this makes:

lUpper = 8.5 - 4.125 = 4.375″
page height = 4.125 + 4.375 = 8.5″

The subsequent page-size assignment at lines 375–376 therefore creates a 9.5″ ×
8.5″ page.

The envelope dimensions from the dialog are correct; they are altered during
page-style construction. The relevant orientation is populated from the printer
page at sw/source/ui/envelp/envprt.cxx:146–160 and applied via
SetLandscape() at appenv.cxx:388–389.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to