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(a)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(a)suse.cz
-Patch0: %{name}-no-hinting.patch
+# PATCH-FIX-UPSTREAM poppler-force-no-hinting.patch pgajdos(a)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(a)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(a)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(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org