aboutsummaryrefslogtreecommitdiffstats
path: root/characters.c
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-10-18 13:21:55 +0200
committerMattias Andrée <m@maandree.se>2026-10-18 13:21:55 +0200
commit01db63e7d185e1ea649b6bf509b7d064c96eb1b6 (patch)
tree759ad810d10c7eb0fbe840383dae71219a597178 /characters.c
parentMisc (diff)
downloadgcmap-01db63e7d185e1ea649b6bf509b7d064c96eb1b6.tar.gz
gcmap-01db63e7d185e1ea649b6bf509b7d064c96eb1b6.tar.bz2
gcmap-01db63e7d185e1ea649b6bf509b7d064c96eb1b6.tar.xz
More character details0.1
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
-rw-r--r--characters.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/characters.c b/characters.c
index 5679918..dae201f 100644
--- a/characters.c
+++ b/characters.c
@@ -78,3 +78,20 @@ classify_codepoint(uint32_t cp)
{
return classify_from_codepoint_data(get_codepoint_data(cp));
}
+
+
+int
+is_in_script(uint32_t cp, const struct libcmap_script *script)
+{
+ size_t i;
+ if (!script->nranges)
+ return 0;
+ if (script->ranges[0].first > cp)
+ return 0;
+ if (cp > script->ranges[script->nranges - 1u].last)
+ return 0;
+ for (i = 0u; i < script->nranges; i++)
+ if (script->ranges[i].first <= cp && cp <= script->ranges[i].last)
+ return 1;
+ return 0;
+}