| 
			
				|  | 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, 14: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, 15: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, 11: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, 21: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, 09: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, 18: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, 18: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
 |