I am trying to find out how to have Kashida justification in Luatex (in TexLive) for bidi text.
- I can see by searching that support might appear in
babelhere but nothing implemented yet.
- In Xetex (
xeperisan?), Kashida justification is implemented by
\XetexInterCharToks, using \hrule but not the glyph ( which was visually problematic in letter joints).
- Using (stretching) the Kashida glyph directly or applying the new variable fonts feature are the two alternatives.
- I also noticed that
\XetexInterCharTokscan be implemented in Luatex in someway here.
- Previously, I asked about finding the width of glue space between chars here.
- No idea, if
harfbuzzimplementation (any support for Kashida ?) can be related. Harfbuzz can be used through
Edit (About Kashida):
Kashida (from keshideh which means "stretched" in Persian) is a dash-like justification that can be added between (actually to the end of the first letter) some letters in Arabic/Persian/Urdu scripts (and probably Hebrew see here). Its Unicode character is (U+0640), also known as Arabic Tatweel.
It has two functionalities:
- aesthetically: more beautiful typesetting and a replacement for white-space justification
- It can be used in stressing some words, as a replacement for capital letters or small-caps which do not exist in those scripts.
One can add manually the default character ((U+0640)) as many time as it seems appropriate:
کشیده vs کشیـــــــده
However, (1) any use of Kashida letter might create problem when searching for a word, and (2), the right amount of width of Keshida is not a proper multiple of the default width of it in a font. Therefore, a right solution might be to use variable fonts technology. This also can fix another problem that Kashida is not always a stretchable dash but it can be/should be a stretchable curve part of a glyph.