In typography and computing, characters per line (CPL) or terminal width is the maximal number of monospaced characters that may appear on a single line. It is related to the line length in typesetting.
History The limit of the line length in 70–80 characters may well have originated from various technical limitations of various equipment. The American teletypewriters could type only 72 CPL, while the British ones even less, 70 CPL. In the era of typewriters, most designs of the typewriter carriage were limited to 80–90 CPL. Standard paper sizes, such as the international standard A4, also impose limitations on line length: using the US standard Letter paper size (8.5×11"), it is only possible to print a maximum of 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 for each side, but there is no strict standard – these numbers may shrink to 55–78 CPL.
In computer technology, a line of an IBM punched card consisted of 80 characters. Widespread computer terminals such as DEC's VT52 and VT100 mostly followed this standard, showing 80 CPL and 24 lines. This line length was carried over into the original 80×25 text mode of the IBM PC, along with its clones and successors. To this day, virtual terminals most often display 80×24 characters.
The "long" line of 132 CPL comes from mainframes' line printers. However, some printers or printing terminals could print as many as 216 CPL, given certain extra-wide paper sizes and/or extra-narrow font sizes.
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 (e.g., ).
In programming Many style guides for computer programming define the maximum or desirable number of characters in a line of source code: Characters per line Programming style 72 AdaAda 95 Quality and Style Guide Agdaagda/agda-stdlib: Style guide for the standard library 79 PythonPEP 8 Style Guide for Python CodeStyle Guide for Python Code 80 88 Python, The Black code style 90 CCM4CCM4 self-imposed limit 100 AndroidAndroid Code Style Guidelines for Contributors Common LispCommon Lisp Style GuideGoogle Common Lisp Style Guide Google JavaGoogle Java Style Rust (rustfmt default)rustfmt Documentation ZigZig Language Reference (preferred, not hard requirement) 102 RacketHow to Program Racket: a Style Guide 120 PHP 132 FortranFORTRAN 90 (until 2023) BlinkBlink Coding Style Guidelines MoodleMoodle Coding Style140 Puppet 180 MonoMono Coding Guidelines undefined GoEffective Go JavaScript (JavaScript has no official style guide) With the increasingly common use of larger widescreen monitors, some of these limits have been relaxed, as in the Linux kernel and FreeBSD.
See also IBM 80-column punched card format Common text modes Apple 80-Column Text Card Column (typography) Line length (the equivalent concept for non-monospaced text)
References