📄 3.12.linboli.ps
字号:
%%%% Additions by LA Carr to reencode Adobe fonts as TeX fonts (almost)
%%%% Based on routine in LaserWriter Cookbook
/ReEncodeForTeX
{ /newfontname exch def
/basefontname exch def
/TeXstr 30 string def
/basefontdict basefontname findfont def
/newfont basefontdict maxlength dict def
basefontdict
{ exch dup /FID ne
{ dup /Encoding eq
{ exch dup length array copy
newfont 3 1 roll put }
{ exch newfont 3 1 roll put }
ifelse
}
{ pop pop }
ifelse
} forall
basefontdict /MathFontName known not
{
/TeXvec basefontname TeXstr cvs (Courier) search
{ pop pop pop TeXcourvec }
{ pop TeXnormalvec }
ifelse def
TeXvec aload pop
TeXvec length 2 idiv
{ newfont /Encoding get 3 1 roll put }
repeat
}
if
newfontname newfont definefont pop
} def
/TeXnormalvec
[ 8#014 /fi 8#015 /fl 8#020 /dotlessi 8#022 /grave 8#023 /acute
8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ring 8#030 /cedilla
8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash 8#035 /AE
8#036 /OE 8#037 /Oslash 8#042 /quotedblright 8#074 /exclamdown
8#076 /questiondown 8#134 /quotedblleft 8#136 /circumflex
8#137 /dotaccent 8#173 /endash 8#174 /emdash 8#175 /hungarumlat
8#176 /tilde 8#177 /dieresis ] def
/TeXcourvec
[ 8#016 /exclamdown 8#017 /questiondown 8#020 /dotlessi 8#022 /grave
8#023 /acute 8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ring
8#030 /cedilla 8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash
8#035 /AE 8#036 /OE 8#037 /Oslash 8#074 /less 8#076 /greater
8#134 /backslash 8#136 /circumflex 8#137 /underscore 8#173 /braceleft
8#174 /bar 8#175 /braceright 8#177 /dieresis ] def
/TeXPSmakefont { % defines a routine for generating PS fonts, fudged!
/TeXsize exch def findfont
[ TeXsize 0 0 TeXsize neg 0 0 ] makefont
} def
% fontname basefontname angle ObliqueFont -
% Create a General Oblique font
/ObliqueFont {
/ObliqueAngle exch def
/ObliqueBaseName exch def
/ObliqueFontName exch def
/ObliqueTransform [1 0 ObliqueAngle sin ObliqueAngle cos div 1 0 0] def
/basefontdict ObliqueBaseName findfont ObliqueTransform makefont def
/newfont basefontdict maxlength dict def
basefontdict
{ exch dup /FID ne
{ dup /Encoding eq
{ exch dup length array copy
newfont 3 1 roll put }
{ exch newfont 3 1 roll put }
ifelse
}
{ pop pop }
ifelse
} forall
newfont /FontName ObliqueFontName put
ObliqueFontName newfont definefont
pop
} def
% Palatino-ItalicUnslanted? You must be joking!
% fontname basename SmallCapsFont - Create a General SmallCaps font
/SmallCapsFont {
/SmallCapsBaseName exch def
/SmallCapsFontName exch def
/basefontdict SmallCapsBaseName findfont def
/newfont basefontdict maxlength 10 add dict def
newfont begin
/FontName SmallCapsFontName def
/FontBaseDict basefontdict 1000 scalefont def
/FontSCDict FontBaseDict .8 scalefont def
/FontType 3 def
/BuildChar {SmallCapChar} def
/FontMatrix dup basefontdict exch get def
/FontBBox dup basefontdict exch get def
/Encoding dup basefontdict exch get def
end
SmallCapsFontName newfont definefont pop
} def
% fontdict ch SmallCapChar -
% It shouldn't be so damn hard to do this (make one font out
% of two others) but I tried several dozen variations on this
% theme until I found something that worked. -- vj
/SmallCapChar {
/achar (A) def
achar exch 0 exch put
begin
achar 0 get dup 97 ge exch 122 le and {
% handle 'a' through 'z' specially
achar 0 achar 0 get 32 sub put
FontSCDict
} {
FontBaseDict
} ifelse
setfont achar stringwidth FontBBox setcachedevice
newpath 0 0 moveto achar show
end
} def
/MathEncodingVec [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon1
/Phi /Psi /Omega /alpha /beta /gamma /delta /epsilon
/zeta /nu /theta /iota /kappa /lambda /mu /nu
/xi /pi /rho /sigma /tau /upsilon /phi /chi
/psi /omega /epsilon /theta1 /omega1 /rho /sigma /phi1
/arrowleft /arrowleft /arrowright /arrowright
/suchthat /congruent /proportional /angle
/zero /one /two /three /four /five /six /seven
/eight /nine /period /comma /less /slash /greater /asteriskmath
/partialdiff /A /B /C /D /E /F /G
/H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W
/X /Y /Z /registerserif /copyrightserif /trademarkserif /logicalor /logicaland
/section /a /b /c /d /e /f /g
/h /i /j /k /l /m /n /o
/p /q /r /s /t /u /v /w
/x /y /z /dotlessi /j /weierstrass /macron /breve
] def
% the following gives the character codes of the above characters
% in their font. I.e., this is the character we have to hand "show"
% to image the characters above.
/MathCharVec [
71 68 81 76 88 80 83 161
70 89 87 97 98 103 100 101
122 110 113 105 107 108 109 110
120 112 114 115 116 117 102 99
121 119 101 74 118 114 115 106
172 172 174 174 39 64 181 208
48 49 50 51 52 53 54 55
56 57 46 44 60 47 62 42
182 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 210 211 212 218 217
167 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 245 106 195 197 198
] def
% this array tells which font dictionary holds each character above
% (0 = basefont, 1 = symbol (maybe slanted), 2 = symbol (unslanted)).
/MathDictVec [
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 2 2 2 2 2
2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 2 0 0
] def
% fontname basename symbolname symbolbase angle MathOblique -
% Create a "math" font with the symbol font characters slanted
% by "angle"
/MathOblique {
3 copy ObliqueFont
pop pop MathFont
} def
% fontname basename symbolname MathFont - Create a math italic font
%
% We build this font out of the base font & the symbol font
% using an encoding vec as close as we can get to cmmi10 with
% standard postscript characters. An array parallel to the
% encoding vector tells which font dictionary to use for a
% particular character.
/MathFont {
/MathSymName exch def
/MathBaseName exch def
/MathFontName exch def
/basefontdict MathBaseName findfont def
/newfont basefontdict maxlength 10 add dict def
newfont begin
/FontName MathFontName def
/FontDictArray [
basefontdict 1000 scalefont
MathSymName findfont 950 scalefont
/Symbol findfont 950 scalefont
] def
/FontType 3 def
/BuildChar {MathFontChar} def
/FontMatrix dup basefontdict exch get def
/FontBBox dup basefontdict exch get def
% the encoding vector is a copy of the original font's
% encoding, modified "appropriately".
/Encoding dup basefontdict exch get dup length array copy def
/WhichFont MathDictVec def
/WhichChar MathCharVec def
MathEncodingVec Encoding copy pop
/achar (A) def
end
MathFontName newfont definefont pop
} def
% fontdict ch MathFontChar -
% (there's some serious magic going on here: see note on
% SmallCapChar above -- vj).
/MathFontChar {
exch begin
achar exch 0 exch put
FontDictArray WhichFont achar 0 get get get setfont
achar dup 0 get WhichChar exch get 0 exch put
achar stringwidth FontBBox setcachedevice
newpath 0 0 moveto achar show
end
} bind def
/@flushfonts { @TeXSave restore /@TeXSave save def} def
end % revert to previous dictionary
TeXDict begin @start
%%Title: 312.dvi
%%Creator: dvi2ps
%%EndProlog
%%Page: 3 1
3 @bop0
1.000000 /cmmi10.300 @newfont
cmmi10.300 @sf
[<FF8000FF80003C00001C00001C00001E00001E00000E00000E7C000FFF000FC7C00783E00781E0
0780F00780F803807803807803C07803C07C01C03C31E03C39E03819F0781DFC780FDFF00F87C0> 24 26 1 8 20] 112 @dc
1.000000 /cmr7.300 @newfont
cmr7.300 @sf
[<0FC01FE0387070386018E01CE01CE01CE01CE01CE01CE01CE01CE01C6018703838701FE00FC0> 16 19 -1 0 16] 48 @dc
1.000000 /cmr10.300 @newfont
cmr10.300 @sf
[<FFFFFFE0FFFFFFE000000000000000000000000000000000000000000000000000000000000000
00FFFFFFE0FFFFFFE0> 32 12 -2 -4 32] 61 @dc
cmmi10.300 @sf
[<3801E03C03F03C07B81C071C1C078C1E038E1E038E0E03C00E01C00F01C00F01E00700E0C780E0
E7C0E067E0E07771E03F3FE03E1F80> 24 18 -1 0 24] 110 @dc
cmr7.300 @sf
[<1FC07FF0F078E03CE01CE01C001C003C00780FE00FE000F0007800387038703870787FF01FC0> 16 19 -1 0 16] 51 @dc
cmr10.300 @sf
[<000600000006000000060000000600000006000000060000000600000006000000060000000600
00000600000006000000060000FFFFFFE0FFFFFFE0000600000006000000060000000600000006
00000006000000060000000600000006000000060000000600000006000000060000> 32 28 -2 4 32] 43 @dc
[<0FE03FF8787CF01EF81EF80FF80F700F000F000F000F001E003C007807E007F000F8003C003C00
1E781E781E7C1E783E387C3FF80FE0> 16 27 -2 0 20] 51 @dc
cmr7.300 @sf
[<FFE0FFE0FFE078703C301E300F00078003C001E000E000700070E070E070E0F0E1E07FC01F80> 16 19 -2 0 16] 50 @dc
cmr10.300 @sf
[<01C00380038007000E000C001C001800380038007000700070007000E000E000E000E000E000E0
00E000E000E000E000E000E000E000E00070007000700070003800380018001C000C000E000700
0380038001C0> 16 42 -3 11 16] 40 @dc
[<FFF8FFF80700070007000700070007000700070007000700070007000700070007000700070007
0007000700C700FF003F0007000300> 16 27 -4 0 20] 49 @dc
1.000000 /cmsy10.300 @newfont
cmsy10.300 @sf
[<FFFFFF80FFFFFF80> 32 2 -3 -9 32] 0 @dc
cmr10.300 @sf
[<E0007000700038001C000C000E00060007000700038003800380038001C001C001C001C001C001
C001C001C001C001C001C001C001C001C003800380038003800700070006000E000C001C003800
70007000E000> 16 42 -2 11 16] 41 @dc
cmmi10.300 @sf
[<60E070303818181878F8F8F870> 8 13 -3 8 11] 59 @dc
cmr10.300 @sf
[<0FE03FF8787C703EF01EF00FF00FF00F000F000F000F000F301E381E3C3C3FF837E03000300030
003000300030003FE03FF83FFC301C> 16 27 -2 0 20] 53 @dc
cmr7.300 @sf
[<FFE0FFE00E000E000E000E000E000E000E000E000E000E000E000E000E00EE00FE001E000600> 16 19 -3 0 16] 49 @dc
cmmi10.300 @sf
[<70F8F8F870> 8 5 -3 0 11] 58 @dc
cmr10.300 @sf
[<07E00FF81E3C381E781E700F700FF00FF00FF00FF00FF00FF80FF81EFC1CFFFCF7F8F080700078
00781E381E3C1E1E1E0F8E07FC01F8> 16 27 -2 0 20] 54 @dc
[<FFF800FFF8000F00000F00000F00000F00000F00000F00000F03000F03000F03000F03000F0700
0FFF000FFF000F07000F03000F03000F030C0F030C0F000C0F000C0F001C0F00180F00380F0078
FFFFF8FFFFF8> 24 28 -2 0 27] 70 @dc
[<03F0000FFC001E1E00380700780780700380F003C0F003C0F003C0F003C0F003C0F003C0700380
7807803807001E1E000FFC0003F000> 24 18 -1 0 20] 111 @dc
[<FFC0FFC01C001C001C001C001C001C001C001C001C001C001C001E301E781F78FFF8FDF0> 16 18 -1 0 16] 114 @dc
[<1FC7807FFFC07C7E60F81E60F00E60F00E60F80E00F80E007E0E003FFE0007FE00001E00000E00
180E003C1E003C3C003FF8001FE000> 24 18 -1 0 20] 97 @dc
[<FFC387FF80FFC387FF801E038078000C07C078000C07C078000C07C078000C0F6078000C0F6078
000C0F6078000C1E3078000C1E3078000C1E3078000C3C1878000C3C1878000C3C1878000C780C
78000C780C78000C780C78000CF00678000CF00678000CF00678000DE00378000DE00378000DE0
0378000FC001F8000FC001F800FFC001FF80FF8000FF80> 40 28 -2 0 38] 77 @dc
[<003F800001FFF00003E0F80007803C000E000E001E000F003C00078038000380780003C0780003
C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C07800
03C0380003803C0007801C0007000E000E0007001C0003E0F80001FFF000003F8000> 32 28 -2 0 32] 79 @dc
[<03FFFC0003FFFC00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000C00F0060C00F
0060C00F0060C00F0060E00F00E0600F00C0700F01C0780F03C07FFFFFC07FFFFFC0> 32 28 -1 0 29] 84 @dc
[<FFF00FC0FFF03FE00F007E700F007C300F0078000F0078000F0078000F0078000F0078000F0078
000F00F8000F00F0000F03F0000FFFC0000FFFE0000F00F0000F0038000F003C000F001E000F00
1E000F001E000F001E000F001E000F003C000F0038000F00F000FFFFE000FFFF0000> 32 28 -2 0 30] 82 @dc
[<FFFFF0FFFFF00F01F00F00F00F00700F00300F00380F00180F00180F00180F00180F00000F0000
0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000
FFF800FFF800> 24 28 -2 0 25] 76 @dc
[<FFC0FFF0FFC0FFF01F001F0006001E0006001E0007003E0003003C0003003C0003FFFC0001FFF8
000180780001C0F80000C0F00000C0F00000E1F0000061E0000061E0000073E0000033C0000033
C000003FC000001F8000001F8000001F8000000F0000000F0000000F000000060000> 32 28 -1 0 31] 65 @dc
[<07E3F01FFBF03E1F807C0F80780780F00380F00380F00380F00380F00380F00380F00380F80380
7803807C07803E1F801FFF8007F380000380000380000380000380000380000380000380000380
000380001F80001F80> 24 29 -1 0 23] 100 @dc
[<07F00FF83F1C3C0E78067800F000F000F000F000FFFEFFFEF01E781E781C3E7C1FF807E0> 16 18 -1 0 18] 101 @dc
[<FF8FF8FF80FF8FF8FF801C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C
001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001E01E01C001F03F03C001F87F8
7C00FDFF9FF800FC7F07F000> 40 18 -1 0 34] 109 @dc
[<07F3F00FFFF01E1F801C0F801C07801C03801C03801C03801C03801C03801C03801C03801C0380
1C03801C03801C0380FC1F80FC1F80> 24 18 -1 0 23] 117 @dc
[<FF80FF801C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
001C001C001C001C001C001C001C00FC00FC00> 16 29 -1 0 11] 108 @dc
[<07C00FE01E701C301C301C301C301C301C001C001C001C001C001C001C001C00FFE0FFE03C001C
001C000C000C000C000C000C00> 16 26 -1 0 16] 116 @dc
[<60E070303818181878F8F8F870> 8 13 -3 8 11] 44 @dc
cmmi10.300 @sf
[<3803801E003C03C03F003C03C07B801C01C071C01C01C078C01E01E038E01E01E038E00E00E03C
000E00E01C000F00F01C000F00F01E000780700E00C780780E00E7C07C0E0067E07E0E007778F7
1E003F3FE3FE003E0FC1F800> 40 18 -1 0 36] 109 @dc
cmr10.300 @sf
[<07800007800007800007800007800007800007800007800003800003800003800003C00001C000
01C00000C00000E000006000007000003000003800C01C00C00E00C006006007007FFF807FFF80
7FFF80600000> 24 28 -2 0 20] 55 @dc
[<07E01FF83C3C781EF00EE007E007E007E00FF00F703F787E3DFC1FFC0FF01FF03FF87F3C7C1E78
0E700E700E701E381E3C3C1FF807E0> 16 27 -2 0 20] 56 @dc
[<C7F800DFFE00FE0F00F00780E00380E001C0C001C0C001C00001C00003C00007C0000F8000FF80
0FFF001FFE003FFC007FE000FE0000F80000F00000E00180E00180E003807003807007803C1F80
1FFD8007F180> 24 28 -2 0 23] 83 @dc
[<FF80FF801C001C001C001C001C001C001C001C001C001C001C001C001C001C00FC00FC00000000
0000000000000000003C007C007C007C003C00> 16 29 -1 0 11] 105 @dc
[<01C0700001C0700001C0700003E0F80003E0F80003E0F8000760CC000731CC000731CC000E318E
000E1B86000E1B86000E1B06001C1F03001C0F03003C0F0780FF3FCFE0FF3FCFE0> 32 18 -1 0 29] 119 @dc
[<FF9FF0FF9FF01C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380
1E03801F07801F8F801DFF001CFE001C00001C00001C00001C00001C00001C00001C00001C0000
1C0000FC0000FC0000> 24 29 -1 0 23] 104 @dc
[<00E00000E00000E00001F00001F00003F800039800039800071C00070C00070C000E06000E0600
0E06001C07001C0780FF0FE0FF0FE0> 24 18 -1 0 21] 118 @dc
cmmi10.300 @sf
[<FFFFE000FFFFF8000F807C0007801E0007800F0007C0078003C003C003C003C003C003C003E003
C001E003C001E003C001E0078001F01F0000FFFE0000FFFF0000F0078000F803C0007801E00078
00F0007800F0007C0070003C0070003C00F0003C00F0003E01E003FFFFC003FFFF00> 32 28 -2 0 31] 66 @dc
[<FFFFFC00FFFFFE000F803E0007800F000780070007C0038003C0038003C0018003C001C003E0C0
C001E0E0E001E0600001E0600001F0E00000FFF00000FFF00000F0700000F83000007838300078
183000781830007C0030003C0030003C0030003C0078003E00F803FFFFF803FFFFF8> 32 28 -2 0 30] 69 @dc
[<FFF80FE0FFF81FF00F803E3807803C1807803C0007C03E0003C03E0003C01E0003C01E0003E01E
0001E01E0001E01E0001E07E0001FFFC0000FFFC0000F00F0000F0038000F801C0007801E00078
00F0007800F0007C00F0003C00F0003C00F0003C00E0003E03E003FFFF8003FFFE00> 32 28 -2 0 31] 82 @dc
1.000000 /cmmi7.300 @newfont
cmmi7.300 @sf
[<FF00C000FF01C0001C01E0000C01E0000C03E0000E03E0000E07F00006073000060F3000070E30
00070E3800031E1800031C180003BC180003B81C0001F80C0001F00C0001F00E0007F03FC007E0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -