Comment 1 for bug 1438494

Revision history for this message
cliddell (cjl) wrote :

The root problem here is that the Ubuntu package contains cidfmap mappings that provide substitutions for various CIDFonts that may not be embedded in incoming files. But the Ghostscript package does not depend on the package(s) containing those font files, so those font files are often not available.

Historically, Ghostscript has assumed that such "system level" configuration was correct, and did minimal error checking on them, thus by the time Ghostscript realises the font files are not available, it is too late to recover gracefully, and we have to error out.

The most recent Ghostscript releases are more rigorous in that area, and should cope better.

Nevertheless, it would be preferable if the fonts references in the mappings were made dependencies of the Ghostscipt package.

*Or* remove those mappings altogether, as they are much less relevant since we now have a built-in CIDFont substitution in Ghostscript, using DroidSansFallback.ttf.

A final suggestion would be to remove the mappings from the default Ghostscript package, and rely on the DroidSansFallback.ttf substitution, and move the existing mappings to a separate package which holds the mapping configuration, and depends on the packages containing the relevant font files.

I feel the last suggestion would be the most desirable, since the DroidSansFallback.ttf substitution will work work just fine for the vast majority of people, who don't need to be forced to install a load of KANJI fonts, but allows the flexibility for those who genuinely need more accurate CIDFont substitution than simply falling back to DroidSansFallback.ttf.

Finally, the "generic" mappings such as "Adobe-Identity" and "Adobe-Japan1" should be removed altogether as, except in very rare circumstances, those should all fall through to the DroidSansFallback.ttf substitution.

I can provide a complete list of those "generic" mappings if required.....

Chris