summaryrefslogtreecommitdiff
path: root/NEWS
blob: 7acf53abff529cf0bf8788e5c32c7dc015520547 (plain)
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
Welcome to Gutenprint 5.2.1, the initial release of Gutenprint 5.2.
Please read these release notes carefully.

Gutenprint is a suite of printer drivers that may be used with most
common UNIX print spooling systems, including CUPS, lpr, LPRng, or
others.  Gutenprint currently supports over 1400 printer models.
These drivers provide high quality printing for UNIX, Linux, and
Macintosh OS X (10.3 and above) systems.  Gutenprint includes CUPS and
Foomatic drivers, and an enhanced Print plug-in for GIMP that replaces
the print plug-in packaged with the GIMP distribution.

Gutenprint 5.2 no longer supports Macintosh OS X 10.2.

*** NOTE TO PACKAGERS: Please read the file README.package for issues
    that are of interest to distributors and packagers of Gutenprint.
    It is not necessary for end users of Gutenprint to read this file.

These release notes contain the following sections:

I)    General Requirements
II)   Critical Upgrade Note
III)  Changes from Previous Releases
        * Changes from 5.2.0-rc1
        * Changes from 5.2.0-beta4
IV)   Overall changes from 5.0.2 to 5.2
	A) General User-visible Changes
	B) New Functionality
	C) Changes to the Enhanced Print plugin for GIMP
	D) Changes to the CUPS interface
	E) Changes to the Foomatic interface
	F) Quality Improvements
	G) Architectural Changes
	H) New Printers Supported in this Release
V)    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.3 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.3 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 GIMP requires GIMP 2.0 or above (GIMP
2.2 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 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 10.3 (Panther), 10.4 (Tiger), and 10.5 (Leopard)
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.

The README file included with this package provides full instructions
for building and installing Gutenprint.


================================================================

II) CRITICAL UPGRADE NOTE

If you are using CUPS with Gutenprint on a non-Macintosh system, and
are upgrading from an earlier version of Gutenprint or Gimp-Print,
please read this note carefully as there are special procedures that
you should follow in addition to the normal procedure of running
cups-genppdupdate.

Background: older versions of Gutenprint distributed CUPS backends,
named "epson" and "canon", that we have determined have compatibility
problems on certain systems.  The symptom of this problem is that the
last page of each print job does not complete; it prints almost to the
end of the page, and the printer stops.  The only way to clear this
condition is to power the printer off and back on after each job.

A CUPS "backend" is a special program whose purpose is to transfer
data from the printer driver to the printer itself.  CUPS provides a
number of general purpose backends.  The "epson" and "canon" backends
previously provided with Gutenprint are capable of retrieving ink
level information from Epson and Canon inkjet printers respectively.
These backends are no longer needed in CUPS 1.2, and are not strictly
necessary in CUPS 1.1.  Therefore, these backends have been removed
from Gutenprint as of 5.2.

Due to a subtle issue, these backends may not correctly send all of
the data to the printer on some systems.  While we have not fully
characterized the systems on which this happens, it appears likely
that it is on certain operating system versions.  The backend believes
that all data has been sent, but the way it does I/O results in some
data not being sent on all systems.  As a result, the printer
continues to wait for more data to be received.

We recommend that if you have any printer queues using these backends
that you modify the queues to use a different backend.  Even if you
are not currently having problems, we recommend that you do this, as a
future operating system upgrade may result in this problem becoming
visible.  If this is the first version of Gutenprint or Gimp-Print you
have installed on your system, you should not have these backends
present.  Here are the steps we recommend that you follow.

1) Determine whether any printers on your system use the epson or
   canon backends.

   This can be determined via "lpstat -v".  This may be done without
   administrator privileges:

      $ lpstat -v
      device for EPSON_Stylus_Photo_R300_USB_1: usb://EPSON/Stylus%20Photo%20R300
      device for espr300-ez: usb://EPSON/Stylus%20Photo%20R300
      device for r300-test: epson:/dev/usb/lp0
      device for HP_LaserJet_1022_USB_1: usb://HP/LaserJet%201022

   Inspect each device line for a device that begins with "epson:" or
   "canon:".  These are the queues you must modify.  In this case, the
   only queue that must be modified is "r300-test".  The other queues
   all have devices that begin with "usb:"; these queues use the
   standard CUPS USB backend that does not have this problem.

