summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2019-04-29 20:01:21 +0200
committerMiklos Vajna <vmiklos@collabora.com>2019-07-04 15:51:45 +0200
commitebe59762e87f3a9334af3db4bea5d99c850c79c8 (patch)
tree633286329ec50d272515d6cbc9dd21ab39c326a8 /xmloff
parente8a37aa36fe0910ca319862b01fa31facc3c555b (diff)
sw btlr writing mode: implement ODF filter for textframes
Layout is still not yet correct right after the import, though. Change-Id: Icdba2e8d608f35b6b5b43b88ffb223f779af1b89 Reviewed-on: https://gerrit.libreoffice.org/71552 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit cd2a7acd789297e613424a59b2fe24cedd9a72b6)
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/source/style/prhdlfac.cxx1
-rw-r--r--xmloff/source/style/xmlexppr.cxx15
-rw-r--r--xmloff/source/text/txtprmap.cxx1
3 files changed, 16 insertions, 1 deletions
diff --git a/xmloff/source/style/prhdlfac.cxx b/xmloff/source/style/prhdlfac.cxx
index 539967955d77..fdafb8dc38de 100644
--- a/xmloff/source/style/prhdlfac.cxx
+++ b/xmloff/source/style/prhdlfac.cxx
@@ -90,6 +90,7 @@ static SvXMLEnumMapEntry<sal_uInt16> const aXML_WritingDirection_Enum[] =
{ XML_RL_TB, text::WritingMode2::RL_TB },
{ XML_TB_RL, text::WritingMode2::TB_RL },
{ XML_TB_LR, text::WritingMode2::TB_LR },
+ { XML_BT_LR, text::WritingMode2::BT_LR },
// alternative names of the above, as accepted by XSL
{ XML_LR, text::WritingMode2::LR_TB },
diff --git a/xmloff/source/style/xmlexppr.cxx b/xmloff/source/style/xmlexppr.cxx
index fc05262c9845..f573516b1d9a 100644
--- a/xmloff/source/style/xmlexppr.cxx
+++ b/xmloff/source/style/xmlexppr.cxx
@@ -974,7 +974,7 @@ void SvXMLExportPropertyMapper::_exportXML(
else if ((mpImpl->mxPropMapper->GetEntryFlags(rProperty.mnIndex) & MID_FLAG_ELEMENT_ITEM_EXPORT ) == 0)
{
OUString aValue;
- const OUString sName = rNamespaceMap.GetQNameByKey(
+ OUString sName = rNamespaceMap.GetQNameByKey(
mpImpl->mxPropMapper->GetEntryNameSpace(rProperty.mnIndex),
mpImpl->mxPropMapper->GetEntryXMLName(rProperty.mnIndex));
@@ -989,6 +989,19 @@ void SvXMLExportPropertyMapper::_exportXML(
{
if( bRemove )
rAttrList.RemoveAttribute( sName );
+
+ if (IsXMLToken(mpImpl->mxPropMapper->GetEntryXMLName(rProperty.mnIndex), XML_WRITING_MODE))
+ {
+ // We don't seem to have a generic mechanism to write an attribute in the extension
+ // namespace in case of certain attribute values only, so do this manually.
+ if (IsXMLToken(aValue, XML_BT_LR))
+ {
+ sName = rNamespaceMap.GetQNameByKey(
+ XML_NAMESPACE_LO_EXT,
+ mpImpl->mxPropMapper->GetEntryXMLName(rProperty.mnIndex));
+ }
+ }
+
rAttrList.AddAttribute( sName, aValue );
}
}
diff --git a/xmloff/source/text/txtprmap.cxx b/xmloff/source/text/txtprmap.cxx
index bcb54cf63086..7908dd5bd90c 100644
--- a/xmloff/source/text/txtprmap.cxx
+++ b/xmloff/source/text/txtprmap.cxx
@@ -849,6 +849,7 @@ XMLPropertyMapEntry const aXMLFramePropMap[] =
// RES_GRFATR_DRAWMODE
MG_E( "GraphicColorMode", DRAW, COLOR_MODE, XML_TYPE_COLOR_MODE, 0 ),
MG_E( "WritingMode", STYLE, WRITING_MODE, XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT, 0 ),
+ MAP_EXT_I("WritingMode", XML_NAMESPACE_LO_EXT, XML_WRITING_MODE, XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT|XML_TYPE_PROP_GRAPHIC, 0),
// RES_FOLLOW_TEXT_FLOW - DVO #i18732#
MG_E( "IsFollowingTextFlow", DRAW, FLOW_WITH_TEXT, XML_TYPE_BOOL|MID_FLAG_SPECIAL_ITEM_EXPORT, CTF_OLD_FLOW_WITH_TEXT ),
MG_E( "IsFollowingTextFlow", STYLE, FLOW_WITH_TEXT, XML_TYPE_BOOL, 0 ),