Annotation of researchv10no/cmd/post.src/README, revision 1.1.1.1

1.1       root        1: Stuff appears to work, but it's obviously not well tested. I fully
                      2: expect several iterations before things are correct!! Make sure you
                      3: can back this out quickly.
                      4: 
                      5: This code supports UTF encoding. Directory dpost.utf is a version that
                      6: reads UTF encoded files. Directory dpost is DWB 3.3 source and should be
                      7: close to what you're currently using. Main source code changes were in
                      8: dpost.utf (files font.h, font.c, and dpost.c). Select either dpost or
                      9: dpost.utf in TARGETS in postscript.mk. Both build and install a program
                     10: called dpost!!
                     11: 
                     12: dpost.utf is more general and includes code that lets it read either
                     13: format. Only catch is troff must tell it (with x E UTF) that the file
                     14: is UTF and troff currently doesn't output encoding info, so you're
                     15: stuck with two post-processors!
                     16: 
                     17: Added common/rune.h and common/rune.c so code can be compiled elsewere.
                     18: Both files are only used by dpost. Remove RUNELIB in commmon/rune.h if
                     19: fullrune(), chartorune(), and runetochar() are available on your system.
                     20: You will also need to set READING in common/gen.h. It controls how dpost
                     21: (from dpost.utf) reads troff output. It should be UTFENCODING on Plan 9
                     22: and ONEBYTE elsewhere. If troff includes encoding hint (x E UTF) then
                     23: READING selects the default which sould be ONEBYTE.
                     24: 
                     25: Leave WRITING (in common/gen.h) set to ONEBYTE. It only controls dpost
                     26: output and dpost (right now) does not work 100% with UTF.enc. Fix should
                     27: be easy, but I don't have time now.
                     28: 
                     29: Other translators passed bytes through so only needed slightly modified
                     30: proglogues and a new encoding scheme (psencoding/UTF.enc). It works for
                     31: Latin1, but still needs a bit more attention. Prologue changes were easy
                     32: and only involved adding lines like,
                     33: 
                     34:        /show {show} bind def
                     35:        /stringwidth {stringwidth} bind def
                     36: 
                     37: Guarantees text procedures used in prologues aren't operators and can be
                     38: successfully redefined in UTF.enc. Unbinding means a small but probably
                     39: not noticeable speed penalty. You may not want to include those changes
                     40: on other system.
                     41: 
                     42: -------------
                     43: Major Changes
                     44: -------------
                     45: 
                     46: See the VERSION file.
                     47: 
                     48: -------------------
                     49: Tuning The Makefile
                     50: -------------------
                     51: 
                     52: Source files, man pages, and low level makefiles can all be updated
                     53: to reflect settings in postscript.mk in one simple step (described
                     54: later). In most cases you only need to edit file postscript.mk.
                     55: 
                     56: First save a copy of file postscript.mk. Then adjust the following
                     57: definitions in file postscript.mk:
                     58: 
                     59:   SYSTEM    best match for your version of Unix. Current choices for
                     60:            SYSTEM are:
                     61: 
                     62:                        SYSV    - System V
                     63:                        V9      - Ninth Edition
                     64:                        BSD4_2  - Berkeley (eg. Sun)
                     65: 
                     66:            Controls conditional compilation in a few places.
                     67: 
                     68:   GROUP            group assigned to all installed files
                     69: 
                     70:   OWNER            owner of everything that's installed
                     71: 
                     72:   BINDIR    dpost and picpack go here. All other programs go in POSTBIN.
                     73:            BINDIR must already exist - it will not be created during an
                     74:            install.
                     75: 
                     76:   HOSTDIR   hostresident font directory for PostScript printers. Only
                     77:            used in the font download program.
                     78: 
                     79:   FONTDIR   width table directory - for troff and most postprocessors
                     80: 
                     81:   MAN1DIR   command manpages. A command and its manpage are installed
                     82:            together - there's no easy way to avoid it. Setting MAN1DIR
                     83:            to an existing temporary directory (e.g. /tmp) means an
                     84:            install will work but manpages won't go anywhere permanent.
                     85:            MAN1DIR must already exist - it will not be created during
                     86:            an install.
                     87: 
                     88:   POSTBIN   where most PostScript support programs go. dpost and picpack
                     89:            the exceptions.
                     90: 
                     91:   POSTLIB   prologues and miscellaneous PostScript files. Primarily for
                     92:            the programs that live in POSTBIN.
                     93: 
                     94:   CFLGS            common compiler options - used to build CFLAGS in the low
                     95:            level makefiles. CLFGS and LDFLGS are best set on the make
                     96:            command line.
                     97: 
                     98:   LDFLGS    common link editor options - used to build LDFLAGS in the
                     99:            low level makefiles. LDFLGS and CFLGS are best set on the
                    100:            make command line.
                    101: 
                    102:   DKHOST    set it to TRUE to compile the DKHOST Datakit support code
                    103:            in postio. Temporarily resets SYSTEM to SYSV if DKHOST is
                    104:            TRUE and SYSTEM is BSD4_2. Ignored if SYSTEM is not SYSV
                    105:            or BSD4_2.
                    106: 
                    107:   DKSTREAMS enables streams based DKHOST support in postio when DKHOST
                    108:            is TRUE and SYSTEM is SYSV or BSD4_2. Choices are TRUE,
                    109:            FALSE, or a stream module name (e.g. dknetty or dkty). TRUE
                    110:            selects dknetty. Newer systems may expect dkty.
                    111: 
                    112:   ROUNDPAGE must only be set to TRUE or FALSE. TRUE means PostScript
                    113:            translators include code that maps clipping path dimensions
                    114:            into known paper sizes.
                    115: 
                    116:   TARGETS   the default list of what's built by make. Each target must
                    117:            be the name of a source directory. A target that names a
                    118:            non-existent source directory is ignored. Setting TARGETS
                    119:            on the make command line overrides the default list.
                    120: 
                    121: -------------------
                    122: Updating The Source
                    123: -------------------
                    124: 
                    125: Whenever file postscript.mk changes you should update source files,
                    126: man pages, and low level makefiles by typing,
                    127: 
                    128:        make -f postscript.mk changes
                    129: 
                    130: ------------------------
                    131: More System Dependencies
                    132: ------------------------
                    133: 
                    134: The package has been compiled and tested on System V and Ninth Edition
                    135: Unix Systems and on Sun workstations. Most differences are handled via
                    136: the SYSTEM definition in postscript.mk. Problems that remain are:
                    137: 
                    138:   SYSV - System V
                    139:     Use the native compiler if you're on an internal System V UTS
                    140:     machine.
                    141: 
                    142:   V9 - Ninth or Tenth Edition
                    143:     chown is in /etc and chgrp no longer exists - it's been folded into
                    144:     the chown command. You may be forced to build a simple chgrp shell
                    145:     script (put it in your bin) that calls chown. If you're not superuser
                    146:     set OWNER to your login name and GROUP to your group id.
                    147: 
                    148:   BSD4_2 - Sun Workstations
                    149:     Use the Bourne shell. chown is should be in /usr/etc. Add /usr/etc
                    150:     to your PATH and export PATH. If you're not superuser set OWNER to
                    151:     your login name and GROUP to your group id.
                    152: 
                    153: ----------------------
                    154: Installing The Package
                    155: ----------------------
                    156: 
                    157: To build (but not install) the default package (i.e. everything named by
                    158: TARGETS in postscript.mk) type,
                    159: 
                    160:        make -f postscript.mk all
                    161: 
                    162: To build and install the package type,
                    163: 
                    164:        make -f postscript.mk all install
                    165: 
                    166: After the package is installed use,
                    167: 
                    168:        make -f postscript.mk clobber
                    169: 
                    170: to delete binary files and compiled programs from the source directories.
                    171: 
                    172: To select part of the package define TARGETS on the command line. For
                    173: example,
                    174: 
                    175:        make -f postscript.mk TARGETS="dpost devpost" all install
                    176: 
                    177: builds and installs dpost and the PostScript font tables. Quotes hide
                    178: white space from the shell.
                    179: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.