1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Ghostscript change history (detailed)</title></title>
<!-- generated by split_changelog.py from the output of cvs2cl.pl -->
<!-- $Id: Details.htm 8566 2008-03-01 00:42:04Z giles $ -->
<link rel=stylesheet type="text/css" href="gs.css">
</head>
<body>
<p><strong><a name="2008-02-29T235931.476236Z"></a>
2008-02-29T23:59:31.476236Z Ray Johnston</strong></p>
<blockquote>
<pre>
Fix typo that caused unbalanced 'q' 'Q' operators in PDF's (caused by
rev 8501). Bug 689728.
</pre>
<p>[src/gdevpdfi.c]</p>
</blockquote>
<p><strong><a name="2008-02-29T222759.143965Z"></a>
2008-02-29T22:27:59.143965Z Ralph Giles</strong></p>
<blockquote>
<pre>
Release notes for the 8.62 release. Thanks to Ray Johnston for compiling these.
</pre>
<p>[doc/News.htm]</p>
</blockquote>
<p><strong><a name="2008-02-29T204904.253927Z"></a>
2008-02-29T20:49:04.253927Z Ralph Giles</strong></p>
<blockquote>
<pre>
Remove some C++ style comments.
</pre>
<p>[src/siscale.c src/gdevijs.c]</p>
</blockquote>
<p><strong><a name="2008-02-29T204902.503198Z"></a>
2008-02-29T20:49:02.503198Z Ralph Giles</strong></p>
<blockquote>
<pre>
Add some new files to the documentation tree.
</pre>
<p>[doc/Develop.htm]</p>
</blockquote>
<p><strong><a name="2008-02-29T204752.884152Z"></a>
2008-02-29T20:47:52.884152Z Ralph Giles</strong></p>
<blockquote>
<pre>
Update product name, copyright and release dates.
</pre>
<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Deprecated.htm doc/Source.htm man/ps2epsi.1 doc/Install.htm src/gscdef.c doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm src/version.mak man/gs.1 src/dwsetup.rc man/pf2afm.1 doc/Fonts.htm doc/Ps2ps2.htm man/printafm.1 doc/Develop.htm doc/Ps2pdf.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 src/winint.mak doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Make.htm doc/Details8.htm doc/Testing.htm doc/Unix-lpr.htm doc/Ps-style.htm doc/C-style.htm doc/History1.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]</p>
</blockquote>
<p><strong><a name="2008-02-29T185314.162723Z"></a>
2008-02-29T18:53:14.162723Z Ray Johnston</strong></p>
<blockquote>
<pre>
Add default FontResourceDir needed when COMPILE_INITS=1 is used so
that the fonts from Resource/Font in the distribution directory that
are built into %rom%Resource/Font/ will be found.
</pre>
<p>[src/iccinit1.c]</p>
</blockquote>
<p><strong><a name="2008-02-29T081308.227205Z"></a>
2008-02-29T08:13:08.227205Z Ray Johnston</strong></p>
<blockquote>
<pre>
Fix COMPILE_INITS=1. Note the next commit to the PCL tree will combine
with this one, but we can't commit to both trees atomically.
DETAILS:
Tested with Windows and linux. Needs OS/2 testing. Other build systems
may have bit rotted, and I don't hav them to test. Some of the changes
here are to allow working with a PCL or XPS only build where the PS
interpreter is not used/needed.
I noticed that the default systemparam value for FontResourceDir isn't
getting et to %rom$Resource/Font/ as it should, but GenericResourceDir
_is_ being initialized correctly to %rom%Resource/ which is _NOT_
fixed by this commit.
</pre>
<p>[src/openvms.mak src/psromfs.mak src/macosx.mak src/int.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/unixlink.mak src/os2.mak src/lib.mak src/bcwin32.mak src/ugcclib.mak src/gsromfs0.c src/Makefile.in src/msvc32.mak src/unix-gcc.mak src/unix-aux.mak src/macos-mcp.mak src/watclib.mak]</p>
</blockquote>
<p><strong><a name="2008-02-28T145632.629339Z"></a>
2008-02-28T14:56:32.629339Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Attempt to repair invalid embedded TT fonts without cmap table.
Bug 689707, customer 531.
DETAILS:
1. Use identity cmap if it is missing from the TT file. Set an unknown
language ID to activate post table processing.
2. To avoid false rejection during the validation of post table run the
validator only on the TT files generated by an utility that is known
to write broken post tables.
</pre>
<p>[lib/gs_ttf.ps]</p>
</blockquote>
<p><strong><a name="2008-02-27T193618.181168Z"></a>
2008-02-27T19:36:18.181168Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Improve transparency performance, step 4a.
DETAILS :
Bug 689708 "Long processing time of PDF file"
Bug 689714 "Severe performance penalty for PDF transparency through to clist"
The last patch is incomplete due to a commitment failure.
The patch completely removes .inittransparencymask because it is noop.
With the test case of the bug 689708 at 144 dpi
with default band size it reduces
the temp file size from 64.8Meg to 36.5 Meg,
and speeds up the rendering in 11 times.
With the test case of the bug 689714 at 144 dpi
with default band size it reduces
the temp file size from 12.0Meg to 3.3 Meg,
and speeds up the rendering in 11 times.
The speed factor depends on resolution.
</pre>
<p>[lib/pdf_draw.ps lib/pdf_ops.ps]</p>
</blockquote>
<p><strong><a name="2008-02-27T192257.279403Z"></a>
2008-02-27T19:22:57.279403Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Improve transparency performance, step 4.
DETAILS :
Bug 689708 "Long processing time of PDF file"
Bug 689714 "Severe performance penalty for PDF transparency through to clist"
The patch completely removes .inittransparencymask because it is noop.
With the test case of the bug 689708 at 144 dpi
with default band size it reduces
the temp file size from 64.8Meg to 36.5 Meg,
and speeds up the rendering in 11 times.
With the test case of the bug 689714 at 144 dpi
with default band size it reduces
the temp file size from 12.0Meg to 3.3 Meg,
and speeds up the rendering in 11 times.
The speed factor depends on resolution.
</pre>
<p>[src/gstrans.c src/ztrans.c src/gdevpdft.c src/gstrans.h src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2008-02-27T183931.036262Z"></a>
2008-02-27T18:39:31.036262Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Improve transparency performance, step 3.
DETAILS :
This is a preparation for fixing bug 689708 "Long processing time of PDF file"
The last patch appears incomplete, now fixing.
</pre>
<p>[src/gxistate.h]</p>
</blockquote>
<p><strong><a name="2008-02-27T004737.036819Z"></a>
2008-02-27T00:47:37.036819Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
Added setting of fill_rule in pclxl_endpath().
DETAILS:
The pclxl_endpath() function checked if a clip_rule needed to be set but not a fill_rule.
This is a fix for bug 689665.
</pre>
<p>[src/gdevpx.c]</p>
</blockquote>
<p><strong><a name="2008-02-27T000822.308407Z"></a>
2008-02-27T00:08:22.308407Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Improve transparency performance, step 2.
DETAILS :
This is a preparation for fixing bug 689708 "Long processing time of PDF file"
The last patch appears incomplete due to a missed dependence in makefile.
Now we see the mask pointer was used but it was always NULL.
</pre>
<p>[src/lib.mak src/gxistate.h src/gsistate.c src/gdevpdfg.c]</p>
</blockquote>
<p><strong><a name="2008-02-26T231440.608304Z"></a>
2008-02-26T23:14:40.608304Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Improve transparency performance, step 1.
DETAILS :
This is a preparation for fixing bug 689708 "Long processing time of PDF file"
It completely removes the mask pointer field from gs_transparency_source_s.
No idea what it was defined for. Nobody uses it.
</pre>
<p>[src/gstrans.c src/gstrans.h]</p>
</blockquote>
<p><strong><a name="2008-02-26T071249.848447Z"></a>
2008-02-26T07:12:49.848447Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Change the decimal separator in generated strings to '.' effectively selecting
a C numeric locale without calling any locale functions. Bug 689624.
DETAILS:
For most clients Ghostscript is a library. We cannot set C locale before
sprintf() and reset it afterwards because this may affect other threads.
</pre>
<p>[src/spprint.c src/zdouble.c]</p>
</blockquote>
<p><strong><a name="2008-02-25T161043.614503Z"></a>
2008-02-25T16:10:43.614503Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Remove a space betveen -f and a file name to prevent parsing of the file name
that starts with '-' as an options. Bug 689682.
</pre>
<p>[lib/ps2pdfxx.bat]</p>
</blockquote>
<p><strong><a name="2008-02-25T054845.219666Z"></a>
2008-02-25T05:48:45.219666Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Add a check for null value. Since rev. 6956 following Adobe implementation
Ghostscript doesn't accept null as a key in dictionary look-up. Bug 689696.
</pre>
<p>[lib/pdf2dsc.ps]</p>
</blockquote>
<p><strong><a name="2008-02-25T042047.177440Z"></a>
2008-02-25T04:20:47.177440Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
When the values of the color key mask exceed the valid range clip them to the
nearest valid values and continue. Don't discard the mask as we did before.
Bug 689717, customer 580.
</pre>
<p>[lib/pdf_draw.ps]</p>
</blockquote>
<p><strong><a name="2008-02-24T092154.361457Z"></a>
2008-02-24T09:21:54.361457Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (images) : Improve coordinate precision when scaling an image (continued 8).
DETAILS :
Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
Ghostscript Bug 689686 "siscale.c contrast degradation"
Accurately compute pixel center coordinates when applying the interpolation filter.
See comment in code. When scale=1, the offsets mutually eliminate.
Also the old code missed a bit when computing center_denom/2 in integers.
</pre>
<p>[src/siscale.c]</p>
</blockquote>
<p><strong><a name="2008-02-24T033703.979896Z"></a>
2008-02-24T03:37:03.979896Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (images) : Improve coordinate precision when scaling an image (continued 7).
DETAILS :
Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
Ghostscript Bug 689720 "Hang with -dDOINTERPOLATE caused by rev 8530 changes"
An expression for HeightOut missed 'abs' with recent patch.
Thanks to Ray for pointing it out.
</pre>
<p>[src/gxiscale.c]</p>
</blockquote>
<p><strong><a name="2008-02-24T025834.824461Z"></a>
2008-02-24T02:58:34.824461Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Fix link errors in the file descriptor-based implementation of file streams.
Move function used by both fd and stdio implementations to a separate file
and compile it in both versions. Bug 688918.
DETAILS:
Although the patch fixes link errors, pdfwrite and other devices,
use stdio functions directly and generate incorrect documents in fd version.
</pre>
<p>[src/lib.mak src/sfxstdio.c src/sfxcommon.c]</p>
</blockquote>
<p><strong><a name="2008-02-24T011218.214936Z"></a>
2008-02-24T01:12:18.214936Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Add definitions of some C99 types missing from old versions of Cygwin.
</pre>
<p>[src/stdint_.h]</p>
</blockquote>
<p><strong><a name="2008-02-23T222601.799844Z"></a>
2008-02-23T22:26:01.799844Z Ray Johnston</strong></p>
<blockquote>
<pre>
Fix typo that caused Cygwin build to fail if 'fontconfig' package was present.
</pre>
<p>[src/configure.ac]</p>
</blockquote>
<p><strong><a name="2008-02-22T201808.422807Z"></a>
2008-02-22T20:18:08.422807Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (images) : Improve coordinate precision when scaling an image (continued 6).
DETAILS :
Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
Ghostscript Bug 689718 "Regression: differences in FIG3.eps".
1. siscale.c : The revision 8529 patch part 4 tried to represent 'ceil' with rational
arithmetics. But when downsampling the argument still uses a floating
number WidthIn, so we still need 'ceil'.
This patch converts the formula back to floats,
assuming that double precision is enough for precise result
because source image size usually is smaller than 2^24.
The wrong rational representation of 'ceil' caused an array element index
to fall outside the array. Debugged with FIG3.eps.
2. Improved debug printing and visual trace.
</pre>
<p>[src/gsimage.c src/lib.mak src/gxiscale.c src/siscale.c src/gdevm24.c]</p>
</blockquote>
<p><strong><a name="2008-02-22T102949.290734Z"></a>
2008-02-22T10:29:49.290734Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (FAPI) : Embedded fonts didn't work (continued).
DETAILS :
A condition for querying a glyph in GlyphDirectory was wrong.
Debugged with buttons.pdf from Karen.
</pre>
<p>[src/zfapi.c]</p>
</blockquote>
<p><strong><a name="2008-02-22T100930.542153Z"></a>
2008-02-22T10:09:30.542153Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (FAPI) : Embedded fonts didn't work.
DETAILS :
Embedded Type 42 FAPI support was broken since
Revision 7107 Sun Oct 15 17:19:45 2006 UTC (16 months, 1 week ago)
due to premature binding.
</pre>
<p>[lib/gs_typ42.ps]</p>
</blockquote>
<p><strong><a name="2008-02-20T210248.212097Z"></a>
2008-02-20T21:02:48.212097Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (images) : Improve coordinate precision when scaling an image (continued 5).
DETAILS :
Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
This is a further improvement to image placement precision.
Debugged with a.pdf .
The old code provides insufficientg precision when computing
transformation matrix for an image. This computation
include matrix inversion and matrix miltiplication.
The old code uses floats and causes a visible shift of subimages with banding.
The new code uses double precision.
We didn't test how it relates to the revision 7026 change,
which dectreased the matrix precision for CPSI compatibility.
It should be a separate job.
In the new gsmatrix.c code we simply duplicate old code fragments
and replace types for double. We don't want to define a template
for now. Will see after the code passes enough practical work.
Besides that, in gxidata.c replaced fixed2int_pixround
with fixed2int_pixround_perfect. It is not related to a.pdf,
but we believe it is an useful change.
In gxipixel.c the patch replaces dda_advance with a repeated dda_next.
The old code appears implrecise due to loosing fraction pixels.
It eliminates a 1 pixel difference with Bug688789.pdf .
Minor changes : inserted debug printing and visual trace.
</pre>
<p>[src/lib.mak src/gsmatrix.c src/gximono.c src/gxidata.c src/gsmatrix.h src/gdevm24.c src/gxipixel.c]</p>
</blockquote>
<p><strong><a name="2008-02-18T202859.836803Z"></a>
2008-02-18T20:28:59.836803Z Ralph Giles</strong></p>
<blockquote>
<pre>
Propagate the new method argument change introduced in r8528 to the wts
device so that it compiles again.
</pre>
<p>[src/gdevwts.c]</p>
</blockquote>
<p><strong><a name="2008-02-17T233650.588580Z"></a>
2008-02-17T23:36:50.588580Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (images) : Improve coordinate precision when scaling an image (continued 4).
DETAILS :
Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
This patch doesn't change the algorithm.
It only removes tracks of dead development branches.
</pre>
<p>[src/gxiscale.c src/siscale.c src/gxipixel.c]</p>
</blockquote>
<p><strong><a name="2008-02-17T232547.528293Z"></a>
2008-02-17T23:25:47.528293Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (images) : Improve coordinate precision when scaling an image (continued 3).
DETAILS :
Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
1. The macro fixed2int_pixround returns a mathematically incorrect
result with negative half-integer arguments.
For example fixed2int_pixround(-2.5) = -3 when the math gives -2.
We guess it was designed for positive page coordinates only,
but later it was applied to objects with negative coordinates.
Particularly, an image can start outside the page with a negative coordinate,
and fixed2int_pixround causes distorsions with banding.
We do not update fixed2int_pixround for backward compatibility
of other parts of the algorithm. Instead that the patch defines
a mew macro fixed2int_pixround_perfect, and applies it to
images with Interpolate=true. (gxfixed.h, gxipixel.c, gxiscale.c).
2. Added gx_image_enum_s::yi0 to provide entire image origion in the page.
This value does not depend on band size, so it gives more stability -
see below. (gximage.h).
3. Added entire image sizes to stream_image_scale_params_s
for source image and scaled image. These values do not depend on band size
and provide more stability - see how they are used in siscale.c.
(sisparam.h, gxiscale.c).
4. (siscale.c) calculate_contrib now computes the filter kernel center
with global (page) coordinates of the image, using the right macro
fixed2int_pixround_perfect and with the rational arithmetics
instead floats. It gives the kernel center position relatively to source image
with no dependence on the band size. Also improved the debug printing
about that.
5. In siscale.c we keep track of some experiments done while
developing the patch. We need to save them to history because they're not trivial.
See comments in code. We'll remove them from trunk with a separate patch.
</pre>
<p>[src/lib.mak src/gxiscale.c src/gxfixed.h src/siscale.c src/sisparam.h src/gximage.h src/gxipixel.c]</p>
</blockquote>
<p><strong><a name="2008-02-17T223215.427994Z"></a>
2008-02-17T22:32:15.427994Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (images) : Improve coordinate precision when scaling an image (continued 2).
DETAILS :
Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
This patch does not change the algorithm,
except adding a debug printing with y coordinate of an image rectangle
in the page coordinate systems. It allows to compare
image fragments, which fall to verious bands depending on band size.
We could wrap the definition of gx_device_memory_s::band_y
and all access to it with #ifdef DEBUG,
but we don't want to reduce the readability and because
memory and the CPU time expense is too small.
</pre>
<p>[src/gxclist.c src/gxdevbuf.h src/gxdevmem.h src/gdevppla.c src/gdevmem.c src/gdevbmpa.c src/gdevprn.c src/gdevppla.h src/gdevm24.c src/gxclread.c src/gdevpng.c src/gdevprn.h src/gdevijs.c]</p>
</blockquote>
<p><strong><a name="2008-02-17T035945.216145Z"></a>
2008-02-17T03:59:45.216145Z Ray Johnston</strong></p>
<blockquote>
<pre>
Fix for regressions introduced with rev 8526. Some resolutions of CMYK, 1-bit
per component devices that had CMYK colors and Gray colors had strange dithers.
Bug 689706.
DETAILS:
The previous changes missed changing the cache index logic in gx_render_ht_1_level,
If the cache had been set with one of the other routines, gx_render_ht_default or
gx_dc_ht_binary_load_cache, then gx_render_ht_1_level would be inconsistent.
EXPECTED DIFFERNCES:
This is expected to resolve the regressions from rev 8527 with pkmraw on:
035-01.ps
119-28.ps
1_2001.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona_Measure_1v1.pdf
Altona_Visual_bb_1v1_x3.pdf
Altona_Visual_sb_1v1_x3.pdf
BEST8-99-Path.fh7.pdf
BW0696FOLD1FRONT.pdf
Bug687489.ps
Bug687724.pdf
Bug687832.pdf
Bug687840.pdf
Bug688308.ps
Bug688822.eps
Bug689269.ps
Clarke-Tate-Manns-Chinese.ai
H00216q.pdf
Original.pdf
S2_Digitalproof-Forum_x3k.pdf
a.pdf
besttest.pdf
cmyk.pdf
foo.pdf
knight.pdf
test.pdf
time1.pdf
</pre>
<p>[src/gxht.c]</p>
</blockquote>
<p><strong><a name="2008-02-14T083456.225081Z"></a>
2008-02-14T08:34:56.225081Z Ray Johnston</strong></p>
<blockquote>
<pre>
Improve Halftone tile cache efficiency. Make default cache large enough
on default 32-bit (LARGE) configuration to allow for > 256 cache tiles
when using the 'ht_ccsto.ps' 167x167 Threshold array. Change cache
lookup logic to eliminate collisions when the number of cache slots
exceeds the number of levels (the normal case). Remove duplicated
ht cache default size #defines and normalize the names to end in
_size (to imply size in bytes) and be consistent with other similar
function/macro names.
DETAILS:
When we have more cache slots than the number of levels, we can use
the 'b_level' directly and don't lookup based on the 'number of bits'
(level). This ELIMINATES collisions and on customer 661's benchmarks
resulted in up to 40% performance improvement for some files with
no performance degradation on any when running a large threshold
array based halftone (as the customer does).
The previous -Z. behavior is retained, although small cache sizes
are of questionable value, and this is sort of confusing since a
small memory build will use the same cache size with and without
-Z.
</pre>
<p>[src/gshtscr.c src/gzht.h src/gsht.c src/gdevprna.c src/gxht.c]</p>
</blockquote>
<p><strong><a name="2008-02-12T203017.540929Z"></a>
2008-02-12T20:30:17.540929Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (images) : Improve coordinate precision when scaling an image (continued).
DETAILS :
Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
This is another partial fix for the bug 687345 for portrait images with Interpolate=true.
Debugged with CET 148-13.
1. The old code inprecisely computes the scaling factor
when interpolating images with Mitchel filter.
The computation was done with the subimage rectangle,
which is different for different bands.
The new code always computes the scale from the entire image rectangle,
which's size is same for all bands.
2. New fields are inserted into gx_image_enum_s and stream_image_scale_params_s
to provide data delivery for (1).
3. In calculate_contrib in siscale.c the variable input_index
is renamed into starting_output_index for a better reflection of its semantics.
4. In calculate_contrib in siscale.c the new variable dst_offset_fraction
is added for a preciser positioning of the filter center,
when it fails between device pixel rows. The old code missed fractional
pixels when stepping to a next band. The expression for its value
was created empirically, so it may need further improvements.
5. Inserted visual trace instructions for easier debugging.
6. Improved the debug trace printing.
</pre>
<p>[src/gxdda.h src/lib.mak src/gxiscale.c src/siscale.c src/sisparam.h src/gximage.h src/gxipixel.c]</p>
</blockquote>
<p><strong><a name="2008-02-12T190319.125442Z"></a>
2008-02-12T19:03:19.125442Z Ralph Giles</strong></p>
<blockquote>
<pre>
Document the need to update the current documentation snapshot.
</pre>
<p>[doc/Release.htm]</p>
</blockquote>
<p><strong><a name="2008-02-09T023031.322331Z"></a>
2008-02-09T02:30:31.322331Z Ralph Giles</strong></p>
<blockquote>
<pre>
Clamp the number components read from the ICC DataSource array to the
number actually allocated to avoid buffer overflow. CESA-2008-001.
</pre>
<p>[src/zicc.c]</p>
</blockquote>
<p><strong><a name="2008-02-09T005538.575949Z"></a>
2008-02-09T00:55:38.575949Z Ralph Giles</strong></p>
<blockquote>
<pre>
Include 12 and 16 bit image support as part of the core graphics
library. Bug 689688.
Details:
Previously, the core graphics library defaulted to including the
'no12bit' and 'no16bit' modules, which contained stubs. These modules
were replaced by full implementations when the psl2lib (12 bit) and
pdfread (16 bit) modules were included.
We now consider this build-time flexibility redundant. The extra code is
not large and the default build generally includes it as these images
are part of all the newer page description languages. We therefore
include the unpack routines directly in libcore and remove the
noi1xbit modules entirely.
</pre>
<p>[src/lib.mak src/int.mak]</p>
</blockquote>
<p><strong><a name="2008-02-07T093322.506379Z"></a>
2008-02-07T09:33:22.506379Z Ken Sharp</strong></p>
<blockquote>
<pre>
Fix (pdfwrite): problems with unusual PDF text rendering modes.
Details:
Bug #689596 "Generated PDF loses an image from original".
Although the PDF interpreter stores both stroke and fill colours,
there is no way to pass both these colours to the graphics library.
The PostScript graphics state may only contain a single colour, and the
device interface only allows for a single colour to be passed.
The old code set the text rendering mode, and assumed that if the
current device was pdfwrite this would be sufficient. However the
need to set both colours causes this to fail.
Modified the pdf_ops to set a show/colour/charpath/stroke combination
instead. The existing code will spot text followed by a charpath of
the same text and collapse it back.
A number of other problems with text rendering modes were also addressed
at the same time, but in a less than optimal fashion. This patch
is a temporary fix while an enhancement is coded to better address
the problem.
(gdevpdts.c) pdf_render_mode_uses_stroke, was checking for render mode
not 0 (fill). Altered to check against the actual stroking modes.
(gdevpdtt.c) pdf_update_text_state was setting the text rendering mode
to 0 (fill) under most conditions. Altered this to set the mode from
the graphics state, unless the current font PaintType is 2 (stroke),
and the render mode is 0, in which case set render mode to 1 (stroke).
(pdf_ops.ps) Modify setshowstate to provide better methods of implementing
various text rendering modes to pdfwrite. Rendering is unaffected by
this change.
</pre>
<p>[src/gdevpdts.c src/gdevpdtt.c lib/pdf_ops.ps]</p>
</blockquote>
<p><strong><a name="2008-02-04T221808.283584Z"></a>
2008-02-04T22:18:08.283584Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (images) : Improve coordinate precision when scaling an image.
DETAILS :
Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
This is a partial fix for the bug 687345 for images with Interpolate=false.
Actually it is related to scaling raher than interpolation.
1. gx_image_enum_begin performed inaccurate coordinate computations,
which caused a different image bias for different bands
due to a wrong coordinate rounding.
The patch replaces it with a better code,
which provides same bias for all bands and for unbanded rendering.
But we're not sure that image placement is now perfect,
because the initial rounding looks strange.
We keep the initial rounding to be compatible with the old code
to minimize raster differences and easier visual analyzis.
For a while we keep the old code in #if 0 because
it may be useful for next patch.
2. image_render_frac contains optimized branches for the case when
image's axes are parallel to page's axes.
Those optimized branches convert parallelograms into rectangles,
except for the last parallelogramm in the chunk.
It caused the last parallelogram to shift in 1 pixel relatively
to the rectangles. This patch adds the optimized branch
for the last parallelogram, so that all image parts
are now placed with same rounding. It avoids rendering artifacts
with 148-05.ps and many other tests. Note that the patch does not fix
the rectangle shift from parallelograms,
so probably it still contain another bug,
which may need a separate fix.
3. While working on this patch we noted that update_strip
doesn't correctly preserve the fractional part for
dda.strip and dda.pixel . We include a track of that experiment
in the new code in #if 0 section for further development.
See comment in code.
4. Inserted visual trace commands for easier debugging.
</pre>
<p>[src/lib.mak src/gxidata.c src/gdevddrw.c src/gdevm24.c src/gxclread.c src/gxi12bit.c src/gxipixel.c]</p>
</blockquote>
<p><strong><a name="2008-02-03T175423.256452Z"></a>
2008-02-03T17:54:23.256452Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Modify pdf_info utility to match the changes in PDF interpreter interface.
Bug 689680.
</pre>
<p>[toolbin/pdf_info.ps]</p>
</blockquote>
<p><strong><a name="2008-02-01T220551.322620Z"></a>
2008-02-01T22:05:51.322620Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (graphics) : Interpolated images were shifed in a half of source pixel.
DETAILS :
Bug 687039 "Interpolated images looks strange on Win32 display device".
1. The old code maps the center of the [0,0]th source pixel
to the output image origin. However Adobe maps
the source pixel's corner to the output origin.
This patch compensates the shift when computing the
filter kernel position - see '0.5' when computing 'center'.
2. When the filter kernel scans partially outside the source image,
the math requires to extrapolate source data somenow
to fill the kernel. However the old code performs some strange
computation, which we're not sure what for.
It looks as a rudiment of wrapping the source image
like a thorus. Well, it's an useful math for periodic patterns,
but not for single images. Since we never apply siscale.c to
patterns, we replace this code portion with a simpler one,
which duplicates pixels at image boundaries.
See attachment to the bug to prove that Adobe does so.
</pre>
<p>[src/siscale.c]</p>
</blockquote>
<p><strong><a name="2008-01-31T222032.934182Z"></a>
2008-01-31T22:20:32.934182Z Ray Johnston</strong></p>
<blockquote>
<pre>
Fix ColorValues parameter problem when device has total number of bits (depth)
of more than 31 bits, resulting in a "rangecheck" (-15) error.
DETAILS:
The default get_params would not return -1 for values too large for 32 bits,
but the default put_params tested for this. The rangecheck would show up
on 32-bit devices, such as tiff32nc when running:
"currentpagedevice setpagedevice"
Note that the value returned for ColorValues was platform dependent since
it previously set ColorValues to 1<<depth, but 1<<32 is not -1 on any
platform (that I know of).
</pre>
<p>[src/gsdparam.c]</p>
</blockquote>
<p><strong><a name="2008-01-29T170250.720617Z"></a>
2008-01-29T17:02:50.720617Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (graphics) : Optimize filling a path with a shading color (continued 2).
DETAILS :
Bug 688970 "(shadings) Optimize filling a path with a shading color".
A minor code cleanup : Removing code portions that became unused.
</pre>
<p>[src/gsptype2.c src/gsptype2.h src/gximask.c src/gxfill.c]</p>
</blockquote>
<p><strong><a name="2008-01-29T124142.337727Z"></a>
2008-01-29T12:41:42.337727Z mpsuzuki</strong></p>
<blockquote>
<pre>
Fix (TT): Ignore broken post 2.0 table generated by "Windows Type 1 Installer".
DETAILS:
This is the second fix for bug 689495, that is quite specific
to a TrueType font generated by "Windows Type 1 Installer".
"Windows Type 1 Installer" makes a TrueType font including broken
post table in format 2.0. Previous fix (SVN revision 8351) just
ignores such broken post table, and ISOLatin1Encoding is used
for fallback. When such TrueType font is combined with WinAnsiEncoding,
some glyph names (exists only in WinAnsiEncoding) cannot be resolved.
The post table format 2.0 uses 2 maps to assign a glyph name to
TrueType glyph index: the first map is from TrueType glyph index
to glyph name index (glyphNameIndex[] array), the second map is
from glyph name index to glyph name string (names[] Pascal string
array). The broken post table generated by "Windows Type 1 Installer"
seems to use name[] array by TrueType glyph index directly, and
the glyphNameIndex[] array has unreliable values.
This patch sets /.broken_post when the post table is broken (the
detection of broken post table is same with SVN revision 8351),
then use names[] array by TrueType glyph index when /.broken_post
is set.
</pre>
<p>[lib/gs_ttf.ps]</p>
</blockquote>
<p><strong><a name="2008-01-29T115450.007576Z"></a>
2008-01-29T11:54:50.007576Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (graphics) : Optimize filling a path with a shading color (continued).
DETAILS :
Bug 688970 "(shadings) Optimize filling a path with a shading color".
A minor code cleanup : prepare to eliminate gx_dc_pattern2_clip_with_bbox.
</pre>
<p>[src/gximask.c]</p>
</blockquote>
<p><strong><a name="2008-01-28T230259.180158Z"></a>
2008-01-28T23:02:59.180158Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (graphics) : Optimize filling a path with a shading color.
DETAILS :
Bug 688970 "(shadings) Optimize filling a path with a shading color".
When filling a path with a shading color, the old code
first intersects the the clipping path with the path,
then intersects the result with the shading BBox.
However the intermediate result frequently appears to be
a big list of rectangles, so the second intersection is slow.
This patch accounts that the clipping path and shading BBox
frequently are rectangles, which are easier to intersect with
no converting to paths. Also the shading box is always a quadrangle,
so intersecting it early gives a smaller intermediate result.
Therefore we first intersect the clipping path with the shading BBox,
then with the path.
This patch keeps the old code within #if #endif
until the full regression testing is passed on the server.
Also would like to eliminate the old complicated function
gx_dc_pattern2_clip_with_bbox, which is still called from elswhere.
</pre>
<p>[src/gsptype2.c src/gsptype2.h src/gxfill.c]</p>
</blockquote>
<p><strong><a name="2008-01-28T103145.187261Z"></a>
2008-01-28T10:31:45.187261Z mpsuzuki</strong></p>
<blockquote>
<pre>
Fix: ignore the embedded font resource when PDF interpreter resolves
the unembedded font resource.
DETAILS:
Some PDF generators (e.g. Microsoft Office 2007 add-on to export the
documents to PDF format) emits incompatible font objects with same
resource name. The sample PDF in bug 689637 includes 2 "Times New
Roman" font objects: one is embedded CID-keyed TrueType for Cyrillic
glyphs, another is unembedded WinAnsiEncoding TrueType (possibly for
empty page header or footer). When PDF interpreter resolves latter
unembedded "Times New Roman", external font resource should be used
(Adobe Reader does so). But current Ghostscript uses former embedded
"Times New Roman", because the sample PDF includes "Times New Roman"
without randomization prefix.
To avoid the confusion between embedded and unembedded fonts with
same name, pfont->is_resource flag (=0 embedded, =1 unembedded)
is checked during font object resolution. Even if a cached font
object with same name is found, it is ignored if it is embedded
font. To execute this check in PostScript space (pdf_font.ps),
new operator ".isregisteredfont" is introduced. This patch assumes
that embedded font object in PDF is resolvable by tracking the
indirect object references. If a PDF assumes name-based resolution
of embedded font object (without indirect object), it may be
rendered by external font resource. At present, we don't have
such sample.
By this patch, bug 689637 is fixed.
</pre>
<p>[lib/pdf_font.ps src/zfont.c]</p>
</blockquote>
<p><strong><a name="2008-01-28T095854.861949Z"></a>
2008-01-28T09:58:54.861949Z mpsuzuki</strong></p>
<blockquote>
<pre>
Fix (TT): Fix a bug in /getinterval_from_stringarray
DETAILS:
getinterval_from_stringarray is a procedure defined to
extract a substring from long table of TrueType font.
When a table is too long to fit into 16bit-length string
object in PostScript, gs_ttf.ps split the table into
the array of strings. When getinterval_from_stringarray
is requested to extract a string which starts in one
member and ends in following member, it returns a string
that only the content of the first member is copied.
There was a wrong conditional that made the substring
extraction aborted. It was fixed to return the correct
substring.
By this fix, bug 689593 (IPA font 2007 edition cannot
be parsed correctly) is closed.
</pre>
<p>[lib/gs_ttf.ps]</p>
</blockquote>
<p><strong><a name="2008-01-28T085010.139318Z"></a>
2008-01-28T08:50:10.139318Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist & transparency) : Improve the compositor queue logic (continued).
DETAILS :
The last commit is incomplete due to human error.
Please don't use the last revision.
Bug 689492 "Ghostscript uses a large amount of memory", part 2.
This patch fixes the missed shadow of a text, which is mentioned
in the Comment #8 of the bug report.
1. Added macros for configuring visual trace for easier debugging.
2. The idle transparency bufer allocation condition was wrong.
The patched code allocated ;esser buffers.
3. Found more cases when a mask needs to be released.
4. The old code immediately executes idle masks.
It caused a wrong order for compositor execution
with images that have a soft mask.
With the test case the image's mask was executed before
the group that containing the image.
It caused a premature releasing of a mask,
which preceeeds the group and must noy be released.
The new code delays the execution of idle masks
after all containing groups are executed,
so that the queue is now longer and stores all masks.
We beleive that's not harmful, because
transparency queue elements are pretty small and
work for hos based applications only.
The new function mark_as_idle works for the new logic.
Few aother functions are enhanced with a smarter
processing of the idle flag.
5. Improved comments for the compositor queue logic.
</pre>
<p>[src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2008-01-28T084521.850870Z"></a>
2008-01-28T08:45:21.850870Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist & transparency) : Improve the compositor queue logic.
DETAILS :
Bug 689492 "Ghostscript uses a large amount of memory", part 2.
This patch fixes the missed shadow of a text, which is mentioned
in the Comment #8 of the bug report.
1. Added macros for configuring visual trace for easier debugging.
2. The idle transparency bufer allocation condition was wrong.
The patched code allocated ;esser buffers.
3. Found more cases when a mask needs to be released.
4. The old code immediately executes idle masks.
It caused a wrong order for compositor execution
with images that have a soft mask.
With the test case the image's mask was executed before
the group that containing the image.
It caused a premature releasing of a mask,
which preceeeds the group and must noy be released.
The new code delays the execution of idle masks
after all containing groups are executed,
so that the queue is now longer and stores all masks.
We beleive that's not harmful, because
transparency queue elements are pretty small and
work for hos based applications only.
The new function mark_as_idle works for the new logic.
Few aother functions are enhanced with a smarter
processing of the idle flag.
5. Improved comments for the compositor queue logic.
</pre>
<p>[src/gxclrast.c]</p>
</blockquote>
<p><strong><a name="2008-01-26T132127.618379Z"></a>
2008-01-26T13:21:27.618379Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (transparency) : Memory leak after an image with soft mask.
DETAILS :
Bug 689492 "Ghostscript uses a large amount of memory".
When a PDF command stream executes "/d1 gs /d2 gs" where d1 and d2 both define an
untrivial SMask (not important whether they are same mask or different masks),
the second mask replaces the first one, and the first one to be released.
When a transparent group includes an image with a soft mask
(this case happens in the test document for the bug), the image's soft mask must
*temporary* replace the groups soft mask, and the first mask must not
be released.
The old code does not distinguish these cases, assuming that
a mask buffer is being released after rendering a group with it.
Due to that some mask buffers were never released,
causing a memory leak with banded rendering,
because the clist interpreter doesn't run the garbager.
A simpler case for demonstrating the leak could be created with
"/d1 gs /d2 gs" as explained above.
The patch defines a new bool gs_transparency_mask_params_s::replacing,
gx_transparency_mask_params_s::replacing and gs_pdf14trans_params_s::replacing
for passing the necessary information through old interfaces.
Note that as usual we cannot change the device interface for
an easier passing of this info, because we need to maintain
the compatibility with 3d party devices.
Using the 'replacing' flag, pdf14_push_transparency_mask either replaces
the old mask buffer, or creates a new one as a temporary substitution for
an image with a soft mask. In the second case the group mask is
saved in the last transparency stack element in the field
buf->maskbuf. After rendering the image's group
the function pdf14_pop_transparency_group restores
the saved mask buffer, as it was set in the transparency context
before starting the image's mask. For more details see
comments added into gdevp14.c .
</pre>
<p>[src/gstrans.c src/ztrans.c src/gstparam.h src/gstrans.h src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2008-01-25T081716.431601Z"></a>
2008-01-25T08:17:16.431601Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (Font renderer) : Horizontal metrics sometimes applied with WMode 1 fonts.
DETAILS :
Bug 689464 "Japanese font writing direction (vertical ?)".
Bug 689646 "vertical text rendered by external CIDFontType0 flows horizontal".
1. When a descendent font of a type 0 CID font has zero FontBBox,
use the FontBBox of the CID font. This is another case when
a 3d party software generates a font with zero FontBBox.
We believe that such font data is incorrect,
but this patch provides a simple workaround.
2. When FontBBox to be used to compute Metrics2,
don't obtain sbw from type 1 glyph descriptions.
The old code does so causing the horizontal metrics
to be used when rendering a WMode 1 font.
3. The case (2) appears to have an exception,
when the font has CDevProc. In this case
we do need sbw from the glyph description
to provide arguments for CDevProc.
See alse the comment added to code.
Note that Type 1 font renderer now depends on some knowledge about type 0 CID font.
But this dependence does not break the configurability
because only an .h file is included into the Type 1 font renderer.
</pre>
<p>[src/int.mak src/zchar1.c]</p>
</blockquote>
<p><strong><a name="2008-01-23T211316.354024Z"></a>
2008-01-23T21:13:16.354024Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist & transparency) : Inconsisting compressed color index info.
DETAILS :
Bug 689626 "Segmentation Fault using 'bit' device to clist.".
The bug was put while the custom color callback merge in revision 7795.
The color index information to be passed to the clist writer
after restoring the color information to the clist writer.
Before restoring it is set to a blending space,
which may be incompatible with the target device's color index type.
I'm unable to test this patch fully
due to no test cases for antrivial spot colors with transparency.
</pre>
<p>[src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2008-01-23T183335.648405Z"></a>
2008-01-23T18:33:35.648405Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (DSC parser) : Avoid a structure type name duplicate.
DETAILS :
The old name cmd_list_s is also defined in gxclist.h .
It confused MSVC debugger while tracing gxclutil.c for bug 689626.
</pre>
<p>[src/zdscpars.c]</p>
</blockquote>
<p><strong><a name="2008-01-23T181227.956590Z"></a>
2008-01-23T18:12:27.956590Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (patterns) : The clipping was wrong with antrivial pattern matrix (continued).
DETAILS :
Bug 687196 "Incorrect pattern processing from Adobe test file pattyp1.ps".
This is a partial fix for the bug, which fixes vector devices only.
It closes the bug with the last patch applied.
The old code set identity matrix for a pattern dstream accummulation.
It appears incompatible with Type 2 pattern handler, which assumes
the default page matrix. This patch changes the matrix and improves
the pattern stream accumulator with accounting the default page scale.
</pre>
<p>[src/gdevpdfi.c src/zpcolor.c]</p>
</blockquote>
<p><strong><a name="2008-01-23T180949.970130Z"></a>
2008-01-23T18:09:49.970130Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (patterns) : The clipping was wrong with antrivial pattern matrix.
DETAILS :
Bug 687196 "Incorrect pattern processing from Adobe test file pattyp1.ps".
This is a partial fix for the bug, which fixes raster devices only.
1. The old code always sets a canonic rectangular clipping,
which is wrong with rotated or skewed matrices.
Note the patch resets path in the pattern's graphic state.
It is not done in the old code, so it may cause raster diferences.
But it is required in PLRM chapter 8 by the definition of 'makepattern'.
2. Adjust the pattern matrix to pixel grid.
After doing the change (1) the clipping area appears too small for some cases.
It happens because the tile origin falls at fractional pixels,
The new code causes a massive raster difference, which actually is minor
(a shift of some pattern instances in 1 pixel).
Note that PLRM requires to adjust pattern matrix in the definition of 'makepattern',
but doesn't explain how to.
3. In compute_inst_matrix perform computations in 'float'
because the matrix is represented with 'float'.
4. (miror change) Expanded the 'mat' macro for easier debugging with MSVC.
</pre>
<p>[src/gsptype1.c]</p>
</blockquote>
<p><strong><a name="2008-01-23T164951.344351Z"></a>
2008-01-23T16:49:51.344351Z Ken Sharp</strong></p>
<blockquote>
<pre>
Fix (pdfwrite): Wrong format string for pprintg.
Details:
Bug #689661 "pdfwrite : Incorrect sprintf format".
(gdevpdfu.c) The new function, 'pdf_write_font_bbox_float,
added in revision 8360, used the wrong format string (%f
instead of %g) to write the font BBox.
</pre>
<p>[src/gdevpdfu.c]</p>
</blockquote>
<p><strong><a name="2008-01-23T133039.283039Z"></a>
2008-01-23T13:30:39.283039Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (shadings) : A memory deallocation problem.
DETAILS :
Bug 689660 "memory deallication problems with shadings".
The old code used pdev->memory for temporary storing
an intersection of clipping path with shading bbox.
This is the global memory space.
However if the intersection is trivial,
the path of the clipping path is copied from the
original clipping path, which is allocated in the local memory space.
Later it causes a freeing of path segments to a wrong memory space.
This patch chooses the original clipping path's memory space
when the clipping path is available, and the global space otherwise.
</pre>
<p>[src/lib.mak src/gsptype2.c]</p>
</blockquote>
<p><strong><a name="2008-01-23T132309.676697Z"></a>
2008-01-23T13:23:09.676697Z Till Kamppeter</strong></p>
<blockquote>
<pre>
Added HP's KRGB patch for improved control of true black text printing on color printers with HPIJS. Bug #689065 (Ubuntu LP: #69905) is fixed in this updated version of the patch.
</pre>
<p>[src/gdevijs.c]</p>
</blockquote>
<p><strong><a name="2008-01-21T205955.657274Z"></a>
2008-01-21T20:59:55.657274Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (save/restore) : Remove gs_ref_memory_s::inherited.
DETAILS :
It is not used since revision 5250.
</pre>
<p>[src/gxalloc.h src/igc.c src/gsalloc.c src/isave.c]</p>
</blockquote>
<p><strong><a name="2008-01-20T222307.686290Z"></a>
2008-01-20T22:23:07.686290Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (save/restore) : Do not create invisible save levels.
DETAILS :
Invisible save levels is a rudiment of old code.
gs_ref_memory_s::scan_limit effectively work instead them
since revision 6706 committed on April 14 2006.
We're not sure what gs_ref_memory_s::inherited works for.
Keeping it updated for a while, and don't remove the
old code for reference. Note the maintanence of gs_ref_memory_s::inherited
in the new code is not fully equivalent to old code.
</pre>
<p>[src/isave.c]</p>
</blockquote>
<p><strong><a name="2008-01-20T095615.017727Z"></a>
2008-01-20T09:56:15.017727Z Ralph Giles</strong></p>
<blockquote>
<pre>
Only report the ICC Profile colorspace when the jasper library's debug
level is above zero. Bug 689662.
</pre>
<p>[jasper/src/libjasper/jp2/jp2_dec.c]</p>
</blockquote>
<p><strong><a name="2008-01-20T092115.660626Z"></a>
2008-01-20T09:21:15.660626Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (save/restore) : Compact the changes list against big memory leak.
DETAILS :
Bug 689536 "Memory leak reading PostScript file (PMR 53877).".
The old implementation includes an optimization agains a big CPU time expense
in 'save' and 'restore' for sedtting and resetting l_mark flags.
Normally, when executing 'save', the memory manager needs
to reset l_new marks for objects modified or allocated at the last save level,
so that their further modification on the next save level to be saved
in the changes list. When executing 'restore' these flags to be set
to prevent redundant save.
When the last save level includes many allocations,
the number of scanned objects is big and it causes a significant
time expense. A long ago Ghostscript implements an optimization,
which shorten the scanned list against the big time expense.
However the shortening causes redundant saving.
The redundant saving itself isn't harmful because
it happens seldon and spends a small memory.
However if a redundant save element points to a reference to
a newly allocated array or dictionary, the array or dictionary
can't be garbage collected. When a client executes such allocation and
same reference modification multiple times, all allocated arrays
and dictionaries persist in memory, causing a significant memory leak.
This patch compacts the saved change list whem a significant memory
allocation is accummulated since last save or since last compacting.
The new field gs_ref_memory_s::total_scanned_after_compacting
works for counting allocated elements. The new function
drop_redundant_changes performs the compacting. See comments in its code.
The threshold for starting drop_redundant_changes is choosen arbitrary.
It must not be too small, because the CPU time expense
optimization wouldn't be effective. Also it can't be too big,
because the memory leak recovery would not be effective.
This patch sets it to about 1600000 objects,
which is an experimental trade-of.
Note that this patch reduces the memory leak but doesn't
eliminate it to zero, because more data may be allocated
after the last filtering.
We could implement a filtering within the garbager rather
than withis save/restore. Actually it wouldn't change
the behavior to much, because the threshold would be still needed
against the CPU time expense, It happens because the scanning
deals with array or dictioanr elements rather than with
whole aggregates. Also we don't want to complicate the garbager.
Note that the arbitrary threshold is bigger than neccessary
for the simplified test case included into the bug report.
Due ti that the leak elimination does not happen with this test.
For the compacting to take place the sequence "NEWJOB Z"
to be repeated 90 times rather than 40 in the supplied test.
The customer's test does demonstrate the leak reducing.
</pre>
<p>[src/gxalloc.h src/gsalloc.c src/isave.c]</p>
</blockquote>
<p><strong><a name="2008-01-18T215038.830947Z"></a>
2008-01-18T21:50:38.830947Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Explicitly close CMap files opened during CMap-CIDFont font enumeration.
On certain systems file handles were used up before GC freed inaccessible
handles causing PostScript errors. Bug 689594.
</pre>
<p>[lib/gs_cidcm.ps]</p>
</blockquote>
<p><strong><a name="2008-01-18T061702.734368Z"></a>
2008-01-18T06:17:02.734368Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Add redefinition of setpagedevice to ps2epsi utility to support PS files
that call setpagedevice. Bug 689650.
</pre>
<p>[lib/ps2epsi lib/ps2epsi.ps lib/ps2epsi.cmd lib/ps2epsi.bat]</p>
</blockquote>
<p><strong><a name="2008-01-17T135043.754302Z"></a>
2008-01-17T13:50:43.754302Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Skip idle compositors, step 6.
DETAILS :
Enabling visual trace for buffer backdropping.
</pre>
<p>[src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2008-01-17T134711.707889Z"></a>
2008-01-17T13:47:11.707889Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (visual trace) : Add a single pixels painting operation.
DETAILS :
This patch doesn't change the algorithm.
It only enhances debuging instrument.
The new instrument will be used for debugging the clist logics about transparency masks.
</pre>
<p>[src/vdtrace.h src/vdtrace.c src/dwtrace.c]</p>
</blockquote>
<p><strong><a name="2008-01-17T133719.476394Z"></a>
2008-01-17T13:37:19.476394Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix : Cygwin/gcc warnings.
</pre>
<p>[src/gdevcgm.c src/int.mak src/gstrans.c src/gdevpdfe.c src/gdevbit.c src/devs.mak src/gxclread.c src/gscdevn.c src/gscie.c src/gxclutil.c src/lib.mak src/gdevp2up.c src/gxclmem.c src/gdevdflt.c src/gdevpdtd.c src/gxcomp.h src/gsovrc.c src/gdevprn.c src/gscsepr.c src/genarch.c src/ztoken.c src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2008-01-17T031602.921192Z"></a>
2008-01-17T03:16:02.921192Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Comment-only change: remove obsolete reference to MS-DOS limitations and
mention that PDF interpreter passes un-escaped font names to PS level.
Bug 689651.
</pre>
<p>[lib/Fontmap.GS]</p>
</blockquote>
<p><strong><a name="2008-01-17T031245.266699Z"></a>
2008-01-17T03:12:45.266699Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Remove the warning about non-embedded TrueType fonts in PDF files because it
confuses users but seems to have little effect on the main producer of
non-conforming files.
</pre>
<p>[lib/pdf_main.ps lib/pdf_font.ps]</p>
</blockquote>
<p><strong><a name="2008-01-16T233548.055065Z"></a>
2008-01-16T23:35:48.055065Z Ralph Giles</strong></p>
<blockquote>
<pre>
Unbreak the build.
</pre>
<p>[src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2008-01-16T225542.290132Z"></a>
2008-01-16T22:55:42.290132Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Skip idle compositors, step 5.
DETAILS :
This really skips compositors which don't paint anything.
Compositor parameter list structures are extended with a new boolean field 'idle'.
These fields pass information whether something was painted to a compositor.
We choosen this way for passing this info because
(1) we can't change the device inteface with new function arguments, and
(2) we need to pass it through the device chain
(for example, when a clipper is installed onth the overprint device).
This patch only affects the transparency and the overprint.
Other compositors (gsalphac.c, gxropc.c) behave as before.
They may need further improvements.
This patch does not fix the bug 689492.
That fix may be done either before or after this one,
but in any case the patches need to adopt each to another.
The new compositor virtual method is_closing
checks whether a current compositor command
closes an older command, and finds the opening command.
Now we provide untrivial implementations for transparency and overprint compositors.
Would like to define an enum for return values of is_closing.
The old device method create_compositor now passes the 'idle' parameter via
gs_composite_s structure. By default it is false and the behaviour
is same as before. But the clist interpreter is modified
to provide true value when a compositor doesn't paint anything.
To compute this flag the compositor queue now works with its full power.
Note we changed the queue representation with a bilikned list.
This patch entroduces the concept of 'friendly operations'
for compositor operations. These are those operations, which
may interchange with compositor installation/deinstallation.
One example is halftone operations, which always affect
the device below the compositor device, i.e. the target device
of the compositor device. The new compositor virtual method
is_friendly is implemented in an intrivial way for the
transparency compositor especially to exchange with halftone
operations while queueing clist operations.
This especially helps to delay the pdf14 device installation
so that it may completely annihilate with its deinstallation
if nothing is painted through the compositor in a band.
Overprint and transparency compositor implementations
are changed with checking the idle flag.
If it is set, they don't perform neither color blending, nor
raster buffer allocation. Note the pdf14 device maintains the buffer stack
as before, but the allocation of buffers may be skipped.
It saves significant time from cleaning up raster buffers when they are idle.
This patch may need further improvements for the case when
different compositor types are mixed in one queue.
We could not fully test it due to absence of practical tests.
Another useful improvement would be to convert
"0 .inittransparencymask 1 .inittransparencymask dict .setblendparams"
into a single command. It would simplify the compositor queue logic.
Also we think that the name .inittransparencymask doesn't reflect the function purpose.
Will improve someday.
We're not sure whether this patch correctly works with idle masks.
We could not debug it due to no practical cases.
Possibly idle mask will need an additional effort to skip
the group painting to the band.
Also disabled cmd_put_halftone in c_pdf14trans_clist_write_update -
see comment in code.
Monor change : Inserted a visual trace support for transparency buffers.
</pre>
<p>[src/lib.mak src/zdict.c src/gdevdflt.c src/gdevp14.h src/gstrans.c src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gstparam.h src/gstrans.h src/gxclrast.c src/gsovrc.h src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2008-01-09T003630.938192Z"></a>
2008-01-09T00:36:30.938192Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
Fixed umlauts (maybe, am having trouble testing the results).
</pre>
<p>[man/de/pdf2dsc.1]</p>
</blockquote>
<p><strong><a name="2008-01-09T002450.313955Z"></a>
2008-01-09T00:24:50.313955Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
Corrected man page (thanks to Peter Dyballa).
</pre>
<p>[man/de/pdf2dsc.1]</p>
</blockquote>
<p><strong><a name="2008-01-09T000059.719986Z"></a>
2008-01-09T00:00:59.719986Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Add unmodified byte-oriented AES encryption code by Brian Gladman. These
files serve as a reference point. They are not yet included into any
project nor can be compiled by some of the compilers we support.
</pre>
<p>[src/aes.h src/aes.c]</p>
</blockquote>
<p><strong><a name="2008-01-07T205840.018332Z"></a>
2008-01-07T20:58:40.018332Z Ralph Giles</strong></p>
<blockquote>
<pre>
Remove the obsolete gconfigv.h.
</pre>
<p>[src/lib.mak toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak src/std.h src/gscdefs.h src/macos-mcp.mak src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak]</p>
</blockquote>
<p><strong><a name="2008-01-07T205836.882379Z"></a>
2008-01-07T20:58:36.882379Z Ralph Giles</strong></p>
<blockquote>
<pre>
Remove EXTEND_NAMES from the top level makefiles.
There is a fallback to the default value of 0 in inameidx.h so there
is no change in the default behaviour. The extended name table can
still be activated by defining EXTEND_NAMES on the compiler command
line or changing the source directly.
</pre>
<p>[toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak doc/Use.htm src/int.mak src/macosx.mak src/Makefile.in src/inameidx.h src/unix-gcc.mak src/macos-mcp.mak src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak]</p>
</blockquote>
<p><strong><a name="2008-01-07T184302.811990Z"></a>
2008-01-07T18:43:02.811990Z Henry Stiles</strong></p>
<blockquote>
<pre>
Deprecate USE_FPU, no changes expected.
</pre>
<p>[src/gxchar.c src/openvms.mak src/unix-end.mak src/gsjmorec.h src/macosx.mak src/dvx-gcc.mak src/gxfarith.h src/msvccmd.mak src/siscale.c src/unixansi.mak src/gsmisc.c src/msvclib.mak src/gsfemu.c src/os2.mak src/openvms.mmk src/lib.mak src/bcwin32.mak src/ugcclib.mak src/gscie.h src/Makefile.in src/unix-gcc.mak src/gxfixed.h src/msvc32.mak src/macos-mcp.mak src/wccommon.mak src/wctail.mak src/winlib.mak src/watclib.mak]</p>
</blockquote>
<p><strong><a name="2008-01-02T235844.056429Z"></a>
2008-01-02T23:58:44.056429Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Re-export runpdfbegin, dopdfpages, and runpdfend procedures, which turned out
to be used by 3rd party programs. Partly revert the rev. 8325.
</pre>
<p>[lib/pdf_main.ps]</p>
</blockquote>
<p><strong><a name="2008-01-02T131059.547816Z"></a>
2008-01-02T13:10:59.547816Z Ken Sharp</strong></p>
<blockquote>
<pre>
Fix (pdfwrite): Tidy up after the prior patch,
algorithmically this is the same as before.
Details:
Bug #689597 "PDF created with NoEmbed has wrong BaseFont name".
gdevpdtb.c, gdevpdtf.c, gdevpdtf.h, remove the redundant
routine pdf_choose_font_name.
gdevpdtb.c, gdevpdtd.c, gdevpdtf.c, gdevpdtb.h, modify the
function pdf_base_font_alloc to remove the redundant
argument 'orig_name', we always use the original font name
now.
</pre>
<p>[src/gdevpdtb.c src/gdevpdtd.c src/gdevpdtf.c src/gdevpdtb.h src/gdevpdtf.h]</p>
</blockquote>
<p><strong><a name="2008-01-01T204452.186969Z"></a>
2008-01-01T20:44:52.186969Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Don't ignore xref stream in a hybrid "classic xref" + "stream xref" file
as PDF 1.5-compatible should do. Thanks to SaGS for the patch. Bug 688282.
</pre>
<p>[lib/pdf_main.ps]</p>
</blockquote>
<p><strong><a name="2008-01-01T142830.927323Z"></a>
2008-01-01T14:28:30.927323Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Replace clearly invalid generation numbers out of 0..65535 range with 0 during
rebuilding of xref table. Bug 689634.
</pre>
<p>[lib/pdf_rbld.ps]</p>
</blockquote>
<p><strong><a name="2008-01-01T013052.687921Z"></a>
2008-01-01T01:30:52.687921Z Ralph Giles</strong></p>
<blockquote>
<pre>
Remove the SYSTEM_CONSTANTS_ARE_WRITABLE compile-time define.
Details:
This was added so a particular application could rewrite the product name,
version, etc. after loading the library. We're not aware of anyone still
using the feature, and if so they can just change the source, which is
more appropriate in any case.
Also, remove USE_ASM from the msvc project file.
</pre>
<p>[toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak src/gscdefs.h src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak src/gscdef.c]</p>
</blockquote>
<p><strong><a name="2007-12-31T224650.849681Z"></a>
2007-12-31T22:46:50.849681Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Add a flag that marks PDF text rendering mode 3 to avoid confusion with other
non-rendering text operations such as stringwidth. This avoids unnecessary
calculation of the current point, which fails when the CTM is singular. This
patch continues conservative approach to the text rendering modes started in
rev. 4006. Bug 689614, customer 384.
</pre>
<p>[src/gxchar.c src/gstext.c src/gstext.h]</p>
</blockquote>
<p><strong><a name="2007-12-31T190652.216061Z"></a>
2007-12-31T19:06:52.216061Z Ray Johnston</strong></p>
<blockquote>
<pre>
Correct polarity of the stochastic threshold array so that the images are
not too dark.
DETAILS:
The original conversion from the threshold array provided by CalComp had
the threshold values inverted so that the implicit linearization was
inverted, making images much too dark. This correction provides reasonable
results on printers. Fine tuning of transfer functions can be used for
specific printers.
</pre>
<p>[lib/ht_ccsto.ps]</p>
</blockquote>
<p><strong><a name="2007-12-31T180759.109475Z"></a>
2007-12-31T18:07:59.109475Z Ralph Giles</strong></p>
<blockquote>
<pre>
Remove the USE_ASM build flag.
Details:
It was originally added to support vga mode setting, and has been
used for a few minor optimizations since. We don't believe these
are worth the trouble with modern compilers, so it is removed to
simplify configuration management.
</pre>
<p>[src/unix-end.mak src/openvms.mak src/watcw32.mak src/gdevpcfb.c doc/Develop.htm src/msvccmd.mak src/iutilasm.asm src/gsmisc.c src/msvclib.mak src/dvx-head.mak src/devs.mak src/os2.mak src/openvms.mmk src/unixhead.mak src/lib.mak src/bcwin32.mak src/winint.mak src/gdevegaa.asm src/msvc32.mak src/gdevsvga.c src/gsutil.c src/wccommon.mak src/wctail.mak src/winlib.mak]</p>
</blockquote>
<p><strong><a name="2007-12-31T061033.027699Z"></a>
2007-12-31T06:10:33.027699Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Don't try to obtain the bounding box of a glyph when FontBBox is invalid and
CTM is singular. Set an empty box and consider it valid. The bounding box is
not used when the CTM is singular. Bug 689614, customer 384.
</pre>
<p>[src/zchar1.c]</p>
</blockquote>
<p><strong><a name="2007-12-29T025321.940078Z"></a>
2007-12-29T02:53:21.940078Z Ralph Giles</strong></p>
<blockquote>
<pre>
Remove the ARCH_CAN_SHIFT_FULL_LONG define and its derivatives. Bug 689611.
Details:
This was only used in one place, in an attempt to support
non-portable code. However this caused problems with recent
gcc's which optimized the test one way and the code in gxshade.c
another. We're therefore removing it entirely and just using
portable code.
</pre>
<p>[src/std.h src/gxshade.c src/gxbitops.h src/genarch.c]</p>
</blockquote>
<p><strong><a name="2007-12-27T222836.610626Z"></a>
2007-12-27T22:28:36.610626Z Ralph Giles</strong></p>
<blockquote>
<pre>
Add -Wundef to the autoconf build.
There have been a number of problems related to missing defines lately.
</pre>
<p>[src/configure.ac]</p>
</blockquote>
<p><strong><a name="2007-12-22T191320.335131Z"></a>
2007-12-22T19:13:20.335131Z Ralph Giles</strong></p>
<blockquote>
<pre>
Correction to the refcount documentation.
Our allocator can't double free, but attempting to trace a freed pointer
can confuse things, possibly resulting in a segfault or other
misbehaviour.
</pre>
<p>[src/gsrefct.h]</p>
</blockquote>
<p><strong><a name="2007-12-22T020540.922995Z"></a>
2007-12-22T02:05:40.922995Z Ralph Giles</strong></p>
<blockquote>
<pre>
Also remove gdevcmap from the documentation.
</pre>
<p>[doc/Develop.htm]</p>
</blockquote>
<p><strong><a name="2007-12-22T020536.008019Z"></a>
2007-12-22T02:05:36.008019Z Ralph Giles</strong></p>
<blockquote>
<pre>
Include gconfigv.h in std.h so defines like USE_FPU are more
consistently defined.
</pre>
<p>[src/lib.mak src/gscie.h src/std.h src/gdevpcfb.c src/gxfarith.h src/siscale.c src/gsmisc.c src/gdevsvga.c src/devs.mak src/sidscale.c src/gxpcopy.c]</p>
</blockquote>
<p><strong><a name="2007-12-22T001936.075695Z"></a>
2007-12-22T00:19:36.075695Z Ralph Giles</strong></p>
<blockquote>
<pre>
Document the behaviour of the reference count macros.
</pre>
<p>[src/gsrefct.h]</p>
</blockquote>
<p><strong><a name="2007-12-22T001005.865239Z"></a>
2007-12-22T00:10:05.865239Z Ralph Giles</strong></p>
<blockquote>
<pre>
Remove the unused cmap device.
</pre>
<p>[src/lib.mak src/ugcclib.mak src/gslib.c src/gdevcmap.c src/gdevcmap.h]</p>
</blockquote>
<p><strong><a name="2007-12-21T195819.459173Z"></a>
2007-12-21T19:58:19.459173Z Ralph Giles</strong></p>
<blockquote>
<pre>
Further update the graphics library unit test and build. The gslib test
executable builds and works now.
</pre>
<p>[src/ugcclib.mak src/gslib.c]</p>
</blockquote>
<p><strong><a name="2007-12-21T195607.995361Z"></a>
2007-12-21T19:56:07.995361Z Ralph Giles</strong></p>
<blockquote>
<pre>
Construct romfs.dev in the graphics library's gen directory instead of
the ps interpreter's so building just the library is possible.
</pre>
<p>[src/gs.mak]</p>
</blockquote>
<p><strong><a name="2007-12-21T103100.226023Z"></a>
2007-12-21T10:31:00.226023Z Ken Sharp</strong></p>
<blockquote>
<pre>
Fix (jbig2dec): The global data stream for a JBIG2 image in a PDF
file was being released, and the data freed by the garbage collector,
before the data was used.
Details: Bug #689568 and #689569. Uses the patch supplied by Alex
in thread for #689569, implements Ralph's comments about the structure
naming. Does not attempt to change the memory allocator. This slightly
modified patch also works with the Luratech decoder.
sjbig2.h, sjbig2_luratech.h; make the global data structure
s_jbig2_global_data_t public. Store the structure in the
stream decoder state.
sjbig2.c, sjbig2_luratech.c; store a pointer to the global
data structure.
sjbig2_luratech.c; don't reset the pointer during initialisation!
zfjbig2.c; Pass the global pointer to the stream decoder for
release in the finalize routine.
</pre>
<p>[src/sjbig2_luratech.h src/zfjbig2.c src/sjbig2.c src/sjbig2.h src/sjbig2_luratech.c]</p>
</blockquote>
<p><strong><a name="2007-12-21T001553.911110Z"></a>
2007-12-21T00:15:53.911110Z Ralph Giles</strong></p>
<blockquote>
<pre>
Remove some old helper scripts.
They aren't used much and we no longer wish to maintain them.
</pre>
<p>[toolbin/many2pdf.tcl toolbin/pre toolbin/gssubst toolbin/gsindent]</p>
</blockquote>
<p><strong><a name="2007-12-21T001154.376327Z"></a>
2007-12-21T00:11:54.376327Z Ralph Giles</strong></p>
<blockquote>
<pre>
Make pre.tcl more robust in creating temporary files.
Also update the copyright header and fix a bug in an error handler.
</pre>
<p>[toolbin/pre.tcl]</p>
</blockquote>
<p><strong><a name="2007-12-19T062541.308572Z"></a>
2007-12-19T06:25:41.308572Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Ignore operator readonly when it is applied to a wrong type inside an
embedded Type 1 font. Bug 689617, customer 580.
</pre>
<p>[lib/pdf_font.ps]</p>
</blockquote>
<p><strong><a name="2007-12-19T062222.816836Z"></a>
2007-12-19T06:22:22.816836Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Treat the text after empty ASCII block in PFB stream as ASCII sub-stream
terminated by 0x80 character, a presumed header of the next block.
Bug 689617, customer 580.
</pre>
<p>[src/sfilter1.c]</p>
</blockquote>
<p><strong><a name="2007-12-19T002508.107768Z"></a>
2007-12-19T00:25:08.107768Z Ralph Giles</strong></p>
<blockquote>
<pre>
Update the graphics library unit tests for recent code changes.
</pre>
<p>[src/gslib.c]</p>
</blockquote>
<p><strong><a name="2007-12-18T100307.564012Z"></a>
2007-12-18T10:03:07.564012Z Ken Sharp</strong></p>
<blockquote>
<pre>
Fix (pdfwrite): Font Descriptors for fonts not embedded, due to
EmbedAllFonts=false, did not preserve the original font name.
Details:
Bug #689597 "PDF created with NoEmbed has wrong BaseFont name".
(gdevpdtd.c) pdf_font_descriptor_alloc, do not use the 'embed'
status to determine whether to use the font or key name. Always
use the font name.
pdf_compute_font_descriptor. Remove the simplistic test for
symbolic. In the loop retrieving glyph information, check to see
if the glyph name is present in ISO Latin 1. If not, the font is
symbolic.
</pre>
<p>[src/gdevpdtd.c]</p>
</blockquote>
<p><strong><a name="2007-12-18T100209.815887Z"></a>
2007-12-18T10:02:09.815887Z Ken Sharp</strong></p>
<blockquote>
<pre>
Fix (pdfwrite): PDFXTrimBoxToMediaBoxOffset used the supplied data
incorrectly.
Details:
Bug #689578 "PDFXTrimBoxToMediaBoxOffset".
Patch supplied by Adam Augusta.
(gdevpdf.c) pdf_write_page. When using the PDFXTrimBoxToMediaBoxOffset
data, we need to subtract the bottom right offset from the MediaBox
not add it, the trim box must lie inside the media (see Acrobat 7.0
distiller parameters manual, pp. 102-103).
</pre>
<p>[src/gdevpdf.c]</p>
</blockquote>
<p><strong><a name="2007-12-18T034036.305448Z"></a>
2007-12-18T03:40:36.305448Z Ralph Giles</strong></p>
<blockquote>
<pre>
Remove the unused composite_rop device.
DETAILS:
This was an attempt to implement PCL raster operations as an interposed
device which first rendered to an intermediate buffer and them
composited with the underlying device buffer, similar to how the
"PDF 1.4 Transparency" device works.
While this would be a nice approach, allowing raster operations to
function in more color spaces, it was never completed, and presents
a maintenance burden for ongoing clist improvements. We are therefore
removing it. It can be reinstated later as a starting point for further
development if needed.
</pre>
<p>[src/lib.mak src/gsropc.c src/gsropc.h doc/Develop.htm src/gxropc.h]</p>
</blockquote>
<p><strong><a name="2007-12-17T213335.320044Z"></a>
2007-12-17T21:33:35.320044Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (transparency) : Providing a right nested masks logic (continued).
DETAILS :
The revision 8439 missed an initializer.
</pre>
<p>[src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2007-12-17T072822.397599Z"></a>
2007-12-17T07:28:22.397599Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Improve outline pdfmarks produced by the pdf interpreter. Add page number and view
values. Thanks to Leon Bottou for the patch. Bug 689599.
</pre>
<p>[lib/pdf_main.ps]</p>
</blockquote>
<p><strong><a name="2007-12-16T153809.417159Z"></a>
2007-12-16T15:38:09.417159Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Improving debug trace about compositors.
DETAILS :
This only improves a debug printing.
The algorithm isn't changed.
This change simplifies the debug trace analysis with
using C function names as event marks in the trace.
Also return_error is now not used when c_pdf14trans_write
is called for estimating the buffer size.
</pre>
<p>[src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2007-12-16T013756.744199Z"></a>
2007-12-16T01:37:56.744199Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Don't skip space characters after eexec in embedded PDF fonts but
continue to do so in other cases. Bug 689615.
</pre>
<p>[src/seexec.c src/sfilter.h lib/pdf_font.ps src/zmisc1.c doc/Language.htm]</p>
</blockquote>
<p><strong><a name="2007-12-14T195101.706015Z"></a>
2007-12-14T19:51:01.706015Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Work around a GCC 4.2.1 bug on PowerPC that generates incorrect code in the
release build affecting scanning of binary tokens containing floating point
numbers. Bug 689586.
</pre>
<p>[src/ibnum.c]</p>
</blockquote>
<p><strong><a name="2007-12-14T184031.738291Z"></a>
2007-12-14T18:40:31.738291Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
Added casts to sprintf debugging statements (thanks for Michael Rutter for finding these).
</pre>
<p>[contrib/eplaser/gdevescv.c]</p>
</blockquote>
<p><strong><a name="2007-12-14T183139.938693Z"></a>
2007-12-14T18:31:39.938693Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Align the pointer to gx_clist_state array in gx_device_clist_writer device to
the natural boundary to avoid misaligned memory access and bus errors on ARM
processors. Bug 689600.
</pre>
<p>[src/gxclist.c]</p>
</blockquote>
<p><strong><a name="2007-12-12T202944.002303Z"></a>
2007-12-12T20:29:44.002303Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (transparency) : Providing a right nested masks logic.
DETAILS :
This redoes the change 8340 without extra assumptions.
See comments in code.
</pre>
<p>[src/gdevp14.h src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2007-12-12T195831.269810Z"></a>
2007-12-12T19:58:31.269810Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (transparency) : Unwinding the nested masks logic.
DETAILS :
The patch 8340 appears to be optimized for a particular case,
in which a call to pdf14_push_transparency_group
"will have been preceded by pdf14_push_transparency_mask ... pdf14_pop_transparency_mask".
This assumption is not true in general, when the clist interpreter
skips idle groups (either with incoming improvement or
with using the band complexity array).
This patch unwinds the change 8340 and the dependent change 8342.
It also simplifies the garbager descriptor for pdf14_buf_s.
The nested mask problem is now reopen,
but we intend to close it shortly with a different patch.
</pre>
<p>[src/gdevp14.h src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2007-12-12T190044.753250Z"></a>
2007-12-12T19:00:44.753250Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Skip idle compositors, step 4.
DETAILS :
gs_pdf14trans_s doesn't need a reference counting.
Actually it was never used, so removing it should be
algorithmically equivalent.
</pre>
<p>[src/gsropc.c src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2007-12-11T234718.340705Z"></a>
2007-12-11T23:47:18.340705Z Ray Johnston</strong></p>
<blockquote>
<pre>
Fix for SEGV when more than 4 colorants used with psdcmyk device.
Bug 689457 for customer #460.
DETAILS:
Apparently the psdcmyk device never got updated with the ret_devn_params proc
as did the tiffsep device.
</pre>
<p>[src/gdevpsd.c]</p>
</blockquote>
<p><strong><a name="2007-12-11T212702.763129Z"></a>
2007-12-11T21:27:02.763129Z Ralph Giles</strong></p>
<blockquote>
<pre>
Store the posix persistent cache's last modified line as an unsigned
long to avoid portability problems when reading and writing. Bug 689604.
DETAILS:
Previously we used time_t directly, but read and wrote it to the
filesystem using the %ld printf format specifier, which is wrong
on systems where long int and time_t are different widths. Instead
we stort it as an unsigned long int, coercing the return value of
time(). This will be a year 2038 problem on systems with 32 bit longs,
but seems the better option for portability now. There is no cast,
so the compiler should warn if this loses precision.
</pre>
<p>[src/gp_unix_cache.c]</p>
</blockquote>
<p><strong><a name="2007-12-11T165405.187153Z"></a>
2007-12-11T16:54:05.187153Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
Replaced C++ comments with C comments (// -> /* */).
</pre>
<p>[imdi/imdi.c imdi/imdi_tab.c imdi/imdi_gen.c imdi/cctiff.c]</p>
</blockquote>
<p><strong><a name="2007-12-11T082958.454613Z"></a>
2007-12-11T08:29:58.454613Z Ken Sharp</strong></p>
<blockquote>
<pre>
Fix (jbig2dec): Missing support for decoding multiple symbols
from a symbol dictionary, when using refinement/aggregation.
Details:
Bug #688945 "jbig2dec FATAL ERROR decoding image: aggregate
coding with REFAGGNINST=2 (segment 0x03)".
Improved the previous patch. We need to have a symbol dictionary
which contains all the original symbols, plus all the symbols decoded
so far, for the refinement/aggregation. Previously we created this
anew for each symbol, this patch creates the dictionary once at
the start of the dictionary decoding, and releases it when decoding
is complete.
Also releases the Huffman tables (if used), which was missed
in the previous patch.
</pre>
<p>[jbig2dec/jbig2_symbol_dict.c]</p>
</blockquote>
<p><strong><a name="2007-12-10T221105.461373Z"></a>
2007-12-10T22:11:05.461373Z Tor Andersson</strong></p>
<blockquote>
<pre>
Update to previous commit. Add pdf14_buffer maskbuf pointer to GC structures.</pre>
<p>[src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2007-12-10T202711.787298Z"></a>
2007-12-10T20:27:11.787298Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Fix a compilation error on Tru64's native cc, which doesn't tolerate spaces
between -I and the directory. Thanks to M. Rutter for the patch. Bug 689602
</pre>
<p>[contrib/contrib.mak]</p>
</blockquote>
<p><strong><a name="2007-12-10T161326.551663Z"></a>
2007-12-10T16:13:26.551663Z Tor Andersson</strong></p>
<blockquote>
<pre>
Pick up the transparency mask buffer when a new transparency group is pushed rather than when it is popped. Solves memory leaks and incorrect rendering when transparency groups are nested.</pre>
<p>[src/gdevp14.h src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2007-12-10T094503.624134Z"></a>
2007-12-10T09:45:03.624134Z Ken Sharp</strong></p>
<blockquote>
<pre>
Fix (jbig2dec): Missing support for decoding multiple symbols
from a symbol dictionary, when using refinement/aggregation.
Details:
Bug #688945 "jbig2dec FATAL ERROR decoding image: aggregate
coding with REFAGGNINST=2 (segment 0x03)".
Added missing support. When decoding a symbol dictionary, using
refinement/aggregation, and decoding multiple symbols, we need
to use text region decoding (single symbols use refinement
region decoding, already implemented).
This required making the text region decoding procedure available
to the symbol dictionary decoding routine, and correctly
initialising the parameters.
(jbig2_text.h) New include file. The 'Jbig2TextRegionParams'
structure and Jbig2RefCorner enum have been moved here from
jbig2_text.c, and a prototype for 'jbig2_decode_text_region'
created.
Added pointers for the adaptive arithmetic decoder tables to the
Jbig2TextRegionParams structure, as these tables must now be passed
to the decoder routine (see below) rather than initialised in it.
(jbig2_text.c) Modified the 'jbig2_decode_text_region' routine to
take the arithmetic decoder state or data stream (for Huffman
decoding) as a parameter. When being called from the symbol
dictionary decoder we must use the current decoder state; removed
the initialisation of the decoder state, this is passed as a
parameter Removed the initialisation of the adaptive arithmetic
decoder tables, these are now passed as part of the
Jbig2TextRegionParams structure.
Modified 'jbig2_parse_text_region' to create and initialise the
arithmetic decoder state (or data stream for Huffman). If
using adaptive arithmetic encoding, create and initialise the
tables.Required now that these are parameters to the text
region decoder.
(jbig2_symbol_dict.c) 'jbig2_decode_symbol_dict', when we
encounter refinement/aggregation with REFAGGNINST > 1, instead of
flagging an error create a Jbig2TextRegionParams structure (if
not already present), initialise the arithmetic decoder tables, and
call the text region decoder to create the bitmap. If we already
have a Jbig2TextRegionParams structure (because we have already
decoded a symbol this way) just use it as the argument to the
text region decoder.
</pre>
<p>[jbig2dec/jbig2_text.c src/jbig2.mak jbig2dec/jbig2_symbol_dict.c jbig2dec/jbig2_text.h]</p>
</blockquote>
<p><strong><a name="2007-12-09T063300.168945Z"></a>
2007-12-09T06:33:00.168945Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
Use a smaller buffer for eexecDecode filter to avoid consumption of the data
that follow a short (and incorrect) run of 0's in PS files generated by
Adobe Acrobat from PDF files with usage restrictions. Bug 689577
DETAILS:
The buffer size of 132 has been selected from a middle of small window that
fixes the bug but doesn't cause regession in comparefiles/fonttest.pdf.
Detection of EOF after seing a run of 0's is worth to note as an alternative.
</pre>
<p>[src/seexec.c]</p>
</blockquote>
<p><strong><a name="2007-12-08T135753.015953Z"></a>
2007-12-08T13:57:53.015953Z Ken Sharp</strong></p>
<blockquote>
<pre>
Update the MSVC makefile to work with Visual Studio 2005 (nmake version 8).
Should still be OK with MSVC 6.
</pre>
<p>[jbig2dec/msvc.mak]</p>
</blockquote>
<p><strong><a name="2007-12-07T233906.271814Z"></a>
2007-12-07T23:39:06.271814Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Skip idle compositors, step 3.
DETAILS :
The clist writer writes the 'create compositor' operation to all bands,
including ones that are not covered by a transparency.
It does so because this operation changes the number of color components.
When rendering a specific band, it frequently happens that a compositor
is created and then immediately destroyed. Such thing happens outside
the transparency bbox, and within the transparency bbox if
the band has no transparent objects. When compositor is created,
it allocates a big raster buffer and cleans it.
Due to that we observe a significant CPU time expence
when running the test case of the bug 689155.
This patch is a preparation for further improvements.
This patch includes CTM into pdf14 compositor params
(see changes to c_pdf14trans_read, c_pdf14trans_write, clist_create_compositor).
The result should be same as the old code, but the algorithm is different.
The old code wrote CTM as a separate command before cmd_opv_ext_create_compositor.
The new code does not, and in many cases compositor commads
immediately follow each another.
The last fact changes the behavior of the compositor queue :
before this patch it consisted of 1 element maximum,
but after it the queue becomes longer (up to 10 elements
with SoftMaskGroup.pdf). A bug is fixed in the queue logic
in gxclrast.c ln 1355.
The queue is still immediately executed
when a non-compositor command appears in the input stream.
An annihilation of neighbour idle compositors will be a next step.
Minor changes:
- added a new method adjust_ctm to gs_composite_type_procs_t.
- added type checks with composite_*_proc macros to all compositor types.
- dependencies were broken for gdevp14.c in lib.mak .
</pre>
<p>[src/lib.mak src/gsropc.c src/gdevdflt.c src/gxclpath.h src/gxcldev.h src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gstrans.h src/gxclrast.c src/gdevp14.c src/gxclpath.c src/gxclimag.c src/gxclutil.c]</p>
</blockquote>
<p><strong><a name="2007-12-05T233942.529355Z"></a>
2007-12-05T23:39:42.529355Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Skip idle compositors, step 2.
DETAILS :
The clist writer writes the 'create compositor' operation to all bands,
including ones that are not covered by a transparency.
It does so because this operation changes the number of color components.
When rendering a specific band, it frequently happens that a compositor
is created and then immediately destroyed. Such thing happens outside
the transparency bbox, and within the transparency bbox if
the band has no transparent objects. When compositor is created,
it allocates a big raster buffer and cleans it.
Due to that we observe a significant CPU time expence
when running the test case of the bug 689155.
This patch is a preparation for further improvements.
The change is algorithmically equivalent.
It implements a compositor queue for a delayed applying of compositors.
Nevertheless currently the compositors are still applied immediately
due to stubs in is_null_compositor_op, is_closing_compositor.
</pre>
<p>[src/gxcomp.h src/gxclrast.c]</p>
</blockquote>
<p><strong><a name="2007-12-05T164041.424504Z"></a>
2007-12-05T16:40:41.424504Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (clist interpreter) : Skip idle compositors, step 1.
DETAILS :
The clist writer writes the 'create compositor' operation to all bands,
including ones that are not covered by a transparency.
It does so because this operation changes the number of color components.
When rendering a specific band, it frequently happens that a compositor
is created and then immediately destroyed. Such thing happens outside
the transparency bbox, and within the transparency bbox if
the band has no transparent objects. When compositor is created,
it allocates a big raster buffer and cleans it.
Due to that we observe a significant CPU time expence
when running the test case of the bug 689155.
This patch is a preparation for further improvements.
The change is algorithmically equivalent.
I simply divides read_create_compositor into 2 ones :
the first one just reads the instruction,
and the second one applies it.
Also did a mionor code cleanup.
</pre>
<p>[src/gxclrast.c]</p>
</blockquote>
<p><strong><a name="2007-12-05T000850.583846Z"></a>
2007-12-05T00:08:50.583846Z Till Kamppeter</strong></p>
<blockquote>
<pre>
Let CUPS filters use buffered input to Ghostscript via '-_', to work around bug #689577.
</pre>
<p>[cups/pstoraster.in cups/pstopxl.in]</p>
</blockquote>
<p><strong><a name="2007-12-03T213116.528843Z"></a>
2007-12-03T21:31:16.528843Z Henry Stiles</strong></p>
<blockquote>
<pre>
Replace the "tricky" unit_frac macro with a normal function call. The
macro produced a false positive in valgrind and seems to cause
incorrect code generation on gcc 4.1.2 with optimization but we did
not study it in detail. The change should be equivalent to the
previous code, reviewed by Ralph Giles.
</pre>
<p>[src/gxcmap.c src/gxcmap.h src/gscsepr.c src/gscdevn.c]</p>
</blockquote>
<p><strong><a name="2007-12-03T200705.165284Z"></a>
2007-12-03T20:07:05.165284Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (shadings) : Optimize fill_linear_color_scanline with analitic computation of the color change position.
DETAILS :
Debugged with the test case of the bug 689155.
This optimizes slightly changing gradients.
It speeds up the test case from 6 hours to 5 hours.
The old code in gx_default_fill_linear_color_scanline
recomputes color for each pixel.
The new code checks whether neighbour pixels have same color,
and if so it finds the color change position
with solving a linear equation,
and fills entire constant color interval
without computing color for each pixel.
The linear equation is solved with 64 bits arithmetics.
We would like to create a 32bits algorithm someday.
We think it is possible with rounding colors to 16 bits
and restricting a run length with 15 bits.
Note it must not accummulate rounding errors,
so it needs to compute from the run start at each iteration.
So if the scanline is wide, first split it into smaller ones
by coordinates, then break each subscanline into runs by color changes.
</pre>
<p>[src/gdevdsha.c]</p>
</blockquote>
<p><strong><a name="2007-11-30T221349.581001Z"></a>
2007-11-30T22:13:49.581001Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
Add a tool that analyzes logs produced by gs -Z67, producing a report of
memory leaks.
</pre>
<p>[toolbin/memory.py]</p>
</blockquote>
<p><strong><a name="2007-11-30T064347.688763Z"></a>
2007-11-30T06:43:47.688763Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
Adds the base font address to the -Zm tracing output.
</pre>
<p>[src/gsfont.c]</p>
</blockquote>
<p><strong><a name="2007-11-30T064312.449891Z"></a>
2007-11-30T06:43:12.449891Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
Fixes bug: -Z89 produced slightly mangled output (-Z9 output inserted in the
middle of a line of -Z8 output).
</pre>
<p>[src/igcref.c]</p>
</blockquote>
<p><strong><a name="2007-11-30T004553.632689Z"></a>
2007-11-30T00:45:53.632689Z Ray Johnston</strong></p>
<blockquote>
<pre>
Add URW fonts to the Resource/Font directory. These will be included when
COMPILE_INITS=1. Fontmap.GS still references the disk file name so that
the disk file based fonts can still be used if they are available.
</pre>
<p>[Resource/Font/URWPalladioL-BoldItal Resource/Font/NimbusRomNo9L-Medi Resource/Font/NimbusSanL-Bold Resource/Font/Dingbats Resource/Font/URWChanceryL-MediItal Resource/Font/CenturySchL-Roma Resource/Font Resource/Font/NimbusMonL-Bold Resource/Font/URWGothicL-Demi Resource/Font/NimbusSanL-BoldItal Resource/Font/NimbusRomNo9L-MediItal Resource/Font/StandardSymL Resource/Font/URWBookmanL-DemiBold Resource/Font/NimbusRomNo9L-Regu Resource/Font/URWGothicL-Book Resource/Font/NimbusSanL-ReguCond Resource/Font/CenturySchL-Bold Resource/Font/URWBookmanL-Ligh Resource/Font/NimbusRomNo9L-ReguItal Resource/Font/URWBookmanL-DemiBoldItal Resource/Font/NimbusMonL-ReguObli Resource/Font/NimbusSanL-ReguCondItal Resource/Font/CenturySchL-Ital Resource/Font/URWPalladioL-Roma Resource/Font/CenturySchL-BoldItal Resource/Font/URWBookmanL-LighItal Resource/Font/NimbusSanL-BoldCond Resource/Font/NimbusMonL-BoldObli Resource/Font/NimbusSanL-BoldCondItal Resource/Font/URWGothicL-DemiObli Resource/Font/NimbusSanL-Regu Resource/Font/URWPalladioL-Bold Resource/Font/NimbusMonL-Regu Resource/Font/URWGothicL-BookObli Resource/Font/NimbusSanL-ReguItal Resource/Font/URWPalladioL-Ital]</p>
</blockquote>
<p><strong><a name="2007-11-29T213953.584646Z"></a>
2007-11-29T21:39:53.584646Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (shadings) : Optimize path manipulations for shading fill (continued).
DETAILS :
Debugged with the test case of the bug 689155.
A long ago the graphics library converted the sfill clipping into a path.
It was improved with revision 8017 with introducing
a device response for pattern_manage__shfill_doesnt_need_path.
However the revision 8017 appears incomplete :
it missed the related change to the clist writer device
and to pdf14 device. This patch fixes it.
This patch causes a progression for the problem
known as bug 689338 "Raster depends on bands".
With banded rendering some shadings are now painted some wider,
and the raster appears equal to one from unbanded rendering.
It happens because the old code doesn't convert shfill clipping
into a path when no banding, and does convert when banding.
The new code does not convert in both cases.
</pre>
<p>[src/gdevp14.c src/gxclpath.c src/gxclrect.c]</p>
</blockquote>
<p><strong><a name="2007-11-29T014216.432740Z"></a>
2007-11-29T01:42:16.432740Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
Remove obsolete variables dstderr and estderr; repair tracing code in
igcstr.c that would cause a crash if -Z5 was used.
</pre>
<p>[src/interp.c src/gdebug.h src/igcstr.c]</p>
</blockquote>
<p><strong><a name="2007-11-28T200434.791598Z"></a>
2007-11-28T20:04:34.791598Z Ray Johnston</strong></p>
<blockquote>
<pre>
Add the 'pamcmyk32' (previously the 'pam' device) to all default builds.
This will be used for regression testing of 32-bit CMYK.
DETAILS:
The 'pam' device is retained, but not included in the default builds,
in case anyone was using this. The 'pamcmyk32' name was created as
more descriptive.
</pre>
<p>[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/msvc32.mak src/unix-gcc.mak src/gdevpbm.c src/unixansi.mak src/macos-mcp.mak src/devs.mak src/os2.mak]</p>
</blockquote>
<p><strong><a name="2007-11-28T194748.435055Z"></a>
2007-11-28T19:47:48.435055Z Ralph Giles</strong></p>
<blockquote>
<pre>
Document the jasper build file version skew menioned in Bug 689570.
</pre>
<p>[doc/Release.htm]</p>
</blockquote>
<p><strong><a name="2007-11-28T184655.924792Z"></a>
2007-11-28T18:46:55.924792Z Ray Johnston</strong></p>
<blockquote>
<pre>
Fix #defines when USE_COMPRESSED_ENCODING == 0 so that the number of
components, separable/linear and encode/decode values are correct.
Also add checking for TIFF file larger than max_long.
</pre>
<p>[src/gdevtsep.c]</p>
</blockquote>
<p><strong><a name="2007-11-28T183959.435918Z"></a>
2007-11-28T18:39:59.435918Z Ray Johnston</strong></p>
<blockquote>
<pre>
Fix CIEBasedA problem, add DeviceGray and DeviceRGB support to this utility.
DETAILS:
This isn't used by Ghostscript, but is a useful utility for 'running' a
CIE colorspace conversion to see the intermediate and final results.
</pre>
<p>[lib/docie.ps]</p>
</blockquote>
<p><strong><a name="2007-11-27T225840.032075Z"></a>
2007-11-27T22:58:40.032075Z Ralph Giles</strong></p>
<blockquote>
<pre>
Also install gdevdsp.h in the unix so build. This header contains the
callback definitions for the "display" device. Bug 689576.
</pre>
<p>[src/unix-dll.mak]</p>
</blockquote>
<p><strong><a name="2007-11-27T204309.836338Z"></a>
2007-11-27T20:43:09.836338Z Ralph Giles</strong></p>
<blockquote>
<pre>
Update the regression code license headers with the current contact
address.
</pre>
<p>[toolbin/tests/dump_checksum.py toolbin/tests/cmpi.py toolbin/tests/gscheck_testfiles.py toolbin/tests/dump_checksum_plus.py toolbin/tests/check_source.py toolbin/tests/gssum.py toolbin/tests/gscheck_all.py toolbin/tests/dump_checksum_raw.py toolbin/tests/make_two_pdfversions toolbin/tests/check_all.py toolbin/tests/rasterdb.py toolbin/tests/gsutil.py toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/revert_pdfbaseline toolbin/tests/build_revision.py toolbin/tests/compare_checksumdb.py toolbin/tests/gsconf.py toolbin/tests/revert_baseline toolbin/tests/update_baseline.py toolbin/tests/make_baselinedb.py toolbin/tests/gscheck_raster.py toolbin/tests/gsparamsets.py toolbin/tests/gstestutils.py toolbin/tests/compare_checksums.py toolbin/tests/check_dirs.py toolbin/tests/update_specific toolbin/tests/run_nightly.py toolbin/tests/gstestgs.py toolbin/tests/myoptparse.py toolbin/tests/run_regression.py toolbin/tests/get_baselines.py toolbin/tests/make_two_versions toolbin/tests/testdiff.py toolbin/tests/gscheck_pdfwrite.py toolbin/tests/make_testdb.py toolbin/tests/check_comments.py toolbin/tests/check_docrefs.py toolbin/tests/get_baseline_log.py]</p>
</blockquote>
<p><strong><a name="2007-11-27T204307.921159Z"></a>
2007-11-27T20:43:07.921159Z Ralph Giles</strong></p>
<blockquote>
<pre>
Change the regression scripts to rewrite the product as
"GPL Ghostscript".
</pre>
<p>[toolbin/tests/build_revision.py toolbin/tests/update_specific]</p>
</blockquote>
<p><strong><a name="2007-11-27T181110.542532Z"></a>
2007-11-27T18:11:10.542532Z Igor Melichev</strong></p>
<blockquote>
<pre>
Fix (graphics) : Improving the setoverprint logic.
DETAILS :
Debugged with the test case of the bug 689155.
This eliminates unnecessary calls of dx_device::procs.create_compositor.
In the test case the oprator 'show' calls gs_save and gs_restore
and the latter performs unnecessary call to gs_do_set_overprint
due to overprint is set at page start. It causes a significant CPU time expense
while clist interpretation.
We're not sure why the old code is such,
we change it as we think correct.
Will see the regression test results.
A local test gave no differences.
</pre>
<p>[src/gsstate.c]</p>
</blockquote>
<p><strong><a name="2007-11-23T092306.243419Z"></a>
2007-11-23T09:23:06.243419Z Ken Sharp</strong></p>
<blockquote>
<pre>
Fix (pdfwrite): Fonts containing glyphs with no sbw or hsbw
instruction caused pdfwrite to crash.
Details:
Bug #689544 "Segmentation fault writing PDF file".
The job contains a number of fonts apparently converted from
TrueType to type 1. The /.notdef glyph in every case consists
only of an endchar instruction. Techincally invalid since the
specification says the first instruction must be either an sbw
or hsbw instruction.
This causes a crash because gs_type1_glyph_info didn't create
a path before interpreting the glyph. If we encountered a path
operation before a sbw instruction we attempted to write to the
non-existent path.
(gxtype1.c), gs_type1_glyph_info, create a path for the type 1
interpreter to work with. Make it a bbox_accumulator so we don't
allocate memory for path segments.
(gdevpsfu.c), psf_check_outline_glyphs, if we get an invalidfont
error return from the font's 'glyph_info' procedure, don't exit
immediately. Check each glyph, and only return an error if
there are no good glyphs.
</pre>
<p>[src/gxtype1.c src/gdevpsfu.c]</p>
</blockquote>
<p><strong><a name="2007-11-22T024659.719550Z"></a>
2007-11-22T02:46:59.719550Z Ralph Giles</strong></p>
<blockquote>
<pre>
Correct Id line and double-include protection warnings.
</pre>
<p>[src/ConvertUTF.h toolbin/tests/check_source.py src/expat.mak]</p>
</blockquote>
<p><strong><a name="2007-11-22T010346.485805Z"></a>
2007-11-22T01:03:46.485805Z Ralph Giles</strong></p>
<blockquote>
<pre>
Update the run_nightly regression script to rewrite the product
name to GPL Ghostscript instead of AFPL Ghostscript. Also, include
quotation marks in the optional part of the regex so we work when
GS_PRODUCT is set to another macro and does not include a literal
string, as it does at release time.
</pre>
<p>[toolbin/tests/run_nightly.py]</p>
</blockquote>
<p><strong><a name="2007-11-22T005403.544607Z"></a>
2007-11-22T00:54:03.544607Z Ralph Giles</strong></p>
<blockquote>
<pre>
Correct a format string error in the PDF 1.4 spot color name generation.
</pre>
<p>[src/gdevp14.c]</p>
</blockquote>
<p><strong><a name="2007-11-22T005401.468513Z"></a>
2007-11-22T00:54:01.468513Z Ralph Giles</strong></p>
<blockquote>
<pre>
Update release procedure documentation.
</pre>
<p>[doc/Release.htm]</p>
</blockquote>
<p><strong><a name="2007-11-21T224203.178745Z"></a>
2007-11-21T22:42:03.178745Z Ralph Giles</strong></p>
<blockquote>
<pre>
Bump the version number and date after the 8.61 release.
</pre>
<p>[doc/News.htm lib/gs_init.ps src/gscdef.c src/version.mak]</p>
</blockquote>
<p><strong><a name="2007-11-21T200708.596302Z"></a>
2007-11-21T20:07:08.596302Z Ralph Giles</strong></p>
<blockquote>
<pre>
Update changelogs and release date for the second 8.61 candidate.
</pre>
<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Deprecated.htm man/ps2epsi.1 doc/Install.htm doc/Changes.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 src/version.mak man/pf2afm.1 doc/Ps2ps2.htm doc/Fonts.htm man/printafm.1 doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Testing.htm doc/Make.htm doc/Details8.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/History2.htm man/gslp.1 man/wftopfa.1 doc/History3.htm doc/Details.htm doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]</p>
</blockquote>
</body>
</html>
|