diff options
author | László Németh <nemeth@numbertext.org> | 2019-05-29 16:36:41 +0200 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2019-06-03 16:12:27 +0200 |
commit | 32262b0a537207832d7d126d8427d8949b9e821d (patch) | |
tree | 84e61d097038ecadd77921df2a60f34cab88a343 /writerfilter | |
parent | a2720a24328fcee3bde431dc632c068b266228c9 (diff) |
tdf#120412 char formatting UI: clean-up DFLT_ESC_AUTO
Default auto values must be outside of the new
enlarged range of the superscript/subscript percent values.
Note: the raising limit was modified to 13999 from 14400,
because the RTF unit test tdf112208_hangingIndent.rtf
lost its hanging from the bigger value.
Change-Id: I3a7e9715a27570278ee4ee70f9fc9ad29457e100
Reviewed-on: https://gerrit.libreoffice.org/73166
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 6276d56a1b01..195e360a671d 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -68,6 +68,7 @@ #include <comphelper/types.hxx> #include <comphelper/storagehelper.hxx> #include <comphelper/sequence.hxx> +#include <editeng/escapementitem.hxx> #include <filter/msfilter/util.hxx> #include <sfx2/DocumentMetadataAccess.hxx> #include <unotools/mediadescriptor.hxx> @@ -2206,9 +2207,9 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const PropertyMapPtr& rContext ) sal_Int16 nEscapement = 0; sal_Int8 nProp = 58; if ( sStringValue == "superscript" ) - nEscapement = 101; + nEscapement = DFLT_ESC_AUTO_SUPER; else if ( sStringValue == "subscript" ) - nEscapement = -101; + nEscapement = DFLT_ESC_AUTO_SUB; else nProp = 100; @@ -2839,8 +2840,17 @@ void DomainMapper::processDeferredCharacterProperties( const std::map< sal_Int32 nEscapement = ( nIntValue > 0 ) ? 58: -58; } } + // tdf#120412 up to 14400% (eg. 1584 pt with 11 pt letters) - if( nEscapement > 14400 ) nEscapement = 14400; + if ( nEscapement > MAX_ESC_POS ) + { + nEscapement = MAX_ESC_POS; + } + else if ( nEscapement < -MAX_ESC_POS ) + { + nEscapement = -MAX_ESC_POS; + } + rContext->Insert(PROP_CHAR_ESCAPEMENT, uno::makeAny( nEscapement ) ); rContext->Insert(PROP_CHAR_ESCAPEMENT_HEIGHT, uno::makeAny( nProp ) ); } |