3. L'essentiel des réglages

Avant d'aller plus loin, assurons nous d'abord d'avoir le nécessaire pour le support de la langue arabe. Le reste de ce document considérera que vous avez lu et suivi les instructions des sections suivantes.

3.1. Configurer le noyau

Nous n'allons pas entrer dans les détails de la compilation de votre noyau, qui sort du cadre de ce document. Vous pouvez soit chercher si votre noyau pré-compilé est compilé avec les options suivantes (vérifiez dans la documentation de votre distribution) ou faire votre propre compilation.

# Parition Types
CONFIG_NLS=y
# Native Language Support
CONFIG_NLS_DEFAULT="UTF8"
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_UTF8=y
    

3.2. Réglages des variables locales

NOTE: cette section est incomplète et peut contenir des erreurs. Ne pas l'utiliser en tant que telle pour l'instant SVP.

Il y a plusieurs variables d'environnement qui doivent être définies afin que certaines applications puisse fonctionner de la manière à laquelle vous vous attendez concernant la langue arabe.

$ LC_CTYPE=ar_EG.UTF-8
$ CHARSET=ISO_8859-6
$ OUTPUT_CHARSET=UTF-8
$ LESSCHARSET='UTF-8'
$ LANG=ar_US
$ export LC_CTYPE CHARSET OUTPUT_CHARSET LESSCHARSET LANG
    

Notez SVP que vous pouvez changer le 'US' au code pays dans lequel vous vous trouvez. Ainsi, si vous vous trouvez en Egypte, vous mettrez 'ar_EG' (ceci s'applique à tout ce qui est au dessus).

Il y a également d'autres variables locales d'environnement comme LANGUAGE et LC_ALL. LC_ALL écrase toutes les autres variables de type LC_* . Vous pouvez simplement lui attribuer 'UTF-8'.

$ export LC_ALL=ar_US.UTF-8[1]
    

3.3. Installation des bibliothèques

Il y a trois éléments principaux pour faire fonctionner le support de la langue arabe:

  • Support bidirectionnel: l'aptitude du texte à être visualisé dans les deux directions gauche-vers-droite (LTR) et droite-vers-gauche (RTL) quand on mélange une langue RTL (arabe par exemple) avec une langue LTR (anglais par exemple).

  • Support du Modelage/Assemblage: l'aptitude de modeler le script arabe selon le contexte (jusqu'à quatre formes possibles par lettre suivant sa position dans le mot).

  • Support de l'UTF-8: Avoir le support du Unicode Transformational Format.

3.3.1. Installer FriBiDi

http://fribidi.sourceforge.net/

Probablement la plus populaire et la plus importante bibliothèque à avoir dans votre arsenal. Actuellement, cette bibliothèque contient le support du ré-agencement conformément au TR#9 de l'Unicode. Les applications comme mlterm et Pango l'utilise entièrement ou en partie.

Malheureusement, au moment d'écrire ce document, fribidi ne contient pas le support du modelage dans la totalité de la bibliothèque.

3.4. Patch 'less-378'

http://old.arabeyes.org/project.php?proj=patches

Un patch a été soumis à l'auteur de less afin de l'incorporer dans les sources principales de l'application. Entre temps, ce patch arrangera la taille qu'une ligne en arabe prend dans votre terminal.

Télécharger le patch d'ici: http://old.arabeyes.org/download/external/less/less_composing.patch.tgz.

Et les sources de 'less' d'ici: http://www.greenwoodsoftware.com/less/less-378.tar.gz

$ tar zxvf less-378.tar.gz
$ cd less-378
$ tar zxvf less_composing.patch.tgz
$ patch -b -p0 < less_composing.patch
$ ./configure
$ make && make install
    

A présent vous devriez avoir un 'less' totalement fonctionnel qui visualise le texte arabe avec la taille d'écran correcte !

3.5. Utilisation des noms de fichiers en arabe

Bien que l'aptitude d'avoir les noms de fichiers en arabe existe, c'est généralement déconseillé. Principalement à cause du fait qu'actuellement la plupart des applications ne sauront pas comment les traiter.

3.5.1. Lire les noms de fichiers en arabe

Afin que votre explorateur de fichiers puisse lire les noms de fichiers en arabe correctement, vous devez spécifier le jeu de caractères à utiliser. Il y a deux réglages d'environnement que vous devez avoir, et que vous pouvez soit export-er (avec bash) soit ajouter à vous fichiers ~/.profile ou ~/.bash_profile .

$ export G_BROKEN_FILENAMES=1 [2]
      

3.5.2. Ecrire les noms de fichiers en arabe

Au moment d'écrire ce document, il n'est possible de nommer des fichiers en arabe qu'à travers une application ou un manager de GUI (GUI=interface graphique d'utilisateur). Les shells, même bash qui contient le support de l'UTF-8, ne permettent pas d'entrer de l'arabe depuis le prompt.

3.5.3. Montage de la partition Windows

Afin que vous puissiez lire les noms de fichiers en arabe depuis une partitions Windows, vous devez dire à la commande mount quel jeu de caractères utiliser. Ceci est fait comme suit (en considérant que votre partition Windows se trouve dans /dev/hda3 ):

 
# mount -t auto /dev/hda3 /mnt/win/ -oiocharset=utf8 [3]
      

Vous pouvez rendre ceci permanent en l'ajoutant à votre fichier /etc/fstab .

/dev/hda3  /mnt/win vfat  defaults,iocharset=utf8  0 0
      


[1] Ceci n'est pas conseillé car il peut y avoir des effets imprévisibles.

[2] Glib considère que les noms de fichiers sont dans le codage local plutôt que dans l'UTF-8.

[3] Notez SVP que l'utilisation de l'option 'oiocharset' peut parfois causer des incohérences. A utiliser à votre risque !