Delphi XE5中从右到左的语言在Android中显示不正常。

17

如标题所述,来自RTL语言(如波斯语或阿拉伯语)的文本在Android设备上无法正常显示。例如,单词"سلام"显示为"م ا ل س"。即使在文本输入中也会出现此问题(我认为它们是本地的,并且本地的Android文本框支持它)。有没有一种方法可以解决这个问题?


2
FireMonkey不支持双向文本模式。请参阅QC 98644 All FireMonkey controls should have BiDiMode property - LU RD
4
哇,这个话题来自2011年,现在仍未得到解决... - Adib Faramarzi
我更喜欢我们拥有XPlatform而不是BiDi支持,并在将来的某个时间添加后者。据我所知,大多数Delphi用户不使用RTL语言,根据EMBT论坛和SO的流量。如果选择是“首先支持最高百分比的用户”,那通常是正确的选择。 :-) 如果先做bidi,你根本就没有Android支持,这就不是问题了,对吧? - Ken White
4
我更希望我们拥有跨平台、双向文本和更少漏洞的产品。我认为这些并非互相排斥的选择。 - David Heffernan
2
我认为FM最大的盲点是缺乏双向文本支持。 - mh taqia
显示剩余4条评论
3个回答

8
缺少双向和字形塑形支持是FireMonkey平台的已知限制,适用于所有目标(包括Windows和Mac OSX)。
我们将不得不等待Android的“本地控件”作为FireMonkey的第三方组件,就像iOS一样存在 - 例如,请参见http://www.tmssoftware.com/site/tmsicl.asp
我发现了这篇关于Lazarus/FreePascal的Android本地控件的优秀博客文章和源代码,非常有趣。但这将无法与“NextGen”Delphi编译器一起使用,后者在某些方面与FPC(例如ObjectivePascal模式)正在朝着不同的方向发展。

enter image description here

由于它使用原生的Android控件,因此不应该像FireMonkey一样受到相同的限制。

你提供的最后一个链接真的很棒,有没有办法在Delphi XE5中实际使用这些Pascal Android本地控件?(我的意思是有没有办法将它们作为组件添加到Delphi中并使用它们?) - Adib Faramarzi
@SNAKY 它在源代码中: "Free Pascal Compiler FPC 2.7.1,(将来会在XE5上)" - mjn
我刚写了一篇关于这个博客文章的小型博客文章... :) 唯一的好处是它是用英语写的。那些“FPC本地UI组件”项目更为人所知可能是有好处的 - 实际上,还有一个FPC可用的同级Native iOS Controls项目,以便也能针对iPhone/iPad设备。 - Arnaud Bouchez

0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接