如何在标记中定义字体

时间:2018-02-21 10:57:57

标签: ruby-on-rails pdfkit

我在.erb文件

中声明了这样的字体
<style>
  @font-face {
    font-family: 'robotoslab';
    src: url("file://#{Rails.root.join('app', 'tmp', 'fonts', 'RobotoSlab-Thin.ttf')}");
  }
</style>

我称之为

h5 {
    text-transform: uppercase;
    padding: 10px;
    letter-spacing: 0.2px;
    margin-top: 50px;
    font-family: 'robotoslab';
    font-size: 10px;
  }

除了font-family之外,所有其他属性都已应用。另外我确信字体文件是路径

Rails.root.join('app', 'tmp', 'fonts', 'RobotoSlab-Thin.ttf')
=> #<Pathname:/home/vamsi/code/certificate_generator/app/tmp/fonts/RobotoSlab-Thin.ttf>

我在tmp文件夹中有这个,因为pdfkit不喜欢assest管道

1 个答案:

答案 0 :(得分:0)

您必须将其封装在<%= %>

<style>
  @font-face {
    font-family: 'robotoslab';
    src: url("file://<%= Rails.root.join('app', 'tmp', 'fonts', 'RobotoSlab-Thin.ttf') %>");
  }
</style>

但是我不确定这是否有效,因为你通过file://协议加载了字体。您可能希望通过http加载它。如果是这样,只需删除file://