Back to index

lightning-sunbird  0.9+nobinonly
Classes | Defines | Typedefs | Enumerations
nsBidi.h File Reference
#include "nsCOMPtr.h"
#include "nsString.h"

Go to the source code of this file.

Classes

struct  Run
class  nsBidi
 This class holds information about a paragraph of text with Bidi-algorithm-related details, or about one line of such a paragraph. More...

Defines

#define NSBIDI_DEFAULT_LTR   0xfe
 Paragraph level setting.
#define NSBIDI_DEFAULT_RTL   0xff
 Paragraph level setting.
#define NSBIDI_MAX_EXPLICIT_LEVEL   61
 Maximum explicit embedding level.
#define NSBIDI_LEVEL_OVERRIDE   0x80
 Bit flag for level input.
#define CHARTYPE_IS_RTL(val)   ( ( (val) == eCharType_RightToLeft) || ( (val) == eCharType_RightToLeftArabic) )
 This specifies the language directional property of a character set.
#define CHARTYPE_IS_WEAK(val)
#define NSBIDI_KEEP_BASE_COMBINING   1
 option flags for WriteReverse()
#define NSBIDI_DO_MIRRORING   2
 option bit for WriteReverse(): replace characters with the "mirrored" property in RTL runs by their mirror-image mappings
#define NSBIDI_REMOVE_BIDI_CONTROLS   8
 option bit for WriteReverse(): remove Bidi control characters
#define GETDIRPROPSMEMORY(length)
#define GETLEVELSMEMORY(length)
#define GETRUNSMEMORY(length)
#define GETINITIALDIRPROPSMEMORY(length)
#define GETINITIALLEVELSMEMORY(length)
#define GETINITIALRUNSMEMORY(length)
#define DIRPROP_FLAG(dir)   (1UL<<(dir))
#define DIRPROP_FLAG_MULTI_RUNS   (1UL<<31)
#define MASK_LTR   (DIRPROP_FLAG(L)|DIRPROP_FLAG(EN)|DIRPROP_FLAG(AN)|DIRPROP_FLAG(LRE)|DIRPROP_FLAG(LRO))
#define MASK_RTL   (DIRPROP_FLAG(R)|DIRPROP_FLAG(AL)|DIRPROP_FLAG(RLE)|DIRPROP_FLAG(RLO))
#define MASK_LRX   (DIRPROP_FLAG(LRE)|DIRPROP_FLAG(LRO))
#define MASK_RLX   (DIRPROP_FLAG(RLE)|DIRPROP_FLAG(RLO))
#define MASK_OVERRIDE   (DIRPROP_FLAG(LRO)|DIRPROP_FLAG(RLO))
#define MASK_EXPLICIT   (MASK_LRX|MASK_RLX|DIRPROP_FLAG(PDF))
#define MASK_BN_EXPLICIT   (DIRPROP_FLAG(BN)|MASK_EXPLICIT)
#define MASK_B_S   (DIRPROP_FLAG(B)|DIRPROP_FLAG(S))
#define MASK_WS   (MASK_B_S|DIRPROP_FLAG(WS)|MASK_BN_EXPLICIT)
#define MASK_N   (DIRPROP_FLAG(O_N)|MASK_WS)
#define MASK_ET_NSM_BN   (DIRPROP_FLAG(ET)|DIRPROP_FLAG(NSM)|MASK_BN_EXPLICIT)
#define MASK_POSSIBLE_N   (DIRPROP_FLAG(CS)|DIRPROP_FLAG(ES)|DIRPROP_FLAG(ET)|MASK_N)
#define MASK_EMBEDDING   (DIRPROP_FLAG(NSM)|MASK_POSSIBLE_N)
#define GET_LR_FROM_LEVEL(level)   ((DirProp)((level)&1))
#define IS_DEFAULT_LEVEL(level)   (((level)&0xfe)==0xfe)
#define IS_FIRST_SURROGATE(uchar)   (((uchar)&0xfc00)==0xd800)
#define IS_SECOND_SURROGATE(uchar)   (((uchar)&0xfc00)==0xdc00)
#define SURROGATE_OFFSET   ((0xd800<<10UL)+0xdc00-0x10000)
#define GET_UTF_32(first, second)   (((first)<<10UL)+(second)-SURROGATE_OFFSET)
#define UTF_ERROR_VALUE   0xffff
#define UTF16_APPEND_CHAR_UNSAFE(s, i, c)
#define UTF16_APPEND_CHAR_SAFE(s, i, length, c)
#define UTF16_PREV_CHAR_UNSAFE(s, i, c)
#define UTF16_BACK_1_UNSAFE(s, i)
#define UTF16_BACK_N_UNSAFE(s, i, n)
#define UTF16_PREV_CHAR_SAFE(s, start, i, c, strict)
#define UTF16_BACK_1_SAFE(s, start, i)
#define UTF16_BACK_N_SAFE(s, start, i, n)
#define UTF_PREV_CHAR_UNSAFE(s, i, c)   UTF16_PREV_CHAR_UNSAFE(s, i, c)
#define UTF_PREV_CHAR_SAFE(s, start, i, c, strict)   UTF16_PREV_CHAR_SAFE(s, start, i, c, strict)
#define UTF_BACK_1_UNSAFE(s, i)   UTF16_BACK_1_UNSAFE(s, i)
#define UTF_BACK_1_SAFE(s, start, i)   UTF16_BACK_1_SAFE(s, start, i)
#define UTF_BACK_N_UNSAFE(s, i, n)   UTF16_BACK_N_UNSAFE(s, i, n)
#define UTF_BACK_N_SAFE(s, start, i, n)   UTF16_BACK_N_SAFE(s, start, i, n)
#define UTF_APPEND_CHAR_UNSAFE(s, i, c)   UTF16_APPEND_CHAR_UNSAFE(s, i, c)
#define UTF_APPEND_CHAR_SAFE(s, i, length, c)   UTF16_APPEND_CHAR_SAFE(s, i, length, c)
#define UTF_PREV_CHAR(s, start, i, c)   UTF_PREV_CHAR_SAFE(s, start, i, c, PR_FALSE)
#define UTF_BACK_1(s, start, i)   UTF_BACK_1_SAFE(s, start, i)
#define UTF_BACK_N(s, start, i, n)   UTF_BACK_N_SAFE(s, start, i, n)
#define UTF_APPEND_CHAR(s, i, length, c)   UTF_APPEND_CHAR_SAFE(s, i, length, c)
#define INDEX_ODD_BIT   (1UL<<31)
#define MAKE_INDEX_ODD_PAIR(index, level)   (index|((PRUint32)level<<31))
#define ADD_ODD_BIT_FROM_LEVEL(x, level)   ((x)|=((PRUint32)level<<31))
#define REMOVE_ODD_BIT(x)   ((x)&=~INDEX_ODD_BIT)
#define GET_INDEX(x)   (x&~INDEX_ODD_BIT)
#define GET_ODD_BIT(x)   ((PRUint32)x>>31)
#define IS_ODD_RUN(x)   ((x&INDEX_ODD_BIT)!=0)
#define IS_EVEN_RUN(x)   ((x&INDEX_ODD_BIT)==0)

