https://bugs.kde.org/show_bug.cgi?id=450017
Bug ID: 450017 Summary: Emoji without Emoji_Presentation are rendered as wide if Noto Color Emoji is used Product: konsole Version: 21.12.2 Platform: Archlinux Packages OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: font Assignee: konsole-de...@kde.org Reporter: fhomb...@gmail.com Target Milestone: --- Created attachment 146583 --> https://bugs.kde.org/attachment.cgi?id=146583&action=edit A screenshot showing the aforementioned command and its output (with Hack+Noto) SUMMARY *** NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols. See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports *** STEPS TO REPRODUCE 1. Use Noto Color Emoji font 2. Run `python3 -c 'print ("aabanana\n\U0001F336banana")'` OBSERVED RESULT The second "banana" starts somewhere around the third column EXPECTED RESULT The second banana starts one column *before* the first, after the first "a" SOFTWARE/OS VERSIONS Linux/KDE Plasma: Kernel 5.16.8-arch1-1 (available in About System) KDE Plasma Version: 5.24.0 KDE Frameworks Version: 5.90.0 Qt Version: 5.15.2 ADDITIONAL INFORMATION Unicode UAX#11 "East Asian Width" since Version 9 has some exceptions for Emoji to render as wide regardless of their given "East Asian Width", but this only applies to 1. "emoji presentation sequences" (i.e. the emoji and variation selector 16, the emoji presentation selector) 2. Codepoints with the "Emoji_Presentation" property This doesn't apply to e.g. U+1F336, as in this example. Its East Asian Width should be used, and it is classified as I work on https://github.com/ridiculousfish/widecharwidth and https://github.com/fish-shell/fish-shell, and this makes it disagree with both, which means cursor movement will be out-of-sync, leading to awkward glitches. I typically use Hack with an override to select Noto Color Emoji for emoji (because I don't like Hack's emoji), but this is reproducible just with the latter. The font selection should not change the width, because that means the application can't rely on it and it has no way to query the font. If it isn't possible to get Noto to render it as narrow, it should not be selectable as a font because it can only lead to breakage. -- You are receiving this mail because: You are watching all bug changes.