summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Kramm <kramm@quiss.org>2011-11-23 16:29:05 -0800
committerMatthias Kramm <kramm@quiss.org>2011-11-23 16:29:05 -0800
commitb29affded6213a4fd53bbfbaa7d27f7685af9509 (patch)
treed3c56f8f53eb1b766de40f5cb2bfc3b9f38ef633
parente3a29eb1b88e9d6d4bc2b3e2844c4ba8581dba22 (diff)
allow for external/substituted CID fonts
-rw-r--r--lib/pdf/CharOutputDev.cc17
-rw-r--r--lib/pdf/CharOutputDev.h1
2 files changed, 16 insertions, 2 deletions
diff --git a/lib/pdf/CharOutputDev.cc b/lib/pdf/CharOutputDev.cc
index 051d1339..6620008d 100644
--- a/lib/pdf/CharOutputDev.cc
+++ b/lib/pdf/CharOutputDev.cc
@@ -157,14 +157,18 @@ char* writeOutStdFont(fontentry* f)
fi = fopen(namebuf2, "wb");
if(!fi)
return 0;
- fwrite(f->afm, 1, f->afmlen, fi);
+ int written = fwrite(f->afm, 1, f->afmlen, fi);
+ if(written<0)
+ return 0;
fclose(fi);
sprintf(namebuf2, "%s.pfb", tmpFileName);
fi = fopen(namebuf2, "wb");
if(!fi)
return 0;
- fwrite(f->pfb, 1, f->pfblen, fi);
+ written = fwrite(f->pfb, 1, f->pfblen, fi);
+ if(written<0)
+ return 0;
fclose(fi);
return strdup(namebuf2);
}
@@ -497,6 +501,15 @@ DisplayFontParam *GFXGlobalParams::getDisplayFont(GString *fontName)
}
}
+DisplayFontParam *GFXGlobalParams::getDisplayCIDFont(GString *fontName, GString *collection)
+{
+ DisplayFontParam*dfp = GlobalParams::getDisplayCIDFont(fontName, collection);
+ if(!dfp) {
+ dfp = this->getDisplayFont(fontName);
+ }
+ return dfp;
+}
+
CharOutputDev::CharOutputDev(InfoOutputDev*info, PDFDoc*doc, int*page2page, int num_pages, int x, int y, int x1, int y1, int x2, int y2)
:CommonOutputDev(info, doc, page2page, num_pages, x, y, x1, y1, x2, y2)
{
diff --git a/lib/pdf/CharOutputDev.h b/lib/pdf/CharOutputDev.h
index d22dd536..08010904 100644
--- a/lib/pdf/CharOutputDev.h
+++ b/lib/pdf/CharOutputDev.h
@@ -113,6 +113,7 @@ class GFXGlobalParams: public GlobalParams {
GFXGlobalParams();
~GFXGlobalParams();
virtual DisplayFontParam *getDisplayFont(GString *fontName);
+ virtual DisplayFontParam *getDisplayCIDFont(GString *fontName, GString *collection);
};
#endif //__charoutputdev_h__