Safari文字化け対策パッチ公開 6
ストーリー by Acanthopanax
ユーザーサイドで修正 部門より
ユーザーサイドで修正 部門より
Safari Developer Newsより。正式版となったSafariだが、多バイト文字で構成されたページ途中での文字化けは いまだ解消されていない。これは多バイト文字が途中で切られたときの処理がいいかげんであるためだという。しかしこのほど新井隆浩氏が、この部分の処理をおこなうSafari文字化けパッチを公開した。公開されているのは差分のみなので、試用するにはWebCoreのソースファイルとDeveloper Toolsを用意して、コンパイルをおこなう必要がある。
[Update] Safari Developer Newsにてバイナリが用意された。使用は自己責任にて。
コンパイル (スコア:3, 参考になる)
Mac OS X 10.2.6, Dec 2002 Developer Tools。gcc 3.3をインストール
していたのですが、
sudo /usr/sbin/gcc_select 3
にてgcc 3.1を使用。手順は以下の通り。
1. ~/src以下にWebCoreおよびJavaScriptCoreを展開
2. パッチファイルを~/src/WebCore/kwq/に
KWQTextCodec.mm_85.diffとして保存。
3. JavaScriptCoreをビルド
3-1. ターゲット>ビルドスタイルをDeploymentにしてビルド
4. WebCoreをビルド
4-1. パッチを当てる
cd ~/src/WebCore/kwq
patch KWQTextCodec.mm < KWQTextCodec.mm_85.diff
4-2. ~/src/JavaScriptCore/build/JavaScriptCore.frameworkを
FrameWorksにドラッグして追加。赤い字になっている
JavaScriptCore.frameworkを削除。
4-3. ターゲット>ビルドスタイルをDeploymentに。
4-4. ターゲット>WebCore>GCCコンパイラ設定にて、その他の
Cコンパイラフラグに-DTEC_PARTIALCHAR_PATCHを追加。
4-5. ビルド
5. できたWebCore.frameworkを/Library/Frameworksにインストール。
/System/Libray/Frameworksをさわりたくないからなのですが、
これでいいのかな。まあ、これでしばらくためしてみます。
# 試行錯誤しながらなので、まちがっ討襪箸海蹐箸?⊂蘢垢覆箸海蹐
# あるかもしれませんが、ご指摘よろしくおねがいします。
Re:コンパイル (スコア:2, 参考になる)
この文字列でテストしていたのですが、インストールしても文字化け解消せず。コンパイルをミスったかなぁと思っていたのですが、この投稿自体がSafariの文字化けから投稿されていたのですね(^^;;
手順の公開ありがとうございました。
部分的な文字化けは解消しています。
Safari Developer News [mac.com]ではパッチが当てられたWebcore.frameworkの配布とインストール方法を説明しています。
Re:コンパイル (スコア:1)
そうなのです。すみません。(^^;
自分で書いたコンパイル手順を読み返してみると、ポイントしか書いてない不親切なものですが、mkinoさんがバイナリを用意してくださったので、もういいかな。
ページ途中の文字化けは、WebCoreをいれかえてから発生していません。これで安心してSafariを使用できます。新井さんに感謝です。
Re:コンパイル (スコア:1)
あれ、やっぱり文字化け発生。/System/Library/Frameworksにいれないといけないのかな。
Re:コンパイル (スコア:1)
/System/Library/Frameworks/WebKit.framework/Frameworks/WebCore.frameworkをいれかえたら、なんだか調子がいいです。これは、いいかも。
Re:コンパイル (スコア:1)
投稿とかで、文字化けした経験はなかったんですが。
HTML表示部分の文字化けが、どうやら本当に皆無になった感じで、これは大歓迎。
でも、上記の方法はシステムを間違っていじる可能性があるから、一般向けではない感じ。
最初、Framework名称の勘違いでSafariが立ち上がらず焦った。
# そのうち誰かがインストーラーつけて配付するような気がする。