Як включити арабську підтримку в терміналі 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
FYI: Арабською мовою зазвичай пишеться справа наліво . Як і кілька інших мов, старий іврит навіть перемикається між правою наліво та зліва направо . Традиційне японське письмо починається вгорі праворуч сторінки і йде вниз у стовпчик, наступним "рядком" гліфів справа. Це також дає їм книги, які читаються з правої обкладинки, перегортаючи сторінки вліво, поки не буде досягнуто кінця книги (західна передня обкладинка).
david6

Чи потрібні вам як зліва направо, так і справа зліва під час будь-якого сеансу? Ви використовуєте термінальну емуляцію (послідовності втечі, повний екран, макет поля) або це ТІЛЬКИ для командного рядка
david6

@Naruto для мене мені потрібна арабська підтримка, тому що я використовую тремінальний клієнт IRC, і приєднання до арабського каналу відображатиме спотворені слова в клієнті. Не впевнений у ньому.
Сухайб

Відповіді:


10

Для 64-бітного Ubuntu вам потрібно буде завантажити цей пакет

замість цього. Я думаю, у вас виникли проблеми із залежністю. Вам також потрібно встановити зазначені вище програми за допомогою цієї команди.

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

Я хочу, щоб fribidi працював на 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.шукали і не отримували жодного результату. Які пакунки я повинен мати?
Нееку

7

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

Зображення Mlterm із зображенням арабської мови


Ви можете завантажити його з сховищ Ubuntu
Damascene

Ви можете відредагувати своє запитання, щоб додати вміст свого коментаря та зробити його кориснішим.
Jakuje

Я встановив його, і це, здається, не працює, арабські символи - це лише коробки. Можливо, використовується неправильний шрифт?
Flimm

@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 та форматування.

В даний час немає правильного способу реалізації цих алгоритмів Unicode для консолей. (Ці реалізації в konsole & mlterm є своєрідним вирішенням)

Ось частина з посту Бегдада Есфахбода , він є головним розробником HarfBuzz (короткий hb, двигун формування тексту OpenType)

Термінальні емулятори з підтримкою складного тексту - це дуже дивні гібриди. З одного боку, емулятори терміналів повинні викладати текст за заздалегідь заданою сіткою заздалегідь визначеним способом, що суперечить багатьом аспектам та вимогам складного тексту, з іншого боку, користувачі вимагають підтримки складного тексту у своїх терміналах. Воно стає химерніше, коли ви думаєте про двосторонній текст, скажімо, всередині консольного редактора тексту. Тим не менш, справедливо сказати, що такі гібриди не ставлять нових вимог до формуючого двигуна. gnome-terminal на даний момент не підтримує складний текст, крім поєднання знаків. Konsole має двосторонню підтримку тексту. Термінальний додаток Apple має принаймні підтримку bidi, а також підтримку арабської форми, не впевнені в іншому складному тексті. Оновлення (18 січня 2010 р.): Термінальний режим (термін та ансі-термін) в останніх версіях Emacs може надавати складний текст, включаючи Indic.

Джерело: Стан передачі тексту

Ось відповідний звіт про помилку у програмі Launchpad bug # 263822: Підтримка RTL (справа наліво) у терміналі (BiDi) .


1
"Ні, не планується реалізовувати підтримку RTL в gnome-terminalбудь-якому терміналі або залежить від цього vte" - Це було правдою, коли ви опублікували цю відповідь, і, на щастя, це вже не так. Дивіться мою відповідь для оновлення.
Егмонт

3

Термінал GNOME 3.34 підтримує сценарії справа наліво, такі як арабська.

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

Дебютує в Ubuntu 19.10 Eoan Ermine.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.