123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /*
- * Copyright (C) 2012 Reece H. Dunn
- *
- * This file is part of ucd-tools.
- *
- * ucd-tools is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * ucd-tools is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with ucd-tools. If not, see <http://www.gnu.org/licenses/>.
- */
-
- #include "ucd/ucd.h"
-
- #include <stdio.h>
-
- const char *get_category_string(ucd::category c)
- {
- using namespace ucd;
- switch (c)
- {
- case Cc: return "Cc";
- case Cf: return "Cf";
- case Cn: return "Cn";
- case Co: return "Co";
- case Cs: return "Cs";
- case Ii: return "Ii";
- case Ll: return "Ll";
- case Lm: return "Lm";
- case Lo: return "Lo";
- case Lt: return "Lt";
- case Lu: return "Lu";
- case Mc: return "Mc";
- case Me: return "Me";
- case Mn: return "Mn";
- case Nd: return "Nd";
- case Nl: return "Nl";
- case No: return "No";
- case Pc: return "Pc";
- case Pd: return "Pd";
- case Pe: return "Pe";
- case Pf: return "Pf";
- case Pi: return "Pi";
- case Po: return "Po";
- case Ps: return "Ps";
- case Sc: return "Sc";
- case Sk: return "Sk";
- case Sm: return "Sm";
- case So: return "So";
- case Zl: return "Zl";
- case Zp: return "Zp";
- case Zs: return "Zs";
- default: return "--";
- }
- }
-
- int main()
- {
- for (ucd::codepoint_t c = 0; c <= 0x10FFFF; ++c)
- {
- const char *category = get_category_string(ucd::lookup_category(c));
- ucd::codepoint_t upper = ucd::toupper(c);
- ucd::codepoint_t lower = ucd::tolower(c);
- ucd::codepoint_t title = ucd::totitle(c);
- printf("%06X %s %06X %06X %06X\n", c, category, upper, lower, title);
- }
- return 0;
- }
|