今週、@font-face
構造体を使用して EOT フォント ファイルを埋め込む際に、IE7 のかなり奇妙なバグ (驚き、驚き) に遭遇しました。
帯域幅を節約するために、サイトで使用されないことがわかっているフォントの文字セットを編集することがよくあります。この特定の例では、すべてタイトル ケースで構成されたヘッダーにこのフォントを使用していましたが、text-transform
プロパティを使用して大文字で表示されていました。論理的には、小文字を使用しないため、すべてのフォント ファイルを大文字のみで保存しました。
@font-face
このサイトは、IE7 を除いて、この構造をサポートするすべてのブラウザー (IE6 および IE8 を含む) で完全にレンダリングされました。IE7 では、各単語の最初の文字のみが適切なフォントで表示され、残りの文字はブラウザのデフォルト フォントで表示されていました。
頭を悩ませていると、text-transform
プロパティが展開され、文字が大文字で表示されていたとしても、ヘッダーは実際にはタイトル ケースとして記述されている (したがって小文字が含まれている) ため、IE7 では EOT ファイルに小文字が存在する必要があることがわかりました。大文字を表示します。(直感ですよね?)
簡単な修正は、大文字と小文字の両方のグリフを使用して EOT ファイルを再構築することでした。ただし、小文字は使用されていません。
- 問題オンライン: http://www.testdomeinnaam.nl/mike/
どうすればこれを適切に修正できますか? (つまり、フォントに小文字のグリフを含めなくても、IE7 が大文字をレンダリングするようにします。)
ありがとう!