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


32

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

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

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


1
Что случилось, когда вы попробовали bugs.launchpad.net/ubuntu/+source/vte/+bug/263822 ?
NN

2
зачем вам писать арабский в терминале и почему вы хотите, чтобы он был справа налево ???
Черный блок

1
К вашему сведению: арабский язык обычно пишется справа налево . Как и несколько других языков, со старым ивритом даже переключаться между справа налево и слева направо . Традиционная японская письменность начинается с верхнего правого края страницы и идет вниз в столбце, а следующая «строка» глифов справа. Это также дает им книги, которые читаются с правой обложки, переворачивая страницы влево, пока не будет достигнут конец книги (западная обложка).
david6

Нужны ли вам оба слева направо и справа налево , во время какого-либо данного сеанса? Используете ли вы эмуляцию терминала (escape-последовательности, полноэкранный режим, расположение полей) или это ТОЛЬКО для командной строки?
david6

@ Наруто для меня, мне нужна арабская поддержка, потому что я использую терминальный IRC-клиент, и присоединение к арабскому каналу покажет искаженные слова в клиенте. Не уверен насчет него.
Сухайб

Ответы:


10

Для Ubuntu 64 bit вам нужно скачать этот пакет

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

sudo apt-get install libfribidi0 libfribidi-dev

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


9

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

Terminal=true
Exec=/usr/bin/bicon.bin

В Ubuntu 13.04 я установил эти пакеты, но могу найти bicon.bin где угодно ...
Ba7a7chy

Я хочу, чтобы фрибиди работал на Linux Suse. Я установил Fribidi, следуя инструкциям по установке на его официальном сайте, однако я не вижу изменений в терминале. И пытаясь zypper install libfribidi0я получаю ошибку: Loading repository data... Reading installed packages... 'libfribidi0' not found in package names. Trying capabilities. No provider of 'libfribidi' found. Resolving package dependencies.искал и не получил ни одного результата. Какие пакеты я должен иметь?
Neeku

7

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

Изображение Млтерма с арабским


Вы можете скачать его из репозиториев Ubuntu
Damascene

Вы можете отредактировать свой вопрос, чтобы добавить содержание вашего комментария и сделать его более полезным.
Jakuje

Я установил его, и он, кажется, не работает, арабские символы - просто коробки. Может быть, он использует неправильный шрифт?
Флим

@Flimm убедитесь, что в качестве настройки кодирования используются iso-8859-6 или windows, или ibm-эквиваленты
Ошибка

@Error Я недавно попробовал mlterm, и похоже, что это работает. Я рад, что мне не пришлось пробовать iso-8859-6, если честно, жизнь намного проще, когда все используют UTF-8.
Flimm

4

Обновить

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

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


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

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

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

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

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

Эмуляторы терминала с поддержкой сложного текста - очень странные гибриды. С одной стороны, эмуляторы терминала должны размещать текст в заранее определенной сетке заранее определенным образом, что противоречит многим аспектам и требованиям сложного текста, с другой стороны, пользователи требуют поддержки сложного текста в своих терминалах. Это становится ужаснее, когда вы думаете о двунаправленном тексте, скажем, внутри консольного текстового редактора. Тем не менее, справедливо сказать, что такие гибриды не предъявляют никаких новых требований к формирующему двигателю. В настоящее время gnome-терминал не поддерживает сложный текст, кроме сочетания меток. Konsole имеет поддержку двунаправленного текста. Терминальное приложение Apple имеет, по крайней мере, поддержку двунаправленного текста, а также поддержку формирования арабского языка, но не уверен насчет другого сложного текста. Обновление (18 января 2010 г.): Режим терминала (term и ansi-term) в последних версиях Emacs может отображать сложный текст, включая Indic.

Источник: Состояние рендеринга текста

Вот соответствующий отчет об ошибке в Launchpad bug # 263822: Поддержка RTL (справа налево) в терминале (BiDi) .


1
«Нет, нет никаких планов по внедрению поддержки RTL gnome-terminalили какой-либо терминал зависит от vte» - Это было верно, когда вы опубликовали этот ответ, и, к счастью, это уже не так. Смотрите мой ответ для обновления.
egmont

3

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

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

Это дебютирует в Ubuntu 19.10 Eoan Ermine.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.