rfa.ps
来自「ftam等标准协议服务器和客户端的源代码。」· PS 代码 · 共 1,762 行 · 第 1/5 页
PS
1,762 行
/DefinePXLFont { /newfont xdef /bb xdef /num xdef /psz xdef /dsz xdef /pxlmag xdef /ext xdef /int xdef /fnam ext (-) str-concat pxlmag tempstr cvs str-concat def newfont not { int-dict-name 13 dict def int-dict begin /FontType 3 def /FontMatrix [1 dsz div 0 0 1 dsz div 0 0] def /FontBBox bb TransformBBox def /Encoding CMEncodingArray def /CharDict 1 dict def CharDict begin /Char-Info num array def end /BuildChar { PXLBuildCharDict begin /char xdef /fontdict xdef fontdict /CharDict get /Char-Info get char get aload pop /rasters xdef /PackedWord1 xdef 0 PackedWord1 UnpkHW 16#7FFF ne { /PackedWord2 xdef /wx 0 PackedWord1 UnpkHW def /rows 2 PackedWord1 UnpkByte def /cols 3 PackedWord1 UnpkByte def /llx 0 PackedWord2 UnpkByte def /lly 1 PackedWord2 UnpkByte def /urx 2 PackedWord2 UnpkByte def /ury 3 PackedWord2 UnpkByte def } { /PackedWord2 xdef /PackedWord3 xdef /PackedWord4 xdef /wx 1 PackedWord1 UnpkHW def /rows 0 PackedWord2 UnpkHW def /cols 1 PackedWord2 UnpkHW def /llx 0 PackedWord3 UnpkHW def /lly 1 PackedWord3 UnpkHW def /urx 0 PackedWord4 UnpkHW def /ury 1 PackedWord4 UnpkHW def } ifelse rows 0 lt { /rows rows neg def /runlength 1 def } { /runlength 0 def } ifelse wx 0 llx RasterConvert lly RasterConvert urx RasterConvert ury RasterConvert setcachedevice rows 0 ne { gsave cols rows true RasterScaleFactor 0 0 RasterScaleFactor neg llx neg ury tempmatrix astore {GenerateRasters} imagemask grestore } if end } def end fnam int-dict definefont pop } if int-dict-name fnam findfont psz scalefont def currentdict int [int-dict /setfont cvx] cvx put} bdef %% <int-font-name> <code> <wx> <llx> <lly> <urx> <ury> <rows> <cols> <runlength> <rasters> PXLC%/PXLC { /rasters xdef /runlength xdef /cols xdef /rows xdef /ury xdef /urx xdef /lly xdef /llx xdef /wx xdef /code xdef /int xdef % See if the long or short format is required true cols CKSZ rows CKSZ ury CKSZ urx CKSZ lly CKSZ llx CKSZ TackRunLengthToRows { int-dict /CharDict get /Char-Info get code [0 0 llx PackByte 1 lly PackByte 2 urx PackByte 3 ury PackByte 0 0 wx PackHW 2 rows PackByte 3 cols PackByte rasters] put} { int-dict /CharDict get /Char-Info get code [0 0 urx PackHW 1 ury PackHW 0 0 llx PackHW 1 lly PackHW 0 0 rows PackHW 1 cols PackHW 0 0 16#7FFF PackHW 1 wx PackHW rasters] put} ifelse} bdef /CKSZ {abs 127 le and} bdef/TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if} bdef %% <wx> <dsz> <psz> <llx> <lly> <urx> <ury> <rows> <cols> <runlength> <rasters> PLOTC%/PLOTC { /rasters xdef /runlength xdef /cols xdef /rows xdef /ury xdef /urx xdef /lly xdef /llx xdef /psz xdef /dsz xdef /wx xdef % "Plot" a character's raster pattern. rows 0 ne { gsave currentpoint translate psz dsz div dup scale cols rows true RasterScaleFactor 0 0 RasterScaleFactor neg llx neg ury tempmatrix astore {GenerateRasters} imagemask grestore } if wx x} bdef % Routine to generate rasters for "imagemask"./GenerateRasters { rasters runlength 1 eq {RunLengthToRasters} if} bdef % Routine to convert from runlength encoding back to rasters./RunLengthToRasters { % ...not done yet...} bdef %% These procedures handle bitmap processing.%% <bitmap columns> <bitmap rows> <bitmap pix/inch> <magnification> BMbeg%/BMbeg { /BMmagnification xdef /BMresolution xdef /BMrows xdef /BMcols xdef /BMcurrentrow 0 def gsave 0.0 setgray Resolution BMresolution div dup scale currentpoint translate BMmagnification 1000.0 div dup scale 0.0 BMrows moveto BMrows dup scale currentpoint translate /BMCheckpoint save def } bdef/BMend { BMCheckpoint restore grestore } bdef%% <hex raster bitmap> <rows> BMswath %/BMswath { /rows xdef /rasters xdef BMcols rows true [BMrows 0 0 BMrows neg 0 BMcurrentrow neg] {rasters} imagemask /BMcurrentrow BMcurrentrow rows add def BMcurrentrow % save this on the stack around a restore... BMCheckpoint restore /BMcurrentrow xdef /BMCheckpoint save def } bdef%% Procedures for implementing the "rotate <theta>" special:% <theta> ROTB -% - ROTE -/ROTB { XP gsave Xpos Ypos translate rotate % using <theta> from the stack Xpos neg Ypos neg translate RP } bdef/ROTE {XP grestore RP} bdef%% Procedures for implementing the "epsfile <filename> [<mag>]" special:% <llx> <lly> <mag> EPSB -% - EPSE -/EPSB { 0 SPB save 4 1 roll % push the savelevel below the parameters /showpage {} def Xpos Ypos translate 1000 div dup scale % using <mag> from the stack neg exch neg exch translate % using <llx> <lly> from the stack } bdef/EPSE {restore 0 SPE} bdef%% Procedure for implementing revision bars:% <bary1> <bary2> <barx> <barw> REVB -% The bar is a line of width barw drawn from (barx,bary1) to (barx,bary2)./REVB { /barw xdef /barx xdef /bary2 xdef /bary1 xdef gsave barw setlinewidth barx bary1 Yadjust moveto barx bary2 Yadjust lineto stroke grestore } bdef%% A small dictionary to facilitate The Publisher's implementation% of gray table cells./grpm 40 dict def%% Procedures for implementing the "paper <source>" option:% <name> <eop> SPS -% <eop> paper-manual -% etc. The boolean <eop> is passed so that a paper source procedure% knows if it is being called at the beginning (false) or end% (true) of a page./SPS { /eop xdef /name xdef name where {pop eop name cvx exec} if } bdef/paper-manual { {statusdict /manualfeed known {statusdict /manualfeed true put} if} if } bdef/paper-automatic { {statusdict /manualfeed known {statusdict /manualfeed false put} if} if } bdef/paper-top-tray { {} {statusdict /setpapertray known {statusdict begin 0 setpapertray end} if} ifelse } bdef/paper-bottom-tray { {} {statusdict /setpapertray known {statusdict begin 1 setpapertray end} if} ifelse } bdef/paper-both-trays { {} {statusdict /setpapertray known {statusdict begin 2 setpapertray end} if} ifelse } bdef(end of common prolog) VMSDebug end systemdict /setpacking known {savepackingmode setpacking} if% % End of included prolog section.%%%EndProlog%%BeginSetupBeginDviLaserDoc300 300 RES%%EndSetup%%PageBoundingBox: (atend)%%BeginPageSetup1000 BP 3507 2481 PM /paper-automatic false SPS 766 0 XY%%EndPageSetupXP /F46 /CM-Times-Bold 74.720 11 DNF RP766 759 XY F46(RF)S -6 x(A)S 38 x(\320)S 37 x(Remote)S 37 x(File)S37 x(Access)SXP /F45 /CM-Times-Roman 74.720 11 DNF RP688 950 XY F45(A)S 35 x(tool)S 35 x(for)S 35 x(managing)S 35 x(access)S 35 x(to)S 34 x(\014les)S 1037 Y 689 X(that)S 35 x(are)S 35 x(distributed)S 35 x(at)S 35 x(multiple)S 34 x(sites)SXP /F48 /CM-Times-Italic 58.115 12 DNF RP1069 1187 XY F48(Oliver)S 32 x(W)S -5 x(enzel)S 70 y 1057 X(GMD)S
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?