Исключение nocurrentpoint PostScript
Я разработал функцию, чтобы сделать простой флажок в postscript, но все же он, кажется, не работает. Нет проблем с созданием прямоугольника, но он, кажется, выдает исключение во время написания строк (делая классический X флажка).
/nocurrentpoint in --nocurrentpoint--
Вот мой код
/doMarkedCheckBox {
0.1 setlinewidth
currentpoint
/yIniChk exch def
/xIniChk exch def
xIniChk
yIniChk
DimChars
DimChars
rectstroke
xIniChk DimChars add yIniChk DimChars add lineto
0 DimChars 0 sub moveto
yIniChk DimChars add xIniChk lineto
stroke
} bind def
Может кто-нибудь объяснить, как это сделать правильно? Заранее спасибо.
1 ответ
Это именно проблема - после rectstroke
Я звоню, чтобы закрыть путь, и у вас нет начальной точки.
Вы можете просто переместиться туда снова, поместив значения в стек и выдав moveto
- кажется, что по крайней мере в коде есть ошибка для генерации другой части проверки - и, так как у вас есть квадратный размер в DimChars
уже может быть проще в использовании rlineto
в этих вопросах.
В общем, если вы замените свои инструкции после rectstroke
по этой последовательности вы должны быть хорошими:
...
xInitChk YInitChk moveto
DimChars DimChars rlineto
stroke
XInitChk YInitChk DimChars add moveto
DimChars DimChars neg rlineto
stroke
} bind def