void
gcdump(void)
{
UChar32 ch; unsignedchar *p, src[7]; int ctype, lc = -1; for (ch = 1; ch < MAX_UNICODE; ch++) {
UCharCategory cat;
UBlockCode code; if (!U_IS_UNICODE_CHAR(ch)) { continue; }
code = ublock_getCode(ch); switch (code) { case UBLOCK_CJK_RADICALS_SUPPLEMENT: /* cjk radicals */ case UBLOCK_KANGXI_RADICALS: /* kanji radicals */ case UBLOCK_BOPOMOFO: /* bopomofo letter */ case UBLOCK_HANGUL_COMPATIBILITY_JAMO: /* hangul letter */ case UBLOCK_KANBUN: /* kaeri ten used in kanbun ex. re-ten */ case UBLOCK_BOPOMOFO_EXTENDED: /* bopomofo extended letter */ case UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A: /* cjk letter */ case UBLOCK_CJK_UNIFIED_IDEOGRAPHS: /* cjk letter */ case UBLOCK_YI_SYLLABLES: /* Yi syllables */ case UBLOCK_YI_RADICALS: /* Yi radicals */ case UBLOCK_HANGUL_SYLLABLES: /* hangul syllables */ case UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS: /* cjk letter */ case UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B: /* cjk letter */ case UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT: /* cjk letter */ case UBLOCK_CJK_STROKES: /* kakijun*/
ctype = ctype_kanji; break; case UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION: /* symbols ex. JIS mark */ case UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS: /* ex. (kabu) */ case UBLOCK_CJK_COMPATIBILITY: /* symbols ex. ton doll */ case UBLOCK_CJK_COMPATIBILITY_FORMS: /* symbols ex. tategaki kagi-kakko */
ctype = ctype_symbol; break; case UBLOCK_HIRAGANA:
ctype = ctype_hiragana; break; case UBLOCK_KATAKANA: case UBLOCK_KATAKANA_PHONETIC_EXTENSIONS:
ctype = ctype_katakana; break; default:
cat = u_charType(ch); switch (cat) { case U_UPPERCASE_LETTER: case U_LOWERCASE_LETTER: case U_TITLECASE_LETTER: case U_MODIFIER_LETTER: case U_OTHER_LETTER:
ctype = ctype_alpha; break; case U_DECIMAL_DIGIT_NUMBER: case U_LETTER_NUMBER: case U_OTHER_NUMBER:
ctype = ctype_digit; break; case U_DASH_PUNCTUATION: case U_START_PUNCTUATION: case U_END_PUNCTUATION: case U_CONNECTOR_PUNCTUATION: case U_OTHER_PUNCTUATION: case U_MATH_SYMBOL: case U_CURRENCY_SYMBOL: case U_MODIFIER_SYMBOL: case U_OTHER_SYMBOL:
ctype = ctype_symbol; break; default:
ctype = ctype_others; break;
} break;
} if (ctype != lc) {
ucs2utf(ch, src); for (p = src; *p; p++) {
printf("%x:", *p);
}
printf("\t%04x\t%s\n", ch, ctypes[ctype]);
}
lc = ctype;
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.