Android系など一部スマホではシステムフォントに明朝体が搭載されておらず、CSSで明朝系を指定しても反映されませんでした。
しかしあれだね、時代は動いているんだ。
Google様がまたやってくれたんです。
その名も
・・・ちょっと「早期アクセス」の意味がわかんなかったんですが、いわゆるベータ版ということのようです。
目次
WEBフォントとは
ユーザーの環境に関係なく、基本的にどんな端末でも同じ書体を再現できる仕組みを WEBフォントと言います。ファイル形式でなら、明朝系を含め、素晴らしいフリーフォントが結構公開されてはいます。
が、フリーとはいえ利用規約がそれぞれに違いますし、やっぱり少しハードルが高いですね。
技術的にも、そのフォントファイルをいったんダウンロードさせてもらい、環境ごとに読み込めるフォーマットが違うので何種類かに変換したものを用意して、それらをサイトのサーバーにアップして、そのファイルを参照するためのコードを環境別に全部CSSに書いて…と、かなり面倒な手間がかかります。
例えば私が「ふもみち体」みたいなオリジナルフォントを作ったとしたら、フォントファイルのフォーマットを四つほど用意し、ブログのサーバーに全部アップロードして、スタイルシートに
@font-face { font-family: 'ふもみち体'; font-style: normal; font-weight: 400; src: url(ファイルパス/HumomitiFont.eot); src: url(ファイルパス/HumomitiFont.eot?#iefix) format('embedded-opentype'), url(ファイルパス/HumomitiFont.woff2) format('woff2'), url(ファイルパス/HumomitiFont.woff) format('woff'), url(ファイルパス/HumomitiFont.ttf) format('truetype'); }こんな指定をして、やっとWEBで使えるようになります。
この面倒な手順を踏まなくて済む仕組みがCDNです。
フォントを読み込むためのややこしいコードがあらかじめCSSにまとめてあり、ユーザーはそのリンクを読むだけ。
各種フォーマットのフォントファイルの参照には、多数のアクセスがあっても落ちない強力な外部サーバー、またはWEB上のキャッシュで対応していて、サイトのサーバーにファイルを置く必要がありません。
OSに関係なく、フォントのデータをWEBから持ってくるWEBフォントのCDNがあるのは知ってたんですが、以前調べた時には、CDN形式でフリーで使える日本語WEBフォントが(一つしか)無かったので、そのように記事に書いたことがあります。
サンプル
前置きが長くなりましたが、Google が公開した「日本語 早期アクセス」のフォントがどんなものか、実際に表示してみましょう。フォントのデータが無い文字が目立つように、代替テキストの serif 系と sans-serif 系を敢えて逆にしています。
M+1p
link | <link rel="stylesheet" href="https://fonts.googleapis.com/earlyaccess/mplus1p.css"> |
style | font-family:'Mplus 1p', sans-serif; |
アラサーだよ!(27)
全國區の魑魅魍魎
「昏鐘鳴の音が聞こえるか?」
Glossy future
いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす ん
Rounded M+ 1c
link | <link rel="stylesheet" href="https://fonts.googleapis.com/earlyaccess/roundedmplus1c.css"> |
style | font-family:'Rounded Mplus 1c', sans-serif; |
アラサーだよ!(27)
全國區の魑魅魍魎
「昏鐘鳴の音が聞こえるか?」
Glossy future
いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす ん
はんなり明朝
link | <link rel="stylesheet" href="https://fonts.googleapis.com/earlyaccess/hannari.css"> |
style | font-family:'Hannari', serif; |
アラサーだよ!(27)
全國區の魑魅魍魎
「昏鐘鳴の音が聞こえるか?」
Glossy future
いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす ん
それを逆用して、代替フォントにゴシック系を指定すれば、ゴシック漢字+明朝かな、のナンチャッテ漫画フォントになりますね。
こころ明朝
link | <link rel="stylesheet" href="https://fonts.googleapis.com/earlyaccess/kokoro.css"> |
style | font-family:'Kokoro', serif; |
アラサーだよ!(27)
全國區の魑魅魍魎
「昏鐘鳴の音が聞こえるか?」
Glossy future
いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす ん
こちらもひらがな・カタカナのみ。
さわらび明朝
link | <link rel="stylesheet" href="https://fonts.googleapis.com/earlyaccess/sawarabimincho.css"> |
style | font-family:'Sawarabi Mincho', serif; |
アラサーだよ!(27)
全國區の魑魅魍魎
「昏鐘鳴の音が聞こえるか?」
Glossy future
いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす ん
ただし、JIS第2水準にはほぼ未対応。
さわらびゴシック
link | <link rel="stylesheet" href="https://fonts.googleapis.com/earlyaccess/sawarabigothic.css"> |
style | font-family:'Sawarabi Gothic', sans-serif; |
アラサーだよ!(27)
全國區の魑魅魍魎
「昏鐘鳴の音が聞こえるか?」
Glossy future
いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす ん
明朝の方が作るの難しいんですかね。
ニクキュウ
link | <link rel="stylesheet" href="https://fonts.googleapis.com/earlyaccess/nikukyu.css"> |
style | font-family:'Nikukyu', fantasy; |
アラサーだよ!(27)
全國區の魑魅魍魎
「昏鐘鳴の音が聞こえるか?」
Glossy future
いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす ん
ひらがなを書いてもカタカナに置き換えられます。
カタカナでも「ヰ」と「ヱ」がありません。
ニコモジ
link | <link rel="stylesheet" href="https://fonts.googleapis.com/earlyaccess/nicomoji.css"> |
style | font-family:'Nico Moji', sans-serif; |
アラサーだよ!(27)
全國區の魑魅魍魎
「昏鐘鳴の音が聞こえるか?」
Glossy future
いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす ん
ひらがな、カタカナ、英数字が使えます。
Noto Sans Japanese
link | <link rel="stylesheet" href="https://fonts.googleapis.com/earlyaccess/notosansjapanese.css"> |
style | font-family:'Noto Sans Japanese', sans-serif; |
アラサーだよ!(27)
全國區の魑魅魍魎
「昏鐘鳴の音が聞こえるか?」
Glossy future
いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす ん
JIS第2水準もほぼ表示できるようです。
CJK統合漢字拡張まで対応してくれたら完璧ですが、さすがにまだそこまでは。
設定方法
各リストの附表の「link」「style」の項目をコピペすれば設定できますが、ここでは具体例と、若干の蛇足を。いちばん需要が多そうな、明朝体で漢字が使える「さわらび明朝」を例にします。
他のフォントを使うには、黄色く強調した部分をそのフォントの設定にします。
<link>
タグの設置
以下のタグを、HTMLのなるべく上の方(できれば<head>
内)にコピペします。<link href="https://fonts.googleapis.com/earlyaccess/sawarabimincho.css
" rel="stylesheet" />
その際、記事の一番上に貼ってしまうと、PC版のトップページを表示する時に貼った記事の数だけ同じ
<link>
タグが読み込まれて不経済なので、私は「続きを書く」の方に貼って回避しています。この仕様何とかなりませんかね…
CSS
以下の CSS をスタイルシートに追加、または HTML文書の<style>
タグの中に書き込みます。.wf-SawarabiMincho
{ font-family: 'Sawarabi Mincho
', serif; }
wf-SawarabiMincho
は分り易ければどんな名前でもいいです。セレクタリスト
「アタマにピリオドのついた CSSクラス名」は、「そのクラス名を持つ要素」を表わすセレクタです。このフォントで表示させたいHTML要素に
class="wf-SawarabiMincho"
という属性を与えれば、その要素の中の文字が「さわらび明朝」で表示されます。{}
で囲った一組のスタイルに対して、セレクタは、クラス名以外でも、いくつでも指定できます。.wf-SawarabiMincho, div#sawarabiBox, a[href^="https://"], input[type="radio"]:checked + span, blockquote{ font-family: 'Sawarabi Mincho', serif; }このように指定すると
- 「wf-SawarabiMincho」というクラス名を持った不特定の要素
- 「sawarabiBox」というIDを持った
div
要素 href
属性が「https://」で始まるa
要素- チェックされた状態のラジオボタンの隣にある
span
要素 - 全ての
blockquote
要素
代替フォント
フォントのデータに無い字は代替フォントで表示されます。代替フォントはいくつでも設定でき、先に指定したフォントが無ければ、順次次のフォントを読みに行きます。
逆に、代替フォント名を省略すると、親要素から継承されたフォント、それが特に無ければシステムの標準フォントが適用されます。
空白を含まない半角英数字のフォント名であれば、引用符は省略できます。
sans-serif
、明朝系にはserif
、ソースコード表示用などの等幅フォントにはmonospace
を指定するのが一般的です。これらは具体的なフォント名ではなく、環境の標準フォントを指すキーワードです。
例えば Windows系の環境であれば、
sans-serif
にはMSゴシック、serif
にはMS明朝、などと設定されているはずです。他に筆記体の
cursive
、装飾文字系のfantasy
がありますが、日本語の環境でそこまで設定することはあまり無いようです。HTML文書
class
属性でクラスを指定
<span class="wf-SawarabiMincho">アラサーだよ!</span>これがいちばん普通の方法だと思います。
クラス名長っ!と思ったら、もっと短くしましょう。
style
属性でフォントを直接指定
<span style="font-family:'Sawarabi Mincho', serif">アラサーだよ!</span>こちらはあまりお勧めできないやり方ですが、ピンポイントで使うだけなのでいちいちクラスを作るのも面倒臭いな…という時に。
コメント