我发现我的 Postscript 文件生成速度非常慢,并且文件大小异常大。问题是,每次我选择设置字体时,都会调用 ps_findfont(),然后调用 ps_setfont()。
看来每次调用 ps_findfont() 时,字体都会被嵌入到文件中。为了防止这种情况,我保留了一个我已经加载的字体的数组,以字体名称为键。当我设置字体时,我首先检查此数组以查看我是否已经加载了字体,如果是,则返回该数组中的资源句柄。否则,我会调用 ps_findfont() 并将句柄存储在数组中。
请注意,如果在页面内部调用 ps_findfont(),则该字体在其他页面上不可用。为了解决这个问题,我只需在每个页面的末尾清除该数组。
我的 PS 文件从 10M 减少到 75K,并且创建文件的时间从大约 15 秒缩短到不到 1 秒。