Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Unicode drucken (https://www.delphipraxis.net/136764-unicode-drucken.html)

BlueStarHH 7. Jul 2009 17:57


Unicode drucken
 
Hallo,

seit kurzem nutze ich Delphi 2009. Mit dem Code folgender Art drucke ich aus meinem Program. An der Stelle wo 'UnicodeText' steht, steht ein Unicode-String, der jedoch mit lauter Fragezeichen gedruckt wird. Wie kann man das lösen? Danke!

Delphi-Quellcode:
uses
  Printers;

procedure PrintTest;
var
  pt: System.Text;

begin
  AssignPrn(pt);
  Rewrite(pt);

  Printer.Canvas.Font.Name := 'Arial';
  Printer.Canvas.Font.Size := 12;

  WriteLn(pt, 'UnicodeText');
     
  System.Close(pt);
end;

SirThornberry 7. Jul 2009 18:02

Re: Unicode drucken
 
bietet TCanvas denn keine Methode um Unicode auszugeben?

Gausi 7. Jul 2009 18:25

Re: Unicode drucken
 
Bei Delphi 2009 sollte das ja alles Unicode sein. Ich würde auf die Schriftart tippen - probier da mal eine andere, z.B. Tahoma.

Bernhard Geyer 7. Jul 2009 18:29

Re: Unicode drucken
 
Zitat:

Zitat von Gausi
Bei Delphi 2009 sollte das ja alles Unicode sein. Ich würde auf die Schriftart tippen - probier da mal eine andere, z.B. Tahoma.

Wenn Fragezeichen rauskommen liegt irgendwo eine Ansi-Wandlung vor. Bei falscher Schriftart kommen je nach Windows/Font entweder scharze ungefüllte rechtecke oder einfach senkrechte Striche raus ...

BlueStarHH 7. Jul 2009 21:32

Re: Unicode drucken
 
Zitat:

Zitat von Gausi
Bei Delphi 2009 sollte das ja alles Unicode sein. Ich würde auf die Schriftart tippen - probier da mal eine andere, z.B. Tahoma.

Die Arial von XP ist Unicode (geprüft). Mit Tahoma tritt das selbe Problem auf.

BlueStarHH 7. Jul 2009 21:34

Re: Unicode drucken
 
Zitat:

Zitat von Bernhard Geyer
Wenn Fragezeichen rauskommen liegt irgendwo eine Ansi-Wandlung vor. Bei falscher Schriftart kommen je nach Windows/Font entweder scharze ungefüllte rechtecke oder einfach senkrechte Striche raus ...

Dann muss die Ansi-Wandlung Delphi-Intern erfolgen. Mein Unicode-Text steht direkt als Literal in den WriteLn-Aufrufen.

BlueStarHH 7. Jul 2009 21:35

Re: Unicode drucken
 
Zitat:

Zitat von SirThornberry
bietet TCanvas denn keine Methode um Unicode auszugeben?

Wahrscheinlich schon, doch die ganzen Druckerausgaben sind nunmal mit WriteLn schon vorhanden. Das ist ein älteres Projekt was in den letzten 10 Jahren gewachsen ist. Da alles auf TCanvas umzustellen ist Arbeit, die ich mir sparen möchte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz