Index: doc/help/ref-ppdcfile.html
===================================================================
--- doc/help/ref-ppdcfile.html (revision 7604)
+++ doc/help/ref-ppdcfile.html (working copy)
@@ -440,7 +440,11 @@
multiple lines, however no one line may exceed 255
characters.
+See Also
+LocAttribute
+
+
Syntax
@@ -1233,6 +1237,40 @@
in length. If no text is provided, the name is used.
+
+
+Syntax
+
+
+LocAttribute name "keyword/text" value
+
+
+Examples
+
+
+LocAttribute fooProfile "Photo/Photographic Profile" "photopro.icc"
+
+
+Description
+
+The LocAttribute
directive creates a localized PPD
+attribute. The name is any combination of letters, numbers, and the
+underscore and can be up to 40 characters in length.
+
+The selector can be the empty string (""
), a keyword
+consisting of up to 40 letters, numbers, and the underscore, or
+a string composed of a keyword and user text of up to 80
+characters.
+
+The value is any string or number; the string may contain
+multiple lines, however no one line may exceed 255
+characters.
+
+See Also
+
+Attribute
+
+
Syntax
Index: man/ppdcfile.man
===================================================================
--- man/ppdcfile.man (revision 7600)
+++ man/ppdcfile.man (working copy)
@@ -115,6 +115,8 @@
.TP 5
\fBInstallable\fR "name/text"
.TP 5
+\fBLocAttribute\fR name "keyword/text" value
+.TP 5
\fBManualCopies\fR boolean-value
.TP 5
\fBManufacturer\fR "name"
Index: CHANGES.txt
===================================================================
--- CHANGES.txt (revision 7604)
+++ CHANGES.txt (working copy)
@@ -3,6 +3,10 @@
CHANGES IN CUPS V1.4b1
+ - The PPD compiler now supports localizable attributes
+ (STR #2738)
+ - The ppdpo utility now includes cupsIPPReasons values in
+ the message catalogs it generates (STR #2754)
- The PPD compiler now supports conditional directives
(STR #2636)
- The ppdc utility now supports a "-t" option to test PPD
Index: ppdc/ppdc-driver.cxx
===================================================================
--- ppdc/ppdc-driver.cxx (revision 7598)
+++ ppdc/ppdc-driver.cxx (working copy)
@@ -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
@@ -437,11 +437,7 @@
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);
@@ -495,12 +491,7 @@
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);
@@ -1171,10 +1162,12 @@
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;
@@ -1183,7 +1176,8 @@
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);
}
Index: ppdc/ppdc-attr.cxx
===================================================================
--- ppdc/ppdc-attr.cxx (revision 7598)
+++ ppdc/ppdc-attr.cxx (working copy)
@@ -32,13 +32,15 @@
ppdcAttr::ppdcAttr(const char *n, // I - Name
const char *s, // I - Spec string
const char *t, // I - Human-readable text
- const char *v) // I - Value
+ const char *v, // I - Value
+ bool loc) // I - Localize this attribute?
: ppdcShared()
{
- name = new ppdcString(n);
- selector = new ppdcString(s);
- text = new ppdcString(t);
- value = new ppdcString(v);
+ name = new ppdcString(n);
+ selector = new ppdcString(s);
+ text = new ppdcString(t);
+ value = new ppdcString(v);
+ localizable = loc;
}
Index: ppdc/libcupsppdc.exp
===================================================================
--- ppdc/libcupsppdc.exp (revision 7598)
+++ ppdc/libcupsppdc.exp (working copy)
@@ -1,158 +0,0 @@
-__ZN10ppdcChoiceC1EPKcS1_S1_
-__ZN10ppdcChoiceC2EPKcS1_S1_
-__ZN10ppdcChoiceD0Ev
-__ZN10ppdcChoiceD1Ev
-__ZN10ppdcChoiceD2Ev
-__ZN10ppdcDriver10find_groupEPKc
-__ZN10ppdcDriver11find_optionEPKc
-__ZN10ppdcDriver11set_versionEPKc
-__ZN10ppdcDriver14set_model_nameEPKc
-__ZN10ppdcDriver14write_ppd_fileEP12_cups_file_sP11ppdcCatalogP9ppdcArrayP10ppdcSource14ppdcLineEnding
-__ZN10ppdcDriver16set_default_fontEP8ppdcFont
-__ZN10ppdcDriver16set_default_sizeEP13ppdcMediaSize
-__ZN10ppdcDriver16set_manufacturerEPKc
-__ZN10ppdcDriver16set_pc_file_nameEPKc
-__ZN10ppdcDriver20set_custom_size_codeEPKc
-__ZN10ppdcDriver9find_attrEPKcS1_
-__ZN10ppdcDriverC1EPS_
-__ZN10ppdcDriverC2EPS_
-__ZN10ppdcDriverD0Ev
-__ZN10ppdcDriverD1Ev
-__ZN10ppdcDriverD2Ev
-__ZN10ppdcFilterC1EPKcS1_i
-__ZN10ppdcFilterC2EPKcS1_i
-__ZN10ppdcFilterD0Ev
-__ZN10ppdcFilterD1Ev
-__ZN10ppdcFilterD2Ev
-__ZN10ppdcOption11find_choiceEPKc
-__ZN10ppdcOption13set_defchoiceEP10ppdcChoice
-__ZN10ppdcOptionC1E11ppdcOptTypePKcS2_14ppdcOptSectionf
-__ZN10ppdcOptionC1EPS_
-__ZN10ppdcOptionC2E11ppdcOptTypePKcS2_14ppdcOptSectionf
-__ZN10ppdcOptionC2EPS_
-__ZN10ppdcOptionD0Ev
-__ZN10ppdcOptionD1Ev
-__ZN10ppdcOptionD2Ev
-__ZN10ppdcShared3getEv
-__ZN10ppdcShared7releaseEv
-__ZN10ppdcSharedC1Ev
-__ZN10ppdcSharedC2Ev
-__ZN10ppdcSharedD0Ev
-__ZN10ppdcSharedD1Ev
-__ZN10ppdcSharedD2Ev
-__ZN10ppdcSource10get_choiceEP8ppdcFile
-__ZN10ppdcSource10get_duplexEP8ppdcFileP10ppdcDriver
-__ZN10ppdcSource10get_filterEP8ppdcFile
-__ZN10ppdcSource10get_optionEP8ppdcFileP10ppdcDriverP9ppdcGroup
-__ZN10ppdcSource10import_ppdEPKc
-__ZN10ppdcSource10write_fileEPKc
-__ZN10ppdcSource11add_includeEPKc
-__ZN10ppdcSource11find_driverEPKc
-__ZN10ppdcSource11get_booleanEP8ppdcFile
-__ZN10ppdcSource11get_genericEP8ppdcFilePKcS3_S3_
-__ZN10ppdcSource11get_integerEP8ppdcFile
-__ZN10ppdcSource11get_integerEPKc
-__ZN10ppdcSource12find_includeEPKcS1_Pci
-__ZN10ppdcSource12get_variableEP8ppdcFile
-__ZN10ppdcSource12set_variableEPKcS1_
-__ZN10ppdcSource13find_variableEPKc
-__ZN10ppdcSource14get_constraintEP8ppdcFile
-__ZN10ppdcSource14get_resolutionEP8ppdcFile
-__ZN10ppdcSource15get_color_modelEP8ppdcFile
-__ZN10ppdcSource15get_color_orderEPKc
-__ZN10ppdcSource15get_color_spaceEPKc
-__ZN10ppdcSource15get_custom_sizeEP8ppdcFile
-__ZN10ppdcSource15get_installableEP8ppdcFile
-__ZN10ppdcSource15get_measurementEP8ppdcFile
-__ZN10ppdcSource17get_color_profileEP8ppdcFile
-__ZN10ppdcSource18get_simple_profileEP8ppdcFile
-__ZN10ppdcSource6get_poEP8ppdcFile
-__ZN10ppdcSource6quotefEP12_cups_file_sPKcz
-__ZN10ppdcSource7find_poEPKc
-__ZN10ppdcSource8get_attrEP8ppdcFile
-__ZN10ppdcSource8get_fontEP8ppdcFile
-__ZN10ppdcSource8get_sizeEP8ppdcFile
-__ZN10ppdcSource9find_sizeEPKc
-__ZN10ppdcSource9get_floatEP8ppdcFile
-__ZN10ppdcSource9get_groupEP8ppdcFileP10ppdcDriver
-__ZN10ppdcSource9get_tokenEP8ppdcFilePci
-__ZN10ppdcSource9read_fileEPKc
-__ZN10ppdcSource9scan_fileEP8ppdcFileP10ppdcDriverb
-__ZN10ppdcSourceC1EPKc
-__ZN10ppdcSourceC2EPKc
-__ZN10ppdcSourceD0Ev
-__ZN10ppdcSourceD1Ev
-__ZN10ppdcSourceD2Ev
-__ZN10ppdcStringC1EPKc
-__ZN10ppdcStringC2EPKc
-__ZN10ppdcStringD0Ev
-__ZN10ppdcStringD1Ev
-__ZN10ppdcStringD2Ev
-__ZN11ppdcCatalog11add_messageEPKc
-__ZN11ppdcCatalog12find_messageEPKc
-__ZN11ppdcCatalog13load_messagesEPKc
-__ZN11ppdcCatalog13save_messagesEPKc
-__ZN11ppdcCatalogC1EPKcS1_
-__ZN11ppdcCatalogC2EPKcS1_
-__ZN11ppdcCatalogD0Ev
-__ZN11ppdcCatalogD1Ev
-__ZN11ppdcCatalogD2Ev
-__ZN11ppdcMessageC1EPKcS1_
-__ZN11ppdcMessageC2EPKcS1_
-__ZN11ppdcMessageD0Ev
-__ZN11ppdcMessageD1Ev
-__ZN11ppdcMessageD2Ev
-__ZN11ppdcProfileC1EPKcS1_ffPKf
-__ZN11ppdcProfileC2EPKcS1_ffPKf
-__ZN11ppdcProfileD0Ev
-__ZN11ppdcProfileD1Ev
-__ZN11ppdcProfileD2Ev
-__ZN12ppdcVariable9set_valueEPKc
-__ZN12ppdcVariableC1EPKcS1_
-__ZN12ppdcVariableC2EPKcS1_
-__ZN12ppdcVariableD0Ev
-__ZN12ppdcVariableD1Ev
-__ZN12ppdcVariableD2Ev
-__ZN13ppdcMediaSizeC1EPKcS1_ffffffS1_S1_
-__ZN13ppdcMediaSizeC2EPKcS1_ffffffS1_S1_
-__ZN13ppdcMediaSizeD0Ev
-__ZN13ppdcMediaSizeD1Ev
-__ZN13ppdcMediaSizeD2Ev
-__ZN14ppdcConstraintC1EPKcS1_S1_S1_
-__ZN14ppdcConstraintC2EPKcS1_S1_S1_
-__ZN14ppdcConstraintD0Ev
-__ZN14ppdcConstraintD1Ev
-__ZN14ppdcConstraintD2Ev
-__ZN8ppdcAttrC1EPKcS1_S1_S1_
-__ZN8ppdcAttrC2EPKcS1_S1_S1_
-__ZN8ppdcAttrD0Ev
-__ZN8ppdcAttrD1Ev
-__ZN8ppdcAttrD2Ev
-__ZN8ppdcFile3getEv
-__ZN8ppdcFile4peekEv
-__ZN8ppdcFileC1EPKc
-__ZN8ppdcFileC2EPKc
-__ZN8ppdcFileD1Ev
-__ZN8ppdcFileD2Ev
-__ZN8ppdcFontC1EPKcS1_S1_S1_14ppdcFontStatus
-__ZN8ppdcFontC2EPKcS1_S1_S1_14ppdcFontStatus
-__ZN8ppdcFontD0Ev
-__ZN8ppdcFontD1Ev
-__ZN8ppdcFontD2Ev
-__ZN9ppdcArray3addEP10ppdcShared
-__ZN9ppdcArray4nextEv
-__ZN9ppdcArray5firstEv
-__ZN9ppdcArray6removeEP10ppdcShared
-__ZN9ppdcArrayC1EPS_
-__ZN9ppdcArrayC2EPS_
-__ZN9ppdcArrayD0Ev
-__ZN9ppdcArrayD1Ev
-__ZN9ppdcArrayD2Ev
-__ZN9ppdcGroup11find_optionEPKc
-__ZN9ppdcGroupC1EPKcS1_
-__ZN9ppdcGroupC1EPS_
-__ZN9ppdcGroupC2EPKcS1_
-__ZN9ppdcGroupC2EPS_
-__ZN9ppdcGroupD0Ev
-__ZN9ppdcGroupD1Ev
-__ZN9ppdcGroupD2Ev
Index: ppdc/Makefile
===================================================================
--- ppdc/Makefile (revision 7598)
+++ ppdc/Makefile (working copy)
@@ -44,12 +44,8 @@
ppdc-source.o \
ppdc-string.o \
ppdc-variable.o
-LIB32OBJS = $(LIBOBJS:.o=.32.o)
-LIB64OBJS = $(LIBOBJS:.o=.64.o)
OBJS = \
$(LIBOBJS) \
- $(LIB32OBJS) \
- $(LIB64OBJS) \
drv.o \
ppdc.o \
ppdhtml.o \
@@ -58,8 +54,6 @@
ppdpo.o
LIBTARGETS = \
$(LIBCUPSPPDC) \
- $(LIB32CUPSPPDC) \
- $(LIB64CUPSPPDC) \
libcupsppdc.a \
ppdc-static
TARGETS = \
@@ -97,7 +91,6 @@
$(RM) -r ppd
$(RM) test.drv
$(RM) libcupsppdc.so libcupsppdc.sl libcupsppdc.dylib
- $(RM) -r 32bit 64bit
#
@@ -105,13 +98,7 @@
#
depend:
- touch Dependencies.tmp
- makedepend -Y -I.. -fDependencies.tmp $(OBJS:.o=.c) >/dev/null 2>&1
- $(RM) Dependencies
- cp Dependencies.tmp Dependencies
- sed -E -e '1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' Dependencies.tmp >>Dependencies
- sed -E -e '1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' Dependencies.tmp >>Dependencies
- $(RM) Dependencies.tmp
+ makedepend -Y -I.. -fDependencies $(OBJS:.o=.cxx) >/dev/null 2>&1
#
@@ -191,19 +178,7 @@
$(INSTALL_LIB) libcupsppdc.a $(LIBDIR)
$(RANLIB) $(LIBDIR)/libcupsppdc.a
-install32bit:
- echo Installing libraries in $(LIB32DIR)...
- $(INSTALL_DIR) -m 755 $(LIB32DIR)
- $(INSTALL_LIB) 32bit/libcupsppdc.so.1 $(LIB32DIR)/libcupsppdc.so.1
- $(LN) libcupsppdc.so.1 $(LIB32DIR)/libcupsppdc.so
-install64bit:
- echo Installing libraries in $(LIB64DIR)...
- $(INSTALL_DIR) -m 755 $(LIB64DIR)
- $(INSTALL_LIB) 64bit/libcupsppdc.so.1 $(LIB64DIR)/libcupsppdc.so.1
- $(LN) libcupsppdc.so.1 $(LIB64DIR)/libcupsppdc.so
-
-
#
# Uninstall...
#
@@ -233,17 +208,7 @@
$(RM) $(INCLUDEDIR)/cups/ppdc.h
-$(RMDIR) $(INCLUDEDIR)/cups
-uninstall32bit:
- $(RM) $(LIB32DIR)/libcupsppdc.so
- $(RM) $(LIB32DIR)/libcupsppdc.so.1
- -$(RMDIR) $(LIB32DIR)
-uninstall64bit:
- $(RM) $(LIB64DIR)/libcupsppdc.so
- $(RM) $(LIB64DIR)/libcupsppdc.so.1
- -$(RMDIR) $(LIB64DIR)
-
-
#
# Automatic API help files...
#
@@ -339,40 +304,15 @@
#
-# 32bit/libcupsppdc.so.1
-#
-
-32bit/libcupsppdc.so.1: $(LIB32OBJS)
- echo Linking 32-bit $@...
- -mkdir 32bit
- $(DSOXX) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBS)
- $(RM) 32bit/libcupsppdc.so
- $(LN) libcupsppdc.so.1 32bit/libcupsppdc.so
-
-
-#
-# 64bit/libcupsppdc.so.1
-#
-
-64bit/libcupsppdc.so.1: $(LIB64OBJS)
- echo Linking 64-bit $@...
- -mkdir 64bit
- $(DSOXX) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBS)
- $(RM) 64bit/libcupsppdc.so
- $(LN) libcupsppdc.so.1 64bit/libcupsppdc.so
-
-
-#
# libcupsppdc.1.dylib
#
-libcupsppdc.1.dylib: $(LIBOBJS) libcupsppdc.exp
+libcupsppdc.1.dylib: $(LIBOBJS)
echo Linking $@...
$(DSOXX) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
-install_name $(libdir)/$@ \
-current_version 1.0.0 \
-compatibility_version 1.0.0 \
- -exported_symbols_list libcupsppdc.exp \
$(LIBOBJS) $(LIBS)
$(RM) libcupsppdc.dylib
$(LN) $@ libcupsppdc.dylib
Index: ppdc/ppdpo.cxx
===================================================================
--- ppdc/ppdpo.cxx (revision 7598)
+++ ppdc/ppdpo.cxx (working copy)
@@ -3,7 +3,7 @@
//
// PPD file message catalog program for the CUPS PPD Compiler.
//
-// Copyright 2007 by Apple Inc.
+// Copyright 2007-2008 by Apple Inc.
// Copyright 2002-2005 by Easy Software Products.
//
// These coded instructions, statements, and computer programs are the
@@ -198,13 +198,21 @@
a;
a = (ppdcAttr *)d->attrs->next())
if (a->text->value && a->text->value[0] &&
- (!strncmp(a->name->value, "Custom", 6) ||
+ (a->localizable ||
+ !strncmp(a->name->value, "Custom", 6) ||
!strncmp(a->name->value, "ParamCustom", 11) ||
!strcmp(a->name->value, "APCustomColorMatchingName") ||
!strcmp(a->name->value, "APPrinterPreset") ||
!strcmp(a->name->value, "cupsICCProfile") ||
- !strcmp(a->name->value, "cupsIPPReason")))
+ !strcmp(a->name->value, "cupsIPPReason") ||
+ !strcmp(a->name->value, "cupsMarkerName")))
+ {
catalog->add_message(a->text->value);
+
+ if ((a->localizable && a->value->value[0]) ||
+ !strcmp(a->name->value, "cupsIPPReason"))
+ catalog->add_message(a->value->value);
+ }
else if (!strncmp(a->name->value, "Custom", 6) ||
!strncmp(a->name->value, "ParamCustom", 11))
catalog->add_message(a->name->value);
Index: ppdc/ppdc-source.cxx
===================================================================
--- ppdc/ppdc-source.cxx (revision 7604)
+++ ppdc/ppdc-source.cxx (working copy)
@@ -298,7 +298,8 @@
//
ppdcAttr * // O - Attribute
-ppdcSource::get_attr(ppdcFile *fp) // I - File to read
+ppdcSource::get_attr(ppdcFile *fp, // I - File to read
+ bool loc) // I - Localize this attribute?
{
char name[1024], // Name string
selector[1024], // Selector string
@@ -311,15 +312,16 @@
// Attribute name selector value
if (!get_token(fp, name, sizeof(name)))
{
- fprintf(stderr, "ppdc: Expected name after Attribute on line %d of %s!\n",
- fp->line, fp->filename);
+ fprintf(stderr, "ppdc: Expected name after %sAttribute on line %d of %s!\n",
+ loc ? "Loc" : "", fp->line, fp->filename);
return (0);
}
if (!get_token(fp, selector, sizeof(selector)))
{
- fprintf(stderr, "ppdc: Expected selector after Attribute on line %d of %s!\n",
- fp->line, fp->filename);
+ fprintf(stderr,
+ "ppdc: Expected selector after %sAttribute on line %d of %s!\n",
+ loc ? "Loc" : "", fp->line, fp->filename);
return (0);
}
@@ -328,14 +330,15 @@
if (!get_token(fp, value, sizeof(value)))
{
- fprintf(stderr, "ppdc: Expected value after Attribute on line %d of %s!\n",
- fp->line, fp->filename);
+ fprintf(stderr,
+ "ppdc: Expected value after %sAttribute on line %d of %s!\n",
+ loc ? "Loc" : "", fp->line, fp->filename);
return (0);
}
// printf("name=\"%s\", selector=\"%s\", value=\"%s\"\n", name, selector, value);
- return (new ppdcAttr(name, selector, text, value));
+ return (new ppdcAttr(name, selector, text, value, loc));
}
@@ -2555,13 +2558,14 @@
po_files->add(cat);
}
}
- else if (!strcasecmp(temp, "Attribute"))
+ else if (!strcasecmp(temp, "Attribute") ||
+ !strcasecmp(temp, "LocAttribute"))
{
ppdcAttr *a; // Attribute
// Get an attribute...
- a = get_attr(fp);
+ a = get_attr(fp, !strcasecmp(temp, "LocAttribute"));
if (a)
{
if (cond_state)
Index: ppdc/Dependencies
===================================================================
--- ppdc/Dependencies (revision 7598)
+++ ppdc/Dependencies (working copy)
@@ -1,3 +1,68 @@
# DO NOT DELETE
-# DO NOT DELETE
-# DO NOT DELETE
+
+ppdc-array.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-array.o: ../cups/versioning.h
+ppdc-attr.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-attr.o: ../cups/versioning.h
+ppdc-catalog.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-catalog.o: ../cups/versioning.h ../cups/globals.h ../cups/string.h
+ppdc-catalog.o: ../cups/http-private.h ../cups/http.h ../cups/md5.h
+ppdc-catalog.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/cups.h
+ppdc-catalog.o: ../cups/ppd.h ../cups/array.h ../cups/file.h
+ppdc-catalog.o: ../cups/language.h ../cups/i18n.h ../cups/transcode.h
+ppdc-choice.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-choice.o: ../cups/versioning.h
+ppdc-constraint.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-constraint.o: ../cups/versioning.h
+ppdc-driver.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-driver.o: ../cups/versioning.h ../cups/cups.h ../cups/ipp.h
+ppdc-driver.o: ../cups/http.h ../cups/string.h ../cups/ppd.h ../cups/array.h
+ppdc-driver.o: ../cups/file.h ../cups/language.h
+ppdc-file.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-file.o: ../cups/versioning.h
+ppdc-filter.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-filter.o: ../cups/versioning.h
+ppdc-font.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-font.o: ../cups/versioning.h
+ppdc-group.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-group.o: ../cups/versioning.h
+ppdc-import.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-import.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
+ppdc-import.o: ../cups/file.h
+ppdc-mediasize.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-mediasize.o: ../cups/versioning.h
+ppdc-message.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-message.o: ../cups/versioning.h
+ppdc-option.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-option.o: ../cups/versioning.h
+ppdc-profile.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-profile.o: ../cups/versioning.h
+ppdc-shared.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-shared.o: ../cups/versioning.h
+ppdc-source.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-source.o: ../cups/versioning.h ../cups/globals.h ../cups/string.h
+ppdc-source.o: ../cups/http-private.h ../cups/http.h ../cups/md5.h
+ppdc-source.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/cups.h
+ppdc-source.o: ../cups/ppd.h ../cups/array.h ../cups/file.h
+ppdc-source.o: ../cups/language.h ../cups/i18n.h ../cups/transcode.h
+ppdc-source.o: ../cups/raster.h ../cups/cups.h ../data/epson.h ../data/escp.h
+ppdc-source.o: ../data/hp.h ../data/label.h ../data/pcl.h
+ppdc-string.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-string.o: ../cups/versioning.h
+ppdc-variable.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc-variable.o: ../cups/versioning.h
+drv.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+drv.o: ../cups/versioning.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
+drv.o: ../cups/string.h ../cups/ppd.h ../cups/array.h ../cups/file.h
+drv.o: ../cups/language.h ../cups/dir.h
+ppdc.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdc.o: ../cups/versioning.h
+ppdhtml.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdhtml.o: ../cups/versioning.h
+ppdi.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdi.o: ../cups/versioning.h
+ppdmerge.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
+ppdmerge.o: ../cups/string.h ../cups/ppd.h ../cups/array.h ../cups/file.h
+ppdmerge.o: ../cups/language.h ../cups/array.h ../cups/string.h ../config.h
+ppdpo.o: ppdc.h ../cups/string.h ../config.h ../cups/file.h
+ppdpo.o: ../cups/versioning.h
Index: ppdc/ppdc.h
===================================================================
--- ppdc/ppdc.h (revision 7604)
+++ ppdc/ppdc.h (working copy)
@@ -180,8 +180,10 @@
*selector, // Selector string
*text, // Text string
*value; // Value string
+ bool localizable; // Should this attribute be localized?
- ppdcAttr(const char *n, const char *s, const char *t, const char *v);
+ ppdcAttr(const char *n, const char *s, const char *t, const char *v,
+ bool loc = false);
~ppdcAttr();
};
@@ -447,7 +449,7 @@
ppdcCatalog *find_po(const char *l);
ppdcMediaSize *find_size(const char *s);
ppdcVariable *find_variable(const char *n);
- ppdcAttr *get_attr(ppdcFile *fp);
+ ppdcAttr *get_attr(ppdcFile *fp, bool loc = false);
int get_boolean(ppdcFile *fp);
ppdcChoice *get_choice(ppdcFile *fp);
ppdcChoice *get_color_model(ppdcFile *fp);