怎么使用 entmake 创建 中文的字体样式
如提描述,组码3处无法只用中文字体?非中文字体到没有问题,如何使用中文字体呢,例如 宋体?(defun c:2t ()
(entmake (list '(0 . "STYLE")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbTextStyleTableRecord")
'(2 . "CN");样式名
'(70 . 0)
'(40 . 0.0)
'(44 . 1.0)
'(50 . 0.0)
'(71 . 0)
'(3 . "宋体");;此处如何使用中文字体,例如宋体,仿宋 等等。
'(4 . "")
)
);end entmake
(princ "\n已经创建CN 中文样式")
(princ)
)
当在CAD中,手动设置字体为“宋体”后,通过ENTGET查看相关数据时,(3 . "") (4 . "") 都为“” ,这又是为什么呢?
各位大神求解! kay338 发表于 2015-10-12 12:45
解决了,万分感谢
怎么设置的,能把源码分享出来学习一下吗? mark一下,学习了 本帖最后由 lucas_3333 于 2015-8-21 15:08 编辑
宋体是ttc, 论坛有讨论过
鉴于论坛搜索不好用, 贴个链接吧
http://bbs.mjtd.com/forum.php?mod=redirect&goto=findpost&ptid=87573&pid=477294&fromuid=7303840
http://bbs.mjtd.com/thread-113732-1-1.html
明总的好方法:
用AX方法解决:
(defun c:fnt(/ a)
(vl-load-com)
(setq ThisDrawing(vla-get-activedocument (vlax-get-acad-object)))
(Setq TextStyles(vla-get-TextStyles ThisDrawing))
(Setq TextStyle(vla-add TextStyles "新文字样式"))
(vla-SetFont TextStyle "宋体" :vlax-false :vlax-false 1 0)
(princ)
) 我目前使用的是WIN7 的系统 ,
测试过了,entmake ,command 都不好创建 宋体的字体样式,
command 老是提示 “字体文件不存在。”
还是楼上方法可行,谢谢了。 win7没试过,xp这样是可以的。
(defun c:2t ()
(entmake (list '(0 . "STYLE")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbTextStyleTableRecord")
'(2 . "CN");样式名
'(70 . 0)
'(40 . 0.0)
'(44 . 1.0)
'(50 . 0.0)
'(71 . 0)
'(3 . "宋体.ttf");;此处如何使用中文字体,例如宋体,仿宋 等等。
'(4 . "")
)
);end entmake
(princ "\n已经创建CN 中文样式")
(princ)
) edata 发表于 2015-8-21 16:27 static/image/common/back.gif
win7没试过,xp这样是可以的。
E大
我之前也这样试过 , 是能创建 ,但是用此字体样式的文字都是问号.
winxp 32位, 2007 , 系统win7-64位 cad2011,应该也是64位的吧,因为任务管理器中,没有*32这样的字符。
测试可以使用。 本帖最后由 hbgsw 于 2015-8-22 11:23 编辑
貌似用E大的代码, 在WIN732位, cad2007上还是测试通过不了。如下图:
正常来说,应该显示的是宋体那个,但是实际是 “宋体.ttf” ,之前我在代码中用(3 . "SimSun.ttf") 也不行。
WIN7系统中自带有 宋体的字体:
xp+cad08无此问题,07还真没试过。
手动建立得到的是
(entget(tblobjname "style" "样式 1"))
((-1 . <图元名: 7efec398>) (0 . "STYLE") (330 . <图元名: 7efeac18>) (5 . "1B3") (100
. "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord") (2 . "样式 1") (70
. 0) (40 . 0.0) (41 . 1.0) (50 . 0.0) (71 . 0) (42 . 2.5) (3 . "SimSun.ttf") (4
. ""))
;;程序建立是
(entget(tblobjname "style" "cn"))
((-1 . <图元名: 7efec388>) (0 . "STYLE") (330 . <图元名: 7efeac18>) (5 . "1B1") (100
. "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord") (2 . "CN") (70 .
0) (40 . 0.0) (41 . 1.0) (50 . 0.0) (71 . 0) (42 . 2.5) (3 . "宋体.ttf") (4 . ""))
以上都能在08正确显示。。 那就应该是系统的问题,不纠结了。。 win764+ cad2011 运行楼主程序没有问题,
(vl-cmdf "_.style" "info" "隶书" "0" "1" "0" "n" "n")
也没有问题。
关于写字问号的问题,我也碰到过。
比如从xp的电脑上copy文件过来,他的字体是楷体,在我的电脑上全是问号,解决方法是:从它那里copy该字体文件,重命名,放到我的电脑内即可。
页:
[1]
2