2) For each queue that uses the epson or canon backend, modify it to
   use an appropriate backend.

   If your system provides a user interface for administering
   printers, we recommend that you use that interface.  If you're
   comfortable with the KDE or GNOME print manager, you may use that
   interface.  However, we recommend using the CUPS web interface
   (http://localhost:631/printers) to modify the printer.  The steps
   you should follow (assuming that you are using the CUPS web
   interface) are:

   i) Click "Modify Printer", to start leading you through a series of
      screens allowing you to change the printer properties.

   ii) The first screen, entitled "Modify Printer r300-test" (the
      printer name, of course, will vary), will display the name of
      the printer, along with the location and description.  You may
      modify these if you wish, but it isn't necessary.  Click
      "Continue".

   iii) The next screen, entitled "Device for r300-test", is the
      important one.  This provides you a drop-down list of devices.
      These devices typically include "AppSocket/HP JetDirect",
      "LP#1", and so forth.  It is critical that you select the
      correct device at this point.

      The entries that you want are of the form

      EPSON Stylus Photo R300 USB #1 (EPSON Stylus Photo R300)

      or

      EPSON Stylus Photo EX Parallel #1 (EPSON Stylus Photo EX)

      Make sure to select the one that's appropriate for your printer
      model.

      You will likely also see entries such as "Gutenprint USB Printer
      #1 (EPSON USB2.0 Printer (Hi-speed)".  These are the entries
      corresponding to the "epson" and "canon" backends, and you must
      avoid these.

   iv) The next screen, entitled "Make/Manufacturer for r300-test",
      allows you to select the manufacturer of the printer.  Normally,
      the correct manufacturer (Epson or Canon) will be highlighted,
      and you can click Continue.

   v) The next screen, entitled "Model/Driver for r300-test", allows
      you to select the precise model of the printer.  Normally, the
      correct model (which will be named something like "Epson Stylus
      Photo R300 - CUPS+Gutenprint v5.2.0-rc1") will already be
      highlighted, and you can click "Modify Printer".  Otherwise, you
      must find and select the correct printer model before clicking
      Modify Printer.  You will likely need to provide your
      administrator username and password to continue here.

      After this, you should see a message "Printer r300-test modified
      successfully".

3) Remove the epson and canon backends.

   On most systems, the backends will be named
   /usr/lib/cups/backend/canon and /usr/lib/cups/backend/epson.  On
   some systems, the backends will be named
   /usr/lib64/cups/backend/canon and /usr/lib64/cups/backend/epson.
   They may be present in other locations, but these are the most
   common locations.  If these files are present, you should create a
   directory named /usr/lib/cups/old-backend or
   /usr/lib64/cups/old-backend, and move the epson and canon backends
   there just in case you later need them.

      % cd /usr/lib/cups
      % sudo mkdir old-backend
      Password: <type your administrator password>
      % cd backend
      % sudo mv canon epson ../old-backend
      Password: <retype your administrator password if prompted>

The specific underlying technical problem appears to be that when at
least certain devices are in non-blocking mode (O_NONBLOCK or
O_NDELAY) with certain operating system versions (Linux 2.6.25 appears
to be suffer this problem, and most likely some other versions also
do), the close() call does not result in all data being flushed to the
device.  We have determined that the data is in fact written by the
"epson" process, but it's never getting to the printer.

================================================================

III) MAJOR CHANGES FROM PREVIOUS RELEASES

* Changes from 5.2.0-rc1

   1) Preliminary support for the following printers.  These printers
      may be retuned for improved quality or performance in future
      releases.

      Epson inkjet printers:

	Epson PictureMate 215
	Epson PX 101
	Epson PX 201
	Epson PX 601F
	Epson Stylus CX9300F
	Epson Stylus CX9400F
	Epson Stylus CX9475F
	Epson Stylus DX9400F
	Epson Stylus NX200
	Epson Stylus NX400
	Epson Stylus Photo R290
	Epson Stylus Photo RX610
	Epson Stylus Photo RX690
	Epson Stylus Office B30
	Epson Stylus Office B33
	Epson Stylus Office B40W
	Epson Stylus Office T30
	Epson Stylus Office T33
	Epson Stylus Office T40W
	Epson Stylus Office BX300F
	Epson Stylus Office BX600FW
	Epson Stylus Office SX600FW
	Epson Stylus Office TX300F
	Epson Stylus Office TX600FW
	Epson Stylus SX200
	Epson Stylus SX205
	Epson Stylus SX400
	Epson Stylus SX405
	Epson Stylus TX200
	Epson Stylus TX400
	Epson ME Office 70
	Epson ME Office 80W
	Epson ME Office 700FW
	Epson WorkForce 30
	Epson WorkForce 40
	Epson WorkForce 500
	Epson WorkForce 600

   2) Experimental support for the following printers.  These printers
      may not function correctly, and may be retuned for improved
      quality or performance in future releases.

      Epson inkjet printers:

	Epson Artisan 700
	Epson Artisan 800
	Epson Stylus NX100
	Epson Stylus NX300
	Epson Stylus PX700FW
	Epson Stylus PX800FW
	Epson Stylus S20
	Epson Stylus SX100
	Epson Stylus SX105
	Epson Stylus T20
	Epson Stylus TX100
	Epson Stylus Photo TX700W
	Epson Stylus Photo TX800W

   3) The ChangeLog, NEWS, AUTHORS, COPYING, and README files are
      installed into the documentation directory.


