|
|
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.