46static uint32_t nzcc[] = {
603static const uint32_t pr29_1_1[] = {
607static const uint32_t pr29_1_2[] = {
617static const uint32_t pr29_2_1[] = {
621static const uint32_t pr29_2_2[] = {
622 0x0B3E, 0x0B56, 0x0B57, 0
630static const uint32_t pr29_3_1[] = {
634static const uint32_t pr29_3_2[] = {
642static const uint32_t pr29_4_1[] = {
646static const uint32_t pr29_4_2[] = {
654static const uint32_t pr29_5_1[] = {
658static const uint32_t pr29_5_2[] = {
668static const uint32_t pr29_6_1[] = {
672static const uint32_t pr29_6_2[] = {
673 0x0CC2, 0xCD5, 0xCD6, 0
681static const uint32_t pr29_7_1[] = {
685static const uint32_t pr29_7_2[] = {
693static const uint32_t pr29_8_1[] = {
697static const uint32_t pr29_8_2[] = {
706static const uint32_t pr29_9_1[] = {
710static const uint32_t pr29_9_2[] = {
718static const uint32_t pr29_10_1[] = {
722static const uint32_t pr29_10_2[] = {
731static const uint32_t pr29_11_1[] = {
735static const uint32_t pr29_11_2[] = {
744static const uint32_t pr29_12_1[] = {
745 0x1100, 0x1101, 0x1102, 0x1103, 0x1104, 0x1105, 0x1106, 0x1107,
746 0x1108, 0x1109, 0x110A, 0x110B, 0x110C, 0x110D, 0x110E, 0x110F,
747 0x1110, 0x1111, 0x1112, 0
750static const uint32_t pr29_12_2[] = {
751 0x1161, 0x1162, 0x1163, 0x1164, 0x1165, 0x1166, 0x1167, 0x1168,
752 0x1169, 0x116A, 0x116B, 0x116C, 0x116D, 0x116E, 0x116F, 0x1170,
753 0x1171, 0x1172, 0x1173, 0x1174, 0x1175, 0
762static const uint32_t pr29_13_1[] = {
1165static const uint32_t pr29_13_2[] = {
1166 0x11A8, 0x11A9, 0x11AA, 0x11AB, 0x11AC, 0x11AD, 0x11AE, 0x11AF,
1167 0x11B0, 0x11B1, 0x11B2, 0x11B3, 0x11B4, 0x11B5, 0x11B6, 0x11B7,
1168 0x11B8, 0x11B9, 0x11BA, 0x11BB, 0x11BC, 0x11BD, 0x11BE, 0x11BF,
1169 0x11C0, 0x11C1, 0x11C2, 0
1178static const Pr29 pr29[] = {
1179 {&pr29_1_1[0], &pr29_1_2[0]},
1180 {&pr29_2_1[0], &pr29_2_2[0]},
1181 {&pr29_3_1[0], &pr29_3_2[0]},
1182 {&pr29_4_1[0], &pr29_4_2[0]},
1183 {&pr29_5_1[0], &pr29_5_2[0]},
1184 {&pr29_6_1[0], &pr29_6_2[0]},
1185 {&pr29_7_1[0], &pr29_7_2[0]},
1186 {&pr29_8_1[0], &pr29_8_2[0]},
1187 {&pr29_9_1[0], &pr29_9_2[0]},
1188 {&pr29_10_1[0], &pr29_10_2[0]},
1189 {&pr29_11_1[0], &pr29_11_2[0]},
1190 {&pr29_12_1[0], &pr29_12_2[0]},
1191 {&pr29_13_1[0], &pr29_13_2[0]},
1196first_column (uint32_t c)
1200 for (i = 0; pr29[i].
first; i++)
1201 for (j = 0; pr29[i].
first[j]; j++)
1202 if (c == pr29[i].first[j])
1209in_last_column_row (uint32_t c,
size_t row)
1213 for (i = 0; pr29[row - 1].
last[i]; i++)
1214 if (c == pr29[row - 1].last[i])
1221combinationclass (uint32_t c)
1225 for (i = 0; nzcc[i]; i++)
1249 size_t i, j, k, row;
1263 for (i = 0; i < len; i++)
1264 if ((row = first_column (in[i])) > 0)
1265 for (j = i + 1; j < len; j++)
1266 if (combinationclass (in[j]))
1267 for (k = j + 1; k < len; k++)
1268 if (in_last_column_row (in[k], row))
1292 for (len = 0; in[len]; len++)
uint32_t * stringprep_utf8_to_ucs4(const char *str, ssize_t len, size_t *items_written)
int pr29_8z(const char *in)
int pr29_4z(const uint32_t *in)
int pr29_4(const uint32_t *in, size_t len)