summaryrefslogtreecommitdiff
path: root/src/u8c/main.h.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/u8c/main.h.d')
-rw-r--r--src/u8c/main.h.d/abrtfn.c31
-rw-r--r--src/u8c/main.h.d/debug.c24
-rw-r--r--src/u8c/main.h.d/end.c48
-rw-r--r--src/u8c/main.h.d/init.c63
-rw-r--r--src/u8c/main.h.d/thrdsafe.c214
-rw-r--r--src/u8c/main.h.d/uniblk.c517
-rw-r--r--src/u8c/main.h.d/uninm.c2582
7 files changed, 0 insertions, 3479 deletions
diff --git a/src/u8c/main.h.d/abrtfn.c b/src/u8c/main.h.d/abrtfn.c
deleted file mode 100644
index bab21f2..0000000
--- a/src/u8c/main.h.d/abrtfn.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- Copyright 2021 Gabriel Jensen
-
- This file is part of u8c.
-
- u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
-
- u8c 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 Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License along with u8c.
-
- If not, see <https://www.gnu.org/licenses/>.
-*/
-# include <inttypes.h>
-# include <stdbool.h>
-# include <stdint.h>
-# include <stdio.h>
-# include <stdlib.h>
-# include <stdnoreturn.h>
-# include <time.h>
-# include <u8c/intern.h>
-# include <u8c/main.h>
-noreturn void u8c_abrtfn(char const * const restrict _fl,long const _ln,char const * const restrict _fn,char const * const restrict _why) {
- fprintf(stderr,"u8c: *** Aborted (\"%s\":%li in function \"%s\": \"%s\" @ %" PRIuMAX ") ***\nLibrary diagnostics:\n debug:%s\n status:%" PRIuLEAST8 "\n thread-safe:%s\n version:%" PRIuLEAST64 "\n",_fl,_ln,_fn,_why,(intmax_t)time(NULL),u8c_dbg ? "true" : "false",u8c_dat.stat,u8c_thrdsafe ? "true" : "false",u8c_ver);
- fprintf(stderr,"Trying to clean up...\n");
- u8c_end();
- fprintf(stderr,"Aborting...\n");
- abort();
-}
diff --git a/src/u8c/main.h.d/debug.c b/src/u8c/main.h.d/debug.c
deleted file mode 100644
index e42275c..0000000
--- a/src/u8c/main.h.d/debug.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- Copyright 2021 Gabriel Jensen
-
- This file is part of u8c.
-
- u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
-
- u8c 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 Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License along with u8c.
-
- If not, see <https://www.gnu.org/licenses/>.
-*/
-# include <stdbool.h>
-# include <stdint.h>
-# include <u8c/main.h>
-bool const u8c_dbg =
-# if defined(NDEBUG)
- false;
-# else
- true;
-# endif
diff --git a/src/u8c/main.h.d/end.c b/src/u8c/main.h.d/end.c
deleted file mode 100644
index 741a961..0000000
--- a/src/u8c/main.h.d/end.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- Copyright 2021 Gabriel Jensen
-
- This file is part of u8c.
-
- u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
-
- u8c 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 Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License along with u8c.
-
- If not, see <https://www.gnu.org/licenses/>.
-*/
-# include <stdbool.h>
-# include <stdint.h>
-# include <stdlib.h>
-# include <u8c/SIZE_C.h>
-# include <u8c/intern.h>
-# include <u8c/main.h>
-# include <u8c/str.h>
-# if defined(u8c_bethrdsafe)
-# include <threads.h>
-# endif
-struct u8c_end_tuple u8c_end(void) {
- struct u8c_end_tuple ret = {
- .stat = false,
- };
- if(!u8c_dat.stat) {
- return ret;
- }
-# if defined(u8c_bethrdsafe)
- /* Destroy mutexes: */
- mtx_destroy(&u8c_dat.errhandlslock);
- mtx_destroy(&u8c_dat.errlock);
- mtx_destroy(&u8c_dat.fmtlock);
- mtx_destroy(&u8c_dat.outlock);
-# endif
- /* Free error message: */
- u8c_strfree(u8c_dat.err);
- /* Set default formatting options: */
- u8c_dat.fmtbase = UINT8_C(0xC);
- u8c_dat.fmtendian = UINT8_C(0x0);
- /* Set status: */
- u8c_dat.stat = UINT8_C(0x0);
- return ret;
-}
diff --git a/src/u8c/main.h.d/init.c b/src/u8c/main.h.d/init.c
deleted file mode 100644
index 1762822..0000000
--- a/src/u8c/main.h.d/init.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- Copyright 2021 Gabriel Jensen
-
- This file is part of u8c.
-
- u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
-
- u8c 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 Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License along with u8c.
-
- If not, see <https://www.gnu.org/licenses/>.
-*/
-# if !defined(__STDC_UTF_32__)
-# error UTF-32 is required.
-# endif
-# include <stdbool.h>
-# include <stddef.h>
-# include <stdint.h>
-# include <u8c/SIZE_C.h>
-# include <u8c/err.h>
-# include <u8c/intern.h>
-# include <u8c/main.h>
-# include <u8c/str.h>
-# if defined(u8c_bethrdsafe)
-# include <threads.h>
-# endif
-struct u8c_init_tuple u8c_init() {
- struct u8c_init_tuple ret = {
- .stat = false,
- };
- /* Initialise mutexes: */
-# if defined(u8c_bethrdsafe)
- if(mtx_init(&u8c_dat.errhandlslock,mtx_plain) == thrd_error) {
- ret.stat = true;
- return ret;
- }
- if(mtx_init(&u8c_dat.errlock,mtx_plain) == thrd_error) {
- ret.stat = true;
- return ret;
- }
- if(mtx_init(&u8c_dat.fmtlock,mtx_plain) == thrd_error) {
- ret.stat = true;
- return ret;
- }
- if(mtx_init(&u8c_dat.outlock,mtx_plain) == thrd_error) {
- ret.stat = true;
- return ret;
- }
-# endif
- /* Set default error message: */
- u8c_dat.err = NULL;
- u8c_seterr(u8c_errtyp_deferr,U"");
- /* Initialise error handler array: */
- for(register size_t n = SIZE_C(0x0);n < u8c_errtyp_all;n += SIZE_C(0x1)) {
- u8c_dat.errhandls[n] = NULL;
- }
- /* Set status: */
- u8c_dat.stat = UINT8_C(0x1);
- return ret;
-}
diff --git a/src/u8c/main.h.d/thrdsafe.c b/src/u8c/main.h.d/thrdsafe.c
deleted file mode 100644
index 4e8c40c..0000000
--- a/src/u8c/main.h.d/thrdsafe.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- Copyright 2021 Gabriel Jensen
-
- This file is part of u8c.
-
- u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
-
- u8c 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 Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License along with u8c.
-
- If not, see <https://www.gnu.org/licenses/>.
-*/
-# include <stdbool.h>
-# include <stdint.h>
-# include <u8c/main.h>
-bool const u8c_thrdsafe =
-# if defined(u8c_bethrdsafe)
- true;
-# else
- false;
-# endif
-/*
-1720 173F HANUNOO
-1740 175F BUHID
-1760 177F TAGBANWA
-1780 17FF KHMER
-1800 18AF MONGOLIAN
-18B0 18FF UNIFIED CANADIAN ABORIGINAL SYLLABICS EXTENDED
-1900 194F LIMBU
-1950 197F TAI LE
-1980 19DF NEW TAI LUE
-19E0 19FF KHMER SYMBOLS
-1A00 1A1F BUGINESE
-1A20 1AAF TAI THAM
-1AB0 1AFF COMBINING DIACRITICAL MARKS EXTENDED
-1B00 1B7F BALINESE
-1B80 1BBF SUNDANESE
-1BC0 1BFF BATAK
-1C00 1C4F LEPCHA
-1C50 1C7F OL CHIKI
-1C80 1C8F CYRILLIC EXTENDED C
-1C90 1CBF GEORGIAN EXTENDED
-1CC0 1CCF SUNDANESE SUPPLEMENT
-1CD0 1CFF VEDIC EXTENSIONS
-1D00 1D7F PHONETIC EXTENSIONS
-1D80 1DBF PHONETIC EXTENSIONS SUPPLEMENT
-1DC0 1DFF COMBINING DIACRITICAL MARKS SUPPLEMENT
-1E00 1EFF LATIN EXTENDED ADDITIONAL
-1F00 1FFF GREEK EXTENDED
-2000 206F GENERAL PUNCTUATION
-2070 209F SUPERSCRIPTS AND SUBSCRIPTS
-20A0 20CF CURRENCY SYMBOLS
-20D0 20FF COMBINING DIACRITICAL MARKS FOR SYMBOLS
-2100 214F LETTERLIKE SYMBOLS
-2150 218F NUMBER FORMS
-2190 21FF ARROWS
-2200 22FF MATHEMATICAL OPERATORS
-2300 23FF MISCELLANEOUS TECHNICAL
-2400 243F CONTROL PICTURES
-2440 245F OPTICAL CHARACTER RECOGNITION
-2460 24FF ENCLOSED ALPHANUMERICS
-2500 257F BOX DRAWING
-2580 259F BLOCK ELEMENTS
-25A0 25FF GEOMETRIC SHAPES
-2600 26FF MISCELLANEOUS SYMBOLS
-2700 27BF DINGBATS
-27C0 27EF MISCELLANEOUS MATHEMATICAL SYMBOLS-A
-27F0 27FF SUPPLEMENTAL ARROWS-A
-2800 28FF BRAILLE PATTERNS
-2900 297F SUPPLEMENTAL ARROWS-B
-2980 29FF MISCELLANEOUS MATHEMATICAL SYMBOLS-B
-2A00 2AFF SUPPLEMENTAL MATHEMATICAL OPERATORS
-2B00 2BFF MISCELLANEOUS SYMBOLS AND ARROWS
-2C00 2C5F GLAGOLITIC
-2C60 2C7F LATIN EXTENDED-C
-2C80 2CFF COPTIC
-2D00 2D2F GEORGIAN SUPPLEMENT
-2D30 2D7F TIFINAGH
-2D80 2DDF ETHIOPIC EXTENDED
-2DE0 2DFF CYRILLIC EXTENDED-A
-2E00 2E7F SUPPLEMENTAL PUNCTUATION
-2E80 2EFF CJK RADICALS SUPPLEMENT
-2F00 2FDF KANGXI RADICALS
-2FF0 2FFF IDEOGRAPHIC DESCRIPTION CHARACTERS
-3000 303F CJK SYMBOLS AND PUNCTUATION
-3040 309F HIRAGANA
-30A0 30FF KATAKANA
-3100 312F BOPOMOFO
-3130 318F HANGUL COMPATIBILITY JAMO
-3190 319F KANBUN
-31A0 31BF BOPOMOFO EXTENDED
-31C0 31EF CJK STROKES
-31F0 31FF KATAKANA PHONETIC EXTENSIONS
-3200 32FF ENCLOSED CJK LETTERS AND MONTHS
-3300 33FF CJK COMPATIBILITY
-3400 4DBF CJK UNIFIED IDEOGRAPHS EXTENSION A
-4DC0 4DFF YIJING HEXAGRAM SYMBOLS
-4E00 9FFF CJK UNIFIED IDEOGRAPHS
-A000 A48F YI SYLLABLES
-A490 A4CF YI RADICALS
-A4D0 A4FF LISU
-A500 A63F VAI
-A640 A69F CYRILLIC EXTENDED-B
-A6A0 A6FF BAMUM
-A700 A71F MODIFIER TONE LETTERS
-A720 A7FF LATIN EXTENDED-D
-A800 A82F SYLOTI NAGRI
-A830 A83F COMMON INDIC NUMBER FORMS
-A840 A87F PHAGS-PA
-A880 A8DF SAURASHTRA
-A8E0 A8FF DEVANAGARI EXTENDED
-A900 A92F KAYAH LI
-A930 A95F REJANG
-A960 A97F HANGUL JAMO EXTENDED-A
-A980 A9DF JAVANESE
-A9E0 A9FF MYANMAR EXTENDED-B
-AA00 AA5F CHAM
-AA60 AA7F MYANMAR EXTENDED-A
-AA80 AADF TAI VIET
-AAE0 AAFF MEETEI MAYEK EXTENSIONS
-AB00 AB2F ETHIOPIC EXTENDED-A
-AB30 AB6F LATIN EXTENDED-E
-AB70 ABBF CHEROKEE SUPPLEMENT
-ABC0 ABFF MEETEI MAYEK
-AC00 D7AF HANGUL SYLLABLES
-D7B0 D7FF HANGUL JAMO EXTENDED-B
-D800 DB7F HIGH SURROGATES
-DB80 DBFF HIGH PRIVATE USE SURROGATES
-DC00 DFFF LOW SURROGATES
-E000 F8FF PRIVATE USE AREA
-F900 FAFF CJK COMPATIBILITY IDEOGRAPHS
-FB00 FB4F ALPHABETIC PRESENTATION FORMS
-FB50 FDFF ARABIC PRESENTATION FORMS-A
-FE00 FE0F VARIATION SELECTORS
-FE10 FE1F VERTICAL FORMS
-FE20 FE2F COMBINING HALF MARKS
-FE30 FE4F CJK COMPATIBILITY FORMS
-FE50 FE6F SMALL FORM VARIANTS
-FE70 FEFF ARABIC PRESENTATION FORMS-B
-FF00 FFEF HALFWIDTH AND FULLWIDTH FORMS
-FFF0 FFFF SPECIALS
-10000 1007F LINEAR B SYLLABARY
-10080 100FF LINEAR B IDEOGRAMS
-10100 1013F AEGEAN NUMBERS
-10140 1018F ANCIENT GREEK NUMBERS
-10190 101CF ANCIENT SYMBOLS
-101D0 101FF PHAISTOS DISC
-10280 1029F LYCIAN
-102A0 102DF CARIAN
-102E0 102FF COPTIC EPACT NUMBERS
-10300 1032F OLD ITALIC
-10330 1034F GOTHIC
-10350 1037F OLD PERMIC
-10380 1039F UGARITIC
-103A0 103DF OLD PERSIAN
-10400 1044F DESERET
-10450 1047F SHAVIAN
-10480 104AF OSMANYA
-104B0 104FF OSAGE
-10500 1052F ELBASAN
-10530 1056F CAUCASIAN ALBANIAN
-10600 1077F LINEAR A
-10800 1083F CYPRIOT SYLLABARY
-10840 1085F IMPERIAL ARAMAIC
-10860 1087F PALMYRENE
-10880 108AF NABATAEAN
-108E0 108FF HATRAN
-10900 1091F PHOENICIAN
-10920 1093F LYDIAN
-10980 1099F MEROITIC HIEROGLYPHS
-109A0 109FF MEROITIC CURSIVE
-10A00 10A5F KHAROSHTHI
-10A60 10A7F OLD SOUTH ARABIAN
-10A80 10A9F OLD NORTH ARABIAN
-10AC0 10AFF MANICHAEAN
-10B00 10B3F AVESTAN
-10B40 10B5F INSCRIPTIONAL PARTHIAN
-10B60 10B7F INSCRIPTIONAL PAHLAVI
-10B80 10BAF PSALTER PAHLAVI
-10C00 10C4F OLD TURKIC
-10C80 10CFF OLD HUNGARIAN
-10D00 10D3F HANIFI ROHINGYA
-10E60 10E7F RUMI NUMERAL SYMBOLS
-10E80 10EBF YEZIDI
-10F00 10F2F OLD SOGDIAN
-10F30 10F6F SOGDIAN
-10FB0 10FDF CHORASMIAN
-10FE0 10FFF ELYMAIC
-11000 1107F BRAHMI
-11080 110CF KAITHI
-110D0 110FF SORA SOMPENG
-11100 1114F CHAKMA
-11150 1117F MAHAJANI
-11180 111DF SHARADA
-111E0 111FF SINHALA ARCHAIC NUMBERS
-11200 1124F KHOJKI
-11280 112AF MULTANI
-112B0 112FF KHUDAWADI
-11300 1137F GRANTHA
-11400 1147F NEWA
-11480 114DF TIRHUTA
-11580 115FF SIDDHAM
-11600 1165F MODI
-11660 1167F MONGOLIAN SUPPLEMENT
-11680 116CF TAKRI
-11700 1173F AHOM
-11800 1184F DOGRA
-118A0 118FF WARANG CITI
-11900 1195F DIVES AKURU
-119A0 119FF NANDINAGARI
-*/
diff --git a/src/u8c/main.h.d/uniblk.c b/src/u8c/main.h.d/uniblk.c
deleted file mode 100644
index 332f8aa..0000000
--- a/src/u8c/main.h.d/uniblk.c
+++ /dev/null
@@ -1,517 +0,0 @@
-/*
- Copyright 2021 Gabriel Jensen
-
- This file is part of u8c.
-
- u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
-
- u8c 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 Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License along with u8c.
-
- If not, see <https://www.gnu.org/licenses/>.
-*/
-# include <stdbool.h>
-# include <u8c/main.h>
-# include <u8c/str.h>
-# include <uchar.h>
-# define u8c_uniblk_isinrng(val,start,end) (val >= start && val <= end)
-struct u8c_uniblk_tuple u8c_uniblk(char32_t const _chr) {
- struct u8c_uniblk_tuple ret = {
- .stat = false,
- };
- char32_t const * blk = U"UNDEFINED IN UNICODE";
- if(_chr <= U'\x7F') {
- blk = U"BASIC LATIN";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\x80',U'\u00FF')) {
- blk = U"LATIN-1 SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0100',U'\u017F')) {
- blk = U"LATIN EXTENDED-A";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0180',U'\u024F')) {
- blk = U"LATIN EXTENDED-B";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0250',U'\u02AF')) {
- blk = U"IPA EXTENSIONS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u02B0',U'\u02FF')) {
- blk = U"SPACING MODIFIER LETTERS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0300',U'\u036F')) {
- blk = U"COMBINING DIRACITICAL MARKS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0370',U'\u03FF')) {
- blk = U"GREEK AND COPTIC";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0400',U'\u04FF')) {
- blk = U"CYRILLIC";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0500',U'\u052F')) {
- blk = U"CYRILLIC SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0530',U'\u058F')) {
- blk = U"ARMENIAN";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0590',U'\u05FF')) {
- blk = U"HEBREW";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0600',U'\u06FF')) {
- blk = U"ARABIC";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0700',U'\u074F')) {
- blk = U"SYRIAC";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0750',U'\u077F')) {
- blk = U"ARABIC SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0780',U'\u07BF')) {
- blk = U"THAANA";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u07C0',U'\u07FF')) {
- blk = U"NKO";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0800',U'\u083F')) {
- blk = U"SAMARITAN";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0840',U'\u085F')) {
- blk = U"MANDAIC";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0860',U'\u086F')) {
- blk = U"SYRIAC SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u08A0',U'\u08FF')) {
- blk = U"ARABIC EXTENDED-A";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0900',U'\u097F')) {
- blk = U"DEVANAGARI";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0980',U'\u09FF')) {
- blk = U"BENGALI";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0A00',U'\u0A7F')) {
- blk = U"GURMUKHI";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0A80',U'\u0AFF')) {
- blk = U"GUJARATI";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0B00',U'\u0B7F')) {
- blk = U"ORIYAS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0B80',U'\u0BFF')) {
- blk = U"TAMIL";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0C00',U'\u0C7F')) {
- blk = U"TELUGU";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0C80',U'\u0CFF')) {
- blk = U"KANNADA";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0D00',U'\u0D7F')) {
- blk = U"MALAYALAM";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0D80',U'\u0DFF')) {
- blk = U"SINHALA";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0E00',U'\u0E7F')) {
- blk = U"THAI";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0E80',U'\u0EFF')) {
- blk = U"LAO";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u0F00',U'\u0FFF')) {
- blk = U"TIBETAN";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u1000',U'\u109F')) {
- blk = U"MYANMAR";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u10A0',U'\u10FF')) {
- blk = U"GEORGIAN";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u1100',U'\u11FF')) {
- blk = U"HANGUL JAMO";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u1200',U'\u137F')) {
- blk = U"ETHIOPIC";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u1380',U'\u139F')) {
- blk = U"ETHIOPIC SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u13A0',U'\u13FF')) {
- blk = U"CHEROKEE";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u1400',U'\u167F')) {
- blk = U"UNIFIED CANADIAN ABORIGINAL SYLLABICS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u1680',U'\u169F')) {
- blk = U"OGHAM";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u16A0',U'\u16FF')) {
- blk = U"RUNIC";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\u1700',U'\u171F')) {
- blk = U"TAGALOG";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00011A00',U'\U00011A4F')) {
- blk = U"ZANABAZAR SQUARE";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00011A50',U'\U00011AAF')) {
- blk = U"SOYOMBO";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00011AC0',U'\U00011AFF')) {
- blk = U"PAU CIN HAU";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00011C00',U'\U00011C6F')) {
- blk = U"BHAIKSUKI";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00011C70',U'\U00011CBF')) {
- blk = U"MARCHEN";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00011D00',U'\U00011D5F')) {
- blk = U"MASARAM GONDI";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00011D60',U'\U00011DAF')) {
- blk = U"GUNJALA GONDI";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00011EE0',U'\U00011EFF')) {
- blk = U"MAKASAR";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00011FB0',U'\U00011FBF')) {
- blk = U"LISU SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00011FC0',U'\U00011FFF')) {
- blk = U"TAMIL SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00012000',U'\U000123FF')) {
- blk = U"CUNEIFORM";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00012400',U'\U0001247F')) {
- blk = U"CUNEIFORM NUMBERS AND PUNCTUATION";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00012480',U'\U0001254F')) {
- blk = U"EARLY DYNASTIC CUNEIFORM";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00013000',U'\U0001342F')) {
- blk = U"EGYPTIAN HIEROGLYPHS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00013430',U'\U0001343F')) {
- blk = U"EGYPTIAN HIEROGLYPH FORMAT CONTROLS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00014400',U'\U0001467F')) {
- blk = U"ANATOLIAN HIEROGLYPHS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00016800',U'\U00016A3F')) {
- blk = U"BAMUM SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00016A40',U'\U00016A6F')) {
- blk = U"MRO";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00016AD0',U'\U00016AFF')) {
- blk = U"BASSA VAH";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00016B00',U'\U00016B8F')) {
- blk = U"PAHAWH HMONG";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00016E40',U'\U00016E9F')) {
- blk = U"MEDEFAIDRIN";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00016F00',U'\U00016F9F')) {
- blk = U"MIAO";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00016FE0',U'\U00016FFF')) {
- blk = U"IDEOGRAPHIC SYMBOLS AND PUNCTUATION";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00017000',U'\U000187FF')) {
- blk = U"TANGUT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00018800',U'\U00018AFF')) {
- blk = U"TANGUT COMPONENTS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00018B00',U'\U00018CFF')) {
- blk = U"KHITAN SMALL SCRIPT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00018D00',U'\U00018D8F')) {
- blk = U"TANGUT SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001B000',U'\U0001B0FF')) {
- blk = U"KANA SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001B100',U'\U0001B12F')) {
- blk = U"KANA EXTENDED-A";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001B130',U'\U0001B16F')) {
- blk = U"SMALL KANA EXTENSION";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001B170',U'\U0001B2FF')) {
- blk = U"NUSHU";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001BC00',U'\U0001BC9F')) {
- blk = U"DUPLOYAN";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001BCA0',U'\U0001BCAF')) {
- blk = U"SHORTHAND FORMAT CONTROLS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001D000',U'\U0001D0FF')) {
- blk = U"BYZANTINE MUSICAL SYMBOLS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001D100',U'\U0001D1FF')) {
- blk = U"MUSICAL SYMBOLS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001D200',U'\U0001D24F')) {
- blk = U"ANCIENT GREEK MUSICAL NOTATION";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001D2E0',U'\U0001D2FF')) {
- blk = U"MAYAN NUMERALS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001D300',U'\U0001D35F')) {
- blk = U"TAI XUAN JING SYMBOLS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001D360',U'\U0001D37F')) {
- blk = U"COUNTING ROD NUMERALS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001D400',U'\U0001D7FF')) {
- blk = U"MATHEMATICAL ALPHANUMERIC SYMBOLS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001D800',U'\U0001DAAF')) {
- blk = U"SUTTON SIGNWRITING";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001E000',U'\U0001E02F')) {
- blk = U"GLAGOLITIC SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001E100',U'\U0001E14F')) {
- blk = U"NYIAKENG PUACHUE HMONG";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001E2C0',U'\U0001E2FF')) {
- blk = U"WANCHO";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001E800',U'\U0001E8DF')) {
- blk = U"MENDE KIKAKUI";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001E900',U'\U0001E95F')) {
- blk = U"ADLAM";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001EC70',U'\U0001ECBF')) {
- blk = U"INDIC SIYAQ NUMBERS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001ED00',U'\U0001ED4F')) {
- blk = U"OTTOMAN SIYAQ NUMBERS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001EE00',U'\U0001EEFF')) {
- blk = U"ARABIC MATHEMATICAL ALPHABETIC SYMBOLS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F000',U'\U0001F02F')) {
- blk = U"MAHJONG TILES";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F030',U'\U0001F09F')) {
- blk = U"DOMINO TILES";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F0A0',U'\U0001F0FF')) {
- blk = U"PLAYING CARDS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F100',U'\U0001F1FF')) {
- blk = U"ENCLOSED ALPHANUMERIC SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F200',U'\U0001F2FF')) {
- blk = U"ENCLOSED IDEOGRAPHIC SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F300',U'\U0001F5FF')) {
- blk = U"MISCELLANEOUS SYMBOLS AND PICTOGRAPHS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F600',U'\U0001F64F')) {
- blk = U"EMOTICONS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F650',U'\U0001F67F')) {
- blk = U"ORNAMENTAL DINGBATS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F680',U'\U0001F6FF')) {
- blk = U"TRANSPORT AND MAP SYMBOLS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F700',U'\U0001F77F')) {
- blk = U"ALCHEMICAL SYMBOLS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F780',U'\U0001F7FF')) {
- blk = U"GEOMETRIC SHAPES EXTENDED";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F800',U'\U0001F8FF')) {
- blk = U"SUPPLEMENTAL ARROWS-C";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001F900',U'\U0001F9FF')) {
- blk = U"SUPPLEMENTAL SYMBOLS AND PICTOGRAPHS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001FA00',U'\U0001FA6F')) {
- blk = U"CHESS SYMBOLS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001FA70',U'\U0001FAFF')) {
- blk = U"SYMBOLS AND PICTOGRAPHS EXTENDED-A";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0001FB00',U'\U0001FBFF')) {
- blk = U"SYMBOLS FOR LEGACY COMPUTING";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00020000',U'\U0002A6DF')) {
- blk = U"CJK UNIFIED IDEOGRAPHS EXTENSION B";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0002A700',U'\U0002B73F')) {
- blk = U"CJK UNIFIED IDEOGRAPHS EXTENSION C";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0002B740',U'\U0002B81F')) {
- blk = U"CJK UNIFIED IDEOGRAPHS EXTENSION D";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0002B820',U'\U0002CEAF')) {
- blk = U"CJK UNIFIED IDEOGRAPHS EXTENSION E";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0002CEB0',U'\U0002EBEF')) {
- blk = U"CJK UNIFIED IDEOGRAPHS EXTENSION F";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U0002F800',U'\U0002FA1F')) {
- blk = U"CJK COMPATIBILITY IDEOGRAPHS SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00030000',U'\U0003134F')) {
- blk = U"CJK UNIFIED IDEOGRAPHS EXTENSION G";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U000E0000',U'\U000E007F')) {
- blk = U"TAGS";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U000E0100',U'\U000E1EFF')) {
- blk = U"VARIATION SELECTORS SUPPLEMENT";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U000F0000',U'\U000FFFFF')) {
- blk = U"SUPPLEMENTARY PRIVATE USE AREA-A";
- goto end;
- }
- if(u8c_uniblk_isinrng(_chr,U'\U00100000',U'\U0010FFFF')) {
- blk = U"SUPPLEMENTARY PRIVATE USE AREA-B";
- goto end;
- }
- if(_chr > u8c_unimax) {
- ret.stat = true;
- return ret;
- }
-end:;
- {
- struct u8c_strcp_tuple const tuple = u8c_strcp(blk);
- ret.blk = tuple.str;
- ret.blksz = tuple.strsz;
- }
- return ret;
-}
diff --git a/src/u8c/main.h.d/uninm.c b/src/u8c/main.h.d/uninm.c
deleted file mode 100644
index d409263..0000000
--- a/src/u8c/main.h.d/uninm.c
+++ /dev/null
@@ -1,2582 +0,0 @@
-/*
- Copyright 2021 Gabriel Jensen
-
- This file is part of u8c.
-
- u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
-
- u8c 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 Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License along with u8c.
-
- If not, see <https://www.gnu.org/licenses/>.
-*/
-# include <stdbool.h>
-# include <u8c/err.h>
-# include <u8c/main.h>
-# include <u8c/str.h>
-# include <uchar.h>
-struct u8c_uninm_tuple u8c_uninm(char32_t const _chr) {
- struct u8c_uninm_tuple ret;
- if(_chr > u8c_unimax) {
- u8c_seterr(u8c_errtyp_stroor,U"u8c_uninm: Character out of range.");
- ret.stat = true;
- return ret;
- }
- char32_t const * nm = U"";
- switch(_chr) {
- default:
- nm = U"UNDEFINED IN UNICODE";
- break;
- /* BASIC LATIN: */
- case U'\x0':
- nm = U"NULL";
- break;
- case U'\x1':
- nm = U"START OF HEADING";
- break;
- case U'\x2':
- nm = U"START OF TEXT";
- break;
- case U'\x3':
- nm = U"END OF TEXT";
- break;
- case U'\x4':
- nm = U"END OF TRANSMISSION";
- break;
- case U'\x5':
- nm = U"ENQUIRY";
- break;
- case U'\x6':
- nm = U"ACKNOWLEDGE";
- break;
- case U'\a':
- nm = U"BELL";
- break;
- case U'\b':
- nm = U"BACKSPACE";
- break;
- case U'\t':
- nm = U"HORIZONTAL TABULATION";
- break;
- case U'\n':
- nm = U"NEW LINE";
- break;
- case U'\v':
- nm = U"VERTICAL TABULATION";
- break;
- case U'\f':
- nm = U"FORM FEED";
- break;
- case U'\r':
- nm = U"CARRIAGE RETURN";
- break;
- case U'\xE':
- nm = U"SHIFT OUT";
- break;
- case U'\xF':
- nm = U"SHIFT IN";
- break;
- case U'\x10':
- nm = U"DATA LINK ESCAPE";
- break;
- case U'\x11':
- nm = U"DEVICE CONTROL ONE";
- break;
- case U'\x12':
- nm = U"DEVICE CONTROL TWO";
- break;
- case U'\x13':
- nm = U"DEVICE CONTROL THREE";
- break;
- case U'\x14':
- nm = U"DEVICE CONTROL FOUR";
- break;
- case U'\x15':
- nm = U"NEGATIVE ACKNOWLEDGE";
- break;
- case U'\x16':
- nm = U"SYNCHRONOUS IDLE";
- break;
- case U'\x17':
- nm = U"END OF TRANSMISSION BLOCk";
- break;
- case U'\x18':
- nm = U"CANCEL";
- break;
- case U'\x19':
- nm = U"END OF MEDIUM";
- break;
- case U'\x1A':
- nm = U"SUBSTITUTE";
- break;
- case U'\x1B':
- nm = U"ESCAPE";
- break;
- case U'\x1C':
- nm = U"FILE SEPERATOR";
- break;
- case U'\x1D':
- nm = U"GROUP SEPERATOR";
- break;
- case U'\x1E':
- nm = U"RECORD SEPERATOR";
- break;
- case U'\x1F':
- nm = U"UNIT SEPERATOR";
- break;
- case U' ':
- nm = U"SPACE";
- break;
- case U'!':
- nm = U"EXCLAMATION MARK";
- break;
- case U'\"':
- nm = U"QUOTATION MARK";
- break;
- case U'#':
- nm = U"NUMBER SIGN";
- break;
- case U'\u0024':
- nm = U"DOLLAR SIGN";
- break;
- case U'%':
- nm = U"PERCENT SIGN";
- break;
- case U'&':
- nm = U"AMPERSAND";
- break;
- case U'\'':
- nm = U"APOSTROPHE";
- break;
- case U'(':
- nm = U"LEFT PARANTHESIS";
- break;
- case U')':
- nm = U"RIGHT PARANTHESIS";
- break;
- case U'*':
- nm = U"ASTERISK";
- break;
- case U'+':
- nm = U"PLUS SIGN";
- break;
- case U',':
- nm = U"COMMA";
- break;
- case U'-':
- nm = U"HYPHEN-MINUS";
- break;
- case U'.':
- nm = U"FULL STOP";
- break;
- case U'/':
- nm = U"SOLIDUS";
- break;
- case U'0':
- nm = U"DIGIT ZERO";
- break;
- case U'1':
- nm = U"DIGIT ONE";
- break;
- case U'2':
- nm = U"DIGIT TWO";
- break;
- case U'3':
- nm = U"DIGIT THREE";
- break;
- case U'4':
- nm = U"DIGIT FOUR";
- break;
- case U'5':
- nm = U"DIGIT FIVE";
- break;
- case U'6':
- nm = U"DIGIT SIX";
- break;
- case U'7':
- nm = U"DIGIT SEVEN";
- break;
- case U'8':
- nm = U"DIGIT EIGHT";
- break;
- case U'9':
- nm = U"DIGIT NINE";
- break;
- case U':':
- nm = U"COLON";
- break;
- case U';':
- nm = U"SEMICOLON";
- break;
- case U'<':
- nm = U"LESS-THAN SIGN";
- break;
- case U'=':
- nm = U"EQUALS SIGN";
- break;
- case U'>':
- nm = U"GREATER-THAN SIGN";
- break;
- case U'?':
- nm = U"QUESTION MARK";
- break;
- case U'\u0040':
- nm = U"COMMERCIAL AT";
- break;
- case U'A':
- nm = U"LATIN CAPITAL LETTER A";
- break;
- case U'B':
- nm = U"LATIN CAPITAL LETTER B";
- break;
- case U'C':
- nm = U"LATIN CAPITAL LETTER C";
- break;
- case U'D':
- nm = U"LATIN CAPITAL LETTER D";
- break;
- case U'E':
- nm = U"LATIN CAPITAL LETTER E";
- break;
- case U'F':
- nm = U"LATIN CAPITAL LETTER F";
- break;
- case U'G':
- nm = U"LATIN CAPITAL LETTER G";
- break;
- case U'H':
- nm = U"LATIN CAPITAL LETTER H";
- break;
- case U'I':
- nm = U"LATIN CAPITAL LETTER I";
- break;
- case U'J':
- nm = U"LATIN CAPITAL LETTER J";
- break;
- case U'K':
- nm = U"LATIN CAPITAL LETTER K";
- break;
- case U'L':
- nm = U"LATIN CAPITAL LETTER L";
- break;
- case U'M':
- nm = U"LATIN CAPITAL LETTER M";
- break;
- case U'N':
- nm = U"LATIN CAPITAL LETTER N";
- break;
- case U'O':
- nm = U"LATIN CAPITAL LETTER O";
- break;
- case U'P':
- nm = U"LATIN CAPITAL LETTER P";
- break;
- case U'Q':
- nm = U"LATIN CAPITAL LETTER Q";
- break;
- case U'R':
- nm = U"LATIN CAPITAL LETTER R";
- break;
- case U'S':
- nm = U"LATIN CAPITAL LETTER S";
- break;
- case U'T':
- nm = U"LATIN CAPITAL LETTER T";
- break;
- case U'U':
- nm = U"LATIN CAPITAL LETTER U";
- break;
- case U'V':
- nm = U"LATIN CAPITAL LETTER V";
- break;
- case U'W':
- nm = U"LATIN CAPITAL LETTER W";
- break;
- case U'X':
- nm = U"LATIN CAPITAL LETTER X";
- break;
- case U'Y':
- nm = U"LATIN CAPITAL LETTER Y";
- break;
- case U'Z':
- nm = U"LATIN CAPITAL LETTER Z";
- break;
- case U'[':
- nm = U"LEFT SQUARE BRACKET";
- break;
- case U'\\':
- nm = U"REVERSE SOLIDUS";
- break;
- case U']':
- nm = U"RIGHT SQUARE BRACKET";
- break;
- case U'^':
- nm = U"CIRCUMFLEX ACCENT";
- break;
- case U'_':
- nm = U"LOW LINE";
- break;
- case U'\u0060':
- nm = U"GRAVE ACCENT";
- break;
- case U'a':
- nm = U"LATIN SMALL LETTER A";
- break;
- case U'b':
- nm = U"LATIN SMALL LETTER B";
- break;
- case U'c':
- nm = U"LATIN SMALL LETTER C";
- break;
- case U'd':
- nm = U"LATIN SMALL LETTER D";
- break;
- case U'e':
- nm = U"LATIN SMALL LETTER E";
- break;
- case U'f':
- nm = U"LATIN SMALL LETTER F";
- break;
- case U'g':
- nm = U"LATIN SMALL LETTER G";
- break;
- case U'h':
- nm = U"LATIN SMALL LETTER H";
- break;
- case U'i':
- nm = U"LATIN SMALL LETTER I";
- break;
- case U'j':
- nm = U"LATIN SMALL LETTER J";
- break;
- case U'k':
- nm = U"LATIN SMALL LETTER K";
- break;
- case U'l':
- nm = U"LATIN SMALL LETTER L";
- break;
- case U'm':
- nm = U"LATIN SMALL LETTER M";
- break;
- case U'n':
- nm = U"LATIN SMALL LETTER N";
- break;
- case U'o':
- nm = U"LATIN SMALL LETTER O";
- break;
- case U'p':
- nm = U"LATIN SMALL LETTER P";
- break;
- case U'q':
- nm = U"LATIN SMALL LETTER Q";
- break;
- case U'r':
- nm = U"LATIN SMALL LETTER R";
- break;
- case U's':
- nm = U"LATIN SMALL LETTER S";
- break;
- case U't':
- nm = U"LATIN SMALL LETTER T";
- break;
- case U'u':
- nm = U"LATIN SMALL LETTER U";
- break;
- case U'v':
- nm = U"LATIN SMALL LETTER V";
- break;
- case U'w':
- nm = U"LATIN SMALL LETTER W";
- break;
- case U'x':
- nm = U"LATIN SMALL LETTER X";
- break;
- case U'y':
- nm = U"LATIN SMALL LETTER Y";
- break;
- case U'z':
- nm = U"LATIN SMALL LETTER Z";
- break;
- case U'{':
- nm = U"LEFT CURLY BRACKET";
- break;
- case U'|':
- nm = U"VERTICAL LINE";
- break;
- case U'}':
- nm = U"RIGHT CURLY BRACKET";
- break;
- case U'~':
- nm = U"TILDE";
- break;
- case U'\x7F':
- nm = U"DELETE";
- break;
- /* LATIN-1 SUPPLEMENT: */
- case U'\x80':
- nm = U"<CONTROL>";
- break;
- case U'\x81':
- nm = U"<CONTROL>";
- break;
- case U'\x82':
- nm = U"BREAK PERMITTED HERE";
- break;
- case U'\x83':
- nm = U"NO BREAK HERE";
- break;
- case U'\x84':
- nm = U"<CONTROL>";
- break;
- case U'\x85':
- nm = U"NEXT LINE";
- break;
- case U'\x86':
- nm = U"START OF SELECTED AREA";
- break;
- case U'\x87':
- nm = U"END OF SELECTED AREA";
- break;
- case U'\x88':
- nm = U"CHARACTER TABULATION SET";
- break;
- case U'\x89':
- nm = U"CHARACTER TABULATION WITH JUSTIFICATION";
- break;
- case U'\x8A':
- nm = U"LINE TABULATION SET";
- break;
- case U'\x8B':
- nm = U"PARTIAL LINE FORWARD";
- break;
- case U'\x8C':
- nm = U"PARTIAL LINE BACKWARD";
- break;
- case U'\x8D':
- nm = U"REVERSE LINE FEED";
- break;
- case U'\x8E':
- nm = U"SINGLE SHIFT TWO";
- break;
- case U'\x8F':
- nm = U"SINGLE SHIFT THREE";
- break;
- case U'\x90':
- nm = U"DEVICE CONTROL STRING";
- break;
- case U'\x91':
- nm = U"PRIVATE USE ONE";
- break;
- case U'\x92':
- nm = U"PRIVATE USE TWO";
- break;
- case U'\x93':
- nm = U"SET TRANSMIT STATE";
- break;
- case U'\x94':
- nm = U"CANCEL CHARACTER";
- break;
- case U'\x95':
- nm = U"MESSAGE WAITING";
- break;
- case U'\x96':
- nm = U"START OF GUARDED AREA";
- break;
- case U'\x97':
- nm = U"END OF GUARDED AREA";
- break;
- case U'\x98':
- nm = U"START OF STRING";
- break;
- case U'\x99':
- nm = U"<CONTROL>";
- break;
- case U'\x9A':
- nm = U"SINGLE CHARACTER INTRODUCER";
- break;
- case U'\x9B':
- nm = U"CONTROL SEQUENCE INTRODUCER";
- break;
- case U'\x9C':
- nm = U"STRING TERMINATOR";
- break;
- case U'\x9D':
- nm = U"OPERATING SYSTEM COMMAND";
- break;
- case U'\x9E':
- nm = U"PRIVACY MESSAGE";
- break;
- case U'\x9F':
- nm = U"APPLICATION PROGRAM COMMAND";
- break;
- case U'\xA0':
- nm = U"NO-BREAK SPACE";
- break;
- case U'\u00A1':
- nm = U"INVERTED EXCLAMATION MARK";
- break;
- case U'\u00A2':
- nm = U"CENT SIGN";
- break;
- case U'\u00A3':
- nm = U"POUND SIGN";
- break;
- case U'\u00A4':
- nm = U"CURRENCY SIGN";
- break;
- case U'\u00A5':
- nm = U"YEN SIGN";
- break;
- case U'\u00A6':
- nm = U"BROKEN BAR";
- break;
- case U'\u00A7':
- nm = U"SECTION SIGN";
- break;
- case U'\u00A8':
- nm = U"DIAERESIS";
- break;
- case U'\u00A9':
- nm = U"COPYRIGHT SIGN";
- break;
- case U'\u00AA':
- nm = U"FEMININE ORDINAL INDICATOR";
- break;
- case U'\u00AB':
- nm = U"LEFT-POINTING DOUBLE ANGLE QUOTATION MARK";
- break;
- case U'\u00AC':
- nm = U"NOT SIGN";
- break;
- case U'\u00AD':
- nm = U"SOFT HYPHEN";
- break;
- case U'\u00AE':
- nm = U"REGISTERED SIGN";
- break;
- case U'\u00AF':
- nm = U"MACRON";
- break;
- case U'\u00B0':
- nm = U"DEGREE SIGN";
- break;
- case U'\u00B1':
- nm = U"PLUS MINUS SYMBOL";
- break;
- case U'\u00B2':
- nm = U"SUPERSCRIPT TWO";
- break;
- case U'\u00B3':
- nm = U"SUPERSCRIPT THREE";
- break;
- case U'\u00B4':
- nm = U"ACUTE ACCENT";
- break;
- case U'\u00B5':
- nm = U"MICRO SIGN";
- break;
- case U'\u00B6':
- nm = U"PILCROW SIGN";
- break;
- case U'\u00B7':
- nm = U"MIDDLE DOT";
- break;
- case U'\u00B8':
- nm = U"CEDILLA";
- break;
- case U'\u00B9':
- nm = U"SUPERSCRIPT ONE";
- break;
- case U'\u00BA':
- nm = U"MASCULINE ORDINAL INDICATOR";
- break;
- case U'\u00BB':
- nm = U"RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK";
- break;
- case U'\u00BC':
- nm = U"VULGAR FRACTION ONE QUARTER";
- break;
- case U'\u00BD':
- nm = U"VULGAR FRACTION ONE HALF";
- break;
- case U'\u00BE':
- nm = U"VULGAR FRACTION THREE QUARTERS";
- break;
- case U'\u00BF':
- nm = U"INVERTED QUESTION MARK";
- break;
- case U'\u00C0':
- nm = U"LATIN CAPITAL LETTER A WITH GRAVE";
- break;
- case U'\u00C1':
- nm = U"LATIN CAPITAL LETTER A WITH ACUTE";
- break;
- case U'\u00C2':
- nm = U"LATIN CAPITAL LETTER A WITH CIRCUMFLEX";
- break;
- case U'\u00C3':
- nm = U"LATIN CAPITAL LETTER A WITH TILDE";
- break;
- case U'\u00C4':
- nm = U"LATIN CAPITAL LETTER A WITH DIAERESIS";
- break;
- case U'\u00C5':
- nm = U"LATIN CAPITAL LETTER A WITH RING ABOVE";
- break;
- case U'\u00C6':
- nm = U"LATIN CAPITAL LETTER AE";
- break;
- case U'\u00C7':
- nm = U"LATIN CAPITAL LETTER C WITH CEDILLA";
- break;
- case U'\u00C8':
- nm = U"LATIN CAPITAL LETTER E WITH GRAVE";
- break;
- case U'\u00C9':
- nm = U"LATIN CAPITAL LETTER E WITH ACUTE";
- break;
- case U'\u00CA':
- nm = U"LATIN CAPITAL LETTER E WITH CIRCUMFLEX";
- break;
- case U'\u00CB':
- nm = U"LATIN CAPITAL LETTER E WITH DIAERESIS";
- break;
- case U'\u00CC':
- nm = U"LATIN CAPITAL LETTER I WITH GRAVE";
- break;
- case U'\u00CD':
- nm = U"LATIN CAPITAL LETTER I WITH ACUTE";
- break;
- case U'\u00CE':
- nm = U"LATIN CAPITAL LETTER I WITH CIRCUMFLEX";
- break;
- case U'\u00CF':
- nm = U"LATIN CAPITAL LETTER I WITH DIAERESIS";
- break;
- case U'\u00D0':
- nm = U"LATIN CAPITAL LETTER ETH";
- break;
- case U'\u00D1':
- nm = U"LATIN CAPITAL LETTER N WITH TILDE";
- break;
- case U'\u00D2':
- nm = U"LATIN CAPITAL LETTER O WITH GRAVE";
- break;
- case U'\u00D3':
- nm = U"LATIN CAPITAL LETTER O WITH ACUTE";
- break;
- case U'\u00D4':
- nm = U"LATIN CAPITAL LETTER O WITH CIRCUMFLEX";
- break;
- case U'\u00D5':
- nm = U"LATIN CAPITAL LETTER O WITH TILDE";
- break;
- case U'\u00D6':
- nm = U"LATIN CAPITAL LETTER O WITH DIAERESIS";
- break;
- case U'\u00D7':
- nm = U"MULTIPLICATION SIGN";
- break;
- case U'\u00D8':
- nm = U"LATIN CAPITAL LETTER O WITH STROKE";
- break;
- case U'\u00D9':
- nm = U"LATIN CAPITAL LETTER U WITH GRAVE";
- break;
- case U'\u00DA':
- nm = U"LATIN CAPITAL LETTER U WITH ACUTE";
- break;
- case U'\u00DB':
- nm = U"LATIN CAPITAL LETTER U WITH CIRCUMFLEX";
- break;
- case U'\u00DC':
- nm = U"LATIN CAPITAL LETTER U WITH DIAERESIS";
- break;
- case U'\u00DD':
- nm = U"LATIN CAPITAL LETTER Y WITH ACUTE";
- break;
- case U'\u00DE':
- nm = U"LATIN CAPITAL LETTER THORN";
- break;
- case U'\u00DF':
- nm = U"LATIN SMALL LETTER SHARP S";
- break;
- case U'\u00E0':
- nm = U"LATIN SMALL LETTER A WITH GRAVE";
- break;
- case U'\u00E1':
- nm = U"LATIN SMALL LETTER A WITH ACUTE";
- break;
- case U'\u00E2':
- nm = U"LATIN SMALL LETTER A WITH CIRCUMFLEX";
- break;
- case U'\u00E3':
- nm = U"LATIN SMALL LETTER A WITH TILDE";
- break;
- case U'\u00E4':
- nm = U"LATIN SMALL LETTER A WITH DIAERESIS";
- break;
- case U'\u00E5':
- nm = U"LATIN SMALL LETTER A WITH RING ABOVE";
- break;
- case U'\u00E6':
- nm = U"LATIN SMALL LETTER AE";
- break;
- case U'\u00E7':
- nm = U"LATIN SMALL LETTER C WITH CEDILLA";
- break;
- case U'\u00E8':
- nm = U"LATIN SMALL LETTER E WITH GRAVE";
- break;
- case U'\u00E9':
- nm = U"LATIN SMALL LETTER E WITH ACUTE";
- break;
- case U'\u00EA':
- nm = U"LATIN SMALL LETTER E WITH CIRCUMFLEX";
- break;
- case U'\u00EB':
- nm = U"LATIN SMALL LETTER E WITH DIAERESIS";
- break;
- case U'\u00EC':
- nm = U"LATIN SMALL LETTER I WITH GRAVE";
- break;
- case U'\u00ED':
- nm = U"LATIN SMALL LETTER I WITH ACUTE";
- break;
- case U'\u00EE':
- nm = U"LATIN SMALL LETTER I WITH CIRCUMFLEX";
- break;
- case U'\u00EF':
- nm = U"LATIN SMALL LETTER I WITH DIAERESIS";
- break;
- case U'\u00F0':
- nm = U"LATIN SMALL LETTER ETH";
- break;
- case U'\u00F1':
- nm = U"LATIN SMALL LETTER N WITH TILDE";
- break;
- case U'\u00F2':
- nm = U"LATIN SMALL LETTER O WITH GRAVE";
- break;
- case U'\u00F3':
- nm = U"LATIN SMALL LETTER O WITH ACUTE";
- break;
- case U'\u00F4':
- nm = U"LATIN SMALL LETTER O WITH CIRCUMFLEX";
- break;
- case U'\u00F5':
- nm = U"LATIN SMALL LETTER O WITH TILDE";
- break;
- case U'\u00F6':
- nm = U"LATIN SMALL LETTER O WITH DIAERESIS";
- break;
- case U'\u00F7':
- nm = U"DIVISION SIGN";
- break;
- case U'\u00F8':
- nm = U"LATIN SMALL LETTER O WITH STROKE";
- break;
- case U'\u00F9':
- nm = U"LATIN SMALL LETTER U WITH GRAVE";
- break;
- case U'\u00FA':
- nm = U"LATIN SMALL LETTER U WITH ACUTE";
- break;
- case U'\u00FB':
- nm = U"LATIN SMALL LETTER U WITH CIRCUMFLEX";
- break;
- case U'\u00FC':
- nm = U"U WITH TWO DOTS";
- break;
- case U'\u00FD':
- nm = U"LATIN SMALL LETTER Y WITH ACUTE";
- break;
- case U'\u00FE':
- nm = U"LATIN SMALL LETTER THORN";
- break;
- case U'\u00FF':
- nm = U"LATIN SMALL LETTER Y WITH DIAERESIS";
- break;
- /* LATIN EXTENDED-A: */
- case U'\u0100':
- nm = U"LATIN CAPITAL LETTER A WITH MACRON";
- break;
- case U'\u0101':
- nm = U"LATIN SMALL LETTER A WITH MACRON";
- break;
- case U'\u0102':
- nm = U"LATIN CAPITAL LETTER A WITH BREVE";
- break;
- case U'\u0103':
- nm = U"LATIN SMALL LETTER A WITH BREVE";
- break;
- case U'\u0104':
- nm = U"LATIN CAPITAL LETTER A WITH OGONEK";
- break;
- case U'\u0105':
- nm = U"LATIN SMALL LETTER A WITH OGONEK";
- break;
- case U'\u0106':
- nm = U"LATIN CAPITAL LETTER C WITH ACUTE";
- break;
- case U'\u0107':
- nm = U"LATIN SMALL LETTER C WITH ACUTE";
- break;
- case U'\u0108':
- nm = U"LATIN CAPITAL LETTER C WITH CIRCUMFLEX";
- break;
- case U'\u0109':
- nm = U"LATIN SMALL LETTER C WITH CIRCUMFLEX";
- break;
- case U'\u010A':
- nm = U"LATIN CAPITAL LETTER C WITH DOT ABOVE";
- break;
- case U'\u010B':
- nm = U"LATIN SMALL LETTER C WITH DOT ABOVE";
- break;
- case U'\u010C':
- nm = U"LATIN CAPITAL LETTER C WITH CARON";
- break;
- case U'\u010D':
- nm = U"LATIN SMALL LETTER C WITH CARON";
- break;
- case U'\u010E':
- nm = U"LATIN CAPITAL LETTER D WITH CARON";
- break;
- case U'\u010F':
- nm = U"LATIN SMALL LETTER D WITH CARON";
- break;
- case U'\u0110':
- nm = U"LATIN CAPITAL LETTER D WITH STROKE";
- break;
- case U'\u0120':
- nm = U"LATIN CAPITAL LETTER G WITH DOT ABOVE";
- break;
- case U'\u0130':
- nm = U"LATIN CAPITAL LETTER I WITH DOT ABOVE";
- break;
- case U'\u0140':
- nm = U"LATIN SMALL LETTER L WITH MIDDLE DOT";
- break;
- case U'\u0150':
- nm = U"LATIN CAPITAL LETTER O WITH DOUBLE ACUTE";
- break;
- case U'\u0160':
- nm = U"LATIN CAPITAL LETTER S WITH CARON";
- break;
- case U'\u0170':
- nm = U"LATIN CAPITAL LETTER U WITH DOUBLE ACUTE";
- break;
- /* LATIN EXTENDED-B: */
- case U'\u0180':
- nm = U"LATIN SMALL LETTER B WITH STROKE";
- break;
- case U'\u0190':
- nm = U"LATIN CAPITAL LETTER OPEN E";
- break;
- case U'\u01A0':
- nm = U"LATIN CAPITAL LETTER O WITH HORN";
- break;
- case U'\u01B0':
- nm = U"LATIN SMALL LETTER U WITH HORN";
- break;
- case U'\u01C0':
- nm = U"LATIN LETTER DENTAL CLICK";
- break;
- case U'\u01D0':
- nm = U"LATIN SMALL LETTER I WITH CARON";
- break;
- case U'\u01E0':
- nm = U"LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON";
- break;
- case U'\u01F0':
- nm = U"LATIN SMALL LETTER J WITH CARON";
- break;
- case U'\u0200':
- nm = U"LATIN CAPITAL LETTER A WITH DOUBLE GRAVE";
- break;
- case U'\u0210':
- nm = U"LATIN CAPITAL LETTER R WITH DOUBLE GRAVE";
- break;
- case U'\u0220':
- nm = U"LATIN CAPITAL LETTER N WITH LONG RIGHT LEG";
- break;
- case U'\u0230':
- nm = U"LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON";
- break;
- case U'\u0240':
- nm = U"LATIN SMALL LETTER Z WITH SWASH TAIL";
- break;
- /* IPA EXTENSIONS: */
- case U'\u0250':
- nm = U"LATIN SMALL LETTER TURNED A";
- break;
- case U'\u0251':
- nm = U"LATIN SMALL LETTER ALPHA";
- break;
- case U'\u0252':
- nm = U"LATIN SMALL LETTER TURNED ALPHA";
- break;
- case U'\u0253':
- nm = U"LATIN SMALL LETTER B WITH HOOK";
- break;
- case U'\u0254':
- nm = U"LATIN SMALL LETTER OPEN O";
- break;
- case U'\u0255':
- nm = U"LATIN SMALL LETTER C WITH CURL";
- break;
- case U'\u0256':
- nm = U"LATIN SMALL LETTER D WITH TAIL";
- break;
- case U'\u0257':
- nm = U"LATIN SMALL LETTER D WITH HOOK";
- break;
- case U'\u0258':
- nm = U"LATIN SMALL LETTER REVERSED E";
- break;
- case U'\u0259':
- nm = U"LATIN SMALL LETTER SCHWA";
- break;
- case U'\u025A':
- nm = U"LATIN SMALL LETTER SCHWA WITH HOOK";
- break;
- case U'\u025B':
- nm = U"LATIN SMALL LETTER OPEN E";
- break;
- case U'\u025C':
- nm = U"LATIN SMALL LETTER REVERSED OPEN E";
- break;
- case U'\u025D':
- nm = U"LATIN SMALL LETTER REVERSED OPEN E WITH HOOK";
- break;
- case U'\u025E':
- nm = U"LATIN SMALL LETTER CLOSED REVERSED OPEN E";
- break;
- case U'\u025F':
- nm = U"LATIN SMALL LETTER DOTLESS J WITH STROKE";
- break;
- case U'\u0260':
- nm = U"LATIN SMALL LETTER G WITH HOOK";
- break;
- case U'\u0261':
- nm = U"LATIN SMALL LETTER SCRIPT G";
- break;
- case U'\u0262':
- nm = U"LATIN LETTER SMALL CAPITAL G";
- break;
- case U'\u0263':
- nm = U"LATIN SMALL LETTER GAMMA";
- break;
- case U'\u0264':
- nm = U"LATIN SMALL LETTER RAMS HORN";
- break;
- case U'\u0265':
- nm = U"LATIN SMALL LETTER TURNED H";
- break;
- case U'\u0266':
- nm = U"LATIN SMALL LETTER H WITH HOOK";
- break;
- case U'\u0267':
- nm = U"LATIN SMALL LETTER HENG WITH HOOK";
- break;
- case U'\u0268':
- nm = U"LATIN SMALL LETTER I WITH STROKE";
- break;
- case U'\u0269':
- nm = U"LATIN SMALL LETTER IOTA";
- break;
- case U'\u026A':
- nm = U"LATIN LETTER SMALL CAPITAL I";
- break;
- case U'\u026B':
- nm = U"LATIN SMALL LETTER L WITH MIDDLE TILDE";
- break;
- case U'\u026C':
- nm = U"LATIN SMALL LETTER L WITH BELT";
- break;
- case U'\u026D':
- nm = U"LATIN SMALL LETTER L WITH RETROFLEX HOOK";
- break;
- case U'\u026E':
- nm = U"LATIN SMALL LETTER LEZH";
- break;
- case U'\u026F':
- nm = U"LATIN SMALL LETTER TURNED M";
- break;
- case U'\u0270':
- nm = U"LATIN SMALL LETTER TURNED M WITH LONG LEG";
- break;
- case U'\u0271':
- nm = U"LATIN SMALL LETTER M WITH HOOK";
- break;
- case U'\u0272':
- nm = U"LATIN SMALL LETTER N WITH LEFT HOOK";
- break;
- case U'\u0273':
- nm = U"LATIN SMALL LETTER N WITH RETROFLEX HOOK";
- break;
- case U'\u0274':
- nm = U"LATIN LETTER SMALL CAPITAL N";
- break;
- case U'\u0275':
- nm = U"LATIN SMALL LETTER BARRED O";
- break;
- case U'\u0276':
- nm = U"LATIN LETTER SMALL CAPITAL OE";
- break;
- case U'\u0277':
- nm = U"LATIN SMALL LETTER CLOSED OMEGA";
- break;
- case U'\u0278':
- nm = U"LATIN SMALL LETTER PHI";
- break;
- case U'\u0279':
- nm = U"LATIN SMALL LETTER TURNED R";
- break;
- case U'\u027A':
- nm = U"LATIN SMALL LETTER TURNED R WITH LONG LEG";
- break;
- case U'\u027B':
- nm = U"LATIN SMALL LETTER TURNED R WITH HOOK";
- break;
- case U'\u027C':
- nm = U"LATIN SMALL LETTER R WITH LONG LEG";
- break;
- case U'\u027D':
- nm = U"LATIN SMALL LETTER R WITH TAIL";
- break;
- case U'\u027E':
- nm = U"LATIN SMALL LETTER R WITH FISHHOOK";
- break;
- case U'\u027F':
- nm = U"LATIN SMALL LETTER REVERSED R WITH FISHHOOK";
- break;
- case U'\u0280':
- nm = U"LATIN LETTER SMALL CAPITAL R";
- break;
- /* GREEK AND COPTIC: */
- case U'\u0370':
- nm = U"GREEK CAPITAL LETTER HETA";
- break;
- case U'\u0371':
- nm = U"GREEK SMALL LETTER HETA";
- break;
- case U'\u0372':
- nm = U"GREEK CAPITAL LETTER ARCHAIC SAMPI";
- break;
- case U'\u0373':
- nm = U"GREEK SMALL LETTER ARCHAIC SAMPI";
- break;
- case U'\u0374':
- nm = U"GREEK NUMERAL SIGN";
- break;
- case U'\u0375':
- nm = U"GREEK LOWER NUMERAL SIGN";
- break;
- case U'\u0376':
- nm = U"GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA";
- break;
- case U'\u0377':
- nm = U"GREEK SMALL LETTER PAMPHYLIAN DIGAMMA";
- break;
- case U'\u037A':
- nm = U"GREEK YPOGEGRAMMENI";
- break;
- case U'\u037B':
- nm = U"GREEK SMALL REVERSED LUNATE SIGMA SYMBOL";
- break;
- case U'\u037C':
- nm = U"GREEK SMALL DOTTED LUNATE SIGMA SYMBOL";
- break;
- case U'\u037D':
- nm = U"GREEK SMALL REVERSED DOTTED LUNATE SIGMAL SYMBOL";
- break;
- case U'\u037E':
- nm = U"GREEK QUESTION MARK";
- break;
- case U'\u037F':
- nm = U"GREEK CAPITAL LETTER YOT";
- break;
- case U'\u0384':
- nm = U"GREEK TONOS";
- break;
- case U'\u0385':
- nm = U"GREEK DIALYTIKA TONOS";
- break;
- case U'\u0386':
- nm = U"GREEK CAPITAL LETTER ALPHA WITH TONOS";
- break;
- case U'\u0387':
- nm = U"GREEK ANO TELEIA";
- break;
- case U'\u0388':
- nm = U"GREEK CAPITAL LETTER EPSILON WITH TONOS";
- break;
- case U'\u0389':
- nm = U"GREEK CAPITAL LETTER ETA WITH TONOS";
- break;
- case U'\u038A':
- nm = U"GREEK CAPITAL LETTER IOTA WITH TONOS";
- break;
- case U'\u038C':
- nm = U"GREEK CAPITAL LETTER OMICRON WITH TONOS";
- break;
- case U'\u038E':
- nm = U"GREEK CAPITAL LETTER USPILON WITH TONOS";
- break;
- case U'\u038F':
- nm = U"GREEK CAPITAL LETTER OMEGA WITH TONOS";
- break;
- case U'\u0390':
- nm = U"GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS";
- break;
- case U'\u0391':
- nm = U"GREEK CAPITAL LETTER ALPHA";
- break;
- case U'\u0392':
- nm = U"GREEK CAPITAL LETTER BETA";
- break;
- case U'\u0393':
- nm = U"GREEK CAPITAL LETTER GAMMA";
- break;
- case U'\u0394':
- nm = U"GREEK CAPITAL LETTER DELTA";
- break;
- case U'\u0395':
- nm = U"GREEK CAPITAL LETTER EPSILON";
- break;
- case U'\u0396':
- nm = U"GREEK CAPITAL LETTER ZETA";
- break;
- case U'\u0397':
- nm = U"GREEK CAPITAL LETTER ETA";
- break;
- case U'\u0398':
- nm = U"GREEK CAPITAL LETTER THETA";
- break;
- case U'\u0399':
- nm = U"GREEK CAPITAL LETTER IOTA";
- break;
- case U'\u039A':
- nm = U"GREEK CAPITAL LETTER KAPPA";
- break;
- case U'\u039B':
- nm = U"GREEK CAPITAL LETTER LAMBDA";
- break;
- case U'\u039C':
- nm = U"GREEK CAPITAL LETTER MU";
- break;
- case U'\u039D':
- nm = U"GREEK CAPITAL LETTER NU";
- break;
- case U'\u039E':
- nm = U"GREEK CAPITAL LETTER XI";
- break;
- case U'\u039F':
- nm = U"GREEK CAPITAL LETTER OMICRON";
- break;
- case U'\u03A0':
- nm = U"GREEK CAPITAL LETTER PI";
- break;
- case U'\u03A1':
- nm = U"GREEK CAPITAL LETTER RHO";
- break;
- case U'\u03A3':
- nm = U"GREEK CAPITAL LETTER SIGMA";
- break;
- case U'\u03A4':
- nm = U"GREEK CAPITAL LETTER TAU";
- break;
- case U'\u03A5':
- nm = U"GREEK CAPITAL LETTER UPSILON";
- break;
- case U'\u03A6':
- nm = U"GREEK CAPITAL LETTER PHI";
- break;
- case U'\u03A7':
- nm = U"GREEK CAPITAL LETTER CHI";
- break;
- case U'\u03A8':
- nm = U"GREEK CAPITAL LETTER PSI";
- break;
- case U'\u03A9':
- nm = U"GREEK CAPITAL LETTER OMEGA";
- break;
- case U'\u03AA':
- nm = U"GREEK CAPITAL LETTER IOTA WITH DIALYTIKA";
- break;
- case U'\u03AB':
- nm = U"GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA";
- break;
- case U'\u03AC':
- nm = U"GREEK SMALL LETTER ALPHA WITH TONOS";
- break;
- case U'\u03AD':
- nm = U"GREEK SMALL LETTER EPSILON WITH TONOS";
- break;
- case U'\u03AE':
- nm = U"GREEK SMALL LETTER ETA WITH TONOS";
- break;
- case U'\u03AF':
- nm = U"GREEK SMALL LETTER IOTA WITH TONOS";
- break;
- case U'\u03B0':
- nm = U"GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS";
- break;
- case U'\u03B1':
- nm = U"GREEK SMALL LETTER ALPHA";
- break;
- case U'\u03B2':
- nm = U"GREEK SMALL LETTER BETA";
- break;
- case U'\u03B3':
- nm = U"GREEK SMALL LETTER GAMMA";
- break;
- case U'\u03B4':
- nm = U"GREEK SMALL LETTER DELTA";
- break;
- case U'\u03B5':
- nm = U"GREEK SMALL LETTER EPSILON";
- break;
- case U'\u03B6':
- nm = U"GREEK SMALL LETTER ZETA";
- break;
- case U'\u03B7':
- nm = U"GREEK SMALL LETTER ETA";
- break;
- case U'\u03B8':
- nm = U"GREEK SMALL LETTER THETA";
- break;
- case U'\u03B9':
- nm = U"GREEK SMALL LETTER IOTA";
- break;
- case U'\u03BA':
- nm = U"GREEK SMALL LETTER KAPPA";
- break;
- case U'\u03BB':
- nm = U"GREEK SMALL LETTER LAMBDA";
- break;
- case U'\u03BC':
- nm = U"GREEK SMALL LETTER MU";
- break;
- case U'\u03BD':
- nm = U"GREEK SMALL LETTER NU";
- break;
- case U'\u03BE':
- nm = U"GREEK SMALL LETTER XI";
- break;
- case U'\u03BF':
- nm = U"GREEK SMALL LETTER OMICRON";
- break;
- case U'\u03C0':
- nm = U"GREEK SMALL LETTER PI";
- break;
- case U'\u03C1':
- nm = U"GREEK SMALL LETTER RHO";
- break;
- case U'\u03C2':
- nm = U"GREEK SMALL LETTER FINAL SIGMA";
- break;
- case U'\u03C3':
- nm = U"GREEK SMALL LETTER SIGMA";
- break;
- case U'\u03C4':
- nm = U"GREEK SMALL LETTER TAU";
- break;
- case U'\u03C5':
- nm = U"GREEK SMALL LETTER UPSILON";
- break;
- case U'\u03C6':
- nm = U"GREEK SMALL LETTER PHI";
- break;
- case U'\u03C7':
- nm = U"GREEK SMALL LETTER CHI";
- break;
- case U'\u03C8':
- nm = U"GREEK SMALL LETTER PSI";
- break;
- case U'\u03C9':
- nm = U"GREEK SMALL LETTER OMEGA";
- break;
- case U'\u03CA':
- nm = U"GREEK SMALL LETTER IOTA WITH DIALYTIKA";
- break;
- case U'\u03CB':
- nm = U"GREEK SMALL LETTER UPSILON WITH DIALYTIKA";
- break;
- case U'\u03CC':
- nm = U"GREEK SMALL LETTER OMICRON WITH TONOS";
- break;
- case U'\u03CD':
- nm = U"GREEK SMALL LETTER UPSILON WITH TONOS";
- break;
- case U'\u03CE':
- nm = U"GREEK SMALL LETTER OMEGA WITH TONOS";
- break;
- case U'\u03CF':
- nm = U"GREEK CAPITAL KAI SYMBOL";
- break;
- case U'\u03D0':
- nm = U"GREEK BETA SYMBOL";
- break;
- case U'\u03D1':
- nm = U"GREEK THETA SYMBOL";
- break;
- case U'\u03D2':
- nm = U"GREEK UPSILON WITH HOOK SYMBOL";
- break;
- case U'\u03D3':
- nm = U"GREEK UPSILON WITH ACUTE AND HOOK SYMBOL";
- break;
- case U'\u03D4':
- nm = U"GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL";
- break;
- case U'\u03D5':
- nm = U"GREEK PHI SYMBOL";
- break;
- case U'\u03D6':
- nm = U"GREEK PI SYMBOL";
- break;
- case U'\u03D7':
- nm = U"GREEK KAI SYMBOL";
- break;
- case U'\u03D8':
- nm = U"GREEK LETTER ARCHAIC KOPPA";
- break;
- case U'\u03D9':
- nm = U"GREEK SMALL LETTER ARCHAIC KOPPA";
- break;
- case U'\u03DA':
- nm = U"GREEK LETTER STIGMA";
- break;
- case U'\u03DB':
- nm = U"GREEK SMALL LETTER STIGMA";
- break;
- case U'\u03DC':
- nm = U"GREEK LETTER DIGAMMA";
- break;
- case U'\u03DD':
- nm = U"GREEK SMALL LETTER DIGAMMA";
- break;
- case U'\u03DE':
- nm = U"GREEK LETTER KOPPA";
- break;
- case U'\u03DF':
- nm = U"GREEK SMALL LETTER KOPPA";
- break;
- case U'\u03E0':
- nm = U"GREEK LETTER SAMPI";
- break;
- case U'\u03F0':
- nm = U"GREEK KAPPA SYMBOL";
- break;
- /* HEBREW: */
- case U'\u05D0':
- nm = U"HEBREW LETTER ALEF";
- break;
- case U'\u05D1':
- nm = U"HEBREW LETTER BET";
- break;
- case U'\u05D2':
- nm = U"HEBREW LETTER GIMEL";
- break;
- case U'\u05D3':
- nm = U"HEBREW LETTER DALET";
- break;
- case U'\u05D4':
- nm = U"HEBREW LETTER HE";
- break;
- case U'\u05D5':
- nm = U"HEBREW LETTER VAV";
- break;
- case U'\u05D6':
- nm = U"HEBREW LETTER ZAYIN";
- break;
- case U'\u05D7':
- nm = U"HEBREW LETTER HET";
- break;
- case U'\u05D8':
- nm = U"HEBREW LETTER TET";
- break;
- case U'\u05D9':
- nm = U"HEBREW LETTER YOD";
- break;
- case U'\u05DA':
- nm = U"HEBREW LETTER FINAL KAF";
- break;
- case U'\u05DB':
- nm = U"HEBREW LETTER KAF";
- break;
- case U'\u05DC':
- nm = U"HEBREW LETTER LAMED";
- break;
- case U'\u05DD':
- nm = U"HEBREW LETTER FINAL MEM";
- break;
- case U'\u05DE':
- nm = U"HEBREW LETTER MEM";
- break;
- case U'\u05DF':
- nm = U"HEBREW LETTER FINAL NUN";
- break;
- case U'\u05E0':
- nm = U"HEBREW LETTER NUN";
- break;
- case U'\u05E1':
- nm = U"HEBREW LETTER SAMEKH";
- break;
- case U'\u05E2':
- nm = U"HEBREW LETTER AYIN";
- break;
- case U'\u05E3':
- nm = U"HEBREW LETTER FINAL PE";
- break;
- case U'\u05E4':
- nm = U"HEBREW LETTER PE";
- break;
- case U'\u05E5':
- nm = U"HEBREW LETTER FINAL TSADI";
- break;
- case U'\u05E6':
- nm = U"HEBREW LETTER TSADI";
- break;
- case U'\u05E7':
- nm = U"HEBREW LETTER QOF";
- break;
- case U'\u05E8':
- nm = U"HEBREW LETTER RESH";
- break;
- case U'\u05E9':
- nm = U"HEBREW LETTER SHIN";
- break;
- case U'\u05EA':
- nm = U"HEBREW LETTER TAV";
- break;
- case U'\u05EF':
- nm = U"HEBREW YOD TRIANGLE";
- break;
- /* CYRILLIC: */
- case U'\u0400':
- nm = U"CYRILLIC CAPITAL LETTER LE WITH GRAVE";
- break;
- case U'\u0401':
- nm = U"CYRILLIC CAPITAL LETTER LO";
- break;
- case U'\u0402':
- nm = U"CYRILLIC CAPITAL LETTER DJE";
- break;
- case U'\u0403':
- nm = U"CYRILLIC CAPITAL LETTER GJE";
- break;
- case U'\u0404':
- nm = U"CYRILLIC CAPITAL LETTER UKRAINIAN LE";
- break;
- case U'\u0405':
- nm = U"CYRILLIC CAPITAL LETTER DZE";
- break;
- case U'\u0406':
- nm = U"CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I";
- break;
- case U'\u0407':
- nm = U"CYRILLIC CAPITAL LETTER YI";
- break;
- case U'\u0408':
- nm = U"CYRILLIC CAPITAL LETTER JE";
- break;
- case U'\u0409':
- nm = U"CYRILLIC CAPITAL LETTER LJE";
- break;
- case U'\u040A':
- nm = U"CYRILLIC CAPITAL LETTER NJE";
- break;
- case U'\u040B':
- nm = U"CYRILLIC CAPITAL LETTER TSHE";
- break;
- case U'\u040C':
- nm = U"CYRILLIC CAPITAL LETTER KJE";
- break;
- case U'\u040D':
- nm = U"CYRILLIC CAPITAL LETTER I WITH GRAVE";
- break;
- case U'\u040E':
- nm = U"CYRILLIC CAPITAL LETTER SHORT U";
- break;
- case U'\u040F':
- nm = U"CYRILLIC CAPITAL LETTER DZHE";
- break;
- case U'\u0410':
- nm = U"CYRILLIC CAPITAL LETTER A";
- break;
- case U'\u0420':
- nm = U"CYRILLIC CAPITAL LETTER ER";
- break;
- case U'\u0430':
- nm = U"CYRILLIC SMALL LETTER A";
- break;
- case U'\u0440':
- nm = U"CYRILLIC SMALL LETTER ER";
- break;
- case U'\u0450':
- nm = U"CYRILLIC SMALL LETTER LE WITH GRAVE";
- break;
- case U'\u0460':
- nm = U"CYRILLIC CAPITAL LETTER OMEGA";
- break;
- case U'\u0470':
- nm = U"CYRILLIC CAPITAL LETTER PSI";
- break;
- case U'\u0480':
- nm = U"CYRILLIC CAPITAL LETTER KOPPA";
- break;
- case U'\u0490':
- nm = U"CYRILLIC CAPITAL LETTER GHE WITH UPTURN";
- break;
- case U'\u04A0':
- nm = U"CYRILLIC CAPITAL LETTER BASHKIR KA";
- break;
- case U'\u04B0':
- nm = U"CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE";
- break;
- case U'\u04C0':
- nm = U"CYRILLIC LETTER PALOCHKA";
- break;
- case U'\u04D0':
- nm = U"CYRILLIC CAPITAL LETTER A WITH BREVE";
- break;
- case U'\u04E0':
- nm = U"CYRILLIC CAPITAL LETTER ABKHASIAN DZE";
- break;
- case U'\u04F0':
- nm = U"CYRILLIC CAPITAL LETTER U WITH DIAERESIS";
- break;
- /* SYRIAC SUPPLEMENT: */
- case U'\u0860':
- nm = U"SYRIAC LETTER MALAYALAM NGA";
- break;
- case U'\u0861':
- nm = U"SYRIAC LETTER MALAYALAM JA";
- break;
- case U'\u0862':
- nm = U"SYRIAC LETTER MALAYALAM NYA";
- break;
- case U'\u0863':
- nm = U"SYRIAC LETTER MALAYALAM TTA";
- break;
- case U'\u0864':
- nm = U"SYRIAC LETTER MALAYALAM NNA";
- break;
- case U'\u0865':
- nm = U"SYRIAC LETTER MALAYALAM NNNA";
- break;
- case U'\u0866':
- nm = U"SYRIAC LETTER MALAYALAM BHA";
- break;
- case U'\u0867':
- nm = U"SYRIAC LETTER MALAYALAM RA";
- break;
- case U'\u0868':
- nm = U"SYRIAC LETTER MALAYALAM LLA";
- break;
- case U'\u0869':
- nm = U"SYRIAC LETTER MALAYALAM LLLA";
- break;
- case U'\u086A':
- nm = U"SYRIAC LETTER MALAYALAM SSA";
- break;
- /* RUNIC: */
- case U'\u16A0':
- nm = U"RUNIC LETTER FEHU FEOH FE F";
- break;
- case U'\u16A1':
- nm = U"RUNIC LETTER V";
- break;
- case U'\u16A2':
- nm = U"RUNIC LETTER URUZ UR U";
- break;
- case U'\u16A3':
- nm = U"RUNIC LETTER YR";
- break;
- case U'\u16A4':
- nm = U"RUNIC LETTER Y";
- break;
- case U'\u16A5':
- nm = U"RUNIC LETTER W";
- break;
- case U'\u16A6':
- nm = U"RUNIC LETTER THURISAZ THURS THORN";
- break;
- case U'\u16A7':
- nm = U"RUNIC LETTER ETH";
- break;
- case U'\u16A8':
- nm = U"RUNIC LETTER ANSUZ A";
- break;
- case U'\u16A9':
- nm = U"RUNIC LETTER OS O";
- break;
- case U'\u16AA':
- nm = U"RUNIC LETTER AC A";
- break;
- case U'\u16AB':
- nm = U"RUNIC LETTER AESC";
- break;
- case U'\u16AC':
- nm = U"RUNIC LETTER LONG-BRANCHED-OSS O";
- break;
- case U'\u16AD':
- nm = U"RUNIC LETTER SHORT-TWIG-OSS O";
- break;
- case U'\u16AE':
- nm = U"RUNIC LETTER O";
- break;
- case U'\u16AF':
- nm = U"RUNIC LETTER OE";
- break;
- case U'\u16B0':
- nm = U"RUNIC LETTER ON";
- break;
- case U'\u16C0':
- nm = U"RUNIC LETTER DOTTED-N";
- break;
- case U'\u16D0':
- nm = U"RUNIC LETTER SHORT-TWIG-TYR T";
- break;
- case U'\u16E0':
- nm = U"RUNIC LETTER EAR";
- break;
- case U'\u16F0':
- nm = U"RUNIC BELGTHOR SYMBOL";
- break;
- /* CYRILLIC EXTENDED C: */
- case U'\u1C80':
- nm = U"CYRILLIC SMALL LETTER ROUNDED VE";
- break;
- case U'\u1C81':
- nm = U"CYRILLIC SMALL LETTER LONG-LEGGED DE";
- break;
- case U'\u1C82':
- nm = U"CYRILLIC SMALL LETTER NARROW O";
- break;
- case U'\u1C83':
- nm = U"CYRILLIC SMALL LETTER WIDE ES";
- break;
- case U'\u1C84':
- nm = U"CYRILLIC SMALL LETTER TALL TE";
- break;
- case U'\u1C85':
- nm = U"CYRILLIC SMALL LETTER THREE-LEGGED TE";
- break;
- case U'\u1C86':
- nm = U"CYRILLIC SMALL LETTER TALL HARD SIGN";
- break;
- case U'\u1C87':
- nm = U"CYRILLIC SMALL LETTER TALL YAT";
- break;
- case U'\u1C88':
- nm = U"CYRILLIC SMALL LETTER UNBLENDED UK";
- break;
- /* GENERAL PUNCTUATION: */
- case U'\u2000':
- nm = U"EN QUAD";
- break;
- case U'\u2001':
- nm = U"EM QUAD";
- break;
- case U'\u2002':
- nm = U"EN SPACE";
- break;
- case U'\u2003':
- nm = U"EM SPACE";
- break;
- case U'\u2004':
- nm = U"THREE-PER-EM SPACE";
- break;
- case U'\u2005':
- nm = U"FOUR-PER-EM SPACE";
- break;
- case U'\u2006':
- nm = U"SIX-PER-EM SPACE";
- break;
- case U'\u2007':
- nm = U"FIGURE SPACE";
- break;
- case U'\u2008':
- nm = U"PUNCTUATION SPACE";
- break;
- case U'\u2009':
- nm = U"THIN SPACE";
- break;
- case U'\u200A':
- nm = U"HAIR SPACE";
- break;
- case U'\u203C':
- nm = U"DOUBLE EXCLAMATION MARK";
- break;
- case U'\u2047':
- nm = U"DOUBLE QUOTATION MARK";
- break;
- case U'\u2048':
- nm = U"QUESTION EXCLAMATION MARK";
- break;
- case U'\u2049':
- nm = U"EXCLAMATION QUESTION MARK";
- break;
- /* CURRENCY SYMBOLS: */
- case U'\u20A0':
- nm = U"EURO-CURRENCY SIGN";
- break;
- case U'\u20A1':
- nm = U"COLON SIGN";
- break;
- case U'\u20A2':
- nm = U"CRUZEIRO SIGN";
- break;
- case U'\u20A3':
- nm = U"FRENCH FRANC SIGN";
- break;
- case U'\u20A4':
- nm = U"LIRA SIGN";
- break;
- case U'\u20A5':
- nm = U"MILL SIGN";
- break;
- case U'\u20A6':
- nm = U"NAIRA SIGN";
- break;
- case U'\u20A7':
- nm = U"PESETA SIGN";
- break;
- case U'\u20A8':
- nm = U"RUPEE SIGN";
- break;
- case U'\u20A9':
- nm = U"WON SIGN";
- break;
- case U'\u20AA':
- nm = U"NEW SHEQEL SIGN";
- break;
- case U'\u20AB':
- nm = U"DONG SIGN";
- break;
- case U'\u20AC':
- nm = U"EURO SIGN";
- break;
- case U'\u20AD':
- nm = U"KIP SIGN";
- break;
- case U'\u20AE':
- nm = U"TUGRIK SIGN";
- break;
- case U'\u20AF':
- nm = U"DRACHMA SIGN";
- break;
- case U'\u20B0':
- nm = U"GERMAN PENNY SIGN";
- break;
- case U'\u20B1':
- nm = U"PESO SIGN";
- break;
- case U'\u20B2':
- nm = U"GUARANI SIGN";
- break;
- case U'\u20B3':
- nm = U"AUSTRAL SIGN";
- break;
- case U'\u20B4':
- nm = U"HRYVNIA SIGN";
- break;
- case U'\u20B5':
- nm = U"CEDI SIGN";
- break;
- case U'\u20B6':
- nm = U"LIVRE TOURNOIS SIGN";
- break;
- case U'\u20B7':
- nm = U"SPESMILO SIGN";
- break;
- case U'\u20B8':
- nm = U"TENGE SIGN";
- break;
- case U'\u20BA':
- nm = U"TURKISH LIRA SIGN";
- break;
- case U'\u20BB':
- nm = U"NORDIC MARK SIGN";
- break;
- case U'\u20BC':
- nm = U"MANAT SIGN";
- break;
- case U'\u20BD':
- nm = U"RUBLE SYMBOL";
- break;
- case U'\u20BE':
- nm = U"LARI SIGN";
- break;
- case U'\u20BF':
- nm = U"BITCOIN SIGN";
- break;
- /* LETTERLIKE SYMBOLS: */
- case U'\u2100':
- nm = U"ACCOUNT OF";
- break;
- case U'\u2101':
- nm = U"ADRESSED TO THE SUBJECT";
- break;
- case U'\u2102':
- nm = U"DOUBLE-STRUCK CAPITAL C";
- break;
- case U'\u2103':
- nm = U"DEGREE CELSIUS";
- break;
- case U'\u2104':
- nm = U"CENTRE LINE SYMBOL";
- break;
- case U'\u2105':
- nm = U"CARE OF";
- break;
- case U'\u2106':
- nm = U"CADA UNA";
- break;
- case U'\u2107':
- nm = U"EULER CONSTANT";
- break;
- case U'\u2108':
- nm = U"SCRUPLE";
- break;
- case U'\u2109':
- nm = U"DEGREE FAHRENHEIT";
- break;
- case U'\u210A':
- nm = U"SCRIPT SMALL G";
- break;
- case U'\u210B':
- nm = U"SCRIPT CAPITAL H";
- break;
- case U'\u210C':
- nm = U"BLACK-LETTER CAPITAL H";
- break;
- case U'\u210D':
- nm = U"DOUBLE-STRUCK CAPITAL H";
- break;
- case U'\u210E':
- nm = U"PLANCK CONSTANT";
- break;
- case U'\u210F':
- nm = U"PLANCK CONSTANT OVER TWO PI";
- break;
- case U'\u2110':
- nm = U"SCRIPT CAPITAL I";
- break;
- case U'\u2111':
- nm = U"BLACK-LETTER CAPITAL I";
- break;
- case U'\u2112':
- nm = U"SCRIPT CAPITAL L";
- break;
- case U'\u2113':
- nm = U"SCRIPT SMALL L";
- break;
- case U'\u2114':
- nm = U"L B BAR SYMBOL";
- break;
- case U'\u2115':
- nm = U"DOUBLE-STRUCK CAPITAL N";
- break;
- case U'\u2116':
- nm = U"NUMERO SIGN";
- break;
- case U'\u2117':
- nm = U"SOUND RECORDING COPYRIGHT";
- break;
- case U'\u2118':
- nm = U"SCRIPT CAPITAL P";
- break;
- case U'\u2119':
- nm = U"DOUBLE-STRUCK CAPITAL P";
- break;
- case U'\u211A':
- nm = U"DOUBLE-STRUCK CAPITAL Q";
- break;
- case U'\u211B':
- nm = U"SCRIPT CAPITAL R";
- break;
- case U'\u211C':
- nm = U"BLACK-LETTER CAPITAL R";
- break;
- case U'\u211D':
- nm = U"DOUBLE-STRUCK CAPITAL R";
- break;
- case U'\u211E':
- nm = U"PRESCRIPTION TAKE";
- break;
- case U'\u211F':
- nm = U"RESPONSE";
- break;
- case U'\u2120':
- nm = U"SERVICE MARK";
- break;
- case U'\u2121':
- nm = U"TELEPHONE SIGN";
- break;
- case U'\u2122':
- nm = U"TRADE MARK SIGN";
- break;
- case U'\u2123':
- nm = U"VERSICLE";
- break;
- case U'\u2124':
- nm = U"DOUBLE-STRUCK CAPITAL Z";
- break;
- case U'\u2125':
- nm = U"OUNCE SIGN";
- break;
- case U'\u2126':
- nm = U"OHM SIGN";
- break;
- case U'\u2127':
- nm = U"INVERTED OHM SIGN";
- break;
- case U'\u2128':
- nm = U"BLACK-LETTER CAPITAL Z";
- break;
- case U'\u2129':
- nm = U"TURNED GREEK SMALL LETTER IOTA";
- break;
- case U'\u212A':
- nm = U"KELVIN SIGN";
- break;
- case U'\u212B':
- nm = U"ANGSTROM SIGN";
- break;
- case U'\u212C':
- nm = U"SCRIPT CAPITAL B";
- break;
- case U'\u212D':
- nm = U"BLACK-LETTER CAPITAL C";
- break;
- case U'\u212E':
- nm = U"ESTIMATED SYMBOL";
- break;
- case U'\u212F':
- nm = U"SCRIPT SMALL E";
- break;
- case U'\u2130':
- nm = U"SCRIPT CAPITAL E";
- break;
- case U'\u2131':
- nm = U"SCRIPT CAPITAL F";
- break;
- case U'\u2132':
- nm = U"TURNED CAPITAL F";
- break;
- case U'\u2133':
- nm = U"SCRIPT CAPITAL M";
- break;
- case U'\u2134':
- nm = U"SCRIPT SMALL O";
- break;
- case U'\u2135':
- nm = U"ALEF SYMBOL";
- break;
- case U'\u2136':
- nm = U"BET SYMBOL";
- break;
- case U'\u2137':
- nm = U"GIMEL SYMBOL";
- break;
- case U'\u2138':
- nm = U"DALET SYMBOL";
- break;
- case U'\u2139':
- nm = U"INFORMATION SOURCE";
- break;
- case U'\u213A':
- nm = U"ROTATED CAPITAL Q";
- break;
- case U'\u213B':
- nm = U"FACSIMILE SIGN";
- break;
- case U'\u213C':
- nm = U"DOUBLE-STRUCK SMALL PI";
- break;
- case U'\u213D':
- nm = U"DOUBLE-STRUCK SMALL GAMMA";
- break;
- case U'\u213E':
- nm = U"DOUBLE-STRUCK CAPITAL GAMMA";
- break;
- case U'\u213F':
- nm = U"DOUBLE-STRUCK CAPITAL PI";
- break;
- case U'\u2140':
- nm = U"DOUBLE-STRUCK N-ARY SUMMATION";
- break;
- case U'\u2141':
- nm = U"TURNED SANS-SERIF CAPITAL G";
- break;
- case U'\u2142':
- nm = U"TURNED SANS-SERIF CAPITAL L";
- break;
- case U'\u2143':
- nm = U"REVERSED SANS-SERIF CAPITAL L";
- break;
- case U'\u2144':
- nm = U"TURNED SANS-SERIF CAPITAL Y";
- break;
- case U'\u2145':
- nm = U"DOUBLE-STRUCK ITALIC CAPITAL D";
- break;
- case U'\u2146':
- nm = U"DOUBLE-STRUCK ITALIC SMALL D";
- break;
- case U'\u2147':
- nm = U"DOUBLE-STRUCK ITALIC SMALL E";
- break;
- case U'\u2148':
- nm = U"DOUBLE-STRUCK ITALIC SMALL I";
- break;
- case U'\u2149':
- nm = U"DOUBLE-STRUCK ITALIC SMALL J";
- break;
- case U'\u214A':
- nm = U"PROPERTY LINE";
- break;
- case U'\u214B':
- nm = U"TURNED AMPERSAND";
- break;
- case U'\u214C':
- nm = U"PER SIGN";
- break;
- case U'\u214D':
- nm = U"AKTIESELSKAB";
- break;
- case U'\u214E':
- nm = U"TURNED SMALL F";
- break;
- case U'\u214F':
- nm = U"SYMBOL FOR SAMARITAN SOURCE";
- break;
- /* NUMBER FORMS: */
- case U'\u2150':
- nm = U"VULGAR FRACTION ONE SEVENTH";
- break;
- case U'\u2151':
- nm = U"VULGAR FRACTION ONE NINTH";
- break;
- case U'\u2152':
- nm = U"VULGAR FRACTION ONE TENTH";
- break;
- case U'\u2153':
- nm = U"VULGAR FRACTION ONE THIRD";
- break;
- case U'\u2154':
- nm = U"VULGAR FRACTION TWO THIRDS";
- break;
- case U'\u2155':
- nm = U"VULGAR FRACTION ONE FIFTH";
- break;
- case U'\u2156':
- nm = U"VULGAR FRACTION TWO FIFTHS";
- break;
- case U'\u2157':
- nm = U"VULGAR FRACTION THREE FIFTHS";
- break;
- case U'\u2158':
- nm = U"VULGAR FRACTION FOUR FIFTHS";
- break;
- case U'\u2159':
- nm = U"VULGAR FRACTION ONE SIXTH";
- break;
- case U'\u215A':
- nm = U"VULGAR FRACTION FIVE SIXTHS";
- break;
- case U'\u215B':
- nm = U"VULGAR FRACTION ONE EIGTH";
- break;
- case U'\u215C':
- nm = U"VULGAR FRACTION THREE EIGTHS";
- break;
- case U'\u215D':
- nm = U"VULGAR FRACTION FIVE EIGHTS";
- break;
- case U'\u215E':
- nm = U"VULGAR FRACTION SEVEN EIGTHS";
- break;
- case U'\u215F':
- nm = U"FRACTION NUMERATOR ONE";
- break;
- case U'\u2160':
- nm = U"ROMAN NUMERAL ONE";
- break;
- case U'\u2161':
- nm = U"ROMAN NUMERAL TWO";
- break;
- case U'\u2162':
- nm = U"ROMAN NUMERAL THREE";
- break;
- case U'\u2163':
- nm = U"ROMAN NUMERAL FOUR";
- break;
- case U'\u2164':
- nm = U"ROMAN NUMERAL FIVE";
- break;
- case U'\u2165':
- nm = U"ROMAN NUMERAL SIX";
- break;
- case U'\u2166':
- nm = U"ROMAN NUMERAL SEVEN";
- break;
- case U'\u2167':
- nm = U"ROMAN NUMERAL EIGHT";
- break;
- case U'\u2168':
- nm = U"ROMAN NUMERAL NINE";
- break;
- case U'\u2169':
- nm = U"ROMAN NUMERAL TEN";
- break;
- case U'\u216A':
- nm = U"ROMAN NUMERAL ELEVEN";
- break;
- case U'\u216B':
- nm = U"ROMAN NUMERAL TWELVE";
- break;
- case U'\u216C':
- nm = U"ROMAN NUMERAL FIFTY";
- break;
- case U'\u216D':
- nm = U"ROMAN NUMERAL ONE HUNDRED";
- break;
- case U'\u216E':
- nm = U"ROMAN NUMERAL FIVE HUNDRED";
- break;
- case U'\u216F':
- nm = U"ROMAN NUMERAL ONE THOUSAND";
- break;
- case U'\u2170':
- nm = U"SMALL ROMAN NUMERAL ONE";
- break;
- case U'\u2171':
- nm = U"SMALL ROMAN NUMERAL TWO";
- break;
- case U'\u2172':
- nm = U"SMALL ROMAN NUMERAL THREE";
- break;
- case U'\u2173':
- nm = U"SMALL ROMAN NUMERAL FOUR";
- break;
- case U'\u2174':
- nm = U"SMALL ROMAN NUMERAL FIVE";
- break;
- case U'\u2175':
- nm = U"SMALL ROMAN NUMERAL SIX";
- break;
- case U'\u2176':
- nm = U"SMALL ROMAN NUMERAL SEVEN";
- break;
- case U'\u2177':
- nm = U"SMALL ROMAN NUMERAL EIGHT";
- break;
- case U'\u2178':
- nm = U"SMALL ROMAN NUMERAL NINE";
- break;
- case U'\u2179':
- nm = U"SMALL ROMAN NUMERAL TEN";
- break;
- case U'\u217A':
- nm = U"SMALL ROMAN NUMERAL ELEVEN";
- break;
- case U'\u217B':
- nm = U"SMALL ROMAN NUMERAL TWELVE";
- break;
- case U'\u217C':
- nm = U"SMALL ROMAN NUMERAL FIFTY";
- break;
- case U'\u217D':
- nm = U"SMALL ROMAN NUMERAL ONE HUNDRED";
- break;
- case U'\u217E':
- nm = U"SMALL ROMAN NUMERAL FIVE HUNDRED";
- break;
- case U'\u217F':
- nm = U"SMALL ROMAN NUMERAL ONE THOUSAND";
- break;
- case U'\u2180':
- nm = U"ROMAN NUMERAL ONE THOUSAND C D";
- break;
- case U'\u2181':
- nm = U"ROMAN NUMERAL FIVE THOUSAND";
- break;
- case U'\u2182':
- nm = U"ROMAN NUMERAL TEN THOUSAND";
- break;
- case U'\u2183':
- nm = U"ROMAN NUMERAL REVERSED ONE HUNDRED";
- break;
- case U'\u2184':
- nm = U"LATIN SMALL LETTER REVERSED C";
- break;
- case U'\u2185':
- nm = U"ROMAN NUMERAL SIX LATE FORM";
- break;
- case U'\u2186':
- nm = U"ROMAN NUMERAL FIFTY EARLY FORM";
- break;
- case U'\u2187':
- nm = U"ROMAN NUMERAL FIFTY THOUSAND";
- break;
- case U'\u2188':
- nm = U"ROMAN NUMERAL ONE HUNDRED THOUSAND";
- break;
- case U'\u2189':
- nm = U"VULGAR FRACTION ZERO THIRDS";
- break;
- case U'\u218A':
- nm = U"TURNED DIGIT TWO";
- break;
- case U'\u218B':
- nm = U"TURNED DIGIT THREE";
- break;
- /* MISCELLANEOUS SYMBOLS: */
- case U'\u26B9':
- nm = U"SEXTILE";
- break;
- /* DINGBATS: */
- case U'\u271D':
- nm = U"LATIN CROSS";
- break;
- case U'\u2721':
- nm = U"STAR OF DAVID";
- break;
- /* SUPPLEMENTAL PUNCTUATION: */
- case U'\u2E3B':
- nm = U"THREE-EM DASH";
- break;
- /* ARABIC PRESENTATION FORMS-A: */
- case U'\uFDFD':
- nm = U"ARABIC LIGATURE BISMILLAH AL-RAHMAN AR-RAHEEM";
- break;
- /* ANCIENT SYMBOLS: */
- case U'\U00010190':
- nm = U"ROMAN SEXTANS SIGN";
- break;
- case U'\U00010191':
- nm = U"ROMAN UNCIA SIGN";
- break;
- case U'\U00010192':
- nm = U"ROMAN SEMUNCIA SIGN";
- break;
- case U'\U00010193':
- nm = U"ROMAN SEXTULA SIGN";
- break;
- case U'\U00010194':
- nm = U"ROMAN DIMIDIA SEXTULA SIGN";
- break;
- case U'\U00010195':
- nm = U"ROMAN SILIQUA SIGN";
- break;
- case U'\U00010196':
- nm = U"ROMAN DENARIUS SIGN";
- break;
- case U'\U00010197':
- nm = U"ROMAN QUINARIUS SIGN";
- break;
- case U'\U00010198':
- nm = U"ROMAN SESTERTIUS SIGN";
- break;
- case U'\U00010199':
- nm = U"ROMAN DUPONDIUS SIGN";
- break;
- case U'\U0001019A':
- nm = U"ROMAN AS SIGN";
- break;
- case U'\U0001019B':
- nm = U"ROMAN CENTURIAL SIGN";
- break;
- case U'\U0001019C':
- nm = U"ASCIA SIGN";
- break;
- /* BRAHMI: */
- case U'\U00011066':
- nm = U"BRAHMI DIGIT ZERO";
- break;
- case U'\U00011067':
- nm = U"BRAHMI DIGIT ONE";
- break;
- case U'\U00011068':
- nm = U"BRAHMI DIGIT TWO";
- break;
- case U'\U00011069':
- nm = U"BRAHMI DIGIT THREE";
- break;
- case U'\U0001106A':
- nm = U"BRAHMI DIGIT FOUR";
- break;
- case U'\U0001106B':
- nm = U"BRAHMI DIGIT FIVE";
- break;
- case U'\U0001106C':
- nm = U"BRAHMI DIGIT SIX";
- break;
- case U'\U0001106D':
- nm = U"BRAHMI DIGIT SEVEN";
- break;
- case U'\U0001106E':
- nm = U"BRAHMI DIGIT EIGHT";
- break;
- case U'\U0001106F':
- nm = U"BRAHMI DIGIT NINE";
- break;
- /* CUNEIFORM: */
- case U'\U00012031':
- nm = U"CUNEIFORM SIGN AN PLUS NAGA SQUARED";
- break;
- /* CUNEIFORM NUMBERS AND PUNCTUATION: */
- case U'\U0001242B':
- nm = U"CUNEIFORM NUMERIC SIGN NINE SHAR2";
- break;
- /* EGYPTIAN HIEROGLYPHS: */
- case U'\U000130B8':
- nm = U"EGYPTIAN HIEROGLYPH D052";
- break;
- /* COUNTING ROD NUMERALS: */
- case U'\U0001D372':
- nm = U"IDEOGRAPHIC TALLY MARK ONE";
- break;
- case U'\U0001D373':
- nm = U"IDEOGRAPHIC TALLY MARK TWO";
- break;
- case U'\U0001D374':
- nm = U"IDEOGRAPHIC TALLY MARK THREE";
- break;
- case U'\U0001D375':
- nm = U"IDEOGRAPHIC TALLY MARK FOUR";
- break;
- case U'\U0001D376':
- nm = U"IDEOGRAPHIC TALLY MARK FIVE";
- break;
- case U'\U0001D377':
- nm = U"TALLY MARK ONE";
- break;
- case U'\U0001D378':
- nm = U"TALLY MARK FIVE";
- break;
- /* ENCLOSED ALPHANUMERIC SUPPLEMENT: */
- case U'\U0001F10D':
- nm = U"CIRCLED ZERO WITH SLASH";
- break;
- case U'\U0001F10E':
- nm = U"CIRCLED ANTICKLOCKWISE ARROW";
- break;
- case U'\U0001F10F':
- nm = U"CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH";
- break;
- case U'\U0001F12F':
- nm = U"COPYLEFT SYMBOL";
- break;
- case U'\U0001F16D':
- nm = U"CIRCLED CC";
- break;
- case U'\U0001F16E':
- nm = U"CIRCLED C WITH OVERLAID BACKSLASH";
- break;
- case U'\U0001F16F':
- nm = U"CIRCLED HUMAN FIGURE";
- break;
- /* EMOTICONS: */
- case U'\U0001F600':
- nm = U"GRINNING FACE";
- break;
- case U'\U0001F601':
- nm = U"GRINNING FACE WITH SMIRKING EYES";
- break;
- case U'\U0001F602':
- nm = U"FACE WITH TEARS OF JOY";
- break;
- case U'\U0001F603':
- nm = U"SMILING FACE WITH OPEN MOUTH";
- break;
- case U'\U0001F604':
- nm = U"SMILING FACE WITH OPEN MOUTH AND SMILING EYES";
- break;
- case U'\U0001F605':
- nm = U"SMILING FACE WITH OPEN MOUTH AND COULD SWEAT";
- break;
- case U'\U0001F606':
- nm = U"SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES";
- break;
- case U'\U0001F607':
- nm = U"SMILING FACE WITH HALO";
- break;
- case U'\U0001F608':
- nm = U"SMILING FACE WITH HORNS";
- break;
- case U'\U0001F609':
- nm = U"WINKING FACE";
- break;
- case U'\U0001F60A':
- nm = U"SMILING FACE WITH SMILING EYES";
- break;
- case U'\U0001F60B':
- nm = U"FACE SAVOURING DELICIOUS FOOD";
- break;
- case U'\U0001F60C':
- nm = U"RELIEVED FACE";
- break;
- case U'\U0001F60D':
- nm = U"SMILLING FACE HEART-SHAPED EYES";
- break;
- case U'\U0001F60E':
- nm = U"SMILLING FACE WITH SUNGLASSES";
- break;
- case U'\U0001F60F':
- nm = U"SMIRKING FACE";
- break;
- case U'\U0001F610':
- nm = U"NEUTRAL FACE";
- break;
- case U'\U0001F611':
- nm = U"EXPRESSIONLESS FACE";
- break;
- case U'\U0001F612':
- nm = U"UNAMUSED FACE";
- break;
- case U'\U0001F613':
- nm = U"FACE WITH COLD SWEAT";
- break;
- case U'\U0001F614':
- nm = U"PENSIVE FACE";
- break;
- case U'\U0001F615':
- nm = U"CONFUSED FACE";
- break;
- case U'\U0001F616':
- nm = U"CONFOUNDED FACE";
- break;
- case U'\U0001F617':
- nm = U"KISSING FACE";
- break;
- case U'\U0001F618':
- nm = U"FACE THROWING A KISS";
- break;
- case U'\U0001F619':
- nm = U"KISSING FACE WITH SMILLING EYES";
- break;
- case U'\U0001F61A':
- nm = U"KISSING FACE WITH CLOSED EYES";
- break;
- case U'\U0001F61B':
- nm = U"FACE WITH STUCK-OUT TONGUE";
- break;
- case U'\U0001F61C':
- nm = U"FACE WITH STUCK-OUT TONGUE AND WINKING EYE";
- break;
- case U'\U0001F61D':
- nm = U"FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES";
- break;
- case U'\U0001F61E':
- nm = U"DISSAPOINTED FACE";
- break;
- case U'\U0001F61F':
- nm = U"WORRIED FACE";
- break;
- case U'\U0001F620':
- nm = U"ANGRY FACE";
- break;
- case U'\U0001F621':
- nm = U"POUTING FACE";
- break;
- case U'\U0001F622':
- nm = U"CRYING FACE";
- break;
- case U'\U0001F623':
- nm = U"PERSEVERING FACE";
- break;
- case U'\U0001F624':
- nm = U"FACE WITH LOOK OF TRIUMPH";
- break;
- case U'\U0001F625':
- nm = U"DISSAPOINTED BUT RELIEVED FACE";
- break;
- case U'\U0001F626':
- nm = U"FROWNING FACE WITH OPEN MOUTH";
- break;
- case U'\U0001F627':
- nm = U"ANGUISHED FACE";
- break;
- case U'\U0001F628':
- nm = U"FEARFUL FACE";
- break;
- case U'\U0001F629':
- nm = U"WEARY FACE";
- break;
- case U'\U0001F62A':
- nm = U"SLEEPY FACE";
- break;
- case U'\U0001F62B':
- nm = U"TIRED FACE";
- break;
- case U'\U0001F62C':
- nm = U"GRIMACING FACE";
- break;
- case U'\U0001F62D':
- nm = U"LOUDLY CRYING FACE";
- break;
- case U'\U0001F62E':
- nm = U"FACE WITH OPEN MOUTH";
- break;
- case U'\U0001F62F':
- nm = U"HUSHED FACE";
- break;
- case U'\U0001F630':
- nm = U"FACE WITH OPEN MOUTH AND COLD SWEAT";
- break;
- case U'\U0001F631':
- nm = U"FACE SCREAMING IN FEAR";
- break;
- case U'\U0001F632':
- nm = U"ASTONISHED FACE";
- break;
- case U'\U0001F633':
- nm = U"FLUSHED FACE";
- break;
- case U'\U0001F634':
- nm = U"SLEEPING FACE";
- break;
- case U'\U0001F635':
- nm = U"DIZZY FACE";
- break;
- case U'\U0001F636':
- nm = U"FACE WITHOUT MOUTH";
- break;
- case U'\U0001F637':
- nm = U"FACE WITH MEDICAL MASK";
- break;
- case U'\U0001F641':
- nm = U"SLIGHTLY FROWNING FACE";
- break;
- case U'\U0001F642':
- nm = U"SLIGHTLY SMILING FACE";
- break;
- case U'\U0001F643':
- nm = U"UPSIDE-DOWN FACE";
- break;
- case U'\U0001F644':
- nm = U"FACE WITH ROLLING EYES";
- break;
- /* CJK UNIFIED IDEOGRAPHS EXTENSION G: */
- case U'\U0003106C':
- nm = U"CJK UNIFIED IDEOGRAPH-3106C";
- break;
- }
- {
- struct u8c_strcp_tuple const tuple = u8c_strcp(nm);
- ret.nm = tuple.str;
- ret.nmsz = tuple.strsz;
- }
- return ret;
-}