Open Bug 1163923 Opened 10 years ago Updated 2 years ago

Add multi-paragraph support from ICU to nsBidi.cpp

Categories

(Core :: Layout: Text and Fonts, defect)

defect

Tracking

()

Tracking Status
firefox41 --- affected

People

(Reporter: smontagu, Unassigned)

Details

Attachments

(1 file)

If we had multi-paragraph support in the Bidi engine, we could extend bug 1160487 to remove the current support for <br> and new paragraphs in plain text from nsBidiPresUtils, and simplify a lot of the code (the whole "sub-paragraph" thing could go away). Caveat: doing that, i.e. passing text in longer chunks to the Bidi engine might cause performance degradation.
There are also some edge cases that fail because of this. This testcase is an adaptation of https://www.w3.org/International/tests/html-css/generate?test=bidi-html5-002 to test the LRI/RLI/FSI characters instead of <bdi>. We pass the original test but fail this version. We could probably work around the issue in nsBidiPresUtils.cpp, but I think it would be easier to handle it via the multi-paragraph support which already exists in ICU.
Ted, would you be interested in doing this?
Flags: needinfo?(tclancy)
Hi Simon, I'm willing to do this, but it would have to be a low priority for me. First I need to fix bidi cursor movements, and fix the position of ellipses in truncated bidi text. Those are my two highest priorities right now, since they are sources of bugs in Gaia. Then I want to add support for localizing numbers to our l10n library. (Right now, European users of Gaia have to look at English-style numbers, which isn't a good user experience.) Then I want to tie up some lose ends I already started. That includes adding support for Unicode character properties to Javascript regular expressions, as well as adding support for paired brackets to our bidi algorithm (completing our support for Unicode 6.3). And we also need to update our implementation of the <bdi> tag so it behaves like FSI/LRI/RLI/PDI isolate characters. After that, I could add support for multiple paragraphs.
Flags: needinfo?(tclancy)
Assignee: nobody → tclancy

The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.

Assignee: ted.clancy → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: