Comments 2
Спасибо, что делаете хабрахабр лучше! :-)
Со вводом все достаточно просто — курсор двигается последовательно, как хранятся данные. При этом при нажатии вправо он может двигаться как вправо, так и влево, а может вообще прыгать с места на место. Выглядит странно, но именно так работают все программы двунаправленного ввода в линукс и на мобильных телефонах.
Вы забыли про LRE/RLE, RLO/LRO маркеры, а они играют существенную роль при форматировании.
Для реализации двунаправленного вывода я пользовался вот этой статьей, там все достаточно неплохо разжевано: www.unicode.org/reports/tr9/
Только там ошибка в реализации примеров, которую успешно потащили создатели qt :) Багрепорт я в свое время не успел написать, а где конкретно ошибка уже не помню :)
Вы забыли про LRE/RLE, RLO/LRO маркеры, а они играют существенную роль при форматировании.
Для реализации двунаправленного вывода я пользовался вот этой статьей, там все достаточно неплохо разжевано: www.unicode.org/reports/tr9/
Только там ошибка в реализации примеров, которую успешно потащили создатели qt :) Багрепорт я в свое время не успел написать, а где конкретно ошибка уже не помню :)
Sign up to leave a comment.
BIDI (unicode bidirectional algorithm)