in subversion/libsvn_subr/utf8proc/utf8proc.c [251:283]
static utf8proc_bool grapheme_break_simple(int lbc, int tbc) {
return
(lbc == UTF8PROC_BOUNDCLASS_START) ? true : /* GB1 */
(lbc == UTF8PROC_BOUNDCLASS_CR && /* GB3 */
tbc == UTF8PROC_BOUNDCLASS_LF) ? false : /* --- */
(lbc >= UTF8PROC_BOUNDCLASS_CR && lbc <= UTF8PROC_BOUNDCLASS_CONTROL) ? true : /* GB4 */
(tbc >= UTF8PROC_BOUNDCLASS_CR && tbc <= UTF8PROC_BOUNDCLASS_CONTROL) ? true : /* GB5 */
(lbc == UTF8PROC_BOUNDCLASS_L && /* GB6 */
(tbc == UTF8PROC_BOUNDCLASS_L || /* --- */
tbc == UTF8PROC_BOUNDCLASS_V || /* --- */
tbc == UTF8PROC_BOUNDCLASS_LV || /* --- */
tbc == UTF8PROC_BOUNDCLASS_LVT)) ? false : /* --- */
((lbc == UTF8PROC_BOUNDCLASS_LV || /* GB7 */
lbc == UTF8PROC_BOUNDCLASS_V) && /* --- */
(tbc == UTF8PROC_BOUNDCLASS_V || /* --- */
tbc == UTF8PROC_BOUNDCLASS_T)) ? false : /* --- */
((lbc == UTF8PROC_BOUNDCLASS_LVT || /* GB8 */
lbc == UTF8PROC_BOUNDCLASS_T) && /* --- */
tbc == UTF8PROC_BOUNDCLASS_T) ? false : /* --- */
(tbc == UTF8PROC_BOUNDCLASS_EXTEND || /* GB9 */
tbc == UTF8PROC_BOUNDCLASS_ZWJ || /* --- */
tbc == UTF8PROC_BOUNDCLASS_SPACINGMARK || /* GB9a */
lbc == UTF8PROC_BOUNDCLASS_PREPEND) ? false : /* GB9b */
((lbc == UTF8PROC_BOUNDCLASS_E_BASE || /* GB10 (requires additional handling below) */
lbc == UTF8PROC_BOUNDCLASS_E_BASE_GAZ) && /* ---- */
tbc == UTF8PROC_BOUNDCLASS_E_MODIFIER) ? false : /* ---- */
(lbc == UTF8PROC_BOUNDCLASS_ZWJ && /* GB11 */
(tbc == UTF8PROC_BOUNDCLASS_GLUE_AFTER_ZWJ || /* ---- */
tbc == UTF8PROC_BOUNDCLASS_E_BASE_GAZ)) ? false : /* ---- */
(lbc == UTF8PROC_BOUNDCLASS_REGIONAL_INDICATOR && /* GB12/13 (requires additional handling below) */
tbc == UTF8PROC_BOUNDCLASS_REGIONAL_INDICATOR) ? false : /* ---- */
true; /* GB999 */
}