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