Typedefs

typedef PRUint8 nsBidiLevel
 nsBidiLevel is the type of the level values in this Bidi implementation.
typedef PRUint8 DirProp
typedef struct Run Run
typedef PRUint32 Flags

Enumerations

enum  nsBidiDirection { NSBIDI_LTR, NSBIDI_RTL, NSBIDI_MIXED }
 nsBidiDirection values indicate the text direction. More...
enum  eBidiCategory {
  eBidiCat_Undefined, eBidiCat_L, eBidiCat_R, eBidiCat_AL,
  eBidiCat_AN, eBidiCat_EN, eBidiCat_ES, eBidiCat_ET,
  eBidiCat_CS, eBidiCat_ON, eBidiCat_NSM, eBidiCat_BN,
  eBidiCat_B, eBidiCat_S, eBidiCat_WS, eBidiCat_CC = 0xf,
  eBidiCat_LRE = 0x2a, eBidiCat_RLE = 0x2b, eBidiCat_PDF = 0x2c, eBidiCat_LRO = 0x2d,
  eBidiCat_RLO = 0x2e
}
 Read ftp://ftp.unicode.org/Public/UNIDATA/ReadMe-Latest.txt section BIDIRECTIONAL PROPERTIES for the detailed definition of the following categories. More...
enum  nsCharType {
  eCharType_LeftToRight = 0, eCharType_RightToLeft = 1, eCharType_EuropeanNumber = 2, eCharType_EuropeanNumberSeparator = 3,
  eCharType_EuropeanNumberTerminator = 4, eCharType_ArabicNumber = 5, eCharType_CommonNumberSeparator = 6, eCharType_BlockSeparator = 7,
  eCharType_SegmentSeparator = 8, eCharType_WhiteSpaceNeutral = 9, eCharType_OtherNeutral = 10, eCharType_LeftToRightEmbedding = 11,
  eCharType_LeftToRightOverride = 12, eCharType_RightToLeftArabic = 13, eCharType_RightToLeftEmbedding = 14, eCharType_RightToLeftOverride = 15,
  eCharType_PopDirectionalFormat = 16, eCharType_DirNonSpacingMark = 17, eCharType_BoundaryNeutral = 18, eCharType_CharTypeCount
}

