明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1808|回复: 2

[源码] 将图中显示本机没有的字体替换

[复制链接]
发表于 2011-5-13 14:24:56 | 显示全部楼层 |阅读模式
转贴
;;;将图中显示本机没有的字体替换为txt-m.shx,hztxt.shx
(defun c:hz( / lb_eng lb_chn lb_sech lb_tt1 lb_tt2 lb_a1 lb_a2 lb_hh)
  (setvar "REGENMODE" 0)
  (princ "\n")
  (princ "\n将图中没有的字体替换")
  (princ "\n")
  (setq lb_eng (getstring "英文字体替换为<txt-m>:") lb_chn (getstring "中文字体替换为<hztxt>:"))
  (if (= "" lb_eng)(setq lb_eng "txt-m"))
  (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")
)

评分

参与人数 1明经币 +1 收起 理由
革天明 + 1

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-11-30 18:02:33 | 显示全部楼层
顶一下楼主,回去仔细看看
发表于 2023-5-30 09:46:19 | 显示全部楼层
感谢达人分享,学习一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 19:02 , Processed in 0.169222 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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