Возникла необходимость перевести мою программу (С++, MFC) на арабский язык. До этого вполне успешно перевел ее на несколько 'нормальных' языков, а с арабским возникла непонятная проблема со смешанными (англо-арабскими) ресурсными строками.
Например, в файле ресурсов имеется пункт меню вида:
В запущенной программе смешанный (англо-арабский) пункт меню отображается криво — некоторые арабские и английские части строки непонятным образом перемешиваются! При этом, чисто арабские и чисто английские строки отображаются корректно.
Строка искажается и в обычном режиме, и в режиме right-to-left. Проблема существует и в обычной Windows с настроенной поддержкой арабского языка, и в Windows, где арабский выставлен языком по-умолчанию.
Ощущение такое, что я как-то неправильно формирую строку смешанного ресурса.. Может быть существуют какие-то специальные символы для таких случаев (чтобы строка не искажалась при выводе) или что-то еще?..
Кто-то сталкивался с подобной проблемой? Как ее можно решить?