36 Q_DISABLE_COPY_MOVE(QWindowsDirectWriteFontDatabase)
38 QWindowsDirectWriteFontDatabase();
39 ~QWindowsDirectWriteFontDatabase() override;
41 void populateFontDatabase() override;
42 void populateFamily(
const QString &familyName) override;
43 bool populateFamilyAliases(
const QString &missingFamily) override;
44 QFontEngine *fontEngine(
const QFontDef &fontDef,
void *handle) override;
45 QFontEngine *fontEngine(
const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference) override;
46 QStringList fallbacksForFamily(
const QString &family,
48 QFont::StyleHint styleHint,
49 QFontDatabasePrivate::ExtendedScript script)
const override;
50 QStringList addApplicationFont(
const QByteArray &fontData,
const QString &fileName, QFontDatabasePrivate::ApplicationFont *font =
nullptr) override;
52 bool isPrivateFontFamily(
const QString &family)
const override;
53 bool supportsVariableApplicationFonts()
const override;
55 void registerBitmapFont(
const QString &bitmapFont)
57 m_populatedBitmapFonts.insert(bitmapFont);
60 bool hasPopulatedFont(
const QString &fontFamily)
const
62 return m_populatedFonts.contains(fontFamily);
66 void invalidate() override;
69 friend class QWindowsFontEngineDirectWrite;
70 static QString localeString(IDWriteLocalizedStrings *names,
wchar_t localeName[]);
72 QSupportedWritingSystems supportedWritingSystems(IDWriteFontFace *face)
const;
74 QHash<QString, IDWriteFontFamily *> m_populatedFonts;
75 QSet<QString> m_populatedBitmapFonts;