问题描述
我正在使用 Phaser 3 在带有 WebGL 的画布中开发浏览器游戏。我使用自定义加载字体设置画布文本的宽度,但无法设置其样式(例如,斜体、半粗体)。
这是我用来创建文本的代码:
this.add.text(100,600,'Test Text',{
font: '50px Poppins'
})
this.add.text(100,{
font: '50px Poppins semibold'
})
输出如下:
第二张图片使用的是默认字体,而不是 Poppins。似乎只要我尝试设置斜体或任何其他样式,它就会回退到默认字体。
我也尝试用属性设置它(运气不好)。有没有人遇到过同样的问题(样式自定义字体),以及如何正确加载样式自定义字体?
解决方法
问题:
var source = UrlFetchApp.fetch(url).getContentText()
var jsonString = source.match(/(?<=root.App.main = ).*(?=}}}})/g) + '}}}}'
var data = JSON.parse(jsonString)
不是有效的 semibold
。所以它将被视为字体。
解决方案:
font-weight
https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight