Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.9.0 Beta 1, 5.9.0 Beta 2
-
None
-
Archlinux, fontconfig 2.12.1, gcc 6.3.1
Description
This example:
#include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel(); label->setText("abc"); label->setStyleSheet("background-color: rgba(255, 247, 133, 0.8);" "color: black;" "font: 20pt Monospace"); label->show(); return app.exec(); }
TEMPLATE = app TARGET = labeltest QT += widgets SOURCES += main.cpp
with the following ~/.config/fontconfig/fonts.conf:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font"> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match> </fontconfig>
Looks properly on Qt 5.8:
But wrong on Qt 5.9:
I was able to bisect this to the following change in qtbase: https://codereview.qt-project.org/#/c/171930/
Replace QDrawHelperGammaTables with QColorProfile
Turns the two set of tables in QDrawHelperGammaTables into two
QColorProfile classes that use similar structures and can be reused for
other gamma correction.
At the same time clean-up and improve the comma-correct blending code
to use the new profiles and QRgba64 precision.
Attachments
Issue Links
- resulted in
-
QTBUG-60562 REG [within 5.9]: Windows font engine rendering broken when using message box with rich text
- Closed
-
QTBUG-61863 QPainter::drawTextItem crash
- Closed