* Changes from 5.2.0-beta4

   1) cups-genppdupdate now preserves the language of the original PPD
      file, even if the PPD file is being converted to a globalized
      PPD file.  This enables use of cups-genppdupdate -loriginal to
      restore the previous language of the PPD file.  Note that
      cups-genppdupdate -l<language> changes the stored language of
      the PPD file.

   2) The CUPS driver correctly prints page sizes larger than letter
      on PCL printers (this was broken in 5.2.0-beta4 only).

   3) The CD position on the R1900 has been corrected.

   4) Printing on the Epson Stylus DX8400/DX8450 has been corrected
      (the CX8400 was corrected in the previous release).  Previously,
      these printers fed paper endlessly without printing.

   5) The user manual has been updated.

   6) Color and tonal correctness at low and medium resolutions has
      been fixed on many Epson Stylus multi-function devices,
      including

      Stylus CX3500, Stylus CX3600, Stylus CX3650, Stylus CX5100,
      Stylus CX4200, Stylus CX4500, Stylus CX4600, Stylus CX4700,
      Stylus CX4800, Stylus CX4900, Stylus CX5000, Stylus CX5000F,
      Stylus CX5700, Stylus CX5800, Stylus CX6000, Stylus CX7000F,
      Stylus CX7800, Stylus CX8300, Stylus CX8400, Stylus CX9400,
      Stylus DX4200, Stylus DX4250, Stylus DX4800, Stylus DX7000F,
      Stylus DX8400, Stylus DX8450, PX A650

      This issue affected printing at 720 DPI and below.  This issue
      was fixed for the Stylus CX7400, Stylus DX7400, and Stylus
      DX7450 in Gutenprint 5.2.0-beta4, but not on other printers at
      that time.  Since then, we have determined that the same fix is
      needed on these printers.

      Output will be quite grainy at these resolutions, but colors
      will be correct.


================================================================

IV) OVERALL CHANGES FROM 5.0.2 TO 5.2

A) GENERAL USER-VISIBLE CHANGES

   1) Gutenprint 5.2 and beyond no longer support GIMP 1.2.  Please
      ensure that you are using GIMP 2.0 or above.

   2) Gutenprint 5.2 no longer supports Macintosh OS X 10.2; it now
      requires 10.3 (Panther) or higher.  This is due to a new library
      requirement (for the iconv library) that is not present in 10.2.

   3) Color Correction is now shown on the basic output adjustment
      menu rather than the advanced menu.

   4) We recommend that any profiles created against Gutenprint 5.1 or
      earlier releases be checked, and if necessary, re-created for
      use with Gutenprint 5.2.


B) NEW FUNCTIONALITY

   1) The PostScript driver has been rewritten, offering enhanced
      functionality approaching that of the native printer drivers.
      This driver is used by the enhanced Print plugin for the GIMP,
      and by other packages (such as PhotoPrint) that utilize
      Gutenprint.  In particular, the following specific functionality
      has been added:

      - All PPD file options are now offered.

      - CMYK input is now handled correctly.

      - The PostScript driver recognizes Gutenprint PPD files (from
        the native CUPS driver, not from Foomatic) and presents
        floating point options correctly.

      Note that this driver does not offer the curve options offered
      by the native drivers.  If no PPD file is selected, a basic set
      of options is provided.

   2) Envelope paper sizes are now offered in both portrait and
      landscape form factor, as some printers expect envelopes to be
      fed long edge first while some expect them to be fed short edge
      first.

   3) PCL laser printers now offer paper trays with adjustable guides.
      Many laser printers use adjustable guides for manual feed of
      papers narrower than letter size.

   4) In addition to support for specific laser printers listed below,
      support for generic large format PCL laser printers has been
      added.  Note that all PCL laser printers are supported in black
      and white only.

   5) Quality presets have been added to the PCL driver (HP inkjets
      and HP and other laser printers).

   6) L-size photo paper (3 1/2x5 inches) has been added.


C) CHANGES TO THE ENHANCED PRINT PLUGIN FOR GIMP

   1) The GIMP plugin now offers additional options for many Epson
      inkjet printers, allowing precise specification of drop sizes if
      desired.

   2) A problem with determining the system printer queues in the GIMP
      plugin on certain systems using languages other than English has
      been fixed.

   3) The GIMP plugin now offers reset buttons for individual
      settings, so it is possible to reset a single setting to its
      default without resetting all settings.


