summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2017-09-13 11:53:50 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2017-09-13 11:53:56 +0900
commit5ed126d6de36f982f1f800f54d468dac5730050d (patch)
treee879d7ec04890d2b5395408fee767ff8e7fde2a1
parent1465a9590ad148bed86bf8930007467ad37f7ac0 (diff)
downloadcups-5ed126d6de36f982f1f800f54d468dac5730050d.tar.gz
cups-5ed126d6de36f982f1f800f54d468dac5730050d.tar.bz2
cups-5ed126d6de36f982f1f800f54d468dac5730050d.zip
Imported Upstream version 2.2.3
Change-Id: I3d6e094a6bcee5cd32563c3b4b9e77d653a4949d Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
-rw-r--r--CHANGES.txt29
-rw-r--r--INSTALL.txt2
-rw-r--r--Makefile2
-rw-r--r--README.txt2
-rw-r--r--backend/ipp.c8
-rw-r--r--backend/runloop.c4
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac4
-rw-r--r--cups/cups.h6
-rw-r--r--cups/ipp-support.c82
-rw-r--r--cups/ipp.c11
-rw-r--r--cups/language-private.h9
-rw-r--r--cups/language.c130
-rw-r--r--cups/ppd-cache.c635
-rw-r--r--cups/ppd-localize.c4
-rw-r--r--cups/ppd-private.h19
-rw-r--r--cups/ppd.c20
-rw-r--r--cups/pwg-media.c2
-rw-r--r--cups/testppd.c2
-rw-r--r--cups/tls-darwin.c18
-rw-r--r--locale/cups.pot868
-rw-r--r--locale/cups.strings148
-rw-r--r--locale/cups_ca.po90
-rw-r--r--locale/cups_cs.po90
-rw-r--r--locale/cups_de.po98
-rw-r--r--locale/cups_es.po102
-rw-r--r--locale/cups_fr.po90
-rw-r--r--locale/cups_it.po90
-rw-r--r--locale/cups_ja.po90
-rw-r--r--locale/cups_pt_BR.po90
-rw-r--r--locale/cups_ru.po90
-rw-r--r--locale/po2strings.c23
-rw-r--r--man/mantohtml.c7
-rw-r--r--packaging/cups.spec4
-rw-r--r--scheduler/client.c6
-rw-r--r--scheduler/conf.c6
-rw-r--r--scheduler/cups-driverd.cxx2
-rw-r--r--scheduler/job.c11
-rw-r--r--scheduler/main.c4
-rw-r--r--scheduler/printers.c85
-rw-r--r--scheduler/process.c4
-rw-r--r--templates/de/jobs-header.tmpl2
-rw-r--r--templates/es/jobs-header.tmpl2
-rw-r--r--templates/ja/jobs-header.tmpl2
-rw-r--r--templates/jobs-header.tmpl2
-rw-r--r--templates/pt_BR/jobs-header.tmpl2
-rw-r--r--templates/ru/jobs-header.tmpl2
-rw-r--r--vcnet/config.h4
-rw-r--r--xcode/config.h4
49 files changed, 1970 insertions, 1057 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 4be9f3f..769a61a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,33 @@
-CHANGES.txt - 2.2.2 - 2017-01-17
+CHANGES.txt - 2.2.3 - 2017-03-28
--------------------------------
+CHANGES IN CUPS V2.2.3
+
+ - The IPP backend could get into an infinite loop for certain errors,
+ causing a hung queue (<rdar://problem/28008717>)
+ - The scheduler could pause responding to client requests in order to
+ save state changes to disk (<rdar://problem/28690656>)
+ - Added support for PPD finishing keywords (Issue #4960, Issue #4961,
+ Issue #4962)
+ - The IPP backend did not send a media-col attribute for just the source
+ or type (Issue #4963)
+ - IPP Everywhere print queues did not always support all print qualities
+ supported by the printer (Issue #4953)
+ - IPP Everywhere print queues did not always support all media types
+ supported by the printer (Issue #4953)
+ - The IPP Everywhere PPD generator did not return useful error messages
+ (Issue #4954)
+ - The IPP Everywhere finishings support did not work correctly with
+ common UI or command-line options (Issue #4976)
+ - Fixed an error handling issue for the network backends (Issue #4979)
+ - The default cupsd.conf file did not work on systems compiled without
+ Kerberos support (Issue #4947)
+ - The "reprint job" option was not available for some canceled jobs
+ (Issue #4915)
+ - Updated the job listing in the web interface (Issue #4978)
+ - Fixed some localization issues on macOS (<rdar://problem/27245567>)
+
+
CHANGES IN CUPS V2.2.2
- Fixed some issues with the Zebra ZPL printer driver (Issue #4898)
diff --git a/INSTALL.txt b/INSTALL.txt
index fc82b5a..b2996cd 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -1,4 +1,4 @@
-INSTALL - CUPS v2.2.2 - 2017-01-17
+INSTALL - CUPS v2.2.3 - 2017-03-28
----------------------------------
This file describes how to compile and install CUPS from source code. For more
diff --git a/Makefile b/Makefile
index 20cd313..afc90ce 100644
--- a/Makefile
+++ b/Makefile
@@ -317,7 +317,7 @@ EPMFLAGS = -v --output-dir dist $(EPMARCH)
bsd deb epm pkg rpm slackware:
epm $(EPMFLAGS) -f $@ cups packaging/cups.list
-.PHONEY: dist
+.PHONY: dist
dist: all
$(RM) -r dist
$(MAKE) $(MFLAGS) epm
diff --git a/README.txt b/README.txt
index ee5fb66..a6a6079 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-README - CUPS v2.2.2 - 2017-01-17
+README - CUPS v2.2.3 - 2017-03-28
---------------------------------
Looking for compile instructions? Read the file "INSTALL.txt" instead...
diff --git a/backend/ipp.c b/backend/ipp.c
index 6eefd14..685d4d9 100644
--- a/backend/ipp.c
+++ b/backend/ipp.c
@@ -1,7 +1,7 @@
/*
* IPP backend for CUPS.
*
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -1469,7 +1469,7 @@ main(int argc, /* I - Number of command-line args */
while (!job_canceled && validate_job)
{
- request = new_request(IPP_VALIDATE_JOB, version, uri, argv[2],
+ request = new_request(IPP_OP_VALIDATE_JOB, version, uri, argv[2],
monitor.job_name, num_options, options, compression,
copies_sup ? copies : 1, document_format, pc, ppd,
media_col_sup, doc_handling_sup, print_color_mode_sup);
@@ -1533,6 +1533,8 @@ main(int argc, /* I - Number of command-line args */
else if (ipp_status < IPP_REDIRECTION_OTHER_SITE ||
ipp_status == IPP_BAD_REQUEST)
break;
+ else if (job_auth == NULL && ipp_status > IPP_BAD_REQUEST)
+ goto cleanup;
}
/*
@@ -2216,7 +2218,7 @@ main(int argc, /* I - Number of command-line args */
return (CUPS_BACKEND_HOLD);
else if (ipp_status == IPP_INTERNAL_ERROR)
return (CUPS_BACKEND_STOP);
- else if (ipp_status == IPP_CONFLICT)
+ else if (ipp_status == IPP_CONFLICT || ipp_status == IPP_STATUS_ERROR_REQUEST_ENTITY || ipp_status == IPP_STATUS_ERROR_REQUEST_VALUE)
return (CUPS_BACKEND_FAILED);
else if (ipp_status == IPP_REQUEST_VALUE ||
ipp_status == IPP_STATUS_ERROR_ATTRIBUTES_OR_VALUES ||
diff --git a/backend/runloop.c b/backend/runloop.c
index baa3462..13e5225 100644
--- a/backend/runloop.c
+++ b/backend/runloop.c
@@ -77,7 +77,7 @@ backendDrainOutput(int print_fd, /* I - Print file descriptor */
* Read error - bail if we don't see EAGAIN or EINTR...
*/
- if (errno != EAGAIN || errno != EINTR)
+ if (errno != EAGAIN && errno != EINTR)
{
fprintf(stderr, "DEBUG: Read failed: %s\n", strerror(errno));
_cupsLangPrintFilter(stderr, "ERROR", _("Unable to read print data."));
@@ -305,7 +305,7 @@ backendRunLoop(
* Read error - bail if we don't see EAGAIN or EINTR...
*/
- if (errno != EAGAIN || errno != EINTR)
+ if (errno != EAGAIN && errno != EINTR)
{
fprintf(stderr, "DEBUG: Read failed: %s\n", strerror(errno));
_cupsLangPrintFilter(stderr, "ERROR",
diff --git a/configure b/configure
index 1788f33..51cb587 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for CUPS 2.2.2.
+# Generated by GNU Autoconf 2.68 for CUPS 2.2.3.
#
# Report bugs to <https://github.com/apple/cups/issues>.
#
@@ -560,8 +560,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='CUPS'
PACKAGE_TARNAME='cups'
-PACKAGE_VERSION='2.2.2'
-PACKAGE_STRING='CUPS 2.2.2'
+PACKAGE_VERSION='2.2.3'
+PACKAGE_STRING='CUPS 2.2.3'
PACKAGE_BUGREPORT='https://github.com/apple/cups/issues'
PACKAGE_URL='https://www.cups.org/'
@@ -1448,7 +1448,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures CUPS 2.2.2 to adapt to many kinds of systems.
+\`configure' configures CUPS 2.2.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1509,7 +1509,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of CUPS 2.2.2:";;
+ short | recursive ) echo "Configuration of CUPS 2.2.3:";;
esac
cat <<\_ACEOF
@@ -1689,7 +1689,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-CUPS configure 2.2.2
+CUPS configure 2.2.3
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2153,7 +2153,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by CUPS $as_me 2.2.2, which was
+It was created by CUPS $as_me 2.2.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2527,7 +2527,7 @@ esac
ac_config_headers="$ac_config_headers config.h"
-CUPS_VERSION="2.2.2"
+CUPS_VERSION="2.2.3"
CUPS_REVISION=""
CUPS_BUILD="cups-$CUPS_VERSION"
@@ -10748,7 +10748,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by CUPS $as_me 2.2.2, which was
+This file was extended by CUPS $as_me 2.2.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -10811,7 +10811,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-CUPS config.status 2.2.2
+CUPS config.status 2.2.3
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 7369e0f..ad3ec8e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
dnl
dnl Configuration script for CUPS.
dnl
-dnl Copyright 2007-2016 by Apple Inc.
+dnl Copyright 2007-2017 by Apple Inc.
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -15,7 +15,7 @@ dnl We need at least autoconf 2.60...
AC_PREREQ(2.60)
dnl Package name and version...
-AC_INIT([CUPS], [2.2.2], [https://github.com/apple/cups/issues], [cups], [https://www.cups.org/])
+AC_INIT([CUPS], [2.2.3], [https://github.com/apple/cups/issues], [cups], [https://www.cups.org/])
sinclude(config-scripts/cups-opsys.m4)
sinclude(config-scripts/cups-common.m4)
diff --git a/cups/cups.h b/cups/cups.h
index 06e2f9b..3205dd8 100644
--- a/cups/cups.h
+++ b/cups/cups.h
@@ -1,7 +1,7 @@
/*
* API definitions for CUPS.
*
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -47,10 +47,10 @@ extern "C" {
* Constants...
*/
-# define CUPS_VERSION 2.0202
+# define CUPS_VERSION 2.0203
# define CUPS_VERSION_MAJOR 2
# define CUPS_VERSION_MINOR 2
-# define CUPS_VERSION_PATCH 2
+# define CUPS_VERSION_PATCH 3
# define CUPS_BC_FD 3
/* Back-channel file descriptor for
diff --git a/cups/ipp-support.c b/cups/ipp-support.c
index b3f3811..b49ac0d 100644
--- a/cups/ipp-support.c
+++ b/cups/ipp-support.c
@@ -897,12 +897,14 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"k-octets",
"k-octets-processed",
"last-document",
+ "materials-col-actual", /* IPP 3D */
"media-actual",
"media-col-actual",
"media-input-tray-check-actual",
"media-sheets",
"media-sheets-completed",
"more-info",
+ "multiple-object-handling-actual", /* IPP 3D */
"number-up-actual",
"orientation-requested-actual",
"output-bin-actual",
@@ -914,12 +916,17 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"pages",
"pages-completed",
"pages-completed-current-copy",
+ "platform-temperature-actual", /* IPP 3D */
"presentation-direction-number-up-actual",
+ "print-accuracy-actual", /* IPP 3D */
+ "print-base-actual", /* IPP 3D */
"print-color-mode-actual",
"print-content-optimize-actual",
+ "print-objects-actual", /* IPP 3D */
"print-quality-actual",
"print-rendering-intent-actual",
"print-scaling-actual", /* IPP Paid Printing */
+ "print-supports-actual", /* IPP 3D */
"printer-resolution-actual",
"printer-up-time",
"separator-sheets-actual",
@@ -974,6 +981,20 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"insert-sheet",
"insert-sheet-default",
"insert-sheet-supported",
+ "material-amount-units-supported", /* IPP 3D */
+ "material-diameter-supported", /* IPP 3D */
+ "material-purpose-supported", /* IPP 3D */
+ "material-rate-supported", /* IPP 3D */
+ "material-rate-units-supported", /* IPP 3D */
+ "material-shell-thickness-supported",/* IPP 3D */
+ "material-temperature-supported", /* IPP 3D */
+ "material-type-supported", /* IPP 3D */
+ "materials-col", /* IPP 3D */
+ "materials-col-database", /* IPP 3D */
+ "materials-col-default", /* IPP 3D */
+ "materials-col-ready", /* IPP 3D */
+ "materials-col-supported", /* IPP 3D */
+ "max-materials-col-supported", /* IPP 3D */
"max-stitching-locations-supported",
"media",
"media-back-coating-supported",
@@ -1006,6 +1027,9 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"multiple-document-handling",
"multiple-document-handling-default",
"multiple-document-handling-supported",
+ "multiple-object-handling", /* IPP 3D */
+ "multiple-object-handling-default", /* IPP 3D */
+ "multiple-object-handling-supported",/* IPP 3D */
"number-up",
"number-up-default",
"number-up-supported",
@@ -1034,15 +1058,27 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"pdl-init-file-name-subdirectory-supported",
"pdl-init-file-name-supported",
"pdl-init-file-supported",
+ "platform-temperature", /* IPP 3D */
+ "platform-temperature-default", /* IPP 3D */
+ "platform-temperature-supported", /* IPP 3D */
"presentation-direction-number-up",
"presentation-direction-number-up-default",
"presentation-direction-number-up-supported",
+ "print-accuracy", /* IPP 3D */
+ "print-accuracy-default", /* IPP 3D */
+ "print-accuracy-supported", /* IPP 3D */
+ "print-base", /* IPP 3D */
+ "print-base-default", /* IPP 3D */
+ "print-base-supported", /* IPP 3D */
"print-color-mode",
"print-color-mode-default",
"print-color-mode-supported",
"print-content-optimize",
"print-content-optimize-default",
"print-content-optimize-supported",
+ "print-objects", /* IPP 3D */
+ "print-objects-default", /* IPP 3D */
+ "print-objects-supported", /* IPP 3D */
"print-quality",
"print-quality-default",
"print-quality-supported",
@@ -1052,6 +1088,9 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"print-scaling", /* IPP Paid Printing */
"print-scaling-default", /* IPP Paid Printing */
"print-scaling-supported", /* IPP Paid Printing */
+ "print-supports", /* IPP 3D */
+ "print-supports-default", /* IPP 3D */
+ "print-supports-supported", /* IPP 3D */
"printer-resolution",
"printer-resolution-default",
"printer-resolution-supported",
@@ -1166,10 +1205,12 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"job-state-reasons",
"job-uri",
"job-uuid",
+ "materials-col-actual", /* IPP 3D */
"media-actual",
"media-col-actual",
"media-check-input-tray-actual",
"multiple-document-handling-actual",
+ "multiple-object-handling-actual", /* IPP 3D */
"number-of-documents",
"number-of-intervening-jobs",
"number-up-actual",
@@ -1181,12 +1222,17 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"page-delivery-actual",
"page-order-received-actual",
"page-ranges-actual",
+ "platform-temperature-actual", /* IPP 3D */
"presentation-direction-number-up-actual",
+ "print-accuracy-actual", /* IPP 3D */
+ "print-base-actual", /* IPP 3D */
"print-color-mode-actual",
"print-content-optimize-actual",
+ "print-objects-actual", /* IPP 3D */
"print-quality-actual",
"print-rendering-intent-actual",
"print-scaling-actual", /* IPP Paid Printing */
+ "print-supports-actual", /* IPP 3D */
"printer-resolution-actual",
"separator-sheets-actual",
"sheet-collate-actual",
@@ -1208,6 +1254,7 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
};
static const char * const job_template[] =
{ /* job-template group */
+ "accuracy-units-supported", /* IPP 3D */
"confirmation-sheet-print", /* IPP FaxOut */
"confirmation-sheet-print-default",
"copies",
@@ -1315,6 +1362,20 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"job-sheets-default",
"job-sheets-supported",
"logo-uri-schemes-supported",
+ "material-amount-units-supported", /* IPP 3D */
+ "material-diameter-supported", /* IPP 3D */
+ "material-purpose-supported", /* IPP 3D */
+ "material-rate-supported", /* IPP 3D */
+ "material-rate-units-supported", /* IPP 3D */
+ "material-shell-thickness-supported",/* IPP 3D */
+ "material-temperature-supported", /* IPP 3D */
+ "material-type-supported", /* IPP 3D */
+ "materials-col", /* IPP 3D */
+ "materials-col-database", /* IPP 3D */
+ "materials-col-default", /* IPP 3D */
+ "materials-col-ready", /* IPP 3D */
+ "materials-col-supported", /* IPP 3D */
+ "max-materials-col-supported", /* IPP 3D */
"max-save-info-supported",
"max-stitching-locations-supported",
"media",
@@ -1348,6 +1409,9 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"multiple-document-handling",
"multiple-document-handling-default",
"multiple-document-handling-supported",
+ "multiple-object-handling", /* IPP 3D */
+ "multiple-object-handling-default", /* IPP 3D */
+ "multiple-object-handling-supported",/* IPP 3D */
"number-of-retries", /* IPP FaxOut */
"number-of-retries-default",
"number-of-retries-supported",
@@ -1385,15 +1449,27 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"pdl-init-file-name-subdirectory-supported",
"pdl-init-file-name-supported",
"pdl-init-file-supported",
+ "platform-temperature", /* IPP 3D */
+ "platform-temperature-default", /* IPP 3D */
+ "platform-temperature-supported", /* IPP 3D */
"presentation-direction-number-up",
"presentation-direction-number-up-default",
"presentation-direction-number-up-supported",
+ "print-accuracy", /* IPP 3D */
+ "print-accuracy-default", /* IPP 3D */
+ "print-accuracy-supported", /* IPP 3D */
+ "print-base", /* IPP 3D */
+ "print-base-default", /* IPP 3D */
+ "print-base-supported", /* IPP 3D */
"print-color-mode",
"print-color-mode-default",
"print-color-mode-supported",
"print-content-optimize",
"print-content-optimize-default",
"print-content-optimize-supported",
+ "print-objects", /* IPP 3D */
+ "print-objects-default", /* IPP 3D */
+ "print-objects-supported", /* IPP 3D */
"print-quality",
"print-quality-default",
"print-quality-supported",
@@ -1403,6 +1479,9 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"print-scaling", /* IPP Paid Printing */
"print-scaling-default", /* IPP Paid Printing */
"print-scaling-supported", /* IPP Paid Printing */
+ "print-supports", /* IPP 3D */
+ "print-supports-default", /* IPP 3D */
+ "print-supports-supported", /* IPP 3D */
"printer-resolution",
"printer-resolution-default",
"printer-resolution-supported",
@@ -1533,6 +1612,7 @@ ippCreateRequestedArray(ipp_t *request) /* I - IPP request */
"pages-per-minute",
"pages-per-minute-color",
"pdf-k-octets-supported", /* CUPS extension */
+ "pdf-features-supported", /* IPP 3D */
"pdf-versions-supported", /* CUPS extension */
"pdl-override-supported",
"port-monitor", /* CUPS extension */
@@ -2045,7 +2125,7 @@ ippOpString(ipp_op_t op) /* I - Operation ID */
* See if the operation ID is a known value...
*/
- if (op >= IPP_OP_PRINT_JOB && op <= IPP_OP_VALIDATE_DOCUMENT)
+ if (op >= IPP_OP_PRINT_JOB && op < (ipp_op_t)(sizeof(ipp_std_ops) / sizeof(ipp_std_ops[0])))
return (ipp_std_ops[op]);
else if (op == IPP_OP_PRIVATE)
return ("windows-ext");
diff --git a/cups/ipp.c b/cups/ipp.c
index b2f8bb7..817c9d5 100644
--- a/cups/ipp.c
+++ b/cups/ipp.c
@@ -1,7 +1,7 @@
/*
* Internet Printing Protocol functions for CUPS.
*
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -2570,13 +2570,16 @@ ippGetString(ipp_attribute_t *attr, /* I - IPP attribute */
int element, /* I - Value number (0-based) */
const char **language)/* O - Language code (@code NULL@ for don't care) */
{
+ ipp_tag_t tag; /* Value tag */
+
+
/*
* Range check input...
*/
- if (!attr || element < 0 || element >= attr->num_values ||
- (attr->value_tag != IPP_TAG_TEXTLANG && attr->value_tag != IPP_TAG_NAMELANG &&
- (attr->value_tag < IPP_TAG_TEXT || attr->value_tag > IPP_TAG_MIMETYPE)))
+ tag = ippGetValueTag(attr);
+
+ if (!attr || element < 0 || element >= attr->num_values || (tag != IPP_TAG_TEXTLANG && tag != IPP_TAG_NAMELANG && (tag < IPP_TAG_TEXT || tag > IPP_TAG_MIMETYPE)))
return (NULL);
/*
diff --git a/cups/language-private.h b/cups/language-private.h
index 291bf09..49e4b71 100644
--- a/cups/language-private.h
+++ b/cups/language-private.h
@@ -1,7 +1,7 @@
/*
* Private localization support for CUPS.
*
- * Copyright 2007-2010 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -22,6 +22,9 @@
# include <stdio.h>
# include <cups/transcode.h>
+# ifdef __APPLE__
+# include <CoreFoundation/CoreFoundation.h>
+# endif /* __APPLE__ */
# ifdef __cplusplus
extern "C" {
@@ -51,8 +54,8 @@ typedef struct _cups_message_s /**** Message catalog entry ****/
*/
# ifdef __APPLE__
-extern const char *_cupsAppleLanguage(const char *locale, char *language,
- size_t langsize);
+extern const char *_cupsAppleLanguage(const char *locale, char *language, size_t langsize);
+extern const char *_cupsAppleLocale(CFStringRef languageName, char *locale, size_t localesize);
# endif /* __APPLE__ */
extern void _cupsCharmapFlush(void);
extern const char *_cupsEncodingName(cups_encoding_t encoding);
diff --git a/cups/language.c b/cups/language.c
index bf38d19..f3a3496 100644
--- a/cups/language.c
+++ b/cups/language.c
@@ -1,7 +1,7 @@
/*
* I18N/language support for CUPS.
*
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -118,11 +118,13 @@ typedef struct
} _apple_language_locale_t;
static const _apple_language_locale_t apple_language_locale[] =
-{ /* Locale to language ID LUT */
- { "en", "en_US" },
- { "nb", "no" },
- { "zh-Hans", "zh_CN" },
- { "zh-Hant", "zh_TW" }
+{ /* Language to locale ID LUT */
+ { "en", "en_US" },
+ { "nb", "no" },
+ { "nb_NO", "no" },
+ { "zh-Hans", "zh_CN" },
+ { "zh-Hant", "zh_TW" },
+ { "zh-Hant_CN", "zh_TW" }
};
#endif /* __APPLE__ */
@@ -239,6 +241,75 @@ _cupsAppleLanguage(const char *locale, /* I - Locale ID */
return (language);
}
+
+
+/*
+ * '_cupsAppleLocale()' - Get the locale associated with an Apple language ID.
+ */
+
+const char * /* O - Locale */
+_cupsAppleLocale(CFStringRef languageName, /* I - Apple language ID */
+ char *locale, /* I - Buffer for locale */
+ size_t localesize) /* I - Size of buffer */
+{
+ int i; /* Looping var */
+ CFStringRef localeName; /* Locale as a CF string */
+
+
+ localeName = CFLocaleCreateCanonicalLocaleIdentifierFromString(kCFAllocatorDefault, languageName);
+
+ if (localeName)
+ {
+ /*
+ * Copy the locale name and tweak as needed...
+ */
+
+ if (!CFStringGetCString(localeName, locale, (CFIndex)localesize, kCFStringEncodingASCII))
+ *locale = '\0';
+
+ CFRelease(localeName);
+
+ /*
+ * Map new language identifiers to locales...
+ */
+
+ for (i = 0;
+ i < (int)(sizeof(apple_language_locale) /
+ sizeof(apple_language_locale[0]));
+ i ++)
+ {
+ if (!strcmp(locale, apple_language_locale[i].language))
+ {
+ strlcpy(locale, apple_language_locale[i].locale, localesize);
+ break;
+ }
+ }
+ }
+ else
+ {
+ /*
+ * Just try the Apple language name...
+ */
+
+ if (!CFStringGetCString(languageName, locale, (CFIndex)localesize, kCFStringEncodingASCII))
+ *locale = '\0';
+ }
+
+ if (!*locale)
+ return (NULL);
+
+ /*
+ * Convert language subtag into region subtag...
+ */
+
+ if (locale[2] == '-')
+ locale[2] = '_';
+
+ if (!strchr(locale, '.'))
+ strlcat(locale, ".UTF-8", localesize);
+
+ return (locale);
+}
#endif /* __APPLE__ */
@@ -1134,13 +1205,11 @@ _cupsMessageNew(void *context) /* I - User data */
static const char * /* O - Locale string */
appleLangDefault(void)
{
- int i; /* Looping var */
CFBundleRef bundle; /* Main bundle (if any) */
CFArrayRef bundleList; /* List of localizations in bundle */
CFPropertyListRef localizationList = NULL;
/* List of localization data */
CFStringRef languageName; /* Current name */
- CFStringRef localeName; /* Canonical from of name */
char *lang; /* LANG environment variable */
_cups_globals_t *cg = _cupsGlobals();
/* Pointer to library globals */
@@ -1225,49 +1294,11 @@ appleLangDefault(void)
if (languageName &&
CFGetTypeID(languageName) == CFStringGetTypeID())
{
- localeName = CFLocaleCreateCanonicalLocaleIdentifierFromString(
- kCFAllocatorDefault, languageName);
-
- if (localeName)
- {
- CFStringGetCString(localeName, cg->language, sizeof(cg->language),
- kCFStringEncodingASCII);
- CFRelease(localeName);
-
+ if (_cupsAppleLocale(languageName, cg->language, sizeof(cg->language)))
DEBUG_printf(("3appleLangDefault: cg->language=\"%s\"",
cg->language));
-
- /*
- * Map new language identifiers to locales...
- */
-
- for (i = 0;
- i < (int)(sizeof(apple_language_locale) /
- sizeof(apple_language_locale[0]));
- i ++)
- {
- if (!strcmp(cg->language, apple_language_locale[i].language))
- {
- DEBUG_printf(("3appleLangDefault: mapping \"%s\" to \"%s\"...",
- cg->language, apple_language_locale[i].locale));
- strlcpy(cg->language, apple_language_locale[i].locale,
- sizeof(cg->language));
- break;
- }
- }
-
- /*
- * Convert language subtag into region subtag...
- */
-
- if (cg->language[2] == '-')
- cg->language[2] = '_';
-
- if (!strchr(cg->language, '.'))
- strlcat(cg->language, ".UTF-8", sizeof(cg->language));
- }
else
- DEBUG_puts("3appleLangDefault: Unable to get localeName.");
+ DEBUG_puts("3appleLangDefault: Unable to get locale.");
}
}
@@ -1371,10 +1402,11 @@ appleMessageLoad(const char *locale) /* I - Locale ID */
locale = "Japanese";
else if (!strncmp(locale, "es", 2))
locale = "Spanish";
- else if (!strcmp(locale, "zh_HK"))
+ else if (!strcmp(locale, "zh_HK") || !strncmp(locale, "zh-Hant", 7))
{
/*
* <rdar://problem/22130168>
+ * <rdar://problem/27245567>
*
* Try zh_TW first, then zh... Sigh...
*/
diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c
index e8b05e4..e712341 100644
--- a/cups/ppd-cache.c
+++ b/cups/ppd-cache.c
@@ -32,10 +32,10 @@
* Local functions...
*/
+static void pwg_add_finishing(cups_array_t *finishings, ipp_finishings_t template, const char *name, const char *value);
static int pwg_compare_finishings(_pwg_finishings_t *a,
_pwg_finishings_t *b);
static void pwg_free_finishings(_pwg_finishings_t *f);
-static void pwg_free_material(_pwg_material_t *m);
static void pwg_ppdize_name(const char *ipp, char *name, size_t namesize);
static void pwg_ppdize_resolution(ipp_attribute_t *attr, int element, int *xres, int *yres, char *name, size_t namesize);
static void pwg_unppdize_name(const char *ppd, char *name, size_t namesize,
@@ -49,21 +49,20 @@ static void pwg_unppdize_name(const char *ppd, char *name, size_t namesize,
* attributes and values and adds them to the specified IPP request.
*/
-int /* O - New number of copies */
-_cupsConvertOptions(ipp_t *request, /* I - IPP request */
- ppd_file_t *ppd, /* I - PPD file */
- _ppd_cache_t *pc, /* I - PPD cache info */
- ipp_attribute_t *media_col_sup,
- /* I - media-col-supported values */
- ipp_attribute_t *doc_handling_sup,
- /* I - multiple-document-handling-supported values */
- ipp_attribute_t *print_color_mode_sup,
- /* I - Printer supports print-color-mode */
- const char *user, /* I - User info */
- const char *format, /* I - document-format value */
- int copies, /* I - Number of copies */
- int num_options, /* I - Number of options */
- cups_option_t *options) /* I - Options */
+int /* O - New number of copies */
+_cupsConvertOptions(
+ ipp_t *request, /* I - IPP request */
+ ppd_file_t *ppd, /* I - PPD file */
+ _ppd_cache_t *pc, /* I - PPD cache info */
+ ipp_attribute_t *media_col_sup, /* I - media-col-supported values */
+ ipp_attribute_t *doc_handling_sup, /* I - multiple-document-handling-supported values */
+ ipp_attribute_t *print_color_mode_sup,
+ /* I - Printer supports print-color-mode */
+ const char *user, /* I - User info */
+ const char *format, /* I - document-format value */
+ int copies, /* I - Number of copies */
+ int num_options, /* I - Number of options */
+ cups_option_t *options) /* I - Options */
{
int i; /* Looping var */
const char *keyword, /* PWG keyword */
@@ -198,41 +197,42 @@ _cupsConvertOptions(ipp_t *request, /* I - IPP request */
if ((keyword = cupsGetOption("PageSize", num_options, options)) == NULL)
keyword = cupsGetOption("media", num_options, options);
- if ((size = _ppdCacheGetSize(pc, keyword)) != NULL)
+ media_source = _ppdCacheGetSource(pc, cupsGetOption("InputSlot", num_options, options));
+ media_type = _ppdCacheGetType(pc, cupsGetOption("MediaType", num_options, options));
+ size = _ppdCacheGetSize(pc, keyword);
+
+ if (size || media_source || media_type)
{
/*
* Add a media-col value...
*/
- media_size = ippNew();
- ippAddInteger(media_size, IPP_TAG_ZERO, IPP_TAG_INTEGER,
- "x-dimension", size->width);
- ippAddInteger(media_size, IPP_TAG_ZERO, IPP_TAG_INTEGER,
- "y-dimension", size->length);
-
media_col = ippNew();
- ippAddCollection(media_col, IPP_TAG_ZERO, "media-size", media_size);
- media_source = _ppdCacheGetSource(pc, cupsGetOption("InputSlot",
- num_options,
- options));
- media_type = _ppdCacheGetType(pc, cupsGetOption("MediaType",
- num_options,
- options));
+ if (size)
+ {
+ media_size = ippNew();
+ ippAddInteger(media_size, IPP_TAG_ZERO, IPP_TAG_INTEGER,
+ "x-dimension", size->width);
+ ippAddInteger(media_size, IPP_TAG_ZERO, IPP_TAG_INTEGER,
+ "y-dimension", size->length);
+
+ ippAddCollection(media_col, IPP_TAG_ZERO, "media-size", media_size);
+ }
for (i = 0; i < media_col_sup->num_values; i ++)
{
- if (!strcmp(media_col_sup->values[i].string.text, "media-left-margin"))
+ if (size && !strcmp(media_col_sup->values[i].string.text, "media-left-margin"))
ippAddInteger(media_col, IPP_TAG_ZERO, IPP_TAG_INTEGER, "media-left-margin", size->left);
- else if (!strcmp(media_col_sup->values[i].string.text, "media-bottom-margin"))
+ else if (size && !strcmp(media_col_sup->values[i].string.text, "media-bottom-margin"))
ippAddInteger(media_col, IPP_TAG_ZERO, IPP_TAG_INTEGER, "media-bottom-margin", size->bottom);
- else if (!strcmp(media_col_sup->values[i].string.text, "media-right-margin"))
+ else if (size && !strcmp(media_col_sup->values[i].string.text, "media-right-margin"))
ippAddInteger(media_col, IPP_TAG_ZERO, IPP_TAG_INTEGER, "media-right-margin", size->right);
- else if (!strcmp(media_col_sup->values[i].string.text, "media-top-margin"))
+ else if (size && !strcmp(media_col_sup->values[i].string.text, "media-top-margin"))
ippAddInteger(media_col, IPP_TAG_ZERO, IPP_TAG_INTEGER, "media-top-margin", size->top);
- else if (!strcmp(media_col_sup->values[i].string.text, "media-source") && media_source)
+ else if (media_source && !strcmp(media_col_sup->values[i].string.text, "media-source"))
ippAddString(media_col, IPP_TAG_ZERO, IPP_TAG_KEYWORD, "media-source", NULL, media_source);
- else if (!strcmp(media_col_sup->values[i].string.text, "media-type") && media_type)
+ else if (media_type && !strcmp(media_col_sup->values[i].string.text, "media-type"))
ippAddString(media_col, IPP_TAG_ZERO, IPP_TAG_KEYWORD, "media-type", NULL, media_type);
}
@@ -503,53 +503,6 @@ _ppdCacheCreateWithFile(
_cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Bad PPD cache file."), 1);
goto create_error;
}
- else if (!_cups_strcasecmp(line, "3D"))
- {
- pc->cups_3d = _cupsStrAlloc(value);
- }
- else if (!_cups_strcasecmp(line, "LayerOrder"))
- {
- pc->cups_layer_order = _cupsStrAlloc(value);
- }
- else if (!_cups_strcasecmp(line, "Accuracy"))
- {
- sscanf(value, "%d%d%d", pc->cups_accuracy + 0, pc->cups_accuracy + 1, pc->cups_accuracy + 2);
- }
- else if (!_cups_strcasecmp(line, "Volume"))
- {
- sscanf(value, "%d%d%d", pc->cups_volume + 0, pc->cups_volume + 1, pc->cups_volume + 2);
- }
- else if (!_cups_strcasecmp(line, "Material"))
- {
- /*
- * Material key "name" name=value ... name=value
- */
-
- if ((valueptr = strchr(value, ' ')) != NULL)
- {
- _pwg_material_t *material = (_pwg_material_t *)calloc(1, sizeof(_pwg_material_t));
-
- *valueptr++ = '\0';
-
- material->key = _cupsStrAlloc(value);
-
- if (*valueptr == '\"')
- {
- value = valueptr + 1;
- if ((valueptr = strchr(value, '\"')) != NULL)
- {
- *valueptr++ = '\0';
- material->name = _cupsStrAlloc(value);
- material->num_props = cupsParseOptions(valueptr, 0, &material->props);
- }
- }
-
- if (!pc->materials)
- pc->materials = cupsArrayNew3(NULL, NULL, NULL, 0, NULL, (cups_afree_func_t)pwg_free_material);
-
- cupsArrayAdd(pc->materials, material);
- }
- }
else if (!_cups_strcasecmp(line, "Filter"))
{
if (!pc->filters)
@@ -1714,6 +1667,10 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
if ((ppd_attr = ppdFindAttr(ppd, "cupsIPPFinishings", NULL)) != NULL)
{
+ /*
+ * Have proper vendor mapping of IPP finishings values to PPD options...
+ */
+
pc->finishings = cupsArrayNew3((cups_array_func_t)pwg_compare_finishings,
NULL, NULL, 0, NULL,
(cups_afree_func_t)pwg_free_finishings);
@@ -1733,6 +1690,114 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
while ((ppd_attr = ppdFindNextAttr(ppd, "cupsIPPFinishings",
NULL)) != NULL);
}
+ else
+ {
+ /*
+ * No IPP mapping data, try to map common/standard PPD keywords...
+ */
+
+ ppd_option_t *ppd_option; /* PPD option */
+
+ pc->finishings = cupsArrayNew3((cups_array_func_t)pwg_compare_finishings, NULL, NULL, 0, NULL, (cups_afree_func_t)pwg_free_finishings);
+
+ if ((ppd_option = ppdFindOption(ppd, "StapleLocation")) != NULL)
+ {
+ /*
+ * Add staple finishings...
+ */
+
+ if (ppdFindChoice(ppd_option, "SinglePortrait"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_STAPLE_TOP_LEFT, "StapleLocation", "SinglePortrait");
+ if (ppdFindChoice(ppd_option, "UpperLeft")) /* Ricoh extension */
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_STAPLE_TOP_LEFT, "StapleLocation", "UpperLeft");
+ if (ppdFindChoice(ppd_option, "UpperRight")) /* Ricoh extension */
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_STAPLE_TOP_RIGHT, "StapleLocation", "UpperRight");
+ if (ppdFindChoice(ppd_option, "SingleLandscape"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_STAPLE_BOTTOM_LEFT, "StapleLocation", "SingleLandscape");
+ if (ppdFindChoice(ppd_option, "DualLandscape"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_STAPLE_DUAL_LEFT, "StapleLocation", "DualLandscape");
+ }
+
+ if ((ppd_option = ppdFindOption(ppd, "RIPunch")) != NULL)
+ {
+ /*
+ * Add (Ricoh) punch finishings...
+ */
+
+ if (ppdFindChoice(ppd_option, "Left2"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_PUNCH_DUAL_LEFT, "RIPunch", "Left2");
+ if (ppdFindChoice(ppd_option, "Left3"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_PUNCH_TRIPLE_LEFT, "RIPunch", "Left3");
+ if (ppdFindChoice(ppd_option, "Left4"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_PUNCH_QUAD_LEFT, "RIPunch", "Left4");
+ if (ppdFindChoice(ppd_option, "Right2"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_PUNCH_DUAL_RIGHT, "RIPunch", "Right2");
+ if (ppdFindChoice(ppd_option, "Right3"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_PUNCH_TRIPLE_RIGHT, "RIPunch", "Right3");
+ if (ppdFindChoice(ppd_option, "Right4"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_PUNCH_QUAD_RIGHT, "RIPunch", "Right4");
+ if (ppdFindChoice(ppd_option, "Upper2"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_PUNCH_DUAL_TOP, "RIPunch", "Upper2");
+ if (ppdFindChoice(ppd_option, "Upper3"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_PUNCH_TRIPLE_TOP, "RIPunch", "Upper3");
+ if (ppdFindChoice(ppd_option, "Upper4"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_PUNCH_QUAD_TOP, "RIPunch", "Upper4");
+ }
+
+ if ((ppd_option = ppdFindOption(ppd, "BindEdge")) != NULL)
+ {
+ /*
+ * Add bind finishings...
+ */
+
+ if (ppdFindChoice(ppd_option, "Left"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_BIND_LEFT, "BindEdge", "Left");
+ if (ppdFindChoice(ppd_option, "Right"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_BIND_RIGHT, "BindEdge", "Right");
+ if (ppdFindChoice(ppd_option, "Top"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_BIND_TOP, "BindEdge", "Top");
+ if (ppdFindChoice(ppd_option, "Bottom"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_BIND_BOTTOM, "BindEdge", "Bottom");
+ }
+
+ if ((ppd_option = ppdFindOption(ppd, "FoldType")) != NULL)
+ {
+ /*
+ * Add (Adobe) fold finishings...
+ */
+
+ if (ppdFindChoice(ppd_option, "ZFold"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_FOLD_Z, "FoldType", "ZFold");
+ if (ppdFindChoice(ppd_option, "Saddle"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_FOLD_HALF, "FoldType", "Saddle");
+ if (ppdFindChoice(ppd_option, "DoubleGate"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_FOLD_DOUBLE_GATE, "FoldType", "DoubleGate");
+ if (ppdFindChoice(ppd_option, "LeftGate"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_FOLD_LEFT_GATE, "FoldType", "LeftGate");
+ if (ppdFindChoice(ppd_option, "RightGate"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_FOLD_RIGHT_GATE, "FoldType", "RightGate");
+ if (ppdFindChoice(ppd_option, "Letter"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_FOLD_LETTER, "FoldType", "Letter");
+ if (ppdFindChoice(ppd_option, "XFold"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_FOLD_POSTER, "FoldType", "XFold");
+ }
+
+ if ((ppd_option = ppdFindOption(ppd, "RIFoldType")) != NULL)
+ {
+ /*
+ * Add (Ricoh) fold finishings...
+ */
+
+ if (ppdFindChoice(ppd_option, "OutsideTwoFold"))
+ pwg_add_finishing(pc->finishings, IPP_FINISHINGS_FOLD_LETTER, "RIFoldType", "OutsideTwoFold");
+ }
+
+ if (cupsArrayCount(pc->finishings) == 0)
+ {
+ cupsArrayDelete(pc->finishings);
+ pc->finishings = NULL;
+ }
+ }
/*
* Max copies...
@@ -1782,42 +1847,6 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
cupsArrayAdd(pc->support_files, ppd_attr->value);
/*
- * 3D stuff...
- */
-
- if ((ppd_attr = ppdFindAttr(ppd, "cups3D", NULL)) != NULL)
- pc->cups_3d = _cupsStrAlloc(ppd_attr->value);
-
- if ((ppd_attr = ppdFindAttr(ppd, "cupsLayerOrder", NULL)) != NULL)
- pc->cups_layer_order = _cupsStrAlloc(ppd_attr->value);
-
- if ((ppd_attr = ppdFindAttr(ppd, "cupsAccuracy", NULL)) != NULL)
- sscanf(ppd_attr->value, "%d%d%d", pc->cups_accuracy + 0, pc->cups_accuracy + 1, pc->cups_accuracy + 2);
-
- if ((ppd_attr = ppdFindAttr(ppd, "cupsVolume", NULL)) != NULL)
- sscanf(ppd_attr->value, "%d%d%d", pc->cups_volume + 0, pc->cups_volume + 1, pc->cups_volume + 2);
-
- for (ppd_attr = ppdFindAttr(ppd, "cupsMaterial", NULL);
- ppd_attr;
- ppd_attr = ppdFindNextAttr(ppd, "cupsMaterial", NULL))
- {
- /*
- * *cupsMaterial key/name: "name=value ... name=value"
- */
-
- _pwg_material_t *material = (_pwg_material_t *)calloc(1, sizeof(_pwg_material_t));
-
- material->key = _cupsStrAlloc(ppd_attr->name);
- material->name = _cupsStrAlloc(ppd_attr->text);
- material->num_props = cupsParseOptions(ppd_attr->value, 0, &material->props);
-
- if (!pc->materials)
- pc->materials = cupsArrayNew3(NULL, NULL, NULL, 0, NULL, (cups_afree_func_t)pwg_free_material);
-
- cupsArrayAdd(pc->materials, material);
- }
-
- /*
* Return the cache data...
*/
@@ -1924,11 +1953,6 @@ _ppdCacheDestroy(_ppd_cache_t *pc) /* I - PPD cache and mapping data */
cupsArrayDelete(pc->support_files);
- _cupsStrFree(pc->cups_3d);
- _cupsStrFree(pc->cups_layer_order);
-
- cupsArrayDelete(pc->materials);
-
free(pc);
}
@@ -2686,7 +2710,6 @@ _ppdCacheWriteFile(
cups_option_t *option; /* Current option */
const char *value; /* Filter/pre-filter value */
char newfile[1024]; /* New filename */
- _pwg_material_t *m; /* Material */
/*
@@ -2868,32 +2891,6 @@ _ppdCacheWriteFile(
cupsFilePutConf(fp, "SupportFile", value);
/*
- * 3D stuff...
- */
-
- if (pc->cups_3d)
- cupsFilePutConf(fp, "3D", pc->cups_3d);
-
- if (pc->cups_layer_order)
- cupsFilePutConf(fp, "LayerOrder", pc->cups_layer_order);
-
- if (pc->cups_accuracy[0] || pc->cups_accuracy[0] || pc->cups_accuracy[2])
- cupsFilePrintf(fp, "Accuracy %d %d %d\n", pc->cups_accuracy[0], pc->cups_accuracy[1], pc->cups_accuracy[2]);
-
- if (pc->cups_volume[0] || pc->cups_volume[0] || pc->cups_volume[2])
- cupsFilePrintf(fp, "Volume %d %d %d\n", pc->cups_volume[0], pc->cups_volume[1], pc->cups_volume[2]);
-
- for (m = (_pwg_material_t *)cupsArrayFirst(pc->materials);
- m;
- m = (_pwg_material_t *)cupsArrayNext(pc->materials))
- {
- cupsFilePrintf(fp, "Material %s \"%s\"", m->key, m->name);
- for (i = 0; i < m->num_props; i ++)
- cupsFilePrintf(fp, " %s=%s", m->props[i].name, m->props[i].value);
- cupsFilePuts(fp, "\n");
- }
-
- /*
* IPP attributes, if any...
*/
@@ -2934,6 +2931,7 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
cups_array_t *sizes; /* Media sizes we've added */
ipp_attribute_t *attr, /* xxx-supported */
*defattr, /* xxx-default */
+ *quality, /* print-quality-supported */
*x_dim, *y_dim; /* Media dimensions */
ipp_t *media_size; /* Media size collection */
char make[256], /* Make and model */
@@ -3032,15 +3030,27 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
if (buffer)
*buffer = '\0';
- if (!buffer || bufsize < 1 || !response)
+ if (!buffer || bufsize < 1)
+ {
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0);
+ return (NULL);
+ }
+
+ if (!response)
+ {
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("No IPP attributes."), 1);
return (NULL);
+ }
/*
* Open a temporary file for the PPD...
*/
if ((fp = cupsTempFile2(buffer, (int)bufsize)) == NULL)
+ {
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(errno), 0);
return (NULL);
+ }
/*
* Standard stuff for PPD file...
@@ -3410,6 +3420,19 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
{ "cardboard", _("Cardboard") },
{ "cardstock", _("Cardstock") },
{ "cd", _("CD") },
+ { "com.hp.advanced-photo", _("Advanced Photo Paper") }, /* HP */
+ { "com.hp.brochure-glossy", _("Glossy Brochure Paper") }, /* HP */
+ { "com.hp.brochure-matte", _("Matte Brochure Paper") }, /* HP */
+ { "com.hp.cover-matte", _("Matte Cover Paper") }, /* HP */
+ { "com.hp.ecosmart-lite", _("Office Recycled Paper") }, /* HP */
+ { "com.hp.everyday-glossy", _("Everyday Glossy Photo Paper") }, /* HP */
+ { "com.hp.everyday-matte", _("Everyday Matte Paper") }, /* HP */
+ { "com.hp.extra-heavy", _("Extra Heavyweight Paper") }, /* HP */
+ { "com.hp.intermediate", _("Multipurpose Paper") }, /* HP */
+ { "com.hp.mid-weight", _("Mid-Weight Paper") }, /* HP */
+ { "com.hp.premium-inkjet", _("Premium Inkjet Paper") }, /* HP */
+ { "com.hp.premium-photo", _("Premium Photo Glossy Paper") }, /* HP */
+ { "com.hp.premium-presentation-matte", _("Premium Presentation Matte Paper") }, /* HP */
{ "continuous", _("Continuous") },
{ "continuous-long", _("Continuous Long") },
{ "continuous-short", _("Continuous Short") },
@@ -3457,6 +3480,10 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
{ "gravure-cylinder", _("Gravure Cylinder") },
{ "image-setter-paper", _("Image Setter Paper") },
{ "imaging-cylinder", _("Imaging Cylinder") },
+ { "jp.co.canon_photo-paper-plus-glossy-ii", _("Photo Paper Plus Glossy II") }, /* Canon */
+ { "jp.co.canon_photo-paper-pro-platinum", _("Photo Paper Pro Platinum") }, /* Canon */
+ { "jp.co.canon-photo-paper-plus-glossy-ii", _("Photo Paper Plus Glossy II") }, /* Canon */
+ { "jp.co.canon-photo-paper-pro-platinum", _("Photo Paper Pro Platinum") }, /* Canon */
{ "labels", _("Labels") },
{ "labels-colored", _("Colored Labels") },
{ "labels-glossy", _("Glossy Labels") },
@@ -3480,8 +3507,9 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
{ "multi-part-form", _("Multi Part Form") },
{ "other", _("Other") },
{ "paper", _("Paper") },
+ { "photo", _("Photo Paper") }, /* HP mis-spelling */
{ "photographic", _("Photo Paper") },
- { "photographic-archival", _("Photographic Archival") },
+ { "photographic-archival", _("Archival Photo Paper") },
{ "photographic-film", _("Photo Film") },
{ "photographic-glossy", _("Glossy Photo Paper") },
{ "photographic-high-gloss", _("High Gloss Photo Paper") },
@@ -3508,14 +3536,14 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
{ "single-face", _("Single Face") },
{ "single-wall", _("Single Wall Cardboard") },
{ "sleeve", _("Sleeve") },
- { "stationery", _("Stationery") },
- { "stationery-archival", _("Stationery Archival") },
+ { "stationery", _("Plain Paper") },
+ { "stationery-archival", _("Archival Paper") },
{ "stationery-coated", _("Coated Paper") },
- { "stationery-cotton", _("Stationery Cotton") },
+ { "stationery-cotton", _("Cotton Paper") },
{ "stationery-fine", _("Vellum Paper") },
{ "stationery-heavyweight", _("Heavyweight Paper") },
- { "stationery-heavyweight-coated", _("Stationery Heavyweight Coated") },
- { "stationery-inkjet", _("Stationery Inkjet Paper") },
+ { "stationery-heavyweight-coated", _("Heavyweight Coated Paper") },
+ { "stationery-inkjet", _("Inkjet Paper") },
{ "stationery-letterhead", _("Letterhead") },
{ "stationery-lightweight", _("Lightweight Paper") },
{ "stationery-preprinted", _("Preprinted Paper") },
@@ -3531,14 +3559,20 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
cupsFilePrintf(fp, "*OpenUI *MediaType: PickOne\n"
"*OrderDependency: 10 AnySetup *MediaType\n"
"*DefaultMediaType: %s\n", ppdname);
- for (i = 0; i < (int)(sizeof(media_types) / sizeof(media_types[0])); i ++)
+ for (i = 0; i < count; i ++)
{
- if (!ippContainsString(attr, media_types[i][0]))
- continue;
+ const char *keyword = ippGetString(attr, i, NULL);
- pwg_ppdize_name(media_types[i][0], ppdname, sizeof(ppdname));
+ pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
+
+ for (j = 0; j < (int)(sizeof(media_types) / sizeof(media_types[0])); j ++)
+ if (!strcmp(keyword, media_types[j][0]))
+ break;
- cupsFilePrintf(fp, "*MediaType %s/%s: \"<</MediaType(%s)>>setpagedevice\"\n", ppdname, _cupsLangString(lang, media_types[i][1]), ppdname);
+ if (j < (int)(sizeof(media_types) / sizeof(media_types[0])))
+ cupsFilePrintf(fp, "*MediaType %s/%s: \"<</MediaType(%s)>>setpagedevice\"\n", ppdname, _cupsLangString(lang, media_types[j][1]), ppdname);
+ else
+ cupsFilePrintf(fp, "*MediaType %s/%s: \"<</MediaType(%s)>>setpagedevice\"\n", ppdname, keyword, ppdname);
}
cupsFilePuts(fp, "*CloseUI: *MediaType\n");
}
@@ -3747,94 +3781,187 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
/*
* Finishing options...
+ *
+ * Eventually need to re-add support for finishings-col-database, however
+ * it is difficult to map arbitrary finishing-template values to PPD options
+ * and have the right constraints apply (e.g. stapling vs. folding vs.
+ * punching, etc.)
*/
- if ((attr = ippFindAttribute(response, "finishings-col-database", IPP_TAG_BEGIN_COLLECTION)) != NULL)
+ if ((attr = ippFindAttribute(response, "finishings-supported", IPP_TAG_ENUM)) != NULL)
{
- ipp_t *col; /* Collection value */
- ipp_attribute_t *template; /* "finishing-template" member */
const char *name; /* String name */
- int value; /* Enum value, if any */
+ int value; /* Enum value */
cups_array_t *names; /* Names we've added */
count = ippGetCount(attr);
names = cupsArrayNew3((cups_array_func_t)strcmp, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free);
- cupsFilePrintf(fp, "*OpenUI *cupsFinishingTemplate/%s: PickMany\n"
- "*OrderDependency: 10 AnySetup *cupsFinishingTemplate\n"
- "*DefaultcupsFinishingTemplate: none\n"
- "*cupsFinishingTemplate none/%s: \"\"\n"
- "*cupsIPPFinishings 3/none: \"*cupsFinishingTemplate none\"\n", _cupsLangString(lang, _("Finishing")), _cupsLangString(lang, _("No Finishing")));
+ /*
+ * Staple/Bind/Stitch
+ */
for (i = 0; i < count; i ++)
{
- col = ippGetCollection(attr, i);
- template = ippFindAttribute(col, "finishing-template", IPP_TAG_ZERO);
+ value = ippGetInteger(attr, i);
+ name = ippEnumString("finishings", value);
- if ((name = ippGetString(template, 0, NULL)) == NULL || !strcmp(name, "none"))
- continue;
-
- if (cupsArrayFind(names, (char *)name))
- continue; /* Already did this finishing template */
+ if (!strncmp(name, "staple-", 7) || !strncmp(name, "bind-", 5) || !strncmp(name, "edge-stitch-", 12) || !strcmp(name, "saddle-stitch"))
+ break;
+ }
- cupsArrayAdd(names, (char *)name);
+ if (i < count)
+ {
+ cupsFilePrintf(fp, "*OpenUI *StapleLocation/%s: PickOne\n", _cupsLangString(lang, _("Staple")));
+ cupsFilePuts(fp, "*OrderDependency: 10 AnySetup *StapleLocation\n");
+ cupsFilePuts(fp, "*DefaultStapleLocation: None\n");
+ cupsFilePrintf(fp, "*StapleLocation None/%s: \"\"\n", _cupsLangString(lang, _("None")));
- for (j = 0; j < (int)(sizeof(finishings) / sizeof(finishings[0])); j ++)
+ for (; i < count; i ++)
{
- if (!strcmp(finishings[j][0], name))
- {
- cupsFilePrintf(fp, "*cupsFinishingTemplate %s/%s: \"\"\n", name, _cupsLangString(lang, finishings[j][1]));
+ value = ippGetInteger(attr, i);
+ name = ippEnumString("finishings", value);
+
+ if (strncmp(name, "staple-", 7) && strncmp(name, "bind-", 5) && strncmp(name, "edge-stitch-", 12) && strcmp(name, "saddle-stitch"))
+ continue;
- value = ippEnumValue("finishings", name);
+ if (cupsArrayFind(names, (char *)name))
+ continue; /* Already did this finishing template */
- if (value)
- cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*cupsFinishingTemplate %s\"\n", value, name, name);
- break;
- }
+ cupsArrayAdd(names, (char *)name);
+
+ for (j = 0; j < (int)(sizeof(finishings) / sizeof(finishings[0])); j ++)
+ {
+ if (!strcmp(finishings[j][0], name))
+ {
+ cupsFilePrintf(fp, "*StapleLocation %s/%s: \"\"\n", name, _cupsLangString(lang, finishings[j][1]));
+ cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*StapleLocation %s\"\n", value, name, name);
+ break;
+ }
+ }
}
+
+ cupsFilePuts(fp, "*CloseUI: *StapleLocation\n");
}
- cupsArrayDelete(names);
+ /*
+ * Fold
+ */
- cupsFilePuts(fp, "*CloseUI: *cupsFinishingTemplate\n");
- }
- else if ((attr = ippFindAttribute(response, "finishings-supported", IPP_TAG_ENUM)) != NULL && (count = ippGetCount(attr)) > 1 )
- {
- const char *name; /* String name */
- int value; /* Enum value, if any */
+ for (i = 0; i < count; i ++)
+ {
+ value = ippGetInteger(attr, i);
+ name = ippEnumString("finishings", value);
- count = ippGetCount(attr);
+ if (!strncmp(name, "fold-", 5))
+ break;
+ }
+
+ if (i < count)
+ {
+ cupsFilePrintf(fp, "*OpenUI *FoldType/%s: PickOne\n", _cupsLangString(lang, _("Fold")));
+ cupsFilePuts(fp, "*OrderDependency: 10 AnySetup *FoldType\n");
+ cupsFilePuts(fp, "*DefaultFoldType: None\n");
+ cupsFilePrintf(fp, "*FoldType None/%s: \"\"\n", _cupsLangString(lang, _("None")));
+
+ for (; i < count; i ++)
+ {
+ value = ippGetInteger(attr, i);
+ name = ippEnumString("finishings", value);
+
+ if (strncmp(name, "fold-", 5))
+ continue;
+
+ if (cupsArrayFind(names, (char *)name))
+ continue; /* Already did this finishing template */
+
+ cupsArrayAdd(names, (char *)name);
+
+ for (j = 0; j < (int)(sizeof(finishings) / sizeof(finishings[0])); j ++)
+ {
+ if (!strcmp(finishings[j][0], name))
+ {
+ cupsFilePrintf(fp, "*FoldType %s/%s: \"\"\n", name, _cupsLangString(lang, finishings[j][1]));
+ cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*FoldType %s\"\n", value, name, name);
+ break;
+ }
+ }
+ }
- cupsFilePrintf(fp, "*OpenUI *cupsFinishingTemplate/%s: PickMany\n"
- "*OrderDependency: 10 AnySetup *cupsFinishingTemplate\n"
- "*DefaultcupsFinishingTemplate: none\n"
- "*cupsFinishingTemplate none/%s: \"\"\n"
- "*cupsIPPFinishings 3/none: \"*cupsFinishingTemplate none\"\n", _cupsLangString(lang, _("Finishing")), _cupsLangString(lang, _("No Finishing")));
+ cupsFilePuts(fp, "*CloseUI: *FoldType\n");
+ }
+
+ /*
+ * Punch
+ */
for (i = 0; i < count; i ++)
{
- if ((value = ippGetInteger(attr, i)) == 3)
- continue;
+ value = ippGetInteger(attr, i);
+ name = ippEnumString("finishings", value);
- name = ippEnumString("finishings", value);
- for (j = 0; j < (int)(sizeof(finishings) / sizeof(finishings[0])); j ++)
+ if (!strncmp(name, "punch-", 6))
+ break;
+ }
+
+ if (i < count)
+ {
+ cupsFilePrintf(fp, "*OpenUI *PunchMedia/%s: PickOne\n", _cupsLangString(lang, _("Punch")));
+ cupsFilePuts(fp, "*OrderDependency: 10 AnySetup *PunchMedia\n");
+ cupsFilePuts(fp, "*DefaultPunchMedia: None\n");
+ cupsFilePrintf(fp, "*PunchMedia None/%s: \"\"\n", _cupsLangString(lang, _("None")));
+
+ for (i = 0; i < count; i ++)
{
- if (!strcmp(finishings[j][0], name))
- {
- cupsFilePrintf(fp, "*cupsFinishingTemplate %s/%s: \"\"\n", name, _cupsLangString(lang, finishings[j][1]));
- cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*cupsFinishingTemplate %s\"\n", value, name, name);
- break;
- }
+ value = ippGetInteger(attr, i);
+ name = ippEnumString("finishings", value);
+
+ if (strncmp(name, "punch-", 6))
+ continue;
+
+ if (cupsArrayFind(names, (char *)name))
+ continue; /* Already did this finishing template */
+
+ cupsArrayAdd(names, (char *)name);
+
+ for (j = 0; j < (int)(sizeof(finishings) / sizeof(finishings[0])); j ++)
+ {
+ if (!strcmp(finishings[j][0], name))
+ {
+ cupsFilePrintf(fp, "*PunchMedia %s/%s: \"\"\n", name, _cupsLangString(lang, finishings[j][1]));
+ cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*PunchMedia %s\"\n", value, name, name);
+ break;
+ }
+ }
}
+
+ cupsFilePuts(fp, "*CloseUI: *PunchMedia\n");
+ }
+
+ /*
+ * Booklet
+ */
+
+ if (ippContainsInteger(attr, IPP_FINISHINGS_BOOKLET_MAKER))
+ {
+ cupsFilePrintf(fp, "*OpenUI *Booklet/%s: Boolean\n", _cupsLangString(lang, _("Booklet")));
+ cupsFilePuts(fp, "*OrderDependency: 10 AnySetup *Booklet\n");
+ cupsFilePuts(fp, "*DefaultBooklet: False\n");
+ cupsFilePuts(fp, "*Booklet False: \"\"\n");
+ cupsFilePuts(fp, "*Booklet True: \"\"\n");
+ cupsFilePrintf(fp, "*cupsIPPFinishings %d/booklet-maker: \"*Booklet True\"\n", IPP_FINISHINGS_BOOKLET_MAKER);
+ cupsFilePuts(fp, "*CloseUI: *Booklet\n");
}
- cupsFilePuts(fp, "*CloseUI: *cupsFinishingTemplate\n");
+ cupsArrayDelete(names);
}
/*
* cupsPrintQuality and DefaultResolution...
*/
+ quality = ippFindAttribute(response, "print-quality-supported", IPP_TAG_ENUM);
+
if ((attr = ippFindAttribute(response, "pwg-raster-document-resolution-supported", IPP_TAG_RESOLUTION)) != NULL)
{
count = ippGetCount(attr);
@@ -3845,16 +3972,19 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
cupsFilePrintf(fp, "*OpenUI *cupsPrintQuality/%s: PickOne\n"
"*OrderDependency: 10 AnySetup *cupsPrintQuality\n"
"*DefaultcupsPrintQuality: Normal\n", _cupsLangString(lang, _("Print Quality")));
- if (count > 2)
+ if (count > 2 || ippContainsInteger(quality, IPP_QUALITY_DRAFT))
{
pwg_ppdize_resolution(attr, 0, &xres, &yres, NULL, 0);
cupsFilePrintf(fp, "*cupsPrintQuality Draft/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("Draft")), xres, yres);
}
pwg_ppdize_resolution(attr, count / 2, &xres, &yres, NULL, 0);
cupsFilePrintf(fp, "*cupsPrintQuality Normal/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("Normal")), xres, yres);
- if (count > 1)
+ if (count > 1 || ippContainsInteger(quality, IPP_QUALITY_HIGH))
{
- pwg_ppdize_resolution(attr, count - 1, &xres, &yres, NULL, 0);
+ if (count > 1)
+ pwg_ppdize_resolution(attr, count - 1, &xres, &yres, NULL, 0);
+ else
+ pwg_ppdize_resolution(attr, 0, &xres, &yres, NULL, 0);
cupsFilePrintf(fp, "*cupsPrintQuality High/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("High")), xres, yres);
}
@@ -3901,21 +4031,40 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
"*DefaultcupsPrintQuality: Normal\n", _cupsLangString(lang, _("Print Quality")));
if ((lowdpi & 1) == 0)
cupsFilePrintf(fp, "*cupsPrintQuality Draft/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("Draft")), lowdpi, lowdpi / 2);
+ else if (ippContainsInteger(quality, IPP_QUALITY_DRAFT))
+ cupsFilePrintf(fp, "*cupsPrintQuality Draft/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("Draft")), lowdpi, lowdpi);
cupsFilePrintf(fp, "*cupsPrintQuality Normal/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("Normal")), lowdpi, lowdpi);
- if (hidpi > lowdpi)
+ if (hidpi > lowdpi || ippContainsInteger(quality, IPP_QUALITY_HIGH))
cupsFilePrintf(fp, "*cupsPrintQuality High/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("High")), hidpi, hidpi);
cupsFilePuts(fp, "*CloseUI: *cupsPrintQuality\n");
}
}
else if (is_apple || is_pwg)
goto bad_ppd;
- else if ((attr = ippFindAttribute(response, "printer-resolution-default", IPP_TAG_RESOLUTION)) != NULL)
+ else
{
- pwg_ppdize_resolution(attr, 0, &xres, &yres, ppdname, sizeof(ppdname));
+ if ((attr = ippFindAttribute(response, "printer-resolution-default", IPP_TAG_RESOLUTION)) != NULL)
+ {
+ pwg_ppdize_resolution(attr, 0, &xres, &yres, ppdname, sizeof(ppdname));
+ }
+ else
+ {
+ xres = yres = 300;
+ strlcpy(ppdname, "300dpi", sizeof(ppdname));
+ }
+
cupsFilePrintf(fp, "*DefaultResolution: %s\n", ppdname);
+
+ cupsFilePrintf(fp, "*OpenUI *cupsPrintQuality/%s: PickOne\n"
+ "*OrderDependency: 10 AnySetup *cupsPrintQuality\n"
+ "*DefaultcupsPrintQuality: Normal\n", _cupsLangString(lang, _("Print Quality")));
+ if (ippContainsInteger(quality, IPP_QUALITY_DRAFT))
+ cupsFilePrintf(fp, "*cupsPrintQuality Draft/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("Draft")), xres, yres);
+ cupsFilePrintf(fp, "*cupsPrintQuality Normal/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("Normal")), xres, yres);
+ if (ippContainsInteger(quality, IPP_QUALITY_HIGH))
+ cupsFilePrintf(fp, "*cupsPrintQuality High/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("High")), xres, yres);
+ cupsFilePuts(fp, "*CloseUI: *cupsPrintQuality\n");
}
- else
- cupsFilePuts(fp, "*DefaultResolution: 300dpi\n");
/*
* Close up and return...
@@ -3935,6 +4084,8 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
unlink(buffer);
*buffer = '\0';
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Printer does not support required IPP attributes or document formats."), 1);
+
return (NULL);
}
@@ -4095,10 +4246,34 @@ _pwgPageSizeForMedia(
/*
+ * 'pwg_add_finishing()' - Add a finishings value.
+ */
+
+static void
+pwg_add_finishing(
+ cups_array_t *finishings, /* I - Finishings array */
+ ipp_finishings_t template, /* I - Finishing template */
+ const char *name, /* I - PPD option */
+ const char *value) /* I - PPD choice */
+{
+ _pwg_finishings_t *f; /* New finishings value */
+
+
+ if ((f = (_pwg_finishings_t *)calloc(1, sizeof(_pwg_finishings_t))) != NULL)
+ {
+ f->value = template;
+ f->num_options = cupsAddOption(name, value, 0, &f->options);
+
+ cupsArrayAdd(finishings, f);
+ }
+}
+
+
+/*
* 'pwg_compare_finishings()' - Compare two finishings values.
*/
-static int /* O- Result of comparison */
+static int /* O - Result of comparison */
pwg_compare_finishings(
_pwg_finishings_t *a, /* I - First finishings value */
_pwg_finishings_t *b) /* I - Second finishings value */
@@ -4121,22 +4296,6 @@ pwg_free_finishings(
/*
- * 'pwg_free_material()' - Free a material value.
- */
-
-static void
-pwg_free_material(_pwg_material_t *m) /* I - Material value */
-{
- _cupsStrFree(m->key);
- _cupsStrFree(m->name);
-
- cupsFreeOptions(m->num_props, m->props);
-
- free(m);
-}
-
-
-/*
* 'pwg_ppdize_name()' - Convert an IPP keyword to a PPD keyword.
*/
diff --git a/cups/ppd-localize.c b/cups/ppd-localize.c
index e74147c..ed75bf8 100644
--- a/cups/ppd-localize.c
+++ b/cups/ppd-localize.c
@@ -1,7 +1,7 @@
/*
* PPD localization routines for CUPS.
*
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -665,7 +665,7 @@ _ppdLocalizedAttr(ppd_file_t *ppd, /* I - PPD file */
/*
* <rdar://problem/22130168>
*
- * Hong Kong locale needs special handling... Sigh...
+ * Multiple locales need special handling... Sigh...
*/
if (!strcmp(ll_CC, "zh_HK"))
diff --git a/cups/ppd-private.h b/cups/ppd-private.h
index 6020190..b199bbd 100644
--- a/cups/ppd-private.h
+++ b/cups/ppd-private.h
@@ -1,7 +1,7 @@
/*
* Private PPD definitions for CUPS.
*
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -47,7 +47,7 @@ extern "C" {
* Constants...
*/
-# define _PPD_CACHE_VERSION 7 /* Version number in cache file */
+# define _PPD_CACHE_VERSION 8 /* Version number in cache file */
/*
@@ -100,7 +100,7 @@ typedef enum _pwg_print_color_mode_e /**** PWG print-color-mode indices ****/
{
_PWG_PRINT_COLOR_MODE_MONOCHROME = 0, /* print-color-mode=monochrome */
_PWG_PRINT_COLOR_MODE_COLOR, /* print-color-mode=color */
- /* Other proposed values are not supported by CUPS yet. */
+ /* Other values are not supported by CUPS yet. */
_PWG_PRINT_COLOR_MODE_MAX
} _pwg_print_color_mode_t;
@@ -119,14 +119,6 @@ typedef struct _pwg_finishings_s /**** PWG finishings mapping data ****/
cups_option_t *options; /* Options to apply */
} _pwg_finishings_t;
-typedef struct _pwg_material_s /**** PWG material mapping data ****/
-{
- char *key, /* material-key value */
- *name; /* material-name value */
- int num_props; /* Number of properties */
- cups_option_t *props; /* Material properties */
-} _pwg_material_t;
-
struct _ppd_cache_s /**** PPD cache and PWG conversion data ****/
{
int num_bins; /* Number of output bins */
@@ -166,11 +158,6 @@ struct _ppd_cache_s /**** PPD cache and PWG conversion data ****/
cups_array_t *mandatory; /* cupsMandatory value */
char *charge_info_uri; /* cupsChargeInfoURI value */
cups_array_t *support_files; /* Support files - ICC profiles, etc. */
- char *cups_3d, /* cups3D value */
- *cups_layer_order; /* cupsLayerOrder value */
- int cups_accuracy[3]; /* cupsAccuracy value - x, y, and z in nanometers */
- int cups_volume[3]; /* cupsVolume value - x, y, and z in millimeters */
- cups_array_t *materials; /* cupsMaterial values */
};
diff --git a/cups/ppd.c b/cups/ppd.c
index 63d5dd2..5bd839d 100644
--- a/cups/ppd.c
+++ b/cups/ppd.c
@@ -1,7 +1,7 @@
/*
* PPD file routines for CUPS.
*
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -579,12 +579,28 @@ _ppdOpen(
/*
* <rdar://problem/22130168>
+ * <rdar://problem/27245567>
*
* Need to use a different base language for some locales...
*/
if (!strcmp(lang->language, "zh_HK"))
- strlcpy(ll, "zh_TW.", sizeof(ll));
+ { /* Traditional Chinese + variants */
+ strlcpy(ll_CC, "zh_TW.", sizeof(ll_CC));
+ strlcpy(ll, "zh_", sizeof(ll));
+ }
+ else if (!strncmp(lang->language, "zh", 2))
+ strlcpy(ll, "zh_", sizeof(ll)); /* Any Chinese variant */
+ else if (!strncmp(lang->language, "jp", 2))
+ { /* Any Japanese variant */
+ strlcpy(ll_CC, "ja", sizeof(ll_CC));
+ strlcpy(ll, "jp", sizeof(ll));
+ }
+ else if (!strncmp(lang->language, "nb", 2) || !strncmp(lang->language, "no", 2))
+ { /* Any Norwegian variant */
+ strlcpy(ll_CC, "nb", sizeof(ll_CC));
+ strlcpy(ll, "no", sizeof(ll));
+ }
else
snprintf(ll, sizeof(ll), "%2.2s.", lang->language);
diff --git a/cups/pwg-media.c b/cups/pwg-media.c
index 3e4540c..73356fd 100644
--- a/cups/pwg-media.c
+++ b/cups/pwg-media.c
@@ -1,7 +1,7 @@
/*
* PWG media name API implementation for CUPS.
*
- * Copyright 2009-2016 by Apple Inc.
+ * Copyright 2009-2017 by Apple Inc.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
diff --git a/cups/testppd.c b/cups/testppd.c
index 1f66ca3..e1b5156 100644
--- a/cups/testppd.c
+++ b/cups/testppd.c
@@ -1,7 +1,7 @@
/*
* PPD test program for CUPS.
*
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
diff --git a/cups/tls-darwin.c b/cups/tls-darwin.c
index e7ba786..b6e88b0 100644
--- a/cups/tls-darwin.c
+++ b/cups/tls-darwin.c
@@ -41,6 +41,8 @@ static int tls_auto_create = 0;
static char *tls_common_name = NULL;
/* Default common name */
#ifdef HAVE_SECKEYCHAINOPEN
+static int tls_cups_keychain = 0;
+ /* Opened the CUPS keychain? */
static SecKeychainRef tls_keychain = NULL;
/* Server cert keychain */
#else
@@ -1747,6 +1749,7 @@ http_cdsa_copy_server(
CFMutableDictionaryRef query = NULL; /* Query qualifiers */
CFArrayRef list = NULL; /* Keychain list */
SecKeychainRef syschain = NULL;/* System keychain */
+ SecKeychainStatus status = 0; /* Keychain status */
DEBUG_printf(("3http_cdsa_copy_server(common_name=\"%s\")", common_name));
@@ -1769,6 +1772,11 @@ http_cdsa_copy_server(
_cupsMutexLock(&tls_mutex);
+ err = SecKeychainGetStatus(tls_keychain, &status);
+
+ if (err == noErr && !(status & kSecUnlockStateStatus) && tls_cups_keychain)
+ SecKeychainUnlock(tls_keychain, _CUPS_CDSA_PASSLEN, _CUPS_CDSA_PASSWORD, TRUE);
+
CFDictionaryAddValue(query, kSecClass, kSecClassIdentity);
CFDictionaryAddValue(query, kSecMatchPolicy, policy);
CFDictionaryAddValue(query, kSecReturnRef, kCFBooleanTrue);
@@ -1901,9 +1909,15 @@ http_cdsa_open_keychain(
*/
if (!path)
+ {
path = http_cdsa_default_path(filename, filesize);
+ tls_cups_keychain = 1;
+ }
else
+ {
strlcpy(filename, path, filesize);
+ tls_cups_keychain = 0;
+ }
/*
* Save the interaction setting and disable while we open the keychain...
@@ -1912,7 +1926,7 @@ http_cdsa_open_keychain(
SecKeychainGetUserInteractionAllowed(&interaction);
SecKeychainSetUserInteractionAllowed(FALSE);
- if (access(path, R_OK))
+ if (access(path, R_OK) && tls_cups_keychain)
{
/*
* Create a new keychain at the given path...
@@ -1931,7 +1945,7 @@ http_cdsa_open_keychain(
if (err == noErr)
err = SecKeychainGetStatus(keychain, &status);
- if (err == noErr && !(status & kSecUnlockStateStatus))
+ if (err == noErr && !(status & kSecUnlockStateStatus) && tls_cups_keychain)
err = SecKeychainUnlock(keychain, _CUPS_CDSA_PASSLEN, _CUPS_CDSA_PASSWORD, TRUE);
}
diff --git a/locale/cups.pot b/locale/cups.pot
index 7a6d260..8096e48 100644
--- a/locale/cups.pot
+++ b/locale/cups.pot
@@ -28,7 +28,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.6\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-01-03 16:43-0500\n"
+"POT-Creation-Date: 2017-03-11 10:02-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1551,172 +1551,172 @@ msgstr ""
msgid " PASS"
msgstr ""
-#: cups/ipp.c:5199
+#: cups/ipp.c:5202
#, c-format
msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
msgstr ""
-#: cups/ipp.c:5210
+#: cups/ipp.c:5213
#, c-format
msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
msgstr ""
-#: cups/ipp.c:4830
+#: cups/ipp.c:4833
#, c-format
msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
msgstr ""
-#: cups/ipp.c:4822
+#: cups/ipp.c:4825
#, c-format
msgid "\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
msgstr ""
-#: cups/ipp.c:4848
+#: cups/ipp.c:4851
#, c-format
msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
msgstr ""
-#: cups/ipp.c:5262
+#: cups/ipp.c:5265
#, c-format
msgid "\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
msgstr ""
-#: cups/ipp.c:5271
+#: cups/ipp.c:5274
#, c-format
msgid "\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
msgstr ""
-#: cups/ipp.c:4948
+#: cups/ipp.c:4951
#, c-format
msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
msgstr ""
-#: cups/ipp.c:4956
+#: cups/ipp.c:4959
#, c-format
msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
msgstr ""
-#: cups/ipp.c:4940
+#: cups/ipp.c:4943
#, c-format
msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
msgstr ""
-#: cups/ipp.c:4900
+#: cups/ipp.c:4903
#, c-format
msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
msgstr ""
-#: cups/ipp.c:4932
+#: cups/ipp.c:4935
#, c-format
msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
msgstr ""
-#: cups/ipp.c:4908
+#: cups/ipp.c:4911
#, c-format
msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
msgstr ""
-#: cups/ipp.c:4916
+#: cups/ipp.c:4919
#, c-format
msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
msgstr ""
-#: cups/ipp.c:4892
+#: cups/ipp.c:4895
#, c-format
msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
msgstr ""
-#: cups/ipp.c:4924
+#: cups/ipp.c:4927
#, c-format
msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
msgstr ""
-#: cups/ipp.c:4862
+#: cups/ipp.c:4865
#, c-format
msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
msgstr ""
-#: cups/ipp.c:5177
+#: cups/ipp.c:5180
#, c-format
msgid "\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
msgstr ""
-#: cups/ipp.c:5168
+#: cups/ipp.c:5171
#, c-format
msgid "\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section 4.1.3)."
msgstr ""
-#: cups/ipp.c:5371
+#: cups/ipp.c:5374
#, c-format
msgid "\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section 4.1.9)."
msgstr ""
-#: cups/ipp.c:5381
+#: cups/ipp.c:5384
#, c-format
msgid "\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section 4.1.9)."
msgstr ""
-#: cups/ipp.c:5139
+#: cups/ipp.c:5142
#, c-format
msgid "\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
msgstr ""
-#: cups/ipp.c:5148
+#: cups/ipp.c:5151
#, c-format
msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
msgstr ""
-#: cups/ipp.c:5317
+#: cups/ipp.c:5320
#, c-format
msgid "\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section 4.1.8)."
msgstr ""
-#: cups/ipp.c:5327
+#: cups/ipp.c:5330
#, c-format
msgid "\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section 4.1.8)."
msgstr ""
-#: cups/ipp.c:4876
+#: cups/ipp.c:4879
#, c-format
msgid "\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
msgstr ""
-#: cups/ipp.c:5019
+#: cups/ipp.c:5022
#, c-format
msgid "\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 section 4.1.13)."
msgstr ""
-#: cups/ipp.c:5000
+#: cups/ipp.c:5003
#, c-format
msgid "\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section 4.1.15)."
msgstr ""
-#: cups/ipp.c:4969
+#: cups/ipp.c:4972
#, c-format
msgid "\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be positive (RFC 2911 section 4.1.15)."
msgstr ""
-#: cups/ipp.c:4984
+#: cups/ipp.c:4987
#, c-format
msgid "\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC 2911 section 4.1.15)."
msgstr ""
-#: cups/ipp.c:5081
+#: cups/ipp.c:5084
#, c-format
msgid "\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
msgstr ""
-#: cups/ipp.c:5090
+#: cups/ipp.c:5093
#, c-format
msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
msgstr ""
-#: cups/ipp.c:5233
+#: cups/ipp.c:5236
#, c-format
msgid "\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
msgstr ""
-#: cups/ipp.c:5242
+#: cups/ipp.c:5245
#, c-format
msgid "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
msgstr ""
@@ -2530,23 +2530,23 @@ msgstr ""
msgid "2 inches/sec."
msgstr ""
-#: cups/ppd-cache.c:2994
+#: cups/ppd-cache.c:3108
msgid "2-Hole Punch (Landscape)"
msgstr ""
-#: cups/ppd-cache.c:2995
+#: cups/ppd-cache.c:3109
msgid "2-Hole Punch (Portrait)"
msgstr ""
-#: cups/ppd-cache.c:2993
+#: cups/ppd-cache.c:3107
msgid "2-Hole Punch (Reverse Landscape)"
msgstr ""
-#: cups/ppd-cache.c:2992
+#: cups/ppd-cache.c:3106
msgid "2-Hole Punch (Reverse Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3628 ppdc/sample.c:262
+#: cups/ppd-cache.c:3778 ppdc/sample.c:262
msgid "2-Sided Printing"
msgstr ""
@@ -2698,19 +2698,19 @@ msgstr ""
msgid "3 x 5"
msgstr ""
-#: cups/ppd-cache.c:3005
+#: cups/ppd-cache.c:3119
msgid "3-Hole Punch (Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3003
+#: cups/ppd-cache.c:3117
msgid "3-Hole Punch (Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3002
+#: cups/ppd-cache.c:3116
msgid "3-Hole Punch (Reverse Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3004
+#: cups/ppd-cache.c:3118
msgid "3-Hole Punch (Reverse Portrait)"
msgstr ""
@@ -2802,19 +2802,19 @@ msgstr ""
msgid "4 inches/sec."
msgstr ""
-#: cups/ppd-cache.c:2999
+#: cups/ppd-cache.c:3113
msgid "4-Hole Punch (Landscape)"
msgstr ""
-#: cups/ppd-cache.c:2997
+#: cups/ppd-cache.c:3111
msgid "4-Hole Punch (Portrait)"
msgstr ""
-#: cups/ppd-cache.c:2996
+#: cups/ppd-cache.c:3110
msgid "4-Hole Punch (Reverse Landscape)"
msgstr ""
-#: cups/ppd-cache.c:2998
+#: cups/ppd-cache.c:3112
msgid "4-Hole Punch (Reverse Portrait)"
msgstr ""
@@ -3212,7 +3212,7 @@ msgstr ""
msgid "Accepted"
msgstr ""
-#: cups/ppd-cache.c:2975
+#: cups/ppd-cache.c:3089
msgid "Accordian Fold"
msgstr ""
@@ -3237,15 +3237,19 @@ msgstr ""
msgid "Administration"
msgstr ""
-#: cups/ppd-cache.c:3327
+#: cups/ppd-cache.c:3539
+msgid "Advanced Photo Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3453
msgid "Alternate"
msgstr ""
-#: cups/ppd-cache.c:3335
+#: cups/ppd-cache.c:3461
msgid "Alternate Roll"
msgstr ""
-#: cups/ppd-cache.c:3407
+#: cups/ppd-cache.c:3533
msgid "Aluminum"
msgstr ""
@@ -3261,14 +3265,22 @@ msgstr ""
msgid "Applicator"
msgstr ""
-#: cups/ppd-cache.c:3428
+#: cups/ppd-cache.c:3567
msgid "Archival Envelope"
msgstr ""
-#: cups/ppd-cache.c:3440
+#: cups/ppd-cache.c:3579
msgid "Archival Fabric"
msgstr ""
+#: cups/ppd-cache.c:3656
+msgid "Archival Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3628
+msgid "Archival Photo Paper"
+msgstr ""
+
#: scheduler/ipp.c:1012
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
@@ -3289,7 +3301,7 @@ msgstr ""
msgid "Attribute groups are out of order (%x < %x)."
msgstr ""
-#: cups/ppd-cache.c:3325 cups/ppd-cache.c:3408 cups/ppd-cache.c:3688
+#: cups/ppd-cache.c:3451 cups/ppd-cache.c:3534 cups/ppd-cache.c:3838
msgid "Automatic"
msgstr ""
@@ -3341,7 +3353,7 @@ msgstr ""
msgid "B9"
msgstr ""
-#: cups/ppd-cache.c:3409
+#: cups/ppd-cache.c:3535
msgid "Back Print Film"
msgstr ""
@@ -3366,16 +3378,16 @@ msgstr ""
msgid "Bad OrderDependency"
msgstr ""
-#: cups/ppd-cache.c:456 cups/ppd-cache.c:503 cups/ppd-cache.c:588
-#: cups/ppd-cache.c:594 cups/ppd-cache.c:610 cups/ppd-cache.c:626
-#: cups/ppd-cache.c:635 cups/ppd-cache.c:643 cups/ppd-cache.c:660
-#: cups/ppd-cache.c:668 cups/ppd-cache.c:683 cups/ppd-cache.c:691
-#: cups/ppd-cache.c:712 cups/ppd-cache.c:724 cups/ppd-cache.c:739
-#: cups/ppd-cache.c:751 cups/ppd-cache.c:773 cups/ppd-cache.c:781
-#: cups/ppd-cache.c:799 cups/ppd-cache.c:807 cups/ppd-cache.c:822
-#: cups/ppd-cache.c:830 cups/ppd-cache.c:848 cups/ppd-cache.c:856
-#: cups/ppd-cache.c:883 cups/ppd-cache.c:953 cups/ppd-cache.c:961
-#: cups/ppd-cache.c:969
+#: cups/ppd-cache.c:457 cups/ppd-cache.c:504 cups/ppd-cache.c:589
+#: cups/ppd-cache.c:595 cups/ppd-cache.c:611 cups/ppd-cache.c:627
+#: cups/ppd-cache.c:636 cups/ppd-cache.c:644 cups/ppd-cache.c:661
+#: cups/ppd-cache.c:669 cups/ppd-cache.c:684 cups/ppd-cache.c:692
+#: cups/ppd-cache.c:713 cups/ppd-cache.c:725 cups/ppd-cache.c:740
+#: cups/ppd-cache.c:752 cups/ppd-cache.c:774 cups/ppd-cache.c:782
+#: cups/ppd-cache.c:800 cups/ppd-cache.c:808 cups/ppd-cache.c:823
+#: cups/ppd-cache.c:831 cups/ppd-cache.c:849 cups/ppd-cache.c:857
+#: cups/ppd-cache.c:884 cups/ppd-cache.c:954 cups/ppd-cache.c:962
+#: cups/ppd-cache.c:970
msgid "Bad PPD cache file."
msgstr ""
@@ -3547,7 +3559,7 @@ msgstr ""
msgid "Bad/empty URI"
msgstr ""
-#: cups/ppd-cache.c:2960
+#: cups/ppd-cache.c:3074
msgid "Bale"
msgstr ""
@@ -3555,27 +3567,27 @@ msgstr ""
msgid "Banners"
msgstr ""
-#: cups/ppd-cache.c:2961
+#: cups/ppd-cache.c:3075
msgid "Bind"
msgstr ""
-#: cups/ppd-cache.c:2965
+#: cups/ppd-cache.c:3079
msgid "Bind (Landscape)"
msgstr ""
-#: cups/ppd-cache.c:2963
+#: cups/ppd-cache.c:3077
msgid "Bind (Portrait)"
msgstr ""
-#: cups/ppd-cache.c:2962
+#: cups/ppd-cache.c:3076
msgid "Bind (Reverse Landscape)"
msgstr ""
-#: cups/ppd-cache.c:2964
+#: cups/ppd-cache.c:3078
msgid "Bind (Reverse Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3429
+#: cups/ppd-cache.c:3568
msgid "Bond Envelope"
msgstr ""
@@ -3583,7 +3595,11 @@ msgstr ""
msgid "Bond Paper"
msgstr ""
-#: cups/ppd-cache.c:2966
+#: cups/ppd-cache.c:4063
+msgid "Booklet"
+msgstr ""
+
+#: cups/ppd-cache.c:3080
msgid "Booklet Maker"
msgstr ""
@@ -3592,11 +3608,11 @@ msgstr ""
msgid "Boolean expected for waiteof option \"%s\"."
msgstr ""
-#: cups/ppd-cache.c:3338
+#: cups/ppd-cache.c:3464
msgid "Bottom"
msgstr ""
-#: cups/ppd-cache.c:3689
+#: cups/ppd-cache.c:3839
msgid "Bottom Tray"
msgstr ""
@@ -3604,7 +3620,7 @@ msgstr ""
msgid "Buffer overflow detected, aborting."
msgstr ""
-#: cups/ppd-cache.c:3412
+#: cups/ppd-cache.c:3538
msgid "CD"
msgstr ""
@@ -3624,7 +3640,7 @@ msgstr ""
msgid "Cancel RSS Subscription"
msgstr ""
-#: backend/ipp.c:2260
+#: backend/ipp.c:2262
msgid "Canceling print job."
msgstr ""
@@ -3636,11 +3652,11 @@ msgstr ""
msgid "Cannot share a remote Kerberized printer."
msgstr ""
-#: cups/ppd-cache.c:3410
+#: cups/ppd-cache.c:3536
msgid "Cardboard"
msgstr ""
-#: cups/ppd-cache.c:3411
+#: cups/ppd-cache.c:3537
msgid "Cardstock"
msgstr ""
@@ -3648,11 +3664,11 @@ msgstr ""
msgid "Cassette"
msgstr ""
-#: cups/ppd-cache.c:3342
+#: cups/ppd-cache.c:3468
msgid "Center"
msgstr ""
-#: cups/ppd-cache.c:3690
+#: cups/ppd-cache.c:3840
msgid "Center Tray"
msgstr ""
@@ -3678,28 +3694,28 @@ msgstr ""
msgid "Close-Job doesn't support the job-uri attribute."
msgstr ""
-#: cups/ppd-cache.c:2967
+#: cups/ppd-cache.c:3081
msgid "Coat"
msgstr ""
-#: cups/ppd-cache.c:3430
+#: cups/ppd-cache.c:3569
msgid "Coated Envelope"
msgstr ""
-#: cups/ppd-cache.c:3513
+#: cups/ppd-cache.c:3657
msgid "Coated Paper"
msgstr ""
-#: cups/ppd-cache.c:3592 ppdc/sample.c:276
+#: cups/ppd-cache.c:3742 ppdc/sample.c:276
msgid "Color"
msgstr ""
-#: cups/ppd-cache.c:3568 cups/ppd-cache.c:3579 cups/ppd-cache.c:3590
-#: cups/ppd-cache.c:3600 ppdc/sample.c:274
+#: cups/ppd-cache.c:3718 cups/ppd-cache.c:3729 cups/ppd-cache.c:3740
+#: cups/ppd-cache.c:3750 ppdc/sample.c:274
msgid "Color Mode"
msgstr ""
-#: cups/ppd-cache.c:3461
+#: cups/ppd-cache.c:3604
msgid "Colored Labels"
msgstr ""
@@ -3726,15 +3742,15 @@ msgstr ""
msgid "Continue"
msgstr ""
-#: cups/ppd-cache.c:3413 ppdc/sample.c:360
+#: cups/ppd-cache.c:3552 ppdc/sample.c:360
msgid "Continuous"
msgstr ""
-#: cups/ppd-cache.c:3414
+#: cups/ppd-cache.c:3553
msgid "Continuous Long"
msgstr ""
-#: cups/ppd-cache.c:3415
+#: cups/ppd-cache.c:3554
msgid "Continuous Short"
msgstr ""
@@ -3746,11 +3762,15 @@ msgstr ""
msgid "Copying print data."
msgstr ""
-#: cups/ppd-cache.c:3431
+#: cups/ppd-cache.c:3570
msgid "Cotton Envelope"
msgstr ""
-#: cups/ppd-cache.c:2968
+#: cups/ppd-cache.c:3658
+msgid "Cotton Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3082
msgid "Cover"
msgstr ""
@@ -3766,7 +3786,7 @@ msgstr ""
msgid "Credentials have expired."
msgstr ""
-#: cups/ppd.c:1136 cups/ppd.c:1176 cups/ppd.c:1421 cups/ppd.c:1524
+#: cups/ppd.c:1152 cups/ppd.c:1192 cups/ppd.c:1437 cups/ppd.c:1540
msgid "Custom"
msgstr ""
@@ -3782,7 +3802,7 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: cups/ppd-cache.c:3024
+#: cups/ppd-cache.c:3138
msgid "Cut Media"
msgstr ""
@@ -3790,7 +3810,7 @@ msgstr ""
msgid "Cutter"
msgstr ""
-#: cups/ppd-cache.c:3424
+#: cups/ppd-cache.c:3563
msgid "DVD"
msgstr ""
@@ -3806,7 +3826,7 @@ msgstr ""
msgid "Data file sent successfully."
msgstr ""
-#: cups/ppd-cache.c:3602
+#: cups/ppd-cache.c:3752
msgid "Deep Color"
msgstr ""
@@ -3871,7 +3891,7 @@ msgstr ""
msgid "Disabled"
msgstr ""
-#: cups/ppd-cache.c:3331
+#: cups/ppd-cache.c:3457
msgid "Disc"
msgstr ""
@@ -3880,35 +3900,36 @@ msgstr ""
msgid "Document #%d does not exist in job #%d."
msgstr ""
-#: cups/ppd-cache.c:2976
+#: cups/ppd-cache.c:3090
msgid "Double Gate Fold"
msgstr ""
-#: cups/ppd-cache.c:3017
+#: cups/ppd-cache.c:3131
msgid "Double Staple (Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3015
+#: cups/ppd-cache.c:3129
msgid "Double Staple (Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3014
+#: cups/ppd-cache.c:3128
msgid "Double Staple (Reverse Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3016
+#: cups/ppd-cache.c:3130
msgid "Double Staple (Reverse Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3422
+#: cups/ppd-cache.c:3561
msgid "Double Wall Cardboard"
msgstr ""
-#: cups/ppd-cache.c:3851 cups/ppd-cache.c:3903
+#: cups/ppd-cache.c:4094 cups/ppd-cache.c:4149 cups/ppd-cache.c:4151
+#: cups/ppd-cache.c:4178
msgid "Draft"
msgstr ""
-#: cups/ppd-cache.c:3423
+#: cups/ppd-cache.c:3562
msgid "Dry Film"
msgstr ""
@@ -3934,7 +3955,7 @@ msgstr ""
msgid "Edit Configuration File"
msgstr ""
-#: cups/ppd-cache.c:3425
+#: cups/ppd-cache.c:3564
msgid "Embossing Foil"
msgstr ""
@@ -3942,11 +3963,11 @@ msgstr ""
msgid "Empty PPD file."
msgstr ""
-#: cups/http.c:4614
+#: cups/http.c:4617
msgid "Encryption is not supported."
msgstr ""
-#: cups/ppd-cache.c:3426
+#: cups/ppd-cache.c:3565
msgid "End Board"
msgstr ""
@@ -3955,7 +3976,7 @@ msgstr ""
msgid "Ending Banner"
msgstr ""
-#: cups/ppd-cache.c:2977
+#: cups/ppd-cache.c:3091
msgid "Engineering Z Fold"
msgstr ""
@@ -3967,7 +3988,7 @@ msgstr ""
msgid "Enter your username and password or the root username and password to access this page. If you are using Kerberos authentication, make sure you have a valid Kerberos ticket."
msgstr ""
-#: cups/ppd-cache.c:3330 cups/ppd-cache.c:3427
+#: cups/ppd-cache.c:3456 cups/ppd-cache.c:3566
msgid "Envelope"
msgstr ""
@@ -4195,12 +4216,12 @@ msgstr ""
msgid "Error Policy"
msgstr ""
-#: filter/rastertopwg.c:454
+#: filter/rastertopwg.c:457
msgid "Error reading raster data."
msgstr ""
-#: filter/rastertopwg.c:426 filter/rastertopwg.c:444 filter/rastertopwg.c:462
-#: filter/rastertopwg.c:473
+#: filter/rastertopwg.c:426 filter/rastertopwg.c:447 filter/rastertopwg.c:465
+#: filter/rastertopwg.c:476
msgid "Error sending raster data."
msgstr ""
@@ -4248,6 +4269,14 @@ msgstr ""
msgid "Every Label"
msgstr ""
+#: cups/ppd-cache.c:3544
+msgid "Everyday Glossy Photo Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3545
+msgid "Everyday Matte Paper"
+msgstr ""
+
#: ppdc/sample.c:121
msgid "Executive"
msgstr ""
@@ -4264,6 +4293,10 @@ msgstr ""
msgid "Expressions:"
msgstr ""
+#: cups/ppd-cache.c:3546
+msgid "Extra Heavyweight Paper"
+msgstr ""
+
#: systemv/cupstestdsc.c:164 systemv/cupstestdsc.c:181
#: systemv/cupstestdsc.c:206 systemv/cupstestdsc.c:223
#: systemv/cupstestdsc.c:247 systemv/cupstestdsc.c:265
@@ -4274,15 +4307,15 @@ msgstr ""
msgid "FAIL"
msgstr ""
-#: cups/ppd-cache.c:3439
+#: cups/ppd-cache.c:3578
msgid "Fabric"
msgstr ""
-#: cups/ppd-cache.c:3691
+#: cups/ppd-cache.c:3841
msgid "Face Down"
msgstr ""
-#: cups/ppd-cache.c:3692
+#: cups/ppd-cache.c:3842
msgid "Face Up"
msgstr ""
@@ -4298,7 +4331,7 @@ msgstr ""
msgid "Fanfold US"
msgstr ""
-#: cups/ppd-cache.c:3570
+#: cups/ppd-cache.c:3720
msgid "Fast Grayscale"
msgstr ""
@@ -4336,11 +4369,11 @@ msgstr ""
msgid "File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cups-files.conf\"."
msgstr ""
-#: cups/ppd-cache.c:3446
+#: cups/ppd-cache.c:3585
msgid "Film"
msgstr ""
-#: cups/ppd-cache.c:3432
+#: cups/ppd-cache.c:3571
msgid "Fine Envelope"
msgstr ""
@@ -4350,27 +4383,23 @@ msgstr ""
msgid "Finished page %d."
msgstr ""
-#: cups/ppd-cache.c:3767 cups/ppd-cache.c:3812
-msgid "Finishing"
-msgstr ""
-
-#: cups/ppd-cache.c:3447
+#: cups/ppd-cache.c:3586
msgid "Flexo Base"
msgstr ""
-#: cups/ppd-cache.c:3448
+#: cups/ppd-cache.c:3587
msgid "Flexo Photo Polymer"
msgstr ""
-#: cups/ppd-cache.c:3449
+#: cups/ppd-cache.c:3588
msgid "Flute"
msgstr ""
-#: cups/ppd-cache.c:3450
+#: cups/ppd-cache.c:3589
msgid "Foil"
msgstr ""
-#: cups/ppd-cache.c:2974
+#: cups/ppd-cache.c:3088 cups/ppd-cache.c:3978
msgid "Fold"
msgstr ""
@@ -4382,15 +4411,15 @@ msgstr ""
msgid "Forbidden"
msgstr ""
-#: cups/ppd-cache.c:3451
+#: cups/ppd-cache.c:3590
msgid "Full Cut Tabs"
msgstr ""
-#: cups/ppd-cache.c:2978
+#: cups/ppd-cache.c:3092
msgid "Gate Fold"
msgstr ""
-#: cups/ppd.c:767 cups/ppd.c:1325
+#: cups/ppd.c:783 cups/ppd.c:1341
msgid "General"
msgstr ""
@@ -4402,35 +4431,39 @@ msgstr ""
msgid "Get-Response-PDU uses indefinite length"
msgstr ""
-#: cups/ppd-cache.c:3452
+#: cups/ppd-cache.c:3591
msgid "Glass"
msgstr ""
-#: cups/ppd-cache.c:3453
+#: cups/ppd-cache.c:3592
msgid "Glass Colored"
msgstr ""
-#: cups/ppd-cache.c:3454
+#: cups/ppd-cache.c:3593
msgid "Glass Opaque"
msgstr ""
-#: cups/ppd-cache.c:3455
+#: cups/ppd-cache.c:3594
msgid "Glass Surfaced"
msgstr ""
-#: cups/ppd-cache.c:3456
+#: cups/ppd-cache.c:3595
msgid "Glass Textured"
msgstr ""
-#: cups/ppd-cache.c:3441
+#: cups/ppd-cache.c:3540
+msgid "Glossy Brochure Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3580
msgid "Glossy Fabric"
msgstr ""
-#: cups/ppd-cache.c:3462
+#: cups/ppd-cache.c:3605
msgid "Glossy Labels"
msgstr ""
-#: cups/ppd-cache.c:3417
+#: cups/ppd-cache.c:3556
msgid "Glossy Optical Disc"
msgstr ""
@@ -4438,7 +4471,7 @@ msgstr ""
msgid "Glossy Paper"
msgstr ""
-#: cups/ppd-cache.c:3486
+#: cups/ppd-cache.c:3630
msgid "Glossy Photo Paper"
msgstr ""
@@ -4449,11 +4482,11 @@ msgstr ""
msgid "Got a printer-uri attribute but no job-id."
msgstr ""
-#: cups/ppd-cache.c:3457
+#: cups/ppd-cache.c:3596
msgid "Gravure Cylinder"
msgstr ""
-#: cups/ppd-cache.c:3581 ppdc/sample.c:275
+#: cups/ppd-cache.c:3731 ppdc/sample.c:275
msgid "Grayscale"
msgstr ""
@@ -4461,15 +4494,15 @@ msgstr ""
msgid "HP"
msgstr ""
-#: cups/ppd-cache.c:3333
+#: cups/ppd-cache.c:3459
msgid "Hagaki"
msgstr ""
-#: cups/ppd-cache.c:2979
+#: cups/ppd-cache.c:3093
msgid "Half Fold"
msgstr ""
-#: cups/ppd-cache.c:2980
+#: cups/ppd-cache.c:3094
msgid "Half Z Fold"
msgstr ""
@@ -4481,11 +4514,15 @@ msgstr ""
msgid "Hash buffer too small."
msgstr ""
-#: cups/ppd-cache.c:3433
+#: cups/ppd-cache.c:3661
+msgid "Heavyweight Coated Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3572
msgid "Heavyweight Envelope"
msgstr ""
-#: cups/ppd-cache.c:3516
+#: cups/ppd-cache.c:3660
msgid "Heavyweight Paper"
msgstr ""
@@ -4493,115 +4530,115 @@ msgstr ""
msgid "Help file not in index."
msgstr ""
-#: cups/ppd-cache.c:3858 cups/ppd-cache.c:3906
+#: cups/ppd-cache.c:4104 cups/ppd-cache.c:4154 cups/ppd-cache.c:4181
msgid "High"
msgstr ""
-#: cups/ppd-cache.c:3442
+#: cups/ppd-cache.c:3581
msgid "High Gloss Fabric"
msgstr ""
-#: cups/ppd-cache.c:3463
+#: cups/ppd-cache.c:3606
msgid "High Gloss Labels"
msgstr ""
-#: cups/ppd-cache.c:3418
+#: cups/ppd-cache.c:3557
msgid "High Gloss Optical Disc"
msgstr ""
-#: cups/ppd-cache.c:3487
+#: cups/ppd-cache.c:3631
msgid "High Gloss Photo Paper"
msgstr ""
-#: cups/ipp.c:3157 cups/ipp.c:3184 cups/ipp.c:3207
+#: cups/ipp.c:3160 cups/ipp.c:3187 cups/ipp.c:3210
msgid "IPP 1setOf attribute with incompatible value tags."
msgstr ""
-#: cups/ipp.c:3120
+#: cups/ipp.c:3123
msgid "IPP attribute has no name."
msgstr ""
-#: cups/ipp.c:6984
+#: cups/ipp.c:6987
msgid "IPP attribute is not a member of the message."
msgstr ""
-#: cups/ipp.c:3566
+#: cups/ipp.c:3569
msgid "IPP begCollection value not 0 bytes."
msgstr ""
-#: cups/ipp.c:3348
+#: cups/ipp.c:3351
msgid "IPP boolean value not 1 byte."
msgstr ""
-#: cups/ipp.c:3409
+#: cups/ipp.c:3412
msgid "IPP date value not 11 bytes."
msgstr ""
-#: cups/ipp.c:3587
+#: cups/ipp.c:3590
msgid "IPP endCollection value not 0 bytes."
msgstr ""
-#: cups/ipp.c:3323
+#: cups/ipp.c:3326
msgid "IPP enum value not 4 bytes."
msgstr ""
-#: cups/ipp.c:3050
+#: cups/ipp.c:3053
msgid "IPP extension tag larger than 0x7FFFFFFF."
msgstr ""
-#: cups/ipp.c:3320
+#: cups/ipp.c:3323
msgid "IPP integer value not 4 bytes."
msgstr ""
-#: cups/ipp.c:3519
+#: cups/ipp.c:3522
msgid "IPP language length overflows value."
msgstr ""
-#: cups/ipp.c:3528
+#: cups/ipp.c:3531
msgid "IPP language length too large."
msgstr ""
-#: cups/ipp.c:3234
+#: cups/ipp.c:3237
msgid "IPP member name is not empty."
msgstr ""
-#: cups/ipp.c:3613
+#: cups/ipp.c:3616
msgid "IPP memberName value is empty."
msgstr ""
-#: cups/ipp.c:3605
+#: cups/ipp.c:3608
msgid "IPP memberName with no attribute."
msgstr ""
-#: cups/ipp.c:3103
+#: cups/ipp.c:3106
msgid "IPP name larger than 32767 bytes."
msgstr ""
-#: cups/ipp.c:3486
+#: cups/ipp.c:3489
msgid "IPP nameWithLanguage value less than minimum 4 bytes."
msgstr ""
-#: cups/ipp.c:3643
+#: cups/ipp.c:3646
msgid "IPP octetString length too large."
msgstr ""
-#: cups/ipp.c:3454
+#: cups/ipp.c:3457
msgid "IPP rangeOfInteger value not 8 bytes."
msgstr ""
-#: cups/ipp.c:3427
+#: cups/ipp.c:3430
msgid "IPP resolution value not 9 bytes."
msgstr ""
-#: cups/ipp.c:3546
+#: cups/ipp.c:3549
msgid "IPP string length overflows value."
msgstr ""
-#: cups/ipp.c:3482
+#: cups/ipp.c:3485
msgid "IPP textWithLanguage value less than minimum 4 bytes."
msgstr ""
-#: cups/ipp.c:3306
+#: cups/ipp.c:3309
msgid "IPP value larger than 32767 bytes."
msgstr ""
@@ -4629,22 +4666,26 @@ msgstr ""
msgid "Illegal whitespace character"
msgstr ""
-#: cups/ppd-cache.c:3458
+#: cups/ppd-cache.c:3597
msgid "Image Setter Paper"
msgstr ""
-#: cups/ppd-cache.c:3459
+#: cups/ppd-cache.c:3598
msgid "Imaging Cylinder"
msgstr ""
-#: cups/ppd-cache.c:3434
+#: cups/ppd-cache.c:3573
msgid "Inkjet Envelope"
msgstr ""
-#: cups/ppd-cache.c:3464
+#: cups/ppd-cache.c:3607
msgid "Inkjet Labels"
msgstr ""
+#: cups/ppd-cache.c:3662
+msgid "Inkjet Paper"
+msgstr ""
+
#: ppdc/sample.c:266
msgid "Installable Options"
msgstr ""
@@ -4698,7 +4739,7 @@ msgstr ""
msgid "Invalid printer command \"%s\"."
msgstr ""
-#: cups/ppd.c:1443
+#: cups/ppd.c:1459
msgid "JCL"
msgstr ""
@@ -4844,7 +4885,7 @@ msgstr ""
msgid "Jobs"
msgstr ""
-#: cups/ppd-cache.c:2987
+#: cups/ppd-cache.c:3101
msgid "Jog"
msgstr ""
@@ -4860,15 +4901,15 @@ msgstr ""
msgid "Label Top"
msgstr ""
-#: cups/ppd-cache.c:3460
+#: cups/ppd-cache.c:3603
msgid "Labels"
msgstr ""
-#: cups/ppd-cache.c:2988
+#: cups/ppd-cache.c:3102
msgid "Laminate"
msgstr ""
-#: cups/ppd-cache.c:3470
+#: cups/ppd-cache.c:3613
msgid "Laminating Foil"
msgstr ""
@@ -4881,11 +4922,11 @@ msgstr ""
msgid "Large Address"
msgstr ""
-#: cups/ppd-cache.c:3328
+#: cups/ppd-cache.c:3454
msgid "Large Capacity"
msgstr ""
-#: cups/ppd-cache.c:3693
+#: cups/ppd-cache.c:3843
msgid "Large Capacity Tray"
msgstr ""
@@ -4893,19 +4934,19 @@ msgstr ""
msgid "LaserJet Series PCL 4/5"
msgstr ""
-#: cups/ppd-cache.c:3340
+#: cups/ppd-cache.c:3466
msgid "Left"
msgstr ""
-#: cups/ppd-cache.c:2981
+#: cups/ppd-cache.c:3095
msgid "Left Gate Fold"
msgstr ""
-#: cups/ppd-cache.c:3694
+#: cups/ppd-cache.c:3844
msgid "Left Tray"
msgstr ""
-#: cups/ppd-cache.c:2982
+#: cups/ppd-cache.c:3096
msgid "Letter Fold"
msgstr ""
@@ -4917,7 +4958,7 @@ msgstr ""
msgid "Letter Oversize Long Edge"
msgstr ""
-#: cups/ppd-cache.c:3471 cups/ppd-cache.c:3519
+#: cups/ppd-cache.c:3614 cups/ppd-cache.c:3663
msgid "Letterhead"
msgstr ""
@@ -4925,11 +4966,11 @@ msgstr ""
msgid "Light"
msgstr ""
-#: cups/ppd-cache.c:3435
+#: cups/ppd-cache.c:3574
msgid "Lightweight Envelope"
msgstr ""
-#: cups/ppd-cache.c:3520
+#: cups/ppd-cache.c:3664
msgid "Lightweight Paper"
msgstr ""
@@ -4949,7 +4990,7 @@ msgstr ""
msgid "Local printer created."
msgstr ""
-#: cups/ppd-cache.c:3628 ppdc/sample.c:264
+#: cups/ppd-cache.c:3778 ppdc/sample.c:264
msgid "Long-Edge (Portrait)"
msgstr ""
@@ -4957,55 +4998,55 @@ msgstr ""
msgid "Looking for printer."
msgstr ""
-#: cups/ppd-cache.c:3695
+#: cups/ppd-cache.c:3845
msgid "Mailbox 1"
msgstr ""
-#: cups/ppd-cache.c:3704
+#: cups/ppd-cache.c:3854
msgid "Mailbox 10"
msgstr ""
-#: cups/ppd-cache.c:3696
+#: cups/ppd-cache.c:3846
msgid "Mailbox 2"
msgstr ""
-#: cups/ppd-cache.c:3697
+#: cups/ppd-cache.c:3847
msgid "Mailbox 3"
msgstr ""
-#: cups/ppd-cache.c:3698
+#: cups/ppd-cache.c:3848
msgid "Mailbox 4"
msgstr ""
-#: cups/ppd-cache.c:3699
+#: cups/ppd-cache.c:3849
msgid "Mailbox 5"
msgstr ""
-#: cups/ppd-cache.c:3700
+#: cups/ppd-cache.c:3850
msgid "Mailbox 6"
msgstr ""
-#: cups/ppd-cache.c:3701
+#: cups/ppd-cache.c:3851
msgid "Mailbox 7"
msgstr ""
-#: cups/ppd-cache.c:3702
+#: cups/ppd-cache.c:3852
msgid "Mailbox 8"
msgstr ""
-#: cups/ppd-cache.c:3703
+#: cups/ppd-cache.c:3853
msgid "Mailbox 9"
msgstr ""
-#: cups/ppd-cache.c:3326
+#: cups/ppd-cache.c:3452
msgid "Main"
msgstr ""
-#: cups/ppd-cache.c:3334
+#: cups/ppd-cache.c:3460
msgid "Main Roll"
msgstr ""
-#: cups/ppd-cache.c:3329
+#: cups/ppd-cache.c:3455
msgid "Manual"
msgstr ""
@@ -5013,27 +5054,35 @@ msgstr ""
msgid "Manual Feed"
msgstr ""
-#: cups/ppd-cache.c:3443
+#: cups/ppd-cache.c:3541
+msgid "Matte Brochure Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3542
+msgid "Matte Cover Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3582
msgid "Matte Fabric"
msgstr ""
-#: cups/ppd-cache.c:3465
+#: cups/ppd-cache.c:3608
msgid "Matte Labels"
msgstr ""
-#: cups/ppd-cache.c:3419
+#: cups/ppd-cache.c:3558
msgid "Matte Optical Disc"
msgstr ""
-#: cups/ppd-cache.c:3488
+#: cups/ppd-cache.c:3632
msgid "Matte Photo Paper"
msgstr ""
-#: cups/ppd.c:814 cups/ppd.c:1380
+#: cups/ppd.c:830 cups/ppd.c:1396
msgid "Media Size"
msgstr ""
-#: cups/ppd.c:818 cups/ppd.c:1384 ppdc/sample.c:254
+#: cups/ppd.c:834 cups/ppd.c:1400 ppdc/sample.c:254
msgid "Media Source"
msgstr ""
@@ -5041,7 +5090,7 @@ msgstr ""
msgid "Media Tracking"
msgstr ""
-#: cups/ppd.c:816 cups/ppd.c:1382 ppdc/sample.c:280
+#: cups/ppd.c:832 cups/ppd.c:1398 ppdc/sample.c:280
msgid "Media Type"
msgstr ""
@@ -5053,31 +5102,35 @@ msgstr ""
msgid "Memory allocation error"
msgstr ""
-#: cups/ppd-cache.c:3472
+#: cups/ppd-cache.c:3615
msgid "Metal"
msgstr ""
-#: cups/ppd-cache.c:3473
+#: cups/ppd-cache.c:3616
msgid "Metal Glossy"
msgstr ""
-#: cups/ppd-cache.c:3474
+#: cups/ppd-cache.c:3617
msgid "Metal High Gloss"
msgstr ""
-#: cups/ppd-cache.c:3475
+#: cups/ppd-cache.c:3618
msgid "Metal Matte"
msgstr ""
-#: cups/ppd-cache.c:3476
+#: cups/ppd-cache.c:3619
msgid "Metal Satin"
msgstr ""
-#: cups/ppd-cache.c:3477
+#: cups/ppd-cache.c:3620
msgid "Metal Semi Gloss"
msgstr ""
-#: cups/ppd-cache.c:3337 cups/ppd-cache.c:3705
+#: cups/ppd-cache.c:3548
+msgid "Mid-Weight Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3463 cups/ppd-cache.c:3855
msgid "Middle"
msgstr ""
@@ -5187,7 +5240,7 @@ msgstr ""
msgid "Modify Printer"
msgstr ""
-#: cups/ppd-cache.c:3478
+#: cups/ppd-cache.c:3621
msgid "Mounting Tape"
msgstr ""
@@ -5203,35 +5256,39 @@ msgstr ""
msgid "Moved Permanently"
msgstr ""
-#: cups/ppd-cache.c:3479
+#: cups/ppd-cache.c:3622
msgid "Multi Layer"
msgstr ""
-#: cups/ppd-cache.c:3480
+#: cups/ppd-cache.c:3623
msgid "Multi Part Form"
msgstr ""
-#: cups/ppd-cache.c:3009
+#: cups/ppd-cache.c:3123
msgid "Multi-Hole Punch (Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3007
+#: cups/ppd-cache.c:3121
msgid "Multi-Hole Punch (Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3006
+#: cups/ppd-cache.c:3120
msgid "Multi-Hole Punch (Reverse Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3008
+#: cups/ppd-cache.c:3122
msgid "Multi-Hole Punch (Reverse Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3344
+#: cups/ppd-cache.c:3470
msgid "Multipurpose"
msgstr ""
-#: cups/ppd-cache.c:3706
+#: cups/ppd-cache.c:3547
+msgid "Multipurpose Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3856
msgid "My Mailbox"
msgstr ""
@@ -5259,7 +5316,7 @@ msgstr ""
msgid "New credentials are older than stored credentials."
msgstr ""
-#: cups/ppd.c:1971
+#: cups/ppd.c:1987
msgid "No"
msgstr ""
@@ -5267,8 +5324,8 @@ msgstr ""
msgid "No Content"
msgstr ""
-#: cups/ppd-cache.c:3767 cups/ppd-cache.c:3812
-msgid "No Finishing"
+#: cups/ppd-cache.c:3157
+msgid "No IPP attributes."
msgstr ""
#: cups/ppd-util.c:451
@@ -5409,7 +5466,12 @@ msgstr ""
msgid "Non-continuous (Web sensing)"
msgstr ""
-#: cups/ppd-cache.c:3854 cups/ppd-cache.c:3904 ppdc/sample.c:238
+#: cups/ppd-cache.c:3934 cups/ppd-cache.c:3981 cups/ppd-cache.c:4028
+msgid "None"
+msgstr ""
+
+#: cups/ppd-cache.c:4097 cups/ppd-cache.c:4152 cups/ppd-cache.c:4179
+#: ppdc/sample.c:238
msgid "Normal"
msgstr ""
@@ -5449,10 +5511,14 @@ msgstr ""
msgid "OK"
msgstr ""
-#: cups/ppd-cache.c:3628 ppdc/sample.c:263
+#: cups/ppd-cache.c:3778 ppdc/sample.c:263
msgid "Off (1-Sided)"
msgstr ""
+#: cups/ppd-cache.c:3543
+msgid "Office Recycled Paper"
+msgstr ""
+
#: ppdc/sample.c:356
msgid "Oki"
msgstr ""
@@ -5482,7 +5548,7 @@ msgstr ""
msgid "Operation Policy"
msgstr ""
-#: cups/ppd-cache.c:3416
+#: cups/ppd-cache.c:3555
msgid "Optical Disc"
msgstr ""
@@ -5503,19 +5569,19 @@ msgstr ""
msgid "Options:"
msgstr ""
-#: cups/ppd-cache.c:3481
+#: cups/ppd-cache.c:3624
msgid "Other"
msgstr ""
-#: cups/ppd-cache.c:464
+#: cups/ppd-cache.c:465
msgid "Out of date PPD cache file."
msgstr ""
-#: cups/ppd-cache.c:1832
+#: cups/ppd-cache.c:1945
msgid "Out of memory."
msgstr ""
-#: cups/ppd.c:820 cups/ppd.c:1386
+#: cups/ppd.c:836 cups/ppd.c:1402
msgid "Output Mode"
msgstr ""
@@ -5571,7 +5637,7 @@ msgstr ""
msgid "Packet does not start with SEQUENCE"
msgstr ""
-#: cups/ppd-cache.c:3482
+#: cups/ppd-cache.c:3625
msgid "Paper"
msgstr ""
@@ -5591,7 +5657,7 @@ msgstr ""
msgid "Paper tray is missing."
msgstr ""
-#: cups/ppd-cache.c:2983
+#: cups/ppd-cache.c:3097
msgid "Parallel Fold"
msgstr ""
@@ -5625,15 +5691,15 @@ msgstr ""
msgid "Peel-Off"
msgstr ""
-#: cups/ppd-cache.c:3466
+#: cups/ppd-cache.c:3609
msgid "Permanent Labels"
msgstr ""
-#: cups/ppd-cache.c:3332 ppdc/sample.c:160
+#: cups/ppd-cache.c:3458 ppdc/sample.c:160
msgid "Photo"
msgstr ""
-#: cups/ppd-cache.c:3485
+#: cups/ppd-cache.c:3629
msgid "Photo Film"
msgstr ""
@@ -5641,55 +5707,59 @@ msgstr ""
msgid "Photo Labels"
msgstr ""
-#: cups/ppd-cache.c:3483
+#: cups/ppd-cache.c:3626 cups/ppd-cache.c:3627
msgid "Photo Paper"
msgstr ""
-#: cups/ppd-cache.c:3484
-msgid "Photographic Archival"
+#: cups/ppd-cache.c:3599 cups/ppd-cache.c:3601
+msgid "Photo Paper Plus Glossy II"
+msgstr ""
+
+#: cups/ppd-cache.c:3600 cups/ppd-cache.c:3602
+msgid "Photo Paper Pro Platinum"
msgstr ""
-#: cups/ppd-cache.c:3436
+#: cups/ppd-cache.c:3575
msgid "Plain Envelope"
msgstr ""
-#: ppdc/sample.c:281
+#: cups/ppd-cache.c:3655 ppdc/sample.c:281
msgid "Plain Paper"
msgstr ""
-#: cups/ppd-cache.c:3491
+#: cups/ppd-cache.c:3635
msgid "Plastic"
msgstr ""
-#: cups/ppd-cache.c:3492
+#: cups/ppd-cache.c:3636
msgid "Plastic Archival"
msgstr ""
-#: cups/ppd-cache.c:3493
+#: cups/ppd-cache.c:3637
msgid "Plastic Colored"
msgstr ""
-#: cups/ppd-cache.c:3494
+#: cups/ppd-cache.c:3638
msgid "Plastic Glossy"
msgstr ""
-#: cups/ppd-cache.c:3495
+#: cups/ppd-cache.c:3639
msgid "Plastic High Gloss"
msgstr ""
-#: cups/ppd-cache.c:3496
+#: cups/ppd-cache.c:3640
msgid "Plastic Matte"
msgstr ""
-#: cups/ppd-cache.c:3497
+#: cups/ppd-cache.c:3641
msgid "Plastic Satin"
msgstr ""
-#: cups/ppd-cache.c:3498
+#: cups/ppd-cache.c:3642
msgid "Plastic Semi Gloss"
msgstr ""
-#: cups/ppd-cache.c:3499
+#: cups/ppd-cache.c:3643
msgid "Plate"
msgstr ""
@@ -5697,7 +5767,7 @@ msgstr ""
msgid "Policies"
msgstr ""
-#: cups/ppd-cache.c:3500
+#: cups/ppd-cache.c:3644
msgid "Polyester"
msgstr ""
@@ -5725,23 +5795,35 @@ msgstr ""
msgid "Postcard Long Edge"
msgstr ""
-#: cups/ppd-cache.c:2984
+#: cups/ppd-cache.c:3098
msgid "Poster Fold"
msgstr ""
-#: cups/ppd-cache.c:3501
+#: cups/ppd-cache.c:3645
msgid "Pre Cut Tabs"
msgstr ""
+#: cups/ppd-cache.c:3549
+msgid "Premium Inkjet Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3550
+msgid "Premium Photo Glossy Paper"
+msgstr ""
+
+#: cups/ppd-cache.c:3551
+msgid "Premium Presentation Matte Paper"
+msgstr ""
+
#: backend/ipp.c:981 backend/ipp.c:989
msgid "Preparing to print."
msgstr ""
-#: cups/ppd-cache.c:3437
+#: cups/ppd-cache.c:3576
msgid "Preprinted Envelope"
msgstr ""
-#: cups/ppd-cache.c:3521
+#: cups/ppd-cache.c:3665
msgid "Preprinted Paper"
msgstr ""
@@ -5757,7 +5839,7 @@ msgstr ""
msgid "Print Mode"
msgstr ""
-#: cups/ppd-cache.c:3847 cups/ppd-cache.c:3901
+#: cups/ppd-cache.c:4090 cups/ppd-cache.c:4147 cups/ppd-cache.c:4176
msgid "Print Quality"
msgstr ""
@@ -5789,15 +5871,15 @@ msgstr ""
msgid "Print file sent."
msgstr ""
-#: backend/ipp.c:2234
+#: backend/ipp.c:2236
msgid "Print job canceled at printer."
msgstr ""
-#: backend/ipp.c:2226
+#: backend/ipp.c:2228
msgid "Print job too large."
msgstr ""
-#: backend/ipp.c:1695
+#: backend/ipp.c:1697
msgid "Print job was not accepted."
msgstr ""
@@ -5830,14 +5912,18 @@ msgstr ""
msgid "Printer Settings"
msgstr ""
-#: backend/ipp.c:2229
+#: backend/ipp.c:2231
msgid "Printer cannot print supplied content."
msgstr ""
-#: backend/ipp.c:2232
+#: backend/ipp.c:2234
msgid "Printer cannot print with supplied options."
msgstr ""
+#: cups/ppd-cache.c:4203
+msgid "Printer does not support required IPP attributes or document formats."
+msgstr ""
+
#: cups/notify.c:118
msgid "Printer:"
msgstr ""
@@ -5852,11 +5938,11 @@ msgstr ""
msgid "Printing page %d, %u%% complete."
msgstr ""
-#: cups/ppd-cache.c:2989
+#: cups/ppd-cache.c:3103 cups/ppd-cache.c:4025
msgid "Punch"
msgstr ""
-#: cups/ppd-cache.c:3522
+#: cups/ppd-cache.c:3666
msgid "Punched Paper"
msgstr ""
@@ -5872,11 +5958,11 @@ msgstr ""
msgid "Rank Owner Job File(s) Total Size"
msgstr ""
-#: cups/ppd-cache.c:3343
+#: cups/ppd-cache.c:3469
msgid "Rear"
msgstr ""
-#: cups/ppd-cache.c:3707
+#: cups/ppd-cache.c:3857
msgid "Rear Tray"
msgstr ""
@@ -5902,7 +5988,7 @@ msgstr ""
msgid "Request Entity Too Large"
msgstr ""
-#: cups/ppd.c:822 cups/ppd.c:1388 ppdc/sample.c:231
+#: cups/ppd.c:838 cups/ppd.c:1404 ppdc/sample.c:231
msgid "Resolution"
msgstr ""
@@ -5922,59 +6008,59 @@ msgstr ""
msgid "Rewind"
msgstr ""
-#: cups/ppd-cache.c:3341
+#: cups/ppd-cache.c:3467
msgid "Right"
msgstr ""
-#: cups/ppd-cache.c:2985
+#: cups/ppd-cache.c:3099
msgid "Right Gate Fold"
msgstr ""
-#: cups/ppd-cache.c:3708
+#: cups/ppd-cache.c:3858
msgid "Right Tray"
msgstr ""
-#: cups/ppd-cache.c:3502
+#: cups/ppd-cache.c:3646
msgid "Roll"
msgstr ""
-#: cups/ppd-cache.c:3365
+#: cups/ppd-cache.c:3491
msgid "Roll 1"
msgstr ""
-#: cups/ppd-cache.c:3374
+#: cups/ppd-cache.c:3500
msgid "Roll 10"
msgstr ""
-#: cups/ppd-cache.c:3366
+#: cups/ppd-cache.c:3492
msgid "Roll 2"
msgstr ""
-#: cups/ppd-cache.c:3367
+#: cups/ppd-cache.c:3493
msgid "Roll 3"
msgstr ""
-#: cups/ppd-cache.c:3368
+#: cups/ppd-cache.c:3494
msgid "Roll 4"
msgstr ""
-#: cups/ppd-cache.c:3369
+#: cups/ppd-cache.c:3495
msgid "Roll 5"
msgstr ""
-#: cups/ppd-cache.c:3370
+#: cups/ppd-cache.c:3496
msgid "Roll 6"
msgstr ""
-#: cups/ppd-cache.c:3371
+#: cups/ppd-cache.c:3497
msgid "Roll 7"
msgstr ""
-#: cups/ppd-cache.c:3372
+#: cups/ppd-cache.c:3498
msgid "Roll 8"
msgstr ""
-#: cups/ppd-cache.c:3373
+#: cups/ppd-cache.c:3499
msgid "Roll 9"
msgstr ""
@@ -5991,31 +6077,31 @@ msgstr ""
msgid "SSL/TLS Negotiation Error"
msgstr ""
-#: cups/ppd-cache.c:3010
+#: cups/ppd-cache.c:3124
msgid "Saddle Stitch"
msgstr ""
-#: cups/ppd-cache.c:3467
+#: cups/ppd-cache.c:3610
msgid "Satin Labels"
msgstr ""
-#: cups/ppd-cache.c:3420
+#: cups/ppd-cache.c:3559
msgid "Satin Optical Disc"
msgstr ""
-#: cups/ppd-cache.c:3489
+#: cups/ppd-cache.c:3633
msgid "Satin Photo Paper"
msgstr ""
-#: cups/ppd-cache.c:3503
+#: cups/ppd-cache.c:3647
msgid "Screen"
msgstr ""
-#: cups/ppd-cache.c:3504
+#: cups/ppd-cache.c:3648
msgid "Screen Paged"
msgstr ""
-#: cups/ppd-cache.c:3468
+#: cups/ppd-cache.c:3611
msgid "Security Labels"
msgstr ""
@@ -6027,11 +6113,11 @@ msgstr ""
msgid "See remote printer."
msgstr ""
-#: cups/ppd-cache.c:3505
+#: cups/ppd-cache.c:3649
msgid "Self Adhesive"
msgstr ""
-#: cups/ppd-cache.c:3506
+#: cups/ppd-cache.c:3650
msgid "Self Adhesive Film"
msgstr ""
@@ -6039,19 +6125,19 @@ msgstr ""
msgid "Self-signed credentials are blocked."
msgstr ""
-#: cups/ppd-cache.c:3444
+#: cups/ppd-cache.c:3583
msgid "Semi-Gloss Fabric"
msgstr ""
-#: cups/ppd-cache.c:3469
+#: cups/ppd-cache.c:3612
msgid "Semi-Gloss Labels"
msgstr ""
-#: cups/ppd-cache.c:3421
+#: cups/ppd-cache.c:3560
msgid "Semi-Gloss Optical Disc"
msgstr ""
-#: cups/ppd-cache.c:3490
+#: cups/ppd-cache.c:3634
msgid "Semi-Gloss Photo Paper"
msgstr ""
@@ -6108,63 +6194,63 @@ msgstr ""
msgid "Shipping Address"
msgstr ""
-#: cups/ppd-cache.c:3628 ppdc/sample.c:265
+#: cups/ppd-cache.c:3778 ppdc/sample.c:265
msgid "Short-Edge (Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3507
+#: cups/ppd-cache.c:3651
msgid "Shrink Foil"
msgstr ""
-#: cups/ppd-cache.c:3339
+#: cups/ppd-cache.c:3465
msgid "Side"
msgstr ""
-#: cups/ppd-cache.c:3709
+#: cups/ppd-cache.c:3859
msgid "Side Tray"
msgstr ""
-#: cups/ppd-cache.c:3508
+#: cups/ppd-cache.c:3652
msgid "Single Face"
msgstr ""
-#: cups/ppd-cache.c:3001
+#: cups/ppd-cache.c:3115
msgid "Single Punch (Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3000
+#: cups/ppd-cache.c:3114
msgid "Single Punch (Portrait)"
msgstr ""
-#: cups/ppd-cache.c:2990
+#: cups/ppd-cache.c:3104
msgid "Single Punch (Reverse Landscape)"
msgstr ""
-#: cups/ppd-cache.c:2991
+#: cups/ppd-cache.c:3105
msgid "Single Punch (Reverse Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3019
+#: cups/ppd-cache.c:3133
msgid "Single Staple (Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3018
+#: cups/ppd-cache.c:3132
msgid "Single Staple (Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3012
+#: cups/ppd-cache.c:3126
msgid "Single Staple (Reverse Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3013
+#: cups/ppd-cache.c:3127
msgid "Single Staple (Reverse Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3509
+#: cups/ppd-cache.c:3653
msgid "Single Wall Cardboard"
msgstr ""
-#: cups/ppd-cache.c:3510
+#: cups/ppd-cache.c:3654
msgid "Sleeve"
msgstr ""
@@ -6177,43 +6263,43 @@ msgstr ""
msgid "Spooling job, %.0f%% complete."
msgstr ""
-#: cups/ppd-cache.c:3710
+#: cups/ppd-cache.c:3860
msgid "Stacker 1"
msgstr ""
-#: cups/ppd-cache.c:3719
+#: cups/ppd-cache.c:3869
msgid "Stacker 10"
msgstr ""
-#: cups/ppd-cache.c:3711
+#: cups/ppd-cache.c:3861
msgid "Stacker 2"
msgstr ""
-#: cups/ppd-cache.c:3712
+#: cups/ppd-cache.c:3862
msgid "Stacker 3"
msgstr ""
-#: cups/ppd-cache.c:3713
+#: cups/ppd-cache.c:3863
msgid "Stacker 4"
msgstr ""
-#: cups/ppd-cache.c:3714
+#: cups/ppd-cache.c:3864
msgid "Stacker 5"
msgstr ""
-#: cups/ppd-cache.c:3715
+#: cups/ppd-cache.c:3865
msgid "Stacker 6"
msgstr ""
-#: cups/ppd-cache.c:3716
+#: cups/ppd-cache.c:3866
msgid "Stacker 7"
msgstr ""
-#: cups/ppd-cache.c:3717
+#: cups/ppd-cache.c:3867
msgid "Stacker 8"
msgstr ""
-#: cups/ppd-cache.c:3718
+#: cups/ppd-cache.c:3868
msgid "Stacker 9"
msgstr ""
@@ -6221,27 +6307,27 @@ msgstr ""
msgid "Standard"
msgstr ""
-#: cups/ppd-cache.c:3011
+#: cups/ppd-cache.c:3125 cups/ppd-cache.c:3931
msgid "Staple"
msgstr ""
-#: cups/ppd-cache.c:2969
+#: cups/ppd-cache.c:3083
msgid "Staple Edge"
msgstr ""
-#: cups/ppd-cache.c:2973
+#: cups/ppd-cache.c:3087
msgid "Staple Edge (Landscape)"
msgstr ""
-#: cups/ppd-cache.c:2971
+#: cups/ppd-cache.c:3085
msgid "Staple Edge (Portrait)"
msgstr ""
-#: cups/ppd-cache.c:2970
+#: cups/ppd-cache.c:3084
msgid "Staple Edge (Reverse Landscape)"
msgstr ""
-#: cups/ppd-cache.c:2972
+#: cups/ppd-cache.c:3086
msgid "Staple Edge (Reverse Portrait)"
msgstr ""
@@ -6260,26 +6346,6 @@ msgstr ""
msgid "Statement"
msgstr ""
-#: cups/ppd-cache.c:3511
-msgid "Stationery"
-msgstr ""
-
-#: cups/ppd-cache.c:3512
-msgid "Stationery Archival"
-msgstr ""
-
-#: cups/ppd-cache.c:3514
-msgid "Stationery Cotton"
-msgstr ""
-
-#: cups/ppd-cache.c:3517
-msgid "Stationery Heavyweight Coated"
-msgstr ""
-
-#: cups/ppd-cache.c:3518
-msgid "Stationery Inkjet Paper"
-msgstr ""
-
#: scheduler/ipp.c:3593 scheduler/ipp.c:6892 scheduler/ipp.c:7602
#: scheduler/ipp.c:9123
#, c-format
@@ -6306,7 +6372,7 @@ msgstr ""
msgid "Switching Protocols"
msgstr ""
-#: cups/ppd-cache.c:3523
+#: cups/ppd-cache.c:3667
msgid "Tab Stock"
msgstr ""
@@ -6416,7 +6482,7 @@ msgid "The printer did not respond."
msgstr ""
#: backend/ipp.c:774 backend/ipp.c:964 backend/ipp.c:1078 backend/ipp.c:1499
-#: backend/ipp.c:1667 backend/lpd.c:897 backend/socket.c:360
+#: backend/ipp.c:1669 backend/lpd.c:897 backend/socket.c:360
#: backend/usb-unix.c:122 backend/usb-unix.c:412 backend/usb-unix.c:495
msgid "The printer is in use."
msgstr ""
@@ -6562,23 +6628,23 @@ msgstr ""
msgid "Too many printer-state-reasons values (%d > %d)."
msgstr ""
-#: cups/ppd-cache.c:3336
+#: cups/ppd-cache.c:3462
msgid "Top"
msgstr ""
-#: cups/ppd-cache.c:3720
+#: cups/ppd-cache.c:3870
msgid "Top Tray"
msgstr ""
-#: cups/ppd-cache.c:3524
+#: cups/ppd-cache.c:3668
msgid "Tractor"
msgstr ""
-#: cups/ppd-cache.c:3525
+#: cups/ppd-cache.c:3669
msgid "Transfer"
msgstr ""
-#: cups/ppd-cache.c:3526 ppdc/sample.c:284
+#: cups/ppd-cache.c:3670 ppdc/sample.c:284
msgid "Transparency"
msgstr ""
@@ -6586,103 +6652,103 @@ msgstr ""
msgid "Tray"
msgstr ""
-#: cups/ppd-cache.c:3345 cups/ppd-cache.c:3721 ppdc/sample.c:256
+#: cups/ppd-cache.c:3471 cups/ppd-cache.c:3871 ppdc/sample.c:256
msgid "Tray 1"
msgstr ""
-#: cups/ppd-cache.c:3354 cups/ppd-cache.c:3730
+#: cups/ppd-cache.c:3480 cups/ppd-cache.c:3880
msgid "Tray 10"
msgstr ""
-#: cups/ppd-cache.c:3355
+#: cups/ppd-cache.c:3481
msgid "Tray 11"
msgstr ""
-#: cups/ppd-cache.c:3356
+#: cups/ppd-cache.c:3482
msgid "Tray 12"
msgstr ""
-#: cups/ppd-cache.c:3357
+#: cups/ppd-cache.c:3483
msgid "Tray 13"
msgstr ""
-#: cups/ppd-cache.c:3358
+#: cups/ppd-cache.c:3484
msgid "Tray 14"
msgstr ""
-#: cups/ppd-cache.c:3359
+#: cups/ppd-cache.c:3485
msgid "Tray 15"
msgstr ""
-#: cups/ppd-cache.c:3360
+#: cups/ppd-cache.c:3486
msgid "Tray 16"
msgstr ""
-#: cups/ppd-cache.c:3361
+#: cups/ppd-cache.c:3487
msgid "Tray 17"
msgstr ""
-#: cups/ppd-cache.c:3362
+#: cups/ppd-cache.c:3488
msgid "Tray 18"
msgstr ""
-#: cups/ppd-cache.c:3363
+#: cups/ppd-cache.c:3489
msgid "Tray 19"
msgstr ""
-#: cups/ppd-cache.c:3346 cups/ppd-cache.c:3722 ppdc/sample.c:257
+#: cups/ppd-cache.c:3472 cups/ppd-cache.c:3872 ppdc/sample.c:257
msgid "Tray 2"
msgstr ""
-#: cups/ppd-cache.c:3364
+#: cups/ppd-cache.c:3490
msgid "Tray 20"
msgstr ""
-#: cups/ppd-cache.c:3347 cups/ppd-cache.c:3723 ppdc/sample.c:258
+#: cups/ppd-cache.c:3473 cups/ppd-cache.c:3873 ppdc/sample.c:258
msgid "Tray 3"
msgstr ""
-#: cups/ppd-cache.c:3348 cups/ppd-cache.c:3724 ppdc/sample.c:259
+#: cups/ppd-cache.c:3474 cups/ppd-cache.c:3874 ppdc/sample.c:259
msgid "Tray 4"
msgstr ""
-#: cups/ppd-cache.c:3349 cups/ppd-cache.c:3725
+#: cups/ppd-cache.c:3475 cups/ppd-cache.c:3875
msgid "Tray 5"
msgstr ""
-#: cups/ppd-cache.c:3350 cups/ppd-cache.c:3726
+#: cups/ppd-cache.c:3476 cups/ppd-cache.c:3876
msgid "Tray 6"
msgstr ""
-#: cups/ppd-cache.c:3351 cups/ppd-cache.c:3727
+#: cups/ppd-cache.c:3477 cups/ppd-cache.c:3877
msgid "Tray 7"
msgstr ""
-#: cups/ppd-cache.c:3352 cups/ppd-cache.c:3728
+#: cups/ppd-cache.c:3478 cups/ppd-cache.c:3878
msgid "Tray 8"
msgstr ""
-#: cups/ppd-cache.c:3353 cups/ppd-cache.c:3729
+#: cups/ppd-cache.c:3479 cups/ppd-cache.c:3879
msgid "Tray 9"
msgstr ""
-#: cups/ppd-cache.c:3023
+#: cups/ppd-cache.c:3137
msgid "Triple Staple (Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3021
+#: cups/ppd-cache.c:3135
msgid "Triple Staple (Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3020
+#: cups/ppd-cache.c:3134
msgid "Triple Staple (Reverse Landscape)"
msgstr ""
-#: cups/ppd-cache.c:3022
+#: cups/ppd-cache.c:3136
msgid "Triple Staple (Reverse Portrait)"
msgstr ""
-#: cups/ppd-cache.c:3527
+#: cups/ppd-cache.c:3671
msgid "Triple Wall Cardboard"
msgstr ""
@@ -6747,7 +6813,7 @@ msgstr ""
msgid "Unable to add class"
msgstr ""
-#: backend/ipp.c:1854
+#: backend/ipp.c:1856
msgid "Unable to add document to print job."
msgstr ""
@@ -6776,7 +6842,7 @@ msgstr ""
msgid "Unable to cancel RSS subscription"
msgstr ""
-#: backend/ipp.c:2139 backend/ipp.c:2649
+#: backend/ipp.c:2141 backend/ipp.c:2651
msgid "Unable to cancel print job."
msgstr ""
@@ -6792,12 +6858,12 @@ msgstr ""
msgid "Unable to change server settings"
msgstr ""
-#: cups/ipp.c:5361
+#: cups/ipp.c:5364
#, c-format
msgid "Unable to compile mimeMediaType regular expression: %s."
msgstr ""
-#: cups/ipp.c:5307
+#: cups/ipp.c:5310
#, c-format
msgid "Unable to compile naturalLanguage regular expression: %s."
msgstr ""
@@ -6929,7 +6995,7 @@ msgstr ""
msgid "Unable to find server credentials."
msgstr ""
-#: backend/ipp.c:3310
+#: backend/ipp.c:3312
msgid "Unable to get backend exit status."
msgstr ""
@@ -7022,7 +7088,7 @@ msgstr ""
msgid "Unable to open help file."
msgstr ""
-#: backend/ipp.c:384 backend/ipp.c:1594 backend/ipp.c:1807 backend/lpd.c:479
+#: backend/ipp.c:384 backend/ipp.c:1596 backend/ipp.c:1809 backend/lpd.c:479
#: backend/socket.c:147 backend/usb.c:229 filter/gziptoany.c:71
#: filter/pstops.c:268
msgid "Unable to open print file"
@@ -7080,7 +7146,7 @@ msgstr ""
msgid "Unable to set server default"
msgstr ""
-#: backend/ipp.c:3169 backend/ipp.c:3246 backend/ipp.c:3254
+#: backend/ipp.c:3171 backend/ipp.c:3248 backend/ipp.c:3256
msgid "Unable to start backend process."
msgstr ""
@@ -7366,7 +7432,7 @@ msgstr ""
msgid "VarBind uses indefinite length"
msgstr ""
-#: cups/ppd-cache.c:3515
+#: cups/ppd-cache.c:3659
msgid "Vellum Paper"
msgstr ""
@@ -7374,7 +7440,7 @@ msgstr ""
msgid "Version uses indefinite length"
msgstr ""
-#: backend/ipp.c:1974
+#: backend/ipp.c:1976
msgid "Waiting for job to complete."
msgstr ""
@@ -7390,7 +7456,7 @@ msgstr ""
msgid "Warning, no Windows 2000 printer drivers are installed."
msgstr ""
-#: cups/ppd-cache.c:3445
+#: cups/ppd-cache.c:3584
msgid "Waterproof Fabric"
msgstr ""
@@ -7398,15 +7464,15 @@ msgstr ""
msgid "Web Interface is Disabled"
msgstr ""
-#: cups/ppd-cache.c:3528
+#: cups/ppd-cache.c:3672
msgid "Wet Film"
msgstr ""
-#: cups/ppd-cache.c:3438
+#: cups/ppd-cache.c:3577
msgid "Windowed Envelope"
msgstr ""
-#: cups/ppd.c:1969
+#: cups/ppd.c:1985
msgid "Yes"
msgstr ""
@@ -7415,7 +7481,7 @@ msgstr ""
msgid "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
msgstr ""
-#: cups/ppd-cache.c:2986
+#: cups/ppd-cache.c:3100
msgid "Z Fold"
msgstr ""
diff --git a/locale/cups.strings b/locale/cups.strings
index 568b034..0f267cb 100644
--- a/locale/cups.strings
+++ b/locale/cups.strings
@@ -473,13 +473,13 @@
"0" = "0";
"1" = "1";
"1 inch/sec." = "1 inch/sec.";
-"1.25x0.25\"" = "1.25x0.25\"";
-"1.25x2.25\"" = "1.25x2.25\"";
+"1.25x0.25\"" = "1.25x0.25″";
+"1.25x2.25\"" = "1.25x2.25″";
"1.5 inch/sec." = "1.5 inch/sec.";
-"1.50x0.25\"" = "1.50x0.25\"";
-"1.50x0.50\"" = "1.50x0.50\"";
-"1.50x1.00\"" = "1.50x1.00\"";
-"1.50x2.00\"" = "1.50x2.00\"";
+"1.50x0.25\"" = "1.50x0.25″";
+"1.50x0.50\"" = "1.50x0.50″";
+"1.50x1.00\"" = "1.50x1.00″";
+"1.50x2.00\"" = "1.50x2.00″";
"10" = "10";
"10 inches/sec." = "10 inches/sec.";
"10 x 11" = "10 x 11";
@@ -519,24 +519,24 @@
"2-Hole Punch (Reverse Landscape)" = "2-Hole Punch (Reverse Landscape)";
"2-Hole Punch (Reverse Portrait)" = "2-Hole Punch (Reverse Portrait)";
"2-Sided Printing" = "2-Sided Printing";
-"2.00x0.37\"" = "2.00x0.37\"";
-"2.00x0.50\"" = "2.00x0.50\"";
-"2.00x1.00\"" = "2.00x1.00\"";
-"2.00x1.25\"" = "2.00x1.25\"";
-"2.00x2.00\"" = "2.00x2.00\"";
-"2.00x3.00\"" = "2.00x3.00\"";
-"2.00x4.00\"" = "2.00x4.00\"";
-"2.00x5.50\"" = "2.00x5.50\"";
-"2.25x0.50\"" = "2.25x0.50\"";
-"2.25x1.25\"" = "2.25x1.25\"";
-"2.25x4.00\"" = "2.25x4.00\"";
-"2.25x5.50\"" = "2.25x5.50\"";
-"2.38x5.50\"" = "2.38x5.50\"";
+"2.00x0.37\"" = "2.00x0.37″";
+"2.00x0.50\"" = "2.00x0.50″";
+"2.00x1.00\"" = "2.00x1.00″";
+"2.00x1.25\"" = "2.00x1.25″";
+"2.00x2.00\"" = "2.00x2.00″";
+"2.00x3.00\"" = "2.00x3.00″";
+"2.00x4.00\"" = "2.00x4.00″";
+"2.00x5.50\"" = "2.00x5.50″";
+"2.25x0.50\"" = "2.25x0.50″";
+"2.25x1.25\"" = "2.25x1.25″";
+"2.25x4.00\"" = "2.25x4.00″";
+"2.25x5.50\"" = "2.25x5.50″";
+"2.38x5.50\"" = "2.38x5.50″";
"2.5 inches/sec." = "2.5 inches/sec.";
-"2.50x1.00\"" = "2.50x1.00\"";
-"2.50x2.00\"" = "2.50x2.00\"";
-"2.75x1.25\"" = "2.75x1.25\"";
-"2.9 x 1\"" = "2.9 x 1\"";
+"2.50x1.00\"" = "2.50x1.00″";
+"2.50x2.00\"" = "2.50x2.00″";
+"2.75x1.25\"" = "2.75x1.25″";
+"2.9 x 1\"" = "2.9 x 1″";
"20" = "20";
"20 mm/sec." = "20 mm/sec.";
"200 mm/sec." = "200 mm/sec.";
@@ -560,19 +560,19 @@
"3-Hole Punch (Portrait)" = "3-Hole Punch (Portrait)";
"3-Hole Punch (Reverse Landscape)" = "3-Hole Punch (Reverse Landscape)";
"3-Hole Punch (Reverse Portrait)" = "3-Hole Punch (Reverse Portrait)";
-"3.00x1.00\"" = "3.00x1.00\"";
-"3.00x1.25\"" = "3.00x1.25\"";
-"3.00x2.00\"" = "3.00x2.00\"";
-"3.00x3.00\"" = "3.00x3.00\"";
-"3.00x5.00\"" = "3.00x5.00\"";
-"3.25x2.00\"" = "3.25x2.00\"";
-"3.25x5.00\"" = "3.25x5.00\"";
-"3.25x5.50\"" = "3.25x5.50\"";
-"3.25x5.83\"" = "3.25x5.83\"";
-"3.25x7.83\"" = "3.25x7.83\"";
+"3.00x1.00\"" = "3.00x1.00″";
+"3.00x1.25\"" = "3.00x1.25″";
+"3.00x2.00\"" = "3.00x2.00″";
+"3.00x3.00\"" = "3.00x3.00″";
+"3.00x5.00\"" = "3.00x5.00″";
+"3.25x2.00\"" = "3.25x2.00″";
+"3.25x5.00\"" = "3.25x5.00″";
+"3.25x5.50\"" = "3.25x5.50″";
+"3.25x5.83\"" = "3.25x5.83″";
+"3.25x7.83\"" = "3.25x7.83″";
"3.5 x 5" = "3.5 x 5";
-"3.5\" Disk" = "3.5\" Disk";
-"3.50x1.00\"" = "3.50x1.00\"";
+"3.5\" Disk" = "3.5″ Disk";
+"3.50x1.00\"" = "3.50x1.00″";
"30" = "30";
"30 mm/sec." = "30 mm/sec.";
"300 mm/sec." = "300 mm/sec.";
@@ -586,15 +586,15 @@
"4-Hole Punch (Portrait)" = "4-Hole Punch (Portrait)";
"4-Hole Punch (Reverse Landscape)" = "4-Hole Punch (Reverse Landscape)";
"4-Hole Punch (Reverse Portrait)" = "4-Hole Punch (Reverse Portrait)";
-"4.00x1.00\"" = "4.00x1.00\"";
-"4.00x13.00\"" = "4.00x13.00\"";
-"4.00x2.00\"" = "4.00x2.00\"";
-"4.00x2.50\"" = "4.00x2.50\"";
-"4.00x3.00\"" = "4.00x3.00\"";
-"4.00x4.00\"" = "4.00x4.00\"";
-"4.00x5.00\"" = "4.00x5.00\"";
-"4.00x6.00\"" = "4.00x6.00\"";
-"4.00x6.50\"" = "4.00x6.50\"";
+"4.00x1.00\"" = "4.00x1.00″";
+"4.00x13.00\"" = "4.00x13.00″";
+"4.00x2.00\"" = "4.00x2.00″";
+"4.00x2.50\"" = "4.00x2.50″";
+"4.00x3.00\"" = "4.00x3.00″";
+"4.00x4.00\"" = "4.00x4.00″";
+"4.00x5.00\"" = "4.00x5.00″";
+"4.00x6.00\"" = "4.00x6.00″";
+"4.00x6.50\"" = "4.00x6.50″";
"40" = "40";
"40 mm/sec." = "40 mm/sec.";
"45" = "45";
@@ -605,13 +605,13 @@
"55" = "55";
"6" = "6";
"6 inches/sec." = "6 inches/sec.";
-"6.00x1.00\"" = "6.00x1.00\"";
-"6.00x2.00\"" = "6.00x2.00\"";
-"6.00x3.00\"" = "6.00x3.00\"";
-"6.00x4.00\"" = "6.00x4.00\"";
-"6.00x5.00\"" = "6.00x5.00\"";
-"6.00x6.00\"" = "6.00x6.00\"";
-"6.00x6.50\"" = "6.00x6.50\"";
+"6.00x1.00\"" = "6.00x1.00″";
+"6.00x2.00\"" = "6.00x2.00″";
+"6.00x3.00\"" = "6.00x3.00″";
+"6.00x4.00\"" = "6.00x4.00″";
+"6.00x5.00\"" = "6.00x5.00″";
+"6.00x6.00\"" = "6.00x6.00″";
+"6.00x6.50\"" = "6.00x6.50″";
"60" = "60";
"60 mm/sec." = "60 mm/sec.";
"600dpi" = "600dpi";
@@ -626,13 +626,13 @@
"8" = "8";
"8 inches/sec." = "8 inches/sec.";
"8 x 10" = "8 x 10";
-"8.00x1.00\"" = "8.00x1.00\"";
-"8.00x2.00\"" = "8.00x2.00\"";
-"8.00x3.00\"" = "8.00x3.00\"";
-"8.00x4.00\"" = "8.00x4.00\"";
-"8.00x5.00\"" = "8.00x5.00\"";
-"8.00x6.00\"" = "8.00x6.00\"";
-"8.00x6.50\"" = "8.00x6.50\"";
+"8.00x1.00\"" = "8.00x1.00″";
+"8.00x2.00\"" = "8.00x2.00″";
+"8.00x3.00\"" = "8.00x3.00″";
+"8.00x4.00\"" = "8.00x4.00″";
+"8.00x5.00\"" = "8.00x5.00″";
+"8.00x6.00\"" = "8.00x6.00″";
+"8.00x6.50\"" = "8.00x6.50″";
"80" = "80";
"80 mm/sec." = "80 mm/sec.";
"85" = "85";
@@ -690,6 +690,7 @@
"Add RSS Subscription" = "Add RSS Subscription";
"Address" = "Address";
"Administration" = "Administration";
+"Advanced Photo Paper" = "Advanced Photo Paper";
"Alternate" = "Alternate";
"Alternate Roll" = "Alternate Roll";
"Aluminum" = "Aluminum";
@@ -698,6 +699,8 @@
"Applicator" = "Applicator";
"Archival Envelope" = "Archival Envelope";
"Archival Fabric" = "Archival Fabric";
+"Archival Paper" = "Archival Paper";
+"Archival Photo Paper" = "Archival Photo Paper";
"Attempt to set %s printer-state to bad value %d." = "Attempt to set %s printer-state to bad value %d.";
"Attribute \"%s\" is in the wrong group." = "Attribute “%s” is in the wrong group.";
"Attribute \"%s\" is the wrong value type." = "Attribute “%s” is the wrong value type.";
@@ -768,6 +771,7 @@
"Bind (Reverse Portrait)" = "Bind (Reverse Portrait)";
"Bond Envelope" = "Bond Envelope";
"Bond Paper" = "Bond Paper";
+"Booklet" = "Booklet";
"Booklet Maker" = "Booklet Maker";
"Boolean expected for waiteof option \"%s\"." = "Boolean expected for waiteof option “%s”.";
"Bottom" = "Bottom";
@@ -808,6 +812,7 @@
"Control file sent successfully." = "Control file sent successfully.";
"Copying print data." = "Copying print data.";
"Cotton Envelope" = "Cotton Envelope";
+"Cotton Paper" = "Cotton Paper";
"Cover" = "Cover";
"Created" = "Created";
"Credentials do not validate against site CA certificate." = "Credentials do not validate against site CA certificate.";
@@ -929,10 +934,13 @@
"Every 8 Labels" = "Every 8 Labels";
"Every 9 Labels" = "Every 9 Labels";
"Every Label" = "Every Label";
+"Everyday Glossy Photo Paper" = "Everyday Glossy Photo Paper";
+"Everyday Matte Paper" = "Everyday Matte Paper";
"Executive" = "Executive";
"Expectation Failed" = "Expectation Failed";
"Export Printers to Samba" = "Export Printers to Samba";
"Expressions:" = "Expressions:";
+"Extra Heavyweight Paper" = "Extra Heavyweight Paper";
"FAIL" = "FAIL";
"Fabric" = "Fabric";
"Face Down" = "Face Down";
@@ -951,7 +959,6 @@
"Film" = "Film";
"Fine Envelope" = "Fine Envelope";
"Finished page %d." = "Finished page %d.";
-"Finishing" = "Finishing";
"Flexo Base" = "Flexo Base";
"Flexo Photo Polymer" = "Flexo Photo Polymer";
"Flute" = "Flute";
@@ -969,6 +976,7 @@
"Glass Opaque" = "Glass Opaque";
"Glass Surfaced" = "Glass Surfaced";
"Glass Textured" = "Glass Textured";
+"Glossy Brochure Paper" = "Glossy Brochure Paper";
"Glossy Fabric" = "Glossy Fabric";
"Glossy Labels" = "Glossy Labels";
"Glossy Optical Disc" = "Glossy Optical Disc";
@@ -983,6 +991,7 @@
"Half Z Fold" = "Half Z Fold";
"Hanging Folder" = "Hanging Folder";
"Hash buffer too small." = "Hash buffer too small.";
+"Heavyweight Coated Paper" = "Heavyweight Coated Paper";
"Heavyweight Envelope" = "Heavyweight Envelope";
"Heavyweight Paper" = "Heavyweight Paper";
"Help file not in index." = "Help file not in index.";
@@ -1024,6 +1033,7 @@
"Imaging Cylinder" = "Imaging Cylinder";
"Inkjet Envelope" = "Inkjet Envelope";
"Inkjet Labels" = "Inkjet Labels";
+"Inkjet Paper" = "Inkjet Paper";
"Installable Options" = "Installable Options";
"Installed" = "Installed";
"IntelliBar Label Printer" = "IntelliBar Label Printer";
@@ -1112,6 +1122,8 @@
"Main Roll" = "Main Roll";
"Manual" = "Manual";
"Manual Feed" = "Manual Feed";
+"Matte Brochure Paper" = "Matte Brochure Paper";
+"Matte Cover Paper" = "Matte Cover Paper";
"Matte Fabric" = "Matte Fabric";
"Matte Labels" = "Matte Labels";
"Matte Optical Disc" = "Matte Optical Disc";
@@ -1128,6 +1140,7 @@
"Metal Matte" = "Metal Matte";
"Metal Satin" = "Metal Satin";
"Metal Semi Gloss" = "Metal Semi Gloss";
+"Mid-Weight Paper" = "Mid-Weight Paper";
"Middle" = "Middle";
"Missing CloseGroup" = "Missing CloseGroup";
"Missing PPD-Adobe-4.x header" = "Missing PPD-Adobe-4.x header";
@@ -1164,6 +1177,7 @@
"Multi-Hole Punch (Reverse Landscape)" = "Multi-Hole Punch (Reverse Landscape)";
"Multi-Hole Punch (Reverse Portrait)" = "Multi-Hole Punch (Reverse Portrait)";
"Multipurpose" = "Multipurpose";
+"Multipurpose Paper" = "Multipurpose Paper";
"My Mailbox" = "My Mailbox";
"NULL PPD file pointer" = "NULL PPD file pointer";
"Name OID uses indefinite length" = "Name OID uses indefinite length";
@@ -1173,7 +1187,7 @@
"New credentials are older than stored credentials." = "New credentials are older than stored credentials.";
"No" = "No";
"No Content" = "No Content";
-"No Finishing" = "No Finishing";
+"No IPP attributes." = "No IPP attributes.";
"No PPD name" = "No PPD name";
"No VarBind SEQUENCE" = "No VarBind SEQUENCE";
"No Windows printer drivers are installed." = "No Windows printer drivers are installed.";
@@ -1208,6 +1222,7 @@
"No version number" = "No version number";
"Non-continuous (Mark sensing)" = "Non-continuous (Mark sensing)";
"Non-continuous (Web sensing)" = "Non-continuous (Web sensing)";
+"None" = "None";
"Normal" = "Normal";
"Not Found" = "Not Found";
"Not Implemented" = "Not Implemented";
@@ -1219,6 +1234,7 @@
"Note: this program only validates the DSC comments, not the PostScript itself." = "Note: this program only validates the DSC comments, not the PostScript itself.";
"OK" = "OK";
"Off (1-Sided)" = "Off (1-Sided)";
+"Office Recycled Paper" = "Office Recycled Paper";
"Oki" = "Oki";
"Online Help" = "Online Help";
"Only local users can create a local printer." = "Only local users can create a local printer.";
@@ -1265,7 +1281,8 @@
"Photo Film" = "Photo Film";
"Photo Labels" = "Photo Labels";
"Photo Paper" = "Photo Paper";
-"Photographic Archival" = "Photographic Archival";
+"Photo Paper Plus Glossy II" = "Photo Paper Plus Glossy II";
+"Photo Paper Pro Platinum" = "Photo Paper Pro Platinum";
"Plain Envelope" = "Plain Envelope";
"Plain Paper" = "Plain Paper";
"Plastic" = "Plastic";
@@ -1287,6 +1304,9 @@
"Postcard Long Edge" = "Postcard Long Edge";
"Poster Fold" = "Poster Fold";
"Pre Cut Tabs" = "Pre Cut Tabs";
+"Premium Inkjet Paper" = "Premium Inkjet Paper";
+"Premium Photo Glossy Paper" = "Premium Photo Glossy Paper";
+"Premium Presentation Matte Paper" = "Premium Presentation Matte Paper";
"Preparing to print." = "Preparing to print.";
"Preprinted Envelope" = "Preprinted Envelope";
"Preprinted Paper" = "Preprinted Paper";
@@ -1313,6 +1333,7 @@
"Printer Settings" = "Printer Settings";
"Printer cannot print supplied content." = "Printer cannot print supplied content.";
"Printer cannot print with supplied options." = "Printer cannot print with supplied options.";
+"Printer does not support required IPP attributes or document formats." = "Printer does not support required IPP attributes or document formats.";
"Printer:" = "Printer:";
"Printers" = "Printers";
"Printing page %d, %u%% complete." = "Printing page %d, %u%% complete.";
@@ -1417,11 +1438,6 @@
"Starting Banner" = "Starting Banner";
"Starting page %d." = "Starting page %d.";
"Statement" = "Statement";
-"Stationery" = "Stationery";
-"Stationery Archival" = "Stationery Archival";
-"Stationery Cotton" = "Stationery Cotton";
-"Stationery Heavyweight Coated" = "Stationery Heavyweight Coated";
-"Stationery Inkjet Paper" = "Stationery Inkjet Paper";
"Subscription #%d does not exist." = "Subscription #%d does not exist.";
"Substitutions:" = "Substitutions:";
"Super A" = "Super A";
diff --git a/locale/cups_ca.po b/locale/cups_ca.po
index dc41822..66c7699 100644
--- a/locale/cups_ca.po
+++ b/locale/cups_ca.po
@@ -32,7 +32,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4.6\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-01-03 16:43-0500\n"
+"POT-Creation-Date: 2017-03-11 10:02-0500\n"
"PO-Revision-Date: 2012-09-29 11:21+0200\n"
"Last-Translator: Àngel Mompó <mecatxis@gmail.com>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
@@ -2701,6 +2701,9 @@ msgstr "Adreça"
msgid "Administration"
msgstr "Administració"
+msgid "Advanced Photo Paper"
+msgstr ""
+
msgid "Alternate"
msgstr ""
@@ -2725,6 +2728,12 @@ msgstr ""
msgid "Archival Fabric"
msgstr ""
+msgid "Archival Paper"
+msgstr ""
+
+msgid "Archival Photo Paper"
+msgstr ""
+
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
msgstr ""
@@ -2958,6 +2967,9 @@ msgstr ""
msgid "Bond Paper"
msgstr "Paper de valors"
+msgid "Booklet"
+msgstr ""
+
msgid "Booklet Maker"
msgstr ""
@@ -3086,6 +3098,9 @@ msgstr "Es copien les dades d'impressió."
msgid "Cotton Envelope"
msgstr ""
+msgid "Cotton Paper"
+msgstr ""
+
msgid "Cover"
msgstr ""
@@ -3474,6 +3489,12 @@ msgstr "Cada 9 etiquetes"
msgid "Every Label"
msgstr "Cada etiqueta"
+msgid "Everyday Glossy Photo Paper"
+msgstr ""
+
+msgid "Everyday Matte Paper"
+msgstr ""
+
msgid "Executive"
msgstr "Executiu"
@@ -3486,6 +3507,9 @@ msgstr "Exportar les impressores al Samba"
msgid "Expressions:"
msgstr ""
+msgid "Extra Heavyweight Paper"
+msgstr ""
+
msgid "FAIL"
msgstr "ERROR"
@@ -3549,9 +3573,6 @@ msgstr ""
msgid "Finished page %d."
msgstr "S'ha acabat la pàgina %d."
-msgid "Finishing"
-msgstr ""
-
msgid "Flexo Base"
msgstr ""
@@ -3603,6 +3624,9 @@ msgstr ""
msgid "Glass Textured"
msgstr ""
+msgid "Glossy Brochure Paper"
+msgstr ""
+
msgid "Glossy Fabric"
msgstr ""
@@ -3645,6 +3669,9 @@ msgstr "Carpeta per penjar"
msgid "Hash buffer too small."
msgstr ""
+msgid "Heavyweight Coated Paper"
+msgstr ""
+
msgid "Heavyweight Envelope"
msgstr ""
@@ -3771,6 +3798,9 @@ msgstr ""
msgid "Inkjet Labels"
msgstr ""
+msgid "Inkjet Paper"
+msgstr ""
+
msgid "Installable Options"
msgstr "Opcions instal·lables"
@@ -4046,6 +4076,12 @@ msgstr ""
msgid "Manual Feed"
msgstr "Alimentació manual"
+msgid "Matte Brochure Paper"
+msgstr ""
+
+msgid "Matte Cover Paper"
+msgstr ""
+
msgid "Matte Fabric"
msgstr ""
@@ -4094,6 +4130,9 @@ msgstr ""
msgid "Metal Semi Gloss"
msgstr ""
+msgid "Mid-Weight Paper"
+msgstr ""
+
msgid "Middle"
msgstr ""
@@ -4214,6 +4253,9 @@ msgstr ""
msgid "Multipurpose"
msgstr ""
+msgid "Multipurpose Paper"
+msgstr ""
+
msgid "My Mailbox"
msgstr ""
@@ -4241,7 +4283,7 @@ msgstr "No"
msgid "No Content"
msgstr "No hi ha contingut"
-msgid "No Finishing"
+msgid "No IPP attributes."
msgstr ""
msgid "No PPD name"
@@ -4349,6 +4391,9 @@ msgstr "Discontinu (sensible a les marques)"
msgid "Non-continuous (Web sensing)"
msgstr "Discontinu (Sensible al web)"
+msgid "None"
+msgstr ""
+
msgid "Normal"
msgstr "Normal"
@@ -4385,6 +4430,9 @@ msgstr "D'acord"
msgid "Off (1-Sided)"
msgstr "Inactiu (Una cara)"
+msgid "Office Recycled Paper"
+msgstr ""
+
msgid "Oki"
msgstr "Oki"
@@ -4527,7 +4575,10 @@ msgstr "Etiquetes de fotografia"
msgid "Photo Paper"
msgstr ""
-msgid "Photographic Archival"
+msgid "Photo Paper Plus Glossy II"
+msgstr ""
+
+msgid "Photo Paper Pro Platinum"
msgstr ""
msgid "Plain Envelope"
@@ -4593,6 +4644,15 @@ msgstr ""
msgid "Pre Cut Tabs"
msgstr ""
+msgid "Premium Inkjet Paper"
+msgstr ""
+
+msgid "Premium Photo Glossy Paper"
+msgstr ""
+
+msgid "Premium Presentation Matte Paper"
+msgstr ""
+
msgid "Preparing to print."
msgstr ""
@@ -4672,6 +4732,9 @@ msgstr "La impressora no pot imprimir el contingut subministrat."
msgid "Printer cannot print with supplied options."
msgstr ""
+msgid "Printer does not support required IPP attributes or document formats."
+msgstr ""
+
msgid "Printer:"
msgstr "Impressora:"
@@ -4989,21 +5052,6 @@ msgstr "S'està començant la pàgina %d."
msgid "Statement"
msgstr "Declaració"
-msgid "Stationery"
-msgstr ""
-
-msgid "Stationery Archival"
-msgstr ""
-
-msgid "Stationery Cotton"
-msgstr ""
-
-msgid "Stationery Heavyweight Coated"
-msgstr ""
-
-msgid "Stationery Inkjet Paper"
-msgstr ""
-
#, c-format
msgid "Subscription #%d does not exist."
msgstr "La subscripció #%d no existeix."
diff --git a/locale/cups_cs.po b/locale/cups_cs.po
index 326d357..a32a93b 100644
--- a/locale/cups_cs.po
+++ b/locale/cups_cs.po
@@ -29,7 +29,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.6\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-01-03 16:43-0500\n"
+"POT-Creation-Date: 2017-03-11 10:02-0500\n"
"PO-Revision-Date: 2012-09-14 10:26+0100\n"
"Last-Translator: Jan Bartos <jan.bartos@madeta.cz>\n"
"Language-Team: Czech\n"
@@ -2509,6 +2509,9 @@ msgstr "Adresa"
msgid "Administration"
msgstr "Administrace"
+msgid "Advanced Photo Paper"
+msgstr ""
+
msgid "Alternate"
msgstr ""
@@ -2533,6 +2536,12 @@ msgstr ""
msgid "Archival Fabric"
msgstr ""
+msgid "Archival Paper"
+msgstr ""
+
+msgid "Archival Photo Paper"
+msgstr ""
+
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
msgstr ""
@@ -2765,6 +2774,9 @@ msgstr ""
msgid "Bond Paper"
msgstr "Kancelářský papír"
+msgid "Booklet"
+msgstr ""
+
msgid "Booklet Maker"
msgstr ""
@@ -2890,6 +2902,9 @@ msgstr ""
msgid "Cotton Envelope"
msgstr ""
+msgid "Cotton Paper"
+msgstr ""
+
msgid "Cover"
msgstr ""
@@ -3271,6 +3286,12 @@ msgstr "Každých 9 štítků"
msgid "Every Label"
msgstr "Každý štítek"
+msgid "Everyday Glossy Photo Paper"
+msgstr ""
+
+msgid "Everyday Matte Paper"
+msgstr ""
+
msgid "Executive"
msgstr ""
@@ -3283,6 +3304,9 @@ msgstr "Export tiskáren do Samby"
msgid "Expressions:"
msgstr ""
+msgid "Extra Heavyweight Paper"
+msgstr ""
+
msgid "FAIL"
msgstr ""
@@ -3346,9 +3370,6 @@ msgstr ""
msgid "Finished page %d."
msgstr ""
-msgid "Finishing"
-msgstr ""
-
msgid "Flexo Base"
msgstr ""
@@ -3400,6 +3421,9 @@ msgstr ""
msgid "Glass Textured"
msgstr ""
+msgid "Glossy Brochure Paper"
+msgstr ""
+
msgid "Glossy Fabric"
msgstr ""
@@ -3442,6 +3466,9 @@ msgstr "Závěsná složka"
msgid "Hash buffer too small."
msgstr ""
+msgid "Heavyweight Coated Paper"
+msgstr ""
+
msgid "Heavyweight Envelope"
msgstr ""
@@ -3565,6 +3592,9 @@ msgstr ""
msgid "Inkjet Labels"
msgstr ""
+msgid "Inkjet Paper"
+msgstr ""
+
msgid "Installable Options"
msgstr "Možnosti instalace"
@@ -3840,6 +3870,12 @@ msgstr ""
msgid "Manual Feed"
msgstr "Ruční podávání"
+msgid "Matte Brochure Paper"
+msgstr ""
+
+msgid "Matte Cover Paper"
+msgstr ""
+
msgid "Matte Fabric"
msgstr ""
@@ -3888,6 +3924,9 @@ msgstr ""
msgid "Metal Semi Gloss"
msgstr ""
+msgid "Mid-Weight Paper"
+msgstr ""
+
msgid "Middle"
msgstr ""
@@ -4004,6 +4043,9 @@ msgstr ""
msgid "Multipurpose"
msgstr ""
+msgid "Multipurpose Paper"
+msgstr ""
+
msgid "My Mailbox"
msgstr ""
@@ -4031,7 +4073,7 @@ msgstr "Ne"
msgid "No Content"
msgstr "Žádný obsah"
-msgid "No Finishing"
+msgid "No IPP attributes."
msgstr ""
msgid "No PPD name"
@@ -4137,6 +4179,9 @@ msgstr "Není souvislý (Mark Sensing)"
msgid "Non-continuous (Web sensing)"
msgstr "Není souvislý (Web Sensing)"
+msgid "None"
+msgstr ""
+
msgid "Normal"
msgstr "Normální"
@@ -4172,6 +4217,9 @@ msgstr "OK"
msgid "Off (1-Sided)"
msgstr "Vypnuto (jednostranný)"
+msgid "Office Recycled Paper"
+msgstr ""
+
msgid "Oki"
msgstr "Oki"
@@ -4314,7 +4362,10 @@ msgstr "Foto-samolepky"
msgid "Photo Paper"
msgstr ""
-msgid "Photographic Archival"
+msgid "Photo Paper Plus Glossy II"
+msgstr ""
+
+msgid "Photo Paper Pro Platinum"
msgstr ""
msgid "Plain Envelope"
@@ -4380,6 +4431,15 @@ msgstr ""
msgid "Pre Cut Tabs"
msgstr ""
+msgid "Premium Inkjet Paper"
+msgstr ""
+
+msgid "Premium Photo Glossy Paper"
+msgstr ""
+
+msgid "Premium Presentation Matte Paper"
+msgstr ""
+
msgid "Preparing to print."
msgstr ""
@@ -4459,6 +4519,9 @@ msgstr ""
msgid "Printer cannot print with supplied options."
msgstr ""
+msgid "Printer does not support required IPP attributes or document formats."
+msgstr ""
+
msgid "Printer:"
msgstr "Tiskárna:"
@@ -4775,21 +4838,6 @@ msgstr ""
msgid "Statement"
msgstr "Prohlášení"
-msgid "Stationery"
-msgstr ""
-
-msgid "Stationery Archival"
-msgstr ""
-
-msgid "Stationery Cotton"
-msgstr ""
-
-msgid "Stationery Heavyweight Coated"
-msgstr ""
-
-msgid "Stationery Inkjet Paper"
-msgstr ""
-
#, c-format
msgid "Subscription #%d does not exist."
msgstr ""
diff --git a/locale/cups_de.po b/locale/cups_de.po
index fc5a151..378b406 100644
--- a/locale/cups_de.po
+++ b/locale/cups_de.po
@@ -29,7 +29,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 2.0\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-01-03 16:43-0500\n"
+"POT-Creation-Date: 2017-03-11 10:02-0500\n"
"PO-Revision-Date: 2016-09-17 18:45+0200\n"
"Last-Translator: Joachim Schwender <joachim.schwender@web.de>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -2585,6 +2585,9 @@ msgstr "Adresse"
msgid "Administration"
msgstr "Verwaltung"
+msgid "Advanced Photo Paper"
+msgstr ""
+
msgid "Alternate"
msgstr ""
@@ -2609,6 +2612,12 @@ msgstr ""
msgid "Archival Fabric"
msgstr ""
+msgid "Archival Paper"
+msgstr ""
+
+msgid "Archival Photo Paper"
+msgstr ""
+
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
msgstr "Versuch den %s Druckerstatus auf einen ungültigen %d Wert zu setzen."
@@ -2841,6 +2850,9 @@ msgstr ""
msgid "Bond Paper"
msgstr "Papier bündeln"
+msgid "Booklet"
+msgstr ""
+
msgid "Booklet Maker"
msgstr ""
@@ -2969,6 +2981,9 @@ msgstr "Kopiere Druckdaten."
msgid "Cotton Envelope"
msgstr ""
+msgid "Cotton Paper"
+msgstr ""
+
msgid "Cover"
msgstr ""
@@ -3351,6 +3366,12 @@ msgstr "Alle 9 Etiketten"
msgid "Every Label"
msgstr "Bei jedem Etikett"
+msgid "Everyday Glossy Photo Paper"
+msgstr ""
+
+msgid "Everyday Matte Paper"
+msgstr ""
+
msgid "Executive"
msgstr ""
@@ -3363,6 +3384,9 @@ msgstr "Drucker zu Samba exportieren"
msgid "Expressions:"
msgstr "Ausdrücke:"
+msgid "Extra Heavyweight Paper"
+msgstr ""
+
msgid "FAIL"
msgstr "FEHLER"
@@ -3426,9 +3450,6 @@ msgstr ""
msgid "Finished page %d."
msgstr "Seite %d fertiggestellt."
-msgid "Finishing"
-msgstr "Endverarbeitung"
-
msgid "Flexo Base"
msgstr ""
@@ -3480,6 +3501,9 @@ msgstr ""
msgid "Glass Textured"
msgstr ""
+msgid "Glossy Brochure Paper"
+msgstr ""
+
msgid "Glossy Fabric"
msgstr ""
@@ -3522,6 +3546,9 @@ msgstr "Hängeordner"
msgid "Hash buffer too small."
msgstr "Hash Puffer zu klein."
+msgid "Heavyweight Coated Paper"
+msgstr ""
+
msgid "Heavyweight Envelope"
msgstr "Schwerer Umschlag"
@@ -3645,6 +3672,9 @@ msgstr "Tintenstrahl-Umschäge"
msgid "Inkjet Labels"
msgstr "Tintenstrahl-Etiketten"
+msgid "Inkjet Paper"
+msgstr ""
+
msgid "Installable Options"
msgstr "Installationsoptionen"
@@ -3921,6 +3951,12 @@ msgstr ""
msgid "Manual Feed"
msgstr "Manuelle Papierzufuhr"
+msgid "Matte Brochure Paper"
+msgstr ""
+
+msgid "Matte Cover Paper"
+msgstr ""
+
msgid "Matte Fabric"
msgstr ""
@@ -3969,6 +4005,9 @@ msgstr ""
msgid "Metal Semi Gloss"
msgstr ""
+msgid "Mid-Weight Paper"
+msgstr ""
+
msgid "Middle"
msgstr ""
@@ -4085,6 +4124,9 @@ msgstr ""
msgid "Multipurpose"
msgstr "Mehrzweck"
+msgid "Multipurpose Paper"
+msgstr ""
+
msgid "My Mailbox"
msgstr ""
@@ -4112,8 +4154,8 @@ msgstr "Nein"
msgid "No Content"
msgstr "Kein Inhalt"
-msgid "No Finishing"
-msgstr "Keine Endverarbeitung"
+msgid "No IPP attributes."
+msgstr ""
msgid "No PPD name"
msgstr "Kein PPD Name"
@@ -4219,6 +4261,9 @@ msgstr "Nicht fortlaufend (Mark-Sensing)"
msgid "Non-continuous (Web sensing)"
msgstr "Nicht fortlaufend (Web-Sensing)"
+msgid "None"
+msgstr ""
+
msgid "Normal"
msgstr "Normal"
@@ -4256,6 +4301,9 @@ msgstr "OK"
msgid "Off (1-Sided)"
msgstr "Aus (Einseitig)"
+msgid "Office Recycled Paper"
+msgstr ""
+
msgid "Oki"
msgstr "Oki"
@@ -4398,7 +4446,10 @@ msgstr "Foto-Etiketten"
msgid "Photo Paper"
msgstr "Fotopapier"
-msgid "Photographic Archival"
+msgid "Photo Paper Plus Glossy II"
+msgstr ""
+
+msgid "Photo Paper Pro Platinum"
msgstr ""
msgid "Plain Envelope"
@@ -4464,6 +4515,15 @@ msgstr ""
msgid "Pre Cut Tabs"
msgstr ""
+msgid "Premium Inkjet Paper"
+msgstr ""
+
+msgid "Premium Photo Glossy Paper"
+msgstr ""
+
+msgid "Premium Presentation Matte Paper"
+msgstr ""
+
msgid "Preparing to print."
msgstr "Vorbereitung zum Druck."
@@ -4543,6 +4603,9 @@ msgstr "Drucker kann den Inhalt nicht drucken."
msgid "Printer cannot print with supplied options."
msgstr "Drucker kann mit den angegebenen Optionen nicht drucken."
+msgid "Printer does not support required IPP attributes or document formats."
+msgstr ""
+
msgid "Printer:"
msgstr "Drucker:"
@@ -4859,21 +4922,6 @@ msgstr "Beginne Seite %d."
msgid "Statement"
msgstr "US Statement"
-msgid "Stationery"
-msgstr ""
-
-msgid "Stationery Archival"
-msgstr ""
-
-msgid "Stationery Cotton"
-msgstr ""
-
-msgid "Stationery Heavyweight Coated"
-msgstr ""
-
-msgid "Stationery Inkjet Paper"
-msgstr ""
-
#, c-format
msgid "Subscription #%d does not exist."
msgstr "Abonnement #%d existiert nicht."
@@ -6707,12 +6755,18 @@ msgstr "variable-bindings hat unbestimmte Länge"
#~ msgid "File Folder "
#~ msgstr "Datei-Verzeichnis "
+#~ msgid "Finishing"
+#~ msgstr "Endverarbeitung"
+
#~ msgid "New Stylus Color Series"
#~ msgstr "Neue Stylus Color Serie"
#~ msgid "New Stylus Photo Series"
#~ msgstr "Neue Stylus Photo Serie"
+#~ msgid "No Finishing"
+#~ msgstr "Keine Endverarbeitung"
+
#~ msgid "Postcard Double "
#~ msgstr "Doppelpostkarte"
diff --git a/locale/cups_es.po b/locale/cups_es.po
index ddf9987..e991776 100644
--- a/locale/cups_es.po
+++ b/locale/cups_es.po
@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 2.2\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-01-03 16:43-0500\n"
+"POT-Creation-Date: 2017-03-11 10:02-0500\n"
"PO-Revision-Date: 2016-06-26 21:17+0100\n"
"Last-Translator: Juan Pablo González Riopedre <jpgriopedre@yahoo.es>\n"
"Language-Team: Spanish\n"
@@ -2776,6 +2776,9 @@ msgstr "Dirección"
msgid "Administration"
msgstr "Administración"
+msgid "Advanced Photo Paper"
+msgstr ""
+
msgid "Alternate"
msgstr "Alternativo"
@@ -2800,6 +2803,12 @@ msgstr ""
msgid "Archival Fabric"
msgstr ""
+msgid "Archival Paper"
+msgstr ""
+
+msgid "Archival Photo Paper"
+msgstr ""
+
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
msgstr ""
@@ -3034,6 +3043,9 @@ msgstr ""
msgid "Bond Paper"
msgstr "Papel de cartas"
+msgid "Booklet"
+msgstr ""
+
msgid "Booklet Maker"
msgstr "Fabricante de folleto"
@@ -3161,6 +3173,9 @@ msgstr "Copiando datos de impresión."
msgid "Cotton Envelope"
msgstr ""
+msgid "Cotton Paper"
+msgstr ""
+
msgid "Cover"
msgstr "Carátula"
@@ -3548,6 +3563,12 @@ msgstr "Cada 9 etiquetas"
msgid "Every Label"
msgstr "Cada etiqueta"
+msgid "Everyday Glossy Photo Paper"
+msgstr ""
+
+msgid "Everyday Matte Paper"
+msgstr ""
+
msgid "Executive"
msgstr "Ejecutivo"
@@ -3560,6 +3581,9 @@ msgstr "Exportar impresoras a Samba"
msgid "Expressions:"
msgstr "Expresiones:"
+msgid "Extra Heavyweight Paper"
+msgstr ""
+
msgid "FAIL"
msgstr "FALLO"
@@ -3625,9 +3649,6 @@ msgstr ""
msgid "Finished page %d."
msgstr "Acabada la página %d."
-msgid "Finishing"
-msgstr "Terminando"
-
msgid "Flexo Base"
msgstr ""
@@ -3679,6 +3700,9 @@ msgstr ""
msgid "Glass Textured"
msgstr ""
+msgid "Glossy Brochure Paper"
+msgstr ""
+
msgid "Glossy Fabric"
msgstr ""
@@ -3721,6 +3745,9 @@ msgstr "Carpeta colgante"
msgid "Hash buffer too small."
msgstr "Memoria temporal hash demasiado pequeña."
+msgid "Heavyweight Coated Paper"
+msgstr ""
+
msgid "Heavyweight Envelope"
msgstr ""
@@ -3844,6 +3871,9 @@ msgstr ""
msgid "Inkjet Labels"
msgstr ""
+msgid "Inkjet Paper"
+msgstr ""
+
msgid "Installable Options"
msgstr "Opciones instalables"
@@ -4119,6 +4149,12 @@ msgstr "Manual"
msgid "Manual Feed"
msgstr "Alimentación manual"
+msgid "Matte Brochure Paper"
+msgstr ""
+
+msgid "Matte Cover Paper"
+msgstr ""
+
msgid "Matte Fabric"
msgstr ""
@@ -4167,6 +4203,9 @@ msgstr ""
msgid "Metal Semi Gloss"
msgstr ""
+msgid "Mid-Weight Paper"
+msgstr ""
+
msgid "Middle"
msgstr "Medio"
@@ -4287,6 +4326,9 @@ msgstr ""
msgid "Multipurpose"
msgstr "Multipropósito"
+msgid "Multipurpose Paper"
+msgstr ""
+
msgid "My Mailbox"
msgstr ""
@@ -4314,8 +4356,8 @@ msgstr "No"
msgid "No Content"
msgstr "No hay contenido"
-msgid "No Finishing"
-msgstr "Sin terminar"
+msgid "No IPP attributes."
+msgstr ""
msgid "No PPD name"
msgstr "No hay nombre de PPD"
@@ -4422,6 +4464,9 @@ msgstr "No continuo (sensible a señal)"
msgid "Non-continuous (Web sensing)"
msgstr "No continuo (sensible a web)"
+msgid "None"
+msgstr ""
+
msgid "Normal"
msgstr "Normal"
@@ -4458,6 +4503,9 @@ msgstr "OK"
msgid "Off (1-Sided)"
msgstr "Desactivado (1 cara)"
+msgid "Office Recycled Paper"
+msgstr ""
+
msgid "Oki"
msgstr "Oki"
@@ -4600,7 +4648,10 @@ msgstr "Foto pequeña"
msgid "Photo Paper"
msgstr ""
-msgid "Photographic Archival"
+msgid "Photo Paper Plus Glossy II"
+msgstr ""
+
+msgid "Photo Paper Pro Platinum"
msgstr ""
msgid "Plain Envelope"
@@ -4666,6 +4717,15 @@ msgstr "Póster plegado"
msgid "Pre Cut Tabs"
msgstr ""
+msgid "Premium Inkjet Paper"
+msgstr ""
+
+msgid "Premium Photo Glossy Paper"
+msgstr ""
+
+msgid "Premium Presentation Matte Paper"
+msgstr ""
+
msgid "Preparing to print."
msgstr "Preparando la impresión."
@@ -4745,6 +4805,9 @@ msgstr "La impresora no puede imprimir el contenido suministrado."
msgid "Printer cannot print with supplied options."
msgstr "La impresora no puede imprimir con las opciones suministradas."
+msgid "Printer does not support required IPP attributes or document formats."
+msgstr ""
+
msgid "Printer:"
msgstr "Impresora:"
@@ -5061,21 +5124,6 @@ msgstr "Iniciando página %d."
msgid "Statement"
msgstr "Declaración"
-msgid "Stationery"
-msgstr ""
-
-msgid "Stationery Archival"
-msgstr ""
-
-msgid "Stationery Cotton"
-msgstr ""
-
-msgid "Stationery Heavyweight Coated"
-msgstr ""
-
-msgid "Stationery Inkjet Paper"
-msgstr ""
-
#, c-format
msgid "Subscription #%d does not exist."
msgstr "Subscripción #%d no existe."
@@ -5924,8 +5972,8 @@ msgstr "Uso: cupstestdsc [opciones] nombre_archivo.ps [... nombre_archivo.ps]"
msgid ""
"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
msgstr ""
-"Uso: cupstestppd [opciones] nombre_archivo1.ppd[.gz] [... nombre_archivoN.ppd"
-"[.gz]]"
+"Uso: cupstestppd [opciones] nombre_archivo1.ppd[.gz] [... nombre_archivoN."
+"ppd[.gz]]"
msgid ""
"Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
@@ -6947,6 +6995,9 @@ msgstr "variable-bindings usa una longitud indefinida"
#~ msgid "CD/DVD/Bluray"
#~ msgstr "CD/DVD/Bluray"
+#~ msgid "Finishing"
+#~ msgstr "Terminando"
+
#~ msgid "Glossy Photo"
#~ msgstr "Foto brillante"
@@ -6962,6 +7013,9 @@ msgstr "variable-bindings usa una longitud indefinida"
#~ msgid "Matte Photo"
#~ msgstr "Foto mate"
+#~ msgid "No Finishing"
+#~ msgstr "Sin terminar"
+
#~ msgid "Satin Photo"
#~ msgstr "Foto satinada"
diff --git a/locale/cups_fr.po b/locale/cups_fr.po
index 7aa09a1..fd4a9e3 100644
--- a/locale/cups_fr.po
+++ b/locale/cups_fr.po
@@ -29,7 +29,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.6\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-01-03 16:43-0500\n"
+"POT-Creation-Date: 2017-03-11 10:02-0500\n"
"PO-Revision-Date: 2012-12-12 11:12+0100\n"
"Last-Translator: denis meramdjougoma <dcmeram@libertysurf.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -2509,6 +2509,9 @@ msgstr "Adresse"
msgid "Administration"
msgstr "Administration"
+msgid "Advanced Photo Paper"
+msgstr ""
+
msgid "Alternate"
msgstr ""
@@ -2533,6 +2536,12 @@ msgstr ""
msgid "Archival Fabric"
msgstr ""
+msgid "Archival Paper"
+msgstr ""
+
+msgid "Archival Photo Paper"
+msgstr ""
+
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
msgstr ""
@@ -2765,6 +2774,9 @@ msgstr ""
msgid "Bond Paper"
msgstr "Papier pour titres"
+msgid "Booklet"
+msgstr ""
+
msgid "Booklet Maker"
msgstr ""
@@ -2890,6 +2902,9 @@ msgstr ""
msgid "Cotton Envelope"
msgstr ""
+msgid "Cotton Paper"
+msgstr ""
+
msgid "Cover"
msgstr ""
@@ -3268,6 +3283,12 @@ msgstr "Toutes les 9 étiquettes"
msgid "Every Label"
msgstr "Chaque étiquette"
+msgid "Everyday Glossy Photo Paper"
+msgstr ""
+
+msgid "Everyday Matte Paper"
+msgstr ""
+
msgid "Executive"
msgstr ""
@@ -3280,6 +3301,9 @@ msgstr "Exporter les imprimantes vers SAMBA"
msgid "Expressions:"
msgstr ""
+msgid "Extra Heavyweight Paper"
+msgstr ""
+
msgid "FAIL"
msgstr ""
@@ -3343,9 +3367,6 @@ msgstr ""
msgid "Finished page %d."
msgstr ""
-msgid "Finishing"
-msgstr ""
-
msgid "Flexo Base"
msgstr ""
@@ -3397,6 +3418,9 @@ msgstr ""
msgid "Glass Textured"
msgstr ""
+msgid "Glossy Brochure Paper"
+msgstr ""
+
msgid "Glossy Fabric"
msgstr ""
@@ -3439,6 +3463,9 @@ msgstr "Dossier suspendu"
msgid "Hash buffer too small."
msgstr ""
+msgid "Heavyweight Coated Paper"
+msgstr ""
+
msgid "Heavyweight Envelope"
msgstr ""
@@ -3562,6 +3589,9 @@ msgstr ""
msgid "Inkjet Labels"
msgstr ""
+msgid "Inkjet Paper"
+msgstr ""
+
msgid "Installable Options"
msgstr "Options installables"
@@ -3837,6 +3867,12 @@ msgstr ""
msgid "Manual Feed"
msgstr ""
+msgid "Matte Brochure Paper"
+msgstr ""
+
+msgid "Matte Cover Paper"
+msgstr ""
+
msgid "Matte Fabric"
msgstr ""
@@ -3885,6 +3921,9 @@ msgstr ""
msgid "Metal Semi Gloss"
msgstr ""
+msgid "Mid-Weight Paper"
+msgstr ""
+
msgid "Middle"
msgstr ""
@@ -4001,6 +4040,9 @@ msgstr ""
msgid "Multipurpose"
msgstr ""
+msgid "Multipurpose Paper"
+msgstr ""
+
msgid "My Mailbox"
msgstr ""
@@ -4028,7 +4070,7 @@ msgstr "Non"
msgid "No Content"
msgstr "Aucun contenu"
-msgid "No Finishing"
+msgid "No IPP attributes."
msgstr ""
msgid "No PPD name"
@@ -4134,6 +4176,9 @@ msgstr "Non continu (détection de marque)"
msgid "Non-continuous (Web sensing)"
msgstr "Non continu (détection Web)"
+msgid "None"
+msgstr ""
+
msgid "Normal"
msgstr "Normal"
@@ -4169,6 +4214,9 @@ msgstr "OK"
msgid "Off (1-Sided)"
msgstr "Désactivé (recto)"
+msgid "Office Recycled Paper"
+msgstr ""
+
msgid "Oki"
msgstr "Oki"
@@ -4311,7 +4359,10 @@ msgstr "Étiquettes photo"
msgid "Photo Paper"
msgstr ""
-msgid "Photographic Archival"
+msgid "Photo Paper Plus Glossy II"
+msgstr ""
+
+msgid "Photo Paper Pro Platinum"
msgstr ""
msgid "Plain Envelope"
@@ -4377,6 +4428,15 @@ msgstr ""
msgid "Pre Cut Tabs"
msgstr ""
+msgid "Premium Inkjet Paper"
+msgstr ""
+
+msgid "Premium Photo Glossy Paper"
+msgstr ""
+
+msgid "Premium Presentation Matte Paper"
+msgstr ""
+
msgid "Preparing to print."
msgstr ""
@@ -4456,6 +4516,9 @@ msgstr ""
msgid "Printer cannot print with supplied options."
msgstr ""
+msgid "Printer does not support required IPP attributes or document formats."
+msgstr ""
+
msgid "Printer:"
msgstr "Imprimante :"
@@ -4772,21 +4835,6 @@ msgstr ""
msgid "Statement"
msgstr "Déclaration"
-msgid "Stationery"
-msgstr ""
-
-msgid "Stationery Archival"
-msgstr ""
-
-msgid "Stationery Cotton"
-msgstr ""
-
-msgid "Stationery Heavyweight Coated"
-msgstr ""
-
-msgid "Stationery Inkjet Paper"
-msgstr ""
-
#, c-format
msgid "Subscription #%d does not exist."
msgstr ""
diff --git a/locale/cups_it.po b/locale/cups_it.po
index aed02ba..ea17c54 100644
--- a/locale/cups_it.po
+++ b/locale/cups_it.po
@@ -29,7 +29,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.6\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-01-03 16:43-0500\n"
+"POT-Creation-Date: 2017-03-11 10:02-0500\n"
"PO-Revision-Date: 2013-07-14 12:00+0200\n"
"Last-Translator: Giovanni Scafora <giovanni@archlinux.org>\n"
"Language-Team: Arch Linux Italian Team <giovanni@archlinux.org>\n"
@@ -2776,6 +2776,9 @@ msgstr "Indirizzo"
msgid "Administration"
msgstr "Amministrazione"
+msgid "Advanced Photo Paper"
+msgstr ""
+
msgid "Alternate"
msgstr ""
@@ -2800,6 +2803,12 @@ msgstr ""
msgid "Archival Fabric"
msgstr ""
+msgid "Archival Paper"
+msgstr ""
+
+msgid "Archival Photo Paper"
+msgstr ""
+
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
msgstr "Tentativo di impostare %s printer-state al valore non valido %d."
@@ -3032,6 +3041,9 @@ msgstr ""
msgid "Bond Paper"
msgstr "Carta per scrivere"
+msgid "Booklet"
+msgstr ""
+
msgid "Booklet Maker"
msgstr ""
@@ -3160,6 +3172,9 @@ msgstr "Copia dei dati di stampa in corso."
msgid "Cotton Envelope"
msgstr ""
+msgid "Cotton Paper"
+msgstr ""
+
msgid "Cover"
msgstr ""
@@ -3548,6 +3563,12 @@ msgstr "Ogni 9 etichette"
msgid "Every Label"
msgstr "Ogni etichetta"
+msgid "Everyday Glossy Photo Paper"
+msgstr ""
+
+msgid "Everyday Matte Paper"
+msgstr ""
+
msgid "Executive"
msgstr "Esecutivo"
@@ -3560,6 +3581,9 @@ msgstr "Esporta le stampanti per Samba"
msgid "Expressions:"
msgstr "Espressioni:"
+msgid "Extra Heavyweight Paper"
+msgstr ""
+
msgid "FAIL"
msgstr "OPERAZIONE NON RIUSCITA CORRETTAMENTE"
@@ -3625,9 +3649,6 @@ msgstr ""
msgid "Finished page %d."
msgstr "Finito pagina %d."
-msgid "Finishing"
-msgstr ""
-
msgid "Flexo Base"
msgstr ""
@@ -3679,6 +3700,9 @@ msgstr ""
msgid "Glass Textured"
msgstr ""
+msgid "Glossy Brochure Paper"
+msgstr ""
+
msgid "Glossy Fabric"
msgstr ""
@@ -3721,6 +3745,9 @@ msgstr "Directory appesa"
msgid "Hash buffer too small."
msgstr ""
+msgid "Heavyweight Coated Paper"
+msgstr ""
+
msgid "Heavyweight Envelope"
msgstr ""
@@ -3844,6 +3871,9 @@ msgstr ""
msgid "Inkjet Labels"
msgstr ""
+msgid "Inkjet Paper"
+msgstr ""
+
msgid "Installable Options"
msgstr "Opzioni installabili"
@@ -4119,6 +4149,12 @@ msgstr ""
msgid "Manual Feed"
msgstr "Alimentazione manuale"
+msgid "Matte Brochure Paper"
+msgstr ""
+
+msgid "Matte Cover Paper"
+msgstr ""
+
msgid "Matte Fabric"
msgstr ""
@@ -4167,6 +4203,9 @@ msgstr ""
msgid "Metal Semi Gloss"
msgstr ""
+msgid "Mid-Weight Paper"
+msgstr ""
+
msgid "Middle"
msgstr ""
@@ -4287,6 +4326,9 @@ msgstr ""
msgid "Multipurpose"
msgstr ""
+msgid "Multipurpose Paper"
+msgstr ""
+
msgid "My Mailbox"
msgstr ""
@@ -4314,7 +4356,7 @@ msgstr "No"
msgid "No Content"
msgstr "Nessun contenuto"
-msgid "No Finishing"
+msgid "No IPP attributes."
msgstr ""
msgid "No PPD name"
@@ -4422,6 +4464,9 @@ msgstr "Non-continuous (Mark sensing)"
msgid "Non-continuous (Web sensing)"
msgstr "Non-continuous (Web sensing)"
+msgid "None"
+msgstr ""
+
msgid "Normal"
msgstr "Normale"
@@ -4459,6 +4504,9 @@ msgstr "OK"
msgid "Off (1-Sided)"
msgstr "Off (1-Sided)"
+msgid "Office Recycled Paper"
+msgstr ""
+
msgid "Oki"
msgstr "Oki"
@@ -4601,7 +4649,10 @@ msgstr "Etichette delle foto"
msgid "Photo Paper"
msgstr ""
-msgid "Photographic Archival"
+msgid "Photo Paper Plus Glossy II"
+msgstr ""
+
+msgid "Photo Paper Pro Platinum"
msgstr ""
msgid "Plain Envelope"
@@ -4667,6 +4718,15 @@ msgstr ""
msgid "Pre Cut Tabs"
msgstr ""
+msgid "Premium Inkjet Paper"
+msgstr ""
+
+msgid "Premium Photo Glossy Paper"
+msgstr ""
+
+msgid "Premium Presentation Matte Paper"
+msgstr ""
+
msgid "Preparing to print."
msgstr "Preparazione per la stampa."
@@ -4746,6 +4806,9 @@ msgstr "La stampante non può stampare il contenuto fornito."
msgid "Printer cannot print with supplied options."
msgstr "La stampante non può stampare con le opzioni fornite."
+msgid "Printer does not support required IPP attributes or document formats."
+msgstr ""
+
msgid "Printer:"
msgstr "Stampante:"
@@ -5062,21 +5125,6 @@ msgstr "Pagina iniziale %d."
msgid "Statement"
msgstr "Rapporto"
-msgid "Stationery"
-msgstr ""
-
-msgid "Stationery Archival"
-msgstr ""
-
-msgid "Stationery Cotton"
-msgstr ""
-
-msgid "Stationery Heavyweight Coated"
-msgstr ""
-
-msgid "Stationery Inkjet Paper"
-msgstr ""
-
#, c-format
msgid "Subscription #%d does not exist."
msgstr "La sottoscrizione #%d non esiste."
diff --git a/locale/cups_ja.po b/locale/cups_ja.po
index d71ab8f..97efa92 100644
--- a/locale/cups_ja.po
+++ b/locale/cups_ja.po
@@ -28,7 +28,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 2.0\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-01-03 16:43-0500\n"
+"POT-Creation-Date: 2017-03-11 10:02-0500\n"
"PO-Revision-Date: 2014-11-15 19:27+0900\n"
"Last-Translator: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
"Language-Team: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
@@ -2735,6 +2735,9 @@ msgstr "アドレス"
msgid "Administration"
msgstr "管理"
+msgid "Advanced Photo Paper"
+msgstr ""
+
msgid "Alternate"
msgstr ""
@@ -2759,6 +2762,12 @@ msgstr ""
msgid "Archival Fabric"
msgstr ""
+msgid "Archival Paper"
+msgstr ""
+
+msgid "Archival Photo Paper"
+msgstr ""
+
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
msgstr "%s printer-state に 不正な値 %d を設定しようとしています。"
@@ -2991,6 +3000,9 @@ msgstr ""
msgid "Bond Paper"
msgstr "ボンド紙"
+msgid "Booklet"
+msgstr ""
+
msgid "Booklet Maker"
msgstr ""
@@ -3119,6 +3131,9 @@ msgstr "印刷データをコピーしています。"
msgid "Cotton Envelope"
msgstr ""
+msgid "Cotton Paper"
+msgstr ""
+
msgid "Cover"
msgstr ""
@@ -3509,6 +3524,12 @@ msgstr "9 ラベルごと"
msgid "Every Label"
msgstr "すべてのラベル"
+msgid "Everyday Glossy Photo Paper"
+msgstr ""
+
+msgid "Everyday Matte Paper"
+msgstr ""
+
msgid "Executive"
msgstr "エグゼクティブ"
@@ -3521,6 +3542,9 @@ msgstr "Samba へプリンターをエクスポート"
msgid "Expressions:"
msgstr "式:"
+msgid "Extra Heavyweight Paper"
+msgstr ""
+
msgid "FAIL"
msgstr "失敗"
@@ -3588,9 +3612,6 @@ msgstr ""
msgid "Finished page %d."
msgstr "ページ %d を終了。"
-msgid "Finishing"
-msgstr ""
-
msgid "Flexo Base"
msgstr ""
@@ -3642,6 +3663,9 @@ msgstr ""
msgid "Glass Textured"
msgstr ""
+msgid "Glossy Brochure Paper"
+msgstr ""
+
msgid "Glossy Fabric"
msgstr ""
@@ -3684,6 +3708,9 @@ msgstr "Hanging Folder"
msgid "Hash buffer too small."
msgstr ""
+msgid "Heavyweight Coated Paper"
+msgstr ""
+
msgid "Heavyweight Envelope"
msgstr ""
@@ -3807,6 +3834,9 @@ msgstr ""
msgid "Inkjet Labels"
msgstr ""
+msgid "Inkjet Paper"
+msgstr ""
+
msgid "Installable Options"
msgstr "インストール可能オプション"
@@ -4082,6 +4112,12 @@ msgstr ""
msgid "Manual Feed"
msgstr "手差し"
+msgid "Matte Brochure Paper"
+msgstr ""
+
+msgid "Matte Cover Paper"
+msgstr ""
+
msgid "Matte Fabric"
msgstr ""
@@ -4130,6 +4166,9 @@ msgstr ""
msgid "Metal Semi Gloss"
msgstr ""
+msgid "Mid-Weight Paper"
+msgstr ""
+
msgid "Middle"
msgstr ""
@@ -4250,6 +4289,9 @@ msgstr ""
msgid "Multipurpose"
msgstr ""
+msgid "Multipurpose Paper"
+msgstr ""
+
msgid "My Mailbox"
msgstr ""
@@ -4277,7 +4319,7 @@ msgstr "いいえ"
msgid "No Content"
msgstr "中身がありません"
-msgid "No Finishing"
+msgid "No IPP attributes."
msgstr ""
msgid "No PPD name"
@@ -4383,6 +4425,9 @@ msgstr "非連続です (Mark sensing)"
msgid "Non-continuous (Web sensing)"
msgstr "非連続です (Web sensing)"
+msgid "None"
+msgstr ""
+
msgid "Normal"
msgstr "標準"
@@ -4420,6 +4465,9 @@ msgstr "OK"
msgid "Off (1-Sided)"
msgstr "Off (片面)"
+msgid "Office Recycled Paper"
+msgstr ""
+
msgid "Oki"
msgstr "Oki"
@@ -4562,7 +4610,10 @@ msgstr "写真ラベル"
msgid "Photo Paper"
msgstr ""
-msgid "Photographic Archival"
+msgid "Photo Paper Plus Glossy II"
+msgstr ""
+
+msgid "Photo Paper Pro Platinum"
msgstr ""
msgid "Plain Envelope"
@@ -4628,6 +4679,15 @@ msgstr ""
msgid "Pre Cut Tabs"
msgstr ""
+msgid "Premium Inkjet Paper"
+msgstr ""
+
+msgid "Premium Photo Glossy Paper"
+msgstr ""
+
+msgid "Premium Presentation Matte Paper"
+msgstr ""
+
msgid "Preparing to print."
msgstr "印刷準備中です。"
@@ -4707,6 +4767,9 @@ msgstr "プリンターは受信した内容を印刷できませんでした。
msgid "Printer cannot print with supplied options."
msgstr "指定されたオプションではプリンターは印刷できません。"
+msgid "Printer does not support required IPP attributes or document formats."
+msgstr ""
+
msgid "Printer:"
msgstr "プリンター:"
@@ -5023,21 +5086,6 @@ msgstr "ページ %d を開始しています。"
msgid "Statement"
msgstr "記述"
-msgid "Stationery"
-msgstr ""
-
-msgid "Stationery Archival"
-msgstr ""
-
-msgid "Stationery Cotton"
-msgstr ""
-
-msgid "Stationery Heavyweight Coated"
-msgstr ""
-
-msgid "Stationery Inkjet Paper"
-msgstr ""
-
#, c-format
msgid "Subscription #%d does not exist."
msgstr "サブスクリプション番号 %d は存在しません。"
diff --git a/locale/cups_pt_BR.po b/locale/cups_pt_BR.po
index 1327c5c..da42564 100644
--- a/locale/cups_pt_BR.po
+++ b/locale/cups_pt_BR.po
@@ -40,7 +40,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 2.1.2\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-01-03 16:43-0500\n"
+"POT-Creation-Date: 2017-03-11 10:02-0500\n"
"PO-Revision-Date: 2016-01-31 16:45-0200\n"
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <traducao-cups-pt-br@googlegroups.com>\n"
@@ -2776,6 +2776,9 @@ msgstr "Endereço"
msgid "Administration"
msgstr "Administração"
+msgid "Advanced Photo Paper"
+msgstr ""
+
msgid "Alternate"
msgstr ""
@@ -2800,6 +2803,12 @@ msgstr ""
msgid "Archival Fabric"
msgstr ""
+msgid "Archival Paper"
+msgstr ""
+
+msgid "Archival Photo Paper"
+msgstr ""
+
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
msgstr ""
@@ -3033,6 +3042,9 @@ msgstr ""
msgid "Bond Paper"
msgstr "Papel autocolante"
+msgid "Booklet"
+msgstr ""
+
msgid "Booklet Maker"
msgstr ""
@@ -3161,6 +3173,9 @@ msgstr "Copiando dados de impressão."
msgid "Cotton Envelope"
msgstr ""
+msgid "Cotton Paper"
+msgstr ""
+
msgid "Cover"
msgstr ""
@@ -3548,6 +3563,12 @@ msgstr "A cada 9 etiquetas"
msgid "Every Label"
msgstr "A cada etiqueta"
+msgid "Everyday Glossy Photo Paper"
+msgstr ""
+
+msgid "Everyday Matte Paper"
+msgstr ""
+
msgid "Executive"
msgstr "Executivo"
@@ -3560,6 +3581,9 @@ msgstr "Exportar impressoras para o Samba"
msgid "Expressions:"
msgstr "Expressões:"
+msgid "Extra Heavyweight Paper"
+msgstr ""
+
msgid "FAIL"
msgstr "FALHA"
@@ -3625,9 +3649,6 @@ msgstr ""
msgid "Finished page %d."
msgstr "Terminou página %d."
-msgid "Finishing"
-msgstr ""
-
msgid "Flexo Base"
msgstr ""
@@ -3679,6 +3700,9 @@ msgstr ""
msgid "Glass Textured"
msgstr ""
+msgid "Glossy Brochure Paper"
+msgstr ""
+
msgid "Glossy Fabric"
msgstr ""
@@ -3721,6 +3745,9 @@ msgstr "Pasta suspensa"
msgid "Hash buffer too small."
msgstr ""
+msgid "Heavyweight Coated Paper"
+msgstr ""
+
msgid "Heavyweight Envelope"
msgstr ""
@@ -3844,6 +3871,9 @@ msgstr ""
msgid "Inkjet Labels"
msgstr ""
+msgid "Inkjet Paper"
+msgstr ""
+
msgid "Installable Options"
msgstr "Opções instaláveis"
@@ -4119,6 +4149,12 @@ msgstr ""
msgid "Manual Feed"
msgstr "Alimentação manual"
+msgid "Matte Brochure Paper"
+msgstr ""
+
+msgid "Matte Cover Paper"
+msgstr ""
+
msgid "Matte Fabric"
msgstr ""
@@ -4167,6 +4203,9 @@ msgstr ""
msgid "Metal Semi Gloss"
msgstr ""
+msgid "Mid-Weight Paper"
+msgstr ""
+
msgid "Middle"
msgstr ""
@@ -4287,6 +4326,9 @@ msgstr ""
msgid "Multipurpose"
msgstr ""
+msgid "Multipurpose Paper"
+msgstr ""
+
msgid "My Mailbox"
msgstr ""
@@ -4314,7 +4356,7 @@ msgstr "Não"
msgid "No Content"
msgstr "Nenhum conteúdo"
-msgid "No Finishing"
+msgid "No IPP attributes."
msgstr ""
msgid "No PPD name"
@@ -4422,6 +4464,9 @@ msgstr "Não-contíguo (Mark sensing)"
msgid "Non-continuous (Web sensing)"
msgstr "Não-contíguo (Web sensing)"
+msgid "None"
+msgstr ""
+
msgid "Normal"
msgstr "Normal"
@@ -4458,6 +4503,9 @@ msgstr "OK"
msgid "Off (1-Sided)"
msgstr "Off (1 lado)"
+msgid "Office Recycled Paper"
+msgstr ""
+
msgid "Oki"
msgstr "Oki"
@@ -4601,7 +4649,10 @@ msgstr "Foto pequena"
msgid "Photo Paper"
msgstr ""
-msgid "Photographic Archival"
+msgid "Photo Paper Plus Glossy II"
+msgstr ""
+
+msgid "Photo Paper Pro Platinum"
msgstr ""
msgid "Plain Envelope"
@@ -4667,6 +4718,15 @@ msgstr ""
msgid "Pre Cut Tabs"
msgstr ""
+msgid "Premium Inkjet Paper"
+msgstr ""
+
+msgid "Premium Photo Glossy Paper"
+msgstr ""
+
+msgid "Premium Presentation Matte Paper"
+msgstr ""
+
msgid "Preparing to print."
msgstr "Preparando para imprimir."
@@ -4746,6 +4806,9 @@ msgstr "Impressora não consegue imprimir o conteúdo fornecido."
msgid "Printer cannot print with supplied options."
msgstr "Impressora não consegue imprimir os opções fornecidas."
+msgid "Printer does not support required IPP attributes or document formats."
+msgstr ""
+
msgid "Printer:"
msgstr "Impressora:"
@@ -5062,21 +5125,6 @@ msgstr "Iniciando página %d."
msgid "Statement"
msgstr "Declaração"
-msgid "Stationery"
-msgstr ""
-
-msgid "Stationery Archival"
-msgstr ""
-
-msgid "Stationery Cotton"
-msgstr ""
-
-msgid "Stationery Heavyweight Coated"
-msgstr ""
-
-msgid "Stationery Inkjet Paper"
-msgstr ""
-
#, c-format
msgid "Subscription #%d does not exist."
msgstr "Inscrição #%d não existe."
diff --git a/locale/cups_ru.po b/locale/cups_ru.po
index 95977ef..68568e3 100644
--- a/locale/cups_ru.po
+++ b/locale/cups_ru.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 2.0\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2017-01-03 16:43-0500\n"
+"POT-Creation-Date: 2017-03-11 10:02-0500\n"
"PO-Revision-Date: 2015-01-28 12:00-0800\n"
"Last-Translator: Aleksandr Proklov\n"
"Language-Team: PuppyRus Linux Team\n"
@@ -2709,6 +2709,9 @@ msgstr "Адрес"
msgid "Administration"
msgstr "Администрирование"
+msgid "Advanced Photo Paper"
+msgstr ""
+
msgid "Alternate"
msgstr ""
@@ -2733,6 +2736,12 @@ msgstr ""
msgid "Archival Fabric"
msgstr ""
+msgid "Archival Paper"
+msgstr ""
+
+msgid "Archival Photo Paper"
+msgstr ""
+
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
msgstr "Попытка установить %s printer-state на неверное значение %d"
@@ -2965,6 +2974,9 @@ msgstr ""
msgid "Bond Paper"
msgstr "Документная бумага"
+msgid "Booklet"
+msgstr ""
+
msgid "Booklet Maker"
msgstr ""
@@ -3093,6 +3105,9 @@ msgstr "Копирование данных печати."
msgid "Cotton Envelope"
msgstr ""
+msgid "Cotton Paper"
+msgstr ""
+
msgid "Cover"
msgstr ""
@@ -3474,6 +3489,12 @@ msgstr "Каждые 9 этикеток"
msgid "Every Label"
msgstr "Каждая этикетка"
+msgid "Everyday Glossy Photo Paper"
+msgstr ""
+
+msgid "Everyday Matte Paper"
+msgstr ""
+
msgid "Executive"
msgstr "Executive"
@@ -3486,6 +3507,9 @@ msgstr "Экспортировать принтеры в Samba"
msgid "Expressions:"
msgstr "Выражение:"
+msgid "Extra Heavyweight Paper"
+msgstr ""
+
msgid "FAIL"
msgstr "FAIL"
@@ -3551,9 +3575,6 @@ msgstr ""
msgid "Finished page %d."
msgstr "Последняя страница %d."
-msgid "Finishing"
-msgstr ""
-
msgid "Flexo Base"
msgstr ""
@@ -3605,6 +3626,9 @@ msgstr ""
msgid "Glass Textured"
msgstr ""
+msgid "Glossy Brochure Paper"
+msgstr ""
+
msgid "Glossy Fabric"
msgstr ""
@@ -3647,6 +3671,9 @@ msgstr "Папка подвесного хранения"
msgid "Hash buffer too small."
msgstr ""
+msgid "Heavyweight Coated Paper"
+msgstr ""
+
msgid "Heavyweight Envelope"
msgstr ""
@@ -3770,6 +3797,9 @@ msgstr ""
msgid "Inkjet Labels"
msgstr ""
+msgid "Inkjet Paper"
+msgstr ""
+
msgid "Installable Options"
msgstr "Параметры, разрешенные к установке"
@@ -4045,6 +4075,12 @@ msgstr ""
msgid "Manual Feed"
msgstr "Ручная подача"
+msgid "Matte Brochure Paper"
+msgstr ""
+
+msgid "Matte Cover Paper"
+msgstr ""
+
msgid "Matte Fabric"
msgstr ""
@@ -4093,6 +4129,9 @@ msgstr ""
msgid "Metal Semi Gloss"
msgstr ""
+msgid "Mid-Weight Paper"
+msgstr ""
+
msgid "Middle"
msgstr ""
@@ -4213,6 +4252,9 @@ msgstr ""
msgid "Multipurpose"
msgstr ""
+msgid "Multipurpose Paper"
+msgstr ""
+
msgid "My Mailbox"
msgstr ""
@@ -4240,7 +4282,7 @@ msgstr "Нет"
msgid "No Content"
msgstr "Нет содержимого"
-msgid "No Finishing"
+msgid "No IPP attributes."
msgstr ""
msgid "No PPD name"
@@ -4347,6 +4389,9 @@ msgstr "С прерыванием (Mark sensing)"
msgid "Non-continuous (Web sensing)"
msgstr "С прерыванием (Web sensing)"
+msgid "None"
+msgstr ""
+
msgid "Normal"
msgstr "Нормальный"
@@ -4384,6 +4429,9 @@ msgstr "ОК"
msgid "Off (1-Sided)"
msgstr "Выкл. (1-сторонняя печать)"
+msgid "Office Recycled Paper"
+msgstr ""
+
msgid "Oki"
msgstr "Oki"
@@ -4526,7 +4574,10 @@ msgstr "Фотоэтикетки"
msgid "Photo Paper"
msgstr ""
-msgid "Photographic Archival"
+msgid "Photo Paper Plus Glossy II"
+msgstr ""
+
+msgid "Photo Paper Pro Platinum"
msgstr ""
msgid "Plain Envelope"
@@ -4592,6 +4643,15 @@ msgstr ""
msgid "Pre Cut Tabs"
msgstr ""
+msgid "Premium Inkjet Paper"
+msgstr ""
+
+msgid "Premium Photo Glossy Paper"
+msgstr ""
+
+msgid "Premium Presentation Matte Paper"
+msgstr ""
+
msgid "Preparing to print."
msgstr "Подготовка к печати."
@@ -4671,6 +4731,9 @@ msgstr "Принтер не может распечатать содержимо
msgid "Printer cannot print with supplied options."
msgstr "Принтер не может печатать с данными параметрами."
+msgid "Printer does not support required IPP attributes or document formats."
+msgstr ""
+
msgid "Printer:"
msgstr "Принтер:"
@@ -4988,21 +5051,6 @@ msgstr "Главная страница %d."
msgid "Statement"
msgstr "Оператор"
-msgid "Stationery"
-msgstr ""
-
-msgid "Stationery Archival"
-msgstr ""
-
-msgid "Stationery Cotton"
-msgstr ""
-
-msgid "Stationery Heavyweight Coated"
-msgstr ""
-
-msgid "Stationery Inkjet Paper"
-msgstr ""
-
#, c-format
msgid "Subscription #%d does not exist."
msgstr "Подписка #%d не существует."
diff --git a/locale/po2strings.c b/locale/po2strings.c
index 1edf146..4638275 100644
--- a/locale/po2strings.c
+++ b/locale/po2strings.c
@@ -1,7 +1,7 @@
/*
* Convert a GNU gettext .po file to an Apple .strings file.
*
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
@@ -323,30 +323,41 @@ normalize_string(const char *idstr, /* I - msgid string */
*bufptr++ = (char)0xA6;
idstr += 2;
}
- else if (!html && *idstr == '\\' && idstr[1] == '\"' && (quote || strchr(idstr + 2, '\"') != NULL))
+ else if (!html && *idstr == '\\' && idstr[1] == '\"')
{
if (quote)
{
/*
- * Convert \" to Unicode right (curley) double quote.
+ * Convert second \" to Unicode right (curley) double quote.
*/
*bufptr++ = (char)0xE2;
*bufptr++ = (char)0x80;
*bufptr++ = (char)0x9D;
+ quote = 0;
}
- else
+ else if (strchr(idstr + 2, '\"') != NULL)
{
/*
- * Convert \" to Unicode left (curley) double quote.
+ * Convert first \" to Unicode left (curley) double quote.
*/
*bufptr++ = (char)0xE2;
*bufptr++ = (char)0x80;
*bufptr++ = (char)0x9C;
+ quote = 1;
+ }
+ else
+ {
+ /*
+ * Convert lone \" to Unicode double prime.
+ */
+
+ *bufptr++ = (char)0xE2;
+ *bufptr++ = (char)0x80;
+ *bufptr++ = (char)0xB3;
}
- quote = !quote;
idstr ++;
}
else
diff --git a/man/mantohtml.c b/man/mantohtml.c
index 8632de0..bf7ba5f 100644
--- a/man/mantohtml.c
+++ b/man/mantohtml.c
@@ -1,7 +1,7 @@
/*
* Man page to HTML conversion program.
*
- * Copyright 2007-2010, 2014 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 2004-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -1153,8 +1153,11 @@ html_fputs(const char *s, /* I - String */
}
else
{
- if (*s != '\\' && *s == '\"' && *s == '\'' && *s == '-')
+ if (*s != '\\' && *s != '\"' && *s != '\'' && *s != '-')
+ {
fprintf(stderr, "mantohtml: Unrecognized escape \"\\%c\" ignored.\n", *s);
+ html_putc('\\', fp);
+ }
html_putc(*s++, fp);
}
diff --git a/packaging/cups.spec b/packaging/cups.spec
index 2afed0e..76fd06b 100644
--- a/packaging/cups.spec
+++ b/packaging/cups.spec
@@ -43,12 +43,12 @@
Summary: CUPS
Name: cups
-Version: 2.2.2
+Version: 2.2.3
Release: 0
Epoch: 1
License: GPL
Group: System Environment/Daemons
-Source: https://github.com/apple/cups/releases/download/v2.2.2/cups-2.2.2-source.tar.gz
+Source: https://github.com/apple/cups/releases/download/v2.2.3/cups-2.2.3-source.tar.gz
Url: http://www.cups.org
Packager: Anonymous <anonymous@example.com>
Vendor: Example Corp
diff --git a/scheduler/client.c b/scheduler/client.c
index 50e00be..f27decd 100644
--- a/scheduler/client.c
+++ b/scheduler/client.c
@@ -2349,17 +2349,15 @@ cupsdSendHeader(
if (auth_type == CUPSD_AUTH_BASIC)
strlcpy(auth_str, "Basic realm=\"CUPS\"", sizeof(auth_str));
-#ifdef HAVE_GSSAPI
else if (auth_type == CUPSD_AUTH_NEGOTIATE)
{
-# ifdef AF_LOCAL
+#ifdef AF_LOCAL
if (httpAddrFamily(httpGetAddress(con->http)) == AF_LOCAL)
strlcpy(auth_str, "Basic realm=\"CUPS\"", sizeof(auth_str));
else
-# endif /* AF_LOCAL */
+#endif /* AF_LOCAL */
strlcpy(auth_str, "Negotiate", sizeof(auth_str));
}
-#endif /* HAVE_GSSAPI */
if (con->best && auth_type != CUPSD_AUTH_NEGOTIATE &&
!_cups_strcasecmp(httpGetHostname(con->http, NULL, 0), "localhost"))
diff --git a/scheduler/conf.c b/scheduler/conf.c
index 3cde8bd..36f043f 100644
--- a/scheduler/conf.c
+++ b/scheduler/conf.c
@@ -1,7 +1,7 @@
/*
* Configuration routines for the CUPS scheduler.
*
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -2233,7 +2233,6 @@ parse_aaa(cupsd_location_t *loc, /* I - Location */
if (loc->level == CUPSD_AUTH_ANON)
loc->level = CUPSD_AUTH_USER;
}
-#ifdef HAVE_GSSAPI
else if (!_cups_strcasecmp(value, "negotiate"))
{
loc->type = CUPSD_AUTH_NEGOTIATE;
@@ -2241,7 +2240,6 @@ parse_aaa(cupsd_location_t *loc, /* I - Location */
if (loc->level == CUPSD_AUTH_ANON)
loc->level = CUPSD_AUTH_USER;
}
-#endif /* HAVE_GSSAPI */
else
{
cupsdLogMessage(CUPSD_LOG_WARN,
@@ -3175,10 +3173,8 @@ read_cupsd_conf(cups_file_t *fp) /* I - File to read from */
default_auth_type = CUPSD_AUTH_NONE;
else if (!_cups_strcasecmp(value, "basic"))
default_auth_type = CUPSD_AUTH_BASIC;
-#ifdef HAVE_GSSAPI
else if (!_cups_strcasecmp(value, "negotiate"))
default_auth_type = CUPSD_AUTH_NEGOTIATE;
-#endif /* HAVE_GSSAPI */
else if (!_cups_strcasecmp(value, "auto"))
default_auth_type = CUPSD_AUTH_AUTO;
else
diff --git a/scheduler/cups-driverd.cxx b/scheduler/cups-driverd.cxx
index d7d0171..9030911 100644
--- a/scheduler/cups-driverd.cxx
+++ b/scheduler/cups-driverd.cxx
@@ -2123,7 +2123,7 @@ load_ppd(const char *filename, /* I - Real filename */
if (is_direct && !is_storage)
type = PPD_TYPE_OBJECT_DIRECT;
- if (!is_direct && is_storage)
+ else if (!is_direct && is_storage)
type = PPD_TYPE_OBJECT_STORAGE;
else
type = PPD_TYPE_OBJECT_ANY;
diff --git a/scheduler/job.c b/scheduler/job.c
index 1b12fe5..7824015 100644
--- a/scheduler/job.c
+++ b/scheduler/job.c
@@ -456,6 +456,7 @@ cupsdCleanJobs(void)
else if (job->file_time && job->file_time <= curtime)
{
cupsdLogJob(job, CUPSD_LOG_DEBUG, "Removing document files.");
+ cupsdLogJob(job, CUPSD_LOG_DEBUG2, "curtime=%ld, job->file_time=%ld", (long)curtime, (long)job->file_time);
remove_job_files(job);
cupsdMarkDirty(CUPSD_DIRTY_JOBS);
@@ -1743,6 +1744,8 @@ cupsdLoadJob(cupsd_job_t *job) /* I - Job */
else
job->file_time = INT_MAX;
+ cupsdLogJob(job, CUPSD_LOG_DEBUG2, "cupsdLoadJob: job->file_time=%ld, time-at-completed=%ld, JobFiles=%d", (long)job->file_time, (long)attr->values[0].integer, JobFiles);
+
if (job->file_time < JobHistoryUpdate || !JobHistoryUpdate)
JobHistoryUpdate = job->file_time;
@@ -2742,7 +2745,7 @@ cupsdSetJobState(
job->dirty = 1;
cupsdMarkDirty(CUPSD_DIRTY_JOBS);
}
- else if (!job->printer)
+ else if (!JobHistory && !job->printer)
{
/*
* Delete the job immediately if not actively printing...
@@ -2876,12 +2879,14 @@ cupsdUpdateJobs(void)
else
job->file_time = INT_MAX;
+ cupsdLogJob(job, CUPSD_LOG_DEBUG2, "cupsdUpdateJobs: job->file_time=%ld, time-at-completed=%ld, JobFiles=%d", (long)job->file_time, (long)attr->values[0].integer, JobFiles);
+
if (job->file_time < JobHistoryUpdate || !JobHistoryUpdate)
JobHistoryUpdate = job->file_time;
}
}
- cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdUpdateAllJobs: JobHistoryUpdate=%ld",
+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdUpdateJobs: JobHistoryUpdate=%ld",
(long)JobHistoryUpdate);
}
@@ -4601,7 +4606,7 @@ set_time(cupsd_job_t *job, /* I - Job to update */
JobHistoryUpdate = job->history_time;
if (JobFiles < INT_MAX && attr)
- job->file_time = attr->values[0].integer + JobFiles;
+ job->file_time = curtime + JobFiles;
else
job->file_time = INT_MAX;
diff --git a/scheduler/main.c b/scheduler/main.c
index e18ffb0..bdb27a6 100644
--- a/scheduler/main.c
+++ b/scheduler/main.c
@@ -1,7 +1,7 @@
/*
* Main loop for the CUPS scheduler.
*
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -889,7 +889,7 @@ main(int argc, /* I - Number of command-line args */
* Write dirty config/state files...
*/
- if (DirtyCleanTime && current_time >= DirtyCleanTime)
+ if (DirtyCleanTime && current_time >= DirtyCleanTime && cupsArrayCount(Clients) == 0)
cupsdCleanDirty();
#ifdef __APPLE__
diff --git a/scheduler/printers.c b/scheduler/printers.c
index 63ca80d..e17d331 100644
--- a/scheduler/printers.c
+++ b/scheduler/printers.c
@@ -1,7 +1,7 @@
/*
* Printer routines for the CUPS scheduler.
*
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -3802,7 +3802,7 @@ load_ppd(cupsd_printer_t *p) /* I - Printer */
ipp_attribute_t *attr; /* Attribute data */
_ipp_value_t *val; /* Attribute value */
int num_finishings, /* Number of finishings */
- finishings[5]; /* finishings-supported values */
+ finishings[100]; /* finishings-supported values */
int num_qualities, /* Number of print-quality values */
qualities[3]; /* print-quality values */
int num_margins, /* Number of media-*-margin-supported values */
@@ -4584,16 +4584,74 @@ load_ppd(cupsd_printer_t *p) /* I - Printer */
if (ppdFindOption(ppd, "Collate") != NULL)
p->type |= CUPS_PRINTER_COLLATE;
- if (ppdFindOption(ppd, "StapleLocation") != NULL)
+ if (p->pc && p->pc->finishings)
{
- p->type |= CUPS_PRINTER_STAPLE;
- finishings[num_finishings++] = IPP_FINISHINGS_STAPLE;
- }
+ _pwg_finishings_t *fin; /* Current finishing value */
- if (ppdFindOption(ppd, "BindEdge") != NULL)
- {
- p->type |= CUPS_PRINTER_BIND;
- finishings[num_finishings++] = IPP_FINISHINGS_BIND;
+ for (fin = (_pwg_finishings_t *)cupsArrayFirst(p->pc->finishings); fin; fin = (_pwg_finishings_t *)cupsArrayNext(p->pc->finishings))
+ {
+ if (num_finishings < (int)(sizeof(finishings) / sizeof(finishings[0])))
+ finishings[num_finishings++] = fin->value;
+
+ switch (fin->value)
+ {
+ case IPP_FINISHINGS_BIND :
+ case IPP_FINISHINGS_BIND_LEFT :
+ case IPP_FINISHINGS_BIND_TOP :
+ case IPP_FINISHINGS_BIND_RIGHT :
+ case IPP_FINISHINGS_BIND_BOTTOM :
+ case IPP_FINISHINGS_EDGE_STITCH :
+ case IPP_FINISHINGS_EDGE_STITCH_LEFT :
+ case IPP_FINISHINGS_EDGE_STITCH_TOP :
+ case IPP_FINISHINGS_EDGE_STITCH_RIGHT :
+ case IPP_FINISHINGS_EDGE_STITCH_BOTTOM :
+ p->type |= CUPS_PRINTER_BIND;
+ break;
+
+ case IPP_FINISHINGS_COVER :
+ p->type |= CUPS_PRINTER_COVER;
+ break;
+
+ case IPP_FINISHINGS_PUNCH :
+ case IPP_FINISHINGS_PUNCH_TOP_LEFT :
+ case IPP_FINISHINGS_PUNCH_BOTTOM_LEFT :
+ case IPP_FINISHINGS_PUNCH_TOP_RIGHT :
+ case IPP_FINISHINGS_PUNCH_BOTTOM_RIGHT :
+ case IPP_FINISHINGS_PUNCH_DUAL_LEFT :
+ case IPP_FINISHINGS_PUNCH_DUAL_TOP :
+ case IPP_FINISHINGS_PUNCH_DUAL_RIGHT :
+ case IPP_FINISHINGS_PUNCH_DUAL_BOTTOM :
+ case IPP_FINISHINGS_PUNCH_TRIPLE_LEFT :
+ case IPP_FINISHINGS_PUNCH_TRIPLE_TOP :
+ case IPP_FINISHINGS_PUNCH_TRIPLE_RIGHT :
+ case IPP_FINISHINGS_PUNCH_TRIPLE_BOTTOM :
+ case IPP_FINISHINGS_PUNCH_QUAD_LEFT :
+ case IPP_FINISHINGS_PUNCH_QUAD_TOP :
+ case IPP_FINISHINGS_PUNCH_QUAD_RIGHT :
+ case IPP_FINISHINGS_PUNCH_QUAD_BOTTOM :
+ p->type |= CUPS_PRINTER_PUNCH;
+ break;
+
+ case IPP_FINISHINGS_STAPLE :
+ case IPP_FINISHINGS_STAPLE_TOP_LEFT :
+ case IPP_FINISHINGS_STAPLE_BOTTOM_LEFT :
+ case IPP_FINISHINGS_STAPLE_TOP_RIGHT :
+ case IPP_FINISHINGS_STAPLE_BOTTOM_RIGHT :
+ case IPP_FINISHINGS_STAPLE_DUAL_LEFT :
+ case IPP_FINISHINGS_STAPLE_DUAL_TOP :
+ case IPP_FINISHINGS_STAPLE_DUAL_RIGHT :
+ case IPP_FINISHINGS_STAPLE_DUAL_BOTTOM :
+ case IPP_FINISHINGS_STAPLE_TRIPLE_LEFT :
+ case IPP_FINISHINGS_STAPLE_TRIPLE_TOP :
+ case IPP_FINISHINGS_STAPLE_TRIPLE_RIGHT :
+ case IPP_FINISHINGS_STAPLE_TRIPLE_BOTTOM :
+ p->type |= CUPS_PRINTER_STAPLE;
+ break;
+
+ default :
+ break;
+ }
+ }
}
for (i = 0; i < ppd->num_sizes; i ++)
@@ -4715,13 +4773,6 @@ load_ppd(cupsd_printer_t *p) /* I - Printer */
}
/*
- * 3D printer support...
- */
-
- if (ppdFindAttr(ppd, "cups3D", NULL))
- p->type |= CUPS_PRINTER_3D;
-
- /*
* Show current and available port monitors for this printer...
*/
diff --git a/scheduler/process.c b/scheduler/process.c
index cf67e74..27e8010 100644
--- a/scheduler/process.c
+++ b/scheduler/process.c
@@ -1,7 +1,7 @@
/*
* Process management routines for the CUPS scheduler.
*
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -874,7 +874,7 @@ cupsd_requote(char *dst, /* I - Destination buffer */
if (ch == '/' && !*src)
break; /* Don't add trailing slash */
- if (strchr(".?*()[]^$\\", ch))
+ if (strchr(".?*()[]^$\\\"", ch))
*dstptr++ = '\\';
*dstptr++ = (char)ch;
diff --git a/templates/de/jobs-header.tmpl b/templates/de/jobs-header.tmpl
index 51226ab..9f2c522 100644
--- a/templates/de/jobs-header.tmpl
+++ b/templates/de/jobs-header.tmpl
@@ -2,4 +2,4 @@
{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Beendete Aufträge anzeigen"></FORM>}
{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Alle Aufträge anzeigen"></FORM>}
-<P ALIGN="CENTER">{total=0?Keine Aufträge:Zeige {#job_id} von {total} {?which_jobs=?aktiven:{which_jobs=all?:beendeten}} {total=1?Auftrag:Aufträgen}}.</P>
+<P ALIGN="CENTER">{?which_jobs=?Jobs listed in print order; held jobs appear first.:{which_jobs=Jobs listed in ascending order.?:Jobs listed in descending order.}}</P>
diff --git a/templates/es/jobs-header.tmpl b/templates/es/jobs-header.tmpl
index abb9914..d7adfd9 100644
--- a/templates/es/jobs-header.tmpl
+++ b/templates/es/jobs-header.tmpl
@@ -2,4 +2,4 @@
{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Mostrar trabajos completados"></FORM>}
{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Mostrar todos los trabajos"></FORM>}
-<P ALIGN="CENTER">{total=0?No hay trabajos:Mostrando {#job_id} de {total} trabajo{total=1?:s}{?which_jobs=? activo{total=1?:s}:{which_jobs=all?: completado{total=1?:s}}}}.</P>
+<P ALIGN="CENTER">{?which_jobs=?Jobs listed in print order; held jobs appear first.:{which_jobs=Jobs listed in ascending order.?:Jobs listed in descending order.}}</P>
diff --git a/templates/ja/jobs-header.tmpl b/templates/ja/jobs-header.tmpl
index 20b544a..7a0b14e 100644
--- a/templates/ja/jobs-header.tmpl
+++ b/templates/ja/jobs-header.tmpl
@@ -2,4 +2,4 @@
{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="完了したジョブを表示"></FORM>}
{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="すべてのジョブを表示"></FORM>}
-<P ALIGN="CENTER">{total=0?ジョブはありません:{total} 個の{?which_jobs=?アクティブな:{which_jobs=all?:完了した}}ジョブのうち {#job_id} 個を表示中}}。</P>
+<P ALIGN="CENTER">{?which_jobs=?Jobs listed in print order; held jobs appear first.:{which_jobs=Jobs listed in ascending order.?:Jobs listed in descending order.}}</P>
diff --git a/templates/jobs-header.tmpl b/templates/jobs-header.tmpl
index a8a365b..3b9a73a 100644
--- a/templates/jobs-header.tmpl
+++ b/templates/jobs-header.tmpl
@@ -2,4 +2,4 @@
{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Show Completed Jobs"></FORM>}
{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Show All Jobs"></FORM>}
-<P ALIGN="CENTER">{total=0?No jobs:Showing {#job_id} of {total} {?which_jobs=?active:{which_jobs=all?:completed}} job{total=1?:s}}.</P>
+<P ALIGN="CENTER">{?which_jobs=?Jobs listed in print order; held jobs appear first.:{which_jobs=Jobs listed in ascending order.?:Jobs listed in descending order.}}</P>
diff --git a/templates/pt_BR/jobs-header.tmpl b/templates/pt_BR/jobs-header.tmpl
index c967b33..7b97719 100644
--- a/templates/pt_BR/jobs-header.tmpl
+++ b/templates/pt_BR/jobs-header.tmpl
@@ -2,4 +2,4 @@
{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="conclu&iacute;dos"><INPUT TYPE="SUBMIT" VALUE="Mostrar trabalhos conclu&iacute;dos"></FORM>}
{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Mostrar todos trabalhos"></FORM>}
-<P ALIGN="CENTER">{total=0?Nenhum trabalho:Mostrando {#job_id} de {total} trabalho{total=1?:s}} {?which_jobs=?ativo{total<2?:s}}:{which_jobs=all?:conclu&iacute;dos}.</P>
+<P ALIGN="CENTER">{?which_jobs=?Jobs listed in print order; held jobs appear first.:{which_jobs=Jobs listed in ascending order.?:Jobs listed in descending order.}}</P>
diff --git a/templates/ru/jobs-header.tmpl b/templates/ru/jobs-header.tmpl
index 6692c44..ed68f53 100644
--- a/templates/ru/jobs-header.tmpl
+++ b/templates/ru/jobs-header.tmpl
@@ -2,4 +2,4 @@
{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Показать завершенные задания"></FORM>}
{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Показать все задания"></FORM>}
-<P ALIGN="CENTER">{total=0?Нет заданий:Задание {#job_id} из {total} {?which_jobs=?активных:{which_jobs=all?:завершенных}}}.</P>
+<P ALIGN="CENTER">{?which_jobs=?Jobs listed in print order; held jobs appear first.:{which_jobs=Jobs listed in ascending order.?:Jobs listed in descending order.}}</P>
diff --git a/vcnet/config.h b/vcnet/config.h
index b336a81..05fe9b2 100644
--- a/vcnet/config.h
+++ b/vcnet/config.h
@@ -94,8 +94,8 @@ typedef unsigned long useconds_t;
* Version of software...
*/
-#define CUPS_SVERSION "CUPS v2.2.2"
-#define CUPS_MINIMAL "CUPS/2.2.2"
+#define CUPS_SVERSION "CUPS v2.2.3"
+#define CUPS_MINIMAL "CUPS/2.2.3"
/*
diff --git a/xcode/config.h b/xcode/config.h
index 271b699..26b12a7 100644
--- a/xcode/config.h
+++ b/xcode/config.h
@@ -22,8 +22,8 @@
* Version of software...
*/
-#define CUPS_SVERSION "CUPS v2.2.2"
-#define CUPS_MINIMAL "CUPS/2.2.2"
+#define CUPS_SVERSION "CUPS v2.2.3"
+#define CUPS_MINIMAL "CUPS/2.2.3"
/*