ハングアップの日々

2008年 10月分

2008/10/29

ijexp32

 ijexp32 で msvcp60.dll などを見ると、名前修飾が正しく解析できていないものがかなり見つかった。解析部分の修正の参考になる情報はないかと少し調べてみた。

2008/10/27

共有フォルダパスワード

 Windows 共有フォルダのパスワードを記憶するようにしていたのを削除したくなった。ググったところいくつか出てきたが、「Windows 共有フォルダの接続パスワードの削除」などが参考になった。ちなみに、以下の3つのコマンドのどれでも良いようだ。

> rundll32 keymgr.dll,KRShowKeyMgr
> rundll32 shell32.dll,Control_RunDLL keymgr.dll
> control keymgr.dll

2008/10/25

ijexp32

 ijexp32 を 64bit 実行形式に対応させるついでに、さらに色々改造。まずは、Unicode ビルドに対応させた。元々のソースコードは TCHAR が使われていたが、ファイル出力部分や、エクスポート名解析部分など一部 Unicode に対応していない部分があったので修正。inf ファイルも修正して、OS に応じて適切な DLL がインストールされるようにしてみた。
 64bit ビルドにも対応させるべく作業開始。手持ちの開発環境で、64bit 版の MFC が使えるものは Windows Driver Kit (WDK) しかないので、WDK でビルドできるように、MAKEFILE や SOURCES を作成し、ソースファイルも一部修正した。SOURCES の記述にはちょっと手間取ったが、何とかビルドが通るようになった。しかし、実行環境がないため動作確認ができない。
 エクスポート名解析部分に不具合や未対応の記述が見つかったので、それも修正。3年ぶりに新バージョンを公開。

2008/10/24

ijexp32

 かなり前から、i.j Shell Property Sheets Export/Import 32 を 64bit 実行形式に対応させたいと思っていたのだが、ようやく着手。
 構造体を 32bit のものから 64bit のものに変えればほぼそのまま対応できそうだが、ついでにいくつか修正を加えてみた。例えば VC7 では wchar_t がネイティブ型になったため、名前修飾の規則が追加されている。

 VC++ の名前修飾の解析の参考になるものは何かないかと調べていたら、VC++ 付属のツールに undname.exe というものがあることを知った。

2008/10/23

URL memo

2008/10/21

URL memo

2008/10/20

GanttProject

 GanttProject 2.0.7 で PDF にエクスポートすると日本語が化けるのを修正してみようと再挑戦。
 とりあえず、参考にしたサイトは次の通り。

 やはり、2.0.4 と同じやり方ではうまくいかない模様。原因を調べるために、ソースを見ようと思ったが、ソースをダウンロードするのが面倒だったので、jad で逆コンパイルしてみた。
 どうも 2.0.7 では、userconfig.xml が読み込まれないようになっているようだ。代わりに Java のフォントディレクトリにある TTF ファイルについては、そのファイル名に .xml を付けたフォントメトリックスファイルが自動で読み込まれるようになっているようだ。なお、TTC ファイルは使えないようだ。
 IPA フォント の ipag.ttf を使って色々試してみたところ、うまくいった。
 まずは以下のバッチファイルを実行する。jar コマンドを使っているので、JDK が必要である。

@echo off
setlocal
set GanttProject=C:\Program Files\GanttProject
set Fonts=C:\WINDOWS\Fonts
set JRE_HOME=C:\Program Files\Java\jre6

cd "%GanttProject%\plugins\org.ganttproject.impex.htmlpdf_2.0.0\lib"

rem 作業ディレクトリ作成
mkdir font-metrics

rem IPAGothic のフォントメトリックスファイルを作成
java -cp fop.jar org.apache.fop.fonts.apps.TTFReader %Fonts%\ipag.ttf font-metrics\ipag.ttf.xml

rem 作成したフォントメトリックスファイルを fop-font-metrics.jar に追加
jar uvf fop-font-metrics.jar font-metrics

