cxxyou 发表于 2020-12-1 18:27:13

CAD字体出现了一个黑体字显示不正常的问题

本帖最后由 cxxyou 于 2020-12-2 16:51 编辑

如附图所示,①和②是同一个CAD文件A(附件已上传),③是另一个CAD文件B(普通正常文件)。前提:系统字体库里有<simhei.tff>字体(就是黑体)和CAD字体库有<黑体.shx>(字体已上传为附件)的字体。问题:A文件里一些原有文字的字体默认是黑体.shx,文字样式如图①,预览框里没有显示,应该是字体库没有该文件(可是明明检查了是有的,但是感觉这个文件就是加载不了)。本想用黑体.TFF替换黑体.shx,但是这个文件的黑体.TFF显示也不正常,它的文字样式及预览见如图②及左下角。B文件里TFF格式的黑体字 文字样式如图③所示,这个预览框内是可以正常显示的。现在的问题的是,同一个电脑,为什么会出现这样的现象?如何解决?可能会说A文件有问题,如果先打开B文件,再打开A文件后,B文件的黑体字就会变成A文件里不正常的显示,等于说A文件影响了B文件。如果反之先打开A再打开B也会导致B文件的黑体字显示不正常。只有单独打开文件B,不打开文件A的情况下才能让文件B内的黑体字显示正常。
请高手解惑!




cxxyou 发表于 2020-12-3 10:22:18

本帖最后由 cxxyou 于 2020-12-3 10:50 编辑

dunkel 发表于 2020-12-2 19:24
正好有个虚拟机里有个 win7/cad2008,里面没放黑体字体(精简的系统),只有微软雅黑;打开你的图形,先Ctl ...
很感谢您的方法,我试过了是可行的。
我发现了个问题的原因,您来看下是不是这样的。在刚打开CAD文件时,在命令提示栏出现了如下的信息:

加载自定义文件成功。自定义组: ACAD
加载自定义文件成功。自定义组: CUSTOM
C:\Program Files (x86)\AutoCAD 2008\fonts\黑体.shx 是大字体文件,不是常规字体文件。
正在用 替换 [黑体]。
正在重生成模型。
常青藤辅助工具系统3.20菜单提示关闭
; 错误: 参数类型错误: stringp nil
; 错误: 参数类型错误: stringp nil
AutoCAD 菜单实用程序已加载。*取消*
命令: COMMANDLINE

对上述的信息,我验证了下,把黑体.shx剪切到非系统盘后,就不会出现 黑体.shx 被替换的提示了,虽然这个字体在文字样式里也是缺失的标志,但是却能正常显示了。

但是有点疑惑的是黑体.shx有问题,系统为什么却用 g_gothic.shx 替换 tff格式的黑体,不应该是用
g_gothic.shx 替换黑体.shx吗?这个把采用了tff格式黑体字的其他文字都影响了。
另外可不可以在替换字体的时候手动选择啊?这个系统自动替换,连我选择的机会都没有。

dunkel 发表于 2020-12-2 16:46:51

6#,这个 黑体.shx 其实是不合这里的情形的。看了下生成的 dxf 文件,加上打开文件时提示的非 autodesk产品,可能创建这个文件的应用有bug。看样子,更可能是应该使用系统ttf字体的 黑体 和 宋体 而非 黑体.shx 和 宋体.shx。因为通常作为 shx 的话,它们无疑应该是汉字集的,但它却出现在西文的位置上。而 dxf里看定义模式,又没有使用 ttf 的定义方式,只是简单的 黑体 和 宋体,没有 shx 或 ttf 的修饰。那上面②的错误可能只是cad自己进行字体映射时错乱,倒没必要深究。
所以,不应该在使用你的那个 黑体.shx 而应使用系统的 ttf 黑体字体;宋体也一样。如果一定要用 黑体.shx,应该是左边选择个西文字体如 simplex.shx 或 romans.shx 什么的,选中了下面的“使用大字体”再在右边选择 黑体.shx;不过,这样的 黑体.shx 的表现方式,现在是有些难看的了。

7#,不知道改变、没有解决,指的是什么?

cxxyou 发表于 2020-12-2 17:23:19

dunkel 发表于 2020-12-2 16:46
6#,这个 黑体.shx 其实是不合这里的情形的。看了下生成的 dxf 文件,加上打开文件时提示的非 autodesk产品 ...

先说下你说文字全是用的RBG=0,0,0 看着是黑的颜色……的问题,这个我还以为试着改下颜色,也可以把问题解决掉,但是没有

