本地化/阿拉伯语

来自 ArchWiki

本文介绍如何设置阿拉伯语语言环境。

应用程序

Shell 和终端

Vim

  • 有关设置 Bidi 支持,请参见 Vim#双向支持
  • 由于 Vim 不映射输入法给出的阿拉伯字符,因此移动命令不起作用。一种可能的解决方法是在 Vim 中设置键盘映射,而不更改 X11 键盘映射。可以通过 set keymap=arabic 完成此操作,然后通过 Ctrl-^ 在布局之间切换,或者在 vimrc 中手动设置 langmap
set langmap=ضصثقفغعهخحجد;qwertyuiop[],شسيبل;asdfg,اتنمكط;hjkl\;',ئءؤرلا;zxcvb,ىةوزظ;nm،./,لآB,آN,'M,؟?,ِA,ٍS,لأG,أH,ـJ,،K,ًW,ُE,ٌR,لإT,إY,÷I,×O,؛P

字体

有关设置字体配置,请查看 字体配置/示例#阿拉伯语。波斯字体,例如 vazirmatn-fontsAUR 也包含对阿拉伯字母的支持。可以从 字体#波斯语 中查看波斯字体列表。

多文字 (扩展阿拉伯文字) 字体

无衬线字体

等宽字体

位图字体

Naskh (~衬线)

Ruq'ah, Kufic (~无衬线)

Kashida 对齐

Kashida 对齐可以应用于单个字母或字母之间。有关更多信息,请参见 [4]

\usepackage[
	english,
	bidi=basic,
]{babel}
\babelprovide[
	import, main,
	justification = kashida,
	transforms = kashida.plain
]{arabic}
\babelfont[arabic]{rm}{Scheherazade New}

技巧和窍门

故障排除

常见问题可以通过首先检查 Locale#故障排除字符编码#故障排除 来解决。对于与字母塑形或文本方向相关的问题,请查看 Bidi

XKB Lam Alif 问题

X 键盘布局阿拉伯连字 字形作为单个字形发送。例如,Laa+Alif 连字“لا” (U+0644, U+0627) 作为“ﻻ” (U+FEFB) 发送,对于 (ﻷ、ﻵ、ﻹ) 也是如此。这是由于 xkb 中的 已知限制,它不允许将一个键映射到多个字符。要解决此问题,请运行受支持的输入法。输入法解决方法利用了 组合键序列。有关此技术的阅读,请查看 [5]。这些已被确认为有效

对于更轻量级的选项,您可以使用 Xim。将以下内容添加到您的 环境变量

XIM=none
XIM_PROGRAM=/bin/true
XIM_ARGS=
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
SHORT_DESC="X compose table"

或者,您可以使用 IM 配置包装脚本im-config -n xim

由于基于 QT 的程序没有此问题,因此只需将 export GTK_IM_MODULE=xim 添加到 ~/.xsessionrc~/.xprofile 即可。该问题也已在 GTK4 中修复。

提示: 如果使用输入法,则 XCompose 表提供额外的阿拉伯字母,如:گ、ڤ、چ、پ、引号 «»,以及 Wikipedia:零宽度非连接符,通过按 AltGr 键。默认组合表位于 /usr/share/X11/xkb/symbols/ara

修复使用 Noto 字体时阿拉伯语的可读性

如果阿拉伯字符以意外的字体 (例如:Nastaliq、乌尔都语字体等) 渲染,请参见 字体配置/示例#从其他语言中排除阿拉伯文字

参见