diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2013-03-07 15:21:07 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-12 16:01:35 +0100 |
commit | 06a65b053e9b8697c0140219fdc3c28495426e77 (patch) | |
tree | fd25622333e5645d6c6762ad7595bcb514694696 /src/gui/text/qrawfont.cpp | |
parent | 3cd94fcaf81ca5285c481c59b6ed4a720241820e (diff) |
Get rid of qt_determine_writing_systems_from_truetype_bits()
Move this code to QPlatformFontDatabase and get rid of all dups of it.
Change-Id: Idea6c84819039bf3b345b1305305951ade8d1ac4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/gui/text/qrawfont.cpp')
-rw-r--r-- | src/gui/text/qrawfont.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp index 279f0ecd90..567586495c 100644 --- a/src/gui/text/qrawfont.cpp +++ b/src/gui/text/qrawfont.cpp @@ -45,6 +45,7 @@ #include "qrawfont.h" #include "qrawfont_p.h" +#include "qplatformfontdatabase.h" #include <QtCore/qendian.h> @@ -574,9 +575,6 @@ QByteArray QRawFont::fontTable(const char *tagName) const return d->fontEngine->getSfntTable(qToBigEndian(*tagId)); } -// From qfontdatabase.cpp -extern QList<QFontDatabase::WritingSystem> qt_determine_writing_systems_from_truetype_bits(quint32 unicodeRange[4], quint32 codePageRange[2]); - /*! Returns a list of writing systems supported by the font according to designer supplied information in the font file. Please note that this does not guarantee support for a @@ -590,6 +588,7 @@ extern QList<QFontDatabase::WritingSystem> qt_determine_writing_systems_from_tru */ QList<QFontDatabase::WritingSystem> QRawFont::supportedWritingSystems() const { + QList<QFontDatabase::WritingSystem> writingSystems; if (d->isValid()) { QByteArray os2Table = fontTable("OS/2"); if (os2Table.size() > 86) { @@ -606,11 +605,15 @@ QList<QFontDatabase::WritingSystem> QRawFont::supportedWritingSystems() const unicodeRanges[i] = qFromBigEndian(bigEndianUnicodeRanges[i]); } - return qt_determine_writing_systems_from_truetype_bits(unicodeRanges, codepageRanges); + QSupportedWritingSystems ws = QPlatformFontDatabase::writingSystemsFromTrueTypeBits(unicodeRanges, codepageRanges); + for (int i = 0; i < QFontDatabase::WritingSystemsCount; ++i) { + if (ws.supported(QFontDatabase::WritingSystem(i))) + writingSystems.append(QFontDatabase::WritingSystem(i)); + } } } - return QList<QFontDatabase::WritingSystem>(); + return writingSystems; } /*! |