本地化/阿拉伯语
< 本地化
本文介绍如何设置阿拉伯语语言环境。
应用程序
- Locale 文章解释了如何设置系统或用户区域设置。
- 双向文本 文章列出了应用程序中的 Bidi 支持状态。
- 键盘布局:通过
setxkbmap ara,us
设置。查看文章获取更多信息。 - Ayaspell 提供拼写检查扩展。可以通过 hunspell-arAUR 在系统范围内安装。
- Aspell:安装 aspell-arAUR
- Dict:对于阿拉伯语词典,安装 dict-freedict-eng-araAUR, dict-freedict-ara-engAUR。
- 伊斯兰工具:用于回历日期转换。
- LibreOffice:设置 Bidi 支持。如果您没有使用系统范围的阿拉伯语词典,可以从工具 > 语言 > 在线获取更多词典 > 阿拉伯语安装 Ayaspell 扩展。对于语言包,为稳定分支安装 libreoffice-still-ar,为 Libreoffice fresh 安装 libreoffice-fresh-ar。
- tesseract:对于 OCR 检测,默认数据包 tesseract-data-ara 主要是不准确的。尝试 tesseract-data-best-araAUR,参见 [1]。
- Thunderbird:安装 thunderbird-i18n-ar 以获得语言包。
- Firefox:安装 firefox-i18n-ar 以获得语言包。
- dwm:参见 Dwm#阿拉伯字母塑形
Shell 和终端
- st:参见 St#阿拉伯语塑形支持
- mlterm:参见 Mlterm#在 Xft 中渲染阿拉伯文字 和 Mlterm#使用固定宽度字体时渲染阿拉伯文字
- bash:默认启用“组合字符” (1) 功能,该功能将变音符号与前一个字符合并。
- zsh:要正确显示变音符号,请将
setopt COMBINING_CHARS
添加到您的.zshrc
。
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 也包含对阿拉伯字母的支持。可以从 字体#波斯语 中查看波斯字体列表。
多文字 (扩展阿拉伯文字) 字体
- noto-fonts - Google Noto 字体包括 Noto Kufi Arabic、Noto Sans Arabic 和 Noto Kufi Arabic。使用 noto-fonts-arAUR 仅安装这些字体。
- ttf-ibm-plex
- ttf-sil-harmattanAUR
- ttf-dejavu - 包括等宽字体 DejaVu Sans Mono'。
- ttf-arabeyes-fontsAUR — 免费阿拉伯字体的集合,包括
- KACST 字体
- Thuluth 字体
- Thabit:等宽字体
- 装饰性字体:AlArabiya、AlBattar、AlHor 和其他字体。
无衬线字体
等宽字体
- vazir-code-fontsAUR - 波斯字体,对阿拉伯语具有良好的等宽字体支持。
- otf-kawkab-monoAUR
- ttf-amiri-typewriterAUR - 基于 Amiri 的打字机 Naskh 字体
位图字体
Naskh (~衬线)
- ttf-scheherazade-new — 来自 SIL 的 Unicode 阿拉伯字体 (传统阿拉伯字体的替代品)
- ttf-amiriAUR — Amiria Press 开创的一种古典阿拉伯 Naskh 风格字体。其拉丁字符基于 Crimson (otf-crimson) [2] [3]
- ttf-qurancomplex-fontsAUR — 麦地那爱资哈尔古兰经印刷综合大楼的字体
- ttf-sil-lateefAUR — 来自 SIL 的 Unicode 阿拉伯字体
- ttf-aref-ruqaaAUR - Ruq'ah 字体。
- ttf-cairoAUR
- ttf-mada-variableAUR
- ttf-raqqAUR - 手稿 Kufic 字体。
- ttf-reem-kufiAUR
- otf-qahiriAUR
Kashida 对齐
Kashida 对齐可以应用于单个字母或字母之间。有关更多信息,请参见 [4]。
- LibreOffice:不支持单字母 Kashida。通过应用段落对齐来支持字母之间 Kashida。
- LaTeX:不支持单字母 Kashida。可以使用 Babel 包中的
justification=kashida
选项应用字母之间 Kashida。以下是一个示例序言
\usepackage[ english, bidi=basic, ]{babel} \babelprovide[ import, main, justification = kashida, transforms = kashida.plain ]{arabic} \babelfont[arabic]{rm}{Scheherazade New}
- typst:不支持
技巧和窍门
- 禁用包含阿拉伯字符的链接的 URL 编码。参见 字符编码#URL 编码。
故障排除
常见问题可以通过首先检查 Locale#故障排除 和 字符编码#故障排除 来解决。对于与字母塑形或文本方向相关的问题,请查看 Bidi。
XKB Lam Alif 问题
X 键盘布局 将 阿拉伯连字 字形作为单个字形发送。例如,Laa+Alif 连字“لا” (U+0644, U+0627) 作为“ﻻ” (U+FEFB) 发送,对于 (ﻷ、ﻵ、ﻹ) 也是如此。这是由于 xkb 中的 已知限制,它不允许将一个键映射到多个字符。要解决此问题,请运行受支持的输入法。输入法解决方法利用了 组合键序列。有关此技术的阅读,请查看 [5]。这些已被确认为有效
- IBus:自 v1.5.28 起受支持。
- ibus-typing-booster:自 2.19.0 起受支持
对于更轻量级的选项,您可以使用 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、乌尔都语字体等) 渲染,请参见 字体配置/示例#从其他语言中排除阿拉伯文字。