Ruby on Railsでwebfontをサブセット化して、assets以下で読み込む方法

シェアする

Googleからホストされているwebfontで実装して、CSSにインポートなどをしている方が多くいますが、ファイルサイズを見てみると非常に重いケースが多々あります。ウェブサイトでのパフォーマンスは検索順位にも影響しますので、実装する時には注意が必要。今回はRuby on Railsで開発しているウェブサービスにウェブフォントを導入する時の流れをご紹介します。

▼当サイトで申込みが多いプログラミングスクール・教室はこちら!

【1位】WebCamp(ウェブキャンプ)【5ヶ月連続!】

【2位】CodeCamp(コードキャンプ)【急上昇!】

【3位】WebCamp PRO (ウェブキャンププロ)【転職保証・年収大幅アップ】

【4位】TechAcademy (テックアカデミー)

【5位】TECH::CAMP (テックキャンプ)

そもそもRuby on Railsでの開発に慣れていないという人

Ruby on Railsは独学でも始められるようにチュートリアルなどが充実しています。

なので、かなり初心者でも利用している人が多いですが、こういったバージョンの違いによって詰まってしまったり、コピペして使っているとどこが間違っているのかわからないで、他のサイトで質問しているというのをよく見かけます。

しかしこれは全く勉強になっていません。自分で学びつつ、どこがダメかしっかりみて先に進める必要があります。本気でRuby on Railsを学習したいのであれば、スクールに通って缶詰で1ヶ月集中してやるなどの方が良いでしょう。

ウェブフォントのサブセット化

PAK105215431_TP_V

Googleが提供しているウェブフォントのサイトからまずは欲しいウェブフォントをダウンロードして来ます。この際ライセンスが無償で使っていいものなのかは確認するようにしておきましょう。

サブセット化に必要なものは下記になりますので、あらかじめダウンロードしておくようにしましょう。一番上のリンクはフォントファイルが並んでいるGoogleのサイトです。欲しいウェブフォントを選んでみてください。

Googleのサイトからフォントファイルをダウンロード

Noto Sans Japanseフォントファイル
https://www.google.com/fonts/earlyaccess

サブセット化するフォントメーカーをダウンロード

無料のサイトですので、安心してダウンロードしてください。

サブセットフォントメーカー
http://opentype.jp/subsetfontmk.htm

woffコンバーター
http://opentype.jp/woffconv.htm

フォントをダウンロードしたら、ダウンロードしたファイルを一番上の窓で参照してください。

その下の参照、ファイルパスの入力できるところはコンバートした後のファイルの保存先を設定してください。他は特にやることがなく入力終了して、そのままコンバーターを起動するようにして保存します。

294_01

出典:https://monochrome-design.jp/blog/294

格納する文字のところに下記のサイトから文字列をコピーしてくるようにします。

出典:http://11neko.com/font-3/

この後にコンバーターを作成開始から起動するようになります。

ウェブフォントを利用できるフォント作成

woffコンバータ」を利用して、ウェブフォントとして利用できるフォントを生成するために利用します。

「EOTファイルを作成する」にチェックを入れて作成するように注意しましょう。

上記のサイトの例だと普通にCSSから読み込んでいますが、Railsではバージョンによっても異なりますし、うまくいきません。

出来上がったファイルをこれから先のフォントファイルの指定方法を参考に読み込んでみてください。

Ruby on RailsでのCSS設定

パズル

Railsは現在バージョンが5まで開発されていますが、それぞれのバージョンで機能が変わったり、書き方が変化します。初心者がRailsを始めた時にこの違いで迷ってしまう事もあります。今回はサブセット化したウェブフォントをどうやって読み込むかをご紹介します。

Rails5ではSCSSを利用してCSSで書かない

SCSSに用意されているasset-pathを利用します。これはもちろん普通のCSSでは用意されている機能ではありませんので使えません。なので、SCSSファイルで記述する必要があります。

SCSSでの記述例

非常にシンプルで、ウェブフォント化した時に使いたい名前が、font-family、その下の記述が、読み込みたいフォントファイル名です。

このフォントファイルはアプリケーションの中の/assets/fonts以下に格納します。よくvendorに設置する人がいますが、正しい位置はassets以下ですので注意するようにしましょう。

こちらは、アイコンとして使う用のウェブフォントを読み込んでいますが、普通にbodyやpタグで利用したいという場合はこのような形になります。
これはNotoというウェブフォントを利用している例です。asset-pathを利用して、ウェブフォントのファイルを読み込んでいますね。

これで簡単にウェブフォントをサブセット化して、ウェブフォントを読み込めるようになりましたね。

rails4でのCSSの設定

rails4ではこちらのfont-pathを使った設定をご紹介している記事がありましたが、これは動作確認してみた所5だと動きませんでした。

rails 4.2で fonts をvendor/assets/fontsに追加してCSSから読む

Ruby on Railsをこれから学習したいという方はこちらの記事もチェック。

シェアする

この記事が気に入ったら
いいね!しよう

Rplayの最新情報をお届けします

TwitterでRplayをフォローする