mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 11:25:00 +00:00
Don't do numeric substitution in Arabic text by default. Bug 181711, r+sr=rbs, a=asa.
This commit is contained in:
parent
0c6073c52d
commit
1d28d1dc0e
@ -75,6 +75,7 @@
|
||||
* @param aBuffer is the string
|
||||
* @param aSize is the size of aBuffer
|
||||
* @param aNumFlag specifies the conversion to perform:
|
||||
* IBMBIDI_NUMERAL_NOMINAL: don't do any conversion
|
||||
* IBMBIDI_NUMERAL_HINDI: convert to Hindi forms (Unicode 0660-0669)
|
||||
* IBMBIDI_NUMERAL_ARABIC: convert to Arabic forms (Unicode 0030-0039)
|
||||
* IBMBIDI_NUMERAL_HINDICONTEXT: convert numbers in Arabic text to Hindi, otherwise to Arabic
|
||||
@ -146,7 +147,8 @@
|
||||
// Numeral Style
|
||||
// ------------------
|
||||
// bidi.numeral
|
||||
#define IBMBIDI_NUMERAL_REGULAR 1 // 1 = regularcontextnumeralBidi *
|
||||
#define IBMBIDI_NUMERAL_NOMINAL 0 // 0 = nominalnumeralBidi *
|
||||
#define IBMBIDI_NUMERAL_REGULAR 1 // 1 = regularcontextnumeralBidi
|
||||
#define IBMBIDI_NUMERAL_HINDICONTEXT 2 // 2 = hindicontextnumeralBidi
|
||||
#define IBMBIDI_NUMERAL_ARABIC 3 // 3 = arabicnumeralBidi
|
||||
#define IBMBIDI_NUMERAL_HINDI 4 // 4 = hindinumeralBidi
|
||||
@ -169,7 +171,7 @@
|
||||
(IBMBIDI_TEXTTYPE_CHARSET<<4) | \
|
||||
(IBMBIDI_CONTROLSTEXTMODE_LOGICAL<<8) | \
|
||||
(IBMBIDI_CLIPBOARDTEXTMODE_SOURCE<<12) | \
|
||||
(IBMBIDI_NUMERAL_REGULAR<<16) | \
|
||||
(IBMBIDI_NUMERAL_NOMINAL<<16) | \
|
||||
(IBMBIDI_SUPPORTMODE_MOZILLA<<20) | \
|
||||
(IBMBIDI_CHARSET_BIDI<<24))
|
||||
|
||||
|
@ -495,7 +495,8 @@ nsresult Conv_06_FE_WithReverse(const nsString& aSrc,
|
||||
nsresult HandleNumbers(PRUnichar* aBuffer, PRUint32 aSize, PRUint32 aNumFlag)
|
||||
{
|
||||
PRUint32 i;
|
||||
// IBMBIDI_NUMERAL_REGULAR *
|
||||
// IBMBIDI_NUMERAL_NOMINAL *
|
||||
// IBMBIDI_NUMERAL_REGULAR
|
||||
// IBMBIDI_NUMERAL_HINDICONTEXT
|
||||
// IBMBIDI_NUMERAL_ARABIC
|
||||
// IBMBIDI_NUMERAL_HINDI
|
||||
@ -509,13 +510,18 @@ nsresult HandleNumbers(PRUnichar* aBuffer, PRUint32 aSize, PRUint32 aNumFlag)
|
||||
for (i=0;i<aSize;i++)
|
||||
aBuffer[i] = NUM_TO_ARABIC(aBuffer[i]);
|
||||
break;
|
||||
default : // IBMBIDI_NUMERAL_REGULAR, IBMBIDI_NUMERAL_HINDICONTEXT for HandleNum() which is called for clipboard handling
|
||||
case IBMBIDI_NUMERAL_REGULAR:
|
||||
case IBMBIDI_NUMERAL_HINDICONTEXT:
|
||||
// for clipboard handling
|
||||
//XXX do we really want to convert numerals when copying text?
|
||||
for (i=1;i<aSize;i++) {
|
||||
if (IS_ARABIC_CHAR(aBuffer[i-1]))
|
||||
aBuffer[i] = NUM_TO_HINDI(aBuffer[i]);
|
||||
else
|
||||
aBuffer[i] = NUM_TO_ARABIC(aBuffer[i]);
|
||||
}
|
||||
case IBMBIDI_NUMERAL_NOMINAL:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return NS_OK;
|
||||
|
@ -900,6 +900,7 @@ nsBidiPresUtils::FormatUnicodeText(nsIPresContext* aPresContext,
|
||||
HandleNumbers(aText,aTextLength,IBMBIDI_NUMERAL_ARABIC);
|
||||
break;
|
||||
|
||||
case IBMBIDI_NUMERAL_NOMINAL:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -495,7 +495,8 @@ nsresult Conv_06_FE_WithReverse(const nsString& aSrc,
|
||||
nsresult HandleNumbers(PRUnichar* aBuffer, PRUint32 aSize, PRUint32 aNumFlag)
|
||||
{
|
||||
PRUint32 i;
|
||||
// IBMBIDI_NUMERAL_REGULAR *
|
||||
// IBMBIDI_NUMERAL_NOMINAL *
|
||||
// IBMBIDI_NUMERAL_REGULAR
|
||||
// IBMBIDI_NUMERAL_HINDICONTEXT
|
||||
// IBMBIDI_NUMERAL_ARABIC
|
||||
// IBMBIDI_NUMERAL_HINDI
|
||||
@ -509,13 +510,18 @@ nsresult HandleNumbers(PRUnichar* aBuffer, PRUint32 aSize, PRUint32 aNumFlag)
|
||||
for (i=0;i<aSize;i++)
|
||||
aBuffer[i] = NUM_TO_ARABIC(aBuffer[i]);
|
||||
break;
|
||||
default : // IBMBIDI_NUMERAL_REGULAR, IBMBIDI_NUMERAL_HINDICONTEXT for HandleNum() which is called for clipboard handling
|
||||
case IBMBIDI_NUMERAL_REGULAR:
|
||||
case IBMBIDI_NUMERAL_HINDICONTEXT:
|
||||
// for clipboard handling
|
||||
//XXX do we really want to convert numerals when copying text?
|
||||
for (i=1;i<aSize;i++) {
|
||||
if (IS_ARABIC_CHAR(aBuffer[i-1]))
|
||||
aBuffer[i] = NUM_TO_HINDI(aBuffer[i]);
|
||||
else
|
||||
aBuffer[i] = NUM_TO_ARABIC(aBuffer[i]);
|
||||
}
|
||||
case IBMBIDI_NUMERAL_NOMINAL:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return NS_OK;
|
||||
|
@ -75,6 +75,7 @@
|
||||
* @param aBuffer is the string
|
||||
* @param aSize is the size of aBuffer
|
||||
* @param aNumFlag specifies the conversion to perform:
|
||||
* IBMBIDI_NUMERAL_NOMINAL: don't do any conversion
|
||||
* IBMBIDI_NUMERAL_HINDI: convert to Hindi forms (Unicode 0660-0669)
|
||||
* IBMBIDI_NUMERAL_ARABIC: convert to Arabic forms (Unicode 0030-0039)
|
||||
* IBMBIDI_NUMERAL_HINDICONTEXT: convert numbers in Arabic text to Hindi, otherwise to Arabic
|
||||
@ -146,7 +147,8 @@
|
||||
// Numeral Style
|
||||
// ------------------
|
||||
// bidi.numeral
|
||||
#define IBMBIDI_NUMERAL_REGULAR 1 // 1 = regularcontextnumeralBidi *
|
||||
#define IBMBIDI_NUMERAL_NOMINAL 0 // 0 = nominalnumeralBidi *
|
||||
#define IBMBIDI_NUMERAL_REGULAR 1 // 1 = regularcontextnumeralBidi
|
||||
#define IBMBIDI_NUMERAL_HINDICONTEXT 2 // 2 = hindicontextnumeralBidi
|
||||
#define IBMBIDI_NUMERAL_ARABIC 3 // 3 = arabicnumeralBidi
|
||||
#define IBMBIDI_NUMERAL_HINDI 4 // 4 = hindinumeralBidi
|
||||
@ -169,7 +171,7 @@
|
||||
(IBMBIDI_TEXTTYPE_CHARSET<<4) | \
|
||||
(IBMBIDI_CONTROLSTEXTMODE_LOGICAL<<8) | \
|
||||
(IBMBIDI_CLIPBOARDTEXTMODE_SOURCE<<12) | \
|
||||
(IBMBIDI_NUMERAL_REGULAR<<16) | \
|
||||
(IBMBIDI_NUMERAL_NOMINAL<<16) | \
|
||||
(IBMBIDI_SUPPORTMODE_MOZILLA<<20) | \
|
||||
(IBMBIDI_CHARSET_BIDI<<24))
|
||||
|
||||
|
@ -900,6 +900,7 @@ nsBidiPresUtils::FormatUnicodeText(nsIPresContext* aPresContext,
|
||||
HandleNumbers(aText,aTextLength,IBMBIDI_NUMERAL_ARABIC);
|
||||
break;
|
||||
|
||||
case IBMBIDI_NUMERAL_NOMINAL:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1551,6 +1551,7 @@ nsTextTransformer::DoNumericShaping(PRUnichar* aText,
|
||||
HandleNumbers(aText, aTextLength, IBMBIDI_NUMERAL_ARABIC);
|
||||
break;
|
||||
|
||||
case IBMBIDI_NUMERAL_NOMINAL:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1551,6 +1551,7 @@ nsTextTransformer::DoNumericShaping(PRUnichar* aText,
|
||||
HandleNumbers(aText, aTextLength, IBMBIDI_NUMERAL_ARABIC);
|
||||
break;
|
||||
|
||||
case IBMBIDI_NUMERAL_NOMINAL:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -804,11 +804,12 @@ pref("bidi.clipboardtextmode", 3);
|
||||
// ------------------
|
||||
// Numeral Style
|
||||
// ------------------
|
||||
// 1 = regularcontextnumeralBidi *
|
||||
// 0 = nominalnumeralBidi *
|
||||
// 1 = regularcontextnumeralBidi
|
||||
// 2 = hindicontextnumeralBidi
|
||||
// 3 = arabicnumeralBidi
|
||||
// 4 = hindinumeralBidi
|
||||
pref("bidi.numeral", 1);
|
||||
pref("bidi.numeral", 0);
|
||||
// ------------------
|
||||
// Support Mode
|
||||
// ------------------
|
||||
|
Loading…
Reference in New Issue
Block a user