明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: userzhl

[求助]请教高手,如何知道文件中哪些文字样式缺少字体?

  [复制链接]
发表于 2009-4-17 08:47:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2009-4-17 08:51:00 | 显示全部楼层
(defun fdzx (/ sty1 sty2 first tab sm1 sm2)
  (setq first T)
  (setq tab '())
  (setq stytab '())
  (setq sty_zh '())
  (while (setq sty1 (tblnext "style" first)) ;搜索图中字型       
    (if (= first T)
      (setq first nil)
    )
    (if (/= sty1 nil)
      (progn
 (setq tab (cons sty1 tab))
 (setq sty1 (nth 0 tab))
 (setq sty2 (dxf 2 sty1)) ;字型名称
 (setq sm1 (dxf 3 sty1))  ;所用小字体文件的名称
 (setq sm2 (dxf 4 sty1))  ;所用大字体文件的名称
 (setq stytab (cons sty2 stytab))
 (if (and sm2 (/= sm2 ""))
   (setq sty_zh (cons (strcat sty2 ":<" sm1 "," sm2 ">") sty_zh))
   (setq sty_zh (cons (strcat sty2 ":<" sm1 ">") sty_zh))
 )
      )
    )
  )
)
发表于 2009-4-17 10:29:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2009-4-17 17:31:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2009-4-17 20:42:00 | 显示全部楼层
本帖最后由 作者 于 2009-4-17 20:59:00 编辑

liminnet,可不可以把源码发一份给我?

user-zhl@163.com

 楼主| 发表于 2009-4-19 11:10:00 | 显示全部楼层

(defun c:tt (/ show_list sub_unifont sub_bigfont ok_remstyle  $VALUE BIGFONT_LST BIGNAME DCLNAME DCL_ID FILEN NEWSTR OLDSTR TEMPNAME UNIFONT_LST UNINAME)

(defun show_list (key newlist)
   (start_list key)
   (mapcar 'add_list newlist)
   (end_list)
)

(defun sub_unifont (vvs)
(set_tile "bigfont" "(setq $value \"1\")")
)

(defun sub_bigfont (vvs)
   (set_tile "bigfont" "(setq $value \"0\")")
)

(defun ok_remstyle ()
   (setq uniname (nth (atoi (get_tile "unifont")) unifont_lst))
   (setq bigname (nth (atoi (get_tile "bigfont"))  bigfont_lst))
   (alert uniname) (alert bigname)
)

(setq dclname
(cond 
((setq tempname (vl-filename-mktemp "ko-dcl-tmp.dcl") filen (open tempname "w"))
(foreach stream 
'( 
"fontrem:dialog{\n"
"   label=\"文字样式替换\";\n"
"   :text{ label=\"发现N个文字样式缺少字体!!\"; alignment=centered; color=\"7\";}\n"
"   :boxed_column{\n"
"      label=\"请选择替换的字体\";\n"
"   :row{\n"
"        :text{ label=\"SHX字体:\";}\n"
"        :text{ label=\"大字体:\";}\n"
"    }\n"
"   :row{\n"
"        :popup_list{ key=\"unifont\";edit_width=18;}\n"
"        :popup_list{ key=\"bigfont\"; edit_width=18;}\n"
"    }\n"
"    :toggle{label=\"使用大字体\";key=\"ubigfont\"; value=\"1\";}\n"
"    }\n"
"    spacer_1;\n"
"    ok_cancel;\n"
"}\n"
"\n"
"\n"
"\n"
"\n"
)
(princ stream filen)
)
(close filen)
tempname
)))
(setq unifont_lst '("a" "b" "c"))
(setq bigfont_lst '("1" "2" "s5" "3" "4" "5" "6" "7" "8" "9" "10"))
(setq dcl_id (load_dialog tempname))
(if (not (new_dialog "fontrem" dcl_id "")) (progn (alert "dcl对话框加载失败.")(exit)))
(show_list "unifont" unifont_lst)
(show_list "bigfont" bigfont_lst)
(action_tile "unifont" "(sub_unifont $value)")
(action_tile "bigfont" "(sub_bigfont $value)")
(action_tile "accept" "(ok_remstyle) (done_dialog)")
(start_dialog)
(unload_dialog dcl_id)
(vl-file-delete dclname)
)

liminnet的程序,但还需要完善,哪位高手帮忙完善一下?

发表于 2009-4-20 09:03:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2009-4-20 11:02:00 | 显示全部楼层

liminnet,可否发一份给我,让我学习一下? user-zhl@163.com 谢谢!

发表于 2009-4-20 12:43:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2009-4-20 13:14:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-9 01:01 , Processed in 0.185174 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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