/* Enumeration types to string. * * Copyright (C) 2012-2016 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 . */ #include "ucd/ucd.h" const char *ucd_get_category_group_string(ucd_category_group c) { switch (c) { case UCD_CATEGORY_GROUP_C: return "C"; case UCD_CATEGORY_GROUP_I: return "I"; case UCD_CATEGORY_GROUP_L: return "L"; case UCD_CATEGORY_GROUP_M: return "M"; case UCD_CATEGORY_GROUP_N: return "N"; case UCD_CATEGORY_GROUP_P: return "P"; case UCD_CATEGORY_GROUP_S: return "S"; case UCD_CATEGORY_GROUP_Z: return "Z"; default: return "-"; } } const char *ucd_get_category_string(ucd_category c) { switch (c) { case UCD_CATEGORY_Cc: return "Cc"; case UCD_CATEGORY_Cf: return "Cf"; case UCD_CATEGORY_Cn: return "Cn"; case UCD_CATEGORY_Co: return "Co"; case UCD_CATEGORY_Cs: return "Cs"; case UCD_CATEGORY_Ii: return "Ii"; case UCD_CATEGORY_Ll: return "Ll"; case UCD_CATEGORY_Lm: return "Lm"; case UCD_CATEGORY_Lo: return "Lo"; case UCD_CATEGORY_Lt: return "Lt"; case UCD_CATEGORY_Lu: return "Lu"; case UCD_CATEGORY_Mc: return "Mc"; case UCD_CATEGORY_Me: return "Me"; case UCD_CATEGORY_Mn: return "Mn"; case UCD_CATEGORY_Nd: return "Nd"; case UCD_CATEGORY_Nl: return "Nl"; case UCD_CATEGORY_No: return "No"; case UCD_CATEGORY_Pc: return "Pc"; case UCD_CATEGORY_Pd: return "Pd"; case UCD_CATEGORY_Pe: return "Pe"; case UCD_CATEGORY_Pf: return "Pf"; case UCD_CATEGORY_Pi: return "Pi"; case UCD_CATEGORY_Po: return "Po"; case UCD_CATEGORY_Ps: return "Ps"; case UCD_CATEGORY_Sc: return "Sc"; case UCD_CATEGORY_Sk: return "Sk"; case UCD_CATEGORY_Sm: return "Sm"; case UCD_CATEGORY_So: return "So"; case UCD_CATEGORY_Zl: return "Zl"; case UCD_CATEGORY_Zp: return "Zp"; case UCD_CATEGORY_Zs: return "Zs"; default: return "--"; } } const char *ucd_get_script_string(ucd_script s) { static const char *scripts[] = { "Afak", "Aghb", "Ahom", "Arab", "Armi", "Armn", "Avst", "Bali", "Bamu", "Bass", "Batk", "Beng", "Blis", "Bopo", "Brah", "Brai", "Bugi", "Buhd", "Cakm", "Cans", "Cari", "Cham", "Cher", "Cirt", "Copt", "Cprt", "Cyrl", "Cyrs", "Deva", "Dsrt", "Dupl", "Egyd", "Egyh", "Egyp", "Elba", "Ethi", "Geok", "Geor", "Glag", "Goth", "Gran", "Grek", "Gujr", "Guru", "Hang", "Hani", "Hano", "Hans", "Hant", "Hatr", "Hebr", "Hira", "Hluw", "Hmng", "Hrkt", "Hung", "Inds", "Ital", "Java", "Jpan", "Jurc", "Kali", "Kana", "Khar", "Khmr", "Khoj", "Knda", "Kore", "Kpel", "Kthi", "Lana", "Laoo", "Latf", "Latg", "Latn", "Lepc", "Limb", "Lina", "Linb", "Lisu", "Loma", "Lyci", "Lydi", "Mahj", "Mand", "Mani", "Maya", "Mend", "Merc", "Mero", "Mlym", "Modi", "Mong", "Moon", "Mroo", "Mtei", "Mult", "Mymr", "Narb", "Nbat", "Nkgb", "Nkoo", "Nshu", "Ogam", "Olck", "Orkh", "Orya", "Osma", "Palm", "Pauc", "Perm", "Phag", "Phli", "Phlp", "Phlv", "Phnx", "Plrd", "Prti", "Qaak", "Rjng", "Roro", "Runr", "Samr", "Sara", "Sarb", "Saur", "Sgnw", "Shaw", "Shrd", "Sidd", "Sind", "Sinh", "Sora", "Sund", "Sylo", "Syrc", "Syre", "Syrj", "Syrn", "Tagb", "Takr", "Tale", "Talu", "Taml", "Tang", "Tavt", "Telu", "Teng", "Tfng", "Tglg", "Thaa", "Thai", "Tibt", "Tirh", "Ugar", "Vaii", "Visp", "Wara", "Wole", "Xpeo", "Xsux", "Yiii", "Zinh", "Zmth", "Zsym", "Zxxx", "Zyyy", "Zzzz", }; if ((unsigned int)s >= (sizeof(scripts)/sizeof(scripts[0]))) return "----"; return scripts[(unsigned int)s]; }