Localization/Arabic - ArchWiki

Jump to content
< Localization

This article describes how to set up Arabic language environment. It does not cover setting up Arabic input on the console.

## Fonts

- ttf-amiriAUR — A classical Arabic typeface in Naskh style pioneered by Amiria Press. Its Latin characters are based on Crimson (otf-crimson) [1] [2]
- ttf-arabeyes-fontsAUR — Collection of free Arabic fonts
- ttf-qurancomplex-fontsAUR — Fonts by King Fahd Glorious Quran Printing Complex in al-Madinah al-Munawwarah
- ttf-sil-lateefAUR — Unicode Arabic font from SIL
- ttf-sil-scheherazadeAUR — Unicode Arabic font from SIL (Alternative for Traditional Arabic font)

Persian fonts:

- vazirmatn-fontsAUR

Fonts with support for Arabic:

- ttf-dejavu-ibAUR — Dejavu fonts

## Applications

Ayaspell offers Arabic spellchecking extensions for applications like Libreoffice, Firefox, and also system-wide dictionaries using hunspell-arAUR.

### Libreoffice

1. Enable Complex Text Layout: Tools > Options... > Language Settings > Languages > Default Languages for Documents.
2. Install Ayaspell dictionary: Tools > Language > More Dictionaries Online > Arabic.

## Troubleshooting

Common issues may be solved by checking Locale#Troubleshooting first. For problems related to text direction, check Bidi.

### XKB Lam Alif problem

X keyboard layout sends Arabic ligature glyphs as a single glyph. For example, Laa+Alif ligature "لا" (U+0644, U+0627) is sent as "ﻻ" (U+FEFB), and similarly for (ﻷ، ﻵ، ﻹ). This is due to a known limitation in xkb which does not allow mapping a key to more than one character.

#### Workaround with X compose

If you have `im-config` installed, you can use `im-config -n xim`. Or alternatively, add the following to your environment variables:

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

#### Workaround with ibus

- Set ibus as an input method by running `im-chooser` or by setting the environment variables:

      GTK_IM_MODULE=ibus; QT_IM_MODULE=ibus; XMODIFIERS=@im=ibus

- Run `ibus-daemon` or `ibus-setup` if ibus is not set up.
- Use ar-kbd-m17n as ibus input method.

## See also

- Bidirectional text
- ArabEyes Project

Category:

- Localization