qt4/src/poppler-ps-converter.cc | 16 ++++++++++++++-- qt4/src/poppler-qt4.h | 10 ++++++++++ splash/SplashFTFont.cc | 4 ---- 3 files changed, 24 insertions(+), 6 deletions(-)
New commits: commit 0b3b2ebc3930bd46fb13fb2158fc695b0962f7c5 Author: Albert Astals Cid <[email protected]> Date: Sat Oct 16 15:09:05 2010 +0100 Add a callback to know which page has been printed diff --git a/qt4/src/poppler-ps-converter.cc b/qt4/src/poppler-ps-converter.cc index 7a1957b..f39673d 100644 --- a/qt4/src/poppler-ps-converter.cc +++ b/qt4/src/poppler-ps-converter.cc @@ -1,5 +1,5 @@ /* poppler-ps-converter.cc: qt interface to poppler - * Copyright (C) 2007, 2009, Albert Astals Cid <[email protected]> + * Copyright (C) 2007, 2009, 2010, Albert Astals Cid <[email protected]> * Copyright (C) 2008, Pino Toscano <[email protected]> * * This program is free software; you can redistribute it and/or modify @@ -48,13 +48,16 @@ class PSConverterPrivate : public BaseConverterPrivate int marginLeft; int marginTop; PSConverter::PSOptions opts; + void (* pageConvertedCallback)(int page, void *payload); + void *pageConvertedPayload; }; PSConverterPrivate::PSConverterPrivate() : BaseConverterPrivate(), hDPI(72), vDPI(72), rotate(0), paperWidth(-1), paperHeight(-1), marginRight(0), marginBottom(0), marginLeft(0), marginTop(0), - opts(PSConverter::Printing) + opts(PSConverter::Printing), pageConvertedCallback(0), + pageConvertedPayload(0) { } @@ -166,6 +169,13 @@ PSConverter::PSOptions PSConverter::psOptions() const return d->opts; } +void PSConverter::setPageConvertedCallback(void (* callback)(int page, void *payload), void *payload) +{ + Q_D(PSConverter); + d->pageConvertedCallback = callback; + d->pageConvertedPayload = payload; +} + bool PSConverter::convert() { Q_D(PSConverter); @@ -222,6 +232,8 @@ bool PSConverter::convert() foreach(int page, d->pageList) { d->document->doc->displayPage(psOut, page, d->hDPI, d->vDPI, d->rotate, gFalse, gTrue, isPrinting); + if (d->pageConvertedCallback) + (*d->pageConvertedCallback)(page, d->pageConvertedPayload); } delete psOut; d->closeDevice(); diff --git a/qt4/src/poppler-qt4.h b/qt4/src/poppler-qt4.h index 8a79a2a..d742973 100644 --- a/qt4/src/poppler-qt4.h +++ b/qt4/src/poppler-qt4.h @@ -1411,6 +1411,7 @@ height = dummy.height(); \since 0.10 */ void setPSOptions(PSOptions options); + /** The currently set options for the PS export. @@ -1420,6 +1421,15 @@ height = dummy.height(); */ PSOptions psOptions() const; + /** + Sets a function that will be called each time a page is converted. + + The payload belongs to the caller. + + \since 0.16 + */ + void setPageConvertedCallback(void (* callback)(int page, void *payload), void *payload); + bool convert(); private: commit 4bd25223c4d15dfa91965a6e86eaa444a5a81f71 Author: Albert Astals Cid <[email protected]> Date: Sat Oct 16 15:08:05 2010 +0100 Do not omit this character Mimics Cairo backend and Adode Reader behaviour diff --git a/splash/SplashFTFont.cc b/splash/SplashFTFont.cc index 9dd0c9c..4516297 100644 --- a/splash/SplashFTFont.cc +++ b/splash/SplashFTFont.cc @@ -199,10 +199,6 @@ GBool SplashFTFont::makeGlyph(int c, int xFrac, int yFrac, } else { gid = (FT_UInt)c; } - if (ff->trueType && gid == 0) { - // skip the TrueType notdef glyph - return gFalse; - } if (FT_Load_Glyph(ff->face, gid, getFTLoadFlags(aa, enableFreeTypeHinting))) { return gFalse; _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
