pic 파일의 도형을 GIF로 변환하면 전체 페이지가 아니라 도형 부분만 웹 문서에 넣을 수 있다. 다음 절차는 BSD/OS 3.0에서 제공되는 도구를 사용한다.

예시 파일 pic.ms의 내용은 다음과 같다.

text
 .EQ
 delim $$
 .EN
 .PS
 arrow
 box "$space 0 {H( omega )} over {1 - H( omega )}$"
 arrow
 .PE

먼저 groff로 PostScript 파일을 만든다.

sh
 groff -e -p -ms pic.ms > file1.ps

ghostscript로 전체 8.5×11인치 페이지 크기의 GIF를 생성한다. 해상도는 도형의 글자와 크기, 원하는 결과물 크기에 맞춰 바꿀 수 있다. 이 예시에서는 150×150 해상도로 1280×1650 픽셀 이미지가 생성됐다.

sh
 gs -q -sDEVICE=gifmono -sOutputFile=file1.gif -r150x150 file1.ps < /dev/null

도형만 잘라내려면 먼저 GIF에서 PostScript 경계 상자 정보를 얻는다.

sh
 giftopnm file1.gif | pbmtoepsi -bbonly

출력은 다음과 같다.

text
 %!PS-Adobe-2.0 EPSF-1.2
 %%BoundingBox: 150 1401 412 1475

경계 상자의 네 숫자는 PostScript 좌표계 기준으로, 원점 (0,0)이 왼쪽 아래에 있다. 반면 pnmcut은 원점이 왼쪽 위라고 가정한다. 경계 상자의 숫자를 차례로 a, b, c, d라고 할 때 pnmcut에 넘길 값은 a, -d, (c-a+1), (d-b+1)이다. 예시에서는 다음 명령으로 도형을 잘라 GIF로 저장하며, 결과 크기는 263×75 픽셀이다.

sh
 giftopnm file1.gif | pnmcut 150 -1475 263 75 | ppmtogif > file2.gif

더 간단한 방법도 있다. 스콧 슈워츠(Scott Schwartz)가 알려준 방식으로, pnmcrop이 경계 상자 방식과 같은 효과를 낸다.

sh
 gs -q -sDEVICE='ppmraw' -sOutputFile='-' -dBATCH -dNOPAUSE file1.ps | pnmcrop | ppmtogif > file2.gif

다만 pnmcrop은 메모리를 많이 사용할 수 있어 프로그램의 데이터 공간을 늘려야 할 수 있다. KornShell에서는 ulimit을, C Shell에서는 limit을 사용한다. 예시에서는 KornShell에서 데이터 크기를 64MB로 늘리기 위해 다음 명령을 실행한다.

sh
ulimit -d 65535