bidi.numerals == 2 does not always switch numeric shapes in Arabic context

NEW
Unassigned

Status

()

10 years ago
8 years ago

People

(Reporter: dr.khaled.hosny, Unassigned)

Tracking

({regression, rtl})

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(3 attachments)

(Reporter)

Description

10 years ago
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; ar; rv:1.9.1b5pre) Gecko/20090517 Shiretoko/3.5b5pre
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; ar; rv:1.9.1b5pre) Gecko/20090517 Shiretoko/3.5b5pre

Context checking for switching Arabic numbers seems to be broken, numbers after punctuation marks like dot or colon aren't considered to be inside Arabic context, use of tags for href or color etc breaks context too. This is regression from gecko 1.8.

Reproducible: Always

Steps to Reproduce:
1. Set "bidi.numerals" to 2 in about:config.
2. Visit the linked page.
3. Observe the numbers in the page.
Actual Results:  
Not all numbers in Arabic context are switched to Arabic (AKA Arabic-Indic) numbers.

Expected Results:  
Numbers in Arabic context should be switched to Arabic form (١٢٣٤)
(Reporter)

Comment 1

10 years ago
Created attachment 381949 [details]
Testcase
(Reporter)

Comment 2

10 years ago
Created attachment 381950 [details]
Screenshot in FireFox 3.5
(Reporter)

Comment 3

10 years ago
Created attachment 381951 [details]
Screenshot in FireFox 2
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: rtl
Assignee: nobody → smontagu
Component: General → Internationalization
Keywords: regression, regressionwindow-wanted
QA Contact: general → i18n

Updated

10 years ago
Assignee: smontagu → nobody
Component: Internationalization → Layout: Text
QA Contact: i18n → layout.fonts-and-text

Comment 4

10 years ago
While I confirm that this used to work before Gecko 1.9, I think we need a much better context detection for Arabic text anyway.  We need to use hints such as the document language, document charset, letters before and after the text, etc.  Interesting bugs are bug 151395, bug 166803 and ideally bug 151374.

BTW, the history here is that Gecko 1.9 broke bidi.numeral completely.  Bug 441782 restored it to some extent, and the "regression" here is one area which was not covered by that bug.

I'll try to look into improving all this for 1.9.2.
Keywords: regressionwindow-wanted
(Reporter)

Comment 5

10 years ago
Pango already provide context detection (at least on Linux, I use 'locl' OpenType feature in my fonts, and Pango conditionally enables it for Arabic context, only in GTK+ but not in Firefox), but I don't know if gecko can use such feature.

Anyhow, the current status is very annoying, so I suggest disabling it for the next release of Firefox if a fix is not possible, IMO having a broken feature in a stable release is not a good idea.

Comment 6

10 years ago
(In reply to comment #5)
> Pango already provide context detection (at least on Linux, I use 'locl'
> OpenType feature in my fonts, and Pango conditionally enables it for Arabic
> context, only in GTK+ but not in Firefox), but I don't know if gecko can use
> such feature.

I'm not sure if using Pango context detection is possible for us since we don't use the Pango backend on Windows and Mac IINM.

> Anyhow, the current status is very annoying, so I suggest disabling it for the
> next release of Firefox if a fix is not possible, IMO having a broken feature
> in a stable release is not a good idea.

I don't agree, because like I said even the context detection existing in Gecko 1.8 was not perfect, but we didn't disable the whole feature.  Since this is a preference, you can simply disable it locally if needed.
(Reporter)

Comment 7

10 years ago
(In reply to comment #6)
> (In reply to comment #5)
> > Anyhow, the current status is very annoying, so I suggest disabling it for the
> > next release of Firefox if a fix is not possible, IMO having a broken feature
> > in a stable release is not a good idea.
> 
> I don't agree, because like I said even the context detection existing in Gecko
> 1.8 was not perfect, but we didn't disable the whole feature.  Since this is a
> preference, you can simply disable it locally if needed.

But in 1.8 you don't get Arabic number mixed with English numbers in the same word, مثل ٢٣.٤٥ مثلا, which is very broken in 1.9 and makes it a broken feature, which is different than "not perfect". So, to keep the good quality of Firefox it should either ship with a working feature or not at all.
You need to log in before you can comment on or make changes to this bug.