Remove unneeded Segoe UI fallback struct and add Vazir file struct
This commit is contained in:
parent
ef31d05da5
commit
95b49979fb
1 changed files with 13 additions and 16 deletions
|
|
@ -153,6 +153,14 @@ QString FontTypeNames[FontTypesCount] = {
|
|||
"DAOpenSansSemibold",
|
||||
"DAOpenSansSemiboldItalic",
|
||||
};
|
||||
QString FontTypePersianFallbackFiles[FontTypesCount] = {
|
||||
"DAVazirRegular",
|
||||
"DAVazirRegular",
|
||||
"DAVazirMediumAsBold",
|
||||
"DAVazirMediumAsBold",
|
||||
"DAVazirMediumAsBold",
|
||||
"DAVazirMediumAsBold",
|
||||
};
|
||||
QString FontTypePersianFallback[FontTypesCount] = {
|
||||
"DAVazirRegular",
|
||||
"DAVazirRegular",
|
||||
|
|
@ -170,16 +178,6 @@ int32 FontTypeFlags[FontTypesCount] = {
|
|||
FontSemibold,
|
||||
FontSemibold | FontItalic,
|
||||
};
|
||||
#ifdef Q_OS_WIN
|
||||
QString FontTypeWindowsFallback[FontTypesCount] = {
|
||||
"Segoe UI",
|
||||
"Segoe UI",
|
||||
"Segoe UI",
|
||||
"Segoe UI",
|
||||
"Segoe UI",
|
||||
"Segoe UI",
|
||||
};
|
||||
#endif // Q_OS_WIN
|
||||
|
||||
bool Started = false;
|
||||
QString Overrides[FontTypesCount];
|
||||
|
|
@ -200,10 +198,6 @@ void StartFonts() {
|
|||
}
|
||||
|
||||
#ifndef DESKTOP_APP_USE_PACKAGED_FONTS
|
||||
LoadCustomFont(":/gui/fonts/DAVazirRegular.ttf", "DAVazirRegular");
|
||||
LoadCustomFont(":/gui/fonts/DAVazirMediumAsBold.ttf", "DAVazirMedium", style::internal::FontBold);
|
||||
LoadCustomFont(":/gui/fonts/DAVazirMediumAsBold.ttf", "DAVazirMedium", style::internal::FontSemibold);
|
||||
|
||||
bool areGood[FontTypesCount] = { false };
|
||||
for (auto i = 0; i != FontTypesCount; ++i) {
|
||||
const auto file = FontTypeFiles[i];
|
||||
|
|
@ -212,12 +206,16 @@ void StartFonts() {
|
|||
areGood[i] = LoadCustomFont(":/gui/fonts/" + file + ".ttf", name, flags);
|
||||
Overrides[i] = name;
|
||||
|
||||
const auto persianFallbackFile = FontTypePersianFallbackFiles[i];
|
||||
const auto persianFallback = FontTypePersianFallback[i];
|
||||
LoadCustomFont(":/gui/fonts/" + persianFallbackFile + ".ttf", persianFallback, flags);
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
// Attempt to workaround a strange font bug with Open Sans Semibold not loading.
|
||||
// See https://github.com/telegramdesktop/tdesktop/issues/3276 for details.
|
||||
// Crash happens on "options.maxh / _t->_st->font->height" with "division by zero".
|
||||
// In that place "_t->_st->font" is "semiboldFont" is "font(13 "Open Sans Semibold").
|
||||
const auto fallback = FontTypeWindowsFallback[i];
|
||||
const auto fallback = "Segoe UI";
|
||||
if (!areGood[i]) {
|
||||
if (ValidateFont(fallback, flags)) {
|
||||
Overrides[i] = fallback;
|
||||
|
|
@ -230,7 +228,6 @@ void StartFonts() {
|
|||
//QFont::insertSubstitution(name, fallback);
|
||||
#endif // Q_OS_WIN
|
||||
|
||||
const auto persianFallback = FontTypePersianFallback[i];
|
||||
QFont::insertSubstitution(name, persianFallback);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue