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

printing / print_job_constants_cups.cc [blame]

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "printing/print_job_constants_cups.h"

namespace printing {

// Variations of identifier used for specifying printer color model.
// New ways of specifying a color model should include an entry in
// `kKnownPpdColorSettings`.
const char kCUPSColorMode[] = "ColorMode";
const char kCUPSColorModel[] = "ColorModel";
const char kCUPSPrintoutMode[] = "PrintoutMode";
const char kCUPSProcessColorModel[] = "ProcessColorModel";
const char kCUPSBrotherMonoColor[] = "BRMonoColor";
const char kCUPSBrotherPrintQuality[] = "BRPrintQuality";
const char kCUPSCanonCNColorMode[] = "CNColorMode";
const char kCUPSCanonCNIJGrayScale[] = "CNIJGrayScale";
const char kCUPSEpsonInk[] = "Ink";
const char kCUPSHpColorMode[] = "HPColorMode";
const char kCUPSHpPjlColorAsGray[] = "HPPJLColorAsGray";
const char kCUPSKonicaMinoltaSelectColor[] = "SelectColor";
const char kCUPSLexmarkBLW[] = "BLW";
const char kCUPSOkiControl[] = "OKControl";
const char kCUPSSharpARCMode[] = "ARCMode";
const char kCUPSXeroxXROutputColor[] = "XROutputColor";
const char kCUPSXeroxXRXColor[] = "XRXColor";

// Variations of identifier used for specifying printer color model choice.
const char kAuto[] = "Auto";
const char kBlack[] = "Black";
const char kCMYK[] = "CMYK";
const char kKCMY[] = "KCMY";
const char kCMY_K[] = "CMY+K";
const char kCMY[] = "CMY";
const char kColor[] = "Color";
const char kDraftGray[] = "Draft.Gray";
const char kEpsonColor[] = "COLOR";
const char kEpsonMono[] = "MONO";
const char kFullColor[] = "FullColor";
const char kGray[] = "Gray";
const char kGrayscale[] = "Grayscale";
const char kGreyscale[] = "Greyscale";
const char kHighGray[] = "High.Gray";
const char kHpColorPrint[] = "ColorPrint";
const char kHpGrayscalePrint[] = "GrayscalePrint";
const char kHpPjlColorAsGrayNo[] = "no";
const char kHpPjlColorAsGrayYes[] = "yes";
const char kLexmarkBLWFalse[] = "FalseM";
const char kLexmarkBLWTrue[] = "TrueM";
const char kMono[] = "Mono";
const char kMonochrome[] = "Monochrome";
const char kNormal[] = "Normal";
const char kNormalGray[] = "Normal.Gray";
const char kOne[] = "1";
const char kPrintAsColor[] = "PrintAsColor";
const char kPrintAsGrayscale[] = "PrintAsGrayscale";
const char kRGB[] = "RGB";
const char kRGBA[] = "RGBA";
const char kRGB16[] = "RGB16";
const char kSamsungColorFalse[] = "False";
const char kSamsungColorTrue[] = "True";
const char kSharpCMColor[] = "CMColor";
const char kSharpCMBW[] = "CMBW";
const char kXeroxAutomatic[] = "Automatic";
const char kXeroxBW[] = "BW";
const char kZero[] = "0";

#if BUILDFLAG(IS_MAC)
base::span<const PpdColorSetting> GetKnownPpdColorSettings() {
  static const PpdColorSetting kKnownPpdColorSettings[] = {
      {kCUPSBrotherMonoColor, kMono, kFullColor},            // Brother
      {kCUPSBrotherPrintQuality, kBlack, kColor},            // Brother
      {kCUPSCanonCNColorMode, kMono, kColor},                // Canon
      {kCUPSCanonCNIJGrayScale, kOne, kZero},                // Canon
      {kCUPSColorMode, kMonochrome, kColor},                 // Samsung
      {kCUPSColorModel, kGray, kColor},                      // Generic
      {kCUPSEpsonInk, kEpsonMono, kEpsonColor},              // Epson
      {kCUPSHpColorMode, kHpGrayscalePrint, kHpColorPrint},  // HP
      {kCUPSHpPjlColorAsGray, kHpPjlColorAsGrayYes, kHpPjlColorAsGrayNo},  // HP
      {kCUPSKonicaMinoltaSelectColor, kGrayscale, kColor},   // Konica Minolta
      {kCUPSLexmarkBLW, kLexmarkBLWTrue, kLexmarkBLWFalse},  // Lexmark
      {kCUPSOkiControl, kGray, kAuto},                       // Oki
      {kCUPSPrintoutMode, kNormalGray, kNormal},             // Foomatic
      {kCUPSSharpARCMode, kSharpCMBW, kSharpCMColor},        // Sharp
      {kCUPSXeroxXROutputColor, kPrintAsGrayscale, kPrintAsColor},  // Xerox
      {kCUPSXeroxXRXColor, kXeroxBW, kXeroxAutomatic},              // Xerox
  };
  return base::span(kKnownPpdColorSettings);
}
#endif

}  // namespace printing