Bug 27362 - Proposed layout for Swahili in Arabic script
Summary: Proposed layout for Swahili in Arabic script
Status: RESOLVED FIXED
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium enhancement
Assignee: xkb
QA Contact:
URL: http://kevindonnelly.org.uk/2010/03/s...
Whiteboard:
Keywords: NEEDINFO
Depends on:
Blocks:
 
Reported: 2010-03-29 03:44 UTC by Kevin Donnelly
Modified: 2010-03-31 01:13 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Proposed layout for Swahili in Arabic script (3.36 KB, text/plain)
2010-03-29 03:44 UTC, Kevin Donnelly
Details
xkb symbols file for Kenya - Swahili in Arabic script (2.33 KB, text/plain)
2010-03-30 03:21 UTC, Kevin Donnelly
Details

Description Kevin Donnelly 2010-03-29 03:44:17 UTC
Created attachment 34529 [details]
Proposed layout for Swahili in Arabic script

I have been trying to come up with a way of writing Swahili (East Africa - Kenya, Tanzania and other countries) in the traditional Arabic script that was (and in some cases still is) used along the coast.  This would be particularly useful in the transcribing of Swahili manuscripts that are written in the Arabic script.  

The post and pdf download at http://kevindonnelly.org.uk/2010/03/swahili-in-arabic-script-a-howto/ sets out the details of something that works for OpenOffice.org.  In short, I adapt the Buckwalter keyboard layout for Arabic, and add that adaptation as a new layout, sw.  The details are in the download in that post, and I attach the sw layout (/usr/share/X11/xkb/symbols/sw) to this bugreport.

Looking over the notes at http://www.freedesktop.org/wiki/Software/XKeyboardConfig/Rules, I see now that a country has to be chosen, rather than a language, so presumably either Kenya or Tanzania would be the candidates here, though I am unclear as to which one to choose.

I am posting here in order to ask:
(1) Is my approach the "proper" way to achieve th goal of writing Swahili in Arabic script?
(2) Is there any possibility that this layout (or some version thereof) could be made an "official" part of the xkb system?

There are still some problems with my approach, which may be due to my lack of expertise in this area:
(a) The default fonts (Liberation and DejaVu) seem not to properly action the ligatures for medial and final Arabic letters like ain or noon.
(b) Related to this, the default display on a webpage leaves much to be desired see http://kevindonnelly.org.uk/2010/03/swahili-in-arabic-script-on-wordpress/ for examples.

I would be very grateful for any comments or advice on how to improve what I have done so far.
Comment 1 Sergey V. Udaltsov 2010-03-29 12:43:37 UTC
I'm afraid there is not enough information.

Could you please have a look here http://www.freedesktop.org/wiki/Software/XKeyboardConfig/Rules

