bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ACS/UTF-8 Line Drawing Question


From: Thomas Dickey
Subject: Re: ACS/UTF-8 Line Drawing Question
Date: Sat, 26 Nov 2016 20:37:30 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, Nov 21, 2016 at 09:25:29AM -0500, Marc Smith wrote:
> On Fri, Nov 18, 2016 at 9:03 PM, Thomas Dickey <address@hidden> wrote:
> > On Thu, Nov 17, 2016 at 10:01:51AM -0500, Marc Smith wrote:
> >> Hi,
> >>
> >> I'm following up on this to see if you had any additional advice --
> >> I'd really like to make PuTTY work out-of-the-box. Currently, users of
> >> my software must change the remote character set to "Latin-1, West
> >> Europe" when using PuTTY in order for the line drawing characters to
> >> display properly. No other terminal emulators that I've come across
> >> have this issue.
> >>
> >> My TUI application is using the CDK library. Does
> >> "NCURSES_NO_UTF8_ACS=1" not affect this? I believe CDK uses everything
> >> via ncurses, but maybe something related to the line drawing is
> >> implemented differently? I'm out of ideas, so any help would be
> >> greatly appreciated.
> >
> > three points come to mind (though I seem to recall pointing out another...):
> >
> > a) CDK would have to be linked with ncursesw (if not, you would get ASCII
> >    +'s and -'s for lines)
> 
> CDK is in-fact linked again ncursesw, and actually, on this system,
> there is only ncursesw. I am getting x's for the vertical lines, and
> q's for the horizontal lines.
> 
> 
> > b) NCURSES_NO_UTF8_ACS should work - but setting it in PuTTY's environment
> >    variables dialog doesn't help much if the server disallows that variable.
> 
> I'm setting NCURSES_NO_UTF8_ACS before the TUI binary is executed. I
> seem to recall even verifying the value is set with getenv() at one
> point.
> 
> 
> > c) Someone might still be running RHEL5 (which used a version of ncurses
> >    before the variable was added).
> 
> This system is using ncurses 5.9.

hmm - I see.  I was thinking from the ncurses library aspect (whether
the library supports the variable).  On my CentOS 7 machine, my
directory editor does line-drawing properly and is linked with ncursesw.

But in a quick check of cdk - that (though linked with ncursesw) doesn't
do line-drawing.  I'll investigate that.
 
> --Marc
> 
> >>
> >> Thanks for your time.
> >>
> >>
> >> --Marc
> >>
> >> On Tue, Jun 28, 2016 at 10:03 AM, Marc Smith <address@hidden> wrote:
> >> > Thanks; I tried setting the terminal string to "putty" in PuTTY when
> >> > connecting, and I still get the letters instead of ACS line
> >> > characters. I checked 'infocmp' when using this:

for what it's worth, the line-drawing feature is supposed to be automatic
with this "putty" definition, since (infocmp -x would show) the "U8"
flag is set).

> >> >
> >> > --snip--
> >> > address@hidden ~]# infocmp
> >> > #       Reconstructed via infocmp from file: /usr/share/terminfo/p/putty
> >> > putty|PuTTY terminal emulator,
> >> >         am, bce, bw, ccc, hs, mir, msgr, xenl, xon,
> >> >         colors#8, it#8, ncv#22, pairs#64,
> >> >         acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
> >> >         bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
> >> >         clear=\E[H\E[J, cnorm=\E[?25h, cr=^M,
> >> >         csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
> >> >         cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C,
> >> >         cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
> >> >         dch=\E[%p1%dP, dch1=\E[P,
> >> >         
> >> > address@hidden@address@hidden@address@hidden@address@hidden@%e%p1%c%;,
> >> >         dl=\E[%p1%dM, dl1=\E[M, dsl=\E]0;\007, ech=\E[%p1%dX,
> >> >         ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
> >> >         flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, hpa=\E[%i%p1%dG,
> >> >         ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J,
> >> >         indn=\E[%p1%dS,
> >> >         
> >> > initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
> >> >         is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
> >> >         kb2=\E[G, kbs=\177, kcan=^C, kcbt=\E[Z, kcub1=\E[D,
> >> >         kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
> >> >         kend=\E[4~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
> >> >         kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
> >> >         kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
> >> >         kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~,
> >> >         kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
> >> >         khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
> >> >         kspd=^Z, nel=^M^J, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m,
> >> >         ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l,
> >> >         rmcup=\E[2J\E[?47l, rmir=\E[4l, rmpch=\E[10m,
> >> >         rmso=\E[27m, rmul=\E[24m,
> >> >         rs2=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l,
> >> >         s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, sc=\E7,
> >> >         setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
> >> >         
> >> > sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
> >> >         sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h,
> >> >         smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
> >> >         tbc=\E[3g, tsl=\E]0;, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c,
> >> >         u9=\E[c, vpa=\E[%i%p1%dd,
> >> > --snip--
> >> >
> >> > So it appears the entry for "putty" is in my terminal database.
> >> >
> >> > I'm not sure if NCURSES_NO_UTF8_ACS=1 is required when using "putty"
> >> > for TERM -- I tried it both ways (set / not set) and still get letters
> >> > instead of lines. In that Stack Overflow article, the user resolved
> >> > their problem by using tmux or screen, but I'd prefer to not do that.
> >> >
> >> > Any other ideas? I appreciate your time.
> >> >
> >> >
> >> > --Marc
> >> >
> >> > On Wed, Jun 22, 2016 at 7:40 PM, Thomas Dickey <address@hidden> wrote:
> >> >> On Wed, Jun 22, 2016 at 11:43:29AM -0400, Marc Smith wrote:
> >> >>> Hi,
> >> >>>
> >> >>> I have a CDK application and I am experiencing the classic
> >> >>> "Line-drawing characters come out as x's and q's" problem with PuTTY.
> >> >>> I believe I have configured my system correctly for UTF-8 and I am
> >> >>> only using ncurses/CDK with wide-character support (only libncursesw
> >> >>> and libcdkw).
> >> >>>
> >> >>> I only experience this problem with PuTTY when in UTF-8 mode...
> >> >>> switching to Latin1 makes the line characters appear correctly. The
> >> >>> TERM is 'xterm' when using PuTTY (default). The default "Use Unicode
> >> >>> line drawing points" option is set in PuTTY.
> >> >>
> >> >> It sounds like this scenario:
> >> >>
> >> >> http://stackoverflow.com/questions/37845244/acs-characters-not-working-in-putty-even-with-export-ncurses-no-utf8-acs-1/37847838#37847838
> >> >>
> >> >> --
> >> >> Thomas E. Dickey <address@hidden>
> >> >> http://invisible-island.net
> >> >> ftp://invisible-island.net
> >
> > --
> > Thomas E. Dickey <address@hidden>
> > http://invisible-island.net
> > ftp://invisible-island.net

-- 
Thomas E. Dickey <address@hidden>
http://invisible-island.net
ftp://invisible-island.net

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]