mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
The reference app justifies Arabic text with kashidas, set per paragraph with the Paragraph panel's Insert Kashidas list (None, Short, Medium, Long, Stylistic). VectorCraft had no kashidas, so a justified Arabic line was spaced out at its word spaces like a Latin one. The Paragraph panel, with the Indic options shown, now has Insert Kashidas. On a justified horizontal area type line that is shorter than its measure, each Arabic word with joined letters gets one kashida between its last pair of them, drawn as tatweels (U+0640) in the font of the letter after it. The kashidas share the line's room equally, each at most a quarter of an em (Short), half an em (Medium) or an em (Long); a Stylistic kashida is a row of the font's own tatweels, up to an em. The word spaces take the room the kashidas leave, so the line keeps its width, and line breaks do not change. The letter after a kashida advances over it, so the caret before that letter, a selection of it and a click on it take the kashida in. None, the default, leaves lines as they were. In horizontal type that is not on a path, the caret in a letter drawn with several glyphs (a letter with a vowel mark) is now placed by the whole letter, as hit testing already measured it, instead of by its first glyph. text.setFormat takes kashida. The setting is saved with the paragraph only when it is not None, paragraph styles carry it, and Reset Panel sets it back to None. Docs: docs/mcp.md, docs/target-app-parity.md.