diff options
Diffstat (limited to 'libcharconv_flipped.c')
| -rw-r--r-- | libcharconv_flipped.c | 53 |
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) { |
