File: NEWS

package info (click to toggle)
gutenprint 5.0.0-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 19,216 kB
  • ctags: 8,704
  • sloc: ansic: 72,247; xml: 24,259; sh: 10,182; perl: 2,818; yacc: 1,167; makefile: 1,060; lex: 288; sed: 16
file content (1616 lines) | stat: -rw-r--r-- 75,105 bytes parent folder | download
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.