Class Documentation

struct Run

Definition at line 467 of file nsBidi.h.

Class Members
PRInt32 logicalStart
PRInt32 visualLimit

Define Documentation

#define ADD_ODD_BIT_FROM_LEVEL (   x,
  level 
)    ((x)|=((PRUint32)level<<31))

Definition at line 476 of file nsBidi.h.

This specifies the language directional property of a character set.

definitions of bidirection character types by category

Definition at line 224 of file nsBidi.h.

Value:

Definition at line 226 of file nsBidi.h.

#define DIRPROP_FLAG (   dir)    (1UL<<(dir))

Definition at line 290 of file nsBidi.h.

Definition at line 293 of file nsBidi.h.

#define GET_INDEX (   x)    (x&~INDEX_ODD_BIT)

Definition at line 479 of file nsBidi.h.

#define GET_LR_FROM_LEVEL (   level)    ((DirProp)((level)&1))

Definition at line 328 of file nsBidi.h.

#define GET_ODD_BIT (   x)    ((PRUint32)x>>31)

Definition at line 480 of file nsBidi.h.

#define GET_UTF_32 (   first,
  second 
)    (((first)<<10UL)+(second)-SURROGATE_OFFSET)

Definition at line 339 of file nsBidi.h.

Value:
GetMemory((void **)&mDirPropsMemory, &mDirPropsSize, \
                                  mMayAllocateText, (length))

Definition at line 257 of file nsBidi.h.

Value:
GetMemory((void **)&mDirPropsMemory, &mDirPropsSize, \
                                         PR_TRUE, (length))

Definition at line 270 of file nsBidi.h.

Value:
GetMemory((void **)&mLevelsMemory, &mLevelsSize, \
                                       PR_TRUE, (length))

Definition at line 274 of file nsBidi.h.

Value:
GetMemory((void **)&mRunsMemory, &mRunsSize, \
                                     PR_TRUE, (length)*sizeof(Run))

Definition at line 278 of file nsBidi.h.

Value:
GetMemory((void **)&mLevelsMemory, &mLevelsSize, \
                                mMayAllocateText, (length))

Definition at line 261 of file nsBidi.h.

Value:
GetMemory((void **)&mRunsMemory, &mRunsSize, \
                              mMayAllocateRuns, (length)*sizeof(Run))

Definition at line 265 of file nsBidi.h.

#define INDEX_ODD_BIT   (1UL<<31)

Definition at line 473 of file nsBidi.h.

#define IS_DEFAULT_LEVEL (   level)    (((level)&0xfe)==0xfe)

Definition at line 330 of file nsBidi.h.

#define IS_EVEN_RUN (   x)    ((x&INDEX_ODD_BIT)==0)

Definition at line 482 of file nsBidi.h.

#define IS_FIRST_SURROGATE (   uchar)    (((uchar)&0xfc00)==0xd800)

Definition at line 334 of file nsBidi.h.

#define IS_ODD_RUN (   x)    ((x&INDEX_ODD_BIT)!=0)

Definition at line 481 of file nsBidi.h.

#define IS_SECOND_SURROGATE (   uchar)    (((uchar)&0xfc00)==0xdc00)

Definition at line 335 of file nsBidi.h.

#define MAKE_INDEX_ODD_PAIR (   index,
  level 
)    (index|((PRUint32)level<<31))

Definition at line 475 of file nsBidi.h.

Definition at line 308 of file nsBidi.h.

Definition at line 305 of file nsBidi.h.

Definition at line 325 of file nsBidi.h.

Definition at line 315 of file nsBidi.h.

Definition at line 304 of file nsBidi.h.

Definition at line 300 of file nsBidi.h.

Definition at line 296 of file nsBidi.h.

