"japanisch zeichnen" (Tcanvas->Textout & Unicode)



  • ich möchte gerne japansiche zeichen auf eine zeichenfläche ausgeben (via Tcanvas->textout...).

    wenn ich dazu einer "wide char" variabel z.b. den wert 1025 (dez) zuweise und diese dann mit der hilfe von textout (Tcanvas) ausgebe, erscheint nicht das entsprechnde zeichen, sondern die zeichenfolge "1025".

    wie kann ich die zeichen, dessen wert grösser als 255 ist ausgeben?
    bringt mich ev. charset weiter?

    ich verwendet die schriftart "ms arial unicode".



  • hier ein bsp:

    WideString ws = WideString((wchar_t)0x4f48); // irgendein zeichen
    DRAWTEXTPARAMS dtp;
    dtp.iLeftMargin = 10;
    dtp.iRightMargin = 10;
    dtp.iTabLength = 8;
    dtp.uiLengthDrawn = ws.Length();
    dtp.cbSize = sizeof(dtp);

    Canvas->Font->Name = "Arial Unicode MS";
    Canvas->Font->Size = 14;
    Canvas->Brush->Color = clWhite;
    Canvas->Pen->Color = clBlack;
    DrawTextExW(Canvas->Handle, ws.c_bstr(), ws.Length(), &ClientRect, DT_LEFT, &dtp);



  • Canvas->Font->Name = "MS Mincho";

    musst du aber geg. bei MS runterladen (das japanisch sprachpäck)



  • @xqgene
    bin nun ein schritt weiter. es wird nicht mehr der wert , sondern ein "?" ausgegeben.

    ist der hexwert der wert des jeweiligen zeichen des unicode?
    wieso erscheint nicht das jeweilige zeichen?

    @all
    habe im word2000 eine datei erstellt, welche pro zeile ein zeichen enthält (jap. zeichen, einfügen->symbold).

    jene datei habe ich dann im rtf-datei abgespeichert. wenn ich diese datei in ein richedit-feld lade und zeile um zeile (also zeichen um zeichen) mit der hilfe von textout (tcanvas) ausgebe, funktioniert es.

    nun möchte ich die ausgabe via unicode machen, also z.b. das zeichen 12355 (dez) ausgeben.

    was amche ich falsch? hat jemand einen vorschlag?

    @ nihon-jin
    "ms arial unicode" enthält japanische zeichen, sie gehört scheinbar zu den best ergänzten unicode-dateien.



  • in meinem bsp. wird nur ein zeichen gezeichnet, mit dem hexcode 0x4f48 --> 佈
    und es funzt bei mir
    ich habe bcb6 pro unter winxp

    [ Dieser Beitrag wurde am 19.03.2003 um 20:58 Uhr von Xqgene editiert. ]



  • @Xqgene
    sorry, mein fehler! bei mir, bcb5 und nt4, funktiniert es auch.
    das problem war, dass ich die ausgabe via canvas->Textout machen wollte.

    besten dank für die hilfe, nun komme ich endlich wieder weiter ......

    mfg
    migu


Anmelden zum Antworten