Code Monkey home page Code Monkey logo

unixman's Introduction

UNIX V1-V6 manual

This is a collection of programs and scripts to freshly typeset the old UNIX manuals. Everything is done from Plan 9.

I reconstructed the ?roff sources of the V1, V2 and V5 manuals from scans.

For V5, unfortunately the pages for glob, mkfs, mknod, reloc, restor, sa, su (all VIII) are missing in that scan. I reconstructed them by making educated guesses, but ultimately they're my creation.

Another strangeness in the V5 scan is that some pages are dated earlier than their V4 and V6 counterparts. These are: csw, fstat, link, nice, seek, setgid, setuid, sleep, sync, time, write (all II). read (II) is not dated earlier but the content seems to be earlier than V4.

In V2, only nroff(I) is missing.

OUTPUT

The V1-V6 manuals are nroff'ed to html. V1-V3 also have the intro pages. V4-V6 have only the manual pages themselves.

The V4-V6 manuals are troff'ed to pdf.

You can find the output here: v1 v2 v3 v4 v5 v6 or as archives: v1.tgz v2.tgz v3.tgz v4.tgz v5.tgz v6.tgz

BUILDING

The build process is a bit ugly...but it works. nroffv1 - nroffv6 build html versions of the manual, they are mostly very identical. First they are processed into something that would display correctly on a Teletype 37 and then converted to html by two little programs: 37map to convert the special characters of the tty 37 to unicode, 37html to convert everything to html.

mktoc is used for V4-V6 to generate the table of contents, it's basically a translation of the old tocrc to rc. troffv4 - troffv6 then typeset everything to pdf. mkpdf is used to combine the individual sections into one file, and to generate one file with the complete manual. The TOC for V1-3 seems to have been done only half-automated.

A few helper programs and scripts are: ptx is a port of the old ptx to ANSI C. oldtroff simulates some behaviour of the old troff in Plan 9 troff. fixv2 - fixv6 are used to fix the input somewhat.

BUGS

Not everything is displayed correctly. eqn (I) (V5, V6) doesn't look too good with nroff, it's also missing the Bell Labs logo in the PDF.

Generally it seems that the old troff had a different conversion between inches and points. The source does not indicate that this is the case, nevertheless there's some strangeness going on. The default font size should be 10pt and the default line length should be 6.5in, yet lines come out too long with that setting. Also tab stops are not quite right either, the font is too small. This can be observed in (V5) cref, prof, roff, write, nroff, ps (I), getc (III), dn, kl (IV), lc (VI), dump, lpd (VIII).

As for the nroff output, hyphenated underlined words look terrible (e.g. goto(I), mount(II) in V2).

TODO

  • convert the tty 37 nroff output to postscript (and pdf)

  • try to get more accurate results

unixman's People

Contributors

aap avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.