Definition at line 312 of file nsBidi.h.

Definition at line 302 of file nsBidi.h.

Definition at line 318 of file nsBidi.h.

Definition at line 301 of file nsBidi.h.

Definition at line 297 of file nsBidi.h.

Definition at line 311 of file nsBidi.h.

Paragraph level setting.

If there is no strong character, then set the paragraph level to 0 (left-to-right).

Definition at line 123 of file nsBidi.h.

Paragraph level setting.

If there is no strong character, then set the paragraph level to 1 (right-to-left).

Definition at line 128 of file nsBidi.h.

option bit for WriteReverse(): replace characters with the "mirrored" property in RTL runs by their mirror-image mappings

See also:
WriteReverse

Definition at line 246 of file nsBidi.h.

option flags for WriteReverse()

option bit for WriteReverse(): keep combining characters after their base characters in RTL runs

See also:
WriteReverse

Definition at line 237 of file nsBidi.h.

Bit flag for level input.

Overrides directional properties.

Definition at line 140 of file nsBidi.h.

Maximum explicit embedding level.

(The maximum resolved level can be up to NSBIDI_MAX_EXPLICIT_LEVEL+1).

Definition at line 135 of file nsBidi.h.

option bit for WriteReverse(): remove Bidi control characters

See also:
WriteReverse

Definition at line 254 of file nsBidi.h.

#define REMOVE_ODD_BIT (   x)    ((x)&=~INDEX_ODD_BIT)

Definition at line 477 of file nsBidi.h.

#define SURROGATE_OFFSET   ((0xd800<<10UL)+0xdc00-0x10000)

Definition at line 338 of file nsBidi.h.

#define UTF16_APPEND_CHAR_SAFE (   s,
  i,
  length,
  c 
)
Value:
{ \
                                                if((PRUInt32)(c)<=0xffff) { \
                                                (s)[(i)++]=(PRUnichar)(c); \
                                                } else if((PRUInt32)(c)<=0x10ffff) { \
                                                if((i)+1<(length)) { \
                                                (s)[(i)++]=(PRUnichar)((c)>>10)+0xd7c0; \
                                                (s)[(i)++]=(PRUnichar)(c)&0x3ff|0xdc00; \
                                                } else /* not enough space */ { \
                                                (s)[(i)++]=UTF_ERROR_VALUE; \
                                                } \
                                                } else /* c>0x10ffff, write error value */ { \
                                                (s)[(i)++]=UTF_ERROR_VALUE; \
                                                } \
}

Definition at line 364 of file nsBidi.h.

#define UTF16_APPEND_CHAR_UNSAFE (   s,
  i,
  c 
)
Value:
{ \
                                         if((PRUint32)(c)<=0xffff) { \
                                         (s)[(i)++]=(PRUnichar)(c); \
                                         } else { \
                                         (s)[(i)++]=(PRUnichar)((c)>>10)+0xd7c0; \
                                         (s)[(i)++]=(PRUnichar)(c)&0x3ff|0xdc00; \
                                         } \
}

Definition at line 353 of file nsBidi.h.

#define UTF16_BACK_1_SAFE (   s,
  start,
  i 
)
Value:
{ \
                                       if(IS_SECOND_SURROGATE((s)[--(i)]) && (i)>(start) && IS_FIRST_SURROGATE((s)[(i)-1])) { \
                                       --(i); \
                                       } \
}

Definition at line 437 of file nsBidi.h.

#define UTF16_BACK_1_UNSAFE (   s,
  i 
)
Value:
{ \
                                  if(IS_SECOND_SURROGATE((s)[--(i)])) { \
                                  --(i); \
                                  } \
}

Definition at line 402 of file nsBidi.h.

#define UTF16_BACK_N_SAFE (   s,
  start,
  i,
  n 
)
Value:
{ \
                                          PRInt32 __N=(n); \
                                          while(__N>0 && (i)>(start)) { \
                                          UTF16_BACK_1_SAFE(s, start, i); \
                                          --__N; \
                                          } \
}

Definition at line 443 of file nsBidi.h.

#define UTF16_BACK_N_UNSAFE (   s,
  i,
  n 
)
Value:
{ \
                                     PRInt32 __N=(n); \
                                     while(__N>0) { \
                                     UTF16_BACK_1_UNSAFE(s, i); \
                                     --__N; \
                                     } \
}

Definition at line 408 of file nsBidi.h.

