当前位置:你问我答 >  详情

实例讨论:CASS鼠标悬停提示出现乱码?

本文章为南方数码生态圈原创文章:南方数码虎妞,受知识产权保护,如转发请在文章开头注明来源“南方数码生态圈”


——————————

有个小伙伴在生态圈私信我求助,说他的CASS出现很奇怪的问题:

CASS刚启动的时候,所有功能正常,用个几分钟出现了鼠标悬停提示乱码的现象。


问我怎么设置这个悬停提示。

呃!其实这个提示的字体是默认的,还没法设置!

拿到实例图形后,我找到了原因和解决方法。

from clipboard

乱码提示截图


from clipboard

正常提示截图


——————————


发现问题 

提示的文字出现乱码,就先检查一下字体。拿到实例数据之后,在命令行输入style,回车后在下图的对话框中,发现了一个字体“左倾宋体”,这个字体对应的字体名“SimSun-ExtB”,是一个自定义的字体。

from clipboard


这个字体是用命令创建的,宽度因子0.8的左倾宋体引用simsunb.ttf,定义语句如下:

(这么高阶的玩法,我也是头次遇到,学无止境啊!)


(defun c:X1 () ;外边线
;(setvar 'userr1 500)
(setvar "cmdecho" 0)
(if (= zipanduan nil)
(progn
(command "-style" "STANDARD" "simsunb.ttf" 0 0.8 0 "n" "n")
(setq zipanduan t)
)
)

(setq chklay (tblsearch "layer" "JMKC-外边线"))
(if (= chklay nil)
(c:jmm)
)

(command "layer" "T" "JMKC-外边线" "ON" "JMKC-外边线" "")
(command "_clayer" "JMKC-外边线")
(c:X)
(princ)
)


————————


■ 解决方法(一) ■

既然是字体出了问题,那么重新定义字体,我不会用命令定义字体,就用了自己的土办法:命令行输入style,按下图步骤重新定义了一个左斜宋体。


以下两个图的操作步骤,都可以解决哈。

有兴趣自己都动手试试,我亲自验证过了!

from clipboard

操作方法一


from clipboard

操作方法二


————————


■ 解决方法(二) ■

在反复测试中发现win10的simsun.ttc包括宋体和新宋体,不识别simsunb.ttf,但win7的话就没问题。那么在win10中重新定义字体。


定义语句如下:


(defun c:X1 () ;外边线
;(setvar 'userr1 500)
(setvar "cmdecho" 0)
(if (= (Tblsearch "style" "宋体") nil)
(progn
(vl-load-com)
(setq ThisDrawing (vla-get-activedocument (vlax-get-acad-object)))
(Setq TextStyles (vla-get-TextStyles ThisDrawing))
(Setq TextStyle (vla-add TextStyles "宋体"))
(vla-SetFont TextStyle "宋体" :vlax-false :vlax-false 1 0)
)
)
(command "-style" "STANDARD" "宋体" 0 0.8 0 "n" "n")
(makelay "JMKC-外边线" 30 )
(c:X)
(princ)
)


————————


这个问题不常见,但遇到的人往往不知所措,各种baidu也没有解决方法。

Win10系统中,识别CAD字体问题比较多。

以前的文章里也有介绍,大家遇到字体乱码,不显示等问题,优先考虑用style命令,重新指定。


PS:如果你还遇到了类似的诡异问题,可在南方数码生态圈发帖提问,或者加入QQ社群(897741522)给我们留言吧!

全部评论

等级:LV30
积分:94841
老头子 2020-07-18 11:19
好分享,值得学习
回复 0
等级:LV28
积分:50342
Peter 2020-07-19 07:18
好帖了
回复 0
新手54651怎么定义字体呀
2021-03-30 20:34:34
等级:LV28
积分:8896
知足常乐 2020-07-19 07:22
谢谢分享
回复 0
等级:LV21
积分:150
静静走着 2020-10-19 16:46
学到了
回复 0
1

提交
悬赏回复规则
1、悬赏期为24小时,从发布时间起算;
2、悬赏期内提问者如设置评论为“精选评论”,视为悬赏结束,该精选评论人将获得本题全部悬赏积分;
3、悬赏期内如提问者未设置“精选评论”,则前5位评论者平分悬赏积分(如仅有一位评论,该评论者获得50%悬赏积分);
4、悬赏积分会自动发放到生态圈账户中,请留意站内信通知。
知道了

距离打开宝箱还剩7

是否花费200积分补签?
确认
取消