1 // Copyright 2023 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "printing/print_job_constants_cups.h"
9 // Variations of identifier used for specifying printer color model.
10 // New ways of specifying a color model should include an entry in
11 // `kKnownPpdColorSettings`.
12 const char kCUPSColorMode[] = "ColorMode";
13 const char kCUPSColorModel[] = "ColorModel";
14 const char kCUPSPrintoutMode[] = "PrintoutMode";
15 const char kCUPSProcessColorModel[] = "ProcessColorModel";
16 const char kCUPSBrotherMonoColor[] = "BRMonoColor";
17 const char kCUPSBrotherPrintQuality[] = "BRPrintQuality";
18 const char kCUPSCanonCNColorMode[] = "CNColorMode";
19 const char kCUPSCanonCNIJGrayScale[] = "CNIJGrayScale";
20 const char kCUPSEpsonInk[] = "Ink";
21 const char kCUPSHpColorMode[] = "HPColorMode";
22 const char kCUPSHpPjlColorAsGray[] = "HPPJLColorAsGray";
23 const char kCUPSKonicaMinoltaSelectColor[] = "SelectColor";
24 const char kCUPSLexmarkBLW[] = "BLW";
25 const char kCUPSOkiControl[] = "OKControl";
26 const char kCUPSSharpARCMode[] = "ARCMode";
27 const char kCUPSXeroxXROutputColor[] = "XROutputColor";
28 const char kCUPSXeroxXRXColor[] = "XRXColor";
30 // Variations of identifier used for specifying printer color model choice.
31 const char kAuto[] = "Auto";
32 const char kBlack[] = "Black";
33 const char kCMYK[] = "CMYK";
34 const char kKCMY[] = "KCMY";
35 const char kCMY_K[] = "CMY+K";
36 const char kCMY[] = "CMY";
37 const char kColor[] = "Color";
38 const char kDraftGray[] = "Draft.Gray";
39 const char kEpsonColor[] = "COLOR";
40 const char kEpsonMono[] = "MONO";
41 const char kFullColor[] = "FullColor";
42 const char kGray[] = "Gray";
43 const char kGrayscale[] = "Grayscale";
44 const char kGreyscale[] = "Greyscale";
45 const char kHighGray[] = "High.Gray";
46 const char kHpColorPrint[] = "ColorPrint";
47 const char kHpGrayscalePrint[] = "GrayscalePrint";
48 const char kHpPjlColorAsGrayNo[] = "no";
49 const char kHpPjlColorAsGrayYes[] = "yes";
50 const char kLexmarkBLWFalse[] = "FalseM";
51 const char kLexmarkBLWTrue[] = "TrueM";
52 const char kMono[] = "Mono";
53 const char kMonochrome[] = "Monochrome";
54 const char kNormal[] = "Normal";
55 const char kNormalGray[] = "Normal.Gray";
56 const char kOne[] = "1";
57 const char kPrintAsColor[] = "PrintAsColor";
58 const char kPrintAsGrayscale[] = "PrintAsGrayscale";
59 const char kRGB[] = "RGB";
60 const char kRGBA[] = "RGBA";
61 const char kRGB16[] = "RGB16";
62 const char kSamsungColorFalse[] = "False";
63 const char kSamsungColorTrue[] = "True";
64 const char kSharpCMColor[] = "CMColor";
65 const char kSharpCMBW[] = "CMBW";
66 const char kXeroxAutomatic[] = "Automatic";
67 const char kXeroxBW[] = "BW";
68 const char kZero[] = "0";
71 base::span<const PpdColorSetting> GetKnownPpdColorSettings() {
72 static const PpdColorSetting kKnownPpdColorSettings[] = {
73 {kCUPSBrotherMonoColor, kMono, kFullColor}, // Brother
74 {kCUPSBrotherPrintQuality, kBlack, kColor}, // Brother
75 {kCUPSCanonCNColorMode, kMono, kColor}, // Canon
76 {kCUPSCanonCNIJGrayScale, kOne, kZero}, // Canon
77 {kCUPSColorMode, kMonochrome, kColor}, // Samsung
78 {kCUPSColorModel, kGray, kColor}, // Generic
79 {kCUPSEpsonInk, kEpsonMono, kEpsonColor}, // Epson
80 {kCUPSHpColorMode, kHpGrayscalePrint, kHpColorPrint}, // HP
81 {kCUPSHpPjlColorAsGray, kHpPjlColorAsGrayYes, kHpPjlColorAsGrayNo}, // HP
82 {kCUPSKonicaMinoltaSelectColor, kGrayscale, kColor}, // Konica Minolta
83 {kCUPSLexmarkBLW, kLexmarkBLWTrue, kLexmarkBLWFalse}, // Lexmark
84 {kCUPSOkiControl, kGray, kAuto}, // Oki
85 {kCUPSPrintoutMode, kNormalGray, kNormal}, // Foomatic
86 {kCUPSSharpARCMode, kSharpCMBW, kSharpCMColor}, // Sharp
87 {kCUPSXeroxXROutputColor, kPrintAsGrayscale, kPrintAsColor}, // Xerox
88 {kCUPSXeroxXRXColor, kXeroxBW, kXeroxAutomatic}, // Xerox
90 return base::make_span(kKnownPpdColorSettings);
94 } // namespace printing