Closed mbrubeck closed 1 year ago
Is this still an issue, or was fixed in #15? If we don't have clear test case for the problem, we can just drop it in favor of the conformance tests.
Rule W7 was fixed, but rules W1–W6 are still incorrect.
I did a quick check and test and turns out this account for about 200 of the failures in the conformance test. I'll work on a clean patch soon.
After https://github.com/servo/unicode-bidi/pull/36, there are 314 failures remaining for the conformance tests.
Looks like 124 of them are the result of not performing W1-W6 steps in separate passes (or make it feel like that), and the majority of the other 190 is because of the these rules being applied to byte indices and not character indices.
So, this part needs to be re-written to address both these cases, and that should get us to 100% conformance.
As reported in #7:
implicit::resolve_weak
applies steps W1-W7 in a single pass. This can produce incorrect results in cases where a "later" rule changes the value ofprev_class
seen by an "earlier" rule. We should either split this into separate passes, or preserve extra state so each rule sees the correct previous class.