带有阿拉伯字母的Fabric JS文本组件以错误的方式生成

时间:2018-07-06 08:29:54

标签: svg fonts fabricjs arabic

问题 当您使用Fabric js生成文本组件并将其转换为SVG时。

problem is here

我想看看问题,然后尝试重现和/或解决 -----> 请检查第一条评论 <-----

如何使用演示来复制

  1. 打开演示的网址
  2. 运行
  3. 单击添加文本组件,它将添加英语测试文本组件。
  4. 现在通过双击更改文本并将其粘贴为阿拉伯语单词شريف
  5. 打开浏览器检查器。
  6. 单击“打印到控制台”按钮。

预期结果 看起来像这样

Expected correct result

1 个答案:

答案 0 :(得分:0)

此问题在较新版本中已修复。更新到v2.3.3(最新),您的fabricjs版本v1.5太旧了,不再维护了。

在这里找到最新消息 fabric.js website

演示

var canvas = this.__canvas = new fabric.Canvas('c');
canvas.setDimensions({
 width:400,height:400
})
text = new fabric.IText('شريف', { 
  left: 50,
  top: 100,
  fontFamily: 'arial black',
  fill: '#333',
  fontSize: 50
})

canvas.add(text);
console.log(text.toSVG());
function printtest(){
  console.log(text.toSVG());
}
#c{
  border:1px solid red;
}
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.js"></script>
<button onclick="printtest()">print console</button><br>
<canvas id="c"></canvas>