tools/pcre/ucp.h
changeset 3831 babd0eee3c5e
parent 2762 d2d467bf1b5a
     1.1 --- a/tools/pcre/ucp.h	Sun Mar 17 11:29:55 2013 -0400
     1.2 +++ b/tools/pcre/ucp.h	Sun Mar 17 11:32:03 2013 -0400
     1.3 @@ -7,7 +7,11 @@
     1.4  
     1.5  /* This file contains definitions of the property values that are returned by
     1.6  the UCD access macros. New values that are added for new releases of Unicode
     1.7 -should always be at the end of each enum, for backwards compatibility. */
     1.8 +should always be at the end of each enum, for backwards compatibility.
     1.9 +
    1.10 +IMPORTANT: Note also that the specific numeric values of the enums have to be
    1.11 +the same as the values that are generated by the maint/MultiStage2.py script,
    1.12 +where the equivalent property descriptive names are listed in vectors. */
    1.13  
    1.14  /* These are the general character categories. */
    1.15  
    1.16 @@ -21,7 +25,7 @@
    1.17    ucp_Z      /* Separator */
    1.18  };
    1.19  
    1.20 -/* These are the particular character types. */
    1.21 +/* These are the particular character categories. */
    1.22  
    1.23  enum {
    1.24    ucp_Cc,    /* Control */
    1.25 @@ -56,6 +60,26 @@
    1.26    ucp_Zs     /* Space separator */
    1.27  };
    1.28  
    1.29 +/* These are grapheme break properties. Note that the code for processing them
    1.30 +assumes that the values are less than 16. If more values are added that take
    1.31 +the number to 16 or more, the code will have to be rewritten. */
    1.32 +
    1.33 +enum {
    1.34 +  ucp_gbCR,                /*  0 */
    1.35 +  ucp_gbLF,                /*  1 */
    1.36 +  ucp_gbControl,           /*  2 */
    1.37 +  ucp_gbExtend,            /*  3 */
    1.38 +  ucp_gbPrepend,           /*  4 */
    1.39 +  ucp_gbSpacingMark,       /*  5 */
    1.40 +  ucp_gbL,                 /*  6 Hangul syllable type L */
    1.41 +  ucp_gbV,                 /*  7 Hangul syllable type V */
    1.42 +  ucp_gbT,                 /*  8 Hangul syllable type T */
    1.43 +  ucp_gbLV,                /*  9 Hangul syllable type LV */
    1.44 +  ucp_gbLVT,               /* 10 Hangul syllable type LVT */
    1.45 +  ucp_gbRegionalIndicator, /* 11 */
    1.46 +  ucp_gbOther              /* 12 */
    1.47 +};
    1.48 +
    1.49  /* These are the script identifications. */
    1.50  
    1.51  enum {
    1.52 @@ -137,7 +161,35 @@
    1.53    ucp_Rejang,
    1.54    ucp_Saurashtra,
    1.55    ucp_Sundanese,
    1.56 -  ucp_Vai
    1.57 +  ucp_Vai,
    1.58 +  /* New for Unicode 5.2: */
    1.59 +  ucp_Avestan,
    1.60 +  ucp_Bamum,
    1.61 +  ucp_Egyptian_Hieroglyphs,
    1.62 +  ucp_Imperial_Aramaic,
    1.63 +  ucp_Inscriptional_Pahlavi,
    1.64 +  ucp_Inscriptional_Parthian,
    1.65 +  ucp_Javanese,
    1.66 +  ucp_Kaithi,
    1.67 +  ucp_Lisu,
    1.68 +  ucp_Meetei_Mayek,
    1.69 +  ucp_Old_South_Arabian,
    1.70 +  ucp_Old_Turkic,
    1.71 +  ucp_Samaritan,
    1.72 +  ucp_Tai_Tham,
    1.73 +  ucp_Tai_Viet,
    1.74 +  /* New for Unicode 6.0.0: */
    1.75 +  ucp_Batak,
    1.76 +  ucp_Brahmi,
    1.77 +  ucp_Mandaic,
    1.78 +  /* New for Unicode 6.1.0: */
    1.79 +  ucp_Chakma,
    1.80 +  ucp_Meroitic_Cursive,
    1.81 +  ucp_Meroitic_Hieroglyphs,
    1.82 +  ucp_Miao,
    1.83 +  ucp_Sharada,
    1.84 +  ucp_Sora_Sompeng,
    1.85 +  ucp_Takri
    1.86  };
    1.87  
    1.88  #endif