[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ANN: terminfo-20160924.src.gz
From: |
Mikulas Patocka |
Subject: |
Re: ANN: terminfo-20160924.src.gz |
Date: |
Mon, 10 Oct 2016 16:42:11 +0200 (CEST) |
User-agent: |
Alpine 2.02 (DEB 1266 2009-07-14) |
On Sun, 9 Oct 2016, Thomas Dickey wrote:
> On Wed, Sep 28, 2016 at 02:19:27PM +0200, Mikulas Patocka wrote:
> >
> >
> > Hi
> >
> > The linux2.6 terminfo entry still contains the string "enacs=\E(B\E)0",
> > which makes it unusable with iso-8859-2 locale and most other one-byte
> > character sets (except iso-8859-1 and utf-8).
>
> From our previous discussion, it wasn't clear to me why you cannot use
>
> # CONFIGURATION FILE FOR SETUPCON
>
> # Consult the console-setup(5) manual page.
>
> ACTIVE_CONSOLES="/dev/tty[1-6]"
>
> #CHARMAP="UTF-8"
> CHARMAP="ISO-8859-2"
>
> CODESET="Lat2"
> FONTFACE="Fixed"
> FONTSIZE="8x16"
>
> VIDEOMODE=
>
> # The following is an example how to use a braille font
> # FONT='lat9w-08.psf.gz brl-8x8.psf'
I'm using this configuration and this configuration doesn't work with
current terminfo.
You can try it - use the above configuration, run setupcon and then run
LANG=cs_CZ.iso-8859-2 mc
- at the bottom line, the label for key 6 should be "Presun" (with caron
over "r"), but with current terminfo, the letter r-with-caron is corrupted
and a different character is printed.
The setupcon command runs setfont:
execve("/bin/setfont", ["setfont", "-C", "/dev/tty1", "-m",
"/etc/console-setup/ISO-8859-2.acm.gz"]
The setfont program does:
open("/dev/tty1", O_RDWR) = 3
ioctl(3, PIO_UNISCRNMAP, 0x7ffd9e65a620) = 0
write(3, "\33(K", 3) = 3
So far, so good.
However - when I start a ncurses program (such as Midnight Commander), it
reads the "enacs" string from terminfo (the enacs string is "ESC ( B ESC )
0", it writes this string to the terminal, it undoes the setting "ESC ( K"
done by setfont and the national characters are corrupted.
> but it occurred to me that there is a way to have two fonts loaded.
> I've started investigating this.
I don't need to have two fonts loaded. I need one font with the
iso-8859-2 encoding.
Here I'm sending a patch for this bug.
Mikulas
---
termcap-20160924.src | 2 +-
terminfo-20160924.src | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: ti/termcap-20160924.src
===================================================================
--- ti.orig/termcap-20160924.src 2016-10-10 16:22:15.000000000 +0200
+++ ti/termcap-20160924.src 2016-10-10 16:31:35.000000000 +0200
@@ -1598,7 +1598,7 @@ linux2.2|linux 2.2.x console:\
# '_' scan line 9
linux2.6|linux 2.6.x console:\
:ac=++,,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}c~~:\
- :ae=^O:as=^N:eA=\E(B\E)0:me=\E[m\017:tc=linux2.2:
+ :ae=^O:as=^N:eA=\E)0:me=\E[m\017:tc=linux2.2:
# The 3.0 kernel adds support for clearing scrollback buffer (capability E3).
# It is the same as xterm's erase-saved-lines feature.
Index: ti/terminfo-20160924.src
===================================================================
--- ti.orig/terminfo-20160924.src 2016-10-10 16:22:26.000000000 +0200
+++ ti/terminfo-20160924.src 2016-10-10 16:31:49.000000000 +0200
@@ -1691,7 +1691,7 @@ linux2.2|linux 2.2.x console,
# '_' scan line 9
linux2.6|linux 2.6.x console,
acsc=++\,\,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}c~~,
- enacs=\E(B\E)0, rmacs=^O,
+ enacs=\E)0, 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,