Я не понял, что вы имеете в виду в первый раз, потому что я познакомился с этим. Я думаю, что все будет хорошо, если вы можете ожидать результатов.
Такое поведение является стандартом двунаправленного алгоритма Unicode . Таким образом, доминирующее направление BiDi взято из первого сильного символа в абзаце.
Так что я думаю, что это происходит в этом случае:
Первое направление с пустым текстовым полем берется из конфигурации локали / языка. Как вы сказали, арабский язык - это язык RTL. Итак, курсор справа.
Ввод, <
но он показал как >
. Это нейтральный символ, поэтому не влияет на направление. Почему это перевернуто? Краткий ответ: стандарт Unicode, :) в любом случае, примите это. Ну, его имя меньше знака , так что ... В RTL / арабском, формула начинается с правой стороны, она должна быть перевернута. Что ты думаешь ... нет? !!!
Введите латинский символ g
. Это сильный символ L (слева), поэтому этот абзац определяется как LTR.
Забой для удаления g
. Но обратите внимание, где курсор.
Теперь, например [
, он был ошибочно назван левой квадратной скобкой . Это должно быть что-то вроде открытой квадратной скобки (это нейтральный биди и перевёрнутый в RTL)
Все разработчики стараются следовать стандартам. Так что теперь они заставят текстовое поле быть RTL или LTR, Auto является лучшим для большинства пользователей.
Поэтому для вас лучшее, что я могу предложить, - это использовать Unicode BiDi Control Char.
U+200F right-to-left mark (RLM)
В пустой адресной строке, Ctrl+ Shift+ u, u
появляется небольшая подчеркнутая строка, 200f
затем введитеEnter
Смотри <
не переворачивался как LTR.
Ctrl+ Shift+ uспецифичен для GTK / Gnome. В KDE отсутствует такая опция, и, похоже, она не исправлена, поскольку в этом отчете об ошибке упоминается конфликт между KDE / Qt / Xorg. Нужен способ вставки произвольных символов Юникода в Kubuntu .
Поскольку это всего лишь несколько символов, вы можете переназначить ненужные ключи или отобразить неиспользуемые ключи. Например, я использую американский английский (международные мертвые ключи AltGr)
Откройте его xkb
файл макета для редактирования:
sudo nano /usr/share/X11/xkb/symbols/us
Найдите определение группы с тем же именем:
xkb_symbols "altgr-intl" {
name[Group1]= "English (international AltGr dead keys)";
Давайте посмотрим в качестве примера r
(легко запомнить): AltGr+ r→ RLM, Shift+ AltGr+ r→ LRM. Вместо ë
& Ë
. Заменить:
key <AD04> { [ r, R, ediaeresis, Ediaeresis ] };
С:
key <AD04> { [ r, R, U200F, U200E ] };
Обновление xkb
sudo dpkg-reconfigure xkb-data
Переключитесь на другой макет, затем вернитесь, он будет активен немедленно.
Ноты:
Приятно читать для дальнейшего понимания:
Ссылки: