[Libreoffice] fixing kashida insertion

Khaled Hosny khaledhosny at eglug.org
Tue Mar 15 08:55:31 PDT 2011

On Tue, Mar 15, 2011 at 10:32:59PM +0700, Martin Hosken wrote:
> Dear Arabic experts,
> The current kashida insertion implementation in libo is, to put it
> mildly, a disaster.


> As I see it there are a few options open to us:
> 1. Get it right. This is really hard and beyond my capabilities in the
> time I have available for this. But if someone wants to work out the
> preferred location for each word and then insert there, then go for
> it.
> 2. Implement dumb kashida placement that says: you can insert a
> kashida at any joining of two characters. This should be doable
> (famous last words) based on Unicode properties.

There is a bit less dump "algorithm" used by IE and also implemented in
It shouldn't be hard to implement (though I don't completely agree with
priority 5 in the table; a Baa followed by Yaa should never ever get a
Kashida in a Naskh or Nastaliq font).

> 3. Don't do kashida insertion at all. This is probably better than the
> bad insertion we currently have.

In either case this should be an option, there are many high quality
fonts that any non highly sophosticated Kashida algorithm will fail for
them (any good Nastaliq font for example).

> I'm willing to have a go at 2 or 3. An alternative would be to add a
> switch in say Options/Language Settings/Writing Aids/Options or
> Options/Language Settings/Complex Text Layout to enable/disable
> kashida insertion. Such UI stuff is beyond me at the moment.

I'd suggest having a more accessible option (MS Office 2007 combines the
three full justification settings in the same full justification button
in the toolbar which makes it very accessible IMO), but it is up to who
will actually right the code.

This is one of the most broken aspects of OOo/LO for Arabic users, I was
planing to play with it but unfortunately I'll not be able to put much
effort into this.


 Khaled Hosny

More information about the LibreOffice mailing list