FrontPage  Index  Search  Changes  RSS  wikifarm  Login

int10h,AX=1800h

カテゴリ

DISP

機能

フォントドライバからフォントデータを読み取ります。

設定

レジスタ内容
AX1800h
BH0
BLフォントの文字セット選択
(有効な値は 0 のみ)
CX読み取る文字コード
DHドット単位の文字幅
DLドット単位の文字高
ES:SIフォントデータを格納するアドレス

戻り値

レジスタ内容
ALフォントサブシステム終了コード
0...正常終了、それ以外はエラー

説明

本 BIOS コールは日本語モードのみで有効です。

DOS/V フォントサブシステム($FONT.SYS や JFONT.SYS など)からフォントデータを取得します。

$DISP.SYS (JDISP.SYS) の実装では、取得するフォントの全角/半角を CX の上位バイトの値によって判別しているようです。 つまり CH の値が 0 ならば半角フォントが読み出され、0 以外の場合は全角フォントが読み出されます。 ただし、DH と DL が共に 10h(つまり 16x16 ドット)の場合、CX の値に関わりなく 16x16 ドット全角フォントが読み出されるようです。 DOS/V Extension V2 で複数のフォントを使用している場合、インデクス値が 0 のフォントのみが読み出せます。

この BIOS コールでフォントサブシステムに登録されているすべてのサイズのフォントが読み出せるわけではありません。 標準のフォントドライバ($FONT.SYS, JFONT.SYS)とディスプレイドライバの組み合わせでほぼ間違いなく読み出すことのできるフォントは以下のものに限られます。

DHDLフォント種別
08h10h8x16 ドット半角
08h13h8x19 ドット半角
10h10h16x16 ドット全角
18h18h24x24 ドット全角*1

$DISP.SYS, JDISP.SYS 以外のディスプレイドライバでは、本 BIOS コールがサポートされていない場合があります。

DOS/V の日本語フォントを取得する場合は、int15h,AX=5000h 経由で得られるフォント読み出しファンクションを使うことをおすすめします。

*1 フォントドライバの設定に依存する。デフォルト設定では、IBM 拡張漢字と外字のみがフォントドライバによって読み込まれている。