aboutsummaryrefslogtreecommitdiffstats
path: root/libcharconv_latin.c
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-01-24 23:41:48 +0100
committerMattias Andrée <m@maandree.se>2026-01-24 23:41:48 +0100
commit0b2c9a1f4a4acaa8005c216dd331a91670e92cae (patch)
treeff0187838e4ab2eea1d2503760abb434d05ed5e4 /libcharconv_latin.c
parentImprove go (diff)
downloadcharconv-0b2c9a1f4a4acaa8005c216dd331a91670e92cae.tar.gz
charconv-0b2c9a1f4a4acaa8005c216dd331a91670e92cae.tar.bz2
charconv-0b2c9a1f4a4acaa8005c216dd331a91670e92cae.tar.xz
Add ocr
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'libcharconv_latin.c')
-rw-r--r--libcharconv_latin.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libcharconv_latin.c b/libcharconv_latin.c
index 5179388..68bdd7d 100644
--- a/libcharconv_latin.c
+++ b/libcharconv_latin.c
@@ -350,6 +350,11 @@ libcharconv_latin(const char *s, size_t slen, size_t *n, uint_least32_t *cp, siz
c5 = '0';
goto conv5;
+ } else if (UINT32_C(0x2440) <= c && c <= UINT32_C(0x244A)) {
+ /* ocr */
+ c = (uint_least32_t)"SdYAIXC/P_\\"[c - UINT32_C(0x2440)];
+ goto conv;
+
} else {
switch (c) {
/* shogi */
@@ -488,6 +493,9 @@ libcharconv_latin(const char *s, size_t slen, size_t *n, uint_least32_t *cp, siz
case UINT32_C(0x1F030): c1 = '#'; c2 = '|'; c3 = '#'; goto conv3;
case UINT32_C(0x1F062): c1 = '#'; c2 = '-'; c3 = '#'; goto conv3;
+ /* ocr (telegraphing) */
+ case UINT32_C(0x2BFF): c1 = 'E'; goto conv1;
+
default:
no_match:
*n += clen;