自定义SHX,求教(各位大版(GU_XL,高飞鸟、猫老师)与大侠)
本帖最后由 cheng5276 于 2013-10-12 13:38 编辑近日公司采用的SHX文件中,有几个字符显示不正常,想着用 【GU_xl版的:SHX浏览器.VLX】配合EXPRESS TOOLS,修改这几个字符,碰到了问题。求指教,先拜谢各位大侠。
在此以“一、二、三”这三个汉字为例。
步骤如下:
1、通过此网站http://bianma.supfree.net/sos.asp?id=3985 查到“一、二、三” 的汉字编码为:0D2BB、0B6FE、0C8FD
2、通过EXPRESS TOOLS制作了cheng.shp形文件(“啊”的数据直接从其他SHX中复制过来)。
3、用CAD命令COMPILE编译cheng.shp为cheng.shx
4、在CAD中写文字“啊一二三”
存在的问题:
1、采用cheng.shx字体,单个字符输入“一” “二” “三”,显示无问题;
2、输入多个汉字时,因“啊”的SHP数据是来自其他正确的shx文件,故正确,但是自定义的“一” “二” “三”,出现了重叠。
拜请大虾们,为什么会出现重叠现象?请指教
搜了整个网络,基本无关于自定义shx的流程步骤。如能解决这个问题,本帖亦可作为自定义SHX的标准教程。
以下为cheng.shp文件的内容:
*BIGFONT 7025,1,0A1,0FE
*0,4,Extended Font
13,13,0,0
*0B0A1,165,unspecified ;;汉字“啊”,直接从其他SHX文件中弄过来的,显示正确
2,8,(0,12),1,8,(0,-8),2,8,(0,8),1,8,(2,0),2,8,(0,0),1,8,(0,-8),2,
8,(0,1),1,8,(-2,0),2,8,(3,10),1,8,(0,-15),2,8,(0,15),1,8,(3,0),2,
8,(0,0),1,8,(0,-4),2,8,(0,0),1,8,(-2,-1),2,8,(0,0),1,8,(2,-1),2,
8,(0,0),1,8,(0,-5),2,8,(0,0),1,8,(-1,-1),2,8,(0,0),1,8,(-1,1),2,
8,(4,11),1,8,(6,0),2,8,(-1,0),1,8,(0,-14),2,8,(0,0),1,8,(-1,-1),
2,8,(0,0),1,8,(-2,1),2,8,(-2,3),1,8,(0,8),2,8,(0,0),1,8,(3,0),2,
8,(0,0),1,8,(0,-8),2,8,(0,1),1,8,(-2,0),2,8,(7,-5),0
*0D2BB,44 ;;汉字“一” ;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(5,69),(0,0),001,9,(127,0),(1,0),(0,0),002,9,(-127,-66),(-6,-3),(0,0),001,4,120,4,5,4
179,3,84,3,119,0
*0B6FE,56 ;;汉字“二”;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(37,96),(0,0),001,9,(63,0),(0,0),002,9,(-95,-48),(0,0),001,9,(127,0),(1,0),(0,0),002
9,(-127,-46),(-6,-2),(0,0),001,4,120,4,5,4,179,3,84,3,119,0
*0C8FD,68 ;;汉字“三” ;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(37,102),(0,0),001,9,(63,0),(0,0),002,9,(-63,-33),(0,0),001,9,(63,0),(0,0),002,9,(-95,-39)
(0,0),001,9,(127,0),(1,0),(0,0),002,9,(-127,-29),(-6,-1),(0,0),001,4,120,4,5,4,179,3,84,3,119,0
大侠愧不敢当,我也只懂一点皮毛,也不知怎么演示。shp其实就相当于一支笔在屏幕中把字写出来。开始写字就把笔移动到起点位置落笔,然后按shp中规定的方向和坐标把字写出来,最后把笔抬起来,移动到下一个位置的起点。“002,9,(127,-29)”中002就是表示字写完了,把笔抬起来。9表示后面跟一个坐标即(127,-29)。“002,9,(127,-29)”整个就是把笔抬起来并移动到下一个字的起点。不过(127,-29)中127太大,使得字间距太大,可以根据你的字体文件适当减小。你的字定义为“002,9,(-127,-29)”就相当于把笔抬起来,回到起点位置,所以下一个字的起点就和第一个字的起点重合了,所以写出的字就会重合在一起。说得比较啰嗦,不知说清楚了没有,其它的咱也不懂,你可以看帮助关于shp定义的内容。 你定义的一,二,三每次写完抬笔回到落笔点位置,使得这三个汉字的落笔点都在同一个位置,当然要重合在一起了。应该写完一个汉字后抬笔向右移适当位置作为下一个汉字的落笔点,而不是写完回到落笔点。 本帖最后由 cheng5276 于 2013-10-12 20:37 编辑
谢谢,我试着重新做了遍,还是不对,圆处是定义形文件时,各自的基点。
估计是我曲解了您的意思(基点不能那样设),大侠能请您图示不? 继续自顶,恭请高人继续指点 帮你改了一下,你可以对照比较一下不同之处,不过右移127有点大,你自行调整到合适的大小。
*0D2BB,44 ;;汉字“一” ;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(5,69),(0,0),001,9,(127,0),(1,0),(0,0),002,9,(127,-66),(-6,-3),(0,0),001,4,120,4,5,4
179,3,84,3,119,0
*0B6FE,56 ;;汉字“二”;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(37,96),(0,0),001,9,(63,0),(0,0),002,9,(-95,-48),(0,0),001,9,(127,0),(1,0),(0,0),002
9,(127,-46),(-6,-2),(0,0),001,4,120,4,5,4,179,3,84,3,119,0
*0C8FD,68 ;;汉字“三” ;;自己根据CAD express tools 制作的SHP文件数据
4,119,4,84,3,179,3,5,3,120,002,9,(37,102),(0,0),001,9,(63,0),(0,0),002,9,(-63,-33),(0,0),001,9,(63,0),(0,0),002,9,(-95,-39)
(0,0),001,9,(127,0),(1,0),(0,0),002,9,(127,-29),(-6,-1),(0,0),001,4,120,4,5,4,179,3,84,3,119,0
多谢,我看出您动了几个127的正负。
大侠,关于SHP数据生成,您能给我演示下么?谢谢了 原来如此,多谢多谢。 本以为以解决,刚换了个复杂的字,“阀”的shp数据如下,还请高手指点,这种该如何改呢?
*0B7A7,150
4,137,4,73,3,156,3,4,3,128,002,9,(55,108),(0,0),001,9,(3,-23),(9,-34),(11,-20),(7,-11),(12,17),(0,0),002,9,(-27,65),(0,0)
001,9,(11,-14),(0,0),002,9,(6,-20),(0,0),001,9,(-10,-20),(-14,-17),(-20,-11),(0,0),002,9,(-6,57),(0,0),001,9,(55,0),(0,0)
002,9,(-62,3),(0,0),001,9,(0,-71),(0,0),002,9,(8,96),(0,0),001,9,(-27,-45),(0,0),002,9,(30,59),(0,0),001,9,(63,0),(0,-119)
(-16,3),(0,0),002,9,(-81,125),(0,0),001,9,(16,-20),(0,0),002,9,(-23,-3),(0,0),001,9,(0,-105),(0,0),002,9,(0,0),001,4,128
4,4,4,156,3,73,3,137,0
页:
[1]