Javascript HTML5画布笔划文本重叠接合部分(阿拉伯语、印地语、孟加拉语等语言)

Javascript HTML5画布笔划文本重叠接合部分(阿拉伯语、印地语、孟加拉语等语言),javascript,html,html5-canvas,Javascript,Html,Html5 Canvas,在阿拉伯语、印地语、孟加拉语等语言中,每个字母在书写时相互连接。但在HTML5画布textStroke中,这些笔划没有连接。有没有办法连接这些重叠的连接点 图:连接部件重叠问题 图:这些连接部件应连接在一起 var arabic = document.getElementById("arabic"); var ctx = arabic.getContext("2d"); ctx.font = "100px Georgia"; ctx

在阿拉伯语、印地语、孟加拉语等语言中,每个字母在书写时相互连接。但在HTML5画布textStroke中,这些笔划没有连接。有没有办法连接这些重叠的连接点

图:连接部件重叠问题

图:这些连接部件应连接在一起

var arabic = document.getElementById("arabic");
var ctx = arabic.getContext("2d");
ctx.font = "100px Georgia";
ctx.lineWidth = 3;
ctx.strokeText(" اَلْعَرَبِيَّةُ ", 10, 100);


var hindi = document.getElementById("hindi");
var ctx = hindi.getContext("2d");
ctx.font = "100px Georgia";
ctx.lineWidth = 3;
ctx.strokeText("हिन्दी", 10, 100);

var bengali = document.getElementById("bengali");
var ctx = bengali.getContext("2d");
ctx.font = "100px Georgia";
ctx.lineWidth = 3;
ctx.strokeText("বেঙ্গলি", 10, 100);

JSFIDLE示例:

自定义阴影过滤器不需要解决此问题。只需添加
ctx.globalCompositeOperation=“destination out”然后添加填充文本。它将自动剪辑文本笔划和填充文本

var arabic=document.getElementById(“阿拉伯语”);
var ctx=阿拉伯语.getContext(“2d”);
ctx.font=“100px格鲁吉亚”;
ctx.lineWidth=8;
ctx.strokeText(“اَْعَبِيُّ”,10100);
ctx.globalCompositeOperation=“目的地输出”;
ctx.fillText(“اَلْعَبُِِّ”,10100);
var hindi=document.getElementById(“印地语”);
var ctx=hindi.getContext(“2d”);
ctx.font=“100px格鲁吉亚”;
ctx.lineWidth=8;
ctx.strokeText(“हिन्दी", 10, 100);
ctx.globalCompositeOperation=“目的地输出”;
ctx.fillText(“हिन्दी", 10, 100);
var bengali=document.getElementById(“孟加拉”);
var ctx=bengali.getContext(“2d”);
ctx.font=“100px格鲁吉亚”;
ctx.lineWidth=8;
ctx.strokeText(“বেঙ্গলি", 10, 100);
ctx.globalCompositeOperation=“目的地输出”;
ctx.fillText(“বেঙ্গলি“,10100);
画布{
背景#FFFF00;
}

您的浏览器不支持HTML5画布标记。
您的浏览器不支持HTML5画布标记。

你的浏览器不支持HTML5画布标签。
当然,我真傻!最后被另一个Q/A弄瞎了。干得好。你可以不接受我的,而接受你的。