Lionを実行している同じMacBookでChromeでなくSafariを使用すると、useのような絵文字が表示されるのはなぜですか?どちらのブラウザーもWebKitを使用しており、フォントのサポートはアプリケーションではなくOSからのものだと思います。
参考のために、これはChrome 17.0.963.56でレンダリングされたページです。
これは、Safari 5.1.3(7534.53.10)でレンダリングされたページです。
Lionを実行している同じMacBookでChromeでなくSafariを使用すると、useのような絵文字が表示されるのはなぜですか?どちらのブラウザーもWebKitを使用しており、フォントのサポートはアプリケーションではなくOSからのものだと思います。
参考のために、これはChrome 17.0.963.56でレンダリングされたページです。
これは、Safari 5.1.3(7534.53.10)でレンダリングされたページです。
回答:
違いは、ブラウザウィンドウのレンダリングエンジンです。
Safariは、Chromeとは異なる方法で文字セットをレンダリングします。しかし、ウィンドウUI要素(Chromeのタブ)は大丈夫です。それが私たちの最大の手がかりです。
ウィンドウのUI要素は、OSによってすべてレンダリングされている可能性が高い(おそらく、ここでは正しくない可能性があることを強調しています)。そのため、OSレベルの完全な絵文字拡張処理を利用できます。
ただし、Webブラウザーウィンドウ内で何が起こるかは、ブラウザーに大きく依存しています。レンダリングエンジンは、各ブラウザーの秘密のソースの大きな部分です。
SafariとChromeはどちらもWebKitを使用しますが、使用するWebKitインスタンス間の類似性はエンジンの名前のどこかで止まります。どちらもメインバージョンからの分岐点であり、各ブラウザー開発チームがエンドユーザーにとって意味があると考える方法でパフォーマンスを改善するために大幅にカスタマイズされています。
@JasonSalazは、Chromeのバグデータベースで、WebKitフォークの問題であるという最終的な手がかりとなる大きなバグを発見しました:http ://code.google.com/p/chromium/issues/detail?id=90177- そのバグはChromeのフォークとオープンソースプロジェクトのWebKitのメインラインの違いについて話します。メインラインにはレンダリングの違いがあり、Chromeが使用しているバージョンにはまだ反映されていません。そして、彼らはある時点で変更をマージするつもりのようです。
更新:Paul Irishが、WebKitを現在使用しているこれらすべてのブラウザーでWebKitがどのように異なるかについての素晴らしいブログ投稿をしています。WebKit環境がいかに多様であるかを本当に理解したいのであれば、これは素晴らしい読み物です。
問題は、ブラウザが表示しているドキュメントとは異なる文字エンコーディングを使用していることです。
では、ブラウザはどの文字エンコーディングを使用するのかをどのようにして知るのでしょうか?
Content-Type
ヘッダーを使用して指定できます。meta
要素を使用してHTMLドキュメントに指定できます。charset
属性を使用して、特定のHTML要素に指定できます。これらのいずれも指定されていない場合、異なるブラウザは異なる技術を使用して適切な文字エンコーディングを推測します。ヒューリスティックを使用するものもあります。一部のオプションでは、ユーザーが文字エンコードを指定できます。オペレーティングシステムのデフォルトの文字エンコーディングを選択する人もいます。
これらがどれもうまくいかない場合は、もじばけとしても知られている意味不明なものが得られます。
あなたの質問に直接答えるために:SafariとChromeは正しい文字エンコーディングを見つけるために異なることを試みています。
Chromeメニューバーに移動し、[その他のツール]→[エンコード]をクリックして、新しいエンコード形式を選択します。私は「Unicode UTF-8」を使用していますが、うまくいくようです。
https://code.google.com/p/chromium/issues/detail?id=62435は最近修正済みとマークされました。バージョン41以降の絵文字はChromeで正常に表示されるはずです。
シンボルはAppleによって作成されたキャラクターです。Safariは独自の文字セットを使用します。