summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Optimize non-native bilinear transformsAllan Sandfeld Jensen2015-04-161-12/+33
| | | | | | | | Reading directly from an array instead of calling a function pointer is much faster. Change-Id: I833b33448bad064d6f38d2f9ff44138d90206822 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5Liang Qi2015-04-152-3/+3
|\
| * Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-04-152-3/+3
| |\ | | | | | | | | | Change-Id: I004854a25ebbf12b1fda88900162fe7878716c58
| | * Add a cast to glTexImage2D to keep QNX happyLaszlo Agocs2015-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The internalformat parameter seems to be GLenum (unsigned int) on QNX based on the error message in the linked bug report. The standard is GLint, though. To keep everyone happy, add a cast. Task-number: QTBUG-45346 Change-Id: I57fece7b381e0d02acc842a21b1edc5451ea0224 Reviewed-by: Sérgio Martins <sergio.martins@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| | * Fix QNX and Blackberry -qtnamespace buildSérgio Martins2015-04-011-2/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-43569 Change-Id: I81a560d1508de4d808a807f1febdc17619cf4dda Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | | Cleanup and optimization of qimage smoothscaleAllan Sandfeld Jensen2015-04-157-729/+769
| | | | | | | | | | | | | | | | | | | | | | | | | | | Cleaning up smoothscale code. Upscaling is improved using existing optimized interpolation methods, and downscale is given SSE4.1 optimized versions. Change-Id: I7cdc256c26850948aef7dae26fda1622be6b8179 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | [QTextCursor] Better use of the cached whiteSpace attributeKonstantin Ritt2015-04-154-24/+8
| | | | | | | | | | | | | | | | | | | | | | | | In compare to QTextEngine::atSpace(), this also handles the less-common "white spaces" and the exceptional control codes. Change-Id: I52878932926b7f9fe36c9dd01007963b9691fbf0 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Fix trivial copy-paste typo in QTextBlock::previous() docuKonstantin Ritt2015-04-151-1/+1
|/ / | | | | | | | | Change-Id: Ia5d260af00aecf40400653e41248b5dd5f074b74 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Defer Q(OpenGL|Raster)Window updates when non-exposedLaszlo Agocs2015-04-141-4/+18
| | | | | | | | | | | | | | | | | | | | This is similar to how widgets work. On platforms like OS X this becomes essential since in non-exposed state SwapBuffers does not block so continuing to update continuously leads to undesirable effects. Task-number: QTBUG-45524 Change-Id: I80f4c00b218561b9e62c3cad1e66f61f4debd4af Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Improve QTextDocument::toPlainText doc related to inline imagesAlessandro Portale2015-04-102-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | "Embedded objects, such as images, are represented by a Unicode value U+FFFC (OBJECT REPLACEMENT CHARACTER)." Also updated the QTextImageFormat docs with the same wording. Task-number: QTBUG-44538 Change-Id: I64dd5f5be4a0ecc64b30758a72f8b4281c17924b Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Expose ItemViewActivateItemOnSingleClick in QStyleHintsEike Hein2015-04-105-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This completes support for ItemViewActivateItemOnSingleClick in QPlatformIntegration and exposes the setting in QStyleHints. Based on the review process, the public name used is 'singleClickActivation' for brevity, as well as to avoid con- fusion over alluding to "item views" in the Qt Quick context. KDE Plasma intends to use this via Qt.styleHints to have Qt Quick-based UI correctly implement the global single vs. double click user preference for item activation. [ChangeLog][QtGui] Added QStyleHints::singleClickActivation to access whether the platform expects item activation to occur on single clicks rather than double clicks. Change-Id: I0916e9e68c3a157f95053da8227b2612803653f7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Add a means to set the application icon where supportedAndy Shaw2015-04-103-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | On OS X the application icon can be changed at runtime, so this adds a way to set this via the QPlatformIntegration. [ChangeLog][OS X] QApplication::setWindowIcon now changes the icon for the application in the dock. Task-number: QTBUG-43999 Change-Id: Ice298c0bd52f10f4866f37c6d3f20cf5419b7a1b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* | Add FIXME comments to make Q[]Validator::setRange() non-virtual.Friedemann Kleint2015-04-101-0/+3
| | | | | | | | | | | | | | | | | | There is no apparent reason why these functions should be virtual. The virtual keyword originates from the CVS import. Change-Id: I4f8051cd4e89ca3037a78d12f17c93265c755b8e Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* | Support gradients natively in the PDF generatorLars Knoll2015-04-092-233/+270
| | | | | | | | | | | | | | | | | | | | | | Add native support for linear and radial gradients to our PDF generator. This fixes a couple of issues with both the quality of the generated PDFs as well as sizes of the files. Task-number: QTBUG-42758 Change-Id: Ib905457e11e4dc52443c76b3761bca8d1fbe9bfc Reviewed-by: Stephen Chu <stephen@ju-ju.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Remove table of mostly null pointersAllan Sandfeld Jensen2015-04-082-2066/+73
| | | | | | | | | | | | | | | | | | The patch moves the initialization of the format to format blend tables to runtime, so we only have to explicitly set the values that are not null. This removes most of the lines in qblendfunctions.cpp. Change-Id: Ie017f380ff11cfb764a631cfea7626786731b5fb Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | [QtFontFamily] Get rid of unused memberKonstantin Ritt2015-04-081-2/+0
| | | | | | | | | | | | Change-Id: I8c70995767bfb5fdbd6e9e9464029beeccf41f53 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | [QFontEngineFT::loadGlyph] Fix reversed condition.Friedemann Kleint2015-04-081-6/+6
| | | | | | | | | | | | | | | | | | | | Introduced by 237cb0d082b5518cecf42f1a2186134799de745e (Consolidate paths for fetchMetricsOnly cases). Task-number: QTBUG-45444 Change-Id: Icd642c09490f1cfc5804313d60d467290ae599ba Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Use the default fbo in Qt sense in blitFramebufferLaszlo Agocs2015-04-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | QOpenGLFramebufferObject::blitFramebuffer() passes 0 when no FBO is specified. This goes against the rest of the framework where the default fbo is what QOpenGLContext::defaultFramebufferObject() returns. This becomes significant with QOpenGLWidget and on iOS. Task-number: QTBUG-45328 Change-Id: Iaeb82cd3786ad395116679c9626bdcb10e93b4e3 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | [QFontEngineFT::loadGlyph] Consolidate paths for fetchMetricsOnly casesKonstantin Ritt2015-04-072-25/+27
| | | | | | | | | | | | | | | | | | Use GlyphInfo as a temporary buffer for storing the glyph metrics and go through the same code for fetchMetricsOnly and !fetchMetricsOnly. Change-Id: If8bb85056e5f09588cc3956b43dc51a54d5aecfe Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [QFontEngineFT] Move code around to improve readability (no-op)Konstantin Ritt2015-04-071-21/+14
| | | | | | | | | | | | | | | | Move some variables initialization closer to the usage context. Change-Id: I0f1de0ddc9f0fbe3ec4a56455ccc14f9e8d94e5a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [QFontEngineFT] Avoid double-negation of info.xKonstantin Ritt2015-04-071-4/+4
| | | | | | | | | | | | | | | | Make it consistent with fetchMetricsOnly path. Change-Id: I6a2d2568d5579255582217515a4e598722547c60 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Introduce QQuaternion::fromDirection()Konstantin Ritt2015-04-072-0/+32
| | | | | | | | | | | | | | | | | | | | ...which constructs a quaternion using specified forward and upward directions, so that the resulting Z axis "faces" a given forward direction. Change-Id: Ib77b8ab5c359a4880b0d946face87026acdc6f0b Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Michael Krasnyk <michael.krasnyk@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [QFontEngineFT] Guarantee correct metrics for alphamap and its bounding boxKonstantin Ritt2015-04-072-49/+8
| | | | | | | | | | | | | | | | ...for both cached and non-cached modes, by disabling hinting for transformed glyphs in loadGlyphFor(). Change-Id: I13766a653ebd72cbed0f5c38ca3536d042aed762 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [QFontEngineFT] Consolidate .*lpha.*MapForGlyph() behaviorKonstantin Ritt2015-04-071-71/+52
| | | | | | | | | | | | | | ...and decrease code duplication. Change-Id: I5eb3c0694dde9030405a3bd3d410ff9784ed7717 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Optimize fetching pixel values for SSE2 bilinear samplingAllan Sandfeld Jensen2015-04-041-72/+59
| | | | | | | | | | | | | | | | | | | | | | Most of the CPU time was spending in fetching pixel values instead of calculating the bilinear sample. The access to vectors unions turns out to be very slow, and should be avoided. This patch removes the uses of vector,int array union in the bilinear sampling for SSE2. Change-Id: Ie765a80963c4899db59a583ea9a59d15e05f2b13 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix debug stream operators.Friedemann Kleint2015-04-012-15/+21
| | | | | | | | | | | | | | | | | | | | - Use QDebugStateSaver to restore space setting in stream operators instead of returning dbg.space() which breaks formatting on streams that already have nospace() set. - Fix some single character string constants. Change-Id: I0fe86bb1adbdd4a76ab6d2f8c19e063b45ddcf3b Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5Liang Qi2015-04-019-35/+59
|\ \
| * | Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-319-35/+59
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
| | * Fix use of the window geometry specificationAlexander Volkov2015-03-273-14/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now we applied the geometry in QWidget::setVisible() by calling QWidget::move() and QWidget::resize(). But these methods are unreliable when the window is created but not visible yet. For example, specifying the window position by "-geometry +0+0" will take no effect. Apply the geometry directly to QWindow in QWindow::setVisible(). QWidget will update its geometry after the response of the window system. Besides it allows to specify the geometry for QML applications. Task-number: QTBUG-44713 Change-Id: I9a0e110e81e569c81da802729707fec104fef887 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * Fix rasterization errors in aliased cosmetic drawPolyLineEirik Aavitsland2015-03-191-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a cosmetic polyline contained a 1-pixel segment, the next segment would be drawn with wrong starting point. The original fix for QTBUG-26156 had some unwanted side effects (QTBUG-31579 and now QTBUG-42398). It tried to skip start-point update if stroke() did not actually draw anything (because the segment was too small). However, to determine that, it tested for a change in lastPixel. But that was not failsafe; in some cases (1-pixel segment), lastPixel could be unchanged even though the segment had been drawn. With this change, we instead test directly whether stroke() skipped the segment or not. Task-number: QTBUG-42398 Change-Id: Id751db69a18cd1af4f45070db9d5698aa532d22a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
| | * Avoid using the current frame as the previous in layoutAllan Sandfeld Jensen2015-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | When continuing a previous layout, we would in some cases add a wrong margin because we would treat the current frame as preceding itself. Task-number: QTBUG-42269 Change-Id: Idf00fadbed890ce34b073cf670cc9b8e1d4b0d5d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Add note clarifying return value of QDesktopServices::openUrl()Aaron McCarthy2015-03-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some platforms (notably wayland and xcb) the openUrl() call returns as soon as the request is passed to the underlying system. The call may still fail, but this status is not reported to the application. Change-Id: Iea554e9d5e7e371a5ce11454aef6f5c66ba36ca0 Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * Fix crash in QDesktopServices::openUrl() without QGuiApplicationTasuku Suzuki2015-03-131-1/+6
| | | | | | | | | | | | | | | Change-Id: Ib1a66c71725dac8fd7ba7ef3d432667b210df778 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| | * Fixes crash in bmp and ico image decodingEirik Aavitsland2015-03-131-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | Fuzzing test revealed that for certain malformed bmp and ico files, the handler would segfault. Change-Id: I19d45145f31e7f808f7f6a1a1610270ea4159cbe Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Fixes crash in gif image decoderEirik Aavitsland2015-03-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Fuzzing test revealed that for certain malformed gif files, qgifhandler would segfault. Change-Id: I5bb6f60e1c61849e0d8c735edc3869945e5331c1 Reviewed-by: Richard J. Moore <rich@kde.org>
| | * Always clear QWindowPrivate::positionAutomatic in setFramePosition()Alexander Volkov2015-03-061-1/+1
| | | | | | | | | | | | | | | Change-Id: I3dd494eee6a133c05256cc1518853e6c5511f8b7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| | * Fix another crash when converting format of buffer-created QImageEirik Aavitsland2015-03-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This continues 68762151dbf45fbb44e140ac2ad13dbe8d357352 When doing format conversion, the optimized inplace codepath did not check if the image data was external, i.e. if the QImage had been created by the constructor taking an existing external buffer. The previous commit fixed the readonly case. But in the case of the QImage constructor taking non-const uchar*, data will be read-write, but still external. This would of course crash if the converter tries to realloc it. Task-number: QTBUG-44610 Change-Id: I94d275d464e8af221682b538fc3e4897a59c061e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | | Split out some inline qdebug formatting helpers to qdebug_p.h.Friedemann Kleint2015-04-011-41/+83
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract helpers to be able to format classes without type names and use those for formatting QEvents to reduce clutter. For example: QWidgetWindow/"MainWindowClassWindow" QMouseEvent(QEvent::Type(MouseMove), buttons=QFlags<Qt::MouseButtons>(LeftButton), localPos=QPointF(50,116), screenPos=QPointF(948,652)) QWidget/"qt_scrollarea_viewport" QMouseEvent(QEvent::Type(MouseMove), buttons=QFlags<Qt::MouseButtons>(LeftButton), localPos=QPointF(45,32), screenPos=QPointF(948,652)) becomes QWidgetWindow/"MainWindowClassWindow" QMouseEvent(MouseMove, LeftButton, localPos=50,116, screenPos=948,652) QWidget/"qt_scrollarea_viewport" QMouseEvent(MouseMove, LeftButton, localPos=45,32, screenPos=948,652) Change-Id: Ie5441d922962a05caed6b7079a74ea8a2b8a64fb Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Fix incorrect FBO bindings with QOpenGLWidgetLaszlo Agocs2015-03-302-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QOpenGLContext::defaultFramebufferObject() knows nothing about QOpenGLWidget and QQuickWidget. The problem is that this function (and others that rely on it) is expected to give the widget's backing FBO in paintGL() and friends. To overcome this, we have to provide a way for such widgets that indicate what is the expected "default fbo". Task-number: QTBUG-43269 Change-Id: I43f439f8609382b9f7004707ab0ef9f091952b4f Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Fix qdoc warning in qopengltexture.cpp.Friedemann Kleint2015-03-301-1/+1
| | | | | | | | | | | | | | qtbase/src/gui/opengl/qopengltexture.cpp:3652: warning: Cannot find 'ComparisonFunction' specified with '\enum' in any header file Change-Id: I92e808310f2d775cda30c1f1b6aaf0ed739b02f1 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Use QDebugStateSaver to restore space setting in stream operators.Friedemann Kleint2015-03-3022-26/+52
| | | | | | | | | | | | | | | | Returning dbg.space() breaks formatting on streams that already have nospace() set. Change-Id: I55e38b018679a67eb40be6b4664505483a3a7d8e Reviewed-by: David Faure <david.faure@kdab.com>
* | Fix "'QCss::Property' is not a class or namespace"Andrew Knight2015-03-301-11/+11
| | | | | | | | | | | | | | | | | | | | | | As reported by GCC 4.9.2 x86_64-linux-gnu. The error message is correct; QCss::Property is the name of an enum. Change-Id: I9fb29d39ac11a644b7b08227f102594b3f3017f0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Debao Zhang <hello@debao.me> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | Update Unicode data up to v7.0Konstantin Ritt2015-03-272-2/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Two newly adopted currency symbols: the Azerbaijan manat and the Russia ruble * Pictographic symbols (including many emoji), geometric symbols, arrows, and ornaments originating from the Wingdings and Webdings sets * Twenty-three new lesser-used and historic scripts extending support for written languages of North America, China, India, other Asian countries, and Africa * Letters used in Teuthonista and other transcriptional systems, and a new notational set, Duployan For more details, see http://www.unicode.org/versions/Unicode7.0.0/ The Properties struct's .*Diff members were narrowed down to signed 15 bits and the unicodeVersion has been expanded to 8 bits. [ChangeLog][QtCore] Unicode data updated to v.7.0 Change-Id: I93ab6f79fa3b05f61abc7279f1d046834c1c1a0b Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Make versioned OpenGL functions working with the subclass patternLaszlo Agocs2015-03-275-2/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QOpenGLFunctions allows both deriving from it and getting an instance via QOpenGLContext::functions(). Unsurprisingly a large number of users attempt to use the versioned function wrappers in the same way. Unfortunately this approach was not that well supported. Besides some potential base class exporting issues the real blocker for QOpenGLWidget - or any versionfunction subclass whose associated context changes during its lifetime - is that the functions instances could only be initialized once. Unlike instances retrieved via QOpenGLContext::versionFunctions(), instances created "manually" were not deinitialized upon the destruction of the associated context because context did not know about them. A pattern like initializeOpenGLFunctions(); delete context; create new context and make it current initializeOpenGLFunctions(); is working fine in QOpenGLFunctions-derived classes but not with the versioned ones. To overcome this, start registering such instances to the context too. QOpenGLContext::destroy() can then reset the internal state so a subsequent initializeOpenGLFunctions() will reinitialize properly instead of bailing out mistakenly thinking that everything is ready to use. Task-number: QTBUG-45199 Change-Id: Ia1420bcccb33c51508698b7a1b036c7544a66e74 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QJpegHandler: fix race conditionDavid Faure2015-03-261-9/+12
| | | | | | | | | | | | | | | | | | rgb888ToRgb32ConverterPtr was a static variable, written by one thread and read by others. Detected by helgrind, in an app doing image loading in QRunnables. Change-Id: I06813050b75182cffe26338a3af98eb7d2636abc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix soft-hyphen appearance at line-breakKonstantin Ritt2015-03-261-0/+13
| | | | | | | | | | | | | | | | | | | | Replace it with '-' and set dontPrint to true; later we unset the dontPrint flag if soft-hyphen appears at the end of a line after line breaking. Task-number: QTBUG-44234 Change-Id: I05b69bcbbe07e1ee8a5d35d24372356ce8ab9db8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Set dontPrint flag for the respective glyphKonstantin Ritt2015-03-261-15/+14
| | | | | | | | | | | | | | | | The str_pos variable hasn't been incremented prior to string[str_pos]. Ouch! Change-Id: I54a160c26e23821037bf6ee8aea3e0a94a5e71f9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Better detection of Symbol fontsKonstantin Ritt2015-03-261-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | > Symbol character sets have a special meaning. > If the symbol bit (31) is set, and the font file contains a 'cmap' > subtable for platform of 3 and encoding ID of 1, > then all of the characters in the Unicode range 0xF000 - 0xF0FF > (inclusive) will be used to enumerate the symbol character set. If we detected the font has a symbol character set, report no other writing systems support. Change-Id: I1030f3339c166ffd03c7caee1b1b26010dfdc314 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Detect Thai writing system support from the font's Code Page BitfieldsKonstantin Ritt2015-03-261-0/+6
| | | | | | | | | | | | | | https://msdn.microsoft.com/en-us/library/windows/desktop/dd317754(v=vs.85).aspx Change-Id: I893746210dc71b9de6f6c064fd9fcaf6340e3c71 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Don't remove mnemonics and parentheses under non-Mac system.Debao Zhang2015-03-261-0/+2
| | | | | | | | | | | | | | | | | | SHA: 8e3aacf61bcfe036acdba8fac4d07d68ff0f5ab3 is a mac only patch, but some code introduced by which is not wrapped with Q_OS_MAC. So add the missing Q_OS_MAC here. Change-Id: I748d46b977740e6116dab5659ad1e47d23262a0f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>