1 diff -rup oox-orig-2/source/export/drawingml.cxx oox/source/export/drawingml.cxx
2 --- oox-orig-2/source/export/drawingml.cxx 2009-06-03 12:13:46.000000000 +0200
3 +++ oox/source/export/drawingml.cxx 2009-06-03 16:27:53.000000000 +0200
5 #include <com/sun/star/i18n/ScriptType.hpp>
6 #include <com/sun/star/io/XOutputStream.hpp>
7 #include <com/sun/star/style/ParagraphAdjust.hpp>
8 +#include <com/sun/star/text/WritingMode.hpp>
9 #include <com/sun/star/text/XText.hpp>
10 #include <com/sun/star/text/XTextContent.hpp>
11 #include <com/sun/star/text/XTextField.hpp>
13 using namespace ::com::sun::star;
14 using namespace ::com::sun::star::uno;
15 using namespace ::com::sun::star::drawing;
16 +using namespace ::com::sun::star::text;
17 using namespace ::com::sun::star::i18n;
18 using ::com::sun::star::beans::PropertyState;
19 using ::com::sun::star::beans::PropertyValue;
20 @@ -1181,11 +1183,24 @@ void DrawingML::WriteText( Reference< XS
24 + const char* sWritingMode = NULL;
25 + sal_Bool bVertical = sal_False;
26 + if( GETA( TextWritingMode ) ) {
29 + if( ( mAny >>= eMode ) && eMode == WritingMode_TB_RL ) {
30 + sWritingMode = "vert";
31 + bVertical = sal_True;
35 TextHorizontalAdjust eHorizontalAlignment( TextHorizontalAdjust_CENTER );
36 bool bHorizontalCenter = false;
37 GET( eHorizontalAlignment, TextHorizontalAdjust );
38 if( eHorizontalAlignment == TextHorizontalAdjust_CENTER )
39 bHorizontalCenter = true;
40 + else if( bVertical && eHorizontalAlignment == TextHorizontalAdjust_LEFT )
41 + sVerticalAlignment = "b";
43 sal_Bool bHasWrap = FALSE;
44 sal_Bool bWrap = FALSE;
45 @@ -1203,6 +1218,7 @@ void DrawingML::WriteText( Reference< XS
46 XML_bIns, (nBottom != DEFTBINS) ? IS( MM100toEMU( nBottom ) ) : NULL,
47 XML_anchor, sVerticalAlignment,
48 XML_anchorCtr, bHorizontalCenter ? "1" : NULL,
49 + XML_vert, sWritingMode,
52 Reference< XEnumerationAccess > access( xXText, UNO_QUERY );