use proper type for unicode script

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
This commit is contained in:
Ivailo Monev 2019-07-30 11:01:18 +00:00
parent 856e7a6846
commit 79bb27fbc0
6 changed files with 23 additions and 21 deletions

View file

@ -201,7 +201,7 @@ QFontPrivate::~QFontPrivate()
extern QMutex *qt_fontdatabase_mutex();
QFontEngine *QFontPrivate::engineForScript(int script) const
QFontEngine *QFontPrivate::engineForScript(QUnicodeTables::Script script) const
{
QMutexLocker locker(qt_fontdatabase_mutex());
if (script > QUnicodeTables::ScriptCount)

View file

@ -154,7 +154,7 @@ public:
QFontPrivate(const QFontPrivate &other);
~QFontPrivate();
QFontEngine *engineForScript(int script) const;
QFontEngine *engineForScript(QUnicodeTables::Script script) const;
void alterCharForCapitalization(QChar &c) const;
QAtomicInt ref;

View file

@ -1037,6 +1037,8 @@ static void FcFontSetRemove(FcFontSet *fs, int at)
}
static QFontEngine *tryPatternLoad(FcPattern *match, int screen,
const QFontDef &request,
QUnicodeTables::Script script)
{
#ifdef FONT_MATCH_DEBUG
FcChar8 *fam;
@ -1117,7 +1119,7 @@ FcFontSet *qt_fontSetForPattern(FcPattern *pattern, const QFontDef &request)
return fs;
}
static QFontEngine *loadFc(const QFontPrivate *fp, int script, const QFontDef &request)
static QFontEngine *loadFc(const QFontPrivate *fp, QUnicodeTables::Script script, const QFontDef &request)
{
FM_DEBUG("===================== loadFc: script=%d family='%s'\n", script, request.family.toLatin1().constData());
FcPattern *pattern = getFcPattern(fp, script, request);
@ -1236,7 +1238,7 @@ void QFontDatabase::load(const QFontPrivate *d, int script)
#endif
#ifndef QT_NO_FONTCONFIG
if (qt_x11Data->has_fontconfig) {
fe = loadFc(d, script, req);
fe = loadFc(d, static_cast<QUnicodeTables::Script>(script), req);
#endif
}
if (!fe) {

View file

@ -405,7 +405,7 @@ int QFontMetrics::averageCharWidth() const
*/
bool QFontMetrics::inFont(QChar ch) const
{
const int script = QUnicodeTables::script(ch.unicode());
const QUnicodeTables::Script script = QUnicodeTables::script(ch.unicode());
QFontEngine *engine = d->engineForScript(script);
Q_ASSERT(engine != 0);
if (engine->type() == QFontEngine::Box)
@ -422,7 +422,7 @@ bool QFontMetrics::inFont(QChar ch) const
*/
bool QFontMetrics::inFontUcs4(uint ucs4) const
{
const int script = QUnicodeTables::script(ucs4);
const QUnicodeTables::Script script = QUnicodeTables::script(ucs4);
QFontEngine *engine = d->engineForScript(script);
Q_ASSERT(engine != 0);
if (engine->type() == QFontEngine::Box)
@ -445,7 +445,7 @@ bool QFontMetrics::inFontUcs4(uint ucs4) const
*/
int QFontMetrics::leftBearing(QChar ch) const
{
const int script = QUnicodeTables::script(ch.unicode());
const QUnicodeTables::Script script = QUnicodeTables::script(ch.unicode());
QFontEngine *engine;
if (d->capital == QFont::SmallCaps && ch.isLower())
engine = d->smallCapsFontPrivate()->engineForScript(script);
@ -480,7 +480,7 @@ int QFontMetrics::leftBearing(QChar ch) const
*/
int QFontMetrics::rightBearing(QChar ch) const
{
const int script = QUnicodeTables::script(ch.unicode());
const QUnicodeTables::Script script = QUnicodeTables::script(ch.unicode());
QFontEngine *engine;
if (d->capital == QFont::SmallCaps && ch.isLower())
engine = d->smallCapsFontPrivate()->engineForScript(script);
@ -583,7 +583,7 @@ int QFontMetrics::width(QChar ch) const
if (QChar::category(ch.unicode()) == QChar::Mark_NonSpacing)
return 0;
const int script = QUnicodeTables::script(ch.unicode());
const QUnicodeTables::Script script = QUnicodeTables::script(ch.unicode());
QFontEngine *engine;
if (d->capital == QFont::SmallCaps && ch.isLower())
engine = d->smallCapsFontPrivate()->engineForScript(script);
@ -617,7 +617,7 @@ int QFontMetrics::charWidth(const QString &text, int pos) const
return 0;
QChar ch = text.unicode()[pos];
const int script = QUnicodeTables::script(ch.unicode());
const QUnicodeTables::Script script = QUnicodeTables::script(ch.unicode());
int width;
if (script != QUnicodeTables::Common) {
@ -700,7 +700,7 @@ QRect QFontMetrics::boundingRect(const QString &text) const
*/
QRect QFontMetrics::boundingRect(QChar ch) const
{
const int script = QUnicodeTables::script(ch.unicode());
const QUnicodeTables::Script script = QUnicodeTables::script(ch.unicode());
QFontEngine *engine;
if (d->capital == QFont::SmallCaps && ch.isLower())
engine = d->smallCapsFontPrivate()->engineForScript(script);
@ -1272,7 +1272,7 @@ qreal QFontMetricsF::averageCharWidth() const
*/
bool QFontMetricsF::inFont(QChar ch) const
{
const int script = QUnicodeTables::script(ch.unicode());
const QUnicodeTables::Script script = QUnicodeTables::script(ch.unicode());
QFontEngine *engine = d->engineForScript(script);
Q_ASSERT(engine != 0);
if (engine->type() == QFontEngine::Box)
@ -1289,7 +1289,7 @@ bool QFontMetricsF::inFont(QChar ch) const
*/
bool QFontMetricsF::inFontUcs4(uint ucs4) const
{
const int script = QUnicodeTables::script(ucs4);
const QUnicodeTables::Script script = QUnicodeTables::script(ucs4);
QFontEngine *engine = d->engineForScript(script);
Q_ASSERT(engine != 0);
if (engine->type() == QFontEngine::Box)
@ -1312,7 +1312,7 @@ bool QFontMetricsF::inFontUcs4(uint ucs4) const
*/
qreal QFontMetricsF::leftBearing(QChar ch) const
{
const int script = QUnicodeTables::script(ch.unicode());
const QUnicodeTables::Script script = QUnicodeTables::script(ch.unicode());
QFontEngine *engine;
if (d->capital == QFont::SmallCaps && ch.isLower())
engine = d->smallCapsFontPrivate()->engineForScript(script);
@ -1347,7 +1347,7 @@ qreal QFontMetricsF::leftBearing(QChar ch) const
*/
qreal QFontMetricsF::rightBearing(QChar ch) const
{
const int script = QUnicodeTables::script(ch.unicode());
const QUnicodeTables::Script script = QUnicodeTables::script(ch.unicode());
QFontEngine *engine;
if (d->capital == QFont::SmallCaps && ch.isLower())
engine = d->smallCapsFontPrivate()->engineForScript(script);
@ -1419,7 +1419,7 @@ qreal QFontMetricsF::width(QChar ch) const
if (QChar::category(ch.unicode()) == QChar::Mark_NonSpacing)
return 0.;
const int script = QUnicodeTables::script(ch.unicode());
const QUnicodeTables::Script script = QUnicodeTables::script(ch.unicode());
QFontEngine *engine;
if (d->capital == QFont::SmallCaps && ch.isLower())
engine = d->smallCapsFontPrivate()->engineForScript(script);
@ -1484,7 +1484,7 @@ QRectF QFontMetricsF::boundingRect(const QString &text) const
*/
QRectF QFontMetricsF::boundingRect(QChar ch) const
{
const int script = QUnicodeTables::script(ch.unicode());
const QUnicodeTables::Script script = QUnicodeTables::script(ch.unicode());
QFontEngine *engine;
if (d->capital == QFont::SmallCaps && ch.isLower())
engine = d->smallCapsFontPrivate()->engineForScript(script);

View file

@ -1308,7 +1308,7 @@ void QTextEngine::itemize() const
const ushort *uc = reinterpret_cast<const ushort *>(layoutData->string.unicode());
const ushort *e = uc + length;
int lastScript = QUnicodeTables::Common;
QUnicodeTables::Script lastScript = QUnicodeTables::Common;
while (uc < e) {
switch (*uc) {
case QChar::ObjectReplacementCharacter:
@ -1338,7 +1338,7 @@ void QTextEngine::itemize() const
}
// fall through
default:
int script = QUnicodeTables::script(*uc);
QUnicodeTables::Script script = QUnicodeTables::script(*uc);
analysis->script = script == QUnicodeTables::Inherited ? lastScript : script;
analysis->flags = QScriptAnalysis::None;
break;
@ -1646,7 +1646,7 @@ QFontEngine *QTextEngine::fontEngine(const QScriptItem &si, QFixed *ascent, QFix
{
QFontEngine *engine = 0;
QFontEngine *scaledEngine = 0;
int script = si.analysis.script;
QUnicodeTables::Script script = si.analysis.script;
QFont font = fnt;
if (hasFormats()) {

View file

@ -105,7 +105,7 @@ struct Q_AUTOTEST_EXPORT QScriptAnalysis
TabOrObject = Tab,
Object = 7
};
unsigned short script;
QUnicodeTables::Script script;
unsigned short bidiLevel; // Unicode Bidi algorithm embedding level (0-61)
Flags flags;
inline bool operator == (const QScriptAnalysis &other) const {