2011-01-19 3 views
0

Я делаю арабскую виртуальную клавиатуру, и у меня есть проблема.Android. Проблема с арабской клавиатурой

Если вы пишете только арабские символы - все работает (написано справа налево). Но цифры и знаки препинания записываются справа от предыдущего слова. Хотя это должно быть написано слева от слова. Например:

Вы пишете:

word_2011 где '_' пространство

Должно быть:

'2011_drow' (смотрите справа налево, номера чтения слева вправо)

но есть:

'_drow2011'

Теперь более интересно. Если вы пишете 'СЕЙЧАС' вы получаете

'_drow201WON1' (должно быть 'WON2011_drow')

Это Android проблема? Или это можно решить?

ответ

1

Это связано с тем, что Android неправильно реализует биди (двунаправленную) логику. У вас также будут проблемы с арабскими буквами, которые не будут правильно отображаться в середине и в начале письма.

Чтобы обойти проблему пространства, вы можете попробовать вставить символ направления между ними, см.: http://en.wikipedia.org/wiki/Unicode_control_characters. Это будет работать, но в некоторых телефонах вместо квадрата появится квадрат.

Смежные вопросы