From 0fd581925ac6e9bec175e13ed24602f8fdf36903 Mon Sep 17 00:00:00 2001 From: Gavin MacGregor Date: Mon, 16 Jun 2025 20:22:37 +0100 Subject: [PATCH] Uncolour mode 1-3 PTUs on monochrome rendering modes --- src/qteletextdecoder/render.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/qteletextdecoder/render.cpp b/src/qteletextdecoder/render.cpp index e2e43d9..a45c0ae 100644 --- a/src/qteletextdecoder/render.cpp +++ b/src/qteletextdecoder/render.cpp @@ -202,6 +202,10 @@ inline bool TeletextPageRender::drawDRCSCharacter(QPainter &painter, int r, int // mode 0 (12x10x1) returned here has no colours of its own // so apply the foreground and background colours of the cell it appears in drcsImage.setColorTable(QVector{m_backgroundQColor.rgba(), m_foregroundQColor.rgba()}); + else if (m_renderMode >= RenderWhiteOnBlack) + // modes 1-3: crudely convert colours to monochrome + for (int i=0; i<16; i++) + drcsImage.setColor(i, qGray(drcsImage.color(i)) > 127 ? 0xffffffff : 0xff000000); drawFromBitmap(painter, r, c, drcsImage, characterFragment);