C++フォントを扱う方法
Posted: 2019年5月04日(土) 19:39
初めまして。またかしと申します。
最近、C++とDXライブラリでゲーム制作を始めました。
何度も質問させていただく事になるかと思います。よろしくお願いします。
現在、文章を表示するプログラムを作っています。
実装のイメージは下記のような文章を下図のような形で表示するものです。
あいうえお\s[25]あいうえお\s
\s[25]\c[255,0,0]あいうえお\s\c
実装方法は、まずテキストファイルをすべて読み込んで
読み込んだ文字を一文字一文字チェックし、「\」があったら
対応するコマンド(上記でいうと s , c)に応じてDXライブラリの関数CreateFontToHandleで
新しくフォントを作成する。
上図でいうと、
・通常の「あいうえお」
・サイズが25の「あいうえお」
・サイズが25で色が255,0,0の「あいうえお」
の3種類フォントを作成する形になります。
ここからが疑問なんですが、いちいち新しくフォントを作成し、フォントの仕様の数だけ
フォントを用意するのは果たして効率的なのでしょうか。
疑問を解消する為に、現在はそもそもフォントとはどういうもので、どういう仕組みでPC上で動いているのかを勉強しています。
しかし、なかなか自分の求める情報が手に入らず迷っています。
上記のような文章を表示する仕組みを効率的に実装するための何かヒントをいただけないでしょうか。
ちょっと質問が曖昧で申し訳ないですが、ご検討いただけると幸いです。
何卒よろしくお願いします。
最近、C++とDXライブラリでゲーム制作を始めました。
何度も質問させていただく事になるかと思います。よろしくお願いします。
現在、文章を表示するプログラムを作っています。
実装のイメージは下記のような文章を下図のような形で表示するものです。
あいうえお\s[25]あいうえお\s
\s[25]\c[255,0,0]あいうえお\s\c
実装方法は、まずテキストファイルをすべて読み込んで
読み込んだ文字を一文字一文字チェックし、「\」があったら
対応するコマンド(上記でいうと s , c)に応じてDXライブラリの関数CreateFontToHandleで
新しくフォントを作成する。
上図でいうと、
・通常の「あいうえお」
・サイズが25の「あいうえお」
・サイズが25で色が255,0,0の「あいうえお」
の3種類フォントを作成する形になります。
ここからが疑問なんですが、いちいち新しくフォントを作成し、フォントの仕様の数だけ
フォントを用意するのは果たして効率的なのでしょうか。
疑問を解消する為に、現在はそもそもフォントとはどういうもので、どういう仕組みでPC上で動いているのかを勉強しています。
しかし、なかなか自分の求める情報が手に入らず迷っています。
上記のような文章を表示する仕組みを効率的に実装するための何かヒントをいただけないでしょうか。
ちょっと質問が曖昧で申し訳ないですが、ご検討いただけると幸いです。
何卒よろしくお願いします。