using twemoji on windows 10

This commit is contained in:
parhelia512 2025-10-04 22:58:29 +08:00
parent 0b691cf56f
commit c91d458b2e
4 changed files with 15 additions and 2 deletions

View File

@ -224,6 +224,9 @@ set(PROJECT_SOURCES
if (NOT APPLE AND Qt6_VERSION VERSION_GREATER_EQUAL 6.9.0)
list(APPEND PROJECT_SOURCES res/EmojiFont.qrc)
if (WIN32)
list(APPEND PROJECT_SOURCES res/EmojiFontWin.qrc)
endif ()
endif ()
# Qt exe

5
res/EmojiFontWin.qrc Normal file
View File

@ -0,0 +1,5 @@
<RCC>
<qresource prefix="/font">
<file alias="Twemoji">font/TwemojiCOLR.ttf</file>
</qresource>
</RCC>

BIN
res/font/TwemojiCOLR.ttf Normal file

Binary file not shown.

View File

@ -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 <qfontdatabase.h>
#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