Текстовое положение на холсте отличается от арабского и английского, когда выравнивание текста вправо

Мне нужно нарисовать текстовую строку на арабском и английском языках в точном месте на холсте HTML5.

var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); //Draw rextangle. ctx.strokeStyle = "red"; ctx.rect(75,20,150,80); //Text right align ctx.font = "15px Arial"; ctx.textAlign = "right"; var x = 70 + 150 ; // the end of rectangle ( X + Rectangle Width ) ctx.fillText("text in english",x, 70); ctx.fillText("النص باللغه العربيه",x, 90); ctx.stroke(); 
 <html> <body> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> Your browser does not support the HTML5 canvas tag.</canvas> </html> 

Всего 1 ответ


Вы можете изменить направление на строку, в холсте.

...
ctx.fillText("text in english",x, 70);
c.setAttribute('dir','rtl');
ctx.fillText("النص باللغه العربيه",x, 90);
...

Есть идеи?

10000