我细想了下,这个文件A是同事从某系统内导出来的,出来的时候是dxf文件,给我的时候他转为了dwg格式,可能是这过程中出线了bug。
现在我也放弃了黑体.shx的字体,根据您说的用系统的tff 黑体,但是会出线②的问题,黑体显示也不正常。这个现在还没办法解决。
但是换成同事电脑,在替换成系统的tff 黑体后显示却是正常的。
现在我想了下,是不是版本的问题,我的CAD是2008,同事的是2016的,原文件也是高于2008的dxf文件。或许再找不到办法,我要安装个高版本的CAD试试了。


dunkel 发表于 2020-12-1 19:26:51

①和③是正常的吧。①名为黑体,但却是 shx 文件,而且你机子上没这个字体文件,提示替换时可能又按了取消,所以就空白不显示了。③系统的黑体字体,就是这样的吧。
②预览的字体明显不是黑体,看样子应该是 GothicE.shx 字体,这个表现有些奇怪,因为看黑体前面的图标应该是系统的 ttf 类字体。试试定义为其它字体,然后再回来看看。或者dwg文件去除了敏感内容上传来看看?

cxxyou 发表于 2020-12-2 09:09:52

dunkel 发表于 2020-12-1 19:26
①和③是正常的吧。①名为黑体,但却是 shx 文件,而且你机子上没这个字体文件,提示替换时可能又按了取消 ...

感谢您的回复,现已把问题的图纸上传了,图中方框内改为单行文本后,甚至就不显示文字,直接变成了?,请指教这个问题怎么解决:handshake

dunkel 发表于 2020-12-2 09:24:52

上传的图,没有②的样子吧。Standard 用的是 txt.shx,黑体 的是 黑体.shx,宋体 的是 宋体.shx 。
这两字体都是 acad 的 shx 类字体,我这里没有,不过完全可以用其它的替换了。
显示成问号 (?) 是所用字体里没有定义相应的字符。解决,st 字体样式命令,左边选择了所用字体样式,右边重新选择自己系统里已有可以使用的字体;看列表里那些项前面的图标,没有图标的就是没那个字体,T 字样的是 windows 的 ttf 类字体,圆规模样的是 acad 的 shx类字体。
为了保证字体表现的一致性,可能比较推荐使用 windows 的 ttf类字体,虽然不同版本间仍有些微差异(windows 的和 acad 的版本),而且 acad对 ttf字体渲染性能上也待商榷。

dunkel 发表于 2020-12-2 09:36:48

另外,你的那些文字全是用的 RBG=0,0,0 看着是黑的颜色,这个其实可能是有问题的,因为很多人习惯用黑色的背景,甚至 acad默认的背景也是近乎黑色的,这样设置你的那些文字就看不见了,很容易引起迷惘或误解。

cxxyou 发表于 2020-12-2 15:50:54

dunkel 发表于 2020-12-2 09:24
上传的图,没有②的样子吧。Standard 用的是 txt.shx,黑体 的是 黑体.shx,宋体 的是 宋体.shx 。
这两字 ...

上传的图就是①和②的样子,文件默认的是①的字体,根据提示应该是字体库没有该文件,但是检查了下,文件库是有的(字体已上传附件)。这个很奇怪。
②是我想放弃①的字体,想更换的近似字体,但是预览不对,跟您说的一样,显示的样子与GothicE.shx字体一样,不是正常黑体的显示。
此外我也验证了下,把该A文件拷贝到其他电脑上看,也是显示缺少黑体.shx,但是更换成②后,是正常的黑体显示。这个就很奇怪了。

cxxyou 发表于 2020-12-2 15:53:25

dunkel 发表于 2020-12-2 09:36
另外,你的那些文字全是用的 RBG=0,0,0 看着是黑的颜色,这个其实可能是有问题的,因为很多人习惯用黑色的 ...

首先谢谢您的意见。:handshake
这个我也试着改过了,没有太大的改变,问题还是没有解决

dunkel 发表于 2020-12-2 19:24:20

本帖最后由 dunkel 于 2020-12-2 19:29 编辑

正好有个虚拟机里有个 win7/cad2008,里面没放黑体字体(精简的系统),只有微软雅黑;打开你的图形,先Ctl+A再颜色Bylayer,看到了显示的问号,进文字样式,黑体字型重新设置使用微软雅黑,预览正常的,确定后 regen 下,图形里显示也是正常的雅黑。甚至在“选项”里把替换字体改为了 gothice,退出cad再进,重复上面的操作,也是正常。
你现在图形里显示成什么样子?先用宋体,再回黑体如何?甚至先选用 romans,gbcbig 这样的 shx组合,然后再回 黑体?通常来说,不应该一直是②那样的顽固的存在的,尤其是图面上表现的异常。
页: [1] 2
查看完整版本: CAD字体出现了一个黑体字显示不正常的问题