この回答に対して寄せられたコメント (および不要な反対票) を考慮して、回答を次のように修正しました。
Rails は、assets フォルダー内のフォントを処理する方法を作成したようです。これは呼び出されfont-path
、次のように機能します。
カスタム フォントを /assets/fonts フォルダーに追加すると、
font-path
ヘルパーを使用してその中のファイルにアクセスできます。font-path
これは、ヘルパーを使用してスタイルシートやその他のアセットで使用できます。
|-app/
|---assets/
|-----fonts/
|-----images/
|-----javascripts/
|-----stylesheets/
@font-face {
font-family:'icofonts';
src:font-url('icofonts.eot');
src:font-url('icofonts.eot?#iefix') format('embedded-opentype'),
...
}
これは、プリコンパイルされたアセット (とにかく Heroku が行う) と静的アセットで機能します。これを実現するRails 4以前の方法が必要な場合は、以下の私の回答を参照してください。
こちらの Heroku で動作するフォントがあります: http://firststop.herokuapp.com (まだデモ中です)
そのための CSS は次のとおりです。
#assets/application.css
/*-- Akagi Font --*/
@font-face {
font-family: 'akagi';
src: url('fonts/akagi-th-webfont.eot'),
src: url('fonts/akagi-th-webfont.eot?#iefix') format('embedded-opentype'),
url('fonts/akagi-th-webfont.woff') format('woff'),
url('fonts/akagi-th-webfont.ttf') format('truetype'),
url('fonts/akagi-th-webfont.svg#akagithin') format('svg');
font-weight: 300;
font-style: normal;
}
@font-face {
font-family: 'akagi';
src: url('fonts/akagi-bk-webfont.eot');
src: url('fonts/akagi-bk-webfont.eot?#iefix') format('embedded-opentype'),
url('fonts/akagi-bk-webfont.woff') format('woff'),
url('fonts/akagi-bk-webfont.ttf') format('truetype'),
url('fonts/akagi-bk-webfont.svg#akagibook') format('svg');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'akagi';
src: url('fonts/akagi-sb-webfont.eot');
src: url('fonts/akagi-sb-webfont.eot?#iefix') format('embedded-opentype'),
url('fonts/akagi-sb-webfont.woff') format('woff'),
url('fonts/akagi-sb-webfont.ttf') format('truetype'),
url('fonts/akagi-sb-webfont.svg#akagisemibold') format('svg');
font-weight: 500;
font-style: normal;
}
フォントを/stylesheets/fonts folder
すべての CSS を Heroku で動作させるために標準のプリコンパイル フォントを実行するだけで、動作します。あなたのパスは正しくないと思います。フォント ディレクトリを /assets/stylesheets フォルダに移動してみてください:)