rem Java (JRE) のフォントディレクトリに TTF ファイルをコピー。
copy %Fonts%\ipag.ttf "%JRE_HOME%\lib\fonts"

 次に、C:\Program Files\GanttProject\plugins\org.ganttproject.impex.htmlpdf_2.0.0\resource\pdf-export-themes\ganttproject.xsl を修正し、フォントとして IPAゴシックを使うようにする。また、言語として日本語を指定しておく。

変更前:

<xsl:variable name="font" select="'sans-serif'"/>
<xsl:template match="ganttproject:report">
  <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

変更後:

<xsl:variable name="font" select="'IPAGothic'"/>
<xsl:template match="ganttproject:report">
  <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="ja">

 以上で、PDF でエクスポートしても日本語が化けないようになった。なお、PDF でエクスポートする際、デフォルト以外のスタイルを選択するときは、使用するスタイルの *.xsl を上と同様に修正する必要がある。

URL memo

2008/10/18

AviUtl

 フル HD の MPEG2 TS を AviUtl で読み込むと、ジャンプウィンドウプラグインの表示更新がかなり遅いのが気になっている。もっと高速なものを作れないかと思い、少し調査してみることにした。
 現在、MPEG2 TS の読み込みには m2v.aui を利用しているが、m2v.aui は、すべてのフレームをキーフレームとして返してしまう。少し改造して、I フレームのみをキーフレームとするようにしてみた。改造後の m2v.aui とジャンプウィンドウプラグインを使って、表示速度を確認してみたところ、キーフレームとそれ以外のフレームでは明らかに表示速度が違った。
 AviUtl のサンプルプラグインの loupe_filter.auf を参考に、単に現在のフレームを表示するだけのテストプラグインを作って、ジャンプウィンドウプラグインと表示速度を比較してみた。時間ジャンププラグインを使って表示フレームを移動すると、メインウィンドウとテストプラグインがほぼ同時に表示が更新され、それから一瞬遅れてジャンプウィンドウプラグインの表示が更新された。
 キーフレームを優先して表示するようにすれば、かなり高速なジャンプウィンドウプラグインが作れそうな気がしてきた。

2008/10/17

Core i7

 今のマシンはフル HD の動画を扱うには少々力不足だ。そろそろ新しいデスクトップマシンを買おうかと考えているが、どういうマシンがよいだろうか。Core 2 Quad にするか、それともあと 1ヶ月ほどで出るという Core i7 にするか・・・。
 OS はどうしよう。XP 32bit か Vista 32bit かそれとも Vista 64bit か。そろそろ開発用に 64bit 環境を用意しておきたいが、通常使用環境としても十分に使えるかどうかが気になる。Vista 64bit + 仮想環境辺りがよいか?
 最近話題のハイパーバイザー型仮想環境も気になるところだが、やはり今のところはサーバ向けであって、個人向けではないか。

2008/10/14

rebase

 DLL のベースアドレスは適切に設定するとロードが高速化される。また、再配置が起こらなければ、システム全体でのメモリ使用量の削減が期待できる。今までは、bregonig.dll, springm.dll, tcdll.tclock や各種プラグイン DLL などのベースアドレスを設定していなかったが、それぞれ次のリリースからベースアドレスを設定するようにしよう。

2008/10/10

GanttProject

 最近、進捗管理ツールとして GanttProject を使い始めたのだが、Ver.2.0.7 だと PDF へのエクスポートが文字化けしてしまう。2.0.4 では文字化けを解消する方法があるようだが、同じようにしてみてもどうもうまくいかない。今回は諦めて、プリンタドライバ経由で PDF に変換することにした。

2008/10/04

AviUtl

 時間ジャンププラグインを更新してみた。ジャンプウィンドウプラグインの画面を自動で更新できるようにしてみた。かなり便利になった。しかし、表示更新されるまでの遅延が気になる。ジャンプウィンドウの表示がもう少し高速になればよいのだが。

2008/10/01

spam

 先月の spam メールの集計結果。着信拒否にならなかった spam が少なくとも 866通。そのうち、@nifty の迷惑メールフォルダーでも Spam Mail Killer でも spam として認識できなかったものは 3通(0.3%)。

メール受信状況 2008/09


Copyright (C) 2008 K.Takata