13ff48bf5SDavid du Colombier<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 27dd7cddfSDavid du Colombier<html> 37dd7cddfSDavid du Colombier<head> 47dd7cddfSDavid du Colombier<title>History of Ghostscript versions 3.n</title> 5*593dc095SDavid du Colombier<!-- $Id: History3.htm,v 1.39 2005/10/20 19:46:23 ray Exp $ --> 67dd7cddfSDavid du Colombier<!-- Originally: history3.txt --> 77dd7cddfSDavid du Colombier<!-- 87dd7cddfSDavid du Colombier WARNING: do not use Pete Kaiser's emacs function "gs-toc" alone to 97dd7cddfSDavid du Colombier re-create the table of contents here, because it will replace the 107dd7cddfSDavid du Colombier hand-edited TOC subheads with a separate subhead for each H2 in 117dd7cddfSDavid du Colombier the body of the file. Or if you do, first look at the original 127dd7cddfSDavid du Colombier TOC to see how to edit it for visual conciseness. 137dd7cddfSDavid du Colombier--> 143ff48bf5SDavid du Colombier<link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style"> 157dd7cddfSDavid du Colombier</head> 167dd7cddfSDavid du Colombier 177dd7cddfSDavid du Colombier<body> 187dd7cddfSDavid du Colombier<!-- [1.0 begin visible header] ============================================ --> 197dd7cddfSDavid du Colombier 207dd7cddfSDavid du Colombier<!-- [1.1 begin headline] ================================================== --> 217dd7cddfSDavid du Colombier 223ff48bf5SDavid du Colombier<h1>History of Ghostscript versions 3.n</h1> 237dd7cddfSDavid du Colombier 247dd7cddfSDavid du Colombier<!-- [1.1 end headline] ==================================================== --> 257dd7cddfSDavid du Colombier 267dd7cddfSDavid du Colombier<!-- [1.2 begin table of contents] ========================================= --> 277dd7cddfSDavid du Colombier 287dd7cddfSDavid du Colombier<h2>Table of contents</h2> 297dd7cddfSDavid du Colombier 307dd7cddfSDavid du Colombier<blockquote><ul> 317dd7cddfSDavid du Colombier<li><a href="#Version3.70p1">Version 3.70 patch 1 (6/24/96)</a> 327dd7cddfSDavid du Colombier<ul> 337dd7cddfSDavid du Colombier<li><a href="#V3.70p1_Procedures">Procedures</a>, 347dd7cddfSDavid du Colombier <a href="#V3.70p1_Drivers">Drivers</a> 357dd7cddfSDavid du Colombier</ul> 367dd7cddfSDavid du Colombier<li><a href="#Version3.70">Version 3.70 (limited) (6/23/96)</a> 377dd7cddfSDavid du Colombier<ul> 387dd7cddfSDavid du Colombier<li><a href="#V3.70_Documentation">Documentation</a>, 397dd7cddfSDavid du Colombier <a href="#V3.70_Procedures">Procedures</a>, 407dd7cddfSDavid du Colombier <a href="#V3.70_Drivers">Drivers</a>, 417dd7cddfSDavid du Colombier <a href="#V3.70_Platforms">Platforms</a>, 427dd7cddfSDavid du Colombier <a href="#V3.70_Fonts">Fonts</a>, 437dd7cddfSDavid du Colombier <a href="#V3.70_Interpreter">Interpreter</a>, 447dd7cddfSDavid du Colombier <a href="#V3.70_Interpreter_PDF">Interpreter (PDF)</a>, 457dd7cddfSDavid du Colombier <a href="#V3.70_Streams">Streams</a>, 467dd7cddfSDavid du Colombier <a href="#V3.70_Library">Library</a> 477dd7cddfSDavid du Colombier</ul> 487dd7cddfSDavid du Colombier<li><a href="#Version3.69">Version 3.69 (limited) (6/14/96)</a> 497dd7cddfSDavid du Colombier<ul> 507dd7cddfSDavid du Colombier<li><a href="#V3.69_Documentation">Documentation</a>, 517dd7cddfSDavid du Colombier <a href="#V3.69_Procedures">Procedures</a>, 527dd7cddfSDavid du Colombier <a href="#V3.69_Utilities">Utilities</a>, 537dd7cddfSDavid du Colombier <a href="#V3.69_Drivers">Drivers</a>, 547dd7cddfSDavid du Colombier <a href="#V3.69_Platforms">Platforms</a>, 557dd7cddfSDavid du Colombier <a href="#V3.69_Fonts">Fonts</a>, 567dd7cddfSDavid du Colombier <a href="#V3.69_Interpreter">Interpreter</a>, 577dd7cddfSDavid du Colombier <a href="#V3.69_Library">Library</a> 587dd7cddfSDavid du Colombier</ul> 597dd7cddfSDavid du Colombier<li><a href="#Version3.68p4">Version 3.68 patch 4 (5/23/96)</a> 607dd7cddfSDavid du Colombier<ul> 617dd7cddfSDavid du Colombier<li><a href="#V3.68p4_Documentation">Documentation</a>, 627dd7cddfSDavid du Colombier <a href="#V3.68p4_Procedures">Procedures</a>, 637dd7cddfSDavid du Colombier <a href="#V3.68p4_Drivers">Drivers</a>, 647dd7cddfSDavid du Colombier <a href="#V3.68p4_Platforms">Platforms</a>, 657dd7cddfSDavid du Colombier <a href="#V3.68p4_Fonts">Fonts</a>, 667dd7cddfSDavid du Colombier <a href="#V3.68p4_Interpreter">Interpreter</a>, 677dd7cddfSDavid du Colombier <a href="#V3.68p4_Library">Library</a> 687dd7cddfSDavid du Colombier</ul> 697dd7cddfSDavid du Colombier<li><a href="#Version3.68p3">Version 3.68 patch 3 (5/17/96)</a> 707dd7cddfSDavid du Colombier<ul> 717dd7cddfSDavid du Colombier<li><a href="#V3.68p3_Procedures">Procedures</a>, 727dd7cddfSDavid du Colombier <a href="#V3.68p3_Utilities">Utilities</a>, 737dd7cddfSDavid du Colombier <a href="#V3.68p3_Drivers">Drivers</a>, 747dd7cddfSDavid du Colombier <a href="#V3.68p3_Platforms">Platforms</a>, 757dd7cddfSDavid du Colombier <a href="#V3.68p3_Interpreter">Interpreter</a>, 767dd7cddfSDavid du Colombier <a href="#V3.68p3_Library">Library</a> 777dd7cddfSDavid du Colombier</ul> 787dd7cddfSDavid du Colombier<li><a href="#Version3.68p2">Version 3.68 patch 2 (5/13/96)</a> 797dd7cddfSDavid du Colombier<ul> 807dd7cddfSDavid du Colombier<li><a href="#V3.68p2_Documentation">Documentation</a>, 817dd7cddfSDavid du Colombier <a href="#V3.68p2_Procedures">Procedures</a>, 827dd7cddfSDavid du Colombier <a href="#V3.68p2_Drivers">Drivers</a>, 837dd7cddfSDavid du Colombier <a href="#V3.68p2_Interpreter">Interpreter</a>, 847dd7cddfSDavid du Colombier <a href="#V3.68p2_Streams">Streams</a>, 857dd7cddfSDavid du Colombier <a href="#V3.68p2_Library">Library</a> 867dd7cddfSDavid du Colombier</ul> 877dd7cddfSDavid du Colombier<li><a href="#Version3.68p1">Version 3.68 patch 1 (5/10/96)</a> 887dd7cddfSDavid du Colombier<ul> 897dd7cddfSDavid du Colombier<li><a href="#V3.68p1_Procedures">Procedures</a> 907dd7cddfSDavid du Colombier</ul> 917dd7cddfSDavid du Colombier<li><a href="#Version3.68">Version 3.68 (limited) (5/9/96)</a> 927dd7cddfSDavid du Colombier<ul> 937dd7cddfSDavid du Colombier<li><a href="#V3.68_Documentation">Documentation</a>, 947dd7cddfSDavid du Colombier <a href="#V3.68_Procedures">Procedures</a>, 957dd7cddfSDavid du Colombier <a href="#V3.68_Utilities">Utilities</a>, 967dd7cddfSDavid du Colombier <a href="#V3.68_Drivers">Drivers</a>, 977dd7cddfSDavid du Colombier <a href="#V3.68_Platforms">Platforms</a>, 987dd7cddfSDavid du Colombier <a href="#V3.68_Fonts">Fonts</a>, 997dd7cddfSDavid du Colombier <a href="#V3.68_Interpreter">Interpreter</a>, 1007dd7cddfSDavid du Colombier <a href="#V3.68_Streams">Streams</a>, 1017dd7cddfSDavid du Colombier <a href="#V3.68_Library">Library</a> 1027dd7cddfSDavid du Colombier</ul> 1037dd7cddfSDavid du Colombier<li><a href="#Version3.67">Version 3.67 (limited) (4/12/96)</a> 1047dd7cddfSDavid du Colombier<ul> 1057dd7cddfSDavid du Colombier<li><a href="#V3.67_Documentation">Documentation</a>, 1067dd7cddfSDavid du Colombier <a href="#V3.67_Procedures">Procedures</a>, 1077dd7cddfSDavid du Colombier <a href="#V3.67_Platforms">Platforms</a>, 1087dd7cddfSDavid du Colombier <a href="#V3.67_Interpreter">Interpreter</a>, 1097dd7cddfSDavid du Colombier <a href="#V3.67_Interpreter_PDF">Interpreter (PDF)</a>, 1107dd7cddfSDavid du Colombier <a href="#V3.67_Library">Library</a> 1117dd7cddfSDavid du Colombier</ul> 1127dd7cddfSDavid du Colombier<li><a href="#Version3.66">Version 3.66 (limited) (4/8/96)</a> 1137dd7cddfSDavid du Colombier<ul> 1147dd7cddfSDavid du Colombier<li><a href="#V3.66_Documentation">Documentation</a>, 1157dd7cddfSDavid du Colombier <a href="#V3.66_Procedures">Procedures</a>, 1167dd7cddfSDavid du Colombier <a href="#V3.66_Utilities">Utilities</a>, 1177dd7cddfSDavid du Colombier <a href="#V3.66_Drivers">Drivers</a>, 1187dd7cddfSDavid du Colombier <a href="#V3.66_Platforms">Platforms</a>, 1197dd7cddfSDavid du Colombier <a href="#V3.66_Fonts">Fonts</a>, 1207dd7cddfSDavid du Colombier <a href="#V3.66_Interpreter">Interpreter</a>, 1217dd7cddfSDavid du Colombier <a href="#V3.66_Interpreter_PDF">Interpreter (PDF)</a>, 1227dd7cddfSDavid du Colombier <a href="#V3.66_Streams">Streams</a>, 1237dd7cddfSDavid du Colombier <a href="#V3.66_Library">Library</a> 1247dd7cddfSDavid du Colombier</ul> 1257dd7cddfSDavid du Colombier<li><a href="#Version3.65">Version 3.65 (limited) (3/9/96)</a> 1267dd7cddfSDavid du Colombier<ul> 1277dd7cddfSDavid du Colombier<li><a href="#V3.65_Documentation">Documentation</a>, 1287dd7cddfSDavid du Colombier <a href="#V3.65_Procedures">Procedures</a>, 1297dd7cddfSDavid du Colombier <a href="#V3.65_Utilities">Utilities</a>, 1307dd7cddfSDavid du Colombier <a href="#V3.65_Drivers">Drivers</a>, 1317dd7cddfSDavid du Colombier <a href="#V3.65_Platforms">Platforms</a>, 1327dd7cddfSDavid du Colombier <a href="#V3.65_Interpreter">Interpreter</a>, 1337dd7cddfSDavid du Colombier <a href="#V3.65_Interpreter_PDF">Interpreter (PDF)</a>, 1347dd7cddfSDavid du Colombier <a href="#V3.65_Streams">Streams</a>, 1357dd7cddfSDavid du Colombier <a href="#V3.65_Library">Library</a> 1367dd7cddfSDavid du Colombier</ul> 1377dd7cddfSDavid du Colombier<li><a href="#Version3.64">Version 3.64 (limited, incremental) (1/27/96)</a> 1387dd7cddfSDavid du Colombier<ul> 1397dd7cddfSDavid du Colombier<li><a href="#V3.64_Documentation">Documentation</a>, 1407dd7cddfSDavid du Colombier <a href="#V3.64_Procedures">Procedures</a>, 1417dd7cddfSDavid du Colombier <a href="#V3.64_Utilities">Utilities</a>, 1427dd7cddfSDavid du Colombier <a href="#V3.64_Drivers">Drivers</a>, 1437dd7cddfSDavid du Colombier <a href="#V3.64_Platforms">Platforms</a>, 1447dd7cddfSDavid du Colombier <a href="#V3.64_Interpreter">Interpreter</a>, 1457dd7cddfSDavid du Colombier <a href="#V3.64_Streams">Streams</a>, 1467dd7cddfSDavid du Colombier <a href="#V3.64_Library">Library</a> 1477dd7cddfSDavid du Colombier</ul> 1487dd7cddfSDavid du Colombier<li><a href="#Version3.63">Version 3.63 (limited, incremental) (1/14/96)</a> 1497dd7cddfSDavid du Colombier<ul> 1507dd7cddfSDavid du Colombier<li><a href="#V3.63_Documentation">Documentation</a>, 1517dd7cddfSDavid du Colombier <a href="#V3.63_Procedures">Procedures</a>, 1527dd7cddfSDavid du Colombier <a href="#V3.63_Utilities">Utilities</a>, 1537dd7cddfSDavid du Colombier <a href="#V3.63_Drivers">Drivers</a>, 1547dd7cddfSDavid du Colombier <a href="#V3.63_Platforms">Platforms</a>, 1557dd7cddfSDavid du Colombier <a href="#V3.63_Interpreter">Interpreter</a>, 1567dd7cddfSDavid du Colombier <a href="#V3.63_Interpreter_PDF">Interpreter (PDF)</a>, 1577dd7cddfSDavid du Colombier <a href="#V3.63_Streams">Streams</a>, 1587dd7cddfSDavid du Colombier <a href="#V3.63_Library">Library</a> 1597dd7cddfSDavid du Colombier</ul> 1607dd7cddfSDavid du Colombier<li><a href="#Version3.62">Version 3.62 (limited, incremental) (12/26/95)</a> 1617dd7cddfSDavid du Colombier<ul> 1627dd7cddfSDavid du Colombier<li><a href="#V3.62_Documentation">Documentation</a>, 1637dd7cddfSDavid du Colombier <a href="#V3.62_Procedures">Procedures</a>, 1647dd7cddfSDavid du Colombier <a href="#V3.62_Interpreter">Interpreter</a>, 1657dd7cddfSDavid du Colombier <a href="#V3.62_Interpreter_PDF">Interpreter (PDF)</a>, 1667dd7cddfSDavid du Colombier <a href="#V3.62_Library">Library</a> 1677dd7cddfSDavid du Colombier</ul> 1687dd7cddfSDavid du Colombier<li><a href="#Version3.61">Version 3.61 (limited) (12/10/95)</a> 1697dd7cddfSDavid du Colombier<ul> 1707dd7cddfSDavid du Colombier<li><a href="#V3.61_Documentation">Documentation</a>, 1717dd7cddfSDavid du Colombier <a href="#V3.61_Procedures">Procedures</a>, 1727dd7cddfSDavid du Colombier <a href="#V3.61_Utilities">Utilities</a>, 1737dd7cddfSDavid du Colombier <a href="#V3.61_Drivers">Drivers</a>, 1747dd7cddfSDavid du Colombier <a href="#V3.61_Platforms">Platforms</a>, 1757dd7cddfSDavid du Colombier <a href="#V3.61_Fonts">Fonts</a>, 1767dd7cddfSDavid du Colombier <a href="#V3.61_Interpreter">Interpreter</a>, 1777dd7cddfSDavid du Colombier <a href="#V3.61_Interpreter_PDF">Interpreter (PDF)</a>, 1787dd7cddfSDavid du Colombier <a href="#V3.61_Streams">Streams</a>, 1797dd7cddfSDavid du Colombier <a href="#V3.61_Library">Library</a> 1807dd7cddfSDavid du Colombier</ul> 1817dd7cddfSDavid du Colombier<li><a href="#Version3.60">Version 3.60 (limited) (11/20/95)</a> 1827dd7cddfSDavid du Colombier<ul> 1837dd7cddfSDavid du Colombier<li><a href="#V3.60_Documentation">Documentation</a>, 1847dd7cddfSDavid du Colombier <a href="#V3.60_Procedures">Procedures</a>, 1857dd7cddfSDavid du Colombier <a href="#V3.60_Utilities">Utilities</a>, 1867dd7cddfSDavid du Colombier <a href="#V3.60_Drivers">Drivers</a>, 1877dd7cddfSDavid du Colombier <a href="#V3.60_Platforms">Platforms</a>, 1887dd7cddfSDavid du Colombier <a href="#V3.60_Fonts">Fonts</a>, 1897dd7cddfSDavid du Colombier <a href="#V3.60_Interpreter">Interpreter</a>, 1907dd7cddfSDavid du Colombier <a href="#V3.60_Interpreter_PDF">Interpreter (PDF)</a>, 1917dd7cddfSDavid du Colombier <a href="#V3.60_Streams">Streams</a>, 1927dd7cddfSDavid du Colombier <a href="#V3.60_Library">Library</a> 1937dd7cddfSDavid du Colombier</ul> 1947dd7cddfSDavid du Colombier<li><a href="#Version3.53">Version 3.53 (1/10/96)</a> 1957dd7cddfSDavid du Colombier<ul> 1967dd7cddfSDavid du Colombier<li><a href="#V3.53_Documentation">Documentation</a>, 1977dd7cddfSDavid du Colombier <a href="#V3.53_Procedures">Procedures</a>, 1987dd7cddfSDavid du Colombier <a href="#V3.53_Utilities">Utilities</a>, 1997dd7cddfSDavid du Colombier <a href="#V3.53_Drivers">Drivers</a>, 2007dd7cddfSDavid du Colombier <a href="#V3.53_Platforms">Platforms</a>, 2017dd7cddfSDavid du Colombier <a href="#V3.53_Fonts">Fonts</a>, 2027dd7cddfSDavid du Colombier <a href="#V3.53_Interpreter">Interpreter</a>, 2037dd7cddfSDavid du Colombier <a href="#V3.53_Interpreter_PDF">Interpreter (PDF)</a>, 2047dd7cddfSDavid du Colombier <a href="#V3.53_Streams">Streams</a>, 2057dd7cddfSDavid du Colombier <a href="#V3.53_Library">Library</a> 2067dd7cddfSDavid du Colombier</ul> 2077dd7cddfSDavid du Colombier<li><a href="#Version3.52">Version 3.52 (limited) (10/6/95)</a> 2087dd7cddfSDavid du Colombier<ul> 2097dd7cddfSDavid du Colombier<li><a href="#V3.52_Procedures">Procedures</a>, 2107dd7cddfSDavid du Colombier <a href="#V3.52_Interpreter">Interpreter</a>, 2117dd7cddfSDavid du Colombier <a href="#V3.52_Library">Library</a> 2127dd7cddfSDavid du Colombier</ul> 2137dd7cddfSDavid du Colombier<li><a href="#Version3.51">Version 3.51 (9/27/95)</a> 2147dd7cddfSDavid du Colombier<ul> 2157dd7cddfSDavid du Colombier<li><a href="#V3.51_Documentation">Documentation</a>, 2167dd7cddfSDavid du Colombier <a href="#V3.51_Procedures">Procedures</a>, 2177dd7cddfSDavid du Colombier <a href="#V3.51_Utilities">Utilities</a>, 2187dd7cddfSDavid du Colombier <a href="#V3.51_Drivers">Drivers</a>, 2197dd7cddfSDavid du Colombier <a href="#V3.51_Platforms">Platforms</a>, 2207dd7cddfSDavid du Colombier <a href="#V3.51_Interpreter">Interpreter</a>, 2217dd7cddfSDavid du Colombier <a href="#V3.51_Interpreter_PDF">Interpreter (PDF)</a>, 2227dd7cddfSDavid du Colombier <a href="#V3.51_Library">Library</a> 2237dd7cddfSDavid du Colombier</ul> 2247dd7cddfSDavid du Colombier<li><a href="#Version3.50">Version 3.50 (limited) (9/24/95)</a> 2257dd7cddfSDavid du Colombier<ul> 2267dd7cddfSDavid du Colombier<li><a href="#V3.50_Procedures">Procedures</a>, 2277dd7cddfSDavid du Colombier <a href="#V3.50_Utilities">Utilities</a>, 2287dd7cddfSDavid du Colombier <a href="#V3.50_Drivers">Drivers</a>, 2297dd7cddfSDavid du Colombier <a href="#V3.50_Interpreter">Interpreter</a>, 2307dd7cddfSDavid du Colombier <a href="#V3.50_Interpreter_PDF">Interpreter (PDF)</a>, 2317dd7cddfSDavid du Colombier <a href="#V3.50_Library">Library</a> 2327dd7cddfSDavid du Colombier</ul> 2337dd7cddfSDavid du Colombier<li><a href="#Version3.49">Version 3.49 (limited) (9/20/95)</a> 2347dd7cddfSDavid du Colombier<ul> 2357dd7cddfSDavid du Colombier<li><a href="#V3.49_Documentation">Documentation</a>, 2367dd7cddfSDavid du Colombier <a href="#V3.49_Procedures">Procedures</a>, 2377dd7cddfSDavid du Colombier <a href="#V3.49_Drivers">Drivers</a>, 2387dd7cddfSDavid du Colombier <a href="#V3.49_Platforms">Platforms</a>, 2397dd7cddfSDavid du Colombier <a href="#V3.49_Interpreter">Interpreter</a>, 2407dd7cddfSDavid du Colombier <a href="#V3.49_Library">Library</a> 2417dd7cddfSDavid du Colombier</ul> 2427dd7cddfSDavid du Colombier<li><a href="#Version3.48">Version 3.48 (limited) (9/17/95)</a> 2437dd7cddfSDavid du Colombier<ul> 2447dd7cddfSDavid du Colombier<li><a href="#V3.48_Documentation">Documentation</a>, 2457dd7cddfSDavid du Colombier <a href="#V3.48_Procedures">Procedures</a>, 2467dd7cddfSDavid du Colombier <a href="#V3.48_Drivers">Drivers</a>, 2477dd7cddfSDavid du Colombier <a href="#V3.48_Platforms">Platforms</a>, 2487dd7cddfSDavid du Colombier <a href="#V3.48_Interpreter">Interpreter</a>, 2497dd7cddfSDavid du Colombier <a href="#V3.48_Interpreter_PDF">Interpreter (PDF)</a>, 2507dd7cddfSDavid du Colombier <a href="#V3.48_Library">Library</a> 2517dd7cddfSDavid du Colombier</ul> 2527dd7cddfSDavid du Colombier<li><a href="#Version3.47">Version 3.47 (limited) (9/14/95)</a> 2537dd7cddfSDavid du Colombier<ul> 2547dd7cddfSDavid du Colombier<li><a href="#V3.47_Documentation">Documentation</a>, 2557dd7cddfSDavid du Colombier <a href="#V3.47_Procedures">Procedures</a>, 2567dd7cddfSDavid du Colombier <a href="#V3.47_Utilities">Utilities</a>, 2577dd7cddfSDavid du Colombier <a href="#V3.47_Drivers">Drivers</a>, 2587dd7cddfSDavid du Colombier <a href="#V3.47_Platforms">Platforms</a>, 2597dd7cddfSDavid du Colombier <a href="#V3.47_Fonts">Fonts</a>, 2607dd7cddfSDavid du Colombier <a href="#V3.47_Interpreter">Interpreter</a>, 2617dd7cddfSDavid du Colombier <a href="#V3.47_Interpreter_PDF">Interpreter (PDF)</a>, 2627dd7cddfSDavid du Colombier <a href="#V3.47_Streams">Streams</a>, 2637dd7cddfSDavid du Colombier <a href="#V3.47_Library">Library</a> 2647dd7cddfSDavid du Colombier</ul> 2657dd7cddfSDavid du Colombier<li><a href="#Version3.46">Version 3.46 (limited) (9/4/95)</a> 2667dd7cddfSDavid du Colombier<ul> 2677dd7cddfSDavid du Colombier<li><a href="#V3.46_Documentation">Documentation</a>, 2687dd7cddfSDavid du Colombier <a href="#V3.46_Procedures">Procedures</a>, 2697dd7cddfSDavid du Colombier <a href="#V3.46_Utilities">Utilities</a>, 2707dd7cddfSDavid du Colombier <a href="#V3.46_Drivers">Drivers</a>, 2717dd7cddfSDavid du Colombier <a href="#V3.46_Platforms">Platforms</a>, 2727dd7cddfSDavid du Colombier <a href="#V3.46_Interpreter">Interpreter</a>, 2737dd7cddfSDavid du Colombier <a href="#V3.46_Interpreter_PDF">Interpreter (PDF)</a>, 2747dd7cddfSDavid du Colombier <a href="#V3.46_Library">Library</a> 2757dd7cddfSDavid du Colombier</ul> 2767dd7cddfSDavid du Colombier<li><a href="#Version3.45">Version 3.45 (limited) (8/27/95)</a> 2777dd7cddfSDavid du Colombier<ul> 2787dd7cddfSDavid du Colombier<li><a href="#V3.45_Documentation">Documentation</a>, 2797dd7cddfSDavid du Colombier <a href="#V3.45_Procedures">Procedures</a>, 2807dd7cddfSDavid du Colombier <a href="#V3.45_Utilities">Utilities</a>, 2817dd7cddfSDavid du Colombier <a href="#V3.45_Drivers">Drivers</a>, 2827dd7cddfSDavid du Colombier <a href="#V3.45_Platforms">Platforms</a>, 2837dd7cddfSDavid du Colombier <a href="#V3.45_Interpreter">Interpreter</a>, 2847dd7cddfSDavid du Colombier <a href="#V3.45_Interpreter_PDF">Interpreter (PDF)</a>, 2857dd7cddfSDavid du Colombier <a href="#V3.45_Streams">Streams</a>, 2867dd7cddfSDavid du Colombier <a href="#V3.45_Library">Library</a> 2877dd7cddfSDavid du Colombier</ul> 2887dd7cddfSDavid du Colombier<li><a href="#Version3.44">Version 3.44 (limited) (8/21/95)</a> 2897dd7cddfSDavid du Colombier<ul> 2907dd7cddfSDavid du Colombier<li><a href="#V3.44_Documentation">Documentation</a>, 2917dd7cddfSDavid du Colombier <a href="#V3.44_Procedures">Procedures</a>, 2927dd7cddfSDavid du Colombier <a href="#V3.44_Utilities">Utilities</a>, 2937dd7cddfSDavid du Colombier <a href="#V3.44_Drivers">Drivers</a>, 2947dd7cddfSDavid du Colombier <a href="#V3.44_Platforms">Platforms</a>, 2957dd7cddfSDavid du Colombier <a href="#V3.44_Interpreter">Interpreter</a>, 2967dd7cddfSDavid du Colombier <a href="#V3.44_Interpreter_PDF">Interpreter (PDF)</a>, 2977dd7cddfSDavid du Colombier <a href="#V3.44_Library">Library</a> 2987dd7cddfSDavid du Colombier</ul> 2997dd7cddfSDavid du Colombier<li><a href="#Version3.43">Version 3.43 (limited) (8/10/95)</a> 3007dd7cddfSDavid du Colombier<ul> 3017dd7cddfSDavid du Colombier<li><a href="#V3.43_Documentation">Documentation</a>, 3027dd7cddfSDavid du Colombier <a href="#V3.43_Procedures">Procedures</a>, 3037dd7cddfSDavid du Colombier <a href="#V3.43_Platforms">Platforms</a>, 3047dd7cddfSDavid du Colombier <a href="#V3.43_Fonts">Fonts</a>, 3057dd7cddfSDavid du Colombier <a href="#V3.43_Interpreter">Interpreter</a>, 3067dd7cddfSDavid du Colombier <a href="#V3.43_Streams">Streams</a>, 3077dd7cddfSDavid du Colombier <a href="#V3.43_Library">Library</a> 3087dd7cddfSDavid du Colombier</ul> 3097dd7cddfSDavid du Colombier<li><a href="#Version3.42">Version 3.42 (limited) (8/2/95)</a> 3107dd7cddfSDavid du Colombier<ul> 3117dd7cddfSDavid du Colombier<li><a href="#V3.42_Documentation">Documentation</a>, 3127dd7cddfSDavid du Colombier <a href="#V3.42_Procedures">Procedures</a>, 3137dd7cddfSDavid du Colombier <a href="#V3.42_Platforms">Platforms</a>, 3147dd7cddfSDavid du Colombier <a href="#V3.42_Interpreter">Interpreter</a>, 3157dd7cddfSDavid du Colombier <a href="#V3.42_Streams">Streams</a>, 3167dd7cddfSDavid du Colombier <a href="#V3.42_Library">Library</a> 3177dd7cddfSDavid du Colombier</ul> 3187dd7cddfSDavid du Colombier<li><a href="#Version3.41">Version 3.41 (limited) (7/27/95)</a> 3197dd7cddfSDavid du Colombier<ul> 3207dd7cddfSDavid du Colombier<li><a href="#V3.41_Documentation">Documentation</a>, 3217dd7cddfSDavid du Colombier <a href="#V3.41_Procedures">Procedures</a>, 3227dd7cddfSDavid du Colombier <a href="#V3.41_Utilities">Utilities</a>, 3237dd7cddfSDavid du Colombier <a href="#V3.41_Drivers">Drivers</a>, 3247dd7cddfSDavid du Colombier <a href="#V3.41_Platforms">Platforms</a>, 3257dd7cddfSDavid du Colombier <a href="#V3.41_Fonts">Fonts</a>, 3267dd7cddfSDavid du Colombier <a href="#V3.41_Interpreter">Interpreter</a>, 3277dd7cddfSDavid du Colombier <a href="#V3.41_Interpreter_PDF">Interpreter (PDF)</a>, 3287dd7cddfSDavid du Colombier <a href="#V3.41_Streams">Streams</a>, 3297dd7cddfSDavid du Colombier <a href="#V3.41_Library">Library</a> 3307dd7cddfSDavid du Colombier</ul> 3317dd7cddfSDavid du Colombier<li><a href="#Version3.40">Version 3.40 (limited) (6/28/95)</a> 3327dd7cddfSDavid du Colombier<ul> 3337dd7cddfSDavid du Colombier<li><a href="#V3.40_Documentation">Documentation</a>, 3347dd7cddfSDavid du Colombier <a href="#V3.40_Procedures">Procedures</a>, 3357dd7cddfSDavid du Colombier <a href="#V3.40_Utilities">Utilities</a>, 3367dd7cddfSDavid du Colombier <a href="#V3.40_Platforms">Platforms</a>, 3377dd7cddfSDavid du Colombier <a href="#V3.40_Interpreter">Interpreter</a>, 3387dd7cddfSDavid du Colombier <a href="#V3.40_Streams">Streams</a>, 3397dd7cddfSDavid du Colombier <a href="#V3.40_Library">Library</a> 3407dd7cddfSDavid du Colombier</ul> 3417dd7cddfSDavid du Colombier<li><a href="#Version3.39">Version 3.39 (limited) (6/24/95)</a> 3427dd7cddfSDavid du Colombier<ul> 3437dd7cddfSDavid du Colombier<li><a href="#V3.39_Documentation">Documentation</a>, 3447dd7cddfSDavid du Colombier <a href="#V3.39_Procedures">Procedures</a>, 3457dd7cddfSDavid du Colombier <a href="#V3.39_Utilities">Utilities</a>, 3467dd7cddfSDavid du Colombier <a href="#V3.39_Platforms">Platforms</a>, 3477dd7cddfSDavid du Colombier <a href="#V3.39_Fonts">Fonts</a>, 3487dd7cddfSDavid du Colombier <a href="#V3.39_Interpreter">Interpreter</a>, 3497dd7cddfSDavid du Colombier <a href="#V3.39_Streams">Streams</a>, 3507dd7cddfSDavid du Colombier <a href="#V3.39_Library">Library</a> 3517dd7cddfSDavid du Colombier</ul> 3527dd7cddfSDavid du Colombier<li><a href="#Version3.38">Version 3.38 (limited) (6/18/95)</a> 3537dd7cddfSDavid du Colombier<ul> 3547dd7cddfSDavid du Colombier<li><a href="#V3.38_Documentation">Documentation</a>, 3557dd7cddfSDavid du Colombier <a href="#V3.38_Procedures">Procedures</a>, 3567dd7cddfSDavid du Colombier <a href="#V3.38_Utilities">Utilities</a>, 3577dd7cddfSDavid du Colombier <a href="#V3.38_Drivers">Drivers</a>, 3587dd7cddfSDavid du Colombier <a href="#V3.38_Platforms">Platforms</a>, 3597dd7cddfSDavid du Colombier <a href="#V3.38_Fonts">Fonts</a>, 3607dd7cddfSDavid du Colombier <a href="#V3.38_Interpreter">Interpreter</a>, 3617dd7cddfSDavid du Colombier <a href="#V3.38_Interpreter_PDF">Interpreter (PDF)</a>, 3627dd7cddfSDavid du Colombier <a href="#V3.38_Streams">Streams</a>, 3637dd7cddfSDavid du Colombier <a href="#V3.38_Library">Library</a> 3647dd7cddfSDavid du Colombier</ul> 3657dd7cddfSDavid du Colombier<li><a href="#Version3.37">Version 3.37 (limited) (5/11/95)</a> 3667dd7cddfSDavid du Colombier<ul> 3677dd7cddfSDavid du Colombier<li><a href="#V3.37_Documentation">Documentation</a>, 3687dd7cddfSDavid du Colombier <a href="#V3.37_Procedures">Procedures</a>, 3697dd7cddfSDavid du Colombier <a href="#V3.37_Utilities">Utilities</a>, 3707dd7cddfSDavid du Colombier <a href="#V3.37_Drivers">Drivers</a>, 3717dd7cddfSDavid du Colombier <a href="#V3.37_Fonts">Fonts</a>, 3727dd7cddfSDavid du Colombier <a href="#V3.37_Interpreter_PostScript">Interpreter (PostScript)</a>, 3737dd7cddfSDavid du Colombier <a href="#V3.37_Interpreter_PDF">Interpreter (PDF)</a> 3747dd7cddfSDavid du Colombier</ul> 3757dd7cddfSDavid du Colombier<li><a href="#Version3.36">Version 3.36 (limited) (5/4/95)</a> 3767dd7cddfSDavid du Colombier<ul> 3777dd7cddfSDavid du Colombier<li><a href="#V3.36_Documentation">Documentation</a>, 3787dd7cddfSDavid du Colombier <a href="#V3.36_Procedures">Procedures</a>, 3797dd7cddfSDavid du Colombier <a href="#V3.36_Drivers">Drivers</a>, 3807dd7cddfSDavid du Colombier <a href="#V3.36_Interpreter">Interpreter</a>, 3817dd7cddfSDavid du Colombier <a href="#V3.36_Library">Library</a> 3827dd7cddfSDavid du Colombier</ul> 3837dd7cddfSDavid du Colombier<li><a href="#Version3.35">Version 3.35 (internal) (5/2/95)</a> 3847dd7cddfSDavid du Colombier<ul> 3857dd7cddfSDavid du Colombier<li><a href="#V3.35_Documentation">Documentation</a>, 3867dd7cddfSDavid du Colombier <a href="#V3.35_Procedures">Procedures</a>, 3877dd7cddfSDavid du Colombier <a href="#V3.35_Utilities">Utilities</a>, 3887dd7cddfSDavid du Colombier <a href="#V3.35_Drivers">Drivers</a>, 3897dd7cddfSDavid du Colombier <a href="#V3.35_Platforms">Platforms</a>, 3907dd7cddfSDavid du Colombier <a href="#V3.35_Fonts">Fonts</a>, 3917dd7cddfSDavid du Colombier <a href="#V3.35_Interpreter">Interpreter</a>, 3927dd7cddfSDavid du Colombier <a href="#V3.35_Library">Library</a> 3937dd7cddfSDavid du Colombier</ul> 3947dd7cddfSDavid du Colombier<li><a href="#Version3.34">Version 3.34 (internal) (4/18/95)</a> 3957dd7cddfSDavid du Colombier<ul> 3967dd7cddfSDavid du Colombier<li><a href="#V3.34_Documentation">Documentation</a>, 3977dd7cddfSDavid du Colombier <a href="#V3.34_Procedures">Procedures</a>, 3987dd7cddfSDavid du Colombier <a href="#V3.34_Interpreter">Interpreter</a>, 3997dd7cddfSDavid du Colombier <a href="#V3.34_Library">Library</a> 4007dd7cddfSDavid du Colombier</ul> 4017dd7cddfSDavid du Colombier<li><a href="#Version3.33">Version 3.33 (4/13/95)</a> 4027dd7cddfSDavid du Colombier<ul> 4037dd7cddfSDavid du Colombier<li><a href="#V3.33_Documentation">Documentation</a>, 4047dd7cddfSDavid du Colombier <a href="#V3.33_Procedures">Procedures</a>, 4057dd7cddfSDavid du Colombier <a href="#V3.33_Utilities">Utilities</a>, 4067dd7cddfSDavid du Colombier <a href="#V3.33_Drivers">Drivers</a>, 4077dd7cddfSDavid du Colombier <a href="#V3.33_Platforms">Platforms</a>, 4087dd7cddfSDavid du Colombier <a href="#V3.33_Fonts">Fonts</a>, 4097dd7cddfSDavid du Colombier <a href="#V3.33_Library">Library</a> 4107dd7cddfSDavid du Colombier</ul> 4117dd7cddfSDavid du Colombier<li><a href="#Version3.32">Version 3.32 (4/7/95)</a> 4127dd7cddfSDavid du Colombier<ul> 4137dd7cddfSDavid du Colombier<li><a href="#V3.32_Documentation">Documentation</a>, 4147dd7cddfSDavid du Colombier <a href="#V3.32_Procedures">Procedures</a>, 4157dd7cddfSDavid du Colombier <a href="#V3.32_Utilities">Utilities</a>, 4167dd7cddfSDavid du Colombier <a href="#V3.32_Drivers">Drivers</a>, 4177dd7cddfSDavid du Colombier <a href="#V3.32_Platforms">Platforms</a>, 4187dd7cddfSDavid du Colombier <a href="#V3.32_Interpreter">Interpreter</a>, 4197dd7cddfSDavid du Colombier <a href="#V3.32_Streams">Streams</a>, 4207dd7cddfSDavid du Colombier <a href="#V3.32_Library">Library</a> 4217dd7cddfSDavid du Colombier</ul> 4227dd7cddfSDavid du Colombier<li><a href="#Version3.31">Version 3.31 (4/2/95)</a> 4237dd7cddfSDavid du Colombier<ul> 4247dd7cddfSDavid du Colombier<li><a href="#V3.31_Documentation">Documentation</a>, 4257dd7cddfSDavid du Colombier <a href="#V3.31_Procedures">Procedures</a>, 4267dd7cddfSDavid du Colombier <a href="#V3.31_Utilities">Utilities</a>, 4277dd7cddfSDavid du Colombier <a href="#V3.31_Drivers">Drivers</a>, 4287dd7cddfSDavid du Colombier <a href="#V3.31_Platforms">Platforms</a>, 4297dd7cddfSDavid du Colombier <a href="#V3.31_Interpreter">Interpreter</a>, 4307dd7cddfSDavid du Colombier <a href="#V3.31_Streams">Streams</a>, 4317dd7cddfSDavid du Colombier <a href="#V3.31_Library">Library</a> 4327dd7cddfSDavid du Colombier</ul> 4337dd7cddfSDavid du Colombier<li><a href="#Version3.30">Version 3.30 (beta) (3/21/95)</a> 4347dd7cddfSDavid du Colombier<ul> 4357dd7cddfSDavid du Colombier<li><a href="#V3.30_Documentation">Documentation</a>, 4367dd7cddfSDavid du Colombier <a href="#V3.30_Utilities">Utilities</a>, 4377dd7cddfSDavid du Colombier <a href="#V3.30_Drivers">Drivers</a>, 4387dd7cddfSDavid du Colombier <a href="#V3.30_Interpreter_PostScript">Interpreter (PostScript)</a>, 4397dd7cddfSDavid du Colombier <a href="#V3.30_Interpreter_PDF">Interpreter (PDF)</a>, 4407dd7cddfSDavid du Colombier <a href="#V3.30_Library">Library</a> 4417dd7cddfSDavid du Colombier</ul> 4427dd7cddfSDavid du Colombier<li><a href="#Version3.29">Version 3.29 (internal) (3/8/95)</a> 4437dd7cddfSDavid du Colombier<ul> 4447dd7cddfSDavid du Colombier<li><a href="#V3.29_Documentation">Documentation</a>, 4457dd7cddfSDavid du Colombier <a href="#V3.29_Procedures">Procedures</a>, 4467dd7cddfSDavid du Colombier <a href="#V3.29_Utilities">Utilities</a>, 4477dd7cddfSDavid du Colombier <a href="#V3.29_Fonts">Fonts</a>, 4487dd7cddfSDavid du Colombier <a href="#V3.29_Drivers">Drivers</a>, 4497dd7cddfSDavid du Colombier <a href="#V3.29_Interpreter_PostScript">Interpreter (PostScript)</a>, 4507dd7cddfSDavid du Colombier <a href="#V3.29_Interpreter_PDF">Interpreter (PDF)</a>, 4517dd7cddfSDavid du Colombier <a href="#V3.29_Streams">Streams</a>, 4527dd7cddfSDavid du Colombier <a href="#V3.29_Library">Library</a> 4537dd7cddfSDavid du Colombier</ul> 4547dd7cddfSDavid du Colombier<li><a href="#Version3.28">Version 3.28 (beta) (2/13/95)</a> 4557dd7cddfSDavid du Colombier<ul> 4567dd7cddfSDavid du Colombier<li><a href="#V3.28_Documentation">Documentation</a>, 4577dd7cddfSDavid du Colombier <a href="#V3.28_Procedures">Procedures</a>, 4587dd7cddfSDavid du Colombier <a href="#V3.28_Utilities">Utilities</a>, 4597dd7cddfSDavid du Colombier <a href="#V3.28_Drivers">Drivers</a>, 4607dd7cddfSDavid du Colombier <a href="#V3.28_Interpreter">Interpreter</a>, 4617dd7cddfSDavid du Colombier <a href="#V3.28_Library">Library</a> 4627dd7cddfSDavid du Colombier</ul> 4637dd7cddfSDavid du Colombier<li><a href="#Version3.27">Version 3.27 (beta)(withdrawn) (2/8/95)</a> 4647dd7cddfSDavid du Colombier<ul> 4657dd7cddfSDavid du Colombier<li><a href="#V3.27_Documentation">Documentation</a>, 4667dd7cddfSDavid du Colombier <a href="#V3.27_Procedures">Procedures</a>, 4677dd7cddfSDavid du Colombier <a href="#V3.27_Utilities">Utilities</a>, 4687dd7cddfSDavid du Colombier <a href="#V3.27_Drivers">Drivers</a>, 4697dd7cddfSDavid du Colombier <a href="#V3.27_Platforms">Platforms</a>, 4707dd7cddfSDavid du Colombier <a href="#V3.27_Fonts">Fonts</a>, 4717dd7cddfSDavid du Colombier <a href="#V3.27_Interpreter">Interpreter</a>, 4727dd7cddfSDavid du Colombier <a href="#V3.27_Streams">Streams</a>, 4737dd7cddfSDavid du Colombier <a href="#V3.27_Library">Library</a> 4747dd7cddfSDavid du Colombier</ul> 4757dd7cddfSDavid du Colombier<li><a href="#Version3.26">Version 3.26 (beta) (2/1/95)</a> 4767dd7cddfSDavid du Colombier<ul> 4777dd7cddfSDavid du Colombier<li><a href="#V3.26_Documentation">Documentation</a>, 4787dd7cddfSDavid du Colombier <a href="#V3.26_Procedures">Procedures</a>, 4797dd7cddfSDavid du Colombier <a href="#V3.26_Utilities">Utilities</a>, 4807dd7cddfSDavid du Colombier <a href="#V3.26_Drivers">Drivers</a>, 4817dd7cddfSDavid du Colombier <a href="#V3.26_Platforms">Platforms</a>, 4827dd7cddfSDavid du Colombier <a href="#V3.26_Interpreter">Interpreter</a>, 4837dd7cddfSDavid du Colombier <a href="#V3.26_Streams">Streams</a>, 4847dd7cddfSDavid du Colombier <a href="#V3.26_Library">Library</a> 4857dd7cddfSDavid du Colombier</ul> 4867dd7cddfSDavid du Colombier<li><a href="#Version3.25">Version 3.25 (beta) (1/24/95)</a> 4877dd7cddfSDavid du Colombier<ul> 4887dd7cddfSDavid du Colombier<li><a href="#V3.25_Documentation">Documentation</a>, 4897dd7cddfSDavid du Colombier <a href="#V3.25_Procedures">Procedures</a>, 4907dd7cddfSDavid du Colombier <a href="#V3.25_Drivers">Drivers</a>, 4917dd7cddfSDavid du Colombier <a href="#V3.25_Platforms">Platforms</a>, 4927dd7cddfSDavid du Colombier <a href="#V3.25_Interpreter">Interpreter</a>, 4937dd7cddfSDavid du Colombier <a href="#V3.25_Library">Library</a> 4947dd7cddfSDavid du Colombier</ul> 4957dd7cddfSDavid du Colombier<li><a href="#Version3.24">Version 3.24 (beta) (1/17/95)</a> 4967dd7cddfSDavid du Colombier<ul> 4977dd7cddfSDavid du Colombier<li><a href="#V3.24_Documentation">Documentation</a>, 4987dd7cddfSDavid du Colombier <a href="#V3.24_Procedures">Procedures</a>, 4997dd7cddfSDavid du Colombier <a href="#V3.24_Drivers">Drivers</a>, 5007dd7cddfSDavid du Colombier <a href="#V3.24_Platforms">Platforms</a>, 5017dd7cddfSDavid du Colombier <a href="#V3.24_Fonts">Fonts</a>, 5027dd7cddfSDavid du Colombier <a href="#V3.24_Interpreter">Interpreter</a>, 5037dd7cddfSDavid du Colombier <a href="#V3.24_Interpreter_PostScript">Interpreter (PostScript)</a>, 5047dd7cddfSDavid du Colombier <a href="#V3.24_Interpreter_PDF">Interpreter (PDF)</a>, 5057dd7cddfSDavid du Colombier <a href="#V3.24_Streams">Streams</a>, 5067dd7cddfSDavid du Colombier <a href="#V3.24_Library">Library</a> 5077dd7cddfSDavid du Colombier</ul> 5087dd7cddfSDavid du Colombier<li><a href="#Version3.23">Version 3.23 (beta) (1/5/95)</a> 5097dd7cddfSDavid du Colombier<ul> 5107dd7cddfSDavid du Colombier<li><a href="#V3.23_Documentation">Documentation</a>, 5117dd7cddfSDavid du Colombier <a href="#V3.23_Procedures">Procedures</a>, 5127dd7cddfSDavid du Colombier <a href="#V3.23_Utilities">Utilities</a>, 5137dd7cddfSDavid du Colombier <a href="#V3.23_Drivers">Drivers</a>, 5147dd7cddfSDavid du Colombier <a href="#V3.23_Platforms">Platforms</a>, 5157dd7cddfSDavid du Colombier <a href="#V3.23_Fonts">Fonts</a>, 5167dd7cddfSDavid du Colombier <a href="#V3.23_Interpreter_PostScript">Interpreter (PostScript)</a>, 5177dd7cddfSDavid du Colombier <a href="#V3.23_Interpreter_PDF">Interpreter (PDF)</a>, 5187dd7cddfSDavid du Colombier <a href="#V3.23_Streams">Streams</a>, 5197dd7cddfSDavid du Colombier <a href="#V3.23_Library">Library</a> 5207dd7cddfSDavid du Colombier</ul> 5217dd7cddfSDavid du Colombier<li><a href="#Version3.22">Version 3.22 (beta) (11/30/94)</a> 5227dd7cddfSDavid du Colombier<ul> 5237dd7cddfSDavid du Colombier<li><a href="#V3.22_Procedures">Procedures</a>, 5247dd7cddfSDavid du Colombier <a href="#V3.22_Drivers">Drivers</a>, 5257dd7cddfSDavid du Colombier <a href="#V3.22_Platforms">Platforms</a>, 5267dd7cddfSDavid du Colombier <a href="#V3.22_Fonts">Fonts</a>, 5277dd7cddfSDavid du Colombier <a href="#V3.22_Interpreter">Interpreter</a>, 5287dd7cddfSDavid du Colombier <a href="#V3.22_Streams">Streams</a>, 5297dd7cddfSDavid du Colombier <a href="#V3.22_Library">Library</a> 5307dd7cddfSDavid du Colombier</ul> 5317dd7cddfSDavid du Colombier<li><a href="#Version3.21">Version 3.21 (beta) (11/17/94)</a> 5327dd7cddfSDavid du Colombier<ul> 5337dd7cddfSDavid du Colombier<li><a href="#V3.21_Documentation">Documentation</a>, 5347dd7cddfSDavid du Colombier <a href="#V3.21_Procedures">Procedures</a>, 5357dd7cddfSDavid du Colombier <a href="#V3.21_Utilities">Utilities</a>, 5367dd7cddfSDavid du Colombier <a href="#V3.21_Drivers">Drivers</a>, 5377dd7cddfSDavid du Colombier <a href="#V3.21_Platforms">Platforms</a>, 5387dd7cddfSDavid du Colombier <a href="#V3.21_Fonts">Fonts</a>, 5397dd7cddfSDavid du Colombier <a href="#V3.21_Interpreter">Interpreter</a>, 5407dd7cddfSDavid du Colombier <a href="#V3.21_Streams">Streams</a>, 5417dd7cddfSDavid du Colombier <a href="#V3.21_Library">Library</a> 5427dd7cddfSDavid du Colombier</ul> 5437dd7cddfSDavid du Colombier<li><a href="#Version3.20">Version 3.20 (beta) (10/31/94)</a> 5447dd7cddfSDavid du Colombier<ul> 5457dd7cddfSDavid du Colombier<li><a href="#V3.20_Documentation">Documentation</a>, 5467dd7cddfSDavid du Colombier <a href="#V3.20_Procedures">Procedures</a>, 5477dd7cddfSDavid du Colombier <a href="#V3.20_Utilities">Utilities</a>, 5487dd7cddfSDavid du Colombier <a href="#V3.20_Drivers">Drivers</a>, 5497dd7cddfSDavid du Colombier <a href="#V3.20_Platforms">Platforms</a>, 5507dd7cddfSDavid du Colombier <a href="#V3.20_Fonts">Fonts</a>, 5517dd7cddfSDavid du Colombier <a href="#V3.20_Interpreters">Interpreters</a>, 5527dd7cddfSDavid du Colombier <a href="#V3.20_Library">Library</a> 5537dd7cddfSDavid du Colombier</ul> 5547dd7cddfSDavid du Colombier<li><a href="#Version3.13">Version 3.13(private) (10/3/94)</a> 5557dd7cddfSDavid du Colombier<ul> 5567dd7cddfSDavid du Colombier<li><a href="#V3.13_Documentation">Documentation</a>, 5577dd7cddfSDavid du Colombier <a href="#V3.13_Procedures">Procedures</a>, 5587dd7cddfSDavid du Colombier <a href="#V3.13_Utilities">Utilities</a>, 5597dd7cddfSDavid du Colombier <a href="#V3.13_Drivers">Drivers</a>, 5607dd7cddfSDavid du Colombier <a href="#V3.13_Platforms">Platforms</a>, 5617dd7cddfSDavid du Colombier <a href="#V3.13_Fonts">Fonts</a>, 5627dd7cddfSDavid du Colombier <a href="#V3.13_Interpreter">Interpreter</a>, 5637dd7cddfSDavid du Colombier <a href="#V3.13_Streams">Streams</a>, 5647dd7cddfSDavid du Colombier <a href="#V3.13_Library">Library</a> 5657dd7cddfSDavid du Colombier</ul> 5667dd7cddfSDavid du Colombier<li><a href="#Version3.12">Version 3.12 (9/29/94)</a> 5677dd7cddfSDavid du Colombier<ul> 5687dd7cddfSDavid du Colombier<li><a href="#V3.12_Documentation">Documentation</a>, 5697dd7cddfSDavid du Colombier <a href="#V3.12_Procedures">Procedures</a>, 5707dd7cddfSDavid du Colombier <a href="#V3.12_Drivers">Drivers</a>, 5717dd7cddfSDavid du Colombier <a href="#V3.12_Platforms">Platforms</a>, 5727dd7cddfSDavid du Colombier <a href="#V3.12_Interpreter">Interpreter</a>, 5737dd7cddfSDavid du Colombier <a href="#V3.12_Streams">Streams</a>, 5747dd7cddfSDavid du Colombier <a href="#V3.12_Library">Library</a> 5757dd7cddfSDavid du Colombier</ul> 5767dd7cddfSDavid du Colombier<li><a href="#Version3.1.1">Version 3.1.1 (9/25/94)</a> 5777dd7cddfSDavid du Colombier<ul> 5787dd7cddfSDavid du Colombier<li><a href="#V3.1.1_Documentation">Documentation</a>, 5797dd7cddfSDavid du Colombier <a href="#V3.1.1_Procedures">Procedures</a>, 5807dd7cddfSDavid du Colombier <a href="#V3.1.1_Drivers">Drivers</a>, 5817dd7cddfSDavid du Colombier <a href="#V3.1.1_Platforms">Platforms</a>, 5827dd7cddfSDavid du Colombier <a href="#V3.1.1_Interpreter">Interpreter</a> 5837dd7cddfSDavid du Colombier</ul> 5847dd7cddfSDavid du Colombier<li><a href="#Version3.1">Version 3.1 (9/20/94)</a> 5857dd7cddfSDavid du Colombier<ul> 5867dd7cddfSDavid du Colombier<li><a href="#V3.1_Documentation">Documentation</a>, 5877dd7cddfSDavid du Colombier <a href="#V3.1_Procedures">Procedures</a>, 5887dd7cddfSDavid du Colombier <a href="#V3.1_Drivers">Drivers</a>, 5897dd7cddfSDavid du Colombier <a href="#V3.1_Interpreter">Interpreter</a>, 5907dd7cddfSDavid du Colombier <a href="#V3.1_Streams">Streams</a>, 5917dd7cddfSDavid du Colombier <a href="#V3.1_Library">Library</a> 5927dd7cddfSDavid du Colombier</ul> 5937dd7cddfSDavid du Colombier<li><a href="#Version3.0.3">Version 3.0.3 (9/16/94)</a> 5947dd7cddfSDavid du Colombier<ul> 5957dd7cddfSDavid du Colombier<li><a href="#V3.0.3_Documentation">Documentation</a>, 5967dd7cddfSDavid du Colombier <a href="#V3.0.3_Procedures">Procedures</a>, 5977dd7cddfSDavid du Colombier <a href="#V3.0.3_Utilities">Utilities</a>, 5987dd7cddfSDavid du Colombier <a href="#V3.0.3_Drivers">Drivers</a>, 5997dd7cddfSDavid du Colombier <a href="#V3.0.3_Platforms">Platforms</a>, 6007dd7cddfSDavid du Colombier <a href="#V3.0.3_Fonts">Fonts</a>, 6017dd7cddfSDavid du Colombier <a href="#V3.0.3_Streams">Streams</a>, 6027dd7cddfSDavid du Colombier <a href="#V3.0.3_Interpreter">Interpreter</a>, 6037dd7cddfSDavid du Colombier <a href="#V3.0.3_Library">Library</a> 6047dd7cddfSDavid du Colombier</ul> 6057dd7cddfSDavid du Colombier<li><a href="#Version3.02">Version 3.02 (8/30/94)</a> 6067dd7cddfSDavid du Colombier<ul> 6077dd7cddfSDavid du Colombier<li><a href="#V3.02_Documentation">Documentation</a>, 6087dd7cddfSDavid du Colombier <a href="#V3.02_Procedures">Procedures</a>, 6097dd7cddfSDavid du Colombier <a href="#V3.02_Utilities">Utilities</a>, 6107dd7cddfSDavid du Colombier <a href="#V3.02_Drivers">Drivers</a>, 6117dd7cddfSDavid du Colombier <a href="#V3.02_Platforms">Platforms</a>, 6127dd7cddfSDavid du Colombier <a href="#V3.02_Fonts">Fonts</a>, 6137dd7cddfSDavid du Colombier <a href="#V3.02_Interpreter">Interpreter</a>, 6147dd7cddfSDavid du Colombier <a href="#V3.02_Streams">Streams</a>, 6157dd7cddfSDavid du Colombier <a href="#V3.02_Library">Library</a> 6167dd7cddfSDavid du Colombier</ul> 6177dd7cddfSDavid du Colombier<li><a href="#Version3.01">Version 3.01 (8/14/94)</a> 6187dd7cddfSDavid du Colombier<ul> 6197dd7cddfSDavid du Colombier<li><a href="#V3.01_Documentation">Documentation</a>, 6207dd7cddfSDavid du Colombier <a href="#V3.01_Procedures">Procedures</a>, 6217dd7cddfSDavid du Colombier <a href="#V3.01_Utilities">Utilities</a>, 6227dd7cddfSDavid du Colombier <a href="#V3.01_Drivers">Drivers</a>, 6237dd7cddfSDavid du Colombier <a href="#V3.01_Platforms">Platforms</a>, 6247dd7cddfSDavid du Colombier <a href="#V3.01_Fonts">Fonts</a>, 6257dd7cddfSDavid du Colombier <a href="#V3.01_Interpreter">Interpreter</a>, 6267dd7cddfSDavid du Colombier <a href="#V3.01_Streams">Streams</a>, 6277dd7cddfSDavid du Colombier <a href="#V3.01_Library">Library</a> 6287dd7cddfSDavid du Colombier</ul> 6297dd7cddfSDavid du Colombier<li><a href="#Version3.0">Version 3.0 (8/1/94)</a> 6307dd7cddfSDavid du Colombier<ul> 6317dd7cddfSDavid du Colombier<li><a href="#V3.0_Documentation">Documentation</a>, 6327dd7cddfSDavid du Colombier <a href="#V3.0_Procedures">Procedures</a>, 6337dd7cddfSDavid du Colombier <a href="#V3.0_Utilities">Utilities</a>, 6347dd7cddfSDavid du Colombier <a href="#V3.0_Drivers">Drivers</a>, 6357dd7cddfSDavid du Colombier <a href="#V3.0_Platforms">Platforms</a>, 6367dd7cddfSDavid du Colombier <a href="#V3.0_Fonts">Fonts</a>, 6377dd7cddfSDavid du Colombier <a href="#V3.0_Interpreter">Interpreter</a>, 6387dd7cddfSDavid du Colombier <a href="#V3.0_Streams">Streams</a>, 6397dd7cddfSDavid du Colombier <a href="#V3.0_Library">Library</a> 6407dd7cddfSDavid du Colombier</ul> 6417dd7cddfSDavid du Colombier</ul></blockquote> 6427dd7cddfSDavid du Colombier 6437dd7cddfSDavid du Colombier<!-- [1.2 end table of contents] =========================================== --> 6447dd7cddfSDavid du Colombier 6457dd7cddfSDavid du Colombier<!-- [1.3 begin hint] ====================================================== --> 6467dd7cddfSDavid du Colombier 6477dd7cddfSDavid du Colombier<p> 6487dd7cddfSDavid du ColombierThis document is a history of Ghostscript releases numbered 3.n. For more 6497dd7cddfSDavid du Colombierrecent changes, see the the other history documents and, for the latest 6507dd7cddfSDavid du Colombierversions, the news: 6517dd7cddfSDavid du Colombier 6527dd7cddfSDavid du Colombier<blockquote> 6537dd7cddfSDavid du Colombier<a href="News.htm">News</a><br> 6547dd7cddfSDavid du Colombier<a href="History4.htm">History of Ghostscript versions 4.n</a><br> 6557dd7cddfSDavid du ColombierHistory of Ghostscript versions 3.n (this document)<br> 6567dd7cddfSDavid du Colombier<a href="History2.htm">History of Ghostscript versions 2.n</a><br> 6577dd7cddfSDavid du Colombier<a href="History1.htm">History of Ghostscript versions 1.n</a> 6587dd7cddfSDavid du Colombier</blockquote> 6597dd7cddfSDavid du Colombier 6607dd7cddfSDavid du Colombier<p>For other information, see the <a href="Readme.htm">Ghostscript 6617dd7cddfSDavid du Colombieroverview</a>. 6627dd7cddfSDavid du Colombier 6637dd7cddfSDavid du Colombier<!-- [1.3 end hint] ======================================================== --> 6647dd7cddfSDavid du Colombier 6657dd7cddfSDavid du Colombier<hr> 6667dd7cddfSDavid du Colombier 6677dd7cddfSDavid du Colombier<!-- [1.0 end visible header] ============================================== --> 6687dd7cddfSDavid du Colombier 6693ff48bf5SDavid du Colombier<h2><a name="Version3.70p1"></a>Version 3.70 patch 1 (6/24/96)</h2> 6707dd7cddfSDavid du Colombier 6713ff48bf5SDavid du Colombier<p> 6727dd7cddfSDavid du ColombierThis contains a few last-minute patches before the release. 6737dd7cddfSDavid du Colombier 6743ff48bf5SDavid du Colombier<h3><a name="V3.70p1_Procedures"></a>Procedures</h3><pre> 6757dd7cddfSDavid du ColombierComments out the color inkjet drivers in the cc-based makefile, because a 6767dd7cddfSDavid du Colombierbug in Sun's cc prevents them from compiling. (cc-head.mak) 6777dd7cddfSDavid du Colombier 6783ff48bf5SDavid du Colombier</pre><h3><a name="V3.70p1_Drivers"></a>Drivers</h3><pre> 6797dd7cddfSDavid du ColombierFixes bugs: 6807dd7cddfSDavid du Colombier - The os2prn driver smashed memory. (gdevos2p.c) 6817dd7cddfSDavid du Colombier - Some initialized structures weren't declared 'static'. 6827dd7cddfSDavid du Colombier(gdevpdf.c, gdevpdfm.c) 6837dd7cddfSDavid du Colombier - The PNG driver wouldn't compile with some older versions of the 6847dd7cddfSDavid du ColombierPNG library. (gdevpng.c) 6857dd7cddfSDavid du Colombier 6863ff48bf5SDavid du Colombier</pre> 6877dd7cddfSDavid du Colombier 6883ff48bf5SDavid du Colombier<h2><a name="Version3.70"></a>Version 3.70 (limited) (6/23/96)</h2> 6897dd7cddfSDavid du Colombier 6903ff48bf5SDavid du Colombier<p> 6913ff48bf5SDavid du ColombierThis is the candidate fileset for 4.0. Aside from one optimization 6923ff48bf5SDavid du Colombierfor the PDF writer, the only changes are bug fixes. 6933ff48bf5SDavid du Colombier 6943ff48bf5SDavid du Colombier<h3><a name="V3.70_Documentation"></a>Documentation</h3><pre> 6957dd7cddfSDavid du Colombier 6967dd7cddfSDavid du ColombierRenames all the documentation files from *.doc to *.txt, since the .doc 6977dd7cddfSDavid du Colombierextension didn't give any information about the format of the file. 6987dd7cddfSDavid du Colombier(readme, *.doc, *.txt) 6997dd7cddfSDavid du Colombier 7007dd7cddfSDavid du ColombierNotes that IJG JPEG library v6[a] is now required. (jpeg.mak) 7017dd7cddfSDavid du Colombier 7027dd7cddfSDavid du ColombierBrings ps2pdf.1 up to date. (ps2pdf.1) 7037dd7cddfSDavid du Colombier 7047dd7cddfSDavid du ColombierAdds a new file describing Aladdin's C coding practices. (c-style.txt) 7057dd7cddfSDavid du Colombier 7067dd7cddfSDavid du ColombierUpdates the man pages to refer to version 4.0. (gs.1, pdf2ps.1, ps2ascii.1, 7077dd7cddfSDavid du Colombierps2pdf.1) 7087dd7cddfSDavid du Colombier 7093ff48bf5SDavid du Colombier</pre><h3><a name="V3.70_Procedures"></a>Procedures</h3><pre> 7107dd7cddfSDavid du Colombier 7117dd7cddfSDavid du ColombierChanges some file names to fit within the MS-DOS 8.3 limit. (gs.mak) 7127dd7cddfSDavid du Colombier 7137dd7cddfSDavid du ColombierAdds the PDF writer to the remaining 32-bit configurations (Watcom, OS/2, 7147dd7cddfSDavid du ColombierMSC). (watc.mak, watcwin.mak, os2.mak, msc.mak, msvcwint.mak) 7157dd7cddfSDavid du Colombier 7167dd7cddfSDavid du ColombierChanges the -sFONTMAP= switch so it can take a list of font names, like a 7177dd7cddfSDavid du Colombiersearch path. (use.txt) 7187dd7cddfSDavid du Colombier 7193ff48bf5SDavid du Colombier</pre><h3><a name="V3.70_Drivers"></a>Drivers</h3><pre> 7207dd7cddfSDavid du Colombier 7217dd7cddfSDavid du ColombierFixes bugs: 7227dd7cddfSDavid du Colombier - Signed and unsigned values were mixed inconsistently. (gdevcdj.c) 7237dd7cddfSDavid du Colombier - PDF files could contain e-format floating point numbers, which the 7247dd7cddfSDavid du ColombierPDF specification doesn't allow. (gdevpdfx.h, gdevpdf*.c) 7257dd7cddfSDavid du Colombier - The PDF writer didn't handle glyphshow properly. (gs_pdfwr.ps) 7267dd7cddfSDavid du Colombier - The PDF writer did the wrong thing with fonts whose FontMatrix had 7277dd7cddfSDavid du Colombiera non-zero translation component. (gs_pdfwr.ps, gdevpdft.c) 7287dd7cddfSDavid du Colombier - The stand-alone bounding box device could crash when setting 7297dd7cddfSDavid du Colombierparameters. (gdevbbox.c) 7307dd7cddfSDavid du Colombier - The mswinpr2 driver smashed memory. (gdevwpr2.c) 7317dd7cddfSDavid du Colombier 7327dd7cddfSDavid du ColombierChanges the PDF writer so that if it encounters a re-encoded character, it 7337dd7cddfSDavid du Colombiertries to map it to an encoded character in the standard (ISO Latin-1) 7347dd7cddfSDavid du Colombierencoding rather than converting the entire string containing it to a bitmap. 7357dd7cddfSDavid du ColombierThis dramatically improves output file size for files with a few divergently 7367dd7cddfSDavid du Colombierencoded characters, but it may cause the text in the PDF file to differ from 7377dd7cddfSDavid du Colombierthe text in the PostScript input. (gdevpdft.c) 7387dd7cddfSDavid du Colombier 7397dd7cddfSDavid du ColombierDisallows BitsPerPixel=16 in the MS Windows and OS/2 drivers, since this bit 7407dd7cddfSDavid du Colombierdepth is not supported by Windows and would require special extra buffering. 7417dd7cddfSDavid du Colombier(install.txt, dwtext.h, dwtext.cpp, gdevmswn.c, gdevpm.c, gdevwpr2.c) 7427dd7cddfSDavid du Colombier 7433ff48bf5SDavid du Colombier</pre><h3><a name="V3.70_Platforms"></a>Platforms</h3><pre> 7447dd7cddfSDavid du Colombier 7457dd7cddfSDavid du ColombierFixes bugs: 7467dd7cddfSDavid du Colombier - On the PC platforms, file names weren't changed to reflect the 7477dd7cddfSDavid du Colombiervalue of CONFIG. (gs.mak, bc*.mak, ms*.mak, os2.mak, tc*.mak, watc*.mak, 7487dd7cddfSDavid du Colombierwccommon.mak) 7497dd7cddfSDavid du Colombier 7507dd7cddfSDavid du ColombierModifies some makefiles for greater reusability. (bclib.mak, watclib.mak) 7517dd7cddfSDavid du Colombier 7523ff48bf5SDavid du Colombier</pre><h3><a name="V3.70_Fonts"></a>Fonts</h3><pre> 7537dd7cddfSDavid du Colombier 7547dd7cddfSDavid du ColombierChanges the font searching rules in the following NON-BACKWARD-COMPATIBLE 7557dd7cddfSDavid du Colombierway: (gs_fonts.ps, gs_res.ps) 7567dd7cddfSDavid du Colombier - -sFONTMAP=files specifies a list of files containing fontmaps; 7577dd7cddfSDavid du Colombierpreviously, it specified only a single fontmap file. 7587dd7cddfSDavid du Colombier - If -sFONTMAP= is not used, the interpreter reads the Fontmaps from 7597dd7cddfSDavid du Colombier*all* directories on the search path, and does so even if FONTPATH or 7607dd7cddfSDavid du ColombierGS_FONTPATH is set; previously, it read only the first Fontmap, and only if 7617dd7cddfSDavid du Colombier[GS_]FONTPATH was not set. 7627dd7cddfSDavid du Colombier - Fontmap(s) take precedence over [GS_]FONTPATH; previously, 7637dd7cddfSDavid du Colombier[GS_]FONTPATH caused Fontmap to be ignored. (You can still force Fontmap to 7647dd7cddfSDavid du Colombierbe ignored with -dNOFONTMAP.) 7657dd7cddfSDavid du Colombier - Earlier [GS_]FONTPATH entries take precedence over later; 7667dd7cddfSDavid du Colombierpreviously, later entries took precedence over earlier. Note that this is 7677dd7cddfSDavid du Colombierdifferent from Fontmap: earlier Fontmaps in the search path take precedence 7687dd7cddfSDavid du Colombierover later, but within a single Fontmap, later entries take precedence over 7697dd7cddfSDavid du Colombierearlier (for backward compatibility). 7707dd7cddfSDavid du Colombier - [GS_]FONTPATH is consulted only if there is no Fontmap entry for a 7717dd7cddfSDavid du Colombierfont, or no Fontmap entry leads to successful loading; previously, 7727dd7cddfSDavid du Colombier[GS_]FONTPATH was always consulted at startup. 7737dd7cddfSDavid du Colombier - If loading a font fails, the interpreter tries the next Fontmap 7747dd7cddfSDavid du Colombierentry; previously, it fell back to font substitution. 7757dd7cddfSDavid du Colombier 7763ff48bf5SDavid du Colombier</pre><h3><a name="V3.70_Interpreter"></a>Interpreter</h3><pre> 7777dd7cddfSDavid du Colombier 7787dd7cddfSDavid du ColombierFixes bugs: 7797dd7cddfSDavid du Colombier - Filters didn't peek ahead for an EOD (see Streams below). 7807dd7cddfSDavid du Colombier(zfileio.c, zpaint.c) 7817dd7cddfSDavid du Colombier 7827dd7cddfSDavid du ColombierSplits up a file to allow internal access to user and system parameters even 7837dd7cddfSDavid du Colombierin Level 1. (zmisc2.c, zusparam.c) 7847dd7cddfSDavid du Colombier 7857dd7cddfSDavid du ColombierAdds LIBPATH as a predefined name in systemdict. Its value is an array of 7867dd7cddfSDavid du Colombierstrings comprising the library search path. (imain.c) 7877dd7cddfSDavid du Colombier 7883ff48bf5SDavid du Colombier</pre><h3><a name="V3.70_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 7897dd7cddfSDavid du Colombier 7907dd7cddfSDavid du ColombierFixes bugs: 7917dd7cddfSDavid du Colombier - A Dests dictionary entry with an array (rather than a dictionary) 7927dd7cddfSDavid du Colombiervalue caused an error. (pdf_main.ps) 7937dd7cddfSDavid du Colombier - Rotated pages could have incorrect translation and/or clipping. 7947dd7cddfSDavid du Colombier(pdf_main.ps) 7957dd7cddfSDavid du Colombier 7963ff48bf5SDavid du Colombier</pre><h3><a name="V3.70_Streams"></a>Streams</h3><pre> 7977dd7cddfSDavid du Colombier 7987dd7cddfSDavid du ColombierFixes bugs: 7997dd7cddfSDavid du Colombier - If a buffer boundary fell just before an EOD, and the client read 8007dd7cddfSDavid du Colombierexactly as much data as was present before the EOD, filters didn't consume 8017dd7cddfSDavid du Colombierthe EOD. (This is required as a tricky consequence of the Adobe 8027dd7cddfSDavid du Colombierspecification.) (stream.h, strimpl.h, stream.c) 8037dd7cddfSDavid du Colombier 8043ff48bf5SDavid du Colombier</pre><h3><a name="V3.70_Library"></a>Library</h3><pre> 8057dd7cddfSDavid du Colombier 8067dd7cddfSDavid du ColombierFixes bugs: 8077dd7cddfSDavid du Colombier - An extra column of bits could get turned on at the right edge of 8087dd7cddfSDavid du Colombiermasked or monochrome images. (gximage2.c) 8097dd7cddfSDavid du Colombier - Rasterizing very long curves could cause arithmetic errors or 8107dd7cddfSDavid du Colombierfloating point overflows. (gxpcopy.c) 8117dd7cddfSDavid du Colombier - Banding with large line widths could truncate curves or introduce 8127dd7cddfSDavid du Colombierspurious lines. (gxclpath.c) 8137dd7cddfSDavid du Colombier 8143ff48bf5SDavid du Colombier</pre> 8157dd7cddfSDavid du Colombier 8163ff48bf5SDavid du Colombier<hr> 8173ff48bf5SDavid du Colombier 8183ff48bf5SDavid du Colombier<h2><a name="Version3.69"></a>Version 3.69 (limited) (6/14/96)</h2> 8193ff48bf5SDavid du Colombier 8203ff48bf5SDavid du Colombier<p> 8217dd7cddfSDavid du ColombierMore bug fixes, plus one irresistible new feature: the ability to use 8227dd7cddfSDavid du ColombierTrueType fonts as freely as Type 1 fonts. Also, one new feature (outside 8237dd7cddfSDavid du Colombierclipping) that was needed for Aladdin's PCL XL project. We incremented the 8247dd7cddfSDavid du Colombierversion number because of the change in trapezoid and path filling (see 8257dd7cddfSDavid du Colombierunder Library below). 8267dd7cddfSDavid du Colombier 8273ff48bf5SDavid du Colombier<h3><a name="V3.69_Documentation"></a>Documentation</h3><pre> 8287dd7cddfSDavid du ColombierBrings documentation about fonts up to date. (fonts.doc) 8297dd7cddfSDavid du Colombier 8307dd7cddfSDavid du ColombierUpdates current.doc to reflect changes since 3.53. (current.doc) 8317dd7cddfSDavid du Colombier 8327dd7cddfSDavid du ColombierUpdates the DLL documentation to reflect recent changes. (dll.doc) 8337dd7cddfSDavid du Colombier 8347dd7cddfSDavid du ColombierDocuments a workaround for the code generation bug in gcc 2.7.x. (make.doc) 8357dd7cddfSDavid du Colombier 8367dd7cddfSDavid du ColombierChanges the contact information for potential commercial customers in 8377dd7cddfSDavid du ColombierEurope. (new-user.doc) 8387dd7cddfSDavid du Colombier 8397dd7cddfSDavid du ColombierUpdates the OS/2 documentation to make it current. (install.doc, make.doc) 8407dd7cddfSDavid du Colombier 8417dd7cddfSDavid du ColombierDocuments -dCOLORSCREEN=0. (use.doc) 8427dd7cddfSDavid du Colombier 8433ff48bf5SDavid du Colombier</pre><h3><a name="V3.69_Procedures"></a>Procedures</h3><pre> 8447dd7cddfSDavid du Colombier 8457dd7cddfSDavid du ColombierFixes bugs: 8467dd7cddfSDavid du Colombier - 'make clean' didn't work in the Watcom environment. 8477dd7cddfSDavid du Colombier(wmakebat.bat, gs.mak, msc.mak, msvcwint.mak, os2.mak, tccommon.mak, 8487dd7cddfSDavid du Colombierunixhead.mak, wccommon.mak) 8497dd7cddfSDavid du Colombier - The X11 libraries were listed in an incorrect order. 8507dd7cddfSDavid du Colombier(ansihead.mak, cc-head.mak, gcc-head.mak, ugcclib.mak, unix-end.mak) 8517dd7cddfSDavid du Colombier - The OS/2 makefile didn't ignore errors from `erase' commands. 8527dd7cddfSDavid du Colombier(os2.mak) 8537dd7cddfSDavid du Colombier 8547dd7cddfSDavid du ColombierAdds the PDF writer to the 32-bit MS Windows configuration. (bcwin32.mak) 8557dd7cddfSDavid du Colombier 8567dd7cddfSDavid du ColombierAdds the PNG drivers to the 32-bit MS Windows platform, since they now 8577dd7cddfSDavid du Colombiercompile properly. (bcwin32.mak) 8587dd7cddfSDavid du Colombier 8597dd7cddfSDavid du ColombierChanges the ttfont feature so that it refers to support for direct usage of 8607dd7cddfSDavid du ColombierTrueType fonts; puts support for Type 42 fonts into a separate feature 8617dd7cddfSDavid du Colombier(type42). (gs.mak, int.mak) 8627dd7cddfSDavid du Colombier 8637dd7cddfSDavid du ColombierAdds direct TrueType font support to the Windows platforms. (bcwin.mak, 8647dd7cddfSDavid du Colombierbcwin32.mak) 8657dd7cddfSDavid du Colombier 8667dd7cddfSDavid du ColombierRewrites vms.mak to be structured more like the other makefiles. (vms.mak, 8677dd7cddfSDavid du Colombiermodules.lis) 8687dd7cddfSDavid du Colombier 8697dd7cddfSDavid du ColombierMakes the device lists in vms-*.mak the same as those for the Unix 8707dd7cddfSDavid du Colombierconfigurations. (vms-cc.mak, vms-decc.mak, vms-gcc.mak) 8717dd7cddfSDavid du Colombier 8727dd7cddfSDavid du ColombierChanges the default X library directory for gcc to /usr/X11/lib. 8737dd7cddfSDavid du Colombier(gcc-head.mak) 8747dd7cddfSDavid du Colombier 8757dd7cddfSDavid du ColombierAdds the list of devices to --help, since HylaFax depends on this. 8767dd7cddfSDavid du Colombier(imainarg.c) 8777dd7cddfSDavid du Colombier 8787dd7cddfSDavid du ColombierAdds -dCOLORSCREEN=0 to indicate use of 4 separate color screens with the 8797dd7cddfSDavid du Colombiersame frequency and angle. (gs_init.ps) 8807dd7cddfSDavid du Colombier 8813ff48bf5SDavid du Colombier</pre><h3><a name="V3.69_Utilities"></a>Utilities</h3><pre> 8827dd7cddfSDavid du Colombier 8837dd7cddfSDavid du ColombierFixes bugs: 8847dd7cddfSDavid du Colombier - When ps2epsi encountered a blank page, it called the 8857dd7cddfSDavid du Colombier(undocumented) .quit operator with only one argument, causing a stack 8867dd7cddfSDavid du Colombierunderflow. (ps2epsi.ps) 8877dd7cddfSDavid du Colombier - An extraneous file was included in the fileset. (checkacc.ps) 8887dd7cddfSDavid du Colombier - A file was omitted from the fileset. (bench.c) 8897dd7cddfSDavid du Colombier - Images in PostScript files produced by pdf2ps were processed about 8907dd7cddfSDavid du Colombier50 times slower than they should have been. (gs_pdf.ps) 8917dd7cddfSDavid du Colombier 8923ff48bf5SDavid du Colombier</pre><h3><a name="V3.69_Drivers"></a>Drivers</h3><pre> 8937dd7cddfSDavid du Colombier 8947dd7cddfSDavid du ColombierFixes bugs: 8957dd7cddfSDavid du Colombier - An #include was omitted. (gdevpdfi.c) 8967dd7cddfSDavid du Colombier - The BJC driver could get into an inconsistent state. (gdevcdj.c) 8977dd7cddfSDavid du Colombier - Braces were omitted around the values for two initialized byte 8987dd7cddfSDavid du Colombierarrays. (gdevpcx.c) 8997dd7cddfSDavid du Colombier - A function used 'float' in its argument list, causing problems in 9007dd7cddfSDavid du Colombiermixed ANSI/non-ANSI compilation. (gdevcdj.c) 9017dd7cddfSDavid du Colombier - signed and unsigned char pointers were used inconsistently. 9027dd7cddfSDavid du Colombier(gdevcdj.c, gdevcgml.c) 9037dd7cddfSDavid du Colombier - Some header files weren't protected against double inclusion. 9047dd7cddfSDavid du Colombier(gdevprn.h, gdevtifs.h) 9057dd7cddfSDavid du Colombier - The 24-bit PNG driver included unnecessary copies of the color 9067dd7cddfSDavid du Colombiermapping procedures. (gdevpng.c) 9077dd7cddfSDavid du Colombier 9087dd7cddfSDavid du ColombierFixes bugs in the PDF writer: 9097dd7cddfSDavid du Colombier - The PDF writer sometimes produced a double // in front of a filter 9107dd7cddfSDavid du Colombiername. (gdevpdfi.c) 9117dd7cddfSDavid du Colombier - The PDF writer produced zero-width, zero-height images for 9127dd7cddfSDavid du Colombiernon-standard fonts. (bug introduced since 3.68) (gdevpdfi.c) 9137dd7cddfSDavid du Colombier - The PDF writer got confused if the input file invoked 9147dd7cddfSDavid du Colombiersetpagedevice. (gdevpdfp.c) 9157dd7cddfSDavid du Colombier - The PDF writer put annotations on the page after the one they were 9167dd7cddfSDavid du Colombiersupposed to be on. (gdevpdf.c) 9177dd7cddfSDavid du Colombier - The PDF writer sometimes failed to set the font when needed. 9187dd7cddfSDavid du Colombier(gdevpdf.c) 9197dd7cddfSDavid du Colombier - The PDF writer could produce in-line images that were too large. 9207dd7cddfSDavid du Colombier(gdevpdfi.c) 9217dd7cddfSDavid du Colombier - The PDF writer didn't scale explicit character and word spacing 9227dd7cddfSDavid du Colombier(ashow/widthshow/awidthshow) properly. (gdevpdft.c) 9237dd7cddfSDavid du Colombier - The PDF writer didn't copy named destination or article title 9247dd7cddfSDavid du Colombierstrings, possibly leading to dangling pointers. (gdevpdf.c, gdevpdfm.c) 9257dd7cddfSDavid du Colombier - The PDF writer produced incorrect output for re-encoded fonts. 9267dd7cddfSDavid du Colombier(It now converts any string containing characters in non-standard positions 9277dd7cddfSDavid du Colombierto bitmaps; this will be fixed in a later release.) (gs_pdfwr.ps, 9287dd7cddfSDavid du Colombiergdevpdfx.h, gdevpdfp.c, gdevpdft.c) 9297dd7cddfSDavid du Colombier 9307dd7cddfSDavid du ColombierUpdates a few drivers for the change in the handling of band device 9317dd7cddfSDavid du Colombierprocedures. (gdevcp50.c, gdevdjet.c) 9327dd7cddfSDavid du Colombier 9337dd7cddfSDavid du ColombierUpdates the X Windows driver for strip halftones. (gdevx.c) 9347dd7cddfSDavid du Colombier 9357dd7cddfSDavid du ColombierAdds anti-aliasing capability to the os2pm device. (gdevpm.c) 9367dd7cddfSDavid du Colombier 9377dd7cddfSDavid du ColombierIncreases the sizes of some tables in the PDF writer. (gdevpdfx.h) 9387dd7cddfSDavid du Colombier 9393ff48bf5SDavid du Colombier</pre><h3><a name="V3.69_Platforms"></a>Platforms</h3><pre> 9407dd7cddfSDavid du Colombier 9417dd7cddfSDavid du ColombierFixes bugs: 9427dd7cddfSDavid du Colombier - A patch for the MS Windows platform was accidentally omitted. 9437dd7cddfSDavid du Colombier(gp_mswin.c) 9447dd7cddfSDavid du Colombier - A block of code was accidentally duplicated. (dwmain.cpp) 9457dd7cddfSDavid du Colombier - An identifier exceeded VAX VMS C's limit of 31 characters. 9467dd7cddfSDavid du Colombier(gscspace.h) 9477dd7cddfSDavid du Colombier - File name enumeration didn't work properly on Unix systems 9487dd7cddfSDavid du Colombier(still/again). (gp_unifs.c) 9497dd7cddfSDavid du Colombier - On MS Windows, If you closed Ghostscript with the system menu, you 9507dd7cddfSDavid du Colombieronly closed the text window; Ghostscript kept running and you had to use the 9517dd7cddfSDavid du Colombiertask manager to kill it. (dwmain.cpp, dwmainc.cpp, dwtext.cpp) 9527dd7cddfSDavid du Colombier - Some DLL-related typedefs were not consistent. (dwdll.h, gsdll.h, 9537dd7cddfSDavid du Colombierdpmainc.c, dwdll.cpp) 9547dd7cddfSDavid du Colombier - Attempts to call the DLL before it was initialized were not 9557dd7cddfSDavid du Colombierdetected. (gsdll.c) 9567dd7cddfSDavid du Colombier - Bitmap line lengths were rounded up even on 32-bit Windows, which 9577dd7cddfSDavid du Colombierdoesn't want this. (gdevwdib.c) 9587dd7cddfSDavid du Colombier 9597dd7cddfSDavid du ColombierFurther improves the handling of attempts to use the DLL when it is already 9607dd7cddfSDavid du Colombierin use. (dwdll.cpp, gsdll.c) 9617dd7cddfSDavid du Colombier 9627dd7cddfSDavid du ColombierAdds a DLL-compatible main program for OS/2. (dpmainc.c, gp_os2.c, gsdll.c) 9637dd7cddfSDavid du Colombier 9643ff48bf5SDavid du Colombier</pre><h3><a name="V3.69_Fonts"></a>Fonts</h3><pre> 9657dd7cddfSDavid du Colombier 9667dd7cddfSDavid du ColombierFixes bugs: 9677dd7cddfSDavid du Colombier - The WingDings TrueType font wasn't loaded properly. (gs_ttf.ps) 9687dd7cddfSDavid du Colombier 9697dd7cddfSDavid du ColombierMakes changes so that TrueType fonts can appear in the Fontmap and can be 9707dd7cddfSDavid du Colombierloaded directly. (gs_fonts.ps, gs_ttf.ps) 9717dd7cddfSDavid du Colombier 9723ff48bf5SDavid du Colombier</pre><h3><a name="V3.69_Interpreter"></a>Interpreter</h3><pre> 9737dd7cddfSDavid du Colombier 9747dd7cddfSDavid du ColombierFixes bugs: 9757dd7cddfSDavid du Colombier - Executing a .quit with only 1 element on the operand stack caused 9767dd7cddfSDavid du Colombieran invalid access. (zcontrol.c) 9777dd7cddfSDavid du Colombier - The usage help message contained incorrect double %%s. 9787dd7cddfSDavid du Colombier(imainarg.c) 9797dd7cddfSDavid du Colombier - If an initialization file tried to use any Encodings other than 9807dd7cddfSDavid du Colombierthe 4 registered ones, it couldn't find them. (gs_init.ps, gs_res.ps) 9817dd7cddfSDavid du Colombier - Places that expected arrays of coordinates (rectangles, 9827dd7cddfSDavid du Colombierx/y/xyshow) didn't accept packed arrays. (ibnum.c, zdps1.c) 9837dd7cddfSDavid du Colombier - filterdict was still visible after initialization. (gs_init.ps) 9847dd7cddfSDavid du Colombier - The usage error message wasn't terminated by a newline. 9857dd7cddfSDavid du Colombier(imainarg.c) 9867dd7cddfSDavid du Colombier - setcacheparams (or setting the MaxFontCache user parameter) didn't 9877dd7cddfSDavid du Colombieractually affect the size of the character cache. (zfont.c, zmisc2.c) 9887dd7cddfSDavid du Colombier - The main interpreter loop declared iref as a ref *, even though it 9897dd7cddfSDavid du Colombiermay only be a ref_packed *. (iref.h, interp.c) 9907dd7cddfSDavid du Colombier 9917dd7cddfSDavid du ColombierChanges the character cache so it ignores absurd FontBBox values. Nothing 9927dd7cddfSDavid du Colombierin the Adobe spec suggests doing this, but it is necessary for handling 9937dd7cddfSDavid du Colombierquestionable output produced by PageMaker 5.0 (an Adobe product!). 9947dd7cddfSDavid du Colombier(zchar1.c) 9957dd7cddfSDavid du Colombier 9967dd7cddfSDavid du ColombierChanges some type declarations slightly to reduce the number of 'discarding 9977dd7cddfSDavid du Colombierconst' compiler warnings. (igc.h, igc.c, igcref.c) 9987dd7cddfSDavid du Colombier 9997dd7cddfSDavid du ColombierAdds .setclipoutside and .currentclipoutside operators for accessing the new 10007dd7cddfSDavid du Colombieroutside clipping capability. (zpath.c) 10017dd7cddfSDavid du Colombier 10027dd7cddfSDavid du ColombierAdds the dictionary stack to the information printed in case of a fatal 10037dd7cddfSDavid du Colombierproblem. (imain.c) 10047dd7cddfSDavid du Colombier 10057dd7cddfSDavid du ColombierAdds .set/currentrenderalgorithm operators for testing. (zrop.c) 10067dd7cddfSDavid du Colombier 10073ff48bf5SDavid du Colombier</pre><h3><a name="V3.69_Library"></a>Library</h3><pre> 10087dd7cddfSDavid du Colombier 10097dd7cddfSDavid du ColombierFixes bugs: 10107dd7cddfSDavid du Colombier - The TrueType rasterizer didn't map quadratic to cubic splines 10117dd7cddfSDavid du Colombierwell, and didn't handle off-curve points at the end of a contour properly. 10127dd7cddfSDavid du Colombier(gstype42.c) 10137dd7cddfSDavid du Colombier - An #include was omitted. (gsimage.c, gxclimag.c) 10147dd7cddfSDavid du Colombier - Some compilers complained about statements with no effect, or 10157dd7cddfSDavid du Colombiercomma operators with no effect on the left. (gschar.c, gxcpath.c, gxfill.c) 10167dd7cddfSDavid du Colombier - TrueType or Type 42 glyphs with a repeat count that crossed a 10177dd7cddfSDavid du Colombiercontour boundary produced incorrect output. (gstype42.c) 10187dd7cddfSDavid du Colombier - TrueType / Type 42 composite glyphs involving rotation were placed 10197dd7cddfSDavid du Colombierincorrectly. (gstype42.c) 10207dd7cddfSDavid du Colombier - Type 42 fonts with an absent or incorrect FontBBox could fail to 10217dd7cddfSDavid du Colombierproduce output. (gstype42.c) 10227dd7cddfSDavid du Colombier - Some header files weren't protected against double inclusion. 10237dd7cddfSDavid du Colombier(gsio.h, gdebug.h) 10247dd7cddfSDavid du Colombier - Decoding filters didn't "look ahead" to detect EOD, so if the last 10257dd7cddfSDavid du Colombierread operation before closing the filter ended just before the EOD mark, the 10267dd7cddfSDavid du ColombierEOD mark might not be absorbed. (stream.h, stream.c) 10277dd7cddfSDavid du Colombier - Filling paths consisting of multiple subpaths that overlap in Y 10287dd7cddfSDavid du Colombierproduced slightly inaccurate output. We were unable to find a way to fix 10297dd7cddfSDavid du Colombierthis without making a NON-BACKWARD-COMPATIBLE change in the interface for 10307dd7cddfSDavid du Colombierthe recently introduced fill_trapezoid device procedure. (gxdevice.h, 10317dd7cddfSDavid du Colombiergdevbbox.c, gdevddrw.c, gdevnfwd.c, gxfill.c) 10327dd7cddfSDavid du Colombier - When banding, get_bits didn't detect calls with out-of-range Y 10337dd7cddfSDavid du Colombiervalues. (gxclread.c) 10347dd7cddfSDavid du Colombier - setcacheparams didn't actually affect the size of the character 10357dd7cddfSDavid du Colombiercache. (gsfont.h, gxbcache.h, gxfcache.h, gschar.c, gsfont.c, gxbcache.c, 10367dd7cddfSDavid du Colombiergxccman.c, gxclbits.c) 10377dd7cddfSDavid du Colombier - When banding, colored halftones could be mangled. (gxclread.c) 10387dd7cddfSDavid du Colombier 10397dd7cddfSDavid du ColombierFixes bugs in the bounding box device: 10407dd7cddfSDavid du Colombier - The bounding box device could give bizarre results if any objects 10417dd7cddfSDavid du Colombiercrossed the lower edge of the page. (gdevbbox.c) 10427dd7cddfSDavid du Colombier - The bounding box device could get a memory access error when 10437dd7cddfSDavid du Colombierprocessing image data. (gdebbox.c) 10447dd7cddfSDavid du Colombier - The bounding box device ran the default drawing algorithms even if 10457dd7cddfSDavid du Colombierit had no target (performance bug only). (gdevbbox.c) 10467dd7cddfSDavid du Colombier - The bounding box device computed an incorrect (too small) box for 10477dd7cddfSDavid du Colombierpartially clipped bitmap images. (gdevbbox.c) 10487dd7cddfSDavid du Colombier - The bounding box device got confused by files that filled the 10497dd7cddfSDavid du Colombierentire page with a background color. (gdevbbox.c) 10507dd7cddfSDavid du Colombier - The bounding box device produced infinite-height boxes for certain 10517dd7cddfSDavid du Colombierkinds of data. (gdevbbox.c) 10527dd7cddfSDavid du Colombier 10537dd7cddfSDavid du ColombierChanges some type declarations slightly to reduce the number of 'discarding 10547dd7cddfSDavid du Colombierconst' compiler warnings. (gsmemory.h, gsstruct.h) 10557dd7cddfSDavid du Colombier 10567dd7cddfSDavid du ColombierAdds the capability of clipping to the outside rather than the inside of the 10577dd7cddfSDavid du Colombierclipping path. This is required for emulating an obscure feature of the 10587dd7cddfSDavid du ColombierMicrosoft Windows GDI. (gspath.h, gxclpath.h, gxpath.h, gxcpath.h, 10597dd7cddfSDavid du Colombiergzcpath.h, gspath.c, gxacpath.c, gxclpath.c, gxclread.c, gxcpath.c.) 10607dd7cddfSDavid du Colombier 10617dd7cddfSDavid du ColombierMakes it possible for band devices to select the underlying memory device 10627dd7cddfSDavid du Colombierused to accumulate the actual bits. This is required for (at least) PCL5 10637dd7cddfSDavid du Colombieremulation. This requires adding a procedure to the gx_device_printer 10647dd7cddfSDavid du Colombierstructure, which, for devices that initialize the structure without using 10657dd7cddfSDavid du Colombierthe macros in gdevprn.h or access the printer-specific procedures directly, 10667dd7cddfSDavid du Colombieris a NON-BACKWARD-COMPATIBLE change. (gdevprn.h, gxclist.h, gxdevice.h, 10677dd7cddfSDavid du Colombiergdevdflt.c, gdevprn.c, gxclread.c) 10687dd7cddfSDavid du Colombier 10697dd7cddfSDavid du ColombierSpeeds up handling of rotated or halftoned masked images. (gximage2.c) 10707dd7cddfSDavid du Colombier 10717dd7cddfSDavid du ColombierAdds an output_page procedure to the bounding box device, for testing. 10727dd7cddfSDavid du Colombier(gdevbbox.c) 10737dd7cddfSDavid du Colombier 10747dd7cddfSDavid du ColombierAdds a sample device that keeps track of the "render algorithm", for PCL5c 10757dd7cddfSDavid du Colombieremulation. (gdevrrgb.c) 10767dd7cddfSDavid du Colombier 10773ff48bf5SDavid du Colombier</pre> 10787dd7cddfSDavid du Colombier 10793ff48bf5SDavid du Colombier<h2><a name="Version3.68p4"></a>Version 3.68 patch 4 (5/23/96)</h2> 10803ff48bf5SDavid du Colombier 10813ff48bf5SDavid du Colombier<p> 10827dd7cddfSDavid du ColombierMore minor bug fixes, mostly related to the MS Windows implementation. 10837dd7cddfSDavid du Colombier 10843ff48bf5SDavid du Colombier<h3><a name="V3.68p4_Documentation"></a>Documentation</h3><pre> 10857dd7cddfSDavid du ColombierFurther updates various doc files to make them more useful to new users. 10867dd7cddfSDavid du Colombier(NEWS, README, current.doc, helpers.doc, new-user.doc) 10877dd7cddfSDavid du Colombier 10887dd7cddfSDavid du ColombierAdds user-contributed documentation for ps2pdf. (ps2pdf.doc, unix-end.mak) 10897dd7cddfSDavid du Colombier 10907dd7cddfSDavid du ColombierDocuments a bug in the Borland C++ 4.52 compiler, and where to find the 10917dd7cddfSDavid du Colombierpatch for it. (make.doc) 10927dd7cddfSDavid du Colombier 10933ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p4_Procedures"></a>Procedures</h3><pre> 10947dd7cddfSDavid du Colombier 10957dd7cddfSDavid du ColombierFixes bugs: 10967dd7cddfSDavid du Colombier - A command line exceeded the MS-DOS 120 character limit. 10977dd7cddfSDavid du Colombier(devs.mak) 10987dd7cddfSDavid du Colombier 10997dd7cddfSDavid du ColombierA file was accidentally omitted from the fileset. (wmakebat.bat) 11007dd7cddfSDavid du Colombier 11013ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p4_Drivers"></a>Drivers</h3><pre> 11027dd7cddfSDavid du Colombier 11037dd7cddfSDavid du ColombierFixes bugs: 11047dd7cddfSDavid du Colombier - Many of the 'show' operators didn't work properly if the PDF 11057dd7cddfSDavid du Colombierwriter was included in the configuration. (gs_pdfwr.ps) 11067dd7cddfSDavid du Colombier - x_wrap_get_bits was ridiculously slow. (It still is, but not 11077dd7cddfSDavid du Colombierquite as ridiculously.) (gxcindex.h, gdevxalt.c) 11087dd7cddfSDavid du Colombier - The PDF writer generated CR instead of CalRGB, which is legal per 11097dd7cddfSDavid du Colombierthe Adobe spec but not compatible with some Adobe Acrobat products. 11107dd7cddfSDavid du Colombier(gdevpdfi.c) 11117dd7cddfSDavid du Colombier - Some signed/unsigned discrepancies caused compilation warnings. 11127dd7cddfSDavid du Colombier(gdevpdfm.c, gdevpdfp.c, gdevpdft.c) 11137dd7cddfSDavid du Colombier 11147dd7cddfSDavid du ColombierFixes bugs in the Windows driver: 11157dd7cddfSDavid du Colombier - An accidentally opened tiny window didn't get closed. 11167dd7cddfSDavid du Colombier(gdevwdib.c) 11177dd7cddfSDavid du Colombier - The name DllInit was misleading, and this procedure wasn't being 11187dd7cddfSDavid du Colombiercalled whtn the DLL was loaded, so the DLL couldn't know the instance 11197dd7cddfSDavid du Colombierhandle. (gp_mswin.c) 11207dd7cddfSDavid du Colombier - The code didn't recognize Win32s (vs. Windows 95) correctly. 11217dd7cddfSDavid du Colombier(dwmain.cpp, gdevwdib.c, gp_mswin.h, gp_mswin.c, gsdll16.rc) 11227dd7cddfSDavid du Colombier - Some compiler warnings needed fixing. (gdevwdib.c) 11237dd7cddfSDavid du Colombier - gsdll16.def and gsdll32.def were different. (gsdll32.def) 11247dd7cddfSDavid du Colombier - A GPF leaving the 16-bit DLL loaded could make the DLL permanently 11257dd7cddfSDavid du Colombierunusable. (dwmain.cpp) 11267dd7cddfSDavid du Colombier - Two obsolete files were still included in the fileset. 11277dd7cddfSDavid du Colombier(gswin.def, gswin32.def) 11287dd7cddfSDavid du Colombier 11297dd7cddfSDavid du ColombierAdds a compile-time option to the 'bit' drivers to expand 4-bit pixels to 11307dd7cddfSDavid du Colombier32-bit. This was required for tracking down customer problems, because the 11317dd7cddfSDavid du Colombieronly tools we have available for displaying CMYK images require 32 bits per 11327dd7cddfSDavid du Colombierpixel. (gdevbit.c) 11337dd7cddfSDavid du Colombier 11343ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p4_Platforms"></a>Platforms</h3><pre> 11357dd7cddfSDavid du Colombier 11367dd7cddfSDavid du ColombierFixes bugs: 11377dd7cddfSDavid du Colombier - In DEC C, <time.h> does define the timeval struct. (time_.h) 11387dd7cddfSDavid du Colombier 11397dd7cddfSDavid du ColombierChanges gsdll_init() to take an additional argument, a window handle. This 11407dd7cddfSDavid du Colombieris a NON-BACKWARD-COMPATIBLE change. (dll.doc, dwdll.h, gsdll.h, dwdll.cpp, 11417dd7cddfSDavid du Colombierdwmain.cpp, dwmainc.cpp, gsdll.c) 11427dd7cddfSDavid du Colombier 11433ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p4_Fonts"></a>Fonts</h3><pre> 11447dd7cddfSDavid du Colombier 11457dd7cddfSDavid du ColombierUpdates more Fontmaps to include the new URW++ fonts. (Fontmap.OS2, 11467dd7cddfSDavid du ColombierFontmap.ATM) 11477dd7cddfSDavid du Colombier 11483ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p4_Interpreter"></a>Interpreter</h3><pre> 11497dd7cddfSDavid du Colombier 11507dd7cddfSDavid du ColombierFixes bugs: 11517dd7cddfSDavid du Colombier - The default operator array table wasn't big enough. (iinit.c) 11527dd7cddfSDavid du Colombier - Some signed/unsigned discrepancies caused compilation warnings. 11537dd7cddfSDavid du Colombier(imain.c, imainarg.c, zfile.c) 11547dd7cddfSDavid du Colombier 11557dd7cddfSDavid du ColombierAdds encoding vectors for Windows 3.1 Latin 1, Latin 2, and Latin 5 11567dd7cddfSDavid du Colombierencodings. None of these are loaded in the standard configuration. 11577dd7cddfSDavid du Colombier(gs_wl{1,2,5}_e.ps) 11587dd7cddfSDavid du Colombier 11593ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p4_Library"></a>Library</h3><pre> 11607dd7cddfSDavid du Colombier 11617dd7cddfSDavid du ColombierFixes bugs: 11627dd7cddfSDavid du Colombier - Some tracing output was incorrect or missing. (gxdither.c) 11637dd7cddfSDavid du Colombier - Resized objects in the C heap had incorrect bookkeeping 11647dd7cddfSDavid du Colombierinformation (bug introduced in 3.68). (gsmemory.c) 11657dd7cddfSDavid du Colombier - Image pixels that fell exactly on device half-pixel boundaries 11667dd7cddfSDavid du Colombiercould get discarded. (gximage0.c) 11677dd7cddfSDavid du Colombier - The bounding box device didn't set a variable properly and didn't 11687dd7cddfSDavid du Colombierimplement end_image, leading to invalid memory accesses. (gdevbbox.c) 11697dd7cddfSDavid du Colombier - Fonts with BuildChar routines written in C didn't work properly 11707dd7cddfSDavid du Colombierwith kshow or xyshow. (gschar.c) 11717dd7cddfSDavid du Colombier 11727dd7cddfSDavid du ColombierAdds some additional tracing output for Patterns. (gxpcmap.c) 11737dd7cddfSDavid du Colombier 11747dd7cddfSDavid du ColombierAdds tracing output for freeing malloc'ed blocks at the end of execution. 11757dd7cddfSDavid du Colombier(gsmemory.c) 11767dd7cddfSDavid du Colombier 11777dd7cddfSDavid du ColombierAdds a gs_dashpath procedure that expands dashes in the same way that 11787dd7cddfSDavid du Colombiergs_flattenpath expands curves. (gspath.h, gspath1.c) 11797dd7cddfSDavid du Colombier 11803ff48bf5SDavid du Colombier</pre> 11817dd7cddfSDavid du Colombier 11823ff48bf5SDavid du Colombier<h2><a name="Version3.68p3"></a>Version 3.68 patch 3 (5/17/96)</h2> 11833ff48bf5SDavid du Colombier 11843ff48bf5SDavid du Colombier<p> 11857dd7cddfSDavid du ColombierMore bug fixes during the beta test period. AccurateScreens now works 11867dd7cddfSDavid du Colombierproperly. 11877dd7cddfSDavid du Colombier 11883ff48bf5SDavid du Colombier<h3><a name="V3.68p3_Procedures"></a>Procedures</h3><pre> 11897dd7cddfSDavid du ColombierFixes bugs: 11907dd7cddfSDavid du Colombier - The help message was too long to fit on a PC screen or standard 11917dd7cddfSDavid du Colombierterminal. (imainarg.c) 11927dd7cddfSDavid du Colombier - Failure to run tar_cat wasn't detected. (unix-end.mak, 11937dd7cddfSDavid du Colombierunixtail.mak) 11947dd7cddfSDavid du Colombier 11953ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p3_Utilities"></a>Utilities</h3><pre> 11967dd7cddfSDavid du ColombierFixes bugs: 11977dd7cddfSDavid du Colombier - In the PostScript files produced by pdf2ps, images using ASCII85 11987dd7cddfSDavid du Colombierencoding would cause a typecheck error. (gs_pdf.ps) 11997dd7cddfSDavid du Colombier - pdf2ps wrote out strings longer than 200 characters incorrectly. 12007dd7cddfSDavid du Colombier(pdf_2ps.ps) 12017dd7cddfSDavid du Colombier 12023ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p3_Drivers"></a>Drivers</h3><pre> 12037dd7cddfSDavid du Colombier 12047dd7cddfSDavid du ColombierFixes bugs in gdevcdj.c (according to the author, we have no way to test 12057dd7cddfSDavid du Colombierthis): 12067dd7cddfSDavid du Colombier - The driver used to use Colors as well as ProcessColorModel to 12077dd7cddfSDavid du Colombierdefine the process color model. (devices.doc, gdevbjc.h, gdevcdj.c) 12087dd7cddfSDavid du Colombier - Incorrect or inconsistent settings of BitsPerPixel and 12097dd7cddfSDavid du ColombierProcessColorModel, or setting one but not the other, could leave the driver 12107dd7cddfSDavid du Colombierin an inconsistent state. (gdevcdj.c) 12117dd7cddfSDavid du Colombier 12127dd7cddfSDavid du ColombierFixes bugs in the MS Windows driver: 12137dd7cddfSDavid du Colombier - Insufficient memory for the backing bitmap could cause a GPF. 12147dd7cddfSDavid du Colombier(gdevmswn.c, gdevwdib.c) 12157dd7cddfSDavid du Colombier - Invalid parameters could cause a crash within the DLL code. 12167dd7cddfSDavid du Colombier(gdevwdib.c) 12177dd7cddfSDavid du Colombier 12187dd7cddfSDavid du ColombierAdds a user-contributed driver for the CalComp Raster Format. (devs.mak, 12197dd7cddfSDavid du Colombiergdevccr.c) 12207dd7cddfSDavid du Colombier 12217dd7cddfSDavid du ColombierAdds an anti-aliasing option for MS Windows. (gdevmswn.c, gdevwdib.c) 12227dd7cddfSDavid du Colombier 12233ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p3_Platforms"></a>Platforms</h3><pre> 12247dd7cddfSDavid du Colombier 12257dd7cddfSDavid du ColombierFixes bugs in the Windows platform: 12267dd7cddfSDavid du Colombier - One had to type "quit" twice to exit. (dwdll.h, dwdll.cpp) 12277dd7cddfSDavid du Colombier 12283ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p3_Interpreter"></a>Interpreter</h3><pre> 12297dd7cddfSDavid du Colombier 12307dd7cddfSDavid du ColombierFixes bugs: 12317dd7cddfSDavid du Colombier - Platform fonts didn't work properly if the document's primary 12327dd7cddfSDavid du Colombierencoding was the standard MS Windows encoding. (ifont.h, gs_wan_e.ps) 12337dd7cddfSDavid du Colombier - stringwidth with a Type 1 font could give a spurious typecheck 12347dd7cddfSDavid du Colombiererror (bug introduced in 3.65). (zcharout.c) 12357dd7cddfSDavid du Colombier - If a DOS editor added a ^Z to the end of the Fontmap file, an 12367dd7cddfSDavid du Colombiererror occurred during initialization. (gs_fonts.ps) 12377dd7cddfSDavid du Colombier - Halftones that didn't specify a value for AccurateScreens 12387dd7cddfSDavid du Colombiersometimes ignored the setting of the AccurateScreens user parameter. 12397dd7cddfSDavid du Colombier(zht2.c) 12407dd7cddfSDavid du Colombier 12413ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p3_Library"></a>Library</h3><pre> 12427dd7cddfSDavid du Colombier 12437dd7cddfSDavid du ColombierFixes bugs: 12447dd7cddfSDavid du Colombier - gs_join_none was defined, but not implemented. (gxstroke.c) 12457dd7cddfSDavid du Colombier - A bookkeeping list for fonts could get confused, causing invalid 12467dd7cddfSDavid du Colombiermemory accesses. (gsfont.c) 12477dd7cddfSDavid du Colombier - An I/O error or internal error would cause the band list 12487dd7cddfSDavid du Colombierrasterizer to go into an infinite loop. (gxclread.c) 12497dd7cddfSDavid du Colombier - The algorithm for choosing screen angles and frequencies produced 12507dd7cddfSDavid du Colombierpoor results. (gshtscr.c) 12517dd7cddfSDavid du Colombier - Color screens were broken (bug introduced in 3.68). (gxdht.h, 12527dd7cddfSDavid du Colombiergzht.h, gsht.c, gshtscr.c) 12537dd7cddfSDavid du Colombier 12543ff48bf5SDavid du Colombier</pre> 12557dd7cddfSDavid du Colombier 12563ff48bf5SDavid du Colombier<h2><a name="Version3.68p2"></a>Version 3.68 patch 2 (5/13/96)</h2> 12573ff48bf5SDavid du Colombier 12583ff48bf5SDavid du Colombier<p> 12597dd7cddfSDavid du ColombierThis is another set of patches for the next general release. 12607dd7cddfSDavid du Colombier 12613ff48bf5SDavid du Colombier<h3><a name="V3.68p2_Documentation"></a>Documentation</h3><pre> 12627dd7cddfSDavid du ColombierFixes bugs: 12637dd7cddfSDavid du Colombier - Windows NT and Windows 95 implementations were identified as 12647dd7cddfSDavid du Colombier"under development" rather than available. (README) 12657dd7cddfSDavid du Colombier - There were several other minor errors in the README file. 12667dd7cddfSDavid du Colombier(README) 12677dd7cddfSDavid du Colombier - The claimed current IJG JPEG version was incorrect. (jpeg.mak) 12687dd7cddfSDavid du Colombier 12697dd7cddfSDavid du ColombierSplits off information for new users into a separate file. (README, 12707dd7cddfSDavid du Colombiernew-user.doc) 12717dd7cddfSDavid du Colombier 12723ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p2_Procedures"></a>Procedures</h3><pre> 12737dd7cddfSDavid du Colombier 12747dd7cddfSDavid du ColombierFixes bugs: 12757dd7cddfSDavid du Colombier - gettimeofday takes 2 arguments on SVR4 systems more recent than 12767dd7cddfSDavid du ColombierSVR4.0. (make.doc, ansihead.mak, cc-head.mak, gcc-head.mak, time_.h) 12777dd7cddfSDavid du Colombier 12787dd7cddfSDavid du ColombierChanges the default Unix data installation directory from /usr/local/lib to 12797dd7cddfSDavid du Colombier/usr/local/share, which seems to be favored by more recent Unix systems 12807dd7cddfSDavid du Colombier(except for some Linux versions, which still use /usr/local/lib, and BSD/OS, 12817dd7cddfSDavid du Colombierwhich puts Ghostscript in /usr/contrib/lib.) (ansihead.mak, cc-head.mak, 12827dd7cddfSDavid du Colombiergcc-head.mak, ugcclib.mak) 12837dd7cddfSDavid du Colombier 12847dd7cddfSDavid du ColombierChanges the unset commands in the Unix script to assignments, because a few 12857dd7cddfSDavid du Colombierolder Unix shells don't provide unset. (unixtail.mak) 12867dd7cddfSDavid du Colombier 12873ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p2_Drivers"></a>Drivers</h3><pre> 12887dd7cddfSDavid du Colombier 12897dd7cddfSDavid du ColombierFixes bugs: 12907dd7cddfSDavid du Colombier - An #include incorrectly referred directly to a system header. 12917dd7cddfSDavid du Colombier(gdevpdft.c) 12927dd7cddfSDavid du Colombier - CMYK devices took an excessive amount of time clearing the page to 12937dd7cddfSDavid du Colombierwhite. (gdevm32.c) 12947dd7cddfSDavid du Colombier 12957dd7cddfSDavid du ColombierAdds a compile-time option to the 'bit' drivers to remove top and bottom 12967dd7cddfSDavid du Colombierwhitespace. This change was required in order to track down a customer bug. 12977dd7cddfSDavid du Colombier(gdevbit.c) 12987dd7cddfSDavid du Colombier 12993ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p2_Interpreter"></a>Interpreter</h3><pre> 13007dd7cddfSDavid du Colombier 13017dd7cddfSDavid du ColombierUpdates the interpreter for the split in the gstate API. (igstate.h) 13027dd7cddfSDavid du Colombier 13033ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p2_Streams"></a>Streams</h3><pre> 13047dd7cddfSDavid du Colombier 13057dd7cddfSDavid du ColombierFixes bugs: 13067dd7cddfSDavid du Colombier - Some compilers don't define NULL widely enough. (spngp.c) 13077dd7cddfSDavid du Colombier 13083ff48bf5SDavid du Colombier</pre><h3><a name="V3.68p2_Library"></a>Library</h3><pre> 13097dd7cddfSDavid du Colombier 13107dd7cddfSDavid du ColombierFixes bugs: 13117dd7cddfSDavid du Colombier - There was a minor typo (& for &&) that didn't affect execution. 13127dd7cddfSDavid du Colombier(gxccman.c) 13137dd7cddfSDavid du Colombier - There was a trailing comma in an enumeration. (gsiparam.h) 13147dd7cddfSDavid du Colombier - Internal and public interfaces weren't separated properly. THIS 13157dd7cddfSDavid du ColombierIS A NON-BACKWARD-COMPATIBLE CHANGE for clients using certain undocumented 13167dd7cddfSDavid du Colombierinterfaces to the graphics state. (gsstate.h, gxstate.h, gzstate.h, 13177dd7cddfSDavid du Colombiergsstate.c) 13187dd7cddfSDavid du Colombier - A 'private' declaration was missing (yet again). (gxclimag.c) 13197dd7cddfSDavid du Colombier 13203ff48bf5SDavid du Colombier</pre> 13217dd7cddfSDavid du Colombier 13223ff48bf5SDavid du Colombier<h2><a name="Version3.68p1"></a>Version 3.68 patch 1 (5/10/96)</h2> 13237dd7cddfSDavid du Colombier 13243ff48bf5SDavid du Colombier<p> 13253ff48bf5SDavid du ColombierThis is the first bug fix (patch) incremental release for the next 13263ff48bf5SDavid du Colombiergeneral release. 13277dd7cddfSDavid du Colombier 13283ff48bf5SDavid du Colombier<h3><a name="V3.68p1_Procedures"></a>Procedures</h3><pre> 13297dd7cddfSDavid du ColombierFixes bugs: 13307dd7cddfSDavid du Colombier - Many Windows-specific files were omitted from the previous 13317dd7cddfSDavid du Colombierfileset: dw*.rc, dw*.cpp. 13327dd7cddfSDavid du Colombier 13333ff48bf5SDavid du Colombier</pre> 13347dd7cddfSDavid du Colombier 13353ff48bf5SDavid du Colombier<h2><a name="Version3.68"></a>Version 3.68 (limited) (5/9/96)</h2> 13363ff48bf5SDavid du Colombier 13373ff48bf5SDavid du Colombier<p> 13387dd7cddfSDavid du ColombierThis release cleans up the new Windows files, mostly implements the 13397dd7cddfSDavid du Colombierhigh-level driver API for bitmap images, and adds practical strip 13407dd7cddfSDavid du Colombier(AccurateScreens) halftoning. This is the first "serious beta" fileset for 13417dd7cddfSDavid du Colombierthe next general release. It still has more problems than I would have 13427dd7cddfSDavid du Colombierliked. 13437dd7cddfSDavid du Colombier 13443ff48bf5SDavid du Colombier<h3><a name="V3.68_Documentation"></a>Documentation</h3><pre> 13457dd7cddfSDavid du ColombierFixes bugs: 13467dd7cddfSDavid du Colombier - The names of the executable files for MS Windows were out of date. 13477dd7cddfSDavid du Colombier(make.doc) 13487dd7cddfSDavid du Colombier - gxcindex.h still referred to "drawing color". (gxcindex.h) 13497dd7cddfSDavid du Colombier - The name of the default font directory for Unix systems was 13507dd7cddfSDavid du Colombierincorrect. (make.doc) 13517dd7cddfSDavid du Colombier 13527dd7cddfSDavid du ColombierMoves the list of files required for installation, and some other 13537dd7cddfSDavid du Colombierinstallation instructions, from make.doc to install.doc. (install.doc, 13547dd7cddfSDavid du Colombiermake.doc) 13557dd7cddfSDavid du Colombier 13567dd7cddfSDavid du ColombierAdds a description of the PNGPredictor filters. (language.doc) 13577dd7cddfSDavid du Colombier 13587dd7cddfSDavid du ColombierUpdates the documentation of the higher-level driver procedures to match the 13597dd7cddfSDavid du Colombierspecification changes. (drivers.doc) 13607dd7cddfSDavid du Colombier 13617dd7cddfSDavid du ColombierDocuments the change in the Watcom build procedure. (make.doc) 13627dd7cddfSDavid du Colombier 13637dd7cddfSDavid du ColombierImproves the documentation of bitmap IDs. (gxbitmap.h) 13647dd7cddfSDavid du Colombier 13657dd7cddfSDavid du ColombierAdds documentation for the new strip_tile_rectangle and strip_copy_rop 13667dd7cddfSDavid du Colombierdriver procedures. (drivers.doc) 13677dd7cddfSDavid du Colombier 13687dd7cddfSDavid du ColombierChanges the few remaining direct FTP addresses in README to URLs. (README) 13697dd7cddfSDavid du Colombier 13707dd7cddfSDavid du ColombierNotes that zlib does not compile correctly on IRIX 6.n with optimization. 13717dd7cddfSDavid du Colombier(make.doc) 13727dd7cddfSDavid du Colombier 13737dd7cddfSDavid du ColombierAdds references to PDF and TrueType fonts to language.doc. (language.doc) 13747dd7cddfSDavid du Colombier 13757dd7cddfSDavid du ColombierUpdates fonts.doc to remove references to fonts.mak. (fonts.doc) 13767dd7cddfSDavid du Colombier 13777dd7cddfSDavid du ColombierDescribes how to substitute an LZW compressor for the LZW-compatible 13787dd7cddfSDavid du Colombiercompressor provided in the standard release. (make.doc) 13797dd7cddfSDavid du Colombier 13803ff48bf5SDavid du Colombier</pre><h3><a name="V3.68_Procedures"></a>Procedures</h3><pre> 13817dd7cddfSDavid du Colombier 13827dd7cddfSDavid du ColombierFixes bugs: 13837dd7cddfSDavid du Colombier - Some lines had exceeded the 120-character limit of the 13847dd7cddfSDavid du ColombierMS-DOS shell. (int.mak) 13857dd7cddfSDavid du Colombier - The configuration files weren't generated correctly when CONFIG 13867dd7cddfSDavid du Colombierwasn't an empty string. (unixhead.mak) 13877dd7cddfSDavid du Colombier 13887dd7cddfSDavid du ColombierFactors out shared DLL makefile rules into a new file. (bcwin.mak, 13897dd7cddfSDavid du Colombierbcwin32.mak, dwcommon.mak) 13907dd7cddfSDavid du Colombier 13917dd7cddfSDavid du ColombierMakes the cp and rm commands into makefile parameters, allowing automatic 13927dd7cddfSDavid du Colombiergeneration of build scripts even in the MS-DOS and MS Windows environments 13937dd7cddfSDavid du Colombierwhere the shell requires the CALL command for sub-scripts. (*.mak, 13947dd7cddfSDavid du Colombiergenconf.c) 13957dd7cddfSDavid du Colombier 13967dd7cddfSDavid du ColombierAdds the PDF writer to the default Unix configurations. (ansihead.mak, 13977dd7cddfSDavid du Colombiercc-head.mak, gcc-head.mak) 13987dd7cddfSDavid du Colombier 13997dd7cddfSDavid du ColombierAdds TrueType support to all Level 2 configurations. (int.mak) 14007dd7cddfSDavid du Colombier 14017dd7cddfSDavid du ColombierRemoves fonts.mak, which is no longer relevant. (fonts.mak) 14027dd7cddfSDavid du Colombier 14037dd7cddfSDavid du ColombierBrings the font compilation procedures up to date. (cfonts.mak, int.mak) 14047dd7cddfSDavid du Colombier 14053ff48bf5SDavid du Colombier</pre><h3><a name="V3.68_Utilities"></a>Utilities</h3><pre> 14067dd7cddfSDavid du Colombier 14077dd7cddfSDavid du ColombierFixes bugs: 14087dd7cddfSDavid du Colombier - There was an extra 'show' in one file. (align.ps) 14097dd7cddfSDavid du Colombier 14103ff48bf5SDavid du Colombier</pre><h3><a name="V3.68_Drivers"></a>Drivers</h3><pre> 14117dd7cddfSDavid du Colombier 14127dd7cddfSDavid du ColombierFixes bugs: 14137dd7cddfSDavid du Colombier - The bit devices were missing the map_color_rgb procedure. 14147dd7cddfSDavid du Colombier(gdevbit.c) 14157dd7cddfSDavid du Colombier - The MS Windows driver sent a redundant message. (gdevmswn.c) 14167dd7cddfSDavid du Colombier 14177dd7cddfSDavid du ColombierAdds a device that keeps track of the page bounding box. This device is not 14187dd7cddfSDavid du Colombierincluded in any standard configuration. (drivers.doc, gdevbbox.h, 14197dd7cddfSDavid du Colombiergsmatrix.h, gsstruct.h, gxdevice.h, gdevbbox.c, gdevnfwd.c, gsmatrix.c) 14207dd7cddfSDavid du Colombier 14217dd7cddfSDavid du ColombierUpdates the PDF writer to track the changes in the high-level driver API, 14227dd7cddfSDavid du Colombierand to write out images in a reasonable way. NOTE: the current 14237dd7cddfSDavid du Colombierimplementation doesn't write out CIE color space parameters, so CIE-color 14247dd7cddfSDavid du Colombierimages won't be colored accurately. (gdevpdf.c, gdevpdfi.c) 14257dd7cddfSDavid du Colombier 14267dd7cddfSDavid du ColombierAdds a forwarding procedure for tile_rectangle. (gxdevice.h, gdevnfwd.c) 14277dd7cddfSDavid du Colombier 14287dd7cddfSDavid du ColombierChanges the copyright notices on the PDF writer to be the same as on the 14297dd7cddfSDavid du Colombierrest of Ghostscript. (gdevpdf*.[ch]) 14307dd7cddfSDavid du Colombier 14317dd7cddfSDavid du ColombierUpdates Gunther Hess's Epson Stylus Color driver from 1.21 to 1.90. (Aladdin 14327dd7cddfSDavid du ColombierEnterprises takes no responsibility for this driver: if you have questions, 14337dd7cddfSDavid du Colombiercontact the author.) (devices.doc, devs.mak, gdevstc*.c, gdevstc.h) 14347dd7cddfSDavid du Colombier 14353ff48bf5SDavid du Colombier</pre><h3><a name="V3.68_Platforms"></a>Platforms</h3><pre> 14367dd7cddfSDavid du Colombier 14377dd7cddfSDavid du ColombierRemoves some obsolete MS Windows files and #defines. (gp_mswtx.h, 14387dd7cddfSDavid du Colombiergp_mswtx.c, gp_mswin.h) 14397dd7cddfSDavid du Colombier 14407dd7cddfSDavid du ColombierWorks around a memory limitation in the Watcom make utility. (wmakebat.bat) 14417dd7cddfSDavid du Colombier 14423ff48bf5SDavid du Colombier</pre><h3><a name="V3.68_Fonts"></a>Fonts</h3><pre> 14437dd7cddfSDavid du Colombier 14447dd7cddfSDavid du ColombierChanges the standard Fontmap from using the low-quality fonts converted from 14457dd7cddfSDavid du Colombierbitmaps to using high-quality fonts recently contributed by URW++. 14467dd7cddfSDavid du Colombier(Fontmap, Fontmap.GS) 14477dd7cddfSDavid du Colombier 14483ff48bf5SDavid du Colombier</pre><h3><a name="V3.68_Interpreter"></a>Interpreter</h3><pre> 14497dd7cddfSDavid du Colombier 14507dd7cddfSDavid du ColombierFixes bugs: 14517dd7cddfSDavid du Colombier - A macro containing an if-else, and a macro generating a compound 14527dd7cddfSDavid du Colombierstatement, could cause incorrect grouping of 'if' statements. (files.h, 14537dd7cddfSDavid du Colombierostack.h) 14547dd7cddfSDavid du Colombier - .setrasterop didn't pop its operand. (zrop.c) 14557dd7cddfSDavid du Colombier - A rounding inaccuracy could cause bounding box rangecheck errors. 14567dd7cddfSDavid du Colombier(gsdps1.c) 14577dd7cddfSDavid du Colombier - CIE-based images in PDF files didn't work. (gs_pdf.ps) 14587dd7cddfSDavid du Colombier - The page parameter .MediaSize didn't get updated when PageSize was 14597dd7cddfSDavid du Colombierset. (This is just the most recent manifestation of the setpagedevice 14607dd7cddfSDavid du Colombiermorass.) (gs_setpd.ps) 14617dd7cddfSDavid du Colombier - %lineedit and %statementedit were limited to 160 characters. 14627dd7cddfSDavid du Colombier(zfileio.c, ziodev.c) 14637dd7cddfSDavid du Colombier - Compiled initialization files didn't work properly. (geninit.c, 14647dd7cddfSDavid du Colombiergs_l2img.ps) 14657dd7cddfSDavid du Colombier - Attempting to parse a command line with argc = 0 caused a crash. 14667dd7cddfSDavid du Colombier(imainarg.c) 14677dd7cddfSDavid du Colombier 14687dd7cddfSDavid du ColombierRenames some files to allow separating the non-DLL 'main' procedure into a 14697dd7cddfSDavid du Colombierseparate file, and to make the file naming more consistent: 14707dd7cddfSDavid du Colombier gs.c (except for 'main') => imainarg.c 14717dd7cddfSDavid du Colombier gsmain.c => imain.c 14727dd7cddfSDavid du Colombiergs.c now consists only of 'main'. The name gs.c is still inconsistent (it 14737dd7cddfSDavid du Colombiershould be i- something), but at least it's consistent with the name of the 14747dd7cddfSDavid du Colombierexecutable. (*.mak, imain.h, iminst.h, imainarg.h, gs.c, gsmain.c, imain.c, 14757dd7cddfSDavid du Colombierimainarg.c) 14767dd7cddfSDavid du Colombier 14777dd7cddfSDavid du ColombierAdds PNGPredictorEncode/Decode filters, and increases the size of filterdict 14787dd7cddfSDavid du Colombierslightly to make room for them. (iinit.c, zfpngp.c) 14797dd7cddfSDavid du Colombier 14807dd7cddfSDavid du ColombierMakes zwrite external, per a customer request. (opextern.h, zfileio.c) 14817dd7cddfSDavid du Colombier 14827dd7cddfSDavid du ColombierUpdates clients to work with the new API-based bitmap imaging calls. 14837dd7cddfSDavid du Colombier(iimage.h, zcolor1.c, zimage2.c, zpaint.c) 14847dd7cddfSDavid du Colombier 14857dd7cddfSDavid du ColombierUpdates clients for the split in gscspace.h. (zcie.c, zcolor1.c, zcolor2.c, 14867dd7cddfSDavid du Colombierzcsindex.c, zcssepr.c, zimage2.c, zpaint.c, zpcolor.c) 14877dd7cddfSDavid du Colombier 14887dd7cddfSDavid du ColombierUpdates clients for strip-based halftones. (zpcolor.c) 14897dd7cddfSDavid du Colombier 14907dd7cddfSDavid du ColombierUpdates the initialization code to pass the correct (system) allocator to 14917dd7cddfSDavid du Colombierthe library initialization. (imain.c) 14927dd7cddfSDavid du Colombier 14933ff48bf5SDavid du Colombier</pre><h3><a name="V3.68_Streams"></a>Streams</h3><pre> 14947dd7cddfSDavid du Colombier 14957dd7cddfSDavid du ColombierFixes bugs: 14967dd7cddfSDavid du Colombier - If a filter reached EOD exactly at the end of reading data for 14977dd7cddfSDavid du Colombiercertain operations, it didn't get closed automatically. (stream.c) 14987dd7cddfSDavid du Colombier - The LZW-compatible encoding filter reset procedure had an 14997dd7cddfSDavid du Colombierincorrect return type. (slzwce.c) 15007dd7cddfSDavid du Colombier 15017dd7cddfSDavid du ColombierChanges the ASCIIHexEncode filter to insert \ns in fewer places, to be 15027dd7cddfSDavid du Colombiersomewhat more compatible with the Adobe implementation. (sstring.c) 15037dd7cddfSDavid du Colombier 15047dd7cddfSDavid du ColombierAdds PNGPredictorEncode/Decode filters that implement the pixel prediction 15057dd7cddfSDavid du Colombieralgorithms in the PNG specification. (We'd like to use the code in the PNG 15067dd7cddfSDavid du Colombierlibrary, but it's too deeply embedded in the rest of the PNG machinery, and 15077dd7cddfSDavid du Colombierit also doesn't provide for suspendable I/O.) (spngpx.h, spngp.c) 15087dd7cddfSDavid du Colombier 15093ff48bf5SDavid du Colombier</pre><h3><a name="V3.68_Library"></a>Library</h3><pre> 15107dd7cddfSDavid du Colombier 15117dd7cddfSDavid du ColombierFixes bugs: 15127dd7cddfSDavid du Colombier - A test for pure color was backwards, causing garbage output or 15137dd7cddfSDavid du Colombierpossible address or floating point exceptions. (gxclpath.c) 15147dd7cddfSDavid du Colombier - A macro containing an if-else could cause incorrect grouping of 15157dd7cddfSDavid du Colombier'if' statements. (gsrefct.h) 15167dd7cddfSDavid du Colombier - The default implementation of RasterOp didn't handle the device 15177dd7cddfSDavid du Colombierdepth correctly. (gdevmrop.c) 15187dd7cddfSDavid du Colombier - The memory device implementation of RasterOp truncated 24-bit 15197dd7cddfSDavid du Colombierconstant source or texture values to 8 bits. (gdevmrop.c) 15207dd7cddfSDavid du Colombier - A typo caused the garbage collector to miss an internal buffer 15217dd7cddfSDavid du Colombierused when rendering images. (gximage.h) 15227dd7cddfSDavid du Colombier - gs_debug_out was only defined if DEBUG was set. (gdebug.h) 15237dd7cddfSDavid du Colombier - The raster of horizontally replicated tiles was incorrect. 15247dd7cddfSDavid du Colombier(gxht.c) 15257dd7cddfSDavid du Colombier - A data type might not be declared, causing a compilation error. 15267dd7cddfSDavid du Colombier(gscoord.h) 15277dd7cddfSDavid du Colombier - Empty TrueType glyphs weren't handled properly. (gstype42.c) 15287dd7cddfSDavid du Colombier - Fonts with a build procedure written in C could cause an invalid 15297dd7cddfSDavid du Colombiermemory access. (gschar.c) 15307dd7cddfSDavid du Colombier - The initial point of a band list path sometimes didn't get 15317dd7cddfSDavid du Colombierwritten, causing excess or missing filled regions. (gxclpath.c) 15327dd7cddfSDavid du Colombier - Characters between 49 and 56 bits wide were rendered incorrectly 15337dd7cddfSDavid du Colombierwhen banding. (gxclbits.c) 15347dd7cddfSDavid du Colombier 15357dd7cddfSDavid du ColombierRenames gsimage*.c as gximage*.c, to reflect more accurately the position of 15367dd7cddfSDavid du Colombierthese files in the architecture. (gsimage*.c, gximage*.c) 15377dd7cddfSDavid du Colombier 15387dd7cddfSDavid du ColombierFully implements the high-level bitmap image calls in the driver API. This 15397dd7cddfSDavid du Colombierincludes some driver API changes; however, this part of the API was clearly 15407dd7cddfSDavid du Colombierdocumented as not stable enough to rely on. (gxdevice.h, gximage.h, 15417dd7cddfSDavid du Colombiergdevbbox.c, gdevddrw.c, gdevnfwd.c, gsimage.c, gximage*.c) 15427dd7cddfSDavid du Colombier 15437dd7cddfSDavid du ColombierSplits the color space header into client and implementation, as with many 15447dd7cddfSDavid du Colombierothers. (gscspace.h, gxcspace.h, gximage.h, gscie.c, gscolor.c, gscolor1.c, 15457dd7cddfSDavid du Colombiergscolor2.c, gscsepr.c, gsimage.c, gspcolor.c, gsstate.c, gxcmap.c, 15467dd7cddfSDavid du Colombiergxpcmap.c) 15477dd7cddfSDavid du Colombier 15487dd7cddfSDavid du ColombierExtends band lists to handle high-level images. NOTE: This facility is 15497dd7cddfSDavid du Colombierpatched out because there is not yet a way to pass the necessary color 15507dd7cddfSDavid du Colombierrendering information through the band list. (gxcldev.h, gxclist.h, 15517dd7cddfSDavid du Colombiergxclpath.h, gxclimag.c, gxclist.c, gxclpath.c, gxclread.c) 15527dd7cddfSDavid du Colombier 15537dd7cddfSDavid du ColombierImplements fixed2float and float2fixed more efficiently on machines with 15547dd7cddfSDavid du Colombierslow floating point. (gxfixed.h, gscoord.c, gsmisc.c) 15557dd7cddfSDavid du Colombier 15567dd7cddfSDavid du ColombierMakes one further NON-BACKWARD-COMPATIBLE change in the existing 15577dd7cddfSDavid du Colombierhigher-level driver procedures (fill_path, stroke_path, fill_mask): we make 15587dd7cddfSDavid du Colombierthe imager state pointer an explicit argument, rather than a member of the 15597dd7cddfSDavid du Colombiergx_fill/stroke_params structure. We now consider the specification of these 15607dd7cddfSDavid du Colombierprocedures stable, and have removed the "subject to change" notice from the 15617dd7cddfSDavid du Colombierdocumentation. (gxdevice.h, gxpaint.h, gdevbbox.c, gdevnfwd.c, gxacpath.c, 15627dd7cddfSDavid du Colombiergxclpath.c, gxclread.c, gxfill.c, gxpaint.c, gxstroke.c) 15637dd7cddfSDavid du Colombier 15647dd7cddfSDavid du ColombierExtends halftone bitmaps to include "strip" and "shift" information, 15657dd7cddfSDavid du Colombierallowing halftone cells with arbitrary angles to be stored in space 15667dd7cddfSDavid du Colombierproportional to the number of bits in the cell rather than the square of the 15677dd7cddfSDavid du Colombiernumber of bits. This requires adding new (optional) strip_tile_rectangle 15687dd7cddfSDavid du Colombierand strip_copy_rop driver procedures that are like tile_rectangle and 15697dd7cddfSDavid du Colombiercopy_rop respectively but accept a strip bitmap rather than an ordinary 15707dd7cddfSDavid du Colombiertile; these procedures supersede tile_rectangle and copy_rop (although these 15717dd7cddfSDavid du Colombieralso remain, defined in terms of the new ones). This also requires making 15727dd7cddfSDavid du Colombiersmall but NON-BACKWARD-COMPATIBLE changes in several internal interfaces. 15737dd7cddfSDavid du Colombier(gdevmem.h, gdevprn.h, gsdcolor.h, gxbcache.h, gxbitmap.h, gxcldev.h, 15747dd7cddfSDavid du Colombiergxclip2.h, gxclist.h, gxdevice.h, gxdevrop.h, gxdht.h, gxfcache.h, 15757dd7cddfSDavid du Colombiergxhttile.h, gxpcolor.h, gzht.h; gdevabuf.c, gdevbbox.c, gdevdflt.c, 15767dd7cddfSDavid du Colombiergdevm*.c, gdevmpla.c, gdevmrop.c, gdevnfwd.c, gsht.c, gsht1.c, gshtscr.c, 15777dd7cddfSDavid du Colombiergspcolor.c, gsstate.c, gxcht.c, gxclbits.c, gxclip2.c, gxclist.c, 15787dd7cddfSDavid du Colombiergxclpath.c, gxclread.c, gxcpath.c, gxdcolor.c, gxdither.c, gxht.c, 15797dd7cddfSDavid du Colombiergximage2.c, gxpcmap.c, ...) 15807dd7cddfSDavid du Colombier 15817dd7cddfSDavid du ColombierAdds "no join" as a line join type. NOTE: this is not actually implemented 15827dd7cddfSDavid du Colombieryet. (gslparam.h) 15837dd7cddfSDavid du Colombier 15847dd7cddfSDavid du ColombierChanges the initialization code so that it passes the system allocator as an 15857dd7cddfSDavid du Colombierargument to module initialization procedures. While this is theoretically a 15867dd7cddfSDavid du ColombierNON-BACKWARD-COMPATIBLE change, module initialization procedures are not 15877dd7cddfSDavid du Colombierdocumented and presumably are not used by any code outside the 15887dd7cddfSDavid du Colombierimplementation. (gscdefs.h, gconf.c, gdevmrop.c, gsinit.c, gxclimag.c, 15897dd7cddfSDavid du Colombiergxclpath.c) 15907dd7cddfSDavid du Colombier 15917dd7cddfSDavid du ColombierSplits up gs_lib_init into two procedures, allowing specification of a 15927dd7cddfSDavid du Colombierdifferent default allocator for the library. (gslib.h, gsinit.c) 15937dd7cddfSDavid du Colombier 15947dd7cddfSDavid du ColombierAdds a resize_object operation to the allocator API. (gsmemory.h, 15957dd7cddfSDavid du Colombiergsalloc.c, gsmemory.c) 15967dd7cddfSDavid du Colombier 15973ff48bf5SDavid du Colombier</pre> 15987dd7cddfSDavid du Colombier 15993ff48bf5SDavid du Colombier<h2><a name="Version3.67"></a>Version 3.67 (limited) (4/12/96)</h2> 16003ff48bf5SDavid du Colombier 16013ff48bf5SDavid du Colombier<p> 16027dd7cddfSDavid du ColombierThis release restructures the MS Windows and OS/2 code to be primarily DLL- 16037dd7cddfSDavid du Colombierrather than EXE-based. See under Platforms below for more news. This 16047dd7cddfSDavid du Colombierrelease was put out in a hurry in order to get the new DLL code into 16057dd7cddfSDavid du Colombiertesters' hands; it has more rough edges than usual. 16067dd7cddfSDavid du Colombier 16073ff48bf5SDavid du Colombier<h3><a name="V3.67_Documentation"></a>Documentation</h3><pre> 16087dd7cddfSDavid du ColombierFixes bugs: 16097dd7cddfSDavid du Colombier - A definition & use comment was incorrect. (scanchar.h) 16107dd7cddfSDavid du Colombier - William Bader's e-mail address was wrong. (README) 16117dd7cddfSDavid du Colombier 16127dd7cddfSDavid du ColombierAdds documentation for the new begin_image, image_data, and end_image 16137dd7cddfSDavid du Colombierprocedures. THIS INTERFACE IS STILL SUBJECT TO CHANGE. (drivers.doc) 16147dd7cddfSDavid du Colombier 16153ff48bf5SDavid du Colombier</pre><h3><a name="V3.67_Procedures"></a>Procedures</h3><pre> 16167dd7cddfSDavid du Colombier 16177dd7cddfSDavid du ColombierRenames all the *core.dev modules as *lib.dev. (int.mak, *lib.mak, vms.mak, 16187dd7cddfSDavid du Colombiergdevmrop.c) 16197dd7cddfSDavid du Colombier 16207dd7cddfSDavid du ColombierUpdates all the remaining makefiles to IJG JPEG version 6a. (*.mak) 16217dd7cddfSDavid du Colombier 16227dd7cddfSDavid du ColombierMoves the configuration parameter definitions from gconf.c to a new file 16237dd7cddfSDavid du Colombiergscdefs.c. (bcwin*.mak, *lib.mak, gs.mak, int.mak, lib.mak, unixtail.mak, 16247dd7cddfSDavid du Colombiervms.mak, gconf.c, gscdefs.c) 16257dd7cddfSDavid du Colombier 16263ff48bf5SDavid du Colombier</pre><h3><a name="V3.67_Platforms"></a>Platforms</h3><pre> 16277dd7cddfSDavid du Colombier 16287dd7cddfSDavid du ColombierRestructures the MS Windows and OS/2 code to be primarily DLL- rather than 16297dd7cddfSDavid du ColombierEXE-based. This involves two minor NON-BACKWARD-COMPATIBLE changes to the DLL 16307dd7cddfSDavid du Colombierinterface, documented near the end of dll.doc: 16317dd7cddfSDavid du Colombier 16327dd7cddfSDavid du Colombier - Adding argv and argc as arguments to gsdll_init. 16337dd7cddfSDavid du Colombier 16347dd7cddfSDavid du Colombier - Adding a new message type, GSDLL_POLL, to the callback procedure. 16357dd7cddfSDavid du Colombier 16367dd7cddfSDavid du Colombier(bcwin*.mak, devs.mak, os2.mak, dll.doc, install.doc, dw*.*, gsdll*.*, 16377dd7cddfSDavid du Colombiergdevms*.*, gdevpm.c, gdevw*.c, gp_mswin.c, gp_os2.c, gsos2.def, gswin.rc) 16387dd7cddfSDavid du Colombier 16397dd7cddfSDavid du ColombierAdds the BMP drivers to the Watcom platform. (watc.mak) 16407dd7cddfSDavid du Colombier 16413ff48bf5SDavid du Colombier</pre><h3><a name="V3.67_Interpreter"></a>Interpreter</h3><pre> 16427dd7cddfSDavid du Colombier 16437dd7cddfSDavid du ColombierFixes bugs: 16447dd7cddfSDavid du Colombier - gs.c assumed the presence of stdio. (gs.c) 16457dd7cddfSDavid du Colombier 16467dd7cddfSDavid du ColombierDefines a new API entry point that is the equivalent of command line 16477dd7cddfSDavid du Colombierinvocation. (imain.h, imainarg.h, gs.c) 16487dd7cddfSDavid du Colombier 16497dd7cddfSDavid du ColombierChanges clients to conform to the changes in gsimage.h. (zimage2.c, 16507dd7cddfSDavid du Colombierzpaint.c) 16517dd7cddfSDavid du Colombier 16527dd7cddfSDavid du ColombierSpeeds up the search operator slightly. (zstring.c) 16537dd7cddfSDavid du Colombier 16543ff48bf5SDavid du Colombier</pre><h3><a name="V3.67_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 16557dd7cddfSDavid du Colombier 16567dd7cddfSDavid du ColombierFixes bugs: 16577dd7cddfSDavid du Colombier - If the PDF interpreter was present, running a PostScript file 16587dd7cddfSDavid du Colombierdidn't close the file properly if it caused an error. (pdf_main.ps) 16597dd7cddfSDavid du Colombier 16607dd7cddfSDavid du ColombierSpeeds up embedded font loading by making an internal buffer bigger. 16617dd7cddfSDavid du Colombier(pdf_font.ps) 16627dd7cddfSDavid du Colombier 16633ff48bf5SDavid du Colombier</pre><h3><a name="V3.67_Library"></a>Library</h3><pre> 16647dd7cddfSDavid du Colombier 16657dd7cddfSDavid du ColombierFixes bugs: 16667dd7cddfSDavid du Colombier - There could be some non-zero garbage between the width and the 16677dd7cddfSDavid du Colombiernext multiple of bitmap_align_mod for copy_alpha. (The driver API 16687dd7cddfSDavid du Colombierspecification explicitly allows this, but it upset one customer.) 16697dd7cddfSDavid du Colombier(gxccman.c) 16707dd7cddfSDavid du Colombier - Nibble-swapped alpha values could be displaced in memory by one 16717dd7cddfSDavid du Colombierpixel, damaging the output. (gdevabuf.c) 16727dd7cddfSDavid du Colombier 16737dd7cddfSDavid du ColombierMakes further changes towards adding high-level bitmap image calls to the 16747dd7cddfSDavid du Colombierdriver API. This includes the following minor NON-BACKWARD-COMPATIBLE 16757dd7cddfSDavid du Colombierchanges to the interface defined in gsimage.h: 16767dd7cddfSDavid du Colombier 16777dd7cddfSDavid du Colombier - changing MultipleDataSources from a member of the gs_image_t 16787dd7cddfSDavid du Colombier structure to an argument of gs_image_init; 16797dd7cddfSDavid du Colombier 16807dd7cddfSDavid du Colombier - changing the default image parameter values from constant 16817dd7cddfSDavid du Colombier structures to procedures that initialize the structure. 16827dd7cddfSDavid du Colombier 16837dd7cddfSDavid du ColombierAs far as we know, this doesn't affect any existing client code. 16847dd7cddfSDavid du Colombier(gsimage.h, gsiparam.h, gxdevice.h, gdevddrw.c, gdevnfwd.c, gsimage.c, 16857dd7cddfSDavid du Colombiergspcolor.c, gxccache.c) 16867dd7cddfSDavid du Colombier 16877dd7cddfSDavid du ColombierRemoves an unnecessary level of call for path filling. (gxpaint.h, 16887dd7cddfSDavid du Colombiergxfill.c, gxpaint.c) 16897dd7cddfSDavid du Colombier 16903ff48bf5SDavid du Colombier</pre> 16917dd7cddfSDavid du Colombier 16923ff48bf5SDavid du Colombier<h2><a name="Version3.66"></a>Version 3.66 (limited) (4/8/96)</h2> 16933ff48bf5SDavid du Colombier 16943ff48bf5SDavid du Colombier<p> 16957dd7cddfSDavid du ColombierThis release adds support for TrueType fonts and Type 42 (encapsulated 16967dd7cddfSDavid du ColombierTrueType) PostScript fonts. The MS Windows driver now interacts properly 16977dd7cddfSDavid du Colombierwith the garbage collector. This release also includes a new, high-quality 16987dd7cddfSDavid du Colombierset of free fonts. 16997dd7cddfSDavid du Colombier 17003ff48bf5SDavid du Colombier<h3><a name="V3.66_Documentation"></a>Documentation</h3><pre> 17017dd7cddfSDavid du ColombierFixes bugs: 17027dd7cddfSDavid du Colombier - The list of generic makefiles had gotten out of date. (make.doc) 17037dd7cddfSDavid du Colombier 17047dd7cddfSDavid du ColombierAdds a mention of the bmv program, created by a user and available under the 17057dd7cddfSDavid du ColombierGPL. (README) 17067dd7cddfSDavid du Colombier 17077dd7cddfSDavid du ColombierNotes that a bug in gcc 2.7.x prevents these versions from compiling 17087dd7cddfSDavid du ColombierGhostscript. (make.doc) 17097dd7cddfSDavid du Colombier 17107dd7cddfSDavid du ColombierClarifies the meaning of "inverted" masks. (gsimage.h) 17117dd7cddfSDavid du Colombier 17127dd7cddfSDavid du ColombierImproves the documentation of the stack sizing parameters. (interp.c) 17137dd7cddfSDavid du Colombier 17147dd7cddfSDavid du ColombierImproves the documentation of the copy_rop driver procedure. 17157dd7cddfSDavid du Colombier(drivers.doc) 17167dd7cddfSDavid du Colombier 17177dd7cddfSDavid du ColombierNotes that all subclasses of gx_device must explicitly include the 17187dd7cddfSDavid du Colombierdevice_finalize finalization procedure. (gxdevice.h) 17197dd7cddfSDavid du Colombier 17207dd7cddfSDavid du ColombierUpdates the documentation of the high-level driver API to reflect the change 17217dd7cddfSDavid du Colombierin gx_drawing_color, and the addition of the new polygon and image drawing 17227dd7cddfSDavid du Colombierprocedures. (drivers.doc) 17237dd7cddfSDavid du Colombier 17247dd7cddfSDavid du ColombierUpdates the documentation for building zlib and libpng. (make.doc) 17257dd7cddfSDavid du Colombier 17263ff48bf5SDavid du Colombier</pre><h3><a name="V3.66_Procedures"></a>Procedures</h3><pre> 17277dd7cddfSDavid du Colombier 17287dd7cddfSDavid du ColombierFixes bugs: 17297dd7cddfSDavid du Colombier - The environment space overflowed on some inferior Unix systems. 17307dd7cddfSDavid du Colombier(unixtail.mak) 17317dd7cddfSDavid du Colombier 17327dd7cddfSDavid du ColombierAdds a ttfont.dev "feature" for including the TrueType interpreter and the 17337dd7cddfSDavid du Colombierability to handle Type 42 fonts. A new procedure, .loadttfont, allows 17347dd7cddfSDavid du Colombierloading a TrueType font directly (by converting it to a Type 42 on the fly). 17357dd7cddfSDavid du Colombier(gs.mak, int.mak, lib.mak) 17367dd7cddfSDavid du Colombier 17377dd7cddfSDavid du ColombierUpdates the makefiles and procedures to libpng 0.88 and zlib 1.0. 17387dd7cddfSDavid du Colombier(libpng.mak, zlib.mak) 17397dd7cddfSDavid du Colombier 17403ff48bf5SDavid du Colombier</pre><h3><a name="V3.66_Utilities"></a>Utilities</h3><pre> 17417dd7cddfSDavid du Colombier 17427dd7cddfSDavid du ColombierFixes bugs: 17437dd7cddfSDavid du Colombier - pdf2ps could produce lines longer than 255 characters. 17447dd7cddfSDavid du Colombier(pdf_2ps.ps) 17457dd7cddfSDavid du Colombier 17467dd7cddfSDavid du ColombierRemoves some unnecessary and error-inviting code from pdf2dsc. (pdf2dsc.ps) 17477dd7cddfSDavid du Colombier 17487dd7cddfSDavid du ColombierUpdates lines.ps to test the new stroke code more fully. (lines.ps) 17497dd7cddfSDavid du Colombier 17507dd7cddfSDavid du ColombierAllows omitting the second argument of ps2pdf, as for ps2epsi. (ps2pdf) 17517dd7cddfSDavid du Colombier 17523ff48bf5SDavid du Colombier</pre><h3><a name="V3.66_Drivers"></a>Drivers</h3><pre> 17537dd7cddfSDavid du Colombier 17547dd7cddfSDavid du ColombierFixes bugs: 17557dd7cddfSDavid du Colombier - A routine was incorrectly declared "private". (I wish gcc caught 17567dd7cddfSDavid du Colombierthis!) (gdevpdf.c) 17577dd7cddfSDavid du Colombier - A 'const' was omitted in a parameter list. (gdevpdfp.c) 17587dd7cddfSDavid du Colombier - Some imported procedures didn't have prototypes declared. 17597dd7cddfSDavid du Colombier(gdevpdft.c) 17607dd7cddfSDavid du Colombier - The ProcSet list for PDF files didn't include Text when it was 17617dd7cddfSDavid du Colombierneeded. (gdevpdfx.h, gdevpdf.c, gdevpdft.c) 17627dd7cddfSDavid du Colombier - Text in PDF output ignored the color setting. (gs_pdfwr.ps, 17637dd7cddfSDavid du Colombiergdevpdft.c) 17647dd7cddfSDavid du Colombier - Text in PDF output could be positioned incorrectly. (gdevpdft.c) 17657dd7cddfSDavid du Colombier - pdfmarks could produce an error when producing PDF output. 17667dd7cddfSDavid du Colombier(gs_pdfwr.ps) 17677dd7cddfSDavid du Colombier 17687dd7cddfSDavid du ColombierSlightly improves the text output of the PDF writer. (gs_pdfwr.ps, 17697dd7cddfSDavid du Colombiergdevpdft.c) 17707dd7cddfSDavid du Colombier 17717dd7cddfSDavid du ColombierDefines driver procedures for filling trapezoids (with the parallel edges 17727dd7cddfSDavid du Colombierparallel to a coordinate axis), parallelograms (with arbitrary orientation), 17737dd7cddfSDavid du Colombiertriangles (ditto), and minimum-width lines (ditto). (Note that the last of 17747dd7cddfSDavid du Colombierthese obsoletes the former draw_line procedure.) (gdevmem.h, gdevprn.h, 17757dd7cddfSDavid du Colombiergxdevice.h, gxdraw.h (deleted), gdevddrw.c, gdevdflt.c, gdevht.c, 17767dd7cddfSDavid du Colombiergdevnfwd.c, gsimage[12345].c, gxacpath.c, gxclist.c, gxclip2.c, gxcpath.c, 17777dd7cddfSDavid du Colombiergxdraw.c (deleted), gxfill.c, gxpcmap.c, gxstroke.c) 17787dd7cddfSDavid du Colombier 17797dd7cddfSDavid du ColombierAdds "sketched" driver procedures for high-level bitmap / pixmap image 17807dd7cddfSDavid du Colombierdrawing. In this release, the argument lists are incomplete, and the 17817dd7cddfSDavid du Colombierprocedures are stubs: don't try to use them! [see previous entry] 17827dd7cddfSDavid du Colombier 17837dd7cddfSDavid du ColombierChanges the screen update strategy for the X Windows driver from a 17847dd7cddfSDavid du Colombiercompile-time option to a settable run-time variable. (gdevx.c) 17857dd7cddfSDavid du Colombier 17867dd7cddfSDavid du ColombierPatches around a problem with libpng 0.88 that can't be fixed without 17877dd7cddfSDavid du Colombierediting a configuration file. (gdevpng.c) 17887dd7cddfSDavid du Colombier 17893ff48bf5SDavid du Colombier</pre><h3><a name="V3.66_Platforms"></a>Platforms</h3><pre> 17907dd7cddfSDavid du Colombier 17917dd7cddfSDavid du ColombierFixes bugs: 17927dd7cddfSDavid du Colombier - %g formats with sscanf don't work on NeXT systems. (gdevpdft.c, 17937dd7cddfSDavid du Colombieriutil.c, zdouble.c) 17947dd7cddfSDavid du Colombier - getenv could be declared inconsistently. (gp_unix.c) 17957dd7cddfSDavid du Colombier 17963ff48bf5SDavid du Colombier</pre><h3><a name="V3.66_Fonts"></a>Fonts</h3><pre> 17977dd7cddfSDavid du Colombier 17987dd7cddfSDavid du ColombierFixes bugs: 17997dd7cddfSDavid du Colombier - The Type 1 font interpreter sometimes set the flatness too large. 18007dd7cddfSDavid du Colombier(gstype1.c) 18017dd7cddfSDavid du Colombier - Fonts defined by definefont could never be garbage collected. 18027dd7cddfSDavid du Colombier(gsstruct.h, gxfcache.h, gxfont.h, gxfont0.h, gxfont1.h, gsfont.c, 18037dd7cddfSDavid du Colombiergsfont0.c) 18047dd7cddfSDavid du Colombier - Type 0 fonts weren't garbage collected properly. (gsfont0.c) 18057dd7cddfSDavid du Colombier - Compiled fonts caused a compilation error (bug introduced in 18067dd7cddfSDavid du Colombier3.65). (ifont.h) 18077dd7cddfSDavid du Colombier - If a Type 1 font used hint replacement, hints could be applied 18087dd7cddfSDavid du Colombiermore than once, distorting the character shape. (gxtype1.h, gxhint3.c) 18097dd7cddfSDavid du Colombier - Oversampling wasn't applied to large enough characters. 18107dd7cddfSDavid du Colombier(gschar.c) 18117dd7cddfSDavid du Colombier 18123ff48bf5SDavid du Colombier</pre><h3><a name="V3.66_Interpreter"></a>Interpreter</h3><pre> 18137dd7cddfSDavid du Colombier 18147dd7cddfSDavid du ColombierFixes bugs: 18157dd7cddfSDavid du Colombier - The scanner accepted /[, /], /<<, and />> as literal names (and 18167dd7cddfSDavid du Colombiersimilarly for //). It isn't obvious from the Red Book, but the Adobe 18177dd7cddfSDavid du Colombierimplementations don't accept these. What a nuisance! (gs_btokn.ps, 18187dd7cddfSDavid du Colombiergs_init.ps, pdf_2ps.ps, pdf_base.ps, pdf_main.ps, iscan.c) 18197dd7cddfSDavid du Colombier - A spurious stackoverflow could occur under unusual conditions. 18207dd7cddfSDavid du Colombier(istack.c) 18217dd7cddfSDavid du Colombier - The values of OrigFont and ScaleMatrix in scaled fonts reflected 18227dd7cddfSDavid du Colombieronly the most recent scaling operation, not the original font and the 18237dd7cddfSDavid du Colombiercombined scaling operation. (zfont.c) 18247dd7cddfSDavid du Colombier - The default size of systemdict had become slightly too small. 18257dd7cddfSDavid du Colombier(iinit.c) 18267dd7cddfSDavid du Colombier - Type 1 characters defined by PostScript procedures were called 18277dd7cddfSDavid du Colombierincorrectly. (zcharout.c) 18287dd7cddfSDavid du Colombier 18297dd7cddfSDavid du ColombierRemoves the papersize operator from statusdict, since it is not documented 18307dd7cddfSDavid du Colombieranywhere in the Adobe literature and didn't interact properly with the 18317dd7cddfSDavid du Colombiervarious ways of setting the page size. (gs_statd.ps) 18327dd7cddfSDavid du Colombier 18337dd7cddfSDavid du ColombierChanges the one client of sskip to match the changed API. (zpaint.c) 18347dd7cddfSDavid du Colombier 18357dd7cddfSDavid du ColombierChanges clients to reflect the creation of sstring.h. (iscan.h, zfilter.c) 18367dd7cddfSDavid du Colombier 18377dd7cddfSDavid du ColombierAdds PSStringEncode as an accessible filter. (zfilter.c) 18387dd7cddfSDavid du Colombier 18397dd7cddfSDavid du ColombierAdds support for TrueType and Type 42 fonts. (gs_fonts.ps, gs_ttf.ps, 18407dd7cddfSDavid du Colombiergs_typ42.ps, bfont.h, icharout.h, ifont.h, zchar1.c, zchar42.c, zcharout.c, 18417dd7cddfSDavid du Colombierzfont1.c, zfont2.c, zfont42.c) 18427dd7cddfSDavid du Colombier 18437dd7cddfSDavid du ColombierAdds a few ANSI sheet sizes (commented out, for documentation only). 18447dd7cddfSDavid du Colombier(gs_statd.ps) 18457dd7cddfSDavid du Colombier 18463ff48bf5SDavid du Colombier</pre><h3><a name="V3.66_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 18477dd7cddfSDavid du Colombier 18487dd7cddfSDavid du ColombierFixes bugs: 18497dd7cddfSDavid du Colombier - Clients who called pdfopen/close rather than runpdf could get an 18507dd7cddfSDavid du Colombiererror (PSLevel1 undefined). (pdf_main.ps) 18517dd7cddfSDavid du Colombier - Some masked images were displayed with black and white inverted. 18527dd7cddfSDavid du Colombier(gs_pdf.ps) 18537dd7cddfSDavid du Colombier - In Level 1 output produced by pdf2ps, images caused a syntaxerror. 18547dd7cddfSDavid du Colombier(gs_pdf.ps) 18557dd7cddfSDavid du Colombier - If a PDF file had multiple xref sections and later sections added 18567dd7cddfSDavid du Colombiernew objects, an error occurred. (pdf_main.ps) 18577dd7cddfSDavid du Colombier - Some very old Level 1 interpreters couldn't deal with a file 18587dd7cddfSDavid du Colombierobject embedded in a procedure. (gs_pdf.ps) 18597dd7cddfSDavid du Colombier 18603ff48bf5SDavid du Colombier</pre><h3><a name="V3.66_Streams"></a>Streams</h3><pre> 18617dd7cddfSDavid du Colombier 18627dd7cddfSDavid du ColombierFixes bugs: 18637dd7cddfSDavid du Colombier - The PSStringEncode filter didn't always produce printable 7-bit 18647dd7cddfSDavid du Colombieroutput. (sstring.c) 18657dd7cddfSDavid du Colombier - The CCITTFaxDecode filter didn't implement DamagedRowsBeforeError. 18667dd7cddfSDavid du Colombier(scfx.h, scfd.c) 18677dd7cddfSDavid du Colombier - Interpolated images displayed nothing if the data stream ended 18687dd7cddfSDavid du Colombierbefore the image height was reached. (siscale.h, gsimage5.c, siscale.c) 18697dd7cddfSDavid du Colombier 18707dd7cddfSDavid du ColombierChanges the sskip stream procedure so that it takes an additional argument 18717dd7cddfSDavid du Colombierwhere it returns the actual number of bytes skipped. THIS IS A 18727dd7cddfSDavid du ColombierNON-BACKWARD-COMPATIBLE CHANGE in the API. However, as far as we know, 18737dd7cddfSDavid du Colombierthere are no external clients of this procedure. (stream.h, stream.c) 18747dd7cddfSDavid du Colombier 18757dd7cddfSDavid du ColombierSplits up sfilter.h so that the headers correspond more directly with the 18767dd7cddfSDavid du Colombierimplementations. (sfilter.h, sstring.h, sstring.c) 18777dd7cddfSDavid du Colombier 18783ff48bf5SDavid du Colombier</pre><h3><a name="V3.66_Library"></a>Library</h3><pre> 18797dd7cddfSDavid du Colombier 18807dd7cddfSDavid du ColombierFixes bugs: 18817dd7cddfSDavid du Colombier - The default device in the library configuration was device 1, not 18827dd7cddfSDavid du Colombierdevice 0. (bclib.mak, ugcclib.mak, watclib.mak, gslib.c) 18837dd7cddfSDavid du Colombier - Patterns could be rendered with small gaps between them. 18847dd7cddfSDavid du Colombier(gspcolor.c) 18857dd7cddfSDavid du Colombier - Large characters could render inaccurately because of a numerical 18867dd7cddfSDavid du Colombierboundary condition. (gxpcopy.c) 18877dd7cddfSDavid du Colombier - The show_gstate pointer in the graphics state was not managed 18887dd7cddfSDavid du Colombierproperly, possibly leading to dangling pointers or GC errors. (gsstate.c) 18897dd7cddfSDavid du Colombier - Bitmaps could get shifted to the left if ALPHA_LSB_FIRST was 18907dd7cddfSDavid du Colombierselected (bug introduced in 3.53). (gsbitops.c) 18917dd7cddfSDavid du Colombier - The garbage collector could move devices in memory, causing 18927dd7cddfSDavid du Colombierproblems with command list devices. (gxdevice.h, gsdevice.c) 18937dd7cddfSDavid du Colombier 18947dd7cddfSDavid du ColombierContinues restructuring the image handling code in preparation for adding a 18957dd7cddfSDavid du Colombierhigh-level driver operation. (gsimage[12345].c) 18967dd7cddfSDavid du Colombier 18977dd7cddfSDavid du ColombierStarts to implement passing color mapping information (transfer function, 18987dd7cddfSDavid du Colombierblack generation, undercolor removal, CRD, halftoning) in the band list. 18997dd7cddfSDavid du Colombier(gxfmap.h, gscolor.c, gscolor1.c, gsht1.c, gsstate.c) 19007dd7cddfSDavid du Colombier 19017dd7cddfSDavid du ColombierSpeeds up the path filling code a little more. (gxdraw.c) 19027dd7cddfSDavid du Colombier 19037dd7cddfSDavid du ColombierRemoves the workaround for the gcc 2.7.0/1/2 optimizer bug, since this 19047dd7cddfSDavid du Colombierturned out to cause more trouble than it was worth. (stdpre.h) 19057dd7cddfSDavid du Colombier 19067dd7cddfSDavid du ColombierSpeeds up stroking dramatically for the case of butt or square caps, bevel 19077dd7cddfSDavid du Colombieror beveled miter joins, and no fill adjustment, by filling parallelograms 19087dd7cddfSDavid du Colombierand triangles directly rather than constructing and filling paths. This is 19097dd7cddfSDavid du Colombieran important common case for CAD drawings. (gxdraw.h, gxdraw.c, gxstroke.c) 19107dd7cddfSDavid du Colombier 19117dd7cddfSDavid du ColombierAdds support for TrueType and Type 42 fonts. (gxfont.h, gxfont42.h, 19127dd7cddfSDavid du Colombiergstype42.c) 19137dd7cddfSDavid du Colombier 19147dd7cddfSDavid du ColombierExtends the memory manager to allow allocating objects that the garbage 19157dd7cddfSDavid du Colombiercollector won't move. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE for 19167dd7cddfSDavid du Colombierimplementors of memory managers, but clients aren't supposed to have any of 19177dd7cddfSDavid du Colombierthese. (gsmemory.h, gsmemory.c, gsalloc.c) 19187dd7cddfSDavid du Colombier 19197dd7cddfSDavid du ColombierMakes dynamically created instances of registered devices immovable. 19207dd7cddfSDavid du Colombier(gsdevice.c) 19217dd7cddfSDavid du Colombier 19227dd7cddfSDavid du ColombierUnifies gx_drawing_color with (makes it equivalent to) gx_device_color. 19237dd7cddfSDavid du ColombierTHIS IS A NON-BACKWARD-COMPATIBLE CHANGE for implementors of the 19247dd7cddfSDavid du Colombierhigher-level driver procedures (fill_path, stroke_path, fill_mask). We 19257dd7cddfSDavid du Colombierregret that this was necessary, but the documentation in drivers.doc does 19267dd7cddfSDavid du Colombierwarn the reader: "DO NOT ASSUME THESE OPERATIONS WILL REMAIN UNCHANGED IN 19277dd7cddfSDavid du ColombierFUTURE RELEASES." These three procedures, at least, should now be stable. 19287dd7cddfSDavid du Colombier(gsdcolor.h, gxcindex.h, gxdcolor.h, gxdevice.h, gximage.h, gxpaint.h, 19297dd7cddfSDavid du Colombiergxpcolor.h, gdevdflt.c, gdevpdf.c, gdevpdfi.c, gdevxalt.c, gsimage.c, 19307dd7cddfSDavid du Colombiergsimage2.c, gspcolor.c, gxacpath.c, gxccache.c, gxcht.c, gxclpath.c, 19317dd7cddfSDavid du Colombiergxclread.c, gxdcconv.c, gxdither.c, gxfill.c, gxdraw.c, gxht.c, gxpaint.c, 19327dd7cddfSDavid du Colombiergxpcmap.c, gxstroke.c) 19337dd7cddfSDavid du Colombier 19343ff48bf5SDavid du Colombier</pre> 19357dd7cddfSDavid du Colombier 19363ff48bf5SDavid du Colombier<h2><a name="Version3.65"></a>Version 3.65 (limited) (3/9/96)</h2> 19373ff48bf5SDavid du Colombier 19383ff48bf5SDavid du Colombier<p> 19397dd7cddfSDavid du ColombierThis release adds garbage collection for device instances. ****** NOTE: 19407dd7cddfSDavid du ColombierBecause of changes in memory management, if you are using the MS Windows 19417dd7cddfSDavid du Colombierdriver (mswin), you must run with -dNOGC. This is a temporary problem which 19427dd7cddfSDavid du Colombierwill be fixed before the next beta release. 19437dd7cddfSDavid du Colombier 19443ff48bf5SDavid du Colombier<h3><a name="V3.65_Documentation"></a>Documentation</h3><pre> 19457dd7cddfSDavid du ColombierDocuments the C API equivalent of a -d switch for setting a flag like 19467dd7cddfSDavid du ColombierNOPAUSE. (imain.h) 19477dd7cddfSDavid du Colombier 19487dd7cddfSDavid du ColombierSplits off the NEWS entries for versions 3.0 through 3.33 into a new 19497dd7cddfSDavid du Colombierfile. (history3.doc) 19507dd7cddfSDavid du Colombier 19517dd7cddfSDavid du ColombierAdds a man page for ps2pdf. (ps2pdf.1) 19527dd7cddfSDavid du Colombier 19537dd7cddfSDavid du ColombierDocuments the new memory management aspects of device drivers, and corrects 19547dd7cddfSDavid du Colombiermany other aspects of driver documentation that had become inaccurate. 19557dd7cddfSDavid du Colombier(drivers.doc) 19567dd7cddfSDavid du Colombier 19577dd7cddfSDavid du ColombierUpdates the documentation for the gs_*.ps files. (psfiles.doc) 19587dd7cddfSDavid du Colombier 19597dd7cddfSDavid du ColombierReplaces .type1addpath with .type1execchar. (language.doc) 19607dd7cddfSDavid du Colombier 19617dd7cddfSDavid du ColombierAdds some more documentation on how band lists do read/write switching. 19627dd7cddfSDavid du Colombier(gxclist.h) 19637dd7cddfSDavid du Colombier 19647dd7cddfSDavid du ColombierAdds a reference to the new Genscript program, a free Ghostscript-based 19657dd7cddfSDavid du Colombierreplacement for enscript. (README) 19667dd7cddfSDavid du Colombier 19677dd7cddfSDavid du ColombierNotes that no further changes will be accepted for the gdevcdj.c file, which 19687dd7cddfSDavid du Colombierhas gotten completely out of hand. (gdevcdj.c). 19697dd7cddfSDavid du Colombier 19707dd7cddfSDavid du ColombierDocuments the TextAlphaBits and GraphicsAlphaBits device parameters. 19717dd7cddfSDavid du Colombier(language.doc) 19727dd7cddfSDavid du Colombier 19733ff48bf5SDavid du Colombier</pre><h3><a name="V3.65_Procedures"></a>Procedures</h3><pre> 19747dd7cddfSDavid du ColombierFixes bugs: 19757dd7cddfSDavid du Colombier - gs_pdfwr.ps and pdf2ps.1 weren't installed on Unix systems. 19767dd7cddfSDavid du Colombier(unix-end.mak) 19777dd7cddfSDavid du Colombier - The pdf2ps shell script didn't accept any options. (pdf2ps) 19787dd7cddfSDavid du Colombier - The rule for srle.$(OBJ) incorrectly specified a dependency on 19797dd7cddfSDavid du Colombiersrld.c. (lib.mak) 19807dd7cddfSDavid du Colombier - The rule for command lists didn't include stream.$(OBJ). 19817dd7cddfSDavid du Colombier(lib.mak) 19827dd7cddfSDavid du Colombier - The stack size for one configuration was set too small. 19837dd7cddfSDavid du Colombier(watclib.mak) 19847dd7cddfSDavid du Colombier 19857dd7cddfSDavid du ColombierSpeeds up genconf by eliminating redundant file reading and processing. 19867dd7cddfSDavid du Colombier(genconf.c) 19877dd7cddfSDavid du Colombier 19887dd7cddfSDavid du ColombierMoves the pixel-difference filters from int.mak to lib.mak. (int.mak, 19897dd7cddfSDavid du Colombierlib.mak) 19907dd7cddfSDavid du Colombier 19917dd7cddfSDavid du ColombierMoves the library parts of the HSB color and Level 1 path (arcs, pathbbox, 19927dd7cddfSDavid du Colombierpath enumeration) options from int.mak to lib.mak, and adds them to the 19937dd7cddfSDavid du Colombierlibrary makefiles. (int.mak, lib.mak; bclib.mak. ugcclib.mak, watclib.mak) 19947dd7cddfSDavid du Colombier 19953ff48bf5SDavid du Colombier</pre><h3><a name="V3.65_Utilities"></a>Utilities</h3><pre> 19967dd7cddfSDavid du Colombier 19977dd7cddfSDavid du ColombierFixes bugs: 19987dd7cddfSDavid du Colombier - pdf2ps would fail if it encountered a font with a standard 19997dd7cddfSDavid du Colombierencoding. (pdf_2ps.ps) 20007dd7cddfSDavid du Colombier 20017dd7cddfSDavid du ColombierAdds new switches to pdf2ps: 20027dd7cddfSDavid du Colombier -dPSBinaryOK allows writing binary image data in the output. 20037dd7cddfSDavid du Colombier(pdf_2ps.ps) 20047dd7cddfSDavid du Colombier -dPSLevel1 forces Level 1 compatible output. (int.mak, 20057dd7cddfSDavid du Colombierunix-end.mak, gs_l2img.ps, gs_pdf.ps, pdf_2ps.ps, pdf_main.ps) 20067dd7cddfSDavid du Colombier -dPSNoProcSet causes the ProcSet to be loaded at run time, not at 20077dd7cddfSDavid du Colombierconversion time -- primarily useful for debugging. (pdf_2ps.ps) 20087dd7cddfSDavid du Colombier 20097dd7cddfSDavid du ColombierAdds a utility for viewing PCX files, so we can preview high-resolution 20107dd7cddfSDavid du Colombieroutput in a reasonable compressed format. (unix-end.mak, viewpcx.ps) 20117dd7cddfSDavid du Colombier 20123ff48bf5SDavid du Colombier</pre><h3><a name="V3.65_Drivers"></a>Drivers</h3><pre> 20137dd7cddfSDavid du Colombier 20147dd7cddfSDavid du ColombierFixes bugs: 20157dd7cddfSDavid du Colombier - Some compilers require an extra #include to define structures even 20167dd7cddfSDavid du Colombierif they are only referenced by pointers. (int.mak, gdevpdf.c, gdevpdfp.c) 20177dd7cddfSDavid du Colombier - A procedure name was duplicated. (gdevpdfi.c) 20187dd7cddfSDavid du Colombier - A pdfmark between a gsave and a grestore could cause a 20197dd7cddfSDavid du Colombierrangecheck error. (gdevpdfp.c) 20207dd7cddfSDavid du Colombier - A pdfmark between a gsave and a grestore could cause the 20217dd7cddfSDavid du Colombiergrestore to do an inappropriate initgraphics. (gs_pdfwr.ps) 20227dd7cddfSDavid du Colombier - The pdfwrite driver could reinitialize the output file 20237dd7cddfSDavid du Colombierunpredictably. (gdevpdfp.c) 20247dd7cddfSDavid du Colombier - The PCX drivers didn't clear padding bytes at the ends of scan 20257dd7cddfSDavid du Colombierlines. (gdevpcx.c) 20267dd7cddfSDavid du Colombier - The PCX drivers didn't set the "version" field correctly (this was 20277dd7cddfSDavid du ColombierOK in 2.6.1, bug introduced sometime since then). (gdevpcx.c) 20287dd7cddfSDavid du Colombier - Whoever last touched the color inkjet drivers completely broke the 20297dd7cddfSDavid du Colombierhandling of the BitsPerPixel parameter, again. We were able to half-fix it, 20307dd7cddfSDavid du Colombierbut the code is impossible to understand, let alone modify safely. 20317dd7cddfSDavid du Colombier(gdevcdj.c) 20327dd7cddfSDavid du Colombier - Anti-aliased characters didn't work with banding. (gxclpath.c) 20337dd7cddfSDavid du Colombier - The PGM/PPM drivers didn't recognize black-and-white pages for 20347dd7cddfSDavid du Colombieroptimization to PBM, only gray or colored. (gdevpbm.c) 20357dd7cddfSDavid du Colombier - The color inkjet drivers initialized the params_size field of the 20367dd7cddfSDavid du Colombierstatic instance incorrectly, resulting in garbage in the last few structure 20377dd7cddfSDavid du Colombiermembers when instances were copied. (gdevcdj.c) 20387dd7cddfSDavid du Colombier - The 24-bit PCX driver didn't pad each scan line to an even number 20397dd7cddfSDavid du Colombierof bytes. (gdevpcx.c) 20407dd7cddfSDavid du Colombier - The svga16 driver initialized its procedures incorrectly. 20417dd7cddfSDavid du Colombier(gdevpcfb.c) 20427dd7cddfSDavid du Colombier 20437dd7cddfSDavid du ColombierAdds text writing capability to the PDF writer. In its present form, this 20447dd7cddfSDavid du Colombieris a very bad hack: it only works for the 14 built-in fonts with their 20457dd7cddfSDavid du Colombierstandard encodings. (gdevpdfx.h, gdevpdf.c, gdevpdfp.c, gdevpdft.c) 20467dd7cddfSDavid du Colombier 20477dd7cddfSDavid du ColombierAdds garbage collection and finalization for device instances (gscdefs.h, 20487dd7cddfSDavid du Colombiergsdevice.h, gxdevice.h, gconf.c, gdevmrop.c, gsdevice.c, gslib.c, gsmain.c). 20497dd7cddfSDavid du Colombier(See the "Driver instance allocation" section of drivers.doc for more 20507dd7cddfSDavid du Colombierdetails about what is required to make this work.) 20517dd7cddfSDavid du Colombier 20527dd7cddfSDavid du Colombier - When an open device is freed (explicitly, by garbage collection, 20537dd7cddfSDavid du Colombieror by 'restore'), if the device was allocated dynamically by Ghostscript's 20547dd7cddfSDavid du Colombierstandard allocator, the device's close procedure will be called. THIS IS A 20557dd7cddfSDavid du ColombierNON-BACKWARD-COMPATIBLE CHANGE for dynamically created devices, which 20567dd7cddfSDavid du Colombierformerly were not closed automatically, even when Ghostscript exited. 20577dd7cddfSDavid du Colombier 20587dd7cddfSDavid du Colombier - Device instances allocated in GC-able space will be traced 20597dd7cddfSDavid du Colombierlike other objects, assuming they have proper structure descriptors. 20607dd7cddfSDavid du Colombier 20617dd7cddfSDavid du ColombierProvides a (very slow but correct) default implementation of copy_alpha. 20627dd7cddfSDavid du Colombier(gxcindex.h, gdevdflt.c, gsimage4.c) 20637dd7cddfSDavid du Colombier 20647dd7cddfSDavid du ColombierRemoves the implementation of copy_alpha in gdevpbm.c, since this is now 20657dd7cddfSDavid du Colombierimplemented (more efficiently) in gdevm24.c. (gdevpbm.c) 20667dd7cddfSDavid du Colombier 20677dd7cddfSDavid du ColombierAdds TextAlphaBits and GraphicsAlphaBits as readable parameters for all 20687dd7cddfSDavid du Colombierdevices. (gsdparam.c, gdevpbm.c, gdevsvga.c) 20697dd7cddfSDavid du Colombier 20703ff48bf5SDavid du Colombier</pre><h3><a name="V3.65_Platforms"></a>Platforms</h3><pre> 20717dd7cddfSDavid du Colombier 20727dd7cddfSDavid du ColombierFixes bugs: 20737dd7cddfSDavid du Colombier - There were some attempts to coerce long to short pointers 20747dd7cddfSDavid du Colombieron segmented platforms. (gsdparam.c, gstype1.c) 20757dd7cddfSDavid du Colombier - The stack could overflow on the 16-bit MS Windows platform. 20767dd7cddfSDavid du Colombier(gxfill.c, gxclread.c) 20777dd7cddfSDavid du Colombier - The DLL callback parameter for window resize events was computed 20787dd7cddfSDavid du Colombierincorrectly on 16-bit systems. (gdevwdib.c) 20797dd7cddfSDavid du Colombier - A file included gxdevice.h unnecessarily. (bcwin.mak, 20807dd7cddfSDavid du Colombierbcwin32.mak, msvcwint.mak, gp_mswin.c) 20817dd7cddfSDavid du Colombier 20823ff48bf5SDavid du Colombier</pre><h3><a name="V3.65_Interpreter"></a>Interpreter</h3><pre> 20837dd7cddfSDavid du Colombier 20847dd7cddfSDavid du ColombierFixes bugs: 20857dd7cddfSDavid du Colombier - Storing into a read-only dictionary with def or store was 20867dd7cddfSDavid du Colombierallowed. (dstack.h) 20877dd7cddfSDavid du Colombier - If the interpreter allocated extra space for a dictionary 20887dd7cddfSDavid du Colombierto round its storage size up to a power of 2, it was possible for 20897dd7cddfSDavid du Colombierlength to exceed maxlength. (idict.c, iinit.c) 20907dd7cddfSDavid du Colombier - The if and ifelse operators didn't check that their 20917dd7cddfSDavid du Colombier'procedure' arguments were actually procedures. (interp.c, zcontrol.c) 20927dd7cddfSDavid du Colombier - The undef operator was defined even in Level 1 20937dd7cddfSDavid du Colombierconfigurations. (We need this capability for all configurations, so 20947dd7cddfSDavid du Colombierwe always define .undef.) (zdict.c, gs_*.ps, pdf_*.ps) 20957dd7cddfSDavid du Colombier - In Level 1 configurations, copying a dictionary should copy the 20967dd7cddfSDavid du Colombieraccess attributes, but it didn't. We have to work around this 20977dd7cddfSDavid du Colombiercompatibility quirk in a lot of places. (gs_cidfn.ps, gs_cmap.ps, 20987dd7cddfSDavid du Colombiergs_dps1.ps, gs_fonts.ps, gs_init.ps, gs_l2img.ps, gs_lev2.ps, gs_pdf.ps, 20997dd7cddfSDavid du Colombiergs_pfile.ps, gs_res.ps, gs_setpd.ps, gs_type1.ps, zdict.c) 21007dd7cddfSDavid du Colombier - DSC comments that crossed a buffer boundary didn't call the 21017dd7cddfSDavid du Colombierscan_dsc_proc. (iscan.c) 21027dd7cddfSDavid du Colombier - "statusdict /setpage get exec" caused an error. (gs_statd.ps) 21037dd7cddfSDavid du Colombier - The default size of systemdict had become slightly too small. 21047dd7cddfSDavid du Colombier(iinit.c) 21057dd7cddfSDavid du Colombier - Doing a showpage or copypage would cause the equivalent of a 21067dd7cddfSDavid du Colombiersetpagedevice at the next restore or grestore. We aren't entirely sure that 21077dd7cddfSDavid du Colombierthe fix we made doesn't have bad side-effects. (gs_setpd.ps) 21087dd7cddfSDavid du Colombier - Not all filters accepted (and ignored) an optional dictionary 21097dd7cddfSDavid du Colombierparameter on the stack. (ifilter.h, zfbcp.c, zfdecode.c, zfilter.c, 21107dd7cddfSDavid du Colombierzfilterx.c, zfzlib.c, zmisc1.c) 21117dd7cddfSDavid du Colombier - The PixelDifference filters required a Columns parameter, rather 21127dd7cddfSDavid du Colombierthan defaulting it to 1. (spdiffx.h, zfdecode.c) 21137dd7cddfSDavid du Colombier - Contrary to the NEWS entry for release 3.60, the LZW filters did 21147dd7cddfSDavid du Colombiernot implement pixel differencing. (zfdecode.c, zfilter2.c) 21157dd7cddfSDavid du Colombier - readstring with a 0-length string didn't signal a rangecheck. 21167dd7cddfSDavid du ColombierThis doesn't make a lot of sense to me, but it's what the Adobe 21177dd7cddfSDavid du Colombierdocumentation specifies. Unfortunately, we have to work around this in a 21187dd7cddfSDavid du Colombiernumber of places that assumed the sensible definition (return () true 21197dd7cddfSDavid du Colombierwithout reading anything). (gs_l2img.ps, pdf_font.ps, zfileio.c) 21207dd7cddfSDavid du Colombier - Encoded number strings didn't work (bug introduced in 3.64). 21217dd7cddfSDavid du Colombier(ibnum.c) 21227dd7cddfSDavid du Colombier - The allocator could produce spurious "free large 0x...... chunk 21237dd7cddfSDavid du Colombiernot found" messages. (These didn't cause any harm, but they were 21247dd7cddfSDavid du Colombierdisturbing.) (gsalloc.c) 21257dd7cddfSDavid du Colombier 21267dd7cddfSDavid du ColombierChanges the default transfer function for high-resolution devices so 21277dd7cddfSDavid du Colombierthat it is the identity function if the device is continuous-tone. 21287dd7cddfSDavid du Colombier(gs_init.ps) 21297dd7cddfSDavid du Colombier 21307dd7cddfSDavid du ColombierUndoes the "subversion" of zgetdevice noted in release 3.61, since it 21317dd7cddfSDavid du Colombieris now possible to copy devices safely. (zdevice.c) 21327dd7cddfSDavid du Colombier 21337dd7cddfSDavid du ColombierChanges the implementation of the garbage collector and restore so that 21347dd7cddfSDavid du Colombierobject finalization code may safely free objects. (igc.c, isave.c) 21357dd7cddfSDavid du Colombier 21367dd7cddfSDavid du ColombierReimplements essentially all of Type 1 BuildChar in C. (gs_init.ps, 21377dd7cddfSDavid du Colombiergs_type0.ps (deleted), gs_type1.ps, ifont.h, zchar.c, zchar1.c, zfont.c) 21387dd7cddfSDavid du Colombier 21397dd7cddfSDavid du ColombierReimplements DISKFONTS as a separate feature (diskfont.dev), and changes it 21407dd7cddfSDavid du Colombierto use Type 4 fonts rather than special machinery. Currently this feature 21417dd7cddfSDavid du Colombieris included only in the makefiles for 16-bit architectures. (bc.mak, 21427dd7cddfSDavid du Colombierbcwin.mak, int.mak, tc.mak, gs_diskf.ps, gs_fonts.ps, gs_type1.ps) 21437dd7cddfSDavid du Colombier 21447dd7cddfSDavid du ColombierConverts the library search path from a list of strings to a (PostScript) 21457dd7cddfSDavid du Colombierarray of strings, one string per directory. (iminst.h, main.h, gs.c, 21467dd7cddfSDavid du Colombiergsmain.c, zfile.c) 21477dd7cddfSDavid du Colombier 21487dd7cddfSDavid du ColombierAdds a hook procedure scan_comment_proc for processing all comments, 21497dd7cddfSDavid du Colombiersimilar to scan_dsc_proc. If both are set, scan_comment_proc is used only 21507dd7cddfSDavid du Colombierfor non-DSC comments. (iscan.h, iscan.c) 21517dd7cddfSDavid du Colombier 21523ff48bf5SDavid du Colombier</pre><h3><a name="V3.65_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 21537dd7cddfSDavid du Colombier 21547dd7cddfSDavid du ColombierFixes bugs: 21557dd7cddfSDavid du Colombier - Encrypted PDF files produced a random error (usually ioerror in 21567dd7cddfSDavid du Colombier--token--) rather than a meaningful message. (pdf_main.ps) 21577dd7cddfSDavid du Colombier - Color space setting didn't work. (gs_pdf.ps) 21587dd7cddfSDavid du Colombier - The algorithm for skipping a possible blank line following the 21597dd7cddfSDavid du Colombier'stream' keyword wasn't robust enough. (We aren't sure the new algorithm is 21607dd7cddfSDavid du Colombierexactly right, either.) (pdf_base.ps) 21617dd7cddfSDavid du Colombier 21627dd7cddfSDavid du ColombierGets rid of the special handling of the LZW decoding filter, since the 21637dd7cddfSDavid du Colombierfilter itself now handles the Predictor facility. (pdf_base.ps) 21647dd7cddfSDavid du Colombier 21653ff48bf5SDavid du Colombier</pre><h3><a name="V3.65_Streams"></a>Streams</h3><pre> 21667dd7cddfSDavid du Colombier 21677dd7cddfSDavid du ColombierFixes bugs: 21687dd7cddfSDavid du Colombier - Configurations with LZW encoding but not decoding had an 21697dd7cddfSDavid du Colombierundefined reference. (lib.mak, slzwc.c, slzwd.c) 21707dd7cddfSDavid du Colombier - The LZW-compatible encoder didn't provide a 'reset' procedure. 21717dd7cddfSDavid du Colombier(slzwce.c) 21727dd7cddfSDavid du Colombier - The PixelDifference filters didn't work for most parameter 21737dd7cddfSDavid du Colombiercombinations in which each pixel took up more than 1 byte. (spdiff.c) 21747dd7cddfSDavid du Colombier - Temporary write streams could cause an infinite loop. (We only 21757dd7cddfSDavid du Colombierneed such streams for the Predictor = 2 case of LZWEncode: this is why the 21767dd7cddfSDavid du Colombierbug never showed up before.) (stream.c) 21777dd7cddfSDavid du Colombier 21787dd7cddfSDavid du ColombierAdds an optional reinitialization procedure to the stream template. Note 21797dd7cddfSDavid du Colombierthat this is not the same as the PostScript 'reset' operation or the stream 21807dd7cddfSDavid du Colombierresetting operation invoked by sreset: the reinit procedure in the template 21817dd7cddfSDavid du Colombierreinitializes any internal state of the encoder or decoder without affecting 21827dd7cddfSDavid du Colombierbuffered data. (scommon.h, strimpl.h, sbcp.c, sbhc.c, slzwce.c, slzwd.c, 21837dd7cddfSDavid du Colombierslzwe.c, smtf.c, spdiff.c, srle.c) ****** NOT DONE YET: sbwbs.c, szlibd.c, 21847dd7cddfSDavid du Colombierszlibe.c 21857dd7cddfSDavid du Colombier 21867dd7cddfSDavid du ColombierAdds a decoding stream for the run-length compression used in PCX. 21877dd7cddfSDavid du Colombier(spcxx.h, spcxd.c) 21887dd7cddfSDavid du Colombier 21893ff48bf5SDavid du Colombier</pre><h3><a name="V3.65_Library"></a>Library</h3><pre> 21907dd7cddfSDavid du Colombier 21917dd7cddfSDavid du ColombierFixes bugs: 21927dd7cddfSDavid du Colombier - A recent edit introduced an extraneous right parenthesis. 21937dd7cddfSDavid du Colombier(gpcheck.h) 21947dd7cddfSDavid du Colombier - A minor nit in a macro could cause incorrect grouping of 'if' 21957dd7cddfSDavid du Colombierstatements under implausible conditions. (gsmdebug.h) 21967dd7cddfSDavid du Colombier - The first data plane buffer of an image enumerator didn't get 21977dd7cddfSDavid du Colombiermarked during garbage collection. (gsimage.c) 21987dd7cddfSDavid du Colombier - The Watcom C compiler required splitting up a declaration. 21997dd7cddfSDavid du Colombier(gxcmap.h) 22007dd7cddfSDavid du Colombier - The extern declarations for the tables in gconf.c weren't gathered 22017dd7cddfSDavid du Colombiertogether in one place. (gscdefs.h, gxiodev.h, gconf.c, gsdevice.c, gslib.c, 22027dd7cddfSDavid du Colombiergsinit.c, gsiodev.c) 22037dd7cddfSDavid du Colombier - charpath and show produced different output. We fixed this by 22047dd7cddfSDavid du Colombierundoing a "bug fix", introduced in version 2.9, which suppressed hinting and 22057dd7cddfSDavid du Colombiercoordinate rounding for charpath; we aren't sure this won't cause some 22067dd7cddfSDavid du Colombierobscure problems to reappear. (gstype1.c) 22077dd7cddfSDavid du Colombier - Clipping with a rectangle usually created a 3-rectangle clipping 22087dd7cddfSDavid du Colombierlist, slowing down all drawing operations (performance bug only). 22097dd7cddfSDavid du Colombier(gxacpath.c) 22107dd7cddfSDavid du Colombier - stroking in a rotated coordinate system sometimes thought lines 22117dd7cddfSDavid du Colombierwere always thin when they actually weren't. (gxstroke.c) 22127dd7cddfSDavid du Colombier - An unsigned quantity wasn't properly converted to signed, possibly 22137dd7cddfSDavid du Colombiercausing band path coordinates to get mangled. (gxclread.c) 22147dd7cddfSDavid du Colombier - A bug in the Borland compiler caused an unsigned quantity to be 22157dd7cddfSDavid du Colombierinterpreted as signed, causing band path coordinates to get mangled. 22167dd7cddfSDavid du Colombier(gxclread.c) 22177dd7cddfSDavid du Colombier 22187dd7cddfSDavid du ColombierChanges structure type pointers on 16-bit segmented systems to full 22197dd7cddfSDavid du Colombier32-bit pointers. This will increase time and space requirements very 22207dd7cddfSDavid du Colombierslightly on these systems. (gsmemory.h, gxobj.h) 22217dd7cddfSDavid du Colombier 22227dd7cddfSDavid du ColombierChanges the memory manager so that object finalization code may safely free 22237dd7cddfSDavid du Colombierobjects. (gsmemory.h, gsstruct.h, gsalloc.c, gsmemory.c) 22247dd7cddfSDavid du Colombier 22257dd7cddfSDavid du ColombierRefactors the Type 1 CharString interpreter so it can be included in 22267dd7cddfSDavid du Colombierthe imager library. (gstype1.h, gxtype1.h, gstype1.c) 22277dd7cddfSDavid du Colombier 22287dd7cddfSDavid du ColombierStarts to refactor the implementation of band lists in memory so that it can 22297dd7cddfSDavid du Colombieruse any encoding/decoding filter. Currently this choice is made at compile 22307dd7cddfSDavid du Colombiertime, but it could easily be made dynamic. (gxclmem.h, gxclmem.c) 22317dd7cddfSDavid du Colombier 22327dd7cddfSDavid du ColombierStarts to refactor image rendering so that, like path filling and stroking, 22337dd7cddfSDavid du Colombierit only uses imager state and can be done after banding. (gxcmap.h, 22347dd7cddfSDavid du Colombiergxdraw.h, gximage.h, gsimage*.c, gxcmap.c) 22357dd7cddfSDavid du Colombier 22367dd7cddfSDavid du ColombierSpeeds up copy_mono for 2-bit-per-pixel devices a little. (gdevm2.c) 22377dd7cddfSDavid du Colombier 22387dd7cddfSDavid du ColombierImplements an optimized copy_alpha for 24-bit memory devices. (gdevmem.h, 22397dd7cddfSDavid du Colombiergdevm24.c) 22407dd7cddfSDavid du Colombier 22417dd7cddfSDavid du ColombierSpeeds up filling rectangles significantly. (gsbitops.c) 22427dd7cddfSDavid du Colombier 22437dd7cddfSDavid du ColombierChanges the band list rasterizer to use the memory space of the device 22447dd7cddfSDavid du Colombierrather than the C heap: our allocator is considerably faster than malloc. 22457dd7cddfSDavid du Colombier(gxclread.c) 22467dd7cddfSDavid du Colombier 22477dd7cddfSDavid du ColombierSpeeds up stroking a little, especially in 90 degree rotated coordinate 22487dd7cddfSDavid du Colombiersystems. (gxstroke.c) 22497dd7cddfSDavid du Colombier 22503ff48bf5SDavid du Colombier</pre> 22517dd7cddfSDavid du Colombier 22523ff48bf5SDavid du Colombier<h2><a name="Version3.64"></a>Version 3.64 (limited, incremental) (1/27/96)</h2> 22533ff48bf5SDavid du Colombier 22543ff48bf5SDavid du Colombier<p> 22557dd7cddfSDavid du ColombierThis release fixes a few more bugs, including some serious bugs in band 22567dd7cddfSDavid du Colombierlists, and adds pdfmark processing to the PDF writer. The PDF writer is 22577dd7cddfSDavid du Colombierstill not fit for real use, since it converts all text characters into 720 22587dd7cddfSDavid du Colombierdpi bitmaps and turns images into zillions of tiny rectangles (!), but it 22597dd7cddfSDavid du Colombiershould be producing legal output. 22607dd7cddfSDavid du Colombier 22613ff48bf5SDavid du Colombier<h3><a name="V3.64_Documentation"></a>Documentation</h3><pre> 22627dd7cddfSDavid du ColombierFixes bugs: 22637dd7cddfSDavid du Colombier - Frans van Hoesel's e-mail address was incorrect. (gdevdjet.c) 22647dd7cddfSDavid du Colombier - The man page for ansi2knr was out of date. (ansi2knr.1) 22657dd7cddfSDavid du Colombier - The description of a procedure was out of date. (gxdcolor.h) 22667dd7cddfSDavid du Colombier 22677dd7cddfSDavid du ColombierNotes that several "optional" features are required in order to obtain the 22687dd7cddfSDavid du Colombierfull PostScript Level 1 functionality at the library level. (lib.doc) 22697dd7cddfSDavid du Colombier 22707dd7cddfSDavid du ColombierDocuments the top-level interpreter API. (imain.h) 22717dd7cddfSDavid du Colombier 22727dd7cddfSDavid du ColombierAdds details on differences between the imager API and the PostScript 22737dd7cddfSDavid du Colombiergraphics operators. (lib.doc) 22747dd7cddfSDavid du Colombier 22757dd7cddfSDavid du ColombierNotes (here, in NEWS) that the change for device prototypes in 3.61 made the 22767dd7cddfSDavid du Colombierprotection attributes of a device significant for the first time. Only the 22777dd7cddfSDavid du Colombierwritable attribute is significant so far. (news) 22787dd7cddfSDavid du Colombier 22793ff48bf5SDavid du Colombier</pre><h3><a name="V3.64_Procedures"></a>Procedures</h3><pre> 22807dd7cddfSDavid du Colombier 22817dd7cddfSDavid du ColombierFixes bugs: 22827dd7cddfSDavid du Colombier - The .dev rules in the library makefiles didn't list echogs as a 22837dd7cddfSDavid du Colombierdependency. (jpeg.mak, libpng.mak, zlib.mak) 22847dd7cddfSDavid du Colombier - The install rule tried to install gs.1.1 etc. rather than gs.1 22857dd7cddfSDavid du Colombieretc. (unix-end.mak) 22867dd7cddfSDavid du Colombier - The install rule tried to install some nonexistent *.1 files. 22877dd7cddfSDavid du Colombier(unix-end.mak) 22887dd7cddfSDavid du Colombier 22897dd7cddfSDavid du ColombierAdds 'help' and '?' procedures to assist users who don't read the 22907dd7cddfSDavid du Colombierdocumentation. (gs_init.ps) 22917dd7cddfSDavid du Colombier 22927dd7cddfSDavid du ColombierAdds -A-, -E-, and -Z-... to turn off debugging flags. (gs.c) 22937dd7cddfSDavid du Colombier 22947dd7cddfSDavid du ColombierAdds a -dDELAYBIND switch to delay binding operators, to allow special 22957dd7cddfSDavid du Colombierpackages like pstotext to redefine them. (gs_init.ps) 22967dd7cddfSDavid du Colombier 22973ff48bf5SDavid du Colombier</pre><h3><a name="V3.64_Utilities"></a>Utilities</h3><pre> 22987dd7cddfSDavid du Colombier 22997dd7cddfSDavid du ColombierFixes bugs: 23007dd7cddfSDavid du Colombier - Fonts produced by rollconv.ps left a couple of items on the 23017dd7cddfSDavid du Colombieroperand stack, and left array packing set to true. (rollconv.ps) 23027dd7cddfSDavid du Colombier 23037dd7cddfSDavid du ColombierMakes ansi2knr require that the first token after a function header be a 23047dd7cddfSDavid du Colombierleft brace on the next line, so it can cope with some macros in IJG release 23057dd7cddfSDavid du Colombier6a. Also updates it to work better without the GNU configure machinery, and 23067dd7cddfSDavid du Colombieron some old compilers. (ansi2knr.c) 23077dd7cddfSDavid du Colombier 23087dd7cddfSDavid du ColombierChanges align.ps so it can be used directly to determine the margin 23097dd7cddfSDavid du Colombierparameters. (align.ps, psfiles.doc) 23107dd7cddfSDavid du Colombier 23113ff48bf5SDavid du Colombier</pre><h3><a name="V3.64_Drivers"></a>Drivers</h3><pre> 23127dd7cddfSDavid du Colombier 23137dd7cddfSDavid du ColombierFixes bugs: 23147dd7cddfSDavid du Colombier - The TIFF/F (G3 and G4) drivers were broken (bug introduced in 23157dd7cddfSDavid du Colombier3.60). (gdevtfax.c) 23167dd7cddfSDavid du Colombier - The PDF writer produced invalid output for 0-width, 0-height 23177dd7cddfSDavid du Colombierimages. (gdevpdfi.c) 23187dd7cddfSDavid du Colombier - The PDF writer wasn't a page device. (gdevpdf.c) 23197dd7cddfSDavid du Colombier - The PDF writer assigned the Contents node rather than the Pages 23207dd7cddfSDavid du Colombiernode as the Parent of each page. (gdevpdfx.h, gdevpdf.c) 23217dd7cddfSDavid du Colombier 23227dd7cddfSDavid du ColombierCorrects the margin information for the DeskJet printers to be the actual 23237dd7cddfSDavid du Colombiervalues observed on a printer; all of the values in the file were wrong. 23247dd7cddfSDavid du Colombier(gdevdjet.c) 23257dd7cddfSDavid du Colombier 23267dd7cddfSDavid du ColombierAdds pdfmark recognition and conversion to the PDF writer. All documented 23277dd7cddfSDavid du Colombierpdfmarks (ANN, ARTICLE, DEST, DOCINFO, DOCVIEW, LNK, OUT, PAGE, PAGES, PS) 23287dd7cddfSDavid du Colombierare recognized and converted, but some of them are not converted correctly. 23297dd7cddfSDavid du Colombier(gs_pdfwr.ps, gdevpdfx.h, gdevpdf.c, gdevpdfm.c) 23307dd7cddfSDavid du Colombier 23317dd7cddfSDavid du ColombierAdds recognition of all Distiller parameters, except *ImageDict, to the PDF 23327dd7cddfSDavid du Colombierwriter. Currently only ASCII85EncodePages actually has any effect. 23337dd7cddfSDavid du Colombier(gs_pdfwr.ps, gdevpdfx.h, gdevpdfp.c) 23347dd7cddfSDavid du Colombier 23357dd7cddfSDavid du ColombierEnsures that PDF output files include at least a default Info dictionary. 23367dd7cddfSDavid du Colombier(gdevpdf.c) 23377dd7cddfSDavid du Colombier 23387dd7cddfSDavid du ColombierChanges the handling of coordinates in PDF output files so that the scale is 23397dd7cddfSDavid du Colombieralways 72 dpi, and so that each graphics operator is on a line by itself, 23407dd7cddfSDavid du Colombierfor compatibility with Adobe Illustrator. (gdevpdfx.h, gdevpdf*.c) 23417dd7cddfSDavid du Colombier 23427dd7cddfSDavid du ColombierAdds a driver for ImageMagick's MIFF format. The driver currently only 23437dd7cddfSDavid du Colombierproduces 24-bit, direct color, RLE compressed output. (gdevmiff.c) 23447dd7cddfSDavid du Colombier 23453ff48bf5SDavid du Colombier</pre><h3><a name="V3.64_Platforms"></a>Platforms</h3><pre> 23467dd7cddfSDavid du Colombier 23477dd7cddfSDavid du ColombierChanges the gp_check_interrupts platform procedure so that instead of just 23487dd7cddfSDavid du Colombierreturning a Boolean, it can now also return a negative error code. THIS IS 23497dd7cddfSDavid du Colombier(THEORETICALLY) A NON-BACKWARD-COMPATIBLE CHANGE. However, since all 23507dd7cddfSDavid du Colombierimplementations of this procedure should only have been returning 0 or 1 up 23517dd7cddfSDavid du Colombierto now, no existing code should need to be changed. (gpcheck.h, gsmisc.c) 23527dd7cddfSDavid du Colombier 23533ff48bf5SDavid du Colombier</pre><h3><a name="V3.64_Interpreter"></a>Interpreter</h3><pre> 23547dd7cddfSDavid du Colombier 23557dd7cddfSDavid du ColombierFixes bugs: 23567dd7cddfSDavid du Colombier - devicenames was accidentally deleted. (gs_init.ps) 23577dd7cddfSDavid du Colombier - -dFAKEFONTS could cause the memory manager to waste a lot of time. 23587dd7cddfSDavid du Colombier(gs_dps1.ps) 23597dd7cddfSDavid du Colombier - Using -r or -dFIXEDMEDIA with a non-page device caused an error. 23607dd7cddfSDavid du Colombier(gs_init.ps) 23617dd7cddfSDavid du Colombier - A VMS compiler reserves the word "readonly", which was used as a 23627dd7cddfSDavid du Colombierparameter name. (imain.h, gsmain.c) 23637dd7cddfSDavid du Colombier - A garbage collection during the execution of x/y/xyshow with an 23647dd7cddfSDavid du Colombierarray providing the values could get confused. (ibnum.h, ichar.h, stream.h, 23657dd7cddfSDavid du Colombieribnum.c, iscanbin.c, zchar.c, zchar2.c, zdps1.c, zupath.c) 23667dd7cddfSDavid du Colombier - Errors in encoded number strings produced a typecheck rather than 23677dd7cddfSDavid du Colombiera rangecheck error. (ibnum.c, zupath.c) 23687dd7cddfSDavid du Colombier 23697dd7cddfSDavid du ColombierUpdates the DCT filters for IJG release 6a. (zfdctc.c) 23707dd7cddfSDavid du Colombier 23717dd7cddfSDavid du ColombierProvides an API call for getting the real stdio files. (imain.h, 23727dd7cddfSDavid du Colombiergs.c, gsmain.c) 23737dd7cddfSDavid du Colombier 23743ff48bf5SDavid du Colombier</pre><h3><a name="V3.64_Streams"></a>Streams</h3><pre> 23757dd7cddfSDavid du Colombier 23767dd7cddfSDavid du ColombierFixes bugs: 23777dd7cddfSDavid du Colombier - If the CCITTFaxEncode stream encountered an output buffer boundary 23787dd7cddfSDavid du Colombierwhile processing the last scan line of input, it could fail to process some 23797dd7cddfSDavid du Colombierthe scan line. (scfe.c) 23807dd7cddfSDavid du Colombier - A couple of pointers weren't always initialized, possibly 23817dd7cddfSDavid du Colombierconfusing the garbage collector. (stream.c) 23827dd7cddfSDavid du Colombier - The weighting coefficient structures used for image scaling 23837dd7cddfSDavid du Colombierweren't declared properly for the garbage collector. (siscale.h, siscale.c) 23847dd7cddfSDavid du Colombier 23853ff48bf5SDavid du Colombier</pre><h3><a name="V3.64_Library"></a>Library</h3><pre> 23867dd7cddfSDavid du Colombier 23877dd7cddfSDavid du ColombierFixes bugs: 23887dd7cddfSDavid du Colombier - Unrotated patterns always used the bounding box size as the step, 23897dd7cddfSDavid du Colombierrather than XStep/YStep. (gspcolor.c) 23907dd7cddfSDavid du Colombier - Alpha computations for graphics could be seriously incorrect (bug 23917dd7cddfSDavid du Colombierintroduced in 3.6x). (gdevabuf.c) 23927dd7cddfSDavid du Colombier - The length of the next_data_x command for the fill_mask operation 23937dd7cddfSDavid du Colombierwas incorrect, causing the band list to become confused (bug introduced in 23947dd7cddfSDavid du Colombier3.63). (gxclpath.c) 23957dd7cddfSDavid du Colombier - An extern was omitted, causing linker warnings. (gxdevice.h) 23967dd7cddfSDavid du Colombier - RasterOps could cause an invalid access because the palette 23977dd7cddfSDavid du Colombierfor a memory device wasn't set. (gdevmrop.c) 23987dd7cddfSDavid du Colombier - gximage.h was included unnecessarily. (gspaint.c) 23997dd7cddfSDavid du Colombier - Color screens caused a segmentation fault (bug introduced in 24007dd7cddfSDavid du Colombier3.6x). (gxcht.c) 24017dd7cddfSDavid du Colombier - cshow returned the width in an incorrect coordinate system. 24027dd7cddfSDavid du Colombier(gscoord.h, gschar.c) 24037dd7cddfSDavid du Colombier - Filling or stroking a path that lay entirely off the page in the 24047dd7cddfSDavid du Colombier+X or +Y direction could corrupt memory (bug introduced in 3.6x). 24057dd7cddfSDavid du Colombier(gxclpath.c) 24067dd7cddfSDavid du Colombier - When banding, painting characters with halftones produced random 24077dd7cddfSDavid du Colombierresults (bug introduced in 3.6x). (gxclpath.c) 24087dd7cddfSDavid du Colombier - When banding, characters could get clipped when they shouldn't be 24097dd7cddfSDavid du Colombier(bug introduced in 3.6x). (gxclpath.c) 24107dd7cddfSDavid du Colombier - The default implementation of fill_mask could discard clipped 24117dd7cddfSDavid du Colombierbitmaps (bug introduced in 3.6x). (gdevdflt.c) 24127dd7cddfSDavid du Colombier - Non-halftoned 24-bit colors could get garbled when banding (bug 24137dd7cddfSDavid du Colombierintroduced in 3.6x). (gxclist.c) 24147dd7cddfSDavid du Colombier - When banding, if a stroked path had subpaths that fell entirely 24157dd7cddfSDavid du Colombieroutside the current band, the rest of the path was drawn in the wrong place 24167dd7cddfSDavid du Colombier(bug introduced in 3.6x). (gxclpath.c) 24177dd7cddfSDavid du Colombier 24187dd7cddfSDavid du ColombierSpeeds up image interpolation on machines with slow floating point. 24197dd7cddfSDavid du Colombier(siscale.h, siscale.c) 24207dd7cddfSDavid du Colombier 24217dd7cddfSDavid du ColombierSpeeds up interpolated images when using device color spaces. (gxcvalue.h, 24227dd7cddfSDavid du Colombiergxfrac.h, gdevht.c, gxcmap.c, gsimage.c, gsimage3.c) 24237dd7cddfSDavid du Colombier 24247dd7cddfSDavid du ColombierSpeeds up color mapping a little by removing tests and calls in favor of 24257dd7cddfSDavid du Colombiercode copying. (gxcmap.c) 24267dd7cddfSDavid du Colombier 24277dd7cddfSDavid du ColombierImplements RasterOp for 24-bit RGB devices. (gdevm8.c, gdevm24.c, 24287dd7cddfSDavid du Colombiergdevmrop.c) 24297dd7cddfSDavid du Colombier 24303ff48bf5SDavid du Colombier</pre> 24317dd7cddfSDavid du Colombier 24323ff48bf5SDavid du Colombier<h2><a name="Version3.63"></a>Version 3.63 (limited, incremental) (1/14/96)</h2> 24333ff48bf5SDavid du Colombier 24343ff48bf5SDavid du Colombier<p> 24357dd7cddfSDavid du ColombierThis release has the usual collection of bug fixes, and two significant 24367dd7cddfSDavid du Colombieradditions: AccurateScreens, and the first draft of a PostScript->PDF 24377dd7cddfSDavid du Colombierconverter ("distiller"). 24387dd7cddfSDavid du Colombier 24393ff48bf5SDavid du Colombier<h3><a name="V3.63_Documentation"></a>Documentation</h3><pre> 24407dd7cddfSDavid du ColombierFixes bugs: 24417dd7cddfSDavid du Colombier - Some documentation for pstoppm.ps was out of date. (psfiles.doc) 24427dd7cddfSDavid du Colombier - Documentation for acctest.ps, view*.ps, and zeroline.ps was 24437dd7cddfSDavid du Colombiermissing. (psfiles.doc) 24447dd7cddfSDavid du Colombier - The documentation for rollconv.ps omitted the .CSR file. 24457dd7cddfSDavid du Colombier(rollconv.ps) 24467dd7cddfSDavid du Colombier 24477dd7cddfSDavid du ColombierRemoves an inappropriate RCS Id line. (gs.1) 24487dd7cddfSDavid du Colombier 24497dd7cddfSDavid du ColombierAdds a list of paper sizes to the man page. (gs.1) 24507dd7cddfSDavid du Colombier 24517dd7cddfSDavid du ColombierSuggests that driver authors use parameterization rather than copying when 24527dd7cddfSDavid du Colombierpossible. (drivers.doc) 24537dd7cddfSDavid du Colombier 24547dd7cddfSDavid du ColombierAdds an announcement of Ghostscript support on CompuServe. (README) 24557dd7cddfSDavid du Colombier 24567dd7cddfSDavid du ColombierDocuments the new -dCOLORSCREEN switch and the existing -dDITHERPPI=lpi 24577dd7cddfSDavid du Colombierswitch. (use.doc) 24587dd7cddfSDavid du Colombier 24597dd7cddfSDavid du ColombierNotes that the OS/2 implementation now requires EMX/GCC 0.9b rather than 24607dd7cddfSDavid du Colombier0.9a. (install.doc) 24617dd7cddfSDavid du Colombier 24627dd7cddfSDavid du ColombierAdds some new man pages. (pdf2ps.1, ps2ascii.1) 24637dd7cddfSDavid du Colombier 24647dd7cddfSDavid du ColombierGreatly expands lib.doc. (lib.doc) 24657dd7cddfSDavid du Colombier 24663ff48bf5SDavid du Colombier</pre><h3><a name="V3.63_Procedures"></a>Procedures</h3><pre> 24677dd7cddfSDavid du Colombier 24687dd7cddfSDavid du ColombierFixes bugs: 24697dd7cddfSDavid du Colombier - The pg target for Unix platforms didn't include some necessary 24707dd7cddfSDavid du Colombieradditional X11 libraries. (unix-end.mak) 24717dd7cddfSDavid du Colombier - The Unix library makefile didn't define CCAUX or CCLEAF. 24727dd7cddfSDavid du Colombier(ugcclib.mak) 24737dd7cddfSDavid du Colombier - Unix systems didn't `install' some .ps files. (unix-end.mak) 24747dd7cddfSDavid du Colombier 24757dd7cddfSDavid du ColombierExtends genconf so that features at the library level can have 24767dd7cddfSDavid du Colombierinitialization procedures. (gconf.c, genconf.c, gsinit.c) 24777dd7cddfSDavid du Colombier 24787dd7cddfSDavid du ColombierAdds a -dCOLORSCREEN[=false] switch to force enabling or disabling of 24797dd7cddfSDavid du Colombier4-color screens. (gs_init.ps, gs_setpd.ps) 24807dd7cddfSDavid du Colombier 24813ff48bf5SDavid du Colombier</pre><h3><a name="V3.63_Utilities"></a>Utilities</h3><pre> 24827dd7cddfSDavid du Colombier 24837dd7cddfSDavid du ColombierFixes bugs: 24847dd7cddfSDavid du Colombier - The prfont utility didn't leave enough of a margin on the left. 24857dd7cddfSDavid du Colombier(prfont.ps) 24867dd7cddfSDavid du Colombier - The ps2ascii utility still created files _temp_.out and _temp_.err 24877dd7cddfSDavid du Colombiereven though they are no longer used. (ps2ascii.ps) 24887dd7cddfSDavid du Colombier - The acctest.ps file was empty, rather than including a test 24897dd7cddfSDavid du Colombierprogram. (acctest.ps) 24907dd7cddfSDavid du Colombier 24917dd7cddfSDavid du ColombierAdds ps2pdf[.bat] scripts for invoking the new pdfwrite driver. (ps2pdf, 24927dd7cddfSDavid du Colombierps2pdf.bat, unix-end.mak) 24937dd7cddfSDavid du Colombier 24943ff48bf5SDavid du Colombier</pre><h3><a name="V3.63_Drivers"></a>Drivers</h3><pre> 24957dd7cddfSDavid du Colombier 24967dd7cddfSDavid du ColombierFixes bugs: 24977dd7cddfSDavid du Colombier - The x11alpha driver had a patch that suppressed output in many 24987dd7cddfSDavid du Colombiercases. (gdevxalt.c) 24997dd7cddfSDavid du Colombier - The X driver set up a parameter incorrectly in copy_color. 25007dd7cddfSDavid du Colombier(gdevx.c) 25017dd7cddfSDavid du Colombier - An explicit cast was needed to handle a 'const' problem. 25027dd7cddfSDavid du Colombier(gdevpng.c) 25037dd7cddfSDavid du Colombier 25047dd7cddfSDavid du ColombierAdds a pdfwrite driver that creates syntactically correct PDF output. The 25057dd7cddfSDavid du Colombieroutput is only reasonable for fill/stroke graphics, not for text or images. 25067dd7cddfSDavid du Colombier(iscan.h, sa85x.h, sfilter.h, gdevpdf.c, sfilter2.c, zfdecode.c) 25077dd7cddfSDavid du Colombier 25083ff48bf5SDavid du Colombier</pre><h3><a name="V3.63_Platforms"></a>Platforms</h3><pre> 25097dd7cddfSDavid du Colombier 25107dd7cddfSDavid du ColombierFixes bugs: 25117dd7cddfSDavid du Colombier - The test for WinExec failure on Win32 was incorrect. (gp_mswin.c) 25127dd7cddfSDavid du Colombier - getenv was declared redundantly on OS/2. (gp_os2.c) 25137dd7cddfSDavid du Colombier - gs16spl.c was missing <string.h>. (gs16spl.c) 25147dd7cddfSDavid du Colombier 25153ff48bf5SDavid du Colombier</pre><h3><a name="V3.63_Interpreter"></a>Interpreter</h3><pre> 25167dd7cddfSDavid du Colombier 25177dd7cddfSDavid du ColombierFixes bugs: 25187dd7cddfSDavid du Colombier - Images read data in smaller and smaller increments (performance 25197dd7cddfSDavid du Colombierbug only). (zpaint.c) 25207dd7cddfSDavid du Colombier - Images with MultipleDataSources=true and two or more DataSources 25217dd7cddfSDavid du Colombierreferencing the same stream could get confused. (zpaint.c) 25227dd7cddfSDavid du Colombier - Invoking setpagedevice with an undefined key, even with Policy = 25237dd7cddfSDavid du Colombier1, caused an error. (gs_setpd.ps) 25247dd7cddfSDavid du Colombier - IEEE floats in binary tokens or encoded number strings were read 25257dd7cddfSDavid du Colombierincorrectly on CPUs that use non-IEEE floating point. (ibnum.c) 25267dd7cddfSDavid du Colombier 25277dd7cddfSDavid du ColombierAdds a 'const' to the second parameter of zimage_setup. (zimage2.c, 25287dd7cddfSDavid du Colombierzpaint.c) 25297dd7cddfSDavid du Colombier 25307dd7cddfSDavid du ColombierEncapsulates the filling of free memory blocks in a macro. (igc.c, 25317dd7cddfSDavid du Colombierigcstr.c) 25327dd7cddfSDavid du Colombier 25333ff48bf5SDavid du Colombier</pre><h3><a name="V3.63_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 25347dd7cddfSDavid du Colombier 25357dd7cddfSDavid du ColombierFixes bugs: 25367dd7cddfSDavid du Colombier - If the first line of a file began with % but the line was longer 25377dd7cddfSDavid du Colombierthan 255 characters, an error occurred. (pdf_main.ps) 25387dd7cddfSDavid du Colombier - Masked images didn't set the color before drawing. (gs_pdf.ps) 25397dd7cddfSDavid du Colombier - Extraneous blank lines in the trailer or cross-reference region 25407dd7cddfSDavid du Colombiercaused an error. (pdf_base.ps, pdf_main.ps) 25417dd7cddfSDavid du Colombier 25423ff48bf5SDavid du Colombier</pre><h3><a name="V3.63_Streams"></a>Streams</h3><pre> 25437dd7cddfSDavid du Colombier 25447dd7cddfSDavid du ColombierSpeeds up image interpolation a little. Much more could be still be done. 25457dd7cddfSDavid du Colombier(siscale.c) 25467dd7cddfSDavid du Colombier 25473ff48bf5SDavid du Colombier</pre><h3><a name="V3.63_Library"></a>Library</h3><pre> 25487dd7cddfSDavid du Colombier 25497dd7cddfSDavid du ColombierFixes bugs: 25507dd7cddfSDavid du Colombier - An error in handling a boundary condition could cause a horizontal 25517dd7cddfSDavid du Colombierstreak of pixels to be turned on or off when it shouldn't be. (gxfill.c) 25527dd7cddfSDavid du Colombier - The new scan-line-based filling loop could write pixels twice. 25537dd7cddfSDavid du Colombier(The old trapezoid-based loop still does write pixels twice.) (gxfill.c) 25547dd7cddfSDavid du Colombier - For multi-plane images, gs_image_next only sets *pused for the 25557dd7cddfSDavid du Colombierlast plane; this wasn't documented. (gsimage.h) 25567dd7cddfSDavid du Colombier - Images with MultipleDataSources=true and two or more DataSources 25577dd7cddfSDavid du Colombierreferencing the same stream could get confused. (gsimage.h, gsimage0.c) 25587dd7cddfSDavid du Colombier - 12-bit gray images caused an invalid memory access. (gsimage.c) 25597dd7cddfSDavid du Colombier - Nearly-zero-thickness lines didn't get filled, because the hack 25607dd7cddfSDavid du Colombierthat compensates for this peculiarity of the MS Windows PostScript driver 25617dd7cddfSDavid du Colombieraccidentally got disabled. (gxfill.c) 25627dd7cddfSDavid du Colombier - Some casts to remove 'const' were omitted. (gxclread.c) 25637dd7cddfSDavid du Colombier - 1-line-high bitmaps could get written in the band list with an 25647dd7cddfSDavid du Colombierinconsistent number of bytes, causing errors when reading. (gxcldev.h, 25657dd7cddfSDavid du Colombiergxclbits.c, gxclist.c, gxclpath.c, gxclread.c) 25667dd7cddfSDavid du Colombier - Isolated dots produced by round caps usually disappeared. (They 25677dd7cddfSDavid du Colombierstill disappear sometimes.) (gxstroke.c) 25687dd7cddfSDavid du Colombier - On 16-bit platforms, the computation of t2 and t3 in 25697dd7cddfSDavid du Colombiergx_curve_x_at_y could overflow, leading to incorrect output. (gxpcopy.c) 25707dd7cddfSDavid du Colombier - Stroking horizontal or vertical lines could produce variations of 25717dd7cddfSDavid du Colombier1 pixel in the line width. (gxstroke.c) 25727dd7cddfSDavid du Colombier - The default clipping region for band rendering was too large, 25737dd7cddfSDavid du Colombierleading to wasted work. (gxclread.c) 25747dd7cddfSDavid du Colombier - Guarantees no double pixel writing when necessary, i.e., when a 25757dd7cddfSDavid du Colombiernon-idempotent RasterOp is selected. (gsropt.h, gxfill.c) 25767dd7cddfSDavid du Colombier - For unrotated black-and-white images, one column of pixels at the 25777dd7cddfSDavid du Colombierright edge of the image might be incorrect. (gsimage1.c) 25787dd7cddfSDavid du Colombier - A const pointer was passed inappropriately. (gxistate.h, 25797dd7cddfSDavid du Colombiergscoord.c) 25807dd7cddfSDavid du Colombier - CIE color conversion could address 1 element beyond the end of an 25817dd7cddfSDavid du Colombierarray, with unpredictable results. (gscie.c) 25827dd7cddfSDavid du Colombier 25837dd7cddfSDavid du ColombierSeparates out the higher-level band list facilities, so they can be an 25847dd7cddfSDavid du Colombieroptional feature. (lib.mak, gxcldev.h, gxclpath.h, gxclbits.c, gxclist.c, 25857dd7cddfSDavid du Colombiergxclpath.c, gxclread.c) 25867dd7cddfSDavid du Colombier 25877dd7cddfSDavid du ColombierImplements bitmap (fill_mask) clipping in the band list. (gxcldev.h, 25887dd7cddfSDavid du Colombiergxclpath.h, gxclist.c, gxclpath.c, gxclread.c) 25897dd7cddfSDavid du Colombier 25907dd7cddfSDavid du ColombierStarts to separate out the RasterOp facility as an optional feature. 25917dd7cddfSDavid du Colombier(lib.mak, gxdevice.h, gxdevrop.h, gdevdflt.c, gdevmrop.c) 25927dd7cddfSDavid du Colombier 25937dd7cddfSDavid du ColombierEncapsulates the filling of free memory blocks in a macro, at the request of 25947dd7cddfSDavid du Colombiera licensee. (gdebug.h, gsmdebug.h, gsmemory.h, gs.c, gsalloc.c, gsmemory.c, 25957dd7cddfSDavid du Colombiergxbcache.c) 25967dd7cddfSDavid du Colombier 25977dd7cddfSDavid du ColombierSpeeds up fill_rectangle for 32-bit devices. (gdevm32.c) 25987dd7cddfSDavid du Colombier 25997dd7cddfSDavid du ColombierSpeeds up path writing in band lists a little. (gxclpath.c) 26007dd7cddfSDavid du Colombier 26017dd7cddfSDavid du ColombierImplements AccurateScreens along the lines described in the Adobe 26027dd7cddfSDavid du Colombierdocumentation. The current implementation can produce very large 26037dd7cddfSDavid du Colombiersuper-cells, so it will not always be able to actually increase the screen 26047dd7cddfSDavid du Colombieraccuracy. (gxdht.h, gsht.c, gshtscr.c) 26057dd7cddfSDavid du Colombier 26063ff48bf5SDavid du Colombier</pre> 26077dd7cddfSDavid du Colombier 26083ff48bf5SDavid du Colombier<h2><a name="Version3.62"></a>Version 3.62 (limited, incremental) (12/26/95)</h2> 26093ff48bf5SDavid du Colombier 26103ff48bf5SDavid du Colombier<p> 26117dd7cddfSDavid du ColombierThis release makes some licensee-requested improvements in the garbage 26127dd7cddfSDavid du Colombiercollector and fixes a couple of minor bugs. It also constitutes a 26137dd7cddfSDavid du Colombiercheckpoint for the forthcoming forked 3.53 release. 26147dd7cddfSDavid du Colombier 26153ff48bf5SDavid du Colombier<h3><a name="V3.62_Documentation"></a>Documentation</h3><pre> 26167dd7cddfSDavid du ColombierNotes that for Win32s, gs16spl.exe must be in the same directory as 26177dd7cddfSDavid du Colombiergswin32.exe. (install.doc) 26187dd7cddfSDavid du Colombier 26197dd7cddfSDavid du ColombierChanges `3.N' to a real version number in the man page. (gs.1) 26207dd7cddfSDavid du Colombier 26217dd7cddfSDavid du ColombierAdds a reference to dos-psv, another "dumb terminal" user interface for 26227dd7cddfSDavid du ColombierGhostscript intended for MS-DOS users. (README) 26237dd7cddfSDavid du Colombier 26243ff48bf5SDavid du Colombier</pre><h3><a name="V3.62_Procedures"></a>Procedures</h3><pre> 26257dd7cddfSDavid du Colombier 26267dd7cddfSDavid du ColombierFixes bugs: 26277dd7cddfSDavid du Colombier - The stack size for some of the PC platforms was set too small. 26287dd7cddfSDavid du Colombier(watc.mak, watcwin.mak) 26297dd7cddfSDavid du Colombier 26307dd7cddfSDavid du ColombierChanges the default value of ORIENT1 from false to true, i.e., assumes that 26317dd7cddfSDavid du Colombiera value of 1 for the orientation parameter of setpageparams indicates 26327dd7cddfSDavid du Colombierportrait orientation. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE. It only 26337dd7cddfSDavid du Colombieraffects files created for roll-media imagesetters. (gs_init.ps, use.doc) 26347dd7cddfSDavid du Colombier 26353ff48bf5SDavid du Colombier</pre><h3><a name="V3.62_Interpreter"></a>Interpreter</h3><pre> 26367dd7cddfSDavid du Colombier 26377dd7cddfSDavid du ColombierFixes bugs: 26387dd7cddfSDavid du Colombier - The definition of the op_index_op_array_table macro had an 26397dd7cddfSDavid du Colombierincorrect trailing semicolon. (opdef.h) 26407dd7cddfSDavid du Colombier - Setting the PageSize policy to 1 and then trying to set the page 26417dd7cddfSDavid du Colombiersize caused an error if FIXEDMEDIA was selected. (gs_setpd.ps) 26427dd7cddfSDavid du Colombier 26437dd7cddfSDavid du ColombierChanges the garbage collector marking phase so that instead of just using a 26447dd7cddfSDavid du Colombiersingle block (allocated, free, or default) for the mark stack, it can chain 26457dd7cddfSDavid du Colombierall three types of block together. (igc.h, igc.c, igcstr.c, ilocate.c) 26467dd7cddfSDavid du Colombier 26477dd7cddfSDavid du ColombierRefactors the garbage collector slightly to reduce inter-module 26487dd7cddfSDavid du Colombierdependencies. (int.mak, igc.h, igcstr.h, igcstr.c) 26497dd7cddfSDavid du Colombier 26507dd7cddfSDavid du ColombierChanges the garbage collector to keep track of ranges within each chunk that 26517dd7cddfSDavid du Colombiermust be scanned if the mark stack overflows. (gxalloc.h, igc.c) 26527dd7cddfSDavid du Colombier 26537dd7cddfSDavid du ColombierAdds [write]===[only] procedures, which act like == but also print the 26547dd7cddfSDavid du Colombiercontents of dictionaries, and ppstack, which acts like pstack but uses ===. 26557dd7cddfSDavid du ColombierChanges ESTACKPRINT and OSTACKPRINT to use === rather than ==. (gs_init.ps, 26567dd7cddfSDavid du Colombiergs_setpd.ps) 26577dd7cddfSDavid du Colombier 26583ff48bf5SDavid du Colombier</pre><h3><a name="V3.62_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 26597dd7cddfSDavid du Colombier 26607dd7cddfSDavid du ColombierFixes bugs: 26617dd7cddfSDavid du Colombier - If a PDF file substituted a calibrated color space for the 26627dd7cddfSDavid du ColombierDeviceGray or DeviceRGB color space using a ColorSpace resource, the 26637dd7cddfSDavid du ColombierPostScript file that pdf2ps produced from that PDF file caused an error. 26647dd7cddfSDavid du Colombier(gs_pdf.ps) 26657dd7cddfSDavid du Colombier 26663ff48bf5SDavid du Colombier</pre><h3><a name="V3.62_Library"></a>Library</h3><pre> 26677dd7cddfSDavid du Colombier 26687dd7cddfSDavid du ColombierFixes bugs: 26697dd7cddfSDavid du Colombier - The debugging code for checking the sorting of line lists didn't 26707dd7cddfSDavid du Colombiercheck for an empty list. (gxfill.c) 26717dd7cddfSDavid du Colombier 26723ff48bf5SDavid du Colombier</pre> 26737dd7cddfSDavid du Colombier 26743ff48bf5SDavid du Colombier<h2><a name="Version3.61"></a>Version 3.61 (limited) (12/10/95)</h2> 26753ff48bf5SDavid du Colombier 26763ff48bf5SDavid du Colombier<p> 26777dd7cddfSDavid du ColombierThis limited release fixes a few bugs (including a couple that significantly 26787dd7cddfSDavid du Colombieraffected character quality) and also includes some substantial performance 26797dd7cddfSDavid du Colombierimprovements. 26807dd7cddfSDavid du Colombier 26813ff48bf5SDavid du Colombier<h3><a name="V3.61_Documentation"></a>Documentation</h3><pre> 26827dd7cddfSDavid du ColombierFixes bugs: 26837dd7cddfSDavid du Colombier - The directory name for the PNG library was incorrect. 26847dd7cddfSDavid du Colombier(libpng.mak) 26857dd7cddfSDavid du Colombier - The analysis of curve monotonocity in gxpcopy.c had an error. 26867dd7cddfSDavid du Colombier(gxpcopy.c) 26877dd7cddfSDavid du Colombier 26887dd7cddfSDavid du ColombierChanges the subdirectory names for zlib and libpng to be consistent. 26897dd7cddfSDavid du Colombier(make.doc) 26907dd7cddfSDavid du Colombier 26917dd7cddfSDavid du ColombierDocuments a possible problem with object file format incompatibilities in 26927dd7cddfSDavid du Colombiercertain versions of Linux. (make.doc) 26937dd7cddfSDavid du Colombier 26947dd7cddfSDavid du ColombierDocuments the new distinction between devices and device prototypes. 26957dd7cddfSDavid du Colombier(language.doc) 26967dd7cddfSDavid du Colombier 26977dd7cddfSDavid du ColombierAdds a pointer to DEC's free pstotext utility. (README) 26987dd7cddfSDavid du Colombier 26993ff48bf5SDavid du Colombier</pre><h3><a name="V3.61_Procedures"></a>Procedures</h3><pre> 27007dd7cddfSDavid du Colombier 27017dd7cddfSDavid du ColombierFixes bugs: 27027dd7cddfSDavid du Colombier - zlib.mak omitted some files in the encoding module dependencies. 27037dd7cddfSDavid du Colombier(zlib.mak) 27047dd7cddfSDavid du Colombier - os2.mak referred to png.mak rather than libpng.mak. (os2.mak) 27057dd7cddfSDavid du Colombier - The png devices didn't include gdevpccm.$(OBJ) as a required file. 27067dd7cddfSDavid du Colombier(devs.mak) 27077dd7cddfSDavid du Colombier - Some modules in lib.mak referred to stream.h, which was defined in 27087dd7cddfSDavid du Colombierint.mak. (int.mak, lib.mak) 27097dd7cddfSDavid du Colombier - Quite a few dependencies on header files were missing from the 27107dd7cddfSDavid du Colombiermakefiles. (int.mak, lib.mak, *.mak) 27117dd7cddfSDavid du Colombier 27127dd7cddfSDavid du ColombierAdds a 'pg' target to the Unix makefiles, for building profiling 27137dd7cddfSDavid du Colombierconfigurations. (unix-end.mak) 27147dd7cddfSDavid du Colombier 27153ff48bf5SDavid du Colombier</pre><h3><a name="V3.61_Utilities"></a>Utilities</h3><pre> 27167dd7cddfSDavid du Colombier 27177dd7cddfSDavid du ColombierFixes bugs: 27187dd7cddfSDavid du Colombier - Type 1 fonts in which some characters are defined by PostScript 27197dd7cddfSDavid du Colombierprocedures couldn't be compiled. (ccfont.h, iccfont.c, font2c.ps) 27207dd7cddfSDavid du Colombier - pdf2ps didn't write Widths or Encoding in the converted file, 27217dd7cddfSDavid du Colombierproducing incorrect spacing and incorrect characters. (pdf_2ps.ps) 27227dd7cddfSDavid du Colombier - markhint.ps didn't handle the Type 1 'div' operator, causing 27237dd7cddfSDavid du Colombiertypecheck errors. (markhint.ps) 27247dd7cddfSDavid du Colombier - markhint.ps ignored the hstem3 and vstem3 hints. (markhint.ps) 27257dd7cddfSDavid du Colombier 27267dd7cddfSDavid du ColombierChanges the rollconv.ps utility to produce files whose names conform to the 27277dd7cddfSDavid du Colombier8.3 length restriction, and to reduce the fixed RAM overhead for Kanji 27287dd7cddfSDavid du Colombierfonts. (rollconv.ps) 27297dd7cddfSDavid du Colombier 27307dd7cddfSDavid du ColombierAdds a utility for detecting compiler problems that affect Ghostscript. 27317dd7cddfSDavid du Colombier(bughunt.sh) 27327dd7cddfSDavid du Colombier 27333ff48bf5SDavid du Colombier</pre><h3><a name="V3.61_Drivers"></a>Drivers</h3><pre> 27347dd7cddfSDavid du Colombier 27357dd7cddfSDavid du ColombierAdds anti-aliasing capability (-dTextAlphaBits and -dGraphicsAlphaBits) to 27367dd7cddfSDavid du Colombierthe PGM and PPM drivers. (gdevpbm.c) 27377dd7cddfSDavid du Colombier 27387dd7cddfSDavid du ColombierDeclares the static_procs member of the device structure as const *. This 27397dd7cddfSDavid du Colombiershould have been done a long time ago! (drivers.doc, gxdevice.h) 27407dd7cddfSDavid du Colombier 27413ff48bf5SDavid du Colombier</pre><h3><a name="V3.61_Platforms"></a>Platforms</h3><pre> 27427dd7cddfSDavid du Colombier 27437dd7cddfSDavid du ColombierFixes bugs: 27447dd7cddfSDavid du Colombier - Printing didn't work in 32-bit MS Windows environments. 27457dd7cddfSDavid du Colombier(bcwin32.mak, gdevmswn.c, gp_mswin.c) 27467dd7cddfSDavid du Colombier - There were some compatibility problems with IBM C. (os2.mak, 27477dd7cddfSDavid du Colombiergsdll.h, gdevpm.c, gp_os2.c) 27487dd7cddfSDavid du Colombier 27497dd7cddfSDavid du ColombierAdds the PNG drivers to the 32-bit MS Windows and OS/2 makefiles. 27507dd7cddfSDavid du Colombier(bcwin32.mak, os2.mak) 27517dd7cddfSDavid du Colombier 27527dd7cddfSDavid du ColombierAdds a conditional to work around a bug in gcc 2.7.x (it didn't recognize 27537dd7cddfSDavid du Colombierthat the target of a const T * might still be mutable through aliasing). 27547dd7cddfSDavid du Colombier(stdpre.h) 27557dd7cddfSDavid du Colombier 27563ff48bf5SDavid du Colombier</pre><h3><a name="V3.61_Fonts"></a>Fonts</h3><pre> 27577dd7cddfSDavid du Colombier 27587dd7cddfSDavid du ColombierFixes bugs: 27597dd7cddfSDavid du Colombier - Rasterizing a character in a Type 1 font with an invalid FontBBox 27607dd7cddfSDavid du Colombierleft some garbage on the operand stack (bug introduced in 3.52 or 3.60). 27617dd7cddfSDavid du Colombier(gs_type1.ps) 27627dd7cddfSDavid du Colombier - The font substitution algorithm could fail or loop. (gs_fonts.ps) 27637dd7cddfSDavid du Colombier 27647dd7cddfSDavid du ColombierAdds a little more support for CID fonts and CMaps. (gs_cidfn.ps, 27657dd7cddfSDavid du Colombiergs_cmap.ps) 27667dd7cddfSDavid du Colombier 27673ff48bf5SDavid du Colombier</pre><h3><a name="V3.61_Interpreter"></a>Interpreter</h3><pre> 27687dd7cddfSDavid du Colombier 27697dd7cddfSDavid du ColombierFixes bugs: 27707dd7cddfSDavid du Colombier - An #include <memory_.h> was missing. (ziodev.h) 27717dd7cddfSDavid du Colombier - Scanner-detected errors (primarily syntaxerror) didn't report the 27727dd7cddfSDavid du Colombierfile position. (gs_init.ps) 27737dd7cddfSDavid du Colombier - Rotated characters were rendered incorrectly (bug introduced in 27747dd7cddfSDavid du Colombier3.52). (gstype1.c) 27757dd7cddfSDavid du Colombier - Some compilers got upset about the use of 'dict' as a variable 27767dd7cddfSDavid du Colombiername. (zdict.c) 27777dd7cddfSDavid du Colombier - Operand stack overflows sometimes didn't set the "requested" field 27787dd7cddfSDavid du Colombiercorrectly. (interp.c) 27797dd7cddfSDavid du Colombier - Using -dBufferSpace= with a non-printer device caused an error. 27807dd7cddfSDavid du Colombier(gs_init.ps) 27817dd7cddfSDavid du Colombier 27827dd7cddfSDavid du ColombierAdds zlibEncode/Decode filters. (int.mak, zfzlib.c) 27837dd7cddfSDavid du Colombier 27847dd7cddfSDavid du ColombierSeparates devices from device prototypes. Prototypes, which lack the 27857dd7cddfSDavid du Colombierwritable attribute, cannot be installed as the current device or have their 27867dd7cddfSDavid du Colombierparameters changed. This change allows Ghostscript to be exited and 27877dd7cddfSDavid du Colombierrestarted without being reloaded, which solves some problems with DLL 27887dd7cddfSDavid du Colombierusage. ****** WE HAD TO SUBVERT THIS CHANGE BECAUSE OF MEMORY MANAGER 27897dd7cddfSDavid du ColombierPROBLEMS, by making zgetdevice return a writable reference to the 27907dd7cddfSDavid du Colombierprototype. (We finally fixed this in release 3.65.) (gs_init.ps, iref.h, 27917dd7cddfSDavid du Colombieropcheck.h, zdevice.c, ztype.c, zwppm.c) 27927dd7cddfSDavid du Colombier 27937dd7cddfSDavid du ColombierExtends the client API to allow for pushing values onto the operand stack. 27947dd7cddfSDavid du Colombier(imain.h, gs.c, gsmain.c) 27957dd7cddfSDavid du Colombier 27967dd7cddfSDavid du ColombierDefines a .setdefaultscreen procedure that sets the default halftone screen, 27977dd7cddfSDavid du Colombiertransfer function, and stroke adjustment for the current device. Changes 27987dd7cddfSDavid du Colombierselectdevice and setpagedevice so that they call .setdefaultscreen; 27997dd7cddfSDavid du Colombiersetpagedevice calls .setdefaultscreen before calling the Install procedure, 28007dd7cddfSDavid du Colombierso that Install can set different parameters if it wishes. Note that 28017dd7cddfSDavid du Colombiersetdevice does not do this. (gs_init.ps, gs_setpd.ps) 28027dd7cddfSDavid du Colombier 28033ff48bf5SDavid du Colombier</pre><h3><a name="V3.61_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 28047dd7cddfSDavid du Colombier 28057dd7cddfSDavid du ColombierFixes bugs: 28067dd7cddfSDavid du Colombier - Tf set the current text font twice, and interacted with pdf2ps in 28077dd7cddfSDavid du Colombieran awkward way. (gs_pdf.ps, pdf_2ps.ps, pdf_font.ps) 28087dd7cddfSDavid du Colombier - If a font had variant Widths, it could get confused in the cache 28097dd7cddfSDavid du Colombierwith the underlying font. (pdf_font.ps) 28107dd7cddfSDavid du Colombier - If a character appeared twice in an encoding and the font 28117dd7cddfSDavid du Colombierspecified different Widths values for the two occurrences, the last Width 28127dd7cddfSDavid du Colombierwould be used. We patched this to ignore zero Widths, which is not the 28137dd7cddfSDavid du Colombiercorrect solution but which almost always produces correct output. 28147dd7cddfSDavid du Colombier(pdf_font.ps) 28157dd7cddfSDavid du Colombier - Arrays containing nulls didn't print out correctly (bug introduced 28167dd7cddfSDavid du Colombierin 3.60). (gs_init.ps) 28177dd7cddfSDavid du Colombier - Some PDF files contain very large dictionaries, which caused a 28187dd7cddfSDavid du Colombierstackoverflow. (pdf_base.ps) 28197dd7cddfSDavid du Colombier 28207dd7cddfSDavid du ColombierSpeeds up the initial processing of PDF files by caching the map from page 28217dd7cddfSDavid du Colombiernumbers to page objects, and by not scanning the outlines if we aren't 28227dd7cddfSDavid du Colombierproducing PostScript output. (pdf_2ps.ps, pdf_base.ps, pdf_main.ps) 28237dd7cddfSDavid du Colombier 28243ff48bf5SDavid du Colombier</pre><h3><a name="V3.61_Streams"></a>Streams</h3><pre> 28257dd7cddfSDavid du Colombier 28267dd7cddfSDavid du ColombierAdds zlibEncode/Decode filters. (lib.mak, szlibx.h, szlibc.c, szlibd.c, 28277dd7cddfSDavid du Colombierszlibe.c) 28287dd7cddfSDavid du Colombier 28293ff48bf5SDavid du Colombier</pre><h3><a name="V3.61_Library"></a>Library</h3><pre> 28307dd7cddfSDavid du Colombier 28317dd7cddfSDavid du ColombierFixes bugs: 28327dd7cddfSDavid du Colombier - glyphshow displayed a character with code 0 rather than the 28337dd7cddfSDavid du Colombierrequested character (bug introduced in 3.60.) (gschar.c) 28347dd7cddfSDavid du Colombier - If trimming white space around a character reduced its raster, the 28357dd7cddfSDavid du Colombiercharacter was garbled in the cache (bug introduced in 3.60.) (gxccman.c) 28367dd7cddfSDavid du Colombier - colorimage would incorrectly convert white pixels to black if the 28377dd7cddfSDavid du Colombierimage color space was CMYK, the current color space was not CMYK, and the 28387dd7cddfSDavid du Colombiernumber of bits per pixel was 4 or 8. (gsimage2.c) 28397dd7cddfSDavid du Colombier - One of the clipping tests for images was backwards (bug introduced 28407dd7cddfSDavid du Colombierin 3.60). (gsimage.c) 28417dd7cddfSDavid du Colombier - Type 1 fonts that used the Flex feature applied hints to the path 28427dd7cddfSDavid du Colombiermultiple times, causing dropouts, uneven stems, and other problems (bug 28437dd7cddfSDavid du Colombierprobably introduced in 3.21). (gstype1.c) 28447dd7cddfSDavid du Colombier - If a Type 1 font used the Flex feature within the accent of an 28457dd7cddfSDavid du Colombieraccented character defined with seac, the shape of the accent could be 28467dd7cddfSDavid du Colombierdistorted. (gxtype1.h, gstype1.c) 28477dd7cddfSDavid du Colombier - If a Type 1 font changed hints using the hint replacement facility 28487dd7cddfSDavid du Colombierwhen the last operation was a closepath, the old hints would be applied a 28497dd7cddfSDavid du Colombiersecond time, distorting the shape. (gxhint3.c) 28507dd7cddfSDavid du Colombier - Band lists could read garbage beyond the end of data for a band, 28517dd7cddfSDavid du Colombiercausing unpredictable errors (bug introduced in 3.60). (gxclread.c) 28527dd7cddfSDavid du Colombier - If the bounding box of the path for fill_path or stroke_path went 28537dd7cddfSDavid du Colombieroutside the device page boundary when banding, out-of-bounds memory 28547dd7cddfSDavid du Colombierreferences occurred (bug introduced in 3.60). (gxdevice.h, gxclpath.c) 28557dd7cddfSDavid du Colombier 28567dd7cddfSDavid du ColombierAdds an alternative implementation of the core path filling algorithm that 28577dd7cddfSDavid du Colombieris much faster on objects with curves but doesn't handle Y fattening. This 28587dd7cddfSDavid du Colombieris the implementation that will normally be used for rasterizing characters. 28597dd7cddfSDavid du ColombierThis implementation rasterizes curves directly, without flattening them. 28607dd7cddfSDavid du Colombier(gxfixed.h, gxpath.h, gzpath.h, gsdps1.c, gxfill.c, gxpcopy.c, gxpdash.c) 28617dd7cddfSDavid du Colombier 28627dd7cddfSDavid du ColombierSpeeds up the flattening of curves substantially by omitting more redundant 28637dd7cddfSDavid du Colombierpoints. (gxpcopy.c) 28647dd7cddfSDavid du Colombier 28657dd7cddfSDavid du ColombierSpeeds up character bitmap compression a little more. (gsbitops.h, 28667dd7cddfSDavid du Colombiergdevabuf.c, gsbitops.c, gxccman.c) 28677dd7cddfSDavid du Colombier 28687dd7cddfSDavid du ColombierSpeeds up anti-aliased graphics a bit by computing a bounding box before 28697dd7cddfSDavid du Colombierconverting from oversampling to alpha values, and by speeding up the 28707dd7cddfSDavid du Colombierbounding box computation itself. (gsbitops.h, gdevabuf.c, gsbitops.c, 28717dd7cddfSDavid du Colombiergxccman.c) 28727dd7cddfSDavid du Colombier 28733ff48bf5SDavid du Colombier</pre> 28747dd7cddfSDavid du Colombier 28753ff48bf5SDavid du Colombier<h2><a name="Version3.60"></a>Version 3.60 (limited) (11/20/95)</h2> 28763ff48bf5SDavid du Colombier 28773ff48bf5SDavid du Colombier<p> 28787dd7cddfSDavid du Colombier(Note: release numbers 3.54 through 3.59 were deliberately skipped.) This 28797dd7cddfSDavid du Colombierinternal release includes a major redesign of band lists in order to reduce 28807dd7cddfSDavid du Colombiertheir size for embedded implementations, to move towards supporting "vector" 28817dd7cddfSDavid du Colombieroutput formats, and to further separate the imager library from the language 28827dd7cddfSDavid du Colombierinterpreters. 28837dd7cddfSDavid du Colombier 28843ff48bf5SDavid du Colombier<h3><a name="V3.60_Documentation"></a>Documentation</h3><pre> 28857dd7cddfSDavid du ColombierFixes bugs: 28867dd7cddfSDavid du Colombier - A comment was incorrect. (viewpbm.ps) 28877dd7cddfSDavid du Colombier - The PixelDifference filters were not documented. (language.doc) 28887dd7cddfSDavid du Colombier - The change from currenttime to .currenttime wasn't documented. 28897dd7cddfSDavid du Colombier(language.doc) 28907dd7cddfSDavid du Colombier - gs.1 incorrectly stated that the default font directory name 28917dd7cddfSDavid du Colombierincluded the version number. (gs.1) 28927dd7cddfSDavid du Colombier - The -g and -r switches didn't specify that the units for their 28937dd7cddfSDavid du Colombierarguments are pixels and pixels per inch respectively. (use.doc) 28947dd7cddfSDavid du Colombier - The PageOffset page device parameter wasn't listed. 28957dd7cddfSDavid du Colombier(language.doc) 28967dd7cddfSDavid du Colombier 28977dd7cddfSDavid du ColombierChanges copy_mono and copy_color to optional procedures. (drivers.doc) 28987dd7cddfSDavid du Colombier 28997dd7cddfSDavid du ColombierAdds a reference to ps_view.ps, a "dumb terminal" user interface for 29007dd7cddfSDavid du ColombierGhostscript intended for MS-DOS users. (README) 29017dd7cddfSDavid du Colombier 29027dd7cddfSDavid du ColombierSplits off the documentation on installing Ghostscript into a separate file. 29037dd7cddfSDavid du Colombier(readme, install.doc, use.doc) 29047dd7cddfSDavid du Colombier 29057dd7cddfSDavid du ColombierAdds documentation on the data format produced by the standard LZWEncode 29067dd7cddfSDavid du Colombierfilter. (readme, lzwce.doc) 29077dd7cddfSDavid du Colombier 29087dd7cddfSDavid du ColombierClarifies XLIBDIR vs. XLIBDIRS. (make.doc) 29097dd7cddfSDavid du Colombier 29107dd7cddfSDavid du ColombierAdds user-contributed documentation on building Ghostscript under QNX. 29117dd7cddfSDavid du Colombier(make.doc) 29127dd7cddfSDavid du Colombier 29133ff48bf5SDavid du Colombier</pre><h3><a name="V3.60_Procedures"></a>Procedures</h3><pre> 29147dd7cddfSDavid du Colombier 29157dd7cddfSDavid du ColombierFixes bugs: 29167dd7cddfSDavid du Colombier - The rule for building dfaxhigh.dev had a typo. (devs.mak) 29177dd7cddfSDavid du Colombier - The dependencies for gdevpipe.h were missing errno__h and 29187dd7cddfSDavid du Colombierstring__h. (unixtail.mak) 29197dd7cddfSDavid du Colombier - The geninit program (the implementation of COMPILE_INITS=1) didn't 29207dd7cddfSDavid du Colombierparse the command line properly, and didn't check for PostScript files 29217dd7cddfSDavid du Colombierproperly. (geninit.c) 29227dd7cddfSDavid du Colombier - ccfontab.c was omitted from the fileset. The easiest way to fix 29237dd7cddfSDavid du Colombierthis was to rename it to icfontab.c. (gs.mak, int.mak, ccfontab.c) 29247dd7cddfSDavid du Colombier - The Unix makefiles installed caption.ls (a typo) rather than 29257dd7cddfSDavid du Colombiercaption.ps. (unix-end.mak) 29267dd7cddfSDavid du Colombier - XLIBDIR, for dynamic library access, wasn't defined. (*head.mak, 29277dd7cddfSDavid du Colombier*tail.mak, ugcclib.mak) 29287dd7cddfSDavid du Colombier 29297dd7cddfSDavid du ColombierAdds the PNG and ZLIB makefiles to the fileset. (*.mak, png.mak, zlib.mak, 29307dd7cddfSDavid du Colombiertar_cat) 29317dd7cddfSDavid du Colombier 29327dd7cddfSDavid du ColombierPuts the PixelDifference filters in the standard Level 2 set, since the LZW 29337dd7cddfSDavid du Colombierfilters may invoke them (a post-Red Book addition to the PostScript language 29347dd7cddfSDavid du Colombierdefinition). (int.mak) 29357dd7cddfSDavid du Colombier 29367dd7cddfSDavid du ColombierAdds -Wcast-qual to the gcc compiler flags. (gcc-head.mak) 29377dd7cddfSDavid du Colombier 29387dd7cddfSDavid du ColombierAdds the PNG drivers to the standard Unix configurations. 29397dd7cddfSDavid du Colombier(ansi/cc-/gcc-head.mak) 29407dd7cddfSDavid du Colombier 29417dd7cddfSDavid du ColombierAdds a -dNOFONTPATH switch to suppress any consultation of the FONTPATH 29427dd7cddfSDavid du Colombiervariable or the GS_FONTPATH environment variable. (gs_fonts.ps, gs_init.ps) 29437dd7cddfSDavid du Colombier 29443ff48bf5SDavid du Colombier</pre><h3><a name="V3.60_Utilities"></a>Utilities</h3><pre> 29457dd7cddfSDavid du Colombier 29467dd7cddfSDavid du ColombierFixes bugs: 29477dd7cddfSDavid du Colombier - The default scaling for viewing PBM files was computed 29487dd7cddfSDavid du Colombierincorrectly. (viewpbm.ps) 29497dd7cddfSDavid du Colombier - ps2ascii left a value on the stack for each unrecognized character 29507dd7cddfSDavid du Colombierit processed, eventually causing a stackoverflow. (ps2ascii.ps) 29517dd7cddfSDavid du Colombier 29527dd7cddfSDavid du ColombierChanges viewpbm.ps so that it simply defines P1 through P6, allowing PBM 29537dd7cddfSDavid du Colombierfiles to be executed with 'run'. (viewpbm.ps) 29547dd7cddfSDavid du Colombier 29557dd7cddfSDavid du ColombierAdds a small benchmark to crudely measure hardware/system performance. The 29567dd7cddfSDavid du Colombiersame file can either be compiled as a C program or executed as a PostScript 29577dd7cddfSDavid du Colombierprogram. (bench.c) 29587dd7cddfSDavid du Colombier 29597dd7cddfSDavid du ColombierAdds a few PPD files to the distribution. There will probably be more as 29607dd7cddfSDavid du Colombiertime goes on. (tar_gs, unix-end.mak) 29617dd7cddfSDavid du Colombier 29627dd7cddfSDavid du ColombierUpdates the Unix lpr scripts to handle a wider variety of device options. 29637dd7cddfSDavid du Colombier(unix-lpr.doc, lprsetup.sh, unix-lpr.sh) 29647dd7cddfSDavid du Colombier 29657dd7cddfSDavid du ColombierAdds a utility for converting files produced by Macromedia's Rollup program 29667dd7cddfSDavid du Colombierto a Type 0 form directly usable by Ghostscript. (rollconv.ps) 29677dd7cddfSDavid du Colombier 29683ff48bf5SDavid du Colombier</pre><h3><a name="V3.60_Drivers"></a>Drivers</h3><pre> 29697dd7cddfSDavid du Colombier 29707dd7cddfSDavid du ColombierFixes bugs: 29717dd7cddfSDavid du Colombier - Forwarding devices passed an incorrect first argument when 29727dd7cddfSDavid du Colombierforwarding a copy_rop operation. (gsdevice.c) 29737dd7cddfSDavid du Colombier - Because of a typo, the LaserJet drivers had incorrect margins. 29747dd7cddfSDavid du ColombierThis was probably a new bug in 3.5x. (gdevdjet.c) 29757dd7cddfSDavid du Colombier - A private name was duplicated. (gdevtfax.c) 29767dd7cddfSDavid du Colombier - The x11alpha driver passed invalid colors to the X library. 29777dd7cddfSDavid du Colombier(gdevxalt.c) 29787dd7cddfSDavid du Colombier - The x11alpha driver set the blue component of colors incorrectly. 29797dd7cddfSDavid du Colombier(gdevxalt.c) 29807dd7cddfSDavid du Colombier - Some `const' declarations were missing. (gdevtifs.c, gdevtfnx.c, 29817dd7cddfSDavid du Colombiergdevxxf.c) 29827dd7cddfSDavid du Colombier - The size of A4 paper was slightly inconsistent across drivers. 29837dd7cddfSDavid du Colombier(gdevdjet.c, gdevl256.c) 29847dd7cddfSDavid du Colombier 29857dd7cddfSDavid du ColombierProvides default implementations of copy_mono and copy_color in terms of 29867dd7cddfSDavid du Colombierfill_rectangle. (gxdevice.h, gsdevice.c) 29877dd7cddfSDavid du Colombier 29887dd7cddfSDavid du ColombierAdds forwarders for sync_output and output_page. (gxdevice.h, gsdevice.c) 29897dd7cddfSDavid du Colombier 29907dd7cddfSDavid du ColombierAdds new optional procedures to the driver interface: 29917dd7cddfSDavid du Colombier - fill_path for filling a path with a color; 29927dd7cddfSDavid du Colombier - stroke_path for stroking a path; 29937dd7cddfSDavid du Colombier - fill_mask for painting a color through a mask. 29947dd7cddfSDavid du ColombierThe default implementations use the existing rasterizer algorithms. This 29957dd7cddfSDavid du Colombierinvolves a NON-BACKWARD-COMPATIBLE change to the parameters of a few 29967dd7cddfSDavid du Colombierinternal routines: 29977dd7cddfSDavid du Colombier gs_currentlineparams 29987dd7cddfSDavid du Colombier gx_fill_path, gx_fill_path_only, gx_path_expand_dashes, gx_path_flatten 29997dd7cddfSDavid du Colombierand two externally visible routines not part of standard PostScript: 30007dd7cddfSDavid du Colombier gs_setfilladjust, gs_currentfilladjust 30017dd7cddfSDavid du Colombier(gdevmem.h, gdevprn.h, gspath.h, gspenum.h, gxcpath.h, gxdevice.h, gxdraw.h, 30027dd7cddfSDavid du Colombiergxpaint.h, gxpath.h, gscoord.c, gsdevice.c, gspaint.c, gsstate.c, 30037dd7cddfSDavid du Colombiergxacpath.c, gxclist.c, gxclread.c, gxcpath.c, gxdraw.c, gxfill.c, gxpaint.c, 30047dd7cddfSDavid du Colombiergxpcmap.c, gxpcopy.c, gxstroke.c) 30057dd7cddfSDavid du Colombier 30067dd7cddfSDavid du ColombierMakes major changes to the dithering algorithm for the color DeskJet and 30077dd7cddfSDavid du ColombierBubbleJet drivers, contributed by a user. (gdevcdj.c) 30087dd7cddfSDavid du Colombier 30097dd7cddfSDavid du ColombierAdds a contributed 12-bit RGB TIFF driver. (gdevtfnx.c) 30107dd7cddfSDavid du Colombier 30113ff48bf5SDavid du Colombier</pre><h3><a name="V3.60_Platforms"></a>Platforms</h3><pre> 30127dd7cddfSDavid du Colombier 30137dd7cddfSDavid du ColombierFixes bugs: 30147dd7cddfSDavid du Colombier - The printjob created by Ghostscript was called "Ghostscirpt" 30157dd7cddfSDavid du Colombierinstead of "Ghostscript". (gp_os2.c) 30167dd7cddfSDavid du Colombier - An "export" declaration was omitted from DllInit. (gp_mswin.c) 30177dd7cddfSDavid du Colombier 30187dd7cddfSDavid du ColombierRemoves gp_get_clock (its interface was changed from calendar 30197dd7cddfSDavid du Colombierdays/milliseconds to epoch seconds/nanoseconds in an undocumented, 30207dd7cddfSDavid du ColombierNON-BACKWARD-COMPATIBLE change in 3.51), and adds a new gp_get_realtime 30217dd7cddfSDavid du Colombierprocedure that returns epoch seconds/nanoseconds. This too is a 30227dd7cddfSDavid du ColombierNON-BACKWARD-COMPATIBLE change; it is required because we overlooked the 30237dd7cddfSDavid du Colombierprior change in a batch of user-contributed code. (gp.h, gp_*.c) 30247dd7cddfSDavid du Colombier 30253ff48bf5SDavid du Colombier</pre><h3><a name="V3.60_Fonts"></a>Fonts</h3><pre> 30267dd7cddfSDavid du Colombier 30277dd7cddfSDavid du ColombierAdds Heavy as a synonym for Bold when doing intelligent font substitution. 30287dd7cddfSDavid du Colombier(gs_fonts.ps) 30297dd7cddfSDavid du Colombier 30303ff48bf5SDavid du Colombier</pre><h3><a name="V3.60_Interpreter"></a>Interpreter</h3><pre> 30317dd7cddfSDavid du Colombier 30327dd7cddfSDavid du ColombierFixes bugs: 30337dd7cddfSDavid du Colombier - The setup for the CCITTFax filters set the 'raster' element 30347dd7cddfSDavid du Colombierredundantly. (zfdecode.c) 30357dd7cddfSDavid du Colombier - currentscreen and currentcolorscreen could give an error if the 30367dd7cddfSDavid du Colombiercurrent screen was set with sethalftone (or, for currentscreen, 30377dd7cddfSDavid du Colombiersetcolorscreen). (gs_dps1.ps) 30387dd7cddfSDavid du Colombier - The font operators didn't work properly if a PostScript file 30397dd7cddfSDavid du Colombierredefined certain operator names. (gs_res.ps) 30407dd7cddfSDavid du Colombier - The CCITTFax filters imposed a limit of 9999 Rows or Columns. The 30417dd7cddfSDavid du Colombiernew limit is 32000. (zfdecode.c) 30427dd7cddfSDavid du Colombier - Streams could get removed from a bookkeeping list prematurely, and 30437dd7cddfSDavid du Colombierwind up dangling. (zfile.c) 30447dd7cddfSDavid du Colombier - The garbage collector didn't ask for large enough a mark stack, 30457dd7cddfSDavid du Colombierand only used half of what it got. (This was only a performance problem.) 30467dd7cddfSDavid du Colombier(igc.c) 30477dd7cddfSDavid du Colombier - Two private names duplicated names in a vendor library. (zbseq.c) 30487dd7cddfSDavid du Colombier - Type 1 fonts didn't enforce the maximum value of BlueScale, which 30497dd7cddfSDavid du Colombiercaused some faulty fonts produced by Fontographer to produce incorrect 30507dd7cddfSDavid du Colombieroutput. (zfont1.c) 30517dd7cddfSDavid du Colombier - cvs / cvrs / = didn't produce Adobe-compatible output. 30527dd7cddfSDavid du Colombier(gs_init.ps, iutil.h, iutil.c, zfileio.c) 30537dd7cddfSDavid du Colombier - Multiple -I switches set the search path incorrectly. (gsmain.c) 30547dd7cddfSDavid du Colombier - Many `const' declarations were missing. (icie.h, idparam.h, 30557dd7cddfSDavid du Colombieriref.h, iutil.h, idparam.c, iinit.c, ilocate.c, iname.c, interp.c, iparam.c, 30567dd7cddfSDavid du Colombieriutil.c, zcie.c, zfile.c, zgstate.c, ziodev.c, ztype.c) 30577dd7cddfSDavid du Colombier - Fonts could wind up with a pointer to the wrong VM space, causing 30587dd7cddfSDavid du Colombierpotential GC or save/restore confusion. (zfont2.c) 30597dd7cddfSDavid du Colombier - upath could leave garbage on the stack if it failed. (gs_dps1.ps) 30607dd7cddfSDavid du Colombier 30617dd7cddfSDavid du ColombierSpeeds up rasterizing characters into the cache a little. (gs_type0.ps) 30627dd7cddfSDavid du Colombier 30637dd7cddfSDavid du ColombierChanges the default limit on the size of cached characters from the maximum 30647dd7cddfSDavid du Colombierof (18 points or 5 times the "average" character size) to (18 points or 1% 30657dd7cddfSDavid du Colombierof the total cache size). (gs_init.ps) 30667dd7cddfSDavid du Colombier 30677dd7cddfSDavid du ColombierAdds the DecodedByteAlign parameter to the CCITTFax filters. (zfdecode.c) 30687dd7cddfSDavid du Colombier 30697dd7cddfSDavid du ColombierUpdates some code for compatibility with the new fill_path driver procedure. 30707dd7cddfSDavid du Colombier(zupath.c) 30717dd7cddfSDavid du Colombier 30727dd7cddfSDavid du ColombierReplaces .set/currentfilladjust with .set/currentfilladjust2, and defines 30737dd7cddfSDavid du Colombierthe former in terms of the latter. (gs_init.ps, zgstate.c) 30747dd7cddfSDavid du Colombier 30757dd7cddfSDavid du ColombierExtends the make[word]imagedevice operators to accept palette values of 16, 30767dd7cddfSDavid du Colombier24, and 32, for creating true-color image devices. (zdevice.c) 30777dd7cddfSDavid du Colombier 30787dd7cddfSDavid du ColombierChanges realtime to match the definition of gp_get_realtime. (zmisc.c) 30797dd7cddfSDavid du Colombier 30807dd7cddfSDavid du ColombierRemoves the [.]currenttime operator. realtime provides interval timing in 30817dd7cddfSDavid du Colombiermilliseconds; the %Calendar% IODevice provides calendar times. (zmisc.c) 30827dd7cddfSDavid du Colombier 30837dd7cddfSDavid du ColombierExtends the LZW filters to handle the PDF Predictor (pixel-differencing) 30847dd7cddfSDavid du Colombieroption. (zfdecode.c, zfilter2.c, zfpdiff.c (deleted)) 30857dd7cddfSDavid du Colombier 30863ff48bf5SDavid du Colombier</pre><h3><a name="V3.60_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 30877dd7cddfSDavid du Colombier 30887dd7cddfSDavid du ColombierFixes bugs: 30897dd7cddfSDavid du Colombier - The length of an image's data was sometimes calculated 30907dd7cddfSDavid du Colombierincorrectly, causing an error when converting PDF to PostScript. 30917dd7cddfSDavid du Colombier(pdf_draw.ps) 30927dd7cddfSDavid du Colombier - If word spacing and/or text spacing was non-zero, an error could 30937dd7cddfSDavid du Colombieroccur. (gs_pdf.ps) 30947dd7cddfSDavid du Colombier - Text that was both filled and stroked caused an error. 30957dd7cddfSDavid du Colombier(gs_pdf.ps) 30967dd7cddfSDavid du Colombier 30973ff48bf5SDavid du Colombier</pre><h3><a name="V3.60_Streams"></a>Streams</h3><pre> 30987dd7cddfSDavid du Colombier 30997dd7cddfSDavid du ColombierFixes bugs: 31007dd7cddfSDavid du Colombier - When closing an encoding filter stream whose target was also a 31017dd7cddfSDavid du Colombierfilter, the latter could get called incorrectly with last = 1, possibly more 31027dd7cddfSDavid du Colombierthan once, leading to premature EOD markers. (stream.c) 31037dd7cddfSDavid du Colombier - The LZW-compatible encoder put out an incorrect end-of-data code. 31047dd7cddfSDavid du Colombier(slzwce.c) 31057dd7cddfSDavid du Colombier - The LZW-compatible encoder didn't put out a reset code soon 31067dd7cddfSDavid du Colombierenough. (slzwce.c) 31077dd7cddfSDavid du Colombier - Some `const' declarations were missing. (siscale.c) 31087dd7cddfSDavid du Colombier - Doing a sgets on a closed stream could call sreadbuf, possibly 31097dd7cddfSDavid du Colombiercausing an error. (stream.c) 31107dd7cddfSDavid du Colombier 31117dd7cddfSDavid du ColombierAdds a new (optional) set_defaults procedure to the stream template, which 31127dd7cddfSDavid du Colombiersets the stream parameters to default values. We only implement it for a 31137dd7cddfSDavid du Colombierfew stream types. (scfx.h, scommon.h, slzwx.h, spdiffx.h, srlx.h, 31147dd7cddfSDavid du Colombierstrimpl.h, scfd.c, scfe.c, slzwce.c, slzwd.c, slzwe.c, spdiff.c, srld.c, 31157dd7cddfSDavid du Colombiersrle.c) 31167dd7cddfSDavid du Colombier 31177dd7cddfSDavid du ColombierAdds a new parameter to the CCITTFax filters, DecodedByteAlign. This is an 31187dd7cddfSDavid du Colombierinteger N, which must be a power of 2 between 1 (2^0) and 16 (2^4), that 31197dd7cddfSDavid du Colombierspecifies that decoded data scan lines are always a multiple of N bytes. 31207dd7cddfSDavid du ColombierThe encoding filter skips data in each scan line from Columns to the next 31217dd7cddfSDavid du Colombiermultiple of N bytes; the decoding filter pads each scan line to a multiple 31227dd7cddfSDavid du Colombierof N bytes. Default value: 1. (scfx.h, scfd.c, scfe.c) 31237dd7cddfSDavid du Colombier 31247dd7cddfSDavid du ColombierIncreases the maximum width of a scan line for the CCITTFaxEncode filter to 31257dd7cddfSDavid du Colombier32000 pixels. (scf.h) 31267dd7cddfSDavid du Colombier 31273ff48bf5SDavid du Colombier</pre><h3><a name="V3.60_Library"></a>Library</h3><pre> 31287dd7cddfSDavid du Colombier 31297dd7cddfSDavid du ColombierFixes bugs: 31307dd7cddfSDavid du Colombier - Cached characters sometimes had extra blank space on the left, 31317dd7cddfSDavid du Colombierleading to some unnecessary bit-shuffling when imaging them. (gxccman.c) 31327dd7cddfSDavid du Colombier - In rare cases, gray halftones called gx_color_load unnecessarily. 31337dd7cddfSDavid du Colombier(gxdither.c) 31347dd7cddfSDavid du Colombier - The list of all-bands commands wasn't initialized/reset properly. 31357dd7cddfSDavid du Colombier(gxclist.c, gxclread.c) 31367dd7cddfSDavid du Colombier - Rendering an anti-aliased character to a non-anti-aliased device 31377dd7cddfSDavid du Colombierdidn't free the temporary bitmap, causing memory to be lost. (gxccache.c) 31387dd7cddfSDavid du Colombier - Dash patterns where the offset exactly reached a run of length 0 31397dd7cddfSDavid du Colombierskipped over the 0-length run. (gsline.c) 31407dd7cddfSDavid du Colombier - Rectangles closed with both lineto and closepath weren't 31417dd7cddfSDavid du Colombierrecognized as rectangles. This is only a performance bug. (gxpath2.c) 31427dd7cddfSDavid du Colombier - Because of a typo in a macro formal parameter list, a private name 31437dd7cddfSDavid du Colombierwas duplicated. (gsstruct.h) 31447dd7cddfSDavid du Colombier - Text display operations didn't update the current character in the 31457dd7cddfSDavid du Colombierenumerator structure during the fastest path through the code. This only 31467dd7cddfSDavid du Colombiermatters to one very unusual commercial client. (gschar.c) 31477dd7cddfSDavid du Colombier - Some `const' declarations were missing. (gsparam.h, gxistate.h, 31487dd7cddfSDavid du Colombierstdpre.h; gdevm1.c, gsalloc.c, gsfont.c, gsimage3.c, gsmemory.c, gsmisc.c, 31497dd7cddfSDavid du Colombiergspcolor.c, gstype1.c, gxfill.c, gxpcopy.c) 31507dd7cddfSDavid du Colombier 31517dd7cddfSDavid du ColombierChanges the header files to assume that gcc on Solaris defines 31527dd7cddfSDavid du Colombier__svr4__ and that, in this case, <string.h> has the right stuff in it. 31537dd7cddfSDavid du Colombier(memory_.h) 31547dd7cddfSDavid du Colombier 31557dd7cddfSDavid du ColombierRefactors the character cache to share structures with a similar cache 31567dd7cddfSDavid du Colombierused by band lists. Eventually the band list may be able to reference 31577dd7cddfSDavid du Colombierthe character cache directly, saving a lot of copying. (gxbcache.h, 31587dd7cddfSDavid du Colombiergxfcache.h, gsfont.c, gxbcache.c, gxccache.c, gxccman.c) 31597dd7cddfSDavid du Colombier 31607dd7cddfSDavid du ColombierSpeeds up getting the side bearing and width of a Type 1 charstring a 31617dd7cddfSDavid du Colombierlittle. (gxtype1.h, gstype1.c) 31627dd7cddfSDavid du Colombier 31637dd7cddfSDavid du ColombierRedesigns band lists so that they can cache character bitmaps as well as 31647dd7cddfSDavid du Colombierhalftone bitmaps. Characters may be written for all bands, not just the 31657dd7cddfSDavid du Colombierband(s) they appear in, depending on the setting of the CHAR_ALL_BANDS_COUNT 31667dd7cddfSDavid du Colombierparameter in gxclbits.c. (gxcldev.h, gxclist.h, gxclbits.c, gxclist.c, 31677dd7cddfSDavid du Colombiergxclread.c) 31687dd7cddfSDavid du Colombier 31697dd7cddfSDavid du ColombierAdds G4 fax compression for band list bitmaps. (gxcldev.h, gxclist.c, 31707dd7cddfSDavid du Colombiergxclread.c) 31717dd7cddfSDavid du Colombier 31727dd7cddfSDavid du ColombierIncorporates the new set_defaults procedure into the memory-based band list 31737dd7cddfSDavid du Colombierimplementation. (gxclmem.c) 31747dd7cddfSDavid du Colombier 31757dd7cddfSDavid du ColombierImplements a halftoning device that can be used in a device pipeline. 31767dd7cddfSDavid du Colombier(gdevht.h, gzht.h, gdevht.c, gxcht.c) 31777dd7cddfSDavid du Colombier 31787dd7cddfSDavid du ColombierFactors out imager state from the full graphics state. This division is 31797dd7cddfSDavid du Colombierpreliminary and subject to change. (gxistate.h, gxop1.h, gzstate.h, 31807dd7cddfSDavid du Colombiergsline.c, gsstate.c, gstype1.c, gxhint*.c) 31817dd7cddfSDavid du Colombier 31827dd7cddfSDavid du ColombierImplements passing fill operations in the band list, except for pattern 31837dd7cddfSDavid du Colombiercolor or colored halftones. (gxcldev.h, gxclist.h, gxclist.c, gxclread.c) 31847dd7cddfSDavid du Colombier 31857dd7cddfSDavid du ColombierImplements passing stroke operations in the band list, except for pattern 31867dd7cddfSDavid du Colombiercolor or colored halftones. (gsline.h, gslparam.h, gxline.h, gzline.h, 31877dd7cddfSDavid du Colombiergsline.c; gxcldev.h, gxclist.h, gxclist.c, gxclread.c) 31887dd7cddfSDavid du Colombier 31897dd7cddfSDavid du ColombierImplements the ability to represent halftoned characters in the band list. 31907dd7cddfSDavid du Colombier(gxccache.c) 31917dd7cddfSDavid du Colombier 31927dd7cddfSDavid du ColombierStarts to implement the ability to do halftoning during the rendering phase 31937dd7cddfSDavid du Colombierrather than before writing the band list (currently for black-and-white 31947dd7cddfSDavid du Colombierdevices only). Doing this required NON-BACKWARD-COMPATIBLE changes to the 31957dd7cddfSDavid du Colombierinterfaces of a few internal procedures: 31967dd7cddfSDavid du Colombier gx_check_tile_size, gx_render_device_{color,gray} 31977dd7cddfSDavid du Colombier(gxdcolor.h, gxdht.h, gzht.h, gsht.c, gsimage1.c, gsmisc.c, gspcolor.c, 31987dd7cddfSDavid du Colombiergsstate.c, gxcht.c, gxclbits.c, gxdither.c, gxht.c) 31997dd7cddfSDavid du Colombier 32007dd7cddfSDavid du ColombierImplements passing clipping information in the band list. (gzcpath.h, 32017dd7cddfSDavid du Colombiergxacpath.c, gxclpath.c, gxclread.c, gxcpath.c) 32027dd7cddfSDavid du Colombier 32037dd7cddfSDavid du ColombierRemoves the gs_state * parameter from the device color fill_rectangle 32047dd7cddfSDavid du Colombierprocedures and many of their callers, since it is no longer needed. This is 32057dd7cddfSDavid du Colombiera non-backward-compatible change to an internal API. (gdevmrop.h, 32067dd7cddfSDavid du Colombiergxdcolor.h, gxdraw.h, gxpaint.h, gdevmrop.c, gsimage.c, gspcolor.c, gxcht.c, 32077dd7cddfSDavid du Colombiergxclread.c, gxdraw.c, gxfill.c, gxht.c, gxpaint.c, gxstroke.c) 32087dd7cddfSDavid du Colombier 32097dd7cddfSDavid du ColombierRemoves gxdevice.h from gzstate.h, since not all modules requiring access to 32107dd7cddfSDavid du Colombierthe graphics state need to know the implementation of devices. This entails 32117dd7cddfSDavid du Colombieradding gxdevice.h to the include lists for some modules. (gxchar.h, 32127dd7cddfSDavid du Colombiergxcpath.h, gxcvalue.h, gxdevice.h, gxtype1.h, gzstate.h; gschar.c, 32137dd7cddfSDavid du Colombiergscoord.c, gsdevice.c, gsimage1.c, gsimage2.c, gsimage3.c, gspaint.c, 32147dd7cddfSDavid du Colombiergspath.c, gsstate.c, gstype1.c, gxccache.c, gxccman.c, gxhint1.c, gxhint2.c, 32157dd7cddfSDavid du Colombiergxhint3.c, gxpaint.c) 32167dd7cddfSDavid du Colombier 32177dd7cddfSDavid du ColombierAdds a compile-time option, ALPHA_LSB_FIRST, which causes alpha-sampled 32187dd7cddfSDavid du Colombiercharacters to be nibble-reversed in the cache. This was created for a 32197dd7cddfSDavid du Colombierspecialized application and does not interact well with the rest of the 32207dd7cddfSDavid du Colombiercode. (gsbitops.c) 32217dd7cddfSDavid du Colombier 32227dd7cddfSDavid du ColombierSubstantially reduces the space required to represent 24- or 32-bit colors 32237dd7cddfSDavid du Colombierin the band list, by using more aggressive color differencing. (gxcldev.h, 32247dd7cddfSDavid du Colombiergxclist.c, gxclread.c) 32257dd7cddfSDavid du Colombier 32267dd7cddfSDavid du ColombierChanges the allocation of unique IDs for halftone tiles to use the gray 32277dd7cddfSDavid du Colombierlevel rather than the number of 1-bits as the increment to a base ID; this 32287dd7cddfSDavid du Colombierallows more efficient (delta) representation of halftone indices in the band 32297dd7cddfSDavid du Colombierlist. (gxcldev.h, gxclist.c, gxclread.c, gxht.c) 32307dd7cddfSDavid du Colombier 32317dd7cddfSDavid du ColombierSubstantially speeds up entering anti-aliased characters in the cache, by 32327dd7cddfSDavid du Colombierremoving white space before compressing rather than vice versa. 32337dd7cddfSDavid du Colombier(gsbitops.c, gxccman.c) 32347dd7cddfSDavid du Colombier 32353ff48bf5SDavid du Colombier</pre> 32367dd7cddfSDavid du Colombier 32373ff48bf5SDavid du Colombier<hr> 32383ff48bf5SDavid du Colombier 32393ff48bf5SDavid du Colombier<h2><a name="Version3.53"></a>Version 3.53 (1/10/96)</h2> 32403ff48bf5SDavid du Colombier 32413ff48bf5SDavid du Colombier<p> 32427dd7cddfSDavid du ColombierThis is an anomalous, out-of-sequence release requested by a commercial 32437dd7cddfSDavid du Colombierlicensee. It consists of 3.52 plus the following retrofits from 3.60 32447dd7cddfSDavid du Colombierthrough 3.63: 32457dd7cddfSDavid du Colombier - PDF interpreter and pdf2ps; 32467dd7cddfSDavid du Colombier - Type 1 rasterizer fixes; 32477dd7cddfSDavid du Colombier - Type 1 rasterizer and polygon fill performance improvements; 32487dd7cddfSDavid du Colombier - MS Windows and OS/2 fixes; 32497dd7cddfSDavid du Colombier - A few other important fixes. 32507dd7cddfSDavid du ColombierIt does NOT fix all problems reported since 3.52. 32517dd7cddfSDavid du Colombier 32523ff48bf5SDavid du Colombier<p> 32537dd7cddfSDavid du ColombierThe list of changes below indicates which subsequent release was the source 32547dd7cddfSDavid du Colombierof each change. In several cases, minor editing of the change was required 32557dd7cddfSDavid du Colombierto make it compatible with 3.52. 32567dd7cddfSDavid du Colombier 32573ff48bf5SDavid du Colombier<h3><a name="V3.53_Documentation"></a>Documentation</h3><pre> 32587dd7cddfSDavid du ColombierFixes bugs: 32597dd7cddfSDavid du Colombier [3.61] The analysis of curve monotonocity in gxpcopy.c had an error. 32607dd7cddfSDavid du Colombier(gxpcopy.c) 32617dd7cddfSDavid du Colombier 32627dd7cddfSDavid du Colombier[3.63] Notes that the OS/2 implementation now requires EMX/GCC 0.9b rather 32637dd7cddfSDavid du Colombierthan 0.9a. (use.doc) 32647dd7cddfSDavid du Colombier 32657dd7cddfSDavid du Colombier[3.62] Notes that for Win32s, gs16spl.exe must be in the same directory as 32667dd7cddfSDavid du Colombiergswin32.exe. (use.doc) 32677dd7cddfSDavid du Colombier 32687dd7cddfSDavid du Colombier[3.62] Adds a reference to dos-psv, another "dumb terminal" user interface 32697dd7cddfSDavid du Colombierfor Ghostscript intended for MS-DOS users. (README) 32707dd7cddfSDavid du Colombier 32717dd7cddfSDavid du Colombier[3.61] Adds a pointer to DEC's free pstotext utility. (README) 32727dd7cddfSDavid du Colombier 32737dd7cddfSDavid du Colombier[3.60] Adds a reference to ps_view.ps, a "dumb terminal" user interface for 32747dd7cddfSDavid du ColombierGhostscript intended for MS-DOS users. (README) 32757dd7cddfSDavid du Colombier 32763ff48bf5SDavid du Colombier</pre><h3><a name="V3.53_Procedures"></a>Procedures</h3><pre> 32777dd7cddfSDavid du Colombier 32787dd7cddfSDavid du ColombierFixes bugs: 32797dd7cddfSDavid du Colombier [3.60] The geninit program (the implementation of COMPILE_INITS=1) 32807dd7cddfSDavid du Colombierdidn't parse the command line properly, and didn't check for PostScript 32817dd7cddfSDavid du Colombierfiles properly. (geninit.c) 32827dd7cddfSDavid du Colombier [3.60] ccfontab.c was omitted from the fileset. The easiest way to 32837dd7cddfSDavid du Colombierfix this was to rename it to icfontab.c. (gs.mak, int.mak, ccfontab.c) 32847dd7cddfSDavid du Colombier [3.60] The definition of pdfread.dev did an ADDMOD, not a SETMOD. 32857dd7cddfSDavid du Colombier(int.mak) 32867dd7cddfSDavid du Colombier 32877dd7cddfSDavid du Colombier[3.60] Adds a -dNOFONTPATH switch to suppress any consultation of the 32887dd7cddfSDavid du ColombierFONTPATH variable or the GS_FONTPATH environment variable. (gs_fonts.ps, 32897dd7cddfSDavid du Colombiergs_init.ps) 32907dd7cddfSDavid du Colombier 32913ff48bf5SDavid du Colombier</pre><h3><a name="V3.53_Utilities"></a>Utilities</h3><pre> 32927dd7cddfSDavid du Colombier 32937dd7cddfSDavid du ColombierFixes bugs: 32947dd7cddfSDavid du Colombier [3.61] pdf2ps didn't write Widths or Encoding in the converted file, 32957dd7cddfSDavid du Colombierproducing incorrect spacing and incorrect characters. (pdf_2ps.ps) 32967dd7cddfSDavid du Colombier [3.60] ps2ascii left a value on the stack for each unrecognized 32977dd7cddfSDavid du Colombiercharacter it processed, eventually causing a stackoverflow. (ps2ascii.ps) 32987dd7cddfSDavid du Colombier 32997dd7cddfSDavid du Colombier[3.61] Changes the rollconv.ps utility to produce files whose names conform 33007dd7cddfSDavid du Colombierto the 8.3 length restriction, and to reduce the fixed RAM overhead for 33017dd7cddfSDavid du ColombierKanji fonts. (rollconv.ps) 33027dd7cddfSDavid du Colombier 33037dd7cddfSDavid du Colombier[3.60] Adds a utility for converting files produced by Macromedia's Rollup 33047dd7cddfSDavid du Colombierprogram to a Type 0 form directly usable by Ghostscript. (rollconv.ps) 33057dd7cddfSDavid du Colombier 33063ff48bf5SDavid du Colombier</pre><h3><a name="V3.53_Drivers"></a>Drivers</h3><pre> 33077dd7cddfSDavid du Colombier 33087dd7cddfSDavid du ColombierFixes bugs: 33097dd7cddfSDavid du Colombier [3.60] Because of a typo, the LaserJet drivers had incorrect 33107dd7cddfSDavid du Colombiermargins. This was probably a new bug in 3.5x. (gdevdjet.c) 33117dd7cddfSDavid du Colombier [3.60] A private name was duplicated. (gdevtfax.c) 33127dd7cddfSDavid du Colombier [3.60] The x11alpha driver passed invalid colors to the X library. 33137dd7cddfSDavid du Colombier(gdevxalt.c) 33147dd7cddfSDavid du Colombier [3.60] The x11alpha driver set the blue component of colors 33157dd7cddfSDavid du Colombierincorrectly. (gdevxalt.c) 33167dd7cddfSDavid du Colombier 33173ff48bf5SDavid du Colombier</pre><h3><a name="V3.53_Platforms"></a>Platforms</h3><pre> 33187dd7cddfSDavid du Colombier 33197dd7cddfSDavid du ColombierFixes bugs: 33207dd7cddfSDavid du Colombier [3.63] The test for WinExec failure on Win32 was incorrect. 33217dd7cddfSDavid du Colombier(gp_mswin.c) 33227dd7cddfSDavid du Colombier [3.63] getenv was declared redundantly on OS/2. (gp_os2.c) 33237dd7cddfSDavid du Colombier [3.63] gs16spl.c was missing <string.h>. (gs16spl.c) 33247dd7cddfSDavid du Colombier [3.61] Printing didn't work in 32-bit MS Windows environments. 33257dd7cddfSDavid du Colombier(bcwin32.mak, gdevmswn.c, gp_mswin.c) 33267dd7cddfSDavid du Colombier [3.61] There were some compatibility problems with IBM C. (os2.mak, 33277dd7cddfSDavid du Colombiergsdll.h, gdevpm.c, gp_os2.c) 33287dd7cddfSDavid du Colombier [3.60] The printjob created by Ghostscript was called "Ghostscirpt" 33297dd7cddfSDavid du Colombierinstead of "Ghostscript". (gp_os2.c) 33307dd7cddfSDavid du Colombier [3.60] An "export" declaration was omitted from DllInit. 33317dd7cddfSDavid du Colombier(gp_mswin.c) 33327dd7cddfSDavid du Colombier 33337dd7cddfSDavid du Colombier[3.61] Adds a conditional to work around a bug in gcc 2.7.x (it didn't 33347dd7cddfSDavid du Colombierrecognize that the target of a const T * might still be mutable through 33357dd7cddfSDavid du Colombieraliasing). (stdpre.h) 33367dd7cddfSDavid du Colombier 33373ff48bf5SDavid du Colombier</pre><h3><a name="V3.53_Fonts"></a>Fonts</h3><pre> 33387dd7cddfSDavid du Colombier 33397dd7cddfSDavid du ColombierFixes bugs: 33407dd7cddfSDavid du Colombier [3.61] Rasterizing a character in a Type 1 font with an invalid 33417dd7cddfSDavid du ColombierFontBBox left some garbage on the operand stack (bug introduced in 3.52 or 33427dd7cddfSDavid du Colombier3.60). (gs_type1.ps) 33437dd7cddfSDavid du Colombier [3.61] The font substitution algorithm could fail or loop. 33447dd7cddfSDavid du Colombier(gs_fonts.ps) 33457dd7cddfSDavid du Colombier 33467dd7cddfSDavid du Colombier[3.60] Adds Heavy as a synonym for Bold when doing intelligent font 33477dd7cddfSDavid du Colombiersubstitution. (gs_fonts.ps) 33487dd7cddfSDavid du Colombier 33493ff48bf5SDavid du Colombier</pre><h3><a name="V3.53_Interpreter"></a>Interpreter</h3><pre> 33507dd7cddfSDavid du Colombier 33517dd7cddfSDavid du ColombierFixes bugs: 33527dd7cddfSDavid du Colombier [3.63] Invoking setpagedevice with an undefined key, even with 33537dd7cddfSDavid du ColombierPolicy = 1, caused an error. (gs_setpd.ps) 33547dd7cddfSDavid du Colombier [3.62] Setting the PageSize policy to 1 and then trying to set the 33557dd7cddfSDavid du Colombierpage size caused an error if FIXEDMEDIA was selected. (gs_setpd.ps) 33567dd7cddfSDavid du Colombier [3.61] Rotated characters were rendered incorrectly (bug introduced 33577dd7cddfSDavid du Colombierin 3.52). (gstype1.c) 33587dd7cddfSDavid du Colombier [3.60] currentscreen and currentcolorscreen could give an error if 33597dd7cddfSDavid du Colombierthe current screen was set with sethalftone (or, for currentscreen, 33607dd7cddfSDavid du Colombiersetcolorscreen). (gs_dps1.ps) 33617dd7cddfSDavid du Colombier [3.60] Streams could get removed from a bookkeeping list 33627dd7cddfSDavid du Colombierprematurely, and wind up dangling. (zfile.c) 33637dd7cddfSDavid du Colombier [3.60] Multiple -I switches set the search path incorrectly. 33647dd7cddfSDavid du Colombier(gsmain.c) 33657dd7cddfSDavid du Colombier [3.60] Fonts could wind up with a pointer to the wrong VM space, 33667dd7cddfSDavid du Colombiercausing potential GC or save/restore confusion. (zfont2.c) 33677dd7cddfSDavid du Colombier [3.60] upath could leave garbage on the stack if it failed. 33687dd7cddfSDavid du Colombier(gs_dps1.ps) 33697dd7cddfSDavid du Colombier 33707dd7cddfSDavid du Colombier[3.61] Extends the client API to allow for pushing values onto the operand 33717dd7cddfSDavid du Colombierstack. (imain.h, gs.c, gsmain.c) 33727dd7cddfSDavid du Colombier 33737dd7cddfSDavid du Colombier[3.61] Defines a .setdefaultscreen procedure that sets the default halftone 33747dd7cddfSDavid du Colombierscreen, transfer function, and stroke adjustment for the current device. 33757dd7cddfSDavid du ColombierChanges selectdevice and setpagedevice so that they call .setdefaultscreen; 33767dd7cddfSDavid du Colombiersetpagedevice calls .setdefaultscreen before calling the Install procedure, 33777dd7cddfSDavid du Colombierso that Install can set different parameters if it wishes. Note that 33787dd7cddfSDavid du Colombiersetdevice does not do this. (gs_init.ps, gs_setpd.ps) 33797dd7cddfSDavid du Colombier 33807dd7cddfSDavid du Colombier[3.60] Speeds up rasterizing characters into the cache a little. 33817dd7cddfSDavid du Colombier(gs_type0.ps) 33827dd7cddfSDavid du Colombier 33837dd7cddfSDavid du Colombier[3.60] Changes the default limit on the size of cached characters from the 33847dd7cddfSDavid du Colombiermaximum of (18 points or 5 times the "average" character size) to (18 points 33857dd7cddfSDavid du Colombieror 1% of the total cache size). (gs_init.ps) 33867dd7cddfSDavid du Colombier 33877dd7cddfSDavid du Colombier[3.60] Implements parts of the Type 1 BuildChar callout in C. (gs_type1.ps, 33887dd7cddfSDavid du Colombierzchar.c) 33897dd7cddfSDavid du Colombier 33903ff48bf5SDavid du Colombier</pre><h3><a name="V3.53_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 33917dd7cddfSDavid du Colombier 33927dd7cddfSDavid du ColombierFixes bugs: 33937dd7cddfSDavid du Colombier [3.62] If a PDF file substituted a calibrated color space for the 33947dd7cddfSDavid du ColombierDeviceGray or DeviceRGB color space using a ColorSpace resource, the 33957dd7cddfSDavid du ColombierPostScript file that pdf2ps produced from that PDF file caused an error. 33967dd7cddfSDavid du Colombier(gs_pdf.ps) 33977dd7cddfSDavid du Colombier [3.61] Tf set the current text font twice, and interacted with 33987dd7cddfSDavid du Colombierpdf2ps in an awkward way. (gs_pdf.ps, pdf_2ps.ps, pdf_font.ps) 33997dd7cddfSDavid du Colombier [3.61] If a font had variant Widths, it could get confused in the 34007dd7cddfSDavid du Colombiercache with the underlying font. (pdf_font.ps) 34017dd7cddfSDavid du Colombier [3.61] If a character appeared twice in an encoding and the font 34027dd7cddfSDavid du Colombierspecified different Widths values for the two occurrences, the last Width 34037dd7cddfSDavid du Colombierwould be used. We patched this to ignore zero Widths, which is not the 34047dd7cddfSDavid du Colombiercorrect solution but which almost always produces correct output. 34057dd7cddfSDavid du Colombier(pdf_font.ps) 34067dd7cddfSDavid du Colombier [3.61] Arrays containing nulls didn't print out correctly (bug 34077dd7cddfSDavid du Colombierintroduced in 3.60). (gs_init.ps) 34087dd7cddfSDavid du Colombier [3.61] Some PDF files contain very large dictionaries, which caused 34097dd7cddfSDavid du Colombiera stackoverflow. (pdf_base.ps) 34107dd7cddfSDavid du Colombier [3.60] The length of an image's data was sometimes calculated 34117dd7cddfSDavid du Colombierincorrectly, causing an error when converting PDF to PostScript. 34127dd7cddfSDavid du Colombier(pdf_draw.ps) 34137dd7cddfSDavid du Colombier [3.60] If word spacing and/or text spacing was non-zero, an error 34147dd7cddfSDavid du Colombiercould occur. (gs_pdf.ps) 34157dd7cddfSDavid du Colombier [3.60] Text that was both filled and stroked caused an error. 34167dd7cddfSDavid du Colombier(gs_pdf.ps) 34177dd7cddfSDavid du Colombier 34187dd7cddfSDavid du Colombier[3.61] Speeds up the initial processing of PDF files by caching the map from 34197dd7cddfSDavid du Colombierpage numbers to page objects, and by not scanning the outlines if we aren't 34207dd7cddfSDavid du Colombierproducing PostScript output. (pdf_2ps.ps, pdf_base.ps, pdf_main.ps) 34217dd7cddfSDavid du Colombier 34223ff48bf5SDavid du Colombier</pre><h3><a name="V3.53_Streams"></a>Streams</h3><pre> 34237dd7cddfSDavid du Colombier 34247dd7cddfSDavid du ColombierFixes bugs: 34257dd7cddfSDavid du Colombier [3.60] When closing an encoding filter stream whose target was also 34267dd7cddfSDavid du Colombiera filter, the latter could get called incorrectly with last = 1, possibly 34277dd7cddfSDavid du Colombiermore than once, leading to premature EOD markers. (stream.c) 34287dd7cddfSDavid du Colombier [3.60] The LZW-compatible encoder put out an incorrect end-of-data 34297dd7cddfSDavid du Colombiercode. (slzwce.c) 34307dd7cddfSDavid du Colombier [3.60] The LZW-compatible encoder didn't put out a reset code soon 34317dd7cddfSDavid du Colombierenough. (slzwce.c) 34327dd7cddfSDavid du Colombier [3.60] Doing a sgets on a closed stream could call sreadbuf, 34337dd7cddfSDavid du Colombierpossibly causing an error. (stream.c) 34347dd7cddfSDavid du Colombier 34353ff48bf5SDavid du Colombier</pre><h3><a name="V3.53_Library"></a>Library</h3><pre> 34367dd7cddfSDavid du Colombier 34377dd7cddfSDavid du ColombierFixes bugs: 34387dd7cddfSDavid du Colombier [3.63] On 16-bit platforms, the computation of t2 and t3 in 34397dd7cddfSDavid du Colombiergx_curve_x_at_y could overflow, leading to incorrect output. (gxpcopy.c) 34407dd7cddfSDavid du Colombier [3.61] glyphshow displayed a character with code 0 rather than the 34417dd7cddfSDavid du Colombierrequested character (bug introduced in 3.60.) (gschar.c) 34427dd7cddfSDavid du Colombier [3.61] If trimming white space around a character reduced its 34437dd7cddfSDavid du Colombierraster, the character was garbled in the cache (bug introduced in 3.60.) 34447dd7cddfSDavid du Colombier(gxccman.c) 34457dd7cddfSDavid du Colombier [3.61] colorimage would incorrectly convert white pixels to black if 34467dd7cddfSDavid du Colombierthe image color space was CMYK, the current color space was not CMYK, and 34477dd7cddfSDavid du Colombierthe number of bits per pixel was 4 or 8. (gsimage2.c) 34487dd7cddfSDavid du Colombier [3.61] Type 1 fonts that used the Flex feature applied hints to the 34497dd7cddfSDavid du Colombierpath multiple times, causing dropouts, uneven stems, and other problems (bug 34507dd7cddfSDavid du Colombierprobably introduced in 3.21). (gstype1.c) 34517dd7cddfSDavid du Colombier [3.61] If a Type 1 font used the Flex feature within the accent of 34527dd7cddfSDavid du Colombieran accented character defined with seac, the shape of the accent could be 34537dd7cddfSDavid du Colombierdistorted. (gxtype1.h, gstype1.c) 34547dd7cddfSDavid du Colombier [3.61] If a Type 1 font changed hints using the hint replacement 34557dd7cddfSDavid du Colombierfacility when the last operation was a closepath, the old hints would be 34567dd7cddfSDavid du Colombierapplied a second time, distorting the shape. (gxhint2.c, gxhint3.c) 34577dd7cddfSDavid du Colombier [3.60] Cached characters sometimes had extra blank space on the 34587dd7cddfSDavid du Colombierleft, leading to some unnecessary bit-shuffling when imaging them. 34597dd7cddfSDavid du Colombier(gxccman.c) 34607dd7cddfSDavid du Colombier [3.60] The list of all-bands commands wasn't initialized/reset 34617dd7cddfSDavid du Colombierproperly. (gxclist.c) 34627dd7cddfSDavid du Colombier [3.60] Because of a typo in a macro formal parameter list, a private 34637dd7cddfSDavid du Colombiername was duplicated. (gsstruct.h) 34647dd7cddfSDavid du Colombier [3.60] Text display operations didn't update the current character 34657dd7cddfSDavid du Colombierin the enumerator structure during the fastest path through the code. This 34667dd7cddfSDavid du Colombieronly matters to one very unusual commercial client. (gschar.c) 34677dd7cddfSDavid du Colombier 34687dd7cddfSDavid du Colombier[3.61] Adds an alternative implementation of the core path filling algorithm 34697dd7cddfSDavid du Colombierthat is much faster on objects with curves but doesn't handle Y fattening. 34707dd7cddfSDavid du ColombierThis is the implementation that will normally be used for rasterizing 34717dd7cddfSDavid du Colombiercharacters. This implementation rasterizes curves directly, without 34727dd7cddfSDavid du Colombierflattening them. (gxfixed.h, gxpath.h, gzpath.h, gxdraw.c, gxfill.c, 34737dd7cddfSDavid du Colombiergxpcopy.c) 34747dd7cddfSDavid du Colombier 34757dd7cddfSDavid du Colombier[3.61] Speeds up the flattening of curves substantially by omitting more 34767dd7cddfSDavid du Colombierredundant points. (gxpcopy.c) 34777dd7cddfSDavid du Colombier 34787dd7cddfSDavid du Colombier[3.61] Speeds up character bitmap compression a little more. (gsbitops.h, 34797dd7cddfSDavid du Colombiergdevabuf.c, gsbitops.c, gxccman.c) 34807dd7cddfSDavid du Colombier 34817dd7cddfSDavid du Colombier[3.61] Speeds up anti-aliased graphics a bit by computing a bounding box 34827dd7cddfSDavid du Colombierbefore converting from oversampling to alpha values, and by speeding up the 34837dd7cddfSDavid du Colombierbounding box computation itself. (gsbitops.h, gdevabuf.c, gsbitops.c, 34847dd7cddfSDavid du Colombiergxccman.c) 34857dd7cddfSDavid du Colombier 34867dd7cddfSDavid du Colombier[3.60] Speeds up getting the side bearing and width of a Type 1 charstring a 34877dd7cddfSDavid du Colombierlittle. (gxtype1.h, gstype1.c) 34887dd7cddfSDavid du Colombier 34897dd7cddfSDavid du Colombier[3.60] Adds a compile-time option, ALPHA_LSB_FIRST, which causes 34907dd7cddfSDavid du Colombieralpha-sampled characters to be nibble-reversed in the cache. This was 34917dd7cddfSDavid du Colombiercreated for a specialized application and does not interact well with the 34927dd7cddfSDavid du Colombierrest of the code. (gsbitops.c) 34937dd7cddfSDavid du Colombier 34947dd7cddfSDavid du Colombier[3.60] Substantially speeds up entering anti-aliased characters in the 34957dd7cddfSDavid du Colombiercache, by removing white space before compressing rather than vice versa. 34967dd7cddfSDavid du Colombier(gsbitops.c, gxccman.c) 34977dd7cddfSDavid du Colombier 34983ff48bf5SDavid du Colombier</pre> 34997dd7cddfSDavid du Colombier 35003ff48bf5SDavid du Colombier<h2><a name="Version3.52"></a>Version 3.52 (limited) (10/6/95)</h2> 35013ff48bf5SDavid du Colombier 35023ff48bf5SDavid du Colombier<p> 35037dd7cddfSDavid du ColombierThis is an incremental release to fix a few problems in 3.51. Since it is 35047dd7cddfSDavid du Colombierbeing made in an environment with no network connectivity, it will probably 35057dd7cddfSDavid du Colombiernot be released to the general public. ****** THE CHANGES MARKED WITH *** 35067dd7cddfSDavid du ColombierBELOW WERE LOST IN THE PROCESS OF SHUFFLING FILESETS BETWEEN ENVIRONMENTS. 35077dd7cddfSDavid du ColombierTHEY ARE INCORPORATED IN 3.60 BUT NOT IN 3.52. ****** 35087dd7cddfSDavid du Colombier 35093ff48bf5SDavid du Colombier<h3><a name="V3.52_Procedures"></a>Procedures</h3><pre> 35107dd7cddfSDavid du ColombierFixes bugs: 35117dd7cddfSDavid du Colombier - The fileset included a meaningless empty file. (acctest.ps) 35127dd7cddfSDavid du Colombier *** The definition of pdfread.dev did an ADDMOD, not a SETMOD. 35137dd7cddfSDavid du Colombier(int.mak) 35147dd7cddfSDavid du Colombier 35153ff48bf5SDavid du Colombier</pre><h3><a name="V3.52_Interpreter"></a>Interpreter</h3><pre> 35167dd7cddfSDavid du Colombier 35177dd7cddfSDavid du ColombierFixes bugs: 35187dd7cddfSDavid du Colombier - The RunLengthEncode filter used with a dictionary argument could 35197dd7cddfSDavid du Colombiergive a spurious error. (zfilter.c) 35207dd7cddfSDavid du Colombier - The fast form of the 'dup' operator failed to check for stack 35217dd7cddfSDavid du Colombieroverflow, which could lead to memory smashing. (interp.c) 35227dd7cddfSDavid du Colombier *** Level 1 configurations gave errors during initialization. 35237dd7cddfSDavid du Colombier(ialloc.c, iinit.c, ireclaim.c) 35247dd7cddfSDavid du Colombier *** Attempting to look up or insert a noaccess string as a 35257dd7cddfSDavid du Colombierdictionary key converted the string to a name rather than giving an error. 35267dd7cddfSDavid du Colombier(idict.h, idict.c) 35277dd7cddfSDavid du Colombier 35287dd7cddfSDavid du ColombierAdds a C implementation of the .dicttomark (>>) procedure. (gs_init.ps, 35297dd7cddfSDavid du Colombierzdict.c) 35307dd7cddfSDavid du Colombier 35317dd7cddfSDavid du Colombier*** Implements parts of the Type 1 BuildChar callout in C. (gs_type1.ps, 35327dd7cddfSDavid du Colombierifont.h, zchar.c, zfont1.c, zfont2.c) 35337dd7cddfSDavid du Colombier 35343ff48bf5SDavid du Colombier</pre><h3><a name="V3.52_Library"></a>Library</h3><pre> 35357dd7cddfSDavid du Colombier 35367dd7cddfSDavid du ColombierFixes bugs: 35377dd7cddfSDavid du Colombier - Braces were missing in an initializer. (gxdcolor.h) 35387dd7cddfSDavid du Colombier - Composite fonts with a non-zero translation in the FontMatrix 35397dd7cddfSDavid du Colombierpositioned characters incorrectly. (gschar.c) 35407dd7cddfSDavid du Colombier *** gsparam.c wouldn't compile with some versions of the Borland 35417dd7cddfSDavid du Colombiercompiler. (gsparam.c) 35427dd7cddfSDavid du Colombier 35437dd7cddfSDavid du ColombierSpeeds up the handling of curve segments in Type 1 fonts a little. 35447dd7cddfSDavid du Colombier(gstype1.c) 35457dd7cddfSDavid du Colombier 35467dd7cddfSDavid du ColombierSpeeds up displaying very short strings a little. (gschar.c) 35477dd7cddfSDavid du Colombier 35487dd7cddfSDavid du Colombier*** Implements parts of the Type 1 BuildChar callout in C. (gxfont.h) 35497dd7cddfSDavid du Colombier 35503ff48bf5SDavid du Colombier</pre> 35517dd7cddfSDavid du Colombier 35523ff48bf5SDavid du Colombier<h2><a name="Version3.51"></a>Version 3.51 (9/27/95)</h2> 35533ff48bf5SDavid du Colombier 35543ff48bf5SDavid du Colombier<p> 35557dd7cddfSDavid du ColombierThis is the first public release since 3.33. Its main features are a 35567dd7cddfSDavid du Colombierworking setpagedevice, a working PDF interpreter, and a working PDF to PS 35577dd7cddfSDavid du Colombierconverter. 35587dd7cddfSDavid du Colombier 35593ff48bf5SDavid du Colombier<h3><a name="V3.51_Documentation"></a>Documentation</h3><pre> 35607dd7cddfSDavid du Colombier 35617dd7cddfSDavid du ColombierFixes bugs: 35627dd7cddfSDavid du Colombier - The -dSHORTERRORS switch wasn't documented in enough places. 35637dd7cddfSDavid du Colombier(current.doc, use.doc) 35647dd7cddfSDavid du Colombier - The DLL documentation was internally inconsistent. (dll.doc) 35657dd7cddfSDavid du Colombier - The %pipe% file name syntax wasn't documented. (language.doc) 35667dd7cddfSDavid du Colombier 35673ff48bf5SDavid du Colombier</pre><h3><a name="V3.51_Procedures"></a>Procedures</h3><pre> 35687dd7cddfSDavid du Colombier 35697dd7cddfSDavid du ColombierFixes bugs: 35707dd7cddfSDavid du Colombier - caption.ps wasn't installed properly. (unix-end.mak) 35717dd7cddfSDavid du Colombier - geninit depended on $(gconfig_h) in an improper way. (geninit.c, 35727dd7cddfSDavid du Colombierint.mak, *.mak) 35737dd7cddfSDavid du Colombier - One script lacked the #!/bin/sh header. (gsdj500) 35747dd7cddfSDavid du Colombier 35757dd7cddfSDavid du ColombierAdds the 24-bit color TIFF driver to all configurations that support 35767dd7cddfSDavid du Colombierblack-and-white TIFF. (*.mak) 35777dd7cddfSDavid du Colombier 35783ff48bf5SDavid du Colombier</pre><h3><a name="V3.51_Utilities"></a>Utilities</h3><pre> 35797dd7cddfSDavid du Colombier 35807dd7cddfSDavid du ColombierFixes bugs: 35817dd7cddfSDavid du Colombier - align.ps was omitted from the fileset. (psfiles.doc, align.ps, 35827dd7cddfSDavid du Colombierunix-end.mak) 35837dd7cddfSDavid du Colombier 35843ff48bf5SDavid du Colombier</pre><h3><a name="V3.51_Drivers"></a>Drivers</h3><pre> 35857dd7cddfSDavid du Colombier 35867dd7cddfSDavid du ColombierFixes bugs: 35877dd7cddfSDavid du Colombier - A driver had some \s in formal parameter lists. (gdevcdj.c) 35887dd7cddfSDavid du Colombier - A driver had some improper &s. (gdevtifs.c) 35897dd7cddfSDavid du Colombier - The default MS Windows printer driver was very slow. (gdevwpr2.c) 35907dd7cddfSDavid du Colombier - The (newly restructured) TIFF drivers could produce a memory 35917dd7cddfSDavid du Colombieraccess error. (gdevtifs.c) 35927dd7cddfSDavid du Colombier - The CGM drivers referred to an obsolete structure member. 35937dd7cddfSDavid du Colombier(gdevcgm.c) 35947dd7cddfSDavid du Colombier - The black-and-white H-P drivers didn't set the margins properly 35957dd7cddfSDavid du Colombier(again). (gdevdjet.c) 35967dd7cddfSDavid du Colombier - Several of the most common printer drivers omitted some scan lines 35977dd7cddfSDavid du Colombierat the bottom of the page. (gdevprn.h, gdevprn.c) 35987dd7cddfSDavid du Colombier 35997dd7cddfSDavid du ColombierAt the request of the main OS/2 developer, adds a printer device for OS/2. 36007dd7cddfSDavid du Colombier(gdevos2p.c, os2.mak) 36017dd7cddfSDavid du Colombier 36027dd7cddfSDavid du ColombierMakes many changes to the stcolor driver, submitted by the developer just 36037dd7cddfSDavid du Colombierbefore the release. (devices.doc, unix-end.mak, gdevstc.h, gdevstc*.c, 36047dd7cddfSDavid du Colombierstcinfo.ps, stcolor.ps, stcinfo.ps) 36057dd7cddfSDavid du Colombier 36063ff48bf5SDavid du Colombier</pre><h3><a name="V3.51_Platforms"></a>Platforms</h3><pre> 36077dd7cddfSDavid du Colombier 36087dd7cddfSDavid du ColombierFixes bugs: 36097dd7cddfSDavid du Colombier - usertime (and realtime) were broken on VMS. (gp_vms.c) 36107dd7cddfSDavid du Colombier - The 32-bit MS Windows DLL control file had a typo. (gsdll32.def) 36117dd7cddfSDavid du Colombier 36127dd7cddfSDavid du ColombierRemoves the color inkjet drivers from the 16-bit Windows executable, because 36137dd7cddfSDavid du Colombierthey overflow the 64K default data segment; adds PCX, TIFF, and BMP output 36147dd7cddfSDavid du Colombierformats. (bcwin.mak) 36157dd7cddfSDavid du Colombier 36163ff48bf5SDavid du Colombier</pre><h3><a name="V3.51_Interpreter"></a>Interpreter</h3><pre> 36177dd7cddfSDavid du Colombier 36187dd7cddfSDavid du ColombierFixes bugs: 36197dd7cddfSDavid du Colombier - A routine was declared 'private' inconsistently. (zcie.c) 36207dd7cddfSDavid du Colombier - -dSHORTERRORS didn't remove enough non-Adobe error output. 36217dd7cddfSDavid du Colombier(gs_init.ps) 36227dd7cddfSDavid du Colombier 36233ff48bf5SDavid du Colombier</pre><h3><a name="V3.51_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 36247dd7cddfSDavid du Colombier 36257dd7cddfSDavid du ColombierFixes bugs: 36267dd7cddfSDavid du Colombier - The ProcSet relied on the presence of NullFont. (gs_pdf.ps) 36277dd7cddfSDavid du Colombier 36283ff48bf5SDavid du Colombier</pre><h3><a name="V3.51_Library"></a>Library</h3><pre> 36297dd7cddfSDavid du Colombier 36307dd7cddfSDavid du ColombierFixes bugs: 36317dd7cddfSDavid du Colombier - There was an extraneous \ outside a macro. (gsline.c) 36327dd7cddfSDavid du Colombier - Scaling up a black-and-white image could caused many scan lines to 36337dd7cddfSDavid du Colombierbe inverted. (gsimage1.c) 36347dd7cddfSDavid du Colombier - The initial clipping path did not take Margins into account 36357dd7cddfSDavid du Colombierproperly. (gxdevice.h, gdevxalt.c, gscoord.c, gsdevice.c, gsdevmem.c, 36367dd7cddfSDavid du Colombiergsdparam.c, gspath.c) 36377dd7cddfSDavid du Colombier - If banding was required, characters could come out as solid black 36387dd7cddfSDavid du Colombierrectangles. (gxclist.c, gxclread.c) 36397dd7cddfSDavid du Colombier 36403ff48bf5SDavid du Colombier</pre> 36417dd7cddfSDavid du Colombier 36423ff48bf5SDavid du Colombier<h2><a name="Version3.50"></a>Version 3.50 (limited) (9/24/95)</h2> 36433ff48bf5SDavid du Colombier 36443ff48bf5SDavid du Colombier<p> 36457dd7cddfSDavid du ColombierThis is the last limited bug-fix release during beta test. The color 36467dd7cddfSDavid du ColombierDeskJet drivers are broken (they sometimes produce black rectangles instead 36477dd7cddfSDavid du Colombierof characters); we will fix this in the next release. 36483ff48bf5SDavid du Colombier<p> 36497dd7cddfSDavid du ColombierThe following issues have been postponed to an unspecified future release: 36503ff48bf5SDavid du Colombier<ul> 36513ff48bf5SDavid du Colombier<li> - Filling areas often writes pixels twice, causing incorrect 36523ff48bf5SDavid du Colombieroutput 36537dd7cddfSDavid du Colombierwith certain unusual RasterOp values. [1.814] 36543ff48bf5SDavid du Colombier<li> - The tar.gz archives should include a subdirectory like 36553ff48bf5SDavid du Colombiergs-3.46/ in 36567dd7cddfSDavid du Colombierthe file names. 36573ff48bf5SDavid du Colombier<li> - The CCITTFaxDecode filter should skip initial junk if 36583ff48bf5SDavid du ColombierEndOfLine = 36597dd7cddfSDavid du Colombiertrue. [1844 8/24/95, NRE] 36603ff48bf5SDavid du Colombier</ul> 36617dd7cddfSDavid du Colombier 36623ff48bf5SDavid du Colombier<h3><a name="V3.50_Procedures"></a>Procedures</h3><pre> 36637dd7cddfSDavid du ColombierFixes bugs: 36647dd7cddfSDavid du Colombier - The name of the new 24-bit TIFF driver was incorrect in one place. 36657dd7cddfSDavid du Colombier(vms.mak) 36667dd7cddfSDavid du Colombier 36673ff48bf5SDavid du Colombier</pre><h3><a name="V3.50_Utilities"></a>Utilities</h3><pre> 36687dd7cddfSDavid du Colombier 36697dd7cddfSDavid du ColombierAdds a new utility to put a caption in a box at the bottom of each page. 36707dd7cddfSDavid du Colombier(caption.ps) 36717dd7cddfSDavid du Colombier 36723ff48bf5SDavid du Colombier</pre><h3><a name="V3.50_Drivers"></a>Drivers</h3><pre> 36737dd7cddfSDavid du Colombier 36747dd7cddfSDavid du ColombierFixes bugs: 36757dd7cddfSDavid du Colombier - The PC display devices weren't page devices. Probably all the 36767dd7cddfSDavid du Colombierother display and window system devices should be made page devices too, but 36777dd7cddfSDavid du Colombierwe aren't going to bother tracking them down. (gdevpcfb.c) 36787dd7cddfSDavid du Colombier - There was a lot of duplicated code in the TIFF drivers. 36797dd7cddfSDavid du Colombier(gdevtifs.h, gdevtfax.c, gdevtfnx.c, gdevtifs.c) 36807dd7cddfSDavid du Colombier 36817dd7cddfSDavid du ColombierUpdates the bjc600 / bjc800 drivers with changes from the author. 36827dd7cddfSDavid du Colombier(devices.doc, gdevbjc.h, gdevcdj.c) 36837dd7cddfSDavid du Colombier 36843ff48bf5SDavid du Colombier</pre><h3><a name="V3.50_Interpreter"></a>Interpreter</h3><pre> 36857dd7cddfSDavid du Colombier 36867dd7cddfSDavid du ColombierFixes bugs: 36877dd7cddfSDavid du Colombier - Building with COMPILE_INITS=1 produced a stackunderflow error. 36887dd7cddfSDavid du Colombier(gs_pdf_e.ps) 36897dd7cddfSDavid du Colombier - An internal operator didn't have a name. (ztoken.c) 36907dd7cddfSDavid du Colombier - Some error and information messages weren't in the Adobe format. 36917dd7cddfSDavid du Colombier(gs_fonts.ps, gs_init.ps) 36927dd7cddfSDavid du Colombier - Some common Adobe compatibility operators weren't implemented: 36937dd7cddfSDavid du Colombierpagemargin, pageparams, setpagemargin. (gs_statd.ps, gs_lev2.ps) 36947dd7cddfSDavid du Colombier - setpageparams set Margins rather than PageOffset. (gs_lev2.ps) 36957dd7cddfSDavid du Colombier - setpage and setpageparams didn't set Orientation. (gs_lev2.ps) 36967dd7cddfSDavid du Colombier - If the end of an input buffer fell just after the / of a literal 36977dd7cddfSDavid du Colombiername, a memory access error could occur. (iscan.c) 36987dd7cddfSDavid du Colombier - When the interpreter returned from gs_[main_]run_string_continue, 36997dd7cddfSDavid du Colombierthere could be an extra value on the operand stack. (iscan.h, istream.h, 37007dd7cddfSDavid du Colombierinterp.c, iscan.c, zfileio.c, zfproc.c, zpaint.c, ztoken.c) 37017dd7cddfSDavid du Colombier - If the character cache was disabled, or if a character was too 37027dd7cddfSDavid du Colombierlarge to be cached, returning from a font BuildChar procedure could do an 37037dd7cddfSDavid du Colombiererasepage. (zchar.c) 37047dd7cddfSDavid du Colombier 37057dd7cddfSDavid du ColombierA minor change was required for compatibility with the library change for 37067dd7cddfSDavid du Colombierimage devices. (zdevice.c) 37077dd7cddfSDavid du Colombier 37087dd7cddfSDavid du ColombierAdds a -dSHORTERRORS switch that changes some of the common error and 37097dd7cddfSDavid du Colombierwarning messages for greater Adobe compatibility. (gs_init.ps, gs_fonts.ps) 37107dd7cddfSDavid du Colombier 37113ff48bf5SDavid du Colombier</pre><h3><a name="V3.50_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 37127dd7cddfSDavid du Colombier 37137dd7cddfSDavid du ColombierFixes bugs: 37147dd7cddfSDavid du Colombier - If a CharProc for a Type 3 font did a BT/ET, the graphics state 37157dd7cddfSDavid du Colombiercould get confused. (gs_pdf.ps) 37167dd7cddfSDavid du Colombier - If a Tf occurred inside a BT/ET, it didn't take effect on 37177dd7cddfSDavid du Colombiersubsequent BT/ETs. (gs_pdf.ps) 37187dd7cddfSDavid du Colombier 37193ff48bf5SDavid du Colombier</pre><h3><a name="V3.50_Library"></a>Library</h3><pre> 37207dd7cddfSDavid du Colombier 37217dd7cddfSDavid du ColombierFixes bugs: 37227dd7cddfSDavid du Colombier - There was no way to control whether an image device was a page 37237dd7cddfSDavid du Colombierdevice. Fixing this required a NON-BACKWARD-COMPATIBLE CHANGE to 37247dd7cddfSDavid du Colombiergs_makewordimagedevice and gs_initialize_wordimagedevice to take a Boolean 37257dd7cddfSDavid du Colombierpage_device argument. Fortunately, this change affects only a few obscure 37267dd7cddfSDavid du Colombierlibrary clients. (gsdevice.h, gsdevmem.c) 37277dd7cddfSDavid du Colombier 37287dd7cddfSDavid du ColombierAdds translation capability to clipping devices. This isn't used anywhere 37297dd7cddfSDavid du Colombieryet. (gxcpath.h, gxcpath.c) 37307dd7cddfSDavid du Colombier 37317dd7cddfSDavid du ColombierAdds procedures for doing unaligned copy_xxx operations. These were added 37327dd7cddfSDavid du Colombierfor a customer. (gxdevice.h, gsdevice.c) 37337dd7cddfSDavid du Colombier 37347dd7cddfSDavid du ColombierChanges the (undocumented) return value of gs_setcachedevice[2]: they used 37357dd7cddfSDavid du Colombierto return 1 if the current show operation was a non-displaying one 37367dd7cddfSDavid du Colombier(stringwidth or cshow), and now return 1 if the cache device was just 37377dd7cddfSDavid du Colombierinstalled. This change was required to fix the BuildChar page clearing bug 37387dd7cddfSDavid du Colombierin the interpreter. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE, but as far as 37397dd7cddfSDavid du ColombierI know, there aren't any external clients of these routines. (gschar.h, 37407dd7cddfSDavid du Colombiergschar.c) 37417dd7cddfSDavid du Colombier 37423ff48bf5SDavid du Colombier</pre> 37437dd7cddfSDavid du Colombier 37443ff48bf5SDavid du Colombier<hr> 37453ff48bf5SDavid du Colombier 37463ff48bf5SDavid du Colombier<h2><a name="Version3.49"></a>Version 3.49 (limited) (9/20/95)</h2> 37473ff48bf5SDavid du Colombier 37483ff48bf5SDavid du Colombier<p> 37497dd7cddfSDavid du ColombierThis is another bug-fix release during beta test. There are other bugs 37507dd7cddfSDavid du Colombieroutstanding, but the ones I know about right now are all platform-specific. 37517dd7cddfSDavid du Colombier 37523ff48bf5SDavid du Colombier<h3><a name="V3.49_Documentation"></a>Documentation</h3><pre> 37537dd7cddfSDavid du ColombierFixes bugs: 37547dd7cddfSDavid du Colombier - make.doc didn't mention that the .def files are needed to build a 37557dd7cddfSDavid du ColombierMS Windows executable. (make.doc) 37567dd7cddfSDavid du Colombier 37573ff48bf5SDavid du Colombier</pre><h3><a name="V3.49_Procedures"></a>Procedures</h3><pre> 37587dd7cddfSDavid du Colombier 37597dd7cddfSDavid du ColombierFixes bugs: 37607dd7cddfSDavid du Colombier - There were some forward references to macro definitions in the 37617dd7cddfSDavid du Colombiermakefiles. (int.mak, lib.mak) 37627dd7cddfSDavid du Colombier - The default device for library configurations was the null page 37637dd7cddfSDavid du Colombierdevice, not the first device in DEVICE_DEVS. (ugcclib.mak) 37647dd7cddfSDavid du Colombier 37653ff48bf5SDavid du Colombier</pre><h3><a name="V3.49_Drivers"></a>Drivers</h3><pre> 37667dd7cddfSDavid du Colombier 37677dd7cddfSDavid du ColombierFixes bugs: 37687dd7cddfSDavid du Colombier - The BJC600 / BJC800 drivers were missing a header file. 37697dd7cddfSDavid du Colombier(gdevbjc.h, gdevcdj.c) 37707dd7cddfSDavid du Colombier - A procedure name was used in two different files. (gdevcdj.c) 37717dd7cddfSDavid du Colombier - The PCX driver didn't return an error code in case of failure. 37727dd7cddfSDavid du Colombier(gdevpcx.c) 37737dd7cddfSDavid du Colombier - The X Windows driver produced some confusing warning messages. 37747dd7cddfSDavid du Colombier(gdevxini.c) 37757dd7cddfSDavid du Colombier - Some names were duplicated between drivers. (gdevepsc.c) 37767dd7cddfSDavid du Colombier - The X driver maintained its own, peculiar initial matrix even if 37777dd7cddfSDavid du ColombierGhostview wasn't involved. (gdevx.c) 37787dd7cddfSDavid du Colombier 37797dd7cddfSDavid du ColombierWith the permission of the author, changes the 24-bit TIFF license from GNU 37807dd7cddfSDavid du Colombierto Aladdin. (gdevtfnx.c) 37817dd7cddfSDavid du Colombier 37823ff48bf5SDavid du Colombier</pre><h3><a name="V3.49_Platforms"></a>Platforms</h3><pre> 37837dd7cddfSDavid du Colombier 37847dd7cddfSDavid du ColombierFixes bugs: 37857dd7cddfSDavid du Colombier - The VMS build scripts were out of sync with the makefiles (again). 37867dd7cddfSDavid du Colombier(modules.lis, vms.mak) 37877dd7cddfSDavid du Colombier 37883ff48bf5SDavid du Colombier</pre><h3><a name="V3.49_Interpreter"></a>Interpreter</h3><pre> 37897dd7cddfSDavid du Colombier 37907dd7cddfSDavid du ColombierFixes bugs: 37917dd7cddfSDavid du Colombier - When the requested media size matched an available size exactly 37927dd7cddfSDavid du Colombierwith a 90 degree rotation, Orientation was ignored. (zmedia2.c) 37937dd7cddfSDavid du Colombier 37947dd7cddfSDavid du ColombierMakes zcurrentdevice extern. (opextern.h, zdevice.c) 37957dd7cddfSDavid du Colombier 37963ff48bf5SDavid du Colombier</pre><h3><a name="V3.49_Library"></a>Library</h3><pre> 37977dd7cddfSDavid du Colombier 37987dd7cddfSDavid du ColombierFixes bugs: 37997dd7cddfSDavid du Colombier - A couple of places used memcpy instead of memmove. (gxclread.c) 38007dd7cddfSDavid du Colombier - If a bitmap image was compressed with RLE compression in a band 38017dd7cddfSDavid du Colombierlist, it would cause an error on decompression. (gxclread.c) 38027dd7cddfSDavid du Colombier - The representation of colors in the band list was needlessly 38037dd7cddfSDavid du Colombierinefficient. (gxcldev.h, gxclist.c, gxclread.c) 38047dd7cddfSDavid du Colombier - When using colored halftones, snowflak.ps crashed with an invalid 38057dd7cddfSDavid du Colombiermemory access. More generally, any use of halftones could cause the garbage 38067dd7cddfSDavid du Colombiercollector to make an invalid access. (gsstate.c) 38077dd7cddfSDavid du Colombier 38087dd7cddfSDavid du ColombierAdds some more code for paths in band lists, but again doesn't activate it. 38097dd7cddfSDavid du Colombier(gxcldev.h, gxpath.h, gzline.h, gsline.c, gspath1.c, gxclist.c, gxclread.c, 38107dd7cddfSDavid du Colombiergxpath.c) 38117dd7cddfSDavid du Colombier 38123ff48bf5SDavid du Colombier</pre> 38137dd7cddfSDavid du Colombier 38143ff48bf5SDavid du Colombier<h2><a name="Version3.48"></a>Version 3.48 (limited) (9/17/95)</h2> 38153ff48bf5SDavid du Colombier 38163ff48bf5SDavid du Colombier<p> 38177dd7cddfSDavid du ColombierThis is the second bug-fix release during beta test. Among other things, it 38187dd7cddfSDavid du Colombierfixes a bug introduced in 3.47 that caused all PDF files to give an error. 38193ff48bf5SDavid du Colombier 38203ff48bf5SDavid du Colombier<p> 38217dd7cddfSDavid du Colombier******NOTE: the BJC600 and BCJ800 drivers do not work in this release, 38227dd7cddfSDavid du Colombierbecause we didn't get a file from the author in time. They will compile, 38237dd7cddfSDavid du Colombierbut not run. This will be fixed in the next round. 38247dd7cddfSDavid du Colombier 38253ff48bf5SDavid du Colombier<h3><a name="V3.48_Documentation"></a>Documentation</h3><pre> 38267dd7cddfSDavid du ColombierFixes bugs: 38277dd7cddfSDavid du Colombier - Alan Barclay's contact information was wrong. (README) 38287dd7cddfSDavid du Colombier 38293ff48bf5SDavid du Colombier</pre><h3><a name="V3.48_Procedures"></a>Procedures</h3><pre> 38307dd7cddfSDavid du Colombier 38317dd7cddfSDavid du ColombierFixes bugs: 38327dd7cddfSDavid du Colombier - The linker path for Watcom C++ 10.5 was wrong. (wccommon.mak) 38337dd7cddfSDavid du Colombier - There was a syntax error in a batch file. (pdf2ps.bat) 38347dd7cddfSDavid du Colombier - The VMS build script didn't have entries for some printers. 38357dd7cddfSDavid du Colombier(vms.mak) 38367dd7cddfSDavid du Colombier 38377dd7cddfSDavid du ColombierAdds the bjc600 and bjc800 devices on all platforms that already include the 38387dd7cddfSDavid du Colombiercolor DeskJet devices. (*.mak) 38397dd7cddfSDavid du Colombier 38403ff48bf5SDavid du Colombier</pre><h3><a name="V3.48_Drivers"></a>Drivers</h3><pre> 38417dd7cddfSDavid du Colombier 38427dd7cddfSDavid du ColombierFixes bugs: 38437dd7cddfSDavid du Colombier - The H-P drivers didn't reposition the cursor properly at the 38447dd7cddfSDavid du Colombierbeginning of pages after the first page, causing the image to be shifted 38457dd7cddfSDavid du Colombierdown slightly and cut off at the bottom. (gdevdjet.c) 38467dd7cddfSDavid du Colombier - The x11alpha driver was extremely slow. (gdevxalt.c) 38477dd7cddfSDavid du Colombier - The -g switch by itself didn't work for the X Windows driver. 38487dd7cddfSDavid du Colombier(gdevxini.c) 38497dd7cddfSDavid du Colombier - .installpagedevice can get a rangecheck on MS Windows because the 38507dd7cddfSDavid du ColombierHWColorMap can change spontaneously. (gs_setpd.ps) 38517dd7cddfSDavid du Colombier 38527dd7cddfSDavid du ColombierUpdates the bjc600 and bjc800 drivers with new versions from Yves Arrouye. 38537dd7cddfSDavid du Colombier(gdevcdj.c) 38547dd7cddfSDavid du Colombier 38557dd7cddfSDavid du ColombierAdds a user-contributed driver that writes uncompressed 24-bit RGB TIFF 38567dd7cddfSDavid du Colombierimages in a format that is standard on NeXT platforms. This driver is 38577dd7cddfSDavid du Colombiergoverned by the GNU license and is therefore separated from the rest of the 38587dd7cddfSDavid du ColombierAladdin distribution. (gdevtfnx.c) 38597dd7cddfSDavid du Colombier 38603ff48bf5SDavid du Colombier</pre><h3><a name="V3.48_Platforms"></a>Platforms</h3><pre> 38617dd7cddfSDavid du Colombier 38627dd7cddfSDavid du ColombierFixes bugs: 38637dd7cddfSDavid du Colombier - There was an undefined reference to clock_gettime on some Unix 38647dd7cddfSDavid du Colombiersystems. (gp_unix.c) 38657dd7cddfSDavid du Colombier - The new gp_fopen routine had several errors. (gp_vms.c) 38667dd7cddfSDavid du Colombier 38673ff48bf5SDavid du Colombier</pre><h3><a name="V3.48_Interpreter"></a>Interpreter</h3><pre> 38687dd7cddfSDavid du Colombier 38697dd7cddfSDavid du ColombierFixes bugs: 38707dd7cddfSDavid du Colombier - Some routines that should be main-instance-specific weren't. 38717dd7cddfSDavid du Colombier(imain.h, main.h, gsmain.c) 38727dd7cddfSDavid du Colombier - sethalftone with a Type 2 or Type 4 halftone didn't work on CMYK 38737dd7cddfSDavid du Colombierdevices. (zht2.c) 38747dd7cddfSDavid du Colombier - Setting A4 paper as the default in gs_init.ps, or specifying 38757dd7cddfSDavid du Colombier-dPAPERSIZE, conflicted with -g. (gs_init.ps) 38767dd7cddfSDavid du Colombier - The maximum value of a single-precision float wasn't correct on 38777dd7cddfSDavid du ColombierVAX systems. (math_.h, iscannum.c) 38787dd7cddfSDavid du Colombier - Some integer expressions were passed as floating point arguments. 38797dd7cddfSDavid du Colombier(gs.c, zmedia2.c) 38807dd7cddfSDavid du Colombier - Media selection in setpagedevice was broken (again), as of 3.46. 38817dd7cddfSDavid du Colombier(gs_setpd.ps, zmedia2.c) 38827dd7cddfSDavid du Colombier 38833ff48bf5SDavid du Colombier</pre><h3><a name="V3.48_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 38847dd7cddfSDavid du Colombier 38857dd7cddfSDavid du ColombierFixes bugs: 38867dd7cddfSDavid du Colombier - Substituted color spaces caused an error. (gs_pdf.ps, 38877dd7cddfSDavid du Colombierpdf_draw.ps) 38887dd7cddfSDavid du Colombier 38893ff48bf5SDavid du Colombier</pre><h3><a name="V3.48_Library"></a>Library</h3><pre> 38907dd7cddfSDavid du Colombier 38917dd7cddfSDavid du ColombierFixes bugs: 38927dd7cddfSDavid du Colombier - If a halftone had no non-default components that matched the 38937dd7cddfSDavid du Colombierdevice's primary colors, the result would be a solid color rather than a 38947dd7cddfSDavid du Colombierhalftone using the default screen. (gsht.c) 38957dd7cddfSDavid du Colombier - sethalftone with a Type 2 or Type 4 halftone didn't work on CMYK 38967dd7cddfSDavid du Colombierdevices. (gxht.h, gsht.c, gsht1.c) 38977dd7cddfSDavid du Colombier - The new gp_fopen routine wasn't being used. (gsiodev.c) 38987dd7cddfSDavid du Colombier - A mixing of float and fixed values caused a clipping region to be 38997dd7cddfSDavid du Colombierpossibly incorrect by up to 1 pixel. (gspaint.c) 39007dd7cddfSDavid du Colombier - A function definition was inconsistent with the prototype. 39017dd7cddfSDavid du Colombier(gspath1.c) 39027dd7cddfSDavid du Colombier 39037dd7cddfSDavid du ColombierAdds preliminary code for including paths in band lists, but doesn't 39047dd7cddfSDavid du Colombieractivate any of it. (lib.mak, gxcldev.h, gxclist.c, gxclread.c) 39057dd7cddfSDavid du Colombier 39063ff48bf5SDavid du Colombier</pre> 39077dd7cddfSDavid du Colombier 39083ff48bf5SDavid du Colombier<h2><a name="Version3.47"></a>Version 3.47 (limited) (9/14/95)</h2> 39093ff48bf5SDavid du Colombier 39103ff48bf5SDavid du Colombier<p> 39117dd7cddfSDavid du ColombierThis is a bug-fix release during beta test. It is meant to have no new 39127dd7cddfSDavid du Colombierfunctionality, although in the case of setpagedevice that's stretching 39137dd7cddfSDavid du Colombierthings a little. 39147dd7cddfSDavid du Colombier 39153ff48bf5SDavid du Colombier<h3><a name="V3.47_Documentation"></a>Documentation</h3><pre> 39167dd7cddfSDavid du ColombierFixes bugs: 39177dd7cddfSDavid du Colombier - The Mac documentation still referred to IJG JPEG v5a rather than 39187dd7cddfSDavid du Colombierv6. (make.doc) 39197dd7cddfSDavid du Colombier - The RasterOp texture device was identified incorrectly. 39207dd7cddfSDavid du Colombier(gdevmrop.c) 39217dd7cddfSDavid du Colombier - use.doc and psfiles.doc didn't mention the PDF-related files. 39227dd7cddfSDavid du Colombier(psfiles.doc, use.doc) 39237dd7cddfSDavid du Colombier - psview is no longer available. (README) 39247dd7cddfSDavid du Colombier - current.doc didn't document the recognized setpagedevice keys. 39257dd7cddfSDavid du Colombier(current.doc) 39267dd7cddfSDavid du Colombier 39273ff48bf5SDavid du Colombier</pre><h3><a name="V3.47_Procedures"></a>Procedures</h3><pre> 39287dd7cddfSDavid du Colombier 39297dd7cddfSDavid du ColombierFixes bugs: 39307dd7cddfSDavid du Colombier - Many utility programs weren't included in the Unix 'install' list. 39317dd7cddfSDavid du Colombier(unix-end.mak) 39327dd7cddfSDavid du Colombier - It wasn't at all convenient to make configurations without the BCP 39337dd7cddfSDavid du Colombieror other non-standard filters. (*.mak, int.mak, modules.lis, zfilter2.c, 39347dd7cddfSDavid du Colombierzfilterx.c) 39357dd7cddfSDavid du Colombier - The gconfig.c and iconfig.c files weren't deleted after 39367dd7cddfSDavid du Colombiercompilation. (int.mak, lib.mak) 39377dd7cddfSDavid du Colombier - unix-end.mak referred to the nonexistent macros INT{1,2}_MAK. 39387dd7cddfSDavid du Colombier(unix-end.mak) 39397dd7cddfSDavid du Colombier - The rules for building the dfax drivers were incorrect. (devs.mak) 39407dd7cddfSDavid du Colombier - Omitting filter.dev produced an undefined reference. (int.mak) 39417dd7cddfSDavid du Colombier 39427dd7cddfSDavid du ColombierAdds a customer-contributed makefile for Microsoft Visual C++ 2.n under 39437dd7cddfSDavid du ColombierWindows NT. (msvcwint.mak) 39447dd7cddfSDavid du Colombier 39453ff48bf5SDavid du Colombier</pre><h3><a name="V3.47_Utilities"></a>Utilities</h3><pre> 39467dd7cddfSDavid du Colombier 39477dd7cddfSDavid du ColombierFixes bugs: 39487dd7cddfSDavid du Colombier - The JPEG utility didn't support the new progressive JPEG modes, 39497dd7cddfSDavid du Colombierand didn't invert Adobe Photoshop output as needed. (viewjpeg.ps) 39507dd7cddfSDavid du Colombier - The printafm utility had a single font name wired in. (printafm, 39517dd7cddfSDavid du Colombierprintafm.ps) 39527dd7cddfSDavid du Colombier - The CIE lookup simulation had several bugs. (docie.ps) 39537dd7cddfSDavid du Colombier - pdf2ps[.bat] were missing from the fileset. 39547dd7cddfSDavid du Colombier - Files produced by pdf_2ps didn't include the GS_PDF ProcSet. 39557dd7cddfSDavid du Colombier(gs_pdf.ps, pdf_2ps.ps, pdf_base.ps, pdf_main.ps) 39567dd7cddfSDavid du Colombier 39573ff48bf5SDavid du Colombier</pre><h3><a name="V3.47_Drivers"></a>Drivers</h3><pre> 39587dd7cddfSDavid du Colombier 39597dd7cddfSDavid du ColombierFixes bugs: 39607dd7cddfSDavid du Colombier - Bits read back from an EGA or VGA device were incorrect. 39617dd7cddfSDavid du Colombier(gdevpcfb.c) 39627dd7cddfSDavid du Colombier - The 24-bit PCX run length compressor used a slow algorithm. 39637dd7cddfSDavid du Colombier(gdevpcx.c) 39647dd7cddfSDavid du Colombier - gdevstc.c wouldn't compile with the Borland compiler. (gdevstc.c) 39657dd7cddfSDavid du Colombier - There was a typo in the OS/2 PM driver. (gdevpm.c) 39667dd7cddfSDavid du Colombier - .installpagedevice gets a rangecheck on X Windows because the 39677dd7cddfSDavid du ColombierHWColorMap can change spontaneously. (gs_setpd.ps) 39687dd7cddfSDavid du Colombier - The left margin for the DeskJet 500 was wrong. (gdevdjet.c) 39697dd7cddfSDavid du Colombier - The two notions of "margin" (offset of 0,0 from physical page 39707dd7cddfSDavid du Colombiercorner vs. unprintable area around edges of physical page) were still 39717dd7cddfSDavid du Colombierconfused. We've now fixed this for the H-P monochrome printers, but it's 39727dd7cddfSDavid du Colombierprobably still confused for all other printers. (gdevprn.h, gdevdjet.c) 39737dd7cddfSDavid du Colombier 39743ff48bf5SDavid du Colombier</pre><h3><a name="V3.47_Platforms"></a>Platforms</h3><pre> 39757dd7cddfSDavid du Colombier 39767dd7cddfSDavid du ColombierFixes bugs: 39777dd7cddfSDavid du Colombier - The Windows print spooler header file wasn't included when it 39787dd7cddfSDavid du Colombierneeded to be, and some other Win32-specific changes were missing. 39797dd7cddfSDavid du Colombier(gsdll32.def, gp_mswin.c) 39807dd7cddfSDavid du Colombier - Windows DLLs didn't parse "s in the command "arguments" correctly. 39817dd7cddfSDavid du Colombier(gsdll.c) 39827dd7cddfSDavid du Colombier 39833ff48bf5SDavid du Colombier</pre><h3><a name="V3.47_Fonts"></a>Fonts</h3><pre> 39847dd7cddfSDavid du Colombier 39857dd7cddfSDavid du ColombierFixes bugs: 39867dd7cddfSDavid du Colombier - FAKEFONTS could get the font directories into inconsistent states. 39877dd7cddfSDavid du Colombier(gs_dps1.ps, gs_fonts.ps) 39887dd7cddfSDavid du Colombier - The substitutions for Adobe's Myriad and Minion fonts weren't 39897dd7cddfSDavid du Colombierappropriate. (gs_fonts.ps) 39907dd7cddfSDavid du Colombier 39913ff48bf5SDavid du Colombier</pre><h3><a name="V3.47_Interpreter"></a>Interpreter</h3><pre> 39927dd7cddfSDavid du Colombier 39937dd7cddfSDavid du ColombierFixes bugs: 39947dd7cddfSDavid du Colombier - If pathforall got an error computing the user-space points on a 39957dd7cddfSDavid du Colombierpath, it could cause an invalid access. (zpath1.c) 39967dd7cddfSDavid du Colombier - A 'private' declaration were omitted. (Why doesn't gcc catch 39977dd7cddfSDavid du Colombierthis??) (zcie.c) 39987dd7cddfSDavid du Colombier - Setting GS_FONTPATH produced a stackunderflow error. 39997dd7cddfSDavid du Colombier(gs_fonts.ps) 40007dd7cddfSDavid du Colombier - currentscreen caused a typecheck if the screen had been set by 40017dd7cddfSDavid du Colombiersetcolorscreen. (gs_dps1.ps) 40027dd7cddfSDavid du Colombier - setcolorrendering tried to cache values computed from the color 40037dd7cddfSDavid du Colombierspace even if the current color space wasn't a CIE space. (zcrd.c) 40047dd7cddfSDavid du Colombier - Out-of-range numbers like 10E38 caused a floating point exception. 40057dd7cddfSDavid du Colombier(iscannum.c) 40067dd7cddfSDavid du Colombier - Giving a closed readable file as input for a filter caused an 40077dd7cddfSDavid du Colombierinvalidaccess. (files.h, interp.c, zfilter.c) 40087dd7cddfSDavid du Colombier - setpagedevice opened the default device even with -dNODISPLAY. 40097dd7cddfSDavid du Colombier(gs_init.ps, gs_setpd.ps) 40107dd7cddfSDavid du Colombier - realtime returned the same value as usertime. (gs_lev2.ps, 40117dd7cddfSDavid du Colombierzmisc.c) 40127dd7cddfSDavid du Colombier - Storing a local value into systemdict caused some redundant code 40137dd7cddfSDavid du Colombierto be executed. (zdict.c) 40147dd7cddfSDavid du Colombier - Files with a very long first line could cause a rangecheck error. 40157dd7cddfSDavid du Colombier(gs_init.ps) 40167dd7cddfSDavid du Colombier - The PageOffset page device parameter was ignored. (gs_setpd.ps) 40177dd7cddfSDavid du Colombier - The Orientation page device parameter wasn't handled properly. 40187dd7cddfSDavid du Colombier(gs_setpd.ps, idparam.h, idparam.c, zmedia2.c) 40197dd7cddfSDavid du Colombier - setpagedevice could set device parameters twice, with an 40207dd7cddfSDavid du Colombierincomplete update the first time. (gs_setpd.ps) 40217dd7cddfSDavid du Colombier 40223ff48bf5SDavid du Colombier</pre><h3><a name="V3.47_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 40237dd7cddfSDavid du Colombier 40247dd7cddfSDavid du ColombierFixes bugs: 40257dd7cddfSDavid du Colombier - Readers confused the internal pdfrun procedure with the public 40267dd7cddfSDavid du Colombierrunpdf procedure. (pdf_*.ps) 40277dd7cddfSDavid du Colombier 40283ff48bf5SDavid du Colombier</pre><h3><a name="V3.47_Streams"></a>Streams</h3><pre> 40297dd7cddfSDavid du Colombier 40307dd7cddfSDavid du ColombierFixes bugs: 40317dd7cddfSDavid du Colombier - Closed streams had a NULL state pointer, causing problems for some 40327dd7cddfSDavid du Colombierclients. (stream.c) 40337dd7cddfSDavid du Colombier - Group 4 decoding could get an ioerror if an end-of-buffer occurred 40347dd7cddfSDavid du Colombierin a horizontal code sequence between a makeup code and the termination 40357dd7cddfSDavid du Colombiercode. (scfd.c) 40367dd7cddfSDavid du Colombier 40373ff48bf5SDavid du Colombier</pre><h3><a name="V3.47_Library"></a>Library</h3><pre> 40387dd7cddfSDavid du Colombier 40397dd7cddfSDavid du ColombierFixes bugs: 40407dd7cddfSDavid du Colombier - Some 'private' declarations were omitted. (Why doesn't gcc catch 40417dd7cddfSDavid du Colombierthese??) (gdevmrop.c, gxht.c) 40427dd7cddfSDavid du Colombier - Patterns could produce bad output in the band list. (gxclist.c) 40437dd7cddfSDavid du Colombier - RasterOp wasn't implemented at all for 2- or 4-bit devices. (In 40447dd7cddfSDavid du Colombierthis release, we implement only a subset, and without handling transparency 40457dd7cddfSDavid du Colombierproperly.) (gdevm2.c, gdevm4.c, gdevmrop.c) 40467dd7cddfSDavid du Colombier - Drawing operations and text sometimes didn't apply the RasterOp 40477dd7cddfSDavid du Colombierwhen they should, and vice versa. (gxdcolor.h, gxdraw.c) 40487dd7cddfSDavid du Colombier - setcolorrendering tried to cache values computed from the color 40497dd7cddfSDavid du Colombierspace even if the current color space wasn't a CIE space. (gscie.h, 40507dd7cddfSDavid du Colombiergscie.c) 40517dd7cddfSDavid du Colombier - Some CIE color spaces produced very distorted colors. (gscie.c) 40527dd7cddfSDavid du Colombier - setpagedevice opened a window even with -dNODISPLAY. (gsdevice.c, 40537dd7cddfSDavid du Colombiergsdparam.c) 40547dd7cddfSDavid du Colombier - realtime returned the same value as usertime. (gp.h, time_.h, 40557dd7cddfSDavid du Colombiergp_*.c) 40567dd7cddfSDavid du Colombier - The library level attempted to handle the Orientation page device 40577dd7cddfSDavid du Colombierparameter. (gxdevice.h, gdevbit.c, gsdevice.c, gsdparam.c, gspath.c) 40587dd7cddfSDavid du Colombier - Severely non-linear CIE encoding/decoding functions produced 40597dd7cddfSDavid du Colombierseriously skewed colors near the ends of the color value range. This 40607dd7cddfSDavid du Colombierproblem can now be alleviated, at a significant cost in performance, by 40617dd7cddfSDavid du Colombierchanging configuration parameters at the beginning of gscie.h. (gscie.h, 40627dd7cddfSDavid du Colombiergscie.c) 40637dd7cddfSDavid du Colombier - Files FTP'ed in binary mode weren't being opened properly on VMS. 40647dd7cddfSDavid du Colombier(gp.h, gp_*.c, gsiodev.c) 40657dd7cddfSDavid du Colombier - A header file had an inconsistent declaration. (math_.h) 40667dd7cddfSDavid du Colombier 40677dd7cddfSDavid du ColombierAdds a new gp_get_usertime procedure to gp.h. THIS IS A 40687dd7cddfSDavid du ColombierNON-BACKWARD-COMPATIBLE CHANGE, affecting only platform implementors. It 40697dd7cddfSDavid du Colombierwas necessary to fix the realtime/usertime bug. (gp.h, time_.h, gp_*.c) 40707dd7cddfSDavid du Colombier 40717dd7cddfSDavid du ColombierAdds a new gp_fopen procedure to gp.h. THIS IS A NON-BACKWARD-COMPATIBLE 40727dd7cddfSDavid du ColombierCHANGE, affecting only platform implementors. It was necessary to fix the 40737dd7cddfSDavid du Colombierbinary file problem on VMS. (gp.h, gp_*.c) 40747dd7cddfSDavid du Colombier 40753ff48bf5SDavid du Colombier</pre> 40767dd7cddfSDavid du Colombier 40773ff48bf5SDavid du Colombier<h2><a name="Version3.46"></a>Version 3.46 (limited) (9/4/95)</h2> 40783ff48bf5SDavid du Colombier 40793ff48bf5SDavid du Colombier<p> 40807dd7cddfSDavid du ColombierThis is the "serious beta test" release for the next public release. It 40817dd7cddfSDavid du Colombierfinishes implementing RasterOp in the graphics state, and the remaining 40827dd7cddfSDavid du Colombiercommonly used parts of setpagedevice. 40837dd7cddfSDavid du Colombier 40843ff48bf5SDavid du Colombier<h3><a name="V3.46_Documentation"></a>Documentation</h3><pre> 40857dd7cddfSDavid du ColombierDocuments some possible problems when building with DJGPP v2.0-beta. 40867dd7cddfSDavid du Colombier(make.doc) 40877dd7cddfSDavid du Colombier 40887dd7cddfSDavid du ColombierAdds documentation on using Ghostscript as a PDF interpreter. (use.doc) 40897dd7cddfSDavid du Colombier 40907dd7cddfSDavid du ColombierNotes linking problems with the Watcom 10.0 environment. (make.doc) 40917dd7cddfSDavid du Colombier 40923ff48bf5SDavid du Colombier</pre><h3><a name="V3.46_Procedures"></a>Procedures</h3><pre> 40937dd7cddfSDavid du Colombier 40947dd7cddfSDavid du ColombierFixes bugs: 40957dd7cddfSDavid du Colombier - The rule for $(ccfonts).dev was wrong. (gs.mak) 40967dd7cddfSDavid du Colombier 40977dd7cddfSDavid du ColombierMakes some additional filters into 'features'. (devs.mak, gs.mak) 40987dd7cddfSDavid du Colombier 40997dd7cddfSDavid du ColombierSplits off 2 new makefiles from gs.mak, which had gotten very large: lib.mak 41007dd7cddfSDavid du Colombier(graphics library) and int.mak (interpreters). (tar_cat, tar_cat.bat, 41017dd7cddfSDavid du Colombier*.mak) 41027dd7cddfSDavid du Colombier 41037dd7cddfSDavid du ColombierAdds a new 'config-clean' target that may be helpful in changing 41047dd7cddfSDavid du Colombierconfiguration definitions. (gs.mak) 41057dd7cddfSDavid du Colombier 41067dd7cddfSDavid du ColombierNotes in the relevant makefiles that on Unix and DVX systems, one should not 41077dd7cddfSDavid du Colombieredit 'makefile' or the concatenated makefile, but should edit the individual 41087dd7cddfSDavid du Colombiersubfile and run tar_cat. (ansihead.mak, cc-head.mak, dgc-head.mak, 41097dd7cddfSDavid du Colombiergcc-head.mak, devs.mak) 41107dd7cddfSDavid du Colombier 41117dd7cddfSDavid du ColombierUpdates the Watcom makefiles to handle Watcom release 10.5, in which many 41127dd7cddfSDavid du Colombierexecutables moved to different directories. (watc.mak, watcwin.mak, 41137dd7cddfSDavid du Colombierwccommon.mak) 41147dd7cddfSDavid du Colombier 41157dd7cddfSDavid du ColombierAdds a pdf2ps shell script. (pdf2ps, pdf2ps.bat) 41167dd7cddfSDavid du Colombier 41177dd7cddfSDavid du ColombierAdds a -sFONTMAP= switch to specify the name of the Fontmap file. 41187dd7cddfSDavid du Colombier(gs_fonts.ps) 41197dd7cddfSDavid du Colombier 41207dd7cddfSDavid du ColombierAdds a -u<name> switch to undefine a name from systemdict. (interp.h, gs.c, 41217dd7cddfSDavid du Colombieriinit.c) 41227dd7cddfSDavid du Colombier 41237dd7cddfSDavid du ColombierAdds a -dFIXEDRESOLUTION switch to parallel -dFIXEDMEDIA. Makes -g set 41247dd7cddfSDavid du ColombierFIXEDMEDIA and -r set FIXEDRESOLUTION. (gs_init.ps, gs_setpd.ps, gs.c) 41257dd7cddfSDavid du Colombier 41267dd7cddfSDavid du ColombierChanges some build procedures to avoid problems with read-only source files. 41277dd7cddfSDavid du Colombier(gs.mak, int.mak, lib.mak) 41287dd7cddfSDavid du Colombier 41293ff48bf5SDavid du Colombier</pre><h3><a name="V3.46_Utilities"></a>Utilities</h3><pre> 41307dd7cddfSDavid du Colombier 41317dd7cddfSDavid du ColombierAdds a utility for emulating the CIE color mapping algorithms. (docie.ps) 41327dd7cddfSDavid du Colombier 41333ff48bf5SDavid du Colombier</pre><h3><a name="V3.46_Drivers"></a>Drivers</h3><pre> 41347dd7cddfSDavid du Colombier 41357dd7cddfSDavid du ColombierChanges the x11alpha device so that it uses 32-bit pixels with 8 bits of 41367dd7cddfSDavid du Colombieralpha. (gdevxalt.c) 41377dd7cddfSDavid du Colombier 41387dd7cddfSDavid du ColombierUpdates the Epson Stylus Color driver to Gunther Hess's release 1.17. 41397dd7cddfSDavid du Colombier(devs.mak, unix-end.mak, devices.doc, stcolor.ps, gdevstc.h, gdevstc*.c) 41407dd7cddfSDavid du Colombier 41417dd7cddfSDavid du ColombierUpdates the alternate X drivers for the change from PageSize to MediaSize. 41427dd7cddfSDavid du Colombier(gdevxalt.c) 41437dd7cddfSDavid du Colombier 41447dd7cddfSDavid du ColombierMakes Duplex an optional parameter of printer devices rather than of all 41457dd7cddfSDavid du Colombierdevices. (gdevprn.h, gxdevice.h, gsdparam.c, gdevdjet.c, gdevprn.c) 41467dd7cddfSDavid du Colombier 41473ff48bf5SDavid du Colombier</pre><h3><a name="V3.46_Platforms"></a>Platforms</h3><pre> 41487dd7cddfSDavid du Colombier 41497dd7cddfSDavid du ColombierMakes pipes (%pipe% file syntax) a selectable option on Unix platforms, 41507dd7cddfSDavid du Colombierrather than always being included. (ansihead.mak, cc-head.mak, 41517dd7cddfSDavid du Colombiergcc-head.mak, ugcclib.mak, unixtail.mak) 41527dd7cddfSDavid du Colombier 41533ff48bf5SDavid du Colombier</pre><h3><a name="V3.46_Interpreter"></a>Interpreter</h3><pre> 41547dd7cddfSDavid du Colombier 41557dd7cddfSDavid du ColombierFixes bugs: 41567dd7cddfSDavid du Colombier - colorimage, and the dictionary form of image with 41577dd7cddfSDavid du ColombierMultipleDataSources = true, didn't check that all the data sources were of 41587dd7cddfSDavid du Colombierthe same type. (zpaint.c) 41597dd7cddfSDavid du Colombier - colorimage, and dictionary-type images with MultipleDataSources = 41607dd7cddfSDavid du Colombiertrue, usually didn't work properly with files. (zpaint.c) 41617dd7cddfSDavid du Colombier - grestoreall left a dangling pointer to the transfer function 41627dd7cddfSDavid du Colombiercache. (gsstate.c) 41637dd7cddfSDavid du Colombier - Changes made by setpagedevice could get 'lost' and not installed 41647dd7cddfSDavid du Colombierin the current page device dictionary. (gs_setpd.ps) 41657dd7cddfSDavid du Colombier - The Install procedure was called before the new page device 41667dd7cddfSDavid du Colombierdictionary had gotten installed. (gs_setpd.ps) 41677dd7cddfSDavid du Colombier - If a grestore/grestoreall/restore/setgstate operation switched 41687dd7cddfSDavid du Colombierpage devices, the new page device didn't get installed properly. 41697dd7cddfSDavid du Colombier(gs_setpd.ps, opextern.h, zdevice2.c, zdps1.c) 41707dd7cddfSDavid du Colombier - If the current screen was a Type 1 halftone, currentscreen and 41717dd7cddfSDavid du Colombiercurrentcolorscreen returned frequency = 60, angle = 0 rather than the 41727dd7cddfSDavid du ColombierFrequency and Angle from the halftone (see Adobe TN 5085). (gs_dps1.ps, 41737dd7cddfSDavid du Colombiergs_init.ps) 41747dd7cddfSDavid du Colombier - setscreen with a Type 1 halftone dictionary didn't insert the 41757dd7cddfSDavid du Colombierfrequency and angle into the dictionary (see Adobe TN 5085). (gs_dps1.ps) 41767dd7cddfSDavid du Colombier - upath didn't include a trailing moveto in the bounding box. 41777dd7cddfSDavid du Colombier(gs_dps1.ps, zpath1.c) 41787dd7cddfSDavid du Colombier - setpagedevice didn't automatically rotate or scale the image when 41797dd7cddfSDavid du Colombiernecessary. (gs_setpd.ps, zmedia2.c) 41807dd7cddfSDavid du Colombier 41817dd7cddfSDavid du ColombierMoves the RasterOp operators to a separate file. (iutil.h, iutil.c, 41827dd7cddfSDavid du Colombierzgstate.c, zrop.c) 41837dd7cddfSDavid du Colombier 41847dd7cddfSDavid du ColombierEliminates the unnecessary "wrapper" around .setdevice. (zdevice2.c) 41857dd7cddfSDavid du Colombier 41867dd7cddfSDavid du ColombierEstablishes the convention that all interpreter callbacks into PostScript 41877dd7cddfSDavid du Colombiercode use procedure names that begin with %; documents this in gs_init.ps. 41887dd7cddfSDavid du ColombierChanges Type1BuildChar and Type1BuildGlyph to %Type1BuildChar and 41897dd7cddfSDavid du Colombier%Type1BuildGlyph. (gs_init.ps, gs_type1.ps, zfont0.c, zfont1.c) 41907dd7cddfSDavid du Colombier 41917dd7cddfSDavid du ColombierChanges image / imagemask / colorimage for the new library API. (zimage2.c, 41927dd7cddfSDavid du Colombierzpaint.c) 41937dd7cddfSDavid du Colombier 41947dd7cddfSDavid du ColombierReorganizes font loading to make compiled fonts and Fontmap interact better 41957dd7cddfSDavid du Colombierwith each other. (gs_ccfnt.ps, gs_fonts.ps, gs_init.ps, gs_res.ps) 41967dd7cddfSDavid du Colombier 41977dd7cddfSDavid du ColombierImplements parameter collection for the new CIEBasedDEF[G] color spaces, but 41987dd7cddfSDavid du Colombierdoesn't actually implement the color spaces themselves. (icie.h, zcie.c, 41997dd7cddfSDavid du Colombierzcrd.c) 42007dd7cddfSDavid du Colombier 42017dd7cddfSDavid du ColombierRenames iconfig.c as iconf.c to avoid problems with read-only source files. 42027dd7cddfSDavid du Colombier(iconf.c) 42037dd7cddfSDavid du Colombier 42043ff48bf5SDavid du Colombier</pre><h3><a name="V3.46_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 42057dd7cddfSDavid du Colombier 42067dd7cddfSDavid du ColombierFixes bugs: 42077dd7cddfSDavid du Colombier - PDF to PostScript conversion didn't work. (pdf_main.ps) 42087dd7cddfSDavid du Colombier 42097dd7cddfSDavid du ColombierShifts most of the work in the PDF interpreter from the reader to the 42107dd7cddfSDavid du ColombierProcSet. This simplifies the code considerably and also makes it easier to 42117dd7cddfSDavid du Colombiermodify. (gs_pdf.ps, pdf_draw.ps, pdf_font.ps, pdf_main.ps) 42127dd7cddfSDavid du Colombier 42133ff48bf5SDavid du Colombier</pre><h3><a name="V3.46_Library"></a>Library</h3><pre> 42147dd7cddfSDavid du Colombier 42157dd7cddfSDavid du ColombierFixes bugs: 42167dd7cddfSDavid du Colombier - 'static' was omitted in a place that some compilers require it. 42177dd7cddfSDavid du Colombier(gxccman.c) 42187dd7cddfSDavid du Colombier - Some compilers don't allow a variable with the same name as a 42197dd7cddfSDavid du Colombierpreprocessor macro with arguments. (gscie.c) 42207dd7cddfSDavid du Colombier - Some places did a "return -1" rather than a proper error return. 42217dd7cddfSDavid du Colombier(gsdevice.c, gxclist.c) 42227dd7cddfSDavid du Colombier - An external declaration had a typo. (gsrop.h) 42237dd7cddfSDavid du Colombier - An extra semicolon upset some compilers. (gzpath.h) 42247dd7cddfSDavid du Colombier - Printer devices that didn't use the standard macros for generating 42257dd7cddfSDavid du Colombiertheir procedure vector wound up being considered as non-page devices. 42267dd7cddfSDavid du Colombier(gdevprn.c) 42277dd7cddfSDavid du Colombier - Some compilers truncated identifiers longer than 31 characters. 42287dd7cddfSDavid du Colombier(gscspace.h, zcie.c, gscie.c) 42297dd7cddfSDavid du Colombier - upath didn't include a trailing moveto in the bounding box. 42307dd7cddfSDavid du Colombier(gspath.h, gspath1.c) 42317dd7cddfSDavid du Colombier - RasterOp value 126 returned an incorrect result. (gsroptab.c) 42327dd7cddfSDavid du Colombier 42337dd7cddfSDavid du ColombierFinishes implementing RasterOp in the graphics state. (gdevmrop.h, gsrop.h, 42347dd7cddfSDavid du Colombiergsropt.h, gsstate.h, gxbitmap.h, gxcindex.h, gxdcolor.h, gxdevice.h, 42357dd7cddfSDavid du Colombiergzstate.h, gdevmrop.c, gscolor.c, gsdevice.c, gsimage.c, gsimage1.c, 42367dd7cddfSDavid du Colombiergsimage2.c, gsimage3.c, gspcolor.c, gsrop.c, gsstate.c, gxacpath.c, 42377dd7cddfSDavid du Colombiergxccache.c, gxcht.c, gxcmap.c, gxdither.c, gxdraw.c, gxht.c) 42387dd7cddfSDavid du Colombier 42397dd7cddfSDavid du ColombierChanges forwarding devices so they forward get_bits by default. This 42407dd7cddfSDavid du Colombierprobably doesn't affect any existing code. (gxdevice.h, gsdevice.c) 42417dd7cddfSDavid du Colombier 42427dd7cddfSDavid du ColombierChanges the API for gs_image[mask]_init to pass a structure rather than a 42437dd7cddfSDavid du Colombiervery large number of scalars. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE, 42447dd7cddfSDavid du Colombiermotivated by the addition of further image parameters to support RasterOp. 42457dd7cddfSDavid du ColombierSince there are no external clients of the library yet, it shouldn't matter. 42467dd7cddfSDavid du Colombier(gsimage.h, gsimage.c, gslib.c, gxccache.c) 42477dd7cddfSDavid du Colombier 42487dd7cddfSDavid du ColombierRedefines the device "page size" as being the size of the actual media, 42497dd7cddfSDavid du Colombierchanging the name of the gx_device PageSize member to MediaSize, the name of 42507dd7cddfSDavid du Colombierthe PageSize device parameter to .MediaSize (but keeping PageSize as 42517dd7cddfSDavid du Colombierequivalent, for backward compatibility), and the name of the 42527dd7cddfSDavid du Colombiergx_device_set_page_size procedure to gx_device_set_media_size (keeping the 42537dd7cddfSDavid du Colombierold name as a macro). THIS IS A NON-BACKWARD-COMPATIBLE CHANGE. It is 42547dd7cddfSDavid du Colombiernecessary to make setpagedevice work, and to avoid confusion about what 42557dd7cddfSDavid du Colombier"page size" means. It potentially affects any device driver, but almost 42567dd7cddfSDavid du Colombiernone of the device drivers distributed with Ghostscript are affected, and 42577dd7cddfSDavid du Colombierthose have been updated. (gsparam.h, gxdevice.h, gsdevice.c, gsdparam.c, 42587dd7cddfSDavid du Colombiergspath.c) 42597dd7cddfSDavid du Colombier 42607dd7cddfSDavid du ColombierRenames gconfig.c as gconf.c to avoid problems with read-only source files. 42617dd7cddfSDavid du Colombier(gconf.c) 42627dd7cddfSDavid du Colombier 42637dd7cddfSDavid du ColombierAdds an API procedure for setting a bitmap pattern. (gscolor2.h, 42647dd7cddfSDavid du Colombiergspcolor.c) 42657dd7cddfSDavid du Colombier 42663ff48bf5SDavid du Colombier</pre> 42677dd7cddfSDavid du Colombier 42683ff48bf5SDavid du Colombier<h2><a name="Version3.45"></a>Version 3.45 (limited) (8/27/95)</h2> 42693ff48bf5SDavid du Colombier 42703ff48bf5SDavid du Colombier<p> 42717dd7cddfSDavid du ColombierThe purpose of this release is to fix some minor bugs reported by commercial 42727dd7cddfSDavid du Colombierlicensees, and to add two enhancements: optional RenderTable interpolation 42737dd7cddfSDavid du Colombierfor CIE color, and reducing the temporary space used during character 42747dd7cddfSDavid du Colombiercaching (also for a licensee). 42757dd7cddfSDavid du Colombier 42763ff48bf5SDavid du Colombier<h3><a name="V3.45_Documentation"></a>Documentation</h3><pre> 42777dd7cddfSDavid du Colombier 42787dd7cddfSDavid du ColombierNotes that the only valid return values from get_alpha_bits are 1, 2, and 4. 42797dd7cddfSDavid du Colombier(drivers.doc) 42807dd7cddfSDavid du Colombier 42817dd7cddfSDavid du ColombierNotes that the get_bits driver procedure will return a pointer to aligned 42827dd7cddfSDavid du Colombierdata, but does not require the caller's data area to be aligned. 42837dd7cddfSDavid du Colombier(drivers.doc) 42847dd7cddfSDavid du Colombier 42853ff48bf5SDavid du Colombier</pre><h3><a name="V3.45_Procedures"></a>Procedures</h3><pre> 42867dd7cddfSDavid du Colombier 42877dd7cddfSDavid du ColombierFixes bugs: 42887dd7cddfSDavid du Colombier - Many of the printer and file output drivers in devs.mak still 42897dd7cddfSDavid du Colombierincluded gdevprn.$(OBJ) in their dependencies. (devs.mak) 42907dd7cddfSDavid du Colombier - PDEVH was used before it was defined. (devs.mak) 42917dd7cddfSDavid du Colombier - GENCONF_XE was used before it was defined. (unixhead.mak, 42927dd7cddfSDavid du Colombierunix-end.mak) 42937dd7cddfSDavid du Colombier 42947dd7cddfSDavid du ColombierMakes it possible to switch sfile implementations without editing gs.mak. 42957dd7cddfSDavid du Colombier(gs.mak) 42967dd7cddfSDavid du Colombier 42977dd7cddfSDavid du ColombierMakes it possible to specify alternate compiled font tables without editing 42987dd7cddfSDavid du Colombiergs.mak. (gs.mak) 42997dd7cddfSDavid du Colombier 43007dd7cddfSDavid du ColombierAllows quoted arguments in @-files, e.g., 43017dd7cddfSDavid du Colombier -sOutputFile="a file name with spaces" 43027dd7cddfSDavid du Colombier(gs.c) 43037dd7cddfSDavid du Colombier 43043ff48bf5SDavid du Colombier</pre><h3><a name="V3.45_Utilities"></a>Utilities</h3><pre> 43057dd7cddfSDavid du Colombier 43067dd7cddfSDavid du ColombierFixes bugs: 43077dd7cddfSDavid du Colombier - The ps2ascii script could fail to delete temporary files in case 43087dd7cddfSDavid du Colombierof an abnormal exit. (ps2ascii) 43097dd7cddfSDavid du Colombier 43103ff48bf5SDavid du Colombier</pre><h3><a name="V3.45_Drivers"></a>Drivers</h3><pre> 43117dd7cddfSDavid du Colombier 43127dd7cddfSDavid du ColombierFixes bugs: 43137dd7cddfSDavid du Colombier - The MS Windows printer capability test was wrong. (gdevwpr2.c) 43147dd7cddfSDavid du Colombier - The MS Windows and OS/2/PM displays weren't page devices. 43157dd7cddfSDavid du Colombier(gdevwdib.c, gdevpm.c) 43167dd7cddfSDavid du Colombier 43177dd7cddfSDavid du ColombierGets rid of all direct references to dev->PageSize in drivers. (gdevl256.c, 43187dd7cddfSDavid du Colombiergdevvglb.c) 43197dd7cddfSDavid du Colombier 43203ff48bf5SDavid du Colombier</pre><h3><a name="V3.45_Platforms"></a>Platforms</h3><pre> 43217dd7cddfSDavid du Colombier 43227dd7cddfSDavid du ColombierFixes bugs: 43237dd7cddfSDavid du Colombier - The 32-bit MS Windows configuration file for the Borland C++ 43247dd7cddfSDavid du Colombiercompiler was missing from the fileset. (bcc32.cfg, tar_gs) 43257dd7cddfSDavid du Colombier 43267dd7cddfSDavid du ColombierMakes the printer devices in the OS/2 implementation capable of outputting 43277dd7cddfSDavid du Colombierdirectly to the print spooler. (use.doc, gp_os2.c) 43287dd7cddfSDavid du Colombier 43297dd7cddfSDavid du ColombierMakes printing on Windows NT and Windows 95 use the printer queue. 43307dd7cddfSDavid du Colombier(gp_mswin.c, gswin32.rc) 43317dd7cddfSDavid du Colombier 43323ff48bf5SDavid du Colombier</pre><h3><a name="V3.45_Interpreter"></a>Interpreter</h3><pre> 43337dd7cddfSDavid du Colombier 43347dd7cddfSDavid du ColombierFixes bugs: 43357dd7cddfSDavid du Colombier - Copying a null device produced an uninitialized pointer. 43367dd7cddfSDavid du Colombier(gsdevice.c) 43377dd7cddfSDavid du Colombier - The dictionary returned by deviceinfo wasn't read-only. 43387dd7cddfSDavid du Colombier(gs_lev2.ps) 43397dd7cddfSDavid du Colombier - If a filter's init code failed, an entry on the operand stack 43407dd7cddfSDavid du Colombier(usually the top) could be smashed. (files.h, zfile.c, zfilter.c) 43417dd7cddfSDavid du Colombier 43427dd7cddfSDavid du ColombierAdds const in a few places that needed it. (zwppm.c) 43437dd7cddfSDavid du Colombier 43447dd7cddfSDavid du ColombierAdds interpolation to the CIE RenderTable lookup. (icie.h, zcie.c, zcrd.c) 43457dd7cddfSDavid du Colombier 43463ff48bf5SDavid du Colombier</pre><h3><a name="V3.45_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 43477dd7cddfSDavid du Colombier 43487dd7cddfSDavid du ColombierAllows PDF files with control-character garbage at the end, and up to 250 43497dd7cddfSDavid du Colombiercharacters of garbage at the beginning. The latter is only supported by 43507dd7cddfSDavid du Colombierrunpdf, not by run. (pdf_base.ps, pdf_main.ps) 43517dd7cddfSDavid du Colombier 43523ff48bf5SDavid du Colombier</pre><h3><a name="V3.45_Streams"></a>Streams</h3><pre> 43537dd7cddfSDavid du Colombier 43547dd7cddfSDavid du ColombierFixes bugs: 43557dd7cddfSDavid du Colombier - A 1-D CCITTFaxDecode stream could give an error if an input buffer 43567dd7cddfSDavid du Colombierboundary fell just before a 0-length termination code. (scfx.h, scfd.c) 43577dd7cddfSDavid du Colombier 43583ff48bf5SDavid du Colombier</pre><h3><a name="V3.45_Library"></a>Library</h3><pre> 43597dd7cddfSDavid du Colombier 43607dd7cddfSDavid du ColombierFixes bugs: 43617dd7cddfSDavid du Colombier - A variable was used before being set, which could cause band 43627dd7cddfSDavid du Colombierdevices to become confused when processing colored halftones. (gxclist.c) 43637dd7cddfSDavid du Colombier - Some of the color and tile bookkeeping for band lists was wrong 43647dd7cddfSDavid du Colombier(as of 3.44), causing tiled areas to be filled with garbage. (gxclist.c, 43657dd7cddfSDavid du Colombiergxclread.c) 43667dd7cddfSDavid du Colombier - Colored Patterns showed up blank on devices whose native 43677dd7cddfSDavid du Colombierrepresentation of `black' was a non-zero value. The fix removes the 43687dd7cddfSDavid du Colombier'cached' member of the gx_device structure, and requires monobit memory 43697dd7cddfSDavid du Colombierdevices to have a palette; this is a NON-BACKWARD-COMPATIBLE CHANGE for 43707dd7cddfSDavid du Colombieranyone who was foolish enough to statically initialize a gx_device structure 43717dd7cddfSDavid du Colombierwithout using the macros in gxdevice.h or gdevprn.h. (gdevmem.h, 43727dd7cddfSDavid du Colombiergxdevice.h, gxdevmem.h, gdevm1.c, gdevmrop.c, gsdevice.c, gxcpath.c, 43737dd7cddfSDavid du Colombiergxdither.c) 43747dd7cddfSDavid du Colombier 43757dd7cddfSDavid du ColombierProvides the framework for band devices to implement alpha (anti-aliasing). 43767dd7cddfSDavid du Colombier(gxcldev.h, gdevprn.c, gsdevice.c, gxclist.c, gxclread.c) 43777dd7cddfSDavid du Colombier 43787dd7cddfSDavid du ColombierImplements an efficient API for enumerating paths using device coordinates. 43797dd7cddfSDavid du Colombier(gspath.h, gxpath.h, gzpath.h, gspath1.c, gxpath2.c) 43807dd7cddfSDavid du Colombier 43817dd7cddfSDavid du ColombierChanges the character cache logic so that when rasterizing large 43827dd7cddfSDavid du Colombieranti-aliased characters, it converts the oversampled bits to alpha values on 43837dd7cddfSDavid du Colombierthe fly rather than waiting until it has rasterized the entire character. 43847dd7cddfSDavid du ColombierThis saves a lot of temporary space, at the expense of some extra time and 43857dd7cddfSDavid du Colombierlower quality results for Type 3 characters that don't use a single fill or 43867dd7cddfSDavid du Colombierimagemask operation to draw the character. This enhancement requires adding 43877dd7cddfSDavid du Colombiera member to the gx_device structure (max_fill_band), which is a 43887dd7cddfSDavid du ColombierNON-BACKWARD-COMPATIBLE CHANGE for badly written drivers (see above). 43897dd7cddfSDavid du Colombier(gxchar.h, gxdevice.h, gxpaint.h, gdevabuf.c, gschar.c, gspaint.c, 43907dd7cddfSDavid du Colombiergxccache.c, gxccman.c, gxfill.c) 43917dd7cddfSDavid du Colombier 43927dd7cddfSDavid du ColombierChanges the palette member of memory devices from gs_string to 43937dd7cddfSDavid du Colombiergs_const_string. (gdevmem.h, gxdevmem.h, gdevmem.c, gdevm1.c) 43947dd7cddfSDavid du Colombier 43957dd7cddfSDavid du ColombierStarts to decouple halftoning from the graphics state machinery, so 43967dd7cddfSDavid du Colombierit can be applied after banding rather than before. (gxdcolor.h, 43977dd7cddfSDavid du Colombiergxdht.h, gxdither.h, gzht.h, gxcmap.c, gxdither.c, gxdraw.c) 43987dd7cddfSDavid du Colombier 43997dd7cddfSDavid du ColombierStarts to decouple path filling from the graphics state machinery, so 44007dd7cddfSDavid du Colombierthat we can pass paths through band lists. (gxpaint.h, gxfill.c) 44017dd7cddfSDavid du Colombier 44027dd7cddfSDavid du ColombierAdds interpolation to the CIE RenderTable lookup. This is optional, enabled 44037dd7cddfSDavid du Colombierby #define CIE_RENDER_TABLE_INTERPOLATE in gscie.h. (gscie.h, gxctable.h, 44047dd7cddfSDavid du Colombiergscie.c, gxctable.c) 44057dd7cddfSDavid du Colombier 44063ff48bf5SDavid du Colombier</pre> 44077dd7cddfSDavid du Colombier 44083ff48bf5SDavid du Colombier<h2><a name="Version3.44"></a>Version 3.44 (limited) (8/21/95)</h2> 44093ff48bf5SDavid du Colombier 44103ff48bf5SDavid du Colombier<p> 44117dd7cddfSDavid du ColombierThis includes a few bug fixes, but its main purpose is to add two new 44127dd7cddfSDavid du Colombierfeatures: monobit and 8-bit gray-scale RasterOp (at the driver level, not at 44137dd7cddfSDavid du Colombierthe gstate level yet), and (compressed) band lists in RAM. Of course, these 44147dd7cddfSDavid du Colombiernew features may have introduced new bugs! 44157dd7cddfSDavid du Colombier 44163ff48bf5SDavid du Colombier<h3><a name="V3.44_Documentation"></a>Documentation</h3><pre> 44177dd7cddfSDavid du ColombierAdds contact information for a user working on NeXT machines. (README) 44187dd7cddfSDavid du Colombier 44197dd7cddfSDavid du ColombierNotes that Ghostscript runs on FreeBSD. (README) 44207dd7cddfSDavid du Colombier 44217dd7cddfSDavid du ColombierAdds copy_rop (the RasterOp operation) to the driver interface. 44227dd7cddfSDavid du Colombier(drivers.doc) 44237dd7cddfSDavid du Colombier 44247dd7cddfSDavid du ColombierAdds FONTPATH information for more operating systems. (use.doc) 44257dd7cddfSDavid du Colombier 44263ff48bf5SDavid du Colombier</pre><h3><a name="V3.44_Procedures"></a>Procedures</h3><pre> 44277dd7cddfSDavid du Colombier 44287dd7cddfSDavid du ColombierFixes bugs: 44297dd7cddfSDavid du Colombier - The tar_cat script needed a #!/bin/sh to execute correctly on all 44307dd7cddfSDavid du Colombierplatforms. (tar_cat) 44317dd7cddfSDavid du Colombier - There were a number of minor errors in the makefiles. (gs.mak, 44327dd7cddfSDavid du Colombierunixhead.mak) 44337dd7cddfSDavid du Colombier - Level 2 configurations without command lists had two undefined 44347dd7cddfSDavid du Colombierreferences. (gs.mak) 44357dd7cddfSDavid du Colombier - Some shells required an extra ';' to terminate an 'if' command. 44367dd7cddfSDavid du Colombier(ugcclib.mak, unix-end.mak, unixtail.mak) 44377dd7cddfSDavid du Colombier 44387dd7cddfSDavid du ColombierUpdates the JPEG code to the officially released version 6 of the IJG 44397dd7cddfSDavid du Colombierlibrary. See jpeg.mak for information on where to find this library. 44407dd7cddfSDavid du Colombier(jpeg/*, jpeg.mak, *.mak, modules.lis) 44417dd7cddfSDavid du Colombier 44427dd7cddfSDavid du ColombierAdds a definition of XEAUX to the makefiles to parallel CCAUX, primarily for 44437dd7cddfSDavid du Colombiercross-compilation environments. All references to <some-program>$(XE) must 44447dd7cddfSDavid du Colombierbe replaced by $(<SOME-PROGRAM>_XE), where some-program={$(GS), ansi2knr, 44457dd7cddfSDavid du Colombierechogs, genarch, genconf, geninit}. This is a NON-BACKWARD-COMPATIBLE 44467dd7cddfSDavid du ColombierCHANGE, required in order for the makefiles to work in cross-compiled 44477dd7cddfSDavid du Colombierenvironments. (For non-cross-compiled environments, it currently doesn't 44487dd7cddfSDavid du Colombiermatter.) (gs.mak, *.mak) 44497dd7cddfSDavid du Colombier 44503ff48bf5SDavid du Colombier</pre><h3><a name="V3.44_Utilities"></a>Utilities</h3><pre> 44517dd7cddfSDavid du Colombier 44527dd7cddfSDavid du ColombierUpdates ps2ai.ps to version 2.13. (ps2ai.ps) 44537dd7cddfSDavid du Colombier 44547dd7cddfSDavid du ColombierChanges all the utility shell scripts to include #!/bin/sh, to use exec, and 44557dd7cddfSDavid du Colombierto pass the original arguments using "$@". (bdftops, font2c, gsbj, gsdj, 44567dd7cddfSDavid du Colombiergslj, gslp, gsnd, wftopfa) 44577dd7cddfSDavid du Colombier 44583ff48bf5SDavid du Colombier</pre><h3><a name="V3.44_Drivers"></a>Drivers</h3><pre> 44597dd7cddfSDavid du Colombier 44607dd7cddfSDavid du ColombierAdds the requirement that all page-oriented devices (i.e., those that use 44617dd7cddfSDavid du Colombiergdevprn.h and implement the print_page procedure) include page.dev in their 44627dd7cddfSDavid du Colombierdependencies and use $(SETPDEV) rather than $(SETDEV) in their makefile rule 44637dd7cddfSDavid du Colombierbodies. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE. Without this change, the 44647dd7cddfSDavid du Colombiercommand list logic (over 25K of unnecessary object code) would have to be 44657dd7cddfSDavid du Colombierincluded in every configuration. (gs.mak, devs.mak, echogs.c) 44667dd7cddfSDavid du Colombier 44677dd7cddfSDavid du ColombierAdds a user-contributed driver for the Okidata Microline (IBM compatible) 44687dd7cddfSDavid du Colombierdot matrix printers. (gdevokii.c) 44697dd7cddfSDavid du Colombier 44707dd7cddfSDavid du ColombierAdds copy_rop (the RasterOp operation) to the driver interface. Currently, 44717dd7cddfSDavid du Colombieronly monobit and 8-bit gray-scale devices implement it. (gxdevice.h, 44727dd7cddfSDavid du Colombiergsdevice.c) 44737dd7cddfSDavid du Colombier 44747dd7cddfSDavid du ColombierAdds the ability to read back bits from the display to the x11 devices. 44757dd7cddfSDavid du Colombier(x_.h, gdevx.c, gdevxalt.c) 44767dd7cddfSDavid du Colombier 44773ff48bf5SDavid du Colombier</pre><h3><a name="V3.44_Platforms"></a>Platforms</h3><pre> 44787dd7cddfSDavid du Colombier 44797dd7cddfSDavid du ColombierMakes some minor changes to support QNX. (stat_.h) 44807dd7cddfSDavid du Colombier 44817dd7cddfSDavid du ColombierRemoves the mswinprn driver from the 16-bit Windows configuration, because 44827dd7cddfSDavid du Colombierthe 64K default data segment overflowed. (bcwin.mak) 44837dd7cddfSDavid du Colombier 44843ff48bf5SDavid du Colombier</pre><h3><a name="V3.44_Interpreter"></a>Interpreter</h3><pre> 44857dd7cddfSDavid du Colombier 44867dd7cddfSDavid du ColombierFixes bugs: 44877dd7cddfSDavid du Colombier - Type 1 fonts didn't accept packed arrays for Subrs or OtherSubrs. 44887dd7cddfSDavid du Colombier(zchar1.c, zfont1.c) 44897dd7cddfSDavid du Colombier - TBCP-encoded files (yes, I know there isn't supposed to be any 44907dd7cddfSDavid du Colombiersuch thing) didn't automatically activate TBCP decoding. (gs_init.ps) 44917dd7cddfSDavid du Colombier - Fonts with invalid FID entries weren't detected. (zfont.c) 44927dd7cddfSDavid du Colombier 44937dd7cddfSDavid du ColombierSpeeds up dictionary operations slightly by removing redundant checks for 44947dd7cddfSDavid du Colombiernulls. (zdict.c) 44957dd7cddfSDavid du Colombier 44967dd7cddfSDavid du ColombierStarts adding support for the new CIEBasedDEF and CIEBasedDEFG color spaces. 44977dd7cddfSDavid du Colombier(gs_l2img.ps, gs_lev2.ps, igstate.h, zcrd.c) 44987dd7cddfSDavid du Colombier 44997dd7cddfSDavid du ColombierAdds access operators for RasterOp and transparency in the graphics state. 45007dd7cddfSDavid du Colombier(They don't actually do anything yet.) (zgstate.c) 45017dd7cddfSDavid du Colombier 45023ff48bf5SDavid du Colombier</pre><h3><a name="V3.44_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 45037dd7cddfSDavid du Colombier 45047dd7cddfSDavid du ColombierFixes bugs: 45057dd7cddfSDavid du Colombier - PDFDocEncoding was missing characters 24-31. (gs_pdf_e.ps) 45067dd7cddfSDavid du Colombier 45077dd7cddfSDavid du ColombierMoves the definition of pdfmark from systemdict to userdict so that Adobe 45087dd7cddfSDavid du ColombierPostScript files won't think the interpreter is a distiller. (gs_pdf.ps) 45097dd7cddfSDavid du Colombier 45103ff48bf5SDavid du Colombier</pre><h3><a name="V3.44_Library"></a>Library</h3><pre> 45117dd7cddfSDavid du Colombier 45127dd7cddfSDavid du ColombierFixes bugs: 45137dd7cddfSDavid du Colombier - Some JPEG images had bands of garbage alternating with bands of 45147dd7cddfSDavid du Colombiervalid data. IJG v6 fixed this -- see above. 45157dd7cddfSDavid du Colombier - With FPU_TYPE = -1, the cosine routine returned incorrect values 45167dd7cddfSDavid du Colombierfor angles above 270 degrees. (gsmisc.c) 45177dd7cddfSDavid du Colombier - CIE color conversion didn't work on 16-bit systems. (gscie.h, 45187dd7cddfSDavid du Colombiergscie.c) 45197dd7cddfSDavid du Colombier 45207dd7cddfSDavid du ColombierPartially implements reducing the intermediate space for rasterizing 45217dd7cddfSDavid du Colombieranti-aliased characters by compressing the oversampled representation to an 45227dd7cddfSDavid du Colombieralpha array incrementally. (gdevmem.h, gxchar.h, gxdevmem.h, gdevabuf.c, 45237dd7cddfSDavid du Colombiergschar.c, gspaint.c, gxccman.c) 45247dd7cddfSDavid du Colombier 45257dd7cddfSDavid du ColombierStarts adding support for the new CIEBasedDEF and CIEBasedDEFG color spaces. 45267dd7cddfSDavid du Colombier(gscie.h, gscspace.h, gscie.c) 45277dd7cddfSDavid du Colombier 45287dd7cddfSDavid du ColombierCompletes the implementation of band lists in RAM. To select this feature, 45297dd7cddfSDavid du Colombierchange the definition of cl_impl in gs.mak from clfile to clmem. (Someday 45307dd7cddfSDavid du Colombierwe'll make this easier.) (gxclmem.h, gxclmem.c) 45317dd7cddfSDavid du Colombier 45327dd7cddfSDavid du ColombierFinishes implementing RasterOp and transparency at the driver level for 45337dd7cddfSDavid du Colombiermonobit and 8-bit gray-scale devices, and implements some of the framework 45347dd7cddfSDavid du Colombierfor general multiple-bit-per-pixel devices. See drivers.doc for 45357dd7cddfSDavid du Colombierdocumentation. (gsropt.h, gxcldev.h, gxclist.h, gdevm1.c, gdevm8.c, 45367dd7cddfSDavid du Colombiergdevmem.c, gdevmrop.c, gschar.c, gxclist.c, gxclread.c) 45377dd7cddfSDavid du Colombier 45387dd7cddfSDavid du ColombierImplements the ability to include commands applicable to all bands, rather 45397dd7cddfSDavid du Colombierthan an individual band, in the band list. Eventually this will be used for 45407dd7cddfSDavid du Colombierpassing halftones through the band list. (gxcldev.h, gxclist.h, gxclist.c) 45417dd7cddfSDavid du Colombier 45427dd7cddfSDavid du ColombierAdds support for 2-bit-deep 'word' memory devices. (gdevmem.h, gxdevmem.c, 45437dd7cddfSDavid du Colombiergdevm2.c) 45447dd7cddfSDavid du Colombier 45457dd7cddfSDavid du ColombierChanges the initialization for memory devices so that they determine their 45467dd7cddfSDavid du Colombierpolarity from the device for which they are buffering the image (if any). 45477dd7cddfSDavid du ColombierThis is a subtle change. (gdevmem.h, gdevmem.c, gdevm1.c, gsdevmem.c) 45487dd7cddfSDavid du Colombier 45493ff48bf5SDavid du Colombier</pre> 45507dd7cddfSDavid du Colombier 45513ff48bf5SDavid du Colombier<h2><a name="Version3.43"></a>Version 3.43 (limited) (8/10/95)</h2> 45523ff48bf5SDavid du Colombier 45533ff48bf5SDavid du Colombier<p> 45547dd7cddfSDavid du ColombierFixes a few more minor bugs, and changes FEATURE selection back to 45557dd7cddfSDavid du Colombieressentially the way it was before 3.41. 45567dd7cddfSDavid du Colombier 45573ff48bf5SDavid du Colombier<h3><a name="V3.43_Documentation"></a>Documentation</h3><pre> 45587dd7cddfSDavid du ColombierFixes bugs: 45597dd7cddfSDavid du Colombier - A ~ was missing in a URL. (README) 45607dd7cddfSDavid du Colombier 45617dd7cddfSDavid du ColombierAdds information about an Amiga port of Ghostscript. (README) 45627dd7cddfSDavid du Colombier 45637dd7cddfSDavid du ColombierRemoves a file called gs.1.c, which appears to be an obsolete version of 45647dd7cddfSDavid du Colombiergs.1. 45657dd7cddfSDavid du Colombier 45667dd7cddfSDavid du ColombierAdds DCX documentation to the PCX driver. (We don't support DCX yet, but we 45677dd7cddfSDavid du Colombiermight in the future.) (gdevpcx.c) 45687dd7cddfSDavid du Colombier 45697dd7cddfSDavid du ColombierAdds information about getting Type 1 fonts from H-P if you have an H-P 45707dd7cddfSDavid du ColombierPostScript printer. (use.doc) 45717dd7cddfSDavid du Colombier 45723ff48bf5SDavid du Colombier</pre><h3><a name="V3.43_Procedures"></a>Procedures</h3><pre> 45737dd7cddfSDavid du Colombier 45747dd7cddfSDavid du ColombierFixes bugs: 45757dd7cddfSDavid du Colombier - The auxiliary programs wouldn't compile with ANSI compilers that 45767dd7cddfSDavid du Colombierdon't accept K&R syntax. (ccgs, gs.mak, ugcclib.mak, *head.mak, 45777dd7cddfSDavid du Colombierunixtail.mak, echogs.c, genarch.c, genconf.c, geninit.c) 45787dd7cddfSDavid du Colombier 45797dd7cddfSDavid du ColombierReinstates FEATURE_DEVS in the makefiles, getting rid of FEATURE1..10. THIS 45807dd7cddfSDavid du ColombierIS A NON-BACKWARD-COMPATIBLE CHANGE, but it puts things back the way they 45817dd7cddfSDavid du Colombierwere before 3.41, with one exception: compiling the PostScript 45827dd7cddfSDavid du Colombierinitialization code into the executable is now a separate macro 45837dd7cddfSDavid du ColombierCOMPILE_INITS with a definition of 0 or 1, instead of the ccinit 'feature'. 45847dd7cddfSDavid du Colombier(gs.mak, *.mak, fonts.doc, make.doc) 45857dd7cddfSDavid du Colombier 45867dd7cddfSDavid du ColombierAdds a CCLEAF macro to the makefiles, for optimizing the compilation of 45877dd7cddfSDavid du Colombiermodules containing only leaf procedures. (gs.mak, *.mak) 45887dd7cddfSDavid du Colombier 45897dd7cddfSDavid du ColombierAdds a CONFIG makefile variable that helps in maintaining multiple variants 45907dd7cddfSDavid du Colombierin a single directory. (gs.mak, *.mak) 45917dd7cddfSDavid du Colombier 45923ff48bf5SDavid du Colombier</pre><h3><a name="V3.43_Platforms"></a>Platforms</h3><pre> 45937dd7cddfSDavid du Colombier 45947dd7cddfSDavid du ColombierFixes bugs: 45957dd7cddfSDavid du Colombier - An extern for exit() (in <stdlib.h>) was omitted. (gp_vms.c) 45967dd7cddfSDavid du Colombier 45973ff48bf5SDavid du Colombier</pre><h3><a name="V3.43_Fonts"></a>Fonts</h3><pre> 45987dd7cddfSDavid du Colombier 45997dd7cddfSDavid du ColombierReorganizes the compiled font facility so that fonts can be compiled and 46007dd7cddfSDavid du Colombierturned into a library by third parties. (gs.mak, font2c.ps, gs_ccfnt.ps, 46017dd7cddfSDavid du Colombierccfont.h, iccfont.c, ccfontab.c) 46027dd7cddfSDavid du Colombier 46033ff48bf5SDavid du Colombier</pre><h3><a name="V3.43_Interpreter"></a>Interpreter</h3><pre> 46047dd7cddfSDavid du Colombier 46057dd7cddfSDavid du ColombierFixes bugs: 46067dd7cddfSDavid du Colombier - internaldict was implemented as a dictionary in systemdict and an 46077dd7cddfSDavid du Colombieroperator in userdict, rather than as an operator in systemdict. This caused 46087dd7cddfSDavid du Colombiera noaccess error when loading certain Type 1 fonts. (gs_init.ps, 46097dd7cddfSDavid du Colombiergs_type1.ps) 46107dd7cddfSDavid du Colombier - xfonts couldn't handle modified encodings. (zfont2.c) 46117dd7cddfSDavid du Colombier 46127dd7cddfSDavid du ColombierChanges the build date printout in the help message to YYYY-MM-DD. (gs.c) 46137dd7cddfSDavid du Colombier 46147dd7cddfSDavid du ColombierAdds native support for Multiple Master fonts (WeightVector). (zfont1.c) 46157dd7cddfSDavid du Colombier 46167dd7cddfSDavid du ColombierImplements sin and cos more efficiently (by table lookup with linear 46177dd7cddfSDavid du Colombierinterpolation) on machines with slow (or no) floating point. (zmath.c) 46187dd7cddfSDavid du Colombier 46197dd7cddfSDavid du ColombierSeparates out the code for 'reading' the .ps initialization files, for the 46207dd7cddfSDavid du Colombiernew COMPILE_INITS arrangement. (imain.h, gconfig.c, gsmain.c, iconfig.c, 46217dd7cddfSDavid du Colombiericcinit0.c, iinit.c) 46227dd7cddfSDavid du Colombier 46233ff48bf5SDavid du Colombier</pre><h3><a name="V3.43_Streams"></a>Streams</h3><pre> 46247dd7cddfSDavid du Colombier 46257dd7cddfSDavid du ColombierFixes bugs: 46267dd7cddfSDavid du Colombier - The CCITTFaxDecode filter could read up to 3 bytes beyond EOD. 46277dd7cddfSDavid du ColombierThis fix doesn't quite cover all cases, but at least it makes things better. 46287dd7cddfSDavid du Colombier(ghc.h, sbhc.c, scfd.c) 46297dd7cddfSDavid du Colombier 46303ff48bf5SDavid du Colombier</pre><h3><a name="V3.43_Library"></a>Library</h3><pre> 46317dd7cddfSDavid du Colombier 46327dd7cddfSDavid du ColombierFixes bugs: 46337dd7cddfSDavid du Colombier - After a nocurrentpoint error from a show operation with a 46347dd7cddfSDavid du Colombiercomposite font, the bookkeeping was confused and could cause an access 46357dd7cddfSDavid du Colombiererror. (gschar.c) 46367dd7cddfSDavid du Colombier - xfonts couldn't handle modified encodings. (gsccode.h, gxchar.h, 46377dd7cddfSDavid du Colombiergxfont.h, gxxfont.h, gschar.c, gxccache.c) 46387dd7cddfSDavid du Colombier 46397dd7cddfSDavid du ColombierMakes .charboxpath able to use cached character information. (gxchar.h, 46407dd7cddfSDavid du Colombiergschar.c) 46417dd7cddfSDavid du Colombier 46427dd7cddfSDavid du ColombierAdds native support for Multiple Master fonts (OtherSubrs 14-18). 46437dd7cddfSDavid du Colombier(gxfont1.h, gstype1.c) 46447dd7cddfSDavid du Colombier 46457dd7cddfSDavid du ColombierImproves the hashing functions for the character cache. (gxfcache.h, 46467dd7cddfSDavid du Colombiergxccman.c) 46477dd7cddfSDavid du Colombier 46487dd7cddfSDavid du ColombierAdjusts the character oversampling algorithm to reduce thickening for 46497dd7cddfSDavid du Colombierdevices with alpha capability. (gsbitops.c) 46507dd7cddfSDavid du Colombier 46517dd7cddfSDavid du ColombierImproves the encoding of the band list for certain kinds of small 46527dd7cddfSDavid du Colombierrectangles. (gxcldev.h, gxclist.c, gxclread.c) 46537dd7cddfSDavid du Colombier 46547dd7cddfSDavid du ColombierImplements sin and cos efficiently on machines with slow (or no) floating 46557dd7cddfSDavid du Colombierpoint. (gxfarith.h, gsmatrix.c, gsmisc.c, gspath1.c) 46567dd7cddfSDavid du Colombier 46573ff48bf5SDavid du Colombier</pre> 46587dd7cddfSDavid du Colombier 46593ff48bf5SDavid du Colombier<h2><a name="Version3.42"></a>Version 3.42 (limited) (8/2/95)</h2> 46603ff48bf5SDavid du Colombier 46613ff48bf5SDavid du Colombier<p> 46627dd7cddfSDavid du ColombierFixes a few significant problems in 3.41, and brings the DLL code up to 46637dd7cddfSDavid du Colombierdate. 46647dd7cddfSDavid du Colombier 46653ff48bf5SDavid du Colombier<h3><a name="V3.42_Documentation"></a>Documentation</h3><pre> 46667dd7cddfSDavid du ColombierFixes bugs: 46677dd7cddfSDavid du Colombier - language.doc still referred to rectappend rather than .rectappend. 46687dd7cddfSDavid du Colombier(language.doc) 46697dd7cddfSDavid du Colombier 46707dd7cddfSDavid du ColombierAdds documentation on the Macintosh port. (readme, make.doc) 46717dd7cddfSDavid du Colombier 46727dd7cddfSDavid du ColombierUpdates the DLL documentation. (dll.doc) 46737dd7cddfSDavid du Colombier 46747dd7cddfSDavid du ColombierDocuments the BCP and TBCP filters as non-experimental. (language.doc) 46757dd7cddfSDavid du Colombier 46763ff48bf5SDavid du Colombier</pre><h3><a name="V3.42_Procedures"></a>Procedures</h3><pre> 46777dd7cddfSDavid du Colombier 46787dd7cddfSDavid du ColombierChanges the build date printout to YYYY-MM-DD. (gs_init.ps) 46797dd7cddfSDavid du Colombier 46803ff48bf5SDavid du Colombier</pre><h3><a name="V3.42_Platforms"></a>Platforms</h3><pre> 46817dd7cddfSDavid du Colombier 46827dd7cddfSDavid du ColombierFixes bugs: 46837dd7cddfSDavid du Colombier - The VMS build script had gotten out of sync with the makefiles 46847dd7cddfSDavid du Colombier(again). (vms.mak, modules.lis) 46857dd7cddfSDavid du Colombier 46867dd7cddfSDavid du ColombierBrings the MS Windows and OS/2 platforms up to date with the rest of the 46877dd7cddfSDavid du Colombiercode, including DLL support for OS/2. (os2.mak, gsdll*.def, gdevswn.c, 46887dd7cddfSDavid du Colombiergdevpm.c, gdevwdib.c, gp_mswin.c, gp_os2.c, gsdll.c, gsmain.c) 46897dd7cddfSDavid du Colombier 46907dd7cddfSDavid du ColombierAdds a new platform-specific routine gp_do_exit, as an alias for the C 46917dd7cddfSDavid du Colombierlibrary `exit' call. (gp.h, gsdll.c, gsmain.c, gp_*.c) 46927dd7cddfSDavid du Colombier 46933ff48bf5SDavid du Colombier</pre><h3><a name="V3.42_Interpreter"></a>Interpreter</h3><pre> 46947dd7cddfSDavid du Colombier 46957dd7cddfSDavid du ColombierFixes bugs: 46967dd7cddfSDavid du Colombier - .forgetsave at the outermost level didn't clear the l_new bit, 46977dd7cddfSDavid du Colombiercausing changes to be undone improperly. (isave.c) 46987dd7cddfSDavid du Colombier - A 'void' formal parameter list upset some compilers (as it should 46997dd7cddfSDavid du Colombierhave). (gsmain.c) 47007dd7cddfSDavid du Colombier 47017dd7cddfSDavid du ColombierAdds a .charboxpath operator that appends to the current path the bounding 47027dd7cddfSDavid du Colombierboxes of the characters of a string. (zchar.c, zchar1.c) 47037dd7cddfSDavid du Colombier 47043ff48bf5SDavid du Colombier</pre><h3><a name="V3.42_Streams"></a>Streams</h3><pre> 47057dd7cddfSDavid du Colombier 47067dd7cddfSDavid du ColombierFixes bugs: 47077dd7cddfSDavid du Colombier - A procedure was declared private inconsistently. (siscale.c) 47087dd7cddfSDavid du Colombier 47093ff48bf5SDavid du Colombier</pre><h3><a name="V3.42_Library"></a>Library</h3><pre> 47107dd7cddfSDavid du Colombier 47117dd7cddfSDavid du ColombierFixes bugs: 47127dd7cddfSDavid du Colombier - The library test program didn't do a necessary initial gsave. 47137dd7cddfSDavid du Colombier(gslib.c) 47147dd7cddfSDavid du Colombier - The fix for landscape monobit images in 3.41 could smash memory. 47157dd7cddfSDavid du Colombier(gsimage1.c) 47167dd7cddfSDavid du Colombier - 1-pixel-wide lines drawn with image or imagemask still disappeared 47177dd7cddfSDavid du Colombiersometimes. (gsimage.c) 47187dd7cddfSDavid du Colombier 47197dd7cddfSDavid du ColombierDoes some more preparatory work for the implementation of command lists in 47207dd7cddfSDavid du ColombierRAM. (gdevprn.h, gxclio.h, gxclist.h, gxclfile.c, gxclist.c, gxclread.c) 47217dd7cddfSDavid du Colombier 47227dd7cddfSDavid du ColombierAdds a gs_charboxpath procedure that appends to the current path the 47237dd7cddfSDavid du Colombierbounding boxes of the characters of a string. (gschar.h, gscpm.h, 47247dd7cddfSDavid du Colombiergstype1.h, gxchar.h, gxpath.h, gxtype1.h, gzstate.h, gschar.c, gspaint.c, 47257dd7cddfSDavid du Colombiergstype1.c, gxpath.c) 47267dd7cddfSDavid du Colombier 47273ff48bf5SDavid du Colombier</pre> 47287dd7cddfSDavid du Colombier 47293ff48bf5SDavid du Colombier<h2><a name="Version3.41"></a>Version 3.41 (limited) (7/27/95)</h2> 47303ff48bf5SDavid du Colombier<p> 47317dd7cddfSDavid du ColombierAnother incremental release with bug fixes and customer-requested 47327dd7cddfSDavid du Colombierenhancements. This release was intended to include the full setpagedevice 47337dd7cddfSDavid du Colombiermedia matching and adjustment algorithm, but we discovered some 47347dd7cddfSDavid du Colombierarchitectural problems during development, and have postponed it. 47357dd7cddfSDavid du Colombier 47363ff48bf5SDavid du Colombier<h3><a name="V3.41_Documentation"></a>Documentation</h3><pre> 47377dd7cddfSDavid du Colombier 47387dd7cddfSDavid du ColombierReplaces the build instructions for NeXTSTEP with more up-to-date and 47397dd7cddfSDavid du Colombieraccurate ones. (make.doc) 47407dd7cddfSDavid du Colombier 47417dd7cddfSDavid du ColombierNotes that some extra manual steps are required when cross-compiling. 47427dd7cddfSDavid du Colombier(make.doc) 47437dd7cddfSDavid du Colombier 47447dd7cddfSDavid du ColombierDocuments how to define new 'features' in the makefile. (gs.mak) 47457dd7cddfSDavid du Colombier 47463ff48bf5SDavid du Colombier</pre><h3><a name="V3.41_Procedures"></a>Procedures</h3><pre> 47477dd7cddfSDavid du Colombier 47487dd7cddfSDavid du ColombierFixes bugs: 47497dd7cddfSDavid du Colombier - The build rule for ccinit.dev was circular. Fixing this required 47507dd7cddfSDavid du Colombiera small but NON-BACKWARD-COMPATIBLE change in the way that features are 47517dd7cddfSDavid du Colombierselected in the makefiles (FEATURE_DEVS replaced by FEATURE1..10). (*.mak, 47527dd7cddfSDavid du Colombierfonts.doc, make.doc) 47537dd7cddfSDavid du Colombier 47547dd7cddfSDavid du ColombierChanges the build rule for gconfig.h to be less likely to overrun MS-DOS's 47557dd7cddfSDavid du Colombiercommand line length limit. (gs.mak) 47567dd7cddfSDavid du Colombier 47577dd7cddfSDavid du ColombierAdds a -dFIXEDMEDIA switch to indicate that the media size should be 47587dd7cddfSDavid du Colombierconsidered fixed after initialization. (gs_init.ps) 47597dd7cddfSDavid du Colombier 47603ff48bf5SDavid du Colombier</pre><h3><a name="V3.41_Utilities"></a>Utilities</h3><pre> 47617dd7cddfSDavid du Colombier 47627dd7cddfSDavid du ColombierFixes bugs: 47637dd7cddfSDavid du Colombier - traceimg.ps incorrectly referred to .stdout. (traceimg.ps) 47647dd7cddfSDavid du Colombier - prfont.ps didn't display unencoded characters correctly. 47657dd7cddfSDavid du Colombier(prfont.ps) 47667dd7cddfSDavid du Colombier - ps2epsi didn't give correct bounding box information. (ps2epsi, 47677dd7cddfSDavid du Colombierps2epsi.ps) 47687dd7cddfSDavid du Colombier - ps2epsi produced DSC comments that didn't fully conform to the 47697dd7cddfSDavid du ColombierAdobe standard. (ps2epsi, ps2epsi.ps) 47707dd7cddfSDavid du Colombier 47717dd7cddfSDavid du ColombierAllows viewpbm.ps to take multiple files on the command line. (viewpbm.ps) 47727dd7cddfSDavid du Colombier 47733ff48bf5SDavid du Colombier</pre><h3><a name="V3.41_Drivers"></a>Drivers</h3><pre> 47747dd7cddfSDavid du Colombier 47757dd7cddfSDavid du ColombierAdds a preliminary, contributed PNG driver. THIS IS NOT USABLE YET -- DON'T 47767dd7cddfSDavid du ColombierTRY TO USE IT. (png.mak, gdevpng.c) 47777dd7cddfSDavid du Colombier 47787dd7cddfSDavid du ColombierIncreases the maximum allowable scan line width for the TIFF drivers from 47797dd7cddfSDavid du Colombier5183 pixels to 12863 pixels. (scf.h) 47807dd7cddfSDavid du Colombier 47813ff48bf5SDavid du Colombier</pre><h3><a name="V3.41_Platforms"></a>Platforms</h3><pre> 47827dd7cddfSDavid du Colombier 47837dd7cddfSDavid du ColombierUpdates the MS Windows DLL code to export the new, suspendable run_string 47847dd7cddfSDavid du Colombierinterface. (gsdll.h, gsdll.c, dll.doc) 47857dd7cddfSDavid du Colombier 47863ff48bf5SDavid du Colombier</pre><h3><a name="V3.41_Fonts"></a>Fonts</h3><pre> 47877dd7cddfSDavid du Colombier 47887dd7cddfSDavid du ColombierFixes bugs: 47897dd7cddfSDavid du Colombier - There were several errors in cfonts.mak. (cfonts.mak) 47907dd7cddfSDavid du Colombier - The compiled fonts option didn't offer both free and standard 47917dd7cddfSDavid du Colombierconfigurations. (gs.mak) 47927dd7cddfSDavid du Colombier - A bug in the handling of Encoding resources prevented compiled 47937dd7cddfSDavid du Colombierfonts from working. (gs_res.ps) 47947dd7cddfSDavid du Colombier 47957dd7cddfSDavid du ColombierAdds a little more support for CID-keyed fonts. They still aren't anywhere 47967dd7cddfSDavid du Colombiernear usable. (gs_cidfn.ps, gs_type1.ps) 47977dd7cddfSDavid du Colombier 47987dd7cddfSDavid du ColombierAdds a new Fontmap for Solaris 2.3. (Fontmap.Solaris) 47997dd7cddfSDavid du Colombier 48007dd7cddfSDavid du ColombierAdds support for Type 4 fonts (Type 1 fonts with their own BuildChar 48017dd7cddfSDavid du Colombierprocedures), including the CCRun procedure in internaldict. (gs_fonts.ps, 48027dd7cddfSDavid du Colombiergs_res.ps, gs_type1.ps) 48037dd7cddfSDavid du Colombier 48043ff48bf5SDavid du Colombier</pre><h3><a name="V3.41_Interpreter"></a>Interpreter</h3><pre> 48057dd7cddfSDavid du Colombier 48067dd7cddfSDavid du ColombierFixes bugs: 48077dd7cddfSDavid du Colombier - showpage and copypage didn't honor NumCopies in a page device. 48087dd7cddfSDavid du Colombier(gs_setpd.ps, zdevice2.c) 48097dd7cddfSDavid du Colombier - currentpagedevice returned incorrect information if the current 48107dd7cddfSDavid du Colombierdevice wasn't a page device. (gs_setpd.ps) 48117dd7cddfSDavid du Colombier - currentpagedevice didn't guarantee the presence of InputAttributes 48127dd7cddfSDavid du Colombierand OutputAttributes. (gs_setpd.ps) 48137dd7cddfSDavid du Colombier - The l_new bit wasn't set properly when a dictionary changed from 48147dd7cddfSDavid du Colombierpacked to unpacked keys, leading to unnecessary saves. (idict.c) 48157dd7cddfSDavid du Colombier - Streams requiring intermediate buffering could read ahead too far, 48167dd7cddfSDavid du Colombiercausing input data to be skipped. (zfilter.c) 48177dd7cddfSDavid du Colombier - cshow didn't reset the font to the base font when calling the 48187dd7cddfSDavid du Colombierprocedure. (zchar2.c) 48197dd7cddfSDavid du Colombier - The Install procedure in a page device didn't set the default CTM. 48207dd7cddfSDavid du Colombier(gs_setpd.ps, zmatrix.c) 48217dd7cddfSDavid du Colombier - findlibfile didn't handle special files like %stdin correctly. 48227dd7cddfSDavid du Colombier(zfile.c) 48237dd7cddfSDavid du Colombier - setpagedevice didn't implement media matching. (gs_setpd.ps, 48247dd7cddfSDavid du Colombierzdevice2.c, zmedia2.c, zmatrix.c) 48257dd7cddfSDavid du Colombier - Some floating point numbers didn't print out with enough digits to 48267dd7cddfSDavid du Colombierread back in with the identical value. (iutil.c) 48277dd7cddfSDavid du Colombier - Integers that overflowed 31 bits (but not 32 bits) were converted 48287dd7cddfSDavid du Colombierto negative integers rather than correct positive reals. (iscannum.c) 48297dd7cddfSDavid du Colombier 48307dd7cddfSDavid du ColombierRemoves an experimental operator that called the image scaling/interpolation 48317dd7cddfSDavid du Colombiercode. (zimage2.c) 48327dd7cddfSDavid du Colombier 48337dd7cddfSDavid du ColombierAdds a -sSUBSTFONT=<fontname> switch that substitutes the given font for all 48347dd7cddfSDavid du Colombierunknown fonts, bypassing the normal intelligent substitution algorithm. 48357dd7cddfSDavid du Colombier(gs_fonts.ps) 48367dd7cddfSDavid du Colombier 48377dd7cddfSDavid du ColombierAdds the Revision system parameter. (zmisc2.c) 48387dd7cddfSDavid du Colombier 48397dd7cddfSDavid du ColombierAdds a .knownundef operator that does an undef and returns true iff the key 48407dd7cddfSDavid du Colombierwas formerly present. (zdict.c) 48417dd7cddfSDavid du Colombier 48427dd7cddfSDavid du ColombierMakes the maximum length of names be 256 if EXTEND_NAMES is being used, 16K 48437dd7cddfSDavid du Colombierotherwise. (inamedef.h, iname.c) 48447dd7cddfSDavid du Colombier 48457dd7cddfSDavid du ColombierAdds internaldict. (gs_init.ps, iinit.c) 48467dd7cddfSDavid du Colombier 48477dd7cddfSDavid du ColombierAdds support for Type 4 fonts. (bfont.h, zchar.c, zchar1.c, zfont1.c, 48487dd7cddfSDavid du Colombierzfont2.c) 48497dd7cddfSDavid du Colombier 48507dd7cddfSDavid du ColombierChanges .encodingdict to EncodingDirectory, for compatibility with Adobe 48517dd7cddfSDavid du Colombierinterpreters. (gs_init.ps, gs_kanji.ps, gs_res.ps) 48527dd7cddfSDavid du Colombier 48537dd7cddfSDavid du ColombierAdds superexec, an undocumented operator that is equivalent to exec but 48547dd7cddfSDavid du Colombiersuppresses all invalidaccess checks. NOT COMPLETED YET; currently superexec 48557dd7cddfSDavid du Colombieris equivalent to exec. (zcontrol.c) 48567dd7cddfSDavid du Colombier 48573ff48bf5SDavid du Colombier</pre><h3><a name="V3.41_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 48587dd7cddfSDavid du Colombier 48597dd7cddfSDavid du ColombierFixes bugs: 48607dd7cddfSDavid du Colombier - .stderr was used but is no longer defined. (pdf_base.ps) 48617dd7cddfSDavid du Colombier 48623ff48bf5SDavid du Colombier</pre><h3><a name="V3.41_Streams"></a>Streams</h3><pre> 48637dd7cddfSDavid du Colombier 48647dd7cddfSDavid du ColombierFixes bugs: 48657dd7cddfSDavid du Colombier - Not all streams initialized their state pointer. (stream.c, 48667dd7cddfSDavid du Colombiersfile.c, sfileno.c) 48677dd7cddfSDavid du Colombier 48687dd7cddfSDavid du ColombierAdds a filter for the smoothed image scaling algorithm. Eventually this 48697dd7cddfSDavid du Colombierfilter will require very little intermediate storage; right now it still 48707dd7cddfSDavid du Colombierneeds to buffer the entire intermediate image. (siscale.h, siscale.c) 48717dd7cddfSDavid du Colombier 48727dd7cddfSDavid du ColombierIncreases the maximum allowable scan line width for the CCITTFaxEncode 48737dd7cddfSDavid du Colombierfilter from 5183 pixels to 12863 pixels. (scf.h) 48747dd7cddfSDavid du Colombier 48753ff48bf5SDavid du Colombier</pre><h3><a name="V3.41_Library"></a>Library</h3><pre> 48767dd7cddfSDavid du Colombier 48777dd7cddfSDavid du ColombierFixes bugs: 48787dd7cddfSDavid du Colombier - setpagedevice didn't update NumCopies correctly. (gdevprn.c, 48797dd7cddfSDavid du Colombiergsdparam.c) 48807dd7cddfSDavid du Colombier - The newly optimized code for monobit bitmaps could cause an 48817dd7cddfSDavid du Colombierout-of-bounds memory access and/or make unaligned references. (gsimage1.c) 48827dd7cddfSDavid du Colombier - setpagedevice with unknown keys could cause an /undefined error. 48837dd7cddfSDavid du Colombier(gsdparam.c) 48847dd7cddfSDavid du Colombier - cshow didn't reset the font to the base font when calling the 48857dd7cddfSDavid du Colombierprocedure. (gschar.h, gschar.c) 48867dd7cddfSDavid du Colombier - The Install procedure in a page device didn't set the default CTM. 48877dd7cddfSDavid du Colombier(gzstate.h, gschar.c, gscoord.c, gsdevice.c) 48887dd7cddfSDavid du Colombier - Very non-linear EncodeABC procedures in a color rendering 48897dd7cddfSDavid du Colombierdictionary could produce very inaccurate results. (gscie.h, gscie.c) 48907dd7cddfSDavid du Colombier - The line_ptrs pointer in memory devices didn't get relocated if 48917dd7cddfSDavid du Colombierthe bitmap was moved during garbage collection, leading to memory smashing. 48927dd7cddfSDavid du Colombier(gdevmem.c) 48937dd7cddfSDavid du Colombier - setpagedevice didn't implement media matching. (gsdparam.c, 48947dd7cddfSDavid du Colombiergscoord.c) 48957dd7cddfSDavid du Colombier - 'word' memory devices weren't recognized as memory devices. 48967dd7cddfSDavid du Colombier(gdevmem.c) 48977dd7cddfSDavid du Colombier - makeimagedevice allocated, and then didn't free, an unnecessary 48987dd7cddfSDavid du Colombierpalette for monobit devices. (gsdevmem.c) 48997dd7cddfSDavid du Colombier - The hack for 1-bit-wide images didn't work consistently, 49007dd7cddfSDavid du Colombierparticularly in landscape orientation. (gsimage.c, gsimage0.c) 49017dd7cddfSDavid du Colombier 49027dd7cddfSDavid du ColombierAdds an .IgnoreNumCopies page device parameter that causes #copies and 49037dd7cddfSDavid du ColombierNumCopies to be ignored. (gxdevice.h, gsdevice.c, gsdparam.c) 49047dd7cddfSDavid du Colombier 49057dd7cddfSDavid du ColombierRemoves the .IsPageDevice device parameter. (gsdparam.c) 49067dd7cddfSDavid du Colombier 49077dd7cddfSDavid du ColombierConverts the image scaling/interpolation code to a filter. (gximage.h, 49087dd7cddfSDavid du Colombiergsimage.c, gsimage0.c, gsimage3.c) 49097dd7cddfSDavid du Colombier 49107dd7cddfSDavid du ColombierAdds support for Type 4 fonts. (gxfont.h) 49117dd7cddfSDavid du Colombier 49127dd7cddfSDavid du ColombierAdds a default implementation of parameter lists, designed to be usable 49137dd7cddfSDavid du Colombiereasily from C code. (gsparam.h, gsparam.c) 49147dd7cddfSDavid du Colombier 49153ff48bf5SDavid du Colombier</pre> 49167dd7cddfSDavid du Colombier 49173ff48bf5SDavid du Colombier<h2><a name="Version3.40"></a>Version 3.40 (limited) (6/28/95)</h2> 49183ff48bf5SDavid du Colombier 49193ff48bf5SDavid du Colombier<p> 49207dd7cddfSDavid du ColombierThis is another incremental limited release for delivery of a couple of 49217dd7cddfSDavid du Colombierimportant bug fixes (pixel 'holes' in rotated images, setpagedevice errors 49227dd7cddfSDavid du Colombieron some platforms) and an enhancement (architectural support for band lists 49237dd7cddfSDavid du Colombierin RAM). 49247dd7cddfSDavid du Colombier 49253ff48bf5SDavid du Colombier<h3><a name="V3.40_Documentation"></a>Documentation</h3><pre> 49267dd7cddfSDavid du ColombierFixes bugs: 49277dd7cddfSDavid du Colombier - The FTP location of the EMX DLLs was incorrect. (use.doc) 49287dd7cddfSDavid du Colombier 49293ff48bf5SDavid du Colombier</pre><h3><a name="V3.40_Procedures"></a>Procedures</h3><pre> 49307dd7cddfSDavid du Colombier 49317dd7cddfSDavid du ColombierFixes bugs: 49327dd7cddfSDavid du Colombier - A couple of build rules for IJG v6 were omitted. (jpeg.mak) 49337dd7cddfSDavid du Colombier 49343ff48bf5SDavid du Colombier</pre><h3><a name="V3.40_Utilities"></a>Utilities</h3><pre> 49357dd7cddfSDavid du Colombier 49367dd7cddfSDavid du ColombierFixes bugs: 49377dd7cddfSDavid du Colombier - prfont.ps wouldn't print more than 128 unencoded characters. 49387dd7cddfSDavid du Colombier(prfont.ps) 49397dd7cddfSDavid du Colombier 49403ff48bf5SDavid du Colombier</pre><h3><a name="V3.40_Platforms"></a>Platforms</h3><pre> 49417dd7cddfSDavid du Colombier 49427dd7cddfSDavid du ColombierFixes bugs: 49437dd7cddfSDavid du Colombier - setpagedevice often caused /undefined errors on MS Windows and 49447dd7cddfSDavid du ColombierOS/2 platforms. (gdevmswn.c, gdevpm.c) 49457dd7cddfSDavid du Colombier - The VMS module list had gotten out of sync with the makefiles 49467dd7cddfSDavid du Colombier(again). (modules.lis) 49477dd7cddfSDavid du Colombier 49483ff48bf5SDavid du Colombier</pre><h3><a name="V3.40_Interpreter"></a>Interpreter</h3><pre> 49497dd7cddfSDavid du Colombier 49507dd7cddfSDavid du ColombierFixes bugs: 49517dd7cddfSDavid du Colombier - A couple of casts betwen char * and byte * were omitted. 49527dd7cddfSDavid du Colombier(gsmain.c) 49537dd7cddfSDavid du Colombier - gs_[main_]run_file_open wasn't exported properly. (imain.h, 49547dd7cddfSDavid du Colombiermain.h, gsmain.c) 49557dd7cddfSDavid du Colombier 49563ff48bf5SDavid du Colombier</pre><h3><a name="V3.40_Streams"></a>Streams</h3><pre> 49577dd7cddfSDavid du Colombier 49587dd7cddfSDavid du ColombierChanges the DCTEncode filter to return an error if it wasn't supplied enough 49597dd7cddfSDavid du Colombierdata before being closed. (sdcte.c) 49607dd7cddfSDavid du Colombier 49613ff48bf5SDavid du Colombier</pre><h3><a name="V3.40_Library"></a>Library</h3><pre> 49627dd7cddfSDavid du Colombier 49637dd7cddfSDavid du ColombierFixes bugs: 49647dd7cddfSDavid du Colombier - The coordinate computations for all filling operations were 49657dd7cddfSDavid du Colombierslightly inaccurate, leading to pixel 'holes' in rotated images. (gxdda.h, 49667dd7cddfSDavid du Colombiergximage.h, gsimage*.c, gxdraw.c, gxfill.c) 49677dd7cddfSDavid du Colombier 49687dd7cddfSDavid du ColombierUndoes an "optimization" (inlining the normal, fast case of a procedure) 49697dd7cddfSDavid du Colombierthat actually hurt performance. (gxclist.c) 49707dd7cddfSDavid du Colombier 49717dd7cddfSDavid du ColombierRefactors the command list code so that it in the future it will be able to 49727dd7cddfSDavid du Colombierstore command lists either in RAM or in the file system. (gdevprn.h, 49737dd7cddfSDavid du Colombiergxcldev.h, gxclio.h, gxclist.h, gdevprn.c, gxclfile.c, gxclist.c, 49747dd7cddfSDavid du Colombiergxclread.c) 49757dd7cddfSDavid du Colombier 49767dd7cddfSDavid du ColombierChanges the interface to the path filling code to take separate X and Y 49777dd7cddfSDavid du Colombieradjustment values. (gxpaint.h, gspaint.c, gxfill.c) 49787dd7cddfSDavid du Colombier 49797dd7cddfSDavid du ColombierMakes the command list allocate a small tile cache if the device doesn't 49807dd7cddfSDavid du Colombierneed halftones. (gxclist.c) 49817dd7cddfSDavid du Colombier 49823ff48bf5SDavid du Colombier</pre> 49837dd7cddfSDavid du Colombier 49843ff48bf5SDavid du Colombier<hr> 49853ff48bf5SDavid du Colombier 49863ff48bf5SDavid du Colombier<h2><a name="Version3.39"></a>Version 3.39 (limited) (6/24/95)</h2> 49873ff48bf5SDavid du Colombier 49883ff48bf5SDavid du Colombier<p> 49897dd7cddfSDavid du ColombierThis is again an incremental release primarily for delivery of enhancements 49907dd7cddfSDavid du Colombier(suspendable string input in particular) to commercial customers, and with a 49917dd7cddfSDavid du Colombierfew bug fixes. 49927dd7cddfSDavid du Colombier 49933ff48bf5SDavid du Colombier<h3><a name="V3.39_Documentation"></a>Documentation</h3><pre> 49947dd7cddfSDavid du ColombierNotes that PDF files and repositioning PostScript files do not work if 49957dd7cddfSDavid du ColombierGhostscript was compiled with VAX C. (use.doc) 49967dd7cddfSDavid du Colombier 49977dd7cddfSDavid du ColombierNotes the requirement for EOD lookahead in decoding filters. (strimpl.h) 49987dd7cddfSDavid du Colombier 49993ff48bf5SDavid du Colombier</pre><h3><a name="V3.39_Procedures"></a>Procedures</h3><pre> 50007dd7cddfSDavid du Colombier 50017dd7cddfSDavid du ColombierFixes bugs: 50027dd7cddfSDavid du Colombier - There were a number of undefined or used-before-defined variables 50037dd7cddfSDavid du Colombierin the makefiles. (devs.mak, dvx-head.mak, unixhead.mak, gs.mak) 50047dd7cddfSDavid du Colombier - Some commands in the makefile exceeded the MS-DOS limit of 120 50057dd7cddfSDavid du Colombiercharacters. (gs.mak) 50067dd7cddfSDavid du Colombier 50077dd7cddfSDavid du ColombierAdds a -P and -P- switch to control whether the search path automatically 50087dd7cddfSDavid du Colombierincludes `.' as its first element. Moves the default value of this choice 50097dd7cddfSDavid du Colombier(SEARCH_HERE_FIRST) from gsmain.c to iminst.h. (iminst.h, gs.c, gsmain.c, 50107dd7cddfSDavid du Colombieruse.doc) 50117dd7cddfSDavid du Colombier 50127dd7cddfSDavid du ColombierMakes some makefile changes in anticipation of the IJG v6 release. (*.mak) 50137dd7cddfSDavid du Colombier 50143ff48bf5SDavid du Colombier</pre><h3><a name="V3.39_Utilities"></a>Utilities</h3><pre> 50157dd7cddfSDavid du Colombier 50167dd7cddfSDavid du ColombierFixes bugs: 50177dd7cddfSDavid du Colombier - font2c generated invalid C procedure names from font names that 50187dd7cddfSDavid du Colombiercontained non-alphanumerics other then '-'. (font2c.ps) 50197dd7cddfSDavid du Colombier - font2c generated a single element of incorrect type for numeric 50207dd7cddfSDavid du Colombierarrays of zero length. (font2c.ps) 50217dd7cddfSDavid du Colombier 50223ff48bf5SDavid du Colombier</pre><h3><a name="V3.39_Platforms"></a>Platforms</h3><pre> 50237dd7cddfSDavid du Colombier 50247dd7cddfSDavid du ColombierFixes bugs: 50257dd7cddfSDavid du Colombier - The VMS build scripts had gotten out of sync (again). (vms*.mak, 50267dd7cddfSDavid du Colombiermodules.lis) 50277dd7cddfSDavid du Colombier 50283ff48bf5SDavid du Colombier</pre><h3><a name="V3.39_Fonts"></a>Fonts</h3><pre> 50297dd7cddfSDavid du Colombier 50307dd7cddfSDavid du ColombierMakes the FONTPATH directory scanner accept fonts that begin with 50317dd7cddfSDavid du Colombier%!PS-AdobeFont or %!FontType1 with no following `-'. (gs_fonts.ps) 50327dd7cddfSDavid du Colombier 50333ff48bf5SDavid du Colombier</pre><h3><a name="V3.39_Interpreter"></a>Interpreter</h3><pre> 50347dd7cddfSDavid du Colombier 50357dd7cddfSDavid du ColombierFixes bugs: 50367dd7cddfSDavid du Colombier - eq and ne on arrays or dictionaries required read access. 50377dd7cddfSDavid du Colombier(zrelbit.c) 50387dd7cddfSDavid du Colombier - An include was missing. (zcsindex.c) 50397dd7cddfSDavid du Colombier - .forgetsave at the outermost level didn't reset the l_new flag in 50407dd7cddfSDavid du Colombierchanged slots, leading to an anomalous (although perhaps not harmful) state. 50417dd7cddfSDavid du Colombier(isave.c) 50427dd7cddfSDavid du Colombier - Dictionary growing or unpacking would both save and free the old 50437dd7cddfSDavid du Colombierkeys array, leading to a dangling reference. (idict.c) 50447dd7cddfSDavid du Colombier 50457dd7cddfSDavid du ColombierChanges gs_interpret so that for .quit with a negative operand <= -100, 50467dd7cddfSDavid du Colombiergs_interpret returns e_Fatal rather than the operand. THIS IS A 50477dd7cddfSDavid du ColombierNON-BACKWARD-COMPATIBLE CHANGE, but as far as we know, it doesn't affect 50487dd7cddfSDavid du Colombieranyone. (interp.c) 50497dd7cddfSDavid du Colombier 50507dd7cddfSDavid du ColombierAdds an API to allow feeding string input to the interpreter in pieces. 50517dd7cddfSDavid du Colombier(errors.h, imain.h, main.h, gs.c, gsmain.c, interp.c, zcontrol.c, zfilter.c) 50527dd7cddfSDavid du Colombier 50537dd7cddfSDavid du ColombierAdds new predicates .identeq and .identne that test "pointer equality", even 50547dd7cddfSDavid du Colombierfor numbers and strings. (iutil.h, iutil.c, zrelbit.c) 50557dd7cddfSDavid du Colombier 50567dd7cddfSDavid du ColombierChanges a few uses of return_error to return in places that don't lead 50577dd7cddfSDavid du Colombierdirectly to a PostScript error. (idict.c) 50587dd7cddfSDavid du Colombier 50593ff48bf5SDavid du Colombier</pre><h3><a name="V3.39_Streams"></a>Streams</h3><pre> 50607dd7cddfSDavid du Colombier 50617dd7cddfSDavid du ColombierFixes bugs: 50627dd7cddfSDavid du Colombier - The logic for skipping up to a 0xff byte when decoding JPEG data 50637dd7cddfSDavid du Colombiercould skip too much. (sdctd.c, sjpegd.c) 50647dd7cddfSDavid du Colombier - If a buffer boundary fell in the middle of, or just before, an 50657dd7cddfSDavid du ColombierEOD, some decoding filters could stop reading too soon. (sbcp.c, smtf.c, 50667dd7cddfSDavid du Colombiersstring.c) 50677dd7cddfSDavid du Colombier 50687dd7cddfSDavid du ColombierMakes some minor changes in anticipation of the IJG v6 release. 50697dd7cddfSDavid du Colombier(gsjmorec.h) 50707dd7cddfSDavid du Colombier 50713ff48bf5SDavid du Colombier</pre><h3><a name="V3.39_Library"></a>Library</h3><pre> 50727dd7cddfSDavid du Colombier 50737dd7cddfSDavid du ColombierFixes bugs: 50747dd7cddfSDavid du Colombier - A declaration should have been removed. (gsdll.c) 50757dd7cddfSDavid du Colombier - The library initialization/termination API wasn't declared. 50767dd7cddfSDavid du Colombier(gslib.h, gsinit.c, gsmain.c) 50777dd7cddfSDavid du Colombier - A variable and a preprocessor macro with the same name confused 50787dd7cddfSDavid du ColombierVAX C. (gxclist.c) 50797dd7cddfSDavid du Colombier - Image devices with depth 2-8 and only gray shades in the palette 50807dd7cddfSDavid du Colombierdidn't set color_info correctly. (gsdevice.c) 50817dd7cddfSDavid du Colombier 50827dd7cddfSDavid du ColombierSpeeds up unrotated black-and-white images further by making them render 50837dd7cddfSDavid du Colombierdirectly into a memory device when possible. (gxdevmem.h, gsimage1.c) 50847dd7cddfSDavid du Colombier 50853ff48bf5SDavid du Colombier</pre> 50867dd7cddfSDavid du Colombier 50873ff48bf5SDavid du Colombier<h2><a name="Version3.38"></a>Version 3.38 (limited) (6/18/95)</h2> 50883ff48bf5SDavid du Colombier 50893ff48bf5SDavid du Colombier<p> 50907dd7cddfSDavid du ColombierThis release incorporates several customer-requested enhancements (cleaner 50917dd7cddfSDavid du Colombierseparation of the graphics library from the interpreter, option for >64K 50927dd7cddfSDavid du Colombiernames, true garbage collection of names, better handling of halftones on 50937dd7cddfSDavid du Colombierband devices). It is intended primarily for those customers, but is 50947dd7cddfSDavid du Colombierintended as a dry run for the next public release. 50957dd7cddfSDavid du Colombier 50963ff48bf5SDavid du Colombier<h3><a name="V3.38_Documentation"></a>Documentation</h3><pre> 50977dd7cddfSDavid du ColombierFixes bugs: 50987dd7cddfSDavid du Colombier - gx_bitmap had not been updated to gx_tile_bitmap. 50997dd7cddfSDavid du Colombier(drivers.doc) 51007dd7cddfSDavid du Colombier 51013ff48bf5SDavid du Colombier</pre><h3><a name="V3.38_Procedures"></a>Procedures</h3><pre> 51027dd7cddfSDavid du Colombier 51037dd7cddfSDavid du ColombierFixes bugs: 51047dd7cddfSDavid du Colombier - The man page extension in the Unix makefiles was still $(manext), 51057dd7cddfSDavid du Colombiernot $(man1ext). (unix-end.mak) 51067dd7cddfSDavid du Colombier - 'make clean' didn't remove gs_init.c. (gs.mak) 51077dd7cddfSDavid du Colombier 51087dd7cddfSDavid du ColombierRestructures the makefiles to better separate the language interpreters from 51097dd7cddfSDavid du Colombierthe graphics core. (gs.mak) 51107dd7cddfSDavid du Colombier 51117dd7cddfSDavid du ColombierAdds a -dNOPROMPT switch to suppress the end-of-page prompts (but still wait 51127dd7cddfSDavid du Colombierfor the user to type a newline). This is different from -dNOPAUSE, which 51137dd7cddfSDavid du Colombiersuppresses both the prompts and the wait. (gs_init.ps) 51147dd7cddfSDavid du Colombier 51153ff48bf5SDavid du Colombier</pre><h3><a name="V3.38_Utilities"></a>Utilities</h3><pre> 51167dd7cddfSDavid du Colombier 51177dd7cddfSDavid du ColombierReplaces the mergeini.ps program with an equivalent (actually slightly 51187dd7cddfSDavid du Colombierbetter) version written in C. (gs.mak, *.mak, psfiles.doc, use.doc, 51197dd7cddfSDavid du Colombiergeninit.c) 51207dd7cddfSDavid du Colombier 51213ff48bf5SDavid du Colombier</pre><h3><a name="V3.38_Drivers"></a>Drivers</h3><pre> 51227dd7cddfSDavid du Colombier 51237dd7cddfSDavid du ColombierFixes bugs: 51247dd7cddfSDavid du Colombier - The color DeskJet drivers wouldn't compile with a K&R compiler, 51257dd7cddfSDavid du Colombierbecause some of the procedure definitions weren't in the restricted syntax 51267dd7cddfSDavid du Colombierthat ansi2knr requires. (gdevcdj.c) 51277dd7cddfSDavid du Colombier - The color DeskJet drivers wouldn't compile because of a bug in 51287dd7cddfSDavid du ColombierSun's cc. (gdevcdj.c) 51297dd7cddfSDavid du Colombier 51307dd7cddfSDavid du ColombierChanges the BJ-10e(x) margins to be identical to those of the BJ-200. 51317dd7cddfSDavid du Colombier(gdevbj10.c) 51327dd7cddfSDavid du Colombier 51337dd7cddfSDavid du ColombierChanges the LaserJet margins in response to a user's request. (gdevdjet.c) 51347dd7cddfSDavid du Colombier 51357dd7cddfSDavid du ColombierChanges the psmono driver to produce slightly larger files that execute 51367dd7cddfSDavid du Colombierfaster on typical Level 1 printers. (gdevpsim.c) 51377dd7cddfSDavid du Colombier 51387dd7cddfSDavid du ColombierChanges the psmono driver so that it does not scale the image to fit the 51397dd7cddfSDavid du Colombierpage size, but instead scales it to be the same physical size on the page. 51407dd7cddfSDavid du ColombierTHIS IS A NON BACKWARD COMPATIBLE CHANGE. However, for full-page images, it 51417dd7cddfSDavid du Colombierwill not have any visible effect. (gdevpsim.c) 51427dd7cddfSDavid du Colombier 51433ff48bf5SDavid du Colombier</pre><h3><a name="V3.38_Platforms"></a>Platforms</h3><pre> 51447dd7cddfSDavid du Colombier 51457dd7cddfSDavid du ColombierFixes bugs: 51467dd7cddfSDavid du Colombier - There were some problems associated with printing in 32-bit 51477dd7cddfSDavid du ColombierWindows environments. (gp_mswin.c) 51487dd7cddfSDavid du Colombier - The IBM RS/6000 needs both <time.h> and <sys/time.h>. (time_.h) 51497dd7cddfSDavid du Colombier 51507dd7cddfSDavid du ColombierAdds the PDF interpreter to the standard MS Windows configuration. 51517dd7cddfSDavid du Colombier(bcwin.mak) 51527dd7cddfSDavid du Colombier 51533ff48bf5SDavid du Colombier</pre><h3><a name="V3.38_Fonts"></a>Fonts</h3><pre> 51547dd7cddfSDavid du Colombier 51557dd7cddfSDavid du ColombierFixes bugs: 51567dd7cddfSDavid du Colombier - The entry for Courier-BoldItalic in cfonts.mak incorrectly named 51577dd7cddfSDavid du Colombierit as Courier-Italic. (cfonts.mak) 51587dd7cddfSDavid du Colombier - The files for Courier-Italic in cfonts.mak were inconsistently 51597dd7cddfSDavid du Colombiernamed ncrri instead of ncri. (cfonts.mak) 51607dd7cddfSDavid du Colombier - The rules in cfonts.mak covered only the fonts distributed with 51617dd7cddfSDavid du Colombierthe free versions of Ghostscript, omitting some of the standard set of 35. 51627dd7cddfSDavid du Colombier(cfonts.mak) 51637dd7cddfSDavid du Colombier - The maximum number of stem hints per character in Type 1 fonts 51647dd7cddfSDavid du Colombierwasn't large enough for complex Asian characters. (gxtype1.h) 51657dd7cddfSDavid du Colombier 51667dd7cddfSDavid du ColombierAdds a -dNOFONTMAP switch to suppress loading the Fontmap file. 51677dd7cddfSDavid du Colombier(gs_init.ps, gs_fonts.ps) 51687dd7cddfSDavid du Colombier 51693ff48bf5SDavid du Colombier</pre><h3><a name="V3.38_Interpreter"></a>Interpreter</h3><pre> 51707dd7cddfSDavid du Colombier 51717dd7cddfSDavid du ColombierFixes bugs: 51727dd7cddfSDavid du Colombier - One of the GC marking routines for halftones had a typo, 51737dd7cddfSDavid du Colombierpossibly leading to an invalid access. (zht2.c) 51747dd7cddfSDavid du Colombier - The GC could store beyond the end of the mark stack, 51757dd7cddfSDavid du Colombierpossibly smashing some characters of a string or name. (igc.c) 51767dd7cddfSDavid du Colombier - If the allocator allocated a new ref object from a 51777dd7cddfSDavid du Colombierfreelist, the bookkeeping for the current ref object could get 51787dd7cddfSDavid du Colombierconfused. (ialloc.c) 51797dd7cddfSDavid du Colombier - The GC didn't remove names properly from the hash table. 51807dd7cddfSDavid du Colombier(iname.c) 51817dd7cddfSDavid du Colombier - If a DOS editor added a ^Z to the end of an initialization file, 51827dd7cddfSDavid du Colombieran error occurred during initialization. (gs_init.ps) 51837dd7cddfSDavid du Colombier - If an initialization file had any lines longer than 128 51847dd7cddfSDavid du Colombiercharacters, .skipeof would get an error. (gs_init.ps) 51857dd7cddfSDavid du Colombier - makepattern could create structures in global VM pointing to 51867dd7cddfSDavid du Colombierstructures in local VM. (zpcolor.c) 51877dd7cddfSDavid du Colombier - The default color rendering dictionary didn't specify large enough 51887dd7cddfSDavid du Colombierranges for some intermediate values. (gs_lev2.ps) 51897dd7cddfSDavid du Colombier - Files being freed by a restore weren't unlinked properly, leading 51907dd7cddfSDavid du Colombierto dangling pointers. (zfile.c) 51917dd7cddfSDavid du Colombier - The interpreter used strlen without a prototype. (interp.c) 51927dd7cddfSDavid du Colombier - Indexed or Separation colors with a CIE base or alternate space 51937dd7cddfSDavid du Colombierdidn't work. (zcie.c) 51947dd7cddfSDavid du Colombier - The Watcom C 10.0 compiler produced incorrect code for an 51957dd7cddfSDavid du Colombieroverlapping structure assignment. (zcsindex.c) 51967dd7cddfSDavid du Colombier 51977dd7cddfSDavid du ColombierRemoves limit of 64K names, if EXTEND_NAMES is defined at compile 51987dd7cddfSDavid du Colombiertime. (*.mak, idebug.h, iminst.h, iname.h, gs.c, gsmain.c, idebug.c, 51997dd7cddfSDavid du Colombieriname.c) 52007dd7cddfSDavid du Colombier 52017dd7cddfSDavid du ColombierMakes the garbage collector really collect names. (iname.h, inamedef.h, 52027dd7cddfSDavid du Colombierisstate.h, igc.c, iname.c, isave.c) 52037dd7cddfSDavid du Colombier 52047dd7cddfSDavid du ColombierRestructures some files to better separate the language interpreters 52057dd7cddfSDavid du Colombierfrom their support code. (gconfig.c, iconfig.c, iinit.c) 52067dd7cddfSDavid du Colombier 52077dd7cddfSDavid du ColombierRestructures some files to better separate the language interpreters 52087dd7cddfSDavid du Colombierfrom the graphics core. (iastate.h, iastruct.h, ialloc.c) 52097dd7cddfSDavid du Colombier 52107dd7cddfSDavid du ColombierAllows the operands of cshow to be in either order on the stack. Adobe 52117dd7cddfSDavid du Colombierinterpreters apparently allow this, even though it's not documented. 52127dd7cddfSDavid du Colombier(zchar2.c) 52137dd7cddfSDavid du Colombier 52147dd7cddfSDavid du ColombierAdds a hack in cvs to truncate non-standard operator names, rather than 52157dd7cddfSDavid du Colombiergiving a rangecheck, to work around the "max err string" problem in some 52167dd7cddfSDavid du Colombiercommon error handlers. (ztype.c) 52177dd7cddfSDavid du Colombier 52187dd7cddfSDavid du ColombierChanges the print string for unregistered operators from operator_0x... to 52197dd7cddfSDavid du Colombier@0x.... (iutil.c) 52207dd7cddfSDavid du Colombier 52217dd7cddfSDavid du ColombierChanges the garbage collector so it tries to allocate a large mark stack, to 52227dd7cddfSDavid du Colombieravoid going into its 'slow' mode if the mark stack overflows. (igc.c) 52237dd7cddfSDavid du Colombier 52243ff48bf5SDavid du Colombier</pre><h3><a name="V3.38_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 52257dd7cddfSDavid du Colombier 52267dd7cddfSDavid du ColombierFixes bugs: 52277dd7cddfSDavid du Colombier - Stroked text used the text matrix, rather than just the 52287dd7cddfSDavid du ColombierCTM, for scaling the line width, which could lead to inappropriately 52297dd7cddfSDavid du Colombierwide lines. (gs_pdf.ps) 52307dd7cddfSDavid du Colombier - Fonts based on other than a 1000-unit scale (i.e., with a 52317dd7cddfSDavid du ColombierFontMatrix other than [0.001 0 0 0.001 0 0]) didn't scale Widths to 52327dd7cddfSDavid du Colombiermatch the font scaling. (pdf_font.ps) 52337dd7cddfSDavid du Colombier 52347dd7cddfSDavid du ColombierImplements the PDF 1.1 color space extensions, except for Lab space. 52357dd7cddfSDavid du Colombier(gs_pdf.ps, pdf_draw.ps) 52367dd7cddfSDavid du Colombier 52377dd7cddfSDavid du ColombierImplements the Rotate key for pages. (pdf_main.ps) 52387dd7cddfSDavid du Colombier 52393ff48bf5SDavid du Colombier</pre><h3><a name="V3.38_Streams"></a>Streams</h3><pre> 52407dd7cddfSDavid du Colombier 52417dd7cddfSDavid du ColombierFixes bugs: 52427dd7cddfSDavid du Colombier - When the garbage collector closed a file stream, the stream 52437dd7cddfSDavid du Colombierincorrectly attempted to free the buffer. (stream.c) 52447dd7cddfSDavid du Colombier 52457dd7cddfSDavid du ColombierSeparates out some stream implementations to better distinguish the 52467dd7cddfSDavid du Colombiergraphics core from the language interpreters. (smtf.h, sfilter1.c, 52477dd7cddfSDavid du Colombiersmtf.c, srld.c, srle.c) 52487dd7cddfSDavid du Colombier 52493ff48bf5SDavid du Colombier</pre><h3><a name="V3.38_Library"></a>Library</h3><pre> 52507dd7cddfSDavid du Colombier 52517dd7cddfSDavid du ColombierFixes bugs: 52527dd7cddfSDavid du Colombier - Compressing characters being entered in the cache could cause an 52537dd7cddfSDavid du Colombierinvalid memory access. (gsbitops.c) 52547dd7cddfSDavid du Colombier - The setbbox bounding box check was slightly inaccurate. 52557dd7cddfSDavid du Colombier(gsdps1.c) 52567dd7cddfSDavid du Colombier - makepattern could create structures in global VM pointing to 52577dd7cddfSDavid du Colombierstructures in local VM. (gscolor2.h, gspcolor.c) 52587dd7cddfSDavid du Colombier - Out-of-range values during CIE color conversion led to random 52597dd7cddfSDavid du Colombierresults. (gscie.c) 52607dd7cddfSDavid du Colombier - On output devices with non-inverted Y axes (such as MS Windows), 52617dd7cddfSDavid du ColombierInterpolated images would smash memory. (gsimage.c) 52627dd7cddfSDavid du Colombier - 90 degree rotated zero-width images caused an invalid memory 52637dd7cddfSDavid du Colombieraccess. (gsimage1.c) 52647dd7cddfSDavid du Colombier - If #copies was zero, showpage could create bogus empty output 52657dd7cddfSDavid du Colombierfiles. (gdevprn.c) 52667dd7cddfSDavid du Colombier - PageCount didn't take #copies into account. (gsdevice.c) 52677dd7cddfSDavid du Colombier - Indexed or Separation colors with a CIE base or alternate space 52687dd7cddfSDavid du Colombierdidn't work. (gscie.h, gscie.c) 52697dd7cddfSDavid du Colombier 52707dd7cddfSDavid du ColombierImplements triangular line caps and joins, in anticipation of adding 52717dd7cddfSDavid du Colombiera PCL5 interpreter. (gsline.h, gxstroke.c) 52727dd7cddfSDavid du Colombier 52737dd7cddfSDavid du ColombierMoves some procedures around for better separation of library from 52747dd7cddfSDavid du Colombierinterpreter. (gsinit.c, gslib.c, gsmain.c, gsmisc.c) 52757dd7cddfSDavid du Colombier 52767dd7cddfSDavid du ColombierMoves the standard allocator from the interpreter to the library. 52777dd7cddfSDavid du Colombier(gsalloc.h, gxalloc.h, gxobj.h, gsalloc.c) 52787dd7cddfSDavid du Colombier 52797dd7cddfSDavid du ColombierStarts to change the representation of paths slightly to make it possible to 52807dd7cddfSDavid du Colombieridentify arcs. This change is backward-compatible for all code except 52817dd7cddfSDavid du Colombiercallers of gx_path_add_arc. (gxpath.h, gspath1.c, gxpath.c, gxstroke.c) 52827dd7cddfSDavid du Colombier 52837dd7cddfSDavid du ColombierAdds some framework for keeping track of RasterOp and "transparency" in the 52847dd7cddfSDavid du Colombiergraphics state, although these don't actually have any effect yet. 52857dd7cddfSDavid du Colombier(gsrop.h, gsropt.h, gsstate.h, gxcldev.h, gzstate.h, gsrop.c, gsstate.c, 52867dd7cddfSDavid du Colombiergxclist.c, gxclread.c) 52877dd7cddfSDavid du Colombier 52887dd7cddfSDavid du ColombierAdds a compile-time option for using the Adobe RGB<->CMYK conversion rules. 52897dd7cddfSDavid du Colombier(gxdcconv.c) 52907dd7cddfSDavid du Colombier 52917dd7cddfSDavid du ColombierAdds a driver procedure for identifying band devices. This change is 52927dd7cddfSDavid du Colombierbackward-compatible for all existing devices. (gdevmem.h, gxdevice.h, 52937dd7cddfSDavid du Colombiergsdevice.c, gxclip2.c, gxclist.c, gxcpath.c) 52947dd7cddfSDavid du Colombier 52957dd7cddfSDavid du ColombierSpeeds up gray-scale images on devices requiring banding, and enables 52967dd7cddfSDavid du Colombierfurther optimizations, by reintroducing the distinction between banded and 52977dd7cddfSDavid du Colombiernon-banded devices. (gxdevice.h, gdevprn.c, gsimage1.c) 52987dd7cddfSDavid du Colombier 52997dd7cddfSDavid du ColombierReduces the size of the band list for halftoned images by encoding tile 53007dd7cddfSDavid du Colombierindices more compactly. (gxcldev.h, gxclist.h, gxclist.c, gxclread.c) 53017dd7cddfSDavid du Colombier 53027dd7cddfSDavid du ColombierExtends the band list so it can cache more than 256 halftone tiles, and to 53037dd7cddfSDavid du Colombiermake better decisions about tile caching. (gxcldev.h, gxclist.h, gxclist.c, 53047dd7cddfSDavid du Colombiergxclread.c) 53057dd7cddfSDavid du Colombier 53063ff48bf5SDavid du Colombier</pre> 53077dd7cddfSDavid du Colombier 53083ff48bf5SDavid du Colombier<h2><a name="Version3.37"></a>Version 3.37 (limited) (5/11/95)</h2> 53093ff48bf5SDavid du Colombier 53103ff48bf5SDavid du Colombier<p> 53117dd7cddfSDavid du ColombierAnother bug fix release distributed only to customers. 53127dd7cddfSDavid du Colombier 53133ff48bf5SDavid du Colombier<h3><a name="V3.37_Documentation"></a>Documentation</h3><pre> 53147dd7cddfSDavid du ColombierFixes bugs: 53157dd7cddfSDavid du Colombier - Some documentation about parameter lists was incorrect. 53167dd7cddfSDavid du Colombier(gsparam.h) 53177dd7cddfSDavid du Colombier - The documentation did not note that one cannot "pipe" PDF files 53187dd7cddfSDavid du Colombierinto the interpreter. (use.doc) 53197dd7cddfSDavid du Colombier 53207dd7cddfSDavid du ColombierAdds documentation for the BJC-600 to devices.doc. (devices.doc) 53217dd7cddfSDavid du Colombier 53223ff48bf5SDavid du Colombier</pre><h3><a name="V3.37_Procedures"></a>Procedures</h3><pre> 53237dd7cddfSDavid du Colombier 53247dd7cddfSDavid du ColombierChanges the debugging switch for OS calls from -Z0 to -Ze, and adds -Z0 for 53257dd7cddfSDavid du Colombierhigh-level GC tracing. (use.doc, gp_unifs.c, ialloc.c, igc.c) 53267dd7cddfSDavid du Colombier 53273ff48bf5SDavid du Colombier</pre><h3><a name="V3.37_Utilities"></a>Utilities</h3><pre> 53287dd7cddfSDavid du Colombier 53297dd7cddfSDavid du ColombierFixes bugs: 53307dd7cddfSDavid du Colombier - The ps2ascii shell script included an erroneous @d. (ps2ascii) 53317dd7cddfSDavid du Colombier 53327dd7cddfSDavid du ColombierEnhances ps2ascii to output color and rectangle fill/stroke information if 53337dd7cddfSDavid du ColombierCOMPLEX is defined. (ps2ascii.ps) 53347dd7cddfSDavid du Colombier 53353ff48bf5SDavid du Colombier</pre><h3><a name="V3.37_Drivers"></a>Drivers</h3><pre> 53367dd7cddfSDavid du Colombier 53377dd7cddfSDavid du ColombierFixes bugs: 53387dd7cddfSDavid du Colombier - the BJC-600 driver didn't handle BitsPerPixel correctly. 53397dd7cddfSDavid du Colombier(gdevcdj.c) 53407dd7cddfSDavid du Colombier 53413ff48bf5SDavid du Colombier</pre><h3><a name="V3.37_Fonts"></a>Fonts</h3><pre> 53427dd7cddfSDavid du Colombier 53437dd7cddfSDavid du ColombierFixes bugs: 53447dd7cddfSDavid du Colombier - Some buggy Type 1 fonts confused the Type 1 font reader. 53457dd7cddfSDavid du Colombier(gs_fonts.ps, gs_type1.ps, pdf_font.ps) 53467dd7cddfSDavid du Colombier 53473ff48bf5SDavid du Colombier</pre><h3><a name="V3.37_Interpreter_PostScript"></a>Interpreter (PostScript)</h3><pre> 53487dd7cddfSDavid du Colombier 53497dd7cddfSDavid du ColombierFixes bugs: 53507dd7cddfSDavid du Colombier - .registerencoding didn't accept mixedarrays, which could cause an 53517dd7cddfSDavid du Colombiererror if an encoding was loaded long after initialization. (zfont2.c) 53527dd7cddfSDavid du Colombier - If a program did a lot of saves and restores, the garbage 53537dd7cddfSDavid du Colombiercollector could get invoked much too often. (iastate.h, ialloc.c, igc.c, 53547dd7cddfSDavid du Colombierisave.c) 53557dd7cddfSDavid du Colombier 53567dd7cddfSDavid du ColombierChanges the name of the rectappend operator to .rectappend, since it isn't a 53577dd7cddfSDavid du Colombierstandard PostScript operator. (zdps1.c) 53587dd7cddfSDavid du Colombier 53593ff48bf5SDavid du Colombier</pre><h3><a name="V3.37_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 53607dd7cddfSDavid du Colombier 53617dd7cddfSDavid du ColombierFixes bugs: 53627dd7cddfSDavid du Colombier - PDF files didn't interact properly with ps2ascii. (gs_pdf.ps) 53637dd7cddfSDavid du Colombier - setdash wouldn't accept a packed array. (zgstate.c) 53647dd7cddfSDavid du Colombier - PDF files with incorrect generation numbers in object references 53657dd7cddfSDavid du Colombierproduced an error rather than a warning. (pdf_base.ps) 53667dd7cddfSDavid du Colombier 53673ff48bf5SDavid du Colombier</pre> 53687dd7cddfSDavid du Colombier 53693ff48bf5SDavid du Colombier<h2><a name="Version3.36"></a>Version 3.36 (limited) (5/4/95)</h2> 53703ff48bf5SDavid du Colombier 53713ff48bf5SDavid du Colombier<p> 53727dd7cddfSDavid du ColombierThis is a limited-distribution release for distributing bug fixes to a few 53737dd7cddfSDavid du Colombiercustomers. 53747dd7cddfSDavid du Colombier 53753ff48bf5SDavid du Colombier<h3><a name="V3.36_Documentation"></a>Documentation</h3><pre> 53767dd7cddfSDavid du ColombierAdds some environment variables to the man page. (gs.1) 53777dd7cddfSDavid du Colombier 53783ff48bf5SDavid du Colombier</pre><h3><a name="V3.36_Procedures"></a>Procedures</h3><pre> 53797dd7cddfSDavid du Colombier 53807dd7cddfSDavid du ColombierAdds the psmono device to all 32-bit configurations. (*.mak) 53817dd7cddfSDavid du Colombier 53827dd7cddfSDavid du ColombierMoves the psmono and 'bit' devices to DEVICE_DEVS12 to avoid exceeding the 53837dd7cddfSDavid du Colombier120-character maximum length of the DOS command line. (*.mak) 53847dd7cddfSDavid du Colombier 53853ff48bf5SDavid du Colombier</pre><h3><a name="V3.36_Drivers"></a>Drivers</h3><pre> 53867dd7cddfSDavid du Colombier 53877dd7cddfSDavid du ColombierChanges the pgm[raw] and ppm[raw] drivers so they do *not* automatically 53887dd7cddfSDavid du Colombierswitch to pbm or pgm/ppm respectively if this is possible for the particular 53897dd7cddfSDavid du Colombierpage being rendered; adds pgnm[raw] and pnm[raw] drivers that *do* do this. 53907dd7cddfSDavid du ColombierTHIS IS A NON-BACKWARD-COMPATIBLE CHANGE. However, existing programs will 53917dd7cddfSDavid du Colombierstill work; they just won't produce the smallest and simplest possible 53927dd7cddfSDavid du Colombieroutput. (devs.mak, gdevpbm.c) 53937dd7cddfSDavid du Colombier 53943ff48bf5SDavid du Colombier</pre><h3><a name="V3.36_Interpreter"></a>Interpreter</h3><pre> 53957dd7cddfSDavid du Colombier 53967dd7cddfSDavid du ColombierFixes bugs: 53977dd7cddfSDavid du Colombier - A multi-level restore didn't free gstates allocated by 53987dd7cddfSDavid du Colombierintermediate saves, causing some global VM to be lost until a garbage 53997dd7cddfSDavid du Colombiercollection. (isave.h, isave.c, zvmem.c) 54007dd7cddfSDavid du Colombier 54017dd7cddfSDavid du ColombierSpeeds up restore by skipping the scan of the character cache if no new 54027dd7cddfSDavid du Colombiernames have been allocated since the save. (zfont.c) 54037dd7cddfSDavid du Colombier 54047dd7cddfSDavid du ColombierExtends the client API to allow for popping return values off the operand 54057dd7cddfSDavid du Colombierstack. (imain.h, gs.c, gsmain.c) 54067dd7cddfSDavid du Colombier 54073ff48bf5SDavid du Colombier</pre><h3><a name="V3.36_Library"></a>Library</h3><pre> 54087dd7cddfSDavid du Colombier 54097dd7cddfSDavid du ColombierModifies the character oversampling algorithms to help prevent dropouts. 54107dd7cddfSDavid du Colombier(gsbitops.c, gschar.c) 54117dd7cddfSDavid du Colombier 54123ff48bf5SDavid du Colombier</pre> 54137dd7cddfSDavid du Colombier 54143ff48bf5SDavid du Colombier<h2><a name="Version3.35"></a>Version 3.35 (internal) (5/2/95)</h2> 54153ff48bf5SDavid du Colombier 54163ff48bf5SDavid du Colombier<p> 54177dd7cddfSDavid du ColombierThis is another internal "snapshot" version. 54187dd7cddfSDavid du Colombier 54193ff48bf5SDavid du Colombier<h3><a name="V3.35_Documentation"></a>Documentation</h3><pre> 54207dd7cddfSDavid du ColombierFixes bugs: 54217dd7cddfSDavid du Colombier - Some of the file names in the `man' page had gotten out of date. 54227dd7cddfSDavid du Colombier(gs.1) 54237dd7cddfSDavid du Colombier - Two references to .PageCount hadn't been changed to PageCount. 54247dd7cddfSDavid du Colombier(language.doc, devarch.doc) 54257dd7cddfSDavid du Colombier 54263ff48bf5SDavid du Colombier</pre><h3><a name="V3.35_Procedures"></a>Procedures</h3><pre> 54277dd7cddfSDavid du Colombier 54287dd7cddfSDavid du ColombierPuts writeppmfile back in the standard Unix and DV/X configurations, since 54297dd7cddfSDavid du Colombiergsftopk uses it. Also puts the PDF reader in all 32-bit configurations. 54307dd7cddfSDavid du Colombier(*.mak) 54317dd7cddfSDavid du Colombier 54327dd7cddfSDavid du ColombierMoves the BMP devices to DEVICE_DEVS11 to avoid exceeding the 120-character 54337dd7cddfSDavid du Colombiermaximum length of the DOS command line. (bcwin.mak, bcwin32.mak, os2.mak) 54347dd7cddfSDavid du Colombier 54353ff48bf5SDavid du Colombier</pre><h3><a name="V3.35_Utilities"></a>Utilities</h3><pre> 54367dd7cddfSDavid du Colombier 54377dd7cddfSDavid du ColombierFixes bugs: 54387dd7cddfSDavid du Colombier - unix-lpr.sh didn't handle 32-bit devices. (unix-lpr.sh) 54397dd7cddfSDavid du Colombier - unix-lpr.sh still used the name .PageCount rather than PageCount. 54407dd7cddfSDavid du Colombier(unix-lpr.sh) 54417dd7cddfSDavid du Colombier - font2c gave an error when trying to write general procedures in 54427dd7cddfSDavid du Colombierfont dictionaries. (font2c.ps) 54437dd7cddfSDavid du Colombier 54447dd7cddfSDavid du ColombierAdds a pdf2dsc.ps utility for writing out fake DSC-compliant PostScript code 54457dd7cddfSDavid du Colombierto invoke the PDF reader, for the benefit of viewer programs that aren't 54467dd7cddfSDavid du ColombierPDF-aware. (unix-end.mak, pdf2dsc.ps) 54477dd7cddfSDavid du Colombier 54483ff48bf5SDavid du Colombier</pre><h3><a name="V3.35_Drivers"></a>Drivers</h3><pre> 54497dd7cddfSDavid du Colombier 54507dd7cddfSDavid du ColombierFixes bugs: 54517dd7cddfSDavid du Colombier - The TIFF drivers put out incorrect PageNumber values. 54527dd7cddfSDavid du Colombier(gdevtfax.c) 54537dd7cddfSDavid du Colombier - Printer (and file output) devices got closed and reopened 54547dd7cddfSDavid du Colombierunnecessarily when changing parameters. (gdevprn.c) 54557dd7cddfSDavid du Colombier - Printer (and file output) devices didn't check for invalid formats 54567dd7cddfSDavid du Colombierfollowing a % in OutputFile. (devs.mak, gdevprn.c) 54577dd7cddfSDavid du Colombier - 1-bit memory devices were not considered page devices, unlike all 54587dd7cddfSDavid du Colombierother memory devices. (gsdevice.c) 54597dd7cddfSDavid du Colombier - The black-and-white H-P printers didn't close the printer 54607dd7cddfSDavid du Colombierproperly, causing printing not to happen under MS Windows. (gdevprn.c) 54617dd7cddfSDavid du Colombier - Some compilers didn't like initializing a const char * to NULL. 54627dd7cddfSDavid du Colombier(gdevlbp8.c) 54637dd7cddfSDavid du Colombier 54647dd7cddfSDavid du ColombierChanges the X Windows driver so that if Ghostview specifies a bounding box, 54657dd7cddfSDavid du Colombierthis also sets ImagingBBox. (gdevxini.c) 54667dd7cddfSDavid du Colombier 54677dd7cddfSDavid du ColombierAt the request of a customer, adds 1-, 4-, 8-, 24-, and 32-bit-deep memory 54687dd7cddfSDavid du Colombierdevices that store bits in 32-bit units rather than byte units. (gdevmem.h, 54697dd7cddfSDavid du Colombiergxdevmem.h, gdevmem.c, gdevm1.c, gdevm2.c, gdevm4.c, gdevm8.c, gdevm16.c, 54707dd7cddfSDavid du Colombiergdevm24.c, gdevm32.c) 54717dd7cddfSDavid du Colombier 54727dd7cddfSDavid du ColombierAdds a new MS Windows printer driver, mswinpr2, that uses a DIB rather than 54737dd7cddfSDavid du Colombiera DDB. (gdevwpr2.c) 54747dd7cddfSDavid du Colombier 54753ff48bf5SDavid du Colombier</pre><h3><a name="V3.35_Platforms"></a>Platforms</h3><pre> 54767dd7cddfSDavid du Colombier 54777dd7cddfSDavid du ColombierFixes bugs: 54787dd7cddfSDavid du Colombier - A routine wouldn't compile because of a bug in the SGI C compiler. 54797dd7cddfSDavid du Colombier(zcsindex.c) 54807dd7cddfSDavid du Colombier - Some declarations were inconsistent when compiling for segmented 54817dd7cddfSDavid du Colombierenvironments. (gscie.c) 54827dd7cddfSDavid du Colombier - A routine wouldn't compile because of a bug in the VAX C compiler. 54837dd7cddfSDavid du Colombier(gscie.c) 54847dd7cddfSDavid du Colombier 54857dd7cddfSDavid du ColombierTurns on compiler optimization for OS/2; adds PDF support and more devices 54867dd7cddfSDavid du Colombierfor Win32 and OS/2. (bcwin.mak, bcwin32.mak, os2.mak) 54877dd7cddfSDavid du Colombier 54883ff48bf5SDavid du Colombier</pre><h3><a name="V3.35_Fonts"></a>Fonts</h3><pre> 54897dd7cddfSDavid du Colombier 54907dd7cddfSDavid du ColombierFixes bugs: 54917dd7cddfSDavid du Colombier - Font loading used 'setglobal' without binding it, which caused 54927dd7cddfSDavid du Colombiersome EPS files to signal errors. (gs_fonts.ps) 54937dd7cddfSDavid du Colombier - A zero-length string with offset = 0 in a binary object sequence 54947dd7cddfSDavid du Colombiercaused an error. (iscanbin.c) 54957dd7cddfSDavid du Colombier 54967dd7cddfSDavid du ColombierAdds a LOCALFONTS switch that causes Ghostscript to load Type 1 fonts into 54977dd7cddfSDavid du Colombierthe current VM, rather than global VM. According to Adobe, this is what 54987dd7cddfSDavid du ColombierAdobe printers (but not other interpreters, such as DPS and CPSI) do. 54997dd7cddfSDavid du Colombier(gs_init.ps, gs_fonts.ps) 55007dd7cddfSDavid du Colombier 55013ff48bf5SDavid du Colombier</pre><h3><a name="V3.35_Interpreter"></a>Interpreter</h3><pre> 55027dd7cddfSDavid du Colombier 55037dd7cddfSDavid du ColombierFixes bugs: 55047dd7cddfSDavid du Colombier - The 'note' page size command caused pages to be clipped 55057dd7cddfSDavid du Colombierimproperly. (gs_statd.ps) 55067dd7cddfSDavid du Colombier 55077dd7cddfSDavid du ColombierAdds "word" image devices. (gs_init.ps, zdevice.c) 55087dd7cddfSDavid du Colombier 55097dd7cddfSDavid du ColombierStarts converting the interpreter to use an explicit instance pointer. This 55107dd7cddfSDavid du Colombieris very fragmentary so far and not really supported. (main.h, gs.c, 55117dd7cddfSDavid du Colombiergsmain.c, iccinit.c) 55127dd7cddfSDavid du Colombier 55133ff48bf5SDavid du Colombier</pre><h3><a name="V3.35_Library"></a>Library</h3><pre> 55147dd7cddfSDavid du Colombier 55157dd7cddfSDavid du ColombierAdds "word" image devices. (gsdevice.h, gsdevice.c) 55167dd7cddfSDavid du Colombier 55177dd7cddfSDavid du ColombierRemoves the requirement that ImagingBBox[0] and [1] be non-negative. (The 55187dd7cddfSDavid du ColombierAdobe specification requires this, but Ghostscript supports more general 55197dd7cddfSDavid du Colombierinitial CTMs than the Adobe spec.) (gsdparam.c) 55207dd7cddfSDavid du Colombier 55213ff48bf5SDavid du Colombier</pre> 55227dd7cddfSDavid du Colombier 55233ff48bf5SDavid du Colombier<h2><a name="Version3.34"></a>Version 3.34 (internal) (4/18/95)</h2> 55243ff48bf5SDavid du Colombier 55253ff48bf5SDavid du Colombier<p> 55267dd7cddfSDavid du ColombierThis is a "snapshot" version made for internal purposes. It was never 55277dd7cddfSDavid du Colombierreleased to anyone. 55287dd7cddfSDavid du Colombier 55293ff48bf5SDavid du Colombier<h3><a name="V3.34_Documentation"></a>Documentation</h3><pre> 55307dd7cddfSDavid du ColombierUpdates commprod.doc to be fully consistent with the AGFPL. (commprod.doc) 55317dd7cddfSDavid du Colombier 55323ff48bf5SDavid du Colombier</pre><h3><a name="V3.34_Procedures"></a>Procedures</h3><pre> 55337dd7cddfSDavid du Colombier 55347dd7cddfSDavid du ColombierFixes bugs: 55357dd7cddfSDavid du Colombier - tar_x was out of date. (tar_x) 55367dd7cddfSDavid du Colombier - tar_gs assumed that if any PC executables were present, gs.exe 55377dd7cddfSDavid du Colombierwould exist. (tar_gs) 55387dd7cddfSDavid du Colombier - jpeg.mak said the current IJG version was 5b, but the makefiles 55397dd7cddfSDavid du Colombieractually referred to version 5a. (jpeg.mak) 55407dd7cddfSDavid du Colombier - The build rule for the LIPS III driver was incorrect. (devs.mak) 55417dd7cddfSDavid du Colombier - Some definitions in the makefiles occurred out of order. 55427dd7cddfSDavid du Colombier(ansihead.mak, cc-head.mak, gcc-head.mak, unixhead.mak, unixtail.mak) 55437dd7cddfSDavid du Colombier - The build rule for dvx-gcc.mak was incorrect. (unix-end.mak) 55447dd7cddfSDavid du Colombier 55453ff48bf5SDavid du Colombier</pre><h3><a name="V3.34_Interpreter"></a>Interpreter</h3><pre> 55467dd7cddfSDavid du Colombier 55477dd7cddfSDavid du ColombierRestructures the CIE caches to move much more of the computation from color 55487dd7cddfSDavid du Colombiermapping time to cache loading time. (zcie.c) 55497dd7cddfSDavid du Colombier 55503ff48bf5SDavid du Colombier</pre><h3><a name="V3.34_Library"></a>Library</h3><pre> 55517dd7cddfSDavid du Colombier 55527dd7cddfSDavid du ColombierFixes bugs: 55537dd7cddfSDavid du Colombier - Color conversion of 12-bit images was very slightly inaccurate. 55547dd7cddfSDavid du Colombier(gxfrac.h) 55557dd7cddfSDavid du Colombier 55567dd7cddfSDavid du ColombierChanges the transfer function, black generation, and undercolor removal 55577dd7cddfSDavid du Colombiercaches so that they sample at 1024 points and don't interpolate, rather than 55587dd7cddfSDavid du Colombiersampling at 256 points and interpolating. This significantly improves the 55597dd7cddfSDavid du Colombierspeed of colored image rendering. ****** LIMITED TO 256 POINTS BECAUSE OF 55607dd7cddfSDavid du ColombierO-STACK SIZE LIMIT. ****** (gxfmap.h, gxcmap.c) 55617dd7cddfSDavid du Colombier 55627dd7cddfSDavid du ColombierRestructures the CIE caches to move much more of the computation from color 55637dd7cddfSDavid du Colombiermapping time to cache loading time. (gscie.h, gscie.c) 55647dd7cddfSDavid du Colombier 55653ff48bf5SDavid du Colombier</pre> 55667dd7cddfSDavid du Colombier 55673ff48bf5SDavid du Colombier<h2><a name="Version3.33"></a>Version 3.33 (4/13/95)</h2> 55683ff48bf5SDavid du Colombier 55693ff48bf5SDavid du Colombier<p> 55707dd7cddfSDavid du ColombierA few more last-minute bug fixes. This is, finally, the first public 55717dd7cddfSDavid du Colombierrelease since 3.12. 55727dd7cddfSDavid du Colombier 55733ff48bf5SDavid du Colombier<h3><a name="V3.33_Documentation"></a>Documentation</h3><pre> 55747dd7cddfSDavid du Colombier 55757dd7cddfSDavid du ColombierFixes bugs: 55767dd7cddfSDavid du Colombier - There was a reference to "VAX with OSF/1", which doesn't exist, 55777dd7cddfSDavid du Colombierand an incorrect reference to VAX with Ultrix. (make.doc) 55787dd7cddfSDavid du Colombier - The Unix makefiles incorrectly stated that gsdatadir was only 55797dd7cddfSDavid du Colombierrelevant to `make install'. (ansihead.mak, cc-head.mak, dgc-head.mak, 55807dd7cddfSDavid du Colombiergcc-head.mak) 55817dd7cddfSDavid du Colombier - Notes that DV/X users should use the zip version of the JPEG 55827dd7cddfSDavid du Colombierlibrary. (jpeg.mak) 55837dd7cddfSDavid du Colombier 55843ff48bf5SDavid du Colombier</pre><h3><a name="V3.33_Procedures"></a>Procedures</h3><pre> 55857dd7cddfSDavid du Colombier 55867dd7cddfSDavid du ColombierFixes bugs: 55877dd7cddfSDavid du Colombier - A command line had gotten too long for the MS-DOS shell. 55887dd7cddfSDavid du Colombier(gs.mak) 55897dd7cddfSDavid du Colombier - The VMS DEC C script didn't explicitly select DEC C. 55907dd7cddfSDavid du Colombier(vms-decc.mak) 55917dd7cddfSDavid du Colombier - The VMS MODULES.LIS omitted SPDIFF and ZFPDIFF. (modules.lis) 55927dd7cddfSDavid du Colombier - The VMS script had an incorrect entry. (vms.mak) 55937dd7cddfSDavid du Colombier - The `if' fix in 3.31 broke some Unix systems with different 55947dd7cddfSDavid du Colombierimplementations of sh. (unix-end.mak) 55957dd7cddfSDavid du Colombier - The makefile definition of gscspace_h was out of order. (gs.mak) 55967dd7cddfSDavid du Colombier - An extra ; got written in gconfig_.h on DV/X platforms. 55977dd7cddfSDavid du Colombier(dvx-tail.mak) 55987dd7cddfSDavid du Colombier - '.' was incorrectly prepended to the library search list on DV/X 55997dd7cddfSDavid du Colombierplatforms. (dgc-head.mak) 56007dd7cddfSDavid du Colombier - The build rules for unix*.mak didn't work on DV/X. (unix-end.mak) 56017dd7cddfSDavid du Colombier 56027dd7cddfSDavid du ColombierAdds a description of the -c quit switch to the help message. (gs.c) 56037dd7cddfSDavid du Colombier 56047dd7cddfSDavid du ColombierFor the DV/X platform, changes /usr/include to /djgpp/include as the place 56057dd7cddfSDavid du Colombierto look for header files. I'm not sure this is always correct. 56067dd7cddfSDavid du Colombier(dvx-tail.mak) 56077dd7cddfSDavid du Colombier 56083ff48bf5SDavid du Colombier</pre><h3><a name="V3.33_Utilities"></a>Utilities</h3><pre> 56097dd7cddfSDavid du Colombier 56107dd7cddfSDavid du ColombierFixes bugs: 56117dd7cddfSDavid du Colombier - ps2ascii would cause an error if given a font that didn't have an 56127dd7cddfSDavid du Colombier'X' character. (ps2ascii.ps) 56137dd7cddfSDavid du Colombier - ps2ascii didn't intercept the Level 2 string display operators. 56147dd7cddfSDavid du Colombier(ps2ascii.ps) 56157dd7cddfSDavid du Colombier 56163ff48bf5SDavid du Colombier</pre><h3><a name="V3.33_Drivers"></a>Drivers</h3><pre> 56177dd7cddfSDavid du Colombier 56187dd7cddfSDavid du ColombierFixes bugs: 56197dd7cddfSDavid du Colombier - The Stylus Color driver had an incorrect type name. (gdevstc.c) 56207dd7cddfSDavid du Colombier 56213ff48bf5SDavid du Colombier</pre><h3><a name="V3.33_Platforms"></a>Platforms</h3><pre> 56227dd7cddfSDavid du Colombier 56237dd7cddfSDavid du ColombierFixes bugs: 56247dd7cddfSDavid du Colombier - -dBitsPerPixel= didn't work properly for MS Windows or OS/2 PM. 56257dd7cddfSDavid du Colombier(gdevmswn.c, gdevpm.c) 56267dd7cddfSDavid du Colombier - The Win32 platform didn't compile properly. (memory_.h) 56277dd7cddfSDavid du Colombier 56283ff48bf5SDavid du Colombier</pre><h3><a name="V3.33_Fonts"></a>Fonts</h3><pre> 56297dd7cddfSDavid du Colombier 56307dd7cddfSDavid du ColombierImproves the font substitution algorithm to take the face name into account 56317dd7cddfSDavid du Colombierin more cases. (gs_fonts.ps) 56327dd7cddfSDavid du Colombier 56333ff48bf5SDavid du Colombier</pre><h3><a name="V3.33_Library"></a>Library</h3><pre> 56347dd7cddfSDavid du Colombier 56357dd7cddfSDavid du ColombierFixes bugs: 56367dd7cddfSDavid du Colombier - Unrotated black-and-white bitmaps with an inverted device X axis 56377dd7cddfSDavid du Colombierwere displaced in X. (gsimage1.c) 56387dd7cddfSDavid du Colombier 56393ff48bf5SDavid du Colombier</pre> 56407dd7cddfSDavid du Colombier 56413ff48bf5SDavid du Colombier<h2><a name="Version3.32"></a>Version 3.32 (4/7/95)</h2> 56423ff48bf5SDavid du Colombier 56433ff48bf5SDavid du Colombier<p> 56447dd7cddfSDavid du ColombierMore bug fixes. This is still not a public release. 56457dd7cddfSDavid du Colombier 56463ff48bf5SDavid du Colombier<h3><a name="V3.32_Documentation"></a>Documentation</h3><pre> 56477dd7cddfSDavid du ColombierFurther clarifies the "two-phase commit" algorithm for device put_params 56487dd7cddfSDavid du Colombierprocedures. (drivers.doc, gsparam.h) 56497dd7cddfSDavid du Colombier 56507dd7cddfSDavid du ColombierAdds a note about a compiler bug under Ultrix 4.4. (make.doc) 56517dd7cddfSDavid du Colombier 56523ff48bf5SDavid du Colombier</pre><h3><a name="V3.32_Procedures"></a>Procedures</h3><pre> 56537dd7cddfSDavid du Colombier 56547dd7cddfSDavid du ColombierFixes bugs: 56557dd7cddfSDavid du Colombier - Some installation scripts could fail because some implementations 56567dd7cddfSDavid du Colombierof sh take the status of an `if' condition as the status of the `if' 56577dd7cddfSDavid du Colombiercommand. (unix-end.mak) 56587dd7cddfSDavid du Colombier 56597dd7cddfSDavid du ColombierAdds "maintainer-clean" as a synonym for "real-clean". (gs.mak) 56607dd7cddfSDavid du Colombier 56617dd7cddfSDavid du ColombierAdds a -dORIENT1 switch that defines orientation = 1 as portrait for 56627dd7cddfSDavid du Colombiersetpage[params]. (use.doc, gs_init.ps, gs_lev2.ps, gs_statd.ps) 56637dd7cddfSDavid du Colombier 56643ff48bf5SDavid du Colombier</pre><h3><a name="V3.32_Utilities"></a>Utilities</h3><pre> 56657dd7cddfSDavid du Colombier 56667dd7cddfSDavid du ColombierFixes bugs: 56677dd7cddfSDavid du Colombier - ps2ascii didn't redirect %stdout completely. (ps2ascii.ps) 56687dd7cddfSDavid du Colombier - ps2ascii didn't preserve the local/global VM mode. (ps2ascii.ps) 56697dd7cddfSDavid du Colombier - ps2ascii didn't handle fonts with an all-zero or missing bounding 56707dd7cddfSDavid du Colombierbox correctly. (ps2ascii.ps) 56717dd7cddfSDavid du Colombier - viewpbm didn't scale the image properly. (viewpbm.ps) 56727dd7cddfSDavid du Colombier 56733ff48bf5SDavid du Colombier</pre><h3><a name="V3.32_Drivers"></a>Drivers</h3><pre> 56747dd7cddfSDavid du Colombier 56757dd7cddfSDavid du ColombierFixes bugs: 56767dd7cddfSDavid du Colombier - The CGM driver wrote out an incorrect color precision value. 56777dd7cddfSDavid du Colombier(gdevcgm.c) 56787dd7cddfSDavid du Colombier - The SGI bitmap driver was named "sgi" rather than "sgirgb". 56797dd7cddfSDavid du Colombier(gdevsgi.c) 56807dd7cddfSDavid du Colombier - The PCX driver didn't round up an odd line length for gray-scale 56817dd7cddfSDavid du Colombieroutput. (gdevpcx.c) 56827dd7cddfSDavid du Colombier - The PCX driver produced incorrect output for gray-scale or 4- or 56837dd7cddfSDavid du Colombier8-bit color. (gdevpcx.c) 56847dd7cddfSDavid du Colombier 56853ff48bf5SDavid du Colombier</pre><h3><a name="V3.32_Platforms"></a>Platforms</h3><pre> 56867dd7cddfSDavid du Colombier 56877dd7cddfSDavid du ColombierFixes bugs: 56887dd7cddfSDavid du Colombier - The VMS MODULES.LIS file had gotten out of sync with the Unix 56897dd7cddfSDavid du Colombiermakefiles (again). (modules.lis) 56907dd7cddfSDavid du Colombier 56913ff48bf5SDavid du Colombier</pre><h3><a name="V3.32_Interpreter"></a>Interpreter</h3><pre> 56927dd7cddfSDavid du Colombier 56937dd7cddfSDavid du ColombierFixes bugs: 56947dd7cddfSDavid du Colombier - Some compilers won't accept '\l', even in the false arm of a 56957dd7cddfSDavid du Colombierpreprocessor conditional. (scanchar.h) 56967dd7cddfSDavid du Colombier - A procedure was declared with an incorrect argument type. 56977dd7cddfSDavid du Colombier(zcsindex.c) 56987dd7cddfSDavid du Colombier - The scaled font cache didn't copy XUIDs properly. (bfont.h, 56997dd7cddfSDavid du Colombierzfont.c, zfont2.c) 57007dd7cddfSDavid du Colombier - status could return true even if the file was closed. (zfile.c) 57017dd7cddfSDavid du Colombier 57023ff48bf5SDavid du Colombier</pre><h3><a name="V3.32_Streams"></a>Streams</h3><pre> 57037dd7cddfSDavid du Colombier 57047dd7cddfSDavid du ColombierFixes bugs: 57057dd7cddfSDavid du Colombier - The LZW filters were factored improperly. (modules.lis, gs.mak, 57067dd7cddfSDavid du Colombiervms.mak, slzwx.h, slzwc.c, slzwd.c) 57077dd7cddfSDavid du Colombier 57087dd7cddfSDavid du ColombierChanges the DCTDecode filter for compatibility with Adobe implementations: 57097dd7cddfSDavid du Colombier - Ignore bytes preceding the 0xff that marks the beginning of the 57107dd7cddfSDavid du ColombierJPEG data. (sdctd.c) 57117dd7cddfSDavid du Colombier - Set MAX_BLOCKS_IN_MCU to 64. (jpeg.mak, gsjpglib.h) 57127dd7cddfSDavid du Colombier 57133ff48bf5SDavid du Colombier</pre><h3><a name="V3.32_Library"></a>Library</h3><pre> 57147dd7cddfSDavid du Colombier 57157dd7cddfSDavid du ColombierFixes bugs: 57167dd7cddfSDavid du Colombier - The "two-phase commit" for device parameters wasn't fully 57177dd7cddfSDavid du Colombierimplemented. (gsiodev.c) 57187dd7cddfSDavid du Colombier - Asking for a device color map before the device was opened could 57197dd7cddfSDavid du Colombiercause a crash. (gsdparam.c) 57207dd7cddfSDavid du Colombier - The scaled font cache didn't copy XUIDs properly. (gxfont.h, 57217dd7cddfSDavid du Colombiergsfont.c) 57227dd7cddfSDavid du Colombier - 90 or 270 degree rotated black-and-white bitmaps (including 57237dd7cddfSDavid du Colombierbitmapped fonts such as downloaded TrueType fonts) with an inverted device Y 57247dd7cddfSDavid du Colombieraxis were displaced in Y. (gsimage1.c) 57257dd7cddfSDavid du Colombier - On high-resolution devices, parts of regions filled with halftones 57267dd7cddfSDavid du Colombiercould fail to be painted. (gxclist.c) 57277dd7cddfSDavid du Colombier 57283ff48bf5SDavid du Colombier</pre> 57297dd7cddfSDavid du Colombier 57303ff48bf5SDavid du Colombier<h2><a name="Version3.31"></a>Version 3.31 (4/2/95)</h2> 57313ff48bf5SDavid du Colombier 57323ff48bf5SDavid du Colombier<p> 57337dd7cddfSDavid du ColombierA few final bug fixes for the release. Includes significant speed 57347dd7cddfSDavid du Colombierimprovements for CIE color, and a first draft of a low-level CGM driver. 57357dd7cddfSDavid du Colombier 57363ff48bf5SDavid du Colombier<h3><a name="V3.31_Documentation"></a>Documentation</h3><pre> 57377dd7cddfSDavid du ColombierNotes that the BJC600 driver also works for the BJC4000. (devs.mak) 57387dd7cddfSDavid du Colombier 57393ff48bf5SDavid du Colombier</pre><h3><a name="V3.31_Procedures"></a>Procedures</h3><pre> 57407dd7cddfSDavid du Colombier 57417dd7cddfSDavid du ColombierAt the suggestion of a user, changes the default protections for installed 57427dd7cddfSDavid du Colombierfiles on Unix and DV/X systems from 775/664 to 755/644. (*head.mak) 57437dd7cddfSDavid du Colombier 57447dd7cddfSDavid du ColombierAt the suggestion of a user, adds a -dNOCIE switch to substitute DeviceGray 57457dd7cddfSDavid du Colombierand DeviceRGB color spaces for CIEBasedA and CIEBasedABC spaces 57467dd7cddfSDavid du Colombierrespectively. (gs_init.ps, gs_lev2.ps) 57477dd7cddfSDavid du Colombier 57483ff48bf5SDavid du Colombier</pre><h3><a name="V3.31_Utilities"></a>Utilities</h3><pre> 57497dd7cddfSDavid du Colombier 57507dd7cddfSDavid du ColombierChanges gslp and its relatives to use ISOLatin1Encoding for output, and to 57517dd7cddfSDavid du Colombiersend almost all printout to stderr rather than stdout (for use as a filter 57527dd7cddfSDavid du Colombierunder Unix). (gslp.ps) 57537dd7cddfSDavid du Colombier 57543ff48bf5SDavid du Colombier</pre><h3><a name="V3.31_Drivers"></a>Drivers</h3><pre> 57557dd7cddfSDavid du Colombier 57567dd7cddfSDavid du ColombierFixes bugs: 57577dd7cddfSDavid du Colombier - The fax/TIFF driver no longer exported gdev_fax_print_page, which 57587dd7cddfSDavid du Colombierthe DigiFax driver needs. (gdevtfax.c) 57597dd7cddfSDavid du Colombier - The color DeskJet drivers gave an error for BitsPerPixel=3. 57607dd7cddfSDavid du Colombier(gdevcdj.c) 57617dd7cddfSDavid du Colombier - The "Windows printer" driver was setting its margins in points 57627dd7cddfSDavid du Colombierrather than inches. (gdevwprn.c) 57637dd7cddfSDavid du Colombier - The BJ10 and BJ200 drivers calculated vertical skip distances 57647dd7cddfSDavid du Colombierwrong. (gdevbj10.c) 57657dd7cddfSDavid du Colombier - The BJ10 and BJ200 drivers output two garbage bytes following the 57667dd7cddfSDavid du Colombierinitialization string. (gdevbj10.c) 57677dd7cddfSDavid du Colombier 57687dd7cddfSDavid du ColombierAdds a preliminary driver that produces low-level CGM output. (gdevcgml.h, 57697dd7cddfSDavid du Colombiergdevcgmx.h, gdevcgm.c, gdevcgml.c) 57707dd7cddfSDavid du Colombier 57713ff48bf5SDavid du Colombier</pre><h3><a name="V3.31_Platforms"></a>Platforms</h3><pre> 57727dd7cddfSDavid du Colombier 57737dd7cddfSDavid du ColombierFixes bugs: 57747dd7cddfSDavid du Colombier - The VMS files had gotten out of sync with the other makefiles 57757dd7cddfSDavid du Colombier(again). (modules.lis, vms.mak) 57767dd7cddfSDavid du Colombier - The MS Windows and OS/2-PM drivers hadn't been updated to handle 57777dd7cddfSDavid du ColombierBitsPerPixel as a standard parameter. (gdevmswn.c, gdevpm.c) 57787dd7cddfSDavid du Colombier 57797dd7cddfSDavid du ColombierRemoves the TIFF drivers from the Windows platform, and restores the BMP 57807dd7cddfSDavid du Colombierdrivers. (bcwin.mak) 57817dd7cddfSDavid du Colombier 57823ff48bf5SDavid du Colombier</pre><h3><a name="V3.31_Interpreter"></a>Interpreter</h3><pre> 57837dd7cddfSDavid du Colombier 57847dd7cddfSDavid du ColombierFixes bugs: 57857dd7cddfSDavid du Colombier - The CIE color mapping cache could produce anomalous results 57867dd7cddfSDavid du Colombierfor the default (all zero values) color if some of the mapping 57877dd7cddfSDavid du Colombierfunctions were non-linear. (zcie.c) 57887dd7cddfSDavid du Colombier - MultiMaster font substitution got confused if substituted 57897dd7cddfSDavid du Colombierfonts had their FontName changed. (gs_fonts.ps) 57907dd7cddfSDavid du Colombier - A procedure was declared as private inconsistently. (zdevcal.c) 57917dd7cddfSDavid du Colombier - Some pointer relocation procedures didn't work correctly on 57927dd7cddfSDavid du Colombiersystems with sizeof(T *) > sizeof(int). (istack.c) 57937dd7cddfSDavid du Colombier - The freelist vector wasn't large enough to handle graphics state 57947dd7cddfSDavid du Colombierobjects on 64-bit systems, leading to severe memory sandbars. (iastate.h) 57957dd7cddfSDavid du Colombier - The debugging messages from the allocator had gotten inconsistent 57967dd7cddfSDavid du Colombierand hard to use. (ialloc.c) 57977dd7cddfSDavid du Colombier - Mixing save/restore with allocation could cause the GC never to 57987dd7cddfSDavid du Colombierget run. (isave.c) 57997dd7cddfSDavid du Colombier 58007dd7cddfSDavid du ColombierSpeeds up the mapping of CIE colors. (zcie.c) 58017dd7cddfSDavid du Colombier 58027dd7cddfSDavid du ColombierAdds a .namestring operator for getting the string of a name without having 58037dd7cddfSDavid du Colombierto copy it. (zstring.c) 58047dd7cddfSDavid du Colombier 58053ff48bf5SDavid du Colombier</pre><h3><a name="V3.31_Streams"></a>Streams</h3><pre> 58067dd7cddfSDavid du Colombier 58077dd7cddfSDavid du ColombierFixes bugs: 58087dd7cddfSDavid du Colombier - The IJG code needed a couple more flags set for IJG v6. 58097dd7cddfSDavid du Colombier(gsjmorec.h) 58107dd7cddfSDavid du Colombier - Some pointer relocation procedures didn't work correctly on 58117dd7cddfSDavid du Colombiersystems with sizeof(T *) > sizeof(int). (stream.c) 58127dd7cddfSDavid du Colombier 58133ff48bf5SDavid du Colombier</pre><h3><a name="V3.31_Library"></a>Library</h3><pre> 58147dd7cddfSDavid du Colombier 58157dd7cddfSDavid du ColombierFixes bugs: 58167dd7cddfSDavid du Colombier - The end-test for the fast case of monobit images was wrong, 58177dd7cddfSDavid du Colombierleading to out-of-range memory accesses. (gsimage1.c) 58187dd7cddfSDavid du Colombier - Monobit images rotated by 270 degrees displayed incorrectly. 58197dd7cddfSDavid du Colombier(gsimage1.c) 58207dd7cddfSDavid du Colombier - If a Type 1 font used hint replacement, some parts of the outline 58217dd7cddfSDavid du Colombierbefore the hint replacement ignored the old hints. (gstype1.c) 58227dd7cddfSDavid du Colombier - Some compilers didn't accept a variable name that was the same as 58237dd7cddfSDavid du Colombiera macro with parameters. (gxht.c) 58247dd7cddfSDavid du Colombier - A procedure was declared as private inconsistently. (gdevm1.c) 58257dd7cddfSDavid du Colombier - Some pointer relocation procedures didn't work correctly on 58267dd7cddfSDavid du Colombiersystems with sizeof(T *) > sizeof(int). (gdevmem.c, gsstate.c) 58277dd7cddfSDavid du Colombier - The test on FORCE_HINTS_TO_BIG_PIXELS was backwards. This bug was 58287dd7cddfSDavid du Colombiersupposed to have been fixed in 3.30, but somehow the fix got lost. 58297dd7cddfSDavid du Colombier(gstype1.c) 58307dd7cddfSDavid du Colombier - 90 degree rotated monobit images could drop some scan lines. 58317dd7cddfSDavid du Colombier(gsimage*.c) 58327dd7cddfSDavid du Colombier 58337dd7cddfSDavid du ColombierSpeeds up the mapping of CIE colors. (gscie.h, gxcmap.h, gscie.c, gxcmap.c) 58347dd7cddfSDavid du Colombier 58357dd7cddfSDavid du ColombierSpeeds up color images (non-interpolated, 1-8 bits per component) by adding 58367dd7cddfSDavid du Colombiera cache for mapped color values. (gximage.h, gsimage.c, gsimage1.c, 58377dd7cddfSDavid du Colombiergsimage2.c) 58387dd7cddfSDavid du Colombier 58397dd7cddfSDavid du ColombierShrinks the band list file slightly by using only as many bytes as necessary 58407dd7cddfSDavid du Colombierfor writing out colors, rather than always using 4 bytes. (gxclist.c, 58417dd7cddfSDavid du Colombiergxclread.c) 58427dd7cddfSDavid du Colombier 58433ff48bf5SDavid du Colombier</pre> 58447dd7cddfSDavid du Colombier 58453ff48bf5SDavid du Colombier<h2><a name="Version3.30"></a>Version 3.30 (beta) (3/21/95)</h2> 58463ff48bf5SDavid du Colombier 58473ff48bf5SDavid du Colombier<p> 58487dd7cddfSDavid du ColombierMore bug fixes. The garbage collector and PDF interpreter finally appear to 58497dd7cddfSDavid du Colombierwork reliably. 58507dd7cddfSDavid du Colombier 58513ff48bf5SDavid du Colombier<h3><a name="V3.30_Documentation"></a>Documentation</h3><pre> 58527dd7cddfSDavid du ColombierFixes bugs: 58537dd7cddfSDavid du Colombier - language.doc had gotten out of date. (language.doc) 58547dd7cddfSDavid du Colombier 58553ff48bf5SDavid du Colombier</pre><h3><a name="V3.30_Utilities"></a>Utilities</h3><pre> 58567dd7cddfSDavid du Colombier 58577dd7cddfSDavid du ColombierFixes bugs: 58587dd7cddfSDavid du Colombier - Changes in the handling of %stdout had broken ps2ascii. 58597dd7cddfSDavid du Colombier(gs_dps1.ps, ps2ascii.ps) 58607dd7cddfSDavid du Colombier 58617dd7cddfSDavid du ColombierImproves ps2ascii to skip empty strings and not output redundant font 58627dd7cddfSDavid du Colombierchanges. (ps2ascii.ps) 58637dd7cddfSDavid du Colombier 58643ff48bf5SDavid du Colombier</pre><h3><a name="V3.30_Drivers"></a>Drivers</h3><pre> 58657dd7cddfSDavid du Colombier 58667dd7cddfSDavid du ColombierFixes bugs: 58677dd7cddfSDavid du Colombier - The fax and TIFF drivers didn't free all their working storage. 58687dd7cddfSDavid du Colombier(This bug was fixed in 3.27, and the fix somehow got lost.) (gdevtfax.c) 58697dd7cddfSDavid du Colombier 58707dd7cddfSDavid du ColombierAdds new drivers: 58717dd7cddfSDavid du Colombier - sgirgb, to produce SGI RGB raster files. (gdevsgi.c) 58727dd7cddfSDavid du Colombier - tiffcrle, to produce output in TIFF "CCITT 1-dimensional Huffman 58737dd7cddfSDavid du ColombierRLE" format (Group 3 fax with no EOLs). (gdevtfax.c) 58747dd7cddfSDavid du Colombier - tifflzw, to produce output in TIFF LZW format (using the existing 58757dd7cddfSDavid du ColombierCCITTFaxEncode filter code). (gdevtfax.c) 58767dd7cddfSDavid du Colombier - tiffpack, to produce output in TIFF PackBits format. (gdevtfax.c) 58777dd7cddfSDavid du Colombier 58783ff48bf5SDavid du Colombier</pre><h3><a name="V3.30_Interpreter_PostScript"></a>Interpreter (PostScript)</h3><pre> 58797dd7cddfSDavid du Colombier 58807dd7cddfSDavid du ColombierFixes bugs: 58817dd7cddfSDavid du Colombier - If the current screen was set with a halftone, setcolorscreen 58827dd7cddfSDavid du Colombierwouldn't accept what currentcolorscreen returned. (gs_dps1.ps) 58837dd7cddfSDavid du Colombier - debug_print_full_ref didn't print t_oparray objects correctly. 58847dd7cddfSDavid du Colombier(idebug.c) 58857dd7cddfSDavid du Colombier - The internal data for a font could be allocated in a different VM 58867dd7cddfSDavid du Colombierspace from the font dictionary, causing dangling pointers. (zfont2.c) 58877dd7cddfSDavid du Colombier - definefont became confused if a program failed to delete the FID 58887dd7cddfSDavid du Colombierfrom a re-encoded font. (This is questionable PostScript, but dvips does 58897dd7cddfSDavid du Colombierit.) (zfont2.c) 58907dd7cddfSDavid du Colombier - If a BuildChar procedure did a save before the setcachedevice and 58917dd7cddfSDavid du Colombiera restore afterwards, the memory manager would attempt to free the cache 58927dd7cddfSDavid du Colombierdevice after it had already been freed by the restore, leading to damaged 58937dd7cddfSDavid du Colombierfreelists. (gschar.c) 58947dd7cddfSDavid du Colombier - setresolution (in statusdict) was ignored. (gs_lev2.ps, 58957dd7cddfSDavid du Colombiergs_statd.ps) 58967dd7cddfSDavid du Colombier - If a string containing a string containing a \ was passed to the 58977dd7cddfSDavid du Colombiertoken operator, the \ was not recognized properly in a Level 2 environment. 58987dd7cddfSDavid du Colombier(iscan.c) 58997dd7cddfSDavid du Colombier - A couple of default dictionary sizes had become too small. 59007dd7cddfSDavid du Colombier(iinit.c) 59017dd7cddfSDavid du Colombier 59027dd7cddfSDavid du ColombierMakes DOS EOF (control-Z, 0x1a) a self-delimiting token, like left bracket. 59037dd7cddfSDavid du ColombierTHIS IS A NON-BACKWARD-COMPATIBLE CHANGE, but it should not have any adverse 59047dd7cddfSDavid du Colombiereffects. (gs_init.ps, iscan.c, iscantab.c) 59057dd7cddfSDavid du Colombier 59067dd7cddfSDavid du ColombierDistinguishes arch_small_memory from arch_ints_are_short, and adds a new 59077dd7cddfSDavid du Colombier-Z. switch to force small-memory table sizes regardless of actual memory 59087dd7cddfSDavid du Colombiersize. (dstack.h, idict.c, zpcolor.c, zvmem2.c) 59097dd7cddfSDavid du Colombier 59103ff48bf5SDavid du Colombier</pre><h3><a name="V3.30_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 59117dd7cddfSDavid du Colombier 59127dd7cddfSDavid du ColombierFixes bugs: 59137dd7cddfSDavid du Colombier - A page with no Contents caused an error. (pdf_main.ps) 59147dd7cddfSDavid du Colombier - Executing a Form resource caused an error. (pdf_draw.ps) 59157dd7cddfSDavid du Colombier - Outlines with open entries caused an error. (pdf_main.ps) 59167dd7cddfSDavid du Colombier - Embedded Type 3 fonts caused an error. (pdf_draw.ps, pdf_font.ps) 59177dd7cddfSDavid du Colombier - The Widths array of fonts was ignored. (pdf_font.ps) 59187dd7cddfSDavid du Colombier 59193ff48bf5SDavid du Colombier</pre><h3><a name="V3.30_Library"></a>Library</h3><pre> 59207dd7cddfSDavid du Colombier 59217dd7cddfSDavid du ColombierFixes bugs: 59227dd7cddfSDavid du Colombier - Freeing an entry in the pattern cache didn't clear the pointers to 59237dd7cddfSDavid du Colombierthe raster data, producing a dangling reference that confused the garbage 59247dd7cddfSDavid du Colombiercollector. (gxpcmap.c) 59257dd7cddfSDavid du Colombier - The test on FORCE_HINTS_TO_BIG_PIXELS was backwards. (gstype1.c) 59267dd7cddfSDavid du Colombier - The pattern cache bookkeeping was incorrect. (gxpcmap.c) 59277dd7cddfSDavid du Colombier - Depending on the order in which pointers were relocated, the 59287dd7cddfSDavid du Colombiergarbage collector could incorrectly relocate pointers from the character 59297dd7cddfSDavid du Colombiercache. (gxfcache.h, gsfont.c, gxccache.c, gxccman.c) 59307dd7cddfSDavid du Colombier 59317dd7cddfSDavid du ColombierChanges the fast case of black-and-white images so it aligns scaled images 59327dd7cddfSDavid du Colombierwith the device coordinate system, to improve performance. (gsimage1.c) 59337dd7cddfSDavid du Colombier 59347dd7cddfSDavid du ColombierExtends the coordinate transformation routines to handle absurdly large 59357dd7cddfSDavid du Colombiertranslation values in the CTM as long as the final device device coordinates 59367dd7cddfSDavid du Colombierare within fixed-point range. (gxmatrix.h, gxpath.h, gschar.c, gscoord.c, 59377dd7cddfSDavid du Colombiergsmatrix.c, gxhint2.c, gxpath2.c) 59387dd7cddfSDavid du Colombier 59397dd7cddfSDavid du ColombierDistinguishes arch_small_memory from arch_ints_are_short, and adds a new 59407dd7cddfSDavid du Colombier-Z. switch to force small-memory table sizes regardless of actual memory 59417dd7cddfSDavid du Colombiersize. (gdevprn.h, gxpcolor.h, gzht.h, std.h, gsfont.c, gsht1.c, gspaint.c, 59427dd7cddfSDavid du Colombiergsstate.c, gxcht.c, gxht.c, gxpcmap.c) 59437dd7cddfSDavid du Colombier 59443ff48bf5SDavid du Colombier</pre> 59457dd7cddfSDavid du Colombier 59463ff48bf5SDavid du Colombier<hr> 59473ff48bf5SDavid du Colombier 59483ff48bf5SDavid du Colombier<h2><a name="Version3.29"></a>Version 3.29 (internal) (3/8/95)</h2> 59493ff48bf5SDavid du Colombier 59503ff48bf5SDavid du Colombier<p> 59517dd7cddfSDavid du ColombierAnother bug-fix release. This release processes all but 7 of the 500+ files 59527dd7cddfSDavid du Colombieron the Adobe Acrobat Sampler CD-ROM without giving an error. The garbage 59537dd7cddfSDavid du Colombiercollector finally appears to be stable. This version was created for a 59547dd7cddfSDavid du Colombiercustomer; it was not released to the general public or even to the beta test 59557dd7cddfSDavid du Colombierlist. 59567dd7cddfSDavid du Colombier 59573ff48bf5SDavid du Colombier<h3><a name="V3.29_Documentation"></a>Documentation</h3><pre> 59587dd7cddfSDavid du ColombierDocuments the possible need to set LD_RUN_PATH on SVR4 platforms. 59597dd7cddfSDavid du Colombier(make.doc) 59607dd7cddfSDavid du Colombier 59617dd7cddfSDavid du ColombierExpands the description of the device life cycle, and of the constraints on 59627dd7cddfSDavid du Colombierput_params procedures. (drivers.doc) 59637dd7cddfSDavid du Colombier 59647dd7cddfSDavid du ColombierAdds an explicit copyright notice to the Aladdin Ghostscript Free Public 59657dd7cddfSDavid du ColombierLicense. (PUBLIC) 59667dd7cddfSDavid du Colombier 59677dd7cddfSDavid du ColombierClarifies that the Win32s documentation also applies to Windows NT. 59687dd7cddfSDavid du Colombier(make.doc) 59697dd7cddfSDavid du Colombier 59703ff48bf5SDavid du Colombier</pre><h3><a name="V3.29_Procedures"></a>Procedures</h3><pre> 59717dd7cddfSDavid du Colombier 59727dd7cddfSDavid du ColombierRemoves the obsolete writeppmfile operator from the standard configurations. 59737dd7cddfSDavid du Colombier(gs.mak) 59747dd7cddfSDavid du Colombier 59757dd7cddfSDavid du ColombierChanges the Watcom makefiles to work properly with Watcom C/C++ 10.0. 59767dd7cddfSDavid du Colombier(make.doc, msc.mak, watc.mak, watcwin.mak, wccommon.mak) 59777dd7cddfSDavid du Colombier 59783ff48bf5SDavid du Colombier</pre><h3><a name="V3.29_Utilities"></a>Utilities</h3><pre> 59797dd7cddfSDavid du Colombier 59807dd7cddfSDavid du ColombierAdds a wftopfa utility for converting the Wadalab fonts to usable Type 0 and 59817dd7cddfSDavid du ColombierType 1 form. (wftopfa) 59827dd7cddfSDavid du Colombier 59833ff48bf5SDavid du Colombier</pre><h3><a name="V3.29_Fonts"></a>Fonts</h3><pre> 59847dd7cddfSDavid du Colombier 59857dd7cddfSDavid du ColombierFixes bugs: 59867dd7cddfSDavid du Colombier - Entries added automatically by definefont (FontInfo, ExactSize) 59877dd7cddfSDavid du Colombiercould cause a font dictionary to become full. (gs_fonts.ps, gs_type1.ps) 59887dd7cddfSDavid du Colombier - wrfont.ps couldn't deal with very long CharStrings. (wrfont.ps) 59897dd7cddfSDavid du Colombier 59907dd7cddfSDavid du ColombierMakes the name of the Fontmap file an easily editable parameter. 59917dd7cddfSDavid du Colombier(gs_fonts.ps) 59927dd7cddfSDavid du Colombier 59937dd7cddfSDavid du ColombierAdds a utility for converting the Wadalab font to usable Type 0 and Type 1 59947dd7cddfSDavid du Colombierform. (wrfont.ps, wftopfa.ps) 59957dd7cddfSDavid du Colombier 59963ff48bf5SDavid du Colombier</pre><h3><a name="V3.29_Drivers"></a>Drivers</h3><pre> 59977dd7cddfSDavid du Colombier 59987dd7cddfSDavid du ColombierFixes bugs: 59997dd7cddfSDavid du Colombier - The top margin for printer (and fax) devices was computed 60007dd7cddfSDavid du Colombierincorrectly, using the X resolution rather than the Y resolution. 60017dd7cddfSDavid du Colombier(gdevprn.h) 60027dd7cddfSDavid du Colombier - Changing the page size or resolution of a printer device closed 60037dd7cddfSDavid du Colombierand reopened the device unnecessarily. (gdevprn.c) 60047dd7cddfSDavid du Colombier - Changing the page size of the X11 device didn't change the initial 60057dd7cddfSDavid du Colombiermatrix, so (0,0) didn't wind up in the lower left corner. (gdevx.c) 60067dd7cddfSDavid du Colombier - The bit devices didn't allow changing the number of bits per 60077dd7cddfSDavid du Colombierpixel. (gdevbit.c) 60087dd7cddfSDavid du Colombier 60097dd7cddfSDavid du ColombierAdds a settable .IsPageDevice boolean device parameter to the X Windows 60107dd7cddfSDavid du Colombierdriver. The default value is true. (gdevx.h, gdevx.c) 60117dd7cddfSDavid du Colombier 60127dd7cddfSDavid du ColombierChanges the PPM driver so that it chooses between PBM/PGM/PPM on a 60137dd7cddfSDavid du Colombierpage-by-page basis, rather retaining the most general format ever required 60147dd7cddfSDavid du Colombierby any page. (gdevpbm.c) 60157dd7cddfSDavid du Colombier 60163ff48bf5SDavid du Colombier</pre><h3><a name="V3.29_Interpreter_PostScript"></a>Interpreter (PostScript)</h3><pre> 60177dd7cddfSDavid du Colombier 60187dd7cddfSDavid du ColombierFixes bugs: 60197dd7cddfSDavid du Colombier - The current page device could be null, rather than an empty 60207dd7cddfSDavid du Colombierdictionary. (igstate.h, zchar.c, zdevice.c, zdevice2.c, zgstate.c) 60217dd7cddfSDavid du Colombier - The scanner didn't signal an error for names or strings that were 60227dd7cddfSDavid du Colombiertoo long. (iscan.c) 60237dd7cddfSDavid du Colombier - A missing header file upset the VAX compilers. (ztype.c) 60247dd7cddfSDavid du Colombier - Some places expecting dictionary operands didn't check the type, 60257dd7cddfSDavid du Colombierbecause they incorrectly assumed that the dict_check_read/write macro did 60267dd7cddfSDavid du Colombierthis. (idict.h, zdevice2.c, zht2.c, zmisc2.c) 60277dd7cddfSDavid du Colombier - The definition of quit in systemdict wasn't disabled within 60287dd7cddfSDavid du Colombierencapsulated jobs. (gs_lev2.ps) 60297dd7cddfSDavid du Colombier - resetfile gave an error if the file was closed, rather than doing 60307dd7cddfSDavid du Colombiernothing. (zfileio.c) 60317dd7cddfSDavid du Colombier - The scanner attempted to free an uninitialized pointer if it 60327dd7cddfSDavid du Colombierreached EOF after a / or //. (iscan.c) 60337dd7cddfSDavid du Colombier - A restore in a different file than the corresponding save caused 60347dd7cddfSDavid du Colombieran invalidrestore error. (gs_init.ps) 60357dd7cddfSDavid du Colombier - The default value of EndOfData in RunLengthDecode streams was set 60367dd7cddfSDavid du Colombierto false. (zfilter.c) 60377dd7cddfSDavid du Colombier - .registerencoding didn't invoke the save machinery correctly, 60387dd7cddfSDavid du Colombierleading to GC problems. (zfont2.c) 60397dd7cddfSDavid du Colombier - The facility for overriding .printerror didn't work correctly. 60407dd7cddfSDavid du Colombier(gs_init.ps) 60417dd7cddfSDavid du Colombier - gs_run_file_open wasn't public. (gsmain.c) 60427dd7cddfSDavid du Colombier - The interpreter returned e_undefined for undefined error names, 60437dd7cddfSDavid du Colombierrather than the error code. (interp.c) 60447dd7cddfSDavid du Colombier - Allocation in system memory (specifically, adding a block to a 60457dd7cddfSDavid du Colombierstack) couldn't trigger automatic garbage collection. (interp.c, igc.c, 60467dd7cddfSDavid du Colombierzvmem2.c) 60477dd7cddfSDavid du Colombier - A restore in a different invocation of gs_run_string than the 60487dd7cddfSDavid du Colombiercorresponding save would stop reading the string. (files.h, gsmain.c, 60497dd7cddfSDavid du Colombiericcinit.c, zfile.c) 60507dd7cddfSDavid du Colombier - The Type 1 rasterizer state included a pointer into the middle of 60517dd7cddfSDavid du Colombieran object, confusing the garbage collector. (zchar1.c, zfont1.c) 60527dd7cddfSDavid du Colombier - When the garbage collector deleted a name, it didn't zero out the 60537dd7cddfSDavid du Colombierstring pointer. (iname.c) 60547dd7cddfSDavid du Colombier - On platforms where obj_align_mod > 4, the memory manager could 60557dd7cddfSDavid du Colombieraccess 1 beyond the end of its freelists. (iastate.h) 60567dd7cddfSDavid du Colombier - makefont and scalefont didn't check the type of their font operand 60577dd7cddfSDavid du Colombiersoon enough. (zfont.c) 60587dd7cddfSDavid du Colombier - restore didn't finalize the objects it freed. (isave.c) 60597dd7cddfSDavid du Colombier - restore didn't free system VM. (isave.c) 60607dd7cddfSDavid du Colombier - Freeing a ref array that occupied an entire chunk didn't free the 60617dd7cddfSDavid du Colombierchunk. (ialloc.c) 60627dd7cddfSDavid du Colombier 60637dd7cddfSDavid du ColombierAdds a .runexec operator which implements the 'close if error' function of 60647dd7cddfSDavid du Colombierrun. (zfile.c, zfileio.c) 60657dd7cddfSDavid du Colombier 60667dd7cddfSDavid du ColombierMoves the obsolete writeppmfile operator into a separate file. (zfileio.c, 60677dd7cddfSDavid du Colombierzwppm.c) 60687dd7cddfSDavid du Colombier 60697dd7cddfSDavid du ColombierMakes the statistics returned by the memory manager more accurate. 60707dd7cddfSDavid du Colombier(ialloc.c, zvmem.c) 60717dd7cddfSDavid du Colombier 60727dd7cddfSDavid du ColombierAdds a (read-only) %Calendar% IODevice. (zdevcal.c) 60737dd7cddfSDavid du Colombier 60747dd7cddfSDavid du ColombierAdds a "hook" in the character operators to allow external code to 60757dd7cddfSDavid du Colombierintervene; this is needed for a customer. (ichar.h, zchar.c, zchar2.c) 60767dd7cddfSDavid du Colombier 60777dd7cddfSDavid du ColombierMakes control-D (0x04) a self-delimiting token, like left bracket. THIS IS 60787dd7cddfSDavid du ColombierA NON-BACKWARD-COMPATIBLE CHANGE, but it should not have any adverse 60797dd7cddfSDavid du Colombiereffects. (scanchar.h, iscan.c, iscantab.c) 60807dd7cddfSDavid du Colombier 60817dd7cddfSDavid du ColombierChanges the error stack printout so that it puts line breaks between items 60827dd7cddfSDavid du Colombieriff the items are being printed with ==. (gs_init.ps) 60837dd7cddfSDavid du Colombier 60847dd7cddfSDavid du ColombierUses finalization to close streams being freed. (igc.c, zfile.c, ziodev.c) 60857dd7cddfSDavid du Colombier 60863ff48bf5SDavid du Colombier</pre><h3><a name="V3.29_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 60877dd7cddfSDavid du Colombier 60887dd7cddfSDavid du ColombierFixes bugs: 60897dd7cddfSDavid du Colombier - Embedded Type 1 fonts that invoked save and restore while being 60907dd7cddfSDavid du Colombierread caused an error. (pdf_font.ps) 60917dd7cddfSDavid du Colombier - Large files that referenced a non-alphabetic font for the first 60927dd7cddfSDavid du Colombiertime late in the file could cause an error. (pdf_main.ps) 60937dd7cddfSDavid du Colombier 60943ff48bf5SDavid du Colombier</pre><h3><a name="V3.29_Streams"></a>Streams</h3><pre> 60957dd7cddfSDavid du Colombier 60967dd7cddfSDavid du ColombierFixes bugs: 60977dd7cddfSDavid du Colombier - SubFileDecode streams didn't copy partial matches of the EOD 60987dd7cddfSDavid du Colombierstring into their output. (sfilter1.c) 60997dd7cddfSDavid du Colombier 61007dd7cddfSDavid du ColombierMakes switching between read and write modes a stream procedure. (stream.h, 61017dd7cddfSDavid du Colombiersfile.c, sfileno.c, stream.c, zfileio.c) 61027dd7cddfSDavid du Colombier 61037dd7cddfSDavid du ColombierMakes file streams close themselves when finalized. (We can't do this for 61047dd7cddfSDavid du Colombierother streams, because finalization procedures aren't allowed to free 61057dd7cddfSDavid du Colombierstorage explicitly.) (stream.h, sfile.c, sfileno.c, stream.c) 61067dd7cddfSDavid du Colombier 61073ff48bf5SDavid du Colombier</pre><h3><a name="V3.29_Library"></a>Library</h3><pre> 61087dd7cddfSDavid du Colombier 61097dd7cddfSDavid du ColombierFixes bugs: 61107dd7cddfSDavid du Colombier - The obsolete files gcdefs.h and gsfile.c were still included in 61117dd7cddfSDavid du Colombierthe fileset. 61127dd7cddfSDavid du Colombier - A number of places didn't deal with null patterns properly (p_tile 61137dd7cddfSDavid du Colombier== 0). (gxdcolor.h, gspcolor.c, gxpcmap.c) 61147dd7cddfSDavid du Colombier - The pattern tiling algorithm was numerically unstable, especially 61157dd7cddfSDavid du Colombierif the X/YStep vectors were close to the axes. (gxcolor2.h, gspcolor.c, 61167dd7cddfSDavid du Colombiergxpcmap.c) 61177dd7cddfSDavid du Colombier - setdeviceparams checked the values of read-only byte array 61187dd7cddfSDavid du Colombierparameters incorrectly. (gsdparam.c) 61197dd7cddfSDavid du Colombier - The statistics macros in gxfill.c didn't use DO_NOTHING when 61207dd7cddfSDavid du Colombierdisabled. (gxfill.c) 61217dd7cddfSDavid du Colombier - Changing the orientation of a device closed and reopened the 61227dd7cddfSDavid du Colombierdevice unnecessarily. (gsdparam.c) 61237dd7cddfSDavid du Colombier - ioerrors occurring when writing command lists weren't reported 61247dd7cddfSDavid du Colombierproperly. (gxclist.h, gxclist.c) 61257dd7cddfSDavid du Colombier - Errors from device procedures weren't always propagated up to 61267dd7cddfSDavid du Colombierclients. (gsimage1.c, gsimage3.c, gxclip2.c, gxclist.c) 61277dd7cddfSDavid du Colombier - Overflowing the fixed-point translation values in the CTM caused a 61287dd7cddfSDavid du Colombierfloating point exception rather than a limitcheck. (gxmatrix.h, gscoord.c) 61297dd7cddfSDavid du Colombier - charpath set the current point correctly, but didn't append a 61307dd7cddfSDavid du Colombiermoveto element to the path. (This mostly affected Mathematica output.) 61317dd7cddfSDavid du Colombier(gzpath.h) 61327dd7cddfSDavid du Colombier - Image devices mapped colors incorrectly. (gdevmem.c, gdevm16.c) 61337dd7cddfSDavid du Colombier - On devices with color capability but fewer than 4 bits per pixel, 61347dd7cddfSDavid du Colombiercolor halftones didn't work (and could cause an arithmetic exception). 61357dd7cddfSDavid du Colombier(gxdither.c) 61367dd7cddfSDavid du Colombier - Black-on-white memory devices didn't map colors properly. 61377dd7cddfSDavid du Colombier(gdevprn.h, gxdevice.h, gxdevmem.h, gdevmem.c, gdevm1.c, gsdevice.c) 61387dd7cddfSDavid du Colombier - Memory devices with a non-zero origin in their initial matrix 61397dd7cddfSDavid du Colombierclipped the image improperly. (gsdevice.c) 61407dd7cddfSDavid du Colombier - The Type 1 rasterizer state included a pointer into the middle of 61417dd7cddfSDavid du Colombieran object, confusing the garbage collector. (gstype1.h, gxfont1.h, 61427dd7cddfSDavid du Colombiergxtype1.h, gstype1.c, gxhint2.c) 61437dd7cddfSDavid du Colombier - The band rasterizer could produce garbled output for images 61447dd7cddfSDavid du Colombier(including characters) on 64-bit architectures. (gxclread.c) 61457dd7cddfSDavid du Colombier - Bounding boxes (for pathbbox and setbbox) could be slightly 61467dd7cddfSDavid du Colombierinaccurate. (gsmatrix.c) 61477dd7cddfSDavid du Colombier - On 64-bit architectures, halftone tiles less than 16 bits wide 61487dd7cddfSDavid du Colombierwere handled incorrectly. (gxclist.c) 61497dd7cddfSDavid du Colombier 61507dd7cddfSDavid du ColombierAdds an .IsPageDevice boolean device parameter (normally read-only). 61517dd7cddfSDavid du Colombier(gsdparam.c) 61527dd7cddfSDavid du Colombier 61537dd7cddfSDavid du ColombierRemoves the library code for implementing the obsolete writeppmfile 61547dd7cddfSDavid du Colombieroperator. (gswppm.c) 61557dd7cddfSDavid du Colombier 61567dd7cddfSDavid du ColombierMakes the default matrix (for initmatrix and defaultmatrix) a settable 61577dd7cddfSDavid du Colombierparameter in the graphics state. (gscoord.h, gzstate.h, gscoord.c, 61587dd7cddfSDavid du Colombiergsdevice.c, gsdparam.c) 61597dd7cddfSDavid du Colombier 61607dd7cddfSDavid du ColombierMakes the statistics returned by the memory manager more accurate. 61617dd7cddfSDavid du Colombier(gsmemory.h) 61627dd7cddfSDavid du Colombier 61637dd7cddfSDavid du ColombierAdds a compile-time flag to choose whether or not to force Type 1 hints to 61647dd7cddfSDavid du Colombier"big pixel" boundaries when oversampling. (gstype1.c) 61657dd7cddfSDavid du Colombier 61667dd7cddfSDavid du ColombierChanges the .PageCount device parameter back to PageCount, because the 61677dd7cddfSDavid du Colombierchange broke some scripts. (gsdparam.c) 61687dd7cddfSDavid du Colombier 61697dd7cddfSDavid du ColombierAdds optimization for 90 degree rotated images with pure colors. 61707dd7cddfSDavid du Colombier(gximage.h, gsimage.c, gsimage1.c) 61717dd7cddfSDavid du Colombier 61727dd7cddfSDavid du ColombierChanges the band rasterizer so that replicated halftone tiles are written on 61737dd7cddfSDavid du Colombierthe band list in unreplicated form. (gsbitops.h, gxcldev.h, gsbitops.c, 61747dd7cddfSDavid du Colombiergxclist.c, gxclread.c, gxht.c) 61757dd7cddfSDavid du Colombier 61767dd7cddfSDavid du ColombierChanges the .HWBitsPerPixel device parameter to BitsPerPixel. (drivers.doc, 61777dd7cddfSDavid du Colombierlanguage.doc, gdevcdj.c, gdevstc.c, gsdparam.c) 61787dd7cddfSDavid du Colombier 61793ff48bf5SDavid du Colombier</pre> 61807dd7cddfSDavid du Colombier 61813ff48bf5SDavid du Colombier<h2><a name="Version3.28"></a>Version 3.28 (beta) (2/13/95)</h2> 61823ff48bf5SDavid du Colombier 61833ff48bf5SDavid du Colombier<p> 61847dd7cddfSDavid du ColombierAnother bug-fix beta release. The number of bugs being fixed in each of 61857dd7cddfSDavid du Colombierthese sub-releases does exceed the number of new bugs introduced, but the 61867dd7cddfSDavid du Colombierlatter number is discouragingly high. 61877dd7cddfSDavid du Colombier 61883ff48bf5SDavid du Colombier<h3><a name="V3.28_Documentation"></a>Documentation</h3><pre> 61897dd7cddfSDavid du ColombierAdds some information about handling VMS file attributes for files 61907dd7cddfSDavid du Colombiertransferred by FTP. (use.doc) 61917dd7cddfSDavid du Colombier 61923ff48bf5SDavid du Colombier</pre><h3><a name="V3.28_Procedures"></a>Procedures</h3><pre> 61937dd7cddfSDavid du Colombier 61947dd7cddfSDavid du ColombierFixes bugs: 61957dd7cddfSDavid du Colombier - unix-gcc.mak said the static linkage switch for SunOS was -Bstatic 61967dd7cddfSDavid du Colombierrather than -static. (unix-gcc.mak) 61977dd7cddfSDavid du Colombier - Some dependency lists in gs.mak were out of date. (gs.mak) 61987dd7cddfSDavid du Colombier 61993ff48bf5SDavid du Colombier</pre><h3><a name="V3.28_Utilities"></a>Utilities</h3><pre> 62007dd7cddfSDavid du Colombier 62017dd7cddfSDavid du ColombierFixes bugs: 62027dd7cddfSDavid du Colombier - markhint.ps didn't check for protected fonts. (markhint.ps) 62037dd7cddfSDavid du Colombier 62043ff48bf5SDavid du Colombier</pre><h3><a name="V3.28_Drivers"></a>Drivers</h3><pre> 62057dd7cddfSDavid du Colombier 62067dd7cddfSDavid du ColombierFixes bugs: 62077dd7cddfSDavid du Colombier - The cdj driver had a byte/char agreement problem. (gdevcdj.c) 62087dd7cddfSDavid du Colombier - The cdj driver attempted to initialize a dynamic array. 62097dd7cddfSDavid du Colombier(gdevcdj.c) 62107dd7cddfSDavid du Colombier 62117dd7cddfSDavid du ColombierRemoves the setting of InputAttributes and OutputAttributes from the H-P 62127dd7cddfSDavid du Colombierdrivers, since this causes more problems than it solves. (gdevdjet.c) 62137dd7cddfSDavid du Colombier 62143ff48bf5SDavid du Colombier</pre><h3><a name="V3.28_Interpreter"></a>Interpreter</h3><pre> 62157dd7cddfSDavid du Colombier 62167dd7cddfSDavid du ColombierFixes bugs: 62177dd7cddfSDavid du Colombier - makeoperator assigned incorrect attributes to operators. (bug 62187dd7cddfSDavid du Colombierintroduced in 3.27) (opdef.h, iinit.c, iutil.c, zmisc.c) 62197dd7cddfSDavid du Colombier 62203ff48bf5SDavid du Colombier</pre><h3><a name="V3.28_Library"></a>Library</h3><pre> 62217dd7cddfSDavid du Colombier 62227dd7cddfSDavid du ColombierFixes bugs: 62237dd7cddfSDavid du Colombier - gs_makeimagedevice didn't set the caller's pointer to the newly 62247dd7cddfSDavid du Colombiercreated device. (bug introduced in 3.27) (gsdevice.c) 62257dd7cddfSDavid du Colombier - There were still some mismatches between char * and byte * values. 62267dd7cddfSDavid du Colombier(gsdparam.c) 62277dd7cddfSDavid du Colombier - The halftone replication algorithm could produce inappropriately 62287dd7cddfSDavid du Colombierlarge replicated masks. (gxht.c) 62297dd7cddfSDavid du Colombier - stroke usually did the wrong thing for degenerate (single-point) 62307dd7cddfSDavid du Colombiersubpaths. (gxstroke.c) 62317dd7cddfSDavid du Colombier 62323ff48bf5SDavid du Colombier</pre> 62337dd7cddfSDavid du Colombier 62343ff48bf5SDavid du Colombier<h2><a name="Version3.27"></a>Version 3.27 (beta)(withdrawn) (2/8/95)</h2> 62353ff48bf5SDavid du Colombier 62363ff48bf5SDavid du Colombier<p> 62377dd7cddfSDavid du ColombierYet another bug-fix beta release. This release had so many serious problems 62387dd7cddfSDavid du Colombier(the most serious being at least one changed file that the release tool 62397dd7cddfSDavid du Colombierfailed to include in the fileset) that it was withdrawn less than a day 62407dd7cddfSDavid du Colombierafter it was issued. 62417dd7cddfSDavid du Colombier 62423ff48bf5SDavid du Colombier<h3><a name="V3.27_Documentation"></a>Documentation</h3><pre> 62437dd7cddfSDavid du ColombierFixes bugs: 62447dd7cddfSDavid du Colombier - The NEWS for 3.26 didn't mention the fact that the stdxxx stream 62457dd7cddfSDavid du Colombierinterface used by MS Windows, OS/2, and Macintosh implementations had 62467dd7cddfSDavid du Colombierchanged. (NEWS) 62477dd7cddfSDavid du Colombier - The file public.doc wasn't distributed with the previous fileset. 62487dd7cddfSDavid du Colombier 62497dd7cddfSDavid du ColombierBrings the NeXTSTEP documentation up to date for NeXTSTEP releases 3.2 and 62507dd7cddfSDavid du Colombiersubsequent. (make.doc) 62517dd7cddfSDavid du Colombier 62523ff48bf5SDavid du Colombier</pre><h3><a name="V3.27_Procedures"></a>Procedures</h3><pre> 62537dd7cddfSDavid du Colombier 62547dd7cddfSDavid du ColombierFixes bugs: 62557dd7cddfSDavid du Colombier - Some dependency lists in gs.mak were out of date. (gs.mak) 62567dd7cddfSDavid du Colombier - A 'fi;' was missing in the Unix install script. (unix-end.mak) 62577dd7cddfSDavid du Colombier - There was no VMS build script for the PDF options. (vms.mak) 62587dd7cddfSDavid du Colombier - The VMS script used CC_QUALI instead of CC_QUAL in several places. 62597dd7cddfSDavid du Colombier(vms.mak) 62607dd7cddfSDavid du Colombier 62613ff48bf5SDavid du Colombier</pre><h3><a name="V3.27_Utilities"></a>Utilities</h3><pre> 62627dd7cddfSDavid du Colombier 62637dd7cddfSDavid du ColombierFixes bugs: 62647dd7cddfSDavid du Colombier - ps2epsi's usage prompt referred to "pstoepsi". (ps2epsi) 62657dd7cddfSDavid du Colombier - ps2epsi set PATH and LOCALPATH unilaterally. (ps2epsi) 62667dd7cddfSDavid du Colombier 62677dd7cddfSDavid du ColombierComments out the sample usage line at the end of viewjpeg.ps. (viewjpeg.ps) 62687dd7cddfSDavid du Colombier 62693ff48bf5SDavid du Colombier</pre><h3><a name="V3.27_Drivers"></a>Drivers</h3><pre> 62707dd7cddfSDavid du Colombier 62717dd7cddfSDavid du ColombierFixes bugs: 62727dd7cddfSDavid du Colombier - The fax and tiff drivers didn't free all of their working storage. 62737dd7cddfSDavid du Colombier(gdevtfax.c) 62747dd7cddfSDavid du Colombier 62757dd7cddfSDavid du ColombierAdds user-contributed drivers for the BJC 600 and ESC/P printers. 62767dd7cddfSDavid du Colombier(devs.mak, gdevcdj.c) 62777dd7cddfSDavid du Colombier 62783ff48bf5SDavid du Colombier</pre><h3><a name="V3.27_Platforms"></a>Platforms</h3><pre> 62797dd7cddfSDavid du Colombier 62807dd7cddfSDavid du ColombierFixes bugs: 62817dd7cddfSDavid du Colombier - Some necessary casts of string parameters to (const byte *) were 62827dd7cddfSDavid du Colombieromitted. (gp_mswin.c, gp_os2.c) 62837dd7cddfSDavid du Colombier 62847dd7cddfSDavid du ColombierAdds the psmono and bit* drivers, and removes the p*m drivers, in the OS/2, 62857dd7cddfSDavid du Colombier32-bit MS-DOS, and 32-bit Windows configurations. (bcwin32.mak, os2.mak, 62867dd7cddfSDavid du Colombierwatc.mak) 62877dd7cddfSDavid du Colombier 62883ff48bf5SDavid du Colombier</pre><h3><a name="V3.27_Fonts"></a>Fonts</h3><pre> 62897dd7cddfSDavid du Colombier 62907dd7cddfSDavid du ColombierFixes bugs: 62917dd7cddfSDavid du Colombier - The Fontmap for Ultrix had somehow become slightly incorrect. 62927dd7cddfSDavid du Colombier(Fontmap.Ult) 62937dd7cddfSDavid du Colombier 62947dd7cddfSDavid du ColombierRemoves the font file names from the dependency lists in cfonts.mak. This 62957dd7cddfSDavid du Colombiermakes cfonts.mak readily usable with any set of fonts, but it also means 62967dd7cddfSDavid du Colombierthat it will always run font2c, rather than being able to avoid this if the 62977dd7cddfSDavid du Colombier.c file is up to date. (cfonts.mak) 62987dd7cddfSDavid du Colombier 62993ff48bf5SDavid du Colombier</pre><h3><a name="V3.27_Interpreter"></a>Interpreter</h3><pre> 63007dd7cddfSDavid du Colombier 63017dd7cddfSDavid du ColombierFixes bugs: 63027dd7cddfSDavid du Colombier - Some operators could fail if the stdxxx streams weren't currently 63037dd7cddfSDavid du Colombieropen. (files.h, zfileio.c, ziodev.c) 63047dd7cddfSDavid du Colombier - setpagedevice didn't handle unrecognized keys properly. 63057dd7cddfSDavid du Colombier(gs_setpd.ps) 63067dd7cddfSDavid du Colombier - The value returned for the HWColorMap device parameter was 63077dd7cddfSDavid du Colombierallocated incorrectly, confusing the garbage collector. (iparam.c) 63087dd7cddfSDavid du Colombier - Typing ahead at the >>showpage<< prompt no longer caused all 63097dd7cddfSDavid du Colombierfurther pages to be processed without stopping. (gs_init.ps) 63107dd7cddfSDavid du Colombier - Setting DEVICEWIDTHPOINTS or DEVICEHEIGHTPOINTS on the command 63117dd7cddfSDavid du Colombierline caused a typecheck. (gs_init.ps) 63127dd7cddfSDavid du Colombier - The garbage collector didn't handle halftone threshold arrays 63137dd7cddfSDavid du Colombierproperly. (zht2.c) 63147dd7cddfSDavid du Colombier - setdefaulttimeouts caused an error on Level 2 systems. 63157dd7cddfSDavid du Colombier(gs_lev2.ps) 63167dd7cddfSDavid du Colombier - cvi and cvr weren't equivalent to token followed by a type check. 63177dd7cddfSDavid du Colombier(iscan.h, iscannum.h, iscan.c, iscannum.c, ztoken.c, ztype.c) 63187dd7cddfSDavid du Colombier - In Level 2 systems, image and colorimage didn't allow 12 bits per 63197dd7cddfSDavid du Colombiersample. (zpaint.c) 63207dd7cddfSDavid du Colombier - If debugging was enabled, the garbage collector printed spurious 63217dd7cddfSDavid du Colombiererror messages about the allocator objects not being in a chunk. (ialloc.c) 63227dd7cddfSDavid du Colombier - restore didn't reset the count of operator procedures, so the 63237dd7cddfSDavid du Colombieroperator procedure table could fill up. Fixing this required splitting the 63247dd7cddfSDavid du Colombierop_array_table into a global table and a local table. (opdef.h, iinit.c, 63257dd7cddfSDavid du Colombieriutil.c, zmisc.c) 63267dd7cddfSDavid du Colombier - .forgetsave could leave a dangling pointer in the memory manager, 63277dd7cddfSDavid du Colombiercausing an access error. (ialloc.c, isave.c) 63287dd7cddfSDavid du Colombier - Freed objects weren't always marked as freed, which could confuse 63297dd7cddfSDavid du Colombierthe memory validator. (ialloc.c) 63307dd7cddfSDavid du Colombier - .forgetsave didn't mark inner chunk headers as free, leading to 63317dd7cddfSDavid du Colombieraccess errors. (isave.c) 63327dd7cddfSDavid du Colombier 63337dd7cddfSDavid du ColombierChanges the representation of operator procedures so that they point 63347dd7cddfSDavid du Colombierdirectly to their definition in the op_array_table. (iref.h, opdef.h, 63357dd7cddfSDavid du Colombieridebug.c, igc.c, igcref.c, interp.c, zmisc.c) 63367dd7cddfSDavid du Colombier 63377dd7cddfSDavid du ColombierRemoves .makeglobaloperator. (zmisc.c) 63387dd7cddfSDavid du Colombier 63397dd7cddfSDavid du ColombierAdds patches to discard some common garbage produced by H-P-oriented 63407dd7cddfSDavid du Colombierapplications and drivers. (gs_init.ps) 63417dd7cddfSDavid du Colombier 63427dd7cddfSDavid du ColombierChanges the >>showpage<< prompt so that if the input reaches EOF, the 63437dd7cddfSDavid du Colombierinterpreter still stops after the next >>showpage<<, rather than processing 63447dd7cddfSDavid du Colombierall subsequent pages. This is a consequence of the bug fix that 63457dd7cddfSDavid du Colombierautomatically reopens the stdxxx files. 63467dd7cddfSDavid du Colombier 63477dd7cddfSDavid du ColombierAdds an optional dictionary parameter for the RunLengthEncode/Decode 63487dd7cddfSDavid du Colombierfilters, to allow specifying EndOfData. The default is true. (zfilter.c) 63497dd7cddfSDavid du Colombier 63507dd7cddfSDavid du ColombierAdds ByteTranslateEncode/Decode filters. (zfilter2.c) 63517dd7cddfSDavid du Colombier 63523ff48bf5SDavid du Colombier</pre><h3><a name="V3.27_Streams"></a>Streams</h3><pre> 63537dd7cddfSDavid du Colombier 63547dd7cddfSDavid du ColombierFixes bugs: 63557dd7cddfSDavid du Colombier - The K > 0 option of the CCITTFaxDecode filter switched back to 2-D 63567dd7cddfSDavid du Colombierencoding if an output buffer boundary fell in the middle of a 1-D line, and 63577dd7cddfSDavid du Colombiersignalled an error if an input buffer boundary fell in the middle of an EOL. 63587dd7cddfSDavid du Colombier(scfd.c) 63597dd7cddfSDavid du Colombier 63607dd7cddfSDavid du ColombierAdds an EndOfData flag to the RunLengthEncode/Decode filters. If true, RLE 63617dd7cddfSDavid du Colombiergenerates 128 as EOD, and RLD recognizes it; if false, RLE does not mark 63627dd7cddfSDavid du ColombierEOD, and RLD ignores 128. (srlx.h, gxclist.c, gxclread.c, sfilter1.c) 63637dd7cddfSDavid du Colombier 63647dd7cddfSDavid du ColombierAdds ByteTranslateEncode/Decode streams. (sbtx.h, sfilter2.c) 63657dd7cddfSDavid du Colombier 63663ff48bf5SDavid du Colombier</pre><h3><a name="V3.27_Library"></a>Library</h3><pre> 63677dd7cddfSDavid du Colombier 63687dd7cddfSDavid du ColombierFixes bugs: 63697dd7cddfSDavid du Colombier - There were some mismatches between char * and byte * values. 63707dd7cddfSDavid du Colombier(gsdparam.c) 63717dd7cddfSDavid du Colombier - Failure to round a scaling coordinate caused one-for-one 63727dd7cddfSDavid du Colombierblack-and-white images to render slower than they should. (gsimage.c) 63737dd7cddfSDavid du Colombier - Setting PageSize without setting HWResolution could cause an 63747dd7cddfSDavid du Colombierinvalid memory access. (gsdparam.c) 63757dd7cddfSDavid du Colombier - The garbage collector didn't handle halftone threshold arrays 63767dd7cddfSDavid du Colombierproperly. (gxht.h, gsht.c, gsht1.c) 63777dd7cddfSDavid du Colombier 63783ff48bf5SDavid du Colombier</pre> 63797dd7cddfSDavid du Colombier 63803ff48bf5SDavid du Colombier<h2><a name="Version3.26"></a>Version 3.26 (beta) (2/1/95)</h2> 63813ff48bf5SDavid du Colombier 63823ff48bf5SDavid du Colombier<p> 63837dd7cddfSDavid du ColombierYet another bug-fix beta release, still not ready for public release. 63847dd7cddfSDavid du Colombier 63853ff48bf5SDavid du Colombier<h3><a name="V3.26_Documentation"></a>Documentation</h3><pre> 63867dd7cddfSDavid du ColombierFixes bugs: 63877dd7cddfSDavid du Colombier - The description of device properties had gotten out of sync with 63887dd7cddfSDavid du Colombierthe code. (language.doc) 63897dd7cddfSDavid du Colombier 63907dd7cddfSDavid du ColombierSplits off documentation specific to the Aladdin (non-GNU) release into a 63917dd7cddfSDavid du Colombierseparate file. (readme, public.doc, unix-end.mak) 63927dd7cddfSDavid du Colombier 63937dd7cddfSDavid du ColombierAdds a pointer to a collection of other free fonts (including some Cyrillic 63947dd7cddfSDavid du Colombierones) available on the net. (public.doc) 63957dd7cddfSDavid du Colombier 63963ff48bf5SDavid du Colombier</pre><h3><a name="V3.26_Procedures"></a>Procedures</h3><pre> 63977dd7cddfSDavid du Colombier 63987dd7cddfSDavid du ColombierFixes bugs: 63997dd7cddfSDavid du Colombier - On VMS systems with both VAX C and DEC C installed, the build script 64007dd7cddfSDavid du Colombierused VAX C rather than DEC C. (vms.mak) 64017dd7cddfSDavid du Colombier - zfdecode.c didn't have a build rule. (gs.mak) 64027dd7cddfSDavid du Colombier - Several macros in the makefile were used before they were defined. 64037dd7cddfSDavid du Colombier(gs.mak) 64047dd7cddfSDavid du Colombier - Several macros in the makefile were used without being defined. 64057dd7cddfSDavid du Colombier(gs.mak) 64067dd7cddfSDavid du Colombier 64077dd7cddfSDavid du ColombierReplaces the gssetdev, gssetmod, and gsaddmod scripts with more variants of 64087dd7cddfSDavid du Colombierechogs. (echogs.c, gs.mak) 64097dd7cddfSDavid du Colombier 64103ff48bf5SDavid du Colombier</pre><h3><a name="V3.26_Utilities"></a>Utilities</h3><pre> 64117dd7cddfSDavid du Colombier 64127dd7cddfSDavid du ColombierFixes bugs: 64137dd7cddfSDavid du Colombier - The ps2ascii shell script passed a -f flag to the shell, which not 64147dd7cddfSDavid du Colombierall shells recognize. (ps2ascii) 64157dd7cddfSDavid du Colombier 64163ff48bf5SDavid du Colombier</pre><h3><a name="V3.26_Drivers"></a>Drivers</h3><pre> 64177dd7cddfSDavid du Colombier 64187dd7cddfSDavid du ColombierFixes bugs: 64197dd7cddfSDavid du Colombier - Due to a typo in an initialization string, the H-P printers didn't 64207dd7cddfSDavid du Colombierreset the top margin to zero. (gdevdjet.c) 64217dd7cddfSDavid du Colombier 64227dd7cddfSDavid du ColombierAdds InputAttributes and OutputAttributes entries to the H-P drivers. (This 64237dd7cddfSDavid du Colombiershould probably be generic to all printers.) (gdevdjet.c) 64247dd7cddfSDavid du Colombier 64257dd7cddfSDavid du ColombierReplaces the contributed Epson Stylus Color driver with a newer version. 64267dd7cddfSDavid du Colombier(devices.doc, gdevstc.c) 64277dd7cddfSDavid du Colombier 64283ff48bf5SDavid du Colombier</pre><h3><a name="V3.26_Platforms"></a>Platforms</h3><pre> 64297dd7cddfSDavid du Colombier 64307dd7cddfSDavid du ColombierFixes bugs: 64317dd7cddfSDavid du Colombier - DEC C complained about 'abs' and 'exit' not being declared. (x_.h) 64327dd7cddfSDavid du Colombier - gp_mswin.c and gp_os2.c wouldn't compile. (gp_mswin.c, gp_os2.c, 64337dd7cddfSDavid du Colombierziodev.c) 64347dd7cddfSDavid du Colombier 64353ff48bf5SDavid du Colombier</pre><h3><a name="V3.26_Interpreter"></a>Interpreter</h3><pre> 64367dd7cddfSDavid du Colombier 64377dd7cddfSDavid du ColombierFixes bugs: 64387dd7cddfSDavid du Colombier - The default CIE rendering dictionary gave everything a magenta tint. 64397dd7cddfSDavid du Colombier(gs_lev2.ps) 64407dd7cddfSDavid du Colombier - Changing HWResolution and PageSize in the same call of 64417dd7cddfSDavid du Colombiersetpagedevice produced an incorrect HWSize. (gsdparam.c) 64427dd7cddfSDavid du Colombier - .putdeviceparams didn't accept all the keys that .getdeviceparams 64437dd7cddfSDavid du Colombierreturned. (gsdparam.c) 64447dd7cddfSDavid du Colombier - The default handler for interrupt and timeout errors didn't push a 64457dd7cddfSDavid du Colombiercurrent object (command) on the stack. (gs_init.ps) 64467dd7cddfSDavid du Colombier - The garbage collector didn't handle strings larger than 64K 64477dd7cddfSDavid du Colombierproperly. (iastate.h, ialloc.c, igcstr.c) 64487dd7cddfSDavid du Colombier 64497dd7cddfSDavid du ColombierAdds media matching and Policy consultation to the implementation of 64507dd7cddfSDavid du Colombiersetpagedevice. (gs_setpd.ps) 64517dd7cddfSDavid du Colombier 64527dd7cddfSDavid du ColombierAdds a MaxGlobalVM system parameter. (zmisc2.c) 64537dd7cddfSDavid du Colombier 64543ff48bf5SDavid du Colombier</pre><h3><a name="V3.26_Streams"></a>Streams</h3><pre> 64557dd7cddfSDavid du Colombier 64567dd7cddfSDavid du ColombierFixes bugs: 64577dd7cddfSDavid du Colombier - The CCITTFaxEncode filter could access a byte beyond the end of 64587dd7cddfSDavid du Colombierthe allocated area. (scfe.c) 64597dd7cddfSDavid du Colombier - The CCITTFaxDecode filter could get an ioerror if a buffer 64607dd7cddfSDavid du Colombierboundary fell in exactly the wrong place. (scfd.c) 64617dd7cddfSDavid du Colombier 64623ff48bf5SDavid du Colombier</pre><h3><a name="V3.26_Library"></a>Library</h3><pre> 64637dd7cddfSDavid du Colombier 64647dd7cddfSDavid du ColombierFixes bugs: 64657dd7cddfSDavid du Colombier - The garbage collector didn't trace colored halftones properly. 64667dd7cddfSDavid du Colombier(gzht.h) 64677dd7cddfSDavid du Colombier - The garbage collector didn't relocate the bitmap pointers in 64687dd7cddfSDavid du Colombierhalftone caches properly. (gzht.h, gxht.c) 64697dd7cddfSDavid du Colombier 64707dd7cddfSDavid du ColombierAdds the ability to transmit dictionaries through the param_list mechanism 64717dd7cddfSDavid du Colombier(specifically, as device parameters). This change is 64727dd7cddfSDavid du Colombiernon-backward-compatible only for implementors of parameter lists, which only 64737dd7cddfSDavid du Colombierexist within the Ghostscript core. (gsparam.h, iparam.h, iparam.c) 64747dd7cddfSDavid du Colombier 64757dd7cddfSDavid du ColombierRemoves the InitialMatrix device property. (gsdparam.c) 64767dd7cddfSDavid du Colombier 64773ff48bf5SDavid du Colombier</pre> 64787dd7cddfSDavid du Colombier 64793ff48bf5SDavid du Colombier<h2><a name="Version3.25"></a>Version 3.25 (beta) (1/24/95)</h2> 64803ff48bf5SDavid du Colombier 64813ff48bf5SDavid du Colombier<p> 64827dd7cddfSDavid du ColombierYet another bug-fix beta release. There are still at least half a dozen 64837dd7cddfSDavid du Colombiersignificant known bugs to be fixed before a public release. 64847dd7cddfSDavid du Colombier 64853ff48bf5SDavid du Colombier<h3><a name="V3.25_Documentation"></a>Documentation</h3><pre> 64867dd7cddfSDavid du ColombierNotes that on Unix systems, one should not edit 'makefile', but should edit 64877dd7cddfSDavid du Colombierthe individual subfile and run tar_cat. THIS IS A NON-BACKWARD-COMPATIBLE 64887dd7cddfSDavid du ColombierCHANGE. (make.doc) 64897dd7cddfSDavid du Colombier 64907dd7cddfSDavid du ColombierAdds information on the Macintosh implementation. (readme) 64917dd7cddfSDavid du Colombier 64923ff48bf5SDavid du Colombier</pre><h3><a name="V3.25_Procedures"></a>Procedures</h3><pre> 64937dd7cddfSDavid du ColombierFixes bugs: 64947dd7cddfSDavid du Colombier - make clean failed on Unix systems where rm -f requires at least one 64957dd7cddfSDavid du Colombierfile name. (gs.mak) 64967dd7cddfSDavid du Colombier - math_.h was omitted from many dependency lists. (gs.mak) 64977dd7cddfSDavid du Colombier 64983ff48bf5SDavid du Colombier</pre><h3><a name="V3.25_Drivers"></a>Drivers</h3><pre> 64997dd7cddfSDavid du Colombier 65007dd7cddfSDavid du ColombierFixes bugs: 65017dd7cddfSDavid du Colombier - The X Windows and MS Windows draw-line routines couldn't possibly 65027dd7cddfSDavid du Colombierproduce sufficiently correct output (since the interface only provides integer 65037dd7cddfSDavid du Colombiercoordinates). (gdevx.c, gdevwddb.c) 65047dd7cddfSDavid du Colombier 65057dd7cddfSDavid du ColombierIn response to patent-related actions by Unisys and CompuServe, removes the 65067dd7cddfSDavid du ColombierGIF driver. (*.mak) 65077dd7cddfSDavid du Colombier 65087dd7cddfSDavid du ColombierChanges dci_std_color (and std_device_std_color_* and prn_device_std_*) so 65097dd7cddfSDavid du Colombierthat if the number of bits per pixel is 32, the device is defined as CMYK 65107dd7cddfSDavid du Colombierrather than RGB. (gxdevice.h) 65117dd7cddfSDavid du Colombier 65127dd7cddfSDavid du ColombierRemoves the tseng8 device, which is no longer useful. (devs.mak, gdevsvga.c) 65137dd7cddfSDavid du Colombier 65147dd7cddfSDavid du ColombierAdds pseudo-alpha support to the SVGA drivers, via the TextAlphaBits and 65157dd7cddfSDavid du ColombierGraphicsAlphaBits device parameters. (gdevsvga.h, gdevsvga.c) 65167dd7cddfSDavid du Colombier 65177dd7cddfSDavid du ColombierAdds a user-contributed driver for the Epson Stylus Color printer. (devs.mak, 65187dd7cddfSDavid du Colombiergdevstc.c, devices.doc) 65197dd7cddfSDavid du Colombier 65203ff48bf5SDavid du Colombier</pre><h3><a name="V3.25_Platforms"></a>Platforms</h3><pre> 65217dd7cddfSDavid du Colombier 65227dd7cddfSDavid du ColombierFixes bugs: 65237dd7cddfSDavid du Colombier - The VMS build scripts had gotten out of sync (again). (vms*.mak) 65247dd7cddfSDavid du Colombier 65253ff48bf5SDavid du Colombier</pre><h3><a name="V3.25_Interpreter"></a>Interpreter</h3><pre> 65267dd7cddfSDavid du Colombier 65277dd7cddfSDavid du ColombierFixes bugs: 65287dd7cddfSDavid du Colombier - The emulator name array was incorrectly declared const in one place. 65297dd7cddfSDavid du Colombier(gs.c) 65307dd7cddfSDavid du Colombier - A closed file could incorrectly appear to be 'eq' to another file 65317dd7cddfSDavid du Colombier(open or closed). (iutil.c) 65327dd7cddfSDavid du Colombier - If %stdin/%stdout/%stderr was ever closed, it couldn't be 65337dd7cddfSDavid du Colombierreopened. (gs_btokn.ps, gs_init.ps, files.h, zfile.c, zfileio.c, zfilter.c, 65347dd7cddfSDavid du Colombierzfproc.c, ziodev.c) 65357dd7cddfSDavid du Colombier 65367dd7cddfSDavid du ColombierChanges (almost) all the operator routines to 'static'. (z*.c) 65377dd7cddfSDavid du Colombier 65383ff48bf5SDavid du Colombier</pre><h3><a name="V3.25_Library"></a>Library</h3><pre> 65397dd7cddfSDavid du Colombier 65407dd7cddfSDavid du ColombierFixes bugs: 65417dd7cddfSDavid du Colombier - The raster value for replicated tiles in the halftone cache was 65427dd7cddfSDavid du Colombierincorrect, causing unaligned memory accesses. (gxht.c) 65437dd7cddfSDavid du Colombier - stroke and strokepath could produce slightly inaccurate output 65447dd7cddfSDavid du Colombier(leading to slight visible anomalies) as a result of stroke adjustment. 65457dd7cddfSDavid du Colombier(gxstroke.c) 65467dd7cddfSDavid du Colombier - Attempting to draw an arc with zero radius could cause a numeric 65477dd7cddfSDavid du Colombierexception. (gspath1.c) 65487dd7cddfSDavid du Colombier - Setting the Orientation of a device to null resulted in actually 65497dd7cddfSDavid du Colombiersetting it to a random value. (gsdparam.c) 65507dd7cddfSDavid du Colombier - charpath, stringwidth, and cshow attempted to remap the current 65517dd7cddfSDavid du Colombiercolor unnecessarily. (gschar.c) 65527dd7cddfSDavid du Colombier 65537dd7cddfSDavid du ColombierAdds the ability to trace calls on the sqrt function (and possibly other math 65547dd7cddfSDavid du Colombierfunctions in the future.) (math_.h, gsmisc.c) 65557dd7cddfSDavid du Colombier 65567dd7cddfSDavid du ColombierAdds additional interrupt checks in the banding code. (gxclist.c, gxclread.c) 65577dd7cddfSDavid du Colombier 65583ff48bf5SDavid du Colombier</pre> 65597dd7cddfSDavid du Colombier 65603ff48bf5SDavid du Colombier<h2><a name="Version3.24"></a>Version 3.24 (beta) (1/17/95)</h2> 65613ff48bf5SDavid du Colombier 65623ff48bf5SDavid du Colombier<p> 65637dd7cddfSDavid du ColombierThis was supposed to be a public release, but too many bugs showed up in 3.23, 65647dd7cddfSDavid du Colombierso this is another bug-fix beta release. This is the first release with a 65657dd7cddfSDavid du Colombierworking PDF reader. 65667dd7cddfSDavid du Colombier 65673ff48bf5SDavid du Colombier<h3><a name="V3.24_Documentation"></a>Documentation</h3><pre> 65687dd7cddfSDavid du ColombierNotes that Solaris requires using installbsd instead of install. (make.doc) 65697dd7cddfSDavid du Colombier 65703ff48bf5SDavid du Colombier</pre><h3><a name="V3.24_Procedures"></a>Procedures</h3><pre> 65717dd7cddfSDavid du Colombier 65727dd7cddfSDavid du ColombierChanges 'make mostlyclean' so that it doesn't delete the Ghostscript 65737dd7cddfSDavid du Colombierexecutable (but deletes everything else that 'make clean' does). (gs.mak) 65747dd7cddfSDavid du Colombier 65757dd7cddfSDavid du ColombierChanges the link list generator so it eliminates duplicate library requests. 65767dd7cddfSDavid du Colombier(genconf.c) 65777dd7cddfSDavid du Colombier 65787dd7cddfSDavid du ColombierFactors the interpreter further so as to include less unnecessary PostScript 65797dd7cddfSDavid du Colombiersupport in the PDF interpreter. (gs.mak, zpath.c, zpath1.c) 65807dd7cddfSDavid du Colombier 65817dd7cddfSDavid du ColombierAdds a printout of the available language interpreters to the -h message. 65827dd7cddfSDavid du Colombier(genconf.c, gs.c, iinit.c, gs.mak) 65837dd7cddfSDavid du Colombier 65843ff48bf5SDavid du Colombier</pre><h3><a name="V3.24_Drivers"></a>Drivers</h3><pre> 65857dd7cddfSDavid du Colombier 65867dd7cddfSDavid du ColombierFixes bugs: 65877dd7cddfSDavid du Colombier - The alternate X drivers used a cast in an initializer, causing a 65887dd7cddfSDavid du Colombiercompilation error on some platforms. (gdevxalt.c) 65897dd7cddfSDavid du Colombier 65907dd7cddfSDavid du ColombierAdds a driver for the LaserJet IIID, including duplex printing if specified by 65917dd7cddfSDavid du Colombierthe Duplex page device parameter. (gdevdjet.c) 65927dd7cddfSDavid du Colombier 65937dd7cddfSDavid du ColombierAdds Orientation to the bit device. (gdevbit.c) 65947dd7cddfSDavid du Colombier 65953ff48bf5SDavid du Colombier</pre><h3><a name="V3.24_Platforms"></a>Platforms</h3><pre> 65967dd7cddfSDavid du Colombier 65977dd7cddfSDavid du ColombierFixes bugs: 65987dd7cddfSDavid du Colombier - There was an extraneous pfen-> in the NT file system module, causing 65997dd7cddfSDavid du Colombiera compilation error. (gp_ntfs.c) 66007dd7cddfSDavid du Colombier - The DLL code referred to an obsolete symbol a_foreign. (gsdll.c) 66017dd7cddfSDavid du Colombier - The VMS build scripts omitted the LaserJet 4 driver. (vms-*.mak) 66027dd7cddfSDavid du Colombier - The VMS build scripts had several other minor errors. (vms.mak) 66037dd7cddfSDavid du Colombier 66043ff48bf5SDavid du Colombier</pre><h3><a name="V3.24_Fonts"></a>Fonts</h3><pre> 66057dd7cddfSDavid du Colombier 66067dd7cddfSDavid du ColombierFixes bugs: 66077dd7cddfSDavid du Colombier - Defining a font alias in global VM with a name that was a string in 66087dd7cddfSDavid du Colombierlocal VM caused an error. (gs_fonts.ps) 66097dd7cddfSDavid du Colombier - The font compiler referred to an obsolete symbol a_foreign. 66107dd7cddfSDavid du Colombier(font2c.ps) 66117dd7cddfSDavid du Colombier 66123ff48bf5SDavid du Colombier</pre><h3><a name="V3.24_Interpreter"></a>Interpreter</h3><pre> 66137dd7cddfSDavid du Colombier 66147dd7cddfSDavid du ColombierFixes bugs: 66157dd7cddfSDavid du Colombier - There was an extraneous '#' before an extern declaration. 66167dd7cddfSDavid du Colombier(gsmain.c) 66177dd7cddfSDavid du Colombier - The interpreter could (incorrectly) attempt to expand the e-stack. 66187dd7cddfSDavid du Colombier(istack.h, interp.c, istack.c) 66197dd7cddfSDavid du Colombier - zfproc.c called memcpy but didn't include memory_.h. (zfproc.c) 66207dd7cddfSDavid du Colombier - A garbage collection occurring within a 'save' would often smash 66217dd7cddfSDavid du Colombiermemory. (igc.c) 66227dd7cddfSDavid du Colombier - If the last character returned by the procedure of a procedure-based 66237dd7cddfSDavid du Colombierfilter was \r, readline could get an endless loop. (zfileio.c) 66247dd7cddfSDavid du Colombier - Saving a change to a ref member of a structure confused the garbage 66257dd7cddfSDavid du Colombiercollector. (isave.h, isave.c, zdict.c) 66267dd7cddfSDavid du Colombier - The -Zu debugging printout could cause an access error under rare 66277dd7cddfSDavid du Colombiercircumstances. (isave.c) 66287dd7cddfSDavid du Colombier - Save objects could get allocated in global VM, causing dangling 66297dd7cddfSDavid du Colombierreferences. (zvmem.c) 66307dd7cddfSDavid du Colombier - The vmsave object created by the interpreter for a save didn't get 66317dd7cddfSDavid du Colombierfreed properly if the memory manager created an invisible save level, which 66327dd7cddfSDavid du Colombiercould cause the next garbage collection to crash. (zvmem.c) 66337dd7cddfSDavid du Colombier - 'run' always printed an error message, rather than letting the 66347dd7cddfSDavid du Colombiertop-level control loop do it. (gs.c, gs_init.ps) 66357dd7cddfSDavid du Colombier 66367dd7cddfSDavid du ColombierAdds support for duplex devices. (gxdevice.h, gsdparam.c, gs_statd.ps, 66377dd7cddfSDavid du Colombiergs_setpd.ps) 66387dd7cddfSDavid du Colombier 66397dd7cddfSDavid du ColombierAdds the beginnings of support for CID-keyed fonts. (gs_cidfn.ps) 66407dd7cddfSDavid du Colombier 66417dd7cddfSDavid du ColombierChanges the format of the stack dump printed for errors, to make it easier to 66427dd7cddfSDavid du Colombierread. (gs_init.ps) 66437dd7cddfSDavid du Colombier 66443ff48bf5SDavid du Colombier</pre><h3><a name="V3.24_Interpreter_PostScript"></a>Interpreter (PostScript)</h3><pre> 66457dd7cddfSDavid du Colombier 66467dd7cddfSDavid du ColombierFixes bugs: 66477dd7cddfSDavid du Colombier - The .local/global allocation operators always allocated in system 66487dd7cddfSDavid du ColombierVM. (zsysvm.c) 66497dd7cddfSDavid du Colombier - setpage[params] caused an error. (gs_lev2.ps) 66507dd7cddfSDavid du Colombier - If an error occurred during a cshow or (x|y|xy)show, the interpreter 66517dd7cddfSDavid du Colombierfreed the enumerator twice. (zchar.c, zchar2.c) 66527dd7cddfSDavid du Colombier 66537dd7cddfSDavid du ColombierChanges setpageparams so that orientation = 0 means portrait. This is not 66547dd7cddfSDavid du Colombiercompatible with AGFA's convention for roll-feed devices, but it is compatible 66557dd7cddfSDavid du Colombierwith the more common cut-sheet printers. (gs_statd.ps) 66567dd7cddfSDavid du Colombier 66577dd7cddfSDavid du ColombierAdds meaningful values for the Emulator resource. (gsmain.c, gs_res.ps) 66587dd7cddfSDavid du Colombier 66597dd7cddfSDavid du ColombierMakes -Z? validate the state of memory before and after save and restore. 66607dd7cddfSDavid du Colombier(ialloc.h, igc.h, ialloc.c, igc.c, ilocate.c, zvmem.c) 66617dd7cddfSDavid du Colombier 66623ff48bf5SDavid du Colombier</pre><h3><a name="V3.24_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 66637dd7cddfSDavid du Colombier 66647dd7cddfSDavid du ColombierFixes bugs: 66657dd7cddfSDavid du Colombier - The Unix install script didn't install the PDF files if they were 66667dd7cddfSDavid du Colombierpresent. (unix-end.mak) 66677dd7cddfSDavid du Colombier - PDF to PostScript conversion didn't work at all. (It still doesn't 66687dd7cddfSDavid du Colombierwork very well.) (pdf_2ps.ps, pdf_main.ps) 66697dd7cddfSDavid du Colombier - Images with an Indexed color space and no Decode entry caused an 66707dd7cddfSDavid du Colombiererror. (pdf_draw.ps) 66717dd7cddfSDavid du Colombier - The 'Page <n>' messages were printed even if QUIET was set. 66727dd7cddfSDavid du Colombier(pdf_main.ps) 66737dd7cddfSDavid du Colombier 66747dd7cddfSDavid du ColombierChanges the interpreter so that when it encounters an unknown operator, it 66757dd7cddfSDavid du Colombierprints an error message and continues, rather than signalling an error. 66767dd7cddfSDavid du Colombier(pdf_base.ps) 66777dd7cddfSDavid du Colombier 66787dd7cddfSDavid du ColombierMakes F a synonym for f if there is nothing on the operand stack, to 66797dd7cddfSDavid du Colombiercompensate for a bug in some Adobe software. (pdf_base.ps) 66807dd7cddfSDavid du Colombier 66817dd7cddfSDavid du ColombierChanges pdfgetpage so it uses 1-origin rather than 0-origin indexing. THIS IS 66827dd7cddfSDavid du ColombierA NON-BACKWARD-COMPATIBLE CHANGE. (pdf_main.ps) 66837dd7cddfSDavid du Colombier 66843ff48bf5SDavid du Colombier</pre><h3><a name="V3.24_Streams"></a>Streams</h3><pre> 66857dd7cddfSDavid du Colombier 66867dd7cddfSDavid du ColombierFixes bugs: 66877dd7cddfSDavid du Colombier - The Group 3 2-D and Group 4 encoders produced incorrect output if a 66887dd7cddfSDavid du Colombierscan line beginning with a black pixel was followed by a scan line beginning 66897dd7cddfSDavid du Colombierwith a white pixel. (scfe.c) 66907dd7cddfSDavid du Colombier - A SubFileDecode filter with a count of 1 and a non-empty EOD string 66917dd7cddfSDavid du Colombierwould smash memory. (sfilter1.c) 66927dd7cddfSDavid du Colombier 66937dd7cddfSDavid du ColombierUpdates the DCT filters so they will work with the latest version (5a) of the 66947dd7cddfSDavid du ColombierIJG library. (*.mak, jpeg.mak, sjpegerr.c) 66957dd7cddfSDavid du Colombier 66963ff48bf5SDavid du Colombier</pre><h3><a name="V3.24_Library"></a>Library</h3><pre> 66977dd7cddfSDavid du Colombier 66987dd7cddfSDavid du ColombierFixes bugs: 66997dd7cddfSDavid du Colombier - A call with integer parameters to a procedure with floating point 67007dd7cddfSDavid du Colombierarguments didn't work on non-ANSI compilers. (gsimage.c) 67017dd7cddfSDavid du Colombier - Arcs could get turned into polygons if the scaling values in the CTM 67027dd7cddfSDavid du Colombierwere very large and the radius was (in user space coordinates) very small. 67037dd7cddfSDavid du Colombier(gspath.c) 67047dd7cddfSDavid du Colombier - The current point was defined when a BuildChar procedure was called. 67057dd7cddfSDavid du Colombier(This bug was documented as fixed in version 2.2!) (gschar.c) 67067dd7cddfSDavid du Colombier 67077dd7cddfSDavid du ColombierAdds support for Orientation and Duplex page device parameters, for those 67087dd7cddfSDavid du Colombierdevices that support these. (gdevprn.h, gxdevice.h, gsdevice.c, gsdparam.c) 67097dd7cddfSDavid du Colombier 67103ff48bf5SDavid du Colombier</pre> 67117dd7cddfSDavid du Colombier 67123ff48bf5SDavid du Colombier<h2><a name="Version3.23"></a>Version 3.23 (beta) (1/5/95)</h2> 67133ff48bf5SDavid du Colombier 67143ff48bf5SDavid du Colombier<p> 67157dd7cddfSDavid du ColombierThis is almost entirely a bug fix release. It also includes a largely working 67167dd7cddfSDavid du ColombierPDF reader. This is intended as the beta test release for the next public 67177dd7cddfSDavid du Colombierrelease. 67187dd7cddfSDavid du Colombier 67193ff48bf5SDavid du Colombier<h3><a name="V3.23_Documentation"></a>Documentation</h3><pre> 67207dd7cddfSDavid du ColombierFixes bugs: 67217dd7cddfSDavid du Colombier - COPYLEFT, COPYING, NEWS, PUBLIC, README, and the standard Fontmap 67227dd7cddfSDavid du Colombierwere omitted from the 3.22 fileset. 67237dd7cddfSDavid du Colombier 67247dd7cddfSDavid du ColombierDocuments the use of the -oldc switch to work around a compiler crash on 67257dd7cddfSDavid du Colombierthe DECstation. 67267dd7cddfSDavid du Colombier 67277dd7cddfSDavid du ColombierExpands and clarifies the documentation for building the DesqView/X version 67287dd7cddfSDavid du Colombierwith djgcc. (make.doc) 67297dd7cddfSDavid du Colombier 67307dd7cddfSDavid du ColombierAdds documentation on the "600x300" H-P inkjet printers, explaining why 67317dd7cddfSDavid du Colombierthis alleged higher resolution is not available. (devices.doc) 67327dd7cddfSDavid du Colombier 67337dd7cddfSDavid du ColombierAdds to the PUBLIC license a warning that it is not a GNU License, and a 67347dd7cddfSDavid du Colombierrequirement to include a copy of or a pointer to the License in any written 67357dd7cddfSDavid du Colombiermaterial. (PUBLIC) 67367dd7cddfSDavid du Colombier 67377dd7cddfSDavid du ColombierDocuments the fact that Ghostscript *does* attempt to look up files in the 67387dd7cddfSDavid du Colombiercurrent directory first. (use.doc) 67397dd7cddfSDavid du Colombier 67403ff48bf5SDavid du Colombier</pre><h3><a name="V3.23_Procedures"></a>Procedures</h3><pre> 67417dd7cddfSDavid du Colombier 67427dd7cddfSDavid du ColombierFixes bugs: 67437dd7cddfSDavid du Colombier - In VMS.MAK, .JPEG should have been changed to .JPEG-5 in a few 67447dd7cddfSDavid du Colombierplaces. (vms.mak) 67457dd7cddfSDavid du Colombier 67467dd7cddfSDavid du ColombierAdds the pjxl300 driver to all configurations that include the other color 67477dd7cddfSDavid du ColombierDeskJet drivers. Replaces pjet and pjetxl with pj and pjxl. (*.mak) 67487dd7cddfSDavid du Colombier 67497dd7cddfSDavid du ColombierMakes 'run' recognize PDF files if the PDF reader is included. 67507dd7cddfSDavid du Colombier(pdf_main.ps) 67517dd7cddfSDavid du Colombier 67523ff48bf5SDavid du Colombier</pre><h3><a name="V3.23_Utilities"></a>Utilities</h3><pre> 67537dd7cddfSDavid du Colombier 67547dd7cddfSDavid du ColombierFixes bugs: 67557dd7cddfSDavid du Colombier - viewjpeg.ps needed the test for languagelevel = 2 at the 67567dd7cddfSDavid du Colombierbeginning of the file. (viewjpeg.ps) 67577dd7cddfSDavid du Colombier - prfont.ps used 'min', which isn't a standard PostScript operator. 67587dd7cddfSDavid du Colombier(prfont.ps) 67597dd7cddfSDavid du Colombier - prfont.ps created Encoding vectors that weren't 256 elements 67607dd7cddfSDavid du Colombierlong. (prfont.ps) 67617dd7cddfSDavid du Colombier 67627dd7cddfSDavid du ColombierAdds the gsdj500 script to the installation list. (unix-end.mak) 67637dd7cddfSDavid du Colombier 67647dd7cddfSDavid du ColombierChanges the Unix "line printer" shell scripts to add the date to the page 67657dd7cddfSDavid du Colombierheader. (gsbj, gsdj, gsdj500, gslj) 67667dd7cddfSDavid du Colombier 67677dd7cddfSDavid du ColombierChanges ansi2knr so that it will work properly on systems where the ctype 67687dd7cddfSDavid du Colombiermacros don't handle 8-bit characters correctly. (ansi2knr.c) 67697dd7cddfSDavid du Colombier 67703ff48bf5SDavid du Colombier</pre><h3><a name="V3.23_Drivers"></a>Drivers</h3><pre> 67717dd7cddfSDavid du Colombier 67727dd7cddfSDavid du ColombierFixes bugs: 67737dd7cddfSDavid du Colombier - Some compilers don't allow casts in initialization expressions. 67747dd7cddfSDavid du Colombier(gdevx.c, gdevxalt.c) 67757dd7cddfSDavid du Colombier - The cdj drivers didn't initialize the color_info structure 67767dd7cddfSDavid du Colombierproperly. (gdevcdj.c) 67777dd7cddfSDavid du Colombier 67787dd7cddfSDavid du ColombierAdds another alternate X Windows driver, x11mono, that is a black-and-white 67797dd7cddfSDavid du Colombierdevice. (devs.mak, gdevxalt.c) 67807dd7cddfSDavid du Colombier 67817dd7cddfSDavid du ColombierAdds a user-contributed driver for the Apple Imagewriter LQ. (devs.mak, 67827dd7cddfSDavid du Colombiergdevadmp.c) 67837dd7cddfSDavid du Colombier 67843ff48bf5SDavid du Colombier</pre><h3><a name="V3.23_Platforms"></a>Platforms</h3><pre> 67857dd7cddfSDavid du Colombier 67867dd7cddfSDavid du ColombierFixes bugs: 67877dd7cddfSDavid du Colombier - The VMS MODULES.LIS file had gotten out of sync with the makefile 67887dd7cddfSDavid du Colombier(again); GDEVABUF and GSBITOPS were missing. (modules.lis) 67897dd7cddfSDavid du Colombier - The VMS script file had gotten out of sync with the makefile 67907dd7cddfSDavid du Colombier(again). (vms.mak) 67917dd7cddfSDavid du Colombier - The MS Windows platform code didn't recognize Windows 95 (Windows 67927dd7cddfSDavid du Colombier4.0) as equivalent to Windows NT. (gp_mswin.c) 67937dd7cddfSDavid du Colombier - File name enumeration didn't work on OS/2 or win32. (gp_ntfs.c, 67947dd7cddfSDavid du Colombiergp_os2.c) 67957dd7cddfSDavid du Colombier - -sOutputFile= didn't work under MS Windows. (gp_mswin.c) 67967dd7cddfSDavid du Colombier 67977dd7cddfSDavid du ColombierChanges the SCO Unix direct frame buffer driver so it generates in-line 67987dd7cddfSDavid du Colombierinstructions to access the frame buffer, for a dramatic speed improvement. 67997dd7cddfSDavid du Colombier(gdevpcfb.h, gdevsco.c) 68007dd7cddfSDavid du Colombier 68013ff48bf5SDavid du Colombier</pre><h3><a name="V3.23_Fonts"></a>Fonts</h3><pre> 68027dd7cddfSDavid du Colombier 68037dd7cddfSDavid du ColombierFixes bugs: 68047dd7cddfSDavid du Colombier - If a font couldn't be found in the Fontmap, a recursion loop 68057dd7cddfSDavid du Colombiersometimes occurred. (gs_fonts.ps) 68067dd7cddfSDavid du Colombier - Aliases for global fonts weren't automatically created as global, 68077dd7cddfSDavid du Colombierpossibly leading to a recursion loop. (gs_dps1.ps, gs_fonts.ps) 68087dd7cddfSDavid du Colombier - If a font was loaded into global VM within an inner save, the restore 68097dd7cddfSDavid du Colombierdeleted it from FontDirectory but not from SharedFontDirectory, causing a 68107dd7cddfSDavid du Colombierpossible recursion loop. (gs_dps1.ps, gs_fonts.ps, idict.h, idict.c, zdict.c) 68117dd7cddfSDavid du Colombier 68127dd7cddfSDavid du ColombierFurther improves the algorithm for substituting for unknown fonts. 68137dd7cddfSDavid du Colombier(gs_fonts.ps) 68147dd7cddfSDavid du Colombier 68153ff48bf5SDavid du Colombier</pre><h3><a name="V3.23_Interpreter_PostScript"></a>Interpreter (PostScript)</h3><pre> 68167dd7cddfSDavid du Colombier 68177dd7cddfSDavid du ColombierFixes bugs: 68187dd7cddfSDavid du Colombier - zcontrol.c had an assignment of const char * to const byte *, 68197dd7cddfSDavid du Colombierwhich some compilers don't like. (zcontrol.c) 68207dd7cddfSDavid du Colombier - Setting an Indexed color space based on a CIE space caused an 68217dd7cddfSDavid du Colombierattempt to free a random block of memory. (zcsindex.c) 68227dd7cddfSDavid du Colombier - Some compilers don't like mixing conditionals and casts in 68237dd7cddfSDavid du Colombierinitialization expressions. (iref.h) 68247dd7cddfSDavid du Colombier - Some calculations of table sizes for string garbage collection 68257dd7cddfSDavid du Colombierdidn't work if sizeof(long) != 4, leading to smashed strings. (iastate.h, 68267dd7cddfSDavid du Colombierialloc.c, igcstr.c) 68277dd7cddfSDavid du Colombier - Strings longer than about 7000 bytes smashed their chunk header 68287dd7cddfSDavid du Colombierand confused the garbage collector. (ialloc.c) 68297dd7cddfSDavid du Colombier - Some compilers needed iccfont.c to include strimpl.h. 68307dd7cddfSDavid du Colombier(iccfont.c) 68317dd7cddfSDavid du Colombier - The obsolete file zcspace2.c was still included in the fileset. 68327dd7cddfSDavid du Colombier - If the command line included any @-files that required searching 68337dd7cddfSDavid du Colombierthe library path, a limitcheck would occur. (zfile.c) 68347dd7cddfSDavid du Colombier - The insideness testing operators caused a memory access error, 68357dd7cddfSDavid du Colombierbecause the procedure vector hadn't been updated to provide a default 68367dd7cddfSDavid du Colombierget_alpha_bits procedure. (zupath.c) 68377dd7cddfSDavid du Colombier - gcheck didn't check for stack underflow. (zvmem2.c) 68387dd7cddfSDavid du Colombier - cleardictstack could fail to clear the dictionary stack if the 68397dd7cddfSDavid du Colombierstack had overflowed into additional blocks. (zdict.c) 68407dd7cddfSDavid du Colombier - If the '-' switch was selected, resources weren't released 68417dd7cddfSDavid du Colombierproperly on exit. (gs.c) 68427dd7cddfSDavid du Colombier - Setting a Pattern color space based on a CIE space caused an 68437dd7cddfSDavid du Colombierinvalid memory access. (zcsindex.c) 68447dd7cddfSDavid du Colombier - The garbage collector didn't treat refs properly on machines with 68457dd7cddfSDavid du Colombiershort ints. (igcref.c) 68467dd7cddfSDavid du Colombier - Operators with more than 16 arguments could break the 68477dd7cddfSDavid du Colombierinterpreter. (interp.h, iinit.c, interp.c) 68487dd7cddfSDavid du Colombier - save/restore didn't restore the setting of the current allocator 68497dd7cddfSDavid du ColombierVM (local/global). (isstate.h, isave.c) 68507dd7cddfSDavid du Colombier - stdpre.h declared exit as an extern, instead of letting gsmain.c 68517dd7cddfSDavid du Colombierdeclare it. (stdpre.h, gsmain.c) 68527dd7cddfSDavid du Colombier - gs.c used fputs to print help messages rather than fprintf. 68537dd7cddfSDavid du Colombier(gs.c) 68547dd7cddfSDavid du Colombier - Interrupts failed to re-execute the operation that was 68557dd7cddfSDavid du Colombierinterrupted. (interp.c) 68567dd7cddfSDavid du Colombier - Low-resolution CMYK devices didn't use separate screens for each 68577dd7cddfSDavid du Colombiercolor plane as the default. (gs_init.ps) 68587dd7cddfSDavid du Colombier - filterdict wasn't getting undef'ed at the end of initialization. 68597dd7cddfSDavid du Colombier(gs_init.ps) 68607dd7cddfSDavid du Colombier - gstate operations were broken (bug introduced in 3.02). 68617dd7cddfSDavid du Colombier(zdevice2.c) 68627dd7cddfSDavid du Colombier - resourceforall didn't remove the resource dictionary from the 68637dd7cddfSDavid du Colombierdictionary stack when calling the client-supplied procedure. (gs_res.ps) 68647dd7cddfSDavid du Colombier - currentcolor with an Indexed color space returned a real rather 68657dd7cddfSDavid du Colombierthan an integer. (zcolor2.c) 68667dd7cddfSDavid du Colombier - setshared / setglobal left the stack in an unobvious state if 68677dd7cddfSDavid du Colombierthey were given a non-Boolean argument. (gs_dps1.ps) 68687dd7cddfSDavid du Colombier - sethalftone followed by currenthalftone returned an invalid value. 68697dd7cddfSDavid du Colombier(zht2.c) 68707dd7cddfSDavid du Colombier - Empty strings produced spurious garbage collector error messages. 68717dd7cddfSDavid du Colombier(gsstruct.h, scommon.h, igc.c, igcstr.c, iname.c) 68727dd7cddfSDavid du Colombier - The garbage collector didn't trace Separation color spaces properly. 68737dd7cddfSDavid du Colombier(gscsepr.c) 68747dd7cddfSDavid du Colombier 68757dd7cddfSDavid du ColombierChanges defineresource so that it does not, by default, make instances 68767dd7cddfSDavid du Colombierread-only. (gs_res.ps) 68777dd7cddfSDavid du Colombier 68787dd7cddfSDavid du ColombierAdds .{local,global}{array,dict,packedarray,string} operators for creating 68797dd7cddfSDavid du Colombierobjects in a specific VM space. (zsysvm.c, gs_dps1.ps) 68807dd7cddfSDavid du Colombier 68817dd7cddfSDavid du ColombierAdds definitions of setpage and setpageparams to statusdict. (gs_setpd.ps, 68827dd7cddfSDavid du Colombiergs_statd.ps) 68837dd7cddfSDavid du Colombier 68847dd7cddfSDavid du ColombierAlleviates some performance problems in the garbage collector. (igc.c) 68857dd7cddfSDavid du Colombier 68863ff48bf5SDavid du Colombier</pre><h3><a name="V3.23_Interpreter_PDF"></a>Interpreter (PDF)</h3><pre> 68877dd7cddfSDavid du Colombier 68887dd7cddfSDavid du ColombierFixes bugs: 68897dd7cddfSDavid du Colombier - PDF files that used filters with parameters caused a typecheck 68907dd7cddfSDavid du Colombiererror because the arguments to 'filter' were reversed. (pdf_base.ps) 68917dd7cddfSDavid du Colombier - The (undocumented) PDF 1.1 ability to specify link and annotation 68927dd7cddfSDavid du Colombierdestinations indirectly was not supported. (pdf_main.ps) 68937dd7cddfSDavid du Colombier - The (undocumented) PDF ability to specify a null page in a link 68947dd7cddfSDavid du Colombierdestination was not supported. (pdf_main.ps) 68957dd7cddfSDavid du Colombier - The PDF encodings weren't loaded properly in a system with both 68967dd7cddfSDavid du ColombierPS Level 2 and PDF features. (gs_res.ps, gs_init.ps) 68977dd7cddfSDavid du Colombier - If the next line after a stream keyword was blank, the line 68987dd7cddfSDavid du Colombierwasn't skipped, which matters for binary data. (pdf_base.ps) 68997dd7cddfSDavid du Colombier - A Q operator with no matching q operator caused an error. 69007dd7cddfSDavid du Colombier(pdf_draw.ps) 69017dd7cddfSDavid du Colombier - The text position wasn't preserved across a fill or stroke 69027dd7cddfSDavid du Colombieroperator. (gs_pdf.ps, pdf_draw.ps) 69037dd7cddfSDavid du Colombier - Embedded Type 3 fonts didn't work. (pdf_base.ps, pdf_draw.ps, 69047dd7cddfSDavid du Colombierpdf_main.ps) 69057dd7cddfSDavid du Colombier - Masked images with no Decode value had their polarity inverted. 69067dd7cddfSDavid du Colombier(pdf_draw.ps) 69077dd7cddfSDavid du Colombier - Embedded Type 1 fonts referenced from within a stream didn't 69087dd7cddfSDavid du Colombierwork. (pdf_font.ps) 69097dd7cddfSDavid du Colombier 69107dd7cddfSDavid du ColombierChanges the PDF code so that it automatically recognizes PDF files as such. 69117dd7cddfSDavid du Colombier(pdf_main.ps) 69127dd7cddfSDavid du Colombier 69137dd7cddfSDavid du ColombierSplits out the PixelDifference filters as a separate "feature". (gs.mak) 69147dd7cddfSDavid du Colombier 69153ff48bf5SDavid du Colombier</pre><h3><a name="V3.23_Streams"></a>Streams</h3><pre> 69167dd7cddfSDavid du Colombier 69177dd7cddfSDavid du ColombierFixes bugs: 69187dd7cddfSDavid du Colombier - Closing the primary input stream caused an invalid memory access. 69197dd7cddfSDavid du Colombier(stream.c) 69207dd7cddfSDavid du Colombier - Increasing the size of a buffer within a save resulted in a 69217dd7cddfSDavid du Colombierdangling reference after the restore. (files.h, sfilter.h, zfile.c, 69227dd7cddfSDavid du Colombierzfilter.c) 69237dd7cddfSDavid du Colombier - The garbage collector didn't properly trace streams that referenced 69247dd7cddfSDavid du Colombierstrings directly. (stream.h, stream.c, ziodev.c) 69257dd7cddfSDavid du Colombier 69263ff48bf5SDavid du Colombier</pre><h3><a name="V3.23_Library"></a>Library</h3><pre> 69277dd7cddfSDavid du Colombier 69287dd7cddfSDavid du ColombierFixes bugs: 69297dd7cddfSDavid du Colombier - An extraneous \ upset some compilers. (gdevabuf.c) 69307dd7cddfSDavid du Colombier - Uncolored Patterns that completely filled their bounding box 69317dd7cddfSDavid du Colombiercaused an invalid memory access. (gspcolor.c) 69327dd7cddfSDavid du Colombier - If a color image required clipping, black or white pixels might 69337dd7cddfSDavid du Colombierbe rendered with incorrect (random) colors. (gxcpath.c) 69347dd7cddfSDavid du Colombier - Reference counts for color spaces were sometimes set too high, so 69357dd7cddfSDavid du Colombierthey would only be freed by restore or garbage collection. (gscolor.c) 69367dd7cddfSDavid du Colombier - The character cache could get confused if the Encoding for the 69377dd7cddfSDavid du Colombiercharacter wasn't a name. (gschar.c) 69387dd7cddfSDavid du Colombier - Character outlines were always rendered with flatness = 0, 69397dd7cddfSDavid du Colombiercausing very bad performance for large characters. (gzstate.h, gschar.c, 69407dd7cddfSDavid du Colombiergsimage.c, gxfill.c, gxstroke.c) 69417dd7cddfSDavid du Colombier - If a device (presumably uninitialized) had a 69427dd7cddfSDavid du Colombiercolor_info.num_components of zero, an invalid memory access could occur. 69437dd7cddfSDavid du Colombier(gsdparam.c) 69447dd7cddfSDavid du Colombier - Intersecting clipping paths that are not both rectangular didn't 69457dd7cddfSDavid du Colombierproperly set the outer box of new clipping path, leading to unnecessary 69467dd7cddfSDavid du Colombiercomputation. (gxcpath.h, gxacpath.c, gxcpath.c) 69477dd7cddfSDavid du Colombier - A call passed false instead of NULL. (gschar.c) 69487dd7cddfSDavid du Colombier - On machines where sizeof returns a long, genarch.c failed. 69497dd7cddfSDavid du Colombier(genarch.c) 69507dd7cddfSDavid du Colombier - xfonts were consulted, incorrectly, even for stroked characters. 69517dd7cddfSDavid du Colombier(gxccman.c) 69527dd7cddfSDavid du Colombier - gstate/currentgstate/setgstate didn't work properly. (gsline.c, 69537dd7cddfSDavid du Colombiergsstate.c) 69547dd7cddfSDavid du Colombier - On CMYK devices needing halftoning, colors with C = M = Y were 69557dd7cddfSDavid du Colombieralways converted to gray shades. (gxcmap.c) 69567dd7cddfSDavid du Colombier - Isolated horizontal lines, or the horizontal edges of rectangles, 69577dd7cddfSDavid du Colombiercould get drawn with one or both end pixels missing. (gxfill.c) 69587dd7cddfSDavid du Colombier 69597dd7cddfSDavid du ColombierChanges the character cache back so it oversamples characters at small 69607dd7cddfSDavid du Colombiersizes. (gschar.c) 69617dd7cddfSDavid du Colombier 69627dd7cddfSDavid du ColombierChanges all occurrences of (void)x to discard(x), and defines discard in 69637dd7cddfSDavid du Colombierstdpre.h as a cast to void, to make it possible to pacify compilers that 69647dd7cddfSDavid du Colombierdon't accept this construct for some kinds of x. (gpcheck.h, stdpre.h, 69657dd7cddfSDavid du Colombierstore.h, gdevmswn.c, gp_mswin.c, gscoord.c, gxclread.c, igc.c, sfile.c, 69667dd7cddfSDavid du Colombiersfileno.c, zcie.c, zht2.c, ziodev.c, zmisc1.c) 69677dd7cddfSDavid du Colombier 69687dd7cddfSDavid du ColombierIncreases the size of the halftone cache on large-memory machines from 35K 69697dd7cddfSDavid du Colombierto 100K. This substantially improves halftoning performance at higher 69707dd7cddfSDavid du Colombierresolutions. (gxht.c) 69717dd7cddfSDavid du Colombier 69723ff48bf5SDavid du Colombier</pre> 69737dd7cddfSDavid du Colombier 69743ff48bf5SDavid du Colombier<h2><a name="Version3.22"></a>Version 3.22 (beta) (11/30/94)</h2> 69753ff48bf5SDavid du Colombier 69763ff48bf5SDavid du Colombier<p> 69777dd7cddfSDavid du ColombierThis is primarily a bug fix release. It also includes limited anti-aliased 69787dd7cddfSDavid du Colombiergraphics capability. This release was not distributed to the public. 69797dd7cddfSDavid du Colombier 69803ff48bf5SDavid du Colombier<h3><a name="V3.22_Procedures"></a>Procedures</h3><pre> 69817dd7cddfSDavid du Colombier 69827dd7cddfSDavid du ColombierFixes bugs: 69837dd7cddfSDavid du Colombier - The definition of ghost_h was misplaced, so changes in it or its 69847dd7cddfSDavid du Colombierantecedents didn't force recompilation of its dependents. (gs.mak) 69857dd7cddfSDavid du Colombier 69867dd7cddfSDavid du ColombierActually implements the -Z+ switch, for forcing small stack blocks. 69877dd7cddfSDavid du Colombier(interp.c) 69887dd7cddfSDavid du Colombier 69897dd7cddfSDavid du ColombierMakes the -dSAFER switch disable the %pipe syntax for file names, even for 69907dd7cddfSDavid du Colombierreading. (gs_init.ps) 69917dd7cddfSDavid du Colombier 69923ff48bf5SDavid du Colombier</pre><h3><a name="V3.22_Drivers"></a>Drivers</h3><pre> 69937dd7cddfSDavid du Colombier 69947dd7cddfSDavid du ColombierFixes bugs: 69957dd7cddfSDavid du Colombier - The dfax drivers incorrectly set EncodedByteAlign to false. 69967dd7cddfSDavid du Colombier(gdevdfax.c) 69977dd7cddfSDavid du Colombier - softwareValue and dateTimeValue were declared as byte rather than 69987dd7cddfSDavid du Colombierchar. (gdevtfax.c) 69997dd7cddfSDavid du Colombier 70003ff48bf5SDavid du Colombier</pre><h3><a name="V3.22_Platforms"></a>Platforms</h3><pre> 70017dd7cddfSDavid du Colombier 70027dd7cddfSDavid du ColombierFixes bugs: 70037dd7cddfSDavid du Colombier - The VMS DEC C compilers declare delete in unixio.h, and doesn't 70047dd7cddfSDavid du Colombierdeclare unlink anywhere. (stdio_.h) 70057dd7cddfSDavid du Colombier - The VMS compilers declare malloc and free in stdlib.h, which 70067dd7cddfSDavid du Colombierwasn't being included in malloc_.h. (malloc_.h) 70077dd7cddfSDavid du Colombier - The SCO Unix C compiler needs both <sys/time.h> and <time.h>. 70087dd7cddfSDavid du Colombier(time_.h) 70097dd7cddfSDavid du Colombier - The VMS compilers declare abs in stdlib.h, which wasn't being 70107dd7cddfSDavid du Colombierincluded anywhere. (gshtscr.c) 70117dd7cddfSDavid du Colombier - The definition for A4 paper in VMS-AXP.MAK was incorrect. 70127dd7cddfSDavid du Colombier(vms-axp.mak) 70137dd7cddfSDavid du Colombier 70147dd7cddfSDavid du ColombierRenames VMS-AXP.MAK as VMS-DECC.MAK, with some changes that make it 70157dd7cddfSDavid du Colombierappropriate for DEC C on both VAX and AXP platforms. (vms-axp.mak => 70167dd7cddfSDavid du Colombiervms.decc.mak) 70177dd7cddfSDavid du Colombier 70183ff48bf5SDavid du Colombier</pre><h3><a name="V3.22_Fonts"></a>Fonts</h3><pre> 70197dd7cddfSDavid du Colombier 70207dd7cddfSDavid du ColombierFixes bugs: 70217dd7cddfSDavid du Colombier - gs_kanji.ps got an invalidaccess error. (gs_kanji.ps) 70227dd7cddfSDavid du Colombier 70233ff48bf5SDavid du Colombier</pre><h3><a name="V3.22_Interpreter"></a>Interpreter</h3><pre> 70247dd7cddfSDavid du Colombier 70257dd7cddfSDavid du ColombierFixes bugs: 70267dd7cddfSDavid du Colombier - An off-by-1 test in the roll operator caused it to smash the 70277dd7cddfSDavid du Colombierstack if the operand stack had overflowed into additional blocks. 70287dd7cddfSDavid du Colombier(zstack.c) 70297dd7cddfSDavid du Colombier - The default CIE color rendering dictionary didn't assume a 70307dd7cddfSDavid du Colombierreasonable intermediate (XYZ) space. (gs_lev2.ps) 70317dd7cddfSDavid du Colombier - CIE color mapping tables weren't traced properly by the garbage 70327dd7cddfSDavid du Colombiercollector. (gscie.h, gscie.c, zcie.c) 70337dd7cddfSDavid du Colombier - If the very last character of a file was a ^M, the scanner 70347dd7cddfSDavid du Colombier(incorrectly) signaled a syntaxerror. (iscan.c) 70357dd7cddfSDavid du Colombier - If an operator could return both a typecheck and a 70367dd7cddfSDavid du Colombierstackunderflow, it always returned a stackunderflow, which doesn't match 70377dd7cddfSDavid du Colombierthe behavior of Adobe interpreters. (opcheck.h, idparam.c, interp.c, 70387dd7cddfSDavid du Colombieriutil.c, z*.c) 70397dd7cddfSDavid du Colombier - astore, dictstack, and execstack could return a spurious 70407dd7cddfSDavid du Colombierinvalidaccess error (or fail to detect an invalid access) if the operand 70417dd7cddfSDavid du Colombierstack had overflowed into additional blocks. (istack.c) 70427dd7cddfSDavid du Colombier - The garbage collector didn't relocate pointers to names! (Bug 70437dd7cddfSDavid du Colombierintroduced in 3.20.) (iname.h) 70447dd7cddfSDavid du Colombier - If the dictionary stack overflowed into additional blocks, the 70457dd7cddfSDavid du Colombiercached value pointer for a name could get set incorrectly, and also not get 70467dd7cddfSDavid du Colombierrelocated by the garbage collector. (idict.c) 70477dd7cddfSDavid du Colombier - If the dictionary stack overflowed into additional blocks, the 70487dd7cddfSDavid du Colombierpost-GC fixup of cached value pointers in names could cause an addressing 70497dd7cddfSDavid du Colombiererror. (igc.c) 70507dd7cddfSDavid du Colombier - With the -Z? switch set, the garbage collector could incorrectly 70517dd7cddfSDavid du Colombierreport that objects or strings weren't in any chunk. (igc.c) 70527dd7cddfSDavid du Colombier - << /a 1 /a 2 >> /a get gave the value 2 rather than 1. 70537dd7cddfSDavid du Colombier(gs_init.ps) 70547dd7cddfSDavid du Colombier - Numbers in binary object sequences and encoded number arrays 70557dd7cddfSDavid du Colombierdidn't work properly on machines where sizeof(short) != 2 or sizeof(long) 70567dd7cddfSDavid du Colombier!= 4. (ibnum.c) 70577dd7cddfSDavid du Colombier - The put operator for dictionaries allowed null as a key. 70587dd7cddfSDavid du Colombier(idict.h, idict.c) 70597dd7cddfSDavid du Colombier - >> didn't give an error if there were an odd number of values on 70607dd7cddfSDavid du Colombierthe stack above the next mark. (gs_init.ps) 70617dd7cddfSDavid du Colombier - Operations that explicitly freed ref objects (setting a CIE 70627dd7cddfSDavid du Colombiercolorspace, resizing a dictionary, popping a block off a stack) could 70637dd7cddfSDavid du Colombiercorrupt storage. (ialloc.c) 70647dd7cddfSDavid du Colombier - The -Z@ switch, which fills freed blocks with a recognizable bit 70657dd7cddfSDavid du Colombierpattern, could incorrectly overwrite freed blocks in previous save levels, 70667dd7cddfSDavid du Colombiercausing invalid memory accesses. (ialloc.c) 70677dd7cddfSDavid du Colombier - Since streams freed by a restore weren't marked as free, they 70687dd7cddfSDavid du Colombiercould confuse the garbage collector and lead to invalid memory accesses. 70697dd7cddfSDavid du Colombier(zfile.c) 70707dd7cddfSDavid du Colombier - If one of the built-in dictionaries overflowed during 70717dd7cddfSDavid du Colombierinitialization, no error was reported -- entries were simply discarded. 70727dd7cddfSDavid du Colombier(iinit.c) 70737dd7cddfSDavid du Colombier - If the level2.dev feature was combined with certain other 70747dd7cddfSDavid du Colombierfeatures, the current languagelevel was 2 when some gs_*.ps files were 70757dd7cddfSDavid du Colombierloaded, causing them to load incorrectly. (gs_btokn.ps, gs_setpd.ps) 70767dd7cddfSDavid du Colombier - If readline read a line that ended with only a CR (no LF) 70777dd7cddfSDavid du Colombierfollowed by an end-of-file, it incorrectly closed the stream. (zfileio.c) 70787dd7cddfSDavid du Colombier 70797dd7cddfSDavid du ColombierAdds a .cond operator, similar to the Lisp multi-arm conditional. 70807dd7cddfSDavid du Colombier(zcontrol.c) 70817dd7cddfSDavid du Colombier 70827dd7cddfSDavid du ColombierAdds a .makeglobaloperator operator, allowing the definition of operator 70837dd7cddfSDavid du Colombierprocedures in local VM that turn into global operators, provided the save 70847dd7cddfSDavid du Colombierlevel is zero. (iref.h, opdef.h, iinit.c, interp.c, zmisc.c) 70857dd7cddfSDavid du Colombier 70867dd7cddfSDavid du ColombierNote: the fix for returning typecheck vs. stackunderflow requires that all 70877dd7cddfSDavid du Colombieroperators (or other code) that uses return_error(e_typecheck) to indicate 70887dd7cddfSDavid du Colombieran incorrect object type on the operand stack must change this to 70897dd7cddfSDavid du Colombierreturn_op_typecheck(op), where op points to the operand. THIS IS A 70907dd7cddfSDavid du ColombierNON-BACKWARD-COMPATIBLE CHANGE. 70917dd7cddfSDavid du Colombier 70927dd7cddfSDavid du ColombierImplements string array and name array parameters for parameter lists. 70937dd7cddfSDavid du Colombier(gsparam.h, iparam.c) 70947dd7cddfSDavid du Colombier 70957dd7cddfSDavid du ColombierBrings filterdict inside the INITIAL_DICTIONARIES conditional. (iinit.c) 70967dd7cddfSDavid du Colombier 70977dd7cddfSDavid du ColombierAdds a .currentscreenlevels operator that returns the number of 70987dd7cddfSDavid du Colombierdistinguishable halftone levels. (zht.c) 70997dd7cddfSDavid du Colombier 71003ff48bf5SDavid du Colombier</pre><h3><a name="V3.22_Streams"></a>Streams</h3><pre> 71017dd7cddfSDavid du Colombier 71027dd7cddfSDavid du ColombierFixes bugs: 71037dd7cddfSDavid du Colombier - The 2-D case of CCITTFaxDecode could get confused by an input 71047dd7cddfSDavid du Colombierdata buffer boundary that fell immediately after a horizontal code. 71057dd7cddfSDavid du Colombier(scfd.c) 71067dd7cddfSDavid du Colombier - The LZW decoder didn't detect invalid data unless DEBUG was 71077dd7cddfSDavid du Colombierselected at build time. (slzwd.c) 71087dd7cddfSDavid du Colombier 71093ff48bf5SDavid du Colombier</pre><h3><a name="V3.22_Library"></a>Library</h3><pre> 71107dd7cddfSDavid du Colombier 71117dd7cddfSDavid du ColombierFixes bugs: 71127dd7cddfSDavid du Colombier - The clipping region accumulator could refer to a clipping 71137dd7cddfSDavid du Colombierrectangle even after it had been freed. (No effect on execution unless the 71147dd7cddfSDavid du Colombier-Z@ switch was selected.) (gxacpath.c) 71157dd7cddfSDavid du Colombier - setbbox expanded the bounding box, but didn't place a limit on 71167dd7cddfSDavid du Colombierfurther path elements, if the current path wasn't empty. (gsdps1.c) 71177dd7cddfSDavid du Colombier - setbbox didn't make sufficient allowance for rounding. 71187dd7cddfSDavid du Colombier(gsdps1.c) 71197dd7cddfSDavid du Colombier 71207dd7cddfSDavid du ColombierImplements the ProcessColorModel parameter (read-only) for all devices. 71217dd7cddfSDavid du Colombier(gsdparam.c) 71227dd7cddfSDavid du Colombier 71237dd7cddfSDavid du ColombierAdds a gs_currentscreenlevels procedure that returns the number of 71247dd7cddfSDavid du Colombierdistinguishable halftone levels. (gsht.c) 71257dd7cddfSDavid du Colombier 71263ff48bf5SDavid du Colombier</pre> 71277dd7cddfSDavid du Colombier 71283ff48bf5SDavid du Colombier<h2><a name="Version3.21"></a>Version 3.21 (beta) (11/17/94)</h2> 71293ff48bf5SDavid du Colombier 71303ff48bf5SDavid du Colombier<p> 71317dd7cddfSDavid du ColombierThis is primarily a bug fix release. It also includes a substantial 71327dd7cddfSDavid du Colombierimprovement in the Type 1 font hinting algorithms. This release was not 71337dd7cddfSDavid du Colombierdistributed to the public. 71347dd7cddfSDavid du Colombier 71353ff48bf5SDavid du Colombier<h3><a name="V3.21_Documentation"></a>Documentation</h3><pre> 71367dd7cddfSDavid du ColombierFixes bugs: 71377dd7cddfSDavid du Colombier - The `man' page referred to gnu.ghostscript.bug rather than 71387dd7cddfSDavid du Colombiercomp.lang.postscript. (gs.1) 71397dd7cddfSDavid du Colombier 71407dd7cddfSDavid du ColombierDocuments the special entries in operator definition tables that allow 71417dd7cddfSDavid du Colombierswitching dictionaries. (opdef.h) 71427dd7cddfSDavid du Colombier 71433ff48bf5SDavid du Colombier</pre><h3><a name="V3.21_Procedures"></a>Procedures</h3><pre> 71447dd7cddfSDavid du Colombier 71457dd7cddfSDavid du ColombierMoves the definition of JSRCDIR to the individual platform makefiles, to 71467dd7cddfSDavid du Colombiermake it easier to change on platforms that don't have file links. (*.mak) 71477dd7cddfSDavid du Colombier 71483ff48bf5SDavid du Colombier</pre><h3><a name="V3.21_Utilities"></a>Utilities</h3><pre> 71497dd7cddfSDavid du Colombier 71507dd7cddfSDavid du ColombierFixes bugs: 71517dd7cddfSDavid du Colombier - ansi2knr didn't recognize that a line ending with } couldn't be a 71527dd7cddfSDavid du Colombierfunction definition. (ansi2knr.c) 71537dd7cddfSDavid du Colombier - ps2epsi always returned an empty bounding box. (ps2epsi, 71547dd7cddfSDavid du Colombierps2epsi.bat) 71557dd7cddfSDavid du Colombier 71563ff48bf5SDavid du Colombier</pre><h3><a name="V3.21_Drivers"></a>Drivers</h3><pre> 71577dd7cddfSDavid du Colombier 71587dd7cddfSDavid du ColombierFixes bugs: 71597dd7cddfSDavid du Colombier - The bitrgb device had an invalid depth of 3. (gdevbit.c) 71607dd7cddfSDavid du Colombier 71617dd7cddfSDavid du ColombierReplaces the color mapping code in the X driver with a much faster 71627dd7cddfSDavid du Colombieralgorithm, courtesy of Tim Theisen. (gdevx.h, gdevx.c, gdevxini.c) 71637dd7cddfSDavid du Colombier 71643ff48bf5SDavid du Colombier</pre><h3><a name="V3.21_Platforms"></a>Platforms</h3><pre> 71657dd7cddfSDavid du Colombier 71667dd7cddfSDavid du ColombierFixes bugs: 71677dd7cddfSDavid du Colombier - Two variable names were misspelled. (gdevpm.c, gp_mswin.c) 71687dd7cddfSDavid du Colombier - It wasn't possible to compile a non-DLL configuration under OS/2. 71697dd7cddfSDavid du Colombier(os2.mak) 71707dd7cddfSDavid du Colombier - Compilation under Microsoft C/C++ 8.0 gave errors. (gp_mswin.h, 71717dd7cddfSDavid du Colombiergp_mswin.c, gshtscr.c) 71727dd7cddfSDavid du Colombier 71737dd7cddfSDavid du ColombierAdds some more devices to the OS/2 makefile. (os2.mak) 71747dd7cddfSDavid du Colombier 71753ff48bf5SDavid du Colombier</pre><h3><a name="V3.21_Fonts"></a>Fonts</h3><pre> 71767dd7cddfSDavid du Colombier 71777dd7cddfSDavid du ColombierFixes bugs: 71787dd7cddfSDavid du Colombier - wrfont.ps, and hence bdftops, didn't write out the FontType or 71797dd7cddfSDavid du ColombierPaintType. (Bug introduced since 2.6.1) (wrfont.ps) 71807dd7cddfSDavid du Colombier - wrfont.ps omitted a 'begin' and 'end', causing -! or -| to be 71817dd7cddfSDavid du Colombierundefined when the font was loaded. (Bug introduced since 2.6.1) 71827dd7cddfSDavid du Colombier(wrfont.ps) 71837dd7cddfSDavid du Colombier 71843ff48bf5SDavid du Colombier</pre><h3><a name="V3.21_Interpreter"></a>Interpreter</h3><pre> 71857dd7cddfSDavid du Colombier 71867dd7cddfSDavid du ColombierFixes bugs: 71877dd7cddfSDavid du Colombier - make_tasv_old called make_tasv_new with extra arguments. 71887dd7cddfSDavid du Colombier(store.h) 71897dd7cddfSDavid du Colombier - currentcacheparams only returned 2 values instead of 3. 71907dd7cddfSDavid du Colombier(zfont.c) 71917dd7cddfSDavid du Colombier - ustroke popped one element too many off the stack if a matrix was 71927dd7cddfSDavid du Colombiersupplied. (zupath.c) 71937dd7cddfSDavid du Colombier - inu[eo]fill popped one element too many off the stack. 71947dd7cddfSDavid du Colombier(zupath.c) 71957dd7cddfSDavid du Colombier - The color rendering dictionary was initialized to null rather 71967dd7cddfSDavid du Colombierthan a valid dictionary. (gs_lev2.ps) 71977dd7cddfSDavid du Colombier - An invalid IODevice resource named "9" got created. (gs_res.ps) 71987dd7cddfSDavid du Colombier - bytesavailable often caused an error rather than returning -1. 71997dd7cddfSDavid du Colombier(zfileio.c, stream.c) 72007dd7cddfSDavid du Colombier - The insideness testing operators always returned true if the 72017dd7cddfSDavid du Colombieraperture was defined by a user path rather than a point. (zupath.c) 72027dd7cddfSDavid du Colombier - If INITIAL_DICTIONARIES was defined in the makefile, the 72037dd7cddfSDavid du Colombierdefinition of the initial_dictionaries array was missing a comma. 72047dd7cddfSDavid du Colombier(iinit.c) 72057dd7cddfSDavid du Colombier - Even if userdict appeared in INITIAL_DICTIONARIES, gs_init.ps set 72067dd7cddfSDavid du Colombierits maxlength to 200. (gs_init.ps) 72077dd7cddfSDavid du Colombier - Setting a CIE color space left a garbage value on the stack. 72087dd7cddfSDavid du Colombier(zcie.c) 72097dd7cddfSDavid du Colombier - If a file or filter was opened and then closed, opening a file 72107dd7cddfSDavid du Colombiersubsequently within a 'save' could lead to a memory access error in the 72117dd7cddfSDavid du Colombiergarbage collector. (zfile.c) 72127dd7cddfSDavid du Colombier - Setting an Indexed or Separation color space could cause a crash 72137dd7cddfSDavid du Colombiereither in the garbage collector or when printing out the e-stack. 72147dd7cddfSDavid du Colombier(icsmap.h, zcsindex.c, zcssepr.c) 72157dd7cddfSDavid du Colombier - Invoking a filter with an invalid data source or sink could cause 72167dd7cddfSDavid du Colombiera memory access error (bug introduced in 3.20). (zfilter.c) 72177dd7cddfSDavid du Colombier - Invoking stringwidth on a font whose BuildChar procedure did a 72187dd7cddfSDavid du Colombiersave could cause a memory manager error or infinite loop, because 72197dd7cddfSDavid du Colombierstringwidth attempted to use an inapplicable shortcut. (gschar.c) 72207dd7cddfSDavid du Colombier - The bounding box for rendering stroked Type 1 characters didn't 72217dd7cddfSDavid du Colombiertake square caps and miter joins into account. (gs_type1.ps) 72227dd7cddfSDavid du Colombier - Invoking filter with DCTDecode or DCTEncode could cause an 72237dd7cddfSDavid du Colombieraddressing error if no dictionary argument was supplied. (zfdctd.c, 72247dd7cddfSDavid du Colombierzfdcte.c) 72257dd7cddfSDavid du Colombier - The Generic resource, the Font resource, and half a dozen 72267dd7cddfSDavid du Colombierresources with no predefined instances all shared the same Instances 72277dd7cddfSDavid du Colombierdictionary. (gs_res.ps) 72287dd7cddfSDavid du Colombier - The temporary null device allocated for stringwidth was never 72297dd7cddfSDavid du Colombierfreed. (gschar.h, gschar.c, zchar.c) 72307dd7cddfSDavid du Colombier - Internal operators, and structures that might be freed on stack 72317dd7cddfSDavid du Colombierunwinding, could "escape" from the e-stack. (zcontrol.c, ztype.c) 72327dd7cddfSDavid du Colombier - makefont and scalefont didn't properly handle a font whose 72337dd7cddfSDavid du ColombierEncoding had been changed. (bfont.h, zfont.c, zfont2.c) 72347dd7cddfSDavid du Colombier - Type 1 fonts with PaintType = 2 incorrectly checked for an xfont. 72357dd7cddfSDavid du Colombier(gxfont.h, gschar.c, gsfont.c, zchar1.c, zfont1.c, zfont2.c) 72367dd7cddfSDavid du Colombier - Specifying a string argument with -d...=(...) or -d...=<...> 72377dd7cddfSDavid du Colombierwould cause an invalidaccess error. (gs.c) 72387dd7cddfSDavid du Colombier - The environment for encapsulated jobs didn't rebind quit to stop 72397dd7cddfSDavid du Colombierin userdict. (gs_lev2.ps) 72407dd7cddfSDavid du Colombier - restore didn't deal properly with open files on the e-stack. 72417dd7cddfSDavid du Colombier(zvmem.c) 72427dd7cddfSDavid du Colombier - Even with the '-' switch, Ghostscript would try to read ahead in 72437dd7cddfSDavid du Colombierthe input stream rather than processing input character-by-character. 72447dd7cddfSDavid du Colombier(ziodev.c) 72457dd7cddfSDavid du Colombier - If an error occurred with a unreadable dictionary on any stack, 72467dd7cddfSDavid du Colombierthe standard error printer would get into an error loop and exit the 72477dd7cddfSDavid du Colombierinterpreter. (gs_init.ps) 72487dd7cddfSDavid du Colombier - The for_roots macro in igc.c used ap rather than mem as its 72497dd7cddfSDavid du Colombiersecond formal parameter. (This typo had no effect on the executable 72507dd7cddfSDavid du Colombierprogram.) (igc.c) 72517dd7cddfSDavid du Colombier - If saving the stacks for an error caused a GC request, a value 72527dd7cddfSDavid du Colombiercould get stored into an improper variable on the C stack, causing havoc. 72537dd7cddfSDavid du Colombier(interp.c) 72547dd7cddfSDavid du Colombier - setdash checked to make sure that the distance array had read 72557dd7cddfSDavid du Colombieraccess; Adobe interpreters don't check this. (zgstate.c) 72567dd7cddfSDavid du Colombier - The roots for gs_run_string and gs_interpret weren't registered 72577dd7cddfSDavid du Colombierproperly, which could cause a dangling reference in the case of a restore 72587dd7cddfSDavid du Colombierwhose save had been done earlier. (gsmain.c, interp.c) 72597dd7cddfSDavid du Colombier 72607dd7cddfSDavid du ColombierAdds an OpenOutputFile Boolean device parameter for printer devices; if 72617dd7cddfSDavid du Colombiertrue, the device opens the OutputFile at the time the device is opened, 72627dd7cddfSDavid du Colombierinstead of waiting for the first showpage. This helps with synchronization 72637dd7cddfSDavid du Colombierwhen the OutputFile is a pipe. (gdevprn.h, gdevprn.c) 72647dd7cddfSDavid du Colombier 72657dd7cddfSDavid du ColombierChanges the BEGIN/END_OP_DEFS macros to require an explicit { and } at each 72667dd7cddfSDavid du Colombieruse. (gsmain.c, interp.c, z*.c) 72677dd7cddfSDavid du Colombier 72687dd7cddfSDavid du ColombierArranges things so that the operators that the interpreter handles 72697dd7cddfSDavid du Colombierspecially are assigned the first N operator indices [internal change only]. 72707dd7cddfSDavid du Colombier(interp.h, iinit.c, interp.c) 72717dd7cddfSDavid du Colombier 72727dd7cddfSDavid du ColombierChanges the operators max and min to .max and .min, to avoid conflicts with 72737dd7cddfSDavid du ColombierPostScript programs that use these names for variables and also use 'bind'. 72747dd7cddfSDavid du ColombierTHIS IS A NON-BACKWARD-COMPATIBLE CHANGE from programs that depend on 72757dd7cddfSDavid du Colombier'bind' binding in these operators; however, we have also defined procedures 72767dd7cddfSDavid du Colombiermax and min that just call the operators, which should take care of any 72777dd7cddfSDavid du Colombierordinary code. (*.ps, zrelbit.c) 72787dd7cddfSDavid du Colombier 72793ff48bf5SDavid du Colombier</pre><h3><a name="V3.21_Streams"></a>Streams</h3><pre> 72807dd7cddfSDavid du Colombier 72817dd7cddfSDavid du ColombierFixes bugs: 72827dd7cddfSDavid du Colombier - The pfb_state pointer in the eexecDecode filter state wasn't 72837dd7cddfSDavid du Colombiermarked as traceable for the garbage collector. (sfilter.h) 72847dd7cddfSDavid du Colombier - The eexec decoding filter could access invalid memory or return 72857dd7cddfSDavid du Colombiergarbage under some conditions. (Bug introduced in 3.12.) (zmisc1.c) 72867dd7cddfSDavid du Colombier - The eexec decoding filter would incorrectly ask for more input if 72877dd7cddfSDavid du Colombierthe output buffer was full. (seexec.c) 72887dd7cddfSDavid du Colombier 72893ff48bf5SDavid du Colombier</pre><h3><a name="V3.21_Library"></a>Library</h3><pre> 72907dd7cddfSDavid du Colombier 72917dd7cddfSDavid du ColombierFixes bugs: 72927dd7cddfSDavid du Colombier - Some compilers reserve the word 'try'. (gshtscr.c) 72937dd7cddfSDavid du Colombier - Some compilers don't like line continuations (\) within a 72947dd7cddfSDavid du Colombierpreprocessor macro formal parameter list. (gdevprn.h, gxdevice.h) 72957dd7cddfSDavid du Colombier - Memory devices created with an inverted palette (0=white, 72967dd7cddfSDavid du Colombier1=black) interchanged white and black in fill operations. (gdevmem1.c) 72977dd7cddfSDavid du Colombier - The 'bits' variable in mem_mono_copy_mono was unused on 72987dd7cddfSDavid du Colombierlittle-endian machines. (gdevmem1.c) 72997dd7cddfSDavid du Colombier - Some garbage collector procedures were declared 'private' 73007dd7cddfSDavid du Colombierinconsistently. (gscie.c) 73017dd7cddfSDavid du Colombier - The new anti-aliased text capability accidentally caused all 73027dd7cddfSDavid du Colombiercharacters to be oversampled. (gschar.c) 73037dd7cddfSDavid du Colombier - Type 1 fonts with PaintType = 2 and StrokeWidth = 0 came out with 73047dd7cddfSDavid du Colombiermany pixels missing because of oversampling. (gschar.c) 73057dd7cddfSDavid du Colombier - Type 1 font stem hints were not being processed correctly. 73067dd7cddfSDavid du Colombier(gstype1.h, gxtype1.h, gstype1.c, gxhint2.c, gxhint3.c, gxpath.c) 73077dd7cddfSDavid du Colombier - The tracing message for 9/7 composite fonts incorrectly 73087dd7cddfSDavid du Colombieridentified them as 1/7 fonts. (gschar0.c) 73097dd7cddfSDavid du Colombier - If a 1/7 or 9/7 composite font was a child of a non-modal font, 73107dd7cddfSDavid du Colombierthe font number of the child font was computed incorrectly. (gschar0.c) 73117dd7cddfSDavid du Colombier 73127dd7cddfSDavid du ColombierSplits up the various memory devices into one file per depth [internal 73137dd7cddfSDavid du Colombierchange only]. (gdevm*.c) 73147dd7cddfSDavid du Colombier 73153ff48bf5SDavid du Colombier</pre> 73167dd7cddfSDavid du Colombier 73173ff48bf5SDavid du Colombier<h2><a name="Version3.20"></a>Version 3.20 (beta) (10/31/94)</h2> 73183ff48bf5SDavid du Colombier 73193ff48bf5SDavid du Colombier<p> 73207dd7cddfSDavid du ColombierThis version contains some support for a PDF interpreter; however, the PDF 73217dd7cddfSDavid du Colombiercode itself is not ready for release yet. It also includes anti-aliased text 73227dd7cddfSDavid du Colombiercapability. This release was not distributed to the public. 73237dd7cddfSDavid du Colombier 73243ff48bf5SDavid du Colombier<h3><a name="V3.20_Documentation"></a>Documentation</h3><pre> 73257dd7cddfSDavid du ColombierNotes that the FAQ has moved to smallo.ruhr.de:pub/ghost/gs.faq. (readme) 73267dd7cddfSDavid du Colombier 73277dd7cddfSDavid du ColombierDocuments various implementation limits. (language.doc) 73287dd7cddfSDavid du Colombier 73293ff48bf5SDavid du Colombier</pre><h3><a name="V3.20_Procedures"></a>Procedures</h3><pre> 73307dd7cddfSDavid du Colombier 73317dd7cddfSDavid du ColombierFixes bugs: 73327dd7cddfSDavid du Colombier - bcp.dev wasn't included in the list of dependencies for 73337dd7cddfSDavid du Colombierlevel1.dev. (gs.mak) 73347dd7cddfSDavid du Colombier 73357dd7cddfSDavid du ColombierChanges the printout of version numbers so that it is always A.BC, 73367dd7cddfSDavid du Colombierrather than A.B if C is zero. (gs.c, gs_init.ps) 73377dd7cddfSDavid du Colombier 73383ff48bf5SDavid du Colombier</pre><h3><a name="V3.20_Utilities"></a>Utilities</h3><pre> 73397dd7cddfSDavid du Colombier 73407dd7cddfSDavid du ColombierFixes bugs: 73417dd7cddfSDavid du Colombier - font2c didn't correctly handle Metrics or Metrics2 dictionaries 73427dd7cddfSDavid du Colombierwhose entries were arrays rather than scalars. (font2c.ps, ccfont.h, 73437dd7cddfSDavid du Colombiericcfont.c) 73447dd7cddfSDavid du Colombier - font2c didn't handle CDevProc. (font2c.ps, ccfont.h, iccfont.c) 73457dd7cddfSDavid du Colombier - genconf could get a stack overflow on small machines. 73467dd7cddfSDavid du Colombier(genconf.c) 73477dd7cddfSDavid du Colombier 73487dd7cddfSDavid du ColombierChanges mergeini.ps so it can take arguments on the command line specifying 73497dd7cddfSDavid du Colombierthe input and output files. (mergeini.ps) 73507dd7cddfSDavid du Colombier 73517dd7cddfSDavid du ColombierAdds a gsdj500 shell script to parallel gsdj500.bat. (gsdj500) 73527dd7cddfSDavid du Colombier 73533ff48bf5SDavid du Colombier</pre><h3><a name="V3.20_Drivers"></a>Drivers</h3><pre> 73547dd7cddfSDavid du Colombier 73557dd7cddfSDavid du ColombierFixes bugs: 73567dd7cddfSDavid du Colombier - The X driver didn't mask dynamically assigned colors properly, so 73577dd7cddfSDavid du Colombierit could request the same color over and over again. (gdevx.c) 73587dd7cddfSDavid du Colombier 73597dd7cddfSDavid du ColombierAdds two alternate X Windows drivers, for helping debug drivers with other 73607dd7cddfSDavid du Colombiercolor models: 73617dd7cddfSDavid du Colombier - x11alpha, an RGB device with 4-bit alpha capability (for 73627dd7cddfSDavid du Colombier copy_alpha only); 73637dd7cddfSDavid du Colombier - x11cmyk, a 1-bit-per-component CMYK device. 73647dd7cddfSDavid du Colombier(devs.mak, gdevxalt.c) 73657dd7cddfSDavid du Colombier 73667dd7cddfSDavid du ColombierChanges the left margin of the lj4dith driver to 0.26". (gdevcdj.c) 73677dd7cddfSDavid du Colombier 73683ff48bf5SDavid du Colombier</pre><h3><a name="V3.20_Platforms"></a>Platforms</h3><pre> 73697dd7cddfSDavid du Colombier 73707dd7cddfSDavid du ColombierFixes bugs: 73717dd7cddfSDavid du Colombier - If <sys/time.h> didn't exist, time_.h didn't always include 73727dd7cddfSDavid du Colombier<time.h>. (time_.h) 73737dd7cddfSDavid du Colombier - The OS/2 platform wouldn't compile. (gdevpm.c) 73747dd7cddfSDavid du Colombier - The auxiliary VMS command files sometimes got blank lines 73757dd7cddfSDavid du Colombierinserted when going through EOL conversion. (vms.mak; delete gs_.com) 73767dd7cddfSDavid du Colombier - The VMS makefiles didn't include the Level 1 operators in 73777dd7cddfSDavid du Colombierlevel1.dev. (vms.mak) 73787dd7cddfSDavid du Colombier - The VMS gcc makefile didn't handle undefined DEVICE_DEVSn 73797dd7cddfSDavid du Colombiervariables properly. (vms*.mak) 73807dd7cddfSDavid du Colombier - The VMS makefiles didn't recognize DEVICE_DEVS{1,2,5,7}. 73817dd7cddfSDavid du Colombier(vms.mak) 73827dd7cddfSDavid du Colombier 73837dd7cddfSDavid du ColombierAt the request of a Unix expert, changes all the Unix shell scripts to use 73847dd7cddfSDavid du Colombierexec gs ... "$@" rather than gs ... $*. (gsnd, gsbj, gsdj, gslj, gslp) 73857dd7cddfSDavid du Colombier 73867dd7cddfSDavid du ColombierModifies the JPEG library so that it uses 4K less of the automatic data 73877dd7cddfSDavid du Colombiersegment in 16-bit environments. (bcwin.mak, jpeg.mak, sjpeg.c, sjpegerr.c) 73887dd7cddfSDavid du Colombier 73897dd7cddfSDavid du ColombierAdds the bmp drivers back into the 16-bit MS Windows executable, since they 73907dd7cddfSDavid du Colombierwill fit now. (bcwin.mak) 73917dd7cddfSDavid du Colombier 73923ff48bf5SDavid du Colombier</pre><h3><a name="V3.20_Fonts"></a>Fonts</h3><pre> 73937dd7cddfSDavid du Colombier 73947dd7cddfSDavid du ColombierMakes the font substitution algorithm recognize the word Roman as calling 73957dd7cddfSDavid du Colombierfor a serif font. (gs_fonts.ps) 73967dd7cddfSDavid du Colombier 73973ff48bf5SDavid du Colombier</pre><h3><a name="V3.20_Interpreters"></a>Interpreters</h3><pre> 73987dd7cddfSDavid du Colombier 73997dd7cddfSDavid du ColombierFixes bugs: 74007dd7cddfSDavid du Colombier - The fix in 3.13 for the inexact function values at 0 didn't work. 74017dd7cddfSDavid du Colombier(zcontrol.c) 74027dd7cddfSDavid du Colombier - Level 1 configurations referenced an undefined procedure 74037dd7cddfSDavid du Colombiergs_currenthalftone. (gsht.c, gsht1.c) 74047dd7cddfSDavid du Colombier - Specifying any device properties (including -r and -g) on the 74057dd7cddfSDavid du Colombiercommand line caused an error. (gs_init.ps) 74067dd7cddfSDavid du Colombier - The forward declaration of cfont_name_array_create was 74077dd7cddfSDavid du Colombierincorrect. (iccfont.c) 74087dd7cddfSDavid du Colombier - save and restore could get called before the graphics state stack 74097dd7cddfSDavid du Colombierhad been initialized properly. (gs_mex_e.ps) 74107dd7cddfSDavid du Colombier - Some encodings weren't loaded properly. (gs.mak, gs_mex_e.ps, 74117dd7cddfSDavid du Colombiergs_mro_e.ps, gs_pdf_e.ps, gs_wan_e.ps) 74127dd7cddfSDavid du Colombier - Zero-height images were allowed, but zero-width images 74137dd7cddfSDavid du Colombierweren't. (zpaint.c) 74147dd7cddfSDavid du Colombier - Neither zero-width nor zero-height images popped their 74157dd7cddfSDavid du Colombierarguments from the operand stack. (zpaint.c) 74167dd7cddfSDavid du Colombier - lib_file_fopen overwrote its file name argument, causing havoc 74177dd7cddfSDavid du Colombierwith @-files. (gxiodev.h, gdevpipe.c, gsiodev.c, zfile.c) 74187dd7cddfSDavid du Colombier - The garbage collector got confused if there were any arrays or 74197dd7cddfSDavid du Colombierdictionaries with 8K or more elements. (igcref.c) 74207dd7cddfSDavid du Colombier - >> could leave the stacks in a questionable state if it failed. 74217dd7cddfSDavid du Colombier(gs_init.ps) 74227dd7cddfSDavid du Colombier - The Category resource category didn't implement undefineresource. 74237dd7cddfSDavid du Colombier(gs_res.ps) 74247dd7cddfSDavid du Colombier - When the token operator read the last token from a string, it 74257dd7cddfSDavid du Colombierleft an unchanged string on the stack instead of an empty string. 74267dd7cddfSDavid du Colombier(stream.c) 74277dd7cddfSDavid du Colombier - noaccess didn't give an invalidaccess error when applied to the 74287dd7cddfSDavid du Colombierpermanent dictionaries. (dstack.h, idict.c, ztype.c) 74297dd7cddfSDavid du Colombier - Overflowing the exec stack wasn't handled properly. (istack.h, 74307dd7cddfSDavid du Colombieristack.c) 74317dd7cddfSDavid du Colombier - The garbage collector cleared the cached value pointers in names, 74327dd7cddfSDavid du Colombiercausing interpretation to slow down substantially. (idict.c, igc.c, 74337dd7cddfSDavid du Colombieriname.c) 74347dd7cddfSDavid du Colombier - 0 dict created a dictionary with a maxlength of 1. (idict.c) 74357dd7cddfSDavid du Colombier 74367dd7cddfSDavid du ColombierChanges the default size of the execution stack from 150 to 250, to match 74377dd7cddfSDavid du Colombierthe Adobe "typical" value. (interp.c) 74387dd7cddfSDavid du Colombier 74397dd7cddfSDavid du ColombierMoves the operator definitions out of the automatic data segment. 74407dd7cddfSDavid du Colombier(opdef.h, iinit.c, z*.c) 74417dd7cddfSDavid du Colombier 74427dd7cddfSDavid du ColombierAdds operators that allow creation of objects in system space: 74437dd7cddfSDavid du Colombier.systemvmstring, .systemvmarray, .systemvmpackedarray, .systemvmdict, 74447dd7cddfSDavid du Colombier.systemvmcheck. (zsysvm.c) 74457dd7cddfSDavid du Colombier 74467dd7cddfSDavid du ColombierRenames gcdefs.h as gscdefs.h. 74477dd7cddfSDavid du Colombier 74487dd7cddfSDavid du ColombierAllocates names in system space rather than global space. (gsmain.c) 74497dd7cddfSDavid du Colombier 74507dd7cddfSDavid du ColombierChanges the memory manager so that it allows programs to create objects in 74517dd7cddfSDavid du Colombiersystem space. (iref.h, iutil.h, ivmspace.h, ...) 74527dd7cddfSDavid du Colombier 74537dd7cddfSDavid du ColombierChanges the implementation of filters so they appear in their own 74547dd7cddfSDavid du Colombierdictionary named filterdict. (gs_init.ps, z*.c) 74557dd7cddfSDavid du Colombier 74567dd7cddfSDavid du ColombierChanges the implementation of color spaces so each one has its own 74577dd7cddfSDavid du Colombiersetcolorspace procedure, defined in a new dictionary named 74587dd7cddfSDavid du Colombiercolorspacedict. (gs_lev2.ps, z*.c) 74597dd7cddfSDavid du Colombier 74607dd7cddfSDavid du ColombierAdds a new debugging switch, $, that always initializes all fields in a 74617dd7cddfSDavid du Colombierref, in order to keep Purify happy. (store.h) 74627dd7cddfSDavid du Colombier 74633ff48bf5SDavid du Colombier</pre><h3><a name="V3.20_Library"></a>Library</h3><pre> 74647dd7cddfSDavid du Colombier 74657dd7cddfSDavid du ColombierFixes bugs: 74667dd7cddfSDavid du Colombier - The page size for image devices was always set to (0, 0). 74677dd7cddfSDavid du Colombier(gsdevice.c) 74687dd7cddfSDavid du Colombier - The PageSize computation in gx_default_put_params could overflow 74697dd7cddfSDavid du Colombieron 16-bit machines. (gsdparam.c) 74707dd7cddfSDavid du Colombier - An omitted 'static' on an initialized array caused a compiler 74717dd7cddfSDavid du Colombiererror. (gxccman.c) 74727dd7cddfSDavid du Colombier - If interpolated image rendering was requested but not 74737dd7cddfSDavid du Colombieractually carried out, gs_image_cleanup could attempt to free a random 74747dd7cddfSDavid du Colombierpointer. (gsimage.c) 74757dd7cddfSDavid du Colombier - Some compilers only retain 23 characters of procedure names, but 74767dd7cddfSDavid du Colombiersome procedure names weren't unique in the first 23 characters. (gscie.c, 74777dd7cddfSDavid du Colombiergscolor.c, gscolor1.c, gxcmap.c) 74787dd7cddfSDavid du Colombier - The garbage collector didn't trace device colors properly. 74797dd7cddfSDavid du Colombier(gxdcolor.h, gzht.h, gsimage1.c, gspcolor.c, gxcht.c, gxcmap.c, gxdraw.c, 74807dd7cddfSDavid du Colombiergxht.c) 74817dd7cddfSDavid du Colombier - For CMYK devices, the transfer functions were being applied to 74827dd7cddfSDavid du Colombierthe CMYK values rather than the complemented RGBW values. (gxcmap.c) 74837dd7cddfSDavid du Colombier - Memory devices used their own color mapping procedures rather 74847dd7cddfSDavid du Colombierthan those of the target; this could cause incorrect colors for patterns on 74857dd7cddfSDavid du Colombierdevices with more than 1 bit per pixel. (gxdevmem.h, gdevmem1.c, gdevpm.c, 74867dd7cddfSDavid du Colombiergdevprn.c, gdevwdib.c, gschar.c, gsdevice.c, gxccache.c, gxccman.c, 74877dd7cddfSDavid du Colombiergxclip2.c, gxclread.c, gxpcmap.c) 74887dd7cddfSDavid du Colombier - The garbage collector didn't trace image enumerators properly in 74897dd7cddfSDavid du Colombierthe image_render_simple case. (gsimage.c) 74907dd7cddfSDavid du Colombier - stroke produced different-looking output for thin (zero-width) 74917dd7cddfSDavid du Colombierlines depending on whether or not clipping was invoked. (gxstroke.c) 74927dd7cddfSDavid du Colombier - If a clipping list changed from multiple rectangles to a single 74937dd7cddfSDavid du Colombierrectangle, it could fail to clip properly thereafter. (gxacpath.c) 74947dd7cddfSDavid du Colombier 74957dd7cddfSDavid du ColombierAdds two new device procedures: alpha_bits and copy_alpha. This change is 74967dd7cddfSDavid du Colombierbackward-compatible for all existing devices. (gdevmem.h, gxdevice.h, 74977dd7cddfSDavid du Colombiergsdevice.c, gxclip2.c, gxclist.c, gxcpath.c) 74987dd7cddfSDavid du Colombier 74997dd7cddfSDavid du ColombierChanges the implementation of color halftones so that, when appropriate, it 75007dd7cddfSDavid du Colombiergenerates a single cell and uses the device tile_rectangle procedure. 75017dd7cddfSDavid du Colombier(gzht.h, gsht.c, gxcht.c, gxclist.c, gxclread.c) 75027dd7cddfSDavid du Colombier 75037dd7cddfSDavid du ColombierAdds partial support for the Orientation page device parameter. 75047dd7cddfSDavid du Colombier(gsdevice.c) 75057dd7cddfSDavid du Colombier 75067dd7cddfSDavid du ColombierAdds support for anti-aliased characters using 2 or 4 bits of alpha. 75077dd7cddfSDavid du Colombier(gxfcache.h, gschar.c, gxccache.c) 75087dd7cddfSDavid du Colombier 75093ff48bf5SDavid du Colombier</pre> 75107dd7cddfSDavid du Colombier 75113ff48bf5SDavid du Colombier<hr> 75123ff48bf5SDavid du Colombier 75133ff48bf5SDavid du Colombier<h2><a name="Version3.13"></a>Version 3.13(private) (10/3/94)</h2> 75143ff48bf5SDavid du Colombier 75153ff48bf5SDavid du Colombier<p> 75167dd7cddfSDavid du ColombierThis release was created for a customer; it was not distributed to the 75177dd7cddfSDavid du Colombierpublic. 75187dd7cddfSDavid du Colombier 75193ff48bf5SDavid du Colombier<h3><a name="V3.13_Documentation"></a>Documentation</h3><pre> 75207dd7cddfSDavid du ColombierNotes in make.doc that the file names in the IJG archive distributed with 75217dd7cddfSDavid du ColombierGhostscript do not include the gsA.BC/ prefix. (make.doc) 75227dd7cddfSDavid du Colombier 75237dd7cddfSDavid du ColombierAdds a cross-reference to make.doc to the Watcom makefiles. (watc.mak, 75247dd7cddfSDavid du Colombierwatcwin.mak, wccommon.mak) 75257dd7cddfSDavid du Colombier 75263ff48bf5SDavid du Colombier</pre><h3><a name="V3.13_Procedures"></a>Procedures</h3><pre> 75277dd7cddfSDavid du Colombier 75287dd7cddfSDavid du ColombierFixes bugs: 75297dd7cddfSDavid du Colombier - The makefile rule for gconfig.h et al had a couple of blank lines 75307dd7cddfSDavid du Colombierin the middle of it. (gs.mak) 75317dd7cddfSDavid du Colombier 75323ff48bf5SDavid du Colombier</pre><h3><a name="V3.13_Utilities"></a>Utilities</h3><pre> 75337dd7cddfSDavid du Colombier 75347dd7cddfSDavid du ColombierFixes bugs: 75357dd7cddfSDavid du Colombier - wrfont.ps didn't add a lenIV entry to the Private dictionary if 75367dd7cddfSDavid du Colombierit was needed. (wrfont.ps) 75377dd7cddfSDavid du Colombier 75387dd7cddfSDavid du ColombierAdds a packfile.ps utility that allows compressing multiple files into a 75397dd7cddfSDavid du Colombiersingle file for environments with very little permanent storage. 75407dd7cddfSDavid du Colombier(gs_pfile.ps, packfile.ps, wrfont.ps) 75417dd7cddfSDavid du Colombier 75423ff48bf5SDavid du Colombier</pre><h3><a name="V3.13_Drivers"></a>Drivers</h3><pre> 75437dd7cddfSDavid du Colombier 75447dd7cddfSDavid du ColombierFixes bugs: 75457dd7cddfSDavid du Colombier - The {tiff,fax}{g32d,g4} devices could produce incorrect output. 75467dd7cddfSDavid du ColombierSee under Streams below. 75477dd7cddfSDavid du Colombier - The dfax drivers referred to the obsolete structure member 75487dd7cddfSDavid du ColombierEncodedEOLAlign. (gdevdfax.c) 75497dd7cddfSDavid du Colombier 75507dd7cddfSDavid du ColombierChanges the default bit order for TIFF/F output to little-endian, which is 75517dd7cddfSDavid du Colombierapparently what the majority of TIFF decoders like best. The bit order for 75527dd7cddfSDavid du Colombierthe fax drivers is still big-endian. (gdevdfax.c, gdevtfax.c) 75537dd7cddfSDavid du Colombier 75543ff48bf5SDavid du Colombier</pre><h3><a name="V3.13_Platforms"></a>Platforms</h3><pre> 75557dd7cddfSDavid du Colombier 75567dd7cddfSDavid du ColombierFixes bugs: 75577dd7cddfSDavid du Colombier - The VMS build script used -a rather than -w for creating 75587dd7cddfSDavid du Colombiergconfig_.h. (vms.mak) 75597dd7cddfSDavid du Colombier - The VMS build script didn't create gconfigv.h. (vms.mak) 75607dd7cddfSDavid du Colombier - The VMS Fontmap had incorrect entries for the Bitstream Charter 75617dd7cddfSDavid du Colombierfonts. (fontmap.vms) 75627dd7cddfSDavid du Colombier - The VMS MODULES.LIS file assumed the JPEG library files were in 75637dd7cddfSDavid du Colombierdirectory JPEG rather than JPEG-5. (modules.lis) 75647dd7cddfSDavid du Colombier 75653ff48bf5SDavid du Colombier</pre><h3><a name="V3.13_Fonts"></a>Fonts</h3><pre> 75667dd7cddfSDavid du Colombier 75677dd7cddfSDavid du ColombierFixes bugs: 75687dd7cddfSDavid du Colombier - Using DISKFONTS resulted in an invalidaccess error. 75697dd7cddfSDavid du Colombier(gs_fonts.ps) 75707dd7cddfSDavid du Colombier 75713ff48bf5SDavid du Colombier</pre><h3><a name="V3.13_Interpreter"></a>Interpreter</h3><pre> 75727dd7cddfSDavid du Colombier 75737dd7cddfSDavid du ColombierFixes bugs: 75747dd7cddfSDavid du Colombier - The standard transfer function considered gray values above 75757dd7cddfSDavid du Colombierroughly 0.994 equivalent to white; 0.999 is a better value. (gs_init.ps) 75767dd7cddfSDavid du Colombier - The transfer, black generation, and undercolor removal functions 75777dd7cddfSDavid du Colombiergave slightly inexact results for an input value of 0. (zcolor.c, 75787dd7cddfSDavid du Colombierzcontrol.c) 75797dd7cddfSDavid du Colombier - setpagedevice gave an /undefined error if it did not recognize a 75807dd7cddfSDavid du Colombierkey, rather than ignoring the key. (zdevice.c, gs_init.ps, gs_lev2.ps, 75817dd7cddfSDavid du Colombiergs_setpd.ps) 75827dd7cddfSDavid du Colombier 75837dd7cddfSDavid du ColombierChanges .putdeviceparams to take an additional argument, a Boolean that 75847dd7cddfSDavid du Colombiersays whether or not unrecognized keys should be reported as /undefined 75857dd7cddfSDavid du Colombiererrors. THIS IS A NON-BACKWARD-COMPATIBLE CHANGE; however, no user-written 75867dd7cddfSDavid du Colombiercode should be calling .putdeviceparams. (zdevice.c) 75877dd7cddfSDavid du Colombier 75883ff48bf5SDavid du Colombier</pre><h3><a name="V3.13_Streams"></a>Streams</h3><pre> 75897dd7cddfSDavid du Colombier 75907dd7cddfSDavid du ColombierFixes bugs: 75917dd7cddfSDavid du Colombier - The Group 3 2-D and Group 4 fax encoders could emit incorrect 75927dd7cddfSDavid du Colombieroutput. (scfe.c) 75937dd7cddfSDavid du Colombier - The algorithm for constructing optimal Huffman codes could 75947dd7cddfSDavid du Colombierproduce invalid codes in some rare cases. (shcgen.c) 75957dd7cddfSDavid du Colombier 75963ff48bf5SDavid du Colombier</pre><h3><a name="V3.13_Library"></a>Library</h3><pre> 75977dd7cddfSDavid du Colombier 75987dd7cddfSDavid du ColombierFixes bugs: 75997dd7cddfSDavid du Colombier - Rectangles closed with lineto rather than closepath weren't 76007dd7cddfSDavid du Colombierrecognized as rectangles. (This only affected performance, not 76017dd7cddfSDavid du Colombierfunctionality.) (gxpath2.c) 76027dd7cddfSDavid du Colombier - The xfont lookup_font procedure could get called with a matrix 76037dd7cddfSDavid du Colombierwhose translation components had never been initialized. (gxccman.c) 76047dd7cddfSDavid du Colombier - Some compilers don't allow \ in the formal argument list of a 76057dd7cddfSDavid du Colombierpreprocessor macro. (gdevprn.h, gxdevice.h) 76067dd7cddfSDavid du Colombier 76073ff48bf5SDavid du Colombier</pre> 76087dd7cddfSDavid du Colombier 76093ff48bf5SDavid du Colombier<h2><a name="Version3.12"></a>Version 3.12 (9/29/94)</h2> 76103ff48bf5SDavid du Colombier 76113ff48bf5SDavid du Colombier<p> 76127dd7cddfSDavid du ColombierThis is another bug fix release, the first Level 2 release that we believe 76137dd7cddfSDavid du Colombieris reasonably reliable. 76147dd7cddfSDavid du Colombier 76153ff48bf5SDavid du Colombier<h3><a name="V3.12_Documentation"></a>Documentation</h3><pre> 76167dd7cddfSDavid du Colombier 76177dd7cddfSDavid du ColombierAdds some text warning about making copies of the makefile. (make.doc) 76187dd7cddfSDavid du Colombier 76193ff48bf5SDavid du Colombier</pre><h3><a name="V3.12_Procedures"></a>Procedures</h3><pre> 76207dd7cddfSDavid du Colombier 76217dd7cddfSDavid du ColombierFixes bugs: 76227dd7cddfSDavid du Colombier - There were a number of unnecessary dependencies on $(MAKEFILE) in 76237dd7cddfSDavid du Colombiergs.mak, left over from before the existence of gconfigv.h. (gs.mak) 76247dd7cddfSDavid du Colombier - JPEGSRC was defined in gs.mak rather than in jpeg.mak. (gs.mak, 76257dd7cddfSDavid du Colombierjpeg.mak) 76267dd7cddfSDavid du Colombier 76277dd7cddfSDavid du ColombierChanges the version numbering scheme back to A.BC, since people seem to be 76287dd7cddfSDavid du Colombieradapting to the change, and this allows using the version number directly 76297dd7cddfSDavid du Colombieras a MS-DOS directory name. (gconfig.c, gdevtfax.c, gs.c, gs_init.ps) 76307dd7cddfSDavid du Colombier 76317dd7cddfSDavid du ColombierUpdates the JPEG library to version 5 (official release) of the IJG code. 76327dd7cddfSDavid du Colombier(jpeg/*, jpeg.mak) 76337dd7cddfSDavid du Colombier 76343ff48bf5SDavid du Colombier</pre><h3><a name="V3.12_Drivers"></a>Drivers</h3><pre> 76357dd7cddfSDavid du Colombier 76367dd7cddfSDavid du ColombierFixes bugs: 76377dd7cddfSDavid du Colombier - The TIFF/F driver put out invalid PageNumber and Software 76387dd7cddfSDavid du Colombierentries. (gdevtifs.h, gdevtfax.c) 76397dd7cddfSDavid du Colombier - The TIFF/F and fax Group 3 2-D drivers used K=3 and K=5 instead 76407dd7cddfSDavid du Colombierof K=2 and K=4. (gdevtfax.c) 76417dd7cddfSDavid du Colombier - The TIFF/F and fax Group 3 2-D drivers emitted improperly aligned 76427dd7cddfSDavid du Colombieroutput. (See under Streams below.) 76437dd7cddfSDavid du Colombier - The MS Windows driver didn't resize the window properly in 76447dd7cddfSDavid du Colombierresponse to changing the device parameters. (gdevmswn.c) 76457dd7cddfSDavid du Colombier 76467dd7cddfSDavid du ColombierBecause of complementary bugs in various C compilers, changes all the 76477dd7cddfSDavid du Colombiernon-printer devices to use a different set of macros. (gdevmem.h, 76487dd7cddfSDavid du Colombiergdevpcfb.h, gdevprn.h, gdevsvga.h, gxdevice.h, gdev{3b1, bgi, herc, l256, 76497dd7cddfSDavid du Colombierpe, pm, sun, vglb, wddb, wdib, wprn, x}.c, gsdevice.c, gxacpath.c, 76507dd7cddfSDavid du Colombiergxclip2.c, gxcpath.c, gxpcmap.c, zupath.c) 76517dd7cddfSDavid du Colombier 76527dd7cddfSDavid du ColombierChanges the X11 driver to ignore the "margins" specified by Ghostview. 76537dd7cddfSDavid du ColombierThis is apparently necessary for Ghostview to handle landscape display 76547dd7cddfSDavid du Colombierproperly. (gdevxini.c) 76557dd7cddfSDavid du Colombier 76567dd7cddfSDavid du ColombierAdds a WindowID parameter to the X11 device, to allow setting the window 76577dd7cddfSDavid du Colombierfor the output. (gdevx.h, gdevx.c, gdevxini.c) 76587dd7cddfSDavid du Colombier 76593ff48bf5SDavid du Colombier</pre><h3><a name="V3.12_Platforms"></a>Platforms</h3><pre> 76607dd7cddfSDavid du Colombier 76617dd7cddfSDavid du ColombierFixes bugs: 76627dd7cddfSDavid du Colombier - The definition of BEGINFILES in os2.mak occurred too late in the 76637dd7cddfSDavid du Colombierfile to have the desired effect. (os2.mak) 76647dd7cddfSDavid du Colombier 76653ff48bf5SDavid du Colombier</pre><h3><a name="V3.12_Interpreter"></a>Interpreter</h3><pre> 76667dd7cddfSDavid du Colombier 76677dd7cddfSDavid du ColombierFixes bugs: 76687dd7cddfSDavid du Colombier - Updating the list of allocated file objects at a restore didn't 76697dd7cddfSDavid du Colombierclear the prev pointer of the new head, which could cause the garbage 76707dd7cddfSDavid du Colombiercollector to encounter an invalid pointer. (Bug introduced by .forgetsave 76717dd7cddfSDavid du Colombierin 3.0.3.) (zfile.c) 76727dd7cddfSDavid du Colombier 76733ff48bf5SDavid du Colombier</pre><h3><a name="V3.12_Streams"></a>Streams</h3><pre> 76747dd7cddfSDavid du Colombier 76757dd7cddfSDavid du ColombierFixes bugs: 76767dd7cddfSDavid du Colombier - The CCITTFaxEncode filter with K > 0 and EncodedByteAlign = true 76777dd7cddfSDavid du Colombierincorrectly aligned the 1-D/2-D bit as the last bit of a byte, rather than 76787dd7cddfSDavid du Colombierthe first bit. (scfx.h, scfe.c) 76797dd7cddfSDavid du Colombier - eexec could loop indefinitely under certain conditions. 76807dd7cddfSDavid du Colombier(seexec.c) 76817dd7cddfSDavid du Colombier - eexec's algorithm for recognizing text vs. binary encoding didn't 76827dd7cddfSDavid du Colombierwork properly in some cases that don't conform to the Adobe Type 1 Font 76837dd7cddfSDavid du ColombierFormat documentation. (seexec.c) 76847dd7cddfSDavid du Colombier - Closing a stream didn't clear out the strm and state pointers, 76857dd7cddfSDavid du Colombierwhich could cause invalid accesses by the garbage collector. (stream.c) 76867dd7cddfSDavid du Colombier 76873ff48bf5SDavid du Colombier</pre><h3><a name="V3.12_Library"></a>Library</h3><pre> 76887dd7cddfSDavid du Colombier 76897dd7cddfSDavid du ColombierFixes bugs: 76907dd7cddfSDavid du Colombier - fill_loop could loop indefinitely under certain conditions. 76917dd7cddfSDavid du Colombier(Introduced by a bug fix in 3.1.) (gxfill.c) 76927dd7cddfSDavid du Colombier - fill/eofill sometimes failed to paint parts of a region. 76937dd7cddfSDavid du Colombier(Introduced by a bug fix in 3.1.1.) (gxfill.c) 76947dd7cddfSDavid du Colombier - Non-convex clipping paths sometimes omitted thin horizontal 76957dd7cddfSDavid du Colombierslivers of the region. (Probably introduced by the "thin graphics" fix in 76967dd7cddfSDavid du Colombier3.1.) (gxacpath.c) 76977dd7cddfSDavid du Colombier 76983ff48bf5SDavid du Colombier</pre> 76997dd7cddfSDavid du Colombier 77003ff48bf5SDavid du Colombier<h2><a name="Version3.1.1"></a>Version 3.1.1 (9/25/94)</h2> 77013ff48bf5SDavid du Colombier 77023ff48bf5SDavid du Colombier<p> 77037dd7cddfSDavid du ColombierThis is primarily a bug fix release. It was originally intended for some 77047dd7cddfSDavid du Colombiercommercial licensees, but beta testers found too many problems with it. 77057dd7cddfSDavid du Colombier 77063ff48bf5SDavid du Colombier<h3><a name="V3.1.1_Documentation"></a>Documentation</h3><pre> 77077dd7cddfSDavid du Colombier 77087dd7cddfSDavid du ColombierFixes bugs: 77097dd7cddfSDavid du Colombier - NEWS didn't indicate that there was a non-backward-compatible 77107dd7cddfSDavid du Colombierchange in the gx_device structure -- specifically, that l_margin, 77117dd7cddfSDavid du Colombierb_margin, r_margin, and t_margin were replaced by macros named 77127dd7cddfSDavid du Colombierdev_l_margin(dev), etc. (news) 77137dd7cddfSDavid du Colombier 77147dd7cddfSDavid du ColombierDescribes the two-phase commit requirement for device put_params 77157dd7cddfSDavid du Colombierprocedures. (drivers.doc, gsparam.h) 77167dd7cddfSDavid du Colombier 77173ff48bf5SDavid du Colombier</pre><h3><a name="V3.1.1_Procedures"></a>Procedures</h3><pre> 77187dd7cddfSDavid du Colombier 77197dd7cddfSDavid du ColombierFixes bugs: 77207dd7cddfSDavid du Colombier - The new S macro in genarch.c didn't work on compilers that do 77217dd7cddfSDavid du Colombiermacro substitution within string constants (which is forbidden by the ANSI 77227dd7cddfSDavid du Colombierstandard). (genarch.c) 77237dd7cddfSDavid du Colombier 77243ff48bf5SDavid du Colombier</pre><h3><a name="V3.1.1_Drivers"></a>Drivers</h3><pre> 77257dd7cddfSDavid du Colombier 77267dd7cddfSDavid du ColombierFixes bugs: 77277dd7cddfSDavid du Colombier - Driver put_params implementations didn't observe a "two-phase 77287dd7cddfSDavid du Colombiercommit" discipline; this could lead to the current device in the graphics 77297dd7cddfSDavid du Colombierstate being closed, and other inconsistencies. (gsparam.h, gxdevice.h, 77307dd7cddfSDavid du Colombieriparam.h, gdevbit.c, gdevcdj.c, gdevmswn.c, gdevpcfb.c, gdevpm.c, 77317dd7cddfSDavid du Colombiergdevprn.c, gdevx.c, gsdevice.c, gsdparam.c, zdevice.c, ziodev2.c, zmisc2.c) 77327dd7cddfSDavid du ColombierTHIS IS A NON-BACKWARD-COMPATIBLE CHANGE; however, it only affects 77337dd7cddfSDavid du Colombierput_params implementations, of which there are few. 77347dd7cddfSDavid du Colombier 77357dd7cddfSDavid du ColombierNOTE THE NON-BACKWARD-COMPATIBLE CHANGE IN THE gx_device STRUCTURE UNDER 77367dd7cddfSDavid du Colombier'Documentation' ABOVE. (gdevescp.c, gdevsj48.c, gdevsppr.c, gdevxini.c) 77377dd7cddfSDavid du Colombier 77383ff48bf5SDavid du Colombier</pre><h3><a name="V3.1.1_Platforms"></a>Platforms</h3><pre> 77397dd7cddfSDavid du Colombier 77407dd7cddfSDavid du ColombierEnsures that the Unix makefiles all include all the variants of TIFF/F and 77417dd7cddfSDavid du Colombierfax drivers. (ansihead.mak, cc-head.mak, gcc-head.mak) 77427dd7cddfSDavid du Colombier 77433ff48bf5SDavid du Colombier</pre><h3><a name="V3.1.1_Interpreter"></a>Interpreter</h3><pre> 77447dd7cddfSDavid du Colombier 77457dd7cddfSDavid du ColombierFixes bugs: 77467dd7cddfSDavid du Colombier - Most of the contents of statusdict were missing when 77477dd7cddfSDavid du Colombierrunning a Level 2 system in Level 1 mode. (zmisc2.c) 77487dd7cddfSDavid du Colombier 77493ff48bf5SDavid du Colombier</pre> 77507dd7cddfSDavid du Colombier 77513ff48bf5SDavid du Colombier<h2><a name="Version3.1"></a>Version 3.1 (9/20/94)</h2> 77523ff48bf5SDavid du Colombier 77533ff48bf5SDavid du Colombier<p> 77547dd7cddfSDavid du ColombierThis release finally includes a usable subset implementation of 77557dd7cddfSDavid du Colombiersetpagedevice, including all the machinery needed to address the 77567dd7cddfSDavid du Colombierlong-standing "margins" problems. 77577dd7cddfSDavid du Colombier 77583ff48bf5SDavid du Colombier<h3><a name="V3.1_Documentation"></a>Documentation</h3><pre> 77597dd7cddfSDavid du Colombier 77607dd7cddfSDavid du ColombierFixes bugs: 77617dd7cddfSDavid du Colombier - t_oparray objects weren't identified as behaving differently 77627dd7cddfSDavid du Colombierdepending on whether they were marked executable. (iref.h) 77637dd7cddfSDavid du Colombier - drivers.doc had gx_color_value instead of gx_color_index in 77647dd7cddfSDavid du Colombierthe description of color mapping. (drivers.doc) 77657dd7cddfSDavid du Colombier 77667dd7cddfSDavid du ColombierUpdates drivers.doc to reflect the change from static_procs to 77677dd7cddfSDavid du Colombierstd_procs in the gx_device structure. (drivers.doc) 77687dd7cddfSDavid du Colombier 77693ff48bf5SDavid du Colombier</pre><h3><a name="V3.1_Procedures"></a>Procedures</h3><pre> 77707dd7cddfSDavid du Colombier 77717dd7cddfSDavid du ColombierFixes bugs: 77727dd7cddfSDavid du Colombier - The commands for building the JPEG library used rm instead 77737dd7cddfSDavid du Colombierof rm -f. (jpeg.mak) 77747dd7cddfSDavid du Colombier 77753ff48bf5SDavid du Colombier</pre><h3><a name="V3.1_Drivers"></a>Drivers</h3><pre> 77767dd7cddfSDavid du Colombier 77777dd7cddfSDavid du ColombierFixes bugs: 77787dd7cddfSDavid du Colombier - The X Windows driver hadn't been updated to reflect some 77797dd7cddfSDavid du Colombiername changes in members of the gx_color_info structure. (gdevx.h, 77807dd7cddfSDavid du Colombiergdevx.c, gdevxini.c) 77817dd7cddfSDavid du Colombier 77827dd7cddfSDavid du ColombierChanges all non-printer drivers so that they use the new std_device_body 77837dd7cddfSDavid du Colombiermacros. (gdev*.c) 77847dd7cddfSDavid du Colombier 77857dd7cddfSDavid du ColombierAdds a print_page_copies procedure for printer drivers, allowing the 77867dd7cddfSDavid du Colombierdriver to receive num_copies. (gdevprn.h, gdevprn.c) 77877dd7cddfSDavid du Colombier 77883ff48bf5SDavid du Colombier</pre><h3><a name="V3.1_Interpreter"></a>Interpreter</h3><pre> 77897dd7cddfSDavid du Colombier 77907dd7cddfSDavid du ColombierFixes bugs: 77917dd7cddfSDavid du Colombier - ref_memory_enum/reloc_ptrs were declared inconsistently. 77927dd7cddfSDavid du Colombier(ialloc.c) 77937dd7cddfSDavid du Colombier - If the operand of restore was invalid, the restore did 77947dd7cddfSDavid du Colombiernothing, instead of giving a typecheck. (zvmem.c) 77957dd7cddfSDavid du Colombier - In Level 2, the margins and setmargins compatibility 77967dd7cddfSDavid du Colombieroperators were defined incorrectly in terms of current/setpagedevice. 77977dd7cddfSDavid du Colombier(gs_lev2.ps) 77987dd7cddfSDavid du Colombier 77997dd7cddfSDavid du ColombierEnables .makeoperator to make local operators as well as global ones. 78007dd7cddfSDavid du Colombier(opdef.h, iinit.c, zmisc.c, zpacked.c) 78017dd7cddfSDavid du Colombier 78027dd7cddfSDavid du ColombierFinishes implementing the TransferFunction entry in halftone 78037dd7cddfSDavid du Colombierdictionaries. (zht1.c, zht2.c) 78047dd7cddfSDavid du Colombier 78057dd7cddfSDavid du ColombierAdds .set/currentfilladjust operators for access to the fill 78067dd7cddfSDavid du Colombieradjustment parameter in the graphics state. (zgstate.h) 78077dd7cddfSDavid du Colombier 78087dd7cddfSDavid du ColombierRemoves the deviceinitialmatrix operator. (zdevice.c) 78097dd7cddfSDavid du Colombier 78107dd7cddfSDavid du ColombierChanges defaultmatrix from a procedure to an operator. (zmatrix.c) 78117dd7cddfSDavid du Colombier 78127dd7cddfSDavid du ColombierSets the fill adjustment to 0.5 for high-resolution devices, effectively 78137dd7cddfSDavid du Colombierimplementing Adobe's any-part-of-pixel filling rule. (gs_init.ps) 78147dd7cddfSDavid du Colombier 78157dd7cddfSDavid du ColombierImplements a small but useful subset of setpagedevice. (gs_lev2.ps) 78167dd7cddfSDavid du Colombier 78173ff48bf5SDavid du Colombier</pre><h3><a name="V3.1_Streams"></a>Streams</h3><pre> 78187dd7cddfSDavid du Colombier 78197dd7cddfSDavid du ColombierFixes bugs: 78207dd7cddfSDavid du Colombier - The eexec decoder incorrectly concluded that its data was 78217dd7cddfSDavid du Colombierin hex form if the first data character was whitespace. (seexec.c) 78227dd7cddfSDavid du Colombier 78233ff48bf5SDavid du Colombier</pre><h3><a name="V3.1_Library"></a>Library</h3><pre> 78247dd7cddfSDavid du Colombier 78257dd7cddfSDavid du ColombierFixes bugs: 78267dd7cddfSDavid du Colombier - Thin graphics (e.g., lines or rectangles) with small angles 78277dd7cddfSDavid du Colombierrelative to the X axis rendered with many points missing. (gxdraw.c, 78287dd7cddfSDavid du Colombiergxfill.c) 78297dd7cddfSDavid du Colombier - The character cache rejected oversampled characters if the 78307dd7cddfSDavid du Colombierscaled-up size was too large, even if the scaled-down size wasn't. 78317dd7cddfSDavid du Colombier(gxchar.h, gschar.c, gxccache.c, gxccman.c) 78327dd7cddfSDavid du Colombier - A call on sqrt with an integer argument didn't promote it 78337dd7cddfSDavid du Colombierexplicitly to double, which is required for non-ANSI compilers. 78347dd7cddfSDavid du Colombier(gshtscr.c) 78357dd7cddfSDavid du Colombier 78367dd7cddfSDavid du ColombierFinishes implementing the TransferFunction entry in halftone 78377dd7cddfSDavid du Colombierdictionaries. (gsht1.c) 78387dd7cddfSDavid du Colombier 78397dd7cddfSDavid du ColombierModifies the character oversampler so it can produce gray scale 78407dd7cddfSDavid du Colombieroutput instead of a 1-bit mask. We don't actually make use of this 78417dd7cddfSDavid du Colombierability yet. (gxccman.c) 78427dd7cddfSDavid du Colombier 78437dd7cddfSDavid du ColombierAdds gs_set/currentfilladjust for access to the fill adjustment 78447dd7cddfSDavid du Colombierparameter in the graphics state. (gsstate.h, gsstate.c) 78457dd7cddfSDavid du Colombier 78467dd7cddfSDavid du ColombierChanges the names of the last few routines beginning with gz_ to 78477dd7cddfSDavid du Colombierbegin with gx_ instead. (gzdraw.h => gxdraw.h, gsimage*.c, gxdraw.c, 78487dd7cddfSDavid du Colombiergxfill.c, gxstroke.c) 78497dd7cddfSDavid du Colombier 78507dd7cddfSDavid du ColombierProperly implements the PageSize, Margins, .HWMargins, and ImagingBBox 78517dd7cddfSDavid du Colombierdevice parameters for all devices. (gscoord.c, gsdparam.c, gspath2.c) 78527dd7cddfSDavid du ColombierImplements the NumCopies device parameter for printer devices. 78537dd7cddfSDavid du Colombier(gdevprn.c) 78547dd7cddfSDavid du Colombier 78557dd7cddfSDavid du ColombierImplements std_device_body macros to help insulate statically initialized 78567dd7cddfSDavid du Colombiernon-printer devices from future changes in the gx_device structure. 78577dd7cddfSDavid du Colombier(gxdevice.h, ... many .c files ...) 78587dd7cddfSDavid du Colombier 78593ff48bf5SDavid du Colombier</pre> 78607dd7cddfSDavid du Colombier 78613ff48bf5SDavid du Colombier<hr> 78623ff48bf5SDavid du Colombier 78633ff48bf5SDavid du Colombier<h2><a name="Version3.0.3"></a>Version 3.0.3 (9/16/94)</h2> 78643ff48bf5SDavid du Colombier 78653ff48bf5SDavid du Colombier<p> 78667dd7cddfSDavid du ColombierThis is primarily a bug fix release; it also implements most of the 78677dd7cddfSDavid du Colombierremaining Level 2 loose ends (except for setpagedevice). 78687dd7cddfSDavid du Colombier 78693ff48bf5SDavid du Colombier<h3><a name="V3.0.3_Documentation"></a>Documentation</h3><pre> 78707dd7cddfSDavid du Colombier 78717dd7cddfSDavid du ColombierChanges code that refers to "Ghostscript" to use the correct product 78727dd7cddfSDavid du Colombiername from gs_product. (gs.mak, gdevpbm.c, gdevsun.c, gswppm.c) 78737dd7cddfSDavid du Colombier 78747dd7cddfSDavid du ColombierDocuments the new .forgetsave operator. (language.doc) 78757dd7cddfSDavid du Colombier 78767dd7cddfSDavid du ColombierClarifies the distinction between commercial licensing and single-copy 78777dd7cddfSDavid du Colombierend-user sales. (readme) 78787dd7cddfSDavid du Colombier 78793ff48bf5SDavid du Colombier</pre><h3><a name="V3.0.3_Procedures"></a>Procedures</h3><pre> 78807dd7cddfSDavid du Colombier 78817dd7cddfSDavid du ColombierFixes bugs: 78827dd7cddfSDavid du Colombier - The compilation rule for gdevadmp.c was missing from the 78837dd7cddfSDavid du Colombiermakefile. (devs.mak) 78847dd7cddfSDavid du Colombier 78857dd7cddfSDavid du ColombierChanges the version numbering scheme back to A.B.C, since too many 78867dd7cddfSDavid du Colombierpeople got confused by the change to A.BC. (gconfig.c, gs.c, 78877dd7cddfSDavid du Colombiergs_init.ps) 78887dd7cddfSDavid du Colombier 78897dd7cddfSDavid du ColombierAdds a -dNOGC switch to prevent the garbage collector from being 78907dd7cddfSDavid du Colombierenabled. (gs_init.ps) 78917dd7cddfSDavid du Colombier 78923ff48bf5SDavid du Colombier</pre><h3><a name="V3.0.3_Utilities"></a>Utilities</h3><pre> 78937dd7cddfSDavid du Colombier 78947dd7cddfSDavid du ColombierRemoves the ps2image utility, since the new psmono driver replaces it. 78957dd7cddfSDavid du Colombier 78963ff48bf5SDavid du Colombier</pre><h3><a name="V3.0.3_Drivers"></a>Drivers</h3><pre> 78977dd7cddfSDavid du Colombier 78987dd7cddfSDavid du ColombierFixes bugs: 78997dd7cddfSDavid du Colombier - The TIFF drivers incorrectly assumed that short and ulong 79007dd7cddfSDavid du Colombierwere the same size as TIFF_short and TIFF_ulong, causing problems on 79017dd7cddfSDavid du Colombier64-bit systems. (gdevtfax.c) 79027dd7cddfSDavid du Colombier - The EGA/VGA driver didn't do gray halftones properly if it 79037dd7cddfSDavid du Colombierwas configured as a monochrome or 8-color device. (gdevpcfb.h) 79047dd7cddfSDavid du Colombier - The comment in gdevevga.c incorrectly identified the file 79057dd7cddfSDavid du Colombieras gdevpcfb.c. (gdevevga.c) 79067dd7cddfSDavid du Colombier 79077dd7cddfSDavid du ColombierChanges the PC display drivers to save and restore more of the BIOS 79087dd7cddfSDavid du Colombierstate. (gdevpcfb.h, gdevevga.c, gdevpcfb.c, gdevsco.c) 79097dd7cddfSDavid du Colombier 79107dd7cddfSDavid du ColombierAdds a new psmono driver that does the same thing as ps2image, faster 79117dd7cddfSDavid du Colombierand more conveniently. (gdevpsim.c) 79127dd7cddfSDavid du Colombier 79137dd7cddfSDavid du ColombierReplaces the X11 driver with the one from 3.01, since the color 79147dd7cddfSDavid du Colombierhandling rewrite in 3.02 introduced serious bugs. (gdevx.h, gdevx.c, 79157dd7cddfSDavid du Colombiergdevxini.c) 79167dd7cddfSDavid du Colombier 79173ff48bf5SDavid du Colombier</pre><h3><a name="V3.0.3_Platforms"></a>Platforms</h3><pre> 79187dd7cddfSDavid du Colombier 79197dd7cddfSDavid du ColombierChanges the definition of gx_no_color_index to work around one of the 79207dd7cddfSDavid du Colombierbugs in the SGI Irix compiler. (gxdcolor.h) 79217dd7cddfSDavid du Colombier 79227dd7cddfSDavid du ColombierRewrites the installation commands in unix-end.mak so they don't have 79237dd7cddfSDavid du Colombiervery long lines. (unix-end.mak) 79247dd7cddfSDavid du Colombier 79253ff48bf5SDavid du Colombier</pre><h3><a name="V3.0.3_Fonts"></a>Fonts</h3><pre> 79267dd7cddfSDavid du Colombier 79277dd7cddfSDavid du ColombierFixes bugs: 79287dd7cddfSDavid du Colombier - Fonts that used 2- or 4-element arrays in the Metrics dictionary 79297dd7cddfSDavid du Colombierinterpreted the width and side bearing interchanged with each other. 79307dd7cddfSDavid du Colombier(gs_type1.ps) 79317dd7cddfSDavid du Colombier - Setting FONTPATH on the command line didn't work. (gs_fonts.ps) 79327dd7cddfSDavid du Colombier 79333ff48bf5SDavid du Colombier</pre><h3><a name="V3.0.3_Streams"></a>Streams</h3><pre> 79347dd7cddfSDavid du Colombier 79357dd7cddfSDavid du ColombierFixes bugs: 79367dd7cddfSDavid du Colombier - The stream position wasn't updated properly if sgets 79377dd7cddfSDavid du Colombiercrossed a buffer boundary. (stream.c) 79387dd7cddfSDavid du Colombier 79397dd7cddfSDavid du ColombierExtends the BoundedHuffman filters so they can encode and decode runs of 79407dd7cddfSDavid du Colombierzeros specially, and so they mark and detect EOD. (sbhc.h, shc.h, sbhc.c, 79417dd7cddfSDavid du Colombierzfilter2.c) 79427dd7cddfSDavid du Colombier 79437dd7cddfSDavid du ColombierProvides an alternate implementation of file streams which doesn't use 79447dd7cddfSDavid du Colombierstdio buffering and which works around the System V "interrupted system 79457dd7cddfSDavid du Colombiercall" problem. (stream.c, sfile.c, sfileno.c) 79467dd7cddfSDavid du Colombier 79477dd7cddfSDavid du ColombierIncreases the maximum LZW output code from 3000 to 4095. (slzwe.c) 79487dd7cddfSDavid du Colombier 79493ff48bf5SDavid du Colombier</pre><h3><a name="V3.0.3_Interpreter"></a>Interpreter</h3><pre> 79507dd7cddfSDavid du Colombier 79517dd7cddfSDavid du ColombierFixes bugs: 79527dd7cddfSDavid du Colombier - Opening a filter on a file of the wrong access type (read 79537dd7cddfSDavid du Colombiervs. write) didn't cause an error. (stream.h, sbasic.c, zfile.c, zfileio.c) 79547dd7cddfSDavid du Colombier - save performed an extra, unnecessary gsave. (zvmem.c) 79557dd7cddfSDavid du Colombier - sethalftone always gave a /undefined error. (zht2.c) 79567dd7cddfSDavid du Colombier - eexec decryption read too much data from the input -- in 79577dd7cddfSDavid du ColombierLevel 2, it isn't allowed to read 512 characters ahead. (sfilter.h, 79587dd7cddfSDavid du Colombierstrimpl.h, seexec.c, sstring.c, zfileio.c, zmisc1.c) 79597dd7cddfSDavid du Colombier - The scanner was too aggressive about allocating additional 79607dd7cddfSDavid du Colombierspace for strings on small machines. (iscan.c) 79617dd7cddfSDavid du Colombier - The AccurateScreens flag in Type 1 and Type 2 halftone 79627dd7cddfSDavid du Colombierdictionaries was being ignored. (zht2.c) 79637dd7cddfSDavid du Colombier - The Level 2 definition of margins in statusdict didn't 79647dd7cddfSDavid du Colombierallow for Margins being undefined in the current page device. 79657dd7cddfSDavid du Colombier(gs_lev2.ps) 79667dd7cddfSDavid du Colombier - The Interpolate flag was being ignored in image 79677dd7cddfSDavid du Colombierdictionaries. [implemented in library] 79687dd7cddfSDavid du Colombier - The TransferFunction option was being ignored in halftone 79697dd7cddfSDavid du Colombierdictionaries. (zht2.c) 79707dd7cddfSDavid du Colombier - Type 5 halftones usually didn't work, because they called 79717dd7cddfSDavid du Colombierthe wrong (or an invalid) spot function. (zht2.c) 79727dd7cddfSDavid du Colombier 79737dd7cddfSDavid du ColombierImplements a .forgetsave operator that effectively causes a given save (and 79747dd7cddfSDavid du Colombierall more recent saves) to disappear. (isave.h, stream.h, isave.c, zfile.c, 79757dd7cddfSDavid du Colombierzvmem.c) 79767dd7cddfSDavid du Colombier 79773ff48bf5SDavid du Colombier</pre><h3><a name="V3.0.3_Library"></a>Library</h3><pre> 79787dd7cddfSDavid du Colombier 79797dd7cddfSDavid du ColombierFixes bugs: 79807dd7cddfSDavid du Colombier - In the 1-operand form of the image operator, a Decode value of [1 79817dd7cddfSDavid du Colombier0] with 8-bit sample values and a single data source was treated the same 79827dd7cddfSDavid du Colombieras [0 1]. (gsimage1.c) 79837dd7cddfSDavid du Colombier - Some Monotype fonts put a callsubr between an OtherSubr call and 79847dd7cddfSDavid du Colombierthe following 'pop' opcodes (which the Adobe documentation forbids); The 79857dd7cddfSDavid du ColombierType 1 font interpreter gave an invalidfont error rather than allowing 79867dd7cddfSDavid du Colombierthis. (gxtype1.h, gstype1.c) 79877dd7cddfSDavid du Colombier - Patterns didn't implement XStep and YStep properly. 79887dd7cddfSDavid du Colombier(gxpcolor.h, gspcolor.c, gxclip2.c) 79897dd7cddfSDavid du Colombier - Clipping regions were sometimes 1 pixel too small at the edges; 79907dd7cddfSDavid du Colombierthis could cause vertical and horizontal lines produced by certain Windows 79917dd7cddfSDavid du Colombierdrivers to disappear. (gzpath.h, gxacpath.c, gxcpath.c, gxfill.c) 79927dd7cddfSDavid du Colombier - Oversampling cached rotated characters produced very bad 79937dd7cddfSDavid du Colombierresults (many dropouts). (gschar.c) 79947dd7cddfSDavid du Colombier - Rendering a DeviceGray color on a DeviceCMYK device applied 79957dd7cddfSDavid du Colombierthe transfer function to all 4 components, not just to the K 79967dd7cddfSDavid du Colombiercomponent. (gxcmap.c) 79977dd7cddfSDavid du Colombier - A screen specified with setcolorscreen didn't take effect 79987dd7cddfSDavid du Colombierproperly on CMYK devices. (gsht.c) 79997dd7cddfSDavid du Colombier 80007dd7cddfSDavid du ColombierImplements the Interpolate option for images. Currently this is only 80017dd7cddfSDavid du Colombierimplemented for portrait-orientation images (no rotation, skewing, or 80027dd7cddfSDavid du ColombierX-reflection). (gscspace.h, gximage.h, gscie.c, gscolor.c, gscolor1.c, 80037dd7cddfSDavid du Colombiergscolor2.c, gspcolor.c, gxcmap.c, gsimage.c, gsimage2.c, gsimage3.c) 80047dd7cddfSDavid du Colombier 80057dd7cddfSDavid du ColombierImplements AccurateScreens, but only in the form of a larger limit on 80067dd7cddfSDavid du Colombierthe size of a halftone super-cell. (gxht.h, gsht.c, gsht1.c) 80077dd7cddfSDavid du Colombier 80087dd7cddfSDavid du ColombierStarts to implement the TransferFunction option for halftones. 80097dd7cddfSDavid du Colombier(gzht.h, gzstate.h, gsht.c, ...too many others to list...) 80107dd7cddfSDavid du Colombier 80113ff48bf5SDavid du Colombier</pre> 80127dd7cddfSDavid du Colombier 80133ff48bf5SDavid du Colombier<h2><a name="Version3.02"></a>Version 3.02 (8/30/94)</h2> 80143ff48bf5SDavid du Colombier 80153ff48bf5SDavid du Colombier<p> 80167dd7cddfSDavid du ColombierThis is another bug fix release. It was distributed only to a few people, 80177dd7cddfSDavid du Colombiersince the new X Windows color mapping code is not reliable yet. 80187dd7cddfSDavid du Colombier 80193ff48bf5SDavid du Colombier<h3><a name="V3.02_Documentation"></a>Documentation</h3><pre> 80207dd7cddfSDavid du Colombier 80217dd7cddfSDavid du ColombierFixes bugs: 80227dd7cddfSDavid du Colombier - make.doc, but not unixtail.mak, called for setting PLATFORM=unix_ 80237dd7cddfSDavid du Colombieron SVR4 platforms. (unixtail.mak) 80247dd7cddfSDavid du Colombier - drivers.doc contained some wording that suggested that 80257dd7cddfSDavid du ColombierGhostscript always used RGB colors internally. (drivers.doc) 80267dd7cddfSDavid du Colombier - The definition of gx_device in drivers.doc had gotten out of sync 80277dd7cddfSDavid du Colombierwith gxdevice.h. (drivers.doc) 80287dd7cddfSDavid du Colombier - README claimed that Ghostscript is not compatible with the 80297dd7cddfSDavid du ColombierVAX/VMS DEC C compiler, which is no longer true. (readme) 80307dd7cddfSDavid du Colombier 80317dd7cddfSDavid du ColombierAdds a new section on printer drivers to drivers.doc. (drivers.doc) 80327dd7cddfSDavid du Colombier 80337dd7cddfSDavid du ColombierAdds a large number of new display boards to the 800x600 SVGA section of 80347dd7cddfSDavid du Colombieruse.doc. (use.doc) 80357dd7cddfSDavid du Colombier 80367dd7cddfSDavid du ColombierAdds a bug report form to the README file. (readme) 80377dd7cddfSDavid du Colombier 80387dd7cddfSDavid du ColombierNotes that OSF/1 AXP systems require changing the definition of INSTALL 80397dd7cddfSDavid du Colombierfrom install to installbsd. (make.doc) 80407dd7cddfSDavid du Colombier 80413ff48bf5SDavid du Colombier</pre><h3><a name="V3.02_Procedures"></a>Procedures</h3><pre> 80427dd7cddfSDavid du Colombier 80437dd7cddfSDavid du ColombierRemoves -Wno-uninitialized from the gcc flags, and fixes all the places (in 80447dd7cddfSDavid du ColombierAladdin's code only) that need to be fixed to pacify gcc after doing this. 80457dd7cddfSDavid du Colombier(gcc-head.mak, gdevgif.c, gdevmem2.c, gdevpcl.c, gs.c, gsht1.c, gsimpath.c, 80467dd7cddfSDavid du Colombiergsutil.c, gxclread.c, gxpcopy.c, gxstroke.c, idict.c, iscannum.c, stream.c, 80477dd7cddfSDavid du Colombierzdevice2.c) (NOT FINISHED YET) 80487dd7cddfSDavid du Colombier 80497dd7cddfSDavid du ColombierAdds a FAKEFONTS switch that makes fake entries in FontDirectory for 80507dd7cddfSDavid du Colombierunloaded fonts, for the benefit of programs that think they can find all 80517dd7cddfSDavid du Colombierthe available fonts by scanning FontDirectory. (gs_fonts.ps, gs_init.ps) 80527dd7cddfSDavid du Colombier 80533ff48bf5SDavid du Colombier</pre><h3><a name="V3.02_Utilities"></a>Utilities</h3><pre> 80547dd7cddfSDavid du Colombier 80557dd7cddfSDavid du ColombierFixes bugs: 80567dd7cddfSDavid du Colombier - ps2epsi didn't work, because setdevice now erases the page. 80577dd7cddfSDavid du Colombier(ps2epsi.ps) 80587dd7cddfSDavid du Colombier - ps2epsi didn't work, because -dNODISPLAY installs a null device 80597dd7cddfSDavid du Colombierwith 0 width and height. The fix -- to remove the -dNODISPLAY -- is not 80607dd7cddfSDavid du Colombiersatisfactory, because it opens an unnecessary window. (ps2epsi) 80617dd7cddfSDavid du Colombier 80623ff48bf5SDavid du Colombier</pre><h3><a name="V3.02_Drivers"></a>Drivers</h3><pre> 80637dd7cddfSDavid du Colombier 80647dd7cddfSDavid du ColombierFixes bugs: 80657dd7cddfSDavid du Colombier - gdev_fax_open was incorrectly declared static in gdevtfax.c, 80667dd7cddfSDavid du Colombiercausing the extern reference in the dfax drivers not to be resolved. 80677dd7cddfSDavid du Colombier(gdevtfax.c) 80687dd7cddfSDavid du Colombier - devs.mak included a duplicate definition of gdevmswn_h. 80697dd7cddfSDavid du Colombier(devs.mak) 80707dd7cddfSDavid du Colombier - The fax drivers didn't link properly in Level 1 systems, because 80717dd7cddfSDavid du Colombiershc.c was omitted from their dependency list. (gs.mak, devs.mak) 80727dd7cddfSDavid du Colombier - The TIFF/F drivers didn't set RowsPerStrip properly. 80737dd7cddfSDavid du Colombier(gdevtfax.c) 80747dd7cddfSDavid du Colombier - The TIFF/F drivers didn't byte-align the EOL properly. (scfx.h, 80757dd7cddfSDavid du Colombiergdevdfax.c, gdevtfax.c, scfe.c, zfilter2.c) 80767dd7cddfSDavid du Colombier - The rule for compiling gdevpccm.c incorrectly specified 80777dd7cddfSDavid du Colombierdependency on gs.h rather than gx.h. (devs.mak) 80787dd7cddfSDavid du Colombier - The rule for compiling gdevtfax.c didn't include time_.h as a 80797dd7cddfSDavid du Colombierdependency. (devs.mak) 80807dd7cddfSDavid du Colombier - The mode 2 compression routine for the DeskJet/LaserJet printers 80817dd7cddfSDavid du Colombierwas broken. (gdevpcl.c) 80827dd7cddfSDavid du Colombier 80837dd7cddfSDavid du ColombierRemoves the -O0 from the compilation rule for gdevsco.c, since it was 80847dd7cddfSDavid du Colombiermisplaced to begin with. (devs.mak) 80857dd7cddfSDavid du Colombier 80867dd7cddfSDavid du ColombierAdds a maxDynamicColors X resource to control dynamic allocation in the 80877dd7cddfSDavid du Colombiercolor map. Replaces the X color lookup algorithms with completely new 80887dd7cddfSDavid du Colombierones, for a substantial performance gain. (gdevx.h, gdevx.c, gdevxini.c) 80897dd7cddfSDavid du Colombier 80907dd7cddfSDavid du ColombierAdds PageNumber, Software, and DateTime entries to the TIFF/F drivers. 80917dd7cddfSDavid du Colombier(gdevtifs.h, gdevtfax.c) 80927dd7cddfSDavid du Colombier 80937dd7cddfSDavid du ColombierChanges the margins for the LaserJet 4 to 0. (gdevdjet.c) 80947dd7cddfSDavid du Colombier 80957dd7cddfSDavid du ColombierAdds a user-contributed LaserJet 4 driver that does Floyd-Steinberg 80967dd7cddfSDavid du Colombierdithering. (gdevcdj.c) 80977dd7cddfSDavid du Colombier 80983ff48bf5SDavid du Colombier</pre><h3><a name="V3.02_Platforms"></a>Platforms</h3><pre> 80997dd7cddfSDavid du Colombier 81007dd7cddfSDavid du ColombierFixes bugs: 81017dd7cddfSDavid du Colombier - The exit codes for Ghostscript should be different on VMS. 81027dd7cddfSDavid du Colombier(iastate.h, gs.c, gsmain.c, igc.c, igcref.c) 81037dd7cddfSDavid du Colombier - The VMS DEC C compiler declares malloc and free in stdlib.h, and 81047dd7cddfSDavid du Colombierdelete and unlink in stdlib.h. (malloc_.h, stdio_.h) 81057dd7cddfSDavid du Colombier - st_prn_device wasn't defined, which upset the VMS linker even 81067dd7cddfSDavid du Colombierthough there were no references. (gdevprn.h) 81077dd7cddfSDavid du Colombier - stdpre.h didn't bring in the right headers when running gcc on 81087dd7cddfSDavid du ColombierSCO Unix, causing compilation warnings/errors. (stdpre.h) 81097dd7cddfSDavid du Colombier - The definition of rename in gp_sysv didn't include const for the 81107dd7cddfSDavid du Colombierarguments. (gp_sysv.c) 81117dd7cddfSDavid du Colombier - The definition of gettimeofday in gp_sysv didn't return any 81127dd7cddfSDavid du Colombiervalue. (gp_sysv.c) 81137dd7cddfSDavid du Colombier - time_.h didn't work on MS-DOS systems. (time_.h) 81147dd7cddfSDavid du Colombier - math_.h didn't include <math.h> when compiling with gcc on VMS 81157dd7cddfSDavid du Colombiersystems. (math_.h) 81167dd7cddfSDavid du Colombier - DesqView/X doesn't have a 'cat' command, which caused problems in 81177dd7cddfSDavid du Colombierthe linking step. (dvx-tail.mak) 81187dd7cddfSDavid du Colombier 81197dd7cddfSDavid du ColombierChanges the definitions of popen in gdevpipe.c and gp_unix.c so they don't 81207dd7cddfSDavid du Colombierspecify the argument list. This is an attempt to get around the fact that 81217dd7cddfSDavid du Colombierthere is no easy way to detect whether the available header files declare 81227dd7cddfSDavid du Colombierpopen correctly (with const arguments), incorrectly (with non-const 81237dd7cddfSDavid du Colombierarguments), or not at all. (gdevpipe.c, gp_unix.c) 81247dd7cddfSDavid du Colombier 81257dd7cddfSDavid du ColombierReplaces VMS.MAK, VMS-CC.MAK, and VMS-AXP.MAK with new versions provided by 81267dd7cddfSDavid du Colombiera user. (vms.mak, vms-cc.mak, vms-axp.mak) 81277dd7cddfSDavid du Colombier 81287dd7cddfSDavid du ColombierChanges the 16-bit Borland makefiles so their standard configuration is 81297dd7cddfSDavid du ColombierLevel 1 plus color.dev (CMYK color and colorimage). (bc.mak, bcwin.mak) 81307dd7cddfSDavid du Colombier 81313ff48bf5SDavid du Colombier</pre><h3><a name="V3.02_Fonts"></a>Fonts</h3><pre> 81327dd7cddfSDavid du Colombier 81337dd7cddfSDavid du ColombierFixes bugs: 81347dd7cddfSDavid du Colombier - cfonts.mak still referred to some .gsf files that have been 81357dd7cddfSDavid du Colombierreplaced by .pfa files. (cfonts.mak) 81367dd7cddfSDavid du Colombier - Compiled fonts got entered into FontDirectory, but didn't get 81377dd7cddfSDavid du Colombierregistered as resources. (gs_ccfnt.ps) 81387dd7cddfSDavid du Colombier - The Cyrillic, Kana, Hershey .gsf, and URW fonts didn't include a 81397dd7cddfSDavid du Colombiernecessary systemdict begin/end, which caused them to fail in badly designed 81407dd7cddfSDavid du Colombierenvironments. (fonts/f*.gsf, fonts/h*.gsf, fonts/?0*.gsf) 81417dd7cddfSDavid du Colombier 81427dd7cddfSDavid du ColombierChanges the default target directory in cfonts.mak from fonts/c to .; 81437dd7cddfSDavid du Colombierchanges the names of the Zapf Chancery compiled font procedures from c* to 81447dd7cddfSDavid du Colombierzc*. (cfonts.mak) 81457dd7cddfSDavid du Colombier 81467dd7cddfSDavid du ColombierAdds more fonts from the Adobe Type Manager package for MS Windows to 81477dd7cddfSDavid du ColombierFontmap.ATM. (fontmap.atm) 81487dd7cddfSDavid du Colombier 81497dd7cddfSDavid du ColombierAdds the entire set of 35 standard fonts to the ccfonts feature in gs.mak; 81507dd7cddfSDavid du Colombierremoves all the compilation rules for compiled fonts, since these rules are 81517dd7cddfSDavid du Colombierin cfonts.mak already. (gs.mak) 81527dd7cddfSDavid du Colombier 81533ff48bf5SDavid du Colombier</pre><h3><a name="V3.02_Interpreter"></a>Interpreter</h3><pre> 81547dd7cddfSDavid du Colombier 81557dd7cddfSDavid du ColombierFixes bugs: 81567dd7cddfSDavid du Colombier - kshow executed a null, rather than the correct procedure, between 81577dd7cddfSDavid du Colombierthe characters of the string, and got a typecheck error at the end. 81587dd7cddfSDavid du Colombier(zchar.c) 81597dd7cddfSDavid du Colombier - MultiMaster fonts computed their side bearing and width 81607dd7cddfSDavid du Colombierincorrectly, producing incorrect output. (zchar1.c) 81617dd7cddfSDavid du Colombier - There was no structure definition for gs_type1_state, so a GC 81627dd7cddfSDavid du Colombierduring the execution of an OtherSubrs procedure could scramble pointers in 81637dd7cddfSDavid du Colombierthe saved state. (zchar1.c, zfont1.c; also affects library, see below) 81647dd7cddfSDavid du Colombier - kshow didn't work properly if the kerning procedure changed the 81657dd7cddfSDavid du Colombierdepth of the operand or dictionary stack. (zchar.c) 81667dd7cddfSDavid du Colombier - If the element count for roll was too large by only 1 or 2, the 81677dd7cddfSDavid du Colombierresult was a crash rather than a rangecheck. (zstack.c) 81687dd7cddfSDavid du Colombier - restore didn't undo currentgstate. (igstate.h, store.h, 81697dd7cddfSDavid du Colombiergsstate.c, zdevice2.c, zdps1.c, ztype.c) 81707dd7cddfSDavid du Colombier - The scanner didn't set the local bit properly in a suspended 81717dd7cddfSDavid du Colombierstate. (iscan.c) 81727dd7cddfSDavid du Colombier - copypage disregarded #copies. (gs_init.ps) 81737dd7cddfSDavid du Colombier - An incorrectly declared pointer led to addressing faults on 81747dd7cddfSDavid du Colombier16-bit systems. (zchar1.c) 81757dd7cddfSDavid du Colombier - The cache for Separation colors was allocated with one element 81767dd7cddfSDavid du Colombiertoo few. (zcsindex.c) 81777dd7cddfSDavid du Colombier 81787dd7cddfSDavid du ColombierChanges `executive' so that if an error other than EOF occurs in the 81797dd7cddfSDavid du Colombierreading of the statement, the interpreter prints the error message, but 81807dd7cddfSDavid du Colombiercontrol remains in the executive loop. (This isn't a very good fix; a 81817dd7cddfSDavid du Colombierbetter one will require refactoring executive / execute / run.) 81827dd7cddfSDavid du Colombier(gs_init.ps) 81837dd7cddfSDavid du Colombier 81847dd7cddfSDavid du ColombierChanges dictionary undo saving to use the new ref_must_save macro [internal 81857dd7cddfSDavid du Colombierchange only]. (idict.c) 81867dd7cddfSDavid du Colombier 81877dd7cddfSDavid du ColombierMoves configuration definitions from iinit.c to gconfig.c. (gcdefs.h, 81887dd7cddfSDavid du Colombierinterp.h, gconfig.c, gs.c, iinit.c, zmisc2.c, gs.mak) 81897dd7cddfSDavid du Colombier 81907dd7cddfSDavid du ColombierMoves =string from systemdict to userdict for Adobe compatibility. 81917dd7cddfSDavid du Colombier(gs_init.ps) 81927dd7cddfSDavid du Colombier 81937dd7cddfSDavid du ColombierStarts to implement the Interpolate flag in image dictionaries. See under 81947dd7cddfSDavid du ColombierLibrary below for restrictions. (zpaint.c, zimage2.c) 81957dd7cddfSDavid du Colombier 81963ff48bf5SDavid du Colombier</pre><h3><a name="V3.02_Streams"></a>Streams</h3><pre> 81977dd7cddfSDavid du Colombier 81987dd7cddfSDavid du ColombierFixes bugs: 81997dd7cddfSDavid du Colombier - stream_compact attempted to compact a read-only string being used 82007dd7cddfSDavid du Colombieras the data source of a filter. (sbasic.c, stream.c) 82017dd7cddfSDavid du Colombier 82027dd7cddfSDavid du ColombierAdds an EncodedEOLAlign flag to the CCITTFaxEncode stream, to allow direct 82037dd7cddfSDavid du Colombiergeneration of TIFF/F output. (scfx.h, scfe.c, zfilter2.c) 82047dd7cddfSDavid du Colombier 82053ff48bf5SDavid du Colombier</pre><h3><a name="V3.02_Library"></a>Library</h3><pre> 82067dd7cddfSDavid du Colombier 82077dd7cddfSDavid du ColombierFixes bugs: 82087dd7cddfSDavid du Colombier - There was no structure definition for gs_type1_state, so a GC 82097dd7cddfSDavid du Colombierduring the execution of an OtherSubrs procedure could scramble pointers in 82107dd7cddfSDavid du Colombierthe saved state. (gxfont1.h, gxtype1.h, gstype1.c, gxhint2.c) 82117dd7cddfSDavid du Colombier - A couple of calls had to discard const, but didn't include the 82127dd7cddfSDavid du Colombiernecessary cast. (gxpcmap.c) 82137dd7cddfSDavid du Colombier - makeimagedevice refused to accept an empty image. (gsdevice.c) 82147dd7cddfSDavid du Colombier - The extra parentheses around arguments in memory_.h caused some 82157dd7cddfSDavid du Colombiercompilers to fail. (memory_.h) 82167dd7cddfSDavid du Colombier - Floating point overflows during coordinate conversion terminated 82177dd7cddfSDavid du ColombierGhostscript. (gxfarith.h, gxfixed.h, gsmatrix.c, gsmisc.c) 82187dd7cddfSDavid du Colombier - Accents still weren't getting placed properly on characters 82197dd7cddfSDavid du Colombiercreated with seac. (gstype1.c, gxhint2.c) 82207dd7cddfSDavid du Colombier - The SGI C compiler couldn't handle the (perfectly legal) 82217dd7cddfSDavid du Colombierdefinitions of dev_init_[open_]misc. (gxdevice.h) 82227dd7cddfSDavid du Colombier - string_.h caused some problems with gcc on some versions of 82237dd7cddfSDavid du ColombierSolaris. (string_.h) 82247dd7cddfSDavid du Colombier - The halftone levels for color screens were computed incorrectly. 82257dd7cddfSDavid du Colombier(gzht.h, gxdither.c) 82267dd7cddfSDavid du Colombier - Color screens sometimes had vertical stripes of solid color 82277dd7cddfSDavid du Colombierinterspersed. (gxcht.c) 82287dd7cddfSDavid du Colombier - Colors could get mapped incorrectly if a compiler aggressively 82297dd7cddfSDavid du Colombier(and incorrectly) reordered the computation of procedure arguments 82307dd7cddfSDavid du Colombierinvolving the unit_frac macro. (gxcmap.c) 82317dd7cddfSDavid du Colombier - setcachedevice[2] insisted that the corners of the bounding box 82327dd7cddfSDavid du Colombierbe given in the correct order, i.e., llx < urx and lly < ury. (gschar.c) 82337dd7cddfSDavid du Colombier - The image operator gave a limitcheck on unrotated 1-bit-per-pixel 82347dd7cddfSDavid du Colombierimages whose width in device coordinates exceeded 65529. (gsimage.c) 82357dd7cddfSDavid du Colombier - The garbage collector didn't trace the input data of an 82367dd7cddfSDavid du Colombierin-progress image operator correctly. (gsimage.c) 82377dd7cddfSDavid du Colombier 82387dd7cddfSDavid du ColombierChanges the max_rgb and dither_rgb members of gx_device_color_info to 82397dd7cddfSDavid du Colombiermax_color and dither_colors, since Ghostscript now uses these for CMYK 82407dd7cddfSDavid du Colombierdevices as well. Also changes dither_gray to dither_grays. (gdevmem.h, 82417dd7cddfSDavid du Colombiergdevprn.h, gxdevice.h, gdevbit.c, gdevcdj.c, gdevprn.c, gdevxini.c, 82427dd7cddfSDavid du Colombiergsdparam.c, gxcht.c, gxcmap.c) 82437dd7cddfSDavid du Colombier 82447dd7cddfSDavid du ColombierStarts to implement the Interpolate option for images. Currently this is 82457dd7cddfSDavid du Colombieronly implemented for image, not imagemask, and only for rotations that are 82467dd7cddfSDavid du Colombiermultiples of 90 degrees (possibly with reflection). (gsimage.h, 82477dd7cddfSDavid du Colombiergsiscale.h, gximage.h, gsimage.c, gsimage1.c, gsiscale.c) 82487dd7cddfSDavid du Colombier 82497dd7cddfSDavid du ColombierStarts to implement XStep and YStep in pattern dictionaries. (gxdcolor.h, 82507dd7cddfSDavid du Colombiergxpcolor.h, gspcolor.c, gxpcmap.c) 82517dd7cddfSDavid du Colombier 82523ff48bf5SDavid du Colombier</pre> 82537dd7cddfSDavid du Colombier 82543ff48bf5SDavid du Colombier<h2><a name="Version3.01"></a>Version 3.01 (8/14/94)</h2> 82553ff48bf5SDavid du Colombier 82563ff48bf5SDavid du Colombier<p> 82577dd7cddfSDavid du ColombierThis is a patch release to fix early problems in release 3.0, and to clean 82587dd7cddfSDavid du Colombierup a few known loose ends. 82597dd7cddfSDavid du Colombier 82603ff48bf5SDavid du Colombier<h3><a name="V3.01_Documentation"></a>Documentation</h3><pre> 82617dd7cddfSDavid du Colombier 82627dd7cddfSDavid du ColombierFixes bugs: 82637dd7cddfSDavid du Colombier - language.doc still documented the devicename procedure, which has 82647dd7cddfSDavid du Colombierbeen withdrawn. (language.doc) 82657dd7cddfSDavid du Colombier - drivers.doc didn't specify under what circumstances each 82667dd7cddfSDavid du Colombierprocedure could be called. (drivers.doc) 82677dd7cddfSDavid du Colombier - current.doc said that setcachedevice and makeimagedevice wouldn't 82687dd7cddfSDavid du Colombieraccept packed arrays, but neither of these operators takes any array 82697dd7cddfSDavid du Colombierarguments. (current.doc) 82707dd7cddfSDavid du Colombier - current.doc said that definefont didn't interact properly with 82717dd7cddfSDavid du Colombierthe resource machinery, which apparently is no longer true. (current.doc) 82727dd7cddfSDavid du Colombier - make.doc incorrectly gave the name of the DVX makefile as 82737dd7cddfSDavid du Colombierdvx-djg.mak rather than dvx-gcc.mak. (make.doc) 82747dd7cddfSDavid du Colombier - In one place, devices.doc incorrectly used -sBitsPerPixel= rather 82757dd7cddfSDavid du Colombierthan -dBitsPerPixel=. (devices.doc) 82767dd7cddfSDavid du Colombier 82777dd7cddfSDavid du ColombierNotes that a kernel bug in SCO Unix makes Ghostscript not work correctly in 82787dd7cddfSDavid du Colombiersome circumstances. (use.doc) 82797dd7cddfSDavid du Colombier 82803ff48bf5SDavid du Colombier</pre><h3><a name="V3.01_Procedures"></a>Procedures</h3><pre> 82817dd7cddfSDavid du Colombier 82827dd7cddfSDavid du ColombierFixes bugs: 82837dd7cddfSDavid du Colombier - devs.mak incorrectly referred to gdevjetp.c instead of 82847dd7cddfSDavid du Colombiergdev3852.c. (devs.mak) 82857dd7cddfSDavid du Colombier - The obsolete file gsprops.c was accidentally included in the 82867dd7cddfSDavid du Colombierfileset. 82877dd7cddfSDavid du Colombier 82887dd7cddfSDavid du ColombierChanges the version numbering scheme from A.BCC to A.B[C]. E.g., this 82897dd7cddfSDavid du Colombierrelease will be 3.01, not 3.001. (gs_init.ps, gs.c, iinit.c) 82907dd7cddfSDavid du Colombier 82917dd7cddfSDavid du ColombierAdds the LaserJet 4 driver to all makefiles that already include the 82927dd7cddfSDavid du ColombierLaserJet 3 driver. (*.mak) 82937dd7cddfSDavid du Colombier 82947dd7cddfSDavid du ColombierAdds the BJ-200 driver to all makefiles that already included the BJ-10e 82957dd7cddfSDavid du Colombierdriver. (*.mak) 82967dd7cddfSDavid du Colombier 82977dd7cddfSDavid du ColombierSplits the Unix 'install' target into install-exec and install-data. Moves 82987dd7cddfSDavid du Colombierthe executable scripts from gsdatadir to a new directory scriptdir, which 82997dd7cddfSDavid du Colombierdefaults to bindir. (ansihead.mak, cc-head.mak, gcc-head.mak, 83007dd7cddfSDavid du Colombierunix-end.mak) 83017dd7cddfSDavid du Colombier 83023ff48bf5SDavid du Colombier</pre><h3><a name="V3.01_Utilities"></a>Utilities</h3><pre> 83037dd7cddfSDavid du Colombier 83047dd7cddfSDavid du ColombierFixes bugs: 83057dd7cddfSDavid du Colombier - genconf had fixed buffer sizes built into it, which it could 83067dd7cddfSDavid du Colombieroverrun its working storage without checking. (genconf.c) 83077dd7cddfSDavid du Colombier 83087dd7cddfSDavid du ColombierRemoves RCS or SCCS headers from two utility files. (pj-gs.sh, 83097dd7cddfSDavid du Colombierprintafm.ps) 83107dd7cddfSDavid du Colombier 83113ff48bf5SDavid du Colombier</pre><h3><a name="V3.01_Drivers"></a>Drivers</h3><pre> 83127dd7cddfSDavid du Colombier 83137dd7cddfSDavid du ColombierFixes bugs: 83147dd7cddfSDavid du Colombier - The new dfaxhigh and dfaxlow drivers didn't set 83157dd7cddfSDavid du Colombierstate.EncodedByteAlign to false. (gdevdfax.c) 83167dd7cddfSDavid du Colombier - The sunview driver assumed that the device would be open before 83177dd7cddfSDavid du Colombiermap_rgb_color was called. (gdevsun.c) 83187dd7cddfSDavid du Colombier - The CP50 driver incremented page_count itself, rather than 83197dd7cddfSDavid du Colombierletting the core library do it. (gdevcp50.c) 83207dd7cddfSDavid du Colombier - The GIF driver(s) could loop indefinitely under certain 83217dd7cddfSDavid du Colombiercircumstances. (gdevgif.c) 83227dd7cddfSDavid du Colombier - The Group 4 fax drivers incorrectly included end-of-line codes in 83237dd7cddfSDavid du Colombierthe output. (gdevtfax.c, gdevdfax.c) 83247dd7cddfSDavid du Colombier - The Group 4 fax drivers could put out an EOB in the middle of the 83257dd7cddfSDavid du Colombierdata. (scfe.c) 83267dd7cddfSDavid du Colombier - The DesignJet 650C driver didn't use the correct compression 83277dd7cddfSDavid du Colombiermode. (gdevcdj.c) 83287dd7cddfSDavid du Colombier - The Hercules and EGA/VGA/SVGA drivers computed the page height 83297dd7cddfSDavid du Colombierincorrectly according to the A4 switch. (gdevherc.c, gdevpcfb.h) 83307dd7cddfSDavid du Colombier 83317dd7cddfSDavid du ColombierChanges the page_count and showpage_count members of the device structure 83327dd7cddfSDavid du Colombierfrom int to long. (gxdevice.h, gdevprn.c, gsdparam.c) 83337dd7cddfSDavid du Colombier 83347dd7cddfSDavid du ColombierChanges the faxg3, faxg32d, and faxg4 drivers so that, like the TIFF and 83357dd7cddfSDavid du Colombierdfax drivers, they adjust the page size to one of the three CCITT standard 83367dd7cddfSDavid du Colombiersizes if this is reasonable. (gdevtfax.c) 83377dd7cddfSDavid du Colombier 83387dd7cddfSDavid du ColombierSplits the bit driver into bit, bitrgb, and bitcmyk. Adds bitrgb and 83397dd7cddfSDavid du Colombierbitcmyk to all makefiles that included bit. (*.mak, devs.mak, gdevbit.c) 83407dd7cddfSDavid du Colombier 83417dd7cddfSDavid du ColombierReplaces the atiw16, tseng16, and tvga16 SuperVGA drivers with a single 83427dd7cddfSDavid du Colombiersvga16 driver that allows specifying the display mode number. (devs.mak, 83437dd7cddfSDavid du Colombiergdevpcfb.c) 83447dd7cddfSDavid du Colombier 83453ff48bf5SDavid du Colombier</pre><h3><a name="V3.01_Platforms"></a>Platforms</h3><pre> 83467dd7cddfSDavid du Colombier 83477dd7cddfSDavid du ColombierFixes bugs: 83487dd7cddfSDavid du Colombier - The MS Windows and OS/2 drivers allocated their terminal input 83497dd7cddfSDavid du Colombierbuffers in a way that could cause the GC to crash. (gp_mswin.c, gp_os2.c) 83507dd7cddfSDavid du Colombier - The handling of gettimeofday on SVR4 platforms was incorrect. 83517dd7cddfSDavid du Colombier(time_.h, gp_sysv.c, gp_unix.c) 83527dd7cddfSDavid du Colombier - On some platforms, function prototypes were not enabled even if 83537dd7cddfSDavid du Colombier__STDC__ was defined. (stdpre.h) 83547dd7cddfSDavid du Colombier - The VMS build script referred to an obsolete feature lev2only. 83557dd7cddfSDavid du Colombier(vms.mak) 83567dd7cddfSDavid du Colombier 83577dd7cddfSDavid du ColombierChanges the DVX platform so that stdprn is buffered. This should improve 83587dd7cddfSDavid du Colombierprinting performance dramatically. (gp_dvx.c) 83597dd7cddfSDavid du Colombier 83603ff48bf5SDavid du Colombier</pre><h3><a name="V3.01_Fonts"></a>Fonts</h3><pre> 83617dd7cddfSDavid du Colombier 83627dd7cddfSDavid du ColombierFixes bugs: 83637dd7cddfSDavid du Colombier - Setting DISKFONTS resulted in a reference to FontFileDirectory 83647dd7cddfSDavid du Colombierbefore it was defined. (gs_type1.ps, gs_fonts.ps) 83657dd7cddfSDavid du Colombier - /Font findresource gave an error rather than doing font 83667dd7cddfSDavid du Colombiersubstitution. (gs_res.ps) 83677dd7cddfSDavid du Colombier - FontDirectory wasn't rebound to GlobalFontDirectory when global 83687dd7cddfSDavid du ColombierVM was current. (gs_res.ps, zdict.c) 83697dd7cddfSDavid du Colombier - Type 1 fonts weren't loaded into global VM. (gs_fonts.ps) 83707dd7cddfSDavid du Colombier - In the standard Fontmap, the Utopia fonts had extension .gsf 83717dd7cddfSDavid du Colombierrather than .pfa. (fontmap.gs) 83727dd7cddfSDavid du Colombier - Fonts whose FontBBox was [0 0 0 0] were not displayed, or were 83737dd7cddfSDavid du Colombierdisplayed as tiny dots. (gs_type1.ps) 83747dd7cddfSDavid du Colombier 83753ff48bf5SDavid du Colombier</pre><h3><a name="V3.01_Interpreter"></a>Interpreter</h3><pre> 83767dd7cddfSDavid du Colombier 83777dd7cddfSDavid du ColombierFixes bugs: 83787dd7cddfSDavid du Colombier - dict_put could read from the variable pvslot before it was used. 83797dd7cddfSDavid du Colombier(This was harmless, since the value was never actually used; it just upset 83807dd7cddfSDavid du ColombierPurify.) (idict.c) 83817dd7cddfSDavid du Colombier - Binary object sequences could cause addressing faults. 83827dd7cddfSDavid du Colombier(iscanbin.c) 83837dd7cddfSDavid du Colombier - The attributes on names were set incorrectly in binary object 83847dd7cddfSDavid du Colombiersequences. (iscanbin.c) 83857dd7cddfSDavid du Colombier - gs.c duplicated (in some cases incorrectly) some definitions in 83867dd7cddfSDavid du Colombierinterp.h. (gs.c) 83877dd7cddfSDavid du Colombier - gs_lib_paths was declared const in one place and non-const in 83887dd7cddfSDavid du Colombieranother. (zfile.c) 83897dd7cddfSDavid du Colombier - file_restore and font_restore had inconsistent const declarations 83907dd7cddfSDavid du Colombierfor their argument. (isave.c) 83917dd7cddfSDavid du Colombier - iodev_os_open_file was missing its last formal parameter. 83927dd7cddfSDavid du Colombier(ziodev.c) 83937dd7cddfSDavid du Colombier - gs.c declared gs_devicename with an incorrect extern. (gs.c) 83947dd7cddfSDavid du Colombier - undefinefont didn't interact properly with the resource 83957dd7cddfSDavid du Colombiermachinery. (gs_lev2.ps) 83967dd7cddfSDavid du Colombier - The declaration for swap_entry used a typedef name as a formal 83977dd7cddfSDavid du Colombierparameter, which upset some compilers. (zmisc2.c) 83987dd7cddfSDavid du Colombier - Including the ccinit feature could cause the garbage collector to 83997dd7cddfSDavid du Colombiermake an invalid access. (stream.c) 84007dd7cddfSDavid du Colombier - The check for t_[a]struct types in ztype.c was incorrect. 84017dd7cddfSDavid du Colombier(ztype.c) 84027dd7cddfSDavid du Colombier - After the collection of halftone samples, temporary data 84037dd7cddfSDavid du Colombierstructures were freed incorrectly. (gzht.h, gsht1.c, zht.c) 84047dd7cddfSDavid du Colombier - Images with source width between 489 and 492 crashed the 84057dd7cddfSDavid du Colombiermemory manager. (iastate.h) 84067dd7cddfSDavid du Colombier 84077dd7cddfSDavid du ColombierMakes it possible to define SEARCH_HERE_FIRST (gsmain.c) in the makefile. 84087dd7cddfSDavid du Colombier(gsmain.c) 84097dd7cddfSDavid du Colombier 84107dd7cddfSDavid du ColombierSplits the Level 2 resource machinery into a separate file. (gs_lev2.ps, 84117dd7cddfSDavid du Colombiergs_res.ps, gs.mak, unix-end.mak, vms.mak). 84127dd7cddfSDavid du Colombier 84137dd7cddfSDavid du ColombierChanges the names of the DiffEncode/Decode filters to 84147dd7cddfSDavid du ColombierPixelDifferenceEncode/Decode, and splits them off into a separate 84157dd7cddfSDavid du Colombier"feature". (gs.mak, zfilter2.c, zfpdiff.c, spdiff.c, spdiffx.h) 84167dd7cddfSDavid du Colombier 84177dd7cddfSDavid du ColombierAdds experimental code for filtered image scaling. DON'T USE THIS CODE. 84187dd7cddfSDavid du Colombier(zimage2.c) 84197dd7cddfSDavid du Colombier 84203ff48bf5SDavid du Colombier</pre><h3><a name="V3.01_Streams"></a>Streams</h3><pre> 84217dd7cddfSDavid du Colombier 84227dd7cddfSDavid du ColombierFixes bugs: 84237dd7cddfSDavid du Colombier - The CCITTFaxEncode filter could put out an EOB in the middle of 84247dd7cddfSDavid du Colombierthe data. (scfe.c) 84257dd7cddfSDavid du Colombier 84267dd7cddfSDavid du ColombierSplits off the PixelDifferenceEncode/Decode filters into a separate 84277dd7cddfSDavid du Colombier"feature". (gs.mak) 84287dd7cddfSDavid du Colombier 84293ff48bf5SDavid du Colombier</pre><h3><a name="V3.01_Library"></a>Library</h3><pre> 84307dd7cddfSDavid du Colombier 84317dd7cddfSDavid du ColombierFixes bugs: 84327dd7cddfSDavid du Colombier - gs_setcachedevice could return a garbage error code. (gschar.c) 84337dd7cddfSDavid du Colombier - joins on stroked lines were incorrect if the device coordinate 84347dd7cddfSDavid du Colombiersystem mapped +Y to +Y. (gxstroke.c) 84357dd7cddfSDavid du Colombier - If gsmisc.c supplied versions of missing library routines, they 84367dd7cddfSDavid du Colombiercould clash with the names of the real ones if those were present 84377dd7cddfSDavid du Colombierunexpectedly. (memory_.h, gsmisc.c) 84387dd7cddfSDavid du Colombier - The initialization expression for is_open in the 84397dd7cddfSDavid du Colombierdev_init_misc_open macro included a cast, which some compilers don't allow. 84407dd7cddfSDavid du Colombier(gxdevice.h, gsdevice.c, gxclip2.c, gxpcmap.c) 84417dd7cddfSDavid du Colombier - In Type 1 fonts, character that specified their side bearing and 84427dd7cddfSDavid du Colombierwidth with sbw rather than hsbw gave an invalidfont error. (gstype1.c) 84437dd7cddfSDavid du Colombier - Some procedures were declared inconsistently with regard to const 84447dd7cddfSDavid du Colombierarguments. (gscie.c, gxpcmap.c, gxacpath.c, gxcmap.c) 84457dd7cddfSDavid du Colombier - A few places still assumed that pointers occupied 4 bytes. 84467dd7cddfSDavid du Colombier(gxclist.c) 84477dd7cddfSDavid du Colombier - Rendering a gray halftone on a CMYK device called the device's 84487dd7cddfSDavid du Colombiermap_rgb_color procedure instead of map_cmyk_color. (gxdither.c) 84497dd7cddfSDavid du Colombier 84507dd7cddfSDavid du ColombierRenames gsfile.c as gswppm.c. (gsfile.c, gswppm.c) 84517dd7cddfSDavid du Colombier 84527dd7cddfSDavid du ColombierImplements the ability to cache arbitrarily transformed characters. This 84537dd7cddfSDavid du Colombieris currently enabled by a compile-time flag in gschar.c. (gschar.c) 84547dd7cddfSDavid du Colombier 84553ff48bf5SDavid du Colombier</pre> 84567dd7cddfSDavid du Colombier 84573ff48bf5SDavid du Colombier<h2><a name="Version3.0"></a>Version 3.0 (8/1/94)</h2> 84583ff48bf5SDavid du Colombier 84593ff48bf5SDavid du Colombier<p> 84607dd7cddfSDavid du ColombierThis is the first full Level 2 version released to the public. 84617dd7cddfSDavid du ColombierUnfortunately, we were not able to include setpagedevice in this release. 84627dd7cddfSDavid du Colombier 84633ff48bf5SDavid du Colombier<h3><a name="V3.0_Documentation"></a>Documentation</h3><pre> 84647dd7cddfSDavid du Colombier 84657dd7cddfSDavid du ColombierFixes bugs: 84667dd7cddfSDavid du Colombier - README didn't mention Aladdin's European distributor. 84677dd7cddfSDavid du Colombier - psfiles.doc didn't describe some of the newer gs_*.ps files. 84687dd7cddfSDavid du Colombier 84697dd7cddfSDavid du ColombierNotes that gcc -O2 (version 2.5.8 of gcc) generates incorrect code for some 84707dd7cddfSDavid du Colombiermodules on the H-P RISC architecture. 84717dd7cddfSDavid du Colombier 84727dd7cddfSDavid du ColombierNotes that on AXP platforms running VMS, DEC C V4.0 is required. 84737dd7cddfSDavid du Colombier 84743ff48bf5SDavid du Colombier</pre><h3><a name="V3.0_Procedures"></a>Procedures</h3><pre> 84757dd7cddfSDavid du Colombier 84767dd7cddfSDavid du ColombierFixes bugs: 84777dd7cddfSDavid du Colombier - 'make clean' didn't delete devs.tr or t.tr. 84787dd7cddfSDavid du Colombier - devs.mak was missing the entry for faxg32d. 84797dd7cddfSDavid du Colombier - unixansi.mak omitted some drivers that were included in 84807dd7cddfSDavid du Colombierunix-cc.mak and unix-gcc.mak. 84817dd7cddfSDavid du Colombier 84827dd7cddfSDavid du ColombierUpdates jpeg.mak to reference version 5beta1 of the IJG JPEG code. 84837dd7cddfSDavid du Colombier 84847dd7cddfSDavid du ColombierChanges the version numbering scheme from A.B.C to A.B[CC]. I.e., the 84857dd7cddfSDavid du Colombierfirst sub-release after 3.0 will be 3.01 or 3.001, not 3.0.1. 84867dd7cddfSDavid du Colombier 84873ff48bf5SDavid du Colombier</pre><h3><a name="V3.0_Utilities"></a>Utilities</h3><pre> 84887dd7cddfSDavid du Colombier 84897dd7cddfSDavid du ColombierFixes bugs: 84907dd7cddfSDavid du Colombier - ps2ascii didn't do a setglobal. 84917dd7cddfSDavid du Colombier 84927dd7cddfSDavid du ColombierAdds an option to ansi2knr to convert ... to va_alist/va_dcl. 84937dd7cddfSDavid du Colombier 84943ff48bf5SDavid du Colombier</pre><h3><a name="V3.0_Drivers"></a>Drivers</h3><pre> 84957dd7cddfSDavid du Colombier 84967dd7cddfSDavid du ColombierFixes bugs: 84977dd7cddfSDavid du Colombier - The newly added faxg32d driver didn't have an entry in devs.mak. 84987dd7cddfSDavid du Colombier - The BMP, GIF, and PCX drivers wrote out an incorrect color 84997dd7cddfSDavid du Colombierpalette (the blue values were too small). 85007dd7cddfSDavid du Colombier - The vgalib driver had some compilation problems. 85017dd7cddfSDavid du Colombier - The TIFF drivers didn't produce correct multi-page output. 85027dd7cddfSDavid du Colombier 85037dd7cddfSDavid du ColombierAdds faxg32d and tiffg32d drivers. 85047dd7cddfSDavid du Colombier 85057dd7cddfSDavid du ColombierReinstates the DigiFax drivers, which were withdrawn when the new fax 85067dd7cddfSDavid du Colombierdrivers were added. 85077dd7cddfSDavid du Colombier 85083ff48bf5SDavid du Colombier</pre><h3><a name="V3.0_Platforms"></a>Platforms</h3><pre> 85097dd7cddfSDavid du Colombier 85107dd7cddfSDavid du ColombierFixes bugs: 85117dd7cddfSDavid du Colombier - gs_btokn.ps and gs_ccfnt.ps weren't installed on Unix platforms. 85127dd7cddfSDavid du Colombier - The VMS module list omitted SBHC, included a non-existent GXDASH, 85137dd7cddfSDavid du Colombierand had incorrect names for some of the IJG JPEG files. 85147dd7cddfSDavid du Colombier - The VMS build scripts (vms*.mak) had incorrect "boilerplate". 85157dd7cddfSDavid du Colombier - The VMS script file gssetmod.com had \r characters in it, as well 85167dd7cddfSDavid du Colombieras \n characters. 85177dd7cddfSDavid du Colombier - The echogs and genarch utilities didn't return the correct exit 85187dd7cddfSDavid du Colombiercodes under VMS. 85197dd7cddfSDavid du Colombier - The VMS Fontmap had incorrect entries for the Courier and Charter 85207dd7cddfSDavid du Colombierfonts. 85217dd7cddfSDavid du Colombier - When running under Ghostview, Ghostscript didn't drain the input 85227dd7cddfSDavid du Colombierpipe. (We fixed this with a temporary patch in gs.c; this isn't a good 85237dd7cddfSDavid du Colombiersolution for the longer term.) 85247dd7cddfSDavid du Colombier 85253ff48bf5SDavid du Colombier</pre><h3><a name="V3.0_Fonts"></a>Fonts</h3><pre> 85267dd7cddfSDavid du Colombier 85277dd7cddfSDavid du ColombierFixes bugs: 85287dd7cddfSDavid du Colombier - The free AvantGarde, Bookman, and Palatino font families had 85297dd7cddfSDavid du Colombierincorrect FontBBox values. 85307dd7cddfSDavid du Colombier - The 'f' and 'j' in the free AvantGarde-DemiOblique, 85317dd7cddfSDavid du ColombierBookman-DemiItalic, Bookman-LightItalic, and Palatino-Italic fonts were 85327dd7cddfSDavid du Colombierchopped off on the right. (The bitmaps were chopped off in the original 85337dd7cddfSDavid du ColombierBDF fonts from which these fonts were made.) ****** THIS PROBLEM WAS NOT 85347dd7cddfSDavid du ColombierACTUALLY FIXED. ****** 85357dd7cddfSDavid du Colombier 85363ff48bf5SDavid du Colombier</pre><h3><a name="V3.0_Interpreter"></a>Interpreter</h3><pre> 85377dd7cddfSDavid du Colombier 85387dd7cddfSDavid du ColombierFixes bugs: 85397dd7cddfSDavid du Colombier - gs -h and gs -v didn't print the tertiary version number correctly. 85407dd7cddfSDavid du Colombier - Binary object sequences with no strings or names didn't read in 85417dd7cddfSDavid du Colombiercorrectly. 85427dd7cddfSDavid du Colombier - Binary object sequences that crossed an input buffer boundary 85437dd7cddfSDavid du Colombierdidn't read in correctly. 85447dd7cddfSDavid du Colombier - Binary object sequences read in as {[e1 .. en] e1 ... en} instead 85457dd7cddfSDavid du Colombierof {[e1 ... en]}. (New bug in 2.9.x.) 85467dd7cddfSDavid du Colombier - setpattern didn't set the current color space correctly if the 85477dd7cddfSDavid du Colombiercurrent color space wasn't a Pattern space. 85487dd7cddfSDavid du Colombier - If the current color space was an uncolored Pattern space but the 85497dd7cddfSDavid du Colombiercurrent color was a colored Pattern, currentcolor returned extra values on 85507dd7cddfSDavid du Colombierthe operands stack. 85517dd7cddfSDavid du Colombier - .buildfont1 in gs_type1.ps didn't force binding of the old 85527dd7cddfSDavid du Colombierdefinition, causing ps2ascii to loop endlessly. 85537dd7cddfSDavid du Colombier 85547dd7cddfSDavid du ColombierAdds a facility for writing and reading dictionaries in binary object 85557dd7cddfSDavid du Colombiersequences. This is experimental and subject to change in the future. 85567dd7cddfSDavid du Colombier 85573ff48bf5SDavid du Colombier</pre><h3><a name="V3.0_Streams"></a>Streams</h3><pre> 85587dd7cddfSDavid du Colombier 85597dd7cddfSDavid du ColombierFixes bugs: 85607dd7cddfSDavid du Colombier - gs_run_string and ccinit didn't have any way to mark the string 85617dd7cddfSDavid du Colombieras "foreign", which confused the GC. 85627dd7cddfSDavid du Colombier 85633ff48bf5SDavid du Colombier</pre><h3><a name="V3.0_Library"></a>Library</h3><pre> 85647dd7cddfSDavid du Colombier 85657dd7cddfSDavid du ColombierFixes bugs: 85667dd7cddfSDavid du Colombier - gxchar.h had an extra comma after the last element of the 85677dd7cddfSDavid du Colombiershow_width_status enum, which upset some compilers. 85687dd7cddfSDavid du Colombier - stroke and strokepath didn't correctly skip zero-length segments 85697dd7cddfSDavid du Colombierif the line width was less than one pixel, or if there was a closed subpath 85707dd7cddfSDavid du Colombierconsisting entirely of zero-length segments. 85717dd7cddfSDavid du Colombier - strokepath sometimes incorrectly added a moveto at the end of the 85727dd7cddfSDavid du Colombierpath. 85737dd7cddfSDavid du Colombier</pre> 85747dd7cddfSDavid du Colombier 85757dd7cddfSDavid du Colombier<!-- [3.0 begin visible trailer] =========================================== --> 85767dd7cddfSDavid du Colombier<hr> 85777dd7cddfSDavid du Colombier 85783ff48bf5SDavid du Colombier<p> 85793ff48bf5SDavid du Colombier<small>Copyright © 1996, 1997, 1998 Aladdin Enterprises. 85803ff48bf5SDavid du ColombierAll rights reserved.</small> 85817dd7cddfSDavid du Colombier 85827dd7cddfSDavid du Colombier<p> 8583*593dc095SDavid du ColombierThis software is provided AS-IS with no warranty, either express or 8584*593dc095SDavid du Colombierimplied. 8585*593dc095SDavid du Colombier 8586*593dc095SDavid du ColombierThis software is distributed under license and may not be copied, 8587*593dc095SDavid du Colombiermodified or distributed except as expressly authorized under the terms 8588*593dc095SDavid du Colombierof the license contained in the file LICENSE in this distribution. 8589*593dc095SDavid du Colombier 8590*593dc095SDavid du ColombierFor more information about licensing, please refer to 8591*593dc095SDavid du Colombierhttp://www.ghostscript.com/licensing/. For information on 8592*593dc095SDavid du Colombiercommercial licensing, go to http://www.artifex.com/licensing/ or 8593*593dc095SDavid du Colombiercontact Artifex Software, Inc., 101 Lucas Valley Road #110, 8594*593dc095SDavid du ColombierSan Rafael, CA 94903, U.S.A., +1(415)492-9861. 85957dd7cddfSDavid du Colombier 85963ff48bf5SDavid du Colombier<p> 8597*593dc095SDavid du Colombier<small>Ghostscript version 8.53, 20 October 2005 85983ff48bf5SDavid du Colombier 85997dd7cddfSDavid du Colombier 86007dd7cddfSDavid du Colombier<!-- [3.0 end visible trailer] ============================================= --> 86017dd7cddfSDavid du Colombier 86027dd7cddfSDavid du Colombier</body> 86037dd7cddfSDavid du Colombier</html> 8604