D) CHANGES TO THE CUPS INTERFACE

   1) PPD files generated by cups-genppd and the CUPS driver interface
      (gutenprint.5.2) now include, by default, all localizations in a
      single file.  This is referred to as "globalized PPD files".
      This functionality is supported by CUPS 1.2 and higher.
      Single-language PPD files are still generated on request, or if
      CUPS 1.1 is in use.  The CUPS driver is now localized using
      built-in code, eliminating problems with PPD files not always
      being translated properly.

      cups-genppdupdate will normally upgrade all PPD files to
      globalized ones if CUPS 1.2 or higher is in use or if
      pregenerated PPD files are used, but will otherwise generate
      single-language files.  This behavior can be controlled as
      follows:

      - If -l<language> is passed to cups-genppdupdate, it will be
	honored no matter what release of Gutenprint is in use.  This
	may be used if applications have issues with globalized PPD
	files.  We would like reports of any such applications.  The
	list of languages accepted is as follows:

	C	English (US)
	cs	Czech
	da	Danish
	de	German
	el	Greek
	en_GB	English (UK)
	es	Spanish
	fr	French
	hu	Hungarian
	ja	Japanese
	nb	Norwegian
	nl	Dutch
	pl	Polish
	pt	Portuguese
	sk	Slovak
	sv	Swedish
	zh_TW	Simplified Chinese

      - If -loriginal is passed, the original language of the PPD file
	will be honored.

      - If no -l option is passed, the original language will be
	honored if -r5.0 or -r5.1 is passed (i. e. if cups-genppdupdate
	is used to downgrade to an older version of Gutenprint), or if
	CUPS 1.1 is in used.

      - A new configure option --enable-globalized-cups-ppds (or if not
	desired, --disable-globalized-cups-ppds) has been added to
	enable or disable pre-generating globalized PPD files.  This
	option is only used if --enable-cups-ppds is set.  It defaults
	to "yes" if CUPS 1.2 or above is in use or "no" if CUPS 1.1 is
	in use.

   2) The CUPS driver is now localized using built-in code, hopefully
      eliminating problems with PPD files not always being translated
      properly.

   3) cups-genppdupdate is no longer versioned, as it was in 5.0 and
      5.1 (cups-genppdupdate.5.0 and cups-genppdupdate.5.1).  It also
      supports the following options:

      -r Specify the major.minor version to update to, e. g. 5.0 or
         5.1.

      -f Bypass ownership/permissions checks on update PPD files.

      -i Interactively ask whether to update each PPD file.

      -l Specify the language in which to generate PPD files, as
       	 described above.

   4) The performance of cups-genppdupdate has been improved
      significantly.

   5) cups-genppdupdate no longer updates PPD files that differ only
      in case of the file extension (e. g. printer.ppd and
      printer.PPD).  This avoids updating PPD files twice on
      filesystems that are case insensitive, such as OS X.

   6) cups-genppdconfig has been removed from this release.  This
      command was used to configure CUPS printer queues, but is not
      necessary as there are ample other tools available to configure
      printer queues.

   7) The CUPS driver will no longer attempt to find a matching
      predefined page size when a custom page size is passed in.  This
      yields more accurate printing sizes for custom paper sizes.  In
      addition, it avoids a problem with unnecessary margins being
      imposed when the paper size is approximately 4.7x6.8" (120x173
      mm) due to a specific defined page size with those dimensions and
      tear-off borders.

   8) Certain legacy applications (most notably Microsoft Office) did
      not print correctly on printers capable of high resolution, due
      to inability to handle the specified resolutions.  This release
      works around that issue by not advertising very high resolutions
      in a way that these applications will fail on.

   9) Progress and error messages produced by the CUPS raster driver
      are now localized.

   10) The CUPS driver now provides an Output Order option, where
      appropriate, in all cases.  This worked prior to 5.2.0-beta3 and
      was broken in that release only.

   11) A problem whereby the CUPS driver could consume excessive
      amounts of CPU and generate no output with Epson PictureMate and
      E-series compact photo printers has been fixed.


E) CHANGES TO THE FOOMATIC INTERFACE

   1) The Foomatic-based driver will only attempt to find a precisely
      matching page size when a custom page size is passed in.  This
      yields more accurate printing sizes for custom paper sizes.


F) QUALITY IMPROVEMENTS

   1) A number of improvements have been made to the Epson driver:

      - Borderless printing and in general printing near the bottom of
      	the page has been improved for many Epson inkjet printers.

      - Additional very high resolutions (2880x2880 and 5760x2880 DPI)
      	have been added for many modern (post-2005) printers.  These
      	resolutions may be useful when one desires the absolute best
      	print quality.

      - Additional enhanced low and intermediate resolutions have been
        added for some Epson printers to reduce banding while still
        achieving good output performance and quality.

      - Printing speed, and in some cases quality, has been improved
        on many modern Epson printers.

      - Ink drop size has been retuned on printers using Claria inks,
        yielding improved quality at lower resolutions.

      - Borderless support has been added to the Epson Stylus Pro
	7600/9600 and the margins have been corrected.

      - Epson printers will now correctly handle color output if
	quadtone inks are in use by printing in grayscale even though
	color is specified.

      - The Epson Stylus CX8300 and CX8400 now print correctly, although
	the colors may be retuned before final release.

      - The Epson Stylus CX7400, DX7400, and DX7450 now print correctly
	at all resolutions.  Previously, printing at 720x360 DPI or below
	was incorrect.  Output will be rather grainy.

      - A problem whereby some rows are not printed in color on the Epson
	Stylus CX3700 and related printers has been fixed.

   2) Output quality has been improved for certain Canon printers, in
      particular the PIXMA iP4500 and related printers.

   3) A new dither algorithm, Ordered New, has been added.  This
      dither algorithm is most likely to improve output at low
      resolutions, particularly when printing black and white.  It
      will only help on printers offering multiple drop sizes.

   4) Various new controls and settings have been added to assist in
      printer calibration.  While the tools for using these controls
      are not yet created, these tools will assist in calibrating
      printers in the future.

      - The Epson driver now offers additional controls for adjusting
      	the relationship between light and dark ink:

	+ The Value parameters (such as Light Cyan Value) specify the
	  relative darkness of the light vs. dark inks.

	+ The Cutoff parameters now specify the point at which the
	  darker ink is first used, relative to the value of the light
	  ink.

	+ The Scale parameters now specify the amount of light ink
	  used (essentially the density of the light ink).  This is
	  the same as the parameters previously called Cutoff.

      - The Epson driver now exposes as defaults the actual GCR
        settings used for the printer, paper, and ink combination in
        use.

      - The Epson driver now allows passing low level settings such as
        printer base resolution, ink drop size selection, and relative
        ink drop size as parameters.  The ink drop size can be
        accessed in the GIMP plugin, while the base resolution and ink
        drop size selection can only be used via the test pattern
        generator or other application that allows setting integer
        parameters.

      - Two new dither algorithms, Segmented and Segmented New, have
	been added.  These are not intended for normal use, and will
	normally behave like Ordered and Ordered New.  However, if Raw
	color correction is selected and a printer with multiple drop
	sizes is used, the range of input will be divided up such that
	the high order bits will select the drop size to be used and
	the lower bits will specify the amount of ink.  High order
	bits of 0 indicate that all drop sizes should be used.

	For example, if a printer offers 3 drop sizes (2 bits), the
	range of 0-16383 will print all drop sizes normally (with the
	range of 0-16383 being scaled to 0-65535), 16384-32767 will
	use the small drop size, and so forth.

	This is intended to assist in tuning ink drop sizes and is not
	normally useful otherwise.

      - A new parameter allowing dumping out of color correction state
	(lookup tables, GCR data, curves, etc.) has been added, and is
	accessible in the GIMP plugin.  At present, this data cannot
	be used directly, but it is intended that in the future this
	mechanism be used to allow calibration information to be saved
	and restored.


