summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipsk/vmcms
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-17 21:41:51 +0000
committerKarl Berry <karl@freefriends.org>2006-01-17 21:41:51 +0000
commit487ca4806cc046076293cf6cc5fbba0db282bac7 (patch)
tree847b412ab5158dd7bdd7ed7e5a4cc3fbca94be32 /Build/source/texk/dvipsk/vmcms
parenta3d3111bfe26b8e5f5bc6049dfb2a4ca2edc7881 (diff)
texk 1
git-svn-id: svn://tug.org/texlive/trunk@1485 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipsk/vmcms')
-rw-r--r--Build/source/texk/dvipsk/vmcms/Makefile.IBM199
-rw-r--r--Build/source/texk/dvipsk/vmcms/README.VMCMS168
-rw-r--r--Build/source/texk/dvipsk/vmcms/afm2tfm.doc323
-rw-r--r--Build/source/texk/dvipsk/vmcms/dvips.doc65
-rw-r--r--Build/source/texk/dvipsk/vmcms/dvipscms.h153
5 files changed, 908 insertions, 0 deletions
diff --git a/Build/source/texk/dvipsk/vmcms/Makefile.IBM b/Build/source/texk/dvipsk/vmcms/Makefile.IBM
new file mode 100644
index 00000000000..76906af9cee
--- /dev/null
+++ b/Build/source/texk/dvipsk/vmcms/Makefile.IBM
@@ -0,0 +1,199 @@
+#
+# Makefile for dvips. Edit this first part of the file.
+#
+# First, the things that absolutely must be edited for your system.
+# Please, don't forget to edit MakeTeXPK in the same way!
+
+# the default path to search for TFM files
+# (this usually is identical to TeX's defaultfontpath, which omits `.')
+# (private fonts are given an explicit directory, which overrides the path)
+# TFMPATH = /LocalLibrary/Fonts/TeXFonts/tfm:/usr/lib/tex/fonts/tfm
+TFMPATH = /usr/local/lib/tex/fonts/tfm:/local/lib/tex/fonts/tfm
+
+# the default path to search for PK files (usually omits `.')
+# Don't forget to add the directory that
+# MakeTeXPK puts the files! (In this case, /LocalLibrary/Fonts...)
+# PKPATH = /LocalLibrary/Fonts/TeXFonts/pk:/usr/lib/tex/fonts/pk
+PKPATH = /local/lib/tex/fonts/%m/%f.%d%p:/usr/local/lib/tex/fonts/%m/%f.%d%p:
+
+# the default path to search for VF files (usually omits `.')
+# VFPATH = /LocalLibrary/Fonts/TeXFonts/vf:/usr/lib/tex/fonts/vf
+VFPATH = /local/lib/tex/fonts/vf:/usr/local/lib/tex/fonts/vf
+
+# additional directories in which to search for subdirectories to find
+# both tfm and pk files
+FONTSUBDIRPATH =
+
+# where the config files go
+# CONFIGDIR = /usr/lib/tex/ps
+CONFIGDIR = /local/lib/tex/dvips
+
+# the default path to search for config files
+# CONFIGPATH = .:$(CONFIGDIR)
+CONFIGPATH = .:$(CONFIGDIR):/usr/local/lib/tex/dvips
+
+# the name of your config file
+# CONFIGFILE = config.ps
+CONFIGFILE = config.ps
+
+# where the header PS files go
+# HEADERDIR = /usr/lib/tex/ps
+HEADERDIR = /local/lib/tex/dvips
+
+# the default path to search for header files
+# HEADERPATH = .:$(HEADERDIR)
+HEADERPATH = .:$(HEADERDIR):/usr/local/lib/tex/dvips
+
+# where epsf.tex and rotate.tex go (usually the TeX macros directory)
+# TEXMACRODIR = /usr/lib/tex/inputs
+TEXMACRODIR = /local/lib/tex/inputs
+
+# the default path to search for epsf and psfiles
+# (usually the same as TeX's defaultinputpath)
+# FIGPATH = .:..:/usr/lib/tex/inputs
+FIGPATH = .:..:/local/lib/tex/inputs:/usr/local/lib/tex/inputs
+
+# change -DDEFRES=300 or whatever is required
+# if the default resolution is not 300 dpi,
+# add -DDEBUG to turn on debugging capability
+# add -DTPIC for tpic support
+# add -DFONTLIB to search font libraries
+# add -DSEARCH_SUBDIRECTORIES to search the FONTSUBDIRPATH.
+# add -DHAVE_GETCWD if you have getcwd (relevant only for subdir searching)
+# add -DIBM6000 for compiling on IBM 6000 systems
+# (for VM/CMS, see the MKDVIPS.EXEC file in the vmcms subdirectory).
+DEFS= -DTPIC -DDEBUG -DDEFRES=300 -DIBM6000
+
+# either use
+# OPT = -g -Wall
+# or
+#OPT = -O -s -Wall
+OPT = -O
+
+# libraries to include (-lm -lc on most systems)
+#FLIBS= -lNeXT_s -lsys_s
+FLIBS= -lm
+
+# If you are compiling dvips for suid or other privileges, you will
+# definitely want to define the following symbol; else don't.
+# SECURE = -DSECURE
+
+# If you want EMTEX specials, define the following.
+#EMTEX = -DEMTEX
+
+# for SYSV (and friends which use <string.h> instead of <strings.h>)
+# define the c-compiler flag
+# add -D_POSIX_SOURCE if you are POSIX (also define SYSV) (only relevant
+# for subdir searching)
+# SYS = -DSYSV
+
+# Define this to be whatever you use for installation. If you don't have
+# install, use a script that invokes copy and chmod's the files
+# appropriately.
+# INSTALL = install
+INSTALL = install
+
+# where the installed binary goes
+# BINDIR = /usr/bin
+BINDIR =
+
+PATHS = -DTFMPATH=\"$(TFMPATH)\" \
+ -DPKPATH=\"$(PKPATH)\" \
+ -DVFPATH=\"$(VFPATH)\" \
+ -DHEADERPATH=\"$(HEADERPATH)\" \
+ -DCONFIGPATH=\"$(CONFIGPATH)\" \
+ -DCONFIGFILE=\"$(CONFIGFILE)\" \
+ -DFONTSUBDIRPATH=\"$(FONTSUBDIRPATH)\" \
+ -DFIGPATH=\"$(FIGPATH)\"
+
+CFLAGS = $(DEFS) $(PATHS) $(OPT) $(SYS) $(SECURE) $(EMTEX) $(DEFPFMT)
+
+SRC = dospecial.c dviinput.c fontdef.c loadfont.c dvips.c tfmload.c \
+ download.c prescan.c scanpage.c skippage.c output.c scalewidth.c \
+ dosection.c dopage.c resident.c search.c unpack.c drawPS.c \
+ header.c makefont.c repack.c virtualfont.c dpicheck.c finclude.c \
+ pprescan.c papersiz.c flib.c color.c bbox.c emspecial.c
+
+OBJ = dospecial.o dviinput.o fontdef.o loadfont.o dvips.o tfmload.o \
+ download.o prescan.o scanpage.o skippage.o output.o scalewidth.o \
+ dosection.o dopage.o resident.o search.o unpack.o drawPS.o \
+ header.o makefont.o repack.o virtualfont.o dpicheck.o finclude.o \
+ pprescan.o papersiz.o flib.o color.o bbox.o emspecial.o
+
+all : afm2tfm dvips tex.pro texps.pro texc.pro special.pro finclude.pro \
+ color.pro
+
+dvips : $(OBJ)
+ $(CC) $(CFLAGS) $(OBJ) $(LIBS) $(FLIBS) -o dvips
+
+afm2tfm: afm2tfm.c
+ $(CC) $(CFLAGS) -o afm2tfm afm2tfm.c $(LIBS) $(FLIBS)
+
+$(OBJ) : dvips.h debug.h Makefile
+flib.o resident.o dvips.o loadfont.o tfmload.o : paths.h
+
+squeeze : squeeze.o
+ $(CC) $(CFLAGS) squeeze.o -o squeeze $(LIBS) $(FLIBS)
+
+tex.pro : tex.lpro squeeze
+ ./squeeze <tex.lpro > tex.pro
+
+texc.pro: texc.lpro squeeze
+ ./squeeze <texc.lpro >texc.pro
+
+texc.lpro: texc.script tex.lpro
+ ./texc.script tex.lpro texc.lpro
+
+texps.pro : texps.lpro squeeze
+ ./squeeze <texps.lpro >texps.pro
+
+special.pro : special.lpro squeeze
+ ./squeeze <special.lpro >special.pro
+
+finclude.pro : finclude.lpro squeeze
+ ./squeeze <finclude.lpro >finclude.pro
+
+color.pro : color.lpro squeeze
+ ./squeeze <color.lpro >color.pro
+
+install : afm2tfm dvips MakeTeXPK \
+ tex.pro texc.pro texps.pro special.pro finclude.pro color.pro \
+ config.ps psfonts.map epsf.tex epsf.sty rotate.tex rotate.sty \
+ colordvi.tex colordvi.sty blackdvi.tex blackdvi.sty
+ - mkdir $(BINDIR)
+ - mkdir $(HEADERDIR)
+ - mkdir $(CONFIGDIR)
+ - mkdir $(MANDIR)
+ - mkdir $(TEXMACRODIR)
+ $(INSTALL) -c -m 755 afm2tfm $(BINDIR)/afm2tfm
+ $(INSTALL) -c -m 755 dvips $(BINDIR)/dvips
+ $(INSTALL) -c -m 755 MakeTeXPK $(BINDIR)/MakeTeXPK
+ $(INSTALL) -c -m 644 tex.pro $(HEADERDIR)
+ $(INSTALL) -c -m 644 texc.pro $(HEADERDIR)
+ $(INSTALL) -c -m 644 texps.pro $(HEADERDIR)
+ $(INSTALL) -c -m 644 special.pro $(HEADERDIR)
+ $(INSTALL) -c -m 644 finclude.pro $(HEADERDIR)
+ $(INSTALL) -c -m 644 color.pro $(HEADERDIR)
+ $(INSTALL) -c -m 644 config.ps $(CONFIGDIR)/$(CONFIGFILE)
+ $(INSTALL) -c -m 644 psfonts.map $(CONFIGDIR)
+ $(INSTALL) -c -m 644 epsf.tex $(TEXMACRODIR)
+ $(INSTALL) -c -m 644 epsf.sty $(TEXMACRODIR)
+ $(INSTALL) -c -m 644 rotate.tex $(TEXMACRODIR)
+ $(INSTALL) -c -m 644 rotate.sty $(TEXMACRODIR)
+ $(INSTALL) -c -m 644 colordvi.sty $(TEXMACRODIR)
+ $(INSTALL) -c -m 644 colordvi.tex $(TEXMACRODIR)
+ $(INSTALL) -c -m 644 blackdvi.sty $(TEXMACRODIR)
+ $(INSTALL) -c -m 644 blackdvi.tex $(TEXMACRODIR)
+ $(INSTALL) -c -m 644 dvips.tex $(TEXMACRODIR)
+ $(INSTALL) -c -m 644 dvipsmac.tex $(TEXMACRODIR)
+
+veryclean :
+ rm -f *.o dvips squeeze afm2tfm texc.lpro *.pro *~ *.log *.dvi
+
+clean :
+ rm -f *.o squeeze afm2tfm *~ *.log *.dvi
+
+lint :
+ lint $(DEFS) $(PATHS) $(SRC)
+ lint $(DEFS) squeeze.c
+ lint $(DEFS) afm2tfm.c
diff --git a/Build/source/texk/dvipsk/vmcms/README.VMCMS b/Build/source/texk/dvipsk/vmcms/README.VMCMS
new file mode 100644
index 00000000000..3312ddcc7a4
--- /dev/null
+++ b/Build/source/texk/dvipsk/vmcms/README.VMCMS
@@ -0,0 +1,168 @@
+README.VMCMS: Remarks and history of the VM/CMS port of DVIPS.
+
+Appropos DVIPS version 5.495, 5.55.
+
+Written by Jim Hafner (hafner@almaden.ibm.com).
+Last revised 10 Nov. 1992.
+
+Version 5.55 checked and slightly modified on 2 May 1994.
+
+NOTE: This port was not done by Tom Rokicki and he has no responsibility
+for it. You can direct questions to the name and address above.
+
+The current set of changes and enhancements to the VM/CMS port over
+the previous release should be fairly complete. Lots of things have
+changed and been enhanced.
+
+Here are some of the features of the port and VM/CMS package:
+
+1) We have completely revised the MKDVIPS EXEC so that it behaves
+ a bit more like the Unix 'make' facility. In particular, it
+ now allows for command line options to do any or all of the
+ package building for the DVIPS program, the AFM2TFM program,
+ the HEADERS files and to clean up the TEXT and LOAD MAP files
+ after completion. This has only been tested with C/370, not,
+ in particular with Waterloo C.
+
+ Furthermore, it also does a rudimentary time stamp check of
+ existing TEXT files against that for the corresponding C file
+ and ALL H files so that the compiler will not be called unless
+ it seems necessary.
+
+ Note that it checks ALL H files in all ACCESSED disks. This can
+ be fixed by simply editing the MKDVIPS EXEC. See the file itself
+ for more detailed information.
+
+2) We have completed the port of AFM2TFM. If should now produce
+ identical files on VM/CMS as on Unix (it certainly does as far as
+ we could test it). There is a small front-end EXEC included that
+ sets up the necessary run-time environment. The current version is
+ extensively revised from the original port due to Alessio Guglielmi
+ and Marco Prevedelli of Pisa. The syntax for the EXEC is the same
+ as described in the DVIPS manual and the manpage is available as
+ AFM2TFM.DOC.
+
+3) The DVIPS front-end EXEC has been extensively remodeled. It now
+ supports automatic font generation at the EXEC level (and the
+ MODULE level with the appropriate command line options).
+ More on this feature later.
+
+ The EXEC assumes that the first command line argument is the
+ dvifilename. The online documentation indicates this as well,
+ though DVIPS.DOC does not. This is NOT required by the MODULE,
+ just the EXEC, and only to make parsing the arguments easier.
+
+ The current version of this exec handles the LOADLIB and TXTLIB
+ save/reset/restore processes much better, so users with very
+ large libraries accessed will not have them lost along the way.
+
+ This version does not access any font disks since that is surely
+ site dependent. So, it assumes that the required fonts are
+ available. It also assumes that MF is somewhere to be found.
+
+ Local installers might want to modify this exec in the following
+ way. Parse the command line options for a -P PRINTER specification.
+ If found, then either use PRINTER to determine which font disk
+ to access OR read the corresponding CONFIG.PRINTER file and use
+ the 'M' option to get the Metafont mode for that PRINTER. Then
+ use that mfmode to access the right font disk.
+
+4) AUTOMATIC FONT GENERATION:
+ This can be handled in two ways, at the installers or users
+ discretion.
+
+ First, we have included a MakeTeXP EXEC which we think is pretty
+ generic and should need little modifications. (See below for
+ a few additional comments.)
+
+ This MakeTeXP EXEC can be called in two different ways. The default
+ (based on DVIPS EXEC) is to have DVIPS run completely and create
+ a MISSFONT LOG file for any missing fonts. If there are any found,
+ then the DVIPS EXEC prompts the user, asking to attempt to generate
+ the fonts. If requested, then MakeTeXP EXEC is called by processing
+ each line of MISSFONT LOG. If this process completes, then the
+ user is again prompted. This time, the user can specify an exit
+ from the EXEC or to RE-invoke DVIPS (the module not the exec)
+ on the file. In this way, all the font generation can be handled
+ entirely OUTSIDE of the module, using no special system calls
+ (which have been known to cause memory clashes).
+
+ To make sure that DVIPS doesn't try to make the system call,
+ a '-M' flag is prepended to the options list. Consequently,
+ if the installer is sure that system calls will be safe, then
+ this option can be removed. Conversely, if a user wants to
+ risk it, putting '-M0' in the command line options will override
+ this default.
+
+ We mention explicitly that, contrary to the earlier VM/CMS port,
+ we have NOT disabled the system call within DVIPS itself.
+
+5) MakeTeXP EXEC: This exec is similar to the Unix version in that
+ if no Metafont mode is specified on the command line, then it
+ tries to 'guess' a mode from the base dpi. This part of the
+ exec is very site dependent and will need to be modified for your
+ location.
+
+ You might want to modify this exec to read some configuration
+ file like CONFIG.MODES or DVIPS.MODES and use this to set the
+ mfmode from the base dpi.
+
+ Furthermore, we have written this to not invoke MF EXEC but to
+ call MF MODULE directly. We hope that this will be more generic
+ since we structure the parameters as MF MODULE wants them and not
+ as some fancy execs might.
+
+ We have set up a special default for passing arguments to the
+ module. Namely,
+ &plain modes; \mode=mfmode; ...
+ where 'modes' is the name of your local .MF file that contains
+ the mode definitions. Because of this, each output file of MF
+ will have a filename of MODES. Later in the exec, these output
+ files are renamed with the font input filename. If you have a
+ mode def file of a different name, you will need to change the
+ defining variable (localModeFile) accordingly. If you don't have
+ such a file, then you will probably have to modify this EXEC
+ somewhat to compensate.
+
+ All (we hope) site dependent parts of the code are tagged boldly
+ with 'SITE DEPENDENCIES'. Look at these locations for places that
+ might require modifications.
+
+5) As before, the .dvipsrc file referred to in the manuals has the new
+ name DVIPS.PROFILE on VM/CMS.
+
+6) Online documentation is available by invoking DVIPS with no
+ arguments or filename. You can also browse the file dvips.doc for
+ some additional comments (this was converted from the Unix manpage
+ via, on Unix, "nroff -man dvips.1 | col -b > vmcms/dvips.doc"
+ and so some comments may not be appropriate for VM/CMS, e.g.,
+ the order of the filename in the command line arguments.
+
+8) Since there are no pipes on VM/CMS, the option -f is meaningless.
+ Also, the output is always written to a file, with the same filename
+ as the dvi file and filetype "PS". You can always override this with
+ the -o option.
+
+9) Since there are no PATHs in VM/CMS, the H, P, S and T configuration
+ file options are meaningless. The DVIPS.EXEC file should make sure
+ that all the necessary disks are linked (we have all .tfm, .pro,
+ config. and other files on our main TeX disk, with the EXECs and
+ MODULES -- only our fonts (the pk files) are on separate disks.)
+
+
+To compile the programs, run the program MKDVIPS.EXEC program. Be
+sure you edit this file first to make sure that your C/370 programs
+disks and libraries are all correctly link. See the comments at the
+beginning of that file for more information. When complete, all the
+necessary modules and files should be built, on your primary
+write-accessed disk. You may need to move them to their destination
+manually.
+
+
+THANKS:
+Some of this port was provided courtesy of Alessio Guglielmi
+(guglielm@di.unipi.it) and Marco Prevedelli
+(prevedelli@ipisnsva.bitnet) with help from via Michel Goossens
+(goossens@cernvm.bitnet) and Ronald Kappert (R.Kappert@uci.kun.nl).
+Acknowledgements to Shashi Sathaye for fix to 5.55 and other
+helpful hints for the original port of 5.495.
diff --git a/Build/source/texk/dvipsk/vmcms/afm2tfm.doc b/Build/source/texk/dvipsk/vmcms/afm2tfm.doc
new file mode 100644
index 00000000000..e1df6a38311
--- /dev/null
+++ b/Build/source/texk/dvipsk/vmcms/afm2tfm.doc
@@ -0,0 +1,323 @@
+
+
+
+ AFM2TFM(1) (9 August 1990) AFM2TFM(1)
+
+
+
+ NAME
+ afm2tfm - convert Adobe font metrics to TeX font metrics
+
+ SYNOPSIS
+ afm2tfm foo1[.afm] [ -e ratio ] [ -s slant ] [ -t foo2[.tfm]
+ ] [ -v bar[.vpl] | -V bar[.vpl] ] [ foo3[.tfm] ]
+
+ DESCRIPTION
+ PostScript fonts are (or should be) accompanied by font metric
+ files such as Times-Roman.afm, which describes the
+ characteristics of the font called Times-Roman. To use such
+ fonts with TeX, we need TFM files that contain similar
+ information. The command
+
+ afm2tfm Times-Roman.afm Times-Roman.tfm
+
+ (which can be reduced to simply
+
+ afm2tfm Times-Roman
+
+ by taking default shortcuts) will create the necessary file
+ Times-Roman.tfm, which can then be moved to the directory where
+ TeX normally looks for font metric information. The PostScript
+ conversion program dvips will also treat Times-Roman as a
+ resident PostScript font if you include the line
+
+ Times-Roman
+
+ in the file psfonts.map.
+
+ The file names used in this manual page are not consistent with
+ the new font naming scheme implemented by Karl Berry; please
+ refer to the main dvips.tex documentation for the correct names
+ to use.
+
+ PostScript fonts have a different encoding scheme from that of
+ plain TeX. Although both schemes are based on ASCII, special
+ characters such as ligatures and accents are handled quite
+ differently. Therefore we obtain best results by using a
+ "virtual font" interface, which makes TeX act as if the
+ PostScript font had a standard TeX encoding. Such a virtual
+ font can be obtained, for example, by the command
+
+ afm2tfm Times-Roman -v times
+
+ or, more fully, by:
+
+ afm2tfm Times-Roman.afm -v times.vpl Times-Roman.tfm
+
+ This produces two outputs, namely the "virtual property list"
+ file times.vpl and the TeX font metric file Times-Roman.tfm.
+ The latter file describes an "actual font" on
+
+
+
+ Page 1 (printed 2/26/92)
+
+
+
+
+
+
+ AFM2TFM(1) (9 August 1990) AFM2TFM(1)
+
+
+
+ which the virtual font is based.
+
+ If you wish to specify a different TFM file name than the
+ default, you can use the -t option; this will override any
+ default TFM file name that would be calculated from the input
+ file name.
+
+ To use the font in TeX, you should first run
+
+ vptovf times.vpl times.vf times.tfm
+
+ then install the file times.vf in the directory for virtual
+ fonts and install times.tfm in the directory for TeX font
+ metrics. (You can also make more complex virtual fonts by
+ editing times.vpl first.) Once this has been done, you're all
+ set. You can use code like this in TeX henceforth:
+
+ \font\myfont=times at 10pt
+ \myfont
+ Hello, I am being typeset in Times-Roman.
+
+
+ Note that there are two fonts, one actual (`Times-Roman', which
+ is analogous to a raw piece of hardware) and one virtual
+ (`times', which has typesetting knowhow added). You could also
+ say `\font\TR=Times-Roman at 10pt' and typeset directly with
+ that, but then you would have no ligatures or kerning, and you
+ would have to use Adobe character positions for special letters
+ like \ae. The virtual font called times not only has ligatures
+ and kerning, and most of the standard accent conventions of
+ TeX, it also has a few additional features not present in the
+ Computer Modern fonts. For example, it includes all the Adobe
+ characters (such as the Polish ogonek and the French
+ guillemots). It also allows you to type 58 accented letters
+ from `Aacute' to `zcaron' as if they were ligatures --- namely
+ as `acute' followed by `A', etc., where you can get `acute'
+ (\char 19) by defining a suitable control sequence. (The 58
+ constructed characters are found in the AFM file, and
+ constructed as specified by Adobe; you may wish to adjust the
+ spacing and/or add additional accent combinations by editing
+ the VPL file.) The only things you lose from ordinary TeX text
+ fonts are the dotless j (which can be hacked into the VPL file
+ with literal PostScript specials if you have the patience) and
+ uppercase Greek letters (which just don't exist unless you buy
+ them separately).
+
+ These fonts can be scaled to any size. Go wild! Note however,
+ that using PostScript fonts does use up the printer's virtual
+ memory and it does take time. You may find downloading the
+ Computer Modern fonts to be faster than using the built-in
+ PostScript fonts!
+
+
+
+ Page 2 (printed 2/26/92)
+
+
+
+
+
+
+ AFM2TFM(1) (9 August 1990) AFM2TFM(1)
+
+
+
+ OPTIONS
+ Special effects are also obtainable, with commands such as
+
+ afm2tfm Times-Roman -s .167 -v timessl Times-Slanted
+
+ which create timessl.vpl and Times-Slanted.tfm. To use this,
+ proceed as above but put the line
+
+ Times-Slanted "/Times-Roman .167 SlantFont"
+
+ into psfonts.map. Then Times-Slanted will act as if it were a
+ resident font, although it is actually constructed from
+ Times-Roman by PostScript hackery. (It's an oblique version of
+ Times-Roman, obtained by slanting everything 1/6 to the right.)
+ Similarly, you can get an extended font by
+
+ afm2tfm Times-Extended -e 1.2 -v timesx Times-Extended
+
+ and by recording the pseudo-resident font
+
+ Times-Extended "/Times-Roman 1.2 ExtendFont"
+
+ The command line switches are:
+
+ -e ratio
+ All characters are stretched horizontally by the stated
+ ratio; if it is less than 1.0, you get a condensed font.
+
+ -s slant
+ All characters are slanted to the right by the stated
+ slant; if it is negative, the letters slope to the left
+ (or they might be upright if you start with an italic
+ font).
+
+ -v file[.vpl]
+ Generate a virtual property list (VPL) file as well as a
+ TFM file.
+
+ -V file[.vpl]
+ Same as -v, but the virtual font generated is a caps
+ and-small-caps font obtained by scaling uppercase letters
+ by .8 to typeset lowercase. This font handles accented
+ letters and retains proper kerning.
+
+
+ NON-RESIDENT POSTSCRIPT FONTS
+ If you want to use a non-printer-resident PostScript font for
+ which you have a .pfb file (an Adobe Type 1 font program), you
+ can make it act like a resident font by putting a `<' sign and
+ the name of the .pfb file just after the font name in the
+ psfonts.map file entry. For example,
+
+
+
+ Page 3 (printed 2/26/92)
+
+
+
+
+
+
+ AFM2TFM(1) (9 August 1990) AFM2TFM(1)
+
+
+
+ StoneInformal <StoneInformal.pfb
+
+ will cause dvips to include StoneInformal.pfb in your document
+ as if it were a header file, whenever the pseudo-resident font
+ StoneInformal is used in a document. Similarly, you can
+ generate transformed fonts and include lines like
+
+ StoneInformal-Condensed <StoneInformal.pfb "/StoneInformal .8 ExtendF
+
+ in psfonts.map, in which case StoneInformal.pfb will be loaded
+ whenever StoneInformal-Condensed is used. (Each header file is
+ loaded at most once per document. The .pfb files should be
+ installed in the config directory with the other header files.)
+
+
+ FONT ALIASES
+ Some systems don't handle files with long names well---MSDOS
+ and TWENEX are two notable examples. For this reason, dvips
+ will accept an alias for such fonts. Such an alias shoul be
+ the first word on the psfonts.map line. For instance, if we
+ wanted the name ptmr to be used for Times-Roman since our
+ computer can't handle long names, we would use the following
+ line in our psfonts.map file:
+
+ ptmr Times-Roman
+
+ The TFM file must have the name ptmr.tfm.
+
+ The parsing of the psfonts.map file should be explained to
+ eliminate all confusion. Each line is separated into words,
+ where words are separated by spaces or tabs. If a word begins
+ with a double quote, however, it extends until the next double
+ quote or the end of the line. If a word starts with a less
+ than character, it is treated as a font head file (or
+ downloaded PostScript font). If a word starts with a double
+ quote, it is special instructions on how to generate that font.
+ Otherwise it is a name. The first such name is always the name
+ TeX uses for the font and is also the name of the TFM file. If
+ there is another name word, that name is used as the PostScript
+ name; if there is only one name word, it is used for both the
+ TeX name and the PostScript name.
+
+ Note that the aliases also register the full PostScript name,
+ so the single line
+
+ ptmr Times-Roman
+
+ would allow dvips to `find' the ptmr font as well as the
+ Times-Roman font.
+
+
+
+ Page 4 (printed 2/26/92)
+
+
+
+
+
+
+ AFM2TFM(1) (9 August 1990) AFM2TFM(1)
+
+
+
+ Incidentally, many font files (e.g., in the Adobe Type Library)
+ include more characters internally than you can access directly
+ without making a few changes. These characters typically have
+ code -1 in the afm file and no corresponding "constructed
+ character" (CC) specification. For example, in Adobe Garamond
+ there are Eth and eth, Thorn and thorn, plus things like
+ copyright and onehalf, plus 58 accented letters Aacute thru
+ zcaron (with accents over caps much better looking than you can
+ get from constructed accents). To use these characters, give
+ them character codes between 0 and 255 in the afm file, and
+ build the corresponding EncodingVector (instead of
+ StandardEncoding) in the pfb file. Then afm2tfm will generate
+ a vpl file that includes accented characters as ligatures, as
+ explained above; for example, `Aacute' will be accessible as
+ `acute' followed by `A' (as well as by its character code in
+ the virtual font).
+
+ FILES
+ psfonts.map in the config directory used by dvips (update
+ this). ../afm/Makefile in the dvips sources (look at this for
+ examples).
+
+ SEE ALSO
+ dvips(1), tex(1), vptovf(1)
+
+ BUGS
+ An option to add letterspacing to the virtual font was rejected
+ by Knuth because it would make the fi and f ligatures break the
+ normal rhythmic pattern.
+
+ AUTHORS
+ Tomas Rokicki <rokicki@neon.stanford.edu> and Don Knuth
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Page 5 (printed 2/26/92)
+
+
+
diff --git a/Build/source/texk/dvipsk/vmcms/dvips.doc b/Build/source/texk/dvipsk/vmcms/dvips.doc
new file mode 100644
index 00000000000..5e7ea40a20e
--- /dev/null
+++ b/Build/source/texk/dvipsk/vmcms/dvips.doc
@@ -0,0 +1,65 @@
+
+
+
+ DVIPS(1) TeXware (13 February 1992) DVIPS(1)
+
+
+
+ NAME
+ dvips - convert a TeX DVI file to PostScript
+
+ SYNOPSIS
+ dvips [ options ] file[.dvi]
+
+ DESCRIPTION
+ The program dvips converts a DVI file file[.dvi] produced by TeX
+ (or by some other processor like GFtoDVI) and converts it to
+ PostScript, normally sending the result directly to the
+ laserprinter. The DVI file may be specified without the .dvi
+ extension. Fonts used may either be resident in the printer or
+ defined as bitmaps in PK files, or a `virtual' combination of
+ both. If the MakeTeXPK program is installed, dvips will
+ automatically invoke METAFONT to generate fonts that don't
+ already exist.
+
+ For more information, see the manual dvips.tex is in the
+ TEXINPUTS directory. The manual can be printed with the
+ following commands: tex dvips dvips dvips -o dvips.ps lpr
+ dvips.ps
+
+ OPTIONS
+ A summary of command line options can be obtained by running
+ dvips without a filename. For more details refer to dvips.tex.
+
+ SEE ALSO
+ mf(1), afm2tfm(1), tex(1), latex(1), lpr(1)
+
+ NOTES
+ PostScript is a registered trademark of Adobe Systems
+ Incorporated.
+
+ AUTHOR
+ Tomas Rokicki <rokicki@cs.stanford.edu>; extended to virtual
+ fonts by Don Knuth.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Page 1 (printed 2/24/92)
+
+
+
diff --git a/Build/source/texk/dvipsk/vmcms/dvipscms.h b/Build/source/texk/dvipsk/vmcms/dvipscms.h
new file mode 100644
index 00000000000..d17d959027e
--- /dev/null
+++ b/Build/source/texk/dvipsk/vmcms/dvipscms.h
@@ -0,0 +1,153 @@
+/*
+ * These are changes needed for the VM/CMS version of dvips as of
+ * May 21, 1991. Revised 12/1/92.
+ * This was written by J. Hafner, E. Blanz and M. Flickner of IBM Research,
+ * Almaden Research Center. Contact hafner@almaden.ibm.com.
+ * The changes to the rest of the code can be found by searching for
+ * "VMCMS".
+ *
+ * This code can be included in dvips, subject to the same restrictions as
+ * in the copyright notice.
+ */
+extern char *malloc();
+/*
+ * Added ascii to ebcdic conversion table for VMCMS.
+ * Only for the printable characters. This is used by DVIPS.
+*/
+char ascii2ebcdic[256] = {
+ 0, 1, 2, 3, 53, 45, 46, 47,
+ 22, 5, 37, 11, 12, 64, 14, 15,
+ 16, 17, 18, 19, 60, 61, 50, 38,
+ 24, 25, 63, 39,111,111,111,111,
+ 64, 90,127,123, 91,108, 80,125,
+ 77, 93, 92, 78,107, 96, 75, 97,
+ 240,241,242,243,244,245,246,247,
+ 248,249,122, 94, 76,126,110,111,
+ 124,193,194,195,196,197,198,199,
+ 200,201,209,210,211,212,213,214,
+ 215,216,217,226,227,228,229,230,
+ 231,232,233,173,224,189, 95,109,
+ 121,129,130,131,132,133,134,135,
+ 136,137,145,146,147,148,149,150,
+ 151,152,153,162,163,164,165,166,
+ 167,168,169,192, 79,208,161, 7,
+ 128,129,130,131,132,133,134,135,
+ 136,137,138,139,140,141,142,143,
+ 144,145,146,147,148,149,150,151,
+ 152,153,154,155,156,157,158,159,
+ 160,161,162,163,164,165,166,167,
+ 168,169,170,171,172,173,174,175,
+ 176,177,178,179,180,181,182,183,
+ 184,185,186,187,188,189,190,191,
+ 192,193,194,195,196,197,198,199,
+ 200,201,202,203,204,205,206,207,
+ 208,209,210,211,212,213,214,215,
+ 216,217,218,219,220,221,222,223,
+ 224,225,226,227,228,229,230,231,
+ 232,233,234,235,236,237,238,239,
+ 240,241,242,243,244,245,246,247,
+ 248,249,250,251,252,253,254,255
+};
+/*
+ * Added ebcdic to ascii conversion table for VMCMS.
+ * Only for the printable characters. This inverts the
+ * table above and is used by AFM2TFM.
+*/
+char ebcdic2ascii[256] = {
+ 0, 1, 2, 3, 4, 9, 6,127,
+ 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 8, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 10, 23, 27,
+ 40, 41, 42, 43, 44, 5, 6, 7,
+ 48, 49, 22, 51, 52, 4, 54, 55,
+ 56, 57, 58, 59, 20, 21, 62, 26,
+ 32, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 46, 60, 40, 43,124,
+ 38, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 33, 36, 42, 41, 59, 94,
+ 45, 47, 98, 99,100,101,102,103,
+ 104,105,124, 44, 37, 95, 62, 63,
+ 112,113,114,115,116,117,118,119,
+ 120, 96, 58, 35, 64, 39, 61, 34,
+ 128, 97, 98, 99,100,101,102,103,
+ 104,105,138,123,140,141,142,143,
+ 144,106,107,108,109,110,111,112,
+ 113,114,154,125,156,157,158,159,
+ 160,161,115,116,117,118,119,120,
+ 121,122,170,171,172, 91,174,175,
+ 176,177,178,179,180,181,182,183,
+ 184,185,186,187,188, 93,190,191,
+ 192, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73,202,203,204,205,206,207,
+ 208, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82,218,219,220,221,222,223,
+ 92,225, 83, 84, 85, 86, 87, 88,
+ 89, 90,234,235,236,237,238,239,
+ 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57,250,251,252,253,254,255
+ };
+/*
+ * This redefines fopen for VMCMS, truncating long filenames for
+ * portability of TeX source.
+ */
+#ifdef fopen
+#undef fopen
+#endif
+FILE *cmsfopen(filename, mode)
+char *filename, *mode ;
+{
+ char cmsfile[21] ;
+ char *save_file;
+ char *ptr;
+ void exit() ;
+
+ if (!(save_file =
+ (char *)malloc(strlen(filename) + 1, sizeof(char)))) {
+ fprintf (stderr, "sorry---out of memory\n");
+ exit(10);
+ }
+
+ strcpy(save_file, filename);
+
+ cmsfile[0] = '\0' ;
+
+ ptr = strtok(save_file, ". ") ;
+ strncat(cmsfile, ptr, 8) ;
+
+ strcat(cmsfile, ".");
+
+ if (!(ptr = strtok(NULL, ". "))) {
+/* Remove this, not much help anyway since most filenames are built
+ internally. */
+/*
+ fprintf(stderr, "\n<%s> is not a legitimate VM/CMS file name\n",
+ filename);
+ fprintf(stderr, "...we'll try to continue...\n");
+*/
+ return(NULL);
+ }
+
+ strncat(cmsfile, ptr, 8);
+
+ if (ptr = strtok(NULL, ". ")) {
+ strcat(cmsfile, ".");
+ strncat(cmsfile, ptr, 2);
+ }
+
+ free(save_file);
+
+ return(fopen(cmsfile, mode));
+
+}
+
+
+/*
+ * access.c for VMCMS
+ */
+int access (path, amode)
+char *path;
+int amode;
+{
+ return(1);
+}