Commit 5b8fe4ee authored by Albert Astals Cid's avatar Albert Astals Cid

Remove various never called internal setters from GlobalParams.h

TextKeepTinyChars: false, simplify if in TextOutputDev
DisableFreeTypeHinting: didn't actually have a getter :D
StrokeAdjust: true, adjust the code in Cairo/SplashOutputDev to use gTrue
ScreenType: unset, simplify switch in SplashOutputDev
ScreenSize: -1, simplify code in SplashOutputDev
ScreenDotRadius: -1, simplify code in SplashOutputDev
ScreenGamma: 1.0, simplify code in SplashOutputDev
ScreenBlackThreshold: 0.0, simplify code in SplashOutputDev
ScreenWhiteThreshold: 1.0, simplify code in SplashOutputDev
MinLineWidth: 0.0, define it as static const in SplashOutputDev since was used in various places
MapNumericCharNames: true, remove GfxFont.cc if guard
MapUnknownCharNames: true, remove GfxFont.cc if guard
parent 19ebd405
...@@ -169,7 +169,7 @@ CairoOutputDev::CairoOutputDev() { ...@@ -169,7 +169,7 @@ CairoOutputDev::CairoOutputDev() {
// the SA parameter supposedly defaults to false, but Acrobat // the SA parameter supposedly defaults to false, but Acrobat
// apparently hardwires it to true // apparently hardwires it to true
stroke_adjust = globalParams->getStrokeAdjust(); stroke_adjust = gTrue;
align_stroke_coords = gFalse; align_stroke_coords = gFalse;
adjusted_stroke_width = gFalse; adjusted_stroke_width = gFalse;
xref = NULL; xref = NULL;
......
...@@ -1311,12 +1311,10 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA ...@@ -1311,12 +1311,10 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA
continue; continue;
} }
// if the 'mapUnknownCharNames' flag is set, do a simple pass-through // do a simple pass-through
// mapping for unknown character names // mapping for unknown character names
if (globalParams->getMapUnknownCharNames()) { uBuf[0] = code;
uBuf[0] = code; ctu->setMapping((CharCode)code, uBuf, 1);
ctu->setMapping((CharCode)code, uBuf, 1);
}
} }
} }
} }
...@@ -1505,54 +1503,52 @@ static int parseCharName(char *charName, Unicode *uBuf, int uLen, ...@@ -1505,54 +1503,52 @@ static int parseCharName(char *charName, Unicode *uBuf, int uLen,
if (names && (uBuf[0] = globalParams->mapNameToUnicodeText(charName))) { if (names && (uBuf[0] = globalParams->mapNameToUnicodeText(charName))) {
return 1; return 1;
} }
if (globalParams->getMapNumericCharNames()) { unsigned int n = strlen(charName);
unsigned int n = strlen(charName); // 3.3. otherwise, if the component is of the form "uni" (U+0075 U+006E
// 3.3. otherwise, if the component is of the form "uni" (U+0075 U+006E // U+0069) followed by a sequence of uppercase hexadecimal digits (0 .. 9,
// U+0069) followed by a sequence of uppercase hexadecimal digits (0 .. 9, // A .. F, i.e. U+0030 .. U+0039, U+0041 .. U+0046), the length of that
// A .. F, i.e. U+0030 .. U+0039, U+0041 .. U+0046), the length of that // sequence is a multiple of four, and each group of four digits represents
// sequence is a multiple of four, and each group of four digits represents // a number in the set {0x0000 .. 0xD7FF, 0xE000 .. 0xFFFF}, then interpret
// a number in the set {0x0000 .. 0xD7FF, 0xE000 .. 0xFFFF}, then interpret // each such number as a Unicode scalar value and map the component to the
// each such number as a Unicode scalar value and map the component to the // string made of those scalar values. Note that the range and digit length
// string made of those scalar values. Note that the range and digit length // restrictions mean that the "uni" prefix can be used only with Unicode
// restrictions mean that the "uni" prefix can be used only with Unicode // values from the Basic Multilingual Plane (BMP).
// values from the Basic Multilingual Plane (BMP). if (n >= 7 && (n % 4) == 3 && !strncmp(charName, "uni", 3)) {
if (n >= 7 && (n % 4) == 3 && !strncmp(charName, "uni", 3)) { int i;
int i; unsigned int m;
unsigned int m; for (i = 0, m = 3; i < uLen && m < n; m += 4) {
for (i = 0, m = 3; i < uLen && m < n; m += 4) { if (isxdigit(charName[m]) && isxdigit(charName[m + 1]) &&
if (isxdigit(charName[m]) && isxdigit(charName[m + 1]) && isxdigit(charName[m + 2]) && isxdigit(charName[m + 3])) {
isxdigit(charName[m + 2]) && isxdigit(charName[m + 3])) { unsigned int u;
unsigned int u; sscanf(charName + m, "%4x", &u);
sscanf(charName + m, "%4x", &u); if (u <= 0xD7FF || (0xE000 <= u && u <= 0xFFFF)) {
if (u <= 0xD7FF || (0xE000 <= u && u <= 0xFFFF)) { uBuf[i++] = u;
uBuf[i++] = u; }
}
}
}
return i;
}
// 3.4. otherwise, if the component is of the form "u" (U+0075) followed by
// a sequence of four to six uppercase hexadecimal digits {0 .. 9, A .. F}
// (U+0030 .. U+0039, U+0041 .. U+0046), and those digits represent a
// number in {0x0000 .. 0xD7FF, 0xE000 .. 0x10FFFF}, then interpret this
// number as a Unicode scalar value and map the component to the string
// made of this scalar value.
if (n >= 5 && n <= 7 && charName[0] == 'u' && isxdigit(charName[1]) &&
isxdigit(charName[2]) && isxdigit(charName[3]) && isxdigit(charName[4])
&& (n <= 5 || isxdigit(charName[5]))
&& (n <= 6 || isxdigit(charName[6]))) {
unsigned int u;
sscanf(charName + 1, "%x", &u);
if (u <= 0xD7FF || (0xE000 <= u && u <= 0x10FFFF)) {
uBuf[0] = u;
return 1;
} }
} }
// Not in Adobe Glyph Mapping convention: look for names like xx return i;
// or Axx and parse for hex or decimal values. }
if (numeric && parseNumericName(charName, hex, uBuf)) // 3.4. otherwise, if the component is of the form "u" (U+0075) followed by
// a sequence of four to six uppercase hexadecimal digits {0 .. 9, A .. F}
// (U+0030 .. U+0039, U+0041 .. U+0046), and those digits represent a
// number in {0x0000 .. 0xD7FF, 0xE000 .. 0x10FFFF}, then interpret this
// number as a Unicode scalar value and map the component to the string
// made of this scalar value.
if (n >= 5 && n <= 7 && charName[0] == 'u' && isxdigit(charName[1]) &&
isxdigit(charName[2]) && isxdigit(charName[3]) && isxdigit(charName[4])
&& (n <= 5 || isxdigit(charName[5]))
&& (n <= 6 || isxdigit(charName[6]))) {
unsigned int u;
sscanf(charName + 1, "%x", &u);
if (u <= 0xD7FF || (0xE000 <= u && u <= 0x10FFFF)) {
uBuf[0] = u;
return 1; return 1;
}
} }
// Not in Adobe Glyph Mapping convention: look for names like xx
// or Axx and parse for hex or decimal values.
if (numeric && parseNumericName(charName, hex, uBuf))
return 1;
// 3.5. otherwise, map the component to the empty string // 3.5. otherwise, map the component to the empty string
return 0; return 0;
} }
......
...@@ -583,19 +583,8 @@ GlobalParams::GlobalParams(const char *customPopplerDataDir) ...@@ -583,19 +583,8 @@ GlobalParams::GlobalParams(const char *customPopplerDataDir)
textEOL = eolUnix; textEOL = eolUnix;
#endif #endif
textPageBreaks = gTrue; textPageBreaks = gTrue;
textKeepTinyChars = gFalse;
enableFreeType = gTrue; enableFreeType = gTrue;
strokeAdjust = gTrue;
screenType = screenUnset;
screenSize = -1;
screenDotRadius = -1;
screenGamma = 1.0;
screenBlackThreshold = 0.0;
screenWhiteThreshold = 1.0;
minLineWidth = 0.0;
overprintPreview = gFalse; overprintPreview = gFalse;
mapNumericCharNames = gTrue;
mapUnknownCharNames = gTrue;
printCommands = gFalse; printCommands = gFalse;
profileCommands = gFalse; profileCommands = gFalse;
errQuiet = gFalse; errQuiet = gFalse;
...@@ -1429,15 +1418,6 @@ GBool GlobalParams::getTextPageBreaks() { ...@@ -1429,15 +1418,6 @@ GBool GlobalParams::getTextPageBreaks() {
return pageBreaks; return pageBreaks;
} }
GBool GlobalParams::getTextKeepTinyChars() {
GBool tiny;
lockGlobalParams;
tiny = textKeepTinyChars;
unlockGlobalParams;
return tiny;
}
GBool GlobalParams::getEnableFreeType() { GBool GlobalParams::getEnableFreeType() {
GBool f; GBool f;
...@@ -1447,96 +1427,6 @@ GBool GlobalParams::getEnableFreeType() { ...@@ -1447,96 +1427,6 @@ GBool GlobalParams::getEnableFreeType() {
return f; return f;
} }
GBool GlobalParams::getStrokeAdjust() {
GBool f;
lockGlobalParams;
f = strokeAdjust;
unlockGlobalParams;
return f;
}
ScreenType GlobalParams::getScreenType() {
ScreenType t;
lockGlobalParams;
t = screenType;
unlockGlobalParams;
return t;
}
int GlobalParams::getScreenSize() {
int size;
lockGlobalParams;
size = screenSize;
unlockGlobalParams;
return size;
}
int GlobalParams::getScreenDotRadius() {
int r;
lockGlobalParams;
r = screenDotRadius;
unlockGlobalParams;
return r;
}
double GlobalParams::getScreenGamma() {
double gamma;
lockGlobalParams;
gamma = screenGamma;
unlockGlobalParams;
return gamma;
}
double GlobalParams::getScreenBlackThreshold() {
double thresh;
lockGlobalParams;
thresh = screenBlackThreshold;
unlockGlobalParams;
return thresh;
}
double GlobalParams::getScreenWhiteThreshold() {
double thresh;
lockGlobalParams;
thresh = screenWhiteThreshold;
unlockGlobalParams;
return thresh;
}
double GlobalParams::getMinLineWidth() {
double minLineWidthA;
lockGlobalParams;
minLineWidthA = minLineWidth;
unlockGlobalParams;
return minLineWidthA;
}
GBool GlobalParams::getMapNumericCharNames() {
GBool map;
lockGlobalParams;
map = mapNumericCharNames;
unlockGlobalParams;
return map;
}
GBool GlobalParams::getMapUnknownCharNames() {
GBool map;
lockGlobalParams;
map = mapUnknownCharNames;
unlockGlobalParams;
return map;
}
GBool GlobalParams::getPrintCommands() { GBool GlobalParams::getPrintCommands() {
GBool p; GBool p;
...@@ -1712,12 +1602,6 @@ void GlobalParams::setTextPageBreaks(GBool pageBreaks) { ...@@ -1712,12 +1602,6 @@ void GlobalParams::setTextPageBreaks(GBool pageBreaks) {
unlockGlobalParams; unlockGlobalParams;
} }
void GlobalParams::setTextKeepTinyChars(GBool keep) {
lockGlobalParams;
textKeepTinyChars = keep;
unlockGlobalParams;
}
GBool GlobalParams::setEnableFreeType(char *s) { GBool GlobalParams::setEnableFreeType(char *s) {
GBool ok; GBool ok;
...@@ -1727,89 +1611,12 @@ GBool GlobalParams::setEnableFreeType(char *s) { ...@@ -1727,89 +1611,12 @@ GBool GlobalParams::setEnableFreeType(char *s) {
return ok; return ok;
} }
GBool GlobalParams::setDisableFreeTypeHinting(char *s) {
GBool ok;
lockGlobalParams;
ok = parseYesNo2(s, &disableFreeTypeHinting);
unlockGlobalParams;
return ok;
}
void GlobalParams::setStrokeAdjust(GBool adjust)
{
lockGlobalParams;
strokeAdjust = adjust;
unlockGlobalParams;
}
void GlobalParams::setScreenType(ScreenType st)
{
lockGlobalParams;
screenType = st;
unlockGlobalParams;
}
void GlobalParams::setScreenSize(int size)
{
lockGlobalParams;
screenSize = size;
unlockGlobalParams;
}
void GlobalParams::setScreenDotRadius(int radius)
{
lockGlobalParams;
screenDotRadius = radius;
unlockGlobalParams;
}
void GlobalParams::setScreenGamma(double gamma)
{
lockGlobalParams;
screenGamma = gamma;
unlockGlobalParams;
}
void GlobalParams::setScreenBlackThreshold(double blackThreshold)
{
lockGlobalParams;
screenBlackThreshold = blackThreshold;
unlockGlobalParams;
}
void GlobalParams::setScreenWhiteThreshold(double whiteThreshold)
{
lockGlobalParams;
screenWhiteThreshold = whiteThreshold;
unlockGlobalParams;
}
void GlobalParams::setMinLineWidth(double minLineWidthA)
{
lockGlobalParams;
minLineWidth = minLineWidthA;
unlockGlobalParams;
}
void GlobalParams::setOverprintPreview(GBool overprintPreviewA) { void GlobalParams::setOverprintPreview(GBool overprintPreviewA) {
lockGlobalParams; lockGlobalParams;
overprintPreview = overprintPreviewA; overprintPreview = overprintPreviewA;
unlockGlobalParams; unlockGlobalParams;
} }
void GlobalParams::setMapNumericCharNames(GBool map) {
lockGlobalParams;
mapNumericCharNames = map;
unlockGlobalParams;
}
void GlobalParams::setMapUnknownCharNames(GBool map) {
lockGlobalParams;
mapUnknownCharNames = map;
unlockGlobalParams;
}
void GlobalParams::setPrintCommands(GBool printCommandsA) { void GlobalParams::setPrintCommands(GBool printCommandsA) {
lockGlobalParams; lockGlobalParams;
printCommands = printCommandsA; printCommands = printCommandsA;
......
...@@ -100,15 +100,6 @@ enum EndOfLineKind { ...@@ -100,15 +100,6 @@ enum EndOfLineKind {
//------------------------------------------------------------------------ //------------------------------------------------------------------------
enum ScreenType {
screenUnset,
screenDispersed,
screenClustered,
screenStochasticClustered
};
//------------------------------------------------------------------------
class GlobalParams { class GlobalParams {
public: public:
...@@ -147,19 +138,8 @@ public: ...@@ -147,19 +138,8 @@ public:
GooString *getTextEncodingName(); GooString *getTextEncodingName();
EndOfLineKind getTextEOL(); EndOfLineKind getTextEOL();
GBool getTextPageBreaks(); GBool getTextPageBreaks();
GBool getTextKeepTinyChars();
GBool getEnableFreeType(); GBool getEnableFreeType();
GBool getStrokeAdjust();
ScreenType getScreenType();
int getScreenSize();
int getScreenDotRadius();
double getScreenGamma();
double getScreenBlackThreshold();
double getScreenWhiteThreshold();
double getMinLineWidth();
GBool getOverprintPreview() { return overprintPreview; } GBool getOverprintPreview() { return overprintPreview; }
GBool getMapNumericCharNames();
GBool getMapUnknownCharNames();
GBool getPrintCommands(); GBool getPrintCommands();
GBool getProfileCommands(); GBool getProfileCommands();
GBool getErrQuiet(); GBool getErrQuiet();
...@@ -184,20 +164,8 @@ public: ...@@ -184,20 +164,8 @@ public:
void setTextEncoding(char *encodingName); void setTextEncoding(char *encodingName);
GBool setTextEOL(char *s); GBool setTextEOL(char *s);
void setTextPageBreaks(GBool pageBreaks); void setTextPageBreaks(GBool pageBreaks);
void setTextKeepTinyChars(GBool keep);
GBool setEnableFreeType(char *s); GBool setEnableFreeType(char *s);
GBool setDisableFreeTypeHinting(char *s);
void setStrokeAdjust(GBool strokeAdjust);
void setScreenType(ScreenType st);
void setScreenSize(int size);
void setScreenDotRadius(int radius);
void setScreenGamma(double gamma);
void setScreenBlackThreshold(double blackThreshold);
void setScreenWhiteThreshold(double whiteThreshold);
void setMinLineWidth(double minLineWidth);
void setOverprintPreview(GBool overprintPreviewA); void setOverprintPreview(GBool overprintPreviewA);
void setMapNumericCharNames(GBool map);
void setMapUnknownCharNames(GBool map);
void setPrintCommands(GBool printCommandsA); void setPrintCommands(GBool printCommandsA);
void setProfileCommands(GBool profileCommandsA); void setProfileCommands(GBool profileCommandsA);
void setErrQuiet(GBool errQuietA); void setErrQuiet(GBool errQuietA);
...@@ -258,20 +226,8 @@ private: ...@@ -258,20 +226,8 @@ private:
EndOfLineKind textEOL; // type of EOL marker to use for text EndOfLineKind textEOL; // type of EOL marker to use for text
// output // output
GBool textPageBreaks; // insert end-of-page markers? GBool textPageBreaks; // insert end-of-page markers?
GBool textKeepTinyChars; // keep all characters in text output
GBool enableFreeType; // FreeType enable flag GBool enableFreeType; // FreeType enable flag
GBool disableFreeTypeHinting; // FreeType disable hinting flag
GBool strokeAdjust; // stroke adjustment enable flag
ScreenType screenType; // halftone screen type
int screenSize; // screen matrix size
int screenDotRadius; // screen dot radius
double screenGamma; // screen gamma correction
double screenBlackThreshold; // screen black clamping threshold
double screenWhiteThreshold; // screen white clamping threshold
double minLineWidth; // minimum line width
GBool overprintPreview; // enable overprint preview GBool overprintPreview; // enable overprint preview
GBool mapNumericCharNames; // map numeric char names (from font subsets)?
GBool mapUnknownCharNames; // map unknown char names?
GBool printCommands; // print the drawing commands GBool printCommands; // print the drawing commands
GBool profileCommands; // profile the drawing commands GBool profileCommands; // profile the drawing commands
GBool errQuiet; // suppress error messages? GBool errQuiet; // suppress error messages?
......
...@@ -103,6 +103,8 @@ extern "C" int unlink(char *filename); ...@@ -103,6 +103,8 @@ extern "C" int unlink(char *filename);
#endif #endif
#endif #endif
static const double s_minLineWidth = 0.0;
static inline void convertGfxColor(SplashColorPtr dest, static inline void convertGfxColor(SplashColorPtr dest,
SplashColorMode colorMode, SplashColorMode colorMode,
GfxColorSpace *colorSpace, GfxColorSpace *colorSpace,
...@@ -1407,7 +1409,7 @@ SplashOutputDev::SplashOutputDev(SplashColorMode colorModeA, ...@@ -1407,7 +1409,7 @@ SplashOutputDev::SplashOutputDev(SplashColorMode colorModeA,
bitmap = new SplashBitmap(1, 1, bitmapRowPad, colorMode, bitmap = new SplashBitmap(1, 1, bitmapRowPad, colorMode,
colorMode != splashModeMono1, bitmapTopDown); colorMode != splashModeMono1, bitmapTopDown);
splash = new Splash(bitmap, vectorAntialias, &screenParams); splash = new Splash(bitmap, vectorAntialias, &screenParams);
splash->setMinLineWidth(globalParams->getMinLineWidth()); splash->setMinLineWidth(s_minLineWidth);
splash->setThinLineMode(thinLineMode); splash->setThinLineMode(thinLineMode);
splash->clear(paperColor, 0); splash->clear(paperColor, 0);
...@@ -1425,27 +1427,15 @@ SplashOutputDev::SplashOutputDev(SplashColorMode colorModeA, ...@@ -1425,27 +1427,15 @@ SplashOutputDev::SplashOutputDev(SplashColorMode colorModeA,
} }
void SplashOutputDev::setupScreenParams(double hDPI, double vDPI) { void SplashOutputDev::setupScreenParams(double hDPI, double vDPI) {
screenParams.size = globalParams->getScreenSize(); screenParams.size = -1;
screenParams.dotRadius = globalParams->getScreenDotRadius(); screenParams.dotRadius = -1;
screenParams.gamma = (SplashCoord)globalParams->getScreenGamma(); screenParams.gamma = (SplashCoord)1.0;
screenParams.blackThreshold = screenParams.blackThreshold = (SplashCoord)0.0;
(SplashCoord)globalParams->getScreenBlackThreshold(); screenParams.whiteThreshold = (SplashCoord)1.0;
screenParams.whiteThreshold =
(SplashCoord)globalParams->getScreenWhiteThreshold(); // use clustered dithering for resolution >= 300 dpi
switch (globalParams->getScreenType()) { // (compare to 299.9 to avoid floating point issues)
case screenDispersed: if (hDPI > 299.9 && vDPI > 299.9) {
screenParams.type = splashScreenDispersed;
if (screenParams.size < 0) {
screenParams.size = 4;
}
break;
case screenClustered:
screenParams.type = splashScreenClustered;
if (screenParams.size < 0) {
screenParams.size = 10;
}
break;
case screenStochasticClustered:
screenParams.type = splashScreenStochasticClustered; screenParams.type = splashScreenStochasticClustered;
if (screenParams.size < 0) { if (screenParams.size < 0) {
screenParams.size = 64; screenParams.size = 64;
...@@ -1453,24 +1443,10 @@ void SplashOutputDev::setupScreenParams(double hDPI, double vDPI) { ...@@ -1453,24 +1443,10 @@ void SplashOutputDev::setupScreenParams(double hDPI, double vDPI) {
if (screenParams.dotRadius < 0) { if (screenParams.dotRadius < 0) {
screenParams.dotRadius = 2; screenParams.dotRadius = 2;
} }
break; } else {
case screenUnset: screenParams.type = splashScreenDispersed;
default: if (screenParams.size < 0) {
// use clustered dithering for resolution >= 300 dpi screenParams.size = 4;
// (compare to 299.9 to avoid floating point issues)
if (hDPI > 299.9 && vDPI > 299.9) {
screenParams.type = splashScreenStochasticClustered;
if (screenParams.size < 0) {
screenParams.size = 64;
}
if (screenParams.dotRadius < 0) {
screenParams.dotRadius = 2;
}
} else {
screenParams.type = splashScreenDispersed;
if (screenParams.size < 0) {
screenParams.size = 4;
}
} }
} }
} }
...@@ -1558,7 +1534,7 @@ void SplashOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) { ...@@ -1558,7 +1534,7 @@ void SplashOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) {
} }
splash = new Splash(bitmap, vectorAntialias, &screenParams); splash = new Splash(bitmap, vectorAntialias, &screenParams);
splash->setThinLineMode(thinLineMode); splash->setThinLineMode(thinLineMode);
splash->setMinLineWidth(globalParams->getMinLineWidth()); splash->setMinLineWidth(s_minLineWidth);
if (state) { if (state) {
ctm = state->getCTM(); ctm = state->getCTM();
mat[0] = (SplashCoord)ctm[0]; mat[0] = (SplashCoord)ctm[0];
...@@ -1600,7 +1576,7 @@ void SplashOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) { ...@@ -1600,7 +1576,7 @@ void SplashOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) {
splash->setFlatness(1); splash->setFlatness(1);
// the SA parameter supposedly defaults to false, but Acrobat // the SA parameter supposedly defaults to false, but Acrobat
// apparently hardwires it to true // apparently hardwires it to true
splash->setStrokeAdjust(globalParams->getStrokeAdjust()); splash->setStrokeAdjust(gTrue);
splash->clear(paperColor, 0); splash->clear(paperColor, 0);
} }
...@@ -2854,7 +2830,7 @@ void SplashOutputDev::type3D1(GfxState *state, double wx, double wy, ...@@ -2854,7 +2830,7 @@ void SplashOutputDev::type3D1(GfxState *state, double wx, double wy,
splash->clear(color); splash->clear(color);
color[0] = 0xff; color[0] = 0xff;
} }
splash->setMinLineWidth(globalParams->getMinLineWidth()); splash->setMinLineWidth(s_minLineWidth);
splash->setThinLineMode(splashThinLineDefault); splash->setThinLineMode(splashThinLineDefault);
splash->setFillPattern(new SplashSolidColor(color)); splash->setFillPattern(new SplashSolidColor(color));
splash->setStrokePattern(new SplashSolidColor(color)); splash->setStrokePattern(new SplashSolidColor(color));
...@@ -4315,7 +4291,7 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, double *bbox, ...@@ -4315,7 +4291,7 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, double *bbox,
#endif #endif
} }
splash->setThinLineMode(transpGroup->origSplash->getThinLineMode()); splash->setThinLineMode(transpGroup->origSplash->getThinLineMode());
splash->setMinLineWidth(globalParams->getMinLineWidth()); splash->setMinLineWidth(s_minLineWidth);
//~ Acrobat apparently copies at least the fill and stroke colors, and //~ Acrobat apparently copies at least the fill and stroke colors, and
//~ maybe other state(?) -- but not the clipping path (and not sure //~ maybe other state(?) -- but not the clipping path (and not sure
//~ what else) //~ what else)
...@@ -4731,7 +4707,7 @@ GBool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *ca ...@@ -4731,7 +4707,7 @@ GBool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *ca
splash->clear(paperColor, 0); splash->clear(paperColor, 0);
} }
splash->setThinLineMode(formerSplash->getThinLineMode()); splash->setThinLineMode(formerSplash->getThinLineMode());
splash->setMinLineWidth(globalParams->getMinLineWidth()); splash->setMinLineWidth(s_minLineWidth);
box.x1 = bbox[0]; box.y1 = bbox[1]; box.x1 = bbox[0]; box.y1 = bbox[1];
box.x2 = bbox[2]; box.y2 = bbox[3]; box.x2 = bbox[2]; box.y2 = bbox[3];
......
...@@ -2599,8 +2599,7 @@ void TextPage::addChar(GfxState *state, double x, double y, ...@@ -2599,8 +2599,7 @@ void TextPage::addChar(GfxState *state, double x, double y,
} }
// check the tiny chars limit // check the tiny chars limit
if (!globalParams->getTextKeepTinyChars() && if (fabs(w1) < 3 && fabs(h1) < 3) {
fabs(w1) < 3 && fabs(h1) < 3) {
if (++nTinyChars > 50000) { if (++nTinyChars > 50000) {
charPos += nBytes; charPos += nBytes;
return; return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment