[zhengjian211]疯狂青蛙 10:03:13
两个TextStyleTableRecord的字体显示均为"宋体"但是一个TextStyleTableRecord.FileName是"宋体.ttf",另外一个是"SimSun.ttf"
[zhengjian211]疯狂青蛙 10:03:47
咋回事,我需要把所有的使用了宋体的文字样式改为黑体
[沪C#]无情剑客 10:04:05
SimSun,英文系统上应该是这个
[zhengjian211]疯狂青蛙 10:04:53
同一个个cad 开的两张图
[zhengjian211]疯狂青蛙 10:06:02
private static string getFontName(string fontfilename)
{
  rivateFontCollection pfc = new  rivateFontCollection();
try
{
pfc.AddFontFile(fontfilename);
}
catch (System.Exception ex)
{
return "";
}
return (pfc.Families[0].Name);
}
[沪C#]无情剑客 10:06:47
我的意思是说,CAD在英文系统上的字体名可能就是SimSun.ttf
不止时宋体,还有好几个字体都有这个名称
[qqimg]201307/{EB722DCB-5286-1D79-118C-708D91A705C7}.jpg[/qqimg]
[zhengjian211]疯狂青蛙 10:06:48
根据字体文件名来获取字体名称也出错,不管是"宋体.ttf"还是"SimSun.ttf"
[沪C#]无情剑客 10:07:30
其实都是同一个名字而已,2称呼
[zhengjian211]疯狂青蛙 10:09:03
[qqimg]201307/{08A6A514-23DE-E662-D2A7-DEA9001BFB75}.jpg[/qqimg]
[zhengjian211]疯狂青蛙 10:11:47
在WINXP中,系统已经用simsun.ttc来代替原来的TTF字体,但TTC是可以将几种字体组合在一个文件中,目前还找不到方法来指定TTC中的某一字体。
[zhengjian211]疯狂青蛙 10:17:02
TextStyleTableRecord.font.typeface
这样可以了
[zhengjian211]疯狂青蛙 10:19:35
autocad自己可以解析 不用自己去写方法
TextStyleTableRecord.font.typeface
就是字体名称的本地语言字符串
[zhengjian211]疯狂青蛙 10:21:34
还有个问题,autocad自带的dwg to pdf打印机打印出来的pdf文件貌似不能嵌入字体,打出来的图打开后pdf阅读器提示找不到字体
用了第三方的pdf打印机就没这个问题 |