Lizzhao 发表于 2015-9-1 16:27:00

CAD设置字体样式疑难杂症,请教各位大侠

我定义字体样式是用得下面得函数
public static ObjectId AddTextStyle(Database db, string stylename, string smallfont, string bigfont)
      {
            TextStyleTable TST = db.TextStyleTableId.GetObject(OpenMode.ForWrite) as TextStyleTable;
            ObjectId id = GetIdFromSymbolTable(TST, stylename);
            if (id == ObjectId.Null)
            {
                TextStyleTableRecord TSTR = new TextStyleTableRecord();
                TSTR.Name = stylename;
                TSTR.FileName = smallfont;
                TSTR.BigFontFileName = bigfont;
                //TSTR.Font.TypeFace=
                ////////TSTR.TextSize = height;
                ////////TSTR.XScale = xscale;
                ////////TSTR.UpgradeOpen();
                id = TST.Add(TSTR);
                db.TransactionManager.AddNewlyCreatedDBObject(TSTR, true);
                TST.DowngradeOpen();
            }
            return id;
      }
用的时候,是这样引用的:
            ObjectId styleid = AddTextStyle(db, "黑体", "simhei.ttf");
            ObjectId styleid1 = AddTextStyle(db, "宋体", "simsun");
            ObjectId styleid2 = AddTextStyle(db, "仿宋", "simfang.ttf");
得到的字体,宋体和仿宋都是正着的,黑体是躺着的,如下图:


Lizzhao 发表于 2015-9-1 16:34:00

有没有人纳,第一次发帖就沉

edata 发表于 2015-9-1 17:30:00

simhei.ttf改成 simhei或者黑体试试。

Lizzhao 发表于 2015-9-1 17:50:00

试过了,黑体和simhei都是躺着的,字体样式还是带@,前两天还是竖起来的,不知道怎么得今天就变躺下的了

Lizzhao 发表于 2015-9-1 17:56:00

非常感谢edata,我是试过很多方法都不管用

edata 发表于 2015-9-1 18:06:00

你是在新文件使用还是在老文件使用?

Lizzhao 发表于 2015-9-1 18:22:00

新文件,老文件?什么意思啊?我是用代码新建了一个DWG,在里面生成一个标准图廓,图廓上有很多标注,例如图上的“头围(西)”是标题

Lizzhao 发表于 2015-9-1 18:28:00

F:\000zyl\1.png

edata 发表于 2015-9-1 18:29:00

(id == ObjectId.Null)如果null则不新建,有的时候,可能是原来的文字样式影响,你可以调试下,是否执行了新建文字样式。如果已经存在,那么怎么改都无效,所以如果存在,可以考虑更新掉该样式。。

Lizzhao 发表于 2015-9-1 19:26:00

黑体是新建的,是运行过的,新手一个小时只能发四个贴,生生的等了一个小时
页: [1]
查看完整版本: CAD设置字体样式疑难杂症,请教各位大侠