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()
2974 short int ccc; member
3004 u8c->ccc = STOPPER; in utf8ncursor()
3040 * Characters are emitted if they match the current CCC in u8c->ccc.
3041 * Hitting end-of-string while u8c->ccc == STOPPER means we're done,
3044 * Sorting by CCC is done by repeatedly scanning the string. The
3046 * the start of the scan. The first pass finds the lowest CCC to be
3048 * characters with this CCC and finds the next lowest CCC. This limits
3055 * u8c->ccc == -1 -> this is the first scan of a repeating scan.
3060 int ccc; in utf8byte() local
3072 if (u8c->ccc == STOPPER) in utf8byte()
3075 ccc = STOPPER; in utf8byte()
3096 /* Characters that are too new have CCC 0. */ in utf8byte()
3098 ccc = STOPPER; in utf8byte()
3099 } else if ((ccc = LEAF_CCC(leaf)) == DECOMPOSE) { in utf8byte()
3103 /* Empty decomposition implies CCC 0. */ in utf8byte()
3105 if (u8c->ccc == STOPPER) in utf8byte()
3107 ccc = STOPPER; in utf8byte()
3111 ccc = LEAF_CCC(leaf); in utf8byte()
3119 if (ccc != STOPPER && u8c->ccc < ccc && ccc < u8c->nccc) in utf8byte()
3120 u8c->nccc = ccc; in utf8byte()
3126 if (ccc == u8c->ccc) { in utf8byte()
3140 assert(u8c->ccc == STOPPER); in utf8byte()
3141 u8c->ccc = MINCCC - 1; in utf8byte()
3142 u8c->nccc = ccc; in utf8byte()
3149 } else if (ccc != STOPPER) { in utf8byte()
3150 /* Not a stopper, and not the ccc we're emitting. */ in utf8byte()
3155 /* At a stopper, restart for next ccc. */ in utf8byte()
3156 u8c->ccc = u8c->nccc; in utf8byte()
3163 u8c->ccc = STOPPER; in utf8byte()