forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			395 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			395 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*************************************************
 | |
| *      Perl-Compatible Regular Expressions       *
 | |
| *************************************************/
 | |
| 
 | |
| /* PCRE is a library of functions to support regular expressions whose syntax
 | |
| and semantics are as close as possible to those of the Perl 5 language.
 | |
| 
 | |
|                        Written by Philip Hazel
 | |
|      Original API code Copyright (c) 1997-2012 University of Cambridge
 | |
|           New API code Copyright (c) 2016-2022 University of Cambridge
 | |
| 
 | |
| This module is auto-generated from Unicode data files. DO NOT EDIT MANUALLY!
 | |
| Instead, modify the maint/GenerateUcpHeader.py script and run it to generate
 | |
| a new version of this code.
 | |
| 
 | |
| -----------------------------------------------------------------------------
 | |
| Redistribution and use in source and binary forms, with or without
 | |
| modification, are permitted provided that the following conditions are met:
 | |
| 
 | |
|     * Redistributions of source code must retain the above copyright notice,
 | |
|       this list of conditions and the following disclaimer.
 | |
| 
 | |
|     * Redistributions in binary form must reproduce the above copyright
 | |
|       notice, this list of conditions and the following disclaimer in the
 | |
|       documentation and/or other materials provided with the distribution.
 | |
| 
 | |
|     * Neither the name of the University of Cambridge nor the names of its
 | |
|       contributors may be used to endorse or promote products derived from
 | |
|       this software without specific prior written permission.
 | |
| 
 | |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 | |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | |
| ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 | |
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 | |
| CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 | |
| SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 | |
| INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 | |
| CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 | |
| ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 | |
| POSSIBILITY OF SUCH DAMAGE.
 | |
| -----------------------------------------------------------------------------
 | |
| */
 | |
| 
 | |
| #ifndef PCRE2_UCP_H_IDEMPOTENT_GUARD
 | |
| #define PCRE2_UCP_H_IDEMPOTENT_GUARD
 | |
| 
 | |
| /* This file contains definitions of the Unicode property values that are
 | |
| returned by the UCD access macros and used throughout PCRE2.
 | |
| 
 | |
| IMPORTANT: The specific values of the first two enums (general and particular
 | |
| character categories) are assumed by the table called catposstab in the file
 | |
| pcre2_auto_possess.c. They are unlikely to change, but should be checked after
 | |
| an update. */
 | |
| 
 | |
| /* These are the general character categories. */
 | |
| 
 | |
| enum {
 | |
|   ucp_C,
 | |
|   ucp_L,
 | |
|   ucp_M,
 | |
|   ucp_N,
 | |
|   ucp_P,
 | |
|   ucp_S,
 | |
|   ucp_Z,
 | |
| };
 | |
| 
 | |
| /* These are the particular character categories. */
 | |
| 
 | |
| enum {
 | |
|   ucp_Cc,    /* Control */
 | |
|   ucp_Cf,    /* Format */
 | |
|   ucp_Cn,    /* Unassigned */
 | |
|   ucp_Co,    /* Private use */
 | |
|   ucp_Cs,    /* Surrogate */
 | |
|   ucp_Ll,    /* Lower case letter */
 | |
|   ucp_Lm,    /* Modifier letter */
 | |
|   ucp_Lo,    /* Other letter */
 | |
|   ucp_Lt,    /* Title case letter */
 | |
|   ucp_Lu,    /* Upper case letter */
 | |
|   ucp_Mc,    /* Spacing mark */
 | |
|   ucp_Me,    /* Enclosing mark */
 | |
|   ucp_Mn,    /* Non-spacing mark */
 | |
|   ucp_Nd,    /* Decimal number */
 | |
|   ucp_Nl,    /* Letter number */
 | |
|   ucp_No,    /* Other number */
 | |
|   ucp_Pc,    /* Connector punctuation */
 | |
|   ucp_Pd,    /* Dash punctuation */
 | |
|   ucp_Pe,    /* Close punctuation */
 | |
|   ucp_Pf,    /* Final punctuation */
 | |
|   ucp_Pi,    /* Initial punctuation */
 | |
|   ucp_Po,    /* Other punctuation */
 | |
|   ucp_Ps,    /* Open punctuation */
 | |
|   ucp_Sc,    /* Currency symbol */
 | |
|   ucp_Sk,    /* Modifier symbol */
 | |
|   ucp_Sm,    /* Mathematical symbol */
 | |
|   ucp_So,    /* Other symbol */
 | |
|   ucp_Zl,    /* Line separator */
 | |
|   ucp_Zp,    /* Paragraph separator */
 | |
|   ucp_Zs,    /* Space separator */
 | |
| };
 | |
