screen-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[screen-devel] [bug #50044] Update lookup tables to support Unicode 9.0.


From: Brian De Wolf
Subject: [screen-devel] [bug #50044] Update lookup tables to support Unicode 9.0.0
Date: Thu, 12 Jan 2017 22:59:34 +0000 (UTC)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

Follow-up Comment #2, bug #50044 (project screen):

Oh, it doesn't like the emoji.  Third time's a charm:

I use weechat inside a screen session inside mate-terminal for IRC and lately
emoji have begun showing up and my terminal gets corrupted.  I was able to
track this down to screen's wide character handling.  Because screen doesn't
correctly detect that new emoji (such as U+1F525) are wide characters, it
inserts cursor-forward commands where none are necessary.

For example, weechat will print an emoji at 20,20 and 22,20.  Screen will
receive this and print the character at 20,20, emit cursor-forward (^[C), then
print the next emoji at 22,20.  This causes mate-terminal to see what is
actually a 2 character sequence as a 3 character sequence.  This causes all
sorts of havoc as later character movements are distorted, leaving emoji and
other characters unerased on the screen.

Anyway, I tracked this down to glib (what mate-terminal uses to detect widths
of characters) being Unicode 9.0.0 compatible.  To test my theory, I patched
in the tables that glib uses into screen.  With this patch, the newer wide
characters appear and are manipulated correctly.  It replaces a smaller set of
tests which appear to be a subset of the ranges that are now checked.

The table is taken from
https://raw.githubusercontent.com/GNOME/glib/glib-2-50/glib/gunichartables.h
and is a product of
https://github.com/GNOME/glib/blob/glib-2-50/glib/gen-unicode-tables.pl

Note: My patch does not update the ambiguous tables, which might also need
updating.


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?50044>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]