Mini's patch for Blazer V1.00 リリース 2006.08.14

前回の記事ではHsExtensionsにパッチを当て、キャリアの封印を解除する事で
日本のTreo650ユーザもBlazerを使用出来るようになりました。
残念ながらBlazerは、一部の日本語HPは文字化けしてしまいます。
それで今回は、まずBlazerでSmallフォントにしても日本語が化けないようにするパッチと、
決定打では有りませんが、文字エンコードによる文字化けを回避する為のTipsをご紹介します。


■はじめに
まずBlazerの日本語文字化けについて整理しておきましょう

★Smallフォントによる文字化け
Blazerメニューの [Options] - [Font] の設定で Smallフォントを指定すると、
エンコードに関わり無く、すべての日本語が文字化けしてしまいます
この文字化けはBlazerが、日本語フォントの含まれないSmallフォントを指定する為に起こります
この文字化け回避策として、Smallフォントに設定された時でも、日本語が表示出来るようにBlazerにパッチを当てます

★文字エンコードによる文字化け
現在WEB上で、日本語HPのエンコードとしては主に、Shift_JISeuc-jputf-8の3種類が使われております
加えてeuc-jpについてはMETAタグで明示的に宣言せず、俗に言う美乳テーブル※1の漢字を冒頭に書いているだけのHPも存在します
つまり、日本語ブラウザの条件としては、
(1)Shift_JIS
(2)METAタグで明示的に宣言されたeuc-jp
(3)美乳テーブルのeuc-jp
(4)utf-8
以上4種類の文字エンコードに対応する必要が有ると言えます。※2
現状のBlazerでは(3)(4) の場合に文字化けしてしまいます
この文字化け回避策として、後述のTipsにて、ひとつの方法を提示します

※1 美乳テーブルについて、もっと良く知りたい方は ココをクリック
※2 ボクの知る限り上記4種類の文字エンコードに対応したPalmのブラウザは、Opera MiniクリエのNetFrontのみです


■作業手順
まずBlazerでSmallフォントにしても日本語が化けないようにするパッチを当てます
パッチ当てソフトは、以下よりダウンロードし、適当なフォルダに解凍後 setup.exe を実行してください

(対応機種Centro,Treo755p,680,700p,650とTX)
Mini's patch for Blazer V1.80のダウンロード(1413KB)

(手順1)
Filezを使い、 Treo650本体ROM内に有る、以下のファイルをSDにコピーします。
Blazer.prc

(手順2)
このSDをPCから読み書きできるようにします。

(手順3)
miniBlazer.exeを起動しておき、ここに先程コピーしたファイルを、ドラッグ&ドロップします。


(手順4)
Completed の表示になりましたら、パッチ当ては完了です。


(手順5)
パッチ当てが完了すれば、SD内には以下のprcファイルが増えています。
注:パッチを当てる前のprcファイルも残ってます。

パッチを当てる前 パッチを当てた後
Blazer.prc Blazer_patched.prc

Blazer_patched.prcTreo650のRAMにコピーし、本体をリセットします。

今回のパッチも前回と同様に、パッチを当てるアドレスを決め打ちするのでは無く、アドレスを前後に振っております
つまりこの範囲で該当する目的のバイナリ列を検索し、見つかればそこにパッチを当てる、という処理をしておりますので
Treo650のBlazer以外でもうまく動作するかも知れません※3

※3 タングステンT5のBlazerはOKでした


■文字エンコードによる文字化けを回避する為のTips
文字エンコードによる文字化けを回避する為のTipsとして、Google検索窓を使う方法を示します
具体的にはBlazerが自分でエンコード出来ない日本語HPを、Googleのサーバを利用してShift_JISに変換してもらう方法です※4
Blazerhttp://www.google.com/imode?hl=ja&oe=Shift_JIS のURLを開き
ここで検索ワードを入力し、目的のHPを表示させますと見事にShift_JISに変換してくれます
また変換後のHPをブックマークに登録しておきますと、次回からはブックマークから直接目的のHPを表示させる事が出来ます
更に、この方法が優れているところは、目的のHPから更にリンクで飛んだ先のHPもShift_JISに変換してくれるところです



※4 このTipsのアイディアはNY日記さんから頂きました


■スクリーンショット
それでは、今回のパッチとTipsとの合わせ技による、Blazerのスクリーンショットをご覧ください
Blazerの設定はSmallフォントで、(3)美乳テーブルのeuc-jp(4)utf-8 についてはTipsとの合わせ技です
また比較の為、Opera MiniクリエのNetFrontのスクリーンショットも掲載しました

