- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我偶尔会涉猎 postscript,这是一种我喜欢的古怪语言,但我还算不上专家。
要生成这样的图表:
我写了一些看起来像这样的代码:
% fontsize on stack
label (Up) eq
{ /Symbol exch selectfont (\255) show }
{ label (Down) eq
{ /Symbol exch selectfont (\257) show }
{ label (Left) eq
{ /Symbol exch selectfont (\254) show }
{ label (Right) eq
{ /Symbol exch selectfont (\256) show }
{ label (bs) eq
{ /Symbol exch selectfont (\254) show }
{ /Helvetica exch selectfont
label length 3 lt
{ label show }
{
label (/) % (page/up) (/)
search % (up) (/) (page) true
{ % (up) (/) (page)
/Helvetica keyHeight 4.6 div selectfont
3 1 roll % (page) (up) (/)
pop % (page) (up)
currentpoint % (page) (up) 438 745
3 2 roll % (page) 438 745 (up)
show % (page) 438 745
moveto % (page)
0 keyHeight 0.25 mul % (page) 0 11
rmoveto % (page)
show } %
{ show } ifelse
} ifelse
} ifelse
} ifelse
} ifelse
} ifelse
} ifelse
...
(End)key (Page/Down)key 0.5 gap (7)(Home)key2 (8)(Up)key2 ...
我不喜欢嵌套的 if 语句和重复,但这是对解决方案的第一次快速尝试。我的第一个想法是我会使用另一种语言的案例陈述。对于 Postscript,我想我应该为标签名称对和相应的八进制字符代码选择合适的数据结构。也许是嵌套数组。
[ [(Up) (\255)] [(Down) (\257)] ... ]
但我不确定如何迭代这个并且仍然优雅地跟踪我是否需要在没有名称匹配时执行默认过程。
有没有我可以遵循的好成语?
最佳答案
好的,现在我回到我的办公 table 前。与其自己回答这个问题,不如让我为您指出一个很好的资源,John Deubert 的 Acumen Training Journal :
如果您查看 2001 年 4 月的 PostScript 技术期刊,您会看到 John 对如何使用字典实现 case 语句的清晰描述。我建议这比使用数组更好,主要原因有两个,首先是能够简单地添加默认情况,其次是事实,正如约翰指出的那样,“get”和“known”运算符通常在PostScript 解释器,因为它们的使用非常频繁。
关于后记 - 案例陈述的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32677646/
如何在 Postscript 中连接两个字符串? (foo) (bar) ??? -> (foobar) 最佳答案 PostScript 没有内置的字符串连接运算符。您需要为此编写一些代码。见 htt
我偶尔会涉猎 postscript,这是一种我喜欢的古怪语言,但我还算不上专家。 要生成这样的图表: 我写了一些看起来像这样的代码: % fontsize on stack label (Up
如何在 postscript 中设置页面大小? 如何将文档旋转到宽度? . . %! %% Example 1 newpath 100 200 moveto 200 250 lineto 100 30
我需要打印一个字符串直到一定的宽度,例如: (abcd efgh) 显示我只需要打印字符串的 36 个点,在本例中我只想打印 abcd 和半个 e。我怎样才能做到这一点?或者至少只打印到 e 或 e
我在学习后记我正在尝试创建一种方法来绘制垂直 渐变 . 这是我的代码: %!PS-Adobe-3.0 %%%%%%%%%%%%%%%%%%%%%%% % draw a RECTANGLE /Rect
在后记中,简历 *operator* 被称为将数字转换为字符串。我应该如何使用它? 我试过 : 100 100 moveto 3.14159 cvs show 或者 100 100 moveto 3.
我希望获取文档的页面尺寸,例如A4、A5、A6等。 解决方案,我发现它是解析 postscript 文本并从中提取字符串 A6 featurebegin{ %%BeginFeature: *PageS
我正在尝试使用带有 Ghostscript 解释器的 PostScript 解析 .txt 文件。 .txt 文件是我需要从中提取日期戳的各种日志文件。文件中会有一行,例如“date: [01-May
我正在开发供外部应用程序使用的“GS Wrapper”(使用 9.20 SDK)。例如,我将 A0 图纸缩小到 A1、A2 和 A3,并且效果很好。 (PDF 转 PS,然后打印) 问题:当我将任何输
我是一名优秀的程序员,十分优秀!