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
|
Welcome to Gutenprint 5.0.0! Please read these release notes
carefully.
Gutenprint, formerly named Gimp-Print, is a suite of printer drivers
that may be used with most common UNIX print spooling systems,
including CUPS, lpr, LPRng, or others. These drivers provide high
quality printing for UNIX (including Macintosh OS X 10.2, 10.3, and
10.4) and Linux systems that in many cases equal or exceed proprietary
vendor-supplied drivers in quality and functionality, and can be used
for demanding printing tasks requiring flexibility and high quality.
This software package includes an enhanced Print plug-in for the GIMP
that replaces the plug-in packaged with the GIMP, and Ghostscript and
CUPS drivers, as well as Foomatic data supporting the Ghostscript
driver.
Gutenprint has been renamed in order to clearly distinguish it from
the GIMP. While this package started out as the original Print plugin
for the GIMP, it has expanded into a collection of general purpose
printer drivers, and the new, enhanced Print plugin for the GIMP is
now only a small part of the package. Furthermore, the name
Gutenprint recognizes Johannes Gutenberg, the inventor of the movable
type printing press. Finally, the word "guten" means "good" in
German.
Gutenprint 5.0.0 is the first stable release of Gutenprint 5.0, and
incorporates extensive feedback from the first release candidate. It
is based on the Gimp-Print 4.3 series that has been in development for
over three years, and includes many improvements over the very popular
4.2 series.
Gutenprint currently supports over 700 printer models.
These release notes contain the following sections:
I) General Requirements
II) Changes from Previous Releases
A) Changes from 5.0.0-rc3 to 5.0.0
B) Changes from 5.0.0-rc2 to 5.0.0-rc3
C) Changes from 5.0.0-rc1 to 5.0.0-rc2
III) Overall changes from 4.2 to 5.0.
A) General user-visible changes
B) New Functionality
C) Changes to the Print plugin for the GIMP
D) Changes to the CUPS interface
E) Changes to the Ghostscript driver
F) Changes to the Foomatic data generator
G) Quality improvements
H) Architectural Changes
IV) Exceptions and Workarounds
A) General Issues
B) Build/Installation Issues
================================================================
I) GENERAL REQUIREMENTS
Gutenprint will run on any reasonably modern computer running Linux,
Macintosh OS X (10.2 or above), Solaris, or any other UNIX-like
operating system. If you plan to compile this package from source,
you will also need an ANSI C compiler, such as gcc (recommended). A
compiler is not required if you are installing a pre-compiled package.
Processor and memory requirements vary depending upon the printer and
runtime options selected; it is suggested that you have at least 64 MB
of memory for general purpose printing, 256 MB or more for high
quality printing on a good printer, and 1 GB or more for large format
printing at high resolution. You should have at least 50 MB of free
disk space to compile and install Gutenprint. Disk space requirements
for printing will vary depending upon how you use Gutenprint, but are
generally modest except as noted below. We recommend a processor
speed of at least 300 MHz. Fast printers may require a faster
processor to achieve maximum printing speed.
For general use, you should have the Common UNIX Printing System, CUPS
(version 1.1.15 or above) or Foomatic (2.0 or above) installed.
Please the rest of the release notes, in particular the Exceptions and
Workarounds, for full details on installation, as there is important
information to be aware of. CUPS is the printing system used on
Macintosh OS X 10.2 and above, and many other systems use it. The
combination of CUPS and Gutenprint provides a flexible, general
purpose printing system capable of producing the highest quality
output with any of the printers supported by this package. We
strongly recommend using CUPS with Gutenprint as a general-purpose
printing solution.
The enhanced Print plug-in for the GIMP requires either the GIMP 2.0
or above, or 1.2.3 or above on the 1.2 line (1.2.5 is recommended).
This plug-in will work with any printing system, and offers a
comprehensive user interface to control all aspects of the printing
process. If you are printing photographs in large format from the
GIMP at very high resolution, disk space requirements may be
substantial, and we recommend at least 2 GB of free disk space for
that purpose.
The Ghostscript driver requires GNU Ghostscript 6.53 or higher, ESP
Ghostscript 7.05 or higher, or AFPL Ghostscript 7.04 or higher. It
uses the IJS package included with these versions of Ghostscript to
create a driver that may be built much more easily than traditional
Ghostscript drivers. This driver should be used in conjunction with
Foomatic to configure printers.
Users of Macintosh OS X 10.2 (Jaguar), 10.3 (Panther), and 10.4
(Tiger) can use this package, as the printing system is based on CUPS.
For ease of installation, a pre-built package with installer is
normally supplied a few days after the release of the source package.
We strongly recommend that OS X users use the pre-built package rather
than attempt to build it themselves.
NOTE: This package will not work with any version of OS X 10.0 and
10.1 (such as 10.1.5). The printing system used with these versions
of OS X is not compatible with Gutenprint. OS X 10.2 and above use
CUPS as the basis of the printing system, which is compatible with
Gutenprint.
The README file included with this package provides full instructions
for building and installing Gutenprint.
================================================================
II) MAJOR CHANGES FROM PREVIOUS RELEASES
A) MAJOR CHANGES BETWEEN GUTENPRINT 5.0.0 RELEASE CANDIDATE 3 AND
GUTENPRINT 5.0.0:
1) A serious problem with margins when printing from CUPS in some
cases was introduced in Gutenprint 5.0.0-rc3. The symptoms are
that when printing certain kinds of material on certain printers,
the print is positioned incorrectly on the page (too far to the
right and too far down the page). This problem has been fixed.
2) The Ghostscript driver used with Foomatic now prints all pages of
a document correctly. Previously it did not print any page
except the first page of a document, or printed all other pages
with possibly incorrect settings (bug 1501816).
3) A new user's manual has been added in
doc/gutenprint-users-manual.odt (ODF format) and
doc/gutenprint-users-manual.pdf, replacing the old manual that
was based on Gimp-Print 4.2 (bug 1260142).
4) The Postscript driver now handles PPD files with non-integer
imageable areas correctly in all locales (the PPD files certain
HP inkjet printers using the HPIJS driver have non-integer
imageable areas for some paper sizes). In 5.0.0-rc3, this was
handled incorrectly in locales that do not use the decimal point
(".") for separating fractions from integers.
5) The PPD file parameter is now always accessible when using the
Postscript driver in third party Gutenprint-enabled applications.
This was not an issue with the enhanced Print plugin for the
GIMP.
6) The Epson driver now chooses unidirectional vs. bidirectional
mode more intelligently on new printers that are capable of
producing excellent quality in bidirectional mode at high
resolutions. This improves printing speed with the default
settings in certain cases and in some cases improves print
quality.
7) The Epson driver offers the same quality choices as 5.0.0-rc2 for
certain new printers such as the R800, R1800, and R2400. Certain
quality choices (in particular Super Photo and Ultra Photo) were
not available in 5.0.0-rc3.
8) Various minor problems in the PPD files have been fixed. The
most notable change is that the names of the option groups have
been shortened so that they are shorter than 40 characters in all
cases except for one case in French.
9) The French, Danish, Hungarian, and Swedish translations have been
updated.
10) In the GIMP 2.4 and above (forthcoming as of Gutenprint 5.0
release), the enhanced Print plugin will be named "Print with
Gutenprint" so as not to collide with the GtkPrint-based plugin
bundled with that version of the GIMP. The Print plugin bundled
with GIMP 2.0 and 2.2 is based on Gimp-Print 4.2; the Print
plugin in this package simply replaces the Print plugin in those
versions of the GIMP (related to bug 1444700).
11) Crashes in the Ghostscript and IJS drivers on certain non-Linux
platforms have been fixed (bug 1518126).
12) A problem with margins with A4 paper on Kyocera printers has
been fixed (bug 1518131).
13) A problem with the preview in the GIMP 1.2 plugin (which also
affects Cinepaint) not being updated properly if orientation
changes has been fixed.
14) A problem with Foomatic data generation in certain locales has
been fixed (bug 1033007).
15) The Epson Stylus Photo R800 and R1800 now print closer to the
bottom edge of the page.
The following bugs open in prereleases have been fixed in Gutenprint
5.0.0:
1033007 Foomatic XML data generation is locale-dependent
1260142 User documentation needs updating for 5.0.0
1444700 print menu item on wrong position
1501816 ijsgutenprint/foomatic only prints first page
1518126 rastertogutenprint core dumps on Solaris 10
1518131 Kyocera KM-2530 CUPS+Gutenprint PPD - A4 paper
----------------
B) MAJOR CHANGES BETWEEN GUTENPRINT 5.0.0 RELEASE CANDIDATE 2 AND
GUTENPRINT 5.0.0 RELEASE CANDIDATE 3:
1) The package now offers explicit support for many more printers.
All printers supported by Gutenprint are now listed explicitly
rather than via the compatibility list. As a result, CUPS PPD
files and Foomatic are now generated for each supported printer.
2) CUPS and Foomatic/IJS now produce correctly dimensioned and
positioned output. Previous pre-releases of Gutenprint 5.0
produced incorrectly dimensioned and/or positioned (offset from
the correct position) output in certain cases. This happened in
the following circumstances:
a) When a printer capable of optional full-bleed or borderless
operation was used in full-bleed/borderless mode, the output
was stretched to fit the expanded dimensions. The result was
that lines of specified lengths were printed slightly longer
than desired, and since the vertical and horizontal stretching
was normally not identical, the output was distorted slightly.
b) When printing directly to a CD, the output was shrunk
horizontally and/or positioned incorrectly by a small amount
(typically a few mm).
c) Depending upon the application doing the printing and the
printer selected, the output was shifted down and to the right
by several mm.
The PPD files and driver have been modified to specify zero
borders in all cases when a printer with borderless capability is
used. If normal (non-borderless) mode is selected, the border is
simply not printed, leaving correct dimensions for everything
within the imageable area. However, as a result of this, the
driver no longer prints true full bleed (overprinting the edge of
the page). The margins are set to zero, and typically there will
be very narrow unprinted margins (less than 1 mm) on one or more
sides.
Printing to CD's works correctly whether or not full bleed mode
is selected.
This change has no effect in the enhanced GIMP plugin and in
other applications which directly use Gutenprint, as there was
never any problem in those contexts.
3) The IJS driver now correctly ejects the last page of a job.
Previously it did not always eject the last page with certain
Epson printers.
4) The Epson Stylus Photo R800, R1800, R2400, and related printers
should now print at full speed in all cases. Previously these
printers were extremely slow (about 10 times slower than normal)
in many cases.
Related to this, the list of resolutions offered for these
printers are slightly different from before. Resolutions above
2880x1440 DPI are no longer offered; instead, resolutions of
2880x1440 high quality and 2880x1440 highest quality are offered.
These resolutions use extra passes of the print head to reduce
banding. In addition, these resolutions are actually 1440 DPI
horizontally and 2880 DPI vertically.
5) The HP DeskJet 690 and other supported PCL printers capable of
6-color photo printing (such as the Apollo P-2100 and Apple Color
StyleWriter 4500) no longer result in the driver crashing if
black and white output mode was selected. Also, Canon printers
capable of 6 or 7 color photo printing no longer result in a
crash if black and white output mode is selected.
6) Canon and Lexmark inkjet printers now print if color output mode
is selected with a black and white cartridge installed.
Previously this was not possible in the GIMP plugin; the CUPS and
Foomatic drivers permitted this to be set, but gave a runtime
error when a job with these settings was printed. These printers
now accept the job and simply print it in black and white.
7) The cleaning and nozzle check functions of escputil now work
properly on most printers, and escputil no longer crashes if you
type ctrl-D to a command prompt. In addition, the status printed
via the status command is now much more readable.
8) The color quality for the Epson R300, R800, R2400, and related
printers has been improved.
9) Raw output now works correctly on the Epson R800 and R1800.
10) The Canon driver now handles color and grayscale, and also photo
ink cartridges (previously it sometimes handled these incorrectly
or even crashed). However, many of these printers still do not
print correctly with a photo cartridge installed (the width of
the printout is incorrect).
11) The GIMP plugin now displays the thumbnail image correctly in CMY
mode (previously it displayed incorrect colors).
12) Experimental support for the Japan-market Epson printers PM-A900,
PM-D800, PM-G730, and PX-V630, and preliminary support for the
PM-A650, PM-A750, and PM-A890.
13) The definition of the Epson Stylus CX3500, CX3600, CX3650,
CX4100, CX4200, CX4500, CX4600, CX4700, CX4800, CX5700, CX5800,
CX7700, CX7800, DX4200, DX4250, DX4800, and PX-A650 have been
corrected. The DX4800 now works correctly; the color output for
all of these printers has been corrected. All of these printers
also now print at full speed; they previously printed extremely
slowly in many cases.
The list of resolutions is also slightly different from before;
the 2880x1440 DPI resolution is no longer offered; instead,
resolutions of 1440x1440 high quality and 1440x1440 highest
quality are offered. These resolutions use extra passes of the
print head to reduce banding.
14) A new option for generating simplified PPD files for CUPS has
been added. The --enable-simplified-cups-ppds=yes option to
configure allows generating PPD files with only basic options
(including only common paper sizes) in addition to the normal,
full-featured PPD files; --enable-simplified-cups-ppds=only
generates only the simplified PPD files. The -a and -s options
to cups-genppd.5.0 may be used manually to do the same thing.
This is discussed in the README file.
15) cups-genppdupdate.5.0 has significant enhancements:
* A new option, -N, causes cups-genppdupdate.5.0 to not merge
options from the old PPD file into the new file. This can be
used to reset a CUPS+Gutenprint PPD file to its original state.
* A new option, -o, causes cups-genppdupdate.5.0 to output the
PPD files into a different directory.
* It is now possible to specify individual PPD files or printer
queue names on the command line to only update/reset specific
PPD files.
* The program no longer tries and fails to update Foomatic-based
PPD files.
16) The Foomatic data generator now generates simplified data (using
a driver name of "gutenprint-ijs-simplified.5.0") in addition to
the standard, full-featured data (gutenprint-ijs.5.0).
17) The input slots (media sources) have been corrected for the
Epson Stylus Photo R1800, R2400, and RX700.
18) New options to escputil allow specifying the number of line pairs
and number of patterns for head alignment explicitly, if needed.
In addition, the number of line pairs for the Epson Stylus Photo
700 has been changed from 7 to 15.
19) A few build problems have been fixed.
20) A Hungarian translation has been added.
21) The configure script now prints out a summary of configuration
options selected at the end of the script run. For developers,
"autogen.sh --help" now prints out the configure help if the
configure script exists.
22) The Lexmark driver should now print correctly (this is only
partially tested).
23) Chilean Office, Chilean Double Letter, and Chilean Double Office
paper sizes have been added.
24) An error in the Czech, Danish, and Portuguese translations that
caused the GIMP plugin to emit a warning at startup has been
fixed.
25) The package is now built with libtool 1.5.22.
The following bugs have been fixed in Gutenprint 5.0.0-rc3:
1318890 Borderless print scaled wrongly
1379402 BJC-4400: SEGFAULT (photo-ink/color mode)
1393755 [Feature Request] Chilean paper sizes.
1417600 escputil clean and nozzle check don't work on new printers
1417603 escputil seg faults if you type ctrl-D to prompt
1421674 Gutenprint 5.0.0rc2 crashes in Mac OS X 10.2.8
1422101 Raw output does not work on R800 and related printers
1425951 Bug#351731: Fails in alignment with stylos photo 700
1447115 Epson driver broken in RC2 (DX4850)
1458059 Lexmark Z52 not working
1458911 Very poor performance with Epson R2400, R800, and R1800
1466678 Epson Stylus Photo R300 fails to eject last page
1467956 Print to CD prints incorrectly with CUPS driver
1478819 bad translation format
1487715 HP DeskJet 690 and related crash in grayscale w/photo ink
1487717 Canon/Lexmark printers fail in color mode w/BW inks
1487720 Canon printers crash in grayscale with photo ink
----------------
C) MAJOR CHANGES BETWEEN GUTENPRINT 5.0.0 RELEASE CANDIDATE 1 AND
GUTENPRINT 5.0.0 RELEASE CANDIDATE 2:
1) The Postscript driver now produces more accurate colors.
Previous releases produced overly pale colors with the default
settings.
2) The Postscript driver now accepts red, green, and blue rather
than cyan, magenta, and yellow options in the GIMP plugin.
3) The Postscript driver now prints correctly regardless of image
size. Previously it corrupted the output if the width of the
image was not a multiple of 4 pixels.
4) The driver package now permits specifying all options regardless
of the setting of the Image Type and Quality options (previously
it disabled a lot of settings if Quality and/or Image Type were
not set to Manual Control). The behavior is now that Quality and
Image Type provide defaults that may be overridden by the user.
For example, if the resolution is provided explicitly, it will
override the resolution implied by the Quality setting.
Related to this, the CUPS driver now handles Quality properly.
5) A description of all options supported by Gutenprint has been
added.
6) cups-genppdupdate now preserves the ownership and permissions of
the PPD files being updated, rather than forcibly setting the
owner to root and the permissions to root read/write and everyone
else read-only access.
7) The GIMP plugin now loads the printrc file correctly in all
locales. Previously it did not load floating point numbers
correctly in locales that don't use the `.' character as the
decimal point.
8) The GIMP plugin now offers improved choices in the color
adjustment window for viewing individual channels of the output.
It now offers red/green/blue, cyan/magenta/yellow, or
cyan/magenta/yellow/black as appropriate.
9) The GIMP plugin is now considerably more responsive; many
unnecessary screen redraws have been removed. In addition, a
display glitch wherein horizontal lines were sometimes drawn
through certain widgets has been fixed.
10) The Epson printer utility escputil now reports ink information
more consistently across a wider range of printers. In
particular, the extended ink information command (escputil -e)
should now work correctly on all models from the Stylus Color 740
through the present.
11) Preliminary support for the Epson Stylus C68, C87, C88, CX3700,
CX3800, CX3805, CX3810, CX4100, CX4200, CX4500, CX4700, CX4800,
CX5700, CX5800, CX7700, CX7800, D68, D88, DX3800, DX3850, DX4200,
DX4250, DX4800, PX-A650, and Stylus Photo R220, R320, and R340.
These printers are expected to be fully functional (for the
multi-function devices, this package supports only the printer
function -- it does not support scanning or fax).
12) Preliminary support for the Epson Stylus Photo R2400/PX-5500.
This printer has been partially tuned, but there will likely be
further changes to this driver.
13) Support for the Epson PictureMate/E-100.
14) Preliminary support for the Epson Stylus Photo RX700/PM-A900.
This printer has been partially tuned, but there will likely be
further changes to this driver.
15) Initial support for Canon S200, SELPHY CP-510 and SELPHY CP-710;
Sony UP-DR150, and Olympus P-11 has been added.
16) The Canon PIXMA iP4000 printers can now print to cds. Duplex
printing with binding on the short side is now supported, too.
17) The Epson Stylus Photo R200 and related printers have been
retuned to give improved detail in the shadows, reduced ink
usage, more accurate grayscale, and more accurate colors.
Affected printers are presently the R200, R210, R220, R300, R310,
R320, R340, RX400, RX420, RX425, RX430, RX500, RX510, RX600,
RX620, RX630, PM-D750, PM-D770, PM-G700, and PM-G720.
Any profiles generated against these printers will have to be
re-created.
18) The Epson Stylus Photo R800 and R1800 have been retuned to give
improved detail in the shadows, reduced ink usage, more accurate
grayscale, and more accurate colors.
Any profiles generated against these printers will have to be
re-created.
19) New "transposed" resolutions (1440x720 and 2880x1440) have been
added for some Epson printers. These resolutions are actually
equivalent to 720x1440 and 1440x2880 DPI respectively. In some
cases these may yield better results (specifically, less
microbanding) than the normal 1440x720 and 2880x1440 DPI
resolutions.
20) Quadtone printing now works correctly regardless of whether
color or grayscale mode is selected.
The following bugs have been fixed in Gutenprint 5.0.0-rc2:
1389788 Poor discoverability of advanced options
1389787 CUPS driver does not set Quality correctly
1389785 cups-genppdupdate sets PPD file owners incorrectly
1388615 escputil with Epson CX3700
1304710 Postscript driver corrupts output if width not multiple of 4
1251978 PPD for Stylus Color 600
================================================================
III) OVERALL CHANGES BETWEEN GIMP-PRINT 4.2 AND GUTENPRINT 5.0:
A) GENERAL USER-VISIBLE CHANGES:
1) Gutenprint offers many new options, which are described
separately below. Many other options that are present in both
4.2 and 5.0 function differently between the two releases.
2) Options in the CUPS driver and GIMP plugin are now grouped
according to function. This work is still in progress, and
we expect to make further usability improvements.
3) Simplified bundles of settings are now offered for users who do
not need to customize the settings. The Print Quality and Image
Type controls offer a variety of settings optimized for common
printing tasks; these settings may be overridden by explicit user
choice.
4) Many of the color settings have changed effect. We recommend
starting with no color adjustments and making appropriate changes
only as required. Specific changes that you should be aware of
include:
* The default operation of the contrast setting has changed to be
more in accord with other packages. In 4.2, reducing the
contrast resulted in changing the black and white setting. In
5.0, reducing the contrast does not change the black and white
settings. As a result, it is possible to use the contrast
setting to improve highlight and shadow detail by reducing the
contrast.
The previous behavior is available by turning on the "Linear
Contrast Adjustment" setting.
* The brightness control now behaves more in accord with standard
practice, adjusting the image's overall brightness without
changing the black or white points.
* The Cyan, Magenta, and Yellow settings have been replaced with
separate settings for gamma, density, and gray balance for
Cyan, Magenta, Yellow, and Black. The Cyan, Magenta, and
Yellow settings in Gimp-Print 4.2 most closely correspond to
the gamma settings in 5.0.
The per-channel density settings do not affect the color
correction. They are applied after the color correction to
scale the individual channels. The per-channel gray balance
settings adjust gray balance without affecting per-channel
density settings (i. e. the adjust the amount of ink used to
generate gray), permitting increased color saturation without
compromising gray balance.
5) The Uncorrected color correction mode is recommended for users
who wish to use their own color (ICC or otherwise) profiles with
Gutenprint drivers. This will yield the maximum gamut and most
uniform response. If you are not using your own color
management, you will generally get best results from the High
Accuracy color correction setting. Users who wish to perform
their own linearization and ink limiting may wish to use the Raw
color correction mode, which does not adjust the density.
Any profiles generated against Gimp-Print 4.2 are unlikely to
produce good results with Gutenprint 5.0. The color generation
is sufficiently different that you will need to create new
profiles against Gutenprint 5.0. In general, color adjustment
should not change between Gutenprint 5.0 releases starting with
release 5.0.0. Color adjustments may change during beta
(5.0.0-beta) and release candidate (5.0.0-rc) phases.
6) The old man pages, and src/ghost/README, have been withdrawn.
These pages, and the Ghostscript README file, were based on the
Gimp-Print 4.2 options, which were much less extensive than the
current option system. It is not practical to keep them up to
date in any meaningful way. Our recommendation is that people
use either the native CUPS driver or Foomatic to manage options
rather than attempt to create and manage printer queues by hand.
7) The source browser in the documentation package has been removed.
This information, which consists of color-coded annotation of the
source code, is of little interest to the vast majority of users
and consumes a significant amount of space in the installation.
----------------
B) NEW FUNCTIONALITY:
1) This release offers a new "curve" data type, permitting very
precise adjustments of output. Currently the curves are only
accessible in the GIMP plugin.
2) This release offers many new output controls:
+ Balance (density) controls for each color channel, in addition
to the gamma controls present in 4.2.
+ Gray balance controls for the cyan, magenta, and yellow
channels. These controls allow fine tuning of gray tones
without affecting color.
+ Black (GCR) transition, including the transition gamma and the
upper and lower limits.
+ Transitions for photo (light cyan, light magenta, and gray)
inks.
+ Transfer curves for each channel (cyan, magenta, yellow, black,
and composite), allowing very precise control over the output.
+ Transfer curves for generation of additional channels where
applicable, such as red and blue inks for the Epson Stylus
Photo R800 and R1800.
+ Hue, saturation, and luminosity transfer curves permit tuning
of the color corrections utilized by Gutenprint.
+ Ink limit control.
+ The density control now permits setting density as high as 8.0,
vs. 2.0 in 4.2.
3) The Epson driver offers (almost) true full bleed for printers
that support it (but see the limitations below).
4) The PCL driver now offers duplex (two sided) printing support on
appropriate printers.
5) The package now includes support for a number of dye sublimation
photo printers made by Olympus, Canon, Sony, and Fujifilm.
6) The resolution list for Epson printers has been simplified; many
redundant resolutions have been removed.
7) Print head direction for Epson printers (unidirectional
vs. bidirectional) is now a separate control. In addition to
contributing to the simplification of the Epson printer
resolutions, this permits the choice of unidirectional
vs. bidirectional at all resolutions if desired. By default, the
driver picks the most appropriate choice for the situation.
8) The Epson driver now allows printing directly to CD's on printers
that support this functionality. In addition, a choice of center
hole size (16 mm or 43 mm) is now offered. A fine adjustment is
provided to permit control over positioning of the image on the
CD. This fine adjustment setting is not available in the
Foomatic interface at present.
To print to a CD, you need to select the "Print to CD" media
source (input slot). You must also select the appropriate page
size (3" CD or 5" CD). Note that this is different from the
instructions Epson provides, which specify A4 media size.
9) The Epson driver now offers a choice of print head weave
patterns. In addition to simplifying the resolution choices for
Epson Stylus Pro printers, this offers an additional control for
fine tuning output quality.
10) The Epson driver offers an Ink Set control for printers taking
different choices of inks (such as the Epson Stylus Photo 2200,
which offers a choice of Matte Black and Photo Black inks).
11) Where practical, all controls offer a default setting for
simplicity of operation. This default value is intended to offer
the optimal choice given the printer and its other settings. For
example, if "Automatic" is selected for print head direction, the
print head motion will be unidirectional at high resolutions
(since unidirectional usually produces better output), but
bidirectional at low resolutions (for faster printing).
The default is only offered for options that are not directly
controlled by the user's action. For example, there is no
default choice offered for paper type, since the correct value is
based on the paper type loaded by the user. Similarly, there is
no default for the input slot or ink set.
12) Support for a variety of input types, in both 8 and 16 bit
resolution, has been added. Gutenprint can now handle input in
grayscale, whitescale (inverted grayscale), RGB, CMY, CMYK, and
KCMY in 8 and 16 bit resolutions for all output types.
13) A new Threshold color correction mode has been added that
produces either all-on or all-off of each color. This is similar
to the Monochrome mode in 4.2, except that it works for color as
well as black.
14) A new Desaturated color correction mode has been added that
produces gray (desaturated) output using color inks.
15) A new Density color correction mode has been added that corrects
only for density. This will normally produce excessively dark
output. However, applications that wish to use their own
linearization curves may wish to use this interface to prevent
Gutenprint from performing its own linearization.
16) A new Raw color correction mode has been added that performs no
correction whatsoever on the input. This mode may be used by
applications that wish to perform their own ink limiting and
linearization, and use Gutenprint to perform dithering
(screening) and output generation only.
17) A new Predithered color correction mode has been added that
combines the effects of Raw and Threshold. This mode may be used
by applications that wish to perform their own dithering and use
Gutenprint to generate printer-specific output only. The input
value should be the size of the drop desired (for single-level
printers, it should be 0 or 1; for printers with three drop
sizes, it should be 0, 1, 2, or 3).
18) A new Correct Hue Only color correction mode has been added that
performs partial color correction (adjusts hue, but not
darkness).
19) The escputil command, which performs various printer
administration activities on Epson Stylus printers, has a number
of improvements:
* A new extended ink information command has been added. This
command, which is supported on printers with separate
individual ink cartridges, prints additional information about
the ink cartridge in addition to the amount of ink present. On
older printers, it simply returns the standard ink
information.
* The status command now prints status in a human-readable format
rather than simply reporting the raw information returned by
the printer.
* Ink level detection now works on all known supported printers,
and may work on other non-supported printers. Previously it
did not work on some newer printers. However, it is somewhat
slower on these printers than it is on older printers that
support the faster ink detection method.
* Ink level detection now prints the correct ink color names for
the printer model.
* It is now no longer necessary to use the -u flag with certain
printers in most cases. The utility now autodetects the
printer model and generates appropriate commands in all cases.
If you supply a printer queue (with the -P option) rather than
a raw device (with the -r option), you will still need to
provide the -u flag, as the utility cannot detect the actual
printer connected to a queue. However, commands that must be
run bidirectionally (ink level, identify, and printer status)
do not require the -u flag any more.
* escputil now successfully detects ink level, printer model, and
status even if the printer is out of ink.
20) The Epson driver permits adjusting the dot size if required to
increase the amount of ink printed. For example, if 1440x720 DPI
is selected, but the density requested is very high, the printer
will switch to using drop sizes appropriate for 720 DPI. This
option is not normally required and is disabled by default.
----------------
C) CHANGES TO THE ENHANCED PRINT PLUGIN FOR THE GIMP:
1) A new plugin for the GIMP 2.x, enhanced with all new Gutenprint
5.0 functionality, is now provided.
2) The Print plugin for the GIMP 1.2 is now deprecated and will be
withdrawn in 5.1 (the development release following 5.0). The
Print plugin for the GIMP 1.2 will continue to be supported with
critical bug fixes in all 5.0 releases, but no new functionality
will be added, or non-critical bugs fixed, following the release
of 5.0.0.
3) The plugin now always displays the page preview with the top of
the page at the top of the preview pane, rotating the image
preview as necessary to display landscape or portrait mode.
4) The positioning controls have been simplified.
5) The printrc file format is different. Gutenprint 5.0 can read
printrc files created by Gimp-Print 4.2 and earlier, but it
writes out the printrc file in a format that earlier versions of
Gimp-Print cannot read.
6) Printer queue discovery and command specification are greatly
simplified over 4.2. The plugin now offers a default printing
command that is determined based on the characteristics of the
system, and also offers the choice of printing to a file or using
a custom print command for each printer defined in the printrc
file. The default printing command is correct whether the output
is Postscript or not; it is no longer necessary to remove "-oraw"
from the print command line.
7) The Print plugin now always displays all options relevant to
what's being printed, enabling and disabling options as
appropriate.
8) The plugin now lists printers grouped by manufacturer, rather
than a single long list.
9) If you are using an older version of the GIMP 1.2, and the GIMP
is installed in a non-standard location on your system such that
you cannot run configure in Gutenprint without using
--with-gimp-prefix or --with-gimp-exec-prefix, please read item
(8) in Exceptions and Workarounds below. In addition, if you
have both the GIMP 1.3/2.0 and the GIMP 1.2 installed on your
system, you should read the same material.
----------------
D) CHANGES TO THE CUPS INTERFACE:
1) The CUPS PPD files now offer both fine and coarse adjustments for
all color controls, permitting much finer control over output (in
steps of .005 rather than .05) without making the menus unwieldly.
2) The CUPS driver refuses to function with PPD files created for a
different version of Gutenprint or Gimp-Print, providing an error
message indicating the problem. This avoids problems caused by
mismatches between the PPD files and the driver. While
mismatches are potentially not harmful in all cases, they could
cause problems ranging from failures to print with poor
diagnostic messages to incorrect results.
3) The Gutenprint 5.0 CUPS driver can be installed concurrently with
the 4.2 driver. Both the PPD files and the driver carry
different names from their 4.2 counterparts, permitting a
parallel installation or gradual switchover between 4.2 and
5.0-based releases.
4) An update script (cups-genppdupdate.5.0) is provided to update
PPD files between later 4.3 and 5.0-based releases, preserving
option values where possible. This script will not update PPD
files based on Gimp-Print 4.2, or Gimp-Print 4.3 releases prior
to 4.3.21.
5) On printers capable of borderless output, the CUPS driver now
advertises (via the *ImageableArea in PPD files) the full page
dimension, and crops the output if the borderless mode is not
selected. If borderless mode is selected, the full image (up to
the limits of the printer) will be printed.
This compromise is necessitated by the fact that PPD files can
only supply a single imageable area for a particular page size,
so it was necessary to select which imageable area to provide.
In early prereleases of Gutenprint 5.0, we supplied the normal
page area, and stretched the output if the user selected full
bleed. This caused problems for many users, in that it was not
possible to print the full surface of the paper while preserving
dimensions.
Based on user feedback, we determined that the best solution is
to provide the full page size as the imageable area and crop the
result if full bleed mode is not selected.
6) The CUPS driver now offers 16-bit printing as an option with ESP
Ghostscript 8.15, and Apple Macintosh OS X 10.4 ("Tiger"), using
the new Color Precision control. Setting Color Precision to
"Best" enables 16-bit printing if the system supports it; setting
it to "Normal" uses 8-bit printing. Setting Color Precision to
"Best" has no effect if the version of CUPS does not support
16-bit printing; in that case, "Best" is still 8-bit.
The higher precision may improve results with certain source
material, particularly if it contains smooth color gradients.
The result would be freedom from banding, particularly in
highlights where it might be visible with 8-bit color
computation. It may be somewhat slower than 8-bit printing.
7) Due to the implementation of CUPS, it is necessary on some
systems to link the programs associated with the CUPS driver (in
particular, cups-genppd and rastertogutenprint) statically
against the Gutenprint library. Please see bugs 865253 and
865265 for full details.
This fix works correctly unless --disable-static (to disable
building static libraries) is passed on the command line.
Normally, only people packaging up Gutenprint for distribution
use this option. If you wish to use this option, please read
item (6) in Exceptions and Workarounds *carefully* for a full
description of the problem along with suggested methods of
procedure.
----------------
E) CHANGES TO THE GHOSTSCRIPT DRIVER:
1) The stp driver, a monolithic (traditional) Ghostscript driver
used with Ghostscript 5.10, 5.50, and 6.51, has been withdrawn.
The only supported Ghostscript driver is the IJS-based driver,
for GNU Ghostscript 6.53 and above, ESP Ghostscript 7.05 and
above, and AFPL Ghostscript 7.04 and above.
This change was made due to the difficulty of supporting the
monolithic driver and the complexity of building it. The
traditional monolithic driver architecture required that all
drivers be compiled into Ghostscript, requiring that program to
be recompiled whenever a driver is added. This is a rather
complicated operation that cannot easily be automated. The IJS
architecture, based on the open source HPIJS driver supplied by
Hewlett-Packard for HP inkjet printers, allows for drivers to be
compiled independently of the core Ghostscript. A
Gimp-Print/Gutenprint driver based on the IJS architecture was
introduced into Gimp-Print 4.2.1 and 4.3.0, and has been
recommended for use with Gimp-Print 4.2.2 and beyond.
In addition to a greatly simplified build procedure and overall
cleaner architecture, the separation between Ghostscript and
driver imposed by the IJS architecture permits use of Gutenprint
with AFPL Ghostscript with no license conflict.
----------------
F) CHANGES TO FOOMATIC DATA GENERATION:
1) The Ghostscript IJS driver now functions only with Foomatic PPD
files created for the matching version of Gutenprint, providing
an error message indicating the problem if an incorrect PPD file
is used. This avoids problems caused by mismatches between the
PPD files and the driver. While mismatches are not harmful in
all cases, they could cause problems ranging from failures to
print with poor diagnostic messages to incorrect results.
2) The Gutenprint 5.0 Foomatic data and IJS driver can be installed
concurrently with the 4.2 driver. Both the PPD files and the
driver carry different names from their 4.2 counterparts,
permitting a parallel installation or gradual switchover between
4.2 and 5.0-based releases.
3) On printers capable of borderless output, the Foomatic driver now
advertises (via the *ImageableArea in PPD files) the full page
dimension, and crops the output if the borderless mode is not
selected. If borderless mode is selected, the full image (up to
the limits of the printer) will be printed.
This compromise is necessitated by the fact that PPD files can
only supply a single imageable area for a particular page size,
so it was necessary to select which imageable area to provide.
In early prereleases of Gutenprint 5.0, we supplied the normal
page area, and stretched the output if the user selected full
bleed. This caused problems for many users, in that it was not
possible to print the full surface of the paper while preserving
dimensions.
Based on user feedback, we determined that the best solution is
to provide the full page size as the imageable area and crop the
result if full bleed mode is not selected.
----------------
G) QUALITY IMPROVEMENTS:
1) Color and tonal accuracy is greatly improved compared to 4.2
while the gamut (range of printable colors) has been increased.
This particularly improves the hue accuracy of red, magenta, and
blue, and the tonal accuracy of cyan and green. Most Epson
printers have been fully tuned for the new color correction
algorithms introduced for this release.
The default gamma has been changed to produce lighter midtones
with all Epson printers.
2) The handling of variable drop sizes and photo inks (6 and 7 color
printers) has been completely revised, with the result being that
variable drop size printers with photo inks (such as most Epson
Stylus Photo and Stylus Pro printers) give much more consistent
results with fewer artifacts. In particular, colors match
correctly across all resolutions, which was not the case in 4.2.
In 4.2, variable size drops and light inks were treated the same
way; an "effective drop size" based on the relative size of the
drops and the darkness of the inks was used to decide what kind
of drop to print. While this method has some advantages (it
ensures that dark and light inks are never printed at the same
place, and also that dark dots are optimally dispersed among
light dots), it has some serious disadvantages as well: the
properties of a small dark dot and a large light dot are not
really the same, particularly when inks are mixed. The
combination of different drop sizes being used at different
resolutions meant that the transition between light and dark inks
differed depending upon the resolution chosen, and if more than
one drop size was required at a given resolution, the transition
tended to be quite marked.
The new method of handling variable size drops and light inks is
to first separate each of the four channels (cyan, magenta,
yellow, and black) into the appropriate light and dark inks, if
needed. This separation is performed based on the relative
darkness of the different ink sub-colors (such as light and dark
cyan) and specific characteristics of the printer, ink type, and
paper chosen. Following this, each sub-color is screened
separately, and the appropriate combination of drop sizes is
chosen.
The drop size selection in this release has also been changed to
fill the page with as many small drops as possible before
switching to larger drops. This ensures that the largest number
of the smallest possible drops is printed, which yields a
smoother texture in the midtones.
Finally, new dither algorithms described below allow drops of ink
of different colors to be dispersed, avoiding clumping or
overprinting of drops.
3) The EvenTone dither algorithm has been extensively reworked in
this release, offering many improvements.
First, it has been rewritten to work correctly with variable drop
size and photo printers. This algorithm, which offers
significant improvements over the standard Adaptive Hybrid
algorithm, does not work optimally with variable drop sizes or
photo printers in 4.2.
Secondly, a variation called Hybrid EvenTone has been added.
This dither algorithm perturbs the dot positions slightly to
break up some patterning seen in standard EvenTone dithering in
solid regions of pale tones, particularly when printing with
black ink only. This very slightly reduces the smoothness of
texture in exchange for largely eliminating this undesirable
patterning. This algorithm is also expected to be more resistant
to microbanding effects.
4) The conversion between black and composite (CMY) gray has been
improved in this release, yielding more neutral grays on most
printers.
5) Epson printers have been completely retuned, in most cases
yielding much better density, more accurate gray scale, and
darker black on all paper types.
----------------
H) ARCHITECTURAL CHANGES:
1) Family drivers are now modular. A "family driver" is a
collection of printer drivers for one group of printers sharing a
common programming architecture, e. g. ESC/P2, PCL, Lexmark,
Canon. The drivers can be built as separate modules and loaded
at runtime as needed.
2) Color processing is now partially modularized. This architecture
will enable us, or others, to provide color management without
having to change the internal interfaces within Gutenprint.
3) New composite data types. Gutenprint 5.0 defines additional data
types. These types include:
* Sequences, curves, and arrays. A sequence is a primitive
vector of numbers data type; curves and arrays provide
additional capabilities such as interpolation (for curves) and
multiple dimensions (for arrays).
* Lists are a general ordered container of named objects of
arbitrary type. They are used throughout the core library in a
variety of ways. The creator of a list can specify
constructor, destructor, name comparison, copy, and sort
operations on list members.
* Parameters, which are part of the options system described
below. In addition to storing values and descriptions of the
parameter, parameters can be queried to determine defaults and
constraints. Parameter lists (which use the list container
internally) are also defined as part of this.
* String lists are used in various ways; in particular, they are
used by the parameter system to inform programs of the
available choices of values for string-valued parameters.
4) Complete overhaul of the options system. Rather than offering a
fixed set of operations, family drivers, color modules, etc. can
now offer a wide variety of options using a predefined set of
data types. The data types currently supported are strings
picked from a list, floating point numbers, integers, curves,
arrays, Boolean values, dimensions, and filenames.
The new options system provides a flexible way for drivers to
inform applications of default values and UI hints, the ability
to selectively enable and disable options, and a generalized way
of verifying legality of option choices.
5) The coordinate system has been changed from bottom left to top
left of the page, and the printable area can now extend beyond
the edge of the page. The result is a more intuitive coordinate
system for driver writers that matches the coordinate system of
printers, and the ability to do true full bleed.
6) The specification of color correction, input, and output modes
has been completely revised, permitting applications to specify
input mode, output mode, channel bit depth, and color correction
completely independently. This architecture is also more
extensible.
7) Complete overhaul of the black generation in CMYK output. Black
generation is now performed in the color code rather than the
dither code. This simplifies the dither code, puts the CMYK
generation where it should be, and improves overall flexibility.
8) Complete overhaul of the multi-tone (photo or quadtone) ink
processing architecture (channels). Instead of being processed
as part of the dithering code as in 4.2, where ink drops of
lighter inks were assigned virtual values proportional to their
darkness as well as their size, this is now processed after the
initial color conversion. This has a number of major advantages:
* As the actual amount of ink to be printed is visible to the
color code, the color code can do ink limiting without fear
that the dither code will change the amount of ink to be
printed.
* It ensures that the same proportions of inks will be printed at
any density and resolution. In 4.2, the ramp from light to
dark ink varied depending upon the dot sizes available and
hence the resolution. This has already been demonstrated to
yield much better linearity and much more neutral gray scale
with even very modest tuning effort.
* It enables use of all drop sizes of all ink tones. In 4.2, we
could not use the smallest drop size of dark ink, because the
virtual dot size of a small dot of dark ink is typically close
to the virtual dot size of a large dot of small ink. This
would yield very sharp transition, and perhaps even result in
more light ink printed in darker regions than in lighter
regions. With channel processing separate from dithering, this
concern no longer exists; we can safely use small drops of dark
ink, improving smoothness.
* It enables the color code to do ink limiting intelligently
without concern that the dither code will rearrange things
behind its back.
* It greatly simplifies the specification of inks. With drop
size and darkness orthogonal, family drivers can greatly
simplify their tables of inks.
* Dither algorithms can choose to ignore smaller drop sizes if
they wish to offer fast operation.
* Applications with special requirements can now access the raw
ink channels directly. This facility was used to create a
mechanism to more accurately tune printer inks.
9) The color system can now generate arbitrary ink colors, lifting
the CMYK-only restriction in previous versions of the package.
This permits full support for the Epson Stylus Photo R800 and
R1800, which use red and blue ink in addition to the traditional
CMYK.
10) Use of true XML to store data about printers and paper sizes, and
to represent new data types (sequences, curves, and arrays).
This uses the "mxml" XML library, a fast, lightweight XML parser
written by Mike Sweet for this project. Currently, the use of
XML (as opposed to compiled-in data) is limited, but we expect
that this will change beyond the initial 5.0 release.
11) In addition to parameters, internal components such as family
drivers, color drivers, etc. can store arbitrary data in the
basic stp_vars_t object. This facility is used to simplify the
internal driver API; the family driver no longer needs to keep
track of dither, color, etc. information itself.
12) The Epson Stylus family driver has been decomposed into more
functionally distinct units. The data schema has been
considerably improved, and the code itself broken into more
easily maintained units.
13) The build system has been updated with a more contemporary
toolchain based on autoconf 2.5 and gettext 0.11.
14) The Print plugin for the GIMP has been decomposed into a UI
library and the core plugin. The user interface library is a
pure GTK-based library; the tiny GIMP plugin is a client of this
library.
15) Printer characteristics are exposed to the application level as
read-only parameters. This permits the escputil utility to not
duplicate information stored in the printer driver.
================================================================
IV) EXCEPTIONS AND WORKAROUNDS
A) GENERAL ISSUES
1) Full bleed mode does not work completely correctly on most Epson
printers at present. Typically there is a small margin at the
bottom of the page (1-2 mm) and possibly a very small margin at
the top. However, it works correctly along the left and right
margins. We do not have an estimated time for a fix.
2) The Canon, Hewlett-Packard, and Lexmark drivers do not offer all
of the additional options and improvements that the Epson driver
does. We do not have an estimated time for fix. Please contact
us if you would like to assist with this.
3) Support for the Canon S200 has not yet been ported forward from
4.2.
4) This release is slower than 4.2 in many cases, particularly when
using High Accuracy (which is the default color correction in
most cases) or Bright color correction. It is possible that this
release will not be able to drive some printers at full speed,
particularly if your computer has a slow processor. Performance
has been only partially analyzed or tuned at present.
5) The user's manual and developer's guide have not been updated for
this release.
----------------
B) BUILD/INSTALLATION ISSUES
1) With certain versions of CUPS and in certain non-default
configurations, if a new version of Gutenprint is installed over
an existing version genppd will create PPD files based on the
older version of Gutenprint rather than the newer version. This
will happen if all of the following are true:
i) The cups-config provided by the CUPS driver adds
-Wl,rpath=/usr/lib. This is done by some versions of CUPS
reportedly because in some cases the runtime linker does not
pick up libraries out of /usr/lib. This can be checked by
running
cups-config --libs --ldflags
and inspecting the output for any mention of "rpath", "RPATH",
"RUN_PATH", or the like. This is controlled by the CUPS
installation on your system.
ii) There is presently a version of Gutenprint installed in /usr
(--prefix=/usr) rather than /usr/local or the like. The
default location of Gutenprint installation is in /usr/local,
but system vendors typically install Gutenprint in /usr.
iii) Gutenprint is built dynamically only (--disable-static or
--disable-static-genppd). This is not a default, and requires
the explicit --disable-static or --disable-static-genppd on
the Gutenprint "configure" command line. Therefore, if you
build Gutenprint normally you should not be vulnerable to this
problem.
Note that in general if you install CUPS into a non-standard
location, and install Gutenprint into the same location, this
problem can surface. For example, if you choose to install CUPS
in /usr/local and Gutenprint in /usr/local you are vulnerable to
this. However, it is not standard practice to install CUPS
anywhere but /usr.
In this case, the run path embedded in the genppd executable
points to the version of Gutenprint installed in /usr/lib. This
run path overrides any attempt by libtool to look in the build
directory. The result is that cups-genppd and rastertogutenprint
are run against the older version of Gutenprint. If the new
version contains additional features (more printers, changes to
printer options, etc.) they will not be available.
This bug is difficult to detect in a normal build. It normally
does not cause an error to happen during build unless there is an
API change from the version installed and the version being
built; the only failure is frequently that some PPD files may not
be built or may be built with missing options. Due to the PPD
version checking introduced in this release, the behavior might
manifest itself as a runtime error. It is also possible that
there will be no error at all other than the older version of
Gutenprint being used, with the result that new features and bug
fixes are not available.
If you wish to use only shared libraries, do not wish to build
static libraries at all, and are vulnerable to this issue
(because cups-config --ldflags sets the run path), there are
three workarounds available:
i) Build and install Gutenprint into /usr (rather than
/usr/local) and then rebuild Gutenprint from scratch. This
will install the correct libgutenprint.so in /usr/lib, and in
the rebuild genppd will be run against the correct library.
ii) Remove the old version of Gutenprint prior to building the
new version of Gutenprint. The important files to remove are
anything named /usr/lib/libgutenprint*.
iii) Edit cups-config to remove the reference to the run path.
2) There is a known translation problem building the PPD files used
by the CUPS driver such that on many systems all of the PPD
files are in the English language. This causes CUPS tools, such
as KUPS or http://localhost:631 to display many copies of each
PPD file, all in the English (en) language. In fact, the PPD
files should be translated into many different languages.
The PPD files are created by a program named "genppd" in the
src/cups directory. This program is called once for each
language, and creates all of the PPD files for the language in
one shot.
The command 'zgrep' can be used to determine if genppd is
creating the PPD files correctly, as follows:
src/cups$ zgrep LanguageVersion ppd/*/pcl-4.ppd.gz
ppd/C/pcl-4.ppd.gz:*LanguageVersion: English
ppd/da/pcl-4.ppd.gz:*LanguageVersion: Danish
ppd/en_GB/pcl-4.ppd.gz:*LanguageVersion: English-GB
...
If the PPD file for each language has a different language
version, the genppd program operated correctly. If instead the
output looks like this:
src/cups$ zgrep LanguageVersion ppd/*/stp-pcl-4.5.0.ppd.gz
ppd/C/stp-pcl-4.5.0.ppd.gz:*LanguageVersion: English
ppd/da/stp-pcl-4.5.0.ppd.gz:*LanguageVersion: English
ppd/en_GB/stp-pcl-4.5.0.ppd.gz:*LanguageVersion: English
...
the program did not operate correctly.
If you do not have 'zgrep' on your system, you can gunzip the
PPD files, and use
grep LanguageVersion ppd/*/stp-pcl-4.5.0.ppd
to accomplish the same test.
The normal mechanism for performing translations is to set the
LANG environment variable to the appropriate language prior to
running the program. This normally causes the program to search
the translations (normally in /usr/share/locale or
/usr/lib/locale) for the chosen language. When a specially
marked string is used, a special macro calls `gettext()' on the
string to retrieve the translation, and substitutes the
translation for the string in question.
There are two problems with this approach in the context of
genppd. The translation engine is intended to be used after
installation, not during build, and this causes problems.
i) At the time genppd is run, the translations have not been
installed in the normal system directories. Fortunately,
it's possible to tell the translation machinery (via
bindtextdomain) to look elsewhere for the translation
catalogs. What we do is install the catalogs in a temporary
directory under src/cups, and tell genppd to instruct the
translation machinery to look there. This workaround is
straightforward, and doesn't normally cause problems.
ii) LANG only lets us pick a valid locale (normally determined by
listing the directories in /usr/share/locale or
/usr/lib/locale). Unfortunately, while language codes (which
form the base of locales) are standard, the actual locale
names aren't always. On some systems, the locale names are
just the language base names; on others, they are the
language names concatenated with country codes (e. g. en_US),
while on others they are language codes concatenated with
character sets. We are not aware of any workaround for this,
possibly short of actually running make install and then
rebuilding the PPD's. 'make install' will install the
message catalogs, and that may create the necessary locale
directories. This is not exactly a very elegant approach.
The GNU gettext library (libintl.a) provides another environment
variable, LANGUAGE, which unconditionally looks up translations
according to the language, ignoring LANG and the LC_*
environment variables that are normally used for translation.
This library is no longer included with Gutenprint
(--with-included-gettext will not work). Install the GNU
gettext package first if you need libintl.a. Many systems
provide translation machinery in their standard libraries, and
it may not always be best to use foreign libraries to replace
standard system functionality.
We have chosen to use LANGUAGE for this purpose, as the GNU
gettext library appears to offer the most reliable translation,
and LANGUAGE appears to offer the most reliable mechanism. We
have actually found that LANG and LC_* can interfere with
LANGUAGE, thus we do not use both.
To determine if the translations are working, you must actually
inspect the PPD files. You will need to
cd src/cups/ppd/sv
gunzip *
more *
or the like to determine if this is successful. In particular,
look for LanguageVersion, and make sure that it is correct (it
should be "Swedish" in the sv directory, for example), and also
make sure that the paper sizes are also translated. We
currently suggest using the Swedish translation for this purpose
as it is the most complete.
If packagers find that the PPD files are all in English, rather
than translated into the appropriate languages, we suggest the
following:
i) Install GNU gettext (libintl). If your system is not based
on GNU libc (Linux usually is based on GNU libc; BSD,
Solaris, IRIX, etc. are not), you will need this to have any
possibility of creating the translated PPD files.
ii) Run 'make install' to install the package (including the
message catalogs) onto the system first, and then do the
following:
cd src/cups
rm ppd-stamp
make
to rebuild the PPD files. Having the message catalogs on the
system may permit this to succeed.
iii) Ensure that your system actually has locales named 'sv',
'pl', and all of the other supported languages, and change
LANGUAGE to something more appropriate (most likely LANG,
LC_MESSAGES, or LC_ALL).
iv) Build the PPD files on a Linux-based system; they are
portable.
v) Use --disable-translated-cups-ppds on the configure command line
to suppress the translated PPD files altogether.
Please feel free to contact us about this issue.
3) There are multiple issues that one must be aware of when using
Foomatic with Gutenprint.
i) Before installing any new release of Gutenprint 5.0, you must
manually remove any existing Foomatic option files. This is
because the Foomatic utility to load data kits
(foomatic-kitload) does not remove obsolete data files from
the Foomatic database. If you do not do this, any PPD files
you generate will be incorrect and printing may work
incorrectly or not at all.
Foomatic option files are usually located in
/usr/local/share/foomatic/db/source/opt
or
/usr/share/foomatic/db/source/opt
Assuming they're in the former location, you must remove data
files associated with the Gutenprint driver. The command to do
this, which must be run as the superuser (root) is
cd /usr/local/share/foomatic/db/source/opt
ls -l gutenprint-ijs*.xml
If there are existing files present, you must remove them:
rm -f gutenprint-ijs*.xml
Now check to make sure that they are gone:
ls -l gutenprint-ijs*.xml
CAUTION: Be very careful when typing this command! Minor
errors in typing these commands may result in severe damage to
your system.
After this, you may run 'make install' in your Gutenprint
source directory to install the package. You will then need to
re-create any printer queues using Foomatic.
In general, you will have to perform this procedure any time
you install a new version of Gutenprint.
Please check the Foomatic site
(http://www.linuxprinting.org/foomatic.html) and the Gutenprint
site (http://gimp-print.sourceforge.net) for updated
instructions about this.
ii) Unlike with the CUPS native driver, there is no simple way to
update all PPD files when you install a new version of
Gutenprint. You must either use the foomatic-ppdfile command
to upgrade PPD files individually, or foomatic-compiledb to
build all PPD files. Your system may provide an alternate way
to install new PPD files, in which case you may use that
method.
iii) The Foomatic data is version locked to the Gutenprint release
installed on the system. For example, PPD files generated
with the Foomatic data for release 5.0.0 will not work with
the ijsgutenprint in release 5.0.1. This is to prevent
accidentally using incorrect data, which could cause incorrect
function to take place.
4) There is a known complication building "escputil" that causes
problems on some systems. "escputil" uses the "readline"
package, to support command editing and history within the
program. Unfortunately, linking programs with "readline" often
requires linking against additional libraries, and the exact
library depends upon the system (e. g. not all Linux systems have
the same requirements).
The configure script attempts to determine which additional
library must be linked against. It tries using the following
libraries in this order to build a test executable:
-lncurses
-lcurses
-ltermcap
no additional libraries
The reason it tries other libraries first is that some systems
will link successfully, but only fail when an attempt is made to
actually call readline. Therefore, we assume that additional
libraries are required. Since we try the extra libraries in
order from most recent to oldest, we expect that the first one we
find will be appropriate. For example, if the "ncurses" library
is the standard on a given system, the "termcap" library may be
provided for back compatibility, but it is unlikely that
"termcap" will be the standard with "curses" or "ncurses" being
provided for compatibility only (so that the link will succeed
but the command will use the incorrect library).
As this procedure is not failsafe, we provide the following
configure options to control this behavior:
./configure --with-readline=yes (the default; attempts to
determine the correct library
to link against)
./configure --with-readline=no (turns off use of readline
altogether)
./configure --with-readline=only (specifically instructs
configure to not attempt to
link against any other
libraries)
./configure --with-readline=libs (specifies the libraries to be
linked against)
An hypothetical (this won't work anywhere!) example of the
latter would be
./configure --with-readline='-lncurses -ltermcap'
Note that configure will not allow readline to be used if it
cannot successfully build the test program, regardless of the
option selected. If you are having difficulty getting escputil
to build, we suggest using --with-readline=no. The commands
used within escputil are very short and seldom require
significant editing.
5) The fix for bug 929227 (Gimp-Print incorrectly attempts to build
against GIMP 2.0) requires special build instructions if you are
using a very old version of the GIMP 1.2 (1.2.0, 1.2.1, or
1.2.2). Specifically, you must set GIMPTOOL in the environment
to point to the proper version of gimptool when running
Gutenprint's configure script. For example:
GIMPTOOL=/usr/bin/gimptool ./configure
The bug fix involves checking for the presence of the GIMP
slightly differently from how it was previously done.
Previously, Gimp-Print checked for the presence of a program
named "gimptool", which provides information about how to build
plugins against the GIMP. This worked correctly when only the
GIMP 1.2 was installed, but not when the GIMP 2.0 was installed.
The GIMP 2.0 actually installs a program named "gimptool-2.0",
and creates a symbolic link named "gimptool" pointing to it.
Later versions of the GIMP 1.2 (1.2.3, 1.2.4, 1.2.5, and any
later versions that may be released) similarly create a program
named "gimptool-1.2" and a symbolic link named "gimptool". As
the configure script prior to this bug fix simply checked for
gimptool, it incorrectly detected a gimptool from the GIMP 2.0.
The current configure script checks first for gimptool-1.2 and
then for gimptool, and only accepts the use of a GIMP 1.2 version
of one of these programs. However, if you have one of the older
versions of the GIMP 1.2 installed in a non-standard location,
and you use --with-gimp-prefix or --with-gimp-exec-prefix to
specify its location, the configure script will not automatically
detect the correct location of gimptool, and you must specify it
as described above. Note that you must specify a copy of
gimptool from the GIMP 1.2, not from the GIMP 2.0. If your copy
of the GIMP is installed in a standard location (typically
/usr/bin or /usr/local/bin), you do not need to use
--with-gimp-prefix or --with-gimp-exec-prefix, and therefore do
not need to use this workaround.
If you cannot upgrade to the GIMP 2.x, the Gutenprint and GIMP
projects recommend upgrading to revision of the GIMP 1.2.5, which
will not require this workaround. This workaround is available
in the event that you cannot or do not wish to upgrade your
installation of the GIMP.
|