diff options
Diffstat (limited to 'src/gui/text')
-rw-r--r-- | src/gui/text/qfont.cpp | 5 | ||||
-rw-r--r-- | src/gui/text/qfontdatabase.cpp | 10 | ||||
-rw-r--r-- | src/gui/text/qfontdatabase_s60.cpp | 2 | ||||
-rw-r--r-- | src/gui/text/qfontmetrics.cpp | 3 | ||||
-rw-r--r-- | src/gui/text/qglyphrun.cpp | 3 | ||||
-rw-r--r-- | src/gui/text/qplatformfontdatabase_qpa.cpp | 28 | ||||
-rw-r--r-- | src/gui/text/qrawfont.cpp | 3 | ||||
-rw-r--r-- | src/gui/text/qtextcontrol.cpp | 8 | ||||
-rw-r--r-- | src/gui/text/qtextdocument_p.cpp | 1 | ||||
-rw-r--r-- | src/gui/text/qtextengine.cpp | 44 |
10 files changed, 75 insertions, 32 deletions
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 2d6af3b..2df88e2 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -919,8 +919,9 @@ QString QFont::styleName() const /*! \since 4.8 - Sets the style name of the font. When set, other style properties - like \a style() and \a weight() will be ignored for font matching. + Sets the style name of the font to the given \a styleName. + When set, other style properties like style() and weight() will be ignored + for font matching. \sa styleName() */ diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index 79503f9..1d463c4 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -1943,8 +1943,9 @@ bool QFontDatabase::isScalable(const QString &family, /*! - Returns a list of the point sizes available for the font that has - family \a family and style \a style. The list may be empty. + \fn QList<int> QFontDatabase::pointSizes(const QString &family, const QString &style) + Returns a list of the point sizes available for the font with the + given \a family and \a style. The list may be empty. \sa smoothSizes(), standardSizes() */ @@ -2052,8 +2053,9 @@ QFont QFontDatabase::font(const QString &family, const QString &style, /*! - Returns the point sizes of a font that has family \a family and - style \a style that will look attractive. The list may be empty. + \fn QList<int> QFontDatabase::smoothSizes(const QString &family, const QString &style) + Returns the point sizes of a font with the given \a family and \a style + that will look attractive. The list may be empty. For non-scalable fonts and bitmap scalable fonts, this function is equivalent to pointSizes(). diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp index cf96733..ffa4e59 100644 --- a/src/gui/text/qfontdatabase_s60.cpp +++ b/src/gui/text/qfontdatabase_s60.cpp @@ -58,7 +58,7 @@ #endif // SYMBIAN_ENABLE_SPLIT_HEADERS #endif // QT_NO_FREETYPE -#ifndef SYMBIAN_VERSION_9_4 +#if !defined(SYMBIAN_VERSION_9_4) && !defined(SYMBIAN_VERSION_9_3) && !defined(SYMBIAN_VERSION_9_2) #define SYMBIAN_LINKEDFONTS_SUPPORTED #endif // !SYMBIAN_VERSION_9_4 diff --git a/src/gui/text/qfontmetrics.cpp b/src/gui/text/qfontmetrics.cpp index f3d4107..1d93d54 100644 --- a/src/gui/text/qfontmetrics.cpp +++ b/src/gui/text/qfontmetrics.cpp @@ -442,9 +442,10 @@ bool QFontMetrics::inFont(QChar ch) const } /*! + \fn bool QFontMetrics::inFontUcs4(uint character) const \since 4.8 - Returns true if the character encoded in UCS-4/UTF-32 is a valid + Returns true if the given \a character encoded in UCS-4/UTF-32 is a valid character in the font; otherwise returns false. */ bool QFontMetrics::inFontUcs4(uint ucs4) const diff --git a/src/gui/text/qglyphrun.cpp b/src/gui/text/qglyphrun.cpp index 2865d91..442f7cc 100644 --- a/src/gui/text/qglyphrun.cpp +++ b/src/gui/text/qglyphrun.cpp @@ -175,7 +175,8 @@ QRawFont QGlyphRun::rawFont() const } /*! - Sets the font in which to look up the glyph indexes to \a font. + Sets the font specified by \a rawFont to be the font used to look up the + glyph indexes. \sa rawFont(), setGlyphIndexes() */ diff --git a/src/gui/text/qplatformfontdatabase_qpa.cpp b/src/gui/text/qplatformfontdatabase_qpa.cpp index d1d1f94..e3eeca5 100644 --- a/src/gui/text/qplatformfontdatabase_qpa.cpp +++ b/src/gui/text/qplatformfontdatabase_qpa.cpp @@ -160,6 +160,9 @@ QSupportedWritingSystems::QSupportedWritingSystems(const QSupportedWritingSystem d->ref.ref(); } +/*! + Assigns the \a other supported writing systems object to this object. +*/ QSupportedWritingSystems &QSupportedWritingSystems::operator=(const QSupportedWritingSystems &other) { if (d != other.d) { @@ -171,6 +174,9 @@ QSupportedWritingSystems &QSupportedWritingSystems::operator=(const QSupportedWr return *this; } +/*! + Destroys the object. +*/ QSupportedWritingSystems::~QSupportedWritingSystems() { if (!d->ref.deref()) @@ -187,12 +193,26 @@ void QSupportedWritingSystems::detach() } } +/*! + Sets the supported state of the writing system given by \a writingSystem to + the value specified by \a support. A value of true indicates that the + writing system is supported; a value of false indicates that it is + unsupported. + + \sa supported() +*/ void QSupportedWritingSystems::setSupported(QFontDatabase::WritingSystem writingSystem, bool support) { detach(); d->vector[writingSystem] = support; } +/*! + Returns true if the writing system given by \a writingSystem is supported; + otherwise returns false. + + \sa setSupported() +*/ bool QSupportedWritingSystems::supported(QFontDatabase::WritingSystem writingSystem) const { return d->vector.at(writingSystem); @@ -295,7 +315,7 @@ QStringList QPlatformFontDatabase::addApplicationFont(const QByteArray &fontData } /*! - + Releases the font handle and deletes any associated data loaded from a file. */ void QPlatformFontDatabase::releaseHandle(void *handle) { @@ -304,7 +324,13 @@ void QPlatformFontDatabase::releaseHandle(void *handle) } /*! + Returns the path to the font directory. + + The font directory is stored in the general Qt settings unless it has been + overridden by the \c QT_QPA_FONTDIR environment variable. + When using builds of Qt that do not support settings, the \c QT_QPA_FONTDIR + environment variable is the only way to specify the font directory. */ QString QPlatformFontDatabase::fontDir() const { diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp index e3e5c57..60a6cb3 100644 --- a/src/gui/text/qrawfont.cpp +++ b/src/gui/text/qrawfont.cpp @@ -485,7 +485,8 @@ QVector<quint32> QRawFont::glyphIndexesForString(const QString &text) const must be at least \a numChars, if that's still not enough, this function will return false, then you can resize \a glyphIndexes from the size returned in \a numGlyphs. - \sa glyphIndexesForString(), advancesForGlyphIndexes(), QGlyphs, QTextLayout::glyphs(), QTextFragment::glyphs() + \sa glyphIndexesForString(), advancesForGlyphIndexes(), QGlyphRun, + QTextLayout::glyphRuns(), QTextFragment::glyphRuns() */ bool QRawFont::glyphIndexesForChars(const QChar *chars, int numChars, quint32 *glyphIndexes, int *numGlyphs) const { diff --git a/src/gui/text/qtextcontrol.cpp b/src/gui/text/qtextcontrol.cpp index aacac04..e32e112 100644 --- a/src/gui/text/qtextcontrol.cpp +++ b/src/gui/text/qtextcontrol.cpp @@ -1665,8 +1665,10 @@ void QTextControlPrivate::mouseMoveEvent(QEvent *e, Qt::MouseButton button, cons #endif //QT_NO_IM } else { //emit q->visibilityRequest(QRectF(mousePos, QSizeF(1, 1))); - if (cursor.position() != oldCursorPos) + if (cursor.position() != oldCursorPos) { emit q->cursorPositionChanged(); + emit q->microFocusChanged(); + } } selectionChanged(true); repaintOldAndNewSelection(oldSelection); @@ -1710,8 +1712,10 @@ void QTextControlPrivate::mouseReleaseEvent(QEvent *e, Qt::MouseButton button, c repaintOldAndNewSelection(oldSelection); - if (cursor.position() != oldCursorPos) + if (cursor.position() != oldCursorPos) { emit q->cursorPositionChanged(); + emit q->microFocusChanged(); + } if (interactionFlags & Qt::LinksAccessibleByMouse) { if (!(button & Qt::LeftButton)) diff --git a/src/gui/text/qtextdocument_p.cpp b/src/gui/text/qtextdocument_p.cpp index f4cb742..39d0e6c 100644 --- a/src/gui/text/qtextdocument_p.cpp +++ b/src/gui/text/qtextdocument_p.cpp @@ -540,6 +540,7 @@ int QTextDocumentPrivate::remove_block(int pos, int *blockFormat, int command, Q int n = blocks.next(b); Q_ASSERT((int)blocks.position(n) == pos + 1); blocks.setSize(b, blocks.size(b) + blocks.size(n) - 1); + blocks.fragment(b)->userState = blocks.fragment(n)->userState; b = n; } *blockFormat = blocks.fragment(b)->format; diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 093b43d..9f148ee 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -1532,33 +1532,38 @@ void QTextEngine::itemize() const const ushort *e = uc + length; int lastScript = QUnicodeTables::Common; while (uc < e) { - int script = QUnicodeTables::script(*uc); - if (script == QUnicodeTables::Inherited) - script = lastScript; - analysis->flags = QScriptAnalysis::None; - if (*uc == QChar::ObjectReplacementCharacter) { - if (analysis->bidiLevel % 2) - --analysis->bidiLevel; + switch (*uc) { + case QChar::ObjectReplacementCharacter: analysis->script = QUnicodeTables::Common; analysis->flags = QScriptAnalysis::Object; - } else if (*uc == QChar::LineSeparator) { + break; + case QChar::LineSeparator: if (analysis->bidiLevel % 2) --analysis->bidiLevel; analysis->script = QUnicodeTables::Common; analysis->flags = QScriptAnalysis::LineOrParagraphSeparator; if (option.flags() & QTextOption::ShowLineAndParagraphSeparators) *const_cast<ushort*>(uc) = 0x21B5; // visual line separator - } else if (*uc == 9) { + break; + case 9: // Tab analysis->script = QUnicodeTables::Common; analysis->flags = QScriptAnalysis::Tab; analysis->bidiLevel = control.baseLevel(); - } else if ((*uc == 32 || *uc == QChar::Nbsp) - && (option.flags() & QTextOption::ShowTabsAndSpaces)) { - analysis->script = QUnicodeTables::Common; - analysis->flags = QScriptAnalysis::Space; - analysis->bidiLevel = control.baseLevel(); - } else { - analysis->script = script; + break; + case 32: // Space + case QChar::Nbsp: + if (option.flags() & QTextOption::ShowTabsAndSpaces) { + analysis->script = QUnicodeTables::Common; + analysis->flags = QScriptAnalysis::Space; + analysis->bidiLevel = control.baseLevel(); + break; + } + // fall through + default: + int script = QUnicodeTables::script(*uc); + analysis->script = script == QUnicodeTables::Inherited ? lastScript : script; + analysis->flags = QScriptAnalysis::None; + break; } lastScript = analysis->script; ++uc; @@ -2426,7 +2431,7 @@ void QTextEngine::indexAdditionalFormats() between the text that gets truncated and the ellipsis. This is important to get correctly shaped results for arabic text. */ -static bool nextCharJoins(const QString &string, int pos) +static inline bool nextCharJoins(const QString &string, int pos) { while (pos < string.length() && string.at(pos).category() == QChar::Mark_NonSpacing) ++pos; @@ -2435,13 +2440,14 @@ static bool nextCharJoins(const QString &string, int pos) return string.at(pos).joining() != QChar::OtherJoining; } -static bool prevCharJoins(const QString &string, int pos) +static inline bool prevCharJoins(const QString &string, int pos) { while (pos > 0 && string.at(pos - 1).category() == QChar::Mark_NonSpacing) --pos; if (pos == 0) return false; - return (string.at(pos - 1).joining() == QChar::Dual || string.at(pos - 1).joining() == QChar::Center); + QChar::Joining joining = string.at(pos - 1).joining(); + return (joining == QChar::Dual || joining == QChar::Center); } QString QTextEngine::elidedText(Qt::TextElideMode mode, const QFixed &width, int flags) const |