Ошибка в списке PostScript взята из старого журнала 1987 года - PullRequest
1 голос
/ 10 июля 2019

Просмотр журнала здесь: https://archive.org/details/verbum103unse/page/16

Я использовал OCR и ручной пропуск, чтобы получить текст как есть: https://gist.github.com/gingerbeardman/79d6df2ab08033a37f5eb23162fa6a4c

Я вполне уверен, что я удалил все ошибки распознавания в файле, и я проанализировал его с помощью этой команды:

$ gs -sDEVICE=nullpage -dNOPAUSE -dBATCH verbum-1-3.ps

Я получаю ошибку во втором определении:

{inHard Disk:Logos:Coarse} 
{ps} 
gsave
63 -63 translate
/ang -30 def
45
  { Icosahedron 72 ang cos mul 72 ang sin mul 24 FaceNos
    Dodecahedron -72 ang cos mul -72 ang sin mul 24 FaceNos 
    6 12 translate 1.03 dup scale /ang ang 24 add store 
    /ax ax 12 add store /ay ay 4 add store /az az 1 add store
  } repeat
grestore

Ошибка:

/ не определено в икосаэдре

Но на данный момент мой опыт работы с PostScript полувековой давности исчерпан. Чего мне не хватает?

Любые указатели или помощь приветствуется. Спасибо!

1 Ответ

1 голос
/ 10 июля 2019

Я обнаружил еще несколько ошибок распознавания:

10c10
<   { Vertex face 3 get get a load pop TurnXYZ pop moveto 
---
>   { Vertex face 3 get get aload pop TurnXYZ pop moveto 
12c12
<       {Vertex face 3 -1 roll get get aload pop TurnXYZ popline lineto}
---
>       {Vertex face 3 -1 roll get get aload pop TurnXYZ pop lineto}
15c15
<   /angcos x px mul y mul z pz mul add add size psize mul sqrt div def 
---
>   /angcos x px mul y py mul z pz mul add add size psize mul sqrt div def 
18c18
<     dup 0 1t {pop 0} if 
---
>     dup 0 lt {pop 0} if 
54c54
< /lim 0. 000001 def 
---
> /lim 0.000001 def 
59c59
< 297 423 translate 0.84 dup scale -306 -336 translate 75 2 -1 atan {pop} setscreen 0.8 setgray 
---
> 297 423 translate 0.84 dup scale -306 -396 translate 75 2 -1 atan {pop} setscreen 0.8 setgray 

Но я не смог заставить его работать. (Мое наивное предположение, что это связано с setscreen звонком.) Удачи.

...