本帖最后由 llsheng_73 于 2023-9-3 18:12 编辑

宋体是比较常用的字体,但它在CAD里边比较另类,首先它实际使用的字体文件是TTC,其它黑体什么的都是TTF,其实这倒无所谓,麻烦在于试图通过DXF数据来创建或修改字体样式使用宋体无法成功,但别的字体基本无这个烦恼,比如,可以很容易通过ENTMOD修改使用仿宋的字体样式去使用黑体,通过ENTMAKE也可以很容易的创建一个字体样式来使用仿宋体。。。但要想修改已有样式的字体为宋体却只能失败,相信不少人试过,我也折腾过,但没成功过。失败的原因也比较怪异:使用宋体的字体样式,它的fontFile属性、DXF的3组为空。。。
废话了半天,改用VLA方法,主要是满足不想用COMMAND的强迫症,其实通过style命令来收拾根本就没问题

  1. (defun tt(f / styles *doc);;;强制修改所有字体样式使用宋体,f为NIL时重生成所有视口,否则不重生成(不自动更新显示)
  2.   (vl-load-com)
  3.   (setq *doc(vlax-get-property(vlax-get-acad-object)'activedocument)
  4.         styles(vlax-get-property *doc 'textstyles))
  5.   (or(VL-CATCH-ALL-ERROR-P(VL-CATCH-ALL-APPLY'vlax-invoke-method(list(vlax-invoke-method(vlax-get-property *doc 'TextStyles)'item 0)'SetFont"宋体":vlax-false :vlax-false 0 0)));;;检测宋体是否可用,虽然一般无必要,防万一吧
  6.      (vlax-for x styles(vlax-invoke-method x 'SetFont"宋体" :vlax-false :vlax-false 0 0))
  7.      f(vlax-invoke-method *doc'Regen acAllViewports)))





网友答: 这有一个自用的字型替换程序,把shx字型替换成自用的"sim.shx和hzfst.shx“,把Windows字形的"封面正文"替换成宋体。稍加修改就能满足你的需求。


网友答: SimSun 是一个超丑的字体,为啥要用这玩意儿呢,而且,还有商业使用的风险。

网友答:
wharan 发表于 2023-5-16 12:04
这有一个自用的字型替换程序,把shx字型替换成自用的"sim.shx和hzfst.shx“,把Windows字形的"封面正文"替 ...

Automation 错误。 文件处理器错误
请问怎么解决。

网友答: 谢谢楼主分享

网友答:
wharan 发表于 2023-5-16 12:04
这有一个自用的字型替换程序,把shx字型替换成自用的"sim.shx和hzfst.shx“,把Windows字形的"封面正文"替 ...

谢谢分享。

网友答: 对块中的多行文字有用吗?

网友答: 非常感谢。

网友答:
zhangkui9070 发表于 2023-5-16 21:17
对块中的多行文字有用吗?

应该是有用的,因为这个是修改所有字体样式实际使用的字体为宋体,重生成或更新后所有字体样式都会被修改

网友答:
wharan 发表于 2023-5-16 12:04
这有一个自用的字型替换程序,把shx字型替换成自用的"sim.shx和hzfst.shx“,把Windows字形的"封面正文"替 ...

我也一直用siim字体,通杀
  • 上一篇:批量合并图纸又快又避免同名块影响,AI编写的
  • 下一篇:没有了