2012/06/17

[rails] Rails3でWebフォントを使う。

Webフォントは、サーバーサイドにフォントを配置し、サーバーサイドが指定したフォントを クライアントに使用させる仕組みです。
Rails3で、Webフォントを使用する場合の手順を書きます。
(本当にこれでいいのか自信がありませんが、それらしく動きました。)

  1. まず、フォントファイルを配置するディレクトリを作り、フォントファイルを配置します。
    僕は、{Rails.root}/app/assets/fonts というディレクトリを作りました。
    フォントファイルは、ttf形式のみです。(IEのこととかはここでは考えず。)
  2. CSSにフォントを定義します。
    まず、@font-faceの定義。(下はSCSSの記載です。)
    @font-face{
      font: {
        family: 'migmix-1p';
        weight: 'normal,bold';
        style:  'normal';
      }
      src: asset-url('migmix-1p-regular.ttf', font) format('truetype'),
           asset-url('migmix-1p-bold.ttf', font)    format('truetype');
    }
    
    asset-urlは、Rails3のassets pipelineで、assetに対するパスを解決してくれるヘルパです。
    次に、@font-faceの適用。
    全てのコンテンツにWebフォントを使用したかったので、body要素に上記フォントを指定。
    body {
      :
      font-family: 'migmix-1p';
      :
    }
    
  3. 最後に、application.rbを編集し、assetsパスにfontsを追加します。
    config/application.rbに、以下の設定を追加します。
    config.assets.paths << "#{Rails.root}/app/assets/fonts"
    
  4. Webフォントが適用されていることを確認します。

Rails3でWebフォントを利用する方法について書きました。
より適切な方法をご存じの方がいらしたら、コメントいただけると嬉しいです!

0 件のコメント: