| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
The border was always drawn before the background, and if there were
both a border and background brush set, the background ended up
being drawn ontop of the border.
Task-number: 255868
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
| |
There were several problems with antialiased text in 16 bit mode
under Windows. No gamma correction was done, yet we prepared the
cached glyphs for gamma correction. The mask format we rendered
the glyphs into was also set to the desktop depth, which implied
that information was lost and the text looked rather odd.
Reviewed-by: Samuel
BT: yes
|
|
|
|
|
|
|
|
|
|
|
| |
QFont has a feature that you can pass a comma-separated list and it will
walk through the list and match the font that it hits first. There's a
nice static function that X11 and Windows uses, but the Mac was using an
older copied version of it. This old version didn't handle quoting which
is what happens in the style sheet. So, using the same code makes
everything work well. As a bonus, Creator looks correct again.
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reworked the 85f98acaa3a38079071bea711e43c9a86edec1f6 fix, since
it broke glyph positioning in the GL engine under Windows.
Instead of changing the glyph cache margin, which impacts where
the glyph is positioned, we just make the image the glyph is drawn
into 4 pixels bigger in width/heigth.
The margin in QImageTextureGlyphCache needs to be reworked..
Task-number: 254450
Reviewed-by: Eskil
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Task-number: 252489
|
|
|
|
|
|
|
| |
If ensureSpace causes the layoutData to reallocate then the
initialGlyphs pointers will no longer be valid.
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
| |
If Harfbuzz shaping adds or merges glyphs we need to move the remaining
glyphs in the glyph layout to compensate.
Task-number: 253783
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
|
| |
We currently don't support subpixel hinting when drawing text to a
QImage on Mac. The alpha map that is returned by the font engine
is a plain 8 bit gray mask, which means we have to switch off subpixel
hinting when we draw the glyph for caching.
Task-number: 249178
Reviewed-by: Samuel
|
|
|
|
|
|
| |
Usually, "the the" is not proper English
Reviewed-By: Thiago Macieira
|
|
|
|
|
|
|
|
|
|
|
|
| |
if one specify more than one parameter in font-family,
e.g., font-family: Verdana, Arial
Qt should fallback on the second font if the first cannot be found.
QFont::setFamily handle the case when the family name contains a comas,
so we do not need to handle that specially in the css parser code.
Task-number: 252311
Reviewed-by: Thomas Zander
|
|
|
|
|
|
|
|
|
|
| |
Some text drawn with OpenType fonts where cut off by a pixel or two
under certain circumstances. This adds an additional 2 pixel pad margin
to the glyph cache entries. The padding behaves slightly different
when ClearType is enabled/disabled, hence the general 2 pixel padding.
Task-number: 246196
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
| |
In older Freetype headers FT_LCD_FILTER_DEFAULT is apparently defined to
be ((const FT_Byte*)(void*)(ft_ptrdiff_t)1), which leads to a compile
error due to precision loss when casting to int.
Task-number: 253186
Reviewed-by: Trond
|
|
|
|
|
|
|
|
| |
Clarifying details about QTextTable::splitCell() regarding
splitting and merging over several rows and columns
Task-number:193732
Rev-by: Geir Vattekar
|
|
|
|
|
|
|
|
| |
We need to protect calls to FcCharSetHasChar with the font database
mutex.
Task-number: 241361
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
| |
QTextDocument which is suposed to be reentrant may use the CSS Parser in
different threads.
The way the indexOfId was computed is not thread safe.
Insert the pre-computed value instead
Reviewed-by: Thierry
|
|
|
|
| |
Reviewed-by: nrc
|
|
|
|
|
|
|
|
|
|
|
|
| |
In 4.4 alphaMapForGlyph() would return valid images for any font size,
but this was changed in 4.5, forcing us to use the path fallback
instead. This lead to non-antialiased fonts when not using a
multisample-enabled GL format. This patch re-introduces the
alphaMapForGlyph() fallback in QFontEngine from 4.4 which uses the
raster paint engine to draw the glyph.
Task-number: 247083
Reviewed-by: Trond
|
|
|
|
| |
Task-number: 244858
|
|
|
|
|
|
| |
QTextCursor::operator=
Task-number: 247955
|
|
|
|
|
|
|
|
|
|
| |
selections with different foreground but no background
The main concern is to avoid double painting. With anti-aliasing turned
on by default, we can not draw a piece of text on top of the same piece
of text without artefacts.
Task-number: 252310
|
|
|
|
|
|
|
|
|
|
| |
the feature has to handle text with and without background, and extra
selections with and without background, or even only with underline style.
Trouble is that you sometimes want to accumulate styles, for example spell
checking wiggly underline plus search result highlights or background markup
from the css stylesheet.
Task-number: 252310
|
|
|
|
|
|
|
| |
Asserts are replaced with warnings and the call is ignored.
Task-number: 252414, 252416, 252502
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
Since the introduction of the texture glyph cache we rendered these
fonts as 8-bit gray masks which looked bad and cut off a few pixels
for thin glyphs. Changed the preferred format of the font engine
to be Raster_RGBMask.
Task-number: 248141
Reviewed-by: Eskil B
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently CoreText is too good for us and always gives us fractional
information. Which would be food for design metrics, but not good for
drawing to the screen. The upshot of it is that we do the ceiling of
every value we get. This is as stop gap solution for the moment. Things
in Creator should look better now.
Also added the ability to disable kerning.
Reviewed-by: Simon Hausmann
|
|
|
|
| |
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
| |
The pieceTable member was only initialized by QTextDocumentPrivate
_after_ the call to createObject. This patch initializes it at
construction time.
Task-number: 246138
Reviewed-by: Simon Hausmann
|
|
|
|
| |
bits(). The non-const bits() may detach and realign the data, so that the previous result of bytesPerLine() ist invalid. On S60, we actually had a 'skew' effect because of that.
|
|
|