aboutsummaryrefslogtreecommitdiffstats
path: root/libcharconv_turned.c
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-01-31 12:31:10 +0100
committerMattias Andrée <m@maandree.se>2026-01-31 12:31:10 +0100
commit9324c85254fbc515528cf9370b4d8564d646f043 (patch)
treee08b921135451eba680c2382e4124e4d2f596cf3 /libcharconv_turned.c
parentClean up (diff)
downloadcharconv-9324c85254fbc515528cf9370b4d8564d646f043.tar.gz
charconv-9324c85254fbc515528cf9370b4d8564d646f043.tar.bz2
charconv-9324c85254fbc515528cf9370b4d8564d646f043.tar.xz
Misc
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
-rw-r--r--libcharconv_turned.c65
1 files changed, 64 insertions, 1 deletions
diff --git a/libcharconv_turned.c b/libcharconv_turned.c
index 2ad33f0..ceeb91c 100644
--- a/libcharconv_turned.c
+++ b/libcharconv_turned.c
@@ -45,7 +45,64 @@ static struct {
{UINT32_C(0x23C1), UINT32_C(0x23C2)},
{UINT32_C(0x23C7), UINT32_C(0x23C8)},
{UINT32_C(0x238F), UINT32_C(0x2390)},
- {UINT32_C(0x2391), UINT32_C(0x2392)}
+ {UINT32_C(0x2391), UINT32_C(0x2392)},
+ {UINT32_C(0x169B), UINT32_C(0x169C)},
+ {UINT32_C(0x1FBA0), UINT32_C(0x1FBA3)},
+ {UINT32_C(0x1FBA2), UINT32_C(0x1FBA1)},
+ {UINT32_C(0x1FBA4), UINT32_C(0x1FBA5)},
+ {UINT32_C(0x1FBAA), UINT32_C(0x1FBAD)},
+ {UINT32_C(0x1FBAC), UINT32_C(0x1FBAB)},
+ {UINT32_C(0x250C), UINT32_C(0x2518)},
+ {UINT32_C(0x250D), UINT32_C(0x2519)},
+ {UINT32_C(0x250E), UINT32_C(0x251A)},
+ {UINT32_C(0x250F), UINT32_C(0x251B)},
+ {UINT32_C(0x2510), UINT32_C(0x2514)},
+ {UINT32_C(0x2511), UINT32_C(0x2515)},
+ {UINT32_C(0x2512), UINT32_C(0x2516)},
+ {UINT32_C(0x2513), UINT32_C(0x2517)},
+ {UINT32_C(0x251C), UINT32_C(0x2524)},
+ {UINT32_C(0x251D), UINT32_C(0x2525)},
+ {UINT32_C(0x251F), UINT32_C(0x2526)},
+ {UINT32_C(0x2520), UINT32_C(0x2528)},
+ {UINT32_C(0x2522), UINT32_C(0x2529)},
+ {UINT32_C(0x2523), UINT32_C(0x252B)},
+ {UINT32_C(0x2527), UINT32_C(0x251E)},
+ {UINT32_C(0x252A), UINT32_C(0x2521)},
+ {UINT32_C(0x252C), UINT32_C(0x2534)},
+ {UINT32_C(0x252D), UINT32_C(0x2536)},
+ {UINT32_C(0x252E), UINT32_C(0x2535)},
+ {UINT32_C(0x252F), UINT32_C(0x2537)},
+ {UINT32_C(0x2530), UINT32_C(0x2538)},
+ {UINT32_C(0x2531), UINT32_C(0x253A)},
+ {UINT32_C(0x2532), UINT32_C(0x2539)},
+ {UINT32_C(0x2533), UINT32_C(0x253B)},
+ {UINT32_C(0x253E), UINT32_C(0x253D)},
+ {UINT32_C(0x2540), UINT32_C(0x2541)},
+ {UINT32_C(0x2545), UINT32_C(0x2544)},
+ {UINT32_C(0x2546), UINT32_C(0x2543)},
+ {UINT32_C(0x2547), UINT32_C(0x2548)},
+ {UINT32_C(0x254A), UINT32_C(0x2549)},
+ {UINT32_C(0x2552), UINT32_C(0x255B)},
+ {UINT32_C(0x2553), UINT32_C(0x255C)},
+ {UINT32_C(0x2554), UINT32_C(0x255D)},
+ {UINT32_C(0x2555), UINT32_C(0x2558)},
+ {UINT32_C(0x2556), UINT32_C(0x2559)},
+ {UINT32_C(0x2557), UINT32_C(0x255A)},
+ {UINT32_C(0x255E), UINT32_C(0x2561)},
+ {UINT32_C(0x255F), UINT32_C(0x2562)},
+ {UINT32_C(0x2560), UINT32_C(0x2563)},
+ {UINT32_C(0x2564), UINT32_C(0x2567)},
+ {UINT32_C(0x2565), UINT32_C(0x2568)},
+ {UINT32_C(0x2566), UINT32_C(0x2569)},
+ {UINT32_C(0x256D), UINT32_C(0x256F)},
+ {UINT32_C(0x256E), UINT32_C(0x2570)},
+ {UINT32_C(0x2574), UINT32_C(0x2576)},
+ {UINT32_C(0x2575), UINT32_C(0x2577)},
+ {UINT32_C(0x2578), UINT32_C(0x257A)},
+ {UINT32_C(0x2579), UINT32_C(0x257B)},
+ {UINT32_C(0x257C), UINT32_C(0x257E)},
+ {UINT32_C(0x257D), UINT32_C(0x257F)},
+ {UINT32_C(0x2E34), UINT32_C(0x2E32)}
};
@@ -115,6 +172,12 @@ libcharconv_turned(const char *s, size_t slen, size_t *n, uint_least32_t *cp, si
| ((c & 0x08u) << 3) | ((c & 0x40u) >> 3)
| UINT32_C(0x2800);
goto conv;
+ } else if (UINT32_C(0x1681) <= c && c <= UINT32_C(0x1685)) {
+ c += 5u;
+ goto conv;
+ } else if (UINT32_C(0x1686) <= c && c <= UINT32_C(0x168A)) {
+ c -= 5u;
+ goto conv;
} else {
for (i = 0u; i < sizeof(pairs) / sizeof(*pairs); i++) {
if (c == pairs[i].a) {