commit
cd6c62f9be
@ -0,0 +1,85 @@
|
||||
diff --git a/src/gui/text/unix/qfontconfigdatabase.cpp b/src/gui/text/unix/qfontconfigdatabase.cpp
|
||||
index 474644b8..f61e6e83 100644
|
||||
--- a/src/gui/text/unix/qfontconfigdatabase.cpp
|
||||
+++ b/src/gui/text/unix/qfontconfigdatabase.cpp
|
||||
@@ -592,6 +592,7 @@ void QFontconfigDatabase::populateFontDatabase()
|
||||
++f;
|
||||
}
|
||||
|
||||
+ cacheEmojiFontFamily();
|
||||
//QPA has very lazy population of the font db. We want it to be initialized when
|
||||
//QApplication is constructed, so that the population procedure can do something like this to
|
||||
//set the default font
|
||||
@@ -735,6 +736,9 @@ QStringList QFontconfigDatabase::fallbacksForFamily(const QString &family, QFont
|
||||
if (!pattern)
|
||||
return fallbackFamilies;
|
||||
|
||||
+ if (!m_cacheEmojiFontFamily.isEmpty())
|
||||
+ fallbackFamilies << m_cacheEmojiFontFamily;
|
||||
+
|
||||
FcValue value;
|
||||
value.type = FcTypeString;
|
||||
const QByteArray cs = family.toUtf8();
|
||||
@@ -1016,4 +1020,47 @@ void QFontconfigDatabase::setupFontEngine(QFontEngineFT *engine, const QFontDef
|
||||
engine->glyphFormat = format;
|
||||
}
|
||||
|
||||
+void QFontconfigDatabase::cacheEmojiFontFamily()
|
||||
+{
|
||||
+ FcPattern *pattern;
|
||||
+ pattern = FcPatternCreate();
|
||||
+
|
||||
+ FcValue value;
|
||||
+ value.type = FcTypeString;
|
||||
+ value.u.s = (const FcChar8 *)"emoji";
|
||||
+ FcPatternAdd(pattern,FC_FAMILY,value,true);
|
||||
+
|
||||
+ FcLangSet *ls = FcLangSetCreate();
|
||||
+ FcLangSetAdd(ls, (const FcChar8*)"und-zsye");
|
||||
+ FcPatternAddLangSet(pattern, FC_LANG, ls);
|
||||
+
|
||||
+ FcConfigSubstitute(nullptr, pattern, FcMatchPattern);
|
||||
+ FcDefaultSubstitute(pattern);
|
||||
+
|
||||
+ FcResult result = FcResultMatch;
|
||||
+ FcFontSet *fontSet = FcFontSort(nullptr,pattern,FcTrue,nullptr,&result);
|
||||
+ FcPatternDestroy(pattern);
|
||||
+
|
||||
+ if (fontSet) {
|
||||
+ for (int i = 0; i < fontSet->nfont; i++) {
|
||||
+ FcChar8 *value = nullptr;
|
||||
+ if (FcPatternGetString(fontSet->fonts[i], FC_FAMILY, 0, &value) != FcResultMatch)
|
||||
+ continue;
|
||||
+
|
||||
+ FcLangSet *rls = nullptr;
|
||||
+ if (FcPatternGetLangSet(fontSet->fonts[i], FC_LANG, 0, &rls) != FcResultMatch)
|
||||
+ continue;
|
||||
+
|
||||
+ if (!FcLangSetContains(rls, ls))
|
||||
+ continue;
|
||||
+
|
||||
+ m_cacheEmojiFontFamily = QString::fromUtf8((const char *)value);
|
||||
+ break;
|
||||
+ }
|
||||
+ FcFontSetDestroy(fontSet);
|
||||
+ }
|
||||
+
|
||||
+ FcLangSetDestroy(ls);
|
||||
+}
|
||||
+
|
||||
QT_END_NAMESPACE
|
||||
diff --git a/src/gui/text/unix/qfontconfigdatabase_p.h b/src/gui/text/unix/qfontconfigdatabase_p.h
|
||||
index cf15306e..90b94087 100644
|
||||
--- a/src/gui/text/unix/qfontconfigdatabase_p.h
|
||||
+++ b/src/gui/text/unix/qfontconfigdatabase_p.h
|
||||
@@ -37,7 +37,10 @@ public:
|
||||
QFont defaultFont() const override;
|
||||
|
||||
private:
|
||||
+ void cacheEmojiFontFamily();
|
||||
void setupFontEngine(QFontEngineFT *engine, const QFontDef &fontDef) const;
|
||||
+
|
||||
+ QString m_cacheEmojiFontFamily;
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
@ -1,36 +0,0 @@
|
||||
diff --git a/examples/corelib/tools/contiguouscache/randomlistmodel.h b/examples/corelib/tools/contiguouscache/randomlistmodel.h
|
||||
index 1fabb0d9..393ebaa3 100644
|
||||
--- a/examples/corelib/tools/contiguouscache/randomlistmodel.h
|
||||
+++ b/examples/corelib/tools/contiguouscache/randomlistmodel.h
|
||||
@@ -50,6 +50,7 @@
|
||||
#ifndef RANDOMLISTMODEL_H
|
||||
#define RANDOMLISTMODEL_H
|
||||
|
||||
+#include <limits>
|
||||
#include <QContiguousCache>
|
||||
#include <QAbstractListModel>
|
||||
|
||||
diff --git a/src/corelib/text/qanystringview.h b/src/corelib/text/qanystringview.h
|
||||
index a7606253..60747cf0 100644
|
||||
--- a/src/corelib/text/qanystringview.h
|
||||
+++ b/src/corelib/text/qanystringview.h
|
||||
@@ -39,6 +39,7 @@
|
||||
#ifndef QANYSTRINGVIEW_H
|
||||
#define QANYSTRINGVIEW_H
|
||||
|
||||
+#include <limits>
|
||||
#include <QtCore/qstringview.h>
|
||||
#include <QtCore/qutf8stringview.h>
|
||||
|
||||
diff --git a/src/corelib/text/qbytearray.h b/src/corelib/text/qbytearray.h
|
||||
index 9f646aaa..a5af793c 100644
|
||||
--- a/src/corelib/text/qbytearray.h
|
||||
+++ b/src/corelib/text/qbytearray.h
|
||||
@@ -41,6 +41,7 @@
|
||||
#ifndef QBYTEARRAY_H
|
||||
#define QBYTEARRAY_H
|
||||
|
||||
+#include <limits>
|
||||
#include <QtCore/qrefcount.h>
|
||||
#include <QtCore/qnamespace.h>
|
||||
#include <QtCore/qarraydata.h>
|
@ -1 +1 @@
|
||||
SHA512 (qtbase-everywhere-src-6.5.2.tar.xz) = 8d97029aae5b73a3e03624c9a8495dbf2fe54a4f5e992071c06f3d93935e64c80f2121b33eeb60a92d96ceb288cb25d74906a5bf47b45bb018d859d4a2d13f20
|
||||
SHA512 (qtbase-everywhere-src-6.6.2.tar.xz) = ea343bcf269779a4e078ed8baddfbe6c5ec4a34275c7d72b3f3928da60feece2ddc9ce4a380c6536a4e1654b483cee8918f8ad3038904725d2dd1c653ae83ece
|
||||
|
Loading…
Reference in new issue