home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume4 / xtroff / part05 < prev    next >
Encoding:
Internet Message Format  |  1989-07-16  |  55.3 KB

  1. Path: uunet!island!argv
  2. From: argv@island.uu.net (Dan Heller)
  3. Newsgroups: comp.sources.x
  4. Subject: v04i050: xtroff -- troff previewer for X11, Part05/18
  5. Message-ID: <881@island.uu.net>
  6. Date: 17 Jul 89 06:55:51 GMT
  7. Organization: Island Graphics, Marin County, California
  8. Lines: 1723
  9. Approved: island!argv@sun.com
  10.  
  11. Submitted-by: Mark Moraes <moraes@ai.toronto.edu>
  12. Posting-number: Volume 4, Issue 50
  13. Archive-name: xtroff/part05
  14.  
  15.  
  16.  
  17. #! /bin/sh
  18. # This is a shell archive.  Remove anything before this line, then unpack
  19. # it by saving it into a file and typing "sh file".  To overwrite existing
  20. # files, type "sh file -c".  You can also feed this as standard input via
  21. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  22. # will see the following message at the end:
  23. #        "End of archive 5 (of 18)."
  24. # Contents:  xtroff/CHANGES.Patch4 xtroff/XtStuff/CheckItemI.h
  25. #   xtroff/XtStuff/MenuItemI.h xtroff/XtStuff/util.c
  26. #   xtroff/bitmaps/ditroff.pbm xtroff/devpsc/I xtroff/devpsc/Imakefile
  27. #   xtroff/devpsc/R xtroff/fontstuff/MakeSunFonts
  28. #   xtroff/fontstuff/vf2bdf.c xtroff/xfonts/Imakefile
  29. #   xtroff/xfonts/fonts.dir
  30. # Wrapped by moraes@neat.ai on Thu Jul 13 20:54:52 1989
  31. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  32. if test -f 'xtroff/CHANGES.Patch4' -a "${1}" != "-c" ; then 
  33.   echo shar: Will not clobber existing file \"'xtroff/CHANGES.Patch4'\"
  34. else
  35. echo shar: Extracting \"'xtroff/CHANGES.Patch4'\" \(3763 characters\)
  36. sed "s/^X//" >'xtroff/CHANGES.Patch4' <<'END_OF_FILE'
  37. X Xtroff patch 4
  38. X --------------
  39. X
  40. XPatch 4 is a major overhaul of xtroff, to make it work much faster and to
  41. Xuse better fonts under X11R3. (Please note that there appear to be some
  42. Xother patches floating around, so you may find your xtroff at a higher
  43. Xpatchlevel than 4. Those patches have been incorporated in this version. The
  44. Xversion released on the R3 contrib tape was at patchlevel 2, patch 3 is
  45. Xavailable by anonymous ftp as xtroff.r3.shar.Z on expo.lcs.mit.edu in the
  46. Xcontrib/ directory and on ai.toronto.edu in the pub/X directory. Both
  47. Xpatches have been released through comp.sources.x, so they should also be
  48. Xavailable from your nearest archive site)
  49. X
  50. X    - The major enhancements come from Dave Cahlander <dac@cray.com>,
  51. Xand include an awk script to generate X fonts with the PostScript collating
  52. Xsequence from the nice fonts that come with X11R3, and changed xtroff so
  53. Xthat it trusts the fonts provided by Adobe and draws a word at a time,
  54. Xrather than following ditroff's character kerning. This improved speed
  55. Xtremendously. He's added a -full option to see the whole page on the screen,
  56. Xand provided special drawing routines for special characters that are not in
  57. Xthe R3 fonts. The R3 fonts look much better than the scaled vfonts. If you
  58. Xhave the Imagen fonts, you may want to convert those, however. (I have not
  59. Xtested Imagen font generation) Thanks are also due to DEC, Adobe and
  60. XBitstream for providing such nice fonts for the X1R3 distribution.
  61. X
  62. X    - Dave's also provided a script to convert NeWS fonts to X11 fonts
  63. Xwith names that xtroff can use. This is in the NeWS directory with a
  64. XMakefile - I haven't been able to test it since I don't have the NeWS fonts.
  65. XHowever, if you do install the NeWS fonts, you may want to get rid of
  66. XTms{R,I,B,BI}{10,12,14,18,24}.snf.Z since the corresponding ones that come
  67. Xwith X11R3 are much better - they have ligatures and so on.
  68. X
  69. X    - Dana Chee <dana@bellcore.com> fixed some problems with ditroff
  70. Xdevice control sequences, and with the scrollbars.
  71. X
  72. X    - menus pop down when they're supposed to, and menu text looks right.
  73. Xmenus even unhighlight when the menu pops down.
  74. X
  75. X    - Fixed a nasty bug in page positioning - if you ever went a
  76. Xpage back, going forward again became very non-deterministic.
  77. X
  78. X    - Sped up a few comparisons for font and character selection
  79. Xthat were slowing things down.
  80. X
  81. X    - Enabled printing of a page, and of the entire document. You can
  82. Xset the printer from the menu, using the interaction Minubuf.
  83. X
  84. X    - Now compiles with gcc, varargs code fixed, doesn't write to static
  85. Xstrings.
  86. X
  87. X    - A substitute XDrawArc and XFillArc based on ellipse code Dave
  88. Xprovided - these run considerably faster than the R3 server arc drawing
  89. Xcode, which is unbearably slow on the Sun3/50s which some of us use. If you
  90. Xrun your server on anything less than a MIPS based workstation, you probably
  91. Xneed these routines.
  92. X
  93. XI do not know if this version of xtroff will compile and run under X11R2 or
  94. Xearlier. I don't know if the suntools version of the previewer still works
  95. Xafter all the modifications made in this Patch. Sorry.
  96. X
  97. XHave fun.
  98. X
  99. X                                        Mark Moraes
  100. X                                        Computer Systems Research Institute,
  101. X                                        University of Toronto,
  102. X                                        Toronto, Canada M5S 1A4
  103. X                                        
  104. X                                        {your favourite backbone}!utcsri!moraes
  105. X                                        moraes@utcsri.UUCP (new style)
  106. X                                        moraes@csri.toronto.edu
  107. X                                        moraes@csri.utoronto.ca
  108. X                                        moraes@csri.utoronto (bitnet)
  109. X                                        
  110. END_OF_FILE
  111. if test 3763 -ne `wc -c <'xtroff/CHANGES.Patch4'`; then
  112.     echo shar: \"'xtroff/CHANGES.Patch4'\" unpacked with wrong size!
  113. fi
  114. # end of 'xtroff/CHANGES.Patch4'
  115. fi
  116. if test -f 'xtroff/XtStuff/CheckItemI.h' -a "${1}" != "-c" ; then 
  117.   echo shar: Will not clobber existing file \"'xtroff/XtStuff/CheckItemI.h'\"
  118. else
  119. echo shar: Extracting \"'xtroff/XtStuff/CheckItemI.h'\" \(4187 characters\)
  120. sed "s/^X//" >'xtroff/XtStuff/CheckItemI.h' <<'END_OF_FILE'
  121. X/*
  122. X* $Header: CheckItemI.h,v 1.8 87/12/04 10:58:49 swick Exp $
  123. X*/
  124. X
  125. X/*
  126. X * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  127. X * 
  128. X *                         All Rights Reserved
  129. X * 
  130. X * Permission to use, copy, modify, and distribute this software and its 
  131. X * documentation for any purpose and without fee is hereby granted, 
  132. X * provided that the above copyright notice appear in all copies and that
  133. X * both that copyright notice and this permission notice appear in 
  134. X * supporting documentation, and that the name of Digital Equipment
  135. X * Corporation not be used in advertising or publicity pertaining to
  136. X * distribution of the software without specific, written prior permission.  
  137. X * 
  138. X * 
  139. X * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  140. X * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  141. X * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  142. X * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  143. X * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  144. X * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  145. X * SOFTWARE.
  146. X */
  147. X/* 
  148. X * CheckItemI.h - Private definitions for CheckItem widget
  149. X *
  150. X * Author:      Robert P. Shen
  151. X *              Malcolm Forbes
  152. X *              Digital Equipment Corporation
  153. X *              ESG Systems Engineering
  154. X *
  155. X * Date:        February 1, 1988
  156. X */
  157. X/*
  158. X *
  159. X *  A few definitions to make CheckItem.c easier to read.
  160. X *   
  161. X */
  162. X
  163. X  /* Yes, this is gross, but the code will be easier to read.
  164. X     Trust me.  */
  165. X#define ComWx                            cbw->core.x
  166. X#define ComWy                            cbw->core.y
  167. X#define ComWdepth                        cbw->core.depth
  168. X#define ComWwidth                        cbw->core.width
  169. X#define ComWheight                       cbw->core.height
  170. X#define ComWborder_width                 cbw->core.border_width
  171. X#define ComWbackground                   cbw->core.background_pixel
  172. X#define ComWforeground                   cbw->label.foreground
  173. X#define ComWfont                         cbw->label.font
  174. X#define ComWlabel                        cbw->label.label
  175. X#define ComWjustify                      cbw->label.justify
  176. X#define ComWinternalWidth                cbw->label.internal_width
  177. X#define ComWinternalHeight               cbw->label.internal_height
  178. X#define ComWlabelX                       cbw->label.label_x
  179. X#define ComWlabelY                       cbw->label.label_y
  180. X#define ComWlabelWidth                   cbw->label.label_width
  181. X#define ComWlabelHeight                  cbw->label.label_height
  182. X#define ComWlabelLen                     cbw->label.label_len
  183. X#define ComWnormalGC                     cbw->label.normal_GC
  184. X#define ComWgrayGC                       cbw->label.gray_GC
  185. X#define ComWgrayPixmap                   cbw->label.gray_pixmap
  186. X#define ComWsensitive                    cbw->core.sensitive
  187. X#define ComWcallbackList                 cbw->checkitem.callback_list
  188. X#define ComWcallback                     cbw->checkitem.callback
  189. X#define ComWclosure                      cbw->checkitem.closure
  190. X#define ComWhighlightGC                  cbw->checkitem.highlight_GC
  191. X#define ComWeraseHighGC                  cbw->checkitem.erase_highlight_GC
  192. X#define ComWinverseGC                    cbw->checkitem.inverse_GC
  193. X#define ComWinverseTextGC                cbw->checkitem.inverse_text_GC
  194. X#define ComWhighlightThickness           cbw->checkitem.highlight_thickness
  195. X#define ComWset                          cbw->checkitem.set
  196. X#define ComWhighlighted                  cbw->checkitem.highlighted
  197. X#define ComWdisplaySet                   cbw->checkitem.display_set
  198. X#define ComWdisplayHighlighted           cbw->checkitem.display_highlighted
  199. X#define ComWcheckState             cbw->checkitem.check_state
  200. X
  201. X#define XtCBField(cbw,field)  cbw->checkitem.field
  202. X#define XtLField(cbw,field)   cbw->label.field
  203. X#define XtCField(cbw,field)   cbw->core.field
  204. X
  205. X
  206. Xstatic void Initialize();
  207. Xstatic void Redisplay();
  208. Xstatic Boolean SetValues();
  209. Xstatic void Set();
  210. Xstatic void Notify();
  211. Xstatic void Unset();
  212. Xstatic void Highlight();
  213. Xstatic void Unhighlight();
  214. Xstatic void Unset();
  215. Xstatic void Destroy();
  216. END_OF_FILE
  217. if test 4187 -ne `wc -c <'xtroff/XtStuff/CheckItemI.h'`; then
  218.     echo shar: \"'xtroff/XtStuff/CheckItemI.h'\" unpacked with wrong size!
  219. fi
  220. # end of 'xtroff/XtStuff/CheckItemI.h'
  221. fi
  222. if test -f 'xtroff/XtStuff/MenuItemI.h' -a "${1}" != "-c" ; then 
  223.   echo shar: Will not clobber existing file \"'xtroff/XtStuff/MenuItemI.h'\"
  224. else
  225. echo shar: Extracting \"'xtroff/XtStuff/MenuItemI.h'\" \(4075 characters\)
  226. sed "s/^X//" >'xtroff/XtStuff/MenuItemI.h' <<'END_OF_FILE'
  227. X/*
  228. X* $Header: MenuItemI.h,v 1.8 87/12/04 10:58:49 swick Exp $
  229. X*/
  230. X
  231. X/*
  232. X * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  233. X * 
  234. X *                         All Rights Reserved
  235. X * 
  236. X * Permission to use, copy, modify, and distribute this software and its 
  237. X * documentation for any purpose and without fee is hereby granted, 
  238. X * provided that the above copyright notice appear in all copies and that
  239. X * both that copyright notice and this permission notice appear in 
  240. X * supporting documentation, and that the name of Digital Equipment
  241. X * Corporation not be used in advertising or publicity pertaining to
  242. X * distribution of the software without specific, written prior permission.  
  243. X * 
  244. X * 
  245. X * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  246. X * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  247. X * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  248. X * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  249. X * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  250. X * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  251. X * SOFTWARE.
  252. X */
  253. X/* 
  254. X * MenuItemI.h
  255. X *
  256. X * Author:      Robert P. Shen
  257. X *              Malcolm Forbes
  258. X *              Digital Equipment Corporation
  259. X *              ESG Systems Engineering
  260. X *
  261. X * Date:        February 1, 1988
  262. X */
  263. X/*
  264. X *
  265. X *  A few definitions to make MenuItem.c easier to read.
  266. X *   
  267. X */
  268. X
  269. X  /* Yes, this is gross, but the code will be easier to read.
  270. X     Trust me.  */
  271. X#define ComWx                            cbw->core.x
  272. X#define ComWy                            cbw->core.y
  273. X#define ComWdepth                        cbw->core.depth
  274. X#define ComWwidth                        cbw->core.width
  275. X#define ComWheight                       cbw->core.height
  276. X#define ComWborder_width                 cbw->core.border_width
  277. X#define ComWbackground                   cbw->core.background_pixel
  278. X#define ComWforeground                   cbw->label.foreground
  279. X#define ComWfont                         cbw->label.font
  280. X#define ComWlabel                        cbw->label.label
  281. X#define ComWjustify                      cbw->label.justify
  282. X#define ComWinternalWidth                cbw->label.internal_width
  283. X#define ComWinternalHeight               cbw->label.internal_height
  284. X#define ComWlabelX                       cbw->label.label_x
  285. X#define ComWlabelY                       cbw->label.label_y
  286. X#define ComWlabelWidth                   cbw->label.label_width
  287. X#define ComWlabelHeight                  cbw->label.label_height
  288. X#define ComWlabelLen                     cbw->label.label_len
  289. X#define ComWnormalGC                     cbw->label.normal_GC
  290. X#define ComWgrayGC                       cbw->label.gray_GC
  291. X#define ComWgrayPixmap                   cbw->label.gray_pixmap
  292. X#define ComWsensitive                    cbw->core.sensitive
  293. X#define ComWcallbackList                 cbw->menuitem.callback_list
  294. X#define ComWcallback                     cbw->menuitem.callback
  295. X#define ComWclosure                      cbw->menuitem.closure
  296. X#define ComWhighlightGC                  cbw->menuitem.highlight_GC
  297. X#define ComWeraseHighGC                  cbw->menuitem.erase_highlight_GC
  298. X#define ComWinverseGC                    cbw->menuitem.inverse_GC
  299. X#define ComWinverseTextGC                cbw->menuitem.inverse_text_GC
  300. X#define ComWhighlightThickness           cbw->menuitem.highlight_thickness
  301. X#define ComWset                          cbw->menuitem.set
  302. X#define ComWhighlighted                  cbw->menuitem.highlighted
  303. X#define ComWdisplaySet                   cbw->menuitem.display_set
  304. X#define ComWdisplayHighlighted           cbw->menuitem.display_highlighted
  305. X
  306. X#define XtCBField(cbw,field)  cbw->menuitem.field
  307. X#define XtLField(cbw,field)   cbw->label.field
  308. X#define XtCField(cbw,field)   cbw->core.field
  309. X
  310. X
  311. Xstatic void Initialize();
  312. Xstatic void Redisplay();
  313. Xstatic Boolean SetValues();
  314. Xstatic void Set();
  315. Xstatic void Notify();
  316. Xstatic void Unset();
  317. Xstatic void Highlight();
  318. Xstatic void Unhighlight();
  319. Xstatic void Unset();
  320. Xstatic void Destroy();
  321. END_OF_FILE
  322. if test 4075 -ne `wc -c <'xtroff/XtStuff/MenuItemI.h'`; then
  323.     echo shar: \"'xtroff/XtStuff/MenuItemI.h'\" unpacked with wrong size!
  324. fi
  325. # end of 'xtroff/XtStuff/MenuItemI.h'
  326. fi
  327. if test -f 'xtroff/XtStuff/util.c' -a "${1}" != "-c" ; then 
  328.   echo shar: Will not clobber existing file \"'xtroff/XtStuff/util.c'\"
  329. else
  330. echo shar: Extracting \"'xtroff/XtStuff/util.c'\" \(3734 characters\)
  331. sed "s/^X//" >'xtroff/XtStuff/util.c' <<'END_OF_FILE'
  332. X/* $Header: util.c,v 1.4 89/04/21 03:31:41 xwindows Exp $ */
  333. X/*
  334. X *  Generally useful procedures
  335. X */
  336. X/* This file contains code from the JOVE screen editor.  */
  337. X
  338. X/************************************************************************
  339. X * JOVE is Copyright (C) 1986 by Jonathan Payne.  JOVE is               *
  340. X * provided to you without charge, and with no warranty.  You may give  *
  341. X * away copies of JOVE, including sources, provided that this notice is *
  342. X * included in all the files.                                           *
  343. X ************************************************************************/
  344. X
  345. X/*
  346. X * Modified by Mark Moraes for use in a widget for the X Windows System
  347. X * Version 11. This file is still independent of the X Windows System unless
  348. X * XWINDOWS is defined.
  349. X */
  350. X
  351. X#include <stdio.h>
  352. X#include <sys/types.h>
  353. X#include <sys/stat.h>
  354. X#include <sys/param.h>
  355. X#include <errno.h>
  356. X#include <pwd.h>
  357. X#ifdef XWINDOWS
  358. X#include <X11/Xos.h>
  359. X#else
  360. X#include <strings.h>
  361. X#endif
  362. X
  363. X
  364. Xchar *
  365. XStripName(name)
  366. Xchar *name;
  367. X{
  368. X    char *begin = rindex (name, '/');
  369. X    char *end, *result;
  370. X    int length;
  371. X    extern char *malloc();
  372. X
  373. X    begin = (begin ? begin+1 : name);
  374. X    end = index (begin, '.');
  375. X    length = (end ? (end - begin) : strlen (begin));
  376. X    if ((result = malloc ((unsigned) (length + 1))) == 0)
  377. X        return(0);
  378. X    (void) strncpy (result, begin, length);
  379. X    result [length] = '\0';
  380. X    return (result);
  381. X}
  382. X
  383. X/* Get a user's home directory */
  384. Xget_hdir(user, buf)
  385. Xregister char    *user,
  386. X                *buf;
  387. X{
  388. X    struct passwd    *pw;
  389. X
  390. X    /* Rewind the passwd file - we may have searched once already */
  391. X    (void) setpwent();
  392. X    if (((pw = getpwnam(user)) != NULL) && (pw->pw_dir != NULL)) {
  393. X            (void) strcpy(buf, pw->pw_dir);
  394. X            return;
  395. X    }
  396. X}
  397. X
  398. X/*
  399. X * gets the users home directory and stores it in a static area, so that
  400. X * subsequent calls get it cheaply. Uses the HOME environment variable, if
  401. X * that fails, uses the password file entry, else returns "/" if even that
  402. X * fails.
  403. X */
  404. Xchar *
  405. Xgetmyhomedir()
  406. X{
  407. X    static char *cp = NULL;
  408. X    extern char *getenv();
  409. X    extern char *malloc();
  410. X    struct passwd *pw;
  411. X
  412. X    if (cp)
  413. X        return cp;
  414. X        
  415. X    if ((cp = getenv("HOME")) == NULL) {
  416. X        (void) setpwent();
  417. X        pw = getpwuid(getuid());
  418. X        if (pw != NULL && pw->pw_dir != NULL) {
  419. X            cp = malloc((unsigned) (strlen(pw->pw_dir) + 1));
  420. X            if (cp != NULL)
  421. X                (void) strcpy(cp, pw->pw_dir);
  422. X        }
  423. X    }
  424. X    if (cp == NULL)
  425. X        cp = "/";
  426. X    return(cp);
  427. X}
  428. X            
  429. X/* Replace ~/ with $HOME/ and ~user/ with get_hdir/ */
  430. XPathParse(name, intobuf)
  431. Xchar    *name,
  432. X        *intobuf;
  433. X{
  434. X    intobuf[0] = '\0';
  435. X    if (*name == '\0')
  436. X        return;
  437. X
  438. X    if (*name == '~') {
  439. X        if (name[1] == '/' || name[1] == '\0') {
  440. X            (void) strcpy(intobuf, getmyhomedir());
  441. X            name++;
  442. X        } else {
  443. X            char    *uendp = index(name, '/'),
  444. X                    unamebuf[32];
  445. X
  446. X            if (uendp == 0)
  447. X                uendp = name + strlen(name);
  448. X            name = name + 1;
  449. X            null_ncpy(unamebuf, name, uendp - name);
  450. X            get_hdir(unamebuf, intobuf);
  451. X            name = uendp;
  452. X        }
  453. X    } else if (*name == '\\')
  454. X        name++;
  455. X    (void) strcat(intobuf, name);
  456. X}
  457. X
  458. Xint
  459. Xfile_backup(fname, defaultmode)
  460. Xchar *fname;
  461. Xu_short defaultmode;
  462. X{
  463. X    char    *s;
  464. X    register int    i;
  465. X    int    fd1,
  466. X        fd2;
  467. X    char    tmp1[BUFSIZ],
  468. X            tmp2[BUFSIZ];
  469. X    int    mode;
  470. X    
  471. X    (void) strcpy(tmp1, fname);
  472. X    
  473. X    if ((s = rindex(tmp1, '/')) == NULL)
  474. X        (void) sprintf(tmp2, "#%s~", fname);
  475. X    else {
  476. X        *s++ = '\0';
  477. X        (void) sprintf(tmp2, "%s/#%s~", tmp1, s);
  478. X    }
  479. X
  480. X    if ((fd1 = open(fname, 0)) < 0)
  481. X        return -1;
  482. X
  483. X    if (defaultmode == 0)
  484. X        mode = 0666;
  485. X    else
  486. X        mode = defaultmode;
  487. X        
  488. X    if ((fd2 = creat(tmp2, mode)) < 0) {
  489. X        (void) close(fd1);
  490. X        return -1;
  491. X    }
  492. X
  493. X    while ((i = read(fd1, tmp1, sizeof(tmp1))) > 0)
  494. X        (void) write(fd2, tmp1, i);
  495. X
  496. X    (void) close(fd1);
  497. X
  498. X    if (close(fd2) == -1)
  499. X        return -1;
  500. X
  501. X    return 0;
  502. X        
  503. X}
  504. X
  505. X
  506. Xnull_ncpy(to, from, n)
  507. Xchar    *to,
  508. X        *from;
  509. X{
  510. X    (void) strncpy(to, from, n);
  511. X    to[n] = '\0';
  512. X}
  513. X
  514. END_OF_FILE
  515. if test 3734 -ne `wc -c <'xtroff/XtStuff/util.c'`; then
  516.     echo shar: \"'xtroff/XtStuff/util.c'\" unpacked with wrong size!
  517. fi
  518. # end of 'xtroff/XtStuff/util.c'
  519. fi
  520. if test -f 'xtroff/bitmaps/ditroff.pbm' -a "${1}" != "-c" ; then 
  521.   echo shar: Will not clobber existing file \"'xtroff/bitmaps/ditroff.pbm'\"
  522. else
  523. echo shar: Extracting \"'xtroff/bitmaps/ditroff.pbm'\" \(4166 characters\)
  524. sed "s/^X//" >'xtroff/bitmaps/ditroff.pbm' <<'END_OF_FILE'
  525. X64 64
  526. X0000000000000000000000000000000000000000000000000000000000000000
  527. X0000000011111111111111111111111111111111111111111000000000000000
  528. X0000000010000000000000000000000000001111111111001000000000000000
  529. X0000000010000000000100010001000100110000000000111000000000000000
  530. X0000000010000000000010001000100011000001110000001110000000000000
  531. X0000000010000000001000100010001100000001110000000001100000000000
  532. X0000000010000000000001000100010000000001110000000000010000000000
  533. X0000000010000000000000000001100000000011111000000000001100000000
  534. X0000000010000000000000000010000000000011111000000000000010000000
  535. X0000000010000010001000100110000000000011111000000000000001000000
  536. X0000000010000100010001000100000000000111111100000000000001000000
  537. X0000000010010001000100011000000000000111111100000000000000100000
  538. X0000000010001000100010011000000000001111111110000000000000010000
  539. X0000000010000000000000110000000000001100111110000000000000010000
  540. X0000000010000000010001100000000000001100111110000000000000001000
  541. X0000000010010001000100100000000000011100111111000000000000001000
  542. X0000000010001000100011000000000000011000011111000000000000000100
  543. X0000000010000010001001000000000000111000011111100000000000000100
  544. X0000000010000100010001000000000000110000001111100000000000000100
  545. X0000000010000000000010000000000000110000001111100000000000000010
  546. X0000000010000000000010000000000001110000001111110000000000000010
  547. X0000000010000010001010000000000001100000000111110000000000000010
  548. X0000000010000100010010000000000011111111111111111000000000000010
  549. X0000000010010001000110000000000011111111111111111000000000000010
  550. X0000000010001000100010000000000011000000000011111000000000000010
  551. X0000000010000010000010000000000111000000000011111100000000000010
  552. X0000000010000000000010000000000110000000000001111100000000000010
  553. X0000000010010001000110000000000110000000000001111100000000000010
  554. X0000000010001000100011000000001110000000000001111110000000000100
  555. X0000000010000010001001000000001100000000000000111110000000000100
  556. X0000000010000100010001000000111100000000000000111111000000000100
  557. X0000000010000000000000100111111111100000000111111111111100001000
  558. X0000000010001000100010100111111111100000000111111111111100001000
  559. X0000000010000010001000110000000000000000000000000000000000011000
  560. X0000000010000100010001010000000000000000000000000000000000011100
  561. X0000000010010001000100011000000000000000000000000000000000111110
  562. X0000000010001000100010001100000000000000000000000000000001111111
  563. X0000000010000000000000000110000000000000000000000000000001111111
  564. X0000000010000100010000000110000000000000000000000000000011111111
  565. X0000000010010001000100010001100000000000000000000000001111111111
  566. X0000000010001000100010001000110000000000000000000000011111111111
  567. X0000000010000010001000100000001100000000000000000001111111111111
  568. X0000000010000000000000000000000011000000000000001111111111111111
  569. X0000000010010000000100010001000100111000000000111000111111111111
  570. X0000000010001000100010001000100010001111111111001000011111111111
  571. X0000000010000010001000100010001000100010001000001000000111111111
  572. X0000000010000100010000000100010000000100010001001000000011111111
  573. X0000000010000000000000000000000000000000000000001000000001111111
  574. X0000000010000000000000000000000000000000000000001000000000011111
  575. X0000000011111111111111111111111111111111111111111000000000001111
  576. X0000000000000000000000000000000000000000000000000000000000000111
  577. X0000000000000000000000000000000000000000000000000000000000000001
  578. X0000000011100000010000001000000000000000000000110000011000000000
  579. X0000000010010000000000001000000000000000000001000000100000000000
  580. X0000000010001001110000111110010110000111000001000000100000000000
  581. X0000000010001000010000001000011001001000100111110011111000000000
  582. X0000000010001000010000001000010000001000100001000000100000000000
  583. X0000000010001000010000001000010000001000100001000000100000000000
  584. X0000000010001000010000001000010000001000100001000000100000000000
  585. X0000000010010000010000001000010000001000100001000000100000000000
  586. X0000000011100000010000000110010000000111000001000000100000000000
  587. X0000000000000000000000000000000000000000000000000000000000000000
  588. X0000000000000000000000000000000000000000000000000000000000000000
  589. X0000000000000000000000000000000000000000000000000000000000000000
  590. END_OF_FILE
  591. if test 4166 -ne `wc -c <'xtroff/bitmaps/ditroff.pbm'`; then
  592.     echo shar: \"'xtroff/bitmaps/ditroff.pbm'\" unpacked with wrong size!
  593. fi
  594. # end of 'xtroff/bitmaps/ditroff.pbm'
  595. fi
  596. if test -f 'xtroff/devpsc/I' -a "${1}" != "-c" ; then 
  597.   echo shar: Will not clobber existing file \"'xtroff/devpsc/I'\"
  598. else
  599. echo shar: Extracting \"'xtroff/devpsc/I'\" \(4566 characters\)
  600. sed "s/^X//" >'xtroff/devpsc/I' <<'END_OF_FILE'
  601. X# STARTFONT 2.1
  602. X# 
  603. X#  Copyright 1984, 1987 Adobe Systems, Inc.
  604. X#  Portions Copyright 1988 Digital Equipment Corporation
  605. X#  Times is a registered trademark of Linotype.
  606. X# 
  607. X#  Permission to use, copy, modify, and distribute this software and
  608. X#  its documentation for any purpose and without fee is hereby granted,
  609. X#  provided that the above copyright notices appear in all copies and
  610. X#  that both those copyright notices and this permission notice appear
  611. X#  in supporting documentation, and that the names of Adobe Systems and
  612. X#  Digital Equipment Corporation not be used in advertising or
  613. X#  publicity pertaining to distribution of the software without
  614. X#  specific, written prior permission. Adobe Systems and Digital
  615. X#  Equipment Corporation make no representations about the suitability
  616. X#  of this software for any purpose. It is provided "as is" without
  617. X#  express or implied warranty.
  618. X# 
  619. X#  ADOBE SYSTEMS AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL
  620. X#  WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
  621. X#  WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ADOBE
  622. X#  SYSTEMS AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY SPECIAL,
  623. X#  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
  624. X#  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
  625. X#  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  626. X#  CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  627. X# 
  628. X# 
  629. X#  FONT -Adobe-Times-Medium-I-Normal--24-240-75-75-P-125-ISO8859-1
  630. X#  devpsc.I.24.75
  631. Xname I
  632. Xligatures fl fi 0
  633. Xspacewidth 50
  634. Xcharset
  635. X\|    33 0 000    1/6 em space
  636. X\^    17 0 000    1/12 em space
  637. X\&    00 0 000    no space
  638. X!    67 2 041    exclam
  639. X"    84 2 042    quotedbl
  640. X#    100 2 043    numbersign
  641. X$    100 3 044    dollar
  642. X%    167 2 045    percent
  643. X&    156 2 046    ampersand
  644. X'    67 2 047    quoteright
  645. X(    67 3 050    parenleft
  646. X)    67 3 051    parenright
  647. X*    100 2 052    asterisk
  648. X+    135 2 053    plus
  649. X,    50 1 054    comma
  650. X.    50 0 056    period
  651. X/    56 2 057    slash
  652. Xsl    "
  653. X0    100 2 060    zero
  654. X1    100 2 061    one
  655. X2    100 2 062    two
  656. X3    100 2 063    three
  657. X4    100 2 064    four
  658. X5    100 2 065    five
  659. X6    100 2 066    six
  660. X7    100 2 067    seven
  661. X8    100 2 070    eight
  662. X9    100 2 071    nine
  663. X:    67 0 072    colon
  664. X;    67 1 073    semicolon
  665. X<    135 2 074    less
  666. X=    135 0 075    equal
  667. X>    135 2 076    greater
  668. X?    100 2 077    question
  669. X@    184 3 0100    at
  670. XA    122 2 0101    A
  671. XB    122 2 0102    B
  672. XC    133 2 0103    C
  673. XD    144 2 0104    D
  674. XE    122 2 0105    E
  675. XF    122 2 0106    F
  676. XG    144 2 0107    G
  677. XH    144 2 0110    H
  678. XI    67 2 0111    I
  679. XJ    89 2 0112    J
  680. XK    133 2 0113    K
  681. XL    111 2 0114    L
  682. XM    167 2 0115    M
  683. XN    133 2 0116    N
  684. XO    144 2 0117    O
  685. XP    122 2 0120    P
  686. XQ    144 3 0121    Q
  687. XR    122 2 0122    R
  688. XS    100 2 0123    S
  689. XT    111 2 0124    T
  690. XU    144 2 0125    U
  691. XV    122 2 0126    V
  692. XW    167 2 0127    W
  693. XX    122 2 0130    X
  694. XY    111 2 0131    Y
  695. XZ    111 2 0132    Z
  696. X[    78 3 0133    bracketleft
  697. X\    56 2 0134    backslash
  698. X]    78 3 0135    bracketright
  699. Xa^    84 2 0136    asciicircum
  700. X_    100 1 0137    underscore
  701. Xul    "
  702. X\_    "
  703. X`    67 2 0140    quoteleft
  704. Xa    100 0 0141    a
  705. Xb    100 2 0142    b
  706. Xc    89 0 0143    c
  707. Xd    100 2 0144    d
  708. Xe    89 0 0145    e
  709. Xf    56 3 0146    f
  710. Xg    100 1 0147    g
  711. Xh    100 2 0150    h
  712. Xi    56 2 0151    i
  713. Xj    56 3 0152    j
  714. Xk    89 2 0153    k
  715. Xl    56 2 0154    l
  716. Xm    144 0 0155    m
  717. Xn    100 0 0156    n
  718. Xo    100 0 0157    o
  719. Xp    100 1 0160    p
  720. Xq    100 1 0161    q
  721. Xr    78 0 0162    r
  722. Xs    78 0 0163    s
  723. Xt    56 2 0164    t
  724. Xu    100 0 0165    u
  725. Xv    89 0 0166    v
  726. Xw    133 0 0167    w
  727. Xx    89 0 0170    x
  728. Xy    89 1 0171    y
  729. Xz    78 0 0172    z
  730. X{    80 3 0173    braceleft
  731. X|    55 3 0174    bar
  732. Xor    "
  733. X}    80 3 0175    braceright
  734. Xa~    108 0 0176    asciitilde
  735. X!!    78 3 0241    exclamdown
  736. XI!    "
  737. Xct    100 3 0242    cent
  738. Xps    100 2 0243    sterling
  739. Xpo    "
  740. Xyi    100 2 0245    yen
  741. Xyn    "
  742. X$J    "
  743. Xsc    100 3 0247    section
  744. Xum    67 2 0310    dieresis
  745. X..    "
  746. Xd<    100 0 0253    guillemotleft
  747. X-    67 0 055    hyphen
  748. Xhy    "
  749. Xmc    67 2 0305    macron
  750. Xma    "
  751. Xaa    67 2 0302    acute
  752. X\'    "
  753. Xpp    105 3 0266    paragraph
  754. Xcd    67 1 0313    cedilla
  755. Xd>    100 0 0273    guillemotright
  756. X14    150 2 0201    onequarter
  757. X12    150 2 0202    onehalf
  758. X34    150 2 0203    threequarters
  759. X??    100 3 0277    questiondown
  760. XI?    "
  761. XAE    178 2 0341    AE
  762. XO/    144 3 0351    Oslash
  763. Xss    100 3 0373    germandbls
  764. Xae    133 0 0361    ae
  765. Xo/    100 3 0371    oslash
  766. Xoe    133 0 0372    oe
  767. XPl    56 2 0370    lslash
  768. Xui    56 0 0365    dotlessi
  769. XOE    189 2 0352    OE
  770. XPL    111 2 0350    Lslash
  771. Xem    178 0 0320    emdash
  772. Xhc    67 2 0317    caron
  773. Xog    67 1 0316    ogonek
  774. X''    67 2 0315    hungarumlaut
  775. Xri    67 2 0312    ring
  776. Xdt    67 2 0307    dotaccent
  777. Xbe    67 2 0306    breve
  778. X~    67 2 0304    tilde
  779. X^    67 2 0303    circumflex
  780. Xga    67 2 0301    grave
  781. X\`    "
  782. Xpm    200 3 0275    perthousand
  783. Xrq    111 2 0272    quotedblright
  784. Xcq    "
  785. Xbq    111 1 0271    quotedblbase
  786. Xbu    70 0 0267    bullet
  787. Xdd    100 3 0263    daggerdbl
  788. Xdg    100 3 0262    dagger
  789. Xen    100 0 0261    endash
  790. Xfl    100 3 0257    fl
  791. Xfi    100 3 0256    fi
  792. Xr>    67 0 0255    guilsinglright
  793. Xl<    67 0 0254    guilsinglleft
  794. Xlq    111 2 0252    quotedblleft
  795. Xoq    "
  796. Xn'    43 2 0251    quotesingle
  797. X$D    100 3 0246    florin
  798. X13    167 0 0210    fudgedproc!
  799. X23    167 0 0211    fudgedproc!
  800. X18    167 0 0204    fudgedproc!
  801. X38    167 0 0205    fudgedproc!
  802. X58    167 0 0206    fudgedproc!
  803. X78    167 0 0207    fudgedproc!
  804. END_OF_FILE
  805. if test 4566 -ne `wc -c <'xtroff/devpsc/I'`; then
  806.     echo shar: \"'xtroff/devpsc/I'\" unpacked with wrong size!
  807. fi
  808. # end of 'xtroff/devpsc/I'
  809. fi
  810. if test -f 'xtroff/devpsc/Imakefile' -a "${1}" != "-c" ; then 
  811.   echo shar: Will not clobber existing file \"'xtroff/devpsc/Imakefile'\"
  812. else
  813. echo shar: Extracting \"'xtroff/devpsc/Imakefile'\" \(3557 characters\)
  814. sed "s/^X//" >'xtroff/devpsc/Imakefile' <<'END_OF_FILE'
  815. X# fonts/bdf/75dpi/devpsc/Makefile
  816. X#
  817. X# Copyright (c) 1988 Cray Research, Inc.  All Rights Reserved.
  818. X# PostScript is a trademark of Adobe Systems, Inc.
  819. X
  820. X# see README for more information
  821. X# makedev is the program that builds device descriptions
  822. X
  823. XFONTDIR = $(WIDTHDIR)/devpsc
  824. XXFONTDIR = ../xfonts
  825. X
  826. XLOADFONTS = R I B BI H HB C CB S
  827. XLOADOUT = R.out I.out B.out BI.out H.out HB.out C.out CB.out S.out
  828. XLOADAUX = R.aux I.aux B.aux BI.aux H.aux HB.aux C.aux CB.aux S.aux
  829. XMOREFONTS = HO HD CO CD N NI NB ND
  830. XMOREOUT = HO.out HD.out CO.out CD.out N.out NI.out NB.out ND.out
  831. XMOREAUX = HO.aux HD.aux CO.aux CD.aux N.aux NI.aux NB.aux ND.aux
  832. XOFILES = DESC.out ${LOADOUT} ${MOREOUT}
  833. XAFILES = ${LOADAUX} ${MOREAUX}
  834. X
  835. XFONTNAMES = ${LOADFONTS} ${MOREFONTS}
  836. XFONTMAP = ${LOADMAP} ${MOREMAP}
  837. XTEMPFILES = temp.header temp.spaces temp.trailer
  838. X
  839. Xall:: DESC.out moreout
  840. X
  841. XDESC.out: DESC ${FONTNAMES}
  842. X    ${MAKEDEV} DESC
  843. X
  844. Xmoreout: ${MOREOUT}
  845. X
  846. X${MOREOUT}: ${MOREFONTS}
  847. X    ${MAKEDEV} $?
  848. X
  849. Xinstall:: all
  850. X
  851. XMakeDirectories(install, $(FONTDIR))
  852. XInstallMultiple($(OFILES) $(AFILES),$(FONTDIR))
  853. X
  854. Xclean::
  855. X    rm -f ${TEMPFILES} core *.out *.font temp*
  856. X
  857. Xclobber:: clean
  858. X    rm -f [A-Z] [A-Z][A-Z] *.aux
  859. X
  860. XR:    ${XFONTDIR}/timR24.bdf
  861. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  862. XI:    ${XFONTDIR}/timI24.bdf
  863. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  864. XB:    ${XFONTDIR}/timB24.bdf
  865. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  866. XBI:    ${XFONTDIR}/timBI24.bdf
  867. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  868. XS:    ${XFONTDIR}/symb24.bdf
  869. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  870. XC:    ${XFONTDIR}/courR24.bdf
  871. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  872. XCB:    ${XFONTDIR}/courB24.bdf
  873. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  874. XCD:    ${XFONTDIR}/courBO24.bdf
  875. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  876. XCO:    ${XFONTDIR}/courO24.bdf
  877. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  878. XH:    ${XFONTDIR}/helvR24.bdf
  879. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  880. XHB:    ${XFONTDIR}/helvB24.bdf
  881. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  882. XHD:    ${XFONTDIR}/helvBO24.bdf
  883. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  884. XHO:    ${XFONTDIR}/helvO24.bdf
  885. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  886. XN:    ${XFONTDIR}/ncenR24.bdf
  887. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  888. XNB:    ${XFONTDIR}/ncenB24.bdf
  889. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  890. XND:    ${XFONTDIR}/ncenBI24.bdf
  891. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  892. XNI:    ${XFONTDIR}/ncenI24.bdf
  893. X    awk -f ${XFONTDIR}/adobe.awk $? | awk -f bdfdit.awk ; cat ${TEMPFILES} > $@; mv temp.aux $@.aux; rm ${TEMPFILES}
  894. END_OF_FILE
  895. if test 3557 -ne `wc -c <'xtroff/devpsc/Imakefile'`; then
  896.     echo shar: \"'xtroff/devpsc/Imakefile'\" unpacked with wrong size!
  897. fi
  898. # end of 'xtroff/devpsc/Imakefile'
  899. fi
  900. if test -f 'xtroff/devpsc/R' -a "${1}" != "-c" ; then 
  901.   echo shar: Will not clobber existing file \"'xtroff/devpsc/R'\"
  902. else
  903. echo shar: Extracting \"'xtroff/devpsc/R'\" \(4563 characters\)
  904. sed "s/^X//" >'xtroff/devpsc/R' <<'END_OF_FILE'
  905. X# STARTFONT 2.1
  906. X# 
  907. X#  Copyright 1984, 1987 Adobe Systems, Inc.
  908. X#  Portions Copyright 1988 Digital Equipment Corporation
  909. X#  Times is a registered trademark of Linotype.
  910. X# 
  911. X#  Permission to use, copy, modify, and distribute this software and
  912. X#  its documentation for any purpose and without fee is hereby granted,
  913. X#  provided that the above copyright notices appear in all copies and
  914. X#  that both those copyright notices and this permission notice appear
  915. X#  in supporting documentation, and that the names of Adobe Systems and
  916. X#  Digital Equipment Corporation not be used in advertising or
  917. X#  publicity pertaining to distribution of the software without
  918. X#  specific, written prior permission. Adobe Systems and Digital
  919. X#  Equipment Corporation make no representations about the suitability
  920. X#  of this software for any purpose. It is provided "as is" without
  921. X#  express or implied warranty.
  922. X# 
  923. X#  ADOBE SYSTEMS AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL
  924. X#  WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
  925. X#  WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ADOBE
  926. X#  SYSTEMS AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY SPECIAL,
  927. X#  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
  928. X#  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
  929. X#  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  930. X#  CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  931. X# 
  932. X# 
  933. X#  FONT -Adobe-Times-Medium-R-Normal--24-240-75-75-P-124-ISO8859-1
  934. X#  devpsc.R.24.75
  935. Xname R
  936. Xligatures fl fi 0
  937. Xspacewidth 50
  938. Xcharset
  939. X\|    33 0 000    1/6 em space
  940. X\^    17 0 000    1/12 em space
  941. X\&    00 0 000    no space
  942. X!    67 2 041    exclam
  943. X"    82 2 042    quotedbl
  944. X#    100 2 043    numbersign
  945. X$    100 3 044    dollar
  946. X%    167 2 045    percent
  947. X&    156 2 046    ampersand
  948. X'    67 2 047    quoteright
  949. X(    67 3 050    parenleft
  950. X)    67 3 051    parenright
  951. X*    100 2 052    asterisk
  952. X+    113 0 053    plus
  953. X,    50 1 054    comma
  954. X.    50 0 056    period
  955. X/    56 3 057    slash
  956. Xsl    "
  957. X0    100 2 060    zero
  958. X1    100 2 061    one
  959. X2    100 2 062    two
  960. X3    100 2 063    three
  961. X4    100 2 064    four
  962. X5    100 2 065    five
  963. X6    100 2 066    six
  964. X7    100 2 067    seven
  965. X8    100 2 070    eight
  966. X9    100 2 071    nine
  967. X:    56 0 072    colon
  968. X;    56 1 073    semicolon
  969. X<    113 0 074    less
  970. X=    113 0 075    equal
  971. X>    113 0 076    greater
  972. X?    89 2 077    question
  973. X@    184 3 0100    at
  974. XA    144 2 0101    A
  975. XB    133 2 0102    B
  976. XC    133 2 0103    C
  977. XD    144 2 0104    D
  978. XE    122 2 0105    E
  979. XF    111 2 0106    F
  980. XG    144 2 0107    G
  981. XH    144 2 0110    H
  982. XI    67 2 0111    I
  983. XJ    78 2 0112    J
  984. XK    144 2 0113    K
  985. XL    122 2 0114    L
  986. XM    178 2 0115    M
  987. XN    144 2 0116    N
  988. XO    144 2 0117    O
  989. XP    111 2 0120    P
  990. XQ    144 3 0121    Q
  991. XR    133 2 0122    R
  992. XS    111 2 0123    S
  993. XT    122 2 0124    T
  994. XU    144 2 0125    U
  995. XV    144 2 0126    V
  996. XW    189 2 0127    W
  997. XX    144 2 0130    X
  998. XY    144 2 0131    Y
  999. XZ    122 2 0132    Z
  1000. X[    67 3 0133    bracketleft
  1001. X\    56 2 0134    backslash
  1002. X]    67 3 0135    bracketright
  1003. Xa^    94 2 0136    asciicircum
  1004. X_    100 1 0137    underscore
  1005. Xul    "
  1006. X\_    "
  1007. X`    67 2 0140    quoteleft
  1008. Xa    89 0 0141    a
  1009. Xb    100 2 0142    b
  1010. Xc    89 0 0143    c
  1011. Xd    100 2 0144    d
  1012. Xe    89 0 0145    e
  1013. Xf    67 2 0146    f
  1014. Xg    100 1 0147    g
  1015. Xh    100 2 0150    h
  1016. Xi    56 2 0151    i
  1017. Xj    56 3 0152    j
  1018. Xk    100 2 0153    k
  1019. Xl    56 2 0154    l
  1020. Xm    156 0 0155    m
  1021. Xn    100 0 0156    n
  1022. Xo    100 0 0157    o
  1023. Xp    100 1 0160    p
  1024. Xq    100 1 0161    q
  1025. Xr    67 0 0162    r
  1026. Xs    78 0 0163    s
  1027. Xt    56 2 0164    t
  1028. Xu    100 0 0165    u
  1029. Xv    100 0 0166    v
  1030. Xw    144 0 0167    w
  1031. Xx    100 0 0170    x
  1032. Xy    100 1 0171    y
  1033. Xz    89 0 0172    z
  1034. X{    96 3 0173    braceleft
  1035. X|    40 2 0174    bar
  1036. Xor    "
  1037. X}    96 3 0175    braceright
  1038. Xa~    108 0 0176    asciitilde
  1039. X!!    67 1 0241    exclamdown
  1040. XI!    "
  1041. Xct    100 3 0242    cent
  1042. Xps    100 2 0243    sterling
  1043. Xpo    "
  1044. Xyi    100 2 0245    yen
  1045. Xyn    "
  1046. X$J    "
  1047. Xsc    100 3 0247    section
  1048. Xum    67 2 0310    dieresis
  1049. X..    "
  1050. Xd<    100 0 0253    guillemotleft
  1051. X-    67 0 055    hyphen
  1052. Xhy    "
  1053. Xmc    67 2 0305    macron
  1054. Xma    "
  1055. Xaa    67 2 0302    acute
  1056. X\'    "
  1057. Xpp    91 3 0266    paragraph
  1058. Xcd    67 1 0313    cedilla
  1059. Xd>    100 0 0273    guillemotright
  1060. X14    150 2 0201    onequarter
  1061. X12    150 2 0202    onehalf
  1062. X34    150 2 0203    threequarters
  1063. X??    89 1 0277    questiondown
  1064. XI?    "
  1065. XAE    178 2 0341    AE
  1066. XO/    144 3 0351    Oslash
  1067. Xss    100 2 0373    germandbls
  1068. Xae    133 0 0361    ae
  1069. Xo/    100 3 0371    oslash
  1070. Xoe    144 0 0372    oe
  1071. XPl    56 2 0370    lslash
  1072. Xui    56 0 0365    dotlessi
  1073. XOE    178 2 0352    OE
  1074. XPL    122 2 0350    Lslash
  1075. Xem    200 0 0320    emdash
  1076. Xhc    67 2 0317    caron
  1077. Xog    67 1 0316    ogonek
  1078. X''    67 2 0315    hungarumlaut
  1079. Xri    67 2 0312    ring
  1080. Xdt    67 2 0307    dotaccent
  1081. Xbe    67 2 0306    breve
  1082. X~    67 2 0304    tilde
  1083. X^    67 2 0303    circumflex
  1084. Xga    67 2 0301    grave
  1085. X\`    "
  1086. Xpm    200 2 0275    perthousand
  1087. Xrq    89 2 0272    quotedblright
  1088. Xcq    "
  1089. Xbq    89 1 0271    quotedblbase
  1090. Xbu    70 0 0267    bullet
  1091. Xdd    100 3 0263    daggerdbl
  1092. Xdg    100 3 0262    dagger
  1093. Xen    100 0 0261    endash
  1094. Xfl    111 2 0257    fl
  1095. Xfi    111 2 0256    fi
  1096. Xr>    67 0 0255    guilsinglright
  1097. Xl<    67 0 0254    guilsinglleft
  1098. Xlq    89 2 0252    quotedblleft
  1099. Xoq    "
  1100. Xn'    36 2 0251    quotesingle
  1101. X$D    100 3 0246    florin
  1102. X13    167 0 0210    fudgedproc!
  1103. X23    167 0 0211    fudgedproc!
  1104. X18    167 0 0204    fudgedproc!
  1105. X38    167 0 0205    fudgedproc!
  1106. X58    167 0 0206    fudgedproc!
  1107. X78    167 0 0207    fudgedproc!
  1108. END_OF_FILE
  1109. if test 4563 -ne `wc -c <'xtroff/devpsc/R'`; then
  1110.     echo shar: \"'xtroff/devpsc/R'\" unpacked with wrong size!
  1111. fi
  1112. # end of 'xtroff/devpsc/R'
  1113. fi
  1114. if test -f 'xtroff/fontstuff/MakeSunFonts' -a "${1}" != "-c" ; then 
  1115.   echo shar: Will not clobber existing file \"'xtroff/fontstuff/MakeSunFonts'\"
  1116. else
  1117. echo shar: Extracting \"'xtroff/fontstuff/MakeSunFonts'\" \(3899 characters\)
  1118. sed "s/^X//" >'xtroff/fontstuff/MakeSunFonts' <<'END_OF_FILE'
  1119. X#!/bin/sh
  1120. X#
  1121. X#    This file can be used to make all the reduced fonts needed
  1122. X#    by SunTroff.  The VFONTS variable points to the location of
  1123. X#    the Versatec fonts provided by Sun.  Finally the SUNTROFF_FONTS
  1124. X#    variable points to the final location of the reduced fonts.
  1125. X#    Usage: MakeSunFonts VfontDir SuntroffFontDir Percent Xwin FontCompiler
  1126. X#
  1127. XVFONTS=${1-/usr/lib/vfont}
  1128. XSUNTROFF_FONTS=${2-/usr/local/lib/suntroff/devsun}
  1129. X#
  1130. X#    The "correct" percentage is 66% (120/200) but if you are trying
  1131. X#    to simulate unknown typesetters then it is better to use fonts
  1132. X#    too small in case the other typesetter has narrow spacing.  This
  1133. X#    way the characters might be small but there shouldn't be too
  1134. X#    much overlap on the screen.
  1135. X#    
  1136. X#    Because of scalech this number must be a TWO digit percentage!!
  1137. X#
  1138. XPERCENT=${3-50}
  1139. Xdpi=120
  1140. X
  1141. XXWIN=${4}
  1142. Xif test x$XWIN != x ; then
  1143. X    if test $XWIN != suntroff ; then
  1144. X        XWIN=x
  1145. X        FC=${5-bdftosnf}
  1146. X        extension='.snf'
  1147. X    else
  1148. X        XWIN=
  1149. X        FC=
  1150. X        extension=
  1151. X    fi
  1152. Xfi
  1153. XDEVICE=${6-devsun}
  1154. X
  1155. X#    If you don't have the current directory in your path (.) then
  1156. X#    you will need to change the BIN_DIR variable to point to the
  1157. X#    location of this directory.  Many thanks to Len at Sentry for
  1158. X#    pointing this potential problem out.
  1159. X#
  1160. XBIN_DIR=.
  1161. X
  1162. X#    You might want to change this next variable to "ln -s" so
  1163. X#    that fonts are linked instead of copying.  Copying is the
  1164. X#    safest thing to do since there really isn't a need to keep
  1165. X#    /usr/lib/vfont on all your servers.  Many thanks to Len at 
  1166. X#    Sentry for pointing this one out.
  1167. X#
  1168. XCOPY_COMMAND=cp
  1169. XTEMP=/tmp/sunfont
  1170. XTEMP2=/tmp/sunfont2
  1171. X
  1172. Xif [ ! -d $SUNTROFF_FONTS ]
  1173. Xthen
  1174. X    mkdir $SUNTROFF_FONTS
  1175. Xelse
  1176. X    echo Font Directory already in place.
  1177. Xfi
  1178. X
  1179. X
  1180. X#
  1181. X#    Now create those fonts that we can make by renaming.....
  1182. X#
  1183. X
  1184. Xfor i in `cd $VFONTS;echo [a-zA-Z].[0-9] [a-zA-Z].[0-9][0-9] \
  1185. X              [a-zA-Z][a-zA-Z].[0-9] [a-zA-Z][a-zA-Z].[0-9][0-9]`
  1186. Xdo
  1187. X    if [ -r $VFONTS/$i ]
  1188. X    then
  1189. X        Size=`echo $i | sed "s/.*\.//"`
  1190. X        Font=`echo $i | sed "s/\..*//"`
  1191. X        NewSize=`expr $Size \* 100 / $PERCENT`
  1192. X        if test x$XWIN != x ; then
  1193. X            fname=`echo $Font | tr A-Z a-z`
  1194. X            fontname=$DEVICE.$fname.$NewSize.$dpi
  1195. X            fname=$fname$NewSize$extension
  1196. X        else
  1197. X            fname=$Font.$NewSize
  1198. X        fi
  1199. X        if [ ! -r $SUNTROFF_FONTS/$fname ]
  1200. X        then
  1201. X            echo 'converting ' $VFONTS/$i ' to ' \
  1202. X                $SUNTROFF_FONTS/$fname
  1203. X            if [ x$XWIN = x ] ; then 
  1204. X                $COPY_COMMAND $VFONTS/$i \
  1205. X                          $SUNTROFF_FONTS/$fname
  1206. X            else
  1207. X                $BIN_DIR/vf2bdf $VFONTS/$i $NewSize | \
  1208. X                sed 's?^FONT .*$?FONT '$fontname'?' | \
  1209. X                $FC > $SUNTROFF_FONTS/$fname
  1210. X            fi
  1211. X        fi
  1212. X    fi
  1213. Xdone
  1214. X
  1215. X
  1216. X#
  1217. X#    Now create the fonts that we need to make by bit reduction.
  1218. X#    First check to see if we have a font "close enough".  Close
  1219. X#    enough is defined here to be within one point size.
  1220. X#
  1221. Xfor i in `cd $VFONTS;echo [a-zA-Z].[0-9] [a-zA-Z].[0-9][0-9] \
  1222. X              [a-zA-Z][a-zA-Z].[0-9] [a-zA-Z][a-zA-Z].[0-9][0-9]`
  1223. Xdo
  1224. X    if [ -r $VFONTS/$i ]
  1225. X    then
  1226. X        Size=`echo $i | sed "s/.*\.//"`
  1227. X        Font=`echo $i | sed "s/\..*//"`
  1228. X        if [ x$XWIN = x ]
  1229. X        then
  1230. X            f1=$SUNTROFF_FONTS/$Font.`expr $Size - 1`
  1231. X            f2=$SUNTROFF_FONTS/$Font.`expr $Size`
  1232. X            f3=$SUNTROFF_FONTS/$Font.`expr $Size + 1`
  1233. X            fname=$Font.$Size
  1234. X        else
  1235. X            Font=`echo $Font | tr A-Z a-z`
  1236. X            f1=$SUNTROFF_FONTS/$Font`expr $Size - 1`$extension
  1237. X            f2=$SUNTROFF_FONTS/$Font`expr $Size`$extension
  1238. X            f3=$SUNTROFF_FONTS/$Font`expr $Size + 1`$extension
  1239. X            fontname=$DEVICE.$Font.$Size.$dpi
  1240. X            fname=$Font$Size$extension
  1241. X        fi
  1242. X
  1243. X        if [ -r $f1 -o -r $f2 -o -r $f3 ]
  1244. X        then
  1245. X            true
  1246. X        else
  1247. X            echo scaling and converting $VFONTS/$i to \
  1248. X                $SUNTROFF_FONTS/$fname
  1249. X            $BIN_DIR/vft2ch $VFONTS/$i > $TEMP
  1250. X            $BIN_DIR/scalech -s$PERCENT  $TEMP > $TEMP2
  1251. X            if test x$XWIN = x ; then
  1252. X                $BIN_DIR/ch2vft $TEMP2 > $SUNTROFF_FONTS/$i
  1253. X            else
  1254. X                $BIN_DIR/ch2vft $TEMP2 > $TEMP
  1255. X                $BIN_DIR/vf2bdf $TEMP $Size |
  1256. X                sed 's?^FONT .*$?FONT '$fontname'?' | \
  1257. X                $FC > $SUNTROFF_FONTS/$fname
  1258. X            fi
  1259. X        fi
  1260. X    fi
  1261. Xdone
  1262. Xif [ x$XWIN != x ]; then
  1263. X    mkfontdir $SUNTROFF_FONTS
  1264. Xfi
  1265. END_OF_FILE
  1266. if test 3899 -ne `wc -c <'xtroff/fontstuff/MakeSunFonts'`; then
  1267.     echo shar: \"'xtroff/fontstuff/MakeSunFonts'\" unpacked with wrong size!
  1268. fi
  1269. chmod +x 'xtroff/fontstuff/MakeSunFonts'
  1270. # end of 'xtroff/fontstuff/MakeSunFonts'
  1271. fi
  1272. if test -f 'xtroff/fontstuff/vf2bdf.c' -a "${1}" != "-c" ; then 
  1273.   echo shar: Will not clobber existing file \"'xtroff/fontstuff/vf2bdf.c'\"
  1274. else
  1275. echo shar: Extracting \"'xtroff/fontstuff/vf2bdf.c'\" \(3869 characters\)
  1276. sed "s/^X//" >'xtroff/fontstuff/vf2bdf.c' <<'END_OF_FILE'
  1277. X#include    <stdio.h>
  1278. X#include    <vfont.h>
  1279. X#include    <sys/types.h>
  1280. X
  1281. X#ifndef VFONT_MAGIC
  1282. X#define    VFONT_MAGIC    0436
  1283. X#endif
  1284. X#ifndef NUM_DISPATCH
  1285. X#define    NUM_DISPATCH    256
  1286. X#endif
  1287. X
  1288. X#define        RESOLUTION    72
  1289. X
  1290. X/*
  1291. X**    Convert vfont to bdf font, reads specified file name and prints bdf
  1292. X**    on stdout.
  1293. X*/
  1294. X
  1295. Xfatal(msg)
  1296. X{
  1297. X    fprintf(stderr, "%s\n", msg);
  1298. X    exit(1);
  1299. X}
  1300. X
  1301. Xmain(argc, argv)
  1302. X    int        argc;
  1303. X    char        *argv[];
  1304. X{
  1305. X    register int    i, nchars;
  1306. X    register u_char    *glyphs;
  1307. X    register int    maxleft, maxright, maxup, maxdown;
  1308. X    int        ps;
  1309. X    struct header    h;
  1310. X    struct dispatch    d[NUM_DISPATCH], *pd;
  1311. X
  1312. X    if (argc < 3)
  1313. X        fatal("Usage: vf2bdf vfontfile pointsize");
  1314. X
  1315. X    if (freopen(argv[1], "r", stdin) == NULL)
  1316. X        fatal("Cannot open vfontfile");
  1317. X
  1318. X    if ((ps = atoi(argv[2])) <= 0)
  1319. X        ps = 10;
  1320. X
  1321. X    if (fread(&h, sizeof(h), 1, stdin) != 1)
  1322. X        fatal("Can't read header");
  1323. X
  1324. X    if (h.magic != VFONT_MAGIC)
  1325. X        fatal("Not vfont file, wrong magic number");
  1326. X
  1327. X    if (fread(d, sizeof(d[0]), NUM_DISPATCH, stdin) != NUM_DISPATCH)
  1328. X        fatal("Can't read dispatch structures");
  1329. X
  1330. X    if ((glyphs = (u_char *)malloc(h.size)) == NULL)
  1331. X        fatal("Can't get memory for bitmaps");
  1332. X
  1333. X    if (fread(glyphs, sizeof(u_char), h.size, stdin) != h.size)
  1334. X        fatal("Short read on bitmaps");
  1335. X
  1336. X/*
  1337. X**    Count number of characters and find maximum ascent and minimun descent
  1338. X*/
  1339. X    maxleft = -1000;
  1340. X    maxright = -1000;
  1341. X    maxup = -1000;
  1342. X    maxdown = -1000;
  1343. X    nchars = 0;
  1344. X    for (i = 0; i < NUM_DISPATCH; ++i)
  1345. X    {
  1346. X
  1347. X        if (d[i].nbytes <= 0)
  1348. X            continue;
  1349. X        ++nchars;
  1350. X        pd = &d[i];
  1351. X        if (pd->left > maxleft)
  1352. X            maxleft = pd->left;
  1353. X        if (pd->right > maxright)
  1354. X            maxright = pd->right;
  1355. X        if (pd->up > maxup)
  1356. X            maxup = pd->up;
  1357. X        if (pd->down > maxdown)
  1358. X            maxdown = pd->down;
  1359. X    }
  1360. X
  1361. X    printf("STARTFONT 2.1\n");
  1362. X    printf("FONT %s\n", argv[1]);
  1363. X    printf("SIZE %d %d %d\n", ps, RESOLUTION, RESOLUTION);
  1364. X    /* not sure if maxx and maxy are correct here */
  1365. X    /* they're not!! (DAC)*/
  1366. X    printf("FONTBOUNDINGBOX %d %d %d %d\n", maxleft+maxright,
  1367. X           maxup+maxdown, -maxleft, -maxdown);
  1368. X    printf("STARTPROPERTIES 4\n");
  1369. X    printf("FONT_ASCENT %d\n", maxup);
  1370. X    printf("FONT_DESCENT %d\n", maxdown);
  1371. X    printf("DEFAULT_CHAR 32\n");
  1372. X    printf("COPYRIGHT \"Derived from a vfont\"\n");
  1373. X    printf("ENDPROPERTIES\n");
  1374. X    printf("CHARS %d\n", nchars);
  1375. X
  1376. X    for (i = 0; i < NUM_DISPATCH; ++i)
  1377. X    {
  1378. X        register int    j, k;
  1379. X        register u_char    *p;
  1380. X        int nb, nba;
  1381. X
  1382. X        pd = &d[i];
  1383. X        if (pd->nbytes <= 0)
  1384. X            continue;
  1385. X        printf("STARTCHAR H%02x\n", i);
  1386. X        
  1387. X        if (pd->left + pd->right == 0)    /* zero width character */
  1388. X        {
  1389. X            printf("ENCODING -1\n");
  1390. X            printf("ENDCHAR\n");
  1391. X            continue;
  1392. X        }
  1393. X        
  1394. X        printf("ENCODING %d\n", i);
  1395. X
  1396. X        /*
  1397. X         **    Don't think bdf to snf cares about SWIDTH actually
  1398. X         */
  1399. X        j = pd->width * 72000 / (ps * RESOLUTION);
  1400. X        printf("SWIDTH %d 0\n", j);
  1401. X        printf("DWIDTH %d 0\n", pd->width);
  1402. X
  1403. X        p = glyphs + pd->addr;
  1404. X        nb = (pd->left + pd->right + 7) / 8;
  1405. X
  1406. X        /*
  1407. X         *  suppress trailing zeros
  1408. X         */
  1409. X        for (j = pd->up + pd->down; --j >= 0; )
  1410. X        {
  1411. X            for (k = 0; k < nb; k++) {
  1412. X                if (p[j*nb + k] != 0)
  1413. X                    break;
  1414. X            }
  1415. X            if (k == nb)
  1416. X                (pd->down)--;
  1417. X            else
  1418. X                break;
  1419. X        }
  1420. X
  1421. X        /*
  1422. X         *  suppress leading zeros
  1423. X         */
  1424. X        while (pd->up + pd->down)
  1425. X        {
  1426. X            for (k = 0; k < nb; k++) {
  1427. X                if (p[k] != 0)
  1428. X                    break;
  1429. X            }
  1430. X            if (k == nb) {
  1431. X                (pd->up)--;
  1432. X                p += nb;
  1433. X            } else
  1434. X                break;
  1435. X        }
  1436. X
  1437. X        /*
  1438. X         *  suppress trailing bytes
  1439. X         */
  1440. X        for (k = nb; --k >= 0; ) {
  1441. X            int bits = 0;
  1442. X
  1443. X            for (j = 0; j < pd->up + pd->down; j++)
  1444. X                bits |= p[j*nb + k];
  1445. X            if (bits != 0) {
  1446. X                nba = k + 1;
  1447. X                for (j = 7; j > 0; j--) {
  1448. X                    if (bits & (0x80 >> j))
  1449. X                        break;
  1450. X                }
  1451. X                pd->right = 8*k + j + 1 - pd->left;
  1452. X                break;
  1453. X            }
  1454. X        }
  1455. X        printf("BBX %d %d %d %d\n",
  1456. X            pd->left + pd->right,
  1457. X            pd->up + pd->down,
  1458. X            -pd->left,
  1459. X            -pd->down);
  1460. X        printf("BITMAP\n");
  1461. X        for (j = 0; j < pd->up + pd->down; ++j)
  1462. X        {
  1463. X            for (k = 0; k < nba; ++k)
  1464. X                printf("%02X", p[j*nb + k]);
  1465. X            printf("\n");
  1466. X        }
  1467. X        printf("ENDCHAR\n");
  1468. X    }
  1469. X
  1470. X    printf("ENDFONT\n");
  1471. X
  1472. X    exit(0);
  1473. X}
  1474. END_OF_FILE
  1475. if test 3869 -ne `wc -c <'xtroff/fontstuff/vf2bdf.c'`; then
  1476.     echo shar: \"'xtroff/fontstuff/vf2bdf.c'\" unpacked with wrong size!
  1477. fi
  1478. # end of 'xtroff/fontstuff/vf2bdf.c'
  1479. fi
  1480. if test -f 'xtroff/xfonts/Imakefile' -a "${1}" != "-c" ; then 
  1481.   echo shar: Will not clobber existing file \"'xtroff/xfonts/Imakefile'\"
  1482. else
  1483. echo shar: Extracting \"'xtroff/xfonts/Imakefile'\" \(3860 characters\)
  1484. sed "s/^X//" >'xtroff/xfonts/Imakefile' <<'END_OF_FILE'
  1485. XSRCS = \
  1486. X    charB08.bdf charB10.bdf charB12.bdf \
  1487. X    charB14.bdf charB18.bdf charB24.bdf \
  1488. X    charBI08.bdf charBI10.bdf charBI12.bdf \
  1489. X    charBI14.bdf charBI18.bdf charBI24.bdf \
  1490. X    charI08.bdf charI10.bdf charI12.bdf \
  1491. X    charI14.bdf charI18.bdf charI24.bdf \
  1492. X    charR08.bdf charR10.bdf charR12.bdf \
  1493. X    charR14.bdf charR18.bdf charR24.bdf \
  1494. X    courB08.bdf courB10.bdf courB12.bdf \
  1495. X    courB14.bdf courB18.bdf courB24.bdf \
  1496. X    courBO08.bdf courBO10.bdf courBO12.bdf \
  1497. X    courBO14.bdf courBO18.bdf courBO24.bdf \
  1498. X    courO08.bdf courO10.bdf courO12.bdf \
  1499. X    courO14.bdf courO18.bdf courO24.bdf \
  1500. X    courR08.bdf courR10.bdf courR12.bdf \
  1501. X    courR14.bdf courR18.bdf courR24.bdf \
  1502. X    helvB08.bdf helvB10.bdf helvB12.bdf \
  1503. X    helvB14.bdf helvB18.bdf helvB24.bdf \
  1504. X    helvBO08.bdf helvBO10.bdf helvBO12.bdf \
  1505. X    helvBO14.bdf helvBO18.bdf helvBO24.bdf \
  1506. X    helvO08.bdf helvO10.bdf helvO12.bdf \
  1507. X    helvO14.bdf helvO18.bdf helvO24.bdf \
  1508. X    helvR08.bdf helvR10.bdf helvR12.bdf \
  1509. X    helvR14.bdf helvR18.bdf helvR24.bdf \
  1510. X    ncenB08.bdf ncenB10.bdf ncenB12.bdf \
  1511. X    ncenB14.bdf ncenB18.bdf ncenB24.bdf \
  1512. X    ncenBI08.bdf ncenBI10.bdf ncenBI12.bdf \
  1513. X    ncenBI14.bdf ncenBI18.bdf ncenBI24.bdf \
  1514. X    ncenI08.bdf ncenI10.bdf ncenI12.bdf \
  1515. X    ncenI14.bdf ncenI18.bdf ncenI24.bdf \
  1516. X    ncenR08.bdf ncenR10.bdf ncenR12.bdf \
  1517. X    ncenR14.bdf ncenR18.bdf ncenR24.bdf \
  1518. X    symb08.bdf symb10.bdf symb12.bdf \
  1519. X    symb14.bdf symb18.bdf symb24.bdf \
  1520. X    timB08.bdf timB10.bdf timB12.bdf \
  1521. X    timB14.bdf timB18.bdf timB24.bdf \
  1522. X    timBI08.bdf timBI10.bdf timBI12.bdf \
  1523. X    timBI14.bdf timBI18.bdf timBI24.bdf \
  1524. X    timI08.bdf timI10.bdf timI12.bdf \
  1525. X    timI14.bdf timI18.bdf timI24.bdf \
  1526. X    timR08.bdf timR10.bdf timR12.bdf \
  1527. X    timR14.bdf timR18.bdf timR24.bdf
  1528. X
  1529. X
  1530. XOBJS = \
  1531. X    courB08.t.snf.Z courB10.t.snf.Z courB12.t.snf.Z \
  1532. X    courB14.t.snf.Z courB18.t.snf.Z courB24.t.snf.Z \
  1533. X    courBO08.t.snf.Z courBO10.t.snf.Z courBO12.t.snf.Z \
  1534. X    courBO14.t.snf.Z courBO18.t.snf.Z courBO24.t.snf.Z \
  1535. X    courO08.t.snf.Z courO10.t.snf.Z courO12.t.snf.Z \
  1536. X    courO14.t.snf.Z courO18.t.snf.Z courO24.t.snf.Z \
  1537. X    courR08.t.snf.Z courR10.t.snf.Z courR12.t.snf.Z \
  1538. X    courR14.t.snf.Z courR18.t.snf.Z courR24.t.snf.Z \
  1539. X    helvB08.t.snf.Z helvB10.t.snf.Z helvB12.t.snf.Z \
  1540. X    helvB14.t.snf.Z helvB18.t.snf.Z helvB24.t.snf.Z \
  1541. X    helvBO08.t.snf.Z helvBO10.t.snf.Z helvBO12.t.snf.Z \
  1542. X    helvBO14.t.snf.Z helvBO18.t.snf.Z helvBO24.t.snf.Z \
  1543. X    helvO08.t.snf.Z helvO10.t.snf.Z helvO12.t.snf.Z \
  1544. X    helvO14.t.snf.Z helvO18.t.snf.Z helvO24.t.snf.Z \
  1545. X    helvR08.t.snf.Z helvR10.t.snf.Z helvR12.t.snf.Z \
  1546. X    helvR14.t.snf.Z helvR18.t.snf.Z helvR24.t.snf.Z \
  1547. X    ncenB08.t.snf.Z ncenB10.t.snf.Z ncenB12.t.snf.Z \
  1548. X    ncenB14.t.snf.Z ncenB18.t.snf.Z ncenB24.t.snf.Z \
  1549. X    ncenBI08.t.snf.Z ncenBI10.t.snf.Z ncenBI12.t.snf.Z \
  1550. X    ncenBI14.t.snf.Z ncenBI18.t.snf.Z ncenBI24.t.snf.Z \
  1551. X    ncenI08.t.snf.Z ncenI10.t.snf.Z ncenI12.t.snf.Z \
  1552. X    ncenI14.t.snf.Z ncenI18.t.snf.Z ncenI24.t.snf.Z \
  1553. X    ncenR08.t.snf.Z ncenR10.t.snf.Z ncenR12.t.snf.Z \
  1554. X    ncenR14.t.snf.Z ncenR18.t.snf.Z ncenR24.t.snf.Z \
  1555. X    symb08.t.snf.Z symb10.t.snf.Z symb12.t.snf.Z \
  1556. X    symb14.t.snf.Z symb18.t.snf.Z symb24.t.snf.Z \
  1557. X    timB08.t.snf.Z timB10.t.snf.Z timB12.t.snf.Z \
  1558. X    timB14.t.snf.Z timB18.t.snf.Z timB24.t.snf.Z \
  1559. X    timBI08.t.snf.Z timBI10.t.snf.Z timBI12.t.snf.Z \
  1560. X    timBI14.t.snf.Z timBI18.t.snf.Z timBI24.t.snf.Z \
  1561. X    timI08.t.snf.Z timI10.t.snf.Z timI12.t.snf.Z \
  1562. X    timI14.t.snf.Z timI18.t.snf.Z timI24.t.snf.Z \
  1563. X    timR08.t.snf.Z timR10.t.snf.Z timR12.t.snf.Z \
  1564. X    timR14.t.snf.Z timR18.t.snf.Z timR24.t.snf.Z
  1565. X
  1566. XFONTINSTDIR = $(FONTDIR)/xtroff
  1567. X
  1568. Xall: $(SRCS) $(OBJS)
  1569. X
  1570. X$(SRCS):
  1571. X    rm -f $@
  1572. X    $(LN) $(FONTSRC)/bdf/75dpi/$@
  1573. X
  1574. Xclean::
  1575. X    rm -f *.snf.Z *.bdf
  1576. X
  1577. Xfonts.dir: $(OBJS)
  1578. X    rm -f *.bdf
  1579. X    $(MKFONTDIR) .
  1580. X
  1581. XMakeDirectories(install, $(FONTINSTDIR))
  1582. XInstallFonts($(FONTINSTDIR))
  1583. X
  1584. X.SUFFIXES: .bdf .snf.Z .t.snf.Z
  1585. X
  1586. X.bdf.snf.Z:
  1587. X    rm -f $*.snf $*.snf.Z
  1588. X    bdftosnf $< > $*.snf
  1589. X    compress $*.snf
  1590. X
  1591. X.bdf.t.snf.Z:
  1592. X    rm -f $*.t.snf $*.t.snf.Z
  1593. X    awk -f adobe.awk $< | bdftosnf > $*.t.snf
  1594. X    compress $*.t.snf
  1595. X
  1596. Xdepend::
  1597. END_OF_FILE
  1598. if test 3860 -ne `wc -c <'xtroff/xfonts/Imakefile'`; then
  1599.     echo shar: \"'xtroff/xfonts/Imakefile'\" unpacked with wrong size!
  1600. fi
  1601. # end of 'xtroff/xfonts/Imakefile'
  1602. fi
  1603. if test -f 'xtroff/xfonts/fonts.dir' -a "${1}" != "-c" ; then 
  1604.   echo shar: Will not clobber existing file \"'xtroff/xfonts/fonts.dir'\"
  1605. else
  1606. echo shar: Extracting \"'xtroff/xfonts/fonts.dir'\" \(3719 characters\)
  1607. sed "s/^X//" >'xtroff/xfonts/fonts.dir' <<'END_OF_FILE'
  1608. X102
  1609. XtimB10.t.snf.Z       devpsc.b.10.75
  1610. XtimB12.t.snf.Z       devpsc.b.12.75
  1611. XtimB14.t.snf.Z       devpsc.b.14.75
  1612. XtimB18.t.snf.Z       devpsc.b.18.75
  1613. XtimB24.t.snf.Z       devpsc.b.24.75
  1614. XtimB08.t.snf.Z       devpsc.b.8.75
  1615. XtimBI10.t.snf.Z      devpsc.bi.10.75
  1616. XtimBI12.t.snf.Z      devpsc.bi.12.75
  1617. XtimBI14.t.snf.Z      devpsc.bi.14.75
  1618. XtimBI18.t.snf.Z      devpsc.bi.18.75
  1619. XtimBI24.t.snf.Z      devpsc.bi.24.75
  1620. XtimBI08.t.snf.Z      devpsc.bi.8.75
  1621. XcourR10.t.snf.Z      devpsc.c.10.75
  1622. XcourR12.t.snf.Z      devpsc.c.12.75
  1623. XcourR14.t.snf.Z      devpsc.c.14.75
  1624. XcourR18.t.snf.Z      devpsc.c.18.75
  1625. XcourR24.t.snf.Z      devpsc.c.24.75
  1626. XcourR08.t.snf.Z      devpsc.c.8.75
  1627. XcourB10.t.snf.Z      devpsc.cb.10.75
  1628. XcourB12.t.snf.Z      devpsc.cb.12.75
  1629. XcourB14.t.snf.Z      devpsc.cb.14.75
  1630. XcourB18.t.snf.Z      devpsc.cb.18.75
  1631. XcourB24.t.snf.Z      devpsc.cb.24.75
  1632. XcourB08.t.snf.Z      devpsc.cb.8.75
  1633. XcourBO10.t.snf.Z     devpsc.cd.10.75
  1634. XcourBO12.t.snf.Z     devpsc.cd.12.75
  1635. XcourBO14.t.snf.Z     devpsc.cd.14.75
  1636. XcourBO18.t.snf.Z     devpsc.cd.18.75
  1637. XcourBO24.t.snf.Z     devpsc.cd.24.75
  1638. XcourBO08.t.snf.Z     devpsc.cd.8.75
  1639. XcourO10.t.snf.Z      devpsc.co.10.75
  1640. XcourO12.t.snf.Z      devpsc.co.12.75
  1641. XcourO14.t.snf.Z      devpsc.co.14.75
  1642. XcourO18.t.snf.Z      devpsc.co.18.75
  1643. XcourO24.t.snf.Z      devpsc.co.24.75
  1644. XcourO08.t.snf.Z      devpsc.co.8.75
  1645. XhelvR10.t.snf.Z      devpsc.h.10.75
  1646. XhelvR12.t.snf.Z      devpsc.h.12.75
  1647. XhelvR14.t.snf.Z      devpsc.h.14.75
  1648. XhelvR18.t.snf.Z      devpsc.h.18.75
  1649. XhelvR24.t.snf.Z      devpsc.h.24.75
  1650. XhelvR08.t.snf.Z      devpsc.h.8.75
  1651. XhelvB10.t.snf.Z      devpsc.hb.10.75
  1652. XhelvB12.t.snf.Z      devpsc.hb.12.75
  1653. XhelvB14.t.snf.Z      devpsc.hb.14.75
  1654. XhelvB18.t.snf.Z      devpsc.hb.18.75
  1655. XhelvB24.t.snf.Z      devpsc.hb.24.75
  1656. XhelvB08.t.snf.Z      devpsc.hb.8.75
  1657. XhelvBO10.t.snf.Z     devpsc.hd.10.75
  1658. XhelvBO12.t.snf.Z     devpsc.hd.12.75
  1659. XhelvBO14.t.snf.Z     devpsc.hd.14.75
  1660. XhelvBO18.t.snf.Z     devpsc.hd.18.75
  1661. XhelvBO24.t.snf.Z     devpsc.hd.24.75
  1662. XhelvBO08.t.snf.Z     devpsc.hd.8.75
  1663. XhelvO10.t.snf.Z      devpsc.ho.10.75
  1664. XhelvO12.t.snf.Z      devpsc.ho.12.75
  1665. XhelvO14.t.snf.Z      devpsc.ho.14.75
  1666. XhelvO18.t.snf.Z      devpsc.ho.18.75
  1667. XhelvO24.t.snf.Z      devpsc.ho.24.75
  1668. XhelvO08.t.snf.Z      devpsc.ho.8.75
  1669. XtimI10.t.snf.Z       devpsc.i.10.75
  1670. XtimI12.t.snf.Z       devpsc.i.12.75
  1671. XtimI14.t.snf.Z       devpsc.i.14.75
  1672. XtimI18.t.snf.Z       devpsc.i.18.75
  1673. XtimI24.t.snf.Z       devpsc.i.24.75
  1674. XtimI08.t.snf.Z       devpsc.i.8.75
  1675. XncenR10.t.snf.Z      devpsc.n.10.75
  1676. XncenR12.t.snf.Z      devpsc.n.12.75
  1677. XncenR14.t.snf.Z      devpsc.n.14.75
  1678. XncenR18.t.snf.Z      devpsc.n.18.75
  1679. XncenR24.t.snf.Z      devpsc.n.24.75
  1680. XncenR08.t.snf.Z      devpsc.n.8.75
  1681. XncenB10.t.snf.Z      devpsc.nb.10.75
  1682. XncenB12.t.snf.Z      devpsc.nb.12.75
  1683. XncenB14.t.snf.Z      devpsc.nb.14.75
  1684. XncenB18.t.snf.Z      devpsc.nb.18.75
  1685. XncenB24.t.snf.Z      devpsc.nb.24.75
  1686. XncenB08.t.snf.Z      devpsc.nb.8.75
  1687. XncenBI10.t.snf.Z     devpsc.nd.10.75
  1688. XncenBI12.t.snf.Z     devpsc.nd.12.75
  1689. XncenBI14.t.snf.Z     devpsc.nd.14.75
  1690. XncenBI18.t.snf.Z     devpsc.nd.18.75
  1691. XncenBI24.t.snf.Z     devpsc.nd.24.75
  1692. XncenBI08.t.snf.Z     devpsc.nd.8.75
  1693. XncenI10.t.snf.Z      devpsc.ni.10.75
  1694. XncenI12.t.snf.Z      devpsc.ni.12.75
  1695. XncenI14.t.snf.Z      devpsc.ni.14.75
  1696. XncenI18.t.snf.Z      devpsc.ni.18.75
  1697. XncenI24.t.snf.Z      devpsc.ni.24.75
  1698. XncenI08.t.snf.Z      devpsc.ni.8.75
  1699. XtimR10.t.snf.Z       devpsc.r.10.75
  1700. XtimR12.t.snf.Z       devpsc.r.12.75
  1701. XtimR14.t.snf.Z       devpsc.r.14.75
  1702. XtimR18.t.snf.Z       devpsc.r.18.75
  1703. XtimR24.t.snf.Z       devpsc.r.24.75
  1704. XtimR08.t.snf.Z       devpsc.r.8.75
  1705. Xsymb10.t.snf.Z       devpsc.s.10.75
  1706. Xsymb12.t.snf.Z       devpsc.s.12.75
  1707. Xsymb14.t.snf.Z       devpsc.s.14.75
  1708. Xsymb18.t.snf.Z       devpsc.s.18.75
  1709. Xsymb24.t.snf.Z       devpsc.s.24.75
  1710. Xsymb08.t.snf.Z       devpsc.s.8.75
  1711. END_OF_FILE
  1712. if test 3719 -ne `wc -c <'xtroff/xfonts/fonts.dir'`; then
  1713.     echo shar: \"'xtroff/xfonts/fonts.dir'\" unpacked with wrong size!
  1714. fi
  1715. # end of 'xtroff/xfonts/fonts.dir'
  1716. fi
  1717. echo shar: End of archive 5 \(of 18\).
  1718. cp /dev/null ark5isdone
  1719. MISSING=""
  1720. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ; do
  1721.     if test ! -f ark${I}isdone ; then
  1722.     MISSING="${MISSING} ${I}"
  1723.     fi
  1724. done
  1725. if test "${MISSING}" = "" ; then
  1726.     echo You have unpacked all 18 archives.
  1727.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1728. else
  1729.     echo You still need to unpack the following archives:
  1730.     echo "        " ${MISSING}
  1731. fi
  1732. ##  End of shell archive.
  1733. exit 0
  1734.