我找不到默认情况下控制台应用使用哪种字体?是否保证每个人都拥有该字体(运行此.NET应用程序时)?想要显示一些unicode字符,并且需要确定它们在该字体中。 感谢C#控制台字体
C#控制台字体
回答
我强烈建议避免控制台,如果你想使用Unicode字符。尝试让控制台正确显示Unicode有许多问题。
控制台输出中不直接支持Unicode。最好的选择通常是set the console's code page,这将需要P/Invoke。
这就是说,GUI以更好的方式解决了所有这些问题。如果你需要Unicode输出,我会推荐一个简单的GUI。
您可以对此进行投票 - 但要等到实际尝试将unicode写入控制台时 - 这是令人难以置信的问题......即使您为控制台指定了TrueType字体,代码页实际上也会混淆unicode输出。 – 2010-10-19 19:07:44
@Dervin:OP正在尝试做一些不直接支持的事情。 – 2010-10-19 19:08:01
我不这么认为,因为在C#中每个字符串都是unicode字符的字符串。 – Loj 2010-10-19 19:08:40
你可以告诉正在使用的字体由该密钥读取注册表值“0”:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
这只是没有例外的语言环境的默认控制台字体。一些语言定义了其他值。例如,如果您安装了安装了东亚国际化文件的Windows,则会看到值为'932':'* MSゴック','* MS Gothic'。这意味着当系统代码页是932(Windows shift-JIS knock-off)时,与日文系统一样,字体将是MS哥特式,而不是'0'中列出的字体。当你用'chcp'改变代码页时,你甚至可以看到它切换字体。 – bobince 2010-10-20 01:34:57
谢谢!曾几何时,文本看起来很简单... – 2010-10-20 03:07:16
根据我的经验,这个注册表键似乎影响Windows控制台,但不影响.NET对象'System.Console'。 – H2ONaCl 2014-07-13 15:08:28
- 1. C#中的控制台和Windows窗体#
- 2. C#Windows窗体.Net和DOS控制台
- 3. 如何更改控制台字体?
- 4. 如何更改vimrc控制台字体
- 5. 在C++控制台应用程序中使用Unicode字体
- 6. 窗体和控制台
- 7. 控制台的Windows窗体
- 8. c#控制台后字符串writeline
- 9. C#控制一个控制台进程
- 10. 什么是C++中的WinXP控制台光标控制字符?
- 11. 如何将java控制台字体更改为斜体
- 12. C#UTF8控制台输出
- 13. C#控制台输出
- 14. 使用控制台writeline c#
- 15. C#控制台问题
- 16. c控制台程序
- 17. C#控制台case语句
- 18. C#装饰控制台类
- 19. C#控制台WriteLine System.FormatException:
- 20. C#:壳/控制台框架
- 21. C# - 控制台击键
- 22. PhantomJS控制台字符集
- 23. 将控制台应用程序中的字体更改为光栅字体
- 24. CSS3媒体查询 - Chrome控制台
- 25. 连接一个窗体与控制台
- 26. Symfony实体控制台错误生成
- 27. .NET:Windows窗体+控制台/合闸闭锁
- 28. Process.WaitForExit()在控制台VS Windows窗体
- 29. C从控制台读取限制字符输入。怎么做?
- 30. 如何限制控制台输入的字符数? C#
AFAIK您无法更改/了解控制台的字体。它的编码由操作系统决定。 – 2010-10-19 19:00:11