【发布时间】:2011-04-27 15:59:56
【问题描述】:
我找不到控制台应用程序默认使用的字体?是否保证每个人都有该字体(运行此 .NET 应用程序时)?想要显示一些 unicode 字符并且需要确保它们存在于该字体中。 谢谢
【问题讨论】:
-
AFAIK 你不能改变/知道控制台的字体。它的编码由操作系统决定。
我找不到控制台应用程序默认使用的字体?是否保证每个人都有该字体(运行此 .NET 应用程序时)?想要显示一些 unicode 字符并且需要确保它们存在于该字体中。 谢谢
【问题讨论】:
您可以通过从该键读取注册表值“0”来判断正在使用的字体:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
【讨论】:
932:*MS ゴシック、*MS Gothic。这意味着当系统代码页为 932(Windows shift-JIS 仿制)时,就像在日文系统上一样,字体将是 MS Gothic,而不是0 中列出的字体。当您使用chcp 更改代码页时,您甚至可以看到它切换字体。
System.Console。
如果您想使用 Unicode 字符,我强烈建议您避免使用控制台。尝试让控制台正确显示 Unicode 存在许多问题。
控制台输出不直接支持Unicode。最好的选择通常是set the console's code page,这需要 P/Invoke。
话虽如此,GUI 以更好的方式解决了所有这些问题。如果您需要 Unicode 输出,我建议您使用简单的 GUI。
【讨论】: