Holder.js对象上的自定义字体

时间:2015-08-29 12:02:06

标签: google-chrome firefox fonts holder.js

输出应该是这样的,并且在Firefox上:

https://www.dropbox.com/s/4uxz6l5po0bkhat/firefox.png?dl=0

但是,Chrome和Opera不在Holder.js对象上使用此自定义字体。这是他们渲染的方式:

https://www.dropbox.com/s/q2i0o6a61lq1hyx/opera-chrome.png?dl=0

以下是我主要HTML的主管:

<link rel="stylesheet" type="text/css" href="css/zond.fonts.css" class="holderjs">
<script src="js/holder.min.js"></script>
<script src="js/holder.themes.old.js"></script>

这是我的holder.js对象:

<object data-src="holder.js/150x150?theme=zond5&text=Guide to MUN" style="width:150px; height:auto"></object>

这是我的zond.fonts.css:

@font-face {
    font-family:'wf_segoe-ui_normal';
    src:url('segoe-ui-west-european-normal.eot');
    src:url('segoe-ui-west-european-normal.eot?#iefix') format('embedded-opentype'),
        url('segoe-ui-west-european-normal.woff') format('woff'),
        url('segoe-ui-west-european-normal.ttf') format('truetype'),
        url('segoe-ui-west-european-normal.svg#web') format('svg');
    font-weight:normal;
    font-style:normal
}

这是我的持有人.themes.old.js:

Holder.addTheme("zond5", {
    foreground: "#333",
    background: "#f8ff62",
    size: 16,
    font: "wf_segoe-ui_normal",
    fontweight: "normal"
});

问题应该在哪里?我猜它与CSS字体有关吗?当我已经包含所有可能的字体类型时,它应该是一个问题吗?

1 个答案:

答案 0 :(得分:0)

您需要设置正确的CORS标头,因为字体是在本地加载的。见https://gist.github.com/atiw003/1131897

Apache的代码段:

<FilesMatch "\.(ttf|otf|eot|woff)$">
  <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
  </IfModule>
</FilesMatch>

nginx的代码段:

location ~* \.(eot|ttf|woff)$ {
  add_header Access-Control-Allow-Origin *;
}