argv@island.uu.net (Dan Heller) (07/17/89)
Submitted-by: Mark Moraes <moraes@ai.toronto.edu> Posting-number: Volume 4, Issue 50 Archive-name: xtroff/part05 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 5 (of 18)." # Contents: xtroff/CHANGES.Patch4 xtroff/XtStuff/CheckItemI.h # xtroff/XtStuff/MenuItemI.h xtroff/XtStuff/util.c # xtroff/bitmaps/ditroff.pbm xtroff/devpsc/I xtroff/devpsc/Imakefile # xtroff/devpsc/R xtroff/fontstuff/MakeSunFonts # xtroff/fontstuff/vf2bdf.c xtroff/xfonts/Imakefile # xtroff/xfonts/fonts.dir # Wrapped by moraes@neat.ai on Thu Jul 13 20:54:52 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'xtroff/CHANGES.Patch4' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/CHANGES.Patch4'\" else echo shar: Extracting \"'xtroff/CHANGES.Patch4'\" \(3763 characters\) sed "s/^X//" >'xtroff/CHANGES.Patch4' <<'END_OF_FILE' X Xtroff patch 4 X -------------- X XPatch 4 is a major overhaul of xtroff, to make it work much faster and to Xuse better fonts under X11R3. (Please note that there appear to be some Xother patches floating around, so you may find your xtroff at a higher Xpatchlevel than 4. Those patches have been incorporated in this version. The Xversion released on the R3 contrib tape was at patchlevel 2, patch 3 is Xavailable by anonymous ftp as xtroff.r3.shar.Z on expo.lcs.mit.edu in the Xcontrib/ directory and on ai.toronto.edu in the pub/X directory. Both Xpatches have been released through comp.sources.x, so they should also be Xavailable from your nearest archive site) X X - The major enhancements come from Dave Cahlander <dac@cray.com>, Xand include an awk script to generate X fonts with the PostScript collating Xsequence from the nice fonts that come with X11R3, and changed xtroff so Xthat it trusts the fonts provided by Adobe and draws a word at a time, Xrather than following ditroff's character kerning. This improved speed Xtremendously. He's added a -full option to see the whole page on the screen, Xand provided special drawing routines for special characters that are not in Xthe R3 fonts. The R3 fonts look much better than the scaled vfonts. If you Xhave the Imagen fonts, you may want to convert those, however. (I have not Xtested Imagen font generation) Thanks are also due to DEC, Adobe and XBitstream for providing such nice fonts for the X1R3 distribution. X X - Dave's also provided a script to convert NeWS fonts to X11 fonts Xwith names that xtroff can use. This is in the NeWS directory with a XMakefile - I haven't been able to test it since I don't have the NeWS fonts. XHowever, if you do install the NeWS fonts, you may want to get rid of XTms{R,I,B,BI}{10,12,14,18,24}.snf.Z since the corresponding ones that come Xwith X11R3 are much better - they have ligatures and so on. X X - Dana Chee <dana@bellcore.com> fixed some problems with ditroff Xdevice control sequences, and with the scrollbars. X X - menus pop down when they're supposed to, and menu text looks right. Xmenus even unhighlight when the menu pops down. X X - Fixed a nasty bug in page positioning - if you ever went a Xpage back, going forward again became very non-deterministic. X X - Sped up a few comparisons for font and character selection Xthat were slowing things down. X X - Enabled printing of a page, and of the entire document. You can Xset the printer from the menu, using the interaction Minubuf. X X - Now compiles with gcc, varargs code fixed, doesn't write to static Xstrings. X X - A substitute XDrawArc and XFillArc based on ellipse code Dave Xprovided - these run considerably faster than the R3 server arc drawing Xcode, which is unbearably slow on the Sun3/50s which some of us use. If you Xrun your server on anything less than a MIPS based workstation, you probably Xneed these routines. X XI do not know if this version of xtroff will compile and run under X11R2 or Xearlier. I don't know if the suntools version of the previewer still works Xafter all the modifications made in this Patch. Sorry. X XHave fun. X X Mark Moraes X Computer Systems Research Institute, X University of Toronto, X Toronto, Canada M5S 1A4 X X {your favourite backbone}!utcsri!moraes X moraes@utcsri.UUCP (new style) X moraes@csri.toronto.edu X moraes@csri.utoronto.ca X moraes@csri.utoronto (bitnet) X END_OF_FILE if test 3763 -ne `wc -c <'xtroff/CHANGES.Patch4'`; then echo shar: \"'xtroff/CHANGES.Patch4'\" unpacked with wrong size! fi # end of 'xtroff/CHANGES.Patch4' fi if test -f 'xtroff/XtStuff/CheckItemI.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/XtStuff/CheckItemI.h'\" else echo shar: Extracting \"'xtroff/XtStuff/CheckItemI.h'\" \(4187 characters\) sed "s/^X//" >'xtroff/XtStuff/CheckItemI.h' <<'END_OF_FILE' X/* X* $Header: CheckItemI.h,v 1.8 87/12/04 10:58:49 swick Exp $ X*/ X X/* X * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. X * X * All Rights Reserved X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of Digital Equipment X * Corporation not be used in advertising or publicity pertaining to X * distribution of the software without specific, written prior permission. X * X * X * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING X * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL X * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR X * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, X * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, X * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS X * SOFTWARE. X */ X/* X * CheckItemI.h - Private definitions for CheckItem widget X * X * Author: Robert P. Shen X * Malcolm Forbes X * Digital Equipment Corporation X * ESG Systems Engineering X * X * Date: February 1, 1988 X */ X/* X * X * A few definitions to make CheckItem.c easier to read. X * X */ X X /* Yes, this is gross, but the code will be easier to read. X Trust me. */ X#define ComWx cbw->core.x X#define ComWy cbw->core.y X#define ComWdepth cbw->core.depth X#define ComWwidth cbw->core.width X#define ComWheight cbw->core.height X#define ComWborder_width cbw->core.border_width X#define ComWbackground cbw->core.background_pixel X#define ComWforeground cbw->label.foreground X#define ComWfont cbw->label.font X#define ComWlabel cbw->label.label X#define ComWjustify cbw->label.justify X#define ComWinternalWidth cbw->label.internal_width X#define ComWinternalHeight cbw->label.internal_height X#define ComWlabelX cbw->label.label_x X#define ComWlabelY cbw->label.label_y X#define ComWlabelWidth cbw->label.label_width X#define ComWlabelHeight cbw->label.label_height X#define ComWlabelLen cbw->label.label_len X#define ComWnormalGC cbw->label.normal_GC X#define ComWgrayGC cbw->label.gray_GC X#define ComWgrayPixmap cbw->label.gray_pixmap X#define ComWsensitive cbw->core.sensitive X#define ComWcallbackList cbw->checkitem.callback_list X#define ComWcallback cbw->checkitem.callback X#define ComWclosure cbw->checkitem.closure X#define ComWhighlightGC cbw->checkitem.highlight_GC X#define ComWeraseHighGC cbw->checkitem.erase_highlight_GC X#define ComWinverseGC cbw->checkitem.inverse_GC X#define ComWinverseTextGC cbw->checkitem.inverse_text_GC X#define ComWhighlightThickness cbw->checkitem.highlight_thickness X#define ComWset cbw->checkitem.set X#define ComWhighlighted cbw->checkitem.highlighted X#define ComWdisplaySet cbw->checkitem.display_set X#define ComWdisplayHighlighted cbw->checkitem.display_highlighted X#define ComWcheckState cbw->checkitem.check_state X X#define XtCBField(cbw,field) cbw->checkitem.field X#define XtLField(cbw,field) cbw->label.field X#define XtCField(cbw,field) cbw->core.field X X Xstatic void Initialize(); Xstatic void Redisplay(); Xstatic Boolean SetValues(); Xstatic void Set(); Xstatic void Notify(); Xstatic void Unset(); Xstatic void Highlight(); Xstatic void Unhighlight(); Xstatic void Unset(); Xstatic void Destroy(); END_OF_FILE if test 4187 -ne `wc -c <'xtroff/XtStuff/CheckItemI.h'`; then echo shar: \"'xtroff/XtStuff/CheckItemI.h'\" unpacked with wrong size! fi # end of 'xtroff/XtStuff/CheckItemI.h' fi if test -f 'xtroff/XtStuff/MenuItemI.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/XtStuff/MenuItemI.h'\" else echo shar: Extracting \"'xtroff/XtStuff/MenuItemI.h'\" \(4075 characters\) sed "s/^X//" >'xtroff/XtStuff/MenuItemI.h' <<'END_OF_FILE' X/* X* $Header: MenuItemI.h,v 1.8 87/12/04 10:58:49 swick Exp $ X*/ X X/* X * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. X * X * All Rights Reserved X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of Digital Equipment X * Corporation not be used in advertising or publicity pertaining to X * distribution of the software without specific, written prior permission. X * X * X * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING X * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL X * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR X * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, X * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, X * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS X * SOFTWARE. X */ X/* X * MenuItemI.h X * X * Author: Robert P. Shen X * Malcolm Forbes X * Digital Equipment Corporation X * ESG Systems Engineering X * X * Date: February 1, 1988 X */ X/* X * X * A few definitions to make MenuItem.c easier to read. X * X */ X X /* Yes, this is gross, but the code will be easier to read. X Trust me. */ X#define ComWx cbw->core.x X#define ComWy cbw->core.y X#define ComWdepth cbw->core.depth X#define ComWwidth cbw->core.width X#define ComWheight cbw->core.height X#define ComWborder_width cbw->core.border_width X#define ComWbackground cbw->core.background_pixel X#define ComWforeground cbw->label.foreground X#define ComWfont cbw->label.font X#define ComWlabel cbw->label.label X#define ComWjustify cbw->label.justify X#define ComWinternalWidth cbw->label.internal_width X#define ComWinternalHeight cbw->label.internal_height X#define ComWlabelX cbw->label.label_x X#define ComWlabelY cbw->label.label_y X#define ComWlabelWidth cbw->label.label_width X#define ComWlabelHeight cbw->label.label_height X#define ComWlabelLen cbw->label.label_len X#define ComWnormalGC cbw->label.normal_GC X#define ComWgrayGC cbw->label.gray_GC X#define ComWgrayPixmap cbw->label.gray_pixmap X#define ComWsensitive cbw->core.sensitive X#define ComWcallbackList cbw->menuitem.callback_list X#define ComWcallback cbw->menuitem.callback X#define ComWclosure cbw->menuitem.closure X#define ComWhighlightGC cbw->menuitem.highlight_GC X#define ComWeraseHighGC cbw->menuitem.erase_highlight_GC X#define ComWinverseGC cbw->menuitem.inverse_GC X#define ComWinverseTextGC cbw->menuitem.inverse_text_GC X#define ComWhighlightThickness cbw->menuitem.highlight_thickness X#define ComWset cbw->menuitem.set X#define ComWhighlighted cbw->menuitem.highlighted X#define ComWdisplaySet cbw->menuitem.display_set X#define ComWdisplayHighlighted cbw->menuitem.display_highlighted X X#define XtCBField(cbw,field) cbw->menuitem.field X#define XtLField(cbw,field) cbw->label.field X#define XtCField(cbw,field) cbw->core.field X X Xstatic void Initialize(); Xstatic void Redisplay(); Xstatic Boolean SetValues(); Xstatic void Set(); Xstatic void Notify(); Xstatic void Unset(); Xstatic void Highlight(); Xstatic void Unhighlight(); Xstatic void Unset(); Xstatic void Destroy(); END_OF_FILE if test 4075 -ne `wc -c <'xtroff/XtStuff/MenuItemI.h'`; then echo shar: \"'xtroff/XtStuff/MenuItemI.h'\" unpacked with wrong size! fi # end of 'xtroff/XtStuff/MenuItemI.h' fi if test -f 'xtroff/XtStuff/util.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/XtStuff/util.c'\" else echo shar: Extracting \"'xtroff/XtStuff/util.c'\" \(3734 characters\) sed "s/^X//" >'xtroff/XtStuff/util.c' <<'END_OF_FILE' X/* $Header: util.c,v 1.4 89/04/21 03:31:41 xwindows Exp $ */ X/* X * Generally useful procedures X */ X/* This file contains code from the JOVE screen editor. */ X X/************************************************************************ X * JOVE is Copyright (C) 1986 by Jonathan Payne. JOVE is * X * provided to you without charge, and with no warranty. You may give * X * away copies of JOVE, including sources, provided that this notice is * X * included in all the files. * X ************************************************************************/ X X/* X * Modified by Mark Moraes for use in a widget for the X Windows System X * Version 11. This file is still independent of the X Windows System unless X * XWINDOWS is defined. X */ X X#include <stdio.h> X#include <sys/types.h> X#include <sys/stat.h> X#include <sys/param.h> X#include <errno.h> X#include <pwd.h> X#ifdef XWINDOWS X#include <X11/Xos.h> X#else X#include <strings.h> X#endif X X Xchar * XStripName(name) Xchar *name; X{ X char *begin = rindex (name, '/'); X char *end, *result; X int length; X extern char *malloc(); X X begin = (begin ? begin+1 : name); X end = index (begin, '.'); X length = (end ? (end - begin) : strlen (begin)); X if ((result = malloc ((unsigned) (length + 1))) == 0) X return(0); X (void) strncpy (result, begin, length); X result [length] = '\0'; X return (result); X} X X/* Get a user's home directory */ Xget_hdir(user, buf) Xregister char *user, X *buf; X{ X struct passwd *pw; X X /* Rewind the passwd file - we may have searched once already */ X (void) setpwent(); X if (((pw = getpwnam(user)) != NULL) && (pw->pw_dir != NULL)) { X (void) strcpy(buf, pw->pw_dir); X return; X } X} X X/* X * gets the users home directory and stores it in a static area, so that X * subsequent calls get it cheaply. Uses the HOME environment variable, if X * that fails, uses the password file entry, else returns "/" if even that X * fails. X */ Xchar * Xgetmyhomedir() X{ X static char *cp = NULL; X extern char *getenv(); X extern char *malloc(); X struct passwd *pw; X X if (cp) X return cp; X X if ((cp = getenv("HOME")) == NULL) { X (void) setpwent(); X pw = getpwuid(getuid()); X if (pw != NULL && pw->pw_dir != NULL) { X cp = malloc((unsigned) (strlen(pw->pw_dir) + 1)); X if (cp != NULL) X (void) strcpy(cp, pw->pw_dir); X } X } X if (cp == NULL) X cp = "/"; X return(cp); X} X X/* Replace ~/ with $HOME/ and ~user/ with get_hdir/ */ XPathParse(name, intobuf) Xchar *name, X *intobuf; X{ X intobuf[0] = '\0'; X if (*name == '\0') X return; X X if (*name == '~') { X if (name[1] == '/' || name[1] == '\0') { X (void) strcpy(intobuf, getmyhomedir()); X name++; X } else { X char *uendp = index(name, '/'), X unamebuf[32]; X X if (uendp == 0) X uendp = name + strlen(name); X name = name + 1; X null_ncpy(unamebuf, name, uendp - name); X get_hdir(unamebuf, intobuf); X name = uendp; X } X } else if (*name == '\\') X name++; X (void) strcat(intobuf, name); X} X Xint Xfile_backup(fname, defaultmode) Xchar *fname; Xu_short defaultmode; X{ X char *s; X register int i; X int fd1, X fd2; X char tmp1[BUFSIZ], X tmp2[BUFSIZ]; X int mode; X X (void) strcpy(tmp1, fname); X X if ((s = rindex(tmp1, '/')) == NULL) X (void) sprintf(tmp2, "#%s~", fname); X else { X *s++ = '\0'; X (void) sprintf(tmp2, "%s/#%s~", tmp1, s); X } X X if ((fd1 = open(fname, 0)) < 0) X return -1; X X if (defaultmode == 0) X mode = 0666; X else X mode = defaultmode; X X if ((fd2 = creat(tmp2, mode)) < 0) { X (void) close(fd1); X return -1; X } X X while ((i = read(fd1, tmp1, sizeof(tmp1))) > 0) X (void) write(fd2, tmp1, i); X X (void) close(fd1); X X if (close(fd2) == -1) X return -1; X X return 0; X X} X X Xnull_ncpy(to, from, n) Xchar *to, X *from; X{ X (void) strncpy(to, from, n); X to[n] = '\0'; X} X END_OF_FILE if test 3734 -ne `wc -c <'xtroff/XtStuff/util.c'`; then echo shar: \"'xtroff/XtStuff/util.c'\" unpacked with wrong size! fi # end of 'xtroff/XtStuff/util.c' fi if test -f 'xtroff/bitmaps/ditroff.pbm' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/bitmaps/ditroff.pbm'\" else echo shar: Extracting \"'xtroff/bitmaps/ditroff.pbm'\" \(4166 characters\) sed "s/^X//" >'xtroff/bitmaps/ditroff.pbm' <<'END_OF_FILE' X64 64 X0000000000000000000000000000000000000000000000000000000000000000 X0000000011111111111111111111111111111111111111111000000000000000 X0000000010000000000000000000000000001111111111001000000000000000 X0000000010000000000100010001000100110000000000111000000000000000 X0000000010000000000010001000100011000001110000001110000000000000 X0000000010000000001000100010001100000001110000000001100000000000 X0000000010000000000001000100010000000001110000000000010000000000 X0000000010000000000000000001100000000011111000000000001100000000 X0000000010000000000000000010000000000011111000000000000010000000 X0000000010000010001000100110000000000011111000000000000001000000 X0000000010000100010001000100000000000111111100000000000001000000 X0000000010010001000100011000000000000111111100000000000000100000 X0000000010001000100010011000000000001111111110000000000000010000 X0000000010000000000000110000000000001100111110000000000000010000 X0000000010000000010001100000000000001100111110000000000000001000 X0000000010010001000100100000000000011100111111000000000000001000 X0000000010001000100011000000000000011000011111000000000000000100 X0000000010000010001001000000000000111000011111100000000000000100 X0000000010000100010001000000000000110000001111100000000000000100 X0000000010000000000010000000000000110000001111100000000000000010 X0000000010000000000010000000000001110000001111110000000000000010 X0000000010000010001010000000000001100000000111110000000000000010 X0000000010000100010010000000000011111111111111111000000000000010 X0000000010010001000110000000000011111111111111111000000000000010 X0000000010001000100010000000000011000000000011111000000000000010 X0000000010000010000010000000000111000000000011111100000000000010 X0000000010000000000010000000000110000000000001111100000000000010 X0000000010010001000110000000000110000000000001111100000000000010 X0000000010001000100011000000001110000000000001111110000000000100 X0000000010000010001001000000001100000000000000111110000000000100 X0000000010000100010001000000111100000000000000111111000000000100 X0000000010000000000000100111111111100000000111111111111100001000 X0000000010001000100010100111111111100000000111111111111100001000 X0000000010000010001000110000000000000000000000000000000000011000 X0000000010000100010001010000000000000000000000000000000000011100 X0000000010010001000100011000000000000000000000000000000000111110 X0000000010001000100010001100000000000000000000000000000001111111 X0000000010000000000000000110000000000000000000000000000001111111 X0000000010000100010000000110000000000000000000000000000011111111 X0000000010010001000100010001100000000000000000000000001111111111 X0000000010001000100010001000110000000000000000000000011111111111 X0000000010000010001000100000001100000000000000000001111111111111 X0000000010000000000000000000000011000000000000001111111111111111 X0000000010010000000100010001000100111000000000111000111111111111 X0000000010001000100010001000100010001111111111001000011111111111 X0000000010000010001000100010001000100010001000001000000111111111 X0000000010000100010000000100010000000100010001001000000011111111 X0000000010000000000000000000000000000000000000001000000001111111 X0000000010000000000000000000000000000000000000001000000000011111 X0000000011111111111111111111111111111111111111111000000000001111 X0000000000000000000000000000000000000000000000000000000000000111 X0000000000000000000000000000000000000000000000000000000000000001 X0000000011100000010000001000000000000000000000110000011000000000 X0000000010010000000000001000000000000000000001000000100000000000 X0000000010001001110000111110010110000111000001000000100000000000 X0000000010001000010000001000011001001000100111110011111000000000 X0000000010001000010000001000010000001000100001000000100000000000 X0000000010001000010000001000010000001000100001000000100000000000 X0000000010001000010000001000010000001000100001000000100000000000 X0000000010010000010000001000010000001000100001000000100000000000 X0000000011100000010000000110010000000111000001000000100000000000 X0000000000000000000000000000000000000000000000000000000000000000 X0000000000000000000000000000000000000000000000000000000000000000 X0000000000000000000000000000000000000000000000000000000000000000 END_OF_FILE if test 4166 -ne `wc -c <'xtroff/bitmaps/ditroff.pbm'`; then echo shar: \"'xtroff/bitmaps/ditroff.pbm'\" unpacked with wrong size! fi # end of 'xtroff/bitmaps/ditroff.pbm' fi if test -f 'xtroff/devpsc/I' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/devpsc/I'\" else echo shar: Extracting \"'xtroff/devpsc/I'\" \(4566 characters\) sed "s/^X//" >'xtroff/devpsc/I' <<'END_OF_FILE' X# STARTFONT 2.1 X# X# Copyright 1984, 1987 Adobe Systems, Inc. X# Portions Copyright 1988 Digital Equipment Corporation X# Times is a registered trademark of Linotype. X# X# Permission to use, copy, modify, and distribute this software and X# its documentation for any purpose and without fee is hereby granted, X# provided that the above copyright notices appear in all copies and X# that both those copyright notices and this permission notice appear X# in supporting documentation, and that the names of Adobe Systems and X# Digital Equipment Corporation not be used in advertising or X# publicity pertaining to distribution of the software without X# specific, written prior permission. Adobe Systems and Digital X# Equipment Corporation make no representations about the suitability X# of this software for any purpose. It is provided "as is" without X# express or implied warranty. X# X# ADOBE SYSTEMS AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL X# WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED X# WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ADOBE X# SYSTEMS AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY SPECIAL, X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER X# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF X# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN X# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. X# X# X# FONT -Adobe-Times-Medium-I-Normal--24-240-75-75-P-125-ISO8859-1 X# devpsc.I.24.75 Xname I Xligatures fl fi 0 Xspacewidth 50 Xcharset X\| 33 0 000 1/6 em space X\^ 17 0 000 1/12 em space X\& 00 0 000 no space X! 67 2 041 exclam X" 84 2 042 quotedbl X# 100 2 043 numbersign X$ 100 3 044 dollar X% 167 2 045 percent X& 156 2 046 ampersand X' 67 2 047 quoteright X( 67 3 050 parenleft X) 67 3 051 parenright X* 100 2 052 asterisk X+ 135 2 053 plus X, 50 1 054 comma X. 50 0 056 period X/ 56 2 057 slash Xsl " X0 100 2 060 zero X1 100 2 061 one X2 100 2 062 two X3 100 2 063 three X4 100 2 064 four X5 100 2 065 five X6 100 2 066 six X7 100 2 067 seven X8 100 2 070 eight X9 100 2 071 nine X: 67 0 072 colon X; 67 1 073 semicolon X< 135 2 074 less X= 135 0 075 equal X> 135 2 076 greater X? 100 2 077 question X@ 184 3 0100 at XA 122 2 0101 A XB 122 2 0102 B XC 133 2 0103 C XD 144 2 0104 D XE 122 2 0105 E XF 122 2 0106 F XG 144 2 0107 G XH 144 2 0110 H XI 67 2 0111 I XJ 89 2 0112 J XK 133 2 0113 K XL 111 2 0114 L XM 167 2 0115 M XN 133 2 0116 N XO 144 2 0117 O XP 122 2 0120 P XQ 144 3 0121 Q XR 122 2 0122 R XS 100 2 0123 S XT 111 2 0124 T XU 144 2 0125 U XV 122 2 0126 V XW 167 2 0127 W XX 122 2 0130 X XY 111 2 0131 Y XZ 111 2 0132 Z X[ 78 3 0133 bracketleft X\ 56 2 0134 backslash X] 78 3 0135 bracketright Xa^ 84 2 0136 asciicircum X_ 100 1 0137 underscore Xul " X\_ " X` 67 2 0140 quoteleft Xa 100 0 0141 a Xb 100 2 0142 b Xc 89 0 0143 c Xd 100 2 0144 d Xe 89 0 0145 e Xf 56 3 0146 f Xg 100 1 0147 g Xh 100 2 0150 h Xi 56 2 0151 i Xj 56 3 0152 j Xk 89 2 0153 k Xl 56 2 0154 l Xm 144 0 0155 m Xn 100 0 0156 n Xo 100 0 0157 o Xp 100 1 0160 p Xq 100 1 0161 q Xr 78 0 0162 r Xs 78 0 0163 s Xt 56 2 0164 t Xu 100 0 0165 u Xv 89 0 0166 v Xw 133 0 0167 w Xx 89 0 0170 x Xy 89 1 0171 y Xz 78 0 0172 z X{ 80 3 0173 braceleft X| 55 3 0174 bar Xor " X} 80 3 0175 braceright Xa~ 108 0 0176 asciitilde X!! 78 3 0241 exclamdown XI! " Xct 100 3 0242 cent Xps 100 2 0243 sterling Xpo " Xyi 100 2 0245 yen Xyn " X$J " Xsc 100 3 0247 section Xum 67 2 0310 dieresis X.. " Xd< 100 0 0253 guillemotleft X- 67 0 055 hyphen Xhy " Xmc 67 2 0305 macron Xma " Xaa 67 2 0302 acute X\' " Xpp 105 3 0266 paragraph Xcd 67 1 0313 cedilla Xd> 100 0 0273 guillemotright X14 150 2 0201 onequarter X12 150 2 0202 onehalf X34 150 2 0203 threequarters X?? 100 3 0277 questiondown XI? " XAE 178 2 0341 AE XO/ 144 3 0351 Oslash Xss 100 3 0373 germandbls Xae 133 0 0361 ae Xo/ 100 3 0371 oslash Xoe 133 0 0372 oe XPl 56 2 0370 lslash Xui 56 0 0365 dotlessi XOE 189 2 0352 OE XPL 111 2 0350 Lslash Xem 178 0 0320 emdash Xhc 67 2 0317 caron Xog 67 1 0316 ogonek X'' 67 2 0315 hungarumlaut Xri 67 2 0312 ring Xdt 67 2 0307 dotaccent Xbe 67 2 0306 breve X~ 67 2 0304 tilde X^ 67 2 0303 circumflex Xga 67 2 0301 grave X\` " Xpm 200 3 0275 perthousand Xrq 111 2 0272 quotedblright Xcq " Xbq 111 1 0271 quotedblbase Xbu 70 0 0267 bullet Xdd 100 3 0263 daggerdbl Xdg 100 3 0262 dagger Xen 100 0 0261 endash Xfl 100 3 0257 fl Xfi 100 3 0256 fi Xr> 67 0 0255 guilsinglright Xl< 67 0 0254 guilsinglleft Xlq 111 2 0252 quotedblleft Xoq " Xn' 43 2 0251 quotesingle X$D 100 3 0246 florin X13 167 0 0210 fudgedproc! X23 167 0 0211 fudgedproc! X18 167 0 0204 fudgedproc! X38 167 0 0205 fudgedproc! X58 167 0 0206 fudgedproc! X78 167 0 0207 fudgedproc! END_OF_FILE if test 4566 -ne `wc -c <'xtroff/devpsc/I'`; then echo shar: \"'xtroff/devpsc/I'\" unpacked with wrong size! fi # end of 'xtroff/devpsc/I' fi if test -f 'xtroff/devpsc/Imakefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/devpsc/Imakefile'\" else echo shar: Extracting \"'xtroff/devpsc/Imakefile'\" \(3557 characters\) sed "s/^X//" >'xtroff/devpsc/Imakefile' <<'END_OF_FILE' X# fonts/bdf/75dpi/devpsc/Makefile X# X# Copyright (c) 1988 Cray Research, Inc. All Rights Reserved. X# PostScript is a trademark of Adobe Systems, Inc. X X# see README for more information X# makedev is the program that builds device descriptions X XFONTDIR = $(WIDTHDIR)/devpsc XXFONTDIR = ../xfonts X XLOADFONTS = R I B BI H HB C CB S XLOADOUT = R.out I.out B.out BI.out H.out HB.out C.out CB.out S.out XLOADAUX = R.aux I.aux B.aux BI.aux H.aux HB.aux C.aux CB.aux S.aux XMOREFONTS = HO HD CO CD N NI NB ND XMOREOUT = HO.out HD.out CO.out CD.out N.out NI.out NB.out ND.out XMOREAUX = HO.aux HD.aux CO.aux CD.aux N.aux NI.aux NB.aux ND.aux XOFILES = DESC.out ${LOADOUT} ${MOREOUT} XAFILES = ${LOADAUX} ${MOREAUX} X XFONTNAMES = ${LOADFONTS} ${MOREFONTS} XFONTMAP = ${LOADMAP} ${MOREMAP} XTEMPFILES = temp.header temp.spaces temp.trailer X Xall:: DESC.out moreout X XDESC.out: DESC ${FONTNAMES} X ${MAKEDEV} DESC X Xmoreout: ${MOREOUT} X X${MOREOUT}: ${MOREFONTS} X ${MAKEDEV} $? X Xinstall:: all X XMakeDirectories(install, $(FONTDIR)) XInstallMultiple($(OFILES) $(AFILES),$(FONTDIR)) X Xclean:: X rm -f ${TEMPFILES} core *.out *.font temp* X Xclobber:: clean X rm -f [A-Z] [A-Z][A-Z] *.aux X XR: ${XFONTDIR}/timR24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XI: ${XFONTDIR}/timI24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XB: ${XFONTDIR}/timB24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XBI: ${XFONTDIR}/timBI24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XS: ${XFONTDIR}/symb24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XC: ${XFONTDIR}/courR24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XCB: ${XFONTDIR}/courB24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XCD: ${XFONTDIR}/courBO24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XCO: ${XFONTDIR}/courO24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XH: ${XFONTDIR}/helvR24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XHB: ${XFONTDIR}/helvB24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XHD: ${XFONTDIR}/helvBO24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XHO: ${XFONTDIR}/helvO24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XN: ${XFONTDIR}/ncenR24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XNB: ${XFONTDIR}/ncenB24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XND: ${XFONTDIR}/ncenBI24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} XNI: ${XFONTDIR}/ncenI24.bdf X awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES} END_OF_FILE if test 3557 -ne `wc -c <'xtroff/devpsc/Imakefile'`; then echo shar: \"'xtroff/devpsc/Imakefile'\" unpacked with wrong size! fi # end of 'xtroff/devpsc/Imakefile' fi if test -f 'xtroff/devpsc/R' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/devpsc/R'\" else echo shar: Extracting \"'xtroff/devpsc/R'\" \(4563 characters\) sed "s/^X//" >'xtroff/devpsc/R' <<'END_OF_FILE' X# STARTFONT 2.1 X# X# Copyright 1984, 1987 Adobe Systems, Inc. X# Portions Copyright 1988 Digital Equipment Corporation X# Times is a registered trademark of Linotype. X# X# Permission to use, copy, modify, and distribute this software and X# its documentation for any purpose and without fee is hereby granted, X# provided that the above copyright notices appear in all copies and X# that both those copyright notices and this permission notice appear X# in supporting documentation, and that the names of Adobe Systems and X# Digital Equipment Corporation not be used in advertising or X# publicity pertaining to distribution of the software without X# specific, written prior permission. Adobe Systems and Digital X# Equipment Corporation make no representations about the suitability X# of this software for any purpose. It is provided "as is" without X# express or implied warranty. X# X# ADOBE SYSTEMS AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL X# WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED X# WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ADOBE X# SYSTEMS AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY SPECIAL, X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER X# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF X# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN X# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. X# X# X# FONT -Adobe-Times-Medium-R-Normal--24-240-75-75-P-124-ISO8859-1 X# devpsc.R.24.75 Xname R Xligatures fl fi 0 Xspacewidth 50 Xcharset X\| 33 0 000 1/6 em space X\^ 17 0 000 1/12 em space X\& 00 0 000 no space X! 67 2 041 exclam X" 82 2 042 quotedbl X# 100 2 043 numbersign X$ 100 3 044 dollar X% 167 2 045 percent X& 156 2 046 ampersand X' 67 2 047 quoteright X( 67 3 050 parenleft X) 67 3 051 parenright X* 100 2 052 asterisk X+ 113 0 053 plus X, 50 1 054 comma X. 50 0 056 period X/ 56 3 057 slash Xsl " X0 100 2 060 zero X1 100 2 061 one X2 100 2 062 two X3 100 2 063 three X4 100 2 064 four X5 100 2 065 five X6 100 2 066 six X7 100 2 067 seven X8 100 2 070 eight X9 100 2 071 nine X: 56 0 072 colon X; 56 1 073 semicolon X< 113 0 074 less X= 113 0 075 equal X> 113 0 076 greater X? 89 2 077 question X@ 184 3 0100 at XA 144 2 0101 A XB 133 2 0102 B XC 133 2 0103 C XD 144 2 0104 D XE 122 2 0105 E XF 111 2 0106 F XG 144 2 0107 G XH 144 2 0110 H XI 67 2 0111 I XJ 78 2 0112 J XK 144 2 0113 K XL 122 2 0114 L XM 178 2 0115 M XN 144 2 0116 N XO 144 2 0117 O XP 111 2 0120 P XQ 144 3 0121 Q XR 133 2 0122 R XS 111 2 0123 S XT 122 2 0124 T XU 144 2 0125 U XV 144 2 0126 V XW 189 2 0127 W XX 144 2 0130 X XY 144 2 0131 Y XZ 122 2 0132 Z X[ 67 3 0133 bracketleft X\ 56 2 0134 backslash X] 67 3 0135 bracketright Xa^ 94 2 0136 asciicircum X_ 100 1 0137 underscore Xul " X\_ " X` 67 2 0140 quoteleft Xa 89 0 0141 a Xb 100 2 0142 b Xc 89 0 0143 c Xd 100 2 0144 d Xe 89 0 0145 e Xf 67 2 0146 f Xg 100 1 0147 g Xh 100 2 0150 h Xi 56 2 0151 i Xj 56 3 0152 j Xk 100 2 0153 k Xl 56 2 0154 l Xm 156 0 0155 m Xn 100 0 0156 n Xo 100 0 0157 o Xp 100 1 0160 p Xq 100 1 0161 q Xr 67 0 0162 r Xs 78 0 0163 s Xt 56 2 0164 t Xu 100 0 0165 u Xv 100 0 0166 v Xw 144 0 0167 w Xx 100 0 0170 x Xy 100 1 0171 y Xz 89 0 0172 z X{ 96 3 0173 braceleft X| 40 2 0174 bar Xor " X} 96 3 0175 braceright Xa~ 108 0 0176 asciitilde X!! 67 1 0241 exclamdown XI! " Xct 100 3 0242 cent Xps 100 2 0243 sterling Xpo " Xyi 100 2 0245 yen Xyn " X$J " Xsc 100 3 0247 section Xum 67 2 0310 dieresis X.. " Xd< 100 0 0253 guillemotleft X- 67 0 055 hyphen Xhy " Xmc 67 2 0305 macron Xma " Xaa 67 2 0302 acute X\' " Xpp 91 3 0266 paragraph Xcd 67 1 0313 cedilla Xd> 100 0 0273 guillemotright X14 150 2 0201 onequarter X12 150 2 0202 onehalf X34 150 2 0203 threequarters X?? 89 1 0277 questiondown XI? " XAE 178 2 0341 AE XO/ 144 3 0351 Oslash Xss 100 2 0373 germandbls Xae 133 0 0361 ae Xo/ 100 3 0371 oslash Xoe 144 0 0372 oe XPl 56 2 0370 lslash Xui 56 0 0365 dotlessi XOE 178 2 0352 OE XPL 122 2 0350 Lslash Xem 200 0 0320 emdash Xhc 67 2 0317 caron Xog 67 1 0316 ogonek X'' 67 2 0315 hungarumlaut Xri 67 2 0312 ring Xdt 67 2 0307 dotaccent Xbe 67 2 0306 breve X~ 67 2 0304 tilde X^ 67 2 0303 circumflex Xga 67 2 0301 grave X\` " Xpm 200 2 0275 perthousand Xrq 89 2 0272 quotedblright Xcq " Xbq 89 1 0271 quotedblbase Xbu 70 0 0267 bullet Xdd 100 3 0263 daggerdbl Xdg 100 3 0262 dagger Xen 100 0 0261 endash Xfl 111 2 0257 fl Xfi 111 2 0256 fi Xr> 67 0 0255 guilsinglright Xl< 67 0 0254 guilsinglleft Xlq 89 2 0252 quotedblleft Xoq " Xn' 36 2 0251 quotesingle X$D 100 3 0246 florin X13 167 0 0210 fudgedproc! X23 167 0 0211 fudgedproc! X18 167 0 0204 fudgedproc! X38 167 0 0205 fudgedproc! X58 167 0 0206 fudgedproc! X78 167 0 0207 fudgedproc! END_OF_FILE if test 4563 -ne `wc -c <'xtroff/devpsc/R'`; then echo shar: \"'xtroff/devpsc/R'\" unpacked with wrong size! fi # end of 'xtroff/devpsc/R' fi if test -f 'xtroff/fontstuff/MakeSunFonts' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/fontstuff/MakeSunFonts'\" else echo shar: Extracting \"'xtroff/fontstuff/MakeSunFonts'\" \(3899 characters\) sed "s/^X//" >'xtroff/fontstuff/MakeSunFonts' <<'END_OF_FILE' X#!/bin/sh X# X# This file can be used to make all the reduced fonts needed X# by SunTroff. The VFONTS variable points to the location of X# the Versatec fonts provided by Sun. Finally the SUNTROFF_FONTS X# variable points to the final location of the reduced fonts. X# Usage: MakeSunFonts VfontDir SuntroffFontDir Percent Xwin FontCompiler X# XVFONTS=${1-/usr/lib/vfont} XSUNTROFF_FONTS=${2-/usr/local/lib/suntroff/devsun} X# X# The "correct" percentage is 66% (120/200) but if you are trying X# to simulate unknown typesetters then it is better to use fonts X# too small in case the other typesetter has narrow spacing. This X# way the characters might be small but there shouldn't be too X# much overlap on the screen. X# X# Because of scalech this number must be a TWO digit percentage!! X# XPERCENT=${3-50} Xdpi=120 X XXWIN=${4} Xif test x$XWIN != x ; then X if test $XWIN != suntroff ; then X XWIN=x X FC=${5-bdftosnf} X extension='.snf' X else X XWIN= X FC= X extension= X fi Xfi XDEVICE=${6-devsun} X X# If you don't have the current directory in your path (.) then X# you will need to change the BIN_DIR variable to point to the X# location of this directory. Many thanks to Len at Sentry for X# pointing this potential problem out. X# XBIN_DIR=. X X# You might want to change this next variable to "ln -s" so X# that fonts are linked instead of copying. Copying is the X# safest thing to do since there really isn't a need to keep X# /usr/lib/vfont on all your servers. Many thanks to Len at X# Sentry for pointing this one out. X# XCOPY_COMMAND=cp XTEMP=/tmp/sunfont XTEMP2=/tmp/sunfont2 X Xif [ ! -d $SUNTROFF_FONTS ] Xthen X mkdir $SUNTROFF_FONTS Xelse X echo Font Directory already in place. Xfi X X X# X# Now create those fonts that we can make by renaming..... X# X Xfor i in `cd $VFONTS;echo [a-zA-Z].[0-9] [a-zA-Z].[0-9][0-9] \ X [a-zA-Z][a-zA-Z].[0-9] [a-zA-Z][a-zA-Z].[0-9][0-9]` Xdo X if [ -r $VFONTS/$i ] X then X Size=`echo $i | sed "s/.*\.//"` X Font=`echo $i | sed "s/\..*//"` X NewSize=`expr $Size \* 100 / $PERCENT` X if test x$XWIN != x ; then X fname=`echo $Font | tr A-Z a-z` X fontname=$DEVICE.$fname.$NewSize.$dpi X fname=$fname$NewSize$extension X else X fname=$Font.$NewSize X fi X if [ ! -r $SUNTROFF_FONTS/$fname ] X then X echo 'converting ' $VFONTS/$i ' to ' \ X $SUNTROFF_FONTS/$fname X if [ x$XWIN = x ] ; then X $COPY_COMMAND $VFONTS/$i \ X $SUNTROFF_FONTS/$fname X else X $BIN_DIR/vf2bdf $VFONTS/$i $NewSize | \ X sed 's?^FONT .*$?FONT '$fontname'?' | \ X $FC > $SUNTROFF_FONTS/$fname X fi X fi X fi Xdone X X X# X# Now create the fonts that we need to make by bit reduction. X# First check to see if we have a font "close enough". Close X# enough is defined here to be within one point size. X# Xfor i in `cd $VFONTS;echo [a-zA-Z].[0-9] [a-zA-Z].[0-9][0-9] \ X [a-zA-Z][a-zA-Z].[0-9] [a-zA-Z][a-zA-Z].[0-9][0-9]` Xdo X if [ -r $VFONTS/$i ] X then X Size=`echo $i | sed "s/.*\.//"` X Font=`echo $i | sed "s/\..*//"` X if [ x$XWIN = x ] X then X f1=$SUNTROFF_FONTS/$Font.`expr $Size - 1` X f2=$SUNTROFF_FONTS/$Font.`expr $Size` X f3=$SUNTROFF_FONTS/$Font.`expr $Size + 1` X fname=$Font.$Size X else X Font=`echo $Font | tr A-Z a-z` X f1=$SUNTROFF_FONTS/$Font`expr $Size - 1`$extension X f2=$SUNTROFF_FONTS/$Font`expr $Size`$extension X f3=$SUNTROFF_FONTS/$Font`expr $Size + 1`$extension X fontname=$DEVICE.$Font.$Size.$dpi X fname=$Font$Size$extension X fi X X if [ -r $f1 -o -r $f2 -o -r $f3 ] X then X true X else X echo scaling and converting $VFONTS/$i to \ X $SUNTROFF_FONTS/$fname X $BIN_DIR/vft2ch $VFONTS/$i > $TEMP X $BIN_DIR/scalech -s$PERCENT $TEMP > $TEMP2 X if test x$XWIN = x ; then X $BIN_DIR/ch2vft $TEMP2 > $SUNTROFF_FONTS/$i X else X $BIN_DIR/ch2vft $TEMP2 > $TEMP X $BIN_DIR/vf2bdf $TEMP $Size | X sed 's?^FONT .*$?FONT '$fontname'?' | \ X $FC > $SUNTROFF_FONTS/$fname X fi X fi X fi Xdone Xif [ x$XWIN != x ]; then X mkfontdir $SUNTROFF_FONTS Xfi END_OF_FILE if test 3899 -ne `wc -c <'xtroff/fontstuff/MakeSunFonts'`; then echo shar: \"'xtroff/fontstuff/MakeSunFonts'\" unpacked with wrong size! fi chmod +x 'xtroff/fontstuff/MakeSunFonts' # end of 'xtroff/fontstuff/MakeSunFonts' fi if test -f 'xtroff/fontstuff/vf2bdf.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/fontstuff/vf2bdf.c'\" else echo shar: Extracting \"'xtroff/fontstuff/vf2bdf.c'\" \(3869 characters\) sed "s/^X//" >'xtroff/fontstuff/vf2bdf.c' <<'END_OF_FILE' X#include <stdio.h> X#include <vfont.h> X#include <sys/types.h> X X#ifndef VFONT_MAGIC X#define VFONT_MAGIC 0436 X#endif X#ifndef NUM_DISPATCH X#define NUM_DISPATCH 256 X#endif X X#define RESOLUTION 72 X X/* X** Convert vfont to bdf font, reads specified file name and prints bdf X** on stdout. X*/ X Xfatal(msg) X{ X fprintf(stderr, "%s\n", msg); X exit(1); X} X Xmain(argc, argv) X int argc; X char *argv[]; X{ X register int i, nchars; X register u_char *glyphs; X register int maxleft, maxright, maxup, maxdown; X int ps; X struct header h; X struct dispatch d[NUM_DISPATCH], *pd; X X if (argc < 3) X fatal("Usage: vf2bdf vfontfile pointsize"); X X if (freopen(argv[1], "r", stdin) == NULL) X fatal("Cannot open vfontfile"); X X if ((ps = atoi(argv[2])) <= 0) X ps = 10; X X if (fread(&h, sizeof(h), 1, stdin) != 1) X fatal("Can't read header"); X X if (h.magic != VFONT_MAGIC) X fatal("Not vfont file, wrong magic number"); X X if (fread(d, sizeof(d[0]), NUM_DISPATCH, stdin) != NUM_DISPATCH) X fatal("Can't read dispatch structures"); X X if ((glyphs = (u_char *)malloc(h.size)) == NULL) X fatal("Can't get memory for bitmaps"); X X if (fread(glyphs, sizeof(u_char), h.size, stdin) != h.size) X fatal("Short read on bitmaps"); X X/* X** Count number of characters and find maximum ascent and minimun descent X*/ X maxleft = -1000; X maxright = -1000; X maxup = -1000; X maxdown = -1000; X nchars = 0; X for (i = 0; i < NUM_DISPATCH; ++i) X { X X if (d[i].nbytes <= 0) X continue; X ++nchars; X pd = &d[i]; X if (pd->left > maxleft) X maxleft = pd->left; X if (pd->right > maxright) X maxright = pd->right; X if (pd->up > maxup) X maxup = pd->up; X if (pd->down > maxdown) X maxdown = pd->down; X } X X printf("STARTFONT 2.1\n"); X printf("FONT %s\n", argv[1]); X printf("SIZE %d %d %d\n", ps, RESOLUTION, RESOLUTION); X /* not sure if maxx and maxy are correct here */ X /* they're not!! (DAC)*/ X printf("FONTBOUNDINGBOX %d %d %d %d\n", maxleft+maxright, X maxup+maxdown, -maxleft, -maxdown); X printf("STARTPROPERTIES 4\n"); X printf("FONT_ASCENT %d\n", maxup); X printf("FONT_DESCENT %d\n", maxdown); X printf("DEFAULT_CHAR 32\n"); X printf("COPYRIGHT \"Derived from a vfont\"\n"); X printf("ENDPROPERTIES\n"); X printf("CHARS %d\n", nchars); X X for (i = 0; i < NUM_DISPATCH; ++i) X { X register int j, k; X register u_char *p; X int nb, nba; X X pd = &d[i]; X if (pd->nbytes <= 0) X continue; X printf("STARTCHAR H%02x\n", i); X X if (pd->left + pd->right == 0) /* zero width character */ X { X printf("ENCODING -1\n"); X printf("ENDCHAR\n"); X continue; X } X X printf("ENCODING %d\n", i); X X /* X ** Don't think bdf to snf cares about SWIDTH actually X */ X j = pd->width * 72000 / (ps * RESOLUTION); X printf("SWIDTH %d 0\n", j); X printf("DWIDTH %d 0\n", pd->width); X X p = glyphs + pd->addr; X nb = (pd->left + pd->right + 7) / 8; X X /* X * suppress trailing zeros X */ X for (j = pd->up + pd->down; --j >= 0; ) X { X for (k = 0; k < nb; k++) { X if (p[j*nb + k] != 0) X break; X } X if (k == nb) X (pd->down)--; X else X break; X } X X /* X * suppress leading zeros X */ X while (pd->up + pd->down) X { X for (k = 0; k < nb; k++) { X if (p[k] != 0) X break; X } X if (k == nb) { X (pd->up)--; X p += nb; X } else X break; X } X X /* X * suppress trailing bytes X */ X for (k = nb; --k >= 0; ) { X int bits = 0; X X for (j = 0; j < pd->up + pd->down; j++) X bits |= p[j*nb + k]; X if (bits != 0) { X nba = k + 1; X for (j = 7; j > 0; j--) { X if (bits & (0x80 >> j)) X break; X } X pd->right = 8*k + j + 1 - pd->left; X break; X } X } X printf("BBX %d %d %d %d\n", X pd->left + pd->right, X pd->up + pd->down, X -pd->left, X -pd->down); X printf("BITMAP\n"); X for (j = 0; j < pd->up + pd->down; ++j) X { X for (k = 0; k < nba; ++k) X printf("%02X", p[j*nb + k]); X printf("\n"); X } X printf("ENDCHAR\n"); X } X X printf("ENDFONT\n"); X X exit(0); X} END_OF_FILE if test 3869 -ne `wc -c <'xtroff/fontstuff/vf2bdf.c'`; then echo shar: \"'xtroff/fontstuff/vf2bdf.c'\" unpacked with wrong size! fi # end of 'xtroff/fontstuff/vf2bdf.c' fi if test -f 'xtroff/xfonts/Imakefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/xfonts/Imakefile'\" else echo shar: Extracting \"'xtroff/xfonts/Imakefile'\" \(3860 characters\) sed "s/^X//" >'xtroff/xfonts/Imakefile' <<'END_OF_FILE' XSRCS = \ X charB08.bdf charB10.bdf charB12.bdf \ X charB14.bdf charB18.bdf charB24.bdf \ X charBI08.bdf charBI10.bdf charBI12.bdf \ X charBI14.bdf charBI18.bdf charBI24.bdf \ X charI08.bdf charI10.bdf charI12.bdf \ X charI14.bdf charI18.bdf charI24.bdf \ X charR08.bdf charR10.bdf charR12.bdf \ X charR14.bdf charR18.bdf charR24.bdf \ X courB08.bdf courB10.bdf courB12.bdf \ X courB14.bdf courB18.bdf courB24.bdf \ X courBO08.bdf courBO10.bdf courBO12.bdf \ X courBO14.bdf courBO18.bdf courBO24.bdf \ X courO08.bdf courO10.bdf courO12.bdf \ X courO14.bdf courO18.bdf courO24.bdf \ X courR08.bdf courR10.bdf courR12.bdf \ X courR14.bdf courR18.bdf courR24.bdf \ X helvB08.bdf helvB10.bdf helvB12.bdf \ X helvB14.bdf helvB18.bdf helvB24.bdf \ X helvBO08.bdf helvBO10.bdf helvBO12.bdf \ X helvBO14.bdf helvBO18.bdf helvBO24.bdf \ X helvO08.bdf helvO10.bdf helvO12.bdf \ X helvO14.bdf helvO18.bdf helvO24.bdf \ X helvR08.bdf helvR10.bdf helvR12.bdf \ X helvR14.bdf helvR18.bdf helvR24.bdf \ X ncenB08.bdf ncenB10.bdf ncenB12.bdf \ X ncenB14.bdf ncenB18.bdf ncenB24.bdf \ X ncenBI08.bdf ncenBI10.bdf ncenBI12.bdf \ X ncenBI14.bdf ncenBI18.bdf ncenBI24.bdf \ X ncenI08.bdf ncenI10.bdf ncenI12.bdf \ X ncenI14.bdf ncenI18.bdf ncenI24.bdf \ X ncenR08.bdf ncenR10.bdf ncenR12.bdf \ X ncenR14.bdf ncenR18.bdf ncenR24.bdf \ X symb08.bdf symb10.bdf symb12.bdf \ X symb14.bdf symb18.bdf symb24.bdf \ X timB08.bdf timB10.bdf timB12.bdf \ X timB14.bdf timB18.bdf timB24.bdf \ X timBI08.bdf timBI10.bdf timBI12.bdf \ X timBI14.bdf timBI18.bdf timBI24.bdf \ X timI08.bdf timI10.bdf timI12.bdf \ X timI14.bdf timI18.bdf timI24.bdf \ X timR08.bdf timR10.bdf timR12.bdf \ X timR14.bdf timR18.bdf timR24.bdf X X XOBJS = \ X courB08.t.snf.Z courB10.t.snf.Z courB12.t.snf.Z \ X courB14.t.snf.Z courB18.t.snf.Z courB24.t.snf.Z \ X courBO08.t.snf.Z courBO10.t.snf.Z courBO12.t.snf.Z \ X courBO14.t.snf.Z courBO18.t.snf.Z courBO24.t.snf.Z \ X courO08.t.snf.Z courO10.t.snf.Z courO12.t.snf.Z \ X courO14.t.snf.Z courO18.t.snf.Z courO24.t.snf.Z \ X courR08.t.snf.Z courR10.t.snf.Z courR12.t.snf.Z \ X courR14.t.snf.Z courR18.t.snf.Z courR24.t.snf.Z \ X helvB08.t.snf.Z helvB10.t.snf.Z helvB12.t.snf.Z \ X helvB14.t.snf.Z helvB18.t.snf.Z helvB24.t.snf.Z \ X helvBO08.t.snf.Z helvBO10.t.snf.Z helvBO12.t.snf.Z \ X helvBO14.t.snf.Z helvBO18.t.snf.Z helvBO24.t.snf.Z \ X helvO08.t.snf.Z helvO10.t.snf.Z helvO12.t.snf.Z \ X helvO14.t.snf.Z helvO18.t.snf.Z helvO24.t.snf.Z \ X helvR08.t.snf.Z helvR10.t.snf.Z helvR12.t.snf.Z \ X helvR14.t.snf.Z helvR18.t.snf.Z helvR24.t.snf.Z \ X ncenB08.t.snf.Z ncenB10.t.snf.Z ncenB12.t.snf.Z \ X ncenB14.t.snf.Z ncenB18.t.snf.Z ncenB24.t.snf.Z \ X ncenBI08.t.snf.Z ncenBI10.t.snf.Z ncenBI12.t.snf.Z \ X ncenBI14.t.snf.Z ncenBI18.t.snf.Z ncenBI24.t.snf.Z \ X ncenI08.t.snf.Z ncenI10.t.snf.Z ncenI12.t.snf.Z \ X ncenI14.t.snf.Z ncenI18.t.snf.Z ncenI24.t.snf.Z \ X ncenR08.t.snf.Z ncenR10.t.snf.Z ncenR12.t.snf.Z \ X ncenR14.t.snf.Z ncenR18.t.snf.Z ncenR24.t.snf.Z \ X symb08.t.snf.Z symb10.t.snf.Z symb12.t.snf.Z \ X symb14.t.snf.Z symb18.t.snf.Z symb24.t.snf.Z \ X timB08.t.snf.Z timB10.t.snf.Z timB12.t.snf.Z \ X timB14.t.snf.Z timB18.t.snf.Z timB24.t.snf.Z \ X timBI08.t.snf.Z timBI10.t.snf.Z timBI12.t.snf.Z \ X timBI14.t.snf.Z timBI18.t.snf.Z timBI24.t.snf.Z \ X timI08.t.snf.Z timI10.t.snf.Z timI12.t.snf.Z \ X timI14.t.snf.Z timI18.t.snf.Z timI24.t.snf.Z \ X timR08.t.snf.Z timR10.t.snf.Z timR12.t.snf.Z \ X timR14.t.snf.Z timR18.t.snf.Z timR24.t.snf.Z X XFONTINSTDIR = $(FONTDIR)/xtroff X Xall: $(SRCS) $(OBJS) X X$(SRCS): X rm -f $@ X $(LN) $(FONTSRC)/bdf/75dpi/$@ X Xclean:: X rm -f *.snf.Z *.bdf X Xfonts.dir: $(OBJS) X rm -f *.bdf X $(MKFONTDIR) . X XMakeDirectories(install, $(FONTINSTDIR)) XInstallFonts($(FONTINSTDIR)) X X.SUFFIXES: .bdf .snf.Z .t.snf.Z X X.bdf.snf.Z: X rm -f $*.snf $*.snf.Z X bdftosnf $< > $*.snf X compress $*.snf X X.bdf.t.snf.Z: X rm -f $*.t.snf $*.t.snf.Z X awk -f adobe.awk $< | bdftosnf > $*.t.snf X compress $*.t.snf X Xdepend:: END_OF_FILE if test 3860 -ne `wc -c <'xtroff/xfonts/Imakefile'`; then echo shar: \"'xtroff/xfonts/Imakefile'\" unpacked with wrong size! fi # end of 'xtroff/xfonts/Imakefile' fi if test -f 'xtroff/xfonts/fonts.dir' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xtroff/xfonts/fonts.dir'\" else echo shar: Extracting \"'xtroff/xfonts/fonts.dir'\" \(3719 characters\) sed "s/^X//" >'xtroff/xfonts/fonts.dir' <<'END_OF_FILE' X102 XtimB10.t.snf.Z devpsc.b.10.75 XtimB12.t.snf.Z devpsc.b.12.75 XtimB14.t.snf.Z devpsc.b.14.75 XtimB18.t.snf.Z devpsc.b.18.75 XtimB24.t.snf.Z devpsc.b.24.75 XtimB08.t.snf.Z devpsc.b.8.75 XtimBI10.t.snf.Z devpsc.bi.10.75 XtimBI12.t.snf.Z devpsc.bi.12.75 XtimBI14.t.snf.Z devpsc.bi.14.75 XtimBI18.t.snf.Z devpsc.bi.18.75 XtimBI24.t.snf.Z devpsc.bi.24.75 XtimBI08.t.snf.Z devpsc.bi.8.75 XcourR10.t.snf.Z devpsc.c.10.75 XcourR12.t.snf.Z devpsc.c.12.75 XcourR14.t.snf.Z devpsc.c.14.75 XcourR18.t.snf.Z devpsc.c.18.75 XcourR24.t.snf.Z devpsc.c.24.75 XcourR08.t.snf.Z devpsc.c.8.75 XcourB10.t.snf.Z devpsc.cb.10.75 XcourB12.t.snf.Z devpsc.cb.12.75 XcourB14.t.snf.Z devpsc.cb.14.75 XcourB18.t.snf.Z devpsc.cb.18.75 XcourB24.t.snf.Z devpsc.cb.24.75 XcourB08.t.snf.Z devpsc.cb.8.75 XcourBO10.t.snf.Z devpsc.cd.10.75 XcourBO12.t.snf.Z devpsc.cd.12.75 XcourBO14.t.snf.Z devpsc.cd.14.75 XcourBO18.t.snf.Z devpsc.cd.18.75 XcourBO24.t.snf.Z devpsc.cd.24.75 XcourBO08.t.snf.Z devpsc.cd.8.75 XcourO10.t.snf.Z devpsc.co.10.75 XcourO12.t.snf.Z devpsc.co.12.75 XcourO14.t.snf.Z devpsc.co.14.75 XcourO18.t.snf.Z devpsc.co.18.75 XcourO24.t.snf.Z devpsc.co.24.75 XcourO08.t.snf.Z devpsc.co.8.75 XhelvR10.t.snf.Z devpsc.h.10.75 XhelvR12.t.snf.Z devpsc.h.12.75 XhelvR14.t.snf.Z devpsc.h.14.75 XhelvR18.t.snf.Z devpsc.h.18.75 XhelvR24.t.snf.Z devpsc.h.24.75 XhelvR08.t.snf.Z devpsc.h.8.75 XhelvB10.t.snf.Z devpsc.hb.10.75 XhelvB12.t.snf.Z devpsc.hb.12.75 XhelvB14.t.snf.Z devpsc.hb.14.75 XhelvB18.t.snf.Z devpsc.hb.18.75 XhelvB24.t.snf.Z devpsc.hb.24.75 XhelvB08.t.snf.Z devpsc.hb.8.75 XhelvBO10.t.snf.Z devpsc.hd.10.75 XhelvBO12.t.snf.Z devpsc.hd.12.75 XhelvBO14.t.snf.Z devpsc.hd.14.75 XhelvBO18.t.snf.Z devpsc.hd.18.75 XhelvBO24.t.snf.Z devpsc.hd.24.75 XhelvBO08.t.snf.Z devpsc.hd.8.75 XhelvO10.t.snf.Z devpsc.ho.10.75 XhelvO12.t.snf.Z devpsc.ho.12.75 XhelvO14.t.snf.Z devpsc.ho.14.75 XhelvO18.t.snf.Z devpsc.ho.18.75 XhelvO24.t.snf.Z devpsc.ho.24.75 XhelvO08.t.snf.Z devpsc.ho.8.75 XtimI10.t.snf.Z devpsc.i.10.75 XtimI12.t.snf.Z devpsc.i.12.75 XtimI14.t.snf.Z devpsc.i.14.75 XtimI18.t.snf.Z devpsc.i.18.75 XtimI24.t.snf.Z devpsc.i.24.75 XtimI08.t.snf.Z devpsc.i.8.75 XncenR10.t.snf.Z devpsc.n.10.75 XncenR12.t.snf.Z devpsc.n.12.75 XncenR14.t.snf.Z devpsc.n.14.75 XncenR18.t.snf.Z devpsc.n.18.75 XncenR24.t.snf.Z devpsc.n.24.75 XncenR08.t.snf.Z devpsc.n.8.75 XncenB10.t.snf.Z devpsc.nb.10.75 XncenB12.t.snf.Z devpsc.nb.12.75 XncenB14.t.snf.Z devpsc.nb.14.75 XncenB18.t.snf.Z devpsc.nb.18.75 XncenB24.t.snf.Z devpsc.nb.24.75 XncenB08.t.snf.Z devpsc.nb.8.75 XncenBI10.t.snf.Z devpsc.nd.10.75 XncenBI12.t.snf.Z devpsc.nd.12.75 XncenBI14.t.snf.Z devpsc.nd.14.75 XncenBI18.t.snf.Z devpsc.nd.18.75 XncenBI24.t.snf.Z devpsc.nd.24.75 XncenBI08.t.snf.Z devpsc.nd.8.75 XncenI10.t.snf.Z devpsc.ni.10.75 XncenI12.t.snf.Z devpsc.ni.12.75 XncenI14.t.snf.Z devpsc.ni.14.75 XncenI18.t.snf.Z devpsc.ni.18.75 XncenI24.t.snf.Z devpsc.ni.24.75 XncenI08.t.snf.Z devpsc.ni.8.75 XtimR10.t.snf.Z devpsc.r.10.75 XtimR12.t.snf.Z devpsc.r.12.75 XtimR14.t.snf.Z devpsc.r.14.75 XtimR18.t.snf.Z devpsc.r.18.75 XtimR24.t.snf.Z devpsc.r.24.75 XtimR08.t.snf.Z devpsc.r.8.75 Xsymb10.t.snf.Z devpsc.s.10.75 Xsymb12.t.snf.Z devpsc.s.12.75 Xsymb14.t.snf.Z devpsc.s.14.75 Xsymb18.t.snf.Z devpsc.s.18.75 Xsymb24.t.snf.Z devpsc.s.24.75 Xsymb08.t.snf.Z devpsc.s.8.75 END_OF_FILE if test 3719 -ne `wc -c <'xtroff/xfonts/fonts.dir'`; then echo shar: \"'xtroff/xfonts/fonts.dir'\" unpacked with wrong size! fi # end of 'xtroff/xfonts/fonts.dir' fi echo shar: End of archive 5 \(of 18\). cp /dev/null ark5isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 18 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0