diff options
author | Faisal M. Al-Otaibi <fmalotaibi@kacst.edu.sa> | 2013-12-15 08:47:45 +0300 |
---|---|---|
committer | Faisal M. Al-Otaibi <fmalotaibi@kacst.edu.sa> | 2013-12-15 08:47:45 +0300 |
commit | e2de109a7424bc1ab59867dfd23a10db28b7bf9a (patch) | |
tree | 61251e160e9301e161a2946c7ccce70637abbed8 /writerfilter/source | |
parent | 66e68fe28a7bfb37d4fdeee9bed1d9a0ff840935 (diff) |
Revert "DOCX: fdo#72560 better solution for exchange alignment for RTL"
This reverts commit 66e68fe28a7bfb37d4fdeee9bed1d9a0ff840935.
there some error in this patch.
Diffstat (limited to 'writerfilter/source')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index e60ffbcefb17..06ea11cf4834 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -97,7 +97,7 @@ LoggedProperties(dmapper_logger, "DomainMapper"), LoggedTable(dmapper_logger, "DomainMapper"), LoggedStream(dmapper_logger, "DomainMapper"), m_pImpl( new DomainMapper_Impl( *this, xContext, xModel, eDocumentType, xInsertTextRange, bIsNewDoc )), - mnBackgroundColor(0), mbIsHighlightSet(false) + mnBackgroundColor(0), mbIsHighlightSet(false), mbIsBIDI(false) { // #i24363# tab stops relative to indent m_pImpl->SetDocumentSettingsProperty( @@ -1580,7 +1580,7 @@ sal_Int32 lcl_getCurrentNumberingProperty(uno::Reference<container::XIndexAccess } // In rtl-paragraphs the meaning of left/right are to be exchanged -static bool ExchangeLeftRight( const PropertyMapPtr rContext, DomainMapper_Impl* m_pImpl ) + static bool ExchangeLeftRight( const PropertyMapPtr rContext, bool mbIsBIDI) { bool bExchangeLeftRight = false; PropertyMap::const_iterator aPropParaIte = rContext->find(PROP_WRITING_MODE); @@ -1591,20 +1591,7 @@ static bool ExchangeLeftRight( const PropertyMapPtr rContext, DomainMapper_Impl* bExchangeLeftRight = true; } else - { - // check if there RTL <bidi> in default style for the paragraph - StyleSheetEntryPtr pTable = m_pImpl->GetStyleSheetTable()->FindDefaultParaStyle(); - if ( pTable ) - { - PropertyMap::const_iterator aPropStyle = pTable->pProperties->find(PROP_WRITING_MODE); - if( aPropStyle != pTable->pProperties->end()) - { - sal_Int32 aDirect; - if( (aPropStyle->second.getValue() >>= aDirect) && aDirect == text::WritingMode2::RL_TB ) - bExchangeLeftRight = true; - } - } - } + return mbIsBIDI; return bExchangeLeftRight; } @@ -1634,7 +1621,7 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType break; // sprmPIncLvl case NS_sprm::LN_PJcExtra: // sprmPJc Asian (undocumented) case NS_sprm::LN_PJc: // sprmPJc - handleParaJustification(nIntValue, rContext, ExchangeLeftRight( rContext, m_pImpl )); + handleParaJustification(nIntValue, rContext, ExchangeLeftRight( rContext, mbIsBIDI )); break; case NS_sprm::LN_PFSideBySide: break; // sprmPFSideBySide @@ -1733,7 +1720,7 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType case 17: case NS_sprm::LN_PDxaLeft: // sprmPDxaLeft { - bool bExchangeLeftRight = ExchangeLeftRight( rContext, m_pImpl ); + bool bExchangeLeftRight = ExchangeLeftRight( rContext, mbIsBIDI ); if( NS_sprm::LN_PDxaLeft == nSprmId || 0x17 == nSprmId|| (bExchangeLeftRight && nSprmId == 0x845d) || ( !bExchangeLeftRight && nSprmId == 0x845e)) rContext->Insert( eSprmType == SPRM_DEFAULT ? PROP_PARA_LEFT_MARGIN : PROP_LEFT_MARGIN, @@ -2029,6 +2016,7 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType { if (nIntValue != 0) { + mbIsBIDI = true; rContext->Insert(PROP_WRITING_MODE, uno::makeAny( text::WritingMode2::RL_TB )); rContext->Insert(PROP_PARA_ADJUST, uno::makeAny( style::ParagraphAdjust_RIGHT )); } @@ -3222,6 +3210,7 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType break; case NS_ooxml::LN_CT_PPrBase_pStyle: { + mbIsBIDI = false; m_pImpl->SetCurrentParaStyleId( sStringValue ); StyleSheetTablePtr pStyleTable = m_pImpl->GetStyleSheetTable(); const OUString sConvertedStyleName = pStyleTable->ConvertStyleName( sStringValue, true ); |