summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qtextengine.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use maximum ascent/descent/leading from fallback fonts in shapingJiang Jiang2011-04-291-0/+4
| | | | | | | | | | | | | | | | When shaping a QScriptItem with a multi font engine, currently we only take the ascent/descent/leading from the primary (first) font engine in that multi font engine, however, subsequent engines used during shaping may have larger ascent/descent/leading, disregarding them may cause clipping issues in some cases. It's fixed by checking each font engine used in the shaping process and take the maximum value instead of the first one. On ATSUI we merely make it compile. Task-number: QTBUG-16719 Reviewed-by: Eskil (cherry picked from commit c501403cb5a0c9ec21b00e0c2f640ae85566e0cf)
* Make sure layoutData exist before checking for string directionJiang Jiang2011-04-291-0/+2
| | | | | | | Otherwise accessing that through QTextEngine::alignLine may cause crash. Reviewed-by: Samuel Rødal (cherry picked from commit dcdb62c3d1a76d951c4b65bc1b1bd930e2ad14ec)
* Take leading space width into account for painting and selectionJiang Jiang2011-04-291-1/+3
| | | | | | | | | | When painting horizontally centered RTL text and selection with trailing spaces, we need to take that space width into account because line.textAdvance doesn't include it. Task-number: QTBUG-18612 Reviewed-by: Eskil (cherry picked from commit 224226727f07e8940e0d3131fe7587b11cc4a6ca)
* Turn on HarfBuzz support for Mac/CocoaJiang Jiang2011-04-291-1/+33
| | | | | | | | | | | | | | | | | | | | It's possible to enable HarfBuzz text layout on Mac by either: - Set QT_ENABLE_HARFBUZZ environment variable when running a Qt app. - configure with -harfbuzz to build Qt, then HarfBuzz support will be turned on by default. HarfBuzz will only be used when the font explicitly requested is supported by HarfBuzz (aka. TrueType/OpenType font), other fonts (AAT fonts) will still be handled by Core Text. Using HarfBuzz for text layout will hopefully solve most tricky complex text shaping bugs on Mac. Task-number: QTBUG-17728 Reviewed-by: Eskil
* Support visual cursor movement for BIDI textJiang Jiang2011-04-291-0/+297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bidi input can in some contexts be more intuitive if the cursor works in visual way: pressing left arrow key always make cursor move one character to the left regardless the language of text, pressing right arrow key always make cursor move to the right. It is also the behavior of Mac OS X. Based on the above reason and requests from Symbian we implemented this support for visual movement in BIDI text. 3 public properties are added to QTextDocument, QTextLayout and QLineEdit respectively: - QTextDocument::defaultCursorMoveStyle can be used to control the cursor behavior in all widgets based on QTextDocument, like QTextEdit, QPlainTextEdit, etc. When set to QTextCursor:: Visual, it will enable visual movement for all the cursors in the corresponding text edit. Default is QTextCursor::Logical. - QTextLayout::cursorMoveStyle is used for low-level cursor manipulation. When set to Visual, it will enable visual movement behavior for all the cursor related methods, including cursorToX, xToCursor and drawCursor. Default is Logical. - QLineEdit::cursorMoveStyle is used to control cursor movement behavior in QLineEdit. Default is Logical.: Task-number: QTBUG-13859 Reviewed-by: Eskil (cherry picked from commit c480dd641f5d22d1ee72cb27bf39e24c6df65658)
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+2845
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12