home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-07-19 | 87.1 KB | 2,703 lines |
- Ghostscript 2.6.1 Patch #3
-
-
- To apply this patch:
-
- cd to the directory containing the ghostscript source and do:
- patch -s < ThisFile
- Patch will work silently unless an error occurs.
- If you want to watch patch do its thing, leave out the "-s" argument to patch.
-
- See the readme.fix file for a summary of the fixes.
-
- Prereq: 6/28/93
-
- *** 1.2 1993/06/29 02:58:13
- --- readme.fix 1993/07/18 15:51:58
- ***************
- *** 7,13 ****
- Fixes for Ghostscript 2.6.1
- ---------------------------
-
- ! (last update: 6/28/93)
-
- This file summarizes a number of important quality fixes for Ghostscript
- 2.6.1. The fixes are supplied in the form of replacements for
- --- 7,13 ----
- Fixes for Ghostscript 2.6.1
- ---------------------------
-
- ! (last update: 7/18/93)
-
- This file summarizes a number of important quality fixes for Ghostscript
- 2.6.1. The fixes are supplied in the form of replacements for
- ***************
- *** 117,122 ****
- --- 117,124 ----
- Files affected:
- gxrefct.h
-
- + ---------------- Fixes up to here distributed 6/23/93 ----------------
- +
- 6/28/93
- -------
-
- ***************
- *** 125,127 ****
- --- 127,331 ----
- file type1enc.ps.
- Files affected:
- unixtail.mak (and unix-*.mak, built from it using tar_cat)
- +
- + Problem:
- + X driver didn't free dynamic colors at the start of each page.
- + Files affected:
- + gdevx.h
- + gdevx.c
- +
- + Problems:
- + X driver didn't bind foreground/background defaults tightly.
- + X driver didn't check for GHOSTVIEW_COLORS properly.
- + X driver freed too many colors if an allocation request failed.
- + X driver didn't check return value of gs_malloc for being NULL.
- + Files affected:
- + gdevxini.c
- +
- + Problem:
- + There was no LaserJet 4 driver that could use the 600 dpi mode.
- + Fix:
- + Implement one.
- + Files affected:
- + devs.mak
- + gdevdjet.c
- +
- + Problem:
- + The DeskJet and LaserJet drivers used \033&l0H (page eject)
- + instead of \f (end of page), which prevented duplex printing.
- + The DeskJet and LaserJet drivers reset the printer at the
- + start of each page, which prevented manually initiated duplex
- + printing.
- + Files affected:
- + gdevdjet.c
- +
- + 7/8/93
- + ------
- +
- + Problem:
- + kshow returned an incorrect (random, 32-bit) character code
- + for the second character.
- + Fix:
- + Make sure the character code is stored properly on all control paths.
- + Files affected:
- + gschar.c
- +
- + Problem:
- + Color halftones "flipped over" at the 50% point, inverting
- + foreground and background.
- + Fix:
- + Correct a numerical error in the octant flip test.
- + Files affected:
- + gxdither.c
- +
- + Problem:
- + setbbox didn't round the coordinates properly, which could cause
- + erroneous rangecheck errors with coordinates on the edge of the box.
- + Files affected:
- + gsdps1.c
- +
- + Problem:
- + The PCX driver put an old version number in the header, and
- + didn't pad scan lines to an even number of bytes.
- + Files affected:
- + gdevpcx.c
- +
- + Problem:
- + The TIFF driver didn't handle A4 or B4 size paper correctly.
- + Fix:
- + Make the driver handle variable page sizes properly.
- + Files affected:
- + gdevtiff.c
- +
- + Problem:
- + The VMS script files referenced IBSCAN instead of ISCAN2,
- + and omitted GDEVXXF.
- + Files affected:
- + vms-cc.mak
- + vms-gcc.mak
- +
- + Problem:
- + zht2.c didn't include alloc.h.
- + Files affected:
- + zht2.c
- +
- + Problem:
- + gdevx.h was inadvertently omitted from an earlier batch of fixes.
- + Files affected:
- + gdevx.h
- +
- + Problem:
- + The UUENCODEd icons for the MS Windows platform were omitted
- + from the fileset.
- + Files added:
- + gsgraph.uue
- + gstext.uue
- +
- + 7/9/93
- + ------
- +
- + Problem:
- + exitserver didn't check the password, and always succeeded.
- + Fix:
- + Make exitserver do a minimal password check.
- + Files affected:
- + gs_statd.ps
- +
- + Problem:
- + Ghostscript only knew about a limited set of paper sizes.
- + Fix:
- + Add many new paper sizes to gs_statd.ps. It now includes ISO
- + a0-a10 and b0-b10, and CAD sizes archA-archE.
- + Files affected:
- + gs_statd.ps
- +
- + 7/17/93
- + -------
- +
- + Problem:
- + The ESCP/2 driver was incorrectly named gdevescp2 in devs.mak.
- + Files affected:
- + devs.mak
- +
- + Problem:
- + The X11 driver incorrectly demanded the Xmu library, which was
- + not needed and which caused link errors on some versions of SunOS.
- + Solution:
- + Remove Xmu from the list of X libraries.
- + Files affected:
- + devs.mak
- +
- + Problem:
- + X11 font matching scheme was too loose, causing overlaps and
- + other problems.
- + Solution:
- + X11 font must be within 1/2 pixel of desired height to be used.
- + Files affected:
- + gdevx.c, gdevx.h, gdevxini.c, gdevxxf.c
- +
- + Problem:
- + X11 Font Extensions (rotated and mirrored fonts) did not work
- + properly on NCD terminals.
- + Solution:
- + Add an X resource to be able to selectively turn off the use
- + of Font Extensions. It is called useFontExtensions.
- + Files affected:
- + gdevx.c, gdevx.h, gdevxini.c, gdevxxf.c
- +
- + Problem:
- + When the X11 driver freed the rgb cube/gray ramp, the parameters
- + to gs_free() did not exactly match the parameters to gs_malloc().
- + Solution:
- + Make them match.
- + Files affected:
- + gdevx.c
- +
- + Problem:
- + The X11 driver failed to warn the user when it could not allocate
- + the original color cube/gray ramp and dropped back to a smaller
- + cube/ramp, or from color to mono.
- + Solution:
- + Warn the user when color allocation fails during initialization.
- + Files:
- + gdevxini.c
- +
- + Problem:
- + x_release could cause Ghostscript to fail if a font was freed
- + after the device was closed.
- + Solution:
- + Don't free the font in x_release. The font will be freed when
- + the connection to the X server is closed.
- + Files affected:
- + gdevx.c
- +
- + 7/18/93
- + -------
- +
- + Problem:
- + On MS-DOS systems, filenameforall didn't interpret * alone
- + as a pattern matching all files.
- + Fix:
- + Recognize a trailing * in a pattern as a special case.
- + Files affected:
- + gp_msdos.c
- +
- + Problem:
- + The FontName in the font file had be the same as the name in
- + Fontmap. (This requirement led to the need for aliases, and
- + was extremely confusing to users.)
- + Fix:
- + If loading a font file doesn't define the font with the
- + requested name, parse the file to find the FontName, and make
- + the requested name an alias for it.
- + Files affected:
- + gs_fonts.ps
- +
- + Problem:
- + Users had to remember to edit the Fontmap file whenever they
- + installed a new font.
- + Fix:
- + Add a GS_FONTPATH environment variable containing a list of
- + directories that should be scanned automatically for fonts at
- + startup time.
- + Files affected:
- + gs_fonts.ps, fonts.doc, use.doc
- *** 1.2 1993/06/29 02:22:52
- --- devs.mak 1993/07/17 17:40:16
- ***************
- *** 51,57 ****
- # * att3b1 AT&T 3b1/Unixpc monochrome display [3b1 only]
- # * sonyfb Sony Microsystems monochrome display [Sony only]
- # * sunview SunView window system [SunOS only]
- ! # x11 X Windows version 11, release >=3 [Unix and VMS only]
- # Printers:
- # * appledmp Apple Dot Matrix Printer (should also work with Imagewriter)
- # bj10e Canon BubbleJet BJ10e
- --- 51,57 ----
- # * att3b1 AT&T 3b1/Unixpc monochrome display [3b1 only]
- # * sonyfb Sony Microsystems monochrome display [Sony only]
- # * sunview SunView window system [SunOS only]
- ! # x11 X Windows version 11, release >=4 [Unix and VMS only]
- # Printers:
- # * appledmp Apple Dot Matrix Printer (should also work with Imagewriter)
- # bj10e Canon BubbleJet BJ10e
- ***************
- *** 83,88 ****
- --- 83,89 ----
- # * lj250 DEC LJ250 Companion color printer
- # + ljet2p H-P LaserJet IId/IIp/III* with TIFF compression
- # + ljet3 H-P LaserJet III* with Delta Row compression
- + # + ljet4 H-P LaserJet 4 (defaults to 600 dpi)
- # + ljetplus H-P LaserJet Plus
- # * m8510 C.Itoh M8510 printer
- # * necp6 NEC P6/P6+/P60 printers at 360 x 360 DPI resolution
- ***************
- *** 410,415 ****
- --- 411,421 ----
- ljet3.dev: $(HPMONO)
- $(SHP)gssetdev ljet3 $(HPMONO)
-
- + ### Selecting ljet4 also provides Delta Row compression on LaserJet IV series.
- +
- + ljet4.dev: $(HPMONO)
- + $(SHP)gssetdev ljet4 $(HPMONO)
- +
- ###- The H-P DeskJet 500C/550C and PaintJet family color printer devices -###
- ### Note: there are two different 500C drivers, both contributed by users.###
- ### If you have questions about the djet500c driver, ###
- ***************
- *** 491,501 ****
- ### Note: this driver was contributed by a user: if you have questions, ###
- ### please contact Richard Brown (rab@tauon.ph.unimelb.edu.au). ###
-
- ! escp2_=gdevescp2.$(OBJ) gdevprn.$(OBJ)
- escp2.dev: $(escp2_)
- $(SHP)gssetdev escp2 $(escp2_)
-
- ! gdevescp2.$(OBJ): gdevescp2.c $(PDEVH)
-
- ### ------------ The H-P PaintJet color printer device ----------------- ###
- ### Note: this driver also supports the DEC LJ250 color printer, which ###
- --- 497,507 ----
- ### Note: this driver was contributed by a user: if you have questions, ###
- ### please contact Richard Brown (rab@tauon.ph.unimelb.edu.au). ###
-
- ! escp2_=gdevescp.$(OBJ) gdevprn.$(OBJ)
- escp2.dev: $(escp2_)
- $(SHP)gssetdev escp2 $(escp2_)
-
- ! gdevescp.$(OBJ): gdevescp.c $(PDEVH)
-
- ### ------------ The H-P PaintJet color printer device ----------------- ###
- ### Note: this driver also supports the DEC LJ250 color printer, which ###
- ***************
- *** 690,703 ****
- # Aladdin Enterprises does not support Ghostview. For more information
- # about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
-
- - # NOTE: Xmu and Xext are here to keep Sun's dynamic linker happy. No
- - # routines are used from either of these two libraries. If you
- - # do not have libXmu.a or libXext.a, simply remove these two lines
- - # from the Makefile.
- x11_=gdevx.$(OBJ) gdevxini.$(OBJ) gdevxxf.$(OBJ) gdevemap.$(OBJ)
- x11.dev: $(x11_)
- $(SHP)gssetdev x11 $(x11_)
- ! $(SHP)gsaddmod x11 -lib Xt Xmu X11 Xext
-
- # See the main makefile for the definition of XINCLUDE.
- GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
- --- 696,705 ----
- # Aladdin Enterprises does not support Ghostview. For more information
- # about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
-
- x11_=gdevx.$(OBJ) gdevxini.$(OBJ) gdevxxf.$(OBJ) gdevemap.$(OBJ)
- x11.dev: $(x11_)
- $(SHP)gssetdev x11 $(x11_)
- ! $(SHP)gsaddmod x11 -lib Xt X11 Xext
-
- # See the main makefile for the definition of XINCLUDE.
- GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
- *** 1.1 1993/07/19 15:43:44
- --- fonts.doc 1993/07/17 19:27:38
- ***************
- *** 129,145 ****
- entry for your new font at the end. The format for entries is documented
- in the Fontmap file. Since later entries in Fontmap override earlier
- entries, any fonts you add will supersede the corresponding fonts supplied
- ! with Ghostscript. Note that the font name in the Fontmap entry must be
- ! the same as the FontName in the font itself.
-
- In the PC world, Type 1 fonts are customarily given names ending in .PFA
- or .PFB. Ghostscript can use these directly; you just need to make the
- entry in Fontmap. If you are going to use a commercial Type 1 font (such
- as fonts obtained in conjunction with Adobe Type Manager) with
- Ghostscript, please read carefully the license that accompanies the font;
- ! Aladdin Enterprises and the Free Software Foundation take no
- ! responsibility for any possible violations of such licenses.
-
- If you want to convert a BDF file to a scalable outline, use the program
- bdftops.ps (and invoking shell script bdftops.bat or bdftops). Run the
- shell command
- --- 129,147 ----
- entry for your new font at the end. The format for entries is documented
- in the Fontmap file. Since later entries in Fontmap override earlier
- entries, any fonts you add will supersede the corresponding fonts supplied
- ! with Ghostscript.
-
- In the PC world, Type 1 fonts are customarily given names ending in .PFA
- or .PFB. Ghostscript can use these directly; you just need to make the
- entry in Fontmap. If you are going to use a commercial Type 1 font (such
- as fonts obtained in conjunction with Adobe Type Manager) with
- Ghostscript, please read carefully the license that accompanies the font;
- ! Aladdin Enterprises takes no responsibility for any possible violations of
- ! such licenses.
-
- + Converting BDF fonts
- + --------------------
- +
- If you want to convert a BDF file to a scalable outline, use the program
- bdftops.ps (and invoking shell script bdftops.bat or bdftops). Run the
- shell command
- ***************
- *** 170,176 ****
- The utility for precompiling fonts is called font2c. Note that font2c is
- a PostScript language program, so you must have Ghostscript already
- running to be able to run font2c; you must also have entries in the
- ! Fontmap for the fonts you want to compile.) For example, to precompile
- the Times-Italic font,
- font2c Times-Italic ptmri.c
- where the first argument is the font name and the second is the name of
- --- 172,178 ----
- The utility for precompiling fonts is called font2c. Note that font2c is
- a PostScript language program, so you must have Ghostscript already
- running to be able to run font2c; you must also have entries in the
- ! Fontmap for the fonts you want to compile. For example, to precompile
- the Times-Italic font,
- font2c Times-Italic ptmri.c
- where the first argument is the font name and the second is the name of
- *** 1.2 1993/06/29 02:22:52
- --- gdevpcx.c 1993/07/09 14:47:28
- ***************
- *** 109,120 ****
- ushort hres; /* horz. resolution */
- ushort vres; /* vert. resolution */
- byte palette[16*3]; /* color palette */
- ! byte vmode; /* video mode for graphics board */
- byte nplanes; /* number of color planes */
- ! ushort bpl; /* number of bytes per line (uncompresses) */
- ushort palinfo; /* palette info 1=color, 2=grey */
- - ushort shres; /* scanner horz. resolution */
- - ushort svres; /* scanner vert. resolution */
- byte xtra[58]; /* fill out header to 128 bytes */
- } pcx_header;
-
- --- 109,118 ----
- ushort hres; /* horz. resolution */
- ushort vres; /* vert. resolution */
- byte palette[16*3]; /* color palette */
- ! byte reserved;
- byte nplanes; /* number of color planes */
- ! ushort bpl; /* number of bytes per line (uncompressed) */
- ushort palinfo; /* palette info 1=color, 2=grey */
- byte xtra[58]; /* fill out header to 128 bytes */
- } pcx_header;
-
- ***************
- *** 124,130 ****
- ** 0 == 2.5
- ** 2 == 2.8 w/palette info
- ** 3 == 2.8 without palette info
- ! ** 5 == 3.0
- **
- */
-
- --- 122,128 ----
- ** 0 == 2.5
- ** 2 == 2.8 w/palette info
- ** 3 == 2.8 without palette info
- ! ** 5 == 3.0 (includes palette)
- **
- */
-
- ***************
- *** 136,146 ****
- private int
- pcxmono_print_page(gx_device_printer *pdev, FILE *file)
- { pcx_header header;
- - header.version = 2;
- header.bpp = 1;
- header.nplanes = 1;
- ! /* Clear the EGA palette */
- ! memset((byte *)header.palette, 0, sizeof(header.palette));
- return pcx_write_page(pdev, file, &header, 0);
- }
-
- --- 134,143 ----
- private int
- pcxmono_print_page(gx_device_printer *pdev, FILE *file)
- { pcx_header header;
- header.bpp = 1;
- header.nplanes = 1;
- ! /* Set the first two entries of the short palette. */
- ! memcpy((byte *)header.palette, "\377\377\377\000\000\000", 6);
- return pcx_write_page(pdev, file, &header, 0);
- }
-
- ***************
- *** 154,160 ****
- private int
- pcx16_print_page(gx_device_printer *pdev, FILE *file)
- { pcx_header header;
- - header.version = 2;
- header.bpp = 1;
- header.nplanes = 4;
- /* Fill the EGA palette appropriately. */
- --- 151,156 ----
- ***************
- *** 167,173 ****
- pcx256_print_page(gx_device_printer *pdev, FILE *file)
- { pcx_header header;
- int code;
- - header.version = 5;
- header.bpp = 8;
- header.nplanes = 1;
- /* Clear the EGA palette */
- --- 163,168 ----
- ***************
- *** 187,216 ****
- private int
- pcx_write_page(gx_device_printer *pdev, FILE *file, pcx_header _ss *phdr,
- int planar)
- ! { int raster = gdev_prn_raster(pdev);
- int height = pdev->height;
- int depth = pdev->color_info.depth;
- ! uint rsize = (pdev->width + 7) >> 3;
- ! byte *row = (byte *)gs_malloc(raster + rsize, 1, "pcx file buffer");
- ! byte *end = row + raster;
- ! byte *plane = end;
- int y;
- int code = 0; /* return code */
- ! if ( row == 0 ) /* can't allocate row buffer */
- return_error(gs_error_VMerror);
-
- ! /* setup the header struct */
-
- phdr->manuf = 10;
- ! /* version and bpp were set by the caller */
- phdr->encoding = 1; /* 1 for rle 8-bit encoding */
- phdr->x1 = 0;
- phdr->y1 = 0;
- assign_ushort(phdr->x2, pdev->width-1);
- assign_ushort(phdr->y2, height-1);
- assign_ushort(phdr->hres, (int)pdev->x_pixels_per_inch);
- assign_ushort(phdr->vres, (int)pdev->y_pixels_per_inch);
- ! phdr->vmode = 0;
- /* nplanes was set by the caller */
- assign_ushort(phdr->bpl, (planar && depth > 1 ? rsize : raster));
- assign_ushort(phdr->palinfo, (gx_device_has_color(pdev) ? 1 : 2));
- --- 182,212 ----
- private int
- pcx_write_page(gx_device_printer *pdev, FILE *file, pcx_header _ss *phdr,
- int planar)
- ! { int orig_raster = gdev_prn_raster(pdev);
- ! int raster = round_up(orig_raster, 2); /* PCX format requires even */
- ! uint rsize = round_up((pdev->width + 7) >> 3, 2); /* ditto */
- int height = pdev->height;
- int depth = pdev->color_info.depth;
- ! byte *line = (byte *)gs_malloc(raster + rsize, 1, "pcx file buffer");
- ! byte *plane = line + raster;
- int y;
- int code = 0; /* return code */
- ! if ( line == 0 ) /* can't allocate line buffer */
- return_error(gs_error_VMerror);
-
- ! /* Set up the header struct. */
-
- phdr->manuf = 10;
- ! phdr->version = 5;
- phdr->encoding = 1; /* 1 for rle 8-bit encoding */
- + /* bpp was set by the caller */
- phdr->x1 = 0;
- phdr->y1 = 0;
- assign_ushort(phdr->x2, pdev->width-1);
- assign_ushort(phdr->y2, height-1);
- assign_ushort(phdr->hres, (int)pdev->x_pixels_per_inch);
- assign_ushort(phdr->vres, (int)pdev->y_pixels_per_inch);
- ! phdr->reserved = 0;
- /* nplanes was set by the caller */
- assign_ushort(phdr->bpl, (planar && depth > 1 ? rsize : raster));
- assign_ushort(phdr->palinfo, (gx_device_has_color(pdev) ? 1 : 2));
- ***************
- *** 224,230 ****
-
- /* Dump the contents of the image. */
- for ( y = 0; y < height; y++ )
- ! { gdev_prn_copy_scan_lines(pdev, y, row, raster);
- switch ( depth )
- {
- case 1:
- --- 220,233 ----
-
- /* Dump the contents of the image. */
- for ( y = 0; y < height; y++ )
- ! { byte *row;
- ! byte *end;
- ! int code = gdev_prn_get_bits(pdev, y, line, &row);
- ! if ( code < 0 ) break;
- ! end = row + raster;
- ! /* Clear an odd trailing byte. */
- ! if ( orig_raster & 1 )
- ! end[-1] = 0;
- switch ( depth )
- {
- case 1:
- ***************
- *** 267,273 ****
- (((uint)from[7] & bmask)))
- >> shift;
- }
- ! pcx_write_rle(plane, to, file);
- }
- }
- break;
- --- 270,276 ----
- (((uint)from[7] & bmask)))
- >> shift;
- }
- ! pcx_write_rle(plane, plane + rsize, file);
- }
- }
- break;
- ***************
- *** 277,286 ****
- goto pcx_done;
-
- }
- ! }
-
- pcx_done:
- ! gs_free((char *)row, raster + rsize, 1, "pcx file buffer");
-
- return code;
- }
- --- 280,289 ----
- goto pcx_done;
-
- }
- ! }
-
- pcx_done:
- ! gs_free((char *)line, raster + rsize, 1, "pcx file buffer");
-
- return code;
- }
- *** 1.1 1993/07/19 15:43:44
- --- gdevtiff.c 1993/07/08 11:46:26
- ***************
- *** 47,52 ****
- --- 47,53 ----
- long prevdir; /* file offset of previous directory offset */
- long diroff; /* file offset of next write */
- int bigendian; /* 1 if machine is big-endian, 0 otherwise */
- + unsigned long iwidth; /* width of image data in pixels */
- int fax_byte;
- int fax_weight;
- } TIFFOUT;
- ***************
- *** 77,83 ****
- /* The device descriptor */
- #define X_DPI 204
- #define Y_DPI 196
- ! #define LINE_SIZE ((X_DPI * 98 / 10 + 7) / 8) /* bytes per line */
-
- private dev_proc_open_device(tiff_prn_open);
- private dev_proc_print_page(tiff_print_page);
- --- 78,84 ----
- /* The device descriptor */
- #define X_DPI 204
- #define Y_DPI 196
- ! #define LINE_SIZE ((X_DPI * 101 / 10 + 7) / 8) /* bytes per line */
-
- private dev_proc_open_device(tiff_prn_open);
- private dev_proc_print_page(tiff_print_page);
- ***************
- *** 108,116 ****
- #define PAPER_SIZE_LETTER 0
- { 85, 110, 1728 },
- #define PAPER_SIZE_A4 1
- ! { 83, 117, 1728 },
- #define PAPER_SIZE_B4 2
- ! { 98, 1391, 2048 }
- };
- #define NPAGEINFO (sizeof (pageinfo) / sizeof (pageinfo[0]))
-
- --- 109,117 ----
- #define PAPER_SIZE_LETTER 0
- { 85, 110, 1728 },
- #define PAPER_SIZE_A4 1
- ! { 85, 117, 1728 },
- #define PAPER_SIZE_B4 2
- ! { 101, 143, 2048 }
- };
- #define NPAGEINFO (sizeof (pageinfo) / sizeof (pageinfo[0]))
-
- ***************
- *** 143,148 ****
- --- 144,150 ----
- if (rc == 0) {
- gx_device_tiff* ddev = (gx_device_tiff*) pdev;
- faxout_open_fp(ddev->file, &ddev->fax);
- + ddev->fax.iwidth = pi->iw;
- }
- return (rc);
- }
- ***************
- *** 654,660 ****
- register int run;
- register int rl;
-
- ! ep = p + 1728/8;
- bit = 7;
- for (;;) {
- find_white_run();
- --- 656,662 ----
- register int run;
- register int rl;
-
- ! ep = p + faxp->iwidth/8;
- bit = 7;
- for (;;) {
- find_white_run();
- ***************
- *** 689,695 ****
-
- if(c>=64) {
- tpos = (c/64)-1;
- ! te = mwtable+tpos;
- c -= te->count;
- putcode(faxp, te);
- }
- --- 691,697 ----
-
- if(c>=64) {
- tpos = (c/64)-1;
- ! te = tpos < 27 ? mwtable+tpos : extable+tpos-27;
- c -= te->count;
- putcode(faxp, te);
- }
- ***************
- *** 706,712 ****
-
- if(c>=64) {
- tpos = (c/64)-1;
- ! te = mbtable+tpos;
- c -= te->count;
- putcode(faxp, te);
- }
- --- 708,714 ----
-
- if(c>=64) {
- tpos = (c/64)-1;
- ! te = tpos < 27 ? mbtable+tpos : extable+tpos-27;
- c -= te->count;
- putcode(faxp, te);
- }
- *** 1.2 1993/06/29 02:22:52
- --- gdevx.c 1993/07/17 17:36:10
- ***************
- *** 157,164 ****
- NULL, /* palette */
- NULL, NULL, NULL, /* regularFonts, symbolFonts, dingbatFonts */
- NULL, NULL, NULL, /* regular_fonts, symbol_fonts, dingbat_fonts */
- ! 1, 1, 0, /* useXFonts, useScalableFonts, logXFonts */
- ! 10.0, /* xFontTolerance */
- 0.0, 0.0, /* xResolution, yResolution */
- 1, /* useBackingPixmap */
- 1, 1, /* useXPutImage, useXSetTile */
- --- 157,164 ----
- NULL, /* palette */
- NULL, NULL, NULL, /* regularFonts, symbolFonts, dingbatFonts */
- NULL, NULL, NULL, /* regular_fonts, symbol_fonts, dingbat_fonts */
- ! 1, 1, /* useXFonts, useFontExtensions */
- ! 1, 0, /* useScalableFonts, logXFonts */
- 0.0, 0.0, /* xResolution, yResolution */
- 1, /* useBackingPixmap */
- 1, 1, /* useXPutImage, useXSetTile */
- ***************
- *** 196,206 ****
- }
- if (xdev->dither_colors) {
- if (gx_device_has_color(xdev))
- gs_free((char *)xdev->dither_colors, sizeof(x_pixel),
- ! xdev->color_info.dither_gray, "gdev_x_gray_ramp");
- else
- gs_free((char *)xdev->dither_colors, sizeof(x_pixel),
- ! xdev->color_info.dither_rgb, "gdev_x_rgb_cube");
- xdev->dither_colors = NULL;
- }
- if (xdev->dynamic_colors) {
- --- 196,208 ----
- }
- if (xdev->dither_colors) {
- if (gx_device_has_color(xdev))
- + #define cube(r) (r*r*r)
- gs_free((char *)xdev->dither_colors, sizeof(x_pixel),
- ! cube(xdev->color_info.dither_rgb), "gdev_x_rgb_cube");
- ! #undef cube
- else
- gs_free((char *)xdev->dither_colors, sizeof(x_pixel),
- ! xdev->color_info.dither_gray, "gdev_x_gray_ramp");
- xdev->dither_colors = NULL;
- }
- if (xdev->dynamic_colors) {
- ***************
- *** 470,475 ****
- --- 472,488 ----
- /* on every operation, but there's no separate driver routine */
- /* for erasepage (yet). */
- if (x == 0 && y == 0 && w == xdev->width && h == xdev->height) {
- + if (color == xdev->foreground || color == xdev->background) {
- + int i;
- + XErrorHandler oldhandler = XSetErrorHandler(x_catch_free_colors);
- + for (i = 0; i < xdev->dynamic_number; i++) {
- + XFreeColors(xdev->dpy, xdev->cmap,
- + &xdev->dynamic_colors[i].pixel, 1, 0);
- + }
- + XSync(xdev->dpy, False); /* Force any errors */
- + oldhandler = XSetErrorHandler(oldhandler);
- + xdev->dynamic_number = 0;
- + }
- xdev->colors_or = xdev->colors_and = color;
- }
- if (xdev->bpixmap != (Pixmap) 0) {
- *** 1.1 1993/07/19 15:43:44
- --- gdevx.h 1993/07/17 17:36:10
- ***************
- *** 145,152 ****
- x11fontmap *regular_fonts;
- x11fontmap *symbol_fonts;
- x11fontmap *dingbat_fonts;
- ! Boolean useXFonts, useScalableFonts, logXFonts;
- ! float xFontTolerance;
- float xResolution, yResolution;
-
- /* Flags work around various X server problems. */
- --- 145,151 ----
- x11fontmap *regular_fonts;
- x11fontmap *symbol_fonts;
- x11fontmap *dingbat_fonts;
- ! Boolean useXFonts, useFontExtensions, useScalableFonts, logXFonts;
- float xResolution, yResolution;
-
- /* Flags work around various X server problems. */
- ***************
- *** 159,164 ****
- --- 158,164 ----
- /* function to keep track of screen updates */
- void x_update_add(P5(gx_device *, int, int, int, int));
- void gdev_x_clear_window(P1(gx_device_X *));
- + int x_catch_free_colors(P2(Display *, XErrorEvent *));
-
- /* Number used to distinguish when resoultion was set from the command line */
- #define FAKE_RES (16*72)
- *** 1.2 1993/06/29 02:22:52
- --- gdevxini.c 1993/07/17 17:36:10
- ***************
- *** 40,48 ****
- {"dingbatFonts", "DingbatFonts", XtRString, sizeof(String),
- XtOffsetOf(gx_device_X, dingbatFonts),
- XtRString, "ZapfDingbats: -Adobe-ITC Zapf Dingbats-Medium-R-Normal--"},
- - {"externalFontTolerance", "ExternalFontTolerance", XtRFloat, sizeof(float),
- - XtOffsetOf(gx_device_X, xFontTolerance),
- - XtRString, (XtPointer)"10.0"},
- {XtNforeground, XtCForeground, XtRPixel, sizeof(Pixel),
- XtOffsetOf(gx_device_X, foreground),
- XtRString, (XtPointer)"XtDefaultForeground"},
- --- 40,45 ----
- ***************
- *** 110,115 ****
- --- 107,115 ----
- {"useExternalFonts", "UseExternalFonts", XtRBoolean, sizeof(Boolean),
- XtOffsetOf(gx_device_X, useXFonts),
- XtRImmediate, (XtPointer)True},
- + {"useFontExtensions", "UseFontExtensions", XtRBoolean, sizeof(Boolean),
- + XtOffsetOf(gx_device_X, useFontExtensions),
- + XtRImmediate, (XtPointer)True},
- {"useScalableFonts", "UseScalableFonts", XtRBoolean, sizeof(Boolean),
- XtOffsetOf(gx_device_X, useScalableFonts),
- XtRImmediate, (XtPointer)True},
- ***************
- *** 127,132 ****
- --- 127,139 ----
- XtRString, (XtPointer)"0.0"},
- };
-
- + private String
- + fallback_resources[] = {
- + "Ghostscript*Background: white",
- + "Ghostscript*Foreground: black",
- + NULL
- + };
- +
- /* Define constants for orientation from ghostview */
- /* Number represents clockwise rotation of the paper in degrees */
- typedef enum {
- ***************
- *** 157,163 ****
- return oldhandler(dpy, err);
- }
-
- ! private int
- x_catch_free_colors(Display *dpy, XErrorEvent *err)
- {
- if (err->request_code == X_FreeColors) return 0;
- --- 164,170 ----
- return oldhandler(dpy, err);
- }
-
- ! int
- x_catch_free_colors(Display *dpy, XErrorEvent *err)
- {
- if (err->request_code == X_FreeColors) return 0;
- ***************
- *** 329,334 ****
- --- 336,342 ----
- #endif
- XtToolkitInitialize();
- app_con = XtCreateApplicationContext();
- + XtAppSetFallbackResources(app_con, fallback_resources);
- dpy = XtOpenDisplay(app_con, NULL, "ghostscript", "Ghostscript",
- NULL, 0, &zero, NULL);
- toplevel = XtAppCreateShell(NULL, "Ghostscript",
- ***************
- *** 576,582 ****
- type == XA_STRING) {
- nitems = sscanf(buf, "%*s %d %d", &(xdev->foreground),
- &(xdev->background));
- ! if (nitems != 2 || *buf != 'M' || *buf != 'G' || *buf != 'C') {
- eprintf("gs: Malformed ghostview color property.\n");
- exit(1);
- }
- --- 584,590 ----
- type == XA_STRING) {
- nitems = sscanf(buf, "%*s %d %d", &(xdev->foreground),
- &(xdev->background));
- ! if (nitems != 2 || *buf != 'M' && *buf != 'G' && *buf != 'C') {
- eprintf("gs: Malformed ghostview color property.\n");
- exit(1);
- }
- ***************
- *** 599,611 ****
- #endif
- xdev->dither_colors = NULL;
- xdev->dynamic_colors = NULL;
- xdev->color_info.depth = xdev->vinfo->depth;
-
- if (palette == 'C') {
- xdev->color_info.num_components = 3;
- xdev->color_info.max_gray =
- xdev->color_info.max_rgb = num_rgb - 1;
- - xdev->dither_colors = NULL;
- #if HaveStdCMap
- /* Get a standard color map if available */
- if (xdev->vinfo->visual == DefaultVisualOfScreen(xdev->scr)) {
- --- 607,620 ----
- #endif
- xdev->dither_colors = NULL;
- xdev->dynamic_colors = NULL;
- + xdev->dynamic_size = 0;
- + xdev->dynamic_number = 0;
- xdev->color_info.depth = xdev->vinfo->depth;
-
- if (palette == 'C') {
- xdev->color_info.num_components = 3;
- xdev->color_info.max_gray =
- xdev->color_info.max_rgb = num_rgb - 1;
- #if HaveStdCMap
- /* Get a standard color map if available */
- if (xdev->vinfo->visual == DefaultVisualOfScreen(xdev->scr)) {
- ***************
- *** 641,646 ****
- --- 650,659 ----
- xdev->dither_colors =
- (x_pixel *) gs_malloc(sizeof(x_pixel), cube(ramp_size),
- "gdev_x_rgb_cube");
- + if (xdev->dither_colors == NULL) {
- + ramp_size--;
- + goto no_cube;
- + }
- for (r = 0; r < ramp_size; r++) {
- for (g = 0; g < ramp_size; g++) {
- for (b = 0; b < ramp_size; b++) {
- ***************
- *** 663,681 ****
- xdev->dither_colors[cube_index(r, g, b)] =
- xc.pixel;
- } else {
- ! int i;
- !
- ramp_size--;
- ! oldhandler =
- ! XSetErrorHandler(x_catch_free_colors);
- ! for (i = 1; i < cube_index(r, g, b); i++) {
- XFreeColors(xdev->dpy, xdev->cmap,
- ! &(xdev->dither_colors[i]),
- ! 1, 0);
- }
- - /* Force any errors */
- - XSync(xdev->dpy, False);
- - oldhandler = XSetErrorHandler(oldhandler);
- gs_free((char *)xdev->dither_colors,
- sizeof(x_pixel), cube(ramp_size),
- "gdev_x_rgb_cube");
- --- 676,695 ----
- xdev->dither_colors[cube_index(r, g, b)] =
- xc.pixel;
- } else {
- ! eprintf3("Warning: failed to allocate %dx%dx%d RGB cube.\n",
- ! ramp_size, ramp_size, ramp_size);
- ramp_size--;
- ! if (cube_index(r, g, b) - 1 > 0) {
- ! oldhandler =
- ! XSetErrorHandler(x_catch_free_colors);
- XFreeColors(xdev->dpy, xdev->cmap,
- ! xdev->dither_colors + 1,
- ! cube_index(r, g, b) - 1, 0);
- ! /* Force any errors */
- ! XSync(xdev->dpy, False);
- ! oldhandler =
- ! XSetErrorHandler(oldhandler);
- }
- gs_free((char *)xdev->dither_colors,
- sizeof(x_pixel), cube(ramp_size),
- "gdev_x_rgb_cube");
- ***************
- *** 696,717 ****
-
- /* Allocate space for dynamic colors, do at most 256 */
- /* If there are more avaiaible, we ask the X server */
- - xdev->dynamic_number = 0;
- xdev->dynamic_size = min(256, xdev->vinfo->colormap_size -
- cube(xdev->color_info.dither_rgb));
- if (xdev->dynamic_size) {
- xdev->dynamic_colors =
- (XColor *) gs_malloc(sizeof(XColor), xdev->dynamic_size,
- "gdev_x_dynamic_colors");
- ! } else {
- ! xdev->dynamic_colors = NULL;
- }
- #undef cube
- } else if (palette == 'G') {
- grayscale:
- xdev->color_info.num_components = 1;
- xdev->color_info.max_gray = num_rgb - 1;
- - xdev->dither_colors = NULL;
- #if HaveStdCMap
- /* Get a standard color map if available */
- if (xdev->std_cmap = x_get_std_cmap(xdev, XA_RGB_GRAY_MAP)) {
- --- 710,730 ----
-
- /* Allocate space for dynamic colors, do at most 256 */
- /* If there are more avaiaible, we ask the X server */
- xdev->dynamic_size = min(256, xdev->vinfo->colormap_size -
- cube(xdev->color_info.dither_rgb));
- if (xdev->dynamic_size) {
- xdev->dynamic_colors =
- (XColor *) gs_malloc(sizeof(XColor), xdev->dynamic_size,
- "gdev_x_dynamic_colors");
- ! if (xdev->dynamic_colors == NULL) {
- ! xdev->dynamic_size = 0;
- ! }
- }
- #undef cube
- } else if (palette == 'G') {
- grayscale:
- xdev->color_info.num_components = 1;
- xdev->color_info.max_gray = num_rgb - 1;
- #if HaveStdCMap
- /* Get a standard color map if available */
- if (xdev->std_cmap = x_get_std_cmap(xdev, XA_RGB_GRAY_MAP)) {
- ***************
- *** 736,741 ****
- --- 749,758 ----
- xdev->dither_colors =
- (x_pixel *) gs_malloc(sizeof(x_pixel), ramp_size,
- "gdev_x_gray_ramp");
- + if (xdev->dither_colors == NULL) {
- + ramp_size--;
- + goto no_ramp;
- + }
- for (i = 0; i < ramp_size; i++) {
- XColor xc;
-
- ***************
- *** 749,763 ****
- if (XAllocColor(xdev->dpy, xdev->cmap, &xc)) {
- xdev->dither_colors[i] = xc.pixel;
- } else {
- ! int j = i;
- ramp_size /= 2;
- ! oldhandler = XSetErrorHandler(x_catch_free_colors);
- ! for (i = 1; i < j; i++) {
- XFreeColors(xdev->dpy, xdev->cmap,
- ! &(xdev->dither_colors[i]), 1, 0);
- }
- - XSync(xdev->dpy, False); /* Force any errors */
- - oldhandler = XSetErrorHandler(oldhandler);
- gs_free((char *)xdev->dither_colors,
- sizeof(x_pixel), ramp_size,
- "gdev_x_gray_ramp");
- --- 766,782 ----
- if (XAllocColor(xdev->dpy, xdev->cmap, &xc)) {
- xdev->dither_colors[i] = xc.pixel;
- } else {
- ! eprintf1("Warning: failed to allocate %d level gray ramp.\n",
- ! ramp_size);
- ramp_size /= 2;
- ! if (i - 1 > 0) {
- ! oldhandler =
- ! XSetErrorHandler(x_catch_free_colors);
- XFreeColors(xdev->dpy, xdev->cmap,
- ! xdev->dither_colors + 1, i - 1, 0);
- ! XSync(xdev->dpy, False); /* Force any errors */
- ! oldhandler = XSetErrorHandler(oldhandler);
- }
- gs_free((char *)xdev->dither_colors,
- sizeof(x_pixel), ramp_size,
- "gdev_x_gray_ramp");
- ***************
- *** 775,789 ****
-
- /* Allocate space for dynamic colors, do at most 256 */
- /* If there are more avaiaible, we ask the X server */
- - xdev->dynamic_number = 0;
- xdev->dynamic_size = min(256, xdev->vinfo->colormap_size -
- xdev->color_info.dither_gray);
- if (xdev->dynamic_size) {
- xdev->dynamic_colors =
- (XColor *) gs_malloc(sizeof(XColor), xdev->dynamic_size,
- "gdev_x_dynamic_colors");
- ! } else {
- ! xdev->dynamic_colors = NULL;
- }
- } else if (palette == 'M') {
- monochrome:
- --- 794,808 ----
-
- /* Allocate space for dynamic colors, do at most 256 */
- /* If there are more avaiaible, we ask the X server */
- xdev->dynamic_size = min(256, xdev->vinfo->colormap_size -
- xdev->color_info.dither_gray);
- if (xdev->dynamic_size) {
- xdev->dynamic_colors =
- (XColor *) gs_malloc(sizeof(XColor), xdev->dynamic_size,
- "gdev_x_dynamic_colors");
- ! if (xdev->dynamic_colors == NULL) {
- ! xdev->dynamic_size = 0;
- ! }
- }
- } else if (palette == 'M') {
- monochrome:
- ***************
- *** 866,877 ****
- --- 885,907 ----
- if (x11_name = get_x11_name(&cp, &x11_name_len)) {
- font = (x11fontmap *)gs_malloc(sizeof(x11fontmap), 1,
- "gdev_x_setup_fontmap");
- + if (font == NULL) continue;
- font->ps_name = (char *)gs_malloc(sizeof(char), ps_name_len+1,
- "gdev_x_setup_fontmap");
- + if (font->ps_name == NULL) {
- + gs_free((char *)font, sizeof(x11fontmap), 1, "gdev_x_fontmap");
- + continue;
- + }
- strncpy(font->ps_name, ps_name, ps_name_len);
- font->ps_name[ps_name_len] = '\0';
- font->x11_name = (char *)gs_malloc(sizeof(char), x11_name_len,
- "gdev_x_setup_fontmap");
- + if (font->x11_name == NULL) {
- + gs_free(font->ps_name, sizeof(char), strlen(font->ps_name)+1,
- + "gdev_x_font_psname");
- + gs_free((char *)font, sizeof(x11fontmap), 1, "gdev_x_fontmap");
- + continue;
- + }
- strncpy(font->x11_name, x11_name, x11_name_len-1);
- font->x11_name[x11_name_len-1] = '\0';
- font->std_names = NULL;
- ***************
- *** 888,899 ****
- --- 918,940 ----
- if (x11_name = get_x11_name(&cp, &x11_name_len)) {
- font = (x11fontmap *)gs_malloc(sizeof(x11fontmap), 1,
- "gdev_x_setup_fontmap");
- + if (font == NULL) continue;
- font->ps_name = (char *)gs_malloc(sizeof(char), ps_name_len+1,
- "gdev_x_setup_fontmap");
- + if (font->ps_name == NULL) {
- + gs_free((char *)font, sizeof(x11fontmap), 1, "gdev_x_fontmap");
- + continue;
- + }
- strncpy(font->ps_name, ps_name, ps_name_len);
- font->ps_name[ps_name_len] = '\0';
- font->x11_name = (char *)gs_malloc(sizeof(char), x11_name_len,
- "gdev_x_setup_fontmap");
- + if (font->x11_name == NULL) {
- + gs_free(font->ps_name, sizeof(char), strlen(font->ps_name)+1,
- + "gdev_x_font_psname");
- + gs_free((char *)font, sizeof(x11fontmap), 1, "gdev_x_fontmap");
- + continue;
- + }
- strncpy(font->x11_name, x11_name, x11_name_len-1);
- font->x11_name[x11_name_len-1] = '\0';
- font->std_names = NULL;
- ***************
- *** 910,921 ****
- --- 951,973 ----
- if (x11_name = get_x11_name(&cp, &x11_name_len)) {
- font = (x11fontmap *)gs_malloc(sizeof(x11fontmap), 1,
- "gdev_x_setup_fontmap");
- + if (font == NULL) continue;
- font->ps_name = (char *)gs_malloc(sizeof(char), ps_name_len+1,
- "gdev_x_setup_fontmap");
- + if (font->ps_name == NULL) {
- + gs_free((char *)font, sizeof(x11fontmap), 1, "gdev_x_fontmap");
- + continue;
- + }
- strncpy(font->ps_name, ps_name, ps_name_len);
- font->ps_name[ps_name_len] = '\0';
- font->x11_name = (char *)gs_malloc(sizeof(char), x11_name_len,
- "gdev_x_setup_fontmap");
- + if (font->x11_name == NULL) {
- + gs_free(font->ps_name, sizeof(char), strlen(font->ps_name)+1,
- + "gdev_x_font_psname");
- + gs_free((char *)font, sizeof(x11fontmap), 1, "gdev_x_fontmap");
- + continue;
- + }
- strncpy(font->x11_name, x11_name, x11_name_len-1);
- font->x11_name[x11_name_len-1] = '\0';
- font->std_names = NULL;
- *** 1.2 1993/06/29 02:22:52
- --- gdevxxf.c 1993/07/17 17:36:10
- ***************
- *** 74,89 ****
- gx_device_X *xdev = (gx_device_X *) dev;
- x_xfont *xxf;
- char x11template[256];
- ! char *x11fontname;
- XFontStruct *x11font;
- x11fontmap *fmp;
- int i;
- - double diff, d;
- double height;
- int size;
- int xwidth, xheight, angle;
- Boolean My;
- ! Boolean scalable_font;
-
- if (!xdev->useXFonts) return NULL;
-
- --- 74,88 ----
- gx_device_X *xdev = (gx_device_X *) dev;
- x_xfont *xxf;
- char x11template[256];
- ! char *x11fontname = NULL;
- XFontStruct *x11font;
- x11fontmap *fmp;
- int i;
- double height;
- int size;
- int xwidth, xheight, angle;
- Boolean My;
- ! Boolean scalable_font = False;
-
- if (!xdev->useXFonts) return NULL;
-
- ***************
- *** 108,113 ****
- --- 107,114 ----
- /* Don't do very small fonts. Font metrics are way off due to rounding */
- if (xwidth <= 4 || xheight <= 4) return NULL;
-
- + if (!xdev->useFontExtensions && (My || angle != 0)) return NULL;
- +
- if (encoding_index == 0 || encoding_index == 1) {
- int tried_other_encoding = 0;
-
- ***************
- *** 120,126 ****
- if (fmp == NULL) return NULL;
- while (True) {
- if (encoding_index == 0) {
- - scalable_font = False;
- if (fmp->std_count == -1) {
- sprintf(x11template, "%s%s", fmp->x11_name,
- "-*-*-*-*-*-*-Adobe-fontspecific");
- --- 121,126 ----
- ***************
- *** 128,134 ****
- &fmp->std_count);
- }
- if (fmp->std_count) {
- - diff = 999.9;
- for (i = 0; i < fmp->std_count; i++) {
- char *szp = fmp->std_names[i] + strlen(fmp->x11_name)+1;
-
- --- 128,133 ----
- ***************
- *** 139,166 ****
- scalable_font = True;
- continue;
- }
- ! d = fabs(height - size) / height;
- ! if (d < diff) {
- x11fontname = fmp->std_names[i];
- ! diff = d;
- }
- }
- ! if (xdev->useScalableFonts && scalable_font) {
- ! d = fabs(height - xheight) / height;
- ! if (d < diff) {
- ! sprintf(x11template, "%s-%d%s", fmp->x11_name,
- ! xheight, "-0-0-0-*-0-Adobe-fontspecific");
- ! x11fontname = x11template;
- ! diff = 0; /* Always use scalable font if closer */
- ! }
- }
- ! if (diff*100 <= xdev->xFontTolerance) break;
- }
- if (tried_other_encoding) return NULL;
- encoding_index = 1;
- tried_other_encoding = 1;
- } else if (encoding_index == 1) {
- - scalable_font = False;
- if (fmp->iso_count == -1) {
- sprintf(x11template, "%s%s", fmp->x11_name,
- "-*-*-*-*-*-*-ISO8859-1");
- --- 138,160 ----
- scalable_font = True;
- continue;
- }
- ! if (size == xheight) {
- x11fontname = fmp->std_names[i];
- ! break;
- }
- }
- ! if (!x11fontname && scalable_font &&
- ! xdev->useScalableFonts) {
- ! sprintf(x11template, "%s-%d%s", fmp->x11_name,
- ! xheight, "-0-0-0-*-0-Adobe-fontspecific");
- ! x11fontname = x11template;
- }
- ! if (x11fontname) break;
- }
- if (tried_other_encoding) return NULL;
- encoding_index = 1;
- tried_other_encoding = 1;
- } else if (encoding_index == 1) {
- if (fmp->iso_count == -1) {
- sprintf(x11template, "%s%s", fmp->x11_name,
- "-*-*-*-*-*-*-ISO8859-1");
- ***************
- *** 168,174 ****
- &fmp->iso_count);
- }
- if (fmp->iso_count) {
- - diff = 999.9;
- for (i = 0; i < fmp->iso_count; i++) {
- char *szp = fmp->iso_names[i] + strlen(fmp->x11_name)+1;
-
- --- 162,167 ----
- ***************
- *** 179,200 ****
- scalable_font = True;
- continue;
- }
- ! d = fabs(height - size) / height;
- ! if (d < diff) {
- x11fontname = fmp->iso_names[i];
- ! diff = d;
- }
- }
- ! if (xdev->useScalableFonts && scalable_font) {
- ! d = fabs(height - xheight) / height;
- ! if (d < diff) {
- ! sprintf(x11template, "%s-%d%s", fmp->x11_name,
- ! xheight, "-0-0-0-*-0-ISO8859-1");
- ! x11fontname = x11template;
- ! diff = 0; /* Always use scalable font if closer */
- ! }
- }
- ! if (diff*100 <= xdev->xFontTolerance) break;
- }
- if (tried_other_encoding) return NULL;
- encoding_index = 0;
- --- 172,189 ----
- scalable_font = True;
- continue;
- }
- ! if (size == xheight) {
- x11fontname = fmp->iso_names[i];
- ! break;
- }
- }
- ! if (!x11fontname && scalable_font &&
- ! xdev->useScalableFonts) {
- ! sprintf(x11template, "%s-%d%s", fmp->x11_name,
- ! xheight, "-0-0-0-*-0-ISO8859-1");
- ! x11fontname = x11template;
- }
- ! if (x11fontname) break;
- }
- if (tried_other_encoding) return NULL;
- encoding_index = 0;
- ***************
- *** 202,208 ****
- }
- }
- } else if (encoding_index == 2 || encoding_index == 3) {
- - scalable_font = False;
- if (encoding_index == 2) fmp = xdev->symbol_fonts;
- if (encoding_index == 3) fmp = xdev->dingbat_fonts;
- while (fmp) {
- --- 191,196 ----
- ***************
- *** 219,225 ****
- &fmp->std_count);
- }
- if (fmp->std_count) {
- - diff = 999.9;
- for (i = 0; i < fmp->std_count; i++) {
- char *szp = fmp->std_names[i] + strlen(fmp->x11_name)+1;
-
- --- 207,212 ----
- ***************
- *** 230,251 ****
- scalable_font = True;
- continue;
- }
- ! d = fabs(height - size) / height;
- ! if (d < diff) {
- x11fontname = fmp->std_names[i];
- ! diff = d;
- }
- }
- ! if (xdev->useScalableFonts && scalable_font) {
- ! d = fabs(height - xheight) / height;
- ! if (d < diff) {
- ! sprintf(x11template, "%s-%d%s", fmp->x11_name, xheight,
- ! "-0-0-0-*-0-Adobe-fontspecific");
- ! x11fontname = x11template;
- ! diff = 0; /* Always use scalable font if closer */
- ! }
- }
- ! if (diff*100 > xdev->xFontTolerance) return NULL;
- } else {
- return NULL;
- }
- --- 217,233 ----
- scalable_font = True;
- continue;
- }
- ! if (size == xheight) {
- x11fontname = fmp->std_names[i];
- ! break;
- }
- }
- ! if (!x11fontname && scalable_font && xdev->useScalableFonts) {
- ! sprintf(x11template, "%s-%d%s", fmp->x11_name, xheight,
- ! "-0-0-0-*-0-Adobe-fontspecific");
- ! x11fontname = x11template;
- }
- ! if (!x11fontname) return NULL;
- } else {
- return NULL;
- }
- ***************
- *** 458,466 ****
- x_release(gx_xfont *xf, const gs_memory_procs *mprocs)
- {
- x_xfont *xxf = (x_xfont *) xf;
- - gx_device_X *xdev = xxf->xdev;
-
- ! XFreeFont(xxf->xdev->dpy, xxf->font);
- if (mprocs != NULL)
- (*mprocs->free) ((char *)xf, 1, sizeof(x_xfont),
- "x_release");
- --- 440,448 ----
- x_release(gx_xfont *xf, const gs_memory_procs *mprocs)
- {
- x_xfont *xxf = (x_xfont *) xf;
-
- ! /* The device may not be open. Cannot reliably free the font. */
- ! /* XFreeFont(xxf->xdev->dpy, xxf->font); */
- if (mprocs != NULL)
- (*mprocs->free) ((char *)xf, 1, sizeof(x_xfont),
- "x_release");
- *** 1.1 1993/07/19 15:43:44
- --- gp_msdos.c 1993/07/18 09:55:36
- ***************
- *** 161,166 ****
- --- 161,167 ----
- char *p;
- int hsize = 0;
- int i;
- + int dot = 0;
- if ( pfen == 0 )
- return 0;
- pattern = (*mprocs->alloc)(pat_size, 1,
- ***************
- *** 176,183 ****
- --- 177,193 ----
- /* Skip to . or end of string so DOS can do it. */
- *p++ = '*';
- while ( i < patlen && pat[i] != '.' ) i++;
- + if ( i == patlen && !dot )
- + { /* DOS doesn't interpret * alone as */
- + /* matching all files; we need *.*. */
- + *p++ = '.';
- + *p++ = '*';
- + }
- i--;
- continue;
- + case '.':
- + dot = 1;
- + break;
- case '\\':
- if ( i + 1 < patlen && pat[i + 1] == '\\' )
- i++;
- ***************
- *** 185,190 ****
- --- 195,201 ----
- case ':':
- case '/':
- hsize = p + 1 - (pattern + patlen);
- + dot = 0;
- }
- *p++ = pat[i];
- }
- *** 1.1 1993/07/19 15:43:44
- --- gs_fonts.ps 1993/07/18 11:40:58
- ***************
- *** 16,36 ****
- % things, the copyright notice and this notice must be preserved on all
- % copies.
-
- ! % Font initialization for Ghostscript.
-
- % The standard representation for PostScript compatible fonts is described
- % in the book "Adobe Type 1 Font Format", published by Adobe Systems Inc.
- - % We don't attempt to document this representation here.
- - % Ghostscript uses Type 1 fonts, except that the external form doesn't use
- - % eexec encryption and may not even use CharString encryption.
-
- -
- % Define the default font.
- /defaultfontname /Ugly def
-
- % Load the font name -> font file name map.
- userdict /Fontmap FontDirectory maxlength dict put
- ! /.loadFontmap % <filename>
- { 2 dict begin
- mark Fontmap
- /;
- --- 16,32 ----
- % things, the copyright notice and this notice must be preserved on all
- % copies.
-
- ! % Font initialization and management code.
-
- % The standard representation for PostScript compatible fonts is described
- % in the book "Adobe Type 1 Font Format", published by Adobe Systems Inc.
-
- % Define the default font.
- /defaultfontname /Ugly def
-
- % Load the font name -> font file name map.
- userdict /Fontmap FontDirectory maxlength dict put
- ! /.loadFontmap % <filename> .loadFontmap -
- { 2 dict begin
- mark Fontmap
- /;
- ***************
- *** 46,56 ****
- } bind def
- (Fontmap) .loadFontmap
-
- ! % Ghostscript optionally can load individual CharStrings as they are needed.
- % (This is intended primarily for machines with very small memories.)
- ! % This happens if DISKFONTS is true. In this case, we define another
- ! % dictionary parallel to FontDirectory that retains an open file
- ! % for every font loaded.
- /FontFileDirectory 10 dict def
-
- % Define an augmented version of .buildfont1 that inserts UnderlinePosition
- --- 42,186 ----
- } bind def
- (Fontmap) .loadFontmap
-
- ! % Parse a font file just enough to find the FontName.
- ! /.findfontname % <file> .findfontname <name> true
- ! % <file> .findfontname false
- ! % Closes the file in either case.
- ! { { dup token not { false exit } if % end of file
- ! dup /eexec eq { pop false exit } if % reached eexec section
- ! dup /FontName eq
- ! { xcheck not { dup token exit } if } % found /FontName
- ! { pop }
- ! ifelse
- ! } loop
- ! dup { 3 } { 2 } ifelse -1 roll closefile
- ! } bind def
- !
- ! (GS_FONTPATH) getenv not { (%END GS_FONTPATH) .skipeof } if
- ! pop
- !
- ! % Scan directories looking for plausible fonts. "Plausible" means that
- ! % the file begins either with %!PS-AdobeFont-, or with \200\001
- ! % followed by four arbitrary bytes and then "%!PS-AdobeFont-".
- ! % To speed up the search, we skip any file whose name appears in
- ! % the Fontmap (with any extension and upper/lower case variation) already.
- ! %
- ! % NOTE: The current implementation of this procedure is Unix/DOS-
- ! % specific. It assumes that '/' and '\' are directory separators; that
- ! % the part of a file name following the last '.' is the extension;
- ! % that ';' cannot appear in a file name; and that ':' can appear in a
- ! % file name only if the file name doesn't begin with '/', '\', or '.'.
- ! % (this is so that Unix systems can use ':' as the separator).
- ! %
- ! /.lowerstring % <string> .lowerstring <lowerstring>
- ! { 0 1 2 index length 1 sub
- ! { 2 copy get dup 65 ge exch 90 le and
- ! { 2 copy 2 copy get 32 add put }
- ! if pop
- ! }
- ! for
- ! } bind def
- ! /.splitfilename % <dir.../base.extn> .basename <base> <extn>
- ! { { (/) search { true } { (\\) search } ifelse
- ! { pop pop }
- ! { exit }
- ! ifelse
- ! }
- ! loop
- ! dup { (.) search { pop pop } { exit } ifelse } loop
- ! 2 copy eq
- ! { pop () }
- ! { exch dup length 2 index length 1 add sub 0 exch getinterval exch }
- ! ifelse
- ! } bind def
- ! /.scanfontdict Fontmap maxlength dict def
- ! /.scanfontbegin
- ! { % Construct the table of all file names already in Fontmap.
- ! Fontmap
- ! { exch pop dup type /stringtype eq
- ! { .splitfilename pop =string copy .lowerstring cvn
- ! .scanfontdict exch true .growput
- ! }
- ! { pop
- ! }
- ! ifelse
- ! }
- ! forall
- ! } bind def
- ! /.scanfontskip 4 dict dup begin
- ! (afm) true def
- ! (pfm) true def
- ! end def
- ! /.scan1fontstring 128 string def
- ! /.fontheader (\200\001????%!PS-AdobeFont-*) def
- ! /.scan1fontfirst .fontheader length string def
- ! /.scan1fontdir % <dirname> .scan1fontdir -
- ! { QUIET not { (Scanning ) print dup print ( for fonts... ) print flush } if
- ! 0 exch (/*) concatstrings
- ! { dup .splitfilename
- ! .scanfontskip exch known exch .scanfontdict exch known or
- ! { pop
- ! }
- ! { dup (r) file
- ! dup .scan1fontfirst readstring pop
- ! dup .fontheader 6 16 getinterval .stringmatch
- ! { pop true }
- ! { .fontheader .stringmatch }
- ! ifelse
- ! { dup 0 setfileposition .findfontname
- ! { dup Fontmap exch known
- ! { pop pop
- ! }
- ! { exch copystring exch
- ! Fontmap exch 2 index .growput
- ! .splitfilename pop true .scanfontdict 3 1 roll .growput
- ! 1 add
- ! }
- ! ifelse
- ! }
- ! if
- ! }
- ! { closefile pop
- ! }
- ! ifelse
- ! }
- ! ifelse
- ! }
- ! .scan1fontstring filenameforall
- ! QUIET { pop } { =only ( found.\n) print flush } ifelse
- ! } bind def
- ! % Scan all the directories mentioned in GS_FONTPATH.
- ! (GS_FONTPATH) getenv
- ! { .scanfontbegin
- ! % Parsing the list of dictionaries is messy, since we have to
- ! % handle both the Unix : and the other-system ; as separators.
- ! % See the earlier comment for the restrictions that make this work.
- ! { dup length 0 eq { pop exit } if
- ! (;) search
- ! { exch pop
- ! }
- ! { dup 0 1 getinterval (/\\.) exch search
- ! { pop pop pop (:) search
- ! { exch pop }
- ! { () exch }
- ! ifelse
- ! }
- ! { pop () exch
- ! }
- ! ifelse
- ! }
- ! ifelse .scan1fontdir
- ! }
- ! loop
- ! }
- ! if
- !
- ! %END GS_FONTPATH
- !
- ! % If DISKFONTS is true, we load individual CharStrings as they are needed.
- % (This is intended primarily for machines with very small memories.)
- ! % In this case, we define another dictionary, parallel to FontDirectory,
- ! % that retains an open file for every font loaded.
- /FontFileDirectory 10 dict def
-
- % Define an augmented version of .buildfont1 that inserts UnderlinePosition
- ***************
- *** 124,130 ****
- } odef
-
-
- ! % Ghostscript optionally can load individual CharStrings as they are needed.
- % (This is intended primarily for machines with very small memories.)
- % Initially, the character definition is the file position of the definition;
- % this gets replaced with the actual CharString.
- --- 254,260 ----
- } odef
-
-
- ! % If DISKFONTS is true, we load individual CharStrings as they are needed.
- % (This is intended primarily for machines with very small memories.)
- % Initially, the character definition is the file position of the definition;
- % this gets replaced with the actual CharString.
- ***************
- *** 175,181 ****
-
- % Type1BuildGlyph calls load_C to actually load the character definition.
-
- ! /load_C % <charname> <fileposandlength> -> -
- { dup abs 1000 idiv FontFile exch setfileposition
- CharStrings 3 1 roll
- dup 0 lt
- --- 305,311 ----
-
- % Type1BuildGlyph calls load_C to actually load the character definition.
-
- ! /load_C % <charname> <fileposandlength> load_C -
- { dup abs 1000 idiv FontFile exch setfileposition
- CharStrings 3 1 roll
- dup 0 lt
- ***************
- *** 195,201 ****
- pop % the mark
- } bind def
-
- ! /seac_C % charstring -> achar bchar ..or nothing..
- { dup length _Cstring length le
- { 4330 exch _Cstring .type1decrypt exch pop
- dup dup length 2 sub 2 getinterval <0c06> eq % seac
- --- 325,331 ----
- pop % the mark
- } bind def
-
- ! /seac_C % <charstring> seac_C <achar> <bchar> ..or nothing..
- { dup length _Cstring length le
- { 4330 exch _Cstring .type1decrypt exch pop
- dup dup length 2 sub 2 getinterval <0c06> eq % seac
- ***************
- *** 294,341 ****
- ifelse
- } bind def
- currentdict end readonly /.loadfontdict exch def
- ! /.loadfont % <file> .loadfont ->
- { mark exch systemdict begin
- DISKFONTS { .loadfontdict begin } if
- % We really would just like systemdict on the stack,
- % but fonts produced by Fontographer require a writable dictionary....
- 8 dict begin % garbage
- ! % We can't just use `run', because we want to check for
- ! % .PFB files. We can't save the packing status anywhere,
- ! % so we need two separate control paths.
- ! % Also, we would like to use `false /PFBDecode filter',
- % but this occasionally produces a whitespace character as
- % the first of an eexec section, so we can't do it.
- ! % Finally, since the interpreter doesn't currently automatically
- % close an input file when the file reaches EOF (unless it's
- % the interpreter's current input file), we must explicitly
- % close the real file if we used a PFB filter.
- ! currentpacking
- ! { false setpacking
- ! { dup read not { -1 } if
- ! 2 copy unread 16#80 eq
- ! { dup true /PFBDecode filter cvx exec closefile }
- ! { cvx exec }
- ! ifelse
- ! } stopped % split up `execute'
- ! true setpacking
- ! $error /newerror get and {handleerror} if
- ! }
- ! { { dup read not { -1 } if
- ! 2 copy unread 16#80 eq
- ! { dup true /PFBDecode filter cvx exec closefile }
- ! { cvx exec }
- ! ifelse
- ! } execute
- ! }
- ! ifelse
- ! DISKFONTS { end } if
- ! end end cleartomark
- } bind def
-
- % Define a procedure for defining aliased fonts.
- % We just copy the original font, changing the FontName.
- ! /.aliasfont % <name> <font> -> <newFont>
- { dup length 2 add dict
- dup 3 -1 roll { 1 index /FID eq { pop pop } { put dup } ifelse } forall
- /FontName 3 index put
- --- 424,465 ----
- ifelse
- } bind def
- currentdict end readonly /.loadfontdict exch def
- ! /.loadfont % <file> .loadfont -
- { mark exch systemdict begin
- DISKFONTS { .loadfontdict begin } if
- % We really would just like systemdict on the stack,
- % but fonts produced by Fontographer require a writable dictionary....
- 8 dict begin % garbage
- ! % We can't just use `run', because we want to check for .PFB files.
- ! currentpacking
- ! { false setpacking .loadfont1 true setpacking }
- ! { .loadfont1 }
- ! ifelse
- ! { handleerror } if
- ! end
- ! DISKFONTS { end } if
- ! end cleartomark
- ! } bind def
- ! /.loadfont1 % <file> .loadfont1 <errorflag>
- ! { % We would like to use `false /PFBDecode filter',
- % but this occasionally produces a whitespace character as
- % the first of an eexec section, so we can't do it.
- ! % Also, since the interpreter doesn't currently automatically
- % close an input file when the file reaches EOF (unless it's
- % the interpreter's current input file), we must explicitly
- % close the real file if we used a PFB filter.
- ! { dup read not { -1 } if
- ! 2 copy unread 16#80 eq
- ! { dup true /PFBDecode filter cvx exec closefile }
- ! { cvx exec }
- ! ifelse
- ! } stopped
- ! $error /newerror get and
- } bind def
-
- % Define a procedure for defining aliased fonts.
- % We just copy the original font, changing the FontName.
- ! /.aliasfont % <name> <font> .aliasfont <newFont>
- { dup length 2 add dict
- dup 3 -1 roll { 1 index /FID eq { pop pop } { put dup } ifelse } forall
- /FontName 3 index put
- ***************
- *** 392,417 ****
- { vmstatus 3 { =only ( ) print } repeat
- (done.\n) print flush
- } if
- % Check to make sure the font was actually loaded.
- dup FontDirectory exch known { findfont exit } if
-
- ! (Loading ) print dup cvx =only
- ! ( font failed, substituting ) print defaultfontname cvx =only
- ! (.\n) print flush
- defaultfontname findfont .aliasfont exit
- }
- if
-
- % findlibfile failed, substitute the default font.
- % Stack: fontname fontfilename
- ! (Can't find \(or can't open\) font file ) print print
- ! dup defaultfontname eq
- ! { ( for default font \() print cvx =only
- (\)! Giving up.\n) print flush 1 .quit
- }
- ! { ( for font ) print dup cvx =only
- ! (, substituting ) print defaultfontname cvx =only
- ! (.\n) print flush
- defaultfontname findfont .aliasfont
- }
- ifelse
- --- 516,574 ----
- { vmstatus 3 { =only ( ) print } repeat
- (done.\n) print flush
- } if
- +
- % Check to make sure the font was actually loaded.
- dup FontDirectory exch known { findfont exit } if
-
- ! % Maybe the file had a different FontName.
- ! % See if we can get a FontName from the file, and if so,
- ! % whether a font by that name exists now.
- ! dup Fontmap exch get findlibfile
- ! { exch pop .findfontname
- ! { dup FontDirectory exch .knownget
- ! { % Yes. Stack: origfontname filefontname fontdir
- ! exch
- ! QUIET
- ! { pop
- ! }
- ! { (Using ) print cvx =only
- ! ( font for ) print 1 index cvx =only
- ! (.\n) print flush
- ! }
- ! ifelse
- ! .aliasfont exit
- ! }
- ! if pop
- ! }
- ! if
- ! }
- ! if
- !
- ! % The font definitely did not load correctly.
- ! QUIET not
- ! { (Loading ) print dup cvx =only
- ! ( font failed, substituting ) print defaultfontname cvx =only
- ! (.\n) print flush
- ! } if
- defaultfontname findfont .aliasfont exit
- }
- if
-
- % findlibfile failed, substitute the default font.
- % Stack: fontname fontfilename
- ! (Can't find \(or can't open\) font file )
- ! 1 index defaultfontname eq
- ! { print print ( for default font \() print cvx =only
- (\)! Giving up.\n) print flush 1 .quit
- }
- ! { QUIET
- ! { pop
- ! }
- ! { print print ( for font ) print dup cvx =only
- ! (, substituting ) print defaultfontname cvx =only
- ! (.\n) print flush
- ! }
- ! ifelse
- defaultfontname findfont .aliasfont
- }
- ifelse
- ***************
- *** 469,475 ****
- % because that would bind it into outline_C.)
- /setcachedevice_C { setcachedevice } bind def
-
- ! /outline_C % <charname> <charstring> -> -
- { currentdict /Metrics .knownget
- { 2 index .knownget
- { dup type dup /integertype eq exch /realtype eq or
- --- 626,632 ----
- % because that would bind it into outline_C.)
- /setcachedevice_C { setcachedevice } bind def
-
- ! /outline_C % <charname> <charstring> outline_C -
- { currentdict /Metrics .knownget
- { 2 index .knownget
- { dup type dup /integertype eq exch /realtype eq or
- *** 1.1 1993/07/19 15:43:44
- --- gs_statd.ps 1993/07/09 07:51:16
- ***************
- *** 33,43 ****
- /letter {612 792 //statusdict begin .setpagesize end} bind def
- /note {540 720 //statusdict begin .setpagesize end} bind def
- /legal {612 1008 //statusdict begin .setpagesize end} bind def
- ! /a3 {842 1190 //statusdict begin .setpagesize end} bind def
- ! /a4 {595 842 //statusdict begin .setpagesize end} bind def
- ! /a5 {421 595 //statusdict begin .setpagesize end} bind def
- ! /a6 {297 421 //statusdict begin .setpagesize end} bind def
- ! /b4 {709 1002 //statusdict begin .setpagesize end} bind def
- /flsa {612 936 //statusdict begin .setpagesize end} bind def % U.S. foolscap
- /flse {612 936 //statusdict begin .setpagesize end} bind def % European foolscap
- /halfletter {396 612 //statusdict begin .setpagesize end} bind def
- --- 33,60 ----
- /letter {612 792 //statusdict begin .setpagesize end} bind def
- /note {540 720 //statusdict begin .setpagesize end} bind def
- /legal {612 1008 //statusdict begin .setpagesize end} bind def
- ! /a0 {2380 3368 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /a1 {1684 2380 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /a2 {1190 1684 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /a3 {842 1190 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /a4 {595 842 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /a5 {421 595 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /a6 {297 421 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /a7 {210 297 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /a8 {148 210 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /a9 {105 148 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /a10 {74 105 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /b0 {2836 4008 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /b1 {2004 2836 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /b2 {1418 2004 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /b3 {1002 1418 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /b4 {709 1002 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /b5 {501 709 //statusdict begin .setpagesize end} bind def % ISO standard
- ! /archE {2592 3456 //statusdict begin .setpagesize end} bind def % U.S. CAD std
- ! /archD {1728 2592 //statusdict begin .setpagesize end} bind def % U.S. CAD std
- ! /archC {1296 1728 //statusdict begin .setpagesize end} bind def % U.S. CAD std
- ! /archB {864 1296 //statusdict begin .setpagesize end} bind def % U.S. CAD std
- ! /archA {648 864 //statusdict begin .setpagesize end} bind def % U.S. CAD std
- /flsa {612 936 //statusdict begin .setpagesize end} bind def % U.S. foolscap
- /flse {612 936 //statusdict begin .setpagesize end} bind def % European foolscap
- /halfletter {396 612 //statusdict begin .setpagesize end} bind def
- ***************
- *** 51,57 ****
- % Define the pagetype values for the known page formats.
- % The values for all but letter and note are arbitrary.
- /.pagetypenames
- ! { /letter /note /legal /a3 /a4 /a5 /a6 /b4
- /flsa /flse /halfletter /11x17 /ledger
- } cvlit readonly def
-
- --- 68,76 ----
- % Define the pagetype values for the known page formats.
- % The values for all but letter and note are arbitrary.
- /.pagetypenames
- ! { /letter /note /legal
- ! /a0 /a1 /a2 /a3 /a4 /a5 /a6 /a7 /a8 /a9 /a10
- ! /b0 /b1 /b2 /b3 /b4 /b5 /archE /archD /archC /archB /archA
- /flsa /flse /halfletter /11x17 /ledger
- } cvlit readonly def
-
- ***************
- *** 176,182 ****
- /exitserver { clear stop } bind def
- % However, this interacts badly with our standard error handler,
- % so we override it with the following less appropriate definition.
- ! /exitserver { clear cleardictstack } bind def
- /setrealdevice { } bind def
-
- end % serverdict
- --- 195,201 ----
- /exitserver { clear stop } bind def
- % However, this interacts badly with our standard error handler,
- % so we override it with the following less appropriate definition.
- ! /exitserver { 0 ne { clear cleardictstack } if } bind def
- /setrealdevice { } bind def
-
- end % serverdict
- *** 1.1 1993/07/19 15:43:44
- --- gschar.c 1993/07/08 16:50:00
- ***************
- *** 547,553 ****
- }
- else
- code = show_fast_move(cc->wxy, pgs);
- ! if ( code ) return code;
- }
- /* All done. */
- return show_finish(penum);
- --- 547,558 ----
- }
- else
- code = show_fast_move(cc->wxy, pgs);
- ! if ( code )
- ! { /* Might be kshow, so store the state. */
- ! penum->current_char = chr;
- ! penum->current_glyph = glyph;
- ! return code;
- ! }
- }
- /* All done. */
- return show_finish(penum);
- *** 1.2 1993/06/29 02:22:52
- --- gsdps1.c 1993/06/28 17:46:38
- ***************
- *** 18,23 ****
- --- 18,24 ----
-
- /* gsdps1.c */
- /* Display PostScript graphics additions for Ghostscript library */
- + #include "math_.h"
- #include "gx.h"
- #include "gserrors.h"
- #include "gxfixed.h"
- ***************
- *** 31,37 ****
- int
- gs_setbbox(gs_state *pgs, floatp llx, floatp lly, floatp urx, floatp ury)
- { gs_rect ubox, dbox;
- ! gs_fixed_rect bbox;
- gx_path *ppath = pgs->path;
- int code;
- if ( llx > urx || lly > ury )
- --- 32,38 ----
- int
- gs_setbbox(gs_state *pgs, floatp llx, floatp lly, floatp urx, floatp ury)
- { gs_rect ubox, dbox;
- ! gs_fixed_rect obox, bbox;
- gx_path *ppath = pgs->path;
- int code;
- if ( llx > urx || lly > ury )
- ***************
- *** 43,61 ****
- ubox.q.y = ury;
- if ( (code = gs_bbox_transform(&ubox, &ctm_only(pgs), &dbox)) < 0 )
- return code;
- ! if ( gx_path_bbox(ppath, &bbox) >= 0 )
- { /* Take the union of the bboxes. */
- ! ppath->bbox.p.x = min(bbox.p.x, float2fixed(dbox.p.x));
- ! ppath->bbox.p.y = min(bbox.p.y, float2fixed(dbox.p.y));
- ! ppath->bbox.q.x = max(bbox.q.x, float2fixed(dbox.q.x));
- ! ppath->bbox.q.y = max(bbox.q.y, float2fixed(dbox.q.y));
- }
- else /* empty path */
- { /* Just set the bbox. */
- ! ppath->bbox.p.x = float2fixed(dbox.p.x);
- ! ppath->bbox.p.y = float2fixed(dbox.p.y);
- ! ppath->bbox.q.x = float2fixed(dbox.q.x);
- ! ppath->bbox.q.y = float2fixed(dbox.q.y);
- ppath->bbox_set = 1;
- }
- return 0;
- --- 44,67 ----
- ubox.q.y = ury;
- if ( (code = gs_bbox_transform(&ubox, &ctm_only(pgs), &dbox)) < 0 )
- return code;
- ! /* Round the corners in opposite directions. */
- ! bbox.p.x = (fixed)floor(dbox.p.x * _fixed_scale);
- ! bbox.p.y = (fixed)floor(dbox.p.y * _fixed_scale);
- ! bbox.q.x = (fixed)ceil(dbox.q.x * _fixed_scale);
- ! bbox.q.y = (fixed)ceil(dbox.q.y * _fixed_scale);
- ! if ( gx_path_bbox(ppath, &obox) >= 0 )
- { /* Take the union of the bboxes. */
- ! ppath->bbox.p.x = min(obox.p.x, bbox.p.x);
- ! ppath->bbox.p.y = min(obox.p.y, bbox.p.y);
- ! ppath->bbox.q.x = max(obox.q.x, bbox.q.x);
- ! ppath->bbox.q.y = max(obox.q.y, bbox.q.y);
- }
- else /* empty path */
- { /* Just set the bbox. */
- ! ppath->bbox.p.x = bbox.p.x;
- ! ppath->bbox.p.y = bbox.p.y;
- ! ppath->bbox.q.x = bbox.q.x;
- ! ppath->bbox.q.y = bbox.q.y;
- ppath->bbox_set = 1;
- }
- return 0;
- *** /dev/null 1993/07/19 15:46:30
- --- gsgraph.uue 1993/07/08 08:07:50
- ***************
- *** 0 ****
- --- 1,21 ----
- + begin 644 gsgraph.ico
- + M ! $ (" 0 #H @ %@ "@ @ 0 $ ! @ (
- + M " " @( @ ( @ " @
- + M@(" $! 0 /\ /\ #__P#_ _P#_ /__ #___\ S,S,S,S,S,S,
- + MS,S,S,S,S,S,S,S,S,S,S+N[S,S,S,S,O+S+S+S+N[S,S+S+N\S,S+R\R\R\
- + MO,R\R[N\O,S,S,R\O,O,O,N[O+S,O+N[O,S,O+S+S+S,S+R\S+R\S+S,S+R[
- + MO+O,R[O,R[N\R[O,S,S,S,S,S,S,S,S,S,S,S,S,O,S,S,S,S,S,S,S,S,S,
- + MS,S,S,S,S,S,S,S,S,S,S /__________\ /_______P\
- + M /_______P /_______P / _P /\/______
- + M\ ____ ___P_______P_____P _____P______________ /______
- + M_______P /\ /_P /__________\ /\ #P #__________P
- + M#_______\/ /_P_P#_\ #_#_\ __
- + M _____P /____\ #_#P_P
- + M #___ __\ #__P
- + M /__ /\
- + M
- + M ^ __P ?_^ ?OS "!X . ! ( & PA@ >=\
- + M /__@ '__\ !___@ ?__^ '___@#___X!____ ____@?___P/___^'____S_
- + !____
- +
- + end
- *** /dev/null 1993/07/19 15:46:30
- --- gstext.uue 1993/07/08 08:07:50
- ***************
- *** 0 ****
- --- 1,21 ----
- + begin 644 gstext.ico
- + M ! $ (" 0 #H @ %@ "@ @ 0 $ ! @ (
- + M " " @( @ ( @ " @
- + M@(" $! 0 /\ /\ #__P#_ _P#_ /__ #___\ $1$1$1$1$1$1
- + M$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1N[L1&[L1&[L1$1L1$1$1$;$1L;
- + M$1L;$1L1$1$1$1$1&Q$;&Q$;&Q$;$1&Q$1$1$1L1&QL1&QL1&Q$1L1$1$1$;
- + MN[$1N[$1N[$1$;$1$1$1&Q$1$1$1$1$1$1&Q$1$1$1L1$1$1$1$1$1$1L1$1
- + M$1$1$1$1$1$1$1$1$1$1$0 /__________\ /_______P\
- + M /_______P /_______P / _P /\/______
- + M\ ____ ___P_______P_____P _____P______________ /______
- + M_______P /\ /_P /__________\ /\ #P #__________P
- + M#_______\/ /_P_P#_\ #_#_\ __
- + M _____P /____\ #_#P_P
- + M #___ __\ #__P
- + M /__ /\
- + M
- + M ^ __P ?_^ ?OS "!X . ! ( & PA@ >=\
- + M /__@ '__\ !___@ ?__^ '___@#___X!____ ____@?___P/___^'____S_
- + !____
- +
- + end
- *** 1.1 1993/07/19 15:43:44
- --- gxdither.c 1993/07/08 17:00:44
- ***************
- *** 234,250 ****
- #define half (frac_1/2)
- if ( rem_r > half )
- rem_r = frac_1 - rem_r,
- ! adjust_r = -1, r++, lum_invert += lum_red_weight;
- else
- adjust_r = 1;
- if ( rem_g > half )
- rem_g = frac_1 - rem_g,
- ! adjust_g = -1, g++, lum_invert += lum_green_weight;
- else
- adjust_g = 1;
- if ( rem_b > half )
- rem_b = frac_1 - rem_b,
- ! adjust_b = -1, b++, lum_invert += lum_blue_weight;
- else
- adjust_b = 1;
- pdevc->color1 = (*map_rgb_color)(dev, fractional_color(r, max_value),
- --- 234,250 ----
- #define half (frac_1/2)
- if ( rem_r > half )
- rem_r = frac_1 - rem_r,
- ! adjust_r = -1, r++, lum_invert += lum_red_weight * 2;
- else
- adjust_r = 1;
- if ( rem_g > half )
- rem_g = frac_1 - rem_g,
- ! adjust_g = -1, g++, lum_invert += lum_green_weight * 2;
- else
- adjust_g = 1;
- if ( rem_b > half )
- rem_b = frac_1 - rem_b,
- ! adjust_b = -1, b++, lum_invert += lum_blue_weight * 2;
- else
- adjust_b = 1;
- pdevc->color1 = (*map_rgb_color)(dev, fractional_color(r, max_value),
- ***************
- *** 311,325 ****
- color2 = (*map_rgb_color)(dev, fractional_color(r, max_value),
- fractional_color(g, max_value),
- fractional_color(b, max_value));
- - /****** THIS IS A BAD IDEA ******/
- - #if 0
- if ( lum_w[diagc] < lum_invert )
- { pdevc->color2 = pdevc->color1;
- pdevc->color1 = color2;
- pdevc->halftone_level = level = hsize - level;
- }
- else
- - #endif
- pdevc->color2 = color2;
- gx_color_load(pdevc, pgs);
- }
- --- 311,322 ----
- *** 1.3 1993/06/29 02:58:13
- --- unix-ansi.mak 1993/07/19 15:50:09
- ***************
- *** 1077,1083 ****
- # * att3b1 AT&T 3b1/Unixpc monochrome display [3b1 only]
- # * sonyfb Sony Microsystems monochrome display [Sony only]
- # * sunview SunView window system [SunOS only]
- ! # x11 X Windows version 11, release >=3 [Unix and VMS only]
- # Printers:
- # * appledmp Apple Dot Matrix Printer (should also work with Imagewriter)
- # bj10e Canon BubbleJet BJ10e
- --- 1077,1083 ----
- # * att3b1 AT&T 3b1/Unixpc monochrome display [3b1 only]
- # * sonyfb Sony Microsystems monochrome display [Sony only]
- # * sunview SunView window system [SunOS only]
- ! # x11 X Windows version 11, release >=4 [Unix and VMS only]
- # Printers:
- # * appledmp Apple Dot Matrix Printer (should also work with Imagewriter)
- # bj10e Canon BubbleJet BJ10e
- ***************
- *** 1109,1114 ****
- --- 1109,1115 ----
- # * lj250 DEC LJ250 Companion color printer
- # + ljet2p H-P LaserJet IId/IIp/III* with TIFF compression
- # + ljet3 H-P LaserJet III* with Delta Row compression
- + # + ljet4 H-P LaserJet 4 (defaults to 600 dpi)
- # + ljetplus H-P LaserJet Plus
- # * m8510 C.Itoh M8510 printer
- # * necp6 NEC P6/P6+/P60 printers at 360 x 360 DPI resolution
- ***************
- *** 1436,1441 ****
- --- 1437,1447 ----
- ljet3.dev: $(HPMONO)
- $(SHP)gssetdev ljet3 $(HPMONO)
-
- + ### Selecting ljet4 also provides Delta Row compression on LaserJet IV series.
- +
- + ljet4.dev: $(HPMONO)
- + $(SHP)gssetdev ljet4 $(HPMONO)
- +
- ###- The H-P DeskJet 500C/550C and PaintJet family color printer devices -###
- ### Note: there are two different 500C drivers, both contributed by users.###
- ### If you have questions about the djet500c driver, ###
- ***************
- *** 1517,1527 ****
- ### Note: this driver was contributed by a user: if you have questions, ###
- ### please contact Richard Brown (rab@tauon.ph.unimelb.edu.au). ###
-
- ! escp2_=gdevescp2.$(OBJ) gdevprn.$(OBJ)
- escp2.dev: $(escp2_)
- $(SHP)gssetdev escp2 $(escp2_)
-
- ! gdevescp2.$(OBJ): gdevescp2.c $(PDEVH)
-
- ### ------------ The H-P PaintJet color printer device ----------------- ###
- ### Note: this driver also supports the DEC LJ250 color printer, which ###
- --- 1523,1533 ----
- ### Note: this driver was contributed by a user: if you have questions, ###
- ### please contact Richard Brown (rab@tauon.ph.unimelb.edu.au). ###
-
- ! escp2_=gdevescp.$(OBJ) gdevprn.$(OBJ)
- escp2.dev: $(escp2_)
- $(SHP)gssetdev escp2 $(escp2_)
-
- ! gdevescp.$(OBJ): gdevescp.c $(PDEVH)
-
- ### ------------ The H-P PaintJet color printer device ----------------- ###
- ### Note: this driver also supports the DEC LJ250 color printer, which ###
- ***************
- *** 1716,1729 ****
- # Aladdin Enterprises does not support Ghostview. For more information
- # about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
-
- - # NOTE: Xmu and Xext are here to keep Sun's dynamic linker happy. No
- - # routines are used from either of these two libraries. If you
- - # do not have libXmu.a or libXext.a, simply remove these two lines
- - # from the Makefile.
- x11_=gdevx.$(OBJ) gdevxini.$(OBJ) gdevxxf.$(OBJ) gdevemap.$(OBJ)
- x11.dev: $(x11_)
- $(SHP)gssetdev x11 $(x11_)
- ! $(SHP)gsaddmod x11 -lib Xt Xmu X11 Xext
-
- # See the main makefile for the definition of XINCLUDE.
- GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
- --- 1722,1731 ----
- # Aladdin Enterprises does not support Ghostview. For more information
- # about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
-
- x11_=gdevx.$(OBJ) gdevxini.$(OBJ) gdevxxf.$(OBJ) gdevemap.$(OBJ)
- x11.dev: $(x11_)
- $(SHP)gssetdev x11 $(x11_)
- ! $(SHP)gsaddmod x11 -lib Xt X11 Xext
-
- # See the main makefile for the definition of XINCLUDE.
- GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
- *** 1.3 1993/06/29 02:58:13
- --- unix-cc.mak 1993/07/19 15:50:10
- ***************
- *** 1072,1078 ****
- # * att3b1 AT&T 3b1/Unixpc monochrome display [3b1 only]
- # * sonyfb Sony Microsystems monochrome display [Sony only]
- # * sunview SunView window system [SunOS only]
- ! # x11 X Windows version 11, release >=3 [Unix and VMS only]
- # Printers:
- # * appledmp Apple Dot Matrix Printer (should also work with Imagewriter)
- # bj10e Canon BubbleJet BJ10e
- --- 1072,1078 ----
- # * att3b1 AT&T 3b1/Unixpc monochrome display [3b1 only]
- # * sonyfb Sony Microsystems monochrome display [Sony only]
- # * sunview SunView window system [SunOS only]
- ! # x11 X Windows version 11, release >=4 [Unix and VMS only]
- # Printers:
- # * appledmp Apple Dot Matrix Printer (should also work with Imagewriter)
- # bj10e Canon BubbleJet BJ10e
- ***************
- *** 1104,1109 ****
- --- 1104,1110 ----
- # * lj250 DEC LJ250 Companion color printer
- # + ljet2p H-P LaserJet IId/IIp/III* with TIFF compression
- # + ljet3 H-P LaserJet III* with Delta Row compression
- + # + ljet4 H-P LaserJet 4 (defaults to 600 dpi)
- # + ljetplus H-P LaserJet Plus
- # * m8510 C.Itoh M8510 printer
- # * necp6 NEC P6/P6+/P60 printers at 360 x 360 DPI resolution
- ***************
- *** 1431,1436 ****
- --- 1432,1442 ----
- ljet3.dev: $(HPMONO)
- $(SHP)gssetdev ljet3 $(HPMONO)
-
- + ### Selecting ljet4 also provides Delta Row compression on LaserJet IV series.
- +
- + ljet4.dev: $(HPMONO)
- + $(SHP)gssetdev ljet4 $(HPMONO)
- +
- ###- The H-P DeskJet 500C/550C and PaintJet family color printer devices -###
- ### Note: there are two different 500C drivers, both contributed by users.###
- ### If you have questions about the djet500c driver, ###
- ***************
- *** 1512,1522 ****
- ### Note: this driver was contributed by a user: if you have questions, ###
- ### please contact Richard Brown (rab@tauon.ph.unimelb.edu.au). ###
-
- ! escp2_=gdevescp2.$(OBJ) gdevprn.$(OBJ)
- escp2.dev: $(escp2_)
- $(SHP)gssetdev escp2 $(escp2_)
-
- ! gdevescp2.$(OBJ): gdevescp2.c $(PDEVH)
-
- ### ------------ The H-P PaintJet color printer device ----------------- ###
- ### Note: this driver also supports the DEC LJ250 color printer, which ###
- --- 1518,1528 ----
- ### Note: this driver was contributed by a user: if you have questions, ###
- ### please contact Richard Brown (rab@tauon.ph.unimelb.edu.au). ###
-
- ! escp2_=gdevescp.$(OBJ) gdevprn.$(OBJ)
- escp2.dev: $(escp2_)
- $(SHP)gssetdev escp2 $(escp2_)
-
- ! gdevescp.$(OBJ): gdevescp.c $(PDEVH)
-
- ### ------------ The H-P PaintJet color printer device ----------------- ###
- ### Note: this driver also supports the DEC LJ250 color printer, which ###
- ***************
- *** 1711,1724 ****
- # Aladdin Enterprises does not support Ghostview. For more information
- # about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
-
- - # NOTE: Xmu and Xext are here to keep Sun's dynamic linker happy. No
- - # routines are used from either of these two libraries. If you
- - # do not have libXmu.a or libXext.a, simply remove these two lines
- - # from the Makefile.
- x11_=gdevx.$(OBJ) gdevxini.$(OBJ) gdevxxf.$(OBJ) gdevemap.$(OBJ)
- x11.dev: $(x11_)
- $(SHP)gssetdev x11 $(x11_)
- ! $(SHP)gsaddmod x11 -lib Xt Xmu X11 Xext
-
- # See the main makefile for the definition of XINCLUDE.
- GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
- --- 1717,1726 ----
- # Aladdin Enterprises does not support Ghostview. For more information
- # about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
-
- x11_=gdevx.$(OBJ) gdevxini.$(OBJ) gdevxxf.$(OBJ) gdevemap.$(OBJ)
- x11.dev: $(x11_)
- $(SHP)gssetdev x11 $(x11_)
- ! $(SHP)gsaddmod x11 -lib Xt X11 Xext
-
- # See the main makefile for the definition of XINCLUDE.
- GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
- *** 1.3 1993/06/29 02:58:13
- --- unix-gcc.mak 1993/07/19 15:50:12
- ***************
- *** 1079,1085 ****
- # * att3b1 AT&T 3b1/Unixpc monochrome display [3b1 only]
- # * sonyfb Sony Microsystems monochrome display [Sony only]
- # * sunview SunView window system [SunOS only]
- ! # x11 X Windows version 11, release >=3 [Unix and VMS only]
- # Printers:
- # * appledmp Apple Dot Matrix Printer (should also work with Imagewriter)
- # bj10e Canon BubbleJet BJ10e
- --- 1079,1085 ----
- # * att3b1 AT&T 3b1/Unixpc monochrome display [3b1 only]
- # * sonyfb Sony Microsystems monochrome display [Sony only]
- # * sunview SunView window system [SunOS only]
- ! # x11 X Windows version 11, release >=4 [Unix and VMS only]
- # Printers:
- # * appledmp Apple Dot Matrix Printer (should also work with Imagewriter)
- # bj10e Canon BubbleJet BJ10e
- ***************
- *** 1111,1116 ****
- --- 1111,1117 ----
- # * lj250 DEC LJ250 Companion color printer
- # + ljet2p H-P LaserJet IId/IIp/III* with TIFF compression
- # + ljet3 H-P LaserJet III* with Delta Row compression
- + # + ljet4 H-P LaserJet 4 (defaults to 600 dpi)
- # + ljetplus H-P LaserJet Plus
- # * m8510 C.Itoh M8510 printer
- # * necp6 NEC P6/P6+/P60 printers at 360 x 360 DPI resolution
- ***************
- *** 1438,1443 ****
- --- 1439,1449 ----
- ljet3.dev: $(HPMONO)
- $(SHP)gssetdev ljet3 $(HPMONO)
-
- + ### Selecting ljet4 also provides Delta Row compression on LaserJet IV series.
- +
- + ljet4.dev: $(HPMONO)
- + $(SHP)gssetdev ljet4 $(HPMONO)
- +
- ###- The H-P DeskJet 500C/550C and PaintJet family color printer devices -###
- ### Note: there are two different 500C drivers, both contributed by users.###
- ### If you have questions about the djet500c driver, ###
- ***************
- *** 1519,1529 ****
- ### Note: this driver was contributed by a user: if you have questions, ###
- ### please contact Richard Brown (rab@tauon.ph.unimelb.edu.au). ###
-
- ! escp2_=gdevescp2.$(OBJ) gdevprn.$(OBJ)
- escp2.dev: $(escp2_)
- $(SHP)gssetdev escp2 $(escp2_)
-
- ! gdevescp2.$(OBJ): gdevescp2.c $(PDEVH)
-
- ### ------------ The H-P PaintJet color printer device ----------------- ###
- ### Note: this driver also supports the DEC LJ250 color printer, which ###
- --- 1525,1535 ----
- ### Note: this driver was contributed by a user: if you have questions, ###
- ### please contact Richard Brown (rab@tauon.ph.unimelb.edu.au). ###
-
- ! escp2_=gdevescp.$(OBJ) gdevprn.$(OBJ)
- escp2.dev: $(escp2_)
- $(SHP)gssetdev escp2 $(escp2_)
-
- ! gdevescp.$(OBJ): gdevescp.c $(PDEVH)
-
- ### ------------ The H-P PaintJet color printer device ----------------- ###
- ### Note: this driver also supports the DEC LJ250 color printer, which ###
- ***************
- *** 1718,1731 ****
- # Aladdin Enterprises does not support Ghostview. For more information
- # about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
-
- - # NOTE: Xmu and Xext are here to keep Sun's dynamic linker happy. No
- - # routines are used from either of these two libraries. If you
- - # do not have libXmu.a or libXext.a, simply remove these two lines
- - # from the Makefile.
- x11_=gdevx.$(OBJ) gdevxini.$(OBJ) gdevxxf.$(OBJ) gdevemap.$(OBJ)
- x11.dev: $(x11_)
- $(SHP)gssetdev x11 $(x11_)
- ! $(SHP)gsaddmod x11 -lib Xt Xmu X11 Xext
-
- # See the main makefile for the definition of XINCLUDE.
- GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
- --- 1724,1733 ----
- # Aladdin Enterprises does not support Ghostview. For more information
- # about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
-
- x11_=gdevx.$(OBJ) gdevxini.$(OBJ) gdevxxf.$(OBJ) gdevemap.$(OBJ)
- x11.dev: $(x11_)
- $(SHP)gssetdev x11 $(x11_)
- ! $(SHP)gsaddmod x11 -lib Xt X11 Xext
-
- # See the main makefile for the definition of XINCLUDE.
- GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
- *** 1.1 1993/07/19 15:43:44
- --- use.doc 1993/07/18 15:52:50
- ***************
- *** 1,4 ****
- ! Copyright (C) 1989, 1992 Aladdin Enterprises. All rights reserved.
-
- This file is part of Ghostscript.
-
- --- 1,4 ----
- ! Copyright (C) 1989, 1992, 1993 Aladdin Enterprises. All rights reserved.
-
- This file is part of Ghostscript.
-
- ***************
- *** 286,291 ****
- --- 286,298 ----
- single directory, or a list of directories separated by a character
- appropriate for the operating system (':' on Unix systems, ';' on VMS
- systems, ';' on MS-DOS systems).
- +
- + When Ghostscript starts up, it also looks at the GS_FONTPATH environment
- + variable, which is also a list of directories. It goes to those
- + directories and looks for all files that appear to contain PostScript
- + fonts; it then effectively adds all those files and fonts to its internal
- + copy of the Fontmap (the catalog of fonts and the files that contain
- + them).
-
- Temporary files
- ---------------
- *** 1.1 1993/07/19 15:43:44
- --- vms-cc.mak 1993/07/08 16:55:20
- ***************
- *** 151,157 ****
- GXSTROKE
- IALLOC
- IBNUM
- - IBSCAN
- ICCFONT
- IDEBUG
- IDICT
- --- 151,156 ----
- ***************
- *** 161,166 ****
- --- 160,166 ----
- INTERP
- ISAVE
- ISCAN
- + ISCAN2
- IUTIL
- SBITS
- SCFD
- ***************
- *** 263,272 ****
- $ !
- $ CC'CDEF/NOLIST/OBJECT=GDEVX.OBJ GDEVX.C
- $ !
- $ CC'CDEF/NOLIST/OBJECT=GSMAIN.OBJ GSMAIN.C
- $ !
- $ CC'CDEF/NOLIST/OBJECT=GS.OBJ GS.C
- ! $ LINK'LDEF/NOMAP/EXE=GS.EXE GS,GSMAIN,GDEVX,GDEVXINI,GCONFIG,-
- GS/LIB/INCLUDE=(GDEVMEM1,GDEVMEM2,GDEVMEM3,GXCLIST,GXCLREAD,-
- ZARITH,ZARRAY,ZBSEQ,ZCHAR,ZCOLOR,ZCOLOR2,ZCONTROL,ZDEVICE,ZDPS1,-
- ZDICT,ZFILE,ZFILEDEV,ZFILEIO,ZFILTER,ZFILTER2,ZFONT,ZFONT0,ZFONT1,ZFONT2,-
- --- 263,274 ----
- $ !
- $ CC'CDEF/NOLIST/OBJECT=GDEVX.OBJ GDEVX.C
- $ !
- + $ CC'CDEF/NOLIST/OBJECT=GDEVXXF.OBJ GDEVXXF.C
- + $ !
- $ CC'CDEF/NOLIST/OBJECT=GSMAIN.OBJ GSMAIN.C
- $ !
- $ CC'CDEF/NOLIST/OBJECT=GS.OBJ GS.C
- ! $ LINK'LDEF/NOMAP/EXE=GS.EXE GS,GSMAIN,GDEVX,GDEVXINI,GDEVXXF,GCONFIG,-
- GS/LIB/INCLUDE=(GDEVMEM1,GDEVMEM2,GDEVMEM3,GXCLIST,GXCLREAD,-
- ZARITH,ZARRAY,ZBSEQ,ZCHAR,ZCOLOR,ZCOLOR2,ZCONTROL,ZDEVICE,ZDPS1,-
- ZDICT,ZFILE,ZFILEDEV,ZFILEIO,ZFILTER,ZFILTER2,ZFONT,ZFONT0,ZFONT1,ZFONT2,-
- ***************
- *** 275,281 ****
- ZPROPS,ZRELBIT,ZSTACK,ZSTRING,ZTYPE,ZUPATH,ZVMEM),SYS$INPUT/OPT
- SYS$SHARE:DECW$DWTLIBSHR/SHARE,SYS$SHARE:DECW$XLIBSHR.EXE/SHARE
- $ !
- ! $ DELETE GDEVX.OBJ.*,GDEVXINI.OBJ.*,GSMAIN.OBJ.*,GS.OBJ.*,-
- GCONFIG.OBJ.*
- $ !
- $ DEASSIGN X11
- --- 277,283 ----
- ZPROPS,ZRELBIT,ZSTACK,ZSTRING,ZTYPE,ZUPATH,ZVMEM),SYS$INPUT/OPT
- SYS$SHARE:DECW$DWTLIBSHR/SHARE,SYS$SHARE:DECW$XLIBSHR.EXE/SHARE
- $ !
- ! $ DELETE GDEVX.OBJ.*,GDEVXINI.OBJ.*,GDEVXXF.OBJ.*,GSMAIN.OBJ.*,GS.OBJ.*,-
- GCONFIG.OBJ.*
- $ !
- $ DEASSIGN X11
- *** 1.1 1993/07/19 15:43:44
- --- vms-gcc.mak 1993/07/08 16:55:32
- ***************
- *** 157,163 ****
- GXSTROKE
- IALLOC
- IBNUM
- - IBSCAN
- ICCFONT
- IDEBUG
- IDICT
- --- 157,162 ----
- ***************
- *** 167,172 ****
- --- 166,172 ----
- INTERP
- ISAVE
- ISCAN
- + ISCAN2
- IUTIL
- SBITS
- SCFD
- ***************
- *** 263,274 ****
- $ GCC'CDEF/NOLIST/DEFINE=('LIBDEF','INIDEF')/OBJECT=GCONFIG.OBJ GCONFIG.C
- $ GCC'CDEF/NOLIST/INCLUDE_DIRECTORY='F$TRNLNM("SYS$COMMON") -
- /OBJECT=GDEVXINI.OBJ GDEVXINI.C
- ! $ GCC'CDEF/NOLIST/INCLUDE_DIRECTORY='F$TRNLNM("SYS$COMMON")/OBJECT=GDEVX.OBJ -
- ! GDEVX.C
- $ GCC'CDEF/NOLIST/OBJECT=GSMAIN.OBJ GSMAIN.C
- $ !
- $ GCC'CDEF/NOLIST/OBJECT=GS.OBJ GS.C
- ! $ LINK'LDEF/NOMAP/EXE=GS.EXE GS,GSMAIN,GDEVX,GDEVXINI,GCONFIG,-
- GS/LIB/INCLUDE=(GDEVMEM1,GDEVMEM2,GDEVMEM3,GXCLIST,GXCLREAD,-
- ZARITH,ZARRAY,ZBSEQ,ZCHAR,ZCOLOR,ZCOLOR2,ZCONTROL,ZDEVICE,ZDPS1,-
- ZDICT,ZFILE,ZFILEDEV,ZFILEIO,ZFILTER,ZFILTER2,ZFONT,ZFONT0,ZFONT1,ZFONT2,-
- --- 263,276 ----
- $ GCC'CDEF/NOLIST/DEFINE=('LIBDEF','INIDEF')/OBJECT=GCONFIG.OBJ GCONFIG.C
- $ GCC'CDEF/NOLIST/INCLUDE_DIRECTORY='F$TRNLNM("SYS$COMMON") -
- /OBJECT=GDEVXINI.OBJ GDEVXINI.C
- ! $ GCC'CDEF/NOLIST/INCLUDE_DIRECTORY='F$TRNLNM("SYS$COMMON") -
- ! /OBJECT=GDEVX.OBJ GDEVX.C
- ! $ GCC'CDEF/NOLIST/INCLUDE_DIRECTORY='F$TRNLNM("SYS$COMMON") -
- ! /OBJECT=GDEVXXF.OBJ GDEVXXF.C
- $ GCC'CDEF/NOLIST/OBJECT=GSMAIN.OBJ GSMAIN.C
- $ !
- $ GCC'CDEF/NOLIST/OBJECT=GS.OBJ GS.C
- ! $ LINK'LDEF/NOMAP/EXE=GS.EXE GS,GSMAIN,GDEVX,GDEVXINI,GDEVXXF,GCONFIG,-
- GS/LIB/INCLUDE=(GDEVMEM1,GDEVMEM2,GDEVMEM3,GXCLIST,GXCLREAD,-
- ZARITH,ZARRAY,ZBSEQ,ZCHAR,ZCOLOR,ZCOLOR2,ZCONTROL,ZDEVICE,ZDPS1,-
- ZDICT,ZFILE,ZFILEDEV,ZFILEIO,ZFILTER,ZFILTER2,ZFONT,ZFONT0,ZFONT1,ZFONT2,-
- ***************
- *** 277,283 ****
- ZPROPS,ZRELBIT,ZSTACK,ZSTRING,ZTYPE,ZUPATH,ZVMEM),SYS$INPUT/OPT
- SYS$SHARE:DECW$DWTLIBSHR/SHARE,SYS$SHARE:DECW$XLIBSHR.EXE/SHARE
- $ !
- ! $ DELETE GDEVX.OBJ.*,GDEVXINI.OBJ.*,GSMAIN.OBJ.*,GS.OBJ.*,-
- GCONFIG.OBJ.*
- $ !
- $ DONE:
- --- 279,285 ----
- ZPROPS,ZRELBIT,ZSTACK,ZSTRING,ZTYPE,ZUPATH,ZVMEM),SYS$INPUT/OPT
- SYS$SHARE:DECW$DWTLIBSHR/SHARE,SYS$SHARE:DECW$XLIBSHR.EXE/SHARE
- $ !
- ! $ DELETE GDEVX.OBJ.*,GDEVXINI.OBJ.*,GDEVXXF.OBJ.*,GSMAIN.OBJ.*,GS.OBJ.*,-
- GCONFIG.OBJ.*
- $ !
- $ DONE:
- *** 1.1 1993/07/19 15:43:44
- --- zht2.c 1993/07/08 16:58:14
- ***************
- *** 21,26 ****
- --- 21,27 ----
- #include "ghost.h"
- #include "errors.h"
- #include "oper.h"
- + #include "alloc.h"
- #include "dict.h"
- #include "dparam.h"
- #include "iname.h" /* for name_eq */
-