| 
 | |
| /* These are Boolean properties. */
 | |
| 
 | |
| enum {
 | |
|   ucp_ASCII,
 | |
|   ucp_ASCII_Hex_Digit,
 | |
|   ucp_Alphabetic,
 | |
|   ucp_Bidi_Control,
 | |
|   ucp_Bidi_Mirrored,
 | |
|   ucp_Case_Ignorable,
 | |
|   ucp_Cased,
 | |
|   ucp_Changes_When_Casefolded,
 | |
|   ucp_Changes_When_Casemapped,
 | |
|   ucp_Changes_When_Lowercased,
 | |
|   ucp_Changes_When_Titlecased,
 | |
|   ucp_Changes_When_Uppercased,
 | |
|   ucp_Dash,
 | |
|   ucp_Default_Ignorable_Code_Point,
 | |
|   ucp_Deprecated,
 | |
|   ucp_Diacritic,
 | |
|   ucp_Emoji,
 | |
|   ucp_Emoji_Component,
 | |
|   ucp_Emoji_Modifier,
 | |
|   ucp_Emoji_Modifier_Base,
 | |
|   ucp_Emoji_Presentation,
 | |
|   ucp_Extended_Pictographic,
 | |
|   ucp_Extender,
 | |
|   ucp_Grapheme_Base,
 | |
|   ucp_Grapheme_Extend,
 | |
|   ucp_Grapheme_Link,
 | |
|   ucp_Hex_Digit,
 | |
|   ucp_IDS_Binary_Operator,
 | |
|   ucp_IDS_Trinary_Operator,
 | |
|   ucp_ID_Continue,
 | |
|   ucp_ID_Start,
 | |
|   ucp_Ideographic,
 | |
|   ucp_Join_Control,
 | |
|   ucp_Logical_Order_Exception,
 | |
|   ucp_Lowercase,
 | |
|   ucp_Math,
 | |
|   ucp_Noncharacter_Code_Point,
 | |
|   ucp_Pattern_Syntax,
 | |
|   ucp_Pattern_White_Space,
 | |
|   ucp_Prepended_Concatenation_Mark,
 | |
|   ucp_Quotation_Mark,
 | |
|   ucp_Radical,
 | |
|   ucp_Regional_Indicator,
 | |
|   ucp_Sentence_Terminal,
 | |
|   ucp_Soft_Dotted,
 | |
|   ucp_Terminal_Punctuation,
 | |
|   ucp_Unified_Ideograph,
 | |
|   ucp_Uppercase,
 | |
|   ucp_Variation_Selector,
 | |
|   ucp_White_Space,
 | |
|   ucp_XID_Continue,
 | |
|   ucp_XID_Start,
 | |
|   /* This must be last */
 | |
|   ucp_Bprop_Count
 | |
| };
 | |
| 
 | |
| /* Size of entries in ucd_boolprop_sets[] */
 | |
| 
 | |
| #define ucd_boolprop_sets_item_size 2
 | |
| 
 | |
| /* These are the bidi class values. */
 | |
| 
 | |
| enum {
 | |
|   ucp_bidiAL,   /* Arabic letter */
 | |
|   ucp_bidiAN,   /* Arabic number */
 | |
|   ucp_bidiB,    /* Paragraph separator */
 | |
|   ucp_bidiBN,   /* Boundary neutral */
 | |
|   ucp_bidiCS,   /* Common separator */
 | |
|   ucp_bidiEN,   /* European number */
 | |
|   ucp_bidiES,   /* European separator */
 | |
|   ucp_bidiET,   /* European terminator */
 | |
|   ucp_bidiFSI,  /* First strong isolate */
 | |
|   ucp_bidiL,    /* Left to right */
 | |
|   ucp_bidiLRE,  /* Left to right embedding */
 | |
|   ucp_bidiLRI,  /* Left to right isolate */
 | |
|   ucp_bidiLRO,  /* Left to right override */
 | |
|   ucp_bidiNSM,  /* Non-spacing mark */
 | |
|   ucp_bidiON,   /* Other neutral */
 | |
|   ucp_bidiPDF,  /* Pop directional format */
 | |
|   ucp_bidiPDI,  /* Pop directional isolate */
 | |
|   ucp_bidiR,    /* Right to left */
 | |
|   ucp_bidiRLE,  /* Right to left embedding */
 | |
|   ucp_bidiRLI,  /* Right to left isolate */
 | |
|   ucp_bidiRLO,  /* Right to left override */
 | |
|   ucp_bidiS,    /* Segment separator */
 | |
|   ucp_bidiWS,   /* White space */
 | |
| };
 | |
