[poppler] poppler/GfxFont.cc
Jeff Muizelaar
jrmuizel at kemper.freedesktop.org
Wed Oct 3 20:07:06 PDT 2007
poppler/GfxFont.cc | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
New commits:
diff-tree 56af69787c78c2edbb69266e86a5a5b639ca6d3e (from 3d0df46908379bce1d196b9dc41153b1adb5f725)
Author: Jeff Muizelaar <jeff at infidigm.net>
Date: Wed Oct 3 23:02:25 2007 -0400
Error out if we can't find a .cidToUnicode for a known character collection
This situation was caused by the fixes for bug #11413. I'm not sure
it's the best thing to do, but it seems better.
diff --git a/poppler/GfxFont.cc b/poppler/GfxFont.cc
index f890fd7..63ac1c0 100644
--- a/poppler/GfxFont.cc
+++ b/poppler/GfxFont.cc
@@ -1221,6 +1221,25 @@ GfxCIDFont::GfxCIDFont(XRef *xref, char
// look for a user-supplied .cidToUnicode file
if (!(ctu = globalParams->getCIDToUnicode(collection))) {
+ // I'm not completely sure that this is the best thing to do
+ // but it seems to produce better results when the .cidToUnicode
+ // files from the poppler-data package are missing. At least
+ // we know that assuming the Identity mapping is definitely wrong.
+ // -- jrmuizel
+ static const char * knownCollections [] = {
+ "Adobe-CNS1",
+ "Adobe-GB1",
+ "Adobe-Japan1",
+ "Adobe-Japan2",
+ "Adobe-Korea1",
+ };
+ for (size_t i = 0; i < sizeof(knownCollections)/sizeof(knownCollections[0]); i++) {
+ if (collection->cmp(knownCollections[i])) {
+ error(-1, "Missing language pack for '%s' mapping", collection->getCString());
+ delete collection;
+ goto err2;
+ }
+ }
error(-1, "Unknown character collection '%s'",
collection->getCString());
// fall-through, assuming the Identity mapping -- this appears
More information about the poppler
mailing list