[Libreoffice-commits] core.git: sdext/source
Vort
vvort at yandex.ru
Mon Mar 3 07:21:20 PST 2014
sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 19 +++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
New commits:
commit 7963d2b0f6fe006c215607eda1c51acf1d7273b5
Author: Vort <vvort at yandex.ru>
Date: Sun Mar 2 13:01:05 2014 +0200
fdo#40513 PDF Import: Hack: Replace incorrect values of font's ascent property
Change-Id: Ib7bd6e15fff5213b5d935c6f03f2c65ea3f6ca50
Reviewed-on: https://gerrit.libreoffice.org/8416
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index 391f755..c5b145f 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -792,12 +792,29 @@ void PDFOutDev::drawChar(GfxState *state, double x, double y,
if( u == NULL )
return;
+ GfxFont* font = state->getFont();
+ double ascent = font->getAscent();
+ GooString* fontName = font->getName();
+
+ // Hackfix until incorrect ascent values are fixed in poppler (fdo#75667)
+ if ((fontName->cmpN("Arial", 5) == 0) &&
+ (ascent > 0.717) && (ascent < 0.719))
+ {
+ ascent = 0.905;
+ }
+ else if ((fontName->cmpN("Times New Roman", 15) == 0) &&
+ (ascent > 0.682) && (ascent < 0.684))
+ {
+ ascent = 0.891;
+ }
+
// normalize coordinates: correct from baseline-relative to upper
// left corner of glyphs
double x2(0.0), y2(0.0);
state->textTransformDelta( 0.0,
- state->getFont()->getAscent(),
+ ascent,
&x2, &y2 );
+
const double fFontSize(state->getFontSize());
x += x2*fFontSize;
y += y2*fFontSize;
More information about the Libreoffice-commits
mailing list