如何用Printer.Canvas.TextOut()打印出unicode字符 ( 积分: 50 )

  • 主题发起人 主题发起人 fj_fu
  • 开始时间 开始时间
F

fj_fu

Unregistered / Unconfirmed
GUEST, unregistred user!
各位DFW,一些文字如韩文字符如何打印出来.我是用Printer.Canvas.TextOut(xPos,yPos,Content);但是content这里是sting类型了.所以还是打印出来?号
 
试试这样,不一定可以,我没试:)
widechartostring(pwidechar(content))
 
不行哟.
能不能这样做,用Printer.Canvas.Draw(xPos,yPos,graphic);
先把widestring的值通过一个办法转成Graphic呢.
 
你给我个unicode的字符,我来试试
 
在WORD里
输入
U+3134 U+3139 U+314A U+3141
然后光标停在每个Unicode代码之后,按Ctrl+x
 
不好意思,是按Alt+x
 
ా
ృ
怎么输入U+3134?是不是Alt+3134?
 
先直接贴到word里,然后光标停在每个代码最后,按Alt+x ,就会变成韩文了.
 
ㄴ
ㄹ
ㅊ
ㅁ
不行,试了很多办法,结果和你一样,都是?
 
我想是这样,首先delphi本身不支持Unicode,程序的界面显示问题可用其它控件取代.
printer.canvas.textout(x,y:integer;text :string) 肯定是不行的.
不知道有没有类似tntedit的支持打印的东东.work里就能够直接打印出来.不知道是怎么做的.
不知道程序中直接调用API行不行.但这样我的程序结构改动可就大了.
谢谢Kao123
 
用API DrawTextW.第一个参数传Canvas.Handle
 
用API: TextOutW 更简单
 
没有用过打印这块的函数,我居然是在控件上隐藏的显示,然后用paitto的方法画到bitmap,再打印出来.转了一圈.
不过,不转这一圈,也得不到DFW的答案呀.谢谢各位.
 
后退
顶部