summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/fontdatabases
diff options
context:
space:
mode:
authorMÃ¥rten Nordheim <marten.nordheim@qt.io>2018-12-05 12:34:52 +0100
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2019-11-29 09:31:21 +0100
commitf881d00a4f37fcf244be8f93235b9c970aa1a9aa (patch)
treebda758f944478884fe47473b6d707f943848a827 /src/platformsupport/fontdatabases
parent00c869a5c605d7f82146c5a1d3f4f80ca706ca16 (diff)
QWindowsFontDatabase: Check preferred family names for all fonts
The code was initially introduced in 9204b8c31ea1b5f0c05870c5b5d74c33b1a4f622 but getting the names were conditioned on whether or not Windows identified it as a truetype font. This excluded cases which had preferred names embedded but was not truetype fonts. To fix that we run the code unconditionally. [ChangeLog][Windows] Fixed a bug where some fonts would not be accessible by referencing their typographic name. Fixes: QTBUG-78556 Change-Id: I8823684b09cce3b1b8722b1e609a5bb49b13da13 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/platformsupport/fontdatabases')
-rw-r--r--src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp22
-rw-r--r--src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft.cpp20
2 files changed, 19 insertions, 23 deletions
diff --git a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp
index 011476cf13..36a94724c1 100644
--- a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp
+++ b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp
@@ -1069,18 +1069,16 @@ static bool addFontToDatabase(QString familyName,
QString subFamilyName;
QString subFamilyStyle;
- if (ttf) {
- // Look-up names registered in the font
- QFontNames canonicalNames = qt_getCanonicalFontNames(logFont);
- if (qt_localizedName(familyName) && !canonicalNames.name.isEmpty())
- englishName = canonicalNames.name;
- if (!canonicalNames.preferredName.isEmpty()) {
- subFamilyName = familyName;
- subFamilyStyle = styleName;
- faceName = familyName; // Remember the original name for later lookups
- familyName = canonicalNames.preferredName;
- styleName = canonicalNames.preferredStyle;
- }
+ // Look-up names registered in the font
+ QFontNames canonicalNames = qt_getCanonicalFontNames(logFont);
+ if (qt_localizedName(familyName) && !canonicalNames.name.isEmpty())
+ englishName = canonicalNames.name;
+ if (!canonicalNames.preferredName.isEmpty()) {
+ subFamilyName = familyName;
+ subFamilyStyle = styleName;
+ faceName = familyName; // Remember the original name for later lookups
+ familyName = canonicalNames.preferredName;
+ styleName = canonicalNames.preferredStyle;
}
QSupportedWritingSystems writingSystems;
diff --git a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft.cpp b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft.cpp
index a6b7fcf31e..5c2742d295 100644
--- a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft.cpp
+++ b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft.cpp
@@ -215,17 +215,15 @@ static bool addFontToDatabase(QString familyName,
QString subFamilyName;
QString subFamilyStyle;
- if (ttf) {
- // Look-up names registered in the font
- QFontNames canonicalNames = qt_getCanonicalFontNames(logFont);
- if (qt_localizedName(familyName) && !canonicalNames.name.isEmpty())
- englishName = canonicalNames.name;
- if (!canonicalNames.preferredName.isEmpty()) {
- subFamilyName = familyName;
- subFamilyStyle = styleName;
- familyName = canonicalNames.preferredName;
- styleName = canonicalNames.preferredStyle;
- }
+ // Look-up names registered in the font
+ QFontNames canonicalNames = qt_getCanonicalFontNames(logFont);
+ if (qt_localizedName(familyName) && !canonicalNames.name.isEmpty())
+ englishName = canonicalNames.name;
+ if (!canonicalNames.preferredName.isEmpty()) {
+ subFamilyName = familyName;
+ subFamilyStyle = styleName;
+ familyName = canonicalNames.preferredName;
+ styleName = canonicalNames.preferredStyle;
}
QSupportedWritingSystems writingSystems;