ゲームエンジンを自作する際のテキスト描画機能
DRANK
Siv3D Advent Calendar 2025 および グラフィックス全般 Advent Calendar 2025 の記事です。ゲームエンジン / ライブラリを自作する際に、テキスト描画についてどのような機能を実装・提供すべきかを整理しました。1. フォント管理フォントファイルの読み込みや形式サポートに関する機能1.1 一般的なフォント形式の読み込みデザインの自由度を確保するため、標準的な TTF / OTF 形式の読み込みに対応する1.2 フォントコレクション対応TTC / OTC など、1 ファイルに複数書体が含まれる形式で、特定の書体を選択して読み込む機能を提供する1.3 カラーフォント対応チャットや演出における表現力を高めるため、色情報を持つ特殊なフォント(絵文字フォントなど)の描画をサポートするCOLRv1 形式のラスタライズは FreeType 単体ではできない。Siv3D v0.8 では Skia を利用して実装している1.4 Variable Font 対応アプリ容量を削減しつつ動的なウェイト変更などの演出を可能にするため、Variable Font の軸制御や、定義済みスタイルの選択に対応する1.5 埋め込みビットマップ対応レトロな表現や低解像度での視認性を確保するため、フォントに含まれるビットマップデータの利用を…