質問: face.glyph.bitmap print (bitmap.buffer) ``` また、以下のサイトも参考にしましたが、いまいち解りません。 freetype-py - 三次元日誌 環境 -- Python3.7 + OpenGL(Freeglut 3.0.0) + Anaconda + windows10
回答: OpenGL(というよりかは、GPU)には、文字を描画するという機能は持っていません。 一般的に文字を描画するには、 1. フォントデータより文字情報を取得する。 2. 文字情報を元に、テクスチャに文字を書き込む。 3. テクスチャを描画する。 という手順を踏む必要があります。 glutBitmapStringはその手順を一フレーズで行っているわけでして、それを使わないのであれば、ご自身でその手順を行う必要があります。 FreeTypeというのは、TrueTypeフォントデータより文字情報を取得するライブラリです。 つまり、前に説明した手順の「1.」のみを行うだけですので、「2.」「3.」は自分で処理する必要があります。 freetype-pyは使った事がありませんが、見てみると素のFreeTypeライブラリに近い仕様のようですので、freetype-pyだけでなく、freetypeについても調べてみると良いかもしれません。 ただし、「日本語を描画する」事が目的であれば、別にFreeTypeを直接使う亊のみが唯一の方法ではありません。 例えば、Pillowで文字を描画して、それをテクスチャとして使う方が簡単だと思います。 「python pillow 文字」でググると文字を描画する方法、「python pillow opengl」でググると描画結果をOpenGLのテクスチャとして扱う方出てくるので、それらをかけ合わせて対処してみてください。