关于编译形状和字体文件

发布时间 2023-11-25 12:25:34作者: rf8862

关于编译形状和字体文件

AutoCAD 2018 Help | About Compiling Shape and Font Files | Autodesk

可以定义、创建和编译形状和字体文件,以便在图形中使用自定义符号和文本字体。 

形状是像块一样使用的对象。块比形状更通用,更易于使用和插入。但是,对于程序来说,形状的存储和绘制效率更高。当您必须多次插入一个简单零件并且速度很重要时,用户定义的形状很有用。 

使用LOAD命令加载包含形状定义的已编译形状(SHX)文件。然后使用SHAPE命令将文件中的形状插入到图形中。您可以在插入每个形状时指定要用于该形状的比例和旋转。SHP字体是一种特殊类型的形状文件,其定义方式与形状文件相同

 

编译形状/字体文件

您可以在文件扩展名为.shp的特殊格式文本文件中输入形状的描述。您可以使用文本编辑器或文字处理器以ASCII格式保存来创建形状定义(shp)文件,然后使用compile命令编译该文件。编译形状定义文件将生成与形状定义文件同名的已编译形状文件(SHX)。

 如果形状定义文件定义了字体,则可以使用STYLE命令定义文本样式。然后,将文字添加到图形中,以使用编译后的形状文件中定义的字符。如果形状定义文件定义了形状,则可以使用LOAD命令将形状文件加载到图形中。使用SHAPE命令可以将指定的形状插入到图形中。

 

编译PostScript字体

Type 1 PostScript字体必须先将其编译为形状文件,然后才能在程序中使用。COMPILE命令接受SHP和PFB文件作为输入,并生成SHX文件。

 程序无法编译并加载每种类型1的字体。基于AutoCAD的程序中的PostScript字体功能用于处理Adobe字体的子集。如果在编译PostScript字体时收到错误,则生成的SHX文件(如果生成了SHX文件)可能无法加载到程序中。

 有关Adobe Type 1字体格式的更多信息,请参阅Adobe Type1字体格式1.1版。当您购买并安装了这些字体后,就可以开始在程序中使用它们了。

 注意:请确保您了解所使用的PostScript字体的版权。同样的版权限制通常适用于您编译的SHX形式的字体。

 

 

编译形状或字体文件的步骤

AutoCAD 2018 Help | To Compile a Shape or Font File | Autodesk

在命令提示下,输入compile。

在“选择形状或字体文件”对话框中,选择形状定义文件(SHP)或PostScript字体文件(PFB)。单击“打开”。

 选择文件名后,将开始编译。如果程序在形状描述中发现错误,将显示一条消息,告诉您错误的类型和发生错误的行号。编译完成后,将显示以下消息:

 编译成功。

输出文件名.shx包含nnn个字节。

  

关于形状描述

AutoCAD 2018 Help | About Shape Descriptions | Autodesk

字体和形状文件(SHX)是根据形状定义文件(SHP)编译的。可以使用以ASCII格式保存文件的文本编辑器或文字处理器创建或修改形状定义文件。

 无论形状描述的最终用途(形状或字体)如何,每个形状或字符的形状描述的语法都是相同的。如果要将形状定义文件用作字体文件,则文件中的第一个条目将描述字体本身,而不是文件中的形状。如果此初始条目描述了一个形状,则该文件将用作形状文件。

 形状定义文件中的每一行最多可以包含128个字符。无法编译较长的行。由于程序忽略了空行和分号右侧的文本,因此可以在形状定义文件中嵌入注释。

 每个形状描述都有一个以下形式的标题行,后面跟着一行或多行包含规范字节,用逗号分隔,并以0结尾。

 *shapenumber,defbytes,shapenamespecbyte1,specbyte2,specbyte3,...,0  

 

以下列表描述了形状描述的字段: 

形状编号

文件唯一的数字,介于1和258之间(Unicode字体最高可达32768),前面加一个星号(*)。非Unicode字体文件使用形状号256、257和258作为符号标识符Degree_Sign、Plus_Or_Minus_Sign和Diameter_Symbol。对于Unicode字体,这些字形出现在U+00B0、U+00B1和U+2205形数字处,是“拉丁扩展-A”子集的一部分。 

文本字体(包含每个字符的形状定义的文件)需要与ASCII码中每个字符的值相对应的特定数字;其他形状可以指定任何数字。 

 

数据字节

描述形状所需的数据字节数(规范字节),包括终止的0。每个形状的限制为2000字节。

  

形状名称

形状名称。形状名称必须是大写才能识别。带有小写字符的名称将被忽略,通常用于标记字体形状定义。

 

specbyte

形状规范字节。每个规范字节都是一个定义矢量长度和方向的代码,或者是许多特殊代码中的一个。规范字节可以在形状定义文件中表示为十进制或十六进制值。如果规范字节的第一个字符是0(零),则后面的两个字符将被解释为十六进制值。