Announcement

Collapse
No announcement yet.

String to unicode und ausgabe Chinesisch Trad. 1028

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • String to unicode und ausgabe Chinesisch Trad. 1028

    Hi Ich habe mal eine Frage zur Ausgabe von Unicode.
    Vielleicht kann mir das jemand beantworten.

    Also ich habe eine kleine multisprachen Anwendung geschrieben mit dem Multilizer. Nun wollte ich einen String ausgeben aber der soll gezeichnet werden.

    Siehe Beispiel:


    with btn1.Canvas do
    begin
    BitBlt(Handle, 0, 0, Width, Height, Bitmap32List1.Bitmap[1].Handle, 0, 0, SRCCOPY);

    SetBkMode(Handle, TRANSPARENT);
    Font.Color := RGB(110,140,185);
    //Font.Style := [fsBold];
    Font.Name := 'Tahoma';
    if (m_Product = '0') then
    begin
    //TextOut( 58, 16, szButton1_T1);
    getmem(PWideChar2, 512);
    StringToWideChar(szButton1_T1, PWideChar2, 512);
    TextOutW(Handle,58,16, PWideChar2, length(PWideChar2));
    freemem(PWideChar2);
    end
    else begin
    //TextOut( 58, 16, szButton1_T2);
    getmem(PWideChar2, 512);
    StringToWideChar(szButton1_T2, PWideChar2, 512);
    TextOutW(Handle,58,16, PWideChar2, length(PWideChar2));
    freemem(PWideChar2);
    end;
    SetBkMode(Handle, OPAQUE);
    end;

    Das Programm funktioniert perfekt auf einem deutschen XP mit Chinesischen Traditional (Code 1028) Schriftzeichen.
    Wenn ich das Programm aber auf einem native Chinesisch Traditional System starte werden andere Zeichen angezeigt.
    Gebe ich den String in eine Label Feld aus ist es richtig.
    In meiner Grafiktextausgabe sind aber Junk Characters.

    Woran liegt das?
    Ist das ein OS Problem?

  • #2
    Hat denn keiner eine Idee was das sein kann?

    Ich habe das Problem zwar schon mit einem Workaround gelöst aber ich bin doch daran interessiert die Ursache zu finden.

    Damit ihr den Fehler mal sehen könnt habe ich mal einen Screenshot auf einem Chinesischen Traditional XP gemacht.

    Oben ist der gezeichnete fehlerhafte Text.
    Unten der korrekte gleiche string wie oben ausgegeben in einem Labelfeld.

    danke
    Attached Files

    Comment

    Working...
    X