[poppler] cpp/poppler-page-renderer.cpp poppler/GlobalParams.cc poppler/GlobalParams.h poppler/PSOutputDev.cc poppler/PSOutputDev.h poppler/SplashOutputDev.cc poppler/SplashOutputDev.h qt4/src qt5/src utils/pdftohtml.cc utils/pdftoppm.cc utils/pdftops.cc
Albert Astals Cid
aacid at kemper.freedesktop.org
Wed Jan 14 14:29:17 PST 2015
cpp/poppler-page-renderer.cpp | 5 ++-
poppler/GlobalParams.cc | 58 +-----------------------------------------
poppler/GlobalParams.h | 16 ++---------
poppler/PSOutputDev.cc | 14 +++++-----
poppler/PSOutputDev.h | 5 ++-
poppler/SplashOutputDev.cc | 19 +++++--------
poppler/SplashOutputDev.h | 11 +++++--
qt4/src/poppler-page.cc | 7 ++---
qt5/src/poppler-page.cc | 7 ++---
utils/pdftohtml.cc | 9 ++----
utils/pdftoppm.cc | 49 ++++++++++++++++++++++++++---------
utils/pdftops.cc | 14 +++++++++-
12 files changed, 96 insertions(+), 118 deletions(-)
New commits:
commit 6b072500b5ac936631be6b29b7d5a591848a18f3
Author: William Bader <williambader at hotmail.com>
Date: Wed Jan 14 23:28:03 2015 +0100
Add rasterization option to pdftops
Also removes GlobalParams stuff \o/
Coded in conjuntion with Albert
Bug #85934
diff --git a/cpp/poppler-page-renderer.cpp b/cpp/poppler-page-renderer.cpp
index 1317192..4c64684 100644
--- a/cpp/poppler-page-renderer.cpp
+++ b/cpp/poppler-page-renderer.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2010, Pino Toscano <pino at kde.org>
+ * Copyright (C) 2015 William Bader <williambader at hotmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -171,8 +172,8 @@ image page_renderer::render_page(const page *p,
bgColor[0] = d->paper_color & 0xff;
bgColor[1] = (d->paper_color >> 8) & 0xff;
bgColor[2] = (d->paper_color >> 16) & 0xff;
- const GBool text_AA = d->hints & text_antialiasing ? gTrue : gFalse;
- SplashOutputDev splashOutputDev(splashModeXBGR8, 4, gFalse, bgColor, gTrue, text_AA);
+ SplashOutputDev splashOutputDev(splashModeXBGR8, 4, gFalse, bgColor, gTrue);
+ splashOutputDev.setFontAntialias(d->hints & text_antialiasing ? gTrue : gFalse);
splashOutputDev.setVectorAntialias(d->hints & antialiasing ? gTrue : gFalse);
splashOutputDev.setFreeTypeHinting(d->hints & text_hinting ? gTrue : gFalse, gFalse);
splashOutputDev.startDoc(pdfdoc);
diff --git a/poppler/GlobalParams.cc b/poppler/GlobalParams.cc
index 3d88646..b73ebb6 100644
--- a/poppler/GlobalParams.cc
+++ b/poppler/GlobalParams.cc
@@ -15,7 +15,7 @@
//
// Copyright (C) 2005 Martin Kretzschmar <martink at gnome.org>
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005, 2007-2010, 2012 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2007-2010, 2012, 2015 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2005 Jonathan Blandford <jrb at redhat.com>
// Copyright (C) 2006, 2007 Jeff Muizelaar <jeff at infidigm.net>
// Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
@@ -23,7 +23,7 @@
// Copyright (C) 2007 Krzysztof Kowalczyk <kkowalczyk at gmail.com>
// Copyright (C) 2007, 2009 Jonathan Kew <jonathan_kew at sil.org>
// Copyright (C) 2009 Petr Gajdos <pgajdos at novell.com>
-// Copyright (C) 2009, 2011, 2012 William Bader <williambader at hotmail.com>
+// Copyright (C) 2009, 2011, 2012, 2015 William Bader <williambader at hotmail.com>
// Copyright (C) 2009 Kovid Goyal <kovid at kovidgoyal.net>
// Copyright (C) 2010, 2012 Hib Eris <hib at hiberis.nl>
// Copyright (C) 2010 Patrick Spendrin <ps_ml at gmx.de>
@@ -620,9 +620,6 @@ GlobalParams::GlobalParams(const char *customPopplerDataDir)
textPageBreaks = gTrue;
textKeepTinyChars = gFalse;
enableFreeType = gTrue;
- antialias = gTrue;
- vectorAntialias = gTrue;
- antialiasPrinting = gFalse;
strokeAdjust = gTrue;
screenType = screenUnset;
screenSize = -1;
@@ -1701,33 +1698,6 @@ GBool GlobalParams::getEnableFreeType() {
return f;
}
-GBool GlobalParams::getAntialias() {
- GBool f;
-
- lockGlobalParams;
- f = antialias;
- unlockGlobalParams;
- return f;
-}
-
-GBool GlobalParams::getVectorAntialias() {
- GBool f;
-
- lockGlobalParams;
- f = vectorAntialias;
- unlockGlobalParams;
- return f;
-}
-
-GBool GlobalParams::getAntialiasPrinting() {
- GBool f;
-
- lockGlobalParams;
- f = antialiasPrinting;
- unlockGlobalParams;
- return f;
-}
-
GBool GlobalParams::getStrokeAdjust() {
GBool f;
@@ -2098,30 +2068,6 @@ GBool GlobalParams::setDisableFreeTypeHinting(char *s) {
return ok;
}
-GBool GlobalParams::setAntialias(char *s) {
- GBool ok;
-
- lockGlobalParams;
- ok = parseYesNo2(s, &antialias);
- unlockGlobalParams;
- return ok;
-}
-
-GBool GlobalParams::setVectorAntialias(char *s) {
- GBool ok;
-
- lockGlobalParams;
- ok = parseYesNo2(s, &vectorAntialias);
- unlockGlobalParams;
- return ok;
-}
-
-void GlobalParams::setAntialiasPrinting(GBool anti) {
- lockGlobalParams;
- antialiasPrinting = anti;
- unlockGlobalParams;
-}
-
void GlobalParams::setStrokeAdjust(GBool adjust)
{
lockGlobalParams;
diff --git a/poppler/GlobalParams.h b/poppler/GlobalParams.h
index c33a802..f670641 100644
--- a/poppler/GlobalParams.h
+++ b/poppler/GlobalParams.h
@@ -13,14 +13,14 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2005, 2007-2010, 2012 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2007-2010, 2012, 2015 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2005 Jonathan Blandford <jrb at redhat.com>
// Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
// Copyright (C) 2006 Kristian Høgsberg <krh at redhat.com>
// Copyright (C) 2007 Krzysztof Kowalczyk <kkowalczyk at gmail.com>
// Copyright (C) 2009 Jonathan Kew <jonathan_kew at sil.org>
// Copyright (C) 2009 Petr Gajdos <pgajdos at novell.com>
-// Copyright (C) 2009, 2011, 2012 William Bader <williambader at hotmail.com>
+// Copyright (C) 2009, 2011, 2012, 2014, 2015 William Bader <williambader at hotmail.com>
// Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
// Copyright (C) 2011 Pino Toscano <pino at kde.org>
// Copyright (C) 2012 Adrian Johnson <ajohnson at redneon.com>
@@ -183,9 +183,6 @@ public:
GBool getTextPageBreaks();
GBool getTextKeepTinyChars();
GBool getEnableFreeType();
- GBool getAntialias();
- GBool getVectorAntialias();
- GBool getAntialiasPrinting();
GBool getStrokeAdjust();
ScreenType getScreenType();
int getScreenSize();
@@ -238,9 +235,6 @@ public:
void setTextKeepTinyChars(GBool keep);
GBool setEnableFreeType(char *s);
GBool setDisableFreeTypeHinting(char *s);
- GBool setAntialias(char *s);
- GBool setVectorAntialias(char *s);
- void setAntialiasPrinting(GBool print);
void setStrokeAdjust(GBool strokeAdjust);
void setScreenType(ScreenType st);
void setScreenSize(int size);
@@ -256,6 +250,8 @@ public:
void setProfileCommands(GBool profileCommandsA);
void setErrQuiet(GBool errQuietA);
+ static GBool parseYesNo2(const char *token, GBool *flag);
+
//----- security handlers
void addSecurityHandler(XpdfSecurityHandler *handler);
@@ -264,7 +260,6 @@ public:
private:
void parseNameToUnicode(GooString *name);
- GBool parseYesNo2(const char *token, GBool *flag);
UnicodeMap *getUnicodeMap2(GooString *encodingName);
void scanEncodingDirs();
@@ -342,9 +337,6 @@ private:
GBool textKeepTinyChars; // keep all characters in text output
GBool enableFreeType; // FreeType enable flag
GBool disableFreeTypeHinting; // FreeType disable hinting flag
- GBool antialias; // anti-aliasing enable flag
- GBool vectorAntialias; // vector anti-aliasing enable flag
- GBool antialiasPrinting; // allow anti-aliasing when printing
GBool strokeAdjust; // stroke adjustment enable flag
ScreenType screenType; // halftone screen type
int screenSize; // screen matrix size
diff --git a/poppler/PSOutputDev.cc b/poppler/PSOutputDev.cc
index b95df31..b13476e 100644
--- a/poppler/PSOutputDev.cc
+++ b/poppler/PSOutputDev.cc
@@ -23,7 +23,7 @@
// Copyright (C) 2009-2013 Thomas Freitag <Thomas.Freitag at alfa.de>
// Copyright (C) 2009 Till Kamppeter <till.kamppeter at gmail.com>
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright (C) 2009, 2011, 2012 William Bader <williambader at hotmail.com>
+// Copyright (C) 2009, 2011, 2012, 2014, 2015 William Bader <williambader at hotmail.com>
// Copyright (C) 2009 Kovid Goyal <kovid at kovidgoyal.net>
// Copyright (C) 2009-2011, 2013, 2014 Adrian Johnson <ajohnson at redneon.com>
// Copyright (C) 2012, 2014 Fabio D'Urso <fabiodurso at hotmail.it>
@@ -1230,6 +1230,7 @@ void PSOutputDev::init(PSOutputFunc outputFuncA, void *outputStreamA,
}
// initialize
+ rasterAntialias = gFalse;
displayText = gTrue;
ok = gTrue;
outputFunc = outputFuncA;
@@ -3202,24 +3203,23 @@ GBool PSOutputDev::checkPageSlice(Page *page, double /*hDPI*/, double /*vDPI*/,
numComps = 1;
paperColor[0] = 0xff;
splashOut = new SplashOutputDev(splashModeMono8, 1, gFalse,
- paperColor, gFalse,
- globalParams->getAntialiasPrinting());
+ paperColor, gFalse);
#if SPLASH_CMYK
} else if (level == psLevel1Sep || level == psLevel2Sep ||
level == psLevel3Sep || globalParams->getOverprintPreview()) {
numComps = 4;
paperColor[0] = paperColor[1] = paperColor[2] = paperColor[3] = 0;
splashOut = new SplashOutputDev(splashModeCMYK8, 1, gFalse,
- paperColor, gFalse,
- globalParams->getAntialiasPrinting());
+ paperColor, gFalse);
#endif
} else {
numComps = 3;
paperColor[0] = paperColor[1] = paperColor[2] = 0xff;
splashOut = new SplashOutputDev(splashModeRGB8, 1, gFalse,
- paperColor, gFalse,
- globalParams->getAntialiasPrinting());
+ paperColor, gFalse);
}
+ splashOut->setFontAntialias(rasterAntialias);
+ splashOut->setVectorAntialias(rasterAntialias);
splashOut->startDoc(doc);
// break the page into stripes
diff --git a/poppler/PSOutputDev.h b/poppler/PSOutputDev.h
index 262ce14..7f80899 100644
--- a/poppler/PSOutputDev.h
+++ b/poppler/PSOutputDev.h
@@ -20,7 +20,7 @@
// Copyright (C) 2009-2013 Thomas Freitag <Thomas.Freitag at alfa.de>
// Copyright (C) 2009 Till Kamppeter <till.kamppeter at gmail.com>
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright (C) 2009, 2011 William Bader <williambader at hotmail.com>
+// Copyright (C) 2009, 2011, 2015 William Bader <williambader at hotmail.com>
// Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
// Copyright (C) 2011, 2014 Adrian Johnson <ajohnson at redneon.com>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso at hotmail.it>
@@ -308,6 +308,8 @@ public:
{ overlayCbk = cbk; overlayCbkData = data; }
void setDisplayText(GBool display) { displayText = display; }
+ void setRasterAntialias(GBool a) { rasterAntialias = a; }
+
private:
void init(PSOutputFunc outputFuncA, void *outputStreamA,
@@ -488,6 +490,7 @@ private:
GBool t3NeedsRestore; // set if a 'q' operator was issued
GBool forceRasterize; // forces the page to be rasterized into a image before printing
GBool displayText; // displayText
+ GBool rasterAntialias; // antialias on rasterize
#if OPI_SUPPORT
int opi13Nest; // nesting level of OPI 1.3 objects
diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc
index bfb07eb..b96232f 100644
--- a/poppler/SplashOutputDev.cc
+++ b/poppler/SplashOutputDev.cc
@@ -15,14 +15,14 @@
//
// Copyright (C) 2005 Takashi Iwai <tiwai at suse.de>
// Copyright (C) 2006 Stefan Schweizer <genstef at gentoo.org>
-// Copyright (C) 2006-2014 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006-2015 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk at gmail.com>
// Copyright (C) 2006 Scott Turner <scotty1024 at mac.com>
// Copyright (C) 2007 Koji Otani <sho at bbr.jp>
// Copyright (C) 2009 Petr Gajdos <pgajdos at novell.com>
// Copyright (C) 2009-2014 Thomas Freitag <Thomas.Freitag at alfa.de>
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright (C) 2009 William Bader <williambader at hotmail.com>
+// Copyright (C) 2009, 2014, 2015 William Bader <williambader at hotmail.com>
// Copyright (C) 2010 Patrick Spendrin <ps_ml at gmx.de>
// Copyright (C) 2010 Brian Cameron <brian.cameron at oracle.com>
// Copyright (C) 2010 Paweł Wiejacha <pawel.wiejacha at gmail.com>
@@ -1252,17 +1252,14 @@ SplashOutputDev::SplashOutputDev(SplashColorMode colorModeA,
GBool reverseVideoA,
SplashColorPtr paperColorA,
GBool bitmapTopDownA,
- GBool allowAntialiasA,
- SplashThinLineMode thinLineMode,
- GBool overprintPreviewA) {
+ SplashThinLineMode thinLineMode,
+ GBool overprintPreviewA) {
colorMode = colorModeA;
bitmapRowPad = bitmapRowPadA;
bitmapTopDown = bitmapTopDownA;
bitmapUpsideDown = gFalse;
- allowAntialias = allowAntialiasA;
- vectorAntialias = allowAntialias &&
- globalParams->getVectorAntialias() &&
- colorMode != splashModeMono1;
+ fontAntialias = gTrue;
+ vectorAntialias = gTrue;
overprintPreview = overprintPreviewA;
enableFreeTypeHinting = gFalse;
enableSlightHinting = gFalse;
@@ -1383,8 +1380,7 @@ void SplashOutputDev::startDoc(PDFDoc *docA) {
enableFreeTypeHinting,
enableSlightHinting,
#endif
- allowAntialias &&
- globalParams->getAntialias() &&
+ getFontAntialias() &&
colorMode != splashModeMono1);
for (i = 0; i < nT3Fonts; ++i) {
delete t3FontCache[i];
@@ -4151,6 +4147,7 @@ GBool SplashOutputDev::getVectorAntialias() {
}
void SplashOutputDev::setVectorAntialias(GBool vaa) {
+ vaa = vaa && colorMode != splashModeMono1;
vectorAntialias = vaa;
splash->setVectorAntialias(vaa);
}
diff --git a/poppler/SplashOutputDev.h b/poppler/SplashOutputDev.h
index efbb865..ae20fac 100644
--- a/poppler/SplashOutputDev.h
+++ b/poppler/SplashOutputDev.h
@@ -20,7 +20,8 @@
// Copyright (C) 2011 Andreas Hartmetz <ahartmetz at gmail.com>
// Copyright (C) 2011 Andrea Canciani <ranma42 at gmail.com>
// Copyright (C) 2011 Adrian Johnson <ajohnson at redneon.com>
-// Copyright (C) 2012 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2012, 2015 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2015 William Bader <williambader at hotmail.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -170,9 +171,8 @@ public:
SplashOutputDev(SplashColorMode colorModeA, int bitmapRowPadA,
GBool reverseVideoA, SplashColorPtr paperColorA,
GBool bitmapTopDownA = gTrue,
- GBool allowAntialiasA = gTrue,
SplashThinLineMode thinLineMode = splashThinLineDefault,
- GBool overprintPreviewA = globalParams->getOverprintPreview());
+ GBool overprintPreviewA = globalParams->getOverprintPreview());
// Destructor.
virtual ~SplashOutputDev();
@@ -359,6 +359,9 @@ public:
virtual void setVectorAntialias(GBool vaa);
#endif
+ GBool getFontAntialias() { return fontAntialias; }
+ void setFontAntialias(GBool anti) { fontAntialias = anti; }
+
void setFreeTypeHinting(GBool enable, GBool enableSlightHinting);
protected:
@@ -396,7 +399,7 @@ private:
int bitmapRowPad;
GBool bitmapTopDown;
GBool bitmapUpsideDown;
- GBool allowAntialias;
+ GBool fontAntialias;
GBool vectorAntialias;
GBool overprintPreview;
GBool enableFreeTypeHinting;
diff --git a/qt4/src/poppler-page.cc b/qt4/src/poppler-page.cc
index fc928b9..9c99cda 100644
--- a/qt4/src/poppler-page.cc
+++ b/qt4/src/poppler-page.cc
@@ -1,7 +1,7 @@
/* poppler-page.cc: qt interface to poppler
* Copyright (C) 2005, Net Integration Technologies, Inc.
* Copyright (C) 2005, Brad Hards <bradh at frogmouth.net>
- * Copyright (C) 2005-2014, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2005-2015, Albert Astals Cid <aacid at kde.org>
* Copyright (C) 2005, Stefan Kebekus <stefan.kebekus at math.uni-koeln.de>
* Copyright (C) 2006-2011, Pino Toscano <pino at kde.org>
* Copyright (C) 2008 Carlos Garcia Campos <carlosgc at gnome.org>
@@ -14,6 +14,7 @@
* Copyright (C) 2012 Fabio D'Urso <fabiodurso at hotmail.it>
* Copyright (C) 2012 Adam Reichold <adamreichold at myopera.com>
* Copyright (C) 2012, 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
+ * Copyright (C) 2015 William Bader <williambader at hotmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -293,7 +294,6 @@ QImage Page::renderToImage(double xres, double yres, int x, int y, int w, int h,
bgColor[2] = m_page->parentDoc->paperColor.red();
}
- GBool AA = m_page->parentDoc->m_hints & Document::TextAntialiasing ? gTrue : gFalse;
SplashThinLineMode thinLineMode = splashThinLineDefault;
if (m_page->parentDoc->m_hints & Document::ThinLineShape) thinLineMode = splashThinLineShape;
if (m_page->parentDoc->m_hints & Document::ThinLineSolid) thinLineMode = splashThinLineSolid;
@@ -304,8 +304,9 @@ QImage Page::renderToImage(double xres, double yres, int x, int y, int w, int h,
#else
splashModeXBGR8,
#endif
- 4, gFalse, bgColor, gTrue, AA, thinLineMode, overprint);
+ 4, gFalse, bgColor, gTrue, thinLineMode, overprint);
+ splash_output->setFontAntialias(m_page->parentDoc->m_hints & Document::TextAntialiasing ? gTrue : gFalse);
splash_output->setVectorAntialias(m_page->parentDoc->m_hints & Document::Antialiasing ? gTrue : gFalse);
splash_output->setFreeTypeHinting(m_page->parentDoc->m_hints & Document::TextHinting ? gTrue : gFalse,
m_page->parentDoc->m_hints & Document::TextSlightHinting ? gTrue : gFalse);
diff --git a/qt5/src/poppler-page.cc b/qt5/src/poppler-page.cc
index 6eea0d0..eec211e 100644
--- a/qt5/src/poppler-page.cc
+++ b/qt5/src/poppler-page.cc
@@ -1,7 +1,7 @@
/* poppler-page.cc: qt interface to poppler
* Copyright (C) 2005, Net Integration Technologies, Inc.
* Copyright (C) 2005, Brad Hards <bradh at frogmouth.net>
- * Copyright (C) 2005-2014, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2005-2015, Albert Astals Cid <aacid at kde.org>
* Copyright (C) 2005, Stefan Kebekus <stefan.kebekus at math.uni-koeln.de>
* Copyright (C) 2006-2011, Pino Toscano <pino at kde.org>
* Copyright (C) 2008 Carlos Garcia Campos <carlosgc at gnome.org>
@@ -14,6 +14,7 @@
* Copyright (C) 2012 Fabio D'Urso <fabiodurso at hotmail.it>
* Copyright (C) 2012 Adam Reichold <adamreichold at myopera.com>
* Copyright (C) 2012, 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
+ * Copyright (C) 2015 William Bader <williambader at hotmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -293,7 +294,6 @@ QImage Page::renderToImage(double xres, double yres, int x, int y, int w, int h,
bgColor[2] = m_page->parentDoc->paperColor.red();
}
- GBool AA = m_page->parentDoc->m_hints & Document::TextAntialiasing ? gTrue : gFalse;
SplashThinLineMode thinLineMode = splashThinLineDefault;
if (m_page->parentDoc->m_hints & Document::ThinLineShape) thinLineMode = splashThinLineShape;
if (m_page->parentDoc->m_hints & Document::ThinLineSolid) thinLineMode = splashThinLineSolid;
@@ -304,8 +304,9 @@ QImage Page::renderToImage(double xres, double yres, int x, int y, int w, int h,
#else
splashModeXBGR8,
#endif
- 4, gFalse, bgColor, gTrue, AA, thinLineMode, overprint);
+ 4, gFalse, bgColor, gTrue, thinLineMode, overprint);
+ splash_output->setFontAntialias(m_page->parentDoc->m_hints & Document::TextAntialiasing ? gTrue : gFalse);
splash_output->setVectorAntialias(m_page->parentDoc->m_hints & Document::Antialiasing ? gTrue : gFalse);
splash_output->setFreeTypeHinting(m_page->parentDoc->m_hints & Document::TextHinting ? gTrue : gFalse,
m_page->parentDoc->m_hints & Document::TextSlightHinting ? gTrue : gFalse);
diff --git a/utils/pdftohtml.cc b/utils/pdftohtml.cc
index aabed0b..ffd559e 100644
--- a/utils/pdftohtml.cc
+++ b/utils/pdftohtml.cc
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2007-2008, 2010, 2012 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2007-2008, 2010, 2012, 2015 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
// Copyright (C) 2010 Mike Slegeir <tehpola at yahoo.com>
// Copyright (C) 2010, 2013 Suzuki Toshiya <mpsuzuki at hiroshima-u.ac.jp>
@@ -23,6 +23,7 @@
// Copyright (C) 2012 Ihar Filipau <thephilips at gmail.com>
// Copyright (C) 2012 Luis Parravicini <lparravi at gmail.com>
// Copyright (C) 2014 Pino Toscano <pino at kde.org>
+// Copyright (C) 2015 William Bader <williambader at hotmail.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -155,10 +156,8 @@ class SplashOutputDevNoText : public SplashOutputDev {
public:
SplashOutputDevNoText(SplashColorMode colorModeA, int bitmapRowPadA,
GBool reverseVideoA, SplashColorPtr paperColorA,
- GBool bitmapTopDownA = gTrue,
- GBool allowAntialiasA = gTrue) : SplashOutputDev(colorModeA,
- bitmapRowPadA, reverseVideoA, paperColorA, bitmapTopDownA,
- allowAntialiasA) { }
+ GBool bitmapTopDownA = gTrue) : SplashOutputDev(colorModeA,
+ bitmapRowPadA, reverseVideoA, paperColorA, bitmapTopDownA) { }
virtual ~SplashOutputDevNoText() { }
void drawChar(GfxState *state, double x, double y,
diff --git a/utils/pdftoppm.cc b/utils/pdftoppm.cc
index 962860b..7ff5b22 100644
--- a/utils/pdftoppm.cc
+++ b/utils/pdftoppm.cc
@@ -18,7 +18,7 @@
// Copyright (C) 2009 Michael K. Johnson <a1237 at danlj.org>
// Copyright (C) 2009 Shen Liang <shenzhuxi at gmail.com>
// Copyright (C) 2009 Stefan Thomas <thomas at eload24.com>
-// Copyright (C) 2009-2011 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009-2011, 2015 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2010, 2012 Adrian Johnson <ajohnson at redneon.com>
// Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
// Copyright (C) 2010 Jonathan Liu <net147 at gmail.com>
@@ -26,6 +26,7 @@
// Copyright (C) 2011-2013 Thomas Freitag <Thomas.Freitag at alfa.de>
// Copyright (C) 2013 Adam Reichold <adamreichold at myopera.com>
// Copyright (C) 2013 Suzuki Toshiya <mpsuzuki at hiroshima-u.ac.jp>
+// Copyright (C) 2015 William Bader <williambader at hotmail.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -268,6 +269,20 @@ static std::deque<PageJob> pageJobQueue;
static pthread_mutex_t pageJobMutex = PTHREAD_MUTEX_INITIALIZER;
static void processPageJobs() {
+ GBool fontAntialias = gTrue;
+ GBool vectorAntialias = gTrue;
+
+ if (antialiasStr[0]) {
+ if (!GlobalParams::parseYesNo2(antialiasStr, &fontAntialias)) {
+ fprintf(stderr, "Bad '-aa' value on command line\n");
+ }
+ }
+ if (vectorAntialiasStr[0]) {
+ if (!GlobalParams::parseYesNo2(vectorAntialiasStr, &vectorAntialias)) {
+ fprintf(stderr, "Bad '-aaVector' value on command line\n");
+ }
+ }
+
while(true) {
// pop the next job or exit if queue is empty
pthread_mutex_lock(&pageJobMutex);
@@ -288,7 +303,9 @@ static void processPageJobs() {
#if SPLASH_CMYK
(jpegcmyk || overprint) ? splashModeDeviceN8 :
#endif
- splashModeRGB8, 4, gFalse, *pageJob.paperColor, gTrue, gTrue, thinLineMode);
+ splashModeRGB8, 4, gFalse, *pageJob.paperColor, gTrue, thinLineMode);
+ splashOut->setFontAntialias(fontAntialias);
+ splashOut->setVectorAntialias(vectorAntialias);
splashOut->startDoc(pageJob.doc);
savePageSlice(pageJob.doc, splashOut, pageJob.pg, x, y, w, h, pageJob.pg_w, pageJob.pg_h, pageJob.ppmFile);
@@ -328,6 +345,8 @@ int main(int argc, char *argv[]) {
int exitCode;
int pg, pg_num_len;
double pg_w, pg_h, tmp;
+ GBool fontAntialias = gTrue;
+ GBool vectorAntialias = gTrue;
exitCode = 99;
@@ -363,16 +382,6 @@ int main(int argc, char *argv[]) {
fprintf(stderr, "Bad '-freetype' value on command line\n");
}
}
- if (antialiasStr[0]) {
- if (!globalParams->setAntialias(antialiasStr)) {
- fprintf(stderr, "Bad '-aa' value on command line\n");
- }
- }
- if (vectorAntialiasStr[0]) {
- if (!globalParams->setVectorAntialias(vectorAntialiasStr)) {
- fprintf(stderr, "Bad '-aaVector' value on command line\n");
- }
- }
if (thinLineModeStr[0]) {
if (strcmp(thinLineModeStr, "solid") == 0) {
thinLineMode = splashThinLineSolid;
@@ -464,7 +473,21 @@ int main(int argc, char *argv[]) {
(jpegcmyk || overprint) ? splashModeDeviceN8 :
#endif
splashModeRGB8, 4,
- gFalse, paperColor, gTrue, gTrue, thinLineMode);
+ gFalse, paperColor, gTrue, thinLineMode);
+
+ if (antialiasStr[0]) {
+ if (!GlobalParams::parseYesNo2(antialiasStr, &fontAntialias)) {
+ fprintf(stderr, "Bad '-aa' value on command line\n");
+ }
+ }
+ if (vectorAntialiasStr[0]) {
+ if (!GlobalParams::parseYesNo2(vectorAntialiasStr, &vectorAntialias)) {
+ fprintf(stderr, "Bad '-aaVector' value on command line\n");
+ }
+ }
+
+ splashOut->setFontAntialias(fontAntialias);
+ splashOut->setVectorAntialias(vectorAntialias);
splashOut->startDoc(doc);
#endif // UTILS_USE_PTHREADS
diff --git a/utils/pdftops.cc b/utils/pdftops.cc
index fbc3d67..43234db 100644
--- a/utils/pdftops.cc
+++ b/utils/pdftops.cc
@@ -19,7 +19,7 @@
// Copyright (C) 2007-2008, 2010, 2015 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2009 Till Kamppeter <till.kamppeter at gmail.com>
// Copyright (C) 2009 Sanjoy Mahajan <sanjoy at mit.edu>
-// Copyright (C) 2009, 2011, 2012 William Bader <williambader at hotmail.com>
+// Copyright (C) 2009, 2011, 2012, 2014, 2015 William Bader <williambader at hotmail.com>
// Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
// Copyright (C) 2012 Thomas Freitag <Thomas.Freitag at alfa.de>
// Copyright (C) 2013 Suzuki Toshiya <mpsuzuki at hiroshima-u.ac.jp>
@@ -95,6 +95,7 @@ static GBool noEmbedTTFonts = gFalse;
static GBool noEmbedCIDPSFonts = gFalse;
static GBool noEmbedCIDTTFonts = gFalse;
static GBool fontPassthrough = gFalse;
+static char rasterAntialiasStr[16] = "";
static GBool preload = gFalse;
static char paperSize[15] = "";
static int paperWidth = -1;
@@ -154,6 +155,8 @@ static const ArgDesc argDesc[] = {
"don't embed CID TrueType fonts"},
{"-passfonts", argFlag, &fontPassthrough,0,
"don't substitute missing fonts"},
+ {"-aaRaster", argString, rasterAntialiasStr, sizeof(rasterAntialiasStr),
+ "enable anti-aliasing on rasterization: yes, no"},
{"-preload", argFlag, &preload, 0,
"preload images and forms"},
{"-paper", argString, paperSize, sizeof(paperSize),
@@ -206,6 +209,7 @@ int main(int argc, char *argv[]) {
GBool ok;
char *p;
int exitCode;
+ GBool rasterAntialias = gFalse;
std::vector<int> pages;
exitCode = 99;
@@ -412,6 +416,14 @@ int main(int argc, char *argv[]) {
paperHeight,
noCrop,
duplex);
+
+ if (rasterAntialiasStr[0]) {
+ if (!GlobalParams::parseYesNo2(rasterAntialiasStr, &rasterAntialias)) {
+ fprintf(stderr, "Bad '-aaRaster' value on command line\n");
+ }
+ }
+
+ psOut->setRasterAntialias(rasterAntialias);
if (psOut->isOk()) {
for (int i = firstPage; i <= lastPage; ++i) {
doc->displayPage(psOut, i, 72, 72,
More information about the poppler
mailing list