#define UTF16_PREV_CHAR_SAFE (   s,
  start,
  i,
  c,
  strict 
)
Value:
{ \
                                                     (c)=(s)[--(i)]; \
                                                     if(IS_SECOND_SURROGATE(c)) { \
                                                     PRUnichar __c2; \
                                                     if((i)>(start) && IS_FIRST_SURROGATE(__c2=(s)[(i)-1])) { \
                                                     --(i); \
                                                     (c)=GET_UTF_32(__c2, (c)); \
      /* strict: ((c)&0xfffe)==0xfffe is caught by UTF_IS_ERROR() */ \
                                                     } else if(strict) {\
      /* unmatched second surrogate */ \
                                                     (c)=UTF_ERROR_VALUE; \
                                                     } \
                                                     } else if(strict && IS_FIRST_SURROGATE(c)) { \
      /* unmatched first surrogate */ \
                                                     (c)=UTF_ERROR_VALUE; \
  /* else strict: (c)==0xfffe is caught by UTF_IS_ERROR() */ \
                                                     } \
}

Definition at line 418 of file nsBidi.h.

#define UTF16_PREV_CHAR_UNSAFE (   s,
  i,
  c 
)
Value:
{ \
                                        (c)=(s)[--(i)]; \
                                        if(IS_SECOND_SURROGATE(c)) { \
                                        (c)=GET_UTF_32((s)[--(i)], (c)); \
                                        } \
}

Definition at line 395 of file nsBidi.h.

#define UTF_APPEND_CHAR (   s,
  i,
  length,
  c 
)    UTF_APPEND_CHAR_SAFE(s, i, length, c)

Definition at line 463 of file nsBidi.h.

#define UTF_APPEND_CHAR_SAFE (   s,
  i,
  length,
  c 
)    UTF16_APPEND_CHAR_SAFE(s, i, length, c)

Definition at line 458 of file nsBidi.h.

Definition at line 457 of file nsBidi.h.

#define UTF_BACK_1 (   s,
  start,
  i 
)    UTF_BACK_1_SAFE(s, start, i)

Definition at line 461 of file nsBidi.h.

#define UTF_BACK_1_SAFE (   s,
  start,
  i 
)    UTF16_BACK_1_SAFE(s, start, i)

Definition at line 454 of file nsBidi.h.

Definition at line 453 of file nsBidi.h.

#define UTF_BACK_N (   s,
  start,
  i,
  n 
)    UTF_BACK_N_SAFE(s, start, i, n)

Definition at line 462 of file nsBidi.h.

#define UTF_BACK_N_SAFE (   s,
  start,
  i,
  n 
)    UTF16_BACK_N_SAFE(s, start, i, n)

Definition at line 456 of file nsBidi.h.

#define UTF_BACK_N_UNSAFE (   s,
  i,
  n 
)    UTF16_BACK_N_UNSAFE(s, i, n)

Definition at line 455 of file nsBidi.h.

#define UTF_ERROR_VALUE   0xffff

Definition at line 342 of file nsBidi.h.

#define UTF_PREV_CHAR (   s,
  start,
  i,
  c 
)    UTF_PREV_CHAR_SAFE(s, start, i, c, PR_FALSE)

Definition at line 460 of file nsBidi.h.

#define UTF_PREV_CHAR_SAFE (   s,
  start,
  i,
  c,
  strict 
)    UTF16_PREV_CHAR_SAFE(s, start, i, c, strict)

Definition at line 452 of file nsBidi.h.

#define UTF_PREV_CHAR_UNSAFE (   s,
  i,
  c 
)    UTF16_PREV_CHAR_UNSAFE(s, i, c)

Definition at line 451 of file nsBidi.h.


Typedef Documentation

typedef PRUint8 DirProp

Definition at line 288 of file nsBidi.h.

typedef PRUint32 Flags

Definition at line 484 of file nsBidi.h.

nsBidiLevel is the type of the level values in this Bidi implementation.

It holds an embedding level and indicates the visual direction by its bit 0 (even/odd value).

It can also hold non-level values for the aParaLevel and aEmbeddingLevels arguments of SetPara; there:

  • bit 7 of an aEmbeddingLevels[] value indicates whether the using application is specifying the level of a character to override whatever the Bidi implementation would resolve it to.
  • aParaLevel can be set to the pseudo-level values NSBIDI_DEFAULT_LTR and NSBIDI_DEFAULT_RTL.
See also:
nsIBidi::SetPara

The related constants are not real, valid level values. NSBIDI_DEFAULT_XXX can be used to specify a default for the paragraph level for when the SetPara function shall determine it but there is no strongly typed character in the input.

Note that the value for NSBIDI_DEFAULT_LTR is even and the one for NSBIDI_DEFAULT_RTL is odd, just like with normal LTR and RTL level values - these special values are designed that way. Also, the implementation assumes that NSBIDI_MAX_EXPLICIT_LEVEL is odd.

See also:
NSBIDI_DEFAULT_LTR
NSBIDI_DEFAULT_RTL
NSBIDI_LEVEL_OVERRIDE
NSBIDI_MAX_EXPLICIT_LEVEL

Definition at line 118 of file nsBidi.h.

typedef struct Run Run

Enumeration Type Documentation

Read ftp://ftp.unicode.org/Public/UNIDATA/ReadMe-Latest.txt section BIDIRECTIONAL PROPERTIES for the detailed definition of the following categories.

The values here must match the equivalents in map in mozilla/intl/unicharutil/tools/genbidicattable.pl

Enumerator:
eBidiCat_Undefined 
eBidiCat_L 
eBidiCat_R 
eBidiCat_AL 
eBidiCat_AN 
eBidiCat_EN 
eBidiCat_ES 
eBidiCat_ET 
eBidiCat_CS 
eBidiCat_ON 
eBidiCat_NSM 
eBidiCat_BN 
eBidiCat_B 
eBidiCat_S 
eBidiCat_WS 
eBidiCat_CC 
eBidiCat_LRE 
eBidiCat_RLE 
eBidiCat_PDF 
eBidiCat_LRO 
eBidiCat_RLO 

Definition at line 167 of file nsBidi.h.

             {
  eBidiCat_Undefined,
  eBidiCat_L,          /* Left-to-Right               */
  eBidiCat_R,          /* Right-to-Left               */
  eBidiCat_AL,         /* Right-to-Left Arabic        */
  eBidiCat_AN,         /* Arabic Number               */
  eBidiCat_EN,         /* European Number             */
  eBidiCat_ES,         /* European Number Separator   */
  eBidiCat_ET,         /* European Number Terminator  */
  eBidiCat_CS,         /* Common Number Separator     */
  eBidiCat_ON,         /* Other Neutrals              */
  eBidiCat_NSM,        /* Non-Spacing Mark            */
  eBidiCat_BN,         /* Boundary Neutral            */
  eBidiCat_B,          /* Paragraph Separator         */
  eBidiCat_S,          /* Segment Separator           */
  eBidiCat_WS,         /* Whitespace                  */
  eBidiCat_CC = 0xf,   /* Control Code                */
                       /* (internal use only - will never be outputed) */
  eBidiCat_LRE = 0x2a, /* Left-to-Right Embedding     */
  eBidiCat_RLE = 0x2b, /* Right-to-Left Embedding     */
  eBidiCat_PDF = 0x2c, /* Pop Directional Formatting  */
  eBidiCat_LRO = 0x2d, /* Left-to-Right Override      */
  eBidiCat_RLO = 0x2e  /* Right-to-Left Override      */
} eBidiCategory;

nsBidiDirection values indicate the text direction.

Enumerator:
NSBIDI_LTR 

All left-to-right text This is a 0 value.

NSBIDI_RTL 

All right-to-left text This is a 1 value.

NSBIDI_MIXED 

Mixed-directional text.

Definition at line 145 of file nsBidi.h.

enum nsCharType
Enumerator:
eCharType_LeftToRight 
eCharType_RightToLeft 
eCharType_EuropeanNumber 
eCharType_EuropeanNumberSeparator 
eCharType_EuropeanNumberTerminator 
eCharType_ArabicNumber 
eCharType_CommonNumberSeparator 
eCharType_BlockSeparator 
eCharType_SegmentSeparator 
eCharType_WhiteSpaceNeutral 
eCharType_OtherNeutral 
eCharType_LeftToRightEmbedding 
eCharType_LeftToRightOverride 
eCharType_RightToLeftArabic 
eCharType_RightToLeftEmbedding 
eCharType_RightToLeftOverride 
eCharType_PopDirectionalFormat 
eCharType_DirNonSpacingMark 
eCharType_BoundaryNeutral 
eCharType_CharTypeCount 

Definition at line 192 of file nsBidi.h.