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