[OpenGL - WGL] Textausgabe in Unicode
-
Hi,
ich habe ein Programm geschrieben mit der WGL (Vollbild/Fenster) mit 32 Bit Grafikoberfläche, Textausgabe mach ich mit wglCreateFont, doch die scheint irgendwie nur den ASCII-Zeichensatz zu können, ich hätter gerne aber UNICODE (wchar_t).
Wie macht man das am bestes? Quellcodes? Tutorials? Samples?
-
Hi,
hat keiner eine Idee?

-
Enthält dein Font auch die entsprechenden Zeichen?!
-
ich benutze Arial?
-
Etwas Code wäre evtl. auch hilfreich.
-
GLvoid BuildFont(GLvoid) // Build Our Bitmap Font { HFONT font; // Windows Font ID HFONT oldfont; // Used For Good House Keeping base = glGenLists(96); // Storage For 96 Characters ( NEW ) font = CreateFont( -18, // Height Of Font ( NEW ) 0, // Width Of Font 0, // Angle Of Escapement 0, // Orientation Angle FW_BOLD, // Font Weight FALSE, // Italic FALSE, // Underline FALSE, // Strikeout ANSI_CHARSET, // Character Set Identifier OUT_TT_PRECIS, // Output Precision CLIP_DEFAULT_PRECIS, // Clipping Precision ANTIALIASED_QUALITY, // Output Quality FF_DONTCARE|DEFAULT_PITCH, // Family And Pitch "Courier New"); // Font Name oldfont = (HFONT)SelectObject(hDC, font); // Selects The Font We Want wglUseFontBitmaps(hDC, 32, 96, base); // Builds 96 Characters Starting At Character 32 SelectObject(hDC, oldfont); // Selects The Font We Want DeleteObject(font); // Delete The Font } GLvoid KillFont(GLvoid) // Delete The Font List { glDeleteLists(base, 96); // Delete All 96 Characters ( NEW ) } GLvoid glPrint(const char *fmt, ...) // Custom GL "Print" Routine { char text[256]; // Holds Our String va_list ap; // Pointer To List Of Arguments if (fmt == NULL) // If There's No Text return; // Do Nothing va_start(ap, fmt); // Parses The String For Variables vsprintf(text, fmt, ap); // And Converts Symbols To Actual Numbers va_end(ap); // Results Are Stored In Text glPushAttrib(GL_LIST_BIT); // Pushes The Display List Bits ( NEW ) glListBase(base - 32); // Sets The Base Character to 32 ( NEW ) glCallLists(strlen(text), GL_UNSIGNED_BYTE, text); // Draws The Display List Text ( NEW ) glPopAttrib(); // Pops The Display List Bits ( NEW ) }
-
Mit char kannst du natürlich keinen Unicode-String speichern - oder habe ich den Code fehlinterpretiert

-
naja ich hatte meinen code schon verändert, aber es läuft nicht

-
UNICODE-Man schrieb:
naja ich hatte meinen code schon verändert, aber es läuft nicht

ein sehr hilfreiches statement..
