3

If I want to imitate the (scaled) look, albeit not the feel, of a typical line printer printout on fan-fold paper, using Letter-, Legal- or A4-sized paper, what settings should be used to reproduce the ratio of character height to inter-line distance, character size and pitch, etc.?

Perhaps, a tool (Windows or UNIX) exists to generate such printouts?

19
  • 8
    Don't forget you need a color printer to get your proper greenbar.
    – davidbak
    Mar 10, 2023 at 1:02
  • 2
    Don't forget you always alway always need to print a cover sheet, in order to be authentic, as seen in this answer (where you can also see that "greenbar" is the name for almost any pastel colored lines - those lines BTW are always 3 lines of white, 3 lines of color.)
    – davidbak
    Mar 10, 2023 at 1:12
  • 1
    I noted this github project.
    – dave
    Mar 10, 2023 at 1:31
  • 4
    @davidbak Where I grew up, the fan-fold printer paper was white as snow! And there were systems besides IBM, you know :)
    – Leo B.
    Mar 10, 2023 at 1:56
  • 1
    @manassehkatz-Moving2Codidact - an IBM 1443 manual here says the operator could manually select either 6 or 8 LPI for that printer. (See page 1 under "Printing Operations", 2nd paragraph.) Presumably others too.
    – davidbak
    Mar 10, 2023 at 2:30

4 Answers 4

5

You'd be surprised, but this is much harder than it looks. Even forgetting about cosmetic niceties like green bars, aspect ratio and appropriate fonts, putting exactly M×N characters in a block on a page is complex, and your extended requirements comment:

Ideally, I'm looking for a tool that can automatically arrange NxM characters within a rectangle of a given size, automatically selecting the font based on size or pitch, depending on what is more restrictive, and adjusting the inter-line spacing or character spacing as appropriate.

may be practically impossible. (Adjusting character spacing, incidentally, is not recommended, ever.) Sadly, any effort to produce nice mono-spaced output is usually swamped by the (much larger) effort to make nice proportional output. As you didn't have any layout options on a line printer, it all seemed rather too easy.

But for the special case of 132×66, we can get close with a couple of programs. I'm going to assume you want PDF output, and we're going to get it by using the CUPS PDF virtual printer on Linux (in the printer-driver-cups-pdf package on Debian). I'm also going to assume you have a file called 132cols.txt that's exactly 132 columns wide. Tools such as fmt can help you get there. We're also going to use US Letter paper, and we're going to be very happy to use Courier, okay?

1) enscript

enscript page output

enscript has knocked around Unix installations for decades in many forms. The version you have on your system may not have all of the options I use here. But to get a 132×66 text block to fit a page, this command will do it:

enscript --no-header --no-job-header --lines-per-page=66 [email protected]/7.5 --media=letter --landscape --margins=18:18:36:36 --printer=PDF 132cols.txt

enscript's font selection is extremely poor, unless you're willing to dive into some deep configuration. The only other option available by default is Courier-Bold. --lines-per-page is supposedly overridden by font selection (but isn't), and this font size was found by trial and error.

2) a2ps

a2ps is a Gnu thing, so has overly long and mostly contradictory documentation. I had great difficulty keeping this to the 132×66 format, and sometimes even feeding it different input with the same options gave me different numbers of lines and columns. However, this appear to usually do the job:

a2ps --medium=Letter --landscape --columns=1 --rows=1 --lines-per-page=66 --no-header --borders=no --printer=PDF ~/Desktop/132cols.txt

Text block isn't centred, if that matters. For this page size, --lines-per-page=66 was the controlling variable. If I set --chars-per-line=132 I only got 58 lines per page.

Other options

  • Ghostscript's gslp is equivalent to an early version of enscript, but written entirely in PostScript. Not tried, but seems to default to some very obsolete printer choices (even by our standards).

You may have to fiddle with the pr (the text formatter/paginator) and fmt utilities to make your output work. Good luck!

2
  • Thank you very much! a2ps looks like a better choice especially because it appears to be Unicode-aware, unlike enscript, and it scales the font automatically.
    – Leo B.
    Mar 16, 2023 at 7:26
  • I thought you might be interested in more Unicode-aware output, but I didn't want my answer to be too long. Both of them sort-of work, but if one is good enough, then I'm glad.
    – scruss
    Mar 17, 2023 at 1:17
