yjr111 发表于 2012-4-14 13:32:21

开图自动替换字体

小弟现在使用原始方法替换字体:fonts文件夹有300M那么大!但还是会跳出一些没有的字体,不胜其烦!
有byghbcx大虾说DBX做,但一点都不懂DBX,有EA大虾说只见过一个高手编过,但也没有放出程序,有无痕大虾放出天书程序,不知道怎么用。。。
请论坛现代高手放个程序出来拯救一下吧。。。就是不要跳出字体替换对话框,大字体直接用gbcbig替换或弄个配置文件自己配置也行!
下面是论坛关于字体替换的部分链接:
1、http://bbs.mjtd.com/forum.php?mod=viewthread&tid=914922、http://bbs.mjtd.com/forum.php?mod=viewthread&tid=89767
3、http://bbs.mjtd.com/forum.php?mod=viewthread&tid=57838
4、http://bbs.mjtd.com/forum.php?mod=viewthread&tid=57812
5、http://bbs.mjtd.com/forum.php?mo ... 02&page=1#pid487848




【KAIXIN】 发表于 2012-4-14 13:32:22

本帖最后由 【KAIXIN】 于 2012-4-15 10:00 编辑




flytoday 发表于 2012-4-14 13:59:57

这个大家都想要哈哈………

flytoday 发表于 2012-4-14 14:29:02

小,大字体弄个配置文件自己配置这个最好符合所有用户要求………静待大师出手…………

totoro 发表于 2012-4-14 14:59:34

可以使用 记事本 开启字体对映档 acad.fmp,在最下面加入 GBCBIG;gbcbig.shx,尔后 CAD 若找不到字型时会自动指定字型档。

最好是复制 acad.fmp 至其他位置,在指定路径即可~

【KAIXIN】 发表于 2012-4-14 15:25:39

;文字替代(解决文字乱码用)
(defun c:KK( / lb_eng lb_chn lb_sech lb_tt1 lb_tt2 lb_a1 lb_a2 lb_hh)
(setvar "REGENMODE" 0)
(setq lb_eng (getstring "英文替代<Simplex>:") lb_chn (getstring "中文替代<Hztxt>:"))
(if (= "" lb_eng)(setq lb_eng "simplex"))
(if (= "" lb_chn)(setq lb_chn "hztxt"))
(setq lb_sech (tblnext "style" t))
(while lb_sech
    (setq lb_tt1 (cdr(assoc 3 lb_sech)) lb_tt2 (cdr(assoc 4 lb_sech)))
    (if (or (<= (strlen lb_tt1) 4)
            (/= "." (strcase(substr lb_tt1 (- (strlen lb_tt1) 3) 1)))      
      )
      (setq lb_tt1 (strcat lb_tt1 ".shx"))
    )
    (if (or (<= (strlen lb_tt2) 4)
            (/= "." (strcase(substr lb_tt2 (- (strlen lb_tt2) 3) 1)))
      )
      (if (/= "" lb_tt2)(setq lb_tt2 (strcat lb_tt2 ".shx")))
    )
    (if (/= ".TTF" (strcase(substr lb_tt1 (- (strlen lb_tt1) 3) 4)))
      (progn
      (if (null (findfile lb_tt1))(setq lb_a1 lb_eng)(setq lb_a1 lb_tt1))
      (if (= "" lb_tt2)
          (setq lb_a2 "")
          (if (null (findfile lb_tt2))(setq lb_a2 lb_chn)(setq lb_a2 lb_tt2))
      )
      (setq lb_hh (strcat lb_a1 "," lb_a2))
      (command "-style" (cdr(assoc 2 lb_sech)) lb_hh "" "" "" "" "" "")
      )
      (if (null (findfile lb_tt1))(command "-style" (cdr(assoc 2 lb_sech)) (strcat lb_eng "," lb_chn) "" "" "" "" "" ""))
    )
    (setq lb_sech (tblnext "style"))
)
(setvar "REGENMODE" 1)
(command "regen")
)

【KAIXIN】 发表于 2012-4-14 15:26:31

上面程序是给高手参考用!

wowan1314 发表于 2012-4-14 15:49:23

把要替换的字体复制一个,然后改名使其排列在所有字体之前!

然后打开图纸出现选择字体的对话框时,只要点空格即可。

个人认为此方法简单且方便实用。 打开图纸按几下空格即可搞定。

Lisper 发表于 2012-4-14 16:58:47

设置一下系统变量 FONTALT ,将替代字体设置为你机器里有的字体即可!无需编程!

yjr111 发表于 2012-4-14 21:07:55

Lisper 发表于 2012-4-14 16:58 static/image/common/back.gif
设置一下系统变量 FONTALT ,将替代字体设置为你机器里有的字体即可!无需编程!


试了一下,还出现这个问题。。。请看图片




页: [1] 2 3 4 5 6 7 8
查看完整版本: 开图自动替换字体