+
+static void
+dumpctype(void)
+{
+ unicode_range *r;
+ wchar_t wc;
+
+ for (r = range; r->max; r++) {
+ for (wc = r->min; wc <= r->max; wc++) {
+ printf("%6x %2d %c%c%c%c%c%c%c%c%c%c%c%c\n",
+ wc, wcwidth(wc),
+ iswcntrl(wc) ? 'c' : '-',
+ iswprint(wc) ? 'p' : '-',
+ iswgraph(wc) ? 'g' : '-',
+ iswalpha(wc) ? 'a' : '-',
+ iswupper(wc) ? 'u' : '-',
+ iswlower(wc) ? 'l' : '-',
+ iswdigit(wc) ? 'd' : '-',
+ iswxdigit(wc) ? 'x' : '-',
+ iswalnum(wc) ? 'N' : '-',
+ iswpunct(wc) ? '@' : '-',
+ iswspace(wc) ? 's' : '-',
+ iswblank(wc) ? 'b' : '-');
+
+ if (wc == r->max)
+ /* wchar_t can be a 16-bit unsigned short. */
+ break;
+ }
+ }