|
From: Erwin W. <wat...@xs...> - 2013-02-15 15:54:40
|
Op 15-2-2013 14:32, Eli Zaretskii schreef: >> Date: Fri, 15 Feb 2013 08:04:48 +0100 >> From: Erwin Waterlander <wat...@xs...> >> >> I don't understand why Microsoft didn't make the default OEM code page >> by default equal to the ANSI code page long time ago. A good moment in >> time was Vista, which was also available as 64 bit to the public. OEM >> code pages are for backwards compatibility with real DOS programs. How >> many people still run DOS command line programs on Windows? I think the >> majority of the command line programs are Windows programs by now. I >> think they should have switched the default code page in cmd.exe and >> PowerShell to ANSI and the few people who run DOS programs can switch to >> CP850 or whatever. >> >> What's the point of PowerShell to be backwards compatible with DOS >> programs wrt code page? >> And what really surprises me, is that even on 64 bit Windows the DOS OEM >> code pages are default, while it is not even possible to run a DOS >> program in cmd.exe on 64 bit (because NTVDM has been removed). > To be able to use ANSI codepages in the cmd window, the fonts > supported by that window must cover well the ANSI codepages. Since > those fonts currently don't cover ANSI codepages, I suspect that this > is at least one reason why console programs still default to OEM > codepages. Heck, even Lucinda Console supports only a very small > subset of the BMP, so even if you use WriteConsoleW, you cannot > display quite a few blocks from the BMP (let alone characters outside > of the BMP). I thought that for every Windows ANSI code page there is at least one mono spaced true type font that covers the ANSI code page. And it also covers the default OEM code page which is related to the same region. And usually it covers some more. Is this not true? I think it is normal that the true type font doesn't cover all ANSI code pages. > >> Microsoft's advice is to write Unicode programs, and to use the Windows >> API for that (try WriteConsoleW). A Windows Unicode command line program >> will produce consistent output, independent of the active code page. >> Then the only limitation is the font. > For some, the font limitation is a killer, see above. > -- Erwin Waterlander http://waterlan.home.xs4all.nl/ |