在编写 postscript 文件时,可以选择如下字体:
/Courier-Bold findfont 16 scalefont setfont
(bar baz) show
我想更改字体的字母间距 - 有没有办法做到这一点?直接作为字体操作符,或者只是能够在字形渲染之间插入任意 postscript 命令?
在编写 postscript 文件时,可以选择如下字体:
/Courier-Bold findfont 16 scalefont setfont
(bar baz) show
我想更改字体的字母间距 - 有没有办法做到这一点?直接作为字体操作符,或者只是能够在字形渲染之间插入任意 postscript 命令?
是的,有几种show
操作符的变体可以用于这样的事情:
a x a y string ashow -在显示字符串
时
将 ( a x , a y ) 添加到每个字符的宽度
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 -在字符串显示的字符之间
执行proc
一些提示。由于 postscript 没有字符文字,一个常见的习惯用法是从 1 字节的字符串文字中提取整数值来为and提供char参数。例如。widthshow
awidthshow
( ) 0 get %the space char, aka 32 or 16#20
除非你想要某种阶梯效应,否则所有的y值都应该是 0。
kshow 在每个字符之间执行的 proc 按顺序接收 char-just-shown 和 char-about-to-be-shown 作为参数。这大概是为了让您在某种“字距调整表”中查找这对。但我从来没有真正看到过这样做。但是如果不需要它们(通常),请记住弹出它们。
As for making a derived font, I refer you to this answer of mine on codegolf.SE which creates a Crossword Font by drawing boxes around Times-Roman. The width of the character is declared with the setcachedevice operator in the /BuildChar procedure. For mine, I just needed a constant width so I used 1 to tie it directly to the font size.