xref: /plan9/sys/doc/prfile (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
1*7dd7cddfSDavid du Colombier#!/bin/rc
2*7dd7cddfSDavid du Colombier
3*7dd7cddfSDavid du Colombierswitch($#*){
4*7dd7cddfSDavid du Colombier	case 1
5*7dd7cddfSDavid du Colombier		outfile = $1
6*7dd7cddfSDavid du Colombier		infile = $1.ms
7*7dd7cddfSDavid du Colombier	case *
8*7dd7cddfSDavid du Colombier		outfile = $1
9*7dd7cddfSDavid du Colombier		shift
10*7dd7cddfSDavid du Colombier		infile = $*
11*7dd7cddfSDavid du Colombier}
12*7dd7cddfSDavid du Colombier
13*7dd7cddfSDavid du ColombierFONTS='.FP lucidasans'
14*7dd7cddfSDavid du Colombier
15*7dd7cddfSDavid du ColombierMACS ='.de BT
16*7dd7cddfSDavid du Colombier.nr PX \\n(.s
17*7dd7cddfSDavid du Colombier.nr PF \\n(.f
18*7dd7cddfSDavid du Colombier.nr Bt 1
19*7dd7cddfSDavid du Colombier.ft 1
20*7dd7cddfSDavid du Colombier.ps \\n(PS
21*7dd7cddfSDavid du Colombier''lt \\n(LTu
22*7dd7cddfSDavid du Colombier.po \\n(POu
23*7dd7cddfSDavid du Colombier.if \\n%>0 .tl \(ts\\*(LF\(ts\\*(CF\(ts\\*(RF\(ts
24*7dd7cddfSDavid du Colombier.ft \\n(PF
25*7dd7cddfSDavid du Colombier.ps \\n(PX
26*7dd7cddfSDavid du Colombier..
27*7dd7cddfSDavid du Colombier.de PT
28*7dd7cddfSDavid du Colombier.lt \\n(LLu
29*7dd7cddfSDavid du Colombier.pc %
30*7dd7cddfSDavid du Colombier.nr PN \\n%
31*7dd7cddfSDavid du Colombier.nr Ps \\n(PS-1
32*7dd7cddfSDavid du Colombier.if \\n(Bt>0  .if e .tl @\\n%     \s\\n(Ps\\*(Au\s0@@@
33*7dd7cddfSDavid du Colombier.if \\n(Bt>0  .if o .tl @@@\f2\\*(Tl\\f1     \\n%@
34*7dd7cddfSDavid du Colombier.lt \\n(.lu
35*7dd7cddfSDavid du Colombier..'
36*7dd7cddfSDavid du Colombier
37*7dd7cddfSDavid du Colombier
38*7dd7cddfSDavid du Colombiermacros = -ms
39*7dd7cddfSDavid du Colombier
40*7dd7cddfSDavid du Colombierswitch($outfile){
41*7dd7cddfSDavid du Colombiercase 8½ acme gfx panel sam
42*7dd7cddfSDavid du Colombier	macros = ($macros -mpictures)
43*7dd7cddfSDavid du Colombier}
44*7dd7cddfSDavid du Colombier
45*7dd7cddfSDavid du Colombierswitch($outfile){
46*7dd7cddfSDavid du Colombiercase 9 comp 8½ utf acme
47*7dd7cddfSDavid du Colombier	macros = ($macros -mnihongo)
48*7dd7cddfSDavid du Colombier}
49*7dd7cddfSDavid du Colombier
50*7dd7cddfSDavid du Colombierfn assemble{
51*7dd7cddfSDavid du Colombier	switch($1){
52*7dd7cddfSDavid du Colombier	case 9
53*7dd7cddfSDavid du Colombier		pageno = 1
54*7dd7cddfSDavid du Colombier		title = 'Plan 9 From Bell Labs'
55*7dd7cddfSDavid du Colombier		author = 'INTRODUCTION'
56*7dd7cddfSDavid du Colombier	case README
57*7dd7cddfSDavid du Colombier		pageno = 23
58*7dd7cddfSDavid du Colombier		title = '\s-1README\s0'
59*7dd7cddfSDavid du Colombier		author = 'INTRODUCTION'
60*7dd7cddfSDavid du Colombier	case names
61*7dd7cddfSDavid du Colombier		pageno = 29
62*7dd7cddfSDavid du Colombier		title = 'The Use of Name Spaces in Plan 9'
63*7dd7cddfSDavid du Colombier		author = 'INTRODUCTION'
64*7dd7cddfSDavid du Colombier	case net
65*7dd7cddfSDavid du Colombier		pageno = 35
66*7dd7cddfSDavid du Colombier		title = 'The Organization of Networks in Plan 9'
67*7dd7cddfSDavid du Colombier		author = 'INTRODUCTION'
68*7dd7cddfSDavid du Colombier	case comp
69*7dd7cddfSDavid du Colombier		pageno = 49
70*7dd7cddfSDavid du Colombier		title = 'How to Use the Plan 9 C Compiler'
71*7dd7cddfSDavid du Colombier		author = 'PROGRAMMING'
72*7dd7cddfSDavid du Colombier	case ape
73*7dd7cddfSDavid du Colombier		pageno = 63
74*7dd7cddfSDavid du Colombier		title = 'APE \(em The ANSI/POSIX Environment'
75*7dd7cddfSDavid du Colombier		author = 'PROGRAMMING'
76*7dd7cddfSDavid du Colombier	case ug
77*7dd7cddfSDavid du Colombier		pageno = 67
78*7dd7cddfSDavid du Colombier		title = 'Alef User''s Guide'
79*7dd7cddfSDavid du Colombier		author = 'PROGRAMMING'
80*7dd7cddfSDavid du Colombier	case alef
81*7dd7cddfSDavid du Colombier		pageno = 103
82*7dd7cddfSDavid du Colombier		title = 'Alef Language Reference Manual'
83*7dd7cddfSDavid du Colombier		author = 'PROGRAMMING'
84*7dd7cddfSDavid du Colombier	case acidpaper
85*7dd7cddfSDavid du Colombier		pageno = 141
86*7dd7cddfSDavid du Colombier		title = 'Acid: A Debugger Built From A Language'
87*7dd7cddfSDavid du Colombier		author = 'PROGRAMMING'
88*7dd7cddfSDavid du Colombier	case acid
89*7dd7cddfSDavid du Colombier		pageno = 155
90*7dd7cddfSDavid du Colombier		title = 'Acid Manual'
91*7dd7cddfSDavid du Colombier		author = 'PROGRAMMING'
92*7dd7cddfSDavid du Colombier	case mk
93*7dd7cddfSDavid du Colombier		pageno = 181
94*7dd7cddfSDavid du Colombier		title = 'Maintaining Files on Plan 9 with Mk'
95*7dd7cddfSDavid du Colombier		author = 'PROGRAMMING'
96*7dd7cddfSDavid du Colombier	case mkfiles
97*7dd7cddfSDavid du Colombier		pageno = 195
98*7dd7cddfSDavid du Colombier		title = 'Plan 9 Mkfiles'
99*7dd7cddfSDavid du Colombier		author = 'PROGRAMMING'
100*7dd7cddfSDavid du Colombier	case asm
101*7dd7cddfSDavid du Colombier		pageno = 203
102*7dd7cddfSDavid du Colombier		title = 'A Manual for the Plan 9 assembler'
103*7dd7cddfSDavid du Colombier		author = 'PROGRAMMING'
104*7dd7cddfSDavid du Colombier	case 8½
105*7dd7cddfSDavid du Colombier		pageno = 211
106*7dd7cddfSDavid du Colombier		title = '8½, the Plan 9 Window System'
107*7dd7cddfSDavid du Colombier		author = 'USER INTERFACES'
108*7dd7cddfSDavid du Colombier	case rc
109*7dd7cddfSDavid du Colombier		pageno = 221
110*7dd7cddfSDavid du Colombier		title = 'Rc \(em The Plan 9 Shell'
111*7dd7cddfSDavid du Colombier		author = 'USER INTERFACES'
112*7dd7cddfSDavid du Colombier	case sam
113*7dd7cddfSDavid du Colombier		pageno = 237
114*7dd7cddfSDavid du Colombier		title = 'The Text Editor Sam'
115*7dd7cddfSDavid du Colombier		author = 'USER INTERFACES'
116*7dd7cddfSDavid du Colombier	case acme	# actually done in acme/mkfile
117*7dd7cddfSDavid du Colombier		pageno = 267
118*7dd7cddfSDavid du Colombier		title = 'The Text Editor Sam'
119*7dd7cddfSDavid du Colombier		author = 'USER INTERFACES'
120*7dd7cddfSDavid du Colombier	case utf
121*7dd7cddfSDavid du Colombier		pageno = 283
122*7dd7cddfSDavid du Colombier		title = 'Hello World, or \f1\S''12''Καλημέρα κόσμε\fP\S''0'', or \f(Jpこんにちは 世界\fP'
123*7dd7cddfSDavid du Colombier		author = 'IMPLEMENTATION'
124*7dd7cddfSDavid du Colombier	case compiler
125*7dd7cddfSDavid du Colombier		pageno = 295
126*7dd7cddfSDavid du Colombier		title = 'Plan 9 C Compilers'
127*7dd7cddfSDavid du Colombier		author = 'IMPLEMENTATION'
128*7dd7cddfSDavid du Colombier	case libmach
129*7dd7cddfSDavid du Colombier		pageno = 305
130*7dd7cddfSDavid du Colombier		title = 'Adding Application Support for a New Architecture'
131*7dd7cddfSDavid du Colombier		author = 'IMPLEMENTATION'
132*7dd7cddfSDavid du Colombier	case fs
133*7dd7cddfSDavid du Colombier		pageno = 313
134*7dd7cddfSDavid du Colombier		title = 'The Plan 9 File Server'
135*7dd7cddfSDavid du Colombier		author = 'IMPLEMENTATION'
136*7dd7cddfSDavid du Colombier	case il
137*7dd7cddfSDavid du Colombier		pageno = 321
138*7dd7cddfSDavid du Colombier		title = 'The IL Protocol'
139*7dd7cddfSDavid du Colombier		author = 'IMPLEMENTATION'
140*7dd7cddfSDavid du Colombier	case sleep
141*7dd7cddfSDavid du Colombier		pageno = 327
142*7dd7cddfSDavid du Colombier		title = 'Process Sleep and Wakeup on a Shared-memory Multiprocessor'
143*7dd7cddfSDavid du Colombier		author = 'IMPLEMENTATION'
144*7dd7cddfSDavid du Colombier	case gfx
145*7dd7cddfSDavid du Colombier		pageno = 333
146*7dd7cddfSDavid du Colombier		title = 'Raster Graphics in Plan 9'
147*7dd7cddfSDavid du Colombier		author = 'MISCELLANY'
148*7dd7cddfSDavid du Colombier	case panel
149*7dd7cddfSDavid du Colombier		pageno = 343
150*7dd7cddfSDavid du Colombier		title = 'A Quick Introduction to the Panel Library'
151*7dd7cddfSDavid du Colombier		author = 'MISCELLANY'
152*7dd7cddfSDavid du Colombier	case lp
153*7dd7cddfSDavid du Colombier		pageno = 363
154*7dd7cddfSDavid du Colombier		title = 'A Guide to the Lp Printer Spooler'
155*7dd7cddfSDavid du Colombier		author = 'MISCELLANY'
156*7dd7cddfSDavid du Colombier	case troff
157*7dd7cddfSDavid du Colombier		pageno = 371
158*7dd7cddfSDavid du Colombier		title = 'Troff User''s Manual'
159*7dd7cddfSDavid du Colombier		author = 'MISCELLANY'
160*7dd7cddfSDavid du Colombier	case spin
161*7dd7cddfSDavid du Colombier		pageno = 411
162*7dd7cddfSDavid du Colombier		title = 'Using SPIN'
163*7dd7cddfSDavid du Colombier		author = 'MISCELLANY'
164*7dd7cddfSDavid du Colombier	case port
165*7dd7cddfSDavid du Colombier		pageno = 439
166*7dd7cddfSDavid du Colombier		title = 'The Various Ports'
167*7dd7cddfSDavid du Colombier		author = 'INSTALLATION'
168*7dd7cddfSDavid du Colombier	case install
169*7dd7cddfSDavid du Colombier		pageno = 447
170*7dd7cddfSDavid du Colombier		title = 'Installing the Plan 9 Distribution'
171*7dd7cddfSDavid du Colombier		author = 'INSTALLATION'
172*7dd7cddfSDavid du Colombier	case *
173*7dd7cddfSDavid du Colombier		echo $1 page number not known >[2=1]
174*7dd7cddfSDavid du Colombier		exit page
175*7dd7cddfSDavid du Colombier	}
176*7dd7cddfSDavid du Colombier	echo $FONTS
177*7dd7cddfSDavid du Colombier	echo .pn $pageno
178*7dd7cddfSDavid du Colombier	echo .ds Tl "$title
179*7dd7cddfSDavid du Colombier	echo .ds Au "$author
180*7dd7cddfSDavid du Colombier	echo $MACS
181*7dd7cddfSDavid du Colombier	pic $infile | tbl | eqn
182*7dd7cddfSDavid du Colombier}
183*7dd7cddfSDavid du Colombier
184*7dd7cddfSDavid du Colombierassemble $outfile | troff $macros | lp -m.9 -dstdout > $outfile.bs
185