Bug#763731: terminfo: linux (linux-basic: CP437), linux-vt entries vs. ACS support
On Thu, Oct 02, 2014 at 08:51:32AM +, Ivan Shmakov wrote: Source: ncurses Version: 5.9+20140913-1 Control: affects -1 console-setup Tags: patch Severity: minor As of the current version of the Terminfo database, the ‘linux’ terminal entry implies the use of the CP437 encoding for the box-drawing characters and the like (also known as “alternate character set”, or ACS): ... This is hardly a safe assumption these days, especially taking into account the widespread use of UTF-8, /including/ on ttys. several comments. a) this should be merged with #515609 b) no progress has been observed in upstream (Linux kernel of course) in making the SCS patch referred to in #515609 an official part of Linux. When I investigated this earlier, I found that it wasn't - in fact did _not_ work for the kernels which Debian provided. We can discuss this if the situation has changed. c) the documentation in console_codes hasn't been updated for instance. The only recent (past 6 years) change there was the note about erase with 3 parameter since Linux 3.0. d) this report does prescribe a change, but lacks the patch which is indicated in the flags. e) the choice of enacs is problematic since the documentation (console_codes manpage) is pretty clear: ESC ( B Select default (ISO 8859-1 mapping) ESC ( 0 Select VT100 graphics mapping -- Thomas E. Dickey dic...@invisible-island.net http://invisible-island.net ftp://invisible-island.net signature.asc Description: Digital signature
Bug#763731: terminfo: linux (linux-basic: CP437), linux-vt entries vs. ACS support
On Sat, Oct 04, 2014 at 01:34:37PM -0400, Thomas Dickey wrote: When I investigated this earlier, I found that it wasn't - in fact did _not_ work for the kernels which Debian provided. We can discuss this if the situation has changed. In a quick check (using TERM=linux-vt tack), the Debian7 configuration does not show line-drawing). Likewise Debian/testing. -- Thomas E. Dickey dic...@invisible-island.net http://invisible-island.net ftp://invisible-island.net signature.asc Description: Digital signature
Bug#763731: terminfo: linux (linux-basic: CP437), linux-vt entries vs. ACS support
Thomas Dickey dic...@his.com writes: On Thu, Oct 02, 2014 at 08:51:32AM +, Ivan Shmakov wrote: Cc: 763731-submit...@bugs.debian.org (No need to Cc: me, as I’m “on the list.”) […] As of the current version of the Terminfo database, the ‘linux’ terminal entry implies the use of the CP437 encoding for the box-drawing characters and the like (also known as “alternate character set”, or ACS): This is hardly a safe assumption these days, especially taking into account the widespread use of UTF-8, /including/ on ttys. several comments. a) this should be merged with #515609 No objection on my part. […] d) this report does prescribe a change, but lacks the patch which is indicated in the flags. The report surely /provides/ “… some other easy procedure for fixing the bug”, as per http://www.debian.org/Bugs/Developer: patch A patch or some other easy procedure for fixing the bug is included in the bug logs. If there’s a patch, but it doesn’t resolve the bug adequately or causes some other problems, this tag should not be used. But I stand corrected, – the procedure I’ve suggested does /not/ resolve the bug, and thus this tag is indeed /not/ applicable. Apparently, the proper “fix” for the issue is just to use the ‘linux2.6’ terminfo entry: linux2.6|linux 2.6.x console, rmacs=^O, sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;, sgr0=\E[m\017, smacs=^N, use=linux2.2, I hereby suggest that, given that Debian currently only supports Linux versions 2.6 or later, the ‘linux’ terminfo entry be made synonymous to ‘linux2.6’. • move the current variants of the ‘acsc’, ‘smacs’, ‘rmacs’ capabilities from linux-basic to a dedicated linux-cp437 entry (following the suit of linux-koi8, linux-koi8r, linux-lat); … And I still think it makes sense to provide a dedicated ‘linux-cp437’ entry per the above, just in case. […] -- FSF associate member #7257 http://boycottsystemd.org/ … 3013 B6A0 230E 334A -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#763731: terminfo: linux (linux-basic: CP437), linux-vt entries vs. ACS support
Source: ncurses Version: 5.9+20140913-1 Control: affects -1 console-setup Tags: patch Severity: minor As of the current version of the Terminfo database, the ‘linux’ terminal entry implies the use of the CP437 encoding for the box-drawing characters and the like (also known as “alternate character set”, or ACS): $ nl -ba misc/terminfo.src … 1577 linux-basic|linux console, 1578 am, bce, eo, mir, msgr, xenl, xon, 1579 it#8, ncv#18, U8#1, 1580 acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, (Read: acsc=+\020\,\021-\030.^Y0█`\004a▒f°g±h░i╬j┘k┐l┌m└n┼o~p─q─r─s_t├u┤v┴w┬x│y≤z≥{π|╪}£~■. And no, that’s /not/ line noise.) This is hardly a safe assumption these days, especially taking into account the widespread use of UTF-8, /including/ on ttys. (Please also note that the console-setup Debconf scripts will assume UTF-8 mode for ttys provided that the locale is a UTF-8 one, – which, I believe, are default with D-I installs.) There’s a separate ‘linux-vt’ entry that’s intended to be used when the terminal encoding is not known, or non-unibyte, and which emits ACS characters using VT100 ESC sequences instead: 1678 # This uses graphics from VT codeset instead of from cp437. 1679 # reason: cp437 (aka straight to font) is not functional under luit. 1680 # from: Andrey V Lukyanov l...@long.yar.ru. 1681 linux-vt|linux console using VT codes for graphics, 1682 acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~, 1683 rmacs=\E(K, rmpch@, sgr@, sgr0=\E[0m\E(K\017, smacs=\E(0, 1684 smpch@, use=linux, Unfortunately, this entry misses the ‘enacs’ capability, so its use doesn’t result in the proper ACS rendering, as in: $ export TERM=linux-vt $ tput enacs ; tput smacs ; printf %s\\n lk mj ; tput rmacs ; lk mj Expected: ┌┐ └┘ The /minimal/ solution for the issue is to fix the linux-vt entry by adding the missing ‘enacs’ capability: linux-vt|linux console using VT codes for graphics, acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~, enacs=\E(B\E)0, rmacs=\E(K, rmpch@, sgr@, sgr0=\E[0m\E(K\017, smacs=\E(0, smpch@, use=linux, This could just as well be combined with explicitly passing ‘linux-vt’ to the getty(8) invocations in the default /etc/inittab for the new GNU/Linux installations, – or similar measures for the systems using different means to start up the gettys. The “proper” solution, in my opinion, is to: • move the current variants of the ‘acsc’, ‘smacs’, ‘rmacs’ capabilities from linux-basic to a dedicated linux-cp437 entry (following the suit of linux-koi8, linux-koi8r, linux-lat); • replace them with the encoding-insensitive ‘acsc’, ‘smacs’, ‘rmacs’ variants from linux-vt, along with adding ‘enacs’ per above; • the linux-vt entry is then to be cut down to just ‘use=linux’ (and ‘sgr@’?), but otherwise retained for compatibility. TIA. -- FSF associate member #7257 http://boycottsystemd.org/ … 3013 B6A0 230E 334A -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org