Javascript 无法在Firefox画布中绘制斜体文本

Javascript 无法在Firefox画布中绘制斜体文本,javascript,firefox,canvas,italic,Javascript,Firefox,Canvas,Italic,当在画布中绘制斜体文本时,Firefox会将它们呈现为Impact等字体的普通字体 var ctx = canvas.getContext('2d'); ctx.font = "italic 40px Impact"; ctx.fillText("Impact", 0, 40); Firefox Chrome 有没有办法解决这个问题?这是因为Impact没有斜体版本。在字体查看器(如Mac font Book)中查看时可以看到这一点。浏览器在没有斜体字的字体上伪造斜体字,但Firefox

当在画布中绘制斜体文本时,Firefox会将它们呈现为
Impact
等字体的普通字体

var ctx = canvas.getContext('2d');
ctx.font = "italic 40px Impact";
ctx.fillText("Impact", 0, 40);

Firefox

Chrome


有没有办法解决这个问题?

这是因为Impact没有斜体版本。在字体查看器(如Mac font Book)中查看时可以看到这一点。浏览器在没有斜体字的字体上伪造斜体字,但Firefox还没有在画布上伪造斜体字。如果您尝试使用带有斜体的字体,如Arial,它可以在画布中工作

这里有一些关于这方面的讨论:

演示:

ctx.font=“italic 40px Arial”;

我知道它是特定于字体的,我也读过这篇讨论。我在想是否有任何解决方法。我所知道的唯一解决方法是在呈现文本之前通过倾斜画布上下文手动倾斜文本。