Trigger Bidi processing also for non-displayable control characters (RLM, RLE, RLO, etc.) Bug 177148, r+sr=roc, a=asa
authorsmontagu@smontagu.org
Thu, 28 Jun 2007 13:02:59 -0700
changeset 2936 697e5c0b6c5bb1759440910282882b7c1fb76acb
parent 2935 d950c6cb0f30b9edb724132d9f030eefa4f9a205
child 2937 1607d7ed23b9efb446b0e7c1df2a622a20677756
push idunknown
push userunknown
push dateunknown
reviewersasa
bugs177148
milestone1.9a6pre
Trigger Bidi processing also for non-displayable control characters (RLM, RLE, RLO, etc.) Bug 177148, r+sr=roc, a=asa
intl/unicharutil/util/nsBidiUtils.h
--- a/intl/unicharutil/util/nsBidiUtils.h
+++ b/intl/unicharutil/util/nsBidiUtils.h
@@ -216,16 +216,18 @@
 
 #define IS_HEBREW_CHAR(c) (((0x0590 <= (c)) && ((c)<= 0x05FF)) || (((c) >= 0xfb1d) && ((c) <= 0xfb4f)))
 #define IS_06_CHAR(c) ((0x0600 <= (c)) && ((c)<= 0x06FF))
 #define IS_FE_CHAR(c) (((0xfb50 <= (c)) && ((c)<= 0xfbFF)) \
                        || ((0xfe70 <= (c)) && ((c)<= 0xfeFC)))
 #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
  *  allocated, or planned to be allocated, to right-to-left characters in the
  *  BMP (Basic Multilingual Plane) and SMP (Supplementary Multilingual Plane)
  *  according to
  *  http://unicode.org/Public/UNIDATA/extracted/DerivedBidiClass.txt and
  *  http://www.unicode.org/roadmaps/