コマンドラインで動作するプログラムを書く場合、文字に色を付けると目立つので見栄えが良い。 文字に色をつける方法として、Unixの世界ではANSIエスケープシーケンスを使うのが一般的である。しかし、Windowsの世界ではANSIエスケープシーケンスは長らく二級市民だった。 この記事では、2018年現在の、WindowsでANSIエスケープシーケンスを使うための方法をまとめてみる。 Unixの場合 一応、Unixの場合をおさらいしておく。 Unixで使われるターミナルエミュレーターは、まず間違いなくANSIエスケープシーケンスに対応している。 ただし、ANSIエスケープシーケンスを使った色付けが有効なのは、ターミナルが相手の場合である。標準出力をリダイレクトしたり、パイプで流したりする場合は色付けをしないようにしたい。そこで、「標準出力がターミナルに繋がっているか」を検出する必要がある。 標