過去ログ一覧〕〔前の画面
578 】 99bで履歴とメッセージアーカイブを日本語化する
1999/8/25(水)01:38 - Syo




はじめに断っておきますが、この記事は中級者以上を対象にしています.



ICQ 99b beta v3.17 Build2565の日本語化パッチ以外の部分の日本語化ですが、
こちらでもホームページの記事を参考にしていろいろと試してみました.
(参考になる記事をありがとうございます.)

お約束ですが、自分で試す場合は自己責任のもとでお願いします.

99bでは、メインのフォント指定部分はICQCore.DLLに存在します.
ICQCore.DLLをStirlingなどで読み込み、"MS Sans Serif"をサーチすると
出てきます.

ここを書き換えます.
私は、Ticagoフォントをインストール後、Win.iniのFontSubstitute
サブセクションに以下のように設定しました.

ICQTicago=Ticago,128,3

よって、MS Sans SerifをICQTicagoに書き換えました.
#文字列"ICQTicago"の後に$00を置くのを忘れないように.

これによって、行末で若干文字化けが出るものの、履歴で日本語が
表示できるようになりました.

次に、メッセージアーカイブで日本語を表示できるようにします.
レジストリエディタを起動し、以下のキーを見ます.
????????の部分には、8桁のICQ#が入ります.
(長すぎるので途中で改行しています.)

\HKEY_CURRENT_USER\Software\Mirabillis\ICQ\Owners\?????????
\Message Archive\New Font Name

このキーの値がメッセージアーカイブで使用するフォント名となっています.
これを書き換えます.

ここまでで、日本語化できていないところがまだ残っています.
メッセージアーカイブのメッセージダイアログが文字化けしている
のに気づくはずです.

デバッガを使用して解析したところ、以下のことが判明しました.

・Message Dialogでは、きちんと表示メニューで指定されたとおりのフォントを
使用しているが、それ以外のメッセージアーカイブでは、ICQCore.DLLでロード
したフォントをそのまま使用している.

なんでこんな仕様なのかはわかりません.
99b版特有のバグかもしれません.

では、先ほどのレジストリキーを書き換えて、ICQTicagoにすればいいじゃないか
とお思いでしょうが、それではうまくいかないのです.(実験済み)
どうすればいいでしょうか?

試行錯誤した上で、発見した方法は、以下のとおりです.


・次のレジストリキーを削除する.
(????????は、ICQ#です.)

\HKEY_CURRENT_USER\Software\Mirabillis\ICQ\Owners\?????????
\Message Archive\New Font Name

これによって、ICQCore.DLLでロードされたフォントをそのまま
使用するようになります.
ただし、表示メニューでフォント指定をすると元に戻りますので
注意してください.
その場合は、もう一度レジストリキーを削除してください.


手順を整理してみます.



1. TicagoフォントをWindowsにインストールする.

2. システムエディタなどでWin.iniを開き、FontSubstituteセクションに
以下の記述を追加する.

ICQTicago=Ticago,128,3
^---^---この二つはカンマですので注意しましょう.
私は間違えました(笑)

3. ICQが起動していないことを確認する.
起動している場合は終了してください.

4. ICQCore.DLLをバイナリエディタで開き、文字列"MS Sans Serif"を
サーチする.
サーチしたら、そこから文字列"ICQTicago"を書き込む.
書き込んだら、必ずoの次の位置に16進数 $00 を置くこと.

5. レジストリエディタで、以下のキーを削除する.

\HKEY_CURRENT_USER\Software\Mirabillis\ICQ\Owners\?????????
\Message Archive\New Font Name

6. Windowsを再起動する.

これで、メッセージアーカイブ・履歴も完全に日本語が
使えるようになります.


この解析結果をもとに、日本語化パッチに吸収してくださることを
望みます.^^;


〔ツリー構成〕

┣【578】 99bで履歴とメッセージアーカイブを日本語化する 1999/8/25(水)01:38 Syo (3167)
┣【584】 re(1):99bで履歴とメッセージアーカイブを日本語化する 1999/8/25(水)08:22 ZENON (1068)
┣【612】 re(2):99bで履歴とメッセージアーカイブを日本語化する 1999/8/30(月)03:12 Syo (743)
┣【613】 re(3):99bで履歴とメッセージアーカイブを日本語化する 1999/8/30(月)08:10 ZENON (598)

前の画面〕 〔終了
Pockets Studio ICQ Dojo'99