very interesting, arabic is a good reminder that text rendering is mostly solved for the scripts that shaped the defaults.

The hard part is that typography, shaping, bidi behavior, font fallback, search, and the editor model all leak into each other.

You cannot fix one layer cleanly when the assumptions are wrong in all of them.