このフォントでは太字や斜体が使えない?そんな時に使うCSSのfont-synthesisプロパティ

こんにちは。

今回はfont-synthesisというcssプロパティを説明します。

文字を太字や斜体にしたいのに、できない。

という場面に出くわしたこともあるのではないでしょうか。そのような時はフォントが太字や斜体をもっていないのかもしれません。

今回は、そのような時に使えるfont-synthesisの

・基本的な使い方

について説明します。

font-synthesisとは

font-synthesisの読み方

font-synthesisは「フォント-シンセシス」と読みます。「synthesis(シンセシス)」は日本語では「合成」「統合」という意味です。

font-synthesisの説明

日本語の意味通り、太字や斜体が用意されていないフォントファミリーの場合に、ブラウザが合成していいかどうかを指定するCSSのプロパティです。

使う頻度は少ないプロパティです。

font-synthesisで利用できる値

font-synthesisでは以下の属性を使うことができます。

説明
none  太字およびイタリックの字体を合成しないことを示します。つまり、太字や斜体文字を自動生成しません。
weight  必要であれば、太字の字体を合成してよいことを示します。フォントファミリーに太字や斜体が無いとき、ブラウザは太字の合成はできますが斜体はできません。
style  必要であれば、イタリックの字体を合成してよいことを示します。フォントファミリーに太字や斜体が無いとき、ブラウザは太字の合成はできませんが、斜体はできます。
weight style  デフォルト値です。フォントファミリーに太字や斜体が無いとき、ブラウザはどちらも合成することができます。

対応ブラウザ

対応ブラウザは以下の通りです。対応しているブラウザは少ないです。

PC用ブラウザ 対応状況
Chrome 非対応
Edge 非対応
Firefox  34
Internet Explorer  非対応
Opera  非対応
Safari  9
スマートフォン用ブラウザ 対応状況
Android webview 非対応
Android版Chrome  非対応
Android版Firefox  34
Android 版 Opera  非対応
iOS版Safari  9
Samsung Internet  非対応

font-synthesisの基本的な使い方

では、font-synthesisの使い方をみてみましょう。

font-synthesisの使い方

font-synthesisの使い方です。

書き方はCSSの基本に沿って

セレクター、プロパティ、値

と書いてください。

まずは何も指定していない場合。

See the Pen
zYKEPNY
by Sachiko (@yivliriy)
on CodePen.

日本語の太字や斜体を合成しないときの例です。

See the Pen
zYKEPNY
by Sachiko (@yivliriy)
on CodePen.

日本語の太字を合成し、斜体にしない時の例です。

See the Pen
zYKEPNY
by Sachiko (@yivliriy)
on CodePen.

日本語の斜体を合成し、太字にしない時の例です。

See the Pen
zYKEPNY
by Sachiko (@yivliriy)
on CodePen.

日本語の太字も斜体も合成するときの例です。

See the Pen
zYKEPNY
by Sachiko (@yivliriy)
on CodePen.

もともとweight styleがデフォルトになっていますので、あえてfont-synthesisプロパティを使うときは何かを許可しない場合が多く、両方指定するために使うことはあまり見ないかもしれません。

*:lang(ja)
「*(アスタリスク)」はユニバーサルセレクターですべての要素という意味です。

:lang(〇〇) というセレクターは言語擬似クラスで、「要素の lang属性が〇〇になっているもの」。「ja」は日本語です。

font-synthesisと関連するプロパティ

font-style

font-styleとはフォントのスタイルを指定するプロパティです。

通常体 (normal)、筆記体 (italic)、斜体 (oblique) あります。

通常体  normal

font-styleの値をnormalにすると通常体で表示されます。

筆記体 italic   、斜体 oblique

font-styleの値をitalicあるいはobliqueにすると、テキストが斜体で表示されます。(日本語のフォントではitalicもitalicも、ブラウザでは表示されるときには同じになります。)

font-weight

font-weight は、フォントの太さ を指定するCSS のプロパティです。実際に表示されるフォントの太さは、現在設定されている font-family に依存する場合があります。

基本となるnormalとboldを使います。下記のように書くことができます。
normal(通常)

normalは通常の太さで、初期値に設定されています。

bold(太字)

bolder(相対的により1段階太い)

lighter(相対的により1段階細い)

font-synthesisの応用的な使い方

アラビア語などの特定の言語は、表示されるときに斜体になります。このような特定の言語を斜体とか太字にしたくない場合に、一回で指定できて便利です。

arはアラビア語です。

まとめ

いかがでしたか?

今回は、フォントが太字や斜体を持っていないときに使えるfont-synthesisの

・基本的な使い方

について説明しました。

対応しているブラウザが少ないので、あまり使う機会はないかもしれません。しかし、覚えておいて損はないでしょう。

参考文献:W3C 仕様書|フォントモジュール

 

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?