Commit graph

6763 commits

Author SHA1 Message Date
Ivailo Monev
4b46d869bc assign line members proper values in QTextEngine::freeMemory()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-09 02:34:09 +02:00
Ivailo Monev
8b3cc971ed remove redundant header inclusions in qfontengine_ft source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-09 02:33:20 +02:00
Ivailo Monev
d8c05f9f77 remove redundant qtextcodec header inclusion in qharfbuzz source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-09 02:12:37 +02:00
Ivailo Monev
06d908f182 mark some harfbuzz functions as static
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-09 02:07:02 +02:00
Ivailo Monev
27cca25760 use proper type for combining class variable in positionCluster() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-09 02:04:19 +02:00
Ivailo Monev
90c5669fe7 remove combining class hack in harfbuzz
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-09 01:59:57 +02:00
Ivailo Monev
118e49d96b properly initialize QTextLayout member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-09 00:32:26 +00:00
Ivailo Monev
06535f4b01 compiler warnings fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-09 00:32:03 +00:00
Ivailo Monev
331f95a6c8 do not copy the shaper item in QTextEngine::shapeTextWithHarfbuzz()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-08 22:34:32 +02:00
Ivailo Monev
675d5a6f10 remove forward-declaration of non-existing QTextOptionPrivate struct
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-08 20:56:52 +02:00
Ivailo Monev
f4531d5258 drop support for tab stops [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-08 20:20:03 +02:00
Ivailo Monev
00aebac415 fix painting of surrogates from QPainterPath::addText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-08 06:54:17 +02:00
Ivailo Monev
8bd4f077f6 do not paint line separator, control and format characters from QPainterPath::addText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-08 06:29:07 +02:00
Ivailo Monev
f0d1db9188 advance counter in case glyph cannot be rendered in QPainterPath::addText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-08 03:54:25 +02:00
Ivailo Monev
c782725682 actually replace tabs with space from qt_format_text() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-08 01:39:59 +02:00
Ivailo Monev
eff31380ef use public QTextItem::text() method in QSvgPaintEngine::drawTextItem()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-08 01:05:16 +02:00
Ivailo Monev
d096bf3110 font engines should not change the direction of characters
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-07 05:11:45 +02:00
Ivailo Monev
c21c2f574b implement replacement for the text layout script analyzer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-06 23:40:46 +02:00
Ivailo Monev
a57a1cf0c7 use QPainterPath::addText() to draw text items from QPaintEngine::drawTextItem()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-06 20:58:54 +02:00
Ivailo Monev
f560738170 force antialising regardless of transformation type in QPainter::drawText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-06 15:08:02 +02:00
Ivailo Monev
4533f6a2cb elide text via QFontMetrics::elideText() in QCommonStylePrivate::viewItemDrawText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-06 06:38:10 +02:00
Ivailo Monev
92c5c1f827 implement text layout direction support for QPainterPath::addText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-06 06:22:50 +02:00
Ivailo Monev
56e3d126d0 say goodbye to negative font bounds 2022-01-06 04:16:21 +02:00
Ivailo Monev
1a98081e34 remove redundant Qt::TextFlag::TextExpandTabs enum [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-06 00:56:51 +02:00
Ivailo Monev
e1c119fa00 remove tight bounding rectangle and left/right bearing QFontMetric/QFontMetricF getters
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-06 00:11:49 +02:00
Ivailo Monev
3fb3fa3a5b release the global fonts mutex lock before emitting QApplication::fontDatabaseChanged() signal
fixes QFontComboBox deadlock

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-05 22:41:16 +02:00
Ivailo Monev
a174675d31 effectively revert ddc3af4962
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-05 21:02:01 +02:00
Ivailo Monev
95c9c2e05d remove unused QTextEngine::stackEngine member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-05 19:57:43 +02:00
Ivailo Monev
02b12dc2a7 adjust tst_QFontDatabase::widthTwoTimes() to recent QFontMetric change
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-05 19:51:58 +02:00
Ivailo Monev
a2fe23752a implement qt_format_text() function via public methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-05 19:15:51 +02:00
Ivailo Monev
5a47168c84 assume internal Qt::TextLongestVariant is not in the flags in QFontMetrics::elidedText() and QFontMetricsF::elidedText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-05 10:32:33 +02:00
Ivailo Monev
3a047fabf2 take font leading space into account when creating text layouts
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-05 02:12:42 +02:00
Ivailo Monev
2a13e920b0 implement QTEXTLAYOUT() for multi-line text layouts
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-04 23:15:50 +02:00
Ivailo Monev
ddc3af4962 calculate bounding rectangles via QTextLayout from QFontMetrics/QFontMetricsF
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-04 21:42:35 +02:00
Ivailo Monev
18ab4d967e remove obsolete QFontMetrics::charWidth() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-04 21:30:32 +02:00
Ivailo Monev
bb30158066 remove redundant QTextEngine::boundingBox() and QTextEngine::tightBoundingBox() arguments
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-04 20:30:10 +02:00
Ivailo Monev
f30d28bfa4 translate the glyph positions instead of the whole painter viewport from QPaintEngine::drawTextItem()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-04 19:54:13 +02:00
Ivailo Monev
43a05aba7d remove unused QTextEngine::LayoutData::available_glyphs member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-04 19:36:55 +02:00
Ivailo Monev
109823e706 draw text via QTextLayout::draw() from QPainter::drawText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-04 18:08:58 +02:00
Ivailo Monev
02bae76cda always allocate text engine layout data on the heap
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-04 14:26:02 +02:00
Ivailo Monev
a262209613 compiler warning fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-04 13:19:27 +02:00
Ivailo Monev
047988bc27 remove static text leftovers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-04 01:29:52 +02:00
Ivailo Monev
fdae0255f4 remove unused QPaintEngineEx::supportsTransformations() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-03 23:58:30 +02:00
Ivailo Monev
45e5fe0985 drop support for static text [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-03 23:39:29 +02:00
Ivailo Monev
11ac0b9a31 remove unused QTextEngine methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-03 01:04:56 +02:00
Ivailo Monev
3f6a78d1f0 paint text as static from QPainter::drawText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-03 00:12:58 +02:00
Ivailo Monev
ce7f728539 Revert "paint text as static from QPainter::drawText()"
This reverts commit efa23d36e4.
2022-01-02 20:36:34 +02:00
Ivailo Monev
91cb1d229a update translations [ci skip]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-02 19:57:31 +02:00
Ivailo Monev
efa23d36e4 paint text as static from QPainter::drawText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-02 19:55:04 +02:00
Ivailo Monev
24ce8b9cdc build fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-02 18:12:34 +02:00