aboutsummaryrefslogtreecommitdiffstats
path: root/libcharconv_flipped.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcharconv_flipped.c')
-rw-r--r--libcharconv_flipped.c53
1 files changed, 52 insertions, 1 deletions
diff --git a/libcharconv_flipped.c b/libcharconv_flipped.c
index 3da791c..05de818 100644
--- a/libcharconv_flipped.c
+++ b/libcharconv_flipped.c
@@ -22,7 +22,52 @@ static struct {
{UINT32_C(0x23C9), UINT32_C(0x23CA)},
{UINT32_C(0x23C1), UINT32_C(0x23C2)},
{UINT32_C(0x238F), UINT32_C(0x2390)},
- {UINT32_C(0x2391), UINT32_C(0x2392)}
+ {UINT32_C(0x2391), UINT32_C(0x2392)},
+ {UINT32_C(0x2571), UINT32_C(0x2572)},
+ {UINT32_C(0x1FBA2), UINT32_C(0x1FBA0)},
+ {UINT32_C(0x1FBA3), UINT32_C(0x1FBA1)},
+ {UINT32_C(0x1FBA6), UINT32_C(0x1FBA7)},
+ {UINT32_C(0x1FBA8), UINT32_C(0x1FBA9)},
+ {UINT32_C(0x1FBAA), UINT32_C(0x1FBAC)},
+ {UINT32_C(0x1FBAB), UINT32_C(0x1FBAD)},
+ {UINT32_C(0x250C), UINT32_C(0x2514)},
+ {UINT32_C(0x250D), UINT32_C(0x2515)},
+ {UINT32_C(0x250E), UINT32_C(0x2516)},
+ {UINT32_C(0x250F), UINT32_C(0x2517)},
+ {UINT32_C(0x2510), UINT32_C(0x2518)},
+ {UINT32_C(0x2511), UINT32_C(0x2519)},
+ {UINT32_C(0x2512), UINT32_C(0x251A)},
+ {UINT32_C(0x2513), UINT32_C(0x251B)},
+ {UINT32_C(0x251F), UINT32_C(0x251E)},
+ {UINT32_C(0x2522), UINT32_C(0x2521)},
+ {UINT32_C(0x2527), UINT32_C(0x2526)},
+ {UINT32_C(0x252A), UINT32_C(0x2529)},
+ {UINT32_C(0x252C), UINT32_C(0x2534)},
+ {UINT32_C(0x252D), UINT32_C(0x2535)},
+ {UINT32_C(0x252E), UINT32_C(0x2536)},
+ {UINT32_C(0x252F), UINT32_C(0x2537)},
+ {UINT32_C(0x2530), UINT32_C(0x2538)},
+ {UINT32_C(0x2531), UINT32_C(0x2539)},
+ {UINT32_C(0x2532), UINT32_C(0x253A)},
+ {UINT32_C(0x2533), UINT32_C(0x253B)},
+ {UINT32_C(0x2541), UINT32_C(0x2540)},
+ {UINT32_C(0x2545), UINT32_C(0x2543)},
+ {UINT32_C(0x2546), UINT32_C(0x2544)},
+ {UINT32_C(0x2548), UINT32_C(0x2547)},
+ {UINT32_C(0x2552), UINT32_C(0x2558)},
+ {UINT32_C(0x2553), UINT32_C(0x2559)},
+ {UINT32_C(0x2554), UINT32_C(0x255A)},
+ {UINT32_C(0x2555), UINT32_C(0x255B)},
+ {UINT32_C(0x2556), UINT32_C(0x255C)},
+ {UINT32_C(0x2557), UINT32_C(0x255D)},
+ {UINT32_C(0x2564), UINT32_C(0x2567)},
+ {UINT32_C(0x2565), UINT32_C(0x2568)},
+ {UINT32_C(0x2566), UINT32_C(0x2569)},
+ {UINT32_C(0x256D), UINT32_C(0x2570)},
+ {UINT32_C(0x256E), UINT32_C(0x256F)},
+ {UINT32_C(0x2575), UINT32_C(0x2577)},
+ {UINT32_C(0x2579), UINT32_C(0x257B)},
+ {UINT32_C(0x257D), UINT32_C(0x257F)}
};
@@ -84,6 +129,12 @@ libcharconv_flipped(const char *s, size_t slen, size_t *n, uint_least32_t *cp, s
| ((c & 0x08u) << 4) | ((c & 0x80u) >> 4)
| 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) {