How do PostScript interpreters know the meanings of PGF-specific operators, such as 'pgfe' and 'pgfstr'?
The PostScript definitions for pgf/TikZ
can be found in the files
pgfsys-common-postscript.def
and pgfsys-dvips.def
in the TeX directory tree under
texmf-dist/generic/pgf/systemlayer
/pgfstr
is defined in pgfsys-dvips.def
(as well as again for the vtex
version)
/pgfe
is defined in pgfsys-common-postscript.def
Definitions for the other output 'engines' like .pdf
etc. can be found there as well within files of similar names.
Here is a PostScript function which defines all pgf functions:
/pgffunctions {
/pgfsc{}bind def% stroke color is empty by default
/pgffc{}bind def% fill color is empty by default
/pgfstr{stroke}bind def
/pgffill{fill}bind def
/pgfeofill{eofill}bind def
/pgfe{a dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath}bind def% rectangle
/pgfw{setlinewidth}bind def% setlinewidth
/pgfs{save pgfpd 72 Resolution div 72 VResolution div neg scale
magscale{1 DVImag div dup scale}if
pgfx neg pgfy neg translate pgffoa .setopacityalpha}bind def% save
/pgfr{pgfsd restore}bind def %restore
userdict begin
/pgfo{pgfsd /pgfx currentpoint /pgfy exch def def @beginspecial}bind def %open
/pgfc{newpath @endspecial pgfpd}bind def %close
/pgfsd{globaldict /pgfdelta /delta where {pop delta} {0} ifelse put}bind def% save delta
/pgfpd{/delta globaldict /pgfdelta get def}bind def % put delta
/.setopacityalpha where {pop} {/.setopacityalpha{pop}def} ifelse % install .setopacityalpha
/.pgfsetfillopacityalpha{/pgffoa exch def
/pgffill{gsave pgffoa .setopacityalpha fill 1 .setopacityalpha newpath fill grestore newpath}bind def
/pgfeofill{gsave pgffoa .setopacityalpha eofill 1 .setopacityalpha newpath eofill grestore newpath}bind def}bind def
/.pgfsetstrokeopacityalpha{/pgfsoa exch def /pgfstr{gsave pgfsoa .setopacityalpha stroke grestore newpath}bind def}bind def
/pgffoa 1 def
/pgfsoa 1 def
end
} def