【问题标题】:How can I get Mocha's Unicode output to display properly in a Windows console?如何让 Mocha 的 Unicode 输出在 Windows 控制台中正确显示?
【发布时间】:2023-03-15 03:35:01
【问题描述】:

当我运行Mocha 时,它会尝试分别显示一个复选标记或一个 X 表示通过或失败的测试运行。我已经看到了 Mocha 输出的漂亮屏幕截图。但这些截图都是在 Mac 或 Linux 上拍摄的。在 Windows 的控制台窗口中,这些字符都显示为一个不起眼的空框字符,即经典的“嗯?”字形:

如果我在控制台窗口中突出显示文本并将其复制到剪贴板,我会看到实际的 Unicode 字符;我可以将花哨的字符粘贴到 Web 浏览器的文本框中,它们呈现得很好(✔,✖)。所以 Unicode 输出可以很好地进入控制台窗口;问题是控制台窗口没有正确显示这些字符。

如何解决此问题,以便 Mocha 的所有输出(包括 ✔ 和 ✖)在 Windows 控制台中正确显示?

【问题讨论】:

    标签: powershell unicode mocha.js windows-console


    【解决方案1】:

    更新:此问题现已修复。从 Mocha 1.7.0 开始,后备用于默认控制台字体中不存在的符号(√ 代替 ✔,× 代替 ✖ 等)。它没有想象中的那么漂亮,但它肯定胜过空框占位符符号。

    详情见相关拉取请求:https://github.com/visionmedia/mocha/pull/641

    【讨论】:

    • 这实际上是一个比我更好、更主动的答案——它使它在任何地方都能正常工作。感谢您实现了这一目标!
    • No probs mate :) 现在让我们在 Windows 中使用 Mocha 摇滚吧!
    【解决方案2】:

    通过将字符粘贴到LinqPad 中,我能够确定它们是'HEAVY CHECK MARK' (U+2714)'HEAVY MULTIPLICATION X' (U+2716)。 Windows 7 中可用的任何控制台字体(Consolas、Lucida Console 或 Raster Fonts)似乎都不支持这两个字符。事实上,在 Windows 7 附带的所有字体中所有 ,只有少数支持这些字符(Meiryo、Meiryo UI、MS Gothic、MS Mincho、MS PGothic、MS PMincho、MS UI Gothic 和 Segoe UI Symbol)。以“MS”开头的都是固定宽度(等宽)字体,但它们在控制台的典型字体大小上看起来都很糟糕。其他的都出来了,因为控制台需要固定宽度的字体。

    所以你需要下载一个字体。我喜欢DejaVu Sans Mono——它是免费的,它在控制台尺寸上看起来不错,很容易区分0O1Il,它拥有一切各种花哨的 Unicode 符号,包括 Mocha 使用的检查和 X。

    不幸的是,安装新的控制台字体有点痛苦,但它是可行的。 (步骤改编自this post by Scott Hanselman,但扩展到包括000 的非显而易见的细微之处。)

    步骤:

    1. Download the DejaVu fonts. 解压文件。进入刚刚解压的“ttf”目录,选择所有文件,右键“安装”。
    2. 运行 Regedit,然后转到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
    3. 添加一个新的字符串值。给它一个名称,该名称是一串零,比已经存在的最长零串长一个。例如,在我的 Windows 7 安装中,已经有一个名为 0 的值和一个名为 00 的值,所以我必须将新的值命名为 000
    4. 双击您的新值,并将其值设置为DejaVu Sans Mono
    5. 重新启动。 (是的,这一步是必要的,至少在 Windows 7 之前的操作系统上是这样。)
    6. 现在您可以打开控制台窗口,打开窗口菜单,转到默认值 > 字体选项卡,“DejaVu Sans Mono”应该在字体列表框中可用。选择它并确定。

    现在 Mocha 的输出将尽显其魅力。

    【讨论】:

    • 在 Windows 7 上我不需要重新启动
    • Windows 10 也不需要重启
    猜你喜欢
    • 1970-01-01
    • 2018-04-08
    • 2013-04-10
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 2022-07-06
    • 2011-03-09
    • 1970-01-01
    相关资源
    最近更新 更多