sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 19 +++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-)
New commits: commit 7963d2b0f6fe006c215607eda1c51acf1d7273b5 Author: Vort <vv...@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 <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@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;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits