Двунаправленный мультиязычный разговор String
Я пытаюсь напечатать двунаправленную строку, используя SWT,Paperclips и Java. Когда я печатаю строку на экране - все в порядке (на этикетке Java-SWT), но когда я пытаюсь напечатать ее с помощью скрепок, строка смешивается.
Вот что я хочу получить:
вот что я получаю
Похоже, что части RTL/LTR поменялись местами. поскольку у меня нет API для определения строки как RTL (на скрепках), как я могу выполнить преобразование в строку, чтобы она хорошо смотрелась на скрепках?
Кстати, скрепки - это поддержка печати с открытым исходным кодом для SWT. но, насколько я понимаю, эта проблема - не проблема скрепок, а проблема биди / струнных разговоров.
1 ответ
Если у вас нет другого способа указать, что элементом управления является RTL, вы можете попробовать поместить символ RLE (U+202B) в начале и символ PDF (U+202C) в конце.
Обратите внимание, что это не обязательно будет работать, потому что я не уверен, что SWT поддерживает эти символы. Кроме того, если кто-то скопирует этот текст, он, вероятно, будет скопирован с этими управляющими символами.