Index: writerfilter/source/dmapper/DomainMapper.cxx =================================================================== --- writerfilter/source/dmapper/DomainMapper.cxx (revision 1373256) +++ writerfilter/source/dmapper/DomainMapper.cxx (working copy) @@ -119,11 +119,11 @@ uno::Reference< io::XInputStream > xInputStream, uno::Reference< lang::XComponent > xModel, SourceDocumentType eDocumentType) : -LoggedProperties(dmapper_logger, "DomainMapper"), -LoggedTable(dmapper_logger, "DomainMapper"), -LoggedStream(dmapper_logger, "DomainMapper"), + LoggedProperties(dmapper_logger, "DomainMapper"), + LoggedTable(dmapper_logger, "DomainMapper"), + LoggedStream(dmapper_logger, "DomainMapper"), m_pImpl( new DomainMapper_Impl( *this, xContext, xModel, eDocumentType )), - mnBackgroundColor(0), mbIsHighlightSet(false) + mnBackgroundColor(0), mbIsHighlightSet(false), mbIsInComments(false) { // #i24363# tab stops relative to indent m_pImpl->SetDocumentSettingsProperty( @@ -3025,12 +3025,24 @@ case 71 : //"sprmCDxaSpace" case 96 : //"sprmCDxaSpace" case NS_sprm::LN_CDxaSpace: // sprmCDxaSpace - /* WRITERFILTERSTATUS: done: 50, planned: 2, spent: 0 */ - //Kerning half point values - //TODO: there are two kerning values - - // in ww8par6.cxx NS_sprm::LN_CHpsKern is used as boolean AutoKerning - rContext->Insert(PROP_CHAR_CHAR_KERNING, true, uno::makeAny( sal_Int16(ConversionHelper::convertTwipToMM100(sal_Int16(nIntValue))) ) ); + { + /* WRITERFILTERSTATUS: done: 50, planned: 2, spent: 0 */ + //Kerning half point values + //TODO: there are two kerning values - + // in ww8par6.cxx NS_sprm::LN_CHpsKern is used as boolean AutoKerning + sal_Int16 nResult = static_cast(ConversionHelper::convertTwipToMM100(nIntValue)); + if (mbIsInComments) + { + nResult = static_cast(nIntValue); + } + rContext->Insert(PROP_CHAR_CHAR_KERNING, true, uno::makeAny(nResult)); + } break; + case NS_ooxml::LN_readingComment: + { + mbIsInComments = !mbIsInComments; + } + break; case NS_sprm::LN_CHpsKern: // sprmCHpsKern auto kerning is bound to a minimum font size in Word - but not in Writer :-( /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ rContext->Insert(PROP_CHAR_AUTO_KERNING, true, uno::makeAny( true ) ); @@ -4420,7 +4432,7 @@ m_pImpl->clearDeferredBreaks(); } - if( pContext->GetFootnote().is() && m_pImpl->IsCustomFtnMark() ) + if( pContext && pContext->GetFootnote().is() && m_pImpl->IsCustomFtnMark() ) { pContext->GetFootnote()->setLabel( sText ); m_pImpl->SetCustomFtnMark( false ); Index: writerfilter/source/ooxml/model.xml =================================================================== --- writerfilter/source/ooxml/model.xml (revision 1373256) +++ writerfilter/source/ooxml/model.xml (working copy) @@ -38,6 +38,7 @@ + @@ -23391,8 +23392,10 @@ + + Index: writerfilter/inc/dmapper/DomainMapper.hxx =================================================================== --- writerfilter/inc/dmapper/DomainMapper.hxx (revision 1373256) +++ writerfilter/inc/dmapper/DomainMapper.hxx (working copy) @@ -144,7 +144,8 @@ com::sun::star::style::TabAlign getTabAlignFromValue(const sal_Int32 nIntValue); sal_Unicode getFillCharFromValue(const sal_Int32 nIntValue); sal_Int32 mnBackgroundColor; - bool mbIsHighlightSet; + bool mbIsHighlightSet:1; + bool mbIsInComments:1; }; } // namespace dmapper