woff、ttf、および otf ファイルのデータ URIを使用して、 The New Bulletproof @Font-Face Syntaxの行に沿って何かを作成するために、
コンパスのfont-face
mixin をinline-font-files
andと共に使用しています。font-files
私は eot (データ URI に対する IE サポートがないため) と svg ファイル (私が推測する #FontName ハッシュのため) には相対 URL を使用します。そのためのパラメーターがあるため、eot ファイルは問題を引き起こしませんがfont-face
、Compass では svg を他の形式と同じように扱うためinline-font-files
、フォント データを含めるために使用することはできません。これは、svg バージョンもインラインになるためです。
font-face
以下のようなものを返す方法はありますか:
@font-face {
font-family: 'PTSans';
src: url('pts55fwebfont.eot');
src: url('pts55fwebfont.eot?#iefix') format('embedded-opentype'),
url('data:WOFF_DATA') format('woff'),
url('data:TTF_DATA') format('truetype'),
url('pts55fwebfont.svg#PTSansRegular') format('svg');
font-weight: normal;
font-style: normal;
}
問題は、svg バージョンが標準 URL を使用できるようにしながら、woff、otf、および ttf バージョンでデータ URI を使用する方法を理解できないことです。私が思いついた最高のものはこれです:
@include font-face('PTSans', inline-font-files('ptsans/pts55fwebfont.woff', woff, 'ptsans/pts55fwebfont.ttf', truetype), 'ptsans/pts55fwebfont.eot', normal, normal);
@include font-face('PTSans', font-files('ptsans/pts55fwebfont.svg#PTSansRegular'), $weight: normal, $style: normal);
これにより、svg が独自の @font-face に分割されます。異なるウェイトとスタイルを使用して、同じファミリ名で複数の @font-face ルールを作成できる同じアカウントで有効な CSS ですか? その場合、上記の CSS の例と同じように機能しますか (そう思われます)? もちろん、Compass/sass でこれを達成するためのより良い方法はありますか?