JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=968a4dbd96ad1935e8601c8a3af7e8c4Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

asiatische Fonts benutzen??

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 11.09.2004, 15:37    Titel: asiatische Fonts benutzen?? Antworten mit Zitat

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...Sad

[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
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 11.09.2004, 16:40    Titel: Antworten mit Zitat

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.... Confused Crying or Very sad Arrow Mad

Warum geht das nicht? ...(warum?)
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 12.09.2004, 12:08    Titel: Antworten mit Zitat

Ich suche das ganze Web ab, schon länger als 2 Stunden und immer noch nichts... Mad

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
Benutzer-Profile anzeigen Private Nachricht senden
JkerryZ
JLI Master Trainee



Anmeldedatum: 18.05.2004
Beiträge: 575
Wohnort: Wolfsburg
Medaillen: Keine

BeitragVerfasst am: 12.09.2004, 22:33    Titel: Antworten mit Zitat

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 Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 13.09.2004, 10:38    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
PeaceKiller
JLI Master


Alter: 36
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 13.09.2004, 19:31    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 13.09.2004, 19:51    Titel: Antworten mit Zitat

Ja, das hat mir auch AFE-GmdG gesagt. Er hat mir auch angeboten dabei zu helfen, wenn er wieder Zeit hat. Very Happy
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum