Eh, UTF-8 and RTL scripts are generally not a matter of simple characters. Very often they are combinations of several code points (think latin e versus latin e grave), so simply counting bytes wouldn't work anymore.
When you combine it with stuff like colourcodes, text selection and ANSI processing, it becomes quite a hairy beast where it is easy to introduce a new error. Sadly MUSHclient was never written with all of this stuff in mind, so it is all but trivial for Nick to implement. (Then again, he already said most of this.)
Even more interesting is that Unicode supports changing the reading direction inline, so one line can contain RTL and LTR. On a MUSHclient level, you'd also want to consider how LTR and RTL appear when you are to alternate them per line.
Impossible? No. But to simply get drawing plain RTL scripts right already takes rocket science. MU* and Telnet semantics, nevermind proper scripting support.. those will make it hell to implement, because once a little support goes in, people will expect full support. 'Scenario mixed text' doesn't work would otherwise become an often-heard complaint. Ergo.. it takes careful planning and understanding of the subject.
(Yes, two weeks old topic. I don't care. I wanted to put stuff in perspective a little since the complexity didn't seem to come across to at least Fiendish.) |