summaryrefslogtreecommitdiff
path: root/sdext/source/pdfimport/tree/pdfiprocessor.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sdext/source/pdfimport/tree/pdfiprocessor.cxx')
-rw-r--r--sdext/source/pdfimport/tree/pdfiprocessor.cxx16
1 files changed, 11 insertions, 5 deletions
diff --git a/sdext/source/pdfimport/tree/pdfiprocessor.cxx b/sdext/source/pdfimport/tree/pdfiprocessor.cxx
index 487ba20c01ed..3a670a64c38a 100644
--- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx
+++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx
@@ -277,14 +277,20 @@ void PDFIProcessor::processGlyphLine()
void PDFIProcessor::drawGlyphs( const OUString& rGlyphs,
const geometry::RealRectangle2D& rRect,
- const geometry::Matrix2D& rFontMatrix )
+ const geometry::Matrix2D& rFontMatrix,
+ double fontSize)
{
+ double ascent = getFont(getCurrentContext().FontId).ascent;
+
+ double ascentdx = rFontMatrix.m01 * ascent * fontSize;
+ double ascentdy = rFontMatrix.m11 * ascent * fontSize;
+
basegfx::B2DHomMatrix totalTextMatrix1(
- rFontMatrix.m00, rFontMatrix.m01, rRect.X1,
- rFontMatrix.m10, rFontMatrix.m11, rRect.Y1);
+ rFontMatrix.m00, rFontMatrix.m01, rRect.X1 + ascentdx,
+ rFontMatrix.m10, rFontMatrix.m11, rRect.Y1 + ascentdy);
basegfx::B2DHomMatrix totalTextMatrix2(
- rFontMatrix.m00, rFontMatrix.m01, rRect.X2,
- rFontMatrix.m10, rFontMatrix.m11, rRect.Y2);
+ rFontMatrix.m00, rFontMatrix.m01, rRect.X2 + ascentdx,
+ rFontMatrix.m10, rFontMatrix.m11, rRect.Y2 + ascentdy);
totalTextMatrix1 *= getCurrentContext().Transformation;
totalTextMatrix2 *= getCurrentContext().Transformation;