summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorJian Fang Zhang <zhangjf@apache.org>2012-09-04 07:11:49 +0000
committerXisco Fauli <anistenis@gmail.com>2013-06-03 00:49:41 +0200
commit5f0c969f43538e8a92ed37c27fab228d97b1bebe (patch)
treef45f98982e83a2dd8bc3c2e1302d18bbf648b94c /writerfilter
parent355329a3cdbd8e4f2b7c6032ba0538a9a2a13d86 (diff)
Related: #i119607#, text font spacing in comments doesn't expand/condense...
by the expected value Found by: xiao ting xiao, tingxiaox@gmail.com Patch by: bjcheny, companycy@gmail.com Review by: zhangjf (cherry picked from commit 11fda1bd134b07c5bcaca6186d63107ec9f47b98) Conflicts: writerfilter/source/dmapper/DomainMapper.cxx writerfilter/source/dmapper/DomainMapper_Impl.cxx writerfilter/source/dmapper/DomainMapper_Impl.hxx Change-Id: Iecdaee97e49395df59719d724e1544e1802d947d
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx15
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx4
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.hxx4
3 files changed, 19 insertions, 4 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index 47c332b3badf..f611bda02522 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -2216,10 +2216,17 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType
case 71 : //"sprmCDxaSpace"
case 96 : //"sprmCDxaSpace"
case NS_sprm::LN_CDxaSpace: // sprmCDxaSpace
- //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))) ) );
+ {
+ //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<sal_Int16>(ConversionHelper::convertTwipToMM100(nIntValue));
+ if (m_pImpl->IsInComments())
+ {
+ nResult = static_cast<sal_Int16>(nIntValue);
+ }
+ rContext->Insert(PROP_CHAR_CHAR_KERNING, true, uno::makeAny(nResult));
+ }
break;
case NS_sprm::LN_CHpsKern: // sprmCHpsKern auto kerning is bound to a minimum font size in Word - but not in Writer :-(
rContext->Insert(PROP_CHAR_AUTO_KERNING, true, uno::makeAny( sal_Bool(nIntValue) ) );
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index adf587070097..fbc633d25877 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -182,6 +182,7 @@ DomainMapper_Impl::DomainMapper_Impl(
m_bParaChanged( false ),
m_bIsFirstParaInSection( true ),
m_bIsLastParaInSection( false ),
+ m_bIsInComments( false ),
m_bParaSectpr( false ),
m_bUsingEnhancedFields( false ),
m_bSdt(false),
@@ -189,6 +190,7 @@ DomainMapper_Impl::DomainMapper_Impl(
m_bIsNewDoc(bIsNewDoc),
m_bInTableStyleRunProps(false),
m_pSdtHelper(0)
+
{
appendTableManager( );
GetBodyText();
@@ -1571,6 +1573,7 @@ void DomainMapper_Impl::PushAnnotation()
try
{
PropertyMapPtr pTopContext = GetTopContext();
+ m_bIsInComments = true;
if (!GetTextFactory().is())
return;
m_xAnnotationField = uno::Reference< beans::XPropertySet >( GetTextFactory()->createInstance(
@@ -1600,6 +1603,7 @@ void DomainMapper_Impl::PopAnnotation()
{
RemoveLastParagraph();
+ m_bIsInComments = false;
m_aTextAppendStack.pop();
try
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
index fba658aafb3f..dc7f2dd4e445 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
@@ -363,6 +363,7 @@ private:
bool m_bParaChanged;
bool m_bIsFirstParaInSection;
bool m_bIsLastParaInSection;
+ bool m_bIsInComments;
/// If the current paragraph contains section property definitions.
bool m_bParaSectpr;
bool m_bUsingEnhancedFields;
@@ -634,7 +635,10 @@ public:
void SetCustomFtnMark(bool bSet) { m_bIsCustomFtnMark = bSet; }
bool IsCustomFtnMark() const { return m_bIsCustomFtnMark; }
+ bool IsInComments() const { return m_bIsInComments; };
+
void CheckUnregisteredFrameConversion( );
+
void RegisterFrameConversion(
::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > xFrameStartRange,
::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > xFrameEndRange,