www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/12/08/15:37:59

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Message-ID: <a85b1d560812081237m6df846e9o372f04d69b729ff9@mail.gmail.com>
Date: Tue, 9 Dec 2008 02:07:01 +0530
From: "Ziphyre Marco" <ziphyre AT gmail DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Problems with remote programs using ncurses (aptitude)
In-Reply-To: <493D2F99.BB32FC4E@dessent.net>
MIME-Version: 1.0
References: <a85b1d560812072356k21125d83i9b47d07c371bae2a AT mail DOT gmail DOT com> <493D2F99 DOT BB32FC4E AT dessent DOT net>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id mB8Kbv1n022479

Brian,

Thank you very much for your detailed explaination.
I'm using default cygwin terminal.

I tried adding "codepage:oem" to CYGWIN env var but it didn't solve the problem.
I tried downloading poderosa (and running cygwin with or without utf8)
but again same type of problems.
Unfortunatly "TERM=linux-lat aptitude" command gave me the "error
opening terminal:linux-lat" error

In fact, I've noticed that there is no problem with horizontal and
vertical lines, but with other characteres. I thing these are padding
chars.. I don't have a proper linux terminal in front of me right now
so can't tell exactly what are these.

Anyway, it doesn't kill me to have these buggy characters with
aptitude. I thought these might be a common problem but apparently
there is no silver bullet for it.

Thanks again...

On Mon, Dec 8, 2008 at 8:00 PM, Brian Dessent <brian AT dessent DOT net> wrote:
> SO wrote:
>
>> I have problems opening remote programs using ncurses library.
>> Aptitude for example. Menus and other interface components are just
>> garbage on my term on windows vista. Is there a solution for that?
>
> The answer will depend on what terminal you're using.  But first a
> summary of the problem: The application wants to draw nice looking boxes
> or lines.  So it checks the value of the TERM environment variable and
> then asks its local terminfo database what the appropriate characters
> are for that terminal, and prints them.  Simple, so far.
>
> The problem is that Cygwin terminals are all codepage-based, not
> Unicode.  (There is a rxvt-unicode package, but does not actually
> support Unicode yet.)  A codepage-based program is restricted to only
> being able to output characters in that codepage, which is pretty much
> the whole reason in a nutshell why Unicode was invented and is so
> superior.
>
> But anyway the default Windows codepage for most systems does *not*
> include the line drawing characters.  For example, most western locales
> use Windows-1252:
> <http://www.microsoft.com/globaldev/reference/sbcs/1252.mspx>.  Compare
> this to codepage 437, which is sometimes called the "OEM" codepage
> because it corresponds to the one originally used on the original IBM
> PC: <http://www.microsoft.com/globaldev/reference/oem/437.mspx>.  Hey
> look, line drawing characters!  If you look in slot C4 for example
> you'll a horizontal line, and then look in the same slot in CP-1252 and
> you'll see LATIN CAPITAL LETTER A WITH DIAERESIS, which explains why you
> see Ä where you should see a horizontal line, because the terminfo entry
> was written with CP437 in mind.
>
> So one solution is to switch to that codepage.  If and only if you are
> using the Cygwin terminal, then you can do this by adding "codepage:oem"
> to your CYGWIN environment variable, and everything should work.  Except
> of course if you need to actually view any text with those Latin
> accented characters.
>
> If you are using something other than the built-in Cygwin terminal, then
> you need a different solution.  If you are using rxvt in non-X11 mode,
> you can try using the built-in Windows font 'Terminal':
>
> rxvt -fn Terminal -tn rxvt-cygwin-native -e /bin/bash -li
>
> Another alternative (again, for non-X rxvt) is to use a font that is
> hacked up to pretend to be CP1252 except it's got the line drawing
> glyphs subsituted in those slots.  Google the list archives for
> "luconP.zip" which is a verion of Lucida Console appropriately
> modified.  After installing this font you should invoke rxvt with
> something like:
>
> rxvt -fn "Lucida ConsoleP-14" -tn rxvt-cygwin-native -e /bin/bash -li
>
> You can modify the -14 to select the desired font size.  And again this
> assumes you are using non-X rxvt -- if you're using it in X11 mode you
> could do something similar (find and specify a font with line drawing
> characters) except you would want the terminal name set to rxvt-cygwin
> without "-native".
>
> Another solution would be to use a unicode terminal, with the
> appropriate setting of TERM.  This means using a non-Cygwin application
> which unfortunately usually means pain because they don't play well with
> Cygwin's pty emulation, but I'm fairly sure there are some out there
> that work (poderosa?) or have been specially modified to work
> (cygputty).
>
> Another solution is to instead of changing terminals, just select a
> different value of TERM, i.e. *tell* the remote end you're using a
> different terminal.  The goal here is to select something that is close
> enough to your terminal that it shares a common set of control codes,
> but doesn't try to use the line drawing chars.  This can be hit and
> miss, as you're really lying by saying you're using a different terminal
> than the one you really are, but it can be a quick solution.  For
> example you might try:
>
> $ TERM=linux-lat aptitude
>
> (This linux-lat terminfo entry is described as "linux with latin1 or
> latin2 alternate character set" and it conveniently has all the line
> drawing stuff disabled so you'll just see blanks instead.)
>
> And one more possible workaround: take the terminfo entry for your
> terminal and modify it to use boring Latin ASCII characters (e.g. + | -
> etc) for line drawing.  This is better than the last alternative as you
> can rest assured that all the other capabilities should work correctly
> as you're just copying the existing one and modifying it.  Here is an
> example that does this with the rxvt-cygwin-native terminfo entry:
>
> $ infocmp -1 rxvt-cygwin-native | \
>  perl -pe 's@(rxvt-cygwin-native)@$1-latin@;' \
>  -e 's AT acsc=.*$@acsc=!g#w*q+x\\,<-s.v<m>{\\\\`_0a\\:f\\\\h#}f~p|,@;' \
>  >/tmp/term.tmp && \
>  tic -o ~/.terminfo /tmp/term.tmp && \
>  rm /tmp/term.tmp
>
> This creates a new terminal called rxvt-cygwin-native-latin, compiles
> it, and installs it under your home directory in $HOME/.terminfo.  This
> is useful because terminfo applications look there first before the
> system location /usr/share/terminfo.  You can now use this by changing
> your rxvt startup shortcut to specify "-tn rxvt-cygwin-native-latin" or
> as above just for one command as:
>
> $ TERM=rxvt-cygwin-native-latin aptitude
>
> Note, the terminfo database has to be local to the machine that runs the
> command, not the machine that runs the terminal.  Since you are running
> aptitude on a remote system you'll need to transfer your new terminfo
> entry there for this to work, but that's pretty simple:
>
> $ (cd ~ && tar c .terminfo) | ssh hostname tar xv
>
> Brian
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Problem reports:       http://cygwin.com/problems.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>
>

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019