#include <stdio.h>
#include <fontconfig/fontconfig.h>

int main()
{
    FcPattern *pattern, *resolvedPattern;
    FcResult result;

    printf("Initial pattern:\n");
    pattern = FcPatternCreate();
    FcPatternBuild(pattern, 
                   FC_FAMILY, FcTypeString, "DejaVu Sans", 
                   FC_FULLNAME, FcTypeString, "DejaVu Sans",
                   NULL);
    FcPatternPrint(pattern);

    for (int i=1; i<=2; i++)
    {
        printf("FcConfigSubstitute() call #%d:\n", i);
        FcConfigSubstitute(NULL, pattern, FcMatchPattern);
        FcPatternPrint(pattern);

        printf("FcDefaultSubstitute() call #%d:\n", i);
        FcDefaultSubstitute(pattern);
        FcPatternPrint(pattern);

        printf("Match returned by FcFontMatch() call #%d:\n", i);
        resolvedPattern = FcFontMatch(NULL, pattern, &result);
        FcPatternPrint(resolvedPattern);
    }
}
