Q1. How do I prevent the staircase effect?
A1. The staircase effect is caused by the way some printers expect lines to be terminated. Some printers want lines that end with a carriage-return/line-feed sequence (DOS-style) instead of the line-feed sequence used for UNIX-type systems. The easiest way to fix this is to see if your printer can switch between the two styles somehow---either by flipping a DIP switch, or by sending an escape sequence at the start of each print job. To do the latter, you need to create a filter (see Q2).
A quick fix is to use a filter on the command-line. An example of this might be
$ cat thesis.txt | todos | lpr
Q2. What is a filter?
A2. A filter is a program that reads from standard input (stdin), performs some action on this input, and writes to standard output (stdout). Filters are used for a lot of things, including text processing.
Q3. What is a magic filter?
A3. A magic filter is a filter that performs an action based on a file's type. For example, if the file is a plain, text file, it would simply print the file using the normal methods. If the file is a PostScript file, or any other format, it would print it using another method (ghostscript). Two examples of this is magicfilter and APSfilter. One caveat of these filters is that the appropriate programs have to be installed before you install the filter.
The reason for this is that when the magicfilter gets installed, it queries your system for specific programs (such as ghostscript - if it finds it, then it knows it can handle PostScript data), then builds itself based on what it finds. To handle all the printer files, you should probably have at least the following installed:
Q4. What about the Windows Printing System? Will Linux work with that?
A4. Maybe. Printers that accept only the WPS commands will not work with Linux. Printers that accept WPS and other commands (such as the Canon BJC 610) will work, as long as they're set to something other than WPS format. Other printers, such as some HP DeskJet 820Cxi/Cse, will *not* work with Linux. That being said, Linux can act as a print server (See Samba) for Win95 machines, since Win95 has drivers for those printers.
Q5. What kinda cheey system is this? I can't print more than 6 pages or else I get a "file too large" error.
A5. One of the options in the /etc/printcap file relates to the maximum size of a print file. The default is 1000 disk blocks (about 500k?). For PostScript files and the like, this will give you maybe 6-8 pages with graphics and all. Be sure to add the following line in the printer definition:
The primary reason for this is to keep the spool partition from getting filled. There is another way to do it, by making lpr create a soft link from the spool directory to your print file. But you have to remember to add the
-soption to lpr every time.