aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/scenegraph_lancelot/data/text
Commit message (Collapse)AuthorAgeFilesLines
* Remove quality evaluation in test stringEskil Abrahamsen Blomfeldt2020-06-102-2/+2
| | | | | | | | | | | | | It is not the test's place to evaluate the quality of the outline shader (which also looks perfectly fine unless you don't really like outlined text). And it looks unprofessional to use rude words to describe our code in manual tests. Strings in lancelot tests are also inefficient ways of reporting and tracking bugs if that was the intended use of this. Pick-to: 5.15 Change-Id: Ib9fdb4e56539b9b02f8b3f1d06eb3e3beb51f8ef Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix: NativeRendering text for non-integer screen scalingEirik Aavitsland2019-11-181-0/+37
| | | | | | | | | | | | | | Commit 6e883c53 introduced snapping to pixel grid for non-integer device pixel ratios. But the snapping also modified the w element of the coord vector, which resulted in mangled and offset rendering. As a driveby, add the dpr snapping also to the outlinetext shader, as it improves rendering quality. Fixes: QTBUG-70481 Fixes: QTBUG-78160 Change-Id: I4c4b1788005514adc0255878ba24cdf1acc6755f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-08-051-0/+14
|\ | | | | | | Change-Id: I042df89ddd381c7fbb944b7ff49d5b45b764fd47
| * Fix possible crash with top/bottom aligned imagesEskil Abrahamsen Blomfeldt2019-07-301-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An image inside at the end of a text block which did not start at text position 0 would resolve to an invalid QTextLine, since we passed the document position to lineForTextPosition(), which expects the relative block position. If the image was aligned to top or bottom, so that the extracted QTextLine was actually accessed, this would cause a crash. [ChangeLog][QtQuick][Text] Fixed a bug where aligning an image to "top" or "bottom" could cause a crash under certain circumstances. Task-number: QTBUG-77217 Change-Id: Iaa239ba482f2a765703656e4116cbebb8435a66e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix text wrap: do not break on last line if right elide is enabledEirik Aavitsland2019-03-261-0/+133
|/ | | | | | | | | | For multiline texts with word wrapping, it is not so meaningful to add breaks in the last line if it is anyway going to be elided. Fix by using the WrapAnywhere strategy for the last line for such situations. Fixes: QTBUG-72736 Change-Id: I1263c81277b6ca89ba461529fced1094263c026f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-242-0/+90
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/compiler/qv4codegen.cpp src/qml/compiler/qv4compileddata_p.h src/qml/debugger/qqmlprofiler_p.h src/qml/jsruntime/qv4engine.cpp src/qml/memory/qv4mm.cpp src/qml/qml/qqmlcomponent.cpp src/qml/qml/qqmlobjectcreator.cpp src/qml/qml/qqmlobjectcreator_p.h src/qml/types/qqmldelegatemodel.cpp src/quick/items/qquickitem_p.h src/quick/items/qquickwindow.cpp tests/auto/quick/touchmouse/BLACKLIST tests/benchmarks/qml/holistic/tst_holistic.cpp Change-Id: I520f349ab4b048dd337d9647113564fc257865c2
| * lancelot: Add tests for some emoji casesEskil Abrahamsen Blomfeldt2018-01-102-0/+90
| | | | | | | | | | | | | | | | | | | | This adds a test that emojis can be mixed with non-latin scripts and that ZWJ correctly joins together emojis when applicable. Task-number: QTBUG-61882 Task-number: QTBUG-65519 Change-Id: I6d52382886c9a0c8f2d07ef56abad49ec2f2798e Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Merge dev into 5.10Frederik Gladhorn2017-09-022-0/+30
|\ \ | | | | | | | | | Change-Id: I4376b711fbf02ea978f5d347d34a4a6a0c95dab2
| * | Add property to disable shaping on fontsEskil Abrahamsen Blomfeldt2017-08-252-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major performance improvements can be gained if you know for sure your text does not require any shaping features. This patch adds Qt Quick support for the QFont::PreferNoShaping flag (though as a boolean property to work better with property bindings). [ChangeLog][QtQuick][Text] Added "font.preferShaping" property to Text, TextEdit and TextInput. This makes it possible to improve performance at the expense of some cosmetic font features. Task-number: QTBUG-56728 Change-Id: Ib4e23d5b21b9d4929562df521347285b2586a62e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Update import to 2.10 in tests for Text.advanceEskil Abrahamsen Blomfeldt2017-08-296-6/+6
|/ / | | | | | | | | | | | | | | | | | | | | This property was added in Qt 5.10, but a bug in the engine causes it to be available, at least in binding expressions, even if you only import 2.0. Lets correct this in case the bug in the QML engine is later fixed. Task-number: QTBUG-56728 Change-Id: I97e2900bde61fd22853b013af583d027194cf08c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Expose "kerning" property for fontsEskil Abrahamsen Blomfeldt2017-06-301-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | For text where the content is known, it can be handy to be able to disable the kerning feature in OpenType to improve performance. [ChangeLog][Qt Quick][Text] Added "kerning" property to the font type to support disabling kerning on text. Task-number: QTBUG-56728 Change-Id: I2e447587a066a7e12c5d38967e0845eaad021014 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add advance property to QQuickTextEskil Abrahamsen Blomfeldt2017-05-196-0/+298
|/ | | | | | | | | | | | | | | This is a step on the way to certain optimization possibilities for text in Qt Quick. Basically, to allow users the ability to split text into separate items (so that you can distinguish dynamic from static, and unshaped from shaped text), we also need a way to string those items together visually later. The advance property is required for this. [ChangeLog][QtQuick][Text] Added "advance" property to Text element. Task-number: QTBUG-56728 Change-Id: I8e7bf9bac410fa9c5553b48db90956431a2873f6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix flow text objects in beginning of RTL blockEskil Abrahamsen Blomfeldt2016-11-142-0/+28
| | | | | | | | | | | | | If the block is right-to-left and starts with a text object, it should be aligned to the right edge of the QTextLine instead of the left one. [ChangeLog][QtQuick][Text] Fixed placement of flowing text objects in the start of a right-to-left block. Task-number: QTBUG-43133 Change-Id: Id790e88f3464280f124c38b4260386b84cac8826 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add a test for bitmap font rendering in Qt QuickEskil Abrahamsen Blomfeldt2016-10-251-0/+18
| | | | | | | | | | The "fixedsys" font is available on Windows at least, so while this test may not add any value on other platforms, it won't hurt either, and this was something that regressed on Windows before. Task-number: QTBUG-56659 Change-Id: Id01dedcbdc2fe74027caf31dd0dde6729ade8c63 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Add another test for broken selectionsEskil Abrahamsen Blomfeldt2016-04-111-0/+22
| | | | | | | | This test is for 24914b1acbfc5e45768dd1465b9e3f3e61185829 in qtbase. Task-number: QTBUG-51759 Change-Id: I59081ec5268359f25c492f0536f985793e08e250 Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
* Lancelot: Add test for mixing breaks and wraps in selectionsEskil Abrahamsen Blomfeldt2016-02-051-0/+22
| | | | | | | | | This is a test for QTBUG-49596. It's separate from the fix, because the fix is in Qt Gui. Task-number: QTBUG-49596 Change-Id: Ic035e58b477422dcb137e528381d9b70d6542215 Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
* Fix selections in tables that span over several cellsEskil Abrahamsen Blomfeldt2015-08-041-0/+40
| | | | | | | | | | | | | | | | | In the code that converts text layouts to subtrees in the scene graph specifically for TextEdit, there was a cutoff to treat text tables as single nodes in the graph (for simplicity). However, this breaks selections, since the ranges spanned by each cell will be interpreted as overlapping, messing up the selection merging logic. We need the same approach here as for any other text frame where we check frame boundaries. [ChangeLog][TextEdit] Fixed issues with selections that spanned several cells in a table. Change-Id: I789041d84b5d163e209488f8f2f1f83a6471389f Task-number: QTBUG-46928 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Fix selecting single character in middle of stringEskil Abrahamsen Blomfeldt2015-08-031-0/+13
| | | | | | | | | | | | | | | The fix for QTBUG-46829 revealed a bug in the code to handle selecting part of ligatures. The ranges were assumed to be [start, end], while they are in fact [start, end>. This would cause the engine to assume the previous node overlapped completely with the selected node and that the node had thus already been added to the graph. Due to the bug in QTBUG-46829, this accidentally worked before, but when that bug was fixed, this bug appeared. Change-Id: I517d260de9f58db4504dd4320b7113fbbe305a81 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Fix disappearing selection spanning different scriptsEskil Abrahamsen Blomfeldt2015-08-031-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the way itemization is currently done in Qt, Cyrillic text (and other writing systems) separated by spaces will become separate items because the spaces are itemized as Script_Common. In the Scenegraph's text node engine, we should merge these items into a single node as long as the same font is used for all the text. But a bug in the engine caused this to fail when the text was selected. The symptom of this was that in some rare cases one of the items would vanish if it were in the middle of a selection. In order to support the bearing of selected text leaning outside the selection rect, I previously added a hack which would add all selected text as unselected text as well in b0783c21fb54b939f07ddf5658cc51113b8014e6. This was an awkward way of doing it and caused said regression. A less intrusive way is just to add the text to the scene graph twice, as this does not interfere with the logic needed to support selecting part of ligatures nor the engine's ability to merge nodes correctly. [ChangeLog][Text] Fixed regression with selections spanning different scripts. Task-number: QTBUG-46829 Change-Id: I0faed76fb2cd1ac0b2e5cc54b81008b5e2550733 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Add lancelot test for Emoji text rendering / color glyphsTor Arne Vestbø2015-06-291-0/+45
| | | | | | | | | | | We test both native text rendering and distance field text rendering (which should switch to native for the emoji glyphs automatically), in various configurations of text color, opacity, and background color. Change-Id: I06178820943cd2a52cf338f7eb5c0fca881cb625 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Fix TextEdit when vertical alignment != AlignTopEskil Abrahamsen Blomfeldt2015-04-091-0/+21
| | | | | | | | | | | | | | | | | | | | | | | When the TextEdit's alignment was either AlignBottom or AlignVCenter, several things would be broken: First of all the position of all non-dirty nodes would not be updated, so if you e.g. added text to the end of the document, it would overlap with the previously added text. Also, the frame decorations were always aligned to the top, since the basePosition was not accounted for in the node for this. The fix is to translate the root node to the base position instead of baking this into the position of the text nodes. This also automatically fixes frame decorations since it's already aligned to the top of the root node. [ChangeLog][TextEdit] Fixed issues with using other vertical alignments than AlignTop. Change-Id: I11f73eab21a28658a5cbf00292fd519efd0f3e7f Task-number: QTBUG-45032 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Respect the text's background-color when it is set in the style in HTMLAndy Shaw2015-02-051-0/+14
| | | | | | Task-number: QTBUG-36837 Change-Id: Iea85f4bc7c66124178a318f0ebd776726cf72c96 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Fix missing glyphs in selectionEskil Abrahamsen Blomfeldt2014-10-091-0/+17
| | | | | | | | | | | | | | | | | Change 198009db79a85d3cab7fe3a6432635d36123a2d6 revealed a bug in the new selection algorithm which would occur sometimes when a given run of text spanned several script items. Since we are checking the glyph runs for overlaps in the actual text, we need to report the exact characters spanned by the glyph run. We use the new enabler for this in QGlyphRunPrivate. Added a new test case which is an error case we did not yet cover, which is when there is only a single script item, but several font engines are used to produce it (fallback fonts). Change-Id: Ie4c3e79ad98a033d5c75fd67ada4ae83df33435b Task-number: QTBUG-41808 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix selection of text with negative right bearingEskil Abrahamsen Blomfeldt2014-09-026-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Selecting text with a negative right bearing (like italic text) would cause clipping to occur at the edges of the characters. The algorithm for drawing text and text selection tried to divide the text into two: 1. Selected text, and 2. Unselected text. However, the selected text might be drawn outside the selection rect when it has a negative right bearing. Similarly, unselected text before the selection might overlap with the selection rect when it has a negative right bearing, or unselected text after the selection might overlap if it has a negative left bearing. See added test textinput_italic_selected.qml for an example. To rectify this, we do drawing of selected text like this: 1. Draw all text with unselected color 2. Draw selection rects 3. Draw the following in the selection text color and clipped to the selection rect: A. The selected text B. The unselected text right before the selection C. The unselected text right after the selection To avoid drawing the same text twice for extra boldness, we check if 3B or 3C actually contain 3A, in which case we skip 3A. [ChangeLog][Text] Fixed clipping when selecting text with negative right bearing. Task-number: QTBUG-34233 Change-Id: I3506b3a72a2d963c5f24c5b819bbb92769b9aee1 Reviewed-by: Samuel Nevala <samuel.nevala@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Add test for shaping and rendering Sinhala textEskil Abrahamsen Blomfeldt2014-01-291-0/+16
| | | | | | | | This is currently broken on Mac OS X, but the fix is nigh. Task-number: QTBUG-36056 Change-Id: I547f7961a2ca8c62301e15de486a6f75de26bc4a Reviewed-by: aavit <eirik.aavitsland@digia.com>
* Fix alignment of Text element with implicit sizeEskil Abrahamsen Blomfeldt2013-01-241-0/+35
| | | | | | | | | | | | | In change e1d6b323d474acc5cd70fd9a0b283326316f55a0 there's an optimization which disables layouts on the QTextDocument, but the layout has to be re-enabled before we can call idealWidth() since this will be zero as long as the page size is 0x0. We simply set the page size to undefined again before calling idealWidth. Task-number: QTBUG-29262 Change-Id: I6bebe7be4c99fce0de8fc4178b5e1abc81abbe87 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: aavit <eirik.aavitsland@digia.com>
* Added lancelot-based scenegraph rendering regression testaavit2012-09-27113-0/+2883
Change-Id: I6718d00ba96dc9c96dac82de4ded9228f6bfb990 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>