OSDN Git Service
Ivailo Monev [Mon, 10 Jan 2022 08:04:17 +0000 (10:04 +0200)]
reimplement last resort font check
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 10 Jan 2022 06:25:57 +0000 (08:25 +0200)]
remove unused QFragmentMapData::Header::tag member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 10 Jan 2022 06:23:16 +0000 (08:23 +0200)]
if style is not specified match any in QFontDatabase::isFixedPitch() and QFontDatabase::isSmoothlyScalable()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 10 Jan 2022 05:52:25 +0000 (07:52 +0200)]
remove TODO in QFontEngineBox::addGlyphsToPath()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 10 Jan 2022 05:14:24 +0000 (07:14 +0200)]
remove redundant QTextOption::WrapMode::ManualWrap enum
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 10 Jan 2022 05:01:53 +0000 (07:01 +0200)]
remove unused QFontEngine::emSquareSize() method and its reimplementations
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 10 Jan 2022 04:28:09 +0000 (06:28 +0200)]
stream all internal QFont bits via single integer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 10 Jan 2022 02:53:51 +0000 (04:53 +0200)]
underlining text in QTextLayout is done via additional formats now
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 10 Jan 2022 02:26:12 +0000 (04:26 +0200)]
remove unused QTextOption flags [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 10 Jan 2022 00:22:57 +0000 (02:22 +0200)]
correct order of special languages entries in qfontdatabase_x11_p header
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 10 Jan 2022 00:16:31 +0000 (02:16 +0200)]
move most QFontDatabase methods from qfontdatabase_x11_p header to qfontdatabase source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 23:01:36 +0000 (01:01 +0200)]
drop support for letter and word spacing via font [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 18:17:54 +0000 (20:17 +0200)]
remove no-op QFont::initialize() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 17:41:47 +0000 (19:41 +0200)]
set overline and strikeout properties of the font instead of using flags
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 16:30:46 +0000 (18:30 +0200)]
do not synthesize bold and italic glyphs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 15:42:29 +0000 (17:42 +0200)]
implement strikeout and overline text decoration via QPainterPath
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 00:59:20 +0000 (02:59 +0200)]
remove broken glyphs workaround in freetype2 font engine
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 00:34:36 +0000 (02:34 +0200)]
mark QFontEngine::minLeftBearing() and QFontEngine::minRightBearing() as pure virtual
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 00:34:09 +0000 (02:34 +0200)]
assign line members proper values in QTextEngine::freeMemory()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 00:33:20 +0000 (02:33 +0200)]
remove redundant header inclusions in qfontengine_ft source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 00:12:37 +0000 (02:12 +0200)]
remove redundant qtextcodec header inclusion in qharfbuzz source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 00:07:02 +0000 (02:07 +0200)]
mark some harfbuzz functions as static
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 00:04:19 +0000 (02:04 +0200)]
use proper type for combining class variable in positionCluster() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 8 Jan 2022 23:59:57 +0000 (01:59 +0200)]
remove combining class hack in harfbuzz
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 00:32:26 +0000 (00:32 +0000)]
properly initialize QTextLayout member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 9 Jan 2022 00:32:03 +0000 (00:32 +0000)]
compiler warnings fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 8 Jan 2022 20:34:32 +0000 (22:34 +0200)]
do not copy the shaper item in QTextEngine::shapeTextWithHarfbuzz()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 8 Jan 2022 18:56:52 +0000 (20:56 +0200)]
remove forward-declaration of non-existing QTextOptionPrivate struct
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 8 Jan 2022 18:19:54 +0000 (20:19 +0200)]
drop support for tab stops [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 8 Jan 2022 04:54:17 +0000 (06:54 +0200)]
fix painting of surrogates from QPainterPath::addText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 8 Jan 2022 04:29:07 +0000 (06:29 +0200)]
do not paint line separator, control and format characters from QPainterPath::addText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 8 Jan 2022 01:54:25 +0000 (03:54 +0200)]
advance counter in case glyph cannot be rendered in QPainterPath::addText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 7 Jan 2022 23:39:59 +0000 (01:39 +0200)]
actually replace tabs with space from qt_format_text() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 7 Jan 2022 23:05:16 +0000 (01:05 +0200)]
use public QTextItem::text() method in QSvgPaintEngine::drawTextItem()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 7 Jan 2022 03:11:45 +0000 (05:11 +0200)]
font engines should not change the direction of characters
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 6 Jan 2022 21:39:22 +0000 (23:39 +0200)]
implement replacement for the text layout script analyzer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 6 Jan 2022 18:58:54 +0000 (20:58 +0200)]
use QPainterPath::addText() to draw text items from QPaintEngine::drawTextItem()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 6 Jan 2022 13:08:02 +0000 (15:08 +0200)]
force antialising regardless of transformation type in QPainter::drawText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 6 Jan 2022 04:38:10 +0000 (06:38 +0200)]
elide text via QFontMetrics::elideText() in QCommonStylePrivate::viewItemDrawText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 6 Jan 2022 04:22:50 +0000 (06:22 +0200)]
implement text layout direction support for QPainterPath::addText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 6 Jan 2022 02:06:35 +0000 (04:06 +0200)]
say goodbye to negative font bounds
Ivailo Monev [Wed, 5 Jan 2022 22:56:51 +0000 (00:56 +0200)]
remove redundant Qt::TextFlag::TextExpandTabs enum [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 5 Jan 2022 20:53:51 +0000 (22:53 +0200)]
remove tight bounding rectangle and left/right bearing QFontMetric/QFontMetricF getters
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 5 Jan 2022 20:41:16 +0000 (22:41 +0200)]
release the global fonts mutex lock before emitting QApplication::fontDatabaseChanged() signal
fixes QFontComboBox deadlock
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 5 Jan 2022 19:02:01 +0000 (21:02 +0200)]
effectively revert
ddc3af4962a2839b9a10d7c4b191ae04f3bdfdb9
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 5 Jan 2022 17:57:43 +0000 (19:57 +0200)]
remove unused QTextEngine::stackEngine member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 5 Jan 2022 17:51:58 +0000 (19:51 +0200)]
adjust tst_QFontDatabase::widthTwoTimes() to recent QFontMetric change
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 5 Jan 2022 17:15:51 +0000 (19:15 +0200)]
implement qt_format_text() function via public methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 5 Jan 2022 08:32:33 +0000 (10:32 +0200)]
assume internal Qt::TextLongestVariant is not in the flags in QFontMetrics::elidedText() and QFontMetricsF::elidedText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 5 Jan 2022 00:12:42 +0000 (02:12 +0200)]
take font leading space into account when creating text layouts
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 4 Jan 2022 21:15:50 +0000 (23:15 +0200)]
implement QTEXTLAYOUT() for multi-line text layouts
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 4 Jan 2022 19:42:35 +0000 (21:42 +0200)]
calculate bounding rectangles via QTextLayout from QFontMetrics/QFontMetricsF
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 4 Jan 2022 19:30:32 +0000 (21:30 +0200)]
remove obsolete QFontMetrics::charWidth() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 4 Jan 2022 18:30:10 +0000 (20:30 +0200)]
remove redundant QTextEngine::boundingBox() and QTextEngine::tightBoundingBox() arguments
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 4 Jan 2022 17:54:13 +0000 (19:54 +0200)]
translate the glyph positions instead of the whole painter viewport from QPaintEngine::drawTextItem()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 4 Jan 2022 17:36:55 +0000 (19:36 +0200)]
remove unused QTextEngine::LayoutData::available_glyphs member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 4 Jan 2022 16:08:58 +0000 (18:08 +0200)]
draw text via QTextLayout::draw() from QPainter::drawText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 4 Jan 2022 11:42:28 +0000 (13:42 +0200)]
always allocate text engine layout data on the heap
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 4 Jan 2022 11:19:27 +0000 (13:19 +0200)]
compiler warning fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 3 Jan 2022 23:29:52 +0000 (01:29 +0200)]
remove static text leftovers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 3 Jan 2022 21:58:30 +0000 (23:58 +0200)]
remove unused QPaintEngineEx::supportsTransformations() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 3 Jan 2022 21:39:25 +0000 (23:39 +0200)]
drop support for static text [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 23:04:56 +0000 (01:04 +0200)]
remove unused QTextEngine methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 21:45:50 +0000 (23:45 +0200)]
paint text as static from QPainter::drawText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 18:36:34 +0000 (20:36 +0200)]
Revert "paint text as static from QPainter::drawText()"
This reverts commit
efa23d36e4130db8e7cbc6bc897a5a94a523af08.
Ivailo Monev [Sun, 2 Jan 2022 17:57:31 +0000 (19:57 +0200)]
update translations [ci skip]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 16:59:55 +0000 (18:59 +0200)]
paint text as static from QPainter::drawText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 16:12:34 +0000 (18:12 +0200)]
build fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 15:43:25 +0000 (17:43 +0200)]
remove unused justification types
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 14:46:26 +0000 (16:46 +0200)]
drop BiDi support
still wonky on selection:
https://ibb.co/D4bWVqX
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 13:44:14 +0000 (15:44 +0200)]
replace QVarLengthArray<T>() with QSTACKARRAY() in QTextEngine::itemize()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 13:39:15 +0000 (15:39 +0200)]
remove unused QGlyphLayoutInstance struct
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 13:33:33 +0000 (15:33 +0200)]
remove unused QGlyphLayout::setInstance() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 13:33:08 +0000 (15:33 +0200)]
remove unused QTextItemInt::midItem() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 12:35:55 +0000 (14:35 +0200)]
antialising is already setup by qt_addPatternProps() according to display depth and style strategy
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 12:24:18 +0000 (14:24 +0200)]
initialize result variables in QFontDatabase getters
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 01:53:19 +0000 (03:53 +0200)]
decouple freetype2 font engine from harfbuzz
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 03:38:00 +0000 (03:38 +0000)]
remove redundant forward declaration of styleStringHelper() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 03:34:34 +0000 (03:34 +0000)]
replace preferScalable() function with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 00:45:17 +0000 (02:45 +0200)]
do not re-insert font engines in the cache
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 2 Jan 2022 02:28:49 +0000 (02:28 +0000)]
remove unused FcFontSetRemove() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 23:39:01 +0000 (01:39 +0200)]
do not copy the font face size metrics
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 22:44:45 +0000 (00:44 +0200)]
remove workaround for broken fonts
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 20:27:06 +0000 (22:27 +0200)]
decouple fonts hinting from fontconfig
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 19:24:35 +0000 (21:24 +0200)]
remove redundant QFont::StyleStrategy::ForceOutline enum [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 18:52:26 +0000 (20:52 +0200)]
match italic as oblique style
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 18:15:28 +0000 (20:15 +0200)]
query the slant property from QFontDatabase constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 17:53:37 +0000 (19:53 +0200)]
return standard point sizes for scalable fonts from QFontDatabase::smoothSizes()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 17:52:57 +0000 (19:52 +0200)]
match point size depending on the font scalability in QFontDatabase::font()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 17:36:48 +0000 (19:36 +0200)]
remove unused SMOOTH_SCALABLE definition, getFontWeight() and queryFont() functions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 17:07:17 +0000 (19:07 +0200)]
reimplement fonts registration and properties query
Ivailo Monev [Sat, 1 Jan 2022 14:00:13 +0000 (16:00 +0200)]
remove unused qt_fontdatabase_mutex() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 13:48:34 +0000 (15:48 +0200)]
prioritize loading of font from file path
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 13:02:56 +0000 (15:02 +0200)]
move break to the right scope in QXmlStreamReaderPrivate::parse()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 11:43:01 +0000 (13:43 +0200)]
drop support for loading fonts from memory
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 01:00:47 +0000 (03:00 +0200)]
handle RGB16 in replaceColors()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 1 Jan 2022 00:01:02 +0000 (02:01 +0200)]
remove unused and redundant qtextengine_p header inclusions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 31 Dec 2021 23:51:11 +0000 (01:51 +0200)]
correct qfixed_p header inclusion guard comment
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 31 Dec 2021 23:32:45 +0000 (01:32 +0200)]
optimize qt_ximage_to_qimage() and replaceColors() functions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 31 Dec 2021 22:59:54 +0000 (00:59 +0200)]
remove code for always false condition in QTextEngine::shapeTextWithHarfbuzz()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>