Как включить поддержку арабского в терминале GNOME?

Я пытаюсь писать по-арабски в терминальном приложении, но оно не распознает текст справа налево и не связывает арабские буквы вместе, как следует.

Я попробовал это решение https://bugs.launchpad.net/ubuntu/+source/vte/+bug/263822 , но оно не сработало.

Планируется ли реализовать поддержку арабского языка в терминале гномов? Терминал KDE Konsole работает без проблем.

38
задан 17 November 2015 в 15:32

6 ответов

Для 64-разрядной версии Ubuntu вам потребуется загрузить BiCon, двунаправленную консоль, загрузить

. Думаю, у вас была проблема с зависимостью. Вам также потребуется установить указанные выше приложения с помощью этой команды.

sudo apt-get install libfribidi0 libfribidi-dev

Надеюсь, что это может помочь

11
ответ дан 17 November 2015 в 15:32

Используйте Mlterm, он отлично поддерживает арабский и другие нелатинские символы. Вы можете загрузить его из репозиториев Ubuntu:

sudo apt install mlterm

Picture of Mlterm showing Arabic

9
ответ дан 17 November 2015 в 15:32

попробуйте следующее: sudo apt-get install libfribidi0 libfribidi-dev , установите ЭТО пакет, затем vim / usr / share / applications /gnome-terminal.desktop и добавьте этот код в документ:

Terminal=true
Exec=/usr/bin/bicon.bin
8
ответ дан 17 November 2015 в 15:32

Обновление

Как упоминал Эгмонт в своем комментарии ниже, реализация BiDi приходит в терминальный эмулятор vte. Проверьте его ответ, который является последним обновленным по этой теме.

Вот ссылка, если вы ищете подробности: https://terminal-wg.pages.freedesktop.org/bidi/


Оригинальный ответ

Нет, в gnome-терминале не планируется реализовать поддержку RTL, или любой терминал зависит от vte, как в случае с установочным терминалом synaptic.

  • Вы можете проксировать свою команду через команду fribidi, чтобы сделать биди и базовый шейпинг на арабском языке.
  • Вы также можете использовать konsole (KDE) или mlterm, которые реализовали частичную поддержку Юникода биди и шейпинга.

В настоящее время нет правильного способа реализации этих Юникодовых алгоритмов для консолей. (Эти реализации в konsole & mlterm являются своего рода обходным путем)

Вот часть из сообщения Behdad Esfahbod, он является основным разработчиком HarfBuzz (hb для краткости, движок формирования текста OpenType)

Terminal emulators с поддержкой сложного текста являются очень странными. гибриды. С одной стороны терминальные эмуляторы должны выкладывать текст в формате предопределенная решетка в предопределенном виде, которая противоречит многим аспекты и требования к сложному тексту, с другой стороны пользователи поддержка спроса на сложный текст в своих терминалах. Становится все более уродливым когда ты думаешь о двунаправленном тексте, скажем, внутри консольного текста. Редактор. Тем не менее, справедливо сказать, что такие гибриды не помещают любые новые требования к формообразующему двигателю. У гномов-терминала в настоящее время нет поддержка сложного текста, кроме сочетания меток. Консоль имеет двунаправленная поддержка текста. Apple's Terminal App имеет по крайней мере биди поддержка, а также поддержка арабского формообразования, не уверен насчет другого сложный текст. Обновление (18 января 2010 г.): Режим терминала (термин и asi-term) в последних версиях Emacs может отрисовывать сложный текст, в том числе Indic.

Source: State of Text Rendering

Here is the appropriate bug report in Launchpad bug #263822: Поддержка RTL (справа налево) в терминале (BiDi).

4
ответ дан 17 November 2015 в 15:32

Терминал GNOME 3.34 поддерживает скрипты справа налево, такие как арабский.

На самом деле работа перешла в VTE версии 0.58, поэтому любой другой эмулятор терминала, использующий VTE (например, Tilix, Terminator, Xfce Terminal, Guake ...), получит его автоматически.

Он будет дебютировать в Ubuntu 19.10 Eoan Ermine.

Screenshot

6
ответ дан 23 November 2019 в 00:40

Есть еще три решения:

  1. использовать terminus (электронное приложение - веб-интерфейс):

enter image description here

  1. использовать Konsole (эмулятор по умолчанию для дистрибутивов KDE) :

enter image description here

  1. используйте butterfly (чистый веб-терминал):

enter image description here

спасибо @singrium

1
ответ дан 5 January 2021 в 23:48

Другие вопросы по тегам:

Похожие вопросы: