Bug 463031 - Only half of a multi-byte character is displayed when hovered over by a block-shape cursor
Summary: Only half of a multi-byte character is displayed when hovered over by a block...
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: font (show other bugs)
Version: 22.12.0
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-14 07:23 UTC by Yufan You
Modified: 2022-12-30 18:04 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
The observed result in konsole 22.12.0 (4.96 KB, image/png)
2022-12-14 07:23 UTC, Yufan You
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yufan You 2022-12-14 07:23:50 UTC
Created attachment 154577 [details]
The observed result in konsole 22.12.0

SUMMARY

When the cursor shape is "block", and the cursor is hovering over a multi-byte character, only half of the character is displayed.

STEPS TO REPRODUCE

1. Set the cursor shape to "block".
2. Type some multi-byte characters, such as "大大大".
3. Move the cursor to hover over a multi-byte character.

OBSERVED RESULT

Only the left half is displayed. (See the attachment.)

EXPECTED RESULT

The whole character should be displayed.

SOFTWARE/OS VERSIONS

Linux/KDE Plasma: 6.0.12-zen1-1-zen (64-bit)
KDE Plasma Version: 5.26.4
KDE Frameworks Version: 5.101.0
Qt Version: 5.15.7

ADDITIONAL INFORMATION

The whole character was able to be displayed in konsole 22.08.3.
Comment 1 Bug Janitor Service 2022-12-16 02:34:59 UTC
A possibly relevant merge request was started @ https://invent.kde.org/utilities/konsole/-/merge_requests/787
Comment 2 Kurt Hindenburg 2022-12-16 20:39:21 UTC
Git commit 6d7d33ed7aa74a342f5b6b17aae22591a763e28e by Kurt Hindenburg, on behalf of Luis Javier Merino Morán.
Committed on 16/12/2022 at 20:19.
Pushed by hindenburg into branch 'master'.

Fix regression with CJK wide chars at cursor

Commit 76f879cd7 changed greatly the way konsole renders text, to fix
some long-standing issues with RTL text, non-monospaced fonts, ...

Unfortunately, it also introduced a regression for CJK wide character
rendering, where it does not take properly into account their width.

M  +2    -1    src/terminalDisplay/TerminalPainter.cpp

https://invent.kde.org/utilities/konsole/commit/6d7d33ed7aa74a342f5b6b17aae22591a763e28e
Comment 3 Kurt Hindenburg 2022-12-30 18:04:50 UTC
Git commit 6e6832788189a07fd6aa20f383bb7a88bd24bf90 by Kurt Hindenburg, on behalf of Luis Javier Merino Morán.
Committed on 30/12/2022 at 16:49.
Pushed by hindenburg into branch 'release/22.12'.

Fix regression with CJK wide chars at cursor

Commit 76f879cd7 changed greatly the way konsole renders text, to fix
some long-standing issues with RTL text, non-monospaced fonts, ...

Unfortunately, it also introduced a regression for CJK wide character
rendering, where it does not take properly into account their width.

M  +2    -1    src/terminalDisplay/TerminalPainter.cpp

https://invent.kde.org/utilities/konsole/commit/6e6832788189a07fd6aa20f383bb7a88bd24bf90