Я пытаюсь использовать XFT, учебник, ну, дайте им называть это учебником ... Похоже, он был написан в северокорейском лагере ... Я также нашел это. Итак, позвольте мне попробовать сделать шаг за шагом: < /p>
// g++ XftTest.cc -lX11 -lXft `pkg-config --cflags freetype2`
#include
#include
#include
#include
int main()
{
Display *display;
XftFont *font;
XftDraw *xftdraw;
XRenderColor xrcolor;
XftColor xftcolor;
display = XOpenDisplay(0);
Window XP = XCreateSimpleWindow(display,DefaultRootWindow(display),0,0,360,90,0,0,0);
XMapWindow(display,XP);
font = NULL; /* added 6/16 */
//font = XftFontOpenName(display,0,"NorthKorea-50"); // how to check if this is good ?
font = XftFontOpenName(display,0,"") /* added 6/16 */
if (!font) return 1;
xftdraw = XftDrawCreate(display,XP,DefaultVisual(display,0),DefaultColormap(display,0));
xrcolor.red =65535;
xrcolor.green=0;
xrcolor.blue =0;
xrcolor.alpha=65535;
XftColorAllocValue(display,DefaultVisual(display,0),DefaultColormap(display,0),&xrcolor,&xftcolor);
XftDrawString8(xftdraw, &xftcolor, font, 20,70 , (XftChar8 *)"Joe Dalton", 10);
XFlush(display);
sleep(2);
XftDrawDestroy(xftdraw);
XftColorFree(display,DefaultVisual(display,0),DefaultColormap(display,0),&xftcolor);
return 0;
}
< /code>
Как вы можете видеть, в xftfontopenname < /code>:
XftFontOpenName(display,0,"NorthKorea-50")< /code>
Если вы напишете чушь, как и я, нет ошибки или что -то, что можно сказать, что у меня нет шрифта, называемого Northkorea. Это имеет смысл, так как xftfontopenname
возвращает ближайший шрифт из строки. < /p>
Итак, как я могу проверить, соответствует ли мой шрифт или нет? Как я могу использовать шрифт, подобный Arial? Я попробовал xftfontopenname (дисплей, 0, "Arial-50"), я не получил ничего другого.
$ls /usr/share/fonts/
100dpi 75dpi cyrillic encodings misc OTF TTF Type1 util
< /code>
Могу ли я использовать какой -либо шрифт в этих папках таким же образом? < /p>
n.b. : Нет тега XFT ... < /p>
обновление 6/16 < /h1>
Я все еще застрял в Dat Stuff ...
Я не понимаю, если я заменяю < /p>
font = XftFontOpenName(display,0,"NorthKorea-50");
< /code>
by < /p>
font = XftFontOpenName(display,0,"");
< /code>
он все еще загружает шрифт ... < /p>
xlsfonts возвращает много вещей, например, dat One: < /p>
-monotype-courier new-bold-r-normal--0-0-0-0-m-0-iso8859-10
< /code>
Но передавать это как аргумент в xftfontopenname < /code> ничего не меняет; Я пытаюсь загрузить шрифт с помощью xftfontopenxlfd
Я пытаюсь использовать XFT, учебник, ну, дайте им называть это учебником ... Похоже, он был написан в северокорейском лагере ... Я также нашел это. Итак, позвольте мне попробовать сделать шаг за шагом: < /p>
display = XOpenDisplay(0); Window XP = XCreateSimpleWindow(display,DefaultRootWindow(display),0,0,360,90,0,0,0); XMapWindow(display,XP);
font = NULL; /* added 6/16 */
//font = XftFontOpenName(display,0,"NorthKorea-50"); // how to check if this is good ? font = XftFontOpenName(display,0,"") /* added 6/16 */ if (!font) return 1;
Как вы можете видеть, в xftfontopenname < /code>: XftFontOpenName(display,0,"NorthKorea-50")< /code> Если вы напишете чушь, как и я, нет ошибки или что -то, что можно сказать, что у меня нет шрифта, называемого Northkorea. Это имеет смысл, так как xftfontopenname [/code] возвращает ближайший шрифт из строки. < /p>
Итак, как я могу проверить, соответствует ли мой шрифт или нет? Как я могу использовать шрифт, подобный Arial? Я попробовал xftfontopenname (дисплей, 0, "Arial-50"), я не получил ничего другого.[code]$ls /usr/share/fonts/ 100dpi 75dpi cyrillic encodings misc OTF TTF Type1 util < /code>
Могу ли я использовать какой -либо шрифт в этих папках таким же образом? < /p>
n.b. : Нет тега XFT ... < /p>
обновление 6/16 < /h1>
Я все еще застрял в Dat Stuff ... Я не понимаю, если я заменяю < /p>
font = XftFontOpenName(display,0,"NorthKorea-50"); < /code>
by < /p>
font = XftFontOpenName(display,0,""); < /code>
он все еще загружает шрифт ... < /p>
xlsfonts возвращает много вещей, например, dat One: < /p>
Но передавать это как аргумент в xftfontopenname < /code> ничего не меняет; Я пытаюсь загрузить шрифт с помощью xftfontopenxlfd [/code], он возвращает всегда null ...