Avestan keyboard layout

According to Wikipedia,

Avestan (pronounced /əˈvɛstən/ [1]) is an Iranian language known only from its use as the language of Zoroastrian scripture, i.e. the Avesta, from which it derives its name. The language must also at some time have been a spoken language, but how long ago that was is unknown. Its status as a sacred language ensured its continuing use for new compositions long after the language had ceased to be a living language.

Only recently was the Avestan script added to the Unicode standard (Unicode 5.2). For more, see page 17 at the Archaic scripts section of Unicode 5.2 (PDF) and the Unicode block details for U+10B00. See also the proposal to add Avestan to Unicode as an archaic script.

A user from UbuntuForums.org asked for help to create a keyboard layout for the Avestan script.

Keyboard Layout - Avestan

After providing the necessary details, the keyboard layout was created, Avestan keyboard layout for Linux.

So, how can you use the new keyboard layout?

1. Add avestan.txt at the end of /usr/share/X11/xkb/symbols/ir

sudo gedit /usr/share/X11/xkb/symbols/ir

in order to open (as administrator) the ‘ir’ layout, and paste the contents of avestan.txt at the end of the ‘ir’ file. Click Save and exit.

2. Register the new ‘avestan’ layout in evdev.xml and base.xml files.

Both files have a section that looks like the following. Do a simple search for ‘ku_ara’ or some other string in order to find the segment.

        <variant>
          <configItem>
            <name>ku_ara</name>
            <description>Kurdish, Arabic-Latin</description>
            <languageList><iso639Id>kur</iso639Id></languageList>
          </configItem>
        </variant>
-----------HERE------------
      </variantList>
    </layout>
    <layout>
      <configItem>
        <name>iq</name>
        <shortDescription>Irq</shortDescription>
        <description>Iraq</description>
        <languageList><iso639Id>ara</iso639Id>
                      <iso639Id>kur</iso639Id></languageList>
      </configItem>

Open base.xml with

sudo gedit /usr/share/X11/xkb/rules/base.xml

Then open evdev.xml with

sudo gedit /usr/share/X11/xkb/rules/evdev.xml

Replace the ‘———–HERE————‘ with the following lines:

 <variant>
 <configItem>
 <name>avestan</name>
 <description>Avestan</description>
 <languageList><iso639Id>ae</iso639Id></languageList>
 </configItem>
 </variant>

What we do here is we insert a variant description for the ‘avestan’ keyboard layout.

Click Save and exit the text editor.

3. Install a suitable font. Follow the steps from http://www.bomahy.nl/hylke/blog/adding-fonts-in-gnome/
which says to install the font in your home directory, in a ‘.fonts’ subdirectory. Normally, Ubuntu will pick up the font as soon as you copy it in there. Any newly started application should be able to use the new font.

4. Finally, add the new Avestan keyboard layout. Go to System → Preferences → Keyboard → Layouts, click on the [Add…] button and select from the list ‘Iran’ and layout ‘Avestan’. Click OK. Notice the new keyboard layout indicator on the panel that allows you to switch between English and Avestan.

Increasingly more scripts and symbols are added to the Unicode standard. These scripts are not useful unless there is a comfortable way to type in them. Find a script you like and help create a keyboard layout.

Permanent link to this article: https://blog.simos.info/avestan-keyboard-layout/

4 comments

Skip to comment form

    • greywalk on August 22, 2012 at 00:12
    • Reply

    I’m trying to create a layout for a language that is not among language codes on the iso639I mentioned in the evdev.xml.
    What should I do in a case like this?

  1. Avestan is not in the list either, so you can follow the same steps.

    If you use Ubuntu 12.04, you will notice that the new layout you created is not shown in the list of layouts in the GUI. You need to open dconf-editor and enable to special option to show extra keyboard layouts.

  2. Actually Avestan has been added in Ubuntu 12.04, so if anyone wants Avestan, they do not need to follow the above steps anymore. Just enable the extra keyboard layouts.

    1. Start dconf-editor (install it if it is not already installed)
    2. Find the key load-extra-items in /org/gnome/libgnomekbd/desktop and enable it.

    That’s it! You will be able to find all layouts from the GUI.

    • Adam78 on January 15, 2024 at 15:01
    • Reply

    I’d like to point out that changing system files (/usr/…) should never be done. While XKB was notoriously bad at being extensible it has improved over the past few years. You can add a variant under $XDG_CONFIG_HOME/xkb/symbols and simply add an evdev.xml and base.xml to $XDG_CONFIG_HOME/rules. They will not overwrite the system files but append or amend them.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.