コマンドプロンプトで使用するフォント(PC版ページへ)

2007年03月12日04:18  パソコン>フォント・スキン

digitalbox(デジタルボックス)』(ハコさん)の「meiryoKeGothic のインストール・その後」という記事で、「"Associated DefaultFonts" の "AssocSystemFont" を "meiryoKeGothic.ttc" に、"FontPackage" を "MeiryoKe_Gothic" に変更してみたのですが、…」「FixedSys と Terminal がどうしてもジャギったまんまになってしまいます」というご指摘がありました。つまり、英数・記号(いわゆる ASCII文字)はビットマップのままで、日本語(全角文字)部分は ClearType の効いていないやせ細ったギザギザの状態で表示されてしまうということです。

私もこれは確認済みで、コマンドプロンプト(Console)や端末エミュレーション(Terminal)は VGA が前提で、フォントはサイズ固定(12pxまたは14px)のビットマップ(.fon)だから日本語部分にいくら ttf を指定しても無意味なんだろうとあきらめていました。しかし、Terminal の方はまったく疎いので私にはどうにも扱いようがないと思ったものの、コマンドプロンプトについてはときどきはお世話になっているのでちょっと調べてみたところ、WindowsXP では VGA ではなく SVGA で実行されているということでした。それなら ttf の ClearType が効いてもよさそうなものだと思って、コマンドプロンプトやファイラーの Shell から開く DOS窓のプロパティを開いてみたところ、どちらにも「フォント」タブがあって、私の場合そこでの指定が「ラスタ フォント」(ビットマップフォント)になっていたのですが、そこでは "MeiryoKe_Console" と "MS ゴシック" も選択できるようになっていました(サイズも選択できる)。下の左側がコマンドプロンプト、右が Shell から開いた DOS窓のプロパティです。――画像をクリックすると別窓で原寸表示します。

 

[Associated DefaultFonts] では "MeiryoKe_Console" 以外にも "MeiryoKe_Gothic" や他の ttfフォントをいくつか指定したはずなのになぜ "MeiryoKe_Console" だけが…、という疑問は残ります。なぜなら現在私は "MS Gothic" を指定しているからです。試しに他のフォントをいくつか指定してみたのですが選択肢はやはり "MeiryoKe_Console" と "MS ゴシック" だけです。

その謎解きはまたの機会にということで、 "MeiryoKe_Console" と "MS ゴシック" を選択した場合の違いを下に示します。なお、私は "MeiryoKe_Gothic" を "MS ゴシック" と偽っていますので、"MS ゴシック" を選択すると "MeiryoKe_Gothic" で表示されます。左が "MeiryoKe_Console"、右が "MS ゴシック"(実体は "MeiryoKe_Gothic")です。ディセンダ/アセンダの違いが行間隔の差となって表れているようです。また、 ASCII文字の部分の違いも分かります。

 

〔2007.03.12追記

どうやらとんでもない大ボケを演じてしまったようです。「謎解き」はハコさんが「コマンドプロンプトで使用するフォントの追加」ですでになさっていたのですね。しかも私はその部分を読んで、書いてある通りにレジストリの追加をしておきながら、その内容をきちんと理解しないままに「コマンドプロンプトや端末エミュレーション(Terminal)は VGA が前提で、フォントはサイズ固定(12pxまたは14px)のビットマップ(.fon)だから日本語部分にいくら ttf を指定しても無意味なんだ」という思い込みに災いされて「コマンドプロンプトのプロパティから追加された MeiryoKe_Console を選択すればOK」の部分を読み落としていたことに気がつかなかったのです。

というわけで、コマンドプロンプトの「フォントタブ」で "MeiryoKe_Console" が選択可能になっていたのは、ハコさんの記事の追記部分に従って下のようにレジストリの [TrueTypeFont] エントリーに値を追加していたためでした。すっかり忘れておりました。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]

"932."="MeiryoKe_Console" ←この値を追加

〔注記〕 レジストリの書き換えには regedit.exe (Registry Editor=c:\Windows\regedit.exe) を使います。直接起動して実行するか、あるいは「ファイル名を指定して実行」で "regedit" と入力します。

とんだ醜態で、面目ありません。まあそのおかげで、WindowsXP ではコマンドプロンプトは VGA ではなく SVGA で実行されているということが調べて分かったのだから、それでよしということにして自分を慰めることにします。

〔2007.03.15追記

"932.."="MeiryoKe_Gothic"」,「"932..."="TBゴシックR"」,… という風に値を追加することによってコマンドプロンプトで使うフォントを追加することができました(下図)。いずれも等幅フォントですが、たとえ等幅フォントであっても使えないものもあるようです。どんな条件が必要なのかは分かりません。

追記〕  regedit.exe を使わずに登録/削除する方法  
.reg という拡張子をもったテキストファイルに追加登録する項目や削除する項目を記述して保存し、これをダブルクリックすることによってレジストリファイルに変更を加えることができます。

例えばコマンドプロンプトの中で MeiryoKe_Console と MeiryoKe_Gothic を使いたい場合はつぎのような内容の regファイルを作ります。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]
"932."="MeiryoKe_Console"
"932.."="MeiryoKe_Gothic"

上の内容をコピーし、メモ帳に貼り付けてから適当な名前(ConsoleTTF_add.reg 等)で保存します。保存したこのファイルをダブルクリックすれば、コマンドプロンプトの中で MeiryoKe_Console と MeiryoKe_Gothic が使えるようになります。

また、追加された上の項目を削除する場合にはつぎのような内容の regファイルを作ります。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]
"932."=-
"932.."=-

上の内容をコピーし、メモ帳に貼り付けてから適当な名前(ConsoleTTF_del.reg 等)で保存します。保存したこのファイルをダブルクリックすれば、追加登録した部分がレジストリファイルの中から削除されます(追加された項目がなければ無視されるだけです)。

(関連記事)

(関連サイト)

(参照リンクを戴いた記事)

XPを90%メイリオ化(Seasonsさん)

トラックバックURL

http://okrchicagob.blog4.fc2.com/tb.php/132-80c19471

前の記事 次の記事



アクセスランキング ブログパーツ