Lines Matching full:ccc
151 * defined. The CCC of a non-defined code point is 0.
154 * with a non-zero CCC that occur between two characters with
155 * a CCC of 0, or at the begin or end of a string.
156 * The unicode standard guarantees that all CCC values are
159 * Code points with CCC 0 are known as stoppers.
163 * The CCC of a decomposable character is the same as the CCC
167 * These do affect normalization, as they all have CCC 0.
1341 int ccc; member
1381 if (left->ccc != right->ccc) in nfdi_equal()
1398 if (left->ccc != right->ccc) in nfdicf_equal()
1419 printf("%*sleaf @ %p code %X ccc %d gen %d", indent, "", leaf, in nfdi_print()
1420 leaf->code, leaf->ccc, leaf->gen); in nfdi_print()
1434 printf("%*sleaf @ %p code %X ccc %d gen %d", indent, "", leaf, in nfdicf_print()
1435 leaf->code, leaf->ccc, leaf->gen); in nfdicf_print()
1523 *data++ = leaf->ccc; in nfdi_emit()
1549 *data++ = leaf->ccc; in nfdicf_emit()
1803 } else if (data->ccc != LEAF_CCC(leaf)) { in verify()
1808 printf("%X code %X gen %d ccc %d" in verify()
1811 data->ccc, in verify()
1814 printf(" gen %d ccc %d" in verify()
2074 unicode_data[unichar].ccc = value; in ccc_init()
2078 printf(" %X..%X ccc %d\n", first, last, value); in ccc_init()
2085 unicode_data[unichar].ccc = value; in ccc_init()
2088 printf(" %X ccc %d\n", unichar, value); in ccc_init()
2905 short int ccc; member
2935 u8c->ccc = STOPPER; in utf8ncursor()
2971 * Characters are emitted if they match the current CCC in u8c->ccc.
2972 * Hitting end-of-string while u8c->ccc == STOPPER means we're done,
2975 * Sorting by CCC is done by repeatedly scanning the string. The
2977 * the start of the scan. The first pass finds the lowest CCC to be
2979 * characters with this CCC and finds the next lowest CCC. This limits
2986 * u8c->ccc == -1 -> this is the first scan of a repeating scan.
2991 int ccc; in utf8byte() local
3003 if (u8c->ccc == STOPPER) in utf8byte()
3006 ccc = STOPPER; in utf8byte()
3027 /* Characters that are too new have CCC 0. */ in utf8byte()
3029 ccc = STOPPER; in utf8byte()
3030 } else if ((ccc = LEAF_CCC(leaf)) == DECOMPOSE) { in utf8byte()
3034 /* Empty decomposition implies CCC 0. */ in utf8byte()
3036 if (u8c->ccc == STOPPER) in utf8byte()
3038 ccc = STOPPER; in utf8byte()
3042 ccc = LEAF_CCC(leaf); in utf8byte()
3050 if (ccc != STOPPER && u8c->ccc < ccc && ccc < u8c->nccc) in utf8byte()
3051 u8c->nccc = ccc; in utf8byte()
3057 if (ccc == u8c->ccc) { in utf8byte()
3071 assert(u8c->ccc == STOPPER); in utf8byte()
3072 u8c->ccc = MINCCC - 1; in utf8byte()
3073 u8c->nccc = ccc; in utf8byte()
3080 } else if (ccc != STOPPER) { in utf8byte()
3081 /* Not a stopper, and not the ccc we're emitting. */ in utf8byte()
3086 /* At a stopper, restart for next ccc. */ in utf8byte()
3087 u8c->ccc = u8c->nccc; in utf8byte()
3094 u8c->ccc = STOPPER; in utf8byte()