rem: font->font.xft = XftFontOpenXlfd(display, scrPtr->screen, fname);
add: if (fname[0] == '-') { font->font.xft = XftFontOpenXlfd(display, scrPtr->screen, fname); } else { font->font.xft = XftFontOpenName(display, scrPtr->screen, fname); }
context: WMCreateAntialiasedFontSet(WMScreen *scrPtr, char *fontName){#ifdef XFT    WMFont *font;    Display *display = scrPtr->display;    char *fname, *ptr;    if (!scrPtr->hasXftSupport)        return NULL;    fontName = xlfdFromFontName(fontName, True);    if ((ptr = strchr(fontName, ','))) {        fname = wmalloc(ptr - fontName + 1);	strncpy(fname, fontName, ptr - fontName);	fname[ptr - fontName] = 0;    } else {	fname = wstrdup(fontName);    }    wfree(fontName);    font = WMHashGet(scrPtr->xftFontSetCache, fname);    if (font) {	WMRetainFont(font);	wfree(fname);	return font;    }    font = wmalloc(sizeof(WMFont));    memset(font, 0, sizeof(WMFont));    font->notFontSet = 0;    font->antialiased = 1;    font->screen = scrPtr;    /* Xft sux. Loading a font with an invalid XLFD will give strange results     * sometimes without returning any warning or error.     * However Xft's idea of what font is invalid is quite strange:     * 1. If the XLFD doesn't have all its fields present will fail and     *    return NULL.     * 2. If all fields are present, but hold invalid values then it will:     *    a. If family is invalid, will load a default font without warning.     *    b. If the font size is invalid (non-numerical) it will fail and     *       return NULL.     *    c. If other fields are invalid, will load the font specified by     *       the valid family name, ignoring any invalid fields. It will     *       use a default medium weight and a default roman slant if they     *       are invalid.     */    font->font.xft = XftFontOpenXlfd(display, scrPtr->screen, fname);    if (!font->font.xft) {        wfree(font);        wfree(fname);        return NULL;    }    font->height = font->font.xft->ascent+font->font.xft->descent;    font->y = font->font.xft->ascent;    font->refCount = 1;    font->name = fname;    assert(WMHashInsert(scrPtr->xftFontSetCache, font->name, font)==NULL);    return font;#else    return NULL;#endif}