Shawn.Steele at microsoft.com
Wed Nov 4 18:57:53 CET 2009
2) http://microsoft.com gets displayed http://microsoft.com because in this case the direction between two runs didn't change so :// will take the run direction which is LTR.
I understand why :) I'm not sure it's right. Certainly http://L1.R2 doesn't render right in IE (R2.http://L1 makes no sense). I could accept that LTR only should maybe do that, but once you have any RTL I think a different rule is needed.
I think that labels are like a list. If I have a list (a, b, c, d), then I expect the list to be in order a, b, c, d. In an RTL context I would reasonably expect the list to be rendered (d, c, b, a). If the individual values happen to be in different scripts, that's not going to change the fact that I expect the list to have each element progress in an orderly fashion from least significant to most significant.
So http://R1.L2.L3.R4, I think that the expectation of R4.L3.L2.R1//:http makes sense. The list progresses from 1 through 4.
Unfortunately the character properties and rendering engines don't help much with that.
More information about the Idna-update