From: Michael Sweet Date: Thu, 18 Jan 2018 14:30:26 +0000 (-0500) Subject: Add support for deep grayscale (ColorModel=Gray16) and 8-bit AdobeRGB X-Git-Tag: v2.3b3~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c283f46debd0cba1c776059ddda37fb477a9b758;p=thirdparty%2Fcups.git Add support for deep grayscale (ColorModel=Gray16) and 8-bit AdobeRGB (Issue #5227) --- diff --git a/CHANGES.md b/CHANGES.md index 656a31dc09..8f8dac376a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -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 ---------------------- diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c index c6708de276..27ed253632 100644 --- a/cups/ppd-cache.c +++ b/cups/ppd-cache.c @@ -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: \"<>setpagedevice\"\n", _cupsLangString(lang, _("Grayscale"))); + + if (!default_color || !strcmp(default_color, "FastGray")) + default_color = "Gray"; + } + + cupsFilePrintf(fp, "*ColorModel Gray16/%s: \"<>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: \"<>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: \"<>setpagedevice\"\n", _cupsLangString(lang, _("Deep Color"))); + if (!default_color) default_color = "AdobeRGB"; }