请教各位大侠,如何象Word一样指定Canvas的中文字体和英文字体名称,然后执行TextOut操作时,对中文以中文字体输出,对英文以英文字体输出?(100分)

  • 主题发起人 主题发起人 徐凤华
  • 开始时间 开始时间

徐凤华

Unregistered / Unconfirmed
GUEST, unregistred user!
比如说一段文字:
指定中文使用宋体,英文使用New Times Roman字体。
则:
欢迎光临Grand Park Zenith Hotel,祝您入住愉快!

Grand Park Zenith Hotel 为Roman字体。
 
Canvas.Font:='宋体';
Canvas.Textout(100,100,'你好');
Canvas.font:='New Times Roman';
Canvas.Textout(100,100,'你好');
 
to xuri:
我的意思是想用一条TextOut或DrawText来完成此项操作。
比如:
Canvas.Font.EnglishName := 'New Times Roman';
Canvas.Font.ChineseName := '隶书';
Canvas.TextOut(100,100,'欢迎光临Grand Park Zenith Hotel,祝您入住愉快!');
请问此种功能如何实现???
如果分不够,我手上还剩50分,可以再加!
 
可是我需要把文字输出到打印机上啊。难道就没有好的办法了吗?
 
xuri的方法如何计算好坐标和一条输出有什么分别?
 
直接输出比较难,你可以自己写一个多字体的TextOut或DrawText函数(难)。
 
想打印的话,可直接输出到word,在delphi中直接控制word输出,
各种格式都可以控制,但必须参考VBA
 
同意Huzzz,
但也不是特别难,参考一下判别汉字和英文的方法:
最简单和最笨也最不保险的办法就是列出26个英文字母,只要不是字母就按中文输出。
 
看来没好办法了,我还是自己写一个DrawText吧
 
多人接受答案了。
 
后退
顶部