Поддержка иврита в приложении C ncurses - PullRequest
1 голос
/ 01 сентября 2009

У нас есть приложение на основе медсестер C (работает на большинстве версий Unix, но мы предпочитаем RHEL) У нас есть поддержка Unicode, но теперь мы должны предоставить версию приложения на иврите. Кто-нибудь знает процесс, который мы могли бы пройти, чтобы преобразовать программу? Он в основном получает и хранит данные из Oracle, который может поддерживать иврит, поэтому проблем не должно быть. На самом деле проблема заключается только в отображении текста.

1 Ответ

1 голос
/ 02 сентября 2009

Важно знать, какой терминал они используют, потому что это определяет, как вы должны писать код. Некоторые терминалы поддерживают BiDi (то есть двунаправленный текст). Это означает, что они автоматически переворачивают иврит / арабский текст в обратном направлении.

У него есть свои проблемы, вы можете проверить, как будет выглядеть ваше приложение, используя mlterm . В основном он переворачивает строки, содержащие текст на иврите, сохраняя то, что интерпретируется как английские символы LTR. Еврейский символ, напечатанный до 10,70, появится в 10,10. Вы можете использовать Unicode LTR RTL, чтобы попытаться определить направление для вещей, которые нарушают ваше форматирование, но, по крайней мере, на mlterm, пока они работают, они печатают символы мусора.

Однако, если они используют обычные терминалы с поддержкой юникода, вы должны бросить символы самостоятельно. Тогда, конечно, если он будет запущен на двунаправленных терминалах, текст снова вернется назад, а формат потеряется.

...