diff --git a/Linphone/core/App.cpp b/Linphone/core/App.cpp index 7e5597afd..ef7007186 100644 --- a/Linphone/core/App.cpp +++ b/Linphone/core/App.cpp @@ -267,14 +267,7 @@ App::App(int &argc, char *argv[]) // If not OpenGL, createRender is never call. QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGL); setWindowIcon(QIcon(Constants::WindowIconPath)); - lInfo() << "Loading Fonts"; - QDirIterator it(":/font/", QDirIterator::Subdirectories); - while (it.hasNext()) { - QString ttf = it.next(); - // lDebug()<< ttf; - auto id = QFontDatabase::addApplicationFont(ttf); - } - + initFonts(); //------------------- mLinphoneThread = new Thread(this); @@ -644,6 +637,42 @@ void App::initCppInterfaces() { //------------------------------------------------------------ +void App::initFonts() { + lInfo() << "Loading Fonts"; + QStringList allFamilies; + QDirIterator it(":/font/", QDirIterator::Subdirectories); + while (it.hasNext()) { + QString ttf = it.next(); + if (it.fileInfo().isFile()) { + auto id = QFontDatabase::addApplicationFont(ttf); + allFamilies << QFontDatabase::applicationFontFamilies(id); + } + } +#ifdef Q_OS_LINUX + QDirIterator itFonts(":/linux/font/", QDirIterator::Subdirectories); + while (itFonts.hasNext()) { + QString ttf = itFonts.next(); + if (itFonts.fileInfo().isFile()) { + auto id = QFontDatabase::addApplicationFont(ttf); + allFamilies << QFontDatabase::applicationFontFamilies(id); + } + } +#else + QDirIterator itFonts(":/other/font/", QDirIterator::Subdirectories); + while (itFonts.hasNext()) { + QString ttf = itFonts.next(); + if (itFonts.fileInfo().isFile()) { + auto id = QFontDatabase::addApplicationFont(ttf); + allFamilies << QFontDatabase::applicationFontFamilies(id); + } + } +#endif + allFamilies.removeDuplicates(); + lInfo() << "Font families loaded:\n\t" << allFamilies.join("\n\t"); +} + +//------------------------------------------------------------ + void App::clean() { mDateUpdateTimer.stop(); if (mEngine) { diff --git a/Linphone/core/App.hpp b/Linphone/core/App.hpp index 53d35f076..0b9ccd8ef 100644 --- a/Linphone/core/App.hpp +++ b/Linphone/core/App.hpp @@ -113,6 +113,7 @@ public: void init(); void initCore(); void initCppInterfaces(); + void initFonts(); void restart(); bool autoStartEnabled(); void setSysTrayIcon(); diff --git a/Linphone/data/font/EmojiTwoCOLRv0.ttf b/Linphone/data/font/EmojiTwoCOLRv0.ttf deleted file mode 100644 index 24d503467..000000000 Binary files a/Linphone/data/font/EmojiTwoCOLRv0.ttf and /dev/null differ diff --git a/Linphone/data/font/OpenMoji-color-cbdt.ttf b/Linphone/data/font/OpenMoji-color-cbdt.ttf new file mode 100644 index 000000000..6891557cb Binary files /dev/null and b/Linphone/data/font/OpenMoji-color-cbdt.ttf differ diff --git a/Linphone/data/font/OpenMoji-color-colr0_svg.ttf b/Linphone/data/font/OpenMoji-color-colr0_svg.ttf new file mode 100644 index 000000000..825d89791 Binary files /dev/null and b/Linphone/data/font/OpenMoji-color-colr0_svg.ttf differ diff --git a/Linphone/data/fonts.qrc b/Linphone/data/fonts.qrc index 0382e5ac7..bdf0f7bfd 100644 --- a/Linphone/data/fonts.qrc +++ b/Linphone/data/fonts.qrc @@ -1,6 +1,5 @@ - font/EmojiTwoCOLRv0.ttf font/Noto_Sans/NotoSans-Black.ttf font/Noto_Sans/NotoSans-BlackItalic.ttf font/Noto_Sans/NotoSans-Bold.ttf @@ -20,4 +19,10 @@ font/Noto_Sans/NotoSans-Thin.ttf font/Noto_Sans/NotoSans-ThinItalic.ttf + + font/OpenMoji-color-cbdt.ttf + + + font/OpenMoji-color-colr0_svg.ttf + diff --git a/Linphone/view/Style/DefaultStyle.qml b/Linphone/view/Style/DefaultStyle.qml index 79f24e3b4..24e195903 100644 --- a/Linphone/view/Style/DefaultStyle.qml +++ b/Linphone/view/Style/DefaultStyle.qml @@ -38,8 +38,8 @@ QtObject { property double dp: 1 // Warning: Qt 6.8.1 (current version) and previous versions, Qt only support COLRv0 fonts. Don't try to use v1. - property string emojiFont: "EmojiTwo COLRv0" - property string flagFont: "EmojiTwo COLRv0" + property string emojiFont: "OpenMoji Color" + property string flagFont: "OpenMoji Color" property string defaultFont: "Noto Sans" property color numericPadPressedButtonColor: "#EEF7F8"