I guess I should have emphasized AUTO insertion. In the olden/classic days, there was a ruler macro (I think) that could be used to randomly insert kashida to balance the lines. I was/am hoping if someone has done something similar for Nisus Pro. Thanks.

In NWE/NWP there is nothing which corresponds to Forced Justify Tab of NW Classic. This feature is crucial for justifying symmetrically two hemistichs of Arabic/Persian poetry on a single line.
I made this feature request a long time ago.

I have no idea how nisus macros work or written - but this is what I would like to do:

for selected text,
(a) find maximum width of line from the ruler (between the margins or between two tabs) - in points?,
(b) for each line in selection (marked by tabs or paragraph mark at end) (1) find its length, (2) while insertion of a character (kashida) will not make the line wrap over, insert kashida at the first possible insertion point (kashida can only be inserted after certain characters), (3) then at the next possible insertion point, (4) loop over the line if necessary, (5) endwhile

Here is an example to show how kerning, both Tighten and Loosen as appropriate, can be used to workaround this layout problem.
The following screenshot shows Layout 1 entered without kerning, and Layout 2 with kerning applied:

Use of kerning is nice, but manual. In the similar vein, one could insert the Kashida manually as well - and that is what I currently do .

Martin:

Perhaps I was too ambitious . How about

For selected text

for each line delimited by a paragraph mark
if (line has not wrapped over)
(1) Move insertion point after the NEXT character in a <list of possible unicode ranges: u0628, u062a-e, 0633-a, etc.>
(2) If insertion point at the paragraph mark, move to the beginning of line and do (1)
(3) Insert "\u0640"
else
undo last Insert "\u0640"
endif
endfor

Thanks for the more detailed list of steps, but the problem is checking whether or not the line has wrapped. There's currently no way for a macro to check that state. I'll file it as something we should add, thanks!