/* % cc `pkg-config --cflags --libs fontconfig` -o testcase testcase.c % ./testcase sk_SK.UTF-8 sr_Cyrl_RS.UTF-8 For patched fontconfig: Result of FcLangNormalize for 'sk_SK.UTF-8' is 'sk' Result of FcLangNormalize for 'sr_Cyrl_RS.UTF-8' is 'sr' For unpatched fontconfig: Result of FcLangNormalize for 'sk_SK.UTF-8' is 'sk' Fontconfig warning: ignoring sr_Cyrl_RS.UTF-8: not a valid region tag No result of FcLangNormalize for 'sr_Cyrl_RS.UTF-8' */ #include #include int main(int argc, const char *argv[]) { if (argc < 2) { fprintf(stderr, "Additional argument(s) required\n" "Example of usage: %s en_US.UTF_8\n", argv[0]); return 1; } for (int i = 1; i < argc; ++i) { FcChar8 *result = NULL; result = FcLangNormalize((FcChar8 *) argv[i]); if (result) { printf("Result of FcLangNormalize for '%s' is '%s'\n", argv[i], result); FcStrFree(result); } else { printf("No result of FcLangNormalize for '%s'\n", argv[i]); } } return 0; }