2013-09-18 2 views
17

, как гласит название, текст с языка RTL, такой как персидский или арабский, не отображается хорошо в android , например, слово «سلام» отображается как «ملام» ا ل س ". эта проблема возникает даже в текстовых вводах (которые, по моему мнению, были родными и встроенными текстовыми полями для Android) есть ли способ исправить это?Языки Delphi XE5 справа налево не отображаются так, как они должны в android

+2

Режим Bidi не поддерживается в FireMonkey. См. ['QC 98644. Все элементы управления FireMonkey должны иметь свойство BiDiMode'] (http://qc.embarcadero.com/wc/qcmain.aspx?d=98644). –

+3

wow тема с 2011 года и по-прежнему не исправлена. –

+0

Я бы предпочел, чтобы у нас была поддержка XPlatform, а не поддержка BiDi, и добавьте ее в будущем. Большинство пользователей Delphi не работают на языках RTL, AFAIK, на основе трафика на форумах EMBT и здесь, в SO. Если выбор «поддерживает самый высокий процент пользователей в первую очередь», он, как правило, правильный. :-) Если бы bidi был сделан первым, у вас не было бы поддержки Android вообще, и это не проблема, не так ли? –

ответ

0

Согласно предложениям LURD.
Загрузить и использовать D.P.F Delphi Android Native Components и/или D.P.F Delphi iOS Native Components.
Это устранит проблему в XE7 и ранее.
В соответствии с документацией с бета-версией Delphi XE8 проблема также исправлена.

В крайнем случае (если вы это чувствуете), кто-то предпринял попытку исправить исходный код XE5, чтобы включить поддержку BiDi. См.: https://docs.google.com/file/d/0BwumWe43CaijVDRQZzNQbXNSLWc/edit?usp=sharing

8

Отсутствие поддержки двунаправленной и глифной формы - это known restriction of the FireMonkey platform, для всех целей (включая Windows и Mac OSX).

Нам нужно будет ждать «собственных элементов управления» для Android в качестве сторонних компонентов для FireMonkey, поскольку он существует для iOS - например, http://www.tmssoftware.com/site/tmsicl.asp.

Я нашел this great blog article with source code about Android Native controls for Lazarus/FreePascal, что довольно интересно. Но это не будет работать с компилятором Delphi «NextGen», который в настоящее время идет в разных направлениях относительно FPC (например, с режимом ObjectivePascal).

enter image description here

Поскольку он использует родной Android управления, она не должна страдать от тех же ограничений, как и FireMonkey.

+0

Последняя ссылка, предоставленная вами, действительно замечательная, есть ли способ использовать эти собственные средства управления Pascal Android в delphi XE5? (я имею в виду, есть ли способ добавить их как компоненты в delphi и использовать их?) –

+0

@SNAKY он находится в источнике: «Free Pascal Compiler FPC 2.7.1, (XE5 в ближайшем будущем)» – mjn

+0

I просто написал [небольшую статью в блоге об этой ... статье блога] (http://blog.synopse.info/post/2013/09/19/FreePascal-Lazarus-and-Android-Native-Controls) ...:) Только преимущество в том, что оно на английском языке. Может быть хорошо, что эти проекты «Нативные компоненты пользовательского интерфейса для FPC» более известны - на самом деле существует [проект Sibling Native iOS Controls с использованием FPC] (http: //blog.naver.com/simonsayz/120193098772), предназначенные для iPhone и iPad –