 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 11.09.2004, 15:37 Titel: asiatische Fonts benutzen?? |
|
|
Ich will in einer Anwendung einen asiatischen Font benutzen, in Wordpad kann ich nur mit dem schreiben, wenn ich rechts unten - links neben den Tasks in der Taskleiste nicht DE sondern halt ein asiatische Tastaturlayout auswähle. Ansonsten krieg ich nur die langweiligen deutschen Buchstaben.
Aber wie kann ich jetzt mit dem Direct3D Font (LPD3DXFONT) nachdem ich den Font ausgewählt habe auch mit den asiatischen Zeichen auf den Bildschirm schreiben?
Wenn ich in WordPad etwas schreibe und ich kopiere es in Visual C++ dann bekomme ich nur so dumme Fragezeichen --> ?????????
Das ist ziemlich b...löd!!
Weiß einer wie ich das machen muss?
[EDIT]
Wenn ich in Notepad das reinschreibe und als UNICODE speichere dann bekomme ich komische Zeichen auf den Bildschirm, wahrscheinlich weil das LPD3DXFONT Objekt nur char* annimmt und das dann in single bytes umgewandelt wird...gibt es da noch eine UNICODE Funktion??
[EDIT2]
Ok sie unterstützt angeblich auch UNICODE:
Zitat: | ID3DXFont::DrawText Method
Draws formatted text. This method supports ANSI and Unicode strings.
Syntax
INT DrawText(
LPCSTR pString,
INT Count,
LPRECT pRect,
DWORD Format,
D3DCOLOR Color
);
Parameters
pString
[in] Pointer to a string to draw. This parameter supports ANSI and Unicode text strings. If UNICODE or _UNICODE is defined, the string must be of type LPCWSTR, otherwise, the string must be of type LPCSTR.
If the Count parameter is -1, the string must be null-terminated.
If Format includes DT_MODIFYSTRING, the function could add up to four additional characters to this string. The buffer containing the string should be large enough to accommodate these extra characters. |
Kann mir einer vielleicht helfen wie ich eine Datei auslesen kann (Textdatei - Unicode) und das in einem LPCWSTR speichere? Schaffe das nicht, weil ich das weder mit fgets noch mit fgetws auslesen kann...
[EDIT3]
Warum geht dann nicht mal das:
LPCWSTR string = L"yan ze gyo";
RECT r = {x,y,0,0};
temp->DrawText(string,-1,&r,DT_CALCRECT,Color);
temp->DrawText(string,-1,&r,DT_CENTER,Color);
Fehlermeldung:
Zitat: | error C2664: 'DrawTextA' : Konvertierung des Parameters 1 von 'const unsigned short *' in 'const char *' nicht moeglich
Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
error C2664: 'DrawTextA' : Konvertierung des Parameters 1 von 'const unsigned short *' in 'const char *' nicht moeglich
Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
Fehler beim Ausführen von cl.exe. |
_________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 11.09.2004, 16:40 Titel: |
|
|
Das geht auch nicht:
Code: | FILE* data = fopen("china.txt","r");
wchar_t string [1024];
fgetws(string,1024,data);
fclose(data);
RECT r = {x,y,0,0};
temp->DrawTextW(string,-1,&r,DT_CALCRECT,Color);
temp->DrawTextW(string,-1,&r,DT_CENTER,Color); |
Ich bekomme nur die normalen Zeichen gemischt mit nem y mit zwei Punkten drauf und diese tollen viereckigen Kästchen die man in Binärcode bestaunen kann....
Warum geht das nicht? ...(warum?) _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 12.09.2004, 12:08 Titel: |
|
|
Ich suche das ganze Web ab, schon länger als 2 Stunden und immer noch nichts...
Kennt keiner von euch irgendein Projekt (am besten mit DirectX) das einen ausländischen Font benutzt also mit einem anderen Zeichensatz und woman den Sourcecode einsehen kann? _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
JkerryZ JLI Master Trainee

Anmeldedatum: 18.05.2004 Beiträge: 575 Wohnort: Wolfsburg Medaillen: Keine
|
Verfasst am: 12.09.2004, 22:33 Titel: |
|
|
Mach es doch z.B. mit einem BitmapFont oder FontBitmap oder wie das auch heisst, so wie es HotAcid in seinem Wettbewerbs-Programm mit seiner Schrift "Kids" gemacht hat. Wär zwar ein haufen Arbeit aber dann würde es gehen  |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 13.09.2004, 10:38 Titel: |
|
|
Hab jetzt ein Font gefunden, der auf 8bit und nicht nur 16bit (unicode) funktioniert. Also wenn ich jetzt "abc" tippe kommen jetzt irgendwelche andere Zeichen. Hab jetzt aber aus einem Buch die Zeichen rauskopiert.
Nachteil bei sowas ist natürlich:
- Größe nicht einfach skalierbar mit guter Qualität
- Farben können schlecht geändert werden
- ziemlich langsam
Aber wäre trotzdem mal schön, Unicode Fonts benutzen zu können... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
PeaceKiller JLI Master

Alter: 36 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 13.09.2004, 19:31 Titel: |
|
|
Muss man dann nicht sein gesamtes Projekt auf Unicode umstellen? _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 13.09.2004, 19:51 Titel: |
|
|
Ja, das hat mir auch AFE-GmdG gesagt. Er hat mir auch angeboten dabei zu helfen, wenn er wieder Zeit hat.  _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|