BIOSの画面をキャプチャ?

IT

BIOSの画面をエディタで作ってみた。正確にはIntelのビデオカードのフォントとはちょっと違うけれど、それっぽいのでまあよしとしよう。

さて、どうやって作ったんだろうという話になるわけだが、せっかくなので経緯を書こう。

最初に思いついたのは、TerminalやFixedSysというWindowsのフォントで書けないかということ。ところが、これらはそれっぽく見えない。何でそれっぽくないかというと、BIOSやRAIDカードの設定画面で使われている文字はビデオカード(今回の場合はDG45FCに内蔵されたIntel GMA X4500HD)が持っている8 x 16ピクセルのフォント。それを80文字30行表示するので640 x 480ピクセルがVGAのサイズと。
じゃあ、BIOSのアップデータからフォントだけ抜き出せないかなとか思ったが、hexdumpしてもどれがフォントなのやらさっぱり。

次に考えたのはBIOSをエミュレーションしているソフトから抜き出せないかということ。手元のVMware Fusionで探してみたけれど、分からず。じゃあ、QEMUはどうだろうと思ったら、例えばvgafont.hにグリフが配列として定義されている。コメント行をパースすれば簡単にsvgに出来るじゃないかと思ってphpでちょっとしたスクリプトを書いてsvgにしてみたら、ちゃんと形になるじゃん!

あとはこれをsvgからttfとかのフォントに変換すれば使えるね、ナイス俺とか思って寝ようとしたところで、あれ、ヘッダファイルの名前はvgafont.hだなとふと気づく。そんな名前のフォントがあるんじゃ…と思って探したらビンゴ。Unicode VGA fontなるものがちゃんとある。あとはFontForgeで変換すれば使えるね、と。

Macで使えるVGAフォントも置いておきます。
The UNI-VGA font can be distributed and modified freely, according to the X license.

このフォントを使って、Jeditで作ったのが上の画像ファイル。