[Libreoffice-commits] core.git: vcl/generic vcl/inc vcl/quartz vcl/source

Chris Sherlock chris.sherlock79 at gmail.com
Sun Jan 3 05:06:35 PST 2016


 vcl/generic/glyphs/gcach_ftyp.cxx          |    2 
 vcl/generic/glyphs/glyphcache.cxx          |    1 
 vcl/generic/print/genpspgraphics.cxx       |    1 
 vcl/inc/PhysicalFontFace.hxx               |    1 
 vcl/inc/fontattributes.hxx                 |  248 +++++++++++++++++++++++++++++
 vcl/inc/generic/glyphcache.hxx             |    1 
 vcl/inc/outfont.hxx                        |  206 ------------------------
 vcl/inc/win/salgdi.h                       |    1 
 vcl/quartz/ctfonts.cxx                     |    1 
 vcl/source/font/PhysicalFontCollection.cxx |    1 
 vcl/source/font/PhysicalFontFace.cxx       |    1 
 vcl/source/gdi/font.cxx                    |    1 
 vcl/source/outdev/font.cxx                 |    1 
 13 files changed, 262 insertions(+), 204 deletions(-)

New commits:
commit 833798d6274342e06445d5df306ec0a31fe6492a
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date:   Sun Jan 3 23:35:29 2016 +1100

    vcl: split out ImplFontAttributes into own header
    
    Change-Id: I74cde57e328047ac149593c5bb065d7a6066941d
    Reviewed-on: https://gerrit.libreoffice.org/21056
    Reviewed-by: Chris Sherlock <chris.sherlock79 at gmail.com>
    Tested-by: Chris Sherlock <chris.sherlock79 at gmail.com>

diff --git a/vcl/generic/glyphs/gcach_ftyp.cxx b/vcl/generic/glyphs/gcach_ftyp.cxx
index 05a530e..fe15d11 100644
--- a/vcl/generic/glyphs/gcach_ftyp.cxx
+++ b/vcl/generic/glyphs/gcach_ftyp.cxx
@@ -22,6 +22,8 @@
 #include "vcl/svapp.hxx"
 #include <outfont.hxx>
 #include <impfont.hxx>
+#include "fontattributes.hxx"
+
 #include <config_features.h>
 #include <config_graphite.h>
 #if ENABLE_GRAPHITE
diff --git a/vcl/generic/glyphs/glyphcache.cxx b/vcl/generic/glyphs/glyphcache.cxx
index a0a2303..2b4054f 100644
--- a/vcl/generic/glyphs/glyphcache.cxx
+++ b/vcl/generic/glyphs/glyphcache.cxx
@@ -24,6 +24,7 @@
 #include <vcl/svapp.hxx>
 #include <vcl/bitmap.hxx>
 #include <outfont.hxx>
+#include <fontattributes.hxx>
 
 #include <config_graphite.h>
 #if ENABLE_GRAPHITE
diff --git a/vcl/generic/print/genpspgraphics.cxx b/vcl/generic/print/genpspgraphics.cxx
index fa9cac5..f892eca 100644
--- a/vcl/generic/print/genpspgraphics.cxx
+++ b/vcl/generic/print/genpspgraphics.cxx
@@ -50,6 +50,7 @@
 #include "impfont.hxx"
 #include "langboost.hxx"
 #include "outfont.hxx"
+#include "fontattributes.hxx"
 #include "PhysicalFontCollection.hxx"
 #include "PhysicalFontFace.hxx"
 #include "salbmp.hxx"
diff --git a/vcl/inc/PhysicalFontFace.hxx b/vcl/inc/PhysicalFontFace.hxx
index 06a8fe2..c79986c 100644
--- a/vcl/inc/PhysicalFontFace.hxx
+++ b/vcl/inc/PhysicalFontFace.hxx
@@ -23,6 +23,7 @@
 #include <vcl/dllapi.h>
 
 #include "outfont.hxx"
+#include "fontattributes.hxx"
 
 class ImplFontEntry;
 struct FontMatchStatus;
