summaryrefslogtreecommitdiff
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-06 01:53:52 +0200
commit43f2bd4c785174a58decebf259cd66cf78440e8b (patch)
tree5dc063fc97d4008031e12a6b88bd8d6ac4eda958
parent231b393b14012959f3271e522c2829c177068bc5 (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 (cherry picked from commit 5f0c969f43538e8a92ed37c27fab228d97b1bebe)
-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 86387e934ec5..91d5d941cfa2 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -2217,10 +2217,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 6864c7b8e798..f88f49441f01 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,