Skip to content

Commit

Permalink
Add poppler-0.18 support
Browse files Browse the repository at this point in the history
This fixes build with newer poppler-0.18 and adds an ability to
choose hinting style (slight or full).
  • Loading branch information
bircoph committed Oct 8, 2012
1 parent ca7fe8b commit 7e4aeaf
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 1 deletion.
3 changes: 2 additions & 1 deletion CoreOutputDev.cc
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ CoreOutputDev::CoreOutputDev(SplashColorMode colorModeA, int bitmapRowPadA,
incrementalUpdate(incrementalUpdateA), redrawCbk(redrawCbkA),
redrawCbkData(redrawCbkDataA)
{
setFreeTypeHinting(globalParamsGUI->getEnableFreeTypeHinting());
setFreeTypeHinting(globalParamsGUI->getEnableFreeTypeHinting(),
globalParamsGUI->getEnableFreeTypeSlightHinting());
}

CoreOutputDev::~CoreOutputDev() {
Expand Down
19 changes: 19 additions & 0 deletions GlobalParamsGUI.cc
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,7 @@ GlobalParamsGUI::GlobalParamsGUI(char *cfgFileName) {
enableT1lib = true;
enableFreeType = true;
enableFreeTypeHinting = gFalse;
enableFreeTypeSlightHinting = gFalse;
antialias = true;
vectorAntialias = true;
strokeAdjust = true;
Expand Down Expand Up @@ -2211,6 +2212,15 @@ bool GlobalParamsGUI::getEnableFreeTypeHinting() {
return f;
}

bool GlobalParamsGUI::getEnableFreeTypeSlightHinting() {
bool f;

lockGlobalParamsGUI;
f = enableFreeTypeSlightHinting;
unlockGlobalParamsGUI;
return f;
}

bool GlobalParamsGUI::getAntialias() {
bool f;

Expand Down Expand Up @@ -2660,6 +2670,15 @@ bool GlobalParamsGUI::setEnableFreeTypeHinting(char *s) {
return ok;
}

bool GlobalParamsGUI::setEnableFreeTypeSlightHinting(char *s) {
bool ok;

lockGlobalParamsGUI;
ok = parseYesNo2(s, &enableFreeTypeSlightHinting);
unlockGlobalParamsGUI;
return ok;
}

bool GlobalParamsGUI::setAntialias(char *s) {
bool ok;

Expand Down
3 changes: 3 additions & 0 deletions GlobalParamsGUI.h
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ class GlobalParamsGUI {
GBool getEnableT1lib();
GBool getEnableFreeType();
GBool getEnableFreeTypeHinting();
GBool getEnableFreeTypeSlightHinting();
GBool getAntialias();
GBool getVectorAntialias();
GBool getStrokeAdjust();
Expand Down Expand Up @@ -225,6 +226,7 @@ class GlobalParamsGUI {
GBool setEnableT1lib(char *s);
GBool setEnableFreeType(char *s);
GBool setEnableFreeTypeHinting(char *s);
GBool setEnableFreeTypeSlightHinting(char *s);
GBool setAntialias(char *s);
GBool setVectorAntialias(char *s);
void setStrokeAdjust(GBool strokeAdjust);
Expand Down Expand Up @@ -357,6 +359,7 @@ class GlobalParamsGUI {
GBool enableT1lib; // t1lib enable flag
GBool enableFreeType; // FreeType enable flag
GBool enableFreeTypeHinting; // FreeType hinting enable flag
GBool enableFreeTypeSlightHinting; // FreeType hinting enable flag
GBool antialias; // anti-aliasing enable flag
GBool vectorAntialias; // vector anti-aliasing enable flag
GBool strokeAdjust; // stroke adjustment enable flag
Expand Down
8 changes: 8 additions & 0 deletions xpdf.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ static char enableFreeTypeStr[16] = "";
static char antialiasStr[16] = "";
static char vectorAntialiasStr[16] = "";
static char autohintingStr[16] = "no";
static char slighthintingStr[16] = "no";
static char psFileArg[256];
static char paperSize[15] = "";
static int paperWidth = 0;
Expand Down Expand Up @@ -83,6 +84,8 @@ static ArgDesc argDesc[] = {
"enable vector anti-aliasing: yes, no"},
{"-ah", argString, autohintingStr, sizeof(autohintingStr),
"enable font auto-hinting: yes, no (default no)"},
{"-sh", argString, slighthintingStr, sizeof(slighthintingStr),
"enable slight hinting for font auto-hinting: yes, no (default no)"},
{"-ps", argString, psFileArg, sizeof(psFileArg),
"default PostScript file name or command"},
{"-paper", argString, paperSize, sizeof(paperSize),
Expand Down Expand Up @@ -218,6 +221,11 @@ int main(int argc, char *argv[]) {
fprintf(stderr, "Bad '-ah' value on command line\n");
}
}
if (slighthintingStr[0]) {
if (!globalParamsGUI->setEnableFreeTypeSlightHinting(slighthintingStr)) {
fprintf(stderr, "Bad '-sh' value on command line\n");
}
}
if (printCommands) {
globalParamsGUI->setPrintCommands(printCommands);
}
Expand Down

0 comments on commit 7e4aeaf

Please sign in to comment.