GCB_T = 15,
GCB_V = 16,
GCB_ZWJ = 17,
- GCB_EDGE = 18
+ GCB_XPG_XX = 18,
+ GCB_EDGE = 19
} GCB_enum;
static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */
GCB_T = 15,
GCB_V = 16,
GCB_ZWJ = 17,
- GCB_EDGE = 18
+ GCB_XPG_XX = 18,
+ GCB_EDGE = 19
} GCB_enum;
static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */
GCB_T = 15,
GCB_V = 16,
GCB_ZWJ = 17,
- GCB_EDGE = 18
+ GCB_XPG_XX = 18,
+ GCB_EDGE = 19
} GCB_enum;
static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */
WB_Regional_Indicator = 20,
WB_Single_Quote = 21,
WB_ZWJ = 22,
- WB_EDGE = 23,
- WB_UNKNOWN = 24
+ WB_XPG_XX = 23,
+ WB_XPG_LE = 24,
+ WB_EDGE = 25,
+ WB_UNKNOWN = 26
} WB_enum;
static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */
WB_Regional_Indicator = 20,
WB_Single_Quote = 21,
WB_ZWJ = 22,
- WB_EDGE = 23,
- WB_UNKNOWN = 24
+ WB_XPG_XX = 23,
+ WB_XPG_LE = 24,
+ WB_EDGE = 25,
+ WB_UNKNOWN = 26
} WB_enum;
static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */
WB_Regional_Indicator = 20,
WB_Single_Quote = 21,
WB_ZWJ = 22,
- WB_EDGE = 23,
- WB_UNKNOWN = 24
+ WB_XPG_XX = 23,
+ WB_XPG_LE = 24,
+ WB_EDGE = 25,
+ WB_UNKNOWN = 26
} WB_enum;
static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */
#if defined(PERL_IN_REGEXEC_C)
-#define GCB_NOBREAK 0
-#define GCB_BREAKABLE 1
-#define GCB_RI_then_RI 2
-#define GCB_EX_then_EM 3
-
-static const U8 GCB_table[19][19] = {
- /* 'edg' stands for 'EDGE' */
-/* XX CR CN EB EBG EM EX GAZ L LF LV LVT PP RI SM T V ZWJ edg */
-/* XX */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
-/* CR */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
-/* CN */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
-/* EB */ { 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
-/* EBG*/ { 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
-/* EM */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
-/* EX */ { 1, 1, 1, 1, 1, 3, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
-/* GAZ*/ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
-/* L */ { 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1 },
-/* LF */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
-/* LV */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 },
-/* LVT*/ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1 },
-/* PP */ { 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
-/* RI */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 0, 1 },
-/* SM */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
-/* T */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1 },
-/* V */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 },
-/* ZWJ*/ { 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
-/* edg*/ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }
+#define GCB_NOBREAK 0
+#define GCB_BREAKABLE 1
+#define GCB_RI_then_RI 2
+#define GCB_EX_then_EM 3
+#define GCB_Maybe_Emoji_NonBreak 4
+
+static const U8 GCB_table[20][20] = {
+ /* 'edg' stands for 'EDGE'; other lowercase names are placeholders for
+ * property values not defined until a later Unicode release, so are
+ * irrelevant in this one, as they are not assigned to any code points */
+/* XX CR CN EB EBG EM EX GAZ L LF LV LVT PP RI SM T V ZWJ a edg */
+/* XX */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1 },
+/* CR */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
+/* CN */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
+/* EB */ { 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1 },
+/* EBG*/ { 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1 },
+/* EM */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1 },
+/* EX */ { 1, 1, 1, 1, 1, 3, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1 },
+/* GAZ*/ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1 },
+/* L */ { 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1 },
+/* LF */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
+/* LV */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1 },
+/* LVT*/ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1 },
+/* PP */ { 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
+/* RI */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 0, 1, 1 },
+/* SM */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1 },
+/* T */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1 },
+/* V */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1 },
+/* ZWJ*/ { 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 4, 1 },
+/* a */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1 },
+/* edg*/ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }
};
#define LB_NOBREAK 0
#define WB_NU_then_MB_or_MN_or_SQ 14
#define WB_RI_then_RI 16
-static const U8 WB_table[24][24] = {
+static const U8 WB_table[26][26] = {
/* 'Ext' stands for 'Extend'; 'edg' stands for 'EDGE'; 'hs' stands for
- * 'Perl_Tailored_HSpace'; 'unk' stands for 'UNKNOWN' */
-/* XX LE CR DQ EB EBG EM Ext EX FO GAZ HL KA LF ML MN MB NL NU hs RI SQ ZWJ edg */
-/* XX */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
-/* LE */ { 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 9, 1, 9, 1, 0, 1, 1, 9, 0, 1 },
-/* CR */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1 },
-/* DQ */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
-/* EB */ { 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
-/* EBG*/ { 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
-/* EM */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
-/* Ext*/ { 3, 3, 1, 3, 3, 3, 3, 0, 3, 0, 3, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 0, 1 },
-/* EX */ { 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1 },
-/* FO */ { 3, 3, 1, 3, 3, 3, 3, 0, 3, 0, 3, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 0, 1 },
-/* GAZ*/ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
-/* HL */ { 1, 0, 1, 7, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 9, 1, 9, 1, 0, 1, 1, 8, 0, 1 },
-/* KA */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
-/* LF */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1 },
-/* ML */ { 1,11, 1, 1, 1, 1, 1, 0, 1, 0, 1,11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
-/* MN */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,13, 1, 1, 1, 0, 1 },
-/* MB */ { 1,11, 1, 1, 1, 1, 1, 0, 1, 0, 1,11, 1, 1, 1, 1, 1, 1,13, 1, 1, 1, 0, 1 },
-/* NL */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1 },
-/* NU */ { 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1,15,15, 1, 0, 1, 1,15, 0, 1 },
-/* hs */ { 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 2, 1, 1, 0, 1 },
-/* RI */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,16, 1, 0, 1 },
-/* SQ */ { 1,11, 1, 1, 1, 1, 1, 0, 1, 0, 1,11, 1, 1, 1, 1, 1, 1,13, 1, 1, 1, 0, 1 },
-/* ZWJ*/ { 3, 3, 1, 3, 3, 0, 3, 0, 3, 0, 0, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 0, 1 },
-/* edg*/ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }
+ * 'Perl_Tailored_HSpace'; 'unk' stands for 'UNKNOWN'; other lowercase names are
+ * placeholders for property values not defined until a later Unicode release, so are
+ * irrelevant in this one, as they are not assigned to any code points */
+/* XX LE CR DQ EB EBG EM Ext EX FO GAZ HL KA LF ML MN MB NL NU hs RI SQ ZWJ b a edg */
+/* XX */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1 },
+/* LE */ { 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 9, 1, 9, 1, 0, 1, 1, 9, 0, 1, 1, 1 },
+/* CR */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1 },
+/* DQ */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1 },
+/* EB */ { 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1 },
+/* EBG*/ { 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1 },
+/* EM */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1 },
+/* Ext*/ { 3, 3, 1, 3, 3, 3, 3, 0, 3, 0, 3, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 0, 3, 3, 1 },
+/* EX */ { 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1 },
+/* FO */ { 3, 3, 1, 3, 3, 3, 3, 0, 3, 0, 3, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 0, 3, 3, 1 },
+/* GAZ*/ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1 },
+/* HL */ { 1, 0, 1, 7, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 9, 1, 9, 1, 0, 1, 1, 8, 0, 1, 0, 1 },
+/* KA */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1 },
+/* LF */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1 },
+/* ML */ { 1,11, 1, 1, 1, 1, 1, 0, 1, 0, 1,11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,11, 1 },
+/* MN */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,13, 1, 1, 1, 0, 1, 1, 1 },
+/* MB */ { 1,11, 1, 1, 1, 1, 1, 0, 1, 0, 1,11, 1, 1, 1, 1, 1, 1,13, 1, 1, 1, 0, 1,11, 1 },
+/* NL */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1 },
+/* NU */ { 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1,15,15, 1, 0, 1, 1,15, 0, 1, 0, 1 },
+/* hs */ { 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 2, 1, 1, 0, 1, 1, 1 },
+/* RI */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,16, 1, 0, 1, 1, 1 },
+/* SQ */ { 1,11, 1, 1, 1, 1, 1, 0, 1, 0, 1,11, 1, 1, 1, 1, 1, 1,13, 1, 1, 1, 0, 1,11, 1 },
+/* ZWJ*/ { 3, 3, 1, 3, 3, 0, 3, 0, 3, 0, 0, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 3, 0, 0, 0, 1 },
+/* b */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1 },
+/* a */ { 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 9, 1, 9, 1, 0, 1, 1, 9, 0, 1, 0, 1 },
+/* edg*/ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }
};
#endif /* defined(PERL_IN_REGEXEC_C) */
* be0f129691d479aa38646e4ca0ec1ee576ae7f75b0300a5624a7fa862fa8abba lib/unicore/extracted/DLineBreak.txt
* 92449d354d9f6b6f2f97a292ebb59f6344ffdeb83d120d7d23e569c43ba67cd5 lib/unicore/extracted/DNumType.txt
* e3a319527153b0c6c0c549b40fc6f3a01a7a0dcd6620784391db25901df3b154 lib/unicore/extracted/DNumValues.txt
- * 5c4387f0eb0a4d3ec12ce24309495ba2fe2ff8d6c20e11eb19258ee347a83e5d lib/unicore/mktables
+ * 22c0974193811f3f52d01b33c394c22b87541385fb68d5a3502749ec6bf077aa lib/unicore/mktables
* 21653d2744fdd071f9ef138c805393901bb9547cf3e777ebf50215a191f986ea lib/unicore/version
* 4bb677187a1a64e39d48f2e341b5ecb6c99857e49d7a79cf503bd8a3c709999b regen/charset_translations.pl
* 03e51b0f07beebd5da62ab943899aa4934eee1f792fa27c1fb638c33bf4ac6ea regen/mk_PL_charclass.pl
- * b015b9e6db7b31e919c494042c9c4b81f2b77352ff2a03a0b123f09a5818f8dd regen/mk_invlists.pl
+ * 507fb07e9b2257fe365525cc485c02ca756f13ca2186412c8792f1d03496313f regen/mk_invlists.pl
* ex: set ro: */