The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
%!PS-Adobe-2.0 EPSF-1.2
%%BoundingBox: 40 135 260 312
%%Creator: Gisle Aas (Copyright 1998), Reini Urban (Copyright 2009)

0.5 dup scale

%require "common.ps"
%require "arrow.ps"

/S {                                   % x y str
  dup stringwidth pop 2 div            % x y str dx
  4 2 roll                             % str dx x y
  moveto                               % str dx
  gsave
     % draw a nice box around the text
     0 -2 rmoveto
     dup 3 add
     dup 0 rlineto
     0 20 rlineto
     dup 2 mul neg 0 rlineto
     0 -20 rlineto
     closepath
     gsave 0.95 setgray fill grestore
     0.5 setlinewidth stroke
     pop
  grestore
  neg 0 rmoveto                        % str
  show
} def

/A {
  20 add   % adjust to-y
  3 2 roll 3 sub 3 1 roll % adjust from-y
  1.5 7 9 arrow fill
} def


%---------------------------------

/Helvetica 18 SF
300 600 (SvNULL) S

% extra arrow from RV to IV
gsave 0.5 setgray 251 558 282 558 1.5 7 9 arrow fill grestore
% and from RV to BIND
gsave 0.5 setgray 199 558 172 558 1.5 7 9 arrow fill grestore

135 550 (BIND) S   300 600 135 550 A
225 550 (RV)   S   300 600 225 550 A
300 550 (IV)   S   300 600 300 550 A
375 550 (NV)   S   300 600 375 550 A
450 550 (PV)   S   300 600 450 550 A

300 500 (PVIV) S 300 550 300 500 A   374 550 305 500 A
300 450 (PVNV) S 300 500 300 450 A   450 550 305 450 A
300 400 (PVMG) S 300 450 300 400 A

155 330 (P5RX) S 300 400 155 330 A
225 330 (PVLV) S 300 400 225 330 A
300 330 (AV)   S 300 400 300 330 A
350 330 (HV)   S 300 400 350 330 A
400 330 (CV)   S 300 400 400 330 A
450 330 (GV)   S 300 400 450 330 A
500 330 (IO)   S 300 400 500 330 A

400 280 (PVFM) S 400 330 400 280 A