funkacja CreateFont w OpenGL pod Visual C++

0

mam pytanie odnośnie w/w funkcji jak zrobic zeby ona czytała wskazaną przeze mnie czcionkę np. mam w folderze z programem mam plik czcionki o nazwie np. Japanette.TTF ( nie jest ona zainstalowanana systemie ) i ta funkcja zawsze daje swoją domyślną a nie tę którą jej podam co trzeba zrobić żeby ona czytała zadeklarowaną czciokę a kod mam taki :

GLvoid BuildFont(GLvoid) {
HFONT font;

base = glGenLists(96);

font = CreateFont( -12,
0,
0,
0,
FW_BOLD,
FALSE,
FALSE,

EASTEUROPE_CHARSET,
OUT_TT_PRECIS,

CLIP_STROKE_PRECIS,
DRAFT_QUALITY,
FF_DECORATIVE|VARIABLE_PITCH,

"Japanette.ttf");
SelectObject(hDC, font);

wglUseFontBitmaps(hDC, 32, 96, base);
}

ten kod działa wtedy jeżeli czcionka jest zainstalowana w systemie

0

1)zainstaluj czcionkę w systemie i jest spoko
2)szukałeś może na grupach dyskusyjnych ?

0

Tak ale to nie rozwiązje problemu dlatego ze z aplikacja musiałbym instalować czcionkę na innych kompach na których uruchamiam program a czy tak np robią gry ? lub inne dema w OpenGL'u ? nie nie instalują czcionki tylko mają własną w swoim katalogu

0

Na starcie programu instalujesz fonta:
AddFontResource("Japanette.ttf");
teraz mozesz odpalic CreateFont();
a na koniec usuwasz

RemoveFontResource("Japanette.ttf");

Tak wlasnie robia niektore gry i dema. Najczesciej jednak uzywaja one wlasnej czcionki(ek) na bitmapce z 256 znakami i odpowiednio ja dziela. Poniewaz w wiekszosci sa to kolorowe i "wybajerowane" czcionki np: animowane, a te z systemu takich wlasciwosci nie posiadaja, poza tym nie trzeba sie w ogole martwic o dodawanie ich do systemowej listy;

1 użytkowników online, w tym zalogowanych: 0, gości: 1