Implementation of Unicode Case-Insensitive Matching
I added three macros:
-
ci
Basic case-insensitive matching based on case mappings in src/unicode/UCD-10.0.0/UnicodeData.txt -
cfs
Simple case folding based on the rules and mappings in src/unicode/UCD-10.0.0/CaseFolding.txt -
cff
Full case folding based on the rules and mappings in src/unicode/UCD-10.0.0/CaseFolding.txt
I added tests for cfs
and cff
in test/rpl-appl-test.lua
Future Work
The mapping tables in src/lua are not auto-generated at build time. The code I wrote to generate them is in src/unicode/case-folding.lua
For more detailed information, see src/unicode/case-insensitive-matching.md
Edited by Alec Landow