diff --git a/vcl/inc/fontattributes.hxx b/vcl/inc/fontattributes.hxx
new file mode 100644
index 0000000..528f6f4
--- /dev/null
+++ b/vcl/inc/fontattributes.hxx
@@ -0,0 +1,248 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_VCL_INC_FONTSELECT_HXX
+#define INCLUDED_VCL_INC_FONTSELECT_HXX
+
+#include <rtl/ustring.hxx>
+#include <sal/log.hxx>
+#include <sal/types.h>
+#include <i18nlangtag/lang.h>
+#include <tools/solar.h>
+#include <vcl/dllapi.h>
+#include <unotools/fontdefs.hxx>
+#include <vcl/vclenum.hxx>
+
+#include <unordered_map>
+
+class PhysicalFontFace;
+class ImplFontEntry;
+class ImplFontCache;
+namespace vcl { class Font; }
+class ConvertChar;
+class OutputDevice;
+class Size;
+class FontSelectPattern;
+
+class ImplFontAttributes
+{
+public:
+    explicit        ImplFontAttributes() {}
+    explicit        ImplFontAttributes( const FontSelectPattern& );
+
+    // device independent font functions
+    const OUString& GetFamilyName() const   { return maFamilyName; }
+    FontFamily      GetFamilyType() const   { return meFamily; }
+    const OUString& GetStyleName() const    { return maStyleName; }
+
+    FontWeight      GetWeight() const       { return meWeight; }
+    FontItalic      GetSlantType() const    { return meItalic; }
+    FontPitch       GetPitch() const        { return mePitch; }
+    FontWidth       GetWidthType() const    { return meWidthType; }
+
+    bool            IsSymbolFont() const    { return mbSymbolFlag; }
+
+    void            SetFamilyName(const OUString& sFamilyName)  { maFamilyName = sFamilyName; }
+    void            SetStyleName( const OUString& sStyleName)   { maStyleName = sStyleName; }
+    void            SetFamilyType(const FontFamily eFontFamily) { meFamily = eFontFamily; }
+
+    void            SetPitch(const FontPitch ePitch )          { mePitch = ePitch; }
+    void            SetItalic(const FontItalic eItalic )       { meItalic = eItalic; }
+    void            SetWeight(const FontWeight eWeight )       { meWeight = eWeight; }
+    void            SetWidthType(const FontWidth eWidthType)   { meWidthType = eWidthType; }
+
+    void            SetSymbolFlag(const bool bSymbolFlag )     { mbSymbolFlag = bSymbolFlag; }
+
+    bool            CompareDeviceIndependentFontAttributes(const ImplFontAttributes& rOther) const;
+
+    // Device dependent functions
+    int             GetQuality() const      { return mnQuality; }
+    OUString        GetMapNames() const     { return maMapNames; }
+
+    bool            IsBuiltInFont() const   { return mbDevice; }
+    bool            CanEmbed() const        { return mbEmbeddable; }
+    bool            CanSubset() const       { return mbSubsettable; }
+    bool            CanRotate() const       { return mbOrientation; }
+    bool            HasMapNames() const     { return (maMapNames.getLength() > 0); }
+
+    void            SetQuality( int nQuality )                  { mnQuality = nQuality; }
+    void            IncreaseQualityBy( int nQualityAmount )     { mnQuality += nQualityAmount; }
+    void            DecreaseQualityBy( int nQualityAmount )     { mnQuality -= nQualityAmount; }
+    void            SetMapNames( OUString const & aMapNames ) { maMapNames = aMapNames; }
+    void            AddMapName( OUString const & aMapName )
+                    {
+                        if( maMapNames.getLength() > 0 )
+                        {
+                            maMapNames += ";";
+                        }
+
+                        if (aMapName.getLength() == 0)
+                        {
+                            SAL_WARN("vcl.fonts", "New map name is empty");
+                            return;
+                        }
+
+                        maMapNames += aMapName;
+                    }
+
+    void            SetBuiltInFontFlag( bool bIsBuiltInFont )   { mbDevice = bIsBuiltInFont; }
+    void            SetEmbeddableFlag ( bool bEmbeddable )      { mbEmbeddable = bEmbeddable; }
+    void            SetSubsettableFlag( bool bSubsettable )     { mbSubsettable = bSubsettable; }
+    void            SetOrientationFlag( bool bCanRotate )       { mbOrientation = bCanRotate; }
+
+    // Font metrics below
+
+    // font instance attributes from the font request
+    long            GetWidth()              { return mnWidth; }
+    short           GetOrientation()        { return mnOrientation; }
+
+    void            SetWidth(long nWidth)   { mnWidth=nWidth; }
+    void            SetOrientation(short nOrientation) { mnOrientation=nOrientation; }
+
+    // font metrics measured for the font instance
+    long            GetAscent()             { return mnAscent; }
+    long            GetDescent()            { return mnDescent; }
+    long            GetInternalLeading()    { return mnIntLeading; }
+    long            GetExternalLeading()    { return mnExtLeading; }
+    int             GetSlant()              { return mnSlant; }
+    long            GetMinKashida()         { return mnMinKashida; }
+
+    void            SetAscent(long nAscent) { mnAscent=nAscent; }
+    void            SetDescent(long nDescent) { mnDescent=nDescent; }
+    void            SetInternalLeading(long nIntLeading) { mnIntLeading = nIntLeading; }
+    void            SetExternalLeading(long nExtLeading) { mnExtLeading = nExtLeading; }
+    void            SetSlant(int nSlant)    { mnSlant=nSlant; }
+    void            SetMinKashida( long nMinKashida ) { mnMinKashida=nMinKashida; }
+
+    // font attributes queried from the font instance
+    bool            IsScalable()            { return mbScalableFont; }
+    bool            IsTrueTypeFont()        { return mbTrueTypeFont; }
+    bool            IsKernable()            { return mbKernableFont; }
+    bool            IsFullstopCentered()    { return mbFullstopCentered; }
+    long            GetBulletOffset()       { return mnBulletOffset; }
+
+    void            SetScalableFlag(bool bScalable) { mbScalableFont = bScalable; }
+    void            SetTrueTypeFlag(bool bTrueTypeFont) { mbTrueTypeFont = bTrueTypeFont; }
+    void            SetKernableFlag(bool bKernable) { mbKernableFont = bKernable; }
+    void            SetFullstopCenteredFlag(bool bFullstopCentered) { mbFullstopCentered = bFullstopCentered; }
+    void            SetBulletOffset(long nBulletOffset) { mnBulletOffset = nBulletOffset; }
+
+    // font metrics that are usually derived from the measurements
+    long            GetUnderlineSize()                  { return mnUnderlineSize; }
+    long            GetUnderlineOffset()                { return mnUnderlineOffset; }
+    long            GetBoldUnderlineSize()              { return mnBUnderlineSize; }
+    long            GetBoldUnderlineOffset()            { return mnBUnderlineOffset; }
+    long            GetDoubleUnderlineSize()            { return mnDUnderlineSize; }
+    long            GetDoubleUnderlineOffset1()         { return mnDUnderlineOffset1; }
+    long            GetDoubleUnderlineOffset2()         { return mnDUnderlineOffset2; }
+    long            GetWavelineUnderlineSize()          { return mnWUnderlineSize; }
+    long            GetWavelineUnderlineOffset()        { return mnWUnderlineOffset; }
+    long            GetAboveUnderlineSize()             { return mnAboveUnderlineSize; }
+    long            GetAboveUnderlineOffset()           { return mnAboveUnderlineOffset; }
+    long            GetAboveBoldUnderlineSize()         { return mnAboveBUnderlineSize; }
+    long            GetAboveBoldUnderlineOffset()       { return mnAboveBUnderlineOffset; }
+    long            GetAboveDoubleUnderlineSize()       { return mnAboveDUnderlineSize; }
+    long            GetAboveDoubleUnderlineOffset1()    { return mnAboveDUnderlineOffset1; }
+    long            GetAboveDoubleUnderlineOffset2()    { return mnAboveDUnderlineOffset2; }
+    long            GetAboveWavelineUnderlineSize()     { return mnAboveWUnderlineSize; }
+    long            GetAboveWavelineUnderlineOffset()   { return mnAboveWUnderlineOffset; }
+    long            GetStrikeoutSize()                  { return mnStrikeoutSize; }
+    long            GetStrikeoutOffset()                { return mnStrikeoutOffset; }
+    long            GetBoldStrikeoutSize()              { return mnBStrikeoutSize; }
+    long            GetBoldStrikeoutOffset()            { return mnBStrikeoutOffset; }
+    long            GetDoubleStrikeoutSize()            { return mnDStrikeoutSize; }
+    long            GetDoubleStrikeoutOffset1()         { return mnDStrikeoutOffset1; }
+    long            GetDoubleStrikeoutOffset2()         { return mnDStrikeoutOffset2; }
+
+
+    void            ImplInitTextLineSize( const OutputDevice* pDev );
+    void            ImplInitAboveTextLineSize();
+
+private:
+    // device independent variables
+    OUString        maFamilyName;               // Font Family Name
+    OUString        maStyleName;                // Font Style Name
+    FontWeight      meWeight;                   // Weight Type
+    FontItalic      meItalic;                   // Slant Type
+    FontFamily      meFamily;                   // Family Type
+    FontPitch       mePitch;                    // Pitch Type
+    FontWidth       meWidthType;                // Width Type
+    bool            mbSymbolFlag;               // Is font a symbol?
+
+    // device dependent variables
+    OUString        maMapNames;                 // List of family name aliases separated with ';'
+    int             mnQuality;                  // Quality (used when similar fonts compete)
+    bool            mbOrientation;              // true: physical font can be rotated
+    bool            mbDevice;                   // true: built in font
+    bool            mbSubsettable;              // true: a subset of the font can be created
+    bool            mbEmbeddable;               // true: the font can be embedded
+
+    // Font metrics below
+
+    // font instance attributes from the font request
+    long            mnWidth;                    // Reference Width
+    short           mnOrientation;              // Rotation in 1/10 degrees
+
+    // font metrics measured for the font instance
+    long            mnAscent;                   // Ascent
+    long            mnDescent;                  // Descent
+    long            mnIntLeading;               // Internal Leading
+    long            mnExtLeading;               // External Leading
+    int             mnSlant;                    // Slant (Italic/Oblique)
+    long            mnMinKashida;               // Minimal width of kashida (Arabic)
+
+    // font attributes queried from the font instance
+    bool            mbScalableFont;
+    bool            mbTrueTypeFont;
+    bool            mbKernableFont;
+    bool            mbFullstopCentered;
+    long            mnBulletOffset;             // Offset to position non-print character
+
+    // font metrics that are usually derived from the measurements
+    long            mnUnderlineSize;            // Lineheight of Underline
+    long            mnUnderlineOffset;          // Offset from Underline to Baseline
+    long            mnBUnderlineSize;           // Height of bold underline
+    long            mnBUnderlineOffset;         // Offset from bold underline to baseline
+    long            mnDUnderlineSize;           // Height of double underline
+    long            mnDUnderlineOffset1;        // Offset from double underline to baseline
+    long            mnDUnderlineOffset2;        // Offset from double underline to baseline
+    long            mnWUnderlineSize;           // Height of WaveLine underline
+    long            mnWUnderlineOffset;         // Offset from WaveLine underline to baseline, but centrered to WaveLine
+    long            mnAboveUnderlineSize;       // Height of single underline (for Vertical Right)
+    long            mnAboveUnderlineOffset;     // Offset from single underline to baseline (for Vertical Right)
+    long            mnAboveBUnderlineSize;      // Height of bold underline (for Vertical Right)
+    long            mnAboveBUnderlineOffset;    // Offset from bold underline to baseline (for Vertical Right)
+    long            mnAboveDUnderlineSize;      // Height of double underline (for Vertical Right)
+    long            mnAboveDUnderlineOffset1;   // Offset from double underline to baseline (for Vertical Right)
+    long            mnAboveDUnderlineOffset2;   // Offset from double underline to baseline (for Vertical Right)
+    long            mnAboveWUnderlineSize;      // Height of WaveLine-strike-out (for Vertical Right)
+    long            mnAboveWUnderlineOffset;    // Offset from WaveLine-strike-out to baseline, but centrered to the WaveLine (for Vertical Right)
+    long            mnStrikeoutSize;            // Height of single strike-out
+    long            mnStrikeoutOffset;          // Offset from single strike-out to baseline
+    long            mnBStrikeoutSize;           // Height of bold strike-out
+    long            mnBStrikeoutOffset;         // Offset of bold strike-out to baseline
+    long            mnDStrikeoutSize;           // Height of double strike-out
+    long            mnDStrikeoutOffset1;        // Offset of double strike-out to baseline
+    long            mnDStrikeoutOffset2;        // Offset of double strike-out to baseline
+
+};
+
+#endif // INCLUDED_VCL_INC_FONTSELECT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/generic/glyphcache.hxx b/vcl/inc/generic/glyphcache.hxx
index 8b6f538..bad1721 100644
--- a/vcl/inc/generic/glyphcache.hxx
+++ b/vcl/inc/generic/glyphcache.hxx
@@ -34,6 +34,7 @@
 
 #include <outfont.hxx>
 #include <sallayout.hxx>
