diff options
author | Roger Leigh <rleigh@debian.org> | 2009-01-04 18:17:34 +0000 |
---|---|---|
committer | Roger Leigh <rleigh@debian.org> | 2009-01-04 18:17:34 +0000 |
commit | a68ece422e0be1a0101dae2fa2408ef0e533c2e9 (patch) | |
tree | 5d93ef65025dd086862fed887902ebaddc3d3291 /src/cups | |
parent | 15fd5cc391273464beef576568675599633a9827 (diff) |
Imported Upstream version 5.2.3
Diffstat (limited to 'src/cups')
-rw-r--r-- | src/cups/genppd.c | 42 | ||||
-rwxr-xr-x | src/cups/test-rastertogutenprint.in | 8 |
2 files changed, 28 insertions, 22 deletions
diff --git a/src/cups/genppd.c b/src/cups/genppd.c index 2325fbd..580c59c 100644 --- a/src/cups/genppd.c +++ b/src/cups/genppd.c @@ -1,5 +1,5 @@ /* - * "$Id: genppd.c,v 1.170 2008/09/25 23:41:00 rlk Exp $" + * "$Id: genppd.c,v 1.171 2008/12/05 03:27:20 easysw Exp $" * * PPD file generation program for the CUPS drivers. * @@ -200,6 +200,13 @@ int /* O - Exit status */ main(int argc, /* I - Number of command-line arguments */ char *argv[]) /* I - Command-line arguments */ { + /* + * Force POSIX locale, since stp_init incorrectly calls setlocale... + */ + + putenv((char *)"LANG=C"); + putenv((char *)"LC_ALL=C"); + putenv((char *)"LC_NUMERIC=C"); /* * Initialise libgutenprint @@ -893,6 +900,7 @@ write_ppd( min_height, max_width, max_height; + char dimstr[255]; /* Dimension string */ stp_parameter_t desc; stp_parameter_list_t param_list; const stp_param_string_t *opt; @@ -1794,13 +1802,10 @@ write_ppd( for (i = desc.bounds.dimension.lower; i <= desc.bounds.dimension.upper; i++) { - /* FIXME - * For now, just use mm; we'll fix it later - * for the locale-appropriate setting. - * --rlk 20040818 - */ - gzprintf(fp, "*Stp%s %d/%.1f mm: \"\"\n", - desc.name, i, ((double) i) * 25.4 / 72); + snprintf(dimstr, sizeof(dimstr), _("%.1f mm"), + (double)i * 25.4 / 72.0); + gzprintf(fp, "*Stp%s %d/%s: \"\"\n", + desc.name, i, dimstr); } print_close_ui = 0; @@ -2197,19 +2202,14 @@ write_ppd( if (!desc.is_mandatory) gzprintf(fp, "*%s.Stp%s %s/%s: \"\"\n", lang, desc.name, "None", _("None")); - if (localize_numbers) + /* Unlike the other fields, dimensions are not strictly numbers */ + for (i = desc.bounds.dimension.lower; + i <= desc.bounds.dimension.upper; i++) { - for (i = desc.bounds.dimension.lower; - i <= desc.bounds.dimension.upper; i++) - { - /* FIXME - * For now, just use mm; we'll fix it later - * for the locale-appropriate setting. - * --rlk 20040818 - */ - gzprintf(fp, "*%s.Stp%s %d/%.1f mm: \"\"\n", lang, - desc.name, i, ((double) i) * 25.4 / 72); - } + snprintf(dimstr, sizeof(dimstr), _("%.1f mm"), + (double)i * 25.4 / 72.0); + gzprintf(fp, "*%s.Stp%s %d/%s: \"\"\n", lang, + desc.name, i, dimstr); } gzprintf(fp, "*%s.ParamCustomStp%s Value/%s: \"\"\n", lang, desc.name, _("Value")); @@ -2320,5 +2320,5 @@ write_ppd( /* - * End of "$Id: genppd.c,v 1.170 2008/09/25 23:41:00 rlk Exp $". + * End of "$Id: genppd.c,v 1.171 2008/12/05 03:27:20 easysw Exp $". */ diff --git a/src/cups/test-rastertogutenprint.in b/src/cups/test-rastertogutenprint.in index 40e7b49..97ae27d 100755 --- a/src/cups/test-rastertogutenprint.in +++ b/src/cups/test-rastertogutenprint.in @@ -64,7 +64,7 @@ fi version="@GUTENPRINT_MAJOR_VERSION@.@GUTENPRINT_MINOR_VERSION@"; cupsdir="@cups_conf_serverbin@/filter" -if [ -x "$cupsdir/pstoraster" ] ; then +if [ -x "$cupsdir/pstoraster" -o -x "$cupsdir/cgpdftoraster" ] ; then pages='page-ranges=24-26 ' else pages='' @@ -84,6 +84,10 @@ cleanup() { pdftops="`type -p pdftops`" +if [ ! -n "$pdftops" -o ! -x "$pdftops" ] ; then + pdftops="`whence pdftops`" +fi + if [ -n "$pdftops" -a ! -x "$cupsdir/cgpdftoraster" ] ; then tfile=`mktemp` trap cleanup 1 2 3 6 14 15 30 @@ -185,6 +189,8 @@ get_ppds() { if [ -n "$make_ppds" -o ! -d ppd/C ] ; then make ppd-nonls +## Not all systems can work with gzipped PPDs + find ppd/C -name '*.ppd.gz' | xargs gunzip -f fi do_output() { |