cairo

freetypeで読み込んでcairoで描画

文字のレイアウトとutf8からunicodeへの変換はcairoに任せられる。 #include <iostream> #include <cassert> #include <ft2build.h> #include FT_FREETYPE_H #include <cairo-ft.h> class FreeType { FT_Library library_; FT_Face face_; int error_; public: FreeType(const char *file, int index=0) </cairo-ft.h></ft2build.h></cassert></iostream>…

テクスチャを書き換える実験

freetypeで読み込んだフォントを使ってcairoでテクスチャを書いてOpenGLで使ってみるところまで。 適当に半透明とか丸い角を使うと見栄えがいい感じに。 cairo周りはこの辺りで切り上げてmikoto形式のモーションの作業に戻ろう。 次は、アンカーから対象頂点…

コンテキストメニューを作ってみた。

cairoでの日本語問題がクリアされたので 練習にOpenGLの中にコンテキストメニューを作ってみた。機能的には予定どおりのものが実装できたが テクスチャの管理なんかを簡潔に記述する方法を編み出す必要があるな。あと、 選択状態を変えるときにテクスチャを…

日本語を出す方法がわかった

ていうか出ない理由がわかった。 鍵はstrlenである。 こいつがutf-8の文字列に対してバイト数じゃなくてカラム数を返していた。 例えば「漢」なら3が返ってくる必要があるのだけど2が返ってくる。 うまく行くときと行かないときがあるので不思議だったがつい…

cairoの日本語テスト

Linuxでは何の問題もなし。 Windows+VCの環境ではマルチバイト文字列を出力することができなかった。 多分リテラルはutf8でいいと思うのだが、 フォントの指定がよろしくないのだろうか。 cairoがどうやってフォントを引っ張って来ているのかあたりから 調べ…