Linux, C ++, XFT: как его использовать?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Linux, C ++, XFT: как его использовать?

Сообщение Anonymous »

Я пытаюсь использовать 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 
, он возвращает всегда null ...

Подробнее здесь: https://stackoverflow.com/questions/170 ... -to-use-it
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»