2014-09-04 14 views
8

Jak wyświetlić ciąg znaków w językach od prawej do lewej strony, takich jak perski lub arabski w systemie Android lub iOS z FireMonkey?Język Bidi od prawej do lewej w Firemonkey Mobile

Używam Embarcadero Rad Studio XE6 (Delphi) i kiedy wstawiam TLabel lub TEdit i ustawię jego tekst na "سلام" (Hello in Persian) wszystko jest w porządku w Windows i Macu, ale w platformie mobilnej jest to niewłaściwy ekran, w Androidzie pokazuje "م ا ل س س", a w iOS nie pokazuje nic oprócz spacji.

Problem nadal występuje w Delphi XE7.

+1

Myślę, że najlepszym rozwiązaniem jest, aby przeczytać [Delphi XE5 prawej do lewej językach nie pojawiają się tak, jak powinny w Android] (http://stackoverflow.com/q/18883356/576719). –

+1

Skorzystaj z linku do raportu QC, który ma link do natywnej biblioteki, [D.P.F Delphi Android Native Components] (http://sourceforge.net/projects/dpfdelphiandroid/). @Amin twierdzi, że działa to dla RTL w Androidzie i IOS. –

+1

Należy zauważyć, że problem został rozwiązany w wersji Delphi XE8 beta. – Johan

Odpowiedz

2

Zgodnie z sugestiami LURD.
Pobierz i użyj D.P.F Delphi Android Native Components i/lub D.P.F Delphi iOS Native Components.
To rozwiąże problem w XE7 i wcześniejszych.
Zgodnie z dokumentacją z Delphi XE8 beta problem jest tam również naprawiony.

+0

Nie ma obsługi XE8 dla BiDi RTL i nie ma na to żadnego śladu w dotychczas opublikowanych mapach drogowych. Że XE8 będzie obsługiwać tryb BiDi był wiadomością głupiego kwietnia, być może pochodzi stąd: https://forums.embarcadero.com/thread.jspa?threadID=114299 –

0

W wersji Delphi XE Nie obsługuje BiDi.

Jeśli chcesz używać D.P.F Delphi Android Native Components.

Należy w formach użytkowych DPFlayuot Następny Wyrównaj w Client