[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