perl/regcharclass.h
<<
>>
Prefs
   1/*  -*- buffer-read-only: t -*-
   2 *
   3 *    regcharclass.h
   4 *
   5 *    Copyright (C) 2007, by Larry Wall and others
   6 *
   7 *    You may distribute under the terms of either the GNU General Public
   8 *    License or the Artistic License, as specified in the README file.
   9 *
  10 * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
  11 * This file is built by Porting/regcharclass.pl.
  12 * 
  13 * Any changes made here will be lost!
  14 *
  15 */
  16
  17/*
  18        LNBREAK: Line Break: \R
  19
  20        "\x0D\x0A"      # CRLF - Network (Windows) line ending
  21        0x0A            # LF  | LINE FEED
  22        0x0B            # VT  | VERTICAL TAB
  23        0x0C            # FF  | FORM FEED
  24        0x0D            # CR  | CARRIAGE RETURN
  25        0x85            # NEL | NEXT LINE
  26        0x2028          # LINE SEPARATOR
  27        0x2029          # PARAGRAPH SEPARATOR
  28*/
  29/*** GENERATED CODE ***/
  30#define is_LNBREAK(s,is_utf8)                                               \
  31( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                        \
  32: ( 0x0D == ((U8*)s)[0] ) ?                                                 \
  33    ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                     \
  34: ( is_utf8 ) ?                                                             \
  35    ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
  36        ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
  37    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
  38        ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
  39    : 0 )                                                                   \
  40: ( 0x85 == ((U8*)s)[0] ) )
  41
  42/*** GENERATED CODE ***/
  43#define is_LNBREAK_safe(s,e,is_utf8)                                        \
  44( ((e)-(s) > 2) ?                                                           \
  45    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
  46    : ( 0x0D == ((U8*)s)[0] ) ?                                             \
  47        ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
  48    : ( is_utf8 ) ?                                                         \
  49        ( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
  50            ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                             \
  51        : ( 0xE2 == ((U8*)s)[0] ) ?                                         \
  52            ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
  53        : 0 )                                                               \
  54    : ( 0x85 == ((U8*)s)[0] ) )                                             \
  55: ((e)-(s) > 1) ?                                                           \
  56    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
  57    : ( 0x0D == ((U8*)s)[0] ) ?                                             \
  58        ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
  59    : ( is_utf8 ) ?                                                         \
  60        ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )  \
  61    : ( 0x85 == ((U8*)s)[0] ) )                                             \
  62: ((e)-(s) > 0) ?                                                           \
  63    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
  64    : ( !( is_utf8 ) ) ?                                                    \
  65        ( 0x85 == ((U8*)s)[0] )                                             \
  66    : 0 )                                                                   \
  67: 0 )
  68
  69/*** GENERATED CODE ***/
  70#define is_LNBREAK_utf8(s)                                                  \
  71( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                        \
  72: ( 0x0D == ((U8*)s)[0] ) ?                                                 \
  73    ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                     \
  74: ( 0xC2 == ((U8*)s)[0] ) ?                                                 \
  75    ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                     \
  76: ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
  77    ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
  78: 0 )
  79
  80/*** GENERATED CODE ***/
  81#define is_LNBREAK_utf8_safe(s,e)                                           \
  82( ((e)-(s) > 2) ?                                                           \
  83    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
  84    : ( 0x0D == ((U8*)s)[0] ) ?                                             \
  85        ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
  86    : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
  87        ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
  88    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
  89        ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
  90    : 0 )                                                                   \
  91: ((e)-(s) > 1) ?                                                           \
  92    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
  93    : ( 0x0D == ((U8*)s)[0] ) ?                                             \
  94        ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
  95    : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
  96        ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
  97    : 0 )                                                                   \
  98: ((e)-(s) > 0) ?                                                           \
  99    ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D )                          \
 100: 0 )
 101
 102/*** GENERATED CODE ***/
 103#define is_LNBREAK_latin1(s)                                                \
 104( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                        \
 105: ( 0x0D == ((U8*)s)[0] ) ?                                                 \
 106    ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                     \
 107: ( 0x85 == ((U8*)s)[0] ) )
 108
 109/*** GENERATED CODE ***/
 110#define is_LNBREAK_latin1_safe(s,e)                                         \
 111( ((e)-(s) > 1) ?                                                           \
 112    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
 113    : ( 0x0D == ((U8*)s)[0] ) ?                                             \
 114        ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
 115    : ( 0x85 == ((U8*)s)[0] ) )                                             \
 116: ((e)-(s) > 0) ?                                                           \
 117    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
 118: 0 )
 119
 120/*
 121        HORIZWS: Horizontal Whitespace: \h \H
 122
 123        0x09            # HT
 124        0x20            # SPACE
 125        0xa0            # NBSP
 126        0x1680          # OGHAM SPACE MARK
 127        0x180e          # MONGOLIAN VOWEL SEPARATOR
 128        0x2000          # EN QUAD
 129        0x2001          # EM QUAD
 130        0x2002          # EN SPACE
 131        0x2003          # EM SPACE
 132        0x2004          # THREE-PER-EM SPACE
 133        0x2005          # FOUR-PER-EM SPACE
 134        0x2006          # SIX-PER-EM SPACE
 135        0x2007          # FIGURE SPACE
 136        0x2008          # PUNCTUATION SPACE
 137        0x2009          # THIN SPACE
 138        0x200A          # HAIR SPACE
 139        0x202f          # NARROW NO-BREAK SPACE
 140        0x205f          # MEDIUM MATHEMATICAL SPACE
 141        0x3000          # IDEOGRAPHIC SPACE
 142*/
 143/*** GENERATED CODE ***/
 144#define is_HORIZWS(s,is_utf8)                                               \
 145( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                        \
 146: ( is_utf8 ) ?                                                             \
 147    ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
 148        ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
 149    : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
 150        ( ( 0x9A == ((U8*)s)[1] ) ?                                         \
 151            ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                             \
 152        : ( 0xA0 == ((U8*)s)[1] ) ?                                         \
 153            ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 )                             \
 154        : 0 )                                                               \
 155    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
 156        ( ( 0x80 == ((U8*)s)[1] ) ?                                         \
 157            ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
 158        : ( 0x81 == ((U8*)s)[1] ) ?                                         \
 159            ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 )                             \
 160        : 0 )                                                               \
 161    : ( 0xE3 == ((U8*)s)[0] ) ?                                             \
 162        ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
 163    : 0 )                                                                   \
 164: ( 0xA0 == ((U8*)s)[0] ) )
 165
 166/*** GENERATED CODE ***/
 167#define is_HORIZWS_safe(s,e,is_utf8)                                        \
 168( ((e)-(s) > 2) ?                                                           \
 169    ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
 170    : ( is_utf8 ) ?                                                         \
 171        ( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
 172            ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )                             \
 173        : ( 0xE1 == ((U8*)s)[0] ) ?                                         \
 174            ( ( 0x9A == ((U8*)s)[1] ) ?                                     \
 175                ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                         \
 176            : ( 0xA0 == ((U8*)s)[1] ) ?                                     \
 177                ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 )                         \
 178            : 0 )                                                           \
 179        : ( 0xE2 == ((U8*)s)[0] ) ?                                         \
 180            ( ( 0x80 == ((U8*)s)[1] ) ?                                     \
 181                ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
 182            : ( 0x81 == ((U8*)s)[1] ) ?                                     \
 183                ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 )                         \
 184            : 0 )                                                           \
 185        : ( 0xE3 == ((U8*)s)[0] ) ?                                         \
 186            ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
 187        : 0 )                                                               \
 188    : ( 0xA0 == ((U8*)s)[0] ) )                                             \
 189: ((e)-(s) > 1) ?                                                           \
 190    ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
 191    : ( is_utf8 ) ?                                                         \
 192        ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 2 : 0 )  \
 193    : ( 0xA0 == ((U8*)s)[0] ) )                                             \
 194: ((e)-(s) > 0) ?                                                           \
 195    ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
 196    : ( !( is_utf8 ) ) ?                                                    \
 197        ( 0xA0 == ((U8*)s)[0] )                                             \
 198    : 0 )                                                                   \
 199: 0 )
 200
 201/*** GENERATED CODE ***/
 202#define is_HORIZWS_utf8(s)                                                  \
 203( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                        \
 204: ( 0xC2 == ((U8*)s)[0] ) ?                                                 \
 205    ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )                                     \
 206: ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
 207    ( ( 0x9A == ((U8*)s)[1] ) ?                                             \
 208        ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
 209    : ( 0xA0 == ((U8*)s)[1] ) ?                                             \
 210        ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 )                                 \
 211    : 0 )                                                                   \
 212: ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
 213    ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
 214        ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
 215    : ( 0x81 == ((U8*)s)[1] ) ?                                             \
 216        ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 )                                 \
 217    : 0 )                                                                   \
 218: ( 0xE3 == ((U8*)s)[0] ) ?                                                 \
 219    ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )      \
 220: 0 )
 221
 222/*** GENERATED CODE ***/
 223#define is_HORIZWS_utf8_safe(s,e)                                           \
 224( ((e)-(s) > 2) ?                                                           \
 225    ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
 226    : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
 227        ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
 228    : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
 229        ( ( 0x9A == ((U8*)s)[1] ) ?                                         \
 230            ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                             \
 231        : ( 0xA0 == ((U8*)s)[1] ) ?                                         \
 232            ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 )                             \
 233        : 0 )                                                               \
 234    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
 235        ( ( 0x80 == ((U8*)s)[1] ) ?                                         \
 236            ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
 237        : ( 0x81 == ((U8*)s)[1] ) ?                                         \
 238            ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 )                             \
 239        : 0 )                                                               \
 240    : ( 0xE3 == ((U8*)s)[0] ) ?                                             \
 241        ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
 242    : 0 )                                                                   \
 243: ((e)-(s) > 1) ?                                                           \
 244    ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
 245    : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
 246        ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
 247    : 0 )                                                                   \
 248: ((e)-(s) > 0) ?                                                           \
 249    ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] )                          \
 250: 0 )
 251
 252/*** GENERATED CODE ***/
 253#define is_HORIZWS_latin1(s)                                                \
 254( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] )
 255
 256/*** GENERATED CODE ***/
 257#define is_HORIZWS_latin1_safe(s,e)                                         \
 258( ((e)-(s) > 0) ?                                                           \
 259    ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] )   \
 260: 0 )
 261
 262/*** GENERATED CODE ***/
 263#define is_HORIZWS_cp(cp)                                                   \
 264( 0x09 == cp || ( 0x09 < cp &&                                              \
 265( 0x20 == cp || ( 0x20 < cp &&                                              \
 266( 0xA0 == cp || ( 0xA0 < cp &&                                              \
 267( 0x1680 == cp || ( 0x1680 < cp &&                                          \
 268( 0x180E == cp || ( 0x180E < cp &&                                          \
 269( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp &&                      \
 270( 0x202F == cp || ( 0x202F < cp &&                                          \
 271( 0x205F == cp || ( 0x205F < cp &&                                          \
 2720x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
 273
 274/*
 275        VERTWS: Vertical Whitespace: \v \V
 276
 277        0x0A            # LF
 278        0x0B            # VT
 279        0x0C            # FF
 280        0x0D            # CR
 281        0x85            # NEL
 282        0x2028          # LINE SEPARATOR
 283        0x2029          # PARAGRAPH SEPARATOR
 284*/
 285/*** GENERATED CODE ***/
 286#define is_VERTWS(s,is_utf8)                                                \
 287( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                        \
 288: ( is_utf8 ) ?                                                             \
 289    ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
 290        ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
 291    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
 292        ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
 293    : 0 )                                                                   \
 294: ( 0x85 == ((U8*)s)[0] ) )
 295
 296/*** GENERATED CODE ***/
 297#define is_VERTWS_safe(s,e,is_utf8)                                         \
 298( ((e)-(s) > 2) ?                                                           \
 299    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
 300    : ( is_utf8 ) ?                                                         \
 301        ( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
 302            ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                             \
 303        : ( 0xE2 == ((U8*)s)[0] ) ?                                         \
 304            ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
 305        : 0 )                                                               \
 306    : ( 0x85 == ((U8*)s)[0] ) )                                             \
 307: ((e)-(s) > 1) ?                                                           \
 308    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
 309    : ( is_utf8 ) ?                                                         \
 310        ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )  \
 311    : ( 0x85 == ((U8*)s)[0] ) )                                             \
 312: ((e)-(s) > 0) ?                                                           \
 313    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
 314    : ( !( is_utf8 ) ) ?                                                    \
 315        ( 0x85 == ((U8*)s)[0] )                                             \
 316    : 0 )                                                                   \
 317: 0 )
 318
 319/*** GENERATED CODE ***/
 320#define is_VERTWS_utf8(s)                                                   \
 321( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                        \
 322: ( 0xC2 == ((U8*)s)[0] ) ?                                                 \
 323    ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                     \
 324: ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
 325    ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
 326: 0 )
 327
 328/*** GENERATED CODE ***/
 329#define is_VERTWS_utf8_safe(s,e)                                            \
 330( ((e)-(s) > 2) ?                                                           \
 331    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
 332    : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
 333        ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
 334    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
 335        ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
 336    : 0 )                                                                   \
 337: ((e)-(s) > 1) ?                                                           \
 338    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
 339    : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
 340        ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
 341    : 0 )                                                                   \
 342: ((e)-(s) > 0) ?                                                           \
 343    ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D )                          \
 344: 0 )
 345
 346/*** GENERATED CODE ***/
 347#define is_VERTWS_latin1(s)                                                 \
 348( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )
 349
 350/*** GENERATED CODE ***/
 351#define is_VERTWS_latin1_safe(s,e)                                          \
 352( ((e)-(s) > 0) ?                                                           \
 353    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
 354: 0 )
 355
 356/*** GENERATED CODE ***/
 357#define is_VERTWS_cp(cp)                                                    \
 358( ( 0x0A <= cp && cp <= 0x0D ) || ( 0x0D < cp &&                            \
 359( 0x85 == cp || ( 0x85 < cp &&                                              \
 360( 0x2028 == cp || ( 0x2028 < cp &&                                          \
 3610x2029 == cp ) ) ) ) ) )
 362
 363/*
 364        TRICKYFOLD: Problematic fold case letters.
 365
 366        0x00DF  # LATIN1 SMALL LETTER SHARP S
 367        0x0390  # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
 368        0x03B0  # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
 369*/
 370/*** GENERATED CODE ***/
 371#define is_TRICKYFOLD(s,is_utf8)                                            \
 372( ( is_utf8 ) ?                                                             \
 373    ( ( 0xC3 == ((U8*)s)[0] ) ?                                             \
 374        ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 )                                 \
 375    : ( 0xCE == ((U8*)s)[0] ) ?                                             \
 376        ( ( 0x90 == ((U8*)s)[1] || 0xB0 == ((U8*)s)[1] ) ? 2 : 0 )          \
 377    : 0 )                                                                   \
 378: ( 0xDF == ((U8*)s)[0] ) )
 379
 380/*** GENERATED CODE ***/
 381#define is_TRICKYFOLD_safe(s,e,is_utf8)                                     \
 382( ((e)-(s) > 1) ?                                                           \
 383    ( ( is_utf8 ) ?                                                         \
 384        ( ( 0xC3 == ((U8*)s)[0] ) ?                                         \
 385            ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 )                             \
 386        : ( 0xCE == ((U8*)s)[0] ) ?                                         \
 387            ( ( 0x90 == ((U8*)s)[1] || 0xB0 == ((U8*)s)[1] ) ? 2 : 0 )      \
 388        : 0 )                                                               \
 389    : ( 0xDF == ((U8*)s)[0] ) )                                             \
 390: ((e)-(s) > 0) ?                                                           \
 391    ( ( !( is_utf8 ) ) ?                                                    \
 392        ( 0xDF == ((U8*)s)[0] )                                             \
 393    : 0 )                                                                   \
 394: 0 )
 395
 396/*** GENERATED CODE ***/
 397#define is_TRICKYFOLD_cp(cp)                                                \
 398( 0xDF == cp || ( 0xDF < cp &&                                              \
 399( 0x390 == cp || ( 0x390 < cp &&                                            \
 4000x3B0 == cp ) ) ) )
 401
 402/*** GENERATED CODE ***/
 403#define what_TRICKYFOLD(s,is_utf8)                                          \
 404( ( is_utf8 ) ?                                                             \
 405    ( ( 0xC3 == ((U8*)s)[0] ) ?                                             \
 406        ( ( 0x9F == ((U8*)s)[1] ) ? 0xDF : 0 )                              \
 407    : ( 0xCE == ((U8*)s)[0] ) ?                                             \
 408        ( ( 0x90 == ((U8*)s)[1] ) ? 0x390                                   \
 409        : ( 0xB0 == ((U8*)s)[1] ) ? 0x3B0 : 0 )                             \
 410    : 0 )                                                                   \
 411: ( 0xDF == ((U8*)s)[0] ) ? 0xDF : 0 )
 412
 413/*** GENERATED CODE ***/
 414#define what_TRICKYFOLD_safe(s,e,is_utf8)                                   \
 415( ((e)-(s) > 1) ?                                                           \
 416    ( ( is_utf8 ) ?                                                         \
 417        ( ( 0xC3 == ((U8*)s)[0] ) ?                                         \
 418            ( ( 0x9F == ((U8*)s)[1] ) ? 0xDF : 0 )                          \
 419        : ( 0xCE == ((U8*)s)[0] ) ?                                         \
 420            ( ( 0x90 == ((U8*)s)[1] ) ? 0x390                               \
 421            : ( 0xB0 == ((U8*)s)[1] ) ? 0x3B0 : 0 )                         \
 422        : 0 )                                                               \
 423    : ( 0xDF == ((U8*)s)[0] ) ? 0xDF : 0 )                                  \
 424: ((e)-(s) > 0) ?                                                           \
 425    ( ( ( !( is_utf8 ) ) && ( 0xDF == ((U8*)s)[0] ) ) ? 0xDF : 0 )          \
 426: 0 )
 427
 428/*** GENERATED CODE ***/
 429#define what_len_TRICKYFOLD(s,is_utf8,len)                                  \
 430( ( is_utf8 ) ?                                                             \
 431    ( ( 0xC3 == ((U8*)s)[0] ) ?                                             \
 432        ( ( 0x9F == ((U8*)s)[1] ) ? len=2, 0xDF : 0 )                       \
 433    : ( 0xCE == ((U8*)s)[0] ) ?                                             \
 434        ( ( 0x90 == ((U8*)s)[1] ) ? len=2, 0x390                            \
 435        : ( 0xB0 == ((U8*)s)[1] ) ? len=2, 0x3B0 : 0 )                      \
 436    : 0 )                                                                   \
 437: ( 0xDF == ((U8*)s)[0] ) ? len=1, 0xDF : 0 )
 438
 439/*** GENERATED CODE ***/
 440#define what_len_TRICKYFOLD_safe(s,e,is_utf8,len)                           \
 441( ((e)-(s) > 1) ?                                                           \
 442    ( ( is_utf8 ) ?                                                         \
 443        ( ( 0xC3 == ((U8*)s)[0] ) ?                                         \
 444            ( ( 0x9F == ((U8*)s)[1] ) ? len=2, 0xDF : 0 )                   \
 445        : ( 0xCE == ((U8*)s)[0] ) ?                                         \
 446            ( ( 0x90 == ((U8*)s)[1] ) ? len=2, 0x390                        \
 447            : ( 0xB0 == ((U8*)s)[1] ) ? len=2, 0x3B0 : 0 )                  \
 448        : 0 )                                                               \
 449    : ( 0xDF == ((U8*)s)[0] ) ? len=1, 0xDF : 0 )                           \
 450: ((e)-(s) > 0) ?                                                           \
 451    ( ( ( !( is_utf8 ) ) && ( 0xDF == ((U8*)s)[0] ) ) ? len=1, 0xDF : 0 )   \
 452: 0 )
 453
 454/* ex: set ro: */
 455
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.