font-familyプロパティ。

CSSに於いて、当該要素の出力で優先して利用されるべきフォント・font-familyプロパティに関する解説です。

font-familyプロパティとは。

font-familyプロパティは、当該要素の出力で優先して利用されるべきフォントです。

フォントは複数指定する事も出来、その場合には前から順番に対応可能なフォントを撰びます。

また、指定されたフォントがない環境向けに、利用されたいフォントの系統を指定する事も出来ます。

font-familyプロパティの扱い。

font-familyプロパティの書式。

font-familyプロパティの書式は、以下のようになります。

font-family:

値としては、以下のものが取れます。

inherit
一番近い上位要素で指定されたフォントを継承します。
一個以上のフォント
フォントについては、以下に挙げるものが使えます。

これらのフォントは、「,」で区切って複数指定する事が出来ます。

複数指定されている場合、各文字毎に実装されているフォントを前から順に見出します。

  • 例えば日本語文書で漢字・仮名文字と半角英字が混入している場合、日本語のフォント名とラテン文字のフォント名が指定されていれば、それぞれ適切なフォントが選択されます。

フォントとしては、以下のものが使えます。

実装されるフォント名
例えばウィンドウズでは"MS ゴシック"などのフォント名でインストールされておりますが、こう言ったフォント名を直接指定します。
  • 空白文字が含まれる場合は「"」または「'」の引用符で囲む事が望まれます。
  • 仕様上は、引用符で囲まなくても
    • フォント名の前後の空白は無視され、
    • フォント名の途中にある空白文字は一文字に纏められる

    事になっておりますが、実装上の問題があり得るので、引用符で囲むのが無難でしょう。

フォント系統のキーワード
仕様で規定されているフォント系統を表すキーワードです。

現在、以下の五つが規定されております。

serif
セリフを持つフォント。日本語では明朝体が該当します。
sans-serif
セリフを持たないフォント。ゴシック体が該当します。
cursive
草書体(筆記体)フォント。
fantasy
装飾文字フォント。
monospace
等幅フォント。日本語では等幅ゴシック体とする事が多いようです。

この値を指定する事で、指定されたフォント名が実装されていない環境でも適切なフォントが選択されるようになります。

  • キーワードは引用符で囲んではいけません。

font-familyプロパティの記述例。

例えば、"MS Pゴシック"(ウィンドウズの不等幅ゴシック体), "Osaka"(マッキントッシュの不等幅ゴシック体)及びゴシック体を指定する場合は、

* {
    font-family: "MS Pゴシック", "Osaka", sans-serif;
    }

と記述します。

この場合、優先順位としては

  1. "MS Pゴシック"
  2. "Osaka"
  3. 閲覧者が環境設定でゴシック体として指定したフォント

となります。

font-familyプロパティに関する注意事項。

font-familyプロパティの仕様上の注意。

font-familyプロパティで指定されたフォントが使えない場合。

font-familyプロパティの値に適切なフォントが無い場合は、ユーザエージェントに実装されているフォントから適切なものを撰ぶ事とされております。

font-familyプロパティのデフォルト値。

font-familyプロパティのデフォルト値はユーザエージェント依存となります。ユーザエージェントでのフォント設定があれば、それに従う事でしょう。

font-familyプロパティの使用上の注意。

  • 仕様上はフォント名を引用符で囲まなくてもフォロー出来るようになっておりますが、実際にはフォロー出来ない場合が多いようですので、必ずフォント名は引用符で囲んでおきましょう。
  • フォントは環境により様々ですので、必ずフォントキーワードを最終的な選択肢として利用出来るようにしておきましょう。
  • 特に、OS標準でないフォントは誰もがインストールしているとは言えないので、必ず代わりのフォントも指定しておきましょう。
  • また、日本語フォントには半角英数字が含まれている事を忘れないで下さい。つまり、複数フォントを指定する際にラテン文字のフォントを日本語フォントより後方に記述すると、ラテン文字にも前方で指定している日本語フォントが撰ばれてしまい、折角の指定が無視されてしまいます(しかし、インターネットエクスプローラで問題が生じる事があります)。

font-familyプロパティの実装上の注意。

ネットスケープ 4.xでの注意事項。

ネットスケープ 4.xでは、事実上font-familyプロパティは使えません。

  • 全角文字をフォント名に含む場合、文字化けの原因にさえなります。

インターネットエクスプローラでの注意事項。

日本語文字で文字化けが起こる場合があります。

ウィンドウズ Meでのインターネットエクスプローラでは、sans-serif(ゴシック体)を指定すると文字化けする事があります。

このため、sans-serif(ゴシック体)を指定する場合は、その前に"MS Pゴシック"などのフォント名を指定しておきましょう。

フォントが適切に選択されない場合があります。

また、複数フォントを列記している場合、有効なラテン文字フォントが有効な日本語フォントより前に書かれていると、日本語文字もそのラテン文字フォントと同じ系統の日本語フォントが選択されてしまいます。

例えば、

font-family: "Arial", "MS ゴシック", "Osaka-等幅", monospace;

と指定した場合、すなわち、ウィンドウズに装備されているラテン文字フォントを指定すると、プロパティの指定を問わず"MS Pゴシック"を選択してしまいます。

この対策としては、日本語フォントを前に出す事ですが、そうするとラテン文字もその日本語フォントで表示出来てしまうため(日本語フォントには半角英数字も含まれているため)、ラテン文字の個別の指定が無効になってしまいます。

WAP 2.0での注意事項。

WAP 2.0でもfont-familyプロパティは実装されておりますが、事実上キーワード指定に限られます。

関連項目。


しらぎくのウェブサイト作成入門サイトマップ