📄 cycle.ps
字号:
/Xpos Xpos 72.0 Resolution div mul 1000.0 Magnification div mul def
/Ypos Ypos 72.0 Resolution div mul 1000.0 Magnification div mul def
} bdef
%
% <mode> SPE - end "\special" mode
%
% This is the PostScript procedure used to reenter the internal
% environment used for the DVI translation code emitted by DVIPS from
% the standard PostScript environment provided for processing user-supplied
% PostScript code.
%
% Parameters: 0 - Local
% 1 - Global
% 2 - Inline
%
/SPE {
/spc_mode xdef
1000.0 Magnification div dup scale % Un-adjust for any magnification...
72.0 Resolution div dup scale % Restore default internal scaling...
spc_mode 0 eq spc_mode 2 eq or
{RP}
{spc_mode 1 eq {LocalMode} if}
ifelse
} bdef
%
% <num-copies> PP
%
/PP {
/#copies xdef
showpage
/#copies 1 def
} bdef
%
% /font-name <point-size(pix)> DMF
%
/DMF {
/psz xdef
/nam xdef
nam findfont psz scalefont setfont
} bdef
%
% /abcd (xxx) str-concat ==> /abcdxxx
%
/str-concatstr 64 string def
/str-concat {
/xxx xdef
/nam xdef
/namstr nam str-concatstr cvs def
/newnam namstr length xxx length add string def
newnam 0 namstr putinterval
newnam namstr length xxx putinterval
newnam cvn
} bdef
%
% /abcdef 2 str-strip ==> /cdef
%
/str-strip {
/num xdef
/nam xdef
/namstr nam tempstr cvs def
/newlen namstr length num sub def
namstr num newlen getinterval
cvn
} bdef
%
% <old-dict> copydict ==> new-dict on stack
%
/copydict {
dup length 1 add dict /newdict xdef
{1 index /FID ne
{newdict 3 1 roll put}
{pop pop}
ifelse
} forall
newdict
} bdef
%
% <font-type> DefineCMEncoding
%
/DefineCMEncoding {
/EncodeType xdef
/CMEncoding 256 array def
/Times-Roman findfont /Encoding get aload pop CMEncoding astore pop
EncodeType 11 eq {Do-CM-rm-encoding} if
EncodeType 12 eq {Do-CM-it-encoding} if
EncodeType 13 eq {Do-CM-tt-encoding} if
} bdef
%
% Do special mappings for the various CM-font types. Characters that
% get "covered up" are repositioned in the range (128,128+32). The
% range (256-64,255) is filled with the standard ISO Latin/1 mappings.
%
/Do-standard-CM-encodings {
CMEncoding
dup 0 /.notdef put
dup 1 /.notdef put
dup 2 /.notdef put
dup 3 /.notdef put
dup 4 /.notdef put
dup 5 /.notdef put
dup 6 /.notdef put
dup 7 /.notdef put
dup 8 /.notdef put
dup 9 /.notdef put
dup 10 /.notdef put
dup 11 /.notdef put
dup 12 /fi put
dup 13 /fl put
dup 14 /.notdef put
dup 15 /.notdef put
dup 16 /dotlessi put
dup 17 /ogonek put
dup 18 /grave put
dup 19 /acute put
dup 20 /caron put
dup 21 /breve put
dup 22 /macron put
dup 23 /ring put
dup 24 /cedilla put
dup 25 /germandbls put
dup 26 /ae put
dup 27 /oe put
dup 28 /oslash put
dup 29 /AE put
dup 30 /OE put
dup 31 /Oslash put
dup 127 /dieresis put
dup 128 /space put
dup 129 /quotedbl put
dup 130 /sterling put
dup 131 /dollar put
dup 132 /less put
dup 133 /greater put
dup 134 /backslash put
dup 135 /asciicircum put
dup 136 /underscore put
dup 137 /braceleft put
dup 138 /bar put
dup 139 /braceright put
dup 140 /asciitilde put
dup 141 /brokenbar put
dup 142 /copyright put
dup 143 /logicalnot put
dup 144 /registered put
dup 145 /plusminus put
dup 146 /twosuperior put
dup 147 /threesuperior put
dup 148 /mu put
dup 149 /onesuperior put
dup 150 /onequarter put
dup 151 /onehalf put
dup 152 /threequarters put
dup 153 /Eth put
dup 154 /multiply put
dup 155 /Thorn put
dup 156 /eth put
dup 157 /divide put
dup 158 /thorn put
dup 159 /ordfeminine put
dup 160 /ordmasculine put
dup 176 /Lslash put
dup 181 /lslash put
pop
Do-ISO-Latin1-Encoding
} bdef
% Fill the last 64 positions with ISOLatin1 composite character definitions.
/Do-ISO-Latin1-Encoding {
CMEncoding
dup 192 /Agrave put
dup 193 /Aacute put
dup 194 /Acircumflex put
dup 195 /Atilde put
dup 196 /Adieresis put
dup 197 /Aring put
dup 198 /AE put
dup 199 /Ccedilla put
dup 200 /Egrave put
dup 201 /Eacute put
dup 202 /Ecircumflex put
dup 203 /Edieresis put
dup 204 /Igrave put
dup 205 /Iacute put
dup 206 /Icircumflex put
dup 207 /Idieresis put
dup 208 /Eth put
dup 209 /Ntilde put
dup 210 /Ograve put
dup 211 /Oacute put
dup 212 /Ocircumflex put
dup 213 /Otilde put
dup 214 /Odieresis put
dup 215 /multiply put
dup 216 /Oslash put
dup 217 /Ugrave put
dup 218 /Uacute put
dup 219 /Ucircumflex put
dup 220 /Udieresis put
dup 221 /Yacute put
dup 222 /Thorn put
dup 223 /germandbls put
dup 224 /agrave put
dup 225 /aacute put
dup 226 /acircumflex put
dup 227 /atilde put
dup 228 /adieresis put
dup 229 /aring put
dup 230 /ae put
dup 231 /ccedilla put
dup 232 /egrave put
dup 233 /eacute put
dup 234 /ecircumflex put
dup 235 /edieresis put
dup 236 /igrave put
dup 237 /iacute put
dup 238 /icircumflex put
dup 239 /idieresis put
dup 240 /eth put
dup 241 /ntilde put
dup 242 /ograve put
dup 243 /oacute put
dup 244 /ocircumflex put
dup 245 /otilde put
dup 246 /odieresis put
dup 247 /divide put
dup 248 /oslash put
dup 249 /ugrave put
dup 250 /uacute put
dup 251 /ucircumflex put
dup 252 /udieresis put
dup 253 /yacute put
dup 254 /thorn put
dup 255 /ydieresis put
pop
} bdef
/Do-CM-rm-encoding {
Do-standard-CM-encodings
CMEncoding
dup 32 /.notdef put
dup 34 /quotedblright put
dup 60 /exclamdown put
dup 62 /questiondown put
dup 92 /quotedblleft put
dup 94 /circumflex put
dup 95 /dotaccent put
dup 123 /endash put
dup 124 /emdash put
dup 125 /hungarumlaut put
dup 126 /tilde put
pop
} bdef
/Do-CM-it-encoding {
Do-standard-CM-encodings
CMEncoding
dup 32 /.notdef put
dup 34 /quotedblright put
dup 36 /sterling put
dup 60 /exclamdown put
dup 62 /questiondown put
dup 92 /quotedblleft put
dup 94 /circumflex put
dup 95 /dotaccent put
dup 123 /endash put
dup 124 /emdash put
dup 125 /hungarumlaut put
dup 126 /tilde put
pop
} bdef
/Do-CM-tt-encoding {
Do-standard-CM-encodings
CMEncoding
dup 12 /.notdef put
dup 13 /quotesingle put
dup 14 /exclamdown put
dup 15 /questiondown put
dup 94 /circumflex put
dup 126 /tilde put
pop
} bdef
%
% Routines to handle packing/unpacking numbers.
%
% <target> <pos> <num> PackHW --> <new target>
%
/PackHW {
/num xdef
/pos xdef
/target xdef
num 16#0000FFFF and 1 pos sub 16 mul bitshift
target or
} bdef
%
% <target> <pos> <num> PackByte --> <new target>
%
/PackByte {
/num xdef
/pos xdef
/target xdef
num 16#000000FF and 3 pos sub 8 mul bitshift
target or
} bdef
%
% <pos> <num> UnpkHW --> <unpacked value>
%
/UnpkHW {
/num xdef
/pos xdef
num 1 pos sub -16 mul bitshift 16#0000FFFF and
dup 16#00007FFF gt {16#00010000 sub} if
} bdef
%
% <pos> <num> UnpkByte --> <unpacked value>
%
/UnpkByte {
/num xdef
/pos xdef
num 3 pos sub -8 mul bitshift 16#000000FF and
dup 16#0000007F gt {16#00000100 sub} if
} bdef
%
% <int-font-name> <ext-font-name> <pt-sz(pix)> <type> <loaded-fg> DefineCMFont
%
% type 10: "as-is" PostScript font
% type 11: CM-mapped PostScript font - roman
% type 12: CM-mapped PostScript font - text italic
% type 13: CM-mapped PostScript font - typewriter type
%
/int-dict-name {int (-dict) str-concat} bdef
/int-dict {int (-dict) str-concat cvx load} bdef
/DF {
true % signal that the font is already loaded
DefineCMFont
} bdef
/DNF {
false % signal that the font is not already loaded
DefineCMFont
} bdef
/DefineCMFont {
/loaded xdef
/typ xdef
/psz xdef
/ext xdef
/int xdef
typ 10 ne
{ % font_type = 11, 12, 13
loaded not
{ /fnam ext 3 str-strip def
fnam findfont copydict /newdict xdef
typ DefineCMEncoding
newdict /Encoding CMEncoding put
ext newdict definefont pop
} if
int-dict-name ext findfont psz scalefont def
currentdict int [int-dict /setfont cvx] cvx put
}
{ % font_type = 10
/fnam ext def
int-dict-name fnam findfont psz scalefont def
currentdict int [int-dict /setfont cvx] cvx put
}
ifelse
} bdef
%
% <int-font-name> <ext-font-name> <pt-sz(pix)> <PXL mag> <num-chars>
% [llx lly urx ury] <newfont-fg> DefinePXLFont
%
/PXLF {
true % signal that the font is already loaded
DefinePXLFont
} bdef
/PXLNF {
false % signal that the font is not already loaded
DefinePXLFont
} bdef
/PXLBuildCharDict 17 dict def
/CMEncodingArray 256 array def
0 1 255 {CMEncodingArray exch dup tempstr cvs cvn put} for
/RasterConvert {RasterScaleFactor div} bdef
/TransformBBox {
aload pop
/BB-ury xdef
/BB-urx xdef
/BB-lly xdef
/BB-llx xdef
[BB-llx RasterConvert BB-lly RasterConvert
BB-urx RasterConvert BB-ury RasterConvert]
} bdef
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -