Hello community, here is the log from the commit of package poppler for openSUSE:Factory checked in at Thu May 28 01:19:33 CEST 2009. -------- --- GNOME/poppler/poppler.changes 2009-05-18 04:35:45.000000000 +0200 +++ poppler/poppler.changes 2009-05-21 11:27:21.000000000 +0200 @@ -1,0 +2,8 @@ +Thu May 21 11:15:48 CEST 2009 - pgajdos@suse.cz + +- added GlobalParams::forceNoFTAutoHinting() + - no-hinting.patch + + force-no-hinting.patch +- this patch was upstreamed and should appear in next release + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- poppler-no-hinting.patch New: ---- poppler-force-no-hinting.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ poppler.spec ++++++ --- /var/tmp/diff_new_pack.U13643/_old 2009-05-28 01:16:56.000000000 +0200 +++ /var/tmp/diff_new_pack.U13643/_new 2009-05-28 01:16:56.000000000 +0200 @@ -31,7 +31,7 @@ BuildRequires: update-desktop-files BuildRequires: zlib-devel Version: 0.11.0 -Release: 1 +Release: 2 # Actual version of poppler-data: %define poppler_data_version 0.2.1 # WARNING: After changing versions please call Re or rpmbuild to auto-update spec file: @@ -46,8 +46,8 @@ Summary: PDF Rendering Library Source: %{name}-%{version}.tar.bz2 Source1: %{name}_spec-prepare.sh -# PATCH-FIX-UPSTREAM poppler-no-hinting.patch pgajdos@suse.cz -Patch0: %{name}-no-hinting.patch +# PATCH-FIX-UPSTREAM poppler-force-no-hinting.patch pgajdos@suse.cz +Patch0: %{name}-force-no-hinting.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -597,6 +597,11 @@ %{_datadir}/gtk-doc/html/poppler %changelog +* Thu May 21 2009 pgajdos@suse.cz +- added GlobalParams::forceNoFTAutoHinting() + - no-hinting.patch + + force-no-hinting.patch +- this patch was upstreamed and should appear in next release * Mon May 18 2009 vuntz@novell.com - Update to version 0.11.0: + core: ++++++ poppler-force-no-hinting.patch ++++++ --- poppler/ArthurOutputDev.cc +++ poppler/ArthurOutputDev.cc @@ -104,6 +104,7 @@ #endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H globalParams->getEnableFreeType(), + globalParams->getForceNoFTAutoHinting(), #endif m_painter->testRenderHint(QPainter::TextAntialiasing)); } --- poppler/GlobalParams.cc +++ poppler/GlobalParams.cc @@ -616,6 +616,7 @@ enableFreeType = gTrue; antialias = gTrue; vectorAntialias = gTrue; + forceNoFTAutoHinting = gFalse; strokeAdjust = gTrue; screenType = screenUnset; screenSize = -1; @@ -1380,6 +1381,15 @@ return f; } +GBool GlobalParams::getForceNoFTAutoHinting() { + GBool f; + + lockGlobalParams; + f = forceNoFTAutoHinting; + unlockGlobalParams; + return f; +} + GBool GlobalParams::getStrokeAdjust() { GBool f; @@ -1705,6 +1715,15 @@ unlockGlobalParams; return ok; } + +GBool GlobalParams::setForceNoFTAutoHinting(char *s) { + GBool ok; + + lockGlobalParams; + ok = parseYesNo2(s, &forceNoFTAutoHinting); + unlockGlobalParams; + return ok; +} void GlobalParams::setStrokeAdjust(GBool adjust) { --- poppler/GlobalParams.h +++ poppler/GlobalParams.h @@ -201,6 +201,7 @@ GBool getEnableFreeType(); GBool getAntialias(); GBool getVectorAntialias(); + GBool getForceNoFTAutoHinting(); GBool getStrokeAdjust(); ScreenType getScreenType(); int getScreenSize(); @@ -244,6 +245,7 @@ GBool setEnableFreeType(char *s); GBool setAntialias(char *s); GBool setVectorAntialias(char *s); + GBool setForceNoFTAutoHinting(char *s); void setStrokeAdjust(GBool strokeAdjust); void setScreenType(ScreenType st); void setScreenSize(int size); @@ -326,6 +328,7 @@ GBool enableFreeType; // FreeType enable flag GBool antialias; // anti-aliasing enable flag GBool vectorAntialias; // vector anti-aliasing enable flag + GBool forceNoFTAutoHinting; // force to disable FT autohinting GBool strokeAdjust; // stroke adjustment enable flag ScreenType screenType; // halftone screen type int screenSize; // screen matrix size --- poppler/SplashOutputDev.cc +++ poppler/SplashOutputDev.cc @@ -708,6 +708,7 @@ #endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H globalParams->getEnableFreeType(), + globalParams->getForceNoFTAutoHinting(), #endif allowAntialias && globalParams->getAntialias() && --- splash/SplashFTFont.cc +++ splash/SplashFTFont.cc @@ -54,7 +54,8 @@ SplashFTFont::SplashFTFont(SplashFTFontFile *fontFileA, SplashCoord *matA, SplashCoord *textMatA): - SplashFont(fontFileA, matA, textMatA, fontFileA->engine->aa) + SplashFont(fontFileA, matA, textMatA, fontFileA->engine->aa), + noah(fontFileA->engine->noah) { FT_Face face; double div; @@ -194,23 +195,31 @@ return gFalse; } - // if we have the FT2 bytecode interpreter, autohinting won't be used + if (noah) { + if (FT_Load_Glyph(ff->face, gid, + aa ? FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP + : FT_LOAD_DEFAULT)) { + return gFalse; + } + } else { + // if we have the FT2 bytecode interpreter, autohinting won't be used #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER - if (FT_Load_Glyph(ff->face, gid, - aa ? FT_LOAD_NO_BITMAP : FT_LOAD_DEFAULT)) { - return gFalse; - } + if (FT_Load_Glyph(ff->face, gid, + aa ? FT_LOAD_NO_BITMAP : FT_LOAD_DEFAULT)) { + return gFalse; + } #else - // FT2's autohinting doesn't always work very well (especially with - // font subsets), so turn it off if anti-aliasing is enabled; if - // anti-aliasing is disabled, this seems to be a tossup - some fonts - // look better with hinting, some without, so leave hinting on - if (FT_Load_Glyph(ff->face, gid, - aa ? FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP - : FT_LOAD_DEFAULT)) { - return gFalse; - } + // FT2's autohinting doesn't always work very well (especially with + // font subsets), so turn it off if anti-aliasing is enabled; if + // anti-aliasing is disabled, this seems to be a tossup - some fonts + // look better with hinting, some without, so leave hinting on + if (FT_Load_Glyph(ff->face, gid, + aa ? FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP + : FT_LOAD_DEFAULT)) { + return gFalse; + } #endif + } FT_Glyph_Metrics *glyphMetrics = &(ff->face->glyph->metrics); // prelimirary values from FT_Glyph_Metrics @@ -286,23 +295,31 @@ return -1; } - // if we have the FT2 bytecode interpreter, autohinting won't be used + if (noah) { + if (FT_Load_Glyph(ff->face, gid, + aa ? FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP + : FT_LOAD_DEFAULT)) { + return -1; + } + } else { + // if we have the FT2 bytecode interpreter, autohinting won't be used #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER - if (FT_Load_Glyph(ff->face, gid, - aa ? FT_LOAD_NO_BITMAP : FT_LOAD_DEFAULT)) { - return -1; - } + if (FT_Load_Glyph(ff->face, gid, + aa ? FT_LOAD_NO_BITMAP : FT_LOAD_DEFAULT)) { + return -1; + } #else - // FT2's autohinting doesn't always work very well (especially with - // font subsets), so turn it off if anti-aliasing is enabled; if - // anti-aliasing is disabled, this seems to be a tossup - some fonts - // look better with hinting, some without, so leave hinting on - if (FT_Load_Glyph(ff->face, gid, - aa ? FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP - : FT_LOAD_DEFAULT)) { - return -1; - } + // FT2's autohinting doesn't always work very well (especially with + // font subsets), so turn it off if anti-aliasing is enabled; if + // anti-aliasing is disabled, this seems to be a tossup - some fonts + // look better with hinting, some without, so leave hinting on + if (FT_Load_Glyph(ff->face, gid, + aa ? FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP + : FT_LOAD_DEFAULT)) { + return -1; + } #endif + } // 64.0 is 1 in 26.6 format return ff->face->glyph->metrics.horiAdvance / 64.0 / size; --- splash/SplashFTFont.h +++ splash/SplashFTFont.h @@ -67,6 +67,7 @@ FT_Matrix textMatrix; SplashCoord textScale; double size; + GBool noah; }; #endif // HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H --- splash/SplashFTFontEngine.cc +++ splash/SplashFTFontEngine.cc @@ -56,10 +56,11 @@ // SplashFTFontEngine //------------------------------------------------------------------------ -SplashFTFontEngine::SplashFTFontEngine(GBool aaA, FT_Library libA) { +SplashFTFontEngine::SplashFTFontEngine(GBool aaA, GBool noahA, FT_Library libA) { FT_Int major, minor, patch; aa = aaA; + noah = noahA; lib = libA; // as of FT 2.1.8, CID fonts are indexed by CID instead of GID @@ -68,13 +69,13 @@ (major == 2 && (minor > 1 || (minor == 1 && patch > 7))); } -SplashFTFontEngine *SplashFTFontEngine::init(GBool aaA) { +SplashFTFontEngine *SplashFTFontEngine::init(GBool aaA, GBool noahA) { FT_Library libA; if (FT_Init_FreeType(&libA)) { return NULL; } - return new SplashFTFontEngine(aaA, libA); + return new SplashFTFontEngine(aaA, noahA, libA); } SplashFTFontEngine::~SplashFTFontEngine() { --- splash/SplashFTFontEngine.h +++ splash/SplashFTFontEngine.h @@ -42,7 +42,7 @@ class SplashFTFontEngine { public: - static SplashFTFontEngine *init(GBool aaA); + static SplashFTFontEngine *init(GBool aaA, GBool noahA); ~SplashFTFontEngine(); @@ -57,9 +57,10 @@ private: - SplashFTFontEngine(GBool aaA, FT_Library libA); + SplashFTFontEngine(GBool aaA, GBool noahA, FT_Library libA); GBool aa; + GBool noah; FT_Library lib; GBool useCIDs; --- splash/SplashFontEngine.cc +++ splash/SplashFontEngine.cc @@ -65,6 +65,7 @@ #endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H GBool enableFreeType, + GBool noah, #endif GBool aa) { int i; @@ -82,7 +83,7 @@ #endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H if (enableFreeType) { - ftEngine = SplashFTFontEngine::init(aa); + ftEngine = SplashFTFontEngine::init(aa, noah); } else { ftEngine = NULL; } --- splash/SplashFontEngine.h +++ splash/SplashFontEngine.h @@ -54,6 +54,7 @@ #endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H GBool enableFreeType, + GBool noah, #endif GBool aa); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org