How to Add Kashidas in Arabic Font

Ashfaq_Niazi's picture

In different Forums I read about the features like SS01~20, SALT, CSWH, TITL,
I have added Kashida for Init, Med, Final & Iso, by replacing it with Character + U+0640 and I am getting the required result by simply adding it to RLIG, but I have to type each time Character + Tatweel key in my text.
Can someone explain which one is supported by MS Word, I read SS01~20 support upto 20 alternates and also Word Support it. If I use any of them how I will get the substitute in MS Word, and what will be the process in MS Volt.
Anyone can put screen shot of MS Volt using any of above features especially support by MS Word, or any font having any of above feature available with VOLT Source.
Thanx.

Ashfaq_Niazi's picture

Any help for my issue?

John Hudson's picture

The problem here is that all software that applies automatic kashida insertion for text justification does so, as you would expect, after all other Arabic text shaping for the line is complete. At that stage, it is too late for any of your OpenType Layout glyph substitutions or positioning involving the kashida, because OTL processing has been completed. This means that automatic kashida insertion only works for flat, horizontal Arabic type styles, and not for any styles in which the kashida is shaped as an elongation of the letter. I've discussed this at length with people at Microsoft and Adobe, and they're aware of the problem and also of what needs to be done to fix it at the glyph level(running at least some OTL features twice: once before kashida insertion and once after), but there are complications regarding line length and kashida width that need to be figured out.

Ashfaq_Niazi's picture

Thanx John for the clarification. But this issue is all softwares just add a straight line. A good feature like JALT (Justification Alt) is a very good option, but I read somewhere that no software supports this feature. Also I think this feature may only replace one substitute.

In my case I've created 3~4 shapes of each, Init, Med, Final & Iso. and I want them to place them according to space. They only way now I have is to put 0640 character for 1~2~3 or 4 times with the shape where I need it to replace.

John Hudson's picture

Yes, for the time being you'll need to manually justify text using the U+0640 character. I think this software issue will be sorted out eventually, but it is tricky in various ways. My dream is really intelligent kashida justification with user preferences, so that one can affect the overall appearance of paragraphs of text with different kinds of justification models, all applied automatically following calligraphic rule variations.

Ashfaq_Niazi's picture

"all applied automatically following calligraphic rule variations"

Thanx John. You are absolutely right. but it may takes a long time. Also Application developers have their own priorities. But for Arabic, Urdu & Persian like languages needs it so much.

John Hudson's picture

I suspect we will see improvements in stages: first in kashida insertion logic (i.e. where kashidas are inserted and how they are prioritised), and then in kashida shaping behaviour (i.e. handling of curved elongations, displacement of marks onto elongations etc.). The latter is complicated by the fact that a lot of software has mistakenly relied on a presumed flat baseline stroke to implement kashidas using overlapped elongation glyphs to justify across different distances. This not only causes problems for fonts with curved elongations when no post-insertion OpenType Layout is applied (one ends up with multiple curved kashida glyphs!), but cannot be directly solved by kashida ligation within the font OTL tables, because this will result in absolute width glyphs that may be narrower or wider than the calculated justification distance. I have some ideas about how to solve this, but need to discuss them with software engineers to determine how feasible they are.

Unfortunately, justification algorithms are one of those areas in which software companies attempt to compete, rather than standardise.

AzizMostafa's picture

Unfortunately… software companies attempt to compete, rather than standardise.

Standardization kills competition + innovation + Flowering Sprouts!
http://typophile.com/node/82054

John Hudson's picture

Standardization kills competition

And sometimes that is a good thing because it creates an environment in which a great deal more innovation is possible. The World Wide Web is an excellent example of the benefits of standardisation, and Web 2.0 is ample evidence of the innovation that this standardisation made possible.

Likewise, we font developers could innovate much more easily if we could rely on standardised approaches to text justification in applications.

Syndicate content Syndicate content