(1)Shift_JIS
・ミニーの資料室(http://usagiya.g-com.ne.jp/mini/)
Blazer Opera Mini クリエのNetFront

(2)METAタグで明示的に宣言されたeuc-jp
・Yahoo! Japan トップ(http://yahoo.co.jp/)
Blazer Opera Mini クリエのNetFront

(3)美乳テーブルのeuc-jp
・Yahoo! NEWS(http://headlines.yahoo.co.jp/hl)
Blazer Opera Mini クリエのNetFront

(4)utf-8
・たいちさんの PalmwareInfo(http://palmwareinfo.com/)
Blazer Opera Mini クリエのNetFront


■あとがき
文字エンコードによる文字化けを、根本的に解決するためには更に NetFrontLib の解析が必要になります
NetFrontLib は、逆アセンブルリストで約30万行あります
美乳テーブルutf-8の3バイトコード解釈など、日本語処理の肝心な部分が欠落している可能性が高いですね
ボク自身コレと戦うかどうか今のところ未定です、というか、どなたか戦ってみませんか?(勝算は少ないですが)
リバースエンジニアリングは楽しいですよ、脳の老化防止になり、一石二鳥だと思ってますが(笑)
冗談はさておき、やはりこの問題は ACCESSさんに要望して行くのが筋でしょうね


■V1.10リリースについて
TX, Treo700pにも対応しました、TXユーザの方すみませんでした
それから動作検証にご協力頂いた恍惚のほし ★ ryo-nさん、 ありがとうございました。m(_ _)m


■V1.20リリースについて(追記:2006.12.18)
Treo680にも対応しました。

ただし、680固有と思われる以下の問題については解決出来ておりません。
Treo680で海外から電話回線で接続した場合、すべての日本語HPが文字化けする可能性が有る
これが、事前に「対応困難かも知れない」と申し上げておりました問題です。

以下の画像は恍惚のほし ★ ryo-nさんから送って頂いたものです
ryo-nさんのHPのエンコードはShift_JISですので、通常ならTreo680を日本語化した時点で、
何も小細工しなくてもBlazerで表示出来るハズなのですが、実際には画像の様に化けてしまっております。

※ryo-nさんは米国在住で電話回線で接続出来る環境をお持ちです。


実は、この画像の中には大変興味深い謎が隠されております、皆さんお気付きですか?

それでは文字化けの規則性について調べてみましょう、画像の1行目の部分に注目します
この部分は本来なら「恍惚のほし ★」とHPタイトルが書かれている部分です

PCのメモ帳で、恍惚のほし ★ と入力します


これをutf-8で保存します


保存したファイルをバイナリエディタで開いてみますと


赤枠の部分をご覧ください、どうですか、見事に文字化け画像と一致してますよね
つまり、本来Shift_JISだったものがutf-8に変換されているのです
ryo-nさんによりますとShift_JISだけでは無く、すべての日本語エンコードで起きているとの事

じゃあ、一体誰が変換しているのでしょうか?
Treo680の中の人(中に人などいない)を調べてみましたが、それらしい人は見つからず
※おそらくNetFrontLibだと思ってるのですが・・・

ボクとしてはこの謎に包まれた変換処理が、Blazerにおける日中韓など、
2バイトコード圏への国際対応の第一歩であれば良いなぁと考えております。
ACCESSさん、一体何を企んでいるのですか?・・・ボクだけにそっと教えて欲しい(笑)


■更新履歴
2006.08.14 Mini's patch for Blazer V1.00 リリース
2006.08.14 Mini's patch for Blazer V1.10 リリース --- TX, Treo700pにも対応
2006.12.18 Mini's patch for Blazer V1.20 リリース --- Treo680にも対応
2007.06.15 Mini's patch for Blazer V1.30 リリース --- Treo755pにも対応
2007.11.04 Mini's patch for Blazer V1.40 リリース --- Centroにも対応
2008.01.21 Mini's patch for Blazer V1.50 リリース --- Treo680-1.12-ROWにも対応
2008.03.03 Mini's patch for Blazer V1.60 リリース --- Centro GSM版(EU仕様)にも対応
2008.08.03 Mini's patch for Blazer V1.70 リリース --- Centro-1.07-SPNTにも対応
2008.11.01 Mini's patch for Blazer V1.80 リリース --- Treo680-2.11-ATTにも対応


Copyright 2006. Mini's materials room. OSAKA JAPAN

[戻る]