Web フォントを使用している場合でも、font-weight:normal と font-weight:400 が同等であると想定することは妥当ですか?
2 に答える
の値ではfont-weight
、normal
定義により、 を意味し400
ます。これはフォントに依存しません。
を使用すると、書体が実際にはボールド (またはライトなど) である場合でも@font-face
、フォント フェイスを通常の太さとして宣言することによって (デフォルトで 、 または に設定することによって) 不正行為を行うことができますfont-weight
。Fontsquirrel @font-face ジェネレーターはこれを行います: 各書体を効果的にフォント ファミリーとして定義します。例:normal
400
/* Generated by Font Squirrel (http://www.fontsquirrel.com) on January 22, 2013 */
@font-face {
font-family: 'source_sans_probold';
src: url('sourcesanspro-bold-webfont.eot');
src: url('sourcesanspro-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('sourcesanspro-bold-webfont.woff') format('woff'),
url('sourcesanspro-bold-webfont.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
これは、実際に使用されている書体が太字のデザインであっても、要素が のfont-weight
値を持つ可能性があることを意味します。400
400
これはvs.の使用とはまったく関係がnormal
なく、フォントの太さだけではありません。FontSquirrel は と同じゲームをプレイしfont-style
ます。
これは決定的な答えではないかもしれませんが、今のところやらなければならないでしょう-私はGoogleWebFontsの617フォントの現在のセット全体を調べました。私が見ることができるものから、Normalは常に400です。現在のすべてのフォントはNormal、400を指定します。
私が追加しなければならないことの1つは、いくつかのWOFFフォント、たとえばOpen Sans Condensedがありますが、実際には「通常」のスタイルはまったくありません。ただし、これはNormal=400の仮定を破るべきではありません。
これがChromeの興味深い落とし穴です。font-weight:700をfont-weight:boldにサイレントに置き換えます。他のフォントの太さではそれを行おうとはしません。それでも、数値に依存している場合は、必要な置換を行うサイレントテストを行うのが最善です。の線に沿った何か
var sample = $('#fontSampleA');
var fontwt = sample.css('font-weight');
fontwt = ('normal' == fontwt)?400:(('bold' == fontwt)?700:(('book' == fontwt)?300:fontwt));
将来のバージョンがよりサイレントな「スマート変換」を試み始めた場合に備えて。