[求助]请大虾帮忙完善一个程序
<P>我写文字是用MTEXT,style设置里的字体是用txt.shx。下面这个程序是用来修改文字的,可是改完文字会变成问号,把字体设置成宋体或别的字体,程序就可以正常使用。如果是在用txt.shx字体的前提下,要让程序正常使用,要如何完善呢?请大虾帮忙看看,谢谢</P><P>这个问题么,你可以在更改完了后吧更改的文字转换到支持汉子的字形样式里啊</P> 我这里没什么问题呀。是不是字型设置的问题。下面是改过的程序
(defun c:edd(
;/ e ent en newt oldt ent1
)
(prompt "\n修改文字内容!!")
(setq e 1)
(while (/= e "X")
(initget "X")
(setq e (entsel "\n选择一个单行文字[退出<X>]: "))
(if (and (/= e "X") e) (progn
(setq ent (entget (CAR e)))
(cond
((and (= (cdr (assoc 0 ent)) "INSERT") (= (cdr (assoc 66 ent)) 1))
(setq en (entget (setq ent (entnext (car e)))))
(setq oldt (cdr (assoc 1 en)))
(setq newt (getstring T (strcat "\n输入文字 <" oldt ">:")))
(if (= newt "") (setq newt oldt))
(setq ent1 (subst (cons 1 newt) (assoc 1 en) en))
(entmod ent1)
(entupd ent)
)
((= (cdr (assoc 0 ent)) "TEXT")
(setq oldt (cdr (assoc 1 ent)))
(setq newt (getstring T (strcat "\n输入文字 <" oldt ">:")))
(if (= newt "") (setq newt oldt))
(setq ent1 (subst (cons 1 newt) (assoc 1 ent) ent))
(entmod ent1)
)
((= (cdr (assoc 0 ent)) "MTEXT")
(setq oldt (cdr (assoc 1 ent)))
(setq newt (getstring T (strcat "\n输入文字 <" oldt ">:")))
(if (= newt "") (setq newt oldt))
(setq ent1 (subst (cons 1 newt) (assoc 1 ent) ent))
(entmod ent1)
)
(T (PRINC "\n您选择的不是文字!"))
)
))
)
(princ)
)
还是一样啊?
三楼的,我用了你的程序,还是一样哦,改完文字又成问号了。字体如果不改变,真的就不行了吗 最主要是更改后的字体形文件不支持中文,所以就会出现问号,改个能支持中文的字体文件就行了请问怎么弄呢?
?以下是引用ljpnb在2006-1-5 11:30:23的发言:最主要是更改后的字体形文件不支持中文,所以就会出现问号,改个能支持中文的字体文件就行了你说的字体文件是不是style命令的字体设置? 是啊,如图所示,“工程汉字”是支持中文显示的字体文件,当然如果直接设置成“宋体”或是别的,也会正常显示的 <P></P>
<P>我在CAD里用默认的字体txt.shx。当用mtext命令输入字母和数字时,字体就是默认的,当输入汉字时,它就是宋体。请问大虾那段程序能不能加个字体选择的功能呢?谢谢</P> <P>(1 . "{\\fSimSun|b0|i0|c134|p2;我爱}Autocad 2006")</P>
<P>原因就出在这儿,一楼的那段程序直接修改成(1 . "输入的文字"),所以当字体文件不支持中文时,就会显示为问号</P>
楼上的,我改了还是不行呀?
你试过可以吗
页:
[1]
2