6

IE7とIE8では、カスタムWebフォントを使用すると、明示的にfont-style: normalを設定した場合でもテキストがイタリック体で表示されることがあります。問題は散発的です。何度か上手くレンダリングされ、次にリフレッシュされ、すべてがイタリック体で表示され、次にリフレッシュされ、正常に戻ります。この問題を停止しただけの事は完全にイタリック宣言を削除しましたが:this articleカスタムフォントがIE8/IE7のイタリック体でレンダリングされることがあります

@font-face { 
    font-family: 'DIN'; 
    src: url('fonts/DINWeb.eot'); 
    src: url('fonts/DINWeb.eot?#iefix') format('embedded-opentype'), 
     url('fonts/DINWeb.woff') format('woff'); 
    font-weight: normal; 
    font-style: normal; 
} 
@font-face { 
    font-family: 'DIN'; 
    src: url('fonts/DINWeb-Bold.eot'); 
    src: url('fonts/DINWeb-Bold.eot?#iefix') format('embedded-opentype'), 
     url('fonts/DINWeb-Bold.woff') format('woff'); 
    font-weight: bold; 
    font-style: normal; 
} 
@font-face { 
    font-family: 'DIN'; 
    src: url('fonts/DINWeb-Ita.eot'); 
    src: url('fonts/DINWeb-Ita.eot?#iefix') format('embedded-opentype'), 
     url('fonts/DINWeb-Ita.woff') format('woff'); 
    font-weight: normal; 
    font-style: italic; 
} 
@font-face { 
    font-family: 'DIN'; 
    src: url('fonts/DINWeb-BoldIta.eot'); 
    src: url('fonts/DINWeb-BoldIta.eot?#iefix') format('embedded-opentype'), 
     url('fonts/DINWeb-BoldIta.woff') format('woff'); 
    font-weight: bold; 
    font-style: italic; 
} 

Theresのa commentそれは@font-face宣言の順序についての可能性を示している:

私はこの@font-face宣言を使用しています。

Another Stack Overflow answerは、Font Squirrel @ font-face generatorを使用することを示しています。私はこれを行うことはできませんが、私が使用しているウェブフォントファイルはDRMを持っています。

イタリック体の宣言を完全に削除せずにこれを解決する方法はありますか?

更新:さらに調査すると、この問題は互換モードでなくIE8にも影響するようです。

+0

を保存しているだろうことができます。固有の '@ font-face'姓を使用してみてください。例: 'DINnormal、DINbold、DINitalic、DINboldItalic'。この[** SO Answer **](http://stackoverflow.com/a/10273361/1195891)のCSSとHTMLの例を参照してください。一意の名前をつけて問題を解決すれば、私は答えを出します。乾杯! – arttronics

+0

@arttronicsありがとう、一意のフォントファミリ名が問題を解決してしまったことが判明しました。あなたが答えを書くなら、私は先に進んでそれを受け入れるでしょう。 –

+0

アダムシャープ、あなたのためにうれしい嬉しい...私は答えを投稿しました。乾杯! – arttronics

答えて

8

@font-facefont-familyの名前の代わりにカスタム名を作成します。

例:

@font-face { 
    font-family: 'DINnormal'; 
    src: url('fonts/DINWeb.eot'); 
    src: url('fonts/DINWeb.eot?#iefix') format('embedded-opentype'), 
     url('fonts/DINWeb.woff') format('woff'); 
    font-weight: normal; 
    font-style: normal; 
} 
@font-face { 
    font-family: 'DINbold'; 
    src: url('fonts/DINWeb-Bold.eot'); 
    src: url('fonts/DINWeb-Bold.eot?#iefix') format('embedded-opentype'), 
     url('fonts/DINWeb-Bold.woff') format('woff'); 
    font-weight: bold; 
    font-style: normal; 
} 
@font-face { 
    font-family: 'DINitalic'; 
    src: url('fonts/DINWeb-Ita.eot'); 
    src: url('fonts/DINWeb-Ita.eot?#iefix') format('embedded-opentype'), 
     url('fonts/DINWeb-Ita.woff') format('woff'); 
    font-weight: normal; 
    font-style: italic; 
} 
@font-face { 
    font-family: 'DINboldItalic'; 
    src: url('fonts/DINWeb-BoldIta.eot'); 
    src: url('fonts/DINWeb-BoldIta.eot?#iefix') format('embedded-opentype'), 
     url('fonts/DINWeb-BoldIta.woff') format('woff'); 
    font-weight: bold; 
    font-style: italic; 
} 

これらのCSSルールを定義した後、あなたは、特定のCSSルール含めることができます。同様の問題を経験しながら、私のように、あなたはこの質問に出くわした、場合

li { 
    font: 18px/27px 'DINnormal', Arial, sans-serif; 
} 
4

をTypeKitフォントを使用して、this entry from the TypeKit blogは、どのようにしてユニークなの各重量の名前を&のTypeKitフォントの名前に強制することができるかを説明しています。

+0

私はこれをもう一度することができます。私はこのコメントに出くわし、Typekitを使っている間の問題を解決するのを助けました。ありがとう。 – Doidgey

1

IE8(エミュレータ)を使用しているときに掘り下げて掘り下げたときに、イタリック体でウェブフォントが表示されていました。特に、webFontsの場合にエミュレータが誤解を招く可能性があります。実際のIE8でサイトを試してみましたが、私はWindows 7マシンを使用していましたので、実際のものをダウンロードできなかったので、http://www.browserstack.com/というこのサイトを使用しました(テスターまたは偽のブラウザはありません。 、7、8、9、10および11)

と私は私のフォントはもうイタリックではなかった気づい:D

は、ここで私が読んだ記事へのリンク、

http://blog.typekit.com/2013/03/14/the-dangers-of-cross-browser-testing-with-ie9s-browser-modes/

希望これは私がこのような何かに出くわした場合の研究をするときあなたたちは、それは本当にあなたが使用中のあなたのHTMLを提供していなかった私に数時間

関連する問題