summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/kanji
diff options
context:
space:
mode:
authorReinhard Kotucha <reinhard.kotucha@web.de>2017-04-23 22:15:25 +0000
committerReinhard Kotucha <reinhard.kotucha@web.de>2017-04-23 22:15:25 +0000
commit54448d6ab44d2033482fafa56ddc40d42a6815eb (patch)
treed4fdfff7b7f75c367a76f872e2986af75c5f81a3 /Master/tlpkg/tlgs/kanji
parentf2a947f3017b82f1dfa1058d1d720fe11d298e92 (diff)
Add files needed for CJK to tlgs, adapt runscript.tlu accordingly.
git-svn-id: svn://tug.org/texlive/trunk@43997 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlgs/kanji')
-rw-r--r--Master/tlpkg/tlgs/kanji/allkanji.ps102
-rw-r--r--Master/tlpkg/tlgs/kanji/article9.ps97
-rw-r--r--Master/tlpkg/tlgs/kanji/fmaptype.ps245
-rw-r--r--Master/tlpkg/tlgs/kanji/hankaku.ps93
-rw-r--r--Master/tlpkg/tlgs/kanji/kbase.ps302
-rw-r--r--Master/tlpkg/tlgs/kanji/kbitmap.ps62
-rw-r--r--Master/tlpkg/tlgs/kanji/kcomp.ps628
-rw-r--r--Master/tlpkg/tlgs/kanji/kconfig.ps81
-rw-r--r--Master/tlpkg/tlgs/kanji/kfwin32.ps37
-rw-r--r--Master/tlpkg/tlgs/kanji/kfwin32bm.ps37
-rw-r--r--Master/tlpkg/tlgs/kanji/kinit.ps457
-rw-r--r--Master/tlpkg/tlgs/kanji/kmapping.ps155
-rw-r--r--Master/tlpkg/tlgs/kanji/koutline.ps64
-rw-r--r--Master/tlpkg/tlgs/kanji/metrics2.ps97
-rw-r--r--Master/tlpkg/tlgs/kanji/useopentype.ps265
-rw-r--r--Master/tlpkg/tlgs/kanji/vchars.ps46
-rw-r--r--Master/tlpkg/tlgs/kanji/vchars1.ps55
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