Closed Bug 187184 Opened 22 years ago Closed 21 years ago

[ps] border-top under linux prints all four borders under linux but displays correctly to screen. In win2k, screen and print work correctly.

Categories

(Core :: Printing: Output, defect, P3)

x86
Linux
defect

Tracking

()

RESOLVED FIXED
Future

People

(Reporter: jcardwell, Assigned: rods)

Details

Attachments

(6 files)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212

Under CSS, border-top:1px causes all four borders to print, even though in print
preview only the top border shows up.  Using Mozilla 1.3a - the problem occurs
only under Linux actual printout (not print preview) and only when position is
set to something other than static. Does not occur on Win2k/IE
nor in Win2K/Mozilla1.3a.

Reproducible: Always

Steps to Reproduce:
1.Create style rule div.one
{position:relative;display:block;top:0;left:0;border-top:1px solid black}
2.create html: <html><body><div class="one">some text</div></body></html>
3.File->print-preview (linux) sometext has a line above it, file->print prints a
box around the line

Actual Results:  
Box prints around the text

Expected Results:  
A line above the text
Attached file test case
test case for this bug - test under linux in my case I print to laserjet 4100N
WorksForMe perfectly with Xprint module (see
http://www.mozilla.org/releases/mozilla1.0.2/#xprint), seems to be a
PostScript-module only bug...
marking as "[PS]"-only bug
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: border-top under linux prints all four borders under linux but displays correctly to screen. In win2k, screen and print work correctly. → [ps] border-top under linux prints all four borders under linux but displays correctly to screen. In win2k, screen and print work correctly.
I believe I am experiencing the same bug, manifesting differently. If I set...

h2 {
  border-bottom: solid 1px;
}

in a stylesheet, I get a border around the body in the document, only when
printing. When print previewing, the border is not present.
I should mention that I am using 1.3b under Linux, printing in postscript.
This HTML file will print out correctly in Mozilla/win-32 but not in
Mozilla/Linux
Incorrect (Mozilla/Linux) print of previous HTML
Correct (Mozilla/Win-32) print of previous HTML
I attached some files that shows a similar bug (that has been lurking in
Mozilla/Linux for some time - not sure why I didn't report it before)

Anyway, the print preview of the HTML will show no border, yet when one prints
the page, a faint border will appear.  If you print the same page in Windows
there is no border.

The files were created with print-to-file (linux) and Adobe Distiller (windows)
if it matters any.

I have noticed that this bug (a border around the page) also occurs when you use
tables to frame the page, but I don't have a testcase to illustrate that right
on me (but could create one if anyone is interested)

Hopefully my spamming of everyone with test examples (sorry for the flurry of
emails) helps identify the source of the bug.
The postscript code generation is bogus.  A clipped path is set up for
each page body, but not cleared.  Hence, the next (and, for that matter,
due to gsave'ing and grestore'ing, every) solid border drawn will get 
appended to the clipping path.


TESTCASE

  The test case is actually much more trivial than the ones given above:

    <html>
     <body>
      <p style="border: 1px solid red;">buggy</p>
      <p style="border: 1px solid green;">ok path</p>
     </body>
    </html>

  Print this document to PostScript and watch the red bordered
  paragraph trigger the bug.


FIX

  The current path needs to be always cleared after clipping.


WORKAROUND

  Edit the PostScript file and insert

    /clip { clip newpath } bind def

  somewhere into the prolog.
The testcase in my previous comment (#10) should read

  <html>
   <body>
    <p style="border: 1px solid red;">buggy</p>
    <p style="border: 1px dashed green;">ok path</p>
   </body>
  </html>

of course.  Point of the green box was to show that dashed or dotted borders do
not trigger the bug.

Sorry about the glitch.
Priority: -- → P3
Target Milestone: --- → Future
This is a workaround: printing a white border with a different style on the
other sides of the division works around the problem.  Similarly, putting a
white (assuming background is white) border with different style prevents
containing divs from having a border when printed in the case of a bordered div
causing contained within other non-bordered divs.
The fix for bug 80190 contained a fix for this problem.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: