9
votes

How can show any string in right to left languages such as Persian or Arabic in Android or iOS with FireMonkey?

I Use Embarcadero Rad Studio XE6 (Delphi) and when I put a TLabel or TEdit and set its text to "سلام" (Hello in Persian) everything is OK in Windows and Mac but in Mobile platform that is wrong display, in Android shows "م ا ل س" and in iOS does not show anything but space.

The problem still exists in Delphi XE7.

3
Follow the link to the QC report, which has a link to a native library, D.P.F Delphi Android Native Components. @Amin claims this works for RTL in Android and IOS.LU RD
Note that the problem is fixed in the Delphi XE8 beta.Johan
@Johan it is too late, I migrate to Cordova :)Amin
@Johan do they fixed it in update 1 of xe8 ?Vlark.Lopin

3 Answers

2
votes

As per LURD's suggestions.
Download and use D.P.F Delphi Android Native Components and/or D.P.F Delphi iOS Native Components.
That will fix the problem in XE7 and prior.
According to the documentation with the Delphi XE8 beta the problem is fixed there as well.

1
votes

In Delphi version XE Don't Support BiDi.

If You want use D.P.F Delphi Android Native Components.

You should in Forms use DPFlayuot Next Align in Client

0
votes

Delphi XE don't support Bidi RTL yet(Delphi 10.3 Rio). But you can download FMX RTL components. It support Persian, Arabic and Hebrew for Fire Monkey framework.