[ANNOUNCEMENT] Updated: Cygwin 2.6.1-1

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Wed Jan 11 06:51:00 GMT 2017

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 

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: 
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

More information about the Cygwin mailing list