To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=86769
User tora changed the following: What |Old value |New value ================================================================================ CC|'' |'tora' -------------------------------------------------------------------------------- Summary|WW8: Imported WordArt obje|WW8: WordArt gets imported |ct is located in wrong pos| at wrong position in case |ition on vertical page lay| of vertical writing |out | -------------------------------------------------------------------------------- ------- Additional comments from [EMAIL PROTECTED] Thu Jun 26 07:55:35 +0000 2008 ------- Through an experiment aiming to look into the cause of this issue, the following facts have been found: - The measurement system of WordArt is altered in case of vertical writing. - That of Writer is NOT changed in case of vertical writing. - Measurement conversion from Word in vertical writing to Writer can be implemented in the following way: Index: ww8graf.cxx =================================================================== RCS file: /cvs/sw/sw/source/filter/ww8/ww8graf.cxx,v retrieving revision 1.151 diff -U 63 -r1.151 ww8graf.cxx --- ww8graf.cxx 10 Apr 2008 17:23:45 -0000 1.151 +++ ww8graf.cxx 26 Jun 2008 07:33:14 -0000 @@ -2435,126 +2435,142 @@ SwFrmFmt* SwWW8ImplReader::Read_GrafLayer( long nGrafAnchorCp ) { ...(omitted)... WW8_FSPA_SHADOW* pFS = (WW8_FSPA_SHADOW*)pF0; WW8_FSPA* pF; #ifdef __WW8_NEEDS_COPY WW8_FSPA aFSFA; pF = &aFSFA; WW8FSPAShadowToReal( pFS, pF ); #else pF = (WW8_FSPA*)pFS; #endif // defined __WW8_NEEDS_COPY if( !pF->nSpId ) { ASSERT( !this, "+Wo ist die Grafik (3) ?" ); return 0; } if (!pMSDffManager->GetModel()) pMSDffManager->SetModel(pDrawModel, 1440); + // --> #i86769# + fprintf(stderr, " nXaLeft = %ld, nYaTop = %ld, nXaRight = %ld, nYaBottom = %ld\n", pF->nXaLeft, pF->nYaTop, pF->nXaRight, pF->nYaBottom); + if (1) // Todo: need to determine if the TextFlow is in vertical writing. + { + // In case of vertical writing, the mesurment system of Word should be converted into that of Writer. + sal_Int32 nLeft = pF->nXaLeft; + sal_Int32 nTop = pF->nYaTop; + sal_Int32 nRight = pF->nXaRight; + sal_Int32 nBottom = pF->nYaBottom; + pF->nXaLeft = nTop; + pF->nYaTop = 0 - nRight; + pF->nXaRight = nRight - nLeft + nTop; + pF->nYaBottom = nBottom - nTop - nRight; + } + fprintf(stderr, " nXaLeft = %ld, nYaTop = %ld, nXaRight = %ld, nYaBottom = %ld\n", pF->nXaLeft, pF->nYaTop, pF->nXaRight, pF->nYaBottom); + // <-- #i86769# Rectangle aRect(pF->nXaLeft, pF->nYaTop, pF->nXaRight, pF->nYaBottom); SvxMSDffImportData aData( aRect ); ...(omitted)... Questions: (a) Is there any practical way to know if the document is in vertical writing within the method SwWW8ImplReader::Read_GrafLayer()? (b) Are there any comments to solve this issue? --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]