aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/postscript/README
diff options
context:
space:
mode:
authorwkj <devnull@localhost>2004-05-16 07:54:22 +0000
committerwkj <devnull@localhost>2004-05-16 07:54:22 +0000
commitb855148c9b6d28fedfd083d037bcf246f1913d92 (patch)
tree0075eb6ea37427fa48b78cb937fabc04175cead1 /src/cmd/postscript/README
parent61f5c35c9465f0702739b41249a664d409f0482c (diff)
downloadplan9port-b855148c9b6d28fedfd083d037bcf246f1913d92.tar.gz
plan9port-b855148c9b6d28fedfd083d037bcf246f1913d92.tar.bz2
plan9port-b855148c9b6d28fedfd083d037bcf246f1913d92.zip
Checkpoint.
Diffstat (limited to 'src/cmd/postscript/README')
-rw-r--r--src/cmd/postscript/README179
1 files changed, 179 insertions, 0 deletions
diff --git a/src/cmd/postscript/README b/src/cmd/postscript/README
new file mode 100644
index 00000000..7deebb02
--- /dev/null
+++ b/src/cmd/postscript/README
@@ -0,0 +1,179 @@
+Stuff appears to work, but it's obviously not well tested. I fully
+expect several iterations before things are correct!! Make sure you
+can back this out quickly.
+
+This code supports UTF encoding. Directory dpost.utf is a version that
+reads UTF encoded files. Directory dpost is DWB 3.3 source and should be
+close to what you're currently using. Main source code changes were in
+dpost.utf (files font.h, font.c, and dpost.c). Select either dpost or
+dpost.utf in TARGETS in postscript.mk. Both build and install a program
+called dpost!!
+
+dpost.utf is more general and includes code that lets it read either
+format. Only catch is troff must tell it (with x E UTF) that the file
+is UTF and troff currently doesn't output encoding info, so you're
+stuck with two post-processors!
+
+Added common/rune.h and common/rune.c so code can be compiled elsewere.
+Both files are only used by dpost. Remove RUNELIB in commmon/rune.h if
+fullrune(), chartorune(), and runetochar() are available on your system.
+You will also need to set READING in common/gen.h. It controls how dpost
+(from dpost.utf) reads troff output. It should be UTFENCODING on Plan 9
+and ONEBYTE elsewhere. If troff includes encoding hint (x E UTF) then
+READING selects the default which sould be ONEBYTE.
+
+Leave WRITING (in common/gen.h) set to ONEBYTE. It only controls dpost
+output and dpost (right now) does not work 100% with UTF.enc. Fix should
+be easy, but I don't have time now.
+
+Other translators passed bytes through so only needed slightly modified
+proglogues and a new encoding scheme (psencoding/UTF.enc). It works for
+Latin1, but still needs a bit more attention. Prologue changes were easy
+and only involved adding lines like,
+
+ /show {show} bind def
+ /stringwidth {stringwidth} bind def
+
+Guarantees text procedures used in prologues aren't operators and can be
+successfully redefined in UTF.enc. Unbinding means a small but probably
+not noticeable speed penalty. You may not want to include those changes
+on other system.
+
+-------------
+Major Changes
+-------------
+
+See the VERSION file.
+
+-------------------
+Tuning The Makefile
+-------------------
+
+Source files, man pages, and low level makefiles can all be updated
+to reflect settings in postscript.mk in one simple step (described
+later). In most cases you only need to edit file postscript.mk.
+
+First save a copy of file postscript.mk. Then adjust the following
+definitions in file postscript.mk:
+
+ SYSTEM best match for your version of Unix. Current choices for
+ SYSTEM are:
+
+ SYSV - System V
+ V9 - Ninth Edition
+ BSD4_2 - Berkeley (eg. Sun)
+
+ Controls conditional compilation in a few places.
+
+ GROUP group assigned to all installed files
+
+ OWNER owner of everything that's installed
+
+ BINDIR dpost and picpack go here. All other programs go in POSTBIN.
+ BINDIR must already exist - it will not be created during an
+ install.
+
+ HOSTDIR hostresident font directory for PostScript printers. Only
+ used in the font download program.
+
+ FONTDIR width table directory - for troff and most postprocessors
+
+ MAN1DIR command manpages. A command and its manpage are installed
+ together - there's no easy way to avoid it. Setting MAN1DIR
+ to an existing temporary directory (e.g. /tmp) means an
+ install will work but manpages won't go anywhere permanent.
+ MAN1DIR must already exist - it will not be created during
+ an install.
+
+ POSTBIN where most PostScript support programs go. dpost and picpack
+ the exceptions.
+
+ POSTLIB prologues and miscellaneous PostScript files. Primarily for
+ the programs that live in POSTBIN.
+
+ CFLGS common compiler options - used to build CFLAGS in the low
+ level makefiles. CLFGS and LDFLGS are best set on the make
+ command line.
+
+ LDFLGS common link editor options - used to build LDFLAGS in the
+ low level makefiles. LDFLGS and CFLGS are best set on the
+ make command line.
+
+ DKHOST set it to TRUE to compile the DKHOST Datakit support code
+ in postio. Temporarily resets SYSTEM to SYSV if DKHOST is
+ TRUE and SYSTEM is BSD4_2. Ignored if SYSTEM is not SYSV
+ or BSD4_2.
+
+ DKSTREAMS enables streams based DKHOST support in postio when DKHOST
+ is TRUE and SYSTEM is SYSV or BSD4_2. Choices are TRUE,
+ FALSE, or a stream module name (e.g. dknetty or dkty). TRUE
+ selects dknetty. Newer systems may expect dkty.
+
+ ROUNDPAGE must only be set to TRUE or FALSE. TRUE means PostScript
+ translators include code that maps clipping path dimensions
+ into known paper sizes.
+
+ TARGETS the default list of what's built by make. Each target must
+ be the name of a source directory. A target that names a
+ non-existent source directory is ignored. Setting TARGETS
+ on the make command line overrides the default list.
+
+-------------------
+Updating The Source
+-------------------
+
+Whenever file postscript.mk changes you should update source files,
+man pages, and low level makefiles by typing,
+
+ make -f postscript.mk changes
+
+------------------------
+More System Dependencies
+------------------------
+
+The package has been compiled and tested on System V and Ninth Edition
+Unix Systems and on Sun workstations. Most differences are handled via
+the SYSTEM definition in postscript.mk. Problems that remain are:
+
+ SYSV - System V
+ Use the native compiler if you're on an internal System V UTS
+ machine.
+
+ V9 - Ninth or Tenth Edition
+ chown is in /etc and chgrp no longer exists - it's been folded into
+ the chown command. You may be forced to build a simple chgrp shell
+ script (put it in your bin) that calls chown. If you're not superuser
+ set OWNER to your login name and GROUP to your group id.
+
+ BSD4_2 - Sun Workstations
+ Use the Bourne shell. chown is should be in /usr/etc. Add /usr/etc
+ to your PATH and export PATH. If you're not superuser set OWNER to
+ your login name and GROUP to your group id.
+
+----------------------
+Installing The Package
+----------------------
+
+To build (but not install) the default package (i.e. everything named by
+TARGETS in postscript.mk) type,
+
+ make -f postscript.mk all
+
+To build and install the package type,
+
+ make -f postscript.mk all install
+
+After the package is installed use,
+
+ make -f postscript.mk clobber
+
+to delete binary files and compiled programs from the source directories.
+
+To select part of the package define TARGETS on the command line. For
+example,
+
+ make -f postscript.mk TARGETS="dpost devpost" all install
+
+builds and installs dpost and the PostScript font tables. Quotes hide
+white space from the shell.
+