Add Cascadia Code as preferred monospace font

And switch macOS to system monospace font as Cascadia Code is more likely to be installed by the user
This commit is contained in:
Ilya Fedin 2022-09-18 17:02:22 +04:00 committed by John Preston
parent 1b429325e4
commit efdc82c823

View file

@ -98,6 +98,7 @@ bool LoadCustomFont(const QString &filePath, const QString &familyName, int flag
[[nodiscard]] QString ManualMonospaceFont() { [[nodiscard]] QString ManualMonospaceFont() {
const auto kTryFirst = std::initializer_list<QString>{ const auto kTryFirst = std::initializer_list<QString>{
"Cascadia Code",
"Consolas", "Consolas",
"Liberation Mono", "Liberation Mono",
"Menlo", "Menlo",
@ -259,15 +260,15 @@ QString MonospaceFont() {
const auto manual = ManualMonospaceFont(); const auto manual = ManualMonospaceFont();
const auto system = SystemMonospaceFont(); const auto system = SystemMonospaceFont();
#if defined Q_OS_WIN || defined Q_OS_MAC #ifdef Q_OS_WIN
// Prefer our monospace font. // Prefer our monospace font.
const auto useSystem = manual.isEmpty(); const auto useSystem = manual.isEmpty();
#else // Q_OS_WIN || Q_OS_MAC #else // Q_OS_WIN
// Prefer system monospace font. // Prefer system monospace font.
const auto metrics = QFontMetrics(QFont(system)); const auto metrics = QFontMetrics(QFont(system));
const auto useSystem = manual.isEmpty() const auto useSystem = manual.isEmpty()
|| (metrics.horizontalAdvance(QChar('i')) == metrics.horizontalAdvance(QChar('W'))); || (metrics.horizontalAdvance(QChar('i')) == metrics.horizontalAdvance(QChar('W')));
#endif // Q_OS_WIN || Q_OS_MAC #endif // Q_OS_WIN
return useSystem ? system : manual; return useSystem ? system : manual;
}(); }();