Most important: the layouts are organized on per-country basis. And I need some code for base.xml.in
Comment 2 Kevin Donnelly 2010-03-29 15:04:53 UTC
(In reply to comment #1)
> I'm afraid there is not enough information.

OK - what other information do you need (apart from the below) that is missing? I thought the pdf on the URL gave a lot of info on the layout, so do you mean other information apart from that?

> Could you please have a look here
> http://www.freedesktop.org/wiki/Software/XKeyboardConfig/Rules

Yes, I read that.  I think I've provided everything that the "Layouts, Variants" section asks for, but by all means tell me if I'm missing something.

> Most important: the layouts are organized on per-country basis.

That's what I said above - Swahili is an official language in both Tanzania or Kenya, though (as I said) the language is widely used in several other countries in East Africa.  Can we define a Swahili in Arabic script entry for (say) Tanzania and then include that by reference for Kenya?  So you would have symbols/tz, with the Roman keyboard being the default, and the Arabic one added as a variant.  There is no tz layout at the minute.

> And I need some code for base.xml.in

That was in the pdf, but I'll give it again here:

	<layout>
         <configItem>
           <name>sw</name>
           <shortDescription>Swa</shortDescription>
           <description>Swahili in Arabic script</description>
           <languageList>
              <iso639Id>swa</iso639Id>
           </languageList>
         </configItem>
         <variantList/>
       </layout>

As I said in the pdf, for Kubuntu this gets added to evdev.xml, but I think that serves the same purpose as base.xml.in.

Hope this helps - thanks for your input!

Comment 3 Kevin Donnelly 2010-03-29 15:08:37 UTC
(In reply to comment #2)
> > And I need some code for base.xml.in
> 
>         <layout>
>          <configItem>
>            <name>sw</name>
>            <shortDescription>Swa</shortDescription>
>            <description>Swahili in Arabic script</description>
>            <languageList>
>               <iso639Id>swa</iso639Id>
>            </languageList>
>          </configItem>
>          <variantList/>
>        </layout>


Just realised that probably needs to be changed if you're using Tanzania:

       <layout>
         <configItem>
           <name>tz</name>
           <shortDescription>Tz</shortDescription>
           <description>Swahili in Arabic script</description>
           <languageList>
              <iso639Id>swa</iso639Id>
           </languageList>
         </configItem>
         <variantList/>
       </layout>

Comment 4 Sergey V. Udaltsov 2010-03-29 15:20:45 UTC
Yes, that's what I was looking for! Well, I had to fix it - but anyway, not it is in git. Feel free to attach the patch for other countries using SWA.

Thank you!
Comment 5 Kevin Donnelly 2010-03-29 15:47:49 UTC
(In reply to comment #4)
> Yes, that's what I was looking for! Well, I had to fix it - but anyway, not it
> is in git. Feel free to attach the patch for other countries using SWA.
> 
> Thank you!

Cool - thank you for your help!

Comment 6 Sergey V. Udaltsov 2010-03-29 15:49:31 UTC
Would you be interested in creating aliases for Kenya and other countries?
Comment 7 Kevin Donnelly 2010-03-30 03:21:35 UTC
Created attachment 34542 [details]
xkb symbols file for Kenya - Swahili in Arabic script
Comment 8 Kevin Donnelly 2010-03-30 03:27:46 UTC
(In reply to comment #6)
> Would you be interested in creating aliases for Kenya and other countries?

Yes - sorry.  I remembered that last night.

I hae attached a symbols file for Kenya (or do you just reference the Tanzania one?).  The stanza for base.xml.in would be:

<layout>
  <configItem>
      <name>ke</name>
      <_shortDescription>Ken</_shortDescription>
      <_description>Kenya</_description>
      <languageList><iso639Id>swa</iso639Id></languageList>
    </configItem>
</layout>

And ke needs to be added to Makefile.am.

Although Swahili is spoken in Uganda (where it is an official language), Burundi, Rwanda, DR Congo, and parts of Somalia and Mozambique, I don't think it is necessary to add layouts for those countries, since the vast bulk of possible users will be in Kenya and Tanzania.

Thank you for your help, Sergey.

Comment 9 Sergey V. Udaltsov 2010-03-30 14:22:23 UTC
Wait a sec. Why do you have full new layout for Kenia? Can't we use 'include "tz(swa)"' instead??
Comment 10 Kevin Donnelly 2010-03-30 15:04:10 UTC
(In reply to comment #9)
> Wait a sec. Why do you have full new layout for Kenia? Can't we use 'include
> "tz(swa)"' instead??
> 

Oh, fine - I didn't know you could do that.  That was what you meant by an alias, then?  Sure, reference tz(sw) instead.
Comment 11 Sergey V. Udaltsov 2010-03-30 15:09:09 UTC
Done. Please check in git.
Comment 12 Kevin Donnelly 2010-03-31 01:13:40 UTC
(In reply to comment #11)
> Done. Please check in git.
> 

Terrific!  Thanks very much for adding this.  (And you've now taught me how to do aliases!)


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.