diff options
Diffstat (limited to 'Master/tlpkg/tlgs/kanji')
-rw-r--r-- | Master/tlpkg/tlgs/kanji/allkanji.ps | 102 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/article9.ps | 97 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/fmaptype.ps | 245 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/hankaku.ps | 93 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/kbase.ps | 302 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/kbitmap.ps | 62 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/kcomp.ps | 628 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/kconfig.ps | 81 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/kfwin32.ps | 37 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/kfwin32bm.ps | 37 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/kinit.ps | 457 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/kmapping.ps | 155 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/koutline.ps | 64 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/metrics2.ps | 97 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/useopentype.ps | 265 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/vchars.ps | 46 | ||||
-rw-r--r-- | Master/tlpkg/tlgs/kanji/vchars1.ps | 55 |
17 files changed, 2823 insertions, 0 deletions
diff --git a/Master/tlpkg/tlgs/kanji/allkanji.ps b/Master/tlpkg/tlgs/kanji/allkanji.ps new file mode 100644 index 00000000000..f83676cd3a2 --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/allkanji.ps @@ -0,0 +1,102 @@ +%!PS-Adobe-2.0 +% +% Listing up all the kanji characters + +% Akira Tanaka <akr@jaist.ac.jp> modified for gs5.10-vflib-1.3. 1998/05/12 + +/LEFT 110 def +/TOP 750 def +/BOTTOM 50 def +/SIZE 28 def + +/FONT_NAME /Ryumin-Light-H def +/FONT_WIDTH 1000 def +/FONT_DESCENT 120 def +/FONT_ASCENT 880 def +/FONT_HEIGHT FONT_ASCENT FONT_DESCENT add def + +% Initialize + +/FONT_WIDTH FONT_WIDTH 1000 div SIZE mul def +/FONT_DESCENT FONT_DESCENT 1000 div SIZE mul def +/FONT_ASCENT FONT_ASCENT 1000 div SIZE mul def +/FONT_HEIGHT FONT_HEIGHT 1000 div SIZE mul def + +/NUM_FONT /Courier findfont SIZE scalefont def +/NUM_WIDTH gsave NUM_FONT setfont (0) stringwidth pop def grestore +/LINES TOP BOTTOM sub FONT_HEIGHT div cvi def +/STR2 2 string def + +/NEWLINE { + /ROW_CODE CODE 16 idiv 16 mul def + /LINE LINE 1 add def + LINE LINES eq { NEWPAGE } if + /BASE_LINE TOP LINE FONT_HEIGHT mul sub FONT_ASCENT sub def + + % Draw Lines and Numbers + + gsave + NUM_FONT setfont + + LEFT NUM_WIDTH 5 mul sub BASE_LINE moveto + ROW_CODE 16 4 string cvrs show + + LEFT TOP LINE FONT_HEIGHT mul sub moveto + 0 FONT_HEIGHT neg rlineto FONT_WIDTH 16 mul 0 rlineto + 0 FONT_HEIGHT rlineto + closepath stroke + + 0 1 15 { + /COLUMN exch def + + LEFT FONT_WIDTH COLUMN 1 add mul add + TOP LINE FONT_HEIGHT mul sub + moveto + 0 FONT_HEIGHT neg rlineto + stroke + + LINE 0 eq { + LEFT COLUMN FONT_WIDTH mul add + FONT_WIDTH NUM_WIDTH sub 2 div add + TOP FONT_DESCENT add + moveto + COLUMN 16 1 string cvrs + show + } if + } for + + grestore +} def + +/NEWPAGE { showpage /LINE 0 def } def + +% +% List up Characters +% + +FONT_NAME findfont SIZE scalefont setfont +/LINE -1 def +/ROW_CODE 0 def + +[[16#2121 16#227E] + [16#2330 16#2658] + [16#2721 16#2771] + [16#2821 16#2841] + [16#3021 16#4F53] + [16#5021 16#7426]] +{ + dup 0 get /FROM exch def 1 get /TO exch def + FROM 1 TO { + /CODE exch def + + CODE 256 mod dup 16#21 ge exch 16#7E le and { + CODE 16 idiv 16 mul ROW_CODE ne { NEWLINE } if + + LEFT CODE 16 mod FONT_WIDTH mul add BASE_LINE moveto + STR2 0 CODE 256 idiv put + STR2 1 CODE 256 mod put + STR2 show + } if + } for +} forall +showpage diff --git a/Master/tlpkg/tlgs/kanji/article9.ps b/Master/tlpkg/tlgs/kanji/article9.ps new file mode 100644 index 00000000000..597f99c3b0e --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/article9.ps @@ -0,0 +1,97 @@ +%!PS-Adobe-2.0 +% +% Article 9 of the Constitution of Japan +% written in vertical direction using ... +% Fonts: +% Ryumin-Light-V, GothicBBB-Medium-V +% Operators for characters: +% show, widthshow, ashow, stringwidth, charpath, cshow + +% constants + +/RIGHT 550 def +/WIDTH 500 def +/TOP 750 def +/HEIGHT 700 def +/SIZE 24 def +/MARGIN 40 def + +% utility operators + +/GOTHIC { /GothicBBB-Medium-V findfont exch dup + /FONTSIZE exch def scalefont setfont } def +/RYUMIN { /Ryumin-Light-V findfont exch dup + /FONTSIZE exch def scalefont setfont } def +/NEXTLINE { currentpoint pop FONTSIZE 1.8 mul sub TOP MARGIN sub moveto } def + +/MARU { dup gsave false charpath flattenpath pathbbox grestore + /ury exch def /urx exch def /lly exch def /llx exch def + gsave llx urx add 2 div lly ury add 2 div translate + urx llx sub ury lly sub 2 copy gt { pop }{ exch pop }ifelse + 1.2 mul dup scale 0 setlinewidth + 0.5 0 moveto 0 0 0.5 0 360 arc stroke grestore show } def +/STRLEN { 0 exch { pop pop pop 1 add } exch cshow } def +/JUSTIFY { dup STRLEN 1 sub 1 index stringwidth exch pop + currentpoint exch pop add TOP HEIGHT MARGIN sub sub sub + exch div neg 0 exch 3 -1 roll ashow } def + +% initialize + +RIGHT TOP moveto 0 HEIGHT neg rlineto WIDTH neg 0 rlineto 0 HEIGHT rlineto +closepath stroke + +RIGHT MARGIN sub TOP MARGIN sub moveto + +% title + +SIZE 2 mul GOTHIC +<2121467C4B5C3971377B4B21> show +NEXTLINE + +% chapter + +SIZE 1.5 mul GOTHIC +<21212121426846733E4F2121> show + +SIZE 1.5 mul RYUMIN +<406F4168244E4A7C347E> show +NEXTLINE + +% abstract + +SIZE GOTHIC +0 SIZE 2 div 16#2122 <2121214C406F4168244E4A7C347E2122406F4E4F244E49544A5D3B7D +21223872406F3822244E485D4727214D> widthshow +NEXTLINE + +% sentence + +SIZE GOTHIC +<426836653E72> show +SIZE RYUMIN +<2331> MARU +<2121467C4B5C39714C31244F212240353541244843613D7824723470443424482439246B39713A +5D> JUSTIFY +NEXTLINE + +<4A3F4F422472403F3C42244B347535612437212239713822244E482F4630243F246B406F416824 +48212249704E4F244B2468246B> JUSTIFY +NEXTLINE + +<305233454B74244F49704E4F244E39543B48244F212239713A5D4A364168247232723768243924 +6B3C6A434A244824372446> JUSTIFY +NEXTLINE + +<244F2122314A3557244B2433246C24724A7C347E2439246B2123> show +NEXTLINE + +<2332> MARU +<212141303960244E4C5C452A247243232439246B243F246121224E26332436753733243D244E42 +3E244E406F4E4F> JUSTIFY +NEXTLINE + +<244F21222433246C24724A5D3B7D2437244A242421233971244E3872406F3822244F2122243324 +6C247247272461244A24242123> show +NEXTLINE + +showpage diff --git a/Master/tlpkg/tlgs/kanji/fmaptype.ps b/Master/tlpkg/tlgs/kanji/fmaptype.ps new file mode 100644 index 00000000000..0ce23ac1207 --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/fmaptype.ps @@ -0,0 +1,245 @@ +%!PS-Adobe-2.0 +% +% Sample program of various FMapTypes + +/LEFT 50 def +/TOP 700 def +/SIZE 24 def + +% +% Initialize +% + +/NEWLINE { currentpoint exch pop SIZE 4 mul sub LEFT exch moveto } def +/STRIPE { + gsave + true charpath gsave pathbbox grestore clip newpath + /ury exch def /urx exch def /lly exch def /llx exch def + /height ury lly sub def + llx height 15 div urx height add { + ury moveto + height neg height neg rlineto + } for + stroke + grestore +} def +/UNDERLINE { + dup gsave + 0 SIZE 3 div neg rmoveto stringwidth rlineto + 0.5 setgray SIZE 10 div setlinewidth stroke + grestore show +} def + +/ALPH /Courier findfont def + +/Ryumin-Light-H findfont +dup /FDepVector get /FDepVector exch def +/Encoding get /Encoding exch def +/KIGO FDepVector Encoding 16#21 get get def +/HIRA FDepVector Encoding 16#24 get get def +/KATA FDepVector Encoding 16#25 get get def + +/Ryumin-Light-EUC-H findfont +dup /FDepVector get /FDepVector exch def +/Encoding get /Encoding exch def +/HIRA-EUC FDepVector Encoding 16#A4 get get def +/KATA-EUC FDepVector Encoding 16#A5 get get def + +LEFT TOP moveto + +save + +/GothicBBB-Medium-H findfont SIZE 2 mul scalefont setfont +<25552529257325482126255E2543255425732530> STRIPE + +restore +NEWLINE + +% +% FMapType2: 8/8 Mapping +% + +save + +/FMapType2 11 dict begin +/FontType 0 def +/FontMatrix matrix def +/FMapType 2 def +/Encoding [ 0 1 2 3 ] def +/FDepVector [ + KIGO + ALPH + HIRA + KATA +] def +currentdict end +definefont pop + +/FMapType2 findfont SIZE scalefont setfont +<01 46 01 4D 01 61 01 70 01 54 01 79 01 70 01 65 01 32 02 4F 00 22 + 01 38 00 3F 01 38 03 5E 03 43 03 54 03 73 03 30 02 47 02 39 00 23> +UNDERLINE + +restore +NEWLINE + +% +% FMapType3: Escape Mapping +% + +save + +/FMapType3-Child-1 11 dict begin +/FontType 0 def +/FontMatrix matrix def +/FMapType 3 def +/Encoding [ 0 1 ] def +/FDepVector [ + KIGO + ALPH +] def +currentdict end +definefont pop + +/FMapType3-Child-2 11 dict begin +/FontType 0 def +/FontMatrix matrix def +/FMapType 3 def +/Encoding [ 0 1 ] def +/FDepVector [ + HIRA + KATA +] def +currentdict end +definefont pop + +/FMapType3-Parent 11 dict begin +/FontType 0 def +/FontMatrix matrix def +/FMapType 3 def +/Encoding [ 0 1 ] def +/FDepVector [ + /FMapType3-Child-1 findfont + /FMapType3-Child-2 findfont +] def +currentdict end +definefont pop + +/FMapType3-Parent findfont SIZE scalefont setfont +<FF 00 FF 01 46 4D 61 70 54 79 70 65 33 FF FF 01 4F FF FF 00 22 + FF 01 45 73 63 61 70 65 FF FF 01 FF 00 FF 01 5E 43 54 73 30 FF 00 47 39 + FF FF 00 FF 00 23> +UNDERLINE + +restore +NEWLINE + +% +% FMapType4: 1/7 Mapping +% + +save + +/FMapType4-Child-1 11 dict begin +/FontType 0 def +/FontMatrix matrix def +/FMapType 2 def +/Encoding [ 0 1 ] def +/FDepVector [ + KIGO + ALPH +] def +currentdict end +definefont pop + +/FMapType4-Child-2 11 dict begin +/FontType 0 def +/FontMatrix matrix def +/FMapType 2 def +/Encoding [ 0 1 ] def +/FDepVector [ + HIRA-EUC + KATA-EUC +] def +currentdict end +definefont pop + +/FMapType4-Parent 11 dict begin +/FontType 0 def +/FontMatrix matrix def +/FMapType 4 def +/Encoding [ 0 1 ] def +/FDepVector [ + /FMapType4-Child-1 findfont + /FMapType4-Child-2 findfont +] def +currentdict end +definefont pop + +/FMapType4-Parent findfont SIZE scalefont setfont +<01 46 01 4D 01 61 01 70 01 54 01 79 01 70 01 65 01 34 80 CF 00 22 + 01 31 00 3F 01 37 81 DE 81 C3 81 D4 81 F3 81 B0 80 C7 80 B9 00 23> +UNDERLINE + +restore +NEWLINE + +% +% FMapType5: 9/7 Mapping +% + +save + +/FMapType5 11 dict begin +/FontType 0 def +/FontMatrix matrix def +/FMapType 5 def +/Encoding [ 0 1 2 3 ] def +/FDepVector [ + KIGO + ALPH + HIRA + KATA +] def +currentdict end +definefont pop + +/FMapType5 findfont SIZE scalefont setfont +<00 C6 00 CD 00 E1 00 F0 00 D4 00 F9 00 F0 00 E5 00 B5 01 4F 00 22 + 00 B9 00 3F 00 B7 01 DE 01 C3 01 D4 01 F3 01 B0 01 47 01 39 00 23> +UNDERLINE + +restore +NEWLINE + +% +% FMapType6: SubsVector Mapping +% + +save + +/FMapType6 11 dict begin +/FontType 0 def +/FontMatrix matrix def +/FMapType 6 def +/Encoding [ 0 1 2 3 ] def +/SubsVector <01 0100 0080 0080> def +/FDepVector [ + ALPH + KIGO + HIRA + KATA +] def +currentdict end +definefont pop + +/FMapType6 findfont SIZE scalefont setfont +<00 46 00 4D 00 61 00 70 00 54 00 79 00 70 00 65 00 36 01 CF 01 22 + 00 53 00 75 00 62 00 73 00 56 00 65 00 63 00 74 00 6F 00 72 + 02 5E 02 43 02 54 02 73 02 30 01 C7 01 B9 01 23> +UNDERLINE + +restore +NEWLINE + +showpage diff --git a/Master/tlpkg/tlgs/kanji/hankaku.ps b/Master/tlpkg/tlgs/kanji/hankaku.ps new file mode 100644 index 00000000000..45bee8464eb --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/hankaku.ps @@ -0,0 +1,93 @@ +%!PS-Adobe-2.0 +% +% Listing up Hankaku characters + +% Akira Tanaka <akr@jaist.ac.jp> modified for gs4.03/VFlib support. 1996/10/17 +% Akira Tanaka <akr@jaist.ac.jp> modified for gs5.0/VFlib support. 1997/6/9 + +/SHOW_BYTE_CHARS +{ + /LEFT 150 def + /TOP 675 def + /SIZE 40 def + + /FONT_WIDTH 500 def + /FONT_DESCENT 120 def + /FONT_ASCENT 880 def + /FONT_HEIGHT FONT_ASCENT FONT_DESCENT add def + + % Initialize + + dup findfont SIZE scalefont /FONT exch def + 32 string cvs /FONT_NAME exch def + + /FONT_WIDTH FONT_WIDTH 1000 div SIZE mul def + /FONT_DESCENT FONT_DESCENT 1000 div SIZE mul def + /FONT_ASCENT FONT_ASCENT 1000 div SIZE mul def + /FONT_HEIGHT FONT_HEIGHT 1000 div SIZE mul def + + /DIGIT_FONT /Courier findfont SIZE 0.8 mul scalefont def + /DIGIT_WIDTH gsave DIGIT_FONT setfont (0) stringwidth pop def grestore + /DIGIT_OFFSET FONT_WIDTH DIGIT_WIDTH sub 2 div def + /STR1 1 string def + + % draw title + + /Times-Roman findfont SIZE scalefont setfont + FONT_WIDTH 16 mul FONT_NAME stringwidth pop sub 2 div LEFT add + TOP SIZE 1.5 mul add moveto FONT_NAME show + + % draw glid + + 0 1 16 { + dup FONT_WIDTH mul LEFT add TOP moveto + 0 FONT_HEIGHT 16 mul neg rlineto + dup FONT_HEIGHT mul TOP exch sub LEFT exch moveto + FONT_WIDTH 16 mul 0 rlineto + pop + } for + stroke + + % show character codes + + DIGIT_FONT setfont + 0 1 15 { + dup 16 STR1 cvrs pop + dup FONT_WIDTH mul LEFT add DIGIT_OFFSET add + TOP FONT_DESCENT add moveto STR1 show + dup FONT_HEIGHT mul TOP exch sub FONT_ASCENT sub + LEFT FONT_WIDTH 2 mul sub exch moveto STR1 show (0) show + pop + } for + + % show characters + + FONT setfont + 0 1 15 { + /ROW exch def + 0 1 15 { + /COLUMN exch def + STR1 0 ROW 16 mul COLUMN add put + LEFT COLUMN FONT_WIDTH mul add + TOP ROW FONT_HEIGHT mul sub FONT_ASCENT sub moveto + { STR1 show } stopped { + .clearerror + 0 FONT_ASCENT rmoveto + FONT_WIDTH FONT_HEIGHT neg rlineto + FONT_WIDTH neg 0 rmoveto + FONT_WIDTH FONT_HEIGHT rlineto stroke + } if + } for + } for + showpage +} def + +[ /Ryumin-Light.Roman + /Ryumin-Light.Hankaku + /Ryumin-Light.Hiragana + /Ryumin-Light.Katakana + /Ryumin-Light-RKSJ-H ] +{ + SHOW_BYTE_CHARS +} forall + diff --git a/Master/tlpkg/tlgs/kanji/kbase.ps b/Master/tlpkg/tlgs/kanji/kbase.ps new file mode 100644 index 00000000000..39c62f65198 --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/kbase.ps @@ -0,0 +1,302 @@ +% +% kbase.ps - define /basekanji operator +% +% Apr.10,1992 Programmed by N.Katayama +% + +% +% font_name unique_id font_info private build_char BASEKANJI unique_id +% + +/basekanji { + + 9 dict begin % fontname, uniqueid, fontinfo, private, + % BEGIN, END, buildchar, prototype and rowcode + + /buildchar exch def + /private exch def + /fontinfo exch def + /uniqueid exch def + /fontname exch def + + /BEGIN { + prototype dup maxlength dict copy begin + /UniqueID uniqueid def + } def + /END { + currentdict end + dup /FontName get exch definefont pop + /uniqueid uniqueid 1 add def + } def + + % + % Define prototype + % + + 12 dict begin +% /FontName + /FontInfo fontinfo readonly def + /PaintType 0 def + /FontType 3 def + /FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def + /FontBBox { 0 -120 1000 880 } readonly def +% /Encoding +% /UniqueID +% /WMode +% /Private + /BuildChar /buildchar load def + currentdict end + /prototype exch def + + % + % JIS + % + + 16#21 1 16#7E { + /rowcode exch def + BEGIN + /FontName fontname (.r) rowcode () basefontname def + /Encoding JISSubEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset rowcode 256 mul def + /MappingDict JISMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + } for + + [ 16#21 16#22 16#24 16#25 ] { + /rowcode exch def + BEGIN + /FontName fontname (.r) rowcode (v) basefontname def + /Encoding JISSubEncoding def + /WMode 1 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset rowcode 256 mul def + /MappingDict JISMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + } forall + + % + % Shift-JIS kanji base font + % + + 16#81 1 16#9F { + /rowcode exch def + BEGIN + /FontName fontname (.sr) rowcode () basefontname def + /Encoding SJSubEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset rowcode 16#81 sub 16#200 mul 16#2100 add def + /MappingDict SJMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + } for + + 16#E0 1 16#EA { + /rowcode exch def + BEGIN + /FontName fontname (.sr) rowcode () basefontname def + /Encoding SJSubEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset rowcode 16#E0 sub 16#200 mul 16#5F00 add def + /MappingDict SJMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + } for + + 16#81 1 16#83 { + /rowcode exch def + BEGIN + /FontName fontname (.sr) rowcode (v) basefontname def + /Encoding SJSubEncoding def + /WMode 1 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset rowcode 16#81 sub 16#200 mul 16#2100 add def + /MappingDict SJMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + } for + + % + % 90pv-RKSJ kanji base font + % + + [ 16#85 16#86 16#87 16#88 ] { + /rowcode exch def + BEGIN + /FontName fontname (.90pv-sr) rowcode () basefontname def + /Encoding SJSubEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset rowcode 16#81 sub 16#200 mul 16#2100 add def + /MappingDict SJMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + } forall + + [ 16#EB 16#EC 16#ED ] { + /rowcode exch def + BEGIN + /FontName fontname (.90pv-sr) rowcode () basefontname def + /Encoding SJSubEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset rowcode 16#E0 sub 16#200 mul 16#5F00 add def + /MappingDict SJMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + } forall + + [ 16#87 ] { + /rowcode exch def + BEGIN + /FontName fontname (.90pv-sr) rowcode (v) basefontname def + /Encoding SJSubEncoding def + /WMode 1 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset rowcode 16#81 sub 16#200 mul 16#2100 add def + /MappingDict SJMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + } forall + + % + % 90ms-RKSJ kanji base font + % + + [ 16#87 ] { + /rowcode exch def + BEGIN + /FontName fontname (.90ms-sr) rowcode () basefontname def + /Encoding SJSubEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset rowcode 16#81 sub 16#200 mul 16#2100 add def + /MappingDict SJMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + } forall + + [ 16#ED 16#EE 16#FA 16#FB 16#FC ] { + /rowcode exch def + BEGIN + /FontName fontname (.90ms-sr) rowcode () basefontname def + /Encoding SJSubEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset rowcode 16#E0 sub 16#200 mul 16#5F00 add def + /MappingDict SJMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + } forall + + [ 16#87 ] { + /rowcode exch def + BEGIN + /FontName fontname (.90ms-sr) rowcode (v) basefontname def + /Encoding SJSubEncoding def + /WMode 1 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset rowcode 16#81 sub 16#200 mul 16#2100 add def + /MappingDict SJMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + } forall + + % + % Roman + % + + BEGIN + /FontName fontname (.Roman) composename def + /FontMatrix [ 0.0005 0 0 0.001 0 0 ] readonly def + /Encoding RomanEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset 0 def + /MappingDict CNameMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + + % + % Hiragana + % + + BEGIN + /FontName fontname (.Hiragana) composename def + /FontMatrix [ 0.0005 0 0 0.001 0 0 ] readonly def + /Encoding HiraganaEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset 0 def + /MappingDict CNameMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + + % + % Katakana + % + + BEGIN + /FontName fontname (.Katakana) composename def + /FontMatrix [ 0.0005 0 0 0.001 0 0 ] readonly def + /Encoding KatakanaEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset 0 def + /MappingDict CNameMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + + % + % Hankaku + % + + BEGIN + /FontName fontname (.Hankaku) composename def + /FontMatrix [ 0.0005 0 0 0.001 0 0 ] readonly def + /Encoding HankakuEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset 0 def + /MappingDict CNameMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + + % + % SuppK + % + + BEGIN + /FontName fontname (.SuppK) composename def + /FontMatrix [ 0.0005 0 0 0.001 0 0 ] readonly def + /Encoding RKSuppKEncoding def + /WMode 0 def + /Private private dup maxlength 3 add dict copy begin + /MappingOffset 0 def + /MappingDict CNameMappingDict def + /MappingProc /StandardMapping load def + currentdict end readonly def + END + + uniqueid end +} bind def diff --git a/Master/tlpkg/tlgs/kanji/kbitmap.ps b/Master/tlpkg/tlgs/kanji/kbitmap.ps new file mode 100644 index 00000000000..d4002e25f66 --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/kbitmap.ps @@ -0,0 +1,62 @@ +% +% kbitmap.ps - define /bitmapkanji operator +% +% Apr. 6,1992 Programmed by N.Katayama +% + +% +% font_name unique_id font_info image_proc BITMAPKANJI unique_id +% + +/bitmapkanji { + 8 dict begin % fontname, uniqueid, fontinfo, imageproc + % imagematrix, imagestring, private and buildchar + + /imageproc exch def + /fontinfo exch def + /uniqueid exch def + /fontname exch def + /imagematrix matrix def +% /imagestring 8000 string noaccess def + /imagestring 10000 string noaccess def + + % Private dictionary + + /private 3 dict begin + /ImageMatrix imagematrix def + /ImageString imagestring def + /ImageProc /imageproc load def + currentdict end def + + % Define BuildChar procedure + + /buildchar { + exch begin + Encoding exch get dup Private /MappingProc get exec + currentfont /WMode 2 copy known { get }{ pop pop 0 } ifelse + + Private begin ImageMatrix ImageString ImageProc end + + 11 5 roll 0 -1000 500 880 16 -1 roll setmetrics2 + 3 -1 roll pop false 3 1 roll imagepath + + PaintType 0 eq + { eofill }{ + currentdict /StrokeWidth known + {StrokeWidth}{0} ifelse + setlinewidth stroke + } ifelse + end + } bind def + + % Define base fonts + + fontname uniqueid fontinfo private /buildchar load basekanji + /uniqueid exch def + + % Define composite fonts + + fontname fontinfo compositekanji + + uniqueid end +} def diff --git a/Master/tlpkg/tlgs/kanji/kcomp.ps b/Master/tlpkg/tlgs/kanji/kcomp.ps new file mode 100644 index 00000000000..0ca106fe465 --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/kcomp.ps @@ -0,0 +1,628 @@ +% +% kcomp.ps - define /compositekanji operator +% +% Apr.10,1992 Programmed by N.Katayama +% +% Akira Tanaka <akr@jaist.ac.jp> modified for gs5.10/VFlib support. 1996/11/26 + +% +% font_name font_info COMPOSITEKANJI - +% +%% -------------------------------------------------------------------- +%% 2 dict begin +%% /Ryumin-Light /Times-Roman def +%% /GothicBBB-Medium /Helvetica def +%% currentdict +%% end +%% +%% sometimes causes a crash. Therefore I write as follows as a workarround, +%% though I don't understand anything about the issue (2013/08/11 --ak). +%% +%% 2 dict begin +%% /RRyumin-Light /Times-Roman def +%% /GGothicBBB-Medium /Helvetica def +%% currentdict +%% end +%% -------------------------------------------------------------------- +%% +/compositekanji { + + 6 dict begin % fontname, fontinfo, + % BEGIN, END, basefont and prototype + + /fontinfo exch def + /fontname exch def + + /BEGIN { + prototype dup maxlength 3 -1 roll add dict copy begin + } def + /END { + currentdict end dup /FontName get exch definefont pop + } def + /basefont { + fontname 3 -1 roll 4 2 roll basefontname findfont + } def + + % + % Define prototype + % + + 12 dict begin + /FontInfo fontinfo def + /PaintType 0 def + /FontType 0 def + /FontMatrix [ 1 0 0 1 0 0 ] readonly def + /FontBBox { 0 -120 1000 880 } readonly def +% /FontName +% /Encoding +% /FMapType +% /WMode +% /FDepVector + currentdict end /prototype exch def + + % Define Composite Kanji Fonts + + % JIS + + 0 BEGIN + /FontName fontname (-H) composename def + /WMode 0 def + /FMapType 2 def + /Encoding JISEncoding def + /FDepVector [ + /NotDefFont findfont + 16#21 1 16#28 { (.r) () basefont } for + 16#30 1 16#74 { (.r) () basefont } for + ] readonly def + END + + 0 BEGIN + /FontName fontname (-V) composename def + /WMode 1 def + /FMapType 2 def + /Encoding JISEncoding def + /FDepVector [ + /NotDefFont findfont + 16#21 1 16#22 { (.r) (v) basefont } for + 16#23 (.r) () basefont + 16#24 1 16#25 { (.r) (v) basefont } for + 16#26 1 16#28 { (.r) () basefont } for + 16#30 1 16#74 { (.r) () basefont } for + ] readonly def + END + + % + % Ext + % + + 0 BEGIN + /FontName fontname (-Ext-H) composename def + /WMode 0 def + /FMapType 2 def + /Encoding ExtEncoding def + /FDepVector [ + /NotDefFont findfont + 16#21 1 16#27 { (.r) () basefont } for + 16#29 1 16#2D { (.r) () basefont } for + 16#30 1 16#73 { (.r) () basefont } for + ] readonly def + END + + 0 BEGIN + /FontName fontname (-Ext-V) composename def + /WMode 1 def + /FMapType 2 def + /Encoding ExtEncoding def + /FDepVector [ + /NotDefFont findfont + 16#21 1 16#22 { (.r) (v) basefont } for + 16#23 (.r) () basefont + 16#24 1 16#25 { (.r) (v) basefont } for + 16#26 1 16#27 { (.r) () basefont } for + 16#29 1 16#2D { (.r) () basefont } for + 16#30 1 16#73 { (.r) () basefont } for + ] readonly def + END + + % + % EUC + % + + 0 BEGIN + /FontName fontname (-EUC-H) composename def + /WMode 0 def + /FMapType 2 def + /Encoding EUCEncoding def + /FDepVector [ + /NotDefFont findfont + 16#21 1 16#28 { (.r) () basefont } for + 16#30 1 16#74 { (.r) () basefont } for + ] readonly def + END + + 0 BEGIN + /FontName fontname (-EUC-V) composename def + /WMode 1 def + /FMapType 2 def + /Encoding EUCEncoding def + /FDepVector [ + /NotDefFont findfont + 16#21 1 16#22 { (.r) (v) basefont } for + 16#23 (.r) () basefont + 16#24 1 16#25 { (.r) (v) basefont } for + 16#26 1 16#28 { (.r) () basefont } for + 16#30 1 16#74 { (.r) () basefont } for + ] readonly def + END + + % + % Shift-JIS-SuppA + % + + 0 BEGIN + /FontName fontname (-SJ-SuppA-H) composename def + /WMode 0 def + /FMapType 2 def + /Encoding SJSuppAEncoding def + /FDepVector [ + /NotDefFont findfont + 16#81 1 16#9F { (.sr) () basefont } for + ] readonly def + END + + 0 BEGIN + /FontName fontname (-SJ-SuppA-V) composename def + /WMode 1 def + /FMapType 2 def + /Encoding SJSuppAEncoding def + /FDepVector [ + /NotDefFont findfont + 16#81 1 16#83 { (.sr) (v) basefont } for + 16#84 1 16#9F { (.sr) () basefont } for + ] readonly def + END + + % + % Shift-JIS-SuppB + % + + 0 BEGIN + /FontName fontname (-SJ-SuppB-HV) composename def + /WMode 0 def + /FMapType 2 def + /Encoding SJSuppBEncoding def + /FDepVector [ + /NotDefFont findfont + 16#E0 1 16#EA { (.sr) () basefont } for + ] readonly def + END + + % + % RKSJ + % + + 1 BEGIN + /FontName fontname (-RKSJ-H) composename def + /WMode 0 def + /FMapType 6 def + /Encoding RKSJEncoding def + /SubsVector RKSJSubsVector def + /FDepVector [ + fontname (.Roman) composename findfont + /NotDefFont findfont + fontname (-SJ-SuppA-H) composename findfont + fontname (.SuppK) composename findfont + fontname (-SJ-SuppB-HV) composename findfont + /NotDefFont findfont + ] readonly def + END + + 1 BEGIN + /FontName fontname (-RKSJ-V) composename def + /WMode 1 def + /FMapType 6 def + /Encoding RKSJEncoding def + /SubsVector RKSJSubsVector def + /FDepVector [ + fontname (.Roman) composename findfont + /NotDefFont findfont + fontname (-SJ-SuppA-V) composename findfont + fontname (.SuppK) composename findfont + fontname (-SJ-SuppB-HV) composename findfont + /NotDefFont findfont + ] readonly def + END + + % + % 83pv-Shift-JIS-SuppB + % + + 0 BEGIN + /FontName fontname (-83pv-SJ-SuppB-H) composename def + /WMode 0 def + /FMapType 2 def + /Encoding 83pvSJSuppBEncoding def + /FDepVector [ + /NotDefFont findfont + 16#E0 1 16#EA { (.sr) () basefont } for + 16#81 1 16#83 { (.sr) (v) basefont } for + /NotDefFont findfont % 16#87 + ] readonly def + END + + 0 BEGIN + /FontName fontname (-83pv-SJ-SuppB-V) composename def + /WMode 1 def + /FMapType 2 def + /Encoding 83pvSJSuppBEncoding def + /FDepVector [ + /NotDefFont findfont + 16#E0 1 16#EA { (.sr) () basefont } for + 16#81 1 16#83 { (.sr) (v) basefont } for + /NotDefFont findfont % 16#87 + ] readonly def + END + + % + % 83pv-RKSJ + % + + 1 BEGIN + /FontName fontname (-83pv-RKSJ-H) composename def + /WMode 0 def + /FMapType 6 def + /Encoding RKSJEncoding def + /SubsVector RKSJSubsVector def + /FDepVector [ + 2 dict begin + /RRyumin-Light /Times-Roman def + /GGothicBBB-Medium /Helvetica def + currentdict + end + fontname 2 copy known { + get findfont + }{ + pop pop fontname (.Roman) composename findfont + } ifelse + /NotDefFont findfont + fontname (-SJ-SuppA-H) composename findfont + fontname (.SuppK) composename findfont + fontname (-83pv-SJ-SuppB-H) composename findfont + /NotDefFont findfont + ] readonly def + END + + 1 BEGIN + /FontName fontname (-83pv-RKSJ-V) composename def + /WMode 1 def + /FMapType 6 def + /Encoding RKSJEncoding def + /SubsVector RKSJSubsVector def + /FDepVector [ + 2 dict begin + /RRyumin-Light /Times-Roman def + /GGothicBBB-Medium /Helvetica def + currentdict + end + fontname 2 copy known { + get findfont + }{ + pop pop fontname (.Roman) composename findfont + } ifelse + /NotDefFont findfont + fontname (-SJ-SuppA-V) composename findfont + fontname (.SuppK) composename findfont + fontname (-83pv-SJ-SuppB-V) composename findfont + /NotDefFont findfont + ] readonly def + END + + % + % 90pv-SJ-SuppA-H + % + + 0 BEGIN + /FontName fontname (-90pv-SJ-SuppA-H) composename def + /WMode 0 def + /FMapType 2 def + /Encoding SJSuppAEncoding def + /FDepVector [ + /NotDefFont findfont + 16#81 1 16#84 { (.sr) () basefont } for + 16#85 1 16#88 { (.90pv-sr) () basefont } for + 16#89 1 16#9F { (.sr) () basefont } for + ] readonly def + END + + % + % 90pv-SJ-SuppA-V + % + + 0 BEGIN + /FontName fontname (-90pv-SJ-SuppA-V) composename def + /WMode 1 def + /FMapType 2 def + /Encoding SJSuppAEncoding def + /FDepVector [ + /NotDefFont findfont + 16#81 1 16#83 { (.sr) (v) basefont } for + 16#84 1 16#86 { (.sr) () basefont } for + 16#87 1 16#87 { (.90pv-sr) (v) basefont } for + 16#88 1 16#9F { (.sr) () basefont } for + ] readonly def + END + + % + % 90pv-SJ-SuppB-HV + % + + 0 BEGIN + /FontName fontname (-90pv-SJ-SuppB-HV) composename def + /WMode 0 def + /FMapType 2 def + /Encoding 90pvSJSuppBEncoding def + /FDepVector [ + /NotDefFont findfont + 16#E0 1 16#EA { (.sr) () basefont } for + 16#EB 1 16#ED { (.90pv-sr) () basefont } for + ] readonly def + END + + % + % 90pv-RKSJ-H + % + + 1 BEGIN + /FontName fontname (-90pv-RKSJ-H) composename def + /WMode 0 def + /FMapType 6 def + /Encoding RKSJEncoding def + /SubsVector RKSJSubsVector def + /FDepVector [ + 2 dict begin + /RRyumin-Light /Times-Roman def + /GGothicBBB-Medium /Helvetica def + currentdict + end + fontname 2 copy known { + get findfont + }{ + pop pop fontname (.Roman) composename findfont + } ifelse + /NotDefFont findfont + fontname (-90pv-SJ-SuppA-H) composename findfont + fontname (.SuppK) composename findfont + fontname (-90pv-SJ-SuppB-HV) composename findfont + /NotDefFont findfont + ] readonly def + END + + % + % 90pv-RKSJ-V + % + + 1 BEGIN + /FontName fontname (-90pv-RKSJ-V) composename def + /WMode 1 def + /FMapType 6 def + /Encoding RKSJEncoding def + /SubsVector RKSJSubsVector def + /FDepVector [ + 2 dict begin + /RRyumin-Light /Times-Roman def + /GGothicBBB-Medium /Helvetica def + currentdict + end + fontname 2 copy known { + get findfont + }{ + pop pop fontname (.Roman) composename findfont + } ifelse + /NotDefFont findfont + fontname (-90pv-SJ-SuppA-V) composename findfont + fontname (.SuppK) composename findfont + fontname (-90pv-SJ-SuppB-HV) composename findfont + /NotDefFont findfont + ] readonly def + END + + % + % 90ms-SJ-SuppA-H + % + + 0 BEGIN + /FontName fontname (-90ms-SJ-SuppA-H) composename def + /WMode 0 def + /FMapType 2 def + /Encoding SJSuppAEncoding def + /FDepVector [ + /NotDefFont findfont + 16#81 1 16#86 { (.sr) () basefont } for + 16#87 1 16#87 { (.90ms-sr) () basefont } for + 16#88 1 16#9F { (.sr) () basefont } for + ] readonly def + END + + % + % 90ms-SJ-SuppA-V + % + + 0 BEGIN + /FontName fontname (-90ms-SJ-SuppA-V) composename def + /WMode 1 def + /FMapType 2 def + /Encoding SJSuppAEncoding def + /FDepVector [ + /NotDefFont findfont + 16#81 1 16#83 { (.sr) (v) basefont } for + 16#84 1 16#86 { (.sr) () basefont } for + 16#87 1 16#87 { (.90ms-sr) (v) basefont } for + 16#88 1 16#9F { (.sr) () basefont } for + ] readonly def + END + + % + % 90ms-SJ-SuppB + % + + 0 BEGIN + /FontName fontname (-90ms-SJ-SuppB-HV) composename def + /WMode 0 def + /FMapType 2 def + /Encoding 90msSJSuppBEncoding def + /FDepVector [ + /NotDefFont findfont + 16#E0 1 16#EA { (.sr) () basefont } for + 16#ED 1 16#EE { (.90ms-sr) () basefont } for + 16#FA 1 16#FC { (.90ms-sr) () basefont } for + ] readonly def + END + + % + % 90ms-RKSJ-H + % + + 1 BEGIN + /FontName fontname (-90ms-RKSJ-H) composename def + /WMode 0 def + /FMapType 6 def + /Encoding 90msRKSJEncoding def + /SubsVector 90msRKSJSubsVector def + /FDepVector [ + fontname (.Roman) composename findfont + /NotDefFont findfont + fontname (-90ms-SJ-SuppA-H) composename findfont + fontname (.SuppK) composename findfont + fontname (-90ms-SJ-SuppB-HV) composename findfont + /NotDefFont findfont + ] readonly def + END + + % + % 90ms-RKSJ-V + % + + 1 BEGIN + /FontName fontname (-90ms-RKSJ-V) composename def + /WMode 1 def + /FMapType 6 def + /Encoding 90msRKSJEncoding def + /SubsVector 90msRKSJSubsVector def + /FDepVector [ + fontname (.Roman) composename findfont + /NotDefFont findfont + fontname (-90ms-SJ-SuppA-V) composename findfont + fontname (.SuppK) composename findfont + fontname (-90ms-SJ-SuppB-HV) composename findfont + /NotDefFont findfont + ] readonly def + END + % + % 90msp-RKSJ-H + % + + 1 BEGIN + /FontName fontname (-90msp-RKSJ-H) composename def + /WMode 0 def + /FMapType 6 def + /Encoding RKSJEncoding def + /SubsVector 90msRKSJSubsVector def + /FDepVector [ + 2 dict begin + /RRyumin-Light /Times-Roman def + /GGothicBBB-Medium /Helvetica def + currentdict + end + fontname 2 copy known { + get findfont + }{ + pop pop fontname (.Roman) composename findfont + } ifelse + /NotDefFont findfont + fontname (-90ms-SJ-SuppA-H) composename findfont + fontname (.SuppK) composename findfont + fontname (-90ms-SJ-SuppB-HV) composename findfont + /NotDefFont findfont + ] readonly def + END + + % + % 90msp-RKSJ-V + % + + 1 BEGIN + /FontName fontname (-90msp-RKSJ-V) composename def + /WMode 1 def + /FMapType 6 def + /Encoding RKSJEncoding def + /SubsVector 90msRKSJSubsVector def + /FDepVector [ + 2 dict begin + /RRyumin-Light /Times-Roman def + /GGothicBBB-Medium /Helvetica def + currentdict + end + fontname 2 copy known { + get findfont + }{ + pop pop fontname (.Roman) composename findfont + } ifelse + /NotDefFont findfont + fontname (-90ms-SJ-SuppA-V) composename findfont + fontname (.SuppK) composename findfont + fontname (-90ms-SJ-SuppB-HV) composename findfont + /NotDefFont findfont + ] readonly def + END + + end +} bind def + +/copycompfont +{ + 100 string 100 string + + 3 index 2 index cvs length + 3 index 2 index cvs length + + [ + (-H) + (-V) + (-Ext-H) + (-Ext-V) + (-EUC-H) + (-EUC-V) + (-SJ-SuppA-H) + (-SJ-SuppA-V) + (-SJ-SuppB-HV) + (-RKSJ-H) + (-RKSJ-V) + (-83pv-SJ-SuppB-H) + (-83pv-SJ-SuppB-V) + (-83pv-RKSJ-H) + (-83pv-RKSJ-V) + (-90pv-SJ-SuppA-H) + (-90pv-SJ-SuppA-V) + (-90pv-SJ-SuppB-HV) + (-90pv-RKSJ-H) + (-90pv-RKSJ-V) + (-90ms-SJ-SuppA-H) + (-90ms-SJ-SuppA-V) + (-90ms-SJ-SuppB-HV) + (-90ms-RKSJ-H) + (-90ms-RKSJ-V) + (-90msp-RKSJ-H) + (-90msp-RKSJ-V) + (-Ext-RKSJ-H) + (-Ext-RKSJ-V) + ] + { + dup length + 5 index 4 index 3 index putinterval 5 index 0 5 index 3 index add getinterval cvn + 5 index 4 index 4 index putinterval 5 index 0 5 index 4 index add getinterval cvn + 4 2 roll pop pop + copyfont + } forall + + pop pop pop pop pop pop +} bind def diff --git a/Master/tlpkg/tlgs/kanji/kconfig.ps b/Master/tlpkg/tlgs/kanji/kconfig.ps new file mode 100644 index 00000000000..32f53c81daf --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/kconfig.ps @@ -0,0 +1,81 @@ +%
+% Kanji Font Configuration File (Win32: Win32 API)
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Example:
+% /Ryumin-Light 4300000 (‚l‚r –¾’©) win32BMkanji
+% /Ryumin-Light 4300000 (‚l‚r –¾’©) win32kanji
+%
+% Descriptions:
+% /Ryumin-Light
+% is the name of the Kanji font group to be installed.
+% /Ryumin-Light and /GothicBBB-Medium are standard.
+%
+% 4300000
+% is the offset of the identifiers to be used by the group.
+% You should specify the offset at intervals of 200,
+% because each font group uses about 170 identifiers.
+%
+% (‚l‚r –¾’©)
+% is the name of the TrueType font (NOT FILE NAME!!).
+%
+% win32kanji
+% is the operator to install Kanji outline font groups under
+% Win32 API.
+%
+% win32BMkanji
+% is the operator to install Kanji bitmap font groups under
+% Win32 API.
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Bitmap fonts
+%%
+/Ryumin-Light 4300000 (‚l‚r –¾’©) win32BMkanji
+/GothicBBB-Medium 4300200 (‚l‚r ƒSƒVƒbƒN) win32BMkanji
+
+/HeiseiMin-W3 4300400 (‚l‚r –¾’©) win32BMkanji
+/HeiseiKakuGo-W5 4300600 (‚l‚r ƒSƒVƒbƒN) win32BMkanji
+
+%/Ryumin-Light 4300000 (HG–¾’©B) win32BMkanji
+%/GothicBBB-Medium 4300200 (HGºÞ¼¯¸M) win32BMkanji
+
+%/HeiseiMin-W3 4300400 (HG–¾’©B) win32BMkanji
+%/HeiseiKakuGo-W5 4300600 (HGºÞ¼¯¸M) win32BMkanji
+
+%/Ryumin-Light 4300000 (HG‹³‰È‘‘Ì) win32BMkanji
+%/GothicBBB-Medium 4300200 (HGŠÛºÞ¼¯¸M-PRO) win32BMkanji
+
+%/HeiseiMin-W3 4300400 (HG‹³‰È‘‘Ì) win32BMkanji
+%/HeiseiKakuGo-W5 4300600 (HGŠÛºÞ¼¯¸M-PRO) win32BMkanji
+
+%/Ryumin-Light 4300000 (¬’Ë–¾’© Pro R) win32BMkanji
+%/GothicBBB-Medium 4300200 (¬’˃SƒVƒbƒN Pro M) win32BMkanji
+
+%/HeiseiMin-W3 4300400 (¬’Ë–¾’© Pro R) win32BMkanji
+%/HeiseiKakuGo-W5 4300600 (¬’˃SƒVƒbƒN Pro M) win32BMkanji
+
+%/Ryumin-Light 4300000 (¬’Ë–¾’© Pr6N R) win32BMkanji
+%/GothicBBB-Medium 4300200 (¬’˃SƒVƒbƒN Pr6N M) win32BMkanji
+
+%/HeiseiMin-W3 4300400 (¬’Ë–¾’© Pr6N R) win32BMkanji
+%/HeiseiKakuGo-W5 4300600 (¬’˃SƒVƒbƒN Pr6N M) win32BMkanji
+
+%%
+%% outline fonts
+%%
+%/Ryumin-Light 4300000 (‚l‚r –¾’©) win32kanji
+%/GothicBBB-Medium 4300200 (‚l‚r ƒSƒVƒbƒN) win32kanji
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Kanji Font Aliases
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+/Ryumin-Light-RKSJ-H /Ryumin-Light-Ext-RKSJ-H copyfont
+/Ryumin-Light-RKSJ-V /Ryumin-Light-Ext-RKSJ-V copyfont
+/GothicBBB-Medium-RKSJ-H /GothicBBB-Medium-Ext-RKSJ-H copyfont
+/GothicBBB-Medium-RKSJ-V /GothicBBB-Medium-Ext-RKSJ-V copyfont
diff --git a/Master/tlpkg/tlgs/kanji/kfwin32.ps b/Master/tlpkg/tlgs/kanji/kfwin32.ps new file mode 100644 index 00000000000..1b70c3816fe --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/kfwin32.ps @@ -0,0 +1,37 @@ +%
+% kfwin32.ps - Configuration for Vector Fonts under Win32 API.
+%
+% Written by ASAYAMA Kazunori Sep. 10, 1997
+%
+
+1 dict begin % /FontInfo
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Font Info Dictionary
+%
+
+/FontInfo 6 dict dup begin
+/Notice ("Using Japanese TrueType fonts vice Win32 API") readonly def
+/FamilyName (Kanji) readonly def
+/FullName (Win32 API) readonly def
+/isFixedPitch true def
+/ItalicAngle 0 def
+/Weight (Medium) readonly def
+end readonly def
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Kanji Font Operator under Win32 API.
+%
+
+% font_name unique_id font_file win32kanji -
+
+/win32kanji {
+ //FontInfo [ 3 -1 roll /kfwin32 load ] cvx
+ outlinekanji pop
+} userdict 3 1 roll put
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+end
diff --git a/Master/tlpkg/tlgs/kanji/kfwin32bm.ps b/Master/tlpkg/tlgs/kanji/kfwin32bm.ps new file mode 100644 index 00000000000..0d44d3f9574 --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/kfwin32bm.ps @@ -0,0 +1,37 @@ +% +% kfwin32bm.ps - Configuration for Bitmap Fonts under 'Win32API'. +% +% I. Matsuda Feb. 3, 1998 (A. Kakuto 2002, Win32API) +% + +1 dict begin % /FontInfo + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Font Info Dictionary +% + +/FontInfo 6 dict dup begin +/Notice ("Win32 Bitmap Font Library") readonly def +/FamilyName (Kanji) readonly def +/FullName (Win32 Bitmap Font Library) readonly def +/isFixedPitch true def +/ItalicAngle 0 def +/Weight (Medium) readonly def +end readonly def + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Kanji Font Operator under the Win32API. +% + +% font_name unique_id font_file win32BMkanji - + +/win32BMkanji { + //FontInfo [ 3 -1 roll /kfwin32BM load ] cvx + bitmapkanji pop +} userdict 3 1 roll put + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +end diff --git a/Master/tlpkg/tlgs/kanji/kinit.ps b/Master/tlpkg/tlgs/kanji/kinit.ps new file mode 100644 index 00000000000..d8980212642 --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/kinit.ps @@ -0,0 +1,457 @@ +% +% kinit.ps - install Kanji fonts +% +% Apr. 4, 1992 by N.Katayama +% +% Akira Tanaka <akr@jaist.ac.jp> modified for gs4.03/VFlib support. 1996/10/17 + +%QUIET not { (Installing Kanji fonts... ) print flush } if + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Define utility operators +% + +14 dict begin % QUIET + % acvs, copyfont, + % buffer, basefontname, composename, + % JISMappingDict, SJISMappingDict, CNameMappingDict, + % StandardMappingProc, + % bitmapkanji, outlinekanji + % basekanji and compositekanji + +/QUIET true def + +% +% array string ACVS string +% + +/acvs { + % Check stack + 2 copy type /stringtype ne exch type /arraytype ne or { + /acvs errordict /typecheck get exec + } if + 2 copy length exch length ne { + /acvs errordict /rangecheck get exec + } if + % Convert array into string + 0 1 3 index length 1 sub { + dup 3 index exch get 2 index 3 1 roll put + } for + exch pop +} bind def + +% +% fontname newname COPYFONT - +% + +/copyfont { + % Check stack + count 2 lt { + /copyfont errordict /stackunderflow get exec + } if + 2 copy type /nametype ne exch type /nametype ne or { + /copyfont errordict /typecheck get exec + } if + exch findfont dup maxlength dict begin { + 1 index /FID ne 2 index /UniqueID ne and + { def }{ pop pop } ifelse + } forall + currentdict end + definefont pop +} bind def + +% +% Buffer +% + +/buffer 2 dict begin +/str 256 string def +/len 0 def +currentdict end def + +% +% font_name suffix1 row_code suffix2 BASEFONTNAME font_name +% + +/basefontname { + buffer begin + 4 -1 roll str cvs length /len exch def + str len 4 index putinterval 3 -1 roll length len add /len exch def + exch 16 str len 2 getinterval cvrs pop /len len 2 add def + str len 2 index putinterval length len add /len exch def + str 0 len getinterval cvn + end +} bind def + +% +% font_name suffix NAME font_name +% + +/composename { + buffer begin + exch str cvs length /len exch def + str len 2 index putinterval length len add /len exch def + str 0 len getinterval cvn + end +} bind def + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Define Encoding Vectors +% + +userdict begin + +% +% JIS +% + +/JISEncoding [ + 16#00 1 16#20 { pop 0 } for + 16#21 1 16#28 { 16#20 sub } for + 16#29 1 16#2F { pop 0 } for + 16#30 1 16#74 { 16#27 sub } for + 16#75 1 16#FF { pop 0 } for +] readonly def + +% +% Ext +% + +/ExtEncoding +[ + 16#00 1 16#20 { pop 0 } for + 16#21 1 16#27 { 16#20 sub } for + 16#28 1 16#28 { pop 0 } for + 16#29 1 16#2D { 16#21 sub } for + 16#2E 1 16#2F { pop 0 } for + 16#30 1 16#73 { 16#23 sub } for + 16#74 1 16#FF { pop 0 } for +] readonly def + +% +% EUC +% + +/EUCEncoding +[ + 16#00 1 16#A0 { pop 0 } for + 16#A1 1 16#A8 { 16#A0 sub } for + 16#A9 1 16#AF { pop 0 } for + 16#B0 1 16#F4 { 16#A7 sub } for + 16#F5 1 16#FF { pop 0 } for +] readonly def + +% +% JIS Sub +% + +/JISSubEncoding [ +% 16#00 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 + /.notdef /c21 /c22 /c23 /c24 /c25 /c26 /c27 + /c28 /c29 /c2A /c2B /c2C /c2D /c2E /c2F + /c30 /c31 /c32 /c33 /c34 /c35 /c36 /c37 + /c38 /c39 /c3A /c3B /c3C /c3D /c3E /c3F +% 16#40 + /c40 /c41 /c42 /c43 /c44 /c45 /c46 /c47 + /c48 /c49 /c4A /c4B /c4C /c4D /c4E /c4F + /c50 /c51 /c52 /c53 /c54 /c55 /c56 /c57 + /c58 /c59 /c5A /c5B /c5C /c5D /c5E /c5F +% 16#60 + /c60 /c61 /c62 /c63 /c64 /c65 /c66 /c67 + /c68 /c69 /c6A /c6B /c6C /c6D /c6E /c6F + /c70 /c71 /c72 /c73 /c74 /c75 /c76 /c77 + /c78 /c79 /c7A /c7B /c7C /c7D /c7E /.notdef +128 copy ] readonly def + +% +% Roman +% + +/RomanEncoding [ +% 16#00 +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 +/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +/zero /one /two /three /four /five /six /seven +/eight /nine /colon /semicolon /less /equal /greater /question +% 16#40 +/at +/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 +/bracketleft /yen /bracketright /asciicircum /underscore +% 16#60 +/quoteleft +/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 +/braceleft /bar /braceright /overline /.notdef +% 16#80 +1 1 128 { /.notdef } for +] readonly def + +% +% Hiragana +% + +/HiraganaEncoding [ +% 16#00 +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 +/space /jperiod /jbracketleft /jbracketright +/jcomma /periodcentered /wogana /asmallgana +/ismallgana /usmallgana /esmallgana /osmallgana +/yasmallgana /yusmallgana /yosmallgana /tsusmallgana +/jprolonged /agana /igana /ugana /egana /ogana /kagana /kigana +/kugana /kegana /kogana /sagana /shigana /sugana /segana /sogana +% 16#40 +/tagana /chigana /tsugana /tegana /togana /nagana /nigana /nugana +/negana /nogana /hagana /higana /fugana /hegana /hogana /magana +/migana /mugana /megana /mogana /yagana /yugana /yogana /ragana +/rigana /rugana /regana /rogana /wagana /ngana /jvoiced /jsemivoiced +% 16#60 +/wigana /yegana /wasmallgana /.notdef /.notdef /.notdef /gagana /gigana +/gugana /gegana /gogana /zagana /jigana /zugana /zegana /zogana +/dagana /digana /dugana /degana /dogana /bagana /pagana /bigana +/pigana /bugana /pugana /begana /pegana /bogana /pogana /.notdef +% 16#80 +1 1 128 { /.notdef } for +] readonly def + +% +% Katakana +% + +/KatakanaEncoding [ +% 16#00 +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 +/space /jperiod /jbracketleft /jbracketright +/jcomma /periodcentered /wokana /asmallkana +/ismallkana /usmallkana /esmallkana /osmallkana +/yasmallkana /yusmallkana /yosmallkana /tsusmallkana +/jprolonged /akana /ikana /ukana /ekana /okana /kakana /kikana +/kukana /kekana /kokana /sakana /shikana /sukana /sekana /sokana +% 16#40 +/takana /chikana /tsukana /tekana /tokana /nakana /nikana /nukana +/nekana /nokana /hakana /hikana /fukana /hekana /hokana /makana +/mikana /mukana /mekana /mokana /yakana /yukana /yokana /rakana +/rikana /rukana /rekana /rokana /wakana /nkana /jvoiced /jsemivoiced +% 16#60 +/wikana /yekana /wasmallkana /kasmallkana /kesmallkana /vukana /gakana /gikana +/gukana /gekana /gokana /zakana /jikana /zukana /zekana /zokana +/dakana /dikana /dukana /dekana /dokana /bakana /pakana /bikana +/pikana /bukana /pukana /bekana /pekana /bokana /pokana /.notdef +% 16#80 +1 1 128 { /.notdef } for +] readonly def + +% +% Hankaku +% +/HankakuEncoding [ +% 16#00 +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 +/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +/zero /one /two /three /four /five /six /seven +/eight /nine /colon /semicolon /less /equal /greater /question +% 16#40 +/at +/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 +/bracketleft /yen /bracketright /asciicircum /underscore +% 16#60 +/quoteleft +/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 +/braceleft /bar /braceright /overline /.notdef +% 16#80 +/space /jperiod /jbracketleft /jbracketright +/jcomma /periodcentered /wogana /asmallgana +/ismallgana /usmallgana /esmallgana /osmallgana +/yasmallgana /yusmallgana /yosmallgana /tsusmallgana +/jprolonged /agana /igana /ugana /egana /ogana /kagana /kigana +/kugana /kegana /kogana /sagana /shigana /sugana /segana /sogana +%16#A0 +/space /jperiod /jbracketleft /jbracketright +/jcomma /periodcentered /wokana /asmallkana +/ismallkana /usmallkana /esmallkana /osmallkana +/yasmallkana /yusmallkana /yosmallkana /tsusmallkana +/jprolonged /akana /ikana /ukana /ekana /okana /kakana /kikana +/kukana /kekana /kokana /sakana /shikana /sukana /sekana /sokana +% 16#C0 +/takana /chikana /tsukana /tekana /tokana /nakana /nikana /nukana +/nekana /nokana /hakana /hikana /fukana /hekana /hokana /makana +/mikana /mukana /mekana /mokana /yakana /yukana /yokana /rakana +/rikana /rukana /rekana /rokana /wakana /nkana /jvoiced /jsemivoiced +% 16#E0 +/tagana /chigana /tsugana /tegana /togana /nagana /nigana /nugana +/negana /nogana /hagana /higana /fugana /hegana /hogana /magana +/migana /mugana /megana /mogana /yagana /yugana /yogana /ragana +/rigana /rugana /regana /rogana /wagana /ngana /jvoiced /jsemivoiced +] readonly def + +% +% Shift-JIS +% + +/RKSJEncoding [ 0 1 2 3 4 5 ] readonly def +/RKSJSubsVector [ 0 128 1 31 64 16 ] dup length string acvs readonly def + +/SJSuppAEncoding [ + 16#81 1 16#9F { 16#80 sub } for +] readonly def + +/SJSuppBEncoding [ + 16#E0 1 16#EA { 16#DF sub } for + 16#EB 1 16#EF { pop 0 } for +] readonly def + +/83pvSJSuppBEncoding [ + 16#E0 1 16#EE { 16#DF sub } for + 16#EF 1 16#EF { pop 0 } for +] readonly def + +/90pvSJSuppBEncoding [ + 16#E0 1 16#ED { 16#DF sub } for + 16#EE 1 16#EF { pop 0 } for +] readonly def + +/90msRKSJEncoding [ 0 1 2 3 4 5 ] readonly def +/90msRKSJSubsVector [ 0 128 1 31 64 29 ] dup length string acvs readonly def +/90msSJSuppBEncoding [ + 16#E0 1 16#EA { 16#DF sub } for + 16#EB 1 16#EC { pop 0 } for + 16#ED 1 16#EE { 16#E1 sub } for + 16#EF 1 16#F9 { pop 0 } for + 16#FA 1 16#FC { 16#EC sub } for +] readonly def + +/RKSuppKEncoding [ +% 16#00 + /space /jperiod /jbracketleft /jbracketright + /jcomma /periodcentered /wokana /asmallkana + /ismallkana /usmallkana /esmallkana /osmallkana + /yasmallkana /yusmallkana /yosmallkana /tsusmallkana + /jprolonged /akana /ikana /ukana /ekana /okana /kakana /kikana + /kukana /kekana /kokana /sakana /shikana /sukana /sekana /sokana +% 16#20 + /takana /chikana /tsukana /tekana /tokana /nakana /nikana /nukana + /nekana /nokana /hakana /hikana /fukana /hekana /hokana /makana + /mikana /mukana /mekana /mokana /yakana /yukana /yokana /rakana + /rikana /rukana /rekana /rokana /wakana /nkana /jvoiced /jsemivoiced +] readonly def + +/SJSubEncoding [ +% 16#00 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#40 + /c40 /c41 /c42 /c43 /c44 /c45 /c46 /c47 + /c48 /c49 /c4A /c4B /c4C /c4D /c4E /c4F + /c50 /c51 /c52 /c53 /c54 /c55 /c56 /c57 + /c58 /c59 /c5A /c5B /c5C /c5D /c5E /c5F +% 16#60 + /c60 /c61 /c62 /c63 /c64 /c65 /c66 /c67 + /c68 /c69 /c6A /c6B /c6C /c6D /c6E /c6F + /c70 /c71 /c72 /c73 /c74 /c75 /c76 /c77 + /c78 /c79 /c7A /c7B /c7C /c7D /c7E /.notdef +% 16#80 + /c80 /c81 /c82 /c83 /c84 /c85 /c86 /c87 + /c88 /c89 /c8A /c8B /c8C /c8D /c8E /c8F + /c90 /c91 /c92 /c93 /c94 /c95 /c96 /c97 + /c98 /c99 /c9A /c9B /c9C /c9D /c9E /c9F +% 16#A0 + /cA0 /cA1 /cA2 /cA3 /cA4 /cA5 /cA6 /cA7 + /cA8 /cA9 /cAA /cAB /cAC /cAD /cAE /cAF + /cB0 /cB1 /cB2 /cB3 /cB4 /cB5 /cB6 /cB7 + /cB8 /cB9 /cBA /cBB /cBC /cBD /cBE /cBF +% 16#C0 + /cC0 /cC1 /cC2 /cC3 /cC4 /cC5 /cC6 /cC7 + /cC8 /cC9 /cCA /cCB /cCC /cCD /cCE /cCF + /cD0 /cD1 /cD2 /cD3 /cD4 /cD5 /cD6 /cD7 + /cD8 /cD9 /cDA /cDB /cDC /cDD /cDE /cDF +% 16#E0 + /cE0 /cE1 /cE2 /cE3 /cE4 /cE5 /cE6 /cE7 + /cE8 /cE9 /cEA /cEB /cEC /cED /cEE /cEF + /cF0 /cF1 /cF2 /cF3 /cF4 /cF5 /cF6 /cF7 + /cF8 /cF9 /cFA /cFB /cFC /.notdef /.notdef /.notdef +] readonly def + +end + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Include supplementary files +% + +% Define basekanji operator + +(kbase.ps) runlibfile + +% Define compositekanji operator + +(kcomp.ps) runlibfile + +% Define Mapping Dictionary + +(kmapping.ps) runlibfile + +% Define outlinekanji operator + +(koutline.ps) runlibfile + +% Define bitmapkanji operator + +(kbitmap.ps) runlibfile +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Define NotDefFont +% + +7 dict begin +/FontName /NotDefFont def +/FontType 3 def +/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def +/FontBBox { 0 -120 1000 880 } readonly def +/Encoding [ 0 1 255 { pop 0 } for ] readonly def +/BuildChar { pop pop + 1000 0 0 -120 1000 880 0 -1000 500 880 setcachedevice2 +} readonly def +currentdict end dup /FontName get exch definefont pop + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Load Kanji font configuration file +% + +systemdict /KCONFIG 2 copy known { get }{ pop pop (kconfig.ps) } ifelse runlibfile + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +end + +%QUIET not { (done.\n) print flush } if diff --git a/Master/tlpkg/tlgs/kanji/kmapping.ps b/Master/tlpkg/tlgs/kanji/kmapping.ps new file mode 100644 index 00000000000..9c3c94232df --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/kmapping.ps @@ -0,0 +1,155 @@ +% +% Mapping from character names to Kanji JIS code +% +% Apr.10,1992 Written by N.Katayama +% + +% +% JIS +% + +/JISMappingDict 94 dict begin + 3 string dup 0 (c) putinterval dup 1 2 getinterval + 16#21 1 16#7E { + dup 16 3 index cvrs pop + 2 index cvn exch def + } for + pop pop +currentdict end readonly def + +% +% Shift JIS +% + +/SJMappingDict 188 dict begin + 3 string dup 0 (c) putinterval dup 1 2 getinterval + 16#40 1 16#7E { + dup 16 3 index cvrs pop + 16#40 sub 16#21 add + 2 index cvn exch def + } for + 16#80 1 16#9E { + dup 16 3 index cvrs pop + 16#80 sub 16#60 add + 2 index cvn exch def + } for + 16#9F 1 16#FC { + dup 16 3 index cvrs pop + 16#9F sub 16#0121 add + 2 index cvn exch def + } for + pop pop +currentdict end readonly def + +% +% Character Name Mapping +% + +/CNameMappingDict 512 dict begin +% +% Symbols +% +/space 16#2121 def /jcomma 16#2122 def +/jperiod 16#2123 def /comma 16#2124 def +/period 16#2125 def /periodcentered 16#2126 def +/colon 16#2127 def /semicolon 16#2128 def +/question 16#2129 def /exclam 16#212A def +/jvoiced 16#212B def /jsemivoiced 16#212C def +% +/asciicircum 16#2130 def /overline 16#2131 def +/underscore 16#2132 def +% +/jprolonged 16#213C def /hyphen 16#213D def +% +/slash 16#213F def /backslash 16#2140 def +% +/bar 16#2143 def +% +/quoteleft 16#2146 def /quoteright 16#2147 def +% +/quotedbl 16#2149 def +/parenleft 16#214A def /parenright 16#214B def +% +/bracketleft 16#214E def /bracketright 16#214F def +/braceleft 16#2150 def /braceright 16#2151 def +% +/jbracketleft 16#2156 def /jbracketright 16#2157 def +% +/plus 16#215C def /minus 16#215D def +% +/equal 16#2161 def +% +/less 16#2163 def /greater 16#2164 def +% +/yen 16#216F def /dollar 16#2170 def +% +/percent 16#2173 def /numbersign 16#2174 def +/ampersand 16#2175 def /asterisk 16#2176 def +/at 16#2177 def +% +% Digits +% +[ +/zero /one /two /three /four /five /six /seven /eight /nine +] 16#2330 1 16#2339 { 2 copy 16#2330 sub get exch def } for pop +% +% Alphabets +% +[ +/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 +] 16#2341 1 16#235A { 2 copy 16#2341 sub get exch def } for pop +% +[ +/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 +] 16#2361 1 16#237A { 2 copy 16#2361 sub get exch def } for pop +% +% Hiragana +% +[ +/asmallgana /agana /ismallgana /igana /usmallgana /ugana +/esmallgana /egana /osmallgana /ogana +/kagana /gagana /kigana /gigana /kugana /gugana +/kegana /gegana /kogana /gogana +/sagana /zagana /shigana /jigana /sugana /zugana +/segana /zegana /sogana /zogana +/tagana /dagana /chigana /digana /tsusmallgana /tsugana /dugana +/tegana /degana /togana /dogana +/nagana /nigana /nugana /negana /nogana +/hagana /bagana /pagana /higana /bigana /pigana /fugana /bugana /pugana +/hegana /begana /pegana /hogana /bogana /pogana +/magana /migana /mugana /megana /mogana +/yasmallgana /yagana /yusmallgana /yugana /yosmallgana /yogana +/ragana /rigana /rugana /regana /rogana +/wasmallgana /wagana /wigana /yegana /wogana /ngana +] 16#2421 1 16#2473 { 2 copy 16#2421 sub get exch def } for pop +% +% Katakana +% +[ +/asmallkana /akana /ismallkana /ikana /usmallkana /ukana +/esmallkana /ekana /osmallkana /okana +/kakana /gakana /kikana /gikana /kukana /gukana +/kekana /gekana /kokana /gokana +/sakana /zakana /shikana /jikana /sukana /zukana +/sekana /zekana /sokana /zokana +/takana /dakana /chikana /dikana /tsusmallkana /tsukana /dukana +/tekana /dekana /tokana /dokana +/nakana /nikana /nukana /nekana /nokana +/hakana /bakana /pakana /hikana /bikana /pikana /fukana /bukana /pukana +/hekana /bekana /pekana /hokana /bokana /pokana +/makana /mikana /mukana /mekana /mokana +/yasmallkana /yakana /yusmallkana /yukana /yosmallkana /yokana +/rakana /rikana /rukana /rekana /rokana +/wasmallkana /wakana /wikana /yekana /wokana /nkana +/vukana /kasmallkana /kesmallkana +] 16#2521 1 16#2576 { 2 copy 16#2521 sub get exch def } for pop +currentdict end readonly def + +% +% Mapping procedure +% + +/StandardMapping { + Private /MappingDict get exch 2 copy known + { get Private /MappingOffset get add }{ pop pop 16#2121 } ifelse +} def diff --git a/Master/tlpkg/tlgs/kanji/koutline.ps b/Master/tlpkg/tlgs/kanji/koutline.ps new file mode 100644 index 00000000000..24eac7004e6 --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/koutline.ps @@ -0,0 +1,64 @@ +% +% koutline.ps - define /outlinekanji operator +% +% Apr. 6,1992 Programmed by N.Katayama +% +% Akira Tanaka <akr@jaist.ac.jp> modified for gs4.03/VFlib support. 1996/10/17 +% Akira Tanaka <akr@jaist.ac.jp> modified for gs5.0/VFlib support. 1997/6/9 +% Akira Tanaka <akr@jaist.ac.jp> modified for gs5.10/VFlib support. 1998/4/7 + +% +% font_name unique_id font_info path_proc OUTLINEKANJI unique_id +% + +/outlinekanji { + 6 dict begin % fontname, uniqueid, fontinfo, pathproc, + % private and buildchar + + /pathproc exch def + /fontinfo exch def + /uniqueid exch def + /fontname exch def + + % Private dictionary + + /private 1 dict begin + /PathProc /pathproc load def + currentdict end def + + % Define BuildChar procedure + + /buildchar { + exch begin + Encoding exch get dup Private /MappingProc get exec + currentfont /WMode 2 copy known { get }{ pop pop 0 } ifelse + +% Akira Tanaka <akr@jaist.ac.jp> modified for bogus speedup. 1998/05/17 + %gsave + %2 copy Private /PathProc get exec + %{ flattenpath pathbbox } stopped { .clearerror 0 0 0 0 } if + %grestore + 0 -120 1000 880 + + 1000 0 6 2 roll 0 -1000 500 880 13 -1 roll setmetrics2 + Private /PathProc get exec + PaintType 0 eq + { eofill }{ + currentdict /StrokeWidth known + {StrokeWidth}{0} ifelse + setlinewidth stroke + } ifelse + end + } bind def + + % Define base fonts + + fontname uniqueid fontinfo private /buildchar load basekanji + /uniqueid exch def + + % Define composite fonts + + fontname fontinfo compositekanji + + uniqueid end +} def diff --git a/Master/tlpkg/tlgs/kanji/metrics2.ps b/Master/tlpkg/tlgs/kanji/metrics2.ps new file mode 100644 index 00000000000..f1b7745604d --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/metrics2.ps @@ -0,0 +1,97 @@ +% +% wmode.ps - define /setmetrics2 operator +% +% Aug.28,1991 Programmed by N.Katayama +% +% Akira Tanaka <akr@jaist.ac.jp> modified for gs4.03/VFlib support. 1996/10/17 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Metrics Utility Operator +% Execute this in the BuildChar procedure instead of setcachedevice2 +% + +%/SETMETRICS2 14 dict def % private dictionary + +% +% w0x w0y llx lly urx ury w1x w1y vx vy char setmetrics2 - +% + +/setmetrics2 +{ + currentdict + 14 dict begin + /font exch def + /char exch def + /vy exch def /vx exch def /w1y exch def /w1x exch def + /ury exch def /urx exch def /lly exch def /llx exch def + /w0y exch def /w0x exch def + + /old-llx llx def + /old-lly lly def + + % Metrics + + font /Metrics 2 copy known { + get char 2 copy known { + get dup type + dup /integertype eq { + /w0x 2 index def + } if + dup /realtype eq { + /w0x 2 index def + } if + dup /arraytype eq { + 1 index + dup length 2 eq { + /llx 1 index 0 get def + /urx llx old-llx sub urx add def + /w0x 1 index 1 get def + } if + dup length 4 eq { + /llx 1 index 0 get def + /lly 1 index 1 get def + /urx llx old-llx sub urx add def + /ury lly old-lly sub ury add def + /w0x 1 index 2 get def + /w0y 1 index 3 get def + } if + pop + } if + pop pop + }{ pop pop } ifelse + }{ pop pop } ifelse + + % Metrics2 + + font /Metrics2 2 copy known { + get char 2 copy known { + get + dup 0 get /w1x exch def + dup 1 get /w1y exch def + dup 2 get /vx exch def + dup 3 get /vy exch def + pop + }{ pop pop } ifelse + }{ pop pop } ifelse + + % CDevProc + + font /CDevProc 2 copy known { + get + w0x w0y llx lly urx ury w1x w1y vx vy char 12 -1 roll exec + /vy exch def /vx exch def /w1y exch def /w1x exch def + /ury exch def /urx exch def /lly exch def /llx exch def + /w0y exch def /w0x exch def + }{ pop pop } ifelse + + % setcachedevice2 + + w0x w0y llx lly urx ury w1x w1y vx vy setcachedevice2 + + % translate + + llx old-llx sub lly old-lly sub translate + + end +} bind def diff --git a/Master/tlpkg/tlgs/kanji/useopentype.ps b/Master/tlpkg/tlgs/kanji/useopentype.ps new file mode 100644 index 00000000000..3ea9567531f --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/useopentype.ps @@ -0,0 +1,265 @@ +%%BeginFont: Ryumin-Light-H +/Ryumin-Light-H +/H /CMap findresource +[/Ryumin-Light /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: GothicBBB-Medium-H +/GothicBBB-Medium-H +/H /CMap findresource +[/GothicBBB-Medium /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraKakuPro-W3-H +/HiraKakuPro-W3-H +/H /CMap findresource +[/HiraKakuPro-W3 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraKakuPro-W6-H +/HiraKakuPro-W6-H +/H /CMap findresource +[/HiraKakuPro-W6 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraKakuProN-W3-H +/HiraKakuProN-W3-H +/H /CMap findresource +[/HiraKakuProN-W3 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraKakuProN-W6-H +/HiraKakuProN-W6-H +/H /CMap findresource +[/HiraKakuProN-W6 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraKakuStd-W8-H +/HiraKakuStd-W8-H +/H /CMap findresource +[/HiraKakuStd-W8 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraKakuStdN-W8-H +/HiraKakuStdN-W8-H +/H /CMap findresource +[/HiraKakuStdN-W8 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraMaruPro-W4-H +/HiraMaruPro-W4-H +/H /CMap findresource +[/HiraMaruPro-W4 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraMaruProN-W4-H +/HiraMaruProN-W4-H +/H /CMap findresource +[/HiraMaruProN-W4 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraMinPro-W3-H +/HiraMinPro-W3-H +/H /CMap findresource +[/HiraMinPro-W3 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraMinPro-W6-H +/HiraMinPro-W6-H +/H /CMap findresource +[/HiraMinPro-W6 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraMinProN-W3-H +/HiraMinProN-W3-H +/H /CMap findresource +[/HiraMinProN-W3 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: HiraMinProN-W6-H +/HiraMinProN-W6-H +/H /CMap findresource +[/HiraMinProN-W6 /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPr6N-Bold-H +/KozGoPr6N-Bold-H +/H /CMap findresource +[/KozGoPr6N-Bold /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPr6N-ExtraLight-H +/KozGoPr6N-ExtraLight-H +/H /CMap findresource +[/KozGoPr6N-ExtraLight /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPr6N-Heavy-H +/KozGoPr6N-Heavy-H +/H /CMap findresource +[/KozGoPr6N-Heavy /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPr6N-Light-H +/KozGoPr6N-Light-H +/H /CMap findresource +[/KozGoPr6N-Light /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPr6N-Medium-H +/KozGoPr6N-Medium-H +/H /CMap findresource +[/KozGoPr6N-Medium /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPr6N-Regular-H +/KozGoPr6N-Regular-H +/H /CMap findresource +[/KozGoPr6N-Regular /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPro-Bold-H +/KozGoPro-Bold-H +/H /CMap findresource +[/KozGoPro-Bold /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPro-ExtraLight-H +/KozGoPro-ExtraLight-H +/H /CMap findresource +[/KozGoPro-ExtraLight /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPro-Heavy-H +/KozGoPro-Heavy-H +/H /CMap findresource +[/KozGoPro-Heavy /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPro-Light-H +/KozGoPro-Light-H +/H /CMap findresource +[/KozGoPro-Light /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPro-Medium-H +/KozGoPro-Medium-H +/H /CMap findresource +[/KozGoPro-Medium /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozGoPro-Regular-H +/KozGoPro-Regular-H +/H /CMap findresource +[/KozGoPro-Regular /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPr6N-Bold-H +/KozMinPr6N-Bold-H +/H /CMap findresource +[/KozMinPr6N-Bold /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPr6N-ExtraLight-H +/KozMinPr6N-ExtraLight-H +/H /CMap findresource +[/KozMinPr6N-ExtraLight /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPr6N-Heavy-H +/KozMinPr6N-Heavy-H +/H /CMap findresource +[/KozMinPr6N-Heavy /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPr6N-Light-H +/KozMinPr6N-Light-H +/H /CMap findresource +[/KozMinPr6N-Light /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPr6N-Medium-H +/KozMinPr6N-Medium-H +/H /CMap findresource +[/KozMinPr6N-Medium /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPr6N-Regular-H +/KozMinPr6N-Regular-H +/H /CMap findresource +[/KozMinPr6N-Regular /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPro-Bold-H +/KozMinPro-Bold-H +/H /CMap findresource +[/KozMinPro-Bold /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPro-ExtraLight-H +/KozMinPro-ExtraLight-H +/H /CMap findresource +[/KozMinPro-ExtraLight /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPro-Heavy-H +/KozMinPro-Heavy-H +/H /CMap findresource +[/KozMinPro-Heavy /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPro-Light-H +/KozMinPro-Light-H +/H /CMap findresource +[/KozMinPro-Light /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPro-Medium-H +/KozMinPro-Medium-H +/H /CMap findresource +[/KozMinPro-Medium /CIDFont findresource] +composefont pop +%%EndFont + +%%BeginFont: KozMinPro-Regular-H +/KozMinPro-Regular-H +/H /CMap findresource +[/KozMinPro-Regular /CIDFont findresource] +composefont pop +%%EndFont diff --git a/Master/tlpkg/tlgs/kanji/vchars.ps b/Master/tlpkg/tlgs/kanji/vchars.ps new file mode 100644 index 00000000000..ba277244b1d --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/vchars.ps @@ -0,0 +1,46 @@ +%!PS-Adobe-2.0 +% +% Sample of Vertical KANJI Characters +% + +/font /Ryumin-Light-V def +/size 80 def +/left 50 def +/right 600 def +/top 750 def + +% + +right left sub size idiv size mul 2 div left add /center exch def +/Times-Roman findfont size 5 div scalefont setfont +(Vertical KANJI Characters) dup stringwidth pop 2 div center exch sub +top size 6 div add moveto show + +/x left def +/y top def + +font findfont size scalefont setfont + +{ + pop pop + x y moveto + size 0 rlineto 0 size neg rlineto size neg 0 rlineto + closepath stroke + x size 2 div add y moveto + 1 string dup 0 4 -1 roll put show + /x x size add def + x size add right gt { /x left def /y y size sub def } if +} + +< 2122 2123 2131 2132 213c 213d 213e 2141 + 2142 2143 2144 2145 214a 214b 214c 214d + 214e 214f 2150 2151 2152 2153 2154 2155 + 2156 2157 2158 2159 215a 215b 222e 2421 + 2423 2425 2427 2429 2443 2463 2465 2467 + 246e + 2521 + 2523 2525 2527 2529 2543 2563 2565 2567 + 256e 2575 2576 > + +cshow +showpage diff --git a/Master/tlpkg/tlgs/kanji/vchars1.ps b/Master/tlpkg/tlgs/kanji/vchars1.ps new file mode 100644 index 00000000000..b74b02addf8 --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/vchars1.ps @@ -0,0 +1,55 @@ +%!PS-Adobe-2.0 +% +% Sample of Vertical KANJI Characters +% + +/font /Ryumin-Light-V def +/size 80 def +/left 50 def +/right 600 def +/top 750 def + +size size scale + +currentlinewidth size div setlinewidth + +/left left size div def +/right right size div def +/top top size div def +/size 1 def + +% + +right left sub size mul 2 div left add /center exch def +/Times-Roman findfont size 5 div scalefont setfont +(Vertical KANJI Characters) dup stringwidth pop 2 div center exch sub +top size 6 div add moveto show + +/x left def +/y top def + +font findfont size scalefont setfont + +{ + pop pop + x y moveto + size 0 rlineto 0 size neg rlineto size neg 0 rlineto + closepath stroke + x size 2 div add y moveto + 1 string dup 0 4 -1 roll put show + /x x size add def + x size add right gt { /x left def /y y size sub def } if +} + +< 2122 2123 2131 2132 213c 213d 213e 2141 + 2142 2143 2144 2145 214a 214b 214c 214d + 214e 214f 2150 2151 2152 2153 2154 2155 + 2156 2157 2158 2159 215a 215b 222e 2421 + 2423 2425 2427 2429 2443 2463 2465 2467 + 246e + 2521 + 2523 2525 2527 2529 2543 2563 2565 2567 + 256e 2575 2576 > + +cshow +showpage |