2

Web フォントを使用している場合でも、font-weight:normal と font-weight:400 が同等であると想定することは妥当ですか?

4

2 に答える 2

3

の値ではfont-weightnormal定義により、 を意味し400ます。これはフォントに依存しません。

を使用すると、書体が実際にはボールド (またはライトなど) である場合でも@font-face、フォント フェイスを通常の太さとして宣言することによって (デフォルトで 、 または に設定することによって) 不正行為を行うことができますfont-weight。Fontsquirrel @font-face ジェネレーターはこれを行います: 各書体を効果的にフォント ファミリーとして定義します。例:normal400

/* 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ます。

于 2013-02-03T07:55:30.377 に答える
1

これは決定的な答えではないかもしれませんが、今のところやらなければならないでしょう-私は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));

将来のバージョンがよりサイレントな「スマート変換」を試み始めた場合に備えて。

于 2013-02-03T07:02:19.893 に答える