[Libreoffice-commits] core.git: drawinglayer/source

Chris Sherlock (via logerrit) logerrit at kemper.freedesktop.org
Wed Dec 18 02:13:11 UTC 2019


 drawinglayer/source/tools/emfpfont.cxx |   30 +++++++++++++++++++++++++++---
 drawinglayer/source/tools/emfpfont.hxx |   14 ++++++++++----
 2 files changed, 37 insertions(+), 7 deletions(-)

New commits:
commit 7732444c5d4e79ae0218932afe85bcc4b56a00a4
Author:     Chris Sherlock <chris.sherlock79 at gmail.com>
AuthorDate: Tue Dec 10 13:43:16 2019 +1100
Commit:     Bartosz Kosiorek <gang65 at poczta.onet.pl>
CommitDate: Wed Dec 18 03:11:57 2019 +0100

    drawinglayer: improve logging for fonts
    
    Change-Id: I5b430360894dc1738445820679ceaf09edfeef55
    Reviewed-on: https://gerrit.libreoffice.org/84840
    Tested-by: Jenkins
    Reviewed-by: Bartosz Kosiorek <gang65 at poczta.onet.pl>

diff --git a/drawinglayer/source/tools/emfpfont.cxx b/drawinglayer/source/tools/emfpfont.cxx
index d7b9daa0c46d..185b813540b2 100644
--- a/drawinglayer/source/tools/emfpfont.cxx
+++ b/drawinglayer/source/tools/emfpfont.cxx
@@ -22,6 +22,25 @@
 
 namespace emfplushelper
 {
+    static OUString FontStyleToString(sal_uInt32 style)
+    {
+        OUString sStyle;
+
+        if (style & FontStyleBold)
+            sStyle = "\n\t\t\tFontStyleBold";
+
+        if (style & FontStyleItalic)
+            sStyle = sStyle.concat("\n\t\t\tFontStyleItalic");
+
+        if (style & FontStyleUnderline)
+            sStyle = sStyle.concat("\n\t\t\tFontStyleUnderline");
+
+        if (style & FontStyleStrikeout)
+            sStyle = sStyle.concat("\n\t\t\tFontStyleStrikeout");
+
+        return sStyle;
+    }
+
     void EMFPFont::Read(SvMemoryStream &s)
     {
         sal_uInt32 header;
@@ -29,8 +48,13 @@ namespace emfplushelper
         sal_uInt32 length;
         s.ReadUInt32(header).ReadFloat(emSize).ReadUInt32(sizeUnit).ReadInt32(fontFlags).ReadUInt32(reserved).ReadUInt32(length);
         SAL_WARN_IF((header >> 12) != 0xdbc01, "drawinglayer", "Invalid header - not 0xdbc01");
-        SAL_INFO("drawinglayer", "EMF+\tfont\nEMF+\theader: 0x" << std::hex << (header >> 12) << " version: 0x" << (header & 0x1fff) << " size: " << std::dec << emSize << " unit: 0x" << std::hex << sizeUnit << std::dec);
-        SAL_INFO("drawinglayer", "EMF+\tflags: 0x" << std::hex << fontFlags << " reserved: 0x" << reserved << " length: 0x" << std::hex << length << std::dec);
+        SAL_INFO("drawinglayer", "EMF+\tHeader: 0x" << std::hex << (header >> 12));
+        SAL_INFO("drawinglayer", "EMF+\tVersion: 0x" << (header & 0x1fff));
+        SAL_INFO("drawinglayer", "EMF+\tSize: " << std::dec << emSize);
+        SAL_INFO("drawinglayer", "EMF+\tUnit: " << UnitTypeToString(sizeUnit) << " (0x" << std::hex << sizeUnit << ")" << std::dec);
+        SAL_INFO("drawinglayer", "EMF+\tFlags: " << FontStyleToString(fontFlags) << " (0x" << std::hex << fontFlags << ")");
+        SAL_INFO("drawinglayer", "EMF+\tReserved: 0x" << reserved << std::dec);
+        SAL_INFO("drawinglayer", "EMF+\tLength: " << length);
 
         //tdf#113624 Convert unit to Pixels
         emSize = emSize * EmfPlusHelperData::getUnitToPixelMultiplier(static_cast<UnitType>(sizeUnit));
@@ -46,7 +70,7 @@ namespace emfplushelper
             }
 
             family = OUString(pStr, SAL_NO_ACQUIRE);
-            SAL_INFO("drawinglayer", "EMF+\tfamily: " << family);
+            SAL_INFO("drawinglayer", "EMF+\tFamily: " << family);
         }
     }
 }
diff --git a/drawinglayer/source/tools/emfpfont.hxx b/drawinglayer/source/tools/emfpfont.hxx
index ce5760546e87..0559cb949487 100644
--- a/drawinglayer/source/tools/emfpfont.hxx
+++ b/drawinglayer/source/tools/emfpfont.hxx
@@ -24,6 +24,12 @@
 
 namespace emfplushelper
 {
+    const sal_uInt32 FontStyleBold = 0x00000001;
+    const sal_uInt32 FontStyleItalic = 0x00000002;
+    const sal_uInt32 FontStyleUnderline = 0x00000004;
+    const sal_uInt32 FontStyleStrikeout = 0x00000008;
+
+
     struct EMFPFont : public EMFPObject
     {
         float emSize;
@@ -33,10 +39,10 @@ namespace emfplushelper
 
         void Read(SvMemoryStream &s);
 
-        bool Bold()      const { return fontFlags & 0x1; }
-        bool Italic()    const { return fontFlags & 0x2; }
-        bool Underline() const { return fontFlags & 0x4; }
-        bool Strikeout() const { return fontFlags & 0x8; }
+        bool Bold()      const { return fontFlags & FontStyleBold; }
+        bool Italic()    const { return fontFlags & FontStyleItalic; }
+        bool Underline() const { return fontFlags & FontStyleUnderline; }
+        bool Strikeout() const { return fontFlags & FontStyleStrikeout; }
     };
 }
 


More information about the Libreoffice-commits mailing list