diff options
author | Zhe Wang <wangzcdl@apache.org> | 2012-09-07 04:33:47 +0000 |
---|---|---|
committer | Xisco Fauli <anistenis@gmail.com> | 2013-03-13 20:14:05 +0100 |
commit | 58b6a6161e7edd10d33fdb67510e7d68440128f9 (patch) | |
tree | 442490b67a558e49617a9991a2bc6b787c1b0ca9 | |
parent | 9a4fb0643e51cb89649000493e8c5dac5a306bc4 (diff) |
Fix issue #120627#: [From Symphony]the text on the Y axis is reversed when export ppt file to PDF format.
* subversion/main/vcl/source/gdi/pdfwriter_impl.cxx
[]Change nXOffset value from the distance of axis Y between two points to the distance between two points.
Patch by: Tang Meng<tmyl2010@gmail.com>
Suggested by: Wang Zhe <kingwisemmx@gmail.com>
Found by: Tang Meng <tmyl2010@gmail.com>
Review by: Wang Zhe <kingwisemmx@gmail.com>
-rw-r--r-- | vcl/source/gdi/pdfwriter_impl.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index 636cd94cdf07..9244b5711f1c 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -7514,7 +7514,12 @@ void PDFWriterImpl::drawVerticalGlyphs( } aDeltaPos += (m_pReferenceDevice->PixelToLogic( Point( (int)((double)nXOffset/fXScale), 0 ) ) - m_pReferenceDevice->PixelToLogic( Point() ) ); if( i < rGlyphs.size()-1 ) - nXOffset += rGlyphs[i+1].m_aPos.Y() - rGlyphs[i].m_aPos.Y(); + // [Bug 120627] the text on the Y axis is reversed when export ppt file to PDF format + { + long nOffsetX = rGlyphs[i+1].m_aPos.X() - rGlyphs[i].m_aPos.X(); + long nOffsetY = rGlyphs[i+1].m_aPos.Y() - rGlyphs[i].m_aPos.Y(); + nXOffset += (int)sqrt(double(nOffsetX*nOffsetX + nOffsetY*nOffsetY)); + } if( ! rGlyphs[i].m_nGlyphId ) continue; |