Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
qwindowsfontdatabasebase_p.h
Go to the documentation of this file.
1
// Copyright (C) 2020 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#ifndef QWINDOWSFONTDATABASEBASE_P_H
5
#define QWINDOWSFONTDATABASEBASE_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#include <qpa/qplatformfontdatabase.h>
19
#include <QtGui/private/qtgui-config_p.h>
20
#include <QtCore/QSharedPointer>
21
#include <QtCore/QLoggingCategory>
22
#include <QtCore/qt_windows.h>
23
24
#if QT_CONFIG(directwrite)
25
struct
IDWriteFactory;
26
struct
IDWriteGdiInterop;
27
struct
IDWriteFontFace;
28
#endif
29
30
QT_BEGIN_NAMESPACE
31
32
class
QWindowsFontEngineData
33
{
34
Q_DISABLE_COPY_MOVE(
QWindowsFontEngineData
)
35
public
:
36
QWindowsFontEngineData
();
37
~QWindowsFontEngineData
();
38
39
uint
pow_gamma
[256];
40
41
bool
clearTypeEnabled
=
false
;
42
qreal
fontSmoothingGamma
;
43
HDC
hdc
= 0;
44
#if QT_CONFIG(directwrite)
45
IDWriteFactory *directWriteFactory =
nullptr
;
46
IDWriteGdiInterop *directWriteGdiInterop =
nullptr
;
47
#endif
48
};
49
50
class
Q_GUI_EXPORT
QWindowsFontDatabaseBase
:
public
QPlatformFontDatabase
51
{
52
public
:
53
QWindowsFontDatabaseBase
();
54
~QWindowsFontDatabaseBase
()
override
;
55
56
QFontEngine
*
fontEngine
(
const
QFontDef
&fontDef,
void
*
handle
)
override
;
57
QFontEngine
*
fontEngine
(
const
QByteArray
&
fontData
,
qreal
pixelSize,
QFont::HintingPreference
hintingPreference)
override
;
58
59
static
int
defaultVerticalDPI();
60
61
static
QSharedPointer<QWindowsFontEngineData>
data
();
62
#if QT_CONFIG(directwrite)
63
static
void
createDirectWriteFactory(IDWriteFactory **
factory
);
64
#endif
65
static
QFont
systemDefaultFont();
66
static
HFONT systemFont();
67
static
LOGFONT fontDefToLOGFONT(
const
QFontDef
&fontDef,
const
QString
&faceName);
68
static
QFont
LOGFONT_to_QFont(
const
LOGFONT& lf,
int
verticalDPI = 0);
69
70
static
QString
familyForStyleHint(
QFont::StyleHint
styleHint);
71
static
QStringList
extraTryFontsForFamily(
const
QString
&family);
72
73
class
FontTable
{};
74
class
EmbeddedFont
75
{
76
public
:
77
EmbeddedFont
(
const
QByteArray
&
fontData
) : m_fontData(
fontData
) {}
78
79
QString
changeFamilyName(
const
QString
&newFamilyName);
80
QByteArray
data
()
const
{
return
m_fontData; }
81
void
updateFromOS2Table(
QFontEngine
*fontEngine);
82
FontTable
*tableDirectoryEntry(
const
QByteArray
&tagName);
83
QString
familyName(
FontTable
*nameTableDirectory =
nullptr
);
84
85
private
:
86
QByteArray
m_fontData;
87
};
88
89
QFontDef
sanitizeRequest(
QFontDef
request
)
const
;
90
91
protected
:
92
93
#if QT_CONFIG(directwrite)
94
IDWriteFontFace *createDirectWriteFace(
const
QByteArray
&
fontData
)
const
;
95
#endif
96
97
private
:
98
static
bool
init
(
QSharedPointer<QWindowsFontEngineData>
data
);
99
};
100
101
QT_END_NAMESPACE
102
103
#endif
// QWINDOWSFONTDATABASEBASE_P_H
QByteArray
\inmodule QtCore
Definition
qbytearray.h:57
QFontEngine
Definition
qfontengine_p.h:52
QFont
\reentrant
Definition
qfont.h:20
QFont::StyleHint
StyleHint
Style hints are used by the \l{QFont}{font matching} algorithm to find an appropriate default family ...
Definition
qfont.h:23
QFont::HintingPreference
HintingPreference
Definition
qfont.h:52
QPlatformFontDatabase
The QPlatformFontDatabase class makes it possible to customize how fonts are discovered and how they ...
Definition
qplatformfontdatabase.h:67
QPlatformFontDatabase::fontEngine
virtual QFontEngine * fontEngine(const QFontDef &fontDef, void *handle)
Returns the font engine that can be used to render the font described by the font definition,...
Definition
qplatformfontdatabase.cpp:294
QSharedPointer
\inmodule QtCore
Definition
qsharedpointer_impl.h:256
QStringList
\inmodule QtCore
QString
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition
qstring.h:127
QWindowsFontDatabaseBase::EmbeddedFont
Definition
qwindowsfontdatabasebase_p.h:75
QWindowsFontDatabaseBase::EmbeddedFont::EmbeddedFont
EmbeddedFont(const QByteArray &fontData)
Definition
qwindowsfontdatabasebase_p.h:77
QWindowsFontDatabaseBase::EmbeddedFont::data
QByteArray data() const
Definition
qwindowsfontdatabasebase_p.h:80
QWindowsFontDatabaseBase::FontTable
Definition
qwindowsfontdatabasebase_p.h:73
QWindowsFontDatabaseBase
Definition
qwindowsfontdatabasebase_p.h:51
QWindowsFontEngineData
Static constant data shared by the font engines.
Definition
qwindowsfontdatabasebase_p.h:33
QWindowsFontEngineData::hdc
HDC hdc
Definition
qwindowsfontdatabasebase_p.h:43
QWindowsFontEngineData::QWindowsFontEngineData
QWindowsFontEngineData()
Definition
qwindowsfontdatabase.cpp:68
QWindowsFontEngineData::pow_gamma
uint pow_gamma[256]
Definition
qwindowsfontdatabasebase_p.h:39
QWindowsFontEngineData::~QWindowsFontEngineData
~QWindowsFontEngineData()
Definition
qwindowsfontdatabasebase.cpp:488
QWindowsFontEngineData::fontSmoothingGamma
qreal fontSmoothingGamma
Definition
qwindowsfontdatabasebase_p.h:42
QWindowsFontEngineData::clearTypeEnabled
bool clearTypeEnabled
Definition
qwindowsfontdatabasebase_p.h:41
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
handle
GLuint64 GLenum void * handle
Definition
qopengles2ext.h:1575
data
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
Definition
qopengles2ext.h:206
fontData
GLenum GLsizeiptr const void * fontData
Definition
qopengles2ext.h:3215
init
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)
Definition
qtextboundaryfinder.cpp:10
uint
unsigned int uint
Definition
qtypes.h:29
qreal
double qreal
Definition
qtypes.h:92
factory
QItemEditorFactory * factory
Definition
src_gui_itemviews_qitemeditorfactory.cpp:13
request
QNetworkRequest request(url)
QFontDef
Definition
qfont_p.h:37
qtbase
src
gui
text
windows
qwindowsfontdatabasebase_p.h
Generated by
1.9.7