summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qrawfont.cpp
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-04-05 15:24:53 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2016-04-05 15:24:53 +0000
commitdf5159a8a6b6bf585feb1473054dec2ed5ddb11a (patch)
treea56ad5c69e735eeeb1e93e01330ec2498f5ba497 /src/gui/text/qrawfont.cpp
parent0683c9291f9c1ffe0625fdadee198840047f0e92 (diff)
parentf2856875843efce9a00e90dad05bde358ab82197 (diff)
Merge "Merge remote-tracking branch 'origin/5.7' into dev" into refs/staging/dev
Diffstat (limited to 'src/gui/text/qrawfont.cpp')
-rw-r--r--src/gui/text/qrawfont.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp
index 6065e17d9b..2a53b8869d 100644
--- a/src/gui/text/qrawfont.cpp
+++ b/src/gui/text/qrawfont.cpp
@@ -634,18 +634,18 @@ QList<QFontDatabase::WritingSystem> QRawFont::supportedWritingSystems() const
if (d->isValid()) {
QByteArray os2Table = fontTable("OS/2");
if (os2Table.size() > 86) {
- char *data = os2Table.data();
- quint32 *bigEndianUnicodeRanges = reinterpret_cast<quint32 *>(data + 42);
- quint32 *bigEndianCodepageRanges = reinterpret_cast<quint32 *>(data + 78);
+ const uchar * const data = reinterpret_cast<const uchar *>(os2Table.constData());
+ const uchar * const bigEndianUnicodeRanges = data + 42;
+ const uchar * const bigEndianCodepageRanges = data + 78;
quint32 unicodeRanges[4];
quint32 codepageRanges[2];
- for (int i=0; i<4; ++i) {
- if (i < 2)
- codepageRanges[i] = qFromBigEndian(bigEndianCodepageRanges[i]);
- unicodeRanges[i] = qFromBigEndian(bigEndianUnicodeRanges[i]);
- }
+ for (size_t i = 0; i < sizeof unicodeRanges / sizeof *unicodeRanges; ++i)
+ unicodeRanges[i] = qFromBigEndian<quint32>(bigEndianUnicodeRanges + i * sizeof(quint32));
+
+ for (size_t i = 0; i < sizeof codepageRanges / sizeof *codepageRanges; ++i)
+ codepageRanges[i] = qFromBigEndian<quint32>(bigEndianCodepageRanges + i * sizeof(quint32));
QSupportedWritingSystems ws = QPlatformFontDatabase::writingSystemsFromTrueTypeBits(unicodeRanges, codepageRanges);
for (int i = 0; i < QFontDatabase::WritingSystemsCount; ++i) {