summaryrefslogtreecommitdiff
path: root/writerfilter/source
diff options
context:
space:
mode:
authorFaisal M. Al-Otaibi <fmalotaibi@kacst.edu.sa>2013-12-15 08:47:45 +0300
committerFaisal M. Al-Otaibi <fmalotaibi@kacst.edu.sa>2013-12-15 08:47:45 +0300
commite2de109a7424bc1ab59867dfd23a10db28b7bf9a (patch)
tree61251e160e9301e161a2946c7ccce70637abbed8 /writerfilter/source
parent66e68fe28a7bfb37d4fdeee9bed1d9a0ff840935 (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.cxx25
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 );