Pashto under Gentoo Linux

Abdullah Ayub

Publishing Date: Monday, June 21 2015

Note: The instructions in this write-up are specific to Gentoo distributions only and may/may not work for others. This guide is also work-in progress and will be updated or modified if something new comes along. Last updated: 4 July 2012

Gentoo is a "compile by yourself" distribution. All applications are installed through the portage package manager, for which default settings are made in /etc/make.conf. This file should have the following settings:

USE="unicode bidi"

LINGUAS="ar fa ur ps"

The unicode use-flag is for compiling your applications with UTF support, and bidi for bi-directional text support. The Linguas flags can enable arabic, farsi, urdu, or pashto support if the software has support for it. For example, if you compiled libre-office (office suite) without these flags, you may be able to type in Pashto but it will appear as پ ښ ت و but if you compile with the flags, the characters will be joined together as پښتو.

In general, you should also make sure your installation is fully UTF compatible. Follow the instructions in this guide.

Keyboard Layouts

Pashto is now supported by default by almost every operating system. Pre-2005, this was not the case. There were two popular keyboard layouts that could be installed separately. One was Liwal, and the other Khpala Pashto. Liwal produced fonts, keyboard layouts and other software targetting primarily DOS and windows based applications. Their first font for DOS was released as far back as 1992. Liwal produced a total of 25 fonts, and according to an email correspondence (2000) claimed to be working on 250 fonts. However, their layouts and fonts came with a price tag. Khpala Pashtu also produced fonts and keyboard layouts. They produced 7 fonts and a keyboard layout in the late 1990s and are still downloadable even today. Khpala Pashtu was free for individual use. The keyboard layouts by both Liwal and Khpala Pashto are now obsolete as they do not work with OS's after windows XP.

In 2003, a UNDP project "Computer locale requirements for Afghanistan" was the first effort to standardize pashto for usage in computers. The project was also endorsed by the then Afghan ministry of communications. The project team comprised Michael Everson of Evertype, and Roozbeh Pournader of Farsi Web project. For 3-4 years, both Windows and Linux failed to encorporate the standard in their OS's. On Linux, a keymap based on the standard by Emal Alekozai was launched in 2006. In June of 2015, this keymap became part of the xkbd tool. Nowadays, Pashto support on your operating system should be enabled by default.

To select the default layouts, go to System > Preferences > Keyboard, and click on the Layouts tab.

Click the Add button, and select the layout you require.

For those of us like me who are used to the older generation layout of Khpala Pashtu, and are using Linux (Gentoo), please read on.

Download the file af.tar.gz. Open the file af from within the archive. Launch your terminal and edit the file for Afghan layouts (You may require super-user rights for doing this)

nano /usr/share/X11/xkb/symbols/af

Copy and paste the contents of the downloaded af file into the local file.

Next, modify the file evdev.lst

nano /usr/share/X11/xkb/rules/evdev.lst

Search for "Afghanistan". You will find it in the ! variant section where the following entries will already be present:

ps af: Pashto

uz af: Uzbek (Afghanistan)

olpc-ps af: Pashto (Afghanistan, OLPC)

fa-olpc af: Persian (Afghanistan, Dari OLPC)

uz-olpc af: Uzbek (Afghanistan, OLPC)

Add the following line below the list:

pash af: Khyber.ORG (Khpala Pashto)

Next, modify the file evdev.xml

nano /usr/share/X11/xkb/rules/evdev.xml

Search for "olpc-ps". You should see the following entry:

<variant>

<configItem>

<name>olpc-ps</name>



<shortDescription>ps</shortDescription>

<description>Pashto (Afghanistan, OLPC)</description>

<languageList>

<iso639Id>pus</iso639Id>

</languageList>

</configItem>

</variant>

Note that the text is enclosed in the <variant> and </variant> tags. Immediately after this, add the following lines:

<variant>

<configItem>

<name>pash</name>



<shortDescription>pash</shortDescription>

<description>Khyber.ORG (Khpala Pashto)</description>

<languageList>

<iso639Id>pus</iso639Id>

</languageList>

</configItem>

</variant>

You can now enable the Khpala Pashtu keyboard layout using the screen-shots appearing earlier in this section