• Home
  • Raw
  • Download

Lines Matching full:ccc

173  *          defined.  The CCC of a non-defined code point is 0.
176 * with a non-zero CCC that occur between two characters with
177 * a CCC of 0, or at the begin or end of a string.
178 * The unicode standard guarantees that all CCC values are
181 * Code points with CCC 0 are known as stoppers.
185 * The CCC of a decomposable character is the same as the CCC
189 * These do affect normalization, as they all have CCC 0.
597 u8c->ccc = STOPPER; in utf8ncursor()
635 * Characters are emitted if they match the current CCC in u8c->ccc.
636 * Hitting end-of-string while u8c->ccc == STOPPER means we're done,
639 * Sorting by CCC is done by repeatedly scanning the string. The
641 * the start of the scan. The first pass finds the lowest CCC to be
643 * characters with this CCC and finds the next lowest CCC. This limits
650 * u8c->ccc == -1 -> this is the first scan of a repeating scan.
655 int ccc; in utf8byte() local
667 if (u8c->ccc == STOPPER) in utf8byte()
670 ccc = STOPPER; in utf8byte()
691 ccc = LEAF_CCC(leaf); in utf8byte()
692 /* Characters that are too new have CCC 0. */ in utf8byte()
694 ccc = STOPPER; in utf8byte()
695 } else if (ccc == DECOMPOSE) { in utf8byte()
699 /* Empty decomposition implies CCC 0. */ in utf8byte()
701 if (u8c->ccc == STOPPER) in utf8byte()
703 ccc = STOPPER; in utf8byte()
710 ccc = LEAF_CCC(leaf); in utf8byte()
717 if (ccc != STOPPER && u8c->ccc < ccc && ccc < u8c->nccc) in utf8byte()
718 u8c->nccc = ccc; in utf8byte()
724 if (ccc == u8c->ccc) { in utf8byte()
738 u8c->ccc = MINCCC - 1; in utf8byte()
739 u8c->nccc = ccc; in utf8byte()
746 } else if (ccc != STOPPER) { in utf8byte()
747 /* Not a stopper, and not the ccc we're emitting. */ in utf8byte()
752 /* At a stopper, restart for next ccc. */ in utf8byte()
753 u8c->ccc = u8c->nccc; in utf8byte()
760 u8c->ccc = STOPPER; in utf8byte()