unicode: Add utf8-data module

utf8data.h contains a large database table which is an auto-generated
decodification trie for the unicode normalization functions.

Allow building it into a separate module.

Based on a patch from Shreeya Patel <shreeya.patel@collabora.com>.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
This commit is contained in:
Christoph Hellwig
2021-09-15 09:00:05 +02:00
committed by Gabriel Krisman Bertazi
parent 6ca99ce756
commit 2b3d047870
9 changed files with 126 additions and 91 deletions

View File

@@ -255,21 +255,21 @@ static void check_utf8_comparisons(struct unicode_map *table)
}
}
static void check_supported_versions(void)
static void check_supported_versions(struct unicode_map *um)
{
/* Unicode 7.0.0 should be supported. */
test(utf8version_is_supported(UNICODE_AGE(7, 0, 0)));
test(utf8version_is_supported(um, UNICODE_AGE(7, 0, 0)));
/* Unicode 9.0.0 should be supported. */
test(utf8version_is_supported(UNICODE_AGE(9, 0, 0)));
test(utf8version_is_supported(um, UNICODE_AGE(9, 0, 0)));
/* Unicode 1x.0.0 (the latest version) should be supported. */
test(utf8version_is_supported(UTF8_LATEST));
test(utf8version_is_supported(um, UTF8_LATEST));
/* Next versions don't exist. */
test(!utf8version_is_supported(UNICODE_AGE(13, 0, 0)));
test(!utf8version_is_supported(UNICODE_AGE(0, 0, 0)));
test(!utf8version_is_supported(UNICODE_AGE(-1, -1, -1)));
test(!utf8version_is_supported(um, UNICODE_AGE(13, 0, 0)));
test(!utf8version_is_supported(um, UNICODE_AGE(0, 0, 0)));
test(!utf8version_is_supported(um, UNICODE_AGE(-1, -1, -1)));
}
static int __init init_test_ucd(void)
@@ -285,7 +285,7 @@ static int __init init_test_ucd(void)
return PTR_ERR(um);
}
check_supported_versions();
check_supported_versions(um);
check_utf8_nfdi(um);
check_utf8_nfdicf(um);
check_utf8_comparisons(um);