Option to use original font metrics
This commit is contained in:
parent
6f6fd67571
commit
f5e3d21113
2 changed files with 21 additions and 3 deletions
|
|
@ -171,6 +171,7 @@ QString CustomMainFont;
|
||||||
QString CustomSemiboldFont;
|
QString CustomSemiboldFont;
|
||||||
bool CustomSemiboldIsBold = false;
|
bool CustomSemiboldIsBold = false;
|
||||||
bool UseSystemFont = false;
|
bool UseSystemFont = false;
|
||||||
|
bool UseOriginalMetrics = false;
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
|
@ -194,6 +195,10 @@ void SetUseSystemFont(bool isSystemFont) {
|
||||||
UseSystemFont = isSystemFont;
|
UseSystemFont = isSystemFont;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetUseOriginalMetrics(bool isOriginal) {
|
||||||
|
UseOriginalMetrics = isOriginal;
|
||||||
|
}
|
||||||
|
|
||||||
void StartFonts() {
|
void StartFonts() {
|
||||||
if (Started) {
|
if (Started) {
|
||||||
return;
|
return;
|
||||||
|
|
@ -338,9 +343,21 @@ FontData::FontData(int size, uint32 flags, int family, Font *other)
|
||||||
}
|
}
|
||||||
|
|
||||||
m = QFontMetrics(f);
|
m = QFontMetrics(f);
|
||||||
|
|
||||||
|
if (UseOriginalMetrics) {
|
||||||
|
QFont originalFont(fontFamilies[family]);
|
||||||
|
originalFont.setPixelSize(size);
|
||||||
|
auto mOrig = QFontMetrics(originalFont);
|
||||||
|
|
||||||
|
height = mOrig.height();
|
||||||
|
ascent = mOrig.ascent();
|
||||||
|
descent = mOrig.descent();
|
||||||
|
} else {
|
||||||
height = m.height();
|
height = m.height();
|
||||||
ascent = m.ascent();
|
ascent = m.ascent();
|
||||||
descent = m.descent();
|
descent = m.descent();
|
||||||
|
}
|
||||||
|
|
||||||
spacew = width(QLatin1Char(' '));
|
spacew = width(QLatin1Char(' '));
|
||||||
elidew = width("...");
|
elidew = width("...");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ void SetMainFont(const QString &familyName);
|
||||||
void SetSemiboldFont(const QString &familyName);
|
void SetSemiboldFont(const QString &familyName);
|
||||||
void SetSemiboldIsBold(bool isBold);
|
void SetSemiboldIsBold(bool isBold);
|
||||||
void SetUseSystemFont(bool isSystemFont);
|
void SetUseSystemFont(bool isSystemFont);
|
||||||
|
void SetUseOriginalMetrics(bool isOriginal);
|
||||||
|
|
||||||
void StartFonts();
|
void StartFonts();
|
||||||
[[nodiscard]] QString GetFontOverride(const QString &familyName, int32 flags = 0);
|
[[nodiscard]] QString GetFontOverride(const QString &familyName, int32 flags = 0);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue