パスワードを忘れた? アカウント作成
6073 story

Safari文字化け対策パッチ公開 6

ストーリー by Acanthopanax
ユーザーサイドで修正 部門より

Safari Developer Newsより。正式版となったSafariだが、多バイト文字で構成されたページ途中での文字化けは いまだ解消されていない。これは多バイト文字が途中で切られたときの処理がいいかげんであるためだという。しかしこのほど新井隆浩氏が、この部分の処理をおこなうSafari文字化けパッチを公開した。公開されているのは差分のみなので、試用するにはWebCoreのソースファイルとDeveloper Toolsを用意して、コンパイルをおこなう必要がある。

[Update] Safari Developer Newsにてバイナリが用意された。使用は自己責任にて。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • パッチをあててコンパイルしてみました。環境は、PowerBook G4/400,
    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, 参考になる)

      by t_trace (6746) on 2003年07月09日 4時30分 (#354883) 日記
      ># 試行錯誤しながらなので、まちがっ討襪箸海蹐箸?⊂蘢垢覆箸海蹐
      この文字列でテストしていたのですが、インストールしても文字化け解消せず。コンパイルをミスったかなぁと思っていたのですが、この投稿自体がSafariの文字化けから投稿されていたのですね(^^;;

      手順の公開ありがとうございました。
      部分的な文字化けは解消しています。

      Safari Developer News [mac.com]ではパッチが当てられたWebcore.frameworkの配布とインストール方法を説明しています。
      親コメント
      • この投稿自体がSafariの文字化けから投稿されていたのですね(^^;;

        そうなのです。すみません。(^^;

        自分で書いたコンパイル手順を読み返してみると、ポイントしか書いてない不親切なものですが、mkinoさんがバイナリを用意してくださったので、もういいかな。

        ページ途中の文字化けは、WebCoreをいれかえてから発生していません。これで安心してSafariを使用できます。新井さんに感謝です。

        親コメント
    • あれ、やっぱり文字化け発生。/System/Library/Frameworksにいれないといけないのかな。

      親コメント
      • /System/Library/Frameworks/WebKit.framework/Frameworks/WebCore.frameworkをいれかえたら、なんだか調子がいいです。これは、いいかも。

        親コメント
        • by deleted user (13818) on 2003年07月09日 4時21分 (#354880)
          上記の通りやってみると、確かにHTML表示で文字化けは見かけなくなりましたね。
          投稿とかで、文字化けした経験はなかったんですが。
          HTML表示部分の文字化けが、どうやら本当に皆無になった感じで、これは大歓迎。

          でも、上記の方法はシステムを間違っていじる可能性があるから、一般向けではない感じ。
          最初、Framework名称の勘違いでSafariが立ち上がらず焦った。

          # そのうち誰かがインストーラーつけて配付するような気がする。
          親コメント
typodupeerror

日々是ハック也 -- あるハードコアバイナリアン

読み込み中...