PDF-XChange Viewer の v.2.042.9 が公開されていたので、更新してみた。v.2.042.8 では日本語が表示されなかった PDF ファイルも、一応読めるようにはなった。しかし、なぜか MS-Mincho や MS-Gothic ではなく、ArialUnicodeMS で表示されている場合があり、非常に醜い。まあ、読めないよりはましである。
mp3infp のコードを見ていたところ、バグを2つ発見。
mp3infp は ID3v2 に URL を格納する際、ユーザー定義 URL リンクフレーム (WXXX) というフレームを使っている。規格を確認すると、URL は、文字列エンコーディングの指定に関わらず、ISO-8859-1 で格納することになっているが、mp3infp は文字列エンコーディングの指定にしたがって URL を格納している。
もう1つは、文字列エンコーディングを変更する際の挙動なのだが、エンコーディングを変更すると、非対応のフレームに関しては、エンコーディング指定だけを書き換えて、実際の中身のエンコーディングを変更していない。非対応のフレームは、エンコーディングを変更しないようにすべきと思われる。
mp3infp の対応ファイル形式を拡張するならばどうするか検討中。要望の挙がっているファイル形式としては Matroska や Ogg FLAC などがある。また、Ogg コンテナを使ったファイル形式には、Ogg Theora や Speex などもある。Matroska については、libmatroska と libebml を使えばタグの読み書きができそうだが、まだ使い方が把握できていない。Ogg 系については libtheora や libFLAC といったライブラリがあるが、タグの読み書きのインターフェイスが統一されていないようだ。
Doxygen 関連の情報を収集。Graphviz というソフトと組み合わせて使うと、関数の呼び出し図なども生成してくれるようだ。
昨日から使い始めた PDF-XChange Viewer だが、メニューなどに日本語化が済んでいない部分が散見されて、少々気になっていた。再度、サイトを確認したところ、最新バージョンの v.2.042.8 がちょうど公開されたところだった。バージョンアップしたところ、未訳部分は修正されていた。
先日知った PDF-XChange Viewer を試してみた。純正の Adobe Reader に比べて起動も速いし、タブが使えて文章の選択が非常に使いやすい。無料版でも、ページの回転など簡単な編集ができて便利だ。ポータブル版もあり、インストールせずに使うこともできる。
今まで PDF のページの回転には PDF RotatePage などを使ってきたが、これからはこれが良さそうである。
丁稚な日々 Oct.29,2009 (Thu) によると、VC9 でコンパイルすると、サブシステムバージョンが 5.0 になってしまい、5.0 未満のバージョンを指定すると警告が出て無視されるらしい。試してみた。
> link /edit /subsystem:windows,4.0 foo.exe LINK : warning LNK4241: invalid subsystem version number 4.0
確かに警告は出たが、実行ファイルを確認したところ、サブシステムバージョンは 4.0 に変更されていた。
AviUtl を Windows 7 で使うと、エンコード中にも関わらずスリープ状態になってしまう問題を対策してみることにした。
本来は AviUtl 本体で対応してもらうのが筋だろうが、作者に連絡を取ったりするのが面倒だったので、自分のプラグインで暫定対策することにした。時間ジャンププラグインで、エンコード開始と終了時に SetThreadExecutionState() を呼ぶことで、エンコード中はスリープ状態への移行を阻止するようにしてみた。エンコード中に、powercfg -requests を実行したところ、要求一覧に AviUtl.exe が追加されていることが確認できた。
なお Win7 では、SetThreadExecutionState() 以外に、PowerCreateRequest(), PowerSetRequest() などの API が追加されたようだ。
先月の spam メールの集計結果。着信拒否にならなかった spam が少なくとも 2587通。そのうち、@nifty の迷惑メールフォルダーでも Spam Mail Killer でも spam として認識できなかったものはなし。