Rendering such languages properly depends on having a correct implementation of the bidirectional algorithm as well as glyph shaping.
The ability to display these languages accurately depends on having a correct implementation of the bidirectional algorithm and glyph shaping.