diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/CORE/regcharclass.h')
-rw-r--r-- | Master/tlpkg/tlperl/lib/CORE/regcharclass.h | 91 |
1 files changed, 81 insertions, 10 deletions
diff --git a/Master/tlpkg/tlperl/lib/CORE/regcharclass.h b/Master/tlpkg/tlperl/lib/CORE/regcharclass.h index f9a1558d66a..47d4b41925b 100644 --- a/Master/tlpkg/tlperl/lib/CORE/regcharclass.h +++ b/Master/tlpkg/tlperl/lib/CORE/regcharclass.h @@ -1,17 +1,15 @@ -/* -*- buffer-read-only: t -*- +/* -*- buffer-read-only: t -*- * * regcharclass.h * - * Copyright (C) 2007, by Larry Wall and others + * Copyright (C) 2007 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! - * This file is built by Porting/regcharclass.pl. - * + * This file is built by regen/regcharclass.pl. * Any changes made here will be lost! - * */ /* @@ -363,9 +361,12 @@ /* TRICKYFOLD: Problematic fold case letters. - 0x00DF # LATIN1 SMALL LETTER SHARP S + 0x00DF # LATIN SMALL LETTER SHARP S 0x0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS 0x03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + 0x1E9E # LATIN CAPITAL LETTER SHARP S, because maps to same as 00DF + 0x1FD3 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA; maps same as 0390 + 0x1FE3 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA; maps same as 03B0 */ /*** GENERATED CODE ***/ #define is_TRICKYFOLD(s,is_utf8) \ @@ -374,12 +375,32 @@ ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xCE == ((U8*)s)[0] ) ? \ ( ( 0x90 == ((U8*)s)[1] || 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xE1 == ((U8*)s)[0] ) ? \ + ( ( 0xBA == ((U8*)s)[1] ) ? \ + ( ( 0x9E == ((U8*)s)[2] ) ? 3 : 0 ) \ + : ( 0xBF == ((U8*)s)[1] ) ? \ + ( ( 0x93 == ((U8*)s)[2] || 0xA3 == ((U8*)s)[2] ) ? 3 : 0 ) \ + : 0 ) \ : 0 ) \ : ( 0xDF == ((U8*)s)[0] ) ) /*** GENERATED CODE ***/ #define is_TRICKYFOLD_safe(s,e,is_utf8) \ -( ((e)-(s) > 1) ? \ +( ((e)-(s) > 2) ? \ + ( ( is_utf8 ) ? \ + ( ( 0xC3 == ((U8*)s)[0] ) ? \ + ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xCE == ((U8*)s)[0] ) ? \ + ( ( 0x90 == ((U8*)s)[1] || 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0xE1 == ((U8*)s)[0] ) ? \ + ( ( 0xBA == ((U8*)s)[1] ) ? \ + ( ( 0x9E == ((U8*)s)[2] ) ? 3 : 0 ) \ + : ( 0xBF == ((U8*)s)[1] ) ? \ + ( ( 0x93 == ((U8*)s)[2] || 0xA3 == ((U8*)s)[2] ) ? 3 : 0 ) \ + : 0 ) \ + : 0 ) \ + : ( 0xDF == ((U8*)s)[0] ) ) \ +: ((e)-(s) > 1) ? \ ( ( is_utf8 ) ? \ ( ( 0xC3 == ((U8*)s)[0] ) ? \ ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 ) \ @@ -397,7 +418,10 @@ #define is_TRICKYFOLD_cp(cp) \ ( 0xDF == cp || ( 0xDF < cp && \ ( 0x390 == cp || ( 0x390 < cp && \ -0x3B0 == cp ) ) ) ) +( 0x3B0 == cp || ( 0x3B0 < cp && \ +( 0x1E9E == cp || ( 0x1E9E < cp && \ +( 0x1FD3 == cp || ( 0x1FD3 < cp && \ +0x1FE3 == cp ) ) ) ) ) ) ) ) ) ) /*** GENERATED CODE ***/ #define what_TRICKYFOLD(s,is_utf8) \ @@ -407,12 +431,35 @@ : ( 0xCE == ((U8*)s)[0] ) ? \ ( ( 0x90 == ((U8*)s)[1] ) ? 0x390 \ : ( 0xB0 == ((U8*)s)[1] ) ? 0x3B0 : 0 ) \ + : ( 0xE1 == ((U8*)s)[0] ) ? \ + ( ( 0xBA == ((U8*)s)[1] ) ? \ + ( ( 0x9E == ((U8*)s)[2] ) ? 0x1E9E : 0 ) \ + : ( 0xBF == ((U8*)s)[1] ) ? \ + ( ( 0x93 == ((U8*)s)[2] ) ? 0x1FD3 \ + : ( 0xA3 == ((U8*)s)[2] ) ? 0x1FE3 : 0 ) \ + : 0 ) \ : 0 ) \ : ( 0xDF == ((U8*)s)[0] ) ? 0xDF : 0 ) /*** GENERATED CODE ***/ #define what_TRICKYFOLD_safe(s,e,is_utf8) \ -( ((e)-(s) > 1) ? \ +( ((e)-(s) > 2) ? \ + ( ( is_utf8 ) ? \ + ( ( 0xC3 == ((U8*)s)[0] ) ? \ + ( ( 0x9F == ((U8*)s)[1] ) ? 0xDF : 0 ) \ + : ( 0xCE == ((U8*)s)[0] ) ? \ + ( ( 0x90 == ((U8*)s)[1] ) ? 0x390 \ + : ( 0xB0 == ((U8*)s)[1] ) ? 0x3B0 : 0 ) \ + : ( 0xE1 == ((U8*)s)[0] ) ? \ + ( ( 0xBA == ((U8*)s)[1] ) ? \ + ( ( 0x9E == ((U8*)s)[2] ) ? 0x1E9E : 0 ) \ + : ( 0xBF == ((U8*)s)[1] ) ? \ + ( ( 0x93 == ((U8*)s)[2] ) ? 0x1FD3 \ + : ( 0xA3 == ((U8*)s)[2] ) ? 0x1FE3 : 0 ) \ + : 0 ) \ + : 0 ) \ + : ( 0xDF == ((U8*)s)[0] ) ? 0xDF : 0 ) \ +: ((e)-(s) > 1) ? \ ( ( is_utf8 ) ? \ ( ( 0xC3 == ((U8*)s)[0] ) ? \ ( ( 0x9F == ((U8*)s)[1] ) ? 0xDF : 0 ) \ @@ -433,12 +480,35 @@ : ( 0xCE == ((U8*)s)[0] ) ? \ ( ( 0x90 == ((U8*)s)[1] ) ? len=2, 0x390 \ : ( 0xB0 == ((U8*)s)[1] ) ? len=2, 0x3B0 : 0 ) \ + : ( 0xE1 == ((U8*)s)[0] ) ? \ + ( ( 0xBA == ((U8*)s)[1] ) ? \ + ( ( 0x9E == ((U8*)s)[2] ) ? len=3, 0x1E9E : 0 ) \ + : ( 0xBF == ((U8*)s)[1] ) ? \ + ( ( 0x93 == ((U8*)s)[2] ) ? len=3, 0x1FD3 \ + : ( 0xA3 == ((U8*)s)[2] ) ? len=3, 0x1FE3 : 0 ) \ + : 0 ) \ : 0 ) \ : ( 0xDF == ((U8*)s)[0] ) ? len=1, 0xDF : 0 ) /*** GENERATED CODE ***/ #define what_len_TRICKYFOLD_safe(s,e,is_utf8,len) \ -( ((e)-(s) > 1) ? \ +( ((e)-(s) > 2) ? \ + ( ( is_utf8 ) ? \ + ( ( 0xC3 == ((U8*)s)[0] ) ? \ + ( ( 0x9F == ((U8*)s)[1] ) ? len=2, 0xDF : 0 ) \ + : ( 0xCE == ((U8*)s)[0] ) ? \ + ( ( 0x90 == ((U8*)s)[1] ) ? len=2, 0x390 \ + : ( 0xB0 == ((U8*)s)[1] ) ? len=2, 0x3B0 : 0 ) \ + : ( 0xE1 == ((U8*)s)[0] ) ? \ + ( ( 0xBA == ((U8*)s)[1] ) ? \ + ( ( 0x9E == ((U8*)s)[2] ) ? len=3, 0x1E9E : 0 ) \ + : ( 0xBF == ((U8*)s)[1] ) ? \ + ( ( 0x93 == ((U8*)s)[2] ) ? len=3, 0x1FD3 \ + : ( 0xA3 == ((U8*)s)[2] ) ? len=3, 0x1FE3 : 0 ) \ + : 0 ) \ + : 0 ) \ + : ( 0xDF == ((U8*)s)[0] ) ? len=1, 0xDF : 0 ) \ +: ((e)-(s) > 1) ? \ ( ( is_utf8 ) ? \ ( ( 0xC3 == ((U8*)s)[0] ) ? \ ( ( 0x9F == ((U8*)s)[1] ) ? len=2, 0xDF : 0 ) \ @@ -451,4 +521,5 @@ ( ( ( !( is_utf8 ) ) && ( 0xDF == ((U8*)s)[0] ) ) ? len=1, 0xDF : 0 ) \ : 0 ) + /* ex: set ro: */ |