Kaydet (Commit) 185e1977 authored tarafından Miklos Vajna's avatar Miklos Vajna

EPUB export: initial span support

Characters under <text:span> (and not only under <text:p>) are now
handled.

Change-Id: Iac353005423d65f446b9f93519957f4caeaf1c7a
Reviewed-on: https://gerrit.libreoffice.org/41164Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
Tested-by: 's avatarJenkins <ci@libreoffice.org>
üst ec630a00
...@@ -18,13 +18,47 @@ namespace writerperfect ...@@ -18,13 +18,47 @@ namespace writerperfect
namespace exp namespace exp
{ {
/// Handler for <text:span>.
class XMLSpanContext : public XMLImportContext
{
public:
XMLSpanContext(XMLImport &rImport);
void SAL_CALL startElement(const OUString &rName, const css::uno::Reference<css::xml::sax::XAttributeList> &xAttribs) override;
void SAL_CALL endElement(const OUString &rName) override;
void SAL_CALL characters(const OUString &rChars) override;
};
XMLSpanContext::XMLSpanContext(XMLImport &rImport)
: XMLImportContext(rImport)
{
}
void XMLSpanContext::startElement(const OUString &/*rName*/, const css::uno::Reference<css::xml::sax::XAttributeList> &/*xAttribs*/)
{
mrImport.GetGenerator().openSpan(librevenge::RVNGPropertyList());
}
void XMLSpanContext::endElement(const OUString &/*rName*/)
{
mrImport.GetGenerator().closeSpan();
}
void XMLSpanContext::characters(const OUString &rChars)
{
OString sCharU8 = OUStringToOString(rChars, RTL_TEXTENCODING_UTF8);
mrImport.GetGenerator().insertText(librevenge::RVNGString(sCharU8.getStr()));
}
XMLParaContext::XMLParaContext(XMLImport &rImport) XMLParaContext::XMLParaContext(XMLImport &rImport)
: XMLImportContext(rImport) : XMLImportContext(rImport)
{ {
} }
XMLImportContext *XMLParaContext::CreateChildContext(const OUString &/*rName*/, const css::uno::Reference<css::xml::sax::XAttributeList> &/*xAttribs*/) XMLImportContext *XMLParaContext::CreateChildContext(const OUString &rName, const css::uno::Reference<css::xml::sax::XAttributeList> &/*xAttribs*/)
{ {
if (rName == "text:span")
return new XMLSpanContext(mrImport);
return nullptr; return nullptr;
} }
......
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