[poppler] 2 commits - splash/Splash.cc splash/SplashFTFont.cc
Albert Astals Cid
aacid at kemper.freedesktop.org
Sat Dec 11 11:04:57 PST 2010
splash/Splash.cc | 6 +++---
splash/SplashFTFont.cc | 15 +++++++++------
2 files changed, 12 insertions(+), 9 deletions(-)
New commits:
commit 669cbfc9fd78a22d4f14b0af43143e1f5dc28cd5
Author: Albert Astals Cid <aacid at kde.org>
Date: Sat Dec 11 19:04:22 2010 +0000
Fix the preliminary bbox/clip calculation
Code based in code posted by Suzuki Toshiya in the freetype mailing list
diff --git a/splash/SplashFTFont.cc b/splash/SplashFTFont.cc
index 4516297..5e86311 100644
--- a/splash/SplashFTFont.cc
+++ b/splash/SplashFTFont.cc
@@ -14,6 +14,7 @@
// Copyright (C) 2005, 2007-2010 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2006 Kristian Høgsberg <krh at bitplanet.net>
// Copyright (C) 2009 Petr Gajdos <pgajdos at novell.com>
+// Copyright (C) 2010 Suzuki Toshiya <mpsuzuki at hiroshima-u.ac.jp>
//
// 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
@@ -204,12 +205,14 @@ GBool SplashFTFont::makeGlyph(int c, int xFrac, int yFrac,
return gFalse;
}
- FT_Glyph_Metrics *glyphMetrics = &(ff->face->glyph->metrics);
- // prelimirary values from FT_Glyph_Metrics
- bitmap->x = splashRound(-glyphMetrics->horiBearingX / 64.0);
- bitmap->y = splashRound(glyphMetrics->horiBearingY / 64.0);
- bitmap->w = splashRound(glyphMetrics->width / 64.0);
- bitmap->h = splashRound(glyphMetrics->height / 64.0);
+ // prelimirary values based on FT_Outline_Get_CBox
+ // we add two pixels to each side to be in the safe side
+ FT_BBox cbox;
+ FT_Outline_Get_CBox(&ff->face->glyph->outline, &cbox);
+ bitmap->x = -(cbox.xMin / 64) + 2;
+ bitmap->y = (cbox.yMax / 64) + 2;
+ bitmap->w = ((cbox.xMax - cbox.xMin) / 64) + 4;
+ bitmap->h = ((cbox.yMax - cbox.yMin) / 64) + 4;
*clipRes = clip->testRect(x0 - bitmap->x,
y0 - bitmap->y,
commit 2984002a64acca7014edeadd900dd52cdf7d9eac
Author: Albert Astals Cid <aacid at kde.org>
Date: Sat Dec 11 18:57:52 2010 +0000
Remove the * we just need to increase the pointer
Gives a warning with newer gcc's
diff --git a/splash/Splash.cc b/splash/Splash.cc
index f36f616..bc317a6 100644
--- a/splash/Splash.cc
+++ b/splash/Splash.cc
@@ -2601,7 +2601,7 @@ SplashError Splash::drawImage(SplashImageSource src, void *srcData,
pixAcc0 += *p++;
pixAcc1 += *p++;
pixAcc2 += *p++;
- *p++;
+ p++;
alphaAcc += *q++;
}
p += 4 * (w - m);
@@ -2930,7 +2930,7 @@ SplashError Splash::drawImage(SplashImageSource src, void *srcData,
pixAcc0 += *p++;
pixAcc1 += *p++;
pixAcc2 += *p++;
- *p++;
+ p++;
}
p += 4 * (w - m);
}
@@ -3591,7 +3591,7 @@ SplashError Splash::blitTransparent(SplashBitmap *src, int xSrc, int ySrc,
*p++ = *sp++;
*p++ = *sp++;
*p++ = 255;
- *sp++;
+ sp++;
}
}
break;
More information about the poppler
mailing list