Issue 6733: curses line wrap broken when mixing full- and half-width unicode characters (original) (raw)

Created on 2009-08-19 00:43 by fugounashi, last changed 2022-04-11 14:56 by admin.

Messages (4)
msg91721 - (view) Author: (fugounashi) Date: 2009-08-19 00:43
when printing a full width unicode character near the end of a line when only a single (half-width) space remains, the character is printed at the start of the current line rather than the start of the next line. the following character is printed in the following space on the next line as it should be. same behaviour in both mlterm and xterm thanks! python deb 2.5.2-3
msg91986 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2009-08-26 22:42
Can you write a short example reproducing the bug?
msg92000 - (view) Author: (fugounashi) Date: 2009-08-27 11:53
thanks for looking into it this should do it: #! /usr/bin/python import locale locale.setlocale(locale.LC_ALL, '') code = locale.getpreferredencoding() import curses def main(stdscr): stdscr.erase() stdscr.move(0, 0) for i in range(0,stdscr.getmaxyx()[1] - 1): stdscr.addstr("."); stdscr.addstr(u"\u3007\u3007".encode(code)); stdscr.refresh() curses.wrapper(main)
msg240877 - (view) Author: Chris Abiad (cabiad) Date: 2015-04-14 13:10
The original problem was described as: "the character is printed at the start of the current line rather than the start of the next line." I haven't gotten too far investigating the cause, but adding a single line to the sample code makes this test code a bit easier to use. Without a pause at the end of execution, my terminal immediately clears the screen making it impossible to see the output. #! /usr/bin/python import locale locale.setlocale(locale.LC_ALL, '') code = locale.getpreferredencoding() import curses def main(stdscr): stdscr.erase() stdscr.move(0, 0) for i in range(0,stdscr.getmaxyx()[1] - 1): stdscr.addstr("."); stdscr.addstr(u"\u3007\u3007".encode(code)); stdscr.refresh() c = stdscr.getch() # the new line curses.wrapper(main) Tested and reproduced on the following platforms: 1. * XTerm(309) (NOTE: You must run `export LC_ALL=en_US.UTF-8` before non-ascii encodings will work at all in xterm) * XQuartz 2.7.7 * Mac OS X 10.10.1 2. * iTerm2 1.0.0.20130622 * Mac OS X 10.10.1 With each of the following python versions: * 2.7.9 * 3.4.3 * Latest 'default' branch
History
Date User Action Args
2022-04-11 14:56:52 admin set github: 50982
2015-04-14 13:10:25 cabiad set nosy: + cabiadmessages: +
2011-11-19 14:12:04 ezio.melotti set versions: + Python 3.3
2010-08-03 22:31:12 terry.reedy set stage: test neededversions: + Python 2.7, Python 3.2, - Python 2.5
2009-10-01 12:49:01 ezio.melotti set nosy: + ezio.melotti
2009-10-01 05:09:45 fugounashi set nosy:vstinner, fugounashicomponents: + Library (Lib)
2009-08-27 11:53:54 fugounashi set messages: +
2009-08-26 22:42:35 vstinner set nosy: + vstinnermessages: +
2009-08-19 00:43:20 fugounashi create