cdesktopenv/cde/programs/fontaliases/postscript/zh/prolog.ps

238 lines
6.3 KiB
PostScript

%!
% $XConsortium: prolog.ps /main/3 1996/11/19 16:37:37 drk $
% RESTRICTED CONFIDENTIAL INFORMATION:
%
% The information in this document is subject to special
% restrictions in a confidential disclosure agreement between
% HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
% document outside HP, IBM, Sun, USL, SCO, or Univel without
% Sun's specific written approval. This document and all copies
% and derivative works thereof must be returned or destroyed at
% Sun's request.
%
% Copyright 1993 Sun Microsystems, Inc. All rights reserved.
%
% 93/10/04 @(#)prolog.ps 1.7; SMI
% Prolog of cmprint & mp for chinese EUC font definition
/ConstantWidth false def
/checkfont {
5 dict begin
/basefontname exch def
/basefontdict basefontname findfont def
/newfont basefontdict maxlength dict def
basefontdict {
exch dup /FID ne
{ exch newfont 3 1 roll put }
{ pop pop }
ifelse
} forall
newfont /FontName get
end
} def
/Song-Medium checkfont
/Courier eq { /GotFont false def } { /GotFont true def } ifelse
/append { % str1 str2 => str3
1 index length dup 2 index length add string % s1 s2 l1 s3
dup 5 -1 roll 0 exch putinterval % s2 l1 s3
dup 4 2 roll exch putinterval
} bind def
/copyfont {
5 dict begin
/newfontname exch def
/basefontname exch def
/basefontdict basefontname findfont def
/newfont basefontdict maxlength dict def
basefontdict {
exch dup /FID ne
{ exch newfont 3 1 roll put }
{ pop pop }
ifelse
} forall
newfont /FontName newfontname put
newfontname newfont definefont pop
end
} def
GotFont {
% Chinese font
/Song-Medium
13 dict begin
/FontName /Song-Medium def
/FontType 0 def
/Encoding [
64 { 0 } repeat
0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7
0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15
0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23
0 24 0 25 0 26 0 27 0 28 0 29 0 30 0 31
0 32 0 33 0 34 0 35 0 36 0 37 0 38 0 39
0 40 0 41 0 42 0 43 0 44 0 45 0 46 0 47
0 48 0 49 0 50 0 51 0 52 0 53 0 54 0 55
0 56 0 57 0 58 0 59 0 60 0 61 0 62 0 66
0 64 0 65 0 66 0 67 0 68 0 69 0 70 0 71
0 72 0 73 0 74 0 75 0 76 0 77 0 78 0 79
0 80 0 81 0 82 0 83 0 84 0 85 0 86 0 87
0 88 0 89 0 90 0 91 0 92 0 93 0 0 0 0
] def
/FontMatrix [1.0 0.0 0.0 1.0 0.0 0.0] def
/WMode 0 def
/FMapType 5 def
/FDepVector [
/NotDefFont findfont
/Song-Medium.r21 findfont
/Song-Medium.r22 findfont
/Song-Medium.r23 findfont
/Song-Medium.r24 findfont
/Song-Medium.r25 findfont
/Song-Medium.r26 findfont
/Song-Medium.r27 findfont
/Song-Medium.r28 findfont
/Song-Medium.r29 findfont
6 { /NotDefFont findfont } repeat
/Song-Medium.r30 findfont
/Song-Medium.r31 findfont
/Song-Medium.r32 findfont
/Song-Medium.r33 findfont
/Song-Medium.r34 findfont
/Song-Medium.r35 findfont
/Song-Medium.r36 findfont
/Song-Medium.r37 findfont
/Song-Medium.r38 findfont
/Song-Medium.r39 findfont
/Song-Medium.r3A findfont
/Song-Medium.r3B findfont
/Song-Medium.r3C findfont
/Song-Medium.r3D findfont
/Song-Medium.r3E findfont
/Song-Medium.r3F findfont
/Song-Medium.r40 findfont
/Song-Medium.r41 findfont
/Song-Medium.r42 findfont
/Song-Medium.r43 findfont
/Song-Medium.r44 findfont
/Song-Medium.r45 findfont
/Song-Medium.r46 findfont
/Song-Medium.r47 findfont
/Song-Medium.r48 findfont
/Song-Medium.r49 findfont
/Song-Medium.r4A findfont
/Song-Medium.r4B findfont
/Song-Medium.r4C findfont
/Song-Medium.r4D findfont
/Song-Medium.r4E findfont
/Song-Medium.r4F findfont
/Song-Medium.r50 findfont
/Song-Medium.r51 findfont
/Song-Medium.r52 findfont
/Song-Medium.r53 findfont
/Song-Medium.r54 findfont
/Song-Medium.r55 findfont
/Song-Medium.r56 findfont
/Song-Medium.r57 findfont
/Song-Medium.r58 findfont
/Song-Medium.r59 findfont
/Song-Medium.r5A findfont
/Song-Medium.r5B findfont
/Song-Medium.r5C findfont
/Song-Medium.r5D findfont
/Song-Medium.r5E findfont
/Song-Medium.r5F findfont
/Song-Medium.r60 findfont
/Song-Medium.r61 findfont
/Song-Medium.r62 findfont
/Song-Medium.r63 findfont
/Song-Medium.r64 findfont
/Song-Medium.r65 findfont
/Song-Medium.r66 findfont
/Song-Medium.r67 findfont
/Song-Medium.r68 findfont
/Song-Medium.r69 findfont
/Song-Medium.r6A findfont
/Song-Medium.r6B findfont
/Song-Medium.r6C findfont
/Song-Medium.r6D findfont
/Song-Medium.r6E findfont
/Song-Medium.r6F findfont
/Song-Medium.r70 findfont
/Song-Medium.r71 findfont
/Song-Medium.r72 findfont
/Song-Medium.r73 findfont
/Song-Medium.r74 findfont
/Song-Medium.r75 findfont
/Song-Medium.r76 findfont
/Song-Medium.r77 findfont
18 { /NotDefFont findfont } repeat
] def
currentdict
end definefont pop
% Composite Roman & Asian fonts
/makeEUCfont { % CodeSet1font (fontname) => -
(LC_) 1 index append
13 dict begin
/FontName 1 index def
/FMapType 4 def
/Encoding [ 0 1 ] def
/WMode 0 def
/FontType 0 def
/FontMatrix [1.0 0.0 0.0 1.0 0.0 0.0] def
/FDepVector [
4 -1 roll findfont
ConstantWidth {
dup 1000 exch 1000 scalefont setfont
(ab) stringwidth pop div scalefont
} if
5 -1 roll findfont
] def
currentdict
end definefont pop
} bind def
} if
% define LC_Times-Roman for chinese locale
%
GotFont { (Song-Medium) (Times-Roman) makeEUCfont }
{ /Times-Roman /LC_Times-Roman copyfont } ifelse
% LC_Times-Bold
%
GotFont { (Song-Medium) (Times-Bold) makeEUCfont }
{ /Times-Bold /LC_Times-Bold copyfont } ifelse
% LC_Times-Italic
%
GotFont { (Song-Medium) (Times-Italic) makeEUCfont }
{ /Times-Italic /LC_Times-Italic copyfont } ifelse
% LC_Helvetica
%
GotFont { (Song-Medium) (Helvetica) makeEUCfont }
{ /Helvetica /LC_Helvetica copyfont } ifelse
% LC_Helvetica-Bold
%
GotFont { (Song-Medium) (Helvetica-Bold) makeEUCfont }
{ /Helvetica-Bold /LC_Helvetica-Bold copyfont } ifelse
% LC_Helvetica-BoldOblique
%
GotFont { (Song-Medium) (Helvetica-BoldOblique) makeEUCfont }
{ /Helvetica-BoldOblique /LC_Helvetica-BoldOblique copyfont } ifelse
% LC_Courier
%
/ConstantWidth true def
GotFont { (Song-Medium) (Courier) makeEUCfont }
{ /Courier /LC_Courier copyfont } ifelse
/ConstantWidth false def