12

Mochaを実行すると、テスト実行の成功または失敗にそれぞれチェック マークまたは X が表示されます。Mocha の出力の見栄えの良いスクリーンショットを見てきました。ただし、これらのスクリーンショットはすべて Mac または Linux で撮影されたものです。Windows のコンソール ウィンドウでは、これらの文字は両方とも、何の変哲もない空のボックス文字として表示されます。グリフ:

Windows コンソールでの Mocha のスクリーンショット。予想されるチェック マークの代わりにボックス文字が表示されています。

コンソール ウィンドウでテキストを強調表示してクリップボードにコピーすると、実際の Unicode 文字が表示されます。ファンシー文字を Web ブラウザーのテキスト ボックスに貼り付けると、問題なく表示されます (✔、✖)。したがって、Unicode 出力はコンソール ウィンドウに問題なく表示されます。問題は、コンソール ウィンドウにこれらの文字が正しく表示されないことです。

Mocha のすべての出力 (✔ と ✖ を含む) が Windows コンソールに正しく表示されるようにするにはどうすればよいですか?

4

2 に答える 2

25

文字をLinqPadに貼り付けると、 「HEAVY CHECK MARK」 (U+2714)「HEAVY MULTIPLICATION X」 (U+2716)であることがわかりました。Windows 7 で使用できるコンソール フォント (Consolas、Lucida Console、または Raster Fonts) では、どちらの文字もサポートされていないようです。 (メイリオ、メイリオUI、MSゴシック、MS明朝、MS Pゴシック、MS PM明朝、MS UIゴシック、セゴウUIシンボル)。「MS」で始まるものはすべて固定幅 (等幅) フォントですが、コンソールの典型的なフォント サイズでは見栄えが悪くなります。コンソールには固定幅フォントが必要なため、他のものは使用できません。

そのため、フォントをダウンロードする必要があります。私はDejaVu Sans Monoが好きです。無料で、コンソール サイズで見栄えがよく、0からO1からIからを簡単に見分けることができl、Mocha が使用するチェックや X を含む、あらゆる種類の派手な Unicode 記号があります。

DejaVu Sans Mono フォントのサンプル

残念ながら、新しいコンソール フォントをインストールするのは少し面倒ですが、実行可能です。(ステップは、Scott Hanselman によるこの投稿から改作されましたが、明らかでない機微を含むように拡張されています000。)

手順:

  1. DejaVu フォントをダウンロードします。ファイルを解凍します。解凍したばかりの「ttf」ディレクトリに移動し、すべてのファイルを選択して右クリックし、「インストール」します。
  2. Regedit を実行し、 に進みますHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
  3. 新しい文字列値を追加します。すでに存在する最長のゼロの文字列よりも 1 つ長いゼロの文字列である名前を付けます。たとえば、私の Windows 7 インストールでは、 という名前の値と という名前の値が既に存在する0ため00、新しいものに という名前を付ける必要がありました000
  4. 新しい値をダブルクリックし、その値を に設定しますDejaVu Sans Mono
  5. リブート。(はい、少なくとも Windows 7 までの OS では、この手順が必要です。)
  6. これで、コンソール ウィンドウを開き、ウィンドウ メニューを開き、[デフォルト] > [フォント] タブに移動すると、[フォント] リスト ボックスで [DejaVu Sans Mono] が使用できるようになります。それを選択してOK。

これで、Mocha の出力が見事に表示されます。

Windows コンソールで正しく表示される Mocha 出力のスクリーンショット

于 2012-03-22T07:19:19.747 に答える
7

更新: この問題は修正されました。Mocha 1.7.0 以降、デフォルトのコンソール フォントに存在しない記号 (✔ の代わりに √、✖ の代わりに × など) にフォールバックが使用されます。見た目ほどきれいではありませんが、空のボックスのプレースホルダー シンボルよりも確実に優れています。

詳細については、関連するプル リクエストを参照してください: https://github.com/visionmedia/mocha/pull/641

于 2012-11-10T19:01:28.023 に答える