summaryrefslogtreecommitdiff
path: root/ppdc/ppdc-driver.cxx
diff options
context:
space:
mode:
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2008-05-21 01:15:17 +0000
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2008-05-21 01:15:17 +0000
commitbdd6c45b5e42206a5add7bf770196531dd8ad811 (patch)
tree0c0c794dd8f5da9ab0bf589b2cb9fd2a7e0778ca /ppdc/ppdc-driver.cxx
parent20fbc9034781e607f8063453c8a52ec73fc5c293 (diff)
downloadcups-bdd6c45b5e42206a5add7bf770196531dd8ad811.tar.gz
Merge changes from CUPS 1.4svn-r7607.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@784 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'ppdc/ppdc-driver.cxx')
-rw-r--r--ppdc/ppdc-driver.cxx65
1 files changed, 39 insertions, 26 deletions
diff --git a/ppdc/ppdc-driver.cxx b/ppdc/ppdc-driver.cxx
index d59b275a1..a369ed686 100644
--- a/ppdc/ppdc-driver.cxx
+++ b/ppdc/ppdc-driver.cxx
@@ -3,7 +3,7 @@
//
// PPD file compiler definitions for the CUPS PPD Compiler.
//
-// Copyright 2007 by Apple Inc.
+// Copyright 2007-2008 by Apple Inc.
// Copyright 2002-2006 by Easy Software Products.
//
// These coded instructions, statements, and computer programs are the
@@ -20,6 +20,7 @@
// ppdcDriver::find_group() - Find a group.
// ppdcDriver::find_option() - Find an option.
// ppdcDriver::set_default_size() - Set the default size name.
+// ppdcDriver::set_file_name() - Set the full filename.
// ppdcDriver::set_manufacturer() - Set the manufacturer name.
// ppdcDriver::set_model_name() - Set the model name.
// ppdcDriver::set_pc_file_name() - Set the PC filename.
@@ -62,6 +63,7 @@ ppdcDriver::ppdcDriver(ppdcDriver *d) // I - Printer driver template
copyright = new ppdcArray(d->copyright);
manufacturer = d->manufacturer;
model_name = 0;
+ file_name = 0;
pc_file_name = 0;
type = d->type;
version = d->version;
@@ -101,6 +103,7 @@ ppdcDriver::ppdcDriver(ppdcDriver *d) // I - Printer driver template
copyright = new ppdcArray();
manufacturer = 0;
model_name = 0;
+ file_name = 0;
pc_file_name = 0;
version = 0;
type = PPDC_DRIVER_CUSTOM;
@@ -143,6 +146,8 @@ ppdcDriver::~ppdcDriver()
manufacturer->release();
if (model_name)
model_name->release();
+ if (file_name)
+ file_name->release();
if (pc_file_name)
pc_file_name->release();
if (version)
@@ -228,8 +233,8 @@ ppdcDriver::find_option(const char *n) // I - Option name
//
void
-ppdcDriver::set_custom_size_code(const char *c)
- // I - CustomPageSize code
+ppdcDriver::set_custom_size_code(
+ const char *c) // I - CustomPageSize code
{
if (custom_size_code)
custom_size_code->release();
@@ -243,8 +248,8 @@ ppdcDriver::set_custom_size_code(const char *c)
//
void
-ppdcDriver::set_default_font(ppdcFont *f)
- // I - Font
+ppdcDriver::set_default_font(
+ ppdcFont *f) // I - Font
{
if (default_font)
default_font->release();
@@ -264,8 +269,8 @@ ppdcDriver::set_default_font(ppdcFont *f)
//
void
-ppdcDriver::set_default_size(ppdcMediaSize *m)
- // I - Media size
+ppdcDriver::set_default_size(
+ ppdcMediaSize *m) // I - Media size
{
if (default_size)
default_size->release();
@@ -281,12 +286,26 @@ ppdcDriver::set_default_size(ppdcMediaSize *m)
//
+// 'ppdcDriver::set_file_name()' - Set the full filename.
+//
+
+void
+ppdcDriver::set_file_name(const char *f)// I - Filename
+{
+ if (file_name)
+ file_name->release();
+
+ file_name = new ppdcString(f);
+}
+
+
+//
// 'ppdcDriver::set_manufacturer()' - Set the manufacturer name.
//
void
-ppdcDriver::set_manufacturer(const char *m)
- // I - Model name
+ppdcDriver::set_manufacturer(
+ const char *m) // I - Model name
{
if (manufacturer)
manufacturer->release();
@@ -300,8 +319,8 @@ ppdcDriver::set_manufacturer(const char *m)
//
void
-ppdcDriver::set_model_name(const char *m)
- // I - Model name
+ppdcDriver::set_model_name(
+ const char *m) // I - Model name
{
if (model_name)
model_name->release();
@@ -315,8 +334,8 @@ ppdcDriver::set_model_name(const char *m)
//
void
-ppdcDriver::set_pc_file_name(const char *f)
- // I - Filename
+ppdcDriver::set_pc_file_name(
+ const char *f) // I - Filename
{
if (pc_file_name)
pc_file_name->release();
@@ -418,11 +437,7 @@ ppdcDriver::write_ppd_file(
cupsFilePrintf(fp, "*Product: \"%s\"%s", a->value->value, lf);
}
else
- {
- cupsFilePrintf(fp, "*Product: \"(ESP Ghostscript)\"%s", lf);
- cupsFilePrintf(fp, "*Product: \"(GPL Ghostscript)\"%s", lf);
- cupsFilePrintf(fp, "*Product: \"(GNU Ghostscript)\"%s", lf);
- }
+ cupsFilePrintf(fp, "*Product: \"(%s)\"%s", model_name->value, lf);
cupsFilePrintf(fp, "*Manufacturer: \"%s\"%s",
catalog->find_message(manufacturer->value), lf);
@@ -476,12 +491,7 @@ ppdcDriver::write_ppd_file(
cupsFilePrintf(fp, "*PSVersion: \"%s\"%s", a->value->value, lf);
}
else
- {
- cupsFilePrintf(fp, "*PSVersion: \"(3010.000) 705\"%s", lf);
- cupsFilePrintf(fp, "*PSVersion: \"(3010.000) 707\"%s", lf);
- cupsFilePrintf(fp, "*PSVersion: \"(3010.000) 815\"%s", lf);
- cupsFilePrintf(fp, "*PSVersion: \"(3010.000) 853\"%s", lf);
- }
+ cupsFilePrintf(fp, "*PSVersion: \"(3010.000) 0\"%s", lf);
if ((a = find_attr("LanguageLevel", NULL)) != NULL)
cupsFilePrintf(fp, "*LanguageLevel: \"%s\"%s", a->value->value, lf);
@@ -1152,10 +1162,12 @@ ppdcDriver::write_ppd_file(
strncmp(a->name->value, "ParamCustom", 11))
continue;
- if (strcmp(a->name->value, "APCustomColorMatchingName") &&
+ if (!a->localizable &&
+ strcmp(a->name->value, "APCustomColorMatchingName") &&
strcmp(a->name->value, "APPrinterPreset") &&
strcmp(a->name->value, "cupsICCProfile") &&
strcmp(a->name->value, "cupsIPPReason") &&
+ strcmp(a->name->value, "cupsMarkerName") &&
strncmp(a->name->value, "Custom", 6) &&
strncmp(a->name->value, "ParamCustom", 11))
continue;
@@ -1164,7 +1176,8 @@ ppdcDriver::write_ppd_file(
a->name->value, a->selector->value,
locatalog->find_message(a->text && a->text->value ?
a->text->value : a->name->value),
- !strcmp(a->name->value, "cupsIPPReason") ?
+ ((a->localizable && a->value->value[0]) ||
+ !strcmp(a->name->value, "cupsIPPReason")) ?
locatalog->find_message(a->value->value) : "",
lf);
}