Html5 canvas 连接处阿拉伯文本的笔划效应

Html5 canvas 连接处阿拉伯文本的笔划效应,html5-canvas,fabricjs,stroke,Html5 Canvas,Fabricjs,Stroke,简单地说,我在html5 2D画布上对阿拉伯语文本执行简单的笔划操作时遇到问题 阿拉伯文具有这样一种特性:当字符彼此相邻时,它们会改变形式并合并在一起。显然,js处理文本笔划的方式是将每个字符单独提取并分别对其进行操作。当角色渲染到屏幕上时,角色的边界变得可见,从而导致关节处的笔划颜色泄漏 左边是Javascript的stroke函数生成的结果。右边是使用Photoshop创建的正确结果(不同字体) 有办法解决这个问题吗?您的问题可能是您在填充的版本上绘制了带笔划的版本 做相反的事情,一切都会

简单地说,我在html5 2D画布上对阿拉伯语文本执行简单的笔划操作时遇到问题

阿拉伯文具有这样一种特性:当字符彼此相邻时,它们会改变形式并合并在一起。显然,js处理文本笔划的方式是将每个字符单独提取并分别对其进行操作。当角色渲染到屏幕上时,角色的边界变得可见,从而导致关节处的笔划颜色泄漏

左边是Javascript的stroke函数生成的结果。右边是使用Photoshop创建的正确结果(不同字体)


有办法解决这个问题吗?

您的问题可能是您在填充的版本上绘制了带笔划的版本

做相反的事情,一切都会如你所愿:

var ctx=c.getContext('2d');
ctx.font=“200px Al-Tharikh,Arial”
var txt=‘مثال’;
ctx.textb基线='top';
//更改笔划样式
ctx.strokeStyle=‘红色’;
ctx.lineWidth=5;
//先画笔画
strokeText(txt,100,0);
//然后画满
ctx.fillText(txt,100,0)

非常感谢!我一直在使用fabricjs作为主画布库,没有经验也不知道笔划是在两个步骤中完成的,我认为这将是一个更深层次的问题。在fabric.js中,我每次抚摸后都会填充,这是一种预兆,但我当然希望Kangax能在以后的fabricjs版本中解决这个问题。