我尝试在终端应用程序中输入阿拉伯语,但它无法识别从右到左的文本,也无法将阿拉伯字母按应有的方式绑定在一起。
我尝试过这个解决方案https://bugs.launchpad.net/ubuntu/+source/vte/+bug/263822但它没有作用。
有没有计划在 gnome 终端中实现阿拉伯语支持?KDE Konsole 终端运行没有任何问题。
这是终端支持阿拉伯语所需要的:
- 阿拉伯字母需要使用支持阿拉伯语的字体从右到左正确显示,字母采用正确的形式(同一个单词中的字母连接在一起,通常我们希望看到 على 而不是 ع ل ى)
- 它需要支持变音符号(阿拉伯语中称为 shakl شَكْل)
- 需要有一种方式来为整行启用从右到左模式。例如,单词 على 后面跟着 a,
.
应该将点显示在左侧,而不是右侧。 - 需要有一种方法来将行的文本右对齐,而不是左对齐。
以下是 Gedit 中满足四个属性的示例:
但是,Ubuntu 21.10 中的 GNOME 终端仅支持前面要求列表中的属性 1 和 2:
(字母从右到左正确显示,但是,点在右边,而它应该在左边,并且文本是左对齐而不是右对齐。)
答案1
对于 Ubuntu 64 位,您需要下载双向控制台 BiCon。要添加电力购买协议并安装:
sudo add-apt-repository ppa:behnam/ppa
sudo apt-get update
sudo apt-get install bicon
我猜你遇到了依赖问题。你还需要使用以下命令安装上述应用程序:
sudo apt-get install libfribidi0 libfribidi-dev
希望这能有所帮助
答案2
使用 Mlterm,它对阿拉伯语和其他非拉丁字符有很好的支持。你可以从 Ubuntu 存储库下载它:
sudo apt install mlterm
答案3
试试这个:sudo apt-get install libfribidi0 libfribidi-dev
,安装这包,然后vim /usr/share/applications/gnome-terminal.desktop
将此代码添加到文档中:
Terminal=true
Exec=/usr/bin/bicon.bin
答案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 中的实现是一种解决方法)
以下是来自贝哈德·伊斯法赫布的帖子,他是 哈夫巴兹(简称hb,一种OpenType文本整形引擎)
终端仿真器支持复杂文本的终端模拟器是非常奇怪的混合体。一方面,终端模拟器必须以预定义的方式在预定义的网格中布置文本,这与复杂文本的许多方面和要求相冲突;另一方面,用户要求他们的终端支持复杂文本。当你考虑双向文本时,比如在控制台文本编辑器中,它会变得更丑陋。尽管如此,可以公平地说,这种混合体并没有对整形引擎提出任何新的要求。gnome-terminal 目前不支持除组合标记以外的复杂文本。Konsole 支持双向文本。Apple 的终端应用程序至少支持 bidi 以及阿拉伯语整形,不确定是否支持其他复杂文本。更新(2010 年 1 月 18 日):Emacs 最新版本的终端模式(term 和 ansi-term)可以呈现复杂文本,包括印度语。
来源: 文本渲染状态
以下是 Launchpad 中相应的错误报告错误 #263822:终端 (BiDi) 中的 RTL(从右到左)支持。