summaryrefslogtreecommitdiffstats
path: root/src/gui/text
Commit message (Collapse)AuthorAgeFilesLines
* Add QFont strategy to disable subpixel antialiasingAllan Sandfeld Jensen2014-08-032-0/+2
| | | | | | | | | | | This patch adds the option to disable subpixel antialiasing on QFont basis. This can be useful when painting to offscreen surfaces. On OS X this option disables the aggressive LCD font smoothing, which can be necessary for certain fonts it may otherwise ruin. Task-number: QTBUG-40396 Change-Id: I1664b636520ae63ee1503b5df7436748106b9f5c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* A basic justification algorithm for HarfBuzz-NGKonstantin Ritt2014-07-271-0/+80
| | | | | | | | | This does mostly the same HB-old did, except of non-BMP codepoints support and better handling of space and punctuation characters. Change-Id: Iaf8565a35f27d5f4837128cec345eff3d9d2bdf0 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-221-0/+5
|\ | | | | | | | | | | | | | | Conflicts: src/widgets/kernel/qwidget_qpa.cpp src/widgets/widgets.pro Change-Id: I697eec936c4e1a6c360edc8f0b472e23c0461ecb
| * Doc: Hide QTextInlineObject constructor from the documentationTopi Reinio2014-07-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | The constructor takes an internal class instance as a parameter, and is not meant to be used externally. Add a note in the description and hide the constructor. Task-number: QTBUG-39785 Change-Id: Ice850f0968880f3933ebb7ae83efeaeed85441cb Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Update bundled HarfBuzz-NG copy to 0.9.32Konstantin Ritt2014-07-201-1/+1
| | | | | | | | | | | | | | | | | | | | - Unicode 7.0 support - New shapers - Multiple improvements in Arabic, Indic, and Hebrew shapers - Build fixes, optimizations, etc. Change-Id: I0ba14b619c3e6fb35cddd9d65e694af41197d6ae Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-143-7/+7
|\| | | | | | | | | | | | | Conflicts: src/gui/text/qfontengine_qpf2.cpp Change-Id: Ib04f92c41d0edd55d3aef8fb1708d917fba0f2a8
| * Fix fallbacks for adapted common scriptEskil Abrahamsen Blomfeldt2014-07-103-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the platform plugin gives us specific fallbacks for a specific script, we need to respect this, and load the correct font family regardless of which writing systems it supports. This is especially important since the common script is adapted to match surrounding, proper scripts, so characters such as digits next to e.g. Hebrew text will be marked as Hebrew. On stock Android, there is a single Hebrew font, and this would previously be put in all fallback slots for Hebrew regardless of what fallback fonts were dictated by the platform plugin. Since this font does not support the digits, they would show up as boxes. [ChangeLog][Android] Fixed common characters like digits and punctuation showing as boxes when positioned next to non-latin scripts. Task-number: QTBUG-39377 Change-Id: I1555e208a8ddc587c0bbdbfff1600cafdd9442e9 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-102-2/+15
|\| | | | | | | Change-Id: Ia12ffdb27ecdf25c2a2bdb0eed1945387502108a
| * Don't assert when HB-old is unable to deal with surrogatesKonstantin Ritt2014-07-081-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | Since we have no interest in fixing HB-old to properly support surrogates, here is a simple workaround for the case when surrogate parts gets treated like two separate glyphs in log_clusters but a single character. And since it's a known issue that HB-old doesn't really support surrogates, it's better to draw some garbage/boxes rather than to assert, IMO. Task-number: QTBUG-39875 Change-Id: I95ff43e821ae989d7a6f792f71f157dcea92dd16 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * REG: Fix nbsp in QTextLayoutEskil Abrahamsen Blomfeldt2014-07-081-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At some point since Qt 4.8, the nbsp character has acquired the whitespace attribute, causing it to be treated exactly like an ordinary space. To account for this, we add an extra check in the layout code to avoid breaking on non-breaking spaces even if they have the whiteSpace flag set. This is a temporary fix for the regression. The line breaking algorithm needs to be refactored and support Unicode tr14 properly, which it currently doesn't. [ChangeLog][Text] Fixed lines breaking on non-breaking spaces. Task-number: QTBUG-39832 Change-Id: Ibd7e1a11ce4b82c611ecda1542c8638a67bf3cae Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Decrease code duplication by reusing QTextEngine::findItem()Konstantin Ritt2014-07-082-54/+6
| | | | | | | | | | | | | | | | | | Use the findItem()'s optimized binary search impl instead of a generic one. Also drop the "already shaped item" case since setBoundary() is only called from itemize(), where the items are not shaped yet. Change-Id: Ifbecdc41b2e3cb7791a7896fbb0cbea439ca0706 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-012-10/+23
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/network/socket/qnativesocketengine_winrt.cpp src/plugins/platforms/android/androidjniaccessibility.cpp src/plugins/platforms/windows/qwindowswindow.cpp Manually adjusted: mkspecs/qnx-armle-v7-qcc/qplatformdefs.h to include 9ce697f2d54be6d94381c72af28dda79cbc027d4 Thanks goes to Sergio for the qnx mkspecs adjustments. Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
| * Merge remote-tracking branch 'origin/5.3.1' into 5.3Frederik Gladhorn2014-06-251-6/+21
| |\ | | | | | | | | | Change-Id: I51fb88701b19ce4f7ea78e12a4049156f3ef9d7f
| | * Fix crash when reusing HB_Face in another font engineKonstantin Ritt2014-06-181-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 717d39ac083e80, if HB_Face was instantiated by QFontEngineFT A and then used by QFontEngineFT B, whilst A already destroyed, a crash occurs in hb_getSFntTable() due to accessing a stale pointer. Task-number: QTBUG-39278 Change-Id: I3428669a311f49cdda1725b778f45219cbcf470d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * | Doc: Fix docs for QFontMetrics::height() to match codeEskil Abrahamsen Blomfeldt2014-06-231-4/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | After cb8445f0323b0eefbb04f1d8adad81a00b53abd8, Qt no longer considers the baseline to have a vertical size, so it does not add an extra pixel to the font height. The documentation needs to be updated to reflect this. Task-number: QTBUG-39668 Change-Id: I28fc813e21d73bb03f7055b0f0843511a12d308b Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Guarantee QTextEngine::findItem() returns -1 for invalid strPosKonstantin Ritt2014-05-232-2/+7
| | | | | | | | | | | | | | | | ...and check the returned value where it may cause undefined behavior (i.e. negative amount of items or iteration from -1 to n). Change-Id: Ib7bd9ab178526df45b792ad48b91ebbab6be861a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Decrease the life time of SpecialData::resolvedFormatsKonstantin Ritt2014-05-211-5/+4
| | | | | | | | | | | | | | | | | | Once LayoutData::items gets cleared, accessing (or re-using) SpecialData::resolvedFormats may lead to a undefined behavior, so clear SpecialData::resolvedFormats right after LayoutData::items. Change-Id: Ib389f0029a0562f5d2837f62f76197510a0db099 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Rename some QTextEngine members to reflect their meaningKonstantin Ritt2014-05-203-55/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | formats() -> formatCollection() additionalFormats -> formats QTextEngine has three different code paths: in context of QTextDocument, additionalFormats are currently _additional_ formats; though in QTextLayout, they are the only formats in use; and the QRawFont-related path shares the QTextLayout's behavior. This is a preparation step to consolidating these three into a single one. Change-Id: I427ccc3c2f672ce090899bb0a0995972315daafa Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Minor code clean-upKonstantin Ritt2014-05-203-10/+5
| | | | | | | | | | Change-Id: I5c43db4e0a499ecfd23f3dac63615e7c40208f36 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Minor optimization for QTextLineItemIteratorKonstantin Ritt2014-05-163-23/+15
| | | | | | | | | | | | | | | | | | Don't store unused values (pos_x and levels) and re-use already calculated ones (itemStart, itemEnd, and itemLength). Also const-ify some members to make the code a bit more clear. Change-Id: Ied80ebf9e4e7e8a1d057e413a9bd24f84b8aaf92 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Ensure we don't re-use webfonts where the "local" font has been requestedKonstantin Ritt2014-05-161-1/+1
| | | | | | | | | | | | | | | | | | | | For webfonts, we can't rely on the fontDef (and hence the cache Key) alone, since the resulting fontcache key might be strictly identical. Instead we have to check if the cached engine doesn't belong to a webfont when we're looking for a "local" font. Change-Id: I2de11c8fdbef53362b66674d3429a042e1835757 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* | qpa: Clean up and refactor qfontengine_qpaTor Arne Vestbø2014-05-158-252/+251
| | | | | | | | | | | | | | | | | | | | | | QFontEngineQPA was really QFontEngineQPF2, and has been renamed. The multi font engine in qfontengine_qpa.cpp was really a base implementation of a multi font engine, used by other multi font engines, and has been renamed and moved accordingly into qfontengine_p.h/cpp. Change-Id: Iac7409c4dbf0fdc3ee993ce4f7dc96cb00a422e6 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-132-2/+5
|\| | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp Change-Id: Ibe75603dc8a51769db6550ea3f07bc8d19b0be85
| * QTextLayout: Fix cursor position calculation for BiDi textAndrey Volykhin2014-05-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | Due excess 'break' in loop, function xToCursor() with "CursorOnCharacter" option for BiDI text returns wrong cursor position (start glyph position) all time. Task-number: QTBUG-38846 Change-Id: Iba6671905e0785da6f343db19d6c3bb3e2cf5e8a Reviewed-by: Andrey Volykhin <andrey.volykhin@lge.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * Respect fixed pitch request when font family is not availableEskil Abrahamsen Blomfeldt2014-05-121-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, if you have a <pre> tag in your HTML, this will become a QFont with family "Courier New" and fixedPitch==true. On Android, there's no "Courier New" font, and since the style hint is AnyStyle, we will just return Roboto, which is a proportional font. Note that this exactly matches the condition when fetching the fallback families for the font in the loadEngine() function, which was introduced by 06568ff89c48dee8aab278b8b0538c331aa84595 in Qt 4. [ChangeLog][Text] Respect QFont::fixedPitch() for fallbacks when font family cannot be matched. Task-number: QTBUG-36083 Change-Id: I64787c547dc492b9dd3c49f1edf0d9626d198260 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2014-05-135-14/+37
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-135-14/+37
| |\| | | | | | | | | | | | | | | | | | | Manually changed enum to LibGL in src/plugins/platforms/xcb/qglxintegration.cpp Change-Id: If34ee6cce3d1d51fb4bb1fdfa59c30389ea0d207
| | * Fix FT glyph outline to path conversionBernd Weimer2014-05-071-12/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the start point is not on the curve, the end point will be used as starting point for the QPainterPath, if it is on the curve - if it is not on the curve, the mid point between start and end point will be used. The origianl start point will still be used as a control point for the first bezier curve. Task-number: QTBUG-38601 Change-Id: I90e07f1141288873263f1f12fa51e6a248d0804f Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Add virtual function to QFontEngine report if outlines are reliableJørgen Lind2014-05-062-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | GetGlyphOutline fails for ttf fonts with embedded bitmaps. This results in distancefield rendering not rendering glyphs (for the failed paths). We need to fall back to texture rendering if this is the case. Change-Id: Ibdf7dc5c1d34f513c436f88fabbdcc4089bb6fef Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| | * Fix assert on justification of QTextLine with only spacesEskil Abrahamsen Blomfeldt2014-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the justification code, we unconditionally subtracted one from the line_length, but then compared the result to 0 afterwards, so we did not support when the line_length is 0 initially, which can happen if it only consists of spaces (in which case trailingSpaces will be non-zero and line_length will be zero.) The fix is to bail out for both strings of length 1 and length 0. [ChangeLog][Text] Fixed an assert when justifying a QTextLine which only contains spaces. Task-number: QTBUG-38520 Change-Id: Ib04993f47eb2f9f7fc49c4a5400f18f9682a72f2 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Fix incorrect repaints with plain text editSimon Hausmann2014-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The plain text edit's smart repaint logic in QPlainTextDocumentLayout::documentChanged assumes that during a change inside just one block, the block is in the state before the edit and a call to layoutBlock() is going to bring it up-to-date. Then only a comparison of the bounding rect - before and after - is going to allow for smart repaints. The assumption of the layout being in the same state as before the edit got broken by commit cc57a2e90f18a39ce3c74b6ad0db9a64aa135ddf, which introduced code to use a QTextCursor within a slot connected to QTextDocument's contentsChange signal. The usage of the QTextCursor there ends up updating the layout of the block ahead of time, breaking the assumption and therefore the optimization, in the sense that during changes in the preedit that cause a change of height / line count, the old bounding rect in QPlainTextDocumentLayout::documentChanged and the new bounding rect will be the same. This causes a repaint of only the edited block, missing repaints of the following blocks, even though the line count effectively changed. So what's causing QTextCursor to mess with the layout is the attempt of updating the vertical movement x property. This patch inhibits the update, marking it as dirty for initialization later. This means that slots connected to this low-level signal cannot rely on the cursor's visual x position, but that doesn't seem useful anyway and isn't required for commit cc57a2e90f18a39ce3c74b6ad0db9a64aa135ddf. Task-number: QTBUG-38536 Change-Id: I5fae12d646a4b2d2cc22b9f2d021e5dc8cfdda94 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | | qpa: merge qrawfont_qpa.cppTor Arne Vestbø2014-05-134-76/+18
| | | | | | | | | | | | | | | | | | Change-Id: I8552199c8b3e365adefbc2bb096c8153e222cec8 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | qpa: Merge qfont_qpa.cppTor Arne Vestbø2014-05-133-183/+117
|/ / | | | | | | | | | | Change-Id: I5c3564aa9c10833957de14a4c28dbd2fb7eb11e4 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-061-16/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl.cpp src/opengl/qglpixelbuffer.cpp src/opengl/qglshaderprogram.cpp tests/auto/opengl/qglthreads/tst_qglthreads.cpp Change-Id: Iaba137884d3526a139000ca26fee02bb27b5cdb5
| * Improve the Unicode script itemization implementationKonstantin Ritt2014-04-141-16/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it closer to the Unicode specs (UAX#24): * Common now inherits the preceding character's script, if any; * In a combining character sequence, if the base character is of Common script, the entire sequence is treated like if it were of the first non-Inherited, non-Common script in the sequence. See http://www.unicode.org/reports/tr24/tr24-21.html for more details. [ChangeLog][QtGui] Fixed regression in arabic text rendering. Task-number: QTBUG-28813 Task-number: QTBUG-29930 (related) Task-number: QTBUG-35836 Change-Id: Id85761965b08ca94c674d5f3613fe58b82b2ce9c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Ahmed Saidi <justroftest@gmail.com>
| * Make HarfBuzz-NG the default shaper on MacKonstantin Ritt2014-04-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For AAT shaping support, we need either the pre-QPA shaping trick or the new HarfBuzz on Mac; prefer the latter. Disable some test cases aimed to test the HB-old behavior; enable ones that should guarantee shaping-unaware behavior. [ChangeLog][OS X] Use CoreText text shaping engine for support of complex scripts. If required, the shaping engine used in previous versions can be preferred by configuring Qt with -no-harfbuzz. Alternatively, the QT_HARFBUZZ environment variable could be set to "old". Task-number: QTBUG-18980 (relates) Task-number: QTBUG-38246 Change-Id: Iee6fe4f5bc047e77259182b8585385c5febd02b3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-04-115-38/+75
|\| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-armv7le-qcc/qplatformdefs.h src/printsupport/kernel/qcups.cpp src/widgets/styles/qstyle.h tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp Change-Id: Ia41e13051169a6d4a8a1267548e7d47b859bb267
| * QTextImageHandler: Load @2x images on retinaMorten Johan Sørvig2014-04-091-7/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Look for and load "@2x" image versions. Adjust getPixmap/ImageSize to take the image devicePxielRatio into account. Use doc->documentLayout()->paintDevice() to get the target window devicePixelRatio (like the existing DPI-based scaling). In practice this pointer may/ will be null, fall back to qApp->devicePixelRatio as usual. Task-number: QTBUG-36383 Change-Id: Ib5e113b67242b5a9b3410272f2183a76a60bc773 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * QTextLayout: Fix cursor movement from invalid positionKonstantin Ritt2014-04-042-7/+13
| | | | | | | | | | | | | | | | Actually guarantee cursor doesn't move in this case for both logical and visual modes (just what the documentation says we already do ;) Change-Id: Iabdca7aa1d205672386a0095e3487e585611cdb5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Optimize QTextEngine::insertionPointsForLine() a bitKonstantin Ritt2014-04-041-0/+3
| | | | | | | | | | | | | | Reserve the insertionPoints vector capacity prior to multiple append()-s. Change-Id: I97ab5b2a1add9f2e87c04ad0707bf516c13ff4d7 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * QTextLayout: Fix visual cursor movement in some casesKonstantin Ritt2014-04-041-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To guarantee proper positioning at the end of the last line in a bidirectional text we have to insert the eol position into the insertion points vector, accordingly to the visual ordering. Detection of the last *logical* item in a *visual* line is unrelaed to the text direction, it is simply `iterator.item == iterator.lastItem`. [ChangeLog][QtGui][QTextLayout] Fixed visual cursor movement in bidirectional text. Task-number: QTBUG-18060 (partially related) Change-Id: I53b6ab889ef580ab0560b620b808b1e09efc0fbd Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Ahmed Saidi <justroftest@gmail.com>
| * QTextEngine: Fix visual position movement for tab and object casesKonstantin Ritt2014-04-041-8/+7
| | | | | | | | | | | | | | | | | | QTextLineItemIterator::next() was never updating itemStart and itemEnd for QScriptAnalysis::TabOrObject, thus producing incorrect insertion points for the line that contains tabs and/or objects. Change-Id: Ia964c663cc0636ba6be4500702656f989b252fba Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * [HB] Ensure we always working with non-multi font engineKonstantin Ritt2014-04-042-4/+9
| | | | | | | | | | Change-Id: If88385d4cecdc527b7952d34e48f7ba889173c6c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devIikka Eklund2014-04-016-44/+38
|\| | | | | | | Change-Id: I2a6eb9dd7724931bc89f28bcc156e77c4e26d069
| * Fix QFontCache::Key comparison for custom font fallbacks caseKonstantin Ritt2014-03-311-1/+1
| | | | | | | | | | | | | | Just a C&P typo, of course we have to compare lists, not their sizes. Change-Id: I40542035b87f5bb8d75207cb02c0826cc3a2a413 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Drop dead codeKonstantin Ritt2014-03-311-4/+1
| | | | | | | | | | | | | | The QFontEngineMulti's `base` font engine always non-null. Change-Id: I5092b66bc839a6a3216ffa0b0afe55a8b62be620 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Deprecate QFont::setRawName() and QFont::rawName()Sergio Ahumada2014-03-272-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't support xlfd fonts anymore and indeed QFont::setRawName() is an empty method. [Changelog][QtGui] QFont::setRawName() and QFont::rawName() are deprecated. Change-Id: Ic52d42a9bc200ba8b246dd4e28c77f84e086dad5 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * Fix typos in QFont documentation.Mitch Curtis2014-03-271-2/+2
| | | | | | | | | | | | Change-Id: I0e8de5b47ec7b64719f875eecc46cc8ef009642b Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * Android: Fix font mergingEskil Abrahamsen Blomfeldt2014-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Our fallback fonts would contain a minimal list of hardcoded fallback fonts, which is neither sufficient for displaying all text, nor portable to different vendors which can supply different font sets. [ChangeLog][Android] Fixed font merging problem which caused e.g. missing glyphs for Arabic numerals. Task-number: QTBUG-37738 Change-Id: Ic971343a1cd5610c79a81f6f6152c637937b5626 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * Fix grammar in QFontInfo::styleName() doc.Mitch Curtis2014-03-251-1/+1
| | | | | | | | | | Change-Id: I673ecc8931f4824dc4fb923056354cfd2e119e40 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>