我正在尝试在HTML5Canvas的2d上下文中使用fillText()方法来绘制用阿拉伯语编写的字符串。它工作得很好,直到我在字符串的末尾放置了一个标点符号。然后标点符号出现在字符串的错误一侧(在开头,而不是结尾,就好像它是一个ltr而不是rtl字符串)。我玩过Context.textAlign属性,但这似乎只涉及字符串相对于指定位置的绘制方式,而不是文本的实际方向。有谁知道解决这个问题的方法吗?谢谢。更新:我找到的答案是向页面上的canvas元素添加一个“dir”属性。例如,但是,我仍然不知道如何更改发送到fillText的单个字符串的dir属性。有什么想法吗?
如您所知,有些语言是从右到左书写/阅读的,我们正在努力支持某些RTL语言。由于浏览器拥有的算法,在html中使用dir="rtl"的WebUI完成了大部分工作。但是我在文本中遇到了这个带有括号的问题:BracketproblemswithBiDiBracketproblem:hello(world):Nobracketproblem:hello(world)something:Bracketproblem:(السلام(عليكمNobracketproblem:السلام(عليكم)عليكم问题可以看这里:所以我希望最后一个括号留在最后。您的解决方案是什么?
如您所知,有些语言是从右到左书写/阅读的,我们正在努力支持某些RTL语言。由于浏览器拥有的算法,在html中使用dir="rtl"的WebUI完成了大部分工作。但是我在文本中遇到了这个带有括号的问题:BracketproblemswithBiDiBracketproblem:hello(world):Nobracketproblem:hello(world)something:Bracketproblem:(السلام(عليكمNobracketproblem:السلام(عليكم)عليكم问题可以看这里:所以我希望最后一个括号留在最后。您的解决方案是什么?
[x]y您可以看到HTML文本[x]y显示为x]y]。这个结果的原因是什么?PS:我在Chrome56.0.2924.87(64位)中得到了这个结果。 最佳答案 我不能告诉你原因,但我可以告诉你如何解决它:添加unicode-bidi:bidi-override;。参见more关于它[x]y描述Theunicode-bidipropertyisusedtogetherwiththedirectionpropertytosetorreturnwhetherthetextshouldbeoverriddentosupportmultip
[x]y您可以看到HTML文本[x]y显示为x]y]。这个结果的原因是什么?PS:我在Chrome56.0.2924.87(64位)中得到了这个结果。 最佳答案 我不能告诉你原因,但我可以告诉你如何解决它:添加unicode-bidi:bidi-override;。参见more关于它[x]y描述Theunicode-bidipropertyisusedtogetherwiththedirectionpropertytosetorreturnwhetherthetextshouldbeoverriddentosupportmultip
我正在尝试使用名为bidi的Python包。在这个包(algorithm.py)的一个模块中,有一些行给了我错误,尽管它是包的一部分。下面是几行:#utf-8?weneedunicodeifisinstance(unicode_or_str,unicode):text=unicode_or_strdecoded=Falseelse:text=unicode_or_str.decode(encoding)decoded=True这是错误信息:Traceback(mostrecentcalllast):File"",line1,inbidi_text=get_display(reshape
我正在尝试使用名为bidi的Python包。在这个包(algorithm.py)的一个模块中,有一些行给了我错误,尽管它是包的一部分。下面是几行:#utf-8?weneedunicodeifisinstance(unicode_or_str,unicode):text=unicode_or_strdecoded=Falseelse:text=unicode_or_str.decode(encoding)decoded=True这是错误信息:Traceback(mostrecentcalllast):File"",line1,inbidi_text=get_display(reshape