Ale*_*lin 3 canvas html5-canvas paperjs
使用paper.js,我使用以下调用在屏幕上创建一个字符长的文本对象:
var text = new paper.PointText({
point: [x,y],
content: "9",
fillColor: "white",
font: "Comfortaa",
fontWeight: "bold",
fontSize: 30
});
Run Code Online (Sandbox Code Playgroud)
但是,我遇到的问题是,使用主体上定义的任何默认字体将文本栅格化到屏幕上,并一直保持这种状态,直到通过工具的drag事件移动PointText对象为止。用鼠标移动文本后,文本立即更改为字体,在这种情况下为Comfortaa。这是之前和之后的两个屏幕截图:

在第一次绘制之后,调用纸张的draw()看起来并不像这里。此外,字体不会与Google Fonts API之类的文件异步加载,它们是本地的,因此这不是问题。
使用JürgLehni的建议,我可以通过添加一个新的div,将可见性设置为hidden以及将字体家族设置为我的webfont使其工作。
<div style="visibility: hidden; font-family: 'Share Tech Mono';">test</div>