]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Add support for deep grayscale (ColorModel=Gray16) and 8-bit AdobeRGB
authorMichael Sweet <michael.r.sweet@gmail.com>
Thu, 18 Jan 2018 14:30:26 +0000 (09:30 -0500)
committerMichael Sweet <michael.r.sweet@gmail.com>
Thu, 18 Jan 2018 14:30:26 +0000 (09:30 -0500)
(Issue #5227)

CHANGES.md
cups/ppd-cache.c

index 656a31dc09b6959cc0a6e9c94383c7484f9603f2..8f8dac376af7b92fbe3736be66b4b32c8cab95c2 100644 (file)
@@ -1,6 +1,12 @@
-CHANGES - 2.3b2 - 2018-01-17
+CHANGES - 2.3b3 - 2018-01-17
 ============================
 
+Changes in CUPS v2.3b3
+----------------------
+
+- The IPP Everywhere PPD generator did not support deep grayscale or 8-bit per
+  component AdobeRGB (Issue #5227)
+
 
 Changes in CUPS v2.3b2
 ----------------------
index c6708de276c45d9ff53965a8e5cbed763c6331e7..27ed253632fef73ea126470b2e21c1acbf6a8e1b 100644 (file)
@@ -3730,7 +3730,23 @@ _ppdCreateFromIPP(char   *buffer,        /* I - Filename buffer */
         if (!default_color || !strcmp(default_color, "FastGray"))
          default_color = "Gray";
       }
-      else if (!strcasecmp(keyword, "srgb_8") || !strcmp(keyword, "SRGB24") || !strcmp(keyword, "color"))
+      else if (!strcasecmp(keyword, "sgray_16") || !strcmp(keyword, "W8-16"))
+      {
+        if (!default_color)
+         cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n"
+                            "*OrderDependency: 10 AnySetup *ColorModel\n", _cupsLangString(lang, _("Color Mode")));
+
+        if (!strcmp(keyword, "W8-16"))
+        {
+         cupsFilePrintf(fp, "*ColorModel Gray/%s: \"<</cupsColorSpace 18/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", _cupsLangString(lang, _("Grayscale")));
+
+         if (!default_color || !strcmp(default_color, "FastGray"))
+           default_color = "Gray";
+        }
+
+        cupsFilePrintf(fp, "*ColorModel Gray16/%s: \"<</cupsColorSpace 18/cupsBitsPerColor 16/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", _cupsLangString(lang, _("Deep Gray")));
+      }
+      else if (!strcasecmp(keyword, "srgb_8") || !strncmp(keyword, "SRGB24", 7) || !strcmp(keyword, "color"))
       {
         if (!default_color)
          cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n"
@@ -3740,7 +3756,7 @@ _ppdCreateFromIPP(char   *buffer, /* I - Filename buffer */
 
        default_color = "RGB";
       }
-      else if (!strcasecmp(keyword, "adobe-rgb_16") || !strcmp(keyword, "ADOBERGB48"))
+      else if (!strcasecmp(keyword, "adobe-rgb_16") || !strcmp(keyword, "ADOBERGB48") || !strcmp(keyword, "ADOBERGB24-48"))
       {
         if (!default_color)
          cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n"
@@ -3748,6 +3764,17 @@ _ppdCreateFromIPP(char   *buffer,        /* I - Filename buffer */
 
         cupsFilePrintf(fp, "*ColorModel AdobeRGB/%s: \"<</cupsColorSpace 20/cupsBitsPerColor 16/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", _cupsLangString(lang, _("Deep Color")));
 
+        if (!default_color)
+         default_color = "AdobeRGB";
+      }
+      else if ((!strcasecmp(keyword, "adobe-rgb_8") && !ippContainsString(attr, "adobe-rgb_16")) || !strcmp(keyword, "ADOBERGB24"))
+      {
+        if (!default_color)
+         cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n"
+                            "*OrderDependency: 10 AnySetup *ColorModel\n", _cupsLangString(lang, _("Color Mode")));
+
+        cupsFilePrintf(fp, "*ColorModel AdobeRGB/%s: \"<</cupsColorSpace 20/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", _cupsLangString(lang, _("Deep Color")));
+
         if (!default_color)
          default_color = "AdobeRGB";
       }