Trigger Bidi processing also for non-displayable control characters (RLM, RLE, RLO, etc.) Bug 177148, r+sr=roc, a=asa
git-svn-id: svn://10.0.0.236/trunk@171920 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
2601ec0aba
commit
46c53d33ed
@ -360,7 +360,7 @@ nsTextFragment::SetBidiFlag()
|
||||
PRUnichar ch2 = *cp++;
|
||||
utf32Char = SURROGATE_TO_UCS4(ch1, ch2);
|
||||
}
|
||||
if (UTF32_CHAR_IS_BIDI(utf32Char) ) {
|
||||
if (UTF32_CHAR_IS_BIDI(utf32Char) || IS_BIDI_CONTROL_CHAR(utf32Char)) {
|
||||
mState.mIsBidi = PR_TRUE;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -221,6 +221,8 @@
|
||||
#define IS_ARABIC_CHAR(c) ((0x0600 <= (c)) && ((c)<= 0x06FF))
|
||||
#define IS_ARABIC_ALPHABETIC(c) (IS_ARABIC_CHAR(c) && \
|
||||
!(IS_HINDI_DIGIT(c) || IS_FARSI_DIGIT(c) || IS_ARABIC_SEPARATOR(c)))
|
||||
#define IS_BIDI_CONTROL_CHAR(c) ((0x202a <= (c)) && ((c)<= 0x202e) \
|
||||
|| ((c) == 0x200e) || ((c) == 0x200f))
|
||||
|
||||
/**
|
||||
* The codepoint ranges in the following macros are based on the blocks
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user