Subversion Repositories planix.SVN

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#!/bin/rc

switch($#*){
        case 1
                outfile = $1
                infile = $1.ms
        case *
                outfile = $1
                shift
                infile = $*
}

FONTS='.FP lucidasans'

MACS ='.de BT
.nr PX \\n(.s
.nr PF \\n(.f
.nr Bt 1
.ft 1
.ps \\n(PS
''lt \\n(LTu
.po \\n(POu
.if \\n%>0 .tl \(ts\\*(LF\(ts\\*(CF\(ts\\*(RF\(ts
.ft \\n(PF
.ps \\n(PX
..
.de PT
.lt \\n(LLu
.pc %
.nr PN \\n%
.nr Ps \\n(PS-1
.if \\n(Bt>0  .if e .tl @\\n%     \s\\n(Ps\\*(Au\s0@@@
.if \\n(Bt>0  .if o .tl @@@\f2\\*(Tl\\f1     \\n%@
.lt \\n(.lu
..'


macros = -ms

switch($outfile){
case 8½ acme gfx panel sam
        macros = ($macros -mpictures)
}

switch($outfile){
case 9 comp 8½ utf acme
        macros = ($macros -mnihongo)
}

fn assemble{
        switch($1){
        case 9
                pageno = 1
                title = 'Plan 9 From Bell Labs'
                author = 'INTRODUCTION'
        case README
                pageno = 23
                title = '\s-1README\s0'
                author = 'INTRODUCTION'
        case names
                pageno = 29
                title = 'The Use of Name Spaces in Plan 9'
                author = 'INTRODUCTION'
        case net
                pageno = 35
                title = 'The Organization of Networks in Plan 9'
                author = 'INTRODUCTION'
        case comp
                pageno = 49
                title = 'How to Use the Plan 9 C Compiler'
                author = 'PROGRAMMING'
        case ape
                pageno = 63
                title = 'APE \(em The ANSI/POSIX Environment'
                author = 'PROGRAMMING'
        case ug
                pageno = 67
                title = 'Alef User''s Guide'
                author = 'PROGRAMMING'
        case alef
                pageno = 103
                title = 'Alef Language Reference Manual'
                author = 'PROGRAMMING'
        case acidpaper
                pageno = 141
                title = 'Acid: A Debugger Built From A Language'
                author = 'PROGRAMMING'
        case acid
                pageno = 155
                title = 'Acid Manual'
                author = 'PROGRAMMING'
        case mk
                pageno = 181
                title = 'Maintaining Files on Plan 9 with Mk'
                author = 'PROGRAMMING'
        case mkfiles
                pageno = 195
                title = 'Plan 9 Mkfiles'
                author = 'PROGRAMMING'
        case asm
                pageno = 203
                title = 'A Manual for the Plan 9 assembler'
                author = 'PROGRAMMING'
        case 8½
                pageno = 211
                title = '8½, the Plan 9 Window System'
                author = 'USER INTERFACES'
        case rc
                pageno = 221
                title = 'Rc \(em The Plan 9 Shell'
                author = 'USER INTERFACES'
        case sam
                pageno = 237
                title = 'The Text Editor Sam'
                author = 'USER INTERFACES'
        case acme       # actually done in acme/mkfile
                pageno = 267
                title = 'The Text Editor Sam'
                author = 'USER INTERFACES'
        case utf
                pageno = 283
                title = 'Hello World, or \f1\S''12''Καλημέρα κόσμε\fP\S''0'', or \f(Jpこんにちは 世界\fP'
                author = 'IMPLEMENTATION'
        case compiler
                pageno = 295
                title = 'Plan 9 C Compilers'
                author = 'IMPLEMENTATION'
        case libmach
                pageno = 305
                title = 'Adding Application Support for a New Architecture'
                author = 'IMPLEMENTATION'
        case fs
                pageno = 313
                title = 'The Plan 9 File Server'
                author = 'IMPLEMENTATION'
        case il
                pageno = 321
                title = 'The IL Protocol'
                author = 'IMPLEMENTATION'
        case sleep
                pageno = 327
                title = 'Process Sleep and Wakeup on a Shared-memory Multiprocessor'
                author = 'IMPLEMENTATION'
        case gfx
                pageno = 333
                title = 'Raster Graphics in Plan 9'
                author = 'MISCELLANY'
        case panel
                pageno = 343
                title = 'A Quick Introduction to the Panel Library'
                author = 'MISCELLANY'
        case lp
                pageno = 363
                title = 'A Guide to the Lp Printer Spooler'
                author = 'MISCELLANY'
        case troff
                pageno = 371
                title = 'Troff User''s Manual'
                author = 'MISCELLANY'
        case spin
                pageno = 411
                title = 'Using SPIN'
                author = 'MISCELLANY'
        case port
                pageno = 439
                title = 'The Various Ports'
                author = 'INSTALLATION'
        case install
                pageno = 447
                title = 'Installing the Plan 9 Distribution'
                author = 'INSTALLATION'
        case *
                echo $1 page number not known >[2=1]
                exit page
        }
        echo $FONTS
        echo .pn $pageno
        echo .ds Tl "$title
        echo .ds Au "$author
        echo $MACS
        pic $infile | tbl | eqn
}

assemble $outfile | troff $macros | lp -m.9 -dstdout > $outfile.bs