在编写postscript文件时,可以选择这样的字体:
/Courier-Bold findfont 16 scalefont setfont
(bar baz) show
我想更改字体的字母间距 - 有没有办法做到这一点?要么直接作为字体操作符,要么只是能够在字形呈现之间插入任意postscript命令?
答案 0 :(得分:5)
是的,show
运算符有几种变体可用于这样的事情:
x a y string ashow -
在显示 string
c x c y char string widthshow -
在显示字符串时,将 c x ,c y 添加到 char 的宽度
c x c y char a x a y string awidthshow 强> - 结合ashow和widthshow的效果
proc string kshow -
在 string
一些提示。由于postscript没有字符文字,因此常见的习惯用法是从1字节的字符串文字中提取整数值,以便为widthshow
和awidthshow
提供 char 参数。例如
( ) 0 get %the space char, aka 32 or 16#20
除非你想要某种阶梯效应,否则所有 y 值都应为0.
每个字符之间由kshow执行的proc作为参数接收char-just-shown和char-about-to-be-shown,按顺序。这可能是为了让你在某种“kerning table”中查找这对。但我从来没有真正看到这件事。但如果不需要(通常),请记得弹出它们。
至于制作派生字体,我建议您使用codegolf.SE上的this answer of mine,它通过在Times-Roman周围绘制框来创建填字游戏字体。使用/ BuildChar过程中的setcachedevice运算符声明字符的宽度。对我来说,我只需要一个恒定的宽度,所以我用1将它直接绑定到字体大小。