Network Working Group J. Postel
Request for Comments: 678 (SRI-ARC)
NIC: 31524 19 December 1974
Standard File Formats
Introduction
In an attempt to provide online documents to the network community we
have had many problems with the physical format of the final
documents. Much of this difficulty lies in the fact that we do not
have control or even knowledge of all the processing steps or devices
that act on the document file. A large part of the difficulty in the
past has been due to some assumptions we made about the rest of the
world being approximately like our own environment. We now see that
the problems are due to differing assumptions and treatment of files
to be printed as documents. We therefore propose to define certain
standard formats for files and describe the expected final form for
printed copies of such files.
These standard formats are not additional File Transfer Protocol data
types/modes/structures, but rather usage descriptions between the
originator and ultimate receiver of the file. It may be useful or
even necessary at some hosts to construct programs that convert files
between common local formats and the standard formats specified here.
The intent is that the author of a document may prepare his/her text
and store it in an online file, then advertise that file by name and
format (as specified here), such that interested individuals may copy
and print the file with full understanding of the characteristics of
the format controls and the logical page size.
Standardization Elements
The elements or aspects of a file to be standardized are the
character or code set used, the format control procedures, the area
of the page to be used for text, and the method to describe
overstruck or underlined characters.
The area of the page to be used for text can be confusing to discuss,
in an attempt to be clear we define a physical page and a logical
page. Please note that the main emphasis of this note is to describe
the standard formats in terms of the logical page, and that it is up
to each site to map the logical page onto the physical page of each
of their devices.
- 1 -
Standard File Formats
Standardization Elements
Physical Page
The physical page is the medium that carries the text, the
height and width of its area are measured in inches.
The typical physical page is a piece of paper eleven inches
high and eight and one half inches wide.
Typical print density is 10 characters per inch
horizontally and 6 characters per inch vertically. This
results in the typical physical page having a maximum
capacity of 66 lines and 85 characters per line. It is
often the case that printing devices limit the area of
the physical page by enforcing margins.
Logical Page
The logical page is the area that can contain text, the height
of this area is measured in lines and the width is measured in
characters.
A typical logical page is 60 lines high and 72 characters
wide.
Code Set
The character encoding will be the network standard Network
Virtual Terminal (NVT) code as used in Telnet and File Transfer
protocols, that is ASCII in an eight bit byte with the high order
bit zero.
Format Control
The format will be controlled by the ASCII format effectors:
Form Feed <FF>
Moves the printer to the top of the next logical page
keeping the same horizontal position.
Carriage Return <CR>
Moves the printer to the left edge of the logical page
remaining on current line.
- 2 -
Standard File Formats
Standardization Elements
Line Feed <LF>
Moves the printer to the next print line, keeping the same
horizontal position.
Horizontal Tab <HT>
Moves the printer to the next horizontal tab stop.
The conventional stops for horizontal tabs are every
eight characters, that is character positions 9, 17, 25,
... within the logical page.
Note that it is difficult to enforce these conventions and
it is therefore recommended that horizontal tabs not be used
in document files.
Vertical Tab <VT>
Moves the printer to the next vertical tab stop.
The conventional stops for vertical tabs are every eight
lines starting at the first printing line on each logical
page, that is lines 1, 9, 17, ... within the logical
page.
Note that it is difficult to enforce these conventions and
it is therefore recommended that vertical tabs not be used
in document files.
Back Space <BS>
Moves the printer one character position toward the left
edge of the logical page.
Not all these effectors will be used in all format standards, any
effectors which are not used in a format standard are ignored.
Page Length
The logical page length will be specified in terms of a number of
lines of text.
- 3 -
Standard File Formats
Standardization Elements
Page Width
The logical page width will be specified as a number of
characters.
Overstriking
Overstriking (note that underlining is a subset of overstriking)
may be specified to be done in one or both of the following ways,
or not at all:
By Line
The composite line is made up of text segments each
terminated by the sequence <CR><NUL> except that the final
segment is terminated by the sequence <CR><LF>.
By Character
Each character to be overstruck is to be immediately
followed by a <BS> and the overstrike character.
End of Line
The end of line convention is the Telnet end of line convention
which is the sequence <CR><LF>. It is recommended that use of <CR>
and <LF> be avoided in other than the end of line context.
- 4 -
Standard File Formats
Standard Formats
Standard Formats
Format 1 [Basic Document]
This format is designed to be used for documents to be printed on
line printers, which normally have 66 lines to a physical page,
but often have forced top and bottom margins of 3 lines each.
Active Format Effectors
<FF>, <CR>, <LF>.
Page Length
60 lines.
Page Width
72 Characters.
Overstriking
By Line.
Format 2 [Terminal]
This format is designed to be used with hard copy terminals, which
in the normal case have 66 lines to a physical page. It is
expected that there are no top or bottom margins enforced by the
terminal or its local system, thus any margins around the physical
page break must come from the file.
Active Format Effectors
<FF>, <CR>, <LF>, <HT>, <VT>, <BS>.
Page Length
66 lines.
Page Width
72 Characters.
Overstriking
By Character.
- 5 -
Standard File Formats
Standard Formats
Format 3 [Line Printer]
This format is designed to be used with full width (11 by 14 inch
paper) line printer output.
Active Format Effectors
<FF>, <CR>, <LF>.
Page Length
60 lines.
Page Width
132 Characters.
Overstriking
None.
Format 4 [Card Image]
This format is designed to be used for simulated card input. The
page width is 80 characters, each card image is followed by
<CR><LF>, thus each card is represented by between 2 and 82
characters in the file. Note that the trailing spaces of a card
image need not be present in the file, and that the early
occurence of the <CR><LF> sequence indicates that the remainder of
the card image is to contain space characters.
Active Format Effectors
<CR>, <LF>.
Page Length
Infinite.
Page Width
80 Characters.
Overstriking
None.
- 6 -
Standard File Formats
Standard Formats
Format 5 [Center Document]
This format is intended for use with documents to be printed on
line printers which normally have 66 lines to the physical page
but enforce top and bottom margins of 3 lines each. The text is
expected to be centered on the paper. If the horizontal printing
density is 10 characters per inch and the paper is 8 and 1/2
inches wide then there will be a one inch margin on each side.
Active Format Effectors
<FF>, <CR>, <LF>.
Page Length
60 Lines.
Page Width
65 Characters.
Overstriking
By Line.
Format 6 [Bound Document]
This format is intended for use with documents to be printed on
line printers which normally have 66 lines to the physical page
but enforce top and bottom margins of 3 lines each. If the
horizontal printing density is 10 characters per inch and the
paper is 8 and 1/2 inches wide then the text should be positioned
such that there is a 1 and 1/2 inch left margin and a one inch
right margin.
Active Format Effectors
<FF>, <CR>, <LF>.
Page Length
60 Lines.
Page Width
60 Characters.
Overstriking
By Line.
- 7 -
Standard File Formats
Implementation Suggestions
Implementation Suggestions
Overflow
Overflow can result from two causes, first if the physical page is
smaller than the logical page, and second if the actual text in
the file violates the standard under which it is being processed.
In either case the following suggestions are made to implementors
of programs which process files in these formats.
Length
If more lines are processed than fit within the minimum of the
physical page and the logical page length since the last <FF>,
then the <FF> action should be forced.
Width
If more character positions are processed than fit on the
minimum of the physical page width and the logical page width
since the last <CR>, then characters are discarded up to the
next <CR>.
or
If more character positions are processed than fit on the
minimum of the physical page width and the logical page width
since the last <CR>, then the <CR> and <LF> actions should be
forced.
References
A. McKenzie "TELNET Protocol Specification," Aug-73, NIC 18639.
"USA Standard Code for Information Interchange," United States of
America Standards Institute, 1968, NIC 11246.
- 8 -