Kaydet (Commit) 6b5ef795 authored tarafından Miklos Vajna's avatar Miklos Vajna

fdo#74709 RTF import: implement RTF_CLPAD*

Change-Id: I482735e3fc4091be983b2c7484e086f5d0dd283a
üst ada1e6d8
{\rtf1\ansi\deff4\adeflang1025
\deftab720
\viewscale100
{\*\pgdsctbl
{\pgdsc0\pgdscuse451\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Default Style;}
}
\formshade\paperh16838\paperw11906\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\sectunlocked1\pgndec\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0
\clbrdrt\brdrhair\brdrw1\brdrcf1\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4819
\clbrdrt\brdrhair\brdrw1\brdrcf1\clpadfl3\clpadl58
\clbrdrl\brdrhair\brdrw1\brdrcf1\clpadft3\clpadt58
\clbrdrb\brdrhair\brdrw1\brdrcf1\clpadfb3\clpadb58
\clbrdrr\brdrhair\brdrw1\brdrcf1\clpadfr3\clpadr360\cellx9638
\pgndec\pard\plain \s20\noline\intbl\qr
{\rtlch \ltrch\loch 1.23}
\cell
\pard\plain \s20\noline\intbl\qr
{\rtlch \ltrch\loch 4.56}
\cell\row
\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0
\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4819
\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638
\pard\plain \s20\noline\intbl
{\rtlch \ltrch\loch first word}
\cell
\pard\plain \s20\noline\intbl
{\rtlch \ltrch\loch second word}
\cell\row
\pard\pard\plain \s0\nowidctlpar
{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}
\cf0\kerning1\dbch\af5\langfe2052\dbch\af6\afs24\alang1081\loch\f4\fs24\lang2057\rtlch \ltrch\loch
\par }
......@@ -595,6 +595,13 @@ DECLARE_RTFEXPORT_TEST(testFdo68787, "fdo68787.rtf")
CPPUNIT_ASSERT_EQUAL(sal_Int32(25), getProperty<sal_Int32>(xPageStyle, "FootnoteLineRelativeWidth"));
}
DECLARE_RTFEXPORT_TEST(testFdo74709, "fdo74709.rtf")
{
uno::Reference<table::XCell> xCell = getCell(getParagraphOrTable(1), "B1");
// This was 0, as top/bottom/left/right padding wasn't imported.
CPPUNIT_ASSERT_EQUAL(sal_Int32(TWIP_TO_MM100(360)), getProperty<sal_Int32>(xCell, "RightBorderDistance"));
}
#endif
CPPUNIT_PLUGIN_IMPLEMENT();
......
......@@ -3734,6 +3734,34 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
case RTF_TS:
m_aStates.top().bHasTableStyle = true;
break;
case RTF_CLPADB:
case RTF_CLPADL:
case RTF_CLPADR:
case RTF_CLPADT:
{
RTFSprms aAttributes;
aAttributes.set(NS_ooxml::LN_CT_TblWidth_type, RTFValue::Pointer_t(new RTFValue(NS_ooxml::LN_Value_ST_TblWidth_dxa)));
aAttributes.set(NS_ooxml::LN_CT_TblWidth_w, RTFValue::Pointer_t(new RTFValue(nParam)));
switch (nKeyword)
{
case RTF_CLPADB:
nSprm = NS_ooxml::LN_CT_TcMar_bottom;
break;
case RTF_CLPADL:
nSprm = NS_ooxml::LN_CT_TcMar_left;
break;
case RTF_CLPADR:
nSprm = NS_ooxml::LN_CT_TcMar_right;
break;
case RTF_CLPADT:
nSprm = NS_ooxml::LN_CT_TcMar_top;
break;
default:
break;
}
lcl_putNestedSprm(m_aStates.top().aTableCellSprms, NS_ooxml::LN_CT_TcPrBase_tcMar, nSprm, RTFValue::Pointer_t(new RTFValue(aAttributes)));
}
break;
default:
{
SAL_INFO("writerfilter", "TODO handle value '" << lcl_RtfToString(nKeyword) << "'");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment