我们有直接编写 CGM(或交互式 WebCGM)文件的代码。我们可以完全控制所有 CGM 原语,并且可以根据需要生成版本 1、3 或 4 文件。一般来说,我们编写的 CGM 可以在各种行业标准渲染器(MetaWeb、SDI、ISOView 等)中完美渲染 - 这些渲染器允许我们无缺陷地缩放、平移或缩放。
不幸的是,当最终用户将相同的文件导入 Framemaker(版本 10)时,我们遇到了问题。初始导入后 CGM 文件的视图是正确的。但是,如果用户选择在页面内拉伸或缩小 CGM 图,我们会发现:
1) 缩小 - 不仅文本字体按比例缩小(如预期的那样),而且字符间距(CGM 类 5,元素 13)和字符扩展因子(类 5,元素 12)也会缩小。总体而言,文本在水平方向收缩不成比例
2) 在扩展时——文本字体、字符间距和字符扩展因子这三个都增加了——所以原本限制在图形框中的文本现在将大大超出右侧边距。
这看起来像是 Framemaker 中的一个错误。但是,最终用户也有第三方生成的文件可以正确缩放。我们复制了这些文件的功能 - 特别是设置:
version to: '1'
scaling mode to: ABSTRACT
scale to 0
using Text(class 4, element 4) in place of Restricted Text (class 4, element 5).
我们还尝试了不同的字符间距和字符扩展因子值(即 1、0 和 0.01),但均未成功。奇怪的是,对于这两个元素,原始文件包含值“9.0E-44”,即十六进制 0x00 0x00 0x00 0x40。这看起来像一个“秘密标志值”——但在我们自己的文件中使用它似乎没有效果。
有谁知道这个标志值的意义以及应该如何使用它?