GNOME Bugzilla – Bug 666207
gedit fails to obey page breaks when printing
Last modified: 2013-10-03 14:54:36 UTC
Created attachment 203525 [details] An example "old school" listing file formatted with form feed characters. I reported this as an Ubuntu bug on Launchpad. They have requested that I send the report upstream to you. This has been marked as a "Wishlist" item there, which I suppose is correct. Perhaps my use is a "corner case" as Sabastien Bacher at Ubuntu says. I think that it is an important element in the usability of gnome as a total tool. When I double-click on a text file on my GUI desktop, gedit opens the file, and I can see what is in it. It seem rather natural that if I want to print it out, I should be able to click "print" and have that happen. If I wanted to open a command line, cd around to where the file is, and then "lp" it, I would not need a GUI interface, would I? I think this is a legitimate use. [disclosure-- someone entered this same complaint about gtksourceview six years ago. I thought that the user (and several others) made a good case for it. The implementor basically brushed aside the report with an off handed comment about ancient equipment. As a piece of ancient equipment myself, I found it offensive.] Here is the report as I sent it to Ubuntu -- reformatted a bit: v v v v v v v v v v v v I am attempting to use gedit to spool the printout from a legacy program to an ink jet printer. The file is in ASCII, with a form feed character defining each page. Gedit displays the form feed as a box with the hexadecimal value 000C in it. This is all good. When I select "print" from the gedit menu, it sends the text to the printer neatly formatted with a header and page numbering of its own. This is also acceptable. When the legacy program created the text, it determined that additional information should appear an a new form, so it wanted to eject the nearly full form, and begin the next block of information beneath a new header. It emitted a form feed to produce that effect. Gedit happily creates a graphic box with 000C in it, prints the box, and proceeds to print the legacy header (which says "page 2" on it) on the bottom of page One. When it runs out of paper, it prints its Page 2 header, continues to print the legacy second page, a 000C box, and the header for the legacy "page 3" and part of page three until it runs out of paper again, and so forth. Unicode 000C is defined as a white space control character, as are carriage return and line feed. You don't print them, you obey them. Do the same for form feed. Be kind to old programs and old programmers. If my C program contains a "printf" statement with a "\f" in it, give me a new sheet of paper on the printout. That way your page 2 will also be my page 2 and the printout will appear pretty much like the programmer (myself in a previous millennium) intended.
*** This bug has been marked as a duplicate of bug 344297 ***