週刊nmosh - Win32コンソールの色付け / プリロード強制モード
Win32のコンソールでcursesを使わずにカラー出力できるように。
Win32コンソールとパレット
実はWin32コンソールはVista以降でアプリケーション実行中にアプリケーションから動的にパレットを変更できるようになった(GetConsoleScreenBufferInfoEx)。
nmoshでもパレットを変更できるが、今のところうまいAPIを思いついていない。24bit中16色。
nmoshは一応WinXP以降対応としているので、わざわざこのためだけにLoadLibraryして実行時にAPIを解決するworkaroundを入れている。
GUI描画にGPUを使うとかそういう変更を含んだリリースで未だにコンソールを拡張しているMSには頭が下がる。超使いづらいけど。
(パレット機能自体はXP等でも使用出来る。内部的に使用されているWindowメッセージを直接つかうことで動的に変更することも一応可能。)
Win32コンソールの色付けは微妙にレアな機能で、他のScheme処理系で直接サポートしているのはIronSchemeくらいな気がする。