diff options
-rw-r--r-- | src/gui/text/qfontengine_qpa.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/gui/text/qfontengine_qpa.cpp b/src/gui/text/qfontengine_qpa.cpp index cb40a5388a..eb6a97c5f1 100644 --- a/src/gui/text/qfontengine_qpa.cpp +++ b/src/gui/text/qfontengine_qpa.cpp @@ -563,11 +563,9 @@ void QPAGenerator::writeHeader() writeTaggedUInt32(QFontEngineQPA::Tag_FileIndex, face.index); { - uchar data[4]; - uint len = 4; - bool ok = fe->getSfntTableData(MAKE_TAG('h', 'e', 'a', 'd'), data, &len); - if (ok) { - const quint32 revision = qFromBigEndian<quint32>(data); + const QByteArray head = fe->getSfntTable(MAKE_TAG('h', 'e', 'a', 'd')); + if (head.size() >= 4) { + const quint32 revision = qFromBigEndian<quint32>(reinterpret_cast<const uchar *>(head.constData())); writeTaggedUInt32(QFontEngineQPA::Tag_FontRevision, revision); } } |