diff --git a/CMakeLists.txt b/CMakeLists.txt index ac6515a..dbc1449 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -223,7 +223,10 @@ set(PROJECT_SOURCES ) if (NOT APPLE AND Qt6_VERSION VERSION_GREATER_EQUAL 6.9.0) - list(APPEND PROJECT_SOURCES res/EmojiFont.qrc) + list(APPEND PROJECT_SOURCES res/EmojiFont.qrc) + if (WIN32) + list(APPEND PROJECT_SOURCES res/EmojiFontWin.qrc) + endif () endif () # Qt exe diff --git a/res/EmojiFontWin.qrc b/res/EmojiFontWin.qrc new file mode 100644 index 0000000..bf0d113 --- /dev/null +++ b/res/EmojiFontWin.qrc @@ -0,0 +1,5 @@ + + + font/TwemojiCOLR.ttf + + diff --git a/res/font/TwemojiCOLR.ttf b/res/font/TwemojiCOLR.ttf new file mode 100644 index 0000000..ac8ee3b Binary files /dev/null and b/res/font/TwemojiCOLR.ttf differ diff --git a/src/main.cpp b/src/main.cpp index 5aa0a88..b6d4b28 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -18,6 +18,7 @@ #ifdef Q_OS_WIN #include "include/sys/windows/MiniDump.h" #include "include/sys/windows/eventHandler.h" +#include "include/sys/windows/WinVersion.h" #include #endif #ifdef Q_OS_LINUX @@ -71,14 +72,18 @@ int main(int argc, char* argv[]) { #if !defined(Q_OS_MACOS) && (QT_VERSION >= QT_VERSION_CHECK(6,9,0)) // Load the emoji fonts +#ifdef Q_OS_WIN + int fontId = QFontDatabase::addApplicationFont(WinVersion::IsBuildNumGreaterOrEqual(BuildNumber::Windows_11_22H2) ? ":/font/notoEmoji" : ":/font/Twemoji"); +#else int fontId = QFontDatabase::addApplicationFont(":/font/notoEmoji"); +#endif if (fontId >= 0) { QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId); QFontDatabase::setApplicationEmojiFontFamilies(fontFamilies); } else { - qDebug() << "could not load noto font!"; + qDebug() << "could not load emoji font!"; } #endif