Michael R Sweet wrote:
> Tim Waugh wrote:
>> I'm seeing a problem with the new globalized PPDs in gutenprint-5.2.2.
>> Specifically, these PPDs do not follow CUPS rule 6 for the PPD
>> In a non-English locale, using the cupsGetServerPPD() function returns a
>> globalized PPD for which the main option descriptions contain 8-bit
>> In fact this happens even for English locales, due to characters such as
> We should never be using special characters for this, however I
> suspect that is coming from one of the drivers.
> What is probably happening is that the current locale is being passed
> from CUPS to the genppd program, which is (incorrectly) using that
> locale as the default localization for the PPD files. When run as a
> CUPS driver interface program, we need to ignore the LANG setting and
> do what is requested in the URI we get.
Yes, that's it.
The idea of globalized PPDs is that a print queue has a multi-language
PPD and so several users can use it with their preferred UI language.
Therefore a PPD generator has always to emit the full globalized PPD
with all languages and not to tray to extract a single-language PPD with
the server's default locale. Currently, Gutenprint's PPD generator emits
the full globalized PPD only when the server's default locale is English
(as it is on my machine, and so I did not see the bug during the
discussion on getting globalized PPDs here on the list). In addition,
the single-language PPDs which Gutenprint genrates are broken. At first
the UTF-8 translations from the extension are moved to the place of the
standard translation strings, leaving the LanguageEncoding on
"ISOLatin1". Also the LanguageVersion is left on "English" and the
"cupsLanguages" line not removed.
But what really has to happen is that every queue gets full globalized
PPDs, regardless of the server's default language. Either CUPS should
take care of it to call the PPD generators with neutral locale ("C") or
Gutenprint's PPD generator has to ignore the locale and always to emit
fully globalized PPDs.
So Mike and Robert, one of you has to fix it.