G) ARCHITECTURAL CHANGES

   1) The Epson driver has been significantly rewritten to use data
      stored in external files external to the binary library.  This
      allows making improvements, adding new features, and adding new
      printers without recompiling the source code.

   2) Test coverage has been increased.


H) NEW PRINTERS SUPPORTED SINCE GUTENPRINT 5.0.0

   1) Epson inkjet printers:

      B-300
      B-308
      B-500DN
      B-508DN
      E 150
      E 300
      E 500
      E 520
      E 700
      E 720
      ME Office 70
      ME Office 700FW
      ME Office 80W
      Offirio PX-B300
      Offirio PX-B500
      PM 670C
      PM A820
      PM D870
      PM G4500
      PM G850
      PX 101
      PX 201
      PX 601F
      PX V780
      PictureMate 100
      PictureMate 2005
      PictureMate 210
      PictureMate 215
      PictureMate 240
      PictureMate 250
      PictureMate 260
      PictureMate 270
      PictureMate 280
      PictureMate 290
      PictureMate 500
      PictureMate Dash
      PictureMate Flash
      PictureMate Pal
      PictureMate Snap
      Stylus C110
      Stylus C120
      Stylus C79+
      Stylus C87+
      Stylus CX4400
      Stylus CX4900
      Stylus CX5000
      Stylus CX5000F
      Stylus CX5500
      Stylus CX5600
      Stylus CX6000
      Stylus CX7000F
      Stylus CX7400
      Stylus CX9300F
      Stylus CX9400
      Stylus CX9400F
      Stylus CX9475F
      Stylus D120
      Stylus D92
      Stylus DX4050
      Stylus DX4400
      Stylus DX4450
      Stylus DX7000F
      Stylus DX7400
      Stylus DX7450
      Stylus DX8400
      Stylus DX8450
      Stylus DX9400F
      Stylus NX200
      Stylus NX400
      Stylus Office B30
      Stylus Office B33
      Stylus Office B40W
      Stylus Office BX300F
      Stylus Office BX600FW
      Stylus Office SX600FW
      Stylus Office T30
      Stylus Office T33
      Stylus Office T40W
      Stylus Office TX300F
      Stylus Office TX600FW
      Stylus Photo 1400
      Stylus Photo 1410
      Stylus Photo R230
      Stylus Photo R240
      Stylus Photo R245
      Stylus Photo R260
      Stylus Photo R265
      Stylus Photo R270
      Stylus Photo R280
      Stylus Photo R285
      Stylus Photo R290
      Stylus Photo R350
      Stylus Photo R360
      Stylus Photo R380
      Stylus Photo R390
      Stylus Photo R1900
      Stylus Photo RX560
      Stylus Photo RX580
      Stylus Photo RX585
      Stylus Photo RX590
      Stylus Photo RX595
      Stylus Photo RX610
      Stylus Photo RX640
      Stylus Photo RX680
      Stylus Photo RX685
      Stylus Photo RX690
      Stylus SX200
      Stylus SX205
      Stylus SX400
      Stylus SX405
      Stylus TX200
      Stylus TX400
      WorkForce 30
      WorkForce 40
      WorkForce 500
      WorkForce 600
      Artisan 700 (experimental)
      Artisan 800 (experimental)
      Stylus NX100 (experimental)
      Stylus NX300 (experimental)
      Stylus PX700FW (experimental)
      Stylus PX800FW (experimental)
      Stylus Photo TX700W (experimental)
      Stylus Photo TX800W (experimental)
      Stylus Pro 7800 (experimental)
      Stylus Pro 7880 (experimental)
      Stylus Pro 9800 (experimental)
      Stylus Pro 9880 (experimental)
      Stylus Pro 11880 (experimental)
      Stylus S20 (experimental)
      Stylus SX100 (experimental)
      Stylus SX105 (experimental)
      Stylus T20 (experimental)
      Stylus TX100 (experimental)

   2) Canon inkjet printers:

      BJC5100
      BJC5500
      BJC8500
      PIXMA MP150
      PIXMA MP170
      PIXMA MP180
      PIXMA MP500
      PIXMA MP520
      PIXMA MP610
      PIXMA MP700
      PIXMA MP710
      PIXMA MP730
      PIXMA MP740
      PIXMA MP750
      PIXMA MP760
      PIXMA MP770
      PIXMA MP780
      PIXMA MP790
      PIXMA MP830
      PIXMA Pro 9500
      PIXMA iP2000
      PIXMA iP3000
      PIXMA iP3100
      PIXMA iP4100
      PIXMA iP4200
      PIXMA iP4300
      PIXMA iP4500
      PIXMA iP5000
      PIXMA iP5200
      PIXMA iP5300
      PIXMA iP6000D
      PIXMA iP6700
      PIXMA iP8500
      PIXMA iX5000
      PIXUS iP3100
      PIXUS iP4100
      i560
      i80
      i850
      i860
      i865

   3) Dye sublimation printers

      Canon CP-10
      Canon SELPHY ES1 (*)
      Canon SELPHY ES2 (*)
      Canon SELPHY ES20 (*)
      Fujifilm FinePix NX-500
      Kodak Easyshare Printer
      Olympus P-S100
      Shinko CHC S9045
      Sony DPP-EX5
      Sony UP-DR100

      (*) Note that these printers may not work on all systems due to
	  communication requirements.

   4) Lexmark inkjet and compatible printers:

      Compaq IJ1200
      Lexmark X73

   5) Laser printers (black and white only):

      Brother DCP-8045D
      Brother HL-1430
      Brother HL-1450
      Brother HL-1470N
      Brother HL-1650
      Brother HL-1670N
      Brother HL-1850
      Brother HL-1870N
      Brother HL-2060
      Brother HL-2460
      Brother HL-2460N
      Brother HL-5030
      Brother HL-5040
      Brother HL-5050
      Brother HL-5070N
      Brother HL-5140
      Brother HL-5150D
      Brother HL-5170DN
      Brother HL-7050
      Brother HL-7050N
      Epson EPL-N2050
      Epson EPL-N2050+
      Epson EPL-N2050PS
      Epson EPL-N2050PS+
      Epson EPL-N2120
      Epson EPL-N2500
      Epson EPL-N2500PS
      Epson EPL-N2750
      Epson EPL-N2750PS
      Gestetner 10512
      Gestetner 2212
      Gestetner 2712
      Gestetner 3212
      Gestetner 3502
      Gestetner 3532
      Gestetner 4235g
      Gestetner 4245g
      Gestetner 4502
      Gestetner 4532
      Gestetner 6002
      Gestetner 7502
      Gestetner 9002
      Gestetner DS645G
      Gestetner DSm415
      Gestetner DSm416
      Gestetner DSm615
      Gestetner DSm616
      Gestetner DSm618
      Gestetner DSm618d
      Gestetner DSm620
      Gestetner DSm620d
      Gestetner DSm622
      Gestetner DSm625
      Gestetner DSm627
      Gestetner DSm635
      Gestetner DSm635G
      Gestetner DSm645
      Gestetner DSm651
      Gestetner DSm660
      Gestetner DSm675
      Gestetner DSm7110
      Gestetner DSm7135
      Gestetner DSm716
      Gestetner DSm721d
      Gestetner DSm725
      Gestetner DSm725e
      Gestetner DSm730
      Gestetner DSm730e
      Gestetner DSm735
      Gestetner DSm735G
      Gestetner DSm735e
      Gestetner DSm745
      Gestetner DSm745G
      Gestetner DSm745e
      Gestetner DSm755
      Gestetner DSm765
      Gestetner DSm775
      Gestetner DSm790
      Gestetner MP 161
      Gestetner MP 1100
      Gestetner MP 1350
      Gestetner MP 1600
      Gestetner MP 2000
      Gestetner MP 2500
      Gestetner MP 2510
      Gestetner MP 2550
      Gestetner MP 2550B
      Gestetner MP 3010
      Gestetner MP 3350
      Gestetner MP 3350B
      Gestetner MP 3500
      Gestetner MP 4000
      Gestetner MP 4000B
      Gestetner MP 4500
      Gestetner MP 5000
      Gestetner MP 5000B
      Gestetner MP 5500
      Gestetner MP 6500
      Gestetner MP 7500
      Gestetner MP 9000
      HP LaserJet 1022
      HP LaserJet 1160
      HP LaserJet 1320
      HP LaserJet 2410
      HP LaserJet 2420
      HP LaserJet 2430
      HP LaserJet 3015
      HP LaserJet 3020
      HP LaserJet 3030
      HP LaserJet 3050
      HP LaserJet 3052
      HP LaserJet 3055
      HP LaserJet 3380
      HP LaserJet 3390
      HP LaserJet 3392
      HP LaserJet 4240
      HP LaserJet 4250
      HP LaserJet 4345 mfp
      HP LaserJet 4350
      HP LaserJet 5200
      HP LaserJet 5200L
      HP LaserJet 9040
      HP LaserJet 9040 MFP
      HP LaserJet 9050
      HP LaserJet 9050 MFP
      HP LaserJet M3027 MFP
      HP LaserJet M3035 MFP
      HP LaserJet M4345 MFP
      HP LaserJet M5025 MFP
      HP LaserJet M5035 MFP
      HP LaserJet P2010
      HP LaserJet P2015
      HP LaserJet P3004
      HP LaserJet P3005
      Infotec 4353 MF
      Infotec 4452 MF
      Infotec IS 2015
      Infotec IS 2018
      Infotec IS 2018D
      Infotec IS 2022
      Infotec IS 2027
      Infotec IS 2032
      Infotec IS 2035
      Infotec IS 2045
      Infotec IS 2060
      Infotec IS 2075
      Infotec IS 2090
      Infotec IS 2105
      Infotec IS 2122
      Infotec IS 2127
      Infotec IS 2132
      Infotec IS 2135
      Infotec IS 2145
      Infotec IS 2151
      Infotec IS 2160
      Infotec IS 2175
      Infotec IS 2215
      Infotec IS 2216
      Infotec IS 2220
      Infotec IS 2220D
      Infotec IS 2225
      Infotec IS 2230
      Infotec IS 2235
      Infotec IS 2245
      Infotec IS 2255
      Infotec IS 2265
      Infotec IS 2275
      Infotec IS 2316
      Infotec IS 2320
      Infotec IS 2325
      Infotec IS 2416
      Infotec IS 2425
      Infotec IS 2430
      Infotec IS 2435
      Infotec IS 2445
      Infotec IS 3090
      Infotec IS 3110
      Infotec IS 3135
      Infotec MP 2550
      Infotec MP 2550B
      Infotec MP 3350
      Infotec MP 3350B
      Infotec MP 4000
      Infotec MP 4000B
      Infotec MP 5000
      Infotec MP 5000B
      Lanier 5622
      Lanier 5627
      Lanier 5632
      Lanier 5635
      Lanier 5645
      Lanier LD015
      Lanier LD016
      Lanier LD035
      Lanier LD040
      Lanier LD040B
      Lanier LD045
      Lanier LD050
      Lanier LD050B
      Lanier LD060
      Lanier LD075
      Lanier LD090
      Lanier LD115
      Lanier LD116
      Lanier LD118
      Lanier LD118d
      Lanier LD120
      Lanier LD120d
      Lanier LD122
      Lanier LD125
      Lanier LD127
      Lanier LD132
      Lanier LD135
      Lanier LD145
      Lanier LD151
      Lanier LD160
      Lanier LD175
      Lanier LD190
      Lanier LD225
      Lanier LD230
      Lanier LD235
      Lanier LD245
      Lanier LD255
      Lanier LD265
      Lanier LD275
      Lanier LD316
      Lanier LD320d
      Lanier LD325
      Lanier LD330
      Lanier LD335
      Lanier LD345
      Lanier LD425
      Lanier LD425B
      Lanier LD433
      Lanier LD433B
      Lanier LD0105
      Lanier LD1100
      Lanier LD1135
      Lanier MP 161
      Lanier MP 1100
      Lanier MP 1350
      Lanier MP 1600
      Lanier MP 2000
      Lanier MP 2500
      Lanier MP 2510
      Lanier MP 2550
      Lanier MP 2550B
      Lanier MP 3010
      Lanier MP 3350
      Lanier MP 3350B
      Lanier MP 3500
      Lanier MP 4000
      Lanier MP 4000B
      Lanier MP 4500
      Lanier MP 5000
      Lanier MP 5000B
      Lanier MP 5500
      Lanier MP 6500
      Lanier MP 7500
      Lanier MP 9000
      Lexmark Optra E220
      Lexmark Optra E321
      NRG 2205
      NRG 2212
      NRG 2238
      NRG 2705
      NRG 2712
      NRG 2738
      NRG 3205
      NRG 3212
      NRG 3238
      NRG 3502
      NRG 3508
      NRG 3518
      NRG 3525
      NRG 3532
      NRG 3545
      NRG 4502
      NRG 4508
      NRG 4518
      NRG 4525
      NRG 4532
      NRG 4545
      NRG 6002
      NRG 6005
      NRG 6008
      NRG 7502
      NRG 7505
      NRG 7508
      NRG 9002
      NRG 9005
      NRG 9008
      NRG 10512
      NRG 10515
      NRG 10518
      NRG DSm415
      NRG DSm615
      NRG DSm616
      NRG DSm618
      NRG DSm618d
      NRG DSm620
      NRG DSm620d
      NRG DSm622
      NRG DSm627
      NRG DSm632
      NRG DSm635
      NRG DSm645
      NRG DSm651
      NRG DSm660
      NRG DSm675
      NRG DSm725
      NRG DSm730
      NRG DSm735
      NRG DSm745
      NRG MP 161
      NRG MP 1100
      NRG MP 1350
      NRG MP 1600
      NRG MP 2000
      NRG MP 2500
      NRG MP 2510
      NRG MP 2550
      NRG MP 2550B
      NRG MP 3010
      NRG MP 3350
      NRG MP 3350B
      NRG MP 3500
      NRG MP 4000
      NRG MP 4000B
      NRG MP 4500
      NRG MP 5000
      NRG MP 5000B
      NRG MP 5500
      NRG MP 6500
      NRG MP 7500
      NRG MP 9000
      Ricoh Aficio 220
      Ricoh Aficio 1022
      Ricoh Aficio 1027
      Ricoh Aficio 1032
      Ricoh Aficio 1035
      Ricoh Aficio 1045
      Ricoh Aficio 1060
      Ricoh Aficio 1075
      Ricoh Aficio 1515
      Ricoh Aficio 2015
      Ricoh Aficio 2016
      Ricoh Aficio 2018
      Ricoh Aficio 2018D
      Ricoh Aficio 2020
      Ricoh Aficio 2020D
      Ricoh Aficio 2022
      Ricoh Aficio 2027
      Ricoh Aficio 2032
      Ricoh Aficio 2035
      Ricoh Aficio 2035e
      Ricoh Aficio 2045
      Ricoh Aficio 2045e
      Ricoh Aficio 2051
      Ricoh Aficio 2060
      Ricoh Aficio 2075
      Ricoh Aficio 2090
      Ricoh Aficio 2105
      Ricoh Aficio 3025
      Ricoh Aficio 3030
      Ricoh Aficio 3035
      Ricoh Aficio 3045
      Ricoh Aficio MP 161
      Ricoh Aficio MP 1100
      Ricoh Aficio MP 1350
      Ricoh Aficio MP 1600
      Ricoh Aficio MP 2000
      Ricoh Aficio MP 2500
      Ricoh Aficio MP 2510
      Ricoh Aficio MP 2550
      Ricoh Aficio MP 2550B
      Ricoh Aficio MP 3010
      Ricoh Aficio MP 3350
      Ricoh Aficio MP 3350B
      Ricoh Aficio MP 3500
      Ricoh Aficio MP 4000
      Ricoh Aficio MP 4000B
      Ricoh Aficio MP 4500
      Ricoh Aficio MP 5000
      Ricoh Aficio MP 5000B
      Ricoh Aficio MP 5500
      Ricoh Aficio MP 6500
      Ricoh Aficio MP 7500
      Ricoh Aficio MP 9000
      Samsung ML-1250
      Samsung ML-1450
      Samsung ML-1450PS
      Samsung ML-1650
      Samsung ML-1651N
      Samsung ML-1750
      Samsung ML-2150
      Samsung ML-2150PS
      Samsung ML-2151N
      Samsung ML-2151NPS
      Samsung ML-2152W
      Samsung ML-2152WPS
      Samsung ML-2250
      Samsung ML-2550
      Samsung ML-2551N
      Samsung ML-2552W
      Samsung ML-7300
      Samsung ML-7300N
      Savin 2235
      Savin 2245
      Savin 2522
      Savin 2527
      Savin 2532
      Savin 2535
      Savin 2545
      Savin 2560
      Savin 2575
      Savin 3515
      Savin 40105
      Savin 4015
      Savin 4018
      Savin 4018d
      Savin 4022
      Savin 4027
      Savin 4035
      Savin 4035e
      Savin 4045
      Savin 4045e
      Savin 4051
      Savin 4060
      Savin 4075
      Savin 4090
      Savin 4135eG
      Savin 4135g
      Savin 4145eG
      Savin 4145g
      Savin 7025
      Savin 8016
      Savin 8020
      Savin 8020d
      Savin 8025
      Savin 8025e
      Savin 8030
      Savin 8030e
      Savin 8035
      Savin 8035e
      Savin 8035g
      Savin 8045
      Savin 8045e
      Savin 8045g
      Savin 8055
      Savin 8065
      Savin 8075
      Savin 8090
      Savin 8110
      Savin 8135
      Savin 816
      Savin 9016
      Savin 9021d
      Savin 9025
      Savin 9025b
      Savin 9033
      Savin 9033b
      Savin 9040
      Savin 9040b
      Savin 9050
      Savin 9050b
      Sharp AR-M257
      Xerox WorkCentre M118


================================================================

V) EXCEPTIONS AND WORKAROUNDS

A) GENERAL ISSUES

  1) The Canon, Hewlett-Packard, Lexmark, and dye sublimation drivers
     do not offer all of the additional options and improvements that
     the Epson driver does.  Please contact us if you would like to
     assist with making these options available (requires C
     programming skills).


----------------

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 are multiple issues that one must be aware of when using
     Foomatic with Gutenprint.

     i) Before installing any new release of Gutenprint 5.2, 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.openprinting.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.2.0 will not work with
	the ijsgutenprint in release 5.2.1.  This is to prevent
	accidentally using incorrect data, which could cause incorrect
	function to take place.

  3) There is a known complication building "escputil" that causes
     problems on a small number of 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/UNIX
     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)

     A 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.