diff options
author | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2017-07-26 10:50:05 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-08-02 10:31:01 +0200 |
commit | 1f4327764abdd8dca4f5678fadeaeb67a9c23c4c (patch) | |
tree | 1ed410b100bc4596051ce510d16c4c725cfd8f61 /oox | |
parent | 732dd5bb677c4518c48d653846b752177b56400b (diff) |
tdf#107723 Import font name from text portions in shapes
Change-Id: Ib9b73b5c05ec2e6846ea3adc950ccab5d1c0a9b0
Reviewed-on: https://gerrit.libreoffice.org/40439
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
(cherry picked from commit 178b361c6379bc963c8a48925f1807c583f2d09f)
Reviewed-on: https://gerrit.libreoffice.org/40528
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/vml/vmltextbox.cxx | 14 | ||||
-rw-r--r-- | oox/source/vml/vmltextboxcontext.cxx | 6 |
2 files changed, 20 insertions, 0 deletions
diff --git a/oox/source/vml/vmltextbox.cxx b/oox/source/vml/vmltextbox.cxx index ac8c51273d77..cfa07b0546db 100644 --- a/oox/source/vml/vmltextbox.cxx +++ b/oox/source/vml/vmltextbox.cxx @@ -82,6 +82,20 @@ void TextBox::convert(const uno::Reference<drawing::XShape>& xShape) const std::vector<beans::PropertyValue> aPropVec; const TextParagraphModel& rParagraph = aIt->maParagraph; const TextFontModel& rFont = aIt->maFont; + if (rFont.moName.has()) + { + aPropertyValue.Name = "CharFontName"; + aPropertyValue.Value <<= rFont.moName.get(); + aPropVec.push_back(aPropertyValue); + + aPropertyValue.Name = "CharFontNameAsian"; + aPropertyValue.Value <<= rFont.moNameAsian.get(); + aPropVec.push_back(aPropertyValue); + + aPropertyValue.Name = "CharFontNameComplex"; + aPropertyValue.Value <<= rFont.moNameComplex.get(); + aPropVec.push_back(aPropertyValue); + } if (rFont.mobBold.has()) { aPropertyValue.Name = "CharWeight"; diff --git a/oox/source/vml/vmltextboxcontext.cxx b/oox/source/vml/vmltextboxcontext.cxx index 239e53c3a655..c46ff71b98a5 100644 --- a/oox/source/vml/vmltextboxcontext.cxx +++ b/oox/source/vml/vmltextboxcontext.cxx @@ -139,6 +139,12 @@ void TextPortionContext::onStartElement(const AttributeList& rAttribs) case W_TOKEN(rPr): case W_TOKEN(t): break; + case W_TOKEN(rFonts): + // See https://msdn.microsoft.com/en-us/library/documentformat.openxml.wordprocessing.runfonts(v=office.14).aspx + maFont.moName = rAttribs.getString(W_TOKEN(ascii)); + maFont.moNameAsian = rAttribs.getString(W_TOKEN(eastAsia)); + maFont.moNameComplex = rAttribs.getString(W_TOKEN(cs)); + break; default: SAL_INFO("oox", "unhandled: 0x" << std::hex<< getCurrentElement()); break; |