[Libreoffice-commits] core.git: 2 commits - cui/source editeng/source sw/qa writerfilter/source
László Németh (via logerrit)
logerrit at kemper.freedesktop.org
Wed May 29 12:32:09 UTC 2019
cui/source/tabpages/chardlg.cxx | 3 +++
editeng/source/items/textitem.cxx | 3 ++-
sw/qa/extras/ooxmlexport/data/test_tdf120412.docx |binary
sw/qa/extras/ooxmlexport/ooxmlexport10.cxx | 11 +++++++++++
writerfilter/source/dmapper/DomainMapper.cxx | 2 ++
5 files changed, 18 insertions(+), 1 deletion(-)
New commits:
commit 868d9212a1b4cce7faa3eabc047ab7f312c613de
Author: László Németh <nemeth at numbertext.org>
AuthorDate: Wed May 29 11:56:50 2019 +0200
Commit: László Németh <nemeth at numbertext.org>
CommitDate: Wed May 29 14:31:15 2019 +0200
tdf#120412 character formatting UI: allow >100% raising
in superscript/subscript text positions instead of
changing the greater values (eg. imported from DOCX)
to 100% by accident, simply using the character
formatting window.
Change-Id: I3adf6445070c183bd6005a02239962f18f504f9d
Reviewed-on: https://gerrit.libreoffice.org/73151
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth at numbertext.org>
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index 9236a26a2dbd..d1340a4463b3 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -2704,6 +2704,9 @@ void SvxCharPositionPage::Reset( const SfxItemSet* rSet )
m_nSuperProp = static_cast<sal_uInt8>(sUser.getToken( 0, ';', nIdx ).toInt32());
m_nSubProp = static_cast<sal_uInt8>(sUser.getToken( 0, ';', nIdx ).toInt32());
+ // tdf#120412 up to 14400% (eg. 1584 pt with 11 pt letters)
+ m_xHighLowMF->set_max(14400, FieldUnit::PERCENT);
+
//fdo#75307 validate all the entries and discard all of them if any are
//out of range
bool bValid = true;
commit bdfb3edb981ff04f1f3f6dc1ef335e37a0980245
Author: Jozsef Szakacs <zmx3 at citromail.hu>
AuthorDate: Wed Mar 13 12:32:20 2019 +0100
Commit: László Németh <nemeth at numbertext.org>
CommitDate: Wed May 29 14:31:03 2019 +0200
tdf#120412 DOCX filter: fix missing superscript
by editeng support of large superscript raising.
Maximal raising of superscript text is 1584 pt in MSO,
while LibreOffice didn't import the values greater
than 100% of the current font height. Using the maximal
percent value of the default 11 pt font, the limit
is 14400% now, fixing most of the import problems.
Greater raisings will be limited to 14400% during the
DOCX import.
Note: the standard doesn't limit the bigger percent
values, see "20.374 style:text-position" and
"18.3.23 percent" in OpenDocument 1.2.
Change-Id: I3d0d08f273f2067180f74fba40c47d62364fcc59
Reviewed-on: https://gerrit.libreoffice.org/69164
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth at numbertext.org>
diff --git a/editeng/source/items/textitem.cxx b/editeng/source/items/textitem.cxx
index 13c5c04ffbbe..e4ce386c68c9 100644
--- a/editeng/source/items/textitem.cxx
+++ b/editeng/source/items/textitem.cxx
@@ -1782,7 +1782,8 @@ bool SvxEscapementItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
case MID_ESC:
{
sal_Int16 nVal = sal_Int16();
- if( (rVal >>= nVal) && (std::abs(nVal) <= 101))
+ // tdf#120412 up to 14400% (eg. 1584 pt with 11 pt letters)
+ if( (rVal >>= nVal) && (std::abs(nVal) <= 14400))
nEsc = nVal;
else
return false;
diff --git a/sw/qa/extras/ooxmlexport/data/test_tdf120412.docx b/sw/qa/extras/ooxmlexport/data/test_tdf120412.docx
new file mode 100644
index 000000000000..6ce527842c9b
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/test_tdf120412.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx
index 3b1250f11fd9..9cb85a8d11f0 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx
@@ -203,6 +203,17 @@ DECLARE_OOXMLEXPORT_TEST(textboxWpgOnly, "textbox-wpg-only.docx")
CPPUNIT_ASSERT_EQUAL(sal_Int32(100), getProperty<sal_Int32>(getRun(getParagraphOfText(1, xText), 1), "CharEscapementHeight"));
}
+DECLARE_OOXMLEXPORT_TEST(testFontEsc, "test_tdf120412.docx")
+{
+ xmlDocPtr pXmlDoc =parseExport("word/document.xml");
+ if (!pXmlDoc)
+ return;
+ // don't lose the run with superscript formatting
+ assertXPath(pXmlDoc, "/w:document/w:body/w:p/w:r", 2);
+ // raising is greater, than 100%
+ assertXPath(pXmlDoc, "/w:document/w:body/w:p/w:r[2]/w:rPr/w:position","val", "24");
+}
+
DECLARE_OOXMLEXPORT_TEST(testMceWpg, "mce-wpg.docx")
{
// Make sure that we read the primary branch, if wpg is requested as a feature.
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index cc7b7c720e05..6276d56a1b01 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -2839,6 +2839,8 @@ 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;
rContext->Insert(PROP_CHAR_ESCAPEMENT, uno::makeAny( nEscapement ) );
rContext->Insert(PROP_CHAR_ESCAPEMENT_HEIGHT, uno::makeAny( nProp ) );
}
More information about the Libreoffice-commits
mailing list