diff options
author | Matthias Kramm <kramm@quiss.org> | 2011-11-23 16:29:05 -0800 |
---|---|---|
committer | Matthias Kramm <kramm@quiss.org> | 2011-11-23 16:29:05 -0800 |
commit | b29affded6213a4fd53bbfbaa7d27f7685af9509 (patch) | |
tree | d3c56f8f53eb1b766de40f5cb2bfc3b9f38ef633 /lib/pdf | |
parent | e3a29eb1b88e9d6d4bc2b3e2844c4ba8581dba22 (diff) |
allow for external/substituted CID fonts
Diffstat (limited to 'lib/pdf')
-rw-r--r-- | lib/pdf/CharOutputDev.cc | 17 | ||||
-rw-r--r-- | lib/pdf/CharOutputDev.h | 1 |
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__ |