You've reported this bug against Ubuntu 16.04, whereas Unicode 9.0 was released in June 2016. The expected behavior in that distro is hence Unicode 8.0's.
gnome-terminal takes the character width from glib (package: libglib2.0-0), which has surprisingly upgraded to Unicode 9.0 in a micro version, namely 2.50.1. Again surprisingly, Yakkety has released this version as an update (2.50.2), not in the original yakkety package (2.50.0), which again arguably shouldn't have happened. Most terminal emulators and apps take the character width from glibc (package: libc6), which has not updated to Unicode 9.0 yet (as of the just released version 2.25). At least Fedora, however, has already patched it forward: https://fedoraproject.org/wiki/Changes/Unicode_9.0. Maybe Ubuntu too, or is planning to, I don't know. Vim, as far as I know, has its own separate built-in database. gnome-terminal being different from most of the apps is already causing quite a bit of a headache, see e.g.: - https://bugzilla.gnome.org/show_bug.cgi?id=772812 (and follow the links from there as well to see some of the problems it causes), - https://bugzilla.gnome.org/show_bug.cgi?id=772890 (a recommendation for gnome-terminal to use glibc's database instead - no work has been done yet). vim using its own database adds yet another twist to the story. I don't know what version it ships. The bug you reported is indeed a valid and (presumably especially in yakkety (with updates) and zesty) a quite serious one. Strictly speaking, though, I don't think it's a gnome-terminal bug. I think it's a much higher level issue that should be brought up in some core developer mailing list. I believe it's the distro's responsibility to ship glib, glibc and vim so that all use the same Unicode version. (Or even better, but it takes more time and a heavy refactoring: There should be a single core Unicode library that glibc, glib, vim etc. all depend on. Unfortunately I find it unlikely to get implemented.) ** Bug watch added: GNOME Bug Tracker #772812 https://bugzilla.gnome.org/show_bug.cgi?id=772812 ** Bug watch added: GNOME Bug Tracker #772890 https://bugzilla.gnome.org/show_bug.cgi?id=772890 -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to gnome-terminal in Ubuntu. https://bugs.launchpad.net/bugs/1665140 Title: Emoji that should be wide, according to Unicode 9, display incorrectly in the terminal Status in gnome-terminal package in Ubuntu: New Bug description: When editing Unicode in the terminal, it is important for the terminal and applications to agree on the width of characters. Otherwise, display glitches will occur. In prior versions of Unicode, the character width of emoji was "ambiguous". As of Unicode 9, they are supposed to be double-wide and take up two character cells. gnome-terminal displays them as overlapping, single-wide characters, like it has for a long time. This is a problem because many applications I use on Ubuntu now treat emoji as double-wide. The behavior of gnome-terminal conflicts with the cursor positioning in vim, for example. I've long considered gnome-terminal to have the least buggy Unicode implementation among terminal applications, and this may no longer be the case. The *desired behavior* of emoji is that they are double-wide: they take up two character cells, advance the cursor by two cells when displayed, and text-editing applications move the cursor by two cells when moving past them. The *actual behavior* is inconsistent: typically, the emoji advance the cursor only by one character cell, even though the text-editing cursor moves by two character cells when moving past them, causing the cursor to be misaligned with the text. I hope this bug reporting interface lets me attach screenshots so I can show the example with vim. ProblemType: Bug DistroRelease: Ubuntu 16.04 Package: gnome-terminal 3.18.3-1ubuntu1 ProcVersionSignature: Ubuntu 4.4.0-57.78-generic 4.4.35 Uname: Linux 4.4.0-57-generic x86_64 NonfreeKernelModules: nvidia_uvm nvidia_drm nvidia_modeset nvidia ApportVersion: 2.20.1-0ubuntu2.5 Architecture: amd64 CurrentDesktop: Unity Date: Wed Feb 15 16:13:31 2017 InstallationDate: Installed on 2016-08-09 (190 days ago) InstallationMedia: Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719) JournalErrors: Error: command ['journalctl', '-b', '--priority=warning', '--lines=1000'] failed with exit code 1: Hint: You are currently not seeing messages from other users and the system. Users in the 'systemd-journal' group can see all messages. Pass -q to turn off this notice. No journal files were opened due to insufficient permissions. SourcePackage: gnome-terminal UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1665140/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp

