/usr/share/doc/graphicsmagick/www/ChangeLog-2003.html is in graphicsmagick 1.3.12-1.1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>GraphicsMagick 1.3.8 ChangeLog (2003)</TITLE>
<STYLE>
<!--
@page { size: 8.5in 11in }
TD P { color: #000000; font-family: "Verdana", "Arial", "Helvetica", sans-serif; font-size: 12pt }
P { color: #000000; font-family: "Verdana", "Arial", "Helvetica", sans-serif; font-size: 12pt }
A:link { color: #00B04F }
A:visited { color: #800080 }
-->
</STYLE>
</HEAD>
<body LANG="en-US" TEXT="#000000" LINK="#00B04F" VLINK="#007B37" BGCOLOR="#ffffff">
<table BORDER=0 WIDTH="100%" >
<tr>
<td BGCOLOR="#ffffff">
<b><font face="Helvetica, Arial"><font color="#00B04F"><font size="+1">GraphicsMagick 1.3.8 ChangeLog (2003)</font></font></font></b></td>
</tr>
</table>
<p>
2003-12-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/annotate.c (RenderFreetype): Ensure that image storage
class is set to DirectClass. Text rendering was not working
properly on top of PseudoClass images.
<LI> magick/map.c (MagickMapRemoveEntry): Logic didn't properly
handle removing entry in list.<BR>
<LI> configure.ac: Added --enable-efence option to enable memory
debugging using Electric Fence.
</UL>
<p>
2003-12-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> tests/maptest.c (main): Extended test to add an entry to the
list after an entry has already been removed.
<LI> magick/image.c (ColorspaceTypeToString): Add support for LAB
colorspace.<BR>
<LI> magick/map.c: Added signature members to all structures and
added assertions to ensure that the signature == MagickSignature
prior to use. MagickMapAllocateObject now initializes the object
reference count to one, and MagickMapDestroyObject decrements it
in order to be more correct even though the object reference count
is not actually used yet.<BR>
(MagickMapCopyString): Preserve a null argument, and use
AcquireString since it doesn't enlarge the string storage.
(MagickMapCopyBlob): Preserve null blobs.
<LI> configure.ac: Search for the shmctl() function. Under current
Cygwin, this is hiding in -lcygipc.
</UL>
<p>
2003-12-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/composite.c: Fixed the composite operator list in the
CompositeImage documentation.<BR>
<LI> www/api/types.html: Corrected list of composition
operators. Sometime prior to the creation of GraphicsMagick, the
"Replace" composite operators were renamed to be "Copy" composite
operators. Thanks to David Relson for bringing this problem to
our attention.<BR>
<LI> PerlMagick/Magick.xs: Added "LAB" to colorspace types.
<LI> magick/image.h (enum ColorSpace): Add LABColorspace enumeration.
<LI> wand/magick_wand.h : Add some compatibility definitions to
translate from ImageMagick enumerations to existing GraphicsMagick
enumerations.
</UL>
<p>
2003-12-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/annotate.c: Use header synonyms defined by FreeType's
ftheader.h (included via <ft2build.h>) to include FreeType headers.
This will presumably be more portable in the future.
<LI> configure.ac: <ft2build.h> is an optional prerequisite for
<freetype/freetype.h> and <libwmf/ipa.h> so include it when
testing for these headers.<BR>
<LI> magick/annotate.c: Include <ft2build.h> if it is available.
</UL>
<p>
2003-12-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> wand/wandtest.c: Ported from latest ImageMagick version.
<LI> wand/drawing_wand.c: Adapted to be compatible with latest
ImageMagick version.<BR>
<LI> wand/pixel_wand.c: Adapted to be compatible with latest
ImageMagick version.<BR>
<LI> wand/magick_wand.c: Ported from latest ImageMagick version.
<LI> magick/image.h (Image): Members color_profile, iptc_profile,
generic_profile, and generic_profiles are now deprecated and
private although they continue to work as before. Please migrate
existing code to use the GetImageProfile and SetImageProfile
functions since these members will eventually be removed.
<LI> magick/image.c (GetImageProfile): New function to retrieve an
image profile. Return value differs from similarly named
ImageMagick method since the ImageMagick approach assumes a
particular storage method.<BR>
(SetImageProfile): New function to add (or remove) an image
profile. Does not execute CMS color profiles.
<LI> magick/cache.c (SetImageVirtualPixelMethod): Return unsigned int to
make the Wand implementation happy.
<LI> magick/image.c (TransformColorspace): Return unsigned int to
make the Wand implementation happy.
(SetImageType): Return unsigned int to make the Wand
implementation happy.<BR>
<LI> magick/draw.h, magick/draw.c: Substitute 'unsigned long' in
place of 'size_t' in interfaces so that the draw API is not
sensitive to the definition of _LP64.
<LI> locale/C.mgk: Added new messages required by Wand library.
<LI> magick/error.c (ExceptionSeverityToTag): Add tag translations
for the WandWarning, WandError, & WandFatalError enumerations
<LI> magick/error.h (enum ExceptionType): Add WandWarning, WandError,
& WandFatalError enumerations to ExceptionType for ImageMagick
API compatibility.<BR>
<LI> magick/image.h (enum ChannelType): Add an 'AllChannels'
enumeration to the ChannelType enumeration for ImageMagick
API compatibility.
</UL>
<p>
2003-12-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick, tests: Adjusted allowed error values for tests based
on new error computation arithmatic. Some tests were left failing
since the operation they test provides results which are
unreasonably inaccurate, or obviously broken.
</UL>
<p>
2003-12-17 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/jpeg.c: Changed "JPEG:preserve-settings from a key/value
pair to a simple flag. Save and restore attributes when
"-define JPEG:preserve-settings" appears on the commandline. Use
"+define JPEG:preserve-settings" to unset the flag.
</UL>
<p>
2003-12-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/wmf.c: Include <ft2build.h> if it is available since some
libwmf installs don't work unless it is included before the libwmf
API headers.<BR>
<LI> configure.ac: Check for <ft2build.h>.
</UL>
<p>
2003-12-16 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/jpeg.c: Changed stored jpeg quality attribute from
[jpeg-quality] to JPEG-Quality. Added attributes JPEG-Colorspace
and JPEG-Sampling-factors. Added code to save and restore
these attributes when "-define JPEG:preserve-settings=yes" is
present in the comandline. Quality is restored if the input
was a JPEG and the quality was preserved. Sampling factors
are restored if the input was a JPEG, sampling factors were
preserved, and the colorspace for the output file is the same
as that of the input file.
</UL>
<p>
2003-12-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> TclMagick/source/configure.ac: Add an initial TclMagick
configure-based build environment based on a template and macros
from the Tcl project. I recall that while the extension does build,
it is possible that it is not properly registered as a module to Tcl.
</UL>
<p>
2003-12-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c (IsImagesEqual): Properly compute error distance
vectors. Math was missing the necessary sqrt call. Also,
pre-normalize the error differences to 1.0 in order to reduce the
storage size required to store the summation of error values.
<LI> PerlMagick/t/composite.t: Update Minus and Xor reference images.
<LI> magick/composite.c (CompositeImage): Incorporated fixes from
ImageMagick for XorCompositeOp, PlusCompositeOp, and
MinusCompositeOp. Thanks to John Cristy for bringing the need for
these fixes to our attention.<BR>
<LI> magick/image.h (RoundToQuantum): Added missing parenthesis.
</UL>
<p>
2003-12-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> doc/environment.imdoc: Document MAGICK_CODER_MODULE_PATH and
<STRONG>MAGICK_FILTER_MODULE_PATH.</STRONG><BR>
<LI> rungm.sh.in: Pass MAGICK_CODER_MODULE_PATH and
MAGICK_FILTER_MODULE_PATH in the environment so modules build may
be tested without first being installed.
<LI> magick/module.c (FindMagickModule): Use the
MAGICK_CODER_MODULE_PATH environment variable to specify a search
path for coder modules. Use MAGICK_FILTER_MODULE_PATH to specify
a search path for filter modules.
<LI> Makefile.am: Updated to Automake 1.8.
(install-exec-perl): Fixes which achieve a successful
'make distcheck' for the first time in *Magick history.
<LI> configure.ac: Set scripts to executable.
</UL>
<p>
2003-12-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Makefile.am (uninstall-data-html): Pathnames were computed
incorrectly so documentation directories were being left behind.
<LI> configure.ac: --without-frozenpaths is now the default. This
helps 'make distcheck' work and makes the package more portable.
Path to gm was being incorrectly frozen when --without-frozenpaths
was specified.<BR>
<LI> magick/delegate.c (ReadConfigureFile): Validate delegate paths
prior to substitution.<BR>
<LI> rungm.sh.in (top_builddir): Use a more reliable scheme for
computing location of source and build directories.
<LI> magick/Makefile.am: Improve include directory computation logic.
<LI> configure.ac: Don't override includedir. Pass user-supplied LIBS
to the linker.
</UL>
<p>
2003-12-08 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/jpeg.c: store JPEG quality as "[jpeg_quality]" attribute.
</UL>
<p>
2003-12-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> rungm.sh.in: New script to support executing uninstalled
executables.<BR>
<LI> magick/blob.c (GetConfigureBlob): New MAGICK_CONFIGURE_PATH
environment variable allows the user to specify the search path
for configuration (.mgk) files.
</UL>
<p>
2003-12-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> index.html: Added a table showing current stable release and
development version.
</UL>
<p>
2003-12-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> doc/options.imdoc (use): Describe the syntax of the -process
argument.<BR>
<LI> acinclude.m4 (AC_CHECK_CC_OPT): Add quoting in AC_CHECK_CC_OPT
definition. Change suggested by Patrick Welche
</UL>
<p>
2003-12-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/magick.c (GetMagickInfo): Fix preprocessing logic error
which caused moby shared library build to not register static
modules.
</UL>
<p>
2003-12-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/module.c (ExecuteModuleProcess): Add some logging.
<LI> magick/static.c (ExecuteStaticModuleProcess): Add some logging.
</UL>
<p>
2003-11-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> VisualMagick/installer: Add optional build support for LZW.
<LI> wand/Makefile.am: Add AUTOMAKE_OPTIONS.
<LI> configure.ac: Update to Autoconf 2.59.
</UL>
<p>
2003-11-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> VisualMagick/installer/inc/tasks-install-perlmagick.isx: Update
to reflect that the next release will use ActivePerl 5.8.1 Build
807.<BR>
<LI> VisualMagick/installer/inc/files-configs.isx: Updated the source
locations for the .mgk files. Install modules.mgk into the config
directory rather than the modules directory.
<LI> configure.ac: Fixes to work with latest CVS libtool.
<LI> libtool.m4: Update to latest CVS libtool.
<LI> magick/modules.c, magick/static.c (ExecuteStaticModuleProcess):
Fix conditional compilation logic so that "moby" shared library
build works again.<BR>
<LI> magick/compress.c, magick/mac.c: Use existing SaveImageText and
LoadImageText global constants rather than separate defines.
</UL>
<p>
2003-11-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> configure.ac: Update to Autoconf 2.58.
<LI> Makefile.am: Update to Automake 1.7.9.
</UL>
<p>
2003-11-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/draw.c (DrawComposite): Base64-encoded image was not
being deallocated. Bad memory leak.
</UL>
<p>
2003-11-03 Mike Chiarappa <mikechiarappa@libero.it>
<UL>
<LI> BCBMagick: Updated installation procedure. Please read
BCBMagick/readme.txt for details.
</UL>
<p>
2003-11-03 Mike Chiarappa <mikechiarappa@libero.it>
<UL>
<LI> BCBMagick: Released DLL Version. Please read BCBMagick/readme.txt
for details about installation and/or use.
</UL>
<p>
2003-11-03 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> magick/utility.c (GetPathComponent): Added x, X, and +
characters to list of legal characters in subimage
specifications. Required by raw RGB image reader which accepts the
syntax "image.rgb[100x100+50+50]". Thanks to John Cristy for
catching that one.
</UL>
<p>
2003-11-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/locale.c (GetLocaleMessageFromID): Fix ID range checking
logic.
</UL>
<p>
2003-10-30 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> coders/jpeg.c: changed to not write gray CMYK images as
grayscales. That would not be a valid optimization.
<LI> magick/color.c (IsGrayImage, IsMonochromeImage): Changed to
never return true for CMYK images. Separated images get wrong
colors when optimized to grayscales based on what these two
functions return. Gray and CMYK are two different color spaces.
<LI> magick/nt_feature.c (NTIsMagickConflict): changed to accept
colon as part of the magick string, consistent with the way the
function is used.<BR>
<LI> magick/utility.c, magick/utility.h (ExpandFilenames,
GetPathComponent): Fixed filename glob expansion. Added handling
of filename prefix-magick and sub-image specification to
GetPathComponent. Sub-image specification takes precedence over
any filename patterns.
</UL>
<p>
2003-10-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/static.c (ExecuteModuleProcess): Renamed from
ExecuteStaticModuleProcess. Only compiled if SupportMagickModules
is not defined.<BR>
<LI> magick/type.c (GetTypeBlob): Eliminated function.
(ReadTypeConfigureFile): Use GetConfigureBlob() rather than
GetTypeBlob().<BR>
<LI> magick/module.c (GetModuleBlob): Eliminate this function since
modules.mgk is now installed under
${prefix}/share/GraphicsMagick-version/config so
GetConfigureBlob() may be used.
(lt_dlexit, etc.) Eliminate fake libltdl function wrappers used
for the static build.<BR>
(DestroyMagickModules): Added a new destroy function (simply
invokes DestroyModuleInfo()).<BR>
(GetModuleList): Learn where modules live by using
FindMagickModule() to locate the LOGO module rather than by using
the location of modules.mgk. This is necessary since now
modules.mgk may be seperate from the modules.
(GetModuleBlob): Eliminated function.
(InitializeMagickModules): New function to safely initialize the
module loader.<BR>
(OpenModule): Added logging messages.
(OpenModules): Added logging messages.
(ReadModuleConfigureFile): Use GetConfigureBlob() rather than
GetModuleBlob().<BR>
Totally eliminated the rat's-nest of conditional code dependent on
SupportMagickModules. Now all the code in module.c is dependent
on #if defined(SupportMagickModules).
<LI> magick/magick.c (DestroyMagick): Invoke DestroyMagickModules().
(GetMagickInfo): #ifdef chunks of code which exist to support the
modules-build rather than forcing the module loader to pretend
that modules are being used when they are not. Pass module loading
exceptions back to the user rather than discarding them.
(GetMagickInfoArray): Don't inspect the exception status since may
short-circuits the operation. Use best-effort instead.
(ListMagickInfo): Don't inspect the current exception status so
that all the modules which did load successfully will be
represented.<BR>
(InitializeMagick): Invoke InitializeMagickModules().
<LI> magick/log.c: (GetLogBlob): Eliminated function.
GetConfigureBlob() is safe to use now when configuring logging.
(LogToBlob): Simplified function. Only exists since FileToBlob()
may throw exceptions (which are logged, causing deadlock).
(ReadLogConfigureFile): Use GetConfigureBlob().
<LI> magick/blob.c (GetConfigureBlob): Re-written to use the
MagickMap interface and to support the new 'lib' and 'share'
config directories. The directory
${prefix}/lib/GraphicsMagick-version/config is scanned before
${prefix}/share/GraphicsMagick-version/config.
(FileToBlob): Simplified implementation.
<LI> config/Makefile.am: New makefile to install .mgk files.
<LI> magick/magick_config.h.in: Added MagickLibConfigPath and
MagickShareConfigPath defines.<BR>
<LI> configure.ac: Install configuration files (.mgk files) in
${prefix}/lib/GraphicsMagick-version/config and
${prefix}/share/GraphicsMagick-version/config. Architecture
independent files to under "share" while architecture dependnet
files go under "lib".<BR>
<LI> Makefile.am: Added 'config' subdirectory to distribution. All
.mgk files are moved from 'coders' & 'magick' into this single
directory.
</UL>
<p>
2003-10-21 Mike Chiarappa <mikechiarappa@libero.it>
<UL>
<LI> magick/studio.h: small modifications to achieve DLL
compilation of library with Borland C++ Builder.
<LI> coders/ps3.c (ZLIBEncode2Image): Fixed bug. Compilation
fail when HasZLIB is undefined because parameters 5 and 6,
are undefined.
</UL>
<p>
2003-10-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> libtool.m4: Updated libtool again to CVS latest version.
Libtool required some fixes for building DLLs under MinGW.
<LI> magick/resource.c (InitializeMagickResources): Some code is
conditional based on HAVE_POPEN.
<LI> magick/utility.c (SystemCommand): Improved conditional
compilation logic.<BR>
<LI> magick/blob.c (OpenBlob): Code depending on popen() is
conditionally compiled based on HAVE_POPEN. Code depending on
pclose() is conditionally compiled based on HAVE_PCLOSE.
<LI> configure.ac: Add test for _pclose(), pclose(), _popen(), and
popen().<BR>
<LI> magick/locale.c (GetLocaleMessage): Add missing MagickExport.
(GetLocaleMessageFromID): Add missing MagickExport.
<LI> VisualMagick/installer/inc/files-development.isx (Source):
Include all of the headers from the magick directory in the
development package. Including them individually is too error
prone.
</UL>
<p>
2003-10-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> VisualMagick/magick/magick_config.h.in: Added
PREFIX_MAGICK_SYMBOLS as a configuration option.
<LI> magick/module.c (_CoderInfo): Added register_function and
unregister_function members to record the module's register and
unregister function addresses.<BR>
(OpenModule): Locate the module's register and unregister
functions and save their address to the module's CoderInfo record.
(UnloadModule): Invoke the module unregister function using the
address recorded by OpenModule().
(TagToFunctionName): If PREFIX_MAGICK_SYMBOLS is defined, then add
a "Gm" prefix to the register and unregister function names.
<LI> libtool: Updated libtool files to the latest CVS version.
<LI> configure.ac: Changed define name from MAGICK_SYMBOL_PREFIX to
PREFIX_MAGICK_SYMBOLS since support is not available for
specifying an arbitrary prefix.
</UL>
<p>
2003-10-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> configure.ac: Added --enable-symbol-prefix configure option
which prepends "Gm" to all GraphicsMagick library symbols using
the C pre-processor. In the future, this may change to support
specifying an arbitrary prefix, depending on experience.
<LI> magick/studio.h: Include magick/symbols.h.
<LI> magick/api.h: Include magick/symbols.h.
<LI> magick/symbols.h: New header to support optionally remapping
library symbols. If MAGICK_SYMBOL_PREFIX is defined, then
library symbols are remapped.
</UL>
<p>
2003-10-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/api.h: Removed inclusion of <magick/semaphore.h> since it
is an implementation header.
</UL>
<p>
2003-10-13 Lars Skyum <lrs@stibo.dk>
<UL>
<LI> www/GraphicsMagick.html, www/animate.html, www/composite.html,
www/conjure.html, www/convert.html, www/display.html, www/gm.html,
www/identify.html, www/import.html, www/mogrify.html,
www/montage.html: added documentation for "-define" command line
option.<BR>
<LI> doc/brief_options.imdoc, doc/options.imdoc: Added documentation
for "-define" command line option.
<LI> doc/gmdocselect, doc/imdocselect: Changed "skipform" label in
sed scripts to just "skipf". Solaris sed had problems with the
long(?) "skipform" label.
</UL>
<p>
2003-10-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> doc/composite.imdoc, doc/options.imdoc, doc/GraphicsMagick.imdoc:
Attempted to clarify the meaning of the compose arguments and how
composition works, as well as eliminating use of hard-coded values like
255.<BR>
<LI> www/links.html: Added a link to Michael Still's article
"Graphics from the command line".
</UL>
<p>
2003-10-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/*.c: Updated module descriptions so that they accurately
describe the module rather than saying "Read/Write GraphicsMagick
Image Format".<BR>
<LI> coders/cineon.c: Fix source module description. Contrary to
opinion, ImageMagick did not invent the Cineon X image format so
description is now "Read/Write Cineon X Image Format."
<LI> magick/magic.mgk: Added a CINEON entry for the Cineon X image
format.<BR>
<LI> magick/static.c (RegisterStaticModules): Invoke
RegisterCINEONImage().<BR>
<LI> coders/modules.mgk: Map "CIN" magick to CINEON module.
</UL>
<p>
2003-10-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> locale/C.mgk: Added message for "UnrecognizedCommand".
<LI> magick/command.c (MagickCommand): No error was reported when a
subcommand failed to be matched so 'gm foo' would silently return.
Now an error message is properly reported.
</UL>
<p>
2003-10-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Makefile.am: Updated to Automake 1.7.8.
<LI> various: Edits to eliminate minor issues detected by SGI C compiler.
<LI> coders/ps3.c (WritePS3Image): Variable 'value was set but never
used so it is removed.<BR>
<LI> magick/image.c (RGBTransformPacket): Removed inline request
since this function is too big to inline.
<LI> magick/animate.c (XAnimateBackgroundImage): Fixed a GCC 3.X
"type pinning" warning.<BR>
<LI> magick/display.c (XDisplayBackgroundImage): Fixed a GCC 3.X
"type pinning" warning.<BR>
<LI> magick/render.c (GetPixelOpacity): Removed inline directive. No
one in their right mind could ever imagine this function inlining
successfully.<BR>
<LI> magick/cache.c (IsNexusInCore): Adjusted so function inlines as
requested.<BR>
<LI> coders/tiff.c (ReadTIFFImage): Improved logging information.
(WriteTIFFImage): Changed the way the bilevel/grayscale logic
works. Now bilevel images are treated similar to any other
grayscale image unless CCITT FAX3 or FAX4 compression is requested
(which selects the MINISWHITE photometric). The default is now to
write uncompressed bilevel images with MINISBLACK photometric.
<LI> PerlMagick/t/composite.t: Use some reasonable error values.
<LI> magick/image.c (GetImageDepth): Added special cases for
colormapped images and monochrome images in order to improve
performance.
</UL>
<p>
2003-10-09 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> NEWS: added info about color scaling, sampling-factor, and
changed a reference to "-coder-options" to "-define".
</UL>
<p>
2003-10-09 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> VisualMagick/bin/modules.mgk: added EPS3 mapping to PS3 module.
<LI> coders/ps3.c, coders/tiff.c, magick/command.c, magick/image.c,
magick/image.h, magick/utility.c: Changed -coder-options option to
-define. Also renamed functions {Add,Remove,Access}CoderOption(s)
to {Add,Remove,Access}Definition(s). Changed ps coder-specific
option ps:image=imagemask to just ps:imagemask.
</UL>
<p>
2003-10-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/cineon.c: Imported and adapted Cineon image format coder
written by Kelly Bergougnoux <three3@users.sourceforge.net> with
assistance from John Cristy.
</UL>
<p>
2003-10-08 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/jpeg.c: Extended -sampling-factor option to allow
user to supply full set of sampling factors. If the full
set is not supplied, omitted ones are 1x1 by default, similar
to the behavior of "cjpeg -sample".
<LI> magick/command.c: Accept multiple pairs of sampling factors.
</UL>
<p>
2003-10-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/tiff.c (WriteTIFFImage): Re-arranged logging for improved
output. Cleaned up evaluation of SAMPLESPERPIXEL and
BITSPERSAMPLE. Provided support for the TIFF coder options
tiff:samples-per-pixel and tiff:bits-per-sample for power users.
(ReadTIFFImage): Colormap generation for PHOTOMETRIC_MINISBLACK
and PHOTOMETRIC_MINISWHITE was inaccurate. Seems to be accurate
now.<BR>
<LI> PerlMagick/t/reference/read/input.miff: Updated due to Glenn's
change to scale macros.<BR>
<LI> PerlMagick/t/tiff/input_gray_12bit.tiff: Replaced 12 bit image
with a different one which is written by GraphicsMagick.
<LI> coders/ps3.c (WritePS3Image): Use AccessCoderOption().
<LI> magick/image.c (AccessCoderOption): Added a function to use for
accessing coder-specific options.
</UL>
<p>
2003-10-08 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> magick/attribute.c (TraceSVGClippingPath): optimized for speed
and precision in clipping mask generation by using lines to
connect Bezier curve anchor points where applicable.
</UL>
<p>
2003-10-07 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> Revised ScaleColor5to8 and ScaleColor6to8 macros again, to
fill the low bits correctly.
</UL>
<p>
2003-10-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick/t/tiff/read.t: Added 16-color and 256 color
colormapped tests with a matte channel.
<LI> PerlMagick/t/tiff/write.t: Added 16-color and 256 color
colormapped tests with a matte channel.
<LI> coders/tiff.c (WriteTIFFImage): When using LZW compression,
apply the horizontal differencing predictor to RGB truecolor and
deep gray images since the TIFF spec says that LZW compression is
usually improved by using horizontal differencing with continuous
tone images.<BR>
Re-implemented grayscale and colormapped scanline preparation to
use the new bit-stream interface. This is a bit slower, but very
flexible, and the implementation is very compact. Writing of a
matte (transparency) channel is now believed to be correct for all
depths.<BR>
<LI> magick/command.c (MogrifyImage): Only transform the colorspace
if it has been set (i.e. is not UndefinedColorspace).
</UL>
<p>
2003-10-06 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/png.c (ReadOnePNGImage): PNG decoder would exit too
early when reading image.png[0].
</UL>
<p>
2003-10-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick/t/tiff/write.t: Added TIFF write tests for 4
bits-per-sample TIFF images, both with and without a transparency
channel.<BR>
<LI> magick/image.c (DescribeImage): Added -verbose support for
displaying individual channel depths.
</UL>
<p>
2003-10-06 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> magick/image.c (SetImageInfo): cleaned up parsing of subimage
specification (image.psd[0]). It would fail sometimes due to
incorrect reuse of variables. It's a bit strange the code accepts
more range syntax-variations than can be stored in ImageInfo.
</UL>
<p>
2003-10-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c (ChannelImage): The OpacityChannel, MatteChannel,
and BlackChannel operations set the matte channel to opaque, so
set image->matte to False for those operations.
(RGBTransformImage): Add an assertion to prevent passing the
colorspace argument 'UndefinedColorspace'.
(TransformRGBImage): Add an assertion to prevent passing an image
with colorspace set to 'UndefinedColorspace'.
</UL>
<p>
2003-10-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/log.c (LogToBlob): Since MagickSeek(file,0,SEEK_END) is
used to obtain the Blob size, MagickSeek(file,0,SEEK_SET) must be
used to restore the seek position. Thanks to John Cristy for
bringing this to our attention.
</UL>
<p>
2003-10-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/bit_stream.h: Added a bit-stream writer function.
<LI> PerlMagick/t/reference/read/input_tim.miff: Reference image
was defective.
</UL>
<p>
2003-10-03 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> magick/image.c, magick/image.h: Updated AddCoderOptions to
accept "flag" keys that have no values. They are placed in the
coder options map with an empty, zero length string value. Option
argument syntax is now: "key1[=[value1]],key2[=[value2]],..."
</UL>
<p>
2003-10-03 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> magick/command.c: Updated +coder-options option to not clear the
entire map of coder options, but accept a list of names to remove
from the map. Use option argument "*" to clear the entire map of
coder options.<BR>
<LI> magick/image.c, magick/image.h: Added function
RemoveCoderOptions. Added cast of signed char to unsigned char and
int in calls to isspace and isprint.
<LI> magick/utility.c: Added cast of signed char to unsigned char and
int in calls to isspace and isprint. Added special handling of
+coder-options option in ExpandFilenames function.
</UL>
<p>
2003-10-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick/t/reference/read/input_tim.miff: The TIM read results
changed somewhat due to Glenn's ScaleColor5to8 fix.
</UL>
<p>
2003-10-01 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> Revised ScaleColor5to8 and ScaleColor6to8 macros to fill in
the low bytes.<BR>
<LI> coders/bmp.c (ReadBMPImage): scaling of 8-8-8-8-bit images was
also slightly incorrect.
</UL>
<p>
2003-09-30 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/bmp.c (ReadBMPImage): scaling of 5-5-5-bit and 5-6-5-bit
images was slightly incorrect.
</UL>
<p>
2003-09-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/tiff.c (ReadTIFFImage): When using the generic bit-stream
marshaller to read colormapped/gray images, the slight performance
improvement from creating a special case for matte images did not
justify almost doubling the amount of code. Therefore, the two
loops are combined back into one.
</UL>
<p>
2003-09-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/tiff.c (ReadTIFFImage): Fixed reading grayscale TIFFs
that have a transparency channel. Now uses a generic bit-stream
marshaller to allow reading any grayscale or colormapped TIFF with
any bits per sample in the range of 1 to 16.
<LI> magick/bit_stream.h: Added a generic implementation for
marshalling from a bit-stream into a quantum. Still needs
re-writing for best performance.
<LI> PerlMagick/t/tiff/read.t: Added a test case for reading 8-bit
grayscale TIFF with matte. Corrected grayscale 12-bit read
signatures. Added 16 color PseudoClass read test. Added 4-bit
grayscale read test.
</UL>
<p>
2003-09-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/tiff.c (WriteTIFFImage): Add support for writing
DirectClass grayscale images at 4 bits per sample, including those
with an opacity channel. This allows writing smaller files
(half the size) when the image has 16 (or less) levels of gray.
Use "gm convert inimage.tiff -depth 4 outimage.tiff" to quickly
create grayscale TIFF file with 16 (or less) levels of
gray.
</UL>
<p>
2003-09-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> NEWS: Updated NEWS file with changes since last update.
<LI> index.html: Added a link to the www/AUTHORS.html file, as well
as text stating that GraphicsMagick is originally derived from
ImageMagick 5.5.2, with a link to the ImageMagick site.
<LI> Makefile.am: Add rules to generate www/AUTHORS.html.
<LI> www/AUTHORS.html: New HTML file based on the AUTHORS file in the
source package. GraphicsMagick has many authors.
</UL>
<p>
2003-09-25 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick/image.c: Updated DescribeImage to cleanup EXIF data display
based on work by Cristy in ImageMagick.
</UL>
<p>
2003-09-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/tiff.c (WriteTIFFImage): Add support for writing
colormapped TIFF images with 1, 2, & 4 bits per colormap index.
This allows writing smaller files.
</UL>
<p>
2003-09-24 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> coders/ps3.c: Now creates a correct %%BoundingBox for images
with resolution stored as pixels per centimeter. Renamed serialize
functions. Added comment headers where they were
missing. Reformatted code to be in alignment with GraphicsMagick
standard formatting.<BR>
<LI> magick/map.c: Fixed semaphore double locking problem in
MagickMapCloneMap.
</UL>
<p>
2003-09-23 Mike Chiarappa <mikechiarappa@libero.it>
<UL>
<LI> BCBMagick/readme.txt : Updated compilation instructions.
<LI> BCBMagick/magick/libMagick.bpr : Updated project, now include map.c.
<LI> BCBMagick/lcms/Projects/BCB6/lcms.bpr : Updated project, now include
cmscam02.c and cmsvirt.c.<BR>
Much thanks to Alex Dvoretsky for bringing this problem to my attention.
</UL>
<p>
2003-09-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.h (Image): Moved private members to bottom of
structure.<BR>
(_ImageInfo): Moved private members to bottom of
structure.<BR>
<LI> magick/Makefile.am (pkginclude_HEADERS): Don't install
semaphore.h.<BR>
(noinst_HEADERS): Distribute map.h and semaphore.h.
<LI> magick/image.h (ImageInfo): Change coder_options member from
type 'MagickMap' to type 'void *'.
<LI> coders/png.c: include magick/semaphore.h.
<LI> magick/blob.c: include magick/semaphore.h.
<LI> magick/color.c: include magick/semaphore.h.
<LI> magick/constitute.c: include magick/semaphore.h.
<LI> magick/delegate.c: include magick/semaphore.h.
<LI> magick/log.c: include magick/semaphore.h.
<LI> magick/magic.c: include magick/semaphore.h.
<LI> magick/magick.c: include magick/semaphore.h.
<LI> magick/module.c: include magick/semaphore.h.
<LI> magick/semaphore.c: include magick/semaphore.h.
<LI> magick/stream.c: include magick/semaphore.h.
<LI> magick/tempfile.c: include magick/semaphore.h.
<LI> magick/type.c: include magick/semaphore.h.
<LI> magick/blob.h (_BlobInfo): Changed 'Semaphore *' to 'void *'.
<LI> magick/cache.h (_CacheInfo): Changed 'Semaphore *' to 'void *'.
<LI> magick/image.h (_Image): Changed 'Semaphore *' to 'void *'.
<LI> magick/command.c: Updated each invokation of MagickMapAddEntry()
to add an exception argument.<BR>
<LI> tests/maptest.c: Updated to pass an exception argument to
MagickMapAddEntry.<BR>
<LI> magick/image.c (AddCoderOptions): Added exception argument
and some more error handling.<BR>
<LI> magick/map.c: Added formal documentation for methods.
(MagickMapCloneMap): Added exception argument.
(MagickMapAddEntry): Added exception argument and status.
</UL>
<p>
2003-09-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/emf.c: Changed NotAnEMFFile to ImproperImageHeader.
<LI> magick/map.h: Changed all size parmeters from type 'unsigned
long' to 'size_t'.<BR>
<LI> magick/map.c (MagickMapCopyBlob): Add new function to support
copying a Blob in a MagickMap.<BR>
(MagickMapDeallocateBlob): Add new function to support
deallocating a Blob in MagickMap.
</UL>
<p>
2003-09-23 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> coders/ps3.c: Fixed handling the case when no -coder-options are
provided to the PS3 coder.
</UL>
<p>
2003-09-22 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> coders/ps3.c: Changed %%Creator version to use
MagickLibVersionText, increased precision in HiResBoundingBox,
added a coder specific option for rendering bilevel images with
the PS imagemask operator indstead of the image operator.
<LI> magick/command.c: Added "-coder-options" command line argument
to all relevant command line utilities. Option argument to
-coder-options is a list of comma separated key-value pairs that
are saved in a MagickMap in ImageInfo for (de-)coders to use. See
PS3 coder for an example that checks for: -coder-options
"ps:image=imagemask"<BR>
<LI> magick/image.c, magick/image.h: Added function AddCoderOptions().
<LI> magick/map.c, magick/map.h: removed MS-DOS line terminators.
</UL>
<p>
2003-09-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> tests/maptest.c (main): Test/demo program for key,value map API.
<LI> magick/map.c, magick/map.h: Implementation of a key,value map
API for internal use.
</UL>
<p>
2003-09-19 William Radcliffe <billr@corbis.com>
<UL>
<LI> lcms/include/icc34.h lcms.h: Added back the icc34.h header and
changes to make lcms compile on Win32" icc34.h lcms.h.
</UL>
<p>
2003-09-19 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> coders/ps3.c: Fixed warnings from Solaris compiler.
</UL>
<p>
2003-09-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> locale/C.mgk: Eliminated the many "NotA" messages since they may
all be considered forms of "ImproperImageHeader". It is useful to
provide the origin of such messages in case the wrong coder has
been invoked, however, this is expensive to do via the message
database since it explodes the number of messages. The exception
logging can help here. Once the exception reports include the
reporting entity, it will be more clear when the software
misbehaves.<BR>
<LI> magick/error.h (ThrowReaderException2): Remove since no longer
used.<BR>
(ThrowReaderException): Simplified implementation so that
ThrowException is not expanded twice.
<LI> magick/error.h (ThrowReaderException3): Remove since never used.
<LI> coders/xtrn.c (ReadXTRNImage): Use ThrowReaderException rather
than ThrowReaderException2.<BR>
<LI> locale/C.mgk (MissingArgument) Updated to include %s so that the
description field appears earlier in the message.
<LI> magick/error.c (DefaultErrorHandler): Added a hack to allow the
'reason' member to include a %s so that it may specify the
formating of the message. Care should be taken to not over-use
this hack.
</UL>
<p>
2003-09-18 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> coders/ps3.c: Major update of the PS3 coder. Now ascii85 encodes
all binary data. Many printer spoolers don't like the binary
data. The coder now creates much smaller files for bilevel, gray,
and colormapped images. Compression and image type is now
separated so they may be combined independently. Any alpha channel
is separated into a separate mask so it's possible to mask
bilevel, gray, colormapped, rgb, and CKYK images. You may also
mask a JPEG compressed PS file for instance. Clipping masks
created from a photoshop clipping path with -clip option is
converted to a corresponding postscript clipping path. New
functions need comment headers.
<LI> magick/attribute.c: Added TracePSClippingPath for creating a
postscript clipping path from a photoshop clipping path.
<LI> magick/compress.c, magick/compress.h: Added write-hook based
interface to compression functions. Required for ascii encoding
compressed, binary data. The interface between blob write
functions, compression functions, and encoding functions could
benefit from more of this work.
<LI> magick/image.c: ClipPathImage now stores the name of the
clipping path in the mask image filename so that it is remembered
and may be used for creating a postscript clipping path for
postscript output.<BR>
<LI> coders/modules.mgk: Added EPS3 mapping to module PS3.
</UL>
<p>
2003-09-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/command.c: Coalesced various "Missing" error reports into
one "MissingArgument" error report in order to reduce the number
of messages to be maintained.<BR>
<LI> locale/C.mgk: Removed almost all "Missing" messages.
<LI> magick/gm_messages.mc: Added Microsoft message compiler source
file to CVS until which time it may be generated automatically
during the build.
</UL>
<p>
2003-09-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> locale/Makefile: Added ability to generate gm_messages.mc
(for Windows message compiler) as well as adding 'clean' and
'install' targets.<BR>
<LI> magick/delegate.h: Visual Studio .NET 2003 doesn't like
the chaining of GhostscriptVector members which share a
common return type. Splitting the definitions solves this
problem.
</UL>
<p>
2003-09-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/deprecate.h (MagickSignedType): Compatibility definition
to handle ImageMagick API change.
(MagickUnsignedType): Compatibility definition to handle
ImageMagick API change. The new names are just as useless as the
old names, but at least they are shorter.
<LI> magick/command.c: Linux's sscanf has the terrible bug that it
improperly handles pulling out the first floating value from the
string "0x1". Instead of retrieving the value 0 and returning 1,
it returns 0, probably because it rejects the string as a hex
constant. As a result, all options which used sscanf to validate
this input are now converted to use IsGeometry().
</UL>
<p>
2003-09-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> ltdl/ltdl.c: Update to libltdl current as of today.
<LI> ltmain.sh: Update to libtool current as of today.
<LI> configure.ac: For HPUX C++ compiler, add -AA to CXXFLAGS rather
than CXX.
</UL>
<p>
2003-09-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> configure.ac: Decided that the standards conformance
defines create more problems than they solve so they are
removed.<BR>
Move the large-file tests to before the libtool configuration
since the libtool configuration was causing stdlib.h to be
included prior to the large file defines, and this causes
header failure with C++ under AIX.
<LI> www/api/types.html: Update description of MonitorHandler.
</UL>
<p>
2003-09-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> configure.ac: Set CXX to PTHREAD_CXX if necessary (and warn).
<LI> acinclude.m4 (ACX_PTHREAD): Add check to see if xlC_r should be
used for AIX.
</UL>
<p>
2003-09-10 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> magick/render.c: Fixed handling of arc primitive (see IM-5.5.8).
</UL>
<p>
2003-09-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/log.h: It seems that test programs are using
GetMagickModule so make it visible by default.
<LI> configure.ac: Use GM_FUNC_MMAP_FILEIO macro to test mmap.
<LI> acinclude.m4 (GM_FUNC_MMAP_FILEIO): New macro to test mmap's
capability to do coherent file I/O. The AC_FUNC_MMAP macro
was not testing the mmap features that GraphicsMagick uses, and
was failing on a number of systems.
<LI> magick/blob.c (BlobMapModeToString): Only include this static
function if HAVE_MMAP is defined.
<LI> coders/locale.c (WriteLOCALEImage): Fix FormatString argument
type inconsistencies.<BR>
<LI> wand/magick_compat.h: Change MagickExport to WandExport.
<LI> coders/jpeg.c, coders/locale.c, coders/meta.c, coders/miff.c,
coders/palm.c, coders/pict.c, coders/svg.c, coders/tiff.c,
coders/topol.c, magick/cache.c, magick/display.c, magick/image.c,
magick/widget.c: Removed unused values, changed storage types, or
added explicit casts, in order to reduce the number of "REMARK"s
when using the SGI IRIX compiler.
<LI> magick/render.c (DrawClipPath): Fix memory leak of
clone_info->clip_path. Problem reported by Vladimir
<lvm@integrum.ru>.<BR>
(DestroyDrawInfo): Remove unnecessary checks for non-null prior to
invoking MagickFreeMemory. MagickFreeMemory already checks for
non-null.<BR>
<LI> magick/log.h (GetCurrentFunction): Apparently Visual C++ 6.0
does not support __FUNCTION__. Problem reported by Vladimir
<lvm@integrum.ru>.<BR>
<LI> wand/magick_compat.c: All functions in magick_compat.c must use
WandExport rather than MagickExport. Fix recommended by Vladimir
<lvm@integrum.ru>.<BR>
<LI> magick/constitute.c (PushImagePixels): number_pixels was always
cast to a long during use, so change to store value in a long
instead.<BR>
(PopImagePixels): number_pixels was always
cast to a long during use, so change to store value in a long
instead.
</UL>
<p>
2003-09-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/psd.c: Eliminated warning regarding unused initialized
variable.<BR>
<LI> magick/log.c: Eliminate type warnings regarding enum assignment.
<LI> coders/locale.c (WriteLOCALEImage): Use UndefinedException
rather than 0 in severity_list terminating entry in order to avoid
a type conversion warning.<BR>
<LI> magick/image.c (SetImageChannelDepth): Depth parameter was being
returned rather than status. Oops!
<LI> magick/effect.c (BlurScanline): Due to automatic casting
conventions, computation was being done (at least with SGI
compiler) as type 'unsigned long' rather than 'long' as it should
have been.<BR>
<LI> coders/jpeg.c, coders/meta.c, coders/miff.c, coders/msl.c,
coders/palm.c, coders/pcd.c, coders/psd.c, coders/svg.c,
coders/tiff.c, coders/xcf.c, magick/render.c, : Quench many SGI
compiler warnings regarding variables which are initialized but
never used.<BR>
<LI> magick/xwindow.h: Undef gravity defines so that enumerated type
is used instead.
</UL>
<p>
2003-09-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/log.c (LogMagickEvent): Windows system logging
functionality is not currently ported to work with Cygwin so
disable when compiling under Cygwin.
<LI> magick/log.c (Win32EventlogOutput): Remove spurious comma in enum.
<LI> wand/drawing_wand.h: Remove junk comment marker that I forgot to
remove.<BR>
<LI> magick/studio.h: Provide prototypes for strlcpy and vsnprintf if
the system doesn't provide them in the requested compilation
environment.<BR>
<LI> configure.ac: Add necessary standards compilance definitions to
magick_config.h.<BR>
Check for strlcpy and vsnprintf prototypes.
<LI> Makefile.am (DOCDIRS): www/api/types does not exist anymore.
</UL>
<p>
2003-09-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> configure.ac: Move multithread tests prior to libtool
configuration in case value of CC is changed. Otherwise libtool
gets confused and refuses to run.
<LI> acinclude.m4 (ACX_PTHREAD): If using AIX CC 'xlc' use 'xlc_r'
for multithread compiler.<BR>
<LI> coders/jpeg.c: Undef HAVE_STDLIB_H before including the
jpeg headers or else we get an already defined error/warning.
</UL>
<p>
2003-09-04 Mike Chiarappa <mikechiarappa@libero.it>
<UL>
<LI> BCBMagick : Updated whole directory tree to achieve correct
compilation with Borland C++ Buider 6.0.
</UL>
<p>
2003-09-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c (ClipPathImage): Remove MS-DOS line terminations
(actually, extra carriage returns) which somehow crept into
ClipPathImage.<BR>
<LI> locale/C.mgk: Added message for "PNG library is too old".
</UL>
<p>
2003-09-04 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> magick/transform.c (ProfileImage): Bugfix: conditional
compilation based on LCMS being present or not now works as
expected. An exception is thrown if LCMS is not present and
profile conversion is used.
</UL>
<p>
2003-09-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/txt.c (ReadTXTImage): Fix strlen() pointer type warning.
<LI> magick/image.c (TextureImage): Fixed return with no value warning.
<LI> magick/color.c (GetColorInfoArray): Decided that the const
return value was a bad idea. Therefore, the return type has been
made non-const.<BR>
<LI> magick/magick.c (GetMagickInfoArray): Decided that the const
return value was a bad idea. Therefore, the return type has been
made non-const.<BR>
<LI> tests/constitute.c, tests/rwblob.c, tests/rwfile.c : Define
MAGICK_IMPLEMENTATION since these test programs using some internal
extensions.<BR>
<LI> configure.ac: Test C++ compiler for __func__ support.
<LI> magick/log.h: Added GetCurrentFunction() macro to handle
__func__ support determination. Re-wrote GetMagickModule() macro
to use GetCurrentFunction(). Changes should allow compilation of
Magick++ when the C compiler supports __func__ but the C++
compiler does not.<BR>
<LI> configure.ac: Changed from using HAS___func__ define to
HAS_C__func__ since this feature may be language sensitive.
<LI> locale/C.mgk: Added missing JNGCompressionNotSupported message.
</UL>
<p>
2003-09-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/attribute.c (Generate8BIMAttribute): Fix sscanf argument
type mis-match.<BR>
<LI> coders/ps3.c (ZLIBEncodeImage): Fix mis-classified
ZipLibraryIsNotAvailable error report.
<LI> coders/url.c (RegisterURLImage): Only register URL format
support if libxml2 is available.
<LI> coders/msl.c (RegisterMSLImage): Only register MSL format
support if libxml2 is available.
</UL>
<p>
2003-09-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/histogram.c (WriteHISTOGRAMImage): Remove a useless loop.
<LI> coders/wpg.c: Applied patch from Fojtik Jaroslav to support
reading WPGs which use the EXT token.
</UL>
<p>
2003-08-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/color.c (HistogramToFile): Renamed static method
'Histogram' to 'HistogramToFile' to make it more clear what this
function does.<BR>
(GetColorHistogram): Added new function to support retrieving a
color histogram of the image. A color histogram contains a count
of how many times each color occurs in the image.
<LI> magick/image.c (GetImageChannelDepth): Return an 'unsigned int'
rather than 'long'.
</UL>
<p>
2003-08-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick/Magick.xs: Add support for CopyCyan, CopyMagenta,
CopyYellow, and CopyBlack, composition operators.
<LI> magick/composite.c (CompositeImage): Added support for
CopyCyanCompositeOp, CopyMagentaCompositeOp,
CopyYellowCompositeOp, and CopyBlackCompositeOp, composition
operators.
</UL>
<p>
2003-08-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> wand/*: Updated to current ImageMagick Wand API (minus a few
unimplemented functions).<BR>
<LI> magick/image.c (TextureImage): Add status return because Wand API
wants it. Inherit is_grayscale status from texture image.
<LI> magick/fx.c (SolarizeImage): Add status return because Wand API
wants it.<BR>
<LI> magick/resource.c (SetMagickResourceLimit): Add status return
because Wand API wants it.<BR>
<LI> magick/draw.c (DrawPeekGraphicContext): Now returns a
copy of the current DrawInfo context rather than returning
a pointer into the context stack. The user must destroy
this copy using DestroyDrawInfo() once it is no longer
needed.
</UL>
<p>
2003-08-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> VisualMagick/filters/LIBRARY.txt: This file is necessary to
incorporate analyze.c into the static build. Without it the
build fails.
</UL>
<p>
2003-08-23 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> magick/transform.c: ProfileImage updated to handle alpha
channels and grayscale images. Also optimized color profiling of
color mapped images and fixed a few bugs in profiling of CMYK
images.<BR>
<LI> magic/locale_c.h: added MagickExport to prototype declaration of
GetLocaleMessageFromID in WriteLOCALEImage again. Please update
your locale coder.
</UL>
<p>
2003-08-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/wpg.c: Applied patch from Fojtik Jaroslav to use the
GetMagicInfo() function to obtain the format of embedded images,
and to provide a default WPG palette if the WPG file does not
supply a palette.
</UL>
<p>
2003-08-22 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick\gm_messages.bin locale_c.h transform.c: Fixed missing
message problem and added support for new lcms error handler.
</UL>
<p>
2003-08-21 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> magick/attribute.c, magick/image.c, magick/command.c: Added
"clippath" option for clipping named Photoshop clipping paths,
increased precision in clipping path knots, added comments, and
fixed a few bugs resulting from moving TraceClippingPath function
from ImageMagick to GraphicsMagick. Still need to update some of
the documentation.<BR>
<LI> magick/locale_c.h, magick/studio.h: added MagickExport to
declaration of GetLocaleMessageFromID and moved include of
magick/locale_c.h after declaration of MagickExport. This fixes a
link error in dynamic, DLL version.
<LI> coders/locale.h: added MagickExport to prototype declaration of
GetLocaleMessageFromID in WriteLOCALEImage.
</UL>
<p>
2003-08-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick/t/subroutines.pl (testRead): Ignore useless TIFF
warning so that 12-bit TIFF test passes.
<LI> magick/constitute.c (ReadImage): Ensure that the reported image
magic string is that of the user-specified input file rather than
a temporary file prepared by an external delegate program.
<LI> magick/command.c (ImportImageCommand): Since
DestroyExceptionInfo() now sets the destroyed exception signature
to an invalid value, GetExceptionInfo(exception) must be invoked
when the intention is to simply purge the exception. This fix
resolves an abort when executing 'gm import'.
</UL>
<p>
2003-08-18 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick\gm_messages.bin locale_c.h transform.c: Updates that
add latest enhancments by Lars to color management code in
ProfileImage.
</UL>
<p>
2003-08-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/wpg.c: Incorporated patch from Fojtik Jaroslav to support
rendering embedded WMFs.
</UL>
<p>
2003-08-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c (SetImageChannelDepth): New function to transform
the specified channel so it fits the specified modulus depth.
<LI> magick/blob.c (BlobToImage): Skip calling SetImageInfo() if
magick is already set.
</UL>
<p>
2003-08-18 William Radcliffe <billr@corbis.com>
<UL>
<LI> PerlMagick/Magick.xs: Some fixes to get PerlMagick compiling
again due to new ID based error macros.
</UL>
<p>
2003-08-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/error.h (enum): Remove spurious comma.
</UL>
<p>
2003-08-17 William Radcliffe <billr@corbis.com>
<UL>
<LI> coders\png.c: Had to modify a few exception calls to work with
newest macros.
</UL>
<p>
2003-08-17 William Radcliffe <billr@corbis.com>
<UL>
<LI> coders\locale.c magick/error.h locale.c locale_c.h studio.h:
The LOCALEH header file generator now adds an MGK_ prefiix to
all the ID defines as part of a fix to support the new error
and exception macros cross platform.
</UL>
<p>
2003-08-16 William Radcliffe <billr@corbis.com>
<UL>
<LI> wand\magick_wand.c pixel_wand.c: The wand api code was totally
left out of the large macro conversion below as an oversight.
</UL>
<p>
2003-08-15 William Radcliffe <billr@corbis.com>
<UL>
<LI> .\coders art.c avi.c avs.c bmp.c caption.c clipboard.c cmyk.c
cut.c dcm.c dib.c dps.c dpx.c emf.c ept.c fax.c fits.c fpx.c gif.c
gradient.c gray.c hdf.c histogram.c html.c icon.c jbig.c jp2.c
jpeg.c label.c locale.c logo.c map.c mat.c matte.c meta.c miff.c
mono.c mpc.c mpeg.c msl.c mtv.c mvg.c null.c otb.c palm.c pcd.c
pcl.c pcx.c pdb.c pdf.c pict.c pix.c png.c pnm.c preview.c ps.c
ps2.c ps3.c psd.c pwp.c rgb.c rla.c rle.c sct.c sfw.c sgi.c
stegano.c sun.c svg.c tga.c tiff.c tile.c tim.c topol.c ttf.c txt.c
uil.c url.c uyvy.c vicar.c vid.c viff.c wbmp.c wmf.c wpg.c x.c xbm.c
xc.c xcf.c xpm.c xtrn.c xwd.c yuv.c .\magick\animate.c annotate.c
blob.c cache.c cache_view.c color.c color.h command.c compress.c
constitute.c decorate.c delegate.c display.c draw.c effect.c
enhance.c error.c error.h fx.c gm_messages.bin image.c list.c
locale.c locale_c.h log.c mac.c magic.c magick.c module.c montage.c
nt_feature.c paint.c quantize.c registry.c render.c resize.c
segment.c semaphore.c shear.c signature.c static.c static.h
stream.c studio.h tempfile.h transform.c type.c utility.c widget.c
xwindow.c : Changes to support ID based message access and checking
all message usages. The main thing that was done was to remove all
the quotes around the "tags" used to lookup messages defined in
the locale\C.XML file. Macros were added to error.h to allow the
code to be compiled for either string based access or binary ID
based access. Using binary ID's will cause the code to fail to
compile if a message does not exist in C.XML, since no ID will be
created for a missing message. This change then allowed us to
easily track down all the messages that were "missing" or not
being accessed properly. The problems were massive and took many
days to resolve. I have left the code compiling in ID mode to keep
things in sync going forward and also because it makes message
lookup instantaneous. An ID is just an index into and array of
char *'s. There is still a lot of cleanup work remaining, but this
is a very good start.
</UL>
<p>
2003-08-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/error.c (GetLocaleExceptionMessage): Add check to avoid
duplicating severity prefix.<BR>
<LI> magick/log.c (LogMagickEvent): Incorporated fix from Bill
Radcliffe to enable logging control flags to work properly again.
<LI> NEWS: Updated news.
<LI> magick/blob.c (OpenBlob): Rewind file descriptor so that first
read is at zero offset. This fixes reading GIFs via a
user-provided file handle.
</UL>
<p>
2003-08-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c (GetImageDepth): Extend so that the actual
minimum depth required to represent the image is
returned. Previously only the values 8, 16, and 32 were
returned. This means that a value of one is returned for a
monochrome image. Also fixed a bug in that the pixels were
incremented while the depth was incremented, resulting in the
first image pixels not being properly evaluated for depth.
(SetImageDepth): Extend to support converting the image to
arbitrary modulus depths.<BR>
(GetImageChannelDepth): New function to obtain the modulus depth
for a specified image channel.
</UL>
<p>
2003-08-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/draw.c (MvgAutoWrapPrintf): StreamError reported when
DrawError was intended.<BR>
<LI> coders/logo.c (ReadLOGOImage): Report FileOpenError rather than
BlobError if requested image does not exist.
</UL>
<p>
2003-08-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/cache.c (PersistCache): If HAVE_SYSCONF and _SC_PAGE_SIZE
are defined, then assume that sysconf works and don't use legacy
getpagesize() function.<BR>
<LI> magick/studio.h (_XOPEN_SOURCE): Should be defined as 600 in
order to match _POSIX_C_SOURCE=200112L according to the Single
UNIX Specification v3. This is necessary for the vsnprintf
prototype to be visible.<BR>
<LI> magick/attribute.c (ReadByte): Fix compilation warnings due to
casting 'unsigned char *' to 'char *' by changing function
definition to accept 'unsigned char *' instead.
<LI> magick/error.h (UndefinedException): UndefinedException should
be ExceptionType, not ExceptionBaseType.
<LI> magick/magick.c (IsValidFilesystemPath): Eliminate warning about
unused function when UseInstalledMagick is defined.
<LI> magick/error.c (ThrowLoggedException): Fix improper parameters
passed to LogMagickEvent() when reason is not available.
</UL>
<p>
003-08-07 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick/log.c, log.h: Added ability to log by either severity
or by category of event. Made the defualt on windows to log all
fatal errors, errors, and warnings to the event log. This will
include anything generated by exceptions currently, but not any
normal "informational" logging.
</UL>
<p>
2003-08-07 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick/log.c, log.h: Translation of event codes to mask vals
was not working. Code was left out of last update. It is now in.
</UL>
<p>
2003-08-07 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick/error.c: Protect against NULL string passed into the
message lookup function.
</UL>
<p>
2003-08-07 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick/locale.c: Switched use of IsAccessible to nonloggging
version to prevent recursive problems.
</UL>
<p>
2003-08-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/Makefile.am (noinst_HEADERS): Distribute locale_c.h.
<LI> locale/Makefile: Output locale_c.h.
<LI> utilities/gm.c (main): Fix typo in Unix InitializeMagick
invocation.<BR>
<LI> configure.ac: Use ACX_PTHREAD pthreads test macro.
<LI> magick/(semaphore.c,spinlock.h,studio.h): Change HasPTHREADS
conditional define to HAVE_PTHREAD.
<LI> magick/Makefile.am (noinst_HEADERS): Include spinlock.h in
distribution.
</UL>
<p>
2003-08-06 William Radcliffe <billr@corbis.com>
<UL>
<LI> contrib\win32\ATL7\ImageMagickObject/ImageMagickObject.cpp,
ImageMagickObject_.h, ImageMagickObject.def, ImageMagickObject.rc
gm.rc: Changes to get things compiling again since all windows
specific logging support has been eliminated. The special build
script BuildImageMagickObject.cmd now compiles the message file
for resource based messages. The result is in gm_messages.bin.
The script also generates a special version of gm.exe that uses
the COM dll as a regular DLL and links to it. This is the long
desired Moby DLL build idea.<BR>
<LI> magick/error.c, magick/error.h, magick/log.c, magick/log.h:
Upgrade of logging system to take over previous special logging
code for windows in nt_base.c. The new logic provides logging
of events to the debug api and the windows event log and also
provides a generic text file logging method.
<LI> magick/gm_messages.bin, magick/ImageMagick.rc: New compiled
message file based on data in locale\C.mgk. RC file modified
to include this as a resource.<BR>
<LI> magick/locale.c, magick/locale_c.h: locale_c.h is generated by
the LOCALEH format of the locale coder. The logic in locale.c
uses the tables in the header lookup messages. On windows, all
the messages are stored as resources, while on UNIX they remain
in a string table.<BR>
<LI> locale/C.mgk: Removed duplicate messages and added some new
default messages that help to create a complete set of severity
strings.<BR>
<LI> magick/command.c, magick/magick.c: Get rid compiler warnings.
</UL>
<p>
2003-08-05 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick/command.c, magick/gm.c: Application level changes to
implement the client name - filename changes. The client name
can now be anything that the application wants and has nothing
to do with the saved filename of the application.
<LI> magick/nt_base.c, magick/nt_base.h, magick/magick.c: Ripped
out old nt specific debugging and logging logic. Moving to the
standard logging. New and major revisions to InitializeMagick
to make the code more maintainable, reliable, and reaable. It
should be functionally identical, but implements the new split
client name and filename methododology.
<LI> magick/utility.c, magick/utility.h: Added a couple of new
routines to support splitting the overloaded use of the client
name and client filename.<BR>
<LI> coders/xtrn.c: Minor code cleanup
</UL>
<p>
2003-08-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Copyright.txt: Added missing copyright notice which is required
due to copying the rlecomp manual page into ImageMagick.
<LI> doc/config_files.imdoc: Started documentation for configuration
files.<BR>
<LI> magick/xwindow.c (XSignalHandler): Ensure that segment_info is
non-null before attempting to use it. Much thanks to John Cristy
for bringing this problem to our attention.
</UL>
<p>
2003-08-05 William Radcliffe <billr@corbis.com>
<UL>
<LI> coders/locale.c: Added several new formats to this coder to
generate windows message resource format messages and also to
generates a new header file format that will support a table based
version of the other magick/locale.c.
<LI> coders/xtrn.c: Minor code cleanup
</UL>
<p>
2003-08-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> configure.ac: Only configure C and C++ libtool tags.
<LI> PerlMagick/t/reference/composite/*.miff: Added some composition
test reference images. These reference images will serve as
placeholders until better composition tests can be figured out.
It is not clear from the documentation what some of the
composition operators are supposed to do.
</UL>
<p>
2003-08-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> README.txt: Add documentation regarding using TRIO.
<LI> configure.ac: Test for TRIO library if vsnprintf is not
available.<BR>
<LI> magick/studio.h: Remap vsnprintf to trio_vsnprintf if TRIO is
available.<BR>
<LI> coders/topol.c, coders/wmf.c, magick/magick.c, magick/nt_base.c,
magick/resource.c: Use traditional C comment form in C source
files.
</UL>
<p>
2003-07-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/log.h (LogEventType::AllEvents): Increase the value of
AllEvents so that it spans the complete positive range of a signed
integer.<BR>
<LI> magick/xwindow.c, magick/xwindow.h: Incorporate patch from John
Cristy's ImageMagick to eliminate conditional dependence of
magick/xwindow.h on <X11/extensions/XShm.h>.
<LI> magick/magick_config_api.h.in: HasSharedMemory define no longer
needed.
</UL>
<p>
2003-07-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> www/programming.html: Update Rmagick URL.
<LI> GraphicsMagick.spec.in : Update according to instructions from
Troy Edwards.
</UL>
<p>
2003-07-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> GraphicsMagick.spec.in: Replaced GraphicsMagick.spec with
GraphicsMagick.spec.in, which is configured to produce
GraphicsMagick.spec.<BR>
<LI> configure.ac: Configure GraphicsMagick.spec.
</UL>
<p>
2003-07-29 Troy Edwards <vallimar@sexorcisto.net>
<UL>
<LI> GraphicsMagick.spec: Updated to CVS build. Added the
GraphicsMagickWand files to the spec. Only try to remove the
unneeded perl package files if we are using PerlMagick.
</UL>
<p>
2003-07-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> GraphicsMagick.spec: Added RPM spec file authored by Troy
Edwards <vallimar@sexorcisto.net>.
<LI> NEWS: Add note regarding EXIF fix.
<LI> magick/attribute.c (GenerateEXIFAttribute): Look for the profile
name "EXIF" rather than "APP1".
</UL>
<p>
2003-07-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/magick_config_api.h.in: XWindowInfo structure in
xwindow.h needs HasSharedMemory define.
<LI> magick/xwindow.c, magick/xwindow.h: Move inclusion of
<X11/extensions/shape.h> to xwindow.c.
<LI> coders/dps.c, magick/xwindow.h: Move DPS includes to
coders/dps.c<BR>
<LI> coders/Makefile.am: Substituted values are also set as
make variables, so use variables rather than substitutions.
<LI> magick/log.c (GetLogBlob): MAGICK_HOME needs to take
precedence over the client path for the uninstalled build.
<LI> magick/type.c (GetTypeBlob): MAGICK_HOME needs to take
precedence over the client path for the uninstalled build.
<LI> magick/blob.c (GetConfigureBlob): MAGICK_HOME needs to take
precedence over the client path for the uninstalled build.
<LI> magick/module.c (FindMagickModule): MAGICK_HOME needs to take
precedence over the client path for the uninstalled build.
</UL>
<p>
2003-07-24 Lars Ruben Skyum <lars.skyum@stibo.com>
<UL>
<LI> magick/attribute.c (TraceClippingPath): Improvements to clipping
path parsing.
</UL>
<p>
2003-07-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/cache.c: Disable the Windows open() extensions when
compiling using Borland C++.<BR>
<LI> magick/log.c (LogMagickEvent): Unlock semaphore before
returning.<BR>
<LI> ltdl/ltdl.h: Updated to latest CVS version.
<LI> ltdl/ltdl.c: Updated to latest CVS version.
<LI> Libtool: Updated to use latest CVS libtool.
</UL>
<p>
2003-07-17 Mike Chiarappa <mikechiarappa@libero.it>
<UL>
<LI> BCBMagick: Contributed initial Borland C++ Builder 6.0 build
environment.
</UL>
<p>
2003-07-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/color.c (GetColorInfoArray): Added a function to access
the color definition list as an array.
(GetColorList): Added access locks to ensure that list is not
re-ordered while it is being traversed.
<LI> www/Magick++/Image.html: Add some more information regarding raw
pixel access.
</UL>
<p>
2003-07-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> wand/GraphicsMagickWand.pc.in (Cflags): Remove LFS_CPPFLAGS.
<LI> wand/GraphicsMagickWand-config.in: Remove LFS_CPPFLAGS.
<LI> magick/GraphicsMagick.pc.in (Cflags): Remove LFS_CPPFLAGS.
<LI> magick/GraphicsMagick-config.in: Remove LFS_CPPFLAGS.
<LI> configure.ac: Logic for setting LFS_CPPFLAGS was incomplete.
<LI> coders/topol.c: Updated topol coder contributed by Jaroslav
Fojtik. Topol is coming to life!
</UL>
<p>
2003-07-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/nt_base.h: Add a typedef for ssize_t
<LI> magick/deprecate.h: ExtendedSignedIntegralType and
ExtendedUnsignedIntegralType are now deprecated types so they are
moved to deprecate.h. Existing code which uses these types should
continue to work.<BR>
<LI> magick/blob.c (MapBlob): Change 'offset' parameter from type
off_t to magick_off_t so that it is not LFS dependent.
<LI> magick/cache.c (GetPixelCacheArea): Return magick_off_t.
(PersistCache): Change 'offset' parameter to type magick_off_t.
<LI> magick/cache.h (NexusInfo): Change 'length' type from
ExtendedSignedIntegralType to magick_off_t.
(CacheInfo): Change 'offset' and 'length' types from
ExtendedSignedIntegralType to magick_off_t.
<LI> magick/blob.c (BlobToFile): Use ssize_t rather than
ExtendedSignedIntegralType for count.
(TellBlob): Return magick_off_t rather than
ExtendedSignedIntegralType.<BR>
<LI> configure.ac: Check for a ssize_t type.
<LI> magick/blob.h (_BlobInfo): Change 'offset' and'size' members
from ExtendedSignedIntegralType to magick_off_t.
<LI> magick/blob.c (GetBlobSize): Return magick_off_t rather than
ExtendedSignedIntegralType.<BR>
(SeekBlob): Accept and return magick_off_t rather than
ExtendedSignedIntegralType.
</UL>
<p>
2003-07-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/monitor.c (MagickMonitor): Change 'quantum' argument from
type ExtendedSignedIntegralType to magick_int64_t. Change 'span'
argument from ExtendedUnsignedIntegralType to magick_uint64_t.
<LI> magick/xwindow.c (XMagickMonitor): Change 'quantum' argument from
type ExtendedSignedIntegralType to magick_int64_t. Change 'span'
argument from ExtendedUnsignedIntegralType to magick_uint64_t.
<LI> magick/widget.c (XMonitorWidget): Change 'quantum' argument from
type ExtendedSignedIntegralType to magick_int64_t. Change 'span'
argument from ExtendedUnsignedIntegralType to magick_uint64_t.
<LI> magick/studio.h (QuantumTick): Change typecast from
ExtendedSignedIntegralType to magick_int64_t.
<LI> magick/resource.c (AcquireMagickResource): Change 'size'
argument type from ExtendedSignedIntegralType to magick_int64_t.
(LiberateMagickResource): Change 'size' argument type from
ExtendedSignedIntegralType to magick_int64_t.
<LI> magick/utility.c (FormatSize): Change 'size' argument type from
ExtendedSignedIntegralType to magick_int64_t.
<LI> magick/nt_base.c: Change MagickOffset to magick_off_t.
<LI> magick/studio.h (magick_off_t): Change MagickOffset to magick_off_t.
<LI> coders/topol.c: Insert dummy member into palettRAS structure
since Visual C++ doesn't seem to handle empty structures.
<LI> wand/GraphicsMagickWand.pc.in (prefix): Pass LFS CPPFLAGS.
<LI> wand/GraphicsMagickWand-config.in: Pass LFS CPPFLAGS.
<LI> wand/Makefile.am: Fix include path.
<LI> magick/GraphicsMagick.pc.in (prefix): Pass LFS CPPFLAGS.
<LI> magick/magick_config_api.h.in: Pass LFS configuration options
until the API is fixed so that it is not LFS sensitive anymore.
<LI> magick/GraphicsMagick-config.in: Pass LFS CPPFLAGS.
<LI> PerlMagick/Makefile.PL.in: Pass LFS CPPFLAGS.
<LI> magick/Makefile.am: Install magick_types.h.
<LI> magick/api.h: Include magick_types.h.
<LI> magick/studio.h: Include magick_types.h rather than integral_types.h.
<LI> VisualMagick/magick/magick_types.h.in: New header file (replacing
integral_types.h) to contain CPU and system-dependent primitive
typedefs.<BR>
<LI> magick/magick_types.h.in: New header file (replacing
integral_types.h) to contain CPU and system-dependent primitive
typedefs.<BR>
<LI> configure.ac: Use AC_SYS_LARGEFILE to test for large file
options. Update to determine integral typedefs for current CPU and
compiler options. Configure magick_types.h.
<LI> magick/attribute.c (TraceClippingPath): Apply patch from Lars
Ruben Skyum which fixes clipping path parsing for paths generated
by Adobe software which pre-dates the Photoshop file format
specification.
</UL>
<p>
2003-07-08 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick/semaphore.c: Modified the way the system handles the
initialization of Win32 critical sections to use a spin lock
on WIn32 to bootstrap the initialization of all other crtical
sections. This is not an issue on UNIX since static init is used.
<LI> magick/magic.c module.c magick.c log.c resource.c constitute.c
color.c cache.c delegate.c registry.c type.c: Small modifications
were made to eliminate the side effect of unlocking semaphores
as part of the releasing procedure. This also eliminated the
apparent bug of the system double locking certain semaphores.
The locked flag should now not be needed, but remains in place
for the time being as an added safegaurd.
</UL>
<p>
2003-07-04 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> png.c: added missing #ifdef JNG_SUPPORTED/#endif directives.
</UL>
<p>
2003-07-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> NEWS: Updated news to include fixes and enhancements since the
1.0 release.
</UL>
<p>
2003-07-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/semaphore.c (UnlockSemaphoreInfo): Bugfix, modify
the 'locked' flag while still under protection of the lock.
This fix is necessary for thread-safety.
</UL>
<p>
2003-07-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/jpeg.c (ReadJPEGImage): Conditionally copy exception.
<LI> wand/Makefile.am (noinst_HEADERS): Need to distribute
magick_compat.h.<BR>
(EXTRA_DIST): Need to distribute GraphicsMagickWand-config.1.
<LI> coders/wmf.c (ipa_bmp_draw): Use CopyException.
(ipa_device_begin): Use CopyException.
(lite_font_map): Use CopyException.
<LI> coders/jpeg.c (ReadJPEGImage): Use CopyException.
<LI> magick/image.c (GetImageException): Use CopyException.
<LI> magick/constitute.c (WriteImages): Use CopyException.
<LI> Makefile.am (DIST_SUBDIRS): wand needs to be included in
distribution.
</UL>
<p>
2003-06-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/static.c (RegisterStaticModules): Invoke
RegisterTOPOLImage.<BR>
<LI> magick/magick.h (MagickInfo): Add member usage comments.
<LI> magick/error.c (CatchException): Restore saved errno from
exception->error_number.<BR>
(CopyException): Copy error_number.
(DestroyExceptionInfo): Reset error_number to zero.
(GetExceptionInfo): Initialize error_number to zero.
(ThrowException): Save errno to exception-> error_number.
(ThrowLoggedException): Save errno to exception-> error_number.
<LI> magick/error.h (ExceptionInfo): Borrow John Cristy's idea and
add a error_number member to ExceptionInfo to save the current
errno value. Otherwise CatchException may use some random errno.
<LI> coders/Makefile.am: Build topol.c.
<LI> coders/topol.c: Added initial TOPOL X image coder which is under
development by Jaroslav Fojtik. Not working yet.
</UL>
<p>
2003-06-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/pwp.c (ReadPWPImage): Ensure that image is initialized
before invoking ThrowReaderException.
<LI> magick/image.c (CloneImage): Use CopyException.
<LI> magick/error.c (CopyException): Add function to support copying
ExceptionInfo structures.<BR>
<LI> magick/error.h (ExceptionInfo): Replaced recently-added 'whence'
member with module, function, and line members in order to keep
the information seperate, and match the parameters used by the
logging system.<BR>
(ThrowException): Log thrown exceptions.
<LI> magick/error.c (ThrowLoggedException): New function used to
throw an exception, while recording and logging the location
where the exception is thrown.<BR>
<LI> doc/options.imdoc (operation): Document TemporaryFile and
Exception events.<BR>
<LI> magick/log.c (LogMagickEvent): Support logging ExceptionEvent.
<LI> PerlMagick/Magick.xs: Added "Exception" event type.
<LI> magick/log.h (LogEventType): Added ExceptionEvent.
</UL>
<p>
2003-06-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/error.c (ThrowException): Handle 'whence'
member. MagickFreeMemory already checks for null pointer so don't
check again.<BR>
(DestroyExceptionInfo): Handle 'whence' member. MagickFreeMemory
already checks for null pointer so don't check again.
<LI> magick/error.h (ExceptionInfo): Add a 'whence' member to support
the ability to record where the exception is was thrown.
<LI> VisualMagick/installer: Install Wand files.
</UL>
<p>
2003-06-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/blob.c (GetConfigureBlob): GetConfigureBlob should always
return a value.<BR>
<LI> magick/type.c (GetTypeBlob): GetTypeBlob should always return a
value.<BR>
<LI> magick/log.c (GetLogBlob): GetLogBlob should always return
a value.<BR>
<LI> magick/magick.c (GetMagickInfoArray): Fixed array memory
allocation and clearing bug. Eliminate warnings.
</UL>
<p>
2003-06-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> VisualMagick/installer/inc/files-configs.isx: For a static
build, install the configuration files directly into the
application directory.<BR>
<LI> VisualMagick/installer/inc/uninstallrun-unregister-com.isx
(Filename): Change ImageMagickObject.dll path.
<LI> VisualMagick/installer/inc/run-register-com.isx (Filename):
Change ImageMagickObject.dll path.
<LI> VisualMagick/installer/inc/files-com.isx (Source): Install
ImageMagickObject.dll and MagickCMD.exe in the application
directory alongside gm.exe and the CORE DLLs.
<LI> INSTALL-unix.txt: Add additional information regarding LZW.
<LI> VisualMagick/magick/magick_config.h.in: Add additional notes
regarding UNISYS LZW patent.<BR>
<LI> PerlMagick/Magick.xs: Applied Dissolve composite operator fix
obtained from from John Cristy's ImageMagick which ensures that an
unused matte channel is set to Opaque, and uses this knowledge to
simplify the math.<BR>
<LI> VisualMagick/configure/configure.cpp: The 'wand' library has a
linkage dependency on the 'magick' library. Also don't include
the magick subdirectory so that headers must be included like
<magick/api.h> for safety.<BR>
<LI> coders/xtrn.c: Fix magick header inclusion.
<LI> lcms\src\cmserr.c: Fix magick header inclusion.
</UL>
<p>
2003-06-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> doc/options.imdoc: Fix to formatting. Fix spelling of origin.
<LI> PerlMagick/t/bzlib/read.t: Add test for reading BZipped file.
<LI> PerlMagick/t/subroutines.pl (testRead): Skip testing reads
of compressed BLOBs because reading compressed BLOBs is not
supported yet.<BR>
<LI> coders/bmp.c (ReadBMPImage): Only validate the file size value
for compressed BMPs.<BR>
<LI> VisualMagick/wand, wand: First stab at building the Wand API
under Visual C++. Still does not build as a DLL.
</UL>
<p>
2003-06-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/static.h: Add prototypes for RegisterXTRNImage and
UnregisterXTRNImage.<BR>
<LI> Makefile.am (DISTDIRS): Don't distribute the 'guide'
subdirectory. It is available for checkout from CVS.
<LI> www: Utilities documentation is updated from <imdoc> masters.
Formatting could be improved, but the content seems ok.
<LI> doc/environment.imdoc: New file to describe environment
variables.<BR>
<LI> coders/cut.c (ReadCUTImage): Use MagickAllocateMemory and
MagickFreeMemory rather than malloc and free.
<LI> doc/gmdoc2html: Add GraphicsMagick styling to utility web pages.
<LI> doc/Makefile: Additional documentation Makefile enhancements.
<LI> AUTHORS: New file to acknowledge significant contributors
to the software. If an author is not listed here, please let
us know.<BR>
<LI> configure.ac: test -a is not POSIX compliant.
</UL>
<p>
2003-06-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> doc: Source documentation for 'gm' is now available via a 'doc'
CVS module. A Makefile is provided which formats the
documentation and installs it into the 'www' and 'utilities'
subdirectories.
</UL>
<p>
2003-06-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> wand: Added Magick Wand library available via
-lGraphicsMagickWand and <wand/wand_api.h>. Use
GraphicsMagickWand-config or GraphicsMagickWand.pc to obtain the
compilation options required to use the library. Magick Wand is
authored by John Cristy. Magick Wand is provided as a separate
library from -lGraphicsMagick in order to assure the stability of
the core GraphicsMagick library while allowing Magick Wand to
to evolve.<BR>
<LI> images: Replace existing logo images with cleaner ones.
<LI> www: Update links to point to updated logo images.
<LI> logos: New CVS directory to contain master logos.
<LI> scripts/txt2html: Updated inline logo image link.
<LI> scripts/format_c_api_docs: Updated inline logo image link.
<LI> version.sh: Support versioning all libraries independently.
<LI> coders/meta.c: Prefix include paths for safety.
<LI> magick/image.h: (TransmitType) Removed unused enumeration.
(ProfileType) Removed unused enumeration.
(QuantumType) Moved enumeration to constitute.h
(StorageType) Moved enumeration to constitute.h
<LI> magick/draw.c (DrawPeekGraphicContext): Added function to peek
at head of drawing context stack (function added for ImageMagick
compatability).<BR>
<LI> magick/image.c (CycleColormapImage): Change return type from
'void' to 'unsigned int' so that error status is returned to user.
(DescribeImage): Change return type from
'void' to 'unsigned int' so that error status is returned to user.
<LI> magick/list.c (ReplaceImageInList): Incorporated function from
John Cristy's ImageMagick to replace current image in the list.
<LI> coders/sgi.c (ReadSGIImage): Applied patch from John Cristy's
ImageMagick to save the compression type for SGI images.
</UL>
<p>
2003-06-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/txt.c (WriteTXTImage): Apply patch from John Cristy's
ImageMagick to observe image depth while writing pixel colors.
This patch is not applied to the 1.0 branch because it represents
an output format change which could break a dependent application.
(IsTXT): Recognize files written by the TXT coder.
(ReadTXTImage): Reject files written by the TXT coder until support
for reading these files is implemented.
(IsTXT): Ensure that sscanf doesn't read outside of provided data
by using a fixed size buffer.
</UL>
<p>
2003-06-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> configure.ac: Don't add -lfpx to LIBS while configuring
because the C compiler may fail to link with it in later
tests.
</UL>
<p>
2003-06-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick/Magick.xs: RotateImage is documented to take
'degrees' argument, not 'degree'. SwirlImage is documented to
take 'degrees' argument, not 'degree'. SolarizeImage is
documented to take a 'threshold' argument, not 'factor'. Wave is
documented to take 'amplitude' and 'wavelength' arguments. Don't
transform colorspace to RGB when retrieving 'pixel' color value.
Release memory acquired to store 'length' pointer. Picked up
memory leak fix related to 'SV **reference_vector' variable from
John Cristy's ImageMagick.<BR>
<LI> configure: Incorporate patch to handle inline better.
<LI> magick/utility.c (GetToken): Adjust code to avoid "end-of-loop
code not reached" warning.<BR>
<LI> magick/log.c (GetLogBlob): Eliminate warning regarding
unreached code.<BR>
<LI> magick/command.c (AnimateImageCommand): Eliminate warning regarding
unreached code.<BR>
(ConvertImageCommand): Eliminate warning regarding
unreached code.<BR>
(ImportImageCommand): Eliminate warning regarding
unreached code.<BR>
<LI> magick/type.c (GetTypeBlob): Eliminate warning regarding
unreached code.<BR>
<LI> magick/blob.c (GetConfigureBlob): Eliminate warning regarding
unreached code.<BR>
<LI> coders/meta.c (super_fgets): Eliminated warnings regarding
comparison and return of incompatible pointer types.
(super_fgets_w): Eliminated warnings regarding
comparison and return of incompatible pointer types.
<LI> magick/command.c (ConvertImageCommand): Eliminate warnings
noticed when using Sun's compiler.
</UL>
<p>
2003-06-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> acinclude.m4: Add '#undef inline' in front of C++ tests.
<LI> coders/x.c (RegisterXImage): Only register the X coder if HasX11
is defined.
</UL>
<p>
2003-06-07 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> magick/image.c (GetImageGeometry) Y was a function of width
instead of height when processing EastGravity or WestGravity
(bug report from Cristy).
</UL>
<p>
2003-06-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/utility.c (LocaleNCompare): Documented that comparison is
case-insensitive.<BR>
(LocaleCompare): Documented that comparison is case-insensitive.
<LI> magick/log.c (ParseEvents): LocaleNCompare already does
case-insensitive compare so lower-casing is not necessary.
<LI> Magick++: Updates to cause exceptions to be thrown if a bad
geometry specification is supplied.
</UL>
<p>
2003-06-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/log.c (ReadConfigureFile): Move event parsing to
ParseEvents funtion.<BR>
(SetLogEventMask): Move event parsing to
ParseEvents funtion.<BR>
<LI> magick/utility.c (GetGeometry): Validate that the geometry
string only contains valid characters.
<LI> PerlMagick/t/subroutines.pl (testMontage): It seems that passing
an empty set of options to the SetImage method corrupts the image
options (surely a PerlMagick bug), so don't invoke SetImage unless
there are options to set.
</UL>
<p>
2003-06-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/command.c (VersionCommand): Add build information to
version output.<BR>
<LI> configure.ac: Save configure/build parameters for later use in
version output.
</UL>
<p>
2003-06-04 William Radcliffe <billr@corbis.com>
<UL>
<LI> coders/meta.c: Added some casts to make things compile better.
</UL>
<p>
2003-06-03 William Radcliffe <billr@corbis.com>
<UL>
<LI> coders/meta.c: Was broken due to editing mistakes as well
as inherent incompatability with MagickReallocMemory macro.
</UL>
<p>
2003-06-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/xpm.c (RegisterXPMImage): Module registration for PICON
should have been XPM. Thanks to John Cristy for noticing this
bug.<BR>
<LI> coders/psd.c (ReadPSDImage): Applied John Cristy's patch to fix
a index calculation bug which is evident when QuantumDepth>8.
</UL>
<p>
2003-06-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/meta.c: Eliminated some compiler warnings.
<LI> magick/transform.c (ProfileImage): Eliminated some compiler
warnings.<BR>
<LI> magick/static.c (RegisterStaticModules): Invoke
RegisterXTRNImage if _VISUALC_ is defined.
</UL>
<p>
2003-06-02 William Radcliffe <billr@corbis.com>
<UL>
<LI> utilities/gm.c: made -format work again but had to add off flag
to MagickCommand to maintain backward compatability with previous
versions of GM.<BR>
<LI> magick/command.c: Added flag to tell MagickCommand whether GM is
expected to process metadata requests. The COM object *always* does.
<LI> magick/transform.c: Added error handling, memory leak avoidance
and performanc enhancment.
</UL>
<p>
2003-06-01 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> NEWS: Added Bug Fixes item with info about the JNG encoder fix.
</UL>
<p>
2003-06-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> NEWS: Listed significant changes (thus far) in version 1.1.
<LI> version.sh: Updated LIBRARY_CURRENT and LIBRARY_REVISION since
some command.c interfaces have changed, and a new interface has
been added. The only user of these interfaces should be 'gm' but
it always pays to be careful.<BR>
<LI> utilities/gm.c (main): Use MagickCommand.
<LI> magick/command.c (MagickCommand): New function to provide
API-level command access to the command functions provided by the
GM utility with an interface similar to ConvertImageCommand.
(AnimateImageCommand): Changed function arguments to match
ConvertImageCommand.<BR>
(ConjureImageCommand): Changed function arguments to match
ConvertImageCommand.<BR>
(DisplayImageCommand): Changed function arguments to match
ConvertImageCommand.<BR>
(ImportImageCommand): Changed function arguments to match
ConvertImageCommand.<BR>
<LI> libxml/libxml2.def: Remove LIBRARY line since Visual C++ 6.0
doesn't like that the build library doesn't match the name
specified by LIBRARY.
</UL>
<p>
2003-05-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/magick.c (GetMagickInfoArray): Resolve thread-safety
issue by accessing magick_list directly under the protection of a
lock rather than using the pointer returned by GetMagickInfo.
Added error handling for insufficient memory.
<LI> coders/tile.c (RegisterTILEImage): Added a usage note in formats
listing.<BR>
<LI> coders/viff.c (RegisterVIFFImage): Module definition for "XV"
was missing.<BR>
<LI> coders/ps2.c (RegisterPS2Image): Module definition for "PS2" was
missing.<BR>
<LI> coders/wmf.c (RegisterWMFImage): Added usage note in formats
listing.<BR>
<LI> coders/xpm.c (RegisterXPMImage): Hide PM alias for XPM in the
formats listing.<BR>
<LI> coders/logo.c (RegisterLOGOImage): Hide registrations for
GRANITE, LOGO, and NETSCAPE in the formats listing.
<LI> coders/jpeg.c (RegisterJPEGImage): Module definition for "JPEG"
was missing.<BR>
<LI> coders/html.c (RegisterHTMLImage): Module definition for "HTML"
was missing.<BR>
<LI> coders/bmp.c (RegisterBMPImage): Module names for "BMP2" and
"BMP3" should be "BMP".
</UL>
<p>
2003-05-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/magick.c (GetMagickInfoArray): New function to return
MagickInfo array.<BR>
(ListMagickInfo): Updated to use GetMagickInfoArray.
(ListModuleMap): New function to list module map to a file.
<LI> utilities/gm.c: Centered the file header and made note of this
stupendously significant accomplishment.
<LI> magick/command.c: Added a '-list modulemap' option. Added plural
forms of other list options for people who are are not limited to
the singular. Also '-list font' and '-list fonts' now work for
people who think in terms of fonts rather than type.
</UL>
<p>
2003-05-30 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> MNG encoder failed to set the JNG bit in the simplicity profile.
<LI> MNG encoder failed to write FRAM chunks when all images were JNG.
<LI> JNG encoder wrote the wrong alpha_sample_depth for opaque images.
</UL>
<p>
2003-05-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/magic.c (ReadConfigureFile): Removed bogus embedded magic
data and ensured that errors with loading magic.mgk propogate to
the top.<BR>
<LI> magick/constitute.c (ReadImage): When building delegate error
report, handle the case where the filename is empty (such as for
<STRONG>"LOGO:").</STRONG><BR>
<LI> coders/png.c (WritePNGImage): Ensure that most severe exception
is reported via exception argument.
(ReadMNGImage): Ensure that most severe exception is reported via
exception argument.<BR>
<LI> magick/command.c (ConvertImageCommand): Ensure that most severe
exception is reported via exception argument.
(CompositeImageList): Ensure that most severe exception is
reported via exception argument.
(CompositeImageCommand): Ensure that most severe exception is
reported via exception argument.
<LI> magick/constitute.c (WriteImages): Ensure that most severe
exception is reported via exception argument.
<LI> utilities/gm.c: Centered file header because I didn't like it.
<LI> locale/C.mgk: Removed some defunct messages.
<LI> magick/blob.c (PingBlob): Report useful error message.
(BlobToImage): Report sensible error message for null blob.
<LI> magick/utility.c (AcquireString): Change UnableToAquireString to
UnableToAllocateString.<BR>
<LI> coders/xwd.c (ReadXWDImage): Report CorruptImage rather than
CorruptXWDImage.<BR>
<LI> coders/xpm.c (ReadXPMImage): Report CorruptImage rather than
CorruptXPMImage.<BR>
<LI> coders/xcf.c (load_level): Report CorruptImage rather than
CorruptXCFImage.<BR>
<LI> coders/wbmp.c (ReadWBMPImage): Report CorruptImage rather than
CorruptWBMPImage.<BR>
<LI> coders/pcd.c: Report CorruptImage rather than CorruptPCDImage.
<LI> coders/otb.c (ReadOTBImage): Report CorruptImage rather than
CorruptOTBImage.<BR>
<LI> magick/constitute.c (ReadInlineImage): Report CorruptImage
rather than CorruptInlineImage.
<LI> coders/pdb.c (ReadPDBImage): Incorporated undocumented fix from
ImageMagick which obtains the image depth from the image depth
attribute, and increases the packet memory allocation. Report
CorruptImage rather than CorruptPDBImageFile.
</UL>
<p>
2003-05-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> VisualMagick/bin/modules.mgk: Add mapping from SVGZ to SVG.
<LI> coders/modules.mgk: Add mapping from SVGZ to SVG.
<LI> coders/svg.c (RegisterSVGImage): Add registration for SVGZ
format.<BR>
<LI> PerlMagick/t/zlib/read.t: Added test to check reading a file
with .gz extension. The blob portion of the test currently fails.
<LI> coders/wpg.c (ReadWPGImage): Fix reading WPGs with embedded
Postscript. Ensure that scene numbers are sane. Bugs remain.
<LI> magick/blob.c (OpenBlob): Recognize the .svgz extension as a
gzipped format. Not required in order to read .svgz files since
the blob file magic detects gzip files.
<LI> magick/command.c (MontageImageCommand): Wrong exception
macro was being invoked. Steps have been taken to ensure that
this doesn't happen again.<BR>
(ImportUsage): Fix spelling of 'type'.
<LI> magick/magick.c (DestroyMagick): Decided that initialization
state should be tracked via an enum so that DestroyMagick will
take effect even if InitializeMagick has never been called.
</UL>
<p>
2003-05-27 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/png.c: png.c would dump core when writing a grayscale
image in png24 or png32 format.
</UL>
<p>
2003-05-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/ept.c (WriteEPTImage): Fixed writing EPT preview image and
added logging.<BR>
<LI> magick/enhance.c (NegateImage): If image is in CMYK colorspace,
then negate the `K' channel as well.
<LI> PerlMagick/Magick.xs: Fix spelling of 'elevation' argument to
Shade method.<BR>
<LI> magick/image.h (ImageInfo): Added more documenting comments.
<LI> magick/image.c (CloneImage): Don't clone huffman ascii85
encoding support structure since it is not useful outside of the
current image context. Cloning a structure via pointer assignment
causes a memory leak.
</UL>
<p>
2003-05-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/shear.c: Incorporate math tweaks obtained from
ImageMagick which are purported to improve accuracy when rotating
and shearing using small angles. Also avoid unneccessarily
transforming CMYK images into RGB images.
<LI> magick/paint.c (ColorFloodfillImage): Fix hang while
floodfilling using a pattern image with color similar to the
border color.<BR>
<LI> coders/modules.mgk: Add missing mappings for PNG8,
PNG24, and PNG32.<BR>
<LI> VisualMagick/bin/modules.mgk: Add missing mappings for PNG8,
PNG24, and PNG32.
</UL>
<p>
2003-05-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/log.c (GetLogBlob): Return an error if log.mgk can not
be accessed.<BR>
<LI> locale/C.mgk: Added UnableToAccessLogFile.
<LI> magick/blob.c (GetConfigureBlob): Only return result of
NTResourceToBlob if it is non-NULL.
<LI> magick/type.c (GetTypeBlob): Search $MAGICK_HOME for
type.mgk. Only return result of NTResourceToBlob if it is
non-NULL.<BR>
<LI> magick/magick.c (GetMagickInfo): Return an error if GetModuleInfo
reports an error.<BR>
<LI> magick/module.c (GetModuleInfo): Return an error if modules.txt
fails to load.<BR>
<LI> utility.c (SubstituteString): Fixed a bug which was introduced
while updating the code to use the memory allocation macros.
</UL>
<p>
2003-05-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/GraphicsMagick-config.in (usage): Added example
usage to the help output.<BR>
<LI> magick/magick.c (InitializeMagick): Added a static flag to
ensure that the Magick library is initialized only one time.
(DestroyMagick): Ensure that Magick library resources are only
destroyed if it has previously been initialized.
<LI> magick/nt_base.c (DllMain): Fix contributed by Achim Domma. For
a DLL build, update PATH during Magick DLL initialization to
include the directory where the Magick core DLL resides. This
allows the loadable modules to find the core DLLs, even if the
core DLLs are not already in the PATH.
<LI> magick/image.c (TextureImage): Incorporate new implementation
authored by John Cristy of ImageMagick Studio. This
implementation is a full 7X (run-time) or 14X (user-time) faster
than the original ImageMagick implementation, and is about 2X
faster than the speeded-up version I commited on the 19th.
</UL>
<p>
2003-05-20 William Radcliffe <billr@corbis.com>
<UL>
<LI> VisualMagick\configure : Fixed bug with add on (plug-ins) not
building automatically in DLL mode.
</UL>
<p>
2003-05-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c (TextureImage): Creation of tiled image textures
is speeded up by 3.7X.<BR>
<LI> coders/tile.c (ReadTILEImage): Use TextureImage.
<LI> VisualMagick/bin/modules.mgk: Map "PATTERN" to "LOGO".
<LI> coders/modules.mgk: Map "PATTERN" to "LOGO".
<LI> coders/logo.c (ReadLOGOImage): Add "PATTERN" tiling support in
order to be compatible with ImageMagick.
<LI> magick/image.c (SetImageInfo): Map "MAGICK" magick to "IMAGE" in
order to be compatible with ImageMagick.
</UL>
<p>
2003-05-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> www/Copyright.html: Try to fix formatting of XFig entry.
<LI> www/windows.html: Update file names for 1.0.1 release.
<LI> index.html: Mention 1.0.1 release as latest release.
<LI> magick/magick_config_api.h.in: Add define for HasX11
so that it is possible to use functions in the installed
xwindow.h<BR>
<LI> */*.c: Updated to use MagickAllocateMemory macro.
</UL>
<p>
2003-05-17 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/png.c: stifled compiler warnings about uninitialized
chunk and blob variables.
</UL>
<p>
2003-05-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/utility.h (MagickAllocateMemory): New macro to allocate
memory.<BR>
(MagickFreeMemory): New macro to free memory.
(MagickReallocMemory): New macro to reallocate memory.
<LI> */*.c,*/*.h: Updated to use MagickFreeMemory and
MagickReallocMemory. Eliminated warnings when compiling with
GCC 3.3 using -Wall.<BR>
<LI> images: The logo image was determined to have a copyright
problem so replace with blank image until a replacement is
available.
</UL>
<p>
2003-05-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> VisualMagick/magick/magick_config.h.in (HAVE_SYS_TYPES_H):
Moved this define back from nt_base.h since removing it was
causing some problems for Magick++.
</UL>
<p>
2003-05-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c: (SetMagickInfo): Don't mask failure to
read magic.mgk.<BR>
<LI> magick/constitute.c (ReadImage): Don't overwrite specific
exception info.<BR>
<LI> magick/nt_base.c (NTResourceToBlob): Add logging similar
to that used in IsAccessible() in order to make operation
more clear.<BR>
<LI> magick/module.c (FindMagickModule): Removed extraneous
"Searching for module file" log event.
(GetModuleBlob): Under Windows, don't clear or overwrite
an existing exception.<BR>
<LI> magick/nt_base.h: Imported some obscure defines from
magick\magick_config.h.<BR>
<LI> VisualMagick/magick/magick_config.h.in: Improved description
text and formatting. Moved some obscure defines to
magick/nt_base.h.<BR>
<LI> locale/C.mgk: Added a "RegistryKeyLookupFailed" error message.
<LI> magick/type.c (GetTypeBlob): Report registry key lookup
failures. Also ensure correct return value when an error is
reported.<BR>
<LI> magick/log.c (GetLogBlob): Report registry key lookup failures.
<LI> magick/delegate.c (ReadConfigureFile): Report registry key
lookup failures.<BR>
<LI> magick/blob.c (GetConfigureBlob): Report registry key lookup
failures. Also ensure correct return value when an error is
reported.<BR>
<LI> magick/module.c (FindMagickModule): Report registry key lookup
failures. Also ensure correct return value when an error is
reported.<BR>
<LI> magick/nt_base.c (NTRegistryKeyLookup): Simplify base key lookup
code, and improve coding style.
<LI> coders/logo.c, Copyright.txt, www/Copyright.html: Acknowledge
and respect the XFig copyright.
<LI> VisualMagick/installer/inc/files-documentation.isx: QuickStart.txt
is no longer distributed so it is removed.
</UL>
<p>
2003-05-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.h (RoundToQuantum): New macro to round positive
double to Quantum.<BR>
<LI> magick/xwindow.c, magick/xwindow.h, magick/studio.h: Use FreeBSD
portability fixes from FreeBSD ports collection.
<LI> configure.ac: Test for <machine/param.h> as used by some *BSD systems.
<LI> QuickStart.txt, www/QuickStart.html: Don't distribute QuickStart.txt or
www/QuickStart.html since the content doesn't currently apply to
GraphicsMagick.
</UL>
<p>
2003-05-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> README.txt: Added text regarding where to obtain dcraw, a simple
but useful decoder for the proprietary raw file formats produced
by digital cameras (58 supported cameras!).
<LI> configure.ac: Added support for finding dcraw.
<LI> VisualMagick/bin/delegates.mgk: Added support for dcraw.
<LI> coders/delegates.mgk.in: Added support for dcraw.
<LI> version.sh (PACKAGE_RELEASE_DATE): Extract the most recent
update date from the ChangeLog file using awk.
</UL>
<p>
2003-05-12 William Radcliffe <billr@corbis.com>
<UL>
<LI> modules.mgk, magic.mgk : Sync up both of these for UNIX
as well as VisualMagick builds. Includes changes for the
meta.c code.
</UL>
<p>
2003-05-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> www/formats.html: Documented embedded gray intensity images.
<LI> coders/logo.c: Added the embedded dithered gray intensity images
gray0, gray5, ..., through gray100 to support bilevel filling and
painting with an intensity resolution of 5%.
<LI> www/formats.html: Added description of images available via
"IMAGE:" format tag, as well as providing a tiled preview.
<LI> coders/logo.c: Renamed "transparent" image to "checkerboard"
since it is a better description. Added a set of tiny bilevel
images (accessed via IMAGE:) for use when tiling, filling, or for
use as a texture image. The complete set of image names available
via the IMAGE: coder are now BRICKS, CIRCLES, CROSSHATCH,
<STRONG>CROSSHATCH30, CROSSHATCH45, FISHSCALES, GRANITE, HEXAGONS,</STRONG>
<STRONG>HORIZONTAL, HORIZONTALSAW, HS_BDIAGONAL, HS_CROSS, HS_DIAGCROSS,</STRONG>
<STRONG>HS_FDIAGONAL, HS_HORIZONTAL, HS_VERTICAL, LEFT30, LEFT45,</STRONG>
<STRONG>LEFTSHINGLE, LOGO, NETSCAPE, OCTAGONS, RIGHT30, RIGHT45,</STRONG>
<STRONG>RIGHTSHINGLE, ROSE, SMALLFISHSCALES, CHECKERBOARD, VERTICAL,</STRONG>
VERTICALBRICKS, VERTICALLEFTSHINGLE, VERTICALRIGHTSHINGLE, &
VERTICALSAW. The HS_* variants are similar to the standard
pattern images provided with the Windows GDI.
<LI> coders/msl.c (MSLStartElement): Don't reset gravity if the user
provides an x,y coordinate. Passing coodinates was loosing the
gravity setting.
</UL>
<p>
2003-05-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/modules.mgk: Support the IMAGE: format via the LOGO
module.<BR>
<LI> win2k/IMDisplay/IMDisplayView.cpp (DoDisplayImage):
Transparent tile is created by reading "tile:image:transparent".
<LI> coders/logo.c (ReadLOGOImage): Add IMAGE: format to front for
embedded images so that adding new images doesn't proliferate coder
registrations. Legacy logo magick names (GRANITE, LOGO, NETSCAPE,
and ROSE) are still supported, but they are also available in the
IMAGE file space (e.g. IMAGE:ROSE).
</UL>
<p>
2003-05-09 William Radcliffe <billr@corbis.com>
<UL>
<LI> VisualMagick\configure : Further refinements that support both
the new "big" library and the normal dynamic DLL buidling styles.
</UL>
<p>
2003-05-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/logo.c (ReadLOGOImage): Added a "TRANSPARENT" pattern
image which can be tiled to form the background of transparent
images.<BR>
<LI> win32/IMDisplay/IMDisplayView.cpp: When displaying images which
include an opacity channel, use a checker-board pattern as the
image background so non-opaque pixels become evident.
</UL>
<p>
2003-05-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/meta.c : Add or fix commenting of DebugString so that
module does not require Windows.
<LI> lcms: Updated to release 1.10.
</UL>
<p>
2003-05-07 William Radcliffe <billr@corbis.com>
<UL>
<LI> VisualMagick\bin : Brought the MGK files back into sync with
the rest of the package and added types for meta.c.
<LI> VisualMagick\bin\win32\ATL : removed config files in order to
prevent very old ATL project from being picked up in the config
</UL>
<p>
2003-05-06 William Radcliffe <billr@corbis.com>
<UL>
<LI> VisualMagick\lcms\LIBRARY.txt : a define to prevent popup message
box behaviour.<BR>
<LI> VisualMagick\configure\ : New feature - -t consolidates all the
coders into on library for the static build in order to make the
build process tolerable.<BR>
<LI> coders\xtrn.c : new support for BSTR - wdie character data
<LI> coders\svg.c : put back logic that allows the -size parameter to
control the pixel dimensions of the output image.
<LI> coders\meta.c : added support for wide character parsing of iptc
and 8BIM formats.
</UL>
<p>
2003-05-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> version.sh : Update to reflect development status.
</UL>
<p>
2003-05-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> GraphicsMagick 1.0 Released.
<LI> version.sh (LIBRARY_REVISION): Updated for the 1.0 release.
<LI> magick/studio.h: Add fix to avoid problems caused by zlib
under AIX.<BR>
<LI> magick/cache.h: Parameterized prototypes to make them easier
to follow.<BR>
<LI> filters/analyze.c: Replace C++ comments with C comments.
<LI> magick/command.c: For the composite, convert, identify, mogrify,
and montage commands, make sure a usage error is returned if a
usage message is printed. This is useful for ImageMagickObject
users who won't see the usage message if stdio is not supported.
<LI> locale/C.mgk: Added "UsageError" error. Added missing closure
to <Corrupt> tag which caused most/many message lookups to fail.
<LI> magick/nt_base.h: Fixed a compile problem caused by masking
internals in delegate.h<BR>
<LI> magick/ImageMagick.rc: Added missing .mgk files.
</UL>
<p>
2003-05-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/nt_base.c (lt_dlerror): Defining lt_dlerror to be
NTGetLastError was not a correct implementation since the
interface is defined to return a const pointer to a string, but
NTGetLastError returns an allocated string, causing a memory leak
if NTGetLastError is used in the place of lt_dlerror. A new
lt_dlerror function is added to fix this.
(lt_dlsetsearchpath): lt_dlsetsearchpath should return an int
and accept a const char *.<BR>
(lt_dlsym): lt_dlsym is supposed to take a const char *.
<LI> magick/nt_base.h: lt_dlclose should return an 'int'.
<LI> magick/nt_base.c (lt_dlclose): Return status from lt_dlclose.
<LI> magick/module.c (lt_dlclose): lt_dlclose is supposed to return
an 'int', not 'void'. A return value of zero indicates success.
<LI> VisualMagick/tests/run_constitute.bat: Add batch script to
run constitute tests.<BR>
<LI> magick/module.c: Added a ltdl_initialized static flag to track
if libltdl has been initialized by lt_dlinit().
(TagToFunctionName): Use a stack buffer for the string rather than
allocating heap data.<BR>
(UnregisterModule): Report errors via exception info as the
interface suggests.<BR>
(UnloadModule): Report errors via exception info as the interface
suggests.<BR>
(DestroyModuleInfo): Only invoke lt_dlexit() if lt_dlinit() has
previously been invoked.<BR>
<LI> locale/C.mgk: Added FailedToCloseModule module error.
<LI> magick/module.c (UnloadModule): Report exception via exception
parameter rather than simply printing out an error message and
exiting.<BR>
<LI> magick/Makefile.am (noinst_HEADERS): integral_types.h had to be
listed *somewhere* in order to make it into the distribution.
<LI> Magick++/lib/Magick++/Image.h: InitializeMagick must be DLL
exported.
</UL>
<p>
2003-05-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Makefile.am (magick-version): Perform version.isx substitutions
via Makefile.am rather than configure.
<LI> magick/magick_config_api.h.in: Added template header for
the installed magick_config.h.<BR>
<LI> magick/magick.c (InitializeMagick): Improved the signal handling
and registration method. Signal handlers are only registered for a
signal if the current signal handling disposition for that signal
is set to the default (SIG_DFL). When a signal is caught,
DestroyMagick is invoked, the handling for the signal is set back
to SIG_DFL, and then the signal is re-raised to trigger the
default handler for that signal. This causes the process to behave
as closely to the default as possible (e.g. generating a core
file) while ensuring that DestroyMagick is executed. This also
ensures that signal handlers registered by API users are not
overridden by invoking InitializeMagick.
<LI> configure.ac: Added tests for sigemptyset and
sigaction.<BR>
Add a check for the return type of signal handlers.
Test for the 'raise' function.<BR>
<LI> www/formats.html: Add an entry for CUR, Microsoft
Cursor Icon format.
</UL>
<p>
2003-05-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/semaphore.c (struct SemaphoreInfo): Added
`locked' and `thread_id' members. These are used to record
if the semaphore is locked, and to validate the thread
ID of the unlocker.<BR>
<LI> www/links.html: Added link to Nathan Day's MagickDocs
"ImageMagick and GraphicsMagick documentation project"
site.<BR>
Added a link to an on-line article regarding the PHP front-end
to ImageMagick.<BR>
<LI> coders/icon.c (ReadIconImage): Add support for Windows
.CUR format based on advice from Jean Piquemal.
<LI> magick/image.c (SetImageInfo): Added missing CloseBlob
in error path for failure to allocate temporary file.
<LI> coders/pcx.c (ReadPCXImage): Added support for reading
uncompressed PCX images based on code from Jean Piquemal.
</UL>
<p>
2003-05-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/effect.c (AddNoiseImage): For gray images, wrong
pointer was being used to evaluate intensity, leading to a
black image with noise.<BR>
<LI> magick/image.c (ChannelImage): Return the channel
image in RGBColorspace. Also properly support extracting
the opacity channel for images which are not CMYK.
</UL>
<p>
2003-04-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/Makefile.am (install-data-local): Install
magick_config_api.h rather than magick_config.h.
<LI> magick/api.h: Removed inclusion of integral_types.h from
magick/api.h. It is included by magick/studio.h.
<LI> magick/delegate.h: Mapped out a block of private implementation
code.<BR>
<LI> configure.ac: Perform substitutions on magick_config_api.h.
<LI> magick/magick_config_api.h.in: New header file template to
use for installed magick_config.h.
<LI> magick/studio.h (MAGICK_IMPLEMENTATION): Added the define
MAGICK_IMPLEMENTATION used to enable private types, includes, and
defines in the headers. This supports hiding implementation stuff
that API users shouldn't see in the headers.
<LI> utilities/Makefile.am (check): Cleaned up the utilities
test/demo a bit as well as using the undocumented "tmp:" prefix to
cause GraphicsMagick to remove temporary input files once they
have been read. This leaves just the final output file
"demo.miff" when the test completes.
<LI> coders/jpeg.c (WriteJPEGImage): If the image resolution is
overwritten with 72DPI, make sure that the resolution units are
set to PixelsPerInchResolution.
<LI> coders/jpeg.c (WriteJPEGImage): Don't overwrite the image
resolution if it is valid.<BR>
<LI> magick/command.c (MogrifyImageCommand): Added -resample
option to match documentation.<BR>
<LI> VisualMagick/configure: Added rpcrt4.lib to project settings
for Visual C++ 6.0 so that configure links. The code which
needs these interfaces is to support Visual C++ 7.0 XML-style
project files.
</UL>
<p>
2003-04-30 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> utilities/Makefile.am (check) Change % to %% in -label parameter.
<LI> www/gm.html, utilities/gm.1, etc. Documented use of %% to convey
the % sign in -format, -comment, -label strings.
</UL>
<p>
2003-04-30 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick/command.c: Changes from 2003-04-19 to free the arg
list when it was still pointed to by the option arg and accessed
on an exception. This caused gm to crash on any erroneous command
line argument.
</UL>
<p>
2003-04-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> www/windows.html: Updated to match current installer.
<LI> VisualMagick/installer/inc/tasks-install-devel.isx (Name):
Added an installation checkbox so the user can select to install
development headers and libraries for C & C++.
<LI> VisualMagick/installer/inc/files-perlmagick.isx (Source):
Only install PerlMagick PPD files if the user selects to install
PerlMagick.<BR>
<LI> VisualMagick/installer/inc/files-com.isx (Source): Only
install ImageMagickObject files if the user selects to install
ImageMagickObject.<BR>
<LI> magick/version.h.in: Added some documentation for the
functioning of MagickLibVersion and MagickLibVersionNumber.
<LI> configure.ac: Perform substutions to create
VisualMagick/installer/inc/version.isx from
VisualMagick/installer/inc/version.isx.in. This allows Windows
versioning info to be updated from info in version.sh.
<LI> Makefile.am (magick-version): For a VPATH build, update
VisualMagick/installer/inc/version.isx in the source directory if
it is out of date.
</UL>
<p>
2003-04-28 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> magick/cache.c: CloneImagePixels(): applied Cristy's bugfix
from IM-5.5.7.
</UL>
<p>
2003-04-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> www/api.html: The demo program on the ImageMagick API page is
usually intended to be an exercise for the reader. It rarely
compiles or works. Sure enough the demo code was not even close
to compiling, didn't run, and did something totally different than
described. This is not a good way to treat new users. Now the
demo program compiles and runs, and its description is correct.
<LI> www/magick.css, www/smile.c: Remove "Pair" advertisement which
was discovered appended at the end of these files.
<LI> coders/jpeg.c (ReadJPEGImage): Check for failure of
AllocateImage. Close blob prior to error return.
<LI> configure.ac: Perform substitutions on magick/version.h
<LI> magick/version.h.in: New file to provide base for configured
magick/version.h<BR>
<LI> version.sh (PACKAGE_RELEASE_DATE): Support setting a package
release date.<BR>
<LI> configure.ac: Perform substitutions on PerlMagick/Magick.pm.in to
create PerlMagick/Magick.pm.in.
<LI> PerlMagick/Magick.pm.in: @PACKAGE_VERSION@ is substituted while
configuring PerlMagick/Magick.pm.
<LI> magick/magic.mgk, VisualMagick/bin/magic.mgk: Removed risky
entry for PICT which has been demonstrated to lead to a false
match in the real-world.<BR>
<LI> coders/pict.c (ReadPICTImage): Ensure that PICT decoder don't
loop forever with an EOF condition if none of the PICT op-codes
encountered result in a condition which terminates the input loop.
If EOF is dectected while in the input loop a "corrupt image"
"unexpected end of file" error is reported.
<LI> VisualMagick/installer: Updated installer.
</UL>
<p>
2003-04-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/magick.c, magick/blob.c, magick/studio.h: Added
Compilation fixes recommended by Harold Bien for for Borland C++.
<LI> www/contribute.html: Added text regarding contributing to
GraphicsMagick.<BR>
<LI> www/api/types.html: Documentation for GraphicsMagick API types
moved from www/api/types/*.html into this one file. Types
documentation is still very much under development.
<LI> README.txt: Added note regarding the download location for free
Windows fonts which are kindly made available by Microsoft.
<LI> VisualMagick/installer/gm-dynamic-full-*.iss: Install
nt_base.h and nt_feature.h.
</UL>
<p>
2003-04-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> www/windows.html: Updated for GraphicsMagick 1.0 and to
link to ImageMagickObject.html.
<LI> www/programming.html: Added link to ImageMagickObject.html.
<LI> www/ImageMagickObject.html: New file to provide some
documentation for ImageMagickObject.
<LI> www: Found and fixed broken URL links.
</UL>
<p>
2003-04-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> FlashPIX: Applied patches from FreeBSD. Bumped package
version to version to 1.2.0.8.<BR>
<LI> www/api.html: Updated to reflect GraphicsMagick
<LI> www/*.html: Updated with format_c_api_docs script.
<LI> Makefile.am (format_c_api_docs): Add a target to update
the C API documentation.<BR>
<LI> scripts/format_c_api_docs: Add script which extracts and
formats the C API documentation into HTML files in the www/api
subdirectory.
</UL>
<p>
2003-04-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> version.sh (PACKAGE_VERSION): Update release version ID.
<LI> magick/version.h (MagickReleaseDate): Update release date.
<LI> magick/constitute.c (ConstituteImage): Fixed problems with
reading intensity (gray) pixel arrays.
<LI> magick/image.c (GrayscalePseudoClassImage): Use
ScaleQuantumToIndex rather than ScaleQuantumToMap.
<LI> magick/constitute.c (ConstituteImage): Use ScaleQuantumToIndex
macro to scale integral intensity values to colormap range.
<LI> magick/image.h (ScaleQuantumToIndex): New macro to scale a
quantum to the maximum range of a colormap index. Useful when
writing to PsuedoClass grayscale images.
<LI> VisualMagick/tests/run_constitute.bat: Batch script to run
constitute tests.<BR>
<LI> VisualMagick/installer/*.iss: Updated for Beta1 release.
</UL>
<p>
2003-04-22 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> utilities/Makefile.am (check) fixed typos (RM -> RMDelegate
and removed stray "gm"), added -random-threshold, ordered-dither.
<LI> magick/effect.c: Random-threshold was not treating non-gray
PseudoColor images correctly.
</UL>
<p>
2003-04-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> utilities/Makefile.am (check): Added code to put logo on demo
output.<BR>
<LI> magick/command.c (MontageImageCommand): Pass exception rather
than &image->exception because image may be null, and it is
pointless to store the exception where it will not be reported to
the user anyway.<BR>
<LI> utilities/Makefile.am (check): Ported Glenn Randers-Pehrson's
utilities demo script into the Makefile to serve as a check
target.<BR>
(check): Add definition to find Generic.ttf.
<LI> locale/C.mgk: Fixed syntax error in <Option><FatalError>
section.<BR>
<LI> www/development.html: New file to describe development
process.<BR>
<LI> index.html, www/*.html: Added link to development.html
and improved formatting a bit.
</UL>
<p>
2003-04-21 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> Fixed bug with compiling png.c with libpng versions
older than libpng-0.95.
</UL>
<p>
2003-04-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> www/programming.html: Added links to Delphi and Scheme
programming interfaces.<BR>
<LI> configure.ac : Removed outdated test for jp2conf.h.
</UL>
<p>
2003-04-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/command.c: Add argument expansion and deallocation code
to command functions which lacked this functionality.
Replace calls to Exit with a return to the invoking function.
<LI> utilities/gm.c: Expect each subcommand to expand and deallocate
its own argument list. Treat subcommands more similarly.
<LI> magick/magick.c (InitializeMagick): Seed the random number
generator.<BR>
<LI> magick/utility.c (ExpandFilenames): Handle tilde expansion
properly. Handle relative glob specifications. Skip over "*"
argument to +profile properly. Don't expand VID: specifications
since the VID: coder will execute ExpandFilenames() later. Apply
format specifier prefix to globbed file names. Fix double frees
and rationalize memory management by always copying to a new
vector.
</UL>
<p>
2003-04-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/magick.c (InitializeMagick): Decided to
move clean-up signal-handler registration from gm.c
to magick.c in order to ensure that resources are
cleaned up for all library users. This means that
if a user program wants to do something special for
signals registered to be caught by InitializeMagick
<STRONG>(SIGHUP, SIGINT, SIGQUIT, SIGABRT, SIGTERM, SIGXCPU,</STRONG>
& SIGXFSZ) then the user program should register its
own signal handlers after invoking InitializeMagick.
The user is then responsible for making sure that
DestroyMagick is invoked if an unexpected signal is
caught.<BR>
<LI> tests/Makefile.am (check-constitute): Added
constitute tests.<BR>
<LI> magick/constitute.c: New test program to ensure
that ConstituteImage and DispatchImage are working
correctly.
</UL>
<p>
2003-04-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> www/download.html: Added links to directories
at ftp.graphicsmagick.org.<BR>
<LI> index.html: Add notice regarding 1.0 Beta0
availability.<BR>
<LI> www/cvs.html: Updated CVS checkout information to
include the GraphicsMagick-1_0 branch.
<LI> coders/psd.c (ReadPSDImage): Applied patch
(SourceForge patch ID 722849) from Derry Bryson to
fix a memory leak. An image was being leaked.
<LI> magick/constitute.c (DispatchImage): Applied patch
(SourceForge patch ID 722655) from Derry Bryson to
correctly use the switch_map array rather than the
map array. Without this patch, DispatchImage does
not work at all.<BR>
<LI> GraphicsMagick 1.0.0-beta0 release.
<LI> version.sh: Updated for beta0 release.
<LI> *.c magick/*.h: Update header inclusion to include
"magick/" prefix in order to ensure that there is no
confusion with headers from another package.
</UL>
<p>
2003-04-16 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> magick/effect.c: 4x4 ordered dither threshold was
incorrect.
</UL>
<p>
2003-04-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/resource.c (InitializeMagickResources):
Added the ability to obtain the amount of physical
memory by executing an external command.
<LI> configure.ac: Check for getpagesize().
(MAGICK_PHYSICAL_MEMORY_COMMAND): Added a test for
an external command which (quickly) returns the
amount of physical memory installed on the machine.
Currently only activated for FreeBSD.
(MAGICK_PHYSICAL_MEMORY_COMMAND): Use sysctl to
determine total physical memory for Darwin.
<LI> magick/delegate.c (ListDelegateInfo): If COLUMNS
environment variable is set, then use it to obtain
the screen width. Some shells dynamically update
COLUMNS, but COLUMNS may need to be explicitly
exported in order for it to be seen by subordinate
programs (such as gm).<BR>
<LI> magick/effect.c (AddNoiseImage): Use IsGrayImage()
to check if the image is gray. Add missing columns
loop for intensity case (oops!).
<LI> magick/command.c (DisplayImageCommand): Fix
-dispose option processing bug reported by
Felix Heimbrecht.<BR>
<LI> coders/fpx.c: Check status from FPX_InitSystem().
</UL>
<p>
2003-04-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> configure.ac: Define PERLMAINCC to be the C compiler
if there are no C++ dependencies, or the C++ compiler
if there are C++ dependencies.<BR>
<LI> PerlMagick/Makefile.PL.in: Use PERLMAINCC to compile
and link perlmain.c. This allows using the C++ compiler
to link, which is useful when the build depends on C++
libraries like libfpx.<BR>
<LI> ltmain.sh: Updated to libtool 1.5 release.
<LI> Makefile.am ($(PERLMAGICK)/$(PERLSTATICNAME)): Add
rules to make sure that static PerlMagick is linked
against the current GraphicsMagick library.
<LI> coders/miff.c (ReadMIFFImage): Properly scale
colormap entries.<BR>
<LI> magick/image.c (TransformRGBImage): Eliminate 32-bit
integer overflow condition for Q:32 build while
transforming CMYK pixels.
</UL>
<p>
2003-04-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick/t/ttf/read.t: Updated signatures and
reference image for FreeType 2.1.4.
<LI> (PerlMagick/t/write.t, PerlMagick/t/montage.t,
PerlMagick/t/rad/read.t, PerlMagick/t/rad/write.t):
Fix signatures which were thrown off by previous
change to how signatures are specified to functions
in subroutines.pl.<BR>
<LI> PerlMagick/t/cgm/read.t: Updated to use reference
image.<BR>
<LI> PerlMagick/Makefile.PL.in: Perform substitutions
on generated Makefile to ensure that the proper
-lGraphicsMagick is used for a static build.
<LI> ttf: Updated to FreeType 2.1.4. Now stored in
CVS as delegates/freetype2 rather than delegates/ttf
so be sure to re-checkout the ttf directory so that
the correct files are used.<BR>
<LI> wmf/incude/libwmf/api.h: Updating FreeType caused
a problem since it introduced a copy of zlib and
api.h included zlib.h. Fixed problem by adding
a typedef for gzFile and not including zlib.h.
<LI> utilities/gm.c: Fixed minor compilation problem
under Windows caused by a typo in the signal
handler registration code.
</UL>
<p>
2003-04-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Makefile.am: When building a static PerlMagick,
build PerlMagick as part of the 'all' target and
don't do a 'make clean' of PerlMagick at install
time.<BR>
<LI> configure.ac (LIB_DPS): Add check to see if -lXt
is required by -ldps. XFree86 -ldps requires -lXt.
<LI> FlashPIX: FlashPIX library now compiles under
FreeBSD 5.0.<BR>
<LI> magick/deprecate.c (ValidateColormapIndex): Remove
non-interface deprecated function.
<LI> magick/tempfile.c (AcquireTemporaryFileDescriptor):
Priortize use of mkstemp() over tempname() since *BSD
compilers whine about tempname() (although we do use
tempname() safely).<BR>
<LI> magick/color.c (ConstrainColormapIndex): Removed
function since it is no longer used.
<LI> magick/utility.c (TemporaryFilename): Removed
TemporaryFilename utility function since it is
no longer used and it makes *BSD compilers
complain.<BR>
<LI> magick/studio.h: Don't define _ISOC99_SOURCE,
_POSIX_C_SOURCE, or _XOPEN_SOURCE when compiling
under FreeBSD since this maps out a 'ushort'
definition required by /usr/include/sys/ipc.h.
</UL>
<p>
2003-04-11 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/png.c: Some grayscale PNG images and the
JNG alpha channel were decoded improperly at Q:32.
<LI> magick/constitute.c (PopImagePixels): Changed many
instances of (Quantum) typecast to (unsigned char).
</UL>
<p>
2003-04-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick/t/tiff/read.t: Added signature for 12-bit
TIFF test and a Q:32 build.<BR>
<LI> PerlMagick/t/subroutines.pl: Extended routines
which are signature based to accept signatures for
Q:32 as well.<BR>
<LI> PerlMagick/t/wmf/read.t: Relax error values slightly
to pass at Q:32.<BR>
<LI> coders/miff.c (PushImageRLEPixels): Fix reading
RLE MIFF at Q:32. A fragment of old code was being
used to obtain the length.<BR>
(WriteRunlengthPacket): Fix writing RLE MIFF at Q:32.
In most cases the wrong scaling macro was being used.
<LI> tests/Makefile.am (check-miff): Added MIFF tests
for supported compression options.
</UL>
<p>
2003-04-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/color.c (QueryColorDatabase): Extended to
support parsing Q:32 hex color specification strings.
Also add error reporting for failure to parse the
color specification. This resolves a bug that drawing
via the draw.c APIs was not working for Q:32 builds.
<LI> utilities/gm.c (main): Add signal handlers to
make sure that program cleans-up on exit by invoking
DestroyMagick.<BR>
<LI> magick/draw.c (DrawSetFillColor): Quote color
specification.<BR>
(DrawSetStrokeColor): Quote color specification.
(DrawSetTextUnderColor): Quote color specification.
<LI> ltmain.sh: Update to latest CVS libtool.
</UL>
<p>
2003-04-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/enhance.c (NormalizeImage): Only normalize the
opacity channel if image->matte is true. This results
in some (15%) speedup. While it can be argued that the
'K' in CMYK should be normalized, it can also be argued
that this is senseless since 'K' is not a "linear" measure
like C, M, & Y are, and there may not be any any value
to normalizing CMY at all.<BR>
(EqualizeImage): Only equalize the opacity channel if
image->matte is true. This results in a 23% speedup.
(GammaImage): Minor loop optimization.
(LevelImage): Don't level the opacity channel. Doing so
doesn't make any sense.<BR>
(LevelImageChannel): Put loops inside switch statement
rather than around it.<BR>
<LI> PerlMagick/t/tiff/read.t: Added grayscale 12-bit and
16-bit TIFF read tests.
</UL>
<p>
2003-04-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/tiff.c (ReadTIFFImage): Add support for reading
12-bit grayscale TIFFs. Fix reading 16-bit grayscale TIFFs
when QuantumDepth=8.<BR>
<LI> VisualMagick/installer/gm-dynamic-full-8.iss,
VisualMagick/installer/gm-dynamic-full-16.iss: Many C header
files were not being included in the distribution. Oops!
</UL>
<p>
2003-04-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> (index.html, www/*.html): Update to new web page style.
<LI> scripts/txt2html: Update to output new web page style.
<LI> ltmain.sh: Updated to latest CVS libtool.
<LI> magick/tempfile.c (DestroyTemporaryFiles): Function was
crashing if it was executed twice.
</UL>
<p>
2003-04-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/delegates.mgk.in: Ralcgm was appending ".ps" to the
provided output file name, so change cgm delegate command so that
the input file is delivered via standard input, output is
re-directed to a file, and anything printed to stderr (such as
the Ralcgm program name and version) is sent to /dev/null.
<LI> INSTALL-unix.txt: Added/corrected/improved documentation
regarding --disable-installed, --enable-shared, and
--with-modules.<BR>
<LI> VisualMagick/magick/magick_config.h.in: Add more documentation
and explanatory notes in order to lessen confusion.
<LI> Many files: Replaced "UseInstalledImageMagick" with
"UseInstalledMagick" for obvious reasons.
</UL>
<p>
2003-04-04 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> magick/command.c, utilities/gm.c: Print "help" screen for a
tool when user types "gm tool" or "gm tool -help"
<LI> magick/command.c, magick/effect.c: add -ordered-dither option.
</UL>
<p>
2003-04-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> locale/C.mgk: Fixed message associated with
"UnableToCreateTemporaryFile".<BR>
<LI> magick/tempfile.c (AcquireTemporaryFileDescriptor): Decided
to return a pathname (if possible), even on failure, for use
in error reports. The function return status should be used
to determine if the function has succeeded.
<LI> locale/locale.mgk: Updated copyright header.
<LI> (magick/annotate.c, magick/attribute.c, magick/blob.c,
magick/cache.c, magick/constitute.c, magick/delegate.c,
magick/display.c, magick/image.c, magick/locale.c
magick/tempfile.c, magick/tempfile.h, magick/utility.c,
magick/xwindow.c, coders/dcm.c, coders/ept.c,
coders/histogram.c, coders/mpeg.c, coders/pdf.c,
coders/pict.c, coders/preview.c, coders/ps2.c,
coders/ps3.c, coders/ps.c, coders/pwp.c, coders/sfw.c,
coders/svg.c, coders/tiff.c, coders/url.c, coders/wpg.c):
Ensure that failure to allocate/create temporary file is
properly detected and reported.
</UL>
<p>
2003-04-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/type.c (GetTypeBlob): Prioritize hard-coded path
over Windows registry values.<BR>
<LI> magick/log.c (GetLogBlob): Prioritize hard-coded path
over Windows registry values.<BR>
<LI> magick/blob.c (GetConfigureBlob): Prioritize hard-coded path
over Windows registry values.<BR>
<LI> magick/delegate.c (ReadConfigureFile): Perform substitutions
for "@GMDelegate@", "@GMDisplayDelegate@", "@MPEGDecodeDelegate@",
"@MPEGEncodeDelegate@", and "@HPGLDecodeDelegate@" while reading
delegates.mgk under windows.<BR>
(ListDelegateInfo): Format delegate command line to multiple
lines if necessary rather than truncating.
<LI> configure.ac (MagickBinPathDefine): Added support for
a MagickBinPath definition.<BR>
<LI> configure.ac (GSVersion): Added test to obtain version
of installed Ghostcript.<BR>
<LI> magick/tempfile.c (AcquireTemporaryFileDescriptor): Open
flag should have been O_RDWR, not O_WRONLY!
</UL>
<p>
2003-04-03 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> magick/utility.c: Simplified skipping over the "*" in
the +profile "*" option when expanding filenames.
</UL>
<p>
2003-04-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> VisualMagick/bin/delegates.mgk: Update similarly to
coders/delegates.mgk.in.<BR>
<LI> coders/delegates.mgk.in: Replaced 'mpeg-decode' delegate
specification with 'mpeg' delegate specification.
<LI> PerlMagick/t/mpeg/read.t: Since -r option is no longer
supplied to mpeg2decode, the signatures must be updated.
<LI> magick/utility.c (ExpandFilenames): Skip over no-argument
commands properly.<BR>
<LI> coders/mpeg.c: Removed ReadMPEGImage since this is handled
entirely by delegate now.<BR>
<LI> magick/command.c: Add convert -temporary option for use
when input files are temporary files which should be
automatically removed.<BR>
<LI> magick/delegate.c (InvokeDelegate): Ensure that temporary
file access is secure.<BR>
<LI> coders/ept.c (ReadEPTImage): Ensure that temporary file
specified by image_info->filename is liberated before
allocating a new temporary file name.
<LI> coders/ps.c (ReadPSImage): Ensure that temporary file
specified by image_info->filename is liberated before
allocating a new temporary file name.
<LI> coders/pdf.c (ReadPDFImage): Change TemporaryFilename
to AcquireTemporaryFileName.<BR>
<LI> magick/tempfile.c (LiberateTemporaryFile): Now takes
a 'char *' argument rather than 'const char *', and
erases the provided filename if it is the name of a valid
temporary file. This helps avoid errors. The return
status may be used to determine if a file was removed.
(AcquireTemporaryFileDescriptor): Decided that adding a
.tmp extension to temporary file names is unnecessary.
<LI> coders/jp2.c (WriteJP2Image): Destroy pixel matrix
after encoding image. Cristy says that there is memory
corruption otherwise.
</UL>
<p>
2003-04-01 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/png.c: Use new temporary file manager for JNG components.
Merge with IM 5.5.7 (mostly cosmetic changes).
</UL>
<p>
2003-03-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/cache.c (OpenCache): Add some Windows-specific
open options.<BR>
<LI> magick/resource.c (InitializeMagickResources): Increase
the number of "lowio" file handles available for use under
Windows.<BR>
<LI> ltdl/ltdl.c: Incorporate more Darwin fixes from CVS libtool.
<LI> coders/pcx.c (ReadPCXImage): Incorporate bugfix from
ImageMagick -- Not enough memory allocated for reading PCX
(bug report by Trevor Willis).<BR>
<LI> magick/magick.c (InitializeMagick): Only invoke
SetLogEventMask() to set debug options based on
getenv("MAGICK_DEBUG") if the environment variable is set.
</UL>
<p>
2003-03-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/tempfile.c: Include tempfile.h rather than temporary.h
<LI> magick/magick.c: Include tempfile.h rather than temporary.h
<LI> coders/dcm.c, coders/ept.c, coders/histogram.c, coders/mpeg.c,
coders/pdf.c, coders/pict.c, coders/preview.c, coders/ps.c,
coders/ps2.c, coders/ps3.c, coders/pwp.c, coders/sfw.c,
coders/svg.c, coders/tiff.c, coders/url.c, coders/wpg.c,
magick/annotate.c, magick/attribute.c, magick/blob.c,
magick/cache.c, magick/constitute.c, magick/delegate.c,
magick/display.c, magick/image.c, magick/magick.c,
magick/utility.c, magick/xwindow.c: Updated to use new temporary
file allocation APIs.<BR>
<LI> magick/tempfile.c: New temporary file allocation subsystem for
allocating, tracking, and deallocating temporary files. Use of
this subsystem should reduce the likelyhood that temporary
files will be left behind once the process exits.
If the environment variable MAGICK_TMPDIR is set, then its
value is used as the location to place temporary files.
<LI> magick/utility.c (IsAccessibleAndNotEmpty): New function
for testing for file exists, is a regular file, and is not empty.
Used to test if a temporary file has been updated by a delegate.
<LI> magick/log.c (SetLogEventMask): Add support for setting
TemporaryFileEvent.<BR>
<LI> PerlMagick/Magick.xs: Added TemporaryFile log event type.
<LI> magick/log.h (LogEventType): Add TemporaryFileEvent event
classification.
</UL>
<p>
2003-03-29 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> magick/resize.c (SampleImage) and magick/render.c (DrawAffineImage():
Applied Cristy fix for bug that offset images to the top and left.
<LI> magick/resize.c (ScaleImage): Fixed bug that caused intensity
levels to be one unit too high.
<LI> coders/png.c: make JNG support depend on HasJPEG. Remove temp files.
</UL>
<p>
2003-03-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/resize.c (ResizeImage): Applied fix authored by John
Cristy for distortion when using the bessel filter.
<LI> magick/display.c: Applied fix authored by John Cristy which
eliminates bogging down when using the magnifier window on
large images.<BR>
<LI> Several files: A few files included multiple copies of the
copyright header text due to either pilot error, or equipment
failure.
</UL>
<p>
2003-03-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> tests/Makefile.am : Removed some debug code which was
accidentally committed to CVS.<BR>
<LI> Copyright.txt: Add copyright statements to all the files,
including some apparently missing copyrights.
</UL>
<p>
2003-03-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/Makefile.am: Added temporary.c and temporary.h. These
are not finished yet.<BR>
<LI> magick/cache.c: Transferred optimization from ImageMagick
to read/write all requested pixel cache rows in one system
call when accessing the cache using file I/O, and the
requested columns equals the image columns.
<LI> magick/resource.c: (ResourceInfo): Use type 'double' rather
than 'long double'. For many systems, the range of 'long double'
is the same as 'double'. On others, use of 'long double' incurs
the cost of function calls since there is no hardware support.
</UL>
<p>
2003-03-22 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> magick/effect.h, effect.c, command.c: Revised -random-dither
to require parameters: channel LOWxHIGH. Channel can presently
be "intensity", "opacity", or "all".
</UL>
<p>
2003-03-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> ltdl/ltdl.c: Updated to latest CVS version. Claimed to
support loading modules under MacOS-X.
<LI> magick/resource.c (InitializeMagickResources): Enable code
under Windows which queries system limits.
<LI> magick/cache.c (S_MODE): Fixed portability problems with
definition.<BR>
<LI> VisualMagick/bin/delegates.mgk: Fix typo in "mpeg-decode"
decode rule.<BR>
<LI> libtool: Update to latest CVS version.
<LI> configure.ac: Test zlib for gzseek and gztell.
<LI> magick/effect.c (ChannelThresholdImage): The is_grayscale flag
was not be evaluated correctly.
</UL>
<p>
2003-03-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.h (RoundSignedToQuantum): Added handy
RoundSignedToQuantum macro for munging doubles into Quantums.
<LI> magick/effect.c (ThresholdImage): Added optimizations for
thresholding all pixels to white or black. Threshold using an
integral value rather than a double so compares are faster.
(ChannelThresholdImage): Threshold against integral values since
compares are faster. Invoke ThresholdImage for simple thresholding
across all channels since it is faster.
</UL>
<p>
2003-03-19 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/meta.c: #ifdef'ed out some dead code.
<LI> magick/annotate.c: #ifdef'ed out some code that is only
used when HasTTF is defined.<BR>
<LI> Added RandomThresholdImage() method and -random-threshold
commandline option.
</UL>
<p>
2003-03-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> configure.ac (LIB_TIFF): Check for TIFFReadRGBATile and TIFFReadRGBAStrip
in libtiff before deciding to use it.
<LI> magick/blob.c (WriteBlob): Move pointer increment into
paranthesis.<BR>
(ReadBlob): Move pointer increment into paranthesis.
<LI> magick/gem.c (HSLTransform): Removed inline statement.
(TransformHSL): Removed inline statement.
<LI> magick/random.[c|h]: Removed files from CVS.
<LI> magick/command.c: Don't include random.h.
<LI> PerlMagick/t/reference/jng: Update reference files to current output.
</UL>
<p>
2003-03-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> configure.ac: Added tests for pread and pwrite functions.
<LI> magick/image.c (GrayscalePseudoClassImage): Properly invoke
SyncImagePixels.<BR>
<LI> magick/cache.c (SyncCacheNexus): Add back in is_monochrome and
is_grayscale flag resetting which was lost by copying over
ImageMagick's cache.c.<BR>
(FilePositionRead): Inline wrapper for reading a chunk of data at
an offset.<BR>
Cleans up some messy code, and makes it easy to use pread().
(FilePositionWrite): Inline wrapper for writing a chunk of data at
an offset.<BR>
Cleans up some messy code, and makes it easy to use pwrite().
Cache now uses pread() and pwrite() to access the cache if these
calls are available.<BR>
<LI> magick/resource.c (InitializeMagickResources): Support setting
resource limits via the environment variables MAGICK_LIMIT_DISK,
MAGICK_LIMIT_FILES, MAGICK_LIMIT_MEMORY, and MAGICK_LIMIT_MAP.
</UL>
<p>
2003-03-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/stream.c (AcquirePixelStream): Store total pixels in
64-bit type.<BR>
(SetPixelStream): Store total pixels in 64-bit type.
<LI> coders/tiff.c (WriteTIFFImage): CoderError should be
MissingDelegateError.<BR>
<LI> coders/ps3.c (Huffman2DEncodeImage): CoderError should be
MissingDelegateError.<BR>
(WritePS3Image): CoderError should be MissingDelegateError.
<LI> coders/ps2.c (Huffman2DEncodeImage): CoderError should be
MissingDelegateError.<BR>
<LI> coders/pdf.c (Huffman2DEncodeImage): CoderError should be
MissingDelegateError.<BR>
<LI> coders/fpx.c (ReadFPXImage): CoderError should be
MissingDelegateError.<BR>
(WriteFPXImage): CoderError should be MissingDelegateError.
<LI> coders/dps.c (ReadDPSImage): CoderError should be
MissingDelegateError.<BR>
<LI> magick/image.c (AnimateImages): DelegateError should be
MissingDelegateError.<BR>
<LI> magick/annotate.c (RenderX11): DelegateError should be
MissingDelegateError.<BR>
<LI> magick/image.c (DisplayImages): DelegateError should be
MissingDelegateError.
</UL>
<p>
2003-03-17 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> magick/image.c Relocated misplaced break in ChannelImage()
and sped up SetImageOpacity by avoiding blend operation when
setting the image fully opaque.
</UL>
<p>
2003-03-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/cache.c: Snarfed cache.c updates from ImageMagick.
<LI> magick/command.c: Added -list resource support.
</UL>
<p>
2003-03-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/Makefile.am (random.c): Removed building, packaging,
and intialization of random.c functions since it is not actually
used.<BR>
<LI> magick/semaphore.c (InitializeSemaphore): Only initialize
critical section if active_semaphore is not already true.
<LI> magick/resource.c: Snarf resource.c updates from ImageMagick.
<LI> PerlMagick/Magick.xs: Added missing log event types.
<LI> magick/log.h (enum): Added ResourceEvent enumeration.
<LI> magick/log.c (LogMagickEvent): fflush(stdout) at the end of
each log. Otherwise output may not be seen for a long time.
(SetLogEventMask): Add support for "-debug resource".
<LI> coders/tiff.c (RegisterTIFFImage): Don't register encode and
decode handlers for TIFF if TIFF library is not available.
<LI> magick/constitute.c (WriteImage): Fix cut-n-paste error
in log message ("decoder" --> "encoder").
</UL>
<p>
2003-03-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> index.html: Added a link to the GraphicsMagick mailing lists.
<LI> Magick++/demo/zoom.cpp: Added dashed option support, including
a -resample option for image resampling.
</UL>
<p>
2003-03-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Makefile.am (DIST_SUBDIRS): Filters subdirectory needs to
be distributed.
</UL>
<p>
2003-03-14 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> magick/render.c Ported Cristy's bugfix to DrawAffineImage().
</UL>
<p>
2003-03-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c (DestroyImage): Comment out new assertions until
we are certain that there are no ill effects.
<LI> coders/mat.c (ReadMATImage): Set image->depth to valid values.
<LI> PerlMagick/Magick.xs: Update so that new DestroyImage assertions
aren't asserted.<BR>
<LI> magick/list.c (DestroyImageList): Update so that new DestroyImage
assertions aren't asserted.<BR>
<LI> coders/wpg.c (ReadWPGImage): Don't leave dangling pointer when
trimming list. Don't set image->depth to invalid values.
</UL>
<p>
2003-03-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c (DestroyImage): Add assertions to verify
that destroyed image is not currently referenced by another
image. This should help prevent accidental continued use
of a destroyed image.<BR>
(DestroyImage): Added assertions to enforce that images
should not continue to reference the destroyed image.
<LI> coders/wpg.c: Incorporated fixes from Jaroslav Fojtik.
<LI> version.sh (PACKAGE_VERSION_ADDENDUM): Construct a package
snapshot version based on the ChangeLog modification time.
This requires GNU find to work propery since the -printf
option is used.<BR>
<LI> configure.ac (LIB_GS): Do not test for the Ghostscript
library by default due to the issue of its embedded libjpeg
conflicting with libjpeg.<BR>
<LI> coders/ept.c (ReadEPTImage): "PostscriptDelegateFailed" should
be classified as a DelegateError type.
</UL>
<p>
2003-03-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/blob.c (BlobToFile): Truncate while opening file.
(ImageToFile): Truncate while opening file.
<LI> magick/annotate.c (RenderFreetype): Missing freetype library
should result in a MissingDelegateError type rather than a
DelegateError type.<BR>
<LI> INSTALL-windows.txt: Added a note regarding a workaround for
internal compiler errors while compiling image.c when using
Visual C++ 7.0.<BR>
<LI> coders/jpeg.c (ReadICCProfile): Incorporate ImageMagick fix
to handle short JPEG ICC profiles.
<LI> magick/integral_types.h: Ignore SIZEOF_LONG_LONG and
SIZEOF_UNSIGNED_LONG_LONG defines if _VISUALC_ is defined.
</UL>
<p>
2003-03-11 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> www/gm.html, utilities/gm.1, guide/gm.tex: Expanded description
of the -affine option.
</UL>
<p>
2003-03-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c (GetImageDepth): Re-implemented using a single-pass
algorithm and 1/2 the code. Previous implementation didn't return
correct results for Q:32 build. Now it does.
<LI> magick/command.c (IdentifyImageCommand): For identify, when
%q format specifier is present, image must be read rather than
pinged. If not, either the value 8 is returned, or there is a
crash due to reading an uninitialized image.
</UL>
<p>
2003-03-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/mat.c: Incorporate fixes from Jaroslav Fojtik. Close
Blob before rotating image.<BR>
<LI> PerlMagick/README.txt: Update to reflect that PerlMagick is
part of GraphicsMagick.<BR>
<LI> PerlMagick/t/input.mat: Added test image for Matlab format.
<LI> PerlMagick/t/input.wpg: Added test image for WordPerfect Graphics Format.
<LI> utilities/Makefile.am (ALLMANPAGES): Install gm.1 rather than
old utility manual pages.
</UL>
<p>
2003-03-09 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> www/gm.html, utilities/gm.1, guide/gm.tex: First cut at
manpage for gm, to replace individual utility manpages.
</UL>
<p>
2003-03-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/blob.c: Fix some erroneous log printf specifications.
Improved blob log messages a bit.
<LI> magick/log.c (IsEventLogging): Use InitializeLogInfo().
(InitializeLogInfo): New function to intelligently initialize
logging subsystem. Only locks when initialization may be required,
and only locks long enough to determine if initialization is required.
This approach should avoid deadlocking while logging from functions
used to initialize logging.<BR>
(IsLogAccessible): No longer need this duplicate of IsAccessible().
(SetLogEventMask): Use InitializeLogInfo().
<LI> coders/fpx.c (ReadFPXImage): FlashPIX library does not support
BLOB I/O so don't use OpenBlob/CloseBlob. Opening the blob caused
a conflict when the FlashPIX library attempted to open the file.
</UL>
<p>
2003-03-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> configure.ac: Test for libtiff functions (TIFFClientOpen &
TIFFIsByteSwapped), which are required by GraphicsMagick, but
not found in older libtiff versions.
<LI> magick/blob.c: Added logging for Blob open/close and memory
mapping operations.
</UL>
<p>
2003-03-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> tests/rwblob.c (main): DestroyImage asserts on NULL so only
call it for non-null image.<BR>
<LI> tests/rwfile.c (main): DestroyImage asserts on NULL so only
call it for non-null image.
</UL>
<p>
2003-03-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> tests/rwblob.c (main): Add -pause option to require keypress to
exit program. Clean-up to avoid any appearance of leaks.
<LI> tests/rwfile.c (main): Add -pause option to require keypress to
exit program. Clean-up to avoid any appearance of leaks.
<LI> magick/static.c (ExecuteStaticModuleProcess): Don't bind in
process filter functions for Visual C++ since the build environment
doesn't support it yet.<BR>
<LI> magick/log.c (GetLogBlob) Code wasn't actually testing current
directory for log.mgk, now it does.
<LI> magick/log.c (IsEventLogging): Eliminate accidental recursive, or
repeated, initialization of the logging system.
</UL>
<p>
2003-03-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/jp2.c (WriteJP2Image): Improved -quality rate estimation
for very small files.
</UL>
<p>
2003-03-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/jp2.c (WriteJP2Image): Add additional logging support.
<LI> tests/rwblob.c: Added BLOB read/write logging.
<LI> tests/rwfile.c: Added file read/write logging.
<LI> magick/module.c (FindMagickModule): Minor code cleanup and limit
directory and file name lengths to sensible values.
<LI> magick/utility.c (IsAccessible): Log test failures along with
test failure reason [strerror(errno)]. Also log test success.
<LI> VisualMagick/bin/delegates.mgk: -DSAFER does not work with
Ghostscript 8.0.<BR>
<LI> magick/module.c: Needed to conditionally include nt_feature.h.
</UL>
<p>
2003-03-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/module.c (ExecuteModuleProcess): Updated to support locating
filter modules based on search rules.
(CoderInfo): Declare only in module.c since use is private to this
module.<BR>
(GetCoderInfo): Made static and commented out since currently unused.
(FindMagickModule): New function to search for a module.
(GetModuleBlob): Moved from blob.c, made static, and re-implemented
based on FindMagickModule.
<LI> magick/blob.c: Moved GetTypeBlob() to type.c and made it static.
Moved GetModuleBlob() to module.c and made it static.
</UL>
<p>
2003-03-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/Makefile.am: MIFF module does not depend on -ljpeg, but
PNG module does (for JNG).<BR>
<LI> filters/analyze.c (AnalyzeImage): Bugfix, image should be passed
as Image** rather than Image*.<BR>
<LI> magick/utility.c (IsAccessible): Don't log errno if errno==0.
</UL>
<p>
2003-03-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/Makefile.am: Link with libFilters convenience library.
<LI> VisualMagick/magick/magick_config.h.in: Change MagickModulesPath
to MagickCoderModulesPath and add a MagickFilterModulesPath to
locate filter modules.<BR>
<LI> filters/Makefile.am: New makefile to build filter modules.
<LI> configure.ac: Configure magick/GraphicsMagick.pc and
Magick++/lib/GraphicsMagick++.pc.
(MagickModulesSubdir): Add quantum depth to modules path to ensure that
modules with the correct depth are loaded. The modules path is now
${libdir}/GraphicsMagick-${PACKAGE_VERSION}/modules-Q${QuantumDepth}/coders.
(MagickCoderModulesPath): Rename MagickModulesPath to MagickCoderModulesPath.
(MagickFilterModulesPath): Define to location of filter modules.
<LI> magick/Makefile.am: Added rules to install GraphicsMagick.pc.
<LI> magick/GraphicsMagick.pc.in: Added pkgconfig file for
-lGraphicsMagick.
</UL>
<p>
2003-02-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/jp2.c (WriteJP2Image): Quality factor calculation had
accidentally been removed. The calculation is back, but has been
biased up slightly so that a quality factor of 75 results in a
more reasonable 16:1 compression. Past a quality factor of 99.5,
the compression is set to 1:1 (non-lossy).
</UL>
<p>
2003-02-27 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> Fixed bug with reading interlaced PNG images, introduced
yesterday.<BR>
<LI> Fixed bug with skipping MNG subimages, also introduced
yesterday.
</UL>
<p>
2003-02-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Makefile.am (EXTRA_DIST): Forgot to distribute version.sh
<LI> configure.ac: Use definitions from version.sh to drive
package versioning and naming. These definitions support
libtool's recommended approach to library versioning.
<LI> version.sh: New file for managing release versioning.
Edit this file to change the release number, etc.
<LI> PerlMagick/t/tiff/read.t: Added read tests for stripped,
planar contiguous, and planar seperated TIFFs.
<LI> coders/tiff.c (ReadTIFFImage): Transferred stripped-TIFF
reading code from ImageMagick.<BR>
Enumerated reading methods to make the logic more clear.
</UL>
<p>
2003-02-27 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> JNG alpha sample depth was sometimes inconsistent.
<LI> Bring only one line at a time into memory during PNG
read/write (Merge with Cristy's 5.5.6 update).
</UL>
<p>
2003-02-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick/Makefile.PL.in (LIBS): Put MAGICKLIB first to
decrease the probability that the wrong libMagick is used
when linking static PerlMagick.
<LI> configure.ac (PerlMagick): Fix linker search path for
-lGraphicsMagick when linking a static PerlMagick. It seems
that libtool changed the location where it places static
libraries.<BR>
<LI> PerlMagick/t/tiff/read.t: Added test for reading tiled TIFF.
<LI> coders/tiff.c (ReadTIFFImage): Add optimized support for
reading tiled TIFFs.<BR>
(ReadTIFFImage): Optimize loops for reading tiled TIFFs as well.
(ReadTIFFImage): Eliminate compiler warning.
(ReadTIFFImage): Add some missing error handling for tiled TIFF.
</UL>
<p>
2003-02-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/tiff.c (ReadTIFFImage): Optimize RGBA transfer loop.
</UL>
<p>
2003-02-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/render.c (DrawPrimitive): Return DrawPolygonPrimitive
status (edit transferred from ImageMagick).
<LI> magick/utility.c (GetMagickGeometry): Scaling to an area now
preserves the image aspect ratio.
</UL>
<p>
2003-02-24 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> png.c: Added missing parentheses in typecast (cristy noticed
the bug that I introduced on 2/18).
</UL>
<p>
2003-02-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Makefile.am: Add rules to produce www/README.html,
www/INSTALL-mac.html, www/INSTALL-unix.html, www/INSTALL-vms.html,
and www/INSTALL-windows.html<BR>
<LI> www/README.html: New file produced from README.txt
<LI> www/INSTALL-mac.html: New file produced from INSTALL-mac.txt.
<LI> www/INSTALL-unix.html: New file produced from INSTALL-unix.txt.
<LI> www/INSTALL-vms.html: New file produced from INSTALL-vms.txt.
<LI> www/INSTALL-windows.html: New file produced from INSTALL-windows.txt.
<LI> NEWS: Added news for GraphicsMagick 1.0.0.
<LI> magick/locale.c: Added error messages to support JP2.
<LI> locale/C.mgk: Added error messages to support JP2.
<LI> locale/locale.mgk: Update to GraphicsMagick copyright.
<LI> coders/jp2.c: Updated to use Jasper 1.700.1 interface
conventions. Jasper 1.700.1 is required now. Support
reading arbitrary quantum sizes up to 16-bits. Return
grayscale images as PseudoClass.
<LI> jp2/: Updated Jasper sources to version 1.700.1.
</UL>
<p>
2003-02-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/jp2.c (ReadJP2Image): Obtain channel indexes by
ID rather than assuming index value. Validate that channel
geometry and encoding is supported.
<LI> magick/effect.c (ThresholdImage): Additional performance
optimization. Work faster if image is already gray.
</UL>
<p>
2003-02-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/jp2.c (WriteJP2Image): Port to Jasper 1.7.
For Q:32, don't write 32-bit pixels rather than the
16-bit pixels we told Jasper we would write.
(WriteJP2Image): Back-port to Jasper 1.6.
</UL>
<p>
2003-02-18 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/modules.mgk: Added JNG entry.
</UL>
<p>
2003-02-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/jp2.c (RegisterJP2Image): Added registration for
"PGX" magick tag.<BR>
<LI> magick/magic.mgk: Added entry for JPEG V2's PGX format.
<LI> PerlMagick/t/jp2/read.t: Added JPEG Version 2 read tests.
<LI> coders/modules.mgk: Added JPC and PGX magick types to
support JPEG V2.<BR>
<LI> magick/color.c (IsMonochromeImage): Re-arranged test logic
to short-circuit test using ORs.
(IsGrayImage): Re-arranged test logic to short-circuit test
using ORs.<BR>
<LI> magick/constitute.c (PopImagePixels): Speed GrayQuantum
and GrayAlphaQuantum cases if is_grayscale is True.
<LI> magick/quantize.c (AssignImageColors): Sync image to
update DirectClass pixels to new colormap.
<LI> coders/fpx.c (RegisterFPXImage): FlashPIX does not
provide direct BLOB I/O support.
<LI> magick/blob.c (BlobToImage): Add logging.
(BlobToFile): Add logging.
</UL>
<p>
2003-02-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/fpx.c (ReadFPXImage): Removing the input file is
antisocial.<BR>
<LI> PerlMagick/t/fpx/*.fpx: Replaced with new copies. Files
seemed to be corrupt.<BR>
<LI> PerlMagick/t/cgm/read.t: Specify file magick so that CGM
read test passes for BLOB case.
<LI> PerlMagick/t/rad/read.t: Specify file magick so that RAD
read test passes for BLOB case.
<LI> PerlMagick/t/jng/read.t: Add read tests for JNG.
<LI> PerlMagick/t/jng/write.t: Add read/write tests for JNG.
<LI> configure.ac (DELEGATES): Added 'jng' to the DELEGATES list
so that JNG can be included in the PerlMagick tests.
</UL>
<p>
2003-02-18 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/png.c: Write proper JNG image_interlace_method.
<LI> coders/png.c: Read and write proper MNG and JNG sRGB intent.
<LI> PerlMagick/t/jng: Add twelve test files in JNG format.
<LI> coders/png.c: Write proper progressive JNG output when
transparency is present.
</UL>
<p>
2003-02-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/version.c (GetMagickWebSite): New function.
</UL>
<p>
2003-02-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/wmf.c (ipa_device_begin): Use MagickWebSite definition.
<LI> www/Copyright.html: Updated to match Copyright.txt
<LI> www/perl: Updated to reflect GraphicsMagick vs ImageMagick.
<LI> magick/xwindow.c (XMakeImageMSBFirst): Minor loop optimizations.
<LI> magick/constitute.c (ConstituteImage): Check for grayscale
and monochrome image if image is PseudoClass.
</UL>
<p>
2003-02-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/enhance.c (ContrastImage): Preserve is_grayscale flag.
(EqualizeImage): Preserve is_grayscale flag.
(ModulateImage): Preserve is_grayscale flag.
(NegateImage): Preserve is_grayscale flag.
(NormalizeImage): Preserve is_grayscale flag.
<LI> magick/fx.c (ColorizeImage): Evaluate is_grayscale status.
(ConvolveImage): Preserve is_grayscale flag.
(ImplodeImage): Preserve is_grayscale flag.
(SolarizeImage): Preserve is_grayscale flag.
(OilPaintImage): Preserve is_grayscale flag.
(SwirlImage): Preserve is_grayscale flag.
(WaveImage): Preserve is_grayscale flag.
<LI> magick/resize.c (MagnifyImage): Preserve is_grayscale flag.
(MinifyImage): Preserve is_grayscale flag.
(ResizeImage): Preserve is_grayscale flag.
<LI> magick/decorate.c (FrameImage): Evaluate is_grayscale status.
(RaiseImage): Preserve is_grayscale.
<LI> magick/shear.c (IntegralRotateImage): Preserve is_grayscale.
flag.<BR>
(XShearImage): Evaluate is_grayscale status.
(YShearImage): Evaluate is_grayscale status.
<LI> magick/transform.c (ChopImage): Preserve is_grayscale flag.
(CropImage): Preserve is_grayscale flag.
(FlipImage): Preserve is_grayscale flag.
(FlopImage): Preserve is_grayscale flag.
(RollImage): Preserve is_grayscale flag.
<LI> magick/effect.c (AddNoiseImage): If image colorspace is
GRAYColorspace, then add intensity noise, and transfer
image is_grayscale flag to output image.
(BlurImage): Preserve is_grayscale flag.
(DespeckleImage): Preserve is_grayscale flag.
(EdgeImage): Preserve is_grayscale flag.
(EmbossImage): Preserve is_grayscale flag.
(GaussianBlurImage): Preserve is_grayscale flag.
(MotionBlurImage): Preserve is_grayscale flag.
(ShadeImage): Preserve is_grayscale flag.
(SharpenImage): Preserve is_grayscale flag.
(UnsharpMaskImage): Preserve is_grayscale flag.
<LI> magick/quantize.c (QuantizeImage): Pre-reduce gray images
to PseudoClass in order to quickly determine the number of
colors, and provide the expected PseudoClass output. Also
skip slow color quantization if there are already fewer
colors than requested.<BR>
<LI> magick/image.c (GrayscalePseudoClassImage): New function
to quickly reduce an image to PseudoClass grayscale. This
is a fast way to determine the number of intensities in a
grayscale image. Either a compact sorted colormap or a faster,
contiguous linear colormap is created, depending on the
optimize_colormap flag. If the image is already PseudoClass,
and the optimize_colormap flag is True, then the existing
colormap is sorted and reduced.
(SyncImage): Preserve is_grayscale flag.
(ChannelImage): Result is grayscale.
(CycleColormapImage): Preserve is_grayscale and is_monochrome flags.
(SetImage): Evaluate is_grayscale flag.
(SetImageDepth): Preserve is_grayscale flag.
(SetImageOpacity): Preserve is_grayscale flag.
(SortColormapByIntensity): Preserve is_grayscale flag.
(TransformRGBImage): Evaluate is_grayscale flag.
</UL>
<p>
2003-02-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/resize.c (SampleImage): Preserve grayscale and
monochrome flags.<BR>
<LI> magick/quantize.c (AssignImageColors): Set image monochrome
flag to True when quantizing to two colors in GrayColorspace.
<LI> magick/effect.c (SpreadImage): Preserve grayscale and
monochrome flags.<BR>
(AdaptiveThresholdImage): Short-circuit algorithm if image
flags indicate it is already monochrome. Set monochrome and
grayscale flags once algorithm completes.
(ThresholdImage): Short-circuit algorithm if image
flags indicate it is already monochrome. Set monochrome and
grayscale flags once algorithm completes.
(ChannelThresholdImage): Short-circuit algorithm if image
flags indicate it is already monochrome. Set monochrome and
grayscale flags once algorithm completes.
(ShadeImage): If grayscale shading is done, then set image
grayscale flag to True.<BR>
<LI> magick/color.c (IsGrayImage): If the image is_grayscale
flag is True, then short-circuit the test. Update the flag
if the test is performed.<BR>
(IsMonochromeImage): If the image is_monochrome flag is True
then short-circuit the test. Update the flag if the test is
performed.<BR>
<LI> magick/image.c (CloneImage): Copy image is_grayscale and
is_monochrome members.<BR>
<LI> magick/cache.c (SyncCacheNexus): If image pixels are updated
then set image is_grayscale and is_monochrome members to False.
Algorithms which want to preserve the values of these members
should save their original values before processing the image
and restore them when processing is complete, or transfer them
from the input image to the output image.
<LI> magick/constitute.c (ReadImage): If the returned image is
PseudoClass then invoke IsGrayImage() and IsMonochromeImage()
and cache the result in image is_grayscale and is_monochrome
members for later use.<BR>
<LI> magick/image.h (Image): Added is_grayscale and is_monochrome
members to remember if image is grayscale or monochrome.
</UL>
<p>
2003-02-14 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> www/archives.html: commented out sites not mirroring GM yet.
Changed "ftp.simplesystems.org" to "ftp.graphicsmagick.org".
Added link to graphicsmagick.sf.net.
</UL>
<p>
2003-02-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/utility.c (FormatString): Check for the availability of
vsprintf.<BR>
<LI> magick/log.c (LogMagickEvent): Check for the availability of
vsprintf.<BR>
<LI> configure.ac: Test for vsprintf.
</UL>
<p>
2003-02-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/annotate.c (RenderFreetype): Used smarter code to prepare
the beta argument for AlphaComposite.
</UL>
<p>
2003-02-12 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> coders/logo.c: updated logo.c to produce the GraphicsMagick logo.
</UL>
<p>
2003-02-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> INSTALL-unix.txt: Document that default quantum depth is now 8.
<LI> VisualMagick/magick/magick_config.h.in: Default quantum depth is now 8.
<LI> configure.ac: Default quantum depth is now 8.
<LI> tests/Makefile.am: Test format types that require a size
seperately since always specifying the size caused some formats
(e.g. PCD) to improperly fail.
</UL>
<p>
2003-02-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> www/NEWS.html: New HTML file for project news.
<LI> scripts/txt2html: New script for formatting text into HTML.
<LI> Makefile.am: Automated the generation of www/Changelog.html and
www/NEWS.html.<BR>
<LI> coders/xpm.c (WritePICONImage): Close blob using correct image.
<LI> tests/Makefile.am (CHECK_SIZED_FILES): Added files to tests
subdirectory so that tests don't need to use files from
PerlMagick.<BR>
<LI> magick/image.c (TransformColorspace): New function to
simplify/centralize colorspace transform requests. Replaced calls
to RGBTransformImage and TransformRGBImage throughout the code
with calls to TransformColorspace.
<LI> IMDisplay: Disable save function since it is not implemented yet.
</UL>
<p>
2003-02-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick/Magick.xs (SetAttribute): Support changing back to
RGB or Transparent colorspace.
</UL>
<p>
2003-02-10 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> Brought MNG handling of final delay into compliance with MNG spec.
</UL>
<p>
2003-02-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/bmp.c (WriteBMPImage): Added support for
bits_per_pixel==4.<BR>
(WriteBMPImage): Convert PseudoClass images with more than 256
colors to DirectClass.<BR>
(WriteBMPImage): Do not require 2-color images to pass the
IsMonochromeImage() test before writing them as one-bit-per-pixel
BMPs. Decided to allow this after four readers (including Windows
XP) displayed the image using the proper colormap.
(WriteBMPImage): BMP2 encoder was writing colormap using wrong format.
<LI> images: Updated logo images to GraphicsMagick
<LI> Added PDF Sages to web page as a sponsor.
</UL>
<p>
2003-02-08 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> www/GraphicsMagick.html: add "gm " prefix to examples.
</UL>
<p>
2003-02-07 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> index.html: Update to distinguish between ImageMagick and
GraphicsMagick, and to explain "gm" prefix of commandline utilities.
</UL>
<p>
2003-02-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/nt_feature.c (CropImageToHBITMAP): Remove useless
autocrop support which was transferred from CropImage when
creating CropImageToHBITMAP.
</UL>
<p>
2003-02-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/miff.c (ReadMIFFImage): RLE packet size was not
calculated correctly, causing RLE-compressed MIFF images with
depth>8 to not be read.
</UL>
<p>
2003-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/paint.c (ColorFloodfillImage): Transfered fix from
ImageMagick for the problem that floodfill using a tiled image
failed if the target color happened to match the current fill
color.
</UL>
<p>
2003-02-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/command.c: Fixed preview error message.
<LI> coders/preview.c: Previous update had broken noiseimage demo.
Also some cleanups.<BR>
<LI> magick/display.c (XMagickCommand): No longer uses
MogrifyImage.<BR>
<LI> coders/preview.c (WritePreviewImage): Re-wrote so that
MogrifyImage is no longer used. Resize image outside of the loop
to improve performance.
</UL>
<p>
2003-02-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/effect.c (ShadeImage): Use PixelIntensityToDouble macro.
<LI> magick/image.h (PixelIntensityToDouble): Added
PixelIntensityToDouble macro to handle the case where pixel
intensity is used for floating arithmetic.
</UL>
<p>
2003-01-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Makefile.am: Distribute files ChangeLog, INSTALL-mac.txt,
INSTALL-unix.txt, INSTALL-vms.txt INSTALL-windows.txt, and NEWS.
</UL>
<p>
2003-01-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/svg.c (SVGStartElement): Applied fix from ImageMagick to
compute SVG +> MVG viewbox correctly.
<LI> magick/image.c (CloneImage): Applied fix from ImageMagick which
is purported to solve the problem that "negative (x,y) page offsets
did not clone properly".<BR>
<LI> magick/gem.c (TransformHWB): Replace implementation with
ImageMagick's new version which is supposed to fix a rounding
error problem. Hard to say since implementation is totally
different.<BR>
<LI> coders/msl.c (MSLStartElement): Applied fix for missing break
from ImageMagick.<BR>
<LI> magick/integral_types.h: New header to include the integral
types typedefs. Needed new header in order to include in both
studio.h and api.h at the right point.
<LI> magick/studio.h: Move nt_feature.h inclusion to the few modules
which actually use functions from it.
<LI> magick/api.h: Added typedefs gm_int16_t, gm_uint16_t,
gm_int32_t, gm_uint32_t, gm_int64_t, gm_uint64_t to support
specifically sized types.<BR>
<LI> configure.ac: Test for size of 'short', 'unsigned short', 'int',
'unsigned int', 'long', 'unsigned long', 'long long', 'unsigned
long long' assigning the result to the defines SIZEOF_SHORT,
<STRONG>SIZEOF_UNSIGNED_SHORT, SIZEOF_INT, SIZEOF_UNSIGNED_INT,</STRONG>
SIZEOF_LONG, SIZEOF_UNSIGNED_LONG, SIZEOF_LONG_LONG, and
SIZEOF_UNSIGNED_LONG_LONG respectively.
</UL>
<p>
2003-01-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/fx.c (OilPaintImage): Compute histogram using 8-bit quantums
for more sensible performance with Q:16 and Q:32 builds.
<LI> magick/image.h (PixelIntensityToQuantum): Compute using integral
arithmetic for Q:8 and Q:16. Much faster than floating point!
(PixelIntensity): Compute using integral arithmetic for Q:8 and
Q:16. Much faster than floating point!
</UL>
<p>
2003-01-28 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> Fixed bug in png.c, introduced in IM-5.5.1. A pair of
{ } brackets were omitted when logging was added, which lets
old versions of libpng write a zero-length iCCP chunk.
</UL>
<p>
2003-01-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/effect.c (DespeckleImage): Put loops inside of case
statement rather than outside.<BR>
(SpreadImage): Improved algorithm so that -spread is 12X faster.
<LI> magick/nt_feature.c (CropImageToHBITMAP): New function to return
a region of the image as a HBITMAP.
</UL>
<p>
2003-01-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Fixed Copyright statement on all source files.
<LI> magick/effect.c (ThresholdImage): Optimized loop.
<LI> coders/tiff.c (ReadTIFFImage): Read bits more efficiently for
bits_per_sample=1.<BR>
<LI> magick/command.c (MogrifyImage): Set image->dither to
image_info->dither prior to invoking SetImageType.
<LI> magick/constitute.c (WriteImage): Set image->dither to
image_info->dither.<BR>
<LI> magick/image.c (SetImageType): For case BilevelType, normalize
image, and threshold 50% if dithering is disabled. This is at
least 10X faster than quantizing with dither.
(AllocateImage): Initialize image->dither.
(CloneImage): Copy image->dither.
<LI> magick/image.h: Added dither member to Image.
</UL>
<p>
2003-01-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> PerlMagick/t/tiff/read.t: Added a test for reading 16-bit TIFF
images.<BR>
<LI> coders/tiff.c (ReadTIFFImage): Support reading 16-bit TIFF images
with a Q:8 build.<BR>
<LI> magick/color.c (ConstrainColormapIndex): Use VerifyColormapIndex.
<LI> coders/pnm.c (ReadPNMImage): Use VerifyColormapIndex.
<LI> coders/gif.c (DecodeImage): Use VerifyColormapIndex.
<LI> magick/image.c (SyncImage): Use VerifyColormapIndex.
</UL>
<p>
2003-01-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/blob.c (ReadBlobByte): Use getc when reading from FILE stream.
<LI> configure.ac: Added tests for getc_unlocked and putc_unlocked.
<LI> magick/blob.c (ReadBlobByte): Optimized reading from BlobStream.
(ReadBlobLSBLong): Optimized reading from BlobStream.
(ReadBlobLSBShort): Optimized reading from BlobStream.
(ReadBlobMSBLong): Optimized reading from BlobStream.
(ReadBlobMSBShort): Optimized reading from BlobStream.
(ReadBlobStream): New static inline function to read from BlobStream.
(WriteBlob): "Manually" copy data rather than using memcpy() for
very small copy sizes.<BR>
(WriteBlobByte): Use putc() when writing to a FILE stream.
</UL>
<p>
2003-01-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/gem.c (Hull): Count down loops. Might help.
(InterpolateColor): Pre-compute common sub-expressions to improve
performance.<BR>
<LI> magick/segment.c (Classify): Implemented idea from Glenn
Randers-Pehrson to avoid use of pow() when WeightingExponent is
2.0 (which it is). This makes image segmentation much faster
(e.g. 8X).<BR>
<LI> magick/annotate.c (RenderFreetype): For images with
matte==False, simply set the opacity of the pixel to be updated to
OpaqueOpacity before alpha-compositing the pixel rather than using
SetImageType(TrueColorMatteType) to initialize the opacity of the
entire image. This is much faster and scales to large images.
<LI> magick/image.c (SetImageType): Eliminated unnecessary conditionals.
</UL>
<p>
2003-01-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/effect.c (InsertMedianList): Assign computed quantum
indexes to variables to avoid extra computations for
QuantumDepth>8.<BR>
<LI> magick/composite.c (AlphaComposite): Pre-compute common
expressions in order to improve performance.
<LI> magick/fx.c (ConvolveImage): Optimized loops.
<LI> magick/paint.c (TransparentImage): Optimize for case fuzz == 0.
<LI> magick/color.c (FuzzyColorMatch): Minor cleanup and optimization.
<LI> magick/locale.c: Added error messages for convolve option.
<LI> coders/locale.c: Picked up recent changes from ImageMagick version.
<LI> locale/C.mgk: Added error messages for convolve option.
<LI> magick/command.c (MogrifyImage): Added support for convolve option.
<LI> coders/xcf.c (ReadXCFImage): Recognize latest GIMP XCF header.
<LI> coders/dcm.c: Transferred the apparent salient fixes from
ImageMagick for a bug described as "Some DCM grayscale images did
not display correctly.".<BR>
<LI> coders/miff.c (ReadMIFFImage): Reading RLE-compressed MIFFs is
now about 4X faster.<BR>
<LI> magick/blob.c (OpenBlob): Use setvbuf() to increase stdio buffer
size to 16K. Solaris default is 1K. This should minimize system
call overhead for accessing large files.
(ReadBlob): "Manually" copy data rather than using memcpy() for
very small copy sizes.<BR>
(ReadBlobZC): New method, similar to ReadBlob, but provides the
opportunity for zero copy on read.
<LI> magick/constitute.c (PushImagePixels): CMYKA case for
image->depth=16 was comparing with 8 instead.
</UL>
<p>
2003-01-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/utility.c (GetMagickGeometry): Removed support for '~'
and disabled centering code until we learn where it should go (if
anywhere).<BR>
<LI> magick/command.c : Add HWB colorspace transform support.
<LI> PerlMagick/Magick.xs: Add HWB colorspace transform support.
<LI> magick/image.c (RGBTransformImage): Add HWB colorspace transform
support.<BR>
(TransformRGBImage): Add HWB colorspace transform support.
</UL>
<p>
2003-01-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/utility.c (GetMagickGeometry): Add support for new new
'~' geometry string flag. This also fixes a montage bug in which
thumbnails were mis-sized if the geometry specification incuded x
or y offsets.<BR>
<LI> magick/image.h (GeometryFlags): Added CenterValue enumeration to
correspond with new '~' geometry string flag. Taking
ImageMagick's lead on this.<BR>
<LI> magick/render.c: Transferred fixes from ImageMagick for an
artifact which occured at the 360 degree point when rendering
circles, ellipses, and arcs. Bug reported by io219@attbi.com.
<LI> PerlMagick/Magick.xs: Add HSL colorspace transform support.
<LI> magick/command.c: Add HSL colorspace transform support.
<LI> magick/image.c (RGBTransformImage): Add HSL colorspace transform
support.<BR>
(TransformRGBImage): Add HSL colorspace transform support.
</UL>
<p>
2003-01-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Updated copyright statement on source files to reflect
the GraphicsMagick Group rather than ImageMagick Studio.
<LI> magick/constitute.c (ConstituteImage): Simplified the switch
statement for inner loops by creating a simplified map in advance.
(DispatchImage): Simplified the switch statement for inner loops
by creating a simplified map in advance.
<LI> magick/compress.c (HuffmanEncodeImage): Test and cache the
return value of LocaleCompare(image_info->magick,"FAX") so that
LocaleCompare is not executed repeatedly in the output loop.
<LI> magick/color.c (IsGrayImage): Optimized loops.
(IsMonochromeImage): Optimized loops.
(IsOpaqueImage): Optimized loop.
<LI> magick/delegate.c (InvokePostscriptDelegate): When using the
Ghostscript library, identify the library as "[ghostscript library]"
rather then "gsdll32" so that -verbose prints something useful for
both Windows and Unix.
</UL>
<p>
2003-01-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> NEWS: New file.
<LI> magick/montage.c (MontageImages): Use ThumbnailImage() rather
than ZoomImage() to resize montage thumbnails provided that the
user has not specified an image filter, and the montage thumbnail
is smaller than the image. This should provide faster montages
for large images.<BR>
<LI> magick/resize.c (ResizeImage): Added logging support.
(MagnifyImage): Added logging support.
(MinifyImage): Added logging support.
(SampleImage): Added logging support.
(ScaleImage): Added logging support.
</UL>
<p>
2003-01-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/transform.c (ProfileImage): Duplicate ImageMagick changes
to image colorspace handling. Avoids using
SetImageType(image,ColorSeparationMatteType).
<LI> magick/fx.c (OilPaintImage): Replaced with ImageMagick version
since ImageMagick version has been updated to not penalize Q:8.
Optimized loops.<BR>
<LI> magick/display.c (XDisplayImage): Display to 100% of
the screen size rather than 90% of the screen size.
<LI> magick/enhance.c (ModulateImage): Ensure that arguments
are always positive values. Optimized loops.
(ContrastImage): Optimized loops.
<LI> magick/gem.c (HSLTransform): Optimized performance by
eliminating redundant intermediate calculations. This
makes 'gm convert -contrast' 21% faster.
(HSLTransform): Set to inline within the gem.c module.
(TransformHSL): Set to inline within the gem.c module.
(Contrast): Moved to bottom of gem.c module so HSLTransform
and TransformHSL can be inlined. Simplified conditionals.
(Modulate): Moved to bottom of gem.c module so HSLTransform
and TransformHSL can be inlined. No longer check/correct
negative values.
</UL>
<p>
2003-01-14 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick/blob.c
<LI> magick/blob.h
Added new stream type flag and support to match with the one
added to ImageMagick.
</UL>
<p>
2003-01-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c (RGBTransformImage): Fixed bug (thanks to
Bill for finding it) and finished optimizing XYZ table
creation.<BR>
(AverageImages): Optimized loops.
(ChannelImage): Optimized loops. 3X speed-up for SPARC.
<LI> magick/enhance.c: Optimized NegateImage().
</UL>
<p>
2003-01-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> Set some common API structures to 0xbf prior to deallocation
to make accidental continued use more obvious.
</UL>
<p>
2003-01-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/constitute.c: Minor optimizations to PopImagePixels()
<LI> coders/dpx.c: Reading the DPX header was off by 4 bytes.
<LI> coders/(art.c,avs.c,bmp.c,cmyk.c,dcm.c,dib.c,dpx.c,fax.c,
fits.c,gray.c,icon.c,map.c,miff.c,mono.c,mpc.c,mtv.c,otb.c,
pcx.c,pdb.c,pict.c,pix.c,pnm.c,pwp.c,rgb.c,rla.c,rle.c,sct.c,
sgi.c,sun.c,tga.c,tim.c,uyvy.c,vicar.c,viff.c,wbmp.c,xwd.c,
yuv.c): Ensure that blob is closed on unexpected EOF.
<LI> magick/image.c: Optimized SetImageOpacity().
Optimized SetImage() for intializing non-opaque images. The
opacity channel was being intialized twice.
</UL>
<p>
2003-01-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/constitute.c: Log entry and exit from coders so that
coders don't need to.<BR>
<LI> Finished re-writing PushImagePixels() using coding practices
which may result in faster code.
<LI> PerlMagick is changed from Image::Magick to Graphics::Magick
in order to avoid conflicts with the ImageMagick version. This
means that any Perl scripts based on the ImageMagick version need
to do a global replace of Image::Magick to Graphics::Magick.
<LI> PerlMagick/reference/filter/Raise.miff: Replaced with new version.
</UL>
<p>
2003-01-08 William Radcliffe <billr@corbis.com>
<UL>
<LI> magick/nt_feature.c
Make ImageToHBITMAP function in nt_feature.c compile under Visual
C++ again.
</UL>
<p>
2003-01-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> coders/delegates.mgk.in: Fix cgm entry. How did it become so
terribly broken?<BR>
<LI> coders/dps.c: Adding logging support.
<LI> PerlMagick/t/read.t: Changed file read tests to use image
compares with a reference image rather than comparing with a
signature.<BR>
<LI> PerlMagick/t/wmf/read.t: Ditto.
magick/shear.c: Fixed documentation for RotateImage.
</UL>
<p>
2003-01-08 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
<UL>
<LI> magick/magick.c, magick/magick.h: Add "note" member of magick_info.
<LI> coders/art.c, coders/fax.c, coders/dcm.c, coders/png.c: add notes
to format registrations.<BR>
<LI> fx.c: changed default "colorize" behaviour to preserve image opacity.
</UL>
<p>
2003-01-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/svg.c: Allow the user to specify the initial background
color via the -background option. This is only useful if the SVG
doesn't draw its own background rectangle.
</UL>
<p>
2003-01-06 Albert Chin-A-Young <china@thewrittenword.com>
<UL>
<LI> ltdl/Makefile.am, ltdl/ltdl.c: Fix compilation problem
under Tru64 UNIX 5.1. The GraphicsMagick random.h was being
included when the system random.h was needed.
<LI> configure.ac: Improve robustness of POSIX thread API tests
by including pthread.h when building the test program.
</UL>
<p>
2003-01-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
<UL>
<LI> magick/image.c: In IsImagesEqual() only use type 'long double'
for error summation if QuantumDepth > 16 and 'long double' has
more range than 'double'.<BR>
<LI> magick/quantize.c: In QuantizeImage() only use type 'long
double' for error summation if QuantumDepth > 16 and 'long
double' has more range than 'double'.
<LI> Replaced redundant code with macros.
<LI> Optimize mapping to monochrome.
<LI> utilities/conjure.c: Had missed removing this file earlier.
</UL>
<p>
2003-01-04 Derry Bryson <dbryson@techass.com>
<UL>
<LI> magick/decorate.c: Use the ShadowFactor rather than ShadowModule
define in RaiseImage() (bug-fix).
</UL>
<p>
<HR>
Copyright (C) 2003 GraphicsMagick Group
<p>
This program is covered by multiple licenses, which are described in
Copyright.txt. You should have received a copy of Copyright.txt with this
package; otherwise see http://www.graphicsmagick.org/Copyright.html.
<hr>
</BODY>
</HTML>
|