Case folding fixes (#133)
authorSteven G. Johnson <stevenj@mit.edu>
Wed, 2 May 2018 12:15:02 +0000 (08:15 -0400)
committerGitHub <noreply@github.com>
Wed, 2 May 2018 12:15:02 +0000 (08:15 -0400)
commitbdc8b9e4b2063e4b4563938d5077ee3b826cf342
treeb82ecf4a68d8b8841f4cb5aa4f903841f729bb47
parent48949bd3ebd66bb94a40f4c3fcfb26dd4bf2be2b
Case folding fixes (#133)

* Fixes allowing for “Full” folding and NFKC_CaseFold compliance.

* Only include C (Common) and F (Full) foldings from CaseFolding.txt. Removed S (Simple) since F & S are specified to be exclusive.
* Extend UTF8PROC_IGNORE to also ignore unassigned codepoints (such as \u2065) which are specified as being discarded by NFKC_CF.

* Document the changes to UTF8PROC_IGNORE in header.

* Add NFKC_CF helper function with documentation.

* restore old IGNORE behavior, add UTF8PROC_STRIPNA, rename to utf8proc_NFKC_Casefold, add a test

* success message

* test that IGNORE does not strip NA

* data update

* NFKC_Casefold shouldn't strip NA
data/data_generator.rb
test/custom.c
test/misc.c
utf8proc.c
utf8proc.h
utf8proc_data.c