nyistjz 发表于 2024-10-30 23:09:04

字体乱码处理(非换字体)

请教高手,如附件图纸,应该是在保存为2004的文件格式后,出现了这样的乱码,是否有办法解决。

好像是编码出错了,记得之前看到过专门处理这个乱码问题的小程序,但找不见了。
有哪位朋友能有解决办法,感谢 !

尘缘一生 发表于 2024-10-31 06:57:04

本帖最后由 尘缘一生 于 2024-10-31 07:03 编辑

贴一下三领的部分,这个事还不能叫开图自动,因为,有的人安装有很多插件,他们要的就是那种字体,批量换了,我们满足,对方不满足了。如果图不再外协交流,哪可以。我这个还是换字库的。


[*]

[*];;文字替代(解决文字乱码用)(一级)------------
[*](defun sl-nx (/ ss a b c d e date1 e_lst)
[*](setq e_lst (sysvar '("TEXTSTYLE" "CMDECHO" "REGENMODE")))
[*](setvar "CMDECHO" 0)
[*](setvar "REGENMODE" 0);禁止重生成
[*](setq date1 (getvar "MILLISECS"))
[*](vlax-for x (vla-get-textstyles *AcDocument*)
[*]    (vla-getfont x 'a 'b 'c 'd 'e)
[*]    (if (= a "")
[*]      (progn
[*]      (if (and
[*]            (not (findfile (vla-get-fontfile x)))
[*]            (not (findfile (strcat (vla-get-fontfile x) ".shx")))
[*]            )
[*]          (vla-put-fontfile x "txt.shx")
[*]      )
[*]      (if (and
[*]            (/= (vla-get-bigfontfile x) "")
[*]            (not (findfile (vla-get-bigfontfile x)))
[*]            (not (findfile (strcat (vla-get-bigfontfile x) ".shx")))
[*]            )
[*]          (vla-put-bigfontfile x "hztxt.shx")
[*]      )
[*]      )
[*]      (progn
[*]      (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-setfont (list x a b c d e)))
[*]          (vla-setfont x "fan" b c d e)
[*]      )
[*]      )
[*]    )
[*])
[*](prompt
[*]    (strcat
[*]      "\n 字体替换--耗时"
[*]      (rtos (/ (- (getvar "MILLISECS") date1) 1000.000) 2 3)
[*]      (slmsg "秒" "" "seconds")
[*]    )
[*])
[*](setvar "REGENMODE" 1)
[*];(if (setq ss (ssget "X" '((0 . "TEXT") (-4 . "<OR") (1 . "**,**,**,**,*\U+0082*") (-4 . "OR>"))));;探索者、特殊符号转换
[*];(tss2gj ss)
[*];)
[*];(if (setq ss (ssget "X" (list (cons 0 "INSERT") (cons 66 0))))
[*];(blktss2gj ss) ;;块选择集探索者钢筋转换
[*];)
[*](vla-regen *AcDocument* AcAllViewPorts)
[*](mapcar 'eval e_lst)
[*](princ)
[*])

e2002 发表于 2024-10-31 10:11:42

20年前的dwg文件版本,不理解为什么你们非要用 AutoCAD 2004版本的dwg?这不是自己找来的事么...

AutoCAD 2007 的dwg版本开始采用了 Unicode 存储,再也不会出现这种乱码问题了。

960322 发表于 2024-10-31 19:17:57

e2002 发表于 2024-10-31 10:11
20年前的dwg文件版本,不理解为什么你们非要用 AutoCAD 2004版本的dwg?这不是自己找来的事么...

AutoCA ...

高版本也会出错的,有时候文件致命错误之后就会出现这种乱码,非常头痛,好像无解

nyistjz 发表于 2024-11-1 11:20:20

e2002 发表于 2024-10-31 10:11
20年前的dwg文件版本,不理解为什么你们非要用 AutoCAD 2004版本的dwg?这不是自己找来的事么...

AutoCA ...

:(都怪自己当年年少无知,存成了2004版本。
2007后的版本格式还是很OK的

nyistjz 发表于 2024-11-1 11:25:23

960322 发表于 2024-10-31 19:17
高版本也会出错的,有时候文件致命错误之后就会出现这种乱码,非常头痛,好像无解

应该是可以解决的,我之前见到过解决这个问题的程序,忘记名字,找不见了
页: [1]
查看完整版本: 字体乱码处理(非换字体)