块宏

块宏用于分隔要重复插入到 GPD 文件的一组 GPD 文件条目。 可以在块宏定义中包括任何条目类型,例如特性和选项语句、属性规范,以及对值宏或其他块宏的引用。

以下规则适用于块宏的使用:

  • GPD 文件内的块宏定义必须位于对该文件的任何引用之前。

  • 在根级别定义的块宏 (定义后,) 定义该宏的 GPD 文件可以使用该宏,而不是大括号内。 否则,块宏的范围是包含其定义的左大括号和右大括号集。

  • 块宏定义可以包含其他块宏和值宏的定义。

  • 块宏定义可以引用其他以前定义的块宏和值宏,但不能引用自身。

  • 块宏不接受参数。

  • 如果大括号包含在宏体中,则必须将大括号与 (配对,也就是说,在宏体中必须存在相等数量的左大括号和右大) 。

  • 如果创建两个同名的块宏,则第一个定义将生效,直到 GPD 分析器遇到第二个定义。 然后,第二个定义将替换第一个定义。 如果第二个定义的作用域结束,则恢复第一个定义。

块宏格式

若要在 GPD 文件中定义块宏,请使用以下格式:

*BlockMacroBlockMacroName {BlockMacroBody}

其中 BlockMacroName 是唯一的名称, BlockMacroBody 是一组或多个 GPD 文件条目。 如果 BlockMacroBody 包含大括号,则必须包含 {, } (左大括号) 右大括号的数量。

例如,可以定义名为 EnvelopeDefaults 的块宏,定义如下:

*BlockMacro: EnvelopeDefaults
{
    *PrintableArea: PAIR(4646, 6738)
    *PrintableOrigin: PAIR(150, 150)
    *RotateSize: TRUE
}

引用块宏

若要引用块宏,请使用以下格式:

*InsertBlock: =BlockMacroName

其中 BlockMacroName 是以前在 定义宏的 BlockMacro 条目中指定的唯一名称。

例如,若要在选项规范中引用 EnvelopeDefaults 宏,可以使用以下条目:

*Option: Env9
{
    *InsertBlock: =EnvelopeDefaults
}