【28】ボールドやイタリックを合成するか決める font-synthesis
最終更新日:2018年04月17日 (初回投稿日:2018年04月17日)
font-synthesisプロパティは、フォントファミリーの中に「ボールド・イタリック」が無い場合に、ブラウザが合成してよいかを制御するプロパティです。
synthesis(シンセシス)は「合成」と言う意味。
このプロパティは今のところ Firefox しか実装してないっぽいです。Can I Use に項目すら無いw ので実装状況はわかりませんが。(2018年4月記)
参考:
・CSS Fonts Module Level 3 | W3C Candidate Recommendation
・font-synthesis - CSS | MDN
font-synthesisプロパティの値
font-synthesisプロパティの値 | |
---|---|
キーワード | none weight style weight style がデフォルト値 |
グローバル値 | font-synthesis: inherit; 親の値を継承(コレ書かなくても継承するけど) font-synthesis: initial; 継承した親の値を解消しデフォルト値に戻す font-synthesis: unset; 値を解除。親から継承されてるなら inherit、継承されてないなら initial と同じ動作 |
値の継承 | あり | 適用できる要素 | 全部 |
---|
font-synthesisプロパティの使い方
font-synthesisプロパティの値の使い方は、以下の4パターン。
- font-synthesis: weight style
デフォルト値。weight と style を半角スペースで区切っています。
フォントファミリーに「bold・italic」が無いとき、ブラウザが合成するのを どっちも許可する。 - font-synthesis: weight
フォントファミリーに「bold・italic」が無いとき、ブラウザは「bold」の合成はOKだが「italic」はダメ。 - font-synthesis: style
フォントファミリーに「bold・italic」が無いとき、ブラウザは「bold」ダメ「italic」はOK。 - font-synthesis: none
フォントファミリーに「bold・italic」が無いとき、ブラウザはどっちも合成不可。
試してみます。(Firefox で見てください)
font-synthesis: weight style
This property controls whether user agents are allowed to synthesize bold or oblique font faces when a font family lacks bold or italic faces.
font-synthesis: weight
This property controls whether user agents are allowed to synthesize bold or oblique font faces when a font family lacks bold or italic faces.
font-synthesis: style
This property controls whether user agents are allowed to synthesize bold or oblique font faces when a font family lacks bold or italic faces.
font-synthesis: none
This property controls whether user agents are allowed to synthesize bold or oblique font faces when a font family lacks bold or italic faces.
Firefox(Mac)ではこのようにプレビューされています。
フォントを「MS ゴシック」や「Osaka」にしたら効きました。それ以外だと Firefox でも動作しなかった。
フォントファミリーの中に、もともとボールドやイタリックがあると効かないのかな?
上のサンプルのソースコードはこちら。
font-synthesis は <p>要素に直接指定しています。
<div class="mihon">
<p style="font-synthesis: weight style">
<span class="green">font-synthesis: weight style</span><br>
This property controls whether user agents are ...</p>
<p style="font-synthesis: weight">
<span class="green">font-synthesis: weight</span><br>
This property controls whether user agents are ...</p>
<p style="font-synthesis: style">
<span class="green">font-synthesis: style</span><br>
This property controls whether user agents are ...</p>
<p style="font-synthesis: none">
<span class="green">font-synthesis: none</span><br>
This property controls whether user agents are ...</p>
</div>
<style>
.mihon p {
font-weight:bold;
font-style: italic;
font-family: Osaka,"MS ゴシック", "MS Gothic", sans-serif;
margin:1.5em 0;
}
.green {color:#579961}
</style>
font-synthesis の実際の利用シーン
W3C の仕様書に以下の例が出ています。
ある特定の言語のフォントで、斜体とかボールドにしたくない場合に、一発指定できて便利、という使い方がオススメみたいです。
/*アラビア語の「斜体・ボールド」の合成を無効にしています*/
*:lang(ar) { font-synthesis: none; }
:lang(◯◯) というセレクタは「言語擬似クラス」と言って、「要素の lang属性が◯◯になっているもの」をセレクタにします。「ar」はアラビア語です。
「*(アスタリスク)」は ユニバーサルセレクタ と言って、全部の要素という意味。
ということで、上のサンプルは「lang属性がアラビア語になっている全要素」をセレクタにして、ボールドもイタリックもNGにしています。
この font-synthesisプロパティも、前回のfont-size-adjustプロパティと同様、Firefox しか対応していないのが難点...。勧告時に残るかな〜?(2018年4月記)
次回予告
次回は 自動でカーニングしてくれる font-kerningプロパティを使ってみます。
これは IE11, Edge 以外は実装しているので、スマホ用サイトならすぐ使えそうです。
- 関連記事
-
- 【30-6】漢字や仮名のための font-variant-east-asian
- 【30-5】文字の代替えを指定する font-variant-alternates
- 【30-4】数字の表示方法を指定する font-variant-numeric
- 【30-3】リガチャ(合字)を指定する font-variant-ligatures
- 【30-2】上付き・下付き文字を指定する font-variant-position
- 【30-1】スモールキャップなどを指定する font-variant-caps
- 【29】文字間を自動調整してくれる font-kerningプロパティ
- 【28】ボールドやイタリックを合成するか決める font-synthesis
- 【27】フォントサイズを調整する font-size-adjustプロパティ
- (ちょっとメモ)CSS3とは? CSSのモジュールやレベルについて
- (ちょっとメモ)@font-face で Webフォントを使おう
- 【26-7】フォントをまとめて指定する fontショートハンドプロパティ
- 【26-6】line-heightプロパティで 行間(行の高さ)を指定しよう
- 【26-5】font-styleプロパティでフォントを斜体に指定しよう
- 【26-4】font-stretch で condensed などの文字幅を選択しよう
初心者にも使いやすい(と思う)レンタルサーバー
「初心者ですがレンタルサーバーはどこがいい?」というご質問をよくいただきます。
自由にファイルをアップロードできる自分のサーバがあると便利ですよね。ローカル環境じゃなくサーバ上で試してみたい時がありますからね。
私が使っているのは、
スターサーバーや ロリポップ!
です。どちらも管理画面がわかりやすく、マニュアルも充実していて、料金も安い。どちらもライトプラン以上で WordPress が使えます。
初心者が始めやすいサーバだと思います。
ちょっと料金は高いけど、さくらのレンタルサーバや、エックスサーバー
は、やはり老舗なのでおすすめです。
両方とも高スペックでコスパが良く、老舗でユーザーが多いので、質問する場がたくさんあります。初心者だけど仕事でサーバが欲しい場合は、安心なのではないかと思います。
スポンサーリンク