diff options
Diffstat (limited to 'debian/patches/52fix_screen_utf8_nfd.patch')
-rw-r--r-- | debian/patches/52fix_screen_utf8_nfd.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/debian/patches/52fix_screen_utf8_nfd.patch b/debian/patches/52fix_screen_utf8_nfd.patch new file mode 100644 index 0000000..504dfc4 --- /dev/null +++ b/debian/patches/52fix_screen_utf8_nfd.patch @@ -0,0 +1,41 @@ +Author: Kenta Murata (mrkn) <mrkn@ruby-lang.org> +Reviewed-By: Nobuhiro Iwamatsu <iwamatsu@debian.org> +Description: screen outputs screen "ÿ" after a connected character. + This is a character without the need. + This happens in UTF-8 environment. + Before : screen$ ruby1.9.1 -e 'puts "\u304b\u3099.."' + がÿ... + patch applied : screen $ ruby1.9.1 -e 'puts "\u304b\u3099.."' + が.. +Origin: https://d.hatena.ne.jp/mrkn/20101014/fix_screen_utf8_nfd_bug +Bugs-Debian: https://bugs.debian.org/600246 +Bugs-Debian: https://bugs.debian.org/677512 + +Index: screen/ansi.c +=================================================================== +--- screen.orig/ansi.c 2012-03-20 22:15:02.000000000 +0100 ++++ screen/ansi.c 2012-03-20 22:41:45.000000000 +0100 +@@ -725,6 +725,10 @@ + LPutChar(&curr->w_layer, &omc, ox, oy); + LGotoPos(&curr->w_layer, curr->w_x, curr->w_y); + } ++ if (curr->w_mbcs) ++ { ++ curr->w_rend.mbcs = curr->w_mbcs = 0; ++ } + break; + } + font = curr->w_rend.font; +Index: screen/display.c +=================================================================== +--- screen.orig/display.c 2012-03-20 22:41:28.000000000 +0100 ++++ screen/display.c 2012-03-20 22:41:45.000000000 +0100 +@@ -603,7 +603,7 @@ + D_x += D_AM ? 1 : -1; + D_mbcs = 0; + } +- else if (utf8_isdouble(c)) ++ else if (utf8_isdouble(c) || (c >= 0xd800 && c < 0xe000)) + { + D_mbcs = c; + D_x++; |