当我跑步时Mocha http://visionmedia.github.com/mocha/,它尝试分别显示复选标记或 X 来表示测试运行通过或失败。我看过 Mocha 输出的漂亮屏幕截图。但这些屏幕截图都是在 Mac 或 Linux 上拍摄的。在 Windows 的控制台窗口中,这些字符都显示为一个不起眼的空框字符,即经典的“嗯?”字形:
如果我在控制台窗口中突出显示文本并将其复制到剪贴板,我确实会看到实际的 Unicode 字符;我可以将花哨的字符粘贴到 Web 浏览器的文本框中,它们渲染得很好 (✔, ✖)。所以 Unicode 输出可以很好地到达控制台窗口;问题是控制台窗口无法正确显示这些字符。
如何解决此问题,以便 Mocha 的所有输出(包括 ✔ 和 ✖)都能在 Windows 控制台中正确显示?
通过将字符粘贴到LinqPad http://www.linqpad.net/,我能够弄清楚他们是“重勾号”(U+2714) http://www.fileformat.info/info/unicode/char/2714/index.htm and ‘重乘法 X’ (U+2716) http://www.fileformat.info/info/unicode/char/2716/index.htm。 Windows 7 中提供的任何控制台字体(Consolas、Lucida Console 或 Raster Fonts)似乎都不支持这两个字符。事实上,all在 Windows 7 附带的字体中,只有少数支持这些字符(Meiryo、Meiryo UI、MS Gothic、MS Mincho、MS PGothic、MS PMincho、MS UI Gothic 和 Segoe UI Symbol)。以“MS”开头的字体都是固定宽度(等宽)字体,但它们在控制台典型的字体大小下看起来都很糟糕。其他的都被淘汰了,因为控制台需要固定宽度的字体。
所以你需要下载一种字体。我喜欢DejaVu Sans Mono http://dejavu-fonts.org/wiki/Main_Page-- 它是免费的,在控制台尺寸上看起来不错,很容易分辨0
来自O
和1
来自I
来自l
,并且它有各种奇特的 Unicode 符号,包括 Mocha 使用的检查和 X。
不幸的是,安装新的控制台字体有点麻烦,但这是可行的。 (步骤改编自斯科特·汉塞尔曼的这篇文章 http://www.hanselman.com/blog/UsingConsolasAsTheWindowsConsoleFont.aspx,但扩展到包括非显而易见的微妙之处000
.)
Steps:
-
下载 DejaVu 字体。 http://dejavu-fonts.org/wiki/Download解压缩文件。进入刚刚解压的“ttf”目录,选择所有文件,右键单击“安装”。
- 运行 Regedit,然后转到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
.
- 添加新的字符串值。为其指定一个名称,该名称是一串零,比现有的最长的零串长一串。例如,在我的 Windows 7 安装中,已经有一个名为
0
和一个名叫00
,所以我不得不命名新的000
.
- 双击新值,并将其值设置为
DejaVu Sans Mono
.
- 重启。 (是的,此步骤是必要的,至少在 Windows 7 及之前的操作系统上是这样。)
- 现在您可以打开控制台窗口,打开窗口菜单,转到默认值>字体选项卡,并且“DejaVu Sans Mono”应该在字体列表框中可用。选择它并确定。
现在,Mocha 的输出将展现其全部荣耀。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)