Где должны быть мои скобки по отношению к тексту для арабских языков?

Наше приложение автоматически изменяет макет арабского текста, когда за ним следует скобка, и мне интересно, правильное ли это поведение или нет?

Приложение показывает элементы в следующем формате:

[ID of structure](version)

Таким образом, версия 1.5 английской структуры stackoverflow будет отображаться как:

stackoverflow(1.5)

Примечание. скобки должны отображаться. Между идентификатором и первой скобкой нет пробела. Скобки просто охватывают версию. Скобки могли быть любым символом, но уже слишком поздно переключаться на другой символ!

Это прекрасно работает для языков слева направо, но для арабских языков структуры отображаются в форме:

ستاكوفيرفلوو(1.0)

Я не говорю по-арабски, и мне нужно знать, так ли это на самом деле. Является ли арабский формат эквивалентом английского формата или что-то пошло не так?


person Phil    schedule 22.07.2015    source источник


Ответы (1)


Текст на арабском языке должен выглядеть так:

Версия(1.0)

Я добавил html-объект RLM / Right-to-left Mark ‏, чтобы исправить текст. Вы должны сделать это, если ваше приложение не поддерживает двунаправленный текст изначально. Вы можете добавить RLM следующими способами:

HTML Entity (decimal)   ‏
HTML Entity (hex)   ‏
HTML Entity (named) ‏
How to type in Microsoft Windows    Alt +200F
UTF-8 (hex) 0xE2 0x80 0x8F (e2808f)
UTF-8 (binary)  11100010:10000000:10001111
UTF-16 (hex)    0x200F (200f)
UTF-16 (decimal)    8,207
UTF-32 (hex)    0x0000200F (200f)
UTF-32 (decimal)    8,207
C/C++/Java source code  "\u200F"
Python source code  u"\u200F"

(примечание: правильная транслитерация StackOverflow: ستاك-أوفرفلو)

person bigOther    schedule 22.07.2015
comment
Спасибо за ответ, как это должно быть, и это показывает, как я подозревал, что мой вывод совершенно неверен. Я не хотел отвечать на свой первоначальный вопрос, но это не HTML, а Flex, поэтому я не могу использовать RLM. Спасибо еще раз. Теперь я знаю, что этот вывод неверен, я могу посмотреть на альтернативные решения. - person Phil; 22.07.2015
comment
@Phil, вы можете добавить RLM разными способами, один из них — ввести его с клавиатуры (Windows): Alt +200F - person bigOther; 22.07.2015
comment
Обратите внимание, что вам нужен ключ реестра, настроенный для ввода кодовых точек Unicode с Alt в Windows. Установите HKEY_Current_User/Control Panel/Input Method/EnableHexNumpad на "1", выйдите из системы и войдите снова (или перезагрузитесь). Дополнительные сведения см. в разделе Как вводить символы Unicode в Microsoft Windows. - person Lithis; 22.07.2015