Javascript Safari-从画布上下文检索字体属性时缺少字体权重组件

Javascript Safari-从画布上下文检索字体属性时缺少字体权重组件,javascript,safari,html5-canvas,Javascript,Safari,Html5 Canvas,我们使用Canvas Context对象将em/pt中的px字体大小转换为如下: <canvas id="test" style="width: 300; height: 100"></canvas> ... <script> var c = document.getElementById('test'); var ctx = c.getContext('2d'); ctx.font = 'bold 12px Arial'; var parsedFont =

我们使用Canvas Context对象将
em/pt
中的
px
字体大小转换为如下:

<canvas id="test" style="width: 300; height: 100"></canvas>
...
<script>
var c = document.getElementById('test');
var ctx = c.getContext('2d');
ctx.font = 'bold 12px Arial';
var parsedFont = ctx.font;
ctx.fillText(parsedFont, 10, 60);
</script>
Jsfiddle:


问题是,在Safari中,
font-weight
组件丢失。是我做错了什么,还是这是一个狩猎迷?在Chrome中运行良好。

这确实是一个bug,因为如果问这个问题

获取时,font属性必须返回上下文当前字体的序列化形式(没有“行高”组件)

如果不是默认值(
400
normal
),那么字体重量应该是字体序列化形式的一部分

但请注意,即使是Chrome在这里也有问题,因为如果字体权重属性是由数值设置的,它们也不会包含字体权重属性:

var ctx=document.createElement('canvas').getContext('2d');
ctx.font='600 15px衬线';
console.log(ctx.font);//只有Firefox正确输出“600 15px serif”
12px Arial