rem: panel->fonts->families[panel->fonts->familyn++].name= wstrdup("sans");
add: panel->fonts->families[panel->fonts->familyn++].name= wstrdup("sans serif");
context: lookup_available_fonts(_Panel *panel){    FcPattern *pat = FcPatternCreate();    FcObjectSet *os;    FcFontSet *fonts;    FontFamily *family;    os = FcObjectSetBuild(FC_FAMILY, FC_WEIGHT, FC_WIDTH, FC_SLANT, NULL);        fonts = FcFontList(0, pat, os);        if (fonts)    {        int i;        panel->fonts= wmalloc(sizeof(FontList));        panel->fonts->familyn= 0;        panel->fonts->families= wmalloc(sizeof(FontFamily)*fonts->nfont);        for (i= 0; i < fonts->nfont; i++)        {            FcChar8 *name;            int weight, slant, width;            int j, found;            if (FcPatternGetString(fonts->fonts[i], FC_FAMILY, 0, &name) != FcResultMatch)              continue;            if (FcPatternGetInteger(fonts->fonts[i], FC_WEIGHT, 0, &weight) != FcResultMatch)              weight= FC_WEIGHT_MEDIUM;            if (FcPatternGetInteger(fonts->fonts[i], FC_WIDTH, 0, &width) != FcResultMatch)              width= FC_WIDTH_NORMAL;            if (FcPatternGetInteger(fonts->fonts[i], FC_SLANT, 0, &slant) != FcResultMatch)              slant= FC_SLANT_ROMAN;            found = -1;            for (j = 0; j < panel->fonts->familyn && found<0; j++)              if (strcasecmp(panel->fonts->families[j].name, name)==0)                found= j;                        if (found < 0)            {                panel->fonts->families[panel->fonts->familyn++].name= wstrdup(name);                family= panel->fonts->families + panel->fonts->familyn-1;                family->stylen= 0;                family->styles= NULL;            }            else                family= panel->fonts->families+found;            family->stylen++;            family->styles= wrealloc(family->styles, sizeof(FontStyle)*family->stylen);            family->styles[family->stylen-1].weight= weight;            family->styles[family->stylen-1].slant= slant;            family->styles[family->stylen-1].width= width;        }        qsort(panel->fonts->families, panel->fonts->familyn, sizeof(FontFamily),              compare_family);        FcFontSetDestroy(fonts);    }    if (os)      FcObjectSetDestroy(os);    if (pat)      FcPatternDestroy(pat);    panel->fonts->families[panel->fonts->familyn++].name= wstrdup("sans");    family= panel->fonts->families + panel->fonts->familyn-1;    family->styles= wmalloc(sizeof(FontStyle)*2);    family->stylen= 2;    family->styles[0].weight= FC_WEIGHT_MEDIUM;    family->styles[0].slant= FC_SLANT_ROMAN;    family->styles[0].width= FC_WIDTH_NORMAL;    family->styles[1].weight= FC_WEIGHT_BOLD;    family->styles[1].slant= FC_SLANT_ROMAN;    family->styles[1].width= FC_WIDTH_NORMAL;    panel->fonts->families[panel->fonts->familyn++].name= wstrdup("serif");    family= panel->fonts->families + panel->fonts->familyn-1;    family->styles= wmalloc(sizeof(FontStyle)*2);    family->stylen= 2;    family->styles[0].weight= FC_WEIGHT_MEDIUM;    family->styles[0].slant= FC_SLANT_ROMAN;    family->styles[0].width= FC_WIDTH_NORMAL;    family->styles[1].weight= FC_WEIGHT_BOLD;    family->styles[1].slant= FC_SLANT_ROMAN;    family->styles[1].width= FC_WIDTH_NORMAL;}