2008年2月19日火曜日

FreeBSDで音飛び

現在, FreeBSD 6-stable を使っているが, ネットワークを通じて大量のファイルをコピーしながら, 音楽を再生すると, ときどき音飛びをすることに気づいた. あと, ports で gimp のコンパイルをする最中にリブートする問題にも悩んでいる. メモリとかは特に問題がないようだ. 7-release では改善しているのだろうか.

2008年2月17日日曜日

xpdfの高画質化 part2

FreeType2のドキュメントを読んだりしたりして xpdf を解析しようとしていたけど, 根負けして諦めた. またそのうち暇があったら触ってみようかと思う. とりあえず, いじったところをアップしてみる.

ポイントは, 一つ目の size を 8倍にしているところ. (8倍じゃなくても, 適当に大きくしてあればいいらしい) これだけで見た目はグッと変わった. あと, 標準ではヒンティングがオフになっているが, それをオンにした. これは好みの問題.

このパッチは FreeType2 用なので T1lib はオフにしないと効果がないかもしれない. ~/.xpdfrc に
enableT1lib no
enableFreeType yes

を足せばOK.

なお, PDFファイルによっては xpdf が落ちることもあったので要注意!

--- a/splash/SplashFTFont.cc Sun Feb 17 12:40:58 2008 +0900
+++ b/splash/SplashFTFont.cc Sun Feb 17 22:27:23 2008 +0900
@@ -50,7 +50,7 @@ SplashFTFont::SplashFTFont(SplashFTFontF
return;
}
face->size = sizeObj;
- size = splashSqrt(mat[2]*mat[2] + mat[3]*mat[3]);
+ size = 8 * splashSqrt(mat[2]*mat[2] + mat[3]*mat[3]);
if (FT_Set_Pixel_Sizes(face, 0, (int)size)) {
return;
}
@@ -180,9 +180,9 @@ GBool SplashFTFont::makeGlyph(int c, int
}

// if we have the FT2 bytecode interpreter, autohinting won't be used
-#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
- if (FT_Load_Glyph(ff->face, gid,
- aa ? FT_LOAD_NO_BITMAP : FT_LOAD_DEFAULT)) {
+//#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+#if 1
+ if (FT_Load_Glyph(ff->face, gid, FT_LOAD_DEFAULT | FT_LOAD_TARGET_LIGHT)) {
return gFalse;
}
#else
@@ -196,7 +196,7 @@ GBool SplashFTFont::makeGlyph(int c, int
return gFalse;
}
#endif
- if (FT_Render_Glyph(slot, aa ? ft_render_mode_normal
+ if (FT_Render_Glyph(slot, aa ? FT_RENDER_MODE_LIGHT
: ft_render_mode_mono)) {
return gFalse;
}

2008年2月14日木曜日

xpdfの高画質化 part1

今まで PDF を読む際には, acroread と xpdf を場合に応じて使い分けていた. サクサク読みたいときは軽い xpdf を, じっくり読む場合は綺麗に表示する acroread という感じ. しかし, xpdf は freetype2 を使っているのだから, もっと綺麗に表示できるはずだろうと思って, いろいろ調べてみた.

もう眠くなったので結果だけ書くと, ちょっとソースをいじるだけで xpdf もかなり綺麗になることが分かった. でも, 一部の PDF を入れると落ちることもあるので要調査.

2008年2月12日火曜日

パソコンの調子がおかしい?

珍しく FreeBSD が落ちた. 再起動してブラウザを開いていたら, もう一度落ちた. それからは大丈夫なのだがパソコンの調子が悪いのではないかとちょっと不安になる. 6-stable でこんなに落ちたのは初めてだ.

2008年2月10日日曜日

linux-firefox 復活

前回 linux-firefox が使えなくなったという話をしたが, Firefox のバージョンが 2.0.0.12 に上げたら復活した. wine 上の Firefox は Flash9 が使えて便利だけど, かなり重かった. linux-firefox が復活して良かった.

2008年2月3日日曜日

linux-firefox が使えなくなった

FreeBSD上ではブラウザとして, linux-firefox を使っていたのだが, 今日ひょんなことから使えなくなってしまった. ことの発端は, アドオンの gmail-notifier のアップデートをしようとしたこと. すると, checksum が一致しないといってアップデートに失敗してしまった. そして, なぜか linux-firefox が起動しなくなった. 非常に困る状況だ.

仕方ないので, wine上で Windows用の Firefox を動かして代替しようとしたけど, blogger への投稿がうまくいかないので, 別のエディタで文章を書いてから貼り付けることにした. 面倒過ぎる. 早く linux-firefox の復旧をしなければ.

wine で Firefox を動かす際に linux-firefox の設定は引き継がなかったので, 設定は一からやりなおし. アドオンのインストールはいいけど, about:config の設定はすっかり忘れていて, 少し困った. Google Reader の 'v'キーでウィンドウをポップアップさせる際に, 新しいウィンドウをバックグラウンドにするのは,
browser.tabs.loadDivertedInBackground

を true にする. 再び忘れないようにメモ.

2008年2月1日金曜日

uim-ximの問題?

普段は FreeBSD を使っていて大体満足しているのだが, 一つ気になっている問題がある. それは, Firefox で Google Suggestion の候補が出たときに Fluxbox のワークスペースの移動をするとハングアップして, X を強制終了しなければならなくなることだ.

この問題をずっと放置してきたが, さすがに気になったのでさっき原因を調べてみた. すると, uim-xim がハングアップしていることが判明. uim-xim を切って Firefox で同じことをしても問題が再現しなかったので, これでどうも犯人は uim-xim らしいということが分かった. あとは, どう修正すればいいかだが, これはまた時間のある時にでもしようと思う. 今日は飲み会の後なのでもう眠い.