[Libreoffice-commits] core.git: Branch 'aoo/trunk' - writerfilter/source
writerfilter/source/dmapper/DomainMapper.cxx |6 +- 1 file changed, 5 insertions(+), 1 deletion(-) New commits: commit 37a5b8e281c03bb04148939a510e4836ad6f4cdb Author: Oliver-Rainer Wittmann Date: Tue Oct 7 09:09:30 2014 + 125618: *.docx import: correct detection of paragraph break and line break characters, esp. in context of Chinese text patch by: Mark Hung review by: orw diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index e8a9dd2..d2728e9 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -4520,8 +4520,12 @@ void DomainMapper::lcl_utext(const sal_uInt8 * data_, size_t len) { m_pImpl->getTableManager().utext(data_, len); -if(len == 1 && ((*data_) == 0x0d || (*data_) == 0x07)) +if ( len == 1 + && ( (*(const sal_Unicode*)data_) == 0x0d +|| (*(const sal_Unicode*)data_) == 0x07 ) ) +{ m_pImpl->finishParagraph(m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH)); +} else { ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'aoo/trunk' - writerfilter/source
writerfilter/source/dmapper/CellColorHandler.cxx | 20 +--- writerfilter/source/dmapper/CellColorHandler.hxx |5 +++-- writerfilter/source/dmapper/DomainMapper.cxx | 12 +++- 3 files changed, 31 insertions(+), 6 deletions(-) New commits: commit 29072b501b276ac4d0129a86ab31d0b8634e5283 Author: Steve Yin Date: Thu Jul 3 02:52:17 2014 + Issue 119044 - Highlighter from DOCX file not imported correctly diff --git a/writerfilter/source/dmapper/CellColorHandler.cxx b/writerfilter/source/dmapper/CellColorHandler.cxx index feba9c6..deafbb6 100644 --- a/writerfilter/source/dmapper/CellColorHandler.cxx +++ b/writerfilter/source/dmapper/CellColorHandler.cxx @@ -44,7 +44,7 @@ LoggedProperties(dmapper_logger, "CellColorHandler"), m_nShadowType( 0 ), m_nColor( 0x ), m_nFillColor( 0x ), -m_bParagraph( false ) +m_eType( Others ) { } /*-- 24.04.2007 09:06:35--- @@ -225,8 +225,22 @@ TablePropertyMapPtr CellColorHandler::getProperties() nApplyColor = ( (nRed/1000) << 0x10 ) + ((nGreen/1000) << 8) + nBlue/1000; } -pPropertyMap->Insert( m_bParagraph ? PROP_PARA_BACK_COLOR : PROP_BACK_COLOR, false, -uno::makeAny( nApplyColor )); +sal_Int32 objType = PROP_CHAR_BACK_COLOR; + +switch(m_eType) +{ +case P: +pPropertyMap->Insert( PROP_PARA_BACK_COLOR, false, uno::makeAny( nApplyColor )); +break; +case C: +pPropertyMap->Insert( PROP_CHAR_BACK_COLOR, false, uno::makeAny( nApplyColor )); +break; +case Others: +default: +pPropertyMap->Insert( PROP_BACK_COLOR, false, uno::makeAny( nApplyColor )); +break; +} + return pPropertyMap; } } //namespace dmapper diff --git a/writerfilter/source/dmapper/CellColorHandler.hxx b/writerfilter/source/dmapper/CellColorHandler.hxx index 3ecfe68..b65c4d0 100644 --- a/writerfilter/source/dmapper/CellColorHandler.hxx +++ b/writerfilter/source/dmapper/CellColorHandler.hxx @@ -39,7 +39,8 @@ public: sal_Int32 m_nShadowType; sal_Int32 m_nColor; sal_Int32 m_nFillColor; -bool m_bParagraph; +enum Type {P, C, Others}; +Type m_eType; private: // Properties @@ -52,7 +53,7 @@ public: ::boost::shared_ptrgetProperties(); -void setParagraph() { m_bParagraph = true; } +void setType(Type type) { m_eType = type; } }; typedef boost::shared_ptr< CellColorHandler > CellColorHandlerPtr; }} diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 02248d2..4a06a1e 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -2617,7 +2617,7 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType if( pProperties.get()) { CellColorHandlerPtr pCellColorHandler( new CellColorHandler ); -pCellColorHandler->setParagraph(); +pCellColorHandler->setType(CellColorHandler::P); pProperties->resolve(*pCellColorHandler); rContext->insert( pCellColorHandler->getProperties(), true ); } @@ -3186,6 +3186,16 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType break; // sprmCBrc case NS_sprm::LN_CShd: /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ +{ +writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); +if( pProperties.get()) +{ +CellColorHandlerPtr pCellColorHandler( new CellColorHandler ); +pCellColorHandler->setType(CellColorHandler::C); +pProperties->resolve(*pCellColorHandler); +rContext->insert( pCellColorHandler->getProperties(), true ); +} +} break; // sprmCShd case NS_sprm::LN_CIdslRMarkDel: /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'aoo/trunk' - writerfilter/source
writerfilter/source/dmapper/DomainMapper.cxx| 150 writerfilter/source/dmapper/PropertyMap.cxx |2 writerfilter/source/dmapper/PropertyMap.hxx |2 writerfilter/source/dmapper/StyleSheetTable.cxx |2 4 files changed, 84 insertions(+), 72 deletions(-) New commits: commit 5a15ef3da683566d7bd443f96eeec3a9a3f70aeb Author: Oliver-Rainer Wittmann Date: Tue Feb 25 13:16:12 2014 + 124106: correct handling of paragraph attributes, esp. whose which are providing the default value explicitly diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 6f590f7..f9ef6c5 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -2215,7 +2215,7 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType // bExchangeLeftRight = true; Value::Pointer_t pValue = rSprm.getValue(); sal_Int32 nIntValue = pValue->getInt(); -rtl::OUString sStringValue = pValue->getString(); +const rtl::OUString sStringValue = pValue->getString(); // printf ( "DomainMapper::sprm(0x%.4x, 0x%.4x) [%s]\n", (unsigned int)nSprmId, (unsigned int)nIntValue, ::rtl::OUStringToOString(sStringValue, RTL_TEXTENCODING_DONTKNOW).getStr()); /* WRITERFILTERSTATUS: table: sprmdata */ @@ -2254,11 +2254,14 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType /* WRITERFILTERSTATUS: comment: */ rContext->Insert(PROP_PARA_KEEP_TOGETHER, true, uno::makeAny( nIntValue ? true : false) ); break; + case NS_sprm::LN_PFPageBreakBefore: -/* WRITERFILTERSTATUS: done: 100, planned: 3, spent: 0 */ -/* WRITERFILTERSTATUS: comment: */ -rContext->Insert(PROP_BREAK_TYPE, true, uno::makeAny( com::sun::star::style::BreakType_PAGE_BEFORE ) ); +if ( nIntValue == 1 ) +{ +rContext->Insert( PROP_BREAK_TYPE, true, uno::makeAny( com::sun::star::style::BreakType_PAGE_BEFORE ) ); +} break; // sprmPFPageBreakBefore + case NS_sprm::LN_PBrcl: break; // sprmPBrcl case NS_sprm::LN_PBrcp: @@ -2327,10 +2330,9 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType break; case NS_sprm::LN_PFNoLineNumb: // sprmPFNoLineNumb -/* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 1 */ -/* WRITERFILTERSTATUS: comment: */ -rContext->Insert(PROP_PARA_LINE_NUMBER_COUNT, true, uno::makeAny( nIntValue ? false : true) ); +rContext->Insert(PROP_PARA_LINE_NUMBER_COUNT, true, uno::makeAny( nIntValue != 0 ? false : true) ); break; + case NS_sprm::LN_PChgTabsPapx: // sprmPChgTabsPapx /* WRITERFILTERSTATUS: done: 90, planned: 8, spent: 8 */ /* WRITERFILTERSTATUS: comment: bar tab stops a unavailable */ @@ -2595,10 +2597,11 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType case NS_sprm::LN_PBrcBar: /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmPBrcBar + case NS_sprm::LN_PFNoAutoHyph: // sprmPFNoAutoHyph -/* WRITERFILTERSTATUS: done: 100, planned: 1, spent: 0 */ -rContext->Insert(PROP_PARA_IS_HYPHENATION, true, uno::makeAny( nIntValue ? false : true )); +rContext->Insert(PROP_PARA_IS_HYPHENATION, true, uno::makeAny( nIntValue != 0 ? false : true )); break; + case NS_sprm::LN_PWHeightAbs: /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmPWHeightAbs @@ -2629,15 +2632,16 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType case NS_sprm::LN_PFLocked: /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmPFLocked + case NS_sprm::LN_PFWidowControl: case NS_ooxml::LN_CT_PPrBase_widowControl: -/* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { -uno::Any aVal( uno::makeAny( sal_Int8(nIntValue ? 2 : 0 ))); +uno::Any aVal( uno::makeAny( sal_Int8(nIntValue != 0 ? 2 : 0 ))); rContext->Insert( PROP_PARA_WIDOWS, true, aVal ); rContext->Insert( PROP_PARA_ORPHANS, true, aVal ); } break; // sprmPFWidowControl + case NS_sprm::LN_PRuler: /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmPRuler @@ -2675,34 +2679,47 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType case NS_sprm::LN_PPropRMark: /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmPPropRMark + case NS_sprm::LN_POutLvl: -/* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ { -sal_Int16 nLvl = static_cast< sal_Int16 >( nIntValue ); -if( m_pImpl->IsStyleSheetImport() ) +// - nIntValue == WW
[Libreoffice-commits] core.git: Branch 'aoo/trunk' - writerfilter/source
writerfilter/source/dmapper/DomainMapperTableManager.cxx | 86 +++ writerfilter/source/dmapper/DomainMapperTableManager.hxx | 11 + 2 files changed, 75 insertions(+), 22 deletions(-) New commits: commit 321d104cf2c13582a08a2313ff733fa02bc6610f Author: Oliver-Rainer Wittmann Date: Fri Feb 21 09:53:15 2014 + 123345: assure availability of member data for table style import diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx index bc23e69..cc09b65 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx @@ -81,6 +81,7 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) dmapper_logger->endElement("tablemanager.sprm"); #endif bool bRet = DomainMapperTableManager_Base_t::sprm(rSprm); + if( !bRet ) { bRet = m_pTablePropsHandler->sprm( rSprm ); @@ -89,17 +90,20 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) if ( !bRet ) { bRet = true; -sal_uInt32 nSprmId = rSprm.getId(); -Value::Pointer_t pValue = rSprm.getValue(); -sal_Int32 nIntValue = ((pValue.get() != NULL) ? pValue->getInt() : 0); +const sal_uInt32 nSprmId = rSprm.getId(); +const Value::Pointer_t pValue = rSprm.getValue(); +const sal_Int32 nIntValue = ((pValue.get() != NULL) ? pValue->getInt() : 0); switch ( nSprmId ) { case 0xf661: //sprmTTRLeft left table indent /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ + case 0xf614: // sprmTTPreferredWidth - preferred table width /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ + case NS_ooxml::LN_CT_TblPrBase_tblW: //90722; /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ + case NS_ooxml::LN_CT_TblPrBase_tblInd: //90725 /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { @@ -127,8 +131,9 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) } } break; + case 0x3404:// sprmTTableHeader -case NS_ooxml::LN_CT_TrPrBase_tblHeader: //90704 +case NS_ooxml::LN_CT_TrPrBase_tblHeader: /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ // if nIntValue == 1 then the row is a repeated header line // to prevent later rows from increasing the repeating m_nHeaderRepeat is set to NULL when repeating stops @@ -142,6 +147,7 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) else m_nCurrentHeaderRepeatCount.top() = -1; break; + case 0xd608: // TDefTable /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { @@ -173,6 +179,7 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) } } break; + case 0xD605: // sprmTTableBorders /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { @@ -188,12 +195,15 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) } } break; + case 0xd632 : //sprmTNewSpacing /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ + case 0xd634 : //sprmTNewSpacing /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ //TODO: sprms contain default (TNew) and actual border spacing of cells - not resolvable yet break; + case 0xd613: //sprmTGridLineProps /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ // TODO: needs a handler @@ -211,10 +221,12 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) */ break; + case 0x740a : //sprmTTlp /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ //TODO: Table look specifier break; + case 0x6816 : //unknown case 0x3466 : //unknown case 0x3615 : //unknown @@ -225,6 +237,7 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ bRet = false; break; + case NS_ooxml::LN_CT_TblPrBase_tblStyle: //table style name /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { @@ -233,12 +246,14 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) insertTableProps(pPropMap); } break; + case NS_ooxml::LN_CT_TblGridBase_gridCol: /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { getCurrentGrid()->push_back( ConversionHelper::convertTw
[Libreoffice-commits] core.git: Branch 'aoo/trunk' - writerfilter/source
writerfilter/source/dmapper/DomainMapper.cxx | 29 +++ 1 file changed, 21 insertions(+), 8 deletions(-) New commits: commit 3771f2a8da98fd1ef2ac40a18a2c104c3087b327 Author: Oliver-Rainer Wittmann Date: Mon Jan 20 17:54:32 2014 + 124058: *.docx import - check existence of Style before accessing it diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 742b3cb..2778fec 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -2263,32 +2263,45 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType break; // sprmPBrcl case NS_sprm::LN_PBrcp: break; // sprmPBrcp + case NS_sprm::LN_PIlvl: // sprmPIlvl /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 1 */ /* WRITERFILTERSTATUS: comment: */ -//todo: Numbering level will be implemented in the near future (OOo 3.0?) -if( m_pImpl->IsStyleSheetImport() ) +{ +StyleSheetPropertyMap* pStyleSheetPropertyMap = NULL; +if ( m_pImpl->IsStyleSheetImport() ) { -//style sheets cannot have a numbering rule attached StyleSheetPropertyMap* pStyleSheetPropertyMap = dynamic_cast< StyleSheetPropertyMap* >( rContext.get() ); +} + +if ( pStyleSheetPropertyMap != NULL ) +{ pStyleSheetPropertyMap->SetListLevel( (sal_Int16)nIntValue ); } else +{ rContext->Insert( PROP_NUMBERING_LEVEL, true, uno::makeAny( (sal_Int16)nIntValue )); +} +} break; + case NS_sprm::LN_PIlfo: // sprmPIlfo /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 1 */ /* WRITERFILTERSTATUS: comment: */ { //convert the ListTable entry to a NumberingRules propery and apply it +StyleSheetPropertyMap* pStyleSheetPropertyMap = NULL; +if ( m_pImpl->IsStyleSheetImport() ) +{ +StyleSheetPropertyMap* pStyleSheetPropertyMap = dynamic_cast< StyleSheetPropertyMap* >( rContext.get() ); +} + ListsManager::Pointer pListTable = m_pImpl->GetListTable(); ListDef::Pointer pList = pListTable->GetList( nIntValue ); if( pList.get( ) ) { -if( m_pImpl->IsStyleSheetImport() ) +if ( pStyleSheetPropertyMap != NULL ) { -//style sheets cannot have a numbering rule attached -StyleSheetPropertyMap* pStyleSheetPropertyMap = dynamic_cast< StyleSheetPropertyMap* >( rContext.get() ); pStyleSheetPropertyMap->SetListId( nIntValue ); } else @@ -2299,10 +2312,9 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType } else { -if( m_pImpl->IsStyleSheetImport() ) +if ( pStyleSheetPropertyMap != NULL ) { // set the number id for AbstractNum references -StyleSheetPropertyMap* pStyleSheetPropertyMap = dynamic_cast< StyleSheetPropertyMap* >( rContext.get() ); pStyleSheetPropertyMap->SetNumId( nIntValue ); } else @@ -2313,6 +2325,7 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType } } break; + case NS_sprm::LN_PFNoLineNumb: // sprmPFNoLineNumb /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 1 */ /* WRITERFILTERSTATUS: comment: */ ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'aoo/trunk' - writerfilter/source
writerfilter/source/dmapper/DomainMapper_Impl.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 9549c1c665bad9799021a8fcb3edb0f9adcff8b0 Author: Oliver-Rainer Wittmann Date: Tue Dec 3 08:46:43 2013 + 123797: correct typo for *.docx import - remove additional empty paragraph at imported footnote resp. endnote diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index c6ca332..03be68c 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -1267,7 +1267,7 @@ void DomainMapper_Impl::PushAnnotation() ---*/ void DomainMapper_Impl::PopFootOrEndnote() { -RemoveLastParagraph; +RemoveLastParagraph(); m_aTextAppendStack.pop(); } /*-- 22.12.2008 13:45:15--- ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits