Helpful Information
 
 
Category: Delphi Programming
Unicode printing in Kylix

Hi,

I am trying to print some east-european characters using
Printer.Canvas.TextOut but instead of each desired character I am getting
two different characters - as if unicode is ignored. I have set
canvas.font.charset to fcsunicode. Whether I print to paper or to a
postscript file, I get the same. I doubt it has anything to do with the
printer driver (Epson LQ-100) settings because from Mozilla I can print the
characters just fine.

When I compared the postscript files generated by Mozilla and my Kylix
program, I noticed that Mozilla converted parts of text containing unicode
characters into byte codes, something like this:

( 140/000/155/000/166/001 ) unicodeshow

Where unicode characters ended up having the second byte > 000.

Meanwhile, text that didn't contain unicode characters turned out like this:

( sometext ) show

In my program's output, I could see all text, none was converted into codes
like above, and since the viewer (GEDIT) was able to show unicode
characters, I saw them on the screen correctly.

Thanks in advance for any suggestions.

Instead of fcsUnicode (which I used because Linux treats EASTEUROPE_CHARSET as fcsUnicode and
I use EASTEUROPE_CHARSET under windows) I should have used fcsLatin2.

I still have a similar problem with Menus - top level of the menus (the always visible part) shows unicode characters, submenus don't.










privacy (GDPR)