PowerShell で綺麗な日本語フォント + カラーテーマを手に入れる

![Imgur](http://i.imgur.com/9JE9IhC.png)

最終的にこんな感じになります！ 画像は bash on Ubuntu on Windows で Vim を開いているところです。

## **目標**

Windows 10 でデフォルトの端末が PowerShell になり、コマンドプロンプトに比べたらイケているのですが...。本記事では綺麗な日本語を表示できるフォントと Solarized のようなカラーテーマを導入する方法を紹介します。


**注意: VSCode ユーザーの方は直接レジストリエディタからレジストリを編集することが必要になる場合があります。最後の注意書きを参照してください。**

## **フォントのダウンロードとインストール**

PowerShell では TrueType フォントしか使用できないので、TrueType 形式で配布されている日本語フォントを選択する必要があります。本記事では[源真ゴシック](http://jikasei.me/font/genshin/)を使います。[源真ゴシック](http://jikasei.me/font/genshin/)は Adobe の源ノ角ゴシックを元にして作られているのでクオリティも信頼できます。


[こちらのフォント配布ページ](http://jikasei.me/font/genshin/)にアクセスして、ページ下部からフォントをダウンロードし、ダウンロードした `.ttf` ファイルをインストールします。ファイル名に「Monospace」とついているのが等幅フォントです。


フォントの準備はこれで完了です。


## **カラーテーマを導入する**

> **※追記 : 2017.10.18**

> マイクロソフトより公式のカラーテーマを変更できるツールが公開されました。
> 詳しくは以下のリンクをご覧ください。こちらの方が簡単です！

> * [Introducing the Windows Console Colortool](https://blogs.msdn.microsoft.com/commandline/2017/08/11/introducing-the-windows-console-colortool/)
> * [Microsoft/console - GitHub](https://github.com/Microsoft/console)


PowerShell の [プロパティ] > [画面の色] から手入力することもできますが、カラーテーマを一発で設定できるプログラムがないか探したところ GitHub に [concfg](https://github.com/lukesampson/concfg) というものがありました。


[concfg](https://github.com/lukesampson/concfg) は [Scoop](https://github.com/lukesampson/scoop) という Windows 向けのコマンドラインインストーラ(Mac でいう Homebrew)を使ってインストールするので、まず先に [Scoop](https://github.com/lukesampson/scoop) をインストールして、それから [concfg](https://github.com/lukesampson/concfg) をインストールします。


```ps1
# PowerShell の実行ポリシーを変更します
PS > set-executionpolicy remotesigned -s cu
# Scooop をインストールします
PS > iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
# concfg をインストールします
PS > scoop install concfg
```

[concfg](https://github.com/lukesampson/concfg) のインストールができたらいよいよカラーテーマを導入します。ここでは例として Solarized Light テーマを導入します。他にも使用できるテーマがたくさんあるので、詳しくは[concfg の GitHub ページ](https://github.com/lukesampson/concfg)を参照してください。

```ps1
# Solarized Light テーマを導入する
PS > concfg import solarized-light
console settings were imported from solarized-light

overrides in the registry and shortcut files might interfere with your concfg settings.
would you like to find and remove them? (Y/n): Y
removing HKEY_CURRENT_USER\console\%SystemRoot%_system32_WindowsPowerShell_v1.0_PowerShell.exe
overrides removed
would you like to open a new console to see the changes? (Y/n): n # ここで変更を適用した新しいコンソールを開くか聞かれますが、とりあえず `n` にします
PS >
```

ここまで来たらいったん `exit` で PowerShell を閉じてもう一度 PowerShell を起動します。すると Solarized Light テーマが適用された PowerShell が起動するはずです。

![Imgur](http://i.imgur.com/y2eWe0o.png)

PowerShell の [プロパティ] を開いて設定を変更していきます。


ます [オプション] タブの「従来のコンソールを使う(再起動が必要)」のチェックはオフにしてください。

![Imgur](http://i.imgur.com/7wYqrd5.png)

続いて [フォント] タブを選択すると「ポイント サイズには 5 から 72 を指定してください。」と警告が出ますが [OK] を何度か押して無視してください。そしてサイズにお好みのフォントサイズ(私の場合は20)を指定して、フォントには「源真ゴシック」から始まるフォントを指定してください。

![Imgur](http://i.imgur.com/iyRrxZR.png)

最後に [OK] をクリックして設定を完了します。するとそこには美しくなった PowerShell が...

![Imgur](http://i.imgur.com/I80OjAT.png)

[こちらのQiita記事](http://qiita.com/hidai@github/items/1704bf2926ab8b157a4f)で紹介されているスクリプトで各色を表示させてみました。とても綺麗です。

![Imgur](http://i.imgur.com/qlFiYiH.png)

日本語もとても読みやすいです。

![Imgur](http://i.imgur.com/uqyyvZm.png)


以上、導入方法でした。


## **VSCode ユーザーの方へ**


しばらくこの環境で何も問題がないように見えたのですが、VSCode の統合ターミナルで bash on Ubuntu on Windows を使用すると以下のように表示が崩れることに気づきました。

![Imgur](http://i.imgur.com/1ceQkrq.png)

原因はよく分からないのですが、一応の解決策を発見したので紹介しておきます。

> レジストリエディターを起動して [コンピューター] > [HKEY_CURRENT_USER] > [Console] の [ScreenColors] を削除します。

![Imgur](http://i.imgur.com/zf7mvNV.png)


これでバッチリです。

![Imgur](http://i.imgur.com/wIakqJS.png)