diff options
Diffstat (limited to 'Build/source/texk/dvipsk/vmcms')
-rw-r--r-- | Build/source/texk/dvipsk/vmcms/Makefile.IBM | 199 | ||||
-rw-r--r-- | Build/source/texk/dvipsk/vmcms/README.VMCMS | 168 | ||||
-rw-r--r-- | Build/source/texk/dvipsk/vmcms/afm2tfm.doc | 323 | ||||
-rw-r--r-- | Build/source/texk/dvipsk/vmcms/dvips.doc | 65 | ||||
-rw-r--r-- | Build/source/texk/dvipsk/vmcms/dvipscms.h | 153 |
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); +} |