Split unicode case LUTs in single and multi variants

The majority of char case replacements are single char replacements,
so storing them as [char; 3] wastes a lot of space.

This commit splits the replacement tables for both `to_lower` and
`to_upper` into two separate tables, one with single-character mappings
and one with multi-character mappings.

This reduces the binary size for programs using all of these tables
with roughly 24K bytes.
This commit is contained in:
Martin Gammelsæter 2023-03-16 11:56:33 +01:00
parent 8a4eb9e3a8
commit f9bd884385
2 changed files with 1008 additions and 1695 deletions

File diff suppressed because it is too large Load diff