Commit graph

6512 commits

Author SHA1 Message Date
Ivailo Monev
b39fbc646f freetype2 font engine fixes
outline for scaled fonts is still busted and not done via freetype2 yet:
https://ibb.co/tDxDXRc

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-24 22:58:25 +02:00
Ivailo Monev
4d930a67b1 replace QFontEngineFT::loadGlyph() overload with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-24 14:39:14 +02:00
Ivailo Monev
4217985e75 glyphs are cached as glyph set
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-24 14:34:02 +02:00
Ivailo Monev
cc1f77a0ab ensure null pointer is returned if glyph is not found in the set
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-24 14:14:23 +02:00
Ivailo Monev
6e507c1a74 do not share the freetype2 library instance
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-24 13:59:01 +02:00
Ivailo Monev
56ed1cddd5 replace QFreetypeFace::getSfntTable() with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-24 13:05:10 +02:00
Ivailo Monev
2da0286b27 de-couple freetype2 font engine from the multi font engine
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-24 12:31:20 +02:00
Ivailo Monev
d97e9f7760 replace internal QPainter::drawText() with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-24 11:55:26 +02:00
Ivailo Monev
0461998834 merge definition checks in initializeFontDb() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-23 15:37:10 +02:00
Ivailo Monev
6717f4a716 unlock face regardless if the face pointer is valid in QFontEngineFT::glyphCount()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-23 15:35:54 +02:00
Ivailo Monev
80652bfdb1 dither_to_Mono() now requires 32-bit source image
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-23 15:35:18 +02:00
Ivailo Monev
0dc381dea6 const-correct kerning calculation methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-23 15:03:35 +02:00
Ivailo Monev
e4fbbf938f remove unused QPaintEnginePrivate::drawBoxTextItem() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-23 13:57:05 +02:00
Ivailo Monev
3e5b8b0e31 remove redundant X11 paint engine text drawing implementation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-23 13:44:30 +02:00
Ivailo Monev
902b2a02af remove unused QRasterPaintEngineState::Flags::fast_text member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-23 13:43:38 +02:00
Ivailo Monev
efc5e7a450 remove unused header inclusions in qfontdatabase_x11_p header
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-23 13:30:10 +02:00
Ivailo Monev
8f8a76c10b freetype2-based font engine does not depend on fontconfig
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-23 13:28:17 +02:00
Ivailo Monev
29f3b86946 remove unused QFontEngineFT::transform member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-23 07:12:13 +02:00
Ivailo Monev
8cf902187c remove unused QFontEngineFT methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-23 07:04:06 +02:00
Ivailo Monev
20417ab4fc remove unused glyph_metrics_t::transformed() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 17:50:02 +02:00
Ivailo Monev
62824fd679 remove unused font engine methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 17:23:36 +02:00
Ivailo Monev
b98cf28bd2 remove unused virtual font engine methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 16:48:58 +02:00
Ivailo Monev
6aa7468755 remove code for always false condition in QFontEngineFT
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 16:02:17 +02:00
Ivailo Monev
d3e5e35aa4 remove unused QFontEngineFT methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 15:44:27 +02:00
Ivailo Monev
51d290ba9a use shortcut for translated matrix in QX11PaintEngine::drawFreetype()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 15:22:51 +02:00
Ivailo Monev
bd836bf3db remove unused header inclusions in qxpmhandler source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 15:22:27 +02:00
Ivailo Monev
e66300dcf7 use shortcut for translated matrix in QFontEngineFT::addOutlineToPath()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 15:09:19 +02:00
Ivailo Monev
70fc098f91 remove unused QFontEngine::alphaMapForGlyph() overload
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 14:17:37 +02:00
Ivailo Monev
6ab0101f23 fill image with RGBA color in QFontEngineBox::alphaMapForGlyph()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 13:52:57 +02:00
Ivailo Monev
95d60459f7 remove declaration of non-existing font engines methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 13:15:38 +02:00
Ivailo Monev
7814ef5f7e remove unused QFontEngine::lastRightBearing() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 13:06:15 +02:00
Ivailo Monev
c757596fff remove no-op QFontEngineFT::freeGlyphSets() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 12:52:33 +02:00
Ivailo Monev
c1f11712d8 remove unused QFontEngine::FaceId::encoding member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 12:39:58 +02:00
Ivailo Monev
22ab83ecda remove unused QFontEngineFT::QGlyphSet::id member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 12:33:36 +02:00
Ivailo Monev
1fb5435456 remove now unused QFontEngineFT::Glyph::uploadedToServer member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 11:48:18 +02:00
Ivailo Monev
459c998f16 remove redundant QFontEngine::GlyphFormat::Format_Render enum
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 11:46:34 +02:00
Ivailo Monev
906d1ad123 do not upload the font glyphs to X11 server
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 11:44:58 +02:00
Ivailo Monev
b4b94adf05 do not store the mono colors as vector
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 10:38:29 +02:00
Ivailo Monev
3424d3f5be get rid of QImage::Format_Indexed8
TODO: store mono colors as two QRgb instead of QVector<QRgb>

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 08:05:46 +02:00
Ivailo Monev
6b4f25f6d0 reimplement XPM handler via libXpm
TODO: alternative to qt_read_xpm_array() to load XPM with color table for
the style pixmaps

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 07:00:04 +02:00
Ivailo Monev
c3d07c87f7 oops, add the missing pixel character in QRegion XPM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 06:58:12 +02:00
Ivailo Monev
2f9616e935 remove the texture glyph cache
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-22 06:04:33 +02:00
Ivailo Monev
6923487cee remove redundant QFontEngine::alphaMapForGlyph() overload
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-21 15:20:04 +02:00
Ivailo Monev
cecfa92375 do not detach the destination image when initializing its data in QImage::transformed()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-21 14:50:48 +02:00
Ivailo Monev
2329062b10 update the color table of images in QImage::Format_Indexed8 format from QX11Data::copyXImageToQImage()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-21 12:51:17 +02:00
Ivailo Monev
856e14e31c do not assume the colors table size equals the largest index value in QImage::setPixel()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-21 12:45:54 +02:00
Ivailo Monev
68468f7802 set glyph cache type to QFontEngineGlyphCache::Raster_A8 only if the surface is not in mono format
git blame has nothing (stealth changes done upstream, not the first):
30fd22b957/src/gui/painting/qpaintengine_raster.cpp

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-21 11:04:12 +02:00
Ivailo Monev
03e20f02ae remove redundant QFontEngine::GlyphCacheEntry::context member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-21 10:30:33 +02:00
Ivailo Monev
1ccdc3130f compiler warning fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-20 13:13:33 +02:00
Ivailo Monev
1fc90e2ae5 update URL TLDs table data
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-12-20 12:02:49 +02:00