【发布时间】:2011-09-01 07:58:48
【问题描述】:
对于如何更改在画布上绘制文本时使用的字体,我完全感到困惑。以下是我在 CSS 中定义的字体:
@font-face{
font-family:"Officina";
src:url(OfficinaSansStd-Book.otf);
}
现在在我的 HTML/JavaScript 中,我很想说:
context.font = '30px "Officina"';
但这不起作用。如果我使用网络可用字体(如 Arial),它工作正常,当我直接将纯文本写入网页时,Officina 字体显示正常。我错过了什么?
【问题讨论】:
-
不确定,但也许您需要等到字体加载后才能运行您的 JS?您可以尝试在 DOM 加载后将脚本置于 5 秒超时,然后看看它是否有效(因为字体很可能会在 DOM 加载后 5 秒内加载)。只是一个假设
-
如何做到这一点?我对 DOM 不是很熟悉。
-
试着做 document.body.onload = function(){ setTimeout(function(){ /* 你所有的代码在这里 */ },5000) };这不会等待 DOM 加载,但它会关闭
标签: javascript html canvas fonts