Jump to content

Characters per line

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Jonesey95 (talk | contribs) at 02:57, 23 December 2015 (Adding display-editors parameter to fix Help:CS1_errors#displayeditors using AutoEd). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In typography and computing characters per line (CPL) or terminal width refers to the maximal number of monospaced characters that may appear on a single line. It is similar to line length in typesetting.

History

The ruler on the carriage of an Olivetti Lettera 22. This typewriter can print only 87 characters in a line

The limit of the line length in 70–80 characters may well be originated from various technical limitations of various equipment. The American teletypewriters could type only 72 CPL, while the British ones even less, 70 CPL.[1] In the era of typewriters, most designs of the typewriter carriage were limited to 80–90 CPL. The most widespread and standard paper size in the US (8.5×11") also has been imposing limitations on the line length: it is possible to print only 85 or 102 characters (with the font size either 10 or 12 characters per inch) without margins on the typewriter. With various margins (usually from 1 to 1.5 inches for each side, but there is no strict standard) these numbers may shrink to 55–78 CPL.

A Fortran coding form (paper). Source code has 72 CPL, but a form is 80-characters wide. Last 8 positions are "identification sequence"

In computer technology, a line of an IBM punched card could consist of only 80 characters. The widespread computer terminals such as IBM 3270 followed this limitation, their monitors could show only 80 CPL (but with the various number of lines), with some model this number was either reduced by half to 40 CPL or increased to 132 CPL. Such line lengths have been carried over into text modes of personal computers.

The "long" line of 132 CPL comes from line printers of mainframes.[2][3][4]

In modern computing

With the advent of desktop computing and publishing, and technologies such as TrueType used in word processing and web browsing, a uniform CPL has been made mostly obsolete. HTML (and some other modern text presentation formats) uses dynamic word wrapping which is more flexible than characters per line restriction and may produce a text block with non-rectangular shape, just like in paper typesetting.

Many plain text documents still conform to 72 CPL out of tradition.

RFC 2046                      Media Types                  November 1996


   A. Collected Grammar ....................................   43

1.  Introduction

   The first document in this set, RFC 2045, defines a number of header
   fields, including Content-Type. The Content-Type field is used to
   specify the nature of the data in the body of a MIME entity, by
   giving media type and subtype identifiers, and by providing auxiliary
   information that may be required for certain media types.  After the
RFC 2046, which defines the text/plain MIME type, is itself a 72 CPL plain text. Top of page 3

In programming

Many style guides for programming define the maximum or desirable number of characters in a line of code:

Human perception

A study at Wichita State University found that CPL had only small effects on readability, including factors of speed and comprehension. When asked for preferences, however, 60% of respondents indicated a preference for either the shortest (35 CPL) or longest (95 CPL) lines used in the study. At the same time, 100% of respondents selected either one of these quantities as being the least desirable.[17]

See also

References

  1. ^ Department of the Army, ed. (1947). Teletypewriter Circuits and Equipment (fundamentals). Washington: US Government Printing Office. p. 69.
  2. ^ Pomerantz, Ori; Vander Weele, Barbara; Nelson, Mark; et al., eds. (2008). Mainframe Basics for Security Professionals.
  3. ^ Wells, April J. (2003). Oracle 11i E-Business Suite from the Front Lines. p. 168.
  4. ^ "Difference between..LRECL = 133 and LRECL = 132". IBMMAINFRAMES.com - IBM Mainframe Support Forums. 2004.
  5. ^ GCC Coding Conventions
  6. ^ Linux kernel coding style
  7. ^ Google C++ Style Guide
  8. ^ Google Java Style
  9. ^ Google's R Style Guide
  10. ^ Google Python Style Guide
  11. ^ a b PSR-2: Coding Style Guide
  12. ^ Mozilla Coding style
  13. ^ "4.1. Line length". Java Code Conventions (PDF). Sun Microsystems, Inc. 1997. p. 5.
  14. ^ a b PEP 8 Style Guide for Python Code (actually 79 and 99 characters)
  15. ^ Android Code Style Guidelines for Contributors
  16. ^ Mono Coding Guidelines
  17. ^ Shaikh, A. Dawn (July 2005). "The Effects of Line Length on Reading Online News". Usability News. 7 (2).