| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging:
Compile on Windows
Support gamma correction of text on GL
Remove QFontEngineFT::loadGlyphMetrics
Make autotest more resilient against network timeout
Do not filter adhoc clients
Lancelot: Add configurable client filtering to baseline server
Improve error reporting on failure to connect to baseline server
Fixed bug in X11 backend when creating translucent windows.
Only cleanup share widget if it has been created.
Add required font metrics functions to QRawFont
Fixed bug in QPdfEngine::addImage causing mono images to be made 32 bit
Make pixel size a qreal in QRawFont
Make sure removed QTextBlock is invalid
Make sure QFont's resolve mask is copied on compilers with C++0x support
Fix glyph position issue with fallback fonts
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-18933
Reviewed-by: Eskil
|
|\ \
| |/
| |
| |
| | |
Conflicts:
configure
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QGlyphs API was initially attempted with a bastardization of
QFont which was meant to encapsulate a single, physical font
instance (a QFontEngine) where a set of glyph indexes would make
sense. This is not how QFont was intended to be used, and it caused
several issues. At the same time, the requirement for loading a
font from ttf/otf data and be able to access it and use it without
polluting the rest of the process with the font arose. To support
these two APIs we introduce QRawFont, which is an abstraction on
top of a single physical font.
Done-with: Jiang Jiang
|
| |
| |
| |
| | |
Reviewed-by: Samuel
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QGlyphs API was initially attempted with a bastardization of
QFont which was meant to encapsulate a single, physical font
instance (a QFontEngine) where a set of glyph indexes would make
sense. This is not how QFont was intended to be used, and it caused
several issues. At the same time, the requirement for loading a
font from ttf/otf data and be able to access it and use it without
polluting the rest of the process with the font arose. To support
these two APIs we introduce QRawFont, which is an abstraction on
top of a single physical font.
Done-with: Jiang Jiang
|
|
|
|
|
|
|
|
| |
In this case we can't use line width to align the text, we have to
use the rectangle width given in QPainter::drawText for alignment
instead.
Reviewed-by: Eskil
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
configure
mkspecs/symbian-gcce/qmake.conf
qmake/generators/metamakefile.cpp
qmake/generators/win32/mingw_make.cpp
src/corelib/global/global.pri
src/corelib/global/qglobal.h
src/opengl/qgl.cpp
src/opengl/qwindowsurface_gl.cpp
src/plugins/platforms/wayland/qwaylandbuffer.h
tests/auto/qnetworkreply/tst_qnetworkreply.cpp
tools/designer/src/components/formeditor/qdesigner_resource.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we found a forced line break with line separator (e.g. '\n'),
take the right bearing of previous glyph into account, otherwise
the resulting text width will be slightly smaller than the one
without a line separator.
Task-number: QTBUG-17020
Reviewed-by: Eskil
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/webkit/imageanalyzer/imageanalyzer.h
examples/webkit/imageanalyzer/mainwindow.h
mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h
src/corelib/io/qfsfileengine_iterator_unix.cpp
src/corelib/io/qfsfileengine_iterator_win.cpp
src/corelib/kernel/qcoreapplication.cpp
src/network/access/qnetworkaccessdatabackend.cpp
src/plugins/bearer/connman/qconnmanservice_linux.cpp
src/plugins/platforms/openvglite/qwindowsurface_vglite.h
src/s60installs/bwins/QtCoreu.def
src/s60installs/eabi/QtCoreu.def
src/s60installs/s60installs.pro
tools/assistant/tools/assistant/helpviewer_qwv.h
tools/qdoc3/test/qt-html-templates.qdocconf
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \
| |/ |
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
Task: http://bugreports.qt.nokia.com/browse/QTBUG-231
Reviwed-by: Eskil
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Setting the QTextOption::SuppressColors tag on a QTextDocument
breaks all text format, not just colors. This patch fix this by
selectively ignoring color properties in the format and keeping
other properties.
Task-number: QTBUG-13090
Reviewed-by: Eskil
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/painting/qpainter.cpp
src/gui/text/qtextengine.cpp
tests/auto/qimage/tst_qimage.cpp
tests/auto/qpainter/tst_qpainter.cpp
tools/qdoc3/test/assistant.qdocconf
tools/qdoc3/test/designer.qdocconf
tools/qdoc3/test/linguist.qdocconf
tools/qdoc3/test/qmake.qdocconf
tools/qdoc3/test/qt-build-docs.qdocconf
tools/qdoc3/test/qt-html-templates.qdocconf
tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf
tools/qdoc3/test/qt.qdocconf
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Neither of the Mac font engines have implemented minimum right bearing,
which will cause them to return 0 for the minimum value. This will
cause the right bearing to never be calculated prior to breaking
and thus never be a part of the breaking width. Since actually
implementing the functions is too time consuming for right now, we
will disable the optimization for the time being.
Reviewed-by: Olivier
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a line break was detected, we would retain the value of the
right bearing for the character after the break instead of resetting it
to the right bearing of the previous value. This could in some cases
cause the bounding rect of the text to be wrong, and could cause
unnecessary horizontal scrollbars to pop up. It was especially visible
when using WrapAnywhere. Visible e.g. in the compile output in Creator.
Done-by: mae
Reviewed-by: Eskil
Reviewed-by: Lars
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Internally, QTextEngine use int to calculate most of the layout data
required. If a string longer than 2^24 is passed into either QTextEngine
or classes using it (QStackTextEngine, QPainter, QFontMetrics, etc.),
overflow will happen because the memory size required to allocate for
layout will become too large for int to handle. This patch will prevent
these cases and add error handling mechanism for relevant code.
Task-number: QT-3658
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For widgets like QPlainTextEdit, selection across ligatures (typically
'fi', 'ffi', 'fl', etc.) end up highlighting the entire ligature
glyphs, this patch fixed that by dividing width inside the ligature so
that selection will not expand past the actual selected characters.
Since cursor position already considered this, we merely adopted the
algorithm and made it a separated helper function for all necessary
cases. Dividing width directly looks like a temporary workaround but
works well enough so far for cursor positions.
Task-number: QTBUG-11969
Reviewed-by: Eskil
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add a function to retrieve fonts, glyph indexes and positions needed to
visualize the text in a QTextFragment to allow converting the text of
a QTextDocument to QGlyphs objects.
Reviewed-by: Simon Hausmann
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/gui/kernel/qapplication.cpp
tests/auto/qfileinfo/tst_qfileinfo.cpp
tools/qdoc3/test/assistant.qdocconf
tools/qdoc3/test/designer.qdocconf
tools/qdoc3/test/linguist.qdocconf
tools/qdoc3/test/qmake.qdocconf
tools/qdoc3/test/qt-build-docs.qdocconf
tools/qdoc3/test/qt.qdocconf
|
| |
| |
| |
| |
| |
| |
| | |
Negative RightBearing was wrongly taken into
account when calculating the line wrap
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RTL text would be positioned wrong with QGlyphs, as we would not
correctly detect the direction of the text and pass it into
getGlyphPositions(). The bidi analysis is the same as in the
QTextLine::draw() method.
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In order to support text decorations (overline, underline and strikeout)
in QPainter::drawGlyphs(), we need to call drawTextItemDecoration()
from this function. To support this, it has been generalized to no
longer require a QTextItemInt. We also need to propagate the decoration
attributes of the font from QTextLayout to QGlyphs, since this is not
part of the QFontEngine.
Task-number: QTBUG-12122
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When laying out text, a significant amount of time was being spent
querying for the font engine. This patch:
* changes the layout to only query for the engine when a new script item
is encountered.
* adds an internal cache of the previous result to
QTextEngine::fontEngine(). This catches the important case of multiline
text with few font engine changes.
With these changes layout costs are now approximately 60% of what they
were previously, as measured by the text layout benchmarks.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
bin/syncqt
src/gui/text/qtextlayout.cpp
tools/assistant/tools/assistant/helpviewer_qwv.cpp
tools/assistant/tools/assistant/helpviewer_qwv.h
tools/configure/configureapp.cpp
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (26 commits)
Fix incorrect usage of _HB_OPEN_Free_Device() in CaretValue cleanup
Fix null HB_Device** dereference on exit in Harfbuzz GPOS code
Doc: Relicensed the documentation under the GNU FDL version 1.3.
doc: Added more DITA output to the XML generator
Designer: Prevent QButtonGroup from being added for Q3ButtonGroup.
Fix for a leak in the mac style.
Doc: Fixing bugs to style and script
doc: Added more DITA output to the XML generator
Make sure that <br/> is seen as a valid tag in Qt::mightBeRichText()
Fix compiler warnings in QtGui (text,painting).
Allow Unix to generate unique UUIDs if /dev/urandom exists.
Allow GNU Free Documentation license header.
Add missing license header.
Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to ab9a897b688e991a8405cf938dea9d6a2f1ac072
Fix example compile and runtime warnings, webkit examples not built.
qgl_cl_p.h is no longer existent
Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to 5699175f55acbdfa4ac95ab6c727ebd4a201f3a2
Doc: Fixed documentation errors.
doc: Added more DITA output to the XML generator
doc: Fixed type of Package::name
...
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Improves quality of English in some cases
- Removes some redundant redundancy
Generally makes it more pleasant to read, IMHO.
|
| |\ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
src/3rdparty/* is left untouched and not merged from 4.6. The corresponding
changes in Harfbuzz and WebKit are already in the 4.6 staging areas.
Conflicts:
src/3rdparty/webkit/VERSION
src/3rdparty/webkit/WebCore/ChangeLog
src/3rdparty/webkit/WebKit/qt/ChangeLog
src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp
src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp
src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.qrc
tests/auto/qtextlayout/tst_qtextlayout.cpp
tests/auto/qwidgetaction/tst_qwidgetaction.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change e1915815bc5ef86b3844608bba46769da5173363 moved part of the
right bearing check out of the "non-whitespace-or-object" block of the
layout, which could potentially cause crashes for layouts that contained
items that were line separators or tabs etc. because we would access
the logical clusters array based on the position of e.g. the tab even
though it didn't have an entry. This could potentially give us an
arbitrary index which might cause an out of bounds when accessing the
glyphs array.
Task-number: QTBUG-11427
Reviewed-by: Simon Hausmann
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make sure we use the same method to determine RTL/LTR
for the layout everywhere.
Task-number: Part of QT-3292
Reviewed-by: Simon Hausmann
|
| | |
| | |
| | |
| | |
| | | |
Merge-request: 685
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
| | |
| | |
| | |
| | |
| | | |
Merge-request: 685
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
due to boundary overflow when called for invalid cursor position
Merge-request: 685
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/gui/painting/qpainter.cpp
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | | |
Conflicts:
tools/qdoc3/test/qt-html-templates.qdocconf
|
| | |\ \
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/3rdparty/webkit/VERSION
src/3rdparty/webkit/WebCore/ChangeLog
src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
src/3rdparty/webkit/WebKit/qt/ChangeLog
src/gui/painting/qpainter.cpp
src/gui/painting/qtextureglyphcache.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtCoreu.def
src/s60installs/eabi/QtGuiu.def
src/s60installs/eabi/QtNetworku.def
src/s60installs/eabi/QtOpenVGu.def
tests/auto/qfontmetrics/tst_qfontmetrics.cpp
tools/linguist/lupdate/main.cpp
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
For monospaced fonts, using the width (including the bearing) of the
text to align it to the right hand side, will break alignment of
columns of characters. To fix the problem, we go back to the old
procedure, by using the advance of the text as basis of alignment
instead.
Done-by: thorbjorn
Reviewed-by: Eskil
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes right alignment of monospaced text, which was a regression in
Qt 4.6.0. Initially it was fixed in Qt 4.7 only, but the regression was
later deemed severe enough to fix in 4.6.x as well.
Task-number: QTBUG-8864
Reviewed-by: thorbjorn
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduce an API to access glyph indexes in a font directly.
A bug was discovered during this work, where different hinting flags
in loadGlyph() and loadGlyphMetrics() would make the metrics in
the two functions different, thus causing drawCachedGlyphs()
(which uses loadGlyphMetrics() indirectly) to use different metrics
than the standard drawTextItem() code path (which uses loadGlyph()).
The bug was visible in the tst_QGlyphs::drawExistingGlyphs() test.
Reviewed-by: Simon Hausmann
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In change 817469519a784b1cc84f89cb3cb84f7560874f8e, there was a
behavioral change which can cause regressions, as the bounding rect of
the QTextLayout would previously return the set line width when this
was greater than the calculated natural text width. We revert to this
behavior to avoid regressions and add an autotest for it. When the
line width is not set (and si.width is equal to QFIXED_MAX), then we
will still return the natural text width.
Reviewed-by: Lars
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When no lineWidth is set on the QTextLine, the QScriptLine::width will
be the maximum value that can be represented by QFixed, thus always
overriding the width of the bounding rect. The lineWidth of the
QTextLine should never be used as the width of the bounding rect, since
it's not a calculated value. The real bounding rect is found by querying
the natural text width.
Task-number: QTBUG-11104
Reviewed-by: Rhys Weatherley
|
|/ /
| |
| |
| |
| | |
Task: http://bugreports.qt.nokia.com/browse/QTBUG-231
Reviwed-by: Eskil
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
mkspecs/common/symbian/symbian.conf
qmake/generators/symbian/symmake.cpp
src/3rdparty/webkit/WebCore/WebCore.pro
|