|
|
1.1 root 1: .\" Copyright (c) 1983 Regents of the University of California.
2: .\" All rights reserved. The Berkeley software License Agreement
3: .\" specifies the terms and conditions for redistribution.
4: .\"
5: .\" @(#)fpr.1 6.2 (Berkeley) 5/7/86
6: .\"
7: .TH FPR 1 "May 7, 1986"
8: .UC 5
9: .ds f. fpr.tbl
10: .SH NAME
11: fpr \- print Fortran file
12: .SH SYNOPSIS
13: .B fpr
14: .SH DESCRIPTION
15: .I Fpr
16: is a filter that transforms files formatted according to
17: Fortran's carriage control conventions into files formatted
18: according to UNIX line printer conventions.
19: .PP
20: .I Fpr
21: copies its input onto its output, replacing the carriage
22: control characters with characters that will produce the intended
23: effects when printed using
24: .IR lpr (1).
25: The first character of each line determines the vertical spacing as follows:
26:
27: .if t \{\
28: .\" tbl input for vertical spacing table
29: .\" .TS
30: .\" center box;
31: .\" c | l.
32: .\" Character Vertical Space Before Printing
33: .\" _
34: .\" Blank One line
35: .\" 0 Two lines
36: .\" 1 To first line of next page
37: .\" + No advance
38: .\" .TE
39: .\" end of tbl input for vertical spacing table
40: .\" tbl output for vertical spacing table
41: .TS
42: .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
43: .de 35
44: .ps \n(.s
45: .vs \n(.vu
46: .in \n(.iu
47: .if \n(.u .fi
48: .if \n(.j .ad
49: .if \n(.j=0 .na
50: ..
51: .nf
52: .nr #~ 0
53: .if n .nr #~ 0.6n
54: .ds #d .d
55: .if \(ts\n(.z\(ts\(ts .ds #d nl
56: .fc
57: .nr 33 \n(.s
58: .rm 80 81
59: .nr 80 0
60: .nr 38 \wCharacter
61: .if \n(80<\n(38 .nr 80 \n(38
62: .nr 38 \wBlank
63: .if \n(80<\n(38 .nr 80 \n(38
64: .nr 38 \w0
65: .if \n(80<\n(38 .nr 80 \n(38
66: .nr 38 \w1
67: .if \n(80<\n(38 .nr 80 \n(38
68: .nr 38 \w+
69: .if \n(80<\n(38 .nr 80 \n(38
70: .80
71: .rm 80
72: .nr 81 0
73: .nr 38 \wVertical Space Before Printing
74: .if \n(81<\n(38 .nr 81 \n(38
75: .nr 38 \wOne line
76: .if \n(81<\n(38 .nr 81 \n(38
77: .nr 38 \wTwo lines
78: .if \n(81<\n(38 .nr 81 \n(38
79: .nr 38 \wTo first line of next page
80: .if \n(81<\n(38 .nr 81 \n(38
81: .nr 38 \wNo advance
82: .if \n(81<\n(38 .nr 81 \n(38
83: .81
84: .rm 81
85: .nr 38 1n
86: .nr 79 0
87: .nr 40 \n(79+(1*\n(38)
88: .nr 80 +\n(40
89: .nr 41 \n(80+(3*\n(38)
90: .nr 81 +\n(41
91: .nr TW \n(81
92: .nr TW +1*\n(38
93: .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 45 file fpr.tbl is too wide - \n(TW units
94: .ne 5v+2p
95: .nr #I \n(.i
96: .in +(\n(.lu-\n(TWu-\n(.iu)/2u
97: .fc
98: .nr #T 0-1
99: .nr #a 0-1
100: .nr #a 0-1
101: .eo
102: .de T#
103: .ds #d .d
104: .if \(ts\n(.z\(ts\(ts .ds #d nl
105: .mk ##
106: .nr ## -1v
107: .ls 1
108: .if \n(#T>=0 .nr #a \n(#T
109: .if \n(T. .vs \n(.vu-\n(.sp
110: .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
111: .if \n(T. .vs
112: .if \n(#a>=0 .sp -1
113: .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
114: .if \n(#a>=0 .sp -1
115: .if \n(#a>=0 \h'(|\n(41u+|\n(80u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
116: .if \n(#a>=0 .sp -1
117: .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
118: .ls
119: ..
120: .ec
121: .nr 36 \n(.v
122: .vs \n(.vu-\n(.sp
123: \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
124: .vs \n(36u
125: .mk #a
126: .ta \n(80u \n(81u
127: .nr 31 \n(.f
128: .nr 35 1m
129: \&\h'|\n(40u'Character\h'|\n(41u'Vertical Space Before Printing
130: .nr 36 \n(.v
131: .vs \n(.vu-\n(.sp
132: \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
133: .vs \n(36u
134: .ta \n(80u \n(81u
135: .nr 31 \n(.f
136: .nr 35 1m
137: \&\h'|\n(40u'Blank\h'|\n(41u'One line
138: .ta \n(80u \n(81u
139: .nr 31 \n(.f
140: .nr 35 1m
141: \&\h'|\n(40u'0\h'|\n(41u'Two lines
142: .ta \n(80u \n(81u
143: .nr 31 \n(.f
144: .nr 35 1m
145: \&\h'|\n(40u'1\h'|\n(41u'To first line of next page
146: .ta \n(80u \n(81u
147: .nr 31 \n(.f
148: .nr 35 1m
149: \&\h'|\n(40u'+\h'|\n(41u'No advance
150: .fc
151: .nr T. 1
152: .T# 1
153: .in \n(#Iu
154: .35
155: .nr #a 0
156: .TE
157: .if \n-(b.=0 .nr c. \n(.c-\n(d.-9
158: .\" end of tbl output for vertical spacing table
159: .\}
160: .if n \{\
161: .nf
162: +---------------+--------------------------------+
163: | Character | Vertical Space Before Printing |
164: |---------------+--------------------------------|
165: | Blank | One line |
166: | 0 | Two lines |
167: | 1 | To first line of next page |
168: | + | No advance |
169: +---------------+--------------------------------+
170: .fi
171: .\}
172:
173: .PP
174: A blank line is treated as if its first
175: character is a blank. A blank that appears as a carriage control
176: character is deleted. A zero is changed to a newline. A one is
177: changed to a form feed. The effects of a "+" are simulated using
178: backspaces.
179: .SH EXAMPLES
180: a.out | fpr | lpr
181: .PP
182: fpr < f77.output | lpr
183: .SH BUGS
184: Results are undefined for input lines longer than 170 characters.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.