Author davidsarah
Recipients BreamoreBoy, David.Sankel, amaury.forgeotdarc, brian.curtin, christian.heimes, christoph, davidsarah, ezio.melotti, haypo, lemburg, mark, pitrou, sorin, tim.golden, tzot, v+python
Date 2011-01-09.05:32:00
SpamBayes Score 8.99461e-11
Marked as misclassified No
Message-id <1294551124.96.0.713012981792.issue1602@psf.upfronthosting.co.za>
In-reply-to
Content
It is certainly possible to write Unicode to the console successfully using WriteConsoleW. This works regardless of the console code page, including 65001. The code <a href="http://tahoe-lafs.org/trac/tahoe-lafs/browser/src/allmydata/windows/fixups.py">here</a> does so (it's for Python 2.x, but you'd be calling WriteConsoleW from C anyway).

WriteConsoleW has one bug that I know of, which is that it <a href="http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1232">fails when writing more than 26608 characters at once</a>. That's easy to work around by limiting the amount of data passed in a single call.

Fonts are not Python's problem, but encoding is. It doesn't make sense to fail to output the right characters just because some users might not have selected fonts that can display those characters. This bug should be reopened.

(For completeness, it is possible to display Unicode on the console using fonts other than Lucida Console and Consolas, but it <a href="http://stackoverflow.com/questions/878972/windows-cmd-encoding-change-causes-python-crash/3259271#3259271">requires a registry hack</a>.)
History
Date User Action Args
2011-01-09 05:32:05davidsarahsetrecipients: + davidsarah, lemburg, tzot, amaury.forgeotdarc, pitrou, haypo, christian.heimes, tim.golden, mark, christoph, ezio.melotti, v+python, sorin, brian.curtin, BreamoreBoy, David.Sankel
2011-01-09 05:32:04davidsarahsetmessageid: <1294551124.96.0.713012981792.issue1602@psf.upfronthosting.co.za>
2011-01-09 05:32:00davidsarahlinkissue1602 messages
2011-01-09 05:32:00davidsarahcreate