diff -rNC2 gs252/Fontmap gs26/Fontmap *** gs252/Fontmap Sat Sep 19 03:17:20 1992 --- gs26/Fontmap Thu May 6 16:17:22 1993 *************** *** 1,3 **** ! % Copyright (C) 1990, 1992 Aladdin Enterprises. All rights reserved. % Distributed by Free Software Foundation, Inc. % --- 1,3 ---- ! % Copyright (C) 1990, 1992, 1993 Aladdin Enterprises. All rights reserved. % Distributed by Free Software Foundation, Inc. % *************** *** 99,105 **** /Helvetica (phvr.gsf) ; /Helvetica-Oblique (phvro.gsf) ; - /Helvetica-Narrow (phvrrn.gsf) ; /Helvetica-Bold (phvb.gsf) ; /Helvetica-BoldOblique (phvbo.gsf) ; /NewCenturySchlbk-Roman (pncr.gsf) ; --- 99,107 ---- /Helvetica (phvr.gsf) ; /Helvetica-Oblique (phvro.gsf) ; /Helvetica-Bold (phvb.gsf) ; /Helvetica-BoldOblique (phvbo.gsf) ; + % We don't have a full set of Helvetica-Narrow.... + /Helvetica-Narrow (phvrrn.gsf) ; + /Helvetica-Narrow-Bold /Helvetica-Narrow ; /NewCenturySchlbk-Roman (pncr.gsf) ; *************** *** 132,136 **** % % Type 1 fonts contributed to the X11R5 distribution. - % These have UniqueIDs and file names of their own. % --- 134,137 ---- *************** *** 206,209 **** --- 207,252 ---- % % + % Fonts contributed by URW GmbH for distribution under the GNU License. + % The following notice accompanied these fonts: + % + % N019003L Nimbus Sans L Regular PostScript Type 1 Font Program + % N021003L Nimbus Roman No9 L Regular PostScript Type 1 Font Program + % U004006T URW Grotesk 2031 Bold PostScript Type 1 Font Program + % U003043T URW Antiqua 2051 Regular Condensed PostScript Type 1 Font Program + % + % Copyright (c) 1992 URW GmbH, Hamburg, Germany + % + % This program is free software; you can redistribute it and/or modify + % it under the terms of the GNU General Public License as published by + % the Free Software Foundation; either version 2 of the License, or + % (at your option) later version. + % + % This program is distributed in the hope that it will be useful, + % but WITHOUT ANY WARRANTY; wihtout even the implied warranty of + % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + % See the GNU General Public License for more details. + % + % You should have received a copy of the GNU General Public License + % along with this program; if not, write to the Free Software + % Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + % + % Address: + % URW GmbH + % PC Support + % Harksheider Strasse 102 + % 2000 Hamburg 65 + % Germany + % Phone: +49 40 60 60 50 (Reception) + % Phone: +49 40 60 60 52 30 (PC Support) + % Fax : +49 40 60 60 52 52 + % + + /NimbusSansL-Regular (n019003l.gsf) ; + /NimbusRomanNo9L-Regular (n021003l.gsf) ; + /URWAntiquaT-RegularCondensed (u003043t.gsf) ; + /URWGroteskT-Bold (u004006t.gsf) ; + + % + % % Shareware fonts. These have no copyright, and are of questionable quality. % They have their own UniqueID numbering scheme, which bears no relation *************** *** 214,222 **** % ! % % Fonts converted from Hershey outlines. These are constructed and ! % maintained manually. Their entries here in the map contain a UniqueID ! % because the fonts themselves don't currently contain a UniqueID entry. ! % This is clearly wrong, and will be fixed someday. % % The UniqueID's and filenames are constructed differently for --- 257,263 ---- % ! % % Fonts converted from Hershey outlines. These are constructed and ! % maintained manually. % % The UniqueID's and filenames are constructed differently for *************** *** 223,233 **** % these than for the ones above, because of the strange way that the Hershey % fonts were constructed. The scheme for these looks like: ! % % 42TTXY0 ! % % TT = typeface, X = ``class'', Y = variation ! % % The typeface numbers are given above. ! % % class: % 0 = normal = r --- 264,274 ---- % these than for the ones above, because of the strange way that the Hershey % fonts were constructed. The scheme for these looks like: ! % % 42TTXY0 ! % % TT = typeface, X = ``class'', Y = variation ! % % The typeface numbers are given above. ! % % class: % 0 = normal = r *************** *** 235,239 **** % 2 = complex = c % 3 = triplex = t ! % % variation: % 0 = normal (omitted) --- 276,280 ---- % 2 = complex = c % 3 = triplex = t ! % % variation: % 0 = normal (omitted) *************** *** 243,283 **** % 4 = bold oblique = bo % 5 = bold italic = bi ! % ! /Hershey-Gothic-English (hrge_r.gsf) 4290000 ; ! /Hershey-Gothic-English-Bold (hrge_rb.gsf) 4290030 ; ! /Hershey-Gothic-English-Oblique (hrge_ro.gsf) 4290010 ; ! ! /Hershey-Gothic-German (hrgr_r.gsf) 4291000 ; ! /Hershey-Gothic-German-Bold (hrgr_rb.gsf) 4291030 ; ! /Hershey-Gothic-German-Oblique (hrgr_ro.gsf) 4291010 ; ! ! /Hershey-Gothic-Italian (hrit_r.gsf) 4292000 ; ! /Hershey-Gothic-Italian-Bold (hrit_rb.gsf) 4292030 ; ! /Hershey-Gothic-Italian-Oblique (hrit_ro.gsf) 4292010 ; ! ! /Hershey-Greek-Complex (hrgk_c.gsf) 4293200 ; ! /Hershey-Greek-Simplex (hrgk_s.gsf) 4293100 ; ! ! /Hershey-Plain (hrpl_r.gsf) 4294000 ; ! /Hershey-Plain-Bold (hrpl_rb.gsf) 4294030 ; ! /Hershey-Plain-Oblique (hrpl_ro.gsf) 4294010 ; ! /Hershey-Plain-Simplex (hrpl_s.gsf) 4294100 ; ! /Hershey-Plain-Simplex-Bold (hrpl_sb.gsf) 4294130 ; ! /Hershey-Plain-Simplex-Bold-Oblique (hrpl_sbo.gsf) 4294140 ; ! /Hershey-Plain-Simplex-Oblique (hrpl_so.gsf) 4294110 ; ! /Hershey-Plain-Triplex (hrpl_t.gsf) 4294300 ; ! /Hershey-Plain-Triplex-Italic (hrpl_ti.gsf) 4294320 ; ! /Hershey-Plain-Triplex-Bold (hrpl_tb.gsf) 4294330 ; ! /Hershey-Plain-Triplex-Bold-Italic (hrpl_tbi.gsf) 4294350 ; ! ! /Hershey-Script-Complex (hrsc_c.gsf) 4295200 ; ! /Hershey-Script-Complex-Bold (hrsc_cb.gsf) 4295230 ; ! /Hershey-Script-Complex-Oblique (hrsc_co.gsf) 4295210 ; ! /Hershey-Script-Simplex (hrsc_s.gsf) 4295100 ; ! /Hershey-Script-Simplex-Bold (hrsc_sb.gsf) 4295130 ; ! /Hershey-Script-Simplex-Oblique (hrsc_so.gsf) 4295110 ; % This font, and only this font among the Hershey fonts, uses % the SymbolEncoding. ! /Hershey-Symbol (hrsy_r.gsf) 4296000 ; --- 284,324 ---- % 4 = bold oblique = bo % 5 = bold italic = bi ! % ! /Hershey-Gothic-English (hrge_r.gsf) ; ! /Hershey-Gothic-English-Bold (hrge_rb.gsf) ; ! /Hershey-Gothic-English-Oblique (hrge_ro.gsf) ; ! ! /Hershey-Gothic-German (hrgr_r.gsf) ; ! /Hershey-Gothic-German-Bold (hrgr_rb.gsf) ; ! /Hershey-Gothic-German-Oblique (hrgr_ro.gsf) ; ! ! /Hershey-Gothic-Italian (hrit_r.gsf) ; ! /Hershey-Gothic-Italian-Bold (hrit_rb.gsf) ; ! /Hershey-Gothic-Italian-Oblique (hrit_ro.gsf) ; ! ! /Hershey-Greek-Complex (hrgk_c.gsf) ; ! /Hershey-Greek-Simplex (hrgk_s.gsf) ; ! ! /Hershey-Plain (hrpl_r.gsf) ; ! /Hershey-Plain-Bold (hrpl_rb.gsf) ; ! /Hershey-Plain-Oblique (hrpl_ro.gsf) ; ! /Hershey-Plain-Simplex (hrpl_s.gsf) ; ! /Hershey-Plain-Simplex-Bold (hrpl_sb.gsf) ; ! /Hershey-Plain-Simplex-Bold-Oblique (hrpl_sbo.gsf) ; ! /Hershey-Plain-Simplex-Oblique (hrpl_so.gsf) ; ! /Hershey-Plain-Triplex (hrpl_t.gsf) ; ! /Hershey-Plain-Triplex-Italic (hrpl_ti.gsf) ; ! /Hershey-Plain-Triplex-Bold (hrpl_tb.gsf) ; ! /Hershey-Plain-Triplex-Bold-Italic (hrpl_tbi.gsf) ; ! ! /Hershey-Script-Complex (hrsc_c.gsf) ; ! /Hershey-Script-Complex-Bold (hrsc_cb.gsf) ; ! /Hershey-Script-Complex-Oblique (hrsc_co.gsf) ; ! /Hershey-Script-Simplex (hrsc_s.gsf) ; ! /Hershey-Script-Simplex-Bold (hrsc_sb.gsf) ; ! /Hershey-Script-Simplex-Oblique (hrsc_so.gsf) ; % This font, and only this font among the Hershey fonts, uses % the SymbolEncoding. ! /Hershey-Symbol (hrsy_r.gsf) ; diff -rNC2 gs252/Fontmap.ATM gs26/Fontmap.ATM *** gs252/Fontmap.ATM --- gs26/Fontmap.ATM Sun Jan 31 10:14:12 1993 *************** *** 0 **** --- 1,134 ---- + % Copyright (C) 1990, 1992 Aladdin Enterprises. All rights reserved. + % Distributed by Free Software Foundation, Inc. + % + % This file is part of Ghostscript. + % + % Ghostscript is distributed in the hope that it will be useful, but + % WITHOUT ANY WARRANTY. No author or distributor accepts responsibility + % to anyone for the consequences of using it or for whether it serves any + % particular purpose or works at all, unless he says so in writing. Refer + % to the Ghostscript General Public License for full details. + % + % Everyone is granted permission to copy, modify and redistribute + % Ghostscript, but only under the conditions described in the Ghostscript + % General Public License. A copy of this license is supposed to have been + % given to you along with Ghostscript so you can know your rights and + % responsibilities. It should be in a file named COPYING. Among other + % things, the copyright notice and this notice must be preserved on all + % copies. + + % Fontmap.ATM - an alternative Fontmap for Ghostscript, + % suitable for use with Adobe Type Manager fonts. + + % Before you use ATM fonts with Ghostscript, please read carefully + % the license that accompanies the ATM fonts; Aladdin Enterprises and + % the Free Software Foundation take no responsibility for any possible + % violations of such licenses. + + % A homemade font. + + /Ugly (uglyr.gsf) ; + + + % Fonts converted from bitmaps. + + /AvantGarde-Book (pagk.gsf) ; + /AvantGarde-BookOblique (pagko.gsf) ; + /AvantGarde-Demi (pagd.gsf) ; + /AvantGarde-DemiOblique (pagdo.gsf) ; + + /Bookman-Light (pbkl.gsf) ; + /Bookman-LightItalic (pbkli.gsf) ; + /Bookman-Demi (pbkd.gsf) ; + /Bookman-DemiItalic (pbkdi.gsf) ; + + /Charter-Roman (bchr.gsf) ; + /Charter-Italic (bchri.gsf) ; + /Charter-Bold (bchb.gsf) ; + /Charter-BoldItalic (bchbi.gsf) ; + + % ATM fonts. + + /Courier (com_____.pfb) ; + /Courier-Oblique (coo_____.pfb) ; + /Courier-Bold (cob_____.pfb) ; + /Courier-BoldOblique (cobo____.pfb) ; + + /Helvetica (hv______.pfb) ; + /Helvetica-Oblique (hvo_____.pfb) ; + /Helvetica-Narrow (phvrrn.gsf) ; + /Helvetica-Bold (hvb_____.pfb) ; + /Helvetica-BoldOblique (hvbo____.pfb) ; + + /Symbol (sy______.pfb) ; + + /Times-Roman (tir_____.pfb) ; + /Times-Italic (tii_____.pfb) ; + /Times-Bold (tib_____.pfb) ; + /Times-BoldItalic (tibi____.pfb) ; + + % More fonts from bitmaps. + + /NewCenturySchlbk-Roman (pncr.gsf) ; + /NewCenturySchlbk-Italic (pncri.gsf) ; + /NewCenturySchlbk-Bold (pncb.gsf) ; + /NewCenturySchlbk-BoldItalic (pncbi.gsf) ; + + /Palatino-Roman (pplr.gsf) ; + /Palatino-Italic (pplri.gsf) ; + /Palatino-Bold (pplb.gsf) ; + /Palatino-BoldItalic (pplbi.gsf) ; + + /ZapfChancery (zcr.gsf) ; + /ZapfChancery-MediumItalic /ZapfChancery-Oblique ; + /ZapfChancery-Oblique (zcro.gsf) ; + /ZapfChancery-Bold (zcb.gsf) ; + + /ZapfDingbats (pzdr.gsf) ; + + % Fonts from the X11R5 distribution. + + /Utopia-Regular (putr.gsf) ; + /Utopia-Italic (putri.gsf) ; + /Utopia-Bold (putb.gsf) ; + /Utopia-BoldItalic (putbi.gsf) ; + + % Fonts converted from Hershey outlines. + + /Hershey-Gothic-English (hrge_r.gsf) 4290000 ; + /Hershey-Gothic-English-Bold (hrge_rb.gsf) 4290030 ; + /Hershey-Gothic-English-Oblique (hrge_ro.gsf) 4290010 ; + + /Hershey-Gothic-German (hrgr_r.gsf) 4291000 ; + /Hershey-Gothic-German-Bold (hrgr_rb.gsf) 4291030 ; + /Hershey-Gothic-German-Oblique (hrgr_ro.gsf) 4291010 ; + + /Hershey-Gothic-Italian (hrit_r.gsf) 4292000 ; + /Hershey-Gothic-Italian-Bold (hrit_rb.gsf) 4292030 ; + /Hershey-Gothic-Italian-Oblique (hrit_ro.gsf) 4292010 ; + + /Hershey-Greek-Complex (hrgk_c.gsf) 4293200 ; + /Hershey-Greek-Simplex (hrgk_s.gsf) 4293100 ; + + /Hershey-Plain (hrpl_r.gsf) 4294000 ; + /Hershey-Plain-Bold (hrpl_rb.gsf) 4294030 ; + /Hershey-Plain-Oblique (hrpl_ro.gsf) 4294010 ; + /Hershey-Plain-Simplex (hrpl_s.gsf) 4294100 ; + /Hershey-Plain-Simplex-Bold (hrpl_sb.gsf) 4294130 ; + /Hershey-Plain-Simplex-Bold-Oblique (hrpl_sbo.gsf) 4294140 ; + /Hershey-Plain-Simplex-Oblique (hrpl_so.gsf) 4294110 ; + /Hershey-Plain-Triplex (hrpl_t.gsf) 4294300 ; + /Hershey-Plain-Triplex-Italic (hrpl_ti.gsf) 4294320 ; + /Hershey-Plain-Triplex-Bold (hrpl_tb.gsf) 4294330 ; + /Hershey-Plain-Triplex-Bold-Italic (hrpl_tbi.gsf) 4294350 ; + + /Hershey-Script-Complex (hrsc_c.gsf) 4295200 ; + /Hershey-Script-Complex-Bold (hrsc_cb.gsf) 4295230 ; + /Hershey-Script-Complex-Oblique (hrsc_co.gsf) 4295210 ; + /Hershey-Script-Simplex (hrsc_s.gsf) 4295100 ; + /Hershey-Script-Simplex-Bold (hrsc_sb.gsf) 4295130 ; + /Hershey-Script-Simplex-Oblique (hrsc_so.gsf) 4295110 ; + + % This font, and only this font among the Hershey fonts, uses + % the SymbolEncoding. + /Hershey-Symbol (hrsy_r.gsf) 4296000 ; diff -rNC2 gs252/Fontmap.VMS gs26/Fontmap.VMS *** gs252/Fontmap.VMS --- gs26/Fontmap.VMS Sat Jan 16 12:10:44 1993 *************** *** 0 **** --- 1,122 ---- + % fontmap.vms - Ghostscript fontmap for VAX/VMS systems with DECwindows/Motif. + % + %Uses all the XDPS Outline fonts (Type 1 fonts) provided with Motif (with the + %exception of Courier which already comes with GhostScript in Type 1 form). + % + %XDPS on VAX/VMS does not have Bookman, Palatino and ZapfChancery fonts, so + %we still have to use the dreaded bitmaps for those. Helvetica-Narrow is also + %missing. But then you get the LubalinGraph and Souvenir fonts which are just + %beautiful! + % + %Note: this file omits the Hershey fonts (Hershey ?? YOU MUST BE JOKING) + % but retains the Cyrillic fonts and - naturally - Ugly. + %Note: To get the "new" fonts accented correctly you need the following + % patch for Ghostscript 2.5.2 (important if you make IsoLatin1 + % encoded fonts from scratch): + % change line 409 or 410 of gstype1.c from + % cs1 -= cs0; /* subtract off asb */ + % to: + % cs1 += pis->lsb.x - cs0, cs2 += pis->lsb.y; + + /AvantGarde-Book + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]AVANTGARDE-BOOK.XDPS$OUTLINE) ; + /AvantGarde-BookOblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]AVANTGARDE-BOOKOBLIQUE.XDPS$OUTLINE) ; + /AvantGarde-Demi + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]AVANTGARDE-DEMI.XDPS$OUTLINE) ; + /AvantGarde-DemiOblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]AVANTGARDE-DEMIOBLIQUE.XDPS$OUTLINE) ; + /Helvetica-Bold + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]HELVETICA-BOLD.XDPS$OUTLINE) ; + /Helvetica-BoldOblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]HELVETICA-BOLDOBLIQUE.XDPS$OUTLINE) ; + /Helvetica-Oblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]HELVETICA-OBLIQUE.XDPS$OUTLINE) ; + /Helvetica + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]HELVETICA.XDPS$OUTLINE) ; + /LubalinGraph-Book + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]LUBALINGRAPH-BOOK.XDPS$OUTLINE) ; + /LubalinGraph-BookOblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]LUBALINGRAPH-BOOKOBLIQUE.XDPS$OUTLINE) ; + /LubalinGraph-Demi + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]LUBALINGRAPH-DEMI.XDPS$OUTLINE) ; + /LubalinGraph-DemiOblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]LUBALINGRAPH-DEMIOBLIQUE.XDPS$OUTLINE) ; + /NewCenturySchlbk-Roman + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]NEWCENTURYSCHLBK-ROMAN.XDPS$OUTLINE) ; + /NewCenturySchlbk-Italic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]NEWCENTURYSCHLBK-ITALIC.XDPS$OUTLINE) ; + /NewCenturySchlbk-Bold + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]NEWCENTURYSCHLBK-BOLD.XDPS$OUTLINE) ; + /NewCenturySchlbk-BoldItalic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]NEWCENTURYSCHLBK-BOLDITALIC.XDPS$OUTLINE) ; + /Souvenir-Light + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]SOUVENIR-LIGHT.XDPS$OUTLINE) ; + /Souvenir-LightItalic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]SOUVENIR-LIGHTITALIC.XDPS$OUTLINE) ; + /Souvenir-Demi + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]SOUVENIR-DEMI.XDPS$OUTLINE) ; + /Souvenir-DemiItalic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]SOUVENIR-DEMIITALIC.XDPS$OUTLINE) ; + %If you want the Apple symbol (SIC!) then remove the comment (%) + %in front of character 240 in the following file (he he he) + /Symbol + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]SYMBOL.XDPS$OUTLINE) ; + /Times-Roman + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]TIMES-ROMAN.XDPS$OUTLINE) ; + /Times-Italic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]TIMES-ITALIC.XDPS$OUTLINE) ; + /Times-Bold + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]TIMES-BOLD.XDPS$OUTLINE) ; + /Times-BoldItalic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]TIMES-BOLDITALIC.XDPS$OUTLINE) ; + + % A homemade font. + /Ugly (uglyr.gsf) ; + + % Fonts converted from bitmaps (Not in the XDPS set) + /Bookman-Light (pbkl.gsf) ; + /Bookman-LightItalic (pbkli.gsf) ; + /Bookman-Demi (pbkd.gsf) ; + /Bookman-DemiItalic (pbkdi.gsf) ; + /Helvetica-Narrow (phvrrn.gsf) ; + /Palatino-Roman (pplr.gsf) ; + /Palatino-Italic (pplri.gsf) ; + /Palatino-Bold (pplb.gsf) ; + /Palatino-BoldItalic (pplbi.gsf) ; + /ZapfChancery (zcr.gsf) ; + /ZapfChancery-Oblique (zcro.gsf) ; + /ZapfChancery-Bold (zcb.gsf) ; + %MediumItalic font to Oblique aliasing + /ZapfChancery-MediumItalic /ZapfChancery-Oblique ; + /ZapfDingbats (pzdr.gsf) ; + + % BITSTREAM CHARTER is a registered trademark of Bitstream Inc. + /CharterBT-Roman (bchr.gsf) ; + /CharterBT-Italic (bchri.gsf) ; + /CharterBT-Bold (bchb.gsf) ; + /CharterBT-BoldItalic (bchbi.gsf) ; + %Charter to CharterBT aliasing + /Charter-Roman /CharterBT-Roman ; + /Charter-Italic /CharterBT-Italic ; + /Charter-Bold /CharterBT-Bold ; + /Charter-BoldItalic /CharterBT-BoldItalic ; + + % IBM Courier - Copyright (c) IBM Corporation 1990, 1991 + /Courier (ncrr.gsf) ; + /Courier-Italic (ncrri.gsf) ; + /Courier-Bold (ncrb.gsf) ; + /Courier-BoldItalic (ncrbi.gsf) ; + %Oblique to Italic aliasing + /Courier-Oblique /Courier-Italic ; + /Courier-BoldOblique /Courier-BoldItalic ; + + % Utopia is a registered trademark of Adobe Systems Incorporated + /Utopia-Regular (putr.gsf) ; + /Utopia-Italic (putri.gsf) ; + /Utopia-Bold (putb.gsf) ; + /Utopia-BoldItalic (putbi.gsf) ; + + % Shareware fonts. These have no copyright, and are of questionable quality. + /Cyrillic (cyr.gsf) ; + /Cyrillic-Italic (cyri.gsf) ; diff -rNC2 gs252/NEWS gs26/NEWS *** gs252/NEWS Mon Sep 21 00:05:12 1992 --- gs26/NEWS Sun May 9 13:18:56 1993 *************** *** 1,3 **** ! Copyright (C) 1989, 1992 Aladdin Enterprises. All rights reserved. Distributed by Free Software Foundation, Inc. --- 1,3 ---- ! Copyright (C) 1989, 1992, 1993 Aladdin Enterprises. All rights reserved. Distributed by Free Software Foundation, Inc. *************** *** 20,25 **** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! This file, NEWS, describes the changes in the various releases of ! Ghostscript. (This file was formerly named history.doc.) For an overview of Ghostscript and a list of the documentation files, see --- 20,25 ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! This file, NEWS, describes the changes in the most recent releases of ! Ghostscript. Changes in older releases are described in history.doc. For an overview of Ghostscript and a list of the documentation files, see *************** *** 26,29 **** --- 26,646 ---- README. + Version 2.6.0 (5/9/93) + ============= + + The main new feature in this release is the ability to use platform + fonts. It also adds many more Level 2 PostScript facilities. + + Documentation + ------------- + + Corrects some errors in the documentation of the makeimagedevice operator. + + Adds operand and result types to the comments at the beginning of all the + operators. + + Adds new sections on installation in use.doc. + + Reinstates history.doc as a repository for old and no longer interesting + history information. + + Adds a new file, devices.doc, with documentation for specific devices. + + Points out that font2c must be run with a Fontmap that includes the fonts + being converted, and that its arguments must be quoted with "" on VMS + systems. + + Notes that the font name in the Fontmap must be the same as the FontName + in the font. + + Adds a list of the Level 2 facilities not provided by Ghostscript. + + Identifies bug-ghostscript@prep.ai.mit.edu as an alias for the + gnu.ghostscript.bug newsgroup. + + Points out explicitly that -sOutputFile=- sends output to stdout, and + requires using the -q switch. + + Documents the use of tar_cat to construct the Unix makefiles. + + Adds a new file, xfonts.doc, that describes the external font interface. + + Documents the fact that drivers must use gs_malloc and gs_free rather than + malloc and free. + + Documents the *.sh (shell script) files. + + Adds brief documentation on some additional development tool .ps files. + + Documents the TEMP and GS_OPTIONS environment variable. + + Points out the need to run Windows in 386 Enhanced mode on machines + that have less than 6 Mb of RAM. + + Consolidates documentation on compiler switches in make.doc (some of + it had been in the unix*.mak files). + + Procedures + ---------- + + Fixes bugs: + - \'s in arguments following -- were doubled. + + Includes the full set of filters automatically if the level2 feature + is selected. + + Extends DEVICE_DEVS... up to DEVS9. Adds DEVICE_DEVS1 as well. + + Renames turboc.mak and tbcplus.mak as tc.mak and bc.mak. + + Makes @-files use the library path (GS_LIB, -I). + + Changed the Unix install script to use install + rather than install . + + Adds a GS_OPTIONS environment variable that acts like an implicit @-file + at the beginning of the command line (i.e., may contain switches and + initialization files). + + Renames sym__enc.ps as gs_sym_e.ps. + + Adds a user-contributed shell script for using Ghostscript with an + H-P printer spooler. + + Adds level1.ps to the set of installed utility files. + + Extends the TEMP environment variable (the directory for scratch + files) to work on Unix as well as MS-DOS. + + Changes the MS Windows makefile to generate gswin.exe rather than + gs.exe, and the Watcom makefile to generate gs386.exe. + + Moves the "product" string from gs_init.ps to iinit.c. + + Adds a GS macro to the makefiles, to allow choosing the name of the + executable. + + Utilities + --------- + + Fixes bugs: + * - font2c did the wrong thing (still) for fonts that didn't + use StandardEncoding, ISOLatin1Encoding, or SymbolEncoding. + * - impath.ps had a fatal bug (wrong operand order for + charstack_write) that caused bdftops to fail. + - gslp didn't wrap or truncate lines. + - gslp didn't handle tabs in a second or subsequent column + properly. + - The definition of ashow in gs_2asc.ps incorrectly undid the + increment following the last character. + - The definition of awidthshow in gs_2asc.ps failed to pop + two entries from the stack, and also tested the character against the + wrong value. + + Adds a shell script (sysvlp.sh) that interfaces Ghostscript with the + System V 3.2 lp interface. + + Adds ps2ascii and ps2epsi script/batch files. + + Adds a new utility, mergeini.ps, for concatenating all the + Ghostscript initialization files into a single file, optionally + removing comments and blank lines. + + Adds new switches to gslp: + -q: suppress all printed output. + --detect: check whether the file begins with %!, and if so, + interpret it directly as a PostScript file. + --first-page : replaces the former -P switch. + --last-page : replaces the former -Q switch. + --(heading|footing)-(left|center|right) : define + headers/footers. # inserts the page number. + --margin-(top|bottom|left|right) : define margins. + --spacing : for double, triple, etc. spacing. + Also makes gslp ignore all the enscript flags it doesn't implement. + + Adds an option to wrfont.ps to do encryption at read-in time. (This + allows much better compression of the standard Ghostscript fonts.) + Changes bdftops to use this option. + + Changes gslp to accept wild cards in file names. + + Replaces landscap.ps with a new one contributed by a user. + + Changes the compression scheme used in ps2image to a much more + effective one. Writing images is much slower than with the previous + scheme, but reading is not. + + Platforms + --------- + + Fixes bugs: + - SCFDTAB and SCFTAB were omitted from the VMS module lists. + - Function prototypes were not being used with the Watcom + compiler. + - On MS-DOS platforms, if the value of the TEMP variable had + a trailing : or \, Ghostscript appended a \ anyway. + - Under Windows, changing the size or resolution of the image + closed and reopened the window. + - Ghostscript would not build correctly with the Watcom compiler + if DOS4G=quiet was not set, because the DOS4GW copyright message was sent + to stdout. + * - Finally gets Ghostscript to run properly on the RS/6000, by + adding a compiler bug workaround to arc_add and arc_either. + * - Finally gets Ghostscript to compile properly on Sun SPARC + systems, by adding a compiler bug workaround in scan_number. + + Changes the default MS-DOS configuration from 8086/8088 to 80286. + + Adds all the SuperVGA drivers to the BC++ and Watcom executables + (except for the VESA driver in the Watcom executable). + + Adds a makefile (msc.mak) for the Microsoft C/C++ 7.0 platform. This + is currently a MS-DOS, not a MS Windows, platform. + + Changes gp_enumerate_files_init so it takes a gs_memory_procs *, not + separate proc_alloc_t and proc_free_t arguments; also, it must + enumerate precisely the requested set of files, not a superset. THIS + IS A NON-BACKWARD-COMPATIBLE-CHANGE. It affects all gp_*.c files. + + Adds the P*M drivers and bit.dev to the standard configuration on + Unix platforms. + + Changes the Watcom makefile so it uses the WATCOM environment variable (by + default) as the base directory for the Watcom executables. + + Adds the MS Windows COMMDLG.DLL and SHELL.DLL files to the set of + files incorporated in GSEXE.ZIP, since the new MS Windows code uses + them, and they aren't provided with Windows 3.0. + + Makes major revisions to the MS Windows platform and driver code, to + support the gsview front end, and also to remove the dependence on the + Borland EasyWin library. NOTE: Compiling the MS Windows code now requires + Borland C++ 3.1 (not 3.0). + + Changes time_.h so that Ghostscript will compile and run on A/UX. + + Changes the MS-DOS implementation of file enumeration so it always + treats \s in the file name as literal characters, not escapes, unless + there are two \\s in a row. This does the most sensible thing given + the DOS file naming conventions. + + Adds a %pipe% file device under Unix. + + Adds a makefile for Watcom C under MS Windows. This is very preliminary; + in particular, NO display output is supported. + + Fonts + ----- + + Fixes bugs: + - fonts.mak referred to ncri and puti rather than ncrri and + putri. + - cyr and cyri had the wrong protection. + - The Hershey fonts left the font on the stack when they were + loaded. + * - The FontName of an aliased font was the original FontName + from the file, not the alias. + * - Fontmap.BTS had incorrect entries for AvantGarde-Demi and + AvantGarde-DemiOblique. + - Ghostscript pushed userdict, rather than an empty writable + dictionary, onto the stack when loading a font, leading to name clashes. + + Adds a new cfonts.mak with a full set of rules for compiling all the + standard Ghostscript fonts (except the Hershey fonts) into C. + + Adds UniqueIDs to the Hershey fonts, and removes the UniqueIDs from + the Hershey entries in the Fontmap. + + Adds a new Fontmap for VAX/VMS with DECWindows/Motif. + + Changes MakeHersheyFont so it takes the encoding as an additional + parameter, and changes the Hershey-Symbol font to use SymbolEncoding. + + Drivers + ------- + + Fixes bugs: + - The !@*&^%#@$ PCL drivers *still* didn't do the right thing + about vertical spacing: the *p+Y command works on all PCL 3, + 4, and 5 printers *except* the LaserJet IIp. + - The cdj driver used recursive macros (height, t_margin, + b_margin) that not all compilers handled correctly. + - The djtc driver used some assignments including =*, which + some compilers dislike. + - The S3 driver wouldn't compile correctly with the Watcom + compiler. + - The makefile entry for the S3 driver was wrong. + - The SuperVGA drivers returned an error, rather than using + the highest available resolution, if a too-high resolution was + requested. + - The GIF driver produced an incorrect header for images + wider or taller than 32K pixels. + - The GIF driver wasn't able to handle multi-page documents + correctly. + - The margins on the DeskJet were still not correct. + - Some ANSI C compilers rejected a complex expression in + gdevpccm.c. + - Printer drivers didn't recover cleanly from problems in + opening the scratch files. + - The BJ-10e driver used the same name `out' for a label and + a variable. + - The SCO ODT compiler couldn't handle sizeof(ppdev->fname). + + Adds new drivers: + - Drivers to produce MS Windows .BMP format output. + - A new ATI Wonder display driver (800x600, 16 colors) and a + 1024x768 mode for the existing driver. + + Adds new user-contributed drivers: + - A driver for the Tektronix 4693d color printer. This carries a + university copyright. + - A driver for the SPARCprinter. + - A driver for the Canon BJ200 printer. + - A driver for the IBM ProPrinter. + - A driver for the DEC LJ250 printer, which has a + PaintJet-compatible mode. + - A replacement driver for the Sony NWP533. + - A driver that writes TIFF/F (Group 3 fax) files. This carries + an external copyright. + - A driver for the C.Itoh M8510 printer. + - A driver for the Okidata MicroLine 182 9-pin dot-matrix printer. + - A Hercules Graphics driver. + - A driver for printers under MS Windows. + - A driver for direct frame buffer addressing under SCO Unix + and Xenix and AT&T SVR4. + + Changes the get_bits driver procedure so it always reads a single + scan line, and optionally does not copy the data. THIS IS A + NON-BACKWARD-COMPATIBLE CHANGE. However, this change does not affect + any existing printer driver, since these all go through intermediate + routines in gdevprn.c. + + Changes gdevprn.h, and the relevant printer drivers, so that -DA4 + will change the default paper size for any printer driver. + + Allows the use of NULL or 0 for default procedures in the driver + procedure vector. + + Adds an optional map_cmyk_color procedure to the driver procedure + vector. + + Changes the Epson driver so that the minimum amount of white space + required to use a tab is an easily changed parameter. + + Changes the BGI driver to use separate segments for the Borland + device drivers, to reduce the risk of overflowing a segment. + + Adds an optimization option (normally enabled) to the PGM and PPM drivers + such that they revert to PBM or (for PPM) PGM if the page can be + represented that way. + + Adds a new (optional) driver procedure to get the procedure vector + for external fonts. + + Adds an argument to gp_open_printer to indicate whether the file should be + opened in binary or text mode. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE. + However, this change does not affect any existing printer driver, since + these all go through intermediate routines in gdevprn.c. + + Changes the LN03/LA50/LA75 driver so it uses a text record mode to open + the output file under VMS (by adding an argument to gp_open_printer to + indicate this.) + + Allows (indeed, encourages) drivers to use far_data to declare the device + structure, primarily to avoid overflowing the 64K data segment under MS + Windows. Changes the file output drivers and many of the printer drivers + to declare their device structures as far_data. + + Replaces the AT&T 3B1 driver with an updated version (from the same + contributor). + + Changes the Epson BJ driver and the SPARCprinter driver so they align + the (0,0) point of the page with the physical corner of the paper + rather than with the origin of the printable area. + + Removes the EIZO MDB-10 driver, since it caused complications for the + EGA and VGA drivers and is not a widely used device. + + Interpreter + ----------- + + Fixes bugs: + - The entry for the copydevice operator in the operator table + was initialized incorrectly. + - printobject and writeobject didn't handle nested arrays. + - restore didn't properly close the current file (if + appropriate), causing an invalidaccess error. + - buildfont required the presence of a valid, 4-element + FontBBox. (The Red Books say it's required, but Adobe interpreters + don't require it; some DEC software generates a 3-element FontBBox.) + - resourceforall had several bugs; it didn't do even + approximately the right thing. There were quite a few other problems + with the implementation of resources. + - setfont, makefont, and scalefont would accept a font with + no FID entry. + * - Loading a .PFB font left the file open (until the next + restore or quit). + - The default (null) font didn't include a PaintType entry, + which some PostScript files expected. + * - The ASCIIHexDecode filter sometimes thought the underlying + stream was at EOF even when there was (at most one buffer's worth of) + data left. + - iscan.c included before std.h, causing type name + clashes on some systems. + * - save and restore didn't handle the pointers in the graphics + state correctly; for example, the current font wasn't restored + properly. + - Binary object sequences at the top interpreter level didn't + get executed immediately. + - On high-resolution devices, the default transfer function + converted almost-white grays to very light grays rather than white. + - The `string' operator was checking the string length + against max_uint rather than max_ushort, which could cause invalid + lengths to be accepted. + * - deviceinfo caused a stackunderflow error. + * - idiv could give incorrect results for quotients or + remainders that didn't fit in 24 bits. + * - The ASCII85Encode filter padded trailing bytes with 1's + rather than 0's. + * - The ASCII85Decode filter had a typo that produced incorrect + results if there were exactly 2 trailing bytes. + - findlibfile didn't push a copy of the file name if it was + the name of a special (%) file. + - setduplexmode was not defined in statusdict, causing + /undefined errors from some poorly designed input files. + * - The CCITTFaxDecode filter had several bugs in 2-D decoding. + * - The ASCII85Decode filter didn't read ahead to detect EOD if + it fell precisely on a buffer boundary. + - If a file mentioned on the command line redefined `start', + Ghostscript would run the new definition rather than the built-in one + after processing all the files on the command line. + - The SCO ODT compiler couldn't handle the conditionals in the + ngetc (iscan.c) and sgetc* (stream.h) macros. + - makefont and scalefont didn't cache the PostScript dictionaries + for scaled fonts. + - Changing the elements of the Encoding of a font dynamically + didn't take effect if the character was already cached. + - makefont and scalefont didn't add the (undocumented) OrigFont + and ScaleMatrix entries to the new font. + * - findfont insisted that the font name be a string or a name. + - filenameforall could cause an incorrect transfer of control + if no files matched the pattern. + * - ISOLatin1Encoding had hyphen instead of minus at code 45. + - restore didn't reset saved_cbot and saved_ctop correctly; + as a result, some freed blocks could get abandoned rather than put on + the free list. + - Some numerical constants in zarith.c assumed that longs + occupied 32 bits. + + Implements additional Level 2 features: + - %device%file names (only the "os" device is provided). + - <~ ~> for ASCII-85 strings. + - Binary error messages. + - BuildGlyph. + - CCITTFaxDecode filter entries EndOfBlock, Rows, and + (undocumented) FirstBitLowOrder. + - {set/current}{color/colorspace/overprint/colorrendering/ + blackgeneration/undercolorremoval}. (See below under library + for limitations.) + - Decode for the dictionary form of image. + - File access modes a, r/w/a+. + - Font entries CDevProc, Metrics2, and WMode. + - Font operators cshow, findencoding, rootfont, and + setcachedevice2. + - glyphshow (emulated with PostScript code). + - languagelevel. + - realtime. + - setbbox. + - (Subset of) system and user parameters. + - xshow, yshow, and xyshow. + - XUIDs for fonts. + + Moves the installation of systemdict and the initial allocation of + globaldict (if relevant) and userdict from gs_init.ps to iinit.c. + + Makes Level 2 features dynamically selectable through the + .setlanguagelevel operator; disables all Level 2 features + (specifically including automatic dictionary expansion) unless the + level2 feature is included and active. + + Adds the .knownget operator for speeding up system procedures. + + Renames the type1addpath operator as .type1addpath; adds an optional + left side bearing argument; changes it so it does not do the + setcachedevice, fill, or stroke, but does do a moveto for the + character width. Changes Type1BuildChar appropriately. (All this is + needed to make WMode work.) + + Removes the .setmetrics operator, which is no longer needed. + + * Changes the meaning of the user_errors argument to gs_run_file and + gs_run_string so that -1 means always return on an error, 0 means + only return on an error not within a `stopped'. + + Adds all the necessary checks and operators for local/global VM, but + doesn't actually implement local/global mode. + + Changes setcachedevice back so that it requires 4 numbers on the + stack rather than a 4-element array. (It was changed to be the other + way in release 2.0, but that was because I didn't realize that fonts + had to have an executable FontBBox, and some of the Ghostscript fonts + didn't.) + + Changes all the filter operators from .filterxxx to .filter_xxx, and + removes the need to enumerate them in gs_init.ps. + + Adds .oserrno and .oserrorstring operators for getting the last OS + error (in the current context). + + Changes gs_finit similarly to gp_exit. Adds gs_exit_with_code that + takes both an exit status and a Ghostscript error code. + + Changes the name of name.h to iname.h. + + Adds support for the `interrupt' error (but doesn't provide any standard + way of generating one, other than through the gp_check_interrupts polling + function). + + Adds copyright to systemdict. + + Changes the spot halftone screen to an elliptical screen supplied by + Berthold K. P. Horn. + + Adds a check that the first token in gs_init.ps is an integer. In + conjunction with other code in gs_init.ps, this should catch all attempts + to run Ghostscript with a gs_init.ps that doesn't match the executable. + + Changes all relevant occurrences of sizeof to size_of in order to + work with the buggy SVR4.2 C compiler. + + Changes gp_exit so it is passed both the Ghostscript error code and + the exit status code as arguments. This is backward-compatible for + all but the pickiest compilers. + + Adds a call on gp_check_interrupts() after fwrite calls in the stream + machinery. This prevents lengthy console output from locking out + other programs. + + Changes a couple of occurrences of op_def_ptr in iinit.c to work around a + `const' bug in Sun's SC1.0 compiler. + + Adds a special hack in the 'where' operator to work around a bug in Aldus + Freehand 2.x. + + Changes all empty argument lists from () to (void), which is the ANSI + C syntax. + + Adds a hack to ignore ^[ and ^D^[ tokens, to work around the prologue + and epilogue emitted by the MS Windows LaserJet IV driver. + + Defines the processcolors operator, which should not be needed, but + is required because of bugs in Lotus 1-2-3 and Adobe PhotoShop. + + Changes the allocator (ialloc) to fill all allocated and/or freed + blocks with a marker if gs_alloc_debug is set, as gs_malloc and + gs_free already do. + + Library + ------- + + Fixes bugs: + - 16-bit memory devices stored the bytes of each pixel in the + wrong order. + - copy_mono did the wrong thing when copying 1 source chunk + to 2 destination chunks with polarity inverted. (This probably + didn't affect any actual uses of Ghostscript.) + * - The compile-time check for ints being 2 or 4 bytes used the + #error directive, which most compilers don't recognize. + - arc and arcn didn't do the right thing for degenerate + (single-point) arcs, or for arcs drawn in the "wrong" direction that + were multiples of 360 degrees. + - charpath did the wrong thing with Type 3 fonts. + - copyscanlines gave an error if the buffer was too large. + - The copy_mono procedure (used for text and halftones) for + 2- and 4-bit-per-pixel memory and printer devices incorrectly + incremented the destination pointer after every pixel, instead of + only after every byte. + - The fill_rectangle procedure (used for graphics) for 2- and + 4-bit-per-pixel memory and printer devices, if given any color other + than all 0's or all 1's, multiplied the X coordinate and width by 2 + or 4, thereby filling the wrong area. + - The use of 'data' in both gs_type1_data and gs_font upset + the VMS compiler. + - The `Flex' feature wasn't implemented for Type 1 fonts, + which caused serious errors in rendering some fonts that use it. + (Unfortunately, some Adobe fonts violate the specification, so we had + to implement Flex to always use a curve.) + * - Stem width adjustment was too eager, producing very strange + effects on small characters with tight curves (a curve point could + get snapped to the other side of the open area). + - The allocator didn't align structures adequately on + machines where sizeof(long) or sizeof(char *) was 8 bytes. + - The test for IEEE floating point gave an incorrect + (negative) result on machines where sizeof(long) was 8 bytes. + - genarch.c assumed that the result of subtracting two + pointers was an int, leading to a garbage arch.h file on systems + where this was false. + * - The Type 1 font interpreter incorrectly reset the adjusted + path position to be the same as the unadjusted path position whenever + it returned control to the client (in particular, for callothersubr), + leading to discontinuities and distortions in the character shapes. + * - Accented characters in Type 1 fonts often misplaced the + accent to the left. + - gsmisc.c wouldn't compile on machines with 64-bit pointers, + because _pad was 0, and ANSI compilers don't accept 0-length arrays. + - pathforall got confused if the client procedures modified + the path. + - The command list file representation limited X and Y + coordinates to 15 bits. + * - stroke could produce spikes or other garbage for mitered + joins as a result of stroke adjustment. + - The params_size field of the null device was wrong, so + scaling the null device produced unpredictable results. + + Changes monobit memory devices to always store data big-endian. This + eliminates byte-swapping, at the cost of slightly slower rendering. + + Removes the memswab* routines, since they are no longer needed. + + Implements gs_cshow_[n_]init, which provides support for cshow, and + gs_xyshow_[n_]init, which provides support for {x,y,xy}show. + + Adds an optional left side bearing argument to gs_type1_interpret. + + Changes gs_type1_interpret so it does not do a setcachedevice, fill, + or stroke, but only appends the character outline to the path + (including a moveto for the character width.) + + Removes gs_setmetrics, which is no longer needed. + + Implements gs_setcachedevice2, which provides support for + setcachedevice2. + + Speeds up gsave/grestore by allocating, deallocating, and copying as + much as possible of the graphics state in a single operation. + + Implements gs_{set/current}{color/colorspace/overprint/colorrendering/ + blackgeneration/undercolorremoval}. Device, indexed (with table, not + with procedure), CIE, and (substituted) separation colors are + supported; some of the setup code for patterns is also present. + + Increases the size of temporary file names in gdevprn.h from 30 + characters to 60. + + Changes the character cache to be allocated dynamically in chunks. + + Splits gxcache.c into gxccache.c (fast "hit" code) and gxccman.c (all + other code). + + Changes all occurrences of sizeof to size_of in order to work with the + buggy SVR4.2 C compiler. + + Adds a new concept of "external fonts", which allow a driver to + substitute its own fonts for the ones obtained through the normal + font machinery. + + Changes all empty argument lists from () to (void), which is the ANSI + C syntax. + Version 2.5.2 (9/20/92) ============= *************** *** 1254,2481 **** size. ! Version 2.3 (8/28/91) ! =========== ! ! This is a minor release to fix two bugs and add the PaintJet driver, which ! didn't make it into 2.2. ! ! Utilities ! --------- ! ! Changes the pstoppm utility so it counts pages correctly even in the ! presence of arbitrary saves and restores. ! ! Drivers ! ------- ! ! Adds a new, "supported" PaintJet driver. ! ! Changes the Epson driver to use ESC+D rather than ESC+\ for horizontal ! positioning, since many printers don't support the latter. ! ! Adds horizontal double-density (two-pass) printing to the Epson driver, so ! it can do 240 x 60 and 360 x 180 densities. (Vertical double density is ! not supported yet.) ! ! Version 2.2 (6/1/91) ! =========== ! ! The purpose of this release is to add save/restore, and a few ! miscellaneous Level 2 P*stScr*pt features such as undef. It also includes ! major improvements in graphics quality and in handling of high-resolution ! printers. ! ! Procedures ! ---------- ! ! Changes the version numbering to M.mpp rather than M.m.p, so that ! `version' can be a real number for those programs that insist on it. ! ! Renames ghost.ps as gs_init.ps, gfonts.ps as gs_fonts.ps, and statusd.ps ! as gs_statd.ps. The initialization files now all are named gs_*.ps. ! ! Renames gdevs.{c,h,tl} as gconfig.{c,h,tl}. ! ! Changes the relevant makefiles and command files so that a single build ! can contain several drivers that share code, e.g., the Epson driver and ! the DeskJet driver. ! ! Changes gs_init.ps so it relies on an external gconfig.ps file rather than ! making a specific test for the presence of Level 2 features. ! ! Adds an entry for uglyr.gsf to the makefile. ! ! Removes the distinction between CCA and CCNA, since most of the files now ! contain constructs that require non-ANSI compilation on MS-DOS platforms. ! ! Adds a `man' page for the ansi2knr utility. ! ! Changes the documentation (use.doc) to show how to use -sDEVICE=, ! or the selectdevice procedure, to select devices by name. ! ! Adds DEVICE_DEVS to the makefiles (analogous to DEVICES and DEVICE_OBJS). ! This finally makes the make procedure fully automatic. ! ! Adds the name of the initialization file (gs_init.ps) as a ! platform-specific makefile parameter, GS_INIT. ! ! Removes the test program gt.{c,tr} from the fileset, since it is not ! useful to users. ! ! Moves the Symbol encoding vector to a separate file (symbol_e.ps), from ! which it is loaded when first used. ! ! Changes the error handler so it can handle errors that occur while reading ! the initialization files. ! ! Extends ansi2knr so it can handle `void' and `...' in parameter lists. ! ! Adds quit.ps to the set of installed files. ! ! MS-DOS-specific changes ! - - - - - - - - - - - - ! ! Adds the VGA and BGI drivers to the standard MS-DOS configuration, and ! makes VGA the default. ! ! Adds a `+' and a newline at the end of gs.tr, to avoid problems with file ! transfer programs or editors that add a newline at the end of files. ! ! Changes the name of msdos.mak to turboc.mak, and creates a new tbcplus.mak ! makefile for use with Turbo C++ and Borland C++. ! ! Changes the extension of the loader response files from .tl to .tr. ! ! Changes the default search path from c:/ghost and c:/ghost/fonts to c:/gs ! and c:/gs/fonts. ! ! Changes the directory separator from `|' back to ';', since it appears ! that DOS can handle a ; in a command line if it is prefixed with \. ! ! Unix-specific changes ! - - - - - - - - - - - ! ! Changes the uses of install in unixtail.mak so they only install a single ! file at a time, which is all that the standard Unix install allows. ! ! Removes the duplicate files (README/readme, LICENSE/license, ! COPYING/copying, Fontmap/fontmap). ! ! Changes the ld flags from LDPLAT to LDFLAGS. ! ! Adds XCFLAGS and XLDFLAGS. These are concatenated with CFLAGS and LDFLAGS ! respectively. The intention is that they be set from the `make' command ! line if desired. ! ! VMS-specific changes ! - - - - - - - - - - ! ! Repairs the omission of ZPACKED from the VMS build lists. ! ! Drivers ! ------- ! ! Fixes bugs: ! - The SunView driver produced semi-garbage on little-endian ! platforms (Sun-386i) because it didn't swap the bit order. ! - The X driver would dump core if it couldn't open the display and ! the DISPLAY environment variable wasn't set. ! - The X driver relied on white = 0, black = ones in a couple of ! places; ! - The X driver would return an error, instead of clipping, if ! asked to display outside the window. ! - The X driver would create inappropriately sized windows, because ! it believed the server's report of the screen resolution. ! ! Adds Fran Taylor's Private Eye driver to gdevs.mak and the fileset (not ! supported by Aladdin Enterprises). ! ! Adds Neil Ostroff's TruFax driver to gdevs.mak and the fileset (not ! supported by Aladdin Enterprises). ! ! Makes the scratch file template for the printer drivers a per-platform ! quantity (gp_scratch_file_name_template). Puts the default scratch files ! for Unix in /usr/tmp rather than /tmp. ! ! Changes the SunView driver to prevent the Ghostscript window from being ! destroyed (which badly confuses the interpreter). ! ! Extends the Epson driver to handle a variety of print densities in both X ! and Y, to handle 24-pin as well as 8-pin graphics, and to allow optional ! specification of default density in the makefile (gdevs.mak). ! ! Refactors the printer drivers so that a single driver handles both DeskJet ! and LaserJet. Adds LaserJet drivers that use the new compression modes on ! the LJ IId/IIp and LJ III. ! ! Changes all the printer drivers to use band lists rather than bitmap ! paging as the buffering method. (The individual drivers need only a ! one-line change to replace mem_copy_scan_lines with ! gdev_prn_copy_scan_lines with a different argument.) ! ! Adds the halftone phase as additional arguments to tile_rectangle and ! tile_trapezoid. ! ! Adds an entirely new and much simpler PaintJet driver, using the new band ! list interface. ! ! Adds margin information to the device structure. This is currently only ! relevant for printer devices. ! ! Adds BGIPATH and BGIUSER environment variables, allowing additional ! control of the BGI driver. ! ! Changes the x/y_pixels_per_inch member of the device structure from int to ! float. ! ! Fonts ! ----- ! ! Patches gs_fonts.ps so definefont will add an isFixedPitch entry to ! FontInfo if there isn't one there. ! ! Removes the old "type 7 path" encoding code from gs_fonts.ps. ! ! Changes bdftops so it puts isFixedWidth and ItalicAngle entries in the ! FontInfo dictionary of the fonts it creates, since some P*stScr*pt ! programs rely on this. ! ! Changes bdftops so it synthesizes as many missing characters as possible ! out of the ones that are there (in particular: synthesizes accents out of ! punctuation marks, and accented characters using seac.) The results ! aren't all that good, but they're a lot better than having characters ! missing out of the font. ! ! Utilities ! --------- ! ! Adds a pfbtops utility for converting .PFB fonts to standard Ghostscript ! fonts. ! ! Fixes bugs: ! - ps2image didn't reset things properly between pages for ! multi-page documents. ! ! Interpreter ! ----------- ! ! Makes Ghostscript recognize `-' alone as meaning that it should read from ! standard input as though it were a file. This allows Ghostscript to ! accept a pipe as input. ! ! Fixes bugs: ! - seac in type1addpath used the current font's encoding, not ! StandardEncoding. ! - type1decryptfile (eexec) didn't recognize binary (as opposed to ! hex) representation. ! - Mentioning a name whose value was a no-access object caused an ! invalidaccess error. ! - There was a bogus definition of `run' in zfile.c. ! - The interpreter didn't handle end-of-file on stdin properly. ! - Real numbers with an 'e' or 'E' but no decimal point were not ! recognized. ! - On MS-DOS systems, inside strings, \ followed by a newline was ! not discarded properly. ! - On MS-DOS systems, the long unsigned divide routine sometimes ! gave incorrect answers. Among other things, this caused alternate-radix ! numbers sometimes to crash the interpreter. ! - cvrs didn't do the right thing about reals or negative integers. ! - .echo.mode was being reset with def instead of store, and was ! defined in systemdict rather than userdict. ! - setgray and settransfer didn't interact properly. ! - 16#80000000 was being interpreted as a signed integer (and ! converted to a real) rather than an unsigned one. ! - atan returned 0 sometimes when it should have returned 180. ! - currentcmykcolor was defined wrong. ! ! Removes the filename operator, since no standard Ghostscript code used it, ! and it caused problems with some P*stScr*pt files. ! ! Implements new operators: filenameforall, selectfont (as a procedure), ! stringmatch, undef. ! ! Adds new standard procedures: selectdevice. ! ! For MS-DOS, requires that the operand and execution stacks be located in ! the data segment, and uses short pointers to address them. This produces ! significantly smaller and faster code. (These changes are not visible to ! users or library clients.) ! ! Changes the assignment of attribute bits, and adds new bits for ! save/restore and the garbage collector. Changes many of the macros in ! store.h to support save/restore. (These changes are not visible to users ! or library clients.) Implements save and restore. ! ! Moves type names from gs_init.ps to ghost.h and ztype.c. ! ! Moves error names from gs_init.ps to errors.h and iinit.c. ! ! Introduces gp.h as a documented interface to the platform-specific files. ! ! Adds the -- switch, which allows Ghostscript programs to take arguments ! from the command line. ! ! Changes many uses of the name `name' to something else, to avoid upsetting ! the Microsoft C compiler. ! ! Really implements packed arrays -- they took the same amount of space as ! ordinary arrays in previous versions. ! ! Changes exitserver in serverdict so that it just clears the stacks. (This ! isn't the correct fix, but it will do as a workaround.) ! ! Makes many miscellaneous small changes to pacify various compilers. ! ! Changes gs_fonts.ps so that when "quiet" mode is selected (-q switch), ! Ghostscript doesn't print anything when loading fonts or when substituting ! for undefined characters. ! ! Defines the name consisting of just a control-D as a no-op, because some ! P*stScr*pt-generating applications put control-Ds in their output. ! ! Implements halftone phase (sethalftonephase and currenthalftonephase ! operators). ! ! Removes the -E switch, since it is no longer useful. ! ! Changes the -w and -h switches to a single -g (geometry) switch, with ! usage -gx. Makes the -h switch, and a new -? switch, print ! usage help. ! ! Implements correct handling of stack overflow errors (makes an array out ! of the contents of the overflowing stack, and resets the stack, before ! invoking the error handler). ! ! Adds t_oparray (`operators' defined as procedures) and the makeoperator ! operator. This is so that programs like the Distillery that rely on all ! operators being bound by `bind' will work properly. ! ! Adds a new NOPAUSE flag to suppress the prompt and pause at copypage and ! showpage. ! ! Library ! ------- ! ! Fixes bugs: ! - gs_type1_interpret didn't store the encryption state or the skip ! count before returning to let the client handle a seac or an endchar in ! the middle of a seac. ! - The definition of the Type 1 operator ce_testadd was based on ! wrong information; the operator takes only 2 operands and does something ! unknown. ! - mem_true24_copy_mono wasn't incrementing the destination pointer ! if the color was transparent, leading to garbled characters. ! - gx_lookup_fm_pair would sometimes look at one entry beyond the ! end of the cached font/matrix pair area. (This probably had no practical ! effect.) ! - gs_type1_interpret didn't save the current point when returning ! to the client for a callothersubr, causing some characters to be rendered ! displaced (such as some of the chess pieces in chess.ps). ! - gs_setgray, gs_sethsbcolor, gs_setrgbcolor, gs_setflat, and ! gs_setlinewidth gave errors for out-of-range operands rather than forcing ! them into range. ! - Transfer functions were not actually supported. ! - The area fill algorithm failed on certain complex paths. ! - The current point was sometimes defined when a BuildChar ! procedure was called. ! - Stroking a degenerate line didn't display anything for round ! caps or joins. ! - If the ends of a curve had exactly the same X coordinate, the ! curve sometimes wouldn't be displayed. ! - Very thin lines that went outside the clipping region would ! sometimes be displayed as dashed, or not at all. ! - The translation in a FontMatrix was ignored. ! - Very wide, shallow lines would color extraneous pixels when ! using bevel or miter joins. ! - Dashed lines didn't join properly at the beginning of a closed ! path. ! - 0-degree arcs didn't add the appropriate line (possibly ! degenerate) to the path. ! - gs_type1_interpret didn't reset the callsubr stack when starting ! the base character of a seac, which caused confusion if the accent's ! endchar fell inside a Subr. ! - Non-monochrome memory memory devices weren't checking the ! arguments of the drawing procedures properly. ! - The initial clipping rectangle for memory devices was being ! computed wrong. ! - Null devices had a semi-infinite clipping rectangle instead of ! an empty one. ! - gs_setlinewidth was treating negative arguments as zero, instead ! of taking the absolute value. ! - imagemask with a dithered color used a solid color rather than ! the dithered one. ! ! Tweaks the area fill and image rendering algorithms to be a little more ! liberal with paint when being used to render characters. ! ! Changes the name of the 8-bit mapped color memory device from ! mem_mapped_color_device to mem_mapped8_color_device. ! ! Changes the memory devices so that on little-endian platforms, they can ! store the bytes within a word in either order. (Little-endian order ! allows efficient 32-bit updating, big-endian is required when displaying ! or writing to a printer or a file.) ! ! Implements halftone phase. ! ! Replaces the trapezoid fill algorithm with a much more accurate one ! inspired by a contribution from Paul Haeberli. This also changes the ! graphics convention back to filling only pixels whose center falls within ! the region to be filled. ! ! Changes the character cache to allocate headers and bits contiguously out ! of a single ring buffer. ! ! Changes gs_imagemask and gs_imagemask_init to take a thickness adjustment ! parameter. ! ! Changes gs_setcachedevice and gs_setcharwidth to take the graphics state ! as a parameter. ! ! Renames gx_device_memory_bitmap_size as gdev_mem_bitmap_size, ! mem_copy_scan_lines as gdev_mem_copy_scan_lines, and ! mem_bytes_per_scan_line as gdev_mem_bytes_per_scan_line. ! ! Version 2.1.1 (1/15/91) ! ============= ! ! This is a sub-release distributed to fix a few early bugs in 2.1, just in ! time for the new GNU master tape. ! ! Build procedures ! ---------------- ! ! Removes all of the (undebugged) Level 2 code from the fileset, as well as ! the (unused) file gdevvga.c. ! ! Changes the tar file so that the files are stored in the directory ! gs rather than simply gs, e.g., gs211. ! ! Interpreter ! ----------- ! ! Changes the scanner so that \ is recognized within strings regardless of ! whether the scanner is reading from a string or from a file. This is ! compatible with newer P*stScr*pt interpreters, and with the newer ! P*stSc*pt language specification, but not with the older specification in ! the original PostScript Language Reference Manual. ! ! Drivers ! ------- ! ! Fixes the max_value macro in gdevmem.c so that compilers won't complain ! about a left shift by 32. ! ! Adds 'byte' to the list of types that gdevx.c must sidestep because header ! files use them. ! ! Library ! ------- ! ! Changes the computation of penum->unpack in gsimage.c so as not to upset ! compilers that don't treat procedures and pointers to procedures as ! compatible types for conditional expressions. ! ! Version 2.1 (12/31/90) ! =========== ! ! This is primarily a bug fix release to clean up problems in 2.0. It also ! implements a first cut at the new color operators. ! ! Build procedures ! ---------------- ! ! Changes the separator for multiple directories in MS-DOS from ';' to '|', ! since there is no way to include a ';' in a command line. ! ! Adds /fonts to the default search path, where is c:/ghost for ! MS-DOS systems and `pwd` for Unix systems. ! ! Adds new documentation describing how to direct output to the printer. ! ! Changes the PROCTYPE and USE8087 options in MSDOS.MAK to CPU_TYPE and ! FPU_TYPE. The latter now indicates the type of FPU to generate code for, ! if any. ! ! Drivers ! ------- ! ! Adds a driver for the Canon BubbleJet BJ10e. ! ! Modifies the EGA driver to handle (non-standard) frame buffers larger than ! 64K. Adds drivers for the VGA and for the EIZO MDB-10 (a 1024 x 768 frame ! buffer). ! ! Changes the X driver so that it clips to the window dimensions, rather ! than reporting an error. ! ! Notes that the H-P LaserJet driver, like the DeskJet driver, works under ! Unix as well as MS-DOS. ! ! Adds support for 120 X DPI mode, and for the LQ-1500, to the Epson driver. ! ! Fonts ! ----- ! ! Fixes bugs in bdftops: ! - It was using /UniqueId instead of /UniqueID as the key for the ! font unique ID. This effectively disabled the font cache. ! - The definition for .notdef was bogus -- an invalid CharString. ! ! Changes ghost.ps and gfonts.ps so that NullFont is the initial font, ! rather than Ugly. ! ! Arranges things so that when attempting a font substitution, if the ! default font is not found, NullFont is used instead. ! ! Extends bdftops so that if certain easily synthesized characters are ! missing from a font, it will attempt to synthesize them using available ! characters. ! ! Interpreter ! ----------- ! ! Extends the -T switch to allow specifying a printf template for the ! arguments of the procedure being traced. ! ! Fixes bugs: ! - /0 was interpreted as equivalent to 0 (a number) rather than a ! literal name. ! - packedarray was defined as being like array, instead of like ! array followed by astore. ! - Many minor and harmless type mismatches (and a couple of very ! minor genuine bugs) were upsetting the Apollo C compiler. ! - exp was incorrectly failing in certain cases with a negative ! first argument. ! - copyscanlines incorrectly required at least 4 elements on the ! operand stack, although it correctly only used the top 3. ! - readhexstring incorrectly read 1 byte even if the string length ! was zero. ! - Not every place that expected an array would accept a packed ! array. ! - Very complex paths (and infrequently other things) could produce ! a 'memory leak'. ! - / alone would skip following whitespace and gather following ! characters, rather than creating an empty name. ! - ghost.ps left newerror defined as true in $error, which resulted ! in an erroneous error report if a program executed a 'stop'. ! - The definition of exitserver in serverdict didn't clear the ! stack. ! - currentfile returned an executable file, rather than a literal ! one. ! - setfont for Type 1 fonts didn't check the UniqueID in the font ! dictionary against the one in the font's Private dictionary. ! - A value stored in a dictionary under the key /xxx couldn't be ! retrieved using the key (xxx), and vice versa. ! - charpath with a Type 1 font on a string containing a 'space' ! would produce garbage (it released the parent path inappropriately). ! - bytesavailable did not work properly for terminal input. ! ! Changes the interface to the memory allocator so that it always takes an ! element size and an element count, like calloc instead of malloc (but note ! that alloc does *not* clear just-allocated blocks). Gets rid of the ! special 'dynamic' allocation procedures. ! ! Changes the random number operators to use a better implementation. ! ! Changes the idiv operator so it will accept any numbers, not just ! integers, as arguments. (The PostScript manual doesn't allow this, but ! implementations apparently do.) ! ! Provides semi-fake but usable definitions for all of the color PostScript ! extensions, including a real implementation of colorimage. ! ! No longer uses the name 'null', which is apparently reserved by Microsoft ! C. Makes a number of other minor changes required to pacify the Microsoft ! C compiler. ! ! Implements %statementedit and %lineedit. (%statementedit is equivalent to ! %lineedit, which is wrong.) Changes the interactive interpreter to use ! %statementedit. ! ! Changes the scanner to accept null, ctrl-K (vertical tab), and ctrl-L ! (form feed) as whitespace. Ctrl-L terminates a comment, null and ctrl-K ! do not. ! ! Allows a literal string as the 'proc' argument(s) for image, imagemask, ! and colorimage. ! ! Adds the following operators/procedures: arct, cleardictstack, deletefile, ! renamefile. ! ! Defines =print as a synonym for =, for the benefit of LaserPrep. ! ! Implements non-zero PaintType for the show operators (but not for ! charpath) for Type 1 fonts. ! ! Adds the ISOLatin1Encoding encoding vector. ! ! Renames currentcolor and setcolor as currentgscolor and setgscolor, to ! avoid conflict with the Level 2 PostScript names. Removes colorhsb, ! colorrgb, hsbcolor, and rgbcolor. ! ! Library ! ------- ! ! Fixes bugs: ! - In a couple of places, a 0 was being passed as a pointer ! argument without casting, which confused the Microsoft C compiler. ! - Image devices were not recognized properly in debugging ! configurations. ! - Inverted-color monochrome image devices were not recognized ! properly. ! - Images that exactly fill the drawing area rendered very slowly, ! because they erroneously used the general clipping algorithm. ! - Images that are 1-for-1 with the device were incorrectly scaled ! by a factor of 8 in X. ! - Rounding artifacts sometimes caused characters to be unevenly ! offset vertically by 1 pixel. ! - Type 1 fonts that used the Flex feature resulted in garbled ! images. ! - The show operator routines would incorrectly fill or stroke a ! path that existed at the time the show was started. ! - setscreen truncated the cell size instead of rounding, which ! could produce off-by-1 anomalies. ! - stroke would sometimes produce garbage (or nothing at all) for ! very narrow lines. ! - path filling would only color the pixels whose centers fell ! inside the path: the Adobe specification requires coloring a pixel if any ! part of it falls inside the path. ! ! Changes the Epson printer driver so that it drives the printer directly ! rather than writing to a file. ! ! Changes pathbbox so that if the path is empty but there is a current ! point, it returns a null rectangle at the current point. ! ! Changes gs_image_init to take an additional parameter (after bps) giving ! the number of samples per pixel (1, 3, or 4), and an indication of whether ! the samples for each pixel are together or separated (-3 or -4). ! ! Renames the gs_image_data and gs_imagemask_data procedures as gs_image and ! gs_imagemask, and removes the old versions of the latter. ! ! Adds gs_colorimage. ! ! Replaces Snoopy's color dithering algorithm with one contributed by Paul ! Haeberli. ! ! Changes gs_setgray, gs_[set]hsbcolor, and gs_[set]rgbcolor so that they ! coerce arguments outside the range [0..1] back into the range, instead of ! signalling an error. ! ! Makes a number of minor changes required to pacify the Microsoft C ! compiler. ! ! Changes gs_arcto so that if the last argument is a null pointer, the ! tangent points are not returned. ! ! Removes gs_type1addpath, which is not useful. (Clients must call ! gs_type1_init and gs_type1_interpret directly.) ! ! Implements the 'seac' opcode for Type 1 fonts, allowing fonts with accented ! characters to display properly. ! ! Implements the undocumented 'testadd' opcode for Type 1 fonts, which is ! used by some Adobe fonts. ! ! Renames gs_currentcolor and gs_setcolor as gs_currentgscolor and ! gs_setgscolor. Removes gs_colorhsb, gs_colorrgb, gs_hsbcolor, and ! gs_rgbcolor. ! ! Version 2.0 (9/12/90) ! =========== ! ! The main purpose of this release is to add fonts, support for multiple ! devices, and imaging into memory. It also fixes a number of miscellaneous ! bugs. (Unfortunately, accurate records of the bugs fixed are not ! available.) The changes were so extensive that we chose to increment the ! major version number. ! ! Miscellaneous ! ------------- ! ! Doesn't attempt to open the .MAP file on Unix systems. ! ! Adds mention of statusd.ps to interp.doc. ! ! Notes that Turbo C 2.0, not 1.5, is required for building the MS-DOS ! version. ! ! Adds a DEVICES= line to the makefile, and allows multiple devices. ! ! Documents, in interp.doc, the X Windows resources that Ghostscript ! recognizes. ! ! Adds three PostScript masters to the fileset: chess.ps (+ cheq.ps), ! golfer.ps, and escher.ps. ! ! Drivers ! ------- ! ! Changes the names of all the device drivers. See gdevs.mak for the ! updated list. ! ! Adds a (working) driver for SunView. ! ! Adds drivers for the Sony NeWS frame buffer, and the Sony Microsystems ! NWP533 printers. These drivers were contributed by users, so we aren't ! prepared to answer questions about them. ! ! Adds a driver for the Borland Graphics Interface (BGI) for MS-DOS systems. ! Note that to use this driver with a non-EGA/VGA display, you need a .BGI ! file appropriate for your hardware. (The Ghostscript executable includes ! the EGA/VGA driver.) ! ! Adds a driver for Epson printers. The driver has only been tested on an ! LX-800, and on an H-P DeskJet in FX-80 emulation mode, but may work on ! other models. The driver could be adapted to work on Unix systems, but as ! distributed, it only works on MS-DOS systems. ! ! Adds a driver for the Hewlett-Packard DeskJet printer. The driver could ! be adapted to work on Unix systems, but as distributed, it only works on ! MS-DOS systems. ! ! The X Windows driver no longer waits for the user to type a character ! before bringing up the initial display. ! ! Adds information to drivers.doc describing how to change the definition of ! the device structure and procedure table. ! ! Extends the tile_rectangle and tile_trapezoid driver procedures to ! interpret color0 = color1 = gx_no_color_index as meaning that the tile is ! actually colored, not a mask. ! ! Build procedures ! ---------------- ! ! Changes the tar file so it puts everything in a directory called gs. ! ! Removes the -ansi switch for gcc (this was causing problems with ! on some systems). ! ! Changes LDPLAT to the string -X, which is appropriate for most Unix ! systems (but not for SunOS 4.n). ! ! Adds EXTRALIBS to the makefile, for specifying additional libraries to be ! linked in. ! ! Adds a 'clean' target for 'make', to get rid of all temporary files, the ! binaries, and the executable. ! ! Changes names of system-specific files from gp-xxx.c to gp_xxx.c. ! ! Adds support for VMS (gp_vms.c and ghost.dcl). ! ! Creates a new file gdevs.mak, and reorganizes the other makefiles, so that ! the choice of which device driver(s) to include is isolated in a single ! line in the platform-specific makefile. ! ! Changes the standard MS-DOS makefile so it builds for 8088/86 (not 80386), ! with neither -DNOPRIVATE nor -DDEBUG. ! ! Changes the name of the MS-DOS makefile from dos-ega.mak to msdos.mak, and ! the Unix makefiles from ux-[g]cc-x.mak to unix-[g]cc.mak. ! ! Updates drivers.doc to describe how to add new drivers in gdevs.mak. ! ! Removes gdevs.ps: the drivers are now responsible for specifying the size ! of the imaging region. ! ! Interpreter ! ----------- ! ! Adds a makefile macro GS_LIB_DEFAULT and an environment variable GS_LIB to ! define a search path for the library (initialization and font) files, and ! implements the -I switch for the same purpose (replacing -sLIB=, which was ! never actually implemented). See interp.doc for details. ! ! No longer clears the operand stack between interactive inputs. No longer ! prints the contents of the operand stack after every input in debug mode. ! ! Doesn't "eat" the character that the user types to proceed after a ! showpage, unless it's an isolated . ! ! Changes the prompt so that it says ! GS> ! if the operand stack is empty, or ! GS ! if there are n > 0 elements on the operand stack. ! ! Adds -w and -h switches to the command line, equivalent to -dWIDTH= and ! -dHEIGHT= except that they require numeric arguments. ! ! Adds -q (quiet startup) switch to the command line, which suppresses some ! initial messages and also has an effect equivalent to -dQUIET. ! ! Fixes bugs: ! - = and == caused an error on some kinds of objects if the object ! didn't have read access. ! - cvs didn't print operator names. ! - The definition of dynamic_begin in iscan.c caused the DEC VMS C ! compiler to produce incorrect code. ! - mul didn't return a correct (real) result when multiplying a ! very large integer by an integer that wasn't very large. ! - eq and ne didn't work on files, fonts, save objects, and some ! operators. ! - The scanner would sometimes blow up on floating point numbers ! beginning with a '.'. ! - flushfile didn't pop its argument from the stack. ! - put and putinterval would store into a packed array. ! - a few operators didn't check properly for stack underflow. ! - cvrs produced wrong output for radix values greater than 10. ! - The scanner would convert upper-case letters in alternate-radix ! numbers wrong on Unix systems. ! - String comparisons other than equality often produced the wrong ! result if the strings were of different lengths. ! - An ifelse as the last thing inside a forall would confuse the ! execution stack. ! - There were some omitted casts and 'private' declarations that ! made the GNU compiler unhappy. ! - There was a memory leak in the image[mask] operators that caused ! 516 bytes to be permanently lost each time one of them was used. ! - Quoted strings of length greater than 50 and less than 100 would ! get mangled when being read in. ! - The scanner didn't consume the whitespace character following a ! token, so programs that read data out of the program file could get ! confused. ! - Under rare circumstances, an object of size between 249 and 255 ! bytes could get allocated on top of another object. ! ! Allows bind to bind packed arrays, even though they aren't normally ! writable. ! ! Changes the length operator to allow a name as the argument. (The ! PostScript manual doesn't allow this, but implementations apparently do.) ! ! Changes the setcachedevice operator to allow the bounding box to be ! specified as a 4-element array instead of 4 scalars. (The PostScript ! manual doesn't allow this, but implementations apparently do.) ! ! Removes a line from ghost.ps that accidentally disabled the font cache. ! ! Implements memory devices (makeimagedevice, copyscanlines, and makedevice ! for image devices). makeimagedevice is implemented only for 1, 8, 24, and ! 32 bits per pixel. ! ! Changes the deviceparams operator so it pushes a mark on the stack below ! the parameters. This is to allow for devices that have more than the ! standard set of parameters. ! ! Replaces defaultdevicename with two new operators, getdevice and ! devicename. ! ! Adds a flushpage operator that flushes any outstanding buffered output to ! the screen. This is not the same as copypage: on printers, copypage ! actually prints a page, whereas flushpage may do nothing; on displays, ! flushpage and copypage may both flush output to a server. ! ! Adds an unread operator for pushing back a character into a file. ! ! Adds a description of proposed grayimage and colorimage operators to ! ghost.doc, even though they aren't implemented yet. ! ! Changes the name of the currentfileposition operator to fileposition. ! ! Removes the framedevice operator, since the new device operators supersede ! it. ! ! Adds a writeppmfile operator, for writing the contents of a memory device ! to a ppm file. ! ! Makes Ghostscript work even when the >> operator doesn't sign-extend ! negative numbers. (This has not been tested.) ! ! Adds the Symbol encoding to ghost.ps. ! ! Adds two new file-related operators, filename and findlibfile. See ! ghost.doc and interp.doc for details. ! ! Adds type1encrypt and type1decrypt operators for manipulating Adobe Type 1 ! encoded fonts. ! ! Changes the imagecharpath and addcharpath operators to type1imagepath and ! type1addpath. These operators now work with the Adobe Type 1 font ! encoding. ! ! Adds the type1decryptfile operator for reading Adobe Type 1 encrypted ! fonts. ! ! Library ! ------- ! ! Fixes bugs: ! - curveto and lineto didn't check for the current point being ! defined. ! - stringwidth would fail if there was no current point. ! - There were omitted casts that made the GNU compiler unhappy. ! - Line caps and joins didn't always work. ! - Dashed lines didn't work at all. ! - If you read out the current matrix while inside a BuildChar ! procedure, the result was garbage. ! - image[mask] would crash if you gave it a single string with more ! than 64K-1 pixels (MS-DOS only). ! - Filling with a gray pattern sometimes wrote into pixels beyond ! the right edge of the region (MS-DOS only). ! - The font cache would mistake fonts for each other if both fonts ! had a default (unsupplied) "unique ID". ! - When a character was entered into the font cache for the first ! time, sometimes it would display as garbage and/or displaced vertically ! from its proper position. ! ! Implements gs_makeimagedevice, gs_copyscanlines, gs_getdevice, ! gs_devicename, gs_flushpage, gs_writeppmfile, gs_type1encrypt, ! gs_type1decrypt, gs_type1imagepath, and gs_type1addpath procedures ! corresponding to the new operators in the interpreter (see preceding ! section). ! ! Changes [gs_]setdevice so that it does an erasepage when it first opens ! the device. ! ! Changes definition of gx_device structure as follows. NOTE: THIS AFFECTS ! ALL DRIVERS. ! ! - Removes bits_from_MSB (which wasn't actually used, in any case). ! Ghostscript now assumes officially, as it always did in ! practice, that device bitmaps are stored MSB first, i.e., X=0 ! corresponds to the 0x80 bit in the first byte. ! ! - Removes the initial_matrix member, which wasn't actually being ! set up. ! ! - Adds a new member 'name', a string giving the device name. ! ! - Adds new members 'x_pixels_per_inch' and 'y_pixels_per_inch'. ! These are only used by the default initial_matrix procedure ! (see below). ! ! - Adds a new procedure 'output_page'. The default implementation ! (gx_default_output_page) just calls the sync_output procedure. ! ! - Adds a new procedure 'get_initial_matrix'. The default ! procedure uses the width, height, and x/y_pixels_per_inch ! members to compute the matrix, assuming that X values run from ! right to left, and Y values run from top to bottom. ! ! Changes the names of the allocation procedure types gs_proc_alloc and ! gs_proc_free to proc_alloc_t and proc_free_t, and moves them from gs.h to ! std.h. ! ! Makes Ghostscript work even when the >> operator doesn't sign-extend ! negative numbers. (This has not been tested.) ! ! Version 1.3 (6/20/89) ! =========== ! ! This release should have had a lot more things in it, but time pressure ! and the already long delay in getting it out made it necessary to push it ! out the door in an incomplete state (e.g., no testing on X systems ! whatsoever). ! ! Interpreter ! ----------- ! ! Makes -d and -D equivalent on the command line. Adds a new switch -s / -S ! that defines a name as a string rather than a token. ! ! Arranges things so that if -sLIB=_a_prefix_ is defined on the command ! line, (filename) run will look for _a_prefix_filename before giving up if ! filename isn't the name of an accessible file. ! ! Changes showpage from an operator to a procedure. The definition of ! showpage in ghost.ps does a copypage, beeps the console, waits for the ! user to type a character (normally a , since line buffering is ! always enabled), and then does an erasepage and an initgraphics. ! ! Adds a new initialization file, gdevs.ps, containing device-dependent ! parameters. The default window size for X Windows is properly set to 612 ! x 792, i.e., 8.5" x 11". ! ! Adds a new optional initialization file, statusd.ps, that provides dummy ! definitions for the names found in statusdict on LaserWriters. ! ! Adds a new operator, getenv, to get information from the shell ! environment. ! ! Adds a new predefined operator, defaultdevicename, that returns either (X) ! or (EGA) according to how the interpreter was built. ! ! Adds a new type, devicetype, and new operators deviceparams, getscanlines, ! makedevice, makeimagedevice, and setdevice. Changes currentdevice to ! return a device object rather than a set of parameters. ! ! Makes the scanner recognize reals with 'e' exponent notation, and handle ! reals with more than 9 digits. ! ! Fixes a bug that made names starting with digits read incorrectly. ! ! Fixes a bug in the exp operator that made it not pop its first argument ! from the stack. ! ! Fixes a bug in the rand operator that made it return negative values about ! half the time. ! ! Fixes a bug in equality comparison (eq, ne, and several other operators) ! that made unequal operator objects occasionally appear to be equal on DOS ! systems. ! ! Fixes a bug in the bind operator that made it not work on packed arrays. ! ! Changes the internal representation of dictionaries so they can be ! expanded or contracted dynamically. Adds a new operator, setmaxlength, to ! change the allocated size of a dictionary. ! ! Changes sstorei.h so that non-DOS compilers don't encounter the #pragma ! directive used by Turbo C. ! ! Restores the display mode (on MS-DOS systems) when exiting. ! ! Fonts ! ----- ! ! Makes undefined characters in the standard font display as tilde rather ! than blank (or causing an error). Unmapped character codes (those mapped ! to .notdef in the encoding) still display as nothing, per the PostScript ! manual. ! ! Library ! ------- ! ! Adds a new header file, gxbitmap.h, with some new documentation describing ! the internal storage format for bitmaps. ! ! Makes numerous internal changes in the character / font cache, affecting ! many of the routines in gxcache.c. ! ! Fixes a bug in gz_draw_line / gz_fill_trapezoid that made nearly ! horizontal lines display wrong. ! ! Fixes a bug in gs_scale that made scaling not work if the coordinate ! system was rotated or skewed. ! ! Extends the font cache so it will handle characters rotated by multiples ! of 90 degrees. ! ! Changes the second argument of gx_path_bbox and gx_path_is_rectangle to be ! a gs_fixed_rect * rather than a fixed [4]. ! ! Changes gs_matrix_rotate so it handles multiples of 90 degrees as a ! special case. ! ! Changes the definition of the gx_device structure to accommodate the new ! device operators, and adds corresponding library calls. ! ! Changes the type for a device color index from int to gx_color_index ! (equivalent to unsigned long). ***NOTE***: this affects existing clients ! and drivers in a non-trivial way on MS-DOS systems. ! ! Changes gs_malloc and gs_free to take a client name string as an argument. ! ! Usage procedures ! ---------------- ! ! Changes the compilation rules for Unix systems to not use the -o and -c ! compiler flags together, to be compatible with more versions of cc. ! ! Changes the gcc makefile to use $(GCC) rather than gcc as the compiler ! name. ! ! Moves the -1 flag for the MS-DOS compiler from the cc*.bat files to the ! makefile. ! ! Changes CCDEBUG to CCFLAGS, and adds ASMFLAGS, in DOS makefile. ! ! Adds -DFOR80386 and /DFOR80386 to enable use of 80386 instructions in ! assembly code on DOS systems. ! ! Merges the DEBUG and gs_DEBUG switches. There is now only a single DEBUG ! switch that affects both the interpreter and the library. ! ! Adds a new compilation switch, -DNOPRIVATE, that makes private (static) ! variables and procedures public for debugging and profiling (only needed ! on DOS systems). ! ! Adds the DOS executable (gs.exe and gs.map) to the distribution fileset. ! ! Adds new platform-specific code files, gp-*.c, for a few things like ! reading the clock. ! ! Adds a new documentation file, drivers.doc, that describes the interface ! between Ghostscript and device drivers. ! ! Version 1.2 (2/22/89) ! =========== ! ! Interpreter ! ----------- ! ! Adds the new facilities in version 25 of PostScript: //name for immediate ! lookup, packed arrays (setpacking, currentpacking, packedarray operators), ! and new font cache parameters (setcacheparams, currentcacheparams ! operators). ! ! Adds new operators (setfileposition, currentfileposition) for random ! access to files. ! ! Extends readhexstring to take either a string or a file, just like token. ! ! Fixes a bug that caused the 'for' operator (and a couple of others) to ! randomly smash memory locations on PC platforms. ! ! Library ! ------- ! ! Renames the init_device driver procedure as open_device, and adds a ! corresponding close_device. ! ! Adds new procedures to read and set the cache limit values (implementing ! the currentcacheparams and setcacheparams operators). ! ! Usage procedures ! ---------------- ! ! Changes the name of the Unix makefile to ux-cc-x.mak, and adds a new Unix ! makefile, ux-gcc-x.mak, for using gcc instead of cc. (The latter doesn't ! actually work yet.) ! ! Changes the name of the single built-in font from uglyfont.cp to ! ugly10.cp. ! ! Version 1.1 (2/12/89) ! =========== ! ! Interpreter ! ----------- ! ! Makes the scanner treat ^Z (ASCII code 26) as whitespace: it erroneously ! treated ^R (ASCII code 22, or octal 26) as whitespace. ! ! Makes the token and readline operators, and the syntax for comments, ! recognize \r (code 13), \n (code 10), and \r\n as equivalent end-of-line ! indicators. The token and readline operators will skip over any of these ! sequences at the end of a token or line respectively, and a comment will ! read through any of these sequences. The other file operators (read, ! write, readstring, writestring) do nothing special with these characters. ! ! Changes the debug switch name from -D to -Z. Adds a -D switch for ! defining names in systemdict from the command line. Defines -DDEBUG for ! printing out debugging information during initialization, and -DNODISPLAY ! for suppressing display output. ! ! Corrects a bug that prevented the error machinery from working -- in ! version 1.0, errors always dumped the stacks and aborted interpretation. ! ! Corrects a bug that made eq and ne not work for strings. ! ! Makes the atan (arctangent) operator normalize its results according to ! the PostScript convention. ! ! Makes the div operator check for zero divisor. ! ! Makes unimplemented operators (resetfile, echo, save, restore, strokepath, ! reversepath) truly undefined. ! ! Makes the interactive loop exit gracefully on end-of-file: in version 1.0 ! this caused an infinite loop. ! ! Implements the status operator. ! ! Corrects a bug that made the 'for' operator deliver garbage values if one ! or more of the operands (start, increment, end) was a real. ! ! Corrects a bug that made the arc and arcn operators not pop their operands ! from the stack. ! ! Corrects a bug that made the kshow operator crash the interpreter. ! ! Corrects a bug that made the print operator fail on machines that don't ! pass structure arguments by simply pushing the contents of the structure. ! ! Adds a new operator, imagecharpath, to convert images to ! addcharpath-compatible outlines. ! ! Changes alloc and alloc_free to use char * rather than byte *, and ! alloc_free to return void rather than int, making them compatible with the ! library's expectations and with malloc/free. ! ! Explicitly casts all expressions of the form (ptr1 - ptr2) used as ! procedure arguments to unsigned, to handle an incompatibility between ! Turbo C versions 1.5 and 2.0. ! ! Changes some of the internal conventions for operators: operators that ! push on the operand stack must check for overflow explicitly, and ! operators that modify the execution stack must return a special code. ! (See oper.h for details.) ! ! Initialization (ghost.ps, gfonts.ps) ! -------------- ! ! Modifies ghost.ps and gfonts.ps so they print debugging information only ! if the name DEBUG is defined. (Presumably the user will set this from the ! command line with -DDEBUG.) ! ! Changes ghost.ps so it initializes the nominal screen size to 640 x 350 on ! MS-DOS systems as before, but to 612 x 792 on Unix systems, which is an ! 8.5" x 11" page at 72 pixels per inch. ! ! Library ! ------- ! ! Corrects a bug that made the fill and eofill operators (gs_fill and ! gs_eofill) not perform a newpath afterward. ! ! Corrects the bug that made thin, nearly horizontal lines display wrong (as ! a series of disconnected dots) in the MS-DOS implementation. ! ! Fixes a bug in the EGA driver that often made it fill rectangular regions ! with black around information being displayed in white. ! ! Completely changes the internal representation of outline fonts, and ! changes btoi.ps (a Ghostscript language program for converting bitmaps to ! outlines) to use a new library call, gs_imagecharpath. ! ! Changes the extension for outline font files from .gf to .cp. ! ! Adds a new debugging switch, q, that traces all rectangle fill operations. ! ! Adds a new debugging switch, v, that traces all device-level output calls. ! ! Explicitly casts pointer differences passed as procedure arguments, as in ! the interpreter. ! ! Makes stringwidth work if there is no current point. In version 1.0, this ! gave a nocurrentpoint error. ! ! Usage procedures ! ---------------- ! ! Changes the name of the 'read me' file from READ.ME to README. ! ! Removes a bogus line (invoking the 'mcopy' utility) from the makefile. ! ! Splits up the makefile into a generic part (ghost.mak) and ! platform-specific parts (dos-ega.mak, unix-x11.mak). The latter are what ! is actually executed. ! ! Puts the definitions of the DEBUG and gs_DEBUG compilation flags into the ! makefile instead of in ghost.h and gx.h respectively. ! ! Changes the names of the documentation files to be a little less cryptic. ! Changes all the file names to lower-case in the documentation. Adds ! installation information to make.doc. ! ! Changes all function definitions (but not prototype declarations) to ANSI ! syntax, and adds a preprocessing step (ansi2knr) to convert them to K&R ! syntax on Unix systems. ! ! Changes the normal MS-DOS link configuration to not assume the presence of ! an 80x87 coprocessor, and describes how to increase performance if a ! coprocessor is present. ! ! Changes the names of all the interpreter .c files, except stream.c, to ! begin with 'i'. ! ! Version 1.0 (8/11/88) ! =========== ! First version released to the public. --- 1871,1876 ---- size. ! Versions before 2.4 ! =================== ! See the file history.doc. diff -rNC2 gs252/README gs26/README *** gs252/README Mon Sep 21 00:05:23 1992 --- gs26/README Fri May 7 13:49:20 1993 *************** *** 1,3 **** ! Copyright (C) 1989, 1992 Aladdin Enterprises. All rights reserved. Distributed by Free Software Foundation, Inc. --- 1,3 ---- ! Copyright (C) 1989, 1992, 1993 Aladdin Enterprises. All rights reserved. Distributed by Free Software Foundation, Inc. *************** *** 21,25 **** ***************************************************** ! * This file describes version 2.5.2 of Ghostscript. * ***************************************************** --- 21,25 ---- ***************************************************** ! * This file describes version 2.6.0 of Ghostscript. * ***************************************************** *************** *** 36,39 **** --- 36,55 ---- operations in the PostScript language. + The primary contact for Ghostscript is: + + Aladdin Enterprises + P.O. box 60264 + Palo Alto, CA 94306 + voice (415)322-0103 + fax (415)322-1734 + ...{uunet,decwrl}!aladdin!ghost + ghost@aladdin.com + + L. Peter Deutsch, president of Aladdin Enterprises, was the original + creator, and is the primary developer and maintainer, of Ghostscript. + Aladdin Enterprises owns the copyright in Ghostscript; Ghostscript is + distributed with the GNU General Public License, and is also available for + commercial licensing. + The Ghostscript language interpreter and library are written entirely in C, with some assembly-language accelerators for MS-DOS platforms. *************** *** 45,48 **** --- 61,66 ---- Microsoft Windows 3.0 or 3.1; + - IBM PC and compatibles under OS/2 2.0 and 2.1; + - A wide variety of Unix systems using X Windows version 11, release 3, 4, and 5, including Sun-3, Sun-4, Sun-386i, *************** *** 63,73 **** interfere with each other. ! Ghostscript has also been ported to the Apple Macintosh and to the ! Acorn Archimedes. For information on the Macintosh port, contact ! Martin Fong (fong@erg.sri.com). For information on the Archimedes ! port, contact David Elworthy (David.Elworthy@cl.cam.ac.uk). ******** ! ******** Related programs ******** --- 81,107 ---- interfere with each other. ! Other platforms ! --------------- ! ! Ghostscript has also been ported a number of platforms by users, who ! are willing to be contacted regarding problems on those specific ! platforms: ! ! - For information on a port to the Apple Macintosh, contact ! Martin Fong (mwfong@nisc.sri.com). (Aladdin Enterprises will be ! offering a Macintosh port in early 1993.) ! ! - For information on a port to the Acorn Archimedes, contact ! David Elworthy (David.Elworthy@cl.cam.ac.uk). + - For information on two different ports to Win-OS/2, contact + Gershon Elber (gershon@gr.cs.utah.edu) and/or Jim Yang + (jyang@daedalus.caltech.edu). + + - For information on a port to the Atari ST, contact Tim + Gallivan (timg@landau.ph.utexas.edu). + ******** ! ******** Related work ******** *************** *** 77,80 **** --- 111,118 ---- GSPreview, contact Richard Hesketh (rlh2@ukc.ac.uk). + There is a freely available MS Windows screen previewer based on + Ghostscript, called Ghostview for Windows. For information on Ghostview + for Windows, contact Russell Lang (rjl@monu1.cc.monash.edu.au). + A set of patches and additions for Kanji capability for Ghostscript version 2.4.1 is available for anonymous FTP from *************** *** 82,85 **** --- 120,126 ---- Mr. Norio Katayama (katayama@nacsis.ac.jp). + Thomas Wolff (wolff@inf.fu-berlin.de) is working on extending the + Hershey fonts to include international characters. + ******** ******** Documentation overview ******** *************** *** 100,105 **** should also read any more recent sections of: ! > NEWS - a complete, detailed history of changes in Ghostscript ! releases. Especially for new users --- 141,146 ---- should also read any more recent sections of: ! > NEWS - a complete, detailed history of changes in the most recent ! Ghostscript releases. Especially for new users *************** *** 108,113 **** If you are a new user of Ghostscript, you should read: ! > use.doc - information about to use Ghostscript. If you are going to compile Ghostscript, rather than just use an executable you got from somewhere, you should read: --- 149,160 ---- If you are a new user of Ghostscript, you should read: ! > use.doc - information about to install and use Ghostscript. + > devices.doc - more detailed information about specific devices that + Ghostscript knows about. + + > scripts.doc - more detailed information about some of the shell scripts + and batch files distributed with Ghostscript. + If you are going to compile Ghostscript, rather than just use an executable you got from somewhere, you should read: *************** *** 136,141 **** > drivers.doc - the interface between Ghostscript and device drivers. ! Odds and ends ! ------------- > hershey.doc - information about the Hershey fonts, which are the --- 183,197 ---- > drivers.doc - the interface between Ghostscript and device drivers. ! > xfonts.doc - the interface between Ghostscript and platform-supplied ! fonts. (Read drivers.doc first.) ! ! Other files ! ----------- ! ! > ps2epsi.doc - documentation for the PostScript to EPSI conversion ! utility. ! ! > helpers.doc - a note of thanks to all the people who have helped with ! Ghostscript development. > hershey.doc - information about the Hershey fonts, which are the *************** *** 142,150 **** basis of some of the Ghostscript fonts. ! > humor.doc - a humorous comment on Ghostscript contributed by a net.person. > lib.doc - information about the Ghostscript library. ! > man.doc - a possible Un*x 'man' page for Ghostscript. ******** --- 198,209 ---- basis of some of the Ghostscript fonts. ! > history.doc - a history of changes in older Ghostscript release. + > humor.doc - a humorous comment on Ghostscript contributed by a user. + > lib.doc - information about the Ghostscript library. ! > unix-lpr.doc - information about how to integrate Ghostscript with ! Unix printer spooling. ******** *************** *** 153,169 **** Aladdin Enterprises doesn't have the resources to respond to questions ! from general users of Ghostscript. If you have problems with ! Ghostscript, and you have access to Usenet news, we suggest you post ! your question to gnu.ghostscript.bug. There are hundreds of ! Ghostscript user sites all over the world, and often another user will ! be able to help you. If you are having trouble with a specific device ! driver, look in the file devs.mak and see if it is a user-maintained ! driver. If so, you may contact the person listed there directly; ! please do not contact Aladdin Enterprises regarding user-maintained ! drivers. ! ! Aladdin Enterprises does want Ghostscript to be of high quality, so if ! you have been running Ghostscript and encounter a problem, we will be ! glad to investigate it if you meet all the following criteria: - You are using the most recent version of Ghostscript. --- 212,229 ---- Aladdin Enterprises doesn't have the resources to respond to questions ! from general users of Ghostscript. If you have problems with Ghostscript, ! and you have access to Usenet news, we suggest you post your question to ! gnu.ghostscript.bug. There are hundreds of Ghostscript user sites all ! over the world, and often another user will be able to help you. (If you ! have access to Internet mail, but not news, send e-mail to ! bug-ghostscript@prep.ai.mit.edu.) If you are having trouble with a ! specific device driver, look in the file devs.mak and see if it is a ! user-maintained driver. If so, please contact the person listed there ! directly; please do not contact Aladdin Enterprises regarding ! user-maintained drivers. ! ! Aladdin Enterprises does want Ghostscript to be of high quality, so if you ! have been running Ghostscript and encounter a problem, we will consider ! investigating it if you meet all the following criteria: - You are using the most recent version of Ghostscript. *************** *** 170,174 **** - You obtained Ghostscript directly from Aladdin Enterprises, ! or from a GNU distribution site on the Internet. - You have installed Ghostscript successfully, and used it --- 230,236 ---- - You obtained Ghostscript directly from Aladdin Enterprises, ! or from a GNU distribution site on the Internet (i.e., not from a ! bulletin board system or a commercial system such as CompuServe or ! GEnie). - You have installed Ghostscript successfully, and used it *************** *** 177,180 **** --- 239,243 ---- - Your problem is reproducible, and you can send us the input data that evokes it (by e-mail, anonymous FTP, or PC diskette). + (But please do not send anything unless we ask you for it.) - Your bug report tells us what hardware, operating system, *************** *** 205,209 **** software: ! 80486 PC, MS-DOS 5.0, Microsoft Windows 3.0; Borland C++ 3.1 (and several older versions); color SuperVGA display; Epson-compatible printer --- 268,272 ---- software: ! 80486 PC, MS-DOS 5.0, Microsoft Windows 3.1; Borland C++ 3.1 (and several older versions); color SuperVGA display; Epson-compatible printer *************** *** 220,234 **** will have to rely on other users to help. - If you wish to contact Aladdin Enterprises directly, you may reach us - at: - - Aladdin Enterprises - P.O. box 60264 - Palo Alto, CA 94306 - voice (415)322-0103 - fax (415)322-1734 - ...{uunet,decwrl}!aladdin!ghost - ghost@aladdin.com - If you call on the phone, you will usually be talking to an answering machine. In this case, please leave a message with your name and --- 283,286 ---- *************** *** 243,274 **** Ghostscript: ! - Ghostscript needs some good, free, Type 1 (outline) fonts. ! Karl Berry is working on this, but it might go faster if he got some ! knowledgeable assistance. Contact karl@cs.umb.edu if you want to ! help with this. ! ! - Several people have asked for a program that will take ! PostScript code and reconstruct some reasonable ASCII form of the ! input, if this is possible. Ghostscript's gs_2asc.ps utility does a ! fair job of extracting the strings and their placement on the page, ! but that's only the easy half of the job: a second pass is needed to ! figure out, at a minimum, where paragraph breaks are (based on Y ! positioning), and where spaces go (based on X positioning). Contact ! ghost@aladdin.com if you want to help by doing this. ! ! - Adobe has donated the specification of the Display ! PostScript C API to the X distribution. Implementing this API for ! Ghostscript might make Ghostscript a lot more useful, since it would ! then be "plug compatible" with Display PostScript in an important ! way. This might not be a very big project. Contact ghost@aladdin.com if you would like to help with this. - On gray-scale displays, it might be worthwhile implementing ! anti-aliased fonts. To do this, one would modify the renderer so ! that it cached a high-resolution bitmap, and then did the ! anti-aliasing as it copied the bitmap to the device. This would ! allow simulating fractional-pixel positioning, which is one of the ! great benefits of anti-aliased fonts. Contact ghost@aladdin.com if ! this is of interest to you. ******** --- 295,329 ---- Ghostscript: ! - Since Aladdin Enterprises doesn't have ready access to Unix ! systems, someone else is needed to take responsibility for texinfo and/or ! man page documentation for Ghostscript. What this would involve is ! updating this documentation during the beta test period for each release, ! and sending it to Aladdin to be included in the final fileset. (Aladdin ! would continue to supply the plain-text documentation as it currently ! exists.) ! ! - Ghostscript needs some good, free, Type 1 (outline) fonts. Karl ! Berry is working on this, but it might go faster if he got some ! knowledgeable assistance. Contact karl@cs.umb.edu if you want to help ! with this. ! ! - Adobe has donated the specification of the Display PostScript C ! API to the X distribution. Implementing this API for Ghostscript might ! make Ghostscript a lot more useful, since it would then be "plug ! compatible" with Display PostScript in an important way. Contact ghost@aladdin.com if you would like to help with this. - On gray-scale displays, it might be worthwhile implementing ! anti-aliased fonts. To do this, one would modify the renderer so that it ! cached a high-resolution bitmap, and then did the anti-aliasing as it ! copied the bitmap to the device. This would allow simulating ! fractional-pixel positioning, which is one of the great benefits of ! anti-aliased fonts. Contact ghost@aladdin.com if this is of interest to ! you. ! ! - Ghostscript currently runs on Microsoft Windows 3.0 and 3.1 on ! top of MS-DOS, but does not yet run on Windows NT. If you are interested ! in helping port Ghostscript to run on Windows NT (presumably by getting it ! to run using Win32/Win32s), please contact ghost@aladdin.com. ******** *************** *** 276,369 **** ******** ! Ghostscript was originally created, and is still primarily developed ! and maintained, by L. Peter Deutsch, proprietor of Aladdin ! Enterprises. ! ! The following users (in alphabetical order) have contributed ! substantially to improving Ghostscript: ! ! Hitoshi Aida (for help with the SunView driver), ! William Bader (for several drivers and bug reports), ! Karl Berry and Kathy Hargreaves (for helping create the fonts ! distributed with Ghostscript), ! George Cameron (for a DeskJet 500C driver), ! Phil Conrad (for originating the PPM utilities and the PCX and ! GIF drivers, and lots of bug reports), ! Michel Dagenais (for major help with the DeskJet driver), ! Gershon Elber (for improvements to the BGI driver), ! Mike Ferrara (for help with the LaserJet driver and HP-UX), ! J Greely (for help with the PostScript-to-ASCII filter), ! Paul Haeberli (for the ideas behind better color selection ! and trapezoid fill algorithms), ! Richard Hesketh (for GSPreview), ! Thomas Hiller (for the Trident TVGA driver), ! Frans van Hoesel (for improvements to the DeskJet driver), ! Alfred Kayser (for a DeskJet 500C driver and beta testing), ! Richard Keeney (for help with the SunView driver), ! Eleftherios Koutsofios (for help with the SunView driver), ! Markku Koppinen (for a better circle-to-curve algorithm), ! Russell Lang and Maurice Castro (for the first working Microsoft ! Windows driver), ! Ian MacPhedran (for a sixel driver), ! Jim Mayer (for help with the DeskJet and LaserJet drivers), ! Richard Mlynarik (for a nearly overwhelming volume of ! improvements and suggestions), ! Ulrich Mueller (for the LN03 driver), ! Daniel Newman (for major help with VMS and the CCITT Fax filters), ! Roque Donizete de Oliveira (for testing and debugging, ! and a 'man' page), ! Marc Paquette (for the original PaintJet driver), ! Hal Peterson (for major help with BDF fonts), ! Tom Quinn (for the Canon LBP-8II driver), ! Jerry Roylance (for help with statusdict), ! Dave St. Clair (for the color Epson/Fujitsu driver), ! Jan Sanislo (for two subtle but vital fixes), ! Clemens Schrimpe (for help with accented characters), ! Mike Smolenski (for the Sony drivers), ! Snoopy (for major help with Hershey fonts, and many other ! contributions), ! Karsten Spang (for the Tektronix ink-jet driver), ! Andreas Stolcke (for help with the SunView driver), ! Chris Strozyk (for getting the URW fonts made available), ! Michael Sweet (for help with the high-density Epson driver), ! Tim Theisen (for help with the X Windows driver, and for the ! Ghostview previewer that is built on Ghostscript), ! Gregg Townsend (for the low-resolution dithering algorithm), ! Christian Tschudin (for fixes to the virtual memory package, ! and for the original BubbleJet driver), ! Jos Vos (for the original PBM/PGM/PPM driver), ! Allan Wax (for the AT&T 6300 modification to the BGI driver), ! David Wexelblat (for the high-resolution 9-pin Epson driver), ! Elizabeth Zwicky (for some very challenging examples). ! ! The following people have also helped out by beta testing, by ! reporting bugs, or in other ways: ! ! Vikas Aggarwal, Michael Almond, ! Malcolm Bennett, ! Jim Collins, ! Peter da Silva, Art Dederick, Paul DuBois, ! Toerless Eckert, ! Mark Friedman, Richard Foulk, ! Glenn Geers, Dave Goldblatt, Dirk Grunwald, ! Lars Haakedal, Adam Hammer, George Hartzell, Mike Hoffmann, ! Brad Jones, Terry Jones, ! David Keppel, ! Anthony Lee, John Lundin Jr., Lee McLoughlin, ! Stergios Marinopoulos, Herb Martin, David Maynard, ! Doug McDonald, Rich Murphey, ! Russ Nelson, ! Peter Phillips, ! Mark Rawling, Philippe Robert, Tomas Rokicki, Wolfgang Rupprecht, ! Bill Schelter, Bakul Shah, ! Erik Talvola, ! Amanda Walker, Peter Wan, Carsten Wiethoff, Carl Witty, ! Frank Yellin, ! Jamie Zawinski. ! ! If your name appears on the above list and I've forgotten a ! particular contribution you made, or if it doesn't appear at all, ! please forgive me: just remind me, and you will be properly ! acknowledged in the next release. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- 331,345 ---- ******** ! Ghostscript was originally created, and is primarily developed and ! maintained, by L. Peter Deutsch, President of Aladdin Enterprises. ! ! Special thanks are due to Russell Lang, for the gsview (Ghostview for ! Microsoft Windows) program and for contributing most of the code for the ! Microsoft Windows environment, and to Tim Theisen, for the Ghostview ! program for X Windows and for major contributions to the code for the X ! Windows environment. ! ! The file helpers.doc contains a list of all the many other people who have ! contributed significantly to improving Ghostscript. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -rNC2 gs252/alloc.h gs26/alloc.h *** gs252/alloc.h Wed Mar 4 17:38:16 1992 --- gs26/alloc.h Wed Dec 9 13:50:08 1992 *************** *** 22,29 **** /* Ordinary allocator interface */ ! void alloc_init(P3(proc_alloc_t, proc_free_t, uint)); char *alloc(P3(uint num_elts, uint elt_size, const char *client_name)); void alloc_free(P4(char *data, uint num_elts, uint elt_size, const char *client_name)); void alloc_status(P2(long *, long *)); /* Dynamic allocation */ --- 22,30 ---- /* Ordinary allocator interface */ ! void alloc_init(P2(const gs_memory_procs *, uint)); char *alloc(P3(uint num_elts, uint elt_size, const char *client_name)); void alloc_free(P4(char *data, uint num_elts, uint elt_size, const char *client_name)); void alloc_status(P2(long *, long *)); + extern const gs_memory_procs alloc_memory_procs; /* Dynamic allocation */ diff -rNC2 gs252/alphabet.ps gs26/alphabet.ps *** gs252/alphabet.ps Tue Jun 23 05:56:34 1992 --- gs26/alphabet.ps Fri Nov 13 15:27:22 1992 *************** *** 36,40 **** Name findfont FirstSize scalefont setfont ! 10 -10 moveto NumSizes { gsave nulldevice (Q) false charpath pathbbox grestore --- 36,41 ---- Name findfont FirstSize scalefont setfont ! clippath pathbbox /top exch def pop pop pop newpath ! 10 10 moveto NumSizes { gsave nulldevice (Q) false charpath pathbbox grestore *************** *** 41,48 **** exch pop exch sub exch pop 1.25 mul /height exch def Strings ! { dup 0 height rmoveto sshow UseOutline not { 0 height rmoveto gsave 0.01 rotate sshow grestore } if } forall Ratio dup scale --- 42,54 ---- exch pop exch sub exch pop 1.25 mul /height exch def Strings ! { currentpoint exch pop top height 3 mul sub gt ! { showpage 10 10 height sub moveto ! } ! if ! dup sshow UseOutline not { 0 height rmoveto gsave 0.01 rotate sshow grestore } if + 0 height rmoveto } forall Ratio dup scale diff -rNC2 gs252/ansi2knr.man gs26/ansi2knr.man *** gs252/ansi2knr.man Mon Feb 18 03:17:38 1991 --- gs26/ansi2knr.man *************** *** 1,19 **** - .TH ANSI2KNR 1 "31 December 1990" - .SH NAME - ansi2knr \- convert ANSI C to Kernighan & Ritchie C - .SH SYNOPSIS - .I ansi2knr - input_file output_file - .SH DESCRIPTION - If no output_file is supplied, output goes to stdout. - .br - There are no error messages. - .sp - .I ansi2knr - recognizes functions by seeing a non-keyword identifier at the left margin, followed by a left parenthesis, with a right parenthesis as the last character on the line. It will recognize a multi-line header if the last character on each line but the last is a left parenthesis or comma. These algorithms ignore whitespace and comments, except that the function name must be the first thing on the line. - .sp - The following constructs will confuse it: - .br - - Any other construct that starts at the left margin and follows the above syntax (such as a macro or function call). - .br - - Macros that tinker with the syntax of the function header. --- 0 ---- diff -rNC2 gs252/ansihead.mak gs26/ansihead.mak *** gs252/ansihead.mak Fri Sep 18 18:37:50 1992 --- gs26/ansihead.mak Thu Apr 29 07:47:02 1993 *************** *** 1,3 **** ! # Copyright (C) 1989, 1990, 1991 Aladdin Enterprises. All rights reserved. # Distributed by Free Software Foundation, Inc. # --- 1,3 ---- ! # Copyright (C) 1989, 1990, 1991, 1993 Aladdin Enterprises. All rights reserved. # Distributed by Free Software Foundation, Inc. # *************** *** 62,65 **** --- 62,69 ---- GENOPT= + # Define the name of the executable file. + + GS=gs + # ------ Platform-specific options ------ # *************** *** 88,91 **** --- 92,97 ---- # Define any extra libraries to link into the executable. + # ISC Unix 2.2 wants -linet. + # SCO Unix needs -lsocket if you aren't including the X11 driver. # (Libraries required by individual drivers are handled automatically.) *************** *** 109,113 **** # Choose the language feature(s) to include. See gs.mak for details. ! FEATURE_DEVS=filter.dev # Choose the device(s) to include. See devs.mak for details. --- 115,119 ---- # Choose the language feature(s) to include. See gs.mak for details. ! FEATURE_DEVS=filter.dev dps.dev level2.dev # Choose the device(s) to include. See devs.mak for details. *************** *** 114,117 **** --- 120,124 ---- DEVICE_DEVS=x11.dev + DEVICE_DEVS9=pbm.dev pbmraw.dev pgm.dev pgmraw.dev ppm.dev ppmraw.dev bit.dev # ---------------------------- End of options --------------------------- # diff -rNC2 gs252/astate.h gs26/astate.h *** gs252/astate.h Sat Apr 11 09:36:36 1992 --- gs26/astate.h Wed Dec 9 13:23:16 1992 *************** *** 34,38 **** #define align_round(siz) (uint)(((siz) + align_mask) & -align_mod) ! /* Max object size for separate free list */ #define max_chain_size 350 --- 34,40 ---- #define align_round(siz) (uint)(((siz) + align_mask) & -align_mod) ! /* Max object size for separate free list. */ ! /* We want this to be big enough to handle a gstate_contents, */ ! /* which is currently 342 bytes. */ #define max_chain_size 350 *************** *** 81,89 **** uint chunk_size; /* unit for wholesale malloc */ uint big_size; /* min size for separate malloc */ ! proc_alloc_t palloc; /* proc for malloc */ ! proc_free_t pfree; /* proc for free */ alloc_chunk *last_freed; /* cache the last non-current chunk */ /* at the current save level */ /* where we freed an object */ /* Statistics */ long used; /* total space used, including */ --- 83,91 ---- uint chunk_size; /* unit for wholesale malloc */ uint big_size; /* min size for separate malloc */ ! const gs_memory_procs *mprocs; /* procs for separate malloc/free */ alloc_chunk *last_freed; /* cache the last non-current chunk */ /* at the current save level */ /* where we freed an object */ + uint local_attr; /* 0 if global VM, a_local if local */ /* Statistics */ long used; /* total space used, including */ diff -rNC2 gs252/bc.mak gs26/bc.mak *** gs252/bc.mak --- gs26/bc.mak Thu May 6 21:03:30 1993 *************** *** 0 **** --- 1,290 ---- + # Copyright (C) 1989, 1990, 1991, 1992 Aladdin Enterprises. All rights reserved. + # Distributed by Free Software Foundation, Inc. + # + # This file is part of Ghostscript. + # + # Ghostscript is distributed in the hope that it will be useful, but + # WITHOUT ANY WARRANTY. No author or distributor accepts responsibility + # to anyone for the consequences of using it or for whether it serves any + # particular purpose or works at all, unless he says so in writing. Refer + # to the Ghostscript General Public License for full details. + # + # Everyone is granted permission to copy, modify and redistribute + # Ghostscript, but only under the conditions described in the Ghostscript + # General Public License. A copy of this license is supposed to have been + # given to you along with Ghostscript so you can know your rights and + # responsibilities. It should be in a file named COPYING. Among other + # things, the copyright notice and this notice must be preserved on all + # copies. + + # makefile for Ghostscript, MS-DOS/Borland C++ platform. + + # ------------------------------- Options ------------------------------- # + + ###### This section is the only part of the file you should need to edit. + + # ------ Generic options ------ # + + # Define the default directory/ies for the runtime + # initialization and font files. Separate multiple directories with \;. + # Use / to indicate directories, not a single \. + + GS_LIB_DEFAULT=c:/gs\;c:/gs/fonts + + # Define the name of the Ghostscript initialization file. + # (There is no reason to change this.) + + GS_INIT=gs_init.ps + + # Choose generic configuration options. + + # Setting DEBUG=1 includes debugging features (-Z switch) in the code. + # Code runs substantially slower even if no debugging switches are set, + # and also takes about another 25K of memory. + + DEBUG=0 + + # Setting TDEBUG=1 includes symbol table information for the Borland debugger, + # and also enables stack checking. Code is substantially slower and larger. + + TDEBUG=0 + + # Setting NOPRIVATE=1 makes private (static) procedures and variables public, + # so they are visible to the debugger and profiler. + # No execution time or space penalty, just larger .OBJ and .EXE files. + + NOPRIVATE=0 + + # Define the name of the executable file. + + GS=gs + + # ------ Platform-specific options ------ # + + # If you don't have an assembler, set USE_ASM=0. Otherwise, set USE_ASM=1, + # and set ASM to the name of the assembler you are using. This can be + # a full path name if you want. Normally it will be masm or tasm. + + USE_ASM=1 + ASM=tasm + + # Define the drive, directory, and compiler name for the Turbo C files. + # COMP is the compiler name (tcc for Turbo C++, bcc for Borland C++). + # COMPDIR contains the compiler and linker (normally \bc\bin). + # BGIDIR contains the BGI files (normally /bc/bgi). + # BGIDIRSTR must be the same as BGIDIR with / substituted for \. + # (These are only needed if you include the BGI driver.) + # INCDIR contains the include files (normally \bc\include). + # LIBDIR contains the library files (normally \bc\lib). + # Note that these prefixes are always followed by a \, + # so if you want to use the current directory, use an explicit '.'. + + COMP=bcc + COMPDIR=c:\bc\bin + BGIDIR=c:\bc\bgi + # BGIDIRSTR must be the same as BGIDIR with / substituted for \. + BGIDIRSTR=c:/bc/bgi + INCDIR=c:\bc\include + LIBDIR=c:\bc\lib + + # Define whether you want to use the Borland code overlay mechanism + # (VROOMM). Code overlays make it possible to process larger files, + # but code swapping will slow Ghostscript down even on smaller ones. + # See the file overlay.h to control details of overlaying such as + # the overlay buffer size, whether to use EMS and/or extended memory + # to store evicted overlays, and how much of that memory to use. + + OVERLAY=1 + + # Choose platform-specific options. + + # Define the processor (CPU) type. Options are 86, 186, 286, 386, or 486. + # (The 8086 and 8088 both correspond to processor type 86.) + # 286 and up do not use protected mode. Higher numbers produce + # code that may be significantly smaller and faster, but the executable + # will bail out with an error message on lower-numbered processor types. + + CPU_TYPE=286 + + # Define the math coprocessor (FPU) type. Options are 0, 87, 287, or 387. + # If the CPU type is 486, the FPU type is irrelevant, since the 80486 + # CPU includes the equivalent of an 80387 on-chip. + # A non-zero option means that the executable will only run if a FPU + # of that type (or higher) is available: this is NOT currently checked + # at runtime. + # Code is significantly faster. + + FPU_TYPE=0 + + # ---------------------------- End of options ---------------------------- # + + # Swapping `make' out of memory makes linking much faster. + + .swap + + # Define the platform name. + + PLATFORM=bc_ + + # Define the name of the makefile -- used in dependencies. + + MAKEFILE=bc.mak + + # Define the ANSI-to-K&R dependency. Turbo C accepts ANSI syntax, + # but we need to preconstruct ccf.tr to get around the limit on + # the maximum length of a command line. + + AK=ccf.tr + + # Define the compilation flags for an 80286. + # This is void because we handle -2 and -3 in ccf.tr (see below). + + F286= + + # Figure out which version of Borland C++ we are running. + # In the MAKE program that comes with Borland C++ 2.0, __MAKE__ is 0x300; + # in the MAKE that comes with Borland C++ 3.0 and 3.1, it is 0x360. + # We care because 3.0 has additional optimization features. + # There are also some places below where we distinguish BC++ 3.1 from 3.0 + # by testing whether $(INCDIR)\win30.h exists (true in 3.1, false in 3.0). + + EXIST_BC3_1=exist $(INCDIR)\win30.h + + !if $(__MAKE__) >= 0x360 + CO=-Obe -Z + !else + CO=-O + !endif + + !include "tccommon.mak" + + # Define the compilation flags. + + !if $(NOPRIVATE) + CP=-DNOPRIVATE + !else + CP= + !endif + + !if $(DEBUG) | $(TDEBUG) + CS=-N + !else + CS= + !endif + + !if $(DEBUG) + CD=-DDEBUG + !else + CD= + !endif + + !if $(TDEBUG) + CT=-v + LCT=/v + !else + CT=-y + LCT=/m /l + !endif + + GENOPT=$(CP) $(CS) $(CD) $(CT) + + !if $(OVERLAY) + CY=-Y + CYO=-Yo -zAOVLY + LO=/oOVLY + LIBOVL=$(LIBDIR)\overlay + OVLH=overlay.h + !else + CY= + CYO= + LO= + LIBOVL= + OVLH= + !endif + + CCFLAGS0=$(GENOPT) $(PLATOPT) $(FPFLAGS) + CCFLAGS=$(CCFLAGS0) -m$(MM) + CC=$(COMPDIR)\$(COMP) -m$(MM) -zEGS_FAR_DATA @ccf.tr + CCC=$(CC) $(CYO) $(CO) -c + CCD=$(CC) $(CYO) -O -c + CCCF=$(COMPDIR)\$(COMP) -mh @ccf.tr $(CYO) -O -c + CCINT=$(CC) $(CYO) -Obet -c + + .c.obj: + $(CCC) { $<} + + # ------ Devices and features ------ # + + # Choose the language feature(s) to include. See gs.mak for details. + # Even though code overlays are available, we don't include most of the + # optional features, because they cost a significant amount of non-code space. + + FEATURE_DEVS=filter.dev dps.dev level2.dev + + # Choose the device(s) to include. See devs.mak for details. + # We don't include the BGI driver, because it takes 10K of + # non-overlayable code space. + + DEVICE_DEVS=vga.dev ega.dev vesa.dev + DEVICE_DEVS2=atiw.dev s3vga.dev tseng.dev tvga.dev + DEVICE_DEVS3=deskjet.dev djet500.dev laserjet.dev ljetplus.dev ljet2p.dev ljet3.dev + DEVICE_DEVS4=cdeskjet.dev cdjcolor.dev cdjmono.dev cdj550.dev paintjet.dev pjetxl.dev + DEVICE_DEVS5=epson.dev eps9high.dev ibmpro.dev + DEVICE_DEVS6=bj10e.dev bj200.dev + DEVICE_DEVS8=gifmono.dev gif8.dev pcxmono.dev pcx16.dev pcx256.dev + !include "gs.mak" + !include "devs.mak" + + # Build the compiler response file depending on the selected options. + + ccf.tr: $(MAKEFILE) makefile + !if $(CPU_TYPE) < 286 + echo -a -d -r -G -X -I$(INCDIR) $(CCFLAGS0) >ccf.tr + !else + echo -2 -a -d -r -G -X -I$(INCDIR) $(CCFLAGS0) >ccf.tr + ! if $(CPU_TYPE) > 286 + echo -3 -a -d -r -G -X -I$(INCDIR) $(CCFLAGS0) >_temp_ + if $(EXIST_BC3_1) copy _temp_ ccf.tr + ! endif + !endif + + # -------------------------------- Library -------------------------------- # + + # The Turbo/Borland C(++) platform + + bc__=gp_itbc.$(OBJ) gp_dosfb.$(OBJ) gp_msdos.$(OBJ) + bc_.dev: $(bc__) + $(SHP)gssetmod bc_ $(bc__) + + # We have to compile gp_itbc without -1, because it includes a run-time + # check to make sure we are running on the right kind of processor. + gp_itbc.$(OBJ): gp_itbc.c $(string__h) $(gx_h) $(gp_h) \ + $(OVLH) $(MAKEFILE) makefile + $(CC) $(CCFLAGS) -1- $(CY) -DCPU_TYPE=$(CPU_TYPE) -c gp_itbc.c + + gp_dosfb.$(OBJ): gp_dosfb.c $(memory__h) $(gx_h) $(gp_h) $(gserrors_h) $(gxdevice_h) + + gp_msdos.$(OBJ): gp_msdos.c $(dos__h) $(string__h) $(gx_h) $(gp_h) + + # ----------------------------- Main program ------------------------------ # + + BEGINFILES=ccf.tr + CCBEGIN=$(CCC) *.c + + # Get around the fact that the DOS shell has a rather small limit on + # the length of a command line. (sigh) + + LIBCTR=libc$(MM).tr + + $(LIBCTR): $(MAKEFILE) makefile + echo $(LIBOVL) $(LIBDIR)\$(FPLIB) $(LIBDIR)\math$(MM) $(LIBDIR)\c$(MM) >$(LIBCTR) + + LIBDOS=$(LIBGS) obj.tr + + # Interpreter main program + + GS_ALL=gs.$(OBJ) $(INT) $(INTASM) gsmain.$(OBJ)\ + $(LIBDOS) $(LIBCTR) obj.tr lib.tr + + $(GS)$(XE): $(GS_ALL) $(ALL_DEVS) + $(COMPDIR)\tlink $(LCT) $(LO) $(LIBDIR)\c0$(MM) @obj.tr $(INTASM) @gs.tr ,$(GS),$(GS),@lib.tr @$(LIBCTR) diff -rNC2 gs252/bcwin.mak gs26/bcwin.mak *** gs252/bcwin.mak Mon Sep 14 17:32:24 1992 --- gs26/bcwin.mak Thu May 6 21:02:48 1993 *************** *** 1,3 **** ! # Copyright (C) 1989, 1992 Aladdin Enterprises. All rights reserved. # Distributed by Free Software Foundation, Inc. # --- 1,3 ---- ! # Copyright (C) 1989, 1992, 1993 Aladdin Enterprises. All rights reserved. # Distributed by Free Software Foundation, Inc. # *************** *** 57,60 **** --- 57,64 ---- NOPRIVATE=0 + # Define the name of the executable file. + + GS=gswin + # ------ Platform-specific options ------ # *************** *** 79,82 **** --- 83,90 ---- LIBDIR=c:\bc\lib + # Define the Windows directory. + + WINDIR=c:\windows + # Windows 3.n requires a 286 CPU or higher. *************** *** 121,124 **** --- 129,137 ---- EXIST_BC3_1=exist $(INCDIR)\win30.h + # Figure out which version of Windows we are running, 3.0 or 3.1. + # I *think* 3.0 doesn't have the 256COLOR.BMP file. + + WINDOWS_3_1=exist $(WINDIR)\256color.bmp + !if $(__MAKE__) >= 0x360 CO=-Obe -Z *************** *** 159,169 **** GENOPT=$(CP) $(CS) $(CD) $(CT) ! CCFLAGS=$(GENOPT) $(PLATOPT) $(FPFLAGS) -m$(MM) ! CC=$(COMPDIR)\$(COMP) @ccf.tr ! CCC=$(CC) -W $(CO) -c ! CCD=$(CC) -W -O -c ! CCCF=$(CC) $(GENOPT) $(PLATOPT) $(FPFLAGS) -mh ! CC0=$(CC) -W -c ! CCINT=$(CC) -W -c .c.obj: --- 172,184 ---- GENOPT=$(CP) $(CS) $(CD) $(CT) ! CCFLAGS0=$(GENOPT) $(PLATOPT) $(FPFLAGS) ! CCFLAGS=$(CCFLAGS0) -m$(MM) ! CC=$(COMPDIR)\$(COMP) -m$(MM) -zEGS_FAR_DATA @ccf.tr ! # We want a Windows executable with only selected functions exported: ! WX=-WE ! CCC=$(CC) $(WX) $(CO) -c ! CCD=$(CC) $(WX) -O -c ! CCCF=$(CCC) ! CCINT=$(CC) $(WX) -c .c.obj: *************** *** 176,187 **** # of drivers, but we can't exceed 64K of static data. ! FEATURE_DEVS= # Choose the device(s) to include. See devs.mak for details. ! DEVICE_DEVS=mswin.dev epson.dev eps9high.dev bj10e.dev ! DEVICE_DEVS2=deskjet.dev djet500.dev laserjet.dev ljetplus.dev ljet2p.dev ljet3.dev ! DEVICE_DEVS3=cdeskjet.dev cdjcolor.dev cdjmono.dev paintjet.dev pjetxl.dev ! DEVICE_DEVS5=gifmono.dev gif8.dev bit.dev !include "gs.mak" !include "devs.mak" --- 191,204 ---- # of drivers, but we can't exceed 64K of static data. ! FEATURE_DEVS=filter.dev dps.dev level2.dev # Choose the device(s) to include. See devs.mak for details. ! DEVICE_DEVS=mswin.dev mswinprn.dev ! DEVICE_DEVS3=deskjet.dev djet500.dev laserjet.dev ljetplus.dev ljet2p.dev ljet3.dev ! DEVICE_DEVS4=cdeskjet.dev cdjcolor.dev cdjmono.dev cdj550.dev paintjet.dev pjetxl.dev ! DEVICE_DEVS5=epson.dev eps9high.dev ibmpro.dev bj10e.dev ! DEVICE_DEVS7=bmpmono.dev bmp16.dev bmp256.dev bmp16m.dev ! DEVICE_DEVS8=gifmono.dev gif8.dev bit.dev !include "gs.mak" !include "devs.mak" *************** *** 190,196 **** ccf.tr: $(MAKEFILE) makefile ! echo -2 -a -d -r -G -N -X -I$(INCDIR) $(CCFLAGS) -DCHECK_INTERRUPTS >ccf.tr !if $(CPU_TYPE) > 286 ! echo -3 -a -d -r -G -N -X -I$(INCDIR) $(CCFLAGS) -DCHECK_INTERRUPTS >_temp_ if $(EXIST_BC3_1) copy _temp_ ccf.tr !endif --- 207,213 ---- ccf.tr: $(MAKEFILE) makefile ! echo -2 -a -d -r -G -N -X -I$(INCDIR) $(CCFLAGS0) -DCHECK_INTERRUPTS >ccf.tr !if $(CPU_TYPE) > 286 ! echo -3 -a -d -r -G -N -X -I$(INCDIR) $(CCFLAGS0) -DCHECK_INTERRUPTS >_temp_ if $(EXIST_BC3_1) copy _temp_ ccf.tr !endif *************** *** 200,219 **** # The Turbo/Borland C(++), Microsoft Windows platform ! bcwin__=gp_mswin.$(OBJ) gp_msdos.$(OBJ) bcwin_.dev: $(bcwin__) $(SHP)gssetmod bcwin_ $(bcwin__) ! gp_mswin.$(OBJ): gp_mswin.c gp_mswin.h $(memory__h) $(string__h) \ $(gx_h) $(gp_h) $(gpcheck_h) $(gserrors_h) $(gxdevice_h) ! gp_msdos.$(OBJ): gp_msdos.c $(dos__h) $(string__h) $(gx_h) $(gp_h) # ----------------------------- Main program ------------------------------ # ! BEGINFILES=gs.res gs*.ico CCBEGIN=$(CCC) *.c - iutilasm.$(OBJ): iutilasm.asm - # Get around the fact that the DOS shell has a rather small limit on # the length of a command line. (sigh) --- 217,243 ---- # The Turbo/Borland C(++), Microsoft Windows platform ! # Using a file device resource to get the console streams re-initialized ! # is bad architecture (an upward reference to zfiledev), ! # but it will have to do for the moment. ! bcwin__=gp_mswin.$(OBJ) gp_mswtx.$(OBJ) gp_msdos.$(OBJ) gp_nofb.$(OBJ) bcwin_.dev: $(bcwin__) $(SHP)gssetmod bcwin_ $(bcwin__) + $(SHP)gsaddmod bcwin_ -fdev wstdio ! gp_mswin.$(OBJ): gp_mswin.c $(AK) gp_mswin.h gp_mswtx.h \ ! $(ctype__h) $(dos__h) $(malloc__h) $(memory__h) $(stdio__h) $(string__h) $(windows__h) \ $(gx_h) $(gp_h) $(gpcheck_h) $(gserrors_h) $(gxdevice_h) ! gp_mswtx.$(OBJ): gp_mswtx.c $(AK) gp_mswtx.h \ ! $(ctype__h) $(dos__h) $(memory__h) $(string__h) $(windows__h) + gp_msdos.$(OBJ): gp_msdos.c $(AK) $(dos__h) $(string__h) \ + $(gstypes_h) $(gp_h) $(gsutil_h) + # ----------------------------- Main program ------------------------------ # ! BEGINFILES=gs*.res gs*.ico CCBEGIN=$(CCC) *.c # Get around the fact that the DOS shell has a rather small limit on # the length of a command line. (sigh) *************** *** 224,228 **** echo $(LIBDIR)\import $(LIBDIR)\mathw$(MM) $(LIBDIR)\cw$(MM) >$(LIBCTR) ! LIBDOS=$(LIB) obj.tr # Interpreter main program --- 248,252 ---- echo $(LIBDIR)\import $(LIBDIR)\mathw$(MM) $(LIBDIR)\cw$(MM) >$(LIBCTR) ! LIBDOS=$(LIBGS) obj.tr # Interpreter main program *************** *** 231,235 **** GS_ALL=gs.$(OBJ) $(INT) $(INTASM) gsmain.$(OBJ)\ ! $(LIBDOS) $(LIBCTR) obj.tr lib.tr gs.res gs.def $(ICONS) # Make the icons from their text form. --- 255,259 ---- GS_ALL=gs.$(OBJ) $(INT) $(INTASM) gsmain.$(OBJ)\ ! $(LIBDOS) $(LIBCTR) obj.tr lib.tr $(GS).res $(GS).def $(ICONS) # Make the icons from their text form. *************** *** 241,249 **** echogs -wb gstext.ico -n -X -r gstext.icx ! gs.res: gs.rc gp_mswin.h $(ICONS) ! $(COMPDIR)\rc -i$(INCDIR) -r gs ! gs.exe: $(GS_ALL) ! tlink $(LCT) /Twe $(LIBDIR)\c0w$(MM) @obj.tr $(INTASM) @gs.tr ,gs,gs,@lib.tr @$(LIBCTR),gs.def ! if $(EXIST_BC3_1) $(COMPDIR)\rc -30 -i$(INCDIR) gs ! if not $(EXIST_BC3_1) $(COMPDIR)\rc -i$(INCDIR) gs --- 265,276 ---- echogs -wb gstext.ico -n -X -r gstext.icx ! $(GS).res: $(GS).rc gp_mswin.h $(ICONS) ! $(COMPDIR)\rc -i$(INCDIR) -r $(GS) ! $(GS)$(XE): $(GS_ALL) $(ALL_DEVS) ! tlink $(LCT) /Twe $(LIBDIR)\c0w$(MM) @obj.tr $(INTASM) @gs.tr ,$(GS),$(GS),@lib.tr @$(LIBCTR),$(GS).def ! echo $(COMPDIR)\rc -30 -i$(INCDIR) $(GS) >_temp_.bat ! echo $(COMPDIR)\rc -i$(INCDIR) $(GS) >_temp_ ! if not $(EXIST_BC3_1) copy _temp_ _temp_.bat ! if $(WINDOWS_3_1) copy _temp_ _temp_.bat ! _temp_.bat diff -rNC2 gs252/bdftops.ps gs26/bdftops.ps *** gs252/bdftops.ps Wed Aug 19 11:14:30 1992 --- gs26/bdftops.ps Fri Jan 22 10:11:34 1993 *************** *** 35,38 **** --- 35,39 ---- % "Import" the font-writing package. (wrfont.ps) run + /encrypt_CharStrings false def % Invert the StandardEncoding vector. diff -rNC2 gs252/bench.ps gs26/bench.ps *** gs252/bench.ps --- gs26/bench.ps Mon May 3 19:12:30 1993 *************** *** 0 **** --- 1,78 ---- + % Copyright (C) 1993 Aladdin Enterprises. All rights reserved. + % Distributed by Free Software Foundation, Inc. + % + % This file is part of Ghostscript. + % + % Ghostscript is distributed in the hope that it will be useful, but + % WITHOUT ANY WARRANTY. No author or distributor accepts responsibility + % to anyone for the consequences of using it or for whether it serves any + % particular purpose or works at all, unless he says so in writing. Refer + % to the Ghostscript General Public License for full details. + % + % Everyone is granted permission to copy, modify and redistribute + % Ghostscript, but only under the conditions described in the Ghostscript + % General Public License. A copy of this license is supposed to have been + % given to you along with Ghostscript so you can know your rights and + % responsibilities. It should be in a file named COPYING. Among other + % things, the copyright notice and this notice must be preserved on all + % copies. + + % bench.ps + % This file is a "wrapper" for benchmarking. + % It writes timing results on a file called: + + /BOF where { pop } { + /BOF (bench.out) def + } ifelse + + % Make sure all execution occurs under a `save'. + + save pop + + % Set the output device to an image device. + + /Resolution where { pop } { /Resolution 100 def } ifelse + [ Resolution 72.0 div 0 0 Resolution -72.0 div 0 792 ] + Resolution 8.5 mul cvi + Resolution 11.0 mul cvi + <00 ff> + makeimagedevice + setdevice + + % Redefine 'run' so that it collects timing information. + + /.orig.run /run load def + /.run.finish %