10

I would assume it to be already covered in this answer.


Basic Numbers for classic printers are

  • Width of 14 inch
  • Height of 8½ inch
  • 10 characters per inch
  • 8 lines per inch

At 132 columns the usable area is

  • 13⅕ inch

or a ratio of

  • 1:33:1

for perforation to print area.

There is no page height, lines are set continuous, that means there are (up to)

  • 68 lines per page

Printers did have a top of page setting, but that did not do any formatting or skipping of space, unless a 'page feed' was given. In that case feed was done until the line tracker detected the according marker. For standard paper this marker was reached every 68 lines.

Convention for regular prints was to send a maximum of 66 lines before issuing a page feed. This left

  • Two lines (or 2/8th of an inch) unused.

What this meant for paper borders depended entirely on how the paper was inserted (*1).

For simple printing this was usually done with the page perforation roughly a line above the print position. which resulted in a ratio:

  • 1:66:1

Of course this could be any other setting for other forms or margins.

The same works of course with any other page size, but then you might need to calculate based on whatever paper is used.

Also, especially when it came to letter type paper, the feed margin was not part of the final page but to be added (and to be removed along the perforation. That means an

  • 8½ by 11 inch (US Letter size) paper
  • meant for sprocket feed
  • measures 9 by 11 inch and has a horizontal ratio of
  • 2:33:2

Bottom line:

  • No top or bottom margin
  • No side margins
  • 0.25 inches on each side for feed perforation to be considered.
    • i.e. added or subtracted according to paper

Now, for the "tool", what about Open Office Writer (*2)?

  • Set page size to 14 by 8.5
  • Set left and right margins to 0.25
  • Set Top and Bottom margins to 0.125
  • Set font to a fixed one like Liberation Mono or Courier New
  • Set Font size to fit 66 lines (9pt line height IIRC)
  • Insert your text
  • Print to PDF

The process can of course be automated - which depends on the text processor choosen.


*1 - Set printer offline, press manual page feed, insert paper aligned to indent, set printer online again.

*2 - Or Word or any other word processor capable of formatting - including TEX.

16
  • 1
    Don't forget to add a little randomness to the character positioning for the authentic look; vertical in the case of a drum printer.
    – dave
    Mar 10, 2023 at 0:58
  • 1
    When I got line printouts as a student, the printer was adjusted IIRC so that a carriage control character of "1" would place the paper 1.5 lines below the top of the page, but each job was prefixed by a banner page which a row of asterisks printed 2 lines above it, and another row of asterisks exactly one page below that, so that the middle line of the asterisks would land right on the performation. This made it possible for the person running the shop to take a stack of printouts and separate out the different jobs thereon.
    – supercat
    Mar 10, 2023 at 7:18
  • 1
    @LeoB. that wouldn't be hard in LaTeX. You'd need to tone down my bad typewriter imitation but it demonstrates how you could create the effect
    – Chris H
    Mar 10, 2023 at 14:40
  • 1
    Sorry, I am pretty darn sure from my own memory (but have to go hunting for printouts - I am pretty sure I saved a few (but only a few) from 40 years ago) that the standard was 14+" wide, 11" tall. 14+x8.5 would be US "legal" size but landscape - it wasn't that. It was 11" tall so folded (or even chopped) on the right it would be close to letter size. Yes, 8 lpi was a thing - not doubting that. But the standard height was 11". Mar 10, 2023 at 15:04
  • 1
    @manassehkatz-Moving2Codidact I concur that 6 lines per inch / 11 inches was standard (in the UK, and for minis and micros as well as IBM mainframes) and Raffzahn even mentions this first in his other answer which he links.
    – grahamj42
    Mar 10, 2023 at 21:19
5

In my experience, the common size for line printer paper was 14" or so (i.e., actually a bit more to include the feed holes) x 11", with standard horizontal spacing 10 characters per inch (132 columns) and standard vertical spacing 6 lines per inch for a total number of lines between 60 and 66, depending on how much, if any, spacing over the perforations between the pages.

The paper is still out there. For example, from Amazon:

Sparco green bar 14-7/8x11

An interesting variant was the TTY 43 (the first terminal I owned - actually half-owned, shared with my evil twin) used 8-1/2" x 12" (11" printable plus extra for the feed holes, but the edges were perforated so it would tear down to standard letter size 8-1/2" x 11") landscape orientation, with approximately 13 characters per inch (yes, the manual says "approximately"!) to get the standard 132 characters across, combined with 8 lines per inch. The end result being a very close approximation of the usual 14"+ x 11" paper on much more convenient 8-1/2" x 11". It wasn't a line printer - in fact, it wasn't even a fully-formed character printer like the classic 33, it was actually a dot-matrix printer. But the output was close to a shrunken line printer page.

3
  • Sorry, but print area of 14 inch at 10 CPI does not make any sense, as it would end up at 140 character print lines - something that did not eist with classic line printers. Also, using landscape with letter output only works with later bitmap printers, not classic line printers. Which fits with you mentioning a TY43, which is a complete different beast than a line printer. Your experience seems to stem from way later and smaller machines, does it?
    – Raffzahn
    Mar 10, 2023 at 15:42
  • 1
    14-7/8 - 1/2" on each side (for the holes) gets to 13-7/8", subtract a drop more for margins and you get to 13.2" = 132 characters at 10 CPI. As far as landscape with letter output - correct that it was never that way with classic line printers, which is why I edited my answer to reflect that very valid point. Mar 10, 2023 at 15:46
  • 1
    Point about classic line printers is that there were no additional margins. Again,there can be many formats - so many that one can of course find some fitting any desire. So, when asked to pick one, I'd say the most logical is the one that was used at the time the question asked for. That was 11 inch for 6 lines per inch - which faded soon - and 8 1/2 for 8 lines, which became standard about the time computers became a thing. Of course there was as well 11 inch paper, then used for up to 88 lines (see the original linked answer). but that's a later combination for getting more onto a page.
    – Raffzahn
    Mar 10, 2023 at 15:51
2

Typically, people were happy enough to get ink on paper without thinking too much about dimensions.

For a common desktop dot matrix printer, a usual size on US "Letter" size paper (8.5" by 11") would be 80 columns of (monospace) text and 66 lines per page (top edge to bottom edge with no margin). That means the line height would be about 1/6 of an inch. Metric (A4) size paper would have been slightly different.

A word processor program would allow you to configure exactly how many characters (left/right) and lines (top/bottom) margin you would like to pad your text with, and would reformat the output accordingly. Printers differed, so you would have been able to change these each margin value individually.

There was no one single "standard" character pitch or inter-character spacing. Again, printers differed, so if you didn't like it maybe you would have to buy a different printer.

If you want the line printer "look" on unix, definitely use lpr! It probably hasn't changed in decades.

4
  • 2
    The question was 'line printers', though. Desktop printers were character printers. Line printters generally had a rotating drum with all characters in every print position, or else a rotating chain with several copies of the character repertoire. In both cases, the printer buffered the entire line; characters were printed in the order in which the type reached the right place, not in column order.
    – dave
    Mar 10, 2023 at 1:00
  • Yeah, I used line printers too. Again, at the time people were mostly happy to have some way to get ink on paper. There were standard fanfold paper sizes, some of which were the same as desktop dot matrix printers. I think if you want to capture the "look" of a line printer, then use a 12 point monospace font with zero page margins. Mar 10, 2023 at 1:02
  • 2
    We called those band printers. They were still 132 characters with 66 lines per page. Not all line printers were band printers. There were many dot matrix line printers. I've formatted enough forms and checks to all these things in my time to be very intimate with character positioning. Obviously, some had added features (notably the dot matrix ones) such as compressed characters and such. But out of the box, with defaults, 14" green bar paper was 132 characters per line, 66 lines per page. Mar 10, 2023 at 15:54
  • Rather than lpr (which is now a general purpose file spooler), maybe you meant the pr print formatter?
    – scruss
    Mar 12, 2023 at 13:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .