📄 ibgdoc.ps
字号:
count array astore /DVCstack exch def % save op stack
/dict_count countdictstack def % # of dicts
userdict begin % default dict
/showpage {}def % disable showpage
0 setgray
}def
%
% End EPS file
/SPE {
countdictstack dict_count sub {end} repeat % clean up dict stack
clear DVCstack aload pop % restore op stack
eps_save restore % restore after EPSF
PageSetup % restore DVC coords
}def
%
% Print-Page Routine: <Page #> PP
/PP {
gsave
showpage
grestore
}def
%
/DMF { % /font-name <point-size> DMF
exch findfont exch scalefont setfont
}def
%
/concatnam { % /abcd (xxx) concatnam ==> /abcdxxx
/xxx exch def
/namstr exch cvsstr cvs def
/newnam namstr length xxx length add string def
newnam 0 namstr putinterval
newnam namstr length xxx putinterval
newnam cvn
}def
%
/strip { % /abcdef 2 strip ==> /cdef
/num exch def /nam exch def
/namstr nam cvsstr cvs def
/newlen namstr length num sub def
namstr num newlen getinterval cvn
}def
% ROUTINES TO HANDLE PACKING/UNPACKING NUMBERS
/PackHW { % <target> <pos> <num> PackHW --> <new target>
/num exch def /pos exch def /target exch def
num 16#0000FFFF and 1 pos sub 16 mul bitshift target or
}def
/PackByte { % <target> <pos> <num> PackByte --> <new target>
/num exch def /pos exch def /target exch def
num 16#000000FF and 3 pos sub 8 mul bitshift target or
}def
/UnpkHW { % <pos> <num> UnpkHW --> <unpacked value>
/num exch def /pos exch def
num 1 pos sub -16 mul bitshift 16#0000FFFF and
dup 16#00007FFF gt {16#00010000 sub} if
}def
/UnpkByte { % <pos> <num> UnpkByte --> <unpacked value>
/num exch def /pos exch def
num 3 pos sub -8 mul bitshift 16#000000FF and
dup 16#0000007F gt {16#00000100 sub} if
}def
%
/ps-scalefont {
% FOR PS FONTS, LOOK AT SIZE REQUESTED. IF IT HAS A DECIMAL REMAINDER
% EQUIVALENT TO .001-.009 POINTS (I.E., .050-.450 VAXDOC UNITS), THAT'S
% A FLAG TO STRETCH IT VERTICALLY BY ADDING 1-9 EXTRA POINTS TO THE
% VERTICAL SCALING.
% save requested size - as entered and as integer
dup /x-size exch def cvi /x-int exch def
% calc decimal remainder, mul x 1000, round
x-size x-int sub 1000 mul round cvi /remainder exch def
% see how we scale...
remainder 50 lt remainder 450 gt or {
% scale isomorphically
/ystretch 0 def
x-size scalefont
} {
% scale anamorphically
/ystretch remainder def
x-int ystretch add /y-size exch def
[x-int 0 0 y-size 0 0] makefont
} ifelse
}def
%
/DPSF { % /procname size /fontname DPSF
findfont exch ps-scalefont [ exch /setfont cvx ] cvx def
}def
%
/PXLBuildCharDict 17 dict def
/CMEncodingArray 256 array def
0 1 255 {CMEncodingArray exch dup cvsstr cvs cvn put} for
/RasterConvert {RasterScaleFactor div}def
/TransformBBox {
aload pop
/BB-ury exch def /BB-urx exch def /BB-lly exch def /BB-llx exch def
[ BB-llx RasterConvert BB-lly RasterConvert
BB-urx RasterConvert BB-ury RasterConvert ]
}def
/RunLengthToRasters {
% none yet
}def
/GenerateRasters { % GENERATE RASTERS FOR "IMAGEMASK"
rasters runlength 1 eq {RunLengthToRasters} if
}def
%
/int-dict-name {int (-dict) concatnam}def
/int-dict {int (-dict) concatnam cvx load}def
%
/DefinePXLFont {
% <int-font-name><ext-font-name><pt-sz(pix)><PXL mag><num-chars>...
% ...[llx lly urx ury]<newfont-fg>DefinePXLFont
/newfont exch def /bb exch def /num exch def /psz exch def
/dsz exch def /pxlmag exch def /ext exch def /int exch def
/fnam ext (-) concatnam pxlmag cvsstr cvs concatnam 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 exch def /fontdict exch def
fontdict /CharDict get /Char-Info get char get aload pop
/rasters exch def /PackedWord1 exch def
0 PackedWord1 UnpkHW 16#7FFF ne {
/PackedWord2 exch def /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
}{ %else
/PackedWord2 exch def /PackedWord3 exch def /PackedWord4 exch def
/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
}{ %else
/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 .5 add neg ury .5 add
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
}def
/PXLF { true DefinePXLFont}def % SIGNAL THAT FONT ALREADY LOADED
/PXLNF {false DefinePXLFont}def % SIGNAL THAT FONT NOT ALREADY LOADED
%
/PXLC { % <int-font-name><code><wx><llx><lly><urx><ury>...
% ...<rows><cols><runlength><rasters>PXLC
/rasters exch def /runlength exch def /cols exch def /rows exch def
/ury exch def /urx exch def /lly exch def /llx exch def
/wx exch def /code exch def /int exch def
% SEE IF 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
}{ %else
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
}def
%
/CKSZ {abs 127 le and}def
/TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if}def
%
/PLOTC {
% <wx><dsz><psz><llx><lly><urx><ury><rows><cols><runlength><rasters>PLOTC
/rasters exch def /runlength exch def /cols exch def /rows exch def
/ury exch def /urx exch def /lly exch def /llx exch def
/psz exch def /dsz exch def /wx exch def
% "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 .5 add neg ury .5 add tempmatrix astore
GenerateRasters imagemask
grestore
} if
wx x
}def
%
% set color routine: Color# SC
/SC {ColorPalette exch get 1.0 setcustomcolor}bind def
%
%%EndProlog
%%BeginSetup
/PxlResolution 300 def
/Resolution 3600 def
/RasterScaleFactor PxlResolution Resolution div def
/PortraitMode true def
/PaperWidth 8.500 def
/PaperHeight 11.000 def
72 Resolution div dup scale
%> Postamble of file DISK0DARCY:[SCHMELZER.IBG]IBGDOC.DVI_PS.
% DefineFont:F202 Category:15 Pointsize:9
% DownloadPSFont
%!PS-Adobe-2.0
%%Title: Jinete Reverse Number Font, v1.1
%%Creator: Mark DeVries, DEC
%%CreationDate: 1-Aug-90
%%DocumentNeededFonts: Helvetica
%%DocumentSuppliedFonts: Jinete
%%EndComments
%%BeginFont: Jinete
18 dict begin
/FontName /Jinete def
/FontInfo 10 dict dup begin
/version (1.0, 3-Mar-88) readonly def
/FullName (Jinete Reverse Number Font) readonly def
/Notice (Copyright 1988, Digital Equipment Corporation.) readonly def
end
readonly def
/FontBBox [ 0 -75 1000 -75 add ] def
/Encoding [
48 { /.notdef } repeat
/rx0 /rx1 /rx2 /rx3 /rx4 /rx5 /rx6 /rx7 /rx8 /rx9
198 { /.notdef } repeat
] def
/FontMatrix [ .001 0 0 .001 0 0 ] def
/FontType 3 def
% Note: The numbers for scaling and translation in BuildChar are determined
% from selection of Helvetica as the BaseFont. Changing the base font will
% require changing those numbers.
% Digit height = .732 X .9 = .659
% Digit width = .556 X .9 = .500
/BaseFont /Helvetica findfont 900 scalefont def
/str ( ) def
/BuildChar {
exch begin
Encoding exch get % the digit name
str cvs
(x) search {
exch pop cvx exec % Call either r, c, b, m, or e.
} {%else
pop
} ifelse
end
} bind def
/r { % (digit) `r' --
556 0 setcharwidth
0 -170 translate
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -