drop support for non-local font filepaths

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2022-01-27 00:24:00 +02:00
parent c787ffa588
commit 590b2adc31
7 changed files with 6 additions and 23 deletions

View file

@ -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;

View file

@ -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;
}

View file

@ -74,7 +74,6 @@ private:
Q_DISABLE_COPY(QFreetypeFace);
FT_Library library;
QByteArray fontData;
};
class Q_GUI_EXPORT QFontEngineFT : public QFontEngine

View file

@ -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)

View file

@ -1,4 +1,3 @@
katie_gui_test(tst_qfontmetrics
${CMAKE_CURRENT_SOURCE_DIR}/tst_qfontmetrics.cpp
${CMAKE_CURRENT_SOURCE_DIR}/testfont.qrc
)

View file

@ -1,5 +0,0 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/fonts">
<file>ucs4font.ttf</file>
</qresource>
</RCC>

View file

@ -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"