diff options
author | Volker Hilsheimer <volker.hilsheimer@nokia.com> | 2009-07-27 09:26:22 (GMT) |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@nokia.com> | 2009-07-27 09:29:45 (GMT) |
commit | a5190a05bfe809339e9612c9013f0f8213791768 (patch) | |
tree | 5145f8ac8744984d090bb75d5d81b7bb3c9a1711 | |
parent | 9745d9d485e153d2f22e04770e9caecb9f0eaaca (diff) | |
download | Qt-a5190a05bfe809339e9612c9013f0f8213791768.zip Qt-a5190a05bfe809339e9612c9013f0f8213791768.tar.gz Qt-a5190a05bfe809339e9612c9013f0f8213791768.tar.bz2 |
Doc: QTextLayout is the class to use in interactive text controls.
-rw-r--r-- | doc/src/i18n.qdoc | 12 | ||||
-rw-r--r-- | src/gui/text/qfontmetrics.cpp | 10 |
2 files changed, 10 insertions, 12 deletions
diff --git a/doc/src/i18n.qdoc b/doc/src/i18n.qdoc index 5964926..d043f45 100644 --- a/doc/src/i18n.qdoc +++ b/doc/src/i18n.qdoc @@ -144,13 +144,13 @@ aligned, so for these languages use the version of drawText() that takes a QRect since this will align in accordance with the language. - \o When you write your own text input controls, use \l - QFontMetrics::charWidth() to determine the width of a character in a - string. In some languages (e.g. Arabic or languages from the Indian + \o When you write your own text input controls, use QTextLayout. + In some languages (e.g. Arabic or languages from the Indian subcontinent), the width and shape of a glyph changes depending on the - surrounding characters. Writing input controls usually requires a - certain knowledge of the scripts it is going to be used in. Usually - the easiest way is to subclass QLineEdit or QTextEdit. + surrounding characters, which QTextLayout takes into account. + Writing input controls usually requires a certain knowledge of the + scripts it is going to be used in. Usually the easiest way is to + subclass QLineEdit or QTextEdit. \endlist diff --git a/src/gui/text/qfontmetrics.cpp b/src/gui/text/qfontmetrics.cpp index abab91c..f558011 100644 --- a/src/gui/text/qfontmetrics.cpp +++ b/src/gui/text/qfontmetrics.cpp @@ -557,9 +557,8 @@ int QFontMetrics::width(const QString &text, int len) const \warning This function will produce incorrect results for Arabic characters or non-spacing marks in the middle of a string, as the glyph shaping and positioning of marks that happens when - processing strings cannot be taken into account. Use charWidth() - instead if you aren't looking for the width of isolated - characters. + processing strings cannot be taken into account. When implementing + an interactive text control, use QTextLayout instead. \sa boundingRect(), charWidth() */ @@ -1386,9 +1385,8 @@ qreal QFontMetricsF::width(const QString &text) const \warning This function will produce incorrect results for Arabic characters or non-spacing marks in the middle of a string, as the glyph shaping and positioning of marks that happens when - processing strings cannot be taken into account. Use charWidth() - instead if you aren't looking for the width of isolated - characters. + processing strings cannot be taken into account. When implementing + an interactive text control, use QTextLayout instead. \sa boundingRect() */ |