6.1.3 Intermediate Output Examples

This section presents the intermediate output generated from the same input for three different devices. The input is the sentence ‘hell world’ fed into gtroff on the command line.

High-resolution device ps

This is the standard output of gtroff if no -T option is given.

shell> echo "hell world" | groff -Z -T ps

x T ps
x res 72000 1 1
x init
p1
x font 5 TR
f5
s10000
V12000
H72000
thell
wh2500
tw
H96620
torld
n12000 0
x trailer
V792000
x stop

This output can be fed into grops to get its representation as a PostScript file.

Low-resolution device latin1

This is similar to the high-resolution device except that the positioning is done at a minor scale. Some comments (lines starting with ‘#’) were added for clarification; they were not generated by the formatter.

shell> echo "hell world" | groff -Z -T latin1

# prologue
x T latin1
x res 240 24 40
x init
# begin a new page
p1
# font setup
x font 1 R
f1
s10
# initial positioning on the page
V40
H0
# write text 'hell'
thell
# inform about space, and issue a horizontal jump
wh24
# write text 'world'
tworld
# announce line break, but do nothing because...
n40 0
# ...the end of the document has been reached
x trailer
V2640
x stop

This output can be fed into grotty to get a formatted text document.

AT&T troff output

Since a computer monitor has a much lower resolution than modern printers, the intermediate output for X11 devices can use the jump-and-write command with its 2-digit displacements.

shell> echo "hell world" | groff -Z -T X100

x T X100
x res 100 1 1
x init
p1
x font 5 TR
f5
s10
V16
H100
# write text with jump-and-write commands
ch07e07l03lw06w11o07r05l03dh7
n16 0
x trailer
V1100
x stop

This output can be fed into xditview or gxditview for displaying in X.

Due to the obsolete jump-and-write command, the text clusters in the AT&T troff output are almost unreadable.