[konsole] [Bug 450017] New: Emoji without Emoji_Presentation are rendered as wide if Noto Color Emoji is used

Fabian Homborg bugzilla_noreply at kde.org
Fri Feb 11 15:43:45 GMT 2022


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-devel at kde.org
          Reporter: FHomborg at 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 the assignee for the bug.


More information about the konsole-devel mailing list