@font-face指定で、Webfontを使用してみる。
1)サーバーの任意の場所にフォントデータ(.eotと.ttf、.otf)をアップする。
2)cssに指定
@font-face { font-family: 'フォント名'; src: url('フォントのURL/fonts.eot');/* IE */ } @font-face { font-family: 'フォント名'; src: local('フォント名'), /* フォントがローカルにインストールされてる場合の指定 */ url('フォントのURL/fonts.otf') format('opentype'); /* Safari、Chrome、Firefox、Opera */ } p{ font-family: 'フォント名'; }
「font-family」は任意の名前、自分で名前つけてもよし
「url」はフォントをアップしてるサーバーのパス。相対でも絶対でもよし
「local(‘フォント名’)」は、フォントがローカルにインストールされてる場合の指定
@font-faceをまとめて指定すると、IEでWebfontが指定されないので分けて指定する
※「.eot」はIE独自で使う拡張子
「.ttf」を「.eot」に変換してくれるサイト
http://ttf2eot.sebastiankippe.com/
※なにかのとき用
フォントのファイル形式を変換してくれるサイト
http://www.freefontconverter.com/
http://www.fontconverter.org/
【外部サーバーに置いてるwebフォントがある場合】
webフォントを外部URLで指定したことなかったですね。
上記のfont-faceの指定だけでは表示ができないようです。
(厳密にいうとSafariは表示されましたが、Firefox、Chromeはダメでした。IE未確認)
ではどうするかというとwebフォントを置いてる側のサーバーのhtaccessに記述が必要でした。
//htaccessの記述 <FilesMatch ".(eot|ttf|otf|woff)"> Header set Access-Control-Allow-Origin "*" </FilesMatch> #MIMEタイプ AddType application/vnd.ms-fontobject .eot AddType application/x-font-ttf .ttf AddType application/x-font-opentype .otf AddType application/x-font-woff .woff AddType image/svg+xml .svg
■「FilesMatch〜」の記述は「eot」「ttf」「otf」「woff」の拡張子に対してリクエストがあった場合、どこからでのリクエストでも許可しますというもの(”*”はどこからでも)
■「MIMEタイプ」の記述は、サーバーに対して「この拡張子はフォントです」とお知らせしてるもの
このhtaccessをwebフォントを置いてるサーバーにアップしたらwebフォントが表示されました。
※htaccessを触るので、自己責任の上で行ってください。
簡単にまとめて書きましたが、ちょっと深い内容だったので、近々別に投稿して残しておこうかと思います。