前回、cairommの文字列描画が異常だった。 いろいろ調べてみたところ、pangommを使って制御する必要があることがわかった。 試してみたところ正常に表示できた。
入手先
開発環境
- Windows XP Pro SP3 32bit
- VC++ 2010 Express
ライブラリ
フォント名
注意せねばならないことがある。
フォント名は日本語を含むものを受け付けないらしい。 詳しくはこちらを参考にさせていただいた。
FontSelection
クラスが参考になりそう。
https://developer.gnome.org/gtkmm/stable/classGtk_1_1FontSelection.html
http://valadoc.org/gtk+-3.0/Gtk.FontSelection.html.content.tpl
おそらく、以下のようなコードを実行すると使えるフォント名を確認できる。
#include <gtkmm/fontselection.h>
class MainWin : public Gtk::Window
{
Gtk::FontSelection m_fontSelection;
public:
MainWin(){
add(m_fontSelection);
show_all_children();
}
};
int main(int argc, char* argv[])
{
Gtk::Main kit( argc, argv );
MainWin window;
Gtk::Main::run( window );
return 0;
}
参考
こちらの例はgtkmm3でないと動作しない。私の環境はgtkmm2なので動作しない。
どうやらgtkmm2ではon_expose_event
, gtkmm3ではon_draw
をオーバーライドするっぽい。
http://book.geocities.jp/gtkmm_ja/docs/tutorial/html/chapter-drawingarea.html
http://www.hakodate-ct.ac.jp/~tokai/tokai/gtkmm/img/p9.htm
資料が少ないのでとても参考になりました。 ありがとうございました。
疑問
- フォント・ファミリー名を取得できるか
- 改行コードで改行できるか
- ウインドウの端で回りこみ表示はできるか
このくらいできれば実用できそう。 次回以降に調べる。
所感
情報が少なくて苦労する
調べて試すの繰り返しがとてつもなく大変だった。 とくにWindowsやVC++での情報が少ない。 先人の方々に感謝。
祝!50リポジトリ超
なんと、私が作ったリポジトリ数が52個! 50個を超えていた。 6月からはじめて約3ヶ月、よくやったものだ。
30*3=90日 50/90=約0.5
2日に1リポジトリ作っている計算。 中身はぜんぶ学習用コードでしょぼいけど。
これからも中身のしょぼさにかまわず、どんどん吐き出していこう。