明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1106|回复: 4

请教-字体定义问题

[复制链接]
发表于 2005-4-16 14:11:00 | 显示全部楼层 |阅读模式
从网上找了款字体,恢复成shp文件有些看不懂,请哪位指点一下: *0,4,Simplex roman (C) Copyright 1987-91 by Autodesk, Inc.
28,10,0,0
*0A,15 ;
02,08,(0,3),08,(0,-34),0E,08,(30,34),08,(0,-3),0
*020,15 ;
02,08,(0,3),08,(21,0),0E,08,(-21,-30),08,(0,-3),0 上面是字体定义的开头部分,我认为只是不断的移动,没有任何的绘制命令,请问能否删除,上面的到底起什么作用。 顺便问一下:定义一个字形后,比如我定义了一个数字1,如何在cad里面键入1的时候就是我所定义的这个1。假若我定义两个不同大小的1,cad又该如何识别? 谢谢。
发表于 2005-4-16 15:10:00 | 显示全部楼层
*0,4,Simplex roman (C) Copyright 1987-91 by Autodesk, Inc.;字体必须包括的特殊形编号 0

28,10,0,0 ;定义字节行

*0A,15 ; ;标题行

02,08,(0,3),08,(0,-34),0E,08,(30,34),08,(0,-3),0
*020,15 ;
02,08,(0,3),08,(21,0),0E,08,(-21,-30),08,(0,-3),0 上面是字体定义的开头部分,我认为只是不断的移动,没有任何的绘制命令,请问能否删除,上面的到底起什么作用。 顺便问一下:定义一个字形后,比如我定义了一个数字1,如何在cad里面键入1的时候就是我所定义的这个1。假若我定义两个不同大小的1,cad又该如何识别? 形定义文件的每一行最多可包含 128 个字符,超过此长度的行不能编译。AutoCAD 忽略空行和分号右边的文字。利用分号可以在形定义文件中包含注释。每个形说明都有一个标题行,以及一行或多行定义字节。这些定义字节之间用逗号分隔,最后以 0 结束。格式如下:*编号, 数据字节 , 名称 形定义字节1, 形定义字节2, 形定义字节3,...,0 下面为形各个字段的说明:
“编号”段
“编号”段在形定义文件中对应唯一的一个形,“编号”段的数字必须在 1 到 258 之间,带前缀星号
(*)。如果定义的是字体文件,则“编号”段的数字编号要与定义的每个字符的 ASCII 码对应。
“数据字节” 段
用于描述形使用的数据字节数目,包括结尾的“0”。每个形最多可有 2,000 个数据字节。
“名称” 段
形的名称。形名称必须大写,以便于区分。包含小写字符的名称被忽略,并且通常用作字体形定义的标签。
“形定义字节” 段
每个定义字节都是一个代码,或者定义矢量长度和方向,或者是特殊代码的对应值之一。在形定义文件中,定义字节可以用十进制或十六进制表示。如果形定义字节的第一个字符为 0(零),则后面的两个字符解释为十六进制值。定义文件定义“ASCII字体”时,第一个形说明必须为特殊的形编号 0,以提供字体本身的信息。其格式如下:
*0,4,font-name
above,below,modes,0
其中,above 指定大写字母从基线往上扩展的矢量长度,below 指出小写字母从基线下降的距离。这些值定义了基本字符尺寸,用作 TEXT 命令中指定高度的比例因子。
modes 字节对水平字体应该为 0,对双向(水平或垂直)字体为 2。
AutoCAD 提供的标准字体包括一些 AutoCAD 标注功能所需的其他字符。例如以下:
%%d 度符号 ( °)
%%p 正/负公差符号 (±)
%%c 圆直径标注符号 (Ø)
%%o 打开或关闭上划线模式。
%%u 打开或关闭下划线模式。
%%% 绘制一个百分号。
请注意:如果要定义“大字体”时,大字体形定义文件的第一行必须以“*BIGFONT”开始。
发表于 2005-4-17 08:58:00 | 显示全部楼层
楼主贴出来的两个字符定义, 一个是换行符 (0a), 一个是空格字符 (020), 这两个字符都是没有实际笔画的, 当然就只是把笔移来移去的. 你看看其他的字符定义, 比如 '1' (031). 在 '落笔' 命令 01 之后的移笔动作就是绘制笔画动作的,直到 '抬笔' 命令 02 为止.


在一个字体文件里, 是不可以定义两个相同编码字符的. 如果确实需要两个不同大小的 '1' 的话, 一个是使用正常的 '1' 的编码定义, 一个是使用其他没有被使用的编码, 比如可以是 0b1, 这样在使用 0b1 定义时, 输入的字符应该是 %%177 (177=0b1)
 楼主| 发表于 2005-4-18 10:01:00 | 显示全部楼层
谢谢两位的回答。仔细学习一下先。借问一下zara,0a是换行,020是空格,031是代表数字1,请问这些在那可以查到,为什么1用031表示是不是1的ASCII吗?用032不行吗?
发表于 2005-4-18 10:45:00 | 显示全部楼层
这个是 ascii 的规定, 一般的程序书上都是有的吧. 020/031 这样的值在 .shp 型定义文件中, 表明其为十六进制值, 否则为十进制的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 15:49 , Processed in 0.153776 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表