diff --git a/src/gui/painting/qpaintengine.cpp b/src/gui/painting/qpaintengine.cpp index 9376a4c..2cadfac 100644 --- a/src/gui/painting/qpaintengine.cpp +++ b/src/gui/painting/qpaintengine.cpp @@ -750,6 +750,7 @@ void QPaintEngine::drawPath(const QPainterPath &) void QPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem) { const QTextItemInt &ti = static_cast(textItem); + qDebug() << __FUNCTION__ << textItem; QPainterPath path; #ifndef Q_WS_MAC diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index fe17ace..a10e293 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -3081,6 +3081,7 @@ void QRasterPaintEngine::drawStaticTextItem(QStaticTextItem *textItem) void QRasterPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem) { const QTextItemInt &ti = static_cast(textItem); + qDebug() << __FUNCTION__ << p << textItem; QRasterPaintEngineState *s = state(); #ifdef QT_DEBUG_DRAW @@ -3096,6 +3097,7 @@ void QRasterPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textIte #if defined (Q_WS_WIN) || defined(Q_WS_MAC) || (defined(Q_OS_MAC) && defined(Q_WS_QPA)) if (!supportsTransformations(ti.fontEngine)) { + qDebug() << __FUNCTION__ << ti.fontEngine << "does not support transforms"; QVarLengthArray positions; QVarLengthArray glyphs; diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 7c22bde..1c15f31 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -6581,6 +6581,7 @@ Q_GUI_EXPORT void qt_draw_decoration_for_glyphs(QPainter *painter, const glyph_t void QPainter::drawTextItem(const QPointF &p, const QTextItem &_ti) { + qDebug() << __FUNCTION__ << p << _ti; #ifdef QT_DEBUG_DRAW if (qt_show_painter_debug_output) printf("QPainter::drawTextItem(), pos=[%.f,%.f], str='%s'\n", @@ -6651,6 +6652,7 @@ void QPainter::drawTextItem(const QPointF &p, const QTextItem &_ti) const QGlyphLayout &glyphs = ti.glyphs; int which = glyphs.glyphs[0] >> 24; + qDebug() << __FUNCTION__ << "QFontEngine::Multi" << which; qreal x = p.x(); qreal y = p.y(); @@ -6666,7 +6668,7 @@ void QPainter::drawTextItem(const QPointF &p, const QTextItem &_ti) if (e == which) continue; - + qDebug() << __FUNCTION__ << 'e' << end << "engine #" << which << start << end - start; QTextItemInt ti2 = ti.midItem(multi->engine(which), start, end - start); ti2.width = 0; // set the high byte to zero and calc the width @@ -8039,12 +8041,16 @@ void qt_format_text(const QFont &fnt, const QRectF &_r, tabstops, ta, tabarraylen, painter); } + +QString debugHieroglyph(const QStringRef &r); + void qt_format_text(const QFont &fnt, const QRectF &_r, int tf, const QTextOption *option, const QString& str, QRectF *brect, int tabstops, int *ta, int tabarraylen, QPainter *painter) { + qDebug() << __FUNCTION__ << fnt.family() << debugHieroglyph(str.midRef(0, str.size())); Q_ASSERT( !((tf & ~Qt::TextDontPrint)!=0 && option!=0) ); // we either have an option or flags if (option) { diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 6adab4d..3e06b64 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -293,6 +293,7 @@ extern QMutex *qt_fontdatabase_mutex(); QFontEngine *QFontPrivate::engineForScript(int script) const { + qDebug() << __FUNCTION__ <= QUnicodeTables::Inherited) script = QUnicodeTables::Common; @@ -303,7 +304,10 @@ QFontEngine *QFontPrivate::engineForScript(int script) const } if (!engineData || !QT_FONT_ENGINE_FROM_DATA(engineData, script)) QFontDatabase::load(this, script); - return QT_FONT_ENGINE_FROM_DATA(engineData, script); + QFontEngine *re = QT_FONT_ENGINE_FROM_DATA(engineData, script); + qDebug() << __FUNCTION__ << "script" << script + << request.family << "returns " << re; + return re; } void QFontPrivate::alterCharForCapitalization(QChar &c) const { @@ -2922,9 +2926,13 @@ void QFontCache::insertEngineData(const Key &key, QFontEngineData *engineData) QFontEngine *QFontCache::findEngine(const Key &key) { + qDebug() << __FUNCTION__ << key.def.family << "script: "<ref), it.value().data->cache_count, it.value().data->name()); - + qDebug() << __FUNCTION__ << "found" << it.value().data; return it.value().data; } diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index 5e971ea..0940622 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -67,14 +67,14 @@ # include FT_TRUETYPE_TABLES_H #endif -// #define QFONTDATABASE_DEBUG +#define QFONTDATABASE_DEBUG #ifdef QFONTDATABASE_DEBUG # define FD_DEBUG qDebug #else # define FD_DEBUG if (false) qDebug #endif -// #define FONT_MATCH_DEBUG +#define FONT_MATCH_DEBUG #ifdef FONT_MATCH_DEBUG # define FM_DEBUG qDebug #else @@ -937,7 +937,10 @@ static const int scriptForWritingSystem[] = { int qt_script_for_writing_system(QFontDatabase::WritingSystem writingSystem) { - return scriptForWritingSystem[writingSystem]; + int r =scriptForWritingSystem[writingSystem]; + if (writingSystem) + qDebug() << __FUNCTION__ << "returns " << r << "for" << writingSystem; + return r; } @@ -1083,6 +1086,7 @@ static QStringList familyList(const QFontDef &req) // qDebug() << "adding substs: " << subs_list; family_list += subs_list; + qDebug() << __FUNCTION__ << req.family << "returns " << family_list; return family_list; } @@ -1214,6 +1218,11 @@ unsigned int bestFoundry(int script, unsigned int score, int styleStrategy, QtFontStyle::Key styleKey, int pixelSize, char pitch, QtFontDesc *desc, int force_encoding_id) { + qDebug() << __FUNCTION__ << "script" <