summaryrefslogtreecommitdiffstats
path: root/src/gui/text
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/text')
-rw-r--r--src/gui/text/qcssparser.cpp9
-rw-r--r--src/gui/text/qfontdatabase.cpp25
-rw-r--r--src/gui/text/qfontengine_ft.cpp2
-rw-r--r--src/gui/text/text.pri2
4 files changed, 19 insertions, 19 deletions
diff --git a/src/gui/text/qcssparser.cpp b/src/gui/text/qcssparser.cpp
index cb19a42688..31d832a9ce 100644
--- a/src/gui/text/qcssparser.cpp
+++ b/src/gui/text/qcssparser.cpp
@@ -746,8 +746,9 @@ static ColorData parseColorValue(QCss::Value v)
QVector<QCss::Value> colorDigits;
if (!p.parseExpr(&colorDigits))
return ColorData();
+ const int tokenCount = colorDigits.count();
- for (int i = 0; i < qMin(colorDigits.count(), 7); i += 2) {
+ for (int i = 0; i < qMin(tokenCount, 7); i += 2) {
if (colorDigits.at(i).type == Value::Percentage) {
colorDigits[i].variant = colorDigits.at(i).variant.toReal() * (255. / 100.);
colorDigits[i].type = Value::Number;
@@ -756,11 +757,15 @@ static ColorData parseColorValue(QCss::Value v)
}
}
+
+ if (tokenCount < 5)
+ return ColorData();
+
int v1 = colorDigits.at(0).variant.toInt();
int v2 = colorDigits.at(2).variant.toInt();
int v3 = colorDigits.at(4).variant.toInt();
int alpha = 255;
- if (colorDigits.count() >= 7) {
+ if (tokenCount >= 7) {
int alphaValue = colorDigits.at(6).variant.toInt();
if (rgba && alphaValue <= 1)
alpha = colorDigits.at(6).variant.toReal() * 255.;
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp
index 7fcac9b9f2..d2da24ca94 100644
--- a/src/gui/text/qfontdatabase.cpp
+++ b/src/gui/text/qfontdatabase.cpp
@@ -804,7 +804,8 @@ QStringList QPlatformFontDatabase::fallbacksForFamily(const QString &family, QFo
Q_UNUSED(family);
Q_UNUSED(styleHint);
- QStringList retList;
+ QStringList preferredFallbacks;
+ QStringList otherFallbacks;
size_t writingSystem = std::find(scriptForWritingSystem,
scriptForWritingSystem + QFontDatabase::WritingSystemsCount,
@@ -825,18 +826,18 @@ QStringList QPlatformFontDatabase::fallbacksForFamily(const QString &family, QFo
QtFontFoundry *foundry = f->foundries[j];
for (int k = 0; k < foundry->count; ++k) {
- if (style == foundry->styles[k]->key.style) {
- if (foundry->name.isEmpty())
- retList.append(f->name);
- else
- retList.append(f->name + QLatin1String(" [") + foundry->name + QLatin1Char(']'));
- break;
- }
+ QString name = foundry->name.isEmpty()
+ ? f->name
+ : f->name + QLatin1String(" [") + foundry->name + QLatin1Char(']');
+ if (style == foundry->styles[k]->key.style)
+ preferredFallbacks.append(name);
+ else
+ otherFallbacks.append(name);
}
}
}
- return retList;
+ return preferredFallbacks + otherFallbacks;
}
static void initializeDb();
@@ -1659,9 +1660,6 @@ bool QFontDatabase::isFixedPitch(const QString &family,
bool QFontDatabase::isBitmapScalable(const QString &family,
const QString &style) const
{
- if (QGuiApplicationPrivate::platformIntegration()->fontDatabase()->fontsAlwaysScalable())
- return true;
-
bool bitmapScalable = false;
QString familyName, foundryName;
parseFontName(family, foundryName, familyName);
@@ -1702,9 +1700,6 @@ bool QFontDatabase::isBitmapScalable(const QString &family,
*/
bool QFontDatabase::isSmoothlyScalable(const QString &family, const QString &style) const
{
- if (QGuiApplicationPrivate::platformIntegration()->fontDatabase()->fontsAlwaysScalable())
- return true;
-
bool smoothScalable = false;
QString familyName, foundryName;
parseFontName(family, foundryName, familyName);
diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp
index d6af6d21a2..09b0475a84 100644
--- a/src/gui/text/qfontengine_ft.cpp
+++ b/src/gui/text/qfontengine_ft.cpp
@@ -1910,7 +1910,7 @@ void QFontEngineFT::unlockAlphaMapForGlyph()
static inline bool is2dRotation(const QTransform &t)
{
return qFuzzyCompare(t.m11(), t.m22()) && qFuzzyCompare(t.m12(), -t.m21())
- && qFuzzyCompare(t.m11()*t.m22() - t.m12()*t.m21(), 1.0);
+ && qFuzzyCompare(t.m11()*t.m22() - t.m12()*t.m21(), qreal(1.0));
}
QFontEngineFT::Glyph *QFontEngineFT::loadGlyphFor(glyph_t g,
diff --git a/src/gui/text/text.pri b/src/gui/text/text.pri
index 3fe47a6645..c1c52f2d1a 100644
--- a/src/gui/text/text.pri
+++ b/src/gui/text/text.pri
@@ -88,7 +88,7 @@ HEADERS += \
qtConfig(harfbuzz)|qtConfig(system-harfbuzz) {
DEFINES += QT_ENABLE_HARFBUZZ_NG
- include($$PWD/../../3rdparty/harfbuzz_dependency.pri)
+ QMAKE_USE_PRIVATE += harfbuzz
SOURCES += text/qharfbuzzng.cpp
HEADERS += text/qharfbuzzng_p.h