all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
blob 7e1d172bf0c4e6c7846238276515f6e0fa9af8f2 132416 bytes (raw)
name: gnu/packages/cups.scm 	 # note: path name is non-authoritative(*)

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
 
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages cups)
  #:use-module (gnu packages)
  #:use-module (gnu packages algebra)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages avahi)
  #:use-module (gnu packages base)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages fonts)     ; font-dejavu
  #:use-module (gnu packages fontutils)
  #:use-module (gnu packages ghostscript)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages groff)
  #:use-module (gnu packages image)
  #:use-module (gnu packages libusb)
  #:use-module (gnu packages pdf)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages polkit)
  #:use-module (gnu packages pretty-print)
  #:use-module (gnu packages python)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages qt)
  #:use-module (gnu packages scanner)
  #:use-module (gnu packages time)
  #:use-module (gnu packages tls)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system python)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix utils)
  #:use-module (srfi srfi-1)
  #:use-module (ice-9 match))

(define-public cups-filters
  (package
    (name "cups-filters")
    (version "1.27.4")
    (source(origin
              (method url-fetch)
              (uri
               (string-append "https://openprinting.org/download/cups-filters/"
                              "cups-filters-" version ".tar.xz"))
              (sha256
               (base32
                "110b1xhb5vfpcx0zq9kkas7pj281skx5dpnnr22idx509jfdzj8b"))
              (modules '((guix build utils)))
              (snippet
               ;; install backends, banners and filters to cups-filters output
               ;; directory, not the cups server directory
               '(begin
                  (substitute* "Makefile.in"
                    (("CUPS_DATADIR = @CUPS_DATADIR@")
                     "CUPS_DATADIR = $(PREFIX)/share/cups")
                    (("pkgcupsserverrootdir = \\$\\(CUPS_SERVERROOT\\)")
                     "pkgcupsserverrootdir = $(PREFIX)")
                    ;; Choose standard directories notably so that binaries are
                    ;; stripped.
                    (("pkgbackenddir = \\$\\(CUPS_SERVERBIN\\)/backend")
                     "pkgbackenddir = $(PREFIX)/lib/cups/backend")
                    (("pkgfilterdir = \\$\\(CUPS_SERVERBIN\\)/filter")
                     "pkgfilterdir = $(PREFIX)/lib/cups/filter"))
                  ;; Find bannertopdf data such as the print test page in our
                  ;; output directory, not CUPS's prefix.
                  (substitute* "configure"
                    (("\\{CUPS_DATADIR\\}/data")
                     "{prefix}/share/cups/data"))
                  #t))))
    (build-system gnu-build-system)
    (arguments
     `(#:make-flags (list (string-append "PREFIX=" %output))
       #:configure-flags
       `("--disable-driverless" ; TODO: enable this
         "--disable-mutool"     ; depends on yet another PDF library (mupdf)

         ;; Look for the "domain socket of CUPS" in /var/run/cups.
         "--localstatedir=/var"

         ;; Free software for the win.
         "--with-acroread-path=evince"

         ,(string-append "--with-test-font-path="
                         (assoc-ref %build-inputs "font-dejavu")
                         "/share/fonts/truetype/DejaVuSans.ttf")
         ,(string-append "--with-gs-path="
                         (assoc-ref %build-inputs "ghostscript")
                         "/bin/gsc")
         ,(string-append "--with-shell="
                         (assoc-ref %build-inputs "bash")
                         "/bin/bash")
         ,(string-append "--with-rcdir="
                         (assoc-ref %outputs "out") "/etc/rc.d"))

       #:phases (modify-phases %standard-phases
                  (add-after 'unpack 'patch-foomatic-hardcoded-file-names
                    (lambda* (#:key inputs outputs #:allow-other-keys)
                      ;; Foomatic has hardcoded file names we need to fix.
                      (let ((out (assoc-ref outputs "out"))
                            (gs  (assoc-ref inputs "ghostscript")))
                        (substitute* "filter/foomatic-rip/foomaticrip.c"
                          (("/usr/local/lib/cups/filter")
                           (string-append out "/lib/cups/filter")))
                        #t)))
                  (add-after 'install 'wrap-filters
                    (lambda* (#:key inputs outputs #:allow-other-keys)
                      ;; Some filters expect to find 'gs' in $PATH.  We cannot
                      ;; just hard-code its absolute file name in the source
                      ;; because foomatic-rip, for example, has tests like
                      ;; 'startswith(cmd, "gs")'.
                      (let ((out         (assoc-ref outputs "out"))
                            (ghostscript (assoc-ref inputs "ghostscript")))
                        (for-each (lambda (file)
                                    (wrap-program file
                                      `("PATH" ":" prefix
                                        (,(string-append ghostscript
                                                         "/bin")))))
                                  (find-files (string-append
                                               out "/lib/cups/filter")))
                        #t))))))
    (native-inputs
     `(("glib" ,glib "bin") ; for gdbus-codegen
       ("pkg-config" ,pkg-config)))
    (inputs
     `(("avahi"        ,avahi)
       ("fontconfig"   ,fontconfig)
       ("freetype"     ,freetype)
       ("font-dejavu"  ,font-dejavu) ; also needed by test suite
       ("ghostscript"  ,ghostscript/cups)
       ("ijs"          ,ijs)
       ("dbus"         ,dbus)
       ("lcms"         ,lcms)
       ("libjpeg"      ,libjpeg-turbo)
       ("libpng"       ,libpng)
       ("libtiff"      ,libtiff)
       ("glib"         ,glib)
       ("qpdf"         ,qpdf)
       ("poppler"      ,poppler)
       ("cups-minimal" ,cups-minimal)))
    (home-page "https://wiki.linuxfoundation.org/openprinting/cups-filters")
    (synopsis "OpenPrinting CUPS filters and backends")
    (description
     "Contains backends, filters, and other software that was once part of the
core CUPS distribution but is no longer maintained by Apple Inc.  In addition
it contains additional filters developed independently of Apple, especially
filters for the PDF-centric printing workflow introduced by OpenPrinting.")
    ;; Different filters and backends have different licenses; see COPYING for
    ;; details
    (license (list license:gpl2
                   license:gpl2+
                   license:gpl3
                   license:gpl3+
                   license:lgpl2.0+
                   license:expat))))

;; CUPS on non-MacOS systems requires cups-filters.  Since cups-filters also
;; depends on CUPS libraries and binaries, cups-minimal has been added to
;; satisfy this dependency.
(define-public cups-minimal
  (package
    (name "cups-minimal")
    (version "2.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://github.com/apple/cups/releases/download/v"
                           version "/cups-" version "-source.tar.gz"))
       (sha256
        (base32
         "1vpk0b2vq830f8fvf9z8qjsm5k141i7pi8djbinpnr78pi4dj7r6"))))
    (build-system gnu-build-system)
    (arguments
     `(#:configure-flags
       '("--disable-launchd"
         "--disable-systemd"
         "--disable-avahi"
         "--disable-dnssd")
       ;; Seven tests fail, mostly because of files that are provided by the
       ;; cups-filters package.
       #:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-before 'configure 'patch-makedefs
           (lambda _
             (substitute* "Makedefs.in"
               (("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@")
               (("/bin/sh") (which "sh")))
             #t))
         ;; Make the compressed manpages writable so that the
         ;; reset-gzip-timestamps phase does not error out.
         (add-before 'reset-gzip-timestamps 'make-manpages-writable
           (lambda* (#:key outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (man (string-append out "/share/man")))
               (for-each (lambda (file) (chmod file #o644))
                         (find-files man "\\.gz"))
               #t)))
         (add-before 'build 'patch-tests
           (lambda _
             (substitute* "tools/ippeveprinter.c"
               (("#  else /\\* HAVE_AVAHI \\*/")
                "#elif defined(HAVE_AVAHI)"))
             #t)))))
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (inputs
     `(("zlib"  ,zlib)
       ("gnutls" ,gnutls)))
    (home-page "https://www.cups.org")
    (synopsis "The Common Unix Printing System")
    (description
     "CUPS is a printing system that uses the Internet Printing Protocol
(@dfn{IPP}).  It provides System V and BSD command-line interfaces, as well
as a Web interface and a C programming interface to manage printers and print
jobs.  It supports printing to both local (parallel, serial, USB) and
networked printers, and printers can be shared from one computer to another.
Internally, CUPS uses PostScript Printer Description (@dfn{PPD}) files to
describe printer capabilities and features, and a wide variety of generic and
device-specific programs to convert and print many types of files.")
    ;; CUPS is Apache 2.0 with exceptions, see the NOTICE file.
    (license license:asl2.0)))

(define-public cups
  (package/inherit cups-minimal
    (name "cups")
    (arguments
     `(;; Three tests fail:
       ;; * two tests in ipp-1.1.test related to "RFC 2911 section 3.2.6:
       ;;   Get-Jobs Operation"
       ;; * test of number of error/warning messages, probably related to a
       ;;   missing font.
       #:tests? #f
       #:configure-flags
       '("--disable-launchd"
         "--disable-systemd")
       #:phases
       (modify-phases %standard-phases
         (add-before 'configure 'patch-makedefs
           (lambda _
             (substitute* "Makedefs.in"
               (("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@")
               (("/bin/sh") (which "sh")))
             #t))
         (add-before 'check 'patch-tests
           (lambda _
             (let ((filters (assoc-ref %build-inputs "cups-filters"))
                   (catpath (string-append
                             (assoc-ref %build-inputs "coreutils") "/bin/"))
                   (testdir (string-append (getcwd) "/tmp/")))
               (mkdir testdir)
               (substitute* "test/run-stp-tests.sh"
                 ((" *BASE=/tmp/") (string-append "BASE=" testdir))

                 ;; allow installation of filters from output dir and from
                 ;; cups-filters
                 (("for dir in /usr/libexec/cups/filter /usr/lib/cups/filter")
                  (string-append
                   "for dir in "
                   (assoc-ref %outputs "out") "/lib/cups/filter "
                   filters "/lib/cups/filter"))

                 ;; check for charsets in cups-filters output
                 (("/usr/share/cups/charsets")
                  (string-append filters "/share/cups/charsets"))

                 ;; install additional required filters
                 (("instfilter texttopdf texttopdf pdf")
                  (string-append
                   "instfilter texttopdf texttopdf pdf;"
                   "instfilter imagetoraster imagetoraster raster;"
                   "instfilter gstoraster gstoraster raster;"
                   "instfilter urftopdf urftopdf pdf;"
                   "instfilter rastertopdf rastertopdf pdf;"
                   "instfilter pstopdf pstopdf pdf"))

                 ;; specify location of lpstat binary
                 (("description=\"`lpstat -l")
                  "description=\"`../systemv/lpstat -l")

                 ;; patch shebangs of embedded scripts
                 (("#!/bin/sh") (string-append "#!" (which "sh")))

                 ;; also link mime definitions from cups-filters
                 ;; to enable the additional filters for the test suite
                 (("ln -s \\$root/conf/mime\\.types")
                  (string-append
                   "ln -s " filters
                   "/share/cups/mime/cupsfilters.types $BASE/share/mime; "
                   "ln -s $root/conf/mime.types"))
                 (("ln -s \\$root/conf/mime\\.convs")
                  (string-append
                   "ln -s " filters
                   "/share/cups/mime/cupsfilters.convs $BASE/share/mime; "
                   "ln -s $root/conf/mime.convs")))

               ;; fix search path for "cat"
               (substitute* "cups/testfile.c"
                 (("cupsFileFind\\(\"cat\", \"/bin\"")
                  (string-append "cupsFileFind(\"cat\", \"" catpath "\""))
                 (("cupsFileFind\\(\"cat\", \"/bin:/usr/bin\"")
                  (string-append "cupsFileFind(\"cat\", \"" catpath "\"")))
               #t)))
         ;; Make the compressed manpages writable so that the
         ;; reset-gzip-timestamps phase does not error out.
         (add-before 'reset-gzip-timestamps 'make-manpages-writable
           (lambda* (#:key outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (man (string-append out "/share/man")))
               (for-each (lambda (file) (chmod file #o644))
                         (find-files man "\\.gz"))
               #t)))
         (add-after 'install 'install-cups-filters-symlinks
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out"))
                   (cups-filters (assoc-ref inputs "cups-filters")))
               ;; charsets
               (symlink
                (string-append cups-filters "/share/cups/charsets")
                (string-append out "/share/charsets"))

               ;; mime types, driver file, ppds
               (for-each
                (lambda (f)
                  (symlink (string-append cups-filters f)
                           (string-append out f)))
                '("/share/cups/mime/cupsfilters.types"
                  "/share/cups/mime/cupsfilters.convs"
                  "/share/cups/drv/cupsfilters.drv"
                  "/share/ppd"))

               ;; filters
               (for-each
                (lambda (f)
                  (symlink f
                           (string-append out "/lib/cups/filter" (basename f))))
                (find-files (string-append cups-filters "/lib/cups/filter")))

               ;; backends
               (for-each
                (lambda (f)
                  (symlink (string-append cups-filters f)
                           (string-append out "/lib/cups/backend/"
                                          (basename f))))
                '("/lib/cups/backend/parallel"
                  "/lib/cups/backend/serial"))

               ;; banners
               (let ((banners "/share/cups/banners"))
                 (delete-file-recursively (string-append out banners))
                 (symlink (string-append cups-filters banners)
                          (string-append out banners)))

               ;; assorted data
               (let ((data "/share/cups/data"))
                 (delete-file-recursively (string-append out data))
                 (symlink (string-append cups-filters data)
                          (string-append out data)))

               #t))))))
    (inputs
     `(("avahi" ,avahi)
       ("gnutls" ,gnutls)
       ("cups-filters" ,cups-filters)
       ("zlib"  ,zlib)))))

(define-public cups-pk-helper
  (package
    (name "cups-pk-helper")
    (version "0.2.6")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://freedesktop.org/software/"
                                  name "/releases/" name "-" version ".tar.xz"))
              (sha256
               (base32
                "0a52jw6rm7lr5nbyksiia0rn7sasyb5cjqcb95z1wxm2yprgi6lm"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("intltool" ,intltool)
       ("pkg-config" ,pkg-config)
       ("glib" ,glib)
       ("polkit" ,polkit)
       ("cups" ,cups)))
    (home-page "https://www.freedesktop.org/wiki/Software/cups-pk-helper/")
    (synopsis "PolicyKit helper to configure CUPS with fine-grained privileges")
    (description
     "This package provides the org.opensuse.CupsPkHelper.Mechanism DBus
system service which uses @file{cups-pk-helper-mechanism}.  This package
should only be used as part of the Guix cups-pk-helper service.")
    (license license:gpl2+)))

(define-public hplip
  (package
    (name "hplip")
    (version "3.20.11")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/hplip/hplip/" version
                                  "/hplip-" version ".tar.gz"))
              (sha256
               (base32
                "04fvdyjyjbkviy3awgm7g43p3lrvrsmgaqz8bwra22g7v2rpa5hb"))
              (modules '((guix build utils)))
              (patches (search-patches "hplip-remove-imageprocessor.patch"))
              (snippet
               '(begin
                  ;; Delete non-free blobs: .so files, pre-compiled
                  ;; 'locatedriver' executable, etc.
                  (for-each delete-file
                            (find-files "."
                                        (lambda (file stat)
                                          (elf-file? file))))
                  (delete-file "prnt/hpcups/ImageProcessor.h")

                  ;; Install binaries under libexec/hplip instead of
                  ;; share/hplip; that'll at least ensure they get stripped.
                  ;; It's not even clear that they're of any use though...
                  (substitute* "Makefile.in"
                    (("^dat2drvdir =.*")
                     "dat2drvdir = $(pkglibexecdir)\n")
                    (("^locatedriverdir =.*")
                     "locatedriverdir = $(pkglibexecdir)\n"))
                  #t))))
    (build-system gnu-build-system)
    (outputs (list "out" "ppd"))
    (home-page "https://developers.hp.com/hp-linux-imaging-and-printing")
    (synopsis "HP printer drivers")
    (description
     "Hewlett-Packard printer drivers and PostScript Printer Descriptions
(@dfn{PPD}s).")

    ;; The 'COPYING' file lists directories where each of these 3 licenses
    ;; applies.
    (license (list license:gpl2+ license:bsd-3 license:expat))

    ;; TODO install apparmor profile files eventually.
    (arguments
     `(#:configure-flags
       `("--disable-network-build"
         ,(string-append "--prefix=" (assoc-ref %outputs "out"))
         ,(string-append "--sysconfdir=" (assoc-ref %outputs "out") "/etc")
         ,(string-append "LDFLAGS=-Wl,-rpath="
                         (assoc-ref %outputs "out") "/lib")
         ;; Disable until mime.types merging works (FIXME).
         "--disable-fax-build"
         "--enable-new-hpcups"
         ;; TODO add foomatic drv install eventually.
         ;; TODO --enable-policykit eventually.
         ,(string-append "--with-cupsfilterdir="
                         (assoc-ref %outputs "out") "/lib/cups/filter")
         ,(string-append "--with-cupsbackenddir="
                         (assoc-ref %outputs "out") "/lib/cups/backend")
         ,(string-append "--with-hpppddir="
                         (assoc-ref %outputs "ppd") "/share/ppd/HP")
         ,(string-append "--with-icondir="
                         (assoc-ref %outputs "out") "/share/applications")
         ,(string-append "--with-systraydir="
                         (assoc-ref %outputs "out") "/etc/xdg")
         "--enable-qt5" "--disable-qt4")

       #:imported-modules ((guix build python-build-system)
                           ,@%gnu-build-system-modules)
       #:modules ((guix build gnu-build-system)
                  (guix build utils)
                  ((guix build python-build-system) #:prefix python:))

       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'fix-hard-coded-file-names
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out"))
                   ;; FIXME: use merged ppds (I think actually only
                   ;; drvs need to be merged).
                   (cupsdir (assoc-ref inputs "cups-minimal")))
               (substitute* "base/g.py"
                 (("'/usr/share;[^']*'")
                  (string-append "'" cupsdir "/share'"))
                 (("'/etc/hp/hplip.conf'")
                  (string-append "'" out
                                 "/etc/hp/hplip.conf" "'")))

               (substitute* "Makefile.in"
                 (("[[:blank:]]check-plugin\\.py[[:blank:]]") " ")
                 ;; FIXME Use beginning-of-word in regexp.
                 (("[[:blank:]]plugin\\.py[[:blank:]]") " ")
                 (("/usr/include/libusb-1.0")
                  (string-append (assoc-ref inputs "libusb")
                                 "/include/libusb-1.0"))
                 (("hplip_statedir =.*$")
                  ;; Don't bail out while trying to create
                  ;; /var/lib/hplip.  We can safely change its value
                  ;; here because it's hard-coded in the code anyway.
                  "hplip_statedir = $(prefix)\n")
                 (("hplip_confdir = /etc/hp")
                  ;; This is only used for installing the default config.
                  (string-append "hplip_confdir = " out
                                 "/etc/hp"))
                 (("halpredir = /usr/share/hal/fdi/preprobe/10osvendor")
                  ;; We don't use hal.
                  (string-append "halpredir = " out
                                 "/share/hal/fdi/preprobe/10osvendor"))
                 (("rulesdir = /etc/udev/rules.d")
                  ;; udev rules will be merged by base service.
                  (string-append "rulesdir = " out
                                 "/lib/udev/rules.d"))
                 (("rulessystemdir = /usr/lib/systemd/system")
                  ;; We don't use systemd.
                  (string-append "rulessystemdir = " out
                                 "/lib/systemd/system"))
                 (("/etc/sane.d")
                  (string-append out "/etc/sane.d")))
               #t)))
         (add-before 'configure 'fix-build-with-python-3.8
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((python (assoc-ref inputs "python")))
               ;; XXX: The configure script looks for Python headers in the
               ;; wrong places as of version 3.20.3.  Help it by adding the
               ;; include directory on C_INCLUDE_PATH.
               (when python
                 (setenv "C_INCLUDE_PATH"
                         (string-append python "/include/python"
                                        (python:python-version python)
                                        ":" (getenv "C_INCLUDE_PATH"))))
               #t)))
         (add-after 'install 'install-models-dat
           (lambda* (#:key outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (models-dir (string-append out
                                               "/share/hplip/data/models")))
               (install-file "data/models/models.dat" models-dir))
             #t))
         (add-after 'install 'wrap-binaries
           ;; Scripts in /bin are all symlinks to .py files in /share/hplip.
           ;; Symlinks are immune to the Python build system's 'WRAP phase,
           ;; and the .py files can't be wrapped because they are reused as
           ;; modules.  Replacing the symlinks in /bin with copies and
           ;; wrapping them also doesn't work (“ModuleNotFoundError:
           ;; No module named 'base'”).  Behold: a custom WRAP-PROGRAM.
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (bin (string-append out "/bin"))
                    (python (assoc-ref inputs "python")))
               (with-directory-excursion bin
                 (for-each (lambda (file)
                             (let ((target (readlink file)))
                               (delete-file file)
                               (with-output-to-file file
                                 (lambda _
                                   (format #t
                                           "#!~a~@
                                           export PYTHONPATH=\"~a:~a\"~@
                                           exec -a \"$0\" \"~a/~a\" \"$@\"~%"
                                           (which "bash")
                                           (string-append
                                            out "/lib/python"
                                            (python:python-version python)
                                            "/site-packages")
                                           (getenv "PYTHONPATH")
                                           bin target)))
                               (chmod file #o755)))
                  (find-files "." (lambda (file stat)
                                    (eq? 'symlink (stat:type stat)))))
                 #t)))))))

    ;; Note that the error messages printed by the tools in the case of
    ;; missing dependencies are often downright misleading.
    ;; TODO: hp-toolbox still fails to start with:
    ;;   from dbus.mainloop.pyqt5 import DBusQtMainLoop
    ;;   ModuleNotFoundError: No module named 'dbus.mainloop.pyqt5'
    (inputs
     `(("cups-minimal" ,cups-minimal)
       ("dbus" ,dbus)
       ("libjpeg" ,libjpeg-turbo)
       ("libusb" ,libusb)
       ("python" ,python)
       ("python-dbus" ,python-dbus)
       ("python-pygobject" ,python-pygobject)
       ("python-pyqt" ,python-pyqt)
       ("python-wrapper" ,python-wrapper)
       ("sane-backends" ,sane-backends-minimal)
       ("zlib" ,zlib)))
    (native-inputs
     `(("perl" ,perl)
       ("pkg-config" ,pkg-config)))))

(define-public hplip-minimal
  (package
    (inherit hplip)
    (name "hplip-minimal")
    (arguments
      (substitute-keyword-arguments (package-arguments hplip)
        ((#:configure-flags cf)
         ;; Produce a "light build", meaning that only the printer (CUPS) and
         ;; scanner (SANE) support gets built, without all the 'hp-*'
         ;; command-line tools.
         `(cons "--enable-lite-build"
                (delete "--enable-qt5" ,cf)))
        ((#:phases phases)
         ;; The 'wrap-binaries' is not needed here since the 'hp-*' programs
         ;; are not installed.
         `(alist-delete 'wrap-binaries ,phases))))
    (inputs (remove (match-lambda
                      ((label . _)
                       (string-prefix? "python" label)))
                    (package-inputs hplip)))
    (synopsis "GUI-less version of hplip")))

(define-public foomatic-filters
  (package
    (name "foomatic-filters")
    (version "4.0.17")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "http://www.openprinting.org/download/foomatic/"
                    "foomatic-filters-" version ".tar.gz"))
              (sha256
               (base32
                "1qrkgbm5jay2r7sh9qbyf0aiyrsl1mdc844hxf7fhw95a0zfbqm2"))
              (patches
               (search-patches "foomatic-filters-CVE-2015-8327.patch"
                               "foomatic-filters-CVE-2015-8560.patch"))))
    (build-system gnu-build-system)
    (home-page
     "https://wiki.linuxfoundation.org/openprinting/database/foomatic")
    (native-inputs
     `(("perl" ,perl)
       ("pkg-config" ,pkg-config)))
    (inputs
     `(("dbus" ,dbus)
       ("a2ps" ,a2ps)))
    (arguments
     '( ;; Specify the installation directories.
       #:configure-flags (list (string-append "ac_cv_path_CUPS_BACKENDS="
                                              (assoc-ref %outputs "out")
                                              "/lib/cups/backend")
                               (string-append "ac_cv_path_CUPS_FILTERS="
                                              (assoc-ref %outputs "out")
                                              "/lib/cups/filter")
                               (string-append "ac_cv_path_PPR_INTERFACES="
                                              (assoc-ref %outputs "out")
                                              "/lib/ppr/interfaces")
                               (string-append "ac_cv_path_PPR_LIB="
                                              (assoc-ref %outputs "out")
                                              "/lib/ppr/lib")

                               ;; For some reason these are misdiagnosed.
                               "ac_cv_func_malloc_0_nonnull=yes"
                               "ac_cv_func_realloc_0_nonnull=yes")
       #:test-target "tests"))
    (synopsis "Convert PostScript to the printer's native format")
    (description
     "This package contains filter scripts used by the printer spoolers to
convert the incoming PostScript data into the printer's native format using a
printer/driver specific, but spooler-independent PPD file.")
    (license license:gpl2+)))

(define-public foo2zjs
  (package
    (name "foo2zjs")
    (version "20200610")
    (source (origin
              (method url-fetch)
              ;; XXX: This is an unversioned URL!
              (uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz")
              (sha256
               (base32
                "11ddx6wf8b5ksl4fqw6fnyz9m3y470lryyrskkya2bsch2bvj9lg"))))
    (build-system gnu-build-system)
    (arguments
     '(#:phases (modify-phases %standard-phases
                  (replace 'configure
                    (lambda* (#:key outputs #:allow-other-keys)
                      (substitute* (find-files "." "^Makefile$")
                        ;; Set the installation directory.
                        (("^PREFIX[[:blank:]]*=.*$")
                         (string-append "PREFIX = "
                                        (assoc-ref outputs "out")
                                        "\n"))
                        (("^UDEVBIN[[:blank:]]*=.*$")
                         "UDEVBIN = $(PREFIX)/bin\n")
                        ;; Don't try to chown/chgrp the installed files.
                        (("-oroot")
                         "")
                        (("-glp")
                         "")
                        ;; Placate the dependency checks.
                        (("/usr/include/stdio.h")
                         "/etc/passwd")
                        (("/usr/")
                         "$(PREFIX)/")
                        ;; Ensure fixed timestamps in man pages.
                        (("^MODTIME[[:blank:]]*=.*$")
                         "MODTIME = echo Thu Jan 01 01:00:00 1970\n"))
                      #t))
                  (add-before 'install 'make-install-dirs
                    (lambda* (#:key outputs #:allow-other-keys)
                      ;; Make missing install dirs
                      (let ((out (assoc-ref outputs "out"))
                            (dirs '("/share/cups/model"
                                    "/share/foomatic/db/source/opt"
                                    "/share/foomatic/db/source/printer"
                                    "/share/foomatic/db/source/driver"
                                    "/lib/cups/filter")))
                        (for-each (lambda (dir)
                                    (mkdir-p (string-append out dir)))
                                  dirs))))
                  (add-after 'install 'wrap-wrappers
                    (lambda* (#:key inputs outputs #:allow-other-keys)
                      (let ((out (assoc-ref outputs "out"))
                            (ghostscript (assoc-ref inputs "ghostscript"))
                            (coreutils (assoc-ref inputs "coreutils"))
                            (sed (assoc-ref inputs "sed")))
                        (for-each (lambda (file)
                                    (wrap-program file
                                      `("PATH" ":" prefix
                                        (,(string-append ghostscript "/bin:"
                                                         coreutils "/bin:"
                                                         sed "/bin")))))
                                  (find-files (string-append
                                               out "/bin") "wrapper$")))))
                  (add-after 'install 'install-cups-filters-symlinks
                    (lambda* (#:key inputs outputs #:allow-other-keys)
                      (let ((out (assoc-ref outputs "out")))
                        (for-each
                         (lambda (file)
                           (symlink file
                                    (string-append out "/lib/cups/filter/"
                                                   (basename file))))
                         (find-files (string-append out "/bin"))))))
                  (add-after 'install 'remove-pdf
                    (lambda* (#:key outputs #:allow-other-keys)
                      ;; Remove 'manual.pdf' which is (1) useless (it's a
                      ;; concatenation of man pages), and (2) not
                      ;; bit-reproducible due to <https://bugs.gnu.org/27593>.
                      (let ((out (assoc-ref outputs "out")))
                        (for-each delete-file
                                  (find-files out "^manual\\.pdf$"))
                        #t))))
       #:parallel-build? #f                       ;broken makefile
       #:tests? #f                                ;no tests
       #:make-flags '("CC=gcc")))
    (inputs
     `(("coreutils" ,coreutils)
       ("sed" ,sed)
       ("ghostscript" ,ghostscript)
       ("foomatic-filters" ,foomatic-filters)))   ;for 'foomatic-rip'
    (native-inputs
     `(("bc" ,bc)
       ("groff" ,groff)))
    (home-page "http://foo2zjs.rkkda.com/")
    (synopsis "Printer driver for ZjStream-based printers")
    (description
     "foo2zjs is a printer driver for printers that use the Zenographics
ZjStream wire protocol for their print data, often erroneously referred to as
winprinters or GDI printers.

It supports Minolta/QMS@tie{}Magicolor, Minolta@tie{}Color@tie{}PageWorks/Pro,
HP@tie{}LaserJet, and possibly other printers.  See @file{README} for details.")
    (license (list license:expat        ; icc2ps/*.[ch]
                   license:gpl2+))))    ; everything else

(define-public epson-inkjet-printer-escpr
  (package
    (name "epson-inkjet-printer-escpr")
    (version "1.7.8")
    ;; XXX: This currently works.  But it will break as soon as a newer
    ;; version is available since the URLs for older versions are not
    ;; preserved.  An alternative source will be added as soon as
    ;; available.
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/12/04/32/"
                           "1a455ef8618def65700ca4e446311c2fb43cd839/"
                           "epson-inkjet-printer-escpr-1.7.8-1lsb3.2.tar.gz"))
       (sha256
        (base32 "1pygg2bd2gh27dc65h3dzwrpvi6bq5c87wl0ldchqlc2b3blsx6p"))))
    (build-system gnu-build-system)
    (arguments
     `(#:modules
       ((srfi srfi-26)
        ,@%gnu-build-system-modules)
       #:configure-flags
       `("--disable-static"
         ,(string-append "--prefix="
                         (assoc-ref %outputs "out"))
         ,(string-append "--with-cupsfilterdir="
                         (assoc-ref %outputs "out") "/lib/cups/filter")
         ,(string-append "--with-cupsppddir="
                         (assoc-ref %outputs "out") "/share/cups/model"))
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'patch-autotools-version-requirement
           (lambda _
             (substitute* "aclocal.m4"
               (("1\\.15")
                ,(package-version automake)))
             (substitute* "configure"
               (("^(ACLOCAL=).*" _ match)
                (string-append match "aclocal"))
               (("^(AUTOMAKE=).*" _ match)
                (string-append match "automake")))
             #t))
         (add-after 'install 'compress-PPDs
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out")))
               (with-directory-excursion out
                 (for-each (cut invoke "gzip" "-9" <>)
                           (find-files "share/cups" "\\.ppd$")))))))))
    (native-inputs
     `(("autoconf" ,autoconf)
       ("automake" ,automake)))
    (inputs
     `(("cups" ,cups-minimal)))
    (synopsis "ESC/P-R printer driver")
    (description
     "This package provides a filter for @acronym{CUPS, the Common UNIX Printing
System} that offers high-quality printing with Seiko@tie{}Epson color ink jet
printers.  It can be used only with printers that support the Epson@tie{}ESC/P-R
language.")
    (home-page "http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX")
    (license license:gpl2+)))

(define-public escpr
  (deprecated-package "escpr" epson-inkjet-printer-escpr))

(define-public splix
  ;; Last released in 2009 <https://sourceforge.net/projects/splix/files/>.
  ;; Last SVN commit was 2013 <https://svn.code.sf.net/p/splix/code/splix/>.
  ;; Use a more maintained fork with several bug fixes and support for newer
  ;; printer models.
  (let ((commit "76268c4dd7dbc8218ea7426401104c3b40cc707a")
        (revision "315"))
    (package
      (name "splix")
      (version (git-version "2.0.0" revision commit))
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://gitlab.com/ScumCoder/splix")
               (commit commit)))
         (file-name (git-file-name name version))
         (sha256
          (base32 "1mxsvllwwr1v8sgrax0b7gkajjhnm0l06s67spmaxz47lyll1qab"))))
      (build-system gnu-build-system)
      ;; PPDs have been obsolete since CUPS 1.2 and make up 90% of total size.
      (outputs (list "out" "ppd"))
      (arguments
       `(#:modules
         ((srfi srfi-26)
          ,@%gnu-build-system-modules)
         #:make-flags
         (list (string-append "CUPSDRV="
                              (assoc-ref %outputs "out") "/share/cups/drv")
               (string-append "CUPSFILTER="
                              (assoc-ref %outputs "out") "/lib/cups/filter")
               (string-append "CUPSPPD="
                              (assoc-ref %outputs "ppd") "/share/cups/model")
               "CACHESIZE=100"          ; pages in RAM, ±300 KiB each
               "THREADS=4")             ; compress and print faster
         #:phases
         (modify-phases %standard-phases
           (add-after 'unpack 'enter-subdirectory
             ;; The git repository replicates the top-level SVN layout.
             (lambda _
               (chdir "splix")
               #t))
           (delete 'configure)          ; no configure script
           (add-before 'build 'build-.drv-files
             (lambda* (#:key make-flags #:allow-other-keys)
               (apply invoke "make" "drv" make-flags)))
           (add-after 'install 'install-.drv-files
             (lambda* (#:key make-flags #:allow-other-keys)
               (apply invoke "make" "install" "DRV_ONLY=1" make-flags)))
           (add-after 'install 'compress-PPDs
             (lambda* (#:key outputs #:allow-other-keys)
               (let ((ppd (assoc-ref outputs "ppd")))
                 (for-each (cut invoke "gzip" "-9" <>)
                           (find-files ppd "\\.ppd$"))))))
         #:tests? #f))                  ; no test suite
      (inputs
       `(("cups" ,cups-minimal)
         ("jbigkit" ,jbigkit)
         ("zlib" ,zlib)))
      (synopsis "QPDL (SPL2) printer driver")
      (description
       "SpliX is a set of CUPS drivers for printers that speak @acronym{QPDL,
Quick Page Description Language}, also called @acronym{SPL2, Samsung Printer
Language version 2}.  These include many laser printers sold by Samsung,
Xerox, Lexmark, Toshiba, and Dell.

Colour printers need colour profile files to get better results.  These
@file{cms} files are provided by the printer's manufacturer and must be
obtained and installed separately.")
      (home-page "http://splix.ap2c.org/")
      (license license:gpl2))))

(define-public gutenprint
  (package
    (name "gutenprint")
    (version "5.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "mirror://sourceforge/gimp-print/" name "-"
                           (version-major+minor version) "/" version "/"
                           name "-" version ".tar.xz"))
       (sha256
        (base32 "0wm0akfm0dp0wrwnn03j90hqxs8vx8iy896baf68blb7isyfqybj"))))
    (build-system gnu-build-system)
    (arguments
     `(#:test-target "check-parallel"
       #:configure-flags (list "--enable-cups-level3-ppds"
                               "--enable-globalized-cups-ppds"
                               "--enable-cups-ppds"
                               "--enable-cups-1_2-enhancements")
       #:phases
       (modify-phases %standard-phases
         (add-before 'configure 'fix-paths
           (lambda* (#:key outputs native-inputs #:allow-other-keys)
             (substitute* "Makefile.in"
               (("/usr/bin/time") "time"))
             (let ((out (assoc-ref outputs "out")))
               (substitute* (find-files "." "^(Makefile|Makefile\\.in|configure)$")
                 (("^(\\s*)cups_conf_serverbin(\\s*)=(.+)$")
                  (string-append "cups_conf_serverbin=" out "/lib/cups\n"))
                 (("^(\\s*)cups_conf_serverroot(\\s*)=(.+)$")
                  (string-append "cups_conf_serverroot=" out "/etc/cups\n"))
                 (("^(\\s*)cups_conf_datadir(\\s*)=(.+)$")
                  (string-append "cups_conf_datadir=" out "/share/cups\n")))
               (substitute* "src/cups/Makefile.in"
                 (("^(\\s*)bindir(\\s*)=(.+)$")
                  (string-append "bindir = " out "/bin\n"))
                 (("^(\\s*)sbindir(\\s*)=(.+)$")
                  (string-append "sbindir = " out "/sbin\n")))
               #t))))))
    (native-inputs
     `(("perl" ,perl)
       ("time" ,time)))
    (inputs
     `(("cups" ,cups-minimal)))
    (synopsis "Printer drivers for CUPS on GNU/Linux")
    ;; Supported printers list from:
    ;; http://gimp-print.sourceforge.net/p_Supported_Printers.php
    ;; Remember to update on version bumps with this command:
    ;; $ curl http://gimp-print.sourceforge.net/p_Supported_Printers.php | \
    ;; grep -Po '(?<=^<tr><td>).+?(?=</td>)' | sed 's/^/@item /g'
    (description "Printer drivers for
CUPS on GNU/Linux, Macintosh OS X, and other POSIX-compliant operating systems.
This project also maintains an enhanced Print plug-in for GIMP 2.x from
the same code base.  This driver claims to support these printers:

@enumerate
@item Canon BJ-30
@item Canon BJC-50
@item Canon BJC-55
@item Canon BJC-80
@item Canon BJC-85
@item Canon BJC-210
@item Canon BJC-240
@item Canon BJC-250
@item Canon BJC-1000
@item Canon BJC-2000
@item Canon BJC-2010
@item Canon BJC-2100
@item Canon BJC-2110
@item Canon BJC-3000
@item Canon BJC-4000
@item Canon BJC-4300
@item Canon BJC-4400
@item Canon BJC-4550
@item Canon BJC-5100
@item Canon BJC-5500
@item Canon BJC-5500J
@item Canon BJC-6000
@item Canon BJC-6100
@item Canon BJC-6200
@item Canon BJC-6500
@item Canon BJC-7000
@item Canon BJC-7100
@item Canon BJC-8200
@item Canon BJC-8500
@item Canon S100
@item Canon S200
@item Canon S300
@item Canon S330
@item Canon S400
@item Canon S450
@item Canon S500
@item Canon S520
@item Canon S530D
@item Canon S600
@item Canon S630
@item Canon S750
@item Canon S800
@item Canon S820
@item Canon S830D
@item Canon S900
@item Canon S9000
@item Canon S4500
@item Canon SELPHY DS700
@item Canon SELPHY DS810
@item Canon PIXMA mini220
@item Canon PIXUS mini220
@item Canon PIXMA mini320
@item Canon PIXMA mini360
@item Canon PIXUS mini360
@item Canon iP90 series
@item Canon PIXMA iP90
@item Canon PIXUS iP90
@item Canon PIXMA iP90v
@item Canon PIXUS iP90v
@item Canon iP110 series
@item Canon PIXMA iP110
@item Canon PIXUS iP110
@item Canon iP2000 series
@item Canon PIXMA iP2000
@item Canon PIXUS iP2000
@item Canon iP2700 series
@item Canon PIXMA iP2700
@item Canon PIXUS iP2700
@item Canon PIXMA iP2701
@item Canon PIXMA iP2702
@item Canon PIXMA iP2740
@item Canon PIXMA iP2760
@item Canon PIXMA iP2770
@item Canon PIXMA iP2772
@item Canon PIXMA iP2780
@item Canon PIXMA iP2788
@item Canon iP2800 series
@item Canon PIXMA iP2810
@item Canon PIXMA iP2820
@item Canon PIXMA iP2840
@item Canon PIXMA iP2850
@item Canon PIXMA iP2870
@item Canon PIXMA iP2872
@item Canon PIXMA iP2880
@item Canon PIXMA iP2890
@item Canon PIXMA iP2899
@item Canon PIXMA iP3000
@item Canon PIXMA iP3100
@item Canon PIXUS iP3100
@item Canon iP3300 series
@item Canon PIXMA iP3300
@item Canon PIXUS iP3300
@item Canon iP3500 series
@item Canon PIXMA iP3500
@item Canon PIXUS iP3500
@item Canon iP3600 series
@item Canon PIXMA iP3600
@item Canon PIXUS iP3600
@item Canon PIXMA iP3680
@item Canon PIXMA iP4000
@item Canon PIXMA iP4000R
@item Canon PIXMA iP4100
@item Canon PIXUS iP4100
@item Canon PIXUS iP4100R
@item Canon PIXMA iP4100R
@item Canon iP4200 series
@item Canon PIXMA iP4200
@item Canon PIXUS iP4200
@item Canon iP4300 series
@item Canon PIXMA iP4300
@item Canon PIXUS iP4300
@item Canon iP4500 series
@item Canon PIXMA iP4500
@item Canon PIXUS iP4500
@item Canon iP4600 series
@item Canon PIXMA iP4600
@item Canon PIXUS iP4600
@item Canon PIXMA iP4680
@item Canon iP4700 series
@item Canon PIXMA iP4700
@item Canon PIXUS iP4700
@item Canon PIXMA iP4760
@item Canon iP4800 series
@item Canon PIXMA iP4800
@item Canon PIXMA iP4810
@item Canon PIXMA iP4820
@item Canon PIXUS iP4830
@item Canon PIXMA iP4840
@item Canon PIXMA iP4850
@item Canon PIXMA iP4870
@item Canon PIXMA iP4880
@item Canon iP4900 series
@item Canon PIXMA iP4900
@item Canon PIXMA iP4910
@item Canon PIXMA iP4920
@item Canon PIXUS iP4930
@item Canon PIXMA iP4940
@item Canon PIXMA iP4950
@item Canon PIXMA iP4970
@item Canon PIXMA iP4980
@item Canon PIXMA iP5000
@item Canon PIXMA iP5200
@item Canon iP5200R series
@item Canon PIXMA iP5200R
@item Canon PIXUS iP5200R
@item Canon PIXMA iP5300
@item Canon PIXMA iP6000D
@item Canon PIXMA iP6100D
@item Canon PIXUS iP6100D
@item Canon PIXMA iP6210D
@item Canon PIXMA iP6220D
@item Canon PIXMA iP6310D
@item Canon PIXMA iP6320D
@item Canon iP6600D series
@item Canon PIXMA iP6600D
@item Canon PIXUS iP6600D
@item Canon iP6700D series
@item Canon PIXMA iP6700D
@item Canon PIXUS iP6700D
@item Canon PIXMA iP7100
@item Canon PIXUS iP7100
@item Canon iP7200 series
@item Canon PIXMA iP7210
@item Canon PIXMA iP7220
@item Canon PIXUS iP7230
@item Canon PIXMA iP7240
@item Canon PIXMA iP7250
@item Canon PIXMA iP7260
@item Canon PIXMA iP7270
@item Canon PIXMA iP7280
@item Canon PIXMA iP7500
@item Canon PIXUS iP7500
@item Canon PIXMA iP8100
@item Canon PIXUS iP8100
@item Canon PIXMA iP8500
@item Canon PIXMA iP8600
@item Canon PIXUS iP8600
@item Canon iP8700 series
@item Canon PIXMA iP7810
@item Canon PIXMA iP8720
@item Canon PIXUS iP8730
@item Canon PIXMA iP8740
@item Canon PIXMA iP8750
@item Canon PIXMA iP8760
@item Canon PIXMA iP8770
@item Canon PIXMA iP8780
@item Canon PIXMA iP9910
@item Canon PIXUS iP9910
@item Canon PIXMA iX4000
@item Canon iX5000 series
@item Canon PIXMA iX5000
@item Canon PIXUS iX5000
@item Canon iX6500 series
@item Canon PIXMA iX6500
@item Canon PIXMA iX6510
@item Canon PIXMA iX6520
@item Canon PIXUS iX6530
@item Canon PIXMA iX6540
@item Canon PIXMA iX6550
@item Canon PIXMA iX6560
@item Canon PIXMA iX6580
@item Canon iX6700 series
@item Canon PIXMA iX6770
@item Canon PIXMA iX6780
@item Canon iX6800 series
@item Canon PIXMA iX6810
@item Canon PIXMA iX6820
@item Canon PIXUS iX6830
@item Canon PIXMA iX6840
@item Canon PIXMA iX6850
@item Canon PIXMA iX6860
@item Canon PIXMA iX6870
@item Canon PIXMA iX6880
@item Canon iX7000 series
@item Canon PIXMA iX7000
@item Canon PIXUS iX7000
@item Canon Pro9000 series
@item Canon PIXMA Pro9000
@item Canon PIXUS Pro9000
@item Canon Pro9000 Mk.II series
@item Canon PIXMA Pro9000mk2
@item Canon PIXUS Pro9000mk2
@item Canon Pro9500 series
@item Canon PIXMA Pro9500
@item Canon PIXUS Pro9500
@item Canon Pro9500 Mk.II series
@item Canon PIXMA Pro9500mk2
@item Canon PIXUS Pro9500mk2
@item Canon SmartBase MPC400
@item Canon SmartBase MPC600F
@item Canon PIXUS MP55
@item Canon MP140 series
@item Canon PIXMA MP140
@item Canon PIXMA MP145
@item Canon MP150 series
@item Canon PIXMA MP150
@item Canon MP160 series
@item Canon PIXMA MP160
@item Canon MP170 series
@item Canon PIXMA MP170
@item Canon PIXUS MP170
@item Canon MP180 series
@item Canon PIXMA MP180
@item Canon MP190 series
@item Canon PIXMA MP190
@item Canon PIXMA MP198
@item Canon MP210 series
@item Canon PIXMA MP210
@item Canon PIXMA MP218
@item Canon MP220 series
@item Canon PIXMA MP220
@item Canon PIXMA MP228
@item Canon MP230 series
@item Canon PIXMA MP230
@item Canon PIXMA MP236
@item Canon PIXMA MP237
@item Canon MP240 series
@item Canon PIXMA MP240
@item Canon PIXMA MP245
@item Canon MP250 series
@item Canon PIXMA MP250
@item Canon PIXMA MP252
@item Canon PIXMA MP258
@item Canon PIXMA MP259
@item Canon MP260 series
@item Canon PIXMA MP260
@item Canon PIXMA MP268
@item Canon MP270 series
@item Canon PIXMA MP270
@item Canon PIXUS MP270
@item Canon PIXMA MP272
@item Canon PIXMA MP276
@item Canon MP280 series
@item Canon PIXMA MP280
@item Canon PIXUS MP280
@item Canon PIXMA MP282
@item Canon PIXMA MP287
@item Canon PIXMA MP288
@item Canon MP360 series
@item Canon PIXMA MP360
@item Canon PIXUS MP360
@item Canon SmartBase MP360
@item Canon SmartBase MP360S
@item Canon MultiPASS MP360
@item Canon MP370 series
@item Canon PIXMA MP370
@item Canon PIXUS MP370
@item Canon SmartBase MP370
@item Canon MultiPASS MP370
@item Canon PIXMA MP375R
@item Canon PIXUS MP375R
@item Canon MP390 series
@item Canon PIXMA MP390
@item Canon PIXUS MP390
@item Canon SmartBase MP390
@item Canon MultiPASS MP390
@item Canon MP450 series
@item Canon PIXMA MP450
@item Canon PIXUS MP450
@item Canon MP460 series
@item Canon PIXMA MP460
@item Canon PIXUS MP460
@item Canon MP470 series
@item Canon PIXMA MP470
@item Canon PIXUS MP470
@item Canon PIXMA MP476
@item Canon MP480 series
@item Canon PIXMA MP480
@item Canon PIXUS MP480
@item Canon PIXMA MP486
@item Canon MP490 series
@item Canon PIXMA MP490
@item Canon PIXUS MP490
@item Canon PIXMA MP492
@item Canon PIXMA MP493
@item Canon PIXUS MP493
@item Canon PIXMA MP495
@item Canon PIXMA MP496
@item Canon PIXMA MP497
@item Canon PIXMA MP498
@item Canon PIXMA MP499
@item Canon MP500 series
@item Canon PIXMA MP500
@item Canon PIXUS MP500
@item Canon MP510 series
@item Canon PIXMA MP510
@item Canon PIXUS MP510
@item Canon MP520 series
@item Canon PIXMA MP520
@item Canon PIXUS MP520
@item Canon MP530 series
@item Canon PIXMA MP530
@item Canon MP540 series
@item Canon PIXMA MP540
@item Canon PIXUS MP540
@item Canon PIXMA MP545
@item Canon MP550 series
@item Canon PIXMA MP550
@item Canon PIXUS MP550
@item Canon PIXMA MP558
@item Canon MP560 series
@item Canon PIXMA MP560
@item Canon PIXUS MP560
@item Canon PIXMA MP568
@item Canon MP600 series
@item Canon PIXMA MP600
@item Canon PIXUS MP600
@item Canon PIXMA MP600R
@item Canon MP610 series
@item Canon PIXMA MP610
@item Canon PIXUS MP610
@item Canon MP620 series
@item Canon PIXMA MP620
@item Canon PIXMA MP620B
@item Canon PIXUS MP620
@item Canon PIXMA MP628
@item Canon MP630 series
@item Canon PIXMA MP630
@item Canon PIXUS MP630
@item Canon PIXMA MP638
@item Canon MP640 series
@item Canon PIXMA MP640
@item Canon PIXMA MP640R
@item Canon PIXUS MP640
@item Canon PIXMA MP648
@item Canon MP700 series
@item Canon PIXMA MP700
@item Canon PIXUS MP700
@item Canon SmartBase MP700
@item Canon MultiPASS MP700
@item Canon MP710 series
@item Canon PIXMA MP710
@item Canon PIXUS MP710
@item Canon MP730 series
@item Canon PIXMA MP730
@item Canon PIXUS MP730
@item Canon SmartBase MP730
@item Canon MultiPASS MP730
@item Canon MP740 series
@item Canon PIXMA MP740
@item Canon PIXUS MP740
@item Canon MP750 series
@item Canon PIXMA MP750
@item Canon MP760 series
@item Canon PIXMA MP760
@item Canon MP770 series
@item Canon PIXMA MP770
@item Canon PIXUS MP770
@item Canon MP780 series
@item Canon PIXMA MP780
@item Canon MP790 series
@item Canon PIXMA MP790
@item Canon PIXUS MP790
@item Canon MP800 series
@item Canon PIXMA MP800
@item Canon PIXUS MP800
@item Canon PIXMA MP800R
@item Canon MP810 series
@item Canon PIXMA MP810
@item Canon PIXUS MP810
@item Canon MP830 series
@item Canon PIXMA MP830
@item Canon PIXUS MP830
@item Canon MP900 series
@item Canon PIXMA MP900
@item Canon PIXUS MP900
@item Canon MP950 series
@item Canon PIXMA MP950
@item Canon PIXUS MP950
@item Canon MP960 series
@item Canon PIXMA MP960
@item Canon PIXUS MP960
@item Canon MP970 series
@item Canon PIXMA MP970
@item Canon PIXUS MP970
@item Canon MP980 series
@item Canon PIXMA MP980
@item Canon PIXUS MP980
@item Canon PIXMA MP988
@item Canon MP990 series
@item Canon PIXMA MP990
@item Canon PIXUS MP990
@item Canon PIXMA MP996
@item Canon MG2100 series
@item Canon PIXMA MG2100
@item Canon PIXMA MG2110
@item Canon PIXMA MG2120
@item Canon PIXUS MG2130
@item Canon PIXMA MG2140
@item Canon PIXMA MG2150
@item Canon PIXMA MG2160
@item Canon PIXMA MG2170
@item Canon PIXMA MG2180
@item Canon MG2200 series
@item Canon PIXMA MG2210
@item Canon PIXMA MG2220
@item Canon PIXMA MG2240
@item Canon PIXMA MG2250
@item Canon PIXMA MG2260
@item Canon PIXMA MG2270
@item Canon PIXMA MG2280
@item Canon MG2400 series
@item Canon PIXMA MG2400
@item Canon PIXMA MG2410
@item Canon PIXMA MG2420
@item Canon PIXMA MG2440
@item Canon PIXMA MG2450
@item Canon PIXMA MG2460
@item Canon PIXMA MG2470
@item Canon PIXMA MG2490
@item Canon MG2500 series
@item Canon PIXMA MG2510
@item Canon PIXMA MG2520
@item Canon PIXMA MG2522
@item Canon PIXMA MG2525
@item Canon PIXMA MG2540
@item Canon PIXMA MG2540S
@item Canon PIXMA MG2545S
@item Canon PIXMA MG2550
@item Canon PIXMA MG2550S
@item Canon PIXMA MG2555S
@item Canon PIXMA MG2560
@item Canon PIXMA MG2570
@item Canon PIXMA MG2570S
@item Canon PIXMA MG2580
@item Canon PIXMA MG2580S
@item Canon PIXMA MG2590
@item Canon MG2900 series
@item Canon PIXMA MG2910
@item Canon PIXMA MG2920
@item Canon PIXMA MG2922
@item Canon PIXMA MG2924
@item Canon PIXMA MG2940
@item Canon PIXMA MG2950
@item Canon PIXMA MG2960
@item Canon PIXMA MG2970
@item Canon PIXMA MG2980
@item Canon PIXMA MG2990
@item Canon MG3000 series
@item Canon PIXMA MG3010
@item Canon PIXMA MG3020
@item Canon PIXMA MG3022
@item Canon PIXMA MG3030
@item Canon PIXMA MG3040
@item Canon PIXMA MG3050
@item Canon PIXMA MG3051
@item Canon PIXMA MG3052
@item Canon PIXMA MG3053
@item Canon PIXMA MG3060
@item Canon PIXMA MG3070
@item Canon PIXMA MG3077
@item Canon PIXMA MG3080
@item Canon PIXMA MG3090
@item Canon MG3100 series
@item Canon PIXMA MG3100
@item Canon PIXMA MG3110
@item Canon PIXMA MG3120
@item Canon PIXMA MG3122
@item Canon PIXUS MG3130
@item Canon PIXMA MG3140
@item Canon PIXMA MG3150
@item Canon PIXMA MG3160
@item Canon PIXMA MG3170
@item Canon PIXMA MG3180
@item Canon MG3200 series
@item Canon PIXMA MG3210
@item Canon PIXMA MG3220
@item Canon PIXMA MG3222
@item Canon PIXUS MG3230
@item Canon PIXMA MG3240
@item Canon PIXMA MG3250
@item Canon PIXMA MG3260
@item Canon PIXMA MG3270
@item Canon MG3500 series
@item Canon PIXMA MG3510
@item Canon PIXMA MG3520
@item Canon PIXMA MG3522
@item Canon PIXUS MG3530
@item Canon PIXMA MG3540
@item Canon PIXMA MG3550
@item Canon PIXMA MG3560
@item Canon PIXMA MG3570
@item Canon PIXMA MG3580
@item Canon MG3600 series
@item Canon PIXMA MG3610
@item Canon PIXMA MG3620
@item Canon PIXUS MG3630
@item Canon PIXMA MG3640
@item Canon PIXMA MG3650
@item Canon PIXMA MG3670
@item Canon PIXMA MG3680
@item Canon MG4100 series
@item Canon PIXMA MG4100
@item Canon PIXMA MG4110
@item Canon PIXMA MG4120
@item Canon PIXUS MG4130
@item Canon PIXMA MG4140
@item Canon PIXMA MG4150
@item Canon PIXMA MG4160
@item Canon PIXMA MG4170
@item Canon PIXMA MG4180
@item Canon MG4200 series
@item Canon PIXMA MG4210
@item Canon PIXMA MG4220
@item Canon PIXUS MG4230
@item Canon PIXMA MG4240
@item Canon PIXMA MG4250
@item Canon PIXMA MG4260
@item Canon PIXMA MG4270
@item Canon PIXMA MG4280
@item Canon MG5100 series
@item Canon PIXMA MG5100
@item Canon PIXMA MG5120
@item Canon PIXUS MG5130
@item Canon PIXMA MG5140
@item Canon PIXMA MG5150
@item Canon PIXMA MG5170
@item Canon PIXMA MG5180
@item Canon MG5200 series
@item Canon PIXMA MG5200
@item Canon PIXMA MG5210
@item Canon PIXMA MG5220
@item Canon PIXUS MG5230
@item Canon PIXMA MG5240
@item Canon PIXMA MG5250
@item Canon PIXMA MG5270
@item Canon PIXMA MG5280
@item Canon MG5300 series
@item Canon PIXMA MG5300
@item Canon PIXMA MG5310
@item Canon PIXMA MG5320
@item Canon PIXUS MG5330
@item Canon PIXMA MG5340
@item Canon PIXMA MG5350
@item Canon PIXMA MG5370
@item Canon PIXMA MG5380
@item Canon MG5400 series
@item Canon PIXMA MG5410
@item Canon PIXMA MG5420
@item Canon PIXMA MG5422
@item Canon PIXUS MG5430
@item Canon PIXMA MG5440
@item Canon PIXMA MG5450
@item Canon PIXMA MG5460
@item Canon PIXMA MG5470
@item Canon PIXMA MG5480
@item Canon MG5500 series
@item Canon PIXMA MG5510
@item Canon PIXMA MG5520
@item Canon PIXMA MG5522
@item Canon PIXUS MG5530
@item Canon PIXMA MG5540
@item Canon PIXMA MG5550
@item Canon PIXMA MG5560
@item Canon PIXMA MG5570
@item Canon PIXMA MG5580
@item Canon MG5600 series
@item Canon PIXMA MG5610
@item Canon PIXMA MG5620
@item Canon PIXMA MG5622
@item Canon PIXUS MG5630
@item Canon PIXMA MG5640
@item Canon PIXMA MG5650
@item Canon PIXMA MG5660
@item Canon PIXMA MG5670
@item Canon Mommy Photo MG5670
@item Canon PIXMA MG5680
@item Canon MG5700 series
@item Canon PIXMA MG5710
@item Canon PIXMA MG5720
@item Canon PIXMA MG5721
@item Canon PIXMA MG5722
@item Canon PIXUS MG5730
@item Canon PIXMA MG5740
@item Canon PIXMA MG5750
@item Canon PIXMA MG5751
@item Canon PIXMA MG5752
@item Canon PIXMA MG5753
@item Canon PIXMA MG5770
@item Canon PIXMA MG5780
@item Canon PIXMA MG5790
@item Canon Mommy Photo MG5790
@item Canon PIXMA MG5795
@item Canon MG6100 series
@item Canon PIXMA MG6100
@item Canon PIXMA MG6110
@item Canon PIXMA MG6120
@item Canon PIXUS MG6130
@item Canon PIXMA MG6140
@item Canon PIXMA MG6150
@item Canon PIXMA MG6170
@item Canon PIXMA MG6180
@item Canon MG6200 series
@item Canon PIXMA MG6200
@item Canon PIXMA MG6210
@item Canon PIXMA MG6220
@item Canon PIXUS MG6230
@item Canon PIXMA MG6240
@item Canon PIXMA MG6250
@item Canon PIXMA MG6270
@item Canon PIXMA MG6280
@item Canon MG6300 series
@item Canon PIXMA MG6310
@item Canon PIXMA MG6320
@item Canon PIXUS MG6330
@item Canon PIXMA MG6340
@item Canon PIXMA MG6350
@item Canon PIXMA MG6360
@item Canon PIXMA MG6370
@item Canon PIXMA MG6380
@item Canon MG6400 series
@item Canon PIXMA MG6400
@item Canon PIXMA MG6410
@item Canon PIXMA MG6420
@item Canon PIXMA MG6440
@item Canon PIXMA MG6450
@item Canon PIXMA MG6470
@item Canon MG6500 series
@item Canon PIXUS MG6530
@item Canon MG6600 series
@item Canon PIXMA MG6610
@item Canon PIXMA MG6620
@item Canon PIXMA MG6622
@item Canon PIXMA MG6640
@item Canon PIXMA MG6650
@item Canon PIXMA MG6660
@item Canon PIXMA MG6670
@item Canon Mommy Photo MG6670
@item Canon PIXMA MG6680
@item Canon MG6700 series
@item Canon PIXUS MG6730
@item Canon MG6800 series
@item Canon PIXMA MG6810
@item Canon PIXMA MG6820
@item Canon PIXMA MG6821
@item Canon PIXMA MG6822
@item Canon PIXMA MG6840
@item Canon PIXMA MG6850
@item Canon PIXMA MG6851
@item Canon PIXMA MG6852
@item Canon PIXMA MG6853
@item Canon PIXMA MG6870
@item Canon PIXMA MG6880
@item Canon MG6900 series
@item Canon PIXUS MG6930
@item Canon MG7100 series
@item Canon PIXMA MG7110
@item Canon PIXMA MG7120
@item Canon PIXUS MG7130
@item Canon PIXMA MG7140
@item Canon PIXMA MG7150
@item Canon PIXMA MG7170
@item Canon PIXMA MG7180
@item Canon MG7500 series
@item Canon PIXMA MG7510
@item Canon PIXMA MG7520
@item Canon PIXUS MG7530
@item Canon PIXUS MG7530F
@item Canon PIXMA MG7540
@item Canon PIXMA MG7550
@item Canon PIXMA MG7560
@item Canon PIXMA MG7570
@item Canon Mommy Photo MG7570
@item Canon PIXMA MG7580
@item Canon MG7700 series
@item Canon PIXMA MG7710
@item Canon PIXMA MG7720
@item Canon PIXUS MG7730
@item Canon PIXUS MG7730F
@item Canon PIXMA MG7740
@item Canon PIXMA MG7750
@item Canon PIXMA MG7751
@item Canon PIXMA MG7752
@item Canon PIXMA MG7753
@item Canon PIXMA MG7770
@item Canon PIXMA MG7780
@item Canon PIXMA MG7790
@item Canon MG8100 series
@item Canon PIXMA MG8100
@item Canon PIXMA MG8120
@item Canon PIXMA MG8120B
@item Canon PIXUS MG8130
@item Canon PIXMA MG8140
@item Canon PIXMA MG8150
@item Canon PIXMA MG8170
@item Canon PIXMA MG8180
@item Canon MG8200 series
@item Canon PIXMA MG8200
@item Canon PIXMA MG8220
@item Canon PIXUS MG8230
@item Canon PIXMA MG8240
@item Canon PIXMA MG8250
@item Canon PIXMA MG8270
@item Canon PIXMA MG8280
@item Canon MX300 series
@item Canon PIXMA MX300
@item Canon PIXMA MX308
@item Canon MX310 series
@item Canon PIXMA MX310
@item Canon PIXMA MX318
@item Canon MX320 series
@item Canon PIXMA MX320
@item Canon PIXMA MX328
@item Canon MX330 series
@item Canon PIXMA MX330
@item Canon PIXMA MX338
@item Canon MX340 series
@item Canon PIXMA MX340
@item Canon PIXMA MX347
@item Canon PIXMA MX348
@item Canon MX350 series
@item Canon PIXMA MX350
@item Canon PIXUS MX350
@item Canon PIXMA MX357
@item Canon PIXMA MX358
@item Canon MX360 series
@item Canon PIXMA MX360
@item Canon PIXMA MX366
@item Canon PIXMA MX368
@item Canon MX370 series
@item Canon PIXMA MX370
@item Canon PIXMA MX371
@item Canon PIXMA MX372
@item Canon PIXMA MX374
@item Canon PIXMA MX375
@item Canon PIXMA MX376
@item Canon PIXMA MX377
@item Canon PIXMA MX378
@item Canon MX390 series
@item Canon PIXMA MX391
@item Canon PIXMA MX392
@item Canon PIXMA MX394
@item Canon PIXMA MX395
@item Canon PIXMA MX396
@item Canon PIXMA MX397
@item Canon PIXMA MX398
@item Canon MX410 series
@item Canon PIXMA MX410
@item Canon PIXMA MX416
@item Canon PIXMA MX418
@item Canon MX420 series
@item Canon PIXMA MX420
@item Canon PIXUS MX420
@item Canon PIXMA MX426
@item Canon PIXMA MX428
@item Canon MX430 series
@item Canon PIXMA MX430
@item Canon PIXMA MX431
@item Canon PIXMA MX432
@item Canon PIXMA MX434
@item Canon PIXMA MX435
@item Canon PIXMA MX436
@item Canon PIXMA MX437
@item Canon PIXMA MX438
@item Canon PIXMA MX439
@item Canon MX450 series
@item Canon PIXMA MX451
@item Canon PIXMA MX452
@item Canon PIXMA MX454
@item Canon PIXMA MX455
@item Canon PIXMA MX456
@item Canon PIXMA MX457
@item Canon PIXMA MX458
@item Canon PIXMA MX459
@item Canon MX470 series
@item Canon PIXMA MX471
@item Canon PIXMA MX472
@item Canon PIXMA MX474
@item Canon PIXMA MX475
@item Canon PIXMA MX476
@item Canon PIXMA MX477
@item Canon PIXMA MX478
@item Canon PIXMA MX479
@item Canon MX490 series
@item Canon PIXMA MX490
@item Canon PIXMA MX492
@item Canon PIXMA MX494
@item Canon PIXMA MX495
@item Canon PIXMA MX496
@item Canon PIXMA MX497
@item Canon PIXMA MX498
@item Canon PIXMA MX499
@item Canon MX510 series
@item Canon PIXMA MX510
@item Canon PIXMA MX511
@item Canon PIXMA MX512
@item Canon PIXUS MX513
@item Canon PIXMA MX514
@item Canon PIXMA MX515
@item Canon PIXMA MX516
@item Canon PIXMA MX517
@item Canon PIXMA MX518
@item Canon MX520 series
@item Canon PIXMA MX521
@item Canon PIXMA MX522
@item Canon PIXUS MX523
@item Canon PIXMA MX524
@item Canon PIXMA MX525
@item Canon PIXMA MX526
@item Canon PIXMA MX527
@item Canon PIXMA MX528
@item Canon MX530 series
@item Canon PIXMA MX531
@item Canon PIXMA MX532
@item Canon PIXMA MX534
@item Canon PIXMA MX535
@item Canon PIXMA MX536
@item Canon PIXMA MX537
@item Canon PIXMA MX538
@item Canon MX700 series
@item Canon PIXMA MX700
@item Canon MX710 series
@item Canon PIXMA MX710
@item Canon PIXMA MX711
@item Canon PIXMA MX712
@item Canon PIXMA MX714
@item Canon PIXMA MX715
@item Canon MX720 series
@item Canon PIXMA MX721
@item Canon PIXMA MX722
@item Canon PIXMA MX725
@item Canon PIXMA MX726
@item Canon PIXMA MX727
@item Canon PIXMA MX728
@item Canon MX850 series
@item Canon PIXMA MX850
@item Canon PIXUS MX850
@item Canon MX860 series
@item Canon PIXMA MX860
@item Canon PIXUS MX860
@item Canon PIXMA MX868
@item Canon MX870 series
@item Canon PIXMA MX870
@item Canon PIXUS MX870
@item Canon PIXMA MX876
@item Canon MX880 series
@item Canon PIXMA MX880
@item Canon PIXMA MX882
@item Canon PIXUS MX883
@item Canon PIXMA MX884
@item Canon PIXMA MX885
@item Canon PIXMA MX886
@item Canon PIXMA MX888
@item Canon MX890 series
@item Canon PIXMA MX890
@item Canon PIXMA MX892
@item Canon PIXUS MX893
@item Canon PIXMA MX894
@item Canon PIXMA MX895
@item Canon PIXMA MX897
@item Canon PIXMA MX898
@item Canon MX920 series
@item Canon PIXMA MX922
@item Canon PIXUS MX923
@item Canon PIXMA MX924
@item Canon PIXMA MX925
@item Canon PIXMA MX926
@item Canon PIXMA MX927
@item Canon PIXMA MX928
@item Canon MX7600 series
@item Canon PIXMA MX7600
@item Canon PIXUS MX7600
@item Canon E400 series
@item Canon PIXMA E400
@item Canon PIXMA E401
@item Canon PIXMA E404
@item Canon PIXMA E408
@item Canon PIXMA E409
@item Canon E410 series
@item Canon PIXMA E410
@item Canon PIXMA E414
@item Canon PIXMA E417
@item Canon PIXMA E418
@item Canon E460 series
@item Canon PIXMA E460
@item Canon PIXMA E461
@item Canon PIXMA E464
@item Canon PIXMA E468
@item Canon E470 series
@item Canon PIXMA E470
@item Canon PIXMA E471
@item Canon PIXMA E474
@item Canon PIXMA E477
@item Canon PIXMA E478
@item Canon E480 series
@item Canon PIXMA E480
@item Canon PIXMA E481
@item Canon PIXMA E484
@item Canon PIXMA E488
@item Canon PIXMA E489
@item Canon E500 series
@item Canon PIXMA E500
@item Canon E510 series
@item Canon PIXMA E510
@item Canon PIXMA E514
@item Canon PIXMA E518
@item Canon E560 series
@item Canon PIXMA E560
@item Canon PIXMA E568
@item Canon PIXMA E569
@item Canon E600 series
@item Canon PIXMA E600
@item Canon PIXMA E608
@item Canon E610 series
@item Canon PIXMA E610
@item Canon PIXMA E618
@item Canon E3100 series
@item Canon PIXMA E3170
@item Canon G1000 series
@item Canon PIXMA G1000
@item Canon PIXMA G1100
@item Canon PIXMA G1200
@item Canon PIXMA G1400
@item Canon PIXMA G1500
@item Canon PIXMA G1800
@item Canon PIXMA G1900
@item Canon PIXMA G1910
@item Canon G2000 series
@item Canon PIXMA G2000
@item Canon PIXMA G2002
@item Canon PIXMA G2100
@item Canon PIXMA G2200
@item Canon PIXMA G2400
@item Canon PIXMA G2500
@item Canon PIXMA G2600
@item Canon PIXMA G2800
@item Canon PIXMA G2900
@item Canon PIXMA G2910
@item Canon PIXMA G2915
@item Canon G3000 series
@item Canon PIXMA G3000
@item Canon PIXMA G3010
@item Canon PIXMA G3100
@item Canon PIXMA G3200
@item Canon PIXMA G3400
@item Canon PIXMA G3500
@item Canon PIXMA G3600
@item Canon PIXMA G3800
@item Canon PIXMA G3900
@item Canon PIXMA G3910
@item Canon PIXMA G3915
@item Canon G4000 series
@item Canon PIXMA G4000
@item Canon PIXMA G4010
@item Canon PIXMA G4100
@item Canon PIXMA G4200
@item Canon PIXMA G4400
@item Canon PIXMA G4500
@item Canon PIXMA G4600
@item Canon PIXMA G4800
@item Canon PIXMA G4900
@item Canon PIXMA G4902
@item Canon PIXMA G4910
@item Canon PIXMA G4911
@item Canon PIXMA P200
@item Canon TS3100 series
@item Canon PIXMA TS3110
@item Canon PIXMA TS3120
@item Canon PIXMA TS3130
@item Canon PIXMA TS3130S
@item Canon PIXMA TS3140
@item Canon PIXMA TS3150
@item Canon PIXMA TS3160
@item Canon PIXMA TS3170
@item Canon PIXMA TS3190
@item Canon PIXMA TS3195
@item Canon TS5000 series
@item Canon PIXMA TS5010
@item Canon PIXMA TS5020
@item Canon PIXMA TS5030
@item Canon PIXMA TS5030S
@item Canon PIXMA TS5040
@item Canon PIXMA TS5050
@item Canon PIXMA TS5051
@item Canon PIXMA TS5053
@item Canon PIXMA TS5055
@item Canon PIXMA TS5060
@item Canon PIXMA TS5070
@item Canon PIXMA TS5080
@item Canon PIXMA TS5090
@item Canon TS6000 series
@item Canon PIXMA TS6010
@item Canon PIXMA TS6020
@item Canon PIXMA TS6030
@item Canon PIXMA TS6040
@item Canon PIXMA TS6050
@item Canon PIXMA TS6051
@item Canon PIXMA TS6052
@item Canon PIXMA TS6060
@item Canon PIXMA TS6070
@item Canon PIXMA TS6080
@item Canon TS8000 series
@item Canon PIXMA TS8010
@item Canon PIXMA TS8020
@item Canon PIXMA TS8030
@item Canon PIXMA TS8040
@item Canon PIXMA TS8050
@item Canon PIXMA TS8051
@item Canon PIXMA TS8052
@item Canon PIXMA TS8053
@item Canon PIXMA TS8060
@item Canon PIXMA TS8070
@item Canon PIXMA TS8080
@item Canon PIXMA TS8090
@item Canon TS9000 series
@item Canon PIXMA TS9010
@item Canon PIXMA TS9020
@item Canon PIXMA TS9030
@item Canon PIXMA TS9040
@item Canon PIXMA TS9050
@item Canon PIXMA TS9055
@item Canon PIXMA TS9060
@item Canon PIXMA TS9080
@item Canon iB4000 series
@item Canon MAXIFY iB4010
@item Canon MAXIFY iB4020
@item Canon MAXIFY iB4030
@item Canon MAXIFY iB4040
@item Canon MAXIFY iB4050
@item Canon MAXIFY iB4060
@item Canon MAXIFY iB4070
@item Canon MAXIFY iB4080
@item Canon MAXIFY iB4090
@item Canon iB4100 series
@item Canon MAXIFY iB4110
@item Canon MAXIFY iB4120
@item Canon MAXIFY iB4130
@item Canon MAXIFY iB4140
@item Canon MAXIFY iB4150
@item Canon MAXIFY iB4170
@item Canon MAXIFY iB4180
@item Canon MAXIFY iB4190
@item Canon MB2000 series
@item Canon MAXIFY MB2010
@item Canon MAXIFY MB2020
@item Canon MAXIFY MB2030
@item Canon MAXIFY MB2040
@item Canon MAXIFY MB2050
@item Canon MAXIFY MB2060
@item Canon MB2100 series
@item Canon MAXIFY MB2110
@item Canon MAXIFY MB2120
@item Canon MAXIFY MB2130
@item Canon MAXIFY MB2140
@item Canon MAXIFY MB2150
@item Canon MAXIFY MB2160
@item Canon MB2300 series
@item Canon MAXIFY MB2320
@item Canon MAXIFY MB2330
@item Canon MAXIFY MB2340
@item Canon MAXIFY MB2350
@item Canon MAXIFY MB2360
@item Canon MAXIFY MB2390
@item Canon MB2700 series
@item Canon MAXIFY MB2710
@item Canon MAXIFY MB2720
@item Canon MAXIFY MB2730
@item Canon MAXIFY MB2740
@item Canon MAXIFY MB2750
@item Canon MAXIFY MB2760
@item Canon MAXIFY MB2790
@item Canon MB5000 series
@item Canon MAXIFY MB5020
@item Canon MAXIFY MB5030
@item Canon MAXIFY MB5040
@item Canon MAXIFY MB5050
@item Canon MAXIFY MB5060
@item Canon MAXIFY MB5070
@item Canon MAXIFY MB5080
@item Canon MAXIFY MB5090
@item Canon MB5100 series
@item Canon MAXIFY MB5110
@item Canon MAXIFY MB5120
@item Canon MAXIFY MB5130
@item Canon MAXIFY MB5140
@item Canon MAXIFY MB5150
@item Canon MAXIFY MB5160
@item Canon MAXIFY MB5170
@item Canon MAXIFY MB5180
@item Canon MAXIFY MB5190
@item Canon MB5300 series
@item Canon MAXIFY MB5310
@item Canon MAXIFY MB5320
@item Canon MAXIFY MB5330
@item Canon MAXIFY MB5340
@item Canon MAXIFY MB5350
@item Canon MAXIFY MB5360
@item Canon MAXIFY MB5370
@item Canon MAXIFY MB5390
@item Canon MB5400 series
@item Canon MAXIFY MB5410
@item Canon MAXIFY MB5420
@item Canon MAXIFY MB5430
@item Canon MAXIFY MB5440
@item Canon MAXIFY MB5450
@item Canon MAXIFY MB5460
@item Canon MAXIFY MB5470
@item Canon MAXIFY MB5480
@item Canon MAXIFY MB5490
@item Canon PIXUS 50i
@item Canon PIXUS 80i
@item Canon PIXUS 450i
@item Canon PIXUS 455i
@item Canon PIXUS 470PD
@item Canon PIXUS 475PD
@item Canon PIXUS 550i
@item Canon PIXUS 560i
@item Canon PIXUS 850i
@item Canon PIXUS 860i
@item Canon PIXUS 865R
@item Canon PIXUS 900PD
@item Canon PIXUS 950i
@item Canon PIXUS 960i
@item Canon PIXUS 990i
@item Canon PIXUS 6100i
@item Canon PIXUS 6500i
@item Canon PIXUS 9100i
@item Canon PIXUS 9900i
@item Canon i70
@item Canon i80
@item Canon i450
@item Canon i450X
@item Canon i455
@item Canon i455X
@item Canon i470D
@item Canon i475D
@item Canon i550
@item Canon i550X
@item Canon i560
@item Canon i560X
@item Canon i850old
@item Canon i850
@item Canon i860old
@item Canon i860
@item Canon i865old
@item Canon i865
@item Canon i900D
@item Canon i905D
@item Canon i950
@item Canon i960
@item Canon i965
@item Canon i990
@item Canon i6100
@item Canon i6500
@item Canon i9100
@item Canon i9900
@item Canon i9950
@item Epson Artisan 50
@item Epson Artisan 700
@item Epson Artisan 710
@item Epson Artisan 800
@item Epson Artisan 810
@item Epson Artisan 835
@item Epson Artisan 1430
@item Epson B-300
@item Epson B-308
@item Epson B-310
@item Epson B-310N
@item Epson B-500DN
@item Epson B-508DN
@item Epson B-510DN
@item Epson Expression ET-2550 EcoTank
@item Epson Expression ET-2600 EcoTank
@item Epson Expression ET-2650 EcoTank
@item Epson Expression ET-2700 EcoTank
@item Epson Expression ET-2750 EcoTank
@item Epson Expression ET-2750 EcoTank Business Edition
@item Epson Expression Home XP-240
@item Epson Expression Home XP-245
@item Epson Expression Home XP-340
@item Epson Expression Home XP-344
@item Epson Expression Home XP-440
@item Epson Expression Home XP-442
@item Epson Expression Home XP-820
@item Epson Expression Photo XP-860
@item Epson Expression Photo XP-960
@item Epson Expression Photo XP-8500
@item Epson XP-15000 Series
@item Epson L120
@item Epson L130
@item Epson L210
@item Epson L310
@item Epson L1300
@item Epson L1800
@item Epson SC-P400 Series
@item Epson SC-P600 Series
@item Epson SC-P800 Series
@item Epson SC-P6000 Series
@item Epson SC-P7000 Series
@item Epson SC-P8000 Series
@item Epson SC-P9000 Series
@item Epson SC-P10000 Series
@item Epson SC-P20000 Series
@item Epson Stylus C20
@item Epson Stylus C20SX
@item Epson Stylus C20UX
@item Epson Stylus C40
@item Epson Stylus C40SX
@item Epson Stylus C40UX
@item Epson Stylus C41
@item Epson Stylus C41SX
@item Epson Stylus C41UX
@item Epson Stylus C42
@item Epson Stylus C42SX
@item Epson Stylus C42UX
@item Epson Stylus C43
@item Epson Stylus C43SX
@item Epson Stylus C43UX
@item Epson Stylus C44
@item Epson Stylus C44SX
@item Epson Stylus C44UX
@item Epson Stylus C45
@item Epson Stylus C46
@item Epson Stylus C48
@item Epson Stylus C50
@item Epson Stylus C60
@item Epson Stylus C61
@item Epson Stylus C62
@item Epson Stylus C63
@item Epson Stylus C64
@item Epson Stylus C65
@item Epson Stylus C66
@item Epson Stylus C68
@item Epson Stylus C70
@item Epson Stylus C79
@item Epson Stylus C80
@item Epson Stylus C82
@item Epson Stylus C83
@item Epson Stylus C84
@item Epson Stylus C85
@item Epson Stylus C86
@item Epson Stylus C87
@item Epson Stylus C88
@item Epson Stylus C92
@item Epson Stylus C110
@item Epson Stylus C120
@item Epson Stylus Color
@item Epson Stylus Color I
@item Epson Stylus Color II
@item Epson Stylus Color IIs
@item Epson Stylus Color PRO
@item Epson Stylus Pro XL
@item Epson Stylus Color 400
@item Epson Stylus Color 440
@item Epson Stylus Color 460
@item Epson Stylus Color 480
@item Epson Stylus Color 500
@item Epson Stylus Color 580
@item Epson Stylus Color 600
@item Epson Stylus Color 640
@item Epson Stylus Color 660
@item Epson Stylus Color 670
@item Epson Stylus Color 680
@item Epson Stylus Color 740
@item Epson Stylus Color 760
@item Epson Stylus Color 777
@item Epson Stylus Color 800
@item Epson Stylus Color 850
@item Epson Stylus Color 860
@item Epson Stylus Color 880
@item Epson Stylus Color 8 3
@item Epson Stylus Color 900
@item Epson Stylus Color 980
@item Epson Stylus Color 1160
@item Epson Stylus Color 1500
@item Epson Stylus Color 1520
@item Epson Stylus Color 3000
@item Epson Stylus Office B30
@item Epson Stylus Office B33
@item Epson Stylus Office B40W
@item Epson Stylus Office B42WD
@item Epson Stylus Office B1100
@item Epson Stylus Office T30
@item Epson Stylus Office T33
@item Epson Stylus Office T40W
@item Epson Stylus Office T1100
@item Epson Stylus Office T1110
@item Epson Stylus Office BX300F
@item Epson Stylus Office BX525WD
@item Epson Stylus Office BX535WD
@item Epson Stylus Office BX600FW
@item Epson Stylus Office BX625FWD
@item Epson Stylus Office BX630FW
@item Epson Stylus Office BX635FWD
@item Epson Stylus Office SX600FW
@item Epson Stylus Office SX620FW
@item Epson Stylus Office TX300F
@item Epson Stylus Office TX600FW
@item Epson Stylus Office TX620FWD
@item Epson Stylus Photo
@item Epson Stylus Photo 700
@item Epson Stylus Photo EX
@item Epson Stylus Photo EX3
@item Epson Stylus Photo 720
@item Epson Stylus Photo 750
@item Epson Stylus Photo 780
@item Epson Stylus Photo 785
@item Epson Stylus Photo 790
@item Epson Stylus Photo 810
@item Epson Stylus Photo 820
@item Epson Stylus Photo 825
@item Epson Stylus Photo 830
@item Epson Stylus Photo 830U
@item Epson Stylus Photo 870
@item Epson Stylus Photo 875
@item Epson Stylus Photo 890
@item Epson Stylus Photo 895
@item Epson Stylus Photo 900
@item Epson Stylus Photo 915
@item Epson Stylus Photo 925
@item Epson Stylus Photo 935
@item Epson Stylus Photo 950
@item Epson Stylus Photo 960
@item Epson Stylus Photo 1200
@item Epson Stylus Photo 1270
@item Epson Stylus Photo 1280
@item Epson Stylus Photo 1290
@item Epson Stylus Photo 1290s
@item Epson Stylus Photo 1400
@item Epson Stylus Photo 1410
@item Epson Stylus Photo 2000P
@item Epson Stylus Photo 2100
@item Epson Stylus Photo 2200
@item Epson Stylus Photo P50
@item Epson Stylus Photo R200
@item Epson Stylus Photo R210
@item Epson Stylus Photo R220
@item Epson Stylus Photo R230
@item Epson Stylus Photo R240
@item Epson Stylus Photo R245
@item Epson Stylus Photo R260
@item Epson Stylus Photo R265
@item Epson Stylus Photo R270
@item Epson Stylus Photo R280
@item Epson Stylus Photo R285
@item Epson Stylus Photo R290
@item Epson Stylus Photo R300
@item Epson Stylus Photo R310
@item Epson Stylus Photo R320
@item Epson Stylus Photo R340
@item Epson Stylus Photo R350
@item Epson Stylus Photo R360
@item Epson Stylus Photo R380
@item Epson Stylus Photo R390
@item Epson Stylus Photo R800
@item Epson Stylus Photo R1800
@item Epson Stylus Photo R1900
@item Epson Stylus Photo R2000
@item Epson Stylus Photo R2400
@item Epson Stylus Photo R2880
@item Epson Stylus Photo R3000
@item Epson Stylus Photo RX400
@item Epson Stylus Photo RX420
@item Epson Stylus Photo RX425
@item Epson Stylus Photo RX430
@item Epson Stylus Photo RX500
@item Epson Stylus Photo RX510
@item Epson Stylus Photo RX560
@item Epson Stylus Photo RX580
@item Epson Stylus Photo RX585
@item Epson Stylus Photo RX590
@item Epson Stylus Photo RX595
@item Epson Stylus Photo RX600
@item Epson Stylus Photo RX610
@item Epson Stylus Photo RX620
@item Epson Stylus Photo RX630
@item Epson Stylus Photo RX640
@item Epson Stylus Photo RX650
@item Epson Stylus Photo RX680
@item Epson Stylus Photo RX685
@item Epson Stylus Photo RX690
@item Epson Stylus Photo RX700
@item Epson Stylus Photo TX700W
@item Epson Stylus Photo TX710W
@item Epson Stylus Photo TX800FW
@item Epson Stylus Photo TX810FW
@item Epson Stylus Pro 3800
@item Epson Stylus Pro 3880
@item Epson Stylus Pro 3885
@item Epson Stylus Pro 4000
@item Epson Stylus Pro 4800/4880 Back Compatible
@item Epson Stylus Pro 4800
@item Epson Stylus Pro 4880
@item Epson Stylus Pro 4900
@item Epson Stylus Pro 5000
@item Epson Stylus Pro 5500
@item Epson Stylus Pro 7000
@item Epson Stylus Pro 7500
@item Epson Stylus Pro 7600
@item Epson Stylus Pro 7700
@item Epson Stylus Pro 7800
@item Epson Stylus Pro 7880
@item Epson Stylus Pro 7890
@item Epson Stylus Pro 7900
@item Epson Stylus Pro 9000
@item Epson Stylus Pro 9500
@item Epson Stylus Pro 9600
@item Epson Stylus Pro 9700
@item Epson Stylus Pro 9800
@item Epson Stylus Pro 9880
@item Epson Stylus Pro 9890
@item Epson Stylus Pro 9900
@item Epson Stylus Pro 10000
@item Epson Stylus Pro 11800/11880 Back Compatible
@item Epson Stylus Pro 11800
@item Epson Stylus Pro 11880
@item Epson Stylus Scan 2000
@item Epson Stylus Scan 2500
@item Epson Stylus CX1500
@item Epson Stylus CX3100
@item Epson Stylus CX3200
@item Epson Stylus CX3500
@item Epson Stylus CX3600
@item Epson Stylus CX3650
@item Epson Stylus CX3700
@item Epson Stylus CX3800
@item Epson Stylus CX3805
@item Epson Stylus CX3810
@item Epson Stylus CX3900
@item Epson Stylus CX4100
@item Epson Stylus CX4200
@item Epson Stylus CX4400
@item Epson Stylus CX4500
@item Epson Stylus CX4600
@item Epson Stylus CX4700
@item Epson Stylus CX4800
@item Epson Stylus CX4900
@item Epson Stylus CX5000
@item Epson Stylus CX5000F
@item Epson Stylus CX5100
@item Epson Stylus CX5200
@item Epson Stylus CX5300
@item Epson Stylus CX5400
@item Epson Stylus CX5500
@item Epson Stylus CX5600
@item Epson Stylus CX5700
@item Epson Stylus CX5800
@item Epson Stylus CX6000
@item Epson Stylus CX6300
@item Epson Stylus CX6400
@item Epson Stylus CX6500
@item Epson Stylus CX6600
@item Epson Stylus CX7000F
@item Epson Stylus CX7300
@item Epson Stylus CX7400
@item Epson Stylus CX7700
@item Epson Stylus CX7800
@item Epson Stylus CX8300
@item Epson Stylus CX8400
@item Epson Stylus CX9300F
@item Epson Stylus CX9400
@item Epson Stylus CX9400F
@item Epson Stylus CX9475F
@item Epson Stylus D68
@item Epson Stylus D78
@item Epson Stylus D88
@item Epson Stylus D92
@item Epson Stylus D120
@item Epson Stylus DX3800
@item Epson Stylus DX3850
@item Epson Stylus DX4000
@item Epson Stylus DX4050
@item Epson Stylus DX4200
@item Epson Stylus DX4250
@item Epson Stylus DX4400
@item Epson Stylus DX4450
@item Epson Stylus DX4800
@item Epson Stylus DX4850
@item Epson Stylus DX7000F
@item Epson Stylus DX7400
@item Epson Stylus DX7450
@item Epson Stylus DX8400
@item Epson Stylus DX8450
@item Epson Stylus DX9400F
@item Epson Stylus NX100
@item Epson Stylus NX105
@item Epson Stylus NX115
@item Epson Stylus NX200
@item Epson Stylus NX215
@item Epson Stylus NX300
@item Epson Stylus NX400
@item Epson Stylus NX415
@item Epson Stylus NX420
@item Epson Stylus NX515
@item Epson Stylus NX530
@item Epson Stylus NX625
@item Epson Stylus NX630
@item Epson Stylus NX635
@item Epson Stylus NX645
@item Epson Stylus Photo PX650
@item Epson Stylus Photo PX700W
@item Epson Stylus Photo PX710W
@item Epson Stylus Photo PX800FW
@item Epson Stylus Photo PX810FW
@item Epson Stylus S20
@item Epson Stylus S21
@item Epson Stylus S50
@item Epson Stylus SX100
@item Epson Stylus SX105
@item Epson Stylus SX110
@item Epson Stylus SX115
@item Epson Stylus SX200
@item Epson Stylus SX205
@item Epson Stylus SX210
@item Epson Stylus SX215
@item Epson Stylus SX400
@item Epson Stylus SX405
@item Epson Stylus SX410
@item Epson Stylus SX415
@item Epson Stylus SX420
@item Epson Stylus SX445W
@item Epson Stylus SX510W
@item Epson Stylus SX515
@item Epson Stylus SX525
@item Epson Stylus SX535FW
@item Epson Stylus SX600FW
@item Epson Stylus SX610FW
@item Epson Stylus SX615
@item Epson Stylus SX630
@item Epson Stylus SX635
@item Epson Stylus SX645
@item Epson Stylus SX650
@item Epson Stylus T13
@item Epson Stylus T20
@item Epson Stylus T21
@item Epson Stylus T22
@item Epson Stylus T22E
@item Epson Stylus T26
@item Epson Stylus T30
@item Epson Stylus T40W
@item Epson Stylus T42WD
@item Epson Stylus T50
@item Epson Stylus T59
@item Epson Stylus T60
@item Epson Stylus TX100
@item Epson Stylus TX101
@item Epson Stylus TX102
@item Epson Stylus TX103
@item Epson Stylus TX104
@item Epson Stylus TX105
@item Epson Stylus TX106
@item Epson Stylus TX109
@item Epson Stylus TX110
@item Epson Stylus TX125
@item Epson Stylus TX200
@item Epson Stylus TX210
@item Epson Stylus TX300F
@item Epson Stylus TX400
@item Epson Stylus TX410
@item Epson Stylus TX420
@item Epson Stylus TX510FN
@item Epson Stylus TX550W
@item Epson Stylus TX560WD
@item Epson Stylus TX610FW
@item Epson Stylus TX615
@item Epson Stylus TX630
@item Epson Stylus TX635
@item Epson Stylus TX645
@item Epson Stylus TX650
@item Epson Stylus TX659
@item Epson Stylus XP100
@item Epson SureColor P400
@item Epson SureColor P600
@item Epson SureColor P800
@item Epson SureColor P6000
@item Epson SureColor P7000
@item Epson SureColor P7000 Commercial Edition
@item Epson SureColor P8000
@item Epson SureColor P9000
@item Epson SureColor P9000 Commercial Edition
@item Epson SureColor P10000
@item Epson SureColor P20000
@item Epson PictureMate
@item Epson PictureMate Dash
@item Epson PictureMate Deluxe
@item Epson PictureMate Flash
@item Epson PictureMate Pal
@item Epson PictureMate Snap
@item Epson PictureMate 100
@item Epson PictureMate 200
@item Epson PictureMate 210
@item Epson PictureMate 215
@item Epson PictureMate 240
@item Epson PictureMate 250
@item Epson PictureMate 260
@item Epson PictureMate 270
@item Epson PictureMate 280
@item Epson PictureMate 290
@item Epson PictureMate 500
@item Epson PictureMate 2005
@item Epson WorkForce 30
@item Epson WorkForce 40
@item Epson WorkForce 60
@item Epson WorkForce 310
@item Epson WorkForce 315
@item Epson WorkForce 500
@item Epson WorkForce 545
@item Epson WorkForce 600
@item Epson WorkForce 610
@item Epson WorkForce 615
@item Epson WorkForce 625
@item Epson WorkForce 630
@item Epson WorkForce 633
@item Epson WorkForce 635
@item Epson WorkForce 645
@item Epson WorkForce 1100
@item Epson WF-7010 Series
@item Epson WF-7011 Series
@item Epson WF-7015 Series
@item Epson WF-7018 Series
@item Epson WF-7510 Series
@item Epson WF-7511 Series
@item Epson WF-7515 Series
@item Epson WF-7520 Series
@item Epson WF-7521 Series
@item Epson WF-7525 Series
@item Epson CL 700
@item Epson CL 750
@item Epson CL 760
@item Epson E 100
@item Epson E 150
@item Epson E 200
@item Epson E 300
@item Epson E 500
@item Epson E 520
@item Epson E 700
@item Epson E 720
@item Epson EM 900C
@item Epson EM 930C
@item Epson EP 302
@item Epson EP 702A
@item Epson EP 801A
@item Epson EP 901A
@item Epson EP 901F
@item Epson MC 2000
@item Epson MC 5000
@item Epson MC 7000
@item Epson MC 9000
@item Epson MC 10000
@item Epson ME 300
@item Epson ME 320
@item Epson ME Office 70
@item Epson ME Office 80W
@item Epson ME Office 82WD
@item Epson ME Office 85ND
@item Epson ME Office 360
@item Epson ME Office 600F
@item Epson ME Office 620F
@item Epson ME Office 700FW
@item Epson ME Office 900WD
@item Epson ME Office 940FW
@item Epson ME Office 960FWD
@item Epson ME Office 1100
@item Epson MJ 930C
@item Epson MJ 5100C
@item Epson MJ 6000C
@item Epson MJ 8000C
@item Epson PM 670C
@item Epson PM 700C
@item Epson PM 730C
@item Epson PM 740C
@item Epson PM 750C
@item Epson PM 760C
@item Epson PM 770C
@item Epson PM 780C
@item Epson PM 790PT
@item Epson PM 800C
@item Epson PM 850PT
@item Epson PM 870C
@item Epson PM 880C
@item Epson PM 930C
@item Epson PM 940C
@item Epson PM 950C
@item Epson PM 970C
@item Epson PM 980C
@item Epson PM 2000C
@item Epson PM 2200C
@item Epson PM 3000C
@item Epson PM 3300C
@item Epson PM 3500C
@item Epson PM 3700C
@item Epson PM 4000PX
@item Epson PM 5000C
@item Epson PM 7000C
@item Epson PM 9000C
@item Epson PM 10000
@item Epson PM A650
@item Epson PM A750
@item Epson PM A820
@item Epson PM A890
@item Epson PM A900
@item Epson PM A940
@item Epson PM A950
@item Epson PM D600
@item Epson PM D750
@item Epson PM D770
@item Epson PM D800
@item Epson PM D870
@item Epson PM D1000
@item Epson PM G700
@item Epson PM G720
@item Epson PM G730
@item Epson PM G800
@item Epson PM G820
@item Epson PM G850
@item Epson PM T960
@item Epson PM G4500
@item Epson PX A650
@item Epson Offirio PX B300
@item Epson Offirio PX B500
@item Epson PX 7V
@item Epson PX 101
@item Epson PX 201
@item Epson PX 203
@item Epson PX 204
@item Epson PX 401A
@item Epson PX 503A
@item Epson PX 504A
@item Epson PX 601F
@item Epson PX 603F
@item Epson PX 1001
@item Epson PX 1200
@item Epson PX 1600F
@item Epson PX 1700F
@item Epson PX G900
@item Epson PX G920
@item Epson PX G5000
@item Epson PX G5300
@item Epson PX V500
@item Epson PX V600
@item Epson PX V630
@item Epson PX V780
@item Epson PX 5500
@item Epson PX G5600
@item Epson PX 7000
@item Epson PX 9000
@item Apollo P-2100
@item Apollo P-2150
@item Apollo P-2200
@item Apollo P-2250
@item Apollo P-2500
@item Apollo P-2550
@item Apollo P-2600
@item Apollo P-2650
@item Apple Color StyleWriter 4100
@item Apple Color StyleWriter 4500
@item Apple Color StyleWriter 6500
@item Apple LaserWriter Select 360
@item Brother DCP-1200
@item Brother DCP-8045D
@item Brother HL-1040
@item Brother HL-1050
@item Brother HL-1060
@item Brother HL-1070
@item Brother HL-10V
@item Brother HL-10h
@item Brother HL-1240
@item Brother HL-1250
@item Brother HL-1260
@item Brother HL-1270N
@item Brother HL-1440
@item Brother HL-1450
@item Brother HL-1470N
@item Brother HL-1650
@item Brother HL-1660e
@item Brother HL-1670N
@item Brother HL-1850
@item Brother HL-1870N
@item Brother HL-2060
@item Brother HL-2250DN
@item Brother HL-2400CeN
@item Brother HL-2460
@item Brother HL-2460N
@item Brother HL-2600CN
@item Brother HL-3400CN
@item Brother HL-3450CN
@item Brother HL-4Ve
@item Brother HL-4040CN
@item Brother HL-5030
@item Brother HL-5040
@item Brother HL-5050
@item Brother HL-5070N
@item Brother HL-5140
@item Brother HL-5150D
@item Brother HL-5170DN
@item Brother HL-5340D
@item Brother HL-630
@item Brother HL-660
@item Brother HL-7050
@item Brother HL-7050N
@item Brother HL-760
@item Brother HL-960
@item Brother MFC-6550MC
@item Brother MFC-8300
@item Brother MFC-9500
@item Brother MFC-9600
@item Canon GP 335
@item Canon LBP-4sx
@item Canon LBP-430
@item Canon LBP-1000
@item Canon LBP-1260
@item Canon LBP-1760
@item Canon LBP-3360
@item Canon LBP-5360
@item Canon LBP-5390
@item Canon imageRunner 330s
@item Canon imageRunner C2550
@item Canon imageRunner C2570
@item Canon imageRunner C2570i
@item Canon imageRunner C2570N
@item Canon imageRunner C2620N
@item Canon imageRunner C3100
@item Canon imageRunner C3170
@item Canon imageRunner C3170i
@item Canon imageRunner C3200
@item Canon imageRunner C5030
@item Canon imageRunner C5058
@item Canon imageRunner C5068
@item Canon imageRunner C5180
@item Canon imageRunner C5185
@item Canon imageRunner C5185i
@item Canon imageRunner C5800
@item Canon imageRunner C5870U
@item Canon imageRunner C6800
@item Canon imageRunner C6870U
@item Citizen ProJet II
@item Datamax-ONeil p1115
@item Datamax-ONeil p1115s
@item Datamax-ONeil p1120n
@item Datamax-ONeil p1125
@item Datamax-ONeil p1725
@item Datamax-ONeil w1110
@item Datamax-ONeil H8308p
@item DEC 1800
@item DEC LN17
@item Dell 3000cn
@item Dell 3100cn
@item Epson ActionLaser 1100
@item Epson ActionLaser II
@item Epson AL-C2000
@item Epson AL-C2000 PS3
@item Epson AL-C8500
@item Epson AL-C8500PS
@item Epson AL-C8600
@item Epson AL-C8600 PS3
@item Epson EPL-5200
@item Epson EPL-5200+
@item Epson EPL-5700
@item Epson EPL-5700PS
@item Epson EPL-5800
@item Epson EPL-5800PS
@item Epson EPL-5900
@item Epson EPL-5900 PS3
@item Epson EPL-6100
@item Epson EPL-6100 PS3
@item Epson EPL-7100
@item Epson EPL-N2050
@item Epson EPL-N2050+
@item Epson EPL-N2050PS
@item Epson EPL-N2050PS+
@item Epson EPL-N2120
@item Epson EPL-N2500
@item Epson EPL-N2500 PS3
@item Epson EPL-N2750
@item Epson EPL-N2750PS
@item Fujitsu PrintPartner 10V
@item Fujitsu PrintPartner 16DV
@item Fujitsu PrintPartner 20W
@item Fujitsu PrintPartner 8000
@item Generic PCL 4 Printer
@item Generic PCL 4 Printer wide margin
@item Generic PCL 4 LF Printer
@item Generic PCL 5 Printer
@item Generic PCL 5 Printer wide margin
@item Generic PCL 5 LF Printer
@item Generic PCL 5c Printer
@item Generic PCL 5c LF Printer
@item Generic PCL 5e Printer
@item Generic PCL 5e LF Printer
@item Generic PCL 6/PCL XL Printer
@item Generic PCL 6/PCL XL LF Printer
@item Generic PCL 6 Printer wide margin
@item Generic PCL 6 LF Printer wide margin
@item Generic PCL 6 Tabl Printer wide margin
@item Generic PCL Color Laser
@item Generic PCL Color Laser LF Printer
@item Generic PCL Color wide margin
@item Generic PCL Color LF wide margin
@item Generic PCL Color Tabl wide margin
@item Gestetner 10512
@item Gestetner 2212
@item Gestetner 2712
@item Gestetner 3212
@item Gestetner 3502
@item Gestetner 3532/4235g
@item Gestetner 4502
@item Gestetner 4532/4245g
@item Gestetner 6002
@item Gestetner 7502
@item Gestetner 9002
@item Gestetner CS555
@item Gestetner DSc1020
@item Gestetner DSc1025
@item Gestetner DSc1030
@item Gestetner DSc1045
@item Gestetner DSc1060
@item Gestetner DSc1120
@item Gestetner DSc1220
@item Gestetner DSc1225
@item Gestetner DSc1230
@item Gestetner DSc1245
@item Gestetner DSc1260
@item Gestetner DSc424
@item Gestetner DSc428
@item Gestetner DSc432
@item Gestetner DSc435
@item Gestetner DSc445
@item Gestetner DSc460
@item Gestetner DSm415
@item Gestetner DSm615
@item Gestetner DSm616
@item Gestetner DSm618
@item Gestetner DSm618d
@item Gestetner DSm620
@item Gestetner DSm620d
@item Gestetner DSm622
@item Gestetner DSm627
@item Gestetner DSm635/635G
@item Gestetner DSm645/645G
@item Gestetner DSm651
@item Gestetner DSm660
@item Gestetner DSm675
@item Gestetner DSm725
@item Gestetner DSm730
@item Gestetner DSm735/735G
@item Gestetner DSm745/745G
@item Gestetner MP1100/DSm7110
@item Gestetner MP1350/DSm7135
@item Gestetner MP1600/DSm716
@item Gestetner MP2000/DSm721d
@item Gestetner MP2500/DSm625
@item Gestetner MP3500/DSm735e
@item Gestetner MP4500/DSm745e
@item Gestetner MP5500/DSm755
@item Gestetner MP6500/DSm765
@item Gestetner MP7500/DSm775
@item Gestetner MP9000/DSm790
@item Gestetner MP 161/DSm416
@item Gestetner MP 2510/DSm725e
@item Gestetner MP 2550
@item Gestetner MP 2550B
@item Gestetner MP 3010/DSm730e
@item Gestetner MP 3350
@item Gestetner MP 3350B
@item Gestetner MP 4000
@item Gestetner MP 4000B
@item Gestetner MP 5000
@item Gestetner MP 5000B
@item Gestetner MPC1500/GS106
@item Gestetner MPC2500/DSc525
@item Gestetner MPC3000/DSc530
@item Gestetner MPC3500/DSc535
@item Gestetner MPC4500/DSc545
@item Gestetner MP C2003
@item Gestetner MP C2004
@item Gestetner MP C2011
@item Gestetner MP C2050
@item Gestetner MP C2051
@item Gestetner MP C2503
@item Gestetner MP C2504
@item Gestetner MP C2550
@item Gestetner MP C2551
@item Gestetner MP C2800
@item Gestetner MP C300
@item Gestetner MP C3001
@item Gestetner MP C3002
@item Gestetner MP C3003
@item Gestetner MP C3004
@item Gestetner MP C300SR
@item Gestetner MP C3300
@item Gestetner MP C3501
@item Gestetner MP C3502
@item Gestetner MP C3503
@item Gestetner MP C3504
@item Gestetner MP C400
@item Gestetner MP C4000
@item Gestetner MP C400SR
@item Gestetner MP C4501
@item Gestetner MP C4501A
@item Gestetner MP C4502
@item Gestetner MP C4502A
@item Gestetner MP C4503
@item Gestetner MP C4504
@item Gestetner MP C5000
@item Gestetner MP C5501
@item Gestetner MP C5501A
@item Gestetner MP C5502
@item Gestetner MP C5502A
@item Gestetner MP C5503
@item Gestetner MP C6000
@item Gestetner MP C6003
@item Gestetner MP C6004
@item Gestetner MP C6501
@item Gestetner MP C6502
@item Gestetner MP C6503
@item Gestetner MP C7500
@item Gestetner MP C7501
@item Gestetner MP C8002
@item Gestetner MP C8003
@item Gestetner Pro C5200S
@item Gestetner Pro C5210S
@item HP Business Inkjet 2200
@item HP Business Inkjet 2230
@item HP Business Inkjet 2250
@item HP Business Inkjet 2250TN
@item HP Business Inkjet 2280
@item HP Color Inkjet Printer CP1160
@item HP Color Inkjet Printer CP1700
@item HP Color LaserJet 2500
@item HP Color LaserJet 3000
@item HP Color LaserJet 3000n
@item HP Color LaserJet 3000dn
@item HP Color LaserJet 3000dtn
@item HP Color LaserJet 3700
@item HP Color LaserJet 3700n
@item HP Color LaserJet 3800
@item HP Color LaserJet 3800n
@item HP Color LaserJet 3800dn
@item HP Color LaserJet 3800dtn
@item HP Color LaserJet 4500
@item HP Color LaserJet 4550
@item HP Color LaserJet 4600
@item HP Color LaserJet 4610
@item HP Color LaserJet 4650
@item HP Color LaserJet 4700
@item HP Color LaserJet 4700n
@item HP Color LaserJet 4700dn
@item HP Color LaserJet 4700dtn
@item HP Color LaserJet 4700ph+
@item HP Color LaserJet 5
@item HP Color LaserJet 5m
@item HP Color LaserJet 5000
@item HP Color LaserJet 5500
@item HP Color LaserJet 5500n
@item HP Color LaserJet 5500dn
@item HP Color LaserJet 5500dtn
@item HP Color LaserJet 5500hdn
@item HP Color LaserJet 8500
@item HP Color LaserJet 8500n
@item HP Color LaserJet 8500dn
@item HP Color LaserJet 8550
@item HP Color LaserJet 8550DN
@item HP Color LaserJet 8550GN
@item HP Color LaserJet 8550MN
@item HP Color LaserJet 9500
@item HP Color LaserJet 9500n
@item HP Color LaserJet 9500hdn
@item HP Color LaserJet 9500gp
@item HP Color LaserJet CM1312
@item HP Color LaserJet CM1312nfi
@item HP Color LaserJet CM1411fn
@item HP Color LaserJet CM1412fn
@item HP Color LaserJet CM1413fn
@item HP Color LaserJet CM1415fn
@item HP Color LaserJet CM1415fnw
@item HP Color LaserJet CM1416fnw
@item HP Color LaserJet CM1417fnw
@item HP Color LaserJet CM1418fnw
@item HP Color LaserJet CM2320 MFP
@item HP Color LaserJet CM2320FXI MFP
@item HP Color LaserJet CM2320N MFP
@item HP Color LaserJet CM2320NF MFP
@item HP Color LaserJet CM3530 MFP
@item HP Color LaserJet CM4540 MFP
@item HP Color LaserJet CM4730 MFP
@item HP Color LaserJet CM6030 MFP
@item HP Color LaserJet CM6040 MFP
@item HP Color LaserJet CM6040f MFP
@item HP Color LaserJet CM6049f MFP
@item HP Color LaserJet CP1514n
@item HP Color LaserJet CP1515n
@item HP Color LaserJet CP1518ni
@item HP Color LaserJet CP2025
@item HP Color LaserJet CP2025dn
@item HP Color LaserJet CP2025n
@item HP Color LaserJet CP2025x
@item HP Color LaserJet CP3505
@item HP Color LaserJet CP3505dn
@item HP Color LaserJet CP3505n
@item HP Color LaserJet CP3505x
@item HP Color LaserJet CP3525
@item HP Color LaserJet CP3525dn
@item HP Color LaserJet CP3525n
@item HP Color LaserJet CP3525x
@item HP Color LaserJet CP4005
@item HP Color LaserJet CP4005dn
@item HP Color LaserJet CP4005n
@item HP Color LaserJet CP4020
@item HP Color LaserJet CP4500
@item HP Color LaserJet CP4520
@item HP Color LaserJet CP4540 MFP
@item HP Color LaserJet CP5225
@item HP Color LaserJet CP5225dn
@item HP Color LaserJet CP5225n
@item HP Color LaserJet CP5520
@item HP Color LaserJet CP6015dn
@item HP Color LaserJet CP6015de
@item HP Color LaserJet CP6015n
@item HP Color LaserJet CP6015x
@item HP Color LaserJet CP6015xh
@item HP DesignJet 230
@item HP DesignJet 250C
@item HP DesignJet 430
@item HP DesignJet 450C
@item HP DesignJet 455CA
@item HP DesignJet 488CA
@item HP DesignJet 700
@item HP DesignJet 750C Plus
@item HP DesignJet 750C
@item HP DesignJet 2500CP
@item HP DesignJet 3500CP
@item HP DesignJet ColorPro CAD
@item HP DeskJet 400
@item HP DeskJet 420C
@item HP DeskJet 450
@item HP DeskJet 500
@item HP DeskJet 500C
@item HP DeskJet 505J Plus
@item HP DeskJet 510
@item HP DeskJet 520
@item HP DeskJet 540C
@item HP DeskJet 550C
@item HP DeskJet 5550
@item HP DeskJet 5551
@item HP DeskJet 560C
@item HP DeskJet 600
@item HP DeskJet 600C
@item HP DeskJet 610C
@item HP DeskJet 610CL
@item HP DeskJet 6122
@item HP DeskJet 6127
@item HP DeskJet 612C
@item HP DeskJet 640C
@item HP DeskJet 648C
@item HP DeskJet 660C
@item HP DeskJet 670C
@item HP DeskJet 670TV
@item HP DeskJet 672C
@item HP DeskJet 680C
@item HP DeskJet 682C
@item HP DeskJet 690C
@item HP DeskJet 692C
@item HP DeskJet 693C
@item HP DeskJet 694C
@item HP DeskJet 695C
@item HP DeskJet 697C
@item HP DeskJet 810C
@item HP DeskJet 812C
@item HP DeskJet 815C
@item HP DeskJet 816C
@item HP DeskJet 825C
@item HP DeskJet 830C
@item HP DeskJet 832C
@item HP DeskJet 840C
@item HP DeskJet 841C
@item HP DeskJet 842C
@item HP DeskJet 843C
@item HP DeskJet 845C
@item HP DeskJet 850C
@item HP DeskJet 855C
@item HP DeskJet 870C
@item HP DeskJet 880C
@item HP DeskJet 882C
@item HP DeskJet 890C
@item HP DeskJet 895C
@item HP DeskJet 916C
@item HP DeskJet 920C
@item HP DeskJet 9300
@item HP DeskJet 930C
@item HP DeskJet 932C
@item HP DeskJet 933C
@item HP DeskJet 934C
@item HP DeskJet 935C
@item HP DeskJet 940C
@item HP DeskJet 948C
@item HP DeskJet 950C
@item HP DeskJet 952C
@item HP DeskJet 955C
@item HP DeskJet 957C
@item HP DeskJet 959C
@item HP DeskJet 960C
@item HP DeskJet 970C
@item HP DeskJet 975C
@item HP DeskJet 980C
@item HP DeskJet 990C
@item HP DeskJet 995C
@item HP DeskJet 1100C
@item HP DeskJet 1120C
@item HP DeskJet 1125C
@item HP DeskJet 1200C
@item HP DeskJet 1220C
@item HP DeskJet 1600C
@item HP DeskJet 1600CM
@item HP DeskJet 2000
@item HP DeskJet 2500
@item HP DeskJet 2500CM
@item HP DeskJet 340C
@item HP DeskJet 3810
@item HP DeskJet 3816
@item HP DeskJet 3820
@item HP DeskJet 3822
@item HP LaserJet 2
@item HP LaserJet 2D
@item HP LaserJet 2P Plus
@item HP LaserJet 2P
@item HP LaserJet 3
@item HP LaserJet 3D
@item HP LaserJet 3P w/ PCL5
@item HP LaserJet 3P w/PS
@item HP LaserJet 4 Plus
@item HP LaserJet 4
@item HP LaserJet 4L
@item HP LaserJet 4M
@item HP LaserJet 4ML
@item HP LaserJet 4P
@item HP LaserJet 4Si
@item HP LaserJet 4V
@item HP LaserJet 5
@item HP LaserJet 5L
@item HP LaserJet 5M
@item HP LaserJet 5MP
@item HP LaserJet 5N
@item HP LaserJet 5P
@item HP LaserJet 5Si
@item HP LaserJet 6
@item HP LaserJet 6L
@item HP LaserJet 6MP
@item HP LaserJet 6P
@item HP LaserJet 1010
@item HP LaserJet 1012
@item HP LaserJet 1015
@item HP LaserJet 1022
@item HP LaserJet 1100
@item HP LaserJet 1100A
@item HP LaserJet 1150
@item HP LaserJet 1160
@item HP LaserJet 1200
@item HP LaserJet 1220
@item HP LaserJet 1300
@item HP LaserJet 1320
@item HP LaserJet 2100
@item HP LaserJet 2100M
@item HP LaserJet 2200
@item HP LaserJet 2300
@item HP LaserJet 2410
@item HP LaserJet 2420
@item HP LaserJet 2430
@item HP LaserJet 3015
@item HP LaserJet 3020
@item HP LaserJet 3030
@item HP LaserJet 3050
@item HP LaserJet 3052
@item HP LaserJet 3055
@item HP LaserJet 3200
@item HP LaserJet 3200m
@item HP LaserJet 3200se
@item HP LaserJet 3300 MFP
@item HP LaserJet 3310 MFP
@item HP LaserJet 3320 MFP
@item HP LaserJet 3320N MFP
@item HP LaserJet 3330 MFP
@item HP LaserJet 3380
@item HP LaserJet 3390
@item HP LaserJet 3392
@item HP LaserJet 4000
@item HP LaserJet 4050
@item HP LaserJet 4100
@item HP LaserJet 4200
@item HP LaserJet 4240
@item HP LaserJet 4250
@item HP LaserJet 4300
@item HP LaserJet 4345 mfp
@item HP LaserJet 4350
@item HP LaserJet 5000
@item HP LaserJet 5100
@item HP LaserJet 5200
@item HP LaserJet 5200L
@item HP LaserJet 8000
@item HP LaserJet 8100
@item HP LaserJet 8150
@item HP LaserJet 9000
@item HP LaserJet 9040
@item HP LaserJet 9040 MFP
@item HP LaserJet 9050
@item HP LaserJet 9050 MFP
@item HP LaserJet M3027 MFP
@item HP LaserJet M3035 MFP
@item HP LaserJet M4345 MFP
@item HP LaserJet M5025 MFP
@item HP LaserJet M5035 MFP
@item HP LaserJet P2010
@item HP LaserJet P2015
@item HP LaserJet P3004
@item HP LaserJet P3005
@item HP Mopier 240
@item HP Mopier 320
@item HP OfficeJet 300
@item HP OfficeJet 330
@item HP OfficeJet 350
@item HP OfficeJet 500
@item HP OfficeJet 520
@item HP OfficeJet 570
@item HP OfficeJet 580
@item HP OfficeJet 590
@item HP OfficeJet 600
@item HP OfficeJet 610
@item HP OfficeJet 625
@item HP OfficeJet 630
@item HP OfficeJet 635
@item HP OfficeJet 700
@item HP OfficeJet 710
@item HP OfficeJet 720
@item HP OfficeJet 725
@item HP OfficeJet 5105
@item HP OfficeJet 5110
@item HP OfficeJet 5110xi
@item HP OfficeJet 6105
@item HP OfficeJet 6110
@item HP OfficeJet 7110
@item HP OfficeJet 7130
@item HP OfficeJet 7140
@item HP OfficeJet D125
@item HP OfficeJet D135
@item HP OfficeJet D145
@item HP OfficeJet D155
@item HP OfficeJet G55
@item HP OfficeJet G85
@item HP OfficeJet G95
@item HP OfficeJet K60
@item HP OfficeJet K60xi
@item HP OfficeJet K80
@item HP OfficeJet K80xi
@item HP OfficeJet LX
@item HP OfficeJet Pro 1150C
@item HP OfficeJet Pro 1170C
@item HP OfficeJet Pro 1175C
@item HP OfficeJet R40
@item HP OfficeJet R45
@item HP OfficeJet R60
@item HP OfficeJet R65
@item HP OfficeJet R80
@item HP OfficeJet T45
@item HP OfficeJet T65
@item HP OfficeJet V40
@item HP OfficeJet V40xi
@item HP OfficeJet
@item HP PSC 370
@item HP PSC 380
@item HP PSC 500
@item HP PSC 750
@item HP PSC 950
@item HP PSC 950xi
@item HP PSC 2110
@item HP PSC 2150
@item HP PSC 2210
@item HP PhotoSmart 7150
@item HP PhotoSmart 7345
@item HP PhotoSmart 7350
@item HP PhotoSmart 7550
@item HP PhotoSmart P100
@item HP PhotoSmart P130
@item HP PhotoSmart P230
@item HP PhotoSmart P1000
@item HP PhotoSmart P1100
@item HP PhotoSmart P1115
@item HP PhotoSmart P1215
@item HP PhotoSmart P1218
@item HP PhotoSmart P1315
@item HP e-printer e20
@item IBM 4019
@item IBM 4029 030 LaserPrinter 10
@item IBM 4312
@item IBM Infoprint 12
@item IBM Page Printer 3112
@item Infotec 4353 MF
@item Infotec 4452 MF
@item Infotec 4651 MF
@item Infotec IS2022
@item Infotec IS2027
@item Infotec IS2032
@item Infotec IS2035
@item Infotec IS2045
@item Infotec IS2090
@item Infotec IS2105
@item Infotec IS 2015
@item Infotec IS 2018
@item Infotec IS 2018D
@item Infotec IS 2060
@item Infotec IS 2075
@item Infotec IS 2122
@item Infotec IS 2127
@item Infotec IS 2132
@item Infotec IS 2135
@item Infotec IS 2145
@item Infotec IS 2151
@item Infotec IS 2160
@item Infotec IS 2175
@item Infotec IS 2215
@item Infotec IS 2216
@item Infotec IS 2220
@item Infotec IS 2220D
@item Infotec IS 2225
@item Infotec IS 2230
@item Infotec IS 2235
@item Infotec IS 2245
@item Infotec IS 2255
@item Infotec IS 2265
@item Infotec IS 2275
@item Infotec IS 2316
@item Infotec IS 2320
@item Infotec IS 2325
@item Infotec IS 2416
@item Infotec IS 2425
@item Infotec IS 2430
@item Infotec IS 2435
@item Infotec IS 2445
@item Infotec IS 3090
@item Infotec IS 3110
@item Infotec IS 3135
@item Infotec ISC 1024c
@item Infotec ISC 1032c
@item Infotec ISC 2428
@item Infotec ISC 2525
@item Infotec ISC 2835
@item Infotec ISC 3030
@item Infotec ISC 3535
@item Infotec ISC 3545
@item Infotec ISC 4045
@item Infotec ISC 4560
@item Infotec ISC 5560
@item Infotec ISC 615G
@item Infotec MP 2550
@item Infotec MP 2550B
@item Infotec MP 3350
@item Infotec MP 3350B
@item Infotec MP 4000
@item Infotec MP 4000B
@item Infotec MP 5000
@item Infotec MP 5000B
@item Infotec MP C2003
@item Infotec MP C2003Z
@item Infotec MP C2004
@item Infotec MP C2011
@item Infotec MP C2050
@item Infotec MP C2051
@item Infotec MP C2503
@item Infotec MP C2503Z
@item Infotec MP C2504
@item Infotec MP C2550
@item Infotec MP C2551
@item Infotec MP C2800
@item Infotec MP C300
@item Infotec MP C3001
@item Infotec MP C3002
@item Infotec MP C3003
@item Infotec MP C3004
@item Infotec MP C300SR
@item Infotec MP C3300
@item Infotec MP C3501
@item Infotec MP C3502
@item Infotec MP C3503
@item Infotec MP C3504
@item Infotec MP C400
@item Infotec MP C4000
@item Infotec MP C400SR
@item Infotec MP C4501
@item Infotec MP C4501A
@item Infotec MP C4502
@item Infotec MP C4502A
@item Infotec MP C4503
@item Infotec MP C4504
@item Infotec MP C5000
@item Infotec MP C5501
@item Infotec MP C5501A
@item Infotec MP C5502
@item Infotec MP C5502A
@item Infotec MP C5503
@item Infotec MP C5504
@item Infotec MP C6000
@item Infotec MP C6003
@item Infotec MP C6004
@item Infotec MP C6501
@item Infotec MP C6502
@item Infotec MP C6503
@item Infotec MP C7500
@item Infotec MP C7501
@item Infotec MP C8002
@item Infotec MP C8003
@item Infotec Pro C5100S
@item Infotec Pro C5110S
@item Infotec Pro C5200S
@item Infotec Pro C5210S
@item Infotec Pro C7100
@item Infotec Pro C7100S
@item Infotec Pro C7110
@item Infotec Pro C7110S
@item Kyocera CS-1815
@item Kyocera CS-2525E
@item Kyocera CS-3225E
@item Kyocera CS-3232E
@item Kyocera CS-4035E
@item Kyocera CS-250ci
@item Kyocera CS-300ci
@item Kyocera CS-3050ci
@item Kyocera CS-3550ci
@item Kyocera CS-400ci
@item Kyocera CS-500ci
@item Kyocera Ci-1100
@item Kyocera F-1010
@item Kyocera FS-600 - KPDL-2
@item Kyocera FS-600
@item Kyocera FS-680
@item Kyocera FS-800
@item Kyocera FS-920
@item Kyocera FS-1000
@item Kyocera FS-1000+
@item Kyocera FS-1010
@item Kyocera FS-1018MFP
@item Kyocera FS-1020D
@item Kyocera FS-1030D
@item Kyocera FS-1050
@item Kyocera FS-1118MFP
@item Kyocera FS-1135MFP
@item Kyocera FS-1200
@item Kyocera FS-1600
@item Kyocera FS-1600+
@item Kyocera FS-1700
@item Kyocera FS-1700+
@item Kyocera FS-1714M
@item Kyocera FS-1750
@item Kyocera FS-1800
@item Kyocera FS-1800+
@item Kyocera FS-1900
@item Kyocera FS-1920
@item Kyocera FS-2000D
@item Kyocera FS-3500
@item Kyocera FS-3600
@item Kyocera FS-3600+
@item Kyocera FS-3700
@item Kyocera FS-3700+
@item Kyocera FS-3718M
@item Kyocera FS-3750
@item Kyocera FS-3800
@item Kyocera FS-3820N
@item Kyocera FS-3830N
@item Kyocera FS-3900DN
@item Kyocera FS-4000DN
@item Kyocera FS-5800C
@item Kyocera FS-5900C
@item Kyocera FS-6020
@item Kyocera FS-6026
@item Kyocera FS-6300
@item Kyocera FS-6500
@item Kyocera FS-6500+
@item Kyocera FS-6700
@item Kyocera FS-6750
@item Kyocera FS-6900
@item Kyocera FS-6950DN
@item Kyocera FS-7000
@item Kyocera FS-7000+
@item Kyocera FS-7028M
@item Kyocera FS-8000C
@item Kyocera FS-9000
@item Kyocera FS-9100DN
@item Kyocera FS-9130DN
@item Kyocera FS-9500DN
@item Kyocera FS-9530DN
@item Kyocera FS-C5015N
@item Kyocera FS-C5016N
@item Kyocera FS-C5020N
@item Kyocera FS-C5025N
@item Kyocera FS-C5030N
@item Kyocera FS-C5100DN
@item Kyocera FS-C5200DN
@item Kyocera FS-C5300DN
@item Kyocera FS-C5350DN
@item Kyocera FS-C5400DN
@item Kyocera FS-C8008N
@item Kyocera FS-C8100DN
@item Kyocera FS-C8100DN+
@item Kyocera KM-1510
@item Kyocera KM-1530
@item Kyocera KM-1810
@item Kyocera KM-1815
@item Kyocera KM-1820
@item Kyocera KM-2030
@item Kyocera KM-2530
@item Kyocera KM-3050
@item Kyocera KM-3530
@item Kyocera KM-4050
@item Kyocera KM-4230
@item Kyocera KM-4230/5230
@item Kyocera KM-4530
@item Kyocera KM-5050
@item Kyocera KM-5230
@item Kyocera KM-5530
@item Kyocera KM-6030
@item Kyocera KM-6230
@item Kyocera KM-8030
@item Kyocera KM-C830
@item Kyocera KM-C850
@item Kyocera KM-C2520
@item Kyocera KM-C2525E
@item Kyocera KM-C2630
@item Kyocera KM-C3225
@item Kyocera KM-C3225E
@item Kyocera KM-C3232
@item Kyocera KM-C3232E
@item Kyocera KM-C4035E
@item Kyocera TASKalfa 250ci
@item Kyocera TASKalfa 300ci
@item Kyocera TASKalfa 400ci
@item Kyocera TASKalfa 500ci
@item Lanier 5622
@item Lanier 5627
@item Lanier 5632
@item Lanier 5635
@item Lanier 5645
@item Lanier LC155
@item Lanier LD0105
@item Lanier LD015
@item Lanier LD035
@item Lanier LD045
@item Lanier LD060
@item Lanier LD075
@item Lanier LD090
@item Lanier LD115
@item Lanier LD116
@item Lanier LD118
@item Lanier LD118d
@item Lanier LD120
@item Lanier LD120d
@item Lanier LD122
@item Lanier LD124c
@item Lanier LD127
@item Lanier LD132
@item Lanier LD132c
@item Lanier LD135
@item Lanier LD145
@item Lanier LD151
@item Lanier LD160
@item Lanier LD160c
@item Lanier LD175
@item Lanier LD225
@item Lanier LD230
@item Lanier LD235
@item Lanier LD245
@item Lanier LD328c
@item Lanier LD335c
@item Lanier LD345c
@item Lanier LD 130C
@item Lanier LD 130CSR
@item Lanier LD 140C
@item Lanier LD 140CSR
@item Lanier LD 620C
@item Lanier LD 625C
@item Lanier MP2500/LD125
@item Lanier MP 1100/LD1100
@item Lanier MP 1350/LD1135
@item Lanier MP 1600/LD316
@item Lanier MP 161/LD016
@item Lanier MP 2000/LD320d
@item Lanier MP 2510/LD325
@item Lanier MP 2550B/LD425B
@item Lanier MP 2550/LD425
@item Lanier MP 3010/LD330
@item Lanier MP 3350B/LD433B
@item Lanier MP 3350/LD433
@item Lanier MP 3500/LD335
@item Lanier MP 4000B/LD040B
@item Lanier MP 4000/LD040
@item Lanier MP 4500/LD345
@item Lanier MP 5000B/LD050B
@item Lanier MP 5000/LD050
@item Lanier MP 5500/LD255
@item Lanier MP 6500/LD265
@item Lanier MP 7500/LD275
@item Lanier MP 9000/LD190
@item Lanier MP C1500/LD215c
@item Lanier MP C4501A/LD645CA
@item Lanier MP C5501A/LD655CA
@item Lanier MP C2003
@item Lanier MP C2004
@item Lanier MP C2050/LD520C
@item Lanier MP C2500/LD425c
@item Lanier MP C2503
@item Lanier MP C2504
@item Lanier MP C2550/LD525C
@item Lanier MP C2800/LD528C
@item Lanier MP C300
@item Lanier MP C3000/LD430c
@item Lanier MP C3001/LD630C
@item Lanier MP C3002
@item Lanier MP C3003
@item Lanier MP C3004
@item Lanier MP C300SR
@item Lanier MP C3300/LD533C
@item Lanier MP C3500/LD435c
@item Lanier MP C3501/LD635C
@item Lanier MP C3502
@item Lanier MP C3503
@item Lanier MP C3504
@item Lanier MP C400
@item Lanier MP C4000/LD540C
@item Lanier MP C400SR
@item Lanier MP C4500/LD445c
@item Lanier MP C4501/LD645C
@item Lanier MP C4502
@item Lanier MP C4502A
@item Lanier MP C4503
@item Lanier MP C4504
@item Lanier MP C5000/LD550C
@item Lanier MP C5501/LD655C
@item Lanier MP C5502
@item Lanier MP C5502A
@item Lanier MP C5503
@item Lanier MP C6000/LD260c
@item Lanier MP C6003
@item Lanier MP C6004
@item Lanier MP C6501/LD365C
@item Lanier MP C6502
@item Lanier MP C6503
@item Lanier MP C7500/LD275c
@item Lanier MP C7501/LD375C
@item Lanier MP C8002
@item Lanier MP C8003
@item Lanier Pro C5100S
@item Lanier Pro C5110S
@item Lanier Pro C5200S
@item Lanier Pro C5210S
@item Lanier Pro C7100
@item Lanier Pro C7100S
@item Lanier Pro C7110
@item Lanier Pro C7110S
@item Lanier SG3110DN
@item Lanier SG3110DNw
@item Lanier SG3110SFNw
@item Lexmark 4076
@item Lexmark Optra E
@item Lexmark Optra E+
@item Lexmark Optra E220
@item Lexmark Optra E321
@item Lexmark Optra E323
@item Lexmark Valuewriter 300
@item Minolta PagePro 6
@item Minolta PagePro 6e
@item Minolta PagePro 6ex
@item Minolta PagePro 8
@item Minolta PagePro 8L
@item Minolta PagePro 1100
@item NEC SuperScript 660i
@item NEC SuperScript 860
@item NEC SuperScript 870
@item NEC SuperScript 1260
@item NEC SuperScript 1400
@item NEC SuperScript 1800
@item NRG 10515/10518/10512
@item NRG 2205/2238/2212
@item NRG 2705/2738/2712
@item NRG 3205/3238/3212
@item NRG 3525/3508/3502
@item NRG 3545/3518/3532
@item NRG 4525/4508/4502
@item NRG 4545/4518/4532
@item NRG 6002/6005/6008
@item NRG 7502/7505/7508
@item NRG 9005/9008/9002
@item NRG CS555
@item NRG DSc424
@item NRG DSc428
@item NRG DSc432
@item NRG DSc435
@item NRG DSc445
@item NRG DSc460
@item NRG DSm415
@item NRG DSm615
@item NRG DSm616
@item NRG DSm618
@item NRG DSm618d
@item NRG DSm620
@item NRG DSm620d
@item NRG DSm622
@item NRG DSm627
@item NRG DSm632
@item NRG DSm635
@item NRG DSm645
@item NRG DSm651
@item NRG DSm660
@item NRG DSm675
@item NRG DSm725
@item NRG DSm730
@item NRG DSm735
@item NRG DSm745
@item NRG MP 1100
@item NRG MP 1350
@item NRG MP 1600
@item NRG MP 161
@item NRG MP 2000
@item NRG MP 2500
@item NRG MP 2510
@item NRG MP 2550
@item NRG MP 2550B
@item NRG MP 3010
@item NRG MP 3350
@item NRG MP 3350B
@item NRG MP 3500
@item NRG MP 4000
@item NRG MP 4000B
@item NRG MP 4500
@item NRG MP 5000
@item NRG MP 5000B
@item NRG MP 5500
@item NRG MP 6500
@item NRG MP 7500
@item NRG MP 9000
@item NRG MP C1500sp
@item NRG MP C2003
@item NRG MP C2003Z
@item NRG MP C2004
@item NRG MP C2011
@item NRG MP C2050
@item NRG MP C2051
@item NRG MP C2500
@item NRG MP C2503
@item NRG MP C2503Z
@item NRG MP C2504
@item NRG MP C2550
@item NRG MP C2551
@item NRG MP C2800
@item NRG MP C300
@item NRG MP C3000
@item NRG MP C3001
@item NRG MP C3002
@item NRG MP C3003
@item NRG MP C3004
@item NRG MP C300SR
@item NRG MP C3300
@item NRG MP C3500
@item NRG MP C3501
@item NRG MP C3502
@item NRG MP C3503
@item NRG MP C3504
@item NRG MP C400
@item NRG MP C4000
@item NRG MP C400SR
@item NRG MP C4500
@item NRG MP C4501
@item NRG MP C4501A
@item NRG MP C4502
@item NRG MP C4502A
@item NRG MP C4503
@item NRG MP C4504
@item NRG MP C5000
@item NRG MP C5501
@item NRG MP C5501A
@item NRG MP C5502
@item NRG MP C5502A
@item NRG MP C5503
@item NRG MP C5504
@item NRG MP C6000
@item NRG MP C6003
@item NRG MP C6004
@item NRG MP C6501
@item NRG MP C6502
@item NRG MP C6503
@item NRG MP C7500
@item NRG MP C7501
@item NRG MP C8002
@item NRG MP C8003
@item NRG Pro C5100S
@item NRG Pro C5110S
@item NRG Pro C5200S
@item NRG Pro C5210S
@item NRG Pro C7100
@item NRG Pro C7100S
@item NRG Pro C7110
@item NRG Pro C7110S
@item NRG SG3110DN
@item NRG SG3110DNw
@item NRG SG3110SFNw
@item Oki B401d
@item Oki B430
@item Oki B4350
@item Oki C5300
@item Oki C5400
@item Oki C7300
@item Oki C8800
@item Oki C9200
@item Oki C9400
@item Oki OL400
@item Oki OL400e
@item Oki OL400ex
@item Oki OL410e
@item Oki OL600e
@item Oki OL610e/S
@item Oki OL800
@item Oki OL810ex
@item Oki Okipage 6e
@item Oki Okipage 6ex
@item Oki Okipage 8p
@item Oki Okipage 10e
@item Oki Okipage 10ex
@item Oki Okipage 14ex
@item Oki Super 6e
@item Olivetti JP350S
@item Olivetti PG 306
@item PCPI 1030
@item Panasonic DP-180
@item Panasonic DP-C265
@item Panasonic DP-C305
@item Panasonic DP-C322
@item Panasonic DP-C405
@item Panasonic KX-P4410
@item Panasonic KX-P4450
@item Panasonic KX-P6150
@item Panasonic KX-P6500
@item Raven LP-410
@item Ricoh Aficio 401
@item Ricoh Aficio 700
@item Ricoh Aficio 1022
@item Ricoh Aficio 1027
@item Ricoh Aficio 1032
@item Ricoh Aficio 1035
@item Ricoh Aficio 1045
@item Ricoh Aficio 1060
@item Ricoh Aficio 1075
@item Ricoh Aficio 1515
@item Ricoh Aficio 2015
@item Ricoh Aficio 2016
@item Ricoh Aficio 2018
@item Ricoh Aficio 2018D
@item Ricoh Aficio 2020
@item Ricoh Aficio 2020D
@item Ricoh Aficio 2022
@item Ricoh Aficio 2027
@item Ricoh Aficio 2032
@item Ricoh Aficio 2035
@item Ricoh Aficio 2035e
@item Ricoh Aficio 2045
@item Ricoh Aficio 2045e
@item Ricoh Aficio 2051
@item Ricoh Aficio 2060
@item Ricoh Aficio 2075
@item Ricoh Aficio 2090
@item Ricoh Aficio 2105
@item Ricoh Aficio 220
@item Ricoh Aficio 3025
@item Ricoh Aficio 3030
@item Ricoh Aficio 3035
@item Ricoh Aficio 3045
@item Ricoh Aficio 3224C
@item Ricoh Aficio 3228C
@item Ricoh Aficio 3232C
@item Ricoh Aficio 3235C
@item Ricoh Aficio 3245C
@item Ricoh Aficio 3260C
@item Ricoh Aficio Color 5560
@item Ricoh Aficio MP 1100
@item Ricoh Aficio MP 1350
@item Ricoh Aficio MP 1600
@item Ricoh Aficio MP 161
@item Ricoh Aficio MP 2000
@item Ricoh Aficio MP 2500
@item Ricoh Aficio MP 2510
@item Ricoh Aficio MP 2550
@item Ricoh Aficio MP 2550B
@item Ricoh Aficio MP 3010
@item Ricoh Aficio MP 3350
@item Ricoh Aficio MP 3350B
@item Ricoh Aficio MP 3500
@item Ricoh Aficio MP 4000
@item Ricoh Aficio MP 4000B
@item Ricoh Aficio MP 4500
@item Ricoh Aficio MP 5000
@item Ricoh Aficio MP 5000B
@item Ricoh Aficio MP 5500
@item Ricoh Aficio MP 6500
@item Ricoh Aficio MP 7500
@item Ricoh Aficio MP 9000
@item Ricoh Aficio MP C2050
@item Ricoh Aficio MP C2051
@item Ricoh Aficio MP C2500
@item Ricoh Aficio MP C2550
@item Ricoh Aficio MP C2551
@item Ricoh Aficio MP C2800
@item Ricoh Aficio MP C300
@item Ricoh Aficio MP C3000
@item Ricoh Aficio MP C3001
@item Ricoh Aficio MP C3002
@item Ricoh Aficio MP C300SR
@item Ricoh Aficio MP C3300
@item Ricoh Aficio MP C3500
@item Ricoh Aficio MP C3501
@item Ricoh Aficio MP C3502
@item Ricoh Aficio MP C400
@item Ricoh Aficio MP C4000
@item Ricoh Aficio MP C400SR
@item Ricoh Aficio MP C4500
@item Ricoh Aficio MP C4501
@item Ricoh Aficio MP C4501A
@item Ricoh Aficio MP C4502
@item Ricoh Aficio MP C4502A
@item Ricoh Aficio MP C5000
@item Ricoh Aficio MP C5501
@item Ricoh Aficio MP C5501A
@item Ricoh Aficio MP C5502
@item Ricoh Aficio MP C5502A
@item Ricoh Aficio MP C6000
@item Ricoh Aficio MP C6501
@item Ricoh Aficio MP C7500
@item Ricoh Aficio MP C7501
@item Ricoh Aficio SG 3110DN
@item Ricoh GX 3050N
@item Ricoh GX 3050SFN
@item Ricoh GX 5050N
@item Ricoh GX E3350N
@item Ricoh GX E5550N
@item Ricoh MP C1500/615C
@item Ricoh MP C2003
@item Ricoh MP C2003Z
@item Ricoh MP C2004
@item Ricoh MP C2011
@item Ricoh MP C2094J
@item Ricoh MP C2503
@item Ricoh MP C2503Z
@item Ricoh MP C2504
@item Ricoh MP C2594J
@item Ricoh MP C3003
@item Ricoh MP C3004
@item Ricoh MP C3503
@item Ricoh MP C3504
@item Ricoh MP C4503
@item Ricoh MP C4504
@item Ricoh MP C5503
@item Ricoh MP C5504
@item Ricoh MP C6003
@item Ricoh MP C6004
@item Ricoh MP C6502
@item Ricoh MP C6503
@item Ricoh MP C8002
@item Ricoh MP C8003
@item Ricoh Pro C5100S
@item Ricoh Pro C5110S
@item Ricoh Pro C5200S
@item Ricoh Pro C5210S
@item Ricoh Pro C7100
@item Ricoh Pro C7100S
@item Ricoh Pro C7110
@item Ricoh Pro C7110S
@item Ricoh SG3120BSFNw
@item Samsung CLP-620
@item Samsung CLP-660N
@item Samsung CLP-660ND
@item Samsung ML-85
@item Samsung ML-1250
@item Samsung ML-1450
@item Samsung ML-1450PS
@item Samsung ML-1650
@item Samsung ML-1651N
@item Samsung ML-1750
@item Samsung ML-2150
@item Samsung ML-2150PS
@item Samsung ML-2151N
@item Samsung ML-2151NPS
@item Samsung ML-2152W
@item Samsung ML-2152WPS
@item Samsung ML-2250
@item Samsung ML-2550
@item Samsung ML-2551N
@item Samsung ML-2552W
@item Samsung ML-4600
@item Samsung ML-5000a
@item Samsung ML-6000
@item Samsung ML-6100
@item Samsung ML-7000
@item Samsung ML-7000N
@item Samsung ML-7000P
@item Samsung ML-7050
@item Samsung ML-7300
@item Samsung ML-7300N
@item Samsung QL-5100A
@item Samsung QL-6050
@item Samsung ProXpress SL-M3820ND
@item Savin 2522
@item Savin 2527
@item Savin 2532
@item Savin 2535/2235
@item Savin 2545/2245
@item Savin 2560
@item Savin 2575
@item Savin 3515
@item Savin 40105
@item Savin 4015
@item Savin 4018
@item Savin 4018d
@item Savin 4022
@item Savin 4027
@item Savin 4035/4135g
@item Savin 4035e/4135eG
@item Savin 4045/4145g
@item Savin 4045e/4145eG
@item Savin 4051
@item Savin 4060
@item Savin 4075
@item Savin 4090
@item Savin 7025
@item Savin 8016
@item Savin 8020
@item Savin 8020d
@item Savin 8025
@item Savin 8025e
@item Savin 8030
@item Savin 8030e
@item Savin 8035/8035g
@item Savin 8035e
@item Savin 8045/8045g
@item Savin 8045e
@item Savin 8055
@item Savin 8065
@item Savin 8075
@item Savin 8090
@item Savin 8110
@item Savin 8135
@item Savin 816
@item Savin 9016
@item Savin 9021d
@item Savin 9025
@item Savin 9025b
@item Savin 9033
@item Savin 9033b
@item Savin 9040
@item Savin 9040b
@item Savin 9050
@item Savin 9050b
@item Savin C2410
@item Savin C2525
@item Savin C2824
@item Savin C2828
@item Savin C3030
@item Savin C3210e
@item Savin C3333
@item Savin C3528
@item Savin C3535
@item Savin C4040
@item Savin C4535
@item Savin C4540
@item Savin C5050
@item Savin C6045
@item Savin C6055
@item Savin C7570
@item Savin C9020
@item Savin C9025
@item Savin C9065
@item Savin C9075
@item Savin C9120
@item Savin C9125
@item Savin C9130
@item Savin C9135
@item Savin C9145
@item Savin C9145A
@item Savin C9155
@item Savin C9155A
@item Savin C 230
@item Savin C 230SR
@item Savin C 240
@item Savin C 240SR
@item Savin MP C2003
@item Savin MP C2004
@item Savin MP C2503
@item Savin MP C2504
@item Savin MP C3002
@item Savin MP C3003
@item Savin MP C3004
@item Savin MP C3502
@item Savin MP C3503
@item Savin MP C3504
@item Savin MP C4502
@item Savin MP C4502A
@item Savin MP C4503
@item Savin MP C4504
@item Savin MP C5502
@item Savin MP C5502A
@item Savin MP C5503
@item Savin MP C6003
@item Savin MP C6004
@item Savin MP C6502
@item Savin MP C6503
@item Savin MP C8002
@item Savin MP C8003
@item Savin Pro C5100S
@item Savin Pro C5110S
@item Savin Pro C5200S
@item Savin Pro C5210S
@item Savin Pro C7100
@item Savin Pro C7100S
@item Savin Pro C7110
@item Savin Pro C7110S
@item Savin SDC555
@item Savin SG3110DN
@item Savin SGC 1506
@item Seiko SpeedJET 200
@item Sharp AR-161
@item Sharp AR-BC260
@item Sharp AR-BC320
@item Sharp AR-C170FP
@item Sharp AR-C170M
@item Sharp AR-C172FP
@item Sharp AR-C172M
@item Sharp AR-C260
@item Sharp AR-C260F
@item Sharp AR-C260FP
@item Sharp AR-C260M
@item Sharp AR-C260P
@item Sharp AR-C260S
@item Sharp AR-C261F
@item Sharp AR-C261FP
@item Sharp AR-C261M
@item Sharp AR-C261S
@item Sharp AR-C262FP
@item Sharp AR-C262M
@item Sharp AR-C262S
@item Sharp AR-M257
@item Sharp MX-2300FG
@item Sharp MX-2300G
@item Sharp MX-2300N
@item Sharp MX-2700FG
@item Sharp MX-2700G
@item Sharp MX-2700N
@item Sharp MX-3500FN
@item Sharp MX-3500N
@item Sharp MX-3501FN
@item Sharp MX-3501N
@item Sharp MX-4500FN
@item Sharp MX-4500N
@item Sharp MX-4501FN
@item Sharp MX-4501N
@item Sony IJP-V100
@item Star LS-04
@item Star LaserPrinter 8
@item Tally MT908
@item Tektronix Phaser 750DP
@item Tektronix Phaser 750DX
@item Tektronix Phaser 750N
@item Tektronix Phaser 750P
@item Toshiba e-Studio 220cp
@item Toshiba e-Studio 2830c
@item Toshiba e-Studio 3530c
@item Toshiba e-Studio 4500c
@item Toshiba e-Studio 4520c
@item Toshiba e-Studio 5500c
@item Xerox Able 1406
@item Xerox DocuPrint 4508
@item Xerox DocuPrint C20
@item Xerox DocuPrint N4512
@item Xerox DocuPrint N4512PS
@item Xerox DocuPrint P12
@item Xerox DocuPrint P1202
@item Xerox DocuPrint P8e
@item Xerox Document Centre 400
@item Xerox Phaser 2135
@item Xerox Phaser 3160N
@item Xerox Phaser 4400B
@item Xerox Phaser 4400DT
@item Xerox Phaser 4400DX
@item Xerox Phaser 4400N
@item Xerox Phaser 4500B
@item Xerox Phaser 4500DT
@item Xerox Phaser 4500DX
@item Xerox Phaser 4500N
@item Xerox Phaser 4510B
@item Xerox Phaser 4510DT
@item Xerox Phaser 4510DX
@item Xerox Phaser 4510N
@item Xerox Phaser 5500B
@item Xerox Phaser 5500DN
@item Xerox Phaser 5500DT
@item Xerox Phaser 5500DX
@item Xerox Phaser 5500N
@item Xerox Phaser 6130N
@item Xerox Phaser 6180DN
@item Xerox Phaser 6180MFP-D
@item Xerox Phaser 6200B
@item Xerox Phaser 6200DP
@item Xerox Phaser 6200DX
@item Xerox Phaser 6200N
@item Xerox Phaser 6250B
@item Xerox Phaser 6250DP
@item Xerox Phaser 6250DT
@item Xerox Phaser 6250DX
@item Xerox Phaser 6250N
@item Xerox Phaser 6300DN
@item Xerox Phaser 6300N
@item Xerox Phaser 6350DP
@item Xerox Phaser 6350DT
@item Xerox Phaser 6350DX
@item Xerox Phaser 6360DN
@item Xerox Phaser 6360DX
@item Xerox Phaser 7300B
@item Xerox Phaser 7300DN
@item Xerox Phaser 7300DT
@item Xerox Phaser 7300DX
@item Xerox Phaser 7300N
@item Xerox Phaser 7400DN
@item Xerox Phaser 7400DT
@item Xerox Phaser 7400DX
@item Xerox Phaser 7400DXF
@item Xerox Phaser 7400N
@item Xerox Phaser 7700DN
@item Xerox Phaser 7700DX
@item Xerox Phaser 7700GX
@item Xerox Phaser 7750B
@item Xerox Phaser 7750DN
@item Xerox Phaser 7750DXF
@item Xerox Phaser 7750GX
@item Xerox Phaser 7760DN
@item Xerox Phaser 7760DX
@item Xerox Phaser 7760GX
@item Xerox Phaser 8400B
@item Xerox Phaser 8400BD
@item Xerox Phaser 8400DP
@item Xerox Phaser 8400DX
@item Xerox Phaser 8400N
@item Xerox Phaser 8500DN
@item Xerox Phaser 8500N
@item Xerox Phaser 8550DP
@item Xerox Phaser 8550DT
@item Xerox Phaser 8550DX
@item Xerox Phaser 8560DN
@item Xerox Phaser 8860
@item Xerox WorkCentre 7345
@item Xerox WorkCentre C2424
@item Xerox WorkCentre M118
@item Datamax-ONeil I4212e Mark II
@item Datamax-ONeil I4310e Mark II
@item Datamax-ONeil I4606e Mark II
@item Datamax-ONeil E4204B Mark III
@item Datamax-ONeil E4304B Mark III
@item Datamax-ONeil E4205A Mark III
@item Datamax-ONeil E4305A Mark III
@item Datamax-ONeil E4206P Mark III
@item Datamax-ONeil E4305P Mark III
@item Datamax-ONeil E4206L Mark III
@item Datamax-ONeil E4305L Mark III
@item Datamax-ONeil RL3e
@item Datamax-ONeil RL4e
@item Datamax-ONeil H4212
@item Datamax-ONeil H4212X
@item Datamax-ONeil H4310
@item Datamax-ONeil H4310X
@item Datamax-ONeil H4408
@item Datamax-ONeil H4606
@item Datamax-ONeil H4606X
@item Datamax-ONeil H6210
@item Datamax-ONeil H6210X
@item Datamax-ONeil H6212
@item Datamax-ONeil H6212X
@item Datamax-ONeil H6308
@item Datamax-ONeil H6310X
@item Datamax-ONeil H8308
@item Datamax-ONeil H8308X
@item Honeywell RP2
@item Honeywell RP4
@item Compaq IJ1200
@item Lexmark X73
@item Lexmark Z42
@item Lexmark Z43
@item Lexmark Z52
@item Lexmark Z53
@item Olympus P-10
@item Olympus P-11
@item Olympus P-200
@item Olympus P-300
@item Olympus P-300E
@item Olympus P-300U
@item Olympus P-330E
@item Olympus P-330NE
@item Olympus P-400
@item Olympus P-440
@item Olympus P-S100
@item Canon CP-10
@item Canon CP-100
@item Canon CP-200
@item Canon CP-220
@item Canon CP-300
@item Canon CP-330
@item Canon SELPHY CP400
@item Canon SELPHY CP500
@item Canon SELPHY CP510
@item Canon SELPHY CP520
@item Canon SELPHY CP530
@item Canon SELPHY CP600
@item Canon SELPHY CP710
@item Canon SELPHY CP720
@item Canon SELPHY CP730
@item Canon SELPHY CP740
@item Canon SELPHY CP750
@item Canon SELPHY CP760
@item Canon SELPHY CP770
@item Canon SELPHY CP780
@item Canon SELPHY CP790
@item Canon SELPHY CP800
@item Canon SELPHY CP810
@item Canon SELPHY CP820
@item Canon SELPHY CP900
@item Canon SELPHY CP910
@item Canon SELPHY CP1000
@item Canon SELPHY CP1200
@item Canon SELPHY CP1300
@item Canon SELPHY ES1
@item Canon SELPHY ES2
@item Canon SELPHY ES3
@item Canon SELPHY ES20
@item Canon SELPHY ES30
@item Canon SELPHY ES40
@item CIAAT Brava 21
@item Citizen CW-01
@item Citizen CW-02
@item Citizen CX
@item Citizen CX-02
@item Citizen CX-W
@item Citizen CY
@item Citizen CY-02
@item Citizen OP900
@item Citizen OP900II
@item Dai Nippon Printing DS40
@item Dai Nippon Printing DS80
@item Dai Nippon Printing DS80DX
@item Dai Nippon Printing DS620
@item Dai Nippon Printing DS820
@item Dai Nippon Printing DSRX1
@item Dai Nippon Printing SL10
@item Dai Nippon Printing SL20
@item Fujifilm ASK-300
@item Fujifilm ASK-2000
@item Fujifilm ASK-2500
@item Fujifilm ASK-4000
@item Fujifilm FinePix-NX-500
@item Fujifilm Printpix-CX-400
@item Fujifilm Printpix-CX-550
@item Kodak 305
@item Kodak 605
@item Kodak 1400
@item Kodak 6800
@item Kodak 6850
@item Kodak 7000
@item Kodak 7010
@item Kodak 7015
@item Kodak 805
@item Kodak 8500
@item Kodak 8800
@item Kodak 8810
@item Kodak 9810
@item Kodak EasyShare-G600-Printer-Dock
@item Kodak Easyshare-Printer-Dock
@item Kodak PD-4000
@item Kodak PD-6000
@item Kodak Photo-Printer
@item Kodak Photo-Printer-500
@item Kodak Printer-Dock-Plus
@item Kodak Printer-Dock-Plus-S3
@item Magicard Tango 2E
@item Magicard Rio 2E
@item Mitsubishi CP-3020D
@item Mitsubishi CP-3020DA
@item Mitsubishi CP-3020DAE
@item Mitsubishi CP-3020DE
@item Mitsubishi CP-3020DU
@item Mitsubishi CP-3800DW
@item Mitsubishi CP-9500DW
@item Mitsubishi CP-9550D
@item Mitsubishi CP-9550DW
@item Mitsubishi CP-9550DW-S
@item Mitsubishi CP-9550DZ
@item Mitsubishi CP-9600DW
@item Mitsubishi CP-9800D
@item Mitsubishi CP-9800DW
@item Mitsubishi CP-9800DW-S
@item Mitsubishi CP-9800DZ
@item Mitsubishi CP-9810D
@item Mitsubishi CP-9810DW
@item Mitsubishi CP-D80DW
@item Mitsubishi CP-D90DW
@item Mitsubishi CP-D70DW
@item Mitsubishi CP-D707DW
@item Mitsubishi CP-K60DW-S
@item Mitsubishi P93D
@item Mitsubishi P95D
@item Nidac Copal DPB-4000
@item Nidac Copal DPB-6000
@item Nidac Copal DPB-7000
@item Shinko CHC-S1245
@item Shinko CHC-S2145
@item Shinko CHC-S6145
@item Shinko CHC-S6245
@item Shinko CHC-S9045
@item Sinfonia CHC-S1245/E1
@item Sinfonia CHC-S2145/S2
@item Sinfonia CHC-S2245/S2
@item Sinfonia CHC-S6145/CS2
@item Sinfonia CHC-S6245/CE1
@item Sony UP-DP10
@item Sony UP-DR150
@item Sony DPP-EX5
@item Sony DPP-EX7
@item Sony UP-DR100
@item Sony UP-DR200
@item Sony UP-CR10L
@item Sony UP-D895
@item Sony UP-D897
@item Sony UP-D898
@item Sony UP-CR20L
@item Sony UP-DR80MD

@end enumerate")
    (home-page "http://gimp-print.sourceforge.net/")
    (license license:gpl2+)))

(define-public python-pycups
  (package
    (name "python-pycups")
    (version "1.9.74")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "pycups" version ".tar.bz2"))
       (sha256
        (base32
         "1ffp7sswhdsfpy88zg0cc8kl04wygkjs01rlm9f0spbwk8jhy2c6"))))
    (build-system python-build-system)
    (arguments
     '(;; Tests require CUPS to be running
       #:tests? #f))
    (inputs
     `(("cups" ,cups)))
    (home-page "https://github.com/zdohnal/pycups")
    (synopsis "Python bindings for libcups")
    (description
     "This package provides Python bindings for libcups, wrapping the CUPS
API.")
    (license license:gpl2+)))

debug log:

solving 7e1d172bf0 ...
found 7e1d172bf0 in https://yhetil.org/guix/20210109111236.31405-1-dftxbs3e@free.fr/
found c8ca5db1a0 in https://git.savannah.gnu.org/cgit/guix.git
preparing index
index prepared:
100644 c8ca5db1a0307f973ef10bb21c72018ce1ec71e3	gnu/packages/cups.scm

applying [1/1] https://yhetil.org/guix/20210109111236.31405-1-dftxbs3e@free.fr/
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index c8ca5db1a0..7e1d172bf0 100644

Checking patch gnu/packages/cups.scm...
Applied patch gnu/packages/cups.scm cleanly.

index at:
100644 7e1d172bf0c4e6c7846238276515f6e0fa9af8f2	gnu/packages/cups.scm

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.