Exemplo n.º 1
0
FontConfigFont *
FcGetFontFromFile (gchar * filepath, int index) {
    g_assert(FcInit());
    int count;
    FontConfigFont * font = font_config_font_new();
    FcBlanks * blanks = FcBlanksCreate();
    FcPattern * pattern = FcFreeTypeQuery((const FcChar8 *) filepath, index, blanks, &count);
    if (!pattern) {
        g_warning("Failed to create FontConfig pattern for file : %s", filepath);
        if (font)
            g_object_unref(font);
        if (blanks)
            FcBlanksDestroy(blanks);
        return NULL;
    } else {
        get_font_details_from_pattern(font, pattern);
    }

    if (blanks)
        FcBlanksDestroy(blanks);
    if (pattern)
        FcPatternDestroy(pattern);

    return font;
}
Exemplo n.º 2
0
FcBool
FcConfigAddBlank (FcConfig	*config,
		  FcChar32    	blank)
{
    FcBlanks	*b, *freeme = 0;
    
    b = config->blanks;
    if (!b)
    {
	freeme = b = FcBlanksCreate ();
	if (!b)
	    return FcFalse;
    }
    if (!FcBlanksAdd (b, blank))
    {
        if (freeme)
            FcBlanksDestroy (freeme);
	return FcFalse;
    }
    config->blanks = b;
    return FcTrue;
}