diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index 087a8fe7f..571874e34 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -1299,7 +1299,9 @@ QFontEngine* QFontDatabase::load(const QFontPrivate *d, int script) return fe; } - if (QFile::exists(req.family)) { + const ushort firstchar = (req.family.isEmpty() ? 0 : req.family.at(0).unicode()); + // relative or absolute path + if (firstchar == '.' || firstchar == '/') { QFontEngineFT* ftfe = new QFontEngineFT(req); if (ftfe->invalid()) { delete ftfe; diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp index 60b4143b0..66d9a4b38 100644 --- a/src/gui/text/qfontengine_ft.cpp +++ b/src/gui/text/qfontengine_ft.cpp @@ -63,18 +63,7 @@ QFreetypeFace::QFreetypeFace(const QFontEngine::FaceId &face_id) return; } - QFile file(QString::fromUtf8(face_id.filename)); - if (!(file.fileEngine()->fileFlags(QAbstractFileEngine::FlagsMask) & QAbstractFileEngine::LocalDiskFlag)) { - if (!file.open(QIODevice::ReadOnly)) { - return; - } - fontData = file.readAll(); - } - if (!fontData.isEmpty()) { - if (FT_New_Memory_Face(library, (const FT_Byte *)fontData.constData(), fontData.size(), face_id.index, &face)) { - return; - } - } else if (FT_New_Face(library, face_id.filename, face_id.index, &face)) { + if (FT_New_Face(library, face_id.filename, face_id.index, &face) != 0) { return; } diff --git a/src/gui/text/qfontengine_ft_p.h b/src/gui/text/qfontengine_ft_p.h index 665cb50ba..46fb32a87 100644 --- a/src/gui/text/qfontengine_ft_p.h +++ b/src/gui/text/qfontengine_ft_p.h @@ -74,7 +74,6 @@ private: Q_DISABLE_COPY(QFreetypeFace); FT_Library library; - QByteArray fontData; }; class Q_GUI_EXPORT QFontEngineFT : public QFontEngine diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index c62d2be50..7ee947ad2 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -671,7 +671,7 @@ void QTextEngine::justify(const QScriptLine &line) if (justificationPoints[i].type == type) ++n; } -// qDebug("number of points for justification type %d: %d", type, n); + // qDebug("number of points for justification type %d: %d", type, n); if (!n) diff --git a/tests/auto/qfontmetrics/CMakeLists.txt b/tests/auto/qfontmetrics/CMakeLists.txt index 7776bae5c..7bfa1c94e 100644 --- a/tests/auto/qfontmetrics/CMakeLists.txt +++ b/tests/auto/qfontmetrics/CMakeLists.txt @@ -1,4 +1,3 @@ katie_gui_test(tst_qfontmetrics ${CMAKE_CURRENT_SOURCE_DIR}/tst_qfontmetrics.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/testfont.qrc ) diff --git a/tests/auto/qfontmetrics/testfont.qrc b/tests/auto/qfontmetrics/testfont.qrc deleted file mode 100644 index 74a9c4dc8..000000000 --- a/tests/auto/qfontmetrics/testfont.qrc +++ /dev/null @@ -1,5 +0,0 @@ - - - ucs4font.ttf - - diff --git a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp index 8b69a1b51..59ef75778 100644 --- a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp +++ b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp @@ -211,7 +211,7 @@ void tst_QFontMetrics::averageCharWidth() void tst_QFontMetrics::inFontUcs4() { - QFont font(":/fonts/ucs4font.ttf"); + QFont font(SRCDIR "/ucs4font.ttf"); { QFontMetrics fm(font); @@ -245,4 +245,3 @@ void tst_QFontMetrics::lineWidth() QTEST_MAIN(tst_QFontMetrics) #include "moc_tst_qfontmetrics.cpp" -#include "qrc_testfont.cpp"