Zitat von
alienous:
hmm habs jetz versucht im image32 mit textout... da kommen auch nur fragezeichen bei raus... die umlaute sind allerdings ok.
woran kann das liegen?
Delphi-Quellcode:
image32v.canvas.Font.Name := 'Verdana';
Image32V.Canvas.TextOut(10,10,utf8decode(_myrow[1]));
wobei Verdana mit russischen zeichen in word scheinbar klarkommt, Tahoma laut word auch, aber nicht in dem programm.
gibt es da tipps? binn am verzweifeln
eine provisorische ausgabe über php klappt auch einwandfrei im utf8 format.
danke
Leider sind die
VCL Canvas Methoden wie Canvas.TextOut auch nicht unicodefähig. Wenn es unbedingt per TextOut hingezeichnet werden muß, dann sollte sicherlich die Windows
API Funktion "TextOutW" funktionieren. Wenn ich mich richtig erinnere, sind sogar die Canvas-Funktionen von den Tnt Komponenten nicht unicodefähig.
Eigentlich ist es nicht viel anders, wenn du die
API Funktion TextOutW verwendest. Du mußt nur halt noch das dazugehörige
Handle mitübergeben.
Kurzes Beispiel:
Delphi-Quellcode:
var
ws: WideString;
begin
//..
ws:=utf8decode(_myrow[1]);
TextOutW(Image32V.Canvas.Handle,xpos,ypos,PWideChar(ws),length(ws));
//..
end;
Grüsse,
jus
P.S.: ich habe das Programm so auf die schnelle hingetippt, bitte schlagen, wenn es welche Fehler enthält