| 
 | |
| /* These are grapheme break properties. The Extended Pictographic property
 | |
| comes from the emoji-data.txt file. */
 | |
| 
 | |
| enum {
 | |
|   ucp_gbCR,                    /*  0 */
 | |
|   ucp_gbLF,                    /*  1 */
 | |
|   ucp_gbControl,               /*  2 */
 | |
|   ucp_gbExtend,                /*  3 */
 | |
|   ucp_gbPrepend,               /*  4 */
 | |
|   ucp_gbSpacingMark,           /*  5 */
 | |
|   ucp_gbL,                     /*  6 Hangul syllable type L */
 | |
|   ucp_gbV,                     /*  7 Hangul syllable type V */
 | |
|   ucp_gbT,                     /*  8 Hangul syllable type T */
 | |
|   ucp_gbLV,                    /*  9 Hangul syllable type LV */
 | |
|   ucp_gbLVT,                   /* 10 Hangul syllable type LVT */
 | |
|   ucp_gbRegional_Indicator,    /* 11 */
 | |
|   ucp_gbOther,                 /* 12 */
 | |
|   ucp_gbZWJ,                   /* 13 */
 | |
|   ucp_gbExtended_Pictographic, /* 14 */
 | |
| };
 | |
| 
 | |
| /* These are the script identifications. */
 | |
| 
 | |
