几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(AutoLISP) (http://www.dimcax.com/hust/forumdisplay.php?f=178)
-   -   怎样获取中文字体的长度?? (http://www.dimcax.com/hust/showthread.php?t=10331)

yang686526 2009-04-25 05:10 PM

怎样获取中文字体的长度??
 
怎样获取中文字体的长度??
www.dimcax.com
怎样获取中文字体的长度??
(strlen "abcd")
;返回 4
(strlen "1234")
;返回 4
(strlen "")
;返回 4
(strlen "")
;返回 8 问题就出在这里。
(strlen "abcd")
;返回 12
怎样才能正确的获取字体长度。
无助,高手们帮帮忙。
d
哈哈,解决了。
贴出源码给大家参考下
(defun string_len ()
(setq str (getstring "输入字符:"))
(setq str_index 0)
(setq chinese 0)
(setq english 0)
(setq nn (strlen str))
(repeat nn
(setq str_index (+ str_index 1))
(setq str_word (substr str str_index 1))
(if (> (ascii str_word) 128)
(setq chinese (+ chinese 0.5))
(setq english (+ english 1))
)
);end repeat
(setq str_len (+ chinese english))
);end defun
d
不错不错。思路很好,用(if (> (ascii str_word) 128)来区分是英文还是中文。。虽暂无用。顶一下。
d


所有的时间均为北京时间。 现在的时间是 05:37 AM.