|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.