Thanks.  Then maybe we should expose to Lisp the Emacs bidi reordering
engine, in the form of a function that would accept a string and
return that string reordered for display according to the UBA.  Let me
know if that would help you improve the ps-print machinery.
Can't say anything just yet - need to think this through.