diff options
| author | Mattias Andrée <m@maandree.se> | 2026-01-31 12:31:10 +0100 |
|---|---|---|
| committer | Mattias Andrée <m@maandree.se> | 2026-01-31 12:31:10 +0100 |
| commit | 9324c85254fbc515528cf9370b4d8564d646f043 (patch) | |
| tree | e08b921135451eba680c2382e4124e4d2f596cf3 /libcharconv_turned.c | |
| parent | Clean up (diff) | |
| download | charconv-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.c | 65 |
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) { |
