@AlanMunn LuaTeX had an excellent multidirectional typesetting model from the start (inherited from Omega), but macro packages support for it is variable (LaTeX support is mostly missing). But I don’t use LaTeX for my typesetting work, I use ConTeXt and for bidi support I use an implementation of the Unicode bidirectional algorithm I wrote in Lua (can be found here
github.com/khaledhosny/context-bidi).