javascript - @font-face 无法正常工作的问题

标签 javascript html css google-chrome google-chrome-extension

jsFiddle重现问题。

我有一个自定义字体,我使用了 @font-face导入它。本来想用在<canvas>但它不起作用。

ctx.font = "16px test";

然后我发现它在<canvas> 之外工作得不好.

@font-face {
    font-family: test;
    src: url('http://example.com/iLiHei.ttf');
}
#custom{
    font-family: "test", monospace;
}

是字体文件本身的问题吗?因为我在 CSS 中看不到任何错误。

enter image description here

The top row and the bottom row should be using different fonts but they are not.

我不关心不同的浏览器,因为我在 Chrome 扩展程序中使用它。知道为什么这不起作用吗?

最佳答案

绘制到 Canvas 会立即发生,但浏览器必须从服务器加载字体。因此,当您在 Canvas 上绘制时,字体尚未准备好,因此默认为默认字体。

您可以在页面上创建一个强制加载字体的元素。

<div style="font-family:test;display:none"></div>

关于javascript - @font-face 无法正常工作的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18318896/

相关文章:

css - 制作一个带有 map 响应的 wordpress 页面

css - 在 CSS 中设置打印文档的长度

javascript - React Bootstrap 模态滚动到顶部

html - 将内容跨越两个 div

php - 禁用水平滚动

javascript - 单击一个 div 隐藏 div 并替换另一个

javascript - 如何创建特定的模态框

javascript - Angular 显示/隐藏仅适用于第二个函数调用,应用/摘要问题?

javascript - 按单词共享开头(而不是按字符)

javascript - 如何在充满 ng-options 的 Angularjs 选择中预先选择一个选择选项