通过编程方式,PowerPoint将文本框导出为EMF之后,字体发生变化,何解?
梦想家起飞 2009-11-18 10:39:07 用的是Office自动化编程,日文系统,.NET编程环境。
对Shape.TextFrame设定了AutoSize等属性,
对Shape.TextFrame.TextRange.Text设定了文本,
对Shape.TextFrame.TextRange.Font设定了字体名称、大小、样式等,
※字体为"MS Gothic",12pt,Blue,Underline。
通过Shape.Export函数将文本框导出为EMF文件,
发现只要符合以下条件,原本设定的"MS Gothic"在实际生成的EMF中变成了"PMingLiu"。
1、Vista+Office2007
※Win2K+Office2003无此问题
2、至少包含一个比较复杂的汉字,例如“華”等
※如果都是简单汉字的话无此问题,例如“日”等
3、字数达到或超过6个
据本人猜测,可能是内部GDI函数对文字的字符集或代码页的判断有误,
因为"MS Gothic"针对的是CP932,"PMingLiu"针对的是CP935。。
本帖最大只能放100分,如果能帮忙找出原因或者提供回避方法,另外再发帖给分。
如果需要提供更详细的信息,请回帖提问,谢谢。