summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlvin Penner <penner@vaxxine.com>2011-01-27 23:42:51 +0000
committerAlvin Penner <penner@vaxxine.com>2011-01-27 23:42:51 +0000
commit92bc8e6b4a43a30db9a9aff628bde011434cef0d (patch)
tree044d2d4ce3a550cabe3e6e9a3a39d06b1982d247 /src
parentExtensions. XAML export improvements (gradients, clipping) and minor fixes. (diff)
downloadinkscape-92bc8e6b4a43a30db9a9aff628bde011434cef0d.tar.gz
inkscape-92bc8e6b4a43a30db9a9aff628bde011434cef0d.zip
emf import : recalculate text alignment for rotated text (Bug 341847)
(bzr r10019)
Diffstat (limited to 'src')
-rw-r--r--src/extension/internal/emf-win32-inout.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/extension/internal/emf-win32-inout.cpp b/src/extension/internal/emf-win32-inout.cpp
index d147a0c81..c817f6d46 100644
--- a/src/extension/internal/emf-win32-inout.cpp
+++ b/src/extension/internal/emf-win32-inout.cpp
@@ -1777,8 +1777,13 @@ myEnhMetaFileProc(HDC /*hDC*/, HANDLETABLE * /*lpHTable*/, ENHMETARECORD const *
}
if (!(d->dc[d->level].textAlign & TA_BOTTOM))
- y1 += fabs(d->dc[d->level].style.font_size.computed);
-
+ if (d->dc[d->level].style.text_transform.value) {
+ x1 += std::sin(d->dc[d->level].style.text_transform.value*M_PI/180.0)*fabs(d->dc[d->level].style.font_size.computed);
+ y1 += std::cos(d->dc[d->level].style.text_transform.value*M_PI/180.0)*fabs(d->dc[d->level].style.font_size.computed);
+ }
+ else
+ y1 += fabs(d->dc[d->level].style.font_size.computed);
+
double x = pix_to_x_point(d, x1, y1);
double y = pix_to_y_point(d, x1, y1);