#1089108 /usr/bin/gnome-terminal: wrongly displays unicode sequences involving combining characters #1089108
- Package:
- gnome-terminal
- Source:
- gnome-terminal
- Description:
- GNOME terminal emulator application
- Submitter:
- Uwe Kleine-König
- Date:
- 2024-12-11 16:21:04 UTC
- Severity:
- normal
- Tags:
Hello, The (e.g.) combining Acute Accent (codepoint 0x301, utf-8 representation "\xcc\x81") is supposed to put an accent on the char just before it. That is echo -e "e\xcc\x81e" | iconv -f utf-8 is supposed to show two e with the first having an accent. In xterm the output is as expected, in Gnome terminal it's the second e that gets the accent however. Best regards Uwe
Control: tags -1 + moreinfo
This works as you say it should for me, in gnome-terminal and kgx
(gnome-console).
What byte sequence is output from iconv on your system?
(echo -e "e\xcc\x81e" | iconv -f utf-8 | xxd)
I expect that the answer should be:
00000000: 65cc 8165 0a e..e.
which is U+0065 'e', U+0301 combining acute accent, U+0065 'e', newline.
I have version 1.55.0+ds-3, if that matters.
I have version 0.78.2-1, if that matters.
smcv
Hello Simon, thanks for your quick reply. kgx gets it right for me, too. Indeed. I only added the iconv in case someone wants to reproduce with a non-utf-8 encoding. I updated these two to the version you have (i.e. current unstable) and the problem persists in gnome-terminal (even after a reboot). Then maybe a transitive dependency is the culprit??? Best regards Uwe
Hello, reboot :-\ Then I created a new user and tried with that => problem fixed. Then I created (with my normal user) a new Profile for Gnome Terminal => problem fixed. Then in the old profile switched from the Custom font "Inconsolata" (provided by package fonts-inconsolata) to Monospace => problem fixed. The latter even works "live", that is, if I have the Terminal show the bogus sequence and switch the font, the display is fixed. Same in the other direction. Fun-fact: When I switch the font in kgx to Inconsolata, it shows two e without accent. Best regards Uwe
Control: reassign -1 fonts-inconsolata,gnome-terminal
Control: retitle -1 fonts-inconsolata: combining accents drawn incorrectly in gnome-terminal
Control: tags -1 + help
...
I can reproduce this by restarting gnome-terminal after installing
Inconsolata, and then configuring it to use Inconsolata. For whatever
reason, this didn't happen until I had completely exited all running
gnome-terminal windows so that its background service exited.
This seems like a problem with the rendering of the Inconsolata font -
either a bug in the content of that font, or a bug in some rendering
library (vte? pango? harfbuzz? it's anyone's guess, really) triggered by
something specific to that font.
I can reproduce this, too.
kgx uses GTK 4, while gnome-terminal uses GTK 3, so it's reasonable that
their behaviour is not identical.
smcv