summaryrefslogtreecommitdiff
path: root/src/ugc.hh
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@spawned.biz>2025-09-10 22:12:22 +0200
committerJoel Klinghed <the_jk@spawned.biz>2025-09-10 22:12:22 +0200
commit32e14551a90e85000e41b3f0445d34d58a1431e4 (patch)
tree912c1e50b93b501446b1b179ee2a3e93586fb854 /src/ugc.hh
parentcf99d0c865474105c14b2348fdbd1c83d87d5a29 (diff)
Add unicode general category lookup
Generate the lookup tables from UnicodeData.txt, do to that, add gen_ugc, which uses csv, buffers, line, io and other modules to do the job.
Diffstat (limited to 'src/ugc.hh')
-rw-r--r--src/ugc.hh49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/ugc.hh b/src/ugc.hh
new file mode 100644
index 0000000..c49d50f
--- /dev/null
+++ b/src/ugc.hh
@@ -0,0 +1,49 @@
+#ifndef UGC_HH
+#define UGC_HH
+
+#include <cstdint>
+
+namespace u {
+
+enum class GeneralCategory : uint8_t {
+ LETTER_UPPERCASE,
+ LETTER_LOWERCASE,
+ LETTER_TITLECASE,
+ LETTER_MODIFIER,
+ LETTER_OTHER,
+
+ MARK_NONSPACING,
+ MARK_SPACING_COMBINDING,
+ MARK_SPACING_ENCLOSING,
+
+ NUMBER_DIGIT,
+ NUMBER_LETTER,
+ NUMBER_OTHER,
+
+ PUNCTUATION_CONNECTOR,
+ PUNCTUATION_DASH,
+ PUNCTUATION_OPEN,
+ PUNCTUATION_CLOSE,
+ PUNCTUATION_INITIAL_QUOTE,
+ PUNCTUATION_FINAL_QUOTE,
+ PUNCTUATION_OTHER,
+
+ SYMBOL_MATH,
+ SYMBOL_CURRENCY,
+ SYMBOL_MODIFIER,
+ SYMBOL_OTHER,
+
+ SEPARATOR_SPACE,
+ SEPARATOR_LINE,
+ SEPARATOR_PARAGRAPH,
+
+ OTHER_CONTROL,
+ OTHER_FORMAT,
+ OTHER_SURROGATE,
+ OTHER_PRIVATE_USE,
+ OTHER_UNASSIGNED,
+};
+
+} // namespace u
+
+#endif // UGC_HH