+#include "fontattributes.hxx"
 
 #include <unordered_map>
 
diff --git a/vcl/inc/outfont.hxx b/vcl/inc/outfont.hxx
index 14922fc..7f03dce 100644
--- a/vcl/inc/outfont.hxx
+++ b/vcl/inc/outfont.hxx
@@ -31,6 +31,8 @@
 
 #include <unordered_map>
 
+#include "fontattributes.hxx"
+
 class PhysicalFontFace;
 class ImplFontEntry;
 class ImplFontCache;
@@ -38,210 +40,6 @@ namespace vcl { class Font; }
 class ConvertChar;
 class OutputDevice;
 class Size;
-class FontSelectPattern;
-
-class ImplFontAttributes
-{
-public:
-    explicit        ImplFontAttributes() {}
-    explicit        ImplFontAttributes( const FontSelectPattern& );
-
-    // device independent font functions
-    const OUString& GetFamilyName() const   { return maFamilyName; }
-    FontFamily      GetFamilyType() const   { return meFamily; }
-    const OUString& GetStyleName() const    { return maStyleName; }
-
-    FontWeight      GetWeight() const       { return meWeight; }
-    FontItalic      GetSlantType() const    { return meItalic; }
-    FontPitch       GetPitch() const        { return mePitch; }
-    FontWidth       GetWidthType() const    { return meWidthType; }
-
-    bool            IsSymbolFont() const    { return mbSymbolFlag; }
-
-    void            SetFamilyName(const OUString& sFamilyName)  { maFamilyName = sFamilyName; }
-    void            SetStyleName( const OUString& sStyleName)   { maStyleName = sStyleName; }
-    void            SetFamilyType(const FontFamily eFontFamily) { meFamily = eFontFamily; }
-
-    void            SetPitch(const FontPitch ePitch )          { mePitch = ePitch; }
-    void            SetItalic(const FontItalic eItalic )       { meItalic = eItalic; }
-    void            SetWeight(const FontWeight eWeight )       { meWeight = eWeight; }
-    void            SetWidthType(const FontWidth eWidthType)   { meWidthType = eWidthType; }
-
-    void            SetSymbolFlag(const bool bSymbolFlag )     { mbSymbolFlag = bSymbolFlag; }
-
-    bool            CompareDeviceIndependentFontAttributes(const ImplFontAttributes& rOther) const;
-
-    // Device dependent functions
-    int             GetQuality() const      { return mnQuality; }
-    OUString        GetMapNames() const     { return maMapNames; }
-
-    bool            IsBuiltInFont() const   { return mbDevice; }
-    bool            CanEmbed() const        { return mbEmbeddable; }
-    bool            CanSubset() const       { return mbSubsettable; }
-    bool            CanRotate() const       { return mbOrientation; }
-    bool            HasMapNames() const     { return (maMapNames.getLength() > 0); }
-
-    void            SetQuality( int nQuality )                  { mnQuality = nQuality; }
-    void            IncreaseQualityBy( int nQualityAmount )     { mnQuality += nQualityAmount; }
-    void            DecreaseQualityBy( int nQualityAmount )     { mnQuality -= nQualityAmount; }
-    void            SetMapNames( OUString const & aMapNames ) { maMapNames = aMapNames; }
-    void            AddMapName( OUString const & aMapName )
-                    {
-                        if( maMapNames.getLength() > 0 )
-                        {
-                            maMapNames += ";";
-                        }
-
-                        if (aMapName.getLength() == 0)
-                        {
-                            SAL_WARN("vcl.fonts", "New map name is empty");
-                            return;
-                        }
-
-                        maMapNames += aMapName;
-                    }
-
-    void            SetBuiltInFontFlag( bool bIsBuiltInFont )   { mbDevice = bIsBuiltInFont; }
-    void            SetEmbeddableFlag ( bool bEmbeddable )      { mbEmbeddable = bEmbeddable; }
-    void            SetSubsettableFlag( bool bSubsettable )     { mbSubsettable = bSubsettable; }
-    void            SetOrientationFlag( bool bCanRotate )       { mbOrientation = bCanRotate; }
-
-    // Font metrics below
-
-    // font instance attributes from the font request
-    long            GetWidth()              { return mnWidth; }
-    short           GetOrientation()        { return mnOrientation; }
-
-    void            SetWidth(long nWidth)   { mnWidth=nWidth; }
-    void            SetOrientation(short nOrientation) { mnOrientation=nOrientation; }
-
-    // font metrics measured for the font instance
-    long            GetAscent()             { return mnAscent; }
-    long            GetDescent()            { return mnDescent; }
-    long            GetInternalLeading()    { return mnIntLeading; }
-    long            GetExternalLeading()    { return mnExtLeading; }
-    int             GetSlant()              { return mnSlant; }
-    long            GetMinKashida()         { return mnMinKashida; }
-
-    void            SetAscent(long nAscent) { mnAscent=nAscent; }
-    void            SetDescent(long nDescent) { mnDescent=nDescent; }
-    void            SetInternalLeading(long nIntLeading) { mnIntLeading = nIntLeading; }
-    void            SetExternalLeading(long nExtLeading) { mnExtLeading = nExtLeading; }
-    void            SetSlant(int nSlant)    { mnSlant=nSlant; }
-    void            SetMinKashida( long nMinKashida ) { mnMinKashida=nMinKashida; }
-
-    // font attributes queried from the font instance
-    bool            IsScalable()            { return mbScalableFont; }
-    bool            IsTrueTypeFont()        { return mbTrueTypeFont; }
-    bool            IsKernable()            { return mbKernableFont; }
-    bool            IsFullstopCentered()    { return mbFullstopCentered; }
-    long            GetBulletOffset()       { return mnBulletOffset; }
-
-    void            SetScalableFlag(bool bScalable) { mbScalableFont = bScalable; }
-    void            SetTrueTypeFlag(bool bTrueTypeFont) { mbTrueTypeFont = bTrueTypeFont; }
-    void            SetKernableFlag(bool bKernable) { mbKernableFont = bKernable; }
-    void            SetFullstopCenteredFlag(bool bFullstopCentered) { mbFullstopCentered = bFullstopCentered; }
-    void            SetBulletOffset(long nBulletOffset) { mnBulletOffset = nBulletOffset; }
-
-    // font metrics that are usually derived from the measurements
-    long            GetUnderlineSize()                  { return mnUnderlineSize; }
-    long            GetUnderlineOffset()                { return mnUnderlineOffset; }
-    long            GetBoldUnderlineSize()              { return mnBUnderlineSize; }
-    long            GetBoldUnderlineOffset()            { return mnBUnderlineOffset; }
-    long            GetDoubleUnderlineSize()            { return mnDUnderlineSize; }
-    long            GetDoubleUnderlineOffset1()         { return mnDUnderlineOffset1; }
-    long            GetDoubleUnderlineOffset2()         { return mnDUnderlineOffset2; }
-    long            GetWavelineUnderlineSize()          { return mnWUnderlineSize; }
-    long            GetWavelineUnderlineOffset()        { return mnWUnderlineOffset; }
-    long            GetAboveUnderlineSize()             { return mnAboveUnderlineSize; }
-    long            GetAboveUnderlineOffset()           { return mnAboveUnderlineOffset; }
-    long            GetAboveBoldUnderlineSize()         { return mnAboveBUnderlineSize; }
-    long            GetAboveBoldUnderlineOffset()       { return mnAboveBUnderlineOffset; }
-    long            GetAboveDoubleUnderlineSize()       { return mnAboveDUnderlineSize; }
-    long            GetAboveDoubleUnderlineOffset1()    { return mnAboveDUnderlineOffset1; }
-    long            GetAboveDoubleUnderlineOffset2()    { return mnAboveDUnderlineOffset2; }
-    long            GetAboveWavelineUnderlineSize()     { return mnAboveWUnderlineSize; }
-    long            GetAboveWavelineUnderlineOffset()   { return mnAboveWUnderlineOffset; }
-    long            GetStrikeoutSize()                  { return mnStrikeoutSize; }
-    long            GetStrikeoutOffset()                { return mnStrikeoutOffset; }
-    long            GetBoldStrikeoutSize()              { return mnBStrikeoutSize; }
-    long            GetBoldStrikeoutOffset()            { return mnBStrikeoutOffset; }
-    long            GetDoubleStrikeoutSize()            { return mnDStrikeoutSize; }
-    long            GetDoubleStrikeoutOffset1()         { return mnDStrikeoutOffset1; }
-    long            GetDoubleStrikeoutOffset2()         { return mnDStrikeoutOffset2; }
-
-
-    void            ImplInitTextLineSize( const OutputDevice* pDev );
-    void            ImplInitAboveTextLineSize();
-
-private:
-    // device independent variables
-    OUString        maFamilyName;               // Font Family Name
-    OUString        maStyleName;                // Font Style Name
-    FontWeight      meWeight;                   // Weight Type
-    FontItalic      meItalic;                   // Slant Type
-    FontFamily      meFamily;                   // Family Type
-    FontPitch       mePitch;                    // Pitch Type
-    FontWidth       meWidthType;                // Width Type
-    bool            mbSymbolFlag;               // Is font a symbol?
-
-    // device dependent variables
-    OUString        maMapNames;                 // List of family name aliases separated with ';'
-    int             mnQuality;                  // Quality (used when similar fonts compete)
-    bool            mbOrientation;              // true: physical font can be rotated
-    bool            mbDevice;                   // true: built in font
-    bool            mbSubsettable;              // true: a subset of the font can be created
-    bool            mbEmbeddable;               // true: the font can be embedded
-
-    // Font metrics below
-
-    // font instance attributes from the font request
-    long            mnWidth;                    // Reference Width
-    short           mnOrientation;              // Rotation in 1/10 degrees
-
-    // font metrics measured for the font instance
-    long            mnAscent;                   // Ascent
-    long            mnDescent;                  // Descent
-    long            mnIntLeading;               // Internal Leading
-    long            mnExtLeading;               // External Leading
-    int             mnSlant;                    // Slant (Italic/Oblique)
-    long            mnMinKashida;               // Minimal width of kashida (Arabic)
-
-    // font attributes queried from the font instance
-    bool            mbScalableFont;
-    bool            mbTrueTypeFont;
-    bool            mbKernableFont;
-    bool            mbFullstopCentered;
-    long            mnBulletOffset;             // Offset to position non-print character
-
-    // font metrics that are usually derived from the measurements
-    long            mnUnderlineSize;            // Lineheight of Underline
-    long            mnUnderlineOffset;          // Offset from Underline to Baseline
-    long            mnBUnderlineSize;           // Height of bold underline
-    long            mnBUnderlineOffset;         // Offset from bold underline to baseline
-    long            mnDUnderlineSize;           // Height of double underline
-    long            mnDUnderlineOffset1;        // Offset from double underline to baseline
-    long            mnDUnderlineOffset2;        // Offset from double underline to baseline
-    long            mnWUnderlineSize;           // Height of WaveLine underline
-    long            mnWUnderlineOffset;         // Offset from WaveLine underline to baseline, but centrered to WaveLine
-    long            mnAboveUnderlineSize;       // Height of single underline (for Vertical Right)
-    long            mnAboveUnderlineOffset;     // Offset from single underline to baseline (for Vertical Right)
-    long            mnAboveBUnderlineSize;      // Height of bold underline (for Vertical Right)
-    long            mnAboveBUnderlineOffset;    // Offset from bold underline to baseline (for Vertical Right)
-    long            mnAboveDUnderlineSize;      // Height of double underline (for Vertical Right)
-    long            mnAboveDUnderlineOffset1;   // Offset from double underline to baseline (for Vertical Right)
-    long            mnAboveDUnderlineOffset2;   // Offset from double underline to baseline (for Vertical Right)
-    long            mnAboveWUnderlineSize;      // Height of WaveLine-strike-out (for Vertical Right)
-    long            mnAboveWUnderlineOffset;    // Offset from WaveLine-strike-out to baseline, but centrered to the WaveLine (for Vertical Right)
-    long            mnStrikeoutSize;            // Height of single strike-out
-    long            mnStrikeoutOffset;          // Offset from single strike-out to baseline
-    long            mnBStrikeoutSize;           // Height of bold strike-out
-    long            mnBStrikeoutOffset;         // Offset of bold strike-out to baseline
-    long            mnDStrikeoutSize;           // Height of double strike-out
-    long            mnDStrikeoutOffset1;        // Offset of double strike-out to baseline
-    long            mnDStrikeoutOffset2;        // Offset of double strike-out to baseline
-
-};
 
 class FontSelectPatternAttributes : public ImplFontAttributes
 {
diff --git a/vcl/inc/win/salgdi.h b/vcl/inc/win/salgdi.h
index 096c84f..b8b7d74 100644
--- a/vcl/inc/win/salgdi.h
+++ b/vcl/inc/win/salgdi.h
@@ -24,6 +24,7 @@
 #include "salgeom.hxx"
 #include "salgdi.hxx"
 #include "outfont.hxx"
+#include "fontattributes.hxx"
 #include "PhysicalFontFace.hxx"
 #include "impfont.hxx"
 #include <vcl/fontcapabilities.hxx>
diff --git a/vcl/quartz/ctfonts.cxx b/vcl/quartz/ctfonts.cxx
index 531b23e..cceecd8 100644
--- a/vcl/quartz/ctfonts.cxx
+++ b/vcl/quartz/ctfonts.cxx
@@ -32,6 +32,7 @@
 #include "osx/salinst.h"
 #endif
 #include "outfont.hxx"
+#include "fontattributes.hxx"
 #include "PhysicalFontCollection.hxx"
 #include "quartz/salgdi.h"
 #include "quartz/utils.h"
diff --git a/vcl/source/font/PhysicalFontCollection.cxx b/vcl/source/font/PhysicalFontCollection.cxx
index 6f5a44a..f8f4c72 100644
--- a/vcl/source/font/PhysicalFontCollection.cxx
+++ b/vcl/source/font/PhysicalFontCollection.cxx
@@ -33,6 +33,7 @@
 #include "magic.h"
 #include "outdev.h"
 #include "outfont.hxx"
+#include "fontattributes.hxx"
 #include "PhysicalFontFace.hxx"
 
 #include "PhysicalFontCollection.hxx"
diff --git a/vcl/source/font/PhysicalFontFace.cxx b/vcl/source/font/PhysicalFontFace.cxx
index 3a770b6..a322aeb 100644
--- a/vcl/source/font/PhysicalFontFace.cxx
+++ b/vcl/source/font/PhysicalFontFace.cxx
@@ -22,6 +22,7 @@
 #include <tools/fontenum.hxx>
 
 #include "outfont.hxx"
+#include "fontattributes.hxx"
 
 #include "PhysicalFontFace.hxx"
 
diff --git a/vcl/source/gdi/font.cxx b/vcl/source/gdi/font.cxx
index 827bfdb..ab0381c 100644
--- a/vcl/source/gdi/font.cxx
+++ b/vcl/source/gdi/font.cxx
@@ -28,6 +28,7 @@
 
 #include "impfont.hxx"
 #include "outfont.hxx"
+#include "fontattributes.hxx"
 #include "sft.hxx"
 
 #include <sal/macros.h>
diff --git a/vcl/source/outdev/font.cxx b/vcl/source/outdev/font.cxx
index 099827a..e3a44c3 100644
--- a/vcl/source/outdev/font.cxx
+++ b/vcl/source/outdev/font.cxx
@@ -33,6 +33,7 @@
 #include "impfont.hxx"
 #include "outdata.hxx"
 #include "outfont.hxx"
+#include "fontattributes.hxx"
 
 #include "outdev.h"
 #include "window.h"


More information about the Libreoffice-commits mailing list