… | |
… | |
920 | #if UNICODE3 |
920 | #if UNICODE3 |
921 | # define COMPOSE_LO 0x40000000UL |
921 | # define COMPOSE_LO 0x40000000UL |
922 | # define COMPOSE_HI 0x400fffffUL |
922 | # define COMPOSE_HI 0x400fffffUL |
923 | # define IS_COMPOSE(n) ((int32_t)(n) >= COMPOSE_LO) |
923 | # define IS_COMPOSE(n) ((int32_t)(n) >= COMPOSE_LO) |
924 | #else |
924 | #else |
|
|
925 | # if ENABLE_PERL |
|
|
926 | # define COMPOSE_LO 0xe000UL // our _own_ routiens don't like (illegal) surrogates |
|
|
927 | # define COMPOSE_HI 0xf8ffUL // in utf-8, so use private use area only |
|
|
928 | # else |
925 | # define COMPOSE_LO 0xd800UL |
929 | # define COMPOSE_LO 0xd800UL |
926 | # define COMPOSE_HI 0xf8ffUL // dfff should be safer, but... |
930 | # define COMPOSE_HI 0xf8ffUL |
927 | # define IS_COMPOSE(n) (COMPOSE_LO <= (n) && (n) <= COMPOSE_HI) |
931 | # endif |
|
|
932 | # define IS_COMPOSE(n) IN_RANGE_INC ((n), COMPOSE_LO, COMPOSE_HI) |
928 | #endif |
933 | #endif |
929 | |
934 | |
930 | #if ENABLE_COMBINING |
935 | #if ENABLE_COMBINING |
931 | // compose chars are used to represent composite characters |
936 | // compose chars are used to represent composite characters |
932 | // that are not representable in unicode, as well as characters |
937 | // that are not representable in unicode, as well as characters |