OK seems like it is always using ACS which is correct.

I just remembered jmc asked me about this before and it turned out that
ACS doesn't work with the DRM console - I don't think the font have the
right symbol for either ACS or UTF-8 line drawing, but there may be
other problems in there as well.

If you are using DRM you can set TERM to pccon0 which is a variant with
ASCII line drawing and ncurses will use ASCII for line drawing.




On Wed, Sep 25, 2019 at 05:02:17PM -0500, Scott Cheloha wrote:
> On Wed, Sep 25, 2019 at 08:29:47PM +0100, Nicholas Marriott wrote:
> > It will use either UTF-8 characters or the ACS characters from TERM.
> > 
> > The way it decides which is somewhat confusing and it looks like it is
> > choosing to use UTF-8 even when I wouldn't expect it to so I'm not sure
> > it is actually working correctly in our ncurses version.
> > 
> > I don't think UTF-8 line drawing works properly, at least with the DRM
> > wscons.
> > 
> > What do you have in TERM now? Can you see if the borders are OK with
> > "TERM=xterm snake"? This seems to use ACS rather than UTF-8. If it does
> > I'll see if I can figure out why it choosing UTF-8 borders for the
> > others.
> 
> In wscons I have vt220.  The borders are even more screwy with
> `TERM=xterm snake` in the wscons.  Now you have pairs of question
> marks instead of just a single '?'.
> 
> The (maybe not so) odd thing is that in a real xterm if I do
> `TERM=vt220 snake` the borders are fine.  So yeah, I don't know how
> our ncurses is deciding what to do.
> 
> > You can run it in script(1) to see what it is using for the border (lots
> > of 'q' or 'x' means ACS).
> 
> I see a string of 'q' in the typescript when in the xterm and TERM=xterm:
> 
> ESC[?1049hESC[1;24rESC(BESC[mESC[4lESC[?7hESC[?1hESC=ESC[HESC[2J Worm
> ESC(0ESC[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkESC(B
> ESC(0ESC[0mxESC(BESC[79GESC(0ESC[0mxESC(B
> ESC(0ESC[0mxESC(BESC[79GESC(0ESC[0mxESC(B
> 
> in xterm when TERM=vt220:
> 
> ESC)0ESC[1;24rESC[mESC(BESC[4lESC[?7hESC[HESC[J Worm
> ESC[0mESC(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkESC(B
> ESC[0mESC(0xESC(BESC[77CESC[0mESC(0xESC(B
> ESC[0mESC(0xESC(BESC[77CESC[0mESC(0xESC(B
> 
> in wscons when TERM=vt220:
> 
> ESC)0ESC[1;45rESC[mESC(BESC[4lESC[?7hESC[HESC[J Worm
> ESC[0mESC(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkESC(B
> ESC[0mESC(0xESC(BESC[157CESC[0mESC(0xESC(B
> ESC[0mESC(0xESC(BESC[157CESC[0mESC(0xESC(B
> 
> in wscons when TERM=xterm:
> 
> ESC[?1049hESC[1;45rESC(BESC[mESC[4lESC[?7hESC[?1hESC=ESC[HESC[2J Worm
> ESC(0ESC[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkESC(B
> ESC(0ESC[0mxESC(BESC[159GESC(0ESC[0mxESC(B
> ESC(0ESC[0mxESC(BESC[159GESC(0ESC[0mxESC(B
> 
> ... so it's doing something based on TERM.

Reply via email to