Xft font is now selected using prefix "xft:".
Fix valgrind complaint (drawable caching). SVN revision: 31210
This commit is contained in:
parent
ac3c5764cf
commit
204496d8c5
|
@ -3,33 +3,33 @@
|
|||
__E_CFG_VERSION 1
|
||||
__FONTS __BGN
|
||||
|
||||
font-default "Sans-8:Bold"
|
||||
font-default "xft:sans-8:bold"
|
||||
|
||||
font-border "Sans-8:Bold"
|
||||
font-border-italic "Sans-8:Italic"
|
||||
font-border-small "Sans-6"
|
||||
font-border "xft:sans-8:bold"
|
||||
font-border-italic "xft:sans-8:italic"
|
||||
font-border-small "xft:sans-6"
|
||||
|
||||
font-coords "Sans-8:Bold"
|
||||
font-coords "xft:sans-8:bold"
|
||||
|
||||
font-dialog "Sans-8"
|
||||
font-dialog-hilite "Sans-8:Bold"
|
||||
font-dialog-italic "Sans-8:Italic"
|
||||
font-dialog "xft:sans-8"
|
||||
font-dialog-hilite "xft:sans-8:bold"
|
||||
font-dialog-italic "xft:sans-8:italic"
|
||||
|
||||
font-epplet "Sans-6"
|
||||
font-epplet-small "Sans-6"
|
||||
font-epplet-medium "Sans-8"
|
||||
font-epplet-large "Sans-10"
|
||||
font-epplet "xft:sans-6"
|
||||
font-epplet-small "xft:sans-6"
|
||||
font-epplet-medium "xft:sans-8"
|
||||
font-epplet-large "xft:sans-10"
|
||||
|
||||
font-focus "Sans-8:Bold"
|
||||
font-focus "xft:sans-8:bold"
|
||||
|
||||
font-iconbox "Sans-8:Bold"
|
||||
font-iconbox "xft:sans-8:bold"
|
||||
|
||||
font-init "Sans-9:Bold"
|
||||
font-init "xft:sans-9:bold"
|
||||
|
||||
font-menu "Sans-8"
|
||||
font-menu "xft:sans-8"
|
||||
|
||||
font-pager "Sans-8:Bold"
|
||||
font-pager "xft:sans-8:bold"
|
||||
|
||||
font-tooltip "Sans-8:Bold"
|
||||
font-tooltip "xft:sans-8:bold"
|
||||
|
||||
__END
|
||||
|
|
25
src/text.c
25
src/text.c
|
@ -25,13 +25,12 @@
|
|||
#include "eimage.h"
|
||||
#include "tclass.h"
|
||||
#include "xwin.h"
|
||||
#ifndef USE_XFT
|
||||
#undef FONT_TYPE_XFT
|
||||
#define FONT_TYPE_XFT 0
|
||||
#endif
|
||||
#if FONT_TYPE_XFT
|
||||
|
||||
#ifdef USE_XFT
|
||||
#include <X11/extensions/Xrender.h>
|
||||
#include <X11/Xft/Xft.h>
|
||||
#else
|
||||
#undef FONT_TYPE_XFT
|
||||
#endif
|
||||
|
||||
#if FONT_TYPE_IFT
|
||||
|
@ -428,14 +427,18 @@ _xft_Load(TextState * ts, int fallback __UNUSED__)
|
|||
{
|
||||
XftFont *font;
|
||||
FontCtxXft *fdc;
|
||||
const char *name;
|
||||
|
||||
if (strchr(ts->fontname, '/'))
|
||||
name = ts->fontname;
|
||||
if (!strncmp(name, "xft:", 4))
|
||||
name += 4;
|
||||
else if (strchr(name, '/'))
|
||||
return -1;
|
||||
|
||||
if (ts->fontname[0] == '-')
|
||||
font = XftFontOpenXlfd(disp, VRoot.scr, ts->fontname);
|
||||
if (name[0] == '-')
|
||||
font = XftFontOpenXlfd(disp, VRoot.scr, name);
|
||||
else
|
||||
font = XftFontOpenName(disp, VRoot.scr, ts->fontname);
|
||||
font = XftFontOpenName(disp, VRoot.scr, name);
|
||||
|
||||
if (!font)
|
||||
return -1;
|
||||
|
@ -446,7 +449,7 @@ _xft_Load(TextState * ts, int fallback __UNUSED__)
|
|||
|
||||
if (ftf == NULL)
|
||||
return -1;
|
||||
Eprintf("Font %s family_name=%s style_name=%s\n", ts->fontname,
|
||||
Eprintf("Font %s family_name=%s style_name=%s\n", name,
|
||||
ftf->family_name, ftf->style_name);
|
||||
XftUnlockFace(font);
|
||||
}
|
||||
|
@ -508,6 +511,7 @@ _xft_FdcInit(TextState * ts, Win win, Drawable draw)
|
|||
FontCtxXft *fdc = (FontCtxXft *) ts->fdc;
|
||||
|
||||
fdc->win = win;
|
||||
fdc->draw = draw;
|
||||
|
||||
fdc->xftd = XftDrawCreate(disp, draw, WinGetVisual(win), WinGetCmap(win));
|
||||
if (!fdc->xftd)
|
||||
|
@ -530,6 +534,7 @@ _xft_FdcSetDrawable(TextState * ts, unsigned long draw)
|
|||
|
||||
if (fdc->draw == draw)
|
||||
return;
|
||||
fdc->draw = draw;
|
||||
XftDrawChange(fdc->xftd, draw);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue