diff options
| author | Mattias Andrée <m@maandree.se> | 2026-01-25 10:48:36 +0100 |
|---|---|---|
| committer | Mattias Andrée <m@maandree.se> | 2026-01-25 10:48:36 +0100 |
| commit | 931bbb77e11f0403f51fe1e9c18ef4f5e16a3fcf (patch) | |
| tree | 24e2ecb39218678ecf577108af9938962985151a /libcharconv_latin.c | |
| parent | Add braille (diff) | |
| download | charconv-931bbb77e11f0403f51fe1e9c18ef4f5e16a3fcf.tar.gz charconv-931bbb77e11f0403f51fe1e9c18ef4f5e16a3fcf.tar.bz2 charconv-931bbb77e11f0403f51fe1e9c18ef4f5e16a3fcf.tar.xz | |
Add lisu
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'libcharconv_latin.c')
| -rw-r--r-- | libcharconv_latin.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libcharconv_latin.c b/libcharconv_latin.c index 5124c53..9dc81cf 100644 --- a/libcharconv_latin.c +++ b/libcharconv_latin.c @@ -382,7 +382,15 @@ libcharconv_latin(const char *s, size_t slen, size_t *n, uint_least32_t *cp, siz *ncp = i; return ret; + } else if (UINT32_C(0xA4D0) <= c && c <= UINT32_C(0xA4FF)) { + /* lisu */ + c1 = "bpPdtYgkKjcCzfFmnlsrRVvhGJwxyBaAeEiouULD., ;:-="[c - UINT32_C(0xA4D0)]; + if (c1 == ' ') + goto use_switch; + goto conv1; + } else { + use_switch: switch (c) { /* shogi */ case UINT32_C(0x2616): c = (uint_least32_t)'w'; goto conv; @@ -529,6 +537,11 @@ libcharconv_latin(const char *s, size_t slen, size_t *n, uint_least32_t *cp, siz case UINT32_C(0x230E): c1 = '|'; c2 = '_'; goto conv2; case UINT32_C(0x230F): c1 = '_'; c2 = '|'; goto conv2; + /* lisu */ + case UINT32_C(0xA4FB): c1 = '.'; c2 = ','; goto conv2; + case UINT32_C(0xA4FA): c1 = '.'; c2 = '.'; goto conv2; + case UINT32_C(0x11FB0): c1 = 'Y'; goto conv1; + default: no_match: *n += clen; |