| enum {
 | |
|   /* Scripts which has characters in other scripts. */
 | |
|   ucp_Latin,
 | |
|   ucp_Greek,
 | |
|   ucp_Cyrillic,
 | |
|   ucp_Arabic,
 | |
|   ucp_Syriac,
 | |
|   ucp_Thaana,
 | |
|   ucp_Devanagari,
 | |
|   ucp_Bengali,
 | |
|   ucp_Gurmukhi,
 | |
|   ucp_Gujarati,
 | |
|   ucp_Oriya,
 | |
|   ucp_Tamil,
 | |
|   ucp_Telugu,
 | |
|   ucp_Kannada,
 | |
|   ucp_Malayalam,
 | |
|   ucp_Sinhala,
 | |
|   ucp_Myanmar,
 | |
|   ucp_Georgian,
 | |
|   ucp_Hangul,
 | |
|   ucp_Mongolian,
 | |
|   ucp_Hiragana,
 | |
|   ucp_Katakana,
 | |
|   ucp_Bopomofo,
 | |
|   ucp_Han,
 | |
|   ucp_Yi,
 | |
|   ucp_Tagalog,
 | |
|   ucp_Hanunoo,
 | |
|   ucp_Buhid,
 | |
|   ucp_Tagbanwa,
 | |
|   ucp_Limbu,
 | |
|   ucp_Tai_Le,
 | |
|   ucp_Linear_B,
 | |
|   ucp_Cypriot,
 | |
|   ucp_Buginese,
 | |
|   ucp_Coptic,
 | |
|   ucp_Glagolitic,
 | |
|   ucp_Syloti_Nagri,
 | |
|   ucp_Phags_Pa,
 | |
|   ucp_Nko,
 | |
|   ucp_Kayah_Li,
 | |
|   ucp_Javanese,
 | |
|   ucp_Kaithi,
 | |
|   ucp_Mandaic,
 | |
|   ucp_Chakma,
 | |
|   ucp_Sharada,
 | |
|   ucp_Takri,
 | |
|   ucp_Duployan,
 | |
|   ucp_Grantha,
 | |
|   ucp_Khojki,
 | |
|   ucp_Linear_A,
 | |
|   ucp_Mahajani,
 | |
|   ucp_Manichaean,
 | |
|   ucp_Modi,
 | |
|   ucp_Old_Permic,
 | |
|   ucp_Psalter_Pahlavi,
 | |
|   ucp_Khudawadi,
 | |
|   ucp_Tirhuta,
 | |
|   ucp_Multani,
 | |
|   ucp_Adlam,
 | |
|   ucp_Masaram_Gondi,
 | |
|   ucp_Dogra,
 | |
|   ucp_Gunjala_Gondi,
 | |
|   ucp_Hanifi_Rohingya,
 | |
|   ucp_Sogdian,
 | |
|   ucp_Nandinagari,
 | |
|   ucp_Yezidi,
 | |
|   ucp_Cypro_Minoan,
 | |
|   ucp_Old_Uyghur,
 | |
| 
 | |
|   /* Scripts which has no characters in other scripts. */
 | |
|   ucp_Unknown,
 | |
|   ucp_Common,
 | |
|   ucp_Armenian,
 | |
|   ucp_Hebrew,
 | |
|   ucp_Thai,
 | |
|   ucp_Lao,
 | |
|   ucp_Tibetan,
 | |
|   ucp_Ethiopic,
 | |
|   ucp_Cherokee,
 | |
|   ucp_Canadian_Aboriginal,
 | |
|   ucp_Ogham,
 | |
|   ucp_Runic,
 | |
|   ucp_Khmer,
 | |
|   ucp_Old_Italic,
 | |
|   ucp_Gothic,
 | |
|   ucp_Deseret,
 | |
|   ucp_Inherited,
 | |
|   ucp_Ugaritic,
 | |
|   ucp_Shavian,
 | |
|   ucp_Osmanya,
 | |
|   ucp_Braille,
 | |
|   ucp_New_Tai_Lue,
 | |
|   ucp_Tifinagh,
 | |
|   ucp_Old_Persian,
 | |
|   ucp_Kharoshthi,
 | |
|   ucp_Balinese,
 | |
|   ucp_Cuneiform,
 | |
|   ucp_Phoenician,
 | |
|   ucp_Sundanese,
 | |
|   ucp_Lepcha,
 | |
|   ucp_Ol_Chiki,
 | |
|   ucp_Vai,
 | |
|   ucp_Saurashtra,
 | |
|   ucp_Rejang,
 | |
|   ucp_Lycian,
 | |
|   ucp_Carian,
 | |
|   ucp_Lydian,
 | |
|   ucp_Cham,
 | |
|   ucp_Tai_Tham,
 | |
|   ucp_Tai_Viet,
 | |
|   ucp_Avestan,
 | |
|   ucp_Egyptian_Hieroglyphs,
 | |
|   ucp_Samaritan,
 | |
|   ucp_Lisu,
 | |
|   ucp_Bamum,
 | |
|   ucp_Meetei_Mayek,
 | |
|   ucp_Imperial_Aramaic,
 | |
|   ucp_Old_South_Arabian,
 | |
|   ucp_Inscriptional_Parthian,
 | |
|   ucp_Inscriptional_Pahlavi,
 | |
|   ucp_Old_Turkic,
 | |
|   ucp_Batak,
 | |
|   ucp_Brahmi,
 | |
|   ucp_Meroitic_Cursive,
 | |
|   ucp_Meroitic_Hieroglyphs,
 | |
|   ucp_Miao,
 | |
|   ucp_Sora_Sompeng,
 | |
|   ucp_Caucasian_Albanian,
 | |
|   ucp_Bassa_Vah,
 | |
|   ucp_Elbasan,
 | |
|   ucp_Pahawh_Hmong,
 | |
|   ucp_Mende_Kikakui,
 | |
|   ucp_Mro,
 | |
|   ucp_Old_North_Arabian,
 | |
|   ucp_Nabataean,
 | |
|   ucp_Palmyrene,
 | |
|   ucp_Pau_Cin_Hau,
 | |
|   ucp_Siddham,
 | |
|   ucp_Warang_Citi,
 | |
|   ucp_Ahom,
 | |
|   ucp_Anatolian_Hieroglyphs,
 | |
|   ucp_Hatran,
 | |
|   ucp_Old_Hungarian,
 | |
|   ucp_SignWriting,
 | |
|   ucp_Bhaiksuki,
 | |
|   ucp_Marchen,
 | |
|   ucp_Newa,
 | |
|   ucp_Osage,
 | |
|   ucp_Tangut,
 | |
|   ucp_Nushu,
 | |
|   ucp_Soyombo,
 | |
|   ucp_Zanabazar_Square,
 | |
|   ucp_Makasar,
 | |
|   ucp_Medefaidrin,
 | |
|   ucp_Old_Sogdian,
 | |
|   ucp_Elymaic,
 | |
|   ucp_Nyiakeng_Puachue_Hmong,
 | |
|   ucp_Wancho,
 | |
|   ucp_Chorasmian,
 | |
|   ucp_Dives_Akuru,
 | |
|   ucp_Khitan_Small_Script,
 | |
|   ucp_Tangsa,
 | |
|   ucp_Toto,
 | |
|   ucp_Vithkuqi,
 | |
| 
 | |
|   /* This must be last */
 | |
|   ucp_Script_Count
 | |
| };
 | |
| 
 | |
| /* Size of entries in ucd_script_sets[] */
 | |
| 
 | |
| #define ucd_script_sets_item_size 3
 | |
| 
 | |
| #endif  /* PCRE2_UCP_H_IDEMPOTENT_GUARD */
 | |
| 
 | |
| /* End of pcre2_ucp.h */
 |