PDFKit を使用して Rails で HTML から PDF を作成するまでは、次のように Google フォントをうまく埋め込んでいました。
= stylesheet_link_tag 'http://fonts.googleapis.com/css?family=Rokkitt:400,700'
ただし、PDFKit は PDF にフォントを埋め込んでいませんでした。PDFを生成し、印刷スタイルシートを使用してフォーマットしましたが、埋め込みフォントではなく通常のフォントを使用しました。
そこで、各フォントの EOT、WOFF、TTF、および SVG バージョンを配置/app/assets/fonts
し、画面と印刷スタイルシートによって呼び出される新しいフォント スタイルシートでこの形式に切り替えました。
@font-face {
font-family: 'rokkittregular';
src: font-url('rokkitt-regular-webfont.eot');
src: local('rokkittregular')
font-url('rokkitt-regular-webfont.eot?#iefix') format('embedded-opentype'),
font-url('rokkitt-regular-webfont.woff') format('woff'),
font-url('rokkitt-regular-webfont.ttf') format('truetype'),
font-url('rokkitt-regular-webfont.svg#rokkittregular') format('svg');
font-weight: normal;
font-style: normal;}
繰り返しますが、これは私の通常の HTML ページでは問題なく機能しました。繰り返しますが、PDFKit は私の PDF にフォントを埋め込みませんでした。
これはおそらく PDFKit がフォントを見つけられないことに関係していると仮定して、印刷スタイルシートに埋め込む別の印刷フォント スタイルシートを作成しました。その中で、私はこの表記法に切り替えました:
@font-face {
font-family: "rokkittregular";
src: url("/assets/rokkitt-regular-webfont.eot");
src: url("/assets/rokkitt-regular-webfont.eot?#iefix") format("embedded-opentype"),
url("/assets/rokkitt-regular-webfont.woff") format("woff"),
url("/assets/rokkitt-regular-webfont.ttf") format("truetype"),
url("/assets/rokkitt-regular-webfont.svg#rokkittregular") format("svg");
font-weight: normal;
font-style: normal;}
そして後でこの表記に:
@font-face {
font-family: "rokkittregular";
src: url("#{Rails.root}/assets/rokkitt-regular-webfont.eot");
src: url("#{Rails.root}/assets/rokkitt-regular-webfont.eot?#iefix") format("embedded-opentype"),
url("#{Rails.root}/assets/rokkitt-regular-webfont.woff") format("woff"),
url("#{Rails.root}/assets/rokkitt-regular-webfont.ttf") format("truetype"),
url("#{Rails.root}/assets/rokkitt-regular-webfont.svg#rokkittregular") format("svg");
font-weight: normal;
font-style: normal;}
それでもうまくいきませんでした。
奇妙なことに、ブラウザで をポイントするhttp://localhost:5000/assets/rokkitt-regular-webfont.eot
と、フォント ファイルが表示されます。
これらのフォントを PDFKit で動作させるにはどうすればよいですか?