|
|
1.1 ! root 1: Changed 7/27/81 ! 2: ! 3: The troff in this directory (known as a.out) ! 4: is a troff that produces machine-independent output. ! 5: It requires a file of descriptive information about ! 6: the particular typesetter you have in mind, and produces ! 7: output parameterized for that device. ! 8: ! 9: Thus: ! 10: a.out -T202 ... ! 11: produces output for the mergenthaler linotron 202. ! 12: (This is the default.) ! 13: ! 14: To make this work, one needs to create a set of ! 15: device and font descriptions in the directory ! 16: /usr/lib/font/devxxx ! 17: where "xxx" is your device name. ! 18: Currently supported devices are ! 19: 202 mergenthaler 202 using our software ! 20: aps autologic aps5 ! 21: cat gsi cat (not really working at present) ! 22: ! 23: The file "DESC" contains information about the ! 24: device itself and the character set. The file dev202/DESC ! 25: is a good example; follow the format closely. ! 26: ! 27: In addition, each font needs a description of its ! 28: characters, width and device-driving codes; ! 29: see dev202/R and S for typical examples. ! 30: ! 31: The program "makedev" will convert these text ! 32: descriptions into a binary form that the a.out can ! 33: slurp up in a single gulp during initialization; ! 34: these wind up in dev202/DESC.out (which includes ! 35: default font info) and XX.out for info about font XX. ! 36: ! 37: The second half of the job is to write a post-processor ! 38: that converts the more or less machine-independent a.out ! 39: output into specific codes for your favorite typesetter. ! 40: d202.c is the driver for the 202; ! 41: it will serve as a useful prototype. In particular, ! 42: it contains a precise description of the output language. ! 43: Other working postprocessors are ! 44: daps aps5 ! 45: dcat graphic systems CAT (not really up to date) ! 46: tc tektronix 4014 ! 47: hc hp2621 (mainly for crude graphics) ! 48: ta arbitrary terminal ! 49: The 202 driver writes onto /dev/202 in the same way that ! 50: old troff writes on /dev/cat; to get its output on the std output, ! 51: use, e.g., d202 -t ... >file. ! 52: ! 53: One can always simply run ! 54: a.out ! 55: and look at the output; it is guaranteed to be ascii text ! 56: and thus safe to edit, grep, etc. ! 57: (Since it is ascii, it is also guaranteed to be quite voluminous.) ! 58: On the research system, /usr/bin/troff is actually a shell program ! 59: that detects -Txxx arguments; the current default is 202. ! 60: /usr/lib/troff.new and the appropriate postprocessor are fired up. ! 61: ! 62: Putting output codes into the font description files ! 63: seems like the right thing to do but I'm not happy yet. ! 64: Accordingly, the formats of any or all of the files ! 65: described here are subject to drastic change; hang loose. ! 66: ! 67: As it says in the Unix warranty: ! 68: "There is no warranty of merchantability nor any warranty ! 69: of fitness for a particular purpose nor any other warranty, ! 70: either express or implied, as to the accuracy of the ! 71: enclosed materials or as to their suitability for any ! 72: particular purpose. Accordingly, Bell Telephone ! 73: Laboratories assumes no responsibility for their use by the ! 74: recipient. Further, Bell Laboratories assumes no obligation ! 75: to furnish any assistance of any kind whatsoever, or to ! 76: furnish any additional information or documentation." ! 77: ! 78: Nevertheless, I will try to answer questions in cases of ! 79: dire necessity. Suggestions and other comments would be appreciated. ! 80: ! 81: Brian W. Kernighan
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.