やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

pangommを使ってみた

前回、cairommの文字列描画が異常だった。 いろいろ調べてみたところ、pangommを使って制御する必要があることがわかった。 試してみたところ正常に表示できた。

Window

入手先

GitHub MEGA

開発環境

ライブラリ

フォント名

注意せねばならないことがある。

フォント名は日本語を含むものを受け付けないらしい。 詳しくはこちらを参考にさせていただいた。

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

資料が少ないのでとても参考になりました。 ありがとうございました。

疑問

  • フォント・ファミリー名を取得できるか
  • 改行コードで改行できるか
  • ウインドウの端で回りこみ表示はできるか

このくらいできれば実用できそう。 次回以降に調べる。

所感

情報が少なくて苦労する

調べて試すの繰り返しがとてつもなく大変だった。 とくにWindowsVC++での情報が少ない。 先人の方々に感謝。

祝!50リポジトリ

なんと、私が作ったリポジトリ数が52個! 50個を超えていた。 6月からはじめて約3ヶ月、よくやったものだ。

30*3=90日 50/90=約0.5

2日に1リポジトリ作っている計算。 中身はぜんぶ学習用コードでしょぼいけど。

これからも中身のしょぼさにかまわず、どんどん吐き出していこう。