From: Brian Inglis <Brian.Inglis@SystematicSw.ab.ca>
To: cygwin@cygwin.com
Subject: Re: [ANNOUNCEMENT] Updated: Cygwin 2.6.1-1
Date: Wed, 11 Jan 2017 06:51:00 -0000 [thread overview]
Message-ID: <9b07d29e-1978-e726-90af-1822c11de9a4@SystematicSw.ab.ca> (raw)
In-Reply-To: <58757597.8440ca0a.2df89.9dc4@mx.google.com>
On 2017-01-10 17:00, Steven Penny wrote:
> On Tue, 10 Jan 2017 13:08:30, Brian Inglis wrote:
>> Alt-numpad-decimal e.g. Alt234 depends on the console codepage
>> selected.
>
> I tested this on Windows 7 in a pristine virtual machine, and cmd.exe
> passes just fine, even with code page 437 and crappy raster font.
> Meanwhile bash.exe fails.
>
>> Mintty selection of Options/Text/Locale and Character set UTF-8 or
>> cmd chcp 65001 selects Unicode.
>
> No one said anything about Mintty. This is about bash.exe, launched
> by itself or via Cygwin.bat
Both of which run under the cmd console - press Alt-space, select
Properties, and on the Options tab it will show the Current code page,
probably 437 in the US and 850 elsewhere in the English speaking world
(and much of the Commonwealth with no local Language Packs), otherwise
YMMV.
You can look up which characters are displayed using Alt-numpad-digits
at https://en.wikipedia.org/wiki/Code_page_437 or in the selected code
page using Alt-numpad-0-digits at Code_page_nnn or Windows_nnnn.
On top of that is added the Windows locale mapping to Cygwin locale and
character set, plus readline settings used by bash in ~/.inputrc, which
may change input interpretation.
Type locale to see what locale Cygwin thinks you are running.
Documentation available is at:
https://cygwin.com/cygwin-ug-net/setup-locale.html
which documents the default as C.UTF-8 (ASCII) unless LC_ALL, LC_CTYPE,
or LANG env vars are set to change the locale and/or char set.
It does not really describe the impact or limits on effective input or
output i.e. with the default are you limited to using ASCII characters,
or only on input, or only affects tests, comparisons, and collating
sequences, or free to use any UTF-8 characters?
It implies that the Cygwin char set will default to the equivalent of
the Windows code page selected, and changing the char set in the
locale env vars will change the char set/code page used.
You may have to chcp n in Cygwin.bat to get correct character output,
either 437 for US, 850 for English, 65001 for UTF-8, others from
above reference for other locales and char sets.
>> Alt-numpad-+-hex (on regular keys) allows hex unicode input e.g.
>> Alt+3a9 if the font supports the character.
>
> No one said anything about hex input.
It is an alternative input method for Unicode characters which does
not seem to be supported with bash under cmd configured with default
code pages, but is in mintty and elsewhere in Windows, which avoids
having to pop up CharMap and search when you know the Unicode code
point wanted.
>> Free text fonts which support Unicode character emojis are updated
>> regularly.
>> Look for Cygwin packages matching ...font... containing Truetype or
>> Opentype fonts, and just copy them to Windows/Fonts e.g.
>
> A font does not need to be installed. Raster, Consolas and Lucida all
> work already through cmd.exe.
Most Windows monospace fonts do not support most new Unicode characters,
but fallback fonts can be configured in the registry to provide missing
glyphs, given available fonts which support the glyphs, and code page
65001/char set UTF-8 which supports the Unicode character set.
> I do appreciate your response, but all you have done here is thrown a
> bunch of guesses at the wall hoping something would stick. It would
> be a better use of everyones time if you actually tested your
> suggestions before posting them.
Mea culpa, having configured everything I can in Windows, Cygwin, and
apps to support Unicode/UTF-8 character sets, with appropriate fonts
and fallbacks, I forget the limitations and problems with OEM code
pages which caused me to make that effort, indeed that people, apps,
or systems still use those code pages implicitly.
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
next prev parent reply other threads:[~2017-01-11 6:51 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-10 0:39 Steven Penny
2017-01-10 20:08 ` Brian Inglis
2017-01-11 0:00 ` Steven Penny
2017-01-11 6:51 ` Brian Inglis [this message]
2017-01-11 12:52 ` Steven Penny
2017-01-11 17:54 ` Brian Inglis
2017-01-11 19:37 ` Steven Penny
2017-01-11 20:41 ` Eliot Moss
2017-01-11 23:19 ` Steven Penny
2017-01-11 23:22 ` Eliot Moss
2017-01-11 23:29 ` Steven Penny
2017-01-11 21:41 ` Brian Inglis
2017-01-11 23:27 ` Steven Penny
2017-01-11 1:35 ` Michael Enright
2017-01-12 14:23 ` John Hein
2017-01-12 18:48 ` David Macek
-- strict thread matches above, loose matches on Subject: below --
2016-12-18 8:43 Corinna Vinschen
2016-12-21 19:10 ` David Stacey
2016-12-21 20:38 ` Corinna Vinschen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9b07d29e-1978-e726-90af-1822c11de9a4@SystematicSw.ab.ca \
--to=brian.inglis@systematicsw.ab.ca \
--cc=cygwin@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).