明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2053|回复: 10

[求助]请大虾帮忙完善一个程序

[复制链接]
发表于 2006-1-4 13:13 | 显示全部楼层 |阅读模式

我写文字是用MTEXT,style设置里的字体是用txt.shx。下面这个程序是用来修改文字的,可是改完文字会变成问号,把字体设置成宋体或别的字体,程序就可以正常使用。如果是在用txt.shx字体的前提下,要让程序正常使用,要如何完善呢?请大虾帮忙看看,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2006-1-4 15:47 | 显示全部楼层

这个问题么,你可以在更改完了后吧更改的文字转换到支持汉子的字形样式里啊

发表于 2006-1-4 16:23 | 显示全部楼层
我这里没什么问题呀。是不是字型设置的问题。下面是改过的程序
  1. (defun c:edd(
  2. ;/ e ent en newt oldt ent1
  3. )
  4. (prompt "\n修改文字内容!!")
  5. (setq e 1)
  6. (while (/= e "X")
  7.   (initget "X")
  8.   (setq e (entsel "\n选择一个单行文字[退出<X>]: "))
  9.   (if (and (/= e "X") e) (progn
  10.    (setq ent (entget (CAR e)))
  11.    (cond
  12.     ((and (= (cdr (assoc 0 ent)) "INSERT") (= (cdr (assoc 66 ent)) 1))
  13.      (setq en (entget (setq ent (entnext (car e)))))
  14.      (setq oldt (cdr (assoc 1 en)))
  15.      (setq newt (getstring T (strcat "\n输入文字 <" oldt ">:")))
  16.      (if (= newt "") (setq newt oldt))
  17.      (setq ent1 (subst (cons 1 newt) (assoc 1 en) en))
  18.      (entmod ent1)
  19.      (entupd ent)
  20.     )
  21.     ((= (cdr (assoc 0 ent)) "TEXT")
  22.      (setq oldt (cdr (assoc 1 ent)))
  23.      (setq newt (getstring T (strcat "\n输入文字 <" oldt ">:")))
  24.      (if (= newt "") (setq newt oldt))
  25.      (setq ent1 (subst (cons 1 newt) (assoc 1 ent) ent))
  26.      (entmod ent1)
  27.     )
  28.     ((= (cdr (assoc 0 ent)) "MTEXT")
  29.      (setq oldt (cdr (assoc 1 ent)))
  30.      (setq newt (getstring T (strcat "\n输入文字 <" oldt ">:")))
  31.      (if (= newt "") (setq newt oldt))
  32.      (setq ent1 (subst (cons 1 newt) (assoc 1 ent) ent))
  33.      (entmod ent1)
  34.     )
  35.     (T (PRINC "\n您选择的不是文字!"))
  36.    )
  37.   ))
  38. )
  39. (princ)
  40. )
 楼主| 发表于 2006-1-4 17:31 | 显示全部楼层

还是一样啊?

三楼的,我用了你的程序,还是一样哦,改完文字又成问号了。字体如果不改变,真的就不行了吗
发表于 2006-1-5 11:30 | 显示全部楼层
最主要是更改后的字体形文件不支持中文,所以就会出现问号,改个能支持中文的字体文件就行了
 楼主| 发表于 2006-1-5 12:29 | 显示全部楼层

请问怎么弄呢?

  1. ?以下是引用ljpnb在2006-1-5 11:30:23的发言:
  2. 最主要是更改后的字体形文件不支持中文,所以就会出现问号,改个能支持中文的字体文件就行了
复制代码
你说的字体文件是不是style命令的字体设置?
发表于 2006-1-5 12:37 | 显示全部楼层
是啊,如图所示,“工程汉字”是支持中文显示的字体文件,当然如果直接设置成“宋体”或是别的,也会正常显示的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2006-1-5 15:47 | 显示全部楼层

我在CAD里用默认的字体txt.shx。当用mtext命令输入字母和数字时,字体就是默认的,当输入汉字时,它就是宋体。请问大虾那段程序能不能加个字体选择的功能呢?谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2006-1-5 16:00 | 显示全部楼层

(1 . "{\\fSimSun|b0|i0|c134|p2;我爱}Autocad 2006")

原因就出在这儿,一楼的那段程序直接修改成(1 . "输入的文字"),所以当字体文件不支持中文时,就会显示为问号

 楼主| 发表于 2006-1-5 17:29 | 显示全部楼层

楼上的,我改了还是不行呀?

你试过可以吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-1 01:09 , Processed in 0.352280 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表