2007年 08月 12日

aa

文章書いたりしてないのは、なんかうまく文章かけないからで、特別なにかしてるわけじゃないんです

物語中における占い

って必ずあたるよね……
なにげなくついてるテレビの占いとか

2007年 08月 11日

Cairo で描画


けっこうきれいなんだけど、hennda

fo.antialias         = :gray

してるのにサブピクセルレンダリングされているのはなんでだろ。というか :none にしてもなるし、無視されてる。pango のほうにオプションがあるんだろうか。

layout = context.create_pango_layout
layout.context.set_font_options(fo)

とかやらないとだめ

きれいになった。

RMagick の Pixel#to_color がうまくいかない

hex = color.to_color(Magick::ComplianceType::AllCompliance, false, 8)
test.rb:18:in `to_color': wrong enumeration type - expected Magick::ComplianceType, got Magick::AnchorType (TypeError)
        from test.rb:18
2007年 08月 10日

gem install が 404 Not Found

なんでだ……

RMagick がはいらぬ。

configure: error: Can't install RMagick. Can't find Magick-config or GraphicsMagick-config program.

ubuntu の rmagick があやしいという記事

sudo apt-get remove --purge librmagick-ruby-doc librmagick-ruby1.8
sudo apt-get install libmagick6-dev ruby1.8-dev
http://blog.inlet-media.de/rmagick-does-not-play-well-on-ubuntu

やって、sudo gem install rmagick (といっても 404 なのでダウンロードして sudo gem install rmagick-1.15.9.gem )

RMagick で TTF が描画できぬ

/usr/lib/ruby/gems/1.8/gems/rmagick-1.15.9/lib/rvg/misc.rb:545:in `draw': Non-conforming drawing primitive definition `hogehoge.ttf' (Magick::ImageMagickError)

絶対パスで書いちゃだめらしい……

絶対パスじゃないかも、よくわからぬ
とりあえず RMagick は日本語フォント描画にいろいろ難がある (アンチエイリアス汚ないし、letter_spacing 設定すると文字化けするし)

Cairo

cairo はよくわかんないけど、システムフォントを読むらしくて、つかいたいフォントはシステムにインストールしないとだめっぽい。
ubuntu の libcairo-ruby は 1.0.0-beta とかいうふるいのなので自力でいれよう。といってもなんか conftest が失敗する。
gcc がおかしいのかなぁ。一発目のテストで失敗するんだぜ……

ぜんぜんちがくて、libcairo のバージョンがふるいっぽい。ubuntu のパッケージふるいのは dist-upgrade してないせい?
こわくてできないんだけど……

  1. cairo 1.4.10
  2. rcairo 1.5.0
  3. GLib 2.14.0
  4. pango 1.16.5
  5. ruby-gtk2 (Ruby/Pango) 0.16.0

をインストール。でも ruby-gtk2 の pango はそのまんまだとはいらなくて

--- src/rbpangolayoutiter.c.orig	2007-08-10 23:22:21.000000000 +0900
+++ src/rbpangolayoutiter.c	2007-08-10 23:22:06.000000000 +0900
@@ -19,17 +19,7 @@
 layout_iter_copy(ref)
     const PangoLayoutIter* ref;
 {
-#if PANGO_CHECK_VERSION(1,6,0)
-  PangoLayoutIter* new_ref;
-  g_return_val_if_fail (ref != NULL, NULL);
-  /* This may be broken on pango-1.2.x, but 
-     for backward compatibility. */
-  new_ref = g_new(PangoLayoutIter, 1);
-  *new_ref = *ref;
-  return new_ref;
-#else
   return (PangoLayoutIter*)ref;
-#endif
 }
 
 GType

こんなんしてバージョンチェックとばした。はまりまくった……

taken 氏が pango のバージョニングに気付かせてくれなかったら諦めてました!!! さすがもじらー