summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-07-12 00:58:13 +0000
committerKarl Berry <karl@freefriends.org>2008-07-12 00:58:13 +0000
commitb644be7550076c874437a062a31c63be6daaa12e (patch)
treec65475d5cd98a50d3b77049242bb980d75d3554d
parent438c86541627788f5c36d5af5d2fdd2682bf4d4c (diff)
cjk 4.8.0 update (named CJK before)
git-svn-id: svn://tug.org/texlive/trunk@9456 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/cjk/ChangeLog1972
-rw-r--r--Master/texmf-dist/doc/latex/cjk/MANIFEST453
-rw-r--r--Master/texmf-dist/doc/latex/cjk/Makefile226
-rw-r--r--Master/texmf-dist/doc/latex/cjk/README39
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/CEF.txt86
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/CJK.txt1238
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/CJKutf8.txt40
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/COPYING340
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/INSTALL686
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/TDS.txt172
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/TeXLive.txt549
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/chinese/README7
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEb5.tex1150
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEgb.tex92
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/chinese/emTeXb5.txt357
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/chinese/teTeXb5.txt327
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/cjk-enc.txt438
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/commands.txt388
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/dvidrv.txt56
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/fdxfiles.txt111
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/fonts.txt311
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/hbf2gf.txt384
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/history.2_5202
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/history.txt1459
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/japanese/README18
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/japanese/ascii.txt58
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.jis642
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.txt637
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-fonts.txt54
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-tex.txt50
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/japanese/preview.txt39
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/japanese/shibuaki.txt150
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/HOWTO.txt425
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/bkai.map55
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cid-x.map364
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cwtb.map55
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/dvipdfmx.cfg164
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/gen-map.pl120
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/map.list78
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd11
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd11
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd10
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd10
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd10
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/updmap.my161
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/wcl.sfd62
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pinyin.txt62
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/pyhyphen.txt107
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/reftex.txt34
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/ruby.txt139
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/thaifont.txt129
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/vertical.txt120
-rw-r--r--Master/texmf-dist/doc/latex/cjk/doc/xCJK.txt73
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/Big5.tex35
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/Big5vert.tex35
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/CEF_test.tex41
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/CJKbabel.tex135
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/CJKfntef.tex61
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/CJKmixed.tex81
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/CJKutf8.tex117
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/GB.tex31
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/JIS.tex35
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/KS.tex31
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/README66
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/SJIS.tex39
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/UTF8.tex38
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/muletest.tex149
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/py_test.tex43
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/rubytest.tex56
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/thai.tex37
-rw-r--r--Master/texmf-dist/doc/latex/cjk/examples/xCJK.tex127
-rw-r--r--Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.sfd42
-rw-r--r--Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.txt384
-rw-r--r--Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada81
-rw-r--r--Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada2.pl242
-rw-r--r--Master/texmf-dist/source/latex/cjk/contrib/wadalab/makefont108
-rw-r--r--Master/texmf-dist/source/latex/cjk/contrib/wadalab/makeuniwada.pl333
-rw-r--r--Master/texmf-dist/source/latex/cjk/contrib/wadalab/wadalab.map187
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.1110
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.c36
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.w124
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex43
-rwxr-xr-xMaster/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.bat3
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.cmd44
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5pdflatex43
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.1127
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.c138
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.w240
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5latex43
-rwxr-xr-xMaster/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.bat3
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.cmd46
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5pdflatex43
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.1117
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.c130
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.w224
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex43
-rwxr-xr-xMaster/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.bat3
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.cmd46
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefpdflatex43
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.1127
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.c138
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.w240
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefslatex43
-rwxr-xr-xMaster/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.bat3
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.cmd46
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefspdflatex43
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.1110
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.c36
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.w123
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjislatex43
-rwxr-xr-xMaster/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.bat3
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.cmd44
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjispdflatex43
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/cjklatex/cjklatex.c290
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+latex43
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+pdflatex43
-rwxr-xr-xMaster/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.bat3
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.cmd44
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.1111
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.c37
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.w125
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex43
-rwxr-xr-xMaster/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.bat3
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.cmd44
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/extconv/gbkpdflatex43
-rwxr-xr-xMaster/texmf-dist/source/latex/cjk/utils/f_name.bat205
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.gnu127
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.in127
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/README2
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/c-auto.h39
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/README10
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg28
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg30
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg31
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg28
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg28
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg28
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg28
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg28
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg28
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg28
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg28
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg27
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg30
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg28
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg27
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.guess1526
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.sub1669
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure5741
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure.ac131
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/dvidrv.btm352
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.c109
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.h25
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.c405
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.h57
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c1589
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h215
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.1754
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.c2302
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.def3
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.w2872
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/install-sh250
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/mkinstalldirs32
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff63
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff28
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff75
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/README1
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff67
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff36
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff72
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff36
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff72
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff36
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/lisp/cjkspace.el102
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/lisp/cjktilde.el111
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/cjk-enc.el1100
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/thai-word.el11052
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/lisp/mule-2.3/cjk-enc.el625
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.c480
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.ldf62
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.tr52
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pyhyph.tex236
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pytest.tex51
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/subfonts/clonevf.pl122
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/subfonts/hlatex2agl.pl477
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/subfonts/makefdx.pl340
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/subfonts/sfd2uni.pl348
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/subfonts/subfonts.pe88
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/subfonts/uni2sfd.pl312
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/subfonts/vertical.pe108
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/subfonts/vertref.pe121
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/INSTALL337
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.etx2346
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.mtx42
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/config.dbtt-old1
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx46
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx36
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex139
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst78
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map4
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/garuda.fontinst77
-rw-r--r--Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/norasi.fontinst85
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cap86
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.chr219
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cpx86
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.enc226
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/HK.enc276
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c00bkai.fdx147
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fdx147
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fdx15
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c00cns.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c00fs.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c00kai.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fdx15
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c00song.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c01song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c05song.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/Bg5/c09song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CEF/c80song.fd34
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CEF/c81song.fd33
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CJK.enc1092
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CJK.sty1104
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CJKfntef.sty416
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CJKnumb.sty399
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CJKulem.sty193
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CJKutf8.sty719
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CJKvert.sty159
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.bdg130
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.chr210
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.enc138
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CNS/c31song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CNS/c32song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CNS/c33song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CNS/c34song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CNS/c35song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CNS/c36song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/CNS/c37song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/GB/GB.cap86
-rw-r--r--Master/texmf-dist/tex/latex/cjk/GB/GB.cpx84
-rw-r--r--Master/texmf-dist/tex/latex/cjk/GB/c10fs.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fdx70
-rw-r--r--Master/texmf-dist/tex/latex/cjk/GB/c10song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/GB/c11song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/GB/c19song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/GB/c20song.fd31
-rw-r--r--Master/texmf-dist/tex/latex/cjk/GB/c21song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.bdg131
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.chr246
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.enc141
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/EUC-JPdnp.enc142
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/JIS.cap83
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/JIS.cpx80
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/JISdnp.enc132
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/c40song.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/c41song.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/c42song.fd28
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/c43song.fd27
-rw-r--r--Master/texmf-dist/tex/latex/cjk/JIS/c50song.fd26
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/HLaTeX.chr229
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/KSHL.enc134
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63bm.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63dn.fd69
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gr.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gs.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gt.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jgt.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jmj.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jnv.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jsr.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63mj.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pg.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pga.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63ph.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pn.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63sh.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63tz.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63vd.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63yt.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64bm.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64dn.fd69
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gr.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gs.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gt.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jgt.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jmj.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jnv.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jsr.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64mj.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pg.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pga.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64ph.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pn.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64sh.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64tz.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64vd.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64yt.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65bm.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65dn.fd69
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gr.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gs.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gt.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jgt.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jmj.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jnv.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jsr.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65mj.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pg.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pga.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65ph.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pn.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65sh.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65tz.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65vd.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65yt.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/pshan.sty29
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/KS.chr251
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/KS.enc114
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c60dr.fd22
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c60gr.fd22
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c60gs.fd22
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c60gt.fd22
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c60hgt.fd22
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c60hmj.fd22
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c60hol.fd22
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c60hpg.fd22
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c60mj.fd22
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c61dr.fd27
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c61gr.fd26
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c61gs.fd26
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c61gt.fd26
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c61hgt.fd24
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c61hmj.fd24
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c61hol.fd26
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c61hpg.fd24
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c61mj.fd24
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/c62song.fd22
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/hangul.cap74
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/hangul.cpx71
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/hangul2.cap74
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/hangul2.cpx71
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/hanja.cap74
-rw-r--r--Master/texmf-dist/tex/latex/cjk/KS/hanja.cpx71
-rw-r--r--Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.bdg162
-rw-r--r--Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cap84
-rw-r--r--Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.chr260
-rw-r--r--Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cpx81
-rw-r--r--Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.enc199
-rw-r--r--Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.chr253
-rw-r--r--Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.enc192
-rw-r--r--Master/texmf-dist/tex/latex/cjk/SJIS/c49song.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.bdg156
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.chr276
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.enc140
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fd21
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fdx318
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fd21
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fdx318
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/c70gbsn.fd21
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/c70gkai.fd21
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/c70mj.fd51
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/c70song.fd21
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/ja.cpx83
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang.cpx74
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang2.cpx74
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hani.cpx74
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.chr231
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.enc121
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hans.cpx86
-rw-r--r--Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hant.cpx86
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/README2
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c63mj.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c64mj.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c65mj.fd53
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fd22
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fdx66
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fdx66
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fd26
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fdx91
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fdx16
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fd23
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fdx16
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fdx137
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fd25
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fdx137
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fd28
-rw-r--r--Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fdx203
-rw-r--r--Master/texmf-dist/tex/latex/cjk/extended.chr219
-rw-r--r--Master/texmf-dist/tex/latex/cjk/extended.enc289
-rw-r--r--Master/texmf-dist/tex/latex/cjk/mule/MULEenc.sty501
-rw-r--r--Master/texmf-dist/tex/latex/cjk/pinyin.sty1223
-rw-r--r--Master/texmf-dist/tex/latex/cjk/pmC.chr98
-rw-r--r--Master/texmf-dist/tex/latex/cjk/pmCbig.enc133
-rw-r--r--Master/texmf-dist/tex/latex/cjk/pmCsmall.enc133
-rw-r--r--Master/texmf-dist/tex/latex/cjk/ruby.sty171
-rw-r--r--Master/texmf-dist/tex/latex/cjk/standard.bdg161
-rw-r--r--Master/texmf-dist/tex/latex/cjk/standard.chr203
-rw-r--r--Master/texmf-dist/tex/latex/cjk/standard.enc131
-rw-r--r--Master/texmf-dist/tex/latex/cjk/thai/c90cmr.fd24
-rw-r--r--Master/texmf-dist/tex/latex/cjk/thai/c90cmss.fd24
-rw-r--r--Master/texmf-dist/tex/latex/cjk/thai/c90cmtt.fd24
-rw-r--r--Master/texmf-dist/tex/latex/cjk/thai/c90enc.def110
-rw-r--r--Master/texmf-dist/tex/latex/cjk/thai/c90gar.fd34
-rw-r--r--Master/texmf-dist/tex/latex/cjk/thai/c90nrsr.fd34
-rw-r--r--Master/texmf-dist/tex/latex/cjk/thai/thaicjk.ldf89
-rw-r--r--Master/texmf-dist/tex/latex/cjk/xCJK.sty460
-rw-r--r--Master/texmf-dist/tex/latex/cjk/xpmC.chr96
-rw-r--r--Master/texmf-dist/tex/latex/cjk/xpmC.enc161
-rwxr-xr-xMaster/tlpkg/bin/ctan2tds41
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check4
-rw-r--r--Master/tlpkg/tlpsrc/cjk.tlpsrc8
-rw-r--r--Master/tlpkg/tlpsrc/wadalab.tlpsrc15
418 files changed, 80623 insertions, 13 deletions
diff --git a/Master/texmf-dist/doc/latex/cjk/ChangeLog b/Master/texmf-dist/doc/latex/cjk/ChangeLog
new file mode 100644
index 00000000000..3906abeadac
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/ChangeLog
@@ -0,0 +1,1972 @@
+2008-05-22 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.8.0 released
+ ======================
+
+ Set version to 4.8.0.
+
+ * doc/history.txt, doc/INSTALL, doc/TeXLive.txt, README: Updated.
+
+ Update headers in all text files.
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ current versions.
+
+ * utils/hbf2gf/configure: Regenerated with autoconf 2.62.
+
+2008-05-18 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile (DISTDIRS): We are now using git, not CVS.
+
+2008-05-18 Werner LEMBERG <wl@gnu.org>
+
+ * doc/history.txt: Mention xCJK.sty.
+
+2008-05-17 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJK@UnicodeEnc): New macro (so that xCJK.sty
+ can overwrite it).
+ * texinput/CJKnumb.sty: Use it.
+
+ * texinput/xCJK.sty: Simplify -- unicode mappings to other encodings
+ are no longer supported (since it hasn't worked for Big5 or GBK
+ anyway).
+
+ (\xCJK@xUTF): Removed.
+ (\CJKsymbol): Simplified.
+ (\toutf@XXX): Removed.
+ (\xCJK@CJKenc, \CJKenc): Removed.
+ (\CJK@envStart): Produce error if encoding is not `UTF8'.
+ Simplified.
+ (\xCJK@setenc, \CJK@xpmC, \xCJK@enc@UTF8, \xCJK@xUTF8@hook):
+ Removed.
+ (\CJK@xUTF8@hook, \CJK@UnicodeEnc): New macros.
+ (\xCJK@@char): Removed.
+ (\CJK@XXpdf): Simplified.
+ (\CJK@@XXpdf): Removed.
+
+ Add support for non-BMP Unicode.
+
+ (\CJK@nameppppdef): New macro.
+ (\xCJK@char): Redefined.
+ (\xCJK@@char, \xCJK@@@char): New macros.
+ (\CJK@XXp, \CJK@XXXp): Redefined.
+ (\CJK@XXXXp): New macro.
+
+ xdvipdfmx automatically handles UTF-8 encoded bookmarks.
+
+ (\xCJK@four, \xCJK@@@char, <\if@filesw>): Removed.
+
+ (\special): Use \utfout.
+
+2008-05-12 Danai SAE-HAN <danai.sae-han@edpnet.be>
+
+ * utils/hbf2gf/hbf2gf.1: Replace some `-' with `\-'.
+
+2008-03-10 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/hbf2gf.1: s|-|\-| where appropriate.
+
+2008-03-09 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile (XELATEX): Call xelatex twice.
+ (manpages): Increase font size to 11pt for DVI and PDF output.
+
+2008-03-09 Werner LEMBERG <wl@gnu.org>
+
+ Add support for EUC-JP with DNP font encoding.
+
+ * texinput/CJK.enc (\CJK@@@EUC-JPdnp@hook, \CJK@EUC-JPdnp@enc): New
+ macros.
+
+ * texinput/JIS/EUC-JPdnp.enc: New file.
+
+ * texinput/JIS/EUC-JP.chr (\CJK@shiftchar): Define \CJK@plane as
+ empty.
+
+ * doc/history.txt, MANIFEST: Updated.
+
+2008-03-09 Werner LEMBERG <wl@gnu.org>
+
+ Make \CJK@bold work with C49 encoding too. The idea is to handle
+ the font as a CJK font but with \CJK@plane set to empty.
+
+ * texinput/SJIS/SJIS.chr, texinput/SJIS/SJIdnp.chr (\CJK@sjischar):
+ Define \CJK@plane as empty.
+
+ * texinput/SJIS/c49song.fd: Use `CJK' size function.
+
+ * doc/history.txt: Updated.
+
+2008-03-03 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKutf8.sty, texinput/xCJK.sty,
+ texinput/mule/MULEenc.sty: Use \ProvidesPackage, not \ProvidesFile.
+
+2008-03-03 Werner LEMBERG <wl@gnu.org>
+
+ Better control for \baselinestretch with CJKvert.sty.
+
+ * texinput/CJKvert.sty (usebaselinestretch): New option.
+ (\CJKbaselinestretch): New macro.
+
+ * doc/history.txt, doc/vertical.txt: Document it.
+
+2008-02-11 Werner LEMBERG <wl@gnu.org>
+
+ * doc/xCJK.txt: New file.
+ * MANIFEST: Updated.
+
+2008-02-11 Werner LEMBERG <wl@gnu.org>
+
+ * doc/fonts.txt: Document installation of cyberbit.ttf.
+
+2008-02-05 Werner LEMBERG <wl@gnu.org>
+
+ Add SUN Wen-Chang's xCJK bundle.
+
+ * examples/xCJK.tex, texinput/UTF8/xUTF8.chr,
+ texinput/UTF8/xUTF8.enc, texinput/xCJK.sty, texinput/xpmC.chr,
+ texinput/xpmC.enc: New files.
+
+ * MANIFEST: Updated.
+
+ * Makefile (XELATEX): New macro.
+ (xCJK): New target.
+ (CJK2DVI, LATE2DVI): Simplify.
+
+2008-01-15 Gernot Hassenpflug <aikishugyo@gmail.com>
+
+ * contrib/wadalab/c70goth.fdx, contrib/wadalab/c70min.fdx,
+ contrib/wadalab/c70maru.fdx: Rotate more glyphs for vertical
+ typesetting.
+ Shift small kana for vertical typesetting.
+ Other minor improvements.
+
+2007-12-27 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/vertical.pe, utils/subfonts/vertref.pe: Abort if no
+ vertical glyph representation forms are available.
+
+2006-12-05 Werner LEMBERG <wl@gnu.org>
+
+ Make pinyin syllables work with \MakeUppercase and \MakeLowercase.
+
+ * pinyin.sty: Almost completely rewrite macro logic to replace e.g.
+ `\py@@@a' with `\py@ a' so that the argument gets handled by
+ \MakeUppercase.
+
+2006-12-04 Werner LEMBERG <wl@gnu.org>
+
+ Make pinyin syllables work with hyperref bookmarks.
+
+ * pinyin.sty: Use \AtBeginDocument hook to add missing characters to
+ PU encoding needed for pinyin syllables.
+ Use \AtBeginDocument hook to set up some replacement macros for
+ bookmarks.
+ (\py@hr@macron, \py@hr@v): New replacement macros for
+ bookmarks.
+
+2007-11-23 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.enc: Add punctuation tables for GBK encoding.
+
+2007-11-06 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/subfonts.pe, utils/subfonts/vertical.pe,
+ utils/subfonts/vertref.pe: Put current time stamp into copyright
+ string.
+ Need FontForge 20071105 or newer.
+
+2007-11-02 SUN Wenchang <sunwch@hotmail.com>
+
+ * texinput/CJKfntef.sty (\CJK@preUnderdot): Use \cdot (in math mode).
+ (\CJKxout): Use `/' in math mode.
+ (\CJKunderdotbasesep, \CJKunderdotsep): Adjusted.
+
+2007-10-26 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/vertical.pe: Use glyph names of the horizontal
+ representation glyphs with an appended `.vert'. This makes dvipdfmx
+ automatically create a correct /ToUnicode CMap.
+
+2007-10-25 Werner LEMBERG <wl@gnu.org>
+
+ Provide final fix for patch 2007-10-04.
+
+ * utils/subfonts/makefdx.pl: Provide flag `-u' to produce a CMap
+ macro in the FDX file.
+ Don't specify FDX file directly on the command line but give family
+ name and encoding separately which are then concatenated to give the
+ FDX name (we need the family name separately).
+ Add code to produce a macro which provides a /ToUnicode CMap entry
+ as needed by pdfTeX.
+ Fix loop to not omit last glyph.
+
+ * texinput/UTF8/c70bsmi.fdx, texinput/UTF8/c70bkai.fdx: Regenerated.
+ These now provide the macros \CJK@cmap@bsmiv and \CJK@cmap@bkaiv,
+ respectively.
+
+ * texinput/CJKutf8.sty (\pickup@font): Call `\CJK@cmap@...' if it
+ exists.
+
+2007-10-04 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKutf8.sty (\pickup@font): Disable generation of
+ ToUnicode cmap for `v' subfont (which holds vertical representation
+ glyphs). This is a temporary hack; the right solution is to modify
+ makefdx.pl so that it creates a ToUnicode macro for the specific
+ font; \CJK@addcmap should be then modified to use this macro instead
+ of autogenerating a cmap.
+
+ Problem reported by Edward G.J. Lee.
+
+2007-09-10 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/vertical.pe, utils.subfonts/vertref.pe: Adapt to
+ FontForge version 2007-Sep-10 and newer.
+
+2007-07-26 Gernot Hassenpflug <gernot@nict.go.jp>
+
+ * contrib/wadalab/c70goth.fdx, contrib/wadalab/c70min.fdx,
+ contrib/wadalab/c70maru.fdx: New files to support vertical writing
+ with Unicode encoded Wadalab fonts.
+
+2007-07-07 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\ding): Rename to...
+ (\py@ding): This to make \ding work actually.
+
+2007-05-04 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKvert.sty (\CJKsymbol): Honour \CJKhdef{offset}{...}.
+ * doc/fdxfiles.txt, doc/history.txt: Document it.
+
+2007-04-08 Werner LEMBERG <wl@gnu.org>
+
+ * utils/pyhyphen/pyhyph.tex: Replace latin-1 characters with
+ ^^xx sequences. Suggested by David Kastrup.
+
+ * doc/cjk-enc.txt: Document special space handling for Emacs quail
+ input methods.
+
+2006-11-06 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\py@macron, \py@@@v): Support T5 encoding.
+ * doc/history.txt: Document it.
+
+2006-10-31 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.txt, doc/CJKutf8.txt: Mention Byte Order Mark in UTF-8.
+
+2006-10-19 Werner LEMBERG <wl@gnu.org>
+
+ * doc/TeXLive.txt, MANIFEST: Minor fixes.
+
+ * Makefile (DVI2PDF): Add argument for paper format.
+ (CONVERT, MULE, LATEX): Add optional argument for paper format;
+ default to `letter'.
+ (manpages, cweb): Use letter paper format.
+ (READMEb5): Use A4 paper.
+
+ * examples/README: Minor fix.
+
+2006-10-17 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.7.0 released
+ ======================
+
+ Set version to 4.7.0.
+
+ * doc/history.txt, doc/INSTALL, doc/TeXLive.txt, README: Updated.
+
+ Update headers in all text files.
+
+2006-10-09 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile (abs-distdir): Fix assignment.
+ (distdoc): Remove generated C files.
+
+ * utils/hbf2gf/hbf2gf.1: s/`/\(oq/ and s/'/\(cq/ where appropriate.
+
+2006-10-06 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJKutf8.txt, doc/history.txt: Minor additions.
+ * MANIFEST: Sorted and updated.
+
+2006-10-05 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKutf8.sty (\CJK@surr): Use \expandafter to make
+ \uppercase work actually.
+
+ * texinput/CJK.sty (\CJK@makeActive, \CJK@makeInactive): Handle 0x80
+ also (which is needed for UTF8).
+
+2006-10-05 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKutf8.sty (\CJK@surr): New function.
+ (\CJK@addcmap): Use \CJK@surr so that values > U+FFFF are correctly
+ represented as surrogates.
+
+2006-09-30 Werner LEMBERG <wl@gnu.org>
+
+ In CJKutf8.sty, add ToUnicode cmaps for pdfTeX. Note, however, that
+ it currently fails with virtual fonts: pdftex 3.141592-1.30.4-2.2
+ can't resolve them to the used base fonts.
+
+ * texinput/CJKutf8.sty: Require ifpdf package.
+ (\pickup@font) [\ifpdf]: Redefine, adding a call to CJK@addcmap.
+ (\CJK@addcmap) [\ifpdf]: New function.
+
+ * doc/history.txt: Updated.
+
+2006-09-16 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJK@ifundefined): New macro.
+ Update all affected files where possible to use it instead of
+ \@ifundefined. This fixes a bug reported by Danai which made
+ \chapter work in the `scrartcl' article class (instead of
+ reporting an error) after using a CJK caption file.
+
+ * *.cap, *.cpx: Don't redefine \thepart but use its previous
+ definition for \partformat. This fixes a bug reported by Danai
+ which produced bad TOC entries.
+
+ * doc/history.txt: Updated.
+
+2006-09-12 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/UTF8/ko-Hanj.cpx: Renamed to...
+ * texinput/UTF8/ko-Hani.cpx: This to use the correct ISO 15924
+ script tag.
+
+ * doc/history.txt, doc/CJK.txt: Updated.
+
+2006-09-08 Werner LEMBERG <wl@gnu.org>
+
+ Add caption files for UTF8 encoding.
+
+ * texinput/UTF8/{ja,ko-Hang,ko-Hang2,ko-Hanj,zh-Hans,zh-Hant}.cap:
+ New files.
+
+ * doc/history.txt, doc/CJK.txt: Mention them.
+
+2006-08-31 Werner LEMBERG <wl@gnu.org>
+
+ Reimplement the \CJKbold mechanism to call the last argument of
+ \DeclareFontShape each time the font is selected only if a CJK size
+ function has been used. This fixes shape declarations like the ones
+ in the fourier package which rely on being called only once.
+
+ * texinput/CJK.sty (\CJK@curr@fontshape): New macro.
+ (\CJK@empty, \CJK@fixed, \CJK@sub, \CJK@DNPgen, \CJK@DNP): Define a
+ macro where the name is the argument of \CJK@curr@fontshape.
+ (\selectfont): Execute macro where the name is the argument of
+ \CJK@curr@fontshape only if it exists.
+
+ * doc/history.txt, doc/CJK.txt: Mention it.
+
+2006-08-29 Danai SAE-HAN <danai.sae-han@skynet.be>
+
+ * utils/subfonts/hlatex2agl.pl: Make it accept a third parameter
+ which specifies the used SFD file.
+ (process_afmfile, process_pfbfile): Add minor tweaks to handle fonts
+ generated with other tools than FontForge.
+
+2006-08-29 Werner LEMBERG <wl@gnu.org>
+
+ * utils/Bg5conv/bg5conv.w, utils/extconv/extconv.w,
+ utils/hbf2gf/hbf2gf.w, utils/CEFconv/cefconv.w,
+ utils/CEFconv/cef5conv.w, utils/CEFconv/cefsconv.w,
+ utils/SJISconv/sjisconv.w: s/@/@@/ in email address.
+
+ * utils/Bg5conv/bg5conv.c, utils/extconv/extconv.c,
+ utils/hbf2gf/hbf2gf.c, utils/CEFconv/cefconv.c,
+ utils/CEFconv/cef5conv.c, utils/CEFconv/cefsconv.c,
+ utils/SJISconv/sjisconv.c: Removed. These files are now generated
+ by the Makefile.
+
+ * Makefile (version): Set to 4.7.0.
+ (CJK2DVI, LATEX2DVI): Add `texlive' subdirectory
+ (distsrc): Build .c from .w files.
+
+2006-08-28 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/*: Add various replacement files for TeXLive.
+
+2006-08-17 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.txt: Mention problem with fourier.sty.
+
+2006-08-01 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.txt: Mention problems with UTF-8.
+
+2006-07-30 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/DNP.txt: Fix patch for wftodm.c.
+
+2006-04-25 Danai SAE-HAN <danai.sae-han@skynet.be>
+
+ * <many files>: Add GPL.
+ * MANIFEST: New file.
+
+2006-03-25 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKutf8.sty (\pdfstringdefPreHook): Don't overwrite but
+ prepend to this macro.
+
+2006-03-23 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/hlatex2agl.pl: New script (which has been used
+ to create the Korean fonts in TeXLive 2005).
+
+
+ * texinput/CJKutf8.sty: Add support for Unicode bookmarks.
+ (\CJK@UnicodeFourBytesFirst, \CJK@UnicodeFourBytesSecond,
+ \CJK@UnicodeFourBytesThird, \CJK@UnicodeThreeBytesFirst,
+ \CJK@UnicodeThreeBytesSecond, \CJK@UnicodeTwoBytesFirst,
+ \CJK@UnicodeLast): New macros to convert UTF-8 into UTF-16BE.
+ (\CJK@XXpdf, \CJK@XXXpdf, \CJK@XXXXpdf): Replacements for the
+ \CJK@XX, \CJK@XXX, and \CJK@XXXX macros, respectively.
+ (\pdfstringdefPreHook): Activate them.
+
+2006-03-22 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/KS/HLaTeX/c63sh.fd, texinput/KS/HLaTeX/c64sh.fd,
+ texinput/KS/HLaTeX/c65sh.fd: Fix font declaration. Bug reported by
+ Danai SAE-HAN <danai.sae-han@skynet.be>.
+
+2006-02-20 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/UTF8/UTF8.bdg: Bugfix: Handle 0x80 also.
+
+ * doc/history.txt: Mention it.
+
+2006-02-09 Werner LEMBERG <wl@gnu.org>
+
+ Support complete Unicode range (up to U+10FFFF).
+
+ * texinput/UTF8/UTF8.bdg: Handle leading characters 0xF0-0xF4.
+
+ * texinput/UTF8/UTF8.enc: Ditto.
+
+ * texinput/UTF8/UTF8.chr (\CJK@altxchar): New macro for four-byte
+ Unicode values.
+
+ * texinput/CJK.enc (\CJK@unicodexError): New error macro.
+
+ * texinput/CJK.sty (\CJK@numbxToHex): New auxiliary macro to convert
+ a number to a four-digit hex number string.
+ (\Unicode): Accept values greater than U+FFFF.
+
+ * doc/command.txt, doc/CJK.txt: Document extended \Unicode (and
+ \CJKchar) command.
+ * doc/history.txt: Updated.
+
+2006-01-23 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.enc (\CJK@HK@enc): Load `HK' encoding, not `Bg5'.
+ Use \def, not \@namedef.
+
+ * doc/CJK.txt: Mention `HKtext' environment.
+
+2006-01-22 Werner LEMBERG <wl@gnu.org>
+
+ Add new encoding `HK' (C05) for Hong Kong's HKSCS-2004.
+
+ * texinput/Bg5/HK.enc, texinput/Bg5/c05song.fd: New files.
+ * texinput/CJK.enc: Add support for `HK' (C05).
+ * texinput/CJKnumb.sty: Handle `HK'.
+
+ * doc/CJK.txt: Bg5+ *cannot* be used for HKSCS. Fix this.
+ * doc/history.txt: Document `HK' encoding.
+
+2006-01-19 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.txt: Mention usage of Bg5+ for HKSCS-2001/HKSCS-2004.
+
+2006-01-04 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\PYding): New \let.
+ (\PYactivate, \PYdeacticate): Handle \ding (from pifont.sty).
+
+ * doc/pinyin.tex: Document possible problems with pifont.sty.
+
+ * doc/history.txt: Updated.
+
+2005-12-27 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/cfg/csso12.cfg: Fix typo.
+
+2005-10-31 Danai SAE-HAN <danai.sae-han@skynet.be>
+
+ * utils/subfonts/makefdx.pl: Provide header for output.
+ Add \CJKvlet lines.
+
+2005-08-19 Werner LEMBERG <wl@gnu.org>
+
+ * doc/TeXLive.txt: New file, describing the relationship between
+ CJK files and TeXLive packages.
+
+2005-08-18 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Define \CJK@verbatim correctly if not
+ already defined. Reported by Andre Dierker.
+
+ * doc/pdf/*: Move to...
+ * doc/pdfhowto/*: This.
+
+2005-08-11 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.6.0 released
+ ======================
+
+ Set version to 4.6.0.
+
+ * doc/history.txt, doc/INSTALL, Makefile (version): Updated.
+
+ Update headers in all text files.
+
+2005-08-10 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CEF.txt, doc/CJK.txt, doc/CJKutf8.txt, doc/INSTALL,
+ doc/TDS.txt, doc/cjk-enc.txt, doc/commands.txt, doc/dvidrv.txt,
+ doc/fonts.txt, doc/hbf2gf.txt, doc/history.2_5, doc/history.txt,
+ doc/pinyin.txt, doc/pyhyphen.txt, doc/ruby.txt, doc/thaifont.txt,
+ doc/vertical.txt: Updated and revised.
+
+2005-08-05 Werner LEMBERG <wl@gnu.org>
+
+ * COPYING: Updated to new FSF address.
+
+2005-08-05 Werner LEMBERG <wl@gnu.org>
+
+ After email exchange with Ross Paterson, the old (too restrictive)
+ license of the hbf module has been changed to the three-clause BSD
+ license -- Ross no longer maintains and distributes this code.
+
+ * utils/hbf2gf/hbf.c: Change license to BSD.
+ (strdup) [WIN32]: Define. Change taken from teTeX distribution.
+
+ * utils/hbf2gf/hbf.h: Change license to BSD.
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ current versions.
+
+ * utils/hbf2gf/configure: Regenerated with autoconf 2.59b.
+
+2005-08-04 Werner LEMBERG <wl@gnu.org>
+
+ Update files to compile with the forthcoming TeXLive 2005.
+
+ * doc/README: Updated, extended.
+
+ * examples/muletest.tex: Updated to new VnTeX (for Vietnamese).
+ Use type1ec.sty.
+ Suppress hyphenation.
+
+ * examples/CJKbabel.tex: Don't use t5.sty but `vietnam' option of
+ babel.
+ Use type1ec.sty.
+
+ * examples/CJKmixed.tex: Define and use `TChinese' environment.
+ Call \CJKhorz at the beginning of document.
+
+ * examples/CJKutf8.tex: Don't use cyberbit but the new Unicode
+ (virtual) fonts of gbsn, bsmi, and mj.
+
+ * texinput/Bg5/c00bsmi.fdx: Updated to new bsmi vertical glyph font.
+
+ * texinput/Bg5/c00bkai.fdx: New file.
+
+ * texinput/UTF8/c70bkai.fd, texinput/UTF8/c70bkai.fdx,
+ texinput/UTF8/c70bsmi.fd, texinput/UTF8/c70bsmi.fdx,
+ texinput/UTF8/c60gbsn.fd, texinput/UTF8/c70gkai.fd,
+ texinput/UTF8/c70mj.fd: New files.
+
+ * utils/pyhyphen/pytest.tex: Usae type1ec.sty.
+
+ * Makefile: Add rules for new example and documentation files.
+ (version): Set top 4.5.3.
+ (CJK2DVI, LATEX2DVI): Add `utils/pyhyphen' to TEXINPUTS variable.
+ (DVI2PS): Replace it with...
+ (DVI2PDF): New variable.
+ Update all callers.
+ (MULE): Add path to `cjk-enc.el' while calling emacs.
+ (DISTTARGETS): Add new example and documentation files.
+ (predistdoc): Don't create `ps' but `pdf' subdirectories.
+ (manpages): Add `-ww' option to groff.
+ Don't create `ps' but `pdf' files.
+ (cweb): Don't create `ps' but `pdf' file.
+
+2005-08-04 Werner LEMBERG <wl@gnu.org>
+
+ * doc/*.doc, doc/japanese/*.doc, doc/chinese/*.doc,
+ contrib/wadalab/DNP.doc: Renamed to ...
+ * doc/*.txt, doc/japanese/*.txt, doc/chinese/*.txt,
+ contrib/wadalab/DNP.txt: This.
+
+ Update all references.
+
+2005-08-03 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKvert.sty (\CJKvert, \CJKhorz): Make commands act
+ completely local.
+ * doc/history.txt: Mention it.
+
+ * doc/pdf/HOWTO.txt: Mention new $SFDFONTS variable from TDS 1.1.
+
+2005-08-02 Werner LEMBERG <wl@gnu.org>
+
+ Update of HLaTeX support to version 1.0.1.
+
+ * texinput/KS/HLaTeX/c63mg.fd, texinput/KS/HLaTeX/c63mgt.fd,
+ texinput/KS/HLaTeX/c63mmj.fd, texinput/KS/HLaTeX/c63mnv.fd,
+ texinput/KS/HLaTeX/c63msr.fd, texinput/KS/HLaTeX/c63ol.fd,
+ texinput/KS/HLaTeX/c63pbm.fd, texinput/KS/HLaTeX/c63pgr.fd,
+ texinput/KS/HLaTeX/c63pgs.fd, texinput/KS/HLaTeX/c63pgt.fd,
+ texinput/KS/HLaTeX/c63pmg.fd, texinput/KS/HLaTeX/c63pmgt.fd,
+ texinput/KS/HLaTeX/c63pmj.fd, texinput/KS/HLaTeX/c63pmmj.fd,
+ texinput/KS/HLaTeX/c63pmnv.fd, texinput/KS/HLaTeX/c63pmsr.fd,
+ texinput/KS/HLaTeX/c63pol.fd, texinput/KS/HLaTeX/c63ppg.fd,
+ texinput/KS/HLaTeX/c63ppn.fd, texinput/KS/HLaTeX/c63psm.fd,
+ texinput/KS/HLaTeX/c63ptt.fd, texinput/KS/HLaTeX/c63pyt.fd,
+ texinput/KS/HLaTeX/c63sm.fd, texinput/KS/HLaTeX/c63tt.fd,
+ texinput/KS/HLaTeX/c64mg.fd, texinput/KS/HLaTeX/c64mgt.fd,
+ texinput/KS/HLaTeX/c64mmj.fd, texinput/KS/HLaTeX/c64mnv.fd,
+ texinput/KS/HLaTeX/c64msr.fd, texinput/KS/HLaTeX/c64ol.fd,
+ texinput/KS/HLaTeX/c64pbm.fd, texinput/KS/HLaTeX/c64pgr.fd,
+ texinput/KS/HLaTeX/c64pgs.fd, texinput/KS/HLaTeX/c64pgt.fd,
+ texinput/KS/HLaTeX/c64pmg.fd, texinput/KS/HLaTeX/c64pmgt.fd,
+ texinput/KS/HLaTeX/c64pmj.fd, texinput/KS/HLaTeX/c64pmmj.fd,
+ texinput/KS/HLaTeX/c64pmnv.fd, texinput/KS/HLaTeX/c64pmsr.fd,
+ texinput/KS/HLaTeX/c64pol.fd, texinput/KS/HLaTeX/c64ppg.fd,
+ texinput/KS/HLaTeX/c64ppn.fd, texinput/KS/HLaTeX/c64psm.fd,
+ texinput/KS/HLaTeX/c64ptt.fd, texinput/KS/HLaTeX/c64pyt.fd,
+ texinput/KS/HLaTeX/c64sm.fd, texinput/KS/HLaTeX/c64tt.fd,
+ texinput/KS/HLaTeX/c65mg.fd, texinput/KS/HLaTeX/c65mgt.fd,
+ texinput/KS/HLaTeX/c65mmj.fd, texinput/KS/HLaTeX/c65mnv.fd,
+ texinput/KS/HLaTeX/c65msr.fd, texinput/KS/HLaTeX/c65ol.fd,
+ texinput/KS/HLaTeX/c65pbm.fd, texinput/KS/HLaTeX/c65pgr.fd,
+ texinput/KS/HLaTeX/c65pgs.fd, texinput/KS/HLaTeX/c65pgt.fd,
+ texinput/KS/HLaTeX/c65pmg.fd, texinput/KS/HLaTeX/c65pmgt.fd,
+ texinput/KS/HLaTeX/c65pmj.fd, texinput/KS/HLaTeX/c65pmmj.fd,
+ texinput/KS/HLaTeX/c65pmnv.fd, texinput/KS/HLaTeX/c65pmsr.fd,
+ texinput/KS/HLaTeX/c65pol.fd, texinput/KS/HLaTeX/c65ppg.fd,
+ texinput/KS/HLaTeX/c65ppn.fd, texinput/KS/HLaTeX/c65psm.fd,
+ texinput/KS/HLaTeX/c65ptt.fd, texinput/KS/HLaTeX/c65pyt.fd,
+ texinput/KS/HLaTeX/c65sm.fd, texinput/KS/HLaTeX/c65tt.fd: Removed.
+
+ * texinput/KS/HLaTeX/c63dn.fd, texinput/KS/HLaTeX/c63jgt.fd,
+ texinput/KS/HLaTeX/c63jmj.fd, texinput/KS/HLaTeX/c63jnv.fd,
+ texinput/KS/HLaTeX/c63jsr.fd, texinput/KS/HLaTeX/c63pga.fd,
+ texinput/KS/HLaTeX/c63ph.fd, texinput/KS/HLaTeX/c63sh.fd,
+ texinput/KS/HLaTeX/c63tz.fd, texinput/KS/HLaTeX/c63vd.fd,
+ texinput/KS/HLaTeX/c64dn.fd, texinput/KS/HLaTeX/c64jgt.fd,
+ texinput/KS/HLaTeX/c64jmj.fd, texinput/KS/HLaTeX/c64jnv.fd,
+ texinput/KS/HLaTeX/c64jsr.fd, texinput/KS/HLaTeX/c64pga.fd,
+ texinput/KS/HLaTeX/c64ph.fd, texinput/KS/HLaTeX/c64sh.fd,
+ texinput/KS/HLaTeX/c64tz.fd, texinput/KS/HLaTeX/c64vd.fd,
+ texinput/KS/HLaTeX/c65dn.fd, texinput/KS/HLaTeX/c65jgt.fd,
+ texinput/KS/HLaTeX/c65jmj.fd, texinput/KS/HLaTeX/c65jnv.fd,
+ texinput/KS/HLaTeX/c65jsr.fd, texinput/KS/HLaTeX/c65pga.fd,
+ texinput/KS/HLaTeX/c65ph.fd, texinput/KS/HLaTeX/c65sh.fd,
+ texinput/KS/HLaTeX/c65tz.fd, texinput/KS/HLaTeX/c65vd.fd: New files.
+
+ * texinput/KS/HLaTeX/c63bm.fd, texinput/KS/HLaTeX/c63gr.fd,
+ texinput/KS/HLaTeX/c63gs.fd, texinput/KS/HLaTeX/c63gt.fd,
+ texinput/KS/HLaTeX/c63mj.fd, texinput/KS/HLaTeX/c63pg.fd,
+ texinput/KS/HLaTeX/c63pn.fd, texinput/KS/HLaTeX/c63yt.fd,
+ texinput/KS/HLaTeX/c64bm.fd, texinput/KS/HLaTeX/c64gr.fd,
+ texinput/KS/HLaTeX/c64gs.fd, texinput/KS/HLaTeX/c64gt.fd,
+ texinput/KS/HLaTeX/c64mj.fd, texinput/KS/HLaTeX/c64pg.fd,
+ texinput/KS/HLaTeX/c64pn.fd, texinput/KS/HLaTeX/c64yt.fd,
+ texinput/KS/HLaTeX/c65bm.fd, texinput/KS/HLaTeX/c65gr.fd,
+ texinput/KS/HLaTeX/c65gs.fd, texinput/KS/HLaTeX/c65gt.fd,
+ texinput/KS/HLaTeX/c65mj.fd, texinput/KS/HLaTeX/c65pg.fd,
+ texinput/KS/HLaTeX/c65pn.fd, texinput/KS/HLaTeX/c65yt.fd: Updated.
+
+ * texinput/KS/HLaTeX/pshan.sty: No longer needed. Make it empty for
+ backwards compatibility.
+
+ * texinput/CJK.enc (\CJK@KSHL@enc): Updated.
+
+ * doc/history.txt, doc/CJK.doc: Updated.
+
+2005-08-01 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfont/uni2sfd.pl (read_tfmfile): Fix reading CHARWD,
+ CHARHT, and CHARDP.
+
+2005-07-31 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfont/sfd2uni.pl: New script to produce Unicode virtual
+ subfonts from encoding specific subfonts.
+
+2005-07-29 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/DNP.sfd: Fix typo. Found by Shunsaku Hirata.
+ * contrib/wadalab/fixwada2.pl: Since Wadalab fonts have already
+ been uploaded to CTAN, and the bug in DNP.sfd makes it necessary to
+ regenerate the fonts, and to update the version number and creation
+ date.
+
+2005-07-18 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/makefdx.pl, utils/subfonts/uni2sfd.pl: Fix typos.
+
+ * utils/subfonts/clonevf.pl: New script to produce a VF clone of
+ a TFM file.
+
+2005-07-18 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/makefdx.pl: New script to create FDX entries.
+
+2005-07-17 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/subfonts.pe, utils/subfonts/uni2sfd.pl,
+ utils/subfonts/vertical.pe, utils/vertref.pe: New perl and FontForge
+ scripts for creating and handling subfonts.
+
+2005-07-12 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/fixwada2.pl, contrib/wadalab/makeuniwada.pl: New
+ scripts which fix glyph names and create virtual Unicode fonts for
+ the Wadalab font families.
+
+ * contrib/wadalab/DNP.sfd: A subfont definition file used by
+ `fixwada2.pl' and `makeuniwada.pl'.
+
+ * contrib/wadalab/c70goth.fd, contrib/wadalab/c70maru.fd,
+ contrib/wadalab/c70min.fd: New font definition files for Wadalab
+ fonts in Unicode encoding.
+
+ * contrib/wadalab/DNP.doc: Completely revised and updated.
+
+2005-07-07 Werner LEMBERG <wl@gnu.org>
+
+ * doc/history.txt: Updated.
+
+2005-07-05 Werner LEMBERG <wl@gnu.org>
+
+ * utils/thaifont/tools/c90.etx: Fix some typos.
+
+2005-07-04 Werner LEMBERG <wl@gnu.org>
+
+ Update Thai support:
+
+ . Use fontinst. We no longer need virtual fonts.
+ . Replace support for dbtt (which has an uncertain license) with
+ garuda.
+ . Update to TDS 1.1.
+
+ * utils/thaifont/texmf/dvips/base/dbtt.enc: Removed.
+ * utils/thaifont/texmf/dvips/config/config.dbtt: Removed.
+ * utils/thaifont/texmf/dvips/config/dbtt.map: Removed.
+ * utils/thaifont/texmf/fonts/tfm/public/dbtt/*: Removed.
+ * utils/thaifont/texmf/fonts/vf/public/dbtt/*: Removed.
+
+ * utils/thaifont/texmf/dvips/base/norasi.enc: Removed.
+ * utils/thaifont/texmf/dvips/config/config.norasi: Move to...
+ * utils/thaifont/texmf/dvips/norasi/config.norasi: Here.
+ * utils/thaifont/texmf/dvips/config/norasi.map: Moved to...
+ * utils/thai/font/texmf/fonts/map/dvips/norasi/norasi.map: Here.
+ Updated.
+ * utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr9z,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb9z,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbo9z,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftno9z: Removed.
+ * utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr8z,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb8z,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbo8z,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftno8z: Updated.
+ * utils/thaifont/texmf/fonts/vf/public/norasi/*: Removed.
+
+ * utils/thaifont/texmf/dvips/garuda/config.garuda: New file.
+ * utils/thaifont/texmf/fonts/map/dvips/garuda/garuda.map: New file.
+ * utils/thaifont/texmf/fonts/tfm/public/garuda/fgdr8z,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdb8z,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdbo8z,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdo8z: New files.
+
+ * utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc: New file,
+ generated by fontinst.
+
+ * utils/thaifont/tools/c90.etx: New file.
+ * utils/thaifont/tools/c90.mtx: New file.
+ * utils/thaifont/tools/garuda.fontinst: New file.
+ * utils/thaifont/tools/norasi.fontinst: New file.
+ * utils/thaifont/tools/INSTALL: New file.
+ * utils/thaifont/tools/dbtt-old/*: New files.
+ * utils/thaifont/tools/README: Removed.
+ * utils/thaifont/tools/thai-dummy.afm: Removed.
+ * utils/thaifont/tools/thai.enc: Removed.
+ * utils/thaifont/tools/thailigs.vpl: Removed.
+
+ * texinput/thai/c90cmss.fd, texinput/thai/c90cmtt.fd,
+ texinput/thai/c90nrsr.fd: Updated.
+ * texinput/thai/c90dbss.fd: Removed.
+ * texinput/thai/c90gar.fd: New file.
+
+2005-06-27 Werner LEMBERG <wl@gnu.org>
+
+ Remove the `rotate' keyword for vertical typesetting and introduce
+ the opposite, `norotate'.
+
+ * texinput/Bg5/c00bsmir.fdx, texinput/Bg5/c00kair.fdx: New files.
+
+ * doc/fdxfiles.doc, doc/vertical.doc, texinput/Bg5/c00bsmi.fdx,
+ texinput/GB/c10gbsn.fdx, texinput/CJKvert.sty: Updated.
+
+2005-06-25 Werner LEMBERG <wl@gnu.org>
+
+ * examples/CJKmixed.tex: New example file to demonstrate how to
+ use CJK scripts vertically and horizontally at the same time.
+
+2005-06-24 Werner LEMBERG <wl@gnu.org>
+
+ * doc/vertical.doc: Mention that you need an `.fdx' file if you
+ want to use rotated glyphs for vertical typesetting.
+
+2005-05-23 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.doc: Improve documentation of `encapsulated' option.
+ Suggested by Brian Murphy.
+
+2005-04-26 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/UTF8/UTF8.chr (\CJK@punctchar): Wrap code after \usefont
+ into three groups to make it work with CJKulem.sty.
+
+ * texinput/CJKutf8.sty, examples/CJKutf8.tex, doc/CJKutf8.doc: New
+ files.
+
+ * doc/history.txt: Updated.
+
+2005-04-22 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs/cjk-enc.el (cjk-viscii-lower, cjk-viscii-upper),
+ utils/lisp/mule-2.3/cjk-enc.el (cjk-viscii-lower, cjk-viscii-upper):
+ Update to next vntex version which no longer uses dblaccnt.sty.
+
+2005-03-27 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJKspace): Don't use \relax but \@empty.
+
+2005-03-02 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.doc: Mention `CJKbookmarks' option of hyperref package.
+
+2005-02-23 Werner LEMBERG <wl@gnu.org>
+
+ * README: Updated. No public CVS access possible currently.
+
+2004-07-26 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs/thai-word.el (thai-word-table): Use Thai word
+ list from IBM's ICU4J project; it is slightly larger and uses an
+ X license.
+
+2004-07-25 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20.3/*: Moved to...
+ * utils/lisp/emacs/*: This.
+
+ * utils/thaifont/tools/thai.enc: Minor updates. Will be replaced
+ with a fontinst solution soon.
+
+2004-06-08 Werner LEMBERG <wl@gnu.org>
+
+ * doc/reftex.doc: New file.
+ * doc/history.txt: Updated.
+
+2004-06-07 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-write-all-files): Handle
+ case where files are in other directories. Bug reported by Hartwig
+ Crailsheim.
+
+ * doc/cjk-enc.doc, doc/history.txt: Updated.
+
+2004-06-04 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/c42goth.fdx, contrib/wadalab/c42maru.fdx,
+ contrib/wadalab/c42min.fdx: Don't rotate the Hiragana-Katagana
+ prolongation mark.
+
+ * doc/vertical.doc: Updated.
+ Move text describing .fdx files to...
+ * doc/fdxfiles.doc: New file.
+
+ * texinput/CJK.sty: Minor spelling improvements.
+
+2004-06-03 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/DNP.doc: Improve patch for wftodm.c.
+
+2004-04-29 Werner LEMBERG <wl@gnu.org
+ Wenchang Sun <sunwch@hotmail.com>
+
+ Add a style file for various CJK font effects.
+
+ * texinput/CJKfntef.sty, examples/CJKfntef.tex: New files.
+ * doc/CJK.doc, doc/history.txt: Document it.
+
+2004-03-13 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/*.enc: Replace \relax with \@empty in the \CJK@namegdef
+ assignments to assure that we only have expansion at this macro
+ level.
+
+ * doc/history.txt: Updated.
+
+2004-02-08 Werner LEMBERG <wl@gnu.org>
+
+ Bug fix: Umlaut u with diacritic appears bold.
+
+ * texinput/pinyin.sty (\py@@@v): Apply kerning at correct place.
+
+2004-02-07 Werner LEMBERG <wl@gnu.org>
+
+ Bug fix: Umlaut u with macron above was broken.
+
+ * texinput/pinyin.sty (\py@macron): Add second argument to
+ initialize \dimen@. Update all callers.
+
+2004-02-06 Werner LEMBERG <wl@gnu.org>
+
+ Bug fix: Use user-defined \CJKglue value.
+
+ * texinput/CJKulem.sty (\CJK@skip): New skip register.
+ (\UL@CJKglue): Use it.
+ (\UL@hook): Initialize \CJK@skip.
+ Move assignments of \LA@CJKglue, \LA@Thaiglue, and \LA@Thaibreak
+ to here.
+
+2004-02-05 Wenchang Sun <sunwch@hotmail.com>
+
+ Bug fix: Disable line breaks before a post-punctuation CJK glyph
+ when \uline, \uwave, etc., are used.
+
+ * texinput/CJK.sty (\CJKnobreakglue): New macro.
+ (\Unicode): Use it.
+
+ * texinput/CJKulem.sty (\UL@CJKnobreakglue): New macro.
+
+ * texinput/standard.chr, texinput/extended.chr, texinput/pmC.chr,
+ texinput/Bg5/bg5.chr, texinput/JIS/EUC-JP.chr,
+ texinput/SJIS/SJIS.chr, texinput/SJIS/SJISdnp.chr,
+ texinput/UTF8/UTF8.chr, texinput/CNS/EUC-TW.chr (\CJK@char,
+ \CJK@charx, \CJK@punctchar, \CJK@punctcharx): Use \CJKnobreakglue.
+
+2004-02-02 Hin-Tak Leung <htl10@users.sourceforge.net>
+
+ * doc/pdf/*: New directory tree documenting usage of CJK for
+ improved PDF output.
+ * doc/history.txt: Document it.
+
+2004-01-29 Wenchang Sun <sunwch@hotmail.com>
+
+ * texinput/CJK.sty (\CJKpunctsymbol): New \let to \CJKsymbol.
+
+ * texinput/standard.chr, texinput/extended.chr, texinput/pmC.chr,
+ texinput/Bg5/bg5.chr, texinput/JIS/EUC-JP.chr, texinput/KS/KS.chr,
+ texinput/SJIS/SJIS.chr, texinput/SJIS/SJISdnp.chr,
+ texinput/UTF8/UTF8.chr, texinput/CNS/EUC-TW.chr (\CJK@punctchar,
+ \CJK@punctcharx): Replace \CJKsymbol with \CJKpunctsymbol.
+
+2003-10-12 Werner LEMBERG <wl@gnu.org>
+
+ A first step to allow modification of horizontal character widths
+ which is needed for CJK fonts which don't have punctuation glyphs
+ centered within the CJK square. The same mechanism will work with
+ vertical glyphs also; since a common interface will differ from the
+ current implementation, *.fdv files are renamed to *.fdx. Note that
+ special character width handling of punctuation characters is still
+ missing.
+
+ * texinput/CJK.sty (\CJK@load@fdx): New function, used as a hook
+ for \try@load@fontshape. It defines the macros \CJKhdef, \CJKhlet,
+ \CJKvdef, and \CJKvlet. The writing direction is appended to the
+ character macros -- this also fixes a bug for vertical writing
+ support with Big5 encoding (some characters disappeared in the
+ output without any warning due to character macro name clashes with
+ the subfont macro names).
+ (\CJK@direction): New macro to select the writing direction.
+ (\ifCJK@vertical@): Moved to CJKvert.sty.
+
+ * texinput/CJKvert.sty (\ifCJK@vertical@): Moved from CJK.sty.
+ (\CJKvert, \CJKhorz): Set \CJK@direction.
+ (\CJKsymbol): Updated to use writing direction.
+ (\CJK@load@fdv): Removed.
+
+ * texinput/*.chr: Simplified since \ifCJK@vertical@ is no longer
+ needed.
+
+ * texinput/*.fdv, contrib/wadalab/*.fdv: Renamed to...
+ * texinput/*.fdx, contrib/wadalab/*.fdx: This.
+
+2003-10-25 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Fix positions of \texordfeminine and
+ \textordmasculine.
+
+2003-09-20 Werner LEMBERG <wl@gnu.org>
+
+ With the help of Paul Eggert <eggert@twinsum.com> and Edward G.J.
+ Lee <edt1023@ms17.hinet.net>, the conversion scripts now accept
+ parameters.
+
+ * utils/Bg5conv/bg5{pdf,}latex,
+ utils/CEFconv/{cef5{pdf,}latex,cef{pdf,}latex,cefs{pdf,}latex},
+ utils/SJISconv/sjis{pdf,}latex,
+ utils/extconv/{bg5+{pdf,}latex,gbk{pdf,}latex}: Rewritten to accept
+ arguments.
+ * doc/history.txt: Updated.
+
+2003-09-16 Werner LEMBERG <wl@gnu.org>
+
+ * utils/Bg5conv/bg5pdflatex,
+ utils/CEFconv/{cef5pdflatex,cefpdflatex,cefspdflatex},
+ utils/SJISconv/sjispdflatex,
+ utils/extconv/{bg5+pdflatex,gbkpdflatex}: New scripts to call
+ pdflatex.
+ * doc/history.txt: Updated.
+
+2003-07-06 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Add some \@gobble macros in commands
+ defined with \mule@def.
+ Change definition of Thai EOL macro to make it really work.
+ (\mule@ignorespaces, \Thaispace, \Thainospace): New macros.
+
+ * doc/cjk-enc.doc, doc/history.txt: Document \Thaispace and
+ \Thainospace.
+
+2003-03-30 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.doc: Add item how to handle \bibliography which has
+ author names containing CJK characters.
+
+ * utils/hbf2gf/hbf2gf.1: Minor workarounds for current grohtml bugs.
+
+2003-03-28 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.5.2 released
+ ======================
+
+ Update version numbers and time stamps in all non-binary files.
+
+2003-03-19 Werner LEMBERG <wl@gnu.org>
+
+ Add improved support for pseudo-vertical typesetting. Based on
+ ideas by Robert Fendt <robert.fendt@epost.de>.
+
+ * texinput/CJK.sty (\ifCJK@vertical@): New if.
+
+ * texinput/CJKvert.sty: Require `graphicx' package.
+ (\CJKvert, \CJKhorz, \CJKvdef, \CJKvlet, \CJKsymbolsimple): New
+ commands.
+ (\CJKsymbol): Add support for vertical parameters (`rotate',
+ `offset', `fullheight, `height') in the new *.fdv files.
+ (\CJK@load@fdv): New command to be appended to LaTeX's
+ \try@load@fontshape.
+
+ * texinput/*/*.chr: Replace calls to \CJKsymbol with an extended
+ version which, if \CJKvert is active, checks the existence of a
+ macro
+
+ \<encoding>/<family>/<series>/<shape>/<plane>/<code>
+
+ This macro is then called if it exists, instead of calling
+ \CJKsymbol. For halfwidth katakana, the macro is called
+
+ \<encoding>/<family>/<series>/<shape>/<code>
+
+ For HLaTeX, the macro is called
+
+ \<encoding>/<family>/<series>/<shape>/<first byte>/<second byte>
+
+ For UTF8, only characters in the range 0x800-0xFFFF get the new
+ code.
+
+ <code>, <first byte>, and <second byte> are decimal numbers.
+
+ * contrib/wadalab/c42{goth,maru,min}.fdv,
+ contrib/wadalab/c52{maru,min}.fdv, texinput/Bg5/c00bsmi.fdv,
+ texinput/GB/c10gbsn.fdv: New files containing information for
+ vertical typesetting.
+
+ * examples/Big5vert.tex: Use font shape `bsmi'.
+
+ * doc/history.txt, doc/chinese/README, contrib/wadalab/DNP.doc,
+ doc/vertical.doc, examples/README, README: Updated.
+
+ * Makefile (DVI2PS): Load bsmilp.map and gbsnlp.map.
+ (cweb): Fix typo (cms->cmz).
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ current versions.
+
+ * utils/extconv/extconv.w: Remove duplicated lines.
+ Fix incorrect use of \@.
+ * utils/extconv/extconv.c: Regenerated.
+
+2003-03-18 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\rua): New syllable. While only dialect, it
+ actually is used...
+
+2003-03-12 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\den, \chua): Add missing syllables (found by
+ Jean-Luc Koning <Jean-Luc.Koning@esisar.inpg.fr>).
+
+2003-03-07 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\py@hy): Assure horizontal mode.
+
+2003-02-10 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJKchar): Make \CJKchar accept 7bit input for
+ character definitions other than standard.chr.
+ * doc/history.txt: Updated.
+
+2003-02-06 Werner LEMBERG <wl@gnu.org>
+
+ Horizontal hints in Wadalab fonts weren't shifted vertically,
+ causing inferior results at small sizes.
+
+ * contrib/wadalab/makefont: Rewritten using awk.
+ * contrib/wadalab/fixwada: New.
+ * contrib/wadalab/DNP.doc, doc/history.txt: Updated.
+ * doc/INSTALL: Minor fixes. Mention wadalab.doc and pfaedit.
+
+2003-01-31 Werner LEMBERG <wl@gnu.org>
+
+ Add two commands \CJKhwkatakana and \CJKnohwkatakana to control
+ whether C49 encoding is used or whether SJIS half-width katakana are
+ mapped to full-width glyphs instead.
+
+ * texinput/CJK.sty (\CJKhwkatakana, \CJK@nohwkatakana): New commands.
+ (\ifCJK@hwkatakana@): New if-macro.
+
+ * texinput/SJIS/SJIS.chr, texinput/SJIS/SJISdnp.chr (\CJK@sjischar):
+ Add second and third parameter to call \CJK@XXX conditionally.
+ * texinput/SJIS/SJIS.enc (\CJK@SJISEncoding): Fill second and
+ third parameters for half-width katakana.
+ * texinput/SJIS/SJISdnp.enc (\CJK@SJISdnpEncoding): Ditto.
+ * doc/commands.doc, doc/CJK.doc, doc/history.txt: Updated.
+
+ * examples/README: New file.
+
+2002-07-29 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CNS/EUC-TW.chr (\CJK@shiftchar): Pass correct parameters
+ to \CJKchar.
+
+2002-06-19 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.5.1 released
+ ======================
+
+ Update version numbers and time stamps in all non-binary files.
+
+2002-06-17 Werner LEMBERG <wl@gnu.org>
+
+ Preparation of release 4.5.1.
+
+ * README: Updated.
+ * texinput/CJK.sty, doc/CJK.doc: Require LaTeX 2001/06/01 to have
+ support for \textkra, \texttstroke, and \textTstroke.
+ Other minor documentation updates.
+ * doc/*: Updated.
+
+2002-06-16 Werner LEMBERG <wl@gnu.org>
+
+ * doc/chinese/READMEgb.tex: Use `gbsn' font.
+ * Makefile (CJK2DVI): Remove *.toc also.
+ (LATEX2DVI): Take two arguments.
+ (LATEX): Ditto.
+ (DISTTARGETS): Add READMEb5 and pytest.
+ (READMEgb, pytest): New rules
+ (GB...): Updated.
+ (predistdoc): Create README file.
+ (distdoc): Depend also on `cweb'.
+ (cweb): New target.
+
+2002-06-14 Edward Lee <edt1023@ms17.hinet.net>
+
+ * texinput/Bg5/c00bsmi.fd, texinput/Bg5/c00bsmir.fd: Fix typo.
+
+2002-06-13 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile: New file, used for creating the tarballs.
+ * README: Updated.
+ * texinput/GB/c10gbsn.fd, texinput/Bg5/c00bsmi.fd,
+ texinput/Bg5/c00bsmir.fd: New files for fonts from the TeXLive CD.
+ * doc/chinese/READMEb5.tex, examples/*: Changed to use the fonts
+ provided by the TeXLive CD.
+
+2002-06-12 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/JISdnp.enc (\CJK@JISdnpEncoding): Fix position of closing
+ brace.
+
+2002-06-07 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/thai/c90enc.def: New file, contributed by Dominique
+ Unruh <dominique@unruh.de>.
+ * texinput/thai/thaicjk.ldf: Use it.
+ * doc/history.txt: Updated.
+
+2002-05-16 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc: Document behaviour for master files without CJK
+ characters.
+ * doc/CJK.doc: Explain usage of `~' for BibTeX.
+
+2002-05-10 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKnumb.sty (\CJKnullspace): New macro to control the
+ additional space inserted before and after a circle used as a
+ CJK zero digit.
+ * doc/history.txt: Updated.
+
+2002-05-09 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKnumb.sty (\CJK@traditionalNumbers,
+ \CJK@simplifiedNumbers): New macros.
+ Use them for GB, GBK, Bg5, Bg5+ hooks.
+
+2002-05-01 Werner LEMBERG <wl@gnu.org>
+
+ * doc/commands.doc: Minor fix.
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ current versions.
+ * utils/hbf2gf/configure.in: Renamed to...
+ * utils/hbf2gf/configure.ac: This.
+ Updated to autoconf 2.53.
+ * utils/hbf2gf/configure: Regenerated with autoconf 2.53.
+ * utils/hbf2gf/README: Text improved.
+ * utils/hbf2gf/hbf2gf.1: Minor typographical fixes.
+
+2002-04-30 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJK@errxx, \CJKindent): New macros.
+ * texinput/CJK.enc (\CJK@spaceChar): Define it for all encodings.
+ It is used by \CJKindent.
+ (\CJK@KSHL@enc): Add \CJK@min and \CJK@max.
+ * texinput/SJIS/SJISdnp.enc (\CJK@SJISdnpEncoding),
+ texinput/JIS/JISdnp.enc (\CJK@JISdnpEncoding),
+ texinput/KS/HLaTeX/KSHL.enc (\CJK@KSHLEncoding): Use \CJK@errxx
+ for unused slots.
+
+ * doc/history.txt, doc/commands.doc: Document \CJKindent.
+
+ * utils/CEFconv/cef5conv.w, utils/CEFconv/cefconv.w: Fix
+ documentation errors.
+ * utils/CEFconv/cef5conv.c, utils/CEFconv/cefconv.c: Regenerated.
+
+2002-04-29 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\pickup@font): Add comment character.
+
+2002-04-28 Werner LEMBERG <wl@gnu.org>
+
+ Preparation of release 4.5.0.
+
+ * README: Updated.
+
+2002-04-27 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJKsymbol, \CJKsymbols): Simplified.
+ (\Unicode, \CJKenc): Fix error text.
+
+2001-10-08 Mike Fabian <mfabian@suse.de>
+
+ * contrib/wadalab/c42goth.fd: Use `dgj' for normal series and add
+ `\CJKbold' for bold series.
+
+2001-07-31 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.doc: Note use of \cleardoublepage if problems occur with
+ two-column printing.
+
+2001-07-27 Fabrice Popineau <Fabrice.Popineau@supelec.fr>
+
+ * utils/cjklatex/cjklatex.c: New file.
+
+2001-06-27 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.doc: Add info how to use a CJK environment in the
+ preamble.
+ * doc/cjk-enc.doc: Simplify usage of AUC TeX.
+ Modify definition of `TeX-run-CJK-LaTeX' to handle directories
+ properly.
+
+2001-06-15 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.enc (\CJK@disableMakeUppercase): Define it as \relax
+ if in preprocessed mode.
+
+2001-06-14 HANDA Ken'ichi <handa@etl.go.jp>
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-set-buffer-multibyte):
+ Use backquote operator to make cjk-enc.elc work correctly.
+
+2001-06-08 Werner LEMBERG <wl@gnu.org>
+
+ The next LaTeX release will use \textkra, \texttstroke, and
+ \textTstroke for the missing latin-4 characters.
+
+ * texinput/mule/MULEenc.sty: Use \textkra. Add \TEXTTSTROKE.
+ * utils/lisp/emacs-20.3/cjk-enc.el, utils/lisp/mule-2.3/cjk-enc.el:
+ Use \texttstroke and \TEXTTSTROKE.
+
+2001-05-26 Werner LEMBERG <wl@gnu.org>
+
+ * texinputs/CJK.sty: Restore EOL character before loading `CJK.cfg'.
+
+2001-05-18 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/DNP.doc: Document installation for pdfTeX.
+ * contrib/wadalab/makefont: Updated to normalize font matrix of
+ PS fonts.
+
+2001-04-24 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ latest version from gnu.org.
+
+2001-04-21 Werner LEMBERG <wl@gnu.org>
+
+ * examples/muletest.tex: Remove Thai support so that this file can
+ really be run with Mule 2.3.
+ Update comment.
+ * example/CJKbabel.tex, example/rubytest.tex: Update comment.
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-format-spec-table): Fix
+ Thai.
+ * texinput/mule/MULEenc.sty (\mule@char): Don't use delimiter.
+ * texinput/SJIS/sjisdnp.enc: Update this file also to the changes
+ introduced 2001-03-15.
+
+2001-04-17 Werner LEMBERG <wl@gnu.org>
+
+ * examples/*.tex: Added local variables for Emacs to specify
+ encoding.
+ * doc/history.txt: Emphasize the need of local variables for the
+ encoding if `cjk-enc.el' is used.
+
+2001-04-02 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20.3/cjk-enc.el: Fix documentation to follow
+ Elisp documentation conventions.
+
+2001-04-01 Werner LEMBERG <wl@gnu.org>
+
+ Make UTF8 encoding work in TOC.
+
+ * texinput/CJK.sty (\CJK@namedef): New macro.
+ * texinput/UTF8/UTF8.bdg: Use it.
+
+2001-03-28 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Use \textnumero instead of \CYRNo
+ (found by Vladimir Volovich).
+
+2001-03-18 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/cjkspace.el, INSTALL: Fix documentation.
+
+2001-03-15 Werner LEMBERG <wl@gnu.org>
+
+ A major change: Preprocessed and non-preprocessed mode can be used
+ simultaneously! For example, you can now use include a file encoded
+ in UTF-8 in another file encoded in Big5.
+
+ To achieve this, ^^7f will always start a command in preprocessed
+ mode, even for CJK macros.
+
+ * texinput/CJK.sty: Require MULEenc.sty.
+ Remove ^^7f handling.
+ Remove preprocessed versions of \CJK@XX, \CJK@XXX, and \CJK@XXXX.
+ (\CJKcaption): Always include .cpx files.
+
+ * texinput/CJK.enc (\CJK@disableMakeUppercase): New macro.
+ (\CJK@shiftError): New macro.
+ (\CJK@unicodeError): New macro.
+ (\CJK@makeEnvironment): Don't handle \MakeUppercase.
+ (\CJK@*@enc): Always use `true' branch in \CJKpreproc conditionals.
+
+ * texinput/mule/MULEenc.sty (\mule@@@arg, \mule@def): Use \string.
+ (\mule@@def): New function to set up macros for leading bytes in the
+ range ^^81-^^fe.
+ * texinput/extended.enc (\CJK@extendedEncoding),
+ texinput/Bg5/Bg5.enc (\CJK@Bg5Encoding), texinput/SJIS/SJIS.enc
+ (\CJK@SJISEncoding): Use \CJK@disableMakeUppercase.
+ * texinput/pmCbig.enc (\CJK@pmCbigEncoding), texinput/pmCsmall.enc
+ (\CJK@pmCsmallEncoding), texinput/standard.enc
+ (\CJK@standardEncoding): Add \relax.
+ * texinput/CNS/EUC-TW.enc (\CJK@EUC-TWEncoding),
+ texinput/JIS/EUC-JP.enc (\CJK@EUC-JPEncoding): Use \CJK@shiftError
+ for single shifts. Add \relax for all other macros.
+ * texinput/UTF8/UTF8.enc (\CJK@UTF8Encoding): Use \CJK@unicodeError
+ for three-byte sequences. Add \relax for all other macros.
+
+ * texinput/*/*.cpx: Updated to new preprocessing scheme.
+
+ * utils/*conv/*conv.w: Updated to new preprocessing scheme.
+ * utils/*conv/*conv.c: Regenerated.
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-format-spec-table): Updated
+ to new preprocessing scheme.
+ (cjk-encode): Fix file header insertion strings.
+ * utils/lisp/mule-2.3/cjk-enc.el (cjk-enc-table): Updated to new
+ preprocessing scheme.
+ (cjk-encode): Fix file header insertion strings.
+
+ * doc/*: Updated and revised.
+
+2001-03-13 Werner LEMBERG <wl@gnu.org>
+
+ Implement \CJKinput.
+
+ * mule/MULEenc.sty (\CJKinput): New macro.
+ (\CJKinclude): Fix error message.
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-write-all-files): Update
+ docstring.
+ (tex-input-regexp): New test for \CJKinput.
+ (do-batch-cjk-write-file): Fix typo.
+
+ * texinput/thai/thaicjk.ldf: Fix typo.
+
+2001-02-21 Werner LEMBERG <wl@gnu.org>
+
+ * doc/INSTALL: Minor improvements.
+
+2001-02-13 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/config.{guess,sub}: Updated (from ftp.gnu.org).
+
+2000-12-17 Werner LEMBERG <wl@gnu.org>
+
+ * utils/SJISconv/sjisconv.w: Fix typo ff -> 7f.
+ * utils/CEFconv/cef5conv.w, utils/CEFconv/cefconv.w: Ditto.
+
+ * utils/*conv/*conv.w: \XXXpreproc will now contain the version of
+ the conversion program.
+ * utils/*conv/*conv.c: Updated.
+
+ * doc/history.txt: Updated.
+
+ * all files: Version number changed to 4.4.0.
+
+2000-12-03 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/configure.in: Fix kpathsea checking message.
+ * utils/hbf2gf/configure: Updated.
+
+2000-12-02 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc: Clarify usage of cjk-coding.
+ * doc/INSTALL: Add hints how to use kpsewhich to check
+ configuration.
+
+2000-12-01 Werner LEMBERG <wl@gnu.org>
+
+ * doc/INSTALL: Fix documentation of --with-kpathsea-include.
+ * doc/cjk-enc.doc: Fix typo.
+
+2000-09-21 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/{CJK.sty, CJKulem.sty, pinyin.sty, ruby.sty}: Replacing
+ some \ifdim with \ifnum.
+
+2000-09-20 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKulem.sty: Fixed two nasty bugs (spotted by Sim Ing
+ <sim@ubs-aptsocap.org>): No underlining for \CJKglue and no \CJKglue
+ before and after \uline.
+
+2000-08-28 Werner LEMBERG <wl@gnu.org>
+
+ * utils/thaifont/texmf/dvips/config/config.{norasi,dbtt}: New files.
+ * doc/thaifont.doc: Added info about PS font configuration.
+
+2000-08-24 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20.3/thai-word.el (thai-update-word-table): Add
+ documentation string.
+
+2000-08-24 HANDA Ken'ichi <handa@etl.go.jp>
+
+ * utils/lisp/emacs-20.3/thai-word.el (thai-update-word-table): New
+ function.
+ (thai-find-word-ends): Fix loop.
+
+2000-08-23 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/thai/thaicjk.ldf: Remove warning about nonexistent
+ hyphenation patterns.
+
+2000-08-20 Werner LEMBERG <wl@gnu.org>
+
+ Another big sigh. Wrong glyph names for Norasi's Thai digits.
+ Additionally, all ligature rules no longer use `>' to make kerning
+ possible.
+
+ * utils/thaifont/texmf/dvips/base/norasi.enc: Fixed.
+ * utils/thaifont/tools/{thai.enc,thailigs.vpl}: Updated.
+ * utils/thaifont/texmf/fonts/{tfm,vf}/public/{dbtt,norasi}/*:
+ Regenerated.
+
+2000-08-19 Werner LEMBERG <wl@gnu.org>
+
+ * examples/thai.tex: New file.
+ * doc/history.txt: Updated.
+
+ * examples/CJKbabel.tex: Doc fixes.
+
+2000-08-17 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.el, doc/thaifont.doc: Give better URL for thailatex
+ package.
+
+2000-08-15 Werner LEMBERG <wl@gnu.org>
+
+ Sigh, another forgotten Thai ligature rule.
+
+ * utils/thaifont/tools/{thai.enc,thailigs.vpl}: Updated.
+ * utils/thaifont/texmf/fonts/{tfm,vf}/public/{dbtt,norasi}/*:
+ Regenerated.
+
+2000-08-15 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/thai/c90{cmr,cmss.cmtt}.fd: Make font substitution
+ silent.
+
+ * utils/thaifont/texmf/dvips/base/norasi.enc: Fixing typo.
+ * utils/thaifont/texmf/fonts/{tfm,vf}/public/norasi/*: Updated.
+
+2000-08-13 Werner LEMBERG <wl@gnu.org>
+
+ Improved support for Thai.
+
+ * doc/thaifont.doc: New file.
+
+ * utils/thaifont/*: Metrics and support files for Thai fonts.
+
+ * texinput/thai/c90{nrsr,dbss}.fd: New font definition files for
+ dbtt and norasi font families.
+ * texinput/thai/c90{cmr,cmss,cmtt}.fd: Font alias files.
+ * texinput/thai/thaicjk.ldf: New file for thai support in Babel.
+ * texinput/thai/thai.sty: Removed.
+
+ * utils/lisp/emacs20.3/cjk-enc.el: Redesigned Thai support by
+ HANDA Ken'ichi <handa@etl.go.jp>.
+ Will now run under XEmacs also (with help of Martin Buchholz
+ <martin@xemacs.org>). No Thai support yet due to limitations in
+ current XEmacs version (21.2).
+ (cjk-write-all-files): New optional argument to force the processing
+ of all files.
+ (do-batch-cjk-write-file): New function.
+ (batch-cjk-write-file): Use do-batch-cjk-write-file.
+ (batch-force-cjk-write-file): New function. Uses
+ do-batch-cjk-write-file also.
+ * utils/lisp/mule-2.3/cjk-enc.el: Rename write-cjk-file to
+ cjk-write-file for consistency.
+ * utils/lisp/emacs20.3/thai-word.el: New file written by HANDA
+ Ken'ichi for Thai word breaking support. Replaces thaiconv.
+ * utils/thaiconv: Removed.
+
+ * utils/lisp/emacs20/cjk-enc.el: Removed. No longer supported.
+
+ * texinput/mule/MULEenc.sty: Adapted to new cjk-enc.el version.
+ Make it robust for CJKulem.sty.
+
+ * examples/CJKbabel.tex: Use CJKulem.sty and thaicjk module for
+ Babel.
+ * examples/muletest.tex: Remove \if... \fi clause for Thai.
+
+ * doc/history.txt, doc/INSTALL: Updated.
+
+2000-08-12 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKulem.sty: New file which provides CJK support for
+ ulem.sty.
+ * doc/history.txt, doc/CJK.doc: Updated.
+
+2000-08-09 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/configure.in: Replaced --with-kpathsea-dir with
+ --with-kpathsea-lib and --with-kpathsea-include.
+ * utils/hbf2gf/configure, doc/history.txt, doc/INSTALL,
+ doc/hbf2gf.doc: Updated.
+
+ * texinput/CJK.sty, texinput/mule/MULEenc.sty: New command
+ \CJKverbatim which disables \Thaiglue and \CJKglue in verbatim
+ environments if the `verbatim' package is loaded.
+ * doc/history.txt, doc/CJK.doc, doc/commands.doc: Updated.
+
+2000-07-30 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ latest version from ftp.gnu.org.
+
+2000-07-27 Werner LEMBERG <wl@gnu.org>
+
+ * utils/thaiconv/thaiconv.c: Improve comment.
+
+ * *.fd: Set \hyphenchar to -1 for all CJK fonts.
+
+2000-06-23 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ latest version from ftp.gnu.org.
+
+ * texinput/CJK.enc: Removed redefinition of C42 and C49.
+
+2000-05-03 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty: Specifying an optional argument to the `CJK'
+ size function will no longer produce a warning message for each
+ subfont.
+
+ * contrib/wadalab/*.fd, doc/CJK.doc, doc/fonts.doc: Wadalab PS fonts
+ now use `CJK' size functions instead of `DNP' ones.
+
+ * doc/history.txt: Updated.
+
+2000-05-02 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/*/*.cpx: Replace incorrect 0xFF with 0x7F.
+
+2000-04-18 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty, texinput/pinyin.sty, texinput/ruby.sty:
+ Balancing the small kern control values, e.g. using
+ `\kern -1sp\kern 1sp' instead of `\kern 1sp' only.
+
+ Replacing kern value of 3sp with 5sp to avoid clash with ulem.sty.
+
+2000-04-01 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.3.0 released
+ ======================
+
+ This version exists on the Tex Live CD 5 only; a lot of files have
+ been adapted to the special needs of the CD's texmf tree -- these
+ changes are not in the CVS tree.
+
+2000-03-15 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/wadalab.map: Renamed from Wadalab.map
+ * contrib/wadalab/DNP.doc: Updated accordingly.
+
+ * utils/hbf2gf/cfg/*: Updated -- if possible, the foundry is used
+ as the target directory instead of the encoding, e.g.
+ `tfm/ntu/b5ka12'.
+
+2000-03-14 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/SJIS/SJISdnp.{chr,enc}: New files to support SJIS
+ encoding with DNP fontencoding.
+ * texinput/CJK.enc: Add SJISdnp.
+ Add forgotten punctuation pattern macro to KSHL encoding.
+ * doc/history.txt, doc/CJK.doc, doc/command.doc: Update.
+
+2000-03-13 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty: Fixing definition of ^^7f to do nothing if
+ written to the TOC file.
+
+2000-03-12 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/KS/HLaTeX/pshan.sty: Fix typo.
+
+ Call \mj to activate default family correctly.
+
+ * contrib/wadalab/makefont: Add echo commands.
+ * contrib/wadalab/DNP.doc: Updated. Add info about gsftopk.
+
+2000-03-03 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/README: New file.
+ * utils/hbf2gf/hbf2gf.1, doc/hbf2gf.doc: Small improvements.
+
+ * README: Removed `romaji environment' from TODO section. According
+ to HANDA Ken'ichi <handa@etl.go.jp> it is impossible to provide
+ hyphenation patterns for transcribed Japanese without semantic
+ analysis.
+
+2000-03-02 Werner LEMBERG <wl@gnu.org>
+
+ * README, doc/INSTALL: Slight improvements.
+
+ * utils/hbf2gf/Makefile.in, utils/hbf2gf/configure.in: Fix incorrect
+ test for NO_STRDUP. Thanks to <Andries.Brouwer@cwi.nl>.
+
+2000-02-06 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty, texinput/mule/MULEenc.sty,
+ utils/lisp/*/cjk-enc.el, utils/*conv/*conv.[cw], history.txt,
+ CJK.doc, cjk-enc.doc: Use 0x7F both as the multiplex character and
+ as a delimiter -- apparently no package uses this character...
+ This solves all problems with \uppercase and \lowercase.
+
+ * utils/hbf2gf/cfg/j2so12.cfg: Added `min_char' parameter to get
+ correct offsets (thanks to Martin Minich
+ <minich5@kepler.fmph.uniba.sk> for finding this bug).
+
+2000-01-26 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc, doc/history.txt, examples/CJKbabel.tex,
+ examples/muletest.tex, texinput/mule/MULEenc.sty,
+ utils/lisp/*/cjk-enc.el: Change X5 to T5.
+
+2000-01-20 Werner LEMBERG <wl@gnu.org>
+
+ * examples/muletest.tex: Greek added; updated to X5 encoding.
+ * examples/CJKbabel.tex: Greek added; updated to X5 encoding.
+
+ * texinput/mule/MULEenc.sty: Use \AtBeginDocument for \mule@<accent>
+ definitions.
+
+2000-01-14 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc: Added info about file variables to specify
+ document encoding.
+
+2000-01-03 Ching-Mo CHANG <chingmo@mail.onweb.com.tw>
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-write-all-files): Always
+ returned nul for include and bib file names due to incorrect
+ pattern matching.
+
+1999-12-18 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/configure.in: Removed `-pedantic' flag which causes
+ problems with newer gcc versions.
+
+1999-11-19 Werner LEMBERG <wl@gnu.org>
+
+ * examples/muletest.tex, examples/CJKbabel.tex: Fixing a typo.
+
+1999-11-07 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CEF.doc: Minor fixes.
+
+ * doc/CJK.doc: Updated; minor fixes.
+
+1999-11-06 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc, doc/commands.doc, doc/fonts.doc: Minor fixes.
+
+ * doc/vertical.doc, doc/history.txt: Updated.
+
+1999-11-05 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Added \CJKinclude{<file>} and
+ \CJKbibliography{<file>}. These functions act identically to
+ \include resp. \bibliography but load <file>.cjk
+ resp. <file>-cjk.bib.
+
+ * utils/lisp/emacs-20.3/cjk-enc.el: Using `cjk' throughout as the
+ prefix to variable and function names. This causes a renaming of
+ virtually all functions. Some other local variables were renamed
+ also for consistency.
+
+ Changing ET5 to X5 encoding for Vietnamese.
+
+ (decompose-char): Removed. Not needed at all.
+
+ (cjk-tex-in-comment): New function. Similar to AUC TeX's
+ TeX-in-comment function; has been added to be independent from AUC
+ TeX.
+
+ (cjk-write-all-files): New function. It checks for \CJKinclude
+ and \CJKbibliography commands in the master file and converts the
+ referenced files accordingly if necessary. Intended as a hook to
+ AUC TeX to make multiple files work as expected.
+
+1999-11-02 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc: Small improvement in explanation of usage with
+ AUC TeX.
+
+1999-10-24 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (get-cjk-name): New function.
+
+ (file-write-cjk-file, batch-write-cjk-file): New functions which
+ do the same as write-cjk-file but operate on a given file (resp. a
+ suite of files and directories given on the command line).
+
+ (write-cjk-file): Will now properly ask for a file name if the
+ current buffer is not visiting a file.
+
+ * doc/cjk-enc.doc: Expanded TeX-translate-location-hook to cover
+ CJK BibTeX input files also.
+
+ TeX-run-CJK-LaTeX now checks whether it must call write-cjk-file
+ at all (emacs > 20.3 only).
+
+1999-10-07 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Removed \textendash wrapper macro.
+
+ * utils/lisp/{emacs-20.3,emacs-20,mule-2.3}/cjk-enc.el: Added
+ iso-8859-9 (Greek) support (mapped to LGR encoding as used in the
+ Babel package).
+
+ Fixed character `SOFT-HYPHEN' in iso-8859-x encodings (using `\-'
+ instead of \textendash).
+
+ * README, doc/cjk-enc.doc, doc/history.txt: Updated.
+
+ * doc/CJK.doc: Fixed a typo.
+
+ * texinput/CJK.enc, texinput/CJK.sty, texinput/*/{*.cap,*.cpx}:
+ Replaced `\ifx\foo \undefined' with `\@ifundefined{}{}' to fix the
+ case that a not-defined macro has been tested with \@ifundefined
+ before. In this case, it is no longer undefined but identical to
+ \relax.
+
+ * texinput/pmC.chr: Fixed punctuation macros for pmC.
+
+1999-10-02 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty: The method with appending `\-' to all
+ syllables fails (stupid I am :-), so here a solution which really
+ works. It uses a small kern (4sp, similar to the ruby and CJK
+ packages) to tell the following pinyin syllable that a
+ discretionary has to be inserted.
+
+1999-10-01 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: \lccode and \uccode of ^^ff must not
+ be modified, otherwise hyphenation patterns containing \ss will
+ fail (which happens e.g. in German).
+
+1999-09-28 Werner LEMBERG <wl@gnu.org>
+
+ * doc/history.txt: Updated.
+
+ * utils/pyhyphen/pyhyph.tex, utils/pyhyphen/pytest.tex,
+ utils/pyhyphen/pinyin.ldf, doc/pyhpyhen.doc: Hyphenation patterns
+ for unaccented pinyin syllables to be used with the Babel package.
+
+ * utils/pyhyphen/pinyin.c, utils/pyhpyhen/pinyin.tr: Utility files
+ for creating pinyin hyphenation patterns.
+
+1999-09-27 Werner LEMBERG <wl@gnu.org>
+
+ * doc/history.txt: Updated.
+
+1999-09-21 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty: Adding hyphenation points at the end of all
+ syllables.
+
+1999-09-18 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty: Making accent commands like \py@a robust.
+
+ Added option `useCMmacron' (for LaTeX only) to use a macron accent
+ from the CM fonts in case the used font doesn't have it
+ (e.g. some versions of virtual files for Palatino).
+
+1999-08-26 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/hbf2gf.1: Added some documentation how to find out
+ the expanded value of a kpathsea variable (like $MISCFONT).
+
+1999-08-07 Werner LEMBERG <wl@gnu.org>
+
+ * utils/thaiconv/thaiconv.c (adj): Fixed invalid array index in
+ case of marks without base characters.
+
+1999-07-07 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/Bg5/Bg5.chr,
+ texinput/extended.chr: Fixed a typo \CJK@temp->\CJK@gtemp
+
+1999-06-30 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20/cjk-enc.el,
+ utils/lisp/emacs-20.3/cjk-enc.el,
+ utils/lisp/mule-2.3: Fixed code for 0x80 multiplex character.
+
+1999-06-22 Werner LEMBERG <wl@gnu.org>
+
+ * doc/TDS.doc: Completely revised.
+
+1999-06-10 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/configure.in: Removed `-ansi' flag which can cause
+ problems with the kpathsea library (which is not compiled with
+ -ansi).
+
+1999-06-07 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/hbf2gf.1: Added documentation about MiKTeX.
+
+ * utils/hbf2gf/hbf2gf.w: Added support for MiKTeX file search
+ library.
+
+ * texinput/CEF/*.fd: Removed -- these files were erroneously
+ included into the CVS repository.
+
+1999-06-04 Werner LEMBERG <wl@gnu.org>
+
+ * *.fd files: minor documentation addition regarding font
+ encoding.
+
+ * all files: Changed date/version to 4.3.0.
+
+1999-06-02 Werner LEMBERG <wl@gnu.org>
+
+ * README: Added info about http and ftp home sites and how to
+ access the CVS repository.
+
+1999-06-01 Werner LEMBERG <wl@gnu.org>
+
+ * README: Added info about CVS mailing list.
+
+1999-05-29 Werner LEMBERG <wl@gnu.org>
+
+ * README: Added mailing list.
+
+ * doc/INSTALL: Small correction.
+
+ * README: Small additions.
+
+;; Local Variables:
+;; coding: utf-8
+;; End:
+
+ Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ Werner Lemberg <wl@gnu.org>
+
+ This file is part of the CJK package for using Asian logographs
+ (Chinese/Japanese/Korean) with LaTeX2e.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU Emacs; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
diff --git a/Master/texmf-dist/doc/latex/cjk/MANIFEST b/Master/texmf-dist/doc/latex/cjk/MANIFEST
new file mode 100644
index 00000000000..9a4922cc63e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/MANIFEST
@@ -0,0 +1,453 @@
+Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program in doc/COPYING; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+MA 02110-1301 USA
+
+This license applies to all files of the CJK package, unless otherwise
+stipulated in the source file.
+
+
+The CJK package contains the following files:
+
+ ChangeLog
+ MANIFEST
+ Makefile
+ README
+ contrib/wadalab/DNP.sfd
+ contrib/wadalab/DNP.txt
+ contrib/wadalab/c42goth.fd
+ contrib/wadalab/c42goth.fdx
+ contrib/wadalab/c42maru.fd
+ contrib/wadalab/c42maru.fdx
+ contrib/wadalab/c42min.fd
+ contrib/wadalab/c42min.fdx
+ contrib/wadalab/c52maru.fd
+ contrib/wadalab/c52maru.fdx
+ contrib/wadalab/c52min.fd
+ contrib/wadalab/c52min.fdx
+ contrib/wadalab/c70goth.fd
+ contrib/wadalab/c70goth.fdx
+ contrib/wadalab/c70maru.fd
+ contrib/wadalab/c70maru.fdx
+ contrib/wadalab/c70min.fd
+ contrib/wadalab/c70min.fdx
+ contrib/wadalab/fixwada
+ contrib/wadalab/fixwada2.pl
+ contrib/wadalab/makefont
+ contrib/wadalab/makeuniwada.pl
+ contrib/wadalab/wadalab.map
+ doc/CEF.txt
+ doc/CJK.txt
+ doc/CJKutf8.txt
+ doc/COPYING
+ doc/INSTALL
+ doc/TDS.txt
+ doc/TeXLive.txt
+ doc/chinese/README
+ doc/chinese/READMEb5.tex
+ doc/chinese/READMEgb.tex
+ doc/chinese/emTeXb5.txt
+ doc/chinese/teTeXb5.txt
+ doc/cjk-enc.txt
+ doc/commands.txt
+ doc/dvidrv.txt
+ doc/fdxfiles.txt
+ doc/fonts.txt
+ doc/hbf2gf.txt
+ doc/history.2_5
+ doc/history.txt
+ doc/japanese/README
+ doc/japanese/ascii.txt
+ doc/japanese/japanese.jis
+ doc/japanese/japanese.txt
+ doc/japanese/jp-fonts.txt
+ doc/japanese/jp-tex.txt
+ doc/japanese/preview.txt
+ doc/japanese/shibuaki.txt
+ doc/pdfhowto/HOWTO.txt
+ doc/pdfhowto/examples/bkai.map
+ doc/pdfhowto/examples/cid-x.map
+ doc/pdfhowto/examples/cwtb.map
+ doc/pdfhowto/examples/dvipdfmx.cfg
+ doc/pdfhowto/examples/gen-map.pl
+ doc/pdfhowto/examples/map.list
+ doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd
+ doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd
+ doc/pdfhowto/examples/texinput/GB/c10tmpl.fd
+ doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd
+ doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd
+ doc/pdfhowto/examples/updmap.my
+ doc/pdfhowto/examples/wcl.sfd
+ doc/pinyin.txt
+ doc/pyhyphen.txt
+ doc/reftex.txt
+ doc/ruby.txt
+ doc/thaifont.txt
+ doc/vertical.txt
+ doc/xCJK.txt
+ examples/Big5.tex
+ examples/Big5vert.tex
+ examples/CEF_test.tex
+ examples/CJKbabel.tex
+ examples/CJKfntef.tex
+ examples/CJKmixed.tex
+ examples/CJKutf8.tex
+ examples/GB.tex
+ examples/JIS.tex
+ examples/KS.tex
+ examples/README
+ examples/SJIS.tex
+ examples/UTF8.tex
+ examples/muletest.tex
+ examples/py_test.tex
+ examples/rubytest.tex
+ examples/thai.tex
+ examples/xCJK.tex
+ texinput/Bg5/Bg5.cap
+ texinput/Bg5/Bg5.chr
+ texinput/Bg5/Bg5.cpx
+ texinput/Bg5/Bg5.enc
+ texinput/Bg5/HK.enc
+ texinput/Bg5/c00bkai.fdx
+ texinput/Bg5/c00bsmi.fd
+ texinput/Bg5/c00bsmi.fdx
+ texinput/Bg5/c00bsmir.fd
+ texinput/Bg5/c00bsmir.fdx
+ texinput/Bg5/c00cns.fd
+ texinput/Bg5/c00fs.fd
+ texinput/Bg5/c00kai.fd
+ texinput/Bg5/c00kair.fd
+ texinput/Bg5/c00kair.fdx
+ texinput/Bg5/c00song.fd
+ texinput/Bg5/c01song.fd
+ texinput/Bg5/c05song.fd
+ texinput/Bg5/c09song.fd
+ texinput/CEF/c80song.fd
+ texinput/CEF/c81song.fd
+ texinput/CJK.enc
+ texinput/CJK.sty
+ texinput/CJKfntef.sty
+ texinput/CJKnumb.sty
+ texinput/CJKulem.sty
+ texinput/CJKutf8.sty
+ texinput/CJKvert.sty
+ texinput/CNS/EUC-TW.bdg
+ texinput/CNS/EUC-TW.chr
+ texinput/CNS/EUC-TW.enc
+ texinput/CNS/c31song.fd
+ texinput/CNS/c32song.fd
+ texinput/CNS/c33song.fd
+ texinput/CNS/c34song.fd
+ texinput/CNS/c35song.fd
+ texinput/CNS/c36song.fd
+ texinput/CNS/c37song.fd
+ texinput/GB/GB.cap
+ texinput/GB/GB.cpx
+ texinput/GB/c10fs.fd
+ texinput/GB/c10gbsn.fd
+ texinput/GB/c10gbsn.fdx
+ texinput/GB/c10song.fd
+ texinput/GB/c11song.fd
+ texinput/GB/c19song.fd
+ texinput/GB/c20song.fd
+ texinput/GB/c21song.fd
+ texinput/JIS/EUC-JP.bdg
+ texinput/JIS/EUC-JP.chr
+ texinput/JIS/EUC-JP.enc
+ texinput/JIS/EUC-JPdnp.enc
+ texinput/JIS/JIS.cap
+ texinput/JIS/JIS.cpx
+ texinput/JIS/JISdnp.enc
+ texinput/JIS/c40song.fd
+ texinput/JIS/c41song.fd
+ texinput/JIS/c42song.fd
+ texinput/JIS/c43song.fd
+ texinput/JIS/c50song.fd
+ texinput/KS/HLaTeX/HLaTeX.chr
+ texinput/KS/HLaTeX/KSHL.enc
+ texinput/KS/HLaTeX/c63bm.fd
+ texinput/KS/HLaTeX/c63dn.fd
+ texinput/KS/HLaTeX/c63gr.fd
+ texinput/KS/HLaTeX/c63gs.fd
+ texinput/KS/HLaTeX/c63gt.fd
+ texinput/KS/HLaTeX/c63jgt.fd
+ texinput/KS/HLaTeX/c63jmj.fd
+ texinput/KS/HLaTeX/c63jnv.fd
+ texinput/KS/HLaTeX/c63jsr.fd
+ texinput/KS/HLaTeX/c63mj.fd
+ texinput/KS/HLaTeX/c63pg.fd
+ texinput/KS/HLaTeX/c63pga.fd
+ texinput/KS/HLaTeX/c63ph.fd
+ texinput/KS/HLaTeX/c63pn.fd
+ texinput/KS/HLaTeX/c63sh.fd
+ texinput/KS/HLaTeX/c63tz.fd
+ texinput/KS/HLaTeX/c63vd.fd
+ texinput/KS/HLaTeX/c63yt.fd
+ texinput/KS/HLaTeX/c64bm.fd
+ texinput/KS/HLaTeX/c64dn.fd
+ texinput/KS/HLaTeX/c64gr.fd
+ texinput/KS/HLaTeX/c64gs.fd
+ texinput/KS/HLaTeX/c64gt.fd
+ texinput/KS/HLaTeX/c64jgt.fd
+ texinput/KS/HLaTeX/c64jmj.fd
+ texinput/KS/HLaTeX/c64jnv.fd
+ texinput/KS/HLaTeX/c64jsr.fd
+ texinput/KS/HLaTeX/c64mj.fd
+ texinput/KS/HLaTeX/c64pg.fd
+ texinput/KS/HLaTeX/c64pga.fd
+ texinput/KS/HLaTeX/c64ph.fd
+ texinput/KS/HLaTeX/c64pn.fd
+ texinput/KS/HLaTeX/c64sh.fd
+ texinput/KS/HLaTeX/c64tz.fd
+ texinput/KS/HLaTeX/c64vd.fd
+ texinput/KS/HLaTeX/c64yt.fd
+ texinput/KS/HLaTeX/c65bm.fd
+ texinput/KS/HLaTeX/c65dn.fd
+ texinput/KS/HLaTeX/c65gr.fd
+ texinput/KS/HLaTeX/c65gs.fd
+ texinput/KS/HLaTeX/c65gt.fd
+ texinput/KS/HLaTeX/c65jgt.fd
+ texinput/KS/HLaTeX/c65jmj.fd
+ texinput/KS/HLaTeX/c65jnv.fd
+ texinput/KS/HLaTeX/c65jsr.fd
+ texinput/KS/HLaTeX/c65mj.fd
+ texinput/KS/HLaTeX/c65pg.fd
+ texinput/KS/HLaTeX/c65pga.fd
+ texinput/KS/HLaTeX/c65ph.fd
+ texinput/KS/HLaTeX/c65pn.fd
+ texinput/KS/HLaTeX/c65sh.fd
+ texinput/KS/HLaTeX/c65tz.fd
+ texinput/KS/HLaTeX/c65vd.fd
+ texinput/KS/HLaTeX/c65yt.fd
+ texinput/KS/HLaTeX/pshan.sty
+ texinput/KS/KS.chr
+ texinput/KS/KS.enc
+ texinput/KS/c60dr.fd
+ texinput/KS/c60gr.fd
+ texinput/KS/c60gs.fd
+ texinput/KS/c60gt.fd
+ texinput/KS/c60hgt.fd
+ texinput/KS/c60hmj.fd
+ texinput/KS/c60hol.fd
+ texinput/KS/c60hpg.fd
+ texinput/KS/c60mj.fd
+ texinput/KS/c61dr.fd
+ texinput/KS/c61gr.fd
+ texinput/KS/c61gs.fd
+ texinput/KS/c61gt.fd
+ texinput/KS/c61hgt.fd
+ texinput/KS/c61hmj.fd
+ texinput/KS/c61hol.fd
+ texinput/KS/c61hpg.fd
+ texinput/KS/c61mj.fd
+ texinput/KS/c62song.fd
+ texinput/KS/hangul.cap
+ texinput/KS/hangul.cpx
+ texinput/KS/hangul2.cap
+ texinput/KS/hangul2.cpx
+ texinput/KS/hanja.cap
+ texinput/KS/hanja.cpx
+ texinput/SJIS/SJIS.bdg
+ texinput/SJIS/SJIS.cap
+ texinput/SJIS/SJIS.chr
+ texinput/SJIS/SJIS.cpx
+ texinput/SJIS/SJIS.enc
+ texinput/SJIS/SJISdnp.chr
+ texinput/SJIS/SJISdnp.enc
+ texinput/SJIS/c49song.fd
+ texinput/UTF8/UTF8.bdg
+ texinput/UTF8/UTF8.chr
+ texinput/UTF8/UTF8.enc
+ texinput/UTF8/c70bkai.fd
+ texinput/UTF8/c70bkai.fdx
+ texinput/UTF8/c70bsmi.fd
+ texinput/UTF8/c70bsmi.fdx
+ texinput/UTF8/c70gbsn.fd
+ texinput/UTF8/c70gkai.fd
+ texinput/UTF8/c70mj.fd
+ texinput/UTF8/c70song.fd
+ texinput/UTF8/ja.cpx
+ texinput/UTF8/ko-Hang2.cpx
+ texinput/UTF8/ko-Hang.cpx
+ texinput/UTF8/ko-Hani.cpx
+ texinput/UTF8/xUTF8.chr
+ texinput/UTF8/xUTF8.enc
+ texinput/UTF8/zh-Hans.cpx
+ texinput/UTF8/zh-Hant.cpx
+ texinput/extended.chr
+ texinput/extended.enc
+ texinput/mule/MULEenc.sty
+ texinput/pinyin.sty
+ texinput/pmC.chr
+ texinput/pmCbig.enc
+ texinput/pmCsmall.enc
+ texinput/ruby.sty
+ texinput/standard.bdg
+ texinput/standard.chr
+ texinput/standard.enc
+ texinput/thai/c90cmr.fd
+ texinput/thai/c90cmss.fd
+ texinput/thai/c90cmtt.fd
+ texinput/thai/c90enc.def
+ texinput/thai/c90gar.fd
+ texinput/thai/c90nrsr.fd
+ texinput/thai/thaicjk.ldf
+ texinput/xCJK.sty
+ texinput/xpmC.chr
+ texinput/xpmC.enc
+ texlive/README
+ texlive/c63mj.fd
+ texlive/c64mj.fd
+ texlive/c65mj.fd
+ utils/Bg5conv/bg5conv.1
+ utils/Bg5conv/bg5conv.c
+ utils/Bg5conv/bg5conv.w
+ utils/Bg5conv/bg5latex
+ utils/Bg5conv/bg5latex.bat
+ utils/Bg5conv/bg5latex.cmd
+ utils/Bg5conv/bg5pdflatex
+ utils/CEFconv/cef5conv.1
+ utils/CEFconv/cef5conv.c
+ utils/CEFconv/cef5conv.w
+ utils/CEFconv/cef5latex
+ utils/CEFconv/cef5ltx.bat
+ utils/CEFconv/cef5ltx.cmd
+ utils/CEFconv/cef5pdflatex
+ utils/CEFconv/cefconv.1
+ utils/CEFconv/cefconv.c
+ utils/CEFconv/cefconv.w
+ utils/CEFconv/ceflatex
+ utils/CEFconv/ceflatex.bat
+ utils/CEFconv/ceflatex.cmd
+ utils/CEFconv/cefpdflatex
+ utils/CEFconv/cefsconv.1
+ utils/CEFconv/cefsconv.c
+ utils/CEFconv/cefsconv.w
+ utils/CEFconv/cefslatex
+ utils/CEFconv/cefsltx.bat
+ utils/CEFconv/cefsltx.cmd
+ utils/CEFconv/cefspdflatex
+ utils/SJISconv/sjisconv.1
+ utils/SJISconv/sjisconv.c
+ utils/SJISconv/sjisconv.w
+ utils/SJISconv/sjislatex
+ utils/SJISconv/sjisltx.bat
+ utils/SJISconv/sjisltx.cmd
+ utils/SJISconv/sjispdflatex
+ utils/cjklatex/cjklatex.c
+ utils/extconv/bg5+latex
+ utils/extconv/bg5+pdflatex
+ utils/extconv/bg5pltx.bat
+ utils/extconv/bg5pltx.cmd
+ utils/extconv/extconv.1
+ utils/extconv/extconv.c
+ utils/extconv/extconv.w
+ utils/extconv/gbklatex
+ utils/extconv/gbklatex.bat
+ utils/extconv/gbklatex.cmd
+ utils/extconv/gbkpdflatex
+ utils/f_name.bat
+ utils/hbf2gf/Makefile.gnu
+ utils/hbf2gf/Makefile.in
+ utils/hbf2gf/README
+ utils/hbf2gf/c-auto.h
+ utils/hbf2gf/cfg/README
+ utils/hbf2gf/cfg/b5ka12.cfg
+ utils/hbf2gf/cfg/b5kr12.cfg
+ utils/hbf2gf/cfg/b5so12.cfg
+ utils/hbf2gf/cfg/c1so12.cfg
+ utils/hbf2gf/cfg/c2so12.cfg
+ utils/hbf2gf/cfg/c3so12.cfg
+ utils/hbf2gf/cfg/c4so12.cfg
+ utils/hbf2gf/cfg/c5so12.cfg
+ utils/hbf2gf/cfg/c6so12.cfg
+ utils/hbf2gf/cfg/c7so12.cfg
+ utils/hbf2gf/cfg/csso12.cfg
+ utils/hbf2gf/cfg/gsfs14.cfg
+ utils/hbf2gf/cfg/j2so12.cfg
+ utils/hbf2gf/cfg/jsso12.cfg
+ utils/hbf2gf/cfg/ksso17.cfg
+ utils/hbf2gf/config.guess
+ utils/hbf2gf/config.sub
+ utils/hbf2gf/configure
+ utils/hbf2gf/configure.ac
+ utils/hbf2gf/dvidrv.btm
+ utils/hbf2gf/emdir.c
+ utils/hbf2gf/emdir.h
+ utils/hbf2gf/emtexdir.c
+ utils/hbf2gf/emtexdir.h
+ utils/hbf2gf/hbf.c
+ utils/hbf2gf/hbf.h
+ utils/hbf2gf/hbf2gf.1
+ utils/hbf2gf/hbf2gf.c
+ utils/hbf2gf/hbf2gf.def
+ utils/hbf2gf/hbf2gf.w
+ utils/hbf2gf/install-sh
+ utils/hbf2gf/mkinstalldirs
+ utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff
+ utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff
+ utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff
+ utils/hbf2gf/scripts/web2c-6.1/README
+ utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff
+ utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff
+ utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff
+ utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff
+ utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff
+ utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff
+ utils/lisp/cjkspace.el
+ utils/lisp/cjktilde.el
+ utils/lisp/emacs/cjk-enc.el
+ utils/lisp/emacs/thai-word.el
+ utils/lisp/mule-2.3/cjk-enc.el
+ utils/pyhyphen/pinyin.c
+ utils/pyhyphen/pinyin.ldf
+ utils/pyhyphen/pinyin.tr
+ utils/pyhyphen/pyhyph.tex
+ utils/pyhyphen/pytest.tex
+ utils/subfonts/clonevf.pl
+ utils/subfonts/hlatex2agl.pl
+ utils/subfonts/makefdx.pl
+ utils/subfonts/sfd2uni.pl
+ utils/subfonts/subfonts.pe
+ utils/subfonts/uni2sfd.pl
+ utils/subfonts/vertical.pe
+ utils/subfonts/vertref.pe
+ utils/thaifont/texmf/dvips/garuda/config.garuda
+ utils/thaifont/texmf/dvips/norasi/config.norasi
+ utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc
+ utils/thaifont/texmf/fonts/map/dvips/garuda/garuda.map
+ utils/thaifont/texmf/fonts/map/dvips/norasi/norasi.map
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdb8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdbo8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdo8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdr8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbi8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftni8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr8z.tfm
+ utils/thaifont/tools/INSTALL
+ utils/thaifont/tools/c90.etx
+ utils/thaifont/tools/c90.mtx
+ utils/thaifont/tools/dbtt-old/config.dbtt-old
+ utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx
+ utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx
+ utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex
+ utils/thaifont/tools/dbtt-old/dbtt-old.fontinst
+ utils/thaifont/tools/dbtt-old/dbtt-old.map
+ utils/thaifont/tools/garuda.fontinst
+ utils/thaifont/tools/norasi.fontinst
+
+
+---End of MANIFEST---
diff --git a/Master/texmf-dist/doc/latex/cjk/Makefile b/Master/texmf-dist/doc/latex/cjk/Makefile
new file mode 100644
index 00000000000..2be48884ca8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/Makefile
@@ -0,0 +1,226 @@
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# You need GNU make to run this Makefile.
+#
+# Some issues:
+#
+# o This Makefile is intended to build the distribution tarballs only,
+# not to compile binaries.
+#
+# o Binaries of the CJK utility programs (and the standard tex stuff,
+# including dvipdfmx) must work.
+#
+# o GNU extensions of various utility programs are used.
+#
+# o emacs 22 and the `cweave' program from the `c2cweb' package,
+# renamed to `cweavex', are needed.
+#
+# o The TeXLive version of some font definition files are used (in the
+# `texlive' subdirectory).
+
+version=4.8.0
+
+distdir=cjk-$(version)
+abs-distdir=$(shell pwd)/$(distdir)
+
+DISTDIRS=$(shell find . -type d | grep -v .git | grep -v $(distdir))
+
+# expected: subdirs `dvi' and `cjk'
+CJK2DVI=\
+ (cd dvi; \
+ TEXINPUTS=$(abs-distdir)/{texlive,texinput//,contrib/wadalab,utils/pyhyphen}: \
+ texi2dvi -l latex ../cjk/$@.cjk; \
+ rm -f $@.aux $@.log $@.toc)
+
+# LATEX2DVI srcdir targetdir
+# expected: targetdir/dvi
+LATEX2DVI=\
+ cp $(1)/$@.tex $(2)/dvi; \
+ (cd $(2)/dvi; \
+ TEXINPUTS=$(abs-distdir)/{texlive,texinput//,contrib/wadalab,utils/pyhyphen}: \
+ texi2dvi -l latex $@.tex; \
+ rm -f $@.tex $@.aux $@.log $@.toc)
+
+# DVI2PDF paper-format
+# expected: subdir `pdf' and `dvi'
+DVI2PDF=\
+ dvipdfmx -v -p $(1) -o pdf/$@.pdf dvi/$@.dvi
+
+
+# CONVERT converter srcdir targetdir [paper-format]
+CONVERT=\
+ cd $(distdir); \
+ $(1) < $(2)/$@.tex > $(3)/cjk/$@.cjk; \
+ cd $(3); \
+ $(CJK2DVI); \
+ $(if $(4),$(call DVI2PDF,$(4)),$(call DVI2PDF,letter))
+
+# MULE srcdir targetdir [paper-format]
+MULE=\
+ cd $(distdir); \
+ emacs --batch \
+ --load utils/lisp/emacs/cjk-enc.el \
+ --funcall batch-cjk-write-file \
+ $(1)/$@.tex; \
+ mv $(1)/$@.cjk $(2)/cjk; \
+ cd $(2); \
+ $(CJK2DVI); \
+ $(if $(3),$(call DVI2PDF,$(3)),$(call DVI2PDF,letter))
+
+# LATEX srcdir targetdir [paper-format]
+LATEX=\
+ cd $(distdir); \
+ $(call LATEX2DVI,$(1),$(2)); \
+ cd $(2); \
+ $(if $(3),$(call DVI2PDF,$(3)),$(call DVI2PDF,letter))
+
+# XELATEX srcdir targetdir
+XELATEX=\
+ cd $(distdir); \
+ cp $(1)/$@.tex $(2)/pdf; \
+ (cd $(2)/pdf; \
+ TEXINPUTS=$(abs-distdir)/{texlive,texinput//,contrib/wadalab,utils/pyhyphen}: \
+ xelatex $@.tex; \
+ TEXINPUTS=$(abs-distdir)/{texlive,texinput//,contrib/wadalab,utils/pyhyphen}: \
+ xelatex $@.tex; \
+ rm -f $@.tex $@.aux $@.log $@.toc $@.out $@.ovt)
+
+
+DISTTARGETS=\
+ READMEb5 \
+ READMEgb \
+ Big5 \
+ Big5vert \
+ CEF_test \
+ CJKbabel \
+ CJKfntef \
+ CJKutf8 \
+ CJKmixed \
+ xCJK \
+ GB \
+ JIS \
+ KS \
+ SJIS \
+ UTF8 \
+ muletest \
+ pytest \
+ py_test \
+ rubytest \
+ thai \
+ c90
+
+
+all:
+ @echo
+ @echo " Say \`make dist' to build the tarballs."
+ @echo
+
+
+READMEb5:
+ $(call CONVERT,bg5conv,doc/chinese,doc,a4)
+READMEgb:
+ $(call LATEX,doc/chinese,doc)
+Big5 Big5vert:
+ $(call CONVERT,bg5conv,examples,examples)
+CEF_test:
+ $(call CONVERT,cefconv,examples,examples)
+SJIS:
+ $(call CONVERT,sjisconv,examples,examples)
+CJKbabel muletest rubytest thai:
+ $(call MULE,examples,examples)
+GB JIS KS UTF8 py_test CJKfntef CJKutf8 CJKmixed:
+ $(call LATEX,examples,examples)
+xCJK:
+ $(call XELATEX,examples,examples)
+pytest:
+ $(call LATEX,utils/pyhyphen,examples)
+c90:
+ (cd $(abs-distdir)/utils/thaifont/tools; \
+ ln -s c90.etx c90.tex)
+ $(call LATEX,utils/thaifont/tools,doc)
+
+
+dist: distsrc predistdoc distdoc
+
+distsrc:
+ -rm -rf $(distdir)
+ rm -f $(distdir).tar.gz
+ rm -f $(distdir)-doc.tar.gz
+ mkdir $(distdir)
+ srcdir=`pwd`; \
+ for d in $(DISTDIRS); do \
+ mkdir -p $(distdir)/$$d; \
+ (cd $(distdir)/$$d; \
+ f=`find $$srcdir/$$d -maxdepth 1 -type f`; \
+ test -z "$$f" || ln -s $$f . || true); \
+ done
+ for f in `find $(abs-distdir)/utils -name '*.w'`; do \
+ ctangle $$f - `echo $$f | sed s/w$$/c/`; \
+ done
+ tar cfh - $(distdir) | gzip -c > $(distdir).tar.gz
+
+predistdoc:
+ mkdir -p $(distdir)/doc/{cjk,dvi,pdf}
+ mkdir -p $(distdir)/examples/{cjk,dvi,pdf}
+ mkdir -p $(distdir)/doc/man/{dvi,html,pdf,txt}
+ echo "This directory contains files which are \`preprocessed' with" \
+ > $(distdir)/doc/cjk/README
+ echo "cjk-enc.el, bg5conv, etc." \
+ >> $(distdir)/doc/cjk/README
+ echo \
+ >> $(distdir)/doc/cjk/README
+ echo "You can feed them directly into LaTeX." \
+ >> $(distdir)/doc/cjk/README
+
+distdoc: $(DISTTARGETS) manpages cweb
+ for f in `find $(distdir) -type l`; do \
+ rm $$f; \
+ done
+ for f in `find $(distdir) -name '*.c'`; do \
+ rm $$f; \
+ done
+ -for d in `find $(distdir) -depth -type d`; do \
+ rmdir --ignore-fail-on-non-empty $$d; \
+ done
+ tar cfh - $(distdir) | gzip -c > $(distdir)-doc.tar.gz
+ rm -rf $(distdir)
+
+manpages:
+ for f in `find utils -type f -name '*.1'`; do \
+ groff -ww -Tdvi -dpaper=letter -P-pletter -mec -man -rS11 $$f > \
+ $(abs-distdir)/doc/man/dvi/`basename $$f .1`.dvi; \
+ groff -ww -Tps -dpaper=letter -P-pletter -man -rS11 $$f | \
+ ps2pdf - $(abs-distdir)/doc/man/pdf/`basename $$f .1`.pdf; \
+ groff -ww -Tlatin1 -man -P-bcu $$f > \
+ $(abs-distdir)/doc/man/txt/`basename $$f .1`.txt; \
+ groff -ww -Thtml -man $$f > \
+ $(abs-distdir)/doc/man/html/`basename $$f .1`.html; \
+ done
+
+cweb:
+ for f in `find utils -type f -name '*.w'`; do \
+ cp $$f $(abs-distdir)/doc/dvi; \
+ (cd $(abs-distdir)/doc/dvi; \
+ F=`basename $$f .w`; \
+ cweavex +a $$F.w; \
+ tex $$F; \
+ rm -rf $$F.idx $$F.log $$F.scn $$F.tex $$F.toc $$F.w; \
+ dvipdfmx -v -p letter -o ../pdf/$$F.pdf $$F); \
+ done
+
+# EOF
diff --git a/Master/texmf-dist/doc/latex/cjk/README b/Master/texmf-dist/doc/latex/cjk/README
new file mode 100644
index 00000000000..e75e3eab857
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/README
@@ -0,0 +1,39 @@
+Welcome to CJK version 4.8.0 (22-May-2008), a LaTeX2e macro package which
+enables the use of CJK scripts (Chinese/Japanese/Korean) in various
+encodings, written by Werner Lemberg <wl@gnu.org>.
+
+A mailing list exists at cjk@ffii.org; bugs should be sent to
+cjk-bug@ffii.org. To subscribe one of the lists, send a mail with the
+subject `subscribe' (without the quotes) to <list>-request@ffii.org, e.g.,
+cjk-request@ffii.org.
+
+If you are interested in the process of development you may observe
+
+ http://git.savannah.gnu.org/gitweb/?p=cjk.git;a=summary
+
+to see the commitments to the git repository of the CJK package, and which
+also provides snapshots.
+
+The home site of the CJK package is
+
+ http://cjk.ffii.org
+
+Additionally, the latest non-development version can be found on all CTAN
+hosts and its mirrors in the directory <CTAN>/language/chinese.
+
+
+The package comes in two parts:
+
+ CJK-4.8.0.tar.gz: The source files. Needed for all platforms.
+ CJK-4.8.0-doc.tar.gz: Preformatted documentation files: DVI, PS,
+ output from cjk-enc.el, etc.
+
+Note that on CTAN and its mirrors, the `src' archive is unpacked; you must
+thus get all files and subdirectories from language/chinese/CJK/.
+
+
+Here a small to-do-list:
+
+ READMEs in Korean.
+
+ More support for Omega.
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/CEF.txt b/Master/texmf-dist/doc/latex/cjk/doc/CEF.txt
new file mode 100644
index 00000000000..012e91d17b6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/CEF.txt
@@ -0,0 +1,86 @@
+This is the file CEF.txt of the CJK macro package ver. 4.8.0 (22-May-2008).
+
+The Chinese Encoding Framework (CEF)
+------------------------------------
+
+Christian Wittern (http://www.kanji.zinbun.kyoto-u.ac.jp/~wittern/),
+developed CEF, the Chinese Encoding Framework. It is a method to embed CJK
+characters in seldom used encodings (which usually no editor provides) in
+ordinary text (which may be of any encoding). This is done by using SGML
+(Standardized Generalized Markup Language) macros of the form
+
+ &xx-yyzz;
+
+To input these characters Wittern wrote KanjiBase for Windows, essentially a
+character data base search engine written in Visual Basic. This application
+is rather obsolete today.
+
+
+`xx' in the SGML macro can have the following values:
+
+ C0 Big 5 encoded characters
+ C1 characters from CNS plane 1
+ ...
+ C7 characters from CNS plane 7
+ CX characters from a reserved encoding defined by IRIZ
+ CY private encoding
+ U Unicode characters
+
+`yy' and `zz' are the first and second byte in hexadecimal notation.
+For C0-C7, CX, and CY the 7bit notation must be used (GL).
+
+Examples:
+
+ &C0-A4CD;
+ &C4-275F;
+ &U-DCFF;
+
+
+TeX can't process these macros directly. They must be converted with one of
+the following preprocessors:
+
+ cefconv standard converter (also for use with cjk-enc.el)
+ cef5conv also converts Big 5 characters to preprocessed form
+ cefsconv also converts SJIS characters to preprocessed form
+
+ceflatex.bat is a simple batch file for DOS to show how to use the converter
+(cef5ltx.bat and cefsltx.bat are its siblings---for Unix, the scripts are
+called ceflatex, cef5latex, and cefslatex, respectively).
+
+Say
+
+ ceflatex mytext[.tex]
+
+to get mytext.tex processed. All CEF macros must be inside of a CJK (or
+CJK*) environment.
+
+To input CEF characters without preprocessing you can use the \CJKchar
+macro. Here an example:
+
+ \CJKchar[CNS4]{"27}{"5F}
+
+Note: The OS/2 script files ceflatex.cmd, etc., need REXX which you probably
+ have to install first.
+
+
+Availability
+------------
+
+The file
+
+ http://iriz.hanazono.ac.jp/pdf/eb4/x-level_kanjibase_codes.pdf
+
+contains a list of X level CJK characters defined by IRIZ. It isn't very
+useful because the document is a just a scan of some pages of the magazine
+`The Electronic Bodhidharma', published by the International Research
+Institute for Zen Buddhism (IRIZ) at the Hanazono University in Kyoto, Japan
+(iriz.hanazono.ac.jp). Note that this institute still publishes many
+Buddhist documents using CEF (there it is called `KanjiBase').
+
+More data about CEF and KanjiBase can be found at Christian Wittern's old
+home page
+
+ http://www.chibs.edu.tw/~chris/gwdg/home.htm
+
+
+---End of CEF.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/CJK.txt b/Master/texmf-dist/doc/latex/cjk/doc/CJK.txt
new file mode 100644
index 00000000000..d77a8725b89
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/CJK.txt
@@ -0,0 +1,1238 @@
+
+This is the LaTeX2e style package CJK Version 4.8.0 (22-May-2008)
+=================================================================
+
+It is freely distributable under the GNU Public License.
+
+
+ **************************************************
+ * *
+ * You need LaTeX 2e version 2001/06/01 or newer! *
+ * *
+ **************************************************
+
+
+Usage
+-----
+
+Use CJK.sty as a package, e.g.,
+
+ \documentclass{article}
+ \usepackage[<option>]{CJK} .
+
+See section `Caveats' below for the available options. Normally, you don't
+need them.
+
+Two new environments,
+
+ \begin{CJK}[<fontencoding>]{<encoding>}{<family>}
+ ...
+ \end{CJK}
+
+and
+
+ \begin{CJK*}[<fontencoding>]{<encoding>}{<family>}
+ ...
+ \end{CJK*}
+
+are defined. The parameters have the following meaning:
+
+ <encoding> These character sets and encodings are currently
+ implemented in CJK.enc:
+
+ Bg5 (For traditional Chinese. Mainly used in Taiwan.
+ Character set: Big 5.
+ Encoding: Big 5 without UDA2 and UDA3.)
+ Bg5+ (For traditional Chinese. Obsolete.
+ Character set: Big 5+.
+ Encoding: GBK.)
+
+ HK (For traditional Chinese. Used in Hong Kong.
+ Character set: Big 5 + HKSCS-2004.
+ Encoding: Full Big 5.)
+
+ GB (For simplified Chinese. Mainly used in
+ PR China. Also called `EUC-CN'.
+ Character set: GB 2312-1980.
+ Encoding: EUC.)
+ GBt (For traditional Chinese. Rarely used in
+ PR China.
+ Character set: GB/T 12345-1990.
+ Encoding: EUC.)
+ GBK (For Chinese. An extension of GB 2312.
+ Character set: GBK.
+ Encoding: GBK.)
+
+ JIS (For Japanese.
+ Character set: JIS X 0208:1997.
+ Encoding: EUC.)
+ JIS2 (Japanese supplementary character set,
+ Character set: JIS X 0212-1990.
+ Encoding: EUC.)
+ SJIS (For Japanese. Used mainly on PCs. Also known
+ as `MS Kanji'.
+ Character sets:
+ 1-byte characters from JIS X 0201-1997
+ (half-width katakana),
+ 2-byte characters from JIS X 0208:1997.
+ Encoding: SJIS.)
+
+ KS (For Korean. Also called `EUC-KR'.
+ Character set: KS X 1001:1992 = KS C 5601-1992.
+ Encoding: EUC.)
+
+ UTF8 (Unicode Transformation format 8, also called
+ `UTF-2' or `FSS-UTF'.
+ Character set: Unicode.
+ Encoding: UTF-8.)
+
+ CNS1 (Chinese National Standard Plane 1,
+ Character set: CNS 11643-1992 plane 1.
+ Encoding: EUC.)
+ CNS2
+ ...
+ CNS7 (Character set: CNS 11643-1992 plane 2 - 7.
+ Encoding: EUC.)
+
+ CEFX (reserved CEF character set for IRIZ.
+ Encoding: EUC.)
+ CEFY (private CEF character set.
+ Encoding: EUC.)
+
+ Note: The value `HK' can be also used for complete Big 5
+ support which needs user-defined areas 2 and 3
+ (UDA2 and UDA3), located in the ranges
+ 0x8E40-0xA0FE and 0x8140-0x8DFE, respectively.
+
+ For details on HKSCS-2004 see
+
+ http://www.info.gov.hk/digital21/eng
+ /hkscs/download/e_sect3_2004.pdf
+
+
+ These encodings (except Big 5, Big 5+, HK, GBK, SJIS, and
+ UTF-8) are simplified EUC (Extended Unix Code) character
+ sets without single shifts. The used character set slot
+ G1 stands for two-byte encodings with byte values taken
+ from the GR (Graphic Right) character range 0xA1-0xFE
+ (as defined in ISO 2022).
+
+ Note that CNS1 and CNS2 contain almost the same
+ characters in the same order as Big 5 (but in EUC).
+
+ For CEF and CNS character sets see CEF.txt also.
+
+ Big 5+ and GBK have exactly the same encoding layout
+ (but their origins differ).
+
+ Additionally, the following encodings *with* single
+ shifts are implemented, using some of the above defined
+ character sets:
+
+ EUC-JP (for Japanese.
+ Character sets:
+ Half-width katakana (from JIS X 0201-1997),
+ JIS X 0208:1997,
+ JIS X 0212-1992.)
+
+ EUC-TW (for traditional Chinese.
+ Character sets:
+ CNS 11643-1992 planes 1-7.)
+
+ EUC-JP, EUC-TW, and UTF-8 encodings can't be used in
+ preprocessed mode (see below) because it makes no sense.
+ (To be more precise, UTF-8 sequences with more than two
+ bytes can't be used.)
+
+
+ If you use this parameter it is the same as you would
+ have used \CJKenc: Writing e.g.,
+
+ \begin{CJK}{Bg5}{...}
+ ...
+
+ is identical to
+
+ \begin{CJK}{}{...}
+ \CJKenc{Bg5}
+ ...
+
+ Note: A `character set' is an ordered collection of
+ glyphs. The order of the glyphs is just for
+ defining purposes and for reference.
+
+ An `encoding' is an ordering scheme to access a
+ character set. LaTeX 2e also uses the term `input
+ encoding'.
+
+ A character set can have many encodings
+ (cf. JIS X 0208 -> EUC, SJIS).
+
+ An encoding can be used for many character sets
+ (cf. EUC -> KS X 1001, GB 2312, etc.).
+
+ Sometimes, the character set has the same name
+ as the encoding (Big 5, Big 5+, GBK).
+
+ For more details I suggest to read the document
+ cjk.inf from Ken Lunde; it is available from
+
+ ftp://ftp.ora.com/pub/examples/cjkvinfo/
+ doc/cjk.inf
+
+ A really thorough reference is his latest book
+ `CJKV Information Processing' (O'Reilly).
+
+ Throughout this CJK documentation, `encoding'
+ refers to the valid encoding/character set
+ combinations defined just above.
+
+ <fontencoding> These font encodings are currently defined: `' (empty;
+ the default), `pmC' (available for Bg5, GB, GBt, JIS,
+ and KS), `dnp' (for JIS and SJIS), `wn' (for JIS), and
+ `HL' (for KS).
+
+ `Font encoding' means the order of characters in the
+ subfonts itselves. A change of the font encoding neither
+ alters the meaning of a CJK character nor changes the
+ character code in the selected encoding.
+
+ The font encoding `pmC' is defined for compatibility
+ with the pmC package (which is obsolete). It is not
+ encouraged to use this font encoding because of wasting
+ subfonts. If possible, convert your original CJK bitmap
+ fonts with hbf2gf (see hbf2gf.txt) or other tools to CJK
+ encodings.
+
+ `dnp' implements the character order of the Dai Nippon
+ Printing fonts and is only available for JIS and SJIS
+ encoding. `wn' (only available for JIS) is the font
+ encoding for watanabe jfonts. There exists a linking
+ package which maps the watanabe jfonts onto the dnp
+ naming scheme (thus you can use the real dnp fonts for
+ printing and the mapped jfonts for previewing). See the
+ documentation files in the `japanese' subdirectory for
+ further details.
+
+ `HL' allows the use of the new HLaTeX fonts (starting
+ with version 1.0); note that the definition of fonts is
+ rather different compared to HLaTeX. See the section
+ `Korean input' below for a detailed description.
+
+ You can change the font encoding per encoding with the
+ command \CJKfontenc; the first parameter is the
+ encoding, the second the font encoding.
+
+ <family> It is impossible to know in advance what fonts are
+ available at your site; look at the example FD (font
+ definition) files how to create or modify appropriate FD
+ files suiting your needs. See fonts.txt also for further
+ hints.
+
+ If this parameter is empty, the default value given in
+ CJK.enc is selected: `song' for all encodings except KS
+ (which defaults to `mj'). If you use this parameter it
+ is the same as you would have used \CJKfamily; all
+ encodings then use this family:
+
+ \begin{CJK}{...}{song}
+ ...
+
+ is identical to
+
+ \begin{CJK}{...}{}
+ \CJKfamily{song}
+ ...
+
+ You can change the families per encoding (and font
+ encoding) with the command \CJKencfamily; the first
+ parameter is the encoding, the second the family, the
+ optional argument is the font encoding. This overrides
+ the default value.
+
+ Note that \CJKfamily or a non-empty `family' parameter
+ of the CJK environment overrides any \CJKencfamily
+ commands. Say `\CJKfamily{}' to enable \CJKencfamily
+ again.
+
+
+ The CJK* environment swallows unprotected spaces and newlines after a
+ CJK character (the usual habit for Chinese and Japanese text), whereas
+ CJK does not (for European and Korean text). You can switch between
+ these two `modes' with \CJKspace (CJK* -> CJK) and \CJKnospace (CJK ->
+ CJK*).
+
+ If you use cjk-enc.el, you don't need to specify a CJK environment. This
+ is done automatically. See cjk-enc.txt for details.
+
+
+This is a typical example:
+
+ \begin{CJK*}{GB}{kai}
+ ...
+ Chinese simplified text in GB encoding
+ ...
+ \end{CJK*}
+
+
+How it works
+------------
+
+Asian logographs can't be represented completely with one byte per
+character. (At least) two bytes are needed, and the most common encoding
+schemes (UTF-8, GB, Big 5, JIS, KS, etc.) have a certain range for the first
+byte (usually 0xA1-0xFE or a part of it) which signals that this and the
+next byte represent an Asian logograph. This means almost all plain ASCII
+characters (characters between 0x00 and 0x7E) are left undisturbed, and the
+remaining character codes (0x80-0xFF) are assigned to a CJK encoding,
+creating a multiple-byte encoding with 1-byte and 2-byte characters (and
+even 3-byte and 4-byte characters for UTF-8).
+
+The character 0x7F is reserved also for the CJK package. See the section
+`Preprocessors' below.
+
+Encodings like EUC-TW access additional character sets using escape
+characters (0x8E and 0x8F) which signals that the next character comes
+from another character set (which is `shifted' to the GR range); up to
+four bytes are needed for a single character. Example:
+
+ 0x8E 0xA3 0xB7 0xCE
+
+ 0x8E is a single shift escape character; 0xA3 selects CNS plane 3, and
+ 0xB7CE is the character code (in GR representation) in this plane.
+
+CJK.sty makes the character codes 0x7F and 0x81-0xFE active inside of the
+CJK environment and assigns macros to the active characters which then
+select the proper font and character. The real mechanism is a bit more
+complex to assure robustness (it was borrowed and modified from LaTeX 2e's
+inputenc.sty) and correct handling of punctuation characters.
+
+* emTeX users: you must activate 8bit input and output while creating the
+* LaTeX2e format file! Do this by using the switches -o and -8 (additional
+* to the iniTeX switch -i).
+*
+* Example:
+*
+* tex386 -i -o -8 latex.ltx
+
+
+Some internals
+--------------
+
+Internally three levels (bindings, encodings, character macro sets) are
+defined:
+
+ active characters
+ |
+ +--------------> bindings (standard, SJIS, UTF8)
+ |
+ active character macros
+ |
+ +--------------> encodings (GB, Big 5, ...) +
+ | font encodings (none, dnp, wn, pmC, HL)
+ |
+ subfont selecting macros
+ |
+ +--------------> character macro sets (standard, Big 5, ...)
+ |
+ character selecting macros
+
+User-selectable are only the encoding and the font encoding (as explained
+above); the other levels are selected by the CJK package.
+
+These levels correspond to the following internal macros:
+
+ \CJK@xxxxBinding (`xxxx.bdg' files):
+ Possible values for `xxxx' are: standard, SJIS, UTF8, EUC-JP, and
+ EUC-TW.
+
+ \CJK@xxxxEncoding (`xxxx.enc' files):
+ Possible values for `xxxx' are: standard, extended, Bg5, SJIS, KS, UTF8,
+ pmCsmall, pmCbig, JISdnp, SJISdnp, KSHL, EUC-JP, and EUC-TW.
+
+ \CJK@xxxxChr (`xxxx.chr' files):
+ Possible values for `xxxx' are: standard, Bg5, KS, SJIS, UTF8, pmC,
+ HLaTeX, EUC-JP, and EUC-TW.
+
+In preprocessed mode (see below), no bindings are used.
+
+
+And now a more detailed description of the various encodings. Please note
+that you should never access these macros directly.
+
+ \CJK@standardEncoding is used for EUC encodings with the first and second
+ byte in the range 0xA1-0xFE (GB, GBt, JIS, JIS2, CNS, CEF).
+
+ \CJK@extendedEncoding is used for Big 5+ and GBK encodings. The first byte
+ is in the range 0x81-0xFE, the second byte in the range 0x40-0xFE (with a
+ gap at 0x7F).
+
+ \CJK@Bg5Encoding is used for Big 5 encoding with the first byte in the
+ range 0xA1-0xFE and the second byte in the range 0x40-0xFE (with a gap
+ from 0x7F-0xA0).
+
+ \CJK@SJISEncoding is used for SJIS encoding; one-byte characters are in
+ the range 0xA1-0xDF, two-byte characters have the first byte in the ranges
+ 0x81-0x9F and 0xE0-0xEF, the second byte runs from 0x40 to 0xFC except
+ 0x7F. Since SJIS only squeezes the JIS X 0208 character set into a new
+ scheme without changing the ordering, fonts produced by hbf2gf or ttf2pk
+ look the same for EUC and SJIS encoding except one-byte SJIS characters.
+ For more details see below the section `SJIS encoding'.
+
+ \CJK@KSEncoding is used for the KS X 1001 character set in EUC encoding.
+ Two sets of subfonts are defined, one for Hangul syllables and elements,
+ and a second for Hanja. For more details see below the section `Korean
+ input'.
+
+ \CJK@UTF8Encoding is used for Unicode in UTF-8 encoding. The first byte is
+ in the range 0xC0-0xDF for two-byte values, 0xE0-0xEF for three-byte
+ values, and 0xF0-0xF4 for four-byte values. The other byte(s) are in the
+ range 0x80-0xBF. Note that CJK expects two hexadecimal digits as a running
+ number in the font name (as defined in UTF8.enc) instead of two decimal
+ digits for subfonts covering characters up to U+FFFF. Subfonts for Unicode
+ values greater than 0xFFFF use four hexadecimal digits in the font name.
+ Select the option `unicode yes' in the hbf2gf config file if you use
+ hbf2gf to transform bitmap fonts in HBF format to PK fonts as used by
+ CJK.sty . Three commands (\CJKCJKchar, \CJKhangulchar, and \CJKlatinchar)
+ control the handling of intercharacter glue: \CJKCJKchar (the default)
+ selects CJK style (using \CJKglue), \CJKhangulchar selects hangul style
+ (using \CJKtolerance), and \CJKlatinchar selects none of them. This
+ encoding does not work in preprocessed mode.
+
+ \CJK@pmCsmallEncoding and \CJK@pmCbigEncoding can be activated with
+ \pmCsmall (this is the default) and \pmCbig inside the CJK environment.
+ Note that the original pmC fonts have two character sizes per font (the
+ bigger ones with an offset of -128); Bg5pmC encoded fonts cannot contain
+ big characters. The names of the fonts in the FD files reflect the
+ modifications added by Marc Leisher <mleisher@nmsu.edu> to the original
+ poor man's Chinese (pmC) package written by Thomas Ridgeway
+ <ridgeway@blackbox.hacc.washington.edu>.
+
+ \CJK@JISdnpEncoding is the JIS X 0208 character set in EUC encoding with
+ dnp fonts. The main difference (besides the offsets) is the composition of
+ real font names; a dnp font name consists of name stem + subfont name +
+ designsize: an example is dmjkata10. Note that the wadalab PS fonts omit
+ the designsize part in the font names, thus it is sufficient (and even
+ better) to use the `CJK' size functions in FD files instead of the `DNP'
+ ones. \CJK@JISwnEncoding is similar to JISdnp encoding but uses Watanabe
+ jfonts; \CJK@SJISdnpEncoding maps SJIS onto dnp encoded fonts.
+
+ \CJK@KSHLEncoding finally uses the new fonts of the HLaTeX package for
+ Korean; three internal encodings are necessary to represent it. See the
+ next section for details.
+
+ \CJK@EUC-TWEncoding and \CJK@EUC-JPEncoding are quite similar to
+ \CJK@standardEncoding but implement single shift access additionally. They
+ can't be used in preprocessed mode.
+
+
+Korean input
+------------
+
+There is already a package which handles Hangul and Hanja (but no other
+CJK character sets): HLaTeX.
+
+To use KS encoding, say
+
+ \begin{CJK}{KS}{}
+ ...
+ \end{CJK} .
+
+These font switches are available inside the environment:
+
+ hangul fonts from former hlatex (in the han font packages):
+
+ * \mj MyoungJo (default)
+ \gt Gothic
+ \gs BootGulssi
+ \gr Graphic
+ \dr Dinaru
+
+ hangul fonts from former jhtex (in the han1 font packages):
+
+ * \hgt Hangul Gothic
+ * \hmj Hangul MyoungJo (MunHwaBu fonts)
+ * \hpg Hangul Pilgi
+ \hol Hangul Outline (MyoungJo)
+
+
+If a font is marked with a star, real bold series are available. All other
+bold fonts are defined using poor man's boldface (see below the section
+`Poor man's boldface').
+
+See the file INSTALL how to get these fonts. Both `han' and `han1' packages
+contain bitmap fonts only (in PK format).
+
+Note that the font switches are abbreviations for \CJKencfamily and not for
+\CJKfamily.
+
+
+For characters with the first byte in the ranges 0xA1-0xAF (except 0xA4) and
+0xC9-0xFD (graphic characters, hanja, archaic hangul, etc.) fonts with the
+encoding C60 are used. C61 is assigned to hangul fonts (for hangul elements
+with the first byte 0xA4 and hangul characters in the range 0xB0-0xC8). This
+enables the use of many hangul fonts and perhaps only one or two different
+hanja fonts. If you want to use C60 encoding for hangul characters also say
+\CJKhanja. The opposite command is \CJKhangul (of course this works only if
+you have hangul characters in the C60 font).
+
+Archaic hangul elements (KS X 1001 0xA4D5-0xA4FE) and the character
+KS X 1001 0xA4D4 are only accessible if \CJKhanja is active.
+
+You should convert your KS X 1001 hanja fonts using hbf2gf (or ttf2pk) as
+described above.
+
+
+To use HLaTeX fonts, say
+
+ \begin{CJK}[HL]{KS}{}
+ ...
+ \end{CJK} .
+
+All HLaTeX fonts are PS fonts; these font switches are available inside the
+environment (as defined in HLaTeX 1.0; this differs from older versions):
+
+ \bm Bom
+ * \dn Dinaru
+ * \gr Graphic
+ + \gs Gungseo
+ + * \gt Gothic
+ \jgt Jamo Gothic
+ \jmj Jamo Myoungjo
+ \jnv Jamo Novel
+ \jsr Jamo Sora
+ + * \mj Myoungjo
+ * \pg Pilgi
+ \pga Pilgia
+ \ph Pen Heulim
+ \pn Pen
+ + \sh Shinmun Myoungjo
+ + \tz Typewriter
+ \vd Vada
+ \yt Yetgul
+
+If a font is marked with an asterisk, real bold series are available. All
+other fonts are defined using poor man's boldface (see below). Only fonts
+marked with a plus sign are available for hanja too; the other font families
+are mapped to these six hanja families. For backwards compatibility, \ol and
+\sm are defined also; both are now equivalent to \mj.
+
+UN Koaung-Hi <koaunghi@kornet.net>, the author of HLaTeX, defines three
+groups of fonts: hangul, hanja, and symbols. The CJK package needs three
+internal encodings (C63 for hanja, C64 for symbols, and C65 for hangul) to
+represent the font encoding scheme of HLaTeX.
+
+HLaTeX options:
+
+The option `hardbold' has been integrated into the FD files---I consider the
+fact whether you have bold series available or not as a fundamental local
+font setup decision which should be coded into the FD files and not into the
+document. As a consequence you have to change your FD files to emulate the
+`softbold' option with CJK's poor man's boldface. Example:
+
+ \DeclareFontShape{C63}{gt}{bx}{n}{<-> CJK * wgtb}{}
+
+should be changed to
+
+ \DeclareFontShape{C63}{gt}{bx}{n}{<-> CJKb * wgt}{\CJKbold} .
+
+and similar font definitions too.
+
+[Well, it is not really necessary to modify the FD files to emulate the
+ `softbold' option: just insert the appropriate \DeclareFontShape and/or
+ \DeclareFontFamily commands in the preamble of your document.]
+
+Finally a warning: Please bear in mind that CJK does not emulate the
+behaviour of HLaTeX, it only supports its fonts.
+
+
+Big 5 encoding
+--------------
+
+See below the section `Preprocessors' for the preferred input method using
+bg5conv.
+
+The characters `\', `{', and `}' are used as second bytes in the Big 5
+encoding. This collides with TeX. If you write Big 5 text mixed with other
+encodings (and you don't want/can't use Mule, Emacs or bg5conv), you should
+use the Bg5text environment which changes the category codes of these
+characters. The command prefix is now the forward slash `/', and the
+grouping characters are `(' and `)', respectively.
+
+An example:
+
+ \begin{CJK}{Bg5}{song}
+ \begin{Bg5text}
+ ...
+ /begin(center)
+ ...
+ /end(center)
+ ...
+ /end(Bg5text)
+ \end{CJK}
+
+To get the `/', `(', and `)' characters, write `//', `/(', and `/)' inside
+the Bg5text environment.
+
+This environment is ugly, and some commands like \newcommand don't work in
+it. Starting with CJK version 3.0 it is also possible to use different
+encodings in preprocessed mode, thus this environment is almost obsolete.
+
+Instead of using the Bg5text environment you can protect the offending
+second bytes with a backslash, i.e., `\{', `\}', `\\' (using a non-Chinese
+editor). This doesn't increase the readability of the Chinese text, but for
+short texts it is perhaps more comfortable. Alas, it doesn't work in page
+header commands because the macros `\{', etc., are not expanded.
+
+Be careful not to use any commands inside the Bg5text environment which
+write something into an external file (commands like \chapter, etc.).
+
+If it is not possible to avoid Big 5 character codes with `\', `{', or `}'
+outside of the Bg5text environment (e.g., having Big 5 text in a \chapter or
+\section command), you can replace them with the \CJKchar macro manually:
+
+ \section{This is a problematic Big 5 character: \CJKchar{169}{92}}
+
+The parameters are the first and second byte of the Big 5 character code.
+You can also use hexadecimal or octal notation. See commands.txt for a full
+description of \CJKchar.
+
+An environment `HKtext' similar to `Bg5text' is defined for the `HK'
+encoding; the same restrictions as explained above hold.
+
+
+SJIS encoding
+-------------
+
+See below the section `Preprocessors' for the preferred input method using
+sjisconv.
+
+Shift-JIS encoding is widely used on PCs for Japanese. A special feature is
+the simultaneous use of one-byte and two-byte encoded characters which arose
+because of backwards compatibility. The two-byte encoded character set is
+completely identical to the JIS X 0208 character set, even the ordering is
+the same. Thus there is no need for special two-byte SJIS FD files; the font
+definition files for JIS X 0208 are used.
+
+The situation is different for one-byte SJIS characters, the so called
+`half-width' Katakana (encoding C49) from JIS X 0201. Usually you should use
+full-width Katakana fonts too to get a typographically correct output. The
+exception is a typewriter font which should really have only the half width
+of normal Kanji or Katakana to represent screen snapshots or similar things.
+The use of C49 encoding can be controlled with the \CJKhwkatakana and
+\CJKnohwkatakana macros (see commands.txt for more information).
+
+Fonts in C49 encoding scheme must have the character glyphs at the code
+points 0xA1-0xDF.
+
+An environment `SJIStext' similar to `Bg5text' is defined; the same
+restrictions as explained in the previous section hold.
+
+
+Big 5+ and GBK encodings
+------------------------
+
+See below the section `Preprocessors' for the preferred input method using
+extconv.
+
+These relatively new encodings are used in some older MS Windows versions in
+Taiwan (Big 5+) and Mainland China (GBK). Both encodings implement the whole
+CJK character repertory of Unicode in the Basic Multilingual Plane
+(U+4E00-U+9FFF, approx. 21000 characters) and a few other characters but
+still try to be backwards compatible. All code points of Big 5 are identical
+to the code points in Big 5+, and the same holds for GB 2312-1980 and GBK.
+Note that the default CJK font encodings for Big 5+ and Big 5 are *not*
+compatible. The same is true for GBK and GB2312.
+
+Two new environments, `Bg5+text' and `GBKtext' similar to `Bg5text' are
+defined also; the same restrictions as above hold.
+
+
+CJK captions
+------------
+
+To use the supplied caption files you need the koma-script package. The main
+reason why I choose these style files instead of the standard classes is the
+fact that the author of koma-script is willing to support CJK. On the other
+hand, the philosophy of the LaTeX 2e maintainers is not to add new features
+to the standard classes.
+
+The koma-script style files are maintained by Markus Kohm
+(Markus.Kohm@gmx.de); they are available at the CTAN hosts.
+
+
+If you say \CJKcaption{<caption>} inside of a CJK environment, the file
+<caption>.cpx is loaded (.cpx is a preprocessed version of .cap)
+
+Example:
+
+ \documentclass{scrartcl}% this is a KOMA-script class
+ \usepackage{CJK}
+
+ \begin{document}
+ \begin{CJK*}{GB}{kai}
+ \CJKcaption{GB}% loading GB.cpx
+
+ \chapter{blablabla}% is formatted in Chinese
+
+ ...
+
+ \end{CJK*}
+ \end{document}
+
+
+Note that for Korean three caption files are available: hanja.cap for
+captions using hanja (this corresponds to HLaTeX's `hanja' option) and
+two caption files (hangul.cap and hangul2.cap) using hangul.
+
+For GBK encoding use the GB.cap file. Similarly, use Big5.cap for Big 5+
+encoding.
+
+In case you want to edit a CAP file, you must create its corresponding
+CPX file too. After editing, preprocess the file with
+
+ bg5conv < xxx.cap > xxx.cpx
+
+(for caption files in SJIS encoding use sjisconv instead), then change
+the file name identification strings in the CPX file accordingly.
+
+In UTF-8 encoding, the following caption files are available.
+
+ ja Japanese
+ ko-Hang Korean using Hangul
+ ko-Hang2 another version using Hangul
+ ko-Hani Korean using Hanja
+ zh-Hans Chinese simplified
+ zh-Hant Chinese traditional
+
+Since those files are identical to its encoding-specific counterparts,
+only CPX versions are provided.
+
+
+Underlining and other font effects
+----------------------------------
+
+Full support for Donald Arseneau's ulem.sty package (beginning with version
+2000-05-26) is available by using CJKulem.sty (which loads ulem.sty
+automatically). No changes to ulem's interface.
+
+Even more font effects specific to CJK scripts can be found in CJKfntef.sty;
+usage examples can be found in the file CJKfntef.tex .
+
+A word of caution: Don't use \CJKfamily{...} or similar commands within the
+argument to \uline and friends.
+
+
+Poor man's boldface
+-------------------
+
+Most CJK fonts available in the public domain do not have bold series. To
+emulate boldface by printing the character three times with slight
+horizontal offsets some special features are used:
+
+ CJK uses \CJKsymbol internally instead of \symbol to access CJK
+ characters (after the correct font has been selected). This macro
+ honours the \ifCJK@bold@ flag; if set it emulates boldface. The default
+ value of the horizontal offset is 0.015em; to change it you should
+ redefine \CJKboldshift, the macro which holds this shift.
+
+ \ifCJK@bold@ can be set and unset globally with the commands \CJKbold
+ and \CJKnormal. These commands are intended to be used with
+ \DeclareFontShape as follows:
+
+ \DeclareFontShape{C00}{CNS}{m}{n}{<-> CJK * csso12}{}
+ \DeclareFontShape{C00}{CNS}{bx}{n}{<-> CJKb * csso12}{\CJKbold}
+
+ It should be never necessary to use \CJKnormal since \selectfont has
+ been modified to always reset \ifCJK@bold@ and to call the
+ loading-settings (i.e., the sixth parameter) of \DeclareFontShape if
+ a CJK size function is in use.
+
+ Additionally, new size functions (CJKb, sCJKb, CJKfixedb, sCJKfixedb,
+ and others; see fonts.txt for details) have been introduced which are
+ completely identical to its counterparts without the final `b'. The only
+ reason to use them is, as shown in the above example, to make the fifth
+ parameter of \DeclareFontShape for bold series different from the one
+ for medium series (LaTeX 2e uses this parameter as a macro name to
+ execute loading-settings, thus they must not be equal).
+
+
+Embedding non-CJK words into CJK text
+-------------------------------------
+
+To enable line breaking you should separate non-CJK words and CJK characters
+with horizontal space. But the ordinary space dimensions inserted by TeX
+based on the current non-CJK font often looks bad because the surrounding
+CJK characters are printed almost side by side (the non-stretched value of
+\CJKglue is 0pt). Especially in extreme cases which happen in underfull
+\hbox commands the default space distorts the CJK text too much.
+
+If you say \CJKtilde, the active `~' character doesn't produce an
+unbreakable space; instead, the following definition is used:
+
+ \def~{\hspace{0.25em plus 0.125em minus 0.08em}} .
+
+This defines a space which has a normal width of a quarter (CJK) space. See
+the file japanese/shibuaki.txt for some further details.
+
+Here an example:
+
+ ThisIsChineseText~test~ThisIsChineseText
+
+ ^^^^^^
+
+Simply use tilde characters instead of spaces at the border between CJK and
+non-CJK characters.
+
+In BibTeX entries, you have to use `{~}' instead of `~'.
+
+The original definition of `~' is available as \nbs (non-breakable space, a
+shorthand for the LaTeX command \nobreakspace). To return to the standard
+`~' macro definition say \standardtilde.
+
+Note that the opposite is not true: To embed CJK words into non-CJK text an
+ordinary space is optimal.
+
+If you use Mule or Emacs 20 please consider the use of cjktilde.el in
+utils/lisp. This small package defines a minor mode (cjk-tilde-mode) which
+exchanges the space key with the tilde key. It is convenient to bind this
+mode to a key, e.g., C-insert.
+
+For AUC TeX you can also use cjkspace.el which is similar (but not
+identical) to cjktilde.el .
+
+
+Preprocessors
+-------------
+
+Using the `XXXtext' environments like `Bg5text' is a mess. Thus three
+preprocessors are provided to overcome the restrictions of the XXXtext
+environments: bg5conv and sjisconv Big 5 and SJIS encoding, and extconv for
+GBK and Big 5+ encoding characters. Compile them with
+
+ cc -O -s -o bg5conv bg5conv.c
+ cc -O -s -o sjisconv sjisconv.c
+ cc -O -s -o extconv extconv.c
+
+and move the binaries to a location in your path, e.g., /usr/local/bin in
+a Unix system. [`cc' is the C compiler.]
+
+See the batch files bg5latex[.bat], etc., for examples how to use them.
+
+Each Big 5, Big 5+, or GBK character (and each two-byte encoded SJIS
+character) `XY' is converted into the form `^^7fX^^7fZZZ^^7f'; ZZZ is the
+decimal equivalent of Y, and ^^7f is a character with the hex value 0x7F.
+The use of bg5conv/sjisconv/extconv is completely transparent; no changes to
+your documents are necessary.
+
+It is possible to mix preprocessed and non-preprocessed data; simply use
+\CJKenc to change the encoding; you can use \CJKinput and \CJKinclude to
+load preprocessed data (see commands.txt for a detailed description).
+
+If you use traditional Chinese characters within Mule or Emacs 20, it is not
+necessary to call bg5conv after the use of *cjk-coding* output encoding (but
+it is necessary if you write out the file in Big 5 encoding).
+
+Note 1: The OS/2 script files bg5latex.cmd, etc., need REXX which you
+ probably have to install first.
+
+Note 2: With extconv, you can also preprocess encodings like GB or SJIS.
+ This has the advantage that such data is robust against any changes
+ of the uc/lccodes in the range 0xA1-0xFE. Only three encodings can't
+ be preprocessed: UTF8, EUC-TW, and EUC-JP.
+
+
+Customization
+-------------
+
+In case you want to add encodings, font encodings, and related things, or if
+you must change or customize some CJK settings, you should use a
+configuration file called `CJK.cfg' which is loaded (if it exists) by
+CJK.sty just before the final \endinput command.
+
+
+Caveats
+-------
+
+ o You can of course use CJK environments inside of a CJK environment,
+ but it is possible that you must increase the so called `save size'
+ of TeX (with emTeX you can adjust this with -ms=...; web2c users
+ can control it with the `save_size' parameter in texmf.cnf).
+
+ The CJK package has optional arguments which control the scope of
+ CJK environments:
+
+ lowercase If you want to use \lowercase with encodings
+ inside CJK environments. You need less save size
+ using the `encapsulated' option if `lowercase'
+ is not set. You must use bg5conv (sjisconv) or
+ cjk-enc.el to use Big 5 (SJIS) characters with
+ this option.
+
+ Use this with caution! All \lccode values in the
+ range 0x80-0xFF are set to zero, thus disabling
+ TeX's hyphenation mechanism for words which
+ contain characters of this range in the *input
+ encoding* (e.g., Latin-1 encoded words with
+ accents). This is due to an unfortunate mangling
+ of the input and output encoding mechanism in
+ TeX itself.
+
+ global \lccode (if `lowercase' set), \uccode, \catcode
+ and the activation of the characters 0x81-0xFE
+ are globally modified (\lccode and \uccode reset
+ to 0). This is the most economical mode
+ concerning save size, but you can't have CJK
+ environments inside of CJK environments or other
+ environments which manipulate the character
+ range 0x81-0xFE.
+
+ All CJK font selection commands are globally too!
+
+ Packages which change some of the above values
+ only once (e.g., in the preamble) also don't
+ work after the first use of a CJK environment.
+
+ cjk-enc.el automatically selects this option.
+
+ local \lccode (if `lowercase' set) and \uccode
+ together with bindings are modified globally.
+ This is the default. You can stack CJK
+ environments.
+
+ active If activated, bindings are local additionally.
+ You need this option if you want to mix
+ preprocessed text with non-preprocessed text in
+ nested CJK environments. This can happen if you
+ merge texts in various encodings.
+
+ encapsulated If you want to access e.g., T1 fonts directly
+ (i.e., without the macros defined in t1enc.def)
+ or if you want to use a non-CJK LaTeX 2e input
+ encoding outside of the CJK environment (e.g.,
+ `latin1' for Western European, `latin2' for
+ Eastern European), you must use this option.
+ This also ensures that \uppercase and \lowercase
+ (together with \MakeUppercase and
+ \MakeLowercase) work correctly. All values
+ mentioned above are local, so you can stack
+ environments. This option probably causes an
+ overflow of the save size.
+
+ Note: All macro packages which access T1 fonts
+ with the macros defined in t1enc.def work in CJK
+ environments! E.g., the command `"s' of
+ german.sty works with \MakeUppercase too.
+
+
+ Say
+
+ \usepackage[<option>]{CJK}
+
+ to activate <option>.
+
+ o There is another way to overcome the problem of stacked
+ environments. CJK implements four CJK attribute switches: \CJKenc,
+ \CJKfontenc, \CJKencfamily, and \CJKfamily; see commands.txt for a
+ detailed description. If you need two different encodings/families
+ at the same output line, you must use these macros.
+
+ An example for \CJKfamily:
+
+ \begin{CJK}{GB}{song}
+ ... Text in GB song ... \CJKenc{GBt}
+ ... Text in GBt song ... \CJKfamily{kai}
+ ... Text in GBt kai ...
+ \end{CJK}
+
+ An example for \CJKencfamily:
+
+ \CJKencfamily{Bg5}{fs}% fangsong
+ \CJKencfamily{GB}{kai}
+
+ \begin{CJK*}{}{}
+ \CJKenc{Bg5} ... Text in Big 5 fangsong ...
+ \CJKenc{GB} ... Text in GB kai ...
+ \end{CJK*}
+
+ Contrary to \begin{CJK}{...}{...} it is not necessary to start a new
+ line in your TeX document file after \CJKenc.
+
+ o A similar command to \CJKchar is \Unicode{<byte1>}{<byte2>} to
+ access Unicode characters (real Unicode values, not UTF-8 encoded
+ Unicode) directly; the parameters are the first (high) and second
+ (low) byte of the Unicode. \Unicode works only in UTF-8 encoding; in
+ all other encodings you must use \CJKchar[UTF8]{<byte1>}{<byte2>}
+ instead.
+
+ For Unicode characters greater than U+FFFF, put the first two bytes
+ into the first argument, and the third byte into the second
+ argument. Examples are \Unicode{"25E}{"9A} and
+ \CJKchar[UTF8]{"25E}{"9A} to represent U+25E9A.
+
+ o CJK disables \MakeUppercase (preserving the command as
+ \CJKuppercase) if you select Big 5 or SJIS encoding without using
+ bg5conv or sjisconv. This usually affects the headers of the LaTeX
+ 2e standard classes only.
+
+ o Because CJK.sty and MULEenc.sty insert glue between CJK (and Thai)
+ characters, it is possible to get unwanted line breaks in verbatim
+ environments if lines are too long. To avoid this, use the command
+ \CJKverbatim in combination with the `verbatim' package. It installs
+ a hook which disables \CJKglue and \Thaiglue in verbatim
+ environments.
+
+
+Possible errors
+---------------
+
+ o If you write Chinese (or Japanese) text, don't forget to suppress
+ the linefeed character with a trailing `%' in the CJK environment,
+ otherwise you get unwanted spaces in the output. On the other side,
+ say `\ ' or something similar inside the CJK* environment to get a
+ space after a CJK character.
+
+ o To suppress a line break before a CJK character, say \CJKkern. This
+ command prevents the insertion of \CJKglue before the CJK character.
+
+ You may wonder about the strange name: a small kern (2 sp) between
+ two CJK characters signals that the first one is a punctuation
+ character.
+
+ o If you get the error message: `\CJK... undefined' or other `...
+ undefined ...' messages and you can't find an error, try inserting
+ \newpage, \clearpage, or \cleardoublepage (the latter for two-column
+ printing) before saying \end{CJK} or \end{CJK*}. This can happen if
+ LaTeX 2e writes headers, footers, or index entries (both \index and
+ \printindex) of a page containing CJK characters after closing the
+ CJK environment.
+
+ In case of footnotes with CJK characters which are split across
+ pages, you have to close the CJK environment on the page on which
+ the particular footnote ends (probably preceded by a \newpage
+ command).
+
+ o A similar message to the one mentioned in the last item can be
+ caused by using the \EveryShipout command from everyshi.sty; here
+ the reason is exactly the opposite, namely the possible use of a
+ non-CJK font within an implicit CJK environment. For example, if
+ you have
+
+ \EveryShipout{
+ \fontfamily{phv}%
+ \selectfont
+ ...
+ }
+
+ it can happen that LaTeX tries to use family `phv' for a `CXX'
+ encoding. The solution is to specify the encoding in \EveryShipout
+ also:
+
+ \EveryShipout{
+ \fontfamily{phv}%
+ \fontencoding{T1}%
+ \selectfont
+ ...
+ }
+
+ o Some file editors insert a Byte Order Mark (BOM, U+FEFF) even if
+ they emit UTF-8. This sequence consists of the three bytes 0xEF
+ 0xBB 0xBF, always to be found at the very beginning of a file,
+ and which should be ignored.
+
+ Unfortunately, there is no way to handle them automatically in the
+ CJK package so that they don't produce output or warnings (or even
+ error messages) -- it would be necessary to add a hack to the LaTeX
+ kernel itself. With other words, these three bytes must be removed
+ before LaTeX is called.
+
+ o If you get overfull \hbox'es caused by CJK characters, try to
+ increase \CJKglue. It defines the glue between CJK characters; the
+ default definition is
+
+ \newcommand{\CJKglue}{\hskip 0pt plus 0.08\baselineskip} .
+
+ \CJKglue is inserted by CJK.sty between CJK characters (except
+ punctuation characters as defined in the punctuation tables; see
+ CJK.enc for the lists). You should separate non-CJK text from CJK
+ characters with spaces to enable hyphenation, or you write
+ \CJKtilde and then use `~' instead of spaces to embed non-CJK text
+ into CJK characters.
+
+ o If you get overfull \hbox'es caused by Hangul syllables, try to
+ increase \CJKtolerance. The default definition is
+
+ \newcommand{\CJKtolerance}{400} .
+
+ Alternatively, try to increase \emergencystretch (which is a TeX
+ primitive), setting it to a reasonable value.
+
+ o It is not possible to start a new encoding inside of a verbatim
+ environment which has not been loaded before (CJK.sty emits an
+ \input ... command which causes the encoding file to be printed
+ verbatim instead of being executed). In this case, write a proper
+ \CJKenc{...} command before opening the verbatim environment.
+
+ Example:
+
+ \CJKenc{JIS} % this loads standard.enc and standard.chr
+
+ \begin{verbatim}
+ ...
+ first time JIS characters appear
+ ...
+ \end{verbatim}
+
+
+ cjk-enc.el does this automatically for you.
+
+ o If you get an error message which looks like this:
+
+
+ ! Undefined control sequence.
+ try@size@range ...extract@rangefontinfo font@info
+ <-*>@nil <@nnil
+
+
+ then you are using an unknown family for a CJK encoding.
+
+ Reason: If you declare an NFSS font encoding in the standard way the
+ corresponding FD file for the default font is loaded. For the CJK
+ package this would be almost 30 files which is inacceptable. To
+ avoid this overhead NFSS is faked with some rudimentary definitions
+ just enough to pass the NFSS tests. Of course this has a
+ disadvantage: An unknown CJK family causes the above error instead
+ of switching to the fallback family usually defined with
+ \DeclareFontSubstitution. Nevertheless, replacing an undefined
+ series or shape works correctly.
+
+ The CJK package's default family value is `song' for all encodings
+ except KS; to avoid the error just described in cases you start an
+ environment with an empty family parameter the files `XXXsong.fd'
+ for all encodings `XXX' (except for KS) are already provided.
+
+ o It is neither possible to use a CJK character in a \cite command of
+ standard LaTeX, nor is it possible to use the `alpha' citation
+ style. This is a limitation of LaTeX and not of the CJK package.
+
+ o Sometimes it is necessary to define or redefine a command or
+ environment globally in the preamble, using CJK characters. Example:
+
+ \newtheorem{Them}{some Chinese characters}[section]
+
+ This won't work directly because of the Chinese characters,
+ producing an error. The next idea is to use a CJK environment in the
+ preamble:
+
+ \begin{CJK}{...}{...}
+ \newtheorem{Them}{some Chinese characters}}[section]
+ \end{CJK}
+
+ Don't be surprised that this also fails! Most commands like
+ \newtheorem expand to \def which define a macro locally only;
+ consequently, the just defined command is undefined again after
+ leaving the CJK environment.
+
+ The correct solution is to use a globally defined macro:
+
+ \begin{CJK}{...}{...}
+ \gdef\ChineseTheorem{some Chinese characters}
+ \end{CJK}
+
+ \newtheorem{Them}{\ChineseTheorem}[section]
+
+ o The \makelabels command of letter.sty needs special treatment if you
+ have an address with CJK characters because it uses the
+ \AtEndDocument hook to write out its data. Since \AtEndDocument is
+ called by \end{document} after all environments have been closed
+ already, a CJK environment must be explicitly inserted into the AUX
+ file. Example:
+
+ \documentclass{letter}
+
+ \usepackage{CJK}
+
+ \makeatletter
+ \AtBeginDocument{%
+ \if@filesw
+ \immediate\write\@mainaux{\string\begin{CJK*}{...}{...}}%
+ \fi}
+ \makelabels
+ \AtEndDocument{%
+ \if@filesw
+ \immediate\write\@mainaux{\string\end{CJK*}}%
+ \fi}
+ \makeatother
+
+
+ \begin{CJK*}{...}{...}
+ \address{An address\\
+ with some CJK characters}
+ \signature{...}
+ \end{CJK*}
+
+
+ \begin{document}
+
+ \begin{CJK*}{...}{...}
+
+ \begin{letter}{Another address\\
+ with some CJK characters}
+ \opening{...}
+
+ Your letter text
+
+ \closing{...}
+ \end{letter}
+
+ \end{CJK*}
+
+ \end{document}
+
+ o A similar solution is needed if you use \bibliography and your
+ bibliographic database contains author names with CJK characters.
+
+ \makeatletter
+ \AtBeginDocument{%
+ \if@filesw
+ \immediate\write\@mainaux{\string\begin{CJK*}{...}{...}}%
+ \immediate\write\@mainaux{\string\makeatletter}%
+ \fi}
+ \AtEndDocument{%
+ \if@filesw
+ \immediate\write\@mainaux{\string\end{CJK*}}%
+ \fi}
+ \makeatother
+
+ o If you get strange error messages while using the hyperref package,
+ add the `CJKbookmarks' option:
+
+ \usepackage[CJKbookmarks]{hyperref}
+
+ o Some versions of fourier.sty cause the following error message:
+
+ ! Undefined control sequence.
+ \<->futr8t ->\SetFourierSpace
+
+ A simple solution is to insert the line
+
+ \providecommand{\SetFourierSpace}{}
+
+ right before loading fourier.sty .
+
+
+Author
+------
+
+Werner Lemberg <wl@gnu.org>
+
+Kleine Beurhausstr. 1
+D-44137 Dortmund
+Germany
+
+Tel. +49 231 165290
+
+Please report any errors or suggestions to cjk-bug@ffii.org.
+
+
+---End of CJK.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/CJKutf8.txt b/Master/texmf-dist/doc/latex/cjk/doc/CJKutf8.txt
new file mode 100644
index 00000000000..7cae09f4655
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/CJKutf8.txt
@@ -0,0 +1,40 @@
+This is the file CJKutf8.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+CJKutf8.sty
+-----------
+
+This package merges base LaTeX's and CJK's UTF-8 support. If a Unicode
+character (within a CJK environment) corresponds to a glyph from the
+selected LaTeX font encoding, use it, otherwise it is taken from the
+selected CJK unicode font.
+
+Usage:
+
+ \usepackage[<font encoding>]{CJKutf8}
+
+ The <font encoding> value is directly passed to the `fontenc' package.
+ Besides `fontenc', CJKutf8.sty also loads the CJK package with the
+ `encapsulated' option so that you can use UTF-8 outside of the CJK
+ environment also.
+
+ Note that only font encodings with a corresponding DFU file actually
+ have Unicode definitions (for example, `t1enc.dfu').
+
+ Only use UTF-8 encoding for the CJK environment! Other encodings
+ don't give an error but might replace some CJK characters with glyphs
+ from the selected LaTeX encoding.
+
+If pdftex is used, ToUnicode cmaps are automatically generated (for C70
+encoding); use it in combination with Vladimir Volovich's `cmap' package.
+
+If CJKutf8.sty is used together with the `unicode' option of the hyperref
+package, pdftex automatically produces correct Unicode bookmarks.
+
+Both ToUnicode cmaps and Unicode bookmarks support characters greater than
+U+FFFF.
+
+Please read section `Possible errors' in CJK.txt regarding the Byte Order
+Mark (BOM) -- this should always be removed.
+
+---End of CJKutf8.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/COPYING b/Master/texmf-dist/doc/latex/cjk/doc/COPYING
new file mode 100644
index 00000000000..b2fe7b6af35
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/INSTALL b/Master/texmf-dist/doc/latex/cjk/doc/INSTALL
new file mode 100644
index 00000000000..27521d044ee
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/INSTALL
@@ -0,0 +1,686 @@
+This is the file INSTALL of the CJK macro package ver. 4.8.0 (22-May-2008).
+
+Installation Guide
+==================
+
+It is probably a good idea to get a packaged version of CJK---be warned that
+installing CJK is *not* trivial.
+
+The easiest solution is to use the TeX Live CD which is distributed among
+members of TeX user groups worldwide. It comes with a ready-to-run CJK setup
+together with basic CJK fonts (in outline format if freely available) for
+almost all encodings. To get a recent snapshot, try the SVN archive. See
+
+ http://www.tug.org/texlive/svn/
+
+for more details.
+
+. Using web sites like http://rpmseek.com you can find and download CJK
+ packages for most GNU/Linux distributions like SuSE or Debian.
+
+. For FreeBSD try this:
+
+ http://www.freebsd.org/ports/chinese.html
+
+. MikTeX also provides packages for CJK.
+
+
+Here a check list for the impatient (experienced) user which tries to show
+whether you've done all steps to install the CJK package and fonts. It is
+assumed that you want to install both ttf2pk and hbf2gf.
+
+Detailed explanations can be found below.
+
+
+--- begin checklist ---------------------------------------------------------
+
+. Have you installed a LaTeX 2e version newer or equal to 2001/06/01? The
+ version of LaTeX is given in each log file produced by LaTeX. For using
+ CJKutf8.sty you even need version 2003/12/01.
+
+. Have you removed an older version of CJK? If not, do it now but don't
+ forget to save your FD and other files which you have changed! Don't
+ forget also to remove the ttf2pk and hbf2gf binaries.
+
+. Can the texinput tree of the CJK package be found by your TeX
+ implementation? Have you activated subdirectory searching?
+
+. Have you downloaded the needed font packages (either ps, hbf or ttf)? See
+ also contrib/wadalab/DNP.txt for the Japanese Wadalab fonts. Have you
+ moved the TFM files into your TFM-tree (or updated TFMINPUTS accordingly)?
+ Ditto for VF files if needed.
+
+. Have you installed ttf2pk and ttf2tfm from the FreeType 1 package (only
+ needed for TrueType fonts)? Note that FreeType 2 won't work.
+
+. Have you run ttf2tfm to create the proper TFM files from your TrueType
+ fonts? This won't be done automatically via mktextfm or MakeTeXTFM!
+
+. Have you updated the ttfonts.map file for ttf2pk? Have you updated the
+ various hbf2gf config files? Have you copied them to the right places?
+ Don't forget to install ttf2pk's SFD and other data files which define the
+ various CJK subfonts and encodings.
+
+. Have you modified and installed the script files for automatic font
+ generation (not necessary for teTeX 1.0 or newer)?
+
+. If you want Thai support, have you followed the instructions given in
+ thaifont.txt?
+
+
+web2c/teTeX users:
+
+. Do you have a C compiler and a make program available for compilation? GNU
+ gcc and GNU make are recommended.
+
+. Have you updated special.map?
+
+. Have you used the options --with-kpathsea-include=... and
+ --with-kpathsea-lib=... while calling the configure script of hbf2gf
+ (or ttf2pk)? Otherwise no file searching library is used which yields
+ surprising results... Note: Don't use `/usr/include/kpathsea', for
+ example, but `/usr/include' as an argument to --with-kpathsea-include.
+
+. To check whether kpathsea correctly finds HBF files and configuration
+ files for hbf2gf, say:
+
+ kpsewhich -progname=hbf2gf -format='misc fonts' <your_font>.hbf
+ kpsewhich -progname=hbf2gf -format='other text files' <your_file>.cfg
+
+ The same for TrueType fonts and the ttf2pk config file:
+
+ kpsewhich -progname=ttf2pk <your_font>.ttf
+ kpsewhich -progname=ttf2pk -format='other text files' ttfonts.map
+
+ [Recent kpathsea versions (like 3.5.5) which come with the new teTeX or
+ TeXLive distributions have a new variable `TEXFONTMAPS' for map files;
+ you should use this test
+
+ kpsewhich -progname=ttf2pk -format=map ttfonts.map
+
+ instead of the last one.]
+
+. Have you compiled the various *conv utility programs (like bg5conv)? Have
+ you installed them together with the caller scripts (like bg5latex) in
+ your path? FOR BIG 5 ENCODING YOU SHOULD ALWAYS USE bg5latex or
+ bg5pdflatex (except if you use cjk-enc.el). FOR SJIS ENCODING YOU SHOULD
+ ALWAYS USE sjislatex or sjispdflatex.
+
+. Have you updated and controlled the texmf.cnf configuration file or set
+ the various environment variables? (TEXINPUTS, TFMFONTS, PKFONTS,
+ MISCFONTS, TTFONTS, probably TTF2PKINPUTS, TTF2TFMINPUTS, HBF2GFINPUTS)
+
+. ttf2pk and hbf2gf should be in the same directory where your TeX binaries
+ like `texconfig' or `gftopk' are (or you must set TEXMFCNF and probably
+ TEXMF in the environment). Soft links won't work!
+
+. Finally, have you run texhash (or mktexlsr) after finishing all other
+ things?
+
+
+emTeX users:
+
+. Have you created a LaTeX format file which allows plain 8bit input and
+ output without using any TeX Code Page (tcp)?
+
+. Have you installed 4DOS (4OS2 or Take Command) for running the file
+ dvidrv.btm?
+
+. Have you configured dvidrv.btm?
+
+. Have you installed the various *conv utility programs (like bg5conv)?
+ together with the caller scripts (like bg5latex.bat)? FOR BIG 5 ENCODING
+ YOU SHOULD ALWAYS USE bg5latex.bat . FOR SJIS ENCODING YOU SHOULD ALWAYS
+ USE sjisltx.bat .
+
+. Have you created and installed TFM files for fonts not in a CJK font
+ package?
+
+. Check whether you have updated all needed environment variables (TEXINPUT,
+ TEXTFM, TTFONTS, TTFCFG, HBFONTS, HBFCFG) and your dvidrv configuration
+ file or files (+font-files, +virtual-fonts).
+
+
+In case of errors, verify the list step by step. Detailed information for
+each step can be found in the documentation files of CJK. Under web2c or
+teTeX, you can set the KPATHSEA_DEBUG environment variable to -1, then all
+debugging info is shown and sent to stderr; it is *highly* recommended that
+you read the kpathsea.info files. Under emTeX, read the various
+documentation files, especially dvidrv.doc and tex.doc, and check the log
+file of your dvi driver.
+
+For hbf2gf, read hbf2gf.txt and its manual page (hbf2gf.1 or a formatted
+version of it). Similarly, more info on ttf2tfm and ttf2pk can be found in
+ttf2pk.doc and the manual pages ttf2pk.1 and ttf2tfm.1 (or a formatted
+version).
+
+--- end checklist -----------------------------------------------------------
+
+
+
+Unix (web2c and teTeX)
+----------------------
+
+. If you can become root, rename the `texinput' directory tree of CJK into
+ `CJK' or something else and add it to your (local) web2c texinput tree
+ (for example, /usr/local/share/texmf.local/tex/latex/CJK).
+
+. If you can't become root, modify the TEXINPUTS environment variable
+ instead so that it includes the CJK directory; use a command similar to
+
+ setenv TEXINPUTS :<your CJK directory>//
+
+ to let TeX search the standard directories and your CJK tree, e.g.,
+
+ setenv TEXINPUTS :/home/joe_user/CJK/4_3.0/texinput//
+
+ (Note the leading double colon to append a path, and the double slash to
+ activate subdirectory searching---for details see the kpathsea info
+ files.)
+
+ [Recent teTeX and TeXLive versions automatically search a TEXMF tree in
+ your home directory called `texmf'.]
+
+ See contrib/wadalab/DNP.txt for the Japanese Wadalab fonts.
+
+. Edit the FD files of the encodings you want to use to specify the fonts
+ you have. An explanation of the additional size commands CJK provides can
+ be found in fonts.txt .
+
+ Note: Most FD example files from the CJK package are set up for PS fonts
+ from the TeXLive distribution.
+
+ If you use the CJK font packages (see below) no changes are needed.
+
+. [In case you plan to use only outline fonts (PFB, TTF) you can omit the
+ installation of hbf2gf and HBF fonts.]
+
+ If necessary, create TFM (and PK) files from CJK bitmaps with hbf2gf
+ (found in utils/hbf2gf). This program comes with a configure script; say
+ `./configure --help' in the utils/hbf2gf directory for configuration
+ options. You need a compiled kpathsea library and its header files; in
+ most cases you say
+
+ ./configure --prefix=/usr/local/TeX \
+ --with-kpathsea-include=<INCLUDEDIR> \
+ --with-kpathsea-lib=<LIBDIR>
+ make
+ make install
+
+ for a normal compilation and installation. Replace `/usr/local/TeX' with a
+ path to your TeX distribution, and <DIR> with the directory one level
+ higher than the library and the include files themselves. Example:
+ libkpathsea.a is in /usr/local/TeX/lib/i686-linux, kpathsea.h is in
+ /usr/local/TeX/include/kpathsea; then <LIBDIR> should be
+ `/usr/local/TeX/TeX/lib/i686-linux', and <INCLUDEDIR> should be
+ `/usr/local/TeX/include' (and not `/usr/local/TeX/include/kpathsea).
+
+ See hbf2gf.txt, the man page (hbf2gf.1), and the documentation of the
+ source file (hbf2gf.dvi) for further details. Usually it is sufficient to
+ let hbf2gf create a complete set of TFM files; PK fonts are then created
+ on demand.
+
+ Older kpathsea versions need a patched MakeTeXPK or mktexpk script; you
+ should apply the proper patch(es) from utils/hbf2gf/scripts. No changes to
+ the script files are necessary for teTeX 1.0 and newer.
+
+ The CJK font packages already contain TFM (and VF) files arranged for the
+ (new) TDS directory structure; add it directly to your TEXMF tree.
+
+. Free Chinese TrueType fonts (for both simplified and traditional Chinese)
+ with a license similar to the GPL can be found on
+
+ ftp://ftp.gnu.org/gnu/nongnu
+
+ and its mirrors worldwide. You might also search websites of companies
+ offering WWW browser; they often come with CJK language packs which
+ contain CJK TrueType fonts.
+
+ Please note that many CJK TrueType fonts only have a Unicode mapping
+ table. You should use the SFD files from the ttf2pk package starting with
+ the letter `U' (e.g., UKS.sfd) which maps Unicode fonts to language
+ specific encoded subfonts as needed by the CJK package.
+
+ The ttf2pk package found in the contrib/ttf2pk directory of
+
+ ftp://ftp.freetype.org/pub/
+ freetype/unstable/freetype1-contrib-current.tar.gz
+
+ contains the two programs ttf2tfm and ttf2pk for converting TrueType fonts
+ into TFM and PK fonts, respectively. By the way, this package is not
+ restricted to CJK TrueType fonts; it works with other TrueType fonts too.
+ Read the manual pages and the documentation for further information. For
+ compilation you also need the FreeType 1 package:
+
+ ftp://ftp.freetype.org/pub/freetype/unstable/freetype-current.tar.gz
+
+. The font editor `fontforge' (available from http://fontforge.sf.net) is
+ capable of generating Type 1 subfonts as needed by CJK from other formats
+ like TTF, OTF or CID (using the subfont definition files from ttf2pk).
+ Such subfonts should be usable by virtually all platforms.
+
+ (Funnnily, fontforge uses the `.sfd' extension also for saving font files
+ it creates.)
+
+ Although fontforge needs the X Window System, it can be compiled without a
+ graphical interface, using a scripting language to control font
+ conversion. The directory `utils/subfonts' of the CJK package contains
+ useful scripts for manipulating subfonts.
+
+. It is recommended to add all CJK fonts which are converted to the PK font
+ format (either with hbf2gf or ttf2pk) to the file special.map: Assuming
+ that your PK fonts should be generated in
+
+ $TEXMF/fonts/pk/modeless/gb2312/gsfs14/
+
+ the proper entries would be
+
+ gsfs1401 gb2312 gsfs14
+ gsfs1402 gs2312 gsfs14
+ ...
+
+. Compile the small preprocessors in the utils subdirectories with
+
+ cc -O -s -o bg5conv bg5conv.c
+ cc -O -s -o sjisconv sjisconv.c
+ cc -O -s -o cefconv cefconv.c
+ cc -O -s -o cef5conv cef5conv.c
+ cc -O -s -o cefsconv cefsconv.c
+ cc -O -s -o extconv extconv.c
+
+ and move them into TeX's bin directory (together with the shell scripts)
+ or modify the PATH environment variable appropriately. (`cc' can be any C
+ compiler.)
+
+ The script files `...latex' make the use of these programs transparent.
+
+. Move the man pages into your man1 directory tree.
+
+. If you want to use Mule, emacs, or XEmacs together with the CJK package,
+ you should install cjk-enc.el (in utils/lisp). See cjk-enc.txt for
+ documentation. Choose the correct cjk-enc.el version---note that the Mule
+ version has limited capabilities compared to the Emacs version.
+
+ Move cjk-enc.el to a place which is searched by Mule (e.g.,
+ /usr/local/lib/mule/site-lisp) and put the following line into your emacs
+ file:
+
+ (load-library "cjk-enc")
+
+ The default directory for emacs is /usr/local/share/emacs/site-lisp.
+
+ Note that you don't need cjk-enc.el in case you are editing UTF-8 encoded
+ files only.
+
+. If you mainly write Chinese or Japanese with Emacs or Mule, consider the
+ use of cjktilde.el (in utils/lisp). This file contains a minor mode which
+ exchanges the tilde key with the space key. See the documentation of
+ \CJKtilde in CJK.txt for the reasons to use `~' in most cases instead of
+ a space character.
+
+ To install, move cjktilde.el to a place which is searched by Emacs or Mule
+ (e.g., /usr/local/share/emacs/site-lisp) and put the following line into
+ your .emacs file:
+
+ (load-library "cjktilde")
+
+ To toggle the CJK tilde mode say
+
+ M-x cjk-tilde-mode
+
+ You can then assign cjk-tilde-mode to a key, e.g., shift-insert.
+
+. If you use AUCTeX you can try cjkspace.el instead of cjktilde.el; it works
+ in a similar (but not identical) way and is special to LaTeX buffers. Move
+ the file to the local lisp directory and put the following lines into your
+ .emacs file:
+
+ (autoload 'CJK-insert-space "cjkspace"
+ "Insert tildes appropriately in CJK document." t)
+ (defun my-LaTeX-mode-hook ()
+ "My personal key definitions for LaTeX mode."
+ (define-key LaTeX-mode-map " " 'CJK-insert-space))
+ (add-hook 'LaTeX-mode-hook 'my-LaTeX-mode-hook)
+
+ Please read the documentation in the file cjkspace.el .
+
+. For Thai support please follow the instructions given in `thaifont.txt'.
+
+
+DOS and OS/2 (emTeX)
+--------------------
+
+web2c has been ported to MS-DOS. If you use this (which I recommend), follow
+the instructions above.
+
+. Note that some Unix specific shell scripts and other files have names
+ longer than 8 characters. You don't need them. Some of the TeX input files
+ have lower and uppercase characters in its filenames, but none of the
+ filenames collide under DOS.
+
+. Move the `texinput' directory tree to a place where TeX scans for input
+ files (and rename it to `cjk' or something else). Note that its
+ subdirectories are specific to encoding schemes. emTeX allows for
+ recursively scanned search paths, thus retaining the directory tree is
+ possible.
+
+ Example:
+
+ CJK files: c:\emtex\texinput\cjk\...
+ environment: set emtexdir=c:\emtex
+ set texinput=%emtexdir%\texinput!!
+
+ See contrib/wadalab/DNP.txt for the Japanese Wadalab fonts.
+
+. [In case you plan to use only outline fonts (PFB, TTF) you can omit
+ this step.]
+
+ Compile hbf2gf. You need GNU make and either the emx (DOS and OS/2) or
+ the djgpp (DOS and Windows) compiler.
+
+ Say `make -f Makefile.gnu' to see the possible options; more info can be
+ found in hbf2gf.txt .
+
+. Compile the utility programs.
+
+ cc -O -s -o bg5conv bg5conv.c
+ cc -O -s -o sjisconv sjisconv.c
+ cc -O -s -o cefconv cefconv.c
+ cc -O -s -o cef5conv cef5conv.c
+ cc -O -s -o cefsconv cefsconv.c
+ cc -O -s -o extconv extconv.c
+
+. Move the various BAT files (for DOS) and/or the CMD REXX scripts (for
+ OS/2) into a directory in the path (e.g., c:\emtex\bin).
+
+. Edit the FD files of your encoding(s) to specify the fonts you have. An
+ explanation of the additional size commands CJK provides can be found in
+ fonts.txt .
+
+ Note: Most FD example files from the CJK package are set up for PS fonts
+ from the TeXLive distribution.
+
+ If you use the CJK font packages (see below) no changes are needed.
+
+. [In case you plan to use only outline fonts (PFB, TTF) you can omit this
+ step.]
+
+ If necessary, create TFM (and PK) files from CJK bitmaps with hbf2gf
+ (found in utils\hbf2gf). See hbf2gf.txt and the documentation of the
+ source file (hbf2gf.dvi) for explanation. Usually it is sufficient to let
+ hbf2gf create a complete set of TFM files; PK fonts are then created on
+ demand (this is done with the dvidrv.btm shell script of the CJK package).
+
+ You need 4DOS or 4OS/2 (these are shareware replacements for command.com)
+ to run dvidrv.btm.
+
+ dvidrv.btm should also work with Take Command/16, Take Command/32, or Take
+ Command for OS/2.
+
+ The CJK font packages already contain TFM (and VF) files (arranged for the
+ (new) TDS directory structure; unpack the font packages in the root
+ directory with
+
+ gzip -d CJK_font_archive.tgz
+ tar xvf CJK_font_archive.tar
+
+ Rearrange the directory structure as suggested below (to make the file
+ search mechanism of emTeX faster) and modify the appropriate environment
+ variables to include the additional directories. The same holds for the
+ CJK bitmap fonts, its HBF header files and the hbf2gf configuration files.
+
+ [Note: Binaries for the gzip and tar archive programs can be found on CTAN
+ in the `utils' subdirectory.]
+
+ Example:
+
+ jfs56.tar.gz (should be ftp'ed as jfs56.tgz if you work under DOS
+ since two dots are not allowed)
+
+ suggested final directory structure (after unpacking and rearranging):
+
+ c:\texmf\fonts\tfm\gsfs1401.tfm ...
+ c:\texmf\hbf2gf\gsfs14.cfg
+ c:\texmf\fonts\hbf\gb2312\jfs56\jfs56.a ...
+ [ c:\texmf\fonts\pk\modeless\XXXdpi\gsfs1401.pk ... ]
+
+ Add these lines to the end of autoexec.bat:
+
+ set texmfdir=c:\texmf
+ set cjkpk=%texmfdir%\fonts\pk
+ set textfm=%textfm%;%texmfdir%\fonts\tfm
+
+ Under OS/2, add similar lines (but with expanded pathnames) to the end
+ of config.sys:
+
+ set texmfdir=c:\texmf
+ set cjkpk=c:\texmf\fonts\pk
+ set textfm=<your old textfm path>;c:\texmf\fonts\tfm
+
+ Changes in gsfs14.cfg:
+
+ pk_directory $texmfdir\fonts\pk\modeless\432dpi\
+ tfm_directory $texmfdir\fonts\tfm\
+
+ Changes in dvidrv.btm:
+
+ set pkdir=%texmfdir%\fonts\pk
+ set ttfcfg=%texmfdir%\ttf2pk
+ set hbfcfg=%texmfdir%\hbf2gf
+
+ set pre_dpi=
+ set post_dpi=dpi
+
+ Changes in a dvi driver configuration file (.cnf) for emTeX:
+
+ +font-files:{<your old pk path>,$texmfdir:fonts\modeless}\@Rrdpi\@f.pk
+
+. Free Chinese TrueType fonts (for both simplified and traditiional Chinese)
+ with a license similar to the GPL can be found on
+ ftp://ftp.gnu.org/gnu/nongnu and its mirrors worldwide. You might also
+ search websites of companies offering WWW browser; they often come with
+ CJK language packs which contain CJK TrueType fonts.
+
+ Please note that many CJK TrueType fonts only have a Unicode mapping
+ table. You should use the SFD files from the ttf2pk package starting with
+ the letter `U' (e.g., UKS.sfd) which maps Unicode fonts to language
+ specific encoded subfonts as needed by the CJK package.
+
+ The ttf2pk package can be found in the contrib/ttf2pk directory of
+
+ ftp://ftp.freetype.org/
+ freetype/unstable/freetype1-contrib-current.tar.gz
+
+ contains the two programs ttf2tfm and ttf2pk for converting TrueType fonts
+ into TFM and PK fonts, respectively. By the way, this package is not
+ restricted to CJK TrueType fonts; it works with other TrueType fonts too.
+ Read the manual pages and the documentation for further information. For
+ compilation you also need the FreeType 1 package:
+
+ ftp://ftp.freetype.org/pub/freetype/unstable/freetype-current.tar.gz
+
+. The font editor `fontforge' (available from http://fontforge.sf.net) is
+ capable to generate Type 1 subfonts as needed by CJK from other formats
+ like TTF, OTF or CID (using the subfont definition files from ttf2pk).
+ Such subfonts should be usable by virtually all platforms.
+
+ (Funnnily, fontforge uses the `.sfd' extension also for saving font files
+ it creates.)
+
+ Although fontforge needs the X Window System, it can be compiled without a
+ graphical interface, using a scripting language to control font
+ conversion. The directory `utils/subfonts' of the CJK package contains
+ useful scripts for manipulating subfonts.
+
+. You find the some standard Hangul PK fonts for 300dpi (cx) and 600dpi
+ (ljfour) resolution in the following archives:
+
+ han.300.tar.gz
+ han1.300.tar.gz
+ han.600.tar.gz
+ han1.600.tar.gz
+ han.tfmvf.tar.gz
+ han1.tfmvf.tar.gz
+
+ It is necessary to rearrange not only the directory structure but the
+ names of the dpi directories too: The TeX directory standards specifies
+ `dpiXXX', but emTeX provides by default `XXXdpi'.
+
+ The final locations of the packages' files should be
+
+ c:\texmf\fonts\tfm\
+ c:\texmf\fonts\vf\
+ c:\texmf\fonts\pk\{cx,ljfour}\XXXdpi\
+
+ Additionally to the above example you should add this to the end of
+ autoexec.bat:
+
+ set cjkvf=%texmfdir%\fonts\vf
+
+ or config.sys for OS/2:
+
+ set cjkvf=c:\texmf\fonts\vf
+
+ Assuming that you use the 300dpi Hangul PK fonts (for a cx printer) you
+ should do the following changes in your dvi driver configuration file
+ (suffix `.cnf') for emTeX (still continuing the above example):
+
+ +font-files:{<your old pk path>,$texmfdir:fonts\{modeless,cx}}\@Rrdpi\@f.pk
+ +virtual-fonts:{<your old vf path>,$texmfdir:fonts}\@f.vf
+
+. For Thai support please follow the instructions given in `thaifont.txt'.
+
+
+Other systems
+-------------
+
+Recent versions of CJK have only been tested with web2c; nevertheless, it
+should run on other systems too:
+
+ The font editor `fontforge' (available from http://fontforge.sf.net) is
+ capable to generate Type 1 subfonts as needed by CJK from other formats
+ like TTF, OTF or CID (using the subfont definition files from ttf2pk).
+ Such subfonts should be usable by virtually all platforms.
+
+ (Funnnily, fontforge uses the `.sfd' extension also for saving font files
+ it creates.)
+
+ Although fontforge needs the X Window System, it can be compiled without a
+ graphical interface, using a scripting language to control font
+ conversion. The directory `utils/subfonts' of the CJK package contains
+ useful scripts for manipulating subfonts.
+
+ If no outline fonts are available and you have to use HBF fonts, try to
+ compile hbf2gf. Since it is written in ANSI C it should be fairly portable
+ (if patches are needed please send them to the author; most likely you
+ have to modify the file operating routines). If this fails it is necessary
+ to build the various PK fonts on a different machine. It has been reported
+ that older GNU compilers on the NeXT have difficulties with `%i'
+ formatting parameters in the HBF API (hbf.c): replace all occurrences of
+ `%i' with `%d'.
+
+ If there exists an equivalent to mktexpk (or dvidrv.btm), try to modify it
+ similar to CJK's changes so that CJK fonts can be created on the fly. If
+ this fails you can only use precompiled sets of CJK fonts (this is, using
+ PK fonts generated on another platform).
+
+ The rest should be rather trivial for the experienced user; again, please
+ write the author if you have successfully installed the package and send a
+ report how to install.
+
+
+How to get CJK and related software
+-----------------------------------
+
+. You find CJK and software related to TeX at the CTAN hosts (Comprehensive
+ TeX Archive Network). These completely identical ftp servers (concerning
+ TeX software) are
+
+ ftp.dante.de DANTE (Deutsche Anwendervereinigung fuer TeX)
+ Hamburg (Germany)
+ ftp.tex.ac.uk Cambridge University
+ Cambridge (England)
+ ctan.tug.org TUG (TeX Users Group)
+ Massachusetts (USA)
+
+ You should use the nearest one, or even better, a local mirror of a CTAN
+ host: The file `CTAN.sites' on CTAN contains a list.
+
+ On CTAN, the CJK package itself is unpacked. To receive the complete
+ package, go to the parent directory of CJK and say
+
+ get CJK.zip
+
+ or
+
+ get CJK.tar.gz
+
+ whatever is appropriate for your system.
+
+ The CJK directory and all its subdirectories are sent to you in compressed
+ form. Be aware that not all mirrors of CTAN sites support compression of
+ directories.
+
+. The documentation bundle of the CJK package is not unpackaged; download it
+ as
+
+ get cjk-4.8.0-doc.tar.gz
+
+ or
+
+ get cjk-4.8.0-doc.tar.gz cjkdoc.tgz
+
+ whatever is appropriate for your system. It contains precompiled versions
+ (in DVI, PDF, text format) of all documentation and example files.
+
+. PostScript font packages with subfonts which can be directly used by the
+ CJK package are already available on CTAN:
+
+ traditional Chinese:
+ fonts/arphic/bkai00mp-<version>.tar.gz
+ fonts/arphic/bsmi00lp-<version>.tar.gz
+
+ simplified Chinese:
+ fonts/arphic/gbsn00lp-<version>.tar.gz
+ fonts/arphic/gkai00mp-<version>.tar.gz
+
+ Japanese:
+ fonts/wadalab/gothic-0-13-<version>.tar.gz
+ fonts/wadalab/maru-0-8-<version>.tar.gz
+ fonts/wadalab/maru-1-8-<version>.tar.gz
+ fonts/wadalab/mincho-0-12-<version>.tar.gz
+ fonts/wadalab/mincho-0-8-<version>.tar.gz
+ fonts/wadalab/mincho-1-8-<version>.tar.gz
+
+ Korean:
+ fonts/korean/HLaTeX/uhc-bom.tar.gz
+ fonts/korean/HLaTeX/uhc-dinaru.tar.gz
+ fonts/korean/HLaTeX/uhc-fonts.tar.gz
+ fonts/korean/HLaTeX/uhc-gothic.tar.gz
+ fonts/korean/HLaTeX/uhc-graphic.tar.gz
+ fonts/korean/HLaTeX/uhc-gungseo.tar.gz
+ fonts/korean/HLaTeX/uhc-jamo.tar.gz
+ fonts/korean/HLaTeX/uhc-myoungjo.tar.gz
+ fonts/korean/HLaTeX/uhc-pen.tar.gz
+ fonts/korean/HLaTeX/uhc-pilgi.tar.gz
+ fonts/korean/HLaTeX/uhc-pilgia.tar.gz
+ fonts/korean/HLaTeX/uhc-shinmun.tar.gz
+ fonts/korean/HLaTeX/uhc-taza.tar.gz
+ fonts/korean/HLaTeX/uhc-vada.tar.gz
+ fonts/korean/HLaTeX/uhc-yetgul.tar.gz
+
+ You should consult the documentation and the font samplers of those
+ packages (if available) for more informations.
+
+. Mule 2.3 can be downloaded from this Japanese host:
+
+ ftp://ftp.m17n.org/pub/mule/mule-2.3.tar.gz
+
+ [Note: You need Mule 2.3 only for right-to-left scripts like Arabic or
+ Hebrew which aren't yet supported in emacs. Otherwise, I strongly
+ recommend to get FSF emacs 22 or newer, or XEmacs 21.1 or newer which is
+ available from ftp.gnu.org (USA) and ftp.xemacs.org, respectively, and
+ its many mirrors.]
+
+
+---End of INSTALL---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/TDS.txt b/Master/texmf-dist/doc/latex/cjk/doc/TDS.txt
new file mode 100644
index 00000000000..d50d879453c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/TDS.txt
@@ -0,0 +1,172 @@
+This is the file TDS.txt of the CJK macro package ver. 4.8.0 (22-May-2008).
+
+The TeX Directory Structure (TDS)
+---------------------------------
+
+A working group of the American TeX Users Group (TUG) has developed the TDS
+standard (available from the CTAN hosts in tex-archive/tds). That document
+describes a default directory structure where and how to store the many
+different files needed for a complete TeX system.
+
+The following describes the recommended default directories used in the CJK
+package for its files; $TEXMF stands for the place where the texmf directory
+resides (a possibly better place for distributions based on web2c is
+$TEXMFLOCAL; see texmf.cnf of your TeX package for details):
+
+We follow TDS 1.1 and the setup of TeXLive 2005; this corresponds to
+kpathsea 3.5.5. Some of the variables don't exist in older kpathsea
+implementations---please read the man page of ttf2tfm for more information
+on the old locations.
+
+
+CJK TeX files (you should move the whole `texinput' tree of the CJK package
+ to this place):
+
+ $TEXMF/tex/latex/CJK/<CJK subdirs>/<CJK TeX files>
+
+ example:
+ /usr/local/web2c-7.0/texmf/tex/latex/CJK/Bg5/Bg5.cap
+
+ affected variable: $TEXINPUTS
+
+
+TrueType fonts:
+
+ $TEXMF/fonts/truetype/<supplier>/<truetype font>
+
+ example:
+ /usr/local/teTeX/texmf/fonts/truetype/arphic/gbsn00lp.ttf
+
+ affected variable: $TTFONTS
+
+ You should append proper entries for all subfonts to special.map to make
+ web2c's name parsing algorithm happy (otherwise it can happen that the
+ created PK and TFM files are placed into rather strangely named
+ directories).
+
+ Example lines to append for the above font:
+
+ gbsnlp01 arphic gbsnlp
+ gbsnlp02 arphic gbsnlp
+ ...
+
+
+HBF fonts:
+
+ $TEXMF/fonts/misc/hbf/<supplier>/<hbf name stem>/<hbf files>
+
+ [If no supplier is given, you should use `public' instead.]
+
+ example:
+ /usr/local/share/texmf/fonts/misc/hbf/public/kanji48/kanji48.{bin,hbf}
+
+ affected variable: $MISCFONTS
+
+ You should append proper entries for all subfonts to special.map to make
+ web2c's name parsing algorithm happy (otherwise it can happen that the
+ created PK and TFM files are placed into rather strangely named
+ directories).
+
+ Example lines to append for the above font:
+
+ kanji4801 public kanji48
+ kanji4802 public kanji48
+ ...
+
+
+ttf2pk configuration and replacement files (ttf2pk.cfg and *.rpl):
+
+ $TEXMF/ttf2pk
+
+ example:
+ /usr/local/texmf/ttf2pk/ttf2pk.cfg
+
+ affected variable: $TTF2PKINPUTS
+
+
+ttf2pk map files (*.map):
+
+ $TEXMF/fonts/map/ttf2pk
+
+ example:
+ /usr/local/texmf/fonts/map/ttf2pk/config/ttfonts.map
+
+ affected variable: $TEXFONTMAPS
+
+
+ttf2pk encoding files (*.enc):
+
+ $TEXMF/fonts/enc/ttf2pk
+
+ example:
+ /usr/local/texmf.local/fonts/enc/ttf2pk/base/T1-WGL4.enc
+
+ affected variable: $ENCFONTS
+
+ [Note that this location is normally found by ttf2tfm also since the
+ `ttf2pk' path component doesn't appear explicitly in web2c's $ENCFONTS
+ value. Instead, it starts subdirectory searching one level higher.]
+
+
+ttf2pk subfont definition files (*.sfd):
+
+ $TEXMF/fonts/sfd
+
+ example:
+ /home/sx0005/texmf/fonts/sfd/Bg5.sfd
+
+ affected variable: $SFDFONTS
+
+
+hbf2gf configuration files:
+
+ $TEXMF/hbf2gf/<config files>
+
+ example:
+ /dos/texmf/hbf2gf/gsfs14.cfg
+
+ affected variable: $HBF2GFINPUTS
+
+
+TFM files (<supplier> and <name stem> as specified in special.map):
+
+ $TEXMF/fonts/tfm/<supplier>/<name stem>/<tfm file>
+
+ example:
+ /usr/local/teTeX/texmf/fonts/tfm/arphic/gbsnlp/gbsnlp23.tfm
+
+ affected variable: $TFMFONTS
+
+
+PK files (<supplier> and <name stem> as specified in special.map)
+
+ $TEXMF/fonts/pk/modeless/<supplier>/<name stem>/<pk file>
+
+ example:
+ /usr/local/share/texmf/fonts/pk/modeless/uw/uwcxmf/uwcxmf23.3252pk
+
+ affected variable: $PKFONTS
+
+[There are further possibilities how to store PK files:
+
+ 1. instead of <name>.<dpi>pk you can use dpi<dpi>/<name>.pk
+
+ example:
+ /texmf/fonts/pk/modeless/public/b5ka12/dpi600/b5ka1217.pk
+
+ 2. teTeX additionally allows you to omit either <supplier> or <name stem>
+ or both (for PK, TFM, and MF files)
+
+ example:
+ /texmf/fonts/pk/modeless/b5ka12/dpi600/b5ka1217.pk
+
+
+ The first option is necessary on operating systems like DOS which only
+ allow 8.3 filenames. The second option enables you to use the `!' feature
+ of the emTeX subdirectory searching algorithm (only one level) instead of
+ `!!' (search all subdirectory levels) together with its template mechanism
+ to make emTeX much faster in finding PK files. Now teTeX and emTeX could
+ share one common texmf tree.]
+
+
+---End of TDS.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/TeXLive.txt b/Master/texmf-dist/doc/latex/cjk/doc/TeXLive.txt
new file mode 100644
index 00000000000..571f57c7cd2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/TeXLive.txt
@@ -0,0 +1,549 @@
+This file shows which files of the `CJK-4.8.0' and `CJK-4.8.0-doc' packages
+are stored in which TeXLive bundles (if at all). The format of the entries
+is
+
+ <filename> <TeXLive package>[,<TeXLive package>] <remark>
+
+
+CJK-4.8.0
+---------
+
+ChangeLog CJK
+contrib/wadalab/c42goth.fd CJK
+contrib/wadalab/c42goth.fdx CJK
+contrib/wadalab/c42maru.fd CJK
+contrib/wadalab/c42maru.fdx CJK
+contrib/wadalab/c42min.fd CJK
+contrib/wadalab/c42min.fdx CJK
+contrib/wadalab/c52maru.fd CJK
+contrib/wadalab/c52maru.fdx CJK
+contrib/wadalab/c52min.fd CJK
+contrib/wadalab/c52min.fdx CJK
+contrib/wadalab/c70goth.fd CJK
+contrib/wadalab/c70goth.fdx CJK
+contrib/wadalab/c70maru.fd CJK
+contrib/wadalab/c70maru.fdx CJK
+contrib/wadalab/c70min.fd CJK
+contrib/wadalab/c70min.fdx CJK
+contrib/wadalab/DNP.sfd bin-cjkutils
+contrib/wadalab/DNP.txt CJK
+contrib/wadalab/fixwada CJK
+contrib/wadalab/fixwada2.pl CJK
+contrib/wadalab/makefont CJK
+contrib/wadalab/makeuniwada.pl CJK
+contrib/wadalab/wadalab.map CJK (1)
+doc/CEF.txt CJK
+doc/chinese/emTeXb5.txt CJK
+doc/chinese/README CJK
+doc/chinese/READMEb5.tex CJK
+doc/chinese/READMEgb.tex CJK
+doc/chinese/teTeXb5.txt CJK
+doc/cjk-enc.txt CJK
+doc/CJK.txt CJK
+doc/CJKutf8.txt CJK
+doc/commands.txt CJK
+doc/COPYING CJK
+doc/dvidrv.txt CJK
+doc/fdxfiles.txt CJK
+doc/fonts.txt CJK
+doc/hbf2gf.txt bin-cjkutils
+doc/history.2_5 CJK
+doc/history.txt CJK
+doc/INSTALL CJK
+doc/japanese/ascii.txt CJK
+doc/japanese/japanese.jis CJK
+doc/japanese/japanese.txt CJK
+doc/japanese/jp-fonts.txt CJK
+doc/japanese/jp-tex.txt CJK
+doc/japanese/preview.txt CJK
+doc/japanese/README CJK
+doc/japanese/shibuaki.txt CJK
+doc/pdfhowto/examples/bkai.map CJK
+doc/pdfhowto/examples/cid-x.map CJK
+doc/pdfhowto/examples/cwtb.map CJK
+doc/pdfhowto/examples/dvipdfmx.cfg CJK
+doc/pdfhowto/examples/gen-map.pl CJK
+doc/pdfhowto/examples/map.list CJK
+doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd CJK
+doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd CJK
+doc/pdfhowto/examples/texinput/GB/c10tmpl.fd CJK
+doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd CJK
+doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd CJK
+doc/pdfhowto/examples/updmap.my CJK
+doc/pdfhowto/examples/wcl.sfd CJK
+doc/pdfhowto/HOWTO.txt CJK
+doc/pinyin.txt CJK
+doc/pyhyphen.txt CJK
+doc/reftex.txt CJK
+doc/ruby.txt CJK
+doc/TDS.txt CJK
+doc/TeXLive.txt CJK
+doc/thaifont.txt CJK
+doc/vertical.txt CJK
+doc/xCJK.txt CJK
+examples/Big5.tex CJK
+examples/Big5vert.tex CJK
+examples/CEF_test.tex CJK
+examples/CJKbabel.tex CJK
+examples/CJKfntef.tex CJK
+examples/CJKmixed.tex CJK
+examples/CJKutf8.tex CJK
+examples/GB.tex CJK
+examples/JIS.tex CJK
+examples/KS.tex CJK
+examples/muletest.tex CJK
+examples/py_test.tex CJK
+examples/README CJK
+examples/rubytest.tex CJK
+examples/SJIS.tex CJK
+examples/thai.tex CJK
+examples/UTF8.tex CJK
+examples/xCJK.pdf CJK
+
+Makefile ---
+MANIFEST CJK
+README CJK
+texinput/Bg5/Bg5.cap CJK
+texinput/Bg5/Bg5.chr CJK
+texinput/Bg5/Bg5.cpx CJK
+texinput/Bg5/Bg5.enc CJK
+texinput/Bg5/c00bkai.fdx CJK
+texinput/Bg5/c00bsmi.fd CJK
+texinput/Bg5/c00bsmi.fdx CJK
+texinput/Bg5/c00bsmir.fd CJK
+texinput/Bg5/c00bsmir.fdx CJK
+texinput/Bg5/c00cns.fd CJK
+texinput/Bg5/c00fs.fd CJK
+texinput/Bg5/c00kai.fd CJK
+texinput/Bg5/c00kair.fd CJK
+texinput/Bg5/c00kair.fdx CJK
+texinput/Bg5/c00song.fd CJK
+texinput/Bg5/c01song.fd CJK
+texinput/Bg5/c05song.fd CJK
+texinput/Bg5/c09song.fd CJK
+texinput/Bg5/HK.enc CJK
+texinput/CEF/c80song.fd CJK
+texinput/CEF/c81song.fd CJK
+texinput/CJK.enc CJK
+texinput/CJKfntef.sty CJK
+texinput/CJKnumb.sty CJK
+texinput/CJK.sty CJK
+texinput/CJKulem.sty CJK
+texinput/CJKutf8.sty CJK
+texinput/CJKvert.sty CJK
+texinput/CNS/c31song.fd CJK
+texinput/CNS/c32song.fd CJK
+texinput/CNS/c33song.fd CJK
+texinput/CNS/c34song.fd CJK
+texinput/CNS/c35song.fd CJK
+texinput/CNS/c36song.fd CJK
+texinput/CNS/c37song.fd CJK
+texinput/CNS/EUC-TW.bdg CJK
+texinput/CNS/EUC-TW.chr CJK
+texinput/CNS/EUC-TW.enc CJK
+texinput/extended.chr CJK
+texinput/extended.enc CJK
+texinput/GB/c10fs.fd CJK
+texinput/GB/c10gbsn.fd CJK
+texinput/GB/c10gbsn.fdx CJK
+texinput/GB/c10song.fd CJK
+texinput/GB/c11song.fd CJK
+texinput/GB/c19song.fd CJK
+texinput/GB/c20song.fd CJK
+texinput/GB/c21song.fd CJK
+texinput/GB/GB.cap CJK
+texinput/GB/GB.cpx CJK
+texinput/JIS/c40song.fd CJK
+texinput/JIS/c41song.fd CJK
+texinput/JIS/c42song.fd CJK
+texinput/JIS/c43song.fd CJK
+texinput/JIS/c50song.fd CJK
+texinput/JIS/EUC-JP.bdg CJK
+texinput/JIS/EUC-JP.chr CJK
+texinput/JIS/EUC-JP.enc CJK
+texinput/JIS/EUC-JPdnp.enc CJK
+texinput/JIS/JIS.cap CJK
+texinput/JIS/JIS.cpx CJK
+texinput/JIS/JISdnp.enc CJK
+texinput/KS/c60dr.fd CJK
+texinput/KS/c60gr.fd CJK
+texinput/KS/c60gs.fd CJK
+texinput/KS/c60gt.fd CJK
+texinput/KS/c60hgt.fd CJK
+texinput/KS/c60hmj.fd CJK
+texinput/KS/c60hol.fd CJK
+texinput/KS/c60hpg.fd CJK
+texinput/KS/c60mj.fd CJK
+texinput/KS/c61dr.fd CJK
+texinput/KS/c61gr.fd CJK
+texinput/KS/c61gs.fd CJK
+texinput/KS/c61gt.fd CJK
+texinput/KS/c61hgt.fd CJK
+texinput/KS/c61hmj.fd CJK
+texinput/KS/c61hol.fd CJK
+texinput/KS/c61hpg.fd CJK
+texinput/KS/c61mj.fd CJK
+texinput/KS/c62song.fd CJK
+texinput/KS/hangul2.cap CJK
+texinput/KS/hangul2.cpx CJK
+texinput/KS/hangul.cap CJK
+texinput/KS/hangul.cpx CJK
+texinput/KS/hanja.cap CJK
+texinput/KS/hanja.cpx CJK
+texinput/KS/HLaTeX/c63bm.fd CJK
+texinput/KS/HLaTeX/c63dn.fd CJK
+texinput/KS/HLaTeX/c63gr.fd CJK
+texinput/KS/HLaTeX/c63gs.fd CJK
+texinput/KS/HLaTeX/c63gt.fd CJK
+texinput/KS/HLaTeX/c63jgt.fd CJK
+texinput/KS/HLaTeX/c63jmj.fd CJK
+texinput/KS/HLaTeX/c63jnv.fd CJK
+texinput/KS/HLaTeX/c63jsr.fd CJK
+texinput/KS/HLaTeX/c63mj.fd CJK (2)
+texinput/KS/HLaTeX/c63pga.fd CJK
+texinput/KS/HLaTeX/c63pg.fd CJK
+texinput/KS/HLaTeX/c63ph.fd CJK
+texinput/KS/HLaTeX/c63pn.fd CJK
+texinput/KS/HLaTeX/c63sh.fd CJK
+texinput/KS/HLaTeX/c63tz.fd CJK
+texinput/KS/HLaTeX/c63vd.fd CJK
+texinput/KS/HLaTeX/c63yt.fd CJK
+texinput/KS/HLaTeX/c64bm.fd CJK
+texinput/KS/HLaTeX/c64dn.fd CJK
+texinput/KS/HLaTeX/c64gr.fd CJK
+texinput/KS/HLaTeX/c64gs.fd CJK
+texinput/KS/HLaTeX/c64gt.fd CJK
+texinput/KS/HLaTeX/c64jgt.fd CJK
+texinput/KS/HLaTeX/c64jmj.fd CJK
+texinput/KS/HLaTeX/c64jnv.fd CJK
+texinput/KS/HLaTeX/c64jsr.fd CJK
+texinput/KS/HLaTeX/c64mj.fd CJK (2)
+texinput/KS/HLaTeX/c64pga.fd CJK
+texinput/KS/HLaTeX/c64pg.fd CJK
+texinput/KS/HLaTeX/c64ph.fd CJK
+texinput/KS/HLaTeX/c64pn.fd CJK
+texinput/KS/HLaTeX/c64sh.fd CJK
+texinput/KS/HLaTeX/c64tz.fd CJK
+texinput/KS/HLaTeX/c64vd.fd CJK
+texinput/KS/HLaTeX/c64yt.fd CJK
+texinput/KS/HLaTeX/c65bm.fd CJK
+texinput/KS/HLaTeX/c65dn.fd CJK
+texinput/KS/HLaTeX/c65gr.fd CJK
+texinput/KS/HLaTeX/c65gs.fd CJK
+texinput/KS/HLaTeX/c65gt.fd CJK
+texinput/KS/HLaTeX/c65jgt.fd CJK
+texinput/KS/HLaTeX/c65jmj.fd CJK
+texinput/KS/HLaTeX/c65jnv.fd CJK
+texinput/KS/HLaTeX/c65jsr.fd CJK
+texinput/KS/HLaTeX/c65mj.fd CJK (2)
+texinput/KS/HLaTeX/c65pga.fd CJK
+texinput/KS/HLaTeX/c65pg.fd CJK
+texinput/KS/HLaTeX/c65ph.fd CJK
+texinput/KS/HLaTeX/c65pn.fd CJK
+texinput/KS/HLaTeX/c65sh.fd CJK
+texinput/KS/HLaTeX/c65tz.fd CJK
+texinput/KS/HLaTeX/c65vd.fd CJK
+texinput/KS/HLaTeX/c65yt.fd CJK
+texinput/KS/HLaTeX/HLaTeX.chr CJK
+texinput/KS/HLaTeX/KSHL.enc CJK
+texinput/KS/HLaTeX/pshan.sty CJK
+texinput/KS/KS.chr CJK
+texinput/KS/KS.enc CJK
+texinput/mule/MULEenc.sty CJK
+texinput/pinyin.sty CJK
+texinput/pmCbig.enc CJK
+texinput/pmC.chr CJK
+texinput/pmCsmall.enc CJK
+texinput/ruby.sty CJK
+texinput/SJIS/c49song.fd CJK
+texinput/SJIS/SJIS.bdg CJK
+texinput/SJIS/SJIS.cap CJK
+texinput/SJIS/SJIS.chr CJK
+texinput/SJIS/SJIS.cpx CJK
+texinput/SJIS/SJISdnp.chr CJK
+texinput/SJIS/SJISdnp.enc CJK
+texinput/SJIS/SJIS.enc CJK
+texinput/standard.bdg CJK
+texinput/standard.chr CJK
+texinput/standard.enc CJK
+texinput/thai/c90cmr.fd CJK
+texinput/thai/c90cmss.fd CJK
+texinput/thai/c90cmtt.fd CJK
+texinput/thai/c90enc.def CJK
+texinput/thai/c90gar.fd CJK
+texinput/thai/c90nrsr.fd CJK
+texinput/thai/thaicjk.ldf CJK
+texinput/UTF8/c70bkai.fd CJK
+texinput/UTF8/c70bkai.fdx CJK
+texinput/UTF8/c70bsmi.fd CJK
+texinput/UTF8/c70bsmi.fdx CJK
+texinput/UTF8/c70gbsn.fd CJK
+texinput/UTF8/c70gkai.fd CJK
+texinput/UTF8/c70mj.fd CJK
+texinput/UTF8/c70song.fd CJK
+texinput/UTF8/ja.cpx CJK
+texinput/UTF8/ko-Hang2.cpx CJK
+texinput/UTF8/ko-Hang.cpx CJK
+texinput/UTF8/ko-Hani.cpx CJK
+texinput/UTF8/UTF8.bdg CJK
+texinput/UTF8/UTF8.chr CJK
+texinput/UTF8/UTF8.enc CJK
+texinput/UTF8/xUTF8.chr CJK
+texinput/UTF8/xUTF8.enc CJK
+texinput/UTF8/zh-Hans.cpx CJK
+texinput/UTF8/zh-Hant.cpx CJK
+texinput/xCJK.sty CJK
+texinput/xpmC.chr CJK
+texinput/xpmC.enc CJK
+utils/Bg5conv/bg5conv.1 bin-cjkutils
+utils/Bg5conv/bg5conv.c source.development
+utils/Bg5conv/bg5conv.w ---
+utils/Bg5conv/bg5latex source.development,bin-cjkutils
+utils/Bg5conv/bg5latex.bat source.development
+utils/Bg5conv/bg5latex.cmd ---
+utils/Bg5conv/bg5pdflatex source.development,bin-cjkutils
+utils/CEFconv/cef5conv.1 bin-cjkutils
+utils/CEFconv/cef5conv.c source.development
+utils/CEFconv/cef5conv.w ---
+utils/CEFconv/cef5latex source.development,bin-cjkutils
+utils/CEFconv/cef5ltx.bat source.development
+utils/CEFconv/cef5ltx.cmd ---
+utils/CEFconv/cef5pdflatex source.development,bin-cjkutils
+utils/CEFconv/cefconv.1 bin-cjkutils
+utils/CEFconv/cefconv.c source.development
+utils/CEFconv/cefconv.w ---
+utils/CEFconv/ceflatex source.development,bin-cjkutils
+utils/CEFconv/ceflatex.bat source.development
+utils/CEFconv/ceflatex.cmd ---
+utils/CEFconv/cefpdflatex source.development,bin-cjkutils
+utils/CEFconv/cefsconv.1 bin-cjkutils
+utils/CEFconv/cefsconv.c source.development
+utils/CEFconv/cefsconv.w ---
+utils/CEFconv/cefslatex source.development,bin-cjkutils
+utils/CEFconv/cefsltx.bat source.development
+utils/CEFconv/cefsltx.cmd ---
+utils/CEFconv/cefspdflatex source.development,bin-cjkutils
+utils/cjklatex/cjklatex.c source.development
+utils/extconv/bg5+latex source.development,bin-cjkutils
+utils/extconv/bg5+pdflatex source.development,bin-cjkutils
+utils/extconv/bg5pltx.bat source.development
+utils/extconv/bg5pltx.cmd ---
+utils/extconv/extconv.1 bin-cjkutils
+utils/extconv/extconv.c source.development
+utils/extconv/extconv.w ---
+utils/extconv/gbklatex source.development,bin-cjkutils (4)
+utils/extconv/gbklatex.bat source.development
+utils/extconv/gbklatex.cmd ---
+utils/extconv/gbkpdflatex source.development,bin-cjkutils (5)
+utils/f_name.bat source.development
+utils/hbf2gf/c-auto.h source.development
+utils/hbf2gf/cfg/b5ka12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/b5kr12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/b5so12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/c1so12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/c2so12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/c3so12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/c4so12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/c5so12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/c6so12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/c7so12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/csso12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/gsfs14.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/j2so12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/jsso12.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/ksso17.cfg source.development,bin-cjkutils
+utils/hbf2gf/cfg/README source.development,bin-cjkutils
+utils/hbf2gf/config.guess --- (3)
+utils/hbf2gf/config.sub --- (3)
+utils/hbf2gf/configure --- (3)
+utils/hbf2gf/configure.ac source.development
+utils/hbf2gf/dvidrv.btm ---
+utils/hbf2gf/emdir.c source.development
+utils/hbf2gf/emdir.h source.development
+utils/hbf2gf/emtexdir.c source.development
+utils/hbf2gf/emtexdir.h source.development
+utils/hbf2gf/hbf2gf.1 source.development,bin-cjkutils
+utils/hbf2gf/hbf2gf.c source.development
+utils/hbf2gf/hbf2gf.def source.development
+utils/hbf2gf/hbf2gf.w source.development
+utils/hbf2gf/hbf.c source.development
+utils/hbf2gf/hbf.h source.development
+utils/hbf2gf/install-sh source.development
+utils/hbf2gf/Makefile.gnu ---
+utils/hbf2gf/Makefile.in --- (3)
+utils/hbf2gf/mkinstalldirs source.development
+utils/hbf2gf/README ---
+utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff ---
+utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff ---
+utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff ---
+utils/hbf2gf/scripts/web2c-6.1/README ---
+utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff ---
+utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff ---
+utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff ---
+utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff ---
+utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff ---
+utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff ---
+utils/lisp/cjkspace.el CJK
+utils/lisp/cjktilde.el CJK
+utils/lisp/emacs/cjk-enc.el CJK
+utils/lisp/emacs/thai-word.el CJK
+utils/lisp/mule-2.3/cjk-enc.el CJK
+utils/pyhyphen/pinyin.c CJK
+utils/pyhyphen/pinyin.ldf CJK
+utils/pyhyphen/pinyin.tr CJK
+utils/pyhyphen/pyhyph.tex hyphen-pinyin
+utils/pyhyphen/pytest.tex CJK
+utils/SJISconv/sjisconv.1 bin-cjkutils
+utils/SJISconv/sjisconv.c source.development
+utils/SJISconv/sjisconv.w ---
+utils/SJISconv/sjislatex source.development,bin-cjkutils
+utils/SJISconv/sjisltx.bat source.development
+utils/SJISconv/sjisltx.cmd ---
+utils/SJISconv/sjispdflatex source.development,bin-cjkutils
+utils/subfonts/clonevf.pl CJK
+utils/subfonts/hlatex2agl.pl CJK
+utils/subfonts/makefdx.pl CJK
+utils/subfonts/sfd2uni.pl CJK
+utils/subfonts/subfonts.pe CJK
+utils/subfonts/uni2sfd.pl CJK
+utils/subfonts/vertical.pe CJK
+utils/subfonts/vertref.pe CJK
+utils/thaifont/texmf/dvips/garuda/config.garuda garuda
+utils/thaifont/texmf/dvips/norasi/config.norasi norasi
+utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc c90enc
+utils/thaifont/texmf/fonts/map/dvips/garuda/garuda.map garuda
+utils/thaifont/texmf/fonts/map/dvips/norasi/norasi.map norasi
+utils/thaifont/texmf/fonts/tfm/public/garuda/fgdb8z.tfm garuda
+utils/thaifont/texmf/fonts/tfm/public/garuda/fgdbo8z.tfm garuda
+utils/thaifont/texmf/fonts/tfm/public/garuda/fgdo8z.tfm garuda
+utils/thaifont/texmf/fonts/tfm/public/garuda/fgdr8z.tfm garuda
+utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb8z.tfm norasi
+utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbi8z.tfm norasi
+utils/thaifont/texmf/fonts/tfm/public/norasi/ftni8z.tfm norasi
+utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr8z.tfm norasi
+utils/thaifont/tools/c90.etx CJK
+utils/thaifont/tools/c90.mtx CJK
+utils/thaifont/tools/dbtt-old/config.dbtt-old CJK
+utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx CJK
+utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx CJK
+utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex CJK
+utils/thaifont/tools/dbtt-old/dbtt-old.fontinst CJK
+utils/thaifont/tools/dbtt-old/dbtt-old.map CJK
+utils/thaifont/tools/garuda.fontinst CJK
+utils/thaifont/tools/INSTALL CJK
+utils/thaifont/tools/norasi.fontinst CJK
+
+
+CJK-4.8.0-doc
+-------------
+
+doc/cjk/README CJK
+doc/cjk/READMEb5.cjk CJK
+doc/dvi/bg5conv.dvi ---
+doc/dvi/c90.dvi ---
+doc/dvi/cef5conv.dvi ---
+doc/dvi/cefconv.dvi ---
+doc/dvi/cefsconv.dvi ---
+doc/dvi/extconv.dvi ---
+doc/dvi/hbf2gf.dvi ---
+doc/dvi/READMEb5.dvi ---
+doc/dvi/READMEgb.dvi ---
+doc/dvi/sjisconv.dvi ---
+doc/man/dvi/bg5conv.dvi ---
+doc/man/dvi/cef5conv.dvi ---
+doc/man/dvi/cefconv.dvi ---
+doc/man/dvi/cefsconv.dvi ---
+doc/man/dvi/extconv.dvi ---
+doc/man/dvi/hbf2gf.dvi ---
+doc/man/dvi/sjisconv.dvi ---
+doc/man/html/bg5conv.html ---
+doc/man/html/cef5conv.html ---
+doc/man/html/cefconv.html ---
+doc/man/html/cefsconv.html ---
+doc/man/html/extconv.html ---
+doc/man/html/hbf2gf.html ---
+doc/man/html/sjisconv.html ---
+doc/man/pdf/bg5conv.pdf bin-cjkutils
+doc/man/pdf/cef5conv.pdf bin-cjkutils
+doc/man/pdf/cefconv.pdf bin-cjkutils
+doc/man/pdf/cefsconv.pdf bin-cjkutils
+doc/man/pdf/extconv.pdf bin-cjkutils
+doc/man/pdf/hbf2gf.pdf bin-cjkutils
+doc/man/pdf/sjisconv.pdf bin-cjkutils
+doc/man/txt/bg5conv.txt ---
+doc/man/txt/cef5conv.txt ---
+doc/man/txt/cefconv.txt ---
+doc/man/txt/cefsconv.txt ---
+doc/man/txt/extconv.txt ---
+doc/man/txt/hbf2gf.txt ---
+doc/man/txt/sjisconv.txt ---
+doc/pdf/bg5conv.pdf bin-cjkutils
+doc/pdf/c90.pdf CJK
+doc/pdf/cef5conv.pdf bin-cjkutils
+doc/pdf/cefconv.pdf bin-cjkutils
+doc/pdf/cefsconv.pdf bin-cjkutils
+doc/pdf/extconv.pdf bin-cjkutils
+doc/pdf/hbf2gf.pdf bin-cjkutils
+doc/pdf/READMEb5.pdf CJK
+doc/pdf/READMEgb.pdf CJK
+doc/pdf/sjisconv.pdf bin-cjkutils
+examples/cjk/Big5.cjk CJK
+examples/cjk/Big5vert.cjk CJK
+examples/cjk/CEF_test.cjk CJK
+examples/cjk/CJKbabel.cjk CJK
+examples/cjk/muletest.cjk CJK
+examples/cjk/rubytest.cjk CJK
+examples/cjk/SJIS.cjk CJK
+examples/cjk/thai.cjk CJK
+examples/dvi/Big5.dvi ---
+examples/dvi/Big5vert.dvi ---
+examples/dvi/CEF_test.dvi ---
+examples/dvi/CJKbabel.dvi ---
+examples/dvi/CJKfntef.dvi ---
+examples/dvi/CJKmixed.dvi ---
+examples/dvi/CJKutf8.dvi ---
+examples/dvi/GB.dvi ---
+examples/dvi/JIS.dvi ---
+examples/dvi/KS.dvi ---
+examples/dvi/muletest.dvi ---
+examples/dvi/py_test.dvi ---
+examples/dvi/pytest.dvi ---
+examples/dvi/rubytest.dvi ---
+examples/dvi/SJIS.dvi ---
+examples/dvi/thai.dvi ---
+examples/dvi/UTF8.dvi ---
+examples/pdf/Big5.pdf CJK
+examples/pdf/Big5vert.pdf CJK
+examples/pdf/CEF_test.pdf CJK
+examples/pdf/CJKbabel.pdf CJK
+examples/pdf/CJKfntef.pdf CJK
+examples/pdf/CJKmixed.pdf CJK
+examples/pdf/CJKutf8.pdf CJK
+examples/pdf/GB.pdf CJK
+examples/pdf/JIS.pdf CJK
+examples/pdf/KS.pdf CJK
+examples/pdf/muletest.pdf CJK
+examples/pdf/py_test.pdf CJK
+examples/pdf/pytest.pdf CJK
+examples/pdf/rubytest.pdf CJK
+examples/pdf/SJIS.pdf CJK
+examples/pdf/thai.pdf CJK
+examples/pdf/UTF8.pdf CJK
+examples/pdf/xCJK.pdf CJK
+
+----
+
+(1) This file is located in the `texmf-dist/source' tree. A modified
+ version (with less fonts) is part of the `wadalab' package.
+
+(2) These files appear twice; the first version without real bold fonts
+ is in the texmf-dist/tex/latex tree, while the original files are
+ in the texmf-dist/source tree.
+
+(3) This file might be different in the TeXLive distribution.
+
+(4) Symlink to bg5+latex.
+
+(5) Symlink to bg5+pdflatex.
+
+---End of TeXLive.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/chinese/README b/Master/texmf-dist/doc/latex/cjk/doc/chinese/README
new file mode 100644
index 00000000000..90f621fd408
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/chinese/README
@@ -0,0 +1,7 @@
+The file emTeXb5.txt describes version 4.1.0 .
+
+The file teTeXb5.txt describes version 4.2.0 .
+
+The file READMEb5.tex describes version 4.1.0 .
+
+The file READMEgb.tex describes version 4.1.3 .
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEb5.tex b/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEb5.tex
new file mode 100644
index 00000000000..b54be13306a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEb5.tex
@@ -0,0 +1,1150 @@
+%%% The file READMEb5.tex . This file is part of LaTeX2e CJK package.
+%%%
+%%% Note that this document is a very first version. Therefore, lots
+%%% of installation steps and issues are still left blank. Please be
+%%% patient and wait for the next new release. I'm sorry for any
+%%% inconveniences. I also deeply expect that everyone who is
+%%% interested in this topic gives me suggestions and corrections in
+%%% any respects. Thanks in advance.
+%%%
+%%% Revision 1.5 1996/11/22 10:49:00 d791013
+%%% * modify some context presentations.
+%%%
+%%% Revision 1.4 1996/10/23 03:59:40 d791013
+%%% Revision control by CVS.
+%%%
+%%% Revision 1.3 1996/07/27 11:19:20 d791013
+%%% 1. In compliance with CJK version 4.0.0
+%%% 2. Fill up some unfinished sections in previous versions of this
+%%% file.
+%%% 3. Add more usages for MULE and AUCTeX.
+%%%
+
+\documentclass[12pt,a4paper]{article}
+\usepackage{array,CJK}
+\RequirePackage{shortvrb}
+\MakeShortVerb{\|}
+
+% enlarge text width and height (for saving number of pages)
+\addtolength{\textwidth}{1in}
+\addtolength{\oddsidemargin}{-.5in}
+\addtolength{\textheight}{1in}
+\addtolength{\topmargin}{-.5in}
+
+\begin{document}
+\begin{CJK*}{Bg5}{bsmi}
+\CJKtilde
+
+% local commands
+\newcommand{\ntutocjk}{~\textsf{ntu2cjk}~}
+\newcommand{\ttftopk}{~\textsf{ttf2pk}~}
+\newcommand{\hookstroke}{\raisebox{2pt}{\scriptsize $\surd$}}
+\newcommand{\crossmark}{$\times$}
+\newcommand{\bigfive}{~\textrm{Big-5}~ฝX}
+\renewcommand{\figurename}{นฯ~}
+\renewcommand{\tablename}{ชํ~}
+
+%% end of header
+
+\title{\bigfiveคคคๅจtฒฮคUชบ~CJK \LaTeXe~ฑฦชฉจtฒฮ\\
+ (For CJK version 4.1.0)}
+\author{
+ ง๕งgฆt\thanks{The author of the \textsf{ntu2cjk} package.
+ \textsf{E-mail:} d791013@ce.ntu.edu.tw}\ (Chun-Yu Lee) \and
+ Werner Lemberg\thanks{The author of the \LaTeXe\ CJK package.
+ \textsf{E-mail:} wl@gnu.org}}
+\date{20 Nov. 1996}
+\maketitle
+
+\tableofcontents
+
+\section{ยฒคถ}
+\label{sec:introduction}
+
+ฅปคๅฅDญnฐwน๏คบฎeฅH\bigfiveฌฐฅDชบคคคๅคๅฅ๓ก]ทํตMฅ็ฅiฅ]งtฅ~คๅคฮนฯงฮตฅก^กA
+ฑจฯฅฮ~\LaTeXe~คฮ~CJK~จtฒฮถiฆๆฑฦชฉฆCฆLกAจไฉาปชบฐ๒ฅปญnจDปPฆwธหจBฦJตฅกA
+ฐตค@ยฒญnชบคถฒะกCจไฝdณ๒ม๖คฃฏเฒ[ป\ญnฝsฆnค@ฝgก]ฉฮค@ฅปก^นฯคๅจรญZชบคๅณนฉาป
+คงฅDรDกAฆค]จฌฐ๗ภณฅIค@ฏ๋ฉสชบคๅฅ๓\footnote{ฅปคๅฑNท|ฆbค้ซแบCบCฆaญืฅฟปPธษ
+ ฅRฌร๖ฅDรDกAฅHฅ[ฑjจไตฒบcคฮคบฎeกCฆPฎษค]ดมซลชชฬฏเดฃจัฤ_ถQชบทNจฃกAฅHฌฐ
+ คUค@ฆธฅXชฉคงฐัฆากC}กC
+
+ฅปคๅชบคบฎeฅHฐtฆX~CJK 4.x.x~จtฒฮชบณ]ฉwฌฐฅDกCญืง๏ฅปคๅคงฆPฎษกACJK~ชบชฉฅป
+ฌO~4.1.0กC
+
+\subsection{พ\ลชซค}
+\label{sec:reading-guides}
+
+คUญฑฌOยฒณๆชบพ\ลชซคกG
+\begin{itemize}
+\item ฅฝTฉwงAฑฆwธหชบ~CJK~ชฉฅปฌOง_ฌOฅปคๅฉาดyญzชบกAญYคฃฆPกAฝะจ๚ฑoปPฅป
+ คๅฌฎeชบ~CJK~ชฉฅปกAฉฮจ๚ฑoณฬทsชบ~CJK~ชฉฅปกAจรพ\ลชจไฉาฅ]งtชบฅปคๅฅ๓ภษฎืกC
+\item ญYฆ]ชฉฅปคงคฃฆPกAฑzฅ็ฅiฅH~CJK~คๅฅ๓คคชบ~INSTALL~ฌฐฅDกAฆ๕ฅHฆrซฌฆwธห
+ จtฒฮก]\textsf{ntu2cjk}~ฉฮ~\textsf{ttf2pk}ก^คคฌร๖ชบปกฉ๚คๅฅ๓กAฆAยsฤ
+ ฅปคๅคบฎeง@ฌฐฐัส๗ฉสฝ่กAพAทํฆaฆwธหพใญำคคคๅฑฦชฉจtฒฮกC
+\item ญYฑzดฟธgฆwธหนL~CJKกAฑzฅiชฝฑตฐัฆาฒฤ~\ref{sec:steps}~ธ`กงฆwธหจBฦJกจกC
+\item ญYฆbฑzชบจtฒฮคคกAฉ|ฅผฆwธหฆณคคคๅ~TFMกBPKกBฉฮ~PFB~ตฅภษฎืกAฅiฐัฆาฒฤ~
+ \ref{sec:install-fonts}~ธ`กงฆrซฌฆwธหกจกC
+\item ญYฑzฤฑฑoคWญzชบฆwธหจBฦJคฃฐ๗จใล้กAฝะฐัฆาฒฤ~\ref{sec:my-settings}~
+ ธ`กงงฺชบจาคlกจกC
+\item ญYทQชพนDฆpฆ๓จ๚ฑoฌร๖ภษฎืกAฝะฐัฆาชฟ~\ref{sec:getting-files}กงภษ
+ ฎืจ๚ฑoกจกC
+\item ญYทQน๏ฅปคๅฉาจฯฅฮคงฆrตฆณฉาบรดbกAฝะฐัฆาชฟ~\ref{sec:terms}กงฆWต
+ ธัฤภกจกC
+\end{itemize}
+
+ช`ทNกGฅปคๅคบฎeฆbฆrซฌชบฆwธหค่ญฑกAน๏ฉ๓\ttftopkชบคถฒะธ๛คึ\footnote{ฆ]ฅปคๅ
+ ชบฅDญnง@ชฬฅuฆณจฯฅฮ\ntutocjkจำฆwธหฆrซฌกAน๏ค@จว\ttftopkทsชบง๏ลคwคฃผ๔ฑxกC}
+ลชชฬฅiฆ~CJK~ชบคๅฅ๓ฎMฅ๓คคฆณร๖คคคๅชบปกฉ๚ภษ~|NTeXb5.doc|~ก]ปPฅปภษฎืธmฉ๓ฆP
+ค@ฅุฟคคก^ฑoจ์ธิฒำชบธัปกกC
+
+ฅtฅ~ฅปคๅฆbน๏ฉ๓~em\TeX~ภ๔นาคUชบฆwธหธัปกกAค]ฅuฌOยฝฤถฆ~CJK~คๅฅ๓คคชบ~
+|INSTALL|~ณoญำภษกAฅปคๅง@ชฬจรฅผน๊ง@นLกC
+
+\subsection{ถiค@จBชบธ๊ฐTจำทฝ}
+\label{sec:further-information}
+
+\begin{itemize}
+\item คๅฤm~\cite{latex2nd}~ฌฐฐ๒ฅปคโฅUกC
+\item คๅฤm~\cite{latex-companion:1993}~ฅiฌฐถiถฅคโฅUกC
+\item ฐัฆา~Newsgroup |comp.text.tex|~ชบ~FAQกC
+\item ฆณร๖~\TeX/\LaTeX~ฑ`ฐชบฐรDกAฅiฐัส๗คๅฤm~\cite{tex-faq:1.9c}ก]ชฉฅป
+ ตyยยก^กC
+\end{itemize}
+
+\section{จtฒฮปจD}
+\label{sec:requirements}
+
+\subsection{ตwล้ภ๔นา}
+\label{sec:hardware-requirements}
+
+\TeX/\LaTeX~จtฒฮฅุซeดXฅGตดคjณกคภชบง@ท~จtฒฮฌาฆณคไดฉกCฆb~RAM~ชบปจDคWซh
+ต๘ฑฝsฑฦภษฎืชบคjคpกAคpซhผฦคQธUฆ์คธกAคjซhผฦฆสธUฆ์คธกCม๖ตM~\TeX/\LaTeX~
+จtฒฮฆb~286~ฅHซeชบพ๗พนดNฏเถ]ก]จSฐOฟ๙ชบธก^กAฆณฬฆnมูฌOฆณ~8MB~ฅHคWชบฐOพะ
+ล้กAฅHภณฅIคคคๅฆrคงฉาปกCฆฉ๓ตwบะชลถกกAฆbคคคๅฆrซฌชบจฯฅฮปคUกAณฬฆnฏเฆณ~
+150MB~ชบชลถกก]\TeX~จtฒฮฌ๙~30MBกA8~บุ~NTU~ฅฏuฆrซฌคฮจไยเดซฆrซฌกAPS~คฮ~
+PK~ฆrซฌตฅกAฌ๙~80MBก^กC
+
+\subsection{ณnล้ปจD}
+\label{sec:software-requirement}
+
+\begin{itemize}
+\item น๏~\LaTeX~จtฒฮฆณทงฌAชบป{รัปPน๏ฆนจtฒฮจใฐ๒ฅปพง@ชบฏเคOกCณฬฆnงAฆณคๅ
+ ฤm~\cite{latex2nd,latex-companion:1993}~ณoจโฅปฎัฆbคโรไกC
+\item \LaTeXe~ชบฐ๕ฆๆภ๔นากCฅ]ฌA~\TeX/\LaTeX~ชบฌร๖ภ๔นากC
+\item \LaTeXe\ CJK~จtฒฮกC
+\item ญYทQฆwธห~PS~ฆrซฌ\footnotemark\addtocounter{footnote}{-1}กAฑzปญn
+ \begin{enumerate}
+ \item \textsf{ntu2cjk}~จtฒฮกC
+ \item NTU TrueType~ฆrซฌกC
+ \item gcc~ฝsฤถพนคฮฌร๖ภ๔นากBGNU makeกC
+ \item GhostScript(3.12~ฅHคWชบชฉฅป)กC
+ \item |afm2tfm|กC
+ \item ธัภฃมYต{ฆกกG |arj|กB|gzip|กB|tar|กC
+ \item ญYทQฑq~PS~ฆrซฌซุฅ฿~PK~ฆrซฌกAซhป~|ps2pk|~ฉฮ~|gsftopk|กC
+ \end{enumerate}
+\item ญYฑฆwธห~PK~ฆrซฌ\footnote{ดNคคคๅคๅฅ๓ชบฑฦชฉกBนwฤคฮฆCฆLฉาปชบฆrซฌ
+ ฆำจฅกAฅiฅHณๆฟWฅuฆsฆbฆณ~PK~ฆrซฌฉฮ~PS~ฆrซฌกFฆดNค่ซKฉสปPฅiฤโฉสฆำจฅกA
+ ตงชฬซุฤณกAฅHฐสบAชบค่ฆกฒฃฅอ~PK~ฆrซฌจรซOฆณงนพใก]ฉฮฑ`ฅฮคฮฐสบAก^ชบ~PS~
+ ฆrซฌกAฌOธ๛จฮชบฒีฆXกC}กAฐัฆาฒฤ~\ref{sec:install-pk-fonts}~ธ`คงดyญzกC
+\item ฟ้ฅXกG|dvips|กB|dvi2xx|กBคฮจไฅL~dvi~ฎๆฆกชบยเดซต{ฆกปPจไคUดๅชบยเดซ
+ ต{ฆกกC
+\end{itemize}
+
+
+\section{ฆwธหจBฦJ}
+\label{sec:steps}
+
+ฅปธ`ฑNฅDญnชบฆwธหฌyต{กAฑ๘ฆCฆpคUกAฆUถตคคธิฒำชบฆwธหซคกAฑNฆbฅHซแชบฆUธ`คค
+ฤฤญzกG
+\begin{enumerate}
+\item ญYฌO~\TeX/\LaTeX~จtฒฮคvฆwธหฆnกAฝะธ๕คUค@จBกCง_ซhฎฺพฺฆคvจฯฅฮชบง@
+ ท~จtฒฮกAจMฉwภณจฯฅฮฆ๓บุ~\TeX~จtฒฮกAจรฐัฆาจtฒฮปจDก]ฒฤ~
+ \ref{sec:requirements}~ธ`ก^กBภษฎืจ๚ฑoก]ชฟ~\ref{sec:getting-files}ก^
+ คฮจไฅLฉ๓ชฟคคฆUธ`คงธ๊ฎฦกAจ๚ฑoฌร๖ภษฎืกAจรซ๖ฉาจ๚ฑoธ๊ฎฦคคชบซฅฆwธหกC
+ ญYจ๚ฑoชบจtฒฮจSฆณ~\LaTeXe~จtฒฮกAฉฮฌOฑzทQง๓ทsฆธ๛ช๑ชบชฉฅปกAซhฅiฅtฅ~ฆ~
+ CTAN~จ๚ฑoกAฆbคwฆwธหฆnชบ~\TeX~ภ๔นาคคฌ[คW~\LaTeXeกC
+\item ฝTฉw~\LaTeXe~คvฆwธหงดทํกCฅiฅHค@~\LaTeXe~ฎๆฆกฅBคบฎeฌฐญ^คๅชบภษฎื
+ ก]ฆp~|sample.|\linebreak[1]|tex|ก^กAฑqฐ๕ฆๆ~|latex|~ฝsฤถกAฅH~|xdvi|~
+ ฉฮ~|dviscr|กB|dvisvga|~ตฅตฅก^นwต๘กBจ์~|dvips|~ฉฮ~|dvilj|~ยเฆจฆLชํฎๆ
+ ฆกก]PostScript~ฉฮ~PCL~ตฅฎๆฆกก^จรฆLฅXกAฅHงPย_ฌOง_ฆwธหฅฟฝTกC
+\item ฆwธห~CJK~คคคๅ~\LaTeXe~จtฒฮก]ฐัฆาฒฤ~\ref{sec:install-CJK}~ธ`ก^กC
+\item ฟ๏พฆwธห~PK~ฉฮ~PS~ฆrซฌฉฮคGชฬฌาฆwธหก]ฐัฆาฒฤ~
+ \ref{sec:install-pk-fonts}~ธ`ฉฮฒฤ~\ref{sec:install-ps-fonts}~ธ`ก^กC
+\item ฅH~CJK~จtฒฮคคฉาดฃจัคงคคคๅ~\LaTeXe~ภษกA|READMEb5.tex|กAฐตด๚ธีก]ฐั
+ ฆาฒฤ~\ref{sec:my-settings}~ธ`ก^กC
+\item ญYฆณฐรDกAฝะฐัฆาฒฤ~\ref{sec:trouble-shooting}~ธ`กงฐรDธัจMกจกC
+\end{enumerate}
+
+
+\section{ฆwธห~CJK~คคคๅ~\LaTeXe~จtฒฮ}
+\label{sec:install-CJK}
+
+ฝะฐwน๏ฑzฉาจฯฅฮง@ท~จtฒฮกAฐัฆาคUญฑน๏ภณชบคpธ`กC
+
+\subsection{ฆb~UNIX~จtฒฮคU~(web2c)}
+\label{sec:install-under-unix}
+
+\begin{enumerate}
+\item งไญำพAทํชบฅุฟฑNจ๚ฆ^ชบ~CJK~ภฃมYภษธัถ}กCจาฆpฑzฑNจไธัถ}ฆ~
+ |/tmp/CJK|กC
+\item ฆpชGฑzฏเฅHจtฒฮบฒzชฬชบจญฅ๗ก]rootก^ฆwธหกAซhฅiฑNธัภฃซแชบ~CJK~ฅุฟ
+ คค~|texinput|~ฅุฟคUชบฉาฆณภษฎืก]ซOซ๙ญ์ฅุฟตฒบcก^ฒพฆ~\TeX~จtฒฮฏเงไจ์
+ ชบฆaค่ก]ณqฑ`ฌO~
+ |${TEXMF}/|\linebreak[1]|tex/|\linebreak[1]|latex/|\ldotsกA
+ |${TEXMF}|~ฌO~web2c~ชบ~homeกAค@ฏ๋ฌฐ~
+ |/usr/|\linebreak[1]|local/|\linebreak[1]|lib/|\linebreak[1]|texmf|ก^กA
+ จรฑNฆนฅุฟฆWง๏ฆจ~CJK~ฉฮพAทํชบฆWบูกCฆpชGฑzคฃฌOจฯฅฮธ๛ทsชฉชบ~\TeX~ก]นณ~
+ web2cกAณoจว~\TeX~จtฒฮกAดฃจัคFปผฐjทjดMคlฅุฟภษฎืชบฏเคOก^กAซhฑN~
+ |texinput|~ฅุฟคUชบฉาฆณภษฎืฒพฆ~\TeX~จtฒฮฏเงไจ์ชบฆaค่กCจาฆpกG
+ \begin{verbatim}
+ $ cd /usr/local/lib/texmf/tex/latex
+ $ mv CJK CJK.old
+ $ cd /tmp/CJK
+ $ cd 4_1.0
+ $ mv texinput /usr/local/lib/texmf/tex/latex/CJK
+ \end{verbatim}
+ ฆpชGฑzคฃฏเฅH~root~ชบลvญญฆwธหกAฝะฅHรฆฉ๓คUญฑชบซฅOตyง@ญืง๏ก]ฆpชGจฯฅฮ~
+ |csh|ก^กAจรซุฤณฑNคงฅ[คJ~|.login|ก]ฅฮฉ๓~|/bin/csh|ก^ฉฮ~|.profile|ก]ฅฮ
+ ฉ๓~|/bin/sh|ก^คคกAจฯฑo~\TeX~ฏเทjดMจ์~CJK~ฅุฟกG
+ \begin{verbatim}
+ setenv TEXINPUTS: งAชบ CJK ฅุฟฆW//
+ \end{verbatim}
+ ช`ทNกAญYฑzฉาจฯฅฮชบ~\TeX~จtฒฮคฃคไดฉฆhผhคlฅุฟทjดMกAซhฑNฝTคมชบฅุฟฆWบู
+ ธsกAฅ[คJฆ~|TEXINPUTS|~ชบภ๔นาลผฦคคกFฉฮชฬฑN~|texinput|~ฅุฟคUคฮ~
+ |Bg5|~ฅุฟคUชบฉาฆณภษฎืฒพฆฌYญำฅุฟคคกAจรต๘ฆนฅุฟฌฐ~CJK~ฅุฟกC
+
+ จาฆpก]ฅH~|sh|~ซฅOฌฐจาก^กG
+ \begin{verbatim}
+ ก]ฐฒณ]ฑzทQฑN CJK ชบ texinput ฅุฟฒพฆ ~/CJK/texinputก^
+ # cd ~/CJK ก]ฆ CJK คlฅุฟก^
+ # mv texinput texinput.old ก]ฆpชGฑzฆณยยชบ texinput ฅุฟกAฅณฦฅ๗ก^
+ # cd /tmp/CJK ก]ฆธัถ} CJK ชบฆaค่ก^
+ # cd 4_1.0 ก]ฆฅุซeชบชฉฅปคUก^
+ # mv texinput ~/CJK ก]ฑN texinput คlฅุฟฒพฆ ~/CJKก^
+ # TEXINPUTS=":~/CJK/texinput//" ก]ฉwธqภ๔นาลผฦก^
+ # export TEXINPUTS ก]ณ]ฌฐณqฅฮชบภ๔นาลผฦก^
+ \end{verbatim}
+\item ฐัฆาฒฤ~\ref{sec:install-fonts}~ธ`ฆrซฌฆwธหกAฑN~|.tfm|~ภษกAPK~ฆrซฌ
+ ฉฮ~PS~ฆrซฌฆwธหฆพAทํชบฅุฟคUกC
+\item ฐัฆาฒฤ~\ref{sec:install-.fd}~ธ`ฆwธห~|.fd|~ภษกAฉฮฐัฆา~|fonts.txt|กA
+ จรฎฺพฺฆrซฌฆwธหชบตฒชGกAณ]ฉwฌร๖ชบ~|.fd|~ภษกCฅHฅปคๅฐwน๏ชบ\bigfiveคคคๅฆำ
+ จฅกAฅฒถทญืง๏~|c00kai.fd|ก]ฆpชGฑzฑNทขฎัฆrฑฺณ]ฌฐ~|kai|ก^กB|c00fs.fd|
+ ก]ฆpชGฑzจฯฅฮฅ้งบฆrฑฺจรฉwฌฐ~|fs|ก^กKตฅฌร๖ภษฎืก]ฅ็ฅiฐัฆา\ttftopkฉฮ
+ \ntutocjkฉาดฃจัชบฝdจาก^กC
+\item ฆbธัถ}ชบ~CJK~ฅุฟคคกAถiคJ~\texttt{utils/Bg5conv}~ฅุฟคคกAฝsฤถ~
+ |bg5conv.c|กAฆpกG
+ \begin{verbatim}
+ gcc -O -s -o bg5conv bg5conv.c
+ \end{verbatim}
+ ฑNฒฃฅอชบฐ๕ฆๆภษ~|bg5conv|~ณsฆP~|bg5latex|~ณoญำภษกAฒพฆ~\TeX~จtฒฮคคฉ๑
+ ธmฐ๕ฆๆภษชบฅุฟคคก]ฆpชGลvญญจฌฐ๗ก^กCฉฮธmฉ๓ญำคHชบฅุฟคคกAจรฝTฉwฆนฅุฟฆs
+ ฆbฉ๓ภ๔นาลผฦ~|PATH|~คคก]ฉฮฆb~|PATH|~คคผWฅ[ค@ฐ๕ฆๆธ๔ฎ|กAซุฤณฑNฆนธ๔ฎ|ชบ
+ ณ]ฉwฅ[จ์~login~ชบฑาฉlภษคคก^กC
+
+ จาฆpกG
+ \begin{verbatim}
+ # cd /tmp/CJK/4_1.0
+ # cd utils/Bg5conv
+ # gcc -O -s -o bg5conv bg5conv.c
+ # mv bg5conv bg5latex ~/bin
+ # export PATH=$PATH:~/bin
+ \end{verbatim}
+ ช`ทNกAฆpชGฑzฆณยยชบ~|bg5conv|~ฐ๕ฆๆภษกAฝะฐศฅฒง๓ทsกAฆ]~4.0~ฅHคWชบชฉฅปปP
+ ธ๛ฆญชบชฉฅปคฃฆPก]ฅH~``|^^FF|''~ฌฐคภฌษฆrคธฆำคฃฌO~``|.|''ก^กC
+
+\item ถiคJคlฅุฟ~|doc/chinese|~คคกAด๚ธีฑzชบณ]ฉwกG
+ \begin{verbatim}
+ # cd /tmp/CJK/4_1.0
+ # cd doc/chinese
+ # bg5latex READMEb5.tex
+ \end{verbatim}
+ ฌฌOง_ฏเถถงQงนฆจฝsรถกC
+\end{enumerate}
+
+\subsection{ฆb~DOS~ฉฮ~OS/2~จtฒฮคU}
+\label{sec:install-under-dos}
+
+\begin{enumerate}
+\item งไญำพAทํชบฅุฟฑNจ๚ฆ^ชบ~CJK~ภฃมYภษธัถ}กC
+\item ฑN~CJK~จtฒฮคค~|texinput|~ฅุฟคUชบฉาฆณภษฎืก]ซOซ๙ญ์ฅุฟตฒบcก^ฒพฆ~
+ \TeX~จtฒฮฏเงไจ์ชบฆaค่กAจรฑNฆนฅุฟฆWง๏ฆจ~|CJK|~ฉฮพAทํชบฆWบูกCฆpชGฑzคฃ
+ ฌOจฯฅฮธ๛ทsชฉชบ~\TeXก]นณ~em\TeXกAณoจว~\TeX~จtฒฮกAดฃจัคFปผฐjทjดMคlฅุฟ
+ ภษฎืชบฏเคOก^กAซhฑN~|texinput|~ฅุฟคUปPคฮฑzญnจฯฅฮชบคบฝXฅุฟก]Bg5ก^คU
+ ชบฉาฆณภษฎืฒพฆ~\TeX~ฏเงไจ์ชบฆaค่กC
+
+ ฅH~em\TeX~จtฒฮฌฐจากAฑN~CJK~ชบ~|texinput|~คคชบภษฎืฒพฆ~
+ |c:\emtex\|\linebreak[1]|texinput\|\linebreak[1]|CJK\|\ldotsกAจรฅH
+ คUญฑชบซฅOตyง@ญืง๏กAฅHจฯฑo~\TeX~ฏเทjดMจ์~CJK~ฅุฟกG
+ \begin{verbatim}
+ set emtexdir=c:\emtex
+ set texinput=%emtexdir%\texinput!!
+ \end{verbatim}
+\item ฆb~CJK~จtฒฮคคชบ~|utils\|\linebreak[1]|Bg5conv|~ฅุฟคคกAฑN~
+ |bg5conv.|\linebreak[0]|exe|~ณsฆP~|bg5latex.|\linebreak[0]|bat|~ฒพฆ~
+ \TeX~ชบฐ๕ฆๆธ๔ฎ|~(|PATH|)~คคชบฌYญำฅุฟก]ฉฮผWฅ[ค@ฐ๕ฆๆธ๔ฎ|ก^กC
+\item ฐัฆา~\ref{sec:install-fonts}~ฆwธหฆrซฌค@ธ`กAฑN~|.tfm|~ภษกAPK~ฆrซฌ
+ ฉฮ~PS~ฆrซฌฆwธหฆพAทํชบฅุฟคUกC
+\item ฐัฆา~\ref{sec:install-.fd}~ฆwธห~|.fd|~ภษค@ธ`กAฎฺพฺฆrซฌฆwธหชบตฒชGกA
+ ณ]ฉwฌร๖ชบ~|.fd|~ภษกCก]ฅiฐัฆา\ttftopkฉฮ\ntutocjkฉาดฃจัชบฝdจาก^กC
+\end{enumerate}
+
+
+\section{ฆrซฌฆwธห}
+\label{sec:install-fonts}
+
+ฅปคๅถศฅHฅั~True Type~ฆrซฌฒฃฅอชบ~PK~ฆrซฌฉฮ~PS~ฆrซฌฌฐปกฉ๚กCฆrซฌคงจ๚ฑoฐั
+ฆาชฟ~\ref{sec:getting-files}~คงปกฉ๚กC
+
+PK~ฆrซฌก]ฉฮ~PS~ฆrซฌก^ณฬฆnฆwธหฆbทํงAญnคษฏล~\TeX/\LaTeX~จtฒฮฎษคฃท|ผvลTชบ
+ฆ์ธm\footnote{จฦน๊คWกAณฬฆnฑNจบจวฅฟฑ`ฆwธห~\TeX/\LaTeX~จtฒฮฅHซแกAงAฅฒป
+ รBฅ~ญืง๏ฉฮฆwธหชบภษฎืคฮต{ฆกกAณฃฉ๑ฆbฅtฅ~ธ๛จpฆณชบฅุฟคคกAตMซแฆAฅH~link~
+ ชบค่ฆกธmฉ๑ฉ๓ญ์ฅปภณณBชบฆ์ธmกCฆb~DOS~คUกAฆrซฌภษฅHฅ[ฆbภ๔นาลผฦชบธ๔ฎ|คค
+ ฌฐฅDกAจไฅฆชบซhฅHฝฦปsชบค่ฆกจ๚ฅN~linkกC}กAฆ]ฌฐค@ฅนฆนรฆrซฌฒฃฅอซแกAงYฅi
+ช๘ฎษดมชบจฯฅฮกFฅtฅ~กAฆpชGจCฆธญnคษฏล~CJK~จtฒฮฉฮ~\TeX/\LaTeX~จtฒฮฎษกAค]ฅi
+ฉ๑ค฿คjมxชบคUคโกC
+
+\subsection{PK~ฆrซฌ}
+\label{sec:install-pk-fonts}
+
+\subsubsection{ฆฐสฒฃฅอ~PK~ฆrซฌ}
+[ฉ|ฅผงนฆจกAฝะฐัฆา\ttftopkฉฮ\ntutocjkชบฆwธหปกฉ๚]
+
+\subsubsection{นwฅฒฃฅอ~PK~ฆrซฌ}
+[ฉ|ฅผงนฆจกAฝะฐัฆา\ttftopkชบฆwธหปกฉ๚]
+
+\subsubsection{ฅั~PS~ฆrซฌฒฃฅอ~PK~ฆrซฌ}
+ฐัฆา~\ref{sec:install-ps-fonts} PS~ฆrซฌค@ธ`กC
+
+\subsection{PS~ฆrซฌ}
+\label{sec:install-ps-fonts}
+
+ฆนณBฉาซชบ~PS~ฆrซฌฌฐคคคๅ~PostScript Type 1~ฆrซฌกAฆpชGฆAฅ[คWค@ญำฉฮคGญำ
+ชบ~PS~ฆrซฌก]ฅHณoจวคคคๅ~Type 1~ฆrซฌฌฐฐ๒ฉณฉาบcฆจชบฆrซฌก^กAฅiฒีฆจ~
+PostScript Type 0~ชบฆrซฌกCฆ~\TeX~จtฒฮฅุซeคดตLชkจ๚ฅฮ~Type 0~ชบฆrกAฉาฅH
+ฅปคๅค]คฃท|ดฃคฮกCฅtฅ~ชฝฑตจ๚ฅฮ~TTF~ฆrซฌฆbฅผจำค]ฅiฏเน๊ฒ{กAจาฆp~
+Ghostscript~ฆbทsชบชฉฅปคคก]4.01ก^คwฏเจฯฅฮ~TTF~ฆrซฌกC
+
+ฅHฆwธหทขฎั~PS~ฆrซฌฌฐจากAยฒญzจไฌyต{ฆpคUก]ธิฒำฝะฐัฆา\ntutocjkคคชบ~
+|README|~ภษก^กG
+\begin{enumerate}
+\item จCฆธฐwน๏ค@ญำฆrฑฺก]font familyกAฆpทขฎัก^ฒฃฅอ~|.tfm|~คฮ~|.pfb|~ภษ
+ ฎืกC
+\item ญืง๏ฆrฑฺฌร๖ชบ~makefile~ภษกAฆpญืง๏~|kai.mak|~ชบคบฎeก]ฅHคUฅHทขฎั
+ ฌฐจาก^กC
+\item ญYฑzจฯฅฮ~UNIX~จtฒฮกAฟ้คJคUญฑชบซฅO
+ \begin{verbatim}
+ make unix FONTMAK=kai.mak
+ \end{verbatim}
+ ญYฑzฆb~DOS~คUกAฝะคUกG
+ \begin{verbatim}
+ make dos FONTMAK=kai.mak
+ \end{verbatim}
+ ญYค@คมถถงQกAภณฆณ~55~ญำชบ~|.pfb|~ภษฎืฉM~55~ญำก]ฉฮ~110~ญำกAฆpชG~
+ |EXTENDED_FONT|~ฌOณ]~|YES|ก^|.tfm|~ภษฎืกAฅB~TFM~ภษฎืชบคjคpกAจCญำฌ๙ฌฐ~
+ 1.2kB~ฅชฅkกC
+\item คU~|make install-fonts|~ฆนซฅOกAฅiฑNฉาฆณฒฃฅอชบฆrซฌฆwธหฆฑzณ]ฉwฆb~
+ |kai.mak|~ภษฎืคคฉาซฉwชบฅุฟคคกCฑzฅiฏเค]ปญnฅH~|make install-maps|~
+ ณoญำซฅOฆwธห~|Fontmap|~คฮ~|psfonts.map|~ตฅกC
+\item ฎฺพฺฅHคWฉาฉwธqฆrซฌฌร๖ชบฆWบูกAฑzฅฒถทญืง๏~|c00kai.fd|~จรฒพฆ~
+ \TeX~งไฑoจ์ชบฅุฟกCฉฮชฬญืง๏~|c00kai.fdx|กAฆpชG~|EXTENDED_FONT|~ฌOณ]
+ ฌฐ~|YES|กAฒพฆพAทํฅุฟซแกAฅฒถทฑNจไฆWบูง๏ฌฐ~|c00kai.fd|กC
+\end{enumerate}
+
+\subsubsection{ฅั~PS~ฆrซฌฒฃฅอ~PK~ฆrซฌ}
+
+ฅั~PS~ฆrซฌฒฃฅอ~PK~ฆrซฌกAณqฑ`ฑzปญnยว~|gsftopk|~ฉฮ~|ps2pk|~จำงนฆจกC
+
+ฆpชGฅH~|gsftopk|~ฒฃฅอ~PK~ฆrกAมูปญn~|gs|ก]Ghostscriptก^ชบปฒงUกAฆ]ฆนฆb
+ฑzฎืธหฆn~PS~ฆrซฌซแกAฐOฆํญnฑNฆrซฌฉาฆbชบฅุฟฆWกAฅ[จ์~|GS_LIB|~ณoญำภ๔นาล
+ผฦคคกAฉฮชฬฑNฅั\ntutocjkฉาฒฃฅอ~|.pfb|~ภษกAฅH~symbolic link~ชบค่ฆกกAฅณก~
+link~จ์~|gs|~ฉาฉwธqชบฆrซฌฅุฟคคกC
+
+ฆpชGฅฮ~|ps2pk|กAฑzปญn~AFM~ภษก]ฆb\ntutocjkปsณy~|.pfb|~ภษฎืชบนLต{คคกAท|
+ฒฃฅอ~AFM~ภษก^กCณฬฆnจ๚ฑoณฬทsชบชฉฅปกAฅHซOตฆbลชจ๚~PS~ฆrซฌปP~AFM~ภษฎษกAคฃ
+ญPฒฃฅอฐรDกC
+
+ฆbฑzฉาจฯฅฮชบ~\TeX/\LaTeX~จtฒฮคคกAคjทงณฃฆณ~|MakeTeXPK|~ณoญำภษกAฅฆชบฅ\ฅฮ
+งYฌOฆbจtฒฮตoฒ{ฌYญำ~PK~ฆrซฌคฃฆsฆbฎษกAฆฐสฒฃฅอคงกCฆำฆนภษฆฅGคฃปฏSงOชบรB
+ฅ~ณ]ฉwกAณฃฆณฆฐสฅั~PS~ภษฒฃฅอ~PK~ฆrซฌชบฅ\ฏเกCทํตMซeดฃฌOณoจว~PS~ฆrซฌฅฒถท
+ฅXฒ{ฆb~|psfonta.map|~คคกA|MakeTeXPK|~ฅฮฆนภษคคชบฆrซฌงPย_ฅฟญnฒฃฅอฆrฌOง_
+ฌฐ~PS~ฆrซฌก]จไน๊ณoปญnต๘ฑzฉาฆwธหชบฌร๖จtฒฮฆำฉwก^กC
+
+%\section{คฃฆPนqธฃฅญปOคUคงช`ทNจฦถต}
+%\label{sec:platforms}
+
+%\subsection{DOS}
+%\label{sec:platform-dos}
+
+%\subsection{UNIX}
+%\label{sec:platform-unix}
+
+\subsection{ฆwธห~\texttt{.fd}~ภษ}
+\label{sec:install-.fd}
+
+ทํงAญnชบฆrซฌก]TFM~ภษฎืกBPK~ฆrซฌกBฉฮ~PS~ฆrซฌก^ซ๖ทำคWญzดXธ`ค่ฆกฆwธหงดทํ
+ซแกAฑzค]ถทญnพAทํฆaณ]ฉwฌร๖ชบ~|.fd|~ภษกCฅปธ`ฑNยฒญzคงกC
+
+\LaTeXe~ชบ~\textsf{NFSS}~ณWฎๆคคกAญnดyญzค@บุฆrซฌฅ]งtฆณคUฆCฐัผฦกG
+\begin{enumerate}
+\item EncodingกGฝsฝXค่ฆกกAฆp~|T1|กB|OT1|กB|DC|~ตฅกC|U|~ชํฅ~unknownกC
+ CJK~จtฒฮชบฝsฝXค่ฆกก]ฐัฆา~|fonts.txt|ก^ค@ฌฐคๅฅ๓คถญฑฉาฅฮกAฆp~|Bg5|กB
+ |GB|กB|Bg5pmC|~ตฅกAค@ฌฐ~\textsf{NFSS}~ฉาจฯฅฮกAฆp~|C00|กB~|C10|กB
+ |C01|~ตฅกCฆนณBกAงYฉwธqฆb~|.fd|~ภษคคชบฝsฝXค่ฆกปจฯฅฮซแชฬกCฅHง^คHฉาจฯ
+ ฅฮชบ\bigfiveฌฐจากA~|C00|~ฌOฅฒปฉwธqชบกC
+\item FamilyกGฆrฑฺกAฆp~|cm|กB|cmss|กB|cmtt|~ตฅกACJK~จtฒฮฆbฆwธห\bigfiveชบ
+ ฆrซฌปฆฆๆฉwธqกAฆปฒลฆX~\textsf{NFSS}~ชบณWฉwกAงYฉwธqฆrฑฺชบฆrผฦคฃฅi
+ ถWนLคญญำฆrฅภกCฑzฅiฐัฆาฅ]งtฆbธัถ}ภษฎืคคชบฝdจากAฆp~|c00kai.fd|กCCJK~จt
+ ฒฮฅHทขฎักBฉ๚ล้กBดะฎัตฅชํฅฆrฑฺกCง^คHฅiฅฮ~|kai|กB|song|กB|ming|กB|fs|กB
+ |black|กB|round|~ตฅตฅชํฅ\bigfiveชบฆrฑฺกC
+\item SeriesกGฆrจtฆCก]พ๎ฆVชบคุคoก^กAฆp~|m| (medium)กB|b| (bold)กB|bx|
+ (extended bold)~ตฅกACJK~ชuฅฮฆนณWฎๆกC
+\item ShapeกGฆrงฮชฌกAฆp~|n|กB|sl|กB|ol|กB|it|~ตฅกCCJK~ชuฅฮคงกC
+\item SizeกGฆrคjคpก]ยIผฦก^กAฆp~|10|กB|12|~ตฅ
+\item |\baselineskip|กGฌพFจโฆๆชบฐ๒ทวฝuถกถZกAคjณกคภฑกชpฅฮคฃจ์ฆนฐัผฦกC
+\end{enumerate}
+
+ฎฺพฺฅHคWชบฑิญzกAฅHคUยฒณๆคถฒะธำภษชบตฒบcปPปyชkกAฅH~|c00kai.fd|ก]ฆb~
+\texttt{texinput/Bg5}~ฅุฟคUก^ภษฅ]งtคTญำฅDญnชบซฅOกG
+\begin{enumerate}
+\item |\ProvidesFile{c00kai.fd}{|{\em release-info}|}|กGปกฉ๚ฅปภษฆWจรมื
+ งKญซฝฦธคJกC
+\item |\DeclareFontFamily{C00}{kai}{}|กGปกฉ๚ฆนภษฅH~|C00|~ชบฝsฝXฅBดyญz~
+ |kai|~ฆrฑฺกCจไคค~|C00|~ฌO~\textsf{NFSS} encodingกC
+\item |\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka}{}|กGฆนฉRฅOชบ
+ ฒฤคญญำฐัผฦธ๛ฝฦย๘กAฅiฐัฆา~|fonts.txt|~ชบปกฉ๚กCจไคค~|*|~ธนฅkชบฐัผฦงYฌO
+ ค@ฒีฆrซฌภษฆWชบฆrญบกACJK~จtฒฮท|ฆbงภบฅ[คWคGฆ์ผฦฆrกAฆจฌฐฆrซฌฆWบู
+ ก]sub-font nameก^กAคฃฝืฌO~|.tfm|~ภษกB|.pfb|~ภษฉฮ~|pk|~ภษฌาปปPฆนฆWค@
+ ญPกC|CJK|~ซhฌOฆrซฌคjคpจ็ผฦก]size functionก^กACJK~จtฒฮฉwธqคFผฦญำฆนร
+ จ็ผฦกAฆpกG
+ \begin{verbatim}
+ CJK ฌทํฉ๓ `' (empty) ทNซจฯฅฮฆrชบคjคpปP latex ฝsฤถชบค@ญPกC
+ sCJK ฌทํฉ๓ `s' ฆPคWกAฆจ๚ฆrฆณป~ฎษคฃฤตงiก]silentก^กC
+ CJKfixed ฌทํฉ๓ `fixed' ญYปจDชบฆrคjคpฆbฉwธqชบฝdณ๒คบกAค@ซ฿
+ จฯฅฮซฉwชบฆrกC
+ sCJKfixed ฌทํฉ๓ `sfixed' ฆPคWกAฆ keep silentกC
+ CJKsub ฌทํฉ๓ `sub' ฅHฅtค@รฆrซฌดภฅNกC
+ CJKssub ฌทํฉ๓ `ssub' ฆPคWกAฆ keep silentกC
+ \end{verbatim}
+ ฆpฆนฅiฅHซค่ซKชบฆPฎษจฯฅฮยIฐ}ฆrคฮฆVถqฆrกC
+\end{enumerate}
+
+ณฬยฒณๆชบฆwธหค่ฆกดNฌOกAฆpชGงAฌOฅฮ\ttftopkจำฒฃฅอฆrซฌกAซhฑNจไฉาดฃจัชบ~
+|c00?????.fd|~ฝฦปsจ์~\texttt{texinput/Bg5}~คUกFญYฌOฅH\ntutocjkฌฐฅDกAฅ็
+ฆPฒzฌฐคงกFฅHฆนรฑภกC
+
+\subsection{ฟ้ฅXคคคๅ~\LaTeX~คๅฅ๓ปPฆrซฌชบร๖ซY}
+\label{sec:portability}
+
+ฆนณBฉาซชบฟ้ฅXฅ]ฌAฑqฟรน๕กBภษฎืคฮฏศฑiตฅกCชํ~\ref{tab:soft-vs-fonts}~ฌO
+ฅปคๅฉาดฃคฮชบค@จวณnฅXณnล้ปPจไฉาจฯฅฮฆrซฌถกชบร๖ซYก]ฐฃคFฏSงOปกฉ๚ฅ~กAณnล้คง
+ชฉฅปคjญPฌาฌฐฅปคๅผถผgฎษณฬช๑ชบชฉฅปก^กCฅัฆนชํฅiชพกAPK~ฆrฆbนwต๘ฎษฌOคฃฅiฉฮ
+ฏสชบกAฆำ~PS~ฆrฆbฆCฆLฅ]งtฆณ~PostScript~ภษฎืก]|.eps|กB|.ps|~ตฅก^ชบคๅฅ๓ฎษ
+ฅ็ฅฒปฅฮจ์กC
+\begin{table}[htbp]
+ \begin{center}
+ \leavevmode
+
+ \begin{tabular}{|>{\ttfamily}c|c|c|c|} \hline
+ ฟ้ฅXณnล้ & ฅ\ฏเ & CJK PK~ฆrซฌ
+ & CJK PS~ฆrซฌ \\ \hline
+ xdvi & นwต๘ & \hookstroke
+ & \crossmark \\
+ & &
+ & ก]ฏเฆณค@ญำนwณ]ฆrก^ \\ \hline
+ dvisvga & นwต๘ & \hookstroke
+ & \crossmark \\ \hline
+ dvips & ฟ้ฅXฆภษฎืฉฮฆLชํพ๗ & \hookstroke
+ & \hookstroke \\
+ ก]5.60~ชฉฅปฅHคUก^ & &
+ & ก]ฆฌฐฅณกธคJก^ \\ \hline
+ dvihp & ฟ้ฅXฆภษฎืฉฮฆLชํพ๗ & \hookstroke
+ & \crossmark \\ \hline
+ gs & นwต๘คฮฟ้ฅX & \crossmark
+ & \hookstroke \\ \hline
+ \end{tabular}
+
+ \caption{~\TeX~ฌร๖ณnล้ปPจฯฅฮ~CJK~ฆrซฌถกคงร๖ซYกC}
+ \label{tab:soft-vs-fonts}
+ \end{center}
+\end{table}
+
+ญnฒฃปsค@ฝgนฯคๅจรญZชบคๅณนกAคืจไฌOคคคๅคๅณนกAฆrฑฺก]font familyก^ปPจไคุคo
+คjคpก]font sizeก^ชบลคฦฌOคฃฅiฉฮฏสชบกCน๏ฟ้ฅXฎษฅฒถทชบ~PK~ปP~PS~ฆrซฌฆำจฅกA
+ญYฆbฆนชฌชpคUค๑ธ๛คGชฬชบฎtงOกAฆLชํชบค่ซKฉสค]ฅiปกฌOฆUฆณคdฌ๎กFญYฆbบฯบะชลถก
+ชบจฯฅฮคWกAฅiฏเดNฆณฉาฎtฒงกCฆ]ฌฐฆPค@ฆrฑฺฆคฃฆPคjคpชบฆrกAPK~ฆrซฌฅฒปจCบุ
+จฯฅฮจ์ชบคุคoฌาธคJฆจไฟ้ฅXภษคคกAฆำ~PS~ฆrซฌฅuปค@ฆธกC
+
+ฅุซeกAคๅณนคคฉาฆณจฯฅฮจ์ชบ~PFB~ฆrซฌกAญYญnฒฃฅอคบงtฆกชบ~PS~ภษฎื
+ก]self-contained Postscript outputก^กA|dvips|~ท|ฅณกธคJฆจไฟ้ฅXคคกCฆำ
+คUค@ฆธฅXชฉชบ~|dvips|~ต{ฆกคคกAฑNฅiฏเฐwน๏จไฟ้ฅXภษคคชบฆนถตฏสยIฆณฉาง๏ถiกF
+ทNงYทsชบชฉฅปฅuท|ธคJฆbคๅณนคคฆณจฯฅฮจ์ชบฆrจไฆb~|.pfb|~ภษคคฉาน๏ภณคงฉwธqชบ
+ณกคภกCก]ฆbตงชฬด๚ธี~|dvips| 5.60~ชฉฎษกAผศฎษตLชkฆจฅ\ฆaจฯฅฮคคคๅ~CJK PS~ฆr
+ซฌกAคฃนLฌซHงึคFกCก^
+
+ฅุซeผศฎษฅiฅฮ~|fontload|~ณoญำณnล้กAนFฆจณoญำฅ\ฏเกC
+
+
+\section{งฺชบจาคl}
+\label{sec:my-settings}
+
+ฅุซeงฺจฯฅฮชบฌO~Linux~ง@ท~จtฒฮกA\TeX/\LaTeX~ซhจฯฅฮ~te\TeX~ภ๔นากAฌร๖ชบ
+ฅุฟฆpคUกG
+\begin{itemize}
+\item |/usr/local/lib/texmf| ฆsฉ๑~\TeX/\LaTeX~จtฒฮกC
+\item |/usr/local/lib/ghostscript| ฆsฉ๑~GhostscriptกC
+\item |/usr/local/lib/ntuttf| ฆsฉ๑~NTU TrueType~ฆrซฌคฮฅั\ntutocjkฉาฒฃ
+ ฅอชบฌร๖ฆrซฌกC
+\item |~/CJK/4_1.0| ฆsฉ๑ธัถ}ชบ~CJK~จtฒฮกC
+\end{itemize}
+
+งฺฅHฅฟฑ`ชบฆwธหต{งวกAฑN~te\TeX~ฆwธหฆb~|/usr/local/lib/texmf|กFคงซแฑN~
+CJK~ฆbงฺชบ~|$HOME/CJK|~คUธัถ}กACJK~ณnล้คคฉาฆณชบภษฎืซKฒฃฅอฆb~|CJK|~คlฅุ
+ฟคค\footnote{คงฉาฅHฑN~CJK ฆwธหฆbฆคvญำคHชบฅุฟคUกAฌOฆ]ฌฐ~CJK~ฑ`ง๓ทsกA
+ คฃค่ซKฑ`ฝะจtฒฮบฒzชฬภWภWง๏ลณ]ฉwกCฆAฅ[คWฌฐคFฆคvภษฎืฌyณqฉสชบฆาผ{กAฆณ
+ ฆคvค@ฅ๗~CJK~ชบณ]ฉwกAญำคHป{ฌฐกAฆคvชบ~CJK~คๅฅ๓ค~ท|ฆณธ๛ฐชต{ซืชบฒพดำฉสกC
+ ญYงAคSฌOจtฒฮคคญtณd~CJK~ณnล้ชบคHกAฌฦฉฮฌOพใญำ~\TeX/\LaTeX~ชบบ๛ล@ชฬกAฆb
+ ฆคvจpคHชบฅุฟคUบฒzจรฉwดมง๓ทs~CJKกAฌOญำคฃฟ๙ชบค่ฆก}กAจาฆpกG
+\begin{verbatim}
+ % cd
+ % gunzip CJK-4.1.0.src.tar.gz | tar xvf -
+\end{verbatim}
+จรฐตฅHคUชบณBฒzกG
+\begin{enumerate}
+\item ฆb~|~/CJK|~คUซุฅ฿ค@ฒลธนฆกชบภษฎืณsตฒก]symbolic linkก^กAฆWฌฐ~
+ |texinput|~ฅBณsตฒฆฅุซe~CJK~ชฉฅปฆWคUชบ~|texinput| กA
+ \begin{verbatim}
+ % cd ~/CJK
+ % rm -f texinput
+ % ln -s 4_1.0/texinput texinput
+ \end{verbatim}
+\item ฝsฤถค@ญำทsชบ~|bg5conv|~ฐ๕ฆๆภษกC
+ \begin{verbatim}
+ % cd ~/CJK/4_1.0/utils/Bg5conv
+ % gcc -O -o bg5conv bg5conv.c
+ % mv bg5conv bg5latex ~/bin
+ \end{verbatim}
+ ญYคฃฅuฌOฆwธหตนฆคvฅฮกAซhฅiฅH~|root|~ชบจญฅ๗~|cp|~ฆ~|/usr/local/bin|~
+ ฅุฟคUกC
+\item ฆbงฺชบ~|$HOME|~ฅุฟคU~|.cshrc|~ภษคคก]ฆ]ฌฐงฺฅฮชบฌO~tcshก^กAผWฅ[ค@
+ ฆๆ
+ \begin{verbatim}
+ setenv TEXINPUTS ":~/CJK/texinput//"
+ \end{verbatim}
+\item ฒฃฅอ~|.tfm|~ภษคฮ~|.pfb|~ฆrซฌกCฆbฆนงฺซ๖ทำ\ntutocjkคคกAค@ค@~
+ ``make''~ฅXฌน๏ชบ~|.pfb|~ฆrซฌกAฆ@~8~ฒีกAจCฒี~55~ญำ~ |.tfm|~คฮ~|.pfb|~
+ ภษกCงฺฑNณoจวภษฎืฒพฆ~
+ \texttt{/usr/local/lib/\linebreak[1]ntuttf/\linebreak[1]type1/}~คฮ~
+ \texttt{/usr/local/lib/ntuttf/afm/}~ฌร๖ฉ๓จไฆrฑฺชบฅุฟคUกCจรฑN
+ ~|config.CJK|~คฮ~|CJK.map|~ฒพฆ~|$TEXMF/dvips|~คUกC
+\item ณ]ฉw~|.fd|~ภษกCฆ]ฌฐงฺจฯฅฮชบฌOฅH~PS~ฆrซฌฌฐฅDชบ~PFBก]ฅั\ntutocjkฒฃ
+ ฅอก^คฮฅัจไฒฃฅอชบ~PK~ฆrซฌก]ฅั~|gsftopk|~ฒฃฅอก^กAฉาฅHงฺชฝฑตฑฤฅฮ
+ \ntutocjkฉาดฃจัชบ~|c00|*|.fd|~ภษกAจSฆณง@ฅ๔ฆ๓ง๓ง๏ก]ฆ]ฌฐงฺฆณณdฅ๔จฯฅฆปP
+ งฺชบคuง@ภ๔นาค@ญP :-ก^กCงฺฑNจไฒพฆ~|~/CJK/texinput/Bg5/|~ฅุฟคUกC
+\end{enumerate}
+
+\subsection{ซุฅ฿คๅฝZ}
+\label{sec:creating-tex}
+
+คคคๅ~CJK \TeX~คๅฝZปPค@ฏ๋~\TeX~คๅฝZชบคฃฆPฅDญnฆbฉ๓กG
+\begin{itemize}
+\item ฆbฉาฟื~\LaTeX~คๅฅ๓ชบ~preambleก]|\documentclass|~ฆ~
+ |\begin{document}|ก^ฐฯฐ์คคกAฅฒถทฆณ~|\usepackage{CJK}|~ณoญำฉRฅOกAงYฅฒ
+ ถทธคJ~|CJK.sty|กC
+\item คคคๅฆrฅฒถทฆb~|CJK|~ฉฮ~|CJK*|~ชบคคคๅภ๔นาคคกCงYกG
+ \begin{verbatim}
+ \begin{CJK*}{}{}
+ คคคๅฌqธจกBณนธ`กBนฯงฮกBชํฎๆกBฐัฆาคๅฤmกBกKตฅ
+ ...
+ \newpage
+ \end{CJK*}
+ \end{verbatim}
+\item ญnลดซฆrซฌฅiฅฮ~|\CJKfamily|~ฉRฅOกAฆp~|\CJKfamily{fs}|~ฑNฅHคUชบฆr
+ ซฌง๏ฆจฅ้งบฆrก]ทํตM~|fs|~ณoญำฆrงฮฆWบูฅฒถทฉwธqฆb~|c00fs.fd|~คคก^กC
+\end{itemize}
+
+งฺชบฅฮชkณฃฌOฅHค@ญำคคคๅภ๔นาฅ]ฆํฉาฆณชบคๅณนคบฎeกAฆpนฯ~
+\ref{fig:my-example}~ฉาฅกC
+
+\newsavebox{\myex}
+\begin{lrbox}{\myex}
+ \begin{minipage}{.9\textwidth}
+ \footnotesize
+ \begin{verbatim}
+ \documentclass[12pt]{article}
+ \usepackage{CJK}
+
+ \begin{document}
+ \begin{CJK*}{Bg5}{fs}
+ \CJKtilde
+
+ \section{ฒฤค@ธ`}
+ \label{sec:section-1}
+ ฐัฆานฯ~\ref{fig:apply-pk-and-ps-fonts}กC
+
+ \begin{figure}[htbp]
+ \begin{center}
+ \leavevmode
+ \includegraphics{pkpsapps.eps}
+ \caption{|pk|~ฆrซฌปP~|.pfb|~ฆrซฌชบภณฅฮน๏ภณนฯ}
+ \label{fig:apply-pk-and-ps-fonts}
+ \end{center}
+ \end{figure}
+
+ \bibliographystyle{plain}
+ \bibliography{mybib}
+
+ \newpage %จฯฆณฅฟฝTชบคคคๅฟ้ฅXกC
+ \end{CJK*}
+ \end{document}
+ \end{verbatim}
+ \end{minipage}
+\end{lrbox}
+
+\begin{figure}[htbp]
+ \begin{center}
+ \leavevmode
+ \fbox{\usebox{\myex}}
+ \caption{งฺชบ~CJK~คๅฅ๓ฝdจากC}
+ \label{fig:my-example}
+ \end{center}
+\end{figure}
+
+\subsection{ฅH~\LaTeXe\ CJK~ฝsฑฦชฉญฑ}
+\label{sec:clatexing}
+
+ดNฆPค@ฏ๋ชบ~\LaTeX~ภษค@ผหกAฆฅH~|bg5latex|~จ๚ฅN~|latex|กAฆpกG
+\begin{verbatim}
+ % bg5latex mylatex.tex
+ ฉฮชฬ
+ % bg5latex mylatex
+\end{verbatim}
+
+\subsection{นwฤ}
+\label{sec:preview}
+
+คjณกคภฑกชpคUงฺฅH~|xdvi|~นwฤ~|.dvi|~ภษก]ฆb~Emacs~ฉฮ~Mule~คคญYจฯฅฮ~
+AUC\TeX~ณoฎMณnล้กAง๓ฏเลใฅXจไฌ๐ฅXชบฆaค่กAคืจไฌOฅuนwฤคๅณนคคชบค@ถ๔ฐฯฐ์กA
+ภHฎษฅiภหต๘ธำฐฯฐ์ชบฑฦชฉฑกงฮก^กC
+
+ฅtฅ~กAงฺค]ท|ต๘ฑกชpฅฮคฃฆPชบนwต๘ต{ฆกกCค๑ฆpฆb~Linux~ชบ~virtual terminal
+mode~งฺฅH~|dvisvga|~นwต๘กCฆbฏสฅF~|pk|~ฆrซฌฉฮจSฆณ~|xdvi|~ชบคึผฦฑกงฮคUกA
+งฺค]ฅฮ~|ghostview|~นwต๘ธgฅั~|dvips|~ฒฃฅอชบ~|.ps|~ภษฎืกC
+
+\subsection{ฆCฆL}
+\label{sec:printing}
+
+ฒฃฅอคฮฆCฆL~|PostScript|~ภษฎืฌOงฺณฬฑ`ฅฮชบค่ฆกกAฆ]ฌฐฆbงฺชบคๅณนคคกAนฯงฮฌOคฃ
+ฅiคึชบธ๊ฎฦกAฆำฅฆญฬดXฅGณฃฌO~|.eps|~ชบฎๆฆกก]ฅั~|xfig|กBAutoCADกB|GnuPlot|กB
+|xv|กBกKตฅฉาฒฃฅอก^กCฉาฒฃฅอชบ~|.ps|~ภษกAฉฮชฬฌOฅั~PostScript~ฆLชํพ๗กAฅ็ฉฮ
+ชฬณzนL~ Ghostscript~ชบยเดซกAฆำฟ้ฅXจ์~Laserjet~ฉฮ~Deskjet~ฌฦฉฮจ์ยIฐ}ฆกฆL
+ชํพ๗ฅhกC
+
+ค@ฏ๋ฆำจฅกAฅH~|dvips cjk-doc|~ท|ฒฃฅอฅiฆCฆLชบฟ้ฅXกAฆAฅH~|lpr cjk-doc.ps|~
+ชบฆLชํซฅOฆCฆLงYฅiกCฆฑzญYคฃฤ@ฒฃฅอคคคๅ~PK~ฆrซฌกAฅBฑzคฃฌOจฯฅฮ~PostScript~
+ฆLชํพ๗กAคSฅฮ\ntutocjkฆwธห~PS~ฆrซฌกAค]ฐwน๏~ Ghostscript~ชบณ]ฉwฆwธหฆnณoจว
+ฆrซฌกAฆำฅBฑzชบฆLชํมอฐสต{ฆกฏเฅH~|gs|~ฌฐฅDก]LinuxจtฒฮคWฆhผฦณฃฅHฆนค่ฆกณ]ฉwก^กA
+ซhงAฅiฅHชฝฑตฅH~|lpr|~ณoญำฉRฅOฆCฆL~ |.ps|~ภษก]ฌฦฆฌO~|.dvi|~ภษก^กCฆpกG
+\begin{verbatim}
+ % dvips -P CJK cjk-doc
+ % lpr cjk-doc.ps
+\end{verbatim}
+
+ฅH~|dvihp|~ฒฃฅอฆCฆLภษค]ฌOค่ฆกคงค@กAจไฟ้ฅXฎๆฆกฌฐ~PCLกAฉฮฌO~HP~ฆLชํพ๗ชบฎๆ
+ฆกกCฆฆ]ตLชkณBฒzคๅณนคคฅ]งtชบ~PostScript~ภษฎืกAฉาฅHงฺจรคฃฑ`ฅฮกC
+
+ทํญnฒฃฅอฅiฤโชบฆCฆLภษฎืฎๆฆกก]self-contained PostScript fileก^กAงฺท|ฅHฒฃฅอ~
+Post\-Script~ก]|.ps|ก^ชบฎๆฆกฌฐฅDกCฆrซฌจำทฝคงค@ฌOฅันwต๘ซแฆฐสฒฃฅอชบ~PK~
+ฆrซฌง@ฌฐ~ |dvips|~ชบฟ้คJฆrซฌกCฆนค่ฆกฅiฅHคUฆCฉRฅOงนฆจกG
+\begin{verbatim}
+ % dvips cjk_doc -o cjk-doc-contains-pk-fonts.ps
+\end{verbatim}
+ฆนฎษ~|psfonts.map|~คคปคฃงt\ntutocjkฉาฒฃฅอชบคคคๅฆrซฌก]CJK 4.0 ฅHคWชบชฉฅป
+คคฉางtชบ\ntutocjkกAนwณ]ฌฐฆนฑกงฮก^กA|dvips|~ค~ท|จ๚ฅฮคคคๅ~PK~ฆrกAฉฮฆpชGคค
+คๅ~PK~ฆrซฌคฃฆsฆbชบธกAท|ฆฐสฒฃฅอคงกCฆbจฯฅฮ~|xdvi|~ฉฮฌร๖ณnล้นwต๘ฎษกAฆ]ฅH~
+PK~ฆrซฌฌฐฅDกAฆbฆrซฌงไคฃจ์ชบฑกชpคUกAฅ็ท|ฆฐสฒฃฅอคงกC
+
+ฅtฅ~ซhฌOฅO~|dvips|~จ๚ฅฮคคคๅ~PS~ฆrกAฆbซ๖ทำ\ntutocjkคคปกฉ๚ฆwธหซแกAฉาฆณชบคค
+คๅ~PS~ฆrชบน๏ภณภษท|ฆsฆbฉ๓~|CJK.map|~ภษคคกCญYญnฅHฆนค่ฆกฒฃฅอฅiฤโฆกชบ~|.ps|~
+ภษกAฅฒถทถiค@จBฆaฅH~|gs|~ฉฮ~|fontload|~ตฅรฆชบณnล้กAฑN~PS~ฆrซฌธคJจ์ฟ้ฅX
+ชบภษฎืคคกCญYฅH~|fontload|~ฆำจฅกAฆb~UNIX~จtฒฮคUกAฅiฅHคUญฑชบซฅOนFฆจกG
+\begin{verbatim}
+ % dvips -P CJK -o cjk-doc-no-ps-fonts-contained.ps cjk_doc.dvi
+ % fload cjk-doc-no-ps-fonts-contained.ps > cjk-doc-contains-ps-fonts.ps
+ % lpr cjk-doc-contains-ps-fonts.ps
+\end{verbatim}
+ฆนฎษ~|cjk-doc-contains-ps-fonts.ps|~ฉฮ~|cjk-doc-contains-ps-fonts.ps|~ดN
+ฌOงนพใชบ~PS~ภษฎืคFกAค]ดNฌOปกกAฑzฅiฅHฅแจ์ฅ๔ฆ๓ค@ฅxคไดฉฆณฆCฆL~PostScript~ภษ
+ฎืชบฆLชํพ๗ฉฮต{ฆกคFกC
+
+ฅHคWดNฌOงฺญำคHน๏~CJK~คคคๅ~\LaTeX~จtฒฮชบณ]ฉwกAฆณคHฤ@ทNดฃจัฆคvชบฆwธหธgล็ถกS
+
+
+\section{ฐรDธัจM}
+\label{sec:trouble-shooting}
+
+ฆbจฯฅฮนwฤต{ฆกชบฎษญิกAฅiฏเท|นJจ์ชบฐรDปPจไธัจMชบค่ฆกฆpคUกG
+\begin{itemize}
+\item PK~ฆrซฌงไคฃจ์กC
+\item คฃท|ฆฐสฒฃฅอ~PK~ฆrซฌกC
+\end{itemize}
+
+[ณ\ฆhฐรDปPจไธัจMค่ฆกฉ|ฅผพใฒzฏวคJ]
+
+
+%\section{จไฅL}
+%\label{sec:misc}
+
+
+\section{ทPมย}
+\label{sec:acknowledgements}
+
+\begin{itemize}
+\item ฆณณoป๒ฆhคHกAฐ^ฤmณ\ฆhค฿คOกAงนฆจณ\ฆhค่ซKฅBคบฎeยืดIชบต{ฆกกC
+\item ฆณง๓ฆhชบจฯฅฮชฬกAจฯฅฮณoจวต{ฆกกAจฯฅLญฬง๓คWผhผำกC
+\item ณoบุฏSงOชบฌคฌผvลTกAฅอฅอคฃฎงฆaด`ภ๔ตกAค~ดฃคษคFงฺญฬชบฅอฌกผhญฑกC
+\end{itemize}
+
+
+%\section{ฅปคๅง@ชฬ}
+%\label{sec:the-author}
+
+%ง๕งgฆt (Chun-Yu Lee)
+%d791013@ce.ntu.edu.tw ฉฮ \\
+%chunylee@ms1.hinet.net
+
+
+%\bibliography{READMEb5}
+%\bibliographystyle{plain}
+
+
+\begin{thebibliography}{1}
+
+\bibitem{latex-companion:1993}
+Michel Goossens, Frank Mittelbach, and Alexander Samarin.
+\newblock {\em The \LaTeX Companion}.
+\newblock Addison Wesley, 1993.
+
+\bibitem{tex-faq:1.9c}
+Bobby Bodenheimer.
+\newblock The new \TeX\ FAQ --- your 100 questions answered:
+ Version 1.9c, date 1994/12/06.
+\newblock 1994.
+
+\bibitem{latex2nd}
+Leslie Lamport.
+\newblock {\em \LaTeX\ --- A Document Preparation System --- User's
+ Guide and Reference Manual}.
+\newblock Addison Wesley, 2 edition, 1994.
+
+\end{thebibliography}
+
+
+\appendix
+\section{ฆWตธัฤภ}
+\label{sec:terms}
+
+คUฆCฆWตฌฐฅปคๅคคฉาจฯฅฮกAจรงฝญญฉ๓คUฆCทNซไกG
+
+\begin{description}
+\item[PK~ฆrซฌ:] PK fontsกCค@บุภฃมYนLชบยIฐ}ฆrซฌฎๆฆกกCผsชxจฯฅฮฆb~
+ TeX/\LaTeX~ปญnฟ้ฅXยIฐ}ฆrชบฆaค่กCฆpนwต๘ฉฮฆCฆLฟ้ฅXกCฆbฆนฐพซคคคๅ~CJK
+ PK~ฆrซฌกC
+\item[PS~ฆrซฌ:] PostScript Type 1 fontsกCPostScript~ฆrฆณผฦบุซฌฆกกAฅปคๅ
+ ทNซ~Type 1~ฆrซฌกCจไฆณจโบุฎๆฆกกGPFA (Printer Font Ascii)~คฮ~PFB
+ (Printer Font Binary)กCฆbฆนฐพซคคคๅ~CJK PS~ฆrซฌกC
+\item[ฅDพ๗กBคuง@ฏธ:] A host computer, work station, etcกCชxซฌYปOดฃจั
+ ธ๊ทฝฉฮชAฐศชบนqธฃกCฆp~FTP~ฏธกC
+\item[CTAN:] Comprehensive \TeX\ Archive NetworkกCฅปคๅซฆฌถฐดXฅGฉาฆณฆณ
+ ร๖~TeX/\LaTeX~จtฒฮคฮคๅฅ๓ชบ~FTP~ฏธกCฅุซeคwชพชบ~CTAN~ธิฆCฉ๓ชฟ~
+ \ref{sec:ctan-mirrors}กC
+\item[IFCSS:] The CCIC (Chinese Community Information Center) of IFCSS
+ (Independent Federation of Chinese Students and Scholars)กCชฟ~
+ \ref{sec:ifcss-mirrors}~คคฌOดXญำฆณฆWชบ~ifcss~ฏธกC
+\item[AFM~ภษฎื:] Adobe Font MetricsกCฆsฆณฝsฝXคฮฆrฝdณ๒ตฅธ๊ฎฦกC
+\item[TFM~ภษฎื:] \TeX\ Font MetricsกC
+\item[|.fd|~ภษฎื:] ฆrซฌดyญzภษ~(font description files)กCฐOฟฌร๖ฉ๓ฌYค@
+ บุคบฝXกC
+\item[GS~ฉฮ~GhostScript:] ฑ`ฅฮชบ~PostScript~ปyจฅธัฤถพนก]interpreterก^
+ คงค@กC
+\item[|afm2tfm|:] ฑN~AFM~ภษฎืฎๆฆกยเดซฆจ~TFM~ภษฎืฎๆฆกชบต{ฆกกC
+\item[ค@ฒีฆrซฌภษ:] ฆpชGฌOจฯฅฮภฃมYนLชบฆrซฌกAงYคฃฌOจฯฅฮ~pmC~ถ}ภYชบฆrฑฺกA
+ ฆ@ฆณ~55~ญำคlฆrซฌภษกCจาฆpกG|b5ka01.pfb|กB|b5ka02.pfb|กBกKกB
+ |b5ka55.pfb|กC
+\item[\textsf{NFSS}:] New Font Selection SchemeกCฅั~Frank Mittelbach~
+ ฉM~Rainer Sch\"opf~ฉาดฃฅXชบฆrซฌฟ๏พจtฒฮกC
+\end{description}
+
+\section{ภษฎืจ๚ฑo}
+\label{sec:getting-files}
+
+\begin{description}
+\item[\LaTeXe~ฐ๕ฆๆภ๔นากG] ค@ฏ๋ฌาฆณฆจฎMชบจtฒฮจัจฯฅฮชฬยฒณๆฆwธหกAฆpฆb~DOS~
+ คUชบ~em\TeXกFฆb~Linux~คUฆณ~N\TeXกB~te\TeX~ตฅกFUNIX~คWซhฆp~web2c~ชบชฉ
+ ฅปตฅกCณoจวณฃดฒฆb~CTAN~ชบฅุฟคUกCฤดฆp~em\TeX~ฆb~
+ |systems/|\linebreak[1]|msdos/|\linebreak[1]|emtex|~คคกFN\TeX~ฆbกSกSกF
+ web2c~ชบชฉฅปฆbกSกSกC\LaTeXe~จtฒฮฅปจญซhฆb~CTANกG
+ |macros/|\linebreak[1]|latex/|\linebreak[1]|base|~คUกC
+\item[\LaTeXe~CJK~จtฒฮกG] CTAN: |language/chinese/CJK|~ฉฮ~IFCSS host:
+ |tex/|\linebreak[1]|CJK.X_X.|\linebreak[1]|tar.gz|กC
+\item[NTU TrueType~ฆrซฌกG] IFCSS host: |fonts/big5/ms-win|กCฑNทขฎักBฉ๚
+ ล้กBฅ้งบล้ตฅณกคภก]ฉฮฅณกก^ชบ~ARJ~ภษจ๚ฆ^ซแกAฐัฆาปPณoจวฆrซฌฆbฆPค@ฅุฟ
+ ชบปกฉ๚ภษก]ฉฮฐัฆาชฆb\ntutocjkคคชบ~|README|~ภษก^กAฑNจไมูญ์ฆจญำงO~TTF~
+ ฆrซฌกC
+\item[\textsf{ntu2cjk, ttf2pk}:] ฆrซฌฒฃฅอต{ฆกกCฅฆฅ]งtฆb~กง\LaTeXe\ CJK~
+ จtฒฮกจคคกC
+\item[GhostScript:] CTAN:
+ |support/|\linebreak[1]|ghostscript/|\linebreak[1]|aladdin|~ฉฮ~
+ |support/|\linebreak[1]|ghostscript/|\linebreak[1]|gnu|กC
+\item[|dvips|:] CTAN host: UNIX~ชฉฆb~|dviware/dvips|กFDOS~ชฉฆb~
+ |systems/msdos/|\linebreak[1]|dviware/|\linebreak[1]|dvips/|%
+ \linebreak[1]|dvips558.pc|กC
+\item[|afm2tfm|:] ฅ]งtฆb~dvips~จtฒฮคคกC
+\item[|ps2pk|:] CTAN: |fonts/utilities/ps2pk|กAฉฮฅ]งtฆbค@ฏ๋ฎMธหชบ~
+ \TeX/\LaTeX~จtฒฮคคกC
+\item[|gsftopk|:] CTAN: |fonts/utilities/gsftopk|กAฉฮฅ]งtฆbค@ฏ๋ฎMธหชบ~
+ \TeX/\LaTeX~จtฒฮคคกC
+\item[|dvi2|xx:] ฆp~|dvilj|กB|dvidm|กBกKกCฆb~CTAN: |dviware|~ฅุฟคUกC
+\item[AUC\TeX:] CTAN: |support/auctex|~ฅุฟคคชบ~
+ |auctex.tar.gz|\linebreak[1]ก]~unix~ก^ฉฮ~|auctex.zip|~ก]dosก^กC
+\item[|fontload|:] CTAN: |fonts/utilities/fontload|กC
+\item[Mule~ชบคคคๅฟ้คJชkกG] IFCSS: |mule/lisp/quail-b5|กC
+\end{description}
+
+
+\section{จไฅLฌร๖ชบณnล้ปPคuจใ}
+\label{sec:other-stuffs}
+
+\subsection{ฆb~Linux~จtฒฮคWชบ\bigfiveคคคๅจtฒฮคฮผาภภฒืบพ๗ต{ฆก}
+\label{sec:chinese-systems}
+
+\begin{itemize}
+\item chdrv
+\item yact
+\item CXterm
+\item xcin
+\end{itemize}
+
+\subsection{คคคๅฝsฟ่\ -- Mule}
+\label{sec:mule}
+
+จฯฅฮ~Mule~ฌฐฝsฟ่คคคๅ~\LaTeX~คๅฅ๓ชบคuจใชบจฯฅฮชฬกAฅiฑNคUญฑชบณ]ฉwฅ[ฆ~
+|$HOME/|\linebreak[1]|.emacs|~ภษคคกG
+\begin{verbatim}
+ ;;; Chinese Big-5 environment
+ (set-primary-environment 'chinese)
+ (set-default-file-coding-system '*big5*)
+ (setq display-coding-system '*big5*)
+ (setq keyboard-coding-system '*big5*)
+ ;; input methods
+ (add-hook 'quail-package-alist '("tsangchi-b5" "quail/tsangchi-b5"))
+ (add-hook 'quail-package-alist '("quick-b5" "quail/quick-b5"))
+ ; the default input method
+ (setq-default quail-current-package
+ (assoc "tsangchi-b5" quail-package-alist))
+\end{verbatim}
+
+คมดซคคญ^คๅฟ้คJฅiซ๖~|C-]|กAญnฟ๏พจไฅLชบฟ้คJชkฅiซ๖~|M-s|ก]|Alt-s|ก^กC
+
+ณ]ฉwฟ้คJชkฎษฅiฟ๏พฆคvฒ฿บDชบกCฆb~IFCSS Mule~ชบฅุฟคคก]ฐัฆาฒฤ~
+\ref{sec:getting-files}~ธ`ก^ฆณค@จวคคคๅฟ้คJชkกAจไคคฅ]ฌAฆณกG
+\begin{center}
+ \begin{tabular}{ll}\hline
+ ภษฎื & น๏ภณคงฟ้คJชk \\\hline
+ cns-b5-input.tar.gz & คบงt~|tsangchi-b5.el|ก]ญพeก^คฮ \\
+ & |quick-b5.el|ก]ยฒฉ๖ก^ตฅฟ้คJชk \\
+ zozy.el.gz & นsณช`ญต \\
+ cj.el.gz & ญพe \\
+ simplex.el.gz & ยฒฉ๖ \\
+ punct-b5.el.gz & ผะยIฒลธน \\
+ qj-b5.el.gz & ฅงฮ \\
+ etzy.el.gz & ญสคัช`ญต \\
+ boshiamy.el.gz & ๅFฝผฆฬ \\
+ array30.el.gz & ฆๆฆC~30 \\\hline
+ \end{tabular}
+\end{center}
+
+ฅHคWฌฐธ๛ฑ`จฃชบฟ้คJชkกCธำฅุฟคคฅ็ฅ]งtคUฆCฟ้คJชkกG
+\begin{center}
+ \begin{tabular}{ll} \hline
+ ภษฎื & น๏ภณคงฟ้คJชk \\\hline
+ 4corner.el.gz & ฅ|จคธนฝX \\
+ ctlaub.el.gz & ผBฟฒปฆกธfญต \\
+ ecdict.el.gz & ญ^บ~รใจๅ \\
+ hs.el.gz & ตุถH \\
+ hsu.el.gz & ณ\ค๓ช`ญต \\
+ py-b5.el.gz & บ~ปyซ๗ญต \\
+ roman.el.gz & รนฐจซ๗ญต \\\hline
+ \end{tabular}
+\end{center}
+
+
+มไฆnชบ~\LaTeX~คๅฅ๓ภษกAฅiฐ๕ฆๆ~|bg5latex|~ฝsฤถกCฅ็ฅiงQฅฮ~|cjk-enc.el|~ณoญำ~
+Emacs Lisp~ภษกAฑNคๅฅ๓ฅฆๆยเดซฆจ~|.cjk|~ภษกAฆAฅH~|latex|~ถiฆๆฝsฤถกCง@ชkฌO
+ฆb~|~/.emacs|~ภษฎืคคฅ[คJคUฆCผฦฆๆก]จไคคจ็ผฦ~ |write-cjk-file|~ฝะฐัฆา~
+|cjk-enc.txt|~ก^กG
+\begin{verbatim}
+ (load-library "cjk-enc")
+
+ (defun write-cjk-file ()
+ "Save current buffer and <buffername>.cjk in *cjk-coding*"
+ (interactive)
+ (setq coding file-coding-system)
+ (setq bufname (buffer-file-name))
+ (string-match "\\(.*\\)\\.[^/]*$" bufname)
+ (setq body (substring bufname 0 (match-end 1)))
+ (setq newbufname (concat body ".cjk"))
+ (message "Saving %s and %s" bufname newbufname)
+ (write-file newbufname *cjk-coding*)
+ (write-file bufname coding))
+\end{verbatim}
+คงซแซKฅiฆbจCฆธญnฐ๕ฆๆ~|latex|~ซeกAฅฮ~|M-x write-cjk-file|~ฉRฅOฅฆsภษกA
+ตMซแฆAฅH~|latex|~ฝsรถฅDภษฆWปPฑzชบคๅฅ๓ฅDภษฆWค@ผหกAฆฉตฆ๙ภษฆWฌฐ~|.cjk|~
+ชบภษฎืกC
+
+\subsection{\TeX/\LaTeX~ชบฆnภฐคโ\ -- AUC\TeX}
+\label{sec:auctex}
+
+ยฒฉ๖ซคกG
+\begin{enumerate}
+\item ทำฒฤ~\ref{sec:mule}~ธ`ชบค่ฆกฑN~Mule~ณ]ฉwงดทํกC
+\item ซ๖ทำ~AUC\TeX~ชบฆwธหซฅฆwธหกCฉฮซ๖ทำ~AUC\TeX~ชบ~default~ค่ฆกฆwธหกC
+ คUฆCผฦถตฅiฐตฅiคฃฐตกC
+\item ซุฅ฿ค@ญำ~|bg5latex-batch|~ภษกAคภงOฆpคUกG
+ \begin{verbatim}
+ #! /bin/sh
+ f=`echo $1 | sed -e 's|\(.*\)\.[^/]*$|\1|'`
+ bg5conv < $1 > $f.cjk
+ latex \\nonstopmode\\input{$f.cjk}
+ \end{verbatim}
+\item \label{CJK-C-cC-c}ฆb~|.emacs|~คคฅ[คJกG
+ \begin{verbatim}
+ (setq TeX-command-list
+ (append TeX-command-list
+ '(("CLaTeX" "bg5latex-batch %s " TeX-run-LaTeX nil t)
+ ("CLaTeX Interactive" "bg5latex %s " TeX-run-interactive nil t)
+ ("CPrint" "fload %f | lpr" TeX-run-command t nil)
+ )))
+ \end{verbatim}
+ ซhฅiฆbฐ๕ฆๆ~|C-c C-c|~ฉฮ~|C-c C-r|~ฎษกAฆbญnฟ้คJ~|LaTeX|~ชบฎษพ๗กAฟ้คJ~
+ |CLaTeX|กC
+\item ฆb~|.emacs|~คคฅ[คJคUฆCผฦฆๆกAฅHซKฑzชบคๅฅ๓ฆbฑฦชฉฎษก]ฅคๅซhฐ๕ฆๆ
+ ~|C-c C-c CLaTeX|~กAฐฯฐ์ฅฮ~|C-c C-r CLaTeX|ก^กAญYฆณฟ๙ป~ฅiฅฮ~|C-c `|~
+ ฌdล็ฟ๙ป~ฉาฆbกAจรฅiง๓ฅฟคงกC
+ \begin{verbatim}
+ (add-hook 'TeX-translate-location-hook
+ '(lambda ()
+ (if (string-match "\\(.*\\)\.cjk$" file)
+ (setq file
+ (concat
+ (substring file
+ (match-beginning 1)
+ (match-end 1))
+ ".tex")))))
+ \end{verbatim}
+\item ฉฮชฬฑzฆาผ{ฅฮ~|cjk-enc.el|กAซhฆb~|.emacs|~คคฅ[คJคUฆCผฦฆๆกG
+ \begin{verbatim}
+ (defun TeX-run-CJK-LaTeX (name command file)
+ "Create a process for NAME using COMMAND to format
+ FILE with CJK/LaTeX."
+ (write-cjk-file)
+ (TeX-run-LaTeX name command file))
+
+ (if (not (assoc "CJKLaTeX" TeX-command-list))
+ (setq TeX-command-list
+ (append TeX-command-list
+ '(("CJKLaTeX" "%l '\\nonstopmode\\input{%s.cjk}'"
+ TeX-run-CJK-LaTeX nil t)
+ ))))
+ \end{verbatim}
+ ฅuญnฑNคWญzจฯฅฮ~|CLaTeX|~ชบฎษพ๗กAง๏ฆจจฯฅฮ~|CJKLaTeX|~งYฅiกCฌdฟ๙ฆPผหฅฮ
+ ~|C-c `|~กC
+
+ ฆญnช`ทNกAจฯฅฮ~|CJKLaTeX|~ฎษกAคๅฅ๓คคฝะคฃญnจฯฅฮ~|\usepackage{CJK}|~ฉฮ
+ รฆชบฉRฅOกC
+\end{enumerate}
+
+ช`ทNกAคWญzจBฦJฅuพAฅฮณๆค@~CJK \LaTeXe~คๅฅ๓กC
+
+% Not ready yet...
+%ฆpชGฆbฑzชบคๅฅ๓คคฆณฅฮจ์~|\include|~ณoญำฉRฅOกAฆำฑzคดทQฅฮจ์~AUC\TeX~ชบฅ\ฏเกA
+%ฅiง@ฆpคUชบฅุฟฆwฑฦกG
+
+% ./ ==> ฅปผhฅุฟกAญ์ฉlคๅฅ๓คงฉ๑ธmฅุฟกC
+% ../ ==> คWผhฅุฟกAธmฉ๑ฅั~latex~ซeฅั~bg5conv~ยเดซนLชบ~|.cjk|~ภษก]ฆ]ฆน
+% ญYฆbฆนคWผhฅุฟคคฆณญ์ฉlคๅฅ๓กAซhปฏSงOช`ทNกAคฃญnจฯฅฮปPฅปผhฅุฟคคฆPฆWชบ
+% คๅฅ๓ก^กCฅtฅ~ฅ]งtค@~|Makefile|~ก]ฐัฆานฯ~
+% \ref{fig:makefile-for-multifile-latexing}~คงจาคlก^กAจไคบฎeฅDญnฌฐฆbจC
+% ฆธ~latex~ซeกAง๓ทs~|.cjk|~ภษกC
+
+% \begin{verbatim}
+% #! /bin/sh
+% make bg5conv
+% cd CJK
+% latex \\nonstopmode\\input{$1}
+% \end{verbatim}
+
+
+% \begin{lrbox}{\myex}
+% \begin{minipage}{.9\textwidth}
+% \footnotesize
+%\begin{verbatim}
+%TEXs = abstract.tex archi.tex codebase.tex conclude.tex details.tex \
+% dsgnbase.tex engtool.tex examples.tex introd.tex kb_lsp.tex \
+% pjfinal.tex prg_gi.tex prg_s2c.tex related.tex represnt.tex \
+% sscdcb.tex sscddb.tex sscdgi.tex sta2con.tex title_pg.tex
+%MISC = Makefile LaTeXsrc
+%RCSs = $(wildcard $(SRCDIR)/*,v)
+
+%SRCDIR = CJK
+
+%.PHONY: check_srcdir bg5conv default
+
+%.DEFAULT: .tex .sty .bib .dvi .ps .lj .toc .lof .lot
+
+%default:
+% @echo "There are the following targets:"
+% @echo " bg5conv : Big5 CJK LaTeX file converted to LaTeX file."
+
+%bg5conv: check_srcdir $(TEXs)
+
+%check_srcdir:
+% @if [ -f LaTeXsrc ]; then \
+% echo "Don't make at the LaTex source directory!"; \
+% echo "Copy the Makefile to upper directory and make there."; \
+% echo "e.g., cp Makefile ..; cd ..; make"; \
+% exit 1; \
+% fi
+% @if [ ! -d $(SRCDIR) ]; then \
+% echo "$(SRCDIR) not found!"; \
+% exit 1; \
+% fi
+
+%$(TEXs): %.tex : $(SRCDIR)/%.tex
+% bg5conv < $< > $@
+%\end{verbatim}
+% \end{minipage}
+% \end{lrbox}
+
+% \begin{figure}[htbp]
+% \begin{center}
+% \leavevmode
+% \framebox[.9\texwidth]{\myex}
+% \caption{ภณฅIฆhญซ~CJK~คๅฅ๓ภษชบ~Makefile~ฝdจากC}
+% \label{fig:makefile-for-multifile-latexing}
+% \end{center}
+% \end{figure}
+
+
+
+\section{CTANฆbฆUฆaชบภษฎืฐฯ}
+\label{sec:ctan-mirrors}
+(ฅปธ`บKฆ~CTAN host~คWชบ~README.mirrors)
+
+ฌฐด๎คึบ๔ธ๔คWชบญtฒกAซุฤณฉาฆณจฯฅฮ~CTAN~ธ๊ทฝชบบ๔คอกAฏเจฯฅฮทํฆaชบฉฮณฬช๑ชบ~
+CTAN hostกC
+
+ฅุซeคwชพฝฦปsณกคภ~CTAN~ภษฎืชบ~FTP~ฏธ:
+\begin{verbatim}
+ ftp.fcu.edu.tw (Taiwan) /pub2/tex
+ gate.sinica.edu.tw (Taiwan) /TeX
+ ftp.adfa.oz.au (Australia) /pub/tex/ctan
+ ftp.germany.eu.net (Deutschland) /pub/packages/TeX
+ ftp.uu.net (Virginia, USA) /pub/text-processing/TeX
+ nic.switch.ch (Switzerland) /mirror/tex
+ sunsite.dsi.unimi.it (Italia) /pub/TeX
+ sunsite.snu.ac.kr (Korea) /shortcut/CTAN
+\end{verbatim}
+
+ฅุซeคwชพฝฦปsฅณก~CTAN~ภษฎืชบ~FTP~ฏธ:
+\begin{verbatim}
+ dongpo.math.ncu.edu.tw (Taiwan) /tex-archive
+ ftp.ccu.edu.tw (Taiwan) /pub/tex
+ cis.utovrm.it (Italia) /TeX
+ ctan.unsw.edu.au (NSW, Australia) /tex-archive
+ ftp.center.osaka-u.ac.jp (Japan) /CTAN
+ ftp.cdrom.com (West coast, USA) /pub/tex/ctan
+ ftp.comp.hkbu.edu.hk (Hong Kong) /pub/TeX/CTAN
+ ftp.cs.rmit.edu.au (Australia) /tex-archive
+ ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive
+ ftp.cstug.cz (The Czech Republic) /pub/tex/CTAN
+ ftp.duke.edu (North Carolina, USA) /tex-archive
+ ftp.ee.up.ac.za (South Africa) /tex-archive
+ ftp.funet.fi (Finland) /pub/TeX/CTAN
+ ftp.gwdg.de (Deutschland) /pub/dante
+ ftp.jussieu.fr (France) /pub4/TeX/CTAN
+ ftp.loria.fr (France) /pub/unix/tex/ctan
+ ftp.mpi-sb.mpg.de (Deutschland) /pub/tex/mirror/ftp.dante.de
+ ftp.nada.kth.se (Sweden) /pub/tex/ctan-mirror
+ ftp.rge.com (New York, USA) /pub/tex
+ ftp.riken.go.jp (Japan) /pub/tex-archive
+ ftp.tu-chemnitz.de (Deutschland) /pub/tex
+ ftp.uni-augsburg.de (Deutschland) /tex-archive
+ ftp.uni-bielefeld.de (Deutschland) /pub/tex
+ ftp.unina.it (Italia) /pub/TeX
+ ftp.uni-stuttgart.de (Deutschland) /tex-archive (/pub/tex)
+ ftp.univie.ac.at (\"Osterreich) /packages/tex
+ ftp.u-aizu.ac.jp (Japan) /pub/tex/CTAN
+ ftpserver.nus.sg (Singapore) /pub/zi/TeX
+ kadri.ut.ee (Estonia) /pub/tex
+ src.doc.ic.ac.uk (England) /packages/tex/uk-tex
+ sunsite.icm.edu.pl (Poland) /pub/CTAN
+ sunsite.queensu.ca (Canada) /pub/tex-archive
+ sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX
+ wuarchive.wustl.edu (Missouri, USA) /packages/TeX
+\end{verbatim}
+
+จโญำฅDญnชบ~CTAN~ฅDพ๗:
+\begin{verbatim}
+ ftp.dante.de (Deutschland)
+ -- anonymous ftp
+ /tex-archive (/pub/tex /pub/archive)
+ -- gopher on node gopher.dante.de
+ -- e-mail via ftpmail@dante.de
+ -- World Wide Web access on www.dante.de
+ -- Administrator: <ftpmaint@dante.de>
+
+ ftp.tex.ac.uk (England)
+ -- anonymous ftp
+ /tex-archive (/pub/tex /pub/archive)
+ -- gopher on node gopher.tex.ac.uk
+ -- NFS mountable from
+ nfs.tex.ac.uk:/public/ctan/tex-archive
+ -- World Wide Web access on www.tex.ac.uk
+ -- Administrator: <ctan-uk@tex.ac.uk>
+\end{verbatim}
+
+
+\section{IFCSS~ฆbฆUฆaชบ~FTP~ฏธ}
+\label{sec:ifcss-mirrors}
+
+ฅDญnชบ~IFCSS~ฏธกG \verb|ftp.ifcss.org:/pub/software|
+
+จไฅLชบ~FTP~ฏธ:
+\begin{verbatim}
+Taiwan: ftp.edu.tw:/Chinese/ifcss/software [full]
+ ftp.ntu.edu.tw:/Chinese/ifcss/software [full]
+ iiiafs.iii.org.tw:/Chinese/ifcss/software [full]
+CHINA,
+ Beijing: info.bta.net.cn:/pub/software [partial]
+ Guangdong:
+ info.gz.gdpta.net.cn:/pub/mirror/chnsoftware [partial]
+ Shanghai: info.sta.net.cn:/pub/software [partial]
+HONG KONG,: ftp.cuhk.hk:/pub/chinese/ifcss/software [full]
+SINGAPORE,: ftp.technet.sg:/pub/chinese [full]
+USA,
+ California: cnd.org:/pub/software [full]
+ New Mexico: phaiakon.nmsu.edu:/pub/software [full]
+\end{verbatim}
+
+%% start of trailer
+\newpage
+\end{CJK*}
+
+\end{document}
+
+%% Local Variables:
+%% TeX-header-end: "%+ *[Ee]nd[ -]*[oO]f[ -]*[hH]eader"
+%% TeX-trailer-start: "%+ *[Ss]tart[ -]*[oO]f[ -]*[tT]railer"
+%% TeX-command-default: "CLaTeX"
+%% TeX-master: t
+%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEgb.tex b/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEgb.tex
new file mode 100644
index 00000000000..3081e2896b0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEgb.tex
@@ -0,0 +1,92 @@
+% This is the file READMEgb.tex of the CJK package
+% for installing the CJK package for LaTeX 2e (in GB encoding).
+%
+% written by Fude Yao <yao@everest.micro.umass.edu}
+% Version 4.1.3 (20-Jun-1997)
+
+\documentclass[12pt]{report}
+
+\usepackage{CJK}
+
+\begin{document}
+
+\begin{CJK*}{GB}{gbsn}
+\CJKtilde
+
+\chapter*{CJK~ฐฒืฐหตร๗ส้}
+
+กกกกฑพฮฤสว~Werner Lemberg~ตฤ~CJK~ตฤฐฒืฐหตร๗ส้. ิฺดหฝ๖พอื๗ี฿สนำรตฤ
+~Alpha-Linux~ฦฝฬจฝ๘ะะฬึย, ฒขืลึุำฺ~teTeX-0.4p16~ีโาปฐๆฑพตฤ~\TeX
+
+\begin{enumerate}
+\item
+ ำร~ftp~ฤไร๛ดๆศกทฝสฝป๑ตร~CJKฃฎภศ็: \\
+ ftp ftp.tex.ac.uk (or ftp.dante.de) \\
+ anonymous \\
+ yao@everest.micro.umass.edu \\
+ bin \\
+ cd tex-archive/language/chinese \\
+ get CJK.tar.gz CJK-4.1.3.src.tar.gz (ฐดฃบหไศปฟดฒปตฝ~CJK.tar.gz,
+ ตซฑพรม๎ศิำะะงฃฌฒฮฟด~CJK-4.1.3.src/README) \\
+ bye
+\item
+ ฝซันห๕ฮฤผฝโันฃบ\\
+ gzip -d CJK-4.1.3.src.tar.gz \\
+ tar xvf CJK-4.1.3.src.tar \\
+ cd CJK/4$_{-}$1.3
+\item
+ ฝซ~doc/teTeX~ภ๏ตฤศซฒฟฒนถกฮฤผ~*.diff~าฦึม~\$TEXDIR/bin/alpha-linux \\
+ ำร~patch~รม๎ะฒนฃฌฑศศ็: patch $<$ MakeTeXPK.diff \\
+ (ฦไึะ~special.map.diff~ำฆาฦึม~\$TEXMF/fontname~ะฒน) \\
+ ืขาโะฒนสวท๑ศซฒฟณษนฆ \\
+ (ืขฃบ\$TEXDIR=/usr/lib/texmf; \$TEXMF=/usr/lib/texmf/texmf)
+\item
+ ฝซ~CJK~ึะศซฒฟฮฤผาฦึม~\$TEXMF/tex/latex/CJK (ฑฃม๔ธรฝแนน)
+\item
+ ฝซ~utils/ttf2pk~ตฤศซฒฟฮฤผาฦึม~\$TEXMF/ttf2pkฃบ \\
+ cd \$TEXMF/ttf2pk/src \\
+ make all OS=unix \\
+ ฝซ~utils/hbf2gf~ตฤศซฒฟฮฤผาฦึม~\$TEXMF/hbf2gfฃบ \\
+ cd \$/TEXMF/hbf2gf \\
+ make all OS=unix
+\item
+ cd utils/Bg5conv (CEFconv, SJISconv) \\
+ compile *conv.c, ฑศศ็ฃบ~gcc cefconv.c -o cefconv \\
+ ฝซห๙ตรตฤถฝ๘ึฦฮฤผมฌอฌ~*latex~าปฦ๐าฦึม~\$TEXDIR/bin/alpha-linux
+\item
+ ฝซศซฒฟฟษึดะะฮฤผาฦตฝ~\$TEXDIR/bin/alpha-linux~ึะฃฌป๒ฝจมขมชฯตฃฌฑศศ็ \\
+ ln -s \$TEXMF/ttf2pk/ttf2pk \$TEXDIR/bin/alpha-linux
+\item
+ ผ์ฒ้~\$TEXDIR/texmf.cnf~ึะ~\$HBF2GFDIR~ำ๋~\$TTF2PKDIR \\
+ สวท๑ีศท
+\item
+ ฐฒืฐ~CJK~ืึฟโ, truetype~ป๒~hbf~ธ๑สฝตฤน๚ฑ๊ฃฌด๓ฮๅฃฌศีฮฤฃฌณฏฯสฮฤ \\
+ ิฺ~ftp.tex.ac.uk/tex-archive/fonts/CJK~ภ๏ำะธ๗ึึืึฟโฃฌำรฤไร๛ดๆศกทฝสฝ
+ ศกปุฃฌืขาโสนำรถฝ๘ึฦทฝสฝ
+\item
+ ฝโันฮฤผ \\
+ ฝซืึฟโทลิฺ~\$TEXMF/fonts/hbf(truetype)/chinese(japanese, korean) \\
+ ศ็น๛สว~hbf~ืึฟโฃฌฝซ~*.cfg~าฦึม~\$TEXMF/hbf2gfฃป \\
+ ศ็น๛สว~truetype~ืึฟโฃฌผ์ฒ้\$TEXMF/ttf2pk/ttf2pk.cfg~ึะสวท๑ำะธรืึฟโร๛
+ ืึ
+\item
+ สิั้ั๙ฑพฮฤผฃฌผ์ฒ้ษ่ึรสวท๑อ๊ี๛ฃฌฑศศ็~GB.texฃบ \\
+ GB.tex~ึะำรตฝสฒรดืึฟโฃบ$\backslash$begin\{CJK*\}\{GB\}\{so\} \\
+ \$TEXMF/tex/latex/CJK~ึะำะ~c10so.fd~ืึฟโย๐ฃฟหษๆผฐฤฤะฉร๛ืึฃฟ \\
+ \$TEXMF/fontname/special.map~ึะสวท๑ำะธรืึฟโตฤร๛ืึฃฟ \\
+ \$TEXDIR/texmf.cnf~ึะ~\$HBF2GFDIR~ำ๋~\$TTF2PKDIR~ีศทย๐ฃฟ \\
+ ศ็น๛สว~hbf~ืึฟโฃฌ\$TEXMF/hbf2gf~ึะำะธรืึฟโตฤ~cfg~ฮฤผย๐ฃฟ \\
+ ผ์ฒ้~cfg~ฮฤผตฤยทพถร๛สวสวท๑ีศทฃฟ \\
+ ศ็น๛สว~truetype~ืึฟโฃฌ\$TEXMF/ttf2p/ttf2pk.cfg~ึะำะธรืึฟโร๛ืึย๐ฃฟ \\
+ ยทพถร๛ีศทย๐ฃฟ
+\item
+ ิหะะ~texhash (รฟดฮธฤถฏึฎบ๓ฃฌถผาชิหะะ~texhash)
+\item
+ latex examples/GB.tex, ฟดสวท๑ีณฃฃฎิฺ~doc/~ืำฤฟยผึะำะบถเฐ๏ึ๚ฮฤผฃฌ
+ ำฆืะฯธิฤถม
+\end{enumerate}
+
+\end{CJK*}
+\end{document}
+
+\EOF
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/chinese/emTeXb5.txt b/Master/texmf-dist/doc/latex/cjk/doc/chinese/emTeXb5.txt
new file mode 100644
index 00000000000..b37c80aff36
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/chinese/emTeXb5.txt
@@ -0,0 +1,357 @@
+From c300711@ms5.hinet.net Fri Feb 07 02:13:02 1997
+Newsgroups: tw.bbs.comp.tex
+Subject: emtex+cjk410(ttf2pk) on Msdos ฆwธหฌ๖.
+From: KUO Yi-Liang <c300711@ms5.hinet.net>
+Date: Thu, 06 Feb 1997 18:13:02 GMT
+
+ฅปคๅฅHemtex\doc\english\quick.engฌฐฐ๒ยฆ:
+ธีนฯฆwธหemtex+cjk4.1.0(ttf2pk) on MSDOS
+--------
+ภษฎื
+--------
+ญบฅฆb mirror CTAN ชบ ftpฏธ
+จาฆp dongpo.math.ncu.edu.tw: /tex-archive/systems/msdos/emtex/คUง์
+*.zipภษ,
+-rw-rw-r-- 1 mattes server 160090 Aug 7 1995 bibtex4b.zip
+-rw-rw-r-- 1 mattes server 1148514 Apr 10 16:22 dvid16f1.zip
+-rw-rw-r-- 1 mattes server 824290 Apr 10 16:22 dvid16f2.zip
+-rw-rw-r-- 1 mattes server 94959 Aug 7 1995 dvisp10b.zip
+-rw-rw-r-- 1 mattes server 180206 May 24 14:17 emxrsx.zip
+-rw-rw-r-- 1 mattes server 127810 Sep 2 13:24 first.zip
+-rw-rw-r-- 1 mattes server 651946 Jun 26 1995 fontams.zip
+-rw-rw-r-- 1 mattes server 411129 Jun 26 1995 fontcm.zip
+-rw-rw-r-- 1 mattes server 1031835 Sep 2 13:24 fontdc.zip
+-rw-rw-r-- 1 mattes server 7080 Jun 26 1995 fontemsy.zip
+-rw-rw-r-- 1 mattes server 47495 Jun 26 1995 fontltx.zip
+-rw-rw-r-- 1 mattes server 110991 May 4 21:05 german.zip
+-rw-rw-r-- 1 mattes server 930861 Jun 21 14:59 l2base.zip
+-rw-rw-r-- 1 mattes server 409888 Jun 21 14:59 l2input.zip
+-rw-rw-r-- 1 mattes server 87336 Jun 26 1995 l2kurz.zip
+-rw-rw-r-- 1 mattes server 209194 Jun 21 14:59 l2tools.zip
+-rw-rw-r-- 1 mattes server 347068 Jun 26 1995 latex209.zip
+-rw-rw-r-- 1 mattes server 81115 Jun 26 1995 lkurz.zip
+-rw-rw-r-- 1 mattes server 83493 Jun 26 1995 makeindx.zip
+-rw-rw-r-- 1 mattes server 990552 Jun 21 14:59 mf4b.zip
+-rw-rw-r-- 1 mattes server 166052 Sep 19 1995 mfjob12c.zip
+-rw-rw-r-- 1 mattes server 227054 Jun 26 1995 mfware.zip
+-rw-rw-r-- 1 mattes server 39887 Jun 26 1995 pictex.zip
+-rw-rw-r-- 1 mattes server 113473 Jun 26 1995 pkedit.zip
+-rw-rw-r-- 1 mattes server 38705 Jun 26 1995 srcmkidx.zip
+-rw-rw-r-- 1 mattes server 88251 Jun 26 1995 srctcad.zip
+-rw-rw-r-- 1 mattes server 1173697 Jun 21 14:59 tex4b.zip
+-rw-rw-r-- 1 mattes server 131010 Jun 26 1995 texcad.zip
+-rw-rw-r-- 1 mattes server 260671 Sep 11 1995 texware.zip
+-rw-rw-r-- 1 mattes server 236301 Jun 26 1995 unz512.exe
+-rw-rw-r-- 1 mattes server 236134 Jun 26 1995 unz512x3.exe
+-rw-rw-r-- 1 mattes server 124738 Aug 23 1995 web.zip
+คฃนLฅiฅHฅง์ณoดXญำ(ฅHฆwธหLaTeX2eจำปก)
+ first.zip......ค@จวปกฉ๚ภษ
+ emxrsx.zip.....รฆdos extenderชบชFฆ่(ฏยฤญำคHฒqด๚)
+ mfjob12c.zip...ฑN.mf(ญ^คๅฆrซฌชบsourceภษ)ยเดซฆจ.pkฉาปญnชบธ๊ฎฦ
+ dvid16f1.zip...ฆUฆกชบdvi driver-partI
+ dvid16f2.zip...ฆUฆกชบdvi driver-partII
+ tex4b.zip......texชบฅDฐ๕ฆๆภษ
+ mf4b.zip.......ณo...งฺค]คฃชพนD, sorry
+ fontcm.zip.....cmจtฆCชบฆrซฌภษ.mf
+ fontltx.zip....latexฉาปชบฆrซฌภษ.mf
+ l2input.zip....latexฉาปชบtexinputภษ
+ l2tools.zip....รBฅ~ชบtexinputภษ
+
+ธษฅRค@ยI:pkunzipณoญำธัภฃต{ฆกจSฆณชบคHภณธำคฃฆhงa,ฆpชGจSฆณชบธฅhง์ญำunzipฆ^จำ!
+-rw-rw-r-- 1 mattes server 236301 Jun 26 1995 unz512.exe
+-rw-rw-r-- 1 mattes server 236134 Jun 26 1995 unz512x3.exe
+ฆADOS ดฃฅฒลธนคU(ณoฌOquick.eng ฉาญz,ญำคHงฺจSธีนL)
+ unz512x3 unzip386.exe
+ ren unzip386.exe unzip.exe
+
+มูฆณฌงAฅฮจบฅxprinter
+ดNง์จบค@ญำฆrซฌภษ(คฃง์ค]ฅiฅH,ญำคHงฺดNฌOฆคvซุณyฐ_จำชบ)
+ bj_base.fli Base fonts for the Canon BubbleJet (360 DPI)
+ dj_base.fli Base fonts for the HP DeskJet (300 DPI)
+ fax_base.fli Base fonts for Fax (204x196 DPI)
+ fx_base.fli Base fonts for 9-pin printers (240x216 DPI)
+ ito_base.fli Base fonts for the C.ITOH 8510A (160x144 DPI)
+ ljh_base.fli Base fonts for the HP LaserJet 4 (600 DPI)
+ lj_base.fli Base fonts for the HP LaserJet (300 DPI)
+ p6h_base.fli Base fonts for 24-pin printers (360 DPI)
+ p6l_base.fli Base fonts for 24-pin printers (180 DPI)
+ p6m_base.fli Base fonts for 24-pin printers (360x180 DPI)
+ qj_base.fli Base fonts for the HP QuietJet (192 DPI)
+ sty_base.fli Base fonts for the EPSON Stylus 800 (360 DPI)
+
+ฆAถiจ์./dvips(ฉฮ../dviware/dvips/dvips558.pc) คUง์
+-rw-rw-r-- 1 ftpmaint server 27831 Nov 6 1995 dvips.doc
+-rw-rw-r-- 1 ftpmaint server 182491 Nov 6 1995 dvipsfnt.zip
+-rw-rw-r-- 1 ftpmaint server 421777 Nov 6 1995 dvipsini.zip
+-rw-rw-r-- 1 ftpmaint server 173767 Nov 6 1995 dvipssrc.zip
+..sourceภษ,ภณธำคฃฅฮง์
+-----------
+ช์จBณ]ฉw
+-----------
+ฅHญำคHงฺฆwธหฆbD:บะฌฐจา,ฆำฉาฆณชบ.zipภษย\ฆbd:\emtex.zip\คU
+ d:
+ cd d:\
+ pkunzip -d
+d:\emtex.zip\*.zip......ฆpฆนท|จฬภฃมYซeญ์ญqฅุฟฆ์ธmธัภฃย\ฆn
+
+จรทำquick.engคคซุฤณฑNd:\emtex\binปPd:\emx\binฅ[คJpathคค
+จรฉ๓ c:\autoexec.bat คค ฅ[คJ:
+ set emtexdir=d:\emtex
+ set dvidrvfonts=d:\texfonts
+ set mfjobopt=/3
+ set tmp=c:\temp
+
+ฆbc:\config.sysคค files=xxจไคคxxปคjฉ๓20
+มูฆณฑNconfig.sysคค`BREAK=ON'จบฆๆงRฑผ
+ตMซแญซถ}พ๗จฯ autoexec.bat ณ]ฉwทsชบpath
+
+ธษฅRค@ยI:ญำคHงฺจรซDฆpคWฉาญz,ฆำฌOฑNemtex\bin\set_tex.bat ฅ[ฅHยXฅR,
+ ฑNคWญฑชบpath,emtexdir,dvidrvfont,mfjobopt,tmp,...ณoจวภ๔นาลผฦ
+ ฅณฃฅ[ฆbset_tex.batคF,คฯฅฟตyซแมูฆณฅtฅ~ค@จวภ๔นาลผฦญnณ].
+-------------------------
+ซุณypkฆrซฌ
+-------------------------
+ฅHคUฑqinstall.engคค ธ`ฟ
+ ฆpชGงAฉMงฺค@ผหจSฆณง์คWญฑxxx_base.fliชบธ,ฝะงAธ๒งฺณoผหง@
+ จ์\emtex\mfjob\modes.mfj คค
+ ฑN 'def target=[............]'ง๏ฆจงAฉ๑ธm.pkชบtexfontsฅุฟ
+ จาฆp งฺชบ def target=[d:\texfonts];
+ ฐฒณ]คwธgฑNfontcm.zip ปP fontltx.zip ฎiถ}ซแ,
+ ซhฆbdos ดฃฅฒลธนคUฐ๕ฆๆ
+ mfjob base m=MODE
+ fli_base PREFIX RES c:\texfonts
+where MODE, PREFIX, and RES depend on the font set:
+
+MODE | PREFIX | RES | Font library | Description
+-----+--------+-----+--------------+-------------------------
+bj | bj | 360 | bj_base.fli | Canon BubbleJet (360 DPI)
+dj | dj | 300 | dj_base.fli | HP DeskJet (300 DPI)
+FAX | fax | 204 | fax_base.fli | Fax (204x196 DPI)
+fx | fx | 240 | fx_base.fli | 9-pin printers (240x216 DPI)
+ito | ito | 160 | ito_base.fli | C.ITOH 8510A (160x144 DPI)
+lj | lj | 300 | lj_base.fli | HP LaserJet (300 DPI)
+ljh | ljh | 600 | ljh_base.fli | HP LaserJet 4 (600 DPI)
+lqh | p6h | 360 | p6h_base.fli | 24-pin printers (360 DPI)
+lql | p6l | 180 | p6l_base.fli | 24-pin printers (180 DPI)
+lqm | p6m | 360 | p6m_base.fli | 24-pin printers (360x180 DPI)
+qj | qj | 192 | qj_base.fli | HP QuietJet (192 DPI)
+sty | sty | 360 | sty_base.fli | EPSON Stylus 800 (360 DPI)
+
+To let MFjob call mf386, use the /3 option. It is recommended to set
+this option in the MFJOBOPT environment variable:
+
+ set mfjobopt=/3
+
+ จาฆpงฺฅฮชบ epson stylus 200 ซh
+ mfjob base m=sty
+ fli_base sty 360 d:\texfonts.........(คUญฑชบณoฆๆงฺจSฆณง@นL:()
+
+ตMซแ ฆp ธ`ฟฆ quick.eng ชบ ค๙ฌq,step by step
+---------------------------------------------------------------------
+6. Creating format files
+---------------------------------------------------------------------
+
+Type the following commands to create format files:
+
+ cd \emtex\btexfmts
+ makefmt 386 plain US <--- if you need PLAIN TeX
+ makefmt 386 latex2e US 8bit -b \emtex\bin\latex2e <---ฒฃฅอค@ญำ
+latex2e.bat
+
+---------------------------------------------------------------------
+7. Creating base files
+---------------------------------------------------------------------
+
+Type the following commands to create the PLAIN base file:
+
+ cd \emtex\bmfbases
+ makebas 386 plain
+
+---------------------------------------------------------------------
+8. Testing the installation
+---------------------------------------------------------------------
+
+Type the following commands to typeset a sample document:
+
+ md \test
+ cd \test
+ latex2e sample2e <----ด๚ธีemtex\bin\latex2e.batฅiคฃฅiฅHฐส??
+
+8.1. Viewing the sample output under DOS
+----------------------------------------
+
+Type
+
+ v @XX sample2e
+---->ฅHงฺชบepson stylus 200 ฌฐจา,ซhฌOมไคJ "v @sty sample2e"
+.....ตMซแค@ฐ}ฎDญ๙ผMฐีชบฐTฎง,คjญPคWฌOปกฅฆฏสคFจวฆrซฌ,ญnคฃญnฒ{กyง@กz?
+
+The following message will be displayed:
+
+ Warning 1209: do you want to call MFjob to generate 1 missing
+font now?
+ Type Y, N, or ?:
+
+Reply `y'. If you have not installed fonts, computing the fonts for
+the sample will take a while.
+
+When the page shows up (white background), you can scale the output
+by
+typing `-'. To quit, type `q'.
+
+ฆ^ตช'y'คงซแภณธำฅiฅHฌจ์คF something output on screen
+ฅiฅHzoom in/zoom out ฅฮ '+' / '-'
+----------------------------------------------------
+ร๖ฉ๓CJK 410ง์ภษ-----ฅฮฅHณ]ฉwttf2pkชบณกฅ๗,คฃงtntu2cjk
+----------------------------------------------------
+ฅarchie งไ CJK-4.1.0.bin.tar.gz
+ จรง์ฆ^จำ CJK-4.1.0.rest.tar.gz
+ CJK-4.1.0.src.tar.gz--------?
+ธษฅRค@ยI:งฺฌOฑqคUญฑณoญำฆaค่,ฑNพใญำพ๐ชฌคlฅุฟftpฆ^จำชบ,ฅฮmodemญC,ฆnฒึ:(
+ dongpo.math.ncu.edu.tw:/tex-archive/language/chinese/CJK/4_1.0
+ ม๖ตMฌจ์CJK/4_1.0/readmeคคฉาผgตฆณCJK-4.1.0.src.tar.gzณoญำภษฎื
+ ฆฌOซoarchieคฃจ์:(
+ธษฅRคGยI:จฯฅฮฆbmsdosคUจฯฅฮcjkปญn4dos/ndos,ฆpชGจSฆณฝะฆฆๆณ]ชk.
+ จไคค4dos/ndos ฌOฉRฅOธัฤถพน,จ๚ฅNmsdosชบcommand.comฅฮชบ
+------------------------
+ธัถ}
+------------------------
+ ธัถ}ชบต{งวคjญPคWฌO:
+ gzip386 -d xxx.tgz (ฉฮxxx.gz) ฑoจ์ xxx.tar(ฉฮxxx.)
+ tar -xvf xxx.tar (ฉฮ xxx.)
+ (ps:gzip386 ธัภฃฎษ,ท|ฑNญ์ฅชบภษฎืป\จ์(rename?);
+ ....ปParj,pkunzipคฃคำค@ผห;ฆpชGฉศพง@ฟ๙ป~,ฅcopyค@ฅ๗ฐ_จำ)
+ ตMซแฑNคTญำcjk-4.1.0.bin.tar.gz ฎiถ}
+ ลฆจค@ญำพ๐ชฌคlฅุฟcjk/4_1.0/.................?
+ธษฅRค@ยI:
+ ณoจวภษฎืฌO.tar.gz,ธัถ}ฅฆญฬปญndos ชฉชบgzipปPtar
+ งฺฌOฆbฅๆคjฅXชบถณฦ[CDค๙คWงหจ์ชบ,คฃญnฐงฺบ๔ธ๔คWจบธฬฆณ,sorry!
+---------------------------------
+ญซทsภษฎืคภฐtฆ์ธm
+--------------------------------
+ฅHคUฌOงฺชบฐtธm,ฅuฌOฅiฅHฐ๕ฆๆ,จรซDณฬจฮณ]ฉw
+bin/คU ฉาฆณชบexe,bat,btmทhจ์emtex/bin/
+จาฆp
+BG5CONV.EXE
+BG5LATEX.BAT
+F_NAME.BAT
+INSTFONT.BTM
+MAKETEXP.BTM
+MAKETTFP.BTM
+TTF2PK.EXE
+util/f_name.bat ค]ทhจ์emtex/bin
+texinput พใญำคlฅุฟ ทhจ์emtex/texinput/คU จรง๏ฆWฌฐemtex/texinput/cjk
+texinputs/bg5 พใญำคlฅุฟ ทhจ์emtex/texinput/bg5
+----------------
+ญืง๏ค@จวภษฎืณ]ฉw
+----------------
+---------------------------------------
+emtex/texinput/bg5/ttf2pk/ttf2pk.cfgคค:
+ ntukai: -e Big5 $TEXMF/fonts/truetype/chinese/ntu_kai.ttf
+ ------ -------- -----------------------------------------
+ ^ ^ ^
+ | | |__งAฅฮชบ.ttfภษฆW(งtฅณกธ๔ฎ|)
+ | | คฃญnบ$texmf,ชฝฑตc:\cwin31\system\....ttf
+ | |__ฝsฝXซฌบA?
+ |__ฆrงฮฆWบู,ณฬฆnคฃญnถWนLคปญำฆr
+
+ฅ[คJผฦฆๆร๖ฉ๓งAชบฆrงฮภษชบฑิญz,ฅHฅฏuฆrฎwฌฐจา:
+avkv: -e Big5 c:/cwin\cttf/avkv.ttf
+avbkv: -e Big5 c:/cwin/cttf/avbkv.ttf
+avmv: -e Big5 c:/cwin/cttf/avmmv.ttf
+avbmv: -e Big5 c:/cwin/cttf/avbmv.ttf
+-------------------------------------------
+
+emtex/texinput/bg5/c00kai.fd:
+ \DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * avkv}{}
+ ^^^^
+ \DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * avbkv}{\CJKbold}
+ฉฮฌO งAปญnฉ๚ล้คฮฒสฉ๚ล้ดN: ^^^^^
+emtex/texinput/bg5/c00ming.fd
+ \DeclareFontShape{C00}{ming}{m}{n}{<-> CJK * avmv}{}
+ ^^^^
+ \DeclareFontShape{C00}{ming}{bx}{n}{<-> CJKb * avbmv}{\CJKbold}
+ ^^^^^
+ฝbธน^^^^ณBฑNปPttf2pk.cfgฉาฅ[คJชบจบดXฆๆฌน๏ภณ,ฅHซKงไจ์น๊ปฺชบTrueTypeFont
+--------------------------------------------
+
+emtex/data/dvipsชบคlฅุฟคUฅ[คJงAฉาปชบ.cfg
+
+ ฅHงฺชบepson stylus 200ฌฐจาซKฌOค@ญำsty.cfg
+ ฉ๓ฌOจฬพฺdj.cfg จรฐัฆา../sty.cnf ปP ../dj.cnf
+ ฆคvูTฅXค@ญำsty.cfg,(ภณธำคฃบโร๘ค~น๏)
+ จไคค ฆณค@ฆๆญ์ฅฆbdj.cfgคคฌO
+ P $(DVIDRVFONTS)\pixel.dj\%ddpi\%f.%p;
+ ง๏ฆจ
+ P
+$(DVIDRVFONTS)\pixel.sty\%ddpi\%f.%p;$(DVIDRVFONTS)\pixel.cjk\%ddpi\%
+f.%p
+
+ ฅฆชบทNซไคjทงฌOท|ฆbd:\texfont\pixel.sty\???dpi\*.pk
+ ปPd:\texfont\pixel.cjk\???dpi\*.pk งไฉาปชบpkฆrซฌภษ
+
+ จรฉ๓autoexec.bat ฉฮฌO emtex\bin\set_tex.batคค
+ ณ]ฉw SET PRINTER=STY จฯ dvips16 คฮ dvips32 ฐัฆาจฯฅฮ
+ ณ]ฉw SET DVIPS_STDERR จฯdvips ฑN stderr ญซทsพษฆVฟ้ฅX
+ ณ]ฉw SET MAKETEXPK=MAKETEXP %%N %%D %%B %%M จฯdvipsฏเcall
+MakeTexPK?
+ SET EMXOPT=-P .........ตนemxฅฮชบ, I don't know
+ SET GS_LIB=.............ณ]ฉwงAชบghostscriptฉาฆb
+ SET DVIDRVGRAPH=.........ณ]ฉw......I don't know
+-----------
+BTMภษชบญืง๏
+-----------
+.btmฌOซ4dos/ndosฑMฅฮชบงๅฆธภษ.
+
+ฆbฆนฅัฉ๓ญ์ฅCJK410ชบpackageตนฉwคงbtmภษคฃฆXฉ๓งฺฅุซeจฯฅฮคคคง4dos/ndos,
+ ฉ๓ฌOชแคFฆnคjชบคOฎ๐"งVคO"ชบถรง๏ค@ณq,ฑzคjทงคโฎ๐คฃท|นณงฺจบป๒มV,
+-----------------
+Instfont ฆwธหฆrซฌ
+-----------------
+มไคJ Instfont xxx -e enc res [res2]
+จไคคxxx ฆrซฌฆWบูฆpntukai,avkv,avbkv,...
+ -e enc ฆp -e BIg5
+ res ฆp 360
+งฺชบepson stylus 200ซhฌOมไคJ:
+ instfont avkv -e Big5 360
+ตMซแท|ซุฆn55ญำฆrงฮ
+--------
+ด๚ธี
+--------
+ฆb"ญ์ฅ"ชบcjk/4_1.0/example/คUฆณญำbig5.tex
+ ฅiฅHมไคJ
+ bg5latex big5.tex
+ ฑNbig5.tex ฝsฤถฆจ big5.dvi,ตMซแมไคJ
+ dvips16 big5
+ ท|ลใฅค@จวฐTฎง,ปกฌOฏสคFค@จวฆrซฌ(.pkภษ?),
+ ญnฒ{ฆbซุณy,คงซแ"ภณธำ"ดNฅiฅHฑoจ์big5.ps,ฅiฅHฅฮGhostScriptจำฌ
+ ค]ฅiฅH v @xx big5 ฑqฟรน๕คWฌจ์outputs
+ฅtฅ~ฆbcjk/4_1.0/doc/chinese/big5/คUฆณค@ญำreadmeb5.texค]ฅiฅHฅฮจำด๚ธี
+ ฆฌOญnฅฆwธหl2tools.zip:
+ ฅpkunzip -d l2tools.zip ฑNท|งโภษฎืธัฆb
+emtex\dist....\tool\.........คU
+ ฆAธ๕จ์emtex\dist..\tool\...คU มไคJ:
+ latex2e xxxx.ins(ดNฌOจบญำฐ฿ค@ชบ.ins)
+ งนฆจซแดNงโคตคัฆbณoฅุฟคUทsฒฃฅอชบภษฅทhจ์emtex\texinput\latex2e\
+ ฆpชGงAชบซขบwชลถกคฃฐ๗,ฒ{ฆbภณธำดNฅiฅHงโemtex\dist..\tool\...ฅฌๅคF
+ ฆwธหฆnคFคงซแดNฅiฅH
+ bg5latex readme.tex
+ ม๖ตMมูฌOฒฃฅอซฆhฤตงiฐTฎง,ฅiฌOมูฅiฅHฒฃฅอreadmeb5.dvi
+ คงซแมูฌOฅฮdvips16 ฉฮ dvips32 ฒฃฅอ readmeb5.ps
+ ปP v @xx readmeb5 ฌฟ้ฅX
+---------
+ซแต๙
+---------
+ค@กBงฺฆbฆwธหCJKชบฎษญิ,นJจ์ค@จวณยทะ,ฅiฏเฌO4dos/ndosชบชฉฅปฆณฉาฎtฒง,
+ ฆณจวฅ\ฏเคฮจ็ผฦจรฅผดฃจั,ฉาฅHน๏ญ์ฅตนฉwคงbtmภษฆณฆhณBญืง๏,คฃคฮณฦธ?
+ ฆpฑzคฃฉฏค]พDนJรฆณยทะ,จบดN......!-R
+คGกBงฺชบdvips16 ฆbณBฒzreadmeb5.dviฎษฅXฒ{ฐOพะล้คฃจฌชบฐTธน,
+ ฆำdvips32คSตLชkฆฐสฉIฅsMakeTexPk จำฒฃฅอfonts.btm,
+ ฉาฅHฅuฆnฆคvฐสคโผgคFค@ญำfontss.btm จำคภชR%dvips_stderr%ชบฟ้ฅXภษ,
+ ฆAฉIฅsMakeTexPK จำฒฃฅอfonts.btm,ฆhฆนค@ม|:(
+คTกBณoคๅฅ๓จรซDค@รไฆwธหค@รไผถผg,ฆำฌOจฦซแฆAฆๆพใฒz,ฅiฏเฆณจวถตฅุฆณฉาฒจบ|,
+ ซฆณฅiฏเตLชkทำต STEP by STEP
+ชบถiฆๆ,ฆำฅBงฺฒฤค@ฆธผgณoบุช๘ฝgชบpost(?)
+ ฆpฆณคฃทํคงณBฝะซฅฟ!-R,
+ Thank you!
+
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/chinese/teTeXb5.txt b/Master/texmf-dist/doc/latex/cjk/doc/chinese/teTeXb5.txt
new file mode 100644
index 00000000000..ee28bc35646
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/chinese/teTeXb5.txt
@@ -0,0 +1,327 @@
+
+ฅปคๅดฃจัค@ญำยฒณๆชบฝdจากAปกฉ๚ฆpฆ๓ฑN CJK-4_2.0 ฆwธหฆb tetex-0.9, kpathsea-3.2
+ชบภ๔นาคUกCฅัฉ๓ฆ 4_2.0 ชฉฅHซแกA CJK ฑNคฃฆAฅ]งt ttf2pk ตฅคuจใต{ฆกกAฆำ ttf2pk
+ค]คwฒพจ์ FreeType package คงคคกCฆ]ฆนญYทQญnจฯฅฮ TTF ฆrซฌจำยเดซฆจ CJK ชบฆrซฌ
+ชบธกAมูญnฅtฅ~ง์ FreeType package ฆ^จำฆwธหกCฅปคๅธีนฯฑNพใญำจBฦJฐตค@ญำพใฒzกA
+ฅHค่ซKคjฎaฐัฆากC
+
+(PS. ทPมย CJK ชบง@ชฬ Werner LEMBERG <wl@gnu.org> น๏ฅปคๅฉาฐตชบ comment :-))
+
+
+A. ฉาปชบ package:
+===================
+
+1. CJK-4_2.0:
+ ftp://ftp1.sinica.edu.tw/pub2/tex/languages/chinese/CJK
+
+2. FreeType:
+ ftp://ftp.freetype.org/pub/freetype/devel/freetype-current.tar.gz
+ ftp://apollo.ce.ntu.edu.tw/pub/freetype
+
+
+B. ฆwธหธ๔ฎ|:
+=============
+
+ฅัฉ๓งฺชบ tetex-0.9 ฌOภHต Debian Linux 2.0 distribution ฆำจำชบกAจไฉาฆb
+ชบฅDธ๔ฎ|ฌO /usr, ฆำฒ{ฆbญnฅ[ธห CJK ชบคไดฉกAงฺฅดบโฑN CJK ปP ttf2pk ชบณกคภ
+พจฅiฏเฆaฆwธหฆb /usr/local คงคUกAฅHซKปP Debian ฉาชชบ distribution ฆณฉา
+ฐฯฎๆกCฆ]ฆนกAงฺซKงโฉาปชบฆwธหธ๔ฎ|ฆwฑฦฆpคU:
+
+ ฐ๕ฆๆภษ: BINLOCAL=/usr/local/bin
+ CJK ปP ttf2pk ชบฌร๖ณ]ฉwภษ: TEXMFLOCAL=/usr/local/lib/texmf
+
+ฆPฎษงฺญฬมูปญnฐtฆX (ญืง๏) TEXMFCNF=/etc/texmf/texmf.cnf คคชบฌร๖ณ]ฉwจำ
+ฆwธหภษฎื, จฯฑo latex ปP ttf2pk ฆbนBง@นLต{คคฏเงไจ์ฉาฆณฉาปชบภษฎืกC
+
+PS. 1. $TEXMFCNF ฌO tetex ชบฆUบุธ๔ฎ|ณ]ฉwภษกAภษฆWฌฐ texmf.cnf, ฆฅฆชบฆ์
+ ธmฅiฏเจฬคฃฆPชบ distribution ฆำฆณคฃฆP: ฅiฏเฆb /etc/ คUกAค]ฅiฏเฆb
+ /etc/texmf/ คUกC
+
+ 2. $TEXMFLOCAL ชบญศฌOจฬ $TEXMFCNF ชบณ]ฉwฆำฉwกAฝะฆฆๆฐัฆาฑzจtฒฮคคชบ
+ ณ]ฉwกC
+
+ 3. ฆbงฺชบจtฒฮคคกA $TEXMFCNF คคฆณค@ฆๆฌOณoผหชบ:
+
+ TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
+
+ จไทNธqฌOกAคZฌOจฯฅฮ $TEXMF ฐตฌฐธ๔ฎ|ถ}ภYชฬกAซhจtฒฮฆbทjดMฎษท|ฆฐสดM
+ งไ $HOMETEXMF, $TEXMFLOCAL, $TEXMFMAIN ตฅฅุฟฉณคUชบธ๔ฎ|กCจไคค:
+
+ HOMETEXMF = $HOME/texmf % จฯฅฮชฬฆคvชบ tex ฅุฟฆ์ธm
+ TEXMFMAIN = /usr/lib/texmf % tetex ฅDฅุฟ
+
+ 4. latex/xdvi/dvips/ttf2pk ตฅต{ฆกฆbนBง@ชบนLต{คคกAฉาฒฃฅอชบ tfm ปP pk ฆr
+ ซฌภษกAท|ฉ๑จ์ $VARTEXFONTS ฉณคUกCฎฺพฺ $TEXMFCNF ชบนwณ]กAจไญศฌฐ
+
+ VARTEXFONTS = /var/spool/texmf
+
+ 5. ร๖ฉ๓ฌร๖ชบฆrซฌธ๔ฎ|ฆWบูกAฅiฅHฐัฆา CJK-4_2.0..../doc/TDS.txt ชบซุฤณกC
+
+
+C. ฆwธหจBฦJ:
+=============
+
+1. TTF ฆrซฌงฺฅฮ moe_kai.ttf, ฉ๑ฆb $TEXMFLOCAL/fonts/truetype คUกC
+ (PS. $TEXMFCNF คคชบนwณ]ฌฐ: TTFONTS = .:$TEXMF/fonts/truetype//)
+
+2. ฑN CJK-4_2.0/.../texinput/ พใญำซจ์ $TEXMFLOCAL/tex/CJKกC
+ (PS. $TEXMFCNF คคชบนwณ]ฌฐ:
+ TEXINPUTS.latex2e = .:$TEXMF/tex/{latex,generic,latex209,}//
+ TEXINPUTS.latex = .:$TEXMF/tex/{latex,generic,latex209,}//)
+
+3. ญืง๏ /usr/lib/texmf/tex/latex/CJK/Bg5/c00kai.fd, จบฌOฉwธq CJK kai
+ ฉาฅฮชบฆrซฌกAฆbฆนงฺญฬฑNจฯฅฮ moe_kai ชบฆrซฌกCฝะฑN
+
+\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka12}{}
+\DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * b5ka12}{\CJKbold}
+
+ ง๏ฆจ
+
+\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * moekai}{}
+\DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * moekai}{\CJKbold}
+
+ ฅัฉ๓ฅุซeชบ FreeType - ttf2pk ฉ|คฃคไดฉฑNคคคๅฆrยเ 90 ซืกAฌGฆbฆนงฺญฬ
+ คฃฅhญืง๏ c00kair.fd ภษกC
+
+ (PS. ฝะช`ทNกAฆbฆนฉาจฯฅฮชบฆrซฌฆWฝะพจถqคฃญnฆณ "_" ฆrคธกAฅHงKณyฆจฐรD)
+
+4. ญืง๏ $TEXMFMAIN/fontnames/special.map, ฅ[คJ
+
+moekai big5 moekai
+
+ จไธqทNฌOกA CJK ฉาปชบ .tfm, .pk ตฅฆrซฌฑNท|ฉ๑ฆb:
+
+ moekai*.tfm ===> $VARTEXFONTS/tfm/big5/moekai/
+ moekai*pk ===> $VARTEXFONTS/pk/big5/moekai/
+
+ ฉณคUกC
+
+5. Compile ค@คU CJK-4_2.0/utils/Bg5conv/bg5conv.c, จรฑNฅฆฉ๑จ์ $BINLOCAL
+ คUกCฆPฎษค]ฑN bg5latex ค]ฉ๑นLฅhกC
+
+6. ฆwธห FreeType lib กCฝะจ์ FreeType ชบฅุฟคUกAฐ๕ฆๆ:
+
+ ./configure --prefix=/usr/local --with-locale-dir=/usr/share/locale
+ make
+ make install
+
+7. ฆwธห ttf2pk กCฝะจ์ freetype/contrib/ttf2pk ฉณคUกAฐ๕ฆๆ:
+
+ ./configure --prefix=/usr/local --with-kpathsea-dir=/usr
+ make
+ make install
+
+ ฆbฆนฆ]ฌฐงฺชบจtฒฮคคฆณ kpathsea lib, ฌOฉ๑ฆb /usr ฉณคUกAฆ]ฆนงฺฐตคFณoผหชบ
+ ชบณ]ฉwกCญYฑzชบจtฒฮคคจSฆณ kpathsea lib, ซhคฃญnณ] --with-kpathsea-dirกC
+ ซุฤณฑzจฯฅฮ kpathsea lib, ฆ]ฌฐณoผหชบธ ttf2pk package ฅiฅHซงนพใฆaปP
+ tetex จtฒฮพใฆXฆbค@ฐ_กC
+
+ (PS. ฝะช`ทNกAฎฺพฺ Werner LEMBERG ชบ comment, ณoผหชบฐตชkฅiฏเฆbฌYจว
+ ฑกชpคUท|ฅขฎฤกCณฬค@ฏ๋ชบฐตชkกAฌOฑN ttf2pk ชบฐ๕ฆๆภษฆwธหฆbปPจไฅL
+ tetex ชบฐ๕ฆๆภษฌฆPชบฅุฟคUกAฆbคWญzชบจาคlงYฌฐ /usr/bin กCฆPฎษกA
+ ฆb configure ฎษ --prefix ค]ภณธำณ]ฌฐ /usr ค~น๏กCญYฑzตoฒ{ฅฮคWญz
+ ชบค่ฆกตLชk work ฎษกAฝะฑzธีตฑN ttf2pk ฆwธหฆbปP tetex ชบฐ๕ฆๆภษ
+ ฆwธหฆbค@ฐ_กCฐฃฆนคงฅ~กAจฯฅฮ symbolic link ฑN /usr/local/bin/ttf2pk
+ link จ์ /usr/bin/ttf2pk ฅiฏเค]จSฅฮ)
+
+8. ฒ{ฆbงฺฑN ttf2pk ชบฌร๖ธ๊ฎฦภษฉ๑จ์ $TEXMFLOCAL/ttf2pk คU:
+
+ mkdir $TEXMFLOCAL/ttf2pk
+ cp freetype/contrib/ttf2pk/data/* $TEXMFLOCAL/ttf2pk
+ ln -s $TEXMFLOCAL/ttf2pk $TEXMFLOCAL/ttf2tfm
+
+ ตMซแญืง๏ $TEXMFCNF, ฅ[คJฅHคUจโฆๆ:
+
+ TTF2PKINPUTS = $TEXMF/ttf2pk/
+ TTF2TFMINPUTS = $TEXMF/ttf2pk/
+
+ ฅHฉ๚ฝTซฉw ttf2tfm ฅHคฮ ttf2pk ฉาปชบณ]ฉwปPธ๊ฎฦภษชบฆ์ธm)
+
+9. ฐตฅXฉาฆณชบ tfm ฆrซฌ (ฅปซฅOชบธิฒำทNธqฝะจฃ man ttf2tfm):
+
+ ttf2tfm moe_kai -P 3 -E 4 moekai@Big5@
+
+ ฆbต{ฆกฐ๕ฆๆฒืคFท|ฆLฅXณoค@ฆๆ:
+
+moekai@Big5@ moe_kai Pid=3 Eid=4
+
+ ฝะฑNณoค@ฆๆผgจ์ $TEXMFLOCAL/ttf2pk/ttfonts.map ภษคคกCttf2pk งYจฯฅฮฆนธ๊
+ ฎฦจำฒฃฅอฉาปชบ pk ฆrซฌภษกC
+
+ ตMซแกAฆAฑNฒฃฅอฅXจำชบ .tfm ฆrซฌฅณกฒพจ์ $VARTEXFONTS/tfm/big5/moekai
+ ฉณคUกC
+
+10. ถ]ค@คU texconfig rebuild ls-R data base. ญYฑzชบจtฒฮจSฆณณoญำซฅOกAซh
+ ถ]ค@คU mktexlsr <path_name>. ฝะช`ทNกAจCฆธฑzญซทsฐตฅX tfm ฆrซฌกAฉฮผWฅ[กB
+ งRฐฃ tetex ฉณคUชบภษฎืฎษกAฑzณฃฅฒถทฐตณoค@จBกAฅHง๓ทs ls-R data base ชบคบ
+ ฎeกCจฯฅฮ texconfig ฎษท|ฅXฒ{ค@ญำฟ๏ณๆกAฑzฅiฅHฟ๏จ๚ "rebuild ls-R database"
+ งYฅiกCญYฑzจฯฅฮ mktexlsr, ซhญnซฉ๚ธ๔ฎ|กAฆp
+
+ mktexlsr /var/spool/texmf
+ mktexlsr /usr/local/lib/texmf
+
+11. Patch tetex-0.9 ชบ mktexpk scriptกCจไ diff ภษฌOฆb
+ freetype/contrib/ttf2pk/scripts/web2c-7.2/ ฉณคUกCฆpฆน latex จtฒฮ
+ ฆbปญnฎษกAดNท|ฉIฅs ttf2pk จำฒฃฅอฉาปชบ pk ฆrซฌกC
+
+ (PS. ญYฑzฉาฅฮชบฌOณฬทsชบ teTeX 0.9-beta ชบธกAจไ mktexpk คwฅ]งtคFฅHคW
+ ชบ patch, ฉาฅHฑzคฃฅฒฐตณoค@จBกCณฬทsชบ teTeX 0.9-beta ฅiฅHฆbณo๙ุ
+ งไจ์:
+
+ ftp://ftp.rrzn.uni-hannover.de/pub/local/misc/teTeX-beta/)
+
+12. งนฆจ! ฑzฅiฅHธีธีฝsฤถ CJK_4_2.0/doc/chinese/READMEb5.tex, ฌฆณจS
+ ฆณจไฅLฐรDกC
+
+
+
+C. LaTeX/CJK ชบคuง@ญ์ฒz (for tetex-0.9, CJK-4_2.0):
+====================================================
+
+ฅHคUฌฐดNงฺฉาชพชบ LaTeX ฝsฤถคๅณนชบจBฦJปPฅุซe CJK ชบคuง@ญ์ฒzตyทLปกฉ๚ค@คUกA
+ฅHภฐงUลชคFธัฅHคWณ]ฉwชบทNธqกC
+
+ญบฅกAทํ TeX/LaTeX ฆbลชคJค@ญำ .tex ภษกAจรธีนฯฆaฐตฅXค@ญำ .dvi ภษฎษกAฅฆฅฒถท
+ญnฅฮจ์ .tfm ชบฆrซฌกC .tfm ชบฆrซฌภษฅuฐOฟคFธำบุฆrซฌณฬฐ๒ฅปชบธ๊ฐTกAฅฆฌฦฆปP
+ฆrซฌชบน๊ปฺคjคpตLร๖กAฅฆฏยบ้ฅuฅฮจำฐตฑฦชฉฅฮชบกCTeX/LaTeX นwณ]ชฌชpคUณฃท|จ์
+$TEXMFDIR/fonts/tfm/ ฉณคUงไ .tfm ฆrซฌ (ฆUฆ์ฅiฅHฌฌ /etc/texmf/texmf.cnf
+ชบณ]ฉw) กAฆ]ฆนกAฐฒณ]ฆb tfm/ คUมูฆณซฆhฅุฟกAฆp
+
+ ..../tfm/big5/moekai/
+ ..../tfm/big5/moesung/
+ ..../tfm/ams/
+ ...........
+
+ตฅตฅกAซhณoจวคlฅุฟฉณคUฉาฆณชบ .tfm ฆrซฌภษณฃท|ณQทjดMจ์กCฆำ $TEXMFDIR ซhฅNชํ
+คFงAจtฒฮคค TeX ชบฅDฅุฟกCธUค@งไคฃจ์ฆrซฌกAฅฆท|ฉIฅs mktextfm จำฒฃฅอฆrซฌกAฉา
+ฒฃฅอฅXจำชบฆrซฌดNฅแจ์ $TEXMFDIR/fonts/tfm/.... คUกC
+
+mktextfm ฌOค@ญำ shell script กAฅฆฆbคuง@ฎษญบฅท|ฅคภชRฉาปฒฃฅอชบฆrซฌบุรปP
+ภณฆbชบธ๔ฎ|ฆWกAจรฆAฆธภหฌdธำฆrซฌฌOง_ฆsฆbกAฆpชGฏuคฃฆsฆbกAซhฅฆท|ฉIฅsฆrซฌฒฃฅอ
+ต{ฆก mf จำงโฆrซฌฐตฅXจำกC
+
+ตMฆำกAคฃบฌOฐตคฐป๒ผหชบฆrซฌกAณฃค@ฉwญnฆณค@ญำจัฐัฆาชบฆrซฌกuผหชOกvค~ฆๆกAฆb TeX
+จtฒฮคคกAนwณ]ชบฆrซฌผหชฉฌฐ MetaFont, ณoฌOจtฒฮณฬฐ๒ฅปชบฆrซฌผหชฉกCทํตMกAงฺญฬฅi
+ฅHฅ[คJจไฅLชบฆrซฌฐตฌฐผหชฉกAฆำณoจวฅ[คJชบฆrซฌดNฐOฟฆbค@ญำฅs special.map ชบภษ
+คคกAฆนภษฆณคTญำฤๆฆ์ฆpคU:
+
+% Font source typeface
+%
+A public hieroglyph
+Aa public hieroglyph
+B public hieroglyph
+C public hieroglyph
+D public hieroglyph
+DeadSea public hebrew
+
+จไคคฒฤค@ฤๆฌOฆrซฌฆWบูกAฒฤคGฤๆฉMฒฤคTฤๆฌOฆrซฌรงOกCTeX/LaTeX งYฎฺพฺ special.map
+ชบคบฎeกAฆb $TEXMF/fonts/tfm คUดMงไฉาปชบ .tfm ฆrซฌกCนwณ]ฑกชpคUกAฅฆดNฅH
+ฆrซฌรงOฆWบูฐตฌฐธำฆrซฌชบฆsฆbธ๔ฎ|กAจาฆpทํปญn DeadSea*.tfm ฎษกAจไฆsฆbชบธ๔ฆๆงY
+ฌฐ $TEXMF/fonts/tfm/public/hebrew/ กCญYธ๔ฎ|คฃฆsฆbฉฮฆrซฌคฃฆsฆbกAซhต๘ปญn
+ฒฃฅอธำธ๔ฎ|กAจรฉIฅs mktextfm จำฒฃฅอฆrซฌภษกA mktextfm ซhท|ถiค@จBฉIฅs mf ต{ฆกจำ
+คuง@กC
+
+ทํ .dvi ภษฅXจำซแกAงฺญฬฅiฅHฅฮ xdvi จำฐตนwต๘กAณoฎษญิดNปญn .pk ชบฆrซฌกAฆนฌฐ
+ยIฐ}ฆrซฌกAดNปPน๊ปฺฉาปชบฆrซฌคjคpฆณร๖กCฆPผหชบกA xdvi ท|ฅจ์
+$TEXMF/fonts/pk/..../ ฌฌธำฆrซฌฌOง_คwฆsฆbกAงไคฃจ์ฅฆดNท|ฅhฉIฅs
+mktexpk จำฐตฅXฆrซฌกCmktexpk ชบคuง@พ๗จ๎ปP mktextfm งนฅค@ผหกAฉาฅHดNคฃฆAญซยะกC
+ทํตMกAงฺญฬค]ฅiฅHฅฮ dvips จำฒฃฅอ PostScript ชบคๅฅ๓ภษกAฆbณo๙ุฆPผหญnจฯฅฮ .pk
+ชบฆrซฌกAค]ฌOฅฮ mktexpk จำฐตกC
+
+ดNฅHคWชบปกฉ๚กAงฺญฬฅiฅHชพนDกAญYญnฅฮ CJK จำฒฃฅอคคคๅคๅฅ๓กAซhปญnจใณฦฅHคUฑ๘ฅ๓:
+
+1. ฅฮจำฉwธqคคคๅคๅฅ๓ฎๆฆกชบ texinput style ภษกC
+
+2. คคคๅฆrซฌ .tfm ฅHคฮ .pk กC
+
+จไคคฒฤค@ญำฑ๘ฅ๓ซฎeฉ๖กAค]ดNฌOงฺฆbคWค@ธ`ชบกuฆwธหจBฦJกvคคชบฒฤคGจBฉาดฃจ์ชบกCฐฃ
+ฆนคงฅ~กAงฺญฬมูปญnค@ญำ bg5conv ชบต{ฆกกAฅฆญtณdลชคJคคคๅ .tex ญ์ฉlภษกAธgฝsฝX
+ซแยเฆจ .cjk ฝsฟ้ฅXกAตMซแค~ฅๆตน latex ถiฆๆฒฃฅอ .dvi ภษชบฐสง@กC
+
+ค๑ธ๛ณยทะชบฌOฆrซฌชบณกคภกCดN .tfm ฆrซฌฆำจฅกAฆbนLฅhฆwธห CJK ฎษกAงฺญฬฅiฏเคฃท|
+นwฅฑNฉาฆณปญnชบ .tfm นwฅฐตฅXจำกAฆำฌOฑฤฅฮฝuคWฒฃฅอชบค่ฆกกAณoฎษงฺญฬปญnญื
+ง๏ mktextfm, ฅHซKฆbปญnฎษฉIฅs ttf2pk คงรชบต{ฆกฆ TTF ฆrซฌฐตฅX .tfm ฆrซฌกC
+ฆฒ{ฆbงฺญฬจฯฅฮทsชฉชบ ttf2pk package, จไ ttf2tfm ต{ฆกฅiฅHซฎeฉ๖ฆaฑNฉาฆณชบ
+.tfm ฆrซฌฒฃฅอฅXจำกAจรนwฅฆwธหจ์ฅฟฝTชบฅุฟคคกAฆpฆนงฺญฬดNคฃปญnฅhญืง๏ mktextfm
+คFกCฆำณoดNฌOคWค@ธ`กuฆwธหจBฦJกvคคชบฒฤ 9 จBฉาฐตชบคuง@กAจไฉRฅOชบทNธqฌฐ:
+
+ ttf2tfm <TTF filename> -P <platform ID> -E <encoding ID> <TFM filename>
+
+จไคค <TTF filename> ภษฆWฎๆฆกฌฐ <name>XX.tfm, <name> ฌOฆrซฌฆWบูกA XX ฌOค@ญำ
+ผฦฆrกAฅNชํคFธำฆrซฌ encoding ชบงวธนกAจาฆp: moekai03.tfm กCน๏ฉ๓ค@ฎMงนพใชบ
+ฆrซฌกAจไงวธนฅฒถทจฌฅHฅ]งtฉาฆณชบคคคๅฆrกAฅH Big5 ฝXฌฐจากAจไงนพใชบงวธนฌOฑq 01
+จ์ 58, ค]ดNฌOฅฒถทฒฃฅอ 58 ญำฆrซฌภษกCฆbทsชฉชบ ttf2tfm คคกAฑzคฃปญnฉIฅs ttf2tfm
+58 ฆธกAช`ทNจ์ฆbฆwธหจBฦJคคกA <TFM filename> ณoค@ญำฐัผฦฌO
+
+ moekai@Big5@
+
+จไคค moekai งYฌฐ <name>, ฆำ @Big5@ ฌOซงวธนชบณกคภกAฆbณo๙ุฌOฅฮค@ญำ
+Big5.sfd ณoญำภษจำฅNดภ (ต{ฆกท|ฆฐสฅ[คJ .sfd ณoญำชภษฆW) กAช`ทNจ์ฆbกuฆwธห
+จBฦJกvคคชบฒฤ 8 จBงฺญฬคwฑNณoญำภษฎืซจ์คFพAทํฆ์ธmกAฆำธำภษดNฐOฟคF Big5 ฝXฆr
+ซฌฉาฆณงวธนตฅฌร๖ธ๊ฐTกA ttf2tfm ฅiฅHชฝฑตฐัฆาณoญำภษชบคบฎeฑNฉาฆณชบฆrซฌฅณก
+ฐตฅXจำกC
+
+ฆb ttf2tfm คuง@งนฆจคงซแกAฅฆท|ฆLฅXค@ฆๆฐTฎง (จฃกuฆwธหจBฦJกvฒฤ 9 จB)กAณoค@
+ฆๆฌOตน ttf2pk ฐัฆาฅฮชบกAฅฒถทผgคJ ttf2pk ฑMฤชบณ]ฉwภษ ttfonts.map คคกCณฬ
+ซแกAงฺญฬฆAฑNฉาฆณชบ .tfm ฆrซฌฒพฆพAทํฅุฟกAงYงนฆจคF .tfm ฆrซฌชบณกคภกC
+
+น๏ฉ๓ .pk ฆrซฌกAฅัฉ๓ณo๙ุมูฒoฏAคFคฃฆPชบฆrซฌคjคpฆณคฃฆPชบภษกAงฺญฬตLชkนwฅชพ
+นDปญnจบจวคjคpชบฆrซฌกAฆ]ฆนฆbฆนงฺญฬฑฤฅฮคFฝuคWฒฃฅอชบค่ฆกกAปญnฎษค~ฒฃฅอ pk
+ฆrซฌกCฉ๓ฌOกAงฺญฬฅฒถทญืง๏ mktexpkกAฆbปญnคคคๅฆrซฌฎษฉIฅs ttf2pk ฆ TTF ฆr
+ซฌฑNฉาปชบฆrซฌฐตฅXจำ (จฃกuฆwธหจBฦJกvฒฤ 11 จB)กC
+
+pk ฆrซฌภษฆWชบฎๆฆกฆpคU:
+
+ <name>XX.<SSSS>pk
+
+จไคค <name> ฌOฆrซฌฆWกA XX ฌO encoding งวธนกA <SSSS> งYฌฐธำฆrซฌชบคjคp (dpi)กC
+
+มูฆณค@ยIกAฅัฉ๓ทsชฉชบ ttf2pk คwฏเจฯฅฮ kpathsea lib จำทjดMฅฆฉาปชบภษฎืกAฅ]
+ฌAฆrซฌภษฅHคฮณ]ฉwภษกAฆำณ]ฉwภษชบณกคภงฺญฬดNฅฒถทฑNฅฆชบฆ์ธmผgฆb
+/etc/texmf/texmf.cnf คคกAจรฅBญnถ] mktexlsr ฉฮ texconfig ซแ (จฃกuฆwธหจBฦJกv
+ชบฒฤ 8 จBปPฒฤ 10 จB)กAฆpฆน kpathsea lib ค~ฏเงไจ์ณ]ฉwภษชบฆ์ธmกC
+
+
+บ๎คWฉาญzกAฅHคUงฺดyญzค@คUพใญำ LaTeX/CJK ชบ compile นLต{กAฐตฌฐม`ตฒกC
+
+
+1. ฐ๕ฆๆ bg5latex, ณoฌOค@ญำ script, ฅฆฉIฅs bg5conv ลชคJ .tex ญ์ฉlภษกAจรยเ
+ ฆจฝsฝXซแชบ .cjk ภษกC
+
+2. bg5latex ฑตตฉIฅs latex, ลชคJ .cjk ภษกAฆbงPฉwฅฆปญn CJK package ฎษกA
+ ฆp:
+
+ \usepackage{CJK}
+ \begin{CJK*}{Bg5}{kai}
+
+ ซKลชคJค@จtฆCชบ CJK texinput style ภษกAจรธ๒พฺ Bg5, kai, ลชจ๚
+ .../Bg5/c00kai.fd ณoญำฆrซฌฉwธqภษกC
+
+3. ฎฺพฺ c00kai.fd ภษชบฉwธqกA latex ชพนDคคคๅชบณกคภปญn moe_kai ฆrซฌกCฉ๓ฌOกA
+ ฆbฒฃฅอ .dvi ภษชบนLต{คคกAฅฆฎฺพฺ special.map ภษชบคบฎeกAฆbพAทํชบธ๔ฎ|คคดMงไ
+ ฉาปชบ .tfm ภษกAญYงไคฃจ์ซhฉIฅs mktextfm จำฒฃฅอฅฆกCฅัฉ๓จฦฅงฺญฬคwฆwธหฆn
+ ฉาฆณชบ .tfm ฆrซฌกAฆ]ฆนณoค@จBคฃปญnฉIฅs mktextfm งYฅiงนฆจกC
+
+4. .dvi ภษฅXจำซแกAฐฒณ]งฺญฬญnฅฮ dvips จำฒฃฅอ .ps ภษกAซh dvips ฆbตoฒ{ปญn
+ moekai ฆrซฌฎษกAท|ธ๒พฺ special.map ชบคบฎeกAจ์พAทํชบธ๔ฎ|ฅhดMงไ moekai*pk
+ ภษกC
+
+5. ญYงไคฃจ์กAซhฅฆท|ฉIฅs mktexpk จำฒฃฅอฆrซฌภษกCญืง๏นLชบ mktexpk ฆbตoฒ{ฉาป
+ ฒฃฅอชบฆrซฌฌO moekai ฎษกAซKท|ฉIฅs ttf2pk จำคuง@กC
+
+6. ttf2pk ญบฅณzนL kpathsea lib, ยวฅั /etc/texmf/texmf.cnf คคชบณ]ฉwงไจ์จไ
+ ณ]ฉwภษ ttfonts.map ชบฆ์ธmกAลชคJณ]ฉwภษซแกAฎฺพฺ moekai จบค@ฆๆกAฅฆชพนDคF:
+
+ a. ฉาปญnชบฆrซฌผหชฉฌฐ $TEXMFLOCAL/fonts/truetype/moe_kai.ttf กC
+
+ b. ธำฆrซฌชบ encoding งวธนธ๊ฎฦฆsฉ๑ฆbปP ttfonts.map ฌฆPฅุฟคUชบ Big5.sfd
+ ภษคคกC
+
+ c. จไฅLฆp Platform ID ปP Encoding ID ชบธ๊ฐTกC
+
+ ttf2pk งYงQฅฮณoจวธ๊ฐTกAฑNฉาปชบ moekai*pk ภษฐตฅXจำกAจรฅๆฅั mktexpk ฑNธำ
+ ภษฉ๑จ์ฅฟฝTชบธ๔ฎ|คUกAฅHณฦค้ซแญซฝฦงQฅฮกC
+
+7. งนฆจกC
+
+
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/cjk-enc.txt b/Master/texmf-dist/doc/latex/cjk/doc/cjk-enc.txt
new file mode 100644
index 00000000000..72868474c47
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/cjk-enc.txt
@@ -0,0 +1,438 @@
+This is the file cjk-enc.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+cjk-enc.el
+----------
+
+Mule, the multilingual Emacs, is one of the most powerful editors available
+for Unix systems like Linux. It is capable to edit and display texts which
+are, among other scripts, written in various CJK languages; as an example
+you can have traditional and simplified Chinese at the same time. Mule is
+distributed under the GNU Public License; it is now integrated into the
+source code emacs 20.
+
+The CJK package enables LaTeX to do the same (with some restrictions, see
+below), but the interface is different. Mule uses additional bits internally
+to store the encoding of a character, whereas the CJK package needs \CJKenc
+macros to select encodings.
+
+Now enters cjk-enc.el . This small output filter for Mule (written in Lisp)
+converts text as entered in Mule into a form TeX can understand. Double-byte
+encodings which can be processed by CJK are usually converted into EUC form
+preceded by \CJKenc{...} macros, single-byte encodings (Latin-1, etc.) into
+equivalent LaTeX 2e macros (e.g., Latin-1 character 0xC4 (umlaut A) into
+\"A). Some of these macros are undefined by default in standard LaTeX 2e
+because CM or EC fonts have no characters for it. Vietnamese, Cyrillic
+scripts, Modern Greek, and Thai are also supported (see below).
+
+cjk-enc.el comes in two versions.
+
+ . An old version for Mule 2.3 with limited capabilities since it is no
+ longer supported (but updated if necessary).
+
+ . A new version with enhanced commands which works with emacs versions
+ >= 20.3 and xemacs versions >= 21.1 (the latter without Thai support).
+
+Support for emacs versions < 20.3 has been dropped. Please upgrade. In the
+following, `Mule' is used for all emacs flavours.
+
+
+Installation
+------------
+
+To load cjk-enc.el into Mule, put the following line into your .emacs file:
+
+ (load-library "cjk-enc")
+
+this assumes that cjk-enc.el is in a directory searched by Mule. A good
+place for it is the site-lisp subdirectory (e.g.,
+/usr/local/share/emacs/site-lisp).
+
+After loading, a new (output) encoding scheme is defined: `*cjk-coding*'.
+[This is called `cjk-coding' under emacs 20---Please note further that the
+ prefix for Mule commands has changed to `C-x RET' for emacs 20 instead of
+ `C-x C-k'.]
+
+Note: `*cjk-coding*' (`cjk-coding') can't be used to save documents! It
+ is intended only to create the *.cjk file which is then directly
+ processed by LaTeX.
+
+
+Usage (LaTeX 2e part)
+---------------------
+
+A sample of a multilingual document (muletest.{tex,cjk,dvi,pdf}) can be
+found in the examples subdirectory (only the TEX file is in the src package
+of CJK, the other files are in the doc package).
+
+European languages based on the Latin script:
+
+ Simply write your documents! Characters like `u umlaut' or `c hacek' are
+ converted into LaTeX 2e macros. You don't need to write "u or something
+ else (nevertheless it's possible). It is recommended to use LaTeX 2e's
+ T1 font encoding scheme to have a) most of the European diacritics
+ available and b) correct hyphenation for accented characters.
+
+ The lower half of JIS X 0201 is treated similarly.
+
+ Note that the default CM fonts of LaTeX are OT1 encoded. You should
+ rather use the EC fonts which are based on T1 (or virtual T1 fonts
+ mapped onto OT1).
+
+ For correct hyphenation you still have to change languages, thus a
+ system like Babel should be used additionally.
+
+CJK languages:
+
+ Don't start a CJK (or CJK*) environment! cjk-enc.el does this
+ automatically for you at the `\begin{document}' command. It also inserts
+ \CJKspace and \CJKnospace commands (\CJKspace for Korean, \CJKnospace
+ for all other CJK scripts; but see the section `Problems' below also).
+
+ In CJK.enc the default font family for all encodings is `song' (except
+ for Korean Hangul where it is `mj'). Two commands are available to
+ change the CJK font encoding and family in combination with cjk-enc.el
+ (see CJK.txt and commands.txt for a detailed description):
+
+ \CJKencfamily[<fontencoding>]{<encoding>}{<family>}
+ Change family for a certain encoding (and fontencoding).
+
+ \CJKfontenc{<encoding>}{<fontencoding>}
+ Change fontencoding for a certain encoding.
+
+ The second command is primarily for users who use Japanese DNP fonts
+ (see the Japanese documentation subdirectory for further details) or
+ Korean HLaTeX fonts.
+
+ For the upper half of JIS X 0201 encoding, the katakana range of the
+ SJIS encoding of the CJK package is used.
+
+Vietnamese:
+
+ Vietnamese uses accented characters not contained in EC or CM fonts. To
+ assure proper kerning you must explicitly activate T5 font encoding
+ (this can't be done automatically) to access a Vietnamese font.
+
+ The VnTeX bundle contains Vietnamese fonts and support files; it also
+ defines T5 encoding. It is available from http://vntex.sf.net.
+ (Note that the now obsolete vncmr package is no longer supported.)
+
+Russian and other languages using the cyrillic script:
+
+ Cyrillic LaTeX encodings (T2A, T2B, T2C, and X2) are now supported
+ within the LaTeX 2e distribution (starting with version 1998/12/01).
+ Cyrillic fonts and auxiliary files supporting these encodings are
+ available at CTAN from fonts/cyrillic and macros/latex/contrib/t2); most
+ TeX distributions already come with Cyrillic fonts installed.
+
+ The current implemention needs a lot of temporary disk space for
+ Cyrillic scripts (e.g., a 100 kByte document written only with Cyrillic
+ letters has an intermediate output file of about 800 kByte). On the
+ other hand, it is still possible to recognize the Cyrillic characters
+ name macros in the log file in case of error messages---if I used the
+ shortest possible representation, only numbers would be visible, and the
+ size of the intermediate output file would still have 500 kByte...
+
+ You must explicitly activate one of the T2* (or X2) encodings for
+ Cyrillic. Russian needs T2A.
+
+Greek:
+
+ You must use the LGR encoding and fonts as defined in the Babel package:
+ ISO-8859-7 characters are mapped back to ASCII characters which are then
+ displayed as Greek characters, using the ligature mechanism extensively.
+
+Thai:
+
+ It is implemented only in the emacs 20.3 version of cjk-enc.el. Instead
+ of using an external program, Ken'ichi Handa has written thai-word.el
+ which implements the word-breaking algorithm in Lisp, based on the the
+ C-TTeX package version 1.15 written by Vuthichai Ampornaramveth
+ <vuthi@ctrl.titech.ac.jp>. `thai.sty' is still very rudimentary---any
+ improvements are welcome.
+
+ The used encoding is C90 (this is the only case where you have to
+ specify a `C' encoding directly, either by using the `thaicjk' language
+ for Babel or by saying `\DeclareFontEncoding{C90}{}{}' in the preamble);
+ the default fonts specified in c90gar.fd and c90nrsr.fd are taken from
+ the thailatex package, which can be found at
+
+ http://linux.thai.net/plone/TLWG/thailatex
+
+ You should use version 0.3.5.1 or newer. Note that this package is not
+ compatible with CJK; neither its metric files nor its LaTeX support
+ files should be used. Please read the file thaifont.txt for details how
+ to install the fonts.
+
+ Whitespace between Thai characters are always respected; newlines
+ together with trailing and leading whitespace are not by default. Use
+ \Thaispace to make trailing and leading whitespace respected also (the
+ opposite command is \Thainospace). Note that the space width of the Thai
+ font (which is usually larger than for a Roman font) is used for
+ whitespace between Thai words:
+
+ Thai Thai
+ Thai
+
+ is approximately translated to
+
+ {\thaifont Thai Thai\nospaces
+ Thai}
+
+ (if \Thainospace is active), whereas
+
+ Thai\ Thai\
+ Thai
+
+ is approximately translated to
+
+ {\thaifont Thai}{\romanfont\ }{\thaifont Thai}{\romanfont\ }
+ {\thaifont Thai}
+
+ To improve appearance, \Thaiglue (which is defined in MULEenc.sty) is
+ used as intercharacter glue; this value can be modified similarly to
+ \CJKglue.
+
+
+Usage (Mule part)
+-----------------
+
+Simply load your document into Mule and call cjk-write-file (which is
+defined in cjk-enc.el) to create a preprocessed file. For most files this
+file's name is formed by replacing the extension with `.cjk'. However,
+BibTeX files are given the extension `-cjk.bib' because the BibTeX program
+requires `.bib' as the extension. This also avoids conflicts with the CJK
+file produced by a LaTeX file by the same name. Because of this you should
+use the command \CJKbibliography{foo} in your LaTeX source file (which
+finally expands to foo-cjk.bib). A similar macro is \CJKinclude{bar} which
+expands to `bar.cjk' instead of bar.tex. Finally, you can say
+\CJKinput{foo.bar} to input file `foo.bar'; if the file name has no
+extension, `cjk' is appended: \CJKinput{foo} loads `foo.cjk'.
+
+cjk-write-file is the only user function provided by cjk-enc.el for
+Mule 2.3.
+
+If you want to process a file which includes some other files, use the
+function cjk-write-all-files in combination with \CJKinclude, \CJKinput, and
+\CJKbibliography. If used interactively, you have to supply a file name
+which is then scanned for occurrences of \CJKinclude, \CJKinput, and
+\CJKbibliography; all files found plus the master file are converted.
+
+Example:
+
+ `a.tex' contains:
+
+ \CJKenc{Bg5}
+ Chinese text
+
+ `b.tex' contains:
+
+ \CJKenc{JIS}
+ Japanese text
+
+ `c.tex' contains:
+
+ \CJKenc{UTF8}
+ Some Unicode text
+
+ `master.tex' can now include the files as follows:
+
+ Some Korean text
+
+ \CJKinput{a}
+ \input{b}
+ \input{c}
+
+ Calling cjk-write-all-files automatically converts `master.tex' and
+ `a.tex'.
+
+The functions batch-cjk-write-file and batch-force-write-file are intended
+to be used in Makefiles; please read the function documentation for more
+details.
+
+It is recommended that you assign cjk-write-file or cjk-write-all-files to a
+key (e.g., with global-set-key) in your `.emacs' configuration file.
+
+
+Unicode encoding
+................
+
+Note that the forthcoming Emacs 22 has no native Unicode support. Instead,
+Unicode encoded date is mapped onto the internal character sets of Emacs;
+this process heavily depends on the selected (Emacs) language environment.
+For example, if you select `Chinese-BIG5', Emacs first tries to map Unicode
+characters to Big 5. If that fails, it tries the GB 2312 character set, then
+KS X 1001, and so on. To get typographically satisfying output you would
+need identical font shapes for different CJK encodings, a very unlikely
+situation.
+
+For this reason it is strongly recommended to *not* use data files encoded
+in UTF-8 with cjk-enc.el. Instead, UTF-8 should be directly handled by a CJK
+environment (i.e., `\begin{CJK}{UTF8}{...}').
+
+
+Usage with AUC TeX
+------------------
+
+Append the data between >>> and <<< to your .emacs file to have special CJK
+support within AUC TeX:
+
+
+>>>
+
+ (defun TeX-run-CJK-LaTeX (name command file)
+ "Create a process for NAME using COMMAND to format FILE with CJK/LaTeX."
+
+; use next code line for Mule instead of the (balanced) expression
+; containing `cjk-write-all-files'
+; -- no multifile document support!
+; (cjk-write-file)
+
+ (cjk-write-all-files (concat (TeX-master-directory)
+ (file-name-nondirectory file)
+ ".tex"))
+ (TeX-run-LaTeX name command file))
+
+ ;; replace the error source file `*.cjk' with `*.tex' (and `*-cjk.bib'
+ ;; with `*.bib'), then C-c ` can be used as usual.
+
+ (add-hook 'TeX-translate-location-hook
+ '(lambda ()
+ (if (string-match "\\(.*\\)\.cjk$" file)
+ (setq file
+ (concat
+ (substring file
+ (match-beginning 1)
+ (match-end 1))
+ ".tex"))
+ (if (string-match "\\(.*\\)-cjk\.bib$" file)
+ (setq file
+ (concat
+ (substring file
+ (match-beginning 1)
+ (match-end 1))
+ ".bib"))))))
+
+ (require 'tex)
+ (add-to-list 'TeX-command-list
+ '("CJKLaTeX" "%l '\\nonstopmode\\input{%s.cjk}'" TeX-run-CJK-LaTeX nil t))
+
+<<<
+
+
+To process a CJK document with AUC TeX use C-c C-c on your LaTeX source file
+and select CJKLaTeX as the formatting command. It also works with multiple
+files; only modified files are converted (again).
+
+Note that only the master file is processed with cjk-enc and scanned for
+\CJKinclude and \CJKinput!
+
+If you mainly write text in Japanese or Chinese, consider the use of
+cjkspace.el or cjktilde.el for inserting a tilde character (which has been
+redefined to a shibuaki space) if you hit the space key. Please read the
+documentation in the two files for differences. cjkspace.el works with
+AUC TeX only, cjktilde.el works in every mode.
+
+In case you use an Emacs input method (quail) for your Asian language
+(contrary to an external input method provided by the operating system), you
+can add `rules' with the following code added to your .emacs file; the
+special space handling is then active only when the corresponding input
+method is active too.
+
+ (add-hook 'quail-activate-hook
+ (function
+ (lambda ()
+ (if (equal (quail-name) "chinese-py-punct-b5")
+ (progn
+ (quail-defrule " " "~")
+ (quail-defrule " " " "))))))
+
+Replace `chinese-py-punct-b5' with your favourite input encoding. In case
+you use more than one input method, repeat the above lisp code for each
+method.
+
+
+Technical notes
+---------------
+
+cjk-enc.el loads MULEenc.sty or CJK.sty in the first output line which
+contains all needed definitions for LaTeX 2e.
+
+To assure working in verbatim environments, \CJKenc and the LaTeX 2e macros
+are not output directly. The active character 0x7F is used to output
+\CJKenc, \CJKspace, Latin characters, etc.
+
+CNS 1-CNS 7 and JIS2 encoded characters are output as \CJKchar macros. The
+reason for this choice is the infrequency of CNS and JIS2 characters in
+normal text. Since \CJKchar does not select a new binding this macro is
+executed faster for single CNS and JIS2 characters.
+
+
+Problems and Tips
+-----------------
+
+. cjk-enc.el starts a CJK environment only if it finds at least one CJK
+ character in the master file; this character can appear in a comment also.
+ Example:
+
+ % some Chinese text in this comment
+ \CJKinput{a}
+ \CJKbibliography{b}
+
+. If you need some CJK processing in the preamble you must start a CJK
+ environment there manually because cjk-enc.el uses the \AtBeginDocument
+ hook for its commands. This interferes with the \CJKspace/\CJKnospace
+ insertion mechanism of cjk-enc.el because the Lisp code always assumes a
+ single, global CJK environment. A similar problem exists if you start a
+ new language in a comment. To overcome this, simply insert a \CJKspace or
+ \CJKnospace command (whatever appropriate) right after the
+ `\begin{document}' macro to synchronize again with cjk-enc.el .
+
+ Example:
+
+ \documentclass{article}
+
+ \begin{CJK*}{}{}
+ some Japanese macro stuff
+ \end{CJK*}
+
+ \begin{document}
+ \CJKnospace
+ more Japanese text
+ ...
+
+. Another consequence of the \CJKspace/\CJKnospace insertion mechanism of
+ cjk-enc.el is that in cases like
+
+ Latin_text Chinese_text\ Latin_text
+
+ you can't omit the final `\ ' after the Chinese phrase---only for Korean
+ words it is not necessary to use a (protected) space.
+
+. Usually, Emacs can automatically recognize the encoding of a given file
+ (e.g., using a language environment or setting `file-coding-system-alist';
+ please read the chapter `Recognizing Coding Systems' in the emacs info
+ files for further details). But sometimes this fails (e.g., to find out
+ whether a text is in latin-1 or in, say, latin-3 is impossible), and you
+ have to use a file variable to define the encoding.
+
+ Here an example how to specify `Big 5' encoding for a TeX input file (the
+ following lines are to be inserted at the very end):
+
+ % Local Variables:
+ % coding: big5
+ % End:
+
+ If AUCTeX already has created local variables like `TeX-master', simply
+ add the line `coding: big5' and you are done.
+
+. Another useful local variable for AUCTeX is `TeX-command-default':
+
+ % Local Variables:
+ % TeX-command-default: "CJKLaTeX"
+ % End:
+
+ selects `CJKLaTeX' as the default command if you type `C-c C-c'.
+
+
+---End of cjk-enc.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/commands.txt b/Master/texmf-dist/doc/latex/cjk/doc/commands.txt
new file mode 100644
index 00000000000..b2482555e71
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/commands.txt
@@ -0,0 +1,388 @@
+This is the file commands.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+Here is a list of all commands of CJK.
+
+
+\begin{CJK}[<fontencoding>]{<encoding>}{<family>}
+...
+\end{CJK}
+
+ This starts a CJK environment.
+
+ Possible values for <encoding> are:
+ `Bg5', `Bg5+', `GB', `GBt', `GBK', `JIS', `SJIS', `KS', `UTF8',
+ `EUC-TW', `EUC-JP'.
+
+ [`CNS1'-`CNS7', `CEFX', `CEFY' are also possible but make no
+ sense. These are used with CEF and Mule. The same holds for
+ `JIS2'.]
+
+ Possible values for <fontencoding> are:
+ `' (empty, the default), `pmC' (for Bg5, GB, GBt, JIS, KS),
+ `dnp' (for JIS and SJIS), `wn' (for JIS), `HL' (for KS).
+
+ Possible values for <family> are defined in the FD files which must
+ be configured for the available fonts. If empty, the default value
+ (`mj' for KS encoding, `song' for the rest) is used.
+
+ Families can be changed with \CJKencfamily on a per-encoding base
+ and with \CJKfamily for all encodings. \CJKfamily overrides
+ \CJKencfamily; to have \CJKencfamily active you must assure that the
+ `family' parameter of the CJK environment is empty or that
+ \CJKfamily is defined as empty (inside the environment).
+
+ Font encodings can be changed on a per-encoding base with
+ \CJKfontenc; \CJKenc always uses the specified font encoding.
+
+ The hook \CJKhook is called on initializing the environment (used
+ by cjk-enc.el and VTeX, for example).
+
+ Newlines and spaces after a CJK character are retained. If you want
+ to suppress a newline, finish the line with `%'.
+
+ See also \CJKspace and \CJKnospace.
+
+
+\begin{CJK*}[<fontencoding>]{<encoding>}{<family>}
+...
+\end{CJK*}
+
+ The same as the CJK environment except that newlines and spaces
+ after a CJK character are swallowed. If you want a space after a CJK
+ character you must protect it (e.g., use `\ ').
+
+ See also \CJKspace and \CJKnospace.
+
+
+Text containing CJK characters should start with a fresh line (in the source
+file, not in the output) after activating a CJK environment because TeX has
+already read in the characters of the current line as non-active characters.
+
+You can stack CJK environments (i.e., saying \begin{CJK}...\end{CJK} again
+inside of a CJK environment) if you have not set the `global' package
+option, but it is possible that TeX's `save size' overflows. Use \CJKenc,
+\CJKfontenc, \CJKfamily, and \CJKencfamily instead. See CJK.txt for CJK
+package options which modify the scope of the CJK environment.
+
+To have different encodings/families on the same input line you must use
+\CJKenc, \CJKfontenc, \CJKfamily, and/or \CJKencfamily.
+
+If you use cjk-enc.el, you should NOT open a CJK (or CJK*) environment! It
+is done automatically. See cjk-enc.txt for details.
+
+
+==============================================================================
+
+
+The following commands are defined (or make sense) only inside of a CJK or
+CJK* environment (except \CJKbold, \CJKnormal, \CJKencfamily, \CJKfontenc,
+\CJKverbatim, \CJKhangul, \CJKhanja, \CJKhwkatakana, \CJKnohwkatakana,
+\CJKaddEncHook, \CJKtolerance, \CJKboldshift).
+
+
+\CJKcaption{<caption>} Load <caption>.cpx, a language/encoding specific
+ caption file. You need the SCRIPT style files of the
+ koma-script package to fully use them (see CJK.txt
+ for details).
+
+ <caption>.cpx is a preprocessed version of
+ <caption>.cap.
+
+ Example:
+
+ \begin{CJK*}{Bg5}{song}
+ \CJKcaption{Bg5}
+ ...
+ \end{CJK*}
+
+
+\CJKchar[<enc>]{<byte1>}{<byte2>}
+ Insert a CJK character literally. <byte1> and
+ <byte2> are the first and second byte of the CJK
+ character (in the selected encoding), the optional
+ parameter selects the encoding. You can use decimal,
+ hexadecimal, or octal notation. <byte1> and <byte2>
+ can be both in 7bit or 8bit (GL or GR)
+ representation.
+
+ To select Unicode characters you must specify `UTF8'
+ encoding (but enter real Unicode values). If the
+ Unicode value is greater than U+FFFF, put the first
+ two bytes into the first argument, and the third byte
+ into the second one.
+
+
+ Examples:
+
+ \CJKchar[Bg5]{217}{223}
+ \CJKchar[CNS1]{"57}{"4C}
+ \CJKchar[UTF8]{"02D9}{"04F}
+
+
+\CJKenc{<encoding>} Change encoding. Contrary to \begin{CJK}{...}{...}
+ it is not necessary to start a new line after
+ \CJKenc. This command always uses the font encoding
+ selected with \CJKfontenc.
+
+ \CJKenc acts globally if the `global' option is set.
+
+ See fonts.txt for a mapping table between CJK
+ encoding names and the names of the FD files
+ finally used.
+
+ Use the macro \CJKaddEncHook to add commands which
+ should be executed when a certain encoding is
+ selected.
+
+
+\CJKfamily{<family>} Change family for all encodings. This command
+ overrides \CJKencfamily; to reactivate \CJKencfamily
+ say `\CJKfamily{}'.
+
+ \CJKfamily acts globally if the `global' option is
+ set.
+
+
+\CJKencfamily[<fontencoding>]{<encoding>}{<family>}
+ Change family for a certain encoding (and
+ font encoding). Can be overridden with \CJKfamily.
+
+ The possible values of <family> are defined in the
+ encoding specific FD files.
+
+ This command makes sense outside of a CJK
+ environment; it acts globally if the `global' option
+ is set.
+
+
+\CJKfontenc{<encoding>}{<fontencoding>}
+ Change font encoding for a certain encoding. If you
+ select an encoding with \CJKenc, the font encoding
+ specified with \CJKfontenc for this encoding is
+ chosen.
+
+ This command makes sense outside of a CJK
+ environment; it acts globally if the `global' option
+ is set.
+
+ Example:
+
+ \CJKencfamily{GBt}{hei}
+ \CJKfontenc{JIS}{dnp}
+
+ \begin{CJK*}{Bg5}{fs} % this is equal to
+ % \begin{CJK*}{}{}
+ % \CJKenc{Bg5}
+ % \CJKfamily{fs}
+
+ ... Text in Bg5 fangsong ... % c00fs.fd used
+ \CJKenc{GB} ... Text in GB fangsong ... % c10fs.fd used
+ \CJKfamily{kai} ... Text in GB kai ... % c10kai.fd used
+ \CJKenc{JIS} ... Text in JISdnp kai ... % c42kai.fd used
+ \CJKfamily{}%
+ \CJKenc{GBt} ... Text in GBt hei ... % c20hei.fd used
+ \end{CJK*}
+
+
+\CJKindent The `classical' indentation for CJK documents is
+ exactly two ideographic spaces. \CJKindent sets
+ the paragraph indentation to this value, using
+ \parindent and the currently active CJK font.
+
+
+\CJKkern To prevent a line break before a CJK character, say
+ \CJKkern. This command suppresses the insertion of
+ \CJKglue before the CJK character.
+
+
+\CJKglue If you get overfull \hbox'es caused by CJK
+ characters, try to increase \CJKglue. The default
+ definition is
+
+ \newcommand{\CJKglue}{\hskip 0pt plus 0.08\baselineskip} .
+
+ \CJKglue is inserted by CJK between Chinese
+ characters (punctuation characters as defined in the
+ punctuation tables use an unbreakable glue; see
+ CJK.enc). You should separate non-Chinese text from
+ CJK characters with spaces to enable hyphenation. Or
+ you can say \CJKtilde.
+
+
+\CJKtilde This command changes the definition of the active
+ `~' character from an unbreakable space to
+
+ \def~{\hspace{0.25em plus 0.125em minus 0.08em}} .
+
+
+\nbs The original meaning of `~' is preserved within \nbs,
+ a shorthand for the LaTeX command \nobreakspace.
+\standardtilde To return to the original definition of `~' use this
+ command.
+
+
+\CJKspace
+\CJKnospace Switch from CJK to CJK* `mode' (\CJKnospace) or
+ vice versa (\CJKspace).
+
+
+\CJKverbatim If the `verbatim' package is loaded it is possible
+ to improve the output automatically, namely, to
+ avoid breaking of overfull lines in a verbatim
+ environment. This command installs a hook to
+ suppress insertion of glue between CJK and Thai
+ glyphs.
+
+
+\CJKhanja
+\CJKhangul \CJKhanja deactivates the use of C61 font encoding
+ for hangul characters: All fonts used have C60 font
+ encoding. \CJKhangul is the opposite command. The
+ default is C61 for hangul.
+
+ Archaic hangul elements (KS 0xA4D5-0xA4FE) and the
+ character KS 0xA4D4 are only accessible if \CJKhanja
+ is active.
+
+ Both commands act globally if the `global' option is
+ set.
+
+ These commands make sense outside of a CJK
+ environment.
+
+
+\CJKhwkatakana
+\CJKnohwkatakana \CJKnohwkatakana deactivates the use of the C49
+ font encoding and maps half-width katakana
+ characters to full-width glyphs instead.
+ \CJKhwkatakana (the default) is the opposite
+ command.
+
+ Both commands act globally if the `global' option is
+ set; they have only effect for SJIS input encoding.
+
+ These commands make sense outside of a CJK
+ environment.
+
+
+\CJKtolerance If you get overfull \hbox'es caused by KS
+ characters, try to increase \CJKtolerance. The
+ default definition is
+
+ \newcommand{\CJKtolerance}{400} .
+
+ Increasing \emergencystretch may help also.
+
+ This command makes sense outside of a CJK
+ environment.
+
+
+\CJKuppercase If Big 5, SJIS, Bg5+, or GBK characters are used
+ non-preprocessed, the LaTeX command \MakeUppercase
+ is disabled (otherwise wrong CJK characters would be
+ selected). In the unlikely case that you really need
+ \MakeUppercase, use \CJKuppercase instead.
+
+ This restriction does not exist for preprocessed CJK
+ files, i.e., files processed with Bg5conv, SJISconv,
+ CEF5conv, CEFSconv, extconv, or cjk-enc.el, thus
+ \CJKuppercase is not defined in these cases.
+
+ \CJKuppercase acts globally if the `global' option
+ is set.
+
+
+\begin{Bg5text}
+...
+/end(Bg5text)
+
+\begin{SJIStext}
+...
+/end(SJIStext) Enable the use of Big 5/SJIS encoded characters
+ which contain `\', `{', and `}' as second bytes. See
+ CJK.txt for a complete discussion. You need these
+ environments only in rare cases where
+ bg5conv/sjisconv or cjk-enc.el can't be used.
+
+\begin{Bg5+text}
+...
+/end(Bg5+text)
+
+\begin{GBKtext}
+...
+/end(GBKtext) Enable the use of Big 5+/GBK encoded characters
+ which contain `\', `{', and `}' as second bytes. See
+ CJK.txt for a complete discussion. You need these
+ environments only in rare cases where extconv can't
+ be used.
+
+
+\Unicode{<byte1>}{<byte2>}
+\Unicode{<byte1><byte2>}{<byte3>}
+ Insert a Unicode character literally. <byte1>,
+ <byte2>, and <byte3> are the first, second, and
+ third byte of the Unicode character. You can use
+ decimal, hexadecimal, or octal notation. This
+ command can only be used within UTF 8 encoding. In
+ all other encodings you must say
+ \CJKchar[UTF8]{<byte1>}{<byte2>} or
+ \CJKchar[UTF8]{<byte1><byte2>}{<byte3>} instead.
+
+
+ Examples:
+
+ \Unicode{"23}{"45}
+ \Unicode{"25E}{"9A}
+
+\CJKCJKchar
+\CJKhangulchar
+\CJKlatinchar These commands control the handling of
+ intercharacter glue. Only defined for UTF8 encoding.
+ \CJKCJKchar selects CJK style (using \CJKglue),
+ \CJKhangulchar selects hangul style (using
+ \CJKtolerance) and \CJKlatinchar uses none. Default
+ is \CJKCJKchar.
+
+ Only 3-byte UTF-8 encoded characters (i.e., Unicode
+ characters in the range 0x800-0xFFFF) are affected;
+ two-byte encoded characters is handled as ordinary
+ characters (i.e., as if \CJKlatinchar were set).
+
+
+\CJKbold
+\CJKnormal These commands set and unset the \ifCJK@bold@ flag.
+ If set, boldface is emulated.
+
+ Both commands are intended to appear in
+ \DeclareFontShape commands only (usually in FD
+ files); see fonts.txt for further details.
+
+
+\CJKsymbol The CJK package uses this command instead of \symbol
+ to print a CJK character; it honours the
+ \ifCJK@bold@ flag: if set, boldface is emulated by
+ printing the character three times with slight
+ horizontal offsets. There should be hardly a reason
+ to ever use this command explicitly.
+\CJKsymbols A similar command specific to HLaTeX font support.
+ It takes two characters which are then mapped to the
+ final glyph using TeX's ligature mechanism.
+
+
+\CJKboldshift The horizontal shift used for imitating bold fonts.
+ Redefine this macro if the default value of 0.015em
+ is not satisfying.
+
+ These commands make sense outside of a CJK
+ environment.
+
+
+\CJKaddEncHook{<encoding>}{<body>}
+ This macro is primarily intended for packages. Use
+ it to append the code in <body> to a hook for
+ <encoding> which is executed each time <encoding> is
+ selected. For an example see CJKnumb.sty .
+
+
+---End of commands.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/dvidrv.txt b/Master/texmf-dist/doc/latex/cjk/doc/dvidrv.txt
new file mode 100644
index 00000000000..d655b3a1a53
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/dvidrv.txt
@@ -0,0 +1,56 @@
+Using dvidrv.btm [emTeX for DOS and OS/2]
+-------------------------------------------
+
+This batch file does the same as mktexpk does; it is a replacement for
+dvidrv.exe of emTeX which can handle ttf2pk, hbf2gf, and ps2pk additionally
+(the ps2pk part is untested yet; it uses ps2pkmfj of the 4allTeX
+distribution and was basically copied from a similar script, also part of
+4allTeX).
+
+First of all, create and install a set of TFM files as described in the
+INSTALL file.
+
+Then configure the following variables in dvidrv.btm:
+
+ ps2pk ... set it to `yes' if you want to use this program
+ ttf2pk ... ditto
+ hbf2gf ... ditto
+
+ pkdir ... the place where PK files created by ps2pk, ttf2pk,
+ or hbf2gf should go to. dvidrv.btm adds
+ `\modeless\XXXdpi' or `\modeless\dpiXXX' to this
+ string (depending on the variables `pre_dpi' and
+ `post_dpi')
+
+ ttfonts ... where the TrueType fonts files reside
+ ttfcfg ... where the auxiliary data files of ttf2pk reside
+
+ hbfonts ... where the HBF files reside
+ hbfcfg ... the place where the hbf2gf configuration files are
+
+The last four variables in the above list support trailing `!' and `!!' for
+recursive directory searching (see the file dvidrv.doc of the emTeX package
+for details).
+
+Alternatively, you can set these variables in the environment; please note
+that no spaces are allowed before and after the equal sign, e.g.,
+
+ set foo=bar
+
+is OK, but
+
+ set foo = bar
+
+fails.
+
+Rename dvidrv.exe to dvidrv.ori or something similar and copy dvidrv.btm to
+a directory in the path.
+
+Don't forget to update the DVIDRVFONTS and TEXTFM environment variables if
+necessary.
+
+Under OS/2 dvips calls mfjob or hbf2gf itself; under DOS it creates a batch
+file which must be called afterwards.
+
+
+--- end of dvidrv.txt ---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/fdxfiles.txt b/Master/texmf-dist/doc/latex/cjk/doc/fdxfiles.txt
new file mode 100644
index 00000000000..0a74096d597
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/fdxfiles.txt
@@ -0,0 +1,111 @@
+This is the file fdxfiles.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+
+Extended font definition files
+==============================
+
+The CJK package modifies LaTeX's font loading mechanism to input an extended
+font definition file (with suffix `.fdx') immediately after a normal font
+definition file (with suffix `.fd') has been loaded. A `.fdx' file is
+optional. Here a list of useful commands---note that neither whitespace nor
+linebreaks produce output while macros are defined in such files, which is
+quite convenient.
+
+Immediately after selecting the proper subfont for a given input character,
+the CJK package tests whether a macro
+
+ \<encoding>/<family>/<series>/<shape>/<plane>/<code>/<direction>
+
+is defined. If it exists, it is executed instead of calling \CJKsymbol.
+
+For halfwidth katakana, the macro is called
+
+ \<encoding>/<family>/<series>/<shape>/<code>/<direction>
+
+For fonts from HLaTeX the macro is called
+
+ \<encoding>/<family>/<series>/<shape>/<byte1>/<byte2>/<direction>
+
+For UTF-8, only characters in the range 0x800-0x10FFFF execute the test for
+this macro.
+
+<code>, <byte1> and <byte2> are decimal numbers; <direction> is either `v'
+or `h'.
+
+The following commands are intended for `.fdx' files:
+
+o For vertical writing, \CJKvdef should be used to (globally) define the
+ macros described above. It always prepends `<encoding>/<family>/'.
+ Example from c00bsmi.fdx:
+
+ \CJKvdef{m/n/01/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+
+ This defines macro `\C00/bsmi/m/n/01/1/v': If glyph 1 in subfont `01'
+ (`bsmilp01' in this example) should be typeset, it is replaced with
+ glyph 4 from subfont `v' (`bsmilpv').
+
+ \CJKhdef is the equivalent for horizontal writing.
+
+o Another macro is \CJKvlet, performing a global \let. Example (again
+ from c00bsmi.fdx):
+
+ \CJKvlet{bx/n/01/1}{m/n/01/1}
+
+ This makes `\C00/bsmi/bx/n/01/1/v' the same as `\C00/bsmi/m/n/01/1/v'.
+
+ \CJKhlet is the equivalent for horizontal writing.
+
+CJKvert.sty provides additional macros:
+
+o Glyphs which shouldn't be rotated are available with \CJKsymbolsimple.
+ Here an example from c10gbsn.fdx:
+
+ \CJKvdef{m/n/01/17}{\CJKsymbolsimple{17}}
+
+ If glyph 17 in subfont `01' (`gbsnlp01') is requested, it is replaced
+ with itself but unrotated.
+
+o Some correction parameters are available to position glyphs of a given
+ font (i.e., all subfonts) while \CJKvert is active.
+
+ \CJKvdef{norotate}{}
+
+ The default of CJKvert.sty is to rotate all glyphs using the graphicx
+ package. If `norotate' is present in a `.fdx' file, glyphs accessed
+ with \CJKsymbol are not rotated. `fullheight', `height' and `offset'
+ are used only if `norotate' is not set.
+
+ \CJKvdef{fullheight}{<dimension>}
+
+ If defined, it sets the full height (height plus depth) of all CJK
+ glyphs accessed with \CJKsymbol to <dimension>. In most cases this
+ value is 1em.
+
+ \CJKvdef{height}{<dimension>}
+
+ If defined, it defines the height of all CJK glyphs accessed with
+ \CJKsymbol. Consequently, the depth is set to `fullheight - height'.
+ For example, the AFM file for `bsmilp01' gives 879 PS units for the
+ `Ascender' value. Since 1em is 1000 PS units, a proper value for
+ the `height' parameter is 0.88em.
+
+ \CJKvdef{offset}{<dimension>}
+
+ If defined, shift the (rotated) glyphs accessed with \CJKsymbol
+ vertically by <dimension>.
+
+ \CJKvdef{simpleoffset}{<dimension>}
+
+ If defined, shift all glyphs accessed with \CJKsymbolsimple vertically
+ by <dimension>.
+
+o The `offset' parameter is available to position glyphs of a given
+ font (i.e., all subfonts) while \CJKhorz is active.
+
+ \CJKhdef{offset}{<dimension>}
+
+ If defined (and \CJKhorz being active), shift the glyphs accessed
+ with \CJKsymbol vertically by <dimension>.
+
+---End of fdxfiles.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/fonts.txt b/Master/texmf-dist/doc/latex/cjk/doc/fonts.txt
new file mode 100644
index 00000000000..425866ffe69
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/fonts.txt
@@ -0,0 +1,311 @@
+This is the file fonts.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+The fonts
+---------
+
+This file describes how to set up CJK fonts inside of LaTeX 2e. For a
+description how to install TrueType or bitmap fonts please refer to the
+INSTALL file.
+
+
+CJK.sty uses NFSS (New Font Selection Scheme, part of LaTeX 2e) which has
+some advantages over the font selection offered with pmC (for plain TeX and
+LaTeX 2.09):
+
+ o TeX fonts are loaded only on demand. This is especially useful with
+ Asian logographs. If you have e.g., three Chinese characters in your
+ text, pmC must load the whole Chinese font (about 85 TeX subfonts),
+ whereas LaTeX 2e loads only three subfonts normally.
+
+ o As long as the limit of 256 TeX fonts is not exceeded, you can use
+ as many CJK fonts as you like (e.g., simplified and traditional
+ Chinese characters together with Japanese fonts in different sizes)
+ ---pmC is limited to two sizes and can only have two CJK fonts at
+ the same time.
+
+ In the web2c TeX package (for Unix) you find a patch which allows
+ the use of more than 256 TeX fonts (up to about 1000; this is a
+ standard feature of web2c 7.2 and newer versions).
+
+ Omega can use up to approx. 65000 fonts.
+
+ o You need not care about the right size of CJK fonts in footnotes,
+ etc. They obey the NFSS (except encoding).
+
+ Of course you must have access to CJK fonts.
+
+ . Use pdftex and dvipdfmx which can handle TrueType fonts directly.
+ It is very easy to set up dvipdfmx for handling CJK subfonts; with
+ pdftex this is more complicated. See the file doc/pdf/HOWTO.txt
+ for more information.
+
+ . Use fontforge to convert TrueType fonts to PS subfonts. Such
+ subfonts work with virtually all dvi drivers. The directory
+ utils/subfonts contain some scripts which help in the conversion
+ process.
+
+ . Use hbf2gf for HBF pixel fonts to convert them to TFM and PK
+ fonts.
+
+ . Use ttf2pk (and ttf2tfm) to convert TrueType fonts to TFM and PK
+ fonts.
+
+If you chose one font per active character as with the pmC macros, you would
+waste character space (256 characters per font are possible starting with
+TeX 3). Therefore CJK.sty expects the whole CJK font split in TeX subfonts
+with 256 characters each.
+
+An example:
+
+ GuoBiao-encoded simplified characters in song style at 12pt:
+ ^ ^ ^^ ^^
+
+ first byte second byte TeX subfont offset
+ -----------------------------------------------
+ 0xA1 0xA1-0xFE gsso1201 0
+ 0xA2 0xA1-0xFE gsso1201 94
+ 0xA3 0xA1-0xE4 gsso1201 188
+ 0xA3 0xE5-0xFE gsso1202 0
+ 0xA4 0xA1-0xFE gsso1202 26
+ 0xA5 0xA1-0xFE gsso1202 120
+ .
+ .
+ .
+ 0xFE 0xA1-0xFE gsso1235 38
+
+
+To convert bitmap fonts to PK files with hbf2gf, you must get the
+appropriate HBF (Hanzi Bitmap Font) header files or create if you can't find
+the right one; these HBF files document CJK fonts completely.
+
+The HBF specification can be found here:
+
+ http://www.ibiblio.org/pub/packages/ccic/software/info/HBF-1.1/
+
+Various bitmap fonts together with HBF header files are collected here:
+
+ http://www.ibiblio.org/pub/packages/ccic/software/fonts/
+
+
+The font definition files
+-------------------------
+
+CJK fonts can be installed as easy as normal TeX fonts! (Well, probably this
+is the first time you have to install a font for TeX---I strongly recommend
+that you process and read the `fntguide' documentation which is part of the
+LaTeX 2e base package. There you can also find a description of size
+commands.)
+
+CJK.sty defines six new size commands:
+
+ `CJK' corresponds to `' (empty)
+ `sCJK' corresponds to `s'
+ `CJKfixed' corresponds to `fixed'
+ `sCJKfixed' corresponds to `sfixed'
+ `CJKsub' corresponds to `sub'
+ `CJKssub' corresponds to `ssub' .
+
+For dnp fonts (i.e., real dnp fonts and Watanabe dnp fonts) and Watanabe
+jfonts (which both use the same font encoding scheme) two additional
+commands are provided:
+
+ `DNP' corresponds to `' (empty)
+ `DNPgen' corresponds tp `gen' .
+
+Note that PS Wadalab fonts don't use these size functions (but are still in
+DNP font order).
+
+For poor-man's boldface these size commands have been defined:
+
+ `CJKb', `sCJKb', `CJKfixedb', `sCJKfixedb', `DNPb', `DNPgenb' .
+
+They are completely identical to its counterparts without the final `b'. The
+only reason to use them is to make the fifth parameter of \DeclareFontShape
+for bold series different from the one for medium series (LaTeX2e uses this
+parameter as a macro name to execute loading-settings, thus they must not be
+equal).
+
+The difference between the size functions just introduced and the original
+commands defined by LaTeX 2e is that a CJK size function defines a class of
+fonts: if you say as an example
+
+ \DeclareFontShape{C00}{song}{m}{n}{<6> <7> <8> sCJKfixed * b5so07}{} ,
+
+LaTeX 2e searches for fonts named b5so0701 - b5so0755 if the font size is 6,
+7, or 8 pt; with other words, the CJK size functions append two digits to
+the font name to select the proper subfonts. These digits are defined in the
+`\CJK@...Encoding' macros; the macro \CJK@plane holds the current value (in
+pmC compatibility mode and for UTF8 encoding, \CJK@plane holds hexadecimal
+numbers; see JISdnp.enc for the dnp subfont names which are again
+different).
+
+Here a more detailed example:
+
+ \DeclareFontFamily{C10}{fs}{}
+
+ \DeclareFontShape{C10}{fs}{m}{n}{<-> CJK * gsfs14}{}
+ \DeclareFontShape{C10}{fs}{bx}{n}{<-> CJKb * gsfs14}{\CJKbold}
+
+This defines a GB encoded font (LaTeX font encoding `C10') which has
+fangsong shape (fs) in medium series (m) and emulated bold extended (bx)
+series. The names of the subfonts are gsfs1401 - gsfs1432; all sizes are
+available. (This is actually a font definition for a bitmap font which
+corresponds to a size of 14pt if the printer resolution were 300 dpi; hbf2gf
+magnifies it to any desired size.)
+
+The corresponding CJK environment would be
+
+ \begin{CJK*}{GB}{fs}
+ ...
+ \end{CJK*} .
+
+To be consistent with the CJK package it is recommended that for each font
+shape `m' and `bx' series are defined (some PS font styles from PSNFSS
+define `b' instead of `bx'; in this case you should add a font substitution
+entry in the FD file). The default CJK FD files define a `song' shape for
+each encoding except for KS so that
+
+ \begin{CJK*}{your-encoding}{}
+ ...
+ \end{CJK*}
+
+works (note the empty last parameter). See below for an additional reason.
+
+Here a table of the CJK (font) encodings and the corresponding NFSS font
+encodings.
+
+ Chinese: Bg5 C00
+ Bg5pmC C01
+ Bg5+ C09
+
+ GB C10
+ GBpmC C11
+ GBK C19
+
+ GBt C20
+ GBtpmC C21
+
+ CNS1-7 C31-37
+
+ Japanese: JIS C40
+ JISpmC C41
+ JISdnp C42
+ JISwn C43
+
+ JIS2 C50
+ JIS2dnp C52
+
+ SJIS -> kana C49 (additionally)
+
+ Korean: KS -> hanja C60
+ -> hangul C61
+ KSpmC C62
+ KSHL -> hangulHL C63
+ -> symbolHL C64
+ -> hanjaHL C65
+
+ Unicode: UTF8 C70
+
+ CEF: CEFX C80
+ CEFY C81
+
+ [Thai: C90]
+
+
+Some remarks:
+
+ o An NFSS font encoding for the CJK package consists of the letter `C'
+ followed by two digits; the first represents the CJK (input)
+ encoding, the second the CJK font encoding. Some CJK encodings need
+ more than one NFSS encoding to fully represent all characters.
+
+ Note: Since LaTeX version 1996/12/01, the name of an FD file
+ consists only of lowercase letters, e.g., c00fs.fd.
+
+ o You can't use the NFSS encodings (as defined above) directly! You
+ should always use the CJK interface (the exception is Thai; please
+ read cjk-enc.txt and thaifont.txt for details).
+
+ o According to the NFSS rules the family name must not be longer than
+ five characters. In early versions of CJK the family `fangsong' was
+ used. This is no longer allowed and has been replaced with `fs'.
+
+ This restriction is mainly for ancient operating systems like MS-DOS
+ which are limited to 8.3 filenames; today, there is no reason any
+ more to artificially shorten the family name.
+
+ o If you declare an NFSS font encoding in the standard way the
+ corresponding FD file for the default font is loaded. Since a font
+ encoding can be defined only in the preamble, all CJK font encodings
+ must be registered before the document starts even if you use only
+ one or two encodings. For the CJK package this would cause the
+ loading of almost 30 font definition files (see the table above)
+ which is inacceptable.
+
+ To avoid this overhead NFSS is faked with some rudimentary
+ definitions just enough to pass the NFSS tests of LaTeX 2e. Of
+ course this has a disadvantage: an unknown CJK family causes an
+ error instead of switching to the fallback family usually defined
+ with \DeclareFontSubstitution. Nevertheless, replacing an undefined
+ series or shape works correctly.
+
+
+Setting up cyberbit.ttf for UTF-8 encoding
+------------------------------------------
+
+Note 1: I strongly discourage the use of this font, especially for CJKV
+ scripts. The main reason is that correct glyph shapes depend on the
+ language; this means that a glyph representation form for a given
+ Unicode value looks differently in Japanese, Korean, and Chinese (a
+ famous example is character U+9038). Cyberbit doesn't provide such
+ different glyph shapes.
+
+Note 2: The following describes a setup for dvipdfmx only. Furthermore, it
+ assumes a recent TeXLive installation.
+
+
+1. Copy cyberbit.ttf to your local TeXLive tree; a proper location is
+
+ <TeXLive>/texmf-local/fonts/truetype/cyberbit/
+
+ (on e.g. Windows) or
+
+ ~/texmf/fonts/truetype/cyberbit/
+
+ (on e.g. GNU/Linux) or something similar. <TeXLive> indicates the root
+ directory of TeXLive's texmf tree, for example C:\TeXLive2007 or
+ /usr/local/texlive2007.
+
+2. In the file <TeXLive>/texmf/fonts/map/dvipdfm/dvipdfmx/cid-x.map there is
+ already an entry for cyberbit.ttf. Remove the comment character in front
+ of the line.
+
+3. Change to an empty directory and create TFM files with the following call
+ on the command line:
+
+ ttf2tfm cyberbit.ttf -q cyberb@Unicode@
+
+4. Move all resulting TFM files to
+
+ <TeXLive>/texmf-local/fonts/bitstrea/cyberb/
+
+ or
+
+ ~/texmf/fonts/bitstrea/cyberb
+
+ or something similar.
+
+5. Say
+
+ mktexlsr
+
+ on the command line to regenerate TeXLive's file name database.
+
+
+That's it. Within the CJK package, the font can be activated with
+
+ \begin{CJK}{UTF8}{song}
+
+
+---End of fonts.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/hbf2gf.txt b/Master/texmf-dist/doc/latex/cjk/doc/hbf2gf.txt
new file mode 100644
index 00000000000..b802c824545
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/hbf2gf.txt
@@ -0,0 +1,384 @@
+This is the file hbf2gf.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+Using hbf2gf
+-------------
+
+hbf2gf converts CJK bitmaps with an HBF header file into GF files.
+
+Additional documentation can be found in the man page utils/hbf2gf/hbf2gf.1
+(pre-formatted versions of this document can be found in the `cjk-doc'
+bundle of CJK).
+
+
+Syntax:
+
+ hbf2gf [-q] configuration_file[.cfg]
+ hbf2gf [options] subfont_name x_resolution [y_scale | y_resolution]
+ hbf2gf -t [-q] font_name
+ hbf2gf --version | --help
+
+Options:
+ -q make hbf2gf quiet
+ -p don't create a PL file
+ -g don't create a GF file
+ -n use no resolution in extension (only `.gf')
+ -t test for font_name (returns 0 on success)
+
+
+Keywords in the configuration file must start a line, the appropriate values
+being on the same line separated with one or more blanks or tabs.
+Environment variables names start with `$'; to get a dollar sign you must
+type `$$'.
+
+The expansion of environment variables in hbf2gf itself (without the help of
+the kpathsea library) is very limited; this feature has been carried over
+from previous versions. It can't expand variables set in texmf.cnf; it also
+can't handle more than one directory as the variable's value. Don't use it
+except for the `pk_directory' and `tfm_directory' parameters!
+
+Here is an example configuration file gsfs14.cfg (please refer to hbf2gf.1
+and hbf2gf.dvi for a description of the keywords) to be run under OS/2:
+
+hbf_header jfs56.hbf
+mag_x 1
+design_size 14.4
+
+y_offset -13
+comment jianti fansongti 56x56 pixel font scaled and adapted to 14.4pt
+
+nmb_files -1
+tfm_files yes
+
+output_name gsfs14
+
+checksum 123456789
+
+dpi_x 300
+
+coding codingscheme GB 2312-80 encoded TeX text
+
+pk_directory $HBF_TARGET\pixel.lj\432dpi\
+tfm_directory $HBF_TARGET\tfm\
+
+rm_command del
+cp_command copy
+long_extension off
+job_extension .cmd
+
+
+Installation of a complete set of subfonts
+------------------------------------------
+
+Here are the results of a sample run of the above configuration file
+(assuming that the environment variable %HBF_TARGET% points to d:\china):
+
+ input files: jfs56.a - jfs56.e, jfs56.hbf
+
+ program call: hbf2gf gsfs14.cfg
+
+ intermediate files: gsfs14.cmd, gsfs1401.gf - gsfs1432.gf, gsfs14.pl
+
+ batch file call: gsfs14.cmd
+
+ output files: d:\china\pixel.lj\432dpi\gsfs1401.pk - gsfs1432.pk,
+ d:\china\tfm\gsfs1401.tfm - gsfs1432.tfm
+
+
+[gsfs: GuoBiao simple encoded FanSong style
+ ^ ^ ^ ^
+It's hard to overcome the DOS restriction of 8 characters in a file name if
+you need two characters as a running number...]
+
+
+Using MakeTeXPK or mktexpk
+--------------------------
+
+*****************************************************************************
+* *
+* For teTeX >=1.0 and web2c >= 7.3.1, no patches are necessary for either *
+* mktexpk or mktextfm. *
+* *
+*****************************************************************************
+
+The simpler way to create PK fonts is to apply the patches in the
+utils/hbf2gf/scripts directory. In case you can't become root make sure that
+the patched file is found in the path *before* the original MakeTeXPK (or
+mktexpk) script.
+
+First of all, move the HBF files together with the bitmap font files to its
+final destination which has to be added to the variables $MISCFONTS
+(kpathsea version >= 3.3), or $T1FONTS (kpathsea > 2.6), or $DVIPSHEADERS
+(kpathsea <= 2.6), which can be either modified in texmf.cnf or set in the
+environment (please read the kpathsea info files how to do that). Now do the
+same with all `.cfg' files; the corresponding configuration variable is
+$HBF2GFINPUTS (kpathsea >= 3.2) or $TEXCONFIG (kpathsea < 3.2).
+
+Then, create a set of TFM files for the specified CJK bitmap font. This
+should be done with the hbf2gf configuration parameters `tfm_files yes' and
+`pk_files no' (to be modified in the `.cfg' files; see hbf2gf.dvi for a
+detailed description of all needed keywords). After calling the produced
+shell script the TFM files are installed. Note that if you change any hbf2gf
+parameters which alter the appearance of the font (the metrics, to be more
+exact) you must repeat this step so that TFM and PK files fit together.
+
+The previous step can be omitted in case you patch MakeTeXTFM or mktextfm
+too so that TFM files can be created on-the-fly.
+
+Please note further that in case you write a new hbf2gf configuration file,
+the name of that file must be the name stem of the CJK subfont (as defined
+in the appropriate FD file and the hbf2gf configuration file) plus `.cfg':
+
+ Example:
+
+ searched: gsfs1021.pk
+ configuration file: gsfs10.cfg
+
+The final step for web2c 6.x or teTeX 0.4 is to edit texmf.cnf (the kpathsea
+configuration file, usually in /usr/local/lib/texmf/web2c) and change the
+two variables
+
+ $PKFONTS.xdvi
+ $PKFONTS
+
+by appending
+
+ :$pkdir/hbf2gf
+
+to define an own `mode' for hbf2gf, similar to the modes `cx', `ljfour',
+etc. The TeX Directory Structure (TDS) standard suggests `modeless' for this
+name which is already defined in teTeX 1.0 and web2c 7.x.
+
+Example:
+
+ PKFONTS.xdvi=.:$pkdir/$MAKETEX_MODE:$pkdir/gsftopk:
+ $pkdir/ps2pk:$pkdir/hbf2gf
+ PKFONTS=.:$TEXMF/fonts//pk/$MAKETEX_MODE:$pkdir/hbf2gf
+
+The line break above is given for convenience only and should not appear
+in the texmf.cnf file (no space before and after the `:').
+
+[If you cannot become root, copy texmf.cnf into your home directory and do
+the modifications there; make sure that your personal config file is found
+in the search path first since web2c uses the first definition of each
+variable encountered.]
+
+If you use hbf2gf with two parameters (as in MakeTeXPK), only one GF file
+and one PL file is produced, and no batch file is created; the `pk_files'
+parameter is ignored. You can control with the switches -g and -p whether a
+GF or PL file is created at all.
+
+
+Using dvidrv.btm [emTeX for DOS and OS/2]
+-------------------------------------------
+
+This batch file does the same as MakeTeXPK and mktexpk; it is a replacement
+for dvidrv.exe of emTeX which can handle ttf2pk, hbf2gf, and ps2pk
+additionally (the ps2pk part is untested yet; it uses ps2pkmfj of the
+4allTeX distribution and was basically copied from a similar script, also
+part of 4allTeX).
+
+First of all, create and install a set of TFM files as described in the
+previous section.
+
+Then configure the following variables in dvidrv.btm:
+
+ ps2pk ... set it to `yes' if you want to use this program
+ ttf2pk ... ditto
+ hbf2gf ... ditto
+
+ pkdir ... the place where PK files created by ps2pk, ttf2pk,
+ or hbf2gf should go to. dvidrv.btm adds
+ `\modeless\XXXdpi' resp. `\modeless\dpiXXX' to this
+ string (depending on the variables `pre_dpi' and
+ `post_dpi')
+
+ ttfonts ... where the TrueType fonts files reside
+ ttfcfg ... where the auxiliary data files of ttf2pk reside
+
+ hbfonts ... where the HBF files reside
+ hbfcfg ... the place where the hbf2gf configuration files are
+
+The last four variables in the above list support trailing `!' and `!!' for
+recursive directory searching (see the dvidrv.doc of the emTeX package for
+details).
+
+Alternatively, you can set these variables in the environment; please note
+that no spaces are allowed before and after the equal sign, e.g.,
+
+ set foo=bar
+
+is OK, but
+
+ set foo = bar
+
+fails.
+
+Rename dvidrv.exe to dvidrv.ori or something similar and copy dvidrv.btm to
+a directory in the path.
+
+Don't forget to update the DVIDRVFONTS and TEXTFM environment variables if
+necessary.
+
+Under OS/2 dvips calls mfjob or hbf2gf itself; under DOS it creates a batch
+file which must be called afterwards.
+
+
+Adjusting the font parameters
+-----------------------------
+
+It is possible to convert bitmap fonts to PK files almost automatically. The
+HBF header file already has the entry `HBF_BITMAP_BOUNDING_BOX' which
+defines vertical and horizontal offsets (in pixels), but these values are
+not in all cases optimal for the desired target size. If you omit `x_offset'
+and `y_offset' in the CFG file, the third and fourth parameter of
+`HBF_BITMAP_BOUNDING_BOX' is used (except for rotated glyphs), scaled to
+design size (to say it with other words: x_offset and y_offset always apply
+to the design size to be synchronous with the TFM files).
+
+Don't confuse scaling and magnification: Scaling here means that you choose
+a (arbitrary) design size and compute scaling values (mag_x and mag_y; the
+parameter names are a bit misleading) which scales the bitmap to this
+particular design size at a certain (arbitrarily chosen) resolution (dpi_x
+and dpi_y). Magnification means that the scaled bitmap is then magnified to
+a certain target size while still using the font parameters (i.e., TFM file)
+of the design size.
+
+In the sample, you have a 56x56 bitmap font which is scaled to 14.4pt having
+a resolution of 300 dpi; here we compute the theoretical scaling value to
+reach the design size (14.4pt):
+
+ 1 pt are 300 / 72.27 = 4.1511 pixel;
+ 14.4 pt are 4.1511 x 14.4 = 59.78 pixel;
+ thus the theoretical magnification value is 59.78 / 56 = 1.0675 .
+
+But especially for small sizes, this may be not the best value if the font
+should harmonize with, say, Knuth's Computer Modern fonts. I recommend to to
+compute, say, five PK fonts, then check the CJK font with different TeX
+fonts to see whether the offsets and/or the magnification value is good. The
+greater the design size the finer you can control the offsets---as an
+example you could use a design size of 30pt (nevertheless there is an
+arbitrary compile-time constant MAX_CHAR_SIZE which limits the maximal
+character size; default is 1023 pixels).
+
+Testing has shown that in the above example a magnification value of 1 is
+better than 1.07; additionally if you use this font at 14.4pt you get the
+original bitmap without any distortions introduced by scaling.
+
+If you have found optimal offsets, you can produce many different
+magnifications of the CJK font using the same set of TFM files in analogy to
+ordinary TeX fonts; as a simplification, we assume that PK files with a
+resolution of XXXdpi and a design size of 10pt have the extension `.XXXpk'
+(respectively come into a `XXXdpi' subdirectory)---this is the reason why in
+the above example for the 14.4pt design size with 300dpi a `432dpi' target
+directory has been used. Now we can use the following formula:
+
+ your_target_size
+ needed_dpi = your_horizontal_resolution * ----------------
+ 10.0
+
+Example: Assuming that your printer has a resolution of 300 x 400dpi,
+and you want 14.4pt:
+
+ 14.4
+ 300 * ---- = 432
+ 10.0
+
+The vertical scaling value is 400 / 300 = 1.3333. Use these values now to
+call hbf2gf in METAFONT--like mode:
+
+ hbf2gf hbf2gf.cfg 432 1.3333
+
+Assuming you have created a complete set of hanja fonts (ksmj10) for 10pt
+design size, the proper entry in c60mj.fd would be
+
+ \DeclareFontShape{C60}{mj}{m}{n}{<5><6><7><8><9><10>
+ <10.95><12><14.4>
+ <17.28><20.74><24.88> CJK * ksmj10}{}
+
+If you use the (modified) mktexpk to create PK fonts on demand it is
+sufficient to write
+
+ \DeclareFontShape{C60}{mj}{m}{n}{<-> CJK * ksmj10}{}
+
+if one CJK bitmap font should cover the whole size range.
+
+
+Compiling hbf2gf
+----------------
+
+You need an ANSI C compiler.
+
+Under Unix-like systems say
+
+ ./configure --prefix=/usr/local/TeX \
+ --with-kpathsea-include=<INCLUDEDIR> \
+ --with-kpathsea-lib=<LIBDIR>
+ make
+ make install
+
+for a normal compilation and installation. Replace `/usr/local/TeX' with a
+path to your TeX distribution.
+
+[Note 1:
+ Try to find `libkpathsea.*' on your system. Use this directory as the
+ argument for --with-kpathsea-lib. Then try to find `kpathsea/tex-file.h'
+ and use the parent directory of kpathsea as the argument for
+ --with-kpathsea-include. This should work in most cases. If you can't find
+ the library, you probably have a web2c package with statically linked
+ binaries. This means that you have to get the web2c sources from CTAN,
+ configure it with something like
+
+ ./configure --prefix=/usr/local/TeX --datadir=/usr/local/TeX \
+ --enable-shared --disable-static
+
+ according to your setup; then change to the kpathsea directory and say
+ `make' and `make install' (Do the latter with caution not to overwrite
+ original binaries like kpsewhich).
+
+ It even works with the source tree from the TeX Live CD! You just have
+ to add a proper --srcdir option to the configure script.
+
+ Note 2:
+ It seems that c-auto.h created during the kpathsea library compiling
+ process won't be installed for some older web2c versions. You should add
+ it manually, i.e., copy <web2c source tree>/kpathsea/c-auto.h to the
+ location where the other kpathsea header files have been installed.
+
+ Note 3:
+ As a last resort or for testing purposes, you can even compile hbf2gf
+ without any search library; a simple call to fopen() is used instead.]
+
+
+
+Use Makefile.gnu for emx + GNU make and say
+
+ make -f Makefile.gnu
+
+to get a help screen with the possible options.
+
+[Note: It should work with djgpp too, but I haven't tested this.]
+
+
+If necessary, `touch' hbf2gf.c (in case you don't have ctangle) to made the
+time stamp of the file more recent; otherwise, the `make' program complains.
+
+Under some older SunOS versions, gcc (without the GNU C-library) has
+problems; if possible, install the GNU C-library. Otherwise you get a bunch
+of warning messages about missing prototypes which can be ignored. The only
+missing function is strtoul(). If your system has gdb or some other GNU
+utils, you are almost done. Search for the libiberty.a library (usually in
+/usr/local/lib), copy it into the hbf2gf subdir and link it with the other
+modules:
+
+ LDFLAGS=-liberty ./configure ...
+
+If you don't have libiberty, replace strtoul() with strtol() in the hbf2gf.w
+(or hbf2gf.c) file.
+
+It was reported that on the NeXT an older version of gcc has difficulties to
+process the '%i' printf parameter correctly; simply replace all occurrences
+with '%d' (most notably in hbf.c).
+
+
+---End of hbf2gf.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/history.2_5 b/Master/texmf-dist/doc/latex/cjk/doc/history.2_5
new file mode 100644
index 00000000000..377dff02ea1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/history.2_5
@@ -0,0 +1,202 @@
+This file is part of the CJK package Ver. 4.8.0 (22-May-2008).
+
+The history of the beta versions of the never released version 2.5 .
+--------------------------------------------------------------------
+
+Changes beta 1 -> beta 2:
+ hbf2gf: faster (search_min_max() removed)
+ feof() seems to be broken under Amiga gcc 2.6.3; replaced with
+ == EOF, etc.
+ some small bug fixes and typos
+ default value of target_size is now design_size (and not 10 pt)
+
+Changes beta 2 -> beta 3:
+ ttf2pk: ttfdir must now be defined only once (in MakeTeXPK/maketexp.btm)
+ ttf2pkl instead of ttf2pk at some places erroneously used
+ an updated (and modified) version of MakeTeXPK is used
+ Makefile under Unix erroneously used FS=MSDOS
+
+Changes beta 3 -> beta 4:
+ ttf2pk: MakeTeXPK couldn't create DC fonts correctly.
+ MakeTeXPK couldn't use already created .pk fonts in some cases;
+ you must now change the PKFONTS and PKFONTS.xdvi variable in
+ the kpathsearch configuration file (texmf.cnf) to add
+ `:$pkdir/ttf2pk'
+ ttf2pk.doc added
+ InstallFont added
+ hbf2gf: all float types changed to double. This makes life easier under
+ Amiga
+ pinyin.sty added
+ \CJKcaption command added
+ some caption files added. Works with the koma-script style files
+ included here (see below). Most of them are not complete now
+ wrong punctuation character offsets in Bg5.chr corrected
+ koma-script style files added. Note: this is only temporary until the
+ next official release of the koma-script package
+
+Changes beta 4 -> beta 5:
+ \CJK@enc replaced with specific encodings where possible
+ SJIS encoding scheme added (SJIS.enc, SJISconv.tex, etc.). Doesn't
+ currently work with CEF.sty
+ new commands \CJKCJK, \CJKhangul, and \CJKlatin for UTF8 encoding
+* handling of intercharacter glue enhanced. Now there is no \CJKglue
+* before and after a block of CJK characters. Note that this is a
+* visually incompatible change to the previous versions of CJK!
+* (see the command \CJKtilde also)
+ koma-script package removed (you should use the latest official release
+ now); caption files updated
+ mule2cjk added
+ \CJKtilde and \standardtilde added
+ MakeTeXPK hard linked into utils/hbf2gf
+
+Changes beta 5 -> beta 6:
+ gmulatex script added
+ \CJKhangul erroneously defined twice: \CJKCJK renamed into \CJKCJKchar,
+ \CJKhangul (in UTF 8 environment) into \CJKhangulchar, \CJKlatin into
+ \CJKlatinchar
+ the `global' option didn't work correctly; many \CJK@global's added
+ new command \CJKencshape to specify shapes on a per encoding base
+ \CJKchar didn't work in preprocessed mode
+ hbf2gf: new keyword `pk_files' (yes/no)
+ new calling mode for use with MakeTeXPK:
+ hbf2gf configuration_file [subfont_number resolution]
+ hbf2gf.cfg renamed to b5so12.cfg (MakeTeXPK needs this name)
+ some .cfg files added
+ other small changes
+ MakeTeXPK: taken from contrib/ttf2pk and enhanced to create CJK .pk
+ files on demand from bitmap files
+ name of the mode subdir changed from `(.../pk/)ttf2pk' to
+ `(.../pk/)CJK'.
+ maketexp.btm: similar changes as for MakeTeXPK; hard linked into
+ utils/hbf2gf
+ makettfp.btm: hard linked into utils/hbf2gf
+ latin-3 and latin-4 added to mule2cjk
+
+Changes beta 6 -> beta 7:
+ according to the newest LaTeX2e release, \MakeUppercase is disabled
+ instead of \uppercase in some cases.
+ a severe bug disabled Korean encoding
+ the encoding switching mechanism was broken; again many \CJK@global's
+ added
+ some commands which should be active only in certain encodings redefined
+ to work with the `global' option (Bg5text environment, \mj, etc.)
+ to use the Japanese DNP fonts, an encoding `JISdnp' and two size
+ functions (`DNP' and `DNPgen') are added
+* a new unifying fontencoding scheme has been introduced:
+* max. 4 characters encoding + max. 3 characters fontencoding
+* examples:
+* JISdnp, JISpmC, etc.
+* this change causes many files to be renamed (e.g.,
+* Uhanja.fd->Uhanj.fd); there is also a bunch of new/redefined functions
+* to support this:
+* \CJKenc
+* \CJKfontenc
+* \CJKshape
+* \CJKencshape
+* CJK and CJK* environment
+* SOME OF THE ABOVE CHANGES ARE NOT COMPATIBLE WITH PREVIOUS VERSIONS!
+ CJK characters in verbatim environments are now treated correctly
+ by mule2cjk. Latin-encodings still don't work there
+ hbf2gf: the collection of configuration files has been harmonized in
+ size
+
+changes beta 7 -> 3.0:
+ the protection mechanism has been completely rewritten. Encoding changes
+ now work in sectioning commands too.
+
+ the pseudo-\if's has been replaced with real if's to avoid problems with
+ nested \if...\else...\fi constructions.
+
+ CNS directory renamed to CEF.
+
+ CEF macros CX, CY and U implemented. Font definition files for CX and CY
+ encodings added.
+
+ CEF now works with SJIS encoding too. CEFSconv added.
+
+ CNS.sty removed. Has been integrated into CJK.sty .
+
+ there are now three internally used active characters:
+ ^^80, ^^A0: used by mule2cjk
+ ^^ff : used by CEFconv and mule2cjk.
+ we need those characters for verbatim environments.
+
+ a new internal level introduced:
+ we now have
+
+ active characters
+ |
+ +--------------> bindings (normal, preprocessed) <- new
+ |
+ active character macros
+ |
+ +--------------> encodings (GB, Bg 5, ...) +
+ | font encodings (none, dnp, pmC)
+ |
+ subfont selecting macros
+ |
+ +--------------> character macro sets (standard, Big 5, ...)
+ |
+ character selecting macros
+
+ all encodings except UTF 8 now work in preprocessed mode too.
+
+ some additional checks whether a loading of a certain binding/encoding/
+ character set is neccessary.
+
+ a new style option has been added: `active'. If activated, bindings are
+ local. Default is still `local' (with global bindings). You need this
+ option if you want to mix preprocessed text with non-preprocessed text
+ in nested CJK environments. This can happen if you merge texts in
+ various encodings.
+
+ the offset for the roma subfont of dnp font encoding was incorrect.
+
+ watanabe (a PD replacement of dnp fonts) font encoding for JIS added.
+
+ \CJKchar has now an optional parameter to select the encoding. You can
+ also use this command with Unicode encoding; additionally you can
+ enter characters with or without the 8th bit set (GL or GR form)
+ except for SJIS, Bg5 and UTF8 encoding.
+
+ two new size functions: `CJKsub' and `CJKssub'. They are similar to
+ `sub' and `ssub' except that the font substitution warnings appear
+ only once per CJK fontset. All .fd files updated.
+
+ MULEenc.sty added. Is loaded automatically after a file has been
+ processed with mule2cjk.
+
+ Latin encodings now work in verbatim environments also.
+
+ switch -g from mule2cjk has been removed. It was never necessary since
+ `"' and `\"' in german.sty select the same macro.
+
+ mule2cjk now inserts LaTeX2e macros (\textexclamdown, \textcent, etc.)
+ analogously to the latin[12].def files of the LaTeX2e distribution
+ (where applicable) for Latin encoded characters.
+
+ the batch file muclatex processes mule encoded files which contain
+ CEF macros.
+
+ Stephen Simpson <simpson@math.psu.edu> contributed a Bg 5 .fd file for
+ NTU TT fonts (ntu2cjk and ttf2pk).
+
+ pinyin.sty didn't work in tabbing environments; the syllable \me was
+ missing; the syllables \Na and \na were wrongly defined (Michael E.
+ Deisher <deisher@enws261.eas.asu.edu>).
+
+ pinyin.sty now accepts DC fonts too.
+
+ all .bat and .cmd files now have LF/CR pairs as newlines.
+
+ .bat and .cmd batch files added for all equivalent script files in the
+ utils directory. It might be useful to replace the TeX-coded
+ preprocessors with this filters since they are faster.
+
+ all .bat and .cmd files call f_name.bat (f_name.cmd) to replace the
+ extension (usually .tex) with .cjk .
+
+ hbf2gf always used 300dpi resolution if used in mf-like mode (Zhang
+ Zhengyou <ZhengYou.Zhang@sophia.inria.fr>).
+
+---End of history.2_5---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/history.txt b/Master/texmf-dist/doc/latex/cjk/doc/history.txt
new file mode 100644
index 00000000000..93ce694ce57
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/history.txt
@@ -0,0 +1,1459 @@
+This file is part of the CJK package Ver. 4.2.0 (13-Dec-1998).
+
+
+History of the CJK package
+==========================
+
+
+Version 1.0: first release.
+01-June-1994
+
+
+Version 1.1: new:
+20-Aug-1994 \CJK@char(x) simplified.
+
+ CJK.txt updated.
+
+ diff.txt added.
+
+
+Version 2.0: new:
+15-Sep-1994 support for Hangul:
+ virtual fonts / tfm files for Hangul standard fonts.
+
+ changed:
+ font selection: modified .fd-files needed:
+ structure of .fd-files much more simplified.
+
+
+Version 2.1: new:
+28-Sep-1994 optional parameters to CJK size functions added.
+
+ sCJK size function added.
+
+ CJK* environment added: spaces after CJK characters are
+ swallowed.
+
+ Utility programs hbf2hbf and hbf2cjk added.
+
+ changed:
+ new Big 5 encoded fonts needed (more compressed)---saves
+ about 13 TeX subfonts per Big 5 encoded font.
+
+ modified example .fd-files .
+
+ errors:
+ Bg5text environment to pmC-Bg5 environment added.
+
+ pmC emulation now uses compatible font names, i.e.,
+ wcb5a1, wcb5a2, etc.
+
+
+Version 2.2: new:
+18-Oct-1994 CJK now supports hangul and hanja together. Two different
+ sets of subfonts are used as defined in Uhangul.fd and
+ Uhanja.fd .
+
+ CJK punctuation characters (fullwidth comma, colon,
+ semicolon, etc.) don't start a line. CJK opening
+ braces, etc., don't end a line.
+
+ \uppercase and \lowercase is now disabled if Big 5
+ encoding is active.
+
+ \lccode's is only reset if the new `lowercase' option is
+ set. This function is so seldom used that I decided to
+ separate it from setting \uccode's. You need less save
+ size if `encapsulated' is used without `lowercase'.
+
+ C source of hbf2cjk replaced with CWEB source.
+ .dvi files of hbf2hbf and hbf2cjk added.
+ C source files of hbf2hbf and hbf2cjk produced by
+ CTANGLE added.
+
+ \CJKtolerance added - this command for Hangul syllables
+ is the pendant to \CJKglue.
+
+ changed:
+ hangul environment renamed to KS.
+
+ modified example .fd-files.
+
+ new Hangul .vf and .tfm files.
+
+ definition of \CJKglue changed.
+
+ HBF API now supports HBF 1.1 (CHARS optional).
+
+ fine-tuning to hbf2cjk added
+ (Sam Chiu <ccc11@cus.cam.ac.uk>).
+
+ errors:
+ CJK* didn't work in sectioning commands
+ (Wu Guangxi <wuxi@unixg.ubc.ca>).
+
+
+Version 2.21: errors:
+25-Oct-1994 CJK* didn't suppress spaces
+(only CJK.sty) (Sam Chiu <ccc11@cus.cam.ac.uk>)
+
+
+Version 2.3: new:
+15-Nov-1994 JIS coding scheme/environment added.
+
+ pmC-KS and pmC-JIS environments added.
+
+ CNS coding scheme added.
+
+ hbf2gf added.
+ This program merges bmf2gf, hbf2cjk, and hbf2hbf; it
+ is about 10 times faster than hbf2cjk.
+ Consequently, hbf2cjk and hbf2hbf were removed.
+
+ changed:
+ only \uppercase disabled (see error).
+
+ \CJK@char, etc., simplified.
+
+ errors:
+ verbatim environments didn't work in Big 5 encoding
+ (Lee Chun-Yu <d791013@ce.ntu.edu.tw>).
+
+
+Version 2.4: new:
+03-Jan-1995 UTF 8 (Unicode) scheme added.
+
+ option `unicode' to hbf2gf added: if `on', a two-digit
+ hexadecimal number is used as a running number
+ starting with the value of the first byte of the first
+ code range.
+
+ Bg5conv.tex added: this is a small preprocessor which
+ converts Big 5 encoded characters `XY' into the form
+ `XZZZ.' . Now you can use Big 5 encoding without the
+ annoying Bg5text environment.
+ Auxiliary files: Bg5pp.enc, pmCsmpp.enc, and
+ bg5latex.bat .
+
+ changed:
+ new versions of emx.exe, emx.dll (ver. 0.9a) and rsx.exe
+ (rel. 5)
+
+ errors:
+ hbf2gf sometimes drew one pixel too much
+ (You Rey-Jer <you@gi4.bauingenieure.uni-stuttgart.de>).
+
+ pmC encodings didn't work
+ (Zhang Zhengyou <Zhengyou.Zhang@sophia.inria.fr>).
+
+ \CJK@charToHex and \CJK@numbToHex could erroneously change
+ page counter (Li Yu-Ray <r82111@ew.ee.ntu.edu.tw>).
+
+
+Version 2.5: never released; 7 beta versions published. See file
+ history.2_5.
+
+
+Version 3.0 there are too many changes to be described here in full
+10-Oct-1995 detail. Please reread the various documentation files and
+ check the file history.2_5 too.
+
+ new:
+ two contributed packages: ntu2cjk and ttf2pk.
+
+ SJIS coding scheme added.
+
+* a new unifying fontencoding scheme has been introduced:
+* max. 4 characters encoding + max. 3 characters
+* fontencoding
+*
+* examples:
+* JISdnp, JISpmC, etc.
+*
+* this change causes many files to be renamed (e.g.,
+* Uhanja.fd->Uhanj.fd); there is also a bunch of new/
+* redefined functions to support this:
+* \CJKenc
+* \CJKfontenc
+* \CJKshape
+* \CJKencshape
+* CJK and CJK* environment
+*
+* SOME OF THE ABOVE CHANGES ARE NOT COMPATIBLE WITH
+* PREVIOUS VERSIONS!
+
+ two fontencodings added: `dnp' for DNP fonts and `wn'
+ for Watanabe fonts.
+
+ four new size functions: `CJKsub', `CJKssub', `DNP', and
+ `DNPgen'.
+
+ \CJKchar has now an optional parameter to select the
+ encoding. You can also use this command with Unicode
+ encoding; additionally you can enter characters with
+ or without the 8th bit set (GL or GR form) except for
+ SJIS, Bg5 and UTF8 encoding.
+
+ a new internal level introduced:
+ we now have
+
+ active characters
+ |
+ +--------------> bindings (normal,
+ | preprocessed) <- new
+ |
+ active character macros
+ |
+ +--------------> encodings (GB, Bg 5, ...) +
+ | font encodings (none, dnp,
+ | pmC)
+ |
+ subfont selecting macros
+ |
+ +--------------> character macro sets
+ | (standard, Big 5, ...)
+ |
+ character selecting macros
+
+ a new style option has been added: `active'. If
+ activated, bindings are local. Default is still
+ `local' (with global bindings). You need this option
+ if you want to mix preprocessed text with
+ non-preprocessed text in nested CJK environments. This
+ can happen if you merge texts in various encodings.
+
+ options `dos' and `dosdebug' to makefiles added for
+ compiling with djgpp.
+
+ new keywords `design_size', `target_size', `tfm_files',
+ and `pk_files' added to hbf2gf. If `tfm_files'
+ (`pk_files') is `no', creation of .tfm-files
+ (.pk-files) is suppressed.
+
+ new calling mode for hbf2gf for use with MakeTeXPK:
+ hbf2gf configuration_file [subfont_number resolution]
+
+ a modified MakeTeXPK (and maketexp.btm) added to process
+ Chinese TrueType fonts (with ttf2pk) and CJK bitmap
+ fonts (with hbf2gf).
+
+ pinyin.sty for writing pinyin syllables with tones.
+
+ \CJKtilde and \standardtilde for embedding ordinary words
+ in CJK text.
+
+ new command \CJKcaption to load a caption file.
+
+ new commands \CJKCJKchar, \CJKhangulchar and
+ \CJKlatinchar added to specify character handling
+ (glue, discretionary). Only for UTF8 encoding needed.
+ Default is \CJKCJKchar.
+
+ various caption files (.cap) added to be used in
+ conjunction with the KOMA-script document classes.
+
+ MULE to CJK converter added.
+
+ changed:
+ the protection scheme has been completely rewritten.
+ Encoding changes now work in sectioning commands too.
+
+ reorganization of source tree.
+
+ all occurrences of utf8 changed to UTF8 including
+ filenames.
+
+ all occurrences of GBs changed to GB including filenames.
+
+* handling of intercharacter glue enhanced. Now there is
+* no \CJKglue before and after a block of CJK
+* characters. Note that this is a visually incompatible
+* change to the previous versions of CJK! (See the
+* command \CJKtilde also.)
+
+ the definition of the CEF encoding has changed; it uses
+ now HTML-macros to identify CNS codes. Various
+ preprocessors has been added to handle these macros.
+
+ CNS.sty removed. Has been integrated into CJK.sty .
+
+ if only one of the keywords `dpi_x' or `dpi_y' is given
+ in the hbf2gf config file the other printer resolution
+ is set equal to the given one.
+
+ the key values `on' and `off' in the hbf2gf config file
+ are replaced with `yes' and `no'.
+
+ errors:
+ if two Big 5 environments were stacked, the Bg5text
+ environment was defined twice causing an error
+ (Yang Jinn S. <v30yjs@v0sun11.ccl.itri.org.tw>).
+
+ \CJK@punctEnc was undefined in pmC-Bg5 environment
+ (Yang Jinn S. <v30yjs@v0sun11.ccl.itri.org.tw>).
+
+ pmC-Bg5 encoding did not work in preprocessed mode
+ (Yang Jinn S. <v30yjs@v0sun11.ccl.itri.org.tw>).
+
+ Bg5conv.tex and CEFconv.tex/CEF5conv.tex fail under the
+ web2c-TeX implementation because \write commands don't
+ output 8bit characters. C programs which do the same
+ were added.
+
+ wrong \CJK@min and \CJK@max values for some encodings.
+
+ some punctuation characters with Big 5 encoding had wrong
+ offsets (Li Yu-Ray <r82111@ew.ee.ntu.edu.tw>).
+
+ `global' option didn't work correctly.
+
+ \CJKchar didn't work in preprocessed mode
+ (Rob Lahaye <lahaye@amolf.amolf.nl>).
+
+ all .bat and .cmd files call f_name.bat (f_name.cmd) to
+ replace the extension (usually .tex) with .cjk .
+
+
+Version 3.0.1 new:
+20-Nov-1995 hbf2gf config files for CNS added.
+
+ changed:
+ .vf and .tfm files for Hangul have been removed; they
+ are now part of the Hangul font packages.
+
+ CNS font definition files modified.
+
+ `~', if \CJKtilde has been executed, now suppresses
+ spaces afterwards.
+
+ (hopefully) better installation documentation.
+
+ ttf2pk: improved scripts.
+
+ the font directories (for web2c) in the various
+ script/config files have been standardized:
+
+ the source bitmap fonts and its HBF header files are
+ now assumed to be in
+
+/usr/local/lib/font/{china,japan,korea,...}/font_name/
+
+ the hbf2gf configuration files in
+
+/usr/local/lib/hbf2gf/
+
+ the TeX font files in
+
+/usr/local/lib/texmf/fonts/{chinese,japanese,korean,...}/font_name/pk/CJK/
+/usr/local/lib/texmf/fonts/{chinese,japanese,korean,...}/font_name/{tfm,vf}/
+
+ the NTU TrueType fonts in
+
+/usr/local/lib/font/china/truetype .
+
+
+ errors:
+ standard.chr redefined the altchar macros erroneously
+ (Patrick Tuttle <n8442161@toad.lake.cs.wwu.edu>).
+
+ MULEenc.sty failed with german.sty in sectioning
+ commands.
+
+ mule2cjk didn't work with CNS planes 3-7.
+
+
+Version 3.1.0: new:
+20-Feb-1996 MakeTeXPK now supports DC (and TC) 1.2 fonts.
+
+ JIS supplement character set (JIS X 0212-1990)
+ implemented.
+
+ hbf2gf config file j2so12.cfg (for a JIS X 0212 font)
+ added.
+
+ New parameter for hbf2gf: slant. Note that slanted
+ fonts are not common for CJK languages and should
+ be used only in special situations.
+
+ Documentation about Japanese TeX systems and how to
+ handle Japanese with CJK contributed by TANAKA
+ Shinichiro <tanaka3@ifos.se.fujitsu.co.jp>.
+
+ An introduction into the CJK package in Chinese
+ contributed by Lee Chun-Yu <d791013@ce.ntu.edu.tw>.
+ Consequently the outdated README.bg5 together with
+ bg5_test.tex has been removed.
+
+ ntu2cjk version 1.3 .
+
+ CEF example added.
+
+ changed:
+ MULEenc.sty, mule2cjk:
+ \textcdot dropped; replaced with \textperiodcentered.
+
+ MULEenc.sty:
+ definition of \textregistered dropped since it is
+ defined for all encodings in the latest LaTeX2e
+ release.
+
+ CJK.sty:
+ \nbs is now defined as a shorthand for \nobreakspace.
+
+ \space's added to font size functions analogously to
+ the latest LaTeX release.
+
+ mule2cjk:
+ \nbs replaced with \nobreakspace.
+
+ maketexp.btm:
+ small enhancements.
+
+ f_name.bat:
+ slightly modified to make it run under 4DOS too.
+
+ hbf2gf:
+ hbf.c updated to latest hbf version (17-Oct-1995).
+ errors:
+ maketexp.btm:
+ the ttfdir environment variable in the created
+ fonts.btm file was not set.
+
+ Oh, oh, font creation with hbf2gf also didn't work...
+
+ at one place two `%%' used instead of one.
+
+ UJISwn.fd should now search for the right fonts.
+
+ *.cap:
+ erroneously contained \@undefined instead of
+ \undefined.
+
+ JIS.cap:
+ completely broken (sigh). Unbalanced \if... statements
+ caused unrecoverable errors.
+
+
+Version 3.1.1: new:
+20-Jun-1996 \CJKspace switches (inside of a CJK or CJK* environment)
+ from CJK* to CJK mode.
+ \CJKnospace switches from CJK to CJK* mode.
+
+ support for Vietnamese with Mule. You need the vncmr-2.1
+ package for fonts and LaTeX2e support.
+
+ Latin 5 (ISO 8859-9) for Mule implemented.
+
+ changed:
+ mule2cjk removed and replaced with cjk-enc.el which
+ defines a new output encoding scheme for Mule
+ (*cjk-coding*). See cjk-enc.doc for details.
+
+ new protection scheme and changed macro definitions in
+ MULEenc.sty enables kerning for non-CJK languages. This
+ also makes most of the CJK macros significantly smaller.
+
+ f_name.bat replaced with the latest version.
+
+ some documentation improvements.
+
+ \CJKhanja and \CJKhangul now also make sense outside of
+ KS encoding (useful in connection with mule2cjk).
+
+ errors:
+ f_name.cmd doesn't work. All *.cmd removed. I have first
+ to learn REXX to write such batch files for OS/2.
+
+ ttf2pk failed if the PK package size of a character was
+ 1024 (the same error is also in the pbm2pk program).
+
+ hbf2gf didn't initialize mag_x/mag_y and dpi_x/dpi_y
+ correctly (Zhang Zhengyou
+ <Zhengyou.Zhang@sophia.inria.fr>).
+
+ after closing a CJK environment not all characters above
+ 0x80 had been made non-active (a typo).
+
+ pinyin.sty did not preserve the \a macro (used in
+ tabbing environments).
+
+ single byte characters didn't work in SJIS encoding (a
+ typo).
+
+ `:' and `.' do not work as parameter delimiters if these
+ characters are active (Daniel Flipo <?@?>). Now ^^ff
+ is used; the old macro ^^ff is now ^^a0; ^^a0 has
+ become ^^80. The old ^^80 macro has been removed since
+ the new version of mule2cjk always use the `global'
+ option of CJK which allows the use of (the new) ^^80
+ instead.
+
+ \CJKenc{SJIS} didn't work (Thomas Piekenbrock
+ <piekenbro@msmzid.frankfurt.hoechst-ag.d400.de>).
+
+ SJISconv.tex didn't run (a senseless line called the
+ nonexistent macro \CJK@other) (Thomas Piekenbrock
+ <piekenbro@msmzid.frankfurt.hoechst-ag.d400.de>).
+
+ JIS.cap didn't work (a typo).
+
+ SJIS.cap didn't work either (forgot to edit).
+
+
+Version 4.0.0: new:
+20-Sep-1996 I did the final step. All CJK encodings now have all
+ NFSS attributes, namely family, series, and shape
+ (represented by \CJK@family, \CJK@series, and
+ \CJK@shape). \CJK@family is set by entering a CJK
+ environment in the same way as it was done in former
+ versions of this package. \CJK@series and \CJK@shape
+ are (usually) controlled by the standard NFSS commands
+ (e.g., \slshape, \textbf, etc.).
+
+ To achieve this it was necessary to define (NFSS)
+ font encodings for the CJK package. All CJK font
+ encodings map to NFSS font encodings which start with
+ the letter `C', followed by two digits. Here is a
+ table:
+
+ Chinese: Bg5 C00
+ Bg5pmC C01
+
+ GB C10
+ GBpmC C11
+
+ GBt C20
+ GBtpmC C21
+
+ CNS1-7 C31-37
+
+ Japanese: JIS C40
+ JISpmC C41
+ JISdnp C42
+ JISwn C43
+
+ JIS2 C50
+
+ SJIS -> kana C49
+ (additionally)
+
+ Korean: KS -> hanja C60
+ -> hangul C61
+ KSpmC C62
+ KSHL -> hanjaHL C63
+ -> hangulHL C64
+ -> HLsymbolJ C65
+ -> HLsymbolK C66
+
+ Unicode: UTF8 C70
+
+ CEF: CEFX C80
+ CEFY C81
+
+ The first digit corresponds to a CJK (input) encoding
+ like Bg5 or JIS, the second digit represents either a
+ CJK font encoding or internal encodings necessary to
+ cover the selected CJK encoding.
+
+ One consequence of this step is that you have to adapt
+ all .fd files to the new scheme. Look at the example
+ font definition files of the CJK package how to do it.
+
+ You can't use e.g., `C01' directly! Use the CJK
+ interface (in this example \CJKfontenc[pmC]{Bg5}).
+
+ Another consequence is that you are now limited to
+ five characters for the family name since it is part
+ of the .fd name (together with the NFSS font
+ encoding): e.g., `fangsong' is not longer allowed. I've
+ renamed this to `fs'.
+
+ the new font encoding scheme of the HLaTeX package is
+ supported. You can select it with \CJKfontenc[HL]{KS}
+ or \begin{CJK}[HL]{KS}{...} . This is _not_ an
+ emulation of HLaTeX! See CJK.doc for details.
+
+ poor-man's bold font has been introduced. To do this all
+ occurrences of \symbol has been replaced with the new
+ command \CJKsymbol which honours the \ifCJK@bold@
+ flag. If set, a character is printed three times with
+ a small horizontal shift. You can modify this flag
+ with \CJKnormal and \CJKbold. These commands are
+ intended for use with \DeclareFontShape:
+
+ \DeclareFontShape{C00}{CNS}{m}{n}{<-> CJK * csso12}{}
+ \DeclareFontShape{C00}{CNS}{bx}{n}{<-> CJKb * csso12}{\CJKbold}
+
+ Additionally four size functions (CJKb, sCJKb,
+ CJKfixedb, sCJKfixedb) has been introduced which are
+ completely identical to its counterparts without the
+ final `b'. The only reason to use them is, as shown in
+ the above example, to make the fifth parameter of
+ \DeclareFontShape for bold series different from the
+ one for medium series (LaTeX2e uses this parameter as
+ a macro name to execute loading-settings, thus they
+ must not be equal). Redefine \CJKboldshift if the
+ default shift value of 0.015em is not optimal for the
+ specific font.
+
+ support for ruby (= furigana) added. See rubi.doc for
+ details.
+
+ ttf2pk:
+ TTF specific error handling enabled.
+
+ Big 5 encoded TTF in format 4 can now be handled.
+
+ hbf2gf: you can now use environment variables ($FOO or
+ ${FOO}) in the configuration file. Use $$ to get a
+ dollar sign.
+
+ man pages added.
+
+ more examples added.
+
+ REXX scripts bg5latex.cmd, etc. (for OS/2) added
+ (contributed by Wonkoo Kim <wkim+@pitt.edu>).
+
+ teTeX.doc added.
+
+ changed:
+* The CJK distribution has been divided into three
+* packages:
+* src The sources. Needed for all platforms
+* bin Binaries compiled with emx for DOS and OS/2.
+* rest Preformatted documentation (.dvi, .ps,
+* output from cjk-enc.el)
+*
+* ALL FONT DEFINITION FILES HAVE BEEN CHANGED AND RENAMED!
+*
+ \CJKshape and \CJKencshape renamed to \CJKfamily and
+ \CJKencfamily respectively. For backward compatibility
+ you can still use the old names. Nevertheless, they
+ now modify the font family parameter and no longer the
+ font shape parameter.
+
+ all *conv.tex and its batch files removed.
+
+ all converter programs now do not change the number of
+ lines in the output file.
+*
+* the UN*X converter batch files now replace the extension
+* with .cjk instead of appending it. E.g.
+* test.tex -> test.cjk (instead of test.tex.cjk)
+*
+ f_name.bat provides a new environment variable %fu%
+ for a Unix-like path (using `/' instead of `\'). Now
+ you can run bg5latex.bat and the other DOS batch files
+ having a file name with a path as an argument. Please
+ replace all these batch files with the new ones.
+
+ starting with this version ttf2pk is a direct part of
+ the CJK package. I maintain it. As a consequence the
+ ttf2pk directory tree has been moved into the utils
+ subdirectory.
+
+ MakeTeXPK, MakeTTFPK: environment variable ttfdir and
+ hbf2gfdir renamed to TTFDIR and HBF2GFDIR
+ respectively.
+
+ hbf2gf: sample configuration files now contain TDS
+ compliant directories.
+
+ ttf2pk:
+ -c option removed which never worked.
+
+ some redundant code removed.
+
+ heavily reformatted.
+
+ errors:
+* PLEASE RECREATE ALL .TFM AND .PK FILES PRODUCED BY
+* TTF2PK!
+* Reason: the width values were resolution dependent.
+* You should use the InstallFont script or instfont.btm
+* for this job since the very bug in ttf2pk has not yet
+* been fixed. Additionally you must install the new
+* MakeTTFPK script.
+
+ ttf2pk:
+ endchar didn't work correctly.
+
+ punctuation characters in KS were not handled correctly.
+
+ \CJKchar failed sometimes (Jinn S. Yang
+ <v30yjs@v0sun11.ccl.itri.org.tw>).
+
+ Big 5/SJIS characters failed in headers, etc., if used
+ without preprocessor (Jinn S. Yang
+ <v30yjs@v0sun11.ccl.itri.org.tw>).
+
+
+Version 4.0.1: appeared as a diff only---a typo in utils/ttf2pk/findex.c
+26-Sep-1996
+
+
+Version 4.1.0: new:
+20-Nov-1996 ttf2pk:
+ a new parameter -e has been introduced for selecting
+ the font encoding; possible values are `Big5' (the
+ default), `EUC' for extended Unix codes (JIS, GB, KS,
+ etc.), `SJIS', and `X'. The last value treats the TTF
+ file as SJIS encoded but expects start_char in JIS
+ encoding (routines are in coding.{c,h}).
+
+ a new parameter -r has been introduced for rotating
+ the glyphs 90 degrees counter-clockwise if its value
+ is non-zero. See ttf2pk.1 for details.
+
+ Some preliminary support for composite glyphs has been
+ included. Since hinting instructions are not supported
+ yet this is only of some academic interest. You can
+ watch the funny results with the mingli system font of
+ the traditional Chinese Windows 3.1 .
+
+ Support for different horizontal and vertical
+ resolutions has been added. Now you have one more
+ parameter to call ttf2pk:
+
+ ttf2pk pkname tfmname xres yscale startch nmbch ...
+
+ Currently you have to change yscale by hand in
+ MakeTTFPK (or makettfp.btm). [yres = xres * scale]
+
+ The source code has been prepared for pretty-printing
+ with c2cweb. Say `make documentation OS=<SYSTEM>' to
+ produce it (of course after installing the c2cweb
+ package). You find precomputed .dvi files in the
+ `rest' part of the CJK package.
+
+ HSIEH Tung-Han <thhsieh@twclx.phys.ntu.edu.tw>
+ contributed NTeXb5.doc for installing the CJK package
+ under NTeX.
+
+ hbf2gf:
+ if called in METAFONT-like mode, one additional
+ parameter has been added to allow printers with
+ different horizontal and vertical resolutions:
+
+ hbf2gf config_file subfont_nmb x_resolution y_scale
+
+ (y_resolution = x_resolution * y_scale; y_scale must
+ be a real number > 0; currently you must change y_scale
+ by hand in MakeTeXPK/maketexp.btm)
+
+ hbf2gf now produces a .pl file even if in
+ METAFONT-like mode.
+
+ a new config file option `rotation' rotates the glyphs
+ 90 degrees counter-clockwise if set to `yes'.
+
+ vertical presentation forms of Big5 punctuation
+ characters added to punctuation tables in CJK.enc .
+
+ CJKvert.sty for vertical typesetting added. This is an
+ experimental feature! Please read vertical.doc for
+ further details.
+
+* MakeTeXPK and friends:
+* it's no longer necessary to rename TTF files to avoid
+* underline characters. A configuration file is now used
+* (ttf2pk.cfg) which resides in $TTF2PKDIR (usually
+* $TEXMF/ttf2pk) to describe the various TTF files.
+* Please rename e.g., ntukai.ttf back to ntu_kai.ttf .
+* The environment variable $TTFDIR has become obsolete.
+
+ The teTeX variants of the scripts can now produce tfm
+ files on demand---it's sufficient to simply install
+ the source files of a new font.
+
+ changed:
+* rubi.sty has been renamed to ruby.sty; the same is
+* true for all commands in it: \ruby, \rubyoverlap, etc.
+
+ new version (1.5) of ntu2cjk.
+
+ hbf2gf:
+ the option `target_size' has been removed. It is
+ ignored now.
+
+ under DOS and OS/2 both `\' and `/' are now recognized
+ as a path separator.
+
+ ttf2pk:
+ the -s parameter (to select a design size) has been
+ removed. The program now always assume a design size
+ of 10pt.
+
+ the parameter end_char has been replaced with
+ nmb_of_char (max. 256).
+
+ begin_char can now be either decimal, hexadecimal
+ (prefix `0x'), or octal (prefix `0').
+
+ x_offset and y_offset behave now similar to hbf2gf
+ (and most people would expect it that way): a positive
+ x (y) value shifts right (up); default is zero for
+ both parameters using the default placement as given
+ in the TTF file. The values are no longer integers but
+ real numbers and should be multiples of design size.
+
+ horz_esc and vert_esc are now real numbers too and
+ should be multiples of design size.
+
+ you no longer need to use -W, -H, and -D for getting
+ resolution independent .tfm files. ttf2pk now
+ correctly uses the values of the TTF file.
+
+* PLEASE RECREATE ALL .TFM (AND .PK) FILES! Sorry for
+* this inconvenience. I hope it is the last time. Due to
+* some optimizations the .pk files are about 5% smaller
+* now.
+
+ The TTF part of the source code has been transformed
+ into a library (ttflib); the makefile has been
+ rewritten with a new syntax. Say `make' for details.
+
+ utils/ttf2pk/README.b5 and INSTALL.bg5 removed. They
+ were out of date.
+
+ modified MakeTTFPK/MakeTeXPK/InstallFont and
+ makettfp.btm/maketexp.btm/instfont.btm scripts.
+
+
+Version 4.1.1: appeared as a diff only.
+02-Dec-1996
+ new:
+ cjktilde.el:
+ this file contains a minor mode (`cjk-tilde-mode') for
+ emacs to exchange the ` ' key with the `~' key. See
+ the documentation of \CJKtilde for details.
+
+ changed:
+ directory cjk-enc renamed to lisp.
+
+ errors:
+ the fullwidth double colon in GB encoding was missing in
+ the punctuation tables.
+
+
+Version 4.1.2: new:
+20-Feb-1997 ntu2cjk ver. 1.6 now supports the Jackson font (a Big 5
+ encoded PostScript font).
+
+ cjkspace.el: similar to cjktilde.el for cooperation with
+ AUCTeX.
+
+ support files for NDOS contributed by KUO Yi-Liang
+ <c300711@ms5.hinet.net> .
+
+ emTeX support documentation also contributed by
+ KUO Yi-Liang <c300711@ms5.hinet.net> .
+
+ changed:
+ ttf2pk/src/Makefile: uses -C switch of GNU make now for
+ entering subdirectories.
+
+ adaptation to LaTeX release 1996/12/01:
+ all .fd files now start with e.g., c00 instead of C00
+ (nevertheless, the encoding is still called `C00').
+
+ all executables are now finished with exit() to avoid
+ additional security holes.
+
+ Bg5rot.tex renamed to Bg5vert.tex .
+
+ errors:
+ MakeTTFPK:
+ some sed programs can't understand the `\w' special
+ character (indicating a word constituent character);
+ has been replaced with `.'.
+
+ it was not possible to open a CJK environment with
+ SJIS encoding a second time (Thomas Piekenbrock
+ <piekenbro@smzid.frankfurt.hoechst-ag.d400.de>).
+
+ the same problem existed with UTF 8 encoding;
+ additionally the macros failed for protected
+ arguments.
+
+ cjktilde.el:
+ if you assigned the minor mode to a key, the status
+ line was not updated.
+
+ ttf2pk:
+ problems with empty glyphs fixed.
+
+ problems with invalid index tables now lead to a
+ warning instead of a fatal error.
+
+
+Version 4.1.3: new:
+20-Jun-1997 hbf2gf can now create virtual Omega (.ofm) files.
+
+ ttf2pk (and its scripts) now supports Unicode encoded
+ fonts.
+
+ cjk-enc.el for emacs 20.
+
+ Russian support (in T2 encoding) for Mule/emacs 20.
+ Please contact me for fonts, hyphenation patterns, and
+ macro packages.
+
+ JIS X 0201 support for Mule/emacs 20.
+
+ experimental support for Thai (only emacs 20). This is
+ basically C-TTeX version 1.51 adapted to CJK. Anybody
+ who is interested in this stuff (and has some
+ knowledge on Thai contrary to me :-) please contact
+ me so I can improve it. Please read cjk-enc.doc for
+ more details.
+
+ ntu2cjk version 1.8:
+ now supports partial downloading of NTU fonts with
+ dvips.
+
+ installation checklist added to INSTALL.
+
+ installation instructions written in Chinese GB
+ contributed by YAO Fude <yao@everest.micro.umass.edu>.
+
+ UTF8.tex example added.
+
+ changed:
+ MULEenc.sty:
+ \hbar and \HBAR replaced with \textmalteseh and
+ \textmalteseH respectively according to the LaTeX2e
+ release June 1997.
+
+ further simplifications.
+
+ external CJK font packages, script and documentation
+ files updated to TDS standard.
+
+ c70song.fd:
+ now uses cyberbit.ttf as default font.
+
+ errors:
+ make*.btm scripts now really work :-) (thanks to
+ <rshuang@ms11.hinet.net>).
+
+ c00cns.fd was incorrectly stored as c00CNS.fd .
+
+ MULEenc.sty:
+ expansion macro improved (the old version prevented
+ kerning if used with e.g., \MakeUppercase).
+
+ hbf2gf:
+ support for Unicode encoded HBF files was totally
+ broken.
+
+ always used non-rotated x and y input sizes.
+
+ the HBF interface now uses only one file handle per
+ opened font---previously it used one file handle per
+ HBF_CODE_RANGE line (Mark Leisher
+ <mleisher@crl.nmsu.edu>).
+
+ ttf2pk:
+ can now handle fonts like avkv.ttf which have a
+ non-standard way to handle the end of the glyph index.
+
+ a nasty allocation bug removed due to missing modulo
+ 65536 operations (thanks to YANG Ching-Hsiang
+ <jsyang@vlsi.ccl.itri.org.tw>).
+
+
+Version 4.2.0: new:
+13-Dec-1998 pinyin.sty:
+ support for EC fonts: the macron bar has been lowered
+ considerably.
+
+ kerning in pinyin syllables is now identical to
+ unaccented syllables.
+
+ teTeXb5.doc:
+ How to set up CJK with teTeX 0.9 (in Chinese).
+ Contributed by HSIEH Tung-Han
+ <thhsieh@twcpro.phys.ntu.edu.tw>.
+
+ CJKnumb.sty:
+ new package for converting a number into a CJK
+ representation. It provides just one command,
+ \CJKnumber.
+
+ CJK.sty:
+ new command \CJKaddEncHook for adding code which is
+ executed each time a certain encoding is selected.
+
+ contrib/wadalab:
+ how to use Wadalab Japanese PostScript fonts with CJK.
+ Contributed by LEUNG Hin-Tak <htl10@cus.cam.ac.uk>.
+
+ CJK.enc:
+ added C52 encoding (JIS2 in dnp font encoding).
+
+ changed:
+ MULEenc.sty, cjk-enc.el:
+ updated to latest LaTeX 2e changes (1997/12/01 and
+ 1998/06/01):
+ \DH, \dh renamed to \DJ, \dj; LaTeX2e now provides
+ \textdegree, \textordfeminine, and \textordmasculine.
+
+ updated to latest T2 changes: \CYRUKRI, \CYRUKRE and
+ its lowercase forms are renamed to \CYRII and \CYRIE
+ respectively.
+
+ there is now a version of cjk-enc.el for emacs 20.3
+ too.
+
+ muletest.tex:
+ new translations; Russian now standard.
+
+ thaiconv:
+ updated to include cttex 1.15 changes.
+
+ a revised TDS structure for storing CJK fonts and
+ configuration files (see TDS.doc for details).
+
+ compile.doc has been removed.
+
+ NTeXb5.doc has been removed.
+
+ ttf2pk.doc has been removed (it is now in the ttf2pk-old
+ package).
+
+ the whole ttf2pk subdirectory has been removed. Get the
+ new ttf2pk program of the FreeType project (available
+ from ftp.freetype.org in the directory
+ pub/freetype/devel as the package
+ freetype-current.tar.gz)---the new ttf2pk can work
+ with composite fonts too and supports hinting. The old
+ ttf2pk is still available as ttf2pk-old.tar.gz .
+
+ the whole ntu2cjk subdirectory has been removed. Get the
+ new ttf2pfb program of the FreeType project (see just
+ above for the location). ntu2cjk is still available as
+ ntu2cjk.tar.gz .
+
+ the whole NDOS subdirectory has been removed because it
+ is completely out of date.
+
+ CJK.sty:
+ caption files for preprocessed mode have now the
+ extension `.cpx' to simplify editing of cap files.
+
+* hbf2gf:
+* completely redesigned to make calls in scripts for
+* creating PK fonts easier. Please refer to hbf2gf.1
+* or hbf2gf.dvi for details.
+*
+* maketexp.btm, etc.:
+* replaced with dvidrv.btm, a replacement for emTeX's
+* dvidrv.exe; it is documented in dvidrv.doc .
+
+ fonts from HLaTeX >= 0.97 are now supported. As a
+ consequence, support for older HLaTeX versions has
+ been withdrawn. The internal encoding C66 no longer
+ exists.
+
+ cjk-enc.el:
+ function write-cjk-file added (thanks to David Fox
+ <fox@cat.nyu.edu>).
+
+ errors:
+ pinyin.sty:
+ \O wasn't handled specially.
+
+ CJK.sty now coexists with ArabTeX.
+
+ possible save size overflow fixed (\CJK@temp was
+ assigned locally and globally at the same time).
+
+
+Version 4.3.0: An intermediate version containing most features of 4.5.0
+04-Apr-2000 published on the TeX Live 5 CD. It has never been officially
+ released.
+
+
+Version 4.4.0: An intermediate version containing most features of 4.5.0
+17-Apr-2001 published on the TeX Live 6 CD. It has never been officially
+ released.
+
+Version 4.5.0: An intermediate version containing most features of 4.5.1
+01-May-2002 published on the TeX Live 7 CD. It has never been officially
+ released.
+
+Version 4.5.1: new:
+17-Jun-2002 CJKulem.sty:
+ Full underlining support using the latest version of
+ ulem.sty.
+
+ Bg5+ and GBK charsets and encodings added (together with
+ `Bg5+text' and `GBKtext' environments). The encodings
+ are C09 and C19, respectively.
+
+ `bg5+latex' and `gbklatex' scripts added (together
+ with its DOS and OS/2 pendants); both call the new
+ converter `extconv'.
+
+ EUC-JP and EUC-TW encodings (*with* single shifts) added.
+
+ SJIS encoding with DNP fontencoding.
+
+ A configuration file `CJK.cfg' is read by CJK.sty just
+ before the \endinput command.
+
+ CJKnumb.sty:
+ Added the macro \CJKdigits to CJKnumb.sty for printing
+ a (integer) number with CJK digits.
+
+ Added macro \CJKnullspace to control the amount of
+ space inserted before and after a circle character
+ used for CJK digit zero.
+
+ Added the macro \CJKindent to CJK.sty which sets the
+ paragraph indentation to two ideographic spaces.
+
+ Added a test file `CJKbabel.tex' for testing CJK,
+ emacs 20, and the babel package.
+
+ Thai support for Babel added.
+
+ Added a test file `thai.tex' for testing Thai.
+
+ cjk-enc.el:
+ Now works with XEmacs also (except for Thai).
+
+ Support for ISO-8859-7 (Greek) added.
+
+* Support for multifile documents added. As a
+* consequence, it is now necessary to specify the
+* encoding of all files with local variables for Emacs
+* (see the comments at the end of the files in the
+* `examples' directory how to do that; the `coding: ...'
+* line must exist.
+
+ The translation tex->cjk is now executed only if the
+ source file is more recent than the corresponding
+ output file (it is still possible to force translation
+ though).
+
+ Hyphenation patterns for unaccented pinyin syllables
+ (together with support for the Babel package) in
+ utils/pyhyphen. Documentation is in doc/pyhyphen.doc.
+
+ pinyin.sty:
+ Added option `useCMmacron' (for LaTeX only) to use
+ a macron accent from the CM fonts in case the current
+ font doesn't have it (e.g., some versions of virtual
+ files for Palatino).
+
+ Compound syllables can now be hyphenated.
+
+ MULEenc.sty:
+ Added \CJKinclude{<file>}, \CJKinput{<file>}, and
+ \CJKbibliography{<file>} macros which behave similar
+ to \include, \input, and \bibliography but include
+ (input) <file>.cjk and <file>-cjk.bib instead.
+
+ CJK.sty/MULEenc.sty:
+ The command \CJKverbatim suppresses insertion of glue
+ between CJK and Thai characters in verbatim
+ environments if the `verbatim' package is used. This
+ is useful if you have overlong lines.
+
+ changed:
+ Thai support has been redesigned. The external program
+ `thaiconv' has been replaced by a Lisp file called
+ thai-word.el; ligatures in virtual Thai fonts are now
+ used to select the proper glyph representation forms.
+ See thaifont.doc and cjk-enc.doc for details.
+
+ CNS stuff moved into a `CNS' directory.
+
+* CJK.sty/MULEenc.sty,
+* cefconv, cef5conv, cefsconv, bg5conv, sjisconv,
+* cjk-enc.el:
+* The character slot 0xA0 is no longer used for
+* \CJKchar; instead, the multiplex character 0x7F
+* interface now handles this also. Additionally,
+* character 0x7F (instead of 0xFF) is used as delimiting
+* character. 0x7F is used for all CJK characters also in
+* preprocessed mode---as a consequence, preprocessed and
+* non-preprocessed data can be used simultaneously.
+*
+* You *must* update the *conv programs (if you use
+* them). \CJKpreproc and \CNSpreproc now contain the
+* current version string so you can check whether really
+* the new versions are called.
+
+ cjk-enc.el:
+ ET5 encoding for Vietnamese replaced with T5 encoding.
+
+ The version for emacs 20 has been removed. Please
+ upgrade your emacs to 20.7 or newer.
+
+ contrib/wadalab:
+ Use CJK font size functions instead of DNP ones.
+
+ hbf2gf:
+ The configure option --with-kpathsea-dir has been
+ replaced with --with-kpathsea-include and
+ --with-kpathsea-lib to support web2c installations
+ with multiple architectures.
+
+ errors:
+ cjk-enc.el:
+ The formatting parameter `%i' has been replaced with
+ `%d'.
+
+ pmC.chr:
+ Missing \ifCJK@ added.
+
+ Punctuation macros fixed.
+
+ Bg5.chr:
+ Fixed a typo \CJK@temp -> \CJK@gtemp.
+
+ hbf2gf:
+ Now works correctly with very large pixel sizes.
+
+ Punctuation with half-width katakana in SJIS encoding
+ improved.
+
+ A bug fixed which prevented the usage of caption files
+ together with hyperref.
+
+ KS encoding with HLaTeX fontencoding now supports
+ punctuation also.
+
+ Specifying a font size factor (like `CJK * [1.5]') in
+ FD files no longer produces a warning message for
+ all subfonts.
+
+Version 4.5.2: new:
+28-Mar-2003 The new macro \CJKnohwkatakana prevents the use of the
+ C49 encoding for half-width katakana; instead, the
+ characters are mapped to full-width glyphs. The
+ opposite command is \CJKhwkatakana (the default).
+
+ Improved support for pseudo-vertical typesetting.
+
+ . CJKvert.sty provides new commands \CJKvert (the
+ default) and \CJKhorz to toggle pseudo-vertical
+ typesetting.
+
+ . After loading CJKvert.sty, LaTeX reads file
+ `<foo>.fdv' (if it exists) immediately after reading
+ `<foo>.fd'. Such a file contains additional
+ information how to typeset a font vertically. Most
+ importantly, outline fonts can be configured so that
+ they are rotated with the graphicx package, making
+ it work with both dvips and pdfTeX. See
+ `vertical.doc' for more information.
+
+ errors:
+ \CJKchar sometimes didn't accept 7bit representations.
+
+ pinyin.sty:
+ Added missing syllables \chua, \den, \rua.
+ Make it work properly in tables.
+
+ contrib/wadalab:
+ Older versions of the `makefont' script produce bad
+ hints for all Wadalab fonts. Either use the new
+ version to regenerate all fonts or use the new script
+ `fixwada' to correct fonts created with an old version
+ of `makefont'.
+
+ EUC-TW.chr: Make it really work.
+
+Version 4.6.0: new:
+11-Aug-2005 CJKutf8.sty merges basic LaTeX's and CJK's UTF-8 support.
+ See CJKutf8.doc for details.
+
+ The two new macros \Thaispace and \Thainospace can be
+ used to control the EOL behaviour in Thai text blocks
+ if processed with cjk-enc.el.
+
+ There are now scripts (for Unix) to call pdflatex
+ instead of latex: bg5pdflatex, sjispdflatex, etc.;
+ all scripts now pass parameters to latex (the program).
+
+ New documentation files giving hints how to set up the
+ CJK package for optimal PDF output.
+
+ New documentation file `reftex.doc' describing
+ customization for RefTeX (which is part of Emacs).
+
+ CJKfntef.sty provides more font effects specific to
+ CJK scripts. See the example file CJKfntef.tex for
+ typical usage.
+
+* All .fdv-files have been renamed to use the suffix
+* `.fdx' since they are no longer restricted to vertical
+* writing direction. See the new file `fdxfiles.doc'
+* for more information.
+
+ changed:
+ All plain text documentation files now have the suffix
+ `.txt'.
+
+* Thai support has been improved.
+*
+* . Internally, the font creation process now uses
+* fontinst to create the TFM files. As a consequence,
+* virtual fonts are no longer necessary.
+*
+* . Due to an uncertain license, the `dbtt' font family
+* has been replaced with `garuda', taken from
+* thailatex version 0.3.5.1 which you can find at
+*
+* http://linux.thai.net/plone/TLWG/thailatex
+*
+* . The directory tree below `utils/thaifont' has been
+* updated to reflect TDS 1.1, as supported by the
+* forthcoming TeXLive 2005 and teTeX 3.0.
+*
+* Please replace all files related to Thai fonts in your
+* TEXMF tree with the new fonts and font support files.
+
+* HLaTeX support has been updated to handle fonts from
+* version 1.0.1---there are no longer MF source files,
+* only PS fonts. Support for non-uhc fonts have been
+* removed; you should upgrade to the latest HLaTeX font
+* archives from CTAN. Please consult CJK.doc, section
+* `Korean input', for the (slightly) changed font names of
+* HLaTeX support.
+
+ errors:
+ Some characters in Big 5 encoding disappeared without
+ a warning if pseudo-vertical writing was active.
+
+ pinyin.sty:
+ Umlaut u with diacritic appeared bold.
+
+ Umlaut u with macron above was broken.
+
+ CJKulem.sty:
+ User-defined \CJKglue value was ignored.
+
+ Line breaks before a post-punctuation CJK glyph
+ weren't disabled when \uline and friends were used.
+
+ MULEenc.sty:
+ \textordfeminine and \textordmasculine were exchanged
+ if used with cjk-enc.el.
+
+ contrib/wadalab/*.fdx:
+ Handle Hiragana-Katagana prolongation mark correctly.
+
+ cjk-enc.el:
+ Multifile support was partially broken.
+
+ CJKvert.sty:
+ Both \CJKvert and \CJKhorz had both local and global
+ effects. Now they are completely local.
+
+
+Version 4.7.0:
+17-Oct-2006
+ new:
+ A new encoding `HK' (C05) is available for Hong Kong's
+ HKSCS-2004, used in combination with Big 5.
+
+* `UTF8' encoding now supports full Unicode (up to
+* U+10FFFF). Subfont planes for ranges greater than U+FFFF
+* consist of four hexadecimal digits (for example
+* `foo025e' which covers U+25E00-U+25EFF). The \Unicode
+* command (and \CJKchar) has been extended to accept
+* Unicode values greater than U+FFFF.
+
+ CJKutf8.sty:
+ Support Unicode encoded bookmarks if the hyperref
+ package is used.
+
+ Automatically generate ToUnicode cmaps for pdftex
+ (tested with pdftex version 3.141592-1.30.4-2.2; it
+ currently doesn't work with virtual fonts).
+
+ Caption files in UTF-8 encoding have been added; the
+ files are identical to the encoding-specific versions.
+
+ ja Japanese
+ ko-Hang Korean using Hangul
+ ko-Hang2 another version using Hangul
+ ko-Hani Korean using Hanja
+ zh-Hans Chinese simplified
+ zh-Hant Chinese traditional
+
+ errors:
+ UTF-8 input character 0x80 was handled only partially.
+
+ pinyin.sty:
+ The package didn't preserve `\ding' which is defined
+ in pifont.sty, causing problems with older versions of
+ the hyperref package and its `hpdftex' driver option.
+
+ CJK.sty:
+ Make it work with font definition files (like the ones
+ from the fourier package) which expect that the
+ loading-settings are called only once.
+
+ The use of caption files within the `scrartcl' class
+ made \chapter a defined command (instead of reporting
+ an error).
+
+ With the koma-script classes, all CJK caption files
+ except for Korean produced bad looking TOC entries for
+ \part.
+
+
+Version 4.8.0:
+22-May-2008
+ new:
+ Support for EUC-JP with DNP font encoding has been
+ added.
+
+ Support for XeLaTeX has been contributed by SUN
+ Wen-Chang <sunwch@hotmail.com> (in file `xCJK.sty').
+ Note that this is just a rudimentary emulation layer;
+ most users are probably better off using XeLaTeX's
+ Unicode and font support directly. See `xCJK.txt' for
+ more details.
+
+ pinyin.sty:
+ Added support for T5 encoding.
+
+ CJKvert.sty:
+ Added command \CJKbaselinestretch to adjust the
+ baseline stretch used in vertical typesetting.
+ Previously, the value 1.3 was hardcoded.
+
+ Added package option `usebaselinestretch' to use
+ the \baselinestretch value set before loading
+ CJKvert.sty; \CJKbaselinestretch then becomes a
+ factor to adjust it.
+
+ Add support for \CJKhdef{offset}{...} in .fdx-files.
+ For example, to vertically shift all glyphs of the
+ `bsmi' font shape in Big 5 encoding (for horizontal
+ writing), put
+
+ \CJKhdef{offset}{-.07em}
+
+ into c00bsmi.fdx and add
+
+ \usepackage{CJKvert}
+ \CJKhorz
+
+ to your preamble.
+
+ errors:
+ \CJK@bold didn't work properly for C49 (half-width
+ katakana) encoding. Now C49 is handled as a CJK
+ encoding, this is, you should use the various size
+ functions (`CJK', `CJKb', etc.).
+
+---End of history.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/README b/Master/texmf-dist/doc/latex/cjk/doc/japanese/README
new file mode 100644
index 00000000000..ab5101887af
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/README
@@ -0,0 +1,18 @@
+* The documentation files in this directory describe version 3.1.0; mule2cjk
+* no longer exists---please read cjk-enc.txt for the new interaction between
+* Mule and CJK. Until now I couldn't reach the author again.
+
+In this directory you find a suite of small documentation files which deal
+with CJK and other Japanese features/systems in relation to TeX. They were
+contributed by TANAKA Shinichiro <tanaka3@ifos.se.fujitsu.co.jp>.
+
+japanese.jis is the Japanese version of japanese.txt . Note that this file
+and the file shibuaki.txt contain Japanese characters in JUNET encoding.
+
+Please send any comments and suggestions to the author of these doc files.
+Questions related to non-CJK topics should be asked in the fj.comp.text
+news group since the author only uses CJK.
+
+
+Documentation how to use Wadalab fonts can be found in the contrib/wadalab
+directory.
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/ascii.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/ascii.txt
new file mode 100644
index 00000000000..41815cca5a7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/ascii.txt
@@ -0,0 +1,58 @@
+ASCII Co. was founded by Mr. Nishi Kazuhiko, Mr. Tsukamoto, and Mr. Gunji.
+This company works in the software and publishing field. So ASCII was
+interested in the TeX system. They developed "ASCII Nihongo TeX" in
+cooperation with a group of the Keio University in 1987. ASCII Nihongo TeX
+is freeware. ASCII Co. implemented this system on MS-DOS in 1989 and sold
+it. ASCII Co. added the capability of vertical typesetting to Nihongo TeX---
+this is called the p version or pTeX (publishing TeX).
+
+ASCII translated some important books into the Japanese language. These
+books are of course typesetted with Nihongo TeX.
+
+ "The TeX book", "The Metafont book" Knuth.
+
+ "LaTeX: A Document Preparation System" Lamport.
+
+Many articles about TeX appear in the "UNIX magazine" published monthly by
+ASCII.
+
+
+Some features of Nihongo TeX:
+
+ 1. The dvi file format is different from the original TeX's dvi file
+ format. (NTT-JTeX's dvi file format is the same as original one. So we
+ can use NTT-JTeX's dviware for the CJK package.)
+
+ 2. Nihongo TeX is not only capable of using TeX Font Metric files (tfm),
+ but can also use Japanese Font Metric files (jfm). The jfm file format
+ is defined as an extension of the tfm file format for Nihongo TeX. One
+ jfm file has about 7000 kanji character metrics and kerning
+ informations to cover entire JIS fonts (and thus avoiding subfonts).
+ [See shibuaki.txt for some details about space handling between
+ Japanese and ASCII characters.]
+
+ 3. Characters can be printed vertically.
+
+
+In 1992 Tsukamoto and Gunji retired from ASCII Co. and founded Impress Co.,
+and some engineers specialized on TeX moved from ASCII to Impress.
+
+Impress Co. works in same field as ASCII Co., namely software and
+publishing. In 1994 Impress made and sold "TeX for Windows" based on an
+older version of ASCII Nihongo TeX (a modified TeX version 2.99). This
+system runs on Windows 3.1, Windows 95 or Windows NT and has been sold to
+many PC users. Literature is also available for "TeX for Windows".
+
+A major drawback of this system is that it is not yet based on TeX 3 and
+thus cannot fully support LaTeX2e or multilingual issues.
+
+
+In November 1995 ASCII announced the latest version of Nihongo TeX (pTeX
+2.1.1) which is based on TeX 3.1415; this package also contains a format
+file of LaTeX2e <1995/06/01>.
+
+At the time of this writing (1996/02/09) ASCII Nihongo TeX's version is pTeX
+2.1.4 .
+
+
+Version 1.0 Beta2 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.jis b/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.jis
new file mode 100644
index 00000000000..69e034c6d13
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.jis
@@ -0,0 +1,642 @@
+This is the file japanese.jis of the CJK macro package ver. 4.1.0
+(20-Nov-1996).
+
+(Font metric $B$,(B $BF|K\8l(B PS $B%U%)%s%HFbB"$N(B PostScript $B%W%j%s%?!<$H6&MQ$7(B
+$B$F;H$&;v$,2DG=$J(B) DNP $B%U%)%s%H$H!"EOJU%U%)%s%H$N;H$$J}$K$D$$$F$^$H$a$F(B
+$B$"$j$^$9!#(B
+
+hbf2gf $B$H6&$K;H$&(B kanji48 font $B$N;H$$J}$OB>$N(B CJK bitmap files $B$HF1$8(B
+$B$G$9!#>\:Y$O(B hbf2gf.txt $B$K=q$+$l$F$$$^$9!#(B
+
+
+kanji48 font
+------------
+
+$B$3$N(B font $B$O$I$3$K$"$j$^$9$+!)(B)
+
+Host ftp.tex.ac.uk
+ Location: /pub/archive/fonts/CJK
+ FILE -rw-rw-r-- 1 ctan TeX 742459 Dec 1 00:01 kanji48.tar.gz
+Host ftp.dante.de
+ Location: /tex-archive/fonts/CJK
+ FILE -rw-rw-r-- 1 Mr.Ftp server 742459 Dec 1 00:01 kanji48.tar.gz
+
+$B$^$?$O!"$"$J$?$N%5%$%H$N6a$/$N(B CTAN $B$N%_%i!<$r$7$F$$$k%5%$%H$K$"$j$^$9!#(B
+
+
+$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B)
+
+$B0J2<$N$h$&$K(B CJK.sty $B$GF|K\8l$NJ8>O$r=q$$$F$/$@$5$$(B:
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{JIS}{song}
+
+ .....
+ < "$BF|K\8l$NJ8>O(B" >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ .....
+ < "$BF|K\8l$NJ8>O(B" >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+CJK $B%Q%C%1!<%8$O(B CJK $B$H(B CJK* $B$H$$$&#2$D$N4D6-$rDs6!$7$^$9!#(BCJK* $B$N4D6-(B
+$B$O(B CJK $BJ8;z(B($BF|K\8l!"4Z9q8l!"Cf9q8l(B)$B$N8e$m$N6uGr$r05=L$7$^$9!#(BCJK $B$N4D(B
+$B6-$O05=L$7$^$;$s!#(B
+
+$BF|K\8l$7$+=q$+$J$$$N$G$"$l$P!"(BCJK* $B$N4D6-$r;H$&$Y$-$G$7$g$&!#$I$&$7$F(B
+$B$b(B(CJK* $B4D6-$NCf$G(B) CJK $BJ8;z$N8e$K6uGr$,I,MW$J>l9g$K$O(B `\ ' $B$d(B `{}' $B$J(B
+$B$I$N$h$&$J(B TeX $B%3%^%s%I$r;H$o$J$1$l$P$J$j$^$;$s!#(B
+
+$B$^$?!"F|K\8l0J30$N8@8l$NCf$G$bF|K\8l$r=q$/$3$H$,$G$-$k$h$&$K!"(Bmulatex
+$B$r;H$&$J$i!"(B
+
+ \usepackage[global]{CJK}
+
+$B$H@k8@$9$k;v$r6/$/?d>)$7$^$9!#>\:Y$O(B mule2cjk.doc $B$r8+$F2<$5$$!#(B
+
+
+DNP $B%U%)%s%H(B
+------------
+
+DNP fonts $B$H$O$J$s$G$9$+!)(B)
+
+DNP $B$H$OF|K\$NBg<j0u:~2q<R$G$"$kBgF|K\0u:~$N$3$H$G$9!#(BDNP $B%U%)%s%H$OBg(B
+$BF|K\0u:~$K$h$C$F:n$i$l$?>&MQ%U%)%s%H$G$9!#<+J,$N%5%$%H$K$9$G$K(B DNP $B%U%)(B
+$B%s%H$,%$%s%9%H!<%k$5$l$F$$$k$J$i!"$=$l$r$D$+$&$Y$-$G$7$g$&!#(BDNP $B%U%)%s(B
+$B%H$r%(%_%e%l!<%H$9$k$?$a$KEOJU%U%)%s%H$r%+%9%?%^%$%:$7$?EOJU(B DNP $B%U%)(B
+$B%s%H$O(B freeware $B$H$7$F;HMQ$9$k$3$H$,$G$-$^$9!#(BDNP $B%U%)%s%H$r%(%_%e%l!<(B
+$B%H$9$kJ}K!$O%7%s%\%j%C%/%j%s%/$G$9!#(B
+
+$B$3$N(B font $B$O$I$3$K$"$j$^$9$+!)(B )
+
+ watanabe-dnp (pk files)
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/300
+ jb10-300pk.tar.gz jb10-622pk.tar.gz jm10-329pk.tar.gz
+ jm10-746pk.tar.gz jb10-329pk.tar.gz jb10-746pk.tar.gz
+ jm10-360pk.tar.gz jm8-300pk.tar.gz jb10-360pk.tar.gz
+ jb8-300pk.tar.gz jm10-432pk.tar.gz jm9-300pk.tar.gz
+ jb10-432pk.tar.gz jb9-300pk.tar.gz jm10-518pk.tar.gz
+ jb10-518pk.tar.gz jm10-300pk.tar.gz jm10-622pk.tar.gz
+ tfm files
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm-dnp.tar.gz
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm.tar.gz
+ tools for symbolic link
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/fake.tar.gz
+
+$B$I$&$d$C$F%;%C%H%"%C%W$9$k$N$G$7$g$&$+!)(B)
+
+ $B$"$J$?$N(B font $B%G%#%l%/%H%j$r(B $fonts $B$H2>Dj$7$^$9!#(B
+ (e.g. /usr/local/lib/tex/fonts/japan)
+ $B$5$i$K!">e5-$N%U%!%$%k$NCV$+$l$F$$$k%G%#%l%/%H%j$r(B $src $B$H2>Dj(B
+ $B$7$^$9!#(B
+ (e.g. /usr/local/src)
+
+ ftp server $B$+$i(B get $B$7$?%U%!%$%k$rE83+$7$^$9!#(B
+
+ % cd $src
+ % gunzip -c fake.tar.gz | tar xvf -
+ % gunzip -c jd....pk.tar.gz | tar xvf -
+ % gunzip -c jm....pk.tar.gz | tar xvf -
+ % gunzip -c tfm.tar.gz | tar xvf -
+
+ $B%G%#%l%/%H%j$N:n@.!#(B
+
+ % cd $fonts
+ % mkdir $fonts/watanabe-dnp
+ % mkdir $fonts/watanabe-dnp/jd300
+ % mkdir $fonts/watanabe-dnp/tfm
+
+ $B%U%!%$%k$r(B copy $B$7$^$9!#(B
+
+ % cd $fonts/watanabe-dnp
+ % cp $src/fake/* .
+ % cp $src/tfm/* tfm
+ % cp $src/*pk/*pk jd300
+
+ $BA4$F$NEOJU%U%)%s%H$r:n@.$7$^$9!#(B
+
+ % make mk-300ex
+
+ $B%7%s%\%j%C%/%j%s%/$rD%$j$^$9!#(B
+
+ % mkdir $fonts/dnp
+ % cd $fonts/dnp
+ % cp $fonts/watanabe-dnp/LNFAKE .
+
+ $B<!$K(B dnp $B%G%#%l%/%H%j$N(B `LNFAKE' $B$rJT=8$7$^$9!#(B`wdir' $B$NItJ,$r(B
+ $B$"$J$?$,EOJU(B DNP $B%U%)%s%H$r%$%s%9%H!<%k$7$?%G%#%l%/%H%j$K%;%C%H(B
+ $B$7$^$9!#(B
+
+ wdir=../watanabe-dnp/jd300/
+
+ $B$=$N8e!"0J2<$r<B9T$7$F2<$5$$!#(B
+
+ % LNFAKE jm dm
+ % LNFAKE jb dg
+
+
+ $B%$%s%9%H!<%k8e$N%G%#%l%/%H%j!<%D%j!<$O0J2<$N$h$&$K$J$j$^$9(B:
+
+ $fonts/ +- watanabe-dnp/ +-jd300/ (all pk files)
+ | |
+ | +-tfm/
+ | |
+ | +-Makefile, FAKEDNP, FAKETFM, fake.c ...
+ |
+ +- dnp/
+
+ $fonts/watanabe-dnp/jd300 $B$H(B $fonts/dnp $B$@$1$,I,MW$J$N$G!"(B
+ $fonts/watanabe-dnp/tfm/ $B$dI,MW$NL5$$%U%!%$%k$O:o=|$7$F9=$$$^$;$s!#(B
+
+ tfm $B$r%$%s%9%H!<%k$7$F$"$k%G%#%l%/%H%j$K0\$C$F!"0J2<$r<B9T$7$F$/$@(B
+ $B$5$$!#(B
+
+
+ % gunzip -c tfm-dnp.tar.gz | tar xvf -
+
+ $B$=$l$+$i!"(Btfm-dnp $B$N%U%k%Q%9$r4D6-JQ?t(B TEXFONTS $B$KDI2C$7$F2<$5$$!#(B
+
+
+$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B)
+
+DNP $B%U%)%s%H$G(B CJK.sty $B$r;H$&Nc$G$9!#(B
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[dnp]{JIS}{song}
+
+ < "$BF|K\8l$NJ8>O(B" >
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \CJKfontenc{JIS}{dnp}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ < "$BF|K\8l$NJ8>O(B" >
+
+ \end{CJK*}
+ \end{document}
+
+
+[$B$J$<!"(Bmulatex $B$H6&$K(B `\begin{CJK*}[dnp]{}{}' $B$H=q$$$F$O$$$1$J$$(B
+$B$+$K$D$$$F$O!"(Bmule2cjk.doc $B$rFI$s$G2<$5$$(B]
+
+
+$BEOJU(B $B%U%)%s%H(B
+-------------
+
+$B%*%j%8%J%k$NEOJU%U%)%s%H$b$^$?!"(BCJK $B$N4D6-$G;H$&;v$,=PMh$^$9!#(B
+
+$B$3$N(B font $B$O$I$3$K$"$j$^$9$+!)(B)
+
+ watanabe-jfonts (pk files)
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/300
+ b250.lzh b274.lzh b300.lzh b329.lzh b360.lzh
+ b432.lzh b518.lzh b622.lzh b746.lzh m250.lzh
+ m274.lzh m300.lzh m329.lzh m360.lzh m432.lzh
+ m518.lzh m622.lzh m746.lzh
+
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/400
+
+ tfm files
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/tfmfiles.lzh
+
+
+$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B)
+
+$BEOJU%U%)%s%H$+$i(B CJK $B$r;H$&Nc$r0J2<$K<($7$^$9!#(B
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[wn]{JIS}{song}
+
+ < "$BF|K\8l$NJ8>O(B" >
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \CJKfontenc{JIS}{wn}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ < "$BF|K\8l$NJ8>O(B" >
+
+ \end{CJK*}
+ \end{document}
+
+
+compilation and coding-system
+-----------------------------
+
+$B$b$7!"(Blatex $B%U%!%$%k$r(B latex $B%3%^%s%I$r;H$C$F%3%s%Q%$%k$9$k$J$i!"%U%!(B
+$B%$%k$rF|K\8l(B EUC $B$GJ]B8$7$J$1$l$P$J$j$^$;$s!"$=$7$F(B
+
+ latex yourfile
+
+$B$H$7$F(B latex $B%U%!%$%k$r=hM}$7$F2<$5$$!#(B
+
+[$B%U%!%$%k$r(B SJIS $B$GJ]B8$9$k;v=PMh$^$9!#$=$N;~$O(B CJK $B$N4D6-$K$*$1$k%(%s(B
+$B%3!<%G%#%s%0%Q%i%a!<%?$r(B JIS $B$NBe$o$j$K(B SJIS $B$K$7$J$1$l$P$J$j$^$;$s!#(B
+SJIS$B$N4D6-$G$b(B JIS $B$N%U%)%s%H$r;H$$$^$9!#(B]
+
+$B$b$7(B latex $B%U%!%$%k$r(B mulatex $B%3%^%s%I$r;H$C$F%3%s%Q%$%k$9$k$J$i!"(B
+latex file $B$rJ]B8$9$k;~$K(B coding $B%7%9%F%`$K4X$7$F$$$/$D$+$NA*Br;h$r;}(B
+$B$D;v$,=PMh$^$9!#(BCJK $B%Q%C%1!<%8$K%G%U%)%k%H$GIU$$$FMh$k(B mulatex $B$r;H$&(B
+$B$J$i(B latex file $B$r(B Mule $B$N(B internal code$B$GJ]B8$7$F!"(B
+
+ mulatex yourfile
+
+$B$H$7$F(B latex $B%U%!%$%k$r=hM}$7$F2<$5$$!#(B
+
+[mulatex $B$O(B CJK $B%Q%C%1!<%8$N(B utils/mule2cjk $B$H$$$&%G%#%l%/%H%j$KCV$+(B
+$B$l$F$$$^$9!#(Bmule2cjk.doc $B$r;2>H$7$F2<$5$$!#(B]
+
+$B$7$+$7!"(BMule $B$N(B internal code $B$,I8=`$N%3!<%I7O$G$J$$$H$+!"(BMule $B0J30$G(B
+$BFI$a$J$$$H$+!">-MhJQ$o$C$F$7$^$&$+$b$7$l$J$$$H$$$&M}M3$G!"(Blatex file
+$B$r(B Mule $B$N(B internal code $B$GJ]B8$7$?$/$J$$>l9g$O!"(Blatex file $B$r!"(B
+ISO2022 $B%(%s%3!<%G%#%s%0$r4p$K$7$?(B *junet* $B$GJ]B8$9$k$+!"(BX window
+system $B$G(B Compound Text Encoding $B$H$7$F;H$o$l$F$$$k(B *ctext* $B$GJ]B8$9$k(B
+$B$3$H$,$G$-$^$9!#0J2<$N$&$A$N0l$D$N(B mulatex shell script $B$GCV$-49$($F2<(B
+$B$5$$!#(B
+
+ : mulatex for *junet*
+
+ % cat mulatex
+ #!/bin/sh
+ # mulatex : LaTeX2e for Mule's *junet* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex $fname.cjk
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+ : mulatex for *ctext*
+
+ % cat mulatex
+ #!/bin/sh
+ # mulatex : LaTeX2e for Mule's *ctext* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*ctext*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex $fname.cjk
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+auctex $BL5$7$G(B mule $B$r;H$&>l9g$O!"0J2<$N(B Lisp code $B$r=i4|2=%U%!%$%k(B
+`.emacs' $B$KIU$12C$($F2<$5$$!#(B
+
+ : `.emacs' for *junet*
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *junet*)
+ )))
+
+ : `.emacs' for *ctext*
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *ctext*)
+ )))
+
+`coco' $B$O(B Mule $B$N(B package $B$K4^$^$l$F$$$k%W%m%0%i%`$G$9!#(B
+
+
+auctex
+------
+
+auctex $B$O(B TeX $B$H(B LaTeX $B%f!<%6!<$N$?$a$N(B elisp $B%Q%C%1!<%8$G$9!#(BCJK $B$N4D(B
+$B6-$r(B auctex $B$KE}9g$9$k$N$O4JC1$G$9!#;H$$J}$O!"(Bdvi $B%U%!%$%k$r%3%s%Q%$%k(B
+$B$9$k$?$a$N%?%$%W%;%C%H%3%^%s%I$,(B latex $B$G$O$J$/(B mulatex $B$G$"$kE@$r=|$1(B
+$B$P!"I8=`$N(B LaTeX $B$HA4$/F1$8$G$9!#0J2<$N%3!<%I$r$"$J$?$N(B `.emacs' $B$+(B
+($B$b$72DG=$J$i(B tex-site.el $B$K(B)$BDI2C$7$F2<$5$$!#(B
+
+ : `.emacs' for auctex users
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *junet*)
+ (nconc
+ TeX-command-list
+ (list
+ (list "MuLaTeX" "aucmulatex %t" 'TeX-run-LaTeX nil t)
+ )
+ )
+ (setq TeX-command-default "MuLaTeX")
+ )))
+
+
+ : mulatex for auctex users
+
+ % cat aucmulatex
+ #!/bin/sh
+ # aucmulatex : LaTeX2e in auctex mode for Mule's *junet* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex \\nonstopmode\\input{$fname.cjk}
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+ $B$3$NNc$O!"(B*junet* $B$K$D$$$F$N$_=q$+$l$F$$$^$9$,!"$b$A$m$sB>$N%3!<%I(B
+ $B7O$G$bF1MM$K;H$($^$9!#(B
+
+
+auctex (yet another usage)
+----------------------------
+
+Shell $B%9%/%j%W%H$r;H$C$?(B mulatex $B$NJQ$o$j$K(B $BD>@\(B elisp $B$r=q$/;v$b$G$-(B
+$B$^$9!#(BLaTeX $B%U%!%$%k$,(B *junet* $B$d(B *ctext*, *euc-japan* $B$H$$$C$?%3!<%I(B
+$B7O$G=q$+$l$F$$$?$H$7$F$b!"(BMule $B$O<+F0E*$K$=$l$i$N%3!<%I$rH=JL$9$k$G$7$g(B
+$B$&!#0J2<$N%3!<%I$r$"$J$?$N(B `.emacs' $B$+(B($B$b$72DG=$J$i(B tex-site.el $B$K(B)$BDI(B
+$B2C$7$F2<$5$$!#(B
+
+ : `.emacs' for auctex user (for Mule 2.3 based on emacs 19.28)
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (nconc
+ TeX-command-list
+ (list
+ (list "MuLaTeX" "latex '\\nonstopmode\\input{%c}'"
+ 'TeX-run-MuLaTeX nil t)
+ )
+ )
+ (nconc
+ TeX-expand-list
+ (list
+ (list "%c" 'file "cjk")
+ ))
+ (setq TeX-command-default "MuLaTeX")
+ )))
+
+ (define-program-coding-system nil "mule2cjk" *internal*)
+
+ (defvar TeX-LaTeX-CJK-tmpfile nil)
+
+ (defun TeX-MuLaTeX-sentinel (process name)
+ (prog1
+ (TeX-LaTeX-sentinel process name)
+ (delete-file TeX-LaTeX-CJK-tmpfile)))
+
+ ; customized from TeX-run-LaTeX
+ (defun TeX-run-MuLaTeX (name command file)
+ "Run mule2cjk and latex on current TeX buffer."
+
+ (let ((TeX-LaTeX-CJK-tmpbuffer (generate-new-buffer-name "cjk")))
+ (setq TeX-LaTeX-CJK-tmpfile (concat file ".cjk"))
+ (generate-new-buffer TeX-LaTeX-CJK-tmpbuffer)
+ (call-process-region
+ (point-min) (point-max) "mule2cjk" nil TeX-LaTeX-CJK-tmpbuffer nil)
+ (set-buffer TeX-LaTeX-CJK-tmpbuffer)
+ (write-region (point-min) (point-max)
+ TeX-LaTeX-CJK-tmpfile nil nil *internal*)
+
+ (let ((process (TeX-run-format name command file)))
+ (setq TeX-sentinel-function 'TeX-MuLaTeX-sentinel)
+ (if TeX-process-asynchronous
+ process
+ (TeX-synchronous-sentinel name file process)))
+ (kill-buffer TeX-LaTeX-CJK-tmpbuffer)))
+
+
+indentfirst.sty
+---------------
+
+$BF|K\8lJ8>O$NCJMn$N%$%s%G%s%H$N$D$1J}$O%*%j%8%J%k$N(B latex $B$N%$%s%G%s%H$N(B
+$BIU$1J}$H0[$C$F$$$^$9!#$3$NLdBj$r2r7h$9$k$?$a$K!"(B`indentfirst.sty' $B$H$$(B
+$B$&!">o$K:G=i$NCJMn$G%$%s%G%s%H$9$k$?$a$N%9%?%$%k%U%!%$%k$,(B LaTeX2e $B$N(B
+official tool $B$NCf$K$"$j$^$9!#(B
+
+indentfirst.sty $B$O$I$3$K$"$j$^$9$+!)(B)
+
+Host ftp.dante.de
+
+ Location: /tex-archive/macros/latex/packages/tools
+ FILE rw-rw-r-- 1492 Dec 14 17:46 indentfirst.dtx
+
+$B$^$?$O!"$"$J$?$N%5%$%H$N6a$/$N(B CTAN $B$N%_%i!<$r$7$F$$$k%5%$%H$K$"$j$^$9!#(B
+
+/pub/TeX/CTAN/macros/latex/packages/tools $B$K$"$kA4$F$N%U%!%$%k$r(B get
+$B$7$F$=$3$K4^$^$l$k(B readme.txt $B$rFI$s$G$+$i%$%s%9%H!<%k$7$?J}$,$$$$$G(B
+$B$7$g$&!#$=$NCf$K$ONc$($P(B tabular $B$d(B verbatim $B$H$$$C$?Hs>o$KM-MQ$J%9%?(B
+$B%$%k%U%!%$%k$,4^$^$l$F$$$^$9!#(B
+
+\maketitle
+----------
+
+$BF|K\8l$N%?%$%H%k$r=q$-$?$$;~$O!"(B\maketitle $B%3%^%s%I$O(B CJK $B$N4D6-$NFbB&(B
+$B$K$J$/$F$O$$$1$^$;$s!#$J$<$J$i!"F|K\8l$N%?%$%H%k$O(B CJK $BJ8;z$r4^$`$+$i(B
+$B$G$9!#(B
+
+$BNc(B)
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \begin{CJK*}{}{}
+ \title{ < "$BF|K\8l$NJ8>O(B" > }
+ \author{ < "$BF|K\8l$NJ8>O(B" > }
+ \end{CJK*}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ \maketitle
+ .....
+ < "$BF|K\8l$NJ8>O(B" >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+JIS.cap
+-------
+
+CJK $B$G$OF|K\8l(B caption $B$r;H$&$3$H$b$G$-$^$9!#$=$N$?$a$K$O!"(B($BI8=`$N(B
+class $B$rCV$-49$($F$7$^$&(B) koma-script $B%Q%C%1!<%8$,I,MW$G$9!#(B($B>\$7$/$O(B
+CJK.txt $B$N(B captions $B$r;2>H$7$F$/$@$5$$!#(B)
+
+[CJK 4.1.0 $B$h$jA0$N%P!<%8%g%s$G$O$3$N5!G=$OF|K\8l$K4X$7$F$&$^$/F0:n$7(B
+ $B$^$;$s!#(B]
+
+
+Koma-script $B$O$I$3$K$"$j$^$9$+!)(B)
+
+Host ftp.dante.de
+
+ Location: /tex-archive/macros/latex/contrib/supported
+ DIRECTORY rwxr-xr-x 1024 Jan 23 12:20 koma-script
+
+$B$^$?$O!"$"$J$?$N%5%$%H$N6a$/$N(B CTAN $B$N%_%i!<$r$7$F$$$k%5%$%H$K$"$j$^$9!#(B
+
+$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B)
+
+CJK JIS $B4D6-$NCf$G0J2<$N%3%^%s%I$r=q$/;v$K$h$C$F(B
+
+ \CJKcaption{JIS}
+
+$BF|K\8l(B caption $B$rM-8z$K$9$k;v$,$G$-$^$9!#(B
+
+ CJK.sty $B$H(B Koma-script $B$GF|K\8l(B caption $B$r;H$&$?$a$K$O(B, $B0J2<$NNc$r(B
+ $B$NMM$K$7$F$/$@$5$$!#(B
+
+ % srcartcl is a stylefile of Koma-script
+ \documentclass{scrartcl}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[dnp]{JIS}{song}
+ \CJKcaption{JIS}
+
+ < "$BF|K\8l$NJ8>O(B " >
+
+ % $BF|K\8l(B Caption
+ \refname{< "$BF|K\8l$NJ8>O(B " >}
+
+ \end{CJK*}
+ \end{document}
+
+
+\newpage
+--------
+
+CJK $B$N%3%^%s%I$,L$Dj5A$G$"$k$H$$$&%(%i!<$K=P$/$o$9>l9g$K$O!"(BCJK $B4D6-$,(B
+$B=*N;$9$kD>A0$G$=$N%Z!<%8$r(B($B%a%b%j$+$i%U%!%$%k$X(B)$B=q$-=P$9I,MW$,$"$j$^$9!#(B
+$B$J$<$J$i!"(BLaTeX $B$O(B CJK $B4D6-$r=*N;8e$K(B(CJK $B%3%^%s%I$r4^$`(B)$B%X%C%@$r(B($B%U%!(B
+$B%$%k$X(B)$B=q$-9~$`$3$H$,$"$k$+$i$G$9!#(B($B>\$7$/$O(B CJK.txt $B$N(B Possible
+errors $B$r;2>H$7$F$/$@$5$$!#(B)
+
+
+$BNc(B)
+
+ \documentclass[a4paper]{article}
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{JIS}{song}
+
+ < "$BF|K\8l$NJ8>O(B" >
+ .....
+ \newpage
+ \end{CJK*}
+ \end{document}
+
+
+$BF|K\8l(B Postscript $B%W%j%s%?!<(B
+----------------------------
+
+$B<+J,$N%5%$%H$K(B /Ryumin-Light $B$H(B /GothicBBB-Medium $B$r<BAu$7$F$$$k$+!"$b(B
+$B$7$/$O%(%_%e%l!<%H$G$-$kF|K\8l(B PS $B%U%)%s%H$rFbB"$7$F$$$k(B PostScript $B%W(B
+$B%j%s%?!<$,$"$l$P!"(BDNP $B%U%)%s%H%a%H%j%C%/$r;}$D(B dnp-tfm (DNP fonts $B;2>H(B)
+$B$K$h$C$F:n$i$l$?(B dvi $B%U%!%$%k$r4JC1$K0u:~$9$k;v$,$G$-$^$9!#(Bdvi2ps $B$OF|(B
+$BK\8l(B PostScript $B%W%j%s%?$N%I%i%$%P!<%=%U%H$G$9!#$^$?F1MM$K(B DNP $B%U%)%s%H(B
+$B$HF1$8%a%H%j%C%/$r;}$DEOJU(B DNP $B%U%)%s%H$r(B preview $B$K;H$&$3$H$b$G$-$^$9!#(B
+
+dvi2ps $B$O$I$3$K$"$j$^$9$+!)(B)
+
+Host ftp.math.s.chiba-u.ac.jp
+
+ Location: /tex
+ FILE rw-r--r-- 112970 Dec 1 1994 dvi2ps-1.91j.tar.gz
+
+
+------------------
+Version 1.0 Beta7 (1996/02/03)
+ Tanaka Shinichiro Email: tanaka3@ifos.se.fujitsu.co.jp
+
+
+
+---End of japanese.jis---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.txt
new file mode 100644
index 00000000000..e637fdb0d75
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.txt
@@ -0,0 +1,637 @@
+This is the file japanese.txt of the CJK macro package ver. 4.1.0
+(20-Nov-1996).
+
+It concentrates on the use of DNP fonts (their font metrics can be used
+in conjunction with PS printers which have their own builtin Japanese fonts)
+and watanabe jfonts.
+
+The use of the kanji48 bitmap font together with hbf2gf is similar to all
+other CJK bitmap files and is documented in detail in the file hbf2gf.txt .
+
+
+kanji48 font
+------------
+
+Where is the font ? )
+
+Host ftp.tex.ac.uk
+ Location: /pub/archive/fonts/CJK
+ FILE -rw-rw-r-- 1 ctan TeX 742459 Dec 1 00:01 kanji48.tar.gz
+Host ftp.dante.de
+ Location: /tex-archive/fonts/CJK
+ FILE -rw-rw-r-- 1 Mr.Ftp server 742459 Dec 1 00:01 kanji48.tar.gz
+
+or your nearest CTAN mirror ftp sites.
+
+
+How to use it in CJK ? )
+
+Use CJK.sty with Japanese as follows:
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{JIS}{song}
+
+ .....
+ < Japanese text >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ .....
+ < Japanese text >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+The package CJK offers two environments: CJK and CJK*. CJK* suppresses
+spaces followed by a CJK character, whereas CJK doesn't.
+
+If you write only Japanese, you should use the CJK* environment. If you
+really need a space directly followed by a JIS character, you must then use
+TeX commands like `\ ', `{} ', etc.
+
+It is highly recommended to declare
+
+ \usepackage[global]{CJK}
+
+if you use mulatex to be able to write Japanese inside of other
+environments. See mule2cjk.doc for details.
+
+
+DNP fonts
+---------
+
+What are DNP fonts ? )
+
+DNP stands for "Dai Nippon Printing" (a big printing company in Japan). DNP
+fonts are commercial fonts made by this company; if real DNP fonts have been
+already installed at your site, you should use them. But watanabe-dnp fonts,
+which are customized from watanabe-jfonts to emulate DNP fonts, are
+freeware. The method of emulation is symbolic name linking.
+
+
+Where are the fonts ? )
+
+ watanabe-dnp (pk files)
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/300
+ jb10-300pk.tar.gz jb10-622pk.tar.gz jm10-329pk.tar.gz
+ jm10-746pk.tar.gz jb10-329pk.tar.gz jb10-746pk.tar.gz
+ jm10-360pk.tar.gz jm8-300pk.tar.gz jb10-360pk.tar.gz
+ jb8-300pk.tar.gz jm10-432pk.tar.gz jm9-300pk.tar.gz
+ jb10-432pk.tar.gz jb9-300pk.tar.gz jm10-518pk.tar.gz
+ jb10-518pk.tar.gz jm10-300pk.tar.gz jm10-622pk.tar.gz
+ tfm files
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm-dnp.tar.gz
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm.tar.gz
+ tools for symbolic link
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/fake.tar.gz
+
+How to set them up ? )
+
+ Suppose your fonts directory is $fonts ,
+ (e.g. /usr/local/lib/tex/fonts/japan)
+ and your source directory in which the above files are put is $src.
+ (e.g. /usr/local/src)
+
+ You should now expand all fonts that you've downloaded from the ftp
+ server.
+
+ % cd $src
+ % gunzip -c fake.tar.gz | tar xvf -
+ % gunzip -c jd....pk.tar.gz | tar xvf -
+ % gunzip -c jm....pk.tar.gz | tar xvf -
+ % gunzip -c tfm.tar.gz | tar xvf -
+
+ Make directories.
+
+ % cd $fonts
+ % mkdir $fonts/watanabe-dnp
+ % mkdir $fonts/watanabe-dnp/jd300
+ % mkdir $fonts/watanabe-dnp/tfm
+
+ Copy files.
+
+ % cd $fonts/watanabe-dnp
+ % cp $src/fake/* .
+ % cp $src/tfm/* tfm
+ % cp $src/*pk/*pk jd300
+
+ Make all watanabe-dnp fonts.
+
+ % make mk-300ex
+
+ Make symbolic links.
+
+ % mkdir $fonts/dnp
+ % cd $fonts/dnp
+ % cp $fonts/watanabe-dnp/LNFAKE .
+
+ Next, edit the file `LNFAKE' in the dnp directory. Make sure that
+ `wdir' is set to the directory where you have installed watanabe-dnp
+ fonts:
+
+ wdir=../watanabe-dnp/jd300/
+
+ Then execute,
+
+ % LNFAKE jm dm
+ % LNFAKE jb dg
+
+
+ The directory tree after the installation will look like this:
+
+ $fonts/ +- watanabe-dnp/ +-jd300/ (all pk files)
+ | |
+ | +-tfm/
+ | |
+ | +-Makefile, FAKEDNP, FAKETFM, fake.c ...
+ |
+ +- dnp/
+
+ You will need only the directories $fonts/watanabe-dnp/jd300 and
+ $fonts/dnp. You can remove $fonts/watanabe-dnp/tfm/ together with the
+ other now unnecessary files.
+
+ Moving to your tfm directory, execute
+
+ % gunzip -c tfm-dnp.tar.gz | tar xvf -
+
+ Then add tfm-dnp (with the full path) to the TEXFONTS environment
+ variable.
+
+
+How to use them in CJK ? )
+
+See the following examples how to use CJK.sty with DNP fonts.
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[dnp]{JIS}{song}
+
+ <Japanese text>
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \CJKfontenc{JIS}{dnp}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ <Japanese text>
+
+ \end{CJK*}
+ \end{document}
+
+
+[Read the file mule2cjk.doc for an explanation why you can't say
+ `\begin{CJK*}[dnp]{}{}' with mulatex.]
+
+
+watanabe jfonts
+---------------
+You can also use the original watanabe jfonts in a CJK environment.
+
+Where are the fonts ? )
+
+ watanabe-jfonts (pk files)
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/300
+ b250.lzh b274.lzh b300.lzh b329.lzh b360.lzh
+ b432.lzh b518.lzh b622.lzh b746.lzh m250.lzh
+ m274.lzh m300.lzh m329.lzh m360.lzh m432.lzh
+ m518.lzh m622.lzh m746.lzh
+
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/400
+
+ tfm files
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/tfmfiles.lzh
+
+
+How to use them in CJK ? )
+
+See the following examples how to use CJK.sty with watanabe jfonts.
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[wn]{JIS}{song}
+
+ <Japanese text>
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \CJKfontenc{JIS}{wn}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ <Japanese text>
+
+ \end{CJK*}
+ \end{document}
+
+
+compilation and coding-system
+-----------------------------
+
+If you use `latex' to compile latex files, you must save these files in
+Japanese EUC and say
+
+ latex yourfile
+
+to process these files.
+
+[You can also save the file in SJIS encoding; then you must use `SJIS'
+ instead of `JIS' as the encoding parameter in the CJK environment. Note
+ that SJIS uses the JIS fonts.]
+
+If you use `mulatex' to compile latex files, there are several possibilities
+in which coding-system you can save your latex files. If you use the
+original mulatex script file that comes with the CJK package, you must save
+these files in Mule's internal code and say
+
+ mulatex yourfile
+
+to process these files.
+
+[mulatex is in utils/mule2cjk in CJK package directory. ref: mule2cjk.doc]
+
+But if you do not like the idea of saving latex files in Mule's internal
+encoding (this coding-system is not a standard coding-system, can not be
+read without Mule and will be changed in the future), you can save them in
+*junet*, which is based on ISO-2022 encoding, or in *ctext*, which is used
+in the X window system as Compound Text Encoding. Then replace the mulatex
+shell script with one of the following examples.
+
+
+ : mulatex for *junet*
+
+ % cat mulatex
+ #!/bin/sh
+ # mulatex : LaTeX2e for Mule's *junet* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex $fname.cjk
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+ : mulatex for *ctext*
+
+ % cat mulatex
+ #!/bin/sh
+ # mulatex : LaTeX2e for Mule's *ctext* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*ctext*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex $fname.cjk
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+If you use Mule (without auctex), add one of the following pieces of
+Lisp code to your .emacs initialization file.
+
+ : `.emacs' for *junet*
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *junet*)
+ )))
+
+ : `.emacs' for *ctext*
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *ctext*)
+ )))
+
+The program `coco' is included in the Mule package.
+
+
+auctex
+------
+
+auctex is an elisp package for TeX and LaTeX users. It is easy to integrate
+the CJK environment into auctex; the usage is very similar to ordinary LaTeX
+with the exception that the typesetting command to compile a .dvi file is
+not `latex' but `mulatex'.
+
+Add the following code to your .emacs file (or, if possible, to
+tex-site.el).
+
+ : `.emacs' for auctex users
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *junet*)
+ (nconc
+ TeX-command-list
+ (list
+ (list "MuLaTeX" "aucmulatex %t" 'TeX-run-LaTeX nil t)
+ )
+ )
+ (setq TeX-command-default "MuLaTeX")
+ )))
+
+
+ : mulatex for auctex users
+
+ % cat aucmulatex
+ #!/bin/sh
+ # aucmulatex : LaTeX2e in auctex mode for Mule's *junet* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex \\nonstopmode\\input{$fname.cjk}
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+ This example describes only the usage for *junet*. Of course, you can use
+ other coding systems too.
+
+
+auctex (yet another usage)
+----------------------------
+
+You can directly write elisp code instead of using a mulatex shell script
+(not for the faint-hearted :-). If TeX files are written in *junet*, *ctext*,
+*euc-japan* ... encoding, Mule will understand the input files automatically.
+Add the following code to your .emacs file (or, if possible, to tex-site.el).
+
+ : `.emacs' for auctex user (for Mule 2.3 based on emacs 19.28)
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (nconc
+ TeX-command-list
+ (list
+ (list "MuLaTeX" "latex '\\nonstopmode\\input{%c}'"
+ 'TeX-run-MuLaTeX nil t)
+ )
+ )
+ (nconc
+ TeX-expand-list
+ (list
+ (list "%c" 'file "cjk")
+ ))
+ (setq TeX-command-default "MuLaTeX")
+ )))
+
+ (define-program-coding-system nil "mule2cjk" *internal*)
+
+ (defvar TeX-LaTeX-CJK-tmpfile nil)
+
+ (defun TeX-MuLaTeX-sentinel (process name)
+ (prog1
+ (TeX-LaTeX-sentinel process name)
+ (delete-file TeX-LaTeX-CJK-tmpfile)))
+
+ ; customized from TeX-run-LaTeX
+ (defun TeX-run-MuLaTeX (name command file)
+ "Run mule2cjk and latex on current TeX buffer."
+
+ (let ((TeX-LaTeX-CJK-tmpbuffer (generate-new-buffer-name "cjk")))
+ (setq TeX-LaTeX-CJK-tmpfile (concat file ".cjk"))
+ (generate-new-buffer TeX-LaTeX-CJK-tmpbuffer)
+ (call-process-region
+ (point-min) (point-max) "mule2cjk" nil TeX-LaTeX-CJK-tmpbuffer nil)
+ (set-buffer TeX-LaTeX-CJK-tmpbuffer)
+ (write-region (point-min) (point-max)
+ TeX-LaTeX-CJK-tmpfile nil nil *internal*)
+
+ (let ((process (TeX-run-format name command file)))
+ (setq TeX-sentinel-function 'TeX-MuLaTeX-sentinel)
+ (if TeX-process-asynchronous
+ process
+ (TeX-synchronous-sentinel name file process)))
+ (kill-buffer TeX-LaTeX-CJK-tmpbuffer)))
+
+
+indentfirst.sty
+---------------
+
+Japanese style of indenting paragraphs is different from the original latex.
+There is a style file called `indentfirst.sty' in the official LaTeX2e
+`tools' package which always indents the first paragraph.
+
+Where is indentfirst.sty ? )
+
+Host ftp.dante.de
+
+ Location: /tex-archive/macros/latex/packages/tools
+ FILE rw-rw-r-- 1492 Dec 14 17:46 indentfirst.dtx
+
+or your nearest CTAN mirror ftp sites.
+
+You should get all files in /pub/TeX/CTAN/macros/latex/packages/tools, read
+the readme.txt file and install them. There are many, many useful styles in it.
+(e.g. tabular or verbatim etc.)
+
+
+\maketitle
+----------
+
+When you write Japanese titles, make sure that the \maketitle command
+is inside of a CJK environment because it contains CJK characters.
+
+example )
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \begin{CJK*}{}{}
+ \title{ < Japanese Text > }
+ \author{ < Japanese Text > }
+ \end{CJK*}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ \maketitle
+ .....
+ < Japanese Text >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+
+JIS.cap
+-------
+
+CJK provides Japanese captions. You need the koma-script package (which is a
+replacement of the standard classes) to use the caption files. (ref: `CJK
+captions' in CJK.txt)
+
+[This feature does not work for Japanese in CJK versions prior to 4.1.0]
+
+
+Where is Koma-script ? )
+
+Host ftp.dante.de
+
+ Location: /tex-archive/macros/latex/contrib/supported
+ DIRECTORY rwxr-xr-x 1024 Jan 23 12:20 koma-script
+
+or your nearest CTAN mirror ftp sites.
+
+How to use it in CJK ? )
+
+Inside of your CJK JIS environment, put
+
+ \CJKcaption{JIS}
+
+to activate Japanese captions.
+
+ To use CJK.sty and Koma-script for Japanese captions, see the
+ example below.
+
+ % srcartcl is a stylefile of Koma-script
+ \documentclass{scrartcl}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[dnp]{JIS}{song}
+ \CJKcaption{JIS}
+
+ <Japanese text>
+
+ % Japanese Caption
+ \refname{<Japanese text>}
+
+ \end{CJK*}
+ \end{document}
+
+
+\newpage
+--------
+
+If you encounter an undefined CJK command (just before leaving the CJK
+environment), it is necessary to flush out the page, because LaTeX sometimes
+writes the headers _after_ the environment was closed. (ref: `Possible
+errors' in CJK.txt)
+
+
+example )
+
+ \documentclass[a4paper]{article}
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{JIS}{song}
+
+ < Japanese text >
+ .....
+ \newpage
+ \end{CJK*}
+ \end{document}
+
+
+Japanese PostScript printer
+---------------------------
+
+If your site has a postscript printer with builtin Japanese PS fonts
+that implements /Ryumin-Light and /GothicBBB-Medium, or a printer that
+can emulate these fonts, you can easily use it to print out a dvi file
+made from dnp-tfm (see DNP fonts). `dvi2ps' is a tool to drive printer
+resident Japanese PS fonts. You can also use watanabe-dnp fonts for
+previewing, as their metric files are the same.
+
+Where is dvi2ps ? )
+
+Host ftp.math.s.chiba-u.ac.jp
+
+ Location: /tex
+ FILE rw-r--r-- 112970 Dec 1 1994 dvi2ps-1.91j.tar.gz
+
+
+------------------
+Version 1.0 Beta8 (1996/02/09)
+ Tanaka Shinichiro Email: tanaka3@ifos.se.fujitsu.co.jp
+
+
+
+---End of japanese.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-fonts.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-fonts.txt
new file mode 100644
index 00000000000..49d2bae5190
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-fonts.txt
@@ -0,0 +1,54 @@
+Data: Japanese Fonts Environment
+
+
+Phototypesetting systems and font makers.
+ Syaken
+ Morisawa
+ Ryobi
+
+Font makers.
+ Dai Nippon Screen
+ Font Works
+ Ricoh ---> TrueType fonts (MS-mincho, MS-gothic; used in
+ Japanese MS-Windows)
+ (some further companies also make Japanese PS fonts, e.g. URW from
+ Germany)
+
+Printing companies.
+ Dai Nippon Printing (DNP)
+ Tokyo Syoseki Printing
+ Toppan Printing
+ (these are only the biggest companies; many further printing
+ companies are active in Japan)
+
+(Ref: `Dai' means `Big'. `Nippon' means `Japan'. `Syoseki' means `books'.
+ Ricoh is not only a font maker.)
+
+
+ 1. Syaken Co is the most famous and biggest company dealing with
+ phototypesetting systems and fonts in Japan.
+
+ 2. Syaken does not make PostScript Fonts. Their fonts are used
+ only on Syaken's special phototypesetting machines which many
+ printing companies use.
+
+ 3. Morisawa made Postscript Fonts in cooperation with Adobe Inc.
+ It is famous that their fonts have strong software copy
+ protection.
+
+ 4. There are inexpensive PS fonts called `HEISEI Mincho' and
+ `HEISEI Gothic' made by the Nippon standard association (I
+ don't know the exact English name of this association). These
+ fonts are not so beautiful as Morisawa's PS fonts but cheaper.
+
+ 5. In former times pure PostScript printers only had Morisawa's PS
+ fonts as builtin fonts. Now there are also pure PS printers
+ that use builtin Heisei fonts.
+
+ 6. The dvi2ps program outputs Morisawa's font metrics.
+
+
+This document contains no information about the relation about ASCII Nihongo
+TeX and Syaken's phototypesetting machines.
+
+Version 1.0B4 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-tex.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-tex.txt
new file mode 100644
index 00000000000..8effc418322
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-tex.txt
@@ -0,0 +1,50 @@
+Data: NTT-JTeX's Standard Fonts Environment.
+
+ (La)TeX file
+ |
+ +--- dnp-tfm (DNP font metrics)
+ |
+ dvi file
+ |
+ +-----------------------+-----------------------+
+ | | |
+ dvips-5.58 dvips-5.58 dvi2ps-1.91j
+ | or dvi2ps-1.91j | or dvi2ps-1.91j |
+ | | |
+ real DNP fonts watanabe-dnp fonts Japanese PostScript
+ (pk fonts) (pk fonts) fonts
+ | | |
+ | | |
+ PostScript PostScript Japanese PostScript
+ Printer Printer Printer
+ (or dot Printer (or dot Printer
+ with GhostScript) with GhostScript)
+
+ 1. Real DNP fonts are commercial fonts sold by DNP.
+ DNP Fonts are *not* PostScript fonts but PK fonts.
+
+ 2. Watanabe DNP fonts are freeware. That have same font metrics as
+ real DNP Fonts but have different font names.
+
+ 3. DNP fonts are more beautiful than any available freeware fonts.
+ (The book written about NTT-JTeX is printed by DNP.)
+
+ 4. NTT-JTeX uses DNP Font Metrics by default.
+ dvi2ps is standard dviware for NTT-JTeX.
+
+ 5. The printer resident PostScript fonts have no relation to DNP
+ fonts.
+
+ 6. But dvi2ps use `DNP Font Metrics' to drive printer resident
+ PostScript fonts.
+
+ 7. Recently PostScript fonts are more used than DNP fonts since
+ Japanese PostScript printers are now inexpensive in Japan.
+
+
+This document contains no information about TrueType and outline (vector)
+fonts.
+
+Version 1.0B4 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp
+
+
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/preview.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/preview.txt
new file mode 100644
index 00000000000..574eb29925b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/preview.txt
@@ -0,0 +1,39 @@
+Data: NTT-JTeX's Preview Environment.
+
+ (La)TeX file
+ |
+ +--- dnp-tfm (DNP fonts metric)
+ |
+ dvi file
+ |
+ +-----------------------+-----------------------+
+ | | |
+ | | |
+ real DNP fonts watanabe-dnp fonts Outline fonts
+ (pk fonts) (pk fonts) (vector fonts)
+ | | |
+ xdvi-20 xdvi-20 [ Now investigating ]
+
+
+ 1. If you use real DNP fonts or watanabe-dnp fonts for printing,
+ you should use them to preview dvi files too.
+
+ 2. If you use a Japanese Postscript printer for printing, there
+ are different possibilities to preview dvi files.
+
+ 1) pk fonts.
+
+ Because dvi files are made from dnp-tfm, you can preview the
+ dvi files by real DNP fonts or watanabe-dnp fonts.
+
+ Of course Japanese PS fonts are not exactly equal to DNP
+ fonts.
+
+ 2) outline fonts.
+
+ Outline fonts need less disc space than PK fonts. You can
+ use outline fonts (often called vector fonts) to preview
+ them.
+
+
+Version 1.0B3 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/shibuaki.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/shibuaki.txt
new file mode 100644
index 00000000000..ca317a82fd0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/shibuaki.txt
@@ -0,0 +1,150 @@
+
+Handling of space between Kanji and non-Kanji characters.
+
+
+1. Shibuaki or Yonbuaki ($B;MJ,$"$-(B)
+
+
+
+ <Japanese Text> English word <Japanese Text>
+ ^ ^
+ This point This point
+
+ This space is called "Shibuaki" which has a width of a quarter of a kanji
+ font width. It is used only between Kanji and non-Kanji characters.
+ (between Kanji and Kanji only stretchable glue is used; between
+ ASCII and ASCII ordinary space.)
+
+
+2. Yakumono($BLsJ*(B)
+
+ Here are the rules how and where to use Shibuaki.
+
+2.1 Yakumono for ASCII characters
+
+ rules:
+
+ 0 No shibuaki between previous kanji character and the ASCII
+ character, and between next kanji character and the ASCII
+ character.
+
+ <Kanji character><ASCII character><Kanji Character>
+
+ 1 Shibuaki space only between previous kanji character and the
+ ASCII character.
+
+ <Kanji character> <ASCII character><Kanji Character>
+ ^
+ shibuaki
+
+ 2 Shibuaki space only between next kanji character and the ASCII
+ character.
+
+ <Kanji character><ASCII character> <Kanji Character>
+ ^
+ shibuaki
+
+ 3 Shibuaki spaces between kanji characters and ASCII word.
+
+ <Japanese Text> English word <Japanese Text>
+ ^ ^
+ shibuaki shibuaki
+
+
+ Rule 3 is always used by all printable ASCII characters without
+ the following yakumono ASCII characters.
+
+ [This is data from ASCII-Nihongo TeX.]
+
+ % ASCII yakumono characters and the corresponding rules
+ ( 1
+ ) 2
+ [ 1
+ ] 2
+ ` 1
+ ' 2
+ ; 2
+ , 2
+ . 2
+
+2.2 Yakumono for kanji characters
+
+ rules:
+
+ 0 No shibuaki space between previous ASCII character and the kanji
+ character, and between next ASCII character and the kanji
+ character.
+
+ <ASCII character><Kanji character><ASCII character>
+
+ 1 No shibuaki space between previous ASCII character and the kanji
+ character.
+
+ <ASCII character><Kanji character> <ASCII character>
+ ^
+ shibuaki
+
+ 2 No shibuaki space between next ASCII character and the kanji
+ character.
+
+ <ASCII character> <Kanji character><ASCII character>
+ ^
+ shibuaki
+
+ 3 Shibuaki spaces between kanji character and ASCII characters
+
+ <ASCII character> <Kanji character> <ASCII character>
+ ^ ^
+ shibuaki shibuaki
+
+ Rule 3 is always used by all kanji characters without the following
+ yakumono kanji characters.
+
+ [This is data from ASCII-Nihongo TeX.]
+
+ % Kanji yakumono characters and the corresponding rules
+ $B!"(B 1
+ $B!#(B 1
+ $B!$(B 1
+ $B!%(B 1
+ $B!((B 1
+ $B!)(B 1
+ $B!K(B 1
+ $B!J(B 2
+ $B!O(B 1
+ $B!N(B 2
+ $B!Q(B 1
+ $B!P(B 2
+ $B!F(B 2
+ $B!G(B 1
+ $B!H(B 2
+ $B!I(B 1
+ $B!L(B 2
+ $B!M(B 1
+ $B!R(B 2
+ $B!S(B 1
+ $B!T(B 2
+ $B!U(B 1
+ $B!V(B 2
+ $B!W(B 1
+ $B!X(B 2
+ $B!Y(B 1
+ $B!Z(B 2
+ $B![(B 1
+ $B!=(B 0
+ $B!A(B 0
+ $B!D(B 0
+ $B!o(B 0
+ $B!k(B 1
+ $B!l(B 1
+ $B!m(B 1
+
+
+
+
+Reference: "Nihongo TeX technical book I" ASCII co.
+ $BF|K\8l(BTeX$B%F%/%K%+%k%,%$%I(B I $B%"%9%-!<=PHG6I(B
+ 2200 yen.
+
+
+Version 1.0B1 written by tanaka3@ifos.se.fujitsu.co.jp
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/HOWTO.txt b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/HOWTO.txt
new file mode 100644
index 00000000000..1579492ca88
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/HOWTO.txt
@@ -0,0 +1,425 @@
+How to make PDF files using CJK/LaTeX with embedded TrueType fonts
+
+Hin-Tak Leung <htl10@users.sourceforge.net>
+December 2003
+
+
+Introduction
+------------
+
+Existing CJK/LaTeX instruction for high-quality print-out tends to suggest
+permanently converting TrueType fonts (which had a better availability) to
+postscript sub-fonts; this document covers how to use TrueType fonts
+directly, and also preparing such PDF documents. Today, the PDF output
+format is slightly more popular than PostScript; also, even on US English
+systems, CJK font packs are available for font substitution in Adobe Acrobat
+Reader (and similar mechanisms exist for xpdf and ghostscript), which allows
+the generation of PDF files containing only important textual content but no
+embedded fonts. Such files are small enough to be e-mailed while preserving
+formatting, provided the recipient has the font packs installed. This
+document also covers the issues with no-embedded-font PDF files at the very
+end as well.
+
+The following steps are discussed below in greater detail:
+
+ 1. Finding the fonts.
+ 2. Getting and building some software: ttf2tfm, dvipdfmx.
+ Some other nice optional software: oto, the other freetype/freetype2
+ demo tools, ttfm, ttx.
+ 3. Using ttf2tfm, generating *.tfm and *.enc files for each font.
+ 4. Putting the fonts, the *.tfm files, and the *.enc files into the right
+ place in your system.
+ 5. Configuring dvipdfmx to use the new fonts.
+ 6. (optional) Configuring pdflatex to use the new fonts also.
+ 7. Configuring CJK/LaTeX to use those fonts.
+ 8. Testing.
+ 9. Problems and tips.
+
+I can read both traditional and simplified Chinese, and a substantial amount
+of Japanese, but there isn't any Korean-specific info here. Hopefully this
+is useful enough as a starting point at least for Korean-related
+experiments.
+
+The two most important references during this venture was the FreeBSD
+(Taiwan) Chinese HOWTO (it is substantially better and more up-to-date than
+the GNU/Linux one), and Edward G. J. Lee's various treatises on the net,
+particularly his `mycjk' notes. Unfortunately both are available in Chinese
+only, I believe.
+
+
+1. Fonts
+========
+
+ Chinese
+ -------
+
+ Arphic donated 4 high-quality Chinese fonts to the open-source community:
+ two for traditional and two for simplified Chinese, respectively. They are
+ shipped with Redhat 9 (which I used for most of this work) and Debian 3
+ and possibly also other GNU/Linux distributions; they can be downloaded
+ from Arphic's home site and, probably more convenient, from
+
+ ftp://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/
+
+ and its mirrors. Tip: Use `unzip -L' to convert file names to lowercase.
+
+ Redhat 9 also ships zysong, a simplified Chinese font. This font seems to
+ be licensed to Redhat only since it isn't found in other GNU/Linux
+ distributions. It is part of the package "ttfonts-zh_CN-2.12-1.noarch.rpm",
+ together with the two Arphic simplified Chinese fonts, on the 3rd CD
+ of the Redhat 9 CD set.
+
+ The Ministry of Education in Taiwan released a few fonts for
+ standardization: Currently two are available from the ministry's home page
+ (http://www.edu.tw/mandr/index.htm), but there are old versions with
+ different type faces floating around in the net.
+
+ CwTeX (a Chinese-enabled LaTeX implementation in Taiwan) ships 5 fonts.
+ (http://ccms.ntu.edu.tw/~ntut019/cwtex/cwtex.html)
+
+ Still available is the set of 8 TrueType fonts from NTU which were widely
+ used previously for CJK/LaTeX documents (http://input.cpatch.org/font/ntu/).
+
+ There is also a set of 10 quite fancy and unusual fonts for traditional
+ Chinese, developed by Dr Hann-Tzong Wang
+ (http://140.135.64.77/teacher/htwang/htwang.htm). It is distributed as
+ one of the standard font sets for FreeBSD Taiwan.
+ (http://www.freebsd.org/cgi/pds.cgi?ports/chinese/wangttf).
+
+ Japanese
+ --------
+
+ Redhat 9 and SuSE both ship the Kochi Gothic and Mincho fonts; Debian
+ ships Watanabe Mincho and Wadalab Gothic as part of the XTT TrueType font
+ server. The packages are: "ttfonts-ja-1.2-21.noarch.rpm" on the 3rd disc
+ of the Redhat 9 CD set, "ttf-kochi-mincho-0.2.20020727-81.noarch.rpm" and
+ "ttf-kochi-gothic-0.2.20030118-17.noarch.rpm" on SuSe 8.2,
+ "xtt-fonts" for Debian systems.
+
+ Other source of fonts (e.g. Win2k/WinXP/Win2k3 ships a few as standard,
+ and also localized version of MS Office, etc.) are mostly proprietary.
+
+ These instructions are known to work on those also, but I don't want to
+ go into specific details...
+
+
+2. ttf2tfm and dvipdfmx
+=======================
+
+ The specific details about compiler switches, include paths, are for
+ the Redhat 9 distribution. You may have to adapt them.
+
+ ttf2tfm
+ -------
+
+ ttf2tfm is part of ttf2pk package which is itself part of
+ freetype-contrib, a suite of programs depending on the FreeType 1 library.
+ Most GNU/Linux systems ship both FreeType 2 and FreeType 1 (that's the
+ case for RH9, in fact), which are *not* compatible. So I decided to build
+ the latest FreeType 1 static version and made freetype-contrib depend on
+ that to avoid using the out-dated library shipped with my system. The
+ mentioned packages can be downloaded from ftp.freetype.org.
+
+ Unpack freetype-current (adapt the `/home/hleung' part to suit yourself),
+ then do
+
+ cd /home/hleung/freetype-current
+ ./configure --enable-static --disable-shared --prefix=/home/hleung
+ make
+
+ Now unpack freetype-contrib-current inside the freetype-current tree, then
+ do
+
+ cd freetype-contrib-current/ttf2pk
+ CFLAGS=-I../../lib/ LDFLAGS=-L../../lib/.libs ./configure \
+ --with-kpathsea-lib=/usr/lib --with-kpathsea-include=/usr/include
+ make
+ make install
+
+ Important: At the end, you need to manually copy the data/*.sfd files into
+ ${TEXMF}/ttf2tfm and also ${TEXMF}/ttf2pk (a soft link from
+ ${TEXMF}/ttf2tfm to ${TEXMF}/ttf2pk will do also).
+
+ [The recent TeX directory structure (TDS), version 1.1, comes with a new
+ subdirectory fonts/sfd, to be accessed with the kpathsea variable
+ $SFDFONTS. ttf2tfm and other programs available in the TeXLive
+ distribution have already been updated to use it.]
+
+ The man pages of ttf2tfm and ttf2pk give detailed explanation of all
+ command line arguments.
+
+ Tip: I find a utility called "checkinstall" quite useful. Instead of `make
+ install' one calls `checkinstall' which does the same as `make install'
+ but also integrates the data nicely into the package management system for
+ Redhat/Debian/Slackware; this gives cleaner upgrades and uninstalls.
+
+ dvipdfmx
+ --------
+
+ http://project.ktug.or.kr/dvipdfmx/
+
+ For dvipdfmx I use
+
+ CFLAGS='-I/usr/kerberos/include -O2 -march=i386 -mcpu=i686' ./configure
+ make
+ make install
+
+ The include path is due to dependency on the kerberos library for PDF
+ encryption. Important: The 10 Wang fonts have some peculiarities; I
+ submitted a preliminary patch which the author has much refined and
+ incoporated into a new release. You need a version newer than 2003-08-11
+ if you want to use this set of fonts. From the ChangLog of dvipdfmx:
+
+ 2003-08-11 Jin-Hwan Cho <chofchof@ktug.or.kr>
+ * A faked font name was used for TrueType fonts without any PS
+ font name as suggested by Hin-Tak Leung.
+
+ [The recent TeX directory structure (TDS), version 1.1, comes with a new
+ subdirectory fonts/sfd, to be accessed with the kpathsea variable
+ $SFDFONTS. dvipdfmx and other programs available in the TeXLive
+ distribution have already been updated to use it.]
+
+
+3. Generating ttf and enc files
+===============================
+
+ OpenType Organizer (oto) : http://sourceforge.net/projects/oto/
+ True Type Font Manager (ttfm):
+ - part of Chinese GNU/Linux Extention http://cle.linux.org.tw/
+
+ You need to know what cmap (character map) the TrueType font (*.ttf or
+ *.ttc) contains. The utility programs oto, ftdump (two versions! --
+ FreeType 1 and FreeType 2 both have this demo program, showing quite
+ different information), and ttfinfo (part of ttfm) can show this info, and
+ some other information about your font as well. Only ftdump works on
+ TrueType collections (*.ttc), but the other two have their strengths also
+ (ttfinfo gives the most straightforward info, while oto gives some details
+ that ftdump doesn't show).
+
+ For detailed information on cmaps in a font you can use ttx, a tool to
+ assemble and disassemble OpenType fonts. It is available from
+ http://fonttools.sf.net.
+
+ If there is a Unicode cmap you can use ttf2tfm's `U*.sfd' files (see the
+ `@...@' argument for ttf2tfm); the command line for ttf2tfm is simpler
+ also. Otherwise you need to specify the platform (-P) and encoding (-E)
+ IDs.
+
+ Here is what works for me for the fonts I mentioned. Important: The font
+ stem name needs to be unique. Additionally, dvipdfmx doesn't like numbers
+ in the font stem name. I use a 4-letter combination. By LaTeX convention
+ it shouldn't be longer than 5 letters.
+
+ ttf2tfm bkai00mp.ttf -q -w bkai@UBig5@
+ ttf2tfm bsmi00lp.ttf -q -w bsmi@UBig5@
+ ttf2tfm gbsn00lp.ttf -q -w gbsn@UGB@
+ ttf2tfm gkai00mp.ttf -q -w gkai@UGB@
+
+ ttf2tfm zysong.ttf -q -w zysg@UGB@
+
+ ttf2tfm kai-linux.ttf -P 3 -E 4 -q -w mekl@Big5@
+ ttf2tfm edustd-15.ttf -P 3 -E 4 -q -w mest@Big5@
+ ttf2tfm moe_kai.ttf -P 3 -E 4 -q -w meko@Big5@
+ ttf2tfm moe_sung.ttf -P 3 -E 4 -q -w meso@Big5@
+
+ ttf2tfm ntu_li_m.ttf -P 3 -E 4 -q -w ntli@Big5@
+ ttf2tfm ntu_br.ttf -P 3 -E 4 -q -w ntbr@Big5@
+ ttf2tfm ntu_fs_m.ttf -P 3 -E 4 -q -w ntfs@Big5@
+ ttf2tfm ntu_kai.ttf -P 3 -E 4 -q -w ntka@Big5@
+ ttf2tfm ntu_mb.ttf -P 3 -E 4 -q -w ntmb@Big5@
+ ttf2tfm ntu_mm.ttf -P 3 -E 4 -q -w ntmm@Big5@
+ ttf2tfm ntu_mr.ttf -P 3 -E 4 -q -w ntmr@Big5@
+ ttf2tfm ntu_tw.ttf -P 3 -E 4 -q -w nttw@Big5@
+
+ ttf2tfm mttf.ttf -q -w cwtm@UBig5@
+ ttf2tfm kttf.ttf -q -w cwtk@UBig5@
+ ttf2tfm fttf.ttf -q -w cwtf@UBig5@
+ ttf2tfm bbttf.ttf -q -w cwtb@UBig5@
+ ttf2tfm rttf.ttf -q -w cwtr@UBig5@
+
+ ttf2tfm kochi-gothic.ttf -w kcgt@UJIS@
+ ttf2tfm kochi-mincho.ttf -w kcmc@UJIS@
+
+ ttf2tfm wadalab-gothic.ttf -P 3 -E 2 -w wdgt@SJIS@
+ ttf2tfm watanabe-mincho.ttf -P 3 -E 2 -w wnmc@SJIS@
+
+ The Wang's font set has some unusual properties, and need either
+ a new version of freetype 1 (after 2003-10 from CVS), or a slightly
+ modified "Big5.sfd", called "wcl.sfd" here:
+
+ ttf2tfm wcl-01.ttf -P 3 -E 4 -q -w wclj@wcl@
+ ttf2tfm wcl-02.ttf -P 3 -E 4 -q -w wclk@wcl@
+ ttf2tfm wcl-03.ttf -P 3 -E 4 -q -w wcll@wcl@
+ ttf2tfm wcl-04.ttf -P 3 -E 4 -q -w wclm@wcl@
+ ttf2tfm wcl-05.ttf -P 3 -E 4 -q -w wcln@wcl@
+ ttf2tfm wcl-06.ttf -P 3 -E 4 -q -w wclp@wcl@
+ ttf2tfm wcl-07.ttf -P 3 -E 4 -q -w wclq@wcl@
+ ttf2tfm wcl-08.ttf -P 3 -E 4 -q -w wclr@wcl@
+ ttf2tfm wcl-09.ttf -P 3 -E 4 -q -w wcls@wcl@
+ ttf2tfm wcl-10.ttf -P 3 -E 4 -q -w wclt@wcl@
+
+ As an example, here is what I do for a well-known proprietary simplified
+ Chinese font which has only a cmap for simplified Chinese:
+
+ ttf2tfm gkai00m.ttf -P 3 -E 3 -q -w gkaim@EUC@
+
+ Here an example for a TrueType collection:
+
+ ttf2tfm dcai5.ttc -q -w dcaiq@UJIS@
+
+
+4. Putting the files where they should be
+=========================================
+
+ This is somewhat related to how kpathsea works and how latex (the program)
+ find its files. It is possible to set individual environment variables for
+ each of these items, but it is easier to set one: $TEXMF to a list of
+ locations, with a tree parallel to the system tree. Then do the following:
+
+ . Put the *.tfm files into a subdirectory of ${TEXMF}/fonts/tfm.
+ . Put the *.enc files into a subdirectory of ${TEXMF}/dvips.
+ . Put the *.ttf (or *.ttc) files into a subdirectory of
+ ${TEXMF}/fonts/truetype.
+ . Put the *.sfd files into ${TEXMF}/ttf2tfm or a subdirectory of it.
+ Don't forget to either copy them into ${TEXMF}/ttf2pk also or to set up
+ a link from ${TEXMF}/ttf2pk to ${TEXMF}/ttf2tfm.
+
+ Reason: dvipdfmx searches SFD files (which it needs for reassembling)
+ under ${TEXMF}/ttf2pk although we don't use ttf2pk anywhere. ttf2tfm
+ looks for them under its own name, of course.
+
+ [The recent TeX directory structure (TDS), version 1.1, comes with a new
+ subdirectory fonts/sfd, to be accessed with the kpathsea variable
+ $SFDFONTS. dvipdfmx and other programs available in the TeXLive
+ distribution have already been updated to use it.]
+
+ Important: Run texhash (mktexlsr) to rebuild the kpathsea database,
+ otherwise files won't be found. You have been warned!
+
+
+5., 6. Configuring dvipdfmx and (optionally) pdflatex
+=====================================================
+
+ cid-x.map, dvipdfmx.cfg, *.map
+
+ See for example, my own "cid-x.map" for the main font config file of
+ dvipdfmx -- all my own customization is at the very end after the line
+ "Hin-Tak Leung's custom setup below:". For each font xxxx, one needs
+ to add a line "f xxxx.map" into "dvipdfmx.cfg", and a fontmap
+ file "xxxx.map" into the dvipdfmx config directory --
+ ${TEXMF}/dvipdfm/config/ on my system (the missing
+ "x" is not a typo, as dvipdfmx originally derived from dvipdfm).
+ I have included cwbt.map, for one of the CwTeX fonts, as an example,
+ and my dvipdfmx.cfg as well.
+
+ Because I have a fair number of fonts I like to add, I wrote a little
+ perl script "gen-map.pl", which generates all the *.map files plus
+ a file called "map.list" which I can simply append to dvipdfmx.cfg,
+ from an internal table at the very top of the script.
+
+ pdflatex needs the same fontmap files for each new font - copy them into
+ ${TEXMF}/dvips/config/. Modify the updmap script which is used for
+ updating both pdflatex.cfg and dvips.cfg, and run the updmap script.
+ On teTeX 1.0.x, one needs to add to the "extra_modules=" entry the
+ *.map files for each font. My modified updmap is included as an
+ example "updmap.my", found as "/usr/share/texmf/dvips/config/updmap" on
+ a RH 9 system. On teTeX 2.0.x, updmap has a separate config file
+ updmap.cfg located in ${TEXMF}/web2c/.
+
+
+7. Configuring CJK/LaTeX
+========================
+
+ Copy the whole `texinput' directory of the CJK package into a directory
+ which is in your $TEXINPUTS path. Also create some new *.fd files there.
+ My "c00cwtb.fd" is included as an example; again, since I have quite
+ a few font files, I have created some template fd files as c*tmpl.fd,
+ and duplicating and change every "tmpl" string to "cwtb" inside
+ as needed like this:
+ cp c00tmpl.fd c00cxtb.fd
+ perl -pi -e "s/tmpl/cwtb/;" c00cwtb.fd
+
+ If you use Big5 or Shift-JIS encoding, compile the bg5conv and
+ sjisconv utilities; under Unix-like systems you can use the bg5pdflatex
+ and sjispdflatex scripts to access them conveniently.
+
+
+8. Testing
+==========
+
+ Just pick the relevant files in the CJK/examples directory and change the
+ font name to match. Either call pdflatex or call latex followed by
+ dvipdfmx. In general, I found that dvipdfmx generates much smaller files
+ (1/3 to 1/2 size).
+
+
+9. Problems
+===========
+
+ a. files can't be found
+
+ This is the most frequent problem. Setting the environment variable
+ KPATHSEA_DEBUG to -1 activates full debugging; you can then check
+ how latex/dvipdfmx/pdflatex tries to find those files. See the
+ kpathsea info pages for more details on debugging output.
+
+ For latex (the program) you only need the new custom-made *.fd files,
+ the files from CJK/texinput, and the tfm files. The *.fd files could be
+ broken -- check their contents. latex (the program) neither needs the
+ *.enc files nor the font files themselves.
+
+ If latex (the program) works, but dvipdfmx doesn't, then your dvipdfmx
+ configuration probably needs some tuning. Alternatively, the map files
+ or the font files are not found, etc. Note that dvipdfmx neither needs
+ the tfm files, nor the CJK/LaTeX input files, but it does need the
+ enc files.
+
+ pdflatex does everything in one step, so everything needs to be in the
+ right place.
+
+ b. Acrobat on GNU/Linux doesn't print PDF files generated with dvipdfmx
+
+ The problem is probably caused by ghostscript version 7.x which chokes
+ on the intermediate postscript file under some command options.
+ Upgrading to ghostscript 8.x should fix this printfilter problem. It is
+ *strongly* recommended to use ghostscript 8.11 or newer due to severe
+ problems with earlier versions.
+
+ c. no-font-embedded PDF files
+
+ This is quite simple to do with dvipdfmx: Just put an extra `!'
+ (exclamation mark) in the dvipdfmx configuration file in front of the
+ font which shouldn't be embedded.
+
+ A problem can arise if the PDF reader is not able to find a proper
+ substitution font if the font specified in the document isn't available.
+ I did some investigation and had a long discussion with the author of
+ dvipdfmx about this. Basically, it seems that win32 Acrobat Reader 6.x
+ will substitute any missing fonts with fonts from the Adobe CJK font
+ packs or from the system. Acrobat reader 5.x for GNU/Linux will only do
+ so -- and only with fonts from the CJK packs, not from the X server --
+ if the font name is one of the well-known ones for that region:
+ SimHei, SimSun (found on most MS Windows boxes), and some fonts of Arphic
+ and Dynafont which are very popular in the far east. Otherwise,
+ it aborts with an error message.
+
+ Besides the proprietary fonts mentioned in the last paragraph, only
+ Wang's fonts can be configured currently to be not embedded so that
+ acroread on GNU/Linux accepts them. I have spent much time looking
+ into this issue and apparently Acroread on GNU/Linux seems to do
+ font substitutions by looking at the capital letters in the font name.
+ Due to the missing PS name of the Wang's fonts (and our dvipdfmx
+ work-around on 2003-08-11 using the file name -- happened to be all
+ lowercase -- as the missing font name), they work by luck.
+
+ Both xpdf and ghostscript will substitute any missing fonts with a
+ specific font per language, if suitably configured. On Redhat 9, the
+ heavily adapted ghostscript will substitute automatically if some named
+ fonts from the CD are installed (without any extra effort); for xpdf it
+ is an extra few lines of configuration in ${HOME}/.xpdfrc to tell it
+ what font to use from the X server for substituting a missing font for a
+ particular language. So ghostscript works out of the box for a full RH
+ installation, whereas xpdf doesn't, but xpdf is more configurable and
+ the setting of what fall-back font to use can differ per user.
+
+--- end ---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/bkai.map b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/bkai.map
new file mode 100644
index 00000000000..71d205d501f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/bkai.map
@@ -0,0 +1,55 @@
+bkai01 bkai01 <bkai01.enc <bkai00mp.ttf
+bkai02 bkai02 <bkai02.enc <bkai00mp.ttf
+bkai03 bkai03 <bkai03.enc <bkai00mp.ttf
+bkai04 bkai04 <bkai04.enc <bkai00mp.ttf
+bkai05 bkai05 <bkai05.enc <bkai00mp.ttf
+bkai06 bkai06 <bkai06.enc <bkai00mp.ttf
+bkai07 bkai07 <bkai07.enc <bkai00mp.ttf
+bkai08 bkai08 <bkai08.enc <bkai00mp.ttf
+bkai09 bkai09 <bkai09.enc <bkai00mp.ttf
+bkai10 bkai10 <bkai10.enc <bkai00mp.ttf
+bkai11 bkai11 <bkai11.enc <bkai00mp.ttf
+bkai12 bkai12 <bkai12.enc <bkai00mp.ttf
+bkai13 bkai13 <bkai13.enc <bkai00mp.ttf
+bkai14 bkai14 <bkai14.enc <bkai00mp.ttf
+bkai15 bkai15 <bkai15.enc <bkai00mp.ttf
+bkai16 bkai16 <bkai16.enc <bkai00mp.ttf
+bkai17 bkai17 <bkai17.enc <bkai00mp.ttf
+bkai18 bkai18 <bkai18.enc <bkai00mp.ttf
+bkai19 bkai19 <bkai19.enc <bkai00mp.ttf
+bkai20 bkai20 <bkai20.enc <bkai00mp.ttf
+bkai21 bkai21 <bkai21.enc <bkai00mp.ttf
+bkai22 bkai22 <bkai22.enc <bkai00mp.ttf
+bkai23 bkai23 <bkai23.enc <bkai00mp.ttf
+bkai24 bkai24 <bkai24.enc <bkai00mp.ttf
+bkai25 bkai25 <bkai25.enc <bkai00mp.ttf
+bkai26 bkai26 <bkai26.enc <bkai00mp.ttf
+bkai27 bkai27 <bkai27.enc <bkai00mp.ttf
+bkai28 bkai28 <bkai28.enc <bkai00mp.ttf
+bkai29 bkai29 <bkai29.enc <bkai00mp.ttf
+bkai30 bkai30 <bkai30.enc <bkai00mp.ttf
+bkai31 bkai31 <bkai31.enc <bkai00mp.ttf
+bkai32 bkai32 <bkai32.enc <bkai00mp.ttf
+bkai33 bkai33 <bkai33.enc <bkai00mp.ttf
+bkai34 bkai34 <bkai34.enc <bkai00mp.ttf
+bkai35 bkai35 <bkai35.enc <bkai00mp.ttf
+bkai36 bkai36 <bkai36.enc <bkai00mp.ttf
+bkai37 bkai37 <bkai37.enc <bkai00mp.ttf
+bkai38 bkai38 <bkai38.enc <bkai00mp.ttf
+bkai39 bkai39 <bkai39.enc <bkai00mp.ttf
+bkai40 bkai40 <bkai40.enc <bkai00mp.ttf
+bkai41 bkai41 <bkai41.enc <bkai00mp.ttf
+bkai42 bkai42 <bkai42.enc <bkai00mp.ttf
+bkai43 bkai43 <bkai43.enc <bkai00mp.ttf
+bkai44 bkai44 <bkai44.enc <bkai00mp.ttf
+bkai45 bkai45 <bkai45.enc <bkai00mp.ttf
+bkai46 bkai46 <bkai46.enc <bkai00mp.ttf
+bkai47 bkai47 <bkai47.enc <bkai00mp.ttf
+bkai48 bkai48 <bkai48.enc <bkai00mp.ttf
+bkai49 bkai49 <bkai49.enc <bkai00mp.ttf
+bkai50 bkai50 <bkai50.enc <bkai00mp.ttf
+bkai51 bkai51 <bkai51.enc <bkai00mp.ttf
+bkai52 bkai52 <bkai52.enc <bkai00mp.ttf
+bkai53 bkai53 <bkai53.enc <bkai00mp.ttf
+bkai54 bkai54 <bkai54.enc <bkai00mp.ttf
+bkai55 bkai55 <bkai55.enc <bkai00mp.ttf
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cid-x.map b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cid-x.map
new file mode 100644
index 00000000000..595d421b813
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cid-x.map
@@ -0,0 +1,364 @@
+%% FONTMAP: CID-keyed font mapping file for dvipdfmx
+%% =================================================
+%%
+%% Last modified: April 2, 2002
+%%
+%%
+%% SYNOPSIS
+%% --------
+%%
+%% TFMNAME[@SFDNAME@] ENCNAME [:INDEX:][!]FONTNAME[,VARIANT] [OPTIONS]
+%%
+%%
+%% DESCRIPTION
+%% -----------
+%%
+%% 1) TFMNAME[@SFDNAME@]
+%%
+%% TFM name is specified in the field `TFMNAME' without extension (.tfm),
+%% and the subfont definition name in the field `SFDNAME' without
+%% extension (.sfd). For example, jbtm@UKS@ specifies the TFM names,
+%% jbtm01 - jbtm35, used in the CJK package.
+%%
+%% 2) ENCNAME
+%%
+%% CMap resource name is specified in the field `ENCNAME'. It is used in
+%% dvipdfmx to convert double-byte character codes to CID numbers.
+%% For more details, see `doc/README'.
+%%
+%% 3) [:INDEX:][!]FONTNAME[,VARIANT]
+%%
+%% Font name is specified in the field `FONTNAME' with or without
+%% extension. The field `INDEX' is used for TrueType collections (.ttc)
+%% to specify the font index number. In the case of ordinary TrueType
+%% fonts (.ttf) the field should be `0'. The character `!' enables the
+%% no-embedding option. The stylistic variants (Bold, Italic, BoldItalic)
+%% are specified in the filed `VARIANT'. See examples below.
+%%
+%% 4) [OPTIONS]
+%%
+%% All options available in the original dvipdfm are also valid here.
+%% However, the slant option [-s number] is ignored for vertical mode,
+%% and the remap option [-r] is always ignored since it doesn't make
+%% sense for CID-keyed fonts.
+%%
+%%
+%% ** IMPORTANT **
+%%
+%% There is no default CMap, and the keyword `none' in the `ENCNAME' field is
+%% not allowed for CID-keyed font. Valid CMap name should be recorded in the
+%% `ENCNAME' field. Otherwise, the font will not be treated as a CID-keyed font.
+%%
+%% The format of the font mapping file is not compatible with the jpatch patch
+%% which expects keyword `none' or `default' in the `ENCNAME' field.
+%%
+%% Be sure that all CMaps used in the font mapping file are under the directory
+%% `${TEXMF}/dvipdfm/CMap', and all subfont definition files under the
+%% directory `${TEXMF}/dvipdfm/base'. CMap file name should coincide with CMap
+%% name.
+%%
+%%
+%% EXAMPLES
+%% --------
+%%
+%% 1) Pre-defined CIDFonts
+%%
+%% Minimal font information required by PDF viewers are available from
+%% dvipdfmx built-in data. The built-in data does not contain any glyph
+%% data required to render actual shape of each characters. Hence, PDF
+%% viewers must substitute those fonts with suitable one available from
+%% the system. The reproducibility and the correctness of document layout
+%% opened on the remote system is not always guaranteed, however, it seems
+%% not to cause any problems in general if you does not use special
+%% characters in your document. Please use those fonts if you are sure that
+%% all peoples that receives your documents have usable fonts installed on
+%% their system. It greatly reduces size of resulting PDF documents because
+%% no glyph data are embedded.
+%%
+%% Here is the list of pre-defined CIDFonts in dvipdfmx.
+%%
+%% ---------------------------------------------------------
+%% Language Acrobat pre-defined CIDFonts
+%% ---------------------------------------------------------
+%% Chinese/Simplified STSong-Light
+%% Chinese/Traditional MHei-Medium, MSung-Light
+%% Japanese HeiseiMin-W3, HeiseiKakuGo-W5
+%% Korean HYGoThic-Medium, HYSMyeongJo-Medium
+%% ---------------------------------------------------------
+
+%rml H HeiseiMin-W3
+%gbm H HeiseiKakuGo-W5
+%rmlv V HeiseiMin-W3
+%gbmv V HeiseiKakuGo-W5
+
+%% ** PostScript "standard" fonts (Japanese) are also pre-defined.
+%%
+%% Ryumin-Light, GothicBBB-Medium (Adobe-Japan1-2)
+
+rml H Ryumin-Light
+gbm H GothicBBB-Medium
+rmlv V Ryumin-Light
+gbmv V GothicBBB-Medium
+
+%% Note. If you apply vertical version (WMode 1) of CMaps to horizontal
+%% fonts (e.g., rml), dvipdfmx does horizontal positioning while PDF
+%% viewers apply vertical positioning for that font.
+%%
+%% Note. On some Mac platforms, Ryumin-Light and GothicBBB-Medium are not
+%% handled properly by Adobe products. Especially, if you have those fonts
+%% in the OCF format, you may want to avoid them.
+%%
+%%
+%% 2) OpenType CIDFonts (CIDFontType0)
+%%
+%% Postscript CID-keyed fonts are supported only in the CFF OpenType format
+%% with Type 2 charstrings.
+%%
+%% o Kozuka-Mincho sold by Adobe:
+
+kml H KozMinPro-Regular.otf
+
+%% o CFF/OpenType version of Kochi CIDFont:
+
+kochi-min H Kochi-Mincho.otf
+kochi-got H Kochi-Gothic.otf
+
+%% The suffix `.otf' is optional. Please use suffix `.otf' if needed.
+%%
+%%
+%% 3) TrueType CIDFonts (CIDFontType2)
+%%
+%% TrueType (.ttf) and TrueType collection (.ttc) are supported.
+%%
+%% o Japanese MS-Windows fonts
+
+msmin H :0:msmincho
+msgot H :0:msgothic
+
+%% MS-Mincho with proportional latin and kana:
+
+msminp H :1:msmincho
+
+%% o Kochi is TrueType (not a collection):
+
+kmin H :0:kochi-mincho
+kgot H :0:kochi-gothic
+
+%% o Korean MS-Windows fonts with stylistic variants (no-embedding)
+
+%jbtm@UKS@ UniKS-UCS2-H :0:!batang.ttc
+%jbtmo@UKS@ UniKS-UCS2-H :0:!batang.ttc,Italic
+%jbtb@UKS@ UniKS-UCS2-H :0:!batang.ttc,Bold
+%jbtbo@UKS@ UniKS-UCS2-H :0:!batang.ttc,BoldItalic
+
+%% o Baekmuk fonts (used with HLaTeX package)
+
+%bbtm@KS-HLaTeX@ KSCms-UHC-H :0:batang.ttf
+%bbtmo@UKS-HLaTeX@ UniKS-UCS2-H :0:batang.ttf -s .167
+
+
+%% Font Licensing Issue
+%% --------------------
+%%
+%% If you try to use the following font,
+
+hgskai H :0:hgrsksj
+
+%% you will see the following message:
+%%
+%% ** Embedding disabled due to licensing restriction **
+%%
+%% As this message indicates, font embedding is disabled because embedding
+%% is not allowed for this font. Also, please note that any documents that
+%% contains font with `Preview & Print' embedding licensing can be opened
+%% only for the purpose of previewing and/or printing. When fonts with this
+%% type of license are encountered, you will see the following message:
+%%
+%% ** NOTICE: This document contains `Preview & Print' only licensed font **
+%%
+%% In this case, you cannot distribute resulting PDF document if you are not
+%% absolutely sure that you are not violating license you acquired.
+%%
+%%
+%% Other Encodings
+%% ---------------
+%%
+%% Only 16-bit encodings are supported. The DVI format specification allows
+%% 24-bit and 32-bit (signed) long character codes, though.
+%%
+%% 1) JIS C 6226 (JIS78) character set with NEC extensions, ISO-2022-JP encoding:
+
+rmlx Ext-H Ryumin-Light
+
+%% or Shift-JIS encoding:
+
+rmlsjx Ext-RKSJ-H Ryumin-Light
+
+%% 2) Hojo-Kanji (JIS X 0212-1990): Adobe-Japan2 character collection
+
+hjmin Hojo-H :0:msmincho
+hjminv Hojo-V :0:msmincho
+
+%% You need ToUnicode CMap for the Adobe-Japan2 character collection.
+%% If you cannot find it, copy and paste from the "ToUnicode Mapping File
+%% Tutorial" (Adobe Technical Note #5411). Please change the CMap name and
+%% the ordering string from `Adobe-Japan2-000' to `Adobe-Japan2-UCS2' and
+%% from `Adobe_Japan2_000' to `Adobe_Japan2_UCS2', respectively. You must
+%% save it as Adobe-Japan2-UCS2.
+%%
+%% 3) Unicode encodings, Omega requires them. (not fully tested.)
+%%
+%% o Chinese
+
+ombkai UniCNS-UCS2-H :0:bkai00mp
+ombsmi UniCNS-UCS2-H :0:bsmi00lp
+omgkai UniGB-UCS2-H :0:gkai00mp
+omgbsn UniGB-UCS2-H :0:gbsn00lp
+
+%% o Japanese
+
+omrml UniJIS-UCS2-H Ryumin-Light
+
+%% o Korean
+
+omgtm UniKS-UCS2-H HYGoThic-Medium
+omubt UniKS-UCS2-H :0:batang
+
+%% 4) UTF8 encodings with CJK package
+%%
+%% It is possible to use several languages in a document with CJK package
+%% via the UTF8 encoding.
+
+cyberb@Unicode@ Identity-H :0:cyberbit.ttf
+
+%% Bitstream Cyberbit font is available at:
+%%
+%% http://ftp.netscape.com/pub/communicator/extras/fonts/windows/ReadMe.htm
+%%
+%%
+%% Custom CMap and Specialized Font
+%% --------------------------------
+%%
+%% All TrueType font should have TrueType cmap (character codes to
+%% glyph indices mapping) table with platform ID 3, and encoding ID
+%% 1. If you are using CMap `Dummy-H' having, say, registry string
+%% `My' and ordering string `Ordering' to map character codes used in
+%% the DVI file to CIDs, you must also have CMap resource named
+%% `My-Ordering-UCS2' (for encoding ID 1) which defines mapping from
+%% CID to character code used in the TrueType font:
+%%
+%% myfont Dummy-H :0:myfont.ttf
+%%
+%% Some font that have 511 glyphs (one for .notdef), split into two
+%% single-byte fonts for use with `plain' TeX, tied up to a single
+%% CID-keyed font:
+%%
+%% math1 Math-Symbol1 :0:msymbol.ttf
+%% math2 Math-Symbol2 :0:msymbol.ttf
+%%
+%% Arabic as CID-Keyed font:
+%%
+%% omarb UniArab-UCS2 :0:arabuni.ttf
+%%
+%% At present, accessing glyphs via glyph indices directly is not supported.
+%% It will be supported if someone need it.
+%%
+%% Please make your CMap resource file as simple as possible. The built-in
+%% CMap parser will fail if the structure of CMap file is too complicated.
+%%
+%%
+%% TODO
+%% ----
+%%
+%% o Supports TrueType UCS4 cmap table
+%%
+%% o Supports TrueType Symbol cmap table (under consideration)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Hin-Tak Leung's custom setup below: %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+cwtb@UBig5@ UniCNS-UCS2-H :0:bbttf.ttf
+cwtf@UBig5@ UniCNS-UCS2-H :0:fttf.ttf
+cwtk@UBig5@ UniCNS-UCS2-H :0:kttf.ttf
+cwtm@UBig5@ UniCNS-UCS2-H :0:mttf.ttf
+cwtr@UBig5@ UniCNS-UCS2-H :0:rttf.ttf
+%
+mekl@Big5@ ETen-B5-H :0:kai-linux.ttf
+mest@Big5@ ETen-B5-H :0:edustd-15.ttf
+mesx@Big5@ ETen-B5-H :0:edustds1.ttf
+mesy@Big5@ ETen-B5-H :0:edustds2.ttf
+meko@Big5@ ETen-B5-H :0:moe_kai.ttf
+meso@Big5@ ETen-B5-H :0:moe_sung.ttf
+%
+bkai@UBig5@ UniCNS-UCS2-H :0:bkai00mp.ttf
+bsmi@UBig5@ UniCNS-UCS2-H :0:bsmi00lp.ttf
+%
+gbsn@UGB@ UniGB-UCS2-H :0:gbsn00lp.ttf
+gkai@UGB@ UniGB-UCS2-H :0:gkai00mp.ttf
+%
+ntbr@Big5@ ETen-B5-H :0:ntu_br.ttf
+ntfs@Big5@ ETen-B5-H :0:ntu_fs_m.ttf
+ntka@Big5@ ETen-B5-H :0:ntu_kai.ttf
+ntli@Big5@ ETen-B5-H :0:ntu_li_m.ttf
+ntmb@Big5@ ETen-B5-H :0:ntu_mb.ttf
+ntmm@Big5@ ETen-B5-H :0:ntu_mm.ttf
+ntmr@Big5@ ETen-B5-H :0:ntu_mr.ttf
+nttw@Big5@ ETen-B5-H :0:ntu_tw.ttf
+%
+wclj@Big5@ ETen-B5-H :0:wcl-01.ttf
+wclk@Big5@ ETen-B5-H :0:wcl-02.ttf
+wcll@Big5@ ETen-B5-H :0:wcl-03.ttf
+wclm@Big5@ ETen-B5-H :0:wcl-04.ttf
+wcln@Big5@ ETen-B5-H :0:wcl-05.ttf
+wclp@Big5@ ETen-B5-H :0:wcl-06.ttf
+wclq@Big5@ ETen-B5-H :0:wcl-07.ttf
+wclr@Big5@ ETen-B5-H :0:wcl-08.ttf
+wcls@Big5@ ETen-B5-H :0:wcl-09.ttf
+wclt@Big5@ ETen-B5-H :0:wcl-10.ttf
+%
+zysg@UGB@ UniGB-UCS2-H :0:zysong.ttf
+%
+wnmc@SJIS@ Ext-RKSJ-H :0:watanabe-mincho.ttf
+wdgt@SJIS@ Ext-RKSJ-H :0:wadalab-gothic.ttf
+%
+kcgt@UJIS@ UniJIS-UCS2-H :0:kochi-gothic.ttf
+kcmc@UJIS@ UniJIS-UCS2-H :0:kochi-mincho.ttf
+%
+ykah@Big5@ ETen-B5-H :0:yka00hp.ttf
+gtrl@Big5@ ETen-B5-H :0:gtr00lp.ttf
+gtrm@Big5@ ETen-B5-H :0:gtr00mp.ttf
+leim@Big5@ ETen-B5-H :0:lei00mp.ttf
+heim@Big5@ ETen-B5-H :0:hei01mp.ttf
+sunm@Big5@ ETen-B5-H :0:sun00mp.ttf
+%
+gbsnl@EUC@ GB-EUC-H :0:gbsn00l.ttf
+ggtrl@EUC@ GB-EUC-H :0:ggtr00l.ttf
+gkaim@EUC@ GB-EUC-H :0:gkai00m.ttf
+gleim@EUC@ GB-EUC-H :0:glei00m.ttf
+gsinm@EUC@ GB-EUC-H :0:gsin00m.ttf
+tgtrl@EUC@ GB-EUC-H :0:tgtr00l.ttf
+tkaim@EUC@ GB-EUC-H :0:tkai00m.ttf
+tleim@EUC@ GB-EUC-H :0:tlei00m.ttf
+tooru@EUC@ GB-EUC-H :0:toor00u.ttf
+tovru@EUC@ GB-EUC-H :0:tovr00u.ttf
+tsinm@EUC@ GB-EUC-H :0:tsin00m.ttf
+%
+dcaiq@UJIS@ UniJIS-UCS2-H :0:dcai5.ttc
+dcailq@UJIS@ UniJIS-UCS2-H :0:dcail5.ttc
+dcaisq@UJIS@ UniJIS-UCS2-H :0:dcais5.ttc
+dccryq@UJIS@ UniJIS-UCS2-H :0:dccry5.ttc
+dchgmq@UJIS@ UniJIS-UCS2-H :0:dchgm5.ttc
+dchleiq@UJIS@ UniJIS-UCS2-H :0:dchlei5.ttc
+dcinlq@UJIS@ UniJIS-UCS2-H :0:dcinl5.ttc
+dckgmc@UJIS@ UniJIS-UCS2-H :0:dckgmc.ttc
+dclkaiq@UJIS@ UniJIS-UCS2-H :0:dclkai5.ttc
+dcysmr@UJIS@ UniJIS-UCS2-H :0:dcysm7.ttc
+dfcrdp@UJIS@ UniJIS-UCS2-H :0:dfcrd3.ttc
+dffrsp@UJIS@ UniJIS-UCS2-H :0:dffrs3.ttc
+dfgskr@UJIS@ UniJIS-UCS2-H :0:dfgsk7.ttc
+dfkaie@UJIS@ UniJIS-UCS2-H :0:dfkaie.ttc
+dfkbtp@UJIS@ UniJIS-UCS2-H :0:dfkbt3.ttc
+dfoyjq@UJIS@ UniJIS-UCS2-H :0:dfoyj5.ttc
+dfryss@UJIS@ UniJIS-UCS2-H :0:dfrys9.ttc
+dfshtq@UJIS@ UniJIS-UCS2-H :0:dfsht5.ttc
+dfshtr@UJIS@ UniJIS-UCS2-H :0:dfsht7.ttc
+dfskair@UJIS@ UniJIS-UCS2-H :0:dfskai7.ttc
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cwtb.map b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cwtb.map
new file mode 100644
index 00000000000..964c65c84a1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cwtb.map
@@ -0,0 +1,55 @@
+cwtb01 cwtb01 <cwtb01.enc <bbttf.ttf
+cwtb02 cwtb02 <cwtb02.enc <bbttf.ttf
+cwtb03 cwtb03 <cwtb03.enc <bbttf.ttf
+cwtb04 cwtb04 <cwtb04.enc <bbttf.ttf
+cwtb05 cwtb05 <cwtb05.enc <bbttf.ttf
+cwtb06 cwtb06 <cwtb06.enc <bbttf.ttf
+cwtb07 cwtb07 <cwtb07.enc <bbttf.ttf
+cwtb08 cwtb08 <cwtb08.enc <bbttf.ttf
+cwtb09 cwtb09 <cwtb09.enc <bbttf.ttf
+cwtb10 cwtb10 <cwtb10.enc <bbttf.ttf
+cwtb11 cwtb11 <cwtb11.enc <bbttf.ttf
+cwtb12 cwtb12 <cwtb12.enc <bbttf.ttf
+cwtb13 cwtb13 <cwtb13.enc <bbttf.ttf
+cwtb14 cwtb14 <cwtb14.enc <bbttf.ttf
+cwtb15 cwtb15 <cwtb15.enc <bbttf.ttf
+cwtb16 cwtb16 <cwtb16.enc <bbttf.ttf
+cwtb17 cwtb17 <cwtb17.enc <bbttf.ttf
+cwtb18 cwtb18 <cwtb18.enc <bbttf.ttf
+cwtb19 cwtb19 <cwtb19.enc <bbttf.ttf
+cwtb20 cwtb20 <cwtb20.enc <bbttf.ttf
+cwtb21 cwtb21 <cwtb21.enc <bbttf.ttf
+cwtb22 cwtb22 <cwtb22.enc <bbttf.ttf
+cwtb23 cwtb23 <cwtb23.enc <bbttf.ttf
+cwtb24 cwtb24 <cwtb24.enc <bbttf.ttf
+cwtb25 cwtb25 <cwtb25.enc <bbttf.ttf
+cwtb26 cwtb26 <cwtb26.enc <bbttf.ttf
+cwtb27 cwtb27 <cwtb27.enc <bbttf.ttf
+cwtb28 cwtb28 <cwtb28.enc <bbttf.ttf
+cwtb29 cwtb29 <cwtb29.enc <bbttf.ttf
+cwtb30 cwtb30 <cwtb30.enc <bbttf.ttf
+cwtb31 cwtb31 <cwtb31.enc <bbttf.ttf
+cwtb32 cwtb32 <cwtb32.enc <bbttf.ttf
+cwtb33 cwtb33 <cwtb33.enc <bbttf.ttf
+cwtb34 cwtb34 <cwtb34.enc <bbttf.ttf
+cwtb35 cwtb35 <cwtb35.enc <bbttf.ttf
+cwtb36 cwtb36 <cwtb36.enc <bbttf.ttf
+cwtb37 cwtb37 <cwtb37.enc <bbttf.ttf
+cwtb38 cwtb38 <cwtb38.enc <bbttf.ttf
+cwtb39 cwtb39 <cwtb39.enc <bbttf.ttf
+cwtb40 cwtb40 <cwtb40.enc <bbttf.ttf
+cwtb41 cwtb41 <cwtb41.enc <bbttf.ttf
+cwtb42 cwtb42 <cwtb42.enc <bbttf.ttf
+cwtb43 cwtb43 <cwtb43.enc <bbttf.ttf
+cwtb44 cwtb44 <cwtb44.enc <bbttf.ttf
+cwtb45 cwtb45 <cwtb45.enc <bbttf.ttf
+cwtb46 cwtb46 <cwtb46.enc <bbttf.ttf
+cwtb47 cwtb47 <cwtb47.enc <bbttf.ttf
+cwtb48 cwtb48 <cwtb48.enc <bbttf.ttf
+cwtb49 cwtb49 <cwtb49.enc <bbttf.ttf
+cwtb50 cwtb50 <cwtb50.enc <bbttf.ttf
+cwtb51 cwtb51 <cwtb51.enc <bbttf.ttf
+cwtb52 cwtb52 <cwtb52.enc <bbttf.ttf
+cwtb53 cwtb53 <cwtb53.enc <bbttf.ttf
+cwtb54 cwtb54 <cwtb54.enc <bbttf.ttf
+cwtb55 cwtb55 <cwtb55.enc <bbttf.ttf
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/dvipdfmx.cfg b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/dvipdfmx.cfg
new file mode 100644
index 00000000000..eb65cdcf479
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/dvipdfmx.cfg
@@ -0,0 +1,164 @@
+% original config -- Made by MAW on 8/31/99
+% Distiller template examples. Uncomment
+% the appropriate one, or (preferably) create your own.
+% Put %i in the command line where the input file name should go.
+% Put %o in the command line where the output file name should go.
+% (dvipdfm must be able to supply the output file name to your
+% command line)
+% Put %b in the line somewhere if you want to specify the
+% "base" name of the input file, e.g., "foo" instead of "foo.eps"
+%
+% Note that it's probably a good idea to fully qualify
+% the paths so you can be sure what you are running
+
+% The following line works with Frank Siegert's pstill
+% D "/usr/local/bin/pstill -c -o %o %i"
+
+% The following line works with GhostScript
+% UNIX/Linux (borrowed from W32TeX by Akira Kakuto)
+D "gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dAutoFilterColorImages=false -dGrayImageFilter=/FlateEncode -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o %i -c quit"
+% Win32 (borrowed from W32TeX by Akira Kakuto)
+% D "gswin32c -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dAutoFilterColorImages=false -dGrayImageFilter=/FlateEncode -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o %i -c quit"
+% The following line works on compressed or uncompressed postscript with GhostScript
+% UNIX/Linux (borrowed from W32TeX by Akira Kakuto)
+% D "zcat -f %i | gs -q -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dUseFlateCompression=true -sOutputFile=%o - -c quit"
+% Win32 (borrowed from W32TeX by Akira Kakuto)
+% D "gzcat -f %i | gswin32c -q -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dUseFlateCompression=true -sOutputFile=%o - -c quit"
+
+% The following line works with Adobe Acrobat Distiller
+% D "/usr/local/bin/distill -quiet -pairs %i %o"
+
+% Set default paper size here
+p a4
+
+% The "g" option specifies the amount to "grow" annotations by
+% Many TeX macro pages set the annotation bounding box equal
+% to the TeX box that encloses the material. That's not always
+% what you want
+g 1
+
+% PDF version stamp to use in output file and max version of files
+% allowed to be included (3 for 1.3, 4 for 1.4)
+V 3
+
+% Key bits for PDF encryption (40 - 128)
+K 40
+
+% Permission flag for PDF encryption: Revision will be 3 if the key size
+% is greater than 40 bits.
+%
+% 0x0004 (Revision 2) Print the document.
+% (Revision 3) Print the document (possibly not at the highest quality
+% level, depending on whether bit 12[0x0800] is also set).
+% 0x0008 Modify the contents of the document by operations other than those
+% controlled by bits 6[0x0020], 9[0x0100], and 11[0x0400].
+% 0x0010 (Revision 2) Copy or otherwise extract text and graphics from the
+% document, including extracting text and graphics (in support of
+% accessibility to disabled users or for other purposes).
+% (Revision 3) Copy or otherwise extract text and grphics from the
+% document by operations other than that controlled by bit 10[0x0200].
+% 0x0020 Add or modify text annotations, fill in interactive form fields,
+% and, if bit 4[0x0008] is also set, create or modify interactive
+% form fields (including signature fields).
+%
+% (Revision 3 only)
+% 0x0100 Fill in existing interactive form fields (including signature
+% fields), even if bit 6 is clear.
+% 0x0200 Extract text and graphics (in support of accessibility to disabled
+% users or for other purposes).
+% 0x0400 Assemble the document (insert, rotate, or delete pages and create
+% bookmarks or thumbnail images), even if bit 4 is clear.
+% 0x0800 Print the document to a representation from which a faithful digital
+% copy of the PDF content could be generated. When this bit is clear
+% (and bit 3 is set), printing is limited to a low-level representation
+% of the appearance, possibly of degraded quality.
+P 0x003C
+
+% Font map files
+%
+f cmr.map
+f psbase14.map
+% Most distributions now use these names
+f lw35urw.map
+% Some use these names
+% f lw35urwa.map
+f cid-x.map
+% Added by Hin-Tak Leung below this point:
+f cwtb.map
+f cwtf.map
+f cwtk.map
+f cwtm.map
+f cwtr.map
+f mekl.map
+f mest.map
+f mesx.map
+f mesy.map
+f meko.map
+f meso.map
+f bkai.map
+f bsmi.map
+f gbsn.map
+f gkai.map
+f ntbr.map
+f ntfs.map
+f ntka.map
+f ntli.map
+f ntmb.map
+f ntmm.map
+f ntmr.map
+f nttw.map
+f wclj.map
+f wclk.map
+f wcll.map
+f wclm.map
+f wcln.map
+f wclp.map
+f wclq.map
+f wclr.map
+f wcls.map
+f wclt.map
+f zysg.map
+f wnmc.map
+f wdgt.map
+f kcgt.map
+f kcmc.map
+f acrj.map
+f acrg.map
+f acrb.map
+f ykah.map
+f gtrl.map
+f gtrm.map
+f leim.map
+f heim.map
+f sunm.map
+f gbsnl.map
+f ggtrl.map
+f gkaim.map
+f gleim.map
+f gsinm.map
+f tgtrl.map
+f tkaim.map
+f tleim.map
+f tooru.map
+f tovru.map
+f tsinm.map
+f dcaiq.map
+f dcailq.map
+f dcaisq.map
+f dccryq.map
+f dchgmq.map
+f dchleiq.map
+f dcinlq.map
+f dckgmc.map
+f dclkaiq.map
+f dcysmr.map
+f dfcrdp.map
+f dffrsp.map
+f dfgskr.map
+f dfkaie.map
+f dfkbtp.map
+f dfoyjq.map
+f dfryss.map
+f dfshtq.map
+f dfshtr.map
+f dfskair.map
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/gen-map.pl b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/gen-map.pl
new file mode 100644
index 00000000000..737304da361
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/gen-map.pl
@@ -0,0 +1,120 @@
+#!/usr/bin/perl -w
+
+@font_list =
+(
+ "cwtb", "bbttf.ttf", 55,
+ "cwtf", "fttf.ttf", 55,
+ "cwtk", "kttf.ttf", 55,
+ "cwtm", "mttf.ttf", 55,
+ "cwtr", "rttf.ttf", 55,
+#
+ "mekl", "kai-linux.ttf", 58,
+ "mest", "edustd-15.ttf", 55,
+ "mesx", "edustds1.ttf", 55,
+ "mesy", "edustds2.ttf", 55,
+ "meko", "moe_kai.ttf", 58,
+ "meso", "moe_sung.ttf", 58,
+#
+ "bkai", "bkai00mp.ttf", 55,
+ "bsmi", "bsmi00lp.ttf", 55,
+#
+ "gbsn", "gbsn00lp.ttf", 32,
+ "gkai", "gkai00mp.ttf", 32,
+#
+ "ntbr", "ntu_br.ttf", 58,
+ "ntfs", "ntu_fs_m.ttf", 58,
+ "ntka", "ntu_kai.ttf", 58,
+ "ntli", "ntu_li_m.ttf", 58,
+ "ntmb", "ntu_mb.ttf", 58,
+ "ntmm", "ntu_mm.ttf", 58,
+ "ntmr", "ntu_mr.ttf", 58,
+ "nttw", "ntu_tw.ttf", 58,
+#
+ "wclj", "wcl-01.ttf", 55,
+ "wclk", "wcl-02.ttf", 55,
+ "wcll", "wcl-03.ttf", 55,
+ "wclm", "wcl-04.ttf", 55,
+ "wcln", "wcl-05.ttf", 55,
+ "wclp", "wcl-06.ttf", 55,
+ "wclq", "wcl-07.ttf", 55,
+ "wclr", "wcl-08.ttf", 55,
+ "wcls", "wcl-09.ttf", 55,
+ "wclt", "wcl-10.ttf", 55,
+#
+ "zysg", "zysong.ttf", 32,
+#
+ "wnmc", "watanabe-mincho.ttf", 35,
+ "wdgt", "wadalab-gothic.ttf", 35,
+#
+ "kcgt", "kochi-gothic.ttf", 31,
+ "kcmc", "kochi-mincho.ttf", 31,
+#
+ "acrj", "kochi-mincho.ttf", 31,
+ "acrg", "gbsn00lp.ttf", 32,
+ "acrb", "bsmi00lp.ttf", 55,
+#
+"ykah", "yka00hp.ttf", 57,
+"gtrl", "gtr00lp.ttf", 57,
+"gtrm", "gtr00mp.ttf", 57,
+"leim", "lei00mp.ttf", 57,
+"heim", "hei01mp.ttf", 57,
+"sunm", "sun00mp.ttf", 57,
+#
+"gbsnl", "gbsn00l.ttf",32,
+"ggtrl", "ggtr00l.ttf",32,
+"gkaim", "gkai00m.ttf",32,
+"gleim", "glei00m.ttf",32,
+"gsinm", "gsin00m.ttf",32,
+"tgtrl", "tgtr00l.ttf",32,
+"tkaim", "tkai00m.ttf",32,
+"tleim", "tlei00m,ttf",32,
+"tooru", "toor00u.ttf",32,
+"tovru", "tovr00u.ttf",32,
+"tsinm", "tsin00m.ttf",32,
+#
+"dcaiq", "dcai5.ttc", 31,
+"dcailq", "dcail5.ttc", 31,
+"dcaisq", "dcais5.ttc", 31,
+"dccryq", "dccry5.ttc", 31,
+"dchgmq", "dchgm5.ttc", 31,
+"dchleiq", "dchlei5.ttc", 31,
+"dcinlq", "dcinl5.ttc", 31,
+"dckgmc", "dckgmc.ttc", 31,
+"dclkaiq", "dclkai5.ttc", 31,
+"dcysmr", "dcysm7.ttc", 31,
+"dfcrdp", "dfcrd3.ttc", 31,
+"dffrsp", "dffrs3.ttc", 31,
+"dfgskr", "dfgsk7.ttc", 31,
+"dfkaie", "dfkaie.ttc", 31,
+"dfkbtp", "dfkbt3.ttc", 31,
+"dfoyjq", "dfoyj5.ttc", 31,
+"dfryss", "dfrys9.ttc", 31,
+"dfshtq", "dfsht5.ttc", 31,
+"dfshtr", "dfsht7.ttc", 31,
+"dfskair", "dfskai7.ttc", 31,
+#
+);
+
+open(LISTFILE, "> map.list");
+
+$list_length = (scalar @font_list ) /3 ;
+for ($i = 0; $i < $list_length ; $i++)
+{
+ $stem = shift @font_list;
+ $font = shift @font_list;
+ $entries = shift @font_list;
+ print LISTFILE "f ", $stem, ".map\n";
+ open(MAPFILE, "> ${stem}.map");
+
+ for ($j=1; $j<= $entries ; $j++)
+ {
+ $j_pad = sprintf "%2.2d", $j;
+ print MAPFILE
+ $stem, $j_pad, " ", $stem, $j_pad, " <",
+ $stem, $j_pad, ".enc <",
+ $font, "\n";
+ }
+ close(MAPFILE);
+}
+close(LISTFILE);
+
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/map.list b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/map.list
new file mode 100644
index 00000000000..ae1fcd4ad12
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/map.list
@@ -0,0 +1,78 @@
+f cwtb.map
+f cwtf.map
+f cwtk.map
+f cwtm.map
+f cwtr.map
+f mekl.map
+f mest.map
+f mesx.map
+f mesy.map
+f meko.map
+f meso.map
+f bkai.map
+f bsmi.map
+f gbsn.map
+f gkai.map
+f ntbr.map
+f ntfs.map
+f ntka.map
+f ntli.map
+f ntmb.map
+f ntmm.map
+f ntmr.map
+f nttw.map
+f wclj.map
+f wclk.map
+f wcll.map
+f wclm.map
+f wcln.map
+f wclp.map
+f wclq.map
+f wclr.map
+f wcls.map
+f wclt.map
+f zysg.map
+f wnmc.map
+f wdgt.map
+f kcgt.map
+f kcmc.map
+f acrj.map
+f acrg.map
+f acrb.map
+f ykah.map
+f gtrl.map
+f gtrm.map
+f leim.map
+f heim.map
+f sunm.map
+f gbsnl.map
+f ggtrl.map
+f gkaim.map
+f gleim.map
+f gsinm.map
+f tgtrl.map
+f tkaim.map
+f tleim.map
+f tooru.map
+f tovru.map
+f tsinm.map
+f dcaiq.map
+f dcailq.map
+f dcaisq.map
+f dccryq.map
+f dchgmq.map
+f dchleiq.map
+f dcinlq.map
+f dckgmc.map
+f dclkaiq.map
+f dcysmr.map
+f dfcrdp.map
+f dffrsp.map
+f dfgskr.map
+f dfkaie.map
+f dfkbtp.map
+f dfoyjq.map
+f dfryss.map
+f dfshtq.map
+f dfshtr.map
+f dfskair.map
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd
new file mode 100644
index 00000000000..2f7ec98edd3
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd
@@ -0,0 +1,11 @@
+% This is the file c00cwtb.fd of the CJK package
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00cwtb.fd}[\filedate\space\fileversion]
+
+\DeclareFontFamily{C00}{cwtb}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{cwtb}{m}{n}{<-> CJK * cwtb}{}
+\DeclareFontShape{C00}{cwtb}{bx}{n}{<-> CJKb * cwtb}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd
new file mode 100644
index 00000000000..aaa7a6044fa
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd
@@ -0,0 +1,11 @@
+% This is the file c00tmpl.fd of the CJK package
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00tmpl.fd}[\filedate\space\fileversion]
+
+\DeclareFontFamily{C00}{tmpl}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{tmpl}{m}{n}{<-> CJK * tmpl}{}
+\DeclareFontShape{C00}{tmpl}{bx}{n}{<-> CJKb * tmpl}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd
new file mode 100644
index 00000000000..b0aaa99ff01
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd
@@ -0,0 +1,10 @@
+% This is the file c10tmpl.fd of the CJK package
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c10tmpl.fd}[\filedate\space\fileversion]
+\DeclareFontFamily{C10}{tmpl}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C10}{tmpl}{m}{n}{<-> CJK * tmpl}{}
+\DeclareFontShape{C10}{tmpl}{bx}{n}{<-> CJKb * tmpl}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd
new file mode 100644
index 00000000000..23754ff2e4b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd
@@ -0,0 +1,10 @@
+% This is the file c40tmpl.fd of the CJK package
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c40tmpl.fd}[\filedate\space\fileversion]
+
+\DeclareFontFamily{C40}{tmpl}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C40}{tmpl}{m}{n}{<-> CJK * tmpl}{}
+\DeclareFontShape{C40}{tmpl}{bx}{n}{<-> CJKb * tmpl}{\CJKbold}
+\endinput
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd
new file mode 100644
index 00000000000..3e90a446768
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd
@@ -0,0 +1,10 @@
+% This is the file c49song.fd of the CJK package
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c49song.fd}[\filedate\space\fileversion]
+
+\DeclareFontFamily{C49}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C49}{song}{m}{n}{<-> CJK * tmpl}{}
+\DeclareFontShape{C49}{song}{bx}{n}{<-> CJKb * tmpl}{\CJKbold}
+\endinput
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/updmap.my b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/updmap.my
new file mode 100644
index 00000000000..a020e035ee5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/updmap.my
@@ -0,0 +1,161 @@
+#!/bin/sh
+# Thomas Esser, 1998, 1999. Public domain.
+
+###########################################################################
+# updmap: create psfonts.map, ps2pk.map and pdftex.map from smaller
+# "modules". To recreate the map files, just run the command:
+# ./updmap
+###########################################################################
+
+###########################################################################
+# Configuration section:
+###########################################################################
+
+# Add any extra modules here. See the definition of common_modules below
+# for an example of the correct syntax. If you just want to use the type1
+# version for the computer modern fonts by default in dvips (instead of
+# the metafont based bitmap fonts), just change the definition of
+# type1_default that is given below.
+#
+# An alternative to adding map files here is to edit the files
+# config/dvips/config.ps
+# pdftex/config/pdftex.cfg
+# in a local texmf tree.
+extra_modules="
+cwtb.map
+cwtf.map
+cwtk.map
+cwtm.map
+cwtr.map
+mekl.map
+mest.map
+mesx.map
+mesy.map
+meko.map
+meso.map
+bkai.map
+bsmi.map
+gbsn.map
+gkai.map
+ntbr.map
+ntfs.map
+ntka.map
+ntli.map
+ntmb.map
+ntmm.map
+ntmr.map
+nttw.map
+wclj.map
+wclk.map
+wcll.map
+wclm.map
+wcln.map
+wclp.map
+wclq.map
+wclr.map
+wcls.map
+wclt.map
+zysg.map
+wnmc.map
+wdgt.map
+kcgt.map
+kcmc.map
+acrj.map
+acrg.map
+acrb.map
+"
+
+###########################################################################
+# Set up the standard Laserwriter fonts:
+# urw-kb: these are included in teTeX's texmf tree
+# urw-urw: these are included in ghostscript 4.0 and later. Adjust the
+# search paths for type1 and afm files in texmf.cnf if you set
+# this
+# adobe-kb: use this if you have the original Adobe fonts. Install the
+# type1 and afm files with Berry names.
+###########################################################################
+
+lw35=urw-kb # URW fonts (download type1 files using Berry names)
+# lw35=urw-urw # URW fonts (download type1 files using URW names)
+# lw35=adobe-kb # Adobe fonts (download type1 files using Berry names)
+
+###########################################################################
+# Set to true to use postscript type1 versions for fonts with existing
+# metafont versions.
+###########################################################################
+
+type1_default=false
+# type1_default=true
+
+###########################################################################
+# Add common map files here:
+###########################################################################
+common_modules="
+ charter.map context.map lucidabr.map marvosym.map mathpi.map
+ mathpple-ext.map mt-plus.map mt-yy.map omega.map utopia.map
+ xypic.map txr4.map pxr4.map pazo.map $extra_modules
+"
+
+###########################################################################
+# End of configuration section.
+###########################################################################
+
+###########################################################################
+# Type1 fonts with Metafont equivalents. When not generating resolution
+# independent postscript or pdf, we prefer the Metafont variants for these.
+###########################################################################
+mf_modules="
+ bsr.map bsr-interpolated.map cmcyr.map cs.map hoekwater.map pl.map
+"
+
+###########################################################################
+# These are used by dvips:
+###########################################################################
+lw35_modules="
+ *-adobe-bi.map
+ $common_modules
+"
+
+###########################################################################
+# Add CM + AMS fonst if configured:
+###########################################################################
+if test "x$type1_default" = xtrue; then
+ lw35_modules="$lw35_modules $mf_modules"
+fi
+
+###########################################################################
+# ps2pk has no "built in" fonts and needs to download everything:
+###########################################################################
+ps2pk_modules="
+ *-$lw35.map
+"
+
+###########################################################################
+# pdftex has the acrobat fonts (subset of the lw35 fonts) built in, but
+# needs to download fonts for ExtendFont / SlantFont:
+###########################################################################
+pdftex_modules="
+ $mf_modules
+
+ *ar-ext-$lw35.map
+ *ar-std-adobe-bi.map
+ *lw35extra-$lw35.map
+ mtsupp-ext-$lw35.map
+ mtsupp-std-adobe-bi.map
+
+ $common_modules
+"
+
+# Create psfonts.map ps2pk.map and pdftex.map:
+for file in psfonts.map ps2pk.map pdftex.map; do
+cat >$file <<eof
+% $file: maintained by the script updmap in \$TEXMFMAIN/dvips/config.
+% The preferred way to add things to this file is to put the extra lines
+% into a separate file and add that filename to the updmap script. Then,
+% run the updmap script to recreate this file.
+eof
+done
+
+cat $lw35_modules | grep -v '^%' | grep . | sort | uniq >> psfonts.map
+cat $ps2pk_modules | grep -v '^%' | grep . | sort | uniq >> ps2pk.map
+cat $pdftex_modules | grep -v '^%' | grep . | sort | uniq >> pdftex.map
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/wcl.sfd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/wcl.sfd
new file mode 100644
index 00000000000..594a36acbad
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/wcl.sfd
@@ -0,0 +1,62 @@
+# Big5.sfd
+#
+# subfont numbers for Big 5 encoding and its corresponding code ranges
+# to be used with the CJK package for LaTeX.
+
+01 0xA140_0xA17E 0xA1A1_0xA1FE 0xA240_0xA27E 0xA2A1_0xA2C4
+02 0xA2C5_0xA2FE 0xA340_0xA37E 0xA3A1_0xA3FE 0xA440_0xA468
+03 0xA469_0xA47E 0xA4A1_0xA4FE 0xA540_0xA57E 0xA5A1_0xA5ED
+04 0xA5EE_0xA5FE 0xA640_0xA67E 0xA6A1_0xA6FE 0xA740_0xA77E 0xA7A1_0xA7B3
+05 0xA7B4_0xA7FE 0xA840_0xA87E 0xA8A1_0xA8FE 0xA940_0xA957
+06 0xA958_0xA97E 0xA9A1_0xA9FE 0xAA40_0xAA7E 0xAAA1_0xAADC
+07 0xAADD_0xAAFE 0xAB40_0xAB7E 0xABA1_0xABFE 0xAC40_0xAC7E 0xACA1_0xACA2
+08 0xACA3_0xACFE 0xAD40_0xAD7E 0xADA1_0xADFE 0xAE40_0xAE46
+09 0xAE47_0xAE7E 0xAEA1_0xAEFE 0xAF40_0xAF7E 0xAFA1_0xAFCB
+10 0xAFCC_0xAFFE 0xB040_0xB07E 0xB0A1_0xB0FE 0xB140_0xB16F
+11 0xB170_0xB17E 0xB1A1_0xB1FE 0xB240_0xB27E 0xB2A1_0xB2F4
+12 0xB2F5_0xB2FE 0xB340_0xB37E 0xB3A1_0xB3FE 0xB440_0xB47E 0xB4A1_0xB4BA
+13 0xB4BB_0xB4FE 0xB540_0xB57E 0xB5A1_0xB5FE 0xB640_0xB65E
+14 0xB65F_0xB67E 0xB6A1_0xB6FE 0xB740_0xB77E 0xB7A1_0xB7E3
+15 0xB7E4_0xB7FE 0xB840_0xB87E 0xB8A1_0xB8FE 0xB940_0xB97E 0xB9A1_0xB9A9
+16 0xB9AA_0xB9FE 0xBA40_0xBA7E 0xBAA1_0xBAFE 0xBB40_0xBB4D
+17 0xBB4E_0xBB7E 0xBBA1_0xBBFE 0xBC40_0xBC7E 0xBCA1_0xBCD2
+18 0xBCD3_0xBCFE 0xBD40_0xBD7E 0xBDA1_0xBDFE 0xBE40_0xBE76
+19 0xBE77_0xBE7E 0xBEA1_0xBEFE 0xBF40_0xBF7E 0xBFA1_0xBFFB
+20 0xBFFC_0xBFFE 0xC040_0xC07E 0xC0A1_0xC0FE 0xC140_0xC17E 0xC1A1_0xC1C1
+21 0xC1C2_0xC1FE 0xC240_0xC27E 0xC2A1_0xC2FE 0xC340_0xC365
+22 0xC366_0xC37E 0xC3A1_0xC3FE 0xC440_0xC47E 0xC4A1_0xC4EA
+23 0xC4EB_0xC4FE 0xC540_0xC57E 0xC5A1_0xC5FE 0xC640_0xC67E 0xC6A1_0xC6B0
+24 0xC6B1_0xC6FE 0xC740_0xC77E 0xC7A1_0xC7FE 0xC840_0xC854
+25 0xC855_0xC87E 0xC8A1_0xC8FE 0xC940_0xC97E 0xC9A1_0xC9D9
+26 0xC9DA_0xC9FE 0xCA40_0xCA7E 0xCAA1_0xCAFE 0xCB40_0xCB7D
+27 0xCB7E 0xCBA1_0xCBFE 0xCC40_0xCC7E 0xCCA1_0xCCFE 0xCD40_0xCD43
+28 0xCD44_0xCD7E 0xCDA1_0xCDFE 0xCE40_0xCE7E 0xCEA1_0xCEC8
+29 0xCEC9_0xCEFE 0xCF40_0xCF7E 0xCFA1_0xCFFE 0xD040_0xD06C
+30 0xD06D_0xD07E 0xD0A1_0xD0FE 0xD140_0xD17E 0xD1A1_0xD1F1
+31 0xD1F2_0xD1FE 0xD240_0xD27E 0xD2A1_0xD2FE 0xD340_0xD37E 0xD3A1_0xD3B7
+32 0xD3B8_0xD3FE 0xD440_0xD47E 0xD4A1_0xD4FE 0xD540_0xD55B
+33 0xD55C_0xD57E 0xD5A1_0xD5FE 0xD640_0xD67E 0xD6A1_0xD6E0
+34 0xD6E1_0xD6FE 0xD740_0xD77E 0xD7A1_0xD7FE 0xD840_0xD87E 0xD8A1_0xD8A6
+35 0xD8A7_0xD8FE 0xD940_0xD97E 0xD9A1_0xD9FE 0xDA40_0xDA4A
+36 0xDA4B_0xDA7E 0xDAA1_0xDAFE 0xDB40_0xDB7E 0xDBA1_0xDBCF
+37 0xDBD0_0xDBFE 0xDC40_0xDC7E 0xDCA1_0xDCFE 0xDD40_0xDD73
+38 0xDD74_0xDD7E 0xDDA1_0xDDFE 0xDE40_0xDE7E 0xDEA1_0xDEF8
+39 0xDEF9_0xDEFE 0xDF40_0xDF7E 0xDFA1_0xDFFE 0xE040_0xE07E 0xE0A1_0xE0BE
+40 0xE0BF_0xE0FE 0xE140_0xE17E 0xE1A1_0xE1FE 0xE240_0xE262
+41 0xE263_0xE27E 0xE2A1_0xE2FE 0xE340_0xE37E 0xE3A1_0xE3E7
+42 0xE3E8_0xE3FE 0xE440_0xE47E 0xE4A1_0xE4FE 0xE540_0xE57E 0xE5A1_0xE5AD
+43 0xE5AE_0xE5FE 0xE640_0xE67E 0xE6A1_0xE6FE 0xE740_0xE751
+44 0xE752_0xE77E 0xE7A1_0xE7FE 0xE840_0xE87E 0xE8A1_0xE8D6
+45 0xE8D7_0xE8FE 0xE940_0xE97E 0xE9A1_0xE9FE 0xEA40_0xEA7A
+46 0xEA7B_0xEA7E 0xEAA1_0xEAFE 0xEB40_0xEB7E 0xEBA1_0xEBFE 0xEC40
+47 0xEC41_0xEC7E 0xECA1_0xECFE 0xED40_0xED7E 0xEDA1_0xEDC5
+48 0xEDC6_0xEDFE 0xEE40_0xEE7E 0xEEA1_0xEEFE 0xEF40_0xEF69
+49 0xEF6A_0xEF7E 0xEFA1_0xEFFE 0xF040_0xF07E 0xF0A1_0xF0EE
+50 0xF0EF_0xF0FE 0xF140_0xF17E 0xF1A1_0xF1FE 0xF240_0xF27E 0xF2A1_0xF2B4
+51 0xF2B5_0xF2FE 0xF340_0xF37E 0xF3A1_0xF3FE 0xF440_0xF458
+52 0xF459_0xF47E 0xF4A1_0xF4FE 0xF540_0xF57E 0xF5A1_0xF5DD
+53 0xF5DE_0xF5FE 0xF640_0xF67E 0xF6A1_0xF6FE 0xF740_0xF77E 0xF7A1_0xF7A3
+54 0xF7A4_0xF7FE 0xF840_0xF87E 0xF8A1_0xF8FE 0xF940_0xF947
+55 0xF948_0xF97E 0xF9A1_0xF9FE 0xFA40_0xFA65
+
+# eof
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pinyin.txt b/Master/texmf-dist/doc/latex/cjk/doc/pinyin.txt
new file mode 100644
index 00000000000..86b8fc1fd91
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pinyin.txt
@@ -0,0 +1,62 @@
+This is the file pinyin.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+pinyin.sty
+----------
+
+This style file (which can be also used under plain TeX) enables the input
+of pinyin syllables with tones.
+
+Say
+
+ \usepackage{pinyin}
+
+to load all pinyin macros under LaTeX2e; say `\input pinyin.sty' under plain
+TeX.
+
+An example explains best how to input pinyin:
+
+ \Wo3 \hen3 \xi3\huan1 \chi1 \Zhong1\guo2 \cai4.
+
+Note there is no fifth tone marker in pinyin (Zhuyinfuhao uses a dot to
+indicate the fifth tone; on the other hand no marker is used for the first
+tone). Nevertheless you can say e.g., \ne5 to get the syllable `ne' without a
+tone.
+
+
+There are some special cases:
+
+ o use `v' instead of `u umlaut' in pinyin syllables (these are \lv,
+ \lve, \nv, \nve and its uppercase forms). Example:
+
+ \nv3'\er2 daughter
+
+ The appearance of u umlaut with additional tone markers has been
+ tested with the standard cm, ec, and PostScript fonts.
+
+ o use \Long and \LONG instead of \long and \Long (which you would
+ expect): \long is a very important internal TeX command. Many
+ packages would fail if we redefined \long.
+
+
+Problems:
+
+ The following macros are redefined if you load pinyin.sty:
+
+ \a, \chi, \cong, \ding, \ge, \hang, \le, \min, \mu, \ne, \ni, \nu,
+ \o, \O, \pi, \Pi, \Re, \tan, \xi, \Xi.
+
+ They are available as \PY... (\PYchi, \PYcong, etc.).
+
+ If this is not enough, you can say \PYdeactivate to restore the original
+ definitions (and reactivate these syllables with \PYactivate).
+
+ In case you use the hyperref package earlier than version 6.75a
+ (2006-Feb-12) together with the `hpdftex' driver you should load
+ pinyin.sty *after* hyperref.sty (contrary to what the hyperref manual
+ says). Reason is that \ding is defined in pifont.sty which is
+ automatically loaded by hpdftex.def -- the latest hyperref version no
+ longer uses pifont.sty .
+
+
+---End of pinyin.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pyhyphen.txt b/Master/texmf-dist/doc/latex/cjk/doc/pyhyphen.txt
new file mode 100644
index 00000000000..c18f6d71210
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/pyhyphen.txt
@@ -0,0 +1,107 @@
+This is the file pyhyphen.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+Hyphenation patterns for unaccented pinyin syllables
+----------------------------------------------------
+
+Sometimes it makes sense to use unaccented pinyin syllables for common names
+and phrases which are repeated frequently; sometimes you are in an
+environment which doesn't allow accented pinyin syllables at all. For such
+cases it is desirable to have correct hyphenation, avoiding manually added
+hints using e.g., `\-' between the syllables.
+
+Fortunately, due to the limited numbers of Chinese pinyin syllables (407 for
+Mandarin), it is easy to create hyphenation patterns. The logical
+consequence is to add a new `language' to the Babel package, and exactly
+this can be found in the directory utils/pyhyphen.
+
+
+Installation
+------------
+
+This is fairly straightforward. Move the Babel language definition file
+pinyin.ldf file to a place found by TeX. If you e.g., maintain a local TEXMF
+tree, a good place would be $TEXMFLOCAL/tex/generic/babel/pinyin.ldf.
+Similarly, move the pinyin hyphenation pattern file pyhyph.tex into your
+(local) TEXMF tree: The analogous place would be
+$TEXMFLOCAL/tex/generic/hyphen/pyhyph.tex.
+
+Now run texconfig (or a similar tool) to add pyhyph.tex to the used
+hyphenation patterns. In the usual case you have to add a line saying
+
+ pinyin pyhyph.tex
+
+to the hyphenation configuration file language.dat. Finally, build a new
+format file (usually the command `initex latex.ltx'); in most cases this
+happens automatically.
+
+Using Babel ensures that it works both with LaTeX and Plain TeX.
+
+
+Usage
+-----
+
+Do something like this:
+
+ \documentclass[...]{...}
+
+ \usepackage[T1]{fontenc}
+ \usepackage[pinyin,german,english]{babel}
+ ...
+
+ \begin{document}
+ ...
+ \foreignlanguage{pinyin}{some pinyin syllables}
+ ...
+ \end{document}
+
+
+Note 1: pinyin.ldf is intentionally very minimal. Don't expect that e.g.,
+ \chapter yields a pinyin version of the Chinese word for `chapter'.
+ It might be useful to define a shorthand macro like the following:
+
+ \newcommand{\py}[1]{\foreignlanguage{pinyin}{#1}}
+
+ Now you can simply say
+
+ \py{Beijing}
+
+Note 2: The hyphenation patterns use `umlaut u' with code position 0xFC
+ (this is latin-1 and T1 encoding). You can also use OT1 encoding,
+ but then the patterns containing `umlaut u' won't work.
+ Additionally, the quote character `'' is used as a letter which is
+ needed to resolve ambiguities like this:
+
+ Xi'an <-> Xian
+
+ If a syllable not at the beginning of a word starts with a vowel
+ (i.e., `a', `e', or `o'), you must precede it with a quote
+ character. Example:
+
+ Tian'anmen
+
+ The hyphenation patterns correctly treat it as Tian'-an-men.
+
+ The shorthand `"u' (as used in German) is available to input
+ `umlaut u'.
+
+Note 3: Most Babel language support files define a `<language>.sty' file
+ also. This is not true for pinyin! pinyin.sty is used for accented
+ pinyin syllables which don't need a special hyphenation support.
+ (pinyin.sty works with Plain TeX also.)
+
+
+Technical details
+-----------------
+
+The dictionary used to construct the hyphenation patterns has been created
+with the small C program `pinyin.c' which simply combines all existing
+Chinese syllable pairs, inserting quote characters where needed. Then,
+`patgen' has been run on the dictionary; `pinyin.tr' defines the used
+character set.
+
+Due to the regularity of the word combinations, only two-letter patterns of
+the first level are needed to find all possible breaks without a single
+error or omission.
+
+---End of pyhyphen.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/reftex.txt b/Master/texmf-dist/doc/latex/cjk/doc/reftex.txt
new file mode 100644
index 00000000000..99901bbc14c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/reftex.txt
@@ -0,0 +1,34 @@
+This is the file reftex.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+RefTeX
+------
+
+To make RefTeX aware of \CJKinput and \CJKbibliography, add the following
+two lines to your .emacs file:
+
+ (add-to-list 'reftex-include-file-commands "CJKinclude")
+ (add-to-list 'reftex-bibliography-commands "CJKbibliography")
+
+These two variables have been added to RefTeX in July 2002.
+
+Older versions (like 4.16) which don't have them must be patched directly.
+In reftex.el:
+
+1097c1097
+< (include-re (concat wbol "\\\\\\(include\\|input\\)[{ \t]+\\([^} \t\n\r]+\\)"))
+---
+> (include-re (concat wbol "\\\\\\(include\\|input\\|CJKinput\\)[{ \t]+\\([^} \t\n\r]+\\)"))
+
+In reftex-parse.el:
+
+333c333
+< "\\(\\`\\|[\n\r]\\)[ \t]*\\\\\\(no\\)?bibliography{[ \t]*\\([^}]+\\)" nil t)
+---
+> "\\(\\`\\|[\n\r]\\)[ \t]*\\\\\\(no\\|CJK\\)?bibliography{[ \t]*\\([^}]+\\)" nil t)
+
+Changes for even older RefTeX versions (before Aug 1999 which only have
+reftex.el) are virtually the same.
+
+
+---End of reftex.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/ruby.txt b/Master/texmf-dist/doc/latex/cjk/doc/ruby.txt
new file mode 100644
index 00000000000..fc1b30cd36c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/ruby.txt
@@ -0,0 +1,139 @@
+This is the file ruby.txt of the CJK macro package ver. 4.8.0 (22-May-2008).
+
+What is ruby?
+-------------
+
+To cite Martin Duerst (mduerst@w3.org) who wrote a proposal for ruby in HTML
+documents:
+
+
+ Ruby are small characters used for annotations of a text, at the right
+ side for vertical text, and atop for horizontal text, to indicate the
+ reading (pronounciation) of ideographic characters. [...]
+
+ The name `ruby' is the name of the 5.5 point type size in British
+ terminology; this was the size most used for ruby. [...]
+
+ Ruby are in most cases set at half the size of the main letters,
+ resulting in a possible two ruby characters per main character, and
+ taking up half of the width of the main characters. However, at least up
+ to five ruby characters per main character are possible (an example is
+ `u-ke-ta-ma-wa-...'), and so various solutions, from leaving white space
+ in the main text to having the ruby overlap the next characters of the
+ main text, are possible (the later is possible in Japanese especially
+ because in many cases, the characters around an ideograph with ruby are
+ syllabic, and therefore the assignment of ruby to main characters poses
+ no problems for the reader). [...]
+
+ Ruby are particularly frequent in Japanese, because of the way CJK
+ ideographs are used in Japanese. Ideographs can have many different
+ readings (pronounciations) because different readings were taken over
+ from different regions of China and at different times when the
+ characters where adopted in Japan. Also, these characters are used to
+ write indigenous Japanese words, and many readings may be possible
+ because the ideograph might cover many different concepts distinguished
+ in the Japanese language. [...] The main use of ruby today is in
+ magazines of all levels, and of course in educational material. Ruby are
+ also used in educational material in China and Taiwan.
+
+ In Japan, the term `furigana' is also used instead of `ruby'. `Furigana'
+ is composed of the verb `furu' (to attach, sprinkle, ...) and `gana'
+ (either hiragana or katakana, one of the two Japanese syllabaries usually
+ used for ruby).
+
+
+
+Usage
+-----
+
+Here a typical example:
+
+
+ \documentclass{article}
+
+ \usepackage{CJK}
+ \usepackage[overlap, CJK]{ruby}
+
+
+ \begin{document}
+
+ \begin{CJK*}{JIS}{song}
+
+ ....Japanese text.....\ruby{base character(s)}{ruby}....
+
+ \end{CJK*}
+
+ \end{document}
+
+
+The following options can be selected:
+
+ `overlap' and `nooverlap', as described above. \rubyoverlap and
+ \rubynooverlap are the corresponding commands to modify the overlap flag.
+ `overlap' is the default.
+
+ `CJK' and `latin'. The corresponding commands are \rubyCJK and \rubylatin.
+ Use these commands similar to \CJKnospace and \CJKspace to suppress or not
+ suppress spaces after a \ruby macro and to get/avoid insertion of glue.
+ `CJK' is the default.
+
+The command \rubysize defines the factor between the size of the base
+character and the ruby. Its default value is 0.4 . Usually you get some
+error messages about size substitution (the reason is that LaTeX 2e always
+defines a default error font) which can be safely ignored if you use ttf2pk
+or hbf2gf since these programs compute fonts for (almost) any font size. In
+the unlikely case that you need latin fonts as ruby it may be necessary to
+adapt your FD definition files if the particular font supports non-standard
+sizes (e.g., EC, Sauter, PS) and you really want exactly that size.
+
+The command \rubysep defines the separation between the base character and
+the ruby. Its default value is -0.5ex.
+
+To avoid lines sticking together the value of \lineskiplimit has been set
+to 1pt. It may be necessary to increase this value for larger font sizes.
+
+Note that all \ruby... commands are local, i.e., they obey groups.
+
+
+Implementation specific details
+-------------------------------
+
+There are a number of possibilities how ruby can interact with other CJK
+characters.
+
+ o The ruby has a smaller width than its base character:
+
+ The behaviour is identical to an ordinary CJK character.
+
+ o The ruby has a greater width than its base character:
+
+ + Overlapping ruby:
+
+ . If the previous or next character is a CJK character
+ (ordinary or punctuation), insert unbreakable glue between.
+
+ . If the previous or next character is a ruby, handle both
+ ruby as non-overlapping and insert unbreakable glue between.
+
+ . A ruby at the beginning of a paragraph is treated as if the
+ nonoverlap option had been set. To force an overlapping ruby
+ you have to start the paragraph with a \leavevmode command.
+
+ + Non-overlapping ruby:
+
+ . If the previous or next character is a CJK character
+ (ordinary or punctuation), insert unbreakable glue between.
+
+If `latin' is active, no glue at all is inserted.
+
+
+Technical details
+-----------------
+
+ruby.sty introduces a third variation of a small kern (3sp) to inform the
+next CJK or ruby macro that the previous character was an overlapping ruby
+with the ruby's width greater than its base character. The global variable
+\ruby@width then contains this width.
+
+
+---End of ruby.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/thaifont.txt b/Master/texmf-dist/doc/latex/cjk/doc/thaifont.txt
new file mode 100644
index 00000000000..08df1befd8e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/thaifont.txt
@@ -0,0 +1,129 @@
+This is the file thaifont.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+Thai font support in the CJK package
+------------------------------------
+
+Version 4.8.0 of the CJK package has improved support for Thai. This file
+describes how to install and use the fonts. Please refer to cjk-enc.txt how
+to set up cjk-enc.el (which automatically loads thai-word.el for finding
+word breaks).
+
+The directory structure in utils/thaifont/texmf already reflects the
+directory structure of a standard TEXMF tree, version 1.1. Example:
+
+ utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc ->
+ /usr/local/share/texmf/fonts/enc/dvips/thai/c90.enc
+
+To create TFM files for other Thai fonts, use the utility files in the
+`thaifont/tools' directory. Details how to do that can be found in
+`thaifonts/tools/INSTALL'. The file thaifont/tools/c90.etx gives the
+theoretical background on the used font encoding and ligature mechanism;
+a pre-formatted version can be found in CJK's doc bundle.
+
+
+Installation
+------------
+
+. It is assumed that you have already installed the main parts of the CJK
+ package (as described in the doc/INSTALL file).
+
+. Get the latest thailatex package from
+
+ http://linux.thai.net/plne/TLWG/thailatex
+
+ and install the Type 1 font families `garuda' and `norasi'. You should use
+ thailatex version 0.3.5.1 or newer. Recommended locations are
+
+ TEXMF/fonts/type1/public/{garuda,norasi}/ .
+
+ Fot historical reasons, you must remove the underscore from the font names
+ to stay within the 8.3 filename limit imposed by some operating systems.
+ Additionally, you should append the letter `n' to the normal shape's font.
+
+ Examples:
+
+ garuda.pfb -> TEXMF/fonts/type1/public/garuda/garudan.pfb
+ norasi_bi.pfb -> TEXMF/fonts/type1/public/norasi/norasibi.pfb
+
+ Note that the TeX metric files of thailatex bundle are incompatible with
+ CJK's Thai implementation. Nevertheless, it is possible to use both at the
+ same time if desired. This is the very reason that the Babel language
+ support file of the CJK package is called `thaicjk.ldf', not `thai.ldf'.
+
+. Install all files from utils/thaifont/texmf in your TEXMF tree. This
+ should be straightforward.
+
+. Font definition files for Thai are in CJK's texinput/thai directory. To
+ simplify font handling with LaTeX, `gar' and `nrsr' are aliased to `cmr',
+ `cmss', and `cmtt'. If you want to use other fonts, you have to adapt
+ c90cmr.fd, c90cmss.fd, and c90cmtt.fd accordingly.
+
+. There are two possibilities how to make the Thai PostScript fonts known to
+ the various DVI drivers (and pdftex). The recommended way is to include
+ the files `garuda.map' and `norasi.map' in the `updmap.cfg' configuration
+ script by adding the following two lines:
+
+ Map garuda.map
+ Map norasi.map
+
+ Older versions of updmap which don't have updmap.cfg must be patched
+ directly by adding the map files to the `extra_modules' variable:
+
+ extra_modules="
+ dbtt.map
+ norasi.map
+ "
+
+ After executing updmap, the fonts are known to all programs which uses the
+ map files.
+
+ For dvips, you can also use the `config.norasi' and `config.garuda' files
+ on the command line:
+
+ dvips -P norasi ...
+
+ This method doesn't work with pdfTeX (which doesn't understand the `-P'
+ option).
+
+. Run mktexlsr or a similar program to update the TEXMF file database.
+
+
+Usage
+-----
+
+Thai support has been fully integrated into the Babel system. For example,
+to have Thai as a secondary language and US English as the primary language,
+say
+
+ \documentclass{...}
+
+ ...
+ \usepackage[thaicjk,USenglish]{babel}
+ ...
+
+
+ \begin{document}
+
+ ...
+ \begin{otherlanguage}{thaicjk}
+ Thai text
+ \end{otherlanguage}
+
+ ...
+
+`thaicjk' changes the baseline stretch to 1.2, activates \frenchspacing, and
+modifies the \today command to use the proper Thai values and names.
+
+The just sketched outline works without cjk-enc also (but no word breaks are
+inserted automatically); you must then insert
+
+ \addto\extrasthaicjk{\fontencoding{C90}\selectfont}
+
+in the preamble of your document to make Babel switch to Thai font encoding
+on entering the `thaicjk' language environment.
+
+For use of cjk-enc.el please read `cjk-enc.txt'.
+
+
+---End of thaifont.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/vertical.txt b/Master/texmf-dist/doc/latex/cjk/doc/vertical.txt
new file mode 100644
index 00000000000..1766d3c29ba
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/vertical.txt
@@ -0,0 +1,120 @@
+This is the file vertical.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+
+Vertical typesetting
+====================
+
+TeX itself can't support vertical typesetting. Nevertheless, it is possible
+to emulate it by rotating glyphs by 90 degrees.
+
+The CJK package supports two different approaches:
+
+o Provide fonts which already contain rotated glyphs. In this case, the
+ only difference to normal typesetting is the emulation of bold
+ characters by printing a character three times with slight vertical
+ offsets instead of horizontal ones. Both hbf2gf and ttf2pk can produce
+ rotated bitmap fonts. The major disadvantage is that it doesn't work
+ well for outline fonts since there is no portable way to implement
+ rotation on the font level which works for both PostScript and PDF
+ output.
+
+ You need a `.fdx' file for this option which at least contains
+ `\CJKvdef{norotate}{}'.
+
+o Use the graphicx package to rotate glyphs. A disadvantage is that
+ processing of a document is much slower and that documents tend to be
+ much larger in size. On the other hand, PDF and PostScript output can be
+ produced from identical sources since graphicx hides the implementation
+ differences.
+
+ This works even without a `.fdx' file in case CJK's default rotation
+ parameters are fine.
+
+
+CJKvert.sty
+-----------
+
+Loading CJKvert.sty activates vertical support. The two commands to be used
+in documents are \CJKvert and \CJKhorz which do the obvious. \CJKvert is
+the default. The two commands act locally, not globally.
+
+Use macro \CJKbaselinestretch to adjust the baseline stretch during vertical
+typesetting. The default value is `1.3'.
+
+Package option `usebaselinestretch' saves the \baselinestretch value set
+before loading CJKvert.sty. If this option is active, then
+
+ new \baselinestretch = \CJKbaselinestretch * \baselinestretch
+
+after issuing \CJKvert. Otherwise, it is simply
+
+ new \baselinestretch = \CJKbaselinestretch
+
+Similarly, \CJKhorz restores the old \baselinestretch value if
+`usebaselinestretch' is active; without the option, \baselinestretch is set
+to `1'.
+
+
+Problems with vertical typesetting
+----------------------------------
+
+Some glyphs can't be used directly for vertical typesetting; a simple
+rotation by 90 degrees would produce ugly results for various reasons:
+
+o Many punctuation characters have special vertical representation forms.
+ Some fonts contain proper vertical glyphs, but many don't. In the latter
+ case it is necessary to provide alternative methods to improve the
+ optical appearance.
+
+o Non-rotated (latin) text within rotated (CJK) text is aligned
+ differently as if text is written horizontally. Rotated glyphs thus must
+ be slightly shifted.
+
+o Some fonts contain CJK glyphs without quadratic bounding boxes but only
+ monospaced advance widths. It is then necessary to provide glyph
+ dimensions to assure monospaced advance heights after rotation.
+
+See the documentation file `fdxfiles.txt' for details on setting up
+extended font definition files which can handle those items.
+
+
+Fonts with vertical representation forms
+----------------------------------------
+
+OpenType fonts intended for vertical typesetting normally contain a GSUB
+feature called `vert' which provides a mapping to vertical instead of
+horizontal representation forms. ttf2tfm automatically takes care of it (see
+below), but if such fonts have been converted to sets of Type 1 subfonts
+this feature is lost.
+
+A solution to this problem is to collect all vertical representation glyphs
+in a special Type 1 subfont. See the scripts vertical.pe, vertref.pe (for
+FontForge), and makefdx.pl (for Perl) in the directory utils/subfonts which
+do that.
+
+At the moment of this writing, only the fonts bsmi00lp.ttf and bkai00mp.ttf
+for traditional Chinese have been transformed to Type 1 subfonts together
+with a font with vertical representation glyphs (bsmilpv.pfb and
+bkaimpv.pfb). They are part of the corresponding CJK font bundles found on
+CTAN. See the file INSTALL for more information.
+
+
+Rotated fonts
+-------------
+
+o To install a rotated font to be handled by hbf2gf, simply proceed as
+ usual, with one difference: You have to add a line
+
+ rotation yes
+
+ to the hbf2gf configuration file of this font. x_offset and y_offset
+ values must be adjusted too. Look at the example configuration file
+ b5kr12.cfg for details---as you can see, the name of the non-rotated
+ font (b5ka12) has been changed to `b5kr12'.
+
+o With ttf2tfm, use the `-x' switch to activate rotation. For details
+ please refer to the man pages of ttf2tfm and ttf2pk.
+
+
+---End of vertical.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/doc/xCJK.txt b/Master/texmf-dist/doc/latex/cjk/doc/xCJK.txt
new file mode 100644
index 00000000000..60e2811644f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/doc/xCJK.txt
@@ -0,0 +1,73 @@
+This is the file xCJK.txt of the CJK macro package ver. 4.8.0
+(22-May-2008).
+
+xCJK.sty
+--------
+
+This file provides support for the CJK package with XeLaTeX:
+
+ . Use the CJK package to deal with CJK characters, especially for
+ spaces and punctuation, while the font selection is left to XeLaTeX.
+
+ . Specify different default fonts for CJK and other characters,
+ respectively.
+
+Usage:
+
+ \documentclass{...}
+ ...
+ \usepackage[<options>]{xCJK}
+ ...
+ \begin{document}
+ ...
+ \begin{CJK*}{UTF8}{...}
+ ...
+ \end{CJK*}
+ ...
+ \end{document}
+
+ Available values for <options> are
+
+ boldfont simulate bold fonts for CJK characters
+ italicfont simulate italic fonts for CJK characters
+
+ To make `italicfont' work you need XeTeX version 0.997 or newer.
+
+
+xCJK.sty provides three basic macros for font selection:
+
+ \setCJKmainfont[<font features>]{<font name>}
+ Set a default font for CJK characters.
+
+ \setCJKfamilyfont{<family name>}[<font features>]{<font name>}
+ Declare a CJK family and select a font for it. Switching font families
+ can be done as usual with \CJKfamily.
+
+ \setCJKmonofont[<font features>]{<font name>}
+ Declare a CJK font to be used in verbatim environments.
+
+Note that \setCJKmainfont takes precedence over \setmainfont (which is
+defined in the standard `fontspec' package for XeLaTeX).
+
+For a full description of the parameters <font features> and <font name>
+please read the documentation of the `fontspec' package; an example input
+file is examples/xCJK.tex .
+
+
+Remarks:
+
+ . To make the xCJK package work the following two commands must be called:
+
+ \XeTeXinputencoding "bytes"
+ \XeTeXdefaultencoding "bytes"
+
+ xCJK.sty automatically does this (using the \AtBeginDocument hook) but
+ other packages might override it.
+
+ . <font name> must be in English.
+
+ . If you use the `verbatim' package you should call \CJKverbatim to make
+ the verbatim environment select the CJK font as specified with
+ \setCJKmonofont automatically (\CJKverbatim redefines \verbatim@font).
+
+---End of xCJK.txt---
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/Big5.tex b/Master/texmf-dist/doc/latex/cjk/examples/Big5.tex
new file mode 100644
index 00000000000..8a7ba74401d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/Big5.tex
@@ -0,0 +1,35 @@
+% This is the file Big5.tex of the CJK package
+% for testing Chinese (in Big 5 encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+%
+%
+% process this file with bg5latex
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+
+
+\begin{document}
+
+\begin{CJK*}{Bg5}{bsmi}
+\CJKtilde
+
+\noindent ฅปฑ`ฐฐตชถฐ~(FAQ list)~ฌOฑqค@จวธgฑ`ณQฐจ์ชบฐรDคฮจไพAทํชบธั
+ตชคคกAฅHค่ซKชบงฮฆกบKญnฆำฅXชบกCธ๒คWค@ชฉคฃฆPชบฌOกAจไฝsฑฦตฒบcคwนฉณง๏ลกC
+\textbf{ฆณร๖ทsตฒบcชบฒำธ`กAฅiฐัฆากuฆpฆ๓พ\ลชฅปฐตชถฐคฮคFธัจไฝsฑฦตฒบcกvธำ
+ถตคคชบปกฉ๚กC}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: big5
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/Big5vert.tex b/Master/texmf-dist/doc/latex/cjk/examples/Big5vert.tex
new file mode 100644
index 00000000000..3f4b58b2412
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/Big5vert.tex
@@ -0,0 +1,35 @@
+% This is the file Big5vert.tex of the CJK package
+% for testing vertical typesetting (in Big 5 encoding).
+%
+% process this file with bg5latex
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage{CJKvert}
+
+
+\begin{document}
+
+\begin{CJK*}{Bg5}{bsmi}
+\CJKtilde
+
+\noindent ฅปฑ`ฐฐตชถฐ~(FAQ list)~ฌOฑqค@จวธgฑ`ณQฐจ์ชบฐรDคฮจไพAทํชบธั
+ตชคคกAฅHค่ซKชบงฮฆกบKญnฆำฅXชบกCธ๒คWค@ชฉคฃฆPชบฌOกAจไฝsฑฦตฒบcคwนฉณง๏ลกC
+\textbf{ฆณร๖ทsตฒบcชบฒำธ`กAฅiฐัฆากuฆpฆ๓พ\ลชฅปฐตชถฐคฮคFธัจไฝsฑฦตฒบcกvธำ
+ถตคคชบปกฉ๚กC}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: big5
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/CEF_test.tex b/Master/texmf-dist/doc/latex/cjk/examples/CEF_test.tex
new file mode 100644
index 00000000000..682b72920a0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/CEF_test.tex
@@ -0,0 +1,41 @@
+% This is the file CEF_test.tex of the CJK package
+% for testing CEF encoded text with LaTeX2e
+%
+% Version 4.8.0 (22-May-2008)
+%
+% process this text with ceflatex
+
+\documentclass[12pt]{article}
+
+\usepackage[global]{CJK}
+\usepackage{MULEenc}
+
+
+\begin{document}
+
+\begin{CJK}{}{}
+
+\verb|\CJKchar[CNS1]{"5A}{"5A}| \CJKchar[CNS1]{"5A}{"5A}
+\quad \verb|&C1-|\verb|5A5A;| &C1-5A5A;
+
+\verb|\CJKchar[CNS2]{"5A}{"5A}| \CJKchar[CNS2]{"5A}{"5A}
+\quad \verb|&C2-|\verb|5A5A;| &C2-5A5A;
+
+\verb|\CJKchar[CNS3]{"5A}{"5A}| \CJKchar[CNS3]{"5A}{"5A}
+\quad \verb|&C3-|\verb|5A5A;| &C3-5A5A;
+
+\verb|\CJKchar[CNS4]{"5A}{"5A}| \CJKchar[CNS4]{"5A}{"5A}
+\quad \verb|&C4-|\verb|5A5A;| &C4-5A5A;
+
+\verb|\CJKchar[CNS5]{"5A}{"5A}| \CJKchar[CNS5]{"5A}{"5A}
+\quad \verb|&C5-|\verb|5A5A;| &C5-5A5A;
+
+\verb|\CJKchar[CNS6]{"5A}{"5A}| \CJKchar[CNS6]{"5A}{"5A}
+\quad \verb|&C6-|\verb|5A5A;| &C6-5A5A;
+
+\verb|\CJKchar[CNS7]{"5A}{"5A}| \CJKchar[CNS7]{"5A}{"5A}
+\quad \verb|&C7-|\verb|5A5A;| &C7-5A5A;
+
+\end{CJK}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/CJKbabel.tex b/Master/texmf-dist/doc/latex/cjk/examples/CJKbabel.tex
new file mode 100644
index 00000000000..45aed068f88
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/CJKbabel.tex
@@ -0,0 +1,135 @@
+% This is the file CJKbabel.tex of the CJK package
+% for testing text written with Emacs 20 and Babel (starting
+% with version 3.6).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% You need Emacs 20 to process this file!
+
+% You should load this file into Emacs (C-x C-f) and call
+% `cjk-write-file' (M-x cjk-write-file). Then run LaTeX on the file
+% `CJKbabel.cjk'.
+%
+% `cjk-write-file' will be available after loading cjk-enc.el into
+% Emacs 20 with the commands load-file or load-library.
+%
+% Vietnamese support for Babel comes with the VnTeX package.
+%
+% Read cjk-enc.txt for more details.
+
+\documentclass[12pt]{article}
+
+\usepackage{inputenc} % load it without argument
+ % to avoid Babel warnings
+
+\usepackage[10pt]{type1ec} % use only 10pt fonts
+\usepackage[T1]{fontenc}
+
+\usepackage[german,
+ russian, % T2A font encoding
+ thaicjk, % C90 font encoding
+ greek, % LGR font encoding
+ vietnam, % T5 font encoding
+ USenglish]{babel}
+
+\usepackage[overlap, CJK]{ruby}
+\usepackage{CJKulem}
+
+\usepackage{pshan} % Korean Wansong PS fonts
+
+\CJKencfamily{Bg5}{bsmi}
+\CJKencfamily{GB}{gbsn}
+\CJKencfamily[dnp]{JIS}{min}
+
+\CJKfontenc{KS}{HL}
+\CJKfontenc{JIS}{dnp}
+
+\renewcommand{\rubysep}{-0.2ex}
+
+
+\begin{document}
+
+\parskip 3ex
+\parindent 0pt
+
+“ภฬ FAQ “ภบ “ภฺ“มึ “น“บน“ตว“ดย “ม๚“นฎ“ฐ๚ “ฑื“ฟก “ด๋“วั “ด๋“ดไ“ภป “ฐฃ“ด“ธํ“ทแ“วั “พ็“ฝฤ“ภธ“ทฮ
+“ธ๐“พฦ “ฟซ“พ๎“มณ“ฝภ“ดฯ“ดู. \uline{“ภฬ FAQ “ภว “ฑธ“มถ“ดย “ม๖“ณญ “ฦว“ฟก “บ๑“วฯ“ฟฉ “ศน“ฑโ“ภ๛“ภธ“ทฮ
+ “บฏ“ฐๆ“ตว“พ๚“ฝภ“ดฯ“ดู.} \textbf{“ป๓“ผผ“วั “ฐอ“ภบ ``“ภฬ FAQ “ภป “พ๎“ถป“ฐิ “ภะ“ภป
+ “ฐอ“ภฮ“ฐก'' “ถ๓“ดย “ด๋“ธ๑“ภป “ย“มถ“วฯ“ฝร“ฑโ “นู“ถ๘“ดฯ“ดู.}
+
+\begin{otherlanguage}{german}
+ Dieses FAQ wurde erstellt, um hไufig gestellte Fragen und ihre
+ Antworten in einer gefไlligen Form zusammenzufassen. \uline{Die
+ Struktur dieses FAQ wurde drastisch geไndert seit der letzten
+ Version.} \textbf{Fr Details siehe den Abschnitt "`Wie lese ich
+ dieses FAQ"'.}
+\end{otherlanguage}
+
+\CJKtilde
+
+‘ฑพ‘ณฃ‘ฮส‘ฮส‘ด๐‘ผฏ~(FAQ list)~‘สว‘ดำ‘าป‘ะฉ‘พญ‘ณฃ‘ฑป‘ฮส‘ตฝ‘ตฤ‘ฮส‘ฬโ‘ผฐ‘ฦไ‘สส‘ตฑ‘ตฤ‘ฝโ‘ด๐‘ึะ‘ฃฌ‘าิ‘ทฝ
+‘ฑใ‘ตฤ‘ะฮ‘สฝ‘ีช‘าช‘ถ๘‘ณ๖‘ตฤ‘กฃ\uline{‘ธ๚‘ษฯ‘าป‘ฐๆ‘ฒป‘อฌ‘ตฤ‘สว‘ฃฌ‘ฦไ‘ฑเ‘ลล‘ฝแ‘นน‘าั‘ณน‘ตื‘ธฤ‘ฑไ‘กฃ}
+\textbf{‘ำะ‘นุ‘ะย‘ฝแ‘นน‘ตฤ‘ฯธ‘ฝฺ‘ฃฌ‘ฟษ‘ฒฮ‘ฟผ‘กธ‘ศ็‘บฮ‘ิฤ‘ถม‘ฑพ‘ฮส‘ด๐‘ผฏ‘ผฐ‘มห‘ฝโ‘ฦไ‘ฑเ‘ลล‘ฝแ‘นน‘กน‘ธร
+ ‘ฯ๎‘ึะ‘ตฤ‘หต‘ร๗‘กฃ}
+
+˜จ˜ผง˜ปร˜ปร˜รฑ˜ฤ๖~(FAQ list)~˜ณำ˜ผธ˜ฆข˜ญ้˜ว๏˜ผง˜ฟธ˜ปร˜ฎฐ˜ฐ˜ปร˜ู๏˜งฐ˜ฎจ˜ัห˜วถ˜ฐ˜ศู˜รฑ˜ฆไ˜กข˜ง้˜งส
+˜ฑ๎˜ฐ˜ฌฑ˜ชฃ˜ส๓˜ตำ˜ชี˜ง๙˜ฐ˜กค\uline{˜ศ๚˜ฆน˜ฆข˜ฐ๋˜ฆใ˜ฉา˜ฐ˜ณำ˜กข˜ฎจ˜ะพ˜ผ๋˜รน˜หญ˜ฆู˜สๆ˜ฏถ˜ฌา˜ษ˜กค}
+\textbf{˜ชต˜ร˜ฦผ˜รน˜หญ˜ฐ˜พู˜ว่˜กข˜จฌ˜ปท˜ชิ˜กึ˜ฉ๒˜ช๕˜ัๆ˜๕˜จ˜ปร˜รฑ˜ฤ๖˜งฐ˜ฆจ˜ศู˜ฎจ˜ะพ˜ผ๋˜รน˜หญ˜กื˜ศ
+ ˜ฤ๛˜ฆไ˜ฐ˜อช˜ฏ˜กค}
+
+This FAQ list was made to summarize some frequently asked questions
+and their answers in a convenient form. \uline{The structure of this
+ FAQ list has drastically changed since the last version.}
+\textbf{For details of the new structure, see the entry of `How to
+ read this FAQ and its structure'.}
+
+’คณ’คฮ~FAQ~’ฅ๊’ฅน’ฅศ’คฯ’กข’ค่’คฏ’คข’ค๋’ผม’ฬไ’คศ’คฝ’คฮ’ล๚’ค๒’ฝธ’คแ’กข’ฬ๒’คห’ฮฉ’คฤ’ค่’คฆ’คห’คท’คฟ’คโ’คฮ
+’คว’คน’กฃ\uline{’คณ’คฮ~FAQ~’ฅ๊’ฅน’ฅศ’คฮ’นฝ’ยค’คฯ’กข’ฐส’มฐ’คฮ’คโ’คฮ’คศ’ศๆ’คู’คฦ’ย็’ษ’คห’สั’นน’คต’ค์
+ ’คฦ’คค’ค’คน’กฃ}\textbf{\ruby{’ฟท}{’คข’คฟ’ค้}’คท’คค’นฝ’ยค’คห’ดุ’คท’คฦ’คฯ’กข’กึ’คณ’คฮ~FAQ~
+ ’คฮ’ฦษ’ค฿’ส’คศ’คฝ’คฮ’นฝ’ยค’กื’คฮ’นเ’ฬ’ค๒\ruby{’ปฒ}{’คต’ค๓}\ruby{’พศ}{’คท’ค็’คฆ}’คท’คฦ’ฒผ’คต
+ ’คค’กฃ}
+
+\begin{otherlanguage}{vietnam}
+Phšขฅn ``Nhšขๆng cšขโu hšข๖i všขเ gišขไi šข๐šขแp thšข฿šขถng gšขฃp'' (višขชt tšขกt tšขื tišขชng Anh
+lšขเ FAQ) šข๐šข฿šขc nšข๊u ra šขท šข๐šขโy nhšขขm mšข๘c šข๐šขํch thu thšขงp nhšขๆng cšขโu hšข๖i thšข฿šขถng
+gšขฃp trong thšข๑c tšขช všขเ nhšขๆng lšขถi gišขไi šข๐šขแp thšขํch hšขp nhšขคt cšขa nšข๓.
+\uline{Tšขื lšขฅn šขคn bšขไn cušขฏi cšข๙ng šข๐šขชn nay, šข๐šขใ cšข๓ nhšขๆng sšข๑ thay šข๐šขฑi khšขแ
+ lšขพn trong cšขคu tršข๚c cšขa FAQ.} \textbf{šฃ๐šขฌ hišขฌu ršข๕ hšขฝn bšขีn nšข๊n xem lšขีi
+ chšข฿šขฝng ``Lšขเm sao tšข๔i cšข๓ thšขฌ šข๐šข๗c šข๐ušขc FAQ''.}
+\end{otherlanguage}
+
+\begin{otherlanguage}{russian}
+ ŒอŒโŒŒโ ŒแŒ฿ŒุŒแŒŒฺ ŒัŒ๋Œ ŒแŒŒแŒโŒะŒาŒŒีŒ ŒิŒŒ๏ ŒแŒใŒŒŒุŒเŒŒาŒะŒŒุŒ๏ ŒŒีŒฺŒŒโŒŒเŒ๋Œๅ Œ็ŒะŒแŒโŒ
+ ŒืŒะŒิŒะŒาŒะŒีŒŒ๋Œๅ ŒาŒŒ฿ŒเŒŒแŒŒา (FAQ), ŒาŒŒีŒแŒโŒี Œแ ŒŒโŒาŒีŒโŒะŒŒุ ŒŒะ ŒŒุŒๅ, Œา ŒใŒิŒŒัŒŒŒู
+ ŒไŒŒเŒŒี. \uline{ŒมŒโŒเŒใŒฺŒโŒใŒเŒะ ŒํŒโŒŒำŒ FAQ ŒฺŒะŒเŒิŒุŒŒะŒŒ์ŒŒ ŒุŒืŒŒีŒŒุŒŒะŒแŒ์ Œ฿Œ
+ ŒแŒเŒะŒาŒŒีŒŒุŒ๎ Œแ Œ฿ŒŒแŒŒีŒิ\-ŒŒีŒู ŒาŒีŒเŒแŒุŒีŒู.} \textbf{Œฒ ŒเŒะŒืŒิŒีŒŒี `ŒบŒะŒฺ Œ็ŒุŒโŒะŒโŒ์
+ ŒํŒโŒŒโ FAQ Œุ ŒีŒำŒ ŒแŒโŒเŒใŒฺŒโŒใŒเŒะ' ŒŒัŒ๊Œ๏ŒแŒŒีŒŒ๋ ŒิŒีŒโŒะŒŒุ ŒํŒโŒŒู ŒŒŒาŒŒู ŒแŒโŒเŒใŒฺŒโŒใŒเŒ๋.}
+\end{otherlanguage}
+
+\begin{otherlanguage}{thaicjk}
+ …ร…า…ย…ก…า…ร FAQ €ฅนฅีฅ้…ส€ฅรฅ้…า…ง€ฅขฅึฅ้…น…เ€ฅพฅืฅ่…อ…ส€ฅรฅุ…ป…ค…ำ…ถ…า…ม€ฅทฅีฅ่…ถ…า…ม€ฅกฅั…น€ฅบฅ่…อ…ย…ค€ฅรฅัฅ้…ง…แ…ล…ะ…ค…ำ…ต…อ…บ…ค…ำ…ถ…า…ม…ใ…น€ฅรฅู…ป…แ…บ…บ€ฅทฅี…ส…ะ…ด…ว…ก.
+ \uline{…โ…ค…ร…ง…ส€ฅรฅ้…า…ง…ข…อ…ง…ร…า…ย…ก…า…ร FAQ €ฅนฅีฅ้…เ…ป€ฅลฅีฅ่…ย…น…ไ…ป…ม…า…ก€ฅตฅัฅ้…ง…แ€ฅตฅ่€ฅรฅุฅ่…น€ฅทฅีฅ่…แ€ฅลฅ้…ว.}
+ \textbf{€ฅดฅู…ร…า…ย…ล…ะ…เ€ฅอฅี…ย…ด…ส…ำ…ห€ฅรฅั…บ…โ…ค…ร…ง…ส€ฅรฅ้…า…ง…ใ…ห€ฅมฅ่…ไ€ฅดฅ้…จ…า…ก€ฅชฅ่…ว…ง ``…โ…ค…ร…ง…ส€ฅรฅ้…า…ง…แ…ล…ะ€ฅวฅิ€ฅธฅี…ก…า…ร€ฅอฅ่…า…น
+ FAQ.''}
+\end{otherlanguage}
+
+\begin{otherlanguage}{greek}
+ †ว †๋†฿†๓†๔†แ †แ†๕†๔† †ำ†ิ†ล (†๓†๕†๗†ํ† †๔†้†่†ๅ†์††ํ†๙†ํ †ๅ†๑†๙†๔††๓†ๅ†๙†ํ) ††๗†ๅ†้ †๓†แ†ํ †๓†๊†๏†๐† †ํ†แ
+ †๓†๕†์†๐†ๅ†๑†้†๋††โ†ๅ†้ †๓†ๅ †ๅ††๗†๑†็†๓†๔†็ †์†๏†๑†๖† †๊††๐†๏†้†ๅ†๒ †๓†็†์†แ†ํ†๔†้†๊††๒ †ๅ†๑†๙†๔††๓†ๅ†้†๒ †๊†แ†้ †๔†้†๒
+ †แ†๐†แ†ํ†๔††๓†ๅ†้†๒ †๔†๏†๕†๒. \uline{†ว †๏†๑†ใ††ํ†๙†๓†็ †แ†๕†๔††๒ †๔†็†๒ †๋†฿†๓†๔†แ†๒ ††๋†๋†แ†๎†ๅ
+ †๓†็†์†แ†ํ†๔†้†๊† †แ†๐† †๔†็†ํ †๔†ๅ†๋†ๅ†๕†๔†แ†฿†แ ††๊†ไ†๏†๓† †๔†็†๒ †๊†แ†้ †์†ๅ†๔†.} \textbf{†ร†้†แ
+ †๋†ๅ†๐†๔†๏†์††๑†ๅ†้†ๅ†๒ †๐††ํ†๙ †๓†๔†็ †ํ††แ †๏†๑†ใ††ํ†๙†๓†็, †โ†๋††๐†ๅ †๔†๏ †๋††์†์†แ <<†ะ††๒ †ํ†แ
+ †ไ†้†แ†โ††๓†ๅ†๔†ๅ †แ†๕†๔† †๔†็†ํ †ำ†ิ†ล †๊†แ†้ †๐††๒ †ๅ†฿†ํ†แ†้ †๏†๑†ใ†แ†ํ†๙†์††ํ†็>>.}
+\end{otherlanguage}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: emacs-mule
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/CJKfntef.tex b/Master/texmf-dist/doc/latex/cjk/examples/CJKfntef.tex
new file mode 100644
index 00000000000..54e0e42c6cc
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/CJKfntef.tex
@@ -0,0 +1,61 @@
+% This is the file CJKfntef.tex of the CJK package
+% for testing CJKfntef.sty.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\documentclass[12pt]{article}
+
+\usepackage{color}
+\usepackage{CJK}
+\usepackage{CJKfntef}
+
+\textwidth 100mm
+\pagestyle{empty}
+
+
+\begin{document}
+
+\baselineskip 24pt
+\parindent 24pt
+
+\begin{CJK*}{GB}{gbsn}
+
+\begin{CJKfilltwosides}{40mm}
+มฝถหทึษขถิฦ๋\\
+ทึษขถิฦ๋ \\
+\CJKunderdot{บบ ืึ ฟษผำตใ}
+\end{CJKfilltwosides}
+
+\vspace{0.3cm}
+
+\CJKunderdot{บบืึผำตใฃฌ \CJKunderline{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}}
+
+\CJKunderline*{บบืึผำตใฃฌ \CJKunderdot{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}}
+
+\CJKunderdot{บบืึผำตใฃฌ \CJKunderwave{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}}
+
+\CJKunderwave*{บบืึผำตใฃฌ \CJKunderdot{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}}
+
+\CJKunderdot{บบืึผำตใฃฌ \CJKunderdblline{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}}
+
+\CJKunderdblline*{บบืึผำตใฃฌ \CJKunderdot{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}}
+
+\CJKunderdot{บบืึผำตใฃฌ \CJKsout{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}}
+
+\CJKsout*{บบืึผำตใฃฌ \CJKunderdot{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}}
+
+\CJKunderdot{บบืึผำตใฃฌ \CJKxout{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}}
+
+\CJKxout*{บบืึผำตใฃฌ \CJKunderdot{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: euc-china
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/CJKmixed.tex b/Master/texmf-dist/doc/latex/cjk/examples/CJKmixed.tex
new file mode 100644
index 00000000000..89119584f4f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/CJKmixed.tex
@@ -0,0 +1,81 @@
+% This is the file CJKmixed.tex of the CJK package
+% for testing CJK text written vertically.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+%
+% Vietnamese support for Babel comes with the VnTeX package.
+
+\documentclass[12pt]{article}
+
+\usepackage{CJKutf8}
+\usepackage{CJKvert}
+\usepackage{CJKulem}
+
+\usepackage{inputenc} % load it without argument
+ % to avoid Babel warnings
+
+\usepackage[vietnam, % T5 font encoding
+ USenglish]{babel}
+
+\newenvironment{TChinese}{%
+ \CJKfamily{bsmi}%
+ \CJKtilde
+ \CJKnospace}{}
+
+
+\begin{document}
+
+\begin{CJK}{UTF8}{}
+
+\CJKhorz
+
+This is a test how CJK scripts can be typeset horizontally and
+vertically at the same time. It is not too difficult to achieve,
+nevertheless it is not trivial. Most importantly, you need a
+\texttt{.fdx} file which corresponds to your CJK font, and which
+defines how to set up the font for vertical typesetting.
+
+\begin{center}
+ \rotatebox[origin=c]{-90}{%
+ \begin{minipage}[c]{8cm}
+ \CJKvert
+ \begin{TChinese}
+ ๆœฌๅธธๅ•ๅ•็ญ”้›†~(FAQ list)~ๆ˜ฏๅพžไธ€ไบ›็ถ“ๅธธ่ขซๅ•ๅˆฐ็š„ๅ•้กŒๅŠๅ…ถ้ฉ็•ถ็š„่งฃ็ญ”
+ ไธญ๏ผŒไปฅๆ–นไพฟ็š„ๅฝขๅผๆ‘˜่ฆ่€Œๅ‡บ็š„ใ€‚\uline{่ทŸไธŠไธ€็‰ˆไธๅŒ็š„ๆ˜ฏ๏ผŒๅ…ถ็ทจๆŽ’็ตๆง‹
+ ๅทฒๅพนๅบ•ๆ”น่ฎŠใ€‚} \textbf{ๆœ‰้—œๆ–ฐ็ตๆง‹็š„็ดฐ็ฏ€๏ผŒๅฏๅƒ่€ƒใ€Œๅฆ‚ไฝ•้–ฑ่ฎ€ๆœฌๅ•
+ ็ญ”้›†ๅŠไบ†่งฃๅ…ถ็ทจๆŽ’็ตๆง‹ใ€่ฉฒ้ …ไธญ็š„่ชชๆ˜Žใ€‚}
+ \end{TChinese}
+ \end{minipage}%
+ }%
+ \hspace{0.5cm}%
+ \begin{minipage}[c]{8cm}
+ \begin{otherlanguage}{vietnam}
+ Phแบงn ``Nhแปฏng cรขu hแปi vร  giแบฃi ฤ‘รกp thฦฐแปng gแบทp'' (viแบฟt tแบฏt tแปซ tiแบฟng
+ Anh lร  FAQ) ฤ‘ฦฐแปฃc nรชu ra แปŸ ฤ‘รขy nhแบฑm mแปฅc ฤ‘รญch thu thแบญp nhแปฏng cรขu
+ hแปi thฦฐแปng gแบทp trong thแปฑc tแบฟ vร  nhแปฏng lแปi giแบฃi ฤ‘รกp thรญch hแปฃp
+ nhแบฅt cแปงa nรณ. \uline{Tแปซ lแบงn แบฅn bแบฃn cuแป‘i cรนng ฤ‘แบฟn nay, ฤ‘รฃ cรณ
+ nhแปฏng sแปฑ thay ฤ‘แป•i khรก lแป›n trong cแบฅu trรบc cแปงa FAQ.} \textbf{ฤแปƒ
+ hiแปƒu rรต hฦกn bแบกn nรชn xem lแบกi chฦฐฦกng ``Lร m sao tรดi cรณ thแปƒ ฤ‘แปc
+ ฤ‘uแปฃc FAQ''.}
+ \end{otherlanguage}
+ \end{minipage}
+\end{center}
+
+\begin{TChinese}
+ ๆœฌๅธธๅ•ๅ•็ญ”้›†~(FAQ list)~ๆ˜ฏๅพžไธ€ไบ›็ถ“ๅธธ่ขซๅ•ๅˆฐ็š„ๅ•้กŒๅŠๅ…ถ้ฉ็•ถ็š„่งฃ็ญ”ไธญ๏ผŒไปฅ
+ ๆ–นไพฟ็š„ๅฝขๅผๆ‘˜่ฆ่€Œๅ‡บ็š„ใ€‚\uline{่ทŸไธŠไธ€็‰ˆไธๅŒ็š„ๆ˜ฏ๏ผŒๅ…ถ็ทจๆŽ’็ตๆง‹ๅทฒๅพนๅบ•ๆ”น่ฎŠใ€‚}
+ \textbf{ๆœ‰้—œๆ–ฐ็ตๆง‹็š„็ดฐ็ฏ€๏ผŒๅฏๅƒ่€ƒใ€Œๅฆ‚ไฝ•้–ฑ่ฎ€ๆœฌๅ•็ญ”้›†ๅŠไบ†่งฃๅ…ถ็ทจๆŽ’็ตๆง‹ใ€
+ ่ฉฒ้ …ไธญ็š„่ชชๆ˜Žใ€‚}
+\end{TChinese}
+
+\end{CJK}
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% coding: utf-8
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/CJKutf8.tex b/Master/texmf-dist/doc/latex/cjk/examples/CJKutf8.tex
new file mode 100644
index 00000000000..9acb30becaf
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/CJKutf8.tex
@@ -0,0 +1,117 @@
+% This is the file CJKutf8.tex of the CJK package
+% for testing the CJKutf8 style file.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Vietnamese support for Babel comes with the VnTeX package.
+%
+% Read CJKutf8.txt for more details.
+
+\documentclass[12pt]{article}
+
+\usepackage[10pt]{type1ec} % use only 10pt fonts
+\usepackage[T1]{fontenc}
+
+\usepackage{CJKutf8}
+\usepackage[german, russian, vietnam, USenglish]{babel}
+
+\usepackage[overlap, CJK]{ruby}
+\usepackage{CJKulem}
+
+\renewcommand{\rubysep}{-0.2ex}
+
+\newenvironment{SChinese}{%
+ \CJKfamily{gbsn}%
+ \CJKtilde
+ \CJKnospace}{}
+\newenvironment{TChinese}{%
+ \CJKfamily{bsmi}%
+ \CJKtilde
+ \CJKnospace}{}
+\newenvironment{Japanese}{%
+ \CJKfamily{min}%
+ \CJKtilde
+ \CJKnospace}{}
+\newenvironment{Korean}{%
+ \CJKfamily{mj}}{}
+
+
+\begin{document}
+
+\parskip 3ex
+\parindent 0pt
+
+\begin{CJK}{UTF8}{}
+
+\begin{Korean}
+ ์ด FAQ ์€ ์ž์ฃผ ๋ฐ˜๋ณต๋˜๋Š” ์งˆ๋ฌธ๊ณผ ๊ทธ์— ๋Œ€ํ•œ ๋Œ€๋‹ต์„ ๊ฐ„๋‹จ๋ช…๋ฃŒํ•œ ์–‘์‹์œผ๋กœ
+ ๋ชจ์•„ ์—ฎ์–ด์กŒ์Šต๋‹ˆ๋‹ค. \uline{์ด FAQ ์˜ ๊ตฌ์กฐ๋Š” ์ง€๋‚œ ํŒ์— ๋น„ํ•˜์—ฌ
+ ํš๊ธฐ์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.} \textbf{์ƒ์„ธํ•œ ๊ฒƒ์€ ``์ด FAQ ์„ ์–ด๋–ป๊ฒŒ
+ ์ฝ์„ ๊ฒƒ์ธ๊ฐ€'' ๋ผ๋Š” ๋Œ€๋ชฉ์„ ์ฐธ์กฐํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.}
+\end{Korean}
+
+\begin{otherlanguage}{german}
+ Dieses FAQ wurde erstellt, um hรคufig gestellte Fragen und ihre
+ Antworten in einer gefรคlligen Form zusammenzufassen. \uline{Die
+ Struktur dieses FAQ wurde drastisch geรคndert seit der letzten
+ Version.} \textbf{Fรผr Details siehe den Abschnitt "`Wie lese ich
+ dieses FAQ"'.}
+\end{otherlanguage}
+
+\begin{SChinese}
+ ๆœฌๅธธ้—ฎ้—ฎ็ญ”้›†~(FAQ list)~ๆ˜ฏไปŽไธ€ไบ›็ปๅธธ่ขซ้—ฎๅˆฐ็š„้—ฎ้ข˜ๅŠๅ…ถ้€‚ๅฝ“็š„่งฃ็ญ”ไธญ๏ผŒไปฅ
+ ๆ–นไพฟ็š„ๅฝขๅผๆ‘˜่ฆ่€Œๅ‡บ็š„ใ€‚\uline{่ทŸไธŠไธ€็‰ˆไธๅŒ็š„ๆ˜ฏ๏ผŒๅ…ถ็ผ–ๆŽ’็ป“ๆž„ๅทฒๅฝปๅบ•ๆ”นๅ˜ใ€‚}
+ \textbf{ๆœ‰ๅ…ณๆ–ฐ็ป“ๆž„็š„็ป†่Š‚๏ผŒๅฏๅ‚่€ƒใ€Œๅฆ‚ไฝ•้˜…่ฏปๆœฌ้—ฎ็ญ”้›†ๅŠไบ†่งฃๅ…ถ็ผ–ๆŽ’็ป“ๆž„ใ€
+ ่ฏฅ้กนไธญ็š„่ฏดๆ˜Žใ€‚}
+\end{SChinese}
+
+\begin{TChinese}
+ ๆœฌๅธธๅ•ๅ•็ญ”้›†~(FAQ list)~ๆ˜ฏๅพžไธ€ไบ›็ถ“ๅธธ่ขซๅ•ๅˆฐ็š„ๅ•้กŒๅŠๅ…ถ้ฉ็•ถ็š„่งฃ็ญ”ไธญ๏ผŒไปฅ
+ ๆ–นไพฟ็š„ๅฝขๅผๆ‘˜่ฆ่€Œๅ‡บ็š„ใ€‚\uline{่ทŸไธŠไธ€็‰ˆไธๅŒ็š„ๆ˜ฏ๏ผŒๅ…ถ็ทจๆŽ’็ตๆง‹ๅทฒๅพนๅบ•ๆ”น่ฎŠใ€‚}
+ \textbf{ๆœ‰้—œๆ–ฐ็ตๆง‹็š„็ดฐ็ฏ€๏ผŒๅฏๅƒ่€ƒใ€Œๅฆ‚ไฝ•้–ฑ่ฎ€ๆœฌๅ•็ญ”้›†ๅŠไบ†่งฃๅ…ถ็ทจๆŽ’็ตๆง‹ใ€
+ ่ฉฒ้ …ไธญ็š„่ชชๆ˜Žใ€‚}
+\end{TChinese}
+
+This FAQ list was made to summarize some frequently asked questions
+and their answers in a convenient form. \uline{The structure of this
+ FAQ list has drastically changed since the last version.}
+\textbf{For details of the new structure, see the entry of `How to
+ read this FAQ and its structure'.}
+
+\begin{Japanese}
+ ใ“ใฎ~FAQ~ใƒชใ‚นใƒˆใฏใ€ใ‚ˆใใ‚ใ‚‹่ณชๅ•ใจใใฎ็ญ”ใ‚’้›†ใ‚ใ€ๅฝนใซ็ซ‹ใคใ‚ˆใ†ใซใ—ใŸใ‚‚ใฎ
+ ใงใ™ใ€‚\uline{ใ“ใฎ~FAQ~ใƒชใ‚นใƒˆใฎๆง‹้€ ใฏใ€ไปฅๅ‰ใฎใ‚‚ใฎใจๆฏ”ในใฆๅคงๅน…ใซๅค‰ๆ›ดใ•
+ ใ‚Œใฆใ„ใพใ™ใ€‚}\textbf{\ruby{ๆ–ฐ}{ใ‚ใŸใ‚‰}ใ—ใ„ๆง‹้€ ใซ้–ขใ—ใฆใฏใ€ใ€Œใ“
+ ใฎ~FAQ~ ใฎ่ชญใฟๆ–นใจใใฎๆง‹้€ ใ€ใฎ้ …็›ฎใ‚’\ruby{ๅ‚}{ใ•ใ‚“}\ruby{็…ง}{ใ—ใ‚‡
+ ใ†}ใ—ใฆไธ‹ใ•ใ„ใ€‚}
+\end{Japanese}
+
+\begin{otherlanguage}{vietnam}
+ Phแบงn ``Nhแปฏng cรขu hแปi vร  giแบฃi ฤ‘รกp thฦฐแปng gแบทp'' (viแบฟt tแบฏt tแปซ tiแบฟng Anh
+ lร  FAQ) ฤ‘ฦฐแปฃc nรชu ra แปŸ ฤ‘รขy nhแบฑm mแปฅc ฤ‘รญch thu thแบญp nhแปฏng cรขu hแปi
+ thฦฐแปng gแบทp trong thแปฑc tแบฟ vร  nhแปฏng lแปi giแบฃi ฤ‘รกp thรญch hแปฃp nhแบฅt cแปงa
+ nรณ. \uline{Tแปซ lแบงn แบฅn bแบฃn cuแป‘i cรนng ฤ‘แบฟn nay, ฤ‘รฃ cรณ nhแปฏng sแปฑ thay ฤ‘แป•i
+ khรก lแป›n trong cแบฅu trรบc cแปงa FAQ.} \textbf{ฤแปƒ hiแปƒu rรต hฦกn bแบกn nรชn
+ xem lแบกi chฦฐฦกng ``Lร m sao tรดi cรณ thแปƒ ฤ‘แปc ฤ‘uแปฃc FAQ''.}
+\end{otherlanguage}
+
+\begin{otherlanguage}{russian}
+ ะญั‚ะพั‚ ัะฟะธัะพะบ ะฑั‹ะป ัะพัั‚ะฐะฒะปะตะฝ ะดะปั ััƒะผะผะธั€ะพะฒะฐะฝะธั ะฝะตะบะพั‚ะพั€ั‹ั… ั‡ะฐัั‚ะพ
+ ะทะฐะดะฐะฒะฐะตะผั‹ั… ะฒะพะฟั€ะพัะพะฒ (FAQ), ะฒะผะตัั‚ะต ั ะพั‚ะฒะตั‚ะฐะผะธ ะฝะฐ ะฝะธั…, ะฒ ัƒะดะพะฑะฝะพะน
+ ั„ะพั€ะผะต. \uline{ะกั‚ั€ัƒะบั‚ัƒั€ะฐ ัั‚ะพะณะพ FAQ ะบะฐั€ะดะธะฝะฐะปัŒะฝะพ ะธะทะผะตะฝะธะปะฐััŒ ะฟะพ
+ ัั€ะฐะฒะฝะตะฝะธัŽ ั ะฟะพัะปะตะด\-ะฝะตะน ะฒะตั€ัะธะตะน.} \textbf{ะ’ ั€ะฐะทะดะตะปะต `ะšะฐะบ ั‡ะธั‚ะฐั‚ัŒ
+ ัั‚ะพั‚ FAQ ะธ ะตะณะพ ัั‚ั€ัƒะบั‚ัƒั€ะฐ' ะพะฑัŠััะฝะตะฝั‹ ะดะตั‚ะฐะปะธ ัั‚ะพะน ะฝะพะฒะพะน ัั‚ั€ัƒะบั‚ัƒั€ั‹.}
+\end{otherlanguage}
+
+\end{CJK}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/GB.tex b/Master/texmf-dist/doc/latex/cjk/examples/GB.tex
new file mode 100644
index 00000000000..28a7672fd8d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/GB.tex
@@ -0,0 +1,31 @@
+% This is the file GB.tex of the CJK package
+% for testing Chinese (in GB encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+
+
+\begin{document}
+
+\begin{CJK*}{GB}{gbsn}
+\CJKtilde
+
+\noindent ฑพณฃฮสฮสด๐ผฏ~(FAQ list)~สวดำาปะฉพญณฃฑปฮสตฝตฤฮสฬโผฐฦไสสตฑตฤฝโ
+ด๐ึะฃฌาิทฝฑใตฤะฮสฝีชาชถ๘ณ๖ตฤกฃธ๚ษฯาปฐๆฒปอฌตฤสวฃฌฦไฑเลลฝแนนาัณนตืธฤฑไกฃ
+\textbf{ำะนุะยฝแนนตฤฯธฝฺฃฌฟษฒฮฟผกธศ็บฮิฤถมฑพฮสด๐ผฏผฐมหฝโฦไฑเลลฝแนนกนธร
+ฯ๎ึะตฤหตร๗กฃ}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: euc-china
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/JIS.tex b/Master/texmf-dist/doc/latex/cjk/examples/JIS.tex
new file mode 100644
index 00000000000..d29dbb59ed1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/JIS.tex
@@ -0,0 +1,35 @@
+% This is the file JIS.tex of the CJK package
+% for testing Japanese (in JIS encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage[CJK, overlap]{ruby}
+
+\renewcommand{\rubysep}{-0.2ex}
+
+
+\begin{document}
+
+\begin{CJK*}[dnp]{JIS}{min}
+\CJKtilde
+
+\noindent คณคฮ~FAQ~ฅ๊ฅนฅศคฯกขค่คฏคขค๋ผมฬไคศคฝคฮล๚ค๒ฝธคแกขฬ๒คหฮฉคฤค่คฆ
+คหคทคฟคโคฮควคนกฃคณคฮ~FAQ~ฅ๊ฅนฅศคฮนฝยคคฯกขฐสมฐคฮคโคฮคศศๆคูคฦย็ษคหสันน
+คตค์คฦคคคคนกฃ\textbf{\ruby{ฟท}{คขคฟค้}คทคคนฝยคคหดุคทคฦคฯกขกึคณคฮ~FAQ~
+คฮฦษค฿สคศคฝคฮนฝยคกืคฮนเฬค๒\ruby{ปฒ}{คตค๓}\ruby{พศ}{คทค็คฆ}คทคฦฒผคต
+คคกฃ}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: euc-japan
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/KS.tex b/Master/texmf-dist/doc/latex/cjk/examples/KS.tex
new file mode 100644
index 00000000000..4a644a03dc0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/KS.tex
@@ -0,0 +1,31 @@
+% This is the file KS.tex of the CJK package
+% for testing Korean (in KS encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage{pshan}
+
+
+\begin{document}
+
+\begin{CJK}[HL]{KS}{}
+
+\noindent ภฬ FAQ ภบ ภฺมึ นบนตวดย ม๚นฎฐ๚ ฑืฟก ด๋วั ด๋ดไภป ฐฃดธํทแวั
+พ็ฝฤภธทฮ ธ๐พฦ ฟซพ๎มณฝภดฯดู. ภฬ FAQ ภว ฑธมถดย ม๖ณญ ฦวฟก บ๑วฯฟฉ
+ศนฑโภ๛ภธทฮ บฏฐๆตวพ๚ฝภดฯดู. \textbf{ป๓ผผวั ฐอภบ ``ภฬ FAQ ภป พ๎ถปฐิ
+ภะภป ฐอภฮฐก'' ถ๓ดย ด๋ธ๑ภป ยมถวฯฝรฑโ นูถ๘ดฯดู.}
+
+\end{CJK}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: euc-korea
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/README b/Master/texmf-dist/doc/latex/cjk/examples/README
new file mode 100644
index 00000000000..38e932a325b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/README
@@ -0,0 +1,66 @@
+Please note that the used fonts in the example files are set up for the
+TeXLive distribution. Here a listing of some files and the used CJK fonts.
+
+
+ example file font definition file(s) TeX font names font file name(s)
+ ---------------------------------------------------------------------------
+
+ Big5.tex c00bsmi.fd bsmilp01, bsmiu00.pfb,
+ bsmilp02, bsmiu02.pfb,
+ ... (4) ...
+
+ Big5vert.tex c00bsmi.fd (1) bsmilp01, bsmiu00.pfb,
+ bsmilp02, bsmiu02.pfb,
+ ..., ...,
+ bsmilpv (4) bsmiuv.pfb
+
+ CEF_test.tex c31song.fd, c1so1201, cns40-1.hbf,
+ ..., c1so1202, ...,
+ c37song.fd ..., cns40-7.hbf (5)
+ c2so1201,
+ c2so1202,
+ ...
+
+ CJKutf8.txt c70bsmi.fd, bsmiu00,... bsmiu00.pfb,...
+ c70gbsn.fd, gbsnu00,... gbsnu00.pfb,...
+ c70min.fd, (2) udmj00,... (4) dmjsy.pfb,...
+ c70mj.fd uwmj00,... (4,6) umj00.pfb,... (7)
+
+ GB.tex c10gbsn.fd gbsnlp01, gbsnlp01.pfb,
+ gbsnlp02, gbsnlp02.pfb,
+ ... (4) ...
+
+ JIS.tex
+ SJIS.tex c42min.fd (2) dmjsy, dmjsy.pfb,
+ dmjroma, dmjroma.pfb,
+ dmjhira, dmjhira.pfb,
+ ... ...
+
+ KS.tex c63mj.fd wmj0, umj00.pfb,
+ wmj1, umj01.pfb,
+ ... (4) ... (7)
+
+ UTF8.tex c70song.fd (3) cyberb00, cyberbit.ttf
+ cyberb01,
+ ...
+
+
+(1) The glyphs are rotated using the graphicx package.
+
+(2) Font definition files for the Wadalab fonts are in the directory
+ `contrib/wadalab'.
+
+(3) For licensing reasons, TeXLive doesn't contain cyberbit.ttf and
+ corresponding TeX subfont metric files, thus you can't process UTF8.tex
+ without installing this font (or another Unicode font) manually.
+
+(4) These are virtual fonts.
+
+(5) These are bitmap fonts.
+
+(6) Virtual Unicode fonts for Korean (from HLaTeX) are currently only
+ available in the TeXLive distribution.
+
+(7) Korean PS fonts (from HLaTeX) with glyph names compliant to the Adobe
+ Glyph List (AGL) are currently only available in the TeXLive
+ distribution.
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/SJIS.tex b/Master/texmf-dist/doc/latex/cjk/examples/SJIS.tex
new file mode 100644
index 00000000000..f01e028c525
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/SJIS.tex
@@ -0,0 +1,39 @@
+% This is the file SJIS.tex of the CJK package
+% for testing Japanese (in SJIS encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+%
+%
+% process this file with sjislatex
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage[CJK, overlap]{ruby}
+
+\renewcommand{\rubysep}{-0.3ex}
+
+
+\begin{document}
+
+\begin{CJK*}[dnp]{SJIS}{min}
+\CJKtilde
+
+\noindent ‚ฑ‚ฬ~FAQ~ƒŠƒXƒg‚อA‚ๆ‚ญ‚ ‚้Žฟ–โ‚ฦ‚ป‚ฬ“š‚๐W‚฿A–๐‚ษ—ง‚ย‚ๆ‚ค
+‚ษ‚ต‚ฝ‚เ‚ฬ‚ล‚ทB‚ฑ‚ฬ~FAQ~ƒŠƒXƒg‚ฬ\‘ข‚อAˆศ‘O‚ฬ‚เ‚ฬ‚ฦ”ไ‚ื‚ฤ‘ๅ•‚ษ•ฯX
+‚ณ‚๊‚ฤ‚ข‚‚ทB\textbf{\ruby{V}{‚ ‚ฝ‚็}‚ต‚ข\‘ข‚ษŠึ‚ต‚ฤ‚อAu‚ฑ‚ฬ~FAQ~
+‚ฬ“ว‚•๛‚ฦ‚ป‚ฬ\‘ขv‚ฬ€–ฺ‚๐\ruby{ŽQ}{‚ณ‚๑}\ruby{ฦ}{‚ต‚ๅ‚ค}‚ต‚ฤ‰บ‚ณ
+‚ขB}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: sjis
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/UTF8.tex b/Master/texmf-dist/doc/latex/cjk/examples/UTF8.tex
new file mode 100644
index 00000000000..c2247323bcd
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/UTF8.tex
@@ -0,0 +1,38 @@
+% This is the file UTF8.tex of the CJK package
+% for testing UTF 8 encoding.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage[T1]{fontenc}
+
+% we want the Unicode font for normal text also
+\DeclareFontFamily{T1}{song}{}
+\DeclareFontShape{T1}{song}{m}{n}{<-> cyberb00}{}
+\renewcommand\rmdefault{song}
+
+
+\begin{document}
+
+\begin{CJK}{UTF8}{song}
+
+\noindent Hello World!
+
+\noindent ฮšฮฑฮปฮทฮผฮญฯฮฑ ฮบฯŒฯƒฮผฮต
+
+\CJKnospace
+\noindent ใ“ใ‚“ใซใกใฏ ไธ–็•Œ
+
+\end{CJK}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/muletest.tex b/Master/texmf-dist/doc/latex/cjk/examples/muletest.tex
new file mode 100644
index 00000000000..008355b1fbb
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/muletest.tex
@@ -0,0 +1,149 @@
+% This is the file muletest.tex of the CJK package
+% for testing text written with Mule and Emacs 20.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% You need Emacs 20 (or Mule 2.3) to process this file!
+
+% You should load this file into Mule with `*internal*' encoding scheme
+% (C-u C-x C-f) and call `cjk-write-file' (M-x cjk-write-file).
+% Then run LaTeX on the file `muletest.cjk'.
+%
+% Under Emacs 20 type `C-x C-f muletest.tex' to load this file.
+%
+% `cjk-write-file' will be available after loading cjk-enc.el into Mule
+% (Emacs 20) with the commands load-file or load-library.
+%
+% If you don't have german.sty, comment out the `\usepackage{german}'
+% line.
+%
+% The T5 encoding is part of the VnTeX package (available at CTAN) which
+% contains Vietnamese fonts and other support files for both TeX and
+% LaTeX.
+%
+% Read cjk-enc.txt for more details.
+
+\documentclass[12pt]{article}
+
+\usepackage{inputenc} % load it without argument
+ % to avoid Babel warnings
+
+\usepackage[10pt]{type1ec} % use only 10pt fonts
+
+\usepackage{german}
+\usepackage[T5,T2A,LGR,OT1]{fontenc} % T2A is Cyrillic,
+ % LGR is Greek
+ % T5 is Vietnamese
+
+\usepackage[overlap, CJK]{ruby}
+\usepackage{pshan} % Korean Wansong PS fonts
+
+\CJKencfamily{Bg5}{bsmi}
+\CJKencfamily{GB}{gbsn}
+\CJKencfamily[dnp]{JIS}{min}
+
+\CJKfontenc{KS}{HL}
+\CJKfontenc{JIS}{dnp}
+
+\renewcommand{\rubysep}{-0.2ex}
+
+\begin{document}
+
+% suppress hyphenation completely since we don't use Babel and thus
+% don't know which \language corresponds to which hyphenation pattern
+\lefthyphenmin 65
+\raggedright
+
+\noindent “ภฬ FAQ “ภบ “ภฺ“มึ “น“บน“ตว“ดย “ม๚“นฎ“ฐ๚ “ฑื“ฟก “ด๋“วั “ด๋“ดไ“ภป “ฐฃ“ด“ธํ“ทแ“วั
+“พ็“ฝฤ“ภธ“ทฮ “ธ๐“พฦ “ฟซ“พ๎“มณ“ฝภ“ดฯ“ดู. “ภฬ FAQ “ภว “ฑธ“มถ“ดย “ม๖“ณญ “ฦว“ฟก “บ๑“วฯ“ฟฉ
+“ศน“ฑโ“ภ๛“ภธ“ทฮ “บฏ“ฐๆ“ตว“พ๚“ฝภ“ดฯ“ดู. \textbf{“ป๓“ผผ“วั “ฐอ“ภบ ``“ภฬ FAQ “ภป “พ๎“ถป“ฐิ
+ “ภะ“ภป “ฐอ“ภฮ“ฐก'' “ถ๓“ดย “ด๋“ธ๑“ภป “ย“มถ“วฯ“ฝร“ฑโ “นู“ถ๘“ดฯ“ดู.}
+
+\vspace{0.5cm}
+
+\noindent Dieses FAQ wurde erstellt, um hไufig gestellte Fragen und
+ihre Antworten in einer gefไlligen Form zusammenzufassen. Die
+Struktur dieses FAQ wurde drastisch geไndert seit der letzten Version.
+\textbf{Fr Details siehe den Abschnitt "`Wie lese ich dieses FAQ"'.}
+
+\vspace{0.5cm}
+
+\CJKtilde
+
+\noindent ‘ฑพ‘ณฃ‘ฮส‘ฮส‘ด๐‘ผฏ~(FAQ list)~‘สว‘ดำ‘าป‘ะฉ‘พญ‘ณฃ‘ฑป‘ฮส‘ตฝ‘ตฤ‘ฮส‘ฬโ‘ผฐ‘ฦไ‘สส‘ตฑ‘ตฤ‘ฝโ
+‘ด๐‘ึะ‘ฃฌ‘าิ‘ทฝ‘ฑใ‘ตฤ‘ะฮ‘สฝ‘ีช‘าช‘ถ๘‘ณ๖‘ตฤ‘กฃ‘ธ๚‘ษฯ‘าป‘ฐๆ‘ฒป‘อฌ‘ตฤ‘สว‘ฃฌ‘ฦไ‘ฑเ‘ลล‘ฝแ‘นน‘าั‘ณน‘ตื‘ธฤ‘ฑไ‘กฃ
+\textbf{‘ำะ‘นุ‘ะย‘ฝแ‘นน‘ตฤ‘ฯธ‘ฝฺ‘ฃฌ‘ฟษ‘ฒฮ‘ฟผ‘กธ‘ศ็‘บฮ‘ิฤ‘ถม‘ฑพ‘ฮส‘ด๐‘ผฏ‘ผฐ‘มห‘ฝโ‘ฦไ‘ฑเ‘ลล‘ฝแ‘นน‘กน‘ธร
+ ‘ฯ๎‘ึะ‘ตฤ‘หต‘ร๗‘กฃ}
+
+\vspace{0.5cm}
+
+\noindent ˜จ˜ผง˜ปร˜ปร˜รฑ˜ฤ๖~(FAQ list)~˜ณำ˜ผธ˜ฆข˜ญ้˜ว๏˜ผง˜ฟธ˜ปร˜ฎฐ˜ฐ˜ปร˜ู๏˜งฐ˜ฎจ˜ัห˜วถ˜ฐ˜ศู
+˜รฑ˜ฆไ˜กข˜ง้˜งส˜ฑ๎˜ฐ˜ฌฑ˜ชฃ˜ส๓˜ตำ˜ชี˜ง๙˜ฐ˜กค˜ศ๚˜ฆน˜ฆข˜ฐ๋˜ฆใ˜ฉา˜ฐ˜ณำ˜กข˜ฎจ˜ะพ˜ผ๋˜รน˜หญ˜ฆู˜สๆ˜ฏถ˜ฌา˜ษ˜กค
+\textbf{˜ชต˜ร˜ฦผ˜รน˜หญ˜ฐ˜พู˜ว่˜กข˜จฌ˜ปท˜ชิ˜กึ˜ฉ๒˜ช๕˜ัๆ˜๕˜จ˜ปร˜รฑ˜ฤ๖˜งฐ˜ฆจ˜ศู˜ฎจ˜ะพ˜ผ๋˜รน˜หญ˜กื˜ศ
+ ˜ฤ๛˜ฆไ˜ฐ˜อช˜ฏ˜กค}
+
+\vspace{0.5cm}
+
+\noindent This FAQ list was made to summarize some frequently asked
+questions and their answers in a convenient form. The structure of
+this FAQ list has drastically changed since the last version.
+\textbf{For details of the new structure, see the entry of `How to
+ read this FAQ and its structure'.}
+
+\vspace{0.5cm}
+
+\noindent ’คณ’คฮ~FAQ~’ฅ๊’ฅน’ฅศ’คฯ’กข’ค่’คฏ’คข’ค๋’ผม’ฬไ’คศ’คฝ’คฮ’ล๚’ค๒’ฝธ’คแ’กข’ฬ๒’คห’ฮฉ’คฤ’ค่’คฆ
+’คห’คท’คฟ’คโ’คฮ’คว’คน’กฃ’คณ’คฮ~FAQ~’ฅ๊’ฅน’ฅศ’คฮ’นฝ’ยค’คฯ’กข’ฐส’มฐ’คฮ’คโ’คฮ’คศ’ศๆ’คู’คฦ’ย็’ษ’คห’สั’นน
+’คต’ค์’คฦ’คค’ค’คน’กฃ\textbf{\ruby{’ฟท}{’คข’คฟ’ค้}’คท’คค’นฝ’ยค’คห’ดุ’คท’คฦ’คฯ’กข’กึ’คณ’คฮ~FAQ~
+ ’คฮ’ฦษ’ค฿’ส’คศ’คฝ’คฮ’นฝ’ยค’กื’คฮ’นเ’ฬ’ค๒\ruby{’ปฒ}{’คต’ค๓}\ruby{’พศ}{’คท’ค็’คฆ}’คท’คฦ’ฒผ’คต
+ ’คค’กฃ}
+
+\vspace{0.5cm}
+
+\bgroup
+\fontencoding{T5}\selectfont
+
+\noindent Phšขฅn ``Nhšขๆng cšขโu hšข๖i všขเ gišขไi šข๐šขแp thšข฿šขถng gšขฃp'' (višขชt tšขกt tšขื
+tišขชng Anh lšขเ FAQ) šข๐šข฿šขc nšข๊u ra šขท šข๐šขโy nhšขขm mšข๘c šข๐šขํch thu thšขงp nhšขๆng cšขโu
+hšข๖i thšข฿šขถng gšขฃp trong thšข๑c tšขช všขเ nhšขๆng lšขถi gišขไi šข๐šขแp thšขํch hšขp nhšขคt cšขa
+nšข๓. Tšขื lšขฅn šขคn bšขไn cušขฏi cšข๙ng šข๐šขชn nay, šข๐šขใ cšข๓ nhšขๆng sšข๑ thay šข๐šขฑi khšขแ lšขพn
+trong cšขคu tršข๚c cšขa FAQ. \textbf{šฃ๐šขฌ hišขฌu ršข๕ hšขฝn bšขีn nšข๊n xem lšขีi chšข฿šขฝng
+ ``Lšขเm sao tšข๔i cšข๓ thšขฌ šข๐šข๗c šข๐ušขc FAQ''.}
+\egroup
+
+\vspace{0.5cm}
+
+\bgroup
+\fontencoding{T2A}\selectfont
+
+\noindent ŒอŒโŒŒโ ŒแŒ฿ŒุŒแŒŒฺ ŒัŒ๋Œ ŒแŒŒแŒโŒะŒาŒŒีŒ ŒิŒŒ๏ ŒแŒใŒŒŒุŒเŒŒาŒะŒŒุŒ๏ ŒŒีŒฺŒŒโŒŒเŒ๋Œๅ Œ็ŒะŒแŒโŒ
+ŒืŒะŒิŒะŒาŒะŒีŒŒ๋Œๅ ŒาŒŒ฿ŒเŒŒแŒŒา (FAQ), ŒาŒŒีŒแŒโŒี Œแ ŒŒโŒาŒีŒโŒะŒŒุ ŒŒะ ŒŒุŒๅ, Œา ŒใŒิŒŒัŒŒŒู ŒไŒŒเŒŒี.
+ŒมŒโŒเŒใŒฺŒโŒใŒเŒะ ŒํŒโŒŒำŒ FAQ ŒฺŒะŒเŒิŒุŒŒะŒŒ์ŒŒ ŒุŒืŒŒีŒŒุŒŒะŒแŒ์ Œ฿Œ ŒแŒเŒะŒาŒŒีŒŒุŒ๎ Œแ Œ฿ŒŒแŒŒีŒิŒŒีŒู
+ŒาŒีŒเŒแŒุŒีŒู. \textbf{Œฒ ŒเŒะŒืŒิŒีŒŒี `ŒบŒะŒฺ Œ็ŒุŒโŒะŒโŒ์ ŒํŒโŒŒโ FAQ Œุ ŒีŒำŒ ŒแŒโŒเŒใŒฺŒโŒใŒเŒะ'
+ ŒŒัŒ๊Œ๏ŒแŒŒีŒŒ๋ ŒิŒีŒโŒะŒŒุ ŒํŒโŒŒู ŒŒŒาŒŒู ŒแŒโŒเŒใŒฺŒโŒใŒเŒ๋.}
+\egroup
+
+\vspace{0.5cm}
+
+\bgroup
+\fontencoding{LGR}\selectfont
+
+\noindent †ว †๋†฿†๓†๔†แ †แ†๕†๔† †ำ†ิ†ล (†๓†๕†๗†ํ† †๔†้†่†ๅ†์††ํ†๙†ํ †ๅ†๑†๙†๔††๓†ๅ†๙†ํ) ††๗†ๅ†้ †๓†แ†ํ †๓†๊†๏†๐†
+†ํ†แ †๓†๕†์†๐†ๅ†๑†้†๋††โ†ๅ†้ †๓†ๅ †ๅ††๗†๑†็†๓†๔†็ †์†๏†๑†๖† †๊††๐†๏†้†ๅ†๒ †๓†็†์†แ†ํ†๔†้†๊††๒ †ๅ†๑†๙†๔††๓†ๅ†้†๒ †๊†แ†้ †๔†้†๒
+†แ†๐†แ†ํ†๔††๓†ๅ†้†๒ †๔†๏†๕†๒. †ว †๏†๑†ใ††ํ†๙†๓†็ †แ†๕†๔††๒ †๔†็†๒ †๋†฿†๓†๔†แ†๒ ††๋†๋†แ†๎†ๅ †๓†็†์†แ†ํ†๔†้†๊† †แ†๐† †๔†็†ํ
+†๔†ๅ†๋†ๅ†๕†๔†แ†฿†แ ††๊†ไ†๏†๓† †๔†็†๒ †๊†แ†้ †์†ๅ†๔†. \textbf{†ร†้†แ †๋†ๅ†๐†๔†๏†์††๑†ๅ†้†ๅ†๒ †๐††ํ†๙ †๓†๔†็ †ํ††แ
+ †๏†๑†ใ††ํ†๙†๓†็, †โ†๋††๐†ๅ †๔†๏ †๋††์†์†แ <<†ะ††๒ †ํ†แ †ไ†้†แ†โ††๓†ๅ†๔†ๅ †แ†๕†๔† †๔†็†ํ †ำ†ิ†ล †๊†แ†้ †๐††๒
+ †ๅ†฿†ํ†แ†้ †๏†๑†ใ†แ†ํ†๙†์††ํ†็>>.}
+\egroup
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: emacs-mule
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/py_test.tex b/Master/texmf-dist/doc/latex/cjk/examples/py_test.tex
new file mode 100644
index 00000000000..6bd2a966549
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/py_test.tex
@@ -0,0 +1,43 @@
+% This is the file py_test.tex of the CJK package
+% for testing pinyin syllables with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\documentclass{article}
+
+\usepackage{pinyin}
+
+
+\begin{document}
+
+\Huge
+
+{\Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\slshape
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\itshape
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\bfseries
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\sffamily
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\ttfamily
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\bfseries\sffamily
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+\PYdeactivate
+$\Xi, \xi, \Re$
+\PYactivate
+
+\Zhen1de \bu2 \cuo4 ne!
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/rubytest.tex b/Master/texmf-dist/doc/latex/cjk/examples/rubytest.tex
new file mode 100644
index 00000000000..30eee7a4ae2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/rubytest.tex
@@ -0,0 +1,56 @@
+% This is the file rubytest.tex of the CJK package
+% for testing ruby with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% You need Emacs 20 (or Mule 2.3) to process this file!
+
+% You should load this file into Mule with `*internal*' encoding scheme
+% (C-u C-x C-f) and call `cjk-write-file' (M-x cjk-write-file).
+% Then run LaTeX on the created file `rubytest.cjk'.
+%
+% Under Emacs 20 type `C-x C-f rubytest.tex' to load this file.
+%
+% `cjk-write-file' will be available after loading cjk-enc.el into Mule
+% (Emacs 20) with the commands load-file or load-library.
+
+\documentclass[12pt]{article}
+
+\usepackage[overlap, CJK]{ruby}
+\usepackage{pinyin}
+
+\CJKencfamily{Bg5}{bsmi}
+\CJKencfamily[dnp]{JIS}{min}
+
+\CJKfontenc{JIS}{dnp}
+
+\renewcommand{\rubysep}{-0.3ex}
+
+
+\begin{document}
+
+{
+\rubylatin
+\renewcommand{\rubysize}{1}
+
+\ruby{\wo3}{˜ฌฝ} \ruby{\hen3}{˜ณก} \ruby{\xi3}{˜ภฦ}\ruby{\huan1}{˜ไ}
+\ruby{\chi1}{˜ฉ} \ruby{\Zhong1}{˜ฆไ}\ruby{\guo2}{˜ปะ}
+\ruby{\cai4}{˜รํ}\ruby{.}{˜กค}
+}
+
+\Large
+
+\ruby{’ฒึ}{’คฯ’คส}\ruby{’ฑเ}{’คพ’คฮ}\ruby{’ย็}{’คภ’คค}\ruby{’ณุ}{’คฌ’คฏ}
+
+\ruby{’ณค}{’คฆ’ค฿}’คศ\ruby{’ธะ}{’ค฿’คบ’คฆ’ค฿}’คุ’นิ’คฏ’กฃ
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: emacs-mule
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/thai.tex b/Master/texmf-dist/doc/latex/cjk/examples/thai.tex
new file mode 100644
index 00000000000..278aa0021c1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/thai.tex
@@ -0,0 +1,37 @@
+% This is the file thai.tex of the CJK package
+% for testing Thai (in TIS-620 encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% This file should be processed with cjk-enc.el to get
+%
+% . proper word breaks
+% . font switching between Thai and non-Thai
+% . intercharacter glue
+%
+% Please read cjk-enc.txt for usage instructions.
+
+
+\documentclass[12pt]{article}
+
+\usepackage[thaicjk]{babel}
+
+
+\begin{document}
+
+รายการ FAQ นี้สร้างขึ้นเพื่อสรุปคำถามที่ถามกันบ่อยครั้งและคำตอบคำถามในรูปแบบทีสะดวก.
+โครงสร้างของรายการ FAQ นี้เปลี่ยนไปมากตั้งแต่รุ่นที่แล้ว.
+\textbf{ดูรายละเอียดสำหรับโครงสร้างใหม่ได้จากช่วง ``โครงสร้างและวิธีการอ่าน
+ FAQ.''}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: thai-tis620
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/cjk/examples/xCJK.tex b/Master/texmf-dist/doc/latex/cjk/examples/xCJK.tex
new file mode 100644
index 00000000000..5a0165e5268
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/cjk/examples/xCJK.tex
@@ -0,0 +1,127 @@
+% This is the file xCJK.tex of the CJK package
+% for testing the xCJK style file.
+%
+% written by SUN Wenchang <sunwch@hotmail.com>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Read xCJK.txt for more details.
+
+\documentclass[12pt]{article}
+\usepackage[bookmarks=true,
+ bookmarksopen=true,
+ dvipdfm]{hyperref}
+
+\usepackage[CJK, overlap]{ruby}
+\usepackage[boldfont]{xCJK}
+\usepackage{CJKulem}
+
+\setmainfont{Times New Roman}
+
+
+% You can specify a different default font for CJK characters.
+\setCJKmainfont{Bitstream Cyberbit}
+
+% You can also specify a font for a certain CJK family.
+\setCJKfamilyfont{SimpChinese}[BoldFont={SimHei},
+ ItalicFont={FZKaiTi}]{SimSun}
+\setCJKfamilyfont{TChinese}{FZMingTiB}
+\setCJKfamilyfont{Japanese}{MS Gothic}
+\setCJKfamilyfont{Korean}{Batang}
+
+\renewcommand{\rubysep}{-0.3ex}
+
+
+\begin{document}
+
+\begin{CJK*}{UTF8}{song}
+
+
+Samples for using the font specified with \verb|\setCJKmainfont|.
+
+\section{ๆœฌๅธธ้—ฎ้—ฎ็ญ”้›†}
+
+ๆœฌๅธธ้—ฎ้—ฎ็ญ”้›†~(FAQ list)~ๆ˜ฏไปŽไธ€ไบ›็ปๅธธ่ขซ้—ฎๅˆฐ็š„้—ฎ้ข˜ๅŠๅ…ถ้€‚ๅฝ“็š„่งฃ็ญ”ไธญ๏ผŒไปฅๆ–น
+ไพฟ็š„ๅฝขๅผๆ‘˜่ฆ่€Œๅ‡บ็š„ใ€‚\uline{่ทŸไธŠไธ€็‰ˆไธๅŒ็š„ๆ˜ฏ๏ผŒๅ…ถ็ผ–ๆŽ’็ป“ๆž„ๅทฒๅฝปๅบ•ๆ”นๅ˜ใ€‚}
+\textbf{ๆœ‰ๅ…ณๆ–ฐ็ป“ๆž„็š„็ป†่Š‚๏ผŒๅฏๅ‚่€ƒใ€Œๅฆ‚ไฝ•้˜…่ฏปๆœฌ้—ฎ็ญ”้›†ๅŠไบ†่งฃๅ…ถ็ผ–ๆŽ’็ป“ๆž„ใ€่ฏฅ
+ ้กนไธญ็š„่ฏดๆ˜Žใ€‚}
+
+
+\section{ๆœฌๅธธๅ•ๅ•็ญ”้›†}
+
+ๆœฌๅธธๅ•ๅ•็ญ”้›†~(FAQ list)~ๆ˜ฏๅพžไธ€ไบ›็ถ“ๅธธ่ขซๅ•ๅˆฐ็š„ๅ•้กŒๅŠๅ…ถ้ฉ็•ถ็š„่งฃ็ญ”ไธญ๏ผŒไปฅๆ–น
+ไพฟ็š„ๅฝขๅผๆ‘˜่ฆ่€Œๅ‡บ็š„ใ€‚\uline{่ทŸไธŠไธ€็‰ˆไธๅŒ็š„ๆ˜ฏ๏ผŒๅ…ถ็ทจๆŽ’็ตๆง‹ๅทฒๅพนๅบ•ๆ”น่ฎŠใ€‚}
+\textbf{ๆœ‰้—œๆ–ฐ็ตๆง‹็š„็ดฐ็ฏ€๏ผŒๅฏๅƒ่€ƒใ€Œๅฆ‚ไฝ•้–ฑ่ฎ€ๆœฌๅ•็ญ”้›†ๅŠไบ†่งฃๅ…ถ็ทจๆŽ’็ตๆง‹ใ€่ฉฒ
+ ้ …ไธญ็š„่ชชๆ˜Žใ€‚}
+
+
+\section{ใ“ใฎ}
+
+ใ“ใฎ~FAQ~ใƒชใ‚นใƒˆใฏใ€ใ‚ˆใใ‚ใ‚‹่ณชๅ•ใจใใฎ็ญ”ใ‚’้›†ใ‚ใ€ๅฝนใซ็ซ‹ใคใ‚ˆใ†ใซใ—ใŸใ‚‚ใฎใง
+ใ™ใ€‚\uline{ใ“ใฎ~FAQ~ใƒชใ‚นใƒˆใฎๆง‹้€ ใฏใ€ไปฅๅ‰ใฎใ‚‚ใฎใจๆฏ”ในใฆๅคงๅน…ใซๅค‰ๆ›ดใ•ใ‚Œใฆ
+ ใ„ใพใ™ใ€‚}\textbf{\ruby{ๆ–ฐ}{ใ‚ใŸใ‚‰}ใ—ใ„ๆง‹้€ ใซ้–ขใ—ใฆใฏใ€ใ€Œใ“ใฎ~FAQ~ ใฎ
+ ่ชญใฟๆ–นใจใใฎๆง‹้€ ใ€ใฎ้ …็›ฎใ‚’\ruby{ๅ‚}{ใ•ใ‚“}\ruby{็…ง}{ใ—ใ‚‡ใ†}ใ—ใฆไธ‹ใ•ใ„ใ€‚}
+
+
+\CJKspace
+\section{์ด}
+
+์ด FAQ ์€ ์ž์ฃผ ๋ฐ˜๋ณต๋˜๋Š” ์งˆ๋ฌธ๊ณผ ๊ทธ์— ๋Œ€ํ•œ ๋Œ€๋‹ต์„ ๊ฐ„๋‹จ๋ช…๋ฃŒํ•œ ์–‘์‹์œผ๋กœ
+๋ชจ์•„ ์—ฎ์–ด์กŒ์Šต๋‹ˆ๋‹ค. \uline{์ด FAQ ์˜ ๊ตฌ์กฐ๋Š” ์ง€๋‚œ ํŒ์— ๋น„ํ•˜์—ฌ ํš๊ธฐ์ ์œผ๋กœ
+ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.} \textbf{์ƒ์„ธํ•œ ๊ฒƒ์€ โ€œ์ด FAQ ์„ ์–ด๋–ป๊ฒŒ ์ฝ์„
+ ๊ฒƒ์ธ๊ฐ€โ€ ๋ผ๋Š” ๋Œ€๋ชฉ์„ ์ฐธ์กฐํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.}
+
+
+\newpage
+
+
+Samples for using fonts specified with \verb|\setCJKfamilyfont|.
+
+\CJKnospace
+\CJKfamily{SimpChinese}
+\section{ๆœฌๅธธ้—ฎ้—ฎ็ญ”้›†}
+
+ๆœฌๅธธ้—ฎ้—ฎ็ญ”้›†~(FAQ list)~ๆ˜ฏไปŽไธ€ไบ›็ปๅธธ่ขซ้—ฎๅˆฐ็š„้—ฎ้ข˜ๅŠๅ…ถ้€‚ๅฝ“็š„่งฃ็ญ”ไธญ๏ผŒไปฅๆ–น
+ไพฟ็š„ๅฝขๅผๆ‘˜่ฆ่€Œๅ‡บ็š„ใ€‚\uline{่ทŸไธŠไธ€็‰ˆไธๅŒ็š„ๆ˜ฏ๏ผŒๅ…ถ็ผ–ๆŽ’็ป“ๆž„ๅทฒๅฝปๅบ•ๆ”นๅ˜ใ€‚}
+\textbf{ๆœ‰ๅ…ณๆ–ฐ็ป“ๆž„็š„็ป†่Š‚๏ผŒๅฏๅ‚่€ƒใ€Œๅฆ‚ไฝ•้˜…่ฏปๆœฌ้—ฎ็ญ”้›†ๅŠไบ†่งฃๅ…ถ็ผ–ๆŽ’็ป“ๆž„ใ€่ฏฅ
+ ้กนไธญ็š„่ฏดๆ˜Žใ€‚}\textit{ๆœฌๅธธ้—ฎ้—ฎ็ญ”้›†~(FAQ list)~ๆ˜ฏไปŽไธ€ไบ›็ปๅธธ่ขซ้—ฎๅˆฐ็š„้—ฎ้ข˜
+ ๅŠๅ…ถ้€‚ๅฝ“็š„่งฃ็ญ”ไธญ๏ผŒไปฅๆ–นไพฟ็š„ๅฝขๅผๆ‘˜่ฆ่€Œๅ‡บ็š„ใ€‚}
+
+
+\CJKfamily{TChinese}
+\section{ๆœฌๅธธๅ•ๅ•็ญ”้›†}
+
+ๆœฌๅธธๅ•ๅ•็ญ”้›†~(FAQ list)~ๆ˜ฏๅพžไธ€ไบ›็ถ“ๅธธ่ขซๅ•ๅˆฐ็š„ๅ•้กŒๅŠๅ…ถ้ฉ็•ถ็š„่งฃ็ญ”ไธญ๏ผŒไปฅๆ–น
+ไพฟ็š„ๅฝขๅผๆ‘˜่ฆ่€Œๅ‡บ็š„ใ€‚\uline{่ทŸไธŠไธ€็‰ˆไธๅŒ็š„ๆ˜ฏ๏ผŒๅ…ถ็ทจๆŽ’็ตๆง‹ๅทฒๅพนๅบ•ๆ”น่ฎŠใ€‚}
+\textbf{ๆœ‰้—œๆ–ฐ็ตๆง‹็š„็ดฐ็ฏ€๏ผŒๅฏๅƒ่€ƒใ€Œๅฆ‚ไฝ•้–ฑ่ฎ€ๆœฌๅ•็ญ”้›†ๅŠไบ†่งฃๅ…ถ็ทจๆŽ’็ตๆง‹ใ€่ฉฒ
+ ้ …ไธญ็š„่ชชๆ˜Žใ€‚}
+
+
+\CJKfamily{Japanese}
+\section{ใ“ใฎ}
+
+ใ“ใฎ~FAQ~ใƒชใ‚นใƒˆใฏใ€ใ‚ˆใใ‚ใ‚‹่ณชๅ•ใจใใฎ็ญ”ใ‚’้›†ใ‚ใ€ๅฝนใซ็ซ‹ใคใ‚ˆใ†ใซใ—ใŸใ‚‚ใฎใง
+ใ™ใ€‚\uline{ใ“ใฎ~FAQ~ใƒชใ‚นใƒˆใฎๆง‹้€ ใฏใ€ไปฅๅ‰ใฎใ‚‚ใฎใจๆฏ”ในใฆๅคงๅน…ใซๅค‰ๆ›ดใ•ใ‚Œใฆ
+ ใ„ใพใ™ใ€‚}\textbf{\ruby{ๆ–ฐ}{ใ‚ใŸใ‚‰}ใ—ใ„ๆง‹้€ ใซ้–ขใ—ใฆใฏใ€ใ€Œใ“ใฎ~FAQ~ ใฎ
+ ่ชญใฟๆ–นใจใใฎๆง‹้€ ใ€ใฎ้ …็›ฎใ‚’\ruby{ๅ‚}{ใ•ใ‚“}\ruby{็…ง}{ใ—ใ‚‡ใ†}ใ—ใฆไธ‹ใ•ใ„ใ€‚}
+
+
+\CJKspace
+\CJKfamily{Korean}
+\section{์ด}
+
+์ด FAQ ์€ ์ž์ฃผ ๋ฐ˜๋ณต๋˜๋Š” ์งˆ๋ฌธ๊ณผ ๊ทธ์— ๋Œ€ํ•œ ๋Œ€๋‹ต์„ ๊ฐ„๋‹จ๋ช…๋ฃŒํ•œ ์–‘์‹์œผ๋กœ
+๋ชจ์•„ ์—ฎ์–ด์กŒ์Šต๋‹ˆ๋‹ค. \uline{์ด FAQ ์˜ ๊ตฌ์กฐ๋Š” ์ง€๋‚œ ํŒ์— ๋น„ํ•˜์—ฌ ํš๊ธฐ์ ์œผ๋กœ
+ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.} \textbf{์ƒ์„ธํ•œ ๊ฒƒ์€ โ€œ์ด FAQ ์„ ์–ด๋–ป๊ฒŒ ์ฝ์„
+ ๊ฒƒ์ธ๊ฐ€โ€ ๋ผ๋Š” ๋Œ€๋ชฉ์„ ์ฐธ์กฐํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.}
+
+\end{CJK*}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.sfd b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.sfd
new file mode 100644
index 00000000000..cd279422656
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.sfd
@@ -0,0 +1,42 @@
+# DNP.sfd
+#
+# subfont numbers for JIS character set in DNP font encoding to be used
+# with the CJK package for LaTeX.
+
+sy 1: 0xA1A1_0xA1FE 101: 0xA2A1_0xA2FE
+roma 33: 0xA3A1_0xA3FE
+hira 1: 0xA4A1_0xA4FE
+kata 1: 0xA5A1_0xA5FE
+greek 1: 0xA6A1_0xA6FE
+russian 1: 0xA7A1_0xA7FE
+keisen 1: 0xA8A1_0xA8FE
+
+ka 0xB0A1_0xB0FE 0xB1A1_0xB1FE 0xB2A1_0xB2E4
+kb 0xB2E5_0xB2FE 0xB3A1_0xB3FE 0xB4A1_0xB4FE 0xB5A1_0xB5CA
+kc 0xB5CB_0xB5FE 0xB6A1_0xB6FE 0xB7A1_0xB7FE 0xB8A1_0xB8B0
+kd 0xB8B1_0xB8FE 0xB9A1_0xB9FE 0xBAA1_0xBAF4
+ke 0xBAF5_0xBAFE 0xBBA1_0xBBFE 0xBCA1_0xBCFE 0xBDA1_0xBDDA
+kf 0xBDDB_0xBDFE 0xBEA1_0xBEFE 0xBFA1_0xBFFE 0xC0A1_0xC0C0
+kg 0xC0C1_0xC0FE 0xC1A1_0xC1FE 0xC2A1_0xC2FE 0xC3A1_0xC3A6
+kh 0xC3A7_0xC3FE 0xC4A1_0xC4FE 0xC5A1_0xC5EA
+ki 0xC5EB_0xC5FE 0xC6A1_0xC6FE 0xC7A1_0xC7FE 0xC8A1_0xC8D0
+kj 0xC8D1_0xC8FE 0xC9A1_0xC9FE 0xCAA1_0xCAFE 0xCBA1_0xCBB6
+kk 0xCBB7_0xCBFE 0xCCA1_0xCCFE 0xCDA1_0xCDFA
+kl 0xCDFB_0xCDFE 0xCEA1_0xCEFE 0xCFA1_0xCFFE
+
+km 0xD0A1_0xD0FE 0xD1A1_0xD1FE 0xD2A1_0xD2E4
+kn 0xD2E5_0xD2FE 0xD3A1_0xD3FE 0xD4A1_0xD4FE 0xD5A1_0xD5CA
+ko 0xD5CB_0xD5FE 0xD6A1_0xD6FE 0xD7A1_0xD7FE 0xD8A1_0xD8B0
+kp 0xD8B1_0xD8FE 0xD9A1_0xD9FE 0xDAA1_0xDAF4
+kq 0xDAF5_0xDAFE 0xDBA1_0xDBFE 0xDCA1_0xDCFE 0xDDA1_0xDDDA
+kr 0xDDDB_0xDDFE 0xDEA1_0xDEFE 0xDFA1_0xDFFE 0xE0A1_0xE0C0
+ks 0xE0C1_0xE0FE 0xE1A1_0xE1FE 0xE2A1_0xE2FE 0xE3A1_0xE3A6
+kt 0xE3A7_0xE3FE 0xE4A1_0xE4FE 0xE5A1_0xE5EA
+ku 0xE5EB_0xE5FE 0xE6A1_0xE6FE 0xE7A1_0xE7FE 0xE8A1_0xE8D0
+kv 0xE8D1_0xE8FE 0xE9A1_0xE9FE 0xEAA1_0xEAFE 0xEBA1_0xEBB6
+kw 0xEBB7_0xEBFE 0xECA1_0xECFE 0xEDA1_0xEDFA
+kx 0xEDFB_0xEDFE 0xEEA1_0xEEFE 0xEFA1_0xEFFE 0xF0A1_0xF0E0
+ky 0xF0E1_0xF0FE 0xF1A1_0xF1FE 0xF2A1_0xF2FE 0xF3A1_0xF3C6
+kz 0xF3C7_0xF3FE 0xF4A1_0xF4FE
+
+# eof
diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.txt b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.txt
new file mode 100644
index 00000000000..e9db5585d4b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.txt
@@ -0,0 +1,384 @@
+This file describes how to set up the CJK package with Wadalab postscript
+fonts for Japanese under Unix-like operating systems using distributions
+based on web2c (teTeX, TeXLive, etc.).
+
+The printer does not need to have resident Japanese fonts.
+
+
+By Hin-Tak Leung <htl10@users.sourceforge.net>, September 1997.
+
+Revised November 1998.
+
+Last revised by Werner Lemberg, July 2006.
+
+===================
+
+
+Summary steps
+-------------
+
+ 1. Download the CJK package and install it.
+
+ 2. Download and install the Wadalab font bundles for the CJK package from
+ CTAN.
+
+ 3a. Update `<TEXMF>/dvips/psfont.map', or update your `~/.dvipsrc' file.
+ Use the updmap script if possible.
+
+ 3b. Alternatively, create a `config.wadalab' file.
+
+ 3c. For pdfTeX, update `pdftex.map' (normally handled already by the updmap
+ script). Omit this step for recent teTeX and TeXLive versions.
+
+ 3d. For dvipdfmx (and dvipdfm), update `dvipdfm.map' (normally handled
+ already by the updmap script). Omit this step for recent teTeX and
+ TeXLive versions.
+
+ 4. Run mktexlsr.
+
+ 5. Test it!
+
+
+Details of each step
+--------------------
+
+1. The following files are essential and must be in your $TEXINPUTS path.
+
+ CJK/texinput/:
+ CJK.enc CJK.sty CJKnumb.sty
+ CJKulem.sty ruby.sty standard.bdg
+ standard.chr standard.enc
+
+ CJK/texinput/JIS/:
+ JIS.cap JIS.cpx JISdnp.enc
+ c42song.fd EUC-JP.bdg EUC-JP.chr
+ EUC-JP.enc
+
+ CJK/texinput/UTF8/:
+ UTF8.bdg UTF8.chr UTF8.enc
+ c70song.fd
+
+ [Even if you don't use `c42song.fd' and `c70song.fd' these two files
+ should be here to avoid a strange LaTeX error message if a font shape is
+ missing.]
+
+ [The EUC-JP files support real EUC-JP with single shift to access
+ JIS X 0212.]
+
+ And one or more of the following files:
+
+ file name Description
+ ------------------------------------------------------------------------
+ c42goth.fd Gothic JIS X 0208 (level 1,2 kanji), DNP font encoding
+ c42maru.fd Maru
+ c42min.fd Mincho
+
+ c52maru.fd Maru JIS X 0212 (level 3 kanji), DNP font encoding
+ c52min.fd Mincho
+
+ c70goth.fd Gothic JIS X 0208, Unicode font encoding
+
+ c70maru.fd Maru JIS X 0208 + 0212, Unicode font encoding
+ c70min.fd Mincho
+
+ And finally, `wadalab.map'.
+
+ Also keep `CJK/examples/JIS.tex' for testing. The rest of the CJK files
+ are not essential for this setup. Usage is documented in
+ `CJK/examples/JIS.tex' but reading `CJK/doc/CJK.txt' and
+ `CJK/doc/ruby.txt' is recommended.
+
+ For pseudo vertical typesetting you need the `*.fdx' files accompaning
+ the above `*.fd' files, together with the `CJKvert.sty' file.
+
+ For using Unicode as the input encoding you should use `CJKutf8.sty'.
+
+2. The CJK sub font packages of the Wadalab fonts can be found on CTAN in
+ the directory `fonts/wadalab'. The real TeX font names consist of the
+ concatenation of the family name with the subfont suffix. Examples:
+ `dgjkeisen', `mrjkj', `umcj5d'.
+
+ file name TeX font family
+ DNP Unicode
+ ---------------------------------------------
+ gothic-0-13.tar.gz dgj udgj
+ maru-0-8.tar.gz mrj umrj
+ maru-1-8.tar.gz mr2j
+ mincho-0-12.tar.gz dmj udmj [*]
+ mincho-0-8.tar.gz mcj umcj
+ mincho-1-8.tar.gz mc2j
+
+ [*] The `udmj' family uses mc2j for glyphs Level 3 Kanji. It doesn't
+ really fit (mc2j is too thin), but it is still better than having
+ no Level 3 Kanji at all.
+
+ Installation should be straightforward since the directories in the
+ font bundles already follow the TDS standard.
+
+3a. Append `wadalab.map' to `<TEXMF>/dvips/config/psfont.map; or, for
+ non-root users, create a `~/.dvipsrc' file containing this single line:
+
+=========================================================================
+p +/my-home/where_I_want_it/wadalab.map
+=========================================================================
+
+ (or add this line to your `~/.dvipsrc' if it already exists) and set
+ $DVIPSFONTS to the location of the `*.pfb' files.
+
+ teTeX and TeXLive users should do the following instead of the above:
+
+ a) Copy `wadalab.map' into the `<TEXMF>/fonts/map/dvips/wadalab'
+ directory. If you are non-root, create a private TEXMF tree in your
+ home directory, and copy the file to a similar location in your
+ private tree.
+
+ Users of older versions of teTeX and TeXLive should use the
+ directory `<TEXMF>/dvips/config' instead.
+
+ b) Add the following line to <TEXMF>/web2c/updmap.cfg:
+
+=========================================================================
+Map wadalab.map
+=========================================================================
+
+ and call the updmap script to regenerate all program specific map
+ files. If you are non-root, copy `updmap.cfg' from the main TEXMF
+ tree to a similar location in your private tree and modify it there.
+
+ Users of older version of teTeX and TeXLive should add `wadalab.map'
+ to the `extra_modules' variable directly in the updmap script.
+
+3b. Another solution is to just copy wadalab.map to the location in
+ step 3a. After creating a file `config.wadalab', containing a single line
+
+=========================================================================
+p +wadalab.map
+=========================================================================
+
+ you can use the `-P wadalab' switch while calling dvips.
+
+ The preferred location of `config.wadalab' is `<TEXMF>/dvips/wadalab' for
+ recent teTeX and TeXLive versions, and `<TEXMF>/dvips/config' otherwise.
+
+3c. [This step is optional and should be omitted for recent teTeX and
+ TeXLive versions.]
+
+ Append `wadalab.map' to `<TEXMF>/dvips/config/pdftex.map' so that pdfTeX
+ can use the Wadalab fonts. The updmap script does this automatically.
+
+3d. [This step is optional and should be omitted for recent teTeX and
+ TeXLive versions.]
+
+ Append `wadalab.map' to <TEXMF>/dvipdfm/config/dvipdfm.map so that
+ dvipdfmx (and dvipdfm) can use the Wadalab fonts. The updmap script does
+ this automatically.
+
+
+4. Run mktexlsr to make your TeX system actually find your font data files.
+
+
+5. Edit CJK/examples/JIS.tex and replace `\begin{CJK*}{JIS}{song}' by
+ `\begin{CJK*}[dnp]{JIS}{xxx}'; `xxx' can be `min' (for mincho), `goth'
+ (for gothic), or `maru'. To see the mincho-0-8 font (which is in `light'
+ series), insert
+
+ \fontseries{l}
+ \selectfont
+
+ in the CJK environment. All fonts use the poor-man's bold mechanism of
+ the CJK package.
+
+ Then do the sequence
+
+ latex JIS.tex
+ dvips JIS.dvi -j -o JIS.ps
+
+ or
+
+ dvips JIS.dvi -j -P wadalab -o JIS.ps
+
+ if you haven't modified `psfonts.map'. The `-j' switch activates partial
+ font downloading (which usually is the default).
+
+ At this stage running ghostview on `JIS.ps' should display it on screen.
+ Send `JIS.ps' to a postscript printer or run ghostscript for
+ non-postscript printers as you wish; and there you have your first
+ printed Japanese document. Enjoy!
+
+ Note: The level 3 Kanji fonts are generated in a DNP-like encoding also.
+ A single level 3 Kanji character can be most easily input with
+
+ \CJKchar[JIS2]{<first-byte>}{<second-byte>} ,
+
+ provided that you have said
+
+ \CJKfontenc{JIS2}{dnp}
+ \CJKencfamily{JIS2}{xxx}
+
+ in the preamble of your document to activate dnp font encoding for
+ the JIS2 encoding in font shape `xxx' (which can be either `maru'
+ or `min').
+
+ In case you use Emacs or Mule together with cjk-enc.el (of the CJK
+ package), JIS X 0212 characters can be displayed directly; they
+ will be automatically converted into appropriate CJK macros.
+
+
+How the Wadalab fonts have been created
+---------------------------------------
+
+This section contains a description of the conversion process which
+transforms the raw Wadalab PS files into subfonts usable by the CJK package.
+
+1. The Wadalab PS files are available from the original host
+
+ ftp://ftp.ipl.t.u-tokyo.ac.jp/Font/
+
+ Alternative locations are CTAN hosts like ftp.dante.de or ftp.tug.org and
+ its mirrors:
+
+ ftp://ftp.dante.de/pub/tex/support/ghostscript/3rdparty
+ /fonts/kanji/Font
+
+ Obtain the following files (if you download the files from CTAN, the
+ final extension is `.gz' instead of `.Z'):
+
+ wadalab-sym.7.tar.Z (symbols + Greek letters, necessary)
+
+ wadalab-mincho-0-12.8.tar.Z (JIS X 0208 level 1,2 kanji)
+ wadalab-gothic-0-13.5.tar.Z
+ wadalab-mincho-0-8.4.tar.Z
+ wadalab-maru-0-8.4.tar.Z
+
+ wadalab-maru-1-8.tar.Z (JIS X 0212 level 3 kanji)
+ wadalab-mincho-1-8.tar.Z
+
+ tools/wftodm.c (conversion program, c.f. step 2)
+
+ Unpack the font archives in a temporary directory; you should get
+ subdirectories called `wadalab-sym', `wadalab-mincho-0-12', etc.
+
+ Note: DO NOT read the misleading `readme.ghostscript' document which
+ accompanies the fonts.
+
+
+2. Patch `wftodm.c' with the following to enable partial font downloading.
+ You can simply say
+
+ patch < DNP.txt
+
+ to do that.
+
+=========================================================================
+--- wftodm-orig2.c Tue Sep 23 22:45:32 1997
++++ wftodm.c Sun Jul 30 08:56:43 2006
+@@ -1,6 +1,8 @@
+ #include <stdio.h>
++#include <string.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+-#include <sys/time.h>
++#include <time.h>
+ char *charstrs[34][256];
+ int charlens[34][256];
+ char *version_str="001.001";
+@@ -157,6 +159,7 @@
+ output_afm(i);
+ }
+ }
++return 0;
+ }
+ output_afm(file)
+ {
+@@ -209,14 +212,13 @@
+ fprintf(ofp,"/UnderlineThickness 0 def\n");
+ fprintf(ofp,"end readonly def\n");
+ fprintf(ofp,"/FontName /%s def\n",fontname);
+- fprintf(ofp,"/DmEncoding [\n");
++ fprintf(ofp,"/Encoding 256 array\n");
++ fprintf(ofp,"0 1 255 {1 index exch /.notdef put} for\n");
+ for(i=0;i<16;i++){
+ for(j=0;j<16;j++)
+- fprintf(ofp," /c%02X",i*16+j);
+- putc('\n',ofp);
++ fprintf(ofp,"dup %d /c%02X put\n",i*16+j,i*16+j);
+ }
+- fprintf(ofp,"] readonly def\n");
+- fprintf(ofp,"/Encoding DmEncoding def\n");
++ fprintf(ofp,"readonly def\n");
+ fprintf(ofp,"/PaintType 0 def\n");
+ fprintf(ofp,"/FontType 1 def\n");
+ fprintf(ofp,"/FontMatrix [.001 0 0 .001 0 -0.16] readonly def\n");
+=========================================================================
+
+ After compilation with
+
+ cc -O -o wftodm wftodm.c
+
+ use it as follows:
+
+ wftodm -FontBase dg wadalab-sym/jis*.ps wadalab-gothic-0-13/goth-*.ps
+ wftodm -FontBase dm wadalab-sym/jis*.ps wadalab-mincho-0-12/min-*.ps
+ wftodm -FontBase mc wadalab-sym/jis*.ps wadalab-mincho-0-8/min-*.ps
+ wftodm -FontBase mr wadalab-sym/jis*.ps wadalab-maru-0-8/maru-*.ps
+ wftodm -FontBase mc2 wadalab-mincho-1-8/min*.ps
+ wftodm -FontBase mr2 wadalab-maru-1-8/maru*.ps
+
+ [Note: The order of the PS files on the command line doesn't matter.]
+
+ You should then get a whole set of {dg,dm,mc,mr}j[*].{afm,pfa} files in
+ your current directory, with [*]={greek,keisen,roma,russian,sy} coming
+ from sym-dir, and [*]={hira,kata,ka-kz} from the Kanji fonts.
+ {mc2,mr2}j[*].{afm,pfa} with [*]={ka-kw} are JIS X 0212 level 3 Kanji
+ font files.
+
+ Note: `wftodm.c' has been updated in Oct 97; previous versions will fail.
+
+
+3. Run the `makefont' script. It first normalizes the font matrix (to make
+ the subfonts work with pdfTeX), then it calls afm2tfm on each of the afm
+ files, and run t1disasm/t1asm (which are part of the t1utils package) on
+ each of the PFA files to convert them to PFB files which are much
+ smaller.
+
+
+4. Run the `fixwada2.pl' script to correct the glyph names. This needs the
+ perl program and the files `DNP.sfd' (from the CJK package),
+ `JIS0208.TXT', and `JIS0212.TXT' (from ftp.unicode.org, in the `OBSOLETE'
+ directory).
+
+ perl fixwada2.pl dgj jis0208
+ perl fixwada2.pl mrj jis0208
+ perl fixwada2.pl mr2j jis0212
+ perl fixwada2.pl dmj jis0208
+ perl fixwada2.pl mcj jis0208
+ perl fixwada2.pl mc2j jis0212
+
+
+5. Run the `makeuniwada.pl' script -- it needs the same auxiliary files
+ as `fixwada2.pl' -- to create virtual fonts for Unicode input encoding.
+
+ perl makeuniwada.pl dgj udgj
+ perl makeuniwada.pl mrj mr2j umrj
+ perl makeuniwada.pl dmj mc2j udmj
+ perl makeuniwada.pl mcj mc2j umcj
+
+
+Thanks
+------
+
+ Werner Lemberg <wl@gnu.org> for creating CJK and comments to this help
+ document.
+
+and
+
+ Joshua Redstone <redstone@cs.washington.edu> for contribution to non-root
+ setups.
+
+Also check out the following variables: $TEXFORMATS, $TEXINPUTS, $TEXFONTS,
+$DVIPSFONTS.
+
+
+Please send any suggestions or comments to LEUNG Hin-Tak <htl10@cam.ac.uk>.
+
+--- end of DNP.txt ---
diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada
new file mode 100644
index 00000000000..17b2475f302
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada
@@ -0,0 +1,81 @@
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# This script fixes the Wadalab fonts which have been created with the
+# `makefont' script of the CJK package version 4.5.1 or earlier.
+#
+# It converts all PFB files in the current directory.
+
+
+for i in *.pfb; do
+ echo $i
+ mv $i $i.old
+ cat $i.old | \
+ t1disasm | \
+ awk '
+ {
+ sub(/001\.001/, "001.002")
+
+ if (/%%Creation/) {
+ print "%%CreationDate: 2003-Feb-07"
+ next
+ }
+
+ if (/0 -160 rmoveto/ && last_is_hsbw) {
+ last_is_hsbw = 0
+ next
+ }
+
+ if (/hsbw/) {
+ last_is_hsbw = 1
+ waiting_for_Xmoveto = 1
+ }
+ else
+ last_is_hsbw = 0
+
+ if (waiting_for_Xmoveto) {
+ if (/rmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, $2 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ else if (/vmoveto/) {
+ printf "\t%d vmoveto\n", $1 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ else if (/hmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, -160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ }
+
+ if (/moveto/)
+ print "\tclosepath"
+
+ if (/hstem/) {
+ printf "\t%d %d hstem\n", $1 - 160, $2
+ next
+ }
+
+ print
+ }
+ ' | \
+ t1asm > $i
+ rm $i.old
+done
diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada2.pl b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada2.pl
new file mode 100644
index 00000000000..94989805c6f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada2.pl
@@ -0,0 +1,242 @@
+#! /usr/bin/perl -w
+#
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# This script fixes the Wadalab fonts which have been created with the
+# `makefont' script version 1.0 (from CJK 4.8.0), or which have been updated
+# with the `fixwada' script.
+#
+# . Make all glyph names compliant to the Adobe Glyph List (AGL) to
+# get proper ToUnicode mappings in PDF documents.
+#
+# . Fix the encoding vector in the PFBs to contain only glyphs which
+# actually have an outline.
+#
+# . Update the version number and creation date.
+#
+# . Fix a typo in the original fonts (`UniqueId' -> `UniqueID').
+#
+# The files `JIS0208.TXT' and `JIS0212.TXT' from the `OBSOLETE' directory in
+# the `MAPPINGS' tree on ftp.unicode.org are necessary for running this
+# script. It also reads the file `DNP.sfd' which gives the relationship
+# between JIS X 0208 (and JIS X 0212) in EUC encoding and wadalab's DNP font
+# encoding. Finally, the programs `t1asm' and `t1disasm' must be available
+# (and in the path).
+#
+# Call the script as
+#
+# perl fixwada2.pl wadalab_namestem [JIS0208|JIS0212]
+#
+# Example:
+#
+# perl fixwada2.pl dmj JIS0208
+#
+# `fixwada2' reads all PFB and AFM files from the given wadalab font
+# family and replaces them with new versions.
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV != 1) {
+ die("usage: $prog wadalab_namestem [JIS0208|JIS0212]\n");
+}
+
+my $namestem = $ARGV[0];
+my $encoding = $ARGV[1];
+my $encfile;
+my $doshift;
+
+
+if ("\U$encoding" eq "JIS0208") {
+ $encfile = "JIS0208.TXT";
+ $doshift = 1;
+}
+elsif ("\U$encoding" eq "JIS0212") {
+ $encfile = "JIS0212.TXT";
+ $doshift = 0;
+}
+else {
+ die("$prog: unknown encoding\n");
+}
+
+
+# Read `DNP.sfd'.
+
+my %sfd;
+my @subfonts;
+
+print("Reading \`DNP.sfd'...\n");
+
+open(DNP, "DNP.sfd")
+|| die("$prog: can't open \`DNP.sfd': $!\n");
+
+# This loop doesn't handle the complete syntax of SFD files yet.
+while (<DNP>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ my $suffix = $field[0];
+ push(@subfonts, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(0x[0-9A-Fa-f]+)_(0x[0-9A-Fa-f]+)/) {
+ foreach my $i (hex($1) .. hex($2)) {
+ $sfd{$suffix . "c" . sprintf("%02X", $index)} = $i;
+ $index++;
+ }
+ }
+ shift(@field);
+ }
+}
+
+
+# Read encoding file.
+
+print("Reading \`$encfile'...\n");
+
+my %jisx;
+
+open(JISX, $encfile)
+|| die("$prog: can't open \`$encfile': $!\n");
+
+while (<JISX>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ if ($doshift) {
+ shift(@field);
+ }
+
+ my $unicode = $field[1];
+ $unicode =~ s/0x//;
+ my $value = hex($field[0]) + 0x8080;
+ $jisx{$value} = $unicode;
+}
+
+
+# Process AFM files.
+
+foreach my $afm (@subfonts) {
+ my $filename = "$namestem$afm.afm";
+ print("Processing \`$filename'...\n");
+
+ if (!-f $filename) {
+ print("$prog: \`$filename' doesn't exist\n");
+ next;
+ }
+
+ rename($filename, "$filename.old");
+
+ open(INFILE, "$filename.old")
+ || die("$prog: can't open \`$filename.old': $!\n");
+ open(OUTFILE, ">", "$filename")
+ || die("$prog: can't open \`$filename': $!\n");
+
+ while (<INFILE>) {
+ # Replace the `cXX' entries with correct `uniXXXX' glyph names.
+ s/ N (.*?) ;/ N uni$jisx{$sfd{$afm . $1}} ;/;
+
+ # Update version number.
+ s/001\.001/001.004/;
+
+ print(OUTFILE $_);
+ }
+
+ close(INFILE);
+ close(OUTFILE);
+
+ unlink("$filename.old");
+}
+
+
+# Process PFB files.
+
+foreach my $pfb (@subfonts) {
+ my $arg;
+ my $filename = "$namestem$pfb.pfb";
+ print("Processing \`$filename'...\n");
+
+ if (!-f $filename) {
+ print("$prog: \`$filename' doesn't exist\n");
+ next;
+ }
+
+ rename($filename, "$filename.old");
+
+ $arg = "t1disasm < $filename.old > $filename.disasm.old";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ open(INFILE, "$filename.disasm.old")
+ || die("$prog: can't open \`$filename.disasm.old': $!\n");
+ open(OUTFILE, ">", "$filename.disasm")
+ || die("$prog: can't open \`$filename.disasm': $!\n");
+
+ while (<INFILE>) {
+ # Replace the `cXX' entries with correct `uniXXXX' glyph names
+ # (or `.notdef' if there isn't one).
+ if (m@/(c.*?) @) {
+ my $replacement;
+ if (defined ($sfd{$pfb . $1})
+ && defined ($jisx{$sfd{$pfb . $1}})) {
+ $replacement = "uni$jisx{$sfd{$pfb . $1}}";
+ }
+ else {
+ $replacement = ".notdef";
+ }
+ s@/(c.*?) @/$replacement @;
+ }
+
+ # Fix a typo in original fonts.
+ s/UniqueId/UniqueID/;
+
+ # Update version number.
+ s/001\.002/001.004/;
+
+ # Update creation date.
+ s/2003-Feb-07/2005-Jul-29/;
+
+ print(OUTFILE $_);
+ }
+
+ close(INFILE);
+ close(OUTFILE);
+
+ $arg = "t1asm < $filename.disasm > $filename";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ unlink("$filename.disasm.old", "$filename.disasm");
+ unlink("$filename.old");
+}
+
+print("Done.\n");
+
+# eof
diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makefont b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makefont
new file mode 100644
index 00000000000..deb9310a326
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makefont
@@ -0,0 +1,108 @@
+#!/bin/sh
+#
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# Version 1.0
+#
+# This script transforms Wadalab PFA and AFM files created by the
+# wftodm program into PFB and TFM files. All files in the current
+# directory and its subdirectories are converted.
+#
+# Additionally, it normalizes the font matrix so that the subfonts work
+# with pdfTeX; for convenience, it also inserts `closepath' commands to
+# end subpaths in glyphs.
+#
+# Note that an older version of this script (without a version number) has
+# some flaws; you should either regenerate all Wadalab subfonts or use the
+# `fixwada' script to fix PFB fonts which have already been created with
+# this older version.
+#
+# The programs t1asm, t1disasm, and afm2tfm must be in the path.
+
+for f in `find . -name '*.pfa' -print`; do
+ echo processing $f
+ name=`basename $f .pfa`
+ t1disasm < $name.pfa > $name.old
+
+ cat $name.old | \
+ awk '
+ {
+ sub(/001\.001/, "001.002")
+ sub(/\[.001 0 0 .001 0 -0.16\]/, "[.001 0 0 .001 0 0]")
+ sub(/\[0 0 1000 1000\]/, "[0 -160 1000 840]")
+
+ if (/%%Creation/) {
+ print "%%CreationDate: 2003-Feb-07"
+ next
+ }
+
+ if (/hsbw/)
+ waiting_for_Xmoveto = 1
+
+ if (waiting_for_Xmoveto) {
+ if (/rmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, $2 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ if (/vmoveto/) {
+ printf "\t%d vmoveto\n", $1 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ if (/hmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, -160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ }
+
+ if (/moveto/)
+ print "\tclosepath"
+
+ if (/hstem/) {
+ printf "\t%d %d hstem\n", $1 - 160, $2
+ next
+ }
+
+ print
+ }
+ ' > $name.asm
+ rm $name.old
+
+ t1asm < $name.asm > $name.pfb
+ rm $name.asm
+done
+
+for f in `find . -name '*.afm' -print`; do
+ echo processing $f
+ name=`basename $f .afm`
+ mv $name.afm $name.old
+
+ cat $name.old | \
+ sed -e "
+ s/FontBBox 0 0 1000 1000/FontBBox 0 -160 1000 840/
+ s/B 0 0 1000 1000/B 0 -160 1000 840/
+ " > $name.afm
+
+ rm $name.old
+
+ afm2tfm $name.afm &> /dev/null
+done
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makeuniwada.pl b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makeuniwada.pl
new file mode 100644
index 00000000000..cbf4ca6d306
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makeuniwada.pl
@@ -0,0 +1,333 @@
+#! /usr/bin/perl -w
+#
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# This script creates virtual subfonts in Unicode encoding for Wadalab
+# subfonts. It can merge a JIS X 0208 and JIS X 0212 family into a single
+# set of Unicode subfonts.
+#
+# As prerequisites, it needs the files `JIS0208.TXT' and `JIS0212.TXT' from
+# the `OBSOLETE' directory in the `MAPPINGS' tree on ftp.unicode.org. It
+# also needs the file `DNP.sfd' which gives the relationship between JIS X
+# 0208 (and JIS X 0212) in EUC encoding and wadalab's DNP font encoding.
+# The program `vptovf' must be available (and in the path).
+#
+# Call the script as
+#
+# perl makeuniwada.pl namestem1 [namestem2] uni_namestem
+#
+# `namestem1' is the font in JIS X 0208 encoding. The optional `namestem2'
+# argument is the font in JIS X 0212, and `uni_namestem' holds the prefix
+# for the Unicode subfonts. `makeuniwada.pl' reads all AFM files from the
+# given wadalab font families.
+#
+# Example:
+#
+# perl makeuniwada.pl dmj mc2j udmj
+#
+# This call mixes the mincho-0-12 (dmj) with mincho-1-8 (mc2j) families.
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV < 1 || $#ARGV > 2) {
+ die("usage: $prog namestem1 [namestem2] uni_namestem\n");
+}
+
+my $namestem1;
+my $namestem2;
+my $two_encodings = 0;
+my @args = @ARGV;
+
+$namestem1 = $ARGV[0];
+if ($#ARGV == 2) {
+ $namestem2 = $ARGV[1];
+ $two_encodings = 1;
+ shift;
+}
+my $uninamestem = $ARGV[1];
+
+
+# Read `DNP.sfd'.
+
+my %sfd;
+my @subfonts;
+
+read_sfdfile("DNP.sfd", \%sfd, \@subfonts);
+
+
+# Read encoding files.
+#
+# The files `JIS0208.TXT' and `JIS0212.TXT' are from the `OBSOLETE'
+# directory in the `MAPPINGS' tree on ftp.unicode.org.
+
+my %jisx0208;
+my %jisx0212;
+
+read_encfile("JIS0208.TXT", \%jisx0208, 1);
+if ($two_encodings) {
+ read_encfile("JIS0212.TXT", \%jisx0212, 0);
+}
+
+
+# Read AFM files.
+
+my @unicode;
+
+foreach my $sub (@subfonts) {
+ my $afmname = "$namestem1$sub.afm";
+
+ if (-f $afmname) {
+ read_afmfile($afmname, \@unicode, \%sfd, \%jisx0208, $sub);
+ }
+}
+if ($two_encodings) {
+ foreach my $sub (@subfonts) {
+ my $afmname = "$namestem2$sub.afm";
+
+ if (-f $afmname) {
+ read_afmfile($afmname, \@unicode, \%sfd, \%jisx0212, $sub);
+ }
+ }
+}
+
+
+# Write VPL files.
+
+my $index = 0;
+foreach my $i (0 .. 255) {
+ my @entries;
+
+ foreach my $j (0 .. 255) {
+ if (defined ($unicode[$index])) {
+ push(@entries, "$j $unicode[$index]");
+ }
+ $index++;
+ }
+
+ if ($#entries >= 0) {
+ write_vplfile($uninamestem . sprintf("%02x.vpl", $i), \@entries);
+ }
+}
+
+
+# Generate VF and TFM files, then remove the VPL files.
+
+my @vplfiles = glob("$uninamestem*.vpl");
+foreach my $vplfile (@vplfiles) {
+ print("Processing \`$vplfile'...\n");
+ my $arg = "vptovf $vplfile";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?");;
+ print("Removing \`$vplfile'...\n");
+ unlink($vplfile);
+}
+
+
+# Read an SFD file.
+#
+# $1: Name of the SFD file.
+# $2: Reference to the target hash file, mapping from the subfont index
+# to the character code. The format of the hash key is the
+# concatenation of the subfont suffix, a space, and the index.
+# $3: Reference to a target array which holds the subfont suffixes.
+
+sub read_sfdfile {
+ my ($sfdfile, $sfdhash, $sfdarray) = @_;
+
+ print("Reading subfont definition file \`$sfdfile'...\n");
+
+ open(SFD, $sfdfile)
+ || die("$prog: can't open \`$sfdfile': $!\n");
+
+ # This loop doesn't handle the complete syntax of SFD files yet.
+ while (<SFD>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ my $suffix = $field[0];
+ push(@{$sfdarray}, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(0x[0-9A-Fa-f]+)_(0x[0-9A-Fa-f]+)/) {
+ foreach my $i (hex($1) .. hex($2)) {
+ $sfdhash->{"$suffix $index"} = $i;
+ $index++;
+ }
+ }
+ shift(@field);
+ }
+ }
+ close(SFD);
+}
+
+
+# Read encoding file.
+#
+# $1: Name of the encoding file.
+# $2: Reference to the target hash file, mapping from the charset
+# to Unicode.
+# $3: Set to 1 if the needed mapping data is not in field 1 and 2, but in
+# field 2 and 3.
+
+sub read_encfile {
+ my ($encfile, $enchash, $doshift) = @_;
+
+ print("Reading encoding file \`$encfile'...\n");
+
+ open(ENC, $encfile)
+ || die("$prog: can't open \`$encfile': $!\n");
+
+ while (<ENC>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ if ($doshift) {
+ shift(@field);
+ }
+
+ my $unicode = $field[1];
+ $unicode =~ s/0x//;
+ my $value = hex($field[0]) + 0x8080;
+ $enchash->{$value} = hex($unicode);
+ }
+ close(ENC);
+}
+
+
+# Read AFM file.
+#
+# $1: Name of the AFM file.
+# $2: Reference to the target array which maps from Unicode to the string
+# "<subfont name> <subfont index> <width> <height> <depth>".
+# $3: Reference to the SFD hash (as extracted by `read_sfdfile').
+# $4: Reference to the encoding hash (as extracted by `read_encfile').
+# $5: Suffix.
+
+sub read_afmfile {
+ my ($afmfile, $unicarray, $sfdhash, $enchash, $suffix) = @_;
+
+ print("Reading metric file \`$afmfile'...\n");
+
+ open(AFM, $afmfile)
+ || die("$prog: can't open \`$afmfile': $!\n");
+
+ $afmfile =~ s/\.[^.]*$//;
+ while (<AFM>) {
+ if (/^C (\d+) ;/) {
+ my $key = "$suffix $1";
+ my $value = $sfdhash->{$key};
+ my $unicvalue = $enchash->{$value};
+ my $s = "$afmfile $1";
+
+ # Add advance width.
+ / WX (.*?) ;/;
+ $s .= " $1";
+
+ # Add glyph height and depth.
+ / B .*? (.*?) .*? (.*?) ;/;
+ $s .= " $1 $2";
+
+ $unicarray->[$unicvalue] = $s;
+ }
+ }
+ close(AFM);
+}
+
+
+# Write VPL file.
+#
+# $1: Name of the VPL file.
+# $2: Reference to list which holds the font entries. An entry has the
+# form `<idx> <subfont> <subfont_idx> <adv_width> <height> <depth>'.
+
+sub write_vplfile {
+ my ($vplfile, $glypharray) = @_;
+
+ my %subfonts;
+ my $subcount = 0;
+
+ foreach my $entry (@{$glypharray}) {
+ my @field = split(" ", $entry);
+ my $subfont = $field[1];
+ if (!defined ($subfonts{$subfont})) {
+ $subfonts{$subfont} = $subcount;
+ $subcount++;
+ }
+ }
+
+ print("Writing virtual property list file \`$vplfile'...\n");
+
+ open(VPL, ">", $vplfile)
+ || die("$prog: can't open \`$vplfile': $!\n");
+ my $oldfh = select(VPL);
+
+ print("(VTITLE Created by \`$prog " . join(" ", @args) . "')\n");
+ print("(FAMILY TEX-\U$uninamestem\E)\n");
+ print("(CODINGSCHEME DNPUNICODE)\n");
+ print("(FONTDIMEN\n");
+ print(" (SPACE R 0.5)\n");
+ print(" (XHEIGHT R 0.4)\n");
+ print(" (QUAD R 1)\n");
+ print(" )\n");
+
+ foreach my $subfont
+ (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) {
+ print("(MAPFONT D $subfonts{$subfont}\n");
+ print(" (FONTNAME $subfont)\n");
+ print(" )\n");
+ }
+
+ foreach my $entry (@{$glypharray}) {
+ my @field = split(" ", $entry);
+ my $index = $field[0];
+ my $subnumber = $subfonts{$field[1]};
+ my $subindex = $field[2];
+ my $adv_width = $field[3] / 1000.0;
+ my $depth = $field[4] / -1000.0;
+ my $height = $field[5] / 1000.0;
+
+ print("(CHARACTER D $index\n");
+ print(" (CHARWD R $adv_width)\n");
+ print(" (CHARHT R $height)\n");
+ print(" (CHARDP R $depth)\n");
+ print(" (MAP\n");
+ print(" (SELECTFONT D $subnumber)\n");
+ print(" (SETCHAR D $subindex)\n");
+ print(" )\n");
+ print(" )\n");
+ }
+
+ close(VPL);
+ select($oldfh);
+}
+
+
+# eof
diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/wadalab.map b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/wadalab.map
new file mode 100644
index 00000000000..dd008d525fa
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/wadalab.map
@@ -0,0 +1,187 @@
+
+% Wadalab Japanese fonts
+
+dgjgreek dgjgreek <dgjgreek.pfb
+dgjhira dgjhira <dgjhira.pfb
+dgjkata dgjkata <dgjkata.pfb
+dgjkeisen dgjkeisen <dgjkeisen.pfb
+dgjroma dgjroma <dgjroma.pfb
+dgjrussian dgjrussian <dgjrussian.pfb
+dgjsy dgjsy <dgjsy.pfb
+dgjka dgjka <dgjka.pfb
+dgjkb dgjkb <dgjkb.pfb
+dgjkc dgjkc <dgjkc.pfb
+dgjkd dgjkd <dgjkd.pfb
+dgjke dgjke <dgjke.pfb
+dgjkf dgjkf <dgjkf.pfb
+dgjkg dgjkg <dgjkg.pfb
+dgjkh dgjkh <dgjkh.pfb
+dgjki dgjki <dgjki.pfb
+dgjkj dgjkj <dgjkj.pfb
+dgjkk dgjkk <dgjkk.pfb
+dgjkl dgjkl <dgjkl.pfb
+dgjkm dgjkm <dgjkm.pfb
+dgjkn dgjkn <dgjkn.pfb
+dgjko dgjko <dgjko.pfb
+dgjkp dgjkp <dgjkp.pfb
+dgjkq dgjkq <dgjkq.pfb
+dgjkr dgjkr <dgjkr.pfb
+dgjks dgjks <dgjks.pfb
+dgjkt dgjkt <dgjkt.pfb
+dgjku dgjku <dgjku.pfb
+dgjkv dgjkv <dgjkv.pfb
+dgjkw dgjkw <dgjkw.pfb
+dgjkx dgjkx <dgjkx.pfb
+dgjky dgjky <dgjky.pfb
+dgjkz dgjkz <dgjkz.pfb
+
+dmjgreek dmjgreek <dmjgreek.pfb
+dmjhira dmjhira <dmjhira.pfb
+dmjkata dmjkata <dmjkata.pfb
+dmjkeisen dmjkeisen <dmjkeisen.pfb
+dmjroma dmjroma <dmjroma.pfb
+dmjrussian dmjrussian <dmjrussian.pfb
+dmjsy dmjsy <dmjsy.pfb
+dmjka dmjka <dmjka.pfb
+dmjkb dmjkb <dmjkb.pfb
+dmjkc dmjkc <dmjkc.pfb
+dmjkd dmjkd <dmjkd.pfb
+dmjke dmjke <dmjke.pfb
+dmjkf dmjkf <dmjkf.pfb
+dmjkg dmjkg <dmjkg.pfb
+dmjkh dmjkh <dmjkh.pfb
+dmjki dmjki <dmjki.pfb
+dmjkj dmjkj <dmjkj.pfb
+dmjkk dmjkk <dmjkk.pfb
+dmjkl dmjkl <dmjkl.pfb
+dmjkm dmjkm <dmjkm.pfb
+dmjkn dmjkn <dmjkn.pfb
+dmjko dmjko <dmjko.pfb
+dmjkp dmjkp <dmjkp.pfb
+dmjkq dmjkq <dmjkq.pfb
+dmjkr dmjkr <dmjkr.pfb
+dmjks dmjks <dmjks.pfb
+dmjkt dmjkt <dmjkt.pfb
+dmjku dmjku <dmjku.pfb
+dmjkv dmjkv <dmjkv.pfb
+dmjkw dmjkw <dmjkw.pfb
+dmjkx dmjkx <dmjkx.pfb
+dmjky dmjky <dmjky.pfb
+dmjkz dmjkz <dmjkz.pfb
+
+mcjgreek mcjgreek <mcjgreek.pfb
+mcjhira mcjhira <mcjhira.pfb
+mcjkata mcjkata <mcjkata.pfb
+mcjkeisen mcjkeisen <mcjkeisen.pfb
+mcjroma mcjroma <mcjroma.pfb
+mcjrussian mcjrussian <mcjrussian.pfb
+mcjsy mcjsy <mcjsy.pfb
+mcjka mcjka <mcjka.pfb
+mcjkb mcjkb <mcjkb.pfb
+mcjkc mcjkc <mcjkc.pfb
+mcjkd mcjkd <mcjkd.pfb
+mcjke mcjke <mcjke.pfb
+mcjkf mcjkf <mcjkf.pfb
+mcjkg mcjkg <mcjkg.pfb
+mcjkh mcjkh <mcjkh.pfb
+mcjki mcjki <mcjki.pfb
+mcjkj mcjkj <mcjkj.pfb
+mcjkk mcjkk <mcjkk.pfb
+mcjkl mcjkl <mcjkl.pfb
+mcjkm mcjkm <mcjkm.pfb
+mcjkn mcjkn <mcjkn.pfb
+mcjko mcjko <mcjko.pfb
+mcjkp mcjkp <mcjkp.pfb
+mcjkq mcjkq <mcjkq.pfb
+mcjkr mcjkr <mcjkr.pfb
+mcjks mcjks <mcjks.pfb
+mcjkt mcjkt <mcjkt.pfb
+mcjku mcjku <mcjku.pfb
+mcjkv mcjkv <mcjkv.pfb
+mcjkw mcjkw <mcjkw.pfb
+mcjkx mcjkx <mcjkx.pfb
+mcjky mcjky <mcjky.pfb
+mcjkz mcjkz <mcjkz.pfb
+
+mrjgreek mrjgreek <mrjgreek.pfb
+mrjhira mrjhira <mrjhira.pfb
+mrjkata mrjkata <mrjkata.pfb
+mrjkeisen mrjkeisen <mrjkeisen.pfb
+mrjroma mrjroma <mrjroma.pfb
+mrjrussian mrjrussian <mrjrussian.pfb
+mrjsy mrjsy <mrjsy.pfb
+mrjka mrjka <mrjka.pfb
+mrjkb mrjkb <mrjkb.pfb
+mrjkc mrjkc <mrjkc.pfb
+mrjkd mrjkd <mrjkd.pfb
+mrjke mrjke <mrjke.pfb
+mrjkf mrjkf <mrjkf.pfb
+mrjkg mrjkg <mrjkg.pfb
+mrjkh mrjkh <mrjkh.pfb
+mrjki mrjki <mrjki.pfb
+mrjkj mrjkj <mrjkj.pfb
+mrjkk mrjkk <mrjkk.pfb
+mrjkl mrjkl <mrjkl.pfb
+mrjkm mrjkm <mrjkm.pfb
+mrjkn mrjkn <mrjkn.pfb
+mrjko mrjko <mrjko.pfb
+mrjkp mrjkp <mrjkp.pfb
+mrjkq mrjkq <mrjkq.pfb
+mrjkr mrjkr <mrjkr.pfb
+mrjks mrjks <mrjks.pfb
+mrjkt mrjkt <mrjkt.pfb
+mrjku mrjku <mrjku.pfb
+mrjkv mrjkv <mrjkv.pfb
+mrjkw mrjkw <mrjkw.pfb
+mrjkx mrjkx <mrjkx.pfb
+mrjky mrjky <mrjky.pfb
+mrjkz mrjkz <mrjkz.pfb
+
+mc2jka mc2jka <mc2jka.pfb
+mc2jkb mc2jkb <mc2jkb.pfb
+mc2jkc mc2jkc <mc2jkc.pfb
+mc2jkd mc2jkd <mc2jkd.pfb
+mc2jke mc2jke <mc2jke.pfb
+mc2jkf mc2jkf <mc2jkf.pfb
+mc2jkg mc2jkg <mc2jkg.pfb
+mc2jkh mc2jkh <mc2jkh.pfb
+mc2jki mc2jki <mc2jki.pfb
+mc2jkj mc2jkj <mc2jkj.pfb
+mc2jkk mc2jkk <mc2jkk.pfb
+mc2jkl mc2jkl <mc2jkl.pfb
+mc2jkm mc2jkm <mc2jkm.pfb
+mc2jkn mc2jkn <mc2jkn.pfb
+mc2jko mc2jko <mc2jko.pfb
+mc2jkp mc2jkp <mc2jkp.pfb
+mc2jkq mc2jkq <mc2jkq.pfb
+mc2jkr mc2jkr <mc2jkr.pfb
+mc2jks mc2jks <mc2jks.pfb
+mc2jkt mc2jkt <mc2jkt.pfb
+mc2jku mc2jku <mc2jku.pfb
+mc2jkv mc2jkv <mc2jkv.pfb
+mc2jkw mc2jkw <mc2jkw.pfb
+
+mr2jka mr2jka <mr2jka.pfb
+mr2jkb mr2jkb <mr2jkb.pfb
+mr2jkc mr2jkc <mr2jkc.pfb
+mr2jkd mr2jkd <mr2jkd.pfb
+mr2jke mr2jke <mr2jke.pfb
+mr2jkf mr2jkf <mr2jkf.pfb
+mr2jkg mr2jkg <mr2jkg.pfb
+mr2jkh mr2jkh <mr2jkh.pfb
+mr2jki mr2jki <mr2jki.pfb
+mr2jkj mr2jkj <mr2jkj.pfb
+mr2jkk mr2jkk <mr2jkk.pfb
+mr2jkl mr2jkl <mr2jkl.pfb
+mr2jkm mr2jkm <mr2jkm.pfb
+mr2jkn mr2jkn <mr2jkn.pfb
+mr2jko mr2jko <mr2jko.pfb
+mr2jkp mr2jkp <mr2jkp.pfb
+mr2jkq mr2jkq <mr2jkq.pfb
+mr2jkr mr2jkr <mr2jkr.pfb
+mr2jks mr2jks <mr2jks.pfb
+mr2jkt mr2jkt <mr2jkt.pfb
+mr2jku mr2jku <mr2jku.pfb
+mr2jkv mr2jkv <mr2jkv.pfb
+mr2jkw mr2jkw <mr2jkw.pfb
+
diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.1 b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.1
new file mode 100644
index 00000000000..90af2cd08e5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.1
@@ -0,0 +1,110 @@
+.\" man page for bg5conv
+.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH BG5CONV 1 22-May-2008 "CJK Version 4.8.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+bg5conv \- convert a TeX document in Big\ 5 encoding into `preprocessed'
+form.
+.
+.
+.SH SYNOPSIS
+.B bg5conv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+Big\ 5 encoding for traditional Chinese uses the characters
+.C { ,
+.C } ,
+and
+.C \e
+which have special meanings in \*(TX
+documents.
+.PP
+After processing a \*(LE
+document which contains Big\ 5 characters with
+.B bg5conv
+you need not care about these special characters.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.c b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.c
new file mode 100644
index 00000000000..595292ea3b6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.c
@@ -0,0 +1,36 @@
+#define banner \
+"bg5conv (CJK ver. 4.8.0)" \
+
+/*2:*/
+#line 94 "/home/wl/git/cjk/cjk-4.8.0/utils/Bg5conv/bg5conv.w"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(argc,argv)
+int argc;
+char*argv[];
+
+{int ch;
+
+fprintf(stdout,"\\def\\CJKpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if(ch>=0xA1&&ch<=0xFE)
+{fprintf(stdout,"\177%c\177",ch);
+
+ch= fgetc(stdin);
+if(!feof(stdin))
+fprintf(stdout,"%d\177",ch);
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.w b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.w
new file mode 100644
index 00000000000..c3c60970622
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.w
@@ -0,0 +1,124 @@
+% This is the cweb file bg5conv.w of the CJK Package Ver. 4.8.0 22-May-2008
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a bg5conv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{bg5conv (CJK Version 4.8.0)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont bg5conv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.0)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert Big~5 encoded Chinese characters into a
+`preprocessed' form. The need of this program arises from the fact that this
+encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which have
+special meanings in \TeX.
+
+Use this program as a filter:
+
+\hskip 2em \.{bg5conv < input\_file > output\_file}
+
+
+@* The program.
+The only function of this program is to replace all occurrences of Big 5
+encoded characters \.{XY} (\.{X} and \.{Y} are the first and the second byte
+of the character) with
+\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f}, where
+\.{ZZZ} represents the second byte as a decimal number. \.{0x7F} is used as
+an active character and delimiter.
+
+Additionally we define a \TeX\ macro at the very beginning to signal a
+preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{bg5conv} complains loudly if something is
+wrong.
+
+@d banner
+"bg5conv (CJK ver. 4.8.0)"
+
+@c
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(argc, argv)
+ int argc;
+ char *argv[];
+
+ {int ch;
+
+ fprintf(stdout, "\\def\\CJKpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if(ch >= 0xA1 && ch <= 0xFE)
+ {fprintf(stdout, "\177%c\177", ch);@#
+
+ ch = fgetc(stdin);
+ if(!feof(stdin))
+ fprintf(stdout, "%d\177", ch);
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex
new file mode 100644
index 00000000000..30195776a87
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+bg5conv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.bat b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.bat
new file mode 100755
index 00000000000..91e7dfd8575
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.bat
@@ -0,0 +1,3 @@
+call f_name %1
+bg5conv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.cmd b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.cmd
new file mode 100644
index 00000000000..de695fcb554
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.cmd
@@ -0,0 +1,44 @@
+/*----------------------------------------------------------------------*\
+ bg5latex.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.0
+
+ Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'bg5conv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of bg5latex.cmd */
diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5pdflatex b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5pdflatex
new file mode 100644
index 00000000000..ae165527569
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5pdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] pdflatex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+bg5conv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.1 b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.1
new file mode 100644
index 00000000000..5d9b7f5d8c4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.1
@@ -0,0 +1,127 @@
+.\" man page for cef5conv
+.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH CEF5CONV 1 22-May-2008 "CJK Version 4.8.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP
+..
+.\}
+.if n \{\
+.de C
+\\$1
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+cef5conv \- convert a TeX document in Big\ 5 encoding containing CEF macros
+into `preprocessed' form.
+.
+.
+.SH SYNOPSIS
+.B cef5conv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+The
+.B Chinese Encoding Framework
+.RB ( CEF )
+developed by Christian Wittern
+.C <cwittern@conline.central.de>
+makes it possible to include CJK characters in various encodings using the
+SGML macros
+.B &CX-aabb;
+for Big\ 5 and CNS encoding and
+.B &U-aabb;
+for Unicode
+.RB ( X
+denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS
+encoding planes 1-7.
+.B aabb
+is either a decimal or hexadecimal number).
+.PP
+.B cef5conv
+converts the CEF macros of a Big\ 5 encoded document together with the Big\
+5 encoding itself into a form which can directly processed with \*(LE.
+It is identical to
+.IP
+.B bg5conv
+<
+.I infile
+|
+.B cefconv
+>
+.I outfile
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR bg5conv (1),
+.BR \%cefconv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.c b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.c
new file mode 100644
index 00000000000..b62eb30443b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.c
@@ -0,0 +1,138 @@
+#define banner \
+"cef5conv (CJK ver. 4.8.0)" \
+
+/*2:*/
+#line 108 "/home/wl/git/cjk/cjk-4.8.0/utils/CEFconv/cef5conv.w"
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(argc,argv)
+int argc;
+char*argv[];
+
+{int ch,i;
+unsigned char in[16];
+unsigned char out[32];
+unsigned char*inp,*outp;
+
+fprintf(stdout,"\\def\\CNSpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if(ch>=0xA1&&ch<=0xFE)
+{fprintf(stdout,"\177%c\177",ch);
+
+ch= fgetc(stdin);
+if(!feof(stdin))
+fprintf(stdout,"%d\177",ch);
+}
+else if(ch=='&')
+
+{inp= in;
+outp= out;
+*inp= ch;
+*(++inp)= fgetc(stdin);
+
+if(*inp=='C'&&!feof(stdin))
+{*(++inp)= fgetc(stdin);
+if(*inp=='0'&&!feof(stdin))
+{*(outp++)= 'B';
+*(outp++)= 'g';
+*(outp++)= '5';
+}
+else if(*inp>='1'&&*inp<='7'&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'N';
+*(outp++)= 'S';
+*(outp++)= *inp;
+}
+else if((*inp=='X'||*inp=='Y')&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'E';
+*(outp++)= 'F';
+*(outp++)= *inp;
+}
+else
+goto no_macro;
+}
+else if(*inp=='U'&&!feof(stdin))
+{*(outp++)= 'U';
+*(outp++)= 'T';
+*(outp++)= 'F';
+*(outp++)= '8';
+}
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(*inp!='-'||feof(stdin))
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*outp= '\0';
+
+*(++inp)= fgetc(stdin);
+if(*inp!=';'||feof(stdin))
+goto no_macro;
+
+outp= out;
+fprintf(stdout,"\17772\177");
+while(*outp)
+fputc(*(outp++),stdout);
+
+ch= fgetc(stdin);
+continue;
+
+no_macro:
+ch= *inp;
+i= inp-in;
+inp= in;
+while(i--)
+fputc(*(inp++),stdout);
+continue;
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.w b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.w
new file mode 100644
index 00000000000..3877e4c19fb
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.w
@@ -0,0 +1,240 @@
+% This is the cweb file cef5conv.w of the CJK Package Ver. 4.8.0 22-May-2008
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a cef5conv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{cef5conv (CJK Version 4.8.0)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont cef5conv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.0)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998, 2002 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert Big~5 encoding with CNS encoded Chinese
+characters using the {\it Chinese Encoding Framework (CEF)} into a
+`preprocessed' form. The need of this program arises from the fact that
+Big~5 encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which
+have special meanings in \TeX.
+
+Use this program as a filter:
+
+\hskip 2em \.{cef5conv < input\_file > output\_file}
+
+
+@* The program.
+In contrast to \.{cefconv} two tasks will be executed:
+
+Replacing all occurrences of Big~5 encoded characters \.{XY} (\.{X} and
+\.{Y} are the first and the second byte of the character) with
+\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f}, where
+\.{ZZZ} represents the second byte as a decimal number. \.{0x7F} is used as
+a control character and a delimiter.
+
+Replacing CEF macros of the form \.{\&xx-yyzz;} (\.{xx} can be C1--C7 for
+the CNS planes 1--7, C0 for Big~5 encoding, an encoding CX reserved for
+IRIZ, a private encoding CY, and U for Unicode encoding; \.{yyzz} is a
+hexadecimal representation of the code point in this plane) with
+\medskip
+\quad\.{\char94 \char94 7f72\char94 \char94 7fXX\char94 \char94 7f%
+\char94 \char94 7f"0yy\char94 \char94 7f"0zz\char94 \char94 7f}\quad.
+\medskip
+\.{XX} is the corresponding CJK encoding of \.{xx}; the number `72'
+specifies a macro in the file \.{MULEenc.sty} which further processes this
+representation -- it is automatically loaded by the \.{CJK} package.
+
+Additionally we define a \TeX\ macro at the very beginning to signal a
+preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{cef5conv} complains loudly if something is
+wrong.
+
+@d banner
+"cef5conv (CJK ver. 4.8.0)"
+
+@c
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(argc, argv)
+ int argc;
+ char *argv[];
+
+ {int ch, i;
+ unsigned char in[16];
+ unsigned char out[32];
+ unsigned char *inp, *outp;
+
+ fprintf(stdout, "\\def\\CNSpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if(ch >= 0xA1 && ch <= 0xFE)
+ {fprintf(stdout, "\177%c\177", ch);@#
+
+ ch = fgetc(stdin);
+ if(!feof(stdin))
+ fprintf(stdout, "%d\177", ch);
+ }
+ else if(ch == '&')
+ /* the macro test is hardcoded to make things simple */
+ {inp = in;
+ outp = out;
+ *inp = ch;
+ *(++inp) = fgetc(stdin);@#
+
+ if(*inp == 'C' && !feof(stdin))
+ {*(++inp) = fgetc(stdin);
+ if(*inp == '0' && !feof(stdin))
+ {*(outp++) = 'B';
+ *(outp++) = 'g';
+ *(outp++) = '5';
+ }
+ else if(*inp >= '1' && *inp <= '7' && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'N';
+ *(outp++) = 'S';
+ *(outp++) = *inp;
+ }
+ else if((*inp == 'X' || *inp == 'Y') && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'E';
+ *(outp++) = 'F';
+ *(outp++) = *inp;
+ }
+ else
+ goto no_macro;
+ }
+ else if(*inp == 'U' && !feof(stdin))
+ {*(outp++) = 'U';
+ *(outp++) = 'T';
+ *(outp++) = 'F';
+ *(outp++) = '8';
+ }
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != '-' || feof(stdin))
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *outp = '\0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != ';' || feof(stdin))
+ goto no_macro;@#
+
+ outp = out;
+ fprintf(stdout, "\17772\177");
+ while(*outp)
+ fputc(*(outp++), stdout);@#
+
+ ch = fgetc(stdin);
+ continue;@#
+
+no_macro:
+ ch = *inp;
+ i = inp - in;
+ inp = in;
+ while(i--)
+ fputc(*(inp++), stdout);
+ continue;
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5latex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5latex
new file mode 100644
index 00000000000..5e609181030
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5latex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cef5conv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.bat b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.bat
new file mode 100755
index 00000000000..187485301f9
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.bat
@@ -0,0 +1,3 @@
+call f_name %1
+cef5conv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.cmd
new file mode 100644
index 00000000000..325de4b6d89
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.cmd
@@ -0,0 +1,46 @@
+/*----------------------------------------------------------------------*\
+ cef5ltx.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.0
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.0
+
+ Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'cef5conv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of cef5ltx.cmd */
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5pdflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5pdflatex
new file mode 100644
index 00000000000..cd1118cd7c3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5pdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] pdflatex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cef5conv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.1 b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.1
new file mode 100644
index 00000000000..fcadd795f35
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.1
@@ -0,0 +1,117 @@
+.\" man page for cefconv
+.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH CEFCONV 1 22-May-2008 "CJK Version 4.8.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP
+..
+.\}
+.if n \{\
+.de C
+\\$1
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+cefconv \- convert a TeX document containing CEF macros into `preprocessed'
+form.
+.
+.
+.SH SYNOPSIS
+.B cefconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+The
+.B Chinese Encoding Framework
+.RB ( CEF )
+developed by Christian Wittern
+.C <cwittern@conline.central.de>
+makes it possible to include CJK characters in various encodings using the
+SGML macros
+.B &CX-aabb;
+for Big\ 5 and CNS encoding and
+.B &U-aabb;
+for Unicode
+.RB ( X
+denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS
+encoding planes 1-7.
+.B aabb
+is either a decimal or hexadecimal number)
+.PP
+.B \%cefconv
+converts the CEF macros into a form which can directly processed with \*(LE.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR bg5conv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.c b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.c
new file mode 100644
index 00000000000..562c6775922
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.c
@@ -0,0 +1,130 @@
+#define banner \
+"cefconv (CJK ver. 4.8.0)" \
+
+/*2:*/
+#line 100 "/home/wl/git/cjk/cjk-4.8.0/utils/CEFconv/cefconv.w"
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(argc,argv)
+int argc;
+char*argv[];
+
+{int ch,i;
+unsigned char in[16];
+unsigned char out[32];
+unsigned char*inp,*outp;
+
+fprintf(stdout,"\\def\\CNSpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if(ch=='&')
+{inp= in;
+outp= out;
+*inp= ch;
+*(++inp)= fgetc(stdin);
+
+if(*inp=='C'&&!feof(stdin))
+{*(++inp)= fgetc(stdin);
+if(*inp=='0'&&!feof(stdin))
+{*(outp++)= 'B';
+*(outp++)= 'g';
+*(outp++)= '5';
+}
+else if(*inp>='1'&&*inp<='7'&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'N';
+*(outp++)= 'S';
+*(outp++)= *inp;
+}
+else if((*inp=='X'||*inp=='Y')&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'E';
+*(outp++)= 'F';
+*(outp++)= *inp;
+}
+else
+goto no_macro;
+}
+else if(*inp=='U'&&!feof(stdin))
+{*(outp++)= 'U';
+*(outp++)= 'T';
+*(outp++)= 'F';
+*(outp++)= '8';
+}
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(*inp!='-'||feof(stdin))
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*outp= '\0';
+
+*(++inp)= fgetc(stdin);
+if(*inp!=';'||feof(stdin))
+goto no_macro;
+
+outp= out;
+fprintf(stdout,"\17772\177");
+while(*outp)
+fputc(*(outp++),stdout);
+
+ch= fgetc(stdin);
+continue;
+
+no_macro:
+ch= *inp;
+i= inp-in;
+inp= in;
+while(i--)
+fputc(*(inp++),stdout);
+continue;
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.w b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.w
new file mode 100644
index 00000000000..b376926e978
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.w
@@ -0,0 +1,224 @@
+% This is the cweb file cefconv.w of the CJK Package Ver. 4.8.0 22-May-2008
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a cefconv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{cefconv (CJK Version 4.8.0)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont cefconv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.0)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998, 2002 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert EUC encoding with CNS encoded Chinese
+characters using the {\it Chinese Encoding Framework (CEF)} into a
+`preprocessed' form, expanding the CEF macros.
+
+Use this program as a filter:
+
+\hskip 2em \.{cefconv < input\_file > output\_file}
+
+
+@* The program.
+In contrast to \.{cef5conv} or \.{cefsconv}, only one task will be executed:
+
+Replacing CEF macros of the form \.{\&xx-yyzz;} (\.{xx} can be C1--C7 for
+the CNS planes 1--7, C0 for Big~5 encoding, an encoding CX reserved for
+IRIZ, a private encoding CY, and U for Unicode encoding; \.{yyzz} is a
+hexadecimal representation of the code point in this plane) with
+\medskip
+\quad\.{\char94 \char94 7f72\char94 \char94 ffXX\char94 \char94 7f%
+\char94 \char94 7f"0yy\char94 \char94 7f"0zz\char94 \char94 7f}\quad.
+\medskip
+\.{XX} is the corresponding CJK encoding of \.{xx}; the number `72'
+specifies a macro in the file \.{MULEenc.sty} which further processes this
+representation -- it is automatically loaded by the \.{CJK} package.
+
+Additionally we define an empty \TeX\ macro at the very beginning to signal
+a preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{cefconv} complains loudly if something is
+wrong.
+
+@d banner
+"cefconv (CJK ver. 4.8.0)"
+
+@c
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(argc, argv)
+ int argc;
+ char *argv[];
+
+ {int ch, i;
+ unsigned char in[16];
+ unsigned char out[32];
+ unsigned char *inp, *outp;
+
+ fprintf(stdout, "\\def\\CNSpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if(ch == '&') /* the macro test is hardcoded to make things simple */
+ {inp = in;
+ outp = out;
+ *inp = ch;
+ *(++inp) = fgetc(stdin);@#
+
+ if(*inp == 'C' && !feof(stdin))
+ {*(++inp) = fgetc(stdin);
+ if(*inp == '0' && !feof(stdin))
+ {*(outp++) = 'B';
+ *(outp++) = 'g';
+ *(outp++) = '5';
+ }
+ else if(*inp >= '1' && *inp <= '7' && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'N';
+ *(outp++) = 'S';
+ *(outp++) = *inp;
+ }
+ else if((*inp == 'X' || *inp == 'Y') && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'E';
+ *(outp++) = 'F';
+ *(outp++) = *inp;
+ }
+ else
+ goto no_macro;
+ }
+ else if(*inp == 'U' && !feof(stdin))
+ {*(outp++) = 'U';
+ *(outp++) = 'T';
+ *(outp++) = 'F';
+ *(outp++) = '8';
+ }
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != '-' || feof(stdin))
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *outp = '\0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != ';' || feof(stdin))
+ goto no_macro;@#
+
+ outp = out;
+ fprintf(stdout, "\17772\177");
+ while(*outp)
+ fputc(*(outp++), stdout);@#
+
+ ch = fgetc(stdin);
+ continue;@#
+
+no_macro:
+ ch = *inp;
+ i = inp - in;
+ inp = in;
+ while(i--)
+ fputc(*(inp++), stdout);
+ continue;
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex
new file mode 100644
index 00000000000..1b110c613c6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cefconv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.bat b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.bat
new file mode 100755
index 00000000000..ba5925a6df3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.bat
@@ -0,0 +1,3 @@
+call f_name %1
+cefconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.cmd b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.cmd
new file mode 100644
index 00000000000..ed43ec94304
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.cmd
@@ -0,0 +1,46 @@
+/*----------------------------------------------------------------------*\
+ ceflatex.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.0
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.0
+
+ Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'cefconv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of ceflatex.cmd */
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefpdflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefpdflatex
new file mode 100644
index 00000000000..706114a8c77
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefpdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] pdflatex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cefconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.1 b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.1
new file mode 100644
index 00000000000..82995a98b6a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.1
@@ -0,0 +1,127 @@
+.\" man page for cefsconv
+.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH CEFSCONV 1 22-May-2008 "CJK Version 4.8.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP
+..
+.\}
+.if n \{\
+.de C
+\\$1
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+cefsconv \- convert a TeX document in SJIS encoding containing CEF macros
+into `preprocessed' form.
+.
+.
+.SH SYNOPSIS
+.B cefsconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+The
+.B Chinese Encoding Framework
+.RB ( CEF )
+developed by Christian Wittern
+.C <cwittern@conline.central.de>
+makes it possible to include CJK characters in various encodings using the
+SGML macros
+.B &CX-aabb;
+for Big\ 5 and CNS encoding and
+.B &U-aabb;
+for Unicode
+.RB ( X
+denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS
+encoding planes 1-7.
+.B aabb
+is either a decimal or hexadecimal number).
+.PP
+.B \%cefsconv
+converts the CEF macros of a SJIS encoded document together with the SJIS
+encoding itself into a form which can directly processed with \*(LE.
+It is identical to
+.IP
+.B sjisconv
+<
+.I infile
+|
+.B cefconv
+>
+.I outfile
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR bg5conv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.c b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.c
new file mode 100644
index 00000000000..bd738d742f4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.c
@@ -0,0 +1,138 @@
+#define banner \
+"cefsconv (CJK ver. 4.8.0)" \
+
+/*2:*/
+#line 108 "/home/wl/git/cjk/cjk-4.8.0/utils/CEFconv/cefsconv.w"
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(argc,argv)
+int argc;
+char*argv[];
+
+{int ch,i;
+unsigned char in[16];
+unsigned char out[32];
+unsigned char*inp,*outp;
+
+fprintf(stdout,"\\def\\CNSpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if((ch>=0x81&&ch<=0x9F)||(ch>=0xE0&&ch<=0xEF))
+{fprintf(stdout,"\177%c\177",ch);
+
+ch= fgetc(stdin);
+if(!feof(stdin))
+fprintf(stdout,"%d\177",ch);
+}
+else if(ch=='&')
+
+{inp= in;
+outp= out;
+*inp= ch;
+*(++inp)= fgetc(stdin);
+
+if(*inp=='C'&&!feof(stdin))
+{*(++inp)= fgetc(stdin);
+if(*inp=='0'&&!feof(stdin))
+{*(outp++)= 'B';
+*(outp++)= 'g';
+*(outp++)= '5';
+}
+else if(*inp>='1'&&*inp<='7'&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'N';
+*(outp++)= 'S';
+*(outp++)= *inp;
+}
+else if((*inp=='X'||*inp=='Y')&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'E';
+*(outp++)= 'F';
+*(outp++)= *inp;
+}
+else
+goto no_macro;
+}
+else if(*inp=='U'&&!feof(stdin))
+{*(outp++)= 'U';
+*(outp++)= 'T';
+*(outp++)= 'F';
+*(outp++)= '8';
+}
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(*inp!='-'||feof(stdin))
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*outp= '\0';
+
+*(++inp)= fgetc(stdin);
+if(*inp!=';'||feof(stdin))
+goto no_macro;
+
+outp= out;
+fprintf(stdout,"\17772\177");
+while(*outp)
+fputc(*(outp++),stdout);
+
+ch= fgetc(stdin);
+continue;
+
+no_macro:
+ch= *inp;
+i= inp-in;
+inp= in;
+while(i--)
+fputc(*(inp++),stdout);
+continue;
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.w b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.w
new file mode 100644
index 00000000000..f1a5629b25e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.w
@@ -0,0 +1,240 @@
+% This is the cweb file cefsconv.w of the CJK Package Ver. 4.8.0 22-May-2008
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a cefsconv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{cefsconv (CJK Version 4.8.0)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont cefsconv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.0)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert SJIS encoding with CNS encoded Chinese
+characters using the {\it Chinese Encoding Framework (CEF)} into a
+`preprocessed' form. The need of this program arises from the fact that
+SJIS encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which
+have special meanings in \TeX.
+
+Use this program as a filter:
+
+\hskip 2em \.{cefsconv < input\_file > output\_file}
+
+
+@* The program.
+In contrast to \.{cefconv} two tasks will be executed:
+
+Replacing all occurrences of two byte SJIS encoded characters \.{XY} with
+\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f} (\.{X} and
+\.{Y} are the first and the second byte of the character; \.{ZZZ} represents
+the second byte as a decimal number).
+
+Replacing CEF macros of the form \.{\&xx-yyzz;} (\.{xx} can be C1--C7 for
+the CNS planes 1--7, C0 for Big~5 encoding, an encoding CX reserved for
+IRIZ, a private encoding CY, and U for Unicode encoding; \.{yyzz} is a
+hexadecimal representation of the code point in this plane) with
+\medskip
+\quad\.{\char94 \char94 7f72\char94 \char94 7fXX\char94 \char94 7f%
+\char94 \char94 7f"0yy\char94 \char94 7f"0zz\char94 \char94 7f}\quad.
+\medskip
+\.{XX} is the corresponding CJK encoding of \.{xx}; the number `72'
+specifies a macro in the file \.{MULEenc.sty} which further processes this
+representation -- it is necessary to explicitly load this file with
+\.{\\usepackage}.
+
+Additionally we define a \TeX\ macro at the very beginning to signal a
+preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{cefsconv} complains loudly if something is
+wrong.
+
+@d banner
+"cefsconv (CJK ver. 4.8.0)"
+
+@c
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(argc, argv)
+ int argc;
+ char *argv[];
+
+ {int ch, i;
+ unsigned char in[16];
+ unsigned char out[32];
+ unsigned char *inp, *outp;
+
+ fprintf(stdout, "\\def\\CNSpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if((ch >= 0x81 && ch <= 0x9F) || (ch >= 0xE0 && ch <= 0xEF))
+ {fprintf(stdout, "\177%c\177", ch);@#
+
+ ch = fgetc(stdin);
+ if(!feof(stdin))
+ fprintf(stdout, "%d\177", ch);
+ }
+ else if(ch == '&')
+ /* the macro test is hardcoded to make things simple */
+ {inp = in;
+ outp = out;
+ *inp = ch;
+ *(++inp) = fgetc(stdin);@#
+
+ if(*inp == 'C' && !feof(stdin))
+ {*(++inp) = fgetc(stdin);
+ if(*inp == '0' && !feof(stdin))
+ {*(outp++) = 'B';
+ *(outp++) = 'g';
+ *(outp++) = '5';
+ }
+ else if(*inp >= '1' && *inp <= '7' && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'N';
+ *(outp++) = 'S';
+ *(outp++) = *inp;
+ }
+ else if((*inp == 'X' || *inp == 'Y') && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'E';
+ *(outp++) = 'F';
+ *(outp++) = *inp;
+ }
+ else
+ goto no_macro;
+ }
+ else if(*inp == 'U' && !feof(stdin))
+ {*(outp++) = 'U';
+ *(outp++) = 'T';
+ *(outp++) = 'F';
+ *(outp++) = '8';
+ }
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != '-' || feof(stdin))
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *outp = '\0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != ';' || feof(stdin))
+ goto no_macro;@#
+
+ outp = out;
+ fprintf(stdout, "\17772\177");
+ while(*outp)
+ fputc(*(outp++), stdout);@#
+
+ ch = fgetc(stdin);
+ continue;@#
+
+no_macro:
+ ch = *inp;
+ i = inp - in;
+ inp = in;
+ while(i--)
+ fputc(*(inp++), stdout);
+ continue;
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefslatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefslatex
new file mode 100644
index 00000000000..db2232d98c6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefslatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cefsconv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.bat b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.bat
new file mode 100755
index 00000000000..662ef9e3af4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.bat
@@ -0,0 +1,3 @@
+call f_name %1
+cefsconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.cmd
new file mode 100644
index 00000000000..896634d414e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.cmd
@@ -0,0 +1,46 @@
+/*----------------------------------------------------------------------*\
+ cefsltx.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.0
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.0
+
+ Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'cefsconv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of cefsltx.cmd */
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefspdflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefspdflatex
new file mode 100644
index 00000000000..bc99498f4af
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefspdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cefsconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.1 b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.1
new file mode 100644
index 00000000000..b0b85d21215
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.1
@@ -0,0 +1,110 @@
+.\" man page for sjisconv
+.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH SJISCONV 1 22-May-2008 "CJK Version 4.8.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+sjisconv \- convert a TeX document in SJIS encoding into `preprocessed'
+form.
+.
+.
+.SH SYNOPSIS
+.B sjisconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+SJIS encoding for Japanese uses the characters
+.C { ,
+.C } ,
+and
+.C \e
+which have special meanings in \*(TX
+documents.
+.PP
+After processing a \*(LE
+document which contains SJIS characters with
+.B \%sjisconv
+you need not care about these special characters.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR bg5conv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.c b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.c
new file mode 100644
index 00000000000..0da8aa3fe78
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.c
@@ -0,0 +1,36 @@
+#define banner \
+"sjisconv (CJK ver. 4.8.0)" \
+
+/*2:*/
+#line 93 "/home/wl/git/cjk/cjk-4.8.0/utils/SJISconv/sjisconv.w"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(argc,argv)
+int argc;
+char*argv[];
+
+{int ch;
+
+fprintf(stdout,"\\def\\CJKpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if((ch>=0x81&&ch<=0x9F)||(ch>=0xE0&&ch<=0xEF))
+{fprintf(stdout,"\177%c\177",ch);
+
+ch= fgetc(stdin);
+if(!feof(stdin))
+fprintf(stdout,"%d\177",ch);
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.w b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.w
new file mode 100644
index 00000000000..d5f55a96f3c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.w
@@ -0,0 +1,123 @@
+% This is the cweb file sjisconv.w of the CJK Package Ver. 4.8.0 22-May-2008
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a sjisconv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{sjisconv (CJK Version 4.8.0)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont sjisconv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.0)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert SJIS encoded Japanese characters into a
+`preprocessed' form. The need of this program arises from the fact that this
+encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which have
+special meanings in \TeX.
+
+Use this program as a filter:
+
+\hskip 2em \.{sjisconv < input\_file > output\_file}
+
+
+@* The program.
+The only function of this program is to replace all occurrences of SJIS
+encoded two byte characters \.{XY} with
+\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f} (\.{X}
+and \.{Y} are the first and the second byte of the character; \.{ZZZ}
+represents the second byte as a decimal number).
+
+Additionally we define a \TeX\ macro at the very beginning to signal a
+preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{sjisconv} complains loudly if something is
+wrong.
+
+@d banner
+"sjisconv (CJK ver. 4.8.0)"
+
+@c
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(argc, argv)
+ int argc;
+ char *argv[];
+
+ {int ch;
+
+ fprintf(stdout, "\\def\\CJKpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if((ch >= 0x81 && ch <= 0x9F) || (ch >= 0xE0 && ch <= 0xEF))
+ {fprintf(stdout, "\177%c\177", ch);@#
+
+ ch = fgetc(stdin);
+ if(!feof(stdin))
+ fprintf(stdout, "%d\177", ch);
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjislatex b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjislatex
new file mode 100644
index 00000000000..d794a7c7f5e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjislatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+sjisconv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.bat b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.bat
new file mode 100755
index 00000000000..5702c113bdf
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.bat
@@ -0,0 +1,3 @@
+call f_name %1
+sjisconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.cmd
new file mode 100644
index 00000000000..6769896fbdb
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.cmd
@@ -0,0 +1,44 @@
+/*----------------------------------------------------------------------*\
+ sjisltx.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.0
+
+ Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'sjisconv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of sjisltx.cmd */
diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjispdflatex b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjispdflatex
new file mode 100644
index 00000000000..50daf343502
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjispdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+sjisconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/cjklatex/cjklatex.c b/Master/texmf-dist/source/latex/cjk/utils/cjklatex/cjklatex.c
new file mode 100644
index 00000000000..6750bd4f4d1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/cjklatex/cjklatex.c
@@ -0,0 +1,290 @@
+/*
+ Purpose: call latex after preprocessing of the .tex file by
+ the cjk conversion tool. The old f_name.bat script
+ is not working anymore.
+ Author : F. Popineau <Fabrice.Popineau@supelec.fr>
+ Date : <29/06/2001>
+*/
+
+/*
+ Copyright (C) 2001-2008 F. Popineau <Fabrice.Popineau@supelec.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <win32lib.h>
+
+#include <kpathsea/config.h>
+#include <kpathsea/lib.h>
+#include <kpathsea/getopt.h>
+
+static char *cjklatex_version_string = "1.0";
+
+static const char *usage_str[] = {
+ "Usage: %s OPTIONS FILE\n",
+ "Calls `latex' on FILE after conversion by the filter\n",
+ "specified by OPTIONS.\n",
+ "--conv=bg5\tfor traditional Chinese, encoding Big 5,\n",
+ "--conv=bg5p\tfor Chinese, encoding Big 5+,\n",
+ "--conv=cef\tfor Chinese Encoding Framework, encoding CEF,\n",
+ "--conv=cef5\tidem CEF, also converts Big5 characters,\n",
+ "--conv=cefs\tidem CEF, also converts SJIS characters,\n",
+ "--conv=sjis\tfor Japanese, SJIS encoding,\n",
+ "--conv=gbk\tfor Chinese, encoding GBK.",
+ "\nAlternatively, for compatibility with the previous DOS batch files,\n",
+ "you can also copy this program to any of the following names:\n",
+ "bg5latex.exe,bg5pltx.exe,cef5ltx.exe,ceflatex.exe,cefsltx.exe,\n",
+ "gbklatex.exe and sjisltx.exe .\n",
+ "Then running one of these programs will be identical to specify\n",
+ "the corresponding option.\n",
+ "\nAdditional options:\n",
+ "--verbose\tbe a bit more verbose about what is happening,\n",
+ "--nocleanup\tdo not remove intermediate files,\n",
+ "--latex=engine\tuse `engine' instead of `latex' to process the file.\n",
+ NULL
+};
+
+static char *progname = NULL;
+
+static struct _conv_table {
+ char *progname;
+ char *processor;
+} CJKtable[] = {
+ { "cjklatex", "" },
+ { "bg5latex", "bg5conv" },
+ { "bg5pltx", "extconv" },
+ { "cef5ltx", "cef5conv" },
+ { "ceflatex", "cefconv" },
+ { "cefsltx", "cefsconv" },
+ { "gbklatex", "extconv" },
+ { "sjisltx", "sjisconv" }
+};
+
+#define PROGRAM_IS(p) FILESTRCASEEQ (p, progname)
+#define ARGUMENT_IS(a) STREQ (long_options[option_index].name, a)
+
+static int program_number = -1;
+static int opt_verbose = 0;
+static int opt_nocleanup = 0;
+static char *texname, *cjkname, *texengine;
+
+static struct option long_options [] = {
+ { "debug", 1, 0, 0},
+ { "help", 0, 0, 0},
+ { "version", 0, 0, 0},
+ { "verbose", 0, 0, 0},
+ { "nocleanup", 0, 0, 0},
+ { "latex", 1, 0, 0},
+ { "conv", 1, 0, 0},
+ {0, 0, 0, 0}
+};
+
+BOOL sigint_handler(DWORD dwCtrlType)
+{
+ /* Fix me : there is a problem if a system() command is running.
+ We should wait for the son process to be interrupted.
+ Only way I can think of to do that : rewrite system() based on
+ spawn() with parsing of the command line and set a global pid
+ Next cwait(pid) in the HandlerRoutine.
+ */
+
+ /* This is not that good, but else we would need to wait for
+ the child processes to finish ! */
+ Sleep(250);
+
+ fprintf(stderr, "Sending Ctrl+Break!\n");
+ GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT, 0);
+
+ if (! opt_nocleanup)
+ unlink(cjkname);
+
+ exit(1);
+
+ return FALSE; /* return value obligatory */
+}
+
+void usage()
+{
+ int i;
+ fprintf(stderr, "CJKlatex version %s\n", cjklatex_version_string);
+ fprintf(stderr,usage_str[0], progname );
+ fputs("\n", stderr);
+ for(i = 1; usage_str[i]; ++i)
+ fputs(usage_str[i], stderr);
+}
+
+int do_process(char *processor, char *filename)
+{
+ char *ext, *p;
+ char cmd[_MAX_PATH*3];
+ DWORD dwFA;
+ int ret;
+
+ if (strlen(filename) > 4 && _strnicmp(filename + strlen(filename) - 4, ".tex", 4) == 0) {
+ texname = xstrdup(filename);
+ }
+ else {
+ texname = concat(filename, ".tex");
+ }
+ for (p = texname; p && *p; p++)
+ *p = (*p == '\\' ? '/' : *p);
+
+ dwFA = GetFileAttributes(texname);
+ if (dwFA == 0xFFFFFFFF || (dwFA & FILE_ATTRIBUTE_DIRECTORY)) {
+ fprintf(stderr, "%s: %s is an invalid input file.\n",
+ progname, texname);
+ ret = 1;
+ }
+ else {
+ cjkname = xstrdup(texname);
+ ext = strrchr(cjkname, '.');
+ assert(ext != NULL);
+ strcpy(cjkname + (ext - cjkname), ".cjk");
+
+ sprintf(cmd, "%s < %s > %s", processor, texname, cjkname);
+ if (opt_verbose)
+ fprintf(stderr, "%s: running command `%s'.\n", progname, cmd);
+ ret = system(cmd);
+ if (ret == 0) {
+ sprintf(cmd, "%s %s", texengine, cjkname);
+ if (opt_verbose)
+ fprintf(stderr, "%s: running command `%s'.\n", progname, cmd);
+ ret = system(cmd);
+ if (! opt_nocleanup)
+ unlink(cjkname);
+ }
+ }
+
+ free(texname);
+ free(cjkname);
+
+ return ret;
+}
+
+void main(int argc, char *argv[])
+{
+ int g; /* getopt return code */
+ int i;
+ int option_index;
+ char *filename;
+
+ if (!progname)
+ progname = argv[0];
+
+ kpse_set_program_name (progname, NULL);
+ progname = kpse_program_name;
+
+ for (i = 0; i < sizeof(CJKtable)/sizeof(CJKtable[0]) && program_number < 0; i++) {
+ if (STREQ(progname, CJKtable[i].progname)
+#if 0
+ || (STREQ(progname, CJKtable[i].progname)
+ && STREQ(progname+strlen(CJKtable[i].progname), ".exe"))
+#endif
+ ) {
+ program_number = i;
+ }
+ }
+
+ if (program_number == -1) {
+ fprintf(stderr, "%s: this program has been incorrecty copied to the name %s.\n", progname, progname);
+ usage();
+ exit(1);
+ }
+
+ for(;;) {
+ g = getopt_long_only (argc, argv, "", long_options, &option_index);
+
+ if (g == EOF)
+ break;
+
+ if (g == '?') {
+ usage(); /* Unknown option. */
+ exit(1);
+ }
+
+ /* assert (g == 0); */ /* We have no short option names. */
+ /*
+ FIXME : try 'mktexpk --mfmode --bdpi 600 ...'
+ */
+ if (ARGUMENT_IS ("debug")) {
+ kpathsea_debug |= atoi (optarg);
+ }
+ else if (ARGUMENT_IS ("help")) {
+ usage();
+ exit(0);
+ }
+ else if (ARGUMENT_IS ("verbose")) {
+ opt_verbose = 1;
+ }
+ else if (ARGUMENT_IS ("nocleanup")) {
+ opt_nocleanup = 1;
+ }
+ else if (ARGUMENT_IS ("latex")) {
+ texengine = xstrdup(optarg);
+ }
+ else if (ARGUMENT_IS ("version")) {
+ fprintf(stderr, "%s of %s.\n", progname, cjklatex_version_string);
+ exit(0);
+ }
+ else if (PROGRAM_IS("cjklatex")) {
+ if (ARGUMENT_IS("conv")) {
+ for (i = 1; i < sizeof(CJKtable)/sizeof(CJKtable[0]) && program_number <= 0; i++) {
+ if (STRNEQ(optarg, CJKtable[i].progname, strlen(optarg))) {
+ program_number = i;
+ }
+ }
+ }
+ }
+ }
+
+ /* shifting options from argv[] list */
+ for (i = 1; optind < argc; i++, optind++)
+ argv[i] = argv[optind];
+ argv[i] = NULL;
+
+ argc = i;
+
+ if (argc < 2) {
+ fprintf (stderr, "%s: Missing argument(s).\nTry `%s --help' for more information.\n", progname, kpse_program_name);
+ exit(1);
+ }
+
+ if (argc > 2) {
+ fprintf(stderr, "%s: Extra arguments", progname);
+ for (i = 2; i < argc; i++)
+ fprintf (stderr, " \"%s\"", argv[i]);
+ fprintf (stderr, "\nTry `%s --help' for more information.\n",
+ kpse_program_name);
+ exit(1);
+ }
+
+ SetConsoleCtrlHandler((PHANDLER_ROUTINE)sigint_handler, TRUE);
+
+ filename = xstrdup(argv[1]);
+
+ assert(program_number > 0);
+
+ if (! texengine) {
+ texengine = xstrdup("latex");
+ }
+
+ do_process(CJKtable[program_number].processor, filename);
+
+ free(filename);
+ free(texengine);
+}
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+latex b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+latex
new file mode 100644
index 00000000000..4136537872e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+latex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+extconv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+pdflatex b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+pdflatex
new file mode 100644
index 00000000000..e28761ef423
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+pdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] pdflatex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+extconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.bat b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.bat
new file mode 100755
index 00000000000..ccc6c76acd5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.bat
@@ -0,0 +1,3 @@
+call f_name %1
+extconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.cmd
new file mode 100644
index 00000000000..e41ecb44a5f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.cmd
@@ -0,0 +1,44 @@
+/*----------------------------------------------------------------------*\
+ bg5pltx.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.0
+
+ Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'extconv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of bg5pltx.cmd */
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.1 b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.1
new file mode 100644
index 00000000000..bcb5f9d92c7
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.1
@@ -0,0 +1,111 @@
+.\" man page for bg5conv
+.\"
+.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH EXTCONV 1 22-May-2008 "CJK Version 4.8.0"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+extconv \- convert a TeX document in either Big\ 5+ or GBK encoding into
+`preprocessed' form.
+.
+.
+.SH SYNOPSIS
+.B extconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+Big\ 5+ and GBK encodings use the characters
+.C { ,
+.C } ,
+and
+.C \e
+which have special meanings in \*(TX
+documents.
+.PP
+After processing a \*(LE
+document which contains such characters with
+.B \%extconv
+you need not care about these special characters.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR bg5conv (1),
+.BR \%sjisconv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.c b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.c
new file mode 100644
index 00000000000..e6c3d60a17a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.c
@@ -0,0 +1,37 @@
+#define banner \
+"extconv (CJK ver. 4.8.0)" \
+
+/*2:*/
+#line 94 "/home/wl/git/cjk/cjk-4.8.0/utils/extconv/extconv.w"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(argc,argv)
+int argc;
+char*argv[];
+
+{int ch;
+
+
+fprintf(stdout,"\\def\\CJKpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if(ch>=0x81&&ch<=0xFE)
+{fprintf(stdout,"\177%c\177",ch);
+
+ch= fgetc(stdin);
+if(!feof(stdin))
+fprintf(stdout,"%d\177",ch);
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.w b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.w
new file mode 100644
index 00000000000..6dd7a19ac03
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.w
@@ -0,0 +1,125 @@
+% This is the cweb file extconv.w of the CJK Package Ver. 4.8.0 22-May-2008
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a extconv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{extconv (CJK Version 4.8.0)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont extconv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.0)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert Big~5+ or GBK encoded Chinese characters
+into a `preprocessed' form. The need of this program arises from the fact
+that these two encodings use the characters `\.{\\}', `\.{\{}', and `\.{\}}'
+which have special meanings in \TeX.
+
+Use this program as a filter:
+
+\hskip 2em \.{extconv < input\_file > output\_file}
+
+
+@* The program.
+The only function of this program is to replace all occurrences of Big~5+
+and GBK encoded characters \.{XY} (\.{X} and \.{Y} are the first and the
+second byte of the character) with
+\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f}, where \.{ZZZ}
+represents the second byte as a decimal number. \.{0x7F} is used as an active
+character and delimiter.
+
+Additionally we define a \TeX\ macro at the very beginning to signal a
+preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{extconv} complains loudly if something is
+wrong.
+
+@d banner
+"extconv (CJK ver. 4.8.0)"
+
+@c
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(argc, argv)
+ int argc;
+ char *argv[];
+
+ {int ch;
+
+
+ fprintf(stdout, "\\def\\CJKpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if(ch >= 0x81 && ch <= 0xFE)
+ {fprintf(stdout, "\177%c\177", ch);@#
+
+ ch = fgetc(stdin);
+ if(!feof(stdin))
+ fprintf(stdout, "%d\177", ch);
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex
new file mode 100644
index 00000000000..4136537872e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+extconv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.bat b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.bat
new file mode 100755
index 00000000000..ccc6c76acd5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.bat
@@ -0,0 +1,3 @@
+call f_name %1
+extconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.cmd b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.cmd
new file mode 100644
index 00000000000..cbe9776de04
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.cmd
@@ -0,0 +1,44 @@
+/*----------------------------------------------------------------------*\
+ gbklatex.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.0
+
+ Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'extconv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of gbklatex.cmd */
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbkpdflatex b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbkpdflatex
new file mode 100644
index 00000000000..e28761ef423
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbkpdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] pdflatex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+extconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/f_name.bat b/Master/texmf-dist/source/latex/cjk/utils/f_name.bat
new file mode 100755
index 00000000000..70e6e69ce9a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/f_name.bat
@@ -0,0 +1,205 @@
+@echo off
+:4dosCheck
+ if "%@eval[2+2]"=="4" loadbtm on
+:Start
+ if [%1]==[] goto Usage
+ if [%1]==[/?] goto Help
+ if [%2]==[] goto InputCheck
+REM
+REM This file is called F_NAME.BAT per default. Call it whatever you like.
+REM
+REM You need enough free environment space for this batch file.
+REM If there's not enough free space, f_name.bat will give you a warning.
+REM
+REM While f_name.bat tries to test your free environment space, you'll
+REM probably need to check your config.sys for the following line:
+REM
+REM SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:1024 /p
+REM
+REM The '/E:1024' sets your environment space - it will probably need to
+REM be 1024 or higher (unless you're really economical with env-space).
+REM
+REM If you are not sure about free space, set fp and fn with long dummy
+REM strings in autoexec.bat to get enough free space, eg.:
+REM
+REM set fp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+REM set fu=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+REM set fn=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+REM set fd=xx
+REM set fe=xxxx
+REM
+REM Using dummy strings is necessary if you're going to execute
+REM f_name.bat from a second command shell, eg. from Norton Commander.
+REM In this case the total length reserved for f_name.bat should be up
+REM to 192 bytes. My suggestion is, let the strings for fp, fu, and fn count
+REM up to 186 bytes (eg. 62 each).
+REM
+REM Some releases of DOS (eg. some beta-releases/pre-releases of DOS 6.0
+REM and some older DOS releases) does not support the batchcommand 'NOT'.
+REM If you're still using such a release you cannot use this batchfile
+REM since it uses this batchcommand.
+REM
+REM Please also note that f_name.bat cannot work properly if filespec is
+REM longer than around 38 (? I don't know the exact length) characters. If
+REM filespec is long, f_name.bat will fail at 'for %%x in ... do if ...'
+REM lines. The result of error is fairly unpredictable as DOS will try to
+REM execute with a truncated batch command line. So, please use the
+REM batch file for short filespecs (< 38??). (On my DOS 6.22 using
+REM strings above 38 chars gives me an endless loop, Claus Futtrup).
+REM
+REM For large batchfiles it is usually an advantage to use a
+REM 'batch-compiler', which will convert the .bat file into a .com or
+REM .exe file. With f_name.bat this could probably speed it up many
+REM times, but it has not been possible to find a batch-compiler, which
+REM will compile this batchfile. The compilers PWR14G.ZIP and
+REM BAT2EX15.ZIP have been tested without success.
+REM
+REM This modified release is more solid when it comes to garbage input, it
+REM is provided with help option, additional documentation and additional
+REM checking for sufficient environment space and now remove the temporary
+REM environment settings (P, Q, R, S, T) at the bottom of the batchfile. The
+REM structure is changed a bit, but the basic still is made by Wonkoo Kim.
+REM
+REM Please do not distribute this file without the above documentation
+REM included in the batch-file. If you change the file please add your
+REM name as a "modifier" as done below + document your changes. We do
+REM not intend to hold a copyright, though. You may use, misuse or abuse
+REM this batchfile as you see fit.
+REM
+REM This file is provided to you on a free basis. The author/modifiers
+REM do not want to be hold responsible to whatever this batchfile is
+REM doing. Use of this batchfile is entirely at your own risk.
+REM
+REM Wonkoo Kim (wkim+@pitt.edu), August 11, 1995
+REM Modified by Claus Futtrup (odie@csek.iprod.auc.dk), August 23. 1995
+REM Modified by Werner Lemberg (wl@gnu.org), Jan. 10. 1996
+REM to run this batch file under 4DOS too (replacing all %%f with %%x
+REM and doubling the speed with the LOADBTM ON command)
+REM Modified by Werner Lemberg (wl@gnu.org), Aug. 31. 1996
+REM to return unix-like paths additionally in the variable %fu%;
+REM the batch file will now parse e.g. \a.b\ correctly as a directory.
+REM
+:Usage
+ echo.
+ echo Usage: %0 filespec
+ echo.
+ echo Returns: fd (drive), fp (path), fu (unix path), fn (name), fe (extension)
+ echo.
+ echo Type %0 /? for additional help
+ echo %0 is made by Wonkoo Kim, modified by C. Futtrup and W. Lemberg.
+ echo.
+ goto END
+:Help
+ cls
+ echo %0 -- extracts the drive, path, name, and ext from file-path-name.
+ echo.
+ echo Return envs: FD (drive), FP (path), FU (unix path), FN (name), FE (ext)
+ echo Temp envs: P, Q, R, S, T
+ echo.
+ echo INPUT FILE fd fp fn fe
+ echo ------------------ --------- --------- --------- ---------
+ echo abc abc
+ echo abc.tex abc .tex
+ echo c:\abc.tex c: \ abc .tex
+ echo c:tmp\abc.tex c: tmp\ abc .tex
+ echo c:\tmp\abc.tex c: \tmp\ abc .tex
+ echo c:tmp\tex\abc.tex c: tmp\tex\ abc .tex
+ echo c:\tmp\tex\abc.tex c: \tmp\tex\ abc .tex
+ echo.
+ echo Please note this file isn't blazing fast + it needs a lot
+ echo of environment space. See comments in %0 for more info.
+ echo.
+ echo Wonkoo Kim (wkim+@pitt.edu), August 11, 1995
+ echo Modified by Claus Futtrup (odie@csek.iprod.auc.dk), August 23. 1995
+ echo Modified by Werner Lemberg (wl@gnu.org), Aug 31. 1996
+ goto END
+:InputCheck
+ for %%x in (%1) do if "%%x"=="%1" goto Okay
+ echo *** ERROR: Please do not use wildcards in input file name.
+ goto END
+:Okay
+ set p=
+ set r=
+ set fp=
+ set fu=
+ set fe=
+ set fn=%1
+ set s=XXXXXXXX%fn%
+ set t=%fn%
+ set s=
+ if [%t%]==[%1] goto GetDrive
+:EnvErr
+ echo *** ERROR: Not enough environment space!
+ echo *** See documentation at top of file '%0'
+ goto END
+:GetDrive
+ for %%x in (/%t%) do set fn=%%x
+ for %%x in (/%t%) do if not [%%x]==[%fn%] set fd=%%x
+ if [%fn%]==[:] goto DriveOnly
+ set t=%fn%
+ for %%x in (/%t%) do set fn=%%x
+ if [:%fn%]==[%t%] goto DriveFound
+ set fd=
+ set fn=%1
+ goto GetPath
+:DriveOnly
+ set fn=
+:DriveFound
+ set fd=%fd%:
+:GetPath
+ set s=%fn%
+:PathLoop
+ set t=%s%
+ for %%x in (/%t%) do set s=%%x
+ set q=
+ for %%x in (/%t%) do if not [%%x]==[%s%] set q=%%x
+ if "\%s%"=="%t%" goto Separator
+ set p=%p%%q%
+ set r=%r%%q%
+ if [%s%]==[%t%] goto PathCheck
+ goto PathLoop
+:Separator
+ set fn=%s%
+ set p=%p%\
+ set r=%r%/
+ set fp=%p%
+ set fu=%r%
+ goto PathLoop
+:PathCheck
+ if [%s%]==[\] goto NoFilename
+ if not [%fn%]==[\] goto GetExt
+ set fp=\
+ set fu=/
+ set fn=
+ goto Done
+:NoFilename
+ set fp=%p%\
+ set fu=%r%/
+ set fn=
+ goto Done
+:GetExt
+ set s=%fn%
+ set fe=%fn%
+ set fn=
+:ExtLoop
+ set t=%fe%
+ for %%x in (/%t%) do set fe=%%x
+ if ".%fe%"=="%t%" goto ExtFound
+ if [%fe%]==[%t%] goto NoExt
+ for %%x in (/%t%) do if not [%%x]==[%fe%] set fn=%fn%%%x
+ goto ExtLoop
+:ExtFound
+ set fe=.%fe%
+ goto Done
+:NoExt
+ if not [%fe%]==[.] set fn=%s%
+ set fe=
+:Done
+ echo DRIVE=%fd% PATH=%fp% UNIX_PATH=%fu% NAME=%fn% EXT=%fe%
+:END
+ set p=
+ set q=
+ set r=
+ set s=
+ set t=
+
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.gnu b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.gnu
new file mode 100644
index 00000000000..5b42acf1604
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.gnu
@@ -0,0 +1,127 @@
+# This file is part of the CJK package Version 4.8.0 (22-May-2008)
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# GNU Makefile for hbf2gf
+
+.PHONY: default all debug documentation clean \
+ do_all
+
+.CAUTIOUS: hbf2gf.c
+
+default:
+ @echo " say "
+ @echo ". "
+ @echo " make TARGET OS=SYSTEM "
+ @echo ". "
+ @echo " SYSTEM can be one of the following: "
+ @echo ". "
+ @echo " os2 bound (emx) "
+ @echo " dos (djgpp) "
+ @echo ". "
+ @echo " TARGET can be one of the following: "
+ @echo ". "
+ @echo " all debug "
+ @echo " documentation (needs cweave package)"
+ @echo " clean "
+
+ifdef OS
+
+ # default values (bound executables built with emx)
+ FS = msdos
+ CC = gcc -Wall -O -DHAVE_EMTEXDIR
+ LIB =
+ O = .o
+ EXE = .exe
+ RM = del
+
+ ifeq ($(OS),os2)
+ FS = msdos
+ CC = gcc -Wall -Zomf -Zmtd -O -DHAVE_EMTEXDIR
+ LIB = hbf2gf.def
+ O = .obj
+ EXE = .exe
+ RM = del
+ endif
+
+ ifeq ($(OS),dos)
+ FS = msdos
+ CC = gcc -Wall -O -DHAVE_EMTEXDIR
+ LIB =
+ O = .o
+ EXE = .exe
+ RM = del
+ endif
+
+
+ %$O: %.c
+ $(CC) $(CFLAGS) -c -D$(FS) -o $@ $<
+
+ %.c: %.w %.ch
+ $(CTANGLE) $^ $@
+ %.c: %.w
+ $(CTANGLE) $<
+
+ %.tex: %.w %.ch
+ $(CWEAVE) +ai $^ $@
+ %.tex: %.w
+ $(CWEAVE) +ai $<
+
+ %.dvi: %.tex
+ $(TEX) $*
+
+
+ all:
+ $(MAKE) -f Makefile.gnu do_all CFLAGS=-s
+
+ debug:
+ $(MAKE) -f Makefile.gnu do_all CFLAGS=-g
+
+ # this builds the .dvi-file
+ documentation: hbf2gf.dvi
+
+ # remove the unnecessary files;
+ clean:
+ -$(RM) *.scn
+ -$(RM) *.toc
+ -$(RM) *.idx
+ -$(RM) *.log
+ -$(RM) *.o
+
+
+ do_all: hbf2gf$(EXE)
+
+ hbf2gf$(EXE): hbf2gf$O hbf$O emdir$O emtexdir$O
+ ifeq ($(OS),dos)
+ $(CC) $(CFLAGS) -o $(basename $@) $^
+ strip $(basename $@)
+ coff2exe $(basename $@)
+ -del $(basename $@)
+ else
+ $(CC) $(CFLAGS) -o $@ $^ $(LIB)
+ endif
+
+ hbf$O: hbf.c hbf.h
+ emdir$O: emdir.c emdir.h
+ emtexdir$O: emtexdir.c emtexdir.h emdir.h
+
+else # ifdef OS
+
+ all debug documentation clean: default
+
+endif
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.in b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.in
new file mode 100644
index 00000000000..ece2f79c89a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.in
@@ -0,0 +1,127 @@
+# Makefile for hbf2gf -- wl@gnu.org
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+VPATH = @srcdir@
+srcdir = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+libdir = @libdir@
+bindir = @bindir@
+mandir = @mandir@
+
+RM = @RM@
+RMF = @RM@ -f
+
+TEX = tex
+CTANGLE = ctangle
+CWEAVE = cweave
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+
+CC = @CC@
+CPP = @CPP@
+
+MKINSTALLDIRS = $(srcdir)/mkinstalldirs
+
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@ @DEFS@ @no_strdup@ -Dunix
+MY_CFLAGS = $(CFLAGS) $(CPPFLAGS) @XX_CFLAGS@
+LDFLAGS = @LDFLAGS@ @LIBS@
+
+SRC = hbf2gf.c $(srcdir)/hbf.c
+OBJ = hbf2gf.o hbf.o
+
+
+.SUFFIXES: .dvi .tex .w
+
+
+.w.c:
+ $(CTANGLE) $<
+.c.o:
+ $(CC) -c $(MY_CFLAGS) $<
+
+.w.tex:
+ $(CWEAVE) +ai $<
+
+.tex.dvi:
+ $(TEX) $<
+
+
+
+PROGRAMS = hbf2gf
+
+default all: $(PROGRAMS)
+
+hbf2gf.c: $(srcdir)/hbf2gf.w
+
+hbf2gf: $(OBJ)
+ $(CC) $(MY_CFLAGS) -o hbf2gf $(OBJ) $(LDFLAGS)
+
+documentation: hbf2gf.dvi
+
+install: $(PROGRAMS)
+ $(MKINSTALLDIRS) $(bindir) $(mandir)/man1
+ for P in $(PROGRAMS) ; do \
+ $(INSTALL_PROGRAM) $$P $(bindir)/$$P ; \
+ $(INSTALL_DATA) $(srcdir)/$$P.1 $(mandir)/man1 ; \
+ done
+
+uninstall:
+ -for P in $(PROGRAMS) ; do \
+ $(RMF) $(bindir)/$$P ; \
+ $(RMF) $(mandir)/man1/$$P.1 ; \
+ done
+
+clean: do_clean
+
+distclean: do_clean
+ -$(RMF) dep.end $(PROGRAMS) *.dvi
+ -$(RMF) *~ *.orig core *.core
+ -$(RMF) config.cache config.log config.status Makefile
+
+do_clean:
+ -$(RMF) *.o
+ -$(RMF) *.scn *.toc *.idx *.log
+
+maintainer-clean: distclean
+ -$(RMF) hbf2gf.c
+
+depend: $(SRC)
+ (echo '/^#.* PUT NO STUFF BELOW/,$$d'; echo w; echo q) | \
+ ed - Makefile
+ echo '# Dependencies generated by make depend: PUT NO STUFF BELOW' \
+ >> Makefile
+ for file in $(SRC) ; do \
+ $(CPP) $(CPPFLAGS) $$file | \
+ sed -n -e 's|^# [1-9][0-9]* "\([^/].*\.h\)".*|\1|p' \
+ -e 's|^# [1-9][0-9]* "\($(srcdir)/.*\.h\)".*|\1|p' | \
+ sed -e 's|/\./|.|g' -e "s/^/`basename $$file .c`.o: /" ; \
+ done | \
+ sort -u | \
+ awk '{ if (LINE == 1) \
+ { line = last = $$1 } \
+ else if ($$1 != last) \
+ { print line ; line = last = $$1 } \
+ line = line " " $$2 } \
+ END { print line }' >> Makefile
+
+# Dependencies generated by make depend: PUT NO STUFF BELOW
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/README b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/README
new file mode 100644
index 00000000000..a7de0ec1402
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/README
@@ -0,0 +1,2 @@
+Additional installation documentation can be found in the files `INSTALL'
+(in the top directory) and `doc/hbf2gf.txt'.
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/c-auto.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/c-auto.h
new file mode 100644
index 00000000000..7554af22494
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/c-auto.h
@@ -0,0 +1,39 @@
+/*
+ * c-auto.h
+ *
+ * This file is part of the CJK package ver 4.8.0 22-May-2008
+ *
+ */
+
+/*
+ Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+ */
+
+#ifndef C_AUTO_H
+#define C_AUTO_H
+
+/*
+ * We need to get kpathsea's configuration file.
+ */
+
+#include "kpathsea/c-auto.h"
+
+#endif /* C_AUTO_H */
+
+
+/* end */
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/README b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/README
new file mode 100644
index 00000000000..689d59e7397
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/README
@@ -0,0 +1,10 @@
+In this directory you find some hbf2gf configuration files for common CJK
+bitmap fonts.
+
+No paths are specified for the HBF files -- under web2c you should add the
+path for these fonts to the `MISCFONTS' variable in texmf.cnf; under emTeX
+you should set the environment variable `HBFONTS'.
+
+The font paths used here in the config files of this directory are TDS
+compliant; only the `HBF_TARGET' environment variable is used (an example
+would be `set HBF_TARGET=/usr/local/TeX/texmf/fonts').
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg
new file mode 100644
index 00000000000..f5c142f0235
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header ntukai48.hbf
+mag_x 1
+threshold 128
+comment Big 5 normal 48x48 pixel font scaled and adapted to 12pt
+
+design_size 12
+
+x_offset 2
+y_offset -12
+
+nmb_files -1
+
+output_name b5ka12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme Big 5 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/ntu/b5ka12/
+tfm_directory $HBF_TARGET/tfm/ntu/b5ka12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg
new file mode 100644
index 00000000000..9d9da2c1a2f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg
@@ -0,0 +1,30 @@
+
+hbf_header ntukai48.hbf
+mag_x 1
+threshold 128
+comment Big 5 normal 48x48 pixel font rotated, scaled and adapted to 12pt
+
+design_size 12
+
+x_offset 2
+y_offset -10
+
+rotation yes
+
+nmb_files -1
+
+output_name b5kr12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme Big 5 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/ntu/b5kr12/
+tfm_directory $HBF_TARGET/tfm/ntu/b5kr12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg
new file mode 100644
index 00000000000..dc0bcd9fbf0
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg
@@ -0,0 +1,31 @@
+
+hbf_header et24.hbf
+mag_x 2.076
+threshold 128
+comment fanti songti 24x24 pixel font magnified and adapted for 12pt
+
+design_size 12.0
+
+x_offset 3
+y_offset -8
+
+nmb_files -1
+
+output_name b5so12
+
+checksum 123456789
+
+dpi_x 300
+
+tfm_files yes
+pk_files no
+
+coding codingscheme Big 5 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/eten/b5so12/
+tfm_directory $HBF_TARGET/tfm/eten/b5so12/
+
+ rm_command del
+ cp_command copy
+ long_extension no
+ job_extension .cmd
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg
new file mode 100644
index 00000000000..de5b32b3efc
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-1.hbf
+mag_x 1
+threshold 128
+comment CNS plane 1 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c1so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 1 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c1so12/
+tfm_directory $HBF_TARGET/tfm/cns/c1so12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg
new file mode 100644
index 00000000000..969af8fae14
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-2.hbf
+mag_x 1
+threshold 128
+comment CNS plane 2 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c2so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 2 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c2so12/
+tfm_directory $HBF_TARGET/tfm/cns/c2so12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg
new file mode 100644
index 00000000000..0e65768ee5e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-3.hbf
+mag_x 1
+threshold 128
+comment CNS plane 3 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c3so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 3 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c3so12/
+tfm_directory $HBF_TARGET/tfm/cns/c3so12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg
new file mode 100644
index 00000000000..8ea3a8b270c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-4.hbf
+mag_x 1
+threshold 128
+comment CNS plane 4 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c4so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 4 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c4so12/
+tfm_directory $HBF_TARGET/tfm/cns/c4so12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg
new file mode 100644
index 00000000000..1b81c90a0d3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-5.hbf
+mag_x 1
+threshold 128
+comment CNS plane 5 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c5so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 5 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c5so12/
+tfm_directory $HBF_TARGET/tfm/cns/c5so12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg
new file mode 100644
index 00000000000..5b9c912ce53
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-6.hbf
+mag_x 1
+threshold 128
+comment CNS plane 6 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c6so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 6 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c6so12/
+tfm_directory $HBF_TARGET/tfm/cns/c6so12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg
new file mode 100644
index 00000000000..051b2601426
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-7.hbf
+mag_x 1
+threshold 128
+comment CNS plane 7 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c7so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 7 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c7so12/
+tfm_directory $HBF_TARGET/tfm/cns/c7so12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg
new file mode 100644
index 00000000000..9ad91b0c574
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-b5.hbf
+mag_x 1
+threshold 128
+comment CNS song 40x40 pixel font (Bg5 encoded) scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name csso12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme Big 5 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/csso12/
+tfm_directory $HBF_TARGET/tfm/cns/csso12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg
new file mode 100644
index 00000000000..4b397aca464
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg
@@ -0,0 +1,27 @@
+
+hbf_header jfs56.hbf
+mag_x 1
+threshold 128
+comment jianti fansongti 56x56 pixel font scaled and adapted to 14.4pt
+
+design_size 14.4
+
+y_offset -13
+
+nmb_files -1
+
+output_name gsfs14
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme GuoBiao encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/ccdos/gsfs14/
+tfm_directory $HBF_TARGET/tfm/ccdos/gsfs14/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg
new file mode 100644
index 00000000000..7e0d70b5c0f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg
@@ -0,0 +1,30 @@
+
+hbf_header jisksp40.hbf
+mag_x 1.0
+threshold 128
+comment supplemental kanji normal 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12
+
+min_char 0x2121
+
+x_offset 2
+y_offset -7
+
+nmb_files -1
+
+output_name j2so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme JIS2 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/jisx0212/j2so12/
+tfm_directory $HBF_TARGET/tfm/jisx0212/j2so12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg
new file mode 100644
index 00000000000..9bdfc7b1e8a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header kanji48.hbf
+mag_x 0.83
+threshold 128
+comment kanji normal 48x48 pixel font scaled and adapted to 12pt
+
+design_size 12
+
+x_offset 2
+y_offset -7
+
+nmb_files -1
+
+output_name jsso12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme JIS encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/jisx0208/jsso12/
+tfm_directory $HBF_TARGET/tfm/jisx0208/jsso12/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg
new file mode 100644
index 00000000000..c82f7e7eee4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg
@@ -0,0 +1,27 @@
+
+hbf_header hanja65.hbf
+mag_x 1
+threshold 128
+comment hanja normal 65x65 pixel font scaled and adapted to 17.28pt
+
+design_size 17.28
+
+y_offset -16
+
+nmb_files -1
+
+output_name ksso17
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme KS encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/ksc5601/ksso17/
+tfm_directory $HBF_TARGET/tfm/ksc5601/ksso17/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.guess b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.guess
new file mode 100644
index 00000000000..c7607c74f1b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.guess
@@ -0,0 +1,1526 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
+
+timestamp='2008-04-14'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep __ELF__ >/dev/null
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[456])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep __LP64__ >/dev/null
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:[3456]*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T | authenticamd)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips
+ #undef mipsel
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=mipsel
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=mips
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips64
+ #undef mips64el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=mips64el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=mips64
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us. cd to the root directory to prevent
+ # problems with other programs or directories called `ld' in the path.
+ # Set LC_ALL=C to ensure ld outputs messages in English.
+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+ | sed -ne '/supported targets:/!d
+ s/[ ][ ]*/ /g
+ s/.*supported targets: *//
+ s/ .*//
+ p'`
+ case "$ld_supported_targets" in
+ elf32-i386)
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+ ;;
+ a.out-i386-linux)
+ echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+ exit ;;
+ "")
+ # Either a pre-BFD a.out linker (linux-gnuoldld) or
+ # one that does not give us useful --help.
+ echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+ exit ;;
+ esac
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <features.h>
+ #ifdef __ELF__
+ # ifdef __GLIBC__
+ # if __GLIBC__ >= 2
+ LIBC=gnu
+ # else
+ LIBC=gnulibc1
+ # endif
+ # else
+ LIBC=gnulibc1
+ # endif
+ #else
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+ LIBC=gnu
+ #else
+ LIBC=gnuaout
+ #endif
+ #endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^LIBC/{
+ s: ::g
+ p
+ }'`"
+ test x"${LIBC}" != x && {
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit
+ }
+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+ ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i386.
+ echo i386-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.sub b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.sub
new file mode 100644
index 00000000000..63bfff03070
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.sub
@@ -0,0 +1,1669 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
+
+timestamp='2008-04-14'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray)
+ os=
+ basic_machine=$1
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | mt \
+ | msp430 \
+ | nios | nios2 \
+ | ns16k | ns32k \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ | tron-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure
new file mode 100644
index 00000000000..8135890028e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure
@@ -0,0 +1,5741 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.62.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ case $as_dir in
+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell bug-autoconf@gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="hbf.h"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+target
+target_cpu
+target_vendor
+target_os
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+CPP
+GREP
+EGREP
+XX_CFLAGS
+no_strdup
+RM
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+with_kpathsea_include
+with_kpathsea_lib
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { $as_echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+ --target=TARGET configure for building compilers for TARGET [HOST]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+ cat <<\_ACEOF
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-kpathsea-include=DIR
+ location of the kpathsea include dir
+ --with-kpathsea-lib=DIR
+ location of the kpathsea lib dir
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.62
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.62. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test -r "$ac_site_file"; then
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking target system type" >&5
+$as_echo_n "checking target system type... " >&6; }
+if test "${ac_cv_target+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$target_alias" = x; then
+ ac_cv_target=$ac_cv_host
+else
+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5
+$as_echo "$ac_cv_target" >&6; }
+case $ac_cv_target in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5
+$as_echo "$as_me: error: invalid value of canonical target" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+target=$ac_cv_target
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_target
+shift
+target_cpu=$1
+target_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+target_os=$*
+IFS=$ac_save_IFS
+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
+
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+test -n "$target_alias" &&
+ test "$program_prefix$program_suffix$program_transform_name" = \
+ NONENONEs,x,x, &&
+ program_prefix=${target_alias}-
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+if test -z "$ac_file"; then
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+
+
+# Check whether --with-kpathsea-include was given.
+if test "${with_kpathsea_include+set}" = set; then
+ withval=$with_kpathsea_include;
+ if test x$withval = xyes; then
+ { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-include=includedir" >&5
+$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-include=includedir" >&2;}
+ else
+ if test x$withval = xno; then
+ { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-include=includedir" >&5
+$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-include=includedir" >&2;}
+ else
+ kpathsea_include=$withval
+ fi
+ fi
+
+fi
+
+
+
+
+# Check whether --with-kpathsea-lib was given.
+if test "${with_kpathsea_lib+set}" = set; then
+ withval=$with_kpathsea_lib;
+ if test x$withval = xyes; then
+ { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-lib=libdir" >&5
+$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-lib=libdir" >&2;}
+ else
+ if test x$withval = xno; then
+ { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-lib=libdir" >&5
+$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-lib=libdir" >&2;}
+ else
+ kpathsea_lib=$withval
+ fi
+ fi
+
+fi
+
+
+
+if test -n "$kpathsea_include" -o -n "$kpathsea_lib"; then
+ LIBS="$LIBS -L$kpathsea_lib"
+ CPPFLAGS="$CPPFLAGS -I$kpathsea_include -I$srcdir"
+
+
+{ $as_echo "$as_me:$LINENO: checking for kpse_set_program_name in -lkpathsea" >&5
+$as_echo_n "checking for kpse_set_program_name in -lkpathsea... " >&6; }
+if test "${ac_cv_lib_kpathsea_kpse_set_program_name+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lkpathsea $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char kpse_set_program_name ();
+int
+main ()
+{
+return kpse_set_program_name ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_kpathsea_kpse_set_program_name=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_kpathsea_kpse_set_program_name=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_kpathsea_kpse_set_program_name" >&5
+$as_echo "$ac_cv_lib_kpathsea_kpse_set_program_name" >&6; }
+if test $ac_cv_lib_kpathsea_kpse_set_program_name = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBKPATHSEA 1
+_ACEOF
+
+ LIBS="-lkpathsea $LIBS"
+
+else
+ cat >>confdefs.h <<\_ACEOF
+#define OLD_KPATHSEA 1
+_ACEOF
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for kpse_init_prog in -lkpathsea" >&5
+$as_echo_n "checking for kpse_init_prog in -lkpathsea... " >&6; }
+if test "${ac_cv_lib_kpathsea_kpse_init_prog+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lkpathsea $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char kpse_init_prog ();
+int
+main ()
+{
+return kpse_init_prog ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_kpathsea_kpse_init_prog=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_kpathsea_kpse_init_prog=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_kpathsea_kpse_init_prog" >&5
+$as_echo "$ac_cv_lib_kpathsea_kpse_init_prog" >&6; }
+if test $ac_cv_lib_kpathsea_kpse_init_prog = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBKPATHSEA 1
+_ACEOF
+
+ LIBS="-lkpathsea $LIBS"
+
+else
+
+ { { $as_echo "$as_me:$LINENO: error: Can't find kpathsea library! Use --with-kpathsea-lib option." >&5
+$as_echo "$as_me: error: Can't find kpathsea library! Use --with-kpathsea-lib option." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+ # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+if test "${ac_cv_header_kpathsea_kpathsea_h+set}" = set; then
+ { $as_echo "$as_me:$LINENO: checking for kpathsea/kpathsea.h" >&5
+$as_echo_n "checking for kpathsea/kpathsea.h... " >&6; }
+if test "${ac_cv_header_kpathsea_kpathsea_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_kpathsea_h" >&5
+$as_echo "$ac_cv_header_kpathsea_kpathsea_h" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking kpathsea/kpathsea.h usability" >&5
+$as_echo_n "checking kpathsea/kpathsea.h usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <kpathsea/kpathsea.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking kpathsea/kpathsea.h presence" >&5
+$as_echo_n "checking kpathsea/kpathsea.h presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <kpathsea/kpathsea.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for kpathsea/kpathsea.h" >&5
+$as_echo_n "checking for kpathsea/kpathsea.h... " >&6; }
+if test "${ac_cv_header_kpathsea_kpathsea_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_header_kpathsea_kpathsea_h=$ac_header_preproc
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_kpathsea_h" >&5
+$as_echo "$ac_cv_header_kpathsea_kpathsea_h" >&6; }
+
+fi
+if test $ac_cv_header_kpathsea_kpathsea_h = yes; then
+ :
+else
+ cat >>confdefs.h <<\_ACEOF
+#define VERY_OLD_KPATHSEA 1
+_ACEOF
+
+fi
+
+
+
+ if test "${ac_cv_header_kpathsea_c_auto_h+set}" = set; then
+ { $as_echo "$as_me:$LINENO: checking for kpathsea/c-auto.h" >&5
+$as_echo_n "checking for kpathsea/c-auto.h... " >&6; }
+if test "${ac_cv_header_kpathsea_c_auto_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_c_auto_h" >&5
+$as_echo "$ac_cv_header_kpathsea_c_auto_h" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking kpathsea/c-auto.h usability" >&5
+$as_echo_n "checking kpathsea/c-auto.h usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <kpathsea/c-auto.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking kpathsea/c-auto.h presence" >&5
+$as_echo_n "checking kpathsea/c-auto.h presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <kpathsea/c-auto.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: kpathsea/c-auto.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: kpathsea/c-auto.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: kpathsea/c-auto.h: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: kpathsea/c-auto.h: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: kpathsea/c-auto.h: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: kpathsea/c-auto.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: kpathsea/c-auto.h: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: kpathsea/c-auto.h: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for kpathsea/c-auto.h" >&5
+$as_echo_n "checking for kpathsea/c-auto.h... " >&6; }
+if test "${ac_cv_header_kpathsea_c_auto_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_header_kpathsea_c_auto_h=$ac_header_preproc
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_c_auto_h" >&5
+$as_echo "$ac_cv_header_kpathsea_c_auto_h" >&6; }
+
+fi
+if test $ac_cv_header_kpathsea_c_auto_h = yes; then
+ :
+else
+
+ { { $as_echo "$as_me:$LINENO: error: Can't find kpathsea include files! Use --with-kpathsea-include option." >&5
+$as_echo "$as_me: error: Can't find kpathsea include files! Use --with-kpathsea-include option." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+else
+ CPPFLAGS="$CPPFLAGS -I$srcdir"
+fi
+
+
+if test "x$CC" = xgcc; then
+ XX_CFLAGS="-Wall"
+else
+ case "$host" in
+ alpha-dec-osf*)
+ XX_CFLAGS="-std1 -O2 -g3"
+ ;;
+ *)
+ XX_CFLAGS=
+ ;;
+ esac
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if test "${ac_cv_c_const+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+ /* Ultrix mips cc rejects this. */
+ typedef int charset[2];
+ const charset cs;
+ /* SunOS 4.1.1 cc rejects this. */
+ char const *const *pcpcc;
+ char **ppc;
+ /* NEC SVR4.0.2 mips cc rejects this. */
+ struct point {int x, y;};
+ static struct point const zero = {0,0};
+ /* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in
+ an arm of an if-expression whose if-part is not a constant
+ expression */
+ const char *g = "string";
+ pcpcc = &g + (g ? g-g : 0);
+ /* HPUX 7.0 cc rejects these. */
+ ++pcpcc;
+ ppc = (char**) pcpcc;
+ pcpcc = (char const *const *) ppc;
+ { /* SCO 3.2v4 cc rejects this. */
+ char *t;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+ if (s) return 0;
+ }
+ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
+ }
+ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
+ }
+ { /* AIX XL C 1.02.0.0 rejects this saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; };
+ struct s *b; b->j = 5;
+ }
+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+ if (!foo) return 0;
+ }
+ return !cs[0] && !zero.x;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_c_const=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_c_const=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+cat >>confdefs.h <<\_ACEOF
+#define const /**/
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5
+$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
+if test "${ac_cv_struct_tm+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <time.h>
+
+int
+main ()
+{
+struct tm tm;
+ int *p = &tm.tm_sec;
+ return !p;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_struct_tm=time.h
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_struct_tm=sys/time.h
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5
+$as_echo "$ac_cv_struct_tm" >&6; }
+if test $ac_cv_struct_tm = sys/time.h; then
+
+cat >>confdefs.h <<\_ACEOF
+#define TM_IN_SYS_TIME 1
+_ACEOF
+
+fi
+
+
+
+
+for ac_func in vprintf
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+{ $as_echo "$as_me:$LINENO: checking for _doprnt" >&5
+$as_echo_n "checking for _doprnt... " >&6; }
+if test "${ac_cv_func__doprnt+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define _doprnt innocuous__doprnt
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char _doprnt (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef _doprnt
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char _doprnt ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub__doprnt || defined __stub____doprnt
+choke me
+#endif
+
+int
+main ()
+{
+return _doprnt ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func__doprnt=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func__doprnt=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
+$as_echo "$ac_cv_func__doprnt" >&6; }
+if test $ac_cv_func__doprnt = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_DOPRNT 1
+_ACEOF
+
+fi
+
+fi
+done
+
+
+
+
+
+
+for ac_func in strdup strstr strtol strtoul
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+if test "x$ac_cv_func_strdup" = xno; then
+ no_strdup=-DNO_STRDUP
+fi
+
+
+# Extract the first word of "rm", so it can be a program name with args.
+set dummy rm; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RM+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RM"; then
+ ac_cv_prog_RM="$RM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RM="rm"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RM=$ac_cv_prog_RM
+if test -n "$RM"; then
+ { $as_echo "$as_me:$LINENO: result: $RM" >&5
+$as_echo "$RM" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+if test -z "$kpathsea_include" -a -z "$kpathsea_lib"; then
+ { $as_echo "$as_me:$LINENO: WARNING:
+
+ hbf2gf will be compiled without file search library support!
+ For kpathsea support use the --with-kpathsea-lib and
+ --with-kpathsea-include options.
+ " >&5
+$as_echo "$as_me: WARNING:
+
+ hbf2gf will be compiled without file search library support!
+ For kpathsea support use the --with-kpathsea-lib and
+ --with-kpathsea-include options.
+ " >&2;}
+fi
+
+ac_config_files="$ac_config_files Makefile"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ else
+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+:mline
+/\\$/{
+ N
+ s,\\\n,,
+ b mline
+}
+t clear
+:clear
+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+ g
+ s/^\n//
+ s/\n/ /g
+ p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.62. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.62,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h | --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { $as_echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+
+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} ||
+{
+ $as_echo "$as_me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=' '
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+ { (exit 1); exit 1; }; }
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+
+eval set X " :F $CONFIG_FILES "
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ ac_file_inputs="$ac_file_inputs '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+
+
+
+ esac
+
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure.ac b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure.ac
new file mode 100644
index 00000000000..69f791a7d41
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure.ac
@@ -0,0 +1,131 @@
+dnl This file is part of the CJK package ver. 4.8.0
+
+dnl Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program in doc/COPYING; if not, write to the Free
+dnl Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+dnl MA 02110-1301 USA
+
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT
+AC_CONFIG_SRCDIR([hbf.h])
+
+
+dnl check host
+AC_CANONICAL_TARGET([])
+
+
+dnl Checks for programs.
+AC_PROG_CC
+
+
+dnl Checks for header files.
+AC_HEADER_STDC
+
+AC_ARG_WITH(kpathsea-include,
+ [ --with-kpathsea-include=DIR
+ location of the kpathsea include dir],[
+ if test x$withval = xyes; then
+ AC_MSG_WARN(Usage is: --with-kpathsea-include=includedir)
+ else
+ if test x$withval = xno; then
+ AC_MSG_WARN(Usage is: --with-kpathsea-include=includedir)
+ else
+ kpathsea_include=$withval
+ fi
+ fi
+])
+
+
+dnl Checks for libraries.
+AC_ARG_WITH(kpathsea-lib,
+ [ --with-kpathsea-lib=DIR
+ location of the kpathsea lib dir],[
+ if test x$withval = xyes; then
+ AC_MSG_WARN(Usage is: --with-kpathsea-lib=libdir)
+ else
+ if test x$withval = xno; then
+ AC_MSG_WARN(Usage is: --with-kpathsea-lib=libdir)
+ else
+ kpathsea_lib=$withval
+ fi
+ fi
+])
+
+
+if test -n "$kpathsea_include" -o -n "$kpathsea_lib"; then
+ LIBS="$LIBS -L$kpathsea_lib"
+ CPPFLAGS="$CPPFLAGS -I$kpathsea_include -I$srcdir"
+
+ dnl the function kpse_set_program_name() is available since kpathsea 3.2
+ AC_CHECK_LIB(kpathsea, kpse_set_program_name, , AC_DEFINE(OLD_KPATHSEA))
+
+ AC_CHECK_LIB(kpathsea, kpse_init_prog, ,[
+ AC_MSG_ERROR([Can't find kpathsea library! Use --with-kpathsea-lib option.])])
+
+ dnl the header file kpathsea.h doesn't exist in kpathsea 2.6 and before
+ AC_CHECK_HEADER(kpathsea/kpathsea.h, , AC_DEFINE(VERY_OLD_KPATHSEA))
+
+ AC_CHECK_HEADER(kpathsea/c-auto.h, ,[
+ AC_MSG_ERROR([Can't find kpathsea include files! Use --with-kpathsea-include option.])])
+else
+ CPPFLAGS="$CPPFLAGS -I$srcdir"
+fi
+
+
+dnl Get compiler flags right.
+if test "x$CC" = xgcc; then
+ XX_CFLAGS="-Wall"
+else
+ case "$host" in
+ alpha-dec-osf*)
+ XX_CFLAGS="-std1 -O2 -g3"
+ ;;
+ *)
+ XX_CFLAGS=
+ ;;
+ esac
+fi
+AC_SUBST(XX_CFLAGS)
+
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_STRUCT_TM
+
+
+dnl Checks for library functions.
+AC_FUNC_VPRINTF
+AC_CHECK_FUNCS(strdup strstr strtol strtoul)
+
+dnl we need this for hbf.c
+if test "x$ac_cv_func_strdup" = xno; then
+ no_strdup=-DNO_STRDUP
+fi
+AC_SUBST(no_strdup)
+
+AC_CHECK_PROG(RM, rm, rm)
+AC_PROG_INSTALL
+
+if test -z "$kpathsea_include" -a -z "$kpathsea_lib"; then
+ AC_MSG_WARN([
+
+ hbf2gf will be compiled without file search library support!
+ For kpathsea support use the --with-kpathsea-lib and
+ --with-kpathsea-include options.
+ ])
+fi
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/dvidrv.btm b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/dvidrv.btm
new file mode 100644
index 00000000000..daeba96f01c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/dvidrv.btm
@@ -0,0 +1,352 @@
+setdos /y1
+::
+:: Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+::
+:: This program is free software; you can redistribute it and/or modify
+:: it under the terms of the GNU General Public License as published by
+:: the Free Software Foundation; either version 2 of the License, or
+:: (at your option) any later version.
+::
+:: This program is distributed in the hope that it will be useful,
+:: but WITHOUT ANY WARRANTY; without even the implied warranty of
+:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+:: GNU General Public License for more details.
+::
+:: You should have received a copy of the GNU General Public License
+:: along with this program in doc/COPYING; if not, write to the Free
+:: Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+:: MA 02110-1301 USA
+::
+::
+:: This is dvidrv.btm, a batch file for 4DOS/4OS2 written by
+:: Werner Lemberg <wl@gnu.org> partially based on the
+:: dvidrv.btm file of the 4allTeX package written by Phons Bloemen.
+::
+:: It is a replacement for dvidrv.exe of the emTeX package.
+::
+:: Additional features: support of ps2pk
+:: support of ttf2pk
+:: support of hbf2gf for HBFs (Hanzi bitmap fonts)
+::
+:: Only quadratic printer modes are supported for ttf2pk!
+::
+:: All needed binaries will be searched in the path.
+
+iff %# lt 2 then
+ echo ``
+ echo Usage: %0 dvi-driver dvi-file [parameters]
+ quit
+endiff
+
+setlocal
+ :: we set a default value only if the corresponding environment variable
+ :: is empty. The `=' must follow the variable name immediately.
+ alias set_def `iff "%[%@word["=",0,%1]]" eq "" then %+ set %& %+ endiff`
+
+ :: =========================================
+ :: ======== User defined variables. ========
+ :: =========================================
+ ::
+ :: Can be overridden in the environment (except %ps2pk, %ttf2pk, %hbf2gf,
+ :: %pre_dpi, and %post_dpi).
+
+ :: Comment out the programs you don't want to use.
+ set ps2pk=yes
+ set ttf2pk=yes
+ set hbf2gf=yes
+
+ :: where the PK files will be installed created by ps2pk, ttf2pk, and
+ :: hbf2gf.
+ :: dvidrv.btm adds `\modeless\XXXdpi' to this string (see below for the
+ :: exact string).
+ set_def pkdir=%emtexdir\pixel\tmp\pk
+
+ :: where the TrueType fonts reside.
+ set_def ttfonts=%emtexdir\fonts\truetype
+ :: where auxiliary files of ttf2pk are located.
+ set_def ttfcfg=%emtexdir\ttf2pk
+
+ :: where the HBF files reside.
+ set_def hbfonts=%emtexdir\fonts\hbf
+ :: where the hbf2gf config files are.
+ set_def hbfcfg=%emtexdir\hbf2gf
+
+ :: the dpi-subdirectory has various forms; the most common are XXXdpi and
+ :: dpiXXX, e.g. 300dpi and dpi300. Here we define two variables which
+ :: control this behaviour.
+ :: [dpiXXX is used for TDS compatible TeX trees.]
+ set pre_dpi=dpi
+ set post_dpi=
+
+ :: ================================================
+ :: ======== End of user defined variables. ========
+ :: ================================================
+
+ :: the base name for log files etc.
+ set basename=%@name[%1]
+
+ :: do we run dvips?
+ iff "%basename" ne "dvips" then
+ goto nodvips1
+ endiff
+
+ :: we delete dvips.mfj if it exists.
+ del dvips.mfj >& nul
+
+ :: now we run dvips with all supplied parameters.
+ %&
+
+ :: do we have to generate fonts?
+ iff exist dvips.mfj then
+ goto generate_fonts
+ endiff
+
+ :: else all is done.
+ goto end
+
+
+:nodvips1
+ :: here we call the dvi driver with all supplied parameters.
+ %& -pj:%basename.mfj
+
+ :: do we have to generate fonts?
+ iff errorlevel 8 then
+ goto generate_fonts
+ endiff
+
+ :: else all is done.
+ goto end
+
+
+:generate_fonts
+ gosub call_mfjob
+
+ :: do we run dvips?
+ iff "%basename" ne "dvips" then
+ goto nodvips2
+ endiff
+
+ :: we now call dvips a second time
+ %&
+
+ :: since no fonts will be generated in the second run we remove dvips.mfj
+ del dvips.mfj >& nul
+
+ goto end
+
+
+:nodvips2
+ :: we call the dvi driver a second time (without font generation).
+ %& -pj -fm
+
+ del %basename.mfj >& nul
+
+ goto end
+
+
+:: this is the main subroutine which calls mfjob and then parses the mfjob
+:: file for fonts which can be handled by ps2pk, ttf2pk, or hbf2gf.
+:call_mfjob
+ :: this alias prints a message on the screen and writes it into the logfile.
+ alias echolog=`echo %& | tee /a %basename.mlg`
+
+ echo ======== DVIDRV.BTM logfile ======== > %basename.mlg
+ echo Commandline: dvidrv.btm %& >> %basename.mlg
+ echo `` >> %basename.mlg
+ echo basename=%basename >> %basename.mlg
+ echo emtexdir=%emtexdir >> %basename.mlg
+ echo dvidrvfonts=%dvidrvfonts >> %basename.mlg
+ echo mfinput=%mfinput >> %basename.mlg
+ echo mfjobopt=%mfjobopt >> %basename.mlg
+ echo textfm=%textfm >> %basename.mlg
+ echo psfonts=%psfonts >> %basename.mlg
+ echo ttfonts=%ttfonts >> %basename.mlg
+ echo ttfcfg=%ttfcfg >> %basename.mlg
+ echo hbfonts=%hbfonts >> %basename.mlg
+ echo hbfcfg=%hbfcfg >> %basename.mlg
+ echo `` >> %basename.mlg
+
+ iff "%@search[mfjob]" eq "" then
+ echolog MFJOB not found in the path.
+ echolog Can't generate PK fonts from METAFONT automatically.
+ echo ``
+ quit
+ endiff
+
+ :: now we call mfjob.
+ echolog mfjob %mfjobopt -g%basename.mfl %basename.mfj
+ mfjob %mfjobopt -g%basename.mfl %basename.mfj
+ iff %? gt 0 then
+ echolog ``
+ echolog Something went wrong while running METAFONT.
+ echolog Look into the log files...
+ echolog ``
+ endiff
+
+ :: after running mfjob we scan the mfjob input file for fonts which can
+ :: be handled by ps2pk, ttf2pk or hbf2gf.
+ set lnnr=0
+ set totlines=%@lines[%basename.mfj]
+
+ do while %lnnr le %totlines
+ :: input a line.
+ set scratch=%@line[%basename.mfj,%lnnr]
+ set lnnr=%@inc[%lnnr]
+
+ :: get resolutions (METAFONT mode will be ignored).
+ :: example:
+ :: mode=lqlores[180 180];
+ iff %@index[%scratch,mode] ge 0 then
+ set temp=%@word["[]",1,%scratch]
+ set xdpi=%@word[0,%temp]
+ set ydpi=%@word[1,%temp]
+ endiff
+
+ :: get fontname and magnification; we then compute the font resolutions
+ :: (rounded to the nearest integer---there is no necessity to adjust
+ :: these values further because of possible rounding errors since both
+ :: emTeX's dvi drivers and dvips check neighbored values too).
+ :: example:
+ :: {font=cmr10; mag=0.5;}
+ iff %@index[%scratch,{font] ge 0 then
+ set testfont=%@word["=;",1,%scratch]
+ set temp=%@word["=;",3,%scratch]
+ :: we use highest arithmetic precision for these calculations.
+ :: Additionally we write 1/2 instead of 0.5 to avoid problems with
+ :: countries which use a comma instead of a colon as the decimal
+ :: separator.
+ set fontresx=%@int[%@eval[%xdpi*%temp+1/2=8]]
+ set fontresy=%@int[%@eval[%ydpi*%temp+1/2=8]]
+ set pksubdir=modeless\%[pre_dpi]%[fontresx]%post_dpi
+
+ set success=0
+
+ :: check whether %testfont leads to a PS font (we call ps2pkmfj).
+ iff %success == 0 .and. "%ps2pk" ne "" then
+ gosub call_ps2pk
+ endiff
+
+ :: check whether %testfont leads to a TrueType font.
+ iff %success == 0 .and. "%ttf2pk" ne "" then
+ gosub call_ttf2pk
+ endiff
+
+ :: check whether %testfont leads to a HBF file.
+ iff %success == 0 .and. "%hbf2gf" ne "" then
+ gosub call_hbf2gf
+ endiff
+ endiff
+ enddo
+
+ iff exist %basename.mfp then
+ echo `` >> %basename.mlg
+ echo `` >> %basename.mlg
+ echo ======== PS2PK logfile ======== >> %basename.mlg
+ echo `` >> %basename.mlg
+ type %basename.mfp >> %basename.mlg
+ echo `` >> %basename.mlg
+ del %basename.mfp >& nul
+ endiff
+
+ iff exist %basename.mfl then
+ echo `` >> %basename.mlg
+ type %basename.mfl >> %basename.mlg
+ echo `` >> %basename.mlg
+ del %basename.mfl >& nul
+ endiff
+
+ return
+
+
+:call_ttf2pk
+ iff "%@search[ttf2pk]" eq "" then
+ echolog TTF2PK not found in the path.
+ echolog Can't generate PK fonts from TrueType fonts automatically.
+ echo ``
+ quit
+ endiff
+
+ echolog ttf2pk -q -n %testfont %fontresx
+ ttf2pk -q -n %testfont %fontresx
+
+ iff %? == 0 then
+ echolog Font %pkdir\%pksubdir\%testfont.pk generated.
+ mkdir /s %pkdir\%pksubdir >& nul
+ move %testfont.pk %pkdir\%pksubdir >& nul
+ set success=1
+ elseiff %? == 2 then
+ echolog (%lnnr/%totlines): Font %testfont is no TrueType font.
+ set success=0
+ else
+ echolog Error running TTF2PK for font %testfont!
+ endiff
+
+ return
+
+
+:call_hbf2gf
+ iff "%@search[hbf2gf]" eq "" then
+ echolog HBF2GF not found in the path.
+ echolog Can't generate PK fonts from HBF files automatically.
+ echo ``
+ quit
+ endiff
+
+ echolog hbf2gf -q -p -n %testfont %fontresx %fontresy
+ hbf2gf -q -p -n %testfont %fontresx %fontresy
+
+ iff %? == 0 then
+ echolog Font %pkdir\%pksubdir\%testfont.pk generated.
+ mkdir /s %pkdir\%pksubdir >& nul
+ gftopk %testfont.gf %testfont.pk
+ move %testfont.pk %pkdir\%pksubdir >& nul
+ del %testfont.gf >& nul
+ set success=1
+ elseiff %? == 2 then
+ echolog (%lnnr/%totlines): Font %testfont is no HBF.
+ set success=0
+ else
+ echolog Error running HBF2GF for font %testfont!
+ endiff
+
+ return
+
+
+:call_ps2pk
+ iff not exist %pkdir\%pksubdir\%testfont.pk then
+ iff "%@search[ps2pkmfj]" eq "" .or. "%@search[ps2pk]" eq "" then
+ echolog PS2PKMFJ and/or PS2PK not found in the path.
+ echolog Can't generate PK fonts from PostScript fonts automatically.
+ echo ``
+ quit
+ endiff
+
+ echolog ps2pkmfj -X%fontresx -Y%fontresy %testfont %testfont.pk
+ ps2pkmfj -X%fontresx -Y%fontresy %testfont %testfont.pk | input %%pspkline
+
+ iff errorlevel != 1 then
+ %pspkline >> %basename.mfp
+ iff %? == 0 then
+ echolog Font %pkdir\%pksubdir\%testfont.pk generated.
+ mkdir /s %pkdir\%pksubdir >& nul
+ move %testfont.pk %pkdir\%pksubdir >& nul
+ success=1
+ else
+ echolog Error running PS2PK for font %testfont!
+ endiff
+ else
+ echolog (%lnnr/%totlines): Font %testfont is no PS font.
+ success=0
+ endiff
+ else
+ echolog Font %pkdir\%pksubdir\%testfont.pk already exists.
+ endiff
+
+ return
+
+
+:end
+
+endlocal
+
+:: ==== end of dvidrv.btm ====
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.c
new file mode 100644
index 00000000000..4e759c83eb2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.c
@@ -0,0 +1,109 @@
+/* emdir.c -- Written by Eberhard Mattes, donated to the public domain */
+
+#include "emdir.h"
+
+#ifdef OS2
+
+#undef HPS
+#define INCL_DOSFILEMGR
+#include <os2.h>
+#include <string.h>
+
+#define FHDIR(b) (*(HDIR *)(b)->reserved)
+
+static void fconv (struct ll_findbuffer *dst, const FILEFINDBUF *src)
+{
+ dst->attr = src->attrFile;
+ dst->time = *(unsigned *)&src->ftimeLastWrite;
+ dst->date = *(unsigned *)&src->fdateLastWrite;
+ dst->size = src->cbFile;
+ strcpy (dst->name, src->achName);
+}
+
+
+int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer)
+{
+ USHORT rc;
+ ULONG count;
+ HDIR hdir;
+ FILEFINDBUF ffbuf;
+
+ hdir = HDIR_CREATE;
+ count = 1;
+ rc = DosFindFirst ((PSZ)path, &hdir, attr, &ffbuf, sizeof (ffbuf),
+ &count, 0L);
+ if (rc != 0 || count != 1)
+ return 0;
+ FHDIR (buffer) = hdir;
+ fconv (buffer, &ffbuf);
+ return 1;
+}
+
+
+int ll_findnext (struct ll_findbuffer *buffer)
+{
+ USHORT rc;
+ ULONG count;
+ HDIR hdir;
+ FILEFINDBUF ffbuf;
+
+ hdir = FHDIR (buffer);
+ count = 1;
+ rc = DosFindNext (hdir, &ffbuf, sizeof (ffbuf), &count);
+ if (rc != 0 || count != 1)
+ {
+ DosFindClose (hdir);
+ return 0;
+ }
+ fconv (buffer, &ffbuf);
+ return 1;
+}
+
+
+#elif defined(DJGPP)
+
+/* djgpp support by Hartmut Schirmer (hsc@techfak.uni-kiel.de), May 30, 1997 */
+
+#include <dos.h>
+#include <dir.h>
+
+static int ll_attr = 0;
+int ll_findnext (struct ll_findbuffer *buffer)
+{
+ int res;
+ do {
+ res = _dos_findnext ((struct find_t *)buffer);
+ if (res != 0) return 0;
+ } while ( (buffer->attrib&ll_attr) == 0);
+ return 1;
+}
+
+int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer)
+{
+ int res;
+ ll_attr = attr;
+ res = _dos_findfirst((char *)path, attr, (struct find_t *)buffer);
+ if (res != 0) return 0;
+ if ( (buffer->attrib&ll_attr) == 0)
+ return ll_findnext(buffer);
+ return 1;
+}
+
+#elif !defined(__EMX__) /* if not OS2 nor DJGPP nor __EMX__ defined */
+
+/* Not tested */
+
+#include <dos.h>
+
+int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer)
+{
+ return _dos_findfirst (path, attr, (struct find_t *)buffer) == 0;
+}
+
+
+int ll_findnext (struct ll_findbuffer *buffer)
+{
+ return _dos_findnext ((struct find_t *)buffer) == 0;
+}
+
+#endif
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.h
new file mode 100644
index 00000000000..0606d476ab1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.h
@@ -0,0 +1,25 @@
+/* emdir.h -- Written by Eberhard Mattes, donated to the public domain */
+
+#if defined(DJGPP)
+
+/* djgpp support by Hartmut Schirmer (hsc@techfak.uni-kiel.de), May 30, 1997 */
+#include <dos.h>
+#define ll_findbuffer find_t
+#define attr attrib
+
+#else
+
+struct ll_findbuffer
+{
+ char reserved[21];
+ unsigned char attr;
+ unsigned time;
+ unsigned date;
+ long size;
+ char name[257];
+};
+
+#endif
+
+int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer);
+int ll_findnext (struct ll_findbuffer *buffer);
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.c
new file mode 100644
index 00000000000..9a35570adb3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.c
@@ -0,0 +1,405 @@
+/* emtexdir.c -- written by Eberhard Mattes, donated to the public domain */
+
+#if defined (__EMX__)
+#include <emx/syscalls.h>
+#else
+#include "emdir.h"
+#endif
+#if defined(DJGPP) || defined(GO32)
+#include <unistd.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <io.h>
+#include "emtexdir.h"
+
+#define FALSE 0
+#define TRUE 1
+
+void (*emtex_dir_find_callback)(const char *name, int ok) = NULL;
+
+static int setup_add (struct emtex_dir *dst, const char *path)
+{
+ char *p;
+
+ if (dst->used >= dst->alloc)
+ {
+ dst->alloc += 8;
+ dst->list = realloc (dst->list, dst->alloc * sizeof (*dst->list));
+ if (dst->list == NULL)
+ return (FALSE);
+ }
+ p = strdup (path);
+ if (p == NULL)
+ return (FALSE);
+ dst->list[dst->used++] = p;
+ return (TRUE);
+}
+
+
+static int setup_subdir (struct emtex_dir *dst, char *path, size_t add,
+ unsigned flags, int recurse)
+{
+ int ok, i, end, len;
+#if defined (__EMX__)
+ struct _find find;
+#else
+ struct ll_findbuffer find;
+#endif
+
+ i = dst->used;
+ strcpy (path + add, "*.*");
+#if defined (__EMX__)
+ ok = __findfirst (path, 0x10, &find) == 0;
+#else
+ ok = ll_findfirst (path, 0x10, &find);
+#endif
+ while (ok)
+ {
+ if ((find.attr & 0x10)
+ && !(strcmp (find.name, ".") == 0 || strcmp (find.name, "..") == 0))
+ {
+ len = strlen (find.name);
+ memcpy (path + add, find.name, len);
+ path[add+len] = '\\';
+ path[add+len+1] = 0;
+ if (!setup_add (dst, path))
+ return (FALSE);
+ }
+#if defined (__EMX__)
+ ok = __findnext (&find) == 0;
+#else
+ ok = ll_findnext (&find);
+#endif
+ }
+ if (recurse)
+ {
+ end = dst->used;
+ while (i < end)
+ {
+ strcpy (path, dst->list[i]);
+ if (!setup_subdir (dst, path, strlen (path), flags, TRUE))
+ return (FALSE);
+ ++i;
+ }
+ }
+ return (TRUE);
+}
+
+
+static int setup_dir (struct emtex_dir *dst, char *path,
+ const char *base_dir, size_t base_dir_len,
+ const char *sub_dir,
+ unsigned flags)
+{
+ size_t i, len;
+
+ memcpy (path, base_dir, base_dir_len);
+ i = base_dir_len;
+ if ((flags & EDS_BANG) && sub_dir == NULL)
+ {
+ flags &= ~(EDS_ONESUBDIR|EDS_ALLSUBDIR);
+ if (i >= 2 && path[i-1] == '!' && path[i-2] == '!')
+ {
+ flags |= EDS_ALLSUBDIR;
+ i -= 2;
+ }
+ else if (i >= 1 && path[i-1] == '!')
+ {
+ flags |= EDS_ONESUBDIR;
+ --i;
+ }
+ }
+ if (sub_dir != NULL && *sub_dir != 0)
+ {
+ if (i != 0 && path[i-1] != ':' && path[i-1] != '/' && path[i-1] != '\\')
+ path[i++] = '\\';
+ len = strlen (sub_dir);
+ memcpy (path+i, sub_dir, len);
+ i += len;
+ }
+ if (path[i-1] != ':' && path[i-1] != '/' && path[i-1] != '\\')
+ path[i++] = '\\';
+ path[i] = 0;
+ if (!setup_add (dst, path))
+ return (FALSE);
+ if (flags & EDS_ALLSUBDIR)
+ return (setup_subdir (dst, path, i, flags, TRUE));
+ else if (flags & EDS_ONESUBDIR)
+ return (setup_subdir (dst, path, i, flags, FALSE));
+ else
+ return (TRUE);
+}
+
+
+/*static */int setup_list (struct emtex_dir *dst, char *path,
+ const char *list, unsigned flags)
+{
+ const char *end;
+ size_t i;
+
+ for (;;)
+ {
+ while (*list == ' ' || *list == '\t')
+ ++list;
+ if (*list == 0)
+ return (TRUE);
+ end = list;
+ while (*end != 0 && *end != ';')
+ ++end;
+ i = end - list;
+ while (i > 0 && (list[i-1] == ' ' || list[i-1] == '\t'))
+ --i;
+ if (i != 0 && !setup_dir (dst, path, list, i, NULL, flags))
+ return (FALSE);
+ if (*end == 0)
+ return (TRUE);
+ list = end + 1;
+ }
+}
+
+
+int emtex_dir_setup (struct emtex_dir *ed, const char *env, const char *dir,
+ unsigned flags)
+{
+ const char *val;
+ char path[260];
+
+ ed->alloc = 0;
+ ed->used = 0;
+ ed->list = NULL;
+ if (env != NULL && (val = getenv (env)) != NULL)
+ return (setup_list (ed, path, val, flags));
+ else if ((val = getenv ("EMTEXDIR")) != NULL)
+ return (setup_dir (ed, path, val, strlen (val), dir, flags));
+ else
+ return (setup_dir (ed, path, "\\emtex", 6, dir, flags));
+}
+
+
+static void pretty (char *path, unsigned flags)
+{
+ char *p;
+
+ if (flags & EDF_FSLASH)
+ for (p = path; *p != 0; ++p)
+ if (*p == '\\')
+ *p = '/';
+}
+
+
+#define ADDCHAR(C) \
+ if (dst_size < 1) return (EDT_TOOLONG); \
+ *dst++ = (C); --dst_size
+
+int emtex_dir_trunc (char *dst, size_t dst_size, const char *src,
+ unsigned flags, int method)
+{
+ int len, truncated, dot;
+
+ if (src[0] != 0 && src[1] == ':')
+ {
+ ADDCHAR (src[0]);
+ ADDCHAR (src[1]);
+ src += 2;
+ }
+
+ truncated = FALSE; dot = FALSE; len = 0;
+ for (;;)
+ {
+ switch (*src)
+ {
+ case 0:
+ ADDCHAR (0);
+ return (truncated ? EDT_CHANGED : EDT_UNCHANGED);
+
+ case ':':
+ return (EDT_INVALID);
+
+ case '/':
+ case '\\':
+ ADDCHAR (*src);
+ len = 0; dot = FALSE;
+ break;
+
+ case '.':
+ if (dot)
+ return (EDT_INVALID);
+ ADDCHAR (*src);
+
+ /* ".." is allowed -- don't return EDT_INVALID for the next
+ dot. */
+
+ if (!(len == 0 && src[1] == '.'
+ && (src[2] == 0 || src[2] == '/' || src[2] == '\\')))
+ {
+ len = 0; dot = TRUE;
+ }
+ break;
+
+ default:
+ if (dot && len == 3)
+ truncated = TRUE;
+ else if (!dot && len == 8)
+ {
+ truncated = TRUE;
+ if (method == 0)
+ {
+ dst[-3] = dst[-2];
+ dst[-2] = dst[-1];
+ dst[-1] = *src;
+ }
+ }
+ else
+ {
+ ADDCHAR (*src);
+ ++len;
+ }
+ break;
+ }
+ ++src;
+ }
+}
+
+
+static int find2 (const char *name, unsigned flags)
+{
+ int ok;
+
+ ok = (access (name, 4) == 0);
+ if (flags & EDF_TRACE)
+ emtex_dir_find_callback (name, ok);
+ return (ok);
+}
+
+
+static int find1 (char *path, size_t path_size, const char *dir,
+ const char *fname, unsigned flags)
+{
+ char buf[260];
+ int method, rc;
+ size_t len, tmp;
+
+ len = 0;
+ if (dir != NULL)
+ {
+ tmp = strlen (dir);
+ if (tmp >= sizeof (buf))
+ return (FALSE);
+ memcpy (buf, dir, tmp);
+ len = tmp;
+ }
+ tmp = strlen (fname);
+ if (len + tmp >= sizeof (buf))
+ return (FALSE);
+ memcpy (buf + len, fname, tmp + 1);
+ len += tmp;
+#if 0 /* wkim */
+/* disabled for Win95's long file name support */
+/* -- Wonkoo Kim (wkim+@pitt.edu), May 18, 1997 */
+ if (_osmode == DOS_MODE)
+ {
+ rc = emtex_dir_trunc (path, path_size, buf, flags, EDT_5_PLUS_3);
+ if ((rc == EDT_UNCHANGED || rc == EDT_CHANGED) && find2 (path, flags))
+ {
+ pretty (path, flags);
+ return (TRUE);
+ }
+ rc = emtex_dir_trunc (path, path_size, buf, flags, EDT_8);
+ if (rc == EDT_CHANGED && find2 (path, flags))
+ {
+ pretty (path, flags);
+ return (TRUE);
+ }
+ return (FALSE);
+ }
+ else
+#endif /* wkim */
+ {
+ if (len < path_size && find2 (buf, flags))
+ {
+ memcpy (path, buf, len + 1);
+ pretty (path, flags);
+ return (TRUE);
+ }
+ for (method = 0; method < 2; ++method)
+ {
+ rc = emtex_dir_trunc (path, path_size, buf, flags, method);
+ if (rc == EDT_CHANGED && find2 (path, flags))
+ {
+ pretty (path, flags);
+ return (TRUE);
+ }
+ }
+ return (FALSE);
+ }
+}
+
+
+int emtex_dir_find (char *path, size_t path_size,
+ const struct emtex_dir *ed,
+ const char *fname, unsigned flags)
+{
+ int i, absp;
+ const char *p;
+
+ absp = FALSE;
+ for (p = fname; *p != 0; ++p)
+ if (*p == ':' || *p == '/' || *p == '\\')
+ {
+ absp = TRUE;
+ break;
+ }
+
+ if (absp)
+ return (find1 (path, path_size, NULL, fname, flags));
+
+ if ((flags & EDF_CWD) && find1 (path, path_size, NULL, fname, flags))
+ return (TRUE);
+
+ for (i = 0; i < ed->used; ++i)
+ if (find1 (path, path_size, ed->list[i], fname, flags))
+ return (TRUE);
+ return (FALSE);
+}
+
+
+#if defined (TEST)
+
+#include <stdio.h>
+
+int main (int argc, char *argv[])
+{
+ struct emtex_dir ed;
+ int i;
+ unsigned flags1, flags2;
+ char path[260];
+
+ if (argc != 6)
+ {
+ puts ("Usage: emtexdir <flags> <flags> <env> <dir> <fname>");
+ return (1);
+ }
+
+ flags1 = (unsigned)strtol (argv[1], NULL, 0);
+ flags2 = (unsigned)strtol (argv[2], NULL, 0);
+
+ if (!emtex_dir_setup (&ed, argv[3], argv[4], flags1))
+ {
+ fputs ("emtex_dir_setup failed\n", stderr);
+ return (2);
+ }
+
+ printf ("Directories:\n");
+ for (i = 0; i < ed.used; ++i)
+ printf (" %s\n", ed.list[i]);
+
+ if (!emtex_dir_find (path, sizeof (path), &ed, argv[5], flags2))
+ puts ("File not found");
+ else
+ printf ("Path: %s\n", path);
+ return (0);
+}
+
+#endif
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.h
new file mode 100644
index 00000000000..a9a986db05b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.h
@@ -0,0 +1,57 @@
+/* emtexdir.h -- written by Eberhard Mattes, donated to the public domain */
+
+#if !defined (_EMTEXDIR_H)
+#define _EMTEXDIR_H
+
+#if defined (__cplusplus)
+extern "C" {
+#endif
+
+
+/* Flags for emtex_dir_setup */
+
+#define EDS_ONESUBDIR 0x0001
+#define EDS_ALLSUBDIR 0x0002
+#define EDS_BANG 0x0004
+
+/* Flags for emtex_dir_find */
+
+#define EDF_CWD 0x0001
+#define EDF_FSLASH 0x0002
+#define EDF_TRACE 0x8000
+
+/* Methods for emtex_dir_trunc */
+
+#define EDT_5_PLUS_3 0 /* 5+3.3 */
+#define EDT_8 1 /* 8.3 */
+
+/* Return values for emtex_dir_trunc */
+
+#define EDT_UNCHANGED 0 /* Path name not changed */
+#define EDT_CHANGED 1 /* Path name truncated */
+#define EDT_TOOLONG 2 /* Path name too long */
+#define EDT_INVALID 3 /* Path name invalid */
+
+struct emtex_dir
+{
+ char **list;
+ int used;
+ int alloc;
+};
+
+extern void (*emtex_dir_find_callback)(const char *name, int ok);
+
+int emtex_dir_setup (struct emtex_dir *ed, const char *env, const char *dir,
+ unsigned flags);
+
+int emtex_dir_find (char *path, size_t path_size, const struct emtex_dir *ed,
+ const char *fname, unsigned flags);
+
+int emtex_dir_trunc (char *dst, size_t dst_size, const char *src,
+ unsigned flags, int method);
+
+#if defined (__cplusplus)
+}
+#endif
+
+#endif /* !defined (_EMTEXDIR_H) */
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c
new file mode 100644
index 00000000000..b55f7e8a401
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c
@@ -0,0 +1,1589 @@
+/*
+ * Copyright 1993,1994,1995,2005 by Ross Paterson
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * Ross Paterson <ross@soi.city.ac.uk>
+ * 17 October 1995
+ *
+ * The following people have supplied bug fixes:
+ *
+ * Simon Chow <khsc@synoptics.com>
+ * Fung Fung Lee <lee@simd.stanford.edu>
+ * Man-Chi Pong <mcpong@cs.ust.hk>
+ * Steven Simpson <simpson@math.psu.edu>
+ * Charles Wang <charles.wang@infores.com>
+ * Werner Lemberg <wl@gnu.org>
+ *
+ * Ross no longer maintains this code. Please send bug reports to
+ * Werner Lemberg <wl@gnu.org>.
+ *
+ */
+
+/*
+ * Two C interfaces to HBF files.
+ *
+ * The multiple interfaces make this code rather messy; I intend
+ * to clean it up as experience is gained on what is really needed.
+ *
+ * There are also two modes of operation:
+ * - the default is to read each bitmap from its file as demanded
+ * - if IN_MEMORY is defined, the whole bitmap file is held in memory.
+ * In this case, if running under Unix, the bitmap files may be gzipped
+ * (but the filename used in the HBF file should be the name of the
+ * file before it was gzipped).
+ */
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include "hbf.h"
+
+#ifdef __MSDOS__
+#define msdos
+#endif
+
+/*
+ * if the linker complains about an unresolved identifier '_strdup',
+ * uncomment the following definition.
+ */
+/* #define NO_STRDUP */
+
+#ifdef __STDC__
+# define _(x) x
+#else
+# define _(x) ()
+#endif
+
+#define reg register
+
+typedef int bool;
+#define TRUE 1
+#define FALSE 0
+
+#define Bit(n) (1<<(7 - (n)))
+
+/*
+ * Messy file system issues
+ */
+
+#ifdef unix
+#define PATH_DELIMITER ':'
+#define RelativeFileName(fn) ((fn)[0] != '/')
+#define LocalFileName(fn) (strchr(fn, '/') == NULL)
+#endif /* unix */
+#ifdef msdos
+#define PATH_DELIMITER ';'
+#define HasDrive(fn) (isalpha((fn)[0]) && (fn)[1] == ':')
+#ifdef __EMX__
+#define RelativeFileName(fn) (! HasDrive(fn) && \
+ !((fn)[0] == '\\' || (fn)[0] == '/'))
+#define LocalFileName(fn) (! HasDrive(fn) && \
+ strchr(fn, '\\') == NULL && \
+ strchr(fn, '/') == NULL)
+#else
+#define RelativeFileName(fn) (! HasDrive(fn) && (fn)[0] != '\\')
+#define LocalFileName(fn) (! HasDrive(fn) && strchr(fn, '\\') == NULL)
+#endif /* __EMX__ */
+#define READ_BINARY "rb"
+#endif /* msdos */
+#ifdef vms
+#define PATH_DELIMITER ','
+#define RelativeFileName(fn) (strchr(fn, ':') == NULL && ((fn)[0] != '[' || (fn)[1] == '.' || (fn)[1] == '-'))
+#define LocalFileName(fn) (strchr(fn, ':') == NULL && strchr(fn, ']') == NULL)
+#endif
+
+#ifndef RelativeFileName
+#define RelativeFileName(fn) FALSE
+#endif
+
+#ifndef LocalFileName
+#define LocalFileName(fn) FALSE
+#endif
+
+#ifndef READ_BINARY
+#define READ_BINARY "r"
+#endif
+
+#define MAX_FILENAME 1024
+
+/*
+ * Internal structures
+ */
+
+typedef unsigned char byte;
+
+#define PROPERTY struct _PROPERTY
+#define BM_FILE struct _BM_FILE
+#define B2_RANGE struct _B2_RANGE
+#define CODE_RANGE struct _CODE_RANGE
+
+PROPERTY {
+ char *prop_name;
+ char *prop_value;
+ PROPERTY *prop_next;
+};
+
+BM_FILE {
+ char *bmf_name;
+#ifdef IN_MEMORY
+ byte *bmf_contents;
+#else
+ FILE *bmf_file;
+#endif
+ long bmf_size;
+ BM_FILE *bmf_next;
+};
+
+B2_RANGE {
+ byte b2r_start;
+ byte b2r_finish;
+ B2_RANGE *b2r_next;
+};
+
+typedef unsigned short CHAR;
+typedef unsigned int CHAR_INDEX; /* character index in file */
+#define BAD_CHAR_INDEX 0xffff
+
+CODE_RANGE {
+ CHAR code_start;
+ CHAR code_finish;
+ BM_FILE *code_bm_file;
+ long code_offset;
+ CHAR_INDEX code_pos;
+ bool code_transposed;
+ bool code_inverted;
+ CODE_RANGE *code_next;
+};
+
+/*
+ * Extended internal version of HBF
+ */
+
+typedef struct {
+ /* fields corresponding to the definition */
+ HBF public;
+ /* plus internal stuff */
+ char *filename;
+ byte *bitmap_buffer;
+ unsigned int b2_size; /* number of legal byte-2's */
+ PROPERTY *property;
+ B2_RANGE *byte_2_range;
+ CODE_RANGE *code_range;
+ BM_FILE *bm_file;
+} HBF_STRUCT;
+
+#define FirstByte(code) ((code)>>8)
+#define SecondByte(code) ((code)&0xff)
+#define MakeCode(byte1,byte2) (((byte1)<<8)|(byte2))
+
+/* size of a bitmap in the file (may be affected by transposition) */
+#define FileBitmapSize(hbfFile,cp) \
+ ((cp)->code_transposed ? \
+ (hbfBitmapBBox(hbfFile)->hbf_height + 7)/8 * \
+ hbfBitmapBBox(hbfFile)->hbf_width : \
+ HBF_BitmapSize(hbfFile))
+
+#define NEW(type) ((type *)malloc((unsigned)(sizeof(type))))
+
+#define QUOTE '"'
+
+#define MAXLINE 1024
+
+#ifdef WIN32
+#define strdup(x) _strdup(x)
+#else
+ extern char *strdup _((const char *s));
+#endif
+
+static void add_b2r _((B2_RANGE **last_b2r, int start, int finish));
+static bool add_code_range _((HBF_STRUCT *hbf, const char *line));
+static void add_property _((HBF_STRUCT *hbf, const char *lp));
+static CHAR_INDEX b2_pos _((HBF_STRUCT *hbf, HBF_CHAR code));
+static int b2_size _((B2_RANGE *b2r));
+static void clear_bbox _((HBF_BBOX *bbox));
+static void clear_record _((HBF_STRUCT *hbf));
+static char *concat _((const char *dir, int dirlen, const char *stem));
+static char *expand_filename _((const char *name, const char *filename));
+static const byte *get_bitmap
+ _((HBF_STRUCT *hbf, HBF_CHAR code, byte *buffer));
+static byte *local_buffer _((HBF_STRUCT *hbf));
+static void invert _((byte *buffer, unsigned length));
+#ifdef IN_MEMORY
+static bool read_bitmap_file _((BM_FILE *bmf, FILE *f));
+static bool copy_transposed
+ _((HBF *hbf, byte *bitmap, const byte *source));
+#else
+static bool get_transposed _((HBF *hbf, FILE *f, byte *bitmap));
+#endif
+static bool match _((const char *lp, const char *sp));
+static bool parse_file _((FILE *f, HBF_STRUCT *hbf));
+static FILE *path_open
+ _((const char *path, const char *filename, char **fullp));
+static bool real_open _((const char *filename, HBF_STRUCT *hbf));
+
+/* Error reporting */
+
+int hbfDebug; /* set this for error reporting */
+
+#ifdef __STDC__
+#include <stdarg.h>
+
+static void
+eprintf(const char *fmt, ...)
+{
+ if (hbfDebug) {
+ va_list args;
+
+ (void)fprintf(stderr, "HBF: ");
+ va_start(args, fmt);
+ (void)vfprintf(stderr, fmt, args);
+ va_end(args);
+ (void)fprintf(stderr, "\n");
+ }
+}
+#else /* ! __STDC__ */
+/* poor man's variable-length argument list */
+static void
+eprintf(fmt, x1, x2, x3, x4, x5, x6, x7, x8, x9)
+ const char *fmt;
+ int x1, x2, x3, x4, x5, x6, x7, x8, x9;
+{
+ if (hbfDebug) {
+ (void)fprintf(stderr, "HBF: ");
+ (void)fprintf(stderr, fmt, x1, x2, x3, x4, x5, x6, x7, x8, x9);
+ (void)fprintf(stderr, "\n");
+ }
+}
+#endif /* __STDC__ */
+
+static void
+clear_bbox(bbox)
+ HBF_BBOX *bbox;
+{
+ bbox->hbf_width = bbox->hbf_height = 0;
+ bbox->hbf_xDisplacement = bbox->hbf_yDisplacement = 0;
+}
+
+static void
+clear_record(hbf)
+ HBF_STRUCT *hbf;
+{
+ clear_bbox(&(hbf->public.hbf_bitmap_bbox));
+ clear_bbox(&(hbf->public.hbf_font_bbox));
+ hbf->property = NULL;
+ hbf->filename = NULL;
+ hbf->bitmap_buffer = NULL;
+ hbf->byte_2_range = NULL;
+ hbf->code_range = NULL;
+ hbf->bm_file = NULL;
+}
+
+/*
+ * Byte-2 ranges
+ */
+
+static void
+add_b2r(last_b2r, start, finish)
+reg B2_RANGE **last_b2r;
+ int start;
+ int finish;
+{
+reg B2_RANGE *b2r;
+
+ b2r = NEW(B2_RANGE);
+ while (*last_b2r != NULL && (*last_b2r)->b2r_start < start)
+ last_b2r = &((*last_b2r)->b2r_next);
+ b2r->b2r_next = *last_b2r;
+ b2r->b2r_start = start;
+ b2r->b2r_finish = finish;
+ *last_b2r = b2r;
+}
+
+static CHAR_INDEX
+b2_pos(hbf, code)
+ HBF_STRUCT *hbf;
+ HBF_CHAR code;
+{
+reg B2_RANGE *b2r;
+reg unsigned c;
+reg CHAR_INDEX pos;
+
+ c = SecondByte(code);
+ pos = 0;
+ for (b2r = hbf->byte_2_range; b2r != NULL; b2r = b2r->b2r_next)
+ if (b2r->b2r_start <= c && c <= b2r->b2r_finish)
+ return pos + c - b2r->b2r_start;
+ else
+ pos += b2r->b2r_finish - b2r->b2r_start + 1;
+ return BAD_CHAR_INDEX;
+}
+
+static int
+b2_size(b2r)
+reg B2_RANGE *b2r;
+{
+reg int size;
+
+ size = 0;
+ for ( ; b2r != NULL; b2r = b2r->b2r_next)
+ size += b2r->b2r_finish - b2r->b2r_start + 1;
+ return size;
+}
+
+/* map a position to a character code */
+static long
+code_of(hbf, pos)
+ HBF_STRUCT *hbf;
+ long pos;
+{
+ long code;
+ int residue;
+reg B2_RANGE *b2r;
+
+ code = pos / hbf->b2_size * 256;
+ residue = pos % hbf->b2_size;
+ for (b2r = hbf->byte_2_range; b2r != NULL; b2r = b2r->b2r_next)
+ if (b2r->b2r_start + residue <= b2r->b2r_finish)
+ return code + b2r->b2r_start + residue;
+ else
+ residue -= b2r->b2r_finish - b2r->b2r_start + 1;
+ /* should never get here */
+ return 0L;
+}
+
+/*
+ * String stuff
+ */
+
+static bool
+match(lp, sp)
+reg const char *lp;
+reg const char *sp;
+{
+ while (*lp == *sp && *sp != '\0') {
+ lp++;
+ sp++;
+ }
+ return (*lp == '\0' || isspace(*lp)) && *sp == '\0';
+}
+
+#ifdef NO_STRDUP
+char *
+strdup(s)
+ const char *s;
+{
+ char *new_s;
+
+ new_s = malloc((unsigned)strlen(s) + 1);
+ strcpy(new_s, s);
+ return new_s;
+}
+#endif
+
+/*
+ * Properties
+ */
+
+static void
+add_property(hbf, lp)
+reg HBF_STRUCT *hbf;
+reg const char *lp;
+{
+reg PROPERTY *prop;
+ char tmp[MAXLINE];
+reg char *tp;
+
+ prop = NEW(PROPERTY);
+
+ tp = tmp;
+ while (*lp != '\0' && ! isspace(*lp))
+ *tp++ = *lp++;
+ *tp = '\0';
+ prop->prop_name = strdup(tmp);
+
+ while (*lp != '\0' && isspace(*lp))
+ lp++;
+
+ tp = tmp;
+ if (*lp == QUOTE) {
+ lp++;
+ while (*lp != '\0' && ! (*lp == QUOTE && *++lp != QUOTE))
+ *tp++ = *lp++;
+ }
+ else
+ for (;;) {
+ while (*lp != '\0' && ! isspace(*lp))
+ *tp++ = *lp++;
+ while (*lp != '\0' && isspace(*lp))
+ lp++;
+ if (*lp == '\0')
+ break;
+ *tp++ = ' ';
+ }
+ *tp = '\0';
+ prop->prop_value = strdup(tmp);
+
+ prop->prop_next = hbf->property;
+ hbf->property = prop;
+}
+
+const char *
+hbfProperty(hbfFile, propName)
+ HBF *hbfFile;
+ const char *propName;
+{
+reg HBF_STRUCT *hbf;
+reg PROPERTY *prop;
+
+ hbf = (HBF_STRUCT *)hbfFile;
+ for (prop = hbf->property; prop != NULL; prop = prop->prop_next)
+ if (strcmp(prop->prop_name, propName) == 0)
+ return prop->prop_value;
+ return NULL;
+}
+
+/*
+ * Compatability routines
+ */
+
+const char *
+HBF_GetProperty(handle, propertyName)
+ HBF *handle;
+ const char *propertyName;
+{
+ return hbfProperty(handle, propertyName);
+}
+
+int
+HBF_GetFontBoundingBox(handle, width, height, xDisplacement, yDisplacement)
+ HBF_Handle handle;
+ unsigned int *width;
+ unsigned int *height;
+ int *xDisplacement;
+ int *yDisplacement;
+{
+ if (width != NULL)
+ *width = hbfFontBBox(handle)->hbf_width;
+ if (height != NULL)
+ *height = hbfFontBBox(handle)->hbf_height;
+ if (xDisplacement != NULL)
+ *xDisplacement = hbfFontBBox(handle)->hbf_xDisplacement;
+ if (yDisplacement != NULL)
+ *yDisplacement = hbfFontBBox(handle)->hbf_yDisplacement;
+ return 0;
+}
+
+int
+HBF_GetBitmapBoundingBox(handle, width, height, xDisplacement, yDisplacement)
+ HBF_Handle handle;
+ unsigned int *width;
+ unsigned int *height;
+ int *xDisplacement;
+ int *yDisplacement;
+{
+ if (width != NULL)
+ *width = hbfBitmapBBox(handle)->hbf_width;
+ if (height != NULL)
+ *height = hbfBitmapBBox(handle)->hbf_height;
+ if (xDisplacement != NULL)
+ *xDisplacement = hbfBitmapBBox(handle)->hbf_xDisplacement;
+ if (yDisplacement != NULL)
+ *yDisplacement = hbfBitmapBBox(handle)->hbf_yDisplacement;
+ return 0;
+}
+
+/*
+ * Prepend a directory to a relative filename.
+ */
+static char *
+concat(dir, dirlen, stem)
+ const char *dir; /* not necessarily null-terminated */
+ int dirlen; /* number of significant chars in dir */
+ const char *stem; /* relative filename */
+{
+ char *fullname;
+
+ if (dirlen == 0) /* null: current directory */
+ return strdup(stem);
+#ifdef unix
+ fullname = malloc(dirlen + strlen(stem) + 2);
+ (void)sprintf(fullname, "%.*s/%s", dirlen, dir, stem);
+#else
+#ifdef msdos
+ fullname = malloc(dirlen + strlen(stem) + 2);
+ (void)sprintf(fullname, "%.*s\\%s", dirlen, dir, stem);
+#else
+#ifdef vms
+ if (dir[dirlen-1] == ']' && stem[0] == '[' && stem[1] == '-') {
+ dirlen--;
+ stem++;
+ fullname = malloc(dirlen + strlen(stem) + 2);
+ (void)sprintf(fullname, "%.*s.%s", dirlen, dir, stem);
+ }
+ else {
+ if (dir[dirlen-1] == ']' && stem[0] == '[' && stem[1] == '.') {
+ dirlen--;
+ stem++;
+ }
+ fullname = malloc(dirlen + strlen(stem) + 1);
+ (void)sprintf(fullname, "%.*s%s", dirlen, dir, stem);
+ }
+#else
+ fullname = strdup(stem);
+#endif /* vms */
+#endif /* msdos */
+#endif /* unix */
+ return fullname;
+}
+
+/*
+ * Bitmap files
+ *
+ * If the host operating system has a heirarchical file system and
+ * the bitmap file name is relative, it is relative to the directory
+ * containing the HBF file.
+ */
+static char *
+expand_filename(name, hbf_name)
+ const char *name;
+ const char *hbf_name;
+{
+#ifdef unix
+reg char *s;
+reg int size;
+
+ size = name[0] != '/' && (s = strrchr(hbf_name, '/')) != NULL ?
+ s - hbf_name + 1 : 0;
+ s = malloc((unsigned)size + strlen(name) + 1);
+ (void)sprintf(s, "%.*s%s", size, hbf_name, name);
+ return s;
+#else
+#ifdef msdos
+reg char *s;
+reg int size;
+
+#ifdef __EMX__
+ s = (unsigned char *)hbf_name + strlen((unsigned char *)hbf_name) - 1;
+ for(;;) {
+ if (*s == '\\' || *s == '/')
+ break;
+ if (s == hbf_name) {
+ s = NULL;
+ break;
+ }
+ s--;
+ }
+
+ size = HasDrive(name) ? 0 :
+ (name[0] == '\\' || name[0] == '/') ?
+ (HasDrive(hbf_name) ? 2 : 0) :
+ s != NULL ? s - hbf_name + 1 : 0;
+#else
+ size = HasDrive(name) ? 0 :
+ name[0] == '\\' ? (HasDrive(hbf_name) ? 2 : 0) :
+ (s = strrchr(hbf_name, '\\')) != NULL ?
+ s - hbf_name + 1 : 0;
+#endif /* __EMX__ */
+ s = malloc((unsigned)size + strlen(name) + 1);
+ (void)sprintf(s, "%.*s%s", size, hbf_name, name);
+ return s;
+#else
+#ifdef vms
+reg char *s;
+reg const char *copyto;
+reg int size;
+
+ if ((s = strchr(hbf_name, ']')) != NULL && RelativeFileName(name))
+ return concat(hbf_name, (s - hbf_name) + 1, name);
+
+ copyto = hbf_name;
+ if ((s = strstr(copyto, "::")) != NULL && strstr(name, "::") == NULL)
+ copyto = s+2;
+ if ((s = strchr(copyto, ':')) != NULL && strchr(name, ':') == NULL)
+ copyto = s+1;
+ size = copyto - hbf_name;
+ s = malloc((unsigned)size + strlen(name) + 1);
+ (void)sprintf(s, "%.*s%s", size, hbf_name, name);
+ return s;
+#else
+ return strdup(name);
+#endif /* vms */
+#endif /* msdos */
+#endif /* unix */
+}
+
+static BM_FILE *
+find_file(hbf, filename)
+ HBF_STRUCT *hbf;
+ const char *filename;
+{
+ BM_FILE **fp;
+reg BM_FILE *file;
+ FILE *f;
+ char *bmfname;
+#ifdef IN_MEMORY
+#ifdef unix
+ bool from_pipe;
+#endif
+#endif
+
+ for (fp = &(hbf->bm_file); *fp != NULL; fp = &((*fp)->bmf_next)) {
+ bmfname = strrchr((*fp)->bmf_name, '/');
+ bmfname = (bmfname) ? bmfname + 1 : (*fp)->bmf_name;
+ if (strcmp(bmfname, filename) == 0)
+ return *fp;
+ }
+
+ file = NEW(BM_FILE);
+ if (file == NULL) {
+ eprintf("out of memory");
+ return NULL;
+ }
+ file->bmf_name = expand_filename(filename, hbf->filename);
+ if (file->bmf_name == NULL) {
+ free((char *)file);
+ return NULL;
+ }
+ f = fopen(file->bmf_name, READ_BINARY);
+#ifdef IN_MEMORY
+#ifdef unix
+ from_pipe = FALSE;
+ if (f == NULL) {
+ char tmp[400];
+
+ sprintf(tmp, "%s.gz", file->bmf_name);
+ if ((f = fopen(tmp, "r")) != NULL) {
+ fclose(f);
+ sprintf(tmp, "gzcat %s.gz", file->bmf_name);
+ if ((f = popen(tmp, "r")) != NULL)
+ from_pipe = TRUE;
+ }
+ }
+#endif /* unix */
+#endif /* IN_MEMORY */
+ if (f == NULL) {
+ eprintf("can't open bitmap file '%s'", file->bmf_name);
+ free(file->bmf_name);
+ free((char *)file);
+ return NULL;
+ }
+#ifdef IN_MEMORY
+ if (! read_bitmap_file(file, f)) {
+ free(file->bmf_name);
+ free((char *)file);
+ return NULL;
+ }
+#ifdef unix
+ if (from_pipe)
+ pclose(f);
+ else
+ fclose(f);
+#else /* ! unix */
+ fclose(f);
+#endif /* ! unix */
+#else /* ! IN_MEMORY */
+ file->bmf_file = f;
+ fseek(f, 0L, 2);
+ file->bmf_size = ftell(f);
+#endif /* ! IN_MEMORY */
+ file->bmf_next = NULL;
+ *fp = file;
+ return file;
+}
+
+#ifdef IN_MEMORY
+#define GRAIN_SIZE 512
+
+static bool
+read_bitmap_file(bmf, f)
+ BM_FILE *bmf;
+ FILE *f;
+{
+ byte *contents, *cp;
+ long size;
+ int c;
+
+ size = 0;
+ cp = contents = (byte *)malloc((unsigned)GRAIN_SIZE);
+ if (contents == NULL) {
+ eprintf("not enough space for bitmap file");
+ return NULL;
+ }
+ while ((c = getc(f)) != EOF) {
+ if (size%GRAIN_SIZE == 0) {
+ contents = (byte *)realloc((char *)contents,
+ (unsigned)(size + GRAIN_SIZE));
+ if (contents == NULL) {
+ eprintf("not enough space for bitmap file");
+ return NULL;
+ }
+ cp = contents + size;
+ }
+ *cp++ = c;
+ size++;
+ }
+ bmf->bmf_size = size;
+ bmf->bmf_contents = (byte *)realloc((char *)contents, (unsigned)size);
+ return TRUE;
+}
+#endif /* IN_MEMORY */
+
+/*
+ * Code ranges
+ */
+
+/* check that a code range fits within its bitmap file */
+static bool
+too_short(hbf, cp)
+ HBF_STRUCT *hbf;
+ CODE_RANGE *cp;
+{
+ int bm_size;
+ long offset, end_offset;
+ BM_FILE *bmf;
+ long start, finish;
+
+ bm_size = FileBitmapSize(&(hbf->public), cp);
+ offset = cp->code_offset;
+ start = cp->code_start;
+ finish = cp->code_finish;
+ end_offset = offset + bm_size *
+ (hbf->b2_size*(long)FirstByte(finish) +
+ b2_pos(hbf, finish) - cp->code_pos + 1);
+ bmf = cp->code_bm_file;
+ if (end_offset <= bmf->bmf_size)
+ return FALSE;
+ /* bitmap file is too short: produce a specific error message */
+ if (offset > bmf->bmf_size)
+ eprintf("bitmap file '%s' is shorter than offset 0x%04lx",
+ bmf->bmf_name, offset);
+ else if (offset + bm_size > bmf->bmf_size)
+ eprintf("bitmap file '%s' too short: no room for any bitmaps at offset 0x%04lx",
+ bmf->bmf_name, offset);
+ else
+ eprintf("bitmap file '%s' is too short - code range appears to be 0x%04lx-0x%04lx",
+ bmf->bmf_name,
+ start,
+ code_of(hbf, cp->code_pos +
+ (bmf->bmf_size - offset)/bm_size) - 1);
+ return TRUE;
+}
+
+static const char *
+skip_word(n, s)
+ int n;
+ const char *s;
+{
+ for ( ; n > 0; n--) {
+ while (*s != '\0' && ! isspace(*s))
+ s++;
+ while (*s != '\0' && isspace(*s))
+ s++;
+ }
+ return s;
+}
+
+/* optional keywords at the end of a CODE_RANGE line */
+static void
+parse_keywords(cp, s)
+ CODE_RANGE *cp;
+ const char *s;
+{
+ for (s = skip_word(4, s) ; *s != '\0'; s = skip_word(1, s)) {
+ switch (*s) {
+ case 's': case 'S': case 't': case 'T':
+ /* keyword "sideways" or "transposed" */
+ cp->code_transposed = TRUE;
+ break;
+ case 'i': case 'I':
+ /* keyword "inverted" */
+ cp->code_inverted = TRUE;
+ }
+ }
+}
+
+static bool
+add_code_range(hbf, line)
+ HBF_STRUCT *hbf;
+ const char *line;
+{
+ CODE_RANGE *cp;
+ CODE_RANGE **cpp;
+ long start, finish;
+ long offset;
+ char filename[MAXLINE];
+ BM_FILE *bmf;
+ CHAR_INDEX b2pos;
+
+ if (sscanf(line, "HBF_CODE_RANGE %li-%li %s %li",
+ &start, &finish, filename, &offset) != 4) {
+ eprintf("syntax error in HBF_CODE_RANGE");
+ return FALSE;
+ }
+ /* code ranges are checked in real_open() */
+ if ((bmf = find_file(hbf, filename)) == NULL)
+ return FALSE;
+ if ((cp = NEW(CODE_RANGE)) == NULL) {
+ eprintf("out of memory");
+ return FALSE;
+ }
+
+ cp->code_start = (CHAR)start;
+ cp->code_finish = (CHAR)finish;
+ cp->code_bm_file = bmf;
+ cp->code_offset = offset;
+ cp->code_transposed = cp->code_inverted = FALSE;
+ parse_keywords(cp, line);
+ /* insert it in order */
+ for (cpp = &hbf->code_range;
+ *cpp != NULL && (*cpp)->code_finish < start;
+ cpp = &((*cpp)->code_next))
+ ;
+ if (*cpp != NULL && (*cpp)->code_start <= finish) {
+ eprintf("code ranges overlap");
+ return FALSE;
+ }
+ cp->code_next = *cpp;
+ *cpp = cp;
+
+ /* set code_pos, and check range */
+ if (start > finish) {
+ eprintf("illegal code range 0x%04lx-0x%04lx", start, finish);
+ return FALSE;
+ }
+ if ((b2pos = b2_pos(hbf, start)) == BAD_CHAR_INDEX) {
+ eprintf("illegal start code 0x%04lx", start);
+ return FALSE;
+ }
+ cp->code_pos = hbf->b2_size*(long)FirstByte(start) + b2pos;
+ if ((b2pos = b2_pos(hbf, finish)) == BAD_CHAR_INDEX) {
+ eprintf("illegal finish code 0x%04lx", finish);
+ return FALSE;
+ }
+ /* check that the bitmap file has enough bitmaps */
+ return ! too_short(hbf, cp);
+}
+
+/*
+ * Reading and parsing of an HBF file
+ */
+
+/* get line, truncating to len, and trimming trailing spaces */
+static bool
+get_line(buf, len, f)
+ char *buf;
+ int len;
+ FILE *f;
+{
+ int c;
+ char *bp;
+
+ bp = buf;
+ for (;;) {
+ if ((c = getc(f)) == EOF) {
+ eprintf("unexpected end of file");
+ return FALSE;
+ }
+ if (c == '\n' || c == '\r') {
+ /* trim trailing space */
+ while (bp > buf && isspace(*(bp-1)))
+ bp--;
+ *bp = '\0';
+ return TRUE;
+ }
+ if (len > 0) {
+ *bp++ = c;
+ len--;
+ }
+ }
+}
+
+/* get next non-COMMENT line */
+static bool
+get_text_line(buf, len, f)
+ char *buf;
+ int len;
+ FILE *f;
+{
+ while (get_line(buf, len, f))
+ if (*buf != '\0' && ! match(buf, "COMMENT"))
+ return TRUE;
+ return FALSE;
+}
+
+static bool
+get_property(line, keyword, hbf)
+ const char *line;
+ const char *keyword;
+ HBF_STRUCT *hbf;
+{
+ if (! match(line, keyword)) {
+ eprintf("%s expected", keyword);
+ return FALSE;
+ }
+ add_property(hbf, line);
+ return TRUE;
+}
+
+static bool
+get_bbox(line, keyword, bbox)
+ const char *line;
+ const char *keyword;
+ HBF_BBOX *bbox;
+{
+ int w, h, xd, yd;
+
+ if (! match(line, keyword) ||
+ sscanf(line + strlen(keyword), "%i %i %i %i",
+ &w, &h, &xd, &yd) != 4) {
+ eprintf("%s expected", keyword);
+ return FALSE;
+ }
+ if (w <= 0 || h <= 0) {
+ eprintf("illegal %s dimensions %dx%d", keyword, w, h);
+ return FALSE;
+ }
+ bbox->hbf_width = w;
+ bbox->hbf_height = h;
+ bbox->hbf_xDisplacement = xd;
+ bbox->hbf_yDisplacement = yd;
+ return TRUE;
+}
+
+/*
+ * HBFHeaderFile ::=
+ * 'HBF_START_FONT' version EOLN
+ * 'HBF_CODE_SCHEME' word ... EOLN
+ * 'FONT' fontName EOLN
+ * 'SIZE' ptsize xres yres EOLN
+ * 'HBF_BITMAP_BOUNDING_BOX' w h xd yd EOLN
+ * 'FONTBOUNDINGBOX' w h xd yd EOLN
+ * X11R5FontPropertySection
+ * 'CHARS' n EOLN
+ * HBFByte2RangeSection
+ * HBFCodeRangeSection
+ * 'HBF_END_FONT' EOLN .
+ *
+ * This implementation allows extra lines before HBF_END_FONT.
+ * Anything after HBF_END_FONT is ignored.
+ */
+
+static bool
+parse_file(f, hbf)
+ FILE *f;
+reg HBF_STRUCT *hbf;
+{
+ char line[MAXLINE];
+ int start, finish;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_property(line, "HBF_START_FONT", hbf))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_property(line, "HBF_CODE_SCHEME", hbf))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_property(line, "FONT", hbf))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_property(line, "SIZE", hbf))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_bbox(line, "HBF_BITMAP_BOUNDING_BOX",
+ &(hbf->public.hbf_bitmap_bbox)))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_bbox(line, "FONTBOUNDINGBOX", &(hbf->public.hbf_font_bbox)))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ if (match(line, "STARTPROPERTIES")) {
+ for (;;) {
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ if (match(line, "ENDPROPERTIES"))
+ break;
+ add_property(hbf, line);
+ }
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ }
+
+ if (match(line, "CHARS"))
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+
+ if (match(line, "HBF_START_BYTE_2_RANGES")) {
+ for (;;) {
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ if (match(line, "HBF_END_BYTE_2_RANGES"))
+ break;
+ if (sscanf(line, "HBF_BYTE_2_RANGE %i-%i",
+ &start, &finish) != 2) {
+ eprintf("HBF_BYTE_2_RANGE expected");
+ return FALSE;
+ }
+ add_b2r(&(hbf->byte_2_range), start, finish);
+ }
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ }
+ else
+ add_b2r(&(hbf->byte_2_range), 0, 0xff);
+ hbf->b2_size = b2_size(hbf->byte_2_range);
+
+ if (! match(line, "HBF_START_CODE_RANGES")) {
+ eprintf("HBF_START_CODE_RANGES expected");
+ return FALSE;
+ }
+ for (;;) {
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ if (match(line, "HBF_END_CODE_RANGES"))
+ break;
+ if (! add_code_range(hbf, line))
+ return FALSE;
+ }
+
+ for (;;) {
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ if (match(line, "HBF_END_FONT"))
+ break;
+ /* treat extra lines as properties (for private extensions) */
+ add_property(hbf, line);
+ }
+
+ return TRUE;
+}
+
+static FILE *
+path_open(path, filename, fullp)
+ const char *path;
+ const char *filename;
+ char **fullp;
+{
+ if (LocalFileName(filename) && path != NULL) {
+#ifdef PATH_DELIMITER
+ int len;
+ char *fullname;
+ FILE *f;
+ const char *p_next;
+
+ len = strlen(filename);
+ for (;;) {
+ p_next = strchr(path, PATH_DELIMITER);
+ if (p_next == NULL)
+ p_next = path + strlen(path);
+ fullname = concat(path, p_next - path, filename);
+ if ((f = fopen(fullname, "r")) != NULL) {
+ *fullp = fullname;
+ return f;
+ }
+ free(fullname);
+ if (*p_next == '\0')
+ break;
+ path = p_next + 1;
+ }
+#endif
+ return NULL;
+ }
+ else {
+ *fullp = strdup(filename);
+ return fopen(*fullp, "r");
+ }
+}
+
+static bool
+real_open(filename, hbf)
+ const char *filename;
+reg HBF_STRUCT *hbf;
+{
+ FILE *f;
+
+ f = path_open(getenv("HBFPATH"), filename, &(hbf->filename));
+ if (f == NULL) {
+ eprintf("can't read file '%s'", filename);
+ return FALSE;
+ }
+ if (! parse_file(f, hbf)) {
+ fclose(f);
+ return FALSE;
+ }
+ fclose(f);
+ return TRUE;
+}
+
+HBF *
+hbfOpen(filename)
+ const char *filename;
+{
+reg HBF_STRUCT *hbf;
+
+ if ((hbf = NEW(HBF_STRUCT)) == NULL) {
+ eprintf("can't allocate HBF structure");
+ return NULL;
+ }
+ clear_record(hbf);
+ if (real_open(filename, hbf))
+ return &(hbf->public);
+ hbfClose(&(hbf->public));
+ return NULL;
+}
+
+int
+HBF_OpenFont(filename, ptrHandleStorage)
+ const char *filename;
+ HBF **ptrHandleStorage;
+{
+ return (*ptrHandleStorage = hbfOpen(filename)) == NULL ? -1 : 0;
+}
+
+/*
+ * Close files, free everything associated with the HBF.
+ */
+
+int
+HBF_CloseFont(hbfFile)
+ HBF *hbfFile;
+{
+reg HBF_STRUCT *hbf;
+ PROPERTY *prop_ptr, *prop_next;
+ B2_RANGE *b2r_ptr, *b2r_next;
+ CODE_RANGE *code_ptr, *code_next;
+ BM_FILE *bmf_ptr, *bmf_next;
+ int status;
+
+ status = 0;
+ hbf = (HBF_STRUCT *)hbfFile;
+
+ if (hbf->filename != NULL)
+ free(hbf->filename);
+ if (hbf->bitmap_buffer != NULL)
+ free(hbf->bitmap_buffer);
+
+ for (prop_ptr = hbf->property;
+ prop_ptr != NULL;
+ prop_ptr = prop_next) {
+ prop_next = prop_ptr->prop_next;
+ free(prop_ptr->prop_name);
+ free(prop_ptr->prop_value);
+ free((char *)prop_ptr);
+ }
+
+ for (b2r_ptr = hbf->byte_2_range;
+ b2r_ptr != NULL;
+ b2r_ptr = b2r_next) {
+ b2r_next = b2r_ptr->b2r_next;
+ free((char *)b2r_ptr);
+ }
+
+ for (code_ptr = hbf->code_range;
+ code_ptr != NULL;
+ code_ptr = code_next) {
+ code_next = code_ptr->code_next;
+ free((char *)code_ptr);
+ }
+
+ for (bmf_ptr = hbf->bm_file;
+ bmf_ptr != NULL;
+ bmf_ptr = bmf_next) {
+ bmf_next = bmf_ptr->bmf_next;
+#ifdef IN_MEMORY
+ free((char *)(bmf_ptr->bmf_contents));
+#else
+ if (bmf_ptr->bmf_file != NULL &&
+ fclose(bmf_ptr->bmf_file) < 0)
+ status = -1;
+#endif
+ free(bmf_ptr->bmf_name);
+ free((char *)bmf_ptr);
+ }
+
+ free((char *)hbf);
+
+ return status;
+}
+
+void
+hbfClose(hbfFile)
+ HBF *hbfFile;
+{
+ (void)HBF_CloseFont(hbfFile);
+}
+
+/*
+ * Fetch a bitmap
+ */
+
+const byte *
+hbfGetBitmap(hbf, code)
+ HBF *hbf;
+ HBF_CHAR code;
+{
+ return get_bitmap((HBF_STRUCT *)hbf, code, (byte *)NULL);
+}
+
+int
+HBF_GetBitmap(hbf, code, buffer)
+ HBF *hbf;
+ HBF_CHAR code;
+ byte *buffer;
+{
+ return get_bitmap((HBF_STRUCT *)hbf, code, buffer) == NULL ? -1 : 0;
+}
+
+/*
+ * Internal function to fetch a bitmap.
+ * If buffer is non-null, it must be used.
+ */
+static const byte *
+get_bitmap(hbf, code, buffer)
+reg HBF_STRUCT *hbf;
+ HBF_CHAR code;
+ byte *buffer;
+{
+ CHAR_INDEX pos, b2pos;
+reg CODE_RANGE *cp;
+ BM_FILE *bmf;
+ int bm_size;
+ long offset;
+
+ if ((b2pos = b2_pos(hbf, code)) == BAD_CHAR_INDEX)
+ return NULL;
+ pos = hbf->b2_size*FirstByte(code) + b2pos;
+ for (cp = hbf->code_range; cp != NULL; cp = cp->code_next)
+ if (cp->code_start <= code && code <= cp->code_finish) {
+ bmf = cp->code_bm_file;
+ bm_size = FileBitmapSize(&(hbf->public), cp);
+ offset = cp->code_offset +
+ (long)(pos - cp->code_pos) * bm_size;
+#ifdef IN_MEMORY
+ if (buffer == NULL &&
+ ! cp->code_transposed && ! cp->code_inverted)
+ return bmf->bmf_contents + offset;
+#endif /* IN_MEMORY */
+ if (buffer == NULL &&
+ ((buffer = local_buffer(hbf)) == NULL))
+ return NULL;
+#ifdef IN_MEMORY
+ if (cp->code_transposed)
+ copy_transposed(&(hbf->public),
+ buffer,
+ bmf->bmf_contents + offset);
+ else
+ memcpy((char *)buffer,
+ (char *)(bmf->bmf_contents + offset),
+ bm_size);
+#else /* ! IN_MEMORY */
+ if (fseek(bmf->bmf_file, offset, 0) != 0) {
+ eprintf("seek error on code 0x%04x", code);
+ return NULL;
+ }
+ if (cp->code_transposed ?
+ ! get_transposed(&(hbf->public), bmf->bmf_file,
+ buffer) :
+ fread((char *)buffer,
+ bm_size, 1, bmf->bmf_file) != 1) {
+ eprintf("read error on code 0x%04x", code);
+ return NULL;
+ }
+#endif /* IN_MEMORY */
+ if (cp->code_inverted)
+ invert(buffer, HBF_BitmapSize(&(hbf->public)));
+ return buffer;
+ }
+ eprintf("code 0x%04x out of range", code);
+ return NULL;
+}
+
+static byte *
+local_buffer(hbf)
+ HBF_STRUCT *hbf;
+{
+ if (hbf->bitmap_buffer == NULL &&
+ (hbf->bitmap_buffer = (byte *)malloc(HBF_BitmapSize(&(hbf->public)))) == NULL) {
+ eprintf("out of memory");
+ return NULL;
+ }
+ return hbf->bitmap_buffer;
+}
+
+static void
+invert(buffer, length)
+ byte *buffer;
+ unsigned int length;
+{
+ for ( ; length > 0; length--)
+ *buffer++ ^= 0xff;
+}
+
+#ifdef IN_MEMORY
+static bool
+copy_transposed(hbf, bitmap, source)
+ HBF *hbf;
+reg byte *bitmap;
+reg const byte *source;
+{
+reg byte *pos;
+reg byte *bm_end;
+ int x;
+ int width;
+reg int row_size;
+reg int c;
+reg int imask, omask;
+
+ width = hbfBitmapBBox(hbf)->hbf_width;
+ row_size = HBF_RowSize(hbf);
+ bm_end = bitmap + HBF_BitmapSize(hbf);
+ (void)memset((char *)bitmap, '\0', HBF_BitmapSize(hbf));
+ for (x = 0; x < width; x++) {
+ pos = bitmap + x/8;
+ omask = Bit(x%8);
+ /* y = 0 */
+ for (;;) {
+ c = *source++;
+ for (imask = Bit(0); imask != 0; imask >>= 1) {
+ /*
+ * At this point,
+ *
+ * imask == Bit(y%8)
+ * pos == bitmap + y*row_size + x/8
+ *
+ * We examine bit y of row x of the input,
+ * setting bit x of row y of the output if
+ * required, by applying omask to *pos.
+ */
+ if ((c & imask) != 0)
+ *pos |= omask;
+ /* if (++y > height) goto end_column */
+ pos += row_size;
+ if (pos >= bm_end)
+ goto end_column;
+ }
+ }
+end_column:
+ ;
+ }
+ return TRUE;
+}
+#else /* ! IN_MEMORY */
+static bool
+get_transposed(hbf, f, bitmap)
+ HBF *hbf;
+ FILE *f;
+reg byte *bitmap;
+{
+reg byte *pos;
+reg byte *bm_end;
+ int x;
+ int width;
+reg int row_size;
+reg int c;
+reg int imask, omask;
+
+ width = hbfBitmapBBox(hbf)->hbf_width;
+ row_size = HBF_RowSize(hbf);
+ bm_end = bitmap + HBF_BitmapSize(hbf);
+ (void)memset((char *)bitmap, '\0', HBF_BitmapSize(hbf));
+ for (x = 0; x < width; x++) {
+ pos = bitmap + x/8;
+ omask = Bit(x%8);
+ /* y = 0 */
+ for (;;) {
+ if ((c = getc(f)) == EOF)
+ return FALSE;
+ for (imask = Bit(0); imask != 0; imask >>= 1) {
+ /*
+ * At this point,
+ *
+ * imask == Bit(y%8)
+ * pos == bitmap + y*row_size + x/8
+ *
+ * We examine bit y of row x of the input,
+ * setting bit x of row y of the output if
+ * required, by applying omask to *pos.
+ */
+ if ((c & imask) != 0)
+ *pos |= omask;
+ /* if (++y > height) goto end_column */
+ pos += row_size;
+ if (pos >= bm_end)
+ goto end_column;
+ }
+ }
+end_column:
+ ;
+ }
+ return TRUE;
+}
+#endif /* ! IN_MEMORY */
+
+/*
+ * Call function on each valid code in ascending order.
+ */
+void
+hbfForEach(hbfFile, func)
+reg HBF *hbfFile;
+reg void (*func)_((HBF *sameHbfFile, HBF_CHAR code));
+{
+ HBF_STRUCT *hbf;
+ CODE_RANGE *cp;
+reg B2_RANGE *b2r;
+reg unsigned byte1, byte2;
+reg unsigned finish;
+
+ hbf = (HBF_STRUCT *)hbfFile;
+ for (cp = hbf->code_range; cp != NULL; cp = cp->code_next) {
+ byte1 = FirstByte(cp->code_start);
+ byte2 = SecondByte(cp->code_start);
+ while (MakeCode(byte1, byte2) <= cp->code_finish) {
+ for (b2r = hbf->byte_2_range;
+ b2r != NULL;
+ b2r = b2r->b2r_next) {
+ if (byte2 < b2r->b2r_start)
+ byte2 = b2r->b2r_start;
+ finish = b2r->b2r_finish;
+ if (byte1 == FirstByte(cp->code_finish) &&
+ finish > SecondByte(cp->code_finish))
+ finish = SecondByte(cp->code_finish);
+ while (byte2 <= finish) {
+ (*func)(hbfFile,
+ MakeCode(byte1, byte2));
+ byte2++;
+ }
+ }
+ byte1++;
+ byte2 = 0;
+ }
+ }
+}
+
+const char *
+hbfFileName(hbf)
+ HBF *hbf;
+{
+ return ((HBF_STRUCT *)hbf)->filename;
+}
+
+long
+hbfChars(hbfFile)
+ HBF *hbfFile;
+{
+ HBF_STRUCT *hbf;
+ CODE_RANGE *cp;
+ long num_chars;
+
+ hbf = (HBF_STRUCT *)hbfFile;
+ num_chars = 0;
+ for (cp = hbf->code_range; cp != NULL; cp = cp->code_next)
+ num_chars +=
+ hbf->b2_size*FirstByte(cp->code_finish) +
+ b2_pos(hbf, cp->code_finish) -
+ (hbf->b2_size*FirstByte(cp->code_start) +
+ b2_pos(hbf, cp->code_start)) + 1;
+ return num_chars;
+}
+
+/*
+ * Functions also implemented as macros
+ */
+
+#ifdef hbfBitmapBBox
+#undef hbfBitmapBBox
+#endif
+
+HBF_BBOX *
+hbfBitmapBBox(hbf)
+ HBF *hbf;
+{
+ return &(hbf->hbf_bitmap_bbox);
+}
+
+#ifdef hbfFontBBox
+#undef hbfFontBBox
+#endif
+
+HBF_BBOX *
+hbfFontBBox(hbf)
+ HBF *hbf;
+{
+ return &(hbf->hbf_font_bbox);
+}
+
+const void *
+hbfGetByte2Range(hbfFile, b2r_pointer, startp, finishp)
+ HBF *hbfFile;
+ const void *b2r_pointer;
+ byte *startp;
+ byte *finishp;
+{
+ HBF_STRUCT *hbf;
+ B2_RANGE *b2r;
+
+ hbf = (HBF_STRUCT *)hbfFile;
+ if (b2r_pointer == NULL)
+ b2r = hbf->byte_2_range;
+ else
+ b2r = ((B2_RANGE *)b2r_pointer)->b2r_next;
+ if(b2r == NULL)
+ return NULL;
+ *startp = b2r->b2r_start;
+ *finishp = b2r->b2r_finish;
+ return (void *)b2r;
+}
+
+const void *
+hbfGetCodeRange(hbfFile, code_pointer, startp, finishp)
+ HBF *hbfFile;
+ const void *code_pointer;
+ HBF_CHAR *startp;
+ HBF_CHAR *finishp;
+{
+ HBF_STRUCT *hbf;
+ CODE_RANGE *cp;
+
+ hbf = (HBF_STRUCT *)hbfFile;
+ if (code_pointer == NULL)
+ cp = hbf->code_range;
+ else
+ cp = ((CODE_RANGE *)code_pointer)->code_next;
+ if(cp == NULL)
+ return NULL;
+ *startp = cp->code_start;
+ *finishp = cp->code_finish;
+ return (void *)cp;
+}
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h
new file mode 100644
index 00000000000..34f5940a71b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h
@@ -0,0 +1,215 @@
+/*
+ * Copyright 1993,1994,1995,2005 by Ross Paterson
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * Two interfaces to HBF files -- take your pick.
+ *
+ * Ross Paterson <ross@soi.city.ac.uk>
+ *
+ * Ross no longer maintains this code. Please send bug reports to
+ * Werner Lemberg <wl@gnu.org>.
+ *
+ */
+#ifndef _HBF_
+#define _HBF_
+
+#ifndef __STDC__
+# ifndef const
+# define const
+# endif
+#endif
+
+/*
+ * #1: a lightweight C interface.
+ */
+
+typedef unsigned int HBF_CHAR;
+
+typedef struct {
+ unsigned short hbf_width;
+ unsigned short hbf_height;
+ short hbf_xDisplacement;
+ short hbf_yDisplacement;
+} HBF_BBOX;
+
+typedef struct {
+ /* fields corresponding to the definition */
+ HBF_BBOX hbf_bitmap_bbox; /* HBF_BITMAP_BOUNDING_BOX */
+ HBF_BBOX hbf_font_bbox; /* FONTBOUNDINGBOX */
+} HBF;
+
+extern HBF *hbfOpen(
+#ifdef __STDC__
+ const char *filename
+#endif
+ );
+
+extern void hbfClose(
+#ifdef __STDC__
+ HBF *hbf
+#endif
+ );
+
+extern const char *hbfProperty(
+#ifdef __STDC__
+ HBF *hbf,
+ const char *propName
+#endif
+ );
+
+extern const unsigned char *hbfGetBitmap(
+#ifdef __STDC__
+ HBF *hbf,
+ HBF_CHAR code
+#endif
+ );
+
+extern void hbfForEach(
+#ifdef __STDC__
+ HBF *hbf,
+ void (*func)(HBF *sameHbf, HBF_CHAR code)
+#endif
+ );
+
+extern const char *hbfFileName(
+#ifdef __STDC__
+ HBF *hbf
+#endif
+ );
+
+extern long hbfChars(
+#ifdef __STDC__
+ HBF *hbf
+#endif
+ );
+
+extern HBF_BBOX *hbfBitmapBBox(
+#ifdef __STDC__
+ HBF *hbf
+#endif
+ );
+/* but defined here as a macro */
+#define hbfBitmapBBox(hbf) (&((hbf)->hbf_bitmap_bbox))
+
+extern HBF_BBOX *hbfFontBBox(
+#ifdef __STDC__
+ HBF *hbf
+#endif
+ );
+/* but defined here as a macro */
+#define hbfFontBBox(hbf) (&((hbf)->hbf_font_bbox))
+
+#define HBF_RowSize(hbf)\
+ ((hbfBitmapBBox(hbf)->hbf_width + 7)/8)
+
+#define HBF_BitmapSize(hbf)\
+ (HBF_RowSize(hbf) * hbfBitmapBBox(hbf)->hbf_height)
+
+#define HBF_GetBit(hbf,bitmap,x,y)\
+ (((bitmap)[(y)*HBF_RowSize(hbf) + (x)/8]>>(7 - (x)%8))&01)
+
+extern int hbfDebug; /* set non-zero for error reporting */
+
+extern const void *hbfGetCodeRange(
+#ifdef __STDC__
+ HBF *hbfFile,
+ const void *code_pointer,
+ HBF_CHAR *startp,
+ HBF_CHAR *finishp
+#endif
+ );
+
+extern const void *hbfGetByte2Range(
+#ifdef __STDC__
+ HBF *hbfFile,
+ const void *b2r_pointer,
+ unsigned char *startp,
+ unsigned char *finishp
+#endif
+ );
+
+/*
+ * #2: taken from Appendix 2 of the HBF draft.
+ */
+
+typedef unsigned int HBF_HzCode;
+typedef unsigned char HBF_Byte ;
+typedef HBF_Byte * HBF_BytePtr ;
+typedef HBF * HBF_Handle ;
+typedef HBF_Handle * HBF_HandlePtr ;
+typedef char * String ;
+
+extern int HBF_OpenFont(
+#ifdef __STDC__
+ const char * filename,
+ HBF_HandlePtr ptrHandleStorage
+#endif
+);
+
+extern int HBF_CloseFont(
+#ifdef __STDC__
+ HBF_Handle handle
+#endif
+);
+
+extern const char * HBF_GetProperty(
+#ifdef __STDC__
+ HBF_Handle handle,
+ const char * propertyName
+#endif
+);
+
+extern int HBF_GetFontBoundingBox(
+#ifdef __STDC__
+ HBF_Handle handle,
+ unsigned int *width,
+ unsigned int *height,
+ int *xDisplacement,
+ int *yDisplacement
+#endif
+);
+
+extern int HBF_GetBitmapBoundingBox(
+#ifdef __STDC__
+ HBF_Handle handle,
+ unsigned int *width,
+ unsigned int *height,
+ int *xDisplacement,
+ int *yDisplacement
+#endif
+);
+
+extern int HBF_GetBitmap(
+#ifdef __STDC__
+ HBF_Handle handle,
+ HBF_HzCode hanziCode,
+ HBF_BytePtr ptrBitmapBuffer
+#endif
+);
+
+#endif /* ! _HBF_ */
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.1 b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.1
new file mode 100644
index 00000000000..d3753164173
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.1
@@ -0,0 +1,754 @@
+.\" man page for hbf2gf
+.\"
+.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.\"
+.
+.TH HBF2GF 1 22-May-2008 "CJK Version 4.8.0"
+.SH NAME
+hbf2gf \- convert a CJK bitmap font into subfonts usable by TeX and Omega.
+.
+.
+.SH SYNOPSIS
+.na
+.nh
+.B hbf2gf
+.RB [ \-q ]
+.IR \%configuration-file [ .cfg ]
+.br
+.B hbf2gf
+'in +\n(.ku
+.RB [ \-q ]
+.RB [ \-p ]
+.RB [ \-g ]
+.RB [ \-n ]
+.I \%subfont-name \%x-resolution
+.RI [ \%y-scale \ | \ \%y-resolution ]
+.br
+.in
+.B hbf2gf
+.B \-t
+.RB [ \-q ]
+.I \%subfont-name
+.br
+.B "hbf2gf \-\-version"
+|
+.B \-\-help
+.ad
+.hy
+.
+.
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\h'-0.1667m'\v'0.20v'E\v'-0.20v'\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a definition for \Delta
+.if t .ds DE \(*D
+.if n .ds DE Delta_
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" an addition to .TP to allow two labels for the same item
+.de TQ
+.br
+.ns
+.TP
+..
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH DESCRIPTION
+CJK bitmap fonts can't be directly used with \*(TX
+because the number of characters in such fonts exceeds\ 256, the limit of a
+\*(TX
+font.
+Thus it is necessary to split these fonts into subfonts, and this is
+exactly what
+.B hbf2gf
+does.
+.PP
+As the name says,
+.B hbf2gf
+uses CJK fonts in a certain format which is called
+.B Hanzi Bitmap Font
+.RB ( HBF )
+format.
+It simply consists of the CJK bitmap file(s) and a text file in a format
+very similar to the BDF format of the X\ Window System which describes the
+bitmap font files: the encoding, the size, etc.
+The produced
+.C GF
+files can then be converted with
+.B gftopk
+into standard
+.C PK
+files.
+.PP
+.B hbf2gf
+can be called in three modes:
+.
+.PP
+.in +2m
+.B hbf2gf
+.RB [ \-q ]
+.IR configuration-file [ .cfg ]
+.PP
+.in +5m
+This call normally creates a set of
+.C GF
+files, one
+.C PL
+file, and a batch file which must be executed after
+.B hbf2gf
+has finished.
+This script will then call
+.B gftopk
+to convert all
+.C GF
+files into
+.C PK
+files, and it will call
+.B pltotf
+to convert the
+.C PL
+file into a
+.C TFM
+file.
+Finally it will copy the
+.C TFM
+file so that each
+.C PK
+file has its
+.C TFM
+file (which are all identical).
+.PP
+.in +5m
+If
+.B ofm_file
+is set to \(oqyes\(cq in the configuration file,
+.C OFM
+and
+.C OVF
+files will be created too.
+.
+.PP
+.in +5m
+.B \-q
+makes
+.B hbf2gf
+quiet.
+.PP
+.in +2m
+.na
+.nh
+.B hbf2gf
+'in +\n(.ku
+.RB [ \-q ]
+.RB [ \-p ]
+.RB [ \-g ]
+.RB [ \-n ]
+.I \%subfont-name \%x-resolution
+.RI [ \%y-scale \ | \ \%y-resolution ]
+.ad
+.hy
+.PP
+.in +5m
+This mode is intended for use with
+.B \%mktexpk
+and its derivates.
+Only one
+.C GF
+file together with a
+.C PL
+file for the given subfont will be computed, taking the horizontal
+resolution and a vertical scaling factor (if the value is smaller than\ 10)
+resp. the vertical resolution (otherwise) from the command line, ignoring
+the
+.B nmb_fonts
+parameter of the configuration file.
+The last two characters (which are interpreted as the subfont number) are
+stripped to get the name for the configuration file (which must end with
+\(oq\c
+.C \&.cfg \(cq).
+No job file will be created.
+If option
+.B \-p
+is set, no
+.C PL
+file is created.
+If
+.B \-g
+is set, no
+.C GF
+file is created.
+The extension can be controlled with
+.BR \-n ;
+if set, the extension is \(oq\c
+.C \&.gf \(cq,
+otherwise \(oq\c
+.C \&. <\c
+.IR resolution >\c
+.C gf \(cq.
+.B \-q
+makes
+.B hbf2gf
+quiet.
+.
+.PP
+.in +2m
+.na
+.nh
+.B hbf2gf
+'in +\n(.ku
+.B \-t
+.RB [ \-q ]
+.I \%subfont-name
+.ad
+.hy
+.PP
+.in +5m
+This mode is intended for use with scripts like
+.BR \%mktexpk ;
+it tests whether the specified subfont name leads to an
+.B hbf2gf
+configuration file.
+It returns 0 on success and prints out the name of that configuration file
+(provided the
+.B \-q
+switch isn't set).
+This test isn't a thorough one; it only removes the last two characters
+and checks whether a configuration file with that name exists.
+.PP
+See the next section for more details about configuration files.
+.PP
+Specifying the option
+.B \-\-version
+returns the current version of
+.B hbf2gf
+and the used file search library (e.g.\ \c
+.BR kpathsea ).
+Usage information is shown with the
+.B \-\-help
+parameter.
+.
+.
+.SH "CONFIGURATION FILE"
+Here a sample configuration file (\c
+.C gsfs14.cfg )
+for a 56\(mu56 Chinese font in GB encoding; note that all information
+about the font is in the
+.C jfs56.hbf
+file.
+See the
+.B "FILE SEARCHING"
+section how HBF fonts and
+.B hbf2gf
+configuration files are found.
+See the
+.B AVAILABILITY
+section where to get CJK fonts together with its
+.C HBF
+files:
+.PP
+.if t \fC
+.nf
+ hbf_header jfs56.hbf
+ mag_x 1
+ threshold 128
+ comment jianti fansongti 56x56 pixel font
+
+ design_size 14.4
+
+ y_offset \-13
+
+ nmb_files \-1
+
+ output_name gsfs14
+
+ checksum 123456789
+
+ dpi_x 300
+
+ pk_files no
+ tfm_files yes
+
+ coding codingscheme GuoBiao encoded TeX text
+
+ pk_directory $HBF_TARGET/pk/modeless/gb2312/gsfs14/
+ tfm_directory $HBF_TARGET/tfm/gb2312/gsfs14/
+.fi
+.if t \fP
+.PP
+A configuration file is a plain text file consisting of keywords and its
+arguments.
+A keyword must start a line, otherwise the whole line will be ignored.
+If the word starting a line is not a keyword, the line will be ignored too.
+Empty lines will also be skipped.
+The search for keywords is case insensitive; in contrast, the arguments will
+be taken exactly as given (except \(oqyes\(cq and \(oqno\(cq which can be written with
+uppercase or lowercase letters).
+Each keyword has one argument which must be separated by whitespace (blanks
+or tabs) from the keyword and must be on the same line.
+Each line must not be longer than 256 characters.
+.PP
+You can use environment variables in the configuration file.
+The escape character starting an environment variable in the configuration
+file is always \(oq\c
+.C $ \(cq,
+even for operating systems like DOS which has other conventions.
+.B hbf2gf
+recognizes only environment variable names which start with a letter or an
+underscore, followed by alphanumeric characters or underscores.
+You can surround the variable with braces to indicate where the variable
+name ends, for example
+.C ${FOO} .
+To get a dollar sign you must write \(oq\c
+.C $$ \(cq.
+The expansion of environment variables in hbf2gf itself (without the help of
+either kpathsea, emtexdir, or MiKTeX searching routines) is very limited;
+this feature has been carried over from previous versions.
+It can't expand variables set in texmf.cnf; it also can't handle more than
+one directory as the variable's value.
+.B Don't use it except for the \(oqpk_directory\(cq and \(oqtfm_directory\(cq
+.B parameters!
+.PP
+This is the list of all necessary keywords:
+.TP
+.B hbf_header
+The HBF header file name of the input font(s).
+.B hbf2gf
+uses the given searching mechanism (kpathsea, emtexdir, or MiKTeX) to locate
+this file.
+.TP
+.B output_name
+The name stem of the output files.
+A running two digit decimal number starting with \(oq\c
+.C 01 \(cq
+will be appended.
+For Unicode fonts see the keyword
+.B unicode
+below.
+This value is in almost all cases identical to the name of the configuration
+file.
+.PP
+And now all optional keywords:
+.TP
+.B x_offset
+Increases the character width.
+Will be applied on both sides; default for non-rotated glyphs is the value
+given in the HBF header
+.RB ( HBF_BITMAP_BOUNDING_BOX )
+scaled to
+.B design_size
+(in pixels).
+.TP
+.B y_offset
+Shifts all characters up or down; default for non-rotated glyphs is the value
+given in the HBF header
+.RB ( HBF_BITMAP_BOUNDING_BOX )
+scaled to
+.B design_size
+(in pixels).
+.TP
+.B design_size
+The design size (in points) of the font.
+.B x_offset
+and
+.B y_offset
+refer to this size.
+Default is\ 10.0.
+.TP
+.B slant
+The slant of the font (given as \*(DEx\ /\ \*(DEy).
+Only values in the range 0\ \(<=\ \fBslant\fP\ \(<=\ 1 are allowed.
+Default is\ 0.0.
+.TP
+.B rotation
+If set to \(oqyes\(cq, all glyphs will be rotated 90\ degrees counter-clockwise.
+The default offsets as given in the HBF header will be ignored (and set
+to\ 0).
+Default is \(oqno\(cq.
+.TP
+.B mag_x
+.TQ
+.B mag_y
+Scaling values of the characters to reach design size.
+If only one magnification is given, x and y values are assumed to be equal.
+Default is \fBmag_x\fP\ =\ \fBmag_y\fP\ =\ 1.0.
+.PP
+.TP
+.B threshold
+A value between 1 and\ 254 defining a threshold for converting the internal
+graymap into the output bitmap; lower values cut more pixels.
+Default value is\ 128.
+.PP
+.TP
+.B comment
+A comment describing the font; default is none.
+.PP
+.TP
+.B nmb_fonts
+The number of subfonts to create.
+Default value is \-1 for creating all fonts.
+.TP
+.B unicode
+If \(oqyes\(cq, a two digit hexadecimal number will be used as a running number,
+starting with the value of the first byte of the first code range.
+Default is \(oqno\(cq.
+.TP
+.B min_char
+The minimum value of the encoding.
+You should set this value to get correct subfile offsets if it is not
+identical to the lowest character code in the HBF file.
+.PP
+.TP
+.B dpi_x
+.TQ
+.B dpi_y
+The horizontal and vertical resolution (in dpi) of the printer.
+If only one resolution is given, x and y values are assumed to be equal.
+Default is\ 300.
+.TP
+.B checksum
+A checksum to identify the
+.C GF
+files with the appropriate
+.C TFM
+files.
+The default value of this unsigned 32bit integer is\ 0.
+.TP
+.B coding
+A comment describing the coding scheme; default is none.
+.PP
+.TP
+.B pk_directory
+The destination directory of the
+.C PK
+files; default: none.
+Attention!
+The batch file will not check whether this directory exists.
+.TP
+.B tfm_directory
+The destination directory of the
+.C TFM
+files; default: none.
+Attention!
+The batch file will not check whether this directory exists.
+.TP
+.B pk_files
+Whether to create
+.C PK
+files or not; default is \(oqyes\(cq.
+.TP
+.B tfm_files
+Whether to create
+.C TFM
+files or not; default is \(oqyes\(cq.
+.TP
+.B ofm_file
+Whether to create an
+.C OPL
+file or not; default is \(oqno\(cq.
+The batch file will then use
+.B ovp2ovf
+of the Omega distribution to convert it into an
+.C OFM
+and an
+.C OVF
+file.
+The
+.C OPL
+file simply maps all subfonts back to a single Omega font.
+.TP
+.B long_extension
+If \(oqyes\(cq,
+.C PK
+files will include the resolution in the extension (e.g.
+.C gsso1201.300pk ).
+This affects the batch file only (default is \(oqyes\(cq).
+.TP
+.B rm_command
+The shell command to remove files; default: \(oqrm\(cq.
+.TP
+.B cp_command
+The shell command to copy files; default: \(oqcp\(cq.
+.TP
+.B job_extension
+The extension of the batch file which calls
+.B gftopk
+and
+.B pltotf
+to convert the
+.C GF
+and the
+.C PL
+files into
+.C PK
+and
+.C TFM
+files respectively; default is none.
+.
+.
+.SH "FILE SEARCHING"
+.B hbf2gf
+uses either the
+.BR kpathsea ,
+.BR emtexdir ,
+or
+.B MiKTeX
+library for searching files
+.RB ( emtexdir
+will work only on operating systems which have an MS-DOSish background,
+i.e., MS-DOS, OS/2, Windows;
+.B MiKTeX
+is for Win32 systems).
+.
+.SS kpathsea
+Please note that older versions of
+.B kpathsea
+(<3.2) have no special means to seach for program related files.
+Additionally, versions older than 3.3 have no default path for miscellaneous
+fonts, thus we use the paths for PostScript related stuff if necessary for
+fonts resp. configuration files.
+The actual version of kpathsea is displayed on screen if you call
+.B hbf2gf
+.BR \-\-version .
+.PP
+Here is a table of the file type and the corresponding
+.B kpathsea
+variables.
+.PP
+Version\ 3.3 and newer (this won't change again in the future!):
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf MISCFONTS"
+.br
+.C "\&.cfg HBF2GFINPUTS"
+.PP
+Version\ 3.2:
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf T1FONTS"
+.br
+.C "\&.cfg HBF2GFINPUTS"
+.PP
+And here the same for pre-3.2-versions of
+.B kpathsea:
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf T1FONTS"
+.br
+.C "\&.cfg TEXCONFIG"
+.PP
+Finally, the same for versions\ \(<=2.6:
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf DVIPSHEADERS"
+.br
+.C "\&.cfg TEXCONFIG"
+.PP
+Please consult the info files of
+.B kpathsea
+for details on these variables.
+The decision which naming scheme to use for variables will be done during
+compilation.
+.PP
+You should set the
+.C TEXMFCNF
+variable to the directory where your
+.C texmf.cnf
+configuration file resides.
+.PP
+Here is the proper command to find out to which value a
+.B kpathsea
+variable is set (we use
+.C MISCFONTS
+as an example).
+This is especially useful if a variable isn't set in
+.C texmf.cnf
+or in the environment, thus pointing to the default value which is
+hard-coded into the
+.B kpathsea
+library.
+.PP
+.in +2m
+.C "kpsewhich \-progname=hbf2gf \-expand\-var='$MISCFONTS'"
+.PP
+We select the program name also since it is possible to specify
+variables which are searched only for a certain program \(en in our
+example it would be
+.C MISCFONTS.hbf2gf .
+.PP
+A similar but not identical method is to say
+.PP
+.in +2m
+.C "kpsewhich \-progname=hbf2gf \-show\-path='misc fonts'"
+.PP
+[A full list of format types can be obtained by saying \(oq\c
+.C "kpsewhich \-\-help" \(cq
+on the command line prompt.]
+This is exactly the how
+.B hbf2gf
+searches for files; the disadvantage is that all variables are expanded
+which can cause very long strings.
+.
+.SS emtexdir
+.PP
+Here the list of suffixes and its related environment variables to be set in
+.C autoexec.bat
+(resp. in
+.C config.sys
+for OS/2):
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf HBFONTS"
+.br
+.C "\&.cfg HBFCFG"
+.PP
+If one of the variables isn't set, a warning message is emitted.
+The current directory will always be searched.
+As usual, one exclamation mark appended to a directory path causes
+subdirectories one level deep to be searched, two exclamation marks causes
+all subdirectories to be searched.
+Example:
+.PP
+.in +2m
+.C HBFONTS=c:\\\\fonts\\\\hbf!!;d:\\\\myfonts\\\\hbf!
+.PP
+Constructions like \(oq\c
+.C c:\\\\fonts!!\\\\hbf \(cq
+aren't possible.
+.
+.SS MikTeX
+.PP
+Please consult the documentation files of
+.B MiKTeX
+for more details.
+.
+.
+.SH LIMITATIONS
+The x and y output size must not exceed
+.BR MAX_CHAR_SIZE ,
+which is defined at compile time; its default value is 1023\ (pixel).
+.
+.
+.SH "SEE ALSO"
+.BR ttf2pk (1)
+.PP
+.C hbf2gf.w :
+'in +\n(.ku
+this is the source code written in
+.B CWEB
+which can be converted into a pretty-printed \*(TX
+document using
+.BR cweave .
+The CJK package also contains a preformatted
+.C hbf2gf.dvi
+file.
+.PP
+the
+.B CJK
+documentation files (\c
+.C hbf2gf.txt ).
+.PP
+the
+.B Hanzi Bitmap File
+.RB ( HBF )
+standard version\ 1.3; available at
+.C ftp.ifcss.org
+.PP
+the Omega documentation available at
+.C ftp.ens.fr
+and the CTAN hosts and mirrors.
+.
+.
+.SH FILES
+.TP
+.C *.cfg
+The
+.B hbf2gf
+configuration scripts
+.TP
+.C *.hbf
+HBF header files which describe fixed-width bitmap fonts.
+Note that the bitmap font name(s) themselves as specified in the header files
+are irrelevant for
+.BR hbf2gf .
+.
+.
+.SH AVAILABILITY
+.B hbf2gf
+is part of the CJK macro package for \*(LE
+available at the CTAN hosts and its mirrors.
+.PP
+CJK fonts together with HBF header files can be found at
+.C ftp.ifcss.org
+and its mirrors.
+.
+.
+.SH AUTHORS
+Werner Lemberg
+.C <wl@gnu.org>
+.br
+Ross Paterson (the HBF API)
+.C <ross@soi.city.ac.uk>
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.c
new file mode 100644
index 00000000000..fd72d284ff3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.c
@@ -0,0 +1,2302 @@
+#define banner \
+"hbf2gf (CJK ver. 4.8.0)" \
+ \
+
+#define TRUE 1
+#define FALSE 0 \
+
+#define STRING_LENGTH 255 \
+
+#define FILE_NAME_LENGTH 1024 \
+ \
+
+#define VERSION \
+"\n" \
+"Copyright (C) 1996-1999 Werner Lemberg.\n" \
+"There is NO warranty. You may redistribute this software\n" \
+"under the terms of the GNU General Public License\n" \
+"and the HBF library copyright.\n" \
+"\n" \
+"For more information about these matters, see the files\n" \
+"named COPYING and hbf.c.\n" \
+"\n" \
+
+#define USAGE \
+"\n" \
+"Usage: hbf2gf [-q] configuration_file[.cfg]\n" \
+" hbf2gf [options] font_name x_resolution [y_scale | y_resolution]\n" \
+" hbf2gf -t [-q] font_name\n" \
+"\n" \
+" Convert a font in HBF format to TeX's GF resp. PK format.\n" \
+"\n" \
+" -q be silent\n" \
+" -p don't produce a PL file\n" \
+" -g don't produce a GF file\n" \
+" -n use no resolution in extension (only `.gf')\n" \
+" -t test for font_name (returns 0 on success)\n" \
+" --help print this message and exit\n" \
+" --version print version number and exit\n" \
+"\n" \
+
+#define GF_ID 131
+#define PRE 247 \
+
+#define header " hbf2gf output " \
+
+#define BOC 67
+#define BOC1 68
+#define EOC 69 \
+
+#define _2_16 65536.0
+#define _2_20 1048576.0 \
+
+#define XXX1 239
+#define XXX2 240
+#define XXX3 241
+#define XXX4 242 \
+
+#define YYY 243 \
+
+#define POST 248 \
+
+#define CHAR_LOC 245
+#define CHAR_LOC0 246 \
+
+#define POSTPOST 249
+#define POSTPOST_ID 223 \
+
+#define BLACK 1
+#define WHITE 0 \
+
+#define PIXEL_MAXVAL 255
+#define SCALE 4096
+#define HALFSCALE 2048 \
+
+#define MAX_CHAR_SIZE 1023 \
+
+#define PAINT_(x) (x)
+#define PAINT1 64
+#define PAINT2 65
+#define PAINT3 66 \
+
+#define SKIP0 70
+#define SKIP1 71
+#define SKIP2 72
+#define SKIP3 73 \
+
+#define NEW_ROW_(x) ((x) +74) \
+
+#define NOOP 244 \
+
+#define EXTENSION_LENGTH 8 \
+
+#define GFTOPK_NAME "gftopk"
+#define PLTOTF_NAME "pltotf"
+#define OVP2OVF_NAME "ovp2ovf" \
+
+#define PRINTER_MIN_RES_X 50
+#define PRINTER_MIN_RES_Y 50 \
+
+#define VALID_SUBCODE 1 \
+
+/*4:*/
+#line 193 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+/*10:*/
+#line 413 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#ifdef TM_IN_SYS_TIME
+#include <sys/time.h>
+#endif
+#include "hbf.h"
+
+
+
+/*:10*//*69:*/
+#line 2483 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#if defined(HAVE_LIBKPATHSEA)
+#ifdef VERY_OLD_KPATHSEA
+#include "kpathsea/proginit.h"
+#include "kpathsea/progname.h"
+#include "kpathsea/tex-glyph.h"
+#else
+#include "kpathsea/kpathsea.h"
+#endif
+
+#elif defined(HAVE_EMTEXDIR)
+#include "emtexdir.h"
+
+#elif defined(HAVE_MIKTEX)
+#include "miktex.h"
+#endif
+
+/*:69*/
+#line 194 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+/*11:*/
+#line 431 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_file(void);
+
+
+/*:11*//*13:*/
+#line 493 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_pre(void);
+
+
+/*:13*//*16:*/
+#line 581 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_data(void);
+
+
+/*:16*//*20:*/
+#line 692 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_post(void);
+
+
+/*:20*//*25:*/
+#line 836 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void fputl(long,FILE*);
+
+
+/*:25*//*29:*/
+#line 999 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void make_pixel_array(void);
+
+
+/*:29*//*36:*/
+#line 1227 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#ifdef __GNUC__
+__inline__
+#endif
+void read_row(unsigned char*);
+
+
+/*:36*//*39:*/
+#line 1279 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#ifdef __GNUC__
+__inline__
+#endif
+void write_row(unsigned char*);
+
+
+/*:39*//*41:*/
+#line 1334 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_coding(void);
+
+
+/*:41*//*45:*/
+#line 1495 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_pl(void);
+
+
+/*:45*//*47:*/
+#line 1592 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_ovp(void);
+
+
+/*:47*//*50:*/
+#line 1737 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_job(void);
+
+
+/*:50*//*54:*/
+#line 1986 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void read_config(void);
+
+
+/*:54*//*64:*/
+#line 2317 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+int fsearch(char*);
+
+
+/*:64*//*67:*/
+#line 2457 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void config_error(char*);
+
+
+/*:67*//*71:*/
+#line 2517 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+char*TeX_search_version(void);
+
+
+/*:71*//*74:*/
+#line 2552 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#ifdef HAVE_EMTEXDIR
+extern int setup_list(struct emtex_dir*,char*,const char*,unsigned);
+int dir_setup(struct emtex_dir*,const char*,const char*,unsigned);
+char*file_find(char*,struct emtex_dir*);
+#endif
+
+
+/*:74*//*79:*/
+#line 2649 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+char*TeX_search_cfg_file(char*);
+char*TeX_search_hbf_file(char*);
+
+
+/*:79*/
+#line 195 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+/*2:*/
+#line 129 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+int nmb_files= -1;
+int unicode= FALSE;
+
+int testing= FALSE;
+
+int mf_like= FALSE;
+int file_number= 0;
+
+double x_resolution= 0.0;
+double y_scale= 1.0;
+
+int pk_files= TRUE;
+int tfm_files= TRUE;
+int long_extension= TRUE;
+int quiet= FALSE;
+
+char config_file[FILE_NAME_LENGTH+4+1];
+
+char output_name[STRING_LENGTH+1];
+
+FILE*config,*out;
+HBF*hbf;
+
+#ifdef msdos
+#define WRITE_BIN "wb"
+#define WRITE_TXT "wt"
+#define READ_BIN "rb"
+#define READ_TXT "rt"
+#else
+#define WRITE_BIN "w"
+#define WRITE_TXT "w"
+#define READ_BIN "r"
+#define READ_TXT "r"
+#endif
+
+int end_of_file= FALSE;
+
+
+/*:2*//*15:*/
+#line 540 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+long char_adr[256];
+long*char_adr_p;
+
+int pk_offset_x;
+
+
+double tfm_offset_x;
+int pk_offset_y;
+
+double tfm_offset_y;
+
+int input_size_x;
+int input_size_y;
+const char*font_encoding;
+int pk_width;
+int pk_output_size_x;
+
+double tfm_output_size_x;
+int pk_output_size_y;
+double tfm_output_size_y;
+
+double design_size= 10.0;
+double target_size_x;
+double target_size_y;
+double magstep_x;
+double magstep_y;
+double slant;
+int rotation;
+
+double mag_x;
+double mag_y;
+
+int empty_char;
+int last_char;
+
+int dot_count;
+
+
+
+/*:15*//*19:*/
+#line 669 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+char coding[STRING_LENGTH+1];
+char comment[STRING_LENGTH+1];
+
+unsigned long checksum;
+
+long pk_total_min_x;
+long pk_total_max_x;
+long pk_total_min_y;
+long pk_total_max_y;
+
+int dpi_x;
+int dpi_y;
+double ppp_x;
+double ppp_y;
+
+
+/*:19*//*27:*/
+#line 876 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+HBF_CHAR code;
+const unsigned char*bitmap;
+
+unsigned char*bP;
+
+unsigned char out_char[MAX_CHAR_SIZE*MAX_CHAR_SIZE+1];
+
+unsigned char*out_char_p;
+
+unsigned char pixelrow[MAX_CHAR_SIZE];
+unsigned char temp_pixelrow[MAX_CHAR_SIZE];
+unsigned char new_pixelrow[MAX_CHAR_SIZE+1];
+
+int curr_row;
+
+long grayrow[MAX_CHAR_SIZE];
+
+long s_mag_x,s_mag_y,s_slant;
+
+
+/*:27*//*38:*/
+#line 1274 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+int threshold= 128;
+
+
+/*:38*//*49:*/
+#line 1726 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+char job_extension[EXTENSION_LENGTH+1];
+char rm_command[STRING_LENGTH+1];
+char cp_command[STRING_LENGTH+1];
+char pk_directory[STRING_LENGTH+1];
+char tfm_directory[STRING_LENGTH+1];
+
+int ofm_file= FALSE;
+
+
+/*:49*//*53:*/
+#line 1981 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+char Buffer[STRING_LENGTH+1];
+
+
+/*:53*//*58:*/
+#line 2099 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+int offset_x;
+int offset_y;
+
+HBF_CHAR user_min_char;
+int have_min_char= FALSE;
+
+/*:58*//*60:*/
+#line 2256 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+HBF_CHAR min_char,max_char;
+
+
+/*:60*//*62:*/
+#line 2283 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+char b2_codes[256];
+unsigned char min_2_byte,max_2_byte;
+int nmb_2_bytes= 0;
+
+
+/*:62*//*70:*/
+#line 2501 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#if defined(HAVE_LIBKPATHSEA)
+#ifdef KPSEDLL
+
+extern KPSEDLL char*kpathsea_version_string;
+#else
+extern DllImport char*kpathsea_version_string;
+#endif
+#elif defined(HAVE_EMTEXDIR)
+char emtex_version_string[]= "emTeXdir";
+#elif !defined(HAVE_MIKTEX)
+char no_version_string[]= "no search library";
+#endif
+
+
+/*:70*//*73:*/
+#line 2545 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#ifdef HAVE_EMTEXDIR
+struct emtex_dir cfg_path,hbf_path;
+#endif
+
+
+/*:73*//*76:*/
+#line 2591 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+char name_buffer[FILE_NAME_LENGTH+1];
+
+
+/*:76*/
+#line 196 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+
+
+int main(argc,argv)
+int argc;
+char*argv[];
+
+{char*p;
+
+/*78:*/
+#line 2613 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#if defined(HAVE_LIBKPATHSEA)
+#ifdef OLD_KPATHSEA
+kpse_set_progname(argv[0]);
+#else
+kpse_set_program_name(argv[0],"hbf2gf");
+#endif
+
+#ifdef VERY_OLD_KPATHSEA
+kpse_init_prog("HBF2GF",300,"cx",true,"cmr10");
+#else
+kpse_init_prog("HBF2GF",300,"cx","cmr10");
+#endif
+
+#elif defined(HAVE_EMTEXDIR)
+if(!dir_setup(&cfg_path,"HBFCFG",NULL,EDS_BANG))
+{fprintf(stderr,
+"Couldn't setup search path for configuration files\n");
+exit(1);
+}
+if(!dir_setup(&hbf_path,"HBFONTS",NULL,EDS_BANG))
+{fprintf(stderr,
+"Couldn't setup search path for HBF header files\n");
+exit(1);
+}
+#endif
+
+
+/*:78*/
+#line 205 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+
+/*7:*/
+#line 312 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+if(argc==2)
+{if(strcmp(argv[1],"--help")==0)
+/*6:*/
+#line 293 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{printf(USAGE);
+exit(0);
+}
+
+
+/*:6*/
+#line 315 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+else if(strcmp(argv[1],"--version")==0)
+/*5:*/
+#line 266 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{printf("\n");
+printf(banner);
+printf(" (%s)\n",TeX_search_version());
+printf(VERSION);
+exit(0);
+}
+
+
+/*:5*/
+#line 317 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+}
+
+while(argc> 1)
+{p= argv[1];
+if(p[0]!='-')
+break;
+if(p[1]=='p')
+tfm_files= FALSE;
+else if(p[1]=='g')
+pk_files= FALSE;
+else if(p[1]=='n')
+long_extension= FALSE;
+else if(p[1]=='q')
+quiet= TRUE;
+else if(p[1]=='t')
+testing= TRUE;
+
+argv++;
+argc--;
+}
+
+if(testing)
+{if(argc!=2)
+{fprintf(stderr,"Need exactly one parameter for `-t' option.\n");
+fprintf(stderr,"Try `hbf2gf --help' for more information.\n");
+exit(1);
+}
+}
+else if(argc<2||argc> 4)
+{fprintf(stderr,"Invalid number of parameters.\n");
+fprintf(stderr,"Try `hbf2gf --help' for more information.\n");
+exit(1);
+}
+
+
+/*:7*/
+#line 207 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+
+if(!quiet)
+printf("\n%s\n\n",banner);
+
+strncpy(config_file,argv[1],FILE_NAME_LENGTH);
+config_file[FILE_NAME_LENGTH]= '\0';
+
+if(argc> 2||testing)
+{int l= strlen(config_file);
+
+if(l> 2)
+config_file[l-2]= '\0';
+
+else
+{if(!quiet)
+printf("`%s' can't be a subfont created by hbf2gf\n",
+config_file);
+exit(2);
+}
+
+mf_like= TRUE;
+}
+
+read_config();
+
+if(mf_like)
+/*8:*/
+#line 357 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{if(unicode)
+file_number= (int)strtol(&argv[1][strlen(argv[1])-2],
+(char**)NULL,16);
+else
+file_number= atoi(&argv[1][strlen(argv[1])-2]);
+
+x_resolution= atof(argv[2]);
+if(x_resolution<PRINTER_MIN_RES_X)
+{fprintf(stderr,"Invalid horizontal resolution\n");
+exit(1);
+}
+
+if(argc> 3)
+{y_scale= atof(argv[3]);
+if(y_scale<0.01)
+{fprintf(stderr,
+"Invalid vertical scaling factor or resolution\n");
+exit(1);
+}
+if(y_scale> 10.0)
+y_scale= (double)x_resolution/y_scale;
+}
+}
+
+
+/*:8*/
+#line 234 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+
+/*28:*/
+#line 908 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{int col,offset;
+
+if(rotation)
+{int tmp;
+
+
+tmp= input_size_x;
+input_size_x= input_size_y;
+input_size_y= tmp;
+}
+
+if(mf_like)
+{target_size_x= design_size*(x_resolution/dpi_x);
+target_size_y= design_size*(x_resolution*y_scale/dpi_y);
+}
+else
+target_size_x= target_size_y= design_size;
+magstep_x= target_size_x/design_size;
+magstep_y= target_size_y/design_size;
+
+pk_offset_x= offset_x*magstep_x+0.5;
+pk_offset_y= offset_y*magstep_y+0.5;
+tfm_offset_x= offset_x/(dpi_x/72.27)/design_size;
+tfm_offset_y= offset_y/(dpi_y/72.27)/design_size;
+
+pk_width= input_size_x*mag_x*magstep_x+0.5;
+pk_output_size_x= input_size_x*mag_x*magstep_x+
+input_size_y*mag_y*magstep_y*slant+0.5;
+pk_output_size_y= input_size_y*mag_y*magstep_y+0.5;
+tfm_output_size_x= input_size_x*mag_x/
+(dpi_x/72.27)/design_size;
+tfm_output_size_y= input_size_y*mag_y/
+(dpi_y/72.27)/design_size;
+if(pk_output_size_x> MAX_CHAR_SIZE)
+{fprintf(stderr,"Output character box width too big\n");
+exit(1);
+}
+if(pk_output_size_y> MAX_CHAR_SIZE)
+{fprintf(stderr,"Output character box height too big\n");
+exit(1);
+}
+
+for(col= 0;col<input_size_x;++col)
+grayrow[col]= HALFSCALE;
+
+if(!mf_like)
+code= (min_char&0xFF00)+min_2_byte;
+else
+{if((file_number<(unicode?0:1))||(file_number>=0x100))
+{fprintf(stderr,"Invalid subfile number\n");
+exit(1);
+}
+
+if(unicode)
+{offset= 0;
+code= file_number*0x100;
+}
+else
+{offset= (file_number-1)*256%nmb_2_bytes;
+code= (min_char&0xFF00)+min_2_byte+
+(file_number-1)*256/nmb_2_bytes*0x100;
+}
+
+while(offset--)
+while(!b2_codes[code++&0xFF])
+
+;
+
+if(code> max_char)
+{fprintf(stderr,"Invalid subfile number\n");
+exit(1);
+}
+}
+
+s_mag_x= mag_x*magstep_x*SCALE;
+s_mag_y= mag_y*magstep_y*SCALE;
+s_slant= slant*SCALE;
+}
+
+
+/*:28*/
+#line 236 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+
+/*9:*/
+#line 392 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{int j,max_numb;
+
+if(!mf_like)
+{file_number= (unicode==TRUE?(min_char>>8):1);
+if(nmb_files==-1)
+max_numb= (unicode==TRUE?0x100:100);
+else
+max_numb= nmb_files;
+}
+else
+max_numb= 1;
+
+for(j= 0;(j<max_numb)&&!end_of_file;file_number++,j++)
+write_file();
+
+nmb_files= j;
+}
+
+
+/*:9*/
+#line 238 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+
+if(tfm_files)
+write_pl();
+if(ofm_file)
+write_ovp();
+if(!mf_like)
+write_job();
+
+hbfClose(hbf);
+
+exit(0);
+return 0;
+}
+
+
+/*:4*//*12:*/
+#line 439 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_file(void)
+{char output_file[FILE_NAME_LENGTH+1];
+
+
+if(pk_files)
+{if(mf_like)
+{if(unicode)
+sprintf(output_file,"%s%02x.%.0igf",
+output_name,file_number,
+long_extension?(int)(x_resolution+0.5):0);
+else
+sprintf(output_file,"%s%02i.%.0igf",
+output_name,file_number,
+long_extension?(int)(x_resolution+0.5):0);
+}
+else
+{if(unicode)
+sprintf(output_file,"%s%02x.gf",output_name,file_number);
+else
+sprintf(output_file,"%s%02i.gf",output_name,file_number);
+}
+if(!(out= fopen(output_file,WRITE_BIN)))
+{fprintf(stderr,"Couldn't open `%s'\n",output_file);
+exit(1);
+}
+if(!quiet)
+printf("Writing `%s' ",output_file);
+
+write_pre();
+write_data();
+write_post();
+fclose(out);
+
+if(!quiet)
+printf("\n");
+}
+else
+write_data();
+}
+
+
+/*:12*//*14:*/
+#line 500 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_pre(void)
+{char out_s[40],s[20];
+time_t secs_now;
+struct tm*time_now;
+
+
+strcpy(out_s,header);
+
+secs_now= time(NULL);
+time_now= localtime(&secs_now);
+strftime(s,20,"%Y.%m.%d:%H.%M",time_now);
+strcat(out_s,s);
+
+fputc(PRE,out);
+fputc(GF_ID,out);
+fputc(strlen(out_s),out);
+fputs(out_s,out);
+}
+
+
+/*:14*//*17:*/
+#line 586 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_data(void)
+{dot_count= 0;
+char_adr_p= char_adr;
+
+for(last_char= 0;(last_char<256)&&!end_of_file;last_char++)
+/*18:*/
+#line 611 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{if(dot_count++%10==0)
+if(pk_files&&!quiet)
+{printf(".");
+fflush(stdout);
+}
+
+empty_char= FALSE;
+make_pixel_array();
+if(end_of_file)
+return;
+
+if(pk_files)
+{*char_adr_p= ftell(out);
+char_adr_p++;
+
+if(empty_char)
+{fputc(BOC1,out);
+fputc((unsigned char)last_char,out);
+fputc(0,out);
+fputc(0,out);
+fputc(0,out);
+fputc(0,out);
+fputc(EOC,out);
+}
+else
+{fputc(BOC,out);
+fputl(last_char,out);
+fputl(-1L,out);
+fputl(pk_offset_x,out);
+fputl(pk_output_size_x+pk_offset_x,out);
+fputl(pk_offset_y,out);
+fputl(pk_output_size_y+pk_offset_y,out);
+
+write_coding();
+
+fputc(EOC,out);
+}
+}
+}
+
+
+/*:18*/
+#line 592 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+}
+
+
+/*:17*//*21:*/
+#line 697 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_post(void)
+{long special_adr;
+long post_adr;
+
+long designsize= design_size*_2_20;
+
+int pk_dx;
+long tfm_width;
+
+int i;
+long temp;
+
+
+ppp_x= dpi_x/72.27*magstep_x;
+ppp_y= dpi_y/72.27*magstep_y;
+
+pk_total_min_x= pk_offset_x;
+pk_total_max_x= pk_output_size_x+2*pk_offset_x;
+pk_total_min_y= pk_offset_y;
+pk_total_max_y= pk_output_size_y+pk_offset_y;
+
+pk_dx= pk_width+2*pk_offset_x;
+tfm_width= (tfm_output_size_x+2*tfm_offset_x)*_2_20;
+
+
+/*22:*/
+#line 743 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+special_adr= ftell(out);
+
+if(*coding)
+{fputc(XXX1,out);
+fputc(strlen(coding),out);
+fputs(coding,out);
+}
+
+if(*comment)
+{fputc(XXX1,out);
+fputc(strlen(comment),out);
+fputs(comment,out);
+}
+
+
+/*:22*/
+#line 723 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+/*23:*/
+#line 772 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+post_adr= ftell(out);
+fputc(POST,out);
+fputl(special_adr,out);
+
+fputl(designsize,out);
+fputl(checksum,out);
+fputl(ppp_x*_2_16,out);
+fputl(ppp_y*_2_16,out);
+fputl(pk_total_min_x,out);
+fputl(pk_total_max_x,out);
+fputl(pk_total_min_y,out);
+fputl(pk_total_max_y,out);
+
+char_adr_p= char_adr;
+
+if(pk_dx<256)
+{for(i= 0;i<last_char;i++)
+{fputc(CHAR_LOC0,out);
+fputc(i,out);
+fputc(pk_dx,out);
+fputl(tfm_width,out);
+fputl(*char_adr_p++,out);
+}
+}
+else
+{for(i= 0;i<last_char;i++)
+{fputc(CHAR_LOC,out);
+fputc(i,out);
+fputl(pk_dx*_2_16,out);
+fputl(0,out);
+fputl(tfm_width,out);
+fputl(*char_adr_p++,out);
+}
+}
+
+
+/*:23*/
+#line 724 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+/*24:*/
+#line 823 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+fputc(POSTPOST,out);
+fputl(post_adr,out);
+fputc(GF_ID,out);
+temp= ftell(out);
+i= (int)(temp%4)+4;
+while(i--)
+fputc(POSTPOST_ID,out);
+
+
+/*:24*/
+#line 725 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+}
+
+
+/*:21*//*26:*/
+#line 841 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void fputl(num,f)
+long num;
+FILE*f;
+
+{fputc(num>>24,f);
+fputc(num>>16,f);
+fputc(num>>8,f);
+fputc(num,f);
+}
+
+
+/*:26*//*30:*/
+#line 1004 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void make_pixel_array(void)
+{unsigned char*prP;
+unsigned char*temp_prP;
+unsigned char*new_prP;
+long*grP;
+
+register unsigned char*xP;
+register unsigned char*nxP;
+
+register int row,col;
+int rows_read= 0;
+register int need_to_read_row= 1;
+
+long frac_row_to_fill= SCALE;
+long frac_row_left= s_mag_y;
+
+int no_code= FALSE;
+
+
+prP= pixelrow;
+temp_prP= temp_pixelrow;
+new_prP= new_pixelrow;
+grP= grayrow;
+out_char_p= out_char;
+
+again:
+if(b2_codes[code&0xFF])
+{if(pk_files)
+{bitmap= hbfGetBitmap(hbf,code);
+bP= (unsigned char*)bitmap;
+
+
+if(!bitmap)
+empty_char= TRUE;
+else
+/*31:*/
+#line 1063 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{if(pk_output_size_y==input_size_y)
+temp_prP= prP;
+
+curr_row= input_size_y-1;
+for(row= 0;row<pk_output_size_y;++row)
+{/*32:*/
+#line 1077 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+if(pk_output_size_y==input_size_y)
+
+read_row(prP);
+else
+{while(frac_row_left<frac_row_to_fill)
+{if(need_to_read_row)
+if(rows_read<input_size_y)
+{read_row(prP);
+++rows_read;
+}
+
+for(col= 0,xP= prP;col<input_size_x;++col,++xP)
+grP[col]+= frac_row_left*(*xP);
+
+frac_row_to_fill-= frac_row_left;
+frac_row_left= s_mag_y;
+need_to_read_row= 1;
+}
+
+/*33:*/
+#line 1104 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+if(need_to_read_row)
+if(rows_read<input_size_y)
+{read_row(prP);
+++rows_read;
+need_to_read_row= 0;
+}
+
+for(col= 0,xP= prP,nxP= temp_prP;
+col<input_size_x;++col,++xP,++nxP)
+{register long g;
+
+
+g= grP[col]+frac_row_to_fill*(*xP);
+g/= SCALE;
+if(g> PIXEL_MAXVAL)
+g= PIXEL_MAXVAL;
+
+*nxP= g;
+grP[col]= HALFSCALE;
+}
+
+frac_row_left-= frac_row_to_fill;
+if(frac_row_left==0)
+{frac_row_left= s_mag_y;
+need_to_read_row= 1;
+}
+frac_row_to_fill= SCALE;
+
+
+/*:33*/
+#line 1097 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+}
+
+
+/*:32*/
+#line 1069 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+/*34:*/
+#line 1145 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+if(pk_width==input_size_x&&s_slant==0)
+
+write_row(temp_prP);
+else
+{register long g= HALFSCALE;
+register long frac_col_to_fill= SCALE;
+register long frac_col_left;
+register int need_col= 0;
+
+
+nxP= new_prP;
+
+frac_col_left= (pk_output_size_y-row)*s_slant;
+while(frac_col_left>=frac_col_to_fill)
+{*(nxP++)= 0;
+frac_col_left-= frac_col_to_fill;
+}
+
+if(frac_col_left> 0)
+frac_col_to_fill-= frac_col_left;
+
+for(col= 0,xP= temp_prP;col<input_size_x;++col,++xP)
+{frac_col_left= s_mag_x;
+while(frac_col_left>=frac_col_to_fill)
+{if(need_col)
+{++nxP;
+g= HALFSCALE;
+}
+
+g+= frac_col_to_fill*(*xP);
+g/= SCALE;
+if(g> PIXEL_MAXVAL)
+g= PIXEL_MAXVAL;
+
+*nxP= g;
+frac_col_left-= frac_col_to_fill;
+frac_col_to_fill= SCALE;
+need_col= 1;
+}
+
+if(frac_col_left> 0)
+{if(need_col)
+{++nxP;
+g= HALFSCALE;
+need_col= 0;
+}
+
+g+= frac_col_left*(*xP);
+frac_col_to_fill-= frac_col_left;
+}
+}
+
+/*35:*/
+#line 1203 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+if(frac_col_to_fill> 0)
+{--xP;
+g+= frac_col_to_fill*(*xP);
+}
+
+if(!need_col)
+{g/= SCALE;
+if(g> PIXEL_MAXVAL)
+g= PIXEL_MAXVAL;
+*nxP= g;
+}
+
+*(++nxP)= 0;
+
+write_row(new_prP);
+
+
+/*:35*/
+#line 1198 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+}
+
+
+/*:34*/
+#line 1071 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+}
+}
+
+
+/*:31*/
+#line 1040 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+}
+}
+else
+no_code= TRUE;
+
+if((code&0xFF)==max_2_byte)
+code+= 0xFF-(max_2_byte-min_2_byte);
+if(code>=max_char)
+{end_of_file= TRUE;
+return;
+}
+
+code++;
+
+if(no_code)
+{no_code= FALSE;
+goto again;
+}
+}
+
+
+/*:30*//*37:*/
+#line 1235 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#ifdef __GNUC__
+__inline__
+#endif
+void read_row(pixelrow)
+unsigned char*pixelrow;
+
+{register int col,bitshift,offset;
+register unsigned char*xP;
+register unsigned char item= 0;
+
+if(rotation)
+{bitshift= 7-(curr_row%8);
+offset= (input_size_y+7)/8;
+bP= (unsigned char*)bitmap+curr_row/8;
+for(col= 0,xP= pixelrow;col<input_size_x;++col,++xP)
+{*xP= ((*bP>>bitshift)&1)==1?PIXEL_MAXVAL:0;
+bP+= offset;
+}
+curr_row--;
+}
+else
+{bitshift= -1;
+for(col= 0,xP= pixelrow;col<input_size_x;++col,++xP)
+{if(bitshift==-1)
+{item= *(bP++);
+bitshift= 7;
+}
+*xP= ((item>>bitshift)&1)==1?PIXEL_MAXVAL:0;
+--bitshift;
+}
+}
+}
+
+
+/*:37*//*40:*/
+#line 1287 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#ifdef __GNUC__
+__inline__
+#endif
+void write_row(pixelrow)
+unsigned char*pixelrow;
+
+{register int col;
+register unsigned char*xP;
+
+for(col= 0,xP= pixelrow;col<pk_output_size_x;++col,++xP)
+*(out_char_p++)= (*xP>=threshold)?1:0;
+
+}
+
+
+/*:40*//*42:*/
+#line 1342 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_coding(void)
+{register int count,skip;
+register unsigned char paint;
+register int x,y;
+register unsigned char*cp;
+
+x= 0;
+y= 0;
+cp= out_char+y*pk_output_size_x+x;
+count= skip= 0;
+paint= WHITE;
+goto start;
+
+while(y<pk_output_size_y)
+{/*43:*/
+#line 1366 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+count= 0;
+x= 0;
+cp= out_char+y*pk_output_size_x+x;
+
+while(x<pk_output_size_x)
+{if(*cp==paint)
+count++;
+else
+{if(skip==0)
+{if(count<=164)
+fputc(NEW_ROW_(count),out);
+else
+{fputc(SKIP0,out);
+
+if(count<256)
+{fputc(PAINT1,out);
+fputc(count,out);
+}
+else
+{fputc(PAINT2,out);
+fputc(count>>8,out);
+fputc(count&0xFF,out);
+}
+}
+}
+else
+{if(skip==1)
+fputc(SKIP0,out);
+else
+{if(skip<256)
+{fputc(SKIP1,out);
+fputc(skip,out);
+}
+else
+{fputc(SKIP2,out);
+fputc(skip>>8,out);
+fputc(skip&0xFF,out);
+}
+}
+skip= 0;
+if(count<64)
+fputc(PAINT_(count),out);
+else if(count<256)
+{fputc(PAINT1,out);
+fputc(count,out);
+}
+else
+{fputc(PAINT2,out);
+fputc(count>>8,out);
+fputc(count&0xFF,out);
+}
+}
+count= 0;
+paint= BLACK;
+break;
+}
+x++;
+cp++;
+}
+if(x>=pk_output_size_x)
+{skip++;
+y++;
+continue;
+}
+
+
+/*:43*/
+#line 1357 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+start:
+/*44:*/
+#line 1434 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+while(x<pk_output_size_x)
+{if(*cp==paint)
+count++;
+else
+{if(count<64)
+fputc(PAINT_(count),out);
+else if(count<256)
+{fputc(PAINT1,out);
+fputc(count,out);
+}
+else
+{fputc(PAINT2,out);
+fputc(count>>8,out);
+fputc(count&0xFF,out);
+}
+count= 1;
+paint= BLACK-paint;
+}
+x++;
+cp++;
+}
+if(paint==BLACK)
+{if(count<64)
+fputc(PAINT_(count),out);
+else if(count<256)
+{fputc(PAINT1,out);
+fputc(count,out);
+}
+else
+{fputc(PAINT2,out);
+fputc(count>>8,out);
+fputc(count&0xFF,out);
+}
+paint= WHITE;
+}
+
+
+
+/*:44*/
+#line 1359 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+y++;
+}
+}
+
+
+/*:42*//*46:*/
+#line 1500 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_pl(void)
+{int i,pos;
+char output_file[FILE_NAME_LENGTH+1];
+long t,sc;
+char*s;
+char tfm_header[]= "Created by hbf2gf";
+
+file_number--;
+
+if(mf_like)
+{if(unicode)
+sprintf(output_file,"%s%02x.pl",output_name,file_number);
+else
+sprintf(output_file,"%s%02i.pl",output_name,file_number);
+}
+else
+sprintf(output_file,"%s.pl",output_name);
+
+if(!(out= fopen(output_file,WRITE_TXT)))
+{fprintf(stderr,"Couldn't open `%s'\n",output_file);
+exit(1);
+}
+if(!quiet)
+printf("\nWriting `%s'\n",output_file);
+
+fprintf(out,
+"\n(FAMILY %s%d)"
+"\n(CODINGSCHEME CJK-%s)",
+output_name,file_number,font_encoding);
+
+fprintf(out,
+"\n(DESIGNSIZE R %.6f)"
+"\n(COMMENT DESIGNSIZE IS IN POINTS)"
+"\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"
+"\n(CHECKSUM O %lo)"
+"\n(FONTDIMEN"
+"\n (SLANT R %.6f)"
+"\n (SPACE R 0.0)"
+"\n (STRETCH R 0.0)"
+"\n (SHRINK R 0.0)"
+"\n (XHEIGHT R 1.0)"
+"\n (QUAD R 1.0)"
+"\n (EXTRASPACE R 0.0)"
+"\n )",design_size,checksum,slant);
+
+s= tfm_header;
+i= strlen(s);
+t= ((long)i)<<24;
+sc= 16;
+pos= 18;
+
+fprintf(out,"\n");
+while(i> 0)
+{t|= ((long)(*(unsigned char*)s++))<<sc;
+sc-= 8;
+if(sc<0)
+{fprintf(out,"\n(HEADER D %d O %lo)",pos,t);
+t= 0;
+sc= 24;
+pos++;
+}
+i--;
+}
+if(t)
+fprintf(out,"\n(HEADER D %d O %lo)",pos,t);
+fprintf(out,"\n");
+
+for(i= 0;i<256;i++)
+{fprintf(out,
+"\n(CHARACTER O %o"
+"\n (CHARWD R %.6f)"
+"\n (CHARHT R %.6f)"
+"\n (CHARDP R %.6f)"
+"\n (CHARIC R %.6f)"
+"\n )",
+i,
+tfm_output_size_x+2*tfm_offset_x,
+tfm_output_size_y+tfm_offset_y,
+-tfm_offset_y,
+slant*(tfm_output_size_y+tfm_offset_y));
+}
+
+fclose(out);
+}
+
+
+
+/*:46*//*48:*/
+#line 1597 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_ovp(void)
+{int c,i,nmb_subfonts,remainder,count,pos;
+char output_file[FILE_NAME_LENGTH+1];
+long t,sc;
+char*s;
+char ofm_header[]= "Created by hbf2gf";
+
+nmb_subfonts= ((max_char-(min_char&0xFF00))/256*nmb_2_bytes)
+/256+1;
+remainder= ((max_char-(min_char&0xFF00))/256*nmb_2_bytes)
+%256;
+
+
+for(count= 0;count<(max_char&0xFF);count++)
+if(b2_codes[count])
+remainder++;
+if(remainder>=256)
+nmb_subfonts++;
+
+sprintf(output_file,"%s.ovp",output_name);
+
+if(!(out= fopen(output_file,WRITE_TXT)))
+{fprintf(stderr,"Couldn't open `%s'\n",output_file);
+exit(1);
+}
+if(!quiet)
+printf("\nWriting `%s'\n",output_file);
+
+fprintf(out,
+"\n(VTITLE Omega virtual font created by hbf2gf)"
+"\n(DESIGNSIZE R %.6f)"
+"\n(COMMENT DESIGNSIZE IS IN POINTS)"
+"\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"
+"\n(CHECKSUM O %lo)"
+"\n(FONTDIMEN"
+"\n (SLANT R %.6f)"
+"\n (SPACE R 0.0)"
+"\n (STRETCH R 0.0)"
+"\n (SHRINK R 0.0)"
+"\n (XHEIGHT R 1.0)"
+"\n (QUAD R 1.0)"
+"\n (EXTRASPACE R 0.0)"
+"\n )",design_size,checksum,slant);
+
+s= ofm_header;
+i= strlen(s);
+t= ((long)i)<<24;
+sc= 16;
+pos= 18;
+
+fprintf(out,"\n");
+while(i> 0)
+{t|= ((long)(*(unsigned char*)s++))<<sc;
+sc-= 8;
+if(sc<0)
+{fprintf(out,"\n(HEADER D %d O %lo)",pos,t);
+t= 0;
+sc= 24;
+pos++;
+}
+i--;
+}
+if(t)
+fprintf(out,"\n(HEADER D %d O %lo)",pos,t);
+fprintf(out,"\n");
+
+for(i= 0;i<nmb_subfonts;i++)
+{fprintf(out,
+"\n(MAPFONT D %i"
+"\n (FONTNAME %s%02i)"
+"\n (FONTCHECKSUM O %lo)"
+"\n (FONTAT R 1.0)"
+"\n (FONTDSIZE R %.6f)"
+"\n )",i,output_name,i+1,checksum,design_size);
+}
+
+for(c= min_char,i= 0,count= 0;c<=max_char;c++)
+{if(b2_codes[c&0xFF]==VALID_SUBCODE)
+{fprintf(out,
+"\n(CHARACTER O %o"
+"\n (CHARWD R %.6f)"
+"\n (CHARHT R %.6f)"
+"\n (CHARDP R %.6f)"
+"\n (CHARIC R %.6f)"
+"\n (MAP"
+"\n (SELECTFONT D %i)"
+"\n (SETCHAR O %o)"
+"\n )"
+"\n )",
+c,
+tfm_output_size_x+2*tfm_offset_x,
+tfm_output_size_y+tfm_offset_y,
+-tfm_offset_y,
+slant*(tfm_output_size_y+tfm_offset_y),
+i,
+count);
+
+count++;
+if(count==256)
+{count= 0;
+i++;
+}
+}
+else
+continue;
+}
+
+fclose(out);
+}
+
+
+
+/*:48*//*51:*/
+#line 1742 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void write_job(void)
+{FILE*out;
+int i,j;
+char buffer[FILE_NAME_LENGTH+1];
+
+
+strcpy(buffer,output_name);
+strcat(buffer,job_extension);
+if(!(out= fopen(buffer,WRITE_TXT)))
+{fprintf(stderr,"Couldn't open `%s'\n",buffer);
+exit(1);
+}
+if(!quiet)
+printf("\nWriting `%s'\n",buffer);
+
+if(pk_files)
+{if(unicode)
+{for(i= (min_char>>8),j= 0;j<nmb_files;i++,j++)
+fprintf(out,
+"%s %s%02x.gf %s%s%02x.%.0ipk\n"
+"%s %s%02x.gf\n",
+GFTOPK_NAME,output_name,i,
+pk_directory,output_name,i,
+long_extension?(int)(dpi_x*magstep_x+0.5):0,
+rm_command,output_name,i);
+}
+else
+{for(i= 1;i<=nmb_files;i++)
+fprintf(out,
+"%s %s%02i.gf %s%s%02i.%.0ipk\n"
+"%s %s%02i.gf\n",
+GFTOPK_NAME,output_name,i,
+pk_directory,output_name,i,
+long_extension?(int)(dpi_x*magstep_x+0.5):0,
+rm_command,output_name,i);
+}
+}
+
+if(tfm_files)
+{fprintf(out,
+"\n"
+"%s %s.pl %s.tfm\n"
+"%s %s.pl\n"
+"\n",
+PLTOTF_NAME,output_name,output_name,
+rm_command,output_name);
+
+if(unicode)
+{for(i= (min_char>>8),j= 0;j<nmb_files;i++,j++)
+fprintf(out,
+"%s %s.tfm %s%s%02x.tfm\n",
+cp_command,output_name,
+tfm_directory,output_name,i);
+}
+else
+{for(i= 1;i<=nmb_files;i++)
+fprintf(out,
+"%s %s.tfm %s%s%02i.tfm\n",
+cp_command,output_name,
+tfm_directory,output_name,i);
+}
+
+fprintf(out,
+"\n"
+"%s %s.tfm",
+rm_command,output_name);
+}
+
+if(ofm_file)
+{fprintf(out,
+"\n"
+"%s %s.ovp %s.ovf %s.ofm\n"
+"%s %s.ovp\n"
+"\n",
+OVP2OVF_NAME,output_name,output_name,output_name,
+rm_command,output_name);
+}
+
+fclose(out);
+}
+
+
+
+/*:51*//*55:*/
+#line 1994 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void read_config(void)
+{HBF_BBOX*boxp;
+char*real_config_file;
+
+
+/*56:*/
+#line 2046 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{int i,lastext= -1;
+
+for(i= 0;config_file[i];i++)
+if(config_file[i]=='.')
+lastext= i;
+else if(config_file[i]=='/'||
+config_file[i]==':'||
+config_file[i]=='\\')
+lastext= -1;
+
+if(lastext==-1)
+strcat(config_file,".cfg");
+}
+
+
+/*:56*/
+#line 2000 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+
+real_config_file= TeX_search_cfg_file(config_file);
+if(!real_config_file)
+{if(mf_like)
+{if(!quiet)
+printf("Couldn't find `%s'\n",config_file);
+exit(2);
+}
+else
+{fprintf(stderr,"Couldn't find `%s'\n",config_file);
+exit(1);
+}
+}
+
+if(!(config= fopen(real_config_file,READ_TXT)))
+{if(!testing)
+{fprintf(stderr,"Couldn't open `%s'\n",config_file);
+exit(1);
+}
+else
+{if(!quiet)
+fprintf(stderr,"Couldn't find or open `%s'\n",config_file);
+exit(2);
+}
+}
+
+if(testing)
+{if(!quiet)
+printf("%s\n",real_config_file);
+exit(0);
+}
+
+/*57:*/
+#line 2063 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{char hbf_header[STRING_LENGTH+1];
+char*real_hbf_header;
+
+if(!fsearch("hbf_header"))
+config_error("hbf_header");
+else
+strcpy(hbf_header,Buffer);
+
+real_hbf_header= TeX_search_hbf_file(hbf_header);
+if(!real_hbf_header)
+{fprintf(stderr,"Couldn't find `%s'\n",hbf_header);
+exit(1);
+}
+
+hbfDebug= 1;
+
+
+if(!(hbf= hbfOpen(real_hbf_header)))
+exit(1);
+
+hbfDebug= 0;
+
+boxp= hbfBitmapBBox(hbf);
+input_size_x= boxp->hbf_height;
+input_size_y= boxp->hbf_width;
+font_encoding= hbfProperty(hbf,"HBF_CODE_SCHEME");
+
+if(!fsearch("output_name"))
+config_error("output_name");
+else
+strcpy(output_name,Buffer);
+}
+
+
+/*:57*/
+#line 2033 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+/*59:*/
+#line 2107 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{if(fsearch("nmb_files"))
+nmb_files= atoi(Buffer);
+if(fsearch("unicode"))
+if(Buffer[0]=='y'||Buffer[0]=='Y')
+unicode= TRUE;
+if(fsearch("min_char"))
+{user_min_char= strtoul(Buffer,(char**)NULL,0);
+have_min_char= TRUE;
+}
+
+if(!mf_like)
+{if(fsearch("pk_files"))
+if(Buffer[0]=='n'||Buffer[0]=='N')
+pk_files= FALSE;
+if(fsearch("tfm_files"))
+if(Buffer[0]=='n'||Buffer[0]=='N')
+tfm_files= FALSE;
+if(fsearch("ofm_file"))
+if(Buffer[0]=='y'||Buffer[0]=='Y')
+ofm_file= TRUE;
+if(fsearch("long_extension"))
+if(Buffer[0]=='n'||Buffer[0]=='N')
+long_extension= FALSE;
+}
+
+if(fsearch("slant"))
+slant= atof(Buffer);
+if(slant<0.0||slant> 1.0)
+{fprintf(stderr,"Invalid slant\n");
+exit(1);
+}
+if(fsearch("rotation"))
+if(Buffer[0]=='y'||Buffer[0]=='Y')
+rotation= TRUE;
+
+if(fsearch("mag_x"))
+mag_x= atof(Buffer);
+if(fsearch("mag_y"))
+mag_y= atof(Buffer);
+if(!mag_x&&!mag_y)
+{mag_x= 1.0;
+mag_y= 1.0;
+}
+if(mag_x&&!mag_y)
+mag_y= mag_x;
+if(mag_y&&!mag_x)
+mag_x= mag_y;
+if(mag_x<=0.0)
+{fprintf(stderr,"Invalid horizontal magnification\n");
+exit(1);
+}
+if(mag_y<=0.0)
+{fprintf(stderr,"Invalid vertical magnification\n");
+exit(1);
+}
+
+if(fsearch("dpi_x"))
+dpi_x= atoi(Buffer);
+if(fsearch("dpi_y"))
+dpi_y= atoi(Buffer);
+if(!dpi_x&&!dpi_y)
+{dpi_x= 300;
+dpi_y= 300;
+}
+if(dpi_x&&!dpi_y)
+dpi_y= dpi_x;
+if(dpi_y&&!dpi_x)
+dpi_x= dpi_y;
+if(dpi_x<=PRINTER_MIN_RES_X)
+{fprintf(stderr,"Invalid horizontal printer resolution\n");
+exit(1);
+}
+if(dpi_y<=PRINTER_MIN_RES_Y)
+{fprintf(stderr,"Invalid vertical printer resolution\n");
+exit(1);
+}
+
+if(fsearch("design_size"))
+design_size= atof(Buffer);
+
+if(fsearch("x_offset"))
+offset_x= atoi(Buffer);
+else
+offset_x= rotation?0:(boxp->hbf_xDisplacement*mag_x+0.5);
+if(fsearch("y_offset"))
+offset_y= atoi(Buffer);
+else
+offset_y= rotation?0:(boxp->hbf_yDisplacement*mag_y+0.5);
+if(!fsearch("comment"))
+comment[0]= '\0';
+else
+strcpy(comment,Buffer);
+
+if(fsearch("threshold"))
+threshold= atoi(Buffer);
+if(threshold<=0||threshold>=255)
+{fprintf(stderr,"Invalid threshold\n");
+exit(1);
+}
+
+if(!fsearch("checksum"))
+checksum= 0;
+else
+checksum= strtoul(Buffer,(char**)NULL,0);
+
+if(!fsearch("coding"))
+coding[0]= '\0';
+else
+strcpy(coding,Buffer);
+
+if(!fsearch("pk_directory"))
+pk_directory[0]= '\0';
+else
+strcpy(pk_directory,Buffer);
+
+if(!fsearch("tfm_directory"))
+tfm_directory[0]= '\0';
+else
+strcpy(tfm_directory,Buffer);
+
+if(fsearch("rm_command"))
+strcpy(rm_command,Buffer);
+else
+strcpy(rm_command,"rm");
+
+if(fsearch("cp_command"))
+strcpy(cp_command,Buffer);
+else
+strcpy(cp_command,"cp");
+
+if(!fsearch("job_extension"))
+job_extension[0]= '\0';
+else
+{strncpy(job_extension,Buffer,EXTENSION_LENGTH);
+job_extension[EXTENSION_LENGTH]= '\0';
+}
+}
+
+
+/*:59*/
+#line 2034 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+
+/*61:*/
+#line 2261 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{const void*cp;
+HBF_CHAR dummy;
+
+cp= hbfGetCodeRange(hbf,NULL,&min_char,&max_char);
+for(;cp!=NULL;cp= hbfGetCodeRange(hbf,cp,&dummy,&max_char))
+;
+
+if(have_min_char)
+min_char= user_min_char;
+}
+
+
+/*:61*/
+#line 2036 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+/*63:*/
+#line 2290 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{const void*b2r;
+unsigned char dummy;
+int i;
+
+for(i= 0;i<256;i++)
+b2_codes[i]= 0;
+
+b2r= hbfGetByte2Range(hbf,NULL,&min_2_byte,&max_2_byte);
+dummy= min_2_byte;
+for(;b2r!=NULL;b2r= hbfGetByte2Range(hbf,b2r,&dummy,&max_2_byte))
+{for(i= dummy;i<=max_2_byte;i++)
+b2_codes[i]= VALID_SUBCODE;
+}
+
+for(i= 0;i<256;i++)
+if(b2_codes[i]==VALID_SUBCODE)
+nmb_2_bytes++;
+}
+
+
+/*:63*/
+#line 2037 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+
+fclose(config);
+}
+
+
+/*:55*//*65:*/
+#line 2322 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+int fsearch(search_string)
+char*search_string;
+
+{char*P,p;
+char temp_buffer[STRING_LENGTH+1];
+char env_name[STRING_LENGTH+1];
+char*env_p;
+char*env_value;
+char*Buf_p;
+int Ch,ch,old_ch= '\n';
+int count= STRING_LENGTH;
+
+rewind(config);
+
+do
+{P= search_string;
+p= tolower(*P);
+Ch= fgetc(config);
+ch= tolower(Ch);
+while(!(ch==p&&old_ch=='\n')&&Ch!=EOF)
+
+
+{old_ch= ch;
+Ch= fgetc(config);
+ch= tolower(Ch);
+}
+
+for(;;)
+{if(*(++P)=='\0')
+if((Ch= fgetc(config))==' '||Ch=='\t')
+
+goto success;
+Ch= fgetc(config);
+if(tolower(Ch)!=tolower(*P))
+break;
+}
+}
+while(Ch!=EOF);
+
+return 0;
+
+success:
+P= temp_buffer;
+
+while((Ch= fgetc(config))==' '||Ch=='\t')
+
+;
+while(Ch!='\n'&&--count> 0&&Ch!=EOF)
+{*P++= Ch;
+Ch= fgetc(config);
+}
+*P= '\0';
+
+if(*temp_buffer)
+/*66:*/
+#line 2402 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+{P= temp_buffer;
+Buf_p= Buffer;
+count= STRING_LENGTH-1;
+
+while(*P&&count> 0)
+{env_p= env_name;
+
+if(*P=='$')
+{P++;
+if(*P=='$')
+{*(Buf_p++)= *(P++);
+count--;
+continue;
+}
+while(*P=='{')
+P++;
+if(!(isalpha(*P)||*P=='_'))
+{fprintf(stderr,
+"Invalid environment variable name in configuration file\n");
+exit(1);
+}
+*(env_p++)= *(P++);
+while(*P)
+{if(isalnum(*P)||*P=='_')
+*(env_p++)= *(P++);
+else
+{while(*P=='}')
+P++;
+*env_p= '\0';
+break;
+}
+}
+
+env_value= getenv(env_name);
+if(env_value)
+{while(*env_value&&count> 0)
+{*(Buf_p++)= *(env_value++);
+count--;
+}
+}
+}
+else
+{*(Buf_p++)= *(P++);
+count--;
+}
+}
+*Buf_p= '\0';
+}
+
+
+/*:66*/
+#line 2377 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+else
+*Buffer= '\0';
+
+return(*Buffer)?1:0;
+}
+
+
+/*:65*//*68:*/
+#line 2462 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+void config_error(message)
+char*message;
+
+{fprintf(stderr,"Couldn't find `%s' entry in configuration file\n",
+message);
+exit(1);
+}
+
+
+
+/*:68*//*72:*/
+#line 2522 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+char*TeX_search_version(void)
+{
+#if defined(HAVE_LIBKPATHSEA)
+return kpathsea_version_string;
+#elif defined(HAVE_EMTEXDIR)
+return emtex_version_string;
+#elif defined(HAVE_MIKTEX)
+char buf[200];
+
+strcpy(buf,"MiKTeX ");
+miktex_get_miktex_version_string_ex(buf+7,sizeof(buf)-7);
+
+return buf;
+#else
+return no_version_string;
+#endif
+}
+
+
+/*:72*//*75:*/
+#line 2564 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#ifdef HAVE_EMTEXDIR
+int dir_setup(ed,env,dir,flags)
+struct emtex_dir*ed;
+const char*env;
+const char*dir;
+unsigned flags;
+
+{const char*val;
+char path[260];
+
+ed->alloc= 0;
+ed->used= 0;
+ed->list= NULL;
+
+if(env!=NULL&&(val= getenv(env))!=NULL)
+return setup_list(ed,path,val,flags);
+else
+fprintf(stderr,
+"Environment variable `%s' not set; use current directory\n",
+env);
+
+return TRUE;
+}
+
+
+/*:75*//*77:*/
+#line 2596 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+char*file_find(name,list)
+char*name;
+struct emtex_dir*list;
+
+{if(emtex_dir_find(name_buffer,sizeof(name_buffer),list,name,EDF_CWD))
+return name_buffer;
+
+return NULL;
+}
+#endif
+
+
+/*:77*//*80:*/
+#line 2655 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w"
+
+#if defined(HAVE_LIBKPATHSEA)
+char*TeX_search_cfg_file(name)
+char*name;
+
+{
+#ifdef OLD_KPATHSEA
+return kpse_find_file(name,kpse_dvips_config_format,TRUE);
+#else
+return kpse_find_file(name,kpse_program_text_format,TRUE);
+#endif
+}
+
+
+char*TeX_search_hbf_file(name)
+char*name;
+
+{
+#ifdef VERY_OLD_KPATHSEA
+return kpse_find_file(name,kpse_dvips_header_format,TRUE);
+#else
+#ifndef KPSEDLL
+return kpse_find_file(name,kpse_type1_format,TRUE);
+#else
+return kpse_find_file(name,kpse_miscfonts_format,TRUE);
+#endif
+#endif
+}
+
+
+#elif defined(HAVE_EMTEXDIR)
+char*TeX_search_cfg_file(name)
+char*name;
+
+{return file_find(name,&cfg_path);
+}
+
+
+char*TeX_search_hbf_file(name)
+char*name;
+
+{return file_find(name,&hbf_path);
+}
+
+
+#elif defined(HAVE_MIKTEX)
+char*TeX_search_cfg_file(name)
+char*name;
+
+{char result[_MAX_PATH];
+
+if(!miktex_find_input_file("hbf2gf",*name,result))
+return 0;
+return strdup(result);
+}
+
+
+char*TeX_search_hbf_file(name)
+char*name;
+
+{char result[_MAX_PATH];
+
+
+if(!miktex_find_miscfont_file(*name,result))
+return 0;
+return strdup(result);
+}
+
+
+#else
+char*TeX_search_cfg_file(name)
+char*name;
+
+{return name;
+}
+
+
+char*TeX_search_hbf_file(name)
+char*name;
+
+{return name;
+}
+#endif
+
+
+
+/*:80*/
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.def b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.def
new file mode 100644
index 00000000000..21236cd42ad
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.def
@@ -0,0 +1,3 @@
+NAME HBF2GF WINDOWCOMPAT
+DESCRIPTION 'hbf2gf (CJK Ver. 4.8.0)'
+STACKSIZE 0x80000
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.w b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.w
new file mode 100644
index 00000000000..b703caa5ebb
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.w
@@ -0,0 +1,2872 @@
+% This is the cweb file hbf2gf.w of the CJK package ver. 4.8.0 22-May-2008
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +ai hbf2gf.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\font\meta=logo10
+\def\mf{{\meta META}\-{\meta FONT}}
+\def\Om{\char "0A} % Omega symbol
+
+\def\title{hbf2gf (CJK Version 4.8.0)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont hbf2gf} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.0)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright~1996-1999 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice are
+ preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+
+\def\msdos{\.{msdos}}
+@s msdos TeX
+
+@s HBF int
+@s HBF_CHAR int
+@s HBF_BBOX int
+
+@s __inline__ int
+@s DllImport int
+@s KPSEDLL int
+
+
+@* Introduction.
+This is the \.{hbf2gf} program by Werner Lemberg
+(\.{wl@@gnu.org}).
+
+The ``banner line'' defined here should be changed whenever \.{hbf2gf} is
+modified.
+
+@d banner
+"hbf2gf (CJK ver. 4.8.0)"
+
+
+@
+\.{hbf2gf} is intended to convert Hanzi Bitmap Fonts (HBF) into \TeX\
+generic font files (\.{GF} files) according to the \\{CJK} package, which
+\.{hbf2gf} is part of.
+
+The outline of \.{hbf2gf} is simple: a CJK (Chinese/Japanese/Korean) bitmap
+file will be scaled and written in at most |nmb_files| \.{GF} files, each
+file containing |256|~characters (except the last and possibly the first
+one). In the normal case it's not necessary to compute the right value of
+|nmb_files| because \.{hbf2gf} will do this; you should use |-1| instead to
+indicate this. See the last section for an example.
+
+Alternatively you can call \.{hbf2gf} similar to \mf, i.e., the program will
+compute one font on demand. This mode will be used if two or three input
+parameters instead of one are given: the font name, the horizontal
+resolution, and optionally a vertical scaling factor or resolution to allow
+modes for e.g.\ $300\times600\,\hbox{dpi}$ printers. \.{hbf2gf} will extract
+the configuration file name from the font name; if this file isn't found,
+the program exits with error code~|2| (this is useful for scripts like
+\.{mktexpk}). If the configuration file is found but an error occurs while
+computing the font, error code~|1| is returned. In case of success, the exit
+code is zero.
+
+The characters in the input font files are completely described by the HBF
+header file. This program uses the HBF API implementation of Ross Paterson
+(\.{ross@@soi.city.ac.uk}; with small extensions). You will find a
+description of the HBF standard at \.{ftp.ifcss.org}.
+
+A batch file created by \.{hbf2gf} too (if the program computes a whole set
+of subfonts) will convert the \.{GF} files to \.{PK} files using
+\.{GFtoPK}, a part of every \TeX\ package.
+
+@d TRUE 1
+@d FALSE 0@#
+
+@d STRING_LENGTH 255
+ /* the maximal length of an input string in the configuration file */
+@d FILE_NAME_LENGTH 1024
+ /* the maximal length (including the path) of a filename */@#
+
+@<Global variables@>=
+int nmb_files = -1; /* create all files by default */
+int unicode = FALSE; /* whether a Unicode font should be processed */@#
+
+int testing = FALSE; /* whether we test only the font name */@#
+
+int mf_like = FALSE; /* whether we are in the \mf-like mode */
+int file_number = 0; /* the subfont number */@#
+
+double x_resolution = 0.0; /* the second and third input parameter */
+double y_scale = 1.0;@#
+
+int pk_files = TRUE; /* command line options */
+int tfm_files = TRUE;
+int long_extension = TRUE;
+int quiet = FALSE;@#
+
+char config_file[FILE_NAME_LENGTH + 4 + 1];
+ /* we probably must add `\.{.cfg}' */
+char output_name[STRING_LENGTH + 1];@#
+
+FILE *config, *out;
+HBF *hbf;@#
+
+#ifdef msdos /* if we compile under DOS or OS/2 */
+#define WRITE_BIN "wb"
+#define WRITE_TXT "wt"
+#define READ_BIN "rb"
+#define READ_TXT "rt"
+#else
+#define WRITE_BIN "w"
+#define WRITE_TXT "w"
+#define READ_BIN "r"
+#define READ_TXT "r"
+#endif@#
+
+int end_of_file = FALSE;
+
+
+@
+One \.{PL} file will be created additionally, which describes the font
+metrics in a readable way. Because all CJK characters have identical
+bounding boxes, one metrics file is enough---the batch job created by
+\.{hbf2gf} calls \.{PLtoTF} to produce this \.{TFM} file and then copies
+it into |nmb_files| metrics files. There usually will be a discrepancy
+between the number of characters in the last \.{GF} file and the
+\.{TFM} file, but this does not harm.
+
+If you specify the \.{ofm\_file} option in the configuration file, an
+extended virtual property file (such files have the extension \.{.ovp}) for
+the \Om\ system is written; this will be then converted with
+\.{ovp2ovf} into an \.{OFM} and an \.{OVF} file to map all the subfonts
+into one large virtual font.
+
+
+
+@* The main routine.
+The main routine takes |file_name|, |x_resolution|, and |y_scale| as command
+line parameters if in \mf-like mode, otherwise |config_file| as the only
+argument. |read_config()| scans the configuration file and fills the global
+variables, |write_file()| writes the \.{GF} files, |write_pl()| and
+|write_ovp()| write the \.{PL} and \.{OVP} files respectively, and
+|write_job()| the batch file.
+
+@c
+@<Include files@>@;
+@<Prototypes@>@;
+@<Global variables@>@;@#
+
+
+int main(argc, argv)
+ int argc; /* argument count */
+ char *argv[]; /* argument values */
+
+ {char *p;
+
+ @<Initialize \TeX\ file searching@>@;@#
+
+ @<Scan options@>@;@#
+
+ if(!quiet)
+ printf("\n%s\n\n", banner);@#
+
+ strncpy(config_file, argv[1], FILE_NAME_LENGTH);
+ config_file[FILE_NAME_LENGTH] = '\0';@#
+
+ if(argc > 2 || testing)
+ {int l = strlen(config_file);
+
+ if(l > 2)
+ config_file[l - 2] = '\0';
+ /* strip subfont number from file name */
+ else
+ {if(!quiet)
+ printf("`%s' can't be a subfont created by hbf2gf\n",
+ config_file);
+ exit(2);
+ }@#
+
+ mf_like = TRUE;
+ }@#
+
+ read_config(); /* will call |exit(1)| on errors */@#
+
+ if(mf_like)
+ @<Check other arguments@>@;@#
+
+ @<Initialize variables@>@;@#
+
+ @<Write files@>@;@#
+
+ if(tfm_files)
+ write_pl();
+ if(ofm_file)
+ write_ovp();
+ if(!mf_like)
+ write_job();@#
+
+ hbfClose(hbf);@#
+
+ exit(0);
+ return 0; /* never reached */
+ }
+
+
+@
+@d VERSION @/
+"\n"@/
+"Copyright (C) 1996-1999 Werner Lemberg.\n"@/
+"There is NO warranty. You may redistribute this software\n"@/
+"under the terms of the GNU General Public License\n"@/
+"and the HBF library copyright.\n"@/
+"\n"@/
+"For more information about these matters, see the files\n"@/
+"named COPYING and hbf.c.\n"@/
+"\n"
+
+@<Print version@>=
+ {printf("\n");
+ printf(banner);
+ printf(" (%s)\n", TeX_search_version());
+ printf(VERSION);
+ exit(0);
+ }
+
+
+@
+@d USAGE @/
+"\n"@/
+"Usage: hbf2gf [-q] configuration_file[.cfg]\n"@/
+" hbf2gf [options] font_name x_resolution [y_scale | y_resolution]\n"@/
+" hbf2gf -t [-q] font_name\n"@/
+"\n"@/
+" Convert a font in HBF format to TeX's GF resp. PK format.\n"@/
+"\n"@/
+" -q be silent\n"@/
+" -p don't produce a PL file\n"@/
+" -g don't produce a GF file\n"@/
+" -n use no resolution in extension (only `.gf')\n"@/
+" -t test for font_name (returns 0 on success)\n"@/
+" --help print this message and exit\n"@/
+" --version print version number and exit\n"@/
+"\n"
+
+@<Print help information@>=
+ {printf(USAGE);
+ exit(0);
+ }
+
+
+@
+Three options can be specified to the program (\.{-p}, \.{-g}, and \.{-n})
+if in \mf-like mode to suppress creation of a \.{PL} resp.\ a
+\.{GF} file, and to force a `\.{.gf}' extension (instead of
+e.g.\ `\.{.300gf}'). The corresponding setting of a particular switch in the
+configuration file is ignored then.
+
+Additionally, the option \.{-t} tests whether the specified subfont name
+leads to an \.{hbf2gf} configuration file. It returns 0 on success and prints
+out the name of that configuration file (provided the \.{-q} switch isn't
+set). This test isn't a thorough one; it only removes the last two characters
+and checks whether a configuration file with that name exists.
+
+@<Scan options@>=
+ if(argc == 2)
+ {if(strcmp(argv[1], "--help") == 0)
+ @<Print help information@>@;
+ else if(strcmp(argv[1], "--version") == 0)
+ @<Print version@>@;
+ }@#
+
+ while(argc > 1)
+ {p = argv[1];
+ if(p[0] != '-')
+ break;
+ if(p[1] == 'p')
+ tfm_files = FALSE;
+ else if(p[1] == 'g')
+ pk_files = FALSE;
+ else if(p[1] == 'n')
+ long_extension = FALSE;
+ else if(p[1] == 'q')
+ quiet = TRUE;
+ else if(p[1] == 't')
+ testing = TRUE;@#
+
+ argv++;
+ argc--;
+ }@#
+
+ if(testing)
+ {if(argc != 2)
+ {fprintf(stderr, "Need exactly one parameter for `-t' option.\n");
+ fprintf(stderr, "Try `hbf2gf --help' for more information.\n");
+ exit(1);
+ }
+ }
+ else if(argc < 2 || argc > 4)
+ {fprintf(stderr, "Invalid number of parameters.\n");
+ fprintf(stderr, "Try `hbf2gf --help' for more information.\n");
+ exit(1);
+ }@#
+
+
+@
+If the (optional) argument is larger than~|10|, we treat it as a value for
+the vertical resolution (in dpi), otherwise as a vertical scaling factor.
+
+@<Check other arguments@>=
+ {if(unicode)
+ file_number = (int)strtol(&argv[1][strlen(argv[1]) - 2],
+ (char **)NULL, 16);
+ else
+ file_number = atoi(&argv[1][strlen(argv[1]) - 2]);@#
+
+ x_resolution = atof(argv[2]);
+ if(x_resolution < PRINTER_MIN_RES_X)
+ {fprintf(stderr, "Invalid horizontal resolution\n");
+ exit(1);
+ }@#
+
+ if(argc > 3)
+ {y_scale = atof(argv[3]);
+ if(y_scale < 0.01)
+ {fprintf(stderr,
+ "Invalid vertical scaling factor or resolution\n");
+ exit(1);
+ }
+ if(y_scale > 10.0)
+ y_scale = (double)x_resolution / y_scale;
+ }
+ }
+
+
+@
+If |unicode| is |TRUE|, the start value of the running number appended to
+the base name of the output font files is taken from the HBF header file,
+otherwise it starts with~`\.{01}'. |min_char| represents the lower bound of
+the code range.
+
+If we are in \mf-like mode, |file_number| is taken from the command line,
+and |max_numb| will be set to~|1|.
+
+@<Write files@>=
+ {int j, max_numb;
+
+ if(!mf_like)
+ {file_number = (unicode == TRUE ? (min_char >> 8) : 1);
+ if(nmb_files == -1)
+ max_numb = (unicode == TRUE ? 0x100 : 100);
+ else
+ max_numb = nmb_files;
+ }
+ else
+ max_numb = 1;@#
+
+ for(j = 0; (j < max_numb) && !end_of_file; file_number++, j++)
+ write_file();@#
+
+ nmb_files = j; /* the real number of output font files */
+ }
+
+
+@
+@<Include files@>=
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#ifdef TM_IN_SYS_TIME
+#include <sys/time.h>
+#endif
+#include "hbf.h"
+
+
+
+@* The functions.
+The first function to be described is |write_file()|. Each \.{GF} file
+consists of three sections: a preamble, a data section, and a postamble. The
+functions |write_pre()|, |write_data()|, and |write_post()| handle this.
+
+@<Prototypes@>=
+void write_file(void);
+
+
+@
+In \mf-like mode we create font file name extensions similar to \mf\ if
+the \.{-n} option isn't specified; otherwise only `\.{.gf}' will be appended.
+
+@c
+void write_file(void)
+ {char output_file[FILE_NAME_LENGTH + 1];
+
+
+ if(pk_files)
+ {if(mf_like)
+ {if(unicode)
+ sprintf(output_file, "%s%02x.%.0igf",@/
+ output_name, file_number,
+ long_extension ? (int)(x_resolution + 0.5) : 0);
+ else
+ sprintf(output_file, "%s%02i.%.0igf",@/
+ output_name, file_number,
+ long_extension ? (int)(x_resolution + 0.5) : 0);
+ }
+ else
+ {if(unicode)
+ sprintf(output_file, "%s%02x.gf", output_name, file_number);
+ else
+ sprintf(output_file, "%s%02i.gf", output_name, file_number);
+ }
+ if(!(out = fopen(output_file, WRITE_BIN)))
+ {fprintf(stderr, "Couldn't open `%s'\n", output_file);
+ exit(1);
+ }
+ if(!quiet)
+ printf("Writing `%s' ", output_file);@#
+
+ write_pre();
+ write_data();
+ write_post();
+ fclose(out);@#
+
+ if(!quiet)
+ printf("\n");
+ }
+ else
+ write_data();
+ }
+
+
+@
+The preamble has two bytes at the very beginning, |PRE| and |GF_ID|. |PRE|
+starts the preamble, and |GF_ID| is the Generic Font Identity Byte. The next
+bytes are a string in Pascal format containing a header, the date, and the
+time. Strings in Pascal format start with the length of the string and have
+no terminating NULL byte.
+
+@d GF_ID 131
+@d PRE 247@#
+
+@d header " hbf2gf output "
+
+@<Prototypes@>=
+void write_pre(void);
+
+
+@
+@s tm int
+
+@c
+void write_pre(void)
+ {char out_s[40], s[20];
+ time_t secs_now;
+ struct tm *time_now;
+
+
+ strcpy(out_s, header);@#
+
+ secs_now = time(NULL); /* system date and time */
+ time_now = localtime(&secs_now);
+ strftime(s, 20, "%Y.%m.%d:%H.%M", time_now);
+ strcat(out_s, s);@#
+
+ fputc(PRE, out);
+ fputc(GF_ID, out);
+ fputc(strlen(out_s), out);
+ fputs(out_s, out);
+ }
+
+
+@
+|write_data()| produces the middle part of the \.{GF} file. It first sets
+|char_adr_p| equal to the address of |char_adr[]| which will contain file
+offsets of the compressed characters.
+
+|input_size_x| and |input_size_y| reflect the original dimensions of the
+bitmap font, |pk_output_size_x| and |pk_output_size_y| contain the width and
+height of the output character box (in pixels), |pk_offset_x| and
+|pk_offset_y| define the baseline of the font. The same names starting with
+`\\{tfm\_}' instead of `\\{pk\_}' are used for \.{TFM} files (values are
+multiples of design size). |mag_x| and |mag_y| hold the scaling factors
+which are needed to reach |design_size|. |slant| defines the slant ($\Delta
+x / \Delta y$), |target_size_x| and |target_size_y| will be the final
+dimensions; |magstep_x = target_size_x / design_size| is \TeX's
+\.{\\magstep}.
+
+The \CEE/ standard specifies that all global values will be automatically
+set to~|0| if no initialization value is given.
+
+@<Global...@>=
+long char_adr[256];
+long *char_adr_p;@#
+
+int pk_offset_x;
+ /* horizontal offset (increase character width a bit; will be applied on
+ both the left and the right side) */
+double tfm_offset_x;
+int pk_offset_y;
+ /* vertical offset (must be configured to desired font size) */
+double tfm_offset_y;@#
+
+int input_size_x;
+int input_size_y;
+const char *font_encoding; /* taken from the HBF file */
+int pk_width; /* without slant */
+int pk_output_size_x;
+ /* the output character box dimensions without offsets */
+double tfm_output_size_x;
+int pk_output_size_y;
+double tfm_output_size_y;@#
+
+double design_size = 10.0; /* in points */
+double target_size_x; /* in points */
+double target_size_y;
+double magstep_x;
+double magstep_y;
+double slant;
+int rotation;@#
+
+double mag_x; /* horizontal and vertical magnification values */
+double mag_y;@#
+
+int empty_char; /* a flag whether the character does not exist or is empty */
+int last_char; /* the last valid character in a \.{GF} file */@#
+
+int dot_count; /* this counts the processed characters;
+ every ten characters a dot is output to the screen */
+
+
+@
+@<Prototypes@>=
+void write_data(void);
+
+
+@
+@c
+void write_data(void)
+ {dot_count = 0;
+ char_adr_p = char_adr;@#
+
+ for(last_char = 0; (last_char < 256) && !end_of_file; last_char++)
+ @<Write character@>@;
+ }
+
+
+@
+The code in this section saves the current file position first and calls
+|make_pixel_array()|, which expands and scales the character bitmap.
+
+|BOC| (and |BOC1|), the Begin Of Character command byte, must be followed by
+the character code and the dimensions of the character as explained in
+``\mf---the program'' (corrected by vertical and horizontal offsets).
+
+|write_coding()| compresses and outputs the bitmap; |EOC| (End Of Character)
+finishes the current character.
+
+@d BOC 67
+@d BOC1 68 /* simplified version of |BOC| */
+@d EOC 69
+
+@<Write character@>=
+ {if(dot_count++ % 10 == 0) /* a progress report for impatient users */
+ if(pk_files && !quiet)
+ {printf(".");
+ fflush(stdout);
+ }@#
+
+ empty_char = FALSE;
+ make_pixel_array();
+ if(end_of_file)
+ return;@#
+
+ if(pk_files)
+ {*char_adr_p = ftell(out);
+ char_adr_p++;@#
+
+ if(empty_char)
+ {fputc(BOC1, out);
+ fputc((unsigned char)last_char, out);
+ fputc(0, out);
+ fputc(0, out);
+ fputc(0, out);
+ fputc(0, out);
+ fputc(EOC, out);
+ }
+ else
+ {fputc(BOC, out);
+ fputl(last_char, out);
+ fputl(-1L, out);
+ fputl(pk_offset_x, out);
+ fputl(pk_output_size_x + pk_offset_x, out);
+ fputl(pk_offset_y, out);
+ fputl(pk_output_size_y + pk_offset_y, out);@#
+
+ write_coding();@#
+
+ fputc(EOC, out);
+ }
+ }
+ }
+
+
+@
+The current \.{GF} file will be completed with data written by
+|write_post()|. The end consists of three sections: ``special'', ``post'',
+and ``postpost''. The first contains material not used by \TeX\ itself but
+which can be used by other programs like \.{GFtoDVI} or for documentary
+purposes (|coding[]| and |comment[]|). The second describes the font as a
+whole, and the last marks the end of the file.
+
+|pk_total_min_x| up to |pk_total_max_y| define the greatest bounding box of
+this file (including offsets); the horizontal character escapement after
+drawing the character is |pk_dx|. |tfm_width| is the width in multiples of
+the design size ignoring the target size.
+
+@d _2_16 65536.0 /* $2^{16}$ */
+@d _2_20 1048576.0 /* $2^{20}$ */
+
+@<Global...@>=
+char coding[STRING_LENGTH + 1]; /* a comment describing the font encoding */
+char comment[STRING_LENGTH + 1]; /* a comment describing the font */@#
+
+unsigned long checksum;@#
+
+long pk_total_min_x;
+long pk_total_max_x;
+long pk_total_min_y;
+long pk_total_max_y;@#
+
+int dpi_x; /* printer resolution */
+int dpi_y;
+double ppp_x; /* pixels per point */
+double ppp_y;
+
+
+@
+To clarify the meaning of these values see the sections about the metrics
+and configuration file also.
+
+\TeX\ defines that 72.27~points are exactly 1~inch.
+
+@<Prototypes@>=
+void write_post(void);
+
+
+@
+@c
+void write_post(void)
+ {long special_adr;
+ long post_adr;@#
+
+ long designsize = design_size * _2_20; /* design size $* 2^{20}$ */@#
+
+ int pk_dx;
+ long tfm_width;@#
+
+ int i;
+ long temp;
+
+
+ ppp_x = dpi_x / 72.27 * magstep_x;
+ ppp_y = dpi_y / 72.27 * magstep_y;@#
+
+ pk_total_min_x = pk_offset_x;
+ pk_total_max_x = pk_output_size_x + 2 * pk_offset_x;
+ pk_total_min_y = pk_offset_y;
+ pk_total_max_y = pk_output_size_y + pk_offset_y;@#
+
+ pk_dx = pk_width + 2 * pk_offset_x; /* no slant */
+ tfm_width = (tfm_output_size_x + 2 * tfm_offset_x) * _2_20;
+ /* width in multiples of design size $* 2^{20}$ */@#
+
+ @<Special section@>@;
+ @<Post section@>@;
+ @<Postpost section@>@;
+ }
+
+
+@
+\.{XXXn} will be followed by n~bytes representing the length of a string
+which follows immediately. |YYY| is a 32~bit integer which is normally
+connected with the preceding string (but not used here). |special_adr|
+contains the address of the ``special section''. All items here are
+optional.
+
+@d XXX1 239 /* these are all special command bytes */
+@d XXX2 240 /* not used */
+@d XXX3 241 /* not used */
+@d XXX4 242 /* not used */@#
+
+@d YYY 243 /* not used */
+
+@<Special section@>=
+ special_adr = ftell(out);@#
+
+ if(*coding)
+ {fputc(XXX1, out); /* |XXX1| implies a string length |< 256| */
+ fputc(strlen(coding), out);
+ fputs(coding, out);
+ }@#
+
+ if(*comment)
+ {fputc(XXX1, out);
+ fputc(strlen(comment), out);
+ fputs(comment, out);
+ }
+
+
+@
+All character offsets collected in |char_adr| will be written to the output
+file. |fputl()| writes a 32~bit integer into a file.
+
+|CHAR_LOC0| (and |CHAR_LOC|) is the first byte of a character locator
+(i.e., offset, character code, and width information). |POST| starts the
+postamble, and |post_adr| points to the beginning byte of the postamble.
+
+@d POST 248@#
+
+@d CHAR_LOC 245
+@d CHAR_LOC0 246 /* simplified version of |CHAR_LOC| */
+
+@<Post section@>=
+ post_adr = ftell(out);
+ fputc(POST, out);
+ fputl(special_adr, out);@#
+
+ fputl(designsize, out);
+ fputl(checksum, out);
+ fputl(ppp_x * _2_16, out);
+ fputl(ppp_y * _2_16, out);
+ fputl(pk_total_min_x, out);
+ fputl(pk_total_max_x, out);
+ fputl(pk_total_min_y, out);
+ fputl(pk_total_max_y, out);@#
+
+ char_adr_p = char_adr;@#
+
+ if(pk_dx < 256)
+ {for(i = 0; i < last_char; i++) /* the character locators */
+ {fputc(CHAR_LOC0, out);
+ fputc(i, out);
+ fputc(pk_dx, out);
+ fputl(tfm_width, out);
+ fputl(*char_adr_p++, out);
+ }
+ }
+ else /* will only happen if |MAX_CHAR_SIZE >= 256| */
+ {for(i = 0; i < last_char; i++)
+ {fputc(CHAR_LOC, out);
+ fputc(i, out);
+ fputl(pk_dx * _2_16, out);
+ fputl(0, out);
+ fputl(tfm_width, out);
+ fputl(*char_adr_p++, out);
+ }
+ }
+
+
+@
+|POSTPOST| starts the section after the postamble. To get all information in
+a \.{GF} file, you must start here. The very last bytes of the file have
+the value |POSTPOST_ID| (the file is filled with at least 4 of these bytes
+until a file length of a multiple of~4 is reached). Going backwards a
+|GF_ID| will be next, then comes the address of the postamble section.
+
+Jumping to the postamble, a |POST| byte comes first, then the address of
+the special section, and afterwards all character offsets. These offsets and
+addresses describe the whole file.
+
+@d POSTPOST 249
+@d POSTPOST_ID 223
+
+@<Postpost section@>=
+ fputc(POSTPOST, out);
+ fputl(post_adr, out);
+ fputc(GF_ID, out);
+ temp = ftell(out);
+ i = (int)(temp % 4) + 4;
+ while(i--)
+ fputc(POSTPOST_ID, out);
+
+
+@
+\TeX\ wants the most significant byte first.
+
+@<Prototypes@>=
+void fputl(long, FILE *);
+
+
+@
+@c
+void fputl(num, f)
+ long num;
+ FILE *f;
+
+ {fputc(num >> 24, f);
+ fputc(num >> 16, f);
+ fputc(num >> 8, f);
+ fputc(num, f);
+ }
+
+
+@
+|make_pixel_array()| scales a character into the array |out_char[]| where
+each \\{byte} represents one pixel, contrary to the input file where each
+\\{bit} is used to store the character bitmap. |BLACK| indicates a black
+pixel.
+
+The scaling routine was modeled after the program \.{pnmscale} of the
+\.{pbmplus} package. \.{pbmplus} was designed to handle arbitrary pictures,
+and bitmaps are only a special case of a graymap with values from~0 for
+white up to |PIXEL_MAXVAL = 255| for black.
+
+If |EOF| is encountered, |end_of_file| is set and the function returns
+immediately.
+
+@d BLACK 1
+@d WHITE 0@#
+
+@d PIXEL_MAXVAL 255
+@d SCALE 4096
+@d HALFSCALE 2048@#
+
+@d MAX_CHAR_SIZE 1023
+
+@<Global...@>=
+HBF_CHAR code;
+const unsigned char *bitmap;
+ /* a proper input bitmap array will be allocated by the HBF API */
+unsigned char *bP;@#
+
+unsigned char out_char[MAX_CHAR_SIZE * MAX_CHAR_SIZE + 1];
+ /* the output bitmap array */
+unsigned char *out_char_p;@#
+
+unsigned char pixelrow[MAX_CHAR_SIZE];
+unsigned char temp_pixelrow[MAX_CHAR_SIZE];
+unsigned char new_pixelrow[MAX_CHAR_SIZE + 1];
+ /* we need space to append a white pixel */@#
+int curr_row; /* for |read_row()| if we access the glyph rotated */
+
+long grayrow[MAX_CHAR_SIZE];@#
+
+long s_mag_x, s_mag_y, s_slant;
+
+
+@
+We need to initialize the |grayrow[]| array together with some other
+variables.
+
+Two steps are necessary to compute the |code| if we are in the \mf-like
+mode. Assuming that we search the code \.{0xXXYY}, we first set |code| to
+the value \.{0xXXAA}, where \.{0xAA} is equal to |min_2_byte| (getting
+|offset| as the number of remaining characters to reach the first character
+in our given subfont), then we increment |code| (and decrement |offset|)
+until |offset| equals~0.
+
+@<Initialize variables@>=
+ {int col, offset;
+
+ if(rotation)
+ {int tmp;
+
+
+ tmp = input_size_x;
+ input_size_x = input_size_y;
+ input_size_y = tmp;
+ }@#
+
+ if(mf_like)
+ {target_size_x = design_size * (x_resolution / dpi_x);
+ target_size_y = design_size * (x_resolution * y_scale / dpi_y);
+ }
+ else
+ target_size_x = target_size_y = design_size;
+ magstep_x = target_size_x / design_size;
+ magstep_y = target_size_y / design_size;@#
+
+ pk_offset_x = offset_x * magstep_x + 0.5;
+ pk_offset_y = offset_y * magstep_y + 0.5;
+ tfm_offset_x = offset_x / (dpi_x / 72.27) / design_size;
+ tfm_offset_y = offset_y / (dpi_y / 72.27) / design_size;@#
+
+ pk_width = input_size_x * mag_x * magstep_x + 0.5; /* without slant */
+ pk_output_size_x = input_size_x * mag_x * magstep_x +
+ input_size_y * mag_y * magstep_y * slant + 0.5;
+ pk_output_size_y = input_size_y * mag_y * magstep_y + 0.5;
+ tfm_output_size_x = input_size_x * mag_x /
+ (dpi_x / 72.27) / design_size;
+ tfm_output_size_y = input_size_y * mag_y /
+ (dpi_y / 72.27) / design_size;
+ if(pk_output_size_x > MAX_CHAR_SIZE)
+ {fprintf(stderr, "Output character box width too big\n");
+ exit(1);
+ }
+ if(pk_output_size_y > MAX_CHAR_SIZE)
+ {fprintf(stderr, "Output character box height too big\n");
+ exit(1);
+ }@#
+
+ for(col = 0; col < input_size_x; ++col)
+ grayrow[col] = HALFSCALE;@#
+
+ if(!mf_like)
+ code = (min_char & 0xFF00) + min_2_byte;
+ else
+ {if((file_number < (unicode ? 0 : 1)) || (file_number >= 0x100))
+ {fprintf(stderr, "Invalid subfile number\n");
+ exit(1);
+ }@#
+
+ if(unicode)
+ {offset = 0;
+ code = file_number * 0x100;
+ }
+ else
+ {offset = (file_number - 1) * 256 % nmb_2_bytes;
+ code = (min_char & 0xFF00) + min_2_byte +
+ (file_number - 1) * 256 / nmb_2_bytes * 0x100;
+ }@#
+
+ while(offset--)
+ while(!b2_codes[code++ & 0xFF])
+ /* eliminate invalid |b2_codes| */
+ ;@#
+
+ if(code > max_char)
+ {fprintf(stderr, "Invalid subfile number\n");
+ exit(1);
+ }
+ }
+
+ s_mag_x = mag_x * magstep_x * SCALE;
+ s_mag_y = mag_y * magstep_y * SCALE;
+ s_slant = slant * SCALE;
+ }
+
+
+@
+All arrays of the \\{pixelrow} family contain gray values. While scaling
+with non-integer values a pixel of the input bitmap will normally not align
+with the pixel grid of the output bitmap (geometrically spoken). In this
+case we first compute the fractions of input pixel rows scaled vertically
+and add the corresponding gray values until a temporary row is produced.
+Then we repeat this procedure horizontally pixel by pixel and write the
+result into an output array.
+
+
+@<Prototypes@>=
+void make_pixel_array(void);
+
+
+@
+@c
+void make_pixel_array(void)
+ {unsigned char *prP;
+ unsigned char *temp_prP;
+ unsigned char *new_prP;
+ long *grP;@#
+
+ register unsigned char *xP;
+ register unsigned char *nxP;@#
+
+ register int row, col;
+ int rows_read = 0;
+ register int need_to_read_row = 1;@#
+
+ long frac_row_to_fill = SCALE;
+ long frac_row_left = s_mag_y;@#
+
+ int no_code = FALSE;
+
+
+ prP = pixelrow;
+ temp_prP = temp_pixelrow;
+ new_prP = new_pixelrow;
+ grP = grayrow;
+ out_char_p = out_char; /* will be increased by |write_row()| */@#
+
+again:
+ if(b2_codes[code & 0xFF]) /* a valid second byte? */
+ {if(pk_files)
+ {bitmap = hbfGetBitmap(hbf, code);
+ bP = (unsigned char *)bitmap;
+ /* will be increased by |read_row()| */@#
+
+ if(!bitmap)
+ empty_char = TRUE;
+ else
+ @<Scale row by row@>@;
+ }
+ }
+ else
+ no_code = TRUE;@#
+
+ if((code & 0xFF) == max_2_byte)
+ code += 0xFF - (max_2_byte - min_2_byte); /* go to next plane */
+ if(code >= max_char)
+ {end_of_file = TRUE;
+ return;
+ }@#
+
+ code++;@#
+
+ if(no_code)
+ {no_code = FALSE;
+ goto again;
+ }
+ }
+
+
+@
+@<Scale row by row@>=
+ {if(pk_output_size_y == input_size_y) /* shortcut Y~scaling if possible */
+ temp_prP = prP;@#
+
+ curr_row = input_size_y - 1; /* only needed for rotated glyphs */
+ for(row = 0; row < pk_output_size_y; ++row)
+ {@<Scale Y from |pixelrow[]| into |temp_pixelrow[]|@>@;
+ @<Scale X from |temp_pixelrow[]| into |new_pixelrow[]|
+ and write it into |out_char[]|@>@;
+ }
+ }
+
+
+@
+@<Scale Y from |pixelrow[]| into |temp_pixelrow[]|@>=
+ if(pk_output_size_y == input_size_y)
+ /* shortcut Y~scaling if possible */
+ read_row(prP);
+ else
+ {while(frac_row_left < frac_row_to_fill)
+ {if(need_to_read_row)
+ if(rows_read < input_size_y)
+ {read_row(prP);
+ ++rows_read;
+ }@#
+
+ for(col = 0, xP = prP; col < input_size_x; ++col, ++xP)
+ grP[col] += frac_row_left * (*xP);@#
+
+ frac_row_to_fill -= frac_row_left;
+ frac_row_left = s_mag_y;
+ need_to_read_row = 1;
+ }@#
+
+ @<Produce a temporary row@>@;
+ }
+
+
+@
+Now |frac_row_left >= frac_row_to_fill|, so we can produce a row.
+
+@<Produce a temporary row@>=
+ if(need_to_read_row)
+ if(rows_read < input_size_y)
+ {read_row(prP);
+ ++rows_read;
+ need_to_read_row = 0;
+ }@#
+
+ for(col = 0, xP = prP, nxP = temp_prP;
+ col < input_size_x; ++col, ++xP, ++nxP)
+ {register long g;
+
+
+ g = grP[col] + frac_row_to_fill * (*xP);
+ g /= SCALE;
+ if(g > PIXEL_MAXVAL)
+ g = PIXEL_MAXVAL;@#
+
+ *nxP = g;
+ grP[col] = HALFSCALE;
+ }@#
+
+ frac_row_left -= frac_row_to_fill;
+ if(frac_row_left == 0)
+ {frac_row_left = s_mag_y;
+ need_to_read_row = 1;
+ }
+ frac_row_to_fill = SCALE;
+
+
+@
+To implement the slant we move the starting point |nxP| to the right
+according to the corresponding |y|~value. To simplify life only positive
+shift values are allowed.
+
+We always append a white pixel to avoid artefacts at the end of the line
+produced by the last line. This rule sets the second condition that the
+slant must not be greater than~|1|---such a large slant would be unusable
+anyway for typesetting purposes.
+
+@<Scale X from |temp_pixelrow[]| into |new_pixelrow[]|
+ and write it into |out_char[]|@>=
+ if(pk_width == input_size_x && s_slant == 0)
+ /* shortcut X~scaling if possible */
+ write_row(temp_prP);
+ else
+ {register long g = HALFSCALE;
+ register long frac_col_to_fill = SCALE;
+ register long frac_col_left;
+ register int need_col = 0;
+
+
+ nxP = new_prP;@#
+
+ frac_col_left = (pk_output_size_y - row) * s_slant;
+ while(frac_col_left >= frac_col_to_fill)
+ {*(nxP++) = 0;
+ frac_col_left -= frac_col_to_fill;
+ }@#
+
+ if(frac_col_left > 0)
+ frac_col_to_fill -= frac_col_left;@#
+
+ for(col = 0, xP = temp_prP; col < input_size_x; ++col, ++xP)
+ {frac_col_left = s_mag_x;
+ while(frac_col_left >= frac_col_to_fill)
+ {if(need_col)
+ {++nxP;
+ g = HALFSCALE;
+ }@#
+
+ g += frac_col_to_fill * (*xP);
+ g /= SCALE;
+ if(g > PIXEL_MAXVAL)
+ g = PIXEL_MAXVAL;@#
+
+ *nxP = g;
+ frac_col_left -= frac_col_to_fill;
+ frac_col_to_fill = SCALE;
+ need_col = 1;
+ }@#
+
+ if(frac_col_left > 0)
+ {if(need_col)
+ {++nxP;
+ g = HALFSCALE;
+ need_col = 0;
+ }@#
+
+ g += frac_col_left * (*xP);
+ frac_col_to_fill -= frac_col_left;
+ }
+ }@#
+
+ @<Write out a row@>@;
+ }
+
+
+@
+@<Write out a row@>=
+ if(frac_col_to_fill > 0)
+ {--xP;
+ g += frac_col_to_fill * (*xP);
+ }@#
+
+ if(!need_col)
+ {g /= SCALE;
+ if(g > PIXEL_MAXVAL)
+ g = PIXEL_MAXVAL;
+ *nxP = g;
+ }@#
+
+ *(++nxP) = 0; /* append a blank pixel */@#
+
+ write_row(new_prP);
+
+
+@
+|read_row()| reads a row from |bitmap[]| and converts it into a graymap row.
+If the |rotation| flag has been set, we get the proper column instead (note
+that in this case |input_size_x| already reflects the width of the rotated
+glyph).
+
+@<Prototypes@>=
+#ifdef __GNUC__
+__inline__
+#endif
+void read_row(unsigned char *);
+
+
+@
+@c
+#ifdef __GNUC__
+__inline__
+#endif
+void read_row(pixelrow)
+ unsigned char *pixelrow;
+
+ {register int col, bitshift, offset;
+ register unsigned char *xP;
+ register unsigned char item = 0;
+
+ if(rotation)
+ {bitshift = 7 - (curr_row % 8);
+ offset = (input_size_y + 7) / 8;
+ bP = (unsigned char *)bitmap + curr_row / 8;
+ for(col = 0, xP = pixelrow; col < input_size_x; ++col, ++xP)
+ {*xP = ((*bP >> bitshift) & 1) == 1 ? PIXEL_MAXVAL : 0;
+ bP += offset;
+ }
+ curr_row--;
+ }
+ else
+ {bitshift = -1;
+ for(col = 0, xP = pixelrow; col < input_size_x; ++col, ++xP)
+ {if(bitshift == -1)
+ {item = *(bP++); /* increase input bitmap pointer */
+ bitshift = 7;
+ }
+ *xP = ((item >> bitshift) & 1) == 1 ? PIXEL_MAXVAL : 0;
+ --bitshift;
+ }
+ }
+ }
+
+
+@
+|write_row()| converts the graymap back into a bitmap using a simple
+threshold.
+
+@<Global...@>=
+int threshold = 128;
+
+
+@
+@<Prototypes@>=
+#ifdef __GNUC__
+__inline__
+#endif
+void write_row(unsigned char *);
+
+
+@
+@c
+#ifdef __GNUC__
+__inline__
+#endif
+void write_row(pixelrow)
+ unsigned char *pixelrow;
+
+ {register int col;
+ register unsigned char *xP;
+
+ for(col = 0, xP = pixelrow; col < pk_output_size_x; ++col, ++xP)
+ *(out_char_p++) = (*xP >= threshold) ? 1 : 0;
+ /* increase output bitmap pointer */
+ }
+
+
+@
+Now comes the most interesting routine. The pixel array will be compressed
+in sequences of black and white pixels.
+
+|SKIP0|, |SKIP1|, and |SKIP2| indicate how many blank lines will be skipped.
+|PAINT_(x)| means that the next x~pixels will have the same color, then the
+color changes. |NEW_ROW_(x)| is the first black pixel in the next row.
+
+An example: the pixel sequence 111100011001 [new row] 000111011110 will be
+output as 4 3 2 2 1 77 3 1 4 1.
+
+Commands with an ending~`n' in its name indicate that the next n~bytes
+should be read as the counter. Example: |SKIP1|~26 means `skip the next
+26~rows'.
+
+For further details please refer to ``\mf---the program''.
+
+@d PAINT_(x) (x) /* $0 \le x \le 63$ */
+@d PAINT1 64
+@d PAINT2 65
+@d PAINT3 66 /* not used */@#
+
+@d SKIP0 70
+@d SKIP1 71
+@d SKIP2 72
+@d SKIP3 73 /* not used */@#
+
+@d NEW_ROW_(x) ((x) + 74) /* $0 \le x \le 164$ */@#
+
+@d NOOP 244 /* not used */
+
+@<Prototypes@>=
+void write_coding(void);
+
+
+@
+The |goto start| instruction causes some compilers to complain about
+``Unreachable code $\ldots$'' or something similar.
+
+@c
+void write_coding(void)
+ {register int count, skip;
+ register unsigned char paint;
+ register int x, y;
+ register unsigned char *cp;
+
+ x = 0;
+ y = 0;
+ cp = out_char + y * pk_output_size_x + x;
+ count = skip = 0;
+ paint = WHITE;
+ goto start;@#
+
+ while (y < pk_output_size_y)
+ {@<Search blank lines@>@;
+start:
+ @<Process rest of line@>@;
+ y++;
+ }
+ }@#
+
+
+@
+@<Search blank lines@>=
+ count = 0;
+ x = 0;
+ cp = out_char + y * pk_output_size_x + x;@#
+
+ while(x < pk_output_size_x)
+ {if(*cp == paint)
+ count++;
+ else
+ {if(skip == 0)
+ {if(count <= 164)
+ fputc(NEW_ROW_(count), out);
+ else
+ {fputc(SKIP0, out);@#
+
+ if(count < 256)
+ {fputc(PAINT1, out);
+ fputc(count, out);
+ }
+ else
+ {fputc(PAINT2, out);
+ fputc(count >> 8, out);
+ fputc(count & 0xFF, out);
+ }
+ }
+ }
+ else
+ {if(skip == 1)
+ fputc(SKIP0, out);
+ else
+ {if(skip < 256)
+ {fputc(SKIP1, out);
+ fputc(skip, out);
+ }
+ else
+ {fputc(SKIP2, out);
+ fputc(skip >> 8, out);
+ fputc(skip & 0xFF, out);
+ }
+ }
+ skip = 0;
+ if(count < 64)
+ fputc(PAINT_(count), out);
+ else if(count < 256)
+ {fputc(PAINT1, out);
+ fputc(count, out);
+ }
+ else
+ {fputc(PAINT2, out);
+ fputc(count >> 8, out);
+ fputc(count & 0xFF, out);
+ }
+ }
+ count = 0;
+ paint = BLACK;
+ break;
+ }
+ x++;
+ cp++;
+ }
+ if(x >= pk_output_size_x)
+ {skip++;
+ y++;
+ continue;
+ }
+
+
+@
+@<Process rest of line@>=
+ while(x < pk_output_size_x)
+ {if(*cp == paint)
+ count++;
+ else
+ {if(count < 64)
+ fputc(PAINT_(count), out);
+ else if(count < 256)
+ {fputc(PAINT1, out);
+ fputc(count, out);
+ }
+ else
+ {fputc(PAINT2, out);
+ fputc(count >> 8, out);
+ fputc(count & 0xFF, out);
+ }
+ count = 1;
+ paint = BLACK - paint;
+ }
+ x++;
+ cp++;
+ }
+ if(paint == BLACK)
+ {if(count < 64)
+ fputc(PAINT_(count), out);
+ else if(count < 256)
+ {fputc(PAINT1, out);
+ fputc(count, out);
+ }
+ else
+ {fputc(PAINT2, out);
+ fputc(count >> 8, out);
+ fputc(count & 0xFF, out);
+ }
+ paint = WHITE;
+ }
+
+
+
+@* The font metrics file.
+This routine creates one \.{PL} file with the font properties. None of the
+\TeX\ font dimensions are needed because you never will use CJK fonts
+directly, and intercharacter stretching is handled by the \\{CJK} macro
+\.{\\CJKglue}. (Other packages may define similar commands.)
+
+The name of the \.{PL} file will contain the running two digits in
+\mf-like mode only.
+
+It makes sense \\{not} to compute the check sum automatically for two
+reasons. Firstly, since \TeX's checksum algorithm is based on the character
+width, the number of valid characters, and the designsize, there is a much
+higher chance that two subfonts from different HBF fonts have the same check
+sum than it is for ordinary fonts, because all characters have the same
+width, usually 256~characters in a subfont, and very often the same design
+size. Secondly, and this is more important, we create just one
+\.{TFM} file for all subfonts regardless of the real number of characters
+in a particular subfont.
+
+To have an identification string in the \.{TFM} file, we split it into
+single bytes and use the \.{HEADER} command repeatedly.
+
+@<Prototypes@>=
+void write_pl(void);
+
+
+@
+@c
+void write_pl(void)
+ {int i, pos;
+ char output_file[FILE_NAME_LENGTH + 1];
+ long t, sc;
+ char *s;
+ char tfm_header[] = "Created by hbf2gf";
+
+ file_number--; /* for \mf-like mode */@#
+
+ if(mf_like)
+ {if(unicode)
+ sprintf(output_file, "%s%02x.pl", output_name, file_number);
+ else
+ sprintf(output_file, "%s%02i.pl", output_name, file_number);
+ }
+ else
+ sprintf(output_file, "%s.pl", output_name);@#
+
+ if(!(out = fopen(output_file, WRITE_TXT)))
+ {fprintf(stderr, "Couldn't open `%s'\n", output_file);
+ exit(1);
+ }
+ if(!quiet)
+ printf("\nWriting `%s'\n", output_file);@#
+
+ fprintf(out,@/
+ "\n(FAMILY %s%d)"@/
+ "\n(CODINGSCHEME CJK-%s)",
+ output_name, file_number, font_encoding);@#
+
+ fprintf(out,@/
+ "\n(DESIGNSIZE R %.6f)"@/
+ "\n(COMMENT DESIGNSIZE IS IN POINTS)"@/
+ "\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"@/
+ "\n(CHECKSUM O %lo)"@/
+ "\n(FONTDIMEN"@/
+ "\n (SLANT R %.6f)"@/
+ "\n (SPACE R 0.0)"@/
+ "\n (STRETCH R 0.0)"@/
+ "\n (SHRINK R 0.0)"@/
+ "\n (XHEIGHT R 1.0)"@/
+ "\n (QUAD R 1.0)"@/
+ "\n (EXTRASPACE R 0.0)"@/
+ "\n )", design_size, checksum, slant);@#
+
+ s = tfm_header;
+ i = strlen(s);
+ t = ((long)i) << 24;
+ sc = 16;
+ pos = 18;@#
+
+ fprintf(out, "\n");
+ while(i > 0)
+ {t |= ((long)(*(unsigned char *)s++)) << sc;
+ sc -= 8;
+ if(sc < 0)
+ {fprintf(out, "\n(HEADER D %d O %lo)", pos, t);
+ t = 0;
+ sc = 24;
+ pos++;
+ }
+ i--;
+ }
+ if(t)
+ fprintf(out, "\n(HEADER D %d O %lo)", pos, t);
+ fprintf(out, "\n");@#
+
+ for(i = 0; i < 256; i++)
+ {fprintf(out,@/
+ "\n(CHARACTER O %o"@/
+ "\n (CHARWD R %.6f)"@/
+ "\n (CHARHT R %.6f)"@/
+ "\n (CHARDP R %.6f)"@/
+ "\n (CHARIC R %.6f)"@/
+ "\n )",@/
+ i,
+ tfm_output_size_x + 2 * tfm_offset_x,
+ tfm_output_size_y + tfm_offset_y,
+ -tfm_offset_y,
+ slant * (tfm_output_size_y + tfm_offset_y));
+ }@#
+
+ fclose(out);
+ }
+
+
+
+@* The extended virtual font file for \Om.
+The following is very similar to |write_pl()|; we simply map the glyphs
+of the subfonts back to the original encoding positions.
+
+@<Prototypes@>=
+void write_ovp(void);
+
+
+@
+@c
+void write_ovp(void)
+ {int c, i, nmb_subfonts, remainder, count, pos;
+ char output_file[FILE_NAME_LENGTH + 1];
+ long t, sc;
+ char *s;
+ char ofm_header[] = "Created by hbf2gf";
+
+ nmb_subfonts = ((max_char - (min_char & 0xFF00)) / 256 * nmb_2_bytes)
+ / 256 + 1;
+ remainder = ((max_char - (min_char & 0xFF00)) / 256 * nmb_2_bytes)
+ % 256;@#
+
+ /* correction for the last incomplete second byte range */
+ for(count = 0; count < (max_char & 0xFF); count++)
+ if(b2_codes[count])
+ remainder++;
+ if(remainder >= 256)
+ nmb_subfonts++;@#
+
+ sprintf(output_file, "%s.ovp", output_name);@#
+
+ if(!(out = fopen(output_file, WRITE_TXT)))
+ {fprintf(stderr, "Couldn't open `%s'\n", output_file);
+ exit(1);
+ }
+ if(!quiet)
+ printf("\nWriting `%s'\n", output_file);@#
+
+ fprintf(out,@/
+ "\n(VTITLE Omega virtual font created by hbf2gf)"@/
+ "\n(DESIGNSIZE R %.6f)"@/
+ "\n(COMMENT DESIGNSIZE IS IN POINTS)"@/
+ "\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"@/
+ "\n(CHECKSUM O %lo)"@/
+ "\n(FONTDIMEN"@/
+ "\n (SLANT R %.6f)"@/
+ "\n (SPACE R 0.0)"@/
+ "\n (STRETCH R 0.0)"@/
+ "\n (SHRINK R 0.0)"@/
+ "\n (XHEIGHT R 1.0)"@/
+ "\n (QUAD R 1.0)"@/
+ "\n (EXTRASPACE R 0.0)"@/
+ "\n )", design_size, checksum, slant);@#
+
+ s = ofm_header;
+ i = strlen(s);
+ t = ((long)i) << 24;
+ sc = 16;
+ pos = 18;@#
+
+ fprintf(out, "\n");
+ while(i > 0)
+ {t |= ((long)(*(unsigned char *)s++)) << sc;
+ sc -= 8;
+ if(sc < 0)
+ {fprintf(out, "\n(HEADER D %d O %lo)", pos, t);
+ t = 0;
+ sc = 24;
+ pos++;
+ }
+ i--;
+ }
+ if(t)
+ fprintf(out, "\n(HEADER D %d O %lo)", pos, t);
+ fprintf(out, "\n");@#
+
+ for(i = 0; i < nmb_subfonts; i++)
+ {fprintf(out,@/
+ "\n(MAPFONT D %i"@/
+ "\n (FONTNAME %s%02i)"@/
+ "\n (FONTCHECKSUM O %lo)"@/
+ "\n (FONTAT R 1.0)"@/
+ "\n (FONTDSIZE R %.6f)"@/
+ "\n )", i, output_name, i + 1, checksum, design_size);
+ }@#
+
+ for(c = min_char, i = 0, count = 0; c <= max_char; c++)
+ {if(b2_codes[c & 0xFF] == VALID_SUBCODE)
+ {fprintf(out,@/
+ "\n(CHARACTER O %o"@/
+ "\n (CHARWD R %.6f)"@/
+ "\n (CHARHT R %.6f)"@/
+ "\n (CHARDP R %.6f)"@/
+ "\n (CHARIC R %.6f)"@/
+ "\n (MAP"@/
+ "\n (SELECTFONT D %i)"@/
+ "\n (SETCHAR O %o)"@/
+ "\n )"@/
+ "\n )",@/
+ c,
+ tfm_output_size_x + 2 * tfm_offset_x,
+ tfm_output_size_y + tfm_offset_y,
+ -tfm_offset_y,
+ slant * (tfm_output_size_y + tfm_offset_y),
+ i,
+ count);@#
+
+ count++;
+ if(count == 256)
+ {count = 0;
+ i++;
+ }
+ }
+ else
+ continue;
+ }@#
+
+ fclose(out);
+ }
+
+
+
+@* The job file.
+This routine is the most system specific one. If your operating system needs
+a different outline, make appropriate changes here.
+
+You have to call this batch file after \.{hbf2gf} has finished (if not in
+\mf-like mode). It will transform the \.{GF} files into \.{PK} files and
+delete the now unnecessary \.{GF} files, then transform the \.{PL} file into
+a \.{TFM} file and copy it |nmb_files| times. The name of the job file is
+|output_name|.
+
+@d EXTENSION_LENGTH 8 /* the maximal length of a file extension */@#
+
+@d GFTOPK_NAME "gftopk"
+@d PLTOTF_NAME "pltotf"
+@d OVP2OVF_NAME "ovp2ovf"
+
+@<Global...@>=
+char job_extension[EXTENSION_LENGTH + 1];
+char rm_command[STRING_LENGTH + 1];
+char cp_command[STRING_LENGTH + 1];
+char pk_directory[STRING_LENGTH + 1];
+char tfm_directory[STRING_LENGTH + 1];@#
+
+int ofm_file = FALSE;
+
+
+@
+@<Prototypes@>=
+void write_job(void);
+
+
+@
+@c
+void write_job(void)
+ {FILE *out;
+ int i, j;
+ char buffer[FILE_NAME_LENGTH + 1];
+
+
+ strcpy(buffer, output_name);
+ strcat(buffer, job_extension);
+ if(!(out = fopen(buffer, WRITE_TXT)))
+ {fprintf(stderr, "Couldn't open `%s'\n", buffer);
+ exit(1);
+ }
+ if(!quiet)
+ printf("\nWriting `%s'\n", buffer);@#
+
+ if(pk_files)
+ {if(unicode)
+ {for(i = (min_char >> 8), j = 0; j < nmb_files; i++, j++)
+ fprintf(out,@/
+ "%s %s%02x.gf %s%s%02x.%.0ipk\n"@/
+ "%s %s%02x.gf\n",@/
+ GFTOPK_NAME, output_name, i,@/
+ pk_directory, output_name, i,
+ long_extension ? (int)(dpi_x * magstep_x + 0.5) : 0,@/
+ rm_command, output_name, i);
+ }
+ else
+ {for(i = 1; i <= nmb_files; i++)
+ fprintf(out,@/
+ "%s %s%02i.gf %s%s%02i.%.0ipk\n"@/
+ "%s %s%02i.gf\n",@/
+ GFTOPK_NAME, output_name, i,@/
+ pk_directory, output_name, i,
+ long_extension ? (int)(dpi_x * magstep_x + 0.5) : 0,@/
+ rm_command, output_name, i);
+ }
+ }@#
+
+ if(tfm_files)
+ {fprintf(out,@/
+ "\n"@/
+ "%s %s.pl %s.tfm\n"@/
+ "%s %s.pl\n"@/
+ "\n",@/
+ PLTOTF_NAME, output_name, output_name,@/
+ rm_command, output_name);@#
+
+ if(unicode)
+ {for(i = (min_char >> 8), j = 0; j < nmb_files; i++, j++)
+ fprintf(out,@/
+ "%s %s.tfm %s%s%02x.tfm\n",@/
+ cp_command, output_name,
+ tfm_directory, output_name, i);
+ }
+ else
+ {for(i = 1; i <= nmb_files; i++)
+ fprintf(out,@/
+ "%s %s.tfm %s%s%02i.tfm\n",@/
+ cp_command, output_name,
+ tfm_directory, output_name, i);
+ }@#
+
+ fprintf(out,@/
+ "\n"@/
+ "%s %s.tfm",@/
+ rm_command, output_name);
+ }@#
+
+ if(ofm_file)
+ {fprintf(out,@/
+ "\n"@/
+ "%s %s.ovp %s.ovf %s.ofm\n"@/
+ "%s %s.ovp\n"@/
+ "\n",@/
+ OVP2OVF_NAME, output_name, output_name, output_name,@/
+ rm_command, output_name);
+ }@#
+
+ fclose(out);
+ }
+
+
+
+@* The configuration file.
+Here is a list with all necessary keywords (and parameters):
+\medskip
+\halign{\quad\.{#}\hfil&\quad#\hfil\cr
+ hbf\_header & the HBF header file name of the input font(s). \cr
+ output\_name & the name stem of the output files. \cr
+ & Should be equal to the name of the configuration file
+ in most cases.\cr
+ & A running two digit decimal number starting with
+ \.{01} will be appended. \cr
+ & (For Unicode fonts see the keyword \.{unicode}
+ below.) \cr
+ }
+\bigskip
+And now all optional keywords:
+\medskip
+\halign{\quad\.{#}\hfil&\quad#\hfil\cr
+ x\_offset & increases the character width. \cr
+ & Will be applied on both sides; \cr
+ & default is the value given in the HBF header
+ (\.{HBF\_BITMAP\_BOUNDING\_BOX}) \cr
+ & scaled to \\{design\/}size (in pixels). \cr
+ y\_offset & shifts all characters up or down; \cr
+ & default is the value given in the HBF header
+ (\.{HBF\_BITMAP\_BOUNDING\_BOX}) \cr
+ & scaled to \\{design\/}size (in pixels). \cr
+ design\_size & the design size (in points) of the font. \cr
+ & \.{x\_offset} and \.{y\_offset} refer to this
+ size. \cr
+ & Default is |10.0| \cr
+ target\_size & This command is obsolete now and will be
+ ignored.\cr
+ & \cr
+ slant & the slant of the font (given as $\Delta x /
+ \Delta y$). \cr
+ & Only values in the range |0 <= slant <= 1|
+ are allowed. \cr
+ & Default is |0.0| \cr
+ rotation & if set to `yes'. the glyphs are rotated
+ 90~degrees counter-clockwise. \cr
+ & The default offsets as given in the HBF header
+ will be ignored (and set to~|0|). \cr
+ & Default is `no'. \cr
+ & \cr
+ mag\_x & \cr
+ mag\_y & scaling values of the characters to reach
+ design size. \cr
+ & If only one magnification is given, x and y
+ values are assumed to be equal. \cr
+ & Default is \.{mag\_x} $=$ \.{mag\_y} $=$ |1.0|
+ \cr
+ threshold & A value between |1| and |254| defining a
+ threshold for converting the internal \cr
+ & graymap into the output bitmap; lower values
+ cut more pixels. \cr
+ & Default value is |128|. \cr
+ & \cr
+ comment & a comment describing the font; \cr
+ & default is none. \cr
+ & \cr
+ nmb\_fonts & the number of the fonts. \cr
+ & Default value is~|-1| for creating all
+ fonts. \cr
+ unicode & if `yes', a two digit hexadecimal number will
+ be used as a running number, \cr
+ & starting with the value of the first byte of
+ the first code range. \cr
+ & Default is `no'. \cr
+ min\_char & the minimum of the encoding range. \cr
+ & Specify this value if it is not identical to
+ the lowest code value \cr
+ & in the HBF file (to which it defaults). \cr
+ & \cr
+ dpi\_x & \cr
+ dpi\_y & the horizontal and vertical resolution (in
+ dpi) of the printer. \cr
+ & If only one resolution is given, x and y
+ values are assumed to be equal. \cr
+ & Default is |300|. \cr
+ checksum & a checksum to identify the \.{GF} files
+ with the appropriate \.{TFM} files. \cr
+ & The default of this 32~bit unsigned integer
+ is |0|. \cr
+ coding & a comment describing the coding scheme; \cr
+ & default is none. \cr
+ & \cr
+ pk\_directory & the destination directory of the
+ \.{PK} files; \cr
+ & default: none. \cr
+ & Attention! The batch file will not check
+ whether this directory exists. \cr
+ tfm\_directory & the destination directory of the
+ \.{TFM} files; \cr
+ & default: none. \cr
+ & Attention! The batch file will not check
+ whether this directory exists. \cr
+ pk\_files & whether to create \.{PK} files or not; \cr
+ & default is `yes'. \cr
+ tfm\_files & whether to create \.{TFM} files or not; \cr
+ & default is `yes'. \cr
+ ofm\_file & whether to create an \.{OFM} and an
+ \.{OVF} file or not; \cr
+ & default is `no'. \cr
+ long\_extension & if `yes', \.{PK} files will include the
+ resolution in the extension \cr
+ & (e.g. \.{gsso1201.300pk}). \cr
+ & This affects the batch file only (default is
+ `yes'). \cr
+ rm\_command & this shell command removes files; \cr
+ & default: `rm'. \cr
+ cp\_command & this shell command copies files; \cr
+ & default: `cp'. \cr
+ job\_extension & the extension of the batch file which calls
+ \.{GFtoPK} and \.{PLtoTF} \cr
+ & to convert the \.{GF} and the
+ \.{PL} files into \.{PK} and
+ \.{TFM} files; \cr
+ & default is none. \cr
+ }
+\bigskip
+
+The searching algorithm (for the keywords) of \.{hbf2gf} is case
+insensitive; it makes no difference whether you write for example \.{comment}
+or \.{CommenT}. The keywords must start a line (be in the first column), and
+the corresponding parameters must be on the same line with the keyword and
+separated by at least one space or tabulator stop. Lines starting not with a
+keyword are ignored.
+
+Key values \\{are} case sensitive (except \.{yes} and \.{no}).
+
+The default system dependent values are for \UNIX/-like operating systems;
+if you use for example DOS, you must write
+\medskip
+\halign{\quad\.{#}\hfil&\quad\.{#}\hfil\cr
+ long\_extension & no \cr
+ rm\_command & del \cr
+ cp\_command & copy \cr
+ job\_extension & .bat \cr
+ }
+\medskip
+
+Both the values |pk_output_size_x| and |pk_output_size_y| must not exceed
+|MAX_CHAR_SIZE|; \.{x\_offset} and \.{y\_offset} are related to the
+design size (and not to the input size).
+
+In \mf-like mode, one \.{GF} file and one \.{PL} file will be computed
+(depending on the command line options \.{-g} and \.{-p}), taking
+|x_resolution| and |y_scale| from the command line. \.{nmb\_fonts} will
+always be set to~|1|; no job file will be created.
+
+
+@
+@d PRINTER_MIN_RES_X 50
+@d PRINTER_MIN_RES_Y 50
+
+@<Global...@>=
+char Buffer[STRING_LENGTH + 1];
+
+
+@
+@<Prototypes@>=
+void read_config(void);
+
+
+@
+If |config_file| isn't found in \mf-like mode we assume that the font
+isn't a HBF font at all.
+
+@c
+void read_config(void)
+ {HBF_BBOX *boxp;
+ char *real_config_file;
+
+
+ @<Handle extension@>@;@#
+
+ real_config_file = TeX_search_cfg_file(config_file);
+ if(!real_config_file)
+ {if(mf_like)
+ {if(!quiet)
+ printf("Couldn't find `%s'\n", config_file);
+ exit(2);
+ }
+ else
+ {fprintf(stderr, "Couldn't find `%s'\n", config_file);
+ exit(1);
+ }
+ }@#
+
+ if(!(config = fopen(real_config_file, READ_TXT)))
+ {if(!testing)
+ {fprintf(stderr, "Couldn't open `%s'\n", config_file);
+ exit(1);
+ }
+ else /* We reach this point only if no searching library is used */
+ {if(!quiet)
+ fprintf(stderr, "Couldn't find or open `%s'\n", config_file);
+ exit(2);
+ }
+ }@#
+
+ if(testing)
+ {if(!quiet)
+ printf("%s\n", real_config_file);
+ exit(0);
+ }
+
+ @<Necessary parameters@>@;
+ @<Optional parameters@>@;@#
+
+ @<Get code range@>@;
+ @<Get sub code range@>@;@#
+
+ fclose(config);
+ }
+
+
+@
+Here we check whether we have to add an extension.
+
+@<Handle extension@>=
+ {int i, lastext = -1;
+
+ for(i = 0; config_file[i]; i++)
+ if(config_file[i] == '.')
+ lastext = i;
+ else if (config_file[i] == '/' ||
+ config_file[i] == ':' ||
+ config_file[i] == '\\')
+ lastext = -1;@#
+
+ if(lastext == -1)
+ strcat(config_file, ".cfg");
+ }
+
+
+@
+@<Necess...@>=
+ {char hbf_header[STRING_LENGTH + 1];
+ char *real_hbf_header;
+
+ if(!fsearch("hbf_header"))
+ config_error("hbf_header");
+ else
+ strcpy(hbf_header, Buffer);@#
+
+ real_hbf_header = TeX_search_hbf_file(hbf_header);
+ if(!real_hbf_header)
+ {fprintf(stderr, "Couldn't find `%s'\n", hbf_header);
+ exit(1);
+ }@#
+
+ hbfDebug = 1; /* we activate error messages of the HBF API
+ while scanning the HBF header file */@#
+
+ if(!(hbf = hbfOpen(real_hbf_header)))
+ exit(1);@#
+
+ hbfDebug = 0;@#
+
+ boxp = hbfBitmapBBox(hbf);
+ input_size_x = boxp->hbf_height; /* will be checked later for rotation */
+ input_size_y = boxp->hbf_width;
+ font_encoding = hbfProperty(hbf, "HBF_CODE_SCHEME");@#
+
+ if(!fsearch("output_name"))
+ config_error("output_name");
+ else
+ strcpy(output_name, Buffer);
+ }
+
+
+@
+@<Global...@>=
+int offset_x;
+int offset_y;@#
+
+HBF_CHAR user_min_char;
+int have_min_char = FALSE;
+
+@
+@<Opt...@>=
+ {if(fsearch("nmb_files"))
+ nmb_files = atoi(Buffer);
+ if(fsearch("unicode"))
+ if(Buffer[0] == 'y' || Buffer[0] == 'Y')
+ unicode = TRUE;
+ if(fsearch("min_char"))
+ {user_min_char = strtoul(Buffer, (char **)NULL, 0);
+ have_min_char = TRUE;
+ }@#
+
+ if(!mf_like)
+ {if(fsearch("pk_files"))
+ if(Buffer[0] == 'n' || Buffer[0] == 'N')
+ pk_files = FALSE;
+ if(fsearch("tfm_files"))
+ if(Buffer[0] == 'n' || Buffer[0] == 'N')
+ tfm_files = FALSE;
+ if(fsearch("ofm_file"))
+ if(Buffer[0] == 'y' || Buffer[0] == 'Y')
+ ofm_file = TRUE;
+ if(fsearch("long_extension"))
+ if(Buffer[0] == 'n' || Buffer[0] == 'N')
+ long_extension = FALSE;
+ }@#
+
+ if(fsearch("slant"))
+ slant = atof(Buffer);
+ if(slant < 0.0 || slant > 1.0)
+ {fprintf(stderr, "Invalid slant\n");
+ exit(1);
+ }
+ if(fsearch("rotation"))
+ if(Buffer[0] == 'y' || Buffer[0] == 'Y')
+ rotation = TRUE;@#
+
+ if(fsearch("mag_x"))
+ mag_x = atof(Buffer);
+ if(fsearch("mag_y"))
+ mag_y = atof(Buffer);
+ if(!mag_x && !mag_y)
+ {mag_x = 1.0;
+ mag_y = 1.0;
+ }
+ if(mag_x && !mag_y)
+ mag_y = mag_x;
+ if(mag_y && !mag_x)
+ mag_x = mag_y;
+ if(mag_x <= 0.0)
+ {fprintf(stderr, "Invalid horizontal magnification\n");
+ exit(1);
+ }
+ if(mag_y <= 0.0)
+ {fprintf(stderr, "Invalid vertical magnification\n");
+ exit(1);
+ }@#
+
+ if(fsearch("dpi_x"))
+ dpi_x = atoi(Buffer);
+ if(fsearch("dpi_y"))
+ dpi_y = atoi(Buffer);
+ if(!dpi_x && !dpi_y)
+ {dpi_x = 300;
+ dpi_y = 300;
+ }
+ if(dpi_x && !dpi_y)
+ dpi_y = dpi_x;
+ if(dpi_y && !dpi_x)
+ dpi_x = dpi_y;
+ if(dpi_x <= PRINTER_MIN_RES_X)
+ {fprintf(stderr, "Invalid horizontal printer resolution\n");
+ exit(1);
+ }
+ if(dpi_y <= PRINTER_MIN_RES_Y)
+ {fprintf(stderr, "Invalid vertical printer resolution\n");
+ exit(1);
+ }@#
+
+ if(fsearch("design_size"))
+ design_size = atof(Buffer);@#
+
+ if(fsearch("x_offset"))
+ offset_x = atoi(Buffer);
+ else
+ offset_x = rotation ? 0 : (boxp->hbf_xDisplacement * mag_x + 0.5);
+ if(fsearch("y_offset"))
+ offset_y = atoi(Buffer);
+ else
+ offset_y = rotation ? 0 : (boxp->hbf_yDisplacement * mag_y + 0.5);
+ if(!fsearch("comment"))
+ comment[0] = '\0';
+ else
+ strcpy(comment, Buffer);@#
+
+ if(fsearch("threshold"))
+ threshold = atoi(Buffer);
+ if(threshold <= 0 || threshold >= 255)
+ {fprintf(stderr, "Invalid threshold\n");
+ exit(1);
+ }@#
+
+ if(!fsearch("checksum"))
+ checksum = 0;
+ else
+ checksum = strtoul(Buffer, (char **)NULL, 0);@#
+
+ if(!fsearch("coding"))
+ coding[0] = '\0';
+ else
+ strcpy(coding, Buffer);@#
+
+ if(!fsearch("pk_directory"))
+ pk_directory[0] = '\0';
+ else
+ strcpy(pk_directory, Buffer);@#
+
+ if(!fsearch("tfm_directory"))
+ tfm_directory[0] = '\0';
+ else
+ strcpy(tfm_directory, Buffer);@#
+
+ if(fsearch("rm_command"))
+ strcpy(rm_command, Buffer);
+ else
+ strcpy(rm_command, "rm");@#
+
+ if(fsearch("cp_command"))
+ strcpy(cp_command, Buffer);
+ else
+ strcpy(cp_command, "cp");@#
+
+ if(!fsearch("job_extension"))
+ job_extension[0] = '\0';
+ else
+ {strncpy(job_extension, Buffer, EXTENSION_LENGTH);
+ job_extension[EXTENSION_LENGTH] = '\0';
+ }
+ }
+
+
+@
+The function |hbfGetCodeRange()| is an extension to the HBF API.
+
+Successive calls return the code ranges in ascending order; we only need the
+extrema of the whole code range.
+
+In case |min_char| has been supplied in the configuration file, we use that
+value instead.
+
+@<Global...@>=
+HBF_CHAR min_char, max_char;
+
+
+@
+@<Get code range@>=
+ {const void *cp;
+ HBF_CHAR dummy;
+
+ cp = hbfGetCodeRange(hbf, NULL, &min_char, &max_char);
+ for(; cp != NULL; cp = hbfGetCodeRange(hbf, cp, &dummy, &max_char))
+ ;@#
+
+ if(have_min_char)
+ min_char = user_min_char;
+ }
+
+
+@
+The function |hbfGetByte2Range()| is an extension to the HBF API.
+
+Successive calls return the byte~2 ranges in ascending order. We raise
+|VALID_SUBCODE| in the array |b2_codes[]| for all characters in subcode
+ranges.
+
+@d VALID_SUBCODE 1
+
+@<Global...@>=
+char b2_codes[256];
+unsigned char min_2_byte, max_2_byte;
+int nmb_2_bytes = 0;
+
+
+@
+@<Get sub code range@>=
+ {const void *b2r;
+ unsigned char dummy;
+ int i;
+
+ for(i = 0; i < 256; i++)
+ b2_codes[i] = 0;@#
+
+ b2r = hbfGetByte2Range(hbf, NULL, &min_2_byte, &max_2_byte);
+ dummy = min_2_byte;
+ for(; b2r != NULL; b2r = hbfGetByte2Range(hbf, b2r, &dummy, &max_2_byte))
+ {for(i = dummy; i <= max_2_byte; i++)
+ b2_codes[i] = VALID_SUBCODE;
+ }@#
+
+ for(i = 0; i < 256; i++) /* compute the number of valid |b2_codes| */
+ if(b2_codes[i] == VALID_SUBCODE)
+ nmb_2_bytes++;
+ }
+
+
+@
+This search routine is case insignificant. Each keyword must start a line;
+the function checks whether the character before the keyword is a newline
+character (|'\n'|). It also checks the presence of a parameter and fills
+|Buffer| if existent. |fsearch()| returns~1 on success.
+
+@<Prototypes@>=
+int fsearch(char *);
+
+
+@
+@c
+int fsearch(search_string)
+ char *search_string;
+
+ {char *P, p;
+ char temp_buffer[STRING_LENGTH + 1];
+ char env_name[STRING_LENGTH + 1];
+ char *env_p;
+ char *env_value;
+ char *Buf_p;
+ int Ch, ch, old_ch = '\n';
+ int count = STRING_LENGTH;
+
+ rewind(config); /* we start at offset~0 */@#
+
+ do
+ {P = search_string;
+ p = tolower(*P);
+ Ch = fgetc(config);
+ ch = tolower(Ch);
+ while(!(ch == p && old_ch == '\n') && Ch != EOF)
+ /* search first character of |search_string|;
+ |'\n'| must be the character before */
+ {old_ch = ch;
+ Ch = fgetc(config);
+ ch = tolower(Ch);
+ }@#
+
+ for(;;)
+ {if(*(++P) == '\0')
+ if((Ch = fgetc(config)) == ' ' || Ch == '\t')
+ /* there must be a space or a tab stop after the keyword */
+ goto success;
+ Ch = fgetc(config);
+ if(tolower(Ch) != tolower(*P))
+ break;
+ }
+ }
+ while(Ch != EOF);@#
+
+ return 0;@#
+
+success:
+ P = temp_buffer;@#
+
+ while((Ch = fgetc(config)) == ' ' || Ch == '\t')
+ /* remove leading blanks and tabs */
+ ;
+ while(Ch != '\n' && --count > 0 && Ch != EOF) /* fill |Buffer| */
+ {*P++ = Ch;
+ Ch = fgetc(config);
+ }
+ *P = '\0';@#
+
+ if (*temp_buffer)
+ @<Check for environment variables@>@;
+ else
+ *Buffer = '\0';@#
+
+ return (*Buffer) ? 1 : 0; /* is there something in the buffer? */
+ }
+
+
+@
+To make the configuration file more flexible we allow environment variables
+in the arguments. We scan the parameter stored in |temp_buffer| whether it
+contains a `\.{\$}' character. If yes, the following code fragment tries to
+get an environment variable name whose value will be then fetched with
+|getenv()|. An environment variable name recognized by \.{hbf2gf} must start
+with a letter or underscore; the other characters may be alphanumeric or an
+underscore. You can surround the environment variable name with braces to
+indicate where the name ends, e.g. \.{\$\{FOO\}}. The interpolated
+configuration parameter will be truncated to |STRING_LENGTH| characters. If
+you want to have `\.{\$}' you must write `\.{\$\$}'.
+
+Note that you should avoid to use such environment variables for specifying
+the location of the configuration file in case you have support for a file
+searching library like kpathsea. Its primary aim is to specify the target
+directories for the \.{pk\_directory} and the \.{tfm\_directory} keywords.
+
+@<Check for environment variables@>=
+ {P = temp_buffer;
+ Buf_p = Buffer;
+ count = STRING_LENGTH - 1;@#
+
+ while(*P && count > 0)
+ {env_p = env_name;@#
+
+ if(*P == '$')
+ {P++;
+ if(*P == '$')
+ {*(Buf_p++) = *(P++);
+ count--;
+ continue;
+ }
+ while(*P == '{') @q } @>
+ P++;
+ if(!(isalpha(*P) || *P == '_'))
+ {fprintf(stderr,@/
+ "Invalid environment variable name in configuration file\n");
+ exit(1);
+ }
+ *(env_p++) = *(P++);
+ while(*P)
+ {if(isalnum(*P) || *P == '_')
+ *(env_p++) = *(P++);
+ else
+ {@q { @> while(*P == '}')
+ P++;
+ *env_p = '\0';
+ break;
+ }
+ }@#
+
+ env_value = getenv(env_name);
+ if(env_value) /* append the environment value to |Buffer| */
+ {while(*env_value && count > 0)
+ {*(Buf_p++) = *(env_value++);
+ count--;
+ }
+ }
+ }
+ else
+ {*(Buf_p++) = *(P++);
+ count--;
+ }
+ }
+ *Buf_p = '\0';
+ }
+
+
+@
+If an error occurs, |config_error()| will leave the program with an error
+message.
+
+@<Prototypes@>=
+void config_error(char *);
+
+
+@
+@c
+void config_error(message)
+ char *message;
+
+ {fprintf(stderr, "Couldn't find `%s' entry in configuration file\n",
+ message);
+ exit(1);
+ }
+
+
+
+@* File searching.
+
+We support three searching engines: emtexdir, kpathsea, and MiKTeX (which is
+a Win32 port of kpathsea). For emtexdir, define |HAVE_EMTEXDIR| while
+compiling. For kpathsea, define |HAVE_LIBKPATHSEA|. If you have a version of
+kpathsea older than~3.2, define |OLD_KPATHSEA| additionally. For kpathsea
+older than~3.0, |VERY_OLD_KPATHSEA| must be also set. For MikTeX, define
+|HAVE_MIKTEX|. If none of these macros is defined, a simple |fopen()| will
+be used instead.
+
+@<Include files@>=
+#if defined(HAVE_LIBKPATHSEA)
+#ifdef VERY_OLD_KPATHSEA
+#include "kpathsea/proginit.h"
+#include "kpathsea/progname.h"
+#include "kpathsea/tex-glyph.h"
+#else
+#include "kpathsea/kpathsea.h"
+#endif@#
+
+#elif defined(HAVE_EMTEXDIR)
+#include "emtexdir.h"
+
+#elif defined(HAVE_MIKTEX)
+#include "miktex.h"
+#endif
+
+@
+@<Global variables@>=
+#if defined(HAVE_LIBKPATHSEA)
+#ifdef KPSEDLL
+/* this is kpathsea 3.3 and newer */
+extern KPSEDLL char *kpathsea_version_string;
+#else
+extern DllImport char *kpathsea_version_string;
+#endif
+#elif defined(HAVE_EMTEXDIR)
+char emtex_version_string[] = "emTeXdir";
+#elif !defined(HAVE_MIKTEX)
+char no_version_string[] = "no search library";
+#endif
+
+
+@
+@<Prototypes@>=
+char *TeX_search_version(void);
+
+
+@
+@c
+char *TeX_search_version(void)
+ {
+#if defined(HAVE_LIBKPATHSEA)
+ return kpathsea_version_string;
+#elif defined(HAVE_EMTEXDIR)
+ return emtex_version_string;
+#elif defined(HAVE_MIKTEX)
+ char buf[200];
+
+ strcpy(buf, "MiKTeX ");
+ miktex_get_miktex_version_string_ex(buf + 7, sizeof (buf) - 7);
+
+ return buf;
+#else
+ return no_version_string;
+#endif
+ }
+
+
+@
+@s emtex_dir int
+
+@<Global variables@>=
+#ifdef HAVE_EMTEXDIR
+struct emtex_dir cfg_path, hbf_path;
+#endif
+
+
+@
+@<Prototypes@>=
+#ifdef HAVE_EMTEXDIR
+extern int setup_list(struct emtex_dir *, char *, const char *, unsigned);
+int dir_setup(struct emtex_dir *, const char *, const char *, unsigned);
+char *file_find(char *, struct emtex_dir *);
+#endif
+
+
+@
+We slightly modify |emtex_dir_setup()| (from the file \.{emtexdir.c}) to
+output a warning in case the environment variable |env| isn't set properly.
+
+@c
+#ifdef HAVE_EMTEXDIR
+int dir_setup(ed, env, dir, flags)
+ struct emtex_dir *ed;
+ const char *env;
+ const char *dir;
+ unsigned flags;
+
+ {const char *val;
+ char path[260];
+
+ ed->alloc = 0;
+ ed->used = 0;
+ ed->list = NULL;@#
+
+ if(env != NULL && (val = getenv(env)) != NULL)
+ return setup_list(ed, path, val, flags);
+ else
+ fprintf(stderr,
+ "Environment variable `%s' not set; use current directory\n",
+ env);@#
+
+ return TRUE;
+ }
+
+
+@
+@<Global variables@>=
+char name_buffer[FILE_NAME_LENGTH + 1];
+
+
+@
+@c
+char *file_find(name, list)
+ char *name;
+ struct emtex_dir *list;
+
+ {if(emtex_dir_find(name_buffer, sizeof(name_buffer), list, name, EDF_CWD))
+ return name_buffer;@#
+
+ return NULL;
+ }
+#endif
+
+
+@
+For emtexdir we use the environment variables \.{HBFCFG} and \.{HBFONTS} for
+configuration resp.\ HBF header files.
+
+@<Initialize \TeX\ file searching@>=
+#if defined(HAVE_LIBKPATHSEA)
+#ifdef OLD_KPATHSEA
+ kpse_set_progname(argv[0]);
+#else
+ kpse_set_program_name(argv[0], "hbf2gf");
+#endif@#
+
+#ifdef VERY_OLD_KPATHSEA
+ kpse_init_prog("HBF2GF", 300, "cx", true, "cmr10");
+#else
+ kpse_init_prog("HBF2GF", 300, "cx", "cmr10");@#
+#endif@#
+
+#elif defined(HAVE_EMTEXDIR)
+ if(!dir_setup(&cfg_path, "HBFCFG", NULL, EDS_BANG))
+ {fprintf(stderr,
+ "Couldn't setup search path for configuration files\n");
+ exit(1);
+ }
+ if(!dir_setup(&hbf_path, "HBFONTS", NULL, EDS_BANG))
+ {fprintf(stderr,
+ "Couldn't setup search path for HBF header files\n");
+ exit(1);
+ }
+#endif
+
+
+@
+Finally, here are the searching routines. A special format in the kpathsea
+library for fonts which are neither PostScript nor TrueType (\.{MISCFONTS})
+is available with version~3.3 and newer. For older versions we use the path
+for PostScript fonts (\.{T1FONTS}) to find HBF files. Configuration files
+are searched in the path specified within \.{TEXCONFIG} for old kpathsea
+versions, and within \.{HBF2GFINPUTS} for new versions.
+
+@<Prototypes@>=
+char *TeX_search_cfg_file(char *);
+char *TeX_search_hbf_file(char *);
+
+
+@
+@c
+#if defined(HAVE_LIBKPATHSEA)
+char *TeX_search_cfg_file(name)
+ char *name;
+
+ {
+#ifdef OLD_KPATHSEA
+ return kpse_find_file(name, kpse_dvips_config_format, TRUE);
+#else
+ return kpse_find_file(name, kpse_program_text_format, TRUE);
+#endif
+ }@#
+
+
+char *TeX_search_hbf_file(name)
+ char *name;
+
+ {
+#ifdef VERY_OLD_KPATHSEA
+ return kpse_find_file(name, kpse_dvips_header_format, TRUE);
+#else
+#ifndef KPSEDLL
+ return kpse_find_file(name, kpse_type1_format, TRUE);
+#else
+ return kpse_find_file(name, kpse_miscfonts_format, TRUE);
+#endif
+#endif
+ }@#
+
+
+#elif defined(HAVE_EMTEXDIR)
+char *TeX_search_cfg_file(name)
+ char *name;
+
+ {return file_find(name, &cfg_path);
+ }@#
+
+
+char *TeX_search_hbf_file(name)
+ char *name;
+
+ {return file_find(name, &hbf_path);
+ }@#
+
+
+#elif defined(HAVE_MIKTEX)
+char *TeX_search_cfg_file(name)
+ char *name;
+
+ {char result[_MAX_PATH];
+
+ if (!miktex_find_input_file("hbf2gf", *name, result))
+ return 0;
+ return strdup(result);
+ }@#
+
+
+char *TeX_search_hbf_file(name)
+ char *name;
+
+ {char result[_MAX_PATH];
+
+
+ if (!miktex_find_miscfont_file(*name, result))
+ return 0;
+ return strdup(result);
+ }@#
+
+
+#else
+char *TeX_search_cfg_file(name)
+ char *name;
+
+ {return name;
+ }@#
+
+
+char *TeX_search_hbf_file(name)
+ char *name;
+
+ {return name;
+ }
+#endif
+
+
+
+@* An example.
+This is the example configuration file \.{b5so12.cfg} (for use with DOS or
+OS/2 and the emtexdir searching engine):
+\bigskip
+\halign{\quad\.{#}\hfil&\quad\.{#}\hfil\cr
+ hbf\_header & et24.hbf \cr
+ mag\_x & 2.076 \cr
+ x\_offset & 3 \cr
+ y\_offset & -8 \cr
+ comment & fanti songti 24x24 pixel font scaled and
+ adapted to 12 pt \cr
+ & \cr
+ design\_size & 12.0 \cr
+ & \cr
+ nmb\_fonts & -1 \cr
+ & \cr
+ output\_name & b5so12 \cr
+ & \cr
+ dpi\_x & 300 \cr
+ checksum & 123456789 \cr
+ coding & codingscheme Big 5 encoded TeX text \cr
+ & \cr
+ long\_extension & no \cr
+ job\_extension & .cmd \cr
+ rm\_command & del \cr
+ cp\_command & copy \cr
+ pk\_directory & \$HBF\_TARGET\\pk\\360dpi\\ \cr
+ tfm\_directory & \$HBF\_TARGET\\tfm\\ \cr
+ }
+\bigskip
+If you say e.g.
+\medskip
+\quad \.{set HBF\_TARGET=c:\\emtex\\texfonts}
+\medskip
+on your DOS prompt (or in your \.{autoexec.bat} file), then the interpolated
+value of the \.{tfm\_directory} keyword is \.{c:\\emtex\\texfonts\\tfm\\}.
+The HBF header file \.{et24.hbf} will be searched in the path specified by
+the \.{HBFCFG} environment variable.
+\bigskip
+The call
+\medskip
+\quad \.{hbf2gf b5so12.cfg}
+\medskip
+creates the files
+\medskip
+\quad \.{b5so1201.gf}, \.{b5so1202.gf}, $\ldots$ , \.{b5so1255.gf},
+\.{b5so12.pl}, and \.{b5so12.cmd}
+\bigskip
+After calling
+\medskip
+\quad \.{b5so12.cmd}
+\medskip
+you will find the \.{PK} files in the
+\.{c:\\emtex\\texfonts\\pk\\360dpi} directory and the \.{TFM} files in
+the \.{c:\\emtex\\texfonts\\tfm} directory; all \.{GF} files and
+\.{b5so12.pl} will be deleted.
+\bigskip
+The call
+\medskip
+\quad \.{hbf2gf -n b5so1220 417}
+\medskip
+creates two files:
+\medskip
+\quad \.{b5so1220.gf} and \.{b5so1220.pl}
+\medskip
+using the configuration file \.{b5so12.cfg}. The \.{GF} file would be
+named \.{b5so1220.417gf} if the flag \.{-n} had not been used.
+
+\medskip
+
+It is possible to convert bitmap fonts to \.{PK} files almost
+automatically. The HBF header file already has the entry
+\.{HBF\_BITMAP\_BOUNDING\_BOX} which defines vertical and horizontal offsets
+(in pixels), but these values are not in all cases optimal. If you omit
+\.{x\_offset} and \.{y\_offset} in the configuration file, the third and
+fourth parameter of \.{HBF\_BITMAP\_BOUNDING\_BOX} is used, scaled to design
+size (to say it with other words: \.{x\_offset} and \.{y\_offset} will always
+apply to the design size to be synchronous with the \.{TFM} files).
+
+Don't confuse scaling and magnification: Scaling here means that you choose
+a (arbitrary) design size and compute scaling values (\.{mag\_x} and
+\.{mag\_y}) which scales the bitmap to this particular design size at a
+certain (arbitrarily chosen) resolution (\.{dpi\_x} and \.{dpi\_y}).
+Magnification means that the scaled bitmap will be then magnified to a
+certain target size while still using the font parameters (i.e., the
+\.{TFM} file) of the design size.
+
+In the sample, you have a $24 \times 24$ bitmap font which will be scaled to
+$12\,\hbox{pt}$ having a resolution of $300\,\hbox{dpi}$:
+\medskip
+\quad $1\,\hbox{pt}$ are $300 / 72.27 = 4.1511$ pixel;
+
+\quad $12\,\hbox{pt}$ are $4.1511 * 12 = 49.813$ pixel;
+
+\quad thus the theoretical scaling value is $49.813 / 24 = 2.076$.
+
+\medskip
+
+But especially for small sizes, this may not be the best value if the font
+should harmonize with, say, Knuth's Computer Modern fonts. I recommend to
+compute, say, 5~\.{PK} fonts, then check the CJK font with different \TeX\
+fonts to see whether the offsets and/or the scaling value is good. The
+greater the design size the finer you can control the offsets---as an
+example you could use a design size of $30\,\hbox{pt}$ (nevertheless there
+is a compile-time constant |MAX_CHAR_SIZE| which limits the maximal
+character size; default is 255~pixels).
+
+If you have found optimal offsets, you can produce many different
+magnifications of the CJK font using the same set of \.{TFM} files
+analogous to ordinary \TeX\ fonts; as a simplification, we assume that
+\.{PK} files with a resolution of $300\,\hbox{dpi}$ and a design size of
+$10\,\hbox{pt}$ have the extension `\.{.300pk}' (respectively come into a
+`\.{300dpi}' subdirectory)---this is the reason why in the above example for
+the $12\,\hbox{pt}$ design size a `\.{360dpi}' target directory has been
+used. Now we can use the following formula:
+
+ $$ \\{needed\_dpi} = \\{your\_horizontal\_resolution} *
+ {\\{your\_target\_size} \over 10.0} $$
+
+Example: assuming that your printer has a resolution of
+$300\times400\,\hbox{dpi}$, and you want $14.4\,\hbox{pt}$:
+
+ $$ 300 * {14.4 \over 10.0} = 432 $$
+
+The vertical scaling value is $400 / 300 = 1.3333$. Use these values now to
+call \.{hbf2gf} in \mf-like mode:
+
+\quad \.{hbf2gf b5so1220 432 1.3333}
+
+
+
+@* Index.
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/install-sh b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/install-sh
new file mode 100644
index 00000000000..ebc66913e94
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/install-sh
@@ -0,0 +1,250 @@
+#! /bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5 (mit/util/scripts/install.sh).
+#
+# Copyright 1991 by the Massachusetts Institute of Technology
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of M.I.T. not be used in advertising or
+# publicity pertaining to distribution of the software without specific,
+# written prior permission. M.I.T. makes no representations about the
+# suitability of this software for any purpose. It is provided "as is"
+# without express or implied warranty.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch. It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) instcmd="$cpprog"
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd="$stripprog"
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ # this colon is to work around a 386BSD /bin/sh bug
+ :
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "install: no input file specified"
+ exit 1
+else
+ true
+fi
+
+if [ x"$dir_arg" != x ]; then
+ dst=$src
+ src=""
+
+ if [ -d $dst ]; then
+ instcmd=:
+ else
+ instcmd=mkdir
+ fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad
+# if $src (and thus $dsttmp) contains '*'.
+
+ if [ -f $src -o -d $src ]
+ then
+ true
+ else
+ echo "install: $src does not exist"
+ exit 1
+ fi
+
+ if [ x"$dst" = x ]
+ then
+ echo "install: no destination specified"
+ exit 1
+ else
+ true
+ fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+ if [ -d $dst ]
+ then
+ dst="$dst"/`basename $src`
+ else
+ true
+ fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+# this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+ pathcomp="${pathcomp}${1}"
+ shift
+
+ if [ ! -d "${pathcomp}" ] ;
+ then
+ $mkdirprog "${pathcomp}"
+ else
+ true
+ fi
+
+ pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+ $doit $instcmd $dst &&
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+ if [ x"$transformarg" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ dstfile=`basename $dst $transformbasename |
+ sed $transformarg`$transformbasename
+ fi
+
+# don't allow the sed command to completely eliminate the filename
+
+ if [ x"$dstfile" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ true
+ fi
+
+# Make a temp file name in the proper directory.
+
+ dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+ $doit $instcmd $src $dsttmp &&
+
+ trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing. If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+ $doit $rmcmd -f $dstdir/$dstfile &&
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
+
+fi &&
+
+
+exit 0
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/mkinstalldirs b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/mkinstalldirs
new file mode 100644
index 00000000000..91f6d04e17c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/mkinstalldirs
@@ -0,0 +1,32 @@
+#!/bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Last modified: 1994-03-25
+# Public domain
+
+errstatus=0
+
+for file in ${1+"$@"} ; do
+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+ shift
+
+ pathcomp=
+ for d in ${1+"$@"} ; do
+ pathcomp="$pathcomp$d"
+ case "$pathcomp" in
+ -* ) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp" 1>&2
+ mkdir "$pathcomp" || errstatus=$?
+ fi
+
+ pathcomp="$pathcomp/"
+ done
+done
+
+exit $errstatus
+
+# mkinstalldirs ends here
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff
new file mode 100644
index 00000000000..02f6250898a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff
@@ -0,0 +1,63 @@
+--- MakeTeXPK.orig Sun Feb 23 22:12:05 1997
++++ MakeTeXPK Tue Aug 18 08:07:40 1998
+@@ -80,18 +80,57 @@
+ : ${MAKETEXDIR=$TEXMF/maketex}
+ export TEXMF MAKETEXDIR
+
++unset cmd
++
++# test for TTF fonts
++if test -z "$cmd"; then
++ ttf2pk -q $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "ttf2pk failed" >&2
++ exit 1
++ fi
++ MODE=ttf2pk # preferred mode for TDS would be `modeless'
++ cmd=true
++ fi
++fi
++
++# test for HBF fonts
++if test -z "$cmd"; then
++ hbf2gf -q -p $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "hbf2gf failed" >&2
++ exit 1
++ fi
++ MODE=hbf2gf # preferred mode for TDS would be `modeless'
++ cmd=true
++ fi
++fi
++
++unset psline
++
+ # grep for the font in $PSMAPFILE, if some ps-to-pk is claimed to be supported.
+ # We have to figure out the name of the base font -- $NAME is probably
+ # something like pplr, but it's rpplr or pplr0 or pplr8r that's in psfonts.map.
+-pattern="^r?$NAME"'(0|8r)?([ ]|$)'
+-psline=`egrep "$pattern" $PSMAPFILE`
++if test -z "$cmd"; then
++ pattern="^r?$NAME"'(0|8r)?([ ]|$)'
++ psline=`egrep "$pattern" $PSMAPFILE`
++fi
++
+ if test -n "$psline"; then
+ cmd="gsftopk $NAME $DPI"
+ MODE=gsftopk
+ # some installations have set up gs in such a way that creating files
+ # is only allowed if the parameter -DNOSAFER is used:
+ GS_OPTIONS=-DNOSAFER; export GS_OPTIONS
+-else
++fi
++
++if test -z "$cmd"; then
+ # If an explicit mode is not supplied, try to guess. You can get a
+ # list of extant modes from ftp.cs.umb.edu:pub/tex/modes.mf.
+ if test -z "$MODE" || test "$MODE" = default; then
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff
new file mode 100644
index 00000000000..52cd52e1c1d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff
@@ -0,0 +1,28 @@
+--- MakeTeXTFM.orig Mon Feb 10 22:40:31 1997
++++ MakeTeXTFM Tue Aug 18 08:14:40 1998
+@@ -48,7 +48,24 @@
+ BDPI=${MT_DEF_BDPI-600}
+ DPI=$BDPI
+
+-cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++unset cmd
++
++# test for CJK bitmap font in HBF format
++hbf2gf -q $NAME $DPI
++errstatus=$?
++
++if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "$progname: \`hbf2gf failed." >&2
++ exit 1
++ fi
++ pltotf ./$NAME.pl $TFMNAME || exit 1
++ cmd=true
++fi
++
++if test -z "$cmd"; then
++ cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++fi
+
+ set x `MakeTeXnames $NAME $DPI $MODE $DEST`
+ PKDEST=$2
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff
new file mode 100644
index 00000000000..0536dbc7a4a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff
@@ -0,0 +1,75 @@
+--- MakeTeXPK.orig Sun Aug 16 08:05:07 1998
++++ MakeTeXPK Tue Aug 18 07:53:57 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original MakeTeXPK -- make a new PK font, because one wasn't found.
++# MakeTeXPK -- make a new PK font, because one wasn't found.
+ # Version of 12dec94.
+ #
+ # (If you change or delete the word `original' on the previous line,
+@@ -142,11 +142,52 @@
+ test -d $TEMPDIR || mkdir $TEMPDIR
+ cd $TEMPDIR || exit 1
+
++unset cmd
++
++# test for TTF fonts
++if test -z "$cmd"; then
++ ttf2pk -q $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "ttf2pk failed" >&2
++ exit 1
++ fi
++ test -z "$6" && DESTDIR="$DESTROOT/ttf2pk" # preferred mode for TDS
++ # would be `modeless'
++ echo "Successful call to ttf2pk" >&2
++ cmd=ttf2pk
++ fi
++fi
++
++# test for HBF fonts
++if test -z "$cmd"; then
++ hbf2gf -q -p $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "hbf2gf failed" >&2
++ exit 1
++ fi
++ test -z "$6" && DESTDIR="$DESTROOT/hbf2gf" # preferred mode for TDS
++ # would be `modeless'
++ echo "Successful call to hbf2gf" >&2
++ cmd=hbf2gf
++
++ gftopk ./$GFNAME $PKNAME || exit 1
++ fi
++fi
++
+ # grep for the font in $PSMAPFILE, if some ps-to-pk is claimed to be supported.
+ # We have to figure out the name of the base font -- $NAME is probably
+ # something like pplr, but it's rpplr or pplr0 or pplr8r that's in psfonts.map.
+-pattern="^r?$NAME"'(0|8r)?([ ]|$)'
+-test -n "$ps_to_pk" && egrep "$pattern" $PSMAPFILE >psline
++if test -z "$cmd"; then
++ pattern="^r?$NAME"'(0|8r)?([ ]|$)'
++ test -n "$ps_to_pk" && egrep "$pattern" $PSMAPFILE > psline
++fi
++
+ if test -s psline; then
+ # This is a PostScript font.
+ MODE=$ps_to_pk
+@@ -173,8 +214,9 @@
+ export DVIPSHEADERS
+ echo "$0: Running $cmd" >&2
+ $cmd >&2 || { echo "$0: $ps_to_pk failed." >&2; exit 1; }
++fi
+
+-else
++if test -z "$cmd"; then
+ # Try Metafont.
+ MFINPUTS="$MFINPUTS:$SAVEPWD"
+ export MFINPUTS
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/README b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/README
new file mode 100644
index 00000000000..eb12bec7a33
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/README
@@ -0,0 +1 @@
+This is for web2c-6.1 with the patch for kpathsea 2.6
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff
new file mode 100644
index 00000000000..23f7cb58fed
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff
@@ -0,0 +1,67 @@
+--- MakeTeXPK.orig Sat Feb 8 15:52:00 1997
++++ MakeTeXPK Tue Aug 18 07:58:22 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original MakeTeXPK -- make a new PK font, because one wasn't found.
++# MakeTeXPK -- make a new PK font, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -44,15 +44,54 @@
+ MODE=$5
+ DEST=$6
+
++unset cmd
++
++# test for TTF fonts
++if test -z "$cmd"; then
++ ttf2pk -q $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "ttf2pk failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++# test for HBF fonts
++if test -z "$cmd"; then
++ hbf2gf -q -p $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "hbf2gf failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++unset psline
++
+ # grep for the font in $PSMAPFILE. These are base font names, such as
+ # rpplr (the original) or pplr0 (an interim step) or pplr8r (current).
+-pattern="^r?$NAME"'(0|8r)?([ ]|$)'
+-psline=`egrep "$pattern" $PSMAPFILE`
++if test -z "$cmd"; then
++ pattern="^r?$NAME"'(0|8r)?([ ]|$)'
++ psline=`egrep "$pattern" $PSMAPFILE`
++fi
++
+ if test -n "$psline"; then
+ MODE=modeless
+ # ps_to_pk set in MakeTeXcommon and/or MakeTeX.site.
+ cmd="$ps_to_pk $NAME $DPI"
+-else
++fi
++
++if test -z "$cmd"; then
+ # Check that $BDPI and $MODE are consistent; if not, ignore the mode and
+ # hope we can correctly guess it from bdpi. (People like to specify the
+ # resolution on the command line, not the mode so much.)
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff
new file mode 100644
index 00000000000..a67df4e14b1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff
@@ -0,0 +1,36 @@
+--- MakeTeXTFM.orig Sat Feb 8 15:52:00 1997
++++ MakeTeXTFM Sun Aug 16 15:41:39 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original MakeTeXTFM -- make a new TFM file, because one wasn't found.
++# MakeTeXTFM -- make a new TFM file, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -50,7 +50,25 @@
+ exit 1
+ fi
+
+-cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++unset cmd
++
++# test for CJK bitmap font in HBF format
++hbf2gf -q $NAME $DPI
++errstatus=$?
++
++if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "$progname: \`hbf2gf failed." >&2
++ exit 1
++ fi
++ pltotf ./$NAME.pl $TFMNAME || exit 1
++ cmd=true
++fi
++
++if test -z "$cmd"; then
++ cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++fi
++
+ echo "$0: Running $cmd"
+ $cmd </dev/null
+ test -r $TFMNAME || { echo "$0: \`$cmd' failed to make $TFMNAME."; exit 1; }
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff
new file mode 100644
index 00000000000..1faf078adb3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff
@@ -0,0 +1,72 @@
+--- MakeTeXPK.orig Fri Oct 31 09:30:54 1997
++++ MakeTeXPK Tue Aug 18 08:01:33 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original MakeTeXPK -- make a new PK font, because one wasn't found.
++# MakeTeXPK -- make a new PK font, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -57,11 +57,48 @@
+ MODE=$5
+ DEST=$6
+
++unset cmd
++
++# test for TTF fonts
++if test -z "$cmd"; then
++ ttf2pk -q $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "ttf2pk failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++# test for HBF fonts
++if test -z "$cmd"; then
++ hbf2gf -q -p $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "hbf2gf failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++unset psline
++
+ # grep for the font in $PSMAPFILE. These are base font names, such as
+ # rpplr (the original) or pplr0 (an interim step) or pplr8r (current).
+-: ${PSMAPFILE=`kpsewhich psfonts.map`}
+-pattern="^$NAME"'([ ]|$)'
+-psline=`egrep "$pattern" $PSMAPFILE`
++if test -z "$cmd"; then
++ : ${PSMAPFILE=`kpsewhich psfonts.map`}
++ pattern="^r?$NAME"'(0|8r)?([ ]|$)'
++ psline=`egrep "$pattern" $PSMAPFILE`
++fi
++
+ if test -n "$psline"; then
+ MODE=modeless
+ # ps_to_pk is set in MakeTeX.cnf
+@@ -100,7 +137,9 @@
+ cmd="$ps_to_pk $NAME $DPI"
+ ;;
+ esac
+-else
++fi
++
++if test -z "$cmd"; then
+ # Check that $BDPI and $MODE are consistent; if not, ignore the mode and
+ # hope we can correctly guess it from bdpi. (People like to specify the
+ # resolution on the command line, not the mode so much.)
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff
new file mode 100644
index 00000000000..3fd17f94539
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff
@@ -0,0 +1,36 @@
+--- MakeTeXTFM.orig Tue Oct 21 21:22:12 1997
++++ MakeTeXTFM Sun Aug 16 15:51:20 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original MakeTeXTFM -- make a new TFM file, because one wasn't found.
++# MakeTeXTFM -- make a new TFM file, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -53,7 +53,25 @@
+ exit 1
+ fi
+
+-cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++unset cmd
++
++# test for CJK bitmap font in HBF format
++hbf2gf -q $NAME $DPI
++errstatus=$?
++
++if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "$progname: \`hbf2gf failed." >&2
++ exit 1
++ fi
++ pltotf ./$NAME.pl $TFMNAME || exit 1
++ cmd=true
++fi
++
++if test -z "$cmd"; then
++ cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++fi
++
+ echo "$progname: Running $cmd"
+
+ $cmd </dev/null || {
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff
new file mode 100644
index 00000000000..ac703fd7d39
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff
@@ -0,0 +1,72 @@
+--- mktexpk.orig Fri Feb 20 16:23:22 1998
++++ mktexpk Tue Aug 18 08:04:40 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original mktexpk -- make a new PK font, because one wasn't found.
++# mktexpk -- make a new PK font, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -73,11 +73,48 @@
+
+ NAME=$1
+
++unset cmd
++
++# test for TTF fonts
++if test -z "$cmd"; then
++ ttf2pk -q $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "ttf2pk failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++# test for HBF fonts
++if test -z "$cmd"; then
++ hbf2gf -q -p $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "hbf2gf failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++unset psline
++
+ # grep for the font in $PSMAPFILE. These are base font names, such as
+ # rpplr (the original) or pplr0 (an interim step) or pplr8r (current).
+-: ${PSMAPFILE=`kpsewhich psfonts.map`}
+-pattern="^$NAME"'([ ]|$)'
+-psline=`egrep "$pattern" $PSMAPFILE`
++if test -z "$cmd"; then
++ : ${PSMAPFILE=`kpsewhich psfonts.map`}
++ pattern="^r?$NAME"'(0|8r)?([ ]|$)'
++ psline=`egrep "$pattern" $PSMAPFILE`
++fi
++
+ if test -n "$psline"; then
+ MODE=modeless
+ # ps_to_pk is set in mktex.opt
+@@ -116,7 +153,9 @@
+ cmd="$ps_to_pk $NAME $DPI"
+ ;;
+ esac
+-else
++fi
++
++if test -z "$cmd"; then
+ # Check that $BDPI and $MODE are consistent; if not, ignore the mode and
+ # hope we can correctly guess it from bdpi. (People like to specify the
+ # resolution on the command line, not the mode so much.)
diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff
new file mode 100644
index 00000000000..b7bf872e8cc
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff
@@ -0,0 +1,36 @@
+--- mktextfm.orig Mon Feb 16 08:56:13 1998
++++ mktextfm Tue Aug 18 06:13:22 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original mktextfm -- make a new TFM file, because one wasn't found.
++# mktextfm -- make a new TFM file, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -70,7 +70,25 @@
+ exit 1
+ fi
+
+-cmd="mf \mode:=$MODE; mag:=$MAG; nonstopmode; input $NAME"
++unset cmd
++
++# test for CJK bitmap font in HBF format
++hbf2gf -q $NAME $DPI
++errstatus=$?
++
++if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "$progname: \`hbf2gf failed." >&2
++ exit 1
++ fi
++ pltotf ./$NAME.pl $TFMNAME || exit 1
++ cmd=true
++fi
++
++if test -z "$cmd"; then
++ cmd="mf \mode:=$MODE; mag:=$MAG; nonstopmode; input $NAME"
++fi
++
+ echo "$progname: Running $cmd"
+
+ $cmd </dev/null || {
diff --git a/Master/texmf-dist/source/latex/cjk/utils/lisp/cjkspace.el b/Master/texmf-dist/source/latex/cjk/utils/lisp/cjkspace.el
new file mode 100644
index 00000000000..ac99e86ec95
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/lisp/cjkspace.el
@@ -0,0 +1,102 @@
+;;; cjkspace.el --- provide a tilde character if you type a space.
+;;; use this file with AUCTeX.
+
+;; Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+;;
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program in doc/COPYING; if not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+;; MA 02110-1301 USA
+
+;; This file is part of the CJK package Version 4.8.0 (22-May-2008)
+
+;; Insert tilde characters instead of spaces for LaTeX CJK documents.
+;; If `CJK-space-after-space' is non-nil, typing a space yields a space.
+;; Typing two consecutive spaces yields a tilde. If `CJK-space-after-space'
+;; is nil, the behaviour is reversed.
+;;
+;; You should put the following in your .emacs file (additionally to the
+;; common AUCTeX adaptations):
+;;
+;; (autoload 'CJK-insert-space "cjkspace"
+;; "Insert tildes appropriately in CJK document." t)
+;; (defun my-LaTeX-mode-hook ()
+;; "Key definitions for LaTeX mode."
+;; (define-key LaTeX-mode-map " " 'CJK-insert-space)
+;; )
+;; (add-hook 'LaTeX-mode-hook 'my-LaTeX-mode-hook)
+
+
+;;; Code:
+
+(provide 'cjkspace)
+
+
+(defvar CJK-space "~")
+
+(defvar CJK-space-after-space nil
+
+ "*If non-nil, typing a space yields a space. Typing two consecutive
+spaces yields a tilde. If nil the behaviour is reversed.")
+
+(make-variable-buffer-local 'CJK-space-after-space)
+
+
+;;;###autoload
+(defun CJK-insert-space (arg)
+
+ "Insert tilde characters instead of spaces for LaTeX CJK documents.
+If `CJK-space-after-space' is non-nil, typing a space yields a space.
+Typing two consecutive spaces yields a tilde. If `CJK-space-after-space'
+is nil, the behaviour is reversed.
+
+With prefix argument, always inserts space characters."
+
+ (interactive "*P")
+
+ (if arg
+ (self-insert-command (prefix-numeric-value arg))
+ (TeX-update-style)
+ (if CJK-space-after-space
+ (insert (cond ((bobp)
+ ?\ )
+ ((not (= (preceding-char) ?\ ))
+ ?\ )
+ ((and (> (point) 2)
+ (save-excursion
+ (forward-char -2)
+ (looking-at (concat "[" CJK-space
+ (regexp-quote TeX-esc) "]"))))
+ ?\ )
+ (t
+ (delete-backward-char 1)
+ CJK-space)))
+ (insert (cond ((bobp)
+ ?\ )
+ ((= (preceding-char) (string-to-char TeX-esc))
+ ?\ )
+ ((= (preceding-char) ?\ )
+ ?\ )
+ ((and (> (point) 2)
+ (save-excursion
+ (forward-char -2)
+ (looking-at (concat (regexp-quote TeX-esc)
+ CJK-space))))
+ CJK-space)
+ ((= (preceding-char) (string-to-char CJK-space))
+ (delete-backward-char 1)
+ ?\ )
+ (t
+ CJK-space))))))
+
+;;; EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/lisp/cjktilde.el b/Master/texmf-dist/source/latex/cjk/utils/lisp/cjktilde.el
new file mode 100644
index 00000000000..d709cbeb0e2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/lisp/cjktilde.el
@@ -0,0 +1,111 @@
+;;; cjktilde.el -- minor mode exchanging `~' and ` ' keys.
+
+;; Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+;;
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program in doc/COPYING; if not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+;; MA 02110-1301 USA
+
+;; This file is part of the CJK package Version 4.8.0 (22-May-2008)
+
+;; Function `cjk-tilde-mode' activates a minor mode (`cjk-tilde-minor-mode')
+;; which exchanges the tilde key with the space key. This is useful for
+;; writing Chinese or Japanese with the CJK macro package for LaTeX 2e which
+;; redefines the `~' command to insert a shibuaki space (see documentation
+;; of the \CJKtilde macro for further details).
+
+;;; Code:
+
+(provide 'cjktilde)
+
+
+(defvar cjk-tilde-minor-mode nil
+
+ "*Non-nil enables CJK tilde mode.
+Setting this variable makes it local to the current buffer.
+See `cjk-tilde-mode' for details.")
+
+(make-variable-buffer-local 'cjk-tilde-minor-mode)
+
+
+;; the following two functions do the exchange.
+(defun electric-cjk-tilde (arg)
+
+ "insert space if tilde key is pressed provided cjk-tilde-minor-mode is
+activated."
+
+ (if cjk-tilde-minor-mode
+ (char-to-string ?\ )
+ (char-to-string ?\~)
+ )
+)
+
+
+(defun electric-cjk-space (arg)
+
+ "insert tilde if space key is pressed provided cjk-tilde-minor-mode is
+activated."
+
+ (if cjk-tilde-minor-mode
+ (char-to-string ?\~)
+ (char-to-string ?\ )
+ )
+)
+
+
+(or key-translation-map (setq key-translation-map (make-sparse-keymap)))
+
+(define-key key-translation-map " " 'electric-cjk-space)
+(define-key key-translation-map "~" 'electric-cjk-tilde)
+
+
+;; we indicate the minor mode in the mode line.
+(or (assq 'cjk-tilde-minor-mode minor-mode-map-alist)
+ (setq minor-mode-alist
+ (append minor-mode-alist
+ '((cjk-tilde-minor-mode " ~"))
+ )
+ )
+)
+
+;;;###autoload
+(defun cjk-tilde-mode (&optional arg)
+
+ "Toggle CJK tilde mode. If enabled, a tilde character will be inserted if
+the space key is pressed and vice versa.
+
+Use with caution! This minor mode makes only sense for CJK environments
+after insertion of the \\CJKtilde command. See the documentation of the
+CJK package for further details.
+
+With an argument, a positive argument enables CJK tilde mode,
+and a negative argument disables it."
+
+ (interactive "P")
+
+ (if (if arg
+ ;; negative arg: switch off
+ (<= (prefix-numeric-value arg) 0)
+ ;; no arg: toggle
+ cjk-tilde-minor-mode)
+ (setq cjk-tilde-minor-mode nil)
+
+ ;; positive arg: switch on
+ (setq cjk-tilde-minor-mode t)
+ )
+ (force-mode-line-update)
+)
+
+
+;;; end of cjktilde.el
diff --git a/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/cjk-enc.el b/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/cjk-enc.el
new file mode 100644
index 00000000000..32b7887153d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/cjk-enc.el
@@ -0,0 +1,1100 @@
+;;; cjk-enc.el --- provide a coding system for LaTeX2e CJK package
+
+;; Copyright (C) 1996-2000 Electrotechnical Laboratory, JAPAN.
+
+;; Author: Kenichi HANDA <handa@etl.go.jp>
+;; Werner LEMBERG <wl@gnu.org>
+
+;; Keywords: CJK package, LaTeX2e, emacs, xemacs
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to
+;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;;
+;; CJK Version 4.8.0 (22-May-2008)
+;;
+
+;;; Code
+
+;; This file will work with both Emacs (>=20.3) and XEmacs (>=21). In
+;; the following `Emacs' is used for both Emacs and XEmacs except where
+;; it differs.
+
+;; XXX: Thai stuff not yet ported to XEmacs. I don't know whether it
+;; makes sense currently to support it because the Thai implementation
+;; in XEmacs (version 21.1 and probably the upcoming 21.2) is not
+;; complete: For example, there is no correct display handling of IR
+;; 166 (this is the right part of TIS-620) in an ISO-2022 data stream,
+;; decomposition of precomposed Thai (in xtis character set) doesn't
+;; provide linguistic properties, etc.
+
+;; The following tables map from Emacs's character sets to LaTeX2e
+;; macros. Note that not all macros defined here really do exist. See
+;; MULEenc.sty and cjk-enc.txt for further details.
+;;
+;; MULEenc.sty makes TeX character 0x7F `active' and assigns to it a
+;; multiplex command which executes its first argument. To make the
+;; macro expansion robust against \uppercase and \lowercase, only
+;; numbers are used as parameters which index the various commands.
+;;
+;; 0x7F will be used as a parameter delimiting character also.
+;;
+(defconst cjk-latin-1
+ [;0xa0
+ "99\177" "1\177" "2\177" "3\177"
+ "4\177" "5\177" "6\177" "7\177"
+ "8\177\\ " "9\177" "10\177" "11\177"
+ "12\177" "0\177-{}" "14\177" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "20\177\\ " "21\177" "22\177" "23\177"
+ "24\177\\ " "25\177" "26\177" "27\177"
+ "28\177" "29\177" "30\177" "31\177"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "0\177\\DJ" "34\177N" "32\177O" "20\177O"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "32\177U" "20\177U" "33\177U"
+ "8\177U" "20\177Y" "0\177\\TH" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "0\177\\dj" "34\177n" "32\177o" "20\177o"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "32\177u" "20\177u" "33\177u"
+ "8\177u" "20\177y" "0\177\\th" "8\177y"
+ ])
+
+(defconst cjk-latin-2
+ [; 0xa0
+ "99\177" "48\177A" "49\177\\ " "0\177\\L"
+ "4\177" "51\177L" "20\177S" "7\177"
+ "8\177\\ " "51\177S" "24\177S" "51\177T"
+ "20\177Z" "0\177-{}" "51\177Z" "52\177Z"
+
+ ; 0xb0
+ "16\177" "48\177a" "48\177\\ " "0\177\\l"
+ "20\177\\ " "51\177l" "20\177s" "51\177\\ "
+ "24\177\\ " "51\177s" "24\177s" "51\177t"
+ "20\177z" "55\177\\ " "51\177z" "52\177z"
+
+ ; 0xc0
+ "20\177R" "20\177A" "33\177A" "49\177A"
+ "8\177A" "20\177L" "20\177C" "24\177C"
+ "51\177C" "20\177E" "48\177E" "8\177E"
+ "51\177E" "20\177I" "33\177I" "51\177D"
+
+ ; 0xd0
+ "0\177\\DJ" "20\177N" "51\177N" "20\177O"
+ "33\177O" "55\177O" "8\177O" "38\177"
+ "51\177R" "53\177U" "20\177U" "55\177U"
+ "8\177U" "20\177Y" "24\177T" "0\177\\ss"
+
+ ; 0xe0
+ "20\177r" "20\177a" "33\177a" "49\177a"
+ "8\177a" "20\177l" "20\177c" "24\177c"
+ "51\177c" "20\177e" "48\177e" "8\177e"
+ "51\177e" "20\177\\i" "33\177\\i" "51\177d"
+
+ ; 0xf0
+ "0\177\\dj" "20\177n" "51\177n" "20\177o"
+ "33\177o" "55\177o" "8\177o" "45\177"
+ "51\177r" "53\177u" "20\177u" "55\177u"
+ "8\177u" "20\177y" "24\177t" "52\177\\ "
+ ])
+
+(defconst cjk-latin-3
+ [; 0xa0
+ "99\177" "0\177\\TEXTMALTESEH" "49\177\\ " "3\177"
+ "4\177" "" "33\177H" "7\177"
+ "8\177\\ " "52\177I" "24\177S" "49\177G"
+ "33\177J" "0\177-{}" "" "52\177Z"
+
+ ; 0xb0
+ "16\177" "0\177\\textmalteseh" "18\177" "19\177"
+ "20\177\\ " "21\177" "33\177h" "23\177"
+ "24\177\\ " "0\177\\i" "24\177s" "49\177g"
+ "33\177\\j" "29\177" "" "52\177z"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" ""
+ "8\177A" "52\177C" "33\177C" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "" "34\177N" "32\177O" "20\177O"
+ "33\177O" "52\177G" "8\177O" "38\177"
+ "33\177G" "32\177U" "20\177U" "33\177U"
+ "8\177U" "49\177U" "33\177S" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" ""
+ "8\177a" "52\177c" "33\177c" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "" "34\177n" "32\177o" "20\177o"
+ "33\177o" "52\177g" "8\177o" "45\177"
+ "33\177g" "32\177u" "20\177u" "33\177u"
+ "8\177u" "49\177u" "33\177s" "52\177\\ "
+ ])
+
+(defconst cjk-latin-4
+ [; 0xa0
+ "99\177" "48\177A" "59\177" "24\177R"
+ "4\177" "34\177I" "24\177L" "7\177"
+ "8\177\\ " "51\177S" "15\177E" "24\177G"
+ "0\177\\TEXTTSTROKE" "0\177-{}" "51\177Z" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "48\177a" "48\177\\ " "24\177r"
+ "20\177\\ " "34\177\\i" "24\177l" "51\177\\ "
+ "24\177\\ " "51\177s" "15\177e" "24\177g"
+ "0\177\\texttstroke" "0\177\\NG" "51\177z" "0\177\\ng"
+
+ ; 0xc0
+ "15\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "48\177I"
+ "51\177C" "20\177E" "48\177E" "8\177E"
+ "52\177E" "20\177I" "33\177I" "15\177I"
+
+ ; 0xd0
+ "0\177\\DJ" "24\177N" "15\177O" "24\177K"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "48\177U" "20\177U" "33\177U"
+ "8\177U" "34\177U" "15\177U" "0\177\\ss"
+
+ ; 0xe0
+ "15\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "48\177i"
+ "51\177c" "20\177e" "48\177e" "8\177e"
+ "52\177e" "20\177\\i" "33\177\\i" "15\177\\i"
+
+ ; 0xf0
+ "0\177\\dj" "24\177n" "15\177o" "24\177k"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "48\177u" "20\177u" "33\177u"
+ "8\177u" "34\177u" "15\177u" "52\177\\ "
+ ])
+
+(defconst cjk-latin-5 ; ISO 8859-9
+ [; 0xa0
+ "99\177" "1\177" "2\177" "3\177"
+ "4\177" "5\177" "6\177" "7\177"
+ "8\177\\ " "9\177" "10\177" "11\177"
+ "12\177" "0\177-{}" "14\177" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "20\177\\ " "21\177" "22\177" "23\177"
+ "24\177\\ " "25\177" "26\177" "27\177"
+ "28\177" "29\177" "30\177" "31\177"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "49\177G" "34\177N" "32\177O" "20\177O"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "32\177U" "20\177U" "33\177U"
+ "8\177U" "52\177I" "24\177S" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "49\177g" "34\177n" "32\177o" "20\177o"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "32\177u" "20\177u" "33\177u"
+ "8\177u" "0\177\\i" "24\177s" "8\177y"
+ ])
+
+(defconst cjk-latin-jisx ; JIS X 0201 lower half
+ [; 0xa0
+ "" "0\177!" "37\177" "0\177\\#"
+ "39\177" "0\177\\%" "0\177\\&" "40\177"
+ "0\177(" "0\177)" "0\177*" "0\177+"
+ "0\177," "0\177-" "0\177." "0\177/"
+
+ ; 0xb0
+ "0\1770" "0\1771" "0\1772" "0\1773"
+ "0\1774" "0\1775" "0\1776" "0\1777"
+ "0\1778" "0\1779" "0\177:" "0\177;"
+ "41\177" "0\177=" "42\177" "0\177?"
+
+ ; 0xc0
+ "36\177" "0\177A" "0\177B" "0\177C"
+ "0\177D" "0\177E" "0\177F" "0\177G"
+ "0\177H" "0\177I" "0\177J" "0\177K"
+ "0\177L" "0\177M" "0\177N" "0\177O"
+
+ ; 0xd0
+ "0\177P" "0\177Q" "0\177R" "0\177S"
+ "0\177T" "0\177U" "0\177V" "0\177W"
+ "0\177X" "0\177Y" "0\177Z" "0\177["
+ "5\177" "0\177]" "43\177" "44\177"
+
+ ; 0xe0
+ "46\177" "0\177a" "0\177b" "0\177c"
+ "0\177d" "0\177e" "0\177f" "0\177g"
+ "0\177h" "0\177i" "0\177j" "0\177k"
+ "0\177l" "0\177m" "0\177n" "0\177o"
+
+ ; 0xf0
+ "0\177p" "0\177q" "0\177r" "0\177s"
+ "0\177t" "0\177u" "0\177v" "0\177w"
+ "0\177x" "0\177y" "0\177z" "47\177"
+ "50\177" "54\177" "56\177" ""
+ ])
+
+(defconst cjk-cyrillic ; ISO 8859-5
+ [; 0xa0
+ "99\177" "0\177\\CYRYO" "0\177\\CYRDJE" "20\177\\CYRG"
+ "0\177\\CYRIE" "0\177\\CYRDZE" "0\177\\CYRII" "0\177\\CYRYI"
+ "0\177\\CYRJE" "0\177\\CYRLJE" "0\177\\CYRNJE" "0\177\\CYRTSHE"
+ "20\177\\CYRK" "0\177-{}" "0\177\\CYRUSHRT" "0\177\\CYRDZHE"
+
+ ; 0xb0
+ "0\177\\CYRA" "0\177\\CYRB" "0\177\\CYRV" "0\177\\CYRG"
+ "0\177\\CYRD" "0\177\\CYRE" "0\177\\CYRZH" "0\177\\CYRZ"
+ "0\177\\CYRI" "0\177\\CYRISHRT" "0\177\\CYRK" "0\177\\CYRL"
+ "0\177\\CYRM" "0\177\\CYRN" "0\177\\CYRO" "0\177\\CYRP"
+
+ ; 0xc0
+ "0\177\\CYRR" "0\177\\CYRS" "0\177\\CYRT" "0\177\\CYRU"
+ "0\177\\CYRF" "0\177\\CYRH" "0\177\\CYRC" "0\177\\CYRCH"
+ "0\177\\CYRSH" "0\177\\CYRSHCH" "0\177\\CYRHRDSN" "0\177\\CYRERY"
+ "0\177\\CYRSFTSN" "0\177\\CYREREV" "0\177\\CYRYU" "0\177\\CYRYA"
+
+ ; 0xd0
+ "0\177\\cyra" "0\177\\cyrb" "0\177\\cyrv" "0\177\\cyrg"
+ "0\177\\cyrd" "0\177\\cyre" "0\177\\cyrzh" "0\177\\cyrz"
+ "0\177\\cyri" "0\177\\cyrishrt" "0\177\\cyrk" "0\177\\cyrl"
+ "0\177\\cyrm" "0\177\\cyrn" "0\177\\cyro" "0\177\\cyrp"
+
+ ; 0xe0
+ "0\177\\cyrr" "0\177\\cyrs" "0\177\\cyrt" "0\177\\cyru"
+ "0\177\\cyrf" "0\177\\cyrh" "0\177\\cyrc" "0\177\\cyrch"
+ "0\177\\cyrsh" "0\177\\cyrshch" "0\177\\cyrhrdsn" "0\177\\cyrery"
+ "0\177\\cyrsftsn" "0\177\\cyrerev" "0\177\\cyryu" "0\177\\cyrya"
+
+ ; 0xf0
+ "35\177" "0\177\\cyryo" "0\177\\cyrdje" "20\177\\cyrg"
+ "0\177\\cyrie" "0\177\\cyrdze" "0\177\\cyrii" "0\177\\cyryi"
+ "0\177\\cyrje" "0\177\\cyrlje" "0\177\\cyrnje" "0\177\\cyrtshe"
+ "20\177\\cyrk" "7\177" "0\177\\cyrushrt" "0\177\\cyrdzhe"
+ ])
+
+(defconst cjk-greek ; ISO 8859-7
+ [;0xa0
+ "99\177" "0\177<{}" "0\177>{}" "3\177"
+ "" "" "6\177" "7\177"
+ "8\177\\ " "9\177" "" "0\177(("
+ "12\177" "0\177-{}" "" "0\177---"
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "0\177'{}" "0\177\"'{}" "0\177'A" "0\177;"
+ "0\177'E" "0\177'H" "0\177'I" "0\177))"
+ "0\177'O" "29\177" "0\177'U" "0\177'W"
+
+ ; 0xc0
+ "0\177\"'i" "0\177A" "0\177B" "0\177G"
+ "0\177D" "0\177E" "0\177Z" "0\177H"
+ "0\177J" "0\177I" "0\177K" "0\177L"
+ "0\177M" "0\177N" "0\177X" "0\177O"
+
+ ; 0xd0
+ "0\177P" "0\177R" "" "0\177S"
+ "0\177T" "0\177U" "0\177F" "0\177Q"
+ "0\177Y" "0\177W" "0\177\"I" "0\177\"U"
+ "0\177'a" "0\177'e" "0\177'h" "0\177'i"
+
+ ; 0xe0
+ "0\177\"'u" "0\177a" "0\177b" "0\177g"
+ "0\177d" "0\177e" "0\177z" "0\177h"
+ "0\177j" "0\177i" "0\177k" "0\177l"
+ "0\177m" "0\177n" "0\177x" "0\177o"
+
+ ; 0xf0
+ "0\177p" "0\177r" "0\177c" "0\177s"
+ "0\177t" "0\177u" "0\177f" "0\177q"
+ "0\177y" "0\177w" "0\177\"i" "0\177\"u"
+ "0\177'o" "0\177'u" "0\177'w" ""
+ ])
+
+(defconst cjk-viscii-lower
+ [; 0xA0
+ "" "20\177\\abreve" "32\177\\abreve" "71\177\\abreve"
+ "20\177\\acircumflex" "32\177\\acircumflex" "73\177\\acircumflex" "71\177\\acircumflex"
+ "34\177e" "71\177e" "20\177\\ecircumflex" "32\177\\ecircumflex"
+ "73\177\\ecircumflex" "34\177\\ecircumflex" "71\177\\ecircumflex" "20\177\\ocircumflex"
+
+ ; 0xB0
+ "32\177\\ocircumflex" "73\177\\ocircumflex" "34\177\\ocircumflex" ""
+ "" "71\177\\ocircumflex" "32\177\\ohorn" "73\177\\ohorn"
+ "71\177i" "" "" ""
+ "" "0\177\\ohorn" "20\177\\ohorn" ""
+
+ ; 0xC0
+ "" "" "" ""
+ "" "" "73\177\\abreve" "34\177\\abreve"
+ "" "" "" ""
+ "" "" "" "32\177y"
+
+ ; 0xD0
+ "" "20\177\\uhorn" "" ""
+ "" "71\177a" "73\177y" "32\177\\uhorn"
+ "73\177\\uhorn" "" "" "34\177y"
+ "71\177y" "" "34\177\\ohorn" "0\177\\uhorn"
+
+ ; 0xE0
+ "32\177a" "20\177a" "0\177\\acircumflex" "34\177a"
+ "73\177a" "0\177\\abreve" "34\177\\uhorn" "34\177\\acircumflex"
+ "32\177e" "20\177e" "0\177\\ecircumflex" "73\177e"
+ "32\177i" "20\177i" "34\177i" "73\177i"
+
+ ; 0xF0
+ "0\177\\dj" "71\177\\uhorn" "32\177o" "20\177o"
+ "0\177\\ocircumflex" "34\177o" "73\177o" "71\177o"
+ "71\177u" "32\177u" "20\177u" "34\177u"
+ "73\177u" "20\177y" "71\177\\ohorn" ""
+ ])
+
+(defconst cjk-viscii-upper
+ [; 0xA0
+ "" "20\177\\ABREVE" "32\177\\ABREVE" "71\177\\ABREVE"
+ "20\177\\ACIRCUMFLEX" "32\177\\ACIRCUMFLEX" "73\177\\ACIRCUMFLEX" "71\177\\ACIRCUMFLEX"
+ "34\177E" "71\177E" "20\177\\ECIRCUMFLEX" "32\177\\ECIRCUMFLEX"
+ "73\177\\ECIRCUMFLEX" "34\177\\ECIRCUMFLEX" "71\177\\ECIRCUMFLEX" "20\177\\OCIRCUMFLEX"
+
+ ; 0xB0
+ "32\177\\OCIRCUMFLEX" "73\177\\OCIRCUMFLEX" "34\177\\OCIRCUMFLEX" ""
+ "" "71\177\\OCIRCUMFLEX" "32\177\\OHORN" "73\177\\OHORN"
+ "71\177I" "" "" ""
+ "" "0\177\\OHORN" "20\177\\OHORN" ""
+
+ ; 0xC0
+ "" "" "" ""
+ "" "" "73\177\\ABREVE" "34\177\\ABREVE"
+ "" "" "" ""
+ "" "" "" "32\177Y"
+
+ ; 0xD0
+ "" "20\177\\UHORN" "" ""
+ "" "71\177A" "73\177Y" "32\177\\UHORN"
+ "73\177\\UHORN" "" "" "34\177Y"
+ "71\177Y" "" "34\177\\OHORN" "0\177\\UHORN"
+
+ ; 0xE0
+ "32\177A" "20\177A" "0\177\\ACIRCUMFLEX" "34\177A"
+ "73\177A" "0\177\\ABREVE" "34\177\\UHORN" "34\177\\ACIRCUMFLEX"
+ "32\177E" "20\177E" "0\177\\ECIRCUMFLEX" "73\177E"
+ "32\177I" "20\177I" "34\177I" "73\177I"
+
+ ; 0xF0
+ "0\177\\DJ" "71\177\\UHORN" "32\177O" "20\177O"
+ "0\177\\OCIRCUMFLEX" "34\177O" "73\177O" "71\177O"
+ "71\177U" "32\177U" "20\177U" "34\177U"
+ "73\177U" "20\177Y" "71\177\\OHORN" ""
+ ])
+
+
+;; The following encodings will be selected (if they occur in the input
+;; buffer) at the very beginning of the output buffer to load the
+;; corresponding CJK macros.
+;;
+(defconst cjk-enc-table
+ '((chinese-gb2312 . GB)
+ (katakana-jisx0201 . SJIS)
+ (japanese-jisx0208 . JIS)
+ (japanese-jisx0212 . JIS2)
+ (korean-ksc5601 . KS)
+ (chinese-big5-1 . Bg5)
+ (chinese-big5-2 . Bg5)
+ (chinese-cns11643-1 . CNS1)
+ (chinese-cns11643-2 . CNS2)
+ (chinese-cns11643-3 . CNS3)
+ (chinese-cns11643-4 . CNS4)
+ (chinese-cns11643-5 . CNS5)
+ (chinese-cns11643-6 . CNS6)
+ (chinese-cns11643-7 . CNS7)))
+
+
+;; MULEenc's versions of \CJKspace and \CJKnospace
+;;
+(defconst cjk-space "\17764\177\177")
+(defconst cjk-nospace "\17765\177\177")
+
+;; MULEenc's command to insert a word break.
+;;
+(defconst cjk-word-break "\17761\177\177")
+
+
+;; Here we have the format specification table which defines what to do
+;; for each encoding.
+;;
+;; Later in the code we check to which group of commands the encoding
+;; belongs. This is done by testing how the encoding and its data is
+;; stored, e.g. whether it is a vector, or a cons cell, etc.
+;;
+(defconst cjk-format-spec-table
+ `(
+ ;; Cdr part is a vector VEC. Each character is formatted as:
+ ;;
+ ;; (format "\177%s\177" (aref VEC (- char-position-code-1 32)))
+ ;;
+ (latin-iso8859-1 . ,cjk-latin-1)
+ (latin-iso8859-2 . ,cjk-latin-2)
+ (latin-iso8859-3 . ,cjk-latin-3)
+ (latin-iso8859-4 . ,cjk-latin-4)
+ (latin-iso8859-9 . ,cjk-latin-5)
+ (latin-jisx0201 . ,cjk-latin-jisx)
+ ;; T2A encoding is used for Cyrillic letters. You must explicitly
+ ;; switch between T2 and T1/OT1 encoding.
+ (cyrillic-iso8859-5 . ,cjk-cyrillic)
+ ;; LGR encoding (resp. its ligatures) is used for Greek letters.
+ ;; You must explicitly switch between LGR and T1/OT1 encoding (using
+ ;; e.g. Babel's `greek' option).
+ (greek-iso8859-7 . ,cjk-greek)
+ ;; For Vietnamese a Vietnamese TeX-font has to be used which
+ ;; contains ASCII characters too! You must explicitly switch
+ ;; between Vietnamese T5 and T1/OT1 encoding.
+ (vietnamese-viscii-lower . ,cjk-viscii-lower)
+ (vietnamese-viscii-upper . ,cjk-viscii-upper)
+
+ ;; Cdr part is a cons of header HEAD and formatter FORMAT. HEAD is
+ ;; printed first, then each character is formatted as:
+ ;;
+ ;; (format FORMAT char-code-1 [char-code-2])
+ ;;
+ (katakana-jisx0201 . ("\17770\177\177" . "\177%c\177\177"))
+ (japanese-jisx0208 . ("\17766\177\177" . "\177%c\177%d\177"))
+ (chinese-gb2312 . ("\17767\177\177" . "\177%c\177%d\177"))
+ (chinese-big5-1 . ("\17768\177\177" . "\177%c\177%d\177"))
+ (chinese-big5-2 . ("\17768\177\177" . "\177%c\177%d\177"))
+ (korean-ksc5601 . ("\17769\177\177" . "\177%c\177%d\177"))
+
+ ;; Cdr part is a formatter string FORMAT. Each character is
+ ;; formatted as:
+ ;;
+ ;; (format FORMAT char-code-1 char-code-2)
+ ;;
+ (japanese-jisx0212 . "\17772\177JIS2\177\177%d\177%d\177")
+ (chinese-cns11643-1 . "\17772\177CNS1\177\177%d\177%d\177")
+ (chinese-cns11643-2 . "\17772\177CNS2\177\177%d\177%d\177")
+ (chinese-cns11643-3 . "\17772\177CNS3\177\177%d\177%d\177")
+ (chinese-cns11643-4 . "\17772\177CNS4\177\177%d\177%d\177")
+ (chinese-cns11643-5 . "\17772\177CNS5\177\177%d\177%d\177")
+ (chinese-cns11643-6 . "\17772\177CNS6\177\177%d\177%d\177")
+ (chinese-cns11643-7 . "\17772\177CNS7\177\177%d\177%d\177")
+
+ ;; Cdr part is a list of the form (SYMBOL ARG1 ARG2 ...). SYMBOL
+ ;; indicates how to process the following characters.
+ ;;
+ (thai-tis620 . (thai
+ "\17757\177\177" ; Thai start
+ "\17758\177\177" ; Thai end
+ "\17762\177%d\177" ; Thai base character
+ "\17760\177%d\177" ; Thai upper/lower vowel and tone
+ "\17763\177\177" ; Thai EOL
+ ))
+ ))
+
+
+;; An alist of charsets vs list of features required for processing
+;; the corresponding charset. The feature is loaded then on demand.
+;;
+(defconst cjk-feature-table
+ '((thai-tis620 thai-word)))
+
+
+;; Create an output encoding called `cjk-coding', using the function
+;; cjk-encode to actually convert the output.
+;;
+(if (featurep 'xemacs)
+ (make-coding-system
+ 'cjk-coding 'no-conversion
+ "Coding-system for LaTeX2e CJK Package"
+ '(mnemonic "CJK"
+ pre-write-conversion cjk-encode))
+ (make-coding-system
+ 'cjk-coding 0 ?c
+ "Coding-system for LaTeX2e CJK Package"
+ nil
+ '((pre-write-conversion . cjk-encode))))
+
+
+;; XEmacs doesn't have set-buffer-multibyte.
+;;
+(defmacro cjk-set-buffer-multibyte (arg)
+ (if (fboundp 'set-buffer-multibyte)
+ `(set-buffer-multibyte ,arg)))
+
+
+;; The conversion routine. Its main idea is to analyze the character
+;; set for each character and then to do something if the previous
+;; character has a different character set. For Thai, we must
+;; additionally find proper word breaks using a large word list.
+;;
+(defun cjk-encode (from to)
+ (let ((old-buf (current-buffer))
+ (temp-buf (get-buffer-create " *cjk-tmp*"))
+ (work-buf (get-buffer-create " *cjk-work*"))
+ (required-features (copy-sequence cjk-feature-table)))
+ ;; Initialize all working buffers.
+ (set-buffer work-buf)
+ (erase-buffer)
+ (cjk-set-buffer-multibyte nil)
+
+ (set-buffer temp-buf)
+ (erase-buffer)
+ (cjk-set-buffer-multibyte t)
+
+ ;; Copy the original contents into TEMP-BUF.
+ (insert-buffer-substring old-buf from to)
+ (if (and (not (featurep 'xemacs))
+ (string< emacs-version "21.0"))
+ (progn
+ (message "Decomposing...")
+ (decompose-region (point-min) (point-max))))
+
+ (let ((enc nil)
+ (space-state nil)
+ prev-charset charset
+ ch ch1 ch2
+ format-spec
+ (skipped-whitespace nil)
+ (last-pos 0))
+ ;; Now we go to beginning of TEMP-BUF and start the loop.
+ (goto-char (point-min))
+ (setq prev-charset 'ascii)
+
+ (while (not (eobp))
+ (setq ch (following-char))
+ (set-buffer work-buf)
+
+ ;; Set CHARSET to the character set of the current character.
+ (setq charset (char-charset ch))
+ (if (eq charset 'ascii)
+ ;; Not a multibyte character.
+ (progn
+ ;; Don't modify PREV-CHARSET for whitespace characters.
+ (setq skipped-whitespace (string-match "[ \t\n]"
+ (string ch)))
+ (if (not skipped-whitespace)
+ (setq prev-charset 'ascii))
+ (insert ch))
+
+ ;; Now we are at a multibyte character. Set the following
+ ;; variables:
+ ;;
+ ;; CH1 -- first character code
+ ;; CH2 -- second character code (of two-byte characters)
+ ;; if any
+ (if (or (eq charset 'chinese-big5-1)
+ (eq charset 'chinese-big5-2))
+ ;; Emacs uses two special character sets for Big5
+ ;; characters. We must decode the current character to
+ ;; get the real Big5 character code.
+ (progn
+ (setq ch (encode-big5-char ch))
+ (if (consp ch)
+ ;; XEmacs
+ (setq ch1 (car ch)
+ ch2 (cdr ch))
+ ;; Emacs
+ (setq ch1 (lsh ch -8)
+ ch2 (logand ch 255)))
+ ;; 128 will be later added again.
+ (setq ch1 (- ch1 128))
+ (setq ch2 (- ch2 128)))
+ ;; For all other character sets, split-char does the right
+ ;; thing. Note that CH2 can be zero in case it is a
+ ;; single-byte character set.
+ (let ((l (split-char ch)))
+ (setq ch1 (nth 1 l)
+ ch2 (or (nth 2 l) 0))))
+
+ ;; FORMAT-SPEC tells how to encode this character.
+ (setq format-spec (cdr (assq charset cjk-format-spec-table)))
+ (if (null format-spec)
+ ;; Unsupported character set. Do nothing.
+ nil
+ ;; Ok, it is supported. If this character set is a CJK
+ ;; character set (i.e., it is in CJK-ENC-TABLE), we need a
+ ;; special header at the beginning of the output file.
+ ;; This information is stored in the ENC list.
+ (let ((tag (cdr (assq charset cjk-enc-table))))
+ (if tag
+ (or (memq tag enc)
+ (setq enc (cons tag enc)))))
+
+ ;; Load all features which are required to handle this
+ ;; character set.
+ (let ((tail (assq charset required-features)))
+ ;; We remove all occurrences of TAIL in the feature list
+ ;; to avoid loading packages multiple times.
+ (setq required-features (delete tail required-features)
+ tail (cdr tail))
+ (while tail
+ (require (car tail))
+ (setq tail (cdr tail))))
+
+ (cond
+ ;; If FORMAT-SPEC has the form (SYMBOL ARG1 ARG2 ...),
+ ;; SYMBOL indicates how to process the following
+ ;; characters.
+ ((and (consp format-spec) (symbolp (car format-spec)))
+ (cond
+ ((eq (car format-spec) 'thai)
+ ;; FORMAT-SPEC has this form:
+ ;; (thai START-STRING END-STRING
+ ;; BASE-CHAR-FORMAT COMBINING-CHAR-FORMAT
+ ;; EOL-STRING)
+ (let ((base-format (nth 3 format-spec))
+ (combining-format (nth 4 format-spec))
+ pos
+ start
+ end
+ str
+ len
+ (i 0))
+ ;; First, insert the code for starting Thai.
+ (if (not (eq prev-charset charset))
+ (insert (nth 1 format-spec)))
+ ;; Analyze the maximum run of Thai characters in
+ ;; TEMP-BUF and insert `|' at all word boundaries.
+ (set-buffer temp-buf)
+ (setq start (point))
+ ;; "\\ct+" searches for characters which have the
+ ;; category `t', i.e. are Thai characters.
+ (re-search-forward "\\ct+" nil t)
+ (setq end (point-marker))
+ (goto-char start)
+ (thai-break-words "|" end)
+ ;; Extract this run.
+ (setq str (buffer-substring start end)
+ len (length str))
+ (goto-char end)
+ (set-marker end nil)
+ ;; Insert characters in STR one by one while
+ ;; converting `|' to `cjk-word-break' and formatting
+ ;; Thai characters according to FORMAT-SPEC.
+ (set-buffer work-buf)
+ (while (< i len)
+ (setq ch (aref str i)
+ i (1+ i))
+ (if (= ch ?|)
+ (insert cjk-word-break)
+ (let* ((split (split-char ch))
+ (category-set (char-category-set ch)))
+ ;; We now analyze the linguistic category
+ ;; assigned to the current character and take
+ ;; the appropriate format. Then we add 128
+ ;; for producing TIS-620 output.
+ (insert (format
+ (if (or (aref category-set ?2)
+ (aref category-set ?3)
+ (aref category-set ?4))
+ combining-format
+ base-format)
+ (+ (nth 1 split) 128))))))
+ ;; It depends on the following characters what to do
+ ;; next. If we have tabs and spaces followed by a
+ ;; Thai character, nothing will be done. If we have
+ ;; a newline character additionally, we insert a
+ ;; special command which usually expands to
+ ;; `\ignorespaces' (which will suppress all
+ ;; whitespace characters). In all other cases, we
+ ;; close the Thai block.
+ ;;
+ ;; Reason for this algorithm is the fact that in the
+ ;; Thai language a space isn't used to separate
+ ;; words but to structure a sentence. A normal line
+ ;; break shall not automatically cause the insertion
+ ;; of a space. The user has rather to explicitly
+ ;; type one or more space characters in the middle
+ ;; of a line to indicate that he or she really wants
+ ;; a space -- note that usually a Thai space is
+ ;; wider than a Roman space resp. can be stretched
+ ;; more.
+ (set-buffer temp-buf)
+ (if (looking-at "[ \t]+\\ct")
+ (setq str "")
+ (if (looking-at "[ \t]*\n[ \t]*\\ct")
+ (setq str (nth 5 format-spec))
+ (setq str (nth 2 format-spec))))
+ ;; To compensate the forward-char at the end of loop.
+ (forward-char -1)
+ (set-buffer work-buf)
+ (insert str)))))
+
+ ;; We may have to insert the car part of the cons and/or
+ ;; space controlling commands (cjk-space/cjk-nospace)
+ ;; depending on the current context.
+ ;;
+ ;; Note that this logic sometimes fails. In the example
+ ;; below, cjk-encode will insert \CJKspace in the comment
+ ;; instead of right after the comment. Since cjk-encode
+ ;; should be a low-level function we can't assume that
+ ;; `%' is always the TeX comment character. Only TeX
+ ;; itself can reliably detect the current comment
+ ;; character.
+ ;;
+ ;; Chinese Text
+ ;; % Korean comment
+ ;; Korean Text
+ ;;
+ ;; Two solutions: Either switch between Korean and other
+ ;; languages only outside of a comment, or manually insert
+ ;; \CJKspace and \CJKnospace commands as needed.
+ ((consp format-spec)
+ (if (eq charset 'korean-ksc5601)
+ (or (eq space-state cjk-space)
+ (insert (setq space-state cjk-space)))
+ (or (eq space-state cjk-nospace)
+ (insert (setq space-state cjk-nospace))))
+
+ ;; Now insert the the header and character(s)
+ ;; according to CJK-FORMAT-SPEC-TABLE. The CJK
+ ;; package needs the characters in GR notation, so
+ ;; we add 0x80.
+ (if (not (eq prev-charset charset))
+ (insert (car format-spec)))
+ (insert (format (cdr format-spec)
+ (+ ch1 128) (+ ch2 128))))
+
+ ;; Since Emacs provides the character sets in GL
+ ;; notation, we simply subtract 0x20 to get the proper
+ ;; index.
+ ((vectorp format-spec)
+ (insert (format "\177%s\177"
+ (aref format-spec (- ch1 32)))))
+
+ ;; Otherwise, FORMAT-SPEC is just a formatting
+ ;; string.
+ (t
+ (insert (format format-spec ch1 ch2)))))
+
+ (setq prev-charset charset))
+
+ ;; We have finished the analysis of the character set. Print
+ ;; some progress information if we have done another 1000
+ ;; characters.
+ (set-buffer temp-buf)
+ (if (> (- (point) last-pos) 1000)
+ (progn
+ (setq last-pos (point))
+ (message "Converting: %2d%%"
+ (/ (* 100 (point)) (point-max)))))
+
+ ;; Advance to the next character and loop.
+ (forward-char 1))
+
+ ;; The remaining task is to insert an appropriate header at the
+ ;; very beginning of the output file. If ENC isn't empty, we need
+ ;; the extra LaTeX commands to load CJK package and to output all
+ ;; collected CJK encodings.
+ (set-buffer work-buf)
+ (goto-char (point-min))
+ (if enc
+ (progn
+ (insert "\\def\\CJKhook{")
+ (while enc
+ (insert (format "\\CJKenc{%s}" (car enc)))
+ (setq enc (cdr enc)))
+ (insert "}")
+ (insert "\\ifx\\CJKpreproc\\undefined")
+ (insert "\\def\\CJKpreproc{cjk-enc}")
+ (insert "\\RequirePackage[global]{CJK}")
+ (insert "\\AtBeginDocument{\\begin{CJK}{}{}\\CJKspace}")
+ (insert "\\AtEndDocument{\\end{CJK}}")
+ (insert "\\else\\CJKhook\\fi "))
+ (insert "\\ifx\\CJKpreproc\\undefined")
+ (insert "\\def\\CJKpreproc{cjk-enc}")
+ (insert "\\RequirePackage{MULEenc}")
+ (insert "\\fi ")))))
+
+
+(defun cjk-get-name (filename)
+ "Replace the extension of the file name with `.cjk'.
+If the extension of FILENAME is `.bib', `-cjk.bib' will be appended
+to the file name without extension."
+
+ (concat (file-name-sans-extension filename)
+ (if (string-equal (file-name-extension filename) "bib")
+ "-cjk.bib"
+ ".cjk")))
+
+
+(defun cjk-write-file ()
+ "Save current buffer and <buffername>.cjk in cjk-coding.
+Files of the form <buffername>.bib are saved as <buffername>-cjk.bib.
+
+If no file is associated with the buffer, you are asked to specify a
+file name."
+
+ (interactive)
+ (save-buffer)
+ (let* ((bufname (buffer-file-name))
+ (newbufname (cjk-get-name bufname)))
+ (message "Saving %s and %s" bufname newbufname)
+ (let ((coding-system-for-write 'cjk-coding))
+ (write-region (point-min) (point-max) newbufname))))
+
+
+(defun cjk-file-write-file (filename &optional load)
+ "Save FILENAME as <FILENAME>.cjk in cjk-coding.
+With prefix arg (noninteractively: 2nd arg LOAD), load FILENAME into
+current buffer also."
+
+ (interactive
+ (let ((file buffer-file-name)
+ (file-name nil)
+ (file-dir nil))
+ (and file
+ ;; If we are in LaTeX mode, we present the file associated
+ ;; with the current buffer as the default.
+ (eq (cdr (assq 'major-mode (buffer-local-variables)))
+ 'latex-mode)
+ (setq file-name (file-name-nondirectory file)
+ file-dir (file-name-directory file)))
+ ;; Now we build the argument list.
+ (list (read-file-name (if current-prefix-arg
+ "Load file and save it in cjk-coding: "
+ "Save file in cjk-coding: ")
+ file-dir file-name nil)
+ current-prefix-arg)))
+
+ (setq filename (expand-file-name filename))
+
+ (let (input-buffer
+ (new-filename (cjk-get-name filename)))
+ (save-excursion
+ (setq input-buffer (get-buffer-create " *cjk-temp*"))
+ (set-buffer input-buffer)
+ (erase-buffer)
+ (cjk-set-buffer-multibyte t)
+ (insert-file-contents filename)
+ (let ((coding-system-for-write 'cjk-coding))
+ (write-region (point-min) (point-max) new-filename))))
+
+ (if load
+ (find-file filename)))
+
+
+;; To be independent from AUC TeX, we copy the TeX-in-comment function.
+
+(defvar cjk-tex-esc "\\"
+ "The TeX escape character.")
+
+
+(defconst cjk-comment-start-skip (concat "\\(\\(^\\|[^\\]\\)\\("
+ (regexp-quote cjk-tex-esc)
+ (regexp-quote cjk-tex-esc)
+ "\\)*\\)\\(%+ *\\)")
+ "A regexp to identify the beginning of a comment in TeX.")
+
+
+(defun cjk-tex-in-comment ()
+ "Return non-nil if point is in a TeX comment."
+
+ (if (or (bolp)
+ (eq (preceding-char) ?\r))
+ nil
+ (save-excursion
+ (let ((pos (point)))
+ (re-search-backward "^\\|\r" nil t)
+ (or (looking-at cjk-comment-start-skip)
+ (re-search-forward cjk-comment-start-skip pos t))))))
+
+
+(defun cjk-write-all-files (filename &optional load force)
+ "Save FILENAME and all files included in FILENAME in cjk-coding.
+This function runs `cjk-file-write-file' on each file if necessary.
+The inclusion commands scanned for are `\\CJKinput', `\\CJKinclude',
+and `\\CJKbibliography'.
+
+With 1 \\[universal-argument] (noninteractively: 2nd arg LOAD),
+ load FILENAME into current buffer also.
+With 2 \\[universal-argument]'s (noninteractively: 3rd arg FORCE),
+ run `cjk-file-write-file' unconditionally.
+With 3 \\[universal-argument]'s, do both."
+
+ (interactive
+ (let ((file buffer-file-name)
+ (file-name nil)
+ (file-dir nil))
+ (and file
+ ;; If we are in LaTeX mode, we present the file associated
+ ;; with the current buffer as the default.
+ (eq (cdr (assq 'major-mode (buffer-local-variables)))
+ 'latex-mode)
+ (setq file-name (file-name-nondirectory file)
+ file-dir (file-name-directory file)))
+ ;; Now we build the argument list.
+ (setq load (member current-prefix-arg '((4) (64))))
+ (setq force (member current-prefix-arg '((16) (64))))
+ (list
+ (read-file-name (if load
+ "Load file and save it in cjk-coding: "
+ "Save file in cjk-coding: ")
+ file-dir file-name nil)
+ load
+ force)))
+
+ (let (input-buffer
+ (dir (file-name-directory filename))
+ (tex-include-regexp "\\\\CJKinclude *{\\(.*\\)}")
+ (tex-input-regexp "\\\\CJKinput *{\\(.*\\)}")
+ (bib-regexp "\\\\CJKbibliography *{\\(.*\\)}")
+ (result '())
+ (newresult '()))
+ (save-excursion
+ ;; First, load the file associated with FILENAME into INPUT-BUFFER
+ (setq input-buffer (get-buffer-create " *cjk-temp*"))
+ (set-buffer input-buffer)
+ (erase-buffer)
+ (cjk-set-buffer-multibyte t)
+ (insert-file-contents filename)
+ (goto-char (point-min))
+
+ ;; Then, search `\CJKinput', `\CJKinclude', and `\CJKbibliography' and
+ ;; append the found filenames to the RESULT list.
+ (while (re-search-forward tex-include-regexp nil t)
+ ;; We assume that the include file name is well behaved and
+ ;; doesn't contain a comment character.
+ (let ((match (match-string 1)))
+ (if (not (cjk-tex-in-comment))
+ (setq result (cons (concat match ".tex") result)))))
+ (while (re-search-forward tex-input-regexp nil t)
+ (let ((match (match-string 1)))
+ (if (not (cjk-tex-in-comment))
+ (if (string-equal (file-name-sans-extension match) match)
+ (setq result (cons (concat match ".tex") result))
+ (setq result (cons match result))))))
+ (while (re-search-forward bib-regexp nil t)
+ (let ((match (match-string 1)))
+ (if (not (cjk-tex-in-comment))
+ (setq result (cons (concat match ".bib") result))))))
+
+ ;; Add directory to each element.
+ (dolist (elt result)
+ (setq newresult (cons (concat dir elt) newresult)))
+
+ ;; Add the master file itself to the list.
+ (setq newresult (cons filename newresult))
+
+ ;; Process file by file.
+ (dolist (source newresult)
+ (if (not (file-readable-p source))
+ (message "Can't operate on %s" source)
+ (if (or (file-newer-than-file-p source (cjk-get-name source))
+ force)
+ (cjk-file-write-file source)))))
+
+ (if load
+ (find-file filename)))
+
+
+(defun batch-cjk-write-file ()
+ "Run `cjk-file-write-file' on the remaining files if necessary.
+Use this from the command line, with `--batch' (or `-batch'); it won't
+work in an interactive Emacs. For example, invoke
+
+ \"emacs -batch -l cjk-enc -f batch-cjk-write-file *.tex\"
+
+Note that if you specify a directory name, all files in this directory
+are processed."
+
+ (do-batch-cjk-write-file))
+
+
+(defun batch-force-cjk-write-file ()
+ "Run `cjk-file-write-file' on the remaining files unconditionally.
+Use this from the command line, with `--batch' (or `-batch'); it won't
+work in an interactive Emacs. For example, invoke
+
+ \"emacs -b -l cjk-enc -f batch-force-cjk-write-file *.tex\"
+
+Note that if you specify a directory name, all files in this directory
+are processed.
+
+This function is useful for Makefiles to let the make program do the
+file time management."
+
+ (do-batch-cjk-write-file t))
+
+
+(defun do-batch-cjk-write-file (&optional force)
+ "Run `cjk-file-write-file' on remaining arguments.
+If optional argument FORCE is non-nil, run it unconditionally."
+
+ (defvar command-line-args-left) ; Avoid `free variable' warning.
+
+ (if (not noninteractive)
+ (error "`batch-write-cjk-file' is to be used only with --batch"))
+
+ (while command-line-args-left
+ (let ((source (car command-line-args-left))
+ dest)
+ (if (file-directory-p (expand-file-name source))
+ ;; Handle all files in directory.
+ (let ((files (directory-files source)))
+ (while files
+ (if (and (not (auto-save-file-name-p (car files)))
+ ;; Replace the directory name saved in `source'
+ ;; with a file name.
+ (setq source
+ (expand-file-name (car files) source))
+ (setq dest (cjk-get-name source))
+ (not (file-directory-p source))
+ (or (file-newer-than-file-p source dest)
+ force))
+ (cjk-file-write-file source))
+ (setq files (cdr files))))
+ ;; Otherwise, process a single file.
+ (if (not (file-readable-p source))
+ (message "Can't operate on %s" source)
+ (if (or (file-newer-than-file-p source (cjk-get-name source))
+ force)
+ (cjk-file-write-file source)))))
+
+ (setq command-line-args-left (cdr command-line-args-left)))
+
+ (message "Done")
+ (kill-emacs 0))
+
+;;; EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/thai-word.el b/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/thai-word.el
new file mode 100644
index 00000000000..956cf27b06e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/thai-word.el
@@ -0,0 +1,11052 @@
+;;; thai-word.el -- find Thai word boundaries
+
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004
+;; Electrotechnical Laboratory, JAPAN.
+
+;; Author: Kenichi HANDA <handa@etl.go.jp>
+
+;; Keywords: thai, word break, emacs
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to
+;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;; The used Thai word list has been taken from IBM's ICU4J project
+;; (file `thai6.ucs', version 1.4, converted to TIS encoding, with
+;; removal of three incorrect entries) to which the following license
+;; applies:
+;;
+;; COPYRIGHT AND PERMISSION NOTICE
+;;
+;;
+;; Copyright (c) 1995-2001 International Business Machines
+;; Corporation and others
+;;
+;; All rights reserved.
+;;
+;;
+;; Permission is hereby granted, free of charge, to any person
+;; obtaining a copy of this software and associated documentation
+;; files (the "Software"), to deal in the Software without
+;; restriction, including without limitation the rights to use,
+;; copy, modify, merge, publish, distribute, and/or sell copies of
+;; the Software, and to permit persons to whom the Software is
+;; furnished to do so, provided that the above copyright notice(s)
+;; and this permission notice appear in all copies of the Software
+;; and that both the above copyright notice(s) and this permission
+;; notice appear in supporting documentation.
+;;
+;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+;; NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE
+;; COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE
+;; FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
+;; OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+;; PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+;; PERFORMANCE OF THIS SOFTWARE.
+;;
+;; Except as contained in this notice, the name of a copyright
+;; holder shall not be used in advertising or otherwise to promote
+;; the sale, use or other dealings in this Software without prior
+;; written authorization of the copyright holder.
+
+
+;; This file implements an algorithm to find Thai word breaks using a
+;; dictionary. It is based on the C program `cttex' written by
+;; Vuthichai Ampornaramveth <vuthi@nii.ac.jp>.
+
+
+;; Table of Thai words. It is a nested alist (see `nested-alist-p'),
+;; which means that you can easily index the list character by
+;; character.
+
+(defconst thai-word-table nil)
+
+
+;; Set up `thai-word-table'.
+
+(let
+ ((l
+ '("กก"
+ "กกล"
+ "กกุธภัณฑ์"
+ "กง"
+ "กงการ"
+ "กงสุล"
+ "กงเต๊ก"
+ "กฎ"
+ "กฎหมาย"
+ "กฐิน"
+ "กด"
+ "กตัญชลี"
+ "กตัญญุตา"
+ "กตัญญู"
+ "กตาธิการ"
+ "กตาภินิหาร"
+ "กติกา"
+ "กตเวทิตา"
+ "กตเวที"
+ "กถา"
+ "กทม"
+ "กทลี"
+ "กน"
+ "กนก"
+ "กนิษฐา"
+ "กบ"
+ "กบฏ"
+ "กบดาน"
+ "กบทู"
+ "กบาล"
+ "กบินทร์"
+ "กบิล"
+ "กบี่"
+ "กมล"
+ "กร"
+ "กรกฎ"
+ "กรกฎาคม"
+ "กรกฏ"
+ "กรง"
+ "กรณฑ์"
+ "กรณี"
+ "กรณียกิจ"
+ "กรณีย์"
+ "กรด"
+ "กรน"
+ "กรบ"
+ "กรบูร"
+ "กรม"
+ "กรมท่า"
+ "กรมธรรม์"
+ "กรร"
+ "กรรชิง"
+ "กรรณ"
+ "กรรณิการ์"
+ "กรรพุม"
+ "กรรม"
+ "กรรมกร"
+ "กรรมการ"
+ "กรรมชวาต"
+ "กรรมาชน"
+ "กรรมาชีพ"
+ "กรรมาธิการ"
+ "กรรเจียก"
+ "กรรเชียง"
+ "กรรแทรก"
+ "กรรโชก"
+ "กรรไกร"
+ "กรวด"
+ "กรวบ"
+ "กรวย"
+ "กรอ"
+ "กรอก"
+ "กรอกแกรก"
+ "กรอง"
+ "กรองกรอย"
+ "กรอด"
+ "กรอบ"
+ "กรอม"
+ "กระ"
+ "กระงกกระเงิ่น"
+ "กระง่องกระแง่ง"
+ "กระง่อนกระแง่น"
+ "กระจก"
+ "กระจอก"
+ "กระจองอแง"
+ "กระจัง"
+ "กระจับ"
+ "กระจาด"
+ "กระจาบ"
+ "กระจาย"
+ "กระจิด"
+ "กระจิบ"
+ "กระจิริด"
+ "กระจุก"
+ "กระจุบกระจิบ"
+ "กระจุย"
+ "กระจุ๋งกระจิ๋ง"
+ "กระจุ๋มกระจิ๋ม"
+ "กระจู๋กระจี๋"
+ "กระจ่าง"
+ "กระจ้อน"
+ "กระฉอก"
+ "กระฉับกระเฉง"
+ "กระฉูด"
+ "กระฉ่อน"
+ "กระชอน"
+ "กระชับ"
+ "กระชั้น"
+ "กระชาก"
+ "กระชุ"
+ "กระซิก"
+ "กระซิบ"
+ "กระฎุมพี"
+ "กระดก"
+ "กระดอง"
+ "กระดอน"
+ "กระดังงา"
+ "กระดาก"
+ "กระดางลาง"
+ "กระดาน"
+ "กระดาษ"
+ "กระดิก"
+ "กระดิ่ง"
+ "กระดี่"
+ "กระดืบ"
+ "กระดุม"
+ "กระดูก"
+ "กระด้ง"
+ "กระด้าง"
+ "กระติก"
+ "กระติบ"
+ "กระติ๊ด"
+ "กระตือรือร้น"
+ "กระตุก"
+ "กระตุ้งกระติ้ง"
+ "กระตุ้น"
+ "กระต่องกระแต่ง"
+ "กระต่าย"
+ "กระต้วมกระเตี้ยม"
+ "กระต๊อบ"
+ "กระถิน"
+ "กระทง"
+ "กระทบ"
+ "กระทรวง"
+ "กระทะ"
+ "กระทั่ง"
+ "กระทิง"
+ "กระทืบ"
+ "กระทุง"
+ "กระทู้"
+ "กระท่อม"
+ "กระท้อน"
+ "กระท้อมกระแท้ม"
+ "กระนั้น"
+ "กระบวน"
+ "กระบวย"
+ "กระบอก"
+ "กระบอง"
+ "กระบะ"
+ "กระบิ"
+ "กระบี่"
+ "กระบือ"
+ "กระบุง"
+ "กระปรี้กระเปร่า"
+ "กระปั้วกระเปี้ย"
+ "กระป่ำ"
+ "กระป้อกระแป้"
+ "กระป๋อง"
+ "กระผลีกระผลาม"
+ "กระผีก"
+ "กระพี้"
+ "กระพือ"
+ "กระพุ้ง"
+ "กระฟัดกระเฟียด"
+ "กระฟูมกระฟาย"
+ "กระมอมกระแมม"
+ "กระมัง"
+ "กระยาหงัน"
+ "กระยึกกระยือ"
+ "กระย่อน"
+ "กระรอก"
+ "กระลอม"
+ "กระลัมพร"
+ "กระวิน"
+ "กระวีกระวาด"
+ "กระษัย"
+ "กระษาปณ์"
+ "กระสอบ"
+ "กระสัง"
+ "กระสัน"
+ "กระสา"
+ "กระสือ"
+ "กระสุงกระสิง"
+ "กระสุน"
+ "กระหนก"
+ "กระหนาบ"
+ "กระหน่ำ"
+ "กระหมิบ"
+ "กระหม่อม"
+ "กระหยิ่ม"
+ "กระหาย"
+ "กระหึม"
+ "กระหึ่ม"
+ "กระออบ"
+ "กระอัก"
+ "กระอักกระอ่วน"
+ "กระเง้ากระงอด"
+ "กระเจา"
+ "กระเจิง"
+ "กระเจิดกระเจิง"
+ "กระเจี๊ยบ"
+ "กระเช้า"
+ "กระเซอ"
+ "กระเซิง"
+ "กระเซ็น"
+ "กระเซ้า"
+ "กระเดิด"
+ "กระเดียด"
+ "กระเดือก"
+ "กระเดื่อง"
+ "กระเด็น"
+ "กระเด้า"
+ "กระเตง"
+ "กระเตาะ"
+ "กระเตื้อง"
+ "กระเต็น"
+ "กระเถิบ"
+ "กระเทียม"
+ "กระเทือน"
+ "กระเบน"
+ "กระเบียด"
+ "กระเบื้อง"
+ "กระเปาะ"
+ "กระเป๋า"
+ "กระเพาะ"
+ "กระเพื่อม"
+ "กระเย้อกระแหย่ง"
+ "กระเรียน"
+ "กระเสียน"
+ "กระเสียร"
+ "กระเส็นกระสาย"
+ "กระเส่า"
+ "กระเหม็ดกระแหม่"
+ "กระแจะ"
+ "กระแซะ"
+ "กระแดะ"
+ "กระแด่ว"
+ "กระแต"
+ "กระแทก"
+ "กระแส"
+ "กระแอม"
+ "กระโจน"
+ "กระโจม"
+ "กระโฉกกระเฉก"
+ "กระโดก"
+ "กระโดกกระเดก"
+ "กระโดง"
+ "กระโดด"
+ "กระโถน"
+ "กระโบม"
+ "กระโปรง"
+ "กระโห้"
+ "กรัก"
+ "กรัง"
+ "กรัน"
+ "กรับ"
+ "กรัม"
+ "กราก"
+ "กราง"
+ "กราด"
+ "กราน"
+ "กราบ"
+ "กราฟ"
+ "กราฟฟิก"
+ "กราฟิก"
+ "กราม"
+ "กราย"
+ "กราว"
+ "กรำ"
+ "กริก"
+ "กริงกริว"
+ "กริช"
+ "กริบ"
+ "กริม"
+ "กริยา"
+ "กริว"
+ "กริ่ง"
+ "กริ่ม"
+ "กริ้ว"
+ "กริ๊ก"
+ "กริ๊ง"
+ "กรี"
+ "กรีก"
+ "กรีฑา"
+ "กรีด"
+ "กรีธา"
+ "กรี๊ด"
+ "กรุ"
+ "กรุก"
+ "กรุง"
+ "กรุงเทพ"
+ "กรุณา"
+ "กรุณาธิคุณ"
+ "กรุน"
+ "กรุบ"
+ "กรุย"
+ "กรุ่น"
+ "กรุ่ม"
+ "กรุ้มกริ่ม"
+ "กรุ๊ป"
+ "กรู"
+ "กรูด"
+ "กร็อกกร๋อย"
+ "กร่อน"
+ "กร่อย"
+ "กร่าง"
+ "กร่าย"
+ "กร่ำ"
+ "กร้วม"
+ "กร้อ"
+ "กร้าน"
+ "กร้าว"
+ "กฤษฎีกา"
+ "กฤษณา"
+ "กล"
+ "กลด"
+ "กลบ"
+ "กลม"
+ "กลยุทธ์"
+ "กลวง"
+ "กลอก"
+ "กลอง"
+ "กลอน"
+ "กลอย"
+ "กลัก"
+ "กลัด"
+ "กลับ"
+ "กลัว"
+ "กลั่น"
+ "กลั้น"
+ "กลั้ว"
+ "กลาก"
+ "กลาง"
+ "กลาด"
+ "กลาย"
+ "กลาโหม"
+ "กลิ่ง"
+ "กลิ่น"
+ "กลิ้ง"
+ "กลิ้ม"
+ "กลี"
+ "กลีบ"
+ "กลี่"
+ "กลึง"
+ "กลืน"
+ "กลุ่ม"
+ "กลุ้ม"
+ "กลูโคส"
+ "กลเม็ด"
+ "กล่น"
+ "กล่อง"
+ "กล่อน"
+ "กล่อม"
+ "กล่าว"
+ "กล่ำ"
+ "กล้วย"
+ "กล้วยไม้"
+ "กล้อ"
+ "กล้อง"
+ "กล้อน"
+ "กล้อมแกล้ม"
+ "กล้า"
+ "กล้าม"
+ "กล้ำ"
+ "กวด"
+ "กวน"
+ "กวม"
+ "กวย"
+ "กวยจั๊บ"
+ "กวยจี๊"
+ "กวัก"
+ "กวัด"
+ "กวาง"
+ "กวางตุ้ง"
+ "กวาด"
+ "กวาวเครือ"
+ "กวี"
+ "กว่า"
+ "กว้าง"
+ "กว้าน"
+ "กว๊าน"
+ "กษัตริย์"
+ "กษัย"
+ "กษาปณ์"
+ "กสิ"
+ "กสิกร"
+ "กสิกรรม"
+ "กสิณ"
+ "กอ"
+ "กอก"
+ "กอง"
+ "กอซ"
+ "กอด"
+ "กอบ"
+ "กอปร"
+ "กอย"
+ "กอริลลา"
+ "กอล์ฟ"
+ "กอเอี๊ยะ"
+ "กะ"
+ "กะชึ่กกะชั่ก"
+ "กะซวก"
+ "กะดี่"
+ "กะต้ำ"
+ "กะต๊าก"
+ "กะทกรก"
+ "กะทัดรัด"
+ "กะทันหัน"
+ "กะทิ"
+ "กะทือ"
+ "กะบังลม"
+ "กะบิ้ง"
+ "กะปริดกะปรอย"
+ "กะปวกกะเปียก"
+ "กะปะ"
+ "กะปิ"
+ "กะพง"
+ "กะพริบ"
+ "กะพล่องกะแพล่ง"
+ "กะพ้อ"
+ "กะรัต"
+ "กะรุ่งกะริ่ง"
+ "กะลวย"
+ "กะลอ"
+ "กะละปังหา"
+ "กะละมัง"
+ "กะละแม"
+ "กะลา"
+ "กะลาสี"
+ "กะลิ้มกะเหลี่ย"
+ "กะล่อน"
+ "กะล่อมกะแล่ม"
+ "กะล่อยกะหลิบ"
+ "กะส้าหอย"
+ "กะหนุงกะหนิง"
+ "กะหน็องกะแหน็ง"
+ "กะหรอด"
+ "กะหรี่"
+ "กะหร็อมกะแหร็ม"
+ "กะหร่อง"
+ "กะหลี่"
+ "กะหลุกกะหลิก"
+ "กะหล่ำ"
+ "กะเดก"
+ "กะเตง"
+ "กะเทย"
+ "กะเทาะ"
+ "กะเปิ๊บกะป๊าบ"
+ "กะเผลก"
+ "กะเรี่ยกะราด"
+ "กะเลิด"
+ "กะเล่อกะล่า"
+ "กะเหรี่ยง"
+ "กะเหลาะเปาะ"
+ "กะแช่"
+ "กะโตงกะเตง"
+ "กะโต้งโห่ง"
+ "กะโต๊ก"
+ "กะโปรง"
+ "กะโปโล"
+ "กะโผลกกะเผลก"
+ "กะโหลก"
+ "กัก"
+ "กักขฬะ"
+ "กัง"
+ "กังก้า"
+ "กังขา"
+ "กังฉิน"
+ "กังฟู"
+ "กังวล"
+ "กังวาน"
+ "กังสดาล"
+ "กังหัน"
+ "กังไส"
+ "กัญชา"
+ "กัญญา"
+ "กัณฑ์"
+ "กัด"
+ "กัน"
+ "กันดาร"
+ "กันต์"
+ "กันยายน"
+ "กันย์"
+ "กับ"
+ "กัป"
+ "กัปตัน"
+ "กัมปนาท"
+ "กัมประโด"
+ "กัมพูชา"
+ "กัมมันตภาพรังสี"
+ "กัมมันตรังสี"
+ "กัลบก"
+ "กัลปพฤกษ์"
+ "กัลปังหา"
+ "กัลปาวสาน"
+ "กัลป์"
+ "กัลยา"
+ "กัลยาณ"
+ "กัลยาณมิตร"
+ "กัลยาณี"
+ "กัลโช"
+ "กั่น"
+ "กั้ง"
+ "กั้น"
+ "กั้นหยั่น"
+ "กั๊ก"
+ "กา"
+ "กาก"
+ "กากี"
+ "กาง"
+ "กางเกง"
+ "กางเขน"
+ "กาซะลอง"
+ "กาญจนบุรี"
+ "กาญจนา"
+ "กาด"
+ "กาน"
+ "กานดา"
+ "กานพลู"
+ "กาบ"
+ "กาฝาก"
+ "กาพย์"
+ "กาม"
+ "กามารมณ์"
+ "กาย"
+ "กายกรรม"
+ "กายภาพ"
+ "กายวิภาค"
+ "กายสิทธิ์"
+ "กายาพยพ"
+ "การ"
+ "การณ์"
+ "การบูร"
+ "การะเกด"
+ "การัณย์"
+ "การันต์"
+ "การุญ"
+ "การุณย์"
+ "การเวก"
+ "การ์"
+ "การ์ด"
+ "การ์ตูน"
+ "กาล"
+ "กาลกิณี"
+ "กาลี"
+ "กาลเทศะ"
+ "กาว"
+ "กาศ"
+ "กาส"
+ "กาสร"
+ "กาสิโน"
+ "กาหลง"
+ "กาฬ"
+ "กาเหว่า"
+ "กาแฟ"
+ "กาแล็กซี"
+ "กำ"
+ "กำกวม"
+ "กำกัด"
+ "กำกับ"
+ "กำจร"
+ "กำจัด"
+ "กำจาย"
+ "กำชับ"
+ "กำซาบ"
+ "กำดัด"
+ "กำธร"
+ "กำนัน"
+ "กำนัล"
+ "กำบัง"
+ "กำปั่น"
+ "กำพร้า"
+ "กำพืด"
+ "กำมะถัน"
+ "กำมะลอ"
+ "กำมะหยี่"
+ "กำยาน"
+ "กำยำ"
+ "กำราบ"
+ "กำลัง"
+ "กำสรวล"
+ "กำหนด"
+ "กำหนัด"
+ "กำเดา"
+ "กำเนิด"
+ "กำเริบ"
+ "กำเหน็จ"
+ "กำแพง"
+ "กำแหง"
+ "กำไร"
+ "กำไล"
+ "กิก"
+ "กิกะ"
+ "กิจ"
+ "กิจกรรม"
+ "กิจการ"
+ "กิจจะลักษณะ"
+ "กิจจา"
+ "กิตติ"
+ "กิตติคุณ"
+ "กิตติมศักดิ์"
+ "กิตติศัพท์"
+ "กิน"
+ "กินนร"
+ "กินรี"
+ "กิริณี"
+ "กิริยา"
+ "กิเลน"
+ "กิเลส"
+ "กิโมโน"
+ "กิโยตีน"
+ "กิโล"
+ "กิโลกรัม"
+ "กิโลลิตร"
+ "กิโลเมตร"
+ "กิโลเฮิรตซ์"
+ "กิ่ง"
+ "กิ่ว"
+ "กิ้งกือ"
+ "กิ้งก่า"
+ "กิ๊ก"
+ "กิ๊บ"
+ "กิ๋ว"
+ "กีฏวิทยา"
+ "กีด"
+ "กีตาร์"
+ "กีบ"
+ "กีฬา"
+ "กี่"
+ "กี้"
+ "กี๋"
+ "กึก"
+ "กึกก้อง"
+ "กึ่ง"
+ "กึ๋น"
+ "กุ"
+ "กุก"
+ "กุกกัก"
+ "กุญชร"
+ "กุญแจ"
+ "กุฎุมพี"
+ "กุฏฐัง"
+ "กุฏิ"
+ "กุณฑล"
+ "กุด"
+ "กุดัง"
+ "กุดั่น"
+ "กุน"
+ "กุนซือ"
+ "กุนเชียง"
+ "กุบ"
+ "กุม"
+ "กุมภา"
+ "กุมภ์"
+ "กุมาร"
+ "กุมารา"
+ "กุมารี"
+ "กุย"
+ "กุยช่าย"
+ "กุยเฮง"
+ "กุล"
+ "กุลธิดา"
+ "กุลบุตร"
+ "กุลสตรี"
+ "กุลา"
+ "กุลี"
+ "กุลีกุจอ"
+ "กุศล"
+ "กุศโลบาย"
+ "กุหลาบ"
+ "กุ่ม"
+ "กุ้ง"
+ "กุ๊ก"
+ "กุ๊น"
+ "กุ๊ย"
+ "กุ๋ย"
+ "กู"
+ "กูณฑ์"
+ "กูด"
+ "กูบ"
+ "กู่"
+ "กู้"
+ "กเฬวราก"
+ "ก็"
+ "ก่ง"
+ "ก่น"
+ "ก่อ"
+ "ก่อง"
+ "ก่อน"
+ "ก่าย"
+ "ก่ำ"
+ "ก้งโค้ง"
+ "ก้น"
+ "ก้ม"
+ "ก้อ"
+ "ก้อง"
+ "ก้อน"
+ "ก้อม"
+ "ก้อย"
+ "ก้อร่อก้อติก"
+ "ก้าง"
+ "ก้าน"
+ "ก้าม"
+ "ก้าว"
+ "ก้ำ"
+ "ก้ำกึ่ง"
+ "ก้ำเกิน"
+ "ก๊ก"
+ "ก๊ง"
+ "ก๊อก"
+ "ก๊อบปี้"
+ "ก๊อปปี้"
+ "ก๊าซ"
+ "ก๊าด"
+ "ก๋ง"
+ "ก๋วยเตี๋ยว"
+ "ก๋อย"
+ "ก๋า"
+ "ขงจื๊อ"
+ "ขจร"
+ "ขจัด"
+ "ขจาย"
+ "ขจี"
+ "ขจุย"
+ "ขณะ"
+ "ขด"
+ "ขน"
+ "ขนง"
+ "ขนด"
+ "ขนน"
+ "ขนบ"
+ "ขนม"
+ "ขนมอบ"
+ "ขนัด"
+ "ขนัน"
+ "ขนาก"
+ "ขนาง"
+ "ขนาด"
+ "ขนาน"
+ "ขนาบ"
+ "ขนาย"
+ "ขนิษฐา"
+ "ขนุน"
+ "ขบ"
+ "ขบถ"
+ "ขบวน"
+ "ขม"
+ "ขมวด"
+ "ขมอง"
+ "ขมอย"
+ "ขมัง"
+ "ขมับ"
+ "ขมา"
+ "ขมิบ"
+ "ขมิ้น"
+ "ขมีขมัน"
+ "ขมึง"
+ "ขมุกขมอม"
+ "ขมุกขมัว"
+ "ขมุบ"
+ "ขมุบขมิบ"
+ "ขม่อม"
+ "ขม้ำ"
+ "ขยอก"
+ "ขยอง"
+ "ขยะ"
+ "ขยัก"
+ "ขยัน"
+ "ขยับ"
+ "ขยั้น"
+ "ขยาด"
+ "ขยาบ"
+ "ขยาย"
+ "ขยำ"
+ "ขยิก"
+ "ขยิบ"
+ "ขยิ่ม"
+ "ขยี้"
+ "ขยุกขยิก"
+ "ขยุกขยุย"
+ "ขยุบ"
+ "ขยุบขยิบ"
+ "ขยุม"
+ "ขยุย"
+ "ขยุ้ม"
+ "ขย่ม"
+ "ขย่อน"
+ "ขย้อน"
+ "ขย้ำ"
+ "ขรม"
+ "ขรรค์"
+ "ขรัว"
+ "ขริบ"
+ "ขรึม"
+ "ขรุขระ"
+ "ขลัง"
+ "ขลับ"
+ "ขลา"
+ "ขลาด"
+ "ขลิบ"
+ "ขลุก"
+ "ขลุกขลัก"
+ "ขลุกขลิก"
+ "ขลุบ"
+ "ขลุม"
+ "ขลุ่ย"
+ "ขวง"
+ "ขวด"
+ "ขวนขวาย"
+ "ขวบ"
+ "ขวย"
+ "ขวักไขว่"
+ "ขวัญ"
+ "ขวัด"
+ "ขวับ"
+ "ขวับเขวียว"
+ "ขวั้น"
+ "ขวา"
+ "ขวาก"
+ "ขวาง"
+ "ขวาด"
+ "ขวาน"
+ "ขวายขวน"
+ "ขวิด"
+ "ขว้าง"
+ "ขอ"
+ "ขอก"
+ "ของ"
+ "ขอด"
+ "ขอน"
+ "ขอบ"
+ "ขอบคุณ"
+ "ขอบใจ"
+ "ขอม"
+ "ขะมอมขะแมม"
+ "ขะมักเขม้น"
+ "ขะมุกขะมอม"
+ "ขะยิก"
+ "ขะยุก"
+ "ขะเย้อแขย่ง"
+ "ขะแยะ"
+ "ขัง"
+ "ขัณฑสกร"
+ "ขัณฑสีมา"
+ "ขัด"
+ "ขัตติยมานะ"
+ "ขัน"
+ "ขันชะเนาะ"
+ "ขันติ"
+ "ขันที"
+ "ขันธ์"
+ "ขันหมาก"
+ "ขันโตก"
+ "ขับ"
+ "ขัย"
+ "ขั้น"
+ "ขั้ว"
+ "ขา"
+ "ขาก"
+ "ขาก๊วย"
+ "ขาง"
+ "ขาด"
+ "ขาน"
+ "ขาบ"
+ "ขาม"
+ "ขาย"
+ "ขาล"
+ "ขาว"
+ "ขำ"
+ "ขิก"
+ "ขิง"
+ "ขิม"
+ "ขิ่ง"
+ "ขีด"
+ "ขีปนาวุธ"
+ "ขี่"
+ "ขี้"
+ "ขี้เหร่"
+ "ขึง"
+ "ขึ้ง"
+ "ขึ้น"
+ "ขึ้นฉ่าย"
+ "ขืน"
+ "ขื่น"
+ "ขื่อ"
+ "ขุก"
+ "ขุด"
+ "ขุน"
+ "ขุนทอง"
+ "ขุนแผน"
+ "ขุม"
+ "ขุย"
+ "ขุ่น"
+ "ขูด"
+ "ขู่"
+ "ขโมย"
+ "ข่ม"
+ "ข่วน"
+ "ข่อ"
+ "ข่อน"
+ "ข่อย"
+ "ข่า"
+ "ข่าง"
+ "ข่าย"
+ "ข่าว"
+ "ข่าวสาร"
+ "ข้น"
+ "ข้อ"
+ "ข้อง"
+ "ข้อน"
+ "ข้อมูล"
+ "ข้อย"
+ "ข้า"
+ "ข้าง"
+ "ข้าพเจ้า"
+ "ข้าม"
+ "ข้าว"
+ "ข้าวสาร"
+ "ข้าวเม่า"
+ "ข้าวโพด"
+ "ข้าศึก"
+ "ข้าหลวง"
+ "คคนัมพร"
+ "คคนางค์"
+ "คคนานต์"
+ "คง"
+ "คงคา"
+ "คชราช"
+ "คชสาร"
+ "คชาชาติ"
+ "คชาชีพ"
+ "คชาธาร"
+ "คชาภรณ์"
+ "คณนา"
+ "คณบดี"
+ "คณะ"
+ "คณาจารย์"
+ "คณาธิการ"
+ "คณาธิปไตย"
+ "คณานับ"
+ "คณิกา"
+ "คณิต"
+ "คณิตศาสตร์"
+ "คด"
+ "คดี"
+ "คติ"
+ "คติธรรม"
+ "คติพจน์"
+ "คทา"
+ "คน"
+ "คนธรรพ์"
+ "คนโท"
+ "คบ"
+ "คม"
+ "คมนาการ"
+ "คมนาคม"
+ "ครก"
+ "ครบ"
+ "ครรชิต"
+ "ครรภ"
+ "ครรภ์"
+ "ครรลอง"
+ "ครรโลง"
+ "ครรไล"
+ "ครวญ"
+ "ครวัก"
+ "ครวี"
+ "ครหา"
+ "ครอก"
+ "ครอง"
+ "ครองแครง"
+ "ครอบ"
+ "ครอบครัว"
+ "คระ"
+ "ครัดเคร่ง"
+ "ครัน"
+ "ครับ"
+ "ครัว"
+ "ครั่ง"
+ "ครั่น"
+ "ครั้ง"
+ "ครั้น"
+ "ครา"
+ "คราก"
+ "คราง"
+ "คราญ"
+ "คราด"
+ "คราบ"
+ "คราม"
+ "คราว"
+ "คราส"
+ "ครำ"
+ "คริสตกาล"
+ "คริสตัง"
+ "คริสต์"
+ "คริสต์มาส"
+ "คริสเตียน"
+ "ครีบ"
+ "ครีม"
+ "ครึ"
+ "ครึกครื้น"
+ "ครึกโครม"
+ "ครึน"
+ "ครึม"
+ "ครึ่ง"
+ "ครึ้ม"
+ "ครืด"
+ "ครืน"
+ "ครือ"
+ "ครื้น"
+ "ครื้นครึก"
+ "ครุ"
+ "ครุฑ"
+ "ครุมเครือ"
+ "ครุย"
+ "ครุ่น"
+ "ครู"
+ "ครูด"
+ "ครู่"
+ "คร่ง"
+ "คร่อม"
+ "คร่า"
+ "คร่าว"
+ "คร่ำ"
+ "คร้าน"
+ "คร้าม"
+ "คฤห"
+ "คฤหัสถ์"
+ "คฤหาสน์"
+ "คลอ"
+ "คลอก"
+ "คลอง"
+ "คลอด"
+ "คลอน"
+ "คลอรีน"
+ "คลอโรฟอร์ม"
+ "คลอโรฟีลล์"
+ "คละ"
+ "คลัก"
+ "คลัง"
+ "คลัตช์"
+ "คลับ"
+ "คลั่ก"
+ "คลั่ง"
+ "คลา"
+ "คลางแคลง"
+ "คลาด"
+ "คลาน"
+ "คลาย"
+ "คลาส"
+ "คลาสสิค"
+ "คลำ"
+ "คลินิก"
+ "คลิ้ก"
+ "คลี"
+ "คลีนิค"
+ "คลี่"
+ "คลึง"
+ "คลื่น"
+ "คลื่นเหียน"
+ "คลื่นไส้"
+ "คลุก"
+ "คลุม"
+ "คลุ่ม"
+ "คลุ้ง"
+ "คลุ้ม"
+ "คล่อง"
+ "คล่องแคล่ว"
+ "คล่ำ"
+ "คล้อง"
+ "คล้อย"
+ "คล้าย"
+ "คล้ำ"
+ "ควง"
+ "ควบ"
+ "ควร"
+ "ควัก"
+ "ควัน"
+ "ควั่น"
+ "ควาก"
+ "ควาญ"
+ "ควาน"
+ "ความ"
+ "ควาย"
+ "ควินิน"
+ "ควีน"
+ "คว่ำ"
+ "คว้า"
+ "คว้าง"
+ "คว้าน"
+ "คหกรรม"
+ "คหกรรมศาสตร์"
+ "คหบดี"
+ "คหปตานี"
+ "คอ"
+ "คอก"
+ "คอด"
+ "คอน"
+ "คอนกรีต"
+ "คอนฟิก"
+ "คอนเดนเซอร์"
+ "คอนเสิร์ต"
+ "คอนเสิร์ท"
+ "คอนแวนต์"
+ "คอม"
+ "คอมพิวเตอร์"
+ "คอมมานโด"
+ "คอมมิวนิสต์"
+ "คอมแพค"
+ "คอมโพเนนท์"
+ "คอย"
+ "คอยล์"
+ "คอรัปชั่น"
+ "คอร์ซิกา"
+ "คอร์ด"
+ "คอร์ปอเรชั่น"
+ "คอลัมน์"
+ "คอสตาริกา"
+ "คอเคซอยด์"
+ "คอเลสเตอรอล"
+ "คะ"
+ "คะนอง"
+ "คะนึง"
+ "คะน้า"
+ "คะมำ"
+ "คะยั้นคะยอ"
+ "คะเน"
+ "คะเยอ"
+ "คะแนน"
+ "คัก"
+ "คัคนัมพร"
+ "คัคนางค์"
+ "คัคนานต์"
+ "คัณฑสูตร"
+ "คัด"
+ "คัทลียา"
+ "คัน"
+ "คันฉาย"
+ "คันทรง"
+ "คับ"
+ "คัมภีรภาพ"
+ "คัมภีร์"
+ "คั่ก"
+ "คั่ง"
+ "คั่น"
+ "คั่ว"
+ "คั้น"
+ "คา"
+ "คาง"
+ "คางคก"
+ "คาด"
+ "คาถา"
+ "คาทอลิก"
+ "คาน"
+ "คาบ"
+ "คาม"
+ "คามวาสี"
+ "คาย"
+ "คารม"
+ "คารวะ"
+ "คาราวาน"
+ "คาราเต้"
+ "คาราโอเกะ"
+ "คาร์"
+ "คาร์บอน"
+ "คาร์บอนมอนอกไซด์"
+ "คาร์บอนไดออกไซด์"
+ "คาร์บอลิก"
+ "คาร์บอเนต"
+ "คาร์บูเรเตอร์"
+ "คาร์ล"
+ "คาร์โบไฮเดรต"
+ "คาว"
+ "คาวี"
+ "คาเธย์"
+ "คาเฟ่"
+ "คำ"
+ "คำนวณ"
+ "คำนับ"
+ "คำนึง"
+ "คำรน"
+ "คำรบ"
+ "คำราม"
+ "คำแหง"
+ "คำใต้"
+ "คิก"
+ "คิง"
+ "คิด"
+ "คิมหันต์"
+ "คิว"
+ "คิ้ว"
+ "คีต"
+ "คีนยา"
+ "คีบ"
+ "คีม"
+ "คีย์"
+ "คีย์บอร์ด"
+ "คีรี"
+ "คี่"
+ "คึก"
+ "คึกคัก"
+ "คึ่ก"
+ "คืน"
+ "คืบ"
+ "คือ"
+ "คุ"
+ "คุก"
+ "คุกกี้"
+ "คุณ"
+ "คุณธรรม"
+ "คุณภาพ"
+ "คุณวุฒิ"
+ "คุณศัพท์"
+ "คุณสมบัติ"
+ "คุณากร"
+ "คุณูปการ"
+ "คุด"
+ "คุดทะราด"
+ "คุม"
+ "คุย"
+ "คุรุ"
+ "คุโณปการ"
+ "คุ่ม"
+ "คุ้ง"
+ "คุ้น"
+ "คุ้ม"
+ "คุ้ย"
+ "คู"
+ "คูณ"
+ "คูน"
+ "คูปอง"
+ "คูหา"
+ "คู่"
+ "คู้"
+ "คเนจร"
+ "ค็อกเทล"
+ "ค่อน"
+ "ค่อม"
+ "ค่อย"
+ "ค่ะ"
+ "ค่า"
+ "ค่าง"
+ "ค่าย"
+ "ค่ำ"
+ "ค้น"
+ "ค้อน"
+ "ค้อม"
+ "ค้า"
+ "ค้าง"
+ "ค้างคาว"
+ "ค้างเติ่ง"
+ "ค้าน"
+ "ค้ำ"
+ "ฆราวาส"
+ "ฆาต"
+ "ฆาตกร"
+ "ฆาตกรรม"
+ "ฆ่า"
+ "ฆ้อง"
+ "งก"
+ "งง"
+ "งงงวย"
+ "งด"
+ "งบ"
+ "งม"
+ "งวง"
+ "งวด"
+ "งวยงง"
+ "งอ"
+ "งอก"
+ "งอกแงก"
+ "งอด"
+ "งอดแงด"
+ "งอน"
+ "งอนหง่อ"
+ "งอบ"
+ "งอม"
+ "งอย"
+ "งอแง"
+ "งะ"
+ "งัก"
+ "งัด"
+ "งัน"
+ "งับ"
+ "งัว"
+ "งัวเงีย"
+ "งั่ก"
+ "งั่ง"
+ "งั่ว"
+ "งา"
+ "งาน"
+ "งาบ"
+ "งาม"
+ "งาย"
+ "งำ"
+ "งิ้ว"
+ "งีบ"
+ "งึก"
+ "งึม"
+ "งึมงำ"
+ "งุด"
+ "งุนงง"
+ "งุบ"
+ "งุบงิบ"
+ "งุย"
+ "งุ่นง่าน"
+ "งุ่มง่าม"
+ "งุ้ม"
+ "งู"
+ "งูสวัด"
+ "ง่วง"
+ "ง่วน"
+ "ง่อง"
+ "ง่อน"
+ "ง่อย"
+ "ง่า"
+ "ง่าน"
+ "ง่าม"
+ "ง่าย"
+ "ง่ำ"
+ "ง้วน"
+ "ง้อ"
+ "ง้อม"
+ "ง้าง"
+ "ง้าว"
+ "ง้ำ"
+ "จก"
+ "จง"
+ "จงกลนี"
+ "จงอาง"
+ "จด"
+ "จตุ"
+ "จตุรงค์"
+ "จตุรพิธ"
+ "จตุสดมภ์"
+ "จน"
+ "จบ"
+ "จม"
+ "จมูก"
+ "จร"
+ "จรจัด"
+ "จรด"
+ "จรรยา"
+ "จรรโลง"
+ "จรลี"
+ "จรวด"
+ "จระเข้"
+ "จรัล"
+ "จรัส"
+ "จราจร"
+ "จริง"
+ "จริต"
+ "จริยธรรม"
+ "จริยศาสตร์"
+ "จริยศึกษา"
+ "จริยา"
+ "จรุง"
+ "จรูญ"
+ "จล"
+ "จลนพลศาสตร์"
+ "จลนศาสตร์"
+ "จลาจล"
+ "จวก"
+ "จวง"
+ "จวน"
+ "จวบ"
+ "จวัก"
+ "จอ"
+ "จอก"
+ "จอง"
+ "จองหอง"
+ "จอด"
+ "จอน"
+ "จอบ"
+ "จอม"
+ "จอร์แดน"
+ "จอแจ"
+ "จะ"
+ "จะกละ"
+ "จะกลาม"
+ "จะละหวั่น"
+ "จะละเม็ด"
+ "จะเข้"
+ "จัก"
+ "จักขุ"
+ "จักจั่น"
+ "จักร"
+ "จักรพรรดิ"
+ "จักรภพ"
+ "จักรยาน"
+ "จักรวรรดิ"
+ "จักรวาล"
+ "จักรี"
+ "จักษุ"
+ "จักแหล่น"
+ "จัง"
+ "จังกอบ"
+ "จังก้า"
+ "จังงัง"
+ "จังหวะ"
+ "จังหวัด"
+ "จังหัน"
+ "จังไร"
+ "จัญไร"
+ "จัณฑาล"
+ "จัณฑ์"
+ "จัด"
+ "จัดการ"
+ "จัตวา"
+ "จัตุรัส"
+ "จัน"
+ "จันทน์"
+ "จันทบุรี"
+ "จันทร"
+ "จันทรคติ"
+ "จันทรคราส"
+ "จันทรุปราคา"
+ "จันทร์"
+ "จับ"
+ "จับกัง"
+ "จับฉ่าย"
+ "จั่น"
+ "จั่ว"
+ "จั้ก"
+ "จั๊กจี้"
+ "จั๊กเดียม"
+ "จั๊วะ"
+ "จาก"
+ "จาง"
+ "จาด"
+ "จาตุรงคสันนิบาต"
+ "จาน"
+ "จาบ"
+ "จาบัล"
+ "จาบัลย์"
+ "จาม"
+ "จามจุรี"
+ "จามร"
+ "จามรี"
+ "จาร"
+ "จาระบี"
+ "จาระไน"
+ "จาริก"
+ "จารี"
+ "จารีต"
+ "จารึก"
+ "จาว"
+ "จาวา"
+ "จาเมกา"
+ "จำ"
+ "จำกัด"
+ "จำนง"
+ "จำนน"
+ "จำนรรจา"
+ "จำนรรจ์"
+ "จำนวน"
+ "จำนอง"
+ "จำนำ"
+ "จำปา"
+ "จำปี"
+ "จำพวก"
+ "จำรัส"
+ "จำรูญ"
+ "จำลอง"
+ "จำหน่าย"
+ "จำอวด"
+ "จำเพาะ"
+ "จำเริญ"
+ "จำเรียง"
+ "จำเลย"
+ "จำแนก"
+ "จิก"
+ "จิงโจ้"
+ "จิต"
+ "จิตร"
+ "จิตรกร"
+ "จิตรกรรม"
+ "จิตรลดา"
+ "จิตวิทยา"
+ "จิตเวช"
+ "จิตแพทย์"
+ "จินดา"
+ "จินตกวี"
+ "จินตนา"
+ "จินตนาการ"
+ "จินตภาพ"
+ "จิบ"
+ "จิปาถะ"
+ "จิ่ม"
+ "จิ้งจก"
+ "จิ้งจอก"
+ "จิ้งหรีด"
+ "จิ้งเหลน"
+ "จิ้ม"
+ "จิ๋ว"
+ "จีน"
+ "จีนแส"
+ "จีบ"
+ "จีวร"
+ "จี่"
+ "จี้"
+ "จี๊"
+ "จี๊ด"
+ "จี๋"
+ "จึง"
+ "จึ่ง"
+ "จึ้ง"
+ "จืด"
+ "จุ"
+ "จุก"
+ "จุด"
+ "จุติ"
+ "จุน"
+ "จุบ"
+ "จุบจิบ"
+ "จุมพฏ"
+ "จุมพิต"
+ "จุลจอม"
+ "จุลชีพ"
+ "จุลชีวัน"
+ "จุลชีวิน"
+ "จุลทรรศน์"
+ "จุลภาค"
+ "จุลวรรค"
+ "จุลศักราช"
+ "จุลสาร"
+ "จุลินทรีย์"
+ "จุฬา"
+ "จุฬาลงกรณ์"
+ "จุ่ง"
+ "จุ่น"
+ "จุ่ม"
+ "จุ้น"
+ "จุ้นจู๊"
+ "จุ้ม"
+ "จุ้ย"
+ "จุ๊กกรู๊"
+ "จุ๊บ"
+ "จุ๊บแจง"
+ "จุ๋งจิ๋ง"
+ "จุ๋มจิ๋ม"
+ "จู"
+ "จูง"
+ "จูบ"
+ "จู่"
+ "จู้"
+ "จู๊ด"
+ "จู๋"
+ "จเร"
+ "จ่อ"
+ "จ่อม"
+ "จ่า"
+ "จ่าง"
+ "จ่าย"
+ "จ้น"
+ "จ้วง"
+ "จ้อ"
+ "จ้อก"
+ "จ้อกแจ้ก"
+ "จ้อง"
+ "จ้อน"
+ "จ้อย"
+ "จ้ะ"
+ "จ้า"
+ "จ้าง"
+ "จ้าน"
+ "จ้าละหวั่น"
+ "จ้าว"
+ "จ้ำ"
+ "จ้ำจี้"
+ "จ้ำม่ำ"
+ "จ๊อก"
+ "จ๊ะ"
+ "จ๋อ"
+ "จ๋อง"
+ "จ๋อย"
+ "จ๋ะ"
+ "จ๋า"
+ "ฉก"
+ "ฉกรรจ์"
+ "ฉกษัตริย์"
+ "ฉกาจ"
+ "ฉกามาพจร"
+ "ฉงน"
+ "ฉงาย"
+ "ฉนวน"
+ "ฉนัง"
+ "ฉนาก"
+ "ฉนำ"
+ "ฉบัง"
+ "ฉบับ"
+ "ฉม"
+ "ฉมวก"
+ "ฉมัง"
+ "ฉมา"
+ "ฉมำ"
+ "ฉล"
+ "ฉลวย"
+ "ฉลอง"
+ "ฉลอม"
+ "ฉลัก"
+ "ฉลาก"
+ "ฉลาด"
+ "ฉลาม"
+ "ฉลาย"
+ "ฉลิว"
+ "ฉลุ"
+ "ฉลุกฉลวย"
+ "ฉลู"
+ "ฉวย"
+ "ฉวัดเฉวียน"
+ "ฉวาง"
+ "ฉวี"
+ "ฉศก"
+ "ฉอก"
+ "ฉอด"
+ "ฉอเลาะ"
+ "ฉะ"
+ "ฉะฉาน"
+ "ฉะนั้น"
+ "ฉะนี้"
+ "ฉะอ้อน"
+ "ฉัตร"
+ "ฉัน"
+ "ฉันทลักษณ์"
+ "ฉันทะ"
+ "ฉันทา"
+ "ฉันทานุมัติ"
+ "ฉันท์"
+ "ฉับ"
+ "ฉาก"
+ "ฉาง"
+ "ฉาด"
+ "ฉาน"
+ "ฉาบ"
+ "ฉาย"
+ "ฉายา"
+ "ฉาว"
+ "ฉำฉา"
+ "ฉิน"
+ "ฉิบ"
+ "ฉิมพลี"
+ "ฉิว"
+ "ฉิ่ง"
+ "ฉีก"
+ "ฉีด"
+ "ฉี่"
+ "ฉุ"
+ "ฉุก"
+ "ฉุกเฉิน"
+ "ฉุด"
+ "ฉุน"
+ "ฉุย"
+ "ฉูด"
+ "ฉู่"
+ "ฉ่อง"
+ "ฉ่อย"
+ "ฉ่า"
+ "ฉ่าง"
+ "ฉ่ำ"
+ "ฉ้อ"
+ "ชก"
+ "ชง"
+ "ชงโค"
+ "ชฎา"
+ "ชด"
+ "ชน"
+ "ชนก"
+ "ชนนี"
+ "ชนมพรรษา"
+ "ชนม์"
+ "ชนวน"
+ "ชนะ"
+ "ชนัก"
+ "ชนิด"
+ "ชบา"
+ "ชม"
+ "ชมดชม้อย"
+ "ชมพู"
+ "ชมพูนท"
+ "ชมพูนุท"
+ "ชมพู่"
+ "ชมรม"
+ "ชมา"
+ "ชม้อย"
+ "ชม้าย"
+ "ชย"
+ "ชร"
+ "ชระ"
+ "ชรัว"
+ "ชรา"
+ "ชล"
+ "ชลธาร"
+ "ชลธี"
+ "ชลนา"
+ "ชลประทาน"
+ "ชลาลัย"
+ "ชลาศัย"
+ "ชว"
+ "ชวด"
+ "ชวน"
+ "ชวร"
+ "ชวลิต"
+ "ชวา"
+ "ชวาล"
+ "ชอก"
+ "ชอกช้ำ"
+ "ชอง"
+ "ชอน"
+ "ชอบ"
+ "ชอปปิ้ง"
+ "ชอม"
+ "ชอล์ก"
+ "ชอื้อ"
+ "ชอุ่ม"
+ "ชอ่ำ"
+ "ชะ"
+ "ชะงัก"
+ "ชะงัด"
+ "ชะงุ้ม"
+ "ชะง่อน"
+ "ชะง้ำ"
+ "ชะตา"
+ "ชะนี"
+ "ชะมด"
+ "ชะมัด"
+ "ชะรอย"
+ "ชะลอ"
+ "ชะลอม"
+ "ชะลูด"
+ "ชะล่า"
+ "ชะเง้อ"
+ "ชะเนาะ"
+ "ชะแง้"
+ "ชะแลง"
+ "ชะโงก"
+ "ชะโด"
+ "ชัก"
+ "ชัง"
+ "ชัชวาล"
+ "ชัฏ"
+ "ชัด"
+ "ชัน"
+ "ชันนะตุ"
+ "ชันษา"
+ "ชันสูตร"
+ "ชัย"
+ "ชัยพฤกษ์"
+ "ชัยภูมิ"
+ "ชั่ง"
+ "ชั่ว"
+ "ชั่วโมง"
+ "ชั้น"
+ "ชั้ว"
+ "ชา"
+ "ชาญ"
+ "ชาด"
+ "ชาดก"
+ "ชาตรี"
+ "ชาตะ"
+ "ชาติ"
+ "ชาน"
+ "ชานุ"
+ "ชาม"
+ "ชาย"
+ "ชายา"
+ "ชาลา"
+ "ชาว"
+ "ชาวเล"
+ "ชำ"
+ "ชำนัญ"
+ "ชำนาญ"
+ "ชำนิ"
+ "ชำระ"
+ "ชำรุด"
+ "ชำร่วย"
+ "ชำเนียน"
+ "ชำเนียร"
+ "ชำเรา"
+ "ชำเลือง"
+ "ชำแหละ"
+ "ชิ"
+ "ชิคาโก"
+ "ชิง"
+ "ชิงช้า"
+ "ชิด"
+ "ชิน"
+ "ชิป"
+ "ชิพ"
+ "ชิม"
+ "ชิมแปนซี"
+ "ชิวหา"
+ "ชิ่ง"
+ "ชิ้น"
+ "ชี"
+ "ชีปะขาว"
+ "ชีพ"
+ "ชีพิตักษัย"
+ "ชีวประวัติ"
+ "ชีววิทยา"
+ "ชีวาตม์"
+ "ชีวาลัย"
+ "ชีวิต"
+ "ชีวิตักษัย"
+ "ชีวิน"
+ "ชีวี"
+ "ชีวเคมี"
+ "ชี้"
+ "ชืด"
+ "ชื่น"
+ "ชื่นมื่น"
+ "ชื่อ"
+ "ชื้น"
+ "ชื้อ"
+ "ชุก"
+ "ชุด"
+ "ชุน"
+ "ชุบ"
+ "ชุม"
+ "ชุมนุม"
+ "ชุมพร"
+ "ชุลมุน"
+ "ชุลี"
+ "ชุ่ม"
+ "ชุ่ย"
+ "ชุ้ง"
+ "ชู"
+ "ชู้"
+ "ชโย"
+ "ชโลทร"
+ "ชโลม"
+ "ชไม"
+ "ช็อกโกเลต"
+ "ช็อกโกแลต"
+ "ช่วง"
+ "ช่วย"
+ "ช่อ"
+ "ช่อง"
+ "ช่อน"
+ "ช่าง"
+ "ช่ำ"
+ "ช่ำชอง"
+ "ช้อง"
+ "ช้อน"
+ "ช้อย"
+ "ช้า"
+ "ช้าง"
+ "ช้ำ"
+ "ซก"
+ "ซด"
+ "ซน"
+ "ซบ"
+ "ซม"
+ "ซวดเซ"
+ "ซวน"
+ "ซวย"
+ "ซอ"
+ "ซอก"
+ "ซอง"
+ "ซอน"
+ "ซอฟต์แวร์"
+ "ซอฟท์"
+ "ซอฟท์แวร์"
+ "ซอมซ่อ"
+ "ซอย"
+ "ซอส"
+ "ซัก"
+ "ซัง"
+ "ซัด"
+ "ซัน"
+ "ซันตาคลอส"
+ "ซับ"
+ "ซัพพอร์ต"
+ "ซัลฟา"
+ "ซา"
+ "ซาก"
+ "ซากุระ"
+ "ซาง"
+ "ซาน"
+ "ซาบซึ้ง"
+ "ซาบซ่าน"
+ "ซามูไร"
+ "ซาลาเปา"
+ "ซาว"
+ "ซาวด์"
+ "ซิ"
+ "ซิก"
+ "ซิการ์"
+ "ซิกแซ็ก"
+ "ซินแส"
+ "ซิบ"
+ "ซิป"
+ "ซิฟิลิส"
+ "ซิลิคอน"
+ "ซิว"
+ "ซิ่น"
+ "ซี"
+ "ซีก"
+ "ซีด"
+ "ซีดี"
+ "ซีนอน"
+ "ซีรอกซ์"
+ "ซีเกมส์"
+ "ซีเมนต์"
+ "ซีเรีย"
+ "ซี่"
+ "ซี้"
+ "ซึง"
+ "ซึม"
+ "ซึ่ง"
+ "ซึ้ง"
+ "ซื่อ"
+ "ซื้อ"
+ "ซุก"
+ "ซุง"
+ "ซุน"
+ "ซุบ"
+ "ซุป"
+ "ซุย"
+ "ซุ่ม"
+ "ซุ่มซ่าม"
+ "ซุ้ม"
+ "ซูชิ"
+ "ซูดซาด"
+ "ซูดาน"
+ "ซูบ"
+ "ซูเปอร์มาเก็ต"
+ "ซูโครส"
+ "ซู่"
+ "ซ่ก"
+ "ซ่อง"
+ "ซ่อน"
+ "ซ่อม"
+ "ซ่า"
+ "ซ่าน"
+ "ซ่าหริ่ม"
+ "ซ้น"
+ "ซ้อง"
+ "ซ้อน"
+ "ซ้อม"
+ "ซ้าย"
+ "ซ้ำ"
+ "ฌาน"
+ "ฌาปนกิจ"
+ "ฌาปนสถาน"
+ "ญวน"
+ "ญัตติ"
+ "ญาณ"
+ "ญาติ"
+ "ญี่ปุ่น"
+ "ฐาน"
+ "ฐานะ"
+ "ฐานันดร"
+ "ฐาปนา"
+ "ดก"
+ "ดง"
+ "ดนตรี"
+ "ดนโด่"
+ "ดม"
+ "ดรรชนี"
+ "ดราฟต์"
+ "ดรุณ"
+ "ดรุณี"
+ "ดล"
+ "ดวง"
+ "ดวด"
+ "ดวล"
+ "ดอก"
+ "ดอกเบี้ย"
+ "ดอกไม้"
+ "ดอง"
+ "ดอด"
+ "ดอน"
+ "ดอม"
+ "ดอย"
+ "ดอลลาร์"
+ "ดอส"
+ "ดะ"
+ "ดัก"
+ "ดักดาน"
+ "ดักแด้"
+ "ดัง"
+ "ดัชนี"
+ "ดัด"
+ "ดัตซ์"
+ "ดัน"
+ "ดับ"
+ "ดับเบิ้ล"
+ "ดัมพ์"
+ "ดัสกร"
+ "ดั่ง"
+ "ดั้ง"
+ "ดั้น"
+ "ดา"
+ "ดาก"
+ "ดาด"
+ "ดาต้า"
+ "ดาน"
+ "ดาบ"
+ "ดาบส"
+ "ดาม"
+ "ดามพ์"
+ "ดาย"
+ "ดารณี"
+ "ดารดาษ"
+ "ดารา"
+ "ดาร์"
+ "ดาล"
+ "ดาลัด"
+ "ดาว"
+ "ดาวดึงส์"
+ "ดาวน์โหลด"
+ "ดาวโจนส์"
+ "ดาษ"
+ "ดาษดา"
+ "ดำ"
+ "ดำรง"
+ "ดำรัส"
+ "ดำริ"
+ "ดำฤษณา"
+ "ดำเกิง"
+ "ดำเนิน"
+ "ดำแคง"
+ "ดิ"
+ "ดิก"
+ "ดิจิตอล"
+ "ดิฉัน"
+ "ดิถี"
+ "ดิน"
+ "ดิบ"
+ "ดิรัจฉาน"
+ "ดิลก"
+ "ดิวิชั่น"
+ "ดิสนีย์"
+ "ดิสเกต"
+ "ดิ่ง"
+ "ดิ่ว"
+ "ดิ้น"
+ "ดิ้ว"
+ "ดี"
+ "ดีกรี"
+ "ดีด"
+ "ดีดีที"
+ "ดีบุก"
+ "ดีวีดี"
+ "ดีเซล"
+ "ดีเปรสชั่น"
+ "ดีไซน์"
+ "ดีไซเนอร์"
+ "ดึก"
+ "ดึกดำบรรพ์"
+ "ดึง"
+ "ดึงสะ"
+ "ดึ่ง"
+ "ดึ่ม"
+ "ดือ"
+ "ดื่น"
+ "ดื่ม"
+ "ดื้อ"
+ "ดุ"
+ "ดุก"
+ "ดุจ"
+ "ดุด"
+ "ดุน"
+ "ดุบ"
+ "ดุม"
+ "ดุรงค์"
+ "ดุริยางคศาสตร์"
+ "ดุริยางคศิลป์"
+ "ดุริยางค์"
+ "ดุล"
+ "ดุลพินิจ"
+ "ดุลภาค"
+ "ดุลยพินิจ"
+ "ดุลยภาพ"
+ "ดุษฎี"
+ "ดุษณี"
+ "ดุษิต"
+ "ดุสิต"
+ "ดุเหว่า"
+ "ดุ่ม"
+ "ดุ่ย"
+ "ดุ้ง"
+ "ดุ้งดิ้ง"
+ "ดุ้น"
+ "ดู"
+ "ดูกร"
+ "ดูด"
+ "ดูรา"
+ "ด่วน"
+ "ด่อน"
+ "ด่อม"
+ "ด่า"
+ "ด่าง"
+ "ด่าน"
+ "ด่าว"
+ "ด่ำ"
+ "ด้ง"
+ "ด้น"
+ "ด้วง"
+ "ด้วน"
+ "ด้วย"
+ "ด้อม"
+ "ด้อย"
+ "ด้าน"
+ "ด้าม"
+ "ด้าย"
+ "ด้าว"
+ "ด้ำ"
+ "ตก"
+ "ตกลง"
+ "ตง"
+ "ตงฉิน"
+ "ตงิด"
+ "ตด"
+ "ตถาคต"
+ "ตน"
+ "ตบ"
+ "ตบะ"
+ "ตม"
+ "ตรง"
+ "ตรม"
+ "ตรมตรอม"
+ "ตรรกวิทยา"
+ "ตรรกศาสตร์"
+ "ตรรกะ"
+ "ตรวจ"
+ "ตรวน"
+ "ตรอก"
+ "ตรอง"
+ "ตรอมตรม"
+ "ตรอมใจ"
+ "ตระ"
+ "ตระกูล"
+ "ตระหง่าน"
+ "ตระหนก"
+ "ตระหนัก"
+ "ตระหนี่"
+ "ตระเวน"
+ "ตรัง"
+ "ตรับ"
+ "ตรัย"
+ "ตรัส"
+ "ตรา"
+ "ตรากตรำ"
+ "ตราบ"
+ "ตราสัง"
+ "ตรำ"
+ "ตริ"
+ "ตรี"
+ "ตรียัมปวาย"
+ "ตรีโกณ"
+ "ตรึก"
+ "ตรึง"
+ "ตรุ"
+ "ตรุษ"
+ "ตรู"
+ "ตรู่"
+ "ตฤณ"
+ "ตลก"
+ "ตลบ"
+ "ตลอด"
+ "ตลับ"
+ "ตลาด"
+ "ตลิ่ง"
+ "ตวง"
+ "ตวัด"
+ "ตวาด"
+ "ตอ"
+ "ตอก"
+ "ตอง"
+ "ตอด"
+ "ตอน"
+ "ตอบ"
+ "ตอม"
+ "ตอร์"
+ "ตอร์ปิโด"
+ "ตอแย"
+ "ตอแหล"
+ "ตะ"
+ "ตะกรัน"
+ "ตะกรุด"
+ "ตะกรุม"
+ "ตะกร้อ"
+ "ตะกร้า"
+ "ตะกละ"
+ "ตะกลาม"
+ "ตะกอน"
+ "ตะกัง"
+ "ตะกั่ว"
+ "ตะกุกตะกัก"
+ "ตะขอ"
+ "ตะขาบ"
+ "ตะขิดตะขวง"
+ "ตะคริว"
+ "ตะครุบ"
+ "ตะคอก"
+ "ตะนอย"
+ "ตะบอง"
+ "ตะบอย"
+ "ตะบัน"
+ "ตะปุ่มตะป่ำ"
+ "ตะพาบ"
+ "ตะพึด"
+ "ตะพึดตะพือ"
+ "ตะพุ่น"
+ "ตะลีตะลาน"
+ "ตะลึง"
+ "ตะลุง"
+ "ตะลุมบอน"
+ "ตะลุมพุก"
+ "ตะล่อม"
+ "ตะวัน"
+ "ตะหลิว"
+ "ตะเกียกตะกาย"
+ "ตะเกียง"
+ "ตะเกียบ"
+ "ตะเข็บ"
+ "ตะเคียน"
+ "ตะเฆ่"
+ "ตะเบ็ง"
+ "ตะเพิด"
+ "ตะเพิ่น"
+ "ตะเพียน"
+ "ตะเภา"
+ "ตะเลง"
+ "ตะแกรง"
+ "ตะแคง"
+ "ตะแบง"
+ "ตะโก"
+ "ตะโกก"
+ "ตะโกน"
+ "ตะโก้"
+ "ตะโขง"
+ "ตะโบม"
+ "ตะโพก"
+ "ตะโหงก"
+ "ตะไกร"
+ "ตะไคร่"
+ "ตะไคร้"
+ "ตะไบ"
+ "ตะไล"
+ "ตัก"
+ "ตักษัย"
+ "ตัง"
+ "ตังฉ่าย"
+ "ตังเก"
+ "ตังเม"
+ "ตังโอ๋"
+ "ตัณหา"
+ "ตัด"
+ "ตัดสิน"
+ "ตัน"
+ "ตันหยง"
+ "ตับ"
+ "ตัว"
+ "ตั่ง"
+ "ตั้ง"
+ "ตั้งแต่"
+ "ตั้วโผ"
+ "ตั๊กแตน"
+ "ตั๋ว"
+ "ตา"
+ "ตาก"
+ "ตาด"
+ "ตาน"
+ "ตานี"
+ "ตาบ"
+ "ตาม"
+ "ตาย"
+ "ตาล"
+ "ตาลปัตร"
+ "ตำ"
+ "ตำนาน"
+ "ตำบล"
+ "ตำรวจ"
+ "ตำรับ"
+ "ตำรา"
+ "ตำลึง"
+ "ตำหนัก"
+ "ตำหนิ"
+ "ตำแย"
+ "ตำแหน่ง"
+ "ติ"
+ "ติกาหรัง"
+ "ติง"
+ "ติณ"
+ "ติด"
+ "ติรัจฉาน"
+ "ติลก"
+ "ติ่ง"
+ "ติ้ว"
+ "ติ๊ก"
+ "ติ๋ง"
+ "ตี"
+ "ตีน"
+ "ตีบ"
+ "ตี่"
+ "ตี๋"
+ "ตึ"
+ "ตึก"
+ "ตึง"
+ "ตึดตื๋อ"
+ "ตึ้ก"
+ "ตึ้กตั้ก"
+ "ตึ๊ดตื๋อ"
+ "ตืด"
+ "ตือฮวน"
+ "ตื่น"
+ "ตื้น"
+ "ตื้อ"
+ "ตื๊อ"
+ "ตื๋อ"
+ "ตุ"
+ "ตุกติก"
+ "ตุง"
+ "ตุน"
+ "ตุนาหงัน"
+ "ตุบ"
+ "ตุรกี"
+ "ตุลา"
+ "ตุลาการ"
+ "ตุลาคม"
+ "ตุหรัดตุเหร่"
+ "ตุ่น"
+ "ตุ่ม"
+ "ตุ่ย"
+ "ตุ้งก่า"
+ "ตุ้งติ้ง"
+ "ตุ้บ"
+ "ตุ้ม"
+ "ตุ้ย"
+ "ตุ๊"
+ "ตุ๊ก"
+ "ตุ๊กตา"
+ "ตุ๊กแก"
+ "ตุ๊ด"
+ "ตุ๊ต๊ะ"
+ "ตุ๊บป่อง"
+ "ตุ๊ย"
+ "ตุ๋น"
+ "ตุ๋ม"
+ "ตุ๋ยตุ่ย"
+ "ตู"
+ "ตูก"
+ "ตูด"
+ "ตูบ"
+ "ตูม"
+ "ตู่"
+ "ตู้"
+ "ต่วน"
+ "ต่อ"
+ "ต่องแต่ง"
+ "ต่อม"
+ "ต่อย"
+ "ต่าง"
+ "ต่ำ"
+ "ต้น"
+ "ต้ม"
+ "ต้วมเตี้ยม"
+ "ต้อ"
+ "ต้อง"
+ "ต้องเต"
+ "ต้อน"
+ "ต้อย"
+ "ต้อยติ่ง"
+ "ต้อยตีวิด"
+ "ต้าน"
+ "ต๊อก"
+ "ต๊อกต๋อย"
+ "ต๋ง"
+ "ต๋อม"
+ "ถก"
+ "ถด"
+ "ถนน"
+ "ถนอม"
+ "ถนัด"
+ "ถนัดถนี่"
+ "ถนิม"
+ "ถม"
+ "ถมึงทึง"
+ "ถลก"
+ "ถลน"
+ "ถลอก"
+ "ถลัน"
+ "ถลา"
+ "ถลาก"
+ "ถลำ"
+ "ถลีถลำ"
+ "ถลึงตา"
+ "ถลุง"
+ "ถลุน"
+ "ถล่ม"
+ "ถวัลย์"
+ "ถวาย"
+ "ถวิล"
+ "ถอก"
+ "ถอง"
+ "ถอด"
+ "ถอน"
+ "ถอย"
+ "ถะ"
+ "ถัก"
+ "ถัง"
+ "ถัด"
+ "ถัน"
+ "ถัว"
+ "ถั่ว"
+ "ถา"
+ "ถาก"
+ "ถาง"
+ "ถาด"
+ "ถาน"
+ "ถาม"
+ "ถาวร"
+ "ถิ่น"
+ "ถีบ"
+ "ถี่"
+ "ถึก"
+ "ถึง"
+ "ถือ"
+ "ถุง"
+ "ถุน"
+ "ถุย"
+ "ถู"
+ "ถูก"
+ "ถ่ม"
+ "ถ่วง"
+ "ถ่อ"
+ "ถ่อง"
+ "ถ่อม"
+ "ถ่อย"
+ "ถ่าง"
+ "ถ่าน"
+ "ถ่าย"
+ "ถ้วน"
+ "ถ้วย"
+ "ถ้อย"
+ "ถ้า"
+ "ถ้ำ"
+ "ทก"
+ "ทกล้า"
+ "ทด"
+ "ทน"
+ "ทนต์"
+ "ทนาย"
+ "ทนโท่"
+ "ทบ"
+ "ทบทวน"
+ "ทบวง"
+ "ทมิฬ"
+ "ทยอย"
+ "ทรกรรม"
+ "ทรง"
+ "ทรชน"
+ "ทรชาติ"
+ "ทรพิษ"
+ "ทรพี"
+ "ทรมาน"
+ "ทรยศ"
+ "ทรยุค"
+ "ทรรป"
+ "ทรรศนะ"
+ "ทรราช"
+ "ทรลักษณ์"
+ "ทรวง"
+ "ทรวดทรง"
+ "ทรหด"
+ "ทรัพยากร"
+ "ทรัพย์"
+ "ทรัพย์สิน"
+ "ทรัมเป็ต"
+ "ทรานซิสเตอร์"
+ "ทราบ"
+ "ทราม"
+ "ทราย"
+ "ทรุด"
+ "ทฤษฎี"
+ "ทลาย"
+ "ทวง"
+ "ทวด"
+ "ทวน"
+ "ทวย"
+ "ทวาทศ"
+ "ทวาย"
+ "ทวาร"
+ "ทวิ"
+ "ทวี"
+ "ทวีธาภิเษก"
+ "ทวีป"
+ "ทว่า"
+ "ทศ"
+ "ทศนิยม"
+ "ทหาร"
+ "ทอ"
+ "ทอก"
+ "ทอง"
+ "ทองกวาว"
+ "ทองหลาง"
+ "ทอด"
+ "ทอน"
+ "ทอนซิล"
+ "ทอฟฟี่"
+ "ทอย"
+ "ทอล์ค"
+ "ทะนง"
+ "ทะนาน"
+ "ทะนุ"
+ "ทะมัดทะแมง"
+ "ทะมึน"
+ "ทะมื่น"
+ "ทะยาน"
+ "ทะลวง"
+ "ทะลัก"
+ "ทะลาย"
+ "ทะลึ่ง"
+ "ทะลุ"
+ "ทะวาย"
+ "ทะเบียน"
+ "ทะเยอทะยาน"
+ "ทะเล"
+ "ทะเลาะ"
+ "ทะเล่อทะล่า"
+ "ทะเล้น"
+ "ทะแม่ง"
+ "ทัก"
+ "ทักขิญ"
+ "ทักขิณา"
+ "ทักขิณาวัฏ"
+ "ทักข์"
+ "ทักษะ"
+ "ทักษิณ"
+ "ทักษิณา"
+ "ทักษิณาวรรต"
+ "ทักษิโณทก"
+ "ทังสเตน"
+ "ทัณฑกรรม"
+ "ทัณฑฆาต"
+ "ทัณฑสถาน"
+ "ทัณฑ์"
+ "ทัด"
+ "ทัน"
+ "ทันตแพทย์"
+ "ทันต์"
+ "ทันที"
+ "ทับ"
+ "ทับสมิงคลา"
+ "ทัพ"
+ "ทัพพี"
+ "ทัศนคติ"
+ "ทัศนวิสัย"
+ "ทัศนศึกษา"
+ "ทัศนะ"
+ "ทัศนา"
+ "ทัศนาจร"
+ "ทัศนียภาพ"
+ "ทัศนีย์"
+ "ทัศนูปกรณ์"
+ "ทัศน์"
+ "ทัศไนย"
+ "ทั่ง"
+ "ทั่ว"
+ "ทั้ง"
+ "ทา"
+ "ทาก"
+ "ทาง"
+ "ทาน"
+ "ทาบ"
+ "ทาม"
+ "ทาย"
+ "ทายาด"
+ "ทายาท"
+ "ทารก"
+ "ทาริกา"
+ "ทารุณ"
+ "ทาร์ซาน"
+ "ทาส"
+ "ทำ"
+ "ทำนบ"
+ "ทำนอง"
+ "ทำนาย"
+ "ทำนุ"
+ "ทำลาย"
+ "ทำเนา"
+ "ทำเนียบ"
+ "ทำเล"
+ "ทำไม"
+ "ทิคัมพร"
+ "ทิฆัมพร"
+ "ทิงเจอร์"
+ "ทิฐิ"
+ "ทิด"
+ "ทิพยจักษุ"
+ "ทิพยญาณ"
+ "ทิพยรส"
+ "ทิพยเนตร"
+ "ทิพย์"
+ "ทิพากร"
+ "ทิม"
+ "ทิว"
+ "ทิวงคต"
+ "ทิวทัศน์"
+ "ทิวา"
+ "ทิศ"
+ "ทิศา"
+ "ทิศานุทิศ"
+ "ทิเบต"
+ "ทิ่ม"
+ "ทิ้ง"
+ "ที"
+ "ทีฆชาติ"
+ "ทีม"
+ "ทีเอนที"
+ "ที่"
+ "ที่ดิน"
+ "ทึก"
+ "ทึนทึก"
+ "ทึบ"
+ "ทึม"
+ "ทึ่ง"
+ "ทึ่ม"
+ "ทึ้ง"
+ "ทื่อ"
+ "ทุ"
+ "ทุก"
+ "ทุกขลาภ"
+ "ทุกขารมณ์"
+ "ทุกขเวทนา"
+ "ทุกข์"
+ "ทุกรกิริยา"
+ "ทุคติ"
+ "ทุจริต"
+ "ทุด"
+ "ทุน"
+ "ทุบ"
+ "ทุพพล"
+ "ทุพภิกขภัย"
+ "ทุย"
+ "ทุรกันดาร"
+ "ทุรชน"
+ "ทุรชาติ"
+ "ทุรนทุราย"
+ "ทุรพล"
+ "ทุลักทุเล"
+ "ทุศีล"
+ "ทุเรศ"
+ "ทุเรียน"
+ "ทุเลา"
+ "ทุ่ง"
+ "ทุ่น"
+ "ทุ่ม"
+ "ทุ้ง"
+ "ทุ้ม"
+ "ทุ้ย"
+ "ทู"
+ "ทูต"
+ "ทูตานุทูต"
+ "ทูน"
+ "ทูบ"
+ "ทูม"
+ "ทูล"
+ "ทู่"
+ "ทู้"
+ "ทแกล้ว"
+ "ทแยง"
+ "ทโมน"
+ "ท่วงทำนอง"
+ "ท่วงที"
+ "ท่วงท่า"
+ "ท่วม"
+ "ท่อ"
+ "ท่อง"
+ "ท่อน"
+ "ท่อม"
+ "ท่า"
+ "ท่าน"
+ "ท่ามกลาง"
+ "ท้น"
+ "ท้วง"
+ "ท้วน"
+ "ท้วม"
+ "ท้อ"
+ "ท้อง"
+ "ท้า"
+ "ท้าย"
+ "ท้าว"
+ "ธง"
+ "ธน"
+ "ธนบัตร"
+ "ธนบุรี"
+ "ธนสมบัติ"
+ "ธนสาร"
+ "ธนาคาร"
+ "ธนาณัติ"
+ "ธนารักษ์"
+ "ธนู"
+ "ธม"
+ "ธร"
+ "ธรณี"
+ "ธรรม"
+ "ธรรมกาย"
+ "ธรรมชาติ"
+ "ธรรมดา"
+ "ธรรมศาสตร์"
+ "ธรรมะ"
+ "ธรรมะธัมโม"
+ "ธรรมาทิตย์"
+ "ธรรมาธรรม"
+ "ธรรมาธิปไตย"
+ "ธรรมาธิษฐาน"
+ "ธรรมานุสาน"
+ "ธรรมาภิมุข"
+ "ธรรมาภิสมัย"
+ "ธรรมายตนะ"
+ "ธรรมารมณ์"
+ "ธรรมาสน์"
+ "ธรรมิก"
+ "ธราธร"
+ "ธราธาร"
+ "ธราธิบดี"
+ "ธราธิป"
+ "ธัญ"
+ "ธัญญาหาร"
+ "ธัญพืช"
+ "ธันวาคม"
+ "ธัมมะ"
+ "ธาตุ"
+ "ธานี"
+ "ธาร"
+ "ธารา"
+ "ธำมรงค์"
+ "ธำรง"
+ "ธิดา"
+ "ธิเบต"
+ "ธุดงค์"
+ "ธุรกรรม"
+ "ธุรการ"
+ "ธุรกิจ"
+ "ธุระ"
+ "ธุลี"
+ "ธุวดารา"
+ "ธุวภาค"
+ "ธุวมณฑล"
+ "ธูป"
+ "นก"
+ "นคร"
+ "นครราชสีมา"
+ "นครินทร์"
+ "นคเรศ"
+ "นงคราญ"
+ "นงนุช"
+ "นงพะงา"
+ "นงพาล"
+ "นงราม"
+ "นงลักษณ์"
+ "นงเยาว์"
+ "นที"
+ "นนทบุรี"
+ "นนทรี"
+ "นนทลี"
+ "นบ"
+ "นพ"
+ "นพปฎล"
+ "นพศก"
+ "นพศูล"
+ "นภา"
+ "นภาลัย"
+ "นม"
+ "นมัสการ"
+ "นรก"
+ "นรสิงห์"
+ "นรีเวช"
+ "นรีแพทย์"
+ "นฤคหิต"
+ "นฤนาท"
+ "นฤมล"
+ "นฤมิต"
+ "นลาฏ"
+ "นลินี"
+ "นวด"
+ "นวนิยาย"
+ "นวม"
+ "นวย"
+ "นวล"
+ "นวลลออ"
+ "นวลละออง"
+ "นอ"
+ "นอก"
+ "นอง"
+ "นอต"
+ "นอน"
+ "นอบ"
+ "นอย"
+ "นอร์เวย์"
+ "นะ"
+ "นัก"
+ "นักขัต"
+ "นักศึกษา"
+ "นักษัตร"
+ "นักเรียน"
+ "นังคัล"
+ "นัด"
+ "นัดดา"
+ "นัตถุ์"
+ "นันทนาการ"
+ "นับ"
+ "นัย"
+ "นัยน์"
+ "นัว"
+ "นั่ง"
+ "นั่น"
+ "นั้น"
+ "นา"
+ "นาก"
+ "นาค"
+ "นาคร"
+ "นาคราช"
+ "นาคี"
+ "นาง"
+ "นางสาว"
+ "นางแอ่น"
+ "นาซา"
+ "นาฏ"
+ "นาด"
+ "นาถ"
+ "นาท"
+ "นาที"
+ "นาน"
+ "นานัปการ"
+ "นานา"
+ "นาบ"
+ "นาภี"
+ "นาม"
+ "นามกร"
+ "นามสกุล"
+ "นามานุกรม"
+ "นามาภิไธย"
+ "นาย"
+ "นายก"
+ "นารายณ์"
+ "นารี"
+ "นาวา"
+ "นาวิก"
+ "นาวิน"
+ "นาวี"
+ "นาสิก"
+ "นาฬิกา"
+ "นาฬิเก"
+ "นาโน"
+ "นำ"
+ "นิ"
+ "นิกร"
+ "นิกรอยด์"
+ "นิกาย"
+ "นิกเกิล"
+ "นิคม"
+ "นิครนถ์"
+ "นิคหิต"
+ "นิจ"
+ "นิด"
+ "นิตยสาร"
+ "นิตย์"
+ "นิติ"
+ "นิทรรศ"
+ "นิทรา"
+ "นิทัศน์"
+ "นิทาน"
+ "นินทา"
+ "นิบาต"
+ "นิพนธ์"
+ "นิพพาน"
+ "นิมนต์"
+ "นิมมาน"
+ "นิมมานรดี"
+ "นิมิต"
+ "นิยม"
+ "นิยาม"
+ "นิยาย"
+ "นิรทุกข์"
+ "นิรนาม"
+ "นิรภัย"
+ "นิรมล"
+ "นิรมิต"
+ "นิรันดร"
+ "นิราศ"
+ "นิรโทษ"
+ "นิล"
+ "นิลุบล"
+ "นิวกินี"
+ "นิวคลิอิก"
+ "นิวซีแลนด์"
+ "นิวตรอน"
+ "นิวยอร์ค"
+ "นิวรณ์"
+ "นิวัต"
+ "นิวัตน์"
+ "นิวาต"
+ "นิวาส"
+ "นิวเคลียร์"
+ "นิวเคลียส"
+ "นิสัย"
+ "นิสิต"
+ "นิเทศ"
+ "นิเวศ"
+ "นิเวศน์"
+ "นิโคติน"
+ "นิโรธ"
+ "นิโลบล"
+ "นิ่ง"
+ "นิ่ม"
+ "นิ่ว"
+ "นิ้ว"
+ "นี"
+ "นีออน"
+ "นีโอดิเมียม"
+ "นี่"
+ "นี้"
+ "นึก"
+ "นึ่ง"
+ "นุง"
+ "นุช"
+ "นุ่ง"
+ "นุ่น"
+ "นุ่ม"
+ "นุ้ย"
+ "นูน"
+ "นู่น"
+ "นู้น"
+ "นเรศวร"
+ "นโยบาย"
+ "นโรดม"
+ "น่วม"
+ "น่อง"
+ "น่า"
+ "น่าน"
+ "น้อง"
+ "น้อม"
+ "น้อย"
+ "น้อยหน่า"
+ "น้อยโหน่ง"
+ "น้า"
+ "น้าว"
+ "น้ำ"
+ "น้ำมัน"
+ "น้ำเงิน"
+ "บก"
+ "บกพร่อง"
+ "บง"
+ "บงกช"
+ "บด"
+ "บดินทรเดชา"
+ "บดินทร์"
+ "บดี"
+ "บท"
+ "บน"
+ "บพิตร"
+ "บพิธ"
+ "บรม"
+ "บรมัตถ์"
+ "บรร"
+ "บรรจง"
+ "บรรจถรณ์"
+ "บรรจบ"
+ "บรรจวบ"
+ "บรรจุ"
+ "บรรณ"
+ "บรรณาการ"
+ "บรรณาคม"
+ "บรรณาธิการ"
+ "บรรณานุกรม"
+ "บรรณารักษศาสตร์"
+ "บรรณารักษ์"
+ "บรรดา"
+ "บรรทม"
+ "บรรทัด"
+ "บรรทุก"
+ "บรรพ"
+ "บรรพชา"
+ "บรรพชิต"
+ "บรรพต"
+ "บรรพบุรุษ"
+ "บรรยง"
+ "บรรยงก์"
+ "บรรยากาศ"
+ "บรรยาย"
+ "บรรลัย"
+ "บรรลุ"
+ "บรรษัท"
+ "บรรหาร"
+ "บรรเจิด"
+ "บรรเทา"
+ "บรรเลง"
+ "บรรโลม"
+ "บรั่นดี"
+ "บราวเซอร์"
+ "บริ"
+ "บริกรรม"
+ "บริการ"
+ "บริขาร"
+ "บริคณห์"
+ "บริจาค"
+ "บริจารก"
+ "บริจาริกา"
+ "บริบาล"
+ "บริบูรณ์"
+ "บริพัตร"
+ "บริพาร"
+ "บริภัณฑ์"
+ "บริภาษ"
+ "บริรักษ์"
+ "บริราช"
+ "บริวาร"
+ "บริษัท"
+ "บริสุทธิ์"
+ "บริหาร"
+ "บริเฉท"
+ "บริเตน"
+ "บริเวณ"
+ "บริโภค"
+ "บล็อก"
+ "บวก"
+ "บวง"
+ "บวช"
+ "บวน"
+ "บวบ"
+ "บวม"
+ "บวร"
+ "บอ"
+ "บอก"
+ "บอด"
+ "บอดี้"
+ "บอน"
+ "บอบ"
+ "บอร์ก"
+ "บอร์ด"
+ "บอร์เนียว"
+ "บอล"
+ "บอลลูน"
+ "บะหมี่"
+ "บัก"
+ "บัคเตรี"
+ "บัง"
+ "บังกะโล"
+ "บังคม"
+ "บังคล"
+ "บังคับ"
+ "บังสุกุล"
+ "บังอร"
+ "บังอาจ"
+ "บังเกิด"
+ "บังเหียน"
+ "บังเอิญ"
+ "บัญชร"
+ "บัญชา"
+ "บัญชี"
+ "บัญญัติ"
+ "บัณฑิต"
+ "บัณฑิตย์"
+ "บัณฑุ"
+ "บัณฑูร"
+ "บัณณาส"
+ "บัณรส"
+ "บัณรสี"
+ "บัณเฑาะก์"
+ "บัณเฑาะว์"
+ "บัด"
+ "บัดกรี"
+ "บัดซบ"
+ "บัดสี"
+ "บัตร"
+ "บัน"
+ "บันดาล"
+ "บันทึก"
+ "บันยะบันยัง"
+ "บันลือ"
+ "บันเทิง"
+ "บันได"
+ "บัปผาสะ"
+ "บัพ"
+ "บัลกาเรีย"
+ "บัลลังก์"
+ "บัลลูน"
+ "บัว"
+ "บัส"
+ "บั่น"
+ "บั้ง"
+ "บั้น"
+ "บั๊ก"
+ "บา"
+ "บาก"
+ "บาง"
+ "บาด"
+ "บาดทะยัก"
+ "บาดาล"
+ "บาต"
+ "บาตร"
+ "บาท"
+ "บาทบงสุ์"
+ "บาทหลวง"
+ "บาทาธึก"
+ "บาทุกา"
+ "บาน"
+ "บานชื่น"
+ "บานบุรี"
+ "บานียะ"
+ "บานเช้า"
+ "บานเย็น"
+ "บาป"
+ "บาย"
+ "บารมี"
+ "บารอมิเตอร์"
+ "บาร์"
+ "บาร์เรล"
+ "บาล"
+ "บาลี"
+ "บาศ"
+ "บาศก์"
+ "บาสเกตบอล"
+ "บาหลี"
+ "บำนาญ"
+ "บำบัด"
+ "บำราบ"
+ "บำราศ"
+ "บำรุง"
+ "บำรู"
+ "บำเพ็ญ"
+ "บำเรอ"
+ "บำเหน็จ"
+ "บิ"
+ "บิฐ"
+ "บิณฑบาต"
+ "บิด"
+ "บิดพลิ้ว"
+ "บิดร"
+ "บิดา"
+ "บิต"
+ "บิน"
+ "บิล"
+ "บิลเลียด"
+ "บิ่น"
+ "บีฑา"
+ "บีน"
+ "บีบ"
+ "บี้"
+ "บึก"
+ "บึกบึน"
+ "บึง"
+ "บึ่ง"
+ "บึ้ง"
+ "บุ"
+ "บุก"
+ "บุกรุก"
+ "บุกษก"
+ "บุคคล"
+ "บุคลากร"
+ "บุคลาธิษฐาน"
+ "บุคลิก"
+ "บุคลิกภาพ"
+ "บุญ"
+ "บุญญานุภาพ"
+ "บุญญาภินิหาร"
+ "บุณฑริก"
+ "บุณย์"
+ "บุตร"
+ "บุตรา"
+ "บุตรี"
+ "บุบ"
+ "บุปผชาติ"
+ "บุพกรรม"
+ "บุพการี"
+ "บุพกิจ"
+ "บุพชาติ"
+ "บุพทักษิณ"
+ "บุพนิมิต"
+ "บุพบท"
+ "บุพพาจารย์"
+ "บุพเพสันนิวาส"
+ "บุฟเฟ่ต์"
+ "บุรพทิศ"
+ "บุรพบท"
+ "บุรพาจารย์"
+ "บุราณ"
+ "บุริมทิศ"
+ "บุริมพรรษา"
+ "บุริมสิทธิ"
+ "บุรี"
+ "บุรุษ"
+ "บุษกร"
+ "บุษบง"
+ "บุษบา"
+ "บุษยมาส"
+ "บุษราคัม"
+ "บุหงัน"
+ "บุหงา"
+ "บุหรง"
+ "บุหรี่"
+ "บุหลัน"
+ "บุโรทั่ง"
+ "บุ่มบ่าม"
+ "บุ้ง"
+ "บุ้ย"
+ "บุ๋ม"
+ "บูชา"
+ "บูชายัญ"
+ "บูด"
+ "บูต"
+ "บูรณภาพ"
+ "บูรณะ"
+ "บูรพา"
+ "บูรพาจารย์"
+ "บู้"
+ "บู๊"
+ "บ่"
+ "บ่ง"
+ "บ่น"
+ "บ่ม"
+ "บ่วง"
+ "บ่อ"
+ "บ่อง"
+ "บ่อน"
+ "บ่อย"
+ "บ่า"
+ "บ่าง"
+ "บ่าย"
+ "บ่าว"
+ "บ้วน"
+ "บ้อง"
+ "บ้องแบ๊ว"
+ "บ้อม"
+ "บ้า"
+ "บ้าง"
+ "บ้าน"
+ "บ้าระห่ำ"
+ "บ๊งเบ๊ง"
+ "บ๊วย"
+ "บ๊อง"
+ "บ๊ะ"
+ "บ๋อม"
+ "บ๋อย"
+ "บ๋ำ"
+ "ปก"
+ "ปกครอง"
+ "ปกติ"
+ "ปกรณ์"
+ "ปการ"
+ "ปกิณกะ"
+ "ปฏัก"
+ "ปฏิกรณ์"
+ "ปฏิกรรม"
+ "ปฏิกิริยา"
+ "ปฏิกูล"
+ "ปฏิคม"
+ "ปฏิชีวนะ"
+ "ปฏิญญา"
+ "ปฏิญาณ"
+ "ปฏิทิน"
+ "ปฏิบถ"
+ "ปฏิบัติ"
+ "ปฏิปทา"
+ "ปฏิปักษ์"
+ "ปฏิพัทธ์"
+ "ปฏิพากย์"
+ "ปฏิภาค"
+ "ปฏิภาณ"
+ "ปฏิมา"
+ "ปฏิมากร"
+ "ปฏิยุทธ์"
+ "ปฏิรูป"
+ "ปฏิวัติ"
+ "ปฏิวาต"
+ "ปฏิวาท"
+ "ปฏิสนธิ"
+ "ปฏิสังขรณ์"
+ "ปฏิสันถาร"
+ "ปฏิสัมพันธ์"
+ "ปฏิเวธ"
+ "ปฏิเสธ"
+ "ปฏิโลม"
+ "ปฐพี"
+ "ปฐม"
+ "ปฐมทัศน์"
+ "ปฐมนิเทศ"
+ "ปฐมพยาบาล"
+ "ปฐมฤกษ์"
+ "ปฐมวัย"
+ "ปฐมเทศนา"
+ "ปณต"
+ "ปณิธาน"
+ "ปด"
+ "ปถพี"
+ "ปทานุกรม"
+ "ปทุม"
+ "ปทุมธานี"
+ "ปน"
+ "ปนัดดา"
+ "ปนเป"
+ "ปบ"
+ "ปม"
+ "ปรก"
+ "ปรกติ"
+ "ปรง"
+ "ปรน"
+ "ปรนนิบัติ"
+ "ปรนัย"
+ "ปรบ"
+ "ปรปักษ์"
+ "ปรมัตถ์"
+ "ปรมาจารย์"
+ "ปรมาณู"
+ "ปรมาภิเษก"
+ "ปรมาภิไธย"
+ "ปรวด"
+ "ปรวนแปร"
+ "ปรวาที"
+ "ปรสิต"
+ "ปรองดอง"
+ "ปรอด"
+ "ปรอท"
+ "ปรอย"
+ "ประ"
+ "ประกบ"
+ "ประกวด"
+ "ประกอบ"
+ "ประกัน"
+ "ประกับ"
+ "ประกาย"
+ "ประการ"
+ "ประกาศ"
+ "ประกาศนียบัตร"
+ "ประกาศิต"
+ "ประกิด"
+ "ประคบ"
+ "ประคบประหงม"
+ "ประคอง"
+ "ประคำ"
+ "ประจบ"
+ "ประจวบ"
+ "ประจักษ์"
+ "ประจัญ"
+ "ประจัน"
+ "ประจาค"
+ "ประจาน"
+ "ประจำ"
+ "ประจิม"
+ "ประจุ"
+ "ประจ๋อประแจ๋"
+ "ประชด"
+ "ประชวร"
+ "ประชัน"
+ "ประชา"
+ "ประชาชน"
+ "ประชาธิปัตย์"
+ "ประชาธิปไตย"
+ "ประชาภิบาล"
+ "ประชิด"
+ "ประชุม"
+ "ประณต"
+ "ประณม"
+ "ประณาม"
+ "ประณิธาน"
+ "ประณิธิ"
+ "ประณีต"
+ "ประดน"
+ "ประดวน"
+ "ประดอน"
+ "ประดักประเดิด"
+ "ประดัง"
+ "ประดับ"
+ "ประดา"
+ "ประดาป"
+ "ประดาษ"
+ "ประดิดประดอย"
+ "ประดิทิน"
+ "ประดิษฐาน"
+ "ประดิษฐ์"
+ "ประดุง"
+ "ประดุจ"
+ "ประดู่"
+ "ประตู"
+ "ประถม"
+ "ประทวน"
+ "ประทักษ์"
+ "ประทัง"
+ "ประทัด"
+ "ประทับ"
+ "ประทาน"
+ "ประทิน"
+ "ประทิ่น"
+ "ประทีป"
+ "ประทุน"
+ "ประทุษ"
+ "ประทุษร้าย"
+ "ประท้วง"
+ "ประธาน"
+ "ประธานาธิบดี"
+ "ประนม"
+ "ประนอม"
+ "ประนีประนอม"
+ "ประปราย"
+ "ประปา"
+ "ประพฤติ"
+ "ประพฤธิ์"
+ "ประพัทธ์"
+ "ประพันธ์"
+ "ประพาต"
+ "ประพาส"
+ "ประพาฬ"
+ "ประพิณ"
+ "ประพุทธ์"
+ "ประภัสสร"
+ "ประภา"
+ "ประภาคาร"
+ "ประภาพ"
+ "ประภาส"
+ "ประมง"
+ "ประมวญ"
+ "ประมวล"
+ "ประมาณ"
+ "ประมาท"
+ "ประมุข"
+ "ประมุท"
+ "ประมูล"
+ "ประยุกต์"
+ "ประยุทธ์"
+ "ประยูร"
+ "ประลมพ์"
+ "ประลอง"
+ "ประลัย"
+ "ประลาต"
+ "ประวรรต"
+ "ประวรรตน์"
+ "ประวัติ"
+ "ประวัติการณ์"
+ "ประวัติศาสตร์"
+ "ประวาต"
+ "ประวาล"
+ "ประวาส"
+ "ประวิง"
+ "ประวิช"
+ "ประวิตร"
+ "ประวีณ"
+ "ประศม"
+ "ประศาสน์"
+ "ประสก"
+ "ประสงค์"
+ "ประสบ"
+ "ประสบการณ์"
+ "ประสพ"
+ "ประสา"
+ "ประสาท"
+ "ประสาน"
+ "ประสิทธิผล"
+ "ประสิทธิภาพ"
+ "ประสิทธิ์"
+ "ประสูติ"
+ "ประหม่า"
+ "ประหยัด"
+ "ประหลาด"
+ "ประหล่ำ"
+ "ประหาร"
+ "ประฮาม"
+ "ประเคน"
+ "ประเจก"
+ "ประเจิดประเจ้อ"
+ "ประเจียด"
+ "ประเด"
+ "ประเดิม"
+ "ประเดียง"
+ "ประเดี๋ยว"
+ "ประเดี๋ยวประด๋าว"
+ "ประเด็น"
+ "ประเทศ"
+ "ประเทศราช"
+ "ประเทศไทย"
+ "ประเทือง"
+ "ประเพณี"
+ "ประเภท"
+ "ประเมิน"
+ "ประเวณี"
+ "ประเวศ"
+ "ประเวศน์"
+ "ประเสริฐ"
+ "ประแกก"
+ "ประแจ"
+ "ประโคม"
+ "ประโยค"
+ "ประโยชน์"
+ "ประโลม"
+ "ปรัก"
+ "ปรัง"
+ "ปรัชญา"
+ "ปรัตยุตบัน"
+ "ปรัตยุบัน"
+ "ปรัน"
+ "ปรับ"
+ "ปรัมปรา"
+ "ปรัศนี"
+ "ปรัศว์"
+ "ปรากฏ"
+ "ปรากรม"
+ "ปราการ"
+ "ปราคภาร"
+ "ปราง"
+ "ปรางค์"
+ "ปราจีน"
+ "ปราชญา"
+ "ปราชญ์"
+ "ปราชัย"
+ "ปราชิต"
+ "ปราณ"
+ "ปราณี"
+ "ปราด"
+ "ปรานี"
+ "ปราบ"
+ "ปราบดาภิเษก"
+ "ปราปต์"
+ "ปราภพ"
+ "ปราม"
+ "ปรามาส"
+ "ปราย"
+ "ปรารถนา"
+ "ปรารภ"
+ "ปรารมภ์"
+ "ปราศ"
+ "ปราศรัย"
+ "ปราศาร"
+ "ปราษณี"
+ "ปราษาณ"
+ "ปราสาท"
+ "ปราโมช"
+ "ปราโมทย์"
+ "ปรำ"
+ "ปริ"
+ "ปริก"
+ "ปริคณห์"
+ "ปริจาค"
+ "ปริจาริกา"
+ "ปริซึม"
+ "ปริญญา"
+ "ปริณาม"
+ "ปริณายก"
+ "ปริต"
+ "ปริตตะ"
+ "ปริตร"
+ "ปริทรรศน์"
+ "ปริทัศน์"
+ "ปริน"
+ "ปรินส์"
+ "ปรินิพพาน"
+ "ปริบ"
+ "ปริมณฑล"
+ "ปริมัท"
+ "ปริมาณ"
+ "ปริมาตร"
+ "ปริยัติ"
+ "ปริยาย"
+ "ปริวรรต"
+ "ปริวาส"
+ "ปริศนา"
+ "ปริเฉท"
+ "ปริ่ม"
+ "ปรีชา"
+ "ปรีดา"
+ "ปรีดิ์"
+ "ปรียา"
+ "ปรี่"
+ "ปรี๊ด"
+ "ปรึกษา"
+ "ปรือ"
+ "ปรื๋อ"
+ "ปรุ"
+ "ปรุง"
+ "ปรูด"
+ "ปรู๊ดปร๊าด"
+ "ปรู๊ฟ"
+ "ปรเมนทร์"
+ "ปรโลก"
+ "ปร่า"
+ "ปร๋อ"
+ "ปฤจฉา"
+ "ปฤษฎางค์"
+ "ปลก"
+ "ปลง"
+ "ปลด"
+ "ปลวก"
+ "ปลอก"
+ "ปลอด"
+ "ปลอดภัย"
+ "ปลอบ"
+ "ปลอม"
+ "ปละ"
+ "ปลัก"
+ "ปลัด"
+ "ปลั่ง"
+ "ปลั๊ก"
+ "ปลั๊กอิน"
+ "ปลา"
+ "ปลาต"
+ "ปลาบ"
+ "ปลาย"
+ "ปลาวาฬ"
+ "ปลาสนาการ"
+ "ปลาสเตอร์"
+ "ปลิง"
+ "ปลิด"
+ "ปลิว"
+ "ปลิโพธ"
+ "ปลิ่ม"
+ "ปลิ้น"
+ "ปลี"
+ "ปลีก"
+ "ปลื้ม"
+ "ปลุก"
+ "ปลูก"
+ "ปล่ง"
+ "ปล่อง"
+ "ปล่อย"
+ "ปล้น"
+ "ปล้อง"
+ "ปล้อน"
+ "ปล้ำ"
+ "ปวกเปียก"
+ "ปวง"
+ "ปวด"
+ "ปวารณา"
+ "ปศุ"
+ "ปอ"
+ "ปอก"
+ "ปอง"
+ "ปอด"
+ "ปอน"
+ "ปอนด์"
+ "ปอบ"
+ "ปอย"
+ "ปอร์"
+ "ปอร์ตุเกส"
+ "ปะ"
+ "ปะกน"
+ "ปะการัง"
+ "ปะขาว"
+ "ปะทะ"
+ "ปะทุ"
+ "ปะหงับ"
+ "ปะเหลาะ"
+ "ปะแล่ม"
+ "ปะโลง"
+ "ปัก"
+ "ปักกิ่ง"
+ "ปักษา"
+ "ปักษาวสาน"
+ "ปักษิณ"
+ "ปักษิน"
+ "ปักษี"
+ "ปักษ์"
+ "ปักเป้า"
+ "ปัง"
+ "ปังสุกุล"
+ "ปัจจันตคาม"
+ "ปัจจันตชนบท"
+ "ปัจจันตประเทศ"
+ "ปัจจันต์"
+ "ปัจจัย"
+ "ปัจจามิตร"
+ "ปัจจุบัน"
+ "ปัจจุสมัย"
+ "ปัจฉา"
+ "ปัจฉิม"
+ "ปัจเจก"
+ "ปัญจวัคคีย์"
+ "ปัญญา"
+ "ปัญหา"
+ "ปัด"
+ "ปัตตานี"
+ "ปัตตาเวีย"
+ "ปัทม์"
+ "ปัน"
+ "ปับ"
+ "ปัปผาสะ"
+ "ปัสสาวะ"
+ "ปัสสาสะ"
+ "ปั่น"
+ "ปั้น"
+ "ปั๊บ"
+ "ปั๊ม"
+ "ปั๋ง"
+ "ปา"
+ "ปาก"
+ "ปากกา"
+ "ปากีสถาน"
+ "ปาง"
+ "ปาฏิหาริย์"
+ "ปาฐก"
+ "ปาฐกถา"
+ "ปาณาติบาต"
+ "ปาด"
+ "ปาติโมกข์"
+ "ปาทังกา"
+ "ปาท่องโก๋"
+ "ปาน"
+ "ปาปัว"
+ "ปาม"
+ "ปายาส"
+ "ปาราชิก"
+ "ปาริฉัตร"
+ "ปาริชาต"
+ "ปารีส"
+ "ปาร์เกต์"
+ "ปาลี"
+ "ปาล์ม"
+ "ปาว"
+ "ปาหนัน"
+ "ปาหี่"
+ "ปาโมกข์"
+ "ปำ"
+ "ปิกนิก"
+ "ปิงปอง"
+ "ปิฎก"
+ "ปิด"
+ "ปิตา"
+ "ปิติ"
+ "ปิตุ"
+ "ปิตุฆาต"
+ "ปิตุภูมิ"
+ "ปิตุลา"
+ "ปิยมิตร"
+ "ปิยะ"
+ "ปิศาจ"
+ "ปิโตรเลียม"
+ "ปิโยรส"
+ "ปิ่น"
+ "ปิ่นโต"
+ "ปิ่ม"
+ "ปิ้ง"
+ "ปิ้ม"
+ "ปิ๋ว"
+ "ปี"
+ "ปีก"
+ "ปีน"
+ "ปีบ"
+ "ปีมะโว้"
+ "ปีศาจ"
+ "ปี่"
+ "ปี้"
+ "ปี๊ด"
+ "ปี๊บ"
+ "ปี๋"
+ "ปึก"
+ "ปึง"
+ "ปึ่ง"
+ "ปึ้ด"
+ "ปึ๋ง"
+ "ปืน"
+ "ปื้น"
+ "ปื๋อ"
+ "ปุ"
+ "ปุก"
+ "ปุจฉา"
+ "ปุด"
+ "ปุถุชน"
+ "ปุบ"
+ "ปุย"
+ "ปุโรหิต"
+ "ปุ่ม"
+ "ปุ้งกี๋"
+ "ปุ้ม"
+ "ปุ๊"
+ "ปุ๊บ"
+ "ปุ๋ม"
+ "ปุ๋ย"
+ "ปู"
+ "ปูชนียบุคคล"
+ "ปูชนียวัตถุ"
+ "ปูด"
+ "ปูน"
+ "ปูม"
+ "ปู่"
+ "ปู้ยี้ปู้ยำ"
+ "ปเวณี"
+ "ป่น"
+ "ป่วง"
+ "ป่วน"
+ "ป่วย"
+ "ป่อง"
+ "ป่า"
+ "ป่าน"
+ "ป่าย"
+ "ป่าว"
+ "ป้วน"
+ "ป้วนเปี้ยน"
+ "ป้อ"
+ "ป้อง"
+ "ป้องกัน"
+ "ป้อน"
+ "ป้อม"
+ "ป้อย"
+ "ป้อแป้"
+ "ป้า"
+ "ป้าง"
+ "ป้าน"
+ "ป้าบ"
+ "ป้าย"
+ "ป้ำ"
+ "ป๊อกกี้"
+ "ป๊าบ"
+ "ป๋อ"
+ "ป๋อม"
+ "ป๋า"
+ "ผก"
+ "ผกา"
+ "ผกาย"
+ "ผง"
+ "ผงก"
+ "ผงะ"
+ "ผงาด"
+ "ผจง"
+ "ผจญ"
+ "ผด"
+ "ผดุง"
+ "ผนวก"
+ "ผนวช"
+ "ผนัง"
+ "ผนึก"
+ "ผม"
+ "ผมบ๊อบ"
+ "ผยอง"
+ "ผรุสวาท"
+ "ผล"
+ "ผละ"
+ "ผลัก"
+ "ผลัด"
+ "ผลัวะ"
+ "ผลาญ"
+ "ผลานิสงส์"
+ "ผลาผล"
+ "ผลาหาร"
+ "ผลิ"
+ "ผลิต"
+ "ผลิตภัณฑ์"
+ "ผลีผลาม"
+ "ผลึก"
+ "ผลึ่ง"
+ "ผลุ"
+ "ผลุง"
+ "ผลุด"
+ "ผลุน"
+ "ผลุบ"
+ "ผลุย"
+ "ผลู"
+ "ผล็อย"
+ "ผวน"
+ "ผวย"
+ "ผวา"
+ "ผสม"
+ "ผสาน"
+ "ผสาย"
+ "ผอก"
+ "ผอง"
+ "ผอด"
+ "ผอบ"
+ "ผอม"
+ "ผอวด"
+ "ผอูน"
+ "ผะ"
+ "ผัก"
+ "ผัง"
+ "ผัด"
+ "ผัน"
+ "ผันผวน"
+ "ผับ"
+ "ผัว"
+ "ผัวะ"
+ "ผา"
+ "ผาก"
+ "ผาง"
+ "ผาณิต"
+ "ผาด"
+ "ผาย"
+ "ผิ"
+ "ผิง"
+ "ผิด"
+ "ผิน"
+ "ผิว"
+ "ผี"
+ "ผึง"
+ "ผึ่ง"
+ "ผึ้ง"
+ "ผืน"
+ "ผื่น"
+ "ผุ"
+ "ผุด"
+ "ผุยผง"
+ "ผูก"
+ "ผู้"
+ "ผ็อย"
+ "ผ่อง"
+ "ผ่อน"
+ "ผ่อย"
+ "ผ่า"
+ "ผ่าน"
+ "ผ่ายผอม"
+ "ผ่าว"
+ "ผ้า"
+ "ฝน"
+ "ฝรั่ง"
+ "ฝรั่งเศส"
+ "ฝอย"
+ "ฝัก"
+ "ฝัง"
+ "ฝัด"
+ "ฝัน"
+ "ฝั่ง"
+ "ฝา"
+ "ฝาก"
+ "ฝาง"
+ "ฝาด"
+ "ฝาน"
+ "ฝาย"
+ "ฝิ่น"
+ "ฝี"
+ "ฝึก"
+ "ฝืด"
+ "ฝืน"
+ "ฝุ่น"
+ "ฝูง"
+ "ฝ่อ"
+ "ฝ่า"
+ "ฝ่าย"
+ "ฝ้า"
+ "ฝ้าย"
+ "พก"
+ "พง"
+ "พงศาวดาร"
+ "พงศ์"
+ "พจนา"
+ "พจนานุกรม"
+ "พจนารถ"
+ "พจนีย์"
+ "พจน์"
+ "พจมาน"
+ "พจี"
+ "พญา"
+ "พญาลอ"
+ "พณิช"
+ "พณิชย์"
+ "พด"
+ "พธู"
+ "พนม"
+ "พนัก"
+ "พนักงาน"
+ "พนัง"
+ "พนัน"
+ "พนัส"
+ "พนา"
+ "พนาดร"
+ "พนาราม"
+ "พนาลัย"
+ "พนิดา"
+ "พบ"
+ "พม่า"
+ "พยนต์"
+ "พยศ"
+ "พยัก"
+ "พยักพเยิด"
+ "พยัคฆา"
+ "พยัคฆิน"
+ "พยัคฆี"
+ "พยัคฆ์"
+ "พยัญชนะ"
+ "พยัต"
+ "พยับ"
+ "พยากรณ์"
+ "พยางค์"
+ "พยาธิ"
+ "พยาน"
+ "พยาบาท"
+ "พยาบาล"
+ "พยายาม"
+ "พยุ"
+ "พยุง"
+ "พยุหยาตรา"
+ "พยุหะ"
+ "พยุหเสนา"
+ "พร"
+ "พรต"
+ "พรม"
+ "พรร"
+ "พรรค"
+ "พรรค์"
+ "พรรณ"
+ "พรรณนา"
+ "พรรษ"
+ "พรรษา"
+ "พรวด"
+ "พรวน"
+ "พรหม"
+ "พรหมจรรย์"
+ "พรหมจาริณี"
+ "พรหมจารี"
+ "พรอด"
+ "พระ"
+ "พระราชวัง"
+ "พระองค์"
+ "พระเจ้าอยู่หัว"
+ "พรักพร้อม"
+ "พรัด"
+ "พรั่ง"
+ "พรั่น"
+ "พราก"
+ "พราง"
+ "พราด"
+ "พราน"
+ "พราย"
+ "พราว"
+ "พราหมณ์"
+ "พรำ"
+ "พริก"
+ "พรินเตอร์"
+ "พริบ"
+ "พริ้ง"
+ "พริ้ม"
+ "พรีเมียม"
+ "พรีเมียร์"
+ "พรึง"
+ "พรึน"
+ "พรึบ"
+ "พรืด"
+ "พรุ"
+ "พรุก"
+ "พรุน"
+ "พรุ่ง"
+ "พรู"
+ "พรูด"
+ "พร่อง"
+ "พร่อมพร้อ"
+ "พร่อย"
+ "พร่า"
+ "พร่าง"
+ "พร่ำ"
+ "พร้อง"
+ "พร้อม"
+ "พร้อมพรัก"
+ "พร้อย"
+ "พร้า"
+ "พร้ำ"
+ "พฤกษชาติ"
+ "พฤกษทล"
+ "พฤกษราช"
+ "พฤกษศาสตร์"
+ "พฤกษา"
+ "พฤกษเทวดา"
+ "พฤกษ์"
+ "พฤฒ"
+ "พฤฒา"
+ "พฤฒาจารย์"
+ "พฤฒิ"
+ "พฤต"
+ "พฤติ"
+ "พฤติกรรม"
+ "พฤติการณ์"
+ "พฤตินัย"
+ "พฤทธิ์"
+ "พฤทธ์"
+ "พฤนต์"
+ "พฤนท์"
+ "พฤศจิ"
+ "พฤศจิกายน"
+ "พฤษภ"
+ "พฤษภาคม"
+ "พฤหัส"
+ "พฤหัสบดี"
+ "พล"
+ "พลการ"
+ "พลความ"
+ "พลบ"
+ "พลวง"
+ "พลวัต"
+ "พลศึกษา"
+ "พลอง"
+ "พลอด"
+ "พลอมแพลม"
+ "พลอย"
+ "พละ"
+ "พลัง"
+ "พลังงาน"
+ "พลัด"
+ "พลัน"
+ "พลับ"
+ "พลับพลา"
+ "พลับพลึง"
+ "พลั่ก"
+ "พลั่ง"
+ "พลั่ว"
+ "พลั้ง"
+ "พลากร"
+ "พลาง"
+ "พลาด"
+ "พลาธิการ"
+ "พลานามัย"
+ "พลาม"
+ "พลาย"
+ "พลาสติก"
+ "พลาสมา"
+ "พลาหก"
+ "พลิก"
+ "พลิ้ว"
+ "พลี"
+ "พลุ"
+ "พลุก"
+ "พลุ่ก"
+ "พลุ่ง"
+ "พลุ้ย"
+ "พลู"
+ "พลเมือง"
+ "พลเรือน"
+ "พลโลก"
+ "พล่อย"
+ "พล่า"
+ "พล่าน"
+ "พล่าม"
+ "พล้ำ"
+ "พวก"
+ "พวง"
+ "พวน"
+ "พวย"
+ "พสก"
+ "พสุธา"
+ "พหล"
+ "พหลโยธิน"
+ "พหุ"
+ "พหู"
+ "พหูพจน์"
+ "พหูสูต"
+ "พอ"
+ "พอก"
+ "พอง"
+ "พอทัล"
+ "พอร์ต"
+ "พะ"
+ "พะพิง"
+ "พะยูน"
+ "พะรุงพะรัง"
+ "พะวง"
+ "พะวักพะวน"
+ "พะว้าพะวัง"
+ "พะอง"
+ "พะอืดพะอม"
+ "พะเนียง"
+ "พะเน้าพะนอ"
+ "พะเยิบ"
+ "พะเยิบพะยาบ"
+ "พะแนง"
+ "พะโล้"
+ "พัก"
+ "พักตร์"
+ "พัง"
+ "พังงา"
+ "พังผืด"
+ "พังพวย"
+ "พังพอน"
+ "พังพาบ"
+ "พังเพย"
+ "พัชร"
+ "พัฒนะ"
+ "พัฒนา"
+ "พัด"
+ "พัตร"
+ "พัทธสีมา"
+ "พัทยา"
+ "พัทลุง"
+ "พัน"
+ "พันทาง"
+ "พันธกรณี"
+ "พันธทิพย์"
+ "พันธนาการ"
+ "พันธบัตร"
+ "พันธมิตร"
+ "พันธะ"
+ "พันธุ"
+ "พันธุ์"
+ "พันธ์"
+ "พับ"
+ "พัลลภ"
+ "พัลวัน"
+ "พัว"
+ "พัวะ"
+ "พัศดี"
+ "พัสดุ"
+ "พัสตร์"
+ "พัสถาน"
+ "พา"
+ "พาก"
+ "พากย์"
+ "พาง"
+ "พาณ"
+ "พาณิช"
+ "พาณิชย์"
+ "พาณี"
+ "พาณีนี"
+ "พาด"
+ "พาต"
+ "พาท"
+ "พาทย์"
+ "พาธ"
+ "พาธา"
+ "พาน"
+ "พานร"
+ "พาม"
+ "พาย"
+ "พายัพ"
+ "พายุ"
+ "พารณ"
+ "พารา"
+ "พาราฟิน"
+ "พาร์"
+ "พาล"
+ "พาลี"
+ "พาส"
+ "พาสนา"
+ "พาสน์"
+ "พาสุกรี"
+ "พาสเวิร์ด"
+ "พาหนะ"
+ "พาหะ"
+ "พาหา"
+ "พาหุ"
+ "พาหุรัด"
+ "พาฬหะ"
+ "พาเนล"
+ "พาเหรด"
+ "พาเหียร"
+ "พาโล"
+ "พำ"
+ "พำนัก"
+ "พิกล"
+ "พิกัด"
+ "พิกัติ"
+ "พิการ"
+ "พิกุล"
+ "พิฆาต"
+ "พิฆเนศ"
+ "พิง"
+ "พิจารณา"
+ "พิจารณ์"
+ "พิจิตร"
+ "พิชัย"
+ "พิชาน"
+ "พิชิต"
+ "พิซซ่า"
+ "พิณ"
+ "พิถีพิถัน"
+ "พิทยา"
+ "พิทักษ์"
+ "พิธาน"
+ "พิธี"
+ "พินทุ"
+ "พินอบพิเทา"
+ "พินัย"
+ "พินาศ"
+ "พินิจ"
+ "พินิต"
+ "พินิศ"
+ "พิบัติ"
+ "พิบูล"
+ "พิพม์"
+ "พิพักพิพ่วน"
+ "พิพัฒน์"
+ "พิพากษา"
+ "พิพากษ์"
+ "พิพาท"
+ "พิพิธ"
+ "พิพิธภัณฑสถาน"
+ "พิพิธภัณฑ์"
+ "พิภพ"
+ "พิมพ์"
+ "พิมล"
+ "พิมาน"
+ "พิมุข"
+ "พิมเสน"
+ "พิรอด"
+ "พิราบ"
+ "พิราลัย"
+ "พิรี้พิไร"
+ "พิรุณ"
+ "พิรุธ"
+ "พิลาป"
+ "พิลาส"
+ "พิลึก"
+ "พิลึกกึกกือ"
+ "พิลึกพิลั่น"
+ "พิศ"
+ "พิศวง"
+ "พิศวาส"
+ "พิศาล"
+ "พิศุทธิ์"
+ "พิศุทธ์"
+ "พิษ"
+ "พิษณุโลก"
+ "พิษสง"
+ "พิสดาร"
+ "พิสมัย"
+ "พิสัย"
+ "พิสิฐ"
+ "พิสุทธิ์"
+ "พิสูจน์"
+ "พิหาร"
+ "พิฬาร"
+ "พิเคราะห์"
+ "พิเศษ"
+ "พิโยกพิเกน"
+ "พิโยค"
+ "พิโรธ"
+ "พิไร"
+ "พิไล"
+ "พี"
+ "พีชคณิต"
+ "พีซี"
+ "พีระมิด"
+ "พี่"
+ "พี้"
+ "พึง"
+ "พึม"
+ "พึมพำ"
+ "พึ่ง"
+ "พึ่บ"
+ "พืช"
+ "พืด"
+ "พื้น"
+ "พื้นที่"
+ "พุ"
+ "พุก"
+ "พุง"
+ "พุฒ"
+ "พุฒิ"
+ "พุด"
+ "พุทธ"
+ "พุทธะ"
+ "พุทธาวาส"
+ "พุทธิ"
+ "พุทรา"
+ "พุทโธ่"
+ "พุธ"
+ "พุ่ง"
+ "พุ่ม"
+ "พุ้ย"
+ "พู"
+ "พูด"
+ "พูน"
+ "พู่"
+ "พู้น"
+ "พเนจร"
+ "พ่น"
+ "พ่วง"
+ "พ่อ"
+ "พ่าง"
+ "พ่าน"
+ "พ่าย"
+ "พ่าห์"
+ "พ้น"
+ "พ้อ"
+ "พ้อง"
+ "พ้อม"
+ "ฟก"
+ "ฟรอยด์"
+ "ฟรี"
+ "ฟลอเรนซ์"
+ "ฟลูออรีน"
+ "ฟอก"
+ "ฟอง"
+ "ฟอด"
+ "ฟอน"
+ "ฟอนต์"
+ "ฟอร์ม"
+ "ฟอร์มาลดีไฮด์"
+ "ฟอร์มาลิน"
+ "ฟอร์แมต"
+ "ฟอสซิล"
+ "ฟอสฟอรัส"
+ "ฟอสเฟต"
+ "ฟัก"
+ "ฟัง"
+ "ฟังก์ชัน"
+ "ฟังก์ชั่น"
+ "ฟัด"
+ "ฟัน"
+ "ฟั่น"
+ "ฟั้น"
+ "ฟาก"
+ "ฟาง"
+ "ฟาด"
+ "ฟาทอม"
+ "ฟาน"
+ "ฟาย"
+ "ฟาร์ม"
+ "ฟาสซิสต์"
+ "ฟิก"
+ "ฟิด"
+ "ฟินแลนด์"
+ "ฟิบ"
+ "ฟิลด์"
+ "ฟิลิปปินส์"
+ "ฟิล์ม"
+ "ฟิวส์"
+ "ฟิสิกส์"
+ "ฟีฟ่า"
+ "ฟี่"
+ "ฟี้"
+ "ฟืน"
+ "ฟืม"
+ "ฟื้น"
+ "ฟุ"
+ "ฟุต"
+ "ฟุตบอล"
+ "ฟุน"
+ "ฟุบ"
+ "ฟุฟะ"
+ "ฟุลสแก๊ป"
+ "ฟุ่บ"
+ "ฟุ่มเฟือย"
+ "ฟุ้ง"
+ "ฟู"
+ "ฟูก"
+ "ฟูจิ"
+ "ฟูด"
+ "ฟูม"
+ "ฟูมฟาย"
+ "ฟู่"
+ "ฟ่อ"
+ "ฟ่อง"
+ "ฟ่อน"
+ "ฟ่าง"
+ "ฟ่าม"
+ "ฟ้อ"
+ "ฟ้อง"
+ "ฟ้อน"
+ "ฟ้า"
+ "ภคนี"
+ "ภพ"
+ "ภมร"
+ "ภยันตราย"
+ "ภรต"
+ "ภรร"
+ "ภรรยา"
+ "ภราดร"
+ "ภริยา"
+ "ภวตัณหา"
+ "ภวังค์"
+ "ภักดี"
+ "ภักษา"
+ "ภักษาหาร"
+ "ภัณฑ์"
+ "ภัตตาคาร"
+ "ภัตตาหาร"
+ "ภัทร"
+ "ภัพ"
+ "ภัย"
+ "ภัสดา"
+ "ภัสตรา"
+ "ภาค"
+ "ภาคี"
+ "ภาชนะ"
+ "ภาณุ"
+ "ภาพ"
+ "ภาพยนตร์"
+ "ภาย"
+ "ภาร"
+ "ภารกิจ"
+ "ภารดี"
+ "ภารต"
+ "ภาระ"
+ "ภารา"
+ "ภารโรง"
+ "ภาวนา"
+ "ภาวะ"
+ "ภาษ"
+ "ภาษก"
+ "ภาษณ์"
+ "ภาษา"
+ "ภาษิต"
+ "ภาษี"
+ "ภาสกร"
+ "ภาสน์"
+ "ภาสวร"
+ "ภิกขา"
+ "ภิกขาจาร"
+ "ภิกขุ"
+ "ภิกขุนี"
+ "ภิกษา"
+ "ภิกษุ"
+ "ภิกษุณี"
+ "ภิงคาร"
+ "ภิญโญ"
+ "ภินทนาการ"
+ "ภินท์"
+ "ภิรมย์"
+ "ภุช"
+ "ภุชงค์"
+ "ภุมรา"
+ "ภุมริน"
+ "ภุมรี"
+ "ภู"
+ "ภูต"
+ "ภูติ"
+ "ภูมิ"
+ "ภูมิประเทศ"
+ "ภูมิภาค"
+ "ภูมิลำเนา"
+ "ภูมิศาสตร์"
+ "ภูมี"
+ "ภูริ"
+ "ภูรี"
+ "ภูวดล"
+ "ภูวนาถ"
+ "ภูวเนตร"
+ "ภูวไนย"
+ "ภูษา"
+ "ภูษิต"
+ "ภูเก็ต"
+ "ภู่"
+ "มก"
+ "มกร"
+ "มกราคม"
+ "มกุฎ"
+ "มกุล"
+ "มงกุฎ"
+ "มงคล"
+ "มณฑก"
+ "มณฑป"
+ "มณฑล"
+ "มณี"
+ "มณเฑียร"
+ "มด"
+ "มติ"
+ "มธุ"
+ "มน"
+ "มนตรี"
+ "มนตร์"
+ "มนต์"
+ "มนสิการ"
+ "มนัส"
+ "มนัสวี"
+ "มนิลา"
+ "มนุษยชาติ"
+ "มนุษยธรรม"
+ "มนุษยศาสตร์"
+ "มนุษยสัมพันธ์"
+ "มนุษยเทพ"
+ "มนุษยโลก"
+ "มนุษย์"
+ "มนเทียร"
+ "มยุรา"
+ "มยุรี"
+ "มยุเรศ"
+ "มยูร"
+ "มร"
+ "มรกต"
+ "มรณะ"
+ "มรณ์"
+ "มรดก"
+ "มรรค"
+ "มรรคนายก"
+ "มรรคา"
+ "มรรยา"
+ "มรรยาท"
+ "มรสุม"
+ "มฤค"
+ "มฤตยู"
+ "มล"
+ "มลทิน"
+ "มลาย"
+ "มลายู"
+ "มล้าง"
+ "มวน"
+ "มวย"
+ "มวล"
+ "มหกรรม"
+ "มหรณพ"
+ "มหรรณพ"
+ "มหรสพ"
+ "มหันตโทษ"
+ "มหันต์"
+ "มหัศจรรย์"
+ "มหา"
+ "มหาชน"
+ "มหาดเล็ก"
+ "มหาดไทย"
+ "มหาตมะ"
+ "มหายาน"
+ "มหาราช"
+ "มหาวิทยาลัย"
+ "มหาศาล"
+ "มหาสมุทร"
+ "มหาหิงคุ์"
+ "มหิงส์"
+ "มหิดล"
+ "มหิมา"
+ "มหึมา"
+ "มอ"
+ "มอง"
+ "มองโกลอยด์"
+ "มอญ"
+ "มอด"
+ "มอนิเตอร์"
+ "มอบ"
+ "มอม"
+ "มอมแมม"
+ "มอรอคโค"
+ "มอร์ฟีน"
+ "มอลโทส"
+ "มอสโคว์"
+ "มอเตอร์"
+ "มะ"
+ "มะกรูด"
+ "มะกอก"
+ "มะกะโรนี"
+ "มะขวิด"
+ "มะขาม"
+ "มะข่วง"
+ "มะค่า"
+ "มะงั่ว"
+ "มะงุมมะงาหรา"
+ "มะซาง"
+ "มะดัน"
+ "มะตะบะ"
+ "มะตึ่ง"
+ "มะตูม"
+ "มะต้อง"
+ "มะนาว"
+ "มะปราง"
+ "มะพร้าว"
+ "มะพลับ"
+ "มะพูด"
+ "มะม่วง"
+ "มะยม"
+ "มะระ"
+ "มะรืน"
+ "มะละกอ"
+ "มะลิ"
+ "มะหะหมัด"
+ "มะฮอกกานี"
+ "มะเกลือ"
+ "มะเขือ"
+ "มะเดื่อ"
+ "มะเฟือง"
+ "มะเร็ง"
+ "มะเส็ง"
+ "มะแม"
+ "มะโรง"
+ "มะไฟ"
+ "มัก"
+ "มักกะสัน"
+ "มัคคุเทศก์"
+ "มัคนายก"
+ "มัฆวาน"
+ "มังกร"
+ "มังคุด"
+ "มังค่า"
+ "มัจจุ"
+ "มัจฉา"
+ "มัชฌิมยาม"
+ "มัชฌิมวัย"
+ "มัชฌิมา"
+ "มัณฑนศิลป์"
+ "มัณฑนา"
+ "มัด"
+ "มัตสยา"
+ "มัทนะ"
+ "มัทนียะ"
+ "มัทยะ"
+ "มัธยฐาน"
+ "มัธยม"
+ "มัธยัสถ์"
+ "มัน"
+ "มับ"
+ "มัมมี่"
+ "มัย"
+ "มัลติ"
+ "มัลลิกา"
+ "มัว"
+ "มัศยา"
+ "มัสตาร์ด"
+ "มัสมั่น"
+ "มัสยิด"
+ "มัสลิน"
+ "มั่ง"
+ "มั่น"
+ "มั่ว"
+ "มา"
+ "มาก"
+ "มากกว่า"
+ "มาฆบูชา"
+ "มาฆะ"
+ "มาณพ"
+ "มาณวิกา"
+ "มาด"
+ "มาตร"
+ "มาตรการ"
+ "มาตรฐาน"
+ "มาตรา"
+ "มาตุ"
+ "มาตุลา"
+ "มาน"
+ "มานพ"
+ "มานะ"
+ "มานิต"
+ "มานี"
+ "มานุษ"
+ "มานุษยวิทยา"
+ "มาบตาพุด"
+ "มาย"
+ "มายา"
+ "มายาวี"
+ "มาร"
+ "มารค"
+ "มารดร"
+ "มารดา"
+ "มารยา"
+ "มารยาท"
+ "มารศรี"
+ "มารุต"
+ "มาลัย"
+ "มาลาเรีย"
+ "มาลี"
+ "มาศ"
+ "มาส"
+ "มาสเตอร์"
+ "มาเลเซีย"
+ "มาโคร"
+ "มาโนชญ์"
+ "มำเลือง"
+ "มิ"
+ "มิคสัญญี"
+ "มิจฉา"
+ "มิด"
+ "มิตร"
+ "มิติ"
+ "มิถุนายน"
+ "มิยันม่า"
+ "มิลลิกรัม"
+ "มิลลิบาร์"
+ "มิลลิลิตร"
+ "มิลลิเมตร"
+ "มิลาต"
+ "มิวสิค"
+ "มิส"
+ "มิสซา"
+ "มิสเตอร์"
+ "มิเตอร์"
+ "มิ่ง"
+ "มิ้ม"
+ "มี"
+ "มีด"
+ "มีน"
+ "มีนาคม"
+ "มีเทน"
+ "มี่"
+ "มี่สั้ว"
+ "มึง"
+ "มึน"
+ "มืด"
+ "มืน"
+ "มือ"
+ "มื่น"
+ "มื้อ"
+ "มุ"
+ "มุก"
+ "มุกดา"
+ "มุกดาหาร"
+ "มุข"
+ "มุง"
+ "มุจลินท์"
+ "มุด"
+ "มุตกิด"
+ "มุทิตา"
+ "มุทุ"
+ "มุนินทร์"
+ "มุนี"
+ "มุบ"
+ "มุบมิบ"
+ "มุม"
+ "มุสลิม"
+ "มุสา"
+ "มุ่ง"
+ "มุ่น"
+ "มุ่ย"
+ "มุ้ง"
+ "มูก"
+ "มูตร"
+ "มูน"
+ "มูมมาม"
+ "มูล"
+ "มูลค่า"
+ "มูลฐาน"
+ "มูลนิธิ"
+ "มูเซอ"
+ "มู่ทู่"
+ "มู่ลี่"
+ "มเหศวร"
+ "มเหสี"
+ "มเหาฬาร"
+ "มโน"
+ "มโนราห์"
+ "มโนสาเร่"
+ "มโหรสพ"
+ "มโหระทึก"
+ "มโหรี"
+ "มโหฬาร"
+ "ม่วง"
+ "ม่วน"
+ "ม่อต้อ"
+ "ม่อย"
+ "ม่อฮ่อม"
+ "ม่าน"
+ "ม่าย"
+ "ม้วน"
+ "ม้วย"
+ "ม้า"
+ "ม้าน"
+ "ม้าม"
+ "ยก"
+ "ยกย่อง"
+ "ยง"
+ "ยงโย่"
+ "ยติ"
+ "ยถากรรม"
+ "ยนตร์"
+ "ยนต์"
+ "ยม"
+ "ยมก"
+ "ยรรยง"
+ "ยล"
+ "ยวง"
+ "ยวด"
+ "ยวน"
+ "ยวบ"
+ "ยศ"
+ "ยอ"
+ "ยอก"
+ "ยอง"
+ "ยอด"
+ "ยอน"
+ "ยอบ"
+ "ยอม"
+ "ยะ"
+ "ยัก"
+ "ยักขินี"
+ "ยักข์"
+ "ยักยอก"
+ "ยักษิณี"
+ "ยักษี"
+ "ยักษ์"
+ "ยัง"
+ "ยัด"
+ "ยัดเยียด"
+ "ยัน"
+ "ยันตรกรรม"
+ "ยันตร์"
+ "ยันต์"
+ "ยับ"
+ "ยั่งยืน"
+ "ยั่น"
+ "ยั่ว"
+ "ยั้ง"
+ "ยั้ว"
+ "ยั้วเยี้ย"
+ "ยา"
+ "ยาก"
+ "ยาง"
+ "ยาจก"
+ "ยาด"
+ "ยาดา"
+ "ยาตร"
+ "ยาตรา"
+ "ยาน"
+ "ยานี"
+ "ยาบ"
+ "ยาบ้า"
+ "ยาม"
+ "ยาย"
+ "ยาว"
+ "ยำ"
+ "ยิก"
+ "ยิง"
+ "ยิน"
+ "ยิบ"
+ "ยิปซัม"
+ "ยิปซี"
+ "ยิมนาสติก"
+ "ยิว"
+ "ยิหวา"
+ "ยิ่ง"
+ "ยิ้ม"
+ "ยี"
+ "ยีน"
+ "ยีราฟ"
+ "ยี่"
+ "ยี่สก"
+ "ยี่สง"
+ "ยี่สุ่น"
+ "ยี่ส่าน"
+ "ยี่หระ"
+ "ยี่หร่า"
+ "ยี่ห้อ"
+ "ยึกยือ"
+ "ยึด"
+ "ยืด"
+ "ยืน"
+ "ยืม"
+ "ยื่น"
+ "ยื้อ"
+ "ยุ"
+ "ยุกต์"
+ "ยุค"
+ "ยุคล"
+ "ยุง"
+ "ยุด"
+ "ยุติ"
+ "ยุติธรรม"
+ "ยุทธ"
+ "ยุทธการ"
+ "ยุทธนา"
+ "ยุทธ์"
+ "ยุทโธปกรณ์"
+ "ยุบ"
+ "ยุพดี"
+ "ยุพยง"
+ "ยุพราช"
+ "ยุพเยาว์"
+ "ยุพเรศ"
+ "ยุรยาตร"
+ "ยุวชน"
+ "ยุโรป"
+ "ยุ่ง"
+ "ยุ่มย่าม"
+ "ยุ่ย"
+ "ยุ้ง"
+ "ยุ้ย"
+ "ยูง"
+ "ยูนิกซ์"
+ "ยูรยาตร"
+ "ยูริก"
+ "ยูสเซอร์"
+ "ยูเรนัส"
+ "ยูเรเนียม"
+ "ยูโกสลาเวีย"
+ "ยูโด"
+ "ยูโร"
+ "ยู่"
+ "ยโส"
+ "ย่น"
+ "ย่อ"
+ "ย่อง"
+ "ย่อม"
+ "ย่อย"
+ "ย่ะ"
+ "ย่า"
+ "ย่าง"
+ "ย่าน"
+ "ย่าม"
+ "ย่ำ"
+ "ย้วย"
+ "ย้อน"
+ "ย้อม"
+ "ย้อย"
+ "ย้าย"
+ "ย้ำ"
+ "รก"
+ "รง"
+ "รงควัตถุ"
+ "รงค์"
+ "รจนา"
+ "รจิต"
+ "รจเรจ"
+ "รจเลข"
+ "รณ"
+ "รณัฐ"
+ "รด"
+ "รดี"
+ "รตะ"
+ "รติ"
+ "รถ"
+ "รถเมล์"
+ "รน"
+ "รบ"
+ "รพ"
+ "รพี"
+ "รม"
+ "รมณี"
+ "รมณีย์"
+ "รมย์"
+ "รยางค์"
+ "รวก"
+ "รวง"
+ "รวด"
+ "รวน"
+ "รวนเร"
+ "รวบ"
+ "รวม"
+ "รวย"
+ "รวิ"
+ "รวี"
+ "รศนา"
+ "รส"
+ "รสนา"
+ "รสายนเวท"
+ "รสิก"
+ "รหัส"
+ "รหิต"
+ "รอ"
+ "รอก"
+ "รอง"
+ "รองเง็ง"
+ "รอด"
+ "รอน"
+ "รอบ"
+ "รอบคอบ"
+ "รอม"
+ "รอย"
+ "ระ"
+ "ระกำ"
+ "ระคน"
+ "ระคาย"
+ "ระฆัง"
+ "ระงม"
+ "ระงับ"
+ "ระดม"
+ "ระดับ"
+ "ระดู"
+ "ระทด"
+ "ระทม"
+ "ระทวย"
+ "ระทึก"
+ "ระนาด"
+ "ระนาบ"
+ "ระนาว"
+ "ระบบ"
+ "ระบม"
+ "ระบอบ"
+ "ระบับ"
+ "ระบาญ"
+ "ระบาด"
+ "ระบาย"
+ "ระบำ"
+ "ระบิล"
+ "ระบือ"
+ "ระบุ"
+ "ระยะ"
+ "ระยับ"
+ "ระยำ"
+ "ระยิบ"
+ "ระย้า"
+ "ระริก"
+ "ระลอก"
+ "ระลึก"
+ "ระวัง"
+ "ระวาง"
+ "ระหว่าง"
+ "ระหุย"
+ "ระอา"
+ "ระอุ"
+ "ระเนน"
+ "ระเนระนาด"
+ "ระเนียด"
+ "ระเบิด"
+ "ระเบียง"
+ "ระเบียน"
+ "ระเบียบ"
+ "ระเบ็ง"
+ "ระเมียร"
+ "ระเหย"
+ "ระเหิด"
+ "ระเห็จ"
+ "ระแคะ"
+ "ระแง้"
+ "ระแนง"
+ "ระแวง"
+ "รัก"
+ "รักข์"
+ "รักบี้"
+ "รักษา"
+ "รักษ์"
+ "รักแร้"
+ "รัง"
+ "รังสิต"
+ "รังสี"
+ "รังแก"
+ "รังแค"
+ "รัจฉา"
+ "รัช"
+ "รัชฎาภิเษก"
+ "รัชดาภิเษก"
+ "รัชนี"
+ "รัญจวน"
+ "รัฐ"
+ "รัฐบาล"
+ "รัฐบุรุษ"
+ "รัฐประศาสนศาสตร์"
+ "รัฐประหาร"
+ "รัฐมนตรี"
+ "รัฐวิสาหกิจ"
+ "รัฐศาสตร์"
+ "รัฐสภา"
+ "รัด"
+ "รัต"
+ "รัตติ"
+ "รัตน"
+ "รัตนตรัย"
+ "รัตนบัลลังก์"
+ "รัตนะ"
+ "รัตนา"
+ "รัตนโกสินทร์"
+ "รัตน์"
+ "รัถยา"
+ "รัน"
+ "รันทด"
+ "รับ"
+ "รับรอง"
+ "รัมภา"
+ "รัมมี่"
+ "รัว"
+ "รัศมิมัต"
+ "รัศมิมาน"
+ "รัศมี"
+ "รัษฎากร"
+ "รัสเซีย"
+ "รั่ว"
+ "รั้ง"
+ "รั้น"
+ "รั้ว"
+ "รา"
+ "ราก"
+ "รากษส"
+ "ราคะ"
+ "ราคา"
+ "ราคิน"
+ "ราคี"
+ "ราง"
+ "รางชาง"
+ "รางวัล"
+ "ราช"
+ "ราชการ"
+ "ราชนิกุล"
+ "ราชบัณฑิตยสถาน"
+ "ราชย์"
+ "ราชวงศ์"
+ "ราชวโรงการ"
+ "ราชสีมา"
+ "ราชสีห์"
+ "ราชันย์"
+ "ราชา"
+ "ราชาธิราช"
+ "ราชาภิเษก"
+ "ราชาวดี"
+ "ราชินิกุล"
+ "ราชินี"
+ "ราชินูปถัมภ์"
+ "ราชูปถัมภ์"
+ "ราชูปโภค"
+ "ราญ"
+ "ราด"
+ "ราต"
+ "ราตร"
+ "ราตรี"
+ "ราน"
+ "ราบ"
+ "ราพณาสูร"
+ "ราม"
+ "รามคำแหง"
+ "รามสูร"
+ "รามัญ"
+ "รามา"
+ "รามาธิบดี"
+ "รามเกียรติ์"
+ "ราย"
+ "รายการ"
+ "รายงาน"
+ "ราว"
+ "ราวี"
+ "ราศี"
+ "ราษฎร"
+ "ราษฎร์"
+ "ราหู"
+ "ราเชนทร์"
+ "ราโชบาย"
+ "ราโชวาท"
+ "รำ"
+ "รำคาญ"
+ "รำจวน"
+ "รำพัน"
+ "รำพึง"
+ "รำมะนา"
+ "รำลึก"
+ "รำเพย"
+ "ริ"
+ "ริก"
+ "ริดสีดวง"
+ "ริน"
+ "ริบ"
+ "ริบบิ้น"
+ "ริม"
+ "ริษยา"
+ "ริ้น"
+ "ริ้ว"
+ "รี"
+ "รีจิสทรี"
+ "รีด"
+ "รีต"
+ "รีบ"
+ "รีม"
+ "รีวิว"
+ "รีเสิร์ช"
+ "รีเสิร์ซ"
+ "รีโมต"
+ "รี่"
+ "รี้"
+ "รึง"
+ "รึ้ง"
+ "รื่น"
+ "รื้อ"
+ "รุ"
+ "รุก"
+ "รุกขกะ"
+ "รุกขชาติ"
+ "รุกขมูล"
+ "รุกขเทวดา"
+ "รุกข์"
+ "รุงรัง"
+ "รุจิ"
+ "รุจี"
+ "รุด"
+ "รุต"
+ "รุทธ์"
+ "รุทร"
+ "รุน"
+ "รุนแรง"
+ "รุบรู่"
+ "รุม"
+ "รุษฏ์"
+ "รุสโซ"
+ "รุ่ง"
+ "รุ่น"
+ "รุ่ม"
+ "รุ่มร่าม"
+ "รุ่ย"
+ "รุ้ง"
+ "รู"
+ "รูด"
+ "รูป"
+ "รูมาเนีย"
+ "รูสเซีย"
+ "รูเมเนีย"
+ "รูเล็ตต์"
+ "รู่"
+ "รู้"
+ "รู้จัก"
+ "รโห"
+ "ร่น"
+ "ร่ม"
+ "ร่วง"
+ "ร่วน"
+ "ร่วม"
+ "ร่อ"
+ "ร่อง"
+ "ร่อน"
+ "ร่อย"
+ "ร่า"
+ "ร่าง"
+ "ร่าน"
+ "ร่าย"
+ "ร่ำ"
+ "ร่ำรวย"
+ "ร้น"
+ "ร้อง"
+ "ร้อน"
+ "ร้อย"
+ "ร้า"
+ "ร้าง"
+ "ร้าน"
+ "ร้าย"
+ "ร้าว"
+ "ฤกษ์"
+ "ฤชา"
+ "ฤชุ"
+ "ฤณ"
+ "ฤดี"
+ "ฤดู"
+ "ฤต"
+ "ฤทธา"
+ "ฤทธิ์"
+ "ฤทัย"
+ "ฤษภ"
+ "ฤษี"
+ "ฤๅ"
+ "ลง"
+ "ลด"
+ "ลดา"
+ "ลดาวัลย์"
+ "ลน"
+ "ลบ"
+ "ลพบุรี"
+ "ลม"
+ "ลลนา"
+ "ลลาฏ"
+ "ลลิต"
+ "ลวก"
+ "ลวง"
+ "ลวด"
+ "ลวนลาม"
+ "ลวนะ"
+ "ลวะ"
+ "ลหุ"
+ "ลอก"
+ "ลอการิทึม"
+ "ลอง"
+ "ลองกอง"
+ "ลองจิจูด"
+ "ลอด"
+ "ลอตเตอรี่"
+ "ลอน"
+ "ลอนดอน"
+ "ลอบ"
+ "ลอม"
+ "ลอย"
+ "ลออ"
+ "ละ"
+ "ละคร"
+ "ละติจูด"
+ "ละติน"
+ "ละบัด"
+ "ละมั่ง"
+ "ละมุน"
+ "ละม่อม"
+ "ละม้าย"
+ "ละลวย"
+ "ละหมาด"
+ "ละหาน"
+ "ละหุ่ง"
+ "ละออง"
+ "ละอาย"
+ "ละเมอ"
+ "ละเมาะ"
+ "ละเมิด"
+ "ละเมียด"
+ "ละเลง"
+ "ละเลิง"
+ "ละเลียด"
+ "ละเวง"
+ "ละเหี่ย"
+ "ละเอียด"
+ "ละแวก"
+ "ละโมบ"
+ "ละโว้"
+ "ละไม"
+ "ลัก"
+ "ลักขณะ"
+ "ลักษณะ"
+ "ลักษมี"
+ "ลัคคะ"
+ "ลัคนา"
+ "ลัคน์"
+ "ลัง"
+ "ลังเล"
+ "ลัชชา"
+ "ลัชชี"
+ "ลัญจกร"
+ "ลัญจน์"
+ "ลัญฉ"
+ "ลัญฉกร"
+ "ลัญฉน์"
+ "ลัด"
+ "ลัดา"
+ "ลัทธิ"
+ "ลัทธ์"
+ "ลัน"
+ "ลับ"
+ "ลัพธ์"
+ "ลัย"
+ "ลั่น"
+ "ลั่นทม"
+ "ลา"
+ "ลาก"
+ "ลาง"
+ "ลาญ"
+ "ลาด"
+ "ลาน"
+ "ลาบ"
+ "ลาป"
+ "ลาภ"
+ "ลาม"
+ "ลามก"
+ "ลาย"
+ "ลายสือ"
+ "ลาลนะ"
+ "ลาลส"
+ "ลาว"
+ "ลาวก"
+ "ลาวัณย์"
+ "ลาวา"
+ "ลาสนะ"
+ "ลำ"
+ "ลำดวน"
+ "ลำดับ"
+ "ลำบาก"
+ "ลำพวน"
+ "ลำพอง"
+ "ลำพัง"
+ "ลำภุขัน"
+ "ลำยอง"
+ "ลำเค็ญ"
+ "ลำเจียก"
+ "ลำเนา"
+ "ลำเพา"
+ "ลำเลิก"
+ "ลำเลียง"
+ "ลำโพง"
+ "ลำไย"
+ "ลิ"
+ "ลิกไนต์"
+ "ลิขสิทธิ์"
+ "ลิขิต"
+ "ลิง"
+ "ลิงก์"
+ "ลิงค์"
+ "ลิด"
+ "ลิต"
+ "ลิตมัส"
+ "ลิตร"
+ "ลินิน"
+ "ลิบ"
+ "ลิปดา"
+ "ลิปต์"
+ "ลิปสติก"
+ "ลิปิ"
+ "ลิฟต์"
+ "ลิลิต"
+ "ลิว"
+ "ลิสง"
+ "ลิเก"
+ "ลิเบีย"
+ "ลิเวอร์พูล"
+ "ลิ่ม"
+ "ลิ่ว"
+ "ลิ้น"
+ "ลิ้นจี่"
+ "ลิ้ม"
+ "ลี"
+ "ลีก"
+ "ลีนุกซ์"
+ "ลีบ"
+ "ลีลา"
+ "ลีลาศ"
+ "ลี่"
+ "ลี้"
+ "ลึก"
+ "ลึงค์"
+ "ลืด"
+ "ลืบ"
+ "ลืม"
+ "ลือ"
+ "ลื่น"
+ "ลื่อ"
+ "ลื้น"
+ "ลื้อ"
+ "ลุ"
+ "ลุก"
+ "ลุง"
+ "ลุย"
+ "ลุ่น"
+ "ลุ่ม"
+ "ลุ่ย"
+ "ลุ้ง"
+ "ลุ้ย"
+ "ลูก"
+ "ลูกค้า"
+ "ลูกบาศก์"
+ "ลูบ"
+ "ลู่"
+ "ล็อกเกต"
+ "ล่น"
+ "ล่ม"
+ "ล่วง"
+ "ล่วม"
+ "ล่อ"
+ "ล่อง"
+ "ล่อน"
+ "ล่อย"
+ "ล่อแล่"
+ "ล่ะ"
+ "ล่า"
+ "ล่าง"
+ "ล่าน"
+ "ล่าม"
+ "ล่ำ"
+ "ล้งเล้ง"
+ "ล้น"
+ "ล้ม"
+ "ล้วง"
+ "ล้วน"
+ "ล้อ"
+ "ล้อม"
+ "ล้า"
+ "ล้าง"
+ "ล้าต้า"
+ "ล้าน"
+ "ล้ำ"
+ "วก"
+ "วกะ"
+ "วง"
+ "วงกต"
+ "วงก์"
+ "วงจร"
+ "วงศกร"
+ "วงศา"
+ "วงศ์"
+ "วจนะ"
+ "วจะ"
+ "วจี"
+ "วชะ"
+ "วชิระ"
+ "วชิราวุธ"
+ "วณบัตร"
+ "วณพันธน์"
+ "วณะ"
+ "วณิช"
+ "วณิชชา"
+ "วณิชยา"
+ "วณิชย์"
+ "วณิพก"
+ "วดี"
+ "วตะ"
+ "วทะ"
+ "วทัญญุตา"
+ "วธุกา"
+ "วธู"
+ "วน"
+ "วนัส"
+ "วนา"
+ "วนานต์"
+ "วนิดา"
+ "วนิพก"
+ "วยัสย์"
+ "วรงค์"
+ "วรณะ"
+ "วรมหาวิหาร"
+ "วรรค"
+ "วรรคย์"
+ "วรรช"
+ "วรรชย์"
+ "วรรณกรรม"
+ "วรรณคดี"
+ "วรรณนา"
+ "วรรณพฤติ"
+ "วรรณยุกต์"
+ "วรรณยุต"
+ "วรรณศิลป์"
+ "วรรณะ"
+ "วรรณึก"
+ "วรรธก"
+ "วรรธนะ"
+ "วรรษ"
+ "วรรษา"
+ "วรวิหาร"
+ "วรัญญู"
+ "วรางคนา"
+ "วราหะ"
+ "วราห์"
+ "วรุณ"
+ "วลัญชน์"
+ "วลัย"
+ "วลาหก"
+ "วลี"
+ "วศะ"
+ "วสสะ"
+ "วสสี"
+ "วสะ"
+ "วสันตดิลก"
+ "วสันต์"
+ "วสา"
+ "วสี"
+ "วสุ"
+ "วสุธา"
+ "วสุนธรา"
+ "วสุมดี"
+ "วหะ"
+ "วหา"
+ "วอ"
+ "วอก"
+ "วอกแวก"
+ "วอด"
+ "วอน"
+ "วอร์แรนท์"
+ "วอลล์สตรีท"
+ "วอลเลย์"
+ "วอลเลย์บอล"
+ "วอแว"
+ "วะ"
+ "วัก"
+ "วักกะ"
+ "วัค"
+ "วัคคีย์"
+ "วัคคุ"
+ "วัคซีน"
+ "วัง"
+ "วังก์"
+ "วังเวง"
+ "วัจนะ"
+ "วัช"
+ "วัชฌ์"
+ "วัชระ"
+ "วัชรินทร์"
+ "วัชรี"
+ "วัฏจักร"
+ "วัฏฏิ"
+ "วัฏสงสาร"
+ "วัฒกะ"
+ "วัฒกี"
+ "วัฒนธรรม"
+ "วัฒนะ"
+ "วัฒนา"
+ "วัณ"
+ "วัณฏ์"
+ "วัณนา"
+ "วัด"
+ "วัต"
+ "วัตตา"
+ "วัตต์"
+ "วัตถุ"
+ "วัตถ์"
+ "วัตนะ"
+ "วัตร"
+ "วัติ"
+ "วัน"
+ "วันทนา"
+ "วันทนีย์"
+ "วันทยหัตถ์"
+ "วันทยาวุธ"
+ "วันทา"
+ "วับ"
+ "วัปปะ"
+ "วัมมิก"
+ "วัย"
+ "วัลย์"
+ "วัลลภ"
+ "วัลลี"
+ "วัว"
+ "วัสดุ"
+ "วัสสะ"
+ "วัสสานะ"
+ "วัสโสทก"
+ "วา"
+ "วาก"
+ "วากยสัมพันธ์"
+ "วากยะ"
+ "วาง"
+ "วาจก"
+ "วาจา"
+ "วาณิช"
+ "วาณิชย์"
+ "วาณี"
+ "วาด"
+ "วาตภัย"
+ "วาตะ"
+ "วาท"
+ "วาทก"
+ "วาทยกร"
+ "วาทย์"
+ "วาทิต"
+ "วาทิน"
+ "วาที"
+ "วาน"
+ "วานร"
+ "วานรินทร์"
+ "วาบ"
+ "วาปะ"
+ "วาปิตะ"
+ "วาปี"
+ "วาม"
+ "วามะ"
+ "วาย"
+ "วายทูเค"
+ "วายสะ"
+ "วาร"
+ "วารสาร"
+ "วาริ"
+ "วารี"
+ "วารุณ"
+ "วารุณี"
+ "วาล"
+ "วาล์ว"
+ "วาว"
+ "วาสนะ"
+ "วาสนา"
+ "วาสพ"
+ "วาหะ"
+ "วาหินี"
+ "วาฬ"
+ "วิกรม"
+ "วิกฤต"
+ "วิกฤตการณ์"
+ "วิกฤติ"
+ "วิกล"
+ "วิกสิต"
+ "วิกัป"
+ "วิกาล"
+ "วิคหะ"
+ "วิง"
+ "วิงวอน"
+ "วิจยุต"
+ "วิจรณะ"
+ "วิจล"
+ "วิจักขณ์"
+ "วิจักษณ์"
+ "วิจัย"
+ "วิจาร"
+ "วิจารณญาณ"
+ "วิจารณ์"
+ "วิจิ"
+ "วิจิกิจฉา"
+ "วิจิต"
+ "วิจิตร"
+ "วิจิน"
+ "วิจุณ"
+ "วิจุรณ"
+ "วิชชา"
+ "วิชชุ"
+ "วิชชุลดา"
+ "วิชญะ"
+ "วิชนี"
+ "วิชา"
+ "วิชานนะ"
+ "วิชิต"
+ "วิญญัติ"
+ "วิญญาณ"
+ "วิญญู"
+ "วิฑูรย์"
+ "วิด"
+ "วิดีโอ"
+ "วิตก"
+ "วิตถาร"
+ "วิตามิน"
+ "วิถี"
+ "วิทยฐานะ"
+ "วิทยา"
+ "วิทยาลัย"
+ "วิทยุ"
+ "วิทยุต"
+ "วิทวัส"
+ "วิทารณ์"
+ "วิทาลน์"
+ "วิทิต"
+ "วิทู"
+ "วิทูร"
+ "วิธ"
+ "วิธวา"
+ "วิธา"
+ "วิธาน"
+ "วิธี"
+ "วิธูปนะ"
+ "วินันตู"
+ "วินัย"
+ "วินาที"
+ "วินาศ"
+ "วินิจ"
+ "วินิจฉัย"
+ "วินิต"
+ "วินิบาต"
+ "วินิปาติก"
+ "วินโดวส์"
+ "วินโดว์"
+ "วิบัติ"
+ "วิบาก"
+ "วิบุล"
+ "วิบุลย์"
+ "วิบูล"
+ "วิบูลย์"
+ "วิปการ"
+ "วิปฏิสาร"
+ "วิประการ"
+ "วิประติสาร"
+ "วิประลาป"
+ "วิประวาส"
+ "วิปริต"
+ "วิปลาป"
+ "วิปลาส"
+ "วิปวาส"
+ "วิปักษ์"
+ "วิปัสสก"
+ "วิปัสสนา"
+ "วิปโยค"
+ "วิพากษ์"
+ "วิพิธทัศนา"
+ "วิภวตัณหา"
+ "วิภังค์"
+ "วิภัช"
+ "วิภัตติ"
+ "วิภา"
+ "วิภาวดี"
+ "วิมัติ"
+ "วิมุต"
+ "วิมุตติ"
+ "วิรตะ"
+ "วิรมณะ"
+ "วิรรรธน์"
+ "วิรวะ"
+ "วิรัช"
+ "วิรัต"
+ "วิรัติ"
+ "วิริยภาพ"
+ "วิริยะ"
+ "วิรุธ"
+ "วิรุฬหก"
+ "วิรุฬห์"
+ "วิลันดา"
+ "วิลาด"
+ "วิลาป"
+ "วิลาวัณย์"
+ "วิลาศ"
+ "วิลาส"
+ "วิลาสินี"
+ "วิว"
+ "วิวรณ์"
+ "วิวระ"
+ "วิวัฏ"
+ "วิวัฒนาการ"
+ "วิวัฒน์"
+ "วิวาท"
+ "วิวาหมงคล"
+ "วิวาหะ"
+ "วิวาห์"
+ "วิวิจ"
+ "วิวิต"
+ "วิวิธ"
+ "วิศรุต"
+ "วิศวกร"
+ "วิศวกรรม"
+ "วิศัลย์"
+ "วิศาขะ"
+ "วิศาขา"
+ "วิศางค์"
+ "วิศาล"
+ "วิศิษฐ์"
+ "วิศุทธิ์"
+ "วิศุทธ์"
+ "วิษณุ"
+ "วิษธร"
+ "วิษักต์"
+ "วิษัย"
+ "วิษาณ"
+ "วิษุวัต"
+ "วิสกี้"
+ "วิสรรชนีย์"
+ "วิสฤต"
+ "วิสสุกรรม"
+ "วิสัชนา"
+ "วิสัญญี"
+ "วิสัย"
+ "วิสาขบูชา"
+ "วิสาขะ"
+ "วิสามัญ"
+ "วิสาสะ"
+ "วิสาหกิจ"
+ "วิสิฐ"
+ "วิสุงคามสีมา"
+ "วิสุทธิ์"
+ "วิสุทธ์"
+ "วิสูตร"
+ "วิหค"
+ "วิหงค์"
+ "วิหลั่น"
+ "วิหายสะ"
+ "วิหาร"
+ "วิหิงสะ"
+ "วิหิงสา"
+ "วิฬังค์"
+ "วิฬาร"
+ "วิฬาร์"
+ "วิเคราะห์"
+ "วิเชียร"
+ "วิเทวษ"
+ "วิเทศ"
+ "วิเทโศบาย"
+ "วิเนต"
+ "วิเยน"
+ "วิเรนทร์"
+ "วิเลป"
+ "วิเวก"
+ "วิเศษ"
+ "วิเศษณ์"
+ "วิเสท"
+ "วิเหสา"
+ "วิโนทก"
+ "วิโมกข์"
+ "วิโยค"
+ "วิโรจ"
+ "วิโรจน์"
+ "วิโรฒ"
+ "วิโรธ"
+ "วิโรธน์"
+ "วิโลจนะ"
+ "วิไล"
+ "วิ่ง"
+ "วิ่งเปี้ยว"
+ "วิ่น"
+ "วี"
+ "วีจิ"
+ "วีชนี"
+ "วีซ่า"
+ "วีณา"
+ "วีรกรรม"
+ "วีรชน"
+ "วีรบุรุษ"
+ "วีรสตรี"
+ "วี่วัน"
+ "วี่แวว"
+ "วี้ด"
+ "วุฐิ"
+ "วุฒ"
+ "วุฒิ"
+ "วุด"
+ "วุบ"
+ "วุ่น"
+ "วุ้ง"
+ "วุ้น"
+ "วุ้ย"
+ "วูดวาด"
+ "วูธู"
+ "วูบ"
+ "วู่วาม"
+ "วู้"
+ "วเนจร"
+ "วโนทยาน"
+ "วโร"
+ "วโรกาส"
+ "วโรดม"
+ "ว่อง"
+ "ว่อน"
+ "ว่า"
+ "ว่าง"
+ "ว่าน"
+ "ว่าย"
+ "ว่าว"
+ "ว้า"
+ "ว้าง"
+ "ว้าย"
+ "ศก"
+ "ศต"
+ "ศตวรรษ"
+ "ศพ"
+ "ศร"
+ "ศรัทธา"
+ "ศรัย"
+ "ศรี"
+ "ศรีวิไลฤทธิ์"
+ "ศรีษะเกษ"
+ "ศฤงคาร"
+ "ศศิ"
+ "ศอ"
+ "ศอก"
+ "ศักดา"
+ "ศักดินา"
+ "ศักดิ์"
+ "ศักยภาพ"
+ "ศักยะ"
+ "ศักย์"
+ "ศักราช"
+ "ศัตรู"
+ "ศัพท์"
+ "ศัลยกรรม"
+ "ศัลยศาสตร์"
+ "ศัลยแพทย์"
+ "ศัลย์"
+ "ศากยพุทธ"
+ "ศากยมุนี"
+ "ศากยะ"
+ "ศาตราจารย์"
+ "ศานติ"
+ "ศานต์"
+ "ศารท"
+ "ศารทูล"
+ "ศาล"
+ "ศาลา"
+ "ศาสก"
+ "ศาสดา"
+ "ศาสตรา"
+ "ศาสตราจารย์"
+ "ศาสตร์"
+ "ศาสนจักร"
+ "ศาสนา"
+ "ศาสนูปถัมภก"
+ "ศาสน์"
+ "ศิขริน"
+ "ศิริราช"
+ "ศิลปกร"
+ "ศิลปกรรม"
+ "ศิลปการ"
+ "ศิลปกิจ"
+ "ศิลปวิทยา"
+ "ศิลปศาสตร์"
+ "ศิลปะ"
+ "ศิลปากร"
+ "ศิลปิน"
+ "ศิลปี"
+ "ศิลป์"
+ "ศิลา"
+ "ศิวลึงค์"
+ "ศิวะ"
+ "ศิวเวท"
+ "ศิวโมกข์"
+ "ศิษย์"
+ "ศิโรราบ"
+ "ศีรษะ"
+ "ศีล"
+ "ศึก"
+ "ศึกษา"
+ "ศึกษาธิการ"
+ "ศึกษานิเทศก์"
+ "ศุกร์"
+ "ศุภกร"
+ "ศุภนิมิต"
+ "ศุภมัสดุ"
+ "ศุภมาตรา"
+ "ศุภมาส"
+ "ศุภอักษร"
+ "ศุภางค์"
+ "ศุภเคราะห์"
+ "ศุลกากร"
+ "ศุลการักษ์"
+ "ศุลี"
+ "ศูทร"
+ "ศูนย์"
+ "สก"
+ "สกนธ์"
+ "สกปรก"
+ "สกล"
+ "สกวาที"
+ "สกอตแลนด์"
+ "สกัด"
+ "สกา"
+ "สกาว"
+ "สกี"
+ "สกุณ"
+ "สกุณา"
+ "สกุณี"
+ "สกุนต์"
+ "สกุล"
+ "สก็อตแลนด์"
+ "สง"
+ "สงกรานต์"
+ "สงกา"
+ "สงขลา"
+ "สงคราม"
+ "สงฆ์"
+ "สงบ"
+ "สงวน"
+ "สงสัย"
+ "สงสาร"
+ "สงสารวัฏ"
+ "สงัด"
+ "สงเคราะห์"
+ "สง่า"
+ "สณฑ์"
+ "สด"
+ "สดมภ์"
+ "สดับ"
+ "สดุดี"
+ "สตรี"
+ "สตอก"
+ "สตัฟฟ์"
+ "สตางค์"
+ "สตาร์ท"
+ "สติ"
+ "สติ๊กเกอร์"
+ "สตู"
+ "สต๊อก"
+ "สถล"
+ "สถาน"
+ "สถานการณ์"
+ "สถานะ"
+ "สถานี"
+ "สถาบัน"
+ "สถาปนา"
+ "สถาปนิก"
+ "สถาปัตยกรรม"
+ "สถาพร"
+ "สถาวร"
+ "สถิต"
+ "สถิตย"
+ "สถิตยศาสตร์"
+ "สถิตย์"
+ "สถิติ"
+ "สถุล"
+ "สถูป"
+ "สทอพ"
+ "สน"
+ "สนทนา"
+ "สนธยา"
+ "สนธิ"
+ "สนนราคา"
+ "สนม"
+ "สนอง"
+ "สนับ"
+ "สนับสนุน"
+ "สนั่น"
+ "สนาน"
+ "สนาม"
+ "สนิท"
+ "สนิม"
+ "สนุก"
+ "สนุ่น"
+ "สนเทศ"
+ "สนเท่ห์"
+ "สนใจ"
+ "สบ"
+ "สบง"
+ "สบถ"
+ "สบาย"
+ "สบู่"
+ "สปริง"
+ "สปาย"
+ "สปาเกตตี"
+ "สปิริต"
+ "สภา"
+ "สภาพ"
+ "สภาพัฒน์"
+ "สภาวะ"
+ "สม"
+ "สมการ"
+ "สมควร"
+ "สมญา"
+ "สมณศักดิ์"
+ "สมณะ"
+ "สมดุล"
+ "สมถะ"
+ "สมนาคุณ"
+ "สมบัติ"
+ "สมบูรณาญาสิทธิราชย์"
+ "สมบูรณ์"
+ "สมประดี"
+ "สมปฤดี"
+ "สมภพ"
+ "สมภาร"
+ "สมมต"
+ "สมมติ"
+ "สมมาตร"
+ "สมมุติ"
+ "สมร"
+ "สมรรถ"
+ "สมรรถนะ"
+ "สมรส"
+ "สมอ"
+ "สมอง"
+ "สมัคร"
+ "สมัชชา"
+ "สมัน"
+ "สมัย"
+ "สมา"
+ "สมาคม"
+ "สมาจาร"
+ "สมาชิก"
+ "สมาธิ"
+ "สมาน"
+ "สมาบัติ"
+ "สมาส"
+ "สมิง"
+ "สมิต"
+ "สมี"
+ "สมุฏฐาน"
+ "สมุด"
+ "สมุทร"
+ "สมุทัย"
+ "สมุน"
+ "สมุนไพร"
+ "สมุห์"
+ "สมเด็จ"
+ "สมเพช"
+ "สมเสร็จ"
+ "สมโพธิ"
+ "สมโภค"
+ "สมโภช"
+ "สม่ำเสมอ"
+ "สยด"
+ "สยบ"
+ "สยมภู"
+ "สยอง"
+ "สยาม"
+ "สยาย"
+ "สยิว"
+ "สยุมพร"
+ "สยุมภู"
+ "สรง"
+ "สรณะ"
+ "สรณาคมน์"
+ "สรตะ"
+ "สรร"
+ "สรรค์"
+ "สรรพ"
+ "สรรพากร"
+ "สรรพางค์"
+ "สรรเพชญ"
+ "สรรเสริญ"
+ "สรวง"
+ "สรวม"
+ "สรวล"
+ "สระ"
+ "สราญ"
+ "สรีรกิจ"
+ "สรีรธาตุ"
+ "สรีรวิทยา"
+ "สรีรศาสตร์"
+ "สรีระ"
+ "สรุป"
+ "สร่ง"
+ "สร่าง"
+ "สร้อย"
+ "สร้าง"
+ "สร้าวเสียว"
+ "สฤต"
+ "สฤษฏ์"
+ "สล"
+ "สลด"
+ "สลบ"
+ "สลวน"
+ "สลวย"
+ "สลอด"
+ "สลอน"
+ "สลอย"
+ "สละ"
+ "สลัก"
+ "สลักเต้"
+ "สลัด"
+ "สลัดได"
+ "สลับ"
+ "สลัม"
+ "สลัว"
+ "สลา"
+ "สลาก"
+ "สลาด"
+ "สลาตัน"
+ "สลาบ"
+ "สลาย"
+ "สลิด"
+ "สลิล"
+ "สลึก"
+ "สลึง"
+ "สลุต"
+ "สลุบ"
+ "สลุมพร"
+ "สล็อต"
+ "สล้าง"
+ "สวก"
+ "สวด"
+ "สวน"
+ "สวนะ"
+ "สวนาการ"
+ "สวบ"
+ "สวม"
+ "สวย"
+ "สวร"
+ "สวรรคต"
+ "สวรรคาลัย"
+ "สวรรค์"
+ "สวรรยา"
+ "สวอป"
+ "สวะ"
+ "สวัสดิการ"
+ "สวัสดิภาพ"
+ "สวัสดิ์"
+ "สวัสดี"
+ "สวัสติกะ"
+ "สวา"
+ "สวาง"
+ "สวาด"
+ "สวาท"
+ "สวามิ"
+ "สวามี"
+ "สวาย"
+ "สวาสดิ์"
+ "สวาหะ"
+ "สวิง"
+ "สวิตช์"
+ "สวิตซ์"
+ "สวิสเซอร์แลนด์"
+ "สวีเดน"
+ "สว่าง"
+ "สว่าน"
+ "สว้าน"
+ "สสาร"
+ "สหกรณ์"
+ "สหการ"
+ "สหจร"
+ "สหชาติ"
+ "สหประชาชาติ"
+ "สหพันธรัฐ"
+ "สหพันธ์"
+ "สหภาพ"
+ "สหรัฐ"
+ "สหวิริยา"
+ "สหศึกษา"
+ "สหัช"
+ "สหัมบดี"
+ "สหัสนัยน์"
+ "สหัสวรรษ"
+ "สหัสสะ"
+ "สหัสสา"
+ "สหาย"
+ "สอ"
+ "สอง"
+ "สอด"
+ "สอน"
+ "สอบ"
+ "สอพลอ"
+ "สอย"
+ "สะ"
+ "สะกด"
+ "สะกิด"
+ "สะคราญ"
+ "สะดม"
+ "สะดวก"
+ "สะดิ้ง"
+ "สะดึง"
+ "สะดือ"
+ "สะดุด"
+ "สะดุ้ง"
+ "สะตอ"
+ "สะตึ"
+ "สะตือ"
+ "สะท้อน"
+ "สะท้าน"
+ "สะบัก"
+ "สะบัด"
+ "สะบัดสะบิ้ง"
+ "สะบั้น"
+ "สะบ้า"
+ "สะพรัก"
+ "สะพรั่ง"
+ "สะพัด"
+ "สะพั้น"
+ "สะพาน"
+ "สะพาย"
+ "สะระตะ"
+ "สะระแหน่"
+ "สะลึมสะลือ"
+ "สะวี้ดสะว้าด"
+ "สะสม"
+ "สะสาง"
+ "สะอาง"
+ "สะอาด"
+ "สะอิดสะเอียน"
+ "สะอิ้ง"
+ "สะอึก"
+ "สะอื้น"
+ "สะอ้าน"
+ "สะเก็ด"
+ "สะเด็ด"
+ "สะเทิ้น"
+ "สะเทือน"
+ "สะเทื้อน"
+ "สะเพร่า"
+ "สะเออะ"
+ "สะโพก"
+ "สะโอดสะอง"
+ "สะใภ้"
+ "สัก"
+ "สักขี"
+ "สักวา"
+ "สักหลาด"
+ "สัขยะ"
+ "สังกมทรัพย์"
+ "สังกร"
+ "สังกรณี"
+ "สังกะตัง"
+ "สังกะสี"
+ "สังกัด"
+ "สังกัปปะ"
+ "สังกา"
+ "สังกาศ"
+ "สังขยา"
+ "สังขาร"
+ "สังข์"
+ "สังคญาติ"
+ "สังคม"
+ "สังคัง"
+ "สังคายนา"
+ "สังคายนาย"
+ "สังคีต"
+ "สังค์"
+ "สังฆกรรม"
+ "สังฆนายก"
+ "สังฆมณฑล"
+ "สังฆมนตรี"
+ "สังฆราช"
+ "สังฆสภา"
+ "สังฆาฏิ"
+ "สังฆาวาส"
+ "สังวร"
+ "สังวัธยาย"
+ "สังวาล"
+ "สังวาส"
+ "สังสดมภ์"
+ "สังสรรค์"
+ "สังสารวัฏ"
+ "สังหร"
+ "สังหรณ์"
+ "สังหาร"
+ "สังหาริมทรัพย์"
+ "สังหิต"
+ "สังเกต"
+ "สังเขป"
+ "สังเคราะห์"
+ "สังเวคะ"
+ "สังเวช"
+ "สังเวย"
+ "สังเวียน"
+ "สังโยค"
+ "สังโยชน์"
+ "สัจ"
+ "สัจกิริยา"
+ "สัจจะ"
+ "สัจญาณ"
+ "สัจนิยม"
+ "สัจพจน์"
+ "สัชฌุ"
+ "สัญจร"
+ "สัญจาร"
+ "สัญชาตญาณ"
+ "สัญชาติ"
+ "สัญฌา"
+ "สัญญา"
+ "สัญญาณ"
+ "สัญญี"
+ "สัญประกาศ"
+ "สัญลักษณ์"
+ "สัญเจตนา"
+ "สัณฐาน"
+ "สัณฑ์"
+ "สัณห์"
+ "สัด"
+ "สัต"
+ "สัตตะ"
+ "สัตบรรณ"
+ "สัตยาบัน"
+ "สัตย์"
+ "สัตวบาล"
+ "สัตววิทยา"
+ "สัตวา"
+ "สัตวาร"
+ "สัตวแพทย์"
+ "สัตวโลก"
+ "สัตว์"
+ "สัทธรรม"
+ "สัทธา"
+ "สัทศาสตร์"
+ "สัน"
+ "สันดาน"
+ "สันดาป"
+ "สันตะปาปา"
+ "สันติ"
+ "สันต์"
+ "สันถวไมตรี"
+ "สันถัต"
+ "สันถาร"
+ "สันทนะ"
+ "สันทนาการ"
+ "สันทะ"
+ "สันทัด"
+ "สันธาน"
+ "สันนิบาต"
+ "สันนิวาส"
+ "สันนิษฐาน"
+ "สันนิเวส"
+ "สันสกฤต"
+ "สันโดษ"
+ "สับ"
+ "สับปลับ"
+ "สับปะรด"
+ "สัปคับ"
+ "สัปดน"
+ "สัปดาห์"
+ "สัปทน"
+ "สัประยุทธ์"
+ "สัปหงก"
+ "สัปเหร่อ"
+ "สัพ"
+ "สัพพะ"
+ "สัพพัญญู"
+ "สัพยอก"
+ "สัพเพเหระ"
+ "สัมบูรณ์"
+ "สัมปชัญญะ"
+ "สัมปทา"
+ "สัมปทาน"
+ "สัมปยุต"
+ "สัมประสิทธิ์"
+ "สัมประหาร"
+ "สัมปรายภพ"
+ "สัมปรายิกภพ"
+ "สัมปโยค"
+ "สัมผัส"
+ "สัมพัทธ์"
+ "สัมพันธน์"
+ "สัมพันธภาพ"
+ "สัมพันธมิตร"
+ "สัมพันธไมตรี"
+ "สัมพันธ์"
+ "สัมพาธะ"
+ "สัมพุทธะ"
+ "สัมภาระ"
+ "สัมภาษณ์"
+ "สัมมนา"
+ "สัมมา"
+ "สัมมาชีพ"
+ "สัมฤทธิ์"
+ "สัมโพธิ"
+ "สัมโมทนียกถา"
+ "สัสดี"
+ "สัสสะ"
+ "สั่ง"
+ "สั่น"
+ "สั้น"
+ "สา"
+ "สาก"
+ "สากรรจ์"
+ "สากล"
+ "สาขา"
+ "สาคร"
+ "สาคู"
+ "สาคเรส"
+ "สาง"
+ "สาด"
+ "สาทร"
+ "สาทิส"
+ "สาธก"
+ "สาธยาย"
+ "สาธารณภัย"
+ "สาธารณรัฐ"
+ "สาธารณสุข"
+ "สาธารณะ"
+ "สาธารณูปการ"
+ "สาธารณูปโภค"
+ "สาธิต"
+ "สาธุ"
+ "สาน"
+ "สานุศิษย์"
+ "สาบ"
+ "สาบสูญ"
+ "สาบาน"
+ "สาป"
+ "สาม"
+ "สามัคคี"
+ "สามัญ"
+ "สามานย์"
+ "สามารถ"
+ "สามิต"
+ "สามิภักดิ์"
+ "สามี"
+ "สามเณร"
+ "สาย"
+ "สายชู"
+ "สายยู"
+ "สายัณห์"
+ "สาร"
+ "สารคดี"
+ "สารถี"
+ "สารท"
+ "สารนิเทศ"
+ "สารบบ"
+ "สารบรรณ"
+ "สารบัญ"
+ "สารบับ"
+ "สารบาญ"
+ "สารพัด"
+ "สารพัน"
+ "สารพางค์"
+ "สารภาพ"
+ "สารภี"
+ "สารวัตร"
+ "สาระ"
+ "สาระแน"
+ "สารัทธ์"
+ "สารัมภ์"
+ "สาราณียกร"
+ "สารานุกรม"
+ "สารีริกธาตุ"
+ "สาละวน"
+ "สาลิกา"
+ "สาลินี"
+ "สาลี"
+ "สาลี่"
+ "สาว"
+ "สาวก"
+ "สาวิกา"
+ "สาวิตร"
+ "สาวิตรี"
+ "สาสน์"
+ "สาส์น"
+ "สาหร่าย"
+ "สาหัส"
+ "สาเก"
+ "สาเหตุ"
+ "สาแหรก"
+ "สาโท"
+ "สาโรช"
+ "สาไถย"
+ "สำ"
+ "สำคัญ"
+ "สำทับ"
+ "สำนวน"
+ "สำนัก"
+ "สำนึก"
+ "สำบัดสำนวน"
+ "สำปะหลัง"
+ "สำปั้น"
+ "สำมะหา"
+ "สำมะเลเทเมา"
+ "สำมะโนครัว"
+ "สำรวจ"
+ "สำรวม"
+ "สำรวย"
+ "สำรวล"
+ "สำรอก"
+ "สำรอง"
+ "สำรับ"
+ "สำราก"
+ "สำราญ"
+ "สำริด"
+ "สำลัก"
+ "สำลาน"
+ "สำลี"
+ "สำส่อน"
+ "สำหรับ"
+ "สำหา"
+ "สำออย"
+ "สำอาง"
+ "สำเนา"
+ "สำเนียง"
+ "สำเภา"
+ "สำเริง"
+ "สำเร็จ"
+ "สำเหนียก"
+ "สำเหร่"
+ "สำแดง"
+ "สำแลง"
+ "สำโรง"
+ "สิ"
+ "สิกขา"
+ "สิขร"
+ "สิคาล"
+ "สิง"
+ "สิงขร"
+ "สิงคาร"
+ "สิงคาล"
+ "สิงคโปร์"
+ "สิงค์"
+ "สิงสาราสัตว์"
+ "สิงหนาท"
+ "สิงหบัญชร"
+ "สิงหราช"
+ "สิงหล"
+ "สิงหาคม"
+ "สิงหาสน์"
+ "สิงห์"
+ "สิงโต"
+ "สิญจน์"
+ "สิต"
+ "สิถิล"
+ "สิทธ"
+ "สิทธา"
+ "สิทธารถ"
+ "สิทธิ"
+ "สิทธิ์"
+ "สิน"
+ "สินค้า"
+ "สินธุ"
+ "สินี"
+ "สินเธาว์"
+ "สิบ"
+ "สิมพลี"
+ "สิริ"
+ "สิริกิติ์"
+ "สิลา"
+ "สิว"
+ "สิเนหก"
+ "สิเนหา"
+ "สิเน่หา"
+ "สิ่ง"
+ "สิ่ว"
+ "สิ้น"
+ "สี"
+ "สีกา"
+ "สีดอ"
+ "สี่"
+ "สึก"
+ "สืบ"
+ "สื่อ"
+ "สุ"
+ "สุก"
+ "สุกข์"
+ "สุกร"
+ "สุกี้ยากี้"
+ "สุข"
+ "สุขะ"
+ "สุขา"
+ "สุขาภิบาล"
+ "สุขารมณ์"
+ "สุขาวดี"
+ "สุขี"
+ "สุขุม"
+ "สุขุมาล"
+ "สุคต"
+ "สุคติ"
+ "สุคนธรส"
+ "สุคนธ์"
+ "สุคันธ์"
+ "สุงกากร"
+ "สุงสิง"
+ "สุจริต"
+ "สุจหนี่"
+ "สุจิ"
+ "สุชน"
+ "สุชาดา"
+ "สุญ"
+ "สุญญากาศ"
+ "สุณ"
+ "สุณิสา"
+ "สุด"
+ "สุดา"
+ "สุต"
+ "สุตตะ"
+ "สุติ"
+ "สุทธาวาส"
+ "สุทธิ"
+ "สุทธ์"
+ "สุทัศน์"
+ "สุธา"
+ "สุธี"
+ "สุนทร"
+ "สุนทรี"
+ "สุนทรียภาพ"
+ "สุนทรียศาสตร์"
+ "สุนัข"
+ "สุนันท์"
+ "สุบรรณ"
+ "สุบิน"
+ "สุพรรณ"
+ "สุภัค"
+ "สุภาพ"
+ "สุภาษิต"
+ "สุม"
+ "สุมทุม"
+ "สุมน"
+ "สุมนา"
+ "สุมาลี"
+ "สุรสีหนาท"
+ "สุรัติ"
+ "สุรัสวดี"
+ "สุรา"
+ "สุรางคนา"
+ "สุรางคนางค์"
+ "สุรารักษ์"
+ "สุราลัย"
+ "สุราษฎร์"
+ "สุรินทร์"
+ "สุริยการ"
+ "สุริยกาล"
+ "สุริยคติ"
+ "สุริยคราส"
+ "สุริยง"
+ "สุริยน"
+ "สุริยมณฑล"
+ "สุริยะ"
+ "สุริยัน"
+ "สุริยา"
+ "สุริยุปราคา"
+ "สุริยเคราะห์"
+ "สุริเยนทร์"
+ "สุริเยศ"
+ "สุริโย"
+ "สุรีย์"
+ "สุรุ่ยสุร่าย"
+ "สุรเสียง"
+ "สุลต่าน"
+ "สุวภาพ"
+ "สุวรรณ"
+ "สุวาน"
+ "สุวิทย์"
+ "สุวินัย"
+ "สุวิมล"
+ "สุสาน"
+ "สุหนัต"
+ "สุหร่าย"
+ "สุเมธ"
+ "สุเมรุ"
+ "สุเหร่า"
+ "สุเอซ"
+ "สุ่ม"
+ "สุ้ม"
+ "สู"
+ "สูง"
+ "สูจิ"
+ "สูญ"
+ "สูด"
+ "สูต"
+ "สูตร"
+ "สูติ"
+ "สูติกรรม"
+ "สูติบัตร"
+ "สูติศาสตร์"
+ "สูติแพทย์"
+ "สูท"
+ "สูบ"
+ "สูสี"
+ "สู่"
+ "สู้"
+ "สเกต"
+ "สเตอริโอ"
+ "สเต็ก"
+ "สเน่ห์"
+ "สเปก"
+ "สเปกตรัม"
+ "สเปน"
+ "สเปรดชีต"
+ "สแกน"
+ "สแลง"
+ "สโมสร"
+ "สโรช"
+ "สไตล์"
+ "สไบ"
+ "สไลด์"
+ "ส่ง"
+ "ส่วน"
+ "ส่วย"
+ "ส่อ"
+ "ส่อง"
+ "ส่อน"
+ "ส่า"
+ "ส่าน"
+ "ส่าย"
+ "ส่าหรี่"
+ "ส่าเหล้า"
+ "ส่ำ"
+ "ส้น"
+ "ส้ม"
+ "ส้มป่อย"
+ "ส้วง"
+ "ส้วม"
+ "ส้วย"
+ "ส้อง"
+ "ส้อม"
+ "หก"
+ "หง"
+ "หงส์"
+ "หงอ"
+ "หงอก"
+ "หงอด"
+ "หงอน"
+ "หงอย"
+ "หงัก"
+ "หงับ"
+ "หงาย"
+ "หงำ"
+ "หงิก"
+ "หงิง"
+ "หงิม"
+ "หงึก"
+ "หงุงหงิง"
+ "หงุดหงิด"
+ "หงุบ"
+ "หงุ่ย"
+ "หง่อม"
+ "หง่าง"
+ "หง่าว"
+ "หญิง"
+ "หญิบ"
+ "หญ้า"
+ "หด"
+ "หทัย"
+ "หน"
+ "หนวก"
+ "หนวด"
+ "หนอ"
+ "หนอก"
+ "หนอง"
+ "หนอน"
+ "หนัก"
+ "หนัง"
+ "หนังสือ"
+ "หนับ"
+ "หนั่น"
+ "หนา"
+ "หนาด"
+ "หนาน"
+ "หนาม"
+ "หนาว"
+ "หนำ"
+ "หนำเลี้ยบ"
+ "หนี"
+ "หนีบ"
+ "หนี้"
+ "หนึบ"
+ "หนึ่ง"
+ "หนืด"
+ "หนุ"
+ "หนุน"
+ "หนุบ"
+ "หนุ่ม"
+ "หนุ่ย"
+ "หนู"
+ "หน็อยแน่"
+ "หน่วง"
+ "หน่วย"
+ "หน่วยกิต"
+ "หน่อ"
+ "หน่อย"
+ "หน่า"
+ "หน่าง"
+ "หน่าย"
+ "หน้า"
+ "หน้าที่"
+ "หมก"
+ "หมด"
+ "หมวก"
+ "หมวด"
+ "หมอ"
+ "หมอก"
+ "หมอง"
+ "หมอน"
+ "หมอบ"
+ "หมอย"
+ "หมัก"
+ "หมัด"
+ "หมัน"
+ "หมับ"
+ "หมั่น"
+ "หมั้น"
+ "หมา"
+ "หมาก"
+ "หมากฮอส"
+ "หมาง"
+ "หมาด"
+ "หมาย"
+ "หมิ่น"
+ "หมี"
+ "หมี่"
+ "หมึก"
+ "หมื่น"
+ "หมุด"
+ "หมุน"
+ "หมุบ"
+ "หมุบหมิบ"
+ "หมุ่ย"
+ "หมู"
+ "หมู่"
+ "หม่น"
+ "หม่อง"
+ "หม่อน"
+ "หม่อม"
+ "หม่า"
+ "หม่ำ"
+ "หม้อ"
+ "หม้าย"
+ "หยก"
+ "หยด"
+ "หยวก"
+ "หยวบ"
+ "หยอก"
+ "หยอกเอิน"
+ "หยอง"
+ "หยอด"
+ "หยอมแหยม"
+ "หยอย"
+ "หยัก"
+ "หยัง"
+ "หยัด"
+ "หยัน"
+ "หยับ"
+ "หยั่ง"
+ "หยากไย่"
+ "หยาด"
+ "หยาบ"
+ "หยาม"
+ "หยาว"
+ "หยำเป"
+ "หยิก"
+ "หยิบ"
+ "หยิม"
+ "หยิ่ง"
+ "หยี"
+ "หยุกหยิก"
+ "หยุด"
+ "หยุบ"
+ "หยุมหยิม"
+ "หยุ่น"
+ "หยูกยา"
+ "หย็องแหย็ง"
+ "หย่ง"
+ "หย่อง"
+ "หย่อน"
+ "หย่อม"
+ "หย่อย"
+ "หย่า"
+ "หรดี"
+ "หรรษา"
+ "หรอ"
+ "หรอก"
+ "หรอย"
+ "หรา"
+ "หริ"
+ "หริ่ง"
+ "หรีด"
+ "หรี่"
+ "หรือ"
+ "หรุบ"
+ "หรุบรู่"
+ "หรุบหรู่"
+ "หรุ่ม"
+ "หรู"
+ "หร็อมแหร็ม"
+ "หฤทัย"
+ "หฤหรรษ์"
+ "หฤโหด"
+ "หล"
+ "หลง"
+ "หลด"
+ "หลน"
+ "หลบ"
+ "หลวง"
+ "หลวม"
+ "หลอ"
+ "หลอก"
+ "หลอด"
+ "หลอน"
+ "หลอม"
+ "หละ"
+ "หลัก"
+ "หลัง"
+ "หลัด"
+ "หลับ"
+ "หลัว"
+ "หลั่ง"
+ "หลั่น"
+ "หลา"
+ "หลาก"
+ "หลาน"
+ "หลาบ"
+ "หลาม"
+ "หลาย"
+ "หลาว"
+ "หลิก"
+ "หลิม"
+ "หลิว"
+ "หลิ่ว"
+ "หลี"
+ "หลีก"
+ "หลีฮื้อ"
+ "หลืบ"
+ "หลุกหลิก"
+ "หลุด"
+ "หลุน"
+ "หลุบ"
+ "หลุม"
+ "หลู่"
+ "หล่น"
+ "หล่ม"
+ "หล่อ"
+ "หล่อน"
+ "หล่ะ"
+ "หล้า"
+ "หวง"
+ "หวด"
+ "หวน"
+ "หวย"
+ "หวอ"
+ "หวอด"
+ "หวะ"
+ "หวัง"
+ "หวัด"
+ "หวัว"
+ "หวัวร่อ"
+ "หวั่น"
+ "หวา"
+ "หวาด"
+ "หวาน"
+ "หวาม"
+ "หวาย"
+ "หวำ"
+ "หวิด"
+ "หวิว"
+ "หวี"
+ "หวีด"
+ "หวี่"
+ "หวือ"
+ "หวุดหวิด"
+ "หวุม"
+ "หวูด"
+ "หว็อย"
+ "หว่า"
+ "หว่าง"
+ "หว่าน"
+ "หว้า"
+ "หอ"
+ "หอก"
+ "หอง"
+ "หอน"
+ "หอบ"
+ "หอม"
+ "หอย"
+ "หะแรก"
+ "หัก"
+ "หัด"
+ "หัตถกรรม"
+ "หัตถการ"
+ "หัตถกิจ"
+ "หัตถบาส"
+ "หัตถศิลป์"
+ "หัตถศึกษา"
+ "หัตถี"
+ "หัตถ์"
+ "หัน"
+ "หับ"
+ "หัว"
+ "หัวบุก"
+ "หัวหน้า"
+ "หัวเราะ"
+ "หัส"
+ "หั่น"
+ "หั้น"
+ "หา"
+ "หาก"
+ "หาง"
+ "หาญ"
+ "หาด"
+ "หาน"
+ "หาบ"
+ "หาม"
+ "หาย"
+ "หายนะ"
+ "หาร"
+ "หารือ"
+ "หาว"
+ "หำ"
+ "หิงสา"
+ "หิงห้อย"
+ "หิด"
+ "หิน"
+ "หิมะ"
+ "หิมาลัย"
+ "หิรัญ"
+ "หิริ"
+ "หิว"
+ "หิ่งห้อย"
+ "หิ้ง"
+ "หิ้ว"
+ "หีนยาน"
+ "หีบ"
+ "หึ"
+ "หึง"
+ "หึ่ง"
+ "หืด"
+ "หืน"
+ "หือ"
+ "หื่น"
+ "หื้อ"
+ "หุง"
+ "หุน"
+ "หุบ"
+ "หุยฮา"
+ "หุ่น"
+ "หุ้น"
+ "หุ้ม"
+ "หู"
+ "หูก"
+ "หูด"
+ "หู่"
+ "หโยดม"
+ "ห่ม"
+ "ห่วง"
+ "ห่วย"
+ "ห่อ"
+ "ห่อน"
+ "ห่า"
+ "ห่าง"
+ "ห่าน"
+ "ห่าม"
+ "ห้วง"
+ "ห้วน"
+ "ห้วย"
+ "ห้อ"
+ "ห้อง"
+ "ห้อม"
+ "ห้อย"
+ "ห้า"
+ "ห้าง"
+ "ห้าม"
+ "ห้าว"
+ "ห้ำ"
+ "อก"
+ "อกตัญญุตา"
+ "อกตัญญู"
+ "อกนิษฐ์"
+ "อกรณีย์"
+ "อกรรมกริยา"
+ "อกุศล"
+ "อคติ"
+ "อคาธ"
+ "องก์"
+ "องคชาติ"
+ "องคมนตรี"
+ "องคมรรษ"
+ "องครักษ์"
+ "องควิทยา"
+ "องคาพยพ"
+ "องคุล"
+ "องคุลี"
+ "องค์"
+ "องค์กร"
+ "องค์การ"
+ "องศา"
+ "องอาจ"
+ "องุ่น"
+ "อจลา"
+ "อจิตติ"
+ "อจินตา"
+ "อจินไตย"
+ "อจิระ"
+ "อช"
+ "อชา"
+ "อชิน"
+ "อชินี"
+ "อชิร"
+ "อฏวี"
+ "อณิ"
+ "อณุ"
+ "อณู"
+ "อด"
+ "อดิถี"
+ "อดิศร"
+ "อดิศวร"
+ "อดิศัย"
+ "อดิเทพ"
+ "อดิเรก"
+ "อดีต"
+ "อดุล"
+ "อดุลย"
+ "อดุลย์"
+ "อติชาต"
+ "อติมานะ"
+ "อติราช"
+ "อติสาร"
+ "อติเรก"
+ "อทินนาทาน"
+ "อธรรม"
+ "อธิกมาส"
+ "อธิกรณ์"
+ "อธิกวาร"
+ "อธิกสุรทิน"
+ "อธิการ"
+ "อธิคม"
+ "อธิฏฐาน"
+ "อธิบดี"
+ "อธิบาย"
+ "อธิป"
+ "อธิปไตย"
+ "อธิราช"
+ "อธิษฐาน"
+ "อธึก"
+ "อนงคณะ"
+ "อนงคเลขา"
+ "อนงค์"
+ "อนงเลข"
+ "อนธการ"
+ "อนัตตา"
+ "อนันต์"
+ "อนาคต"
+ "อนาคามี"
+ "อนาจาร"
+ "อนาถ"
+ "อนาถา"
+ "อนาทร"
+ "อนาธิปไตย"
+ "อนามัย"
+ "อนารยชน"
+ "อนารยธรรม"
+ "อนารยะ"
+ "อนาลัย"
+ "อนิจ"
+ "อนิจจัง"
+ "อนิจจา"
+ "อนิฏฐารมย์"
+ "อนิยม"
+ "อนึ่ง"
+ "อนุ"
+ "อนุกร"
+ "อนุกรม"
+ "อนุกรรมการ"
+ "อนุกาชาด"
+ "อนุการ"
+ "อนุกูล"
+ "อนุจร"
+ "อนุชน"
+ "อนุชา"
+ "อนุชาต"
+ "อนุชิต"
+ "อนุญาต"
+ "อนุญาโตตุลาการ"
+ "อนุทิน"
+ "อนุบท"
+ "อนุบาล"
+ "อนุปริญญา"
+ "อนุพงศ์"
+ "อนุพันธ์"
+ "อนุภรรยา"
+ "อนุภริยา"
+ "อนุภาค"
+ "อนุมัติ"
+ "อนุมาตรา"
+ "อนุมาน"
+ "อนุมูล"
+ "อนุรักษนิยม"
+ "อนุรักษ์"
+ "อนุราช"
+ "อนุรูป"
+ "อนุวงศ์"
+ "อนุวัต"
+ "อนุศาสก"
+ "อนุศาสตราจารย์"
+ "อนุศาสน์"
+ "อนุศิษฏ์"
+ "อนุสติ"
+ "อนุสนธิ"
+ "อนุสร"
+ "อนุสรณ์"
+ "อนุสัญญา"
+ "อนุสัย"
+ "อนุสาวรีย์"
+ "อนุสาสนี"
+ "อนุเคราะห์"
+ "อนุเถระ"
+ "อนุโมทนา"
+ "อนุโยค"
+ "อนุโลม"
+ "อบ"
+ "อบาย"
+ "อบายภูมิ"
+ "อบายมุข"
+ "อปมงคล"
+ "อพยพ"
+ "อพาร์ตเมนต์"
+ "อภัย"
+ "อภิชน"
+ "อภิชาต"
+ "อภิญญา"
+ "อภิธรรม"
+ "อภิธาน"
+ "อภินันท์"
+ "อภินัย"
+ "อภินิหาร"
+ "อภิบาล"
+ "อภิปรัชญา"
+ "อภิปราย"
+ "อภิมหาอำนาจ"
+ "อภิมานะ"
+ "อภิมุข"
+ "อภิรดี"
+ "อภิรมย์"
+ "อภิรักษ์"
+ "อภิลักขิตสมัย"
+ "อภิวันท์"
+ "อภิวาทน์"
+ "อภิสมัย"
+ "อภิสมาจาร"
+ "อภิสมโพธิ"
+ "อภิสัมโพธิ"
+ "อภิสิทธิ์"
+ "อภิเลปน์"
+ "อภิเษก"
+ "อภิไธย"
+ "อม"
+ "อมตะ"
+ "อมนุษย์"
+ "อมร"
+ "อมรา"
+ "อมราวดี"
+ "อมรินทร์"
+ "อมฤต"
+ "อมฤตยู"
+ "อมิตร"
+ "อมเรศ"
+ "อยาก"
+ "อยุธยา"
+ "อยู่"
+ "อย่า"
+ "อย่าง"
+ "อร"
+ "อรชร"
+ "อรรณพ"
+ "อรรถ"
+ "อรรถาธิบาย"
+ "อรหะ"
+ "อรหัง"
+ "อรหันต์"
+ "อรัญ"
+ "อริ"
+ "อริยบุคคล"
+ "อริยะ"
+ "อริสโตเติล"
+ "อรุณ"
+ "อรุโณทัย"
+ "อรไท"
+ "อร่อย"
+ "อร่าม"
+ "อลงกต"
+ "อลงกรณ์"
+ "อลงการ"
+ "อลวน"
+ "อลหม่าน"
+ "อลังการ"
+ "อลัชชี"
+ "อลึ่งฉึ่ง"
+ "อลเวง"
+ "อล่องฉ่อง"
+ "อล่างฉ่าง"
+ "อวกาศ"
+ "อวด"
+ "อวตาร"
+ "อวน"
+ "อวบ"
+ "อวมงคล"
+ "อวย"
+ "อวล"
+ "อวสาน"
+ "อวหาร"
+ "อวัยวะ"
+ "อวิชชา"
+ "อสงไขย"
+ "อสนีบาต"
+ "อสมการ"
+ "อสมมาตร"
+ "อสรพิษ"
+ "อสังหาริมทรัพย์"
+ "อสัญญี"
+ "อสัญแดหวา"
+ "อสัตย์"
+ "อสีติ"
+ "อสุจิ"
+ "อสุนีบาต"
+ "อสุรกาย"
+ "อสุรี"
+ "อสูร"
+ "อหังการ"
+ "อหิงสา"
+ "อหิวาตกโรค"
+ "ออ"
+ "ออก"
+ "ออกซิเจน"
+ "ออกซิเดชัน"
+ "ออกญา"
+ "ออกไซด์"
+ "ออด"
+ "ออดิโอ"
+ "ออนชอร์"
+ "ออนซอน"
+ "ออนซ์"
+ "ออนไลน์"
+ "ออปชัน"
+ "ออปเจ็กต์"
+ "ออฟ"
+ "ออฟชอร์"
+ "ออฟฟิศ"
+ "ออม"
+ "ออราเคิล"
+ "ออร์แกน"
+ "ออส"
+ "ออสเตรเลีย"
+ "อะคร้าว"
+ "อะดรีนาลิน"
+ "อะตอม"
+ "อะร้าอร่าม"
+ "อะลุ่มอล่วย"
+ "อะลุ้มอล่วย"
+ "อะลูมิเนียม"
+ "อะเคื้อ"
+ "อะเซทิลีน"
+ "อะไร"
+ "อะไหล่"
+ "อัก"
+ "อักข"
+ "อักขรวิธี"
+ "อักขรวิบัติ"
+ "อักขรสมัย"
+ "อักขระ"
+ "อักษร"
+ "อักษะ"
+ "อักเสบ"
+ "อักโข"
+ "อัคคะ"
+ "อัคคี"
+ "อัคนี"
+ "อัครชายา"
+ "อัครมเหสี"
+ "อัครราชทูต"
+ "อัง"
+ "อังกฤษ"
+ "อังกะลุง"
+ "อังคณา"
+ "อังคาร"
+ "อังคาส"
+ "อังสตรอม"
+ "อังสนา"
+ "อัจกลับ"
+ "อัจจันต์"
+ "อัจจัย"
+ "อัจจิ"
+ "อัจฉรา"
+ "อัจฉริยบุคคล"
+ "อัจฉริยะ"
+ "อัจนา"
+ "อัชฌา"
+ "อัชฌาสัย"
+ "อัญชนะ"
+ "อัญชลี"
+ "อัญชัน"
+ "อัญประกาศ"
+ "อัญมณี"
+ "อัญมัญญะ"
+ "อัญรูป"
+ "อัญเชิญ"
+ "อัฏ"
+ "อัฏฐะ"
+ "อัฐ"
+ "อัฐฬส"
+ "อัฐิ"
+ "อัฒจันทร์"
+ "อัฒภาค"
+ "อัฒมณฑล"
+ "อัฒมาส"
+ "อัฒรัตติ"
+ "อัณฑชะ"
+ "อัณฑะ"
+ "อัณฑาการ"
+ "อัด"
+ "อัตคัด"
+ "อัตชีวประวัติ"
+ "อัตตะ"
+ "อัตตา"
+ "อัตตาธิปไตย"
+ "อัตนัย"
+ "อัตภาพ"
+ "อัตรา"
+ "อัตวินิบาตกรรม"
+ "อัตโนมัติ"
+ "อัธยาศัย"
+ "อัน"
+ "อันดับ"
+ "อันตรธาน"
+ "อันตราย"
+ "อันธการ"
+ "อันธพาล"
+ "อันเดอร์"
+ "อับ"
+ "อัปภาคย์"
+ "อัปมงคล"
+ "อัปยศ"
+ "อัประมาณ"
+ "อัปราชัย"
+ "อัปรีย์"
+ "อัปลักษณ์"
+ "อัปสร"
+ "อัปเปหิ"
+ "อัพเกรด"
+ "อัพเดต"
+ "อัพเดท"
+ "อัฟ"
+ "อัมพร"
+ "อัมพฤกษ์"
+ "อัมพา"
+ "อัมพาต"
+ "อัมพุช"
+ "อัมสเตอร์ดัม"
+ "อัยกา"
+ "อัยการ"
+ "อัยยิกา"
+ "อัลจีเรีย"
+ "อัลบั้ม"
+ "อัลบาเนีย"
+ "อัลเบเนีย"
+ "อัศจรรย์"
+ "อัศวิน"
+ "อัศวินี"
+ "อัศเจรีย์"
+ "อัษฎายุท"
+ "อัษฎาวุธ"
+ "อัสดง"
+ "อัสดงคต"
+ "อัสดร"
+ "อัสนี"
+ "อัสสะ"
+ "อัสสาสะ"
+ "อัสสุ"
+ "อั้ก"
+ "อั้งยี่"
+ "อั้งโล่"
+ "อั้น"
+ "อั๊ก"
+ "อั๋น"
+ "อา"
+ "อากร"
+ "อากัปกิริยา"
+ "อาการ"
+ "อากาศ"
+ "อากูล"
+ "อาก้า"
+ "อาขยาน"
+ "อาคม"
+ "อาคันตุกะ"
+ "อาคาร"
+ "อาคเนย์"
+ "อาฆาต"
+ "อางขนาง"
+ "อาจ"
+ "อาจม"
+ "อาจริยวัตร"
+ "อาจาด"
+ "อาจารย์"
+ "อาจิณ"
+ "อาชญา"
+ "อาชา"
+ "อาชาไนย"
+ "อาชีพ"
+ "อาชีวศึกษา"
+ "อาชีวะ"
+ "อาญา"
+ "อาณัติ"
+ "อาณา"
+ "อาด"
+ "อาดูร"
+ "อาตมภาพ"
+ "อาตมา"
+ "อาถรรพณ์"
+ "อาถรรพ์"
+ "อาทร"
+ "อาทิ"
+ "อาทิตย์"
+ "อาน"
+ "อานิสงส์"
+ "อานุภาพ"
+ "อาบ"
+ "อาบัติ"
+ "อาพาธ"
+ "อาฟกานิสถาน"
+ "อาฟริกา"
+ "อาภรณ์"
+ "อาภัพ"
+ "อาภา"
+ "อามิส"
+ "อาย"
+ "อายตนะ"
+ "อายัด"
+ "อายุ"
+ "อายุรศาสตร์"
+ "อายุรเวช"
+ "อายุรแพทย์"
+ "อารบิค"
+ "อารมณ์"
+ "อารยชน"
+ "อารยชาติ"
+ "อารยธรรม"
+ "อารยประเทศ"
+ "อารยะ"
+ "อารยัน"
+ "อารักขา"
+ "อารักษ์"
+ "อารัมภกถา"
+ "อารัมภบท"
+ "อาราธนา"
+ "อาราม"
+ "อารามิก"
+ "อาราเบีย"
+ "อารี"
+ "อาร์คติก"
+ "อาร์เซนอล"
+ "อาลปนะ"
+ "อาละวาด"
+ "อาลักษณ์"
+ "อาลัย"
+ "อาลัว"
+ "อาว"
+ "อาวรณ์"
+ "อาวาส"
+ "อาวาหะ"
+ "อาวุธ"
+ "อาวุโส"
+ "อาว์"
+ "อาศรม"
+ "อาศัย"
+ "อาศิรวาท"
+ "อาสนะ"
+ "อาสน์"
+ "อาสัญ"
+ "อาสา"
+ "อาสาฬหบูชา"
+ "อาสูร"
+ "อาหรับ"
+ "อาหาร"
+ "อาเจียน"
+ "อาเซีย"
+ "อาเรเบีย"
+ "อาเวค"
+ "อาเวศ"
+ "อาเศียรวาท"
+ "อำ"
+ "อำนวย"
+ "อำนาจ"
+ "อำพะนำ"
+ "อำพัน"
+ "อำมฤต"
+ "อำมหิต"
+ "อำมาตย์"
+ "อำลา"
+ "อำเภอ"
+ "อำไพ"
+ "อิง"
+ "อิงค์"
+ "อิงค์เจ็ต"
+ "อิจฉา"
+ "อิฉัน"
+ "อิฏฐารมณ์"
+ "อิฐ"
+ "อิด"
+ "อิตถี"
+ "อิตาลี"
+ "อิตาเลียน"
+ "อิทธิ"
+ "อิน"
+ "อินซูลิน"
+ "อินทนิล"
+ "อินทผลัม"
+ "อินทรธนู"
+ "อินทรวงศ์"
+ "อินทรวิเชียร"
+ "อินทรา"
+ "อินทราเน็ต"
+ "อินทรี"
+ "อินทรียสังวร"
+ "อินทรีย์"
+ "อินทร์"
+ "อินพุต"
+ "อินฟราเรด"
+ "อินฟอร์มิก"
+ "อินัง"
+ "อินเดีย"
+ "อินเดียนแดง"
+ "อินเตอร์"
+ "อินเตอร์เน็ต"
+ "อินเตอร์เฟซ"
+ "อินเทล"
+ "อินเทอร์เนต"
+ "อินเทอร์เน็ต"
+ "อินเทอร์เฟซ"
+ "อินโดนิเซีย"
+ "อินโดนีเซีย"
+ "อินโดเซีย"
+ "อิมพอร์ต"
+ "อิมเมจ"
+ "อิยิปต์"
+ "อิริยาบถ"
+ "อิศวร"
+ "อิษฏี"
+ "อิษฏ์"
+ "อิส"
+ "อิสตรี"
+ "อิสรภาพ"
+ "อิสระ"
+ "อิสราเอล"
+ "อิสริยยศ"
+ "อิสริยะ"
+ "อิสริยาภรณ์"
+ "อิสสา"
+ "อิสิ"
+ "อิสี"
+ "อิหม่าม"
+ "อิหร่าน"
+ "อิหลักอิเหลื่อ"
+ "อิเล็กตรอน"
+ "อิเล็กทรอนิกส์"
+ "อิเล็กโทน"
+ "อิ่ม"
+ "อี"
+ "อีก"
+ "อีกา"
+ "อีก้อ"
+ "อีคอมเมิร์ซ"
+ "อีนุงตุงนัง"
+ "อีมู"
+ "อียิปต์"
+ "อีลุ่ยฉุยแฉก"
+ "อีลุ้ม"
+ "อีสาน"
+ "อีสุกอีใส"
+ "อีหรอบ"
+ "อีหลักอิเหลื่อ"
+ "อีหลี"
+ "อีเต้อ"
+ "อีเทอร์"
+ "อีเมล์"
+ "อีเหละเขะขะ"
+ "อีโหลกโขลกเขลก"
+ "อี๊ด"
+ "อี๋"
+ "อึ"
+ "อึก"
+ "อึกทึก"
+ "อึกอัก"
+ "อึง"
+ "อึงมี่"
+ "อึงอล"
+ "อึด"
+ "อึ่ง"
+ "อึ้ง"
+ "อึ้ดทึ่ด"
+ "อึ๊ก"
+ "อืด"
+ "อือ"
+ "อื่น"
+ "อื้น"
+ "อื้อ"
+ "อุ"
+ "อุก"
+ "อุกกาบาต"
+ "อุกฤษฏ์"
+ "อุจจาระ"
+ "อุจาด"
+ "อุจารมรรค"
+ "อุจเฉท"
+ "อุชุ"
+ "อุฏฐาการ"
+ "อุณหภูมิ"
+ "อุณหะ"
+ "อุณหาการ"
+ "อุณหิส"
+ "อุณา"
+ "อุด"
+ "อุดม"
+ "อุดร"
+ "อุดหนุน"
+ "อุตพิด"
+ "อุตรดิตถ์"
+ "อุตริ"
+ "อุตลุด"
+ "อุตสาหกรรม"
+ "อุตสาหะ"
+ "อุตส่าห์"
+ "อุตุ"
+ "อุทก"
+ "อุทธรณ์"
+ "อุทธัจ"
+ "อุทยาน"
+ "อุทร"
+ "อุทลุม"
+ "อุทัช"
+ "อุทัย"
+ "อุทาน"
+ "อุทาร"
+ "อุทาหรณ์"
+ "อุทิศ"
+ "อุทุมพร"
+ "อุธัจ"
+ "อุบ"
+ "อุบล"
+ "อุบอิบ"
+ "อุบะ"
+ "อุบัติ"
+ "อุบาท"
+ "อุบาทว์"
+ "อุบาย"
+ "อุบาสก"
+ "อุบาสิกา"
+ "อุบ๊ะ"
+ "อุป"
+ "อุปกรณ์"
+ "อุปกรม"
+ "อุปการะ"
+ "อุปการี"
+ "อุปถัมภก"
+ "อุปถัมภ์"
+ "อุปทาน"
+ "อุปทูต"
+ "อุปนัย"
+ "อุปนายก"
+ "อุปนิสัย"
+ "อุปมา"
+ "อุปมาน"
+ "อุปราช"
+ "อุปสงค์"
+ "อุปสมบท"
+ "อุปสรรค"
+ "อุปสัมปทา"
+ "อุปัชฌายะ"
+ "อุปัชฌาย์"
+ "อุปัฏฐาก"
+ "อุปัฏฐานะ"
+ "อุปัทวันตราย"
+ "อุปัทวเหตุ"
+ "อุปาทาน"
+ "อุปโภค"
+ "อุปโยค"
+ "อุปโลกน์"
+ "อุปไมย"
+ "อุย"
+ "อุระ"
+ "อุรังอุตัง"
+ "อุรา"
+ "อุรุ"
+ "อุรุงอุตัง"
+ "อุษณีย์"
+ "อุษา"
+ "อุสา"
+ "อุสุ"
+ "อุเบกขา"
+ "อุเหม่"
+ "อุแว้"
+ "อุโฆษ"
+ "อุโบสถ"
+ "อุโมงค์"
+ "อุไร"
+ "อุ่น"
+ "อุ่ย"
+ "อุ้ง"
+ "อุ้ม"
+ "อุ้ย"
+ "อุ๊ย"
+ "อู"
+ "อูฐ"
+ "อูด"
+ "อูม"
+ "อูรุ"
+ "อู่"
+ "อู้"
+ "อู้อี้"
+ "อู๋อี๋"
+ "อเจลก"
+ "อเจละ"
+ "อเนก"
+ "อเนกคุณ"
+ "อเนจอนาถ"
+ "อเปหิ"
+ "อเม"
+ "อเมริกัน"
+ "อเมริกา"
+ "อเวจี"
+ "อแดปเตอร์"
+ "อโฆษะ"
+ "อโณทัย"
+ "อโนชา"
+ "อโนดาต"
+ "อโลหะ"
+ "อโศก"
+ "อโหสิ"
+ "อ่อง"
+ "อ่อน"
+ "อ่อย"
+ "อ่า"
+ "อ่าง"
+ "อ่าน"
+ "อ่าว"
+ "อ่ำ"
+ "อ้น"
+ "อ้วก"
+ "อ้วน"
+ "อ้อ"
+ "อ้อน"
+ "อ้อนแอ้น"
+ "อ้อม"
+ "อ้อย"
+ "อ้อยส้อย"
+ "อ้อยอิ่ง"
+ "อ้า"
+ "อ้าง"
+ "อ้าย"
+ "อ้าว"
+ "อ้ำอึ้ง"
+ "อ๊อด"
+ "อ๊ะ"
+ "อ๋อ"
+ "อ๋อง"
+ "อ๋อย"
+ "ฮกเกี้ยน"
+ "ฮวงซุ้ย"
+ "ฮวน"
+ "ฮวบ"
+ "ฮอกกี้"
+ "ฮอด"
+ "ฮอนโนลูลู"
+ "ฮอร์โมน"
+ "ฮอลันดา"
+ "ฮอลแลนด์"
+ "ฮะ"
+ "ฮัก"
+ "ฮังการี"
+ "ฮั่น"
+ "ฮั้ว"
+ "ฮา"
+ "ฮาม"
+ "ฮาร์ดดิสค์"
+ "ฮาร์ดแวร์"
+ "ฮาเร็ม"
+ "ฮาโลวีน"
+ "ฮิต"
+ "ฮินดู"
+ "ฮิปโปโปเตมัส"
+ "ฮิสทีเรีย"
+ "ฮีเลียม"
+ "ฮีโร่"
+ "ฮึ"
+ "ฮึก"
+ "ฮึด"
+ "ฮึดฮัด"
+ "ฮึม"
+ "ฮึย"
+ "ฮึ่ม"
+ "ฮืดฮาด"
+ "ฮือ"
+ "ฮื่อ"
+ "ฮื้อ"
+ "ฮุบ"
+ "ฮุยเลฮุย"
+ "ฮูก"
+ "ฮูม"
+ "ฮู้"
+ "ฮ่อ"
+ "ฮ่องกง"
+ "ฮ่องเต้"
+ "ฮ้อ"
+ "ฮ้า"
+ "เก"
+ "เกกมะเหรก"
+ "เกจิอาจารย์"
+ "เกณฑ์"
+ "เกด"
+ "เกตุ"
+ "เกน"
+ "เกม"
+ "เกมส์"
+ "เกย"
+ "เกรง"
+ "เกรด"
+ "เกรอะ"
+ "เกราะ"
+ "เกริก"
+ "เกริ่น"
+ "เกรียก"
+ "เกรียง"
+ "เกรียน"
+ "เกรียบ"
+ "เกรียม"
+ "เกรียว"
+ "เกรี้ยว"
+ "เกร็ง"
+ "เกร็ด"
+ "เกร่อ"
+ "เกล"
+ "เกลอ"
+ "เกลา"
+ "เกลียง"
+ "เกลียด"
+ "เกลียว"
+ "เกลี่ย"
+ "เกลี้ย"
+ "เกลี้ยง"
+ "เกลือ"
+ "เกลือก"
+ "เกลื่อน"
+ "เกลื้อ"
+ "เกลื้อน"
+ "เกล็ด"
+ "เกล้า"
+ "เกวียน"
+ "เกศ"
+ "เกศา"
+ "เกศินี"
+ "เกษตร"
+ "เกษตรกร"
+ "เกษตรกรรม"
+ "เกษม"
+ "เกษียณ"
+ "เกษียน"
+ "เกสร"
+ "เกอ"
+ "เกอร์"
+ "เกอิชา"
+ "เกะ"
+ "เกะกะ"
+ "เกา"
+ "เกาต์"
+ "เกาทัณฑ์"
+ "เกาลัด"
+ "เกาหลี"
+ "เกาะ"
+ "เกาเหลา"
+ "เกิง"
+ "เกิด"
+ "เกิน"
+ "เกีย"
+ "เกียง"
+ "เกียจ"
+ "เกียด"
+ "เกียน"
+ "เกียรติ"
+ "เกียรติคุณ"
+ "เกียรตินิยม"
+ "เกียรติประวัติ"
+ "เกียรติภูมิ"
+ "เกียรติยศ"
+ "เกียรติศักดิ์"
+ "เกียรติ์"
+ "เกียร์"
+ "เกี่ย"
+ "เกี่ยง"
+ "เกี่ยว"
+ "เกี้ยมอี๋"
+ "เกี้ยมไฉ่"
+ "เกี้ยว"
+ "เกี๊ยว"
+ "เกี๊ยะ"
+ "เกือก"
+ "เกือบ"
+ "เกื้อ"
+ "เกเร"
+ "เก็ง"
+ "เก็จ"
+ "เก็บ"
+ "เก่ง"
+ "เก่งกาจ"
+ "เก่น"
+ "เก่า"
+ "เก้"
+ "เก้ง"
+ "เก้งก้าง"
+ "เก้อ"
+ "เก้า"
+ "เก้าอี้"
+ "เก๊"
+ "เก๊ก"
+ "เก๊กฮวย"
+ "เก๋"
+ "เก๋ง"
+ "เก๋า"
+ "เข"
+ "เขก"
+ "เขต"
+ "เขน"
+ "เขนง"
+ "เขนย"
+ "เขน็ด"
+ "เขบ็จขบวน"
+ "เขบ็ต"
+ "เขมร"
+ "เขมา"
+ "เขมือบ"
+ "เขม็ง"
+ "เขม็ดแขม่"
+ "เขม่น"
+ "เขม่า"
+ "เขม้น"
+ "เขย"
+ "เขยก"
+ "เขยิบ"
+ "เขยื้อน"
+ "เขย่ง"
+ "เขย่า"
+ "เขย้อแขย่ง"
+ "เขรอะ"
+ "เขลง"
+ "เขลอะ"
+ "เขละ"
+ "เขลา"
+ "เขลาะ"
+ "เขว"
+ "เขษม"
+ "เขฬะ"
+ "เขะขะ"
+ "เขา"
+ "เขิน"
+ "เขียง"
+ "เขียด"
+ "เขียน"
+ "เขียม"
+ "เขียว"
+ "เขี่ย"
+ "เขี้ยว"
+ "เขือ"
+ "เขื่อง"
+ "เขื่อน"
+ "เข็ญ"
+ "เข็ด"
+ "เข็น"
+ "เข็ม"
+ "เข่ง"
+ "เข่น"
+ "เข่า"
+ "เข้ม"
+ "เข้า"
+ "เคนยา"
+ "เคมี"
+ "เคย"
+ "เครง"
+ "เครดิต"
+ "เครา"
+ "เคราะห์"
+ "เครียด"
+ "เครือ"
+ "เครื่อง"
+ "เครื่องพิมพ์"
+ "เคร่ง"
+ "เคร่งครัด"
+ "เคลิบเคลิ้ม"
+ "เคลิ้ม"
+ "เคลีย"
+ "เคลือบ"
+ "เคลื่อน"
+ "เคล็ด"
+ "เคล้น"
+ "เคล้า"
+ "เคว้ง"
+ "เคห"
+ "เคหะ"
+ "เคหา"
+ "เคอร์เนล"
+ "เคอะ"
+ "เคาน์เตอร์"
+ "เคารพ"
+ "เคาะ"
+ "เคียง"
+ "เคียด"
+ "เคียน"
+ "เคียว"
+ "เคี่ยม"
+ "เคี่ยว"
+ "เคี้ยว"
+ "เคือง"
+ "เคเบิล"
+ "เค็ม"
+ "เค้ก"
+ "เค้น"
+ "เค้า"
+ "เค้เก้"
+ "เฆี่ยน"
+ "เงก"
+ "เงย"
+ "เงอะ"
+ "เงอะงะ"
+ "เงา"
+ "เงาะ"
+ "เงิน"
+ "เงียบ"
+ "เงี่ยง"
+ "เงี่ยน"
+ "เงี่ยหู"
+ "เงี้ยว"
+ "เงือก"
+ "เงือด"
+ "เงือบ"
+ "เงื่อง"
+ "เงื่อน"
+ "เงื่อนไข"
+ "เงื้อ"
+ "เงื้อม"
+ "เง่า"
+ "เง้า"
+ "เจ"
+ "เจดียสถาน"
+ "เจดีย์"
+ "เจต"
+ "เจตคติ"
+ "เจตจำนง"
+ "เจตนา"
+ "เจตนารมณ์"
+ "เจตภูต"
+ "เจตสิก"
+ "เจน"
+ "เจมส์"
+ "เจรจา"
+ "เจริญ"
+ "เจริด"
+ "เจว็ด"
+ "เจษฎา"
+ "เจอ"
+ "เจอร์"
+ "เจอะ"
+ "เจาะ"
+ "เจิด"
+ "เจิม"
+ "เจิ่ง"
+ "เจิ่น"
+ "เจียด"
+ "เจียน"
+ "เจียม"
+ "เจียระไน"
+ "เจียว"
+ "เจี๊ยบ"
+ "เจี๊ยว"
+ "เจี๊ยวจ๊าว"
+ "เจี๋ยน"
+ "เจี๋ยมเจี้ยม"
+ "เจือ"
+ "เจื่อน"
+ "เจื้อย"
+ "เจ็ด"
+ "เจ็บ"
+ "เจ่อ"
+ "เจ่า"
+ "เจ้า"
+ "เจ้าชู้"
+ "เจ๊"
+ "เจ๊ก"
+ "เจ๊ง"
+ "เจ๊ต"
+ "เจ๊า"
+ "เจ๋อ"
+ "เฉ"
+ "เฉก"
+ "เฉด"
+ "เฉพาะ"
+ "เฉย"
+ "เฉยเมย"
+ "เฉลย"
+ "เฉลา"
+ "เฉลิม"
+ "เฉลียง"
+ "เฉลียว"
+ "เฉลี่ย"
+ "เฉวียง"
+ "เฉวียน"
+ "เฉอะแฉะ"
+ "เฉา"
+ "เฉาก๊วย"
+ "เฉาะ"
+ "เฉิด"
+ "เฉิบ"
+ "เฉียง"
+ "เฉียด"
+ "เฉียบ"
+ "เฉียว"
+ "เฉี่ยว"
+ "เฉือน"
+ "เฉื่อย"
+ "เฉโก"
+ "เฉ่ง"
+ "เชน"
+ "เชย"
+ "เชล"
+ "เชลย"
+ "เชษฐา"
+ "เชอ"
+ "เชอร์"
+ "เชาวน์"
+ "เชาว์"
+ "เชิง"
+ "เชิญ"
+ "เชิด"
+ "เชิ้ต"
+ "เชียง"
+ "เชียงใหม่"
+ "เชียบ"
+ "เชียร์"
+ "เชียว"
+ "เชี่ยน"
+ "เชี่ยว"
+ "เชือก"
+ "เชือด"
+ "เชือน"
+ "เชื่อ"
+ "เชื่อง"
+ "เชื่อม"
+ "เชื้อ"
+ "เช็ค"
+ "เช็ด"
+ "เช่น"
+ "เช่า"
+ "เช้ง"
+ "เช้า"
+ "เซ"
+ "เซต"
+ "เซน"
+ "เซนติกรัม"
+ "เซนติลิตร"
+ "เซนติเกรด"
+ "เซนติเมตร"
+ "เซนต์"
+ "เซปักตระกร้อ"
+ "เซฟ"
+ "เซรุ่ม"
+ "เซลลูลอยด์"
+ "เซลลูโลส"
+ "เซลล์"
+ "เซลส์"
+ "เซลเซียส"
+ "เซอ"
+ "เซอร์"
+ "เซอร์วิส"
+ "เซอะ"
+ "เซา"
+ "เซาะ"
+ "เซิง"
+ "เซิร์ฟเวอร์"
+ "เซิ้ง"
+ "เซียน"
+ "เซียมซี"
+ "เซียว"
+ "เซี่ยงไฮ้"
+ "เซื่อง"
+ "เซ็กเมนต์"
+ "เซ็ง"
+ "เซ็น"
+ "เซ็นเตอร์"
+ "เซ่ง"
+ "เซ่น"
+ "เซ่อ"
+ "เซ้ง"
+ "เซ้าซี้"
+ "เฌอ"
+ "เฌอเอม"
+ "เฒ่า"
+ "เณร"
+ "เดกซ์โทรส"
+ "เดคากรัม"
+ "เดคาลิตร"
+ "เดคาเมตร"
+ "เดช"
+ "เดชะ"
+ "เดซิกรัม"
+ "เดซิลิตร"
+ "เดซิเมตร"
+ "เดน"
+ "เดนมาร์ก"
+ "เดนมาร์ค"
+ "เดบิต"
+ "เดรัจฉาน"
+ "เดลล์"
+ "เดวิด"
+ "เดสก์ทอป"
+ "เดอะ"
+ "เดา"
+ "เดาะ"
+ "เดิน"
+ "เดิม"
+ "เดีย"
+ "เดียง"
+ "เดียด"
+ "เดียร"
+ "เดียรดาษ"
+ "เดียรถีย์"
+ "เดียรัจฉาน"
+ "เดียว"
+ "เดียะ"
+ "เดี่ยว"
+ "เดี้ย"
+ "เดี๋ยว"
+ "เดือด"
+ "เดือน"
+ "เดือย"
+ "เดโช"
+ "เด็ก"
+ "เด็จ"
+ "เด็ด"
+ "เด่"
+ "เด่น"
+ "เด่า"
+ "เด้ง"
+ "เด้า"
+ "เด๋อ"
+ "เด๋อด๋า"
+ "เตย"
+ "เตรีย"
+ "เตรียด"
+ "เตรียม"
+ "เตร็ด"
+ "เตร่"
+ "เตลิด"
+ "เตว็ด"
+ "เตอร์"
+ "เตอร์กี"
+ "เตอะ"
+ "เตะ"
+ "เตา"
+ "เตาะแตะ"
+ "เติบ"
+ "เติม"
+ "เติ่ง"
+ "เตียง"
+ "เตียน"
+ "เตียบ"
+ "เตี่ย"
+ "เตี่ยว"
+ "เตี้ย"
+ "เตี๋ยม"
+ "เตือน"
+ "เตื้อ"
+ "เต็ง"
+ "เต็นท์"
+ "เต็ม"
+ "เต่ง"
+ "เต่อ"
+ "เต่า"
+ "เต้น"
+ "เต้า"
+ "เต้าทึง"
+ "เต้าส่วน"
+ "เต้าหู้"
+ "เต้าฮวย"
+ "เต้าเจี้ยว"
+ "เต้าเสียบ"
+ "เต๊ก"
+ "เต๊ะ"
+ "เต๋า"
+ "เถกิง"
+ "เถน"
+ "เถร"
+ "เถระ"
+ "เถรานุเถระ"
+ "เถลิง"
+ "เถลือกถลน"
+ "เถลไถล"
+ "เถอะ"
+ "เถา"
+ "เถาวัลย์"
+ "เถาะ"
+ "เถิก"
+ "เถิด"
+ "เถิดเทิง"
+ "เถิน"
+ "เถียง"
+ "เถือ"
+ "เถือก"
+ "เถื่อน"
+ "เถ่อ"
+ "เถ้า"
+ "เท"
+ "เทคนิค"
+ "เทคโนโลยี"
+ "เทนนิส"
+ "เทป"
+ "เทพ"
+ "เทพดา"
+ "เทพธิดา"
+ "เทพนม"
+ "เทพยดา"
+ "เทพยเจ้า"
+ "เทพารักษ์"
+ "เทพี"
+ "เทพเจ้า"
+ "เทมปุระ"
+ "เทรดเดอร์"
+ "เทรนเนอร์"
+ "เทวดา"
+ "เทวทัณฑ์"
+ "เทวทูต"
+ "เทวธรรม"
+ "เทวธิดา"
+ "เทวนิยม"
+ "เทวรูป"
+ "เทวษ"
+ "เทวสถาน"
+ "เทวัญ"
+ "เทวัน"
+ "เทวาลัย"
+ "เทวี"
+ "เทวโลก"
+ "เทศ"
+ "เทศกาล"
+ "เทศนา"
+ "เทศน์"
+ "เทศบาล"
+ "เทศมนตรี"
+ "เทศาภิบาล"
+ "เทสต์"
+ "เทหวัตถุ"
+ "เทห์"
+ "เทอญ"
+ "เทอม"
+ "เทอร์โมมิเตอร์"
+ "เทอะทะ"
+ "เทา"
+ "เทิด"
+ "เทิน"
+ "เทิบ"
+ "เทิ่ง"
+ "เทิ้ม"
+ "เทียน"
+ "เทียบ"
+ "เทียม"
+ "เทียว"
+ "เที่ยง"
+ "เที่ยว"
+ "เทือก"
+ "เทเบิล"
+ "เทเลคอม"
+ "เทเวศร์"
+ "เทเวศวร์"
+ "เทโพ"
+ "เท็จ"
+ "เท่"
+ "เท่อ"
+ "เท่า"
+ "เท้งเต้ง"
+ "เท้อ"
+ "เท้า"
+ "เธน"
+ "เธนส์"
+ "เธอ"
+ "เนคไท"
+ "เนต"
+ "เนตร"
+ "เนตสเคป"
+ "เนติ"
+ "เนบิวลา"
+ "เนปจูน"
+ "เนปาล"
+ "เนย"
+ "เนรคุณ"
+ "เนรมิต"
+ "เนรเทศ"
+ "เนา"
+ "เนิน"
+ "เนิบ"
+ "เนิ่น"
+ "เนีย"
+ "เนียน"
+ "เนียม"
+ "เนือง"
+ "เนือย"
+ "เนื่อง"
+ "เนื้อ"
+ "เน็ต"
+ "เน็ตเวิร์ก"
+ "เน็ตเวิร์ค"
+ "เน่า"
+ "เน้น"
+ "เน้อ"
+ "เบ"
+ "เบคอน"
+ "เบงกอล"
+ "เบญจ"
+ "เบญจก"
+ "เบญจกัลยาณี"
+ "เบญจกามคุณ"
+ "เบญจธรรม"
+ "เบญจบรรพต"
+ "เบญจมาศ"
+ "เบญจรงค์"
+ "เบญจา"
+ "เบญจางคประดิษฐ์"
+ "เบญจางค์"
+ "เบญจเพส"
+ "เบต้า"
+ "เบน"
+ "เบนซิน"
+ "เบนซ์"
+ "เบรก"
+ "เบร์ก"
+ "เบลเยี่ยม"
+ "เบศ"
+ "เบส"
+ "เบสบอล"
+ "เบอร์"
+ "เบอร์ลิน"
+ "เบอะ"
+ "เบอะบะ"
+ "เบะ"
+ "เบา"
+ "เบาะ"
+ "เบาะแส"
+ "เบิก"
+ "เบิร์ก"
+ "เบิ่ง"
+ "เบียด"
+ "เบียน"
+ "เบียร์"
+ "เบี่ยง"
+ "เบี้ย"
+ "เบี้ยว"
+ "เบือ"
+ "เบือน"
+ "เบื่อ"
+ "เบื้อ"
+ "เบื้อง"
+ "เบ็ด"
+ "เบ็ดเตล็ด"
+ "เบ็ดเสร็จ"
+ "เบ่ง"
+ "เบ้"
+ "เบ้อ"
+ "เบ้อเริ่ม"
+ "เบ้อเร่อ"
+ "เบ้า"
+ "เปก"
+ "เปรต"
+ "เปรม"
+ "เปรย"
+ "เปรอ"
+ "เปรอะ"
+ "เปราะ"
+ "เปรียง"
+ "เปรียญ"
+ "เปรียบ"
+ "เปรียว"
+ "เปรียะ"
+ "เปรี้ยง"
+ "เปรี้ยว"
+ "เปรี๊ยะ"
+ "เปรื่อง"
+ "เปรื้อย"
+ "เปล"
+ "เปลว"
+ "เปลาะ"
+ "เปลี่ยน"
+ "เปลี่ยว"
+ "เปลี้ย"
+ "เปลือก"
+ "เปลือง"
+ "เปลือย"
+ "เปลื้อง"
+ "เปล่ง"
+ "เปล่า"
+ "เปอ"
+ "เปอร์"
+ "เปอร์เซ็นต์"
+ "เปะ"
+ "เปา"
+ "เปาะ"
+ "เปาเปา"
+ "เปิก"
+ "เปิง"
+ "เปิด"
+ "เปิบ"
+ "เปิ่น"
+ "เปิ๊บ"
+ "เปีย"
+ "เปียก"
+ "เปี่ยม"
+ "เปี้ยว"
+ "เปี๊ยก"
+ "เปี๊ยะ"
+ "เปือก"
+ "เปื่อย"
+ "เปื้อน"
+ "เป็ด"
+ "เป็น"
+ "เป็นต้น"
+ "เป่ง"
+ "เป่า"
+ "เป้"
+ "เป้ง"
+ "เป้า"
+ "เป๊ก"
+ "เป๋"
+ "เป๋ง"
+ "เป๋อ"
+ "เป๋อเหลอ"
+ "เป๋า"
+ "เป๋าฮื้อ"
+ "เผ"
+ "เผง"
+ "เผชิญ"
+ "เผดิม"
+ "เผดียง"
+ "เผด็จ"
+ "เผย"
+ "เผยอ"
+ "เผลอ"
+ "เผลอไผล"
+ "เผละ"
+ "เผลาะ"
+ "เผล่"
+ "เผอิญ"
+ "เผอเรอ"
+ "เผะ"
+ "เผา"
+ "เผาะ"
+ "เผิน"
+ "เผือก"
+ "เผือด"
+ "เผื่อ"
+ "เผ็ด"
+ "เผ่น"
+ "เผ่า"
+ "เผ้า"
+ "เฝือ"
+ "เฝือก"
+ "เฝื่อน"
+ "เฝ้า"
+ "เพ"
+ "เพจ"
+ "เพชฌฆาต"
+ "เพชร"
+ "เพชรายุธ"
+ "เพดาน"
+ "เพทนา"
+ "เพทาย"
+ "เพทุบาย"
+ "เพนกวิน"
+ "เพนียด"
+ "เพนเทียม"
+ "เพรง"
+ "เพรา"
+ "เพราะ"
+ "เพริด"
+ "เพริศ"
+ "เพรียก"
+ "เพรียง"
+ "เพรียบ"
+ "เพรียว"
+ "เพรื่อ"
+ "เพล"
+ "เพลง"
+ "เพลา"
+ "เพลาะ"
+ "เพลิง"
+ "เพลิดเพลิน"
+ "เพลิน"
+ "เพลีย"
+ "เพลี่ยง"
+ "เพลี้ย"
+ "เพศ"
+ "เพาะ"
+ "เพิก"
+ "เพิง"
+ "เพิ่ง"
+ "เพิ่ม"
+ "เพียง"
+ "เพียบ"
+ "เพียร"
+ "เพี้ย"
+ "เพี้ยง"
+ "เพี้ยน"
+ "เพื่อ"
+ "เพื่อน"
+ "เพ็ง"
+ "เพ็จ"
+ "เพ็ญ"
+ "เพ็ดทูล"
+ "เพ่ง"
+ "เพ่นพ่าน"
+ "เพ่อ"
+ "เพ้อ"
+ "เฟด"
+ "เฟอ"
+ "เฟอร์"
+ "เฟอร์นิเจอร์"
+ "เฟอร์เมียม"
+ "เฟอะ"
+ "เฟะ"
+ "เฟิน"
+ "เฟี้ยม"
+ "เฟี้ยว"
+ "เฟือ"
+ "เฟือง"
+ "เฟือน"
+ "เฟือย"
+ "เฟื่อง"
+ "เฟื้อ"
+ "เฟื้อง"
+ "เฟื้อย"
+ "เฟ็ด"
+ "เฟ้น"
+ "เฟ้อ"
+ "เภตรา"
+ "เภท"
+ "เภทุบาย"
+ "เภรี"
+ "เภสัช"
+ "เม"
+ "เมกะ"
+ "เมกะเฮิรตซ์"
+ "เมขลา"
+ "เมฆ"
+ "เมฆา"
+ "เมฆินทร์"
+ "เมฆี"
+ "เมตตา"
+ "เมตร"
+ "เมตริก"
+ "เมถุน"
+ "เมทนี"
+ "เมทินี"
+ "เมธา"
+ "เมธี"
+ "เมนทอล"
+ "เมนบอร์ด"
+ "เมนู"
+ "เมมโมรี"
+ "เมรัย"
+ "เมรุ"
+ "เมลือง"
+ "เมลื่อย"
+ "เมลื้อย"
+ "เมล็ด"
+ "เมล์"
+ "เมษ"
+ "เมษายน"
+ "เมะ"
+ "เมา"
+ "เมาลี"
+ "เมาส์"
+ "เมาฬี"
+ "เมาะ"
+ "เมิน"
+ "เมีย"
+ "เมียง"
+ "เมี่ยง"
+ "เมี้ยน"
+ "เมือก"
+ "เมือง"
+ "เมื่อ"
+ "เมื่อย"
+ "เมโมรี"
+ "เม็กซิโก"
+ "เม็ด"
+ "เม่น"
+ "เม่า"
+ "เม้ม"
+ "เม้าส์"
+ "เย"
+ "เยง"
+ "เยซู"
+ "เยน"
+ "เยอ"
+ "เยอรมัน"
+ "เยอรมันนี"
+ "เยอรมันี"
+ "เยอะ"
+ "เยา"
+ "เยาวชน"
+ "เยาวพา"
+ "เยาวพาน"
+ "เยาวมาลย์"
+ "เยาวยอด"
+ "เยาวราช"
+ "เยาวลักษณ์"
+ "เยาวเรศ"
+ "เยาว์"
+ "เยาะ"
+ "เยิน"
+ "เยิบ"
+ "เยิ่น"
+ "เยิ่นเย้อ"
+ "เยิ้ม"
+ "เยีย"
+ "เยียน"
+ "เยียบ"
+ "เยียว"
+ "เยี่ยง"
+ "เยี่ยม"
+ "เยี่ยว"
+ "เยือก"
+ "เยือน"
+ "เยื่อ"
+ "เยื้อ"
+ "เยื้อง"
+ "เยื้อน"
+ "เย็น"
+ "เย็บ"
+ "เย่น"
+ "เย่อ"
+ "เย้"
+ "เย้ย"
+ "เย้า"
+ "เรข"
+ "เรขา"
+ "เรขาคณิต"
+ "เรณู"
+ "เรดอน"
+ "เรดาร์"
+ "เรรวน"
+ "เรวดี"
+ "เรอ"
+ "เรา"
+ "เราะ"
+ "เริง"
+ "เริด"
+ "เริม"
+ "เริ่ม"
+ "เริ้ม"
+ "เรียก"
+ "เรียง"
+ "เรียด"
+ "เรียน"
+ "เรียบ"
+ "เรียม"
+ "เรียว"
+ "เรี่ย"
+ "เรี่ยม"
+ "เรี่ยว"
+ "เรี้ยวรก"
+ "เรือ"
+ "เรือก"
+ "เรือง"
+ "เรือด"
+ "เรือน"
+ "เรื่อ"
+ "เรื่อง"
+ "เรื่อย"
+ "เรื้อ"
+ "เรื้อน"
+ "เรไร"
+ "เร็ว"
+ "เร่"
+ "เร่ง"
+ "เร่อ"
+ "เร่า"
+ "เร้น"
+ "เร้า"
+ "เลข"
+ "เลขา"
+ "เลขาธิการ"
+ "เลขานุการ"
+ "เลดี้"
+ "เลต"
+ "เลน"
+ "เลนส์"
+ "เลบานอน"
+ "เลย"
+ "เลว"
+ "เลศ"
+ "เลหลัง"
+ "เลอ"
+ "เลอะ"
+ "เลอะเทอะ"
+ "เละ"
+ "เละเทะ"
+ "เลา"
+ "เลาะ"
+ "เลิก"
+ "เลิกลั่ก"
+ "เลินเล่อ"
+ "เลิศ"
+ "เลิ้ง"
+ "เลีย"
+ "เลียง"
+ "เลียน"
+ "เลียบ"
+ "เลียม"
+ "เลียว"
+ "เลี่ยง"
+ "เลี่ยน"
+ "เลี่ยม"
+ "เลี้ยง"
+ "เลี้ยว"
+ "เลือก"
+ "เลือด"
+ "เลือน"
+ "เลื่อง"
+ "เลื่อน"
+ "เลื่อม"
+ "เลื่อมใส"
+ "เลื่อย"
+ "เลื้อย"
+ "เลเซอร์"
+ "เลเพ"
+ "เล็ก"
+ "เล็ง"
+ "เล็ด"
+ "เล็น"
+ "เล็บ"
+ "เล็ม"
+ "เล่น"
+ "เล่ม"
+ "เล่ห์"
+ "เล่อ"
+ "เล่า"
+ "เล้ง"
+ "เล้า"
+ "เวค"
+ "เวคิน"
+ "เวคี"
+ "เวจ"
+ "เวช"
+ "เวชกรรม"
+ "เวฐน์"
+ "เวณะ"
+ "เวณิ"
+ "เวณิก"
+ "เวณุ"
+ "เวตน์"
+ "เวตร"
+ "เวตาล"
+ "เวท"
+ "เวทนา"
+ "เวทย์"
+ "เวทางคศาสตร์"
+ "เวทางค์"
+ "เวทานตะ"
+ "เวทานต์"
+ "เวทิ"
+ "เวที"
+ "เวธะ"
+ "เวน"
+ "เวนิส"
+ "เวนไตย"
+ "เวบไซต์"
+ "เวมบลีย์"
+ "เวมะ"
+ "เวมัต"
+ "เวมาติก"
+ "เวร"
+ "เวรมณี"
+ "เวรัณ"
+ "เวรัณณิยะ"
+ "เวรี"
+ "เวลส์"
+ "เวลา"
+ "เวศม์"
+ "เวศยา"
+ "เวศย์"
+ "เวสต์"
+ "เวสน์"
+ "เวสภู"
+ "เวสมะ"
+ "เวสม์"
+ "เวสวัณ"
+ "เวสสะ"
+ "เวสสันดร"
+ "เวสสุกรรม"
+ "เวสสุวัณ"
+ "เวสารัช"
+ "เวสิ"
+ "เวสิยา"
+ "เวหน"
+ "เวหะ"
+ "เวหังค์"
+ "เวหัปติ"
+ "เวหา"
+ "เวหายส"
+ "เวหาส"
+ "เวฬุ"
+ "เวอ"
+ "เวอร์"
+ "เวอร์ชัน"
+ "เวิก"
+ "เวิร์กสเตชัน"
+ "เวิร์ด"
+ "เวิ้ง"
+ "เวียง"
+ "เวียดนาม"
+ "เวียน"
+ "เวโรจน์"
+ "เวไนย"
+ "เว็บ"
+ "เว็ป"
+ "เว่อ"
+ "เว้"
+ "เว้น"
+ "เว้ย"
+ "เว้า"
+ "เศรษฐกิจ"
+ "เศรษฐศาสตร์"
+ "เศรษฐานะ"
+ "เศรษฐี"
+ "เศรษฐ์"
+ "เศร้า"
+ "เศวต"
+ "เศษ"
+ "เศียร"
+ "เส"
+ "เสก"
+ "เสงี่ยม"
+ "เสฉวน"
+ "เสด"
+ "เสด็จ"
+ "เสถียร"
+ "เสถียรภาพ"
+ "เสน"
+ "เสนง"
+ "เสนหา"
+ "เสนอ"
+ "เสนะ"
+ "เสนา"
+ "เสนาธิการ"
+ "เสนาบดี"
+ "เสนาสนะ"
+ "เสนาะ"
+ "เสนียด"
+ "เสนีย์"
+ "เสน่ง"
+ "เสน่หา"
+ "เสน่ห์"
+ "เสน่า"
+ "เสบย"
+ "เสบียง"
+ "เสพ"
+ "เสพย์"
+ "เสภา"
+ "เสมหะ"
+ "เสมอ"
+ "เสมา"
+ "เสมียน"
+ "เสมือน"
+ "เสม็ด"
+ "เสย"
+ "เสริด"
+ "เสริฟ"
+ "เสริม"
+ "เสรี"
+ "เสร็จ"
+ "เสลด"
+ "เสลา"
+ "เสลี่ยง"
+ "เสลือกสลน"
+ "เสวก"
+ "เสวกามาตย์"
+ "เสวนะ"
+ "เสวนา"
+ "เสวย"
+ "เสวียน"
+ "เสา"
+ "เสารภย์"
+ "เสาร์"
+ "เสาวคนธ์"
+ "เสาวณิต"
+ "เสาวนา"
+ "เสาวนีย์"
+ "เสาวภา"
+ "เสาวภาคย์"
+ "เสาวภาพ"
+ "เสาวรส"
+ "เสาวลักษณ์"
+ "เสาะ"
+ "เสิร์ฟ"
+ "เสีย"
+ "เสียง"
+ "เสียด"
+ "เสียบ"
+ "เสียม"
+ "เสียว"
+ "เสี่ย"
+ "เสี่ยง"
+ "เสี่ยว"
+ "เสี้ยน"
+ "เสี้ยม"
+ "เสี้ยว"
+ "เสือ"
+ "เสือก"
+ "เสื่อ"
+ "เสื่อม"
+ "เสื้อ"
+ "เสเพล"
+ "เสโท"
+ "เสโล"
+ "เส็งเคร็ง"
+ "เส้ง"
+ "เส้น"
+ "เส้า"
+ "เห"
+ "เหง"
+ "เหงา"
+ "เหงือก"
+ "เหงื่อ"
+ "เหง่ง"
+ "เหตุ"
+ "เหตุการณ์"
+ "เหนอะ"
+ "เหนอะหนะ"
+ "เหนาะ"
+ "เหนียง"
+ "เหนียม"
+ "เหนียว"
+ "เหนี่ยว"
+ "เหนือ"
+ "เหนื่อย"
+ "เหน็ด"
+ "เหน็บ"
+ "เหน่ง"
+ "เหน่อ"
+ "เหน้า"
+ "เหม"
+ "เหมวดี"
+ "เหมันต์"
+ "เหมา"
+ "เหมาะ"
+ "เหมียว"
+ "เหมี่ยว"
+ "เหมือง"
+ "เหมือด"
+ "เหมือน"
+ "เหม็น"
+ "เหม่"
+ "เหม่ง"
+ "เหม่อ"
+ "เหย"
+ "เหยง"
+ "เหยาะ"
+ "เหยิง"
+ "เหยียด"
+ "เหยียบ"
+ "เหยี่ยว"
+ "เหยือก"
+ "เหยื่อ"
+ "เหย้า"
+ "เหรัญญิก"
+ "เหรา"
+ "เหรียญ"
+ "เหลน"
+ "เหลว"
+ "เหลอ"
+ "เหลา"
+ "เหลาะแหละ"
+ "เหลิง"
+ "เหลียน"
+ "เหลียว"
+ "เหลี่ยม"
+ "เหลือ"
+ "เหลือก"
+ "เหลือง"
+ "เหลือบ"
+ "เหลื่อม"
+ "เหล็ก"
+ "เหล่"
+ "เหล่า"
+ "เหล้า"
+ "เหว"
+ "เหวง"
+ "เหวย"
+ "เหวอะ"
+ "เหวอะหวะ"
+ "เหวี่ยง"
+ "เหว่"
+ "เหอะ"
+ "เหา"
+ "เหาะ"
+ "เหิน"
+ "เหิม"
+ "เหียน"
+ "เหี่ยว"
+ "เหี้ย"
+ "เหี้ยน"
+ "เหี้ยม"
+ "เหือด"
+ "เหื่อ"
+ "เห็จ"
+ "เห็ด"
+ "เห็น"
+ "เห็บ"
+ "เห่"
+ "เห่อ"
+ "เห่า"
+ "เอ"
+ "เอก"
+ "เอกฉันท์"
+ "เอกชน"
+ "เอกซเรย์"
+ "เอกซโป"
+ "เอกภพ"
+ "เอกภาพ"
+ "เอกมัย"
+ "เอกรรถประโยค"
+ "เอกราช"
+ "เอกลักษณ์"
+ "เอกสาร"
+ "เอกัคตา"
+ "เอกาธิปไตย"
+ "เอกเขนก"
+ "เอกเทศ"
+ "เอง"
+ "เอชพี"
+ "เอดส์"
+ "เอดิเตอร์"
+ "เอตทัคคะ"
+ "เอทีเอ็ม"
+ "เอน"
+ "เอนทรานซ์"
+ "เอนไซม์"
+ "เอปสัน"
+ "เอม"
+ "เอย"
+ "เอราวัณ"
+ "เอร็ดอร่อย"
+ "เอว"
+ "เอวัง"
+ "เอส"
+ "เอฬก"
+ "เอฬา"
+ "เออ"
+ "เอะอะ"
+ "เอะใจ"
+ "เอา"
+ "เอาท์พุต"
+ "เอาฬาร"
+ "เอิก"
+ "เอิบ"
+ "เอิ้น"
+ "เอียง"
+ "เอียด"
+ "เอียน"
+ "เอี่ยน"
+ "เอี่ยม"
+ "เอี่ยว"
+ "เอี้ยง"
+ "เอี้ยมเฟี้ยม"
+ "เอี้ยว"
+ "เอี๊ยด"
+ "เอี๊ยม"
+ "เอี๊ยมจุ๊น"
+ "เอือน"
+ "เอือม"
+ "เอื่อย"
+ "เอื้อ"
+ "เอื้อง"
+ "เอื้อน"
+ "เอื้อม"
+ "เอื้อย"
+ "เอเคอร์"
+ "เอเชีย"
+ "เอเชี่ยนเกมส์"
+ "เอเซีย"
+ "เอเย่นต์"
+ "เอแบค"
+ "เอ็กซ์"
+ "เอ็กซ์พลอเรอร์"
+ "เอ็กซ์เพรส"
+ "เอ็ง"
+ "เอ็ด"
+ "เอ็ดตะโร"
+ "เอ็ดอึง"
+ "เอ็น"
+ "เอ็นดู"
+ "เอ็นเตอร์เทน"
+ "เอ่ย"
+ "เอ่อ"
+ "เอ้"
+ "เอ้กา"
+ "เอ้อระเหย"
+ "เอ้อเฮอ"
+ "เอ๊ก"
+ "เอ๊ย"
+ "เอ๊ะ"
+ "เอ๋"
+ "เอ๋ง"
+ "เอ๋ย"
+ "เฮ"
+ "เฮง"
+ "เฮย"
+ "เฮลิคอปเตอร์"
+ "เฮิรตซ์"
+ "เฮีย"
+ "เฮี้ยน"
+ "เฮี้ยบ"
+ "เฮี้ยว"
+ "เฮือก"
+ "เฮือน"
+ "เฮโรอีน"
+ "เฮโล"
+ "เฮ้ย"
+ "เฮ้ว"
+ "เฮ้อ"
+ "แก"
+ "แกง"
+ "แกน"
+ "แกม"
+ "แกมมา"
+ "แกรก"
+ "แกรนิต"
+ "แกระ"
+ "แกรไฟต์"
+ "แกร็น"
+ "แกร่ง"
+ "แกร่ว"
+ "แกล"
+ "แกลบ"
+ "แกลลอน"
+ "แกละ"
+ "แกลเลียม"
+ "แกล้ง"
+ "แกล้ม"
+ "แกล้ว"
+ "แกว"
+ "แกว่ง"
+ "แกว่น"
+ "แกะ"
+ "แกโดลิเนียม"
+ "แก่"
+ "แก่ง"
+ "แก่งแย่ง"
+ "แก่น"
+ "แก้"
+ "แก้ง"
+ "แก้ม"
+ "แก้ว"
+ "แก๊ง"
+ "แก๊ป"
+ "แก๊ส"
+ "แข"
+ "แขก"
+ "แขน"
+ "แขนง"
+ "แขม"
+ "แขม็บ"
+ "แขม่ว"
+ "แขยง"
+ "แขย็ก"
+ "แขย่ง"
+ "แขวก"
+ "แขวง"
+ "แขวน"
+ "แขวะ"
+ "แข็ง"
+ "แข่ง"
+ "แข่งขัน"
+ "แข้ง"
+ "แข้น"
+ "แค"
+ "แคชเชียร์"
+ "แคชเมียร์"
+ "แคตตาลอค"
+ "แคน"
+ "แคบ"
+ "แคปซูล"
+ "แคม"
+ "แครง"
+ "แคระ"
+ "แคร่"
+ "แคร์"
+ "แคลคูลัส"
+ "แคลง"
+ "แคลน"
+ "แคลอรี"
+ "แคลิฟอร์เนีย"
+ "แคลเซียม"
+ "แคล่วคล่อง"
+ "แคล้ว"
+ "แคว"
+ "แควก"
+ "แคว้น"
+ "แคะ"
+ "แค่"
+ "แค่น"
+ "แค้น"
+ "แง"
+ "แงะ"
+ "แง่"
+ "แง่ง"
+ "แง่น"
+ "แง้ม"
+ "แจ"
+ "แจก"
+ "แจง"
+ "แจว"
+ "แจะ"
+ "แจ่ม"
+ "แจ่ว"
+ "แจ้"
+ "แจ้ง"
+ "แจ้น"
+ "แจ้ว"
+ "แจ๊ด"
+ "แจ๋"
+ "แจ๋ว"
+ "แจ๋วแหวว"
+ "แฉ"
+ "แฉก"
+ "แฉง"
+ "แฉลบ"
+ "แฉละ"
+ "แฉล้ม"
+ "แฉะ"
+ "แฉ่"
+ "แฉ่ง"
+ "แช"
+ "แชมป์"
+ "แชมเปญ"
+ "แชร์"
+ "แชล่ม"
+ "แช่"
+ "แช่ง"
+ "แช่ม"
+ "แซง"
+ "แซด"
+ "แซนด์วิช"
+ "แซบ"
+ "แซม"
+ "แซยิด"
+ "แซว"
+ "แซะ"
+ "แซ่"
+ "แซ่ว"
+ "แด"
+ "แดก"
+ "แดง"
+ "แดด"
+ "แดน"
+ "แดะ"
+ "แด็ก"
+ "แด่"
+ "แด่น"
+ "แด่ว"
+ "แตก"
+ "แตง"
+ "แตงกวา"
+ "แตงเม"
+ "แตงโม"
+ "แตด"
+ "แตน"
+ "แตร"
+ "แตะ"
+ "แต่"
+ "แต่ง"
+ "แต้"
+ "แต้จิ๋ว"
+ "แต้ม"
+ "แต๊ดแต๋"
+ "แถ"
+ "แถก"
+ "แถบ"
+ "แถม"
+ "แถลง"
+ "แถว"
+ "แทง"
+ "แทน"
+ "แทนทาลัม"
+ "แทบ"
+ "แทรก"
+ "แทรกเตอร์"
+ "แทะ"
+ "แท็กซี่"
+ "แท็งก์น้ำ"
+ "แท่ง"
+ "แท่น"
+ "แท้"
+ "แท้ง"
+ "แนบ"
+ "แนม"
+ "แนว"
+ "แนะ"
+ "แน่"
+ "แน่ง"
+ "แน่น"
+ "แน่ว"
+ "แน่ะ"
+ "แบ"
+ "แบก"
+ "แบคทีเรีย"
+ "แบงก์"
+ "แบงค์"
+ "แบดมินตัน"
+ "แบตเตอรี่"
+ "แบน"
+ "แบนโจ"
+ "แบบ"
+ "แบะ"
+ "แบเรียม"
+ "แบ็บ"
+ "แบ่ง"
+ "แป"
+ "แปซิฟิค"
+ "แปด"
+ "แปบ"
+ "แปร"
+ "แปรก"
+ "แปรง"
+ "แปรปรวน"
+ "แประ"
+ "แปร่ง"
+ "แปร้น"
+ "แปร๊ด"
+ "แปร๋"
+ "แปล"
+ "แปลก"
+ "แปลง"
+ "แปลน"
+ "แปลบ"
+ "แปล้"
+ "แปะ"
+ "แป้ง"
+ "แป้น"
+ "แป้ว"
+ "แป๊ด"
+ "แป๊บ"
+ "แป๊ะ"
+ "แป๊ะซะ"
+ "แป๋ง"
+ "แป๋ว"
+ "แผก"
+ "แผง"
+ "แผด"
+ "แผน"
+ "แผนก"
+ "แผล"
+ "แผลง"
+ "แผละ"
+ "แผล็บ"
+ "แผล็ว"
+ "แผ่"
+ "แผ่น"
+ "แผ่ว"
+ "แผ้ว"
+ "แฝก"
+ "แฝง"
+ "แฝด"
+ "แพ"
+ "แพง"
+ "แพงพวย"
+ "แพทยศาสตร์"
+ "แพทยสภา"
+ "แพทยา"
+ "แพทย์"
+ "แพน"
+ "แพนก"
+ "แพนงเชิญ"
+ "แพร"
+ "แพรก"
+ "แพรว"
+ "แพร่"
+ "แพร่ง"
+ "แพร้ว"
+ "แพลง"
+ "แพลตฟอร์ม"
+ "แพลทินัม"
+ "แพลม"
+ "แพศยา"
+ "แพศย์"
+ "แพะ"
+ "แพ็ก"
+ "แพ็คเกจ"
+ "แพ่ง"
+ "แพ่น"
+ "แพ้"
+ "แพ้ว"
+ "แฟกซ์"
+ "แฟง"
+ "แฟชั่น"
+ "แฟน"
+ "แฟนซี"
+ "แฟบ"
+ "แฟร์"
+ "แฟลกซ์"
+ "แฟลต"
+ "แฟะ"
+ "แฟ้ม"
+ "แมก"
+ "แมกนีเซียม"
+ "แมคโคร"
+ "แมง"
+ "แมงกานีส"
+ "แมน"
+ "แมนจูเรีย"
+ "แมลง"
+ "แมว"
+ "แมะ"
+ "แม่"
+ "แม่น"
+ "แม่ฮ่องสอน"
+ "แม้"
+ "แม้น"
+ "แม้ว"
+ "แยก"
+ "แยง"
+ "แยบ"
+ "แยม"
+ "แยะ"
+ "แยแส"
+ "แย็บ"
+ "แย่"
+ "แย่ง"
+ "แย้"
+ "แย้ง"
+ "แย้ม"
+ "แร"
+ "แรก"
+ "แรง"
+ "แรด"
+ "แรม"
+ "แระ"
+ "แร็กเกต"
+ "แร่"
+ "แร่ง"
+ "แร้ง"
+ "แร้นแค้น"
+ "แร้ว"
+ "แล"
+ "แลก"
+ "แลง"
+ "แลน"
+ "แลนด"
+ "แลนด์"
+ "แลบ"
+ "และ"
+ "แล็กโทส"
+ "แล่"
+ "แล่ง"
+ "แล่น"
+ "แล้"
+ "แล้ง"
+ "แล้ว"
+ "แวง"
+ "แวด"
+ "แวบ"
+ "แวม"
+ "แวว"
+ "แวะ"
+ "แว่น"
+ "แว่ว"
+ "แว้"
+ "แว้ง"
+ "แส"
+ "แสก"
+ "แสง"
+ "แสด"
+ "แสดง"
+ "แสตมป์"
+ "แสน"
+ "แสนยากร"
+ "แสนยานุภาพ"
+ "แสบ"
+ "แสม"
+ "แสยก"
+ "แสยง"
+ "แสยะ"
+ "แสร้ง"
+ "แสลง"
+ "แสวง"
+ "แสะ"
+ "แส่"
+ "แส้"
+ "แส้ม้า"
+ "แห"
+ "แหก"
+ "แหง"
+ "แหงน"
+ "แหงแก๋"
+ "แหง่"
+ "แหง่ง"
+ "แหน"
+ "แหนง"
+ "แหนบ"
+ "แหนม"
+ "แหบ"
+ "แหม"
+ "แหมะ"
+ "แหม่"
+ "แหม่ม"
+ "แหย"
+ "แหยง"
+ "แหยม"
+ "แหยะ"
+ "แหย่"
+ "แหย่ง"
+ "แหล"
+ "แหลก"
+ "แหลน"
+ "แหลม"
+ "แหละ"
+ "แหล่"
+ "แหล่ง"
+ "แหว"
+ "แหวก"
+ "แหวน"
+ "แหวะ"
+ "แหว่ง"
+ "แหะ"
+ "แห่"
+ "แห่ง"
+ "แห้"
+ "แห้ง"
+ "แห้ว"
+ "แอ"
+ "แอก"
+ "แอด"
+ "แอดวานซ์"
+ "แอดเดรส"
+ "แอน"
+ "แอนด์"
+ "แอนตาร์กติก"
+ "แอนติบอดี"
+ "แอนติเจน"
+ "แอนตี้"
+ "แอบ"
+ "แอพพลิเคชัน"
+ "แอพเพล็ต"
+ "แอฟริกา"
+ "แอมมิเตอร์"
+ "แอมแปร์"
+ "แอมโมเนีย"
+ "แอร่ม"
+ "แอร์"
+ "แอล"
+ "แอลกอฮอล์"
+ "แอลฟา"
+ "แอสฟัลต์"
+ "แอสไพริน"
+ "แออัด"
+ "แอโนด"
+ "แอ่ง"
+ "แอ่น"
+ "แอ่ว"
+ "แอ้"
+ "แอ้งแม้ง"
+ "แอ้ด"
+ "แอ้ม"
+ "แอ๊คชั่น"
+ "แอ๊ด"
+ "แอ๋"
+ "แฮ"
+ "แฮนด์บอล"
+ "แฮม"
+ "แฮมเบอร์เกอร์"
+ "แฮะ"
+ "แฮ่"
+ "แฮ่กึ๊น"
+ "โก"
+ "โกก"
+ "โกง"
+ "โกงกาง"
+ "โกฏิ"
+ "โกดัง"
+ "โกน"
+ "โกมล"
+ "โกมุท"
+ "โกย"
+ "โกรก"
+ "โกรง"
+ "โกรธ"
+ "โกรธา"
+ "โกร่ง"
+ "โกร๋น"
+ "โกลด์"
+ "โกลน"
+ "โกลาหล"
+ "โกศล"
+ "โกสน"
+ "โกสินทร์"
+ "โกสีย์"
+ "โกสุม"
+ "โกหก"
+ "โกเมน"
+ "โกโก้"
+ "โกโรโกโส"
+ "โกไสย"
+ "โก่ง"
+ "โก้"
+ "โก้งโค้ง"
+ "โก๋"
+ "โก๋น"
+ "โข"
+ "โขก"
+ "โขง"
+ "โขด"
+ "โขน"
+ "โขนง"
+ "โขม"
+ "โขมง"
+ "โขมด"
+ "โขยก"
+ "โขยง"
+ "โขย่ง"
+ "โขลก"
+ "โขลง"
+ "โข่ง"
+ "โค"
+ "โคก"
+ "โคจร"
+ "โคตร"
+ "โคน"
+ "โคนม"
+ "โคบอลต์"
+ "โคม"
+ "โคม่า"
+ "โครก"
+ "โครง"
+ "โครงการ"
+ "โครม"
+ "โคราช"
+ "โครเมียม"
+ "โครโมโซม"
+ "โคร่ง"
+ "โคล"
+ "โคลง"
+ "โคลงเคลง"
+ "โคลน"
+ "โคลนนิ่ง"
+ "โคลอมเบีย"
+ "โควตา"
+ "โคเคน"
+ "โค่ง"
+ "โค่น"
+ "โค้ง"
+ "โค้ช"
+ "โค้ด"
+ "โฆษก"
+ "โฆษณา"
+ "โฆษะ"
+ "โฆษิต"
+ "โง"
+ "โงก"
+ "โงง"
+ "โงงเงง"
+ "โงน"
+ "โงเง"
+ "โง่"
+ "โง่ง"
+ "โง่งเง่ง"
+ "โง้ง"
+ "โจ"
+ "โจก"
+ "โจง"
+ "โจงโคร่ง"
+ "โจท"
+ "โจทก์"
+ "โจทย์"
+ "โจน"
+ "โจม"
+ "โจร"
+ "โจรกรรม"
+ "โจษ"
+ "โจษจัน"
+ "โจ่งครึ่ม"
+ "โจ่งแจ้ง"
+ "โจ๊ก"
+ "โจ๋งครึ่ม"
+ "โฉ"
+ "โฉงเฉง"
+ "โฉด"
+ "โฉนด"
+ "โฉบ"
+ "โฉม"
+ "โฉลก"
+ "โฉ่"
+ "โฉ่งฉ่าง"
+ "โชก"
+ "โชกุน"
+ "โชค"
+ "โชดก"
+ "โชดึก"
+ "โชติ"
+ "โชน"
+ "โชย"
+ "โชว์"
+ "โซ"
+ "โซก"
+ "โซดา"
+ "โซม"
+ "โซรม"
+ "โซลา"
+ "โซลูชั่น"
+ "โซเดียม"
+ "โซเวียต"
+ "โซ่"
+ "โด"
+ "โดกเดก"
+ "โดด"
+ "โดน"
+ "โดนัท"
+ "โดม"
+ "โดมิโน"
+ "โดย"
+ "โด่"
+ "โด่ง"
+ "โด๊ป"
+ "โต"
+ "โตก"
+ "โตงเตง"
+ "โตน"
+ "โตนด"
+ "โตมร"
+ "โตรก"
+ "โตเกียว"
+ "โต่ง"
+ "โต้"
+ "โต้ง"
+ "โต้โผ"
+ "โต๊ด"
+ "โต๊ะ"
+ "โต๊ะอิหม่าม"
+ "โถ"
+ "โถง"
+ "โถบ"
+ "โถม"
+ "โท"
+ "โทกเทก"
+ "โทง"
+ "โทงเทง"
+ "โทน"
+ "โทมนัส"
+ "โทร"
+ "โทรคมนาคม"
+ "โทรทรรศน์"
+ "โทรทัศน์"
+ "โทรพิมพ์"
+ "โทรภาพ"
+ "โทรม"
+ "โทรศัพท์"
+ "โทรเลข"
+ "โทษ"
+ "โทษทัณฑ์"
+ "โทษานุโทษ"
+ "โทษารมณ์"
+ "โทสะ"
+ "โทสาคติ"
+ "โทโส"
+ "โท่"
+ "โธ่"
+ "โน"
+ "โนน"
+ "โนรา"
+ "โนรี"
+ "โน่น"
+ "โน้ต"
+ "โน้ตบุ๊ก"
+ "โน้ตส์"
+ "โน้น"
+ "โน้ม"
+ "โบ"
+ "โบก"
+ "โบกขรณี"
+ "โบกี้"
+ "โบต"
+ "โบตั๋น"
+ "โบนัส"
+ "โบย"
+ "โบรมีน"
+ "โบรอน"
+ "โบราณ"
+ "โบลิเวีย"
+ "โบว์ลิ่ง"
+ "โบสถ์"
+ "โบ๊เบ๊"
+ "โบ๋"
+ "โป"
+ "โปก"
+ "โปง"
+ "โปงลาง"
+ "โปน"
+ "โปร"
+ "โปรง"
+ "โปรด"
+ "โปรตอน"
+ "โปรตีน"
+ "โปรตุเกส"
+ "โปรย"
+ "โปรเซสเซอร์"
+ "โปรเตสแตนต์"
+ "โปรแกรม"
+ "โปรแกรมเมอร์"
+ "โปรโมชัน"
+ "โปรโมต"
+ "โปร่ง"
+ "โปร์"
+ "โปลิโอ"
+ "โปล่ง"
+ "โปสการ์ด"
+ "โปสเตอร์"
+ "โปะ"
+ "โปแลนด์"
+ "โปโล"
+ "โป่ง"
+ "โป่งข่าม"
+ "โป้"
+ "โป้ง"
+ "โป๊"
+ "โป๊ก"
+ "โป๊กเกอร์"
+ "โป๊ยเซียน"
+ "โป๊ะ"
+ "โผ"
+ "โผง"
+ "โผน"
+ "โผย"
+ "โผลกเผลก"
+ "โผลน"
+ "โผละ"
+ "โผล่"
+ "โผะ"
+ "โพ"
+ "โพก"
+ "โพง"
+ "โพงพาง"
+ "โพซิตรอน"
+ "โพธิญาณ"
+ "โพธิบัลลังก์"
+ "โพธิสมภาร"
+ "โพธิสัตว์"
+ "โพธิ์"
+ "โพน"
+ "โพนทะนา"
+ "โพย"
+ "โพยก๊วน"
+ "โพยม"
+ "โพรก"
+ "โพรง"
+ "โพระดก"
+ "โพรโตคอล"
+ "โพลง"
+ "โพลน"
+ "โพละ"
+ "โพล่ง"
+ "โพล้ง"
+ "โพล้เพล้"
+ "โพสพ"
+ "โพแทสเซียม"
+ "โพ้น"
+ "โฟกัส"
+ "โฟน"
+ "โฟล์เดอร์"
+ "โภค"
+ "โภคิน"
+ "โภคี"
+ "โภชนะ"
+ "โภชนา"
+ "โภชนากร"
+ "โภชนาการ"
+ "โภชนาหาร"
+ "โภชน์"
+ "โม"
+ "โมก"
+ "โมกข์"
+ "โมฆกรรม"
+ "โมฆสัญญา"
+ "โมฆะ"
+ "โมฆียกรรม"
+ "โมฆียะ"
+ "โมง"
+ "โมงครุ่ม"
+ "โมดูล"
+ "โมทนา"
+ "โมลิบดีนัม"
+ "โมลี"
+ "โมหะ"
+ "โมหันธ์"
+ "โมหาคติ"
+ "โมเดล"
+ "โมเด็ม"
+ "โมเม"
+ "โมเมนต์"
+ "โมเลกุล"
+ "โมเสก"
+ "โมเสส"
+ "โมโน"
+ "โมโห"
+ "โมไนย"
+ "โม่"
+ "โม่ง"
+ "โม้"
+ "โย"
+ "โยก"
+ "โยกตร์"
+ "โยคะ"
+ "โยคี"
+ "โยง"
+ "โยชน์"
+ "โยธา"
+ "โยธิน"
+ "โยน"
+ "โยนี"
+ "โยม"
+ "โยเย"
+ "โยโส"
+ "โย่ง"
+ "โย่งโย่"
+ "โย้"
+ "โร"
+ "โรค"
+ "โรคจิตเภท"
+ "โรคา"
+ "โรคาพาธ"
+ "โรง"
+ "โรงคัล"
+ "โรงเรียน"
+ "โรงแรม"
+ "โรจ"
+ "โรจน์"
+ "โรตี"
+ "โรธ"
+ "โรธร"
+ "โรม"
+ "โรมัน"
+ "โรมาเนีย"
+ "โรย"
+ "โรษ"
+ "โรหิต"
+ "โรเนียว"
+ "โร่"
+ "โลก"
+ "โลกวิทู"
+ "โลกันตร์"
+ "โลกา"
+ "โลกาธิบดี"
+ "โลกาธิไตย"
+ "โลกามิส"
+ "โลกาวินาศ"
+ "โลกิยะ"
+ "โลกียวัตร"
+ "โลกีย์"
+ "โลกุตรธรรม"
+ "โลกุตระ"
+ "โลง"
+ "โลจนะ"
+ "โลณะ"
+ "โลด"
+ "โลตัส"
+ "โลน"
+ "โลภ"
+ "โลม"
+ "โลมา"
+ "โลหะ"
+ "โลหัช"
+ "โลหิต"
+ "โละ"
+ "โลเล"
+ "โล่"
+ "โล่ง"
+ "โล้"
+ "โล้น"
+ "โว"
+ "โวย"
+ "โวยวาย"
+ "โวหาร"
+ "โว่"
+ "โว่ง"
+ "โว้ย"
+ "โว้เว้"
+ "โศก"
+ "โศกา"
+ "โศกาดูร"
+ "โศกาลัย"
+ "โศกี"
+ "โส"
+ "โสกันต์"
+ "โสณ"
+ "โสณฑ์"
+ "โสด"
+ "โสดา"
+ "โสดาบัน"
+ "โสต"
+ "โสทก"
+ "โสทร"
+ "โสธก"
+ "โสธนะ"
+ "โสน"
+ "โสภณ"
+ "โสภา"
+ "โสภิณี"
+ "โสภี"
+ "โสม"
+ "โสมนัส"
+ "โสมม"
+ "โสมย์"
+ "โสรจ"
+ "โสร่ง"
+ "โสวรรณ"
+ "โสหุ้ย"
+ "โสฬส"
+ "โสเภณี"
+ "โสโครก"
+ "โหง"
+ "โหด"
+ "โหน"
+ "โหนก"
+ "โหน่ง"
+ "โหม"
+ "โหมด"
+ "โหม่ง"
+ "โหย"
+ "โหยกเหยก"
+ "โหยง"
+ "โหย่ง"
+ "โหร"
+ "โหรงเหรง"
+ "โหระพา"
+ "โหรา"
+ "โหราจารย์"
+ "โหราศาสตร์"
+ "โหล"
+ "โหลงโจ้ง"
+ "โหลน"
+ "โหล่"
+ "โหว"
+ "โหวกเหวก"
+ "โหวง"
+ "โหวด"
+ "โหวต"
+ "โหว่"
+ "โห่"
+ "โอ"
+ "โอก"
+ "โอกาส"
+ "โอกินาวา"
+ "โองการ"
+ "โองโขดง"
+ "โอชะ"
+ "โอชา"
+ "โอด"
+ "โอตตัปปะ"
+ "โอน"
+ "โอบ"
+ "โอภา"
+ "โอภาส"
+ "โอม"
+ "โอย"
+ "โอรส"
+ "โอละพ่อ"
+ "โอลิมปิก"
+ "โอวาท"
+ "โอษฐภัย"
+ "โอษฐ์"
+ "โอสถ"
+ "โอหัง"
+ "โอห์ม"
+ "โอฬาร"
+ "โอฬาริก"
+ "โอฬารึก"
+ "โอเปก"
+ "โอเลี้ยง"
+ "โอเวอร์"
+ "โอเอซิส"
+ "โอเอส"
+ "โอโซน"
+ "โอ่"
+ "โอ่ง"
+ "โอ่อ่า"
+ "โอ้"
+ "โอ้ก"
+ "โอ้เอ้"
+ "โอ้โลม"
+ "โอ้โฮ"
+ "โอ๊ก"
+ "โอ๊ย"
+ "โอ๋"
+ "โฮ"
+ "โฮก"
+ "โฮม"
+ "โฮล์ม"
+ "โฮสต์"
+ "โฮสเตส"
+ "โฮเต็ล"
+ "ใกล้"
+ "ใคร"
+ "ใคร่"
+ "ใจ"
+ "ใช่"
+ "ใช้"
+ "ใด"
+ "ใต้"
+ "ใน"
+ "ในหลวง"
+ "ใบ"
+ "ใบ้"
+ "ใฝ่"
+ "ใย"
+ "ใส"
+ "ใส่"
+ "ใหญ่"
+ "ใหม่"
+ "ให้"
+ "ไก"
+ "ไกร"
+ "ไกรลาส"
+ "ไกรศร"
+ "ไกรสร"
+ "ไกล"
+ "ไกล่"
+ "ไกว"
+ "ไก่"
+ "ไก๊ด์"
+ "ไก๋"
+ "ไข"
+ "ไขว่"
+ "ไขว้"
+ "ไขสือ"
+ "ไข่"
+ "ไข่ดัน"
+ "ไข่มุก"
+ "ไข้"
+ "ไค"
+ "ไคร้"
+ "ไคล"
+ "ไคลเอ็นต์"
+ "ไคลแอนต์"
+ "ไคล้"
+ "ไค้"
+ "ไง"
+ "ไจ"
+ "ไฉน"
+ "ไฉไล"
+ "ไช"
+ "ไชย"
+ "ไชโย"
+ "ไซ"
+ "ไซต์"
+ "ไซน์"
+ "ไซบีเรีย"
+ "ไซปรัส"
+ "ไซยาไนด์"
+ "ไซร้"
+ "ไซเกิล"
+ "ไซเบอร์"
+ "ไซเรน"
+ "ไซโคลน"
+ "ไซโล"
+ "ไซ้"
+ "ได"
+ "ไดนาโม"
+ "ไดนาไมต์"
+ "ไดรเวอร์"
+ "ไดร์ฟ"
+ "ไดอะล็อก"
+ "ไดอะล็อกบ็อกซ์"
+ "ไดอารี่"
+ "ไดเรกทอรี"
+ "ไดโนเสาร์"
+ "ได้"
+ "ไต"
+ "ไตร"
+ "ไตรมาส"
+ "ไตร่ตรอง"
+ "ไต่"
+ "ไต้"
+ "ไต้ก๋ง"
+ "ไต้ฝุ่น"
+ "ไต้หวัน"
+ "ไต๋"
+ "ไถ"
+ "ไถล"
+ "ไถ่"
+ "ไถ้"
+ "ไท"
+ "ไทกอ"
+ "ไทฟอยด์"
+ "ไทย"
+ "ไทยรัฐ"
+ "ไทร"
+ "ไทรอยด์"
+ "ไทเทเนียม"
+ "ไท้"
+ "ไน"
+ "ไนต์คลับ"
+ "ไนลอน"
+ "ไนล์"
+ "ไนโตรเจน"
+ "ไบต์"
+ "ไบออส"
+ "ไบเบิล"
+ "ไป"
+ "ไปยาล"
+ "ไปรษณียบรรณ"
+ "ไปรษณียบัตร"
+ "ไปรษณียภัณฑ์"
+ "ไปรษณียวัตถุ"
+ "ไปรษณียากร"
+ "ไปรษณีย์"
+ "ไปล่"
+ "ไป่"
+ "ไป๋"
+ "ไผ"
+ "ไผท"
+ "ไผ่"
+ "ไฝ"
+ "ไพ"
+ "ไพจิตร"
+ "ไพฑูรย์"
+ "ไพบูลย์"
+ "ไพร"
+ "ไพรจิตร"
+ "ไพรฑูรย์"
+ "ไพรัช"
+ "ไพริน"
+ "ไพรี"
+ "ไพร่"
+ "ไพลิน"
+ "ไพล่"
+ "ไพศาล"
+ "ไพเราะ"
+ "ไพโรจน์"
+ "ไพ่"
+ "ไพ่ป๊อก"
+ "ไฟ"
+ "ไฟล์"
+ "ไฟแนนซ์"
+ "ไมครอน"
+ "ไมตรี"
+ "ไมยราบ"
+ "ไมล์"
+ "ไมโคร"
+ "ไมโครซอฟท์"
+ "ไมโครเวฟ"
+ "ไมโครโฟน"
+ "ไม่"
+ "ไม้"
+ "ไย"
+ "ไย่"
+ "ไร"
+ "ไร่"
+ "ไร้"
+ "ไลย"
+ "ไลเซนส์"
+ "ไล่"
+ "ไล่เลี่ย"
+ "ไล้"
+ "ไว"
+ "ไวกูณฐ์"
+ "ไวฑูรย์"
+ "ไวทย์"
+ "ไวน์"
+ "ไวพจน์"
+ "ไวยากรณ์"
+ "ไวยาวัจกร"
+ "ไวยาวัจมัย"
+ "ไวรัส"
+ "ไวโอลิน"
+ "ไว้"
+ "ไศล"
+ "ไส"
+ "ไสย"
+ "ไสยา"
+ "ไสร้"
+ "ไสว"
+ "ไส้"
+ "ไห"
+ "ไหน"
+ "ไหม"
+ "ไหม้"
+ "ไหร่"
+ "ไหล"
+ "ไหล่"
+ "ไหว"
+ "ไหว้"
+ "ไหหลำ"
+ "ไห่"
+ "ไห้"
+ "ไอ"
+ "ไอคอน"
+ "ไอที"
+ "ไอบีเอ็ม"
+ "ไอยรา"
+ "ไอยเรศ"
+ "ไอราวัณ"
+ "ไอร์แลนด์"
+ "ไอศกรีม"
+ "ไอศวรรย์"
+ "ไอศูรย์"
+ "ไอออน"
+ "ไอโซโทป"
+ "ไอโอดีน"
+ "ไอ้"
+ "ไฮดรา"
+ "ไฮโกรมิเตอร์"
+ "ไฮโดรคาร์บอน"
+ "ไฮโล"
+ )))
+ (setq thai-word-table (list 'thai-words))
+ (while l
+ (set-nested-alist (car l) 1 thai-word-table)
+ (setq l (cdr l))))
+
+
+(defun thai-update-word-table (file &optional append)
+ "Update Thai word table by replacing the current word list with
+FILE. If called with a prefix argument, FILE is appended instead to
+the current word list."
+ (interactive "FThai word table file: \nP")
+ (let ((buf (generate-new-buffer "*thai-work*"))
+ (coding-system-for-read 'thai-tis620)
+ (table (if append thai-word-table (list 'thai-words))))
+ (unwind-protect
+ (save-excursion
+ (set-buffer buf)
+ (insert-file-contents file)
+ (goto-char (point-min))
+ (while (re-search-forward "\\ct+" nil t)
+ (set-nested-alist (match-string 0) 1 table)))
+ (kill-buffer buf))
+ (setq thai-word-table table)))
+
+
+;; Two special Thai characters regarded as suffix of words.
+
+(defconst thai-MaiYaMok (make-char 'thai-tis620 ?\xE6))
+(defconst thai-PaiYanNoi (make-char 'thai-tis620 ?\xCF))
+
+
+;; Find Thai words starting at POS and return a list of positions of
+;; the Thai word ends. It doesn't move point. LIMIT limits the
+;; maximum position. IGNORE is a list of positions to ignore. It is
+;; assumed that all following characters to LIMIT are Thai. If the
+;; following char is not Thai (i.e., POS is equal to LIMIT), return t.
+;;
+;; Note that the longest word position comes first.
+
+(defun thai-find-word-ends (pos limit &optional ignore)
+ (if (>= pos limit)
+ t
+ (let* ((char (char-after pos))
+ (this (cdr (assq char (cdr thai-word-table))))
+ category-set
+ positions)
+ ;; Look up the following character sequence in `thai-word-table'
+ ;; character by character.
+ (while this
+ (setq pos (1+ pos)
+ char (char-after pos)
+ category-set (char-category-set char))
+ ;; If the current sequence is recorded in `thai-word-table'
+ ;; (i.e. (car THIS) is 1) and the following Thai character is
+ ;; not an upper-vowel, lower-vowel, or tone-mark, we have
+ ;; found a possible word ending position.
+ (if (and (eq (car this) 1)
+ (not (or (aref category-set ?2)
+ (aref category-set ?3)
+ (aref category-set ?4))))
+ (progn
+ ;; Skip possible Thai suffices.
+ (while (or (eq char thai-MaiYaMok) (eq char thai-PaiYanNoi))
+ (setq pos (1+ pos)
+ char (char-after pos)))
+ ;; Skip character positions in IGNORE list.
+ (or (memq pos ignore)
+ (setq positions (cons pos positions)))))
+ ;; Set up next loop.
+ (setq this (and (< pos limit) (cdr (assq char this)))))
+ positions)))
+
+
+;; Move point forward to the end of Thai word which follows point and
+;; update VEC. VEC is a vector of three elements used to cache word
+;; end positions. The Nth element, if non-nil, is a list of end
+;; points of the Nth word, or t indicating that there is no Thai
+;; character. LIMIT limits the point movement.
+
+(defun thai-forward-word-update-info (vec limit)
+ (let ((pos (point))
+ v0 v1 v2 v3
+ second-best
+ tried
+ positions)
+ (if
+ ;; If four succeeding Thai words are found, throw t, otherwise
+ ;; throw nil.
+ (catch 'tag
+ ;; Start with first vector element.
+ (setq v0 (aref vec 0))
+ (unless v0
+ ;; Update VEC if V0 is empty.
+ (setq v0 (thai-find-word-ends pos limit))
+ (aset vec 0 v0)
+ (aset vec 1 nil))
+ ;; In case we haven't found any wordbreaks resp. point has
+ ;; reached LIMIT, exit the catch body.
+ (if (symbolp v0) ; i.e. nil or t?
+ (throw 'tag nil))
+ ;; OK, V0 holds possible word ends for the current position.
+ ;; We save V0 for later reference.
+ (setq tried v0)
+ (setq v1 (aref vec 1))
+ ;; Now we try all end word positions to find the next word.
+ (while v0
+ (setq pos (car v0))
+ (unless v1
+ ;; Update VEC if V1 is empty, ignoring positions already
+ ;; found -- for Thai, we need the longest match, so if
+ ;; we have
+ ;;
+ ;; start(long-word) = start(short-word1)
+ ;; end(short-word1) = start(short-word2)
+ ;; end(short-word2) = end(long-word)
+ ;;
+ ;; only long-word is used.
+ (setq v1 (thai-find-word-ends pos limit tried))
+ (aset vec 1 v1)
+ (aset vec 2 nil))
+ ;; If point has reached LIMIT, exit the catch body.
+ (if (eq v1 t)
+ (throw 'tag t))
+ ;; Save SECOND-BEST, if this hasn't been done already.
+ ;; The `second best' solution is the end position of the
+ ;; longest first word followed by the longest second word.
+ (or second-best
+ (not v1)
+ (setq second-best (cons v0 v1)))
+ ;; Update the already tried end word positions.
+ (setq tried (append tried v1))
+ ;; Now repeat the whole process to find a third word.
+ (when v1
+ (setq v2 (aref vec 2))
+ (while v1
+ (setq pos (car v1))
+ (unless v2
+ (setq v2 (thai-find-word-ends pos limit tried))
+ (aset vec 2 v2))
+ (if (eq v2 t)
+ (throw 'tag t))
+ (setq tried (append tried v2))
+ ;; And the same for a fourth word.
+ (while v2
+ (setq pos (car v2))
+ (setq v3 (thai-find-word-ends pos limit tried))
+ (if v3
+ (throw 'tag t))
+ (setq v2 (cdr v2)))
+ (setq v1 (cdr v1))))
+ (setq v0 (cdr v0)))
+ ;; No success.
+ nil)
+ (progn
+ ;; We found four succeeding Thai words (or LIMIT has been
+ ;; reached). Move to the end of the first word.
+ (goto-char (car v0))
+ ;; Update VEC for the next function call. If no larger word
+ ;; positions have been found, set the corresponding vector
+ ;; element to nil.
+ (if (and (consp v1) (< (car v1) (car (aref vec 1))))
+ (aset vec 0 nil)
+ (aset vec 0 v1)
+ (if (and (consp v2) (< (car v2) (car (aref vec 2))))
+ (aset vec 1 nil)
+ (aset vec 1 v2)
+ (aset vec 2 v3)))) ; exit function successfully
+
+ ;; We didn't find four consecutive words. If we have found a
+ ;; `second best' solution and the length of those two words is
+ ;; longer than the longest word we can see at the current point,
+ ;; adopt the second best solution. This decision is based on
+ ;; heuristic tests.
+ (if (and second-best
+ (< (car (aref vec 0)) (car (cdr second-best))))
+ (progn
+ (goto-char (car (car second-best)))
+ (aset vec 0 (cdr second-best)))
+ ;; We finally failed to find a word break. For Thai, the best
+ ;; solution is to extend the first longest word so that the
+ ;; end point starts a second word.
+ (setq pos (or (car (aref vec 0)) pos))
+ (while (and (< pos limit)
+ (not (setq positions (thai-find-word-ends pos limit))))
+ (setq pos (1+ pos)))
+ (goto-char pos)
+ (aset vec 0 positions))
+ (aset vec 1 nil)
+ nil)))
+
+
+;; Return a list of Thai word boundary positions after the current
+;; point. LIMIT, if non-nil, limits the region to check.
+
+(defun thai-find-word-boundaries (&optional limit)
+ (or limit
+ (setq limit (point-max)))
+ (save-excursion
+ (let ((vec (make-vector 3 nil))
+ (boundaries nil)
+ this-limit)
+ ;; Loop over all (consecutive) Thai regions by using the
+ ;; character property `t' until LIMIT is reached.
+ (while (and (< (point) limit)
+ (re-search-forward "\\ct+" nil t))
+ (setq this-limit (point))
+ (goto-char (match-beginning 0))
+ (fillarray vec nil)
+ ;; Check the first word, initializing VEC.
+ (thai-forward-word-update-info vec this-limit)
+ ;; Then loop over the remaining words in the current Thai
+ ;; region, collecting the boundaries.
+ (while (< (point) this-limit)
+ (setq boundaries (cons (point) boundaries))
+ (thai-forward-word-update-info vec this-limit)))
+ boundaries)))
+
+
+(defun thai-break-words (separator &optional limit)
+ "Break Thai words by inserting a separator string at word boundaries."
+ (interactive "sSeparator: ")
+ (save-excursion
+ (let ((boundaries (thai-find-word-boundaries limit)))
+ (while boundaries
+ (goto-char (car boundaries))
+ (insert separator)
+ (setq boundaries (cdr boundaries))))))
+
+
+(defun thai-forward-word (count)
+ "Move point forward COUNT words considering Thai word boundaries.
+If COUNT is negative, move point backward (- COUNT) words."
+ (interactive "p")
+ (if (> count 0)
+ (while (> count 0)
+ (skip-syntax-forward "^w")
+ (if (looking-at "\\ct+")
+ ;; We have reached a Thai region, so we must do something
+ ;; special instead of using forward-word.
+ (let ((start (point))
+ (limit (match-end 0))
+ boundaries
+ tail)
+ ;; If thai-forward-word has been called within a Thai
+ ;; region, we must go back until the Thai region starts
+ ;; to do the contextual analysis for finding word
+ ;; breaks.
+ (while (aref (char-category-set (preceding-char)) ?t)
+ (forward-char -1))
+ ;; OK, we ask for the list of word boundaries in
+ ;; reversed order.
+ (setq boundaries (nreverse (thai-find-word-boundaries limit)))
+ ;; Now we search for the next boundary after START.
+ (while (and boundaries (<= (car boundaries) start))
+ (setq boundaries (cdr boundaries)))
+ ;; Adjust loop for next while loop.
+ (setq count (1- count))
+ ;; Now we skip Thai words until the BOUNDARIES list is
+ ;; empty or count-1 words have been passed.
+ (if (not boundaries)
+ (goto-char limit)
+ (while (and (> count 0)
+ boundaries)
+ (setq boundaries (cdr boundaries)
+ count (1- count)))
+ ;; If BOUNDARIES is empty, the word counter is not
+ ;; zero yet (remember that we have decreased COUNT by
+ ;; one), so we go to LIMIT. Otherwise go to next
+ ;; boundary.
+ (if boundaries
+ (goto-char (car boundaries))
+ (goto-char limit))))
+ ;; No Thai region.
+ (forward-word 1)
+ (setq count (1- count))))
+ ;; The symmetrical action for negative values.
+ (if (< count 0)
+ (while (< count 0)
+ (skip-syntax-backward "^w")
+ (if (aref (char-category-set (preceding-char)) ?t)
+ (let ((start (point))
+ (limit (if (looking-at "\\ct+") (match-end 0)
+ (point)))
+ boundaries)
+ (forward-char -1)
+ (while (aref (char-category-set (preceding-char)) ?t)
+ (forward-char -1))
+ (setq boundaries (thai-find-word-boundaries limit))
+ (while (and boundaries (>= (car boundaries) start))
+ (setq boundaries (cdr boundaries)))
+ (setq count (1+ count))
+ (if boundaries
+ (progn
+ (while (and (< count 0) boundaries)
+ (setq boundaries (cdr boundaries)
+ count (1+ count)))
+ (if boundaries
+ (goto-char (car boundaries))))))
+ (forward-word -1)
+ (setq count (1+ count)))))))
+
+
+(defun thai-backward-word (count)
+ "Move point backward COUNT words considering Thai word boundaries.
+If COUNT is negative, move point forward (- COUNT) words."
+ (interactive "p")
+ (thai-forward-word (- count)))
+
+
+(provide 'thai-word)
+
+
+;; Local Variables:
+;; coding: tis-620
+;; End:
+
+;; end of thai-word.el
diff --git a/Master/texmf-dist/source/latex/cjk/utils/lisp/mule-2.3/cjk-enc.el b/Master/texmf-dist/source/latex/cjk/utils/lisp/mule-2.3/cjk-enc.el
new file mode 100644
index 00000000000..9f484d49349
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/lisp/mule-2.3/cjk-enc.el
@@ -0,0 +1,625 @@
+;;; cjk-enc.el --- provide a coding system for LaTeX2e CJK package
+
+;; Copyright (C) 1996, 1998 Electrotechnical Laboratory, JAPAN.
+
+;; Author: Kenichi HANDA <handa@etl.go.jp>
+;; Werner LEMBERG <wl@gnu.org>
+
+;; Keywords: CJK package, LaTeX2e, mule
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to
+;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;;
+;; CJK Version 4.8.0 (22-May-2008)
+;;
+
+;;; Code
+
+;; The following tables map from Mule's internal encoding to LaTeX2e
+;; macros. Note that not all macros defined here really do exist. See
+;; MULEenc.sty and cjk-enc.txt for further details.
+;;
+;; The active TeX character 0x80 is defined as a multiplex command which
+;; executes its first argument. To make the macro expansion robust
+;; against \uppercase and \lowercase, numbers are used as parameters which
+;; index the various commands.
+;;
+;; 0xFF will be used as a parameter delimiting character.
+
+(defconst cjk-latin-1
+ [;0xa0
+ "99\177" "1\177" "2\177" "3\177"
+ "4\177" "5\177" "6\177" "7\177"
+ "8\177\\ " "9\177" "10\177" "11\177"
+ "12\177" "0\177-{}" "14\177" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "20\177\\ " "21\177" "22\177" "23\177"
+ "24\177\\ " "25\177" "26\177" "27\177"
+ "28\177" "29\177" "30\177" "31\177"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "0\177\\DJ" "34\177N" "32\177O" "20\177O"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "32\177U" "20\177U" "33\177U"
+ "8\177U" "20\177Y" "0\177\\TH" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "0\177\\dj" "34\177n" "32\177o" "20\177o"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "32\177u" "20\177u" "33\177u"
+ "8\177u" "20\177y" "0\177\\th" "8\177y"
+ ])
+
+(defconst cjk-latin-2
+ [; 0xa0
+ "99\177" "48\177A" "49\177\\ " "0\177\\L"
+ "4\177" "51\177L" "20\177S" "7\177"
+ "8\177\\ " "51\177S" "24\177S" "51\177T"
+ "20\177Z" "0\177-{}" "51\177Z" "52\177Z"
+
+ ; 0xb0
+ "16\177" "48\177a" "48\177\\ " "0\177\\l"
+ "20\177\\ " "51\177l" "20\177s" "51\177\\ "
+ "24\177\\ " "51\177s" "24\177s" "51\177t"
+ "20\177z" "55\177\\ " "51\177z" "52\177z"
+
+ ; 0xc0
+ "20\177R" "20\177A" "33\177A" "49\177A"
+ "8\177A" "20\177L" "20\177C" "24\177C"
+ "51\177C" "20\177E" "48\177E" "8\177E"
+ "51\177E" "20\177I" "33\177I" "51\177D"
+
+ ; 0xd0
+ "0\177\\DJ" "20\177N" "51\177N" "20\177O"
+ "33\177O" "55\177O" "8\177O" "38\177"
+ "51\177R" "53\177U" "20\177U" "55\177U"
+ "8\177U" "20\177Y" "24\177T" "0\177\\ss"
+
+ ; 0xe0
+ "20\177r" "20\177a" "33\177a" "49\177a"
+ "8\177a" "20\177l" "20\177c" "24\177c"
+ "51\177c" "20\177e" "48\177e" "8\177e"
+ "51\177e" "20\177\\i" "33\177\\i" "51\177d"
+
+ ; 0xf0
+ "0\177\\dj" "20\177n" "51\177n" "20\177o"
+ "33\177o" "55\177o" "8\177o" "45\177"
+ "51\177r" "53\177u" "20\177u" "55\177u"
+ "8\177u" "20\177y" "24\177t" "52\177\\ "
+ ])
+
+(defconst cjk-latin-3
+ [; 0xa0
+ "99\177" "0\177\\TEXTMALTESEH" "49\177\\ " "3\177"
+ "4\177" "" "33\177H" "7\177"
+ "8\177\\ " "52\177I" "24\177S" "49\177G"
+ "33\177J" "0\177-{}" "" "52\177Z"
+
+ ; 0xb0
+ "16\177" "0\177\\textmalteseh" "18\177" "19\177"
+ "20\177\\ " "21\177" "33\177h" "23\177"
+ "24\177\\ " "0\177\\i" "24\177s" "49\177g"
+ "33\177\\j" "29\177" "" "52\177z"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" ""
+ "8\177A" "52\177C" "33\177C" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "" "34\177N" "32\177O" "20\177O"
+ "33\177O" "52\177G" "8\177O" "38\177"
+ "33\177G" "32\177U" "20\177U" "33\177U"
+ "8\177U" "49\177U" "33\177S" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" ""
+ "8\177a" "52\177c" "33\177c" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "" "34\177n" "32\177o" "20\177o"
+ "33\177o" "52\177g" "8\177o" "45\177"
+ "33\177g" "32\177u" "20\177u" "33\177u"
+ "8\177u" "49\177u" "33\177s" "52\177\\ "
+ ])
+
+(defconst cjk-latin-4
+ [; 0xa0
+ "99\177" "48\177A" "59\177" "24\177R"
+ "4\177" "34\177I" "24\177L" "7\177"
+ "8\177\\ " "51\177S" "15\177E" "24\177G"
+ "0\177\\TEXTTSTROKE" "0\177-{}" "51\177Z" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "48\177a" "48\177\\ " "24\177r"
+ "20\177\\ " "34\177\\i" "24\177l" "51\177\\ "
+ "24\177\\ " "51\177s" "15\177e" "24\177g"
+ "0\177\\texttstroke" "0\177\\NG" "51\177z" "0\177\\ng"
+
+ ; 0xc0
+ "15\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "48\177I"
+ "51\177C" "20\177E" "48\177E" "8\177E"
+ "52\177E" "20\177I" "33\177I" "15\177I"
+
+ ; 0xd0
+ "0\177\\DJ" "24\177N" "15\177O" "24\177K"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "48\177U" "20\177U" "33\177U"
+ "8\177U" "34\177U" "15\177U" "0\177\\ss"
+
+ ; 0xe0
+ "15\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "48\177i"
+ "51\177c" "20\177e" "48\177e" "8\177e"
+ "52\177e" "20\177\\i" "33\177\\i" "15\177\\i"
+
+ ; 0xf0
+ "0\177\\dj" "24\177n" "15\177o" "24\177k"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "48\177u" "20\177u" "33\177u"
+ "8\177u" "34\177u" "15\177u" "52\177\\ "
+ ])
+
+(defconst cjk-latin-5 ; ISO 8859-9
+ [; 0xa0
+ "99\177" "1\177" "2\177" "3\177"
+ "4\177" "5\177" "6\177" "7\177"
+ "8\177\\ " "9\177" "10\177" "11\177"
+ "12\177" "0\177-{}" "14\177" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "20\177\\ " "21\177" "22\177" "23\177"
+ "24\177\\ " "25\177" "26\177" "27\177"
+ "28\177" "29\177" "30\177" "31\177"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "49\177G" "34\177N" "32\177O" "20\177O"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "32\177U" "20\177U" "33\177U"
+ "8\177U" "52\177I" "24\177S" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "49\177g" "34\177n" "32\177o" "20\177o"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "32\177u" "20\177u" "33\177u"
+ "8\177u" "0\177\\i" "24\177s" "8\177y"
+ ])
+
+(defconst cjk-latin-jisx ; JIS X 0201 lower half
+ [; 0xa0
+ "" "0\177!" "37\177" "0\177\\#"
+ "39\177" "0\177\\%" "0\177\\&" "40\177"
+ "0\177(" "0\177)" "0\177*" "0\177+"
+ "0\177," "0\177-" "0\177." "0\177/"
+
+ ; 0xb0
+ "0\1770" "0\1771" "0\1772" "0\1773"
+ "0\1774" "0\1775" "0\1776" "0\1777"
+ "0\1778" "0\1779" "0\177:" "0\177;"
+ "41\177" "0\177=" "42\177" "0\177?"
+
+ ; 0xc0
+ "36\177" "0\177A" "0\177B" "0\177C"
+ "0\177D" "0\177E" "0\177F" "0\177G"
+ "0\177H" "0\177I" "0\177J" "0\177K"
+ "0\177L" "0\177M" "0\177N" "0\177O"
+
+ ; 0xd0
+ "0\177P" "0\177Q" "0\177R" "0\177S"
+ "0\177T" "0\177U" "0\177V" "0\177W"
+ "0\177X" "0\177Y" "0\177Z" "0\177["
+ "5\177" "0\177]" "43\177" "44\177"
+
+ ; 0xe0
+ "46\177" "0\177a" "0\177b" "0\177c"
+ "0\177d" "0\177e" "0\177f" "0\177g"
+ "0\177h" "0\177i" "0\177j" "0\177k"
+ "0\177l" "0\177m" "0\177n" "0\177o"
+
+ ; 0xf0
+ "0\177p" "0\177q" "0\177r" "0\177s"
+ "0\177t" "0\177u" "0\177v" "0\177w"
+ "0\177x" "0\177y" "0\177z" "47\177"
+ "50\177" "54\177" "56\177" ""
+ ])
+
+(defconst cjk-cyrillic ; ISO 8859-5
+ [; 0xa0
+ "99\177" "0\177\\CYRYO" "0\177\\CYRDJE" "20\177\\CYRG"
+ "0\177\\CYRIE" "0\177\\CYRDZE" "0\177\\CYRII" "0\177\\CYRYI"
+ "0\177\\CYRJE" "0\177\\CYRLJE" "0\177\\CYRNJE" "0\177\\CYRTSHE"
+ "20\177\\CYRK" "0\177-{}" "0\177\\CYRUSHRT" "0\177\\CYRDZHE"
+
+ ; 0xb0
+ "0\177\\CYRA" "0\177\\CYRB" "0\177\\CYRV" "0\177\\CYRG"
+ "0\177\\CYRD" "0\177\\CYRE" "0\177\\CYRZH" "0\177\\CYRZ"
+ "0\177\\CYRI" "0\177\\CYRISHRT" "0\177\\CYRK" "0\177\\CYRL"
+ "0\177\\CYRM" "0\177\\CYRN" "0\177\\CYRO" "0\177\\CYRP"
+
+ ; 0xc0
+ "0\177\\CYRR" "0\177\\CYRS" "0\177\\CYRT" "0\177\\CYRU"
+ "0\177\\CYRF" "0\177\\CYRH" "0\177\\CYRC" "0\177\\CYRCH"
+ "0\177\\CYRSH" "0\177\\CYRSHCH" "0\177\\CYRHRDSN" "0\177\\CYRERY"
+ "0\177\\CYRSFTSN" "0\177\\CYREREV" "0\177\\CYRYU" "0\177\\CYRYA"
+
+ ; 0xd0
+ "0\177\\cyra" "0\177\\cyrb" "0\177\\cyrv" "0\177\\cyrg"
+ "0\177\\cyrd" "0\177\\cyre" "0\177\\cyrzh" "0\177\\cyrz"
+ "0\177\\cyri" "0\177\\cyrishrt" "0\177\\cyrk" "0\177\\cyrl"
+ "0\177\\cyrm" "0\177\\cyrn" "0\177\\cyro" "0\177\\cyrp"
+
+ ; 0xe0
+ "0\177\\cyrr" "0\177\\cyrs" "0\177\\cyrt" "0\177\\cyru"
+ "0\177\\cyrf" "0\177\\cyrh" "0\177\\cyrc" "0\177\\cyrch"
+ "0\177\\cyrsh" "0\177\\cyrshch" "0\177\\cyrhrdsn" "0\177\\cyrery"
+ "0\177\\cyrsftsn" "0\177\\cyrerev" "0\177\\cyryu" "0\177\\cyrya"
+
+ ; 0xf0
+ "35\177" "0\177\\cyryo" "0\177\\cyrdje" "20\177\\cyrg"
+ "0\177\\cyrie" "0\177\\cyrdze" "0\177\\cyrii" "0\177\\cyryi"
+ "0\177\\cyrje" "0\177\\cyrlje" "0\177\\cyrnje" "0\177\\cyrtshe"
+ "20\177\\cyrk" "7\177" "0\177\\cyrushrt" "0\177\\cyrdzhe"
+ ])
+
+(defconst cjk-greek ; ISO 8859-7
+ [;0xa0
+ "99\177" "0\177<{}" "0\177>{}" "3\177"
+ "" "" "6\177" "7\177"
+ "8\177\\ " "9\177" "" "0\177(("
+ "12\177" "0\177-{}" "" "0\177---"
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "0\177'{}" "0\177\"'{}" "0\177'A" "0\177;"
+ "0\177'E" "0\177'H" "0\177'I" "0\177))"
+ "0\177'O" "29\177" "0\177'U" "0\177'W"
+
+ ; 0xc0
+ "0\177\"'i" "0\177A" "0\177B" "0\177G"
+ "0\177D" "0\177E" "0\177Z" "0\177H"
+ "0\177J" "0\177I" "0\177K" "0\177L"
+ "0\177M" "0\177N" "0\177X" "0\177O"
+
+ ; 0xd0
+ "0\177P" "0\177R" "" "0\177S"
+ "0\177T" "0\177U" "0\177F" "0\177Q"
+ "0\177Y" "0\177W" "0\177\"I" "0\177\"U"
+ "0\177'a" "0\177'e" "0\177'h" "0\177'i"
+
+ ; 0xe0
+ "0\177\"'u" "0\177a" "0\177b" "0\177g"
+ "0\177d" "0\177e" "0\177z" "0\177h"
+ "0\177j" "0\177i" "0\177k" "0\177l"
+ "0\177m" "0\177n" "0\177x" "0\177o"
+
+ ; 0xf0
+ "0\177p" "0\177r" "0\177c" "0\177s"
+ "0\177t" "0\177u" "0\177f" "0\177q"
+ "0\177y" "0\177w" "0\177\"i" "0\177\"u"
+ "0\177'o" "0\177'u" "0\177'w" ""
+ ])
+
+(defconst cjk-viscii-lower
+ [; 0xA0
+ "" "20\177\\abreve" "32\177\\abreve" "71\177\\abreve"
+ "20\177\\acircumflex" "32\177\\acircumflex" "73\177\\acircumflex" "71\177\\acircumflex"
+ "34\177e" "71\177e" "20\177\\ecircumflex" "32\177\\ecircumflex"
+ "73\177\\ecircumflex" "34\177\\ecircumflex" "71\177\\ecircumflex" "20\177\\ocircumflex"
+
+ ; 0xB0
+ "32\177\\ocircumflex" "73\177\\ocircumflex" "34\177\\ocircumflex" ""
+ "" "71\177\\ocircumflex" "32\177\\ohorn" "73\177\\ohorn"
+ "71\177i" "" "" ""
+ "" "0\177\\ohorn" "20\177\\ohorn" ""
+
+ ; 0xC0
+ "" "" "" ""
+ "" "" "73\177\\abreve" "34\177\\abreve"
+ "" "" "" ""
+ "" "" "" "32\177y"
+
+ ; 0xD0
+ "" "20\177\\uhorn" "" ""
+ "" "71\177a" "73\177y" "32\177\\uhorn"
+ "73\177\\uhorn" "" "" "34\177y"
+ "71\177y" "" "34\177\\ohorn" "0\177\\uhorn"
+
+ ; 0xE0
+ "32\177a" "20\177a" "0\177\\acircumflex" "34\177a"
+ "73\177a" "0\177\\abreve" "34\177\\uhorn" "34\177\\acircumflex"
+ "32\177e" "20\177e" "0\177\\ecircumflex" "73\177e"
+ "32\177i" "20\177i" "34\177i" "73\177i"
+
+ ; 0xF0
+ "0\177\\dj" "71\177\\uhorn" "32\177o" "20\177o"
+ "0\177\\ocircumflex" "34\177o" "73\177o" "71\177o"
+ "71\177u" "32\177u" "20\177u" "34\177u"
+ "73\177u" "20\177y" "71\177\\ohorn" ""
+ ])
+
+(defconst cjk-viscii-upper
+ [; 0xA0
+ "" "20\177\\ABREVE" "32\177\\ABREVE" "71\177\\ABREVE"
+ "20\177\\ACIRCUMFLEX" "32\177\\ACIRCUMFLEX" "73\177\\ACIRCUMFLEX" "71\177\\ACIRCUMFLEX"
+ "34\177E" "71\177E" "20\177\\ECIRCUMFLEX" "32\177\\ECIRCUMFLEX"
+ "73\177\\ECIRCUMFLEX" "34\177\\ECIRCUMFLEX" "71\177\\ECIRCUMFLEX" "20\177\\OCIRCUMFLEX"
+
+ ; 0xB0
+ "32\177\\OCIRCUMFLEX" "73\177\\OCIRCUMFLEX" "34\177\\OCIRCUMFLEX" ""
+ "" "71\177\\OCIRCUMFLEX" "32\177\\OHORN" "73\177\\OHORN"
+ "71\177I" "" "" ""
+ "" "0\177\\OHORN" "20\177\\OHORN" ""
+
+ ; 0xC0
+ "" "" "" ""
+ "" "" "73\177\\ABREVE" "34\177\\ABREVE"
+ "" "" "" ""
+ "" "" "" "32\177Y"
+
+ ; 0xD0
+ "" "20\177\\UHORN" "" ""
+ "" "71\177A" "73\177Y" "32\177\\UHORN"
+ "73\177\\UHORN" "" "" "34\177Y"
+ "71\177Y" "" "34\177\\OHORN" "0\177\\UHORN"
+
+ ; 0xE0
+ "32\177A" "20\177A" "0\177\\ACIRCUMFLEX" "34\177A"
+ "73\177A" "0\177\\ABREVE" "34\177\\UHORN" "34\177\\ACIRCUMFLEX"
+ "32\177E" "20\177E" "0\177\\ECIRCUMFLEX" "73\177E"
+ "32\177I" "20\177I" "34\177I" "73\177I"
+
+ ; 0xF0
+ "0\177\\DJ" "71\177\\UHORN" "32\177O" "20\177O"
+ "0\177\\OCIRCUMFLEX" "34\177O" "73\177O" "71\177O"
+ "71\177U" "32\177U" "20\177U" "34\177U"
+ "73\177U" "20\177Y" "71\177\\OHORN" ""
+ ])
+
+
+;; The following encodings will be selected (if they occur in the input
+;; buffer) at the very beginning of the output buffer to load the
+;; corresponding CJK macros.
+(defconst cjk-enc-table
+ (let ((vec (make-vector 256 nil)))
+ (aset vec lc-cn "GB")
+ (aset vec lc-kana "SJIS")
+ (aset vec lc-jp "JIS")
+ (aset vec lc-jp2 "JIS2")
+ (aset vec lc-kr "KS")
+ (aset vec lc-big5-1 "Bg5")
+ (aset vec lc-big5-2 "Bg5")
+ (aset vec lc-cns1 "CNS1")
+ (aset vec lc-cns2 "CNS2")
+ (aset vec lc-cns3 "CNS3")
+ (aset vec lc-cns4 "CNS4")
+ (aset vec lc-cns5 "CNS5")
+ (aset vec lc-cns6 "CNS6")
+ (aset vec lc-cns7 "CNS7")
+ vec))
+
+(defconst cjk-space "\17764\177\177")
+(defconst cjk-nospace "\17765\177\177")
+
+;; here we have the format specification table which defines what to do
+;; for each encoding.
+(defconst cjk-format-spec-table
+ (let ((vec (make-vector 256 nil)))
+ ;; Element is a vector VEC. Each character is formatted as:
+ ;; (format "\177%s\177" (aref VEC (- char-code 160)))
+ (aset vec lc-ltn1 cjk-latin-1)
+ (aset vec lc-ltn2 cjk-latin-2)
+ (aset vec lc-ltn3 cjk-latin-3)
+ (aset vec lc-ltn4 cjk-latin-4)
+ (aset vec lc-ltn5 cjk-latin-5)
+ (aset vec lc-roman cjk-latin-jisx)
+ ;; T2A encoding is used for Cyrillic letters. You must explicitly
+ ;; switch between T2 and T1/OT1 encoding.
+ (aset vec lc-crl cjk-cyrillic)
+ ;; LGR encoding (resp. its ligatures) is used for Greek letters. You
+ ;; must explicitly switch between LGR and T1/OT1 encoding (using
+ ;; e.g. Babel's `greek' option).
+ (aset vec lc-grk cjk-greek)
+ ;; for Vietnamese a Vietnamese TeX-font has to be used which contains
+ ;; ASCII characters too! You must explicitly switch between Vietnamese
+ ;; T5 and T1/OT1 encoding.
+ (aset vec lc-vn-1 cjk-viscii-lower)
+ (aset vec lc-vn-2 cjk-viscii-upper)
+
+ ;; Element is a cons of header HEAD and formatter FORMAT. HEAD is
+ ;; printed first, then each character is formatted as:
+ ;; (format FORMAT char-code-1 char-code-2)
+ (aset vec lc-kana '("\17770\177\177" . "\177%c\177\177"))
+ (aset vec lc-jp '("\17766\177\177" . "\177%c\177%d\177"))
+ (aset vec lc-cn '("\17767\177\177" . "\177%c\177%d\177"))
+ (aset vec lc-big5-1 '("\17768\177\177" . "\177%c\177%d\177"))
+ (aset vec lc-big5-2 '("\17768\177\177" . "\177%c\177%d\177"))
+ (aset vec lc-kr '("\17769\177\177" . "\177%c\177%d\177"))
+
+ ;; Element is a formatter string FORMAT. Each character is
+ ;; formatted as:
+ ;; (format FORMAT char-code-1 char-code-2)
+ (aset vec lc-jp2 "\17772\177JIS2\177\177%d\177%d\177")
+ (aset vec lc-cns1 "\17772\177CNS1\177\177%d\177%d\177")
+ (aset vec lc-cns2 "\17772\177CNS2\177\177%d\177%d\177")
+ (aset vec lc-cns3 "\17772\177CNS3\177\177%d\177%d\177")
+ (aset vec lc-cns4 "\17772\177CNS4\177\177%d\177%d\177")
+ (aset vec lc-cns5 "\17772\177CNS5\177\177%d\177%d\177")
+ (aset vec lc-cns6 "\17772\177CNS6\177\177%d\177%d\177")
+ (aset vec lc-cns7 "\17772\177CNS7\177\177%d\177%d\177")
+ vec))
+
+
+(make-coding-system
+ '*cjk-coding* 0 ?c
+ "Coding-system for LaTeX2e CJK Package" 1)
+
+
+(put '*cjk-coding* 'pre-write-conversion 'cjk-encode)
+
+
+(defun cjk-encode (from to)
+ (save-excursion
+ (save-restriction
+ (narrow-to-region from to)
+ (let ((mc-flag t)
+ (re-multibyte-char "[\177-\237][\240-\177]+")
+ (enc (make-vector 256 nil))
+ (space-state nil)
+ (require-cjk-execute nil)
+ prev-lc lc ch ch1 ch2 format-spec)
+ (goto-char (point-min))
+ (if (null (let (mc-flag) (re-search-forward re-multibyte-char nil t)))
+ ;; No multilingual text. Nothing to do.
+ nil
+ (goto-char (match-beginning 0))
+ (setq prev-lc lc-ascii)
+ (while (not (eobp))
+ ;; Now we are at a multibyte character.
+ ;; Set the following variables:
+ ;; LC -- leading char
+ ;; CH1 -- first char code
+ ;; CH2 -- second char code (of two byte chars)
+ (setq ch (following-char))
+ (delete-char 1)
+ (setq lc (char-component ch 0))
+ (if (or (= lc lc-big5-1) (= lc lc-big5-2))
+ ;; Mule has special encoding for Big5 characters. We
+ ;; must decode them to the normal Big5 codes.
+ (let ((vec (g2b ch)))
+ (setq ch1 (aref vec 0) ch2 (aref vec 1)))
+ (setq ch1 (char-component ch 1)
+ ch2 (char-component ch 2)))
+
+ ;; FORMAT-SPEC tells how to encode this character.
+ (setq format-spec (aref cjk-format-spec-table lc))
+ (if (null format-spec)
+ ;; Unsupported character set.
+ nil
+ ;; Ok, it is supported. If this character set is one of
+ ;; CJK, we need a special header at the beginning of the
+ ;; file.
+ (if (aset enc lc (aref cjk-enc-table lc))
+ (setq require-cjk-execute t))
+
+ (cond ((consp format-spec)
+ ;; We may have to insert the car part of the cons
+ ;; and/or space controlling commands
+ ;; (cjk-space/cjk-nospace) depending on the current
+ ;; context.
+ (if (= lc lc-kr)
+ (or (eq space-state cjk-space)
+ (insert (setq space-state cjk-space)))
+ (or (eq space-state cjk-nospace)
+ (insert (setq space-state cjk-nospace))))
+ (if (/= prev-lc lc)
+ (insert (car format-spec)))
+ (insert (format (cdr format-spec) ch1 ch2)))
+
+ ((vectorp format-spec)
+ (insert (format "\177%s\177"
+ (aref format-spec (- ch1 160)))))
+ (t ; FORMAT-SPEC is just a formatting string.
+ (insert (format format-spec ch1 ch2)))))
+
+ ;; Prepare the next loop.
+ (setq prev-lc lc)
+ ;; Skip spaces, etc.
+ (skip-chars-forward " \t\n")
+ ;; If there are any ASCII chars, skip them also, but set
+ ;; PREV-LC to LC-ASCII.
+ (if (and (< (following-char) 128)
+ (let (mc-flag)
+ (re-search-forward re-multibyte-char nil 'move)))
+ (progn
+ (goto-char (match-beginning 0))
+ (setq prev-lc lc-ascii))))
+
+ ;; Now, insert an appropriate header at the head of the file.
+ (goto-char (point-min))
+ (if require-cjk-execute
+ (let ((i 128))
+ (insert "\\def\\CJKhook{")
+ (while (< i 256)
+ (if (aref enc i)
+ (insert (format "\\CJKenc{%s}" (aref enc i))))
+ (setq i (1+ i)))
+ (insert "}")
+ (insert "\\ifx\\CJKpreproc\\undefined")
+ (insert "\\def\\CJKpreproc{cjk-enc}")
+ (insert "\\RequirePackage[global]{CJK}")
+ (insert "\\AtBeginDocument{\\begin{CJK}{}{}\\CJKspace}")
+ (insert "\\AtEndDocument{\\end{CJK}}")
+ (insert "\\else\\CJKhook\\fi "))
+ (insert "\\ifx\\CJKpreproc\\undefined")
+ (insert "\\def\\CJKpreproc{cjk-enc}")
+ (insert "\\RequirePackage{MULEenc}")
+ (insert "\\fi ")))))))
+
+
+(defun cjk-write-file ()
+ "Save current buffer and <buffername>.cjk in *cjk-coding*.
+Files of the form <buffername>.bib are saved as <buffername>-cjk.bib"
+
+ (interactive)
+ (let ((bufname (buffer-file-name))
+ body
+ extension
+ newbufname)
+ (save-buffer)
+ (string-match "\\(.*\\)\\(\\.[^/]*$\\)" bufname)
+ (setq body (match-string 1 bufname)
+ extension (match-string 2 bufname))
+ (setq newbufname
+ (concat body
+ (if (string-equal extension ".bib")
+ "-cjk.bib"
+ ".cjk")))
+ (message "Saving %s and %s" bufname newbufname)
+ (let ((set-file-coding-system *cjk-coding*))
+ (write-region (point-min) (point-max) newbufname))))
+
+
+;;; EOF
diff --git a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.c b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.c
new file mode 100644
index 00000000000..5273fbbc03f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.c
@@ -0,0 +1,480 @@
+/*
+
+ This is the file pinyin.c of the CJK macro package ver. 4.8.0
+ (22-May-2008).
+
+ Use this file to generate a hyphenation input file for patgen.
+
+ Usage:
+
+ pinyin > pinyin.dic
+
+ */
+
+/*
+ Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+ */
+
+#include <stdio.h>
+
+
+/* A list of all Chinese syllables. We use latin-1 encoding for the
+ `umlaut u' character. */
+
+char *py[] =
+{
+ "a",
+ "ai",
+ "an",
+ "ang",
+ "ao",
+ "ba",
+ "bai",
+ "ban",
+ "bang",
+ "bao",
+ "bei",
+ "ben",
+ "beng",
+ "bi",
+ "bian",
+ "biao",
+ "bie",
+ "bin",
+ "bing",
+ "bo",
+ "bu",
+ "ca",
+ "cai",
+ "can",
+ "cang",
+ "cao",
+ "ce",
+ "cen",
+ "ceng",
+ "cha",
+ "chai",
+ "chan",
+ "chang",
+ "chao",
+ "che",
+ "chen",
+ "cheng",
+ "chi",
+ "chong",
+ "chou",
+ "chu",
+ "chuai",
+ "chuan",
+ "chuang",
+ "chui",
+ "chun",
+ "chuo",
+ "ci",
+ "cong",
+ "cou",
+ "cu",
+ "cuan",
+ "cui",
+ "cun",
+ "cuo",
+ "da",
+ "dai",
+ "dan",
+ "dang",
+ "dao",
+ "de",
+ "dei",
+ "deng",
+ "di",
+ "dian",
+ "diao",
+ "die",
+ "ding",
+ "diu",
+ "dong",
+ "dou",
+ "du",
+ "duan",
+ "dui",
+ "dun",
+ "duo",
+ "e",
+ "ei",
+ "en",
+ "eng",
+ "er",
+ "fa",
+ "fan",
+ "fang",
+ "fei",
+ "fen",
+ "feng",
+ "fiao",
+ "fo",
+ "fou",
+ "fu",
+ "ga",
+ "gai",
+ "gan",
+ "gang",
+ "gao",
+ "ge",
+ "gei",
+ "gen",
+ "geng",
+ "gong",
+ "gou",
+ "gu",
+ "gua",
+ "guai",
+ "guan",
+ "guang",
+ "gui",
+ "gun",
+ "guo",
+ "ha",
+ "hai",
+ "han",
+ "hang",
+ "hao",
+ "he",
+ "hei",
+ "hen",
+ "heng",
+ "hong",
+ "hou",
+ "hu",
+ "hua",
+ "huai",
+ "huan",
+ "huang",
+ "hui",
+ "hun",
+ "huo",
+ "ji",
+ "jia",
+ "jian",
+ "jiang",
+ "jiao",
+ "jie",
+ "jin",
+ "jing",
+ "jiong",
+ "jiu",
+ "ju",
+ "juan",
+ "jue",
+ "jun",
+ "ka",
+ "kai",
+ "kan",
+ "kang",
+ "kao",
+ "ke",
+ "kei",
+ "ken",
+ "keng",
+ "kong",
+ "kou",
+ "ku",
+ "kua",
+ "kuai",
+ "kuan",
+ "kuang",
+ "kui",
+ "kun",
+ "kuo",
+ "la",
+ "lai",
+ "lan",
+ "lang",
+ "lao",
+ "le",
+ "lei",
+ "leng",
+ "li",
+ "lia",
+ "lian",
+ "liang",
+ "liao",
+ "lie",
+ "lin",
+ "ling",
+ "liu",
+ "long",
+ "lou",
+ "lu",
+ "luan",
+ "lun",
+ "luo",
+ "l",
+ "le",
+ "ma",
+ "mai",
+ "man",
+ "mang",
+ "mao",
+ "me",
+ "mei",
+ "men",
+ "meng",
+ "mi",
+ "mian",
+ "miao",
+ "mie",
+ "min",
+ "ming",
+ "miu",
+ "mo",
+ "mou",
+ "mu",
+ "na",
+ "nai",
+ "nan",
+ "nang",
+ "nao",
+ "ne",
+ "nei",
+ "nen",
+ "neng",
+ "ni",
+ "nian",
+ "niang",
+ "niao",
+ "nie",
+ "nin",
+ "ning",
+ "niu",
+ "nong",
+ "nou",
+ "nu",
+ "nuan",
+ "nuo",
+ "n",
+ "ne",
+ "o",
+ "ou",
+ "pa",
+ "pai",
+ "pan",
+ "pang",
+ "pao",
+ "pei",
+ "pen",
+ "peng",
+ "pi",
+ "pian",
+ "piao",
+ "pie",
+ "pin",
+ "ping",
+ "po",
+ "pou",
+ "pu",
+ "qi",
+ "qia",
+ "qian",
+ "qiang",
+ "qiao",
+ "qie",
+ "qin",
+ "qing",
+ "qiong",
+ "qiu",
+ "qu",
+ "quan",
+ "que",
+ "qun",
+ "ran",
+ "rang",
+ "rao",
+ "re",
+ "ren",
+ "reng",
+ "ri",
+ "rong",
+ "rou",
+ "ru",
+ "ruan",
+ "rui",
+ "run",
+ "ruo",
+ "sa",
+ "sai",
+ "san",
+ "sang",
+ "sao",
+ "se",
+ "sen",
+ "seng",
+ "sha",
+ "shai",
+ "shan",
+ "shang",
+ "shao",
+ "she",
+ "shei",
+ "shen",
+ "sheng",
+ "shi",
+ "shou",
+ "shu",
+ "shua",
+ "shuai",
+ "shuan",
+ "shuang",
+ "shui",
+ "shun",
+ "shuo",
+ "si",
+ "song",
+ "sou",
+ "su",
+ "suan",
+ "sui",
+ "sun",
+ "suo",
+ "ta",
+ "tai",
+ "tan",
+ "tang",
+ "tao",
+ "te",
+ "tei",
+ "teng",
+ "ti",
+ "tian",
+ "tiao",
+ "tie",
+ "ting",
+ "tong",
+ "tou",
+ "tu",
+ "tuan",
+ "tui",
+ "tun",
+ "tuo",
+ "wa",
+ "wai",
+ "wan",
+ "wang",
+ "wei",
+ "wen",
+ "weng",
+ "wo",
+ "wu",
+ "xi",
+ "xia",
+ "xian",
+ "xiang",
+ "xiao",
+ "xie",
+ "xin",
+ "xing",
+ "xiong",
+ "xiu",
+ "xu",
+ "xuan",
+ "xue",
+ "xun",
+ "ya",
+ "yan",
+ "yang",
+ "yao",
+ "ye",
+ "yi",
+ "yin",
+ "ying",
+ "yo",
+ "yong",
+ "you",
+ "yu",
+ "yuan",
+ "yue",
+ "yun",
+ "za",
+ "zai",
+ "zan",
+ "zang",
+ "zao",
+ "ze",
+ "zei",
+ "zen",
+ "zeng",
+ "zha",
+ "zhai",
+ "zhan",
+ "zhang",
+ "zhao",
+ "zhe",
+ "zhei",
+ "zhen",
+ "zheng",
+ "zhi",
+ "zhong",
+ "zhou",
+ "zhu",
+ "zhua",
+ "zhuai",
+ "zhuan",
+ "zhuang",
+ "zhui",
+ "zhun",
+ "zhuo",
+ "zi",
+ "zong",
+ "zou",
+ "zu",
+ "zuan",
+ "zui",
+ "zun",
+ "zuo"
+};
+
+
+int main(void)
+{
+ int i, j, off;
+ size_t size = sizeof (py) / sizeof (char*);
+ char s[20];
+
+ /* Now we loop through all possible syllable combinations. */
+
+ for (i = 0; i < size; i++)
+ for (j = 0; j < size; j++)
+ {
+ /* The seldom used `%n' construct yields the number of processed
+ characters so far. */
+
+ sprintf(s, "%s%n%s", py[i], &off, py[j]);
+
+ /* We check the first character of the second syllable. If it is
+ a vowel, a quote will be inserted. Example: Tian'anmen. */
+
+ if (s[off] == 'a' || s[off] == 'e' || s[off] == 'o')
+ printf("%s'-%s\n", py[i], py[j]);
+
+ /* No special case. */
+
+ else
+ printf("%s-%s\n", py[i], py[j]);
+ }
+
+ return 0;
+}
diff --git a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.ldf b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.ldf
new file mode 100644
index 00000000000..023ccefc1b8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.ldf
@@ -0,0 +1,62 @@
+% This is the file pinyin.ldf of the CJK package
+% for hyphenating Chinese pinyin syllables.
+%
+% We use the latin-1 character code for `umlaut u' (0xfc). Additionally,
+% the quote character "'" is used in its standard sense (resolving syllabic
+% ambiguities).
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\ProvidesLanguage{pinyin}
+ [CJK 4.8.0 pinyin support for the babel system]
+
+\LdfInit{pinyin}{captionspinyin}
+
+\ifx\l@pinyin\@undefined
+ \@nopatterns{pinyin}
+ \adddialect\l@pinyin0
+\fi
+
+\def\pinyinhyphenmins{11}
+\def\captionspinyin{}
+\def\datepinyin{}
+
+\initiate@active@char{"}
+
+\addto\extraspinyin{\languageshorthands{pinyin}}
+\addto\extraspinyin{\bbl@activate{"}}
+\addto\extraspinyin{\babel@save\"\umlautlow}
+\addto\extraspinyin{%
+ \babel@savevariable{\lccode"27}%
+ \lccode"27 "27}
+
+\addto\noextraspinyin{\umlauthigh}
+
+\declare@shorthand{pinyin}{"u}{\textormath{\"{u}}{\ddot u}}
+\declare@shorthand{pinyin}{"U}{\textormath{\"{U}}{\ddot U}}
+
+\def\mdqon{\shorthandon{"}}
+\def\mdqoff{\shorthandoff{"}}
+
+\ldf@finish{pinyin}
+
+\endinput
diff --git a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.tr b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.tr
new file mode 100644
index 00000000000..ea89adb4fc6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.tr
@@ -0,0 +1,52 @@
+ 1 1
+%% This is the file pinyin.tr of the CJK package
+%% defining the letters used for generating pinyin hyphenation patterns
+%% with patgen.
+%
+%% created by Werner Lemberg <wl@gnu.org>
+%%
+%% Version 4.8.0 (22-May-2008)
+%%
+%% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%%
+%% This program is free software; you can redistribute it and/or modify
+%% it under the terms of the GNU General Public License as published by
+%% the Free Software Foundation; either version 2 of the License, or
+%% (at your option) any later version.
+%%
+%% This program is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%% GNU General Public License for more details.
+%%
+%% You should have received a copy of the GNU General Public License
+%% along with this program in doc/COPYING; if not, write to the Free
+%% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+%% MA 02110-1301 USA
+ a A
+ b B
+ c C
+ d D
+ e E
+ f F
+ g G
+ h H
+ i I
+ j J
+ k K
+ l L
+ m M
+ n N
+ o O
+ p P
+ q Q
+ r R
+ s S
+ t T
+ u U
+
+ w W
+ x X
+ y Y
+ z Z
+ '
diff --git a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pyhyph.tex b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pyhyph.tex
new file mode 100644
index 00000000000..93dab277d64
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pyhyph.tex
@@ -0,0 +1,236 @@
+% This is the file pyhyph.tex of the CJK package
+% for hyphenating Chinese pinyin syllables.
+%
+% We use the latin-1 character code for `umlaut u' (0xfc). Additionally,
+% the quote character "'" is used in its standard sense (resolving syllabic
+% ambiguities).
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\message{Hyphenation patterns for unaccented pinyin syllables (CJK 4.8.0)}
+
+\begingroup
+
+\catcode"0FC = 11 % umlaut u
+\catcode"027 = 11 % quote (')
+\lccode"0FC = "0FC
+\lccode"027 = "027
+
+\patterns{
+a1b
+a1c
+a1d
+a1f
+a1g
+a1h
+a1j
+a1k
+a1l
+a1m
+a1p
+a1q
+a1r
+a1s
+a1t
+a1w
+a1x
+a1y
+a1z
+e1b
+e1c
+e1d
+e1f
+e1g
+e1h
+e1j
+e1k
+e1l
+e1m
+e1p
+e1q
+e1s
+e1t
+e1w
+e1x
+e1y
+e1z
+1ga
+g1b
+g1c
+g1d
+1ge
+g1f
+g1g
+g1h
+g1j
+g1k
+g1l
+g1m
+g1n
+1go
+g1p
+g1q
+g1r
+g1s
+g1t
+1gu
+g1w
+g1x
+g1y
+g1z
+i1b
+i1c
+i1d
+i1f
+i1g
+i1h
+i1j
+i1k
+i1l
+i1m
+i1p
+i1q
+i1r
+i1s
+i1t
+i1w
+i1x
+i1y
+i1z
+1na
+n1b
+n1c
+n1d
+1ne
+n1f
+n1h
+1ni
+n1j
+n1k
+n1l
+n1m
+n1n
+1no
+n1p
+n1q
+n1r
+n1s
+n1t
+1nu
+1n^^fc
+n1w
+n1x
+n1y
+n1z
+o1b
+o1c
+o1d
+o1f
+o1g
+o1h
+o1j
+o1k
+o1l
+o1m
+o1p
+o1q
+o1r
+o1s
+o1t
+o1w
+o1x
+o1y
+o1z
+1ra
+r1b
+r1c
+r1d
+1re
+r1f
+r1g
+r1h
+1ri
+r1j
+r1k
+r1l
+r1m
+r1n
+1ro
+r1p
+r1q
+r1r
+r1s
+r1t
+1ru
+r1w
+r1x
+r1y
+r1z
+u1b
+u1c
+u1d
+u1f
+u1g
+u1h
+u1j
+u1k
+u1l
+u1m
+u1p
+u1q
+u1r
+u1s
+u1t
+u1w
+u1x
+u1y
+u1z
+^^fc1b
+^^fc1c
+^^fc1d
+^^fc1f
+^^fc1g
+^^fc1h
+^^fc1j
+^^fc1k
+^^fc1l
+^^fc1m
+^^fc1n
+^^fc1p
+^^fc1q
+^^fc1r
+^^fc1s
+^^fc1t
+^^fc1w
+^^fc1x
+^^fc1y
+^^fc1z
+'1a
+'1e
+'1o
+}
+\endgroup
+
+\lefthyphenmin 1
+\righthyphenmin 1
+
+\endinput
diff --git a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pytest.tex b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pytest.tex
new file mode 100644
index 00000000000..3b862fcb6b2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pytest.tex
@@ -0,0 +1,51 @@
+% This is the file pytest.tex of the CJK package
+% for testing Chinese pinyin hyphenation.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+%
+%%
+%% Attention! This will work only if you have created a new format file
+%% with `pyhyph.tex' as additional hyphenation patterns for the language
+%% `pinyin'. Otherwise no hyphenation will be used.
+%%
+% Note that the Babel package searches for `pinyin.ldf', not pinyin.sty --
+% the latter is for typesetting accented pinyin syllables.
+
+\documentclass[12pt,b5paper]{article}
+
+\usepackage[10pt]{type1ec} % use only 10pt fonts
+\usepackage[T1]{fontenc}
+\usepackage[pinyin]{babel}
+
+
+\begin{document}
+
+% Taken from the TeXbook (p. 451) to force frequent insertion of hyphens.
+\hyphenpenalty -1000
+\pretolerance -1
+\tolerance 1000
+\doublehyphendemerits -100000
+\finalhyphendemerits -100000
+
+\selectlanguage{pinyin}
+
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/clonevf.pl b/Master/texmf-dist/source/latex/cjk/utils/subfonts/clonevf.pl
new file mode 100644
index 00000000000..41ed9b19d7f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/clonevf.pl
@@ -0,0 +1,122 @@
+#! /usr/bin/perl -w
+#
+# This script clones a virtual font from a TFM file.
+#
+# As prerequisites, it needs the programs `tftopl' and `vptovf', which must
+# be in the path.
+#
+# Call the script as
+#
+# perl clonevf.pl tfm-name vf-name
+#
+# Example:
+#
+# perl clonevf.pl bsmiuv bsmilpv
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV != 1) {
+ die("usage: $prog tfm-name vf-name\n");
+}
+
+my $tfmname = $ARGV[0];
+my $vfname = $ARGV[1];
+
+
+# Create PL file.
+
+print("Processing metrics file \`$tfmname.tfm'...\n");
+
+my $arg = "tftopl $tfmname.tfm > $tfmname.pl";
+system($arg) == 0
+|| die("$prog: calling \`$arg' failed: $?\n");
+
+
+# Create VPL file.
+
+print("Writing virtual property list file \`$vfname.vpl'...\n");
+
+open(PL, "$tfmname.pl")
+|| die("$prog: can't open \`$tfmname.pl': $!\n");
+
+open(VPL, ">", "$vfname.vpl")
+|| die("$prog: can't open \`$vfname.vpl': $!\n");
+
+print(VPL "(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n");
+print(VPL "(FAMILY TEX-\U$vfname\E)\n");
+
+my $have_mapfont = 0;
+while (<PL>) {
+ next if /^\(FAMILY/;
+ next if /^\(CHECKSUM/;
+
+ if (/^\(CHARACTER (.*)/) {
+ if (!$have_mapfont) {
+ print(VPL "(MAPFONT D 0\n");
+ print(VPL " (FONTNAME $tfmname)\n");
+ print(VPL " )\n");
+ $have_mapfont = 1;
+ }
+
+ my $char = $1;
+
+ print(VPL $_);
+
+ $_ = <PL>;
+ if (/CHARWD/) {
+ print(VPL $_);
+ $_ = <PL>;
+ }
+ if (/CHARHT/) {
+ print(VPL $_);
+ $_ = <PL>;
+ }
+ if (/CHARDP/) {
+ print(VPL $_);
+ $_ = <PL>;
+ }
+
+ print(VPL " (MAP\n");
+ print(VPL " (SELECTFONT D 0)\n");
+ print(VPL " (SETCHAR $char)\n");
+ print(VPL " )\n");
+ }
+
+ print(VPL $_);
+}
+
+close(PL);
+close(VPL);
+
+print("Processing \`$vfname.vpl'\n");
+$arg = "vptovf $vfname.vpl";
+system($arg) == 0
+|| die("$prog: calling \`$arg' failed: $?\n");
+
+print("Removing \`$tfmname.pl'...\n");
+unlink("$tfmname.pl");
+print("Removing \`$vfname.vpl'...\n");
+unlink("$vfname.vpl");
+
+
+# eof
diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/hlatex2agl.pl b/Master/texmf-dist/source/latex/cjk/utils/subfonts/hlatex2agl.pl
new file mode 100644
index 00000000000..3d759801333
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/hlatex2agl.pl
@@ -0,0 +1,477 @@
+#! /usr/bin/perl -w
+#
+# This script adds AGL compliant glyph names to fonts from the HLaTeX
+# package version 0.97 or newer. Note that only glyphs actually used in the
+# (virtual) HLaTeX subfonts get new names; additionally, the used glyph
+# shapes in the HLaTeX fonts aren't always correct -- consider this script
+# as an auxiliary means, not a definitive solution. At least the Hangul and
+# Hanja shapes are correct.
+#
+# As prerequisites, it needs the programs `t1asm' and `t1disasm' (from the
+# t1utils package) and `vftovp' which must be in the path. The subfont
+# definition file `UKS-HLaTeX.sfd' (from the ttf2pk package) and the file
+#
+# http://partners.adobe.com/public/developer/en/opentype/aglfn13.txt
+#
+# are necessary also.
+#
+# Call the script as
+#
+# perl hlatex2agl.pl virtual-namestem real-namestem sfd-file
+#
+# `virtual-namestem' specifies the name stem of the virtual subfonts
+# directly used by LaTeX; both the VF and TFM files are needed.
+# `real-namestem' gives the name stem of the real subfonts used by the
+# virtual fonts; TFM, AFM, and PFB files are needed.
+#
+# Example:
+#
+# perl hlatex2agl.pl wmj umj UKS-HLaTeX.sfd
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV != 2) {
+ die("usage: $prog virtual-namestem real-namestem sfd-file\n");
+}
+
+my $virtnamestem = $ARGV[0];
+my $realnamestem = $ARGV[1];
+my $sfdfile = $ARGV[2];
+
+
+# Read UKS-HLaTeX.sfd.
+
+my @sfd;
+my @virtsubfonts;
+
+read_sfdfile($sfdfile, \@sfd, \@virtsubfonts);
+
+
+# Read AGL file.
+
+my %agl;
+
+read_aglfile("aglfn13.txt", \%agl);
+
+
+# Read VF files.
+
+my %vpl;
+my %subfonts;
+
+for my $suffix (@virtsubfonts) {
+ read_vffile("$virtnamestem$suffix.vf", $suffix, \%vpl, \%subfonts);
+}
+
+
+# Decompose all Hangul syllables.
+
+my @hangul;
+
+decompose_hangul(\@hangul);
+
+
+# Build glyph names.
+
+my %names;
+
+build_glyphnames(\%names);
+
+
+# Process AFM files.
+
+foreach my $suffix (sort (keys %subfonts)) {
+ process_afmfile("$realnamestem$suffix.afm", $suffix);
+}
+
+
+# Process PFB files.
+
+foreach my $suffix (sort (keys %subfonts)) {
+ process_pfbfile("$realnamestem$suffix.pfb", $suffix);
+}
+
+
+# Read an SFD file.
+#
+# $1: Name of the SFD file.
+# $2: Reference to the target array, mapping from Unicode to the subfont.
+# The format of the array values is the concatenation of the subfont
+# suffix, a space, and the index.
+# $3: Reference to a target array which holds the subfont suffixes.
+
+sub read_sfdfile {
+ my ($sfdfile, $sfdarray, $subarray) = @_;
+
+ print("Reading subfont definition file \`$sfdfile'...\n");
+
+ open(SFD, $sfdfile)
+ || die("$prog: can't open \`$sfdfile': $!\n");
+
+ my $line;
+ my $continuation = 0;
+ while (<SFD>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ if ($continuation) {
+ $line .= $_;
+ }
+ else {
+ $line = $_;
+ }
+ $continuation = 0;
+
+ if ($line =~ s/\\$//) {
+ $continuation = 1;
+ next;
+ }
+
+ $_ = $line;
+ my @field = split(" ");
+
+ my $suffix = $field[0];
+ push(@{$subarray}, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(.*)_(.*)/) {
+ my $start = $1;
+ my $end = $2;
+ $start = oct($start) if ($start =~ /^0/);
+ $end = oct($end) if ($end =~ /^0/);
+ foreach my $i ($start .. $end) {
+ $sfdarray->[$i] = "$suffix $index";
+ $index++;
+ }
+ }
+ else {
+ my $value = $field[0];
+ $value = oct($value) if ($value =~ /^0/);
+ $sfdarray->[$value] = "$suffix $index";
+ $index++;
+ }
+ shift(@field);
+ }
+ }
+ close(SFD);
+}
+
+
+# Read an AGL file.
+#
+# $1: Name of the AGL file.
+# $2: Reference to the target hash file, mapping from the Unicode value
+# to the glyph name.
+
+sub read_aglfile {
+ my ($aglfile, $aglhash) = @_;
+
+ print("Reading Adobe Glyph List file \`$aglfile'...\n");
+
+ open(AGL, $aglfile)
+ || die("$prog: can't open \`$aglfile': $!\n");
+
+ while (<AGL>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ my @field = split(";");
+ $aglhash->{hex($field[0])} = $field[1];
+ }
+ close(AGL);
+}
+
+
+# Read a VF file.
+#
+# $1: Name of the VF file.
+# $2: Subfont suffix.
+# $3: Reference to a target hash, mapping from the virtual subfont to the
+# real subfonts. The format of the key is the concatenation of the
+# subfont suffix, a space, and the index. The format of the hash value
+# is `<suffix1> <idx1>[,<suffix2> <idx2>[,...]]'.
+# $4: Reference to a target hash, collecting the suffixes of the real
+# subfonts.
+
+sub read_vffile {
+ my ($vffile, $vfsuffix, $vplhash, $subfonthash) = @_;
+ my $vplfile = "$vffile.vpl";
+
+ print("Creating virtual property list file \`$vplfile'...\n");
+ my $arg = "vftovp -charcode-format=octal $vffile > $vplfile";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ print("Reading \`$vplfile'...\n");
+ open(VPL, $vplfile)
+ || die("$prog: can't open \`$vplfile': $!\n");
+
+ my @subfonts;
+ my $subindex;
+ my $index;
+ my $currfont;
+ my $map = "";
+
+ while (<VPL>) {
+ if (/\(MAPFONT D ([0-9]+)/) {
+ $subindex = $1;
+ }
+ elsif (/\(FONTNAME $realnamestem(.*?)\)/) {
+ $subfonts[$subindex] = $1;
+ if (!defined ($subfonthash->{$1})) {
+ $subfonthash->{$1} = 1;
+ }
+ }
+ elsif (/\(CHARACTER O ([0-7]+)/) {
+ # Save data from previous CHARACTER block.
+ $vplhash->{"$vfsuffix $index"} = $map if ($map);
+
+ # Reset variables.
+ $index = oct($1);
+ $currfont = 0;
+ $map = "";
+ }
+ elsif (/\(SELECTFONT D ([0-9]+)\)/) {
+ $currfont = $1;
+ }
+ elsif (/\(SETCHAR O ([0-7]+)\)/) {
+ $map .= "," if ($map);
+ $map .= "$subfonts[$currfont] " . oct($1);
+ }
+ }
+
+ # Save data from last CHARACTER block.
+ $vplhash->{"$vfsuffix $index"} = $map if ($map);
+
+ close(VPL);
+ unlink($vplfile);
+}
+
+
+# Decompose all Unicode Hangul syllables into Jamo elements.
+#
+# $1: The target array, mapping from Unicode value to a list of Jamos (in
+# Unicode), separated by commata.
+#
+# This follows the algorithm given in the Unicode standard.
+
+sub decompose_hangul {
+ my ($hangularray) = @_;
+
+ my $s_base = 0xAC00;
+ my $l_base = 0x1100;
+ my $v_base = 0x1161;
+ my $t_base = 0x11A7;
+
+ my $s_count = 11172;
+ my $l_count = 19;
+ my $v_count = 21;
+ my $t_count = 28;
+
+ my $n_count = $v_count * $t_count;
+
+ for my $s ($s_base .. ($s_base + $s_count - 1)) {
+ my $s_index = $s - $s_base;
+
+ my $l = $l_base + int($s_index / $n_count);
+ my $v = $v_base + int(($s_index % $n_count) / $t_count);
+ my $t = $t_base + $s_index % $t_count;
+
+ my $jamos = "$l,$v";
+ $jamos .= ",$t" if ($t != $t_base);
+ $hangularray->[$s] = $jamos;
+ }
+}
+
+
+# Build glyph names.
+#
+# $1: The target hash which maps from real subfonts to glyph names. Keys
+# are of the form `<suffix> <index>', hash values are AGL compliant
+# glyph names. Glyph variants get a trailing suffix of the form `.N',
+# where is is a running number starting with 1. Example: `uni1100.24'.
+
+sub build_glyphnames {
+ my ($nameshash) = @_;
+
+ my @entries;
+
+ foreach my $unicode (0 .. 0xFFFF) {
+ next if !defined ($sfd[$unicode]);
+
+ my $virtdata = $sfd[$unicode];
+
+ # We assume that only Hangul syllables are composed of more than
+ # a single element.
+ if (defined ($hangul[$unicode])) {
+ my @unijamos = split(",", $hangul[$unicode]);
+ my @jamos = split(",", $vpl{$virtdata});
+
+ foreach my $i (0 .. $#jamos) {
+ if (!defined ($nameshash->{$jamos[$i]})) {
+ if (defined ($entries[$unijamos[$i]])) {
+ $nameshash->{$jamos[$i]} = sprintf("uni%04X.%d",
+ $unijamos[$i],
+ $entries[$unijamos[$i]]);
+ $entries[$unijamos[$i]] += 1;
+ }
+ else {
+ $nameshash->{$jamos[$i]} = sprintf("uni%04X", $unijamos[$i]);
+ $entries[$unijamos[$i]] = 1;
+ }
+ }
+ }
+ }
+ else {
+ if (defined ($agl{$unicode})) {
+ $nameshash->{$vpl{$virtdata}} = $agl{$unicode};
+ }
+ else {
+ $nameshash->{$vpl{$virtdata}} = sprintf("uni%04X", $unicode);
+ }
+ }
+ }
+}
+
+
+# Process AFM file.
+#
+# $1: Name of the AFM file to process. The file is first saved, then all
+# glyph names are replaced for which an AGL compliant glyph name is
+# known.
+# $2: The suffix.
+
+sub process_afmfile {
+ my ($afmfile, $sub) = @_;
+
+ print("Processing \`$afmfile'...\n");
+
+ if (!-f $afmfile) {
+ die("$prog: \`$afmfile' doesn't exist\n");
+ }
+
+ rename($afmfile, "$afmfile.old");
+
+ open(INFILE, "$afmfile.old")
+ || die("$prog: can't open \`$afmfile.old': $!\n");
+ open(OUTFILE, ">", "$afmfile")
+ || die("$prog: can't open \`$afmfile': $!\n");
+
+ while (<INFILE>) {
+ # Replace the `kxx' entries.
+ if (/ N k(.*?) ;/) {
+ my $index = hex($1);
+ if (defined ($names{"$sub $index"})) {
+ s/ N .*? ;/ N $names{"$sub $index"} ;/;
+ }
+ }
+
+ # Update version number.
+ s/001\.000/001.001/;
+ s/Altsys\ Fontographer\ 4\.1\ 1\/10\/95$/001.001/;
+
+ print(OUTFILE $_);
+
+ # Add comment.
+ if (/^Comment\ UniqueID/ || /^Comment\ Generated/) {
+ print(OUTFILE "Comment AGL compliant glyph names added "
+ . "by script $prog 2005-Jul-27.\n");
+ }
+ }
+
+ close(INFILE);
+ close(OUTFILE);
+}
+
+
+# Process PFB file.
+#
+# $1: Name of the PFB file to process. The file is first saved, then all
+# glyph names are replaced for which an AGL compliant glyph name is
+# known.
+# $2: The suffix.
+
+sub process_pfbfile {
+ my ($pfbfile, $sub) = @_;
+ my $arg;
+
+ print("Processing \`$pfbfile'...\n");
+
+ if (!-f $pfbfile) {
+ die("$prog: \`$pfbfile' doesn't exist\n");
+ }
+
+ rename($pfbfile, "$pfbfile.old");
+
+ $arg = "t1disasm < $pfbfile.old > $pfbfile.disasm.old";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ open(INFILE, "$pfbfile.disasm.old")
+ || die("$prog: can't open \`$pfbfile.disasm.old': $!\n");
+ open(OUTFILE, ">", "$pfbfile.disasm")
+ || die("$prog: can't open \`$pfbfile.disasm': $!\n");
+
+ while (<INFILE>) {
+ # Replace the `kxx' entries.
+ if (m@/k(.*?) @) {
+ my $index = hex($1);
+ if (defined ($names{"$sub $index"})) {
+ s@/k.*? @/$names{"$sub $index"} @;
+ }
+ }
+
+ # Update version number.
+ s/001\.000/001.001/;
+
+ print(OUTFILE $_);
+
+ # Add comment.
+ if (/^%%CreationDate/) {
+ print(OUTFILE "% AGL compliant glyph names added "
+ . "by script $prog 2005-Jul-27.\n");
+ }
+ }
+
+ close(INFILE);
+ close(OUTFILE);
+
+ $arg = "t1asm < $pfbfile.disasm > $pfbfile";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ unlink("$pfbfile.disasm.old", "$pfbfile.disasm");
+}
+
+
+# eof
diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/makefdx.pl b/Master/texmf-dist/source/latex/cjk/utils/subfonts/makefdx.pl
new file mode 100644
index 00000000000..d6571039e3c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/makefdx.pl
@@ -0,0 +1,340 @@
+#! /usr/bin/perl -w
+#
+# This script creates proper entries for an FDX file as used by the CJK
+# package for LaTeX.
+#
+# As a prerequisite, it needs the file
+#
+# http://partners.adobe.com/public/developer/en/opentype/aglfn13.txt
+#
+# which must be located in the current directory.
+#
+# Call the script as
+#
+# perl [-u] makefdx.pl vertref-afm-file sfd-file encoding font-name
+#
+# `vertref-afm-file' is an AFM file as produced by the script `vertref.pe'.
+# The subfont definition file `sfd-file' gives the subfont scheme to get the
+# proper entries in the FDX file. `encoding' and `font-name' are TeX font
+# parameters as used by the CJK package; the scripts uses the concatenation
+# of those two values as the name of the FDX file (with suffix `.fdx').
+#
+# The switch `-u' makes the script add a macro to the FDX file (which is
+# used by the CJKutf8.sty) to provide a proper /ToUnicode cmap to pdftex.
+#
+# Note that the created FDX file has to be completed manually.
+#
+# Examples:
+#
+# perl makefdx.pl bsmiuvr.afm UBig5.sfd c00 bsmi
+#
+# The result of this call is the file `c00bsmi.fdx' (you get some warnings
+# because not all glyphs contained in bsmiuvr.afm can be accessed with Big5
+# encoding).
+#
+# perl makefdx.pl -u bsmiuvr.afm Unicode.sfd c70 bsmi
+#
+# The result of this call is the file `c70bsmi.fdx'.
+#
+# A collection of useful subfont definition files for CJK fonts can be found
+# in the ttf2pk package.
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+my $is_unicode = 0;
+if ($ARGV[0] eq "-u") {
+ $is_unicode = 1;
+ shift @ARGV;
+}
+
+if ($#ARGV != 3) {
+ die("usage: $prog [-u] vertref-afm-file sfd-file encoding font-name\n");
+}
+
+my $vertrefafmfile = $ARGV[0];
+my $sfdfile = $ARGV[1];
+my $encoding = $ARGV[2];
+my $fontname = $ARGV[3];
+
+my $fdxfile = $encoding . $fontname . ".fdx";
+
+# Read AGL file.
+
+my %agl;
+
+read_aglfile("aglfn13.txt", \%agl);
+
+
+# Read AFM file.
+
+my @vertref;
+
+read_afmfile($vertrefafmfile, \@vertref);
+
+
+# Read subfont definition file.
+
+my @sfd;
+
+read_sfdfile($sfdfile, \@sfd);
+
+
+# Write FDX file.
+
+print("Writing extended font definition file \`$fdxfile'...\n");
+
+open(FDX, ">", $fdxfile)
+|| die("$prog: can't open \`$fdxfile': $!\n");
+my $oldfh = select(FDX);
+
+print("% This is the file $fdxfile of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by the script makefdx.pl for CJK Version 4.8.0 (22-May-2008).
+
+\\def\\fileversion{4.8.0}
+\\def\\filedate{2008/05/22}
+\\ProvidesFile{$fdxfile}[\\filedate\\space\\fileversion]
+
+\\CJKvdef{fullheight}{1em}
+\\CJKvdef{height}{.88em}
+\\CJKvdef{offset}{.6em}
+
+% Uncomment if necessary.
+%\\CJKvdef{norotate}{}
+");
+
+my @unicodes;
+my $mapping_count = 0;
+
+foreach my $index (0 .. $#vertref) {
+ my $glyphnameref = $vertref[$index];
+ my $unicode;
+
+ if (defined ($agl{$glyphnameref})) {
+ $unicode = $agl{$glyphnameref};
+ }
+ elsif ($glyphnameref =~ /^uni([0-9A-F]{4})$/) {
+ $unicode = hex($1);
+ }
+ elsif ($glyphnameref =~ /^u([0-9A-F]{4,6})$/) {
+ $unicode = hex($1);
+ }
+ else {
+ $unicode = -1;
+ }
+ if ($unicode == -1
+ || ($unicode >= 0xD800 && $unicode <= 0xDFFF)
+ || $unicode > 0x10FFFF) {
+ print(STDERR "Can't map glyph name \`$glyphnameref' to Unicode.\n");
+ $unicodes[$index] = -1;
+ next;
+ }
+ $unicodes[$index] = $unicode;
+
+ my $sfdentry;
+
+ if (defined ($sfd[$unicode])) {
+ $sfdentry = $sfd[$unicode];
+ }
+ else {
+ $unicodes[$index] = -1;
+ printf(STDERR "\`%s' (U+%04X) not in subfont encoding\n",
+ $glyphnameref, $unicode);
+ next;
+ }
+
+ $mapping_count++;
+
+ print("\\CJKvdef{m/n/$sfdentry}");
+ print("{\\def\\CJK\@plane{v}\\selectfont\\CJKsymbol{$index}}\n");
+ print("\\CJKvlet{bx/n/$sfdentry}");
+ print("{m/n/$sfdentry}\n");
+}
+
+if ($is_unicode) {
+ print("
+\\gdef\\CJK\@cmap\@${fontname}v{
+ \\expandafter\\ifx\\csname CJK\@CMap\@${fontname}v\\endcsname \\relax
+ \\immediate\\pdfobj stream {
+ /CIDInit\\space/ProcSet\\space findresource\\space begin\\space
+ 12\\space dict\\space begin\\space
+ begincmap\\space
+ /CIDSystemInfo\\space <<\\space
+ /Registry\\space (TeX)\\space
+ /Ordering\\space (${fontname}v)\\space
+ /Supplement\\space 0\\space >>\\space def\\space
+ /CMapName\\space /TeX-${fontname}v-0\\space def\\space
+ 1\\space begincodespacerange\\space
+ <00>\\space <FF>\\space
+ endcodespacerange\\space
+ $mapping_count\\space beginbfchar\\space
+");
+
+ foreach my $index (0 .. $#vertref) {
+ if ($unicodes[$index] != -1) {
+ printf(" <%02X>\\space <%04X>\\space\n",
+ $index, $unicodes[$index]);
+ }
+ }
+
+ print(" endbfchar\\space
+ endcmap\\space
+ CMapName\\space currentdict\\space /CMap\\space defineresource\\space
+ pop\\space
+ end\\space
+ end\\space}
+ \\expandafter\\xdef\\csname CJK\@CMap\@${fontname}v\\endcsname{
+ \\the\\pdflastobj}
+ \\fi
+ \\pdffontattr\\font\@name{
+ /ToUnicode\\space\\csname CJK\@CMap\@${fontname}v\\endcsname\\space 0\\space R}
+}
+
+\\endinput
+");
+}
+
+
+# Read an AGL file.
+#
+# $1: Name of the AGL file.
+# $2: Reference to the target hash file, mapping from the glyph name
+# to the Unicode value.
+
+sub read_aglfile {
+ my ($aglfile, $aglhash) = @_;
+
+ print("Reading Adobe Glyph List file \`$aglfile'...\n");
+
+ open(AGL, $aglfile)
+ || die("$prog: can't open \`$aglfile': $!\n");
+
+ while (<AGL>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ my @field = split(";");
+ $aglhash->{$field[1]} = hex($field[0]);
+ }
+ close(AGL);
+}
+
+
+# Read an SFD file.
+#
+# $1: Name of the SFD file.
+# $2: Reference to the target array file, mapping from the character code
+# to the subfont index. The format of an array value is the
+# concatenation of the subfont suffix, a slash, and the index.
+
+sub read_sfdfile {
+ my ($sfdfile, $sfdarray) = @_;
+
+ print("Reading subfont definition file \`$sfdfile'...\n");
+
+ open(SFD, $sfdfile)
+ || die("$prog: can't open \`$sfdfile': $!\n");
+
+ my $line;
+ my $continuation = 0;
+ while (<SFD>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ if ($continuation) {
+ $line .= $_;
+ }
+ else {
+ $line = $_;
+ }
+ $continuation = 0;
+
+ if ($line =~ s/\\$//) {
+ $continuation = 1;
+ next;
+ }
+
+ $_ = $line;
+ my @field = split(" ");
+
+ my $suffix = $field[0];
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(.*)_(.*)/) {
+ my $start = $1;
+ my $end = $2;
+ $start = oct($start) if ($start =~ /^0/);
+ $end = oct($end) if ($end =~ /^0/);
+ foreach my $i ($start .. $end) {
+ $sfdarray->[$i] = "$suffix/$index";
+ $index++;
+ }
+ }
+ else {
+ my $value = $field[0];
+ $value = oct($value) if ($value =~ /^0/);
+ $sfdarray->[$value] = "$suffix/$index";
+ $index++;
+ }
+ shift(@field);
+ }
+ }
+ close(SFD);
+}
+
+
+# Read an AFM file.
+#
+# $1: Name of the AFM file.
+# $2: Reference to array which maps glyph indices to glyph names.
+
+sub read_afmfile {
+ my ($afmfile, $maparray) = @_;
+
+ print("Reading metrics file \`$afmfile'\n");
+
+ open(AFM, $afmfile)
+ || die("$prog: can't open \`$afmfile': $!\n");
+
+ while (<AFM>) {
+ if (/^C \d+ ;/) {
+ / N (.*?) ;/;
+ push (@$maparray, $1);
+ }
+ }
+ close(AFM);
+}
+
+
+# eof
diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/sfd2uni.pl b/Master/texmf-dist/source/latex/cjk/utils/subfonts/sfd2uni.pl
new file mode 100644
index 00000000000..d9cbba0ac7c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/sfd2uni.pl
@@ -0,0 +1,348 @@
+#! /usr/bin/perl -w
+#
+# This script creates virtual subfonts in Unicode encoding for a font
+# encoding given by a subfont definition file (which must use Unicode
+# code points).
+#
+# As prerequisites it needs the programs `tftopl' and `vptovf' which must be
+# in the path.
+#
+# Call the script as
+#
+# perl sfd2uni.pl sfd-file namestem uni-namestem codingscheme
+#
+# `sfd-file' is the subfont definition file, `namestem' is the name stem
+# of the subfonts defined in `sfd-file', and `uni-namestem' holds the prefix
+# for the Unicode subfonts. `codingscheme' (converted to uppercase) is used
+# for the CODINGSCHEME parameter in the resulting TFM files.
+#
+# `sfd2uni.pl' reads all TFM files from the font family with name stem
+# `namestem'.
+#
+# Example:
+#
+# perl sfd2uni.pl UKS-HLaTeX.sfd wmj uwmj HLATEX
+#
+# A collection of useful subfont definition files for CJK fonts can be found
+# in the ttf2pk package.
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV != 3) {
+ die("usage: $prog sfd-file namestem uni-namestem codingscheme\n");
+}
+
+my $sfdfile = $ARGV[0];
+my $namestem = $ARGV[1];
+my $uninamestem = $ARGV[2];
+my $codingscheme = $ARGV[3];
+
+
+# Read subfont definition file.
+
+my %sfd;
+my @subfonts;
+
+read_sfdfile($sfdfile, \%sfd, \@subfonts);
+
+
+# Read TFM files.
+
+my @unicmetrics;
+
+foreach my $sub (@subfonts) {
+ my $tfmname = "$namestem$sub.tfm";
+
+ read_tfmfile($tfmname, \@unicmetrics, \%sfd, $sub);
+}
+
+
+# Read FONTDIMEN block.
+
+my $fontdimen = read_fontdimen("$namestem$subfonts[0].tfm");
+
+
+# Write VPL files.
+
+my $index = 0;
+foreach my $i (0 .. 255) {
+ my @entries;
+
+ foreach my $j (0 .. 255) {
+ if (defined ($unicmetrics[$index])) {
+ push(@entries, "$j $unicmetrics[$index]");
+ }
+ $index++;
+ }
+
+ if ($#entries >= 0) {
+ write_vplfile($uninamestem . sprintf("%02x.vpl", $i), \@entries);
+ }
+}
+
+
+# Generate VF and TFM files, then remove the VPL files.
+
+my @vplfiles = glob("$uninamestem*.vpl");
+foreach my $vplfile (@vplfiles) {
+ print("Processing \`$vplfile'...\n");
+ my $arg = "vptovf $vplfile";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?");;
+ print("Removing \`$vplfile'...\n");
+ unlink($vplfile);
+}
+
+
+# Read an SFD file.
+#
+# $1: Name of the SFD file.
+# $2: Reference to the target hash file, mapping from the subfont index to
+# the character code. The format of the key value is the concatenation
+# of the subfont suffix, a space, and the index.
+# $3: Reference to a target array which holds the subfont suffixes.
+
+sub read_sfdfile {
+ my ($sfdfile, $sfdhash, $sfdarray) = @_;
+
+ print("Reading subfont definition file \`$sfdfile'...\n");
+
+ open(SFD, $sfdfile)
+ || die("$prog: can't open \`$sfdfile': $!\n");
+
+ my $line;
+ my $continuation = 0;
+ while (<SFD>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ if ($continuation) {
+ $line .= $_;
+ }
+ else {
+ $line = $_;
+ }
+ $continuation = 0;
+
+ if ($line =~ s/\\$//) {
+ $continuation = 1;
+ next;
+ }
+
+ $_ = $line;
+ my @field = split(" ");
+
+ my $suffix = $field[0];
+ push(@{$sfdarray}, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(.*)_(.*)/) {
+ my $start = $1;
+ my $end = $2;
+ $start = oct($start) if ($start =~ /^0/);
+ $end = oct($end) if ($end =~ /^0/);
+ foreach my $i ($start .. $end) {
+ $sfdhash->{"$suffix $index"} = $i;
+ $index++;
+ }
+ }
+ else {
+ my $value = $field[0];
+ $value = oct($value) if ($value =~ /^0/);
+ $sfdhash->{"$suffix $index"} = $value;
+ $index++;
+ }
+ shift(@field);
+ }
+ }
+ close(SFD);
+}
+
+
+# Read TFM file.
+#
+# $1: Name of the TFM file.
+# $2: Reference to the target array holding metric information in the form
+# `<subfont> <subfont_index> <width> <heigth> <depth>'.
+# $3: Reference to a hash created by `read_sfdfile'.
+# $4: Subfont suffix.
+
+sub read_tfmfile {
+ my ($tfmfile, $unicarray, $sfdhash, $sub) = @_;
+
+ print("Processing metrics file \`$tfmfile'...\n");
+ my $arg = "tftopl $tfmfile > $tfmfile.pl";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?\n");
+
+ print("Reading property list file \`$tfmfile.pl'...\n");
+ open(PL, "$tfmfile.pl")
+ || die("$prog: can't open \`$tfmfile.pl': $!\n");
+
+ while (<PL>) {
+ my $index;
+ if (/^\(CHARACTER O (\d+)/) {
+ $index = oct($1);
+ }
+ elsif (/^\(CHARACTER C (.)/) {
+ $index = ord($1);
+ }
+ else {
+ next;
+ }
+
+ my $wd = "0";
+ my $ht = "0";
+ my $dp = "0";
+
+ $_ = <PL>;
+ if (/\(CHARWD R (.*)\)/) {
+ $wd = "$1";
+ $_ = <PL>;
+ }
+ if (/\(CHARHT R (.*)\)/) {
+ $ht = "$1";
+ $_ = <PL>;
+ }
+ if (/\(CHARDP R (.*)\)/) {
+ $dp = "$1";
+ }
+
+ if (defined ($sfdhash->{"$sub $index"})) {
+ $unicarray->[$sfdhash->{"$sub $index"}] = "$sub $index $wd $ht $dp";
+ }
+ }
+ close(PL);
+ print("Removing \`$tfmfile.pl'...\n");
+ unlink("$tfmfile.pl");
+}
+
+
+# Read FONTDIMEN block of a TFM file.
+#
+# $1: Name of the TFM file.
+#
+# Return the block as a string.
+
+sub read_fontdimen {
+ my ($tfmfile) = @_;
+
+ print("Processing metrics file \`$tfmfile'...\n");
+ my $arg = "tftopl $tfmfile > $tfmfile.pl";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?\n");
+
+ print("Reading property list file \`$tfmfile.pl'...\n");
+ open(PL, "$tfmfile.pl")
+ || die("$prog: can't open \`$tfmfile.pl': $!\n");
+
+ my $s = "";
+ my $have_fontdimen = 0;
+
+ while (<PL>) {
+ if (/^\(FONTDIMEN/) {
+ $have_fontdimen = 1;
+ }
+
+ if ($have_fontdimen) {
+ $s .= $_;
+
+ last if (/^ \)/);
+ }
+ }
+
+ close(PL);
+ print("Removing \`$tfmfile.pl'...\n");
+ unlink("$tfmfile.pl");
+
+ return $s;
+}
+
+
+# Write VPL file.
+#
+# $1: Name of the VPL file.
+# $2: Reference to list which holds the font entries. An entry has the
+# form `<idx> <subfont> <subfont_idx> <width> <height> <depth>'.
+
+sub write_vplfile {
+ my ($vplfile, $metricsarray) = @_;
+
+ my %subfonts;
+ my $subcount = 0;
+
+ foreach my $entry (@{$metricsarray}) {
+ my @field = split(" ", $entry);
+ my $subfont = $field[1];
+ if (!defined ($subfonts{$subfont})) {
+ $subfonts{$subfont} = $subcount;
+ $subcount++;
+ }
+ }
+
+ print("Writing virtual property list file \`$vplfile'...\n");
+
+ open(VPL, ">", $vplfile)
+ || die("$prog: can't open \`$vplfile': $!\n");
+ my $oldfh = select(VPL);
+
+ print("(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n");
+ print("(FAMILY TEX-\U$uninamestem\E)\n");
+ print("(CODINGSCHEME \U$codingscheme\E)\n");
+ print $fontdimen;
+
+ foreach my $subfont
+ (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) {
+ print("(MAPFONT D $subfonts{$subfont}\n");
+ print(" (FONTNAME $namestem$subfont)\n");
+ print(" )\n");
+ }
+
+ foreach my $entry (@{$metricsarray}) {
+ my ($index, $subnumber, $subindex, $wd, $ht, $dp) = split(" ", $entry);
+
+ print("(CHARACTER D $index\n");
+ print(" (CHARWD R $wd)\n");
+ print(" (CHARHT R $ht)\n");
+ print(" (CHARDP R $dp)\n");
+ print(" (MAP\n");
+ print(" (SELECTFONT D $subfonts{$subnumber})\n");
+ print(" (SETCHAR D $subindex)\n");
+ print(" )\n");
+ print(" )\n");
+ }
+
+ close(VPL);
+ select($oldfh);
+}
+
+
+# eof
diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/subfonts.pe b/Master/texmf-dist/source/latex/cjk/utils/subfonts/subfonts.pe
new file mode 100644
index 00000000000..962b61d83a7
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/subfonts.pe
@@ -0,0 +1,88 @@
+# Generate CJK subfonts from master font.
+# The fonts are created in the current directory.
+#
+# $1: The master font (e.g., `bsmi00lp.ttf').
+# $2: The name stem for the subfonts (e.g., `bsmilp').
+# $3: The subfont definition file (e.g., `UBig5.sfd').
+#
+# A collection of useful subfont definition files for CJK fonts can be found
+# in the ttf2pk package.
+
+# Copyright (C) 1994-2007 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+if (Strtol($version) < 20071105)
+ Print("Can't use FontForge version before 2007-11-05. Aborting.";
+ Quit(1);
+endif;
+
+if ($argc != 4)
+ Print("usage: [fontforge -script] ", $0, " master-font name-stem SFD-file");
+ Quit(1);
+endif;
+
+Print("Loading ", $1, "...");
+Open($1);
+
+copyright = $copyright \
+ + Chr(10) + Chr(10) \
+ + "Subfont version " \
+ + Strftime("%F", 1, "C") \
+ + ".";
+SetFontNames("", "", "", "", copyright, "");
+
+Print("Ensure third order curves...");
+SetFontOrder(3);
+
+Print("Scaling to PostScript units...");
+ScaleToEm(900, 100);
+
+num_chars = CharCnt();
+count = 0;
+delta = 100;
+
+while (count + delta < num_chars)
+ Print(count, "/", num_chars - 1, ":");
+ Select(count, count + delta);
+
+ Print(" Add extrema...");
+ AddExtrema();
+
+ Print(" Simplifying outlines...");
+ Simplify(0, 2);
+
+ count += delta;
+endloop;
+
+Print(count, "/", num_chars - 1, ":");
+Select(count, num_chars - 1);
+
+Print(" Add extrema...");
+AddExtrema();
+
+Print(" Simplifying outlines...");
+Simplify(0, 2);
+
+SelectAll();
+
+# generate AFM and TFM files, no PS hints, and rounded PS coordinates
+Print("Generating subfonts...");
+Generate($2 + "%s.pfb", "", \
+ 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000, \
+ -1, $3);
+
+Quit(0);
diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/uni2sfd.pl b/Master/texmf-dist/source/latex/cjk/utils/subfonts/uni2sfd.pl
new file mode 100644
index 00000000000..722a3cf33ed
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/uni2sfd.pl
@@ -0,0 +1,312 @@
+#! /usr/bin/perl -w
+#
+# This script creates virtual subfonts in a font encoding given by a subfont
+# definition file, based on Unicode subfonts.
+#
+# As prerequisites, it needs the programs `tftopl' and `vptovf' which must
+# be in the path.
+#
+# Call the script as
+#
+# perl uni2sfd.pl uni-namestem sfd-file namestem codingscheme
+#
+# `uni-namestem' is the namestem of the Unicode subfonts; `uni2sfd.pl'
+# appends the Unicode suffixes and reads the corresponding TFM files.
+# `sfd-file' is the subfont definition file which maps Unicode input
+# characters to the target subfont scheme using `namestem' as the namestem.
+# `codingscheme' gives the value for the CODINGSCHEME parameter in the
+# VF files (always converted to uppercase).
+#
+# Example:
+#
+# perl uni2sfd.pl bsmiu UBig5.sfd bsmilp cjkbig5
+#
+# A collection of useful subfont definition files for CJK fonts can be found
+# in the ttf2pk package.
+
+# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV != 3) {
+ die("usage: $prog uni-namestem sfd-file namestem codingscheme\n");
+}
+
+my $uninamestem = $ARGV[0];
+my $sfdfile = $ARGV[1];
+my $namestem = $ARGV[2];
+my $codingscheme = $ARGV[3];
+
+
+# Read subfont definition file.
+
+my %sfd;
+my @subfonts;
+
+read_sfdfile($sfdfile, \%sfd, \@subfonts);
+
+
+# Read TFM files.
+
+my @unimetrics;
+
+foreach my $sub (0 .. 0xFF) {
+ my $suffix = sprintf("%02x", $sub);
+ my $tfmname = "$uninamestem$suffix.tfm";
+
+ if (-f $tfmname) {
+ read_tfmfile($tfmname, \@unimetrics, $suffix);
+ }
+}
+
+
+# Write VPL files.
+
+foreach my $sub (@subfonts) {
+ my @entries;
+
+ foreach my $i (0 .. 255) {
+ if (defined ($sfd{"$sub $i"})) {
+ my $index = $sfd{"$sub $i"};
+ if (defined ($unimetrics[$index])) {
+ push(@entries, "$i $index $unimetrics[$index]");
+ }
+ }
+ }
+
+ if ($#entries >= 0) {
+ write_vplfile("$namestem$sub.vpl", \@entries);
+ }
+}
+
+
+# Generate VF and TFM files, then remove the VPL files.
+
+my @vplfiles = glob("$namestem*.vpl");
+foreach my $vplfile (@vplfiles) {
+ print("Processing \`$vplfile'...\n");
+ my $arg = "vptovf $vplfile";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?\n");
+ print("Removing \`$vplfile'...\n");
+ unlink($vplfile);
+}
+
+
+# Read an SFD file.
+#
+# $1: Name of the SFD file.
+# $2: Reference to the target hash file, mapping from the character code
+# to the subfont index. The format of the key value is the
+# concatenation of the subfont suffix, a space, and the index.
+# $3: Reference to a target array which holds the subfont suffixes.
+
+sub read_sfdfile {
+ my ($sfdfile, $sfdhash, $sfdarray) = @_;
+
+ print("Reading subfont definition file \`$sfdfile'...\n");
+
+ open(SFD, $sfdfile)
+ || die("$prog: can't open \`$sfdfile': $!\n");
+
+ my $line;
+ my $continuation = 0;
+ while (<SFD>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ if ($continuation) {
+ $line .= $_;
+ }
+ else {
+ $line = $_;
+ }
+ $continuation = 0;
+
+ if ($line =~ s/\\$//) {
+ $continuation = 1;
+ next;
+ }
+
+ $_ = $line;
+ my @field = split(" ");
+
+ my $suffix = $field[0];
+ push(@{$sfdarray}, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(.*)_(.*)/) {
+ my $start = $1;
+ my $end = $2;
+ $start = oct($start) if ($start =~ /^0/);
+ $end = oct($end) if ($end =~ /^0/);
+ foreach my $i ($start .. $end) {
+ $sfdhash->{"$suffix $index"} = $i;
+ $index++;
+ }
+ }
+ else {
+ my $value = $field[0];
+ $value = oct($value) if ($value =~ /^0/);
+ $sfdhash->{"$suffix $index"} = $value;
+ $index++;
+ }
+ shift(@field);
+ }
+ }
+ close(SFD);
+}
+
+
+# Read TFM file.
+#
+# $1: Name of the TFM file.
+# $2: Reference to the target array holding metric information in the form
+# `<width> <heigth> <depth>'.
+# $3: Subfont suffix.
+
+sub read_tfmfile {
+ my ($tfmfile, $unicarray, $suffix) = @_;
+
+ print("Processing metrics file \`$tfmfile'...\n");
+ my $arg = "tftopl $tfmfile > $tfmfile.pl";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?\n");
+
+ print("Reading property list file \`$tfmfile.pl'...\n");
+ open(PL, "$tfmfile.pl")
+ || die("$prog: can't open \`$tfmfile.pl': $!\n");
+
+ while (<PL>) {
+ my $idx;
+ if (/^\(CHARACTER O (\d+)/) {
+ $idx = oct($1);
+ }
+ elsif (/^\(CHARACTER C (.)/) {
+ $idx = ord($1);
+ }
+ else {
+ next;
+ }
+ $idx += hex($suffix) * 256;
+
+ my $wd = "0";
+ my $ht = "0";
+ my $dp = "0";
+
+ $_ = <PL>;
+ if (/\(CHARWD R (.*)\)/) {
+ $wd = "$1";
+ $_ = <PL>;
+ }
+ if (/\(CHARHT R (.*)\)/) {
+ $ht = "$1";
+ $_ = <PL>;
+ }
+ if (/\(CHARDP R (.*)\)/) {
+ $dp = "$1";
+ }
+
+ $unicarray->[$idx] = "$wd $ht $dp";
+ }
+ close(PL);
+ print("Removing \`$tfmfile.pl'...\n");
+ unlink("$tfmfile.pl");
+}
+
+
+# Write VPL file.
+#
+# $1: Name of the VPL file.
+# $2: Reference to list which holds the font entries. An entry has the
+# form `<index> <Unicode> <width> <height> <depth>'.
+
+sub write_vplfile {
+ my ($vplfile, $glypharray) = @_;
+
+ my %subfonts;
+ my $subcount = 0;
+
+ foreach my $entry (@{$glypharray}) {
+ my @field = split(" ", $entry);
+ my $subfont = int($field[1] / 256);
+ if (!defined ($subfonts{$subfont})) {
+ $subfonts{$subfont} = $subcount;
+ $subcount++;
+ }
+ }
+
+ print("Writing virtual property list file \`$vplfile'...\n");
+
+ open(VPL, ">", $vplfile)
+ || die("$prog: can't open \`$vplfile': $!\n");
+ my $oldfh = select(VPL);
+
+ print("(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n");
+ print("(FAMILY TEX-\U$namestem\E)\n");
+ print("(CODINGSCHEME \U$codingscheme\E)\n");
+ print("(FONTDIMEN\n");
+ print(" (SPACE R 0.5)\n");
+ print(" (XHEIGHT R 0.4)\n");
+ print(" (QUAD R 1)\n");
+ print(" )\n");
+
+ foreach my $subfont
+ (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) {
+ print("(MAPFONT D $subfonts{$subfont}\n");
+ print(" (FONTNAME $uninamestem" . sprintf("%02x", $subfont) . ")\n");
+ print(" )\n");
+ }
+
+ foreach my $entry (@{$glypharray}) {
+ my @field = split(" ", $entry);
+ my $index = $field[0];
+ my $subnumber = $subfonts{int($field[1] / 256)};
+ my $subindex = $field[1] % 256;
+ my $width = $field[2];
+ my $height = $field[3];
+ my $depth = $field[4];
+
+ print("(CHARACTER D $index\n");
+ print(" (CHARWD R $width)\n");
+ print(" (CHARHT R $height)\n");
+ print(" (CHARDP R $depth)\n");
+ print(" (MAP\n");
+ print(" (SELECTFONT D $subnumber)\n");
+ print(" (SETCHAR D $subindex)\n");
+ print(" )\n");
+ print(" )\n");
+ }
+
+ close(VPL);
+ select($oldfh);
+}
+
+
+# eof
diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertical.pe b/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertical.pe
new file mode 100644
index 00000000000..a10faef0887
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertical.pe
@@ -0,0 +1,108 @@
+# Generate a font which contains vertical glyph representations.
+# The font is created in the current directory.
+#
+# $1: The master font (e.g., `bsmi00lp.ttf').
+# $2: The name of the vertical font (e.g., `bsmilpv').
+
+# Copyright (C) 1994-2007 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+if (Strtol($version) < 20071105)
+ Print("Can't use FontForge version before 2007-11-05. Aborting.";
+ Quit(1);
+endif;
+
+if ($argc != 3)
+ Print("usage: [fontforge -script] ", $0, " master-font vertical-fontname");
+ Quit(1);
+endif;
+
+Print("Loading ", $1, "...");
+Open($1);
+
+fontname = $2;
+fullname = $fullname + " vertical";
+copyright = $copyright \
+ + Chr(10) + Chr(10) \
+ + "Vertical glyph representations version " \
+ + Strftime("%F", 1, "C") \
+ + ".";
+SetFontNames(fontname, "", fullname, "", copyright, "");
+
+SelectAll();
+ApplySubstitution("*", "*", "vert");
+
+if (!$fontchanged)
+ Print("No vertical glyph representation forms found.");
+ Quit(1);
+endif;
+
+SelectChanged();
+
+SelectInvert();
+DetachAndRemoveGlyphs();
+
+Print("Ensure third order curves...");
+SetFontOrder(3);
+
+Print("Scaling to PostScript units...");
+ScaleToEm(900, 100);
+
+num_chars = CharCnt();
+count = 0;
+delta = 100;
+
+while (count + delta < num_chars)
+ Print(count, "/", num_chars - 1, ":");
+ Select(count, count + delta);
+
+ Print(" Add extrema...");
+ AddExtrema();
+
+ Print(" Simplifying outlines...");
+ Simplify(0, 2);
+
+ count += delta;
+endloop;
+
+Print(count, "/", num_chars - 1, ":");
+Select(count, num_chars - 1);
+
+Print(" Add extrema...");
+AddExtrema();
+
+Print(" Simplifying outlines...");
+Simplify(0, 2);
+
+SelectAll();
+foreach
+ unicode = GlyphInfo("Unicode");
+ if (unicode > 0)
+ SetUnicodeValue(unicode);
+ name = GlyphInfo("Name");
+ SetGlyphName(name + ".vert", 0);
+ endif
+endloop;
+
+Reencode("original");
+
+# generate AFM and TFM files, no PS hints, and rounded PS coordinates
+Print("Generating font...");
+Generate($2 + ".pfb", "", \
+ 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000);
+
+Quit(0);
diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertref.pe b/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertref.pe
new file mode 100644
index 00000000000..63533f94733
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertref.pe
@@ -0,0 +1,121 @@
+# Generate a font with glyphs which have vertical glyph representations (but
+# don't include the vertical glyph representations itself). This is used by
+# the perl script `makefdx.pl' to create an FDX file as used by the CJK
+# package for LaTeX.
+#
+# The font is created in the current directory.
+#
+# $1: The master font (e.g., `bsmi00lp.ttf').
+# $2: The name of the target font (e.g., `bsmilpvr').
+
+# Copyright (C) 1994-2007 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+if (Strtol($version) < 20071105)
+ Print("Can't use FontForge version before 2007-11-05. Aborting.";
+ Quit(1);
+endif;
+
+if ($argc != 3)
+ Print("usage: [fontforge -script] ", $0, " master-font fontname");
+ Quit(1);
+endif;
+
+Print("Loading ", $1, "...");
+Open($1);
+
+fontname = $2;
+fullname = $fullname + " vertical reference";
+copyright = $copyright \
+ + Chr(10) + Chr(10) \
+ + "Vertical glyph reference font version " \
+ + Strftime("%F", 1, "C") \
+ + ".";
+SetFontNames(fontname, "", fullname, "", copyright, "");
+
+lookups = GetLookups("GSUB");
+
+i = 0;
+result = -1;
+while (i < SizeOf(lookups))
+ if (Strstr(lookups[i], "'vert'") >= 0)
+ result = i;
+ endif;
+ i++;
+endloop;
+
+if (result == -1)
+ Print("This font doesn't contain a GSUB table with a `vert' feature.");
+ Quit(1);
+endif;
+
+subtables = GetLookupSubtables(lookups[result]);
+
+i = 0;
+result = -1;
+while (i < SizeOf(subtables))
+ if (Strstr(subtables[i], "'vert'") >= 0)
+ result = i;
+ endif;
+ i++;
+endloop;
+
+SelectByPosSub(subtables[result], 1);
+
+SelectInvert();
+DetachAndRemoveGlyphs();
+
+Print("Ensure third order curves...");
+SetFontOrder(3);
+
+Print("Scaling to PostScript units...");
+ScaleToEm(900, 100);
+
+num_chars = CharCnt();
+count = 0;
+delta = 100;
+
+while (count + delta < num_chars)
+ Print(count, "/", num_chars - 1, ":");
+ Select(count, count + delta);
+
+ Print(" Add extrema...");
+ AddExtrema();
+
+ Print(" Simplifying outlines...");
+ Simplify(0, 2);
+
+ count += delta;
+endloop;
+
+Print(count, "/", num_chars - 1, ":");
+Select(count, num_chars - 1);
+
+Print(" Add extrema...");
+AddExtrema();
+
+Print(" Simplifying outlines...");
+Simplify(0, 2);
+
+Reencode("original");
+
+# generate AFM and TFM files, no PS hints, and rounded PS coordinates
+Print("Generating font...");
+Generate($2 + ".pfb", "", \
+ 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000);
+
+Quit(0);
diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/INSTALL b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/INSTALL
new file mode 100644
index 00000000000..025e923ed99
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/INSTALL
@@ -0,0 +1,337 @@
+Installation of Thai fonts for TeX with fontinst
+------------------------------------------------
+
+0. The files `c90.etx' and `c90.mtx' must be in the TeX inputs path.
+ Normally, the current directory also works. Note that you need
+ fontinst version 1.918 or higher.
+
+1. In case your Thai font doesn't come with an AFM metrics file you
+ must extract it from the font using tools like `type1afm' (from
+ the t1lib package) or ghostscript's `ps2afm' program.
+
+2. Create a control file for fontinst.
+
+ Example:
+
+ Let us assume that we have the following AFM files for the
+ Garuda family, using version 2.1 of the fonts (from the
+ ThaiLaTeX project):
+
+ garuda.afm
+ garuda_b.afm
+ garuda_o.afm
+ garuda_bo.afm
+
+ You should use glyph names compliant to Karl Berry's `fontname'
+ scheme. For `garuda', this could be `fgdr8z': `f' is the foundry
+ (`small foundry'), `gd' is the typeface name, `r' means the
+ weight (`regular'), and `8z' the encoding (8bit user).
+ Similarly, suitable names for the other fonts are `fgdb8z',
+ `fgdo8z', and `fgdbo8z', respectively.
+
+ Fonts with `f' as the supplier should go into a `public' font
+ directory. The typeface `Garuda' already exists in the latest
+ fontname version (typeface.map version 4-Jul-2005 at the time of
+ writing), the associated directory is `garuda'. Please consult
+ the `fontname' standard for more information.
+
+ A template for the fontinst control file can be found as
+ `norasi.fontinst'; here a version for garuda:
+
+ ==== garuda.fontinst ====
+
+ \input fontinst.sty
+
+ \needsfontinstversion{1.918}
+
+
+ % we explicitly set all slots in the encoding, so provide all
+ % glyph names in AFM files equally (this is, don't create
+ % `<glyph>-not' names)
+ \let\setnotglyph \setrawglyph
+
+ % we want warnings for missing glyphs
+ \fontinstcc
+ \add_to\pre_fourth_etx_pass_hook{
+ \def\do_slot{
+ \if_undefined{g-\slot_name}\then
+ \fontinstwarningnoline{fontinst}
+ {missing~glyph~`\slot_name'\space
+ for~slot~\the\slot_number\space
+ in~font~`\out_filename'}
+ \fi
+ \do_character
+ }
+ }
+ \normalcc
+
+
+ % create PL files and an FD file
+ \installfonts
+ \setint{fontdimen(2)}{500} % SPACE
+ \setint{fontdimen(3)}{300} % STRETCH
+ \setint{fontdimen(4)}{100} % SHRINK
+ \setint{fontdimen(6)}{1000} % QUAD
+ \setint{fontdimen(7)}{0} % EXTRASPACE
+
+ \installrawfont{fdbr8z}{garuda,c90}{c90}
+ {C90}{garuda}{m}{n}{}
+ \installrawfont{fdbb8z}{garuda_b,c90}{c90}
+ {C90}{garuda}{bx}{n}{}
+ \installrawfont{fdbbo8z}{garuda_bo,c90}{c90}
+ {C90}{garuda}{bx}{sl}{}
+ \installrawfont{fdbo8z}{garuda_o,c90}{c90}
+ {C90}{garuda}{m}{sl}{}
+ \endinstallfonts
+
+
+ \input finstmsc.sty
+
+
+ % create the c90.enc file
+ \installfonts
+ % the `makeenc' flag is used in c90.etx
+ \setint{makeenc}{1}
+ \setstr{encodingname}{C90Encoding}
+ \etxtoenc{c90}{c90}
+ \endinstallfonts
+
+ \end
+
+ ==== garuda.fontinst ====
+
+ Some explanations.
+
+ - The control files also creates MTX and PL files for the AFM
+ files (e.g., garuda.mtx and garuda.pl) which aren't needed and
+ can be deleted.
+
+ - AFM files don't provide all necessary font dimensions for TeX.
+ Consequently, you have to set some dimensions manually. The
+ `SPACE' value must be larger than for a Latin font; a
+ reasonable value is 500. You should increase the `STRETCH'
+ value also -- some tests have shown that 300 yields good
+ results, but this depends on the font. `EXTRASPACE' can be
+ set to zero since you must always use TeX's \frenchspacing
+ command for Thai. All other font dimension values given above
+ are default values and can stay unmodified.
+
+ There is nothing for free: The changed font dimensions improve
+ spacing between Thai words, but Latin words are far too widely
+ spaced.
+
+ - The arguments to \installrawfont are as follows.
+
+ #1 The target font name.
+ #2 A comma separated list (without spaces) of metric
+ files. Above, the first one is the AFM file, the
+ second one is c90.mtx which sets up the three
+ mandatory alias glyph slots.
+ #3 The name of the encoding file (c90.etx).
+ #4-#7 The NFSS attributes for the font.
+ #8 The size command. If it is empty, `<->' is used.
+
+ - The second \installfonts...\endinstallfonts block creates an
+ encoding file.
+
+3. Run fontinst:
+
+ tex garuda.fontinst
+
+ If you get warnings about missing glyphs which are critical (this
+ is, if it affects Thai characters), you have to configure fontinst
+ to use an alias file for glyph names. This is described below.
+
+4. Say
+
+ pltotf <PL-file>
+
+ for all target PL files to create TFM files.
+
+ Example:
+
+ pltotf fgdr8z
+ pltotf fgdb8z
+ pltotf fgdo8z
+ pltotf fgdbo8z
+
+ After the conversion, the PL files are no longer needed and can be
+ deleted. As mentioned above, the PL files created directly from
+ the AFM files need not be converted.
+
+5. Create a mapping file <font>.map for the PS fonts (which can be
+ used by both dvips and pdftex).
+
+ Example `garuda.map' (the lines are splitted for readability only):
+
+ fgdr8z Garuda \
+ " C90Encoding ReEncodeFont " <c90.enc <garuda.pfb
+ fgdb8z Garuda-Bold \
+ " C90Encoding ReEncodeFont " <c90.enc <garuda_b.pfb
+ fgdo8z Garuda-Oblique \
+ " C90Encoding ReEncodeFont " <c90.enc <garuda_o.pfb
+ fgdbo8z Garuda-BoldOblique \
+ " C90Encoding ReEncodeFont " <c90.enc <garuda_bo.pfb
+
+ A proper entry for the mapping file (dvipdfm.map) of dvipdfm (and
+ dvipdfmx) looks like this:
+
+ fgdr8z c90 garuda
+ fgdb8z c90 garuda_b
+ fgdo8z c90 garuda_o
+ fgdbo8z c90 garuda_bo
+
+ Note that teTeX's (and TeXLive's) `updmap' script can automatically
+ convert a map line for dvips to a proper entry for dvipdfm and
+ dvipdfmx.
+
+6. There are two possibilities how to make the Thai fonts known to
+ dvips.
+
+ - Append the contents of the map file to `psfonts.map' (or the map
+ file specified in the configuration file of dvips, `config.ps',
+ with the `p' option). How to do this may vary depending on the
+ used TeX system; for example, teTeX and TeXLive both use a script
+ called `updmap' to maintain `psfonts.map'.
+
+ - Write a small file called config.<font> (e.g., `config.garuda'; on
+ platforms like MS-DOS which don't support long filename
+ extensions you can use `garuda.cfg' instead) with the following
+ line in it:
+
+ p +<map_file>
+
+ Example:
+
+ p +garuda.map
+
+ Then you can use the `-P' command line option of dvips to
+ include the reencoded font. Example:
+
+ dvips -P garuda test.dvi
+
+7. After testing, install the font and its support files in your TeX
+ tree. In the following example, `TEXMF' denotes the location of
+ your (local) `texmf' directory (we assume a TeX installation
+ compliant to TDS 1.1 as provided recent versions of TeXLive and
+ teTeX).
+
+ garuda.pfb -> TEXMF/fonts/type1/public/garuda/
+ garuda.afm -> TEXMF/fonts/afm/public/garuda/
+ ...
+
+ c90.enc -> TEXMF/fonts/enc/dvips/thai/
+
+ garuda.map -> TEXMF/fonts/map/dvips/garuda/
+ config.garuda -> TEXMF/dvips/garuda/
+
+ fgdr8z.tfm -> TEXMF/fonts/tfm/public/garuda/
+ ...
+
+ c90gar.fd -> TEXMF/tex/latex/CJK/thai/
+
+8. Run texhash or a similar program to update the TDS database if
+ necessary.
+
+
+You are done! With plain TeX, say e.g.
+
+ \font\thai = fgdr9z at 16pt
+
+to use the font \thai. This will typeset TIS-620 encoded Thai.
+Note, however, that you need CJK's cjk-enc.el for Emacs to insert
+proper inter-character glue and word breakpoints in case you want
+to typeset longer Thai phrases.
+
+
+Reencoding Thai fonts
+---------------------
+
+Older Thai fonts don't use proper glyph names, and recent ones
+probably use different suffixes; it is thus necessary to make fontinst
+aware of those names.
+
+A complete example can be found in the `dbtt-old' subdirectory (which
+can be used for the dbtt fonts from TeXLive 8 or earlier).
+
+a. Set up a file which contains all the aliases, using the \galias
+ macro. This file should have the extension `.tex'.
+
+ Example:
+
+ If glyph `endash' is represented with glyph name `ucircumflex'
+ in the font, use the following:
+
+ \galias{ucircumflex}{endash}
+
+b. Set up both ETX and MTX files which load the just created glyph
+ alias file. To do that, use the files `dbtt-old-alias.etx' and
+ `dbtt-old-alias.mtx' as templates. Leave everything unchanged
+ except the line with \input which should load your glyph alias
+ file.
+
+c. Set up a proper fontinst control file. Use `dbtt-old.fontinst'
+ as a template, replacing the `dbtt-old-alias' items in the
+ \installrawfont lines with the name of your MTX file. Similarly,
+ the three last lines in the second
+ \installfonts...\endinstallfonts block should be adjusted
+ accordingly.
+
+d. Continue with item 3 above. Note that in item 5, you have to use
+ not `C90Encoding' but the encoding name defined with the \setstr
+ line in your fontinst control file.
+
+
+Using different LaTeX encodings for Thai
+----------------------------------------
+
+The used encoding scheme within the CJK package for Thai is `C90',
+but it is straightforward to adapt it to other Thai encodings like
+`LTH' by reordering the `\setslot ... \endsetslot' blocks in the file
+`c90.etx'.
+
+Currently, only CJK's cjk-enc.el output filter for Emacs needs the
+Thai ligatures -- other Thai word segmentation programs like `swath'
+or `cttex' already replace the input characters with proper glyph
+variants. Anyway, they don't harm, and it is on the TODO list of the
+thailatex maintainers to finally use those ligatures also.
+
+
+Printing c90.etx
+----------------
+
+It is possible to convert the main fontinst encoding file for Thai,
+c90.etx, into a printable document. To do so, you have to apply the
+patch below to the file `fontdoc.sty' (which is part of the fontinst
+package -- tested with fontinst version 1.926; newer versions have
+already been corrected and don't need this patch), then simply say
+
+ latex c90.etx
+
+
+====================================================================
+
+
+--- fontdoc.sty.old Mon Feb 9 21:28:59 2004
++++ fontdoc.sty Wed Jun 23 12:13:04 2004
+@@ -1052,7 +1052,7 @@
+ \x@cs\def{FD@lig-/LIG}#1#2{%
+ \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}%
+ ${}\rightarrow{}$%
+- \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#2}$%
++ \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#2}%
+ }
+ \x@cs\def{FD@lig-LIG/}#1#2{%
+ \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}%
+@@ -1085,7 +1085,7 @@
+ \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}%
+ ${}\rightarrow{}$%
+ \FD@typeset@string{\slot@name}${}*{}$%
+- \typeset@glyph{#2}${}*\lfloor$\typeset@glyph{#1}$}
++ \typeset@glyph{#2}${}*\lfloor$\typeset@glyph{#1}}
+ \def\nextlarger#1{\Bheading{Next larger} \typeset@glyph{#1}}
+ \def\makerightboundary#1{%
+ \Bheading{Right boundary marker slot} designation \typeset@glyph{#1}%
+
+
+---end of INSTALL---
diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.etx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.etx
new file mode 100644
index 00000000000..9b00a0c110b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.etx
@@ -0,0 +1,2346 @@
+% c90.etx
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\relax
+\documentclass{article}
+
+\usepackage[specification]{fontdoc}[2001/06/01]
+\usepackage{textcomp}
+\usepackage{shortvrb}
+\usepackage{mflogo}
+\usepackage{multicol}
+\usepackage{url}
+
+\MakeShortVerb{\|}
+
+\newlength{\Stackwidth}
+
+\newcommand\StackAbove[2]{%
+ \settowidth{\Stackwidth}{$#1$}%
+ \vbox{\hbox{$#1$}%
+ \hbox to \Stackwidth{\hss $#2$\hss}}%
+}
+\newcommand\StackBelow[2]{%
+ \settowidth{\Stackwidth}{$#1$}%
+ \vtop{\hbox{$#1$}%
+ \hbox to \Stackwidth{\hss $#2$\hss}}%
+}
+
+\newcommand{\thaiclass}[1]{%
+ {\textit{#1}}%
+}
+\newcommand{\thaiclassx}[2]{%
+ \thaiclass{#1}%
+ \raisebox{-0.4ex}{{\footnotesize\textit{#2}}}%
+}
+\newcommand{\thaiclassxx}[3]{%
+ \thaiclassx{#1}{#2}%
+ \raisebox{-0.8ex}{{\tiny\textit{#3}}}%
+}
+
+
+\begin{document}
+
+\title{The \texttt{C90} encoding for Thai}
+\author{Werner Lemberg}
+\date{2005/07/04}
+\maketitle
+
+
+\section{Introduction}
+
+This file describes a font encoding for Thai, as presented in a
+TUGboat article~\cite{TUG-Thai}. The glyph names follow the Adobe
+Glyph List (AGL)~\cite{AGL} recommendations. Since most available
+Thai fonts neither use AGL glyph names nor follow the font encoding
+used here, you have to be careful in setting up a proper encoding
+vector. A specialty (for reasons explained below) is that three
+glyphs, namely |/uni0E38| (Thai character `sara u'), |/uni0E39| (Thai
+character `sara uu'), and |/uni0E3A| (Thai character `phinthu') must
+appear twice in the encoding; the additional glyph indices are |0x80|,
+|0x81|, and |0x82|, respectively.
+
+
+\section{Ligatures}
+The tricky part is implementing the ligatures. TeX's ligature
+mechanism only provides contextual patterns of length~2. Due to the
+very nature of the ETX format, ligatures aren't grouped into classes
+which makes this file rather long.
+
+Thai glyphs can be grouped functionally into base glyphs (which are
+spacing glyphs) and diacritics (which have zero advance width).
+Usually, diacritical glyphs represent either vowels or tone
+indicators, whereas base glyphs represent consonants -- I won't go
+into detail here; please read the Unicode standard~\cite{Unicode} or
+any introduction into the Thai script for more information.
+
+The general composing rules are as follows:
+
+\[
+ CV \longrightarrow \StackAbove{V}{C}\,,\quad
+ CT \longrightarrow \StackAbove{T}{C}\,,\quad
+ CVT \longrightarrow \StackAbove{\StackAbove{T}{V}}{C}\,,\quad
+ Cv \longrightarrow \StackBelow{C}{v}\,,\quad
+ CvT \longrightarrow \StackBelow{\StackAbove{T}{C}}{v}
+\]
+
+\noindent
+where $C$ represents a base consonant, $V$ an upper vowel, $v$ a lower
+vowel, and $T$ a tone mark. The tone mark always comes last.
+
+Sometimes you will find documents which have first the tone mark and
+then the vowel. In real Thai input systems, this error will be
+catched and fixed by reordering the characters according to the
+TIS-620 Thai encoding standard before any output is created. The
+ligatures given below are not able to handle such incorrect data, and
+you have to normalize it before using them.
+
+It depends on context where the diacritics are exactly positioned;
+some base glyphs have overlong ascenders or descenders, making it
+necessary to shift the diacritics vertically and horizontally.
+
+To complicate things, the Thai vowel `sara am' (TIS-620 code point
+|0xD3|, Unicode value |U+0E33|), which looks like the final nasal sign
+`nikhahit' (|0xED|, |U+0E4D|) followed by the vowel `sara aa' (|0xD2|,
+|U+0E32|), will be decomposed into these two glyphs for rendering.
+The difficulty is that we must position the tone mark of the
+\emph{previous} character properly! Thus we have
+
+\[
+ C + SM \longrightarrow \StackAbove{N}{C} + SA\,,\quad
+ C + T + SM \longrightarrow \StackAbove{\StackAbove{T}{N}}{C} + SA
+\]
+
+A last specialty (used for Sanskrit written in Thai) is that `sara aa'
+if it follows the independent vowel letter `ru' (|0xC4|, |U+0E24|) or
+`lu' (|0xC6|, |U+0E26|) is replaced with the `lakkhangyao' sign
+(|0xE5|, |U+0E45|).
+
+
+\section{Glyph Classes}
+
+To describe the patterns and rules we start with defining glyph
+classes.
+
+\begin{quote}
+ \begin{description}
+ \item[\thaiclassx{base}{normal}] Normal base glyphs without special
+ features.
+ \item[\thaiclassx{base}{desc}] Base glyphs with descender.
+ \item[\thaiclassx{base}{desclike}] These base glyphs consist of two
+ elements which look like a normal base glyph combined with a lower
+ vowel diacritic; the diacritic-like element will be omitted if
+ combined with a lower vowel.
+ \item[\thaiclassx{base}{asc}] Base glyphs with an ascender on the
+ right side.
+ \item[\thaiclassx{base}{indic}] The two independent vowels \emph{ru}
+ and \emph{lu}.
+ \item[\thaiclassx{base}{sign}] The sign \emph{lakkhangyao}.
+ \item[\thaiclassx{base}{sara am}] The vowel \emph{sara am}.
+ \item[\thaiclassx{base}{sara aa}] The vowel \emph{sara aa}.
+ \item[\thaiclass{lower}] Lower vowel diacritics.
+ \item[\thaiclassx{upper}{vowel}] Upper vowel diacritics.
+ \item[\thaiclassx{upper}{sign}] The \emph{nikhahit} final nasal
+ sign.
+ \item[\thaiclass{top}] Tone marks.
+ \end{description}
+\end{quote}
+
+Here the glyph variant classes:
+
+\begin{quote}
+ \begin{description}
+ \item[\thaiclassx{base}{descless}] The glyphs of class
+ \thaiclassx{base}{desclike} without the lower part.
+ \item[\thaiclassx{lower}{low}] The glyphs of class
+ \thaiclass{lower} shifted downwards.
+ \item[\thaiclassxx{upper}{vowel}{left}] The glyphs of class
+ \thaiclassx{upper}{vowel} shifted to the left.
+ \item[\thaiclassxx{upper}{sign}{left}] The glyphs of class
+ \thaiclassx{upper}{sign} shifted to the left.
+ \item[\thaiclassx{top}{left}] The glyphs of class
+ \thaiclass{top} shifted to the left.
+ \item[\thaiclassx{top}{low}] The glyphs of class
+ \thaiclass{top} shifted downwards.
+ \item[\thaiclassx{top}{low-left}] The glyphs of class
+ \thaiclass{top} shifted to the left and downwards.
+ \end{description}
+\end{quote}
+
+
+\section{Context Patterns}
+
+Using the glyph classes defined in the last section it is easy to
+describe the context patterns for base glyphs with diacritical signs.
+Surprisingly, these patterns are quite systematic. Patterns in
+table~\ref{table:context-dia} which are marked with an asterisk do
+nothing and are listed for completeness only. Note that these
+patterns cover combinations which don't happen in the Thai script
+(which doesn't harm).
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}
+ {l@{~}l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l@{~}l@{~}l}
+ \thaiclass{base} &\thaiclass{lower}
+ & &
+ &\thaiclass{base} &\thaiclass{lower}
+ & & &* \\
+ \thaiclass{base} &
+ &\thaiclass{upper} &
+ &\thaiclass{base} &
+ &\thaiclass{upper} & &* \\
+ \thaiclass{base} &
+ & &\thaiclass{top}
+ &\thaiclass{base} &
+ & &\thaiclassx{top}{low} & \\
+ \thaiclass{base} &\thaiclass{lower}
+ & &\thaiclass{top}
+ &\thaiclass{base} &\thaiclass{lower}
+ & &\thaiclassx{top}{low} & \\
+ \thaiclass{base} &
+ &\thaiclass{upper} &\thaiclass{top}
+ &\thaiclass{base} &
+ &\thaiclass{upper} &\thaiclass{top} &* \\[2ex]
+
+ \thaiclassx{base}{desc} &\thaiclass{lower}
+ & &
+ &\thaiclassx{base}{desc} &\thaiclassx{lower}{low}
+ & & & \\
+ \thaiclassx{base}{desc} &
+ &\thaiclass{upper} &
+ &\thaiclassx{base}{desc} &
+ &\thaiclass{upper} & &* \\
+ \thaiclassx{base}{desc} &
+ & &\thaiclass{top}
+ &\thaiclassx{base}{desc} &
+ & &\thaiclassx{top}{low} & \\
+ \thaiclassx{base}{desc} &\thaiclass{lower}
+ & &\thaiclass{top}
+ &\thaiclassx{base}{desc} &\thaiclassx{lower}{low}
+ & &\thaiclassx{top}{low} & \\
+ \thaiclassx{base}{desc} &
+ &\thaiclass{upper} &\thaiclass{top}
+ &\thaiclassx{base}{desc} &
+ &\thaiclass{upper} &\thaiclass{top} &* \\[2ex]
+
+ \thaiclassx{base}{desclike} &\thaiclass{lower}
+ & &
+ &\thaiclassx{base}{descless} &
+ & & & \\
+ \thaiclassx{base}{desclike} &
+ &\thaiclass{upper} &
+ &\thaiclassx{base}{desclike} &
+ &\thaiclass{upper} & &* \\
+ \thaiclassx{base}{desclike} &
+ & &\thaiclass{top}
+ &\thaiclassx{base}{desclike} &
+ & &\thaiclassx{top}{low} & \\
+ \thaiclassx{base}{desclike} &\thaiclass{lower}
+ & &\thaiclass{top}
+ &\thaiclassx{base}{descless} &\thaiclass{lower}
+ & &\thaiclassx{top}{low} & \\
+ \thaiclassx{base}{desclike} &
+ &\thaiclass{upper} &\thaiclass{top}
+ &\thaiclassx{base}{desclike} &
+ &\thaiclass{upper} &\thaiclass{top} &* \\[2ex]
+
+ \thaiclassx{base}{asc} &\thaiclass{lower}
+ & &
+ &\thaiclassx{base}{asc} &\thaiclass{lower}
+ & & &* \\
+ \thaiclassx{base}{asc} &
+ &\thaiclass{upper} &
+ &\thaiclassx{base}{asc} &
+ &\thaiclassx{upper}{left} & & \\
+ \thaiclassx{base}{asc} &
+ & &\thaiclass{top}
+ &\thaiclassx{base}{asc} &
+ & &\thaiclassx{top}{low-left} & \\
+ \thaiclassx{base}{asc} &\thaiclass{lower}
+ & &\thaiclass{top}
+ &\thaiclassx{base}{asc} &\thaiclass{lower}
+ & &\thaiclassx{top}{low-left} & \\
+ \thaiclassx{base}{asc} &
+ &\thaiclass{upper} &\thaiclass{top}
+ &\thaiclassx{base}{asc} &
+ &\thaiclassx{upper}{left} &\thaiclassx{top}{left} & \\
+ \end{tabular}
+
+ \caption{Context patterns for diacritical signs. Here,
+ \thaiclass{base} refers to the union of the subclasses
+ \thaiclass{normal}, \thaiclass{indic}, \thaiclass{sign},
+ \thaiclass{sara am}, and \thaiclass{sara aa} of \thaiclass{base};
+ \thaiclass{upper} is the union of the subclasses \thaiclass{vowel}
+ and \thaiclass{sign} of \thaiclass{upper}.}
+ \label{table:context-dia}
+\end{table*}
+
+Table~\ref{table:context-sara} covers the ligatures of the character
+\emph{sara am}. Finally, table~\ref{table:context-indic} describes
+the letters specific to Sanskrit.
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}{l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l@{~}l}
+ \thaiclass{base} &\thaiclassx{base}{sara am} &
+ &\thaiclass{base} &\thaiclassx{upper}{sign}
+ & &\thaiclassx{base}{sara aa} \\
+ \thaiclassx{base}{asc} &\thaiclassx{base}{sara am} &
+ &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left}
+ & &\thaiclassx{base}{sara aa} \\[2ex]
+
+ \thaiclass{base} &\thaiclass{top} &\thaiclassx{base}{sara am}
+ &\thaiclass{base} &\thaiclassx{upper}{sign}
+ &\thaiclass{top} &\thaiclassx{base}{sara aa} \\
+ \thaiclassx{base}{asc} &\thaiclass{top} &\thaiclassx{base}{sara
+ am}
+ &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left}
+ &\thaiclassx{top}{left} &\thaiclassx{base}{sara aa}
+ \end{tabular}
+ \caption{Context patterns for \emph{sara am}. Here,
+ \thaiclass{base} denotes the union of subclasses
+ \thaiclass{normal}, \thaiclass{desc}, and \thaiclass{desclike} of
+ \thaiclass{base}.}
+ \label{table:context-sara}
+\end{table*}
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l}
+ \thaiclassx{base}{indic} &\thaiclassx{base}{sara aa}
+ &\thaiclassx{base}{indic} &\thaiclassx{base}{sign}
+ \end{tabular}
+ \caption{Context patterns for \emph{ru} and \emph{lu}.}
+ \label{table:context-indic}
+\end{table*}
+
+\section{\TeX's Ligature Mechanism}
+
+\DeleteShortVerb{\|}
+
+A small introduction into the exotic variants of \TeX's ligature
+mechanism which probably many users haven't seen before.
+Additionally, the documentation in the \emph{\MF book}~\cite{MFbook}
+is very sparse. In the following examples \MF's notation is used.
+
+The usual ligature action of two glyphs $a$ and~$b$ is the replacement
+of both glyphs with another glyph~$c$.
+
+\begin{center}
+ \texttt{a b =:\ c}
+\end{center}
+
+Another possibility is to retain the left or the right original glyph
+(before and after the ligature, respectively) or both.
+
+\begin{center}
+ \texttt{a b |=:\ c} \quad
+ \texttt{a b =:| c} \quad
+ \texttt{a b |=:| c}
+\end{center}
+
+\noindent
+The first rule creates $ac$, the second $cb$, and the last $acb$. In
+all three cases, the current point after appying the ligature rule is
+still at the first glyph of the replaced glyphs, and \TeX\ simply
+restarts there to check ligatures (and kernings). A classical example
+is
+
+\begin{center}
+ f f i \textrightarrow\ ff i \textrightarrow\ ffi
+\end{center}
+
+To advance the current point to the right, append either \texttt{>} or
+\texttt{>{}>} (the latter is only possible if you retain both input
+glyphs). Here are the remaining four ligature rules.
+
+\begin{center}
+ \texttt{a b |=:> c} \quad
+ \texttt{a b =:|> c} \\
+ \texttt{a b |=:|> c} \quad
+ \texttt{a b |=:|>{}> c}
+\end{center}
+
+For Thai ligatures, the most often needed rule is \texttt{|=:}\ (i.e.,
+retain the left glyph and stay at the same position before applying
+the next ligature rule). Note that using \texttt{|=:>} instead is not
+a good idea since this would prohibit kerning between the left glyph
+and the ligature.
+
+\section{Ligature Rules}
+
+\MakeShortVerb{\|}
+
+As just explained, \TeX\ can only handle context patterns of length~2,
+whereas Thai needs patterns of length~3. It was an interesting
+challenge to find out whether the problem can be solved with \TeX's
+somewhat restricted ligature rules -- the gentle reader is invited to
+find a solution by herself! There won't be any difficulties in
+understanding ligatures afterwards.
+
+The tables~\ref{table:liga-dia}, \ref{table:liga-sara},
+and~\ref{table:liga-indic} use the same conventions as
+tables~\ref{table:context-dia}, \ref{table:context-sara},
+and~\ref{table:context-indic}, respectively. The current point isn't
+increased in any of the rules.
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l}
+ \thaiclass{base} &\thaiclass{top}
+ &\thaiclass{base} &\thaiclassx{top}{low} \\
+ \thaiclassx{base}{desc} &\thaiclass{lower}
+ &\thaiclassx{base}{desc} &\thaiclassx{lower}{low} \\
+ \thaiclassx{base}{desc} &\thaiclass{top}
+ &\thaiclassx{base}{desc} &\thaiclassx{top}{low} \\
+ \thaiclassx{base}{desclike} &\thaiclass{lower}
+ &\thaiclassx{base}{descless} &\thaiclass{lower} \\
+ \thaiclassx{base}{desclike} &\thaiclass{top}
+ &\thaiclassx{base}{desclike} &\thaiclassx{top}{low} \\
+ \thaiclassx{base}{asc} &\thaiclass{lower}
+ &\thaiclassx{base}{asc} &\thaiclassx{lower}{left} \\
+ \thaiclassx{base}{asc} &\thaiclass{upper}
+ &\thaiclassx{base}{asc} &\thaiclassx{upper}{left} \\
+ \thaiclassx{base}{asc} &\thaiclass{top}
+ &\thaiclassx{base}{asc} &\thaiclassx{top}{low-left} \\[2ex]
+
+ \thaiclass{lower} &\thaiclass{top}
+ &\thaiclass{lower} &\thaiclassx{top}{low} \\
+ \thaiclassx{lower}{low} &\thaiclass{top}
+ &\thaiclassx{lower}{low} &\thaiclassx{top}{low} \\[2ex]
+
+ \thaiclassx{upper}{left} &\thaiclass{top}
+ &\thaiclassx{upper}{left} &\thaiclassx{top}{left} \\[2ex]
+
+ \thaiclassx{lower}{left} &\thaiclass{top}
+ &\thaiclassx{lower}{left} &\thaiclassx{top}{low-left} \\
+ \end{tabular}
+
+ \caption{Ligature rules for diacritical marks.}
+ \label{table:liga-dia}
+\end{table*}
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l}
+ \thaiclass{base} &\thaiclassx{base}{sara am}
+ &\thaiclass{base} &\thaiclassx{upper}{sign}
+ &\thaiclassx{base}{sara am} \\
+ \thaiclassx{base}{asc} &\thaiclassx{base}{sara am}
+ &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left}
+ &\thaiclassx{base}{sara am} \\[2ex]
+
+ \thaiclassx{upper}{sign} &\thaiclassx{base}{sara am}
+ &\thaiclassx{upper}{sign} &\thaiclassx{base}{sara aa}
+ & \\
+ \thaiclassxx{upper}{sign}{left} &\thaiclassx{base}{sara am}
+ &\thaiclassxx{upper}{sign}{left} &\thaiclassx{base}{sara aa}
+ & \\[2ex]
+
+ \thaiclassx{top}{low} &\thaiclassx{base}{sara am}
+ &\thaiclassx{top}{low} &\thaiclass{top}
+ &\thaiclassx{base}{sara am} \\
+ \thaiclassx{top}{low} &\thaiclass{top}
+ &\thaiclassx{upper}{sign} &\thaiclass{top}
+ & \\
+ \thaiclass{top} &\thaiclassx{base}{sara am}
+ &\thaiclass{top} &\thaiclassx{base}{sara aa}
+ & \\[2ex]
+
+ \thaiclassx{top}{low-left} &\thaiclassx{base}{sara am}
+ &\thaiclassx{top}{low-left} &\thaiclassx{top}{left}
+ &\thaiclassx{base}{sara am} \\
+ \thaiclassx{top}{low-left} &\thaiclassx{top}{left}
+ &\thaiclassxx{upper}{sign}{left} &\thaiclassx{top}{left}
+ & \\
+ \thaiclassx{top}{left} &\thaiclassx{base}{sara am}
+ &\thaiclassx{top}{left} &\thaiclassx{base}{sara aa} \\
+ \end{tabular}
+
+ \caption{Ligature rules for \emph{sara am}.}
+ \label{table:liga-sara}
+\end{table*}
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l}
+ \thaiclassx{base}{indic} &\thaiclassx{base}{sara aa}
+ &\thaiclassx{base}{indic} &\thaiclassx{base}{sign}
+ \end{tabular}
+ \caption{Ligature rule for \emph{ru} and \emph{lu}.}
+ \label{table:liga-indic}
+\end{table*}
+
+Most of the ligature rules can be derived easily by handling the
+patterns sequentially (quite similar to logic puzzles found in various
+magazines), but at the end there remain two patterns which apparently
+contradict.
+
+\setlength{\tabcolsep}{3pt}
+
+\begin{center}
+ \begin{tabular}{l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l}
+ \thaiclass{base} &\thaiclass{lower} &\thaiclass{top}
+ &\thaiclass{base} &\thaiclass{lower}
+ &\thaiclassx{top}{low} \\
+ \thaiclassx{base}{asc} &\thaiclass{lower} &\thaiclass{top}
+ &\thaiclassx{base}{asc} &\thaiclass{lower}
+ &\thaiclassx{top}{low-left} \\
+ \end{tabular}
+\end{center}
+
+After applying ligature rules for the first two glyph classes it is
+necessary to handle the context `\thaiclass{lower} \thaiclass{top}',
+but depending on the previous glyph class \thaiclass{top} must be
+replaced with \thaiclassx{top}{left} and \thaiclassx{top}{low-left},
+respectively. With a context pattern length of~3 this would be easy
+to solve, but \TeX\ doesn't have this feature. What to do?
+
+The context `\thaiclass{base} \thaiclass{lower} \thaiclass{top}' must
+be distinguished from `\thaiclassx{base}{asc} \thaiclass{lower}
+\thaiclass{top}', i.e., two different \thaiclass{lower} classes are
+needed depending on the previous character since \TeX\ is not able to
+forward information from one ligature cycle to the next. The idea is
+now to create an `alias class', a class which behaves identically to
+the original one. The glyphs in this alias class are the same, but
+different glyph indices and glyph names are assigned to it. A
+closer look to table~\ref{table:liga-dia} shows that
+\thaiclassx{lower}{left} isn't a typo but the alias class of
+\thaiclass{lower}.
+
+
+\section{The Implementation}
+
+After solving the problem theoretically now the practical
+implementation. All glyph names follow the \emph{Adobe Glyph List
+ (AGL)}~\cite{AGL}. There are no predefined Adobe glyph names for
+Thai, so the prefix `uni' with attached Unicode value will be used for
+all glyphs which are encoded in Unicode. Glyph variants are
+identified by an arbitrarily chosen postfix.
+
+Here the real glyph names for the various classes. Hexadecimal values
+in parentheses after the glyph name give the glyph indices in the
+encoding vector.
+
+\vspace{1ex}
+\multicolsep 1ex
+
+\begin{multicols}{2}[\thaiclassx{base}{normal}:]
+ \begin{quote}
+ |uni0E01| (|0xA1|)\\
+ |uni0E02| (|0xA2|)\\
+ |uni0E03| (|0xA3|)\\
+ |uni0E04| (|0xA4|)\\
+ |uni0E05| (|0xA5|)\\
+ |uni0E06| (|0xA6|)\\
+ |uni0E07| (|0xA7|)\\
+ |uni0E08| (|0xA8|)\\
+ |uni0E09| (|0xA9|)\\
+ |uni0E0A| (|0xAA|)\\
+ |uni0E0B| (|0xAB|)\\
+ |uni0E0C| (|0xAC|)\\
+ |uni0E11| (|0xB1|)\\
+ |uni0E12| (|0xB2|)\\
+ |uni0E13| (|0xB3|)\\
+ |uni0E14| (|0xB4|)\\
+ |uni0E15| (|0xB5|)\\
+ |uni0E16| (|0xB6|)\\
+ |uni0E17| (|0xB7|)\\
+ |uni0E18| (|0xB8|)\\
+ |uni0E19| (|0xB9|)\\
+ |uni0E1A| (|0xBA|)\\
+ |uni0E1C| (|0xBC|)\\
+ |uni0E1E| (|0xBE|)\\
+ |uni0E20| (|0xC0|)\\
+ |uni0E21| (|0xC1|)\\
+ |uni0E22| (|0xC2|)\\
+ |uni0E23| (|0xC3|)\\
+ |uni0E25| (|0xC5|)\\
+ |uni0E27| (|0xC7|)\\
+ |uni0E28| (|0xC8|)\\
+ |uni0E29| (|0xC9|)\\
+ |uni0E2A| (|0xCA|)\\
+ |uni0E2B| (|0xCB|)\\
+ |uni0E2D| (|0xCD|)\\
+ |uni0E2E| (|0xCE|)\\
+ |uni0E2F| (|0xCF|)\\
+ |uni0E30| (|0xD0|)\\
+ |uni0E40| (|0xE0|)\\
+ |uni0E41| (|0xE1|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{desc}:]
+ \begin{quote}
+ |uni0E0E| (|0xAE|)\\
+ |uni0E0F| (|0xAF|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{desclike}:]
+ \begin{quote}
+ |uni0E0D| (|0xAD|)\\
+ |uni0E10| (|0xB0|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{indic}:]
+ \begin{quote}
+ |uni0E24| (|0xC4|)\\
+ |uni0E26| (|0xC6|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{sign}:]
+ \begin{quote}
+ |uni0E45| (|0xE5|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{asc}:]
+ \begin{quote}
+ |uni0E1B| (|0xBB|)\\
+ |uni0E1D| (|0xBD|)\\
+ |uni0E1F| (|0xBF|)\\
+ |uni0E2C| (|0xCC|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{sara am}:]
+ \begin{quote}
+ |uni0E33| (|0xD3|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{sara aa}:]
+ \begin{quote}
+ |uni0E32| (|0xD2|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{descless}:]
+ \begin{quote}
+ |uni0E0D.descless| (|0x90|)\\
+ |uni0E10.descless| (|0x9F|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclass{lower}:]
+ \begin{quote}
+ |uni0E38| (|0xD8|)\\
+ |uni0E39| (|0xD9|)\\
+ |uni0E3A| (|0xDA|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{lower}{left}:]
+ \begin{quote}
+ |uni0E38.left| (|0x80|)\\
+ |uni0E39.left| (|0x81|)\\
+ |uni0E3A.left| (|0x82|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{lower}{low}:]
+ \begin{quote}
+ |uni0E38.low| (|0xFC|)\\
+ |uni0E39.low| (|0xFD|)\\
+ |uni0E3A.low| (|0xFE|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{upper}{vowel}:]
+ \begin{quote}
+ |uni0E31| (|0xD1|)\\
+ |uni0E34| (|0xD4|)\\
+ |uni0E35| (|0xD5|)\\
+ |uni0E36| (|0xD6|)\\
+ |uni0E37| (|0xD7|)\\
+ |uni0E47| (|0xE7|)\\
+ |uni0E4D| (|0xED|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{upper}{sign}:]
+ \begin{quote}
+ |uni0E4D| (|0xED|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassxx{upper}{vowel}{left}:]
+ \begin{quote}
+ |uni0E31.left| (|0x92|)\\
+ |uni0E34.left| (|0x94|)\\
+ |uni0E35.left| (|0x95|)\\
+ |uni0E36.left| (|0x96|)\\
+ |uni0E37.left| (|0x97|)\\
+ |uni0E47.left| (|0x93|)\\
+ |uni0E4D.left| (|0x8F|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassxx{upper}{sign}{left}:]
+ \begin{quote}
+ |uni0E4D.left| (|0x8F|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclass{top}:]
+ \begin{quote}
+ |uni0E48| (|0xE8|)\\
+ |uni0E49| (|0xE9|)\\
+ |uni0E4A| (|0xEA|)\\
+ |uni0E4B| (|0xEB|)\\
+ |uni0E4C| (|0xEC|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{top}{left}:]
+ \begin{quote}
+ |uni0E48.left| (|0x98|)\\
+ |uni0E49.left| (|0x99|)\\
+ |uni0E4A.left| (|0x9A|)\\
+ |uni0E4B.left| (|0x9B|)\\
+ |uni0E4C.left| (|0x9C|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{top}{low}:]
+ \begin{quote}
+ |uni0E48.low| (|0x88|)\\
+ |uni0E49.low| (|0x89|)\\
+ |uni0E4A.low| (|0x8A|)\\
+ |uni0E4B.low| (|0x8B|)\\
+ |uni0E4C.low| (|0x8C|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{top}{low-left}:]
+ \begin{quote}
+ |uni0E48.low_left| (|0x83|)\\
+ |uni0E49.low_left| (|0x84|)\\
+ |uni0E4A.low_left| (|0x85|)\\
+ |uni0E4B.low_left| (|0x86|)\\
+ |uni0E4C.low_left| (|0x87|)
+ \end{quote}
+\end{multicols}
+
+\vspace{1ex}
+
+
+\encoding
+\needsfontinstversion{1.918}
+
+
+\begincomment
+\section{Coding Scheme}
+\endcomment
+
+\setstr{codingscheme}{C90 THAI ENCODING}
+
+
+\begincomment
+\section{Non-Thai Characters}
+
+Of the many different \LaTeX{} encodings, |OT1| supports {\small
+ ASCII} best (and this is what most Type~1 Thai fonts have). This
+has two advantages: We can use the raw Thai font without specifying a
+new encoding (switching to |OT1| will be sufficient), and it will work
+with plain \TeX{} also.
+
+We use the |OT1| layout for typewriter fonts (i.e., for |cmtt|) with
+the exception that `arrowup' and `arrowdown' are replaced with
+`endash' and `emdash', and the seldom used `dotlessj' with
+`quotedblleft'.
+\endcomment
+
+
+% 0x00 | 0
+\setslot{Gamma}
+ \Unicode{0393}{GREEK CAPITAL LETTER GAMMA}
+\endsetslot
+
+\setslot{Delta}
+ \Unicode{0394}{GREEK CAPITAL LETTER DELTA}
+\endsetslot
+
+\setslot{Theta}
+ \Unicode{0398}{GREEK CAPITAL LETTER THETA}
+\endsetslot
+
+\setslot{Lambda}
+ \Unicode{039B}{GREEK CAPITAL LETTER LAMDA}
+\endsetslot
+
+\setslot{Xi}
+ \Unicode{039E}{GREEK CAPITAL LETTER XI}
+\endsetslot
+
+\setslot{Pi}
+ \Unicode{03A0}{GREEK CAPITAL LETTER PI}
+\endsetslot
+
+\setslot{Sigma}
+ \Unicode{03A3}{GREEK CAPITAL LETTER SIGMA}
+\endsetslot
+
+\setslot{Upsilon}
+ \Unicode{03D2}{GREEK UPSILON WITH HOOK SYMBOL}
+\endsetslot
+
+\setslot{Phi}
+ \Unicode{03A6}{GREEK CAPITAL LETTER PHI}
+\endsetslot
+
+\setslot{Psi}
+ \Unicode{03A8}{GREEK CAPITAL LETTER PSI}
+\endsetslot
+
+\setslot{Omega}
+ \Unicode{03A9}{GREEK CAPITAL LETTER OMEGA}
+\endsetslot
+
+\setslot{endash}
+ \Unicode{2013}{EN DASH}
+ \Ligature{LIG}{hyphen}{emdash}
+ \comment{This is `arrowup' in |OT1| encoding.}
+\endsetslot
+
+\setslot{emdash}
+ \Unicode{2014}{EM DASH}
+ \comment{This is `arrowdown' in |OT1| encoding.}
+\endsetslot
+
+\setslot{quotesingle}
+ \Unicode{0027}{APOSTROPHE}
+\endsetslot
+
+\setslot{exclamdown}
+ \Unicode{00A1}{INVERTED EXCLAMATION MARK}
+\endsetslot
+
+\setslot{questiondown}
+ \Unicode{00BF}{INVERTED QUESTION MARK}
+\endsetslot
+
+% 0x10 | 16
+\setslot{dotlessi}
+ \Unicode{0131}{LATIN SMALL LETTER DOTLESS I}
+\endsetslot
+
+\setslot{quotedblleft}
+ \Unicode{201C}{LEFT DOUBLE QUOTATION MARK}
+ \comment{This is `dotlessj' in |OT1| encoding.}
+\endsetslot
+
+\setslot{grave}
+ \Unicode{0300}{COMBINING GRAVE ACCENT}
+\endsetslot
+
+\setslot{acute}
+ \Unicode{0301}{COMBINING ACUTE ACCENT}
+\endsetslot
+
+\setslot{caron}
+ \Unicode{030C}{COMBINING CARON}
+\endsetslot
+
+\setslot{breve}
+ \Unicode{0306}{COMBINING BREVE}
+\endsetslot
+
+\setslot{macron}
+ \Unicode{0304}{COMBINING MACRON}
+\endsetslot
+
+\setslot{ring}
+ \Unicode{030A}{COMBINING RING ABOVE}
+\endsetslot
+
+\setslot{cedilla}
+ \Unicode{0327}{COMBINING CEDILLA}
+\endsetslot
+
+\setslot{germandbls}
+ \Unicode{00DF}{LATIN SMALL LETTER SHARP S}
+\endsetslot
+
+\setslot{ae}
+ \Unicode{00E6}{LATIN SMALL LETTER AE}
+\endsetslot
+
+\setslot{oe}
+ \Unicode{0153}{LATIN SMALL LIGATURE OE}
+\endsetslot
+
+\setslot{oslash}
+ \Unicode{00F8}{LATIN SMALL LETTER O WITH STROKE}
+\endsetslot
+
+\setslot{AE}
+ \Unicode{00C6}{LATIN CAPITAL LETTER AE}
+\endsetslot
+
+\setslot{OE}
+ \Unicode{0152}{LATIN CAPITAL LIGATURE OE}
+\endsetslot
+
+\setslot{Oslash}
+ \Unicode{00D8}{LATIN CAPITAL LETTER O WITH STROKE}
+\endsetslot
+
+% 0x20 | 32
+\skipslots{1}
+
+\setslot{exclam}
+ \Unicode{0021}{EXCLAMATION MARK}
+ \Ligature{LIG}{quoteleft}{exclamdown}
+\endsetslot
+
+\setslot{quotedblright}
+ \Unicode{201D}{RIGHT DOUBLE QUOTATION MARK}
+\endsetslot
+
+\setslot{numbersign}
+ \Unicode{0023}{NUMBER SIGN}
+\endsetslot
+
+\setslot{dollar}
+ \Unicode{0024}{DOLLAR SIGN}
+\endsetslot
+
+\setslot{percent}
+ \Unicode{0025}{PERCENT SIGN}
+\endsetslot
+
+\setslot{ampersand}
+ \Unicode{0026}{AMPERSAND}
+\endsetslot
+
+\setslot{quoteright}
+ \Unicode{2019}{RIGHT SINGLE QUOTATION MARK}
+ \Ligature{LIG}{quoteright}{quotedblright}
+\endsetslot
+
+\setslot{parenleft}
+ \Unicode{0028}{LEFT PARENTHESIS}
+\endsetslot
+
+\setslot{parenright}
+ \Unicode{0029}{RIGHT PARENTHESIS}
+\endsetslot
+
+\setslot{asterisk}
+ \Unicode{002A}{ASTERISK}
+\endsetslot
+
+\setslot{plus}
+ \Unicode{002B}{PLUS SIGN}
+\endsetslot
+
+\setslot{comma}
+ \Unicode{002C}{COMMA}
+\endsetslot
+
+\setslot{hyphen}
+ \Unicode{002D}{HYPHEN-MINUS}
+ \Ligature{LIG}{hyphen}{endash}
+\endsetslot
+
+\setslot{period}
+ \Unicode{002E}{FULL STOP}
+\endsetslot
+
+\setslot{slash}
+ \Unicode{002F}{SOLIDUS}
+\endsetslot
+
+% 0x30 | 48
+\setslot{zero}
+ \Unicode{0030}{DIGIT ZERO}
+\endsetslot
+
+\setslot{one}
+ \Unicode{0031}{DIGIT ONE}
+\endsetslot
+
+\setslot{two}
+ \Unicode{0032}{DIGIT TWO}
+\endsetslot
+
+\setslot{three}
+ \Unicode{0033}{DIGIT THREE}
+\endsetslot
+
+\setslot{four}
+ \Unicode{0034}{DIGIT FOUR}
+\endsetslot
+
+\setslot{five}
+ \Unicode{0035}{DIGIT FIVE}
+\endsetslot
+
+\setslot{six}
+ \Unicode{0036}{DIGIT SIX}
+\endsetslot
+
+\setslot{seven}
+ \Unicode{0037}{DIGIT SEVEN}
+\endsetslot
+
+\setslot{eight}
+ \Unicode{0038}{DIGIT EIGHT}
+\endsetslot
+
+\setslot{nine}
+ \Unicode{0039}{DIGIT NINE}
+\endsetslot
+
+\setslot{colon}
+ \Unicode{003A}{COLON}
+\endsetslot
+
+\setslot{semicolon}
+ \Unicode{003B}{SEMICOLON}
+\endsetslot
+
+\setslot{less}
+ \Unicode{003C}{LESS-THAN SIGN}
+\endsetslot
+
+\setslot{equal}
+ \Unicode{003D}{EQUALS SIGN}
+\endsetslot
+
+\setslot{greater}
+ \Unicode{003E}{GREATER-THAN SIGN}
+\endsetslot
+
+\setslot{question}
+ \Unicode{003F}{QUESTION MARK}
+ \Ligature{LIG}{quoteleft}{questiondown}
+\endsetslot
+
+% 0x40 | 64
+\setslot{at}
+ \Unicode{0040}{COMMERCIAL AT}
+\endsetslot
+
+\setslot{A}
+ \Unicode{0041}{LATIN CAPITAL LETTER A}
+\endsetslot
+
+\setslot{B}
+ \Unicode{0042}{LATIN CAPITAL LETTER B}
+\endsetslot
+
+\setslot{C}
+ \Unicode{0043}{LATIN CAPITAL LETTER C}
+\endsetslot
+
+\setslot{D}
+ \Unicode{0044}{LATIN CAPITAL LETTER D}
+\endsetslot
+
+\setslot{E}
+ \Unicode{0045}{LATIN CAPITAL LETTER E}
+\endsetslot
+
+\setslot{F}
+ \Unicode{0046}{LATIN CAPITAL LETTER F}
+\endsetslot
+
+\setslot{G}
+ \Unicode{0047}{LATIN CAPITAL LETTER G}
+\endsetslot
+
+\setslot{H}
+ \Unicode{0048}{LATIN CAPITAL LETTER H}
+\endsetslot
+
+\setslot{I}
+ \Unicode{0049}{LATIN CAPITAL LETTER I}
+\endsetslot
+
+\setslot{J}
+ \Unicode{004A}{LATIN CAPITAL LETTER J}
+\endsetslot
+
+\setslot{K}
+ \Unicode{004B}{LATIN CAPITAL LETTER K}
+\endsetslot
+
+\setslot{L}
+ \Unicode{004C}{LATIN CAPITAL LETTER L}
+\endsetslot
+
+\setslot{M}
+ \Unicode{004D}{LATIN CAPITAL LETTER M}
+\endsetslot
+
+\setslot{N}
+ \Unicode{004E}{LATIN CAPITAL LETTER N}
+\endsetslot
+
+\setslot{O}
+ \Unicode{004F}{LATIN CAPITAL LETTER O}
+\endsetslot
+
+% 0x50 | 80
+\setslot{P}
+ \Unicode{0050}{LATIN CAPITAL LETTER P}
+\endsetslot
+
+\setslot{Q}
+ \Unicode{0051}{LATIN CAPITAL LETTER Q}
+\endsetslot
+
+\setslot{R}
+ \Unicode{0052}{LATIN CAPITAL LETTER R}
+\endsetslot
+
+\setslot{S}
+ \Unicode{0053}{LATIN CAPITAL LETTER S}
+\endsetslot
+
+\setslot{T}
+ \Unicode{0054}{LATIN CAPITAL LETTER T}
+\endsetslot
+
+\setslot{U}
+ \Unicode{0055}{LATIN CAPITAL LETTER U}
+\endsetslot
+
+\setslot{V}
+ \Unicode{0056}{LATIN CAPITAL LETTER V}
+\endsetslot
+
+\setslot{W}
+ \Unicode{0057}{LATIN CAPITAL LETTER W}
+\endsetslot
+
+\setslot{X}
+ \Unicode{0058}{LATIN CAPITAL LETTER X}
+\endsetslot
+
+\setslot{Y}
+ \Unicode{0059}{LATIN CAPITAL LETTER Y}
+\endsetslot
+
+\setslot{Z}
+ \Unicode{005A}{LATIN CAPITAL LETTER Z}
+\endsetslot
+
+\setslot{bracketleft}
+ \Unicode{005B}{LEFT SQUARE BRACKET}
+\endsetslot
+
+\setslot{backslash}
+ \Unicode{005C}{REVERSE SOLIDUS}
+\endsetslot
+
+\setslot{bracketright}
+ \Unicode{005D}{RIGHT SQUARE BRACKET}
+\endsetslot
+
+\setslot{circumflex}
+ \Unicode{0302}{COMBINING CIRCUMFLEX ACCENT}
+\endsetslot
+
+\setslot{underscore}
+ \Unicode{005F}{LOW LINE}
+\endsetslot
+
+% 0x60 | 96
+\setslot{quoteleft}
+ \Unicode{2018}{LEFT SINGLE QUOTATION MARK}
+ \Ligature{LIG}{quoteleft}{quotedblleft}
+\endsetslot
+
+\setslot{a}
+ \Unicode{0061}{LATIN SMALL LETTER A}
+\endsetslot
+
+\setslot{b}
+ \Unicode{0062}{LATIN SMALL LETTER B}
+\endsetslot
+
+\setslot{c}
+ \Unicode{0063}{LATIN SMALL LETTER C}
+\endsetslot
+
+\setslot{d}
+ \Unicode{0064}{LATIN SMALL LETTER D}
+\endsetslot
+
+\setslot{e}
+ \Unicode{0065}{LATIN SMALL LETTER E}
+\endsetslot
+
+\setslot{f}
+ \Unicode{0066}{LATIN SMALL LETTER F}
+\endsetslot
+
+\setslot{g}
+ \Unicode{0067}{LATIN SMALL LETTER G}
+\endsetslot
+
+\setslot{h}
+ \Unicode{0068}{LATIN SMALL LETTER H}
+\endsetslot
+
+\setslot{i}
+ \Unicode{0069}{LATIN SMALL LETTER I}
+\endsetslot
+
+\setslot{j}
+ \Unicode{006A}{LATIN SMALL LETTER J}
+\endsetslot
+
+\setslot{k}
+ \Unicode{006B}{LATIN SMALL LETTER K}
+\endsetslot
+
+\setslot{l}
+ \Unicode{006C}{LATIN SMALL LETTER L}
+\endsetslot
+
+\setslot{m}
+ \Unicode{006D}{LATIN SMALL LETTER M}
+\endsetslot
+
+\setslot{n}
+ \Unicode{006E}{LATIN SMALL LETTER N}
+\endsetslot
+
+\setslot{o}
+ \Unicode{006F}{LATIN SMALL LETTER O}
+\endsetslot
+
+% 0x70 | 112
+\setslot{p}
+ \Unicode{0070}{LATIN SMALL LETTER P}
+\endsetslot
+
+\setslot{q}
+ \Unicode{0071}{LATIN SMALL LETTER Q}
+\endsetslot
+
+\setslot{r}
+ \Unicode{0072}{LATIN SMALL LETTER R}
+\endsetslot
+
+\setslot{s}
+ \Unicode{0073}{LATIN SMALL LETTER S}
+\endsetslot
+
+\setslot{t}
+ \Unicode{0074}{LATIN SMALL LETTER T}
+\endsetslot
+
+\setslot{u}
+ \Unicode{0075}{LATIN SMALL LETTER U}
+\endsetslot
+
+\setslot{v}
+ \Unicode{0076}{LATIN SMALL LETTER V}
+\endsetslot
+
+\setslot{w}
+ \Unicode{0077}{LATIN SMALL LETTER W}
+\endsetslot
+
+\setslot{x}
+ \Unicode{0078}{LATIN SMALL LETTER X}
+\endsetslot
+
+\setslot{y}
+ \Unicode{0079}{LATIN SMALL LETTER Y}
+\endsetslot
+
+\setslot{z}
+ \Unicode{007A}{LATIN SMALL LETTER Z}
+\endsetslot
+
+\setslot{braceleft}
+ \Unicode{007B}{LEFT CURLY BRACKET}
+\endsetslot
+
+\setslot{bar}
+ \Unicode{007C}{VERTICAL LINE}
+\endsetslot
+
+\setslot{braceright}
+ \Unicode{007D}{RIGHT CURLY BRACKET}
+\endsetslot
+
+\setslot{tilde}
+ \Unicode{0303}{COMBINING TILDE}
+\endsetslot
+
+\setslot{dieresis}
+ \Unicode{0308}{COMBINING DIAERESIS}
+\endsetslot
+
+
+\begincomment
+\section{Thai Characters}
+
+This is |TIS-620| encoding with glyph variants. The encoding presented
+in~\cite{TUG-Thai} contained two alternate glyph forms at positions 157
+and 158 which have been removed meanwhile.
+
+The number of all Thai ligature rules is quite big (464~in total).
+Note that |vptovf| will make the ligature table much more compact as
+it may appear here.
+\endcomment
+
+% 0x80 | 128
+\ifisint{makeenc}\then
+ \setslot{uni0E38}
+ \endsetslot
+\Else
+ \setslot{uni0E38.left}
+ \comment{An alias for
+ \textunicode{0E38}{THAI CHARACTER SARA U}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left}
+ \endsetslot
+\Fi
+
+\ifisint{makeenc}\then
+ \setslot{uni0E39}
+ \endsetslot
+\Else
+ \setslot{uni0E39.left}
+ \comment{An alias for
+ \textunicode{0E39}{THAI CHARACTER SARA UU}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left}
+ \endsetslot
+\Fi
+
+\ifisint{makeenc}\then
+ \setslot{uni0E3A}
+ \endsetslot
+\Else
+ \setslot{uni0E3A.left}
+ \comment{An alias for
+ \textunicode{0E3A}{THAI CHARACTER PHINTHU}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left}
+ \endsetslot
+\Fi
+
+\setslot{uni0E48.low_left}
+ \comment{A glyph variant of
+ \textunicode{0E48}{THAI CHARACTER MAI EK}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E48.left}
+ \Ligature{LIG/}{uni0E48.left}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E49.low_left}
+ \comment{A glyph variant of
+ \textunicode{0E49}{THAI CHARACTER MAI THO}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E49.left}
+ \Ligature{LIG/}{uni0E49.left}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E4A.low_left}
+ \comment{A glyph variant of
+ \textunicode{0E4A}{THAI CHARACTER MAI TRI}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4A.left}
+ \Ligature{LIG/}{uni0E4A.left}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E4B.low_left}
+ \comment{A glyph variant of
+ \textunicode{0E4B}{THAI CHARACTER MAI CHATTAWA}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4B.left}
+ \Ligature{LIG/}{uni0E4B.left}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E4C.low_left}
+ \comment{A glyph variant of
+ \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4C.left}
+ \Ligature{LIG/}{uni0E4C.left}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E48.low}
+ \comment{A glyph variant of
+ \textunicode{0E48}{THAI CHARACTER MAI EK}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E48}
+ \Ligature{LIG/}{uni0E48}{uni0E4D}
+\endsetslot
+
+\setslot{uni0E49.low}
+ \comment{A glyph variant of
+ \textunicode{0E49}{THAI CHARACTER MAI THO}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E49}
+ \Ligature{LIG/}{uni0E49}{uni0E4D}
+\endsetslot
+
+\setslot{uni0E4A.low}
+ \comment{A glyph variant of
+ \textunicode{0E4A}{THAI CHARACTER MAI TRI}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4A}
+ \Ligature{LIG/}{uni0E4A}{uni0E4D}
+\endsetslot
+
+\setslot{uni0E4B.low}
+ \comment{A glyph variant of
+ \textunicode{04EB}{THAI CHARACTER MAI CHATTAWA}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4B}
+ \Ligature{LIG/}{uni0E4B}{uni0E4D}
+\endsetslot
+
+\setslot{uni0E4C.low}
+ \comment{A glyph variant of
+ \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4C}
+ \Ligature{LIG/}{uni0E4C}{uni0E4D}
+\endsetslot
+
+\skipslots{2}
+
+\setslot{uni0E4D.left}
+ \comment{A glyph variant of
+ \textunicode{0E4D}{THAI CHARACTER NIKHAHIT}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+% 0x90 | 144
+\setslot{uni0E0D.descless}
+ \comment{A glyph variant of
+ \textunicode{0E0D}{THAI CHARACTER YO YING}.}
+\endsetslot
+
+\skipslots{1}
+
+\setslot{uni0E31.left}
+ \comment{A glyph variant of
+ \textunicode{0E31}{THAI CHARACTER MAI HAN-AKAT}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E47.left}
+ \comment{A glyph variant of
+ \textunicode{0E47}{THAI CHARACTER MAITAIKHU}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E34.left}
+ \comment{A glyph variant of
+ \textunicode{0E34}{THAI CHARACTER SARA I}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E35.left}
+ \comment{A glyph variant of
+ \textunicode{0E35}{THAI CHARACTER SARA II}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E36.left}
+ \comment{A glyph variant of
+ \textunicode{0E36}{THAI CHARACTER SARA UE}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E37.left}
+ \comment{A glyph variant of
+ \textunicode{0E37}{THAI CHARACTER SARA UEE}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E48.left}
+ \comment{A glyph variant of
+ \textunicode{0E48}{THAI CHARACTER MAI EK}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E49.left}
+ \comment{A glyph variant of
+ \textunicode{0E49}{THAI CHARACTER MAI THO}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4A.left}
+ \comment{A glyph variant of
+ \textunicode{0E4A}{THAI CHARACTER MAI TRI}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4B.left}
+ \comment{A glyph variant of
+ \textunicode{0E4B}{THAI CHARACTER MAI CHATTAWA}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4C.left}
+ \comment{A glyph variant of
+ \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\skipslots{2}
+
+\setslot{uni0E10.descless}
+ \comment{A glyph variant of
+ \textunicode{0E10}{THAI CHARACTER THO THAN}.}
+\endsetslot
+
+% 0xA0 | 160
+\skipslots{1}
+
+\setslot{uni0E01}
+ \Unicode{0E01}{THAI CHARACTER KO KAI}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E02}
+ \Unicode{0E02}{THAI CHARACTER KHO KHAI}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E03}
+ \Unicode{0E03}{THAI CHARACTER KHO KHUAT}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E04}
+ \Unicode{0E04}{THAI CHARACTER KHO KHWAI}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E05}
+ \Unicode{0E05}{THAI CHARACTER KHO KHON}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E06}
+ \Unicode{0E06}{THAI CHARACTER KHO RAKHANG}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E07}
+ \Unicode{0E07}{THAI CHARACTER NGO NGU}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E08}
+ \Unicode{0E08}{THAI CHARACTER CHO CHAN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E09}
+ \Unicode{0E09}{THAI CHARACTER CHO CHING}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0A}
+ \Unicode{0E0A}{THAI CHARACTER CHO CHANG}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0B}
+ \Unicode{0E0B}{THAI CHARACTER SO SO}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0C}
+ \Unicode{0E0C}{THAI CHARACTER CHO CHOE}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0D}
+ \Unicode{0E0D}{THAI CHARACTER YO YING}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{LIG/}{uni0E38}{uni0E0D.descless}
+ \Ligature{LIG/}{uni0E39}{uni0E0D.descless}
+ \Ligature{LIG/}{uni0E3A}{uni0E0D.descless}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0E}
+ \Unicode{0E0E}{THAI CHARACTER DO CHADA}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E38}{uni0E38.low}
+ \Ligature{/LIG}{uni0E39}{uni0E39.low}
+ \Ligature{/LIG}{uni0E3A}{uni0E3A.low}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0F}
+ \Unicode{0E0F}{THAI CHARACTER TO PATAK}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E38}{uni0E38.low}
+ \Ligature{/LIG}{uni0E39}{uni0E39.low}
+ \Ligature{/LIG}{uni0E3A}{uni0E3A.low}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+% 0xB0 | 176
+\setslot{uni0E10}
+ \Unicode{0E10}{THAI CHARACTER THO THAN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{LIG/}{uni0E38}{uni0E10.descless}
+ \Ligature{LIG/}{uni0E39}{uni0E10.descless}
+ \Ligature{LIG/}{uni0E3A}{uni0E10.descless}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E11}
+ \Unicode{0E11}{THAI CHARACTER THO NANGMONTHO}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E12}
+ \Unicode{0E12}{THAI CHARACTER THO PHUTHAO}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E13}
+ \Unicode{0E13}{THAI CHARACTER NO NEN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E14}
+ \Unicode{0E14}{THAI CHARACTER DO DEK}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E15}
+ \Unicode{0E15}{THAI CHARACTER TO TAO}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E16}
+ \Unicode{0E16}{THAI CHARACTER THO THUNG}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E17}
+ \Unicode{0E17}{THAI CHARACTER THO THAHAN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E18}
+ \Unicode{0E18}{THAI CHARACTER THO THONG}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E19}
+ \Unicode{0E19}{THAI CHARACTER NO NU}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E1A}
+ \Unicode{0E1A}{THAI CHARACTER BO BAIMAI}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E1B}
+ \Unicode{0E1B}{THAI CHARACTER PO PLA}
+ \Ligature{/LIG}{uni0E31}{uni0E31.left}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D.left}
+ \Ligature{/LIG}{uni0E34}{uni0E34.left}
+ \Ligature{/LIG}{uni0E35}{uni0E35.left}
+ \Ligature{/LIG}{uni0E36}{uni0E36.left}
+ \Ligature{/LIG}{uni0E37}{uni0E37.left}
+ \Ligature{/LIG}{uni0E38}{uni0E38.left}
+ \Ligature{/LIG}{uni0E39}{uni0E39.left}
+ \Ligature{/LIG}{uni0E3A}{uni0E3A.left}
+ \Ligature{/LIG}{uni0E47}{uni0E47.left}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+ \Ligature{/LIG}{uni0E4D}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E1C}
+ \Unicode{0E1C}{THAI CHARACTER PHO PHUNG}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E1D}
+ \Unicode{0E1D}{THAI CHARACTER FO FA}
+ \Ligature{/LIG}{uni0E31}{uni0E31.left}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D.left}
+ \Ligature{/LIG}{uni0E34}{uni0E34.left}
+ \Ligature{/LIG}{uni0E35}{uni0E35.left}
+ \Ligature{/LIG}{uni0E36}{uni0E36.left}
+ \Ligature{/LIG}{uni0E37}{uni0E37.left}
+ \Ligature{/LIG}{uni0E38}{uni0E38.left}
+ \Ligature{/LIG}{uni0E39}{uni0E39.left}
+ \Ligature{/LIG}{uni0E3A}{uni0E3A.left}
+ \Ligature{/LIG}{uni0E47}{uni0E47.left}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+ \Ligature{/LIG}{uni0E4D}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E1E}
+ \Unicode{0E1E}{THAI CHARACTER PHO PHAN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E1F}
+ \Unicode{0E1F}{THAI CHARACTER FO FAN}
+ \Ligature{/LIG}{uni0E31}{uni0E31.left}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D.left}
+ \Ligature{/LIG}{uni0E34}{uni0E34.left}
+ \Ligature{/LIG}{uni0E35}{uni0E35.left}
+ \Ligature{/LIG}{uni0E36}{uni0E36.left}
+ \Ligature{/LIG}{uni0E37}{uni0E37.left}
+ \Ligature{/LIG}{uni0E38}{uni0E38.left}
+ \Ligature{/LIG}{uni0E39}{uni0E39.left}
+ \Ligature{/LIG}{uni0E3A}{uni0E3A.left}
+ \Ligature{/LIG}{uni0E47}{uni0E47.left}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+ \Ligature{/LIG}{uni0E4D}{uni0E4D.left}
+\endsetslot
+
+% 0xC0 | 192
+\setslot{uni0E20}
+ \Unicode{0E20}{THAI CHARACTER PHO SAMPHAO}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E21}
+ \Unicode{0E21}{THAI CHARACTER MO MA}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E22}
+ \Unicode{0E22}{THAI CHARACTER YO YAK}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E23}
+ \Unicode{0E23}{THAI CHARACTER RO RUA}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E24}
+ \Unicode{0E24}{THAI CHARACTER RU}
+ \Ligature{/LIG}{uni0E32}{uni0E45}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E25}
+ \Unicode{0E25}{THAI CHARACTER LO LING}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E26}
+ \Unicode{0E26}{THAI CHARACTER LU}
+ \Ligature{/LIG}{uni0E32}{uni0E45}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E27}
+ \Unicode{0E27}{THAI CHARACTER WO WAEN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E28}
+ \Unicode{0E28}{THAI CHARACTER SO SALA}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E29}
+ \Unicode{0E29}{THAI CHARACTER SO RUSI}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E2A}
+ \Unicode{0E2A}{THAI CHARACTER SO SUA}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E2B}
+ \Unicode{0E2B}{THAI CHARACTER HO HIP}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E2C}
+ \Unicode{0E2C}{THAI CHARACTER LO CHULA}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+\endsetslot
+
+\setslot{uni0E2D}
+ \Unicode{0E2D}{THAI CHARACTER O ANG}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E2E}
+ \Unicode{0E2E}{THAI CHARACTER HO NOKHUK}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E2F}
+ \Unicode{0E2F}{THAI CHARACTER PAIYANNOI}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+% 0xD0 | 208
+\setslot{uni0E30}
+ \Unicode{0E30}{THAI CHARACTER SARA A}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E31}
+ \Unicode{0E31}{THAI CHARACTER MAI HAN-AKAT}
+\endsetslot
+
+\setslot{uni0E32}
+ \Unicode{0E32}{THAI CHARACTER SARA AA}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E33}
+ \Unicode{0E33}{THAI CHARACTER SARA AM}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E34}
+ \Unicode{0E34}{THAI CHARACTER SARA I}
+\endsetslot
+
+\setslot{uni0E35}
+ \Unicode{0E35}{THAI CHARACTER SARA II}
+\endsetslot
+
+\setslot{uni0E36}
+ \Unicode{0E36}{THAI CHARACTER SARA UE}
+\endsetslot
+
+\setslot{uni0E37}
+ \Unicode{0E37}{THAI CHARACTER SARA UEE}
+\endsetslot
+
+\setslot{uni0E38}
+ \Unicode{0E38}{THAI CHARACTER SARA U}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E39}
+ \Unicode{0E39}{THAI CHARACTER SARA UU}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E3A}
+ \Unicode{0E3A}{THAI CHARACTER PHINTHU}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\skipslots{4}
+
+\setslot{uni0E3F}
+ \Unicode{0E3F}{THAI CURRENCY SYMBOL BAHT}
+\endsetslot
+
+% 0xE0 | 224
+\setslot{uni0E40}
+ \Unicode{0E40}{THAI CHARACTER SARA E}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E41}
+ \Unicode{0E41}{THAI CHARACTER SARA AE}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E42}
+ \Unicode{0E42}{THAI CHARACTER SARA O}
+\endsetslot
+
+\setslot{uni0E43}
+ \Unicode{0E43}{THAI CHARACTER SARA AI MAIMUAN}
+\endsetslot
+
+\setslot{uni0E44}
+ \Unicode{0E44}{THAI CHARACTER SARA AI MAIMALAI}
+\endsetslot
+
+\setslot{uni0E45}
+ \Unicode{0E45}{THAI CHARACTER LAKKHANGYAO}
+\endsetslot
+
+\setslot{uni0E46}
+ \Unicode{0E46}{THAI CHARACTER MAIYAMOK}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E47}
+ \Unicode{0E47}{THAI CHARACTER MAITAIKHU}
+\endsetslot
+
+\setslot{uni0E48}
+ \Unicode{0E48}{THAI CHARACTER MAI EK}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E49}
+ \Unicode{0E49}{THAI CHARACTER MAI THO}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4A}
+ \Unicode{0E4A}{THAI CHARACTER MAI TRI}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4B}
+ \Unicode{0E4B}{THAI CHARACTER MAI CHATTAWA}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4C}
+ \Unicode{0E4C}{THAI CHARACTER THANTHAKHAT}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4D}
+ \Unicode{0E4D}{THAI CHARACTER NIKHAHIT}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4E}
+ \Unicode{0E4E}{THAI CHARACTER YAMAKKAN}
+\endsetslot
+
+\setslot{uni0E4F}
+ \Unicode{0E4F}{THAI CHARACTER FONGMAN}
+\endsetslot
+
+% 0xF0 | 240
+\setslot{uni0E50}
+ \Unicode{0E50}{THAI DIGIT ZERO}
+\endsetslot
+
+\setslot{uni0E51}
+ \Unicode{0E51}{THAI DIGIT ONE}
+\endsetslot
+
+\setslot{uni0E52}
+ \Unicode{0E52}{THAI DIGIT TWO}
+\endsetslot
+
+\setslot{uni0E53}
+ \Unicode{0E53}{THAI DIGIT THREE}
+\endsetslot
+
+\setslot{uni0E54}
+ \Unicode{0E54}{THAI DIGIT FOUR}
+\endsetslot
+
+\setslot{uni0E55}
+ \Unicode{0E55}{THAI DIGIT FIVE}
+\endsetslot
+
+\setslot{uni0E56}
+ \Unicode{0E56}{THAI DIGIT SIX}
+\endsetslot
+
+\setslot{uni0E57}
+ \Unicode{0E57}{THAI DIGIT SEVEN}
+\endsetslot
+
+\setslot{uni0E58}
+ \Unicode{0E58}{THAI DIGIT EIGHT}
+\endsetslot
+
+\setslot{uni0E59}
+ \Unicode{0E59}{THAI DIGIT NINE}
+\endsetslot
+
+\setslot{uni0E5A}
+ \Unicode{0E5A}{THAI CHARACTER ANGKHANKHU}
+\endsetslot
+
+\setslot{uni0E5B}
+ \Unicode{0E5B}{THAI CHARACTER KHOMUT}
+\endsetslot
+
+\setslot{uni0E38.low}
+ \comment{A glyph variant of \textunicode{0E38}{THAI CHARACTER SARA U}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E39.low}
+ \comment{A glyph variant of \textunicode{0E39}{THAI CHARACTER SARA UU}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E3A.low}
+ \comment{A glyph variant of \textunicode{0E3A}{THAI CHARACTER PHINTHU}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\skipslots{1}
+
+
+\begincomment
+\section{Font Dimensions}
+\endcomment
+
+\setfontdimen{1}{italicslant}
+\setfontdimen{2}{interword}
+\setfontdimen{3}{stretchword}
+\setfontdimen{4}{shrinkword}
+\setfontdimen{5}{xheight}
+\setfontdimen{6}{quad}
+\setfontdimen{7}{extraspace}
+
+\endencoding
+
+
+\begin{thebibliography}{9}
+\bibitem{TUG-Thai}
+ Werner Lemberg: \textit{Thai Fonts}, in \textit{TUGboat},
+ 21(2):113--120, June 2000. Available online in PDF format as
+ \url{http://tug.org/TUGboat/Articles/tb21-2/tb67lemb.pdf}.
+\bibitem{AGL}
+ Adobe Systems Incorporated: \textit{Adobe Glyph List}, 2003;
+ \url{http://partners.adobe.com/asn/developer/type/unicodegn.html}.
+\bibitem{MFbook}
+ Donald E.\ Knuth, Duane Bibby (illustrations): \textit{The \MF
+ book}, Ad\-di\-son--Wes\-ley, 1986; ISBN~0-201-13445-4.
+\bibitem{Unicode}
+ The Unicode Consortium (editor), \emph{et al.}: \textit{The Unicode
+ Standard, Version 4.0}, Addison Wesley Longman Publisher, 2003;
+ ISBN~0-321-18578-1. Most of the information in this book is also
+ available online at the Unicode consortium website, at
+ \url{http://www.unicode.org/versions/Unicode4.0.1}.
+\end{thebibliography}
+
+\end{document}
+
+% end of c90.etx
diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.mtx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.mtx
new file mode 100644
index 00000000000..eda3aa2fcb0
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.mtx
@@ -0,0 +1,42 @@
+% c90.mtx
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\relax
+
+\metrics
+
+\needsfontinstversion{1.918}
+
+% provide glyph aliases needed for the ligature mechanism
+
+\setglyph{uni0E38.left}
+ \glyph{uni0E38}{1000}
+\endsetglyph
+
+\setglyph{uni0E39.left}
+ \glyph{uni0E39}{1000}
+\endsetglyph
+
+\setglyph{uni0E3A.left}
+ \glyph{uni0E3A}{1000}
+\endsetglyph
+
+\endmetrics
+
+% end of c90.mtx
diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/config.dbtt-old b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/config.dbtt-old
new file mode 100644
index 00000000000..5ce1be96b23
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/config.dbtt-old
@@ -0,0 +1 @@
+p +dbtt-old.map
diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx
new file mode 100644
index 00000000000..5d826b0b546
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx
@@ -0,0 +1,46 @@
+% dbtt-old-alias.etx
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\relax
+
+\encoding
+
+\needsfontinstversion{1.918}
+
+\fontinstcc
+\def\galias#1#2{
+ \expandafter\def\csname slot-#2\endcsname{#1}
+}
+\def\setslot#1{
+ \edef\slot_name{
+ \if_defined{slot-#1}\then
+ \csname slot-#1\endcsname
+ \else
+ #1
+ \fi
+ }
+ \do_slot
+}
+\normalcc
+
+\input dbtt-old-alias
+
+\endencoding
+
+% end of dbtt-old-alias.etx
diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx
new file mode 100644
index 00000000000..3e91339cb8f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx
@@ -0,0 +1,36 @@
+% dbtt-old-alias.mtx
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\relax
+
+\metrics
+
+\needsfontinstversion{1.918}
+
+\def\galias#1#2{
+ \setglyph{#2}
+ \glyph{#1}{1000}
+ \endsetglyph
+}
+
+\input dbtt-old-alias
+
+\endmetrics
+
+% end of dbtt-old-alias.mtx
diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex
new file mode 100644
index 00000000000..74398589e3b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex
@@ -0,0 +1,139 @@
+% dbtt-old-alias.tex
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\galias{ucircumflex}{endash}
+\galias{uacute}{emdash}
+\galias{quotedbl}{quotedblleft}
+\galias{quotedbl}{quotedblright}
+\galias{quotesingle}{quoteright}
+\galias{grave}{quoteleft}
+\galias{florin}{uni0E48.low_left}
+\galias{quotedblbase}{uni0E49.low_left}
+\galias{ellipsis}{uni0E4A.low_left}
+\galias{dagger}{uni0E4B.low_left}
+\galias{daggerdbl}{uni0E4C.low_left}
+\galias{circumflex}{uni0E48.low}
+\galias{perthousand}{uni0E49.low}
+\galias{Scaron}{uni0E4A.low}
+\galias{guilsinglleft}{uni0E4B.low}
+\galias{OE}{uni0E4C.low}
+\galias{u008F}{uni0E4D.left}
+\galias{u0090}{uni0E0D.descless}
+\galias{quoteright}{uni0E31.left}
+\galias{quotedblleft}{uni0E47.left}
+\galias{quotedblright}{uni0E34.left}
+\galias{bullet}{uni0E35.left}
+\galias{emdash}{uni0E36.left}
+\galias{endash}{uni0E37.left}
+\galias{tilde}{uni0E48.left}
+\galias{trademark}{uni0E49.left}
+\galias{scaron}{uni0E4A.left}
+\galias{guilsinglright}{uni0E4B.left}
+\galias{oe}{uni0E4C.left}
+\galias{Ydieresis}{uni0E10.descless}
+\galias{exclamdown}{uni0E01}
+\galias{cent}{uni0E02}
+\galias{sterling}{uni0E03}
+\galias{currency}{uni0E04}
+\galias{yen}{uni0E05}
+\galias{brokenbar}{uni0E06}
+\galias{section}{uni0E07}
+\galias{dieresis}{uni0E08}
+\galias{copyright}{uni0E09}
+\galias{ordfeminine}{uni0E0A}
+\galias{guillemotleft}{uni0E0B}
+\galias{logicalnot}{uni0E0C}
+\galias{hyphen}{uni0E0D}
+\galias{registered}{uni0E0E}
+\galias{macron}{uni0E0F}
+\galias{degree}{uni0E10}
+\galias{plusminus}{uni0E11}
+\galias{twosuperior}{uni0E12}
+\galias{threesuperior}{uni0E13}
+\galias{acute}{uni0E14}
+\galias{mu}{uni0E15}
+\galias{paragraph}{uni0E16}
+\galias{periodcentered}{uni0E17}
+\galias{cedilla}{uni0E18}
+\galias{onesuperior}{uni0E19}
+\galias{ordmasculine}{uni0E1A}
+\galias{guillemotright}{uni0E1B}
+\galias{onequarter}{uni0E1C}
+\galias{onehalf}{uni0E1D}
+\galias{threequarters}{uni0E1E}
+\galias{questiondown}{uni0E1F}
+\galias{Agrave}{uni0E20}
+\galias{Aacute}{uni0E21}
+\galias{Acircumflex}{uni0E22}
+\galias{Atilde}{uni0E23}
+\galias{Adieresis}{uni0E24}
+\galias{Aring}{uni0E25}
+\galias{AE}{uni0E26}
+\galias{Ccedilla}{uni0E27}
+\galias{Egrave}{uni0E28}
+\galias{Eacute}{uni0E29}
+\galias{Ecircumflex}{uni0E2A}
+\galias{Edieresis}{uni0E2B}
+\galias{Igrave}{uni0E2C}
+\galias{Iacute}{uni0E2D}
+\galias{Icircumflex}{uni0E2E}
+\galias{Idieresis}{uni0E2F}
+\galias{Eth}{uni0E30}
+\galias{Ntilde}{uni0E31}
+\galias{Ograve}{uni0E32}
+\galias{Oacute}{uni0E33}
+\galias{Ocircumflex}{uni0E34}
+\galias{Otilde}{uni0E35}
+\galias{Odieresis}{uni0E36}
+\galias{multiply}{uni0E37}
+\galias{Oslash}{uni0E38}
+\galias{Ugrave}{uni0E39}
+\galias{Uacute}{uni0E3A}
+\galias{germandbls}{uni0E3F}
+\galias{agrave}{uni0E40}
+\galias{aacute}{uni0E41}
+\galias{acircumflex}{uni0E42}
+\galias{atilde}{uni0E43}
+\galias{adieresis}{uni0E44}
+\galias{aring}{uni0E45}
+\galias{ae}{uni0E46}
+\galias{ccedilla}{uni0E47}
+\galias{egrave}{uni0E48}
+\galias{eacute}{uni0E49}
+\galias{ecircumflex}{uni0E4A}
+\galias{edieresis}{uni0E4B}
+\galias{igrave}{uni0E4C}
+\galias{iacute}{uni0E4D}
+\galias{icircumflex}{uni0E4E}
+\galias{idieresis}{uni0E4F}
+\galias{eth}{uni0E50}
+\galias{ntilde}{uni0E51}
+\galias{ograve}{uni0E52}
+\galias{oacute}{uni0E53}
+\galias{ocircumflex}{uni0E54}
+\galias{otilde}{uni0E55}
+\galias{odieresis}{uni0E56}
+\galias{divide}{uni0E57}
+\galias{oslash}{uni0E58}
+\galias{ugrave}{uni0E59}
+\galias{udieresis}{uni0E38.low}
+\galias{yacute}{uni0E39.low}
+\galias{Ucircumflex}{uni0E3A.low}
+
+% end of dbtt-old-alias.tex
diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst
new file mode 100644
index 00000000000..0251ee373a4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst
@@ -0,0 +1,78 @@
+% dbtt-old.fontinst
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\input fontinst.sty
+
+\needsfontinstversion{1.918}
+
+
+% we explicitly set all slots in the encoding, so provide all glyph names
+% in AFM files equally (this is, don't create `<glyph>-not' names)
+\let\setnotglyph \setrawglyph
+
+% we want warnings for missing glyphs
+\fontinstcc
+\add_to\pre_fourth_etx_pass_hook{
+ \def\do_slot{
+ \if_undefined{g-\slot_name}\then
+ \fontinstwarningnoline{fontinst}
+ {missing~glyph~`\slot_name'\space
+ for~slot~\the\slot_number\space
+ in~font~`\out_filename'}
+ \fi
+ \do_character
+ }
+}
+\normalcc
+
+
+% create PL files and an FD file
+\installfonts
+ \setint{fontdimen(2)}{500} % SPACE
+ \setint{fontdimen(3)}{300} % STRETCH
+ \setint{fontdimen(4)}{100} % SHRINK
+ \setint{fontdimen(6)}{1000} % QUAD
+ \setint{fontdimen(7)}{0} % EXTRASPACE
+
+ \installrawfont{fdbr8z}{dbtt,dbtt-old-alias,c90}{c90}
+ {C90}{dbss}{m}{n}{<-> s *[1.3]}
+ \installrawfont{fdbb8z}{dbttb,dbtt-old-alias,c90}{c90}
+ {C90}{dbss}{bx}{n}{<-> s *[1.3]}
+ \installrawfont{fdbbo8z}{dbttbi,dbtt-old-alias,c90}{c90}
+ {C90}{dbss}{bx}{sl}{<-> s *[1.3]}
+ \installrawfont{fdbo8z}{dbtti,dbtt-old-alias,c90}{c90}
+ {C90}{dbss}{m}{sl}{<-> s *[1.3]}
+\endinstallfonts
+
+
+\input finstmsc.sty
+
+
+% create the dbtt-old.enc file
+\installfonts
+ % the `makeenc' flag is used in c90.etx
+ \setint{makeenc}{1}
+ \setstr{encodingname}{dbtt-oldEncoding}
+ \inputetx{dbtt-old-alias}
+ \etxtoenc{c90}{dbtt-old}
+\endinstallfonts
+
+\end
+
+% end of dbtt-old.fontinst
diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map
new file mode 100644
index 00000000000..c48f73fe714
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map
@@ -0,0 +1,4 @@
+fdbr8z DBThaiText " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbtt.pfb
+fdbb8z DBThaiTextBold " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbttb.pfb
+fdbo8z DBThaiTextItalic " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbtti.pfb
+fdbbo8z DBThaiTextBoldItalic " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbttbi.pfb
diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/garuda.fontinst b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/garuda.fontinst
new file mode 100644
index 00000000000..f810f271b4e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/garuda.fontinst
@@ -0,0 +1,77 @@
+% garuda.fontinst
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\input fontinst.sty
+
+\needsfontinstversion{1.918}
+
+
+% we explicitly set all slots in the encoding, so provide all glyph names
+% in AFM files equally (this is, don't create `<glyph>-not' names)
+\let\setnotglyph \setrawglyph
+
+% we want warnings for missing glyphs
+\fontinstcc
+\add_to\pre_fourth_etx_pass_hook{
+ \def\do_slot{
+ \if_undefined{g-\slot_name}\then
+ \fontinstwarningnoline{fontinst}
+ {missing~glyph~`\slot_name'\space
+ for~slot~\the\slot_number\space
+ in~font~`\out_filename'}
+ \fi
+ \do_character
+ }
+}
+\normalcc
+
+
+% create PL files and an FD file
+\installfonts
+ \setint{fontdimen(2)}{500} % SPACE
+ \setint{fontdimen(3)}{300} % STRETCH
+ \setint{fontdimen(4)}{100} % SHRINK
+ \setint{fontdimen(6)}{1000} % QUAD
+ \setint{fontdimen(7)}{0} % EXTRASPACE
+
+ \installrawfont{fgdr8z}{garuda,c90}{c90}
+ {C90}{garuda}{m}{n}{}
+ \installrawfont{fgdb8z}{garuda_b,c90}{c90}
+ {C90}{garuda}{bx}{n}{}
+ \installrawfont{fgdbo8z}{garuda_bo,c90}{c90}
+ {C90}{garuda}{bx}{sl}{}
+ \installrawfont{fgdo8z}{garuda_o,c90}{c90}
+ {C90}{garuda}{m}{sl}{}
+\endinstallfonts
+
+
+\input finstmsc.sty
+
+
+% create the c90.enc file
+\installfonts
+ % the `makeenc' flag is used in c90.etx
+ \setint{makeenc}{1}
+ \setstr{encodingname}{C90Encoding}
+ \etxtoenc{c90}{c90}
+\endinstallfonts
+
+\end
+
+% end of garuda.fontinst
diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/norasi.fontinst b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/norasi.fontinst
new file mode 100644
index 00000000000..2ea15d10ef6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/norasi.fontinst
@@ -0,0 +1,85 @@
+% norasi.fontinst
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\input fontinst.sty
+
+\needsfontinstversion{1.918}
+
+
+% we explicitly set all slots in the encoding, so provide all glyph names
+% in AFM files equally (this is, don't create `<glyph>-not' names)
+\let\setnotglyph \setrawglyph
+
+% we want warnings for missing glyphs
+\fontinstcc
+\add_to\pre_fourth_etx_pass_hook{
+ \def\do_slot{
+ \if_undefined{g-\slot_name}\then
+ \fontinstwarningnoline{fontinst}
+ {missing~glyph~`\slot_name'\space
+ for~slot~\the\slot_number\space
+ in~font~`\out_filename'}
+ \fi
+ \do_character
+ }
+}
+\normalcc
+
+
+% create PL files and an FD file
+\installfonts
+ \setint{fontdimen(2)}{500} % SPACE
+ \setint{fontdimen(3)}{300} % STRETCH
+ \setint{fontdimen(4)}{100} % SHRINK
+ \setint{fontdimen(6)}{1000} % QUAD
+ \setint{fontdimen(7)}{0} % EXTRASPACE
+
+ \installrawfont{ftnr8z}{norasi,c90}{c90}
+ {C90}{nrsr}{m}{n}{}
+ \installrawfont{ftnb8z}{norasi_b,c90}{c90}
+ {C90}{nrsr}{bx}{n}{}
+ \installrawfont{ftnbi8z}{norasi_bi,c90}{c90}
+ {C90}{nrsr}{bx}{it}{}
+ \installrawfont{ftni8z}{norasi_i,c90}{c90}
+ {C90}{nrsr}{m}{it}{}
+
+% Thai glyphs in norasi_o and norasi_bo are identical to the shapes
+% in norasi_i and norasi_bi, respectively.
+%
+% \installrawfont{ftno8z}{norasi_o,c90}{c90}
+% {C90}{nrsr}{m}{sl}{}
+% \installrawfont{ftnbo8z}{norasi_bo,c90}{c90}
+% {C90}{nrsr}{bx}{sl}{}
+\endinstallfonts
+
+
+\input finstmsc.sty
+
+
+% create the c90.enc file
+\installfonts
+ % the `makeenc' flag is used in c90.etx
+ \setint{makeenc}{1}
+ \setstr{encodingname}{C90Encoding}
+ \etxtoenc{c90}{c90}
+\endinstallfonts
+
+\end
+
+% end of norasi.fontinst
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cap b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cap
new file mode 100644
index 00000000000..e54868a47b4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cap
@@ -0,0 +1,86 @@
+% This is the file Bg5.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{Bg5.cap}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: Big 5
+% encoding: Big 5
+
+\renewcommand\contentsname{ฅุ~~ฟ}
+\renewcommand\listfigurename{นฯ~ฅุ~ฟ}
+\renewcommand\listtablename{ชํ~ฅุ~ฟ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ฐั~ฆา~ธ๊~ฎฦ}
+ %\renewcommand\refname{ฐั~ฆา~คๅ~ฤm}
+ }
+ {\renewcommand\bibname{คๅ~~ฤm}
+ %\renewcommand\bibname{ฐั~ฆา~ฎั~ฅุ}
+% \newcommand\prechaptername{ฒฤ}
+% \newcommand\postchaptername{ณน}
+ }
+
+\renewcommand\indexname{ฏม~ค}
+
+\renewcommand\figurename{นฯ}
+\renewcommand\tablename{ชํ}
+
+\newcommand\prepartname{ฒฤ}
+\newcommand\postpartname{ณก}
+%\newcommand{\postpartname}{ณกคภ}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+
+% \newcommand\presectionname{ฒฤ}
+% \newcommand\postsectionname{ธ`}
+% \renewcommand\appendixname{ช~ฟ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{บK~ญn}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{ชฅ๓}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand{\today}{\number\yearฆ~ \number\monthค๋ \number\dayค้}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase#1\or
+ ค@\orคG\orคT\orฅ|\orคญ\or
+ คป\orคC\orคK\orคE\orคQ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: big5
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.chr b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.chr
new file mode 100644
index 00000000000..1929e3d7541
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.chr
@@ -0,0 +1,219 @@
+% This is the file Bg5.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{Bg5.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling Big 5 encoded CJK fonts and characters.
+
+\global\@namedef{CJK@Bg5Chr}{
+ \CJK@global\chardef\CJK@gap "0A0\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \advance\@tempcntb 34\relax
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \advance\@tempcntb 34\relax
+ \fi
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cpx b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cpx
new file mode 100644
index 00000000000..b097f717114
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cpx
@@ -0,0 +1,86 @@
+% This is the file Bg5.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{Bg5.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: Big 5
+% encoding: Big 5
+%
+% preprocessed
+
+\renewcommand\contentsname{ฅ216~~ฟ253}
+\renewcommand\listfigurename{น207~ฅ216~ฟ253}
+\renewcommand\listtablename{ช237~ฅ216~ฟ253}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ฐ209~ฆ210~ธ234~ฎ198}
+ %\renewcommand\refname{ฐ209~ฆ210~ค229~ฤ109}
+ }
+ {
+ \renewcommand\bibname{ค229~~ฤ109}
+ %\renewcommand\bibname{ฐ209~ฆ210~ฎ209~ฅ216}
+% \newcommand\prechaptername{ฒ196}
+% \newcommand\postchaptername{ณ185}
+ }
+
+\renewcommand\indexname{ฏ193~ค222}
+
+\renewcommand\figurename{น207}
+\renewcommand\tablename{ช237}
+
+\newcommand\prepartname{ฒ196}
+\newcommand\postpartname{ณ161}
+%\newcommand{\postpartname}{ณ161ค192}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+
+% \newcommand\presectionname{ฒ196}
+% \newcommand\postsectionname{ธ96}
+% \renewcommand\appendixname{ช254~ฟ253}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{บ75~ญ110}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{ช254ฅ243}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand{\today}{\number\yearฆ126
+ \number\monthค235
+ \number\dayค233}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase#1\or
+ ค64\orค71\orค84\orฅ124\orค173\or
+ ค187\orค67\orค75\orค69\orค81\fi}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.enc b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.enc
new file mode 100644
index 00000000000..a207406eada
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.enc
@@ -0,0 +1,226 @@
+% This is the file Bg5.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{Bg5.enc}[\filedate\space\fileversion]
+
+
+% Big 5 encoding:
+% the second byte is in the range 0x40 - 0xFE with a gap from 0x7F to
+% 0xA0.
+
+\global\@namedef{CJK@Bg5Encoding}{
+ \CJK@loadChr{Bg5}
+
+ \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {A1}{01}{-64}{##1}}
+ \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A2}{01}{02}{93}{##1}}
+ \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase
+ \CJK@char {02}{ -6}{##1}}
+ \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{02}{03}{151}{##1}}
+ \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{ 52}{##1}}
+ \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase
+ \CJK@char {04}{-47}{##1}}
+ \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{110}{##1}}
+ \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase
+ \CJK@char {05}{ 11}{##1}}
+ \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{168}{##1}}
+ \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{ 69}{##1}}
+ \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase
+ \CJK@char {07}{-30}{##1}}
+ \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{127}{##1}}
+ \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase
+ \CJK@char {08}{28}{##1}}
+ \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{185}{##1}}
+ \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{ 86}{##1}}
+ \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase
+ \CJK@char {10}{-13}{##1}}
+ \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{144}{##1}}
+ \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 45}{##1}}
+ \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-54}{##1}}
+ \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{103}{##1}}
+ \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase
+ \CJK@char {13}{ 4}{##1}}
+ \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{161}{##1}}
+ \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{ 62}{##1}}
+ \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase
+ \CJK@char {15}{-37}{##1}}
+ \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{120}{##1}}
+ \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase
+ \CJK@char {16}{ 21}{##1}}
+ \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{178}{##1}}
+ \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{ 79}{##1}}
+ \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase
+ \CJK@char {18}{-20}{##1}}
+ \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{137}{##1}}
+ \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 38}{##1}}
+ \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase
+ \CJK@char {20}{-61}{##1}}
+ \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{ 96}{##1}}
+ \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase
+ \CJK@char {21}{ -3}{##1}}
+ \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{154}{##1}}
+ \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 55}{##1}}
+ \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase
+ \CJK@char {23}{-44}{##1}}
+ \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{113}{##1}}
+ \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase
+ \CJK@char {24}{ 14}{##1}}
+ \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{24}{25}{171}{##1}}
+ \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{25}{26}{ 72}{##1}}
+ \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase
+ \CJK@char {26}{-27}{##1}}
+ \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{26}{27}{130}{##1}}
+ \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase
+ \CJK@char {27}{ 31}{##1}}
+ \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{27}{28}{188}{##1}}
+ \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{ 89}{##1}}
+ \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase
+ \CJK@char {29}{-10}{##1}}
+ \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{147}{##1}}
+ \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{ 48}{##1}}
+ \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase
+ \CJK@char {31}{-51}{##1}}
+ \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{106}{##1}}
+ \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase
+ \CJK@char {32}{ 7}{##1}}
+ \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{164}{##1}}
+ \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{ 65}{##1}}
+ \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase
+ \CJK@char {34}{-34}{##1}}
+ \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{123}{##1}}
+ \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase
+ \CJK@char {35}{ 24}{##1}}
+ \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase
+ \CJK@charx{35}{36}{181}{##1}}
+ \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase
+ \CJK@charx{36}{37}{ 82}{##1}}
+ \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase
+ \CJK@char {37}{-17}{##1}}
+ \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{37}{38}{140}{##1}}
+ \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase
+ \CJK@charx{38}{39}{ 41}{##1}}
+ \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase
+ \CJK@char {39}{-58}{##1}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{39}{40}{ 99}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@char {40}{ 0}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{40}{41}{157}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{41}{42}{ 58}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@char {42}{-41}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{42}{43}{116}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@char {43}{ 17}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{43}{44}{174}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{44}{45}{ 75}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@char {45}{-24}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{45}{46}{133}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@char {46}{ 34}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{46}{47}{191}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@charx{47}{48}{ 92}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@char {48}{ -7}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{48}{49}{150}{##1}}
+ \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{49}{50}{ 51}{##1}}
+ \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase
+ \CJK@char {50}{-48}{##1}}
+ \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{50}{51}{109}{##1}}
+ \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase
+ \CJK@char {51}{ 10}{##1}}
+ \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{51}{52}{167}{##1}}
+ \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{52}{53}{ 68}{##1}}
+ \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase
+ \CJK@char {53}{-31}{##1}}
+ \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{53}{54}{126}{##1}}
+ \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase
+ \CJK@char {54}{ 27}{##1}}
+ \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{54}{55}{184}{##1}}
+ \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{55}{56}{ 85}{##1}}
+ \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase
+ \CJK@char {56}{-14}{##1}}
+ \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{56}{57}{143}{##1}}
+ \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{57}{58}{ 44}{##1}}
+ \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase
+ \CJK@char {58}{-55}{##1}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/HK.enc b/Master/texmf-dist/tex/latex/cjk/Bg5/HK.enc
new file mode 100644
index 00000000000..7d5ba50fac2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/HK.enc
@@ -0,0 +1,276 @@
+% This is the file HK.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{HK.enc}[\filedate\space\fileversion]
+
+
+% HK encoding:
+% this is Big with all user-defined areas
+%
+% the second byte is in the range 0x40 - 0xFE with a gap from 0x7F to
+% 0xA0.
+
+\global\@namedef{CJK@HKEncoding}{
+ \CJK@loadChr{Bg5}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {A1}{01}{-64}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A2}{01}{02}{93}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@char {02}{ -6}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@charx{02}{03}{151}{##1}}
+ \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{ 52}{##1}}
+ \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase
+ \CJK@char {04}{-47}{##1}}
+ \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{110}{##1}}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@char {05}{ 11}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{168}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{ 69}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@char {07}{-30}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{127}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@char {08}{28}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{185}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{ 86}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@char {10}{-13}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{144}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 45}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-54}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{103}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@char {13}{ 4}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{161}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{ 62}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@char {15}{-37}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{120}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@char {16}{ 21}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{178}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{ 79}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@char {18}{-20}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{137}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 38}{##1}}
+ \CJK@namegdef{^^a0}##1{\CJK@disableMakeUppercase
+ \CJK@char {20}{-61}{##1}}
+ \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{ 96}{##1}}
+ \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase
+ \CJK@char {21}{ -3}{##1}}
+ \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{154}{##1}}
+ \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 55}{##1}}
+ \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase
+ \CJK@char {23}{-44}{##1}}
+ \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{113}{##1}}
+ \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase
+ \CJK@char {24}{ 14}{##1}}
+ \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{24}{25}{171}{##1}}
+ \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{25}{26}{ 72}{##1}}
+ \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase
+ \CJK@char {26}{-27}{##1}}
+ \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase
+ \CJK@charx{26}{27}{130}{##1}}
+ \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase
+ \CJK@char {27}{ 31}{##1}}
+ \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase
+ \CJK@charx{27}{28}{188}{##1}}
+ \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{ 89}{##1}}
+ \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase
+ \CJK@char {29}{-10}{##1}}
+ \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{147}{##1}}
+ \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{ 48}{##1}}
+ \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase
+ \CJK@char {31}{-51}{##1}}
+ \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{106}{##1}}
+ \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase
+ \CJK@char {32}{ 7}{##1}}
+ \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{164}{##1}}
+ \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{ 65}{##1}}
+ \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase
+ \CJK@char {34}{-34}{##1}}
+ \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{123}{##1}}
+ \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase
+ \CJK@char {35}{ 24}{##1}}
+ \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase
+ \CJK@charx{35}{36}{181}{##1}}
+ \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{36}{37}{ 82}{##1}}
+ \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase
+ \CJK@char {37}{-17}{##1}}
+ \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{37}{38}{140}{##1}}
+ \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase
+ \CJK@charx{38}{39}{ 41}{##1}}
+ \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase
+ \CJK@char {39}{-58}{##1}}
+ \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{39}{40}{ 99}{##1}}
+ \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase
+ \CJK@char {40}{ 0}{##1}}
+ \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{40}{41}{157}{##1}}
+ \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{41}{42}{ 58}{##1}}
+ \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase
+ \CJK@char {42}{-41}{##1}}
+ \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{42}{43}{116}{##1}}
+ \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase
+ \CJK@char {43}{ 17}{##1}}
+ \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{43}{44}{174}{##1}}
+ \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{44}{45}{ 75}{##1}}
+ \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase
+ \CJK@char {45}{-24}{##1}}
+ \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase
+ \CJK@charx{45}{46}{133}{##1}}
+ \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase
+ \CJK@char {46}{ 34}{##1}}
+ \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{46}{47}{191}{##1}}
+ \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{47}{48}{ 92}{##1}}
+ \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase
+ \CJK@char {48}{ -7}{##1}}
+ \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase
+ \CJK@charx{48}{49}{150}{##1}}
+ \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{49}{50}{ 51}{##1}}
+ \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase
+ \CJK@char {50}{-48}{##1}}
+ \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{50}{51}{109}{##1}}
+ \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase
+ \CJK@char {51}{ 10}{##1}}
+ \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{51}{52}{167}{##1}}
+ \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{52}{53}{ 68}{##1}}
+ \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase
+ \CJK@char {53}{-31}{##1}}
+ \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{53}{54}{126}{##1}}
+ \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase
+ \CJK@char {54}{ 27}{##1}}
+ \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{54}{55}{184}{##1}}
+ \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase
+ \CJK@charx{55}{56}{ 85}{##1}}
+ \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase
+ \CJK@char {56}{-14}{##1}}
+ \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{56}{57}{143}{##1}}
+ \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{57}{58}{ 44}{##1}}
+ \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase
+ \CJK@char {58}{-55}{##1}}}
+ \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase
+ \CJK@charx{58}{59}{102}{##1}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@char {59}{ 3}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{59}{60}{160}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{60}{61}{ 61}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@char {61}{-38}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{61}{62}{119}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@char {62}{ 20}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{62}{63}{177}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{63}{64}{ 78}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@char {64}{-21}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{64}{65}{136}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{65}{66}{ 37}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@char {66}{-62}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{66}{67}{ 95}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@char {67}{ -4}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@charx{67}{68}{153}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{68}{69}{ 54}{##1}}
+ \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase
+ \CJK@char {69}{-45}{##1}}
+ \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{69}{70}{112}{##1}}
+ \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase
+ \CJK@char {70}{ 13}{##1}}
+ \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{70}{71}{170}{##1}}
+ \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{71}{72}{ 71}{##1}}
+ \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase
+ \CJK@char {72}{-28}{##1}}
+ \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{72}{73}{129}{##1}}
+ \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase
+ \CJK@char {73}{ 30}{##1}}
+ \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{73}{74}{187}{##1}}
+ \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{74}{75}{ 88}{##1}}
+ \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase
+ \CJK@char {75}{-11}{##1}}
+ \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{75}{76}{146}{##1}}
+ \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{76}{77}{ 47}{##1}}
+ \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase
+ \CJK@char {77}{-52}{##1}}
+ \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase
+ \CJK@charx{77}{78}{105}{##1}}
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00bkai.fdx b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bkai.fdx
new file mode 100644
index 00000000000..cf72ac0c268
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bkai.fdx
@@ -0,0 +1,147 @@
+% This is the file c00bkai.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00bkai.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+\CJKvdef{m/n/01/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvdef{m/n/01/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvdef{m/n/01/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvdef{m/n/01/29}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvdef{m/n/01/30}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvdef{m/n/01/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvdef{m/n/01/4}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvdef{m/n/01/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvdef{m/n/01/33}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvdef{m/n/01/34}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvdef{m/n/01/129}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvdef{m/n/01/22}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvdef{m/n/01/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvdef{m/n/01/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvdef{m/n/01/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvdef{m/n/01/148}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvdef{m/n/01/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvdef{m/n/01/149}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvdef{m/n/01/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvdef{m/n/01/155}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvdef{m/n/01/154}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvdef{m/n/01/212}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvdef{m/n/01/213}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvdef{m/n/01/215}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvdef{m/n/01/216}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvdef{m/n/01/217}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvdef{m/n/01/218}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvdef{m/n/01/210}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvdef{m/n/01/209}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvdef{m/n/01/208}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvdef{m/n/01/207}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvdef{m/n/01/223}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvdef{m/n/01/224}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvdef{m/n/01/226}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvdef{m/n/01/225}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvdef{m/n/01/219}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvdef{m/n/01/220}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvdef{m/n/01/222}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvdef{m/n/01/221}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvdef{m/n/01/26}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvdef{m/n/01/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvdef{m/n/01/3}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvdef{m/n/01/49}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvdef{m/n/01/50}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvdef{m/n/01/45}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvdef{m/n/01/46}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvdef{m/n/01/53}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvdef{m/n/01/54}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvdef{m/n/01/57}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvdef{m/n/01/58}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvdef{m/n/01/41}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvdef{m/n/01/42}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvdef{m/n/01/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvdef{m/n/01/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvdef{m/n/01/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvdef{m/n/01/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvdef{m/n/01/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvdef{m/n/01/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvdef{m/n/01/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvdef{m/n/01/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvdef{m/n/01/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvdef{m/n/01/64}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvdef{m/n/01/65}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvdef{m/n/01/66}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+
+\CJKvlet{bx/n/01/96}{m/n/01/96}
+\CJKvlet{bx/n/01/16}{m/n/01/16}
+\CJKvlet{bx/n/01/99}{m/n/01/99}
+\CJKvlet{bx/n/01/29}{m/n/01/29}
+\CJKvlet{bx/n/01/30}{m/n/01/30}
+\CJKvlet{bx/n/01/1}{m/n/01/1}
+\CJKvlet{bx/n/01/4}{m/n/01/4}
+\CJKvlet{bx/n/01/98}{m/n/01/98}
+\CJKvlet{bx/n/01/33}{m/n/01/33}
+\CJKvlet{bx/n/01/34}{m/n/01/34}
+\CJKvlet{bx/n/01/129}{m/n/01/129}
+\CJKvlet{bx/n/01/22}{m/n/01/22}
+\CJKvlet{bx/n/01/24}{m/n/01/24}
+\CJKvlet{bx/n/01/12}{m/n/01/12}
+\CJKvlet{bx/n/01/11}{m/n/01/11}
+\CJKvlet{bx/n/01/148}{m/n/01/148}
+\CJKvlet{bx/n/01/146}{m/n/01/146}
+\CJKvlet{bx/n/01/149}{m/n/01/149}
+\CJKvlet{bx/n/01/147}{m/n/01/147}
+\CJKvlet{bx/n/01/155}{m/n/01/155}
+\CJKvlet{bx/n/01/154}{m/n/01/154}
+\CJKvlet{bx/n/01/212}{m/n/01/212}
+\CJKvlet{bx/n/01/213}{m/n/01/213}
+\CJKvlet{bx/n/01/215}{m/n/01/215}
+\CJKvlet{bx/n/01/216}{m/n/01/216}
+\CJKvlet{bx/n/01/217}{m/n/01/217}
+\CJKvlet{bx/n/01/218}{m/n/01/218}
+\CJKvlet{bx/n/01/210}{m/n/01/210}
+\CJKvlet{bx/n/01/209}{m/n/01/209}
+\CJKvlet{bx/n/01/208}{m/n/01/208}
+\CJKvlet{bx/n/01/207}{m/n/01/207}
+\CJKvlet{bx/n/01/223}{m/n/01/223}
+\CJKvlet{bx/n/01/224}{m/n/01/224}
+\CJKvlet{bx/n/01/226}{m/n/01/226}
+\CJKvlet{bx/n/01/225}{m/n/01/225}
+\CJKvlet{bx/n/01/219}{m/n/01/219}
+\CJKvlet{bx/n/01/220}{m/n/01/220}
+\CJKvlet{bx/n/01/222}{m/n/01/222}
+\CJKvlet{bx/n/01/221}{m/n/01/221}
+\CJKvlet{bx/n/01/26}{m/n/01/26}
+\CJKvlet{bx/n/01/2}{m/n/01/2}
+\CJKvlet{bx/n/01/3}{m/n/01/3}
+\CJKvlet{bx/n/01/49}{m/n/01/49}
+\CJKvlet{bx/n/01/50}{m/n/01/50}
+\CJKvlet{bx/n/01/45}{m/n/01/45}
+\CJKvlet{bx/n/01/46}{m/n/01/46}
+\CJKvlet{bx/n/01/53}{m/n/01/53}
+\CJKvlet{bx/n/01/54}{m/n/01/54}
+\CJKvlet{bx/n/01/57}{m/n/01/57}
+\CJKvlet{bx/n/01/58}{m/n/01/58}
+\CJKvlet{bx/n/01/41}{m/n/01/41}
+\CJKvlet{bx/n/01/42}{m/n/01/42}
+\CJKvlet{bx/n/01/37}{m/n/01/37}
+\CJKvlet{bx/n/01/38}{m/n/01/38}
+\CJKvlet{bx/n/01/28}{m/n/01/28}
+\CJKvlet{bx/n/01/13}{m/n/01/13}
+\CJKvlet{bx/n/01/14}{m/n/01/14}
+\CJKvlet{bx/n/01/15}{m/n/01/15}
+\CJKvlet{bx/n/01/61}{m/n/01/61}
+\CJKvlet{bx/n/01/62}{m/n/01/62}
+\CJKvlet{bx/n/01/63}{m/n/01/63}
+\CJKvlet{bx/n/01/64}{m/n/01/64}
+\CJKvlet{bx/n/01/65}{m/n/01/65}
+\CJKvlet{bx/n/01/66}{m/n/01/66}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fd
new file mode 100644
index 00000000000..647daac25e9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fd
@@ -0,0 +1,25 @@
+% This is the file c00bsmi.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00bsmi.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% Arphic PL TrueType font AR PL Mingti2L Big5 / ShanHeiSun-Light (MingTi)
+
+\DeclareFontFamily{C00}{bsmi}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{bsmi}{m}{n}{<-> CJK * bsmilp}{}
+\DeclareFontShape{C00}{bsmi}{bx}{n}{<-> CJKb * bsmilp}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fdx b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fdx
new file mode 100644
index 00000000000..450a1964dc5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fdx
@@ -0,0 +1,147 @@
+% This is the file c00bsmi.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00bsmi.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+\CJKvdef{m/n/01/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvdef{m/n/01/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvdef{m/n/01/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvdef{m/n/01/29}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvdef{m/n/01/30}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvdef{m/n/01/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvdef{m/n/01/4}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvdef{m/n/01/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvdef{m/n/01/33}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvdef{m/n/01/34}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvdef{m/n/01/129}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvdef{m/n/01/22}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvdef{m/n/01/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvdef{m/n/01/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvdef{m/n/01/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvdef{m/n/01/148}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvdef{m/n/01/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvdef{m/n/01/149}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvdef{m/n/01/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvdef{m/n/01/155}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvdef{m/n/01/154}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvdef{m/n/01/212}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvdef{m/n/01/213}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvdef{m/n/01/215}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvdef{m/n/01/216}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvdef{m/n/01/217}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvdef{m/n/01/218}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvdef{m/n/01/210}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvdef{m/n/01/209}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvdef{m/n/01/208}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvdef{m/n/01/207}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvdef{m/n/01/223}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvdef{m/n/01/224}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvdef{m/n/01/226}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvdef{m/n/01/225}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvdef{m/n/01/219}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvdef{m/n/01/220}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvdef{m/n/01/222}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvdef{m/n/01/221}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvdef{m/n/01/26}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvdef{m/n/01/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvdef{m/n/01/3}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvdef{m/n/01/49}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvdef{m/n/01/50}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvdef{m/n/01/45}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvdef{m/n/01/46}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvdef{m/n/01/53}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvdef{m/n/01/54}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvdef{m/n/01/57}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvdef{m/n/01/58}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvdef{m/n/01/41}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvdef{m/n/01/42}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvdef{m/n/01/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvdef{m/n/01/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvdef{m/n/01/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvdef{m/n/01/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvdef{m/n/01/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvdef{m/n/01/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvdef{m/n/01/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvdef{m/n/01/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvdef{m/n/01/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvdef{m/n/01/64}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvdef{m/n/01/65}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvdef{m/n/01/66}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+
+\CJKvlet{bx/n/01/96}{m/n/01/96}
+\CJKvlet{bx/n/01/16}{m/n/01/16}
+\CJKvlet{bx/n/01/99}{m/n/01/99}
+\CJKvlet{bx/n/01/29}{m/n/01/29}
+\CJKvlet{bx/n/01/30}{m/n/01/30}
+\CJKvlet{bx/n/01/1}{m/n/01/1}
+\CJKvlet{bx/n/01/4}{m/n/01/4}
+\CJKvlet{bx/n/01/98}{m/n/01/98}
+\CJKvlet{bx/n/01/33}{m/n/01/33}
+\CJKvlet{bx/n/01/34}{m/n/01/34}
+\CJKvlet{bx/n/01/129}{m/n/01/129}
+\CJKvlet{bx/n/01/22}{m/n/01/22}
+\CJKvlet{bx/n/01/24}{m/n/01/24}
+\CJKvlet{bx/n/01/12}{m/n/01/12}
+\CJKvlet{bx/n/01/11}{m/n/01/11}
+\CJKvlet{bx/n/01/148}{m/n/01/148}
+\CJKvlet{bx/n/01/146}{m/n/01/146}
+\CJKvlet{bx/n/01/149}{m/n/01/149}
+\CJKvlet{bx/n/01/147}{m/n/01/147}
+\CJKvlet{bx/n/01/155}{m/n/01/155}
+\CJKvlet{bx/n/01/154}{m/n/01/154}
+\CJKvlet{bx/n/01/212}{m/n/01/212}
+\CJKvlet{bx/n/01/213}{m/n/01/213}
+\CJKvlet{bx/n/01/215}{m/n/01/215}
+\CJKvlet{bx/n/01/216}{m/n/01/216}
+\CJKvlet{bx/n/01/217}{m/n/01/217}
+\CJKvlet{bx/n/01/218}{m/n/01/218}
+\CJKvlet{bx/n/01/210}{m/n/01/210}
+\CJKvlet{bx/n/01/209}{m/n/01/209}
+\CJKvlet{bx/n/01/208}{m/n/01/208}
+\CJKvlet{bx/n/01/207}{m/n/01/207}
+\CJKvlet{bx/n/01/223}{m/n/01/223}
+\CJKvlet{bx/n/01/224}{m/n/01/224}
+\CJKvlet{bx/n/01/226}{m/n/01/226}
+\CJKvlet{bx/n/01/225}{m/n/01/225}
+\CJKvlet{bx/n/01/219}{m/n/01/219}
+\CJKvlet{bx/n/01/220}{m/n/01/220}
+\CJKvlet{bx/n/01/222}{m/n/01/222}
+\CJKvlet{bx/n/01/221}{m/n/01/221}
+\CJKvlet{bx/n/01/26}{m/n/01/26}
+\CJKvlet{bx/n/01/2}{m/n/01/2}
+\CJKvlet{bx/n/01/3}{m/n/01/3}
+\CJKvlet{bx/n/01/49}{m/n/01/49}
+\CJKvlet{bx/n/01/50}{m/n/01/50}
+\CJKvlet{bx/n/01/45}{m/n/01/45}
+\CJKvlet{bx/n/01/46}{m/n/01/46}
+\CJKvlet{bx/n/01/53}{m/n/01/53}
+\CJKvlet{bx/n/01/54}{m/n/01/54}
+\CJKvlet{bx/n/01/57}{m/n/01/57}
+\CJKvlet{bx/n/01/58}{m/n/01/58}
+\CJKvlet{bx/n/01/41}{m/n/01/41}
+\CJKvlet{bx/n/01/42}{m/n/01/42}
+\CJKvlet{bx/n/01/37}{m/n/01/37}
+\CJKvlet{bx/n/01/38}{m/n/01/38}
+\CJKvlet{bx/n/01/28}{m/n/01/28}
+\CJKvlet{bx/n/01/13}{m/n/01/13}
+\CJKvlet{bx/n/01/14}{m/n/01/14}
+\CJKvlet{bx/n/01/15}{m/n/01/15}
+\CJKvlet{bx/n/01/61}{m/n/01/61}
+\CJKvlet{bx/n/01/62}{m/n/01/62}
+\CJKvlet{bx/n/01/63}{m/n/01/63}
+\CJKvlet{bx/n/01/64}{m/n/01/64}
+\CJKvlet{bx/n/01/65}{m/n/01/65}
+\CJKvlet{bx/n/01/66}{m/n/01/66}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fd
new file mode 100644
index 00000000000..38e826f7176
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fd
@@ -0,0 +1,25 @@
+% This is the file c00bsmir.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00bsmir.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% Arphic GPL font (MingTi) rotated
+
+\DeclareFontFamily{C00}{bsmir}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{bsmir}{m}{n}{<-> CJK * bsmilr}{}
+\DeclareFontShape{C00}{bsmir}{bx}{n}{<-> CJKb * bsmilr}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fdx b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fdx
new file mode 100644
index 00000000000..3444383f855
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fdx
@@ -0,0 +1,15 @@
+% This is the file c00bsmir.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00bsmir.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{norotate}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00cns.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00cns.fd
new file mode 100644
index 00000000000..52949ce1eef
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00cns.fd
@@ -0,0 +1,25 @@
+% This is the file c00cns.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00cns.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% Big 5 encoded CNS pixel font
+
+\DeclareFontFamily{C00}{CNS}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{CNS}{m}{n}{<-> CJK * csso12}{}
+\DeclareFontShape{C00}{CNS}{bx}{n}{<-> CJKb * csso12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00fs.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00fs.fd
new file mode 100644
index 00000000000..0d05590bb41
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00fs.fd
@@ -0,0 +1,25 @@
+% This is the file c00fs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00fs.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters in Big 5 encoding scheme.
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% NTU TrueType font
+
+\DeclareFontFamily{C00}{fs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{fs}{m}{n}{<-> CJK * ntufsm}{}
+\DeclareFontShape{C00}{fs}{bx}{n}{<-> CJKb * ntufsm}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00kai.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kai.fd
new file mode 100644
index 00000000000..d57c9753032
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kai.fd
@@ -0,0 +1,25 @@
+% This is the file c00kai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00kai.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% pixel font
+
+\DeclareFontFamily{C00}{kai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka12}{}
+\DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * b5ka12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fd
new file mode 100644
index 00000000000..1d37112eb0b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fd
@@ -0,0 +1,25 @@
+% This is the file c00kair.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00kair.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters in Big 5 encoding scheme.
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% ntukai48 pixel font rotated
+
+\DeclareFontFamily{C00}{kair}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{kair}{m}{n}{<-> CJK * b5kr12}{}
+\DeclareFontShape{C00}{kair}{bx}{n}{<-> CJKb * b5kr12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fdx b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fdx
new file mode 100644
index 00000000000..1db148c0f4f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fdx
@@ -0,0 +1,15 @@
+% This is the file c00kair.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00kair.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{norotate}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00song.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00song.fd
new file mode 100644
index 00000000000..f1ae5b14642
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00song.fd
@@ -0,0 +1,25 @@
+% This is the file c00song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c00song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% pixel font
+
+\DeclareFontFamily{C00}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{song}{m}{n}{<-> CJKsub * kai/m/n}{}
+\DeclareFontShape{C00}{song}{bx}{n}{<-> CJKsub * kai/bx/n}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c01song.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c01song.fd
new file mode 100644
index 00000000000..bbeee437271
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c01song.fd
@@ -0,0 +1,23 @@
+% This is the file c01song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c01song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: pmC
+
+\DeclareFontFamily{C01}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C01}{song}{m}{n}{<-> sCJKfixed * wcb5}{}
+\DeclareFontShape{C01}{song}{bx}{n}{<-> sCJKfixedb * wcb5}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c05song.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c05song.fd
new file mode 100644
index 00000000000..e26837fda87
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c05song.fd
@@ -0,0 +1,25 @@
+% This is the file c00song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c05song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5 + HKSCS-2004 (HKSCS-2001)
+% font encoding: CJK (HKSCS)
+
+% pixel font
+
+\DeclareFontFamily{C05}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C05}{song}{m}{n}{<-> CJKsub * kai/m/n}{}
+\DeclareFontShape{C05}{song}{bx}{n}{<-> CJKsub * kai/bx/n}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c09song.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c09song.fd
new file mode 100644
index 00000000000..409e580d80c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c09song.fd
@@ -0,0 +1,23 @@
+% This is the file c09song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c09song.fd}[\filedate\space\fileversion]
+
+
+% Chinese characters (extension of Big 5)
+%
+% character set: Big 5+
+% font encoding: CJK (extended)
+
+\DeclareFontFamily{C09}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C09}{song}{m}{n}{<-> CJK * bg5p}{}
+\DeclareFontShape{C09}{song}{bx}{n}{<-> CJKb * bg5p}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CEF/c80song.fd b/Master/texmf-dist/tex/latex/cjk/CEF/c80song.fd
new file mode 100644
index 00000000000..b4ef92881ab
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CEF/c80song.fd
@@ -0,0 +1,34 @@
+% This is the file c80song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c80song.fd}[\filedate\space\fileversion]
+
+
+% CEF reserved font for IRIZ (International Research Institute for Zen
+% Buddhism).
+%
+% character set: IRIZ
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C80}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C80}{song}{m}{n}{
+ <5> <6> <7> CJKfixed * cxso10
+ <8> <9> <10> <10.95> sCJKfixed * cxso10
+ <12> CJKfixed * cxso10
+ <14.4> <17.28> sCJKfixed * cxso17
+ <20.74> <24.88> CJKfixed * cxso17}{}
+\DeclareFontShape{C80}{song}{bx}{n}{
+ <5> <6> <7> CJKfixedb * cxso10
+ <8> <9> <10> <10.95> sCJKfixedb * cxso10
+ <12> CJKfixedb * cxso10
+ <14.4> <17.28> sCJKfixedb * cxso17
+ <20.74> <24.88> CJKfixedb * cxso17}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CEF/c81song.fd b/Master/texmf-dist/tex/latex/cjk/CEF/c81song.fd
new file mode 100644
index 00000000000..7122e47ab01
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CEF/c81song.fd
@@ -0,0 +1,33 @@
+% This is the file c81song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c81song.fd}[\filedate\space\fileversion]
+
+
+% CEF private font.
+%
+% character set: IRIZ private
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C81}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C81}{song}{m}{n}{
+ <5> <6> <7> CJKfixed * cyso10
+ <8> <9> <10> <10.95> sCJKfixed * cyso10
+ <12> CJKfixed * cyso10
+ <14.4> <17.28> sCJKfixed * cyso17
+ <20.74> <24.88> CJKfixed * cyso17}{}
+\DeclareFontShape{C81}{song}{bx}{n}{
+ <5> <6> <7> CJKfixedb * cyso10
+ <8> <9> <10> <10.95> sCJKfixedb * cyso10
+ <12> CJKfixedb * cyso10
+ <14.4> <17.28> sCJKfixedb * cyso17
+ <20.74> <24.88> CJKfixedb * cyso17}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CJK.enc b/Master/texmf-dist/tex/latex/cjk/CJK.enc
new file mode 100644
index 00000000000..d6e121fecaf
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CJK.enc
@@ -0,0 +1,1092 @@
+% This is the file CJK.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{CJK.enc}[\filedate\space\fileversion]
+
+
+% we first define a macro to load an encoding file xxx.enc if
+% \CJK@xxxEncoding is still undefined. \CJK@xxxEncoding will only be
+% executed if it is not the actual encoding.
+
+\edef\CJK@actualEncoding{}
+
+\def\CJK@loadEncoding#1{
+ \expandafter\ifx\csname CJK@#1Encoding\endcsname \relax
+ \CJK@input{#1.enc}
+ \fi
+
+ \edef\CJK@temp{#1}
+ \ifx\CJK@temp \CJK@actualEncoding
+ \else
+ \csname CJK@#1Encoding\endcsname
+ \CJK@global\edef\CJK@actualEncoding{#1}
+ \fi}
+
+% this loads the appropriate xxx.chr file if \CJK@xxxChr is still undefined.
+% \CJK@xxxChr will only be executed if it is not the actual character
+% macro set.
+
+\edef\CJK@actualChr{}
+
+\def\CJK@loadChr#1{
+ \expandafter\ifx\csname CJK@#1Chr\endcsname \relax
+ \CJK@input{#1.chr}
+ \fi
+
+ \edef\CJK@temp{#1}
+ \ifx\CJK@temp \CJK@actualChr
+ \else
+ \csname CJK@#1Chr\endcsname
+ \CJK@global\edef\CJK@actualChr{#1}
+ \fi}
+
+% this loads the appropriate xxx.bdg file if \CJK@xxxBinding is still
+% undefined. \CJK@xxxBinding will only be executed if it is not the
+% actual binding.
+%
+% if the flag \ifCJK@nobind@ is set we do nothing.
+
+\newif\ifCJK@nobind@
+
+\edef\CJK@actualBinding{}
+
+\def\CJK@loadBinding#1{
+ \ifCJK@nobind@
+ \else
+ \expandafter\ifx\csname CJK@#1Binding\endcsname \relax
+ \CJK@input{#1.bdg}
+ \fi
+
+ \edef\CJK@temp{#1}
+ \ifx\CJK@temp \CJK@actualBinding
+ \else
+ \csname CJK@#1Binding\endcsname
+ \CJK@global\edef\CJK@actualBinding{#1}
+ \fi
+ \fi}
+
+
+% define macros for individual characters (i.e. the first byte); each active
+% character selects the appropriate subfont. The assignments actually
+% happen in the encoding specific .enc files.
+
+\def\CJK@namegdef#1{
+ \@tempcnta `#1
+ \edef\CJK@temp{\the\@tempcnta}
+ \expandafter\CJK@global\expandafter\def\csname CJK@\CJK@temp\endcsname}
+
+
+% some encodings can't be reliably processed if \MakeUppercase is active.
+% The following macro disables it. It is used in the encoding specific
+% .enc files.
+
+\ifx\CJKpreproc \relax
+ \def\CJK@disableMakeUppercase{
+ \CJK@global\let\CJKuppercase \MakeUppercase
+ \CJK@global\let\MakeUppercase \relax
+
+ \PackageWarningNoLine{CJK}{
+ `\CJK@actualEncoding' encoding used in non-preprocessed mode.\MessageBreak
+ \protect\MakeUppercase\space disabled}
+ \CJK@global\let\CJK@disableMakeUppercase \relax}
+\else
+ \let\CJK@disableMakeUppercase \relax
+\fi
+
+
+% single shifts (EUC-TW, EUC-JP), three-byte, and four-byte UTF8 values
+% can't be used in preprocessed mode
+
+\def\CJK@shiftError{
+ \PackageError{CJK}{
+ Single shifts in `\CJK@actualEncoding' encoding
+ can't be used in preprocessed mode
+ }
+ {Maybe you've forgotten to change the encoding?}}
+\def\CJK@unicodeError{
+ \PackageError{CJK}{
+ Three-Byte UTF8 values can't be used in preprocessed mode
+ }
+ {Maybe you've forgotten to change the encoding?}}
+\def\CJK@unicodexError{
+ \PackageError{CJK}{
+ Four-Byte UTF8 values can't be used in preprocessed mode
+ }
+ {Maybe you've forgotten to change the encoding?}}
+
+
+% the following macro is used to map the CJK (font) encoding to the
+% corresponding NFSS font encodings. It also registers the encoding;
+% we define an empty macro for the font name in \DeclareFontSubstitution
+% since LaTeX2e tests without a subplane appended.
+
+\def\CJK@mapToNFSS#1#2#3#4#5{
+ \expandafter\edef\csname CJK@#1@nfssenc\endcsname{#2}
+ \DeclareFontEncoding{#2}{}{}
+ \DeclareFontSubstitution{#2}{#3}{#4}{#5}
+ \expandafter\def\csname #2/#3/#4/#5\endcsname{}}
+
+
+% an ugly environment which redefines the characters `\', `{', and `}' to
+% `/', `(', and `)' respectively since some CJK encodings need these
+% characters as second bytes.
+%
+% to include \CJK@global we define the low level environment macros
+% directly.
+
+\def\CJK@makeEnvironment#1{
+ \@ifundefined{#1text}{
+ \CJK@global\@namedef{#1text}{
+ \catcode`\\=12
+ \catcode`\{=12
+ \catcode`\}=12
+ \def\/{/}
+ \def\({(}
+ \def\){)}
+ \catcode`\/=0
+ \catcode`\(=1
+ \catcode`\)=2}
+ \CJK@global\@namedef{end#1text}{}}{}}
+
+
+% here an overview of all encodings/font encodings:
+%
+% Chinese: Bg5 C00
+% Bg5pmC C01
+%
+% HK C05
+%
+% Bg5+ C09
+%
+% GB C10
+% GBpmC C11
+%
+% GBK C19
+%
+% GBt C20
+% GBtpmC C21
+%
+% CNS1-7 C31-37
+%
+% Japanese: JIS C40
+% JISpmC C41
+% JISdnp C42
+% JISwn C43
+%
+% JIS2 C50
+% JIS2dnp C52
+%
+% SJIS -> kana C49
+% SJISdnp -> kana C49
+%
+% Korean: KS -> hanja C60
+% -> hangul C61
+% KSpmC C62
+% KSHL -> hangulHL C63
+% -> symbolHL C64
+% -> hanjaHL C65
+%
+% Unicode: UTF8 C70
+%
+% CEF: CEFX C80
+% CEFY C81
+
+
+% here are the punctuation tables. We suppress spaces additionally in this
+% group.
+
+\begingroup
+ \catcode`\ 9\relax
+
+ \CJK@prePunct {Bg5}{A1}{5D, 5F, 61, 63, 65, 67, 69, 6B, 6D, 6F, 71, 73,
+ 75, 77, 79, 7B, 7D, A1, A3,
+ A5, A7, A9, AB,
+ AD, B1, CC, CD}
+ \CJK@postPunct {Bg5}{A1}{41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 4A, 4B, 4C, 4D, 4E, 4F, 50, 51,
+ 52, 53, 54, 57,
+ 5E, 60, 62, 64, 66, 68, 6A, 6C, 6E, 70, 72, 74,
+ 76, 78, 7A, 7C, 7E, A2, A4,
+ A6, A8, AA, AC}
+ \CJK@prePunct {Bg5}{A2}{43, 44, 45, 46, 47, 49,
+ 4C, 4E}
+ \CJK@postPunct {Bg5}{A2}{48, 4A, 4B, 4D,
+ 4F, 50, 51, 52, 53, 54, 55, 56, 57, 58}
+
+ \CJK@prePunct {GB}{A1}{AE, B0, B2, B4, B6, B8, BA, BC, BE,
+ E7, E8, E9, EA, EC, ED}
+ \CJK@postPunct {GB}{A1}{A2, A3, A4, A9, AD,
+ AF, B1, B3, B5, B7, B9, BB, BD, BF,
+ C3, E3, E4, E5, E6, EB}
+ \CJK@prePunct {GB}{A3}{A3, A4, A8, C0, DB, FB}
+ \CJK@postPunct {GB}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD}
+
+ \CJK@prePunct {JIS}{A1}{C6, C8, CA, CC, CE, D0, D2, D4, D6, D8, DA,
+ EF, F0, F1, F2, F4, F7, F8}
+ \CJK@postPunct {JIS}{A1}{A2, A3, A4, A5, A6, A7, A8, A9, AA, AB, AC,
+ B3, B4, B5, B6, B9, BA, BC,
+ C4, C7, C9, CB, CD, CF, D1, D3, D5, D7, D9, DB,
+ EB, EC, ED, EE, F3}
+ \CJK@prePunct {JIS}{A2}{A9}
+% \CJK@postPunct {JIS}{A2}{}
+% \CJK@prePunct {JIS}{A4}{}
+ \CJK@postPunct {JIS}{A4}{A1, A3, A5, A7, A9,
+ C3, E3, E5, E7, EE}
+% \CJK@prePunct {JIS}{A5}{}
+ \CJK@postPunct {JIS}{A5}{A1, A3, A5, A7, A9,
+ C3, E3, E5, E7, EE,
+ F5, F6}
+
+ \CJK@prePunct {SJIS}{81}{65, 67, 69, 6B, 6D, 6F, 71, 73, 75, 77, 79,
+ 8F, 90, 91, 92, 94, 97, 98,
+ A7}
+ \CJK@postPunct{SJIS}{81}{41, 42, 43, 44, 45, 46, 47, 48, 49, 4A, 4B,
+ 52, 53, 54, 55, 58, 59, 5B,
+ 63, 66, 68, 6A, 6C, 6E, 70, 72, 74, 76, 78, 7A,
+ 8B, 8C, 8D, 8E, 93}
+% \CJK@prePunct {SJIS}{82}{}
+ \CJK@postPunct{SJIS}{82}{9F, A1, A3, A5, A7,
+ C1, E1, E3, E5, EC}
+% \CJK@prePunct {SJIS}{83}{}
+ \CJK@postPunct{SJIS}{83}{40, 42, 44, 46, 48,
+ 62, 83, 85, 87, 8E,
+ 95, 96}
+
+ % half-width katakana
+ \CJK@prePunct {C49}{}{A2}
+ \CJK@postPunct {C49}{}{A1, A3, A4, A5, A7, A8, A9, AA, AB, AC, AD, AE, AF,
+ B0, DE, DF}
+
+ \CJK@prePunct {KS}{A1}{AE, B0, B2, B4, B6, B8, BA, BC,
+ CB, CC, CD, D7, EC}
+ \CJK@postPunct {KS}{A1}{A2, A3, A4, A5, A6,
+ AF, B1, B3, B5, B7, B9, BB, BD,
+ C6, C7, C8, C9, ED}
+ \CJK@prePunct {KS}{A3}{A3, A4, A8, C0, DB, DC, FB}
+ \CJK@postPunct {KS}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD}
+
+ \xdef\CJK@uniPunct{30, fe, ff} % values must be lowercase for UTF 8
+
+ \CJK@prePunct {UTF8}{30}{08, 0A, 0C, 0E, 10, 12, 14, 16, 18, 1A, 1D, 1F, 36}
+ \CJK@postPunct{UTF8}{30}{01, 02, 05, 06,
+ 09, 0B, 0D, 0F, 11, 15, 17, 19, 1B, 1E,
+ 41, 43, 45, 47, 49, 63, 83, 85, 87, 8E,
+ 9B, 9C, 9D, 9E,
+ A1, A3, A5, A7, A9, C3, E3, E5, E7, EE, F5, F6,
+ FB, FC, FD, FE}
+ \CJK@prePunct {UTF8}{fe}{59, 5B, 5D, 5F, 60, 69, 6B}
+ \CJK@postPunct{UTF8}{fe}{50, 51, 52, 54, 55, 56, 57, 5A, 5C, 5E, 6A}
+ \CJK@prePunct {UTF8}{ff}{03, 04, 08, 20, 3B, 5B, E0, E1, E5, E6}
+ \CJK@postPunct{UTF8}{ff}{01, 05, 09, 0C, 0E, 1A, 1B, 1F, 3D, 5D,
+ 61, 63, 64, 65, 67, 68, 69, 6A, 6B, 6C, 6D, 6E, 6F,
+ 70, 9E, 9F}
+
+ \CJK@prePunct {CNS1}{A1}{BE, C2, C6, CA, CE, D2, D6, DA, DE, E0, E2,
+ E4, E6, E8, EA,
+ EC, F0}
+ \CJK@postPunct{CNS1}{A1}{A2, A3, A4, A5, A6, A7, A8, A9,
+ AA, AC, AD, AE, AF, B0, B1, B2,
+ B3, B4, B5,
+ BF, C3, C7, CB, CF, D3, D7, DB, DF, E1, E3,
+ E5, E7, E9, EB}
+ \CJK@prePunct {CNS1}{A2}{AD, AE, E3, E4, E5, E6, E7, E9,
+ EC, EE}
+ \CJK@postPunct{CNS1}{A2}{E8, EA, EB, ED,
+ EF, F0, F1, F2, F3, F4, F5, F6, F7, F8}
+
+ \CJK@prePunct {GBK}{A1}{AE, B0, B2, B4, B6, B8, BA, BC, BE,
+ E7, E8, E9, EA, EC, ED}
+ \CJK@postPunct {GBK}{A1}{A2, A3, A4, A9, AD,
+ AF, B1, B3, B5, B7, B9, BB, BD, BF,
+ C3, E3, E4, E5, E6, EB}
+ \CJK@prePunct {GBK}{A3}{A3, A4, A8, C0, DB, FB}
+ \CJK@postPunct {GBK}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD}
+% \CJK@prePunct {GBK}{A4}{}
+ \CJK@postPunct {GBK}{A4}{A1, A3, A5, A7, A9, C3, E3, E5, E7, EE}
+% \CJK@prePunct {GBK}{A5}{}
+ \CJK@postPunct {GBK}{A5}{A1, A3, A5, A7, A9, C3, E3, E5, E7, EE, F5, F6}
+ \CJK@prePunct {GBK}{A8}{93, 94}
+ \CJK@postPunct {GBK}{A8}{95}
+ \CJK@prePunct {GBK}{A9}{76, 78, 7A, 7C, 7D, 86, 88}
+ \CJK@postPunct {GBK}{A9}{60, 61, 62, 63, 64, 65, 66, 67, 6F,
+ 70, 71, 72, 73, 74, 75, 77, 79, 7B, 87}
+\endgroup
+
+
+% dummy encoding for MULE.
+
+\def\CJK@@enc{\CJK@loadBinding{standard}}
+
+\edef\CJK@@fontenc{}
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% encoding: Big 5
+% font encoding: CJK
+
+\CJK@mapToNFSS{Bg5}{C00}{song}{m}{n}
+\CJKencfamily{Bg5}{song}
+\CJKfontenc{Bg5}{}
+\@namedef{CJK@Bg5@hook}{}
+
+\@namedef{CJK@Bg5@enc}{
+ \CJK@makeEnvironment{Bg5}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040% don't forget `0' before the number,
+ \CJK@global\chardef\CJK@max "0FE% otherwise german.sty will not work.
+
+ \CJK@loadEncoding{Bg5}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+% support for Hong Kong
+%
+% character set: Big 5 + HKSCS-2004 (or HKSCS-2001)
+% encoding: Big 5
+% font encoding: CJK
+
+\CJK@mapToNFSS{HK}{C05}{song}{m}{n}
+\CJKencfamily{HK}{song}
+\CJKfontenc{HK}{}
+\@namedef{CJK@HK@hook}{}
+
+\def\CJK@HK@enc{
+ \CJK@makeEnvironment{HK}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040% don't forget `0' before the number,
+ \CJK@global\chardef\CJK@max "0FE% otherwise german.sty will not work.
+
+ \CJK@loadEncoding{HK}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+% Chinese characters (extension of Big 5)
+%
+% character set: Big 5+
+% encoding: extended
+% font encoding: CJK
+
+\CJK@mapToNFSS{Bg5+}{C09}{song}{m}{n}
+\CJKencfamily{Bg5+}{song}
+\CJKfontenc{Bg5+}{}
+\@namedef{CJK@Bg5+@hook}{}
+
+\@namedef{CJK@Bg5+@enc}{
+ \CJK@makeEnvironment{Bg5+}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{extended}
+
+ \CJK@global\edef\CJK@punctEnc{Bg5}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+
+% Chinese characters
+%
+% character set: GB 2312-80
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{GB}{C10}{song}{m}{n}
+\CJKencfamily{GB}{song}
+\CJKfontenc{GB}{}
+\def\CJK@GB@hook{}
+
+\def\CJK@GB@enc{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{GB}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{GBt}{C20}{song}{m}{n}
+\CJKencfamily{GBt}{song}
+\CJKfontenc{GBt}{}
+\def\CJK@GBt@hook{}
+
+\let\CJK@GBt@enc \CJK@GB@enc
+
+% Chinese characters (extension of GB 2312)
+%
+% character set: GBK
+% encoding: extended
+% font encoding: CJK
+
+\CJK@mapToNFSS{GBK}{C19}{song}{m}{n}
+\CJKencfamily{GBK}{song}
+\CJKfontenc{GBK}{}
+\def\CJK@GBK@hook{}
+
+\def\CJK@GBK@enc{
+ \CJK@makeEnvironment{GBK}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{extended}
+
+ \CJK@global\edef\CJK@punctEnc{GBK}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% Japanese characters
+%
+% character set JIS X 0208:1997
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{JIS}{C40}{song}{m}{n}
+\CJKencfamily{JIS}{song}
+\CJKfontenc{JIS}{}
+\def\CJK@JIS@hook{}
+
+\def\CJK@JIS@enc{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997
+% encoding: EUC
+% font encoding: DNP
+
+\CJK@mapToNFSS{JISdnp}{C42}{song}{m}{n}
+\CJKencfamily[dnp]{JIS}{song}
+
+\def\CJK@JISdnp@enc{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{JISdnp}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997
+% encoding: EUC
+% font encoding: DNP (watanabe)
+
+\CJK@mapToNFSS{JISwn}{C43}{song}{m}{n}
+\CJKencfamily[wn]{JIS}{song}
+
+\let\CJK@JISwn@enc \CJK@JISdnp@enc
+
+% Japanese supplemental JIS characters
+%
+% character set: JIS X 0212-1990
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{JIS2}{C50}{song}{m}{n}
+\CJKencfamily{JIS2}{song}
+\CJKfontenc{JIS2}{}
+\@namedef{CJK@JIS2@hook}{}
+
+\@namedef{CJK@JIS2@enc}{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar[JIS]{"0A1}{"0A1}}}
+
+% Japanese supplemental JIS characters
+%
+% character set: JIS X 0212-1990
+% encoding: EUC
+% font encoding: DNP
+
+\CJK@mapToNFSS{JIS2dnp}{C52}{song}{m}{n}
+\CJKencfamily[dnp]{JIS2}{song}
+
+\@namedef{CJK@JIS2dnp@enc}{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{JISdnp}
+
+ \CJK@global\edef\CJK@punctEnc{}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar[JIS]{"0A1}{"0A1}}}
+
+% Japanese characters
+%
+% character sets: JIS X 0208:1997
+% half-width katakana (JIS X 0201-1997)
+% encoding: SJIS
+% font encoding: CJK
+%
+% Technical note: \CJK@altenc is used for SJIS, \CJK@altEnc for KS.
+
+\CJK@mapToNFSS{kana}{C49}{song}{m}{n}% used internally only
+\CJKencfamily{SJIS}{song}
+\CJKfontenc{SJIS}{}
+\def\CJK@SJIS@hook{}
+
+% the relative order of JIS and SJIS encoded characters are identical
+% except one byte characters.
+
+\def\CJK@@@SJIS@hook{
+ \CJK@global\edef\CJK@enc{\CJK@JIS@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\def\CJK@SJIS@enc{
+ \CJK@makeEnvironment{SJIS}
+
+ \CJK@loadBinding{SJIS}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FC
+
+ \CJK@loadEncoding{SJIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"081}{"040}}}
+
+% Japanese characters
+%
+% character sets: JIS X 0208:1997
+% half-width katakana (JIS X 0201-1997)
+% encoding: SJIS
+% font encoding: DNP
+
+\CJKencfamily[dnp]{SJIS}{song}
+
+% the relative order of JIS and SJIS encoded characters are identical
+% except one byte characters.
+
+\def\CJK@@@SJISdnp@hook{
+ \CJK@global\edef\CJK@enc{\CJK@JISdnp@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\def\CJK@SJISdnp@enc{
+ \CJK@makeEnvironment{SJIS}
+
+ \CJK@loadBinding{SJIS}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FC
+
+ \CJK@loadEncoding{SJISdnp}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"081}{"040}}}
+
+
+% Korean characters
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC
+% font encoding: CJK
+%
+% the increased \tolerance compensates the lack of \CJKglue for Hangul
+% syllables.
+
+% the following commands choose between C60xxx.fd (for hanja) and C61xxx.fd
+% (for hangul) for the character range 0xB0A1 - 0xC8FE.
+
+\newif\ifCJK@hanja@
+\CJK@hanja@false
+
+\DeclareRobustCommand{\CJKhanja}{
+ \CJK@global\CJK@hanja@true
+ \edef\CJK@temp{KS}
+ \ifx\CJK@temp \CJK@@@enc
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+ \CJK@global\edef\CJK@altEnc{
+ \csname CJK@hanja\CJK@temp @nfssenc\endcsname}
+ \fi}
+\DeclareRobustCommand{\CJKhangul}{
+ \CJK@global\CJK@hanja@false
+ \edef\CJK@temp{KS}
+ \ifx\CJK@temp \CJK@@@enc
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+ \CJK@global\edef\CJK@altEnc{
+ \csname CJK@hangul\CJK@temp @nfssenc\endcsname}
+ \fi}
+
+\CJK@mapToNFSS{hanja}{C60}{mj}{m}{n}% used internally only
+\CJK@mapToNFSS{hangul}{C61}{mj}{m}{n}% used internally only
+\CJKencfamily{KS}{mj}
+\CJKfontenc{KS}{}
+\def\CJK@KS@hook{}
+
+\def\CJK@@@KS@hook{
+ \CJK@global\edef\CJK@enc{\CJK@hanja@nfssenc}
+ \ifCJK@hanja@
+ \CJK@global\edef\CJK@altEnc{\CJK@hanja@nfssenc}
+ \else
+ \CJK@global\edef\CJK@altEnc{\CJK@hangul@nfssenc}
+ \fi}
+
+\def\CJK@KS@enc{
+ \CJK@global\def\mj{\protect\CJK@mj}% % from hLaTeX
+ \gdef\CJK@mj{\CJKencfamily{KS}{mj}}
+ \CJK@global\def\gt{\protect\CJK@gt}
+ \gdef\CJK@gt{\CJKencfamily{KS}{gt}}
+ \CJK@global\def\gs{\protect\CJK@gs}
+ \gdef\CJK@gs{\CJKencfamily{KS}{gs}}
+ \CJK@global\def\gr{\protect\CJK@gr}
+ \gdef\CJK@gr{\CJKencfamily{KS}{gr}}
+ \CJK@global\def\dr{\protect\CJK@dr}
+ \gdef\CJK@dr{\CJKencfamily{KS}{dr}}
+
+ \CJK@global\def\hgt{\protect\CJK@hgt}% % from hjTeX
+ \gdef\CJK@hgt{\CJKencfamily{KS}{hgt}}
+ \CJK@global\def\hmj{\protect\CJK@hmj}
+ \gdef\CJK@hmj{\CJKencfamily{KS}{hmj}}
+ \CJK@global\def\hol{\protect\CJK@hol}
+ \gdef\CJK@hol{\CJKencfamily{KS}{hol}}
+ \CJK@global\def\hpg{\protect\CJK@hpg}
+ \gdef\CJK@hpg{\CJKencfamily{KS}{hpg}}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{KS}
+
+ \CJK@global\edef\CJK@punctEnc{KS}
+ \CJK@global\tolerance \CJKtolerance
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% Korean characters
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC
+% font encoding: HLaTeX (version >= 0.97)
+
+\CJK@mapToNFSS{hangulHL}{C63}{mj}{m}{n}% used internally only
+\CJK@mapToNFSS{symbolHL}{C64}{mj}{m}{n}% used internally only
+\CJK@mapToNFSS{hanjaHL}{C65}{mj}{m}{n}% used internally only
+\CJKencfamily[HL]{KS}{mj}
+
+\def\CJK@@@KSHL@hook{
+ \CJK@global\edef\CJK@enc{\CJK@hanjaHL@nfssenc}
+ \CJK@global\edef\CJK@altEnc{\CJK@hangulHL@nfssenc}
+ \CJK@global\edef\CJK@symbEnc{\CJK@symbolHL@nfssenc}}
+
+\def\CJK@KSHL@enc{
+ \CJK@global\def\bm{\protect\CJK@bm}
+ \gdef\CJK@bm{\CJKencfamily[HL]{KS}{bm}}
+ \CJK@global\def\dn{\protect\CJK@dn}
+ \gdef\CJK@dn{\CJKencfamily[HL]{KS}{dn}}
+ \CJK@global\def\gr{\protect\CJK@gr}
+ \gdef\CJK@gr{\CJKencfamily[HL]{KS}{gr}}
+ \CJK@global\def\gs{\protect\CJK@gs}
+ \gdef\CJK@gs{\CJKencfamily[HL]{KS}{gs}}
+ \CJK@global\def\gt{\protect\CJK@gt}
+ \gdef\CJK@gt{\CJKencfamily[HL]{KS}{gt}}
+ \CJK@global\def\jgt{\protect\CJK@jgt}
+ \gdef\CJK@jgt{\CJKencfamily[HL]{KS}{jgt}}
+ \CJK@global\def\jmj{\protect\CJK@jmj}
+ \gdef\CJK@jmj{\CJKencfamily[HL]{KS}{jmj}}
+ \CJK@global\def\jnv{\protect\CJK@jnv}
+ \gdef\CJK@jnv{\CJKencfamily[HL]{KS}{jnv}}
+ \CJK@global\def\jsr{\protect\CJK@jsr}
+ \gdef\CJK@jsr{\CJKencfamily[HL]{KS}{jsr}}
+ \CJK@global\def\mj{\protect\CJK@mj}
+ \gdef\CJK@mj{\CJKencfamily[HL]{KS}{mj}}
+ \CJK@global\def\ol{\protect\CJK@ol}
+ \gdef\CJK@ol{\CJKencfamily[HL]{KS}{mj}}
+ \CJK@global\def\pg{\protect\CJK@pg}
+ \gdef\CJK@pg{\CJKencfamily[HL]{KS}{pg}}
+ \CJK@global\def\pga{\protect\CJK@pga}
+ \gdef\CJK@pga{\CJKencfamily[HL]{KS}{pga}}
+ \CJK@global\def\ph{\protect\CJK@ph}
+ \gdef\CJK@ph{\CJKencfamily[HL]{KS}{ph}}
+ \CJK@global\def\pn{\protect\CJK@pn}
+ \gdef\CJK@pn{\CJKencfamily[HL]{KS}{pn}}
+ \CJK@global\def\sh{\protect\CJK@sh}
+ \gdef\CJK@sh{\CJKencfamily[HL]{KS}{sh}}
+ \CJK@global\def\sm{\protect\CJK@sm}
+ \gdef\CJK@sm{\CJKencfamily[HL]{KS}{mj}}
+ \CJK@global\def\tz{\protect\CJK@tz}
+ \gdef\CJK@tz{\CJKencfamily[HL]{KS}{tz}}
+ \CJK@global\def\vd{\protect\CJK@vd}
+ \gdef\CJK@vd{\CJKencfamily[HL]{KS}{vd}}
+ \CJK@global\def\yt{\protect\CJK@yt}
+ \gdef\CJK@yt{\CJKencfamily[HL]{KS}{yt}}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{KSHL}
+
+ \CJK@global\edef\CJK@punctEnc{KS}
+ \CJK@global\tolerance \CJKtolerance
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% Unicode
+%
+% character set: Unicode
+% encoding: UTF 8
+% font encoding: CJK
+
+\CJK@mapToNFSS{UTF8}{C70}{song}{m}{n}
+\CJKencfamily{UTF8}{song}
+\CJKfontenc{UTF8}{}
+\@namedef{CJK@UTF8@hook}{}
+
+\@namedef{CJK@UTF8@enc}{
+ \CJK@loadBinding{UTF8}
+
+ \CJK@global\chardef\CJK@min "080
+ \CJK@global\chardef\CJK@max "0BF
+
+ \CJK@loadEncoding{UTF8}
+
+ \CJK@global\def\CJK@spaceChar{\Unicode{"030}{"000}}}
+
+
+% Chinese characters in CNS encoding.
+%
+% character set: CNS 11643-1992
+% encoding: EUC
+% font encoding: CJK
+
+% please note that internally character codes with the 8th bit set are
+% used, whereas Wittern's CEF use the seven bit form.
+
+% plane 1.
+
+\CJK@mapToNFSS{CNS1}{C31}{song}{m}{n}
+\CJKencfamily{CNS1}{song}
+\CJKfontenc{CNS1}{}
+\@namedef{CJK@CNS1@enc}{}
+
+\@namedef{CJK@CNS1@enc}{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{CNS1}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar[CNS1]{"0A1}{"0A1}}}
+
+% plane 2-7.
+
+\CJK@mapToNFSS{CNS2}{C32}{song}{m}{n}
+\CJKencfamily{CNS2}{song}
+\CJKfontenc{CNS2}{}
+\@namedef{CJK@CNS2@hook}{}
+\CJK@mapToNFSS{CNS3}{C33}{song}{m}{n}
+\CJKencfamily{CNS3}{song}
+\CJKfontenc{CNS3}{}
+\@namedef{CJK@CNS3@hook}{}
+\CJK@mapToNFSS{CNS4}{C34}{song}{m}{n}
+\CJKencfamily{CNS4}{song}
+\CJKfontenc{CNS4}{}
+\@namedef{CJK@CNS4@hook}{}
+\CJK@mapToNFSS{CNS5}{C35}{song}{m}{n}
+\CJKencfamily{CNS5}{song}
+\CJKfontenc{CNS5}{}
+\@namedef{CJK@CNS5@hook}{}
+\CJK@mapToNFSS{CNS6}{C36}{song}{m}{n}
+\CJKencfamily{CNS6}{song}
+\CJKfontenc{CNS6}{}
+\@namedef{CJK@CNS6@hook}{}
+\CJK@mapToNFSS{CNS7}{C37}{song}{m}{n}
+\CJKencfamily{CNS7}{song}
+\CJKfontenc{CNS7}{}
+\@namedef{CJK@CNS7@hook}{}
+
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS2@enc\expandafter\endcsname
+ \csname CJK@JIS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS3@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS4@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS5@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS6@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS7@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+
+
+% special CEF encodings
+
+\CJK@mapToNFSS{CEFX}{C80}{song}{m}{n}
+\CJKencfamily{CEFX}{song}
+\CJKfontenc{CEFX}{}
+\def\CJK@CEFX@hook{}
+\CJK@mapToNFSS{CEFY}{C81}{song}{m}{n}
+\CJKencfamily{CEFY}{song}
+\CJKfontenc{CEFY}{}
+\def\CJK@CEFY@hook{}
+
+\expandafter\let\expandafter\CJK@CEFX@enc \csname CJK@CNS2@enc\endcsname
+\expandafter\let\expandafter\CJK@CEFY@enc \csname CJK@CNS2@enc\endcsname
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% encoding: Big 5
+% font encoding: pmC
+
+\CJK@mapToNFSS{Bg5pmC}{C01}{song}{m}{n}
+\CJKencfamily[pmC]{Bg5}{song}
+
+\@namedef{CJK@Bg5pmC@enc}{
+ \CJK@global\def\pmCsmall{\protect\CJK@pmCsmall}
+ \gdef\CJK@pmCsmall{
+ \CJK@loadEncoding{pmCsmall}}
+ \CJK@global\def\pmCbig{\protect\CJK@pmCbig}
+ \gdef\CJK@pmCbig{
+ \PackageError{CJK}{
+ No big font for pmC Big 5 encoding available}{}}
+
+ \CJK@makeEnvironment{Bg5}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@global\edef\CJK@punctEnc{Bg5}
+
+ \pmCsmall
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{GBpmC}{C11}{song}{m}{n}
+\CJKencfamily[pmC]{GB}{song}
+
+\def\CJK@GBpmC@enc{
+ \CJK@pmC{GB}}
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{GBtpmC}{C21}{song}{m}{n}
+\CJKencfamily[pmC]{GBt}{song}
+
+\let\CJK@GBtpmC@enc \CJK@GBpmC@enc
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{JISpmC}{C41}{song}{m}{n}
+\CJKencfamily[pmC]{JIS}{song}
+
+\def\CJK@JISpmC@enc{
+ \CJK@pmC{JIS}}
+
+% Korean characters
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{KSpmC}{C62}{song}{m}{n}
+\CJKencfamily[pmC]{KS}{song}
+
+\def\CJK@KSpmC@enc{
+ \CJK@pmC{KS}}
+
+\def\CJK@pmC#1{
+ \CJK@global\def\pmCsmall{\protect\CJK@pmCsmall}
+ \gdef\CJK@pmCsmall{
+ \CJK@loadEncoding{pmCsmall}}
+ \CJK@global\def\pmCbig{\protect\CJK@pmCbig}
+ \gdef\CJK@pmCbig{
+ \CJK@loadEncoding{pmCbig}}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@global\edef\CJK@punctEnc{#1}
+
+ \pmCsmall
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% EUC-JP
+%
+% character sets: half-width katakana (JIS X 0201-1997)
+% JIS X 0208:1997
+% JIS X 0212-1992
+% encoding: EUC-JP
+% font encoding: CJK
+%
+% Technical note: JIS X 0212 is directly accessed via
+% \CJKchar[JIS2]{...}{...}
+
+\CJKencfamily{EUC-JP}{song}
+\CJKfontenc{EUC-JP}{}
+\@namedef{CJK@EUC-JP@hook}{}
+
+\@namedef{CJK@@@EUC-JP@hook}{
+ \CJK@global\edef\CJK@enc{\CJK@JIS@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\@namedef{CJK@EUC-JP@enc}{
+ \CJK@loadBinding{EUC-JP}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{EUC-JP}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% EUC-JP
+%
+% character sets: half-width katakana (JIS X 0201-1997)
+% JIS X 0208:1997
+% JIS X 0212-1992
+% encoding: EUC-JP
+% font encoding: dnp
+%
+% Technical note: JIS X 0212 is directly accessed via
+% \CJKchar[JIS2dnp]{...}{...}
+
+\CJKencfamily[dnp]{EUC-JP}{song}
+
+\@namedef{CJK@@@EUC-JPdnp@hook}{
+ \CJK@global\edef\CJK@enc{\CJK@JISdnp@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\@namedef{CJK@EUC-JPdnp@enc}{
+ \CJK@loadBinding{EUC-JP}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{EUC-JPdnp}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% EUC-TW
+%
+% character sets: CNS 11643-1992 planes 1-7
+% encoding: EUC-TW
+% font encoding: CJK
+%
+% Technical note: CNS 11643-1992 planes 2-7 are directly accessed via
+% \CJKchar[CNSx]{...}{...}
+
+\CJKencfamily{EUC-TW}{song}
+\CJKfontenc{EUC-TW}{}
+\@namedef{CJK@EUC-TW@hook}{}
+
+\@namedef{CJK@@@EUC-TW@hook}{
+ \CJK@global\edef\CJK@enc{\csname CJK@CNS1@nfssenc\endcsname}}
+
+\@namedef{CJK@EUC-TW@enc}{
+ \CJK@loadBinding{EUC-TW}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{EUC-TW}
+
+ \CJK@global\edef\CJK@punctEnc{CNS1}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CJK.sty b/Master/texmf-dist/tex/latex/cjk/CJK.sty
new file mode 100644
index 00000000000..d50dfe94fd8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CJK.sty
@@ -0,0 +1,1104 @@
+% This is the file CJK.sty of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[2001/06/01]
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesPackage{CJK}[\filedate\space\fileversion]
+
+\RequirePackage{MULEenc}
+
+\newif\ifCJK@lowercase@
+\CJK@lowercase@false
+\DeclareOption{lowercase}{\CJK@lowercase@true}
+
+\DeclareOption{global}{\let\CJK@global \global
+ \let\CJK@active \global
+ \let\CJK@local \global}
+\DeclareOption{local}{\let\CJK@global \relax
+ \let\CJK@active \global
+ \let\CJK@local \global}
+\DeclareOption{active}{\let\CJK@global \relax
+ \let\CJK@active \relax
+ \let\CJK@local \global}
+\DeclareOption{encapsulated}{\let\CJK@global \relax
+ \let\CJK@active \relax
+ \let\CJK@local \relax}
+
+\ExecuteOptions{local}
+
+\ProcessOptions
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+
+% the use of the internal LaTeX macro `\@ifundefined' can be slightly
+% irritating. After it has been called, the tested macro is no
+% longer undefined but expands to \relax. Where possible, we use
+% the following macro which doesn't have this side effect.
+
+\def\CJK@ifundefined#1{
+ \ifx #1\@undefined
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+
+
+% our input macro. For compatibility with ArabTeX, the catcode of `<'
+% is preserved.
+
+\def\CJK@input#1{
+ \makeatletter
+ \edef\CJK@lesscatcode{\noexpand\catcode`< \the\catcode`<}
+ \catcode`\< 12\relax
+ \endlinechar \m@ne
+ \input #1\relax
+ \endlinechar `\^^M
+ \CJK@lesscatcode
+ \makeatother}
+
+
+% our symbol macro. It honours the \ifCJK@bold@ flag (to be set in the .fd
+% files) for producing poor-man's bold fonts; if it is raised we print
+% the character three times with a small horizontal shift.
+%
+% The user commands to set and unset \ifCJK@bold@ are \CJKbold and
+% \CJKnormal respectively.
+%
+% \CJKboldshift defines the shift used to imitate bold fonts.
+
+\newif\ifCJK@bold@
+\newcommand{\CJKbold}{\global\CJK@bold@true}
+\newcommand{\CJKnormal}{\global\CJK@bold@false}
+\newcommand{\CJKboldshift}{0.015em}
+
+\DeclareRobustCommand{\CJKsymbol}[1]{
+ \symbol{#1}
+ \ifCJK@bold@
+ \hbox to \CJKboldshift{\hss\symbol{#1}}
+ \hbox to \CJKboldshift{\hss\symbol{#1}}
+ \fi}
+\let\CJKpunctsymbol\CJKsymbol
+
+% the same for HLaTeX which uses the ligature mechanism
+
+\DeclareRobustCommand{\CJKsymbols}[2]{
+ \char #1\char #2\relax
+ \ifCJK@bold@
+ \hbox to \CJKboldshift{\hss\char #1\char #2}
+ \hbox to \CJKboldshift{\hss\char #1\char #2}
+ \fi}
+
+
+% the auxiliary macro \CJK@numbToHex converts number #2 into a two-digit
+% hex string and assigns it globally to #1.
+
+\def\CJK@numbToHex#1#2{
+ {\count\z@ #2\relax
+ \count\tw@ \count\z@
+ \divide\count\z@ \sixt@@n
+
+ \count@ \count\z@
+ \multiply\count@ \sixt@@n
+ \advance\count\tw@ -\count@
+
+ \xdef#1{
+ \hexnumber@{\count\z@}\hexnumber@{\count\tw@}}}}
+
+
+% the auxiliary macro \CJK@numbxToHex converts number #2 into a four-digit
+% hex string and assigns it globally to #1.
+
+\def\CJK@numbxToHex#1#2{
+ {\count\thr@@ #2\relax
+ \count\tw@ \count\thr@@
+ \divide\count\tw@ \sixt@@n
+ \count\@ne \count\tw@
+ \divide\count\@ne \sixt@@n
+ \count\z@ \count\@ne
+ \divide\count\z@ \sixt@@n
+
+ \count@ \count\tw@
+ \multiply\count@ \sixt@@n
+ \advance\count\thr@@ -\count@
+ \count@ \count\@ne
+ \multiply\count@ \sixt@@n
+ \advance\count\tw@ -\count@
+ \count@ \count\z@
+ \multiply\count@ \sixt@@n
+ \advance\count\@ne -\count@
+
+ \xdef#1{
+ \hexnumber@{\count\z@}
+ \hexnumber@{\count\@ne}
+ \hexnumber@{\count\tw@}
+ \hexnumber@{\count\thr@@}}}}
+
+
+% the encoding of the `UTF8' environment -- the xCJK package overwrites
+% this.
+
+\edef\CJK@UnicodeEnc{UTF8}
+
+
+% with \CJKchar you can access a character directly at a low level:
+% the parameters are the first and the second byte of the CJK character
+% code. The second parameter will be ignored if you address one-byte
+% encoded characters in SJIS.
+%
+% the optional parameter selects the encoding (using \CJKenc).
+%
+% for Unicode characters you must select UTF-8 encoding (but enter real
+% Unicode values).
+%
+% you can enter character codes with or without the 8th bit set (GL or
+% GR form) except for SJIS, Bg5 and UTF-8 encodings.
+
+\DeclareRobustCommand{\CJKchar}[3][]{
+ {\CJK@nobind@true
+
+ \edef\CJK@tempenc{#1}
+ \ifx\CJK@tempenc \@empty
+ \else
+ \let\CJK@oldenc \CJK@@@enc
+ \CJKenc{#1}
+ \fi
+
+ \edef\CJK@temp{UTF8}
+ \ifx\CJK@temp \CJK@@@enc
+ \Unicode{#2}{#3}
+ \else
+ \@tempcnta #2
+ \edef\CJK@tempa{#3}
+ \ifx\CJK@tempa \@empty% % test for one-byte SJIS characters
+ \else
+ \@tempcntb #3
+ \ifnum \CJK@min > 160\relax
+ \ifnum\@tempcnta < 128\relax
+ \advance\@tempcnta 128\relax
+ \advance\@tempcntb 128\relax
+ \fi
+ \fi
+ \edef\CJK@tempa{\the\@tempcntb}
+ \fi
+
+ \edef\CJK@temp{\the\@tempcnta}
+ \expandafter\csname CJK@\CJK@temp\expandafter\endcsname
+ \expandafter{\CJK@tempa}
+ \fi
+
+ \ifx\CJK@tempenc \@empty
+ \else
+ \ifx\CJK@global \global
+ \CJKenc{\CJK@oldenc}
+ \fi
+ \fi}
+
+ \CJK@ignorespaces}
+
+
+% with \Unicode you can access a Unicode character directly at a low level:
+% the parameters are the first and the second byte of the Unicode (real
+% Unicode values, not UTF-8).
+%
+% If the Unicode value is greater than U+FFFF, put the first two bytes
+% into #1, and the third byte into #2.
+
+\DeclareRobustCommand{\Unicode}[2]{
+ {\edef\CJK@temp{UTF8}
+ \ifx\CJK@temp \CJK@@@enc
+ \else
+ \PackageError{CJK}{
+ You can't use \protect\Unicode\space here}{
+ You must activate UTF-8 encoding to use \protect\Unicode.}
+ \fi
+ \ifnum #1 > 255\relax
+ \CJK@numbxToHex{\CJK@gtemp}{#1}
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{#1}
+ \fi
+ \def\CJK@tempa##1{
+ \lowercase{\edef\CJK@plane{##1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+
+ \ifCJK@CJK@
+ \CJKsymbol{#2}
+ \else
+ \expandafter\CJK@testInList\expandafter\CJK@uniPunct
+ \expandafter{\CJK@plane}
+ \ifCJK@% % punctuation character
+ \CJK@numbToHex{\CJK@gtemp}{#2}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \ifCJK@CJK@
+ \CJK@nobreakglue
+ \fi
+ \else
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \fi
+ \ifCJK@CJK@
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \CJKsymbol{#2}
+
+ \CJK@testPrePunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \else% % not a punctuation character
+ \CJK@testLastCJK
+ \ifCJK@
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \ifCJK@CJK@
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+ \CJKsymbol{#2}
+ \CJK@CJK
+ \fi
+ \fi}
+
+ \CJK@ignorespaces}
+
+
+% the following commands are needed for UTF-8 encoding to select the proper
+% intercharacter glue.
+
+\newif\ifCJK@CJK@
+\newif\ifCJK@hangul@
+\newif\ifCJK@latin@
+
+\newcommand{\CJKCJKchar}{
+ \CJK@global\CJK@CJK@true
+ \CJK@global\CJK@hangul@false
+ \CJK@global\CJK@latin@false}
+
+\newcommand{\CJKhangulchar}{
+ \CJK@global\CJK@CJK@false
+ \CJK@global\CJK@hangul@true
+ \CJK@global\CJK@latin@false}
+
+\newcommand{\CJKlatinchar}{
+ \CJK@global\CJK@CJK@false
+ \CJK@global\CJK@hangul@false
+ \CJK@global\CJK@latin@true}
+
+\CJKCJKchar
+
+
+% the next commands control mapping of half-width katakana to full-width
+% glyphs within SJIS encoding.
+
+\newif\ifCJK@hwkatakana@
+
+\newcommand{\CJKhwkatakana}{\CJK@global\CJK@hwkatakana@true}
+
+\newcommand{\CJKnohwkatakana}{\CJK@global\CJK@hwkatakana@false}
+
+\CJKhwkatakana
+
+
+% you will find the innermost routines of the macros defined above in the
+% xxx.chr files. These routines are
+%
+% \CJK@char, \CJK@charx,
+% \CJK@altchar, \CJK@altcharx,
+% \CJK@punctchar, \CJK@punctcharx,
+% \CJK@sjischar, \CJK@sjispunctchar .
+
+
+% we need to scan comma separated lists of character codes (represented as
+% hexadecimal strings), testing whether a particular character is in the
+% list. The macro \CJK@testInList sets the flag \ifCJK@ globally if true.
+% Parameter #1 is the list, #2 the actual character code to test.
+%
+% see the documentation of the \ifnot@excluded macro in the doc package of
+% the standard LaTeX2e distribution for a detailed explanation of the
+% following tricky definitions.
+
+\newif\ifCJK@
+
+\def\CJK@stop{\CJK@stop}
+
+\def\CJK@testInList#1#2{
+ \def\CJK@tempa##1,#2,##2\CJK@stop{
+ \def\CJK@tempb{##2}
+ \global\CJK@true
+ \ifx\CJK@tempb \@empty
+ \global\CJK@false
+ \fi}
+ \expandafter\CJK@tempa\expandafter,#1,#2,\CJK@stop}
+
+
+% lists defined in CJK.enc for plane yy with encoding xx are assigned to
+% global macros \CJK@xx@yy@prePunct and \CJK@xx@yy@postPunct.
+
+\def\CJK@prePunct#1#2#3{
+ \expandafter\gdef\csname CJK@#1@#2@prePunct\endcsname{#3}}
+
+\def\CJK@postPunct#1#2#3{
+ \expandafter\gdef\csname CJK@#1@#2@postPunct\endcsname{#3}}
+
+
+% the next two functions scan the lists of punctuation characters of a
+% particular plane which should not occur at the beginning or at the end
+% of a line. They will be used in the xxx.chr files. Parameters are the
+% encoding, the plane and the character to be tested. Again these macros
+% raise or lower \ifCJK@.
+
+\def\CJK@testPrePunct#1#2#3{
+ \expandafter\expandafter\expandafter
+ \CJK@testInList
+ \expandafter\csname CJK@#1@#2@prePunct\expandafter\endcsname
+ \expandafter{#3}}
+
+\def\CJK@testPostPunct#1#2#3{
+ \expandafter\expandafter\expandafter
+ \CJK@testInList
+ \expandafter\csname CJK@#1@#2@postPunct\expandafter\endcsname
+ \expandafter{#3}}
+
+
+% the macro \CJKenc changes the encoding inside of a CJK environment. It
+% always uses the fontencoding defined with \CJKfontenc (this
+% behaviour is intentionally different from the similar command pair
+% \CJKfamily and \CJKencfamily).
+
+\DeclareRobustCommand{\CJKenc}[1]{
+ \expandafter\ifx\csname CJK@#1@fontenc\endcsname \relax
+ \PackageError{CJK}{
+ Encoding `#1' is not defined}{}
+ \fi
+
+ \edef\CJK@temp{\csname CJK@#1@fontenc\endcsname}
+
+ \expandafter\ifx\csname CJK@#1\CJK@temp @enc\endcsname \relax
+ \PackageError{CJK}{
+ Encoding `#1\CJK@temp' is not defined}{}
+ \else
+ \CJK@global\edef\CJK@@@enc{#1}
+ \CJK@selectEnc
+ \fi}
+
+\edef\CJK@@@enc{}
+
+% to change a fontencoding yyy for a specific encoding xxx say
+% \CJKfontenc{xxx}{yyy}. If you then change the encoding forth and back,
+% this fontencoding is still valid. You will need this command only in
+% cases where the fonts are not CJK-fontencoded, such as pmC or dnp
+% fontencodings.
+%
+% if you define a new encoding `foo', you *must* supply the command
+% `\CJKfontenc{foo}{}' (note the empty second parameter) since the
+% encoding existence test relies on this.
+
+\DeclareRobustCommand{\CJKfontenc}[2]{
+ \expandafter\CJK@global\expandafter\edef
+ \csname CJK@#1@fontenc\endcsname{#2}
+ \CJK@selectEnc}
+
+% \CJKfamily{xxx} selects the shape xxx for all encodings. It will override
+% \CJKencfamily, i.e., if you change the encoding, the family will be
+% the same. To reactivate \CJKencfamily, say `\CJKfamily{}'.
+%
+% For backward compatibility the macros \CJKshape and \CJKencshape are set
+% to \CJKfamily and \CJKencfamily, respectively.
+
+\DeclareRobustCommand{\CJKfamily}[1]{
+ \CJK@global\edef\CJK@globalfamily{#1}
+ \CJK@selectFamily}
+
+\edef\CJK@globalfamily{}
+
+% to change a family for a specific encoding xxx (and a font encoding yyy),
+% use \CJKencfamily. If you then change the encoding forth and back,
+% this family is still valid. This macro is especially useful with
+% cjk-enc.el since it allows to change the encoding without the need to
+% select a (possibly different) family each time. See the various
+% encoding definitions in CJK.enc for the default values.
+%
+% note that it is equivalent to say \CJKencfamily[yyy]{xxx}{...} and
+% \CJKencfamily{xxxyyy}{...}.
+
+\DeclareRobustCommand{\CJKencfamily}[3][]{
+ \expandafter\CJK@global\expandafter\edef
+ \csname CJK@#2#1@family\endcsname{#3}
+ \CJK@selectFamily}
+
+
+\let\CJKshape \CJKfamily
+\let\CJKencshape \CJKencfamily
+
+
+% the next commands select the actual family and encoding.
+
+\def\CJK@selFam{
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+
+ \ifx\CJK@globalfamily \@empty
+ \CJK@global\edef\CJK@family{
+ \csname CJK@\CJK@@@enc\CJK@temp @family\endcsname}
+ \else
+ \CJK@global\edef\CJK@family{\CJK@globalfamily}
+ \fi}
+
+
+% \CJK@@@enc is the encoding selected by the user, \CJK@enc will be really
+% used. With the internal hook \CJK@@@xxx@hook we can modify \CJK@enc
+% for the encoding xxx if necessary. With the hook \CJK@xxx@hook other
+% packages can add stuff which should be executed immediately after the
+% encoding has changed.
+
+\def\CJK@selEnc{
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+
+ \CJK@global\edef\CJK@enc{
+ \csname CJK@\CJK@@@enc\CJK@temp @nfssenc\endcsname}
+ \csname CJK@@@\CJK@@@enc\CJK@temp @hook\endcsname
+
+ \csname CJK@\CJK@@@enc\CJK@temp @enc\endcsname
+ \CJK@selectFamily
+ \csname CJK@\CJK@@@enc @hook\endcsname}
+
+% and here the user-visible macro to add something to the encoding hook.
+% First parameter is the encoding, second parameter the data to be
+% appended.
+
+\def\CJKaddEncHook#1#2{
+ \expandafter\let\expandafter\CJK@temp \csname CJK@#1@hook\endcsname
+ \expandafter\def\expandafter\CJK@temp\expandafter{
+ \CJK@temp #2}
+ \expandafter\let\csname CJK@#1@hook\endcsname \CJK@temp}
+
+
+% we disable \CJK@selectFamily and \CJK@selectEnc until a CJK environment
+% starts to avoid side effects while defining default values for
+% encodings (outside of a CJK environment).
+
+\let\CJK@selectFamily \relax
+\let\CJK@selectEnc \relax
+
+
+% CJK.enc contains the \CJK@...@enc macros and the punctuation lists.
+
+\input CJK.enc
+
+
+% the macros \CJK@testLastKern and \CJK@testLastCJK check the last kern and
+% raise or lower \ifCJK@.
+
+\edef\CJK@kern{\kern -2sp\kern 2sp}
+\edef\CJK@CJK{\kern -1sp\kern 1sp}
+
+\let\CJKkern \CJK@kern
+
+% does previous CJK character request nonbreakable glue?
+
+\def\CJK@testLastKern{
+ \global\CJK@false
+ \ifnum\lastkern = \tw@
+ \global\CJK@true
+ \fi
+ \ifnum\lastkern = 5% % request from ruby.sty
+ \global\CJK@true
+ \fi}
+
+% is previous character a CJK character?
+
+\def\CJK@testLastCJK{
+ \global\CJK@false
+ \ifnum\lastkern = \@ne
+ \global\CJK@true
+ \fi}
+
+
+% we only check for lower and upper bounds, not for possible gaps in the
+% range of the second byte, as it happens for Big5 and SJIS encoding.
+
+\def\CJK@err{
+ \PackageError{CJK}{
+ Invalid character code}{
+ The second byte of the CJK code is out of range.\MessageBreak
+ Do you use the right encoding scheme?}}
+
+\def\CJK@errx{
+ \PackageError{CJK}{
+ Invalid character code}{
+ The third byte of the CJK code is out of range.\MessageBreak
+ Do you use the right encoding scheme?}}
+
+\def\CJK@errxx{
+ \PackageError{CJK}{
+ Invalid character code}{
+ The CJK code is out of range for this font encoding.\MessageBreak
+ Do you use the right encoding scheme?}}
+
+
+% we now define a set of new size functions:
+% `CJK', `sCJK', `CJKfixed', and `sCJKfixed' are similar to `' (empty),
+% `s', `fixed', and `sfixed' except that the value of \CJK@plane is
+% appended to \font@name.
+%
+% `CJKsub', `CJKssub' are similar to `sub' and `ssub' except that the font
+% substitution warning appears only once per CJK fontset.
+%
+% `CJKb', `sCJKb', `CJKfixedb', and `sCJKfixedb' are absolutely identical
+% to the functions without the final `b'; they just exist to overcome
+% a special feature of LaTeX:
+%
+% consider this example:
+%
+% \DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * ntukai}{}
+% \DeclareFontShape{C00}{kai}{bx}{n}{<-> CJK * ntukai}{\CJKbold}
+%
+% the internal name of the macro which executes the last parameter
+% (\CJKbold) is identical to the fifth parameter (without spaces), in
+% this case `<->CJK*ntukai' -- the same name for both font shapes! This
+% means that the latter font shape definition overwrites the former.
+% Thus we have to write
+%
+% \DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * ntukai}{\CJKbold}
+%
+% to get a different internal macro name.
+
+\def\CJK@curr@fontshape{CJK@\f@encoding/\f@family/\f@series/\f@shape}
+
+\DeclareSizeFunction{CJK}{\CJK@empty\@font@warning}
+\DeclareSizeFunction{CJKb}{\CJK@empty\@font@warning}
+\DeclareSizeFunction{sCJK}{\CJK@empty\@font@info}
+\DeclareSizeFunction{sCJKb}{\CJK@empty\@font@info}
+
+\def\CJK@empty#1{
+ \@tempdimb \f@size\p@
+ \ifx\optional@arg \@empty
+ \else
+ \expandafter\ifx
+ \csname CJK@\mandatory@arg/\f@size/\the\@tempdimb\endcsname \relax
+ \@tempdimb \optional@arg\@tempdimb
+ #1{Font\space shape\space `\curr@fontshape'\space
+ will\space be\MessageBreak
+ scaled\space to\space size\space \the\@tempdimb}
+ \expandafter
+ \gdef\csname CJK@\mandatory@arg/\f@size/\the\@tempdimb\endcsname{}
+ \fi
+ \fi
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\space at \the\@tempdimb}
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+\DeclareSizeFunction{CJKfixed}{\CJK@fixed\@font@warning}
+\DeclareSizeFunction{CJKfixedb}{\CJK@fixed\@font@warning}
+\DeclareSizeFunction{sCJKfixed}{\CJK@fixed\@font@info}
+\DeclareSizeFunction{sCJKfixedb}{\CJK@fixed\@font@info}
+
+\def\CJK@fixed#1{
+ \ifx\optional@arg \@empty
+ \edef\external@font{
+ \mandatory@arg\CJK@plane}
+ \else
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\space at \optional@arg pt}
+ \fi
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ #1{External\space font\space `\external@font'\space loaded\space
+ for\space size\MessageBreak
+ <\f@size>}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+\DeclareSizeFunction{CJKsub}{\CJK@sub\@font@warning}
+\DeclareSizeFunction{CJKssub}{\CJK@sub\@font@info}
+
+\def\CJK@sub#1{
+ \edef\mandatory@arg{\f@encoding/\mandatory@arg}
+ \begingroup
+ \expandafter\split@name\mandatory@arg/\@nil
+ \try@load@fontshape
+ \endgroup
+ \let\f@user@size\f@size
+ \expandafter\ifx\csname\mandatory@arg\endcsname \relax
+ \errmessage{No\space declaration\space for\space shape\space
+ \mandatory@arg}
+ \error@fontshape
+ \else
+ \expandafter\ifx\csname CJK@\mandatory@arg/\f@size\endcsname \relax
+ #1{Font\space shape\space `\curr@fontshape'\MessageBreak
+ in\space size\space <\f@size>\space not\space available.\MessageBreak
+ Font\space shape\space `\mandatory@arg'\MessageBreak
+ tried\space instead}
+ \expandafter\gdef\csname CJK@\mandatory@arg/\f@size\endcsname{}
+ \fi
+ \expandafter\split@name\mandatory@arg/\@nil
+ \fi
+ \edef\f@size{\f@user@size}
+ \get@external@font
+ \do@subst@correction
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+% the following size functions are needed for the DNP fonts in JIS encoding.
+% `DNPgen' is similar to `gen' but ignores the optional argument.
+% `DNP' is similar to `gen' but the optional argument is used to
+% indicate the designsize.
+%
+% see the comment above for an explanation of DNPb and DNPgenb.
+
+\DeclareSizeFunction{DNPgen}{\CJK@DNPgen}
+\DeclareSizeFunction{DNPgenb}{\CJK@DNPgen}
+
+\def\CJK@DNPgen{
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\f@size}
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+\DeclareSizeFunction{DNP}{\CJK@DNP}
+\DeclareSizeFunction{DNPb}{\CJK@DNP}
+
+\def\CJK@DNP{
+ \@tempdimb \f@size\p@
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\optional@arg\space at \the\@tempdimb}
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+
+% we also must redefine \pickup@font to append \CJK@plane to the font name
+% if the particular subfont is already known.
+
+\def\pickup@font{
+ \CJK@ifundefined\CJK@plane
+ {\expandafter\ifx\font@name \relax% % old definition
+ \define@newfont
+ \fi}
+ {\expandafter% % CJK extension
+ \ifx\csname \curr@fontshape/\f@size/\CJK@plane\endcsname \relax
+ \define@newfont
+ \else
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \fi}}
+
+% the other LaTeX2e command we must redefine is \selectfont. It will
+% now reset \ifCJK@bold@ and calls \CJK@curr@fontshape additionally
+% (if it exists) to execute the loading-setting parameter of
+% \DeclareFontShape each time we switch to this font.
+% \CJK@curr@fontshape has been defined by the above size functions.
+
+\DeclareRobustCommand{\selectfont}{
+ \ifx\f@linespread \baselinestretch
+ \else
+ \set@fontsize\baselinestretch\f@size\f@baselineskip
+ \fi
+ \xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}
+ \pickup@font
+ \font@name
+ \expandafter% % CJK extension
+ \ifx\csname CJK@\curr@fontshape\endcsname \relax
+ \else
+ \CJK@bold@false
+ \csname CJK@\curr@fontshape\endcsname
+ \fi
+ \size@update
+ \enc@update}
+
+
+% additional vertical and horizontal information for a font is stored in
+% files with the extension `.fdx'. We extend LaTeX's
+% \try@load@fontshape@ macro to load them.
+%
+% the macros \CJKhdef, \CJKvdef, \CJKhlet and \CJKvlet should be used to
+% handle commands in `.fdx' files.
+
+\def\CJK@load@fdx{
+ \expandafter\ifx\csname \f@encoding+\f@family+x\endcsname \relax
+ \global\expandafter\let\csname \f@encoding+\f@family+x\endcsname \@empty
+ \def\CJKhdef##1##2{
+ \expandafter\gdef\csname \CJK@enc/\CJK@family/##1/h\endcsname{##2}}
+ \def\CJKhlet##1##2{
+ \edef\reserved@a{\CJK@enc/\CJK@family/##1/h}
+ \edef\reserved@b{\CJK@enc/\CJK@family/##2/h}
+ \global\expandafter\let
+ \csname\reserved@a\expandafter\endcsname \csname\reserved@b\endcsname}
+ \def\CJKvdef##1##2{
+ \expandafter\gdef\csname \CJK@enc/\CJK@family/##1/v\endcsname{##2}}
+ \def\CJKvlet##1##2{
+ \edef\reserved@a{\CJK@enc/\CJK@family/##1/v}
+ \edef\reserved@b{\CJK@enc/\CJK@family/##2/v}
+ \global\expandafter\let
+ \csname\reserved@a\expandafter\endcsname \csname\reserved@b\endcsname}
+ \edef\reserved@a{
+ \lowercase{\noexpand\InputIfFileExists{\f@encoding\f@family.fdx}}}
+ \reserved@a{}{}
+ \fi}
+
+\expandafter\def\expandafter\try@load@fontshape\expandafter{
+ \try@load@fontshape
+ \CJK@load@fdx}
+
+
+% \CJKglue defines the stretchability of CJK characters.
+
+\newcommand{\CJKglue}{\hskip \z@ \@plus .08\baselineskip}
+
+\def\CJK@nobreakglue{
+ \nobreak
+ \CJKglue
+ \nobreak}
+
+% if the `verbatim' package is loaded it is possible to improve the output
+% automatically, namely, to avoid breaking of overfull lines in a
+% verbatim environment. The following command will install a hook to
+% suppress insertion of glue between CJK glyphs. MULEenc.sty will extend
+% it for Thai glyphs.
+
+\def\CJK@verbatim{
+ \addto@hook{\every@verbatim}{
+ \renewcommand{\CJKglue}{}}}
+\CJK@ifundefined\mule@verbatim
+ {\mule@verbatim{}}
+ {}
+
+\def\CJKverbatim{
+ \mule@verbatim
+ \CJK@verbatim}
+
+
+% increasing \CJKtolerance will allow more space between Hangul words.
+
+\newcommand{\CJKtolerance}{400}
+
+
+% \CJKtilde changes the definition of the active `~' character to embed
+% non-CJK words into CJK text. The horizontal space defined here has
+% a smaller width than an ordinary space character and is breakable.
+% It will suppress spaces afterwards.
+% The original definition will be preserved within \nbs, which is
+% a shorthand for the LaTeX command \nobreakspace.
+%
+% \standardtilde is the opposite command.
+
+\let\nbs \nobreakspace
+
+\newcommand{\CJKtilde}{
+ \CJK@global\def~{\hspace{0.25em plus 0.125em minus 0.08em}\ignorespaces}}
+\newcommand{\standardtilde}{
+ \CJK@global\def~{\nobreakspace{}}}
+
+
+% \CJKspace and \CJKnospace enables the user to switch between a CJK and a
+% CJK* environment without leaving the actual environment:
+%
+% \CJKnospace switches from CJK to CJK*
+% \CJKspace switches from CJK* to CJK
+%
+% the definitions are in MULEenc.sty also.
+
+\providecommand{\CJKspace}{
+ \CJK@global\let\CJK@ignorespaces \@empty}
+\providecommand{\CJKnospace}{
+ \CJK@global\let\CJK@ignorespaces \ignorespaces}
+
+
+% \CJKindent sets \parindent to two ideographic spaces. \CJK@spaceChar
+% is defined in CJK.enc for all encodings.
+
+\newbox\CJK@indent
+
+\providecommand{\CJKindent}{
+ \setbox\CJK@indent\hbox{\CJK@spaceChar\CJK@spaceChar}
+ \parindent\wd\CJK@indent
+}
+
+
+% make all characters possibly used active so they can become macros.
+
+\def\CJK@makeActive{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@active\catcode\@tempcnta \active
+ \ifnum\@tempcnta < "0FE\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+\def\CJK@makeInactive{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@active\catcode\@tempcnta 12\relax
+ \ifnum\@tempcnta < "0FE\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+
+% we assign to each active character ^^xx the macro \CJK@XX (if expansion
+% occurs); this will be done in the .bdg files. Then the various .enc
+% files define \CJK@.. (using \CJK@namegdef) with encoding-specific
+% macros.
+
+\def\CJK@namedef#1{
+ \CJK@active\def#1{
+ \ifx\protect \@typeset@protect
+ \string #1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@namepdef#1{
+ \CJK@active\def#1{
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@X
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@nameppdef#1{
+ \CJK@active\def#1{
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XX
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@namepppdef#1{
+ \CJK@active\def#1{
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XXX
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@nameppppdef#1{
+ \CJK@active\def#1{
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XXXX
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+
+\def\CJK@X#1{
+ \csname CJK@\number `#1\endcsname\CJK@ignorespaces}
+
+% two possibilities:
+% either \CJK@XX <arg1> <arg2>
+% or \CJK@XX <arg1> \protect <arg2>
+\def\CJK@XX#1#2{
+ \ifx #2\protect
+ \expandafter\CJK@XXp\expandafter#1
+ \else
+ \csname CJK@\number `#1\endcsname{`#2}\CJK@ignorespaces
+ \fi}
+\def\CJK@XXp#1#2{
+ \csname CJK@\number `#1\endcsname{`#2}\CJK@ignorespaces}
+
+% two possibilities:
+% either \CJK@XXX <arg1> <arg2> <arg3>
+% or \CJK@XXX <arg1> \protect <arg2> \protect <arg3>
+\def\CJK@XXX#1#2#3{
+ \ifx #2\protect
+ \expandafter\CJK@XXXp\expandafter#1#3
+ \else
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}\CJK@ignorespaces
+ \fi}
+\def\CJK@XXXp#1#2#3#4{
+ \csname CJK@\number `#1\endcsname{`#2}{`#4}\CJK@ignorespaces}
+
+% two possibilities:
+% either \CJK@XXXX <arg1> <arg2> <arg3> <arg4>
+% or \CJK@XXXX <arg1> \protect <arg2> \protect <arg3> \protect <arg4>
+\def\CJK@XXXX#1#2#3#4{
+ \ifx #2\protect
+ \expandafter\CJK@XXXXp\expandafter#1#3
+ \else
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}{`#4}\CJK@ignorespaces
+ \fi}
+\def\CJK@XXXXp#1#2#3#4#5{
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}{`#5}\CJK@ignorespaces}
+
+
+% these auxiliary macros reset \lccode's and \uccode's of characters
+% 0x80-0xFF. This overrides the values set by LaTeX2e.
+
+\def\CJK@upperReset{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@local\uccode\@tempcnta \z@
+ \ifnum\@tempcnta < "0FF\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+\def\CJK@lowerReset{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@local\lccode\@tempcnta \z@
+ \ifnum\@tempcnta < "0FF\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+
+% finally come the CJK environments:
+%
+% CJK* will swallow spaces after a CJK character, whereas CJK will not.
+%
+% the first parameter selects the CJK encoding, the second the CJK font
+% family; the optional argument selects the fontencoding.
+%
+% each time a CJK or CJK* environment will be opened the hook \CJKhook will
+% be called (this feature is used by cjk-enc.el).
+%
+% always end the line after saying \begin{CJK} or \begin{CJK*};
+% any characters on the same line will have already been read with
+% their non-CJK meanings.
+
+\def\CJK@envStart#1#2#3{
+ \CJK@upperReset
+ \ifCJK@lowercase@
+ \CJK@lowerReset
+ \fi
+
+ \CJK@makeActive
+
+ % we enable \CJK@selectFamily and \CJK@selectEnc.
+
+ \CJK@global\let\CJK@selectFamily \CJK@selFam
+ \CJK@global\let\CJK@selectEnc \CJK@selEnc
+
+ \def\CJK@@@enc{#2}
+ \ifx\CJK@@@enc \@empty
+ \PackageInfo{CJK}{
+ no encoding parameter given,\MessageBreak
+ waiting for \protect\CJKenc\space commands}
+ \else
+ \CJKenc{#2}
+ \fi
+ \CJKfontenc{#2}{#1}
+ \CJKfamily{#3}
+ \def\CJK@series{\f@series}
+ \def\CJK@shape{\f@shape}
+
+ \csname CJKhook\endcsname}
+
+\def\CJK@envEnd{
+ \ifx\CJK@global \global
+ \CJK@makeInactive
+ \CJK@global\let\CJK@selectFamily \relax
+ \CJK@global\let\CJK@selectEnc \relax
+ \fi}
+
+\newenvironment{CJK}[3][]{
+ \CJKspace
+ \CJK@envStart{#1}{#2}{#3}
+ }{
+ \CJK@envEnd}
+
+\newenvironment{CJK*}[3][]{
+ \CJKnospace
+ \CJK@envStart{#1}{#2}{#3}
+ }{
+ \CJK@envEnd}
+
+
+% \CJKcaption{caption} will test whether we are in a CJK environment; if yes,
+% it tries to load `<caption>.cpx' (this is <caption>.cap in preprocessed
+% mode).
+
+\newcommand{\CJKcaption}[1]{
+ \ifx\CJK@actualBinding \@empty
+ \PackageError{CJK}{
+ You must be inside of a CJK environment to use \protect\CJKcaption}{}
+ \else
+ \makeatletter
+ \InputIfFileExists{#1.cpx}{}{
+ \PackageError{CJK}{
+ Can't find #1.cpx}{
+ The default captions are used if you continue.}}
+ \makeatother
+ \fi}
+
+
+% the writing direction.
+
+\def\CJK@direction{h}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+
+% in case some customization is necessary it should be done in the
+% configuration file `CJK.cfg' and *not* here.
+
+\InputIfFileExists{CJK.cfg}
+ {\typeout{^^J
+ *****************************************^^J
+ * Local configuration file CJK.cfg used *^^J
+ *****************************************^^J}}
+ {}
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CJKfntef.sty b/Master/texmf-dist/tex/latex/cjk/CJKfntef.sty
new file mode 100644
index 00000000000..5cf65d2fbfe
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CJKfntef.sty
@@ -0,0 +1,416 @@
+% This is the file CJKfntef.sty of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Wenchang Sun <sunwch@hotmail.com>
+% Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+%
+% Macros:
+% \CJKunderdot{...}
+% \CJKunderline[*]{...}
+% \CJKunderdblline[*]{...}
+% \CJKunderwave[*]{...}
+% \CJKsout[*]{...}
+% \CJKxout[*]{...}
+%
+% The following nesting combinations are allowed:
+%
+% \CJKunderdot{...\CJKunderline[*]{...}...}
+% \CJKunderdot{...\CJKunderdblline[*]{...}...}
+% \CJKunderdot{...\CJKunderwave[*]{...}...}
+% \CJKunderdot{...\CJKsout[*]{...}...}
+% \CJKunderdot{...\CJKxout[*]{...}...}
+%
+% \CJKunderline[*]{...\CJKunderdot{...}...}
+% \CJKunderdblline[*]{...\CJKunderdot{...}...}
+% \CJKunderwave[*]{...\CJKunderdot{...}...}
+% \CJKsout[*]{...\CJKunderdot{...}...}
+% \CJKxout[*]{...\CJKunderdot{...}...}
+%
+% Environment:
+% CJKfilltwosides
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[1998/06/01]
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesPackage{CJKfntef}[\filedate\space\fileversion]
+
+\RequirePackage{CJK}
+\RequirePackage{CJKulem}
+
+
+\endlinechar \m@ne
+
+\ifx\CJKpunctsymbol\undefined
+ \PackageWarning{CJKfntef}{
+ You need to download the last version of the CJK package\MessageBreak
+ to keep CJK punctuation from being underdotted}
+ \let\CJKpunctsymbol\CJKsymbol
+\fi
+
+
+\newskip\CJK@fntefSkip
+\newcount\CJK@nest
+\newdimen\CJK@fntefDimen
+\newbox\CJK@underdotBox
+\newbox\CJK@ULbox
+
+\newif\ifCJK@UL@
+\CJK@UL@false
+\newif\ifCJK@sxout@
+\CJK@sxout@false
+
+
+\newcommand{\CJKunderdotbasesep}{0.05em}
+\newcommand{\CJKunderdotsep}{0.04em}
+\newcommand{\CJKunderlinebasesep}{0.20em}
+\newcommand{\CJKunderlinesep}{0.07em}
+\newcommand{\CJKunderdbllinebasesep}{0.20em}
+\newcommand{\CJKunderdbllinesep}{0.17em}
+\newcommand{\CJKunderwavebasesep}{0.20em}
+\newcommand{\CJKunderwavesep}{0.00em}
+\newcommand{\CJKsoutheight}{0.35em}
+
+
+\ifx\color\undefined
+ \def\CJKunderdotcolor{}
+ \def\CJKunderwavecolor{}
+ \def\CJKunderlinecolor{}
+ \def\CJKunderdbllinecolor{}
+ \def\CJKsoutcolor{}
+ \def\CJKxoutcolor{}
+\else
+ \def\CJKunderdotcolor{\color{red}}
+ \def\CJKunderwavecolor{\color{blue}}
+ \def\CJKunderlinecolor{\color{blue}}
+ \def\CJKunderdbllinecolor{\color{blue}}
+ \def\CJKsoutcolor{\color{red}}
+ \def\CJKxoutcolor{\color{blue}}
+\fi
+
+
+%
+% \CJKunderdot:
+% Add a dot under every CJK non-punctuation character. The dot position
+% can be controlled by redefining \CJKunderdotsep (for nesting) and
+% \CJKunderdotbasesep.
+%
+% The dot color can be changed by redefining \CJKunderdotcolor.
+%
+\def\CJK@underdotSkip{\z@}
+
+\def\CJK@preUnderdot{
+ \ifnum\CJK@nest = \z@
+ \global\advance\CJK@fntefSkip \CJKunderdotbasesep
+ \fi
+ \global\advance\CJK@nest \@ne
+
+ \xdef\CJK@underdotSkip{\the\CJK@fntefSkip}
+ \global\advance\CJK@fntefSkip \CJKunderdotsep
+
+ \global\setbox\CJK@underdotBox\hbox{{
+ \CJKunderdotcolor
+ {$\cdot$}}}
+ \global\advance\CJK@fntefSkip \ht\CJK@underdotBox
+ \global\advance\CJK@fntefSkip \dp\CJK@underdotBox}
+
+\def\CJK@postUnderdot{
+ \global\advance\CJK@fntefSkip -\CJKunderdotsep
+ \global\advance\CJK@fntefSkip -\ht\CJK@underdotBox
+ \global\advance\CJK@fntefSkip -\dp\CJK@underdotBox
+ \gdef\CJK@underdotSkip{\z@}
+
+ \global\advance\CJK@nest \m@ne
+ \ifnum\CJK@nest = \z@
+ \global\advance\CJK@fntefSkip -\CJKunderdotbasesep
+ \fi}
+
+\newcommand{\CJKunderdot}[1]{
+ \CJK@preUnderdot
+
+ \global\let\CJK@underdotSymbol \CJKsymbol
+ \gdef\CJKsymbol##1{
+ \CJK@underdotSymbol{##1}
+ \settowidth\CJK@fntefDimen{\CJK@underdotSymbol{##1}}
+
+ \leavevmode
+ \rlap{
+ \vbox to \z@ {
+ \vskip\CJK@underdotSkip
+ \hbox to \z@ {
+ \hskip -\CJK@fntefDimen
+ \hss
+ \copy\CJK@underdotBox
+ \hss}
+ \hskip -\CJK@fntefDimen
+ \vss}}}
+ #1
+ \global\let\CJKsymbol \CJK@underdotSymbol
+
+ \CJK@postUnderdot
+ \ignorespaces}
+
+
+%
+% Auxiliary macros needed by \CJKunderline and friends.
+%
+\def\UL@CJKpunctnobreakglue{
+ \ifx\ \LA@space
+ \LA@CJKglue
+ \else
+ \egroup
+ \UL@stop
+ \UL@start
+ \bgroup
+ \fi}
+
+\def\CJK@fntefSave{
+ \global\let\UL@UL@CJKnobreakglue \UL@CJKnobreakglue
+ \global\let\UL@CJKsymbol \CJKsymbol
+ \global\let\UL@CJKpunctsymbol \CJKpunctsymbol}
+
+\def\CJK@fntefRestore{
+ \global\let\UL@CJKnobreakglue \UL@UL@CJKnobreakglue
+ \global\let\CJKsymbol \UL@CJKsymbol
+ \global\let\CJKpunctsymbol \UL@CJKpunctsymbol}
+
+\def\CJK@preUL{
+ \ifCJK@UL@
+ \PackageError{CJKfntef}
+ {Nesting error}
+ {Nesting \string\CJKunderwave[*], \string\CJKunderline[*],
+ \string\CJKsout[*], \string\CJKxout[*],\MessageBreak
+ or \string\CJKunderdblline[*] is not supported.}
+ \else
+ \global\CJK@UL@true
+ \fi
+ \ifCJK@sxout@
+ \gdef\CJK@ULskip{\z@}
+ \else
+ \ifnum\CJK@nest = \z@
+ \global\advance\CJK@fntefSkip \CJK@ULbasesep
+ \fi
+ \global\advance\CJK@nest \@ne
+
+ \global\advance\CJK@fntefSkip \ht\CJK@ULbox
+ \global\advance\CJK@fntefSkip \dp\CJK@ULbox
+
+ \xdef\CJK@ULskip{\the\CJK@fntefSkip}
+ \global\advance\CJK@fntefSkip \CJK@ULsep
+ \fi}
+
+\def\CJK@postUL{
+ \global\CJK@UL@false
+
+ \ifCJK@sxout@
+ \global\CJK@sxout@false
+ \else
+ \global\advance\CJK@fntefSkip -\CJK@ULsep
+ \global\advance\CJK@fntefSkip -\ht\CJK@ULbox
+ \global\advance\CJK@fntefSkip -\dp\CJK@ULbox
+
+ \global\advance\CJK@nest \m@ne
+ \ifnum\CJK@nest = \z@
+ \global\advance\CJK@fntefSkip -\CJK@ULbasesep
+ \fi
+ \fi}
+
+\def\CJK@UL{
+ \CJK@preUL
+ \CJK@fntefSave
+
+ \global\let\UL@CJKnobreakglue \UL@CJKpunctnobreakglue
+ \gdef\CJKsymbol{
+ \gdef\UL@leadtype{\leaders\copy\ULC@box}
+ \UL@CJKsymbol}
+ \gdef\CJKpunctsymbol{
+ \gdef\UL@leadtype{}
+ \UL@CJKpunctsymbol}
+
+ \bgroup
+ \markoverwith{
+ \lower\CJK@ULskip\copy\CJK@ULbox}
+ \aftergroup\CJK@fntefRestore
+ \aftergroup\CJK@postUL
+ \ULon}
+
+\def\CJK@@UL{
+ \CJK@preUL
+ \bgroup
+ \markoverwith{
+ \lower\CJK@ULskip\copy\CJK@ULbox}
+ \aftergroup\CJK@postUL
+ \ULon}
+
+
+%
+% \CJKunderwave*:
+% The same as \uwave except that the wavy line is colored (you can change
+% the color by redefining \CJKunderwavecolor), and the position can be
+% controlled by redefining \CJKunderwavesep (for nesting) and
+% \CJKunderwavebasesep.
+%
+% \CJKunderwave:
+% The same as \CJKunderwave* but ignoring CJK punctuation characters.
+%
+\newcommand{\CJKunderwave}{
+ \global\let\CJK@ULsep \CJKunderwavesep
+ \global\let\CJK@ULbasesep \CJKunderwavebasesep
+ \global\setbox\CJK@ULbox\hbox{{
+ \CJKunderwavecolor
+ \sixly
+ \char 58}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKunderline*:
+% The same as \uline except that the line is colored (you can change the
+% color by redefining \CJKunderlinecolor), and the position can be
+% controlled by redefining \CJKunderlinesep (for nesting) and
+% \CJKunderlinebasesep.
+%
+% \CJKunderline:
+% The same as \CJKunderline* but ignoring CJK punctuation characters.
+%
+\newcommand{\CJKunderline}{
+ \global\let\CJK@ULsep \CJKunderlinesep
+ \global\let\CJK@ULbasesep \CJKunderlinebasesep
+ \global\setbox\CJK@ULbox\hbox{{
+ \CJKunderlinecolor
+ \vtop{\hrule \@height \ULthickness \@width .2em}}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKunderdblline[*]:
+% The same as \CJKunderline[*] except that two lines are used for
+% underlining.
+%
+\newcommand{\CJKunderdblline}{
+ \global\let\CJK@ULsep \CJKunderdbllinesep
+ \global\let\CJK@ULbasesep \CJKunderdbllinebasesep
+
+ \global\setbox\CJK@ULbox\hbox{{
+ \CJKunderdbllinecolor
+ \vtop{
+ \kern -.07em
+ \hrule \@height\ULthickness \@width .2em
+ \kern 1.1\p@
+ \hrule}}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKsout*:
+% The same as \sout except that the line is colored (you can change the
+% color by redefining \CJKsoutcolor), and the position can be controlled
+% by redefining \CJKsoutheight.
+%
+% \CJKsout:
+% The same as \CJKsout* but ignoring CJK punctuation characters.
+%
+\def\CJKsout{
+ \global\CJK@sxout@true
+ \global\setbox\CJK@ULbox\hbox{{
+ \CJKsoutcolor
+ \vtop{
+ \kern -\CJKsoutheight
+ \hrule \@height\ULthickness \@width .2em}}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKxout*:
+% The same as \xout except using colored `/' (you can change the color
+% by redefining \CJKxoutcolor).
+%
+% \CJKxout:
+% The same as \CJKxout* but ignoring CJK punctuation characters.
+%
+\def\CJKxout{
+ \global\CJK@sxout@true
+ \global\setbox\CJK@ULbox\hbox{{
+ \kern -0.1em
+ {\CJKxoutcolor $/$}
+ \kern -0.1em}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% CJKfilltwosides environment:
+% Align CJK characters to fill two sides.
+%
+% Usage:
+% \begin{CJKfilltwosides}{width}
+% first line \\
+% second line \\
+% ... \\
+% last line
+% \end{CJKfilltwosides}
+%
+\newif\ifCJK@fillbegin@
+\global\CJK@fillbegin@false
+\newif\ifCJK@filltwosides@
+\global\CJK@filltwosides@false
+
+\newenvironment{CJKfilltwosides}[1]{
+ \leavevmode
+ \vbox\bgroup
+ \global\CJK@filltwosides@true
+ \global\let\CJK@filltwosidesSymbol \CJKsymbol
+
+ \def\CJK@ftscr{
+ \egroup
+ \global\CJK@fillbegin@false
+ \hbox to #1\bgroup
+ \ignorespaces}
+
+ \let\\ \CJK@ftscr
+
+ \def\CJKsymbol##1{
+ \ifCJK@fillbegin@
+ \hfill
+ \CJK@filltwosidesSymbol{##1}
+ \else
+ \CJK@filltwosidesSymbol{##1}
+ \global\CJK@fillbegin@true
+ \fi}
+
+ \hbox to #1\bgroup
+ \ignorespaces
+ }{
+ \egroup
+ \egroup
+
+ \global\let\CJKsymbol \CJK@filltwosidesSymbol
+ \global\CJK@fillbegin@false
+ \global\CJK@filltwosides@false}
+
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CJKnumb.sty b/Master/texmf-dist/tex/latex/cjk/CJKnumb.sty
new file mode 100644
index 00000000000..f9e8f7aeb88
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CJKnumb.sty
@@ -0,0 +1,399 @@
+% This is the file CJKnumb.sty of the CJK package
+% for typesetting numbers with CJK glyphs.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+%
+%
+% Say e.g. \CJKnumber{153} to get a CJK representation of this number.
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesPackage{CJKnumb}[\filedate\space\fileversion]
+
+\RequirePackage{CJK}[2008/05/22]
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+
+% the amount of space to be inserted before and after the circle
+% representing zero
+
+\def\CJKnullspace{0pt}
+
+
+% generic number macros. We add them to the CJK encoding hooks.
+
+\def\CJK@traditionalNumbers{
+ % circle used for zero
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{179}\kern\CJKnullspace}
+ % character used for zero
+ \def\CJK@zero{\CJKchar{185}{115}}
+ \def\CJK@one{\CJKchar{164}{64}}
+ \def\CJK@two{\CJKchar{164}{71}}
+ \def\CJK@three{\CJKchar{164}{84}}
+ \def\CJK@four{\CJKchar{165}{124}}
+ \def\CJK@five{\CJKchar{164}{173}}
+ \def\CJK@six{\CJKchar{164}{187}}
+ \def\CJK@seven{\CJKchar{164}{67}}
+ \def\CJK@eight{\CJKchar{164}{75}}
+ \def\CJK@nine{\CJKchar{164}{69}}
+ \def\CJK@ten{\CJKchar{164}{81}}
+ \def\CJK@hundred{\CJKchar{166}{202}}
+ \def\CJK@thousand{\CJKchar{164}{100}}
+ \def\CJK@tenthousand{\CJKchar{184}{85}}
+ \def\CJK@hundredmillion{\CJKchar{187}{245}}
+
+ \def\CJK@minus{\CJKchar{161}{208}}}
+
+\CJKaddEncHook{Bg5}{\CJK@traditionalNumbers}
+\CJKaddEncHook{Bg5+}{\CJK@traditionalNumbers}
+\CJKaddEncHook{HK}{\CJK@traditionalNumbers}
+
+\def\CJK@simplifiedNumbers{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{240}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{193}{227}}
+ \def\CJK@one{\CJKchar{210}{187}}
+ \def\CJK@two{\CJKchar{182}{254}}
+ \def\CJK@three{\CJKchar{200}{253}}
+ \def\CJK@four{\CJKchar{203}{196}}
+ \def\CJK@five{\CJKchar{206}{229}}
+ \def\CJK@six{\CJKchar{193}{249}}
+ \def\CJK@seven{\CJKchar{198}{223}}
+ \def\CJK@eight{\CJKchar{176}{203}}
+ \def\CJK@nine{\CJKchar{190}{197}}
+ \def\CJK@ten{\CJKchar{202}{174}}
+ \def\CJK@hundred{\CJKchar{176}{217}}
+ \def\CJK@thousand{\CJKchar{199}{167}}
+ \def\CJK@tenthousand{\CJKchar{205}{242}}
+ \def\CJK@hundredmillion{\CJKchar{210}{218}}
+
+ \def\CJK@minus{\CJKchar{163}{173}}}
+
+\CJKaddEncHook{GB}{\CJK@simplifiedNumbers}
+\CJKaddEncHook{GBK}{\CJK@simplifiedNumbers}
+
+\CJKaddEncHook{JIS}{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{251}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{206}{237}}
+ \def\CJK@one{\CJKchar{176}{236}}
+ \def\CJK@two{\CJKchar{198}{243}}
+ \def\CJK@three{\CJKchar{187}{176}}
+ \def\CJK@four{\CJKchar{187}{205}}
+ \def\CJK@five{\CJKchar{184}{222}}
+ \def\CJK@six{\CJKchar{207}{187}}
+ \def\CJK@seven{\CJKchar{188}{183}}
+ \def\CJK@eight{\CJKchar{200}{172}}
+ \def\CJK@nine{\CJKchar{182}{229}}
+ \def\CJK@ten{\CJKchar{189}{189}}
+ \def\CJK@hundred{\CJKchar{201}{180}}
+ \def\CJK@thousand{\CJKchar{192}{233}}
+ \def\CJK@tenthousand{\CJKchar{232}{223}}
+ \def\CJK@hundredmillion{\CJKchar{178}{175}}
+
+ \def\CJK@minus{\CJKchar{161}{221}}}
+
+\CJKaddEncHook{KS}{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{219}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{214}{195}}
+ \def\CJK@one{\CJKchar{236}{233}}
+ \def\CJK@two{\CJKchar{236}{163}}
+ \def\CJK@three{\CJKchar{223}{178}}
+ \def\CJK@four{\CJKchar{222}{204}}
+ \def\CJK@five{\CJKchar{231}{233}}
+ \def\CJK@six{\CJKchar{215}{191}}
+ \def\CJK@seven{\CJKchar{246}{210}}
+ \def\CJK@eight{\CJKchar{248}{162}}
+ \def\CJK@nine{\CJKchar{206}{250}}
+ \def\CJK@ten{\CJKchar{228}{168}}
+ \def\CJK@hundred{\CJKchar{219}{221}}
+ \def\CJK@thousand{\CJKchar{244}{182}}
+ \def\CJK@tenthousand{\CJKchar{216}{191}}
+ \def\CJK@hundredmillion{\CJKchar{229}{226}}
+
+ \def\CJK@minus{\CJKchar{163}{173}}}
+
+\CJKaddEncHook{SJIS}{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{129}{155}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{151}{235}}
+ \def\CJK@one{\CJKchar{136}{234}}
+ \def\CJK@two{\CJKchar{147}{241}}
+ \def\CJK@three{\CJKchar{142}{79}}
+ \def\CJK@four{\CJKchar{142}{108}}
+ \def\CJK@five{\CJKchar{140}{220}}
+ \def\CJK@six{\CJKchar{152}{90}}
+ \def\CJK@seven{\CJKchar{142}{181}}
+ \def\CJK@eight{\CJKchar{148}{170}}
+ \def\CJK@nine{\CJKchar{139}{227}}
+ \def\CJK@ten{\CJKchar{143}{92}}
+ \def\CJK@hundred{\CJKchar{149}{83}}
+ \def\CJK@thousand{\CJKchar{144}{231}}
+ \def\CJK@tenthousand{\CJKchar{228}{221}}
+ \def\CJK@hundredmillion{\CJKchar{137}{173}}
+
+ \def\CJK@minus{\CJKchar{129}{124}}}
+
+\CJKaddEncHook{\CJK@UnicodeEnc}{
+ \def\CJK@null{\kern\CJKnullspace\Unicode{37}{203}\kern\CJKnullspace}
+ \def\CJK@zero{\Unicode{150}{246}}
+ \def\CJK@one{\Unicode{78}{0}}
+ \def\CJK@two{\Unicode{78}{140}}
+ \def\CJK@three{\Unicode{78}{9}}
+ \def\CJK@four{\Unicode{86}{219}}
+ \def\CJK@five{\Unicode{78}{148}}
+ \def\CJK@six{\Unicode{81}{109}}
+ \def\CJK@seven{\Unicode{78}{3}}
+ \def\CJK@eight{\Unicode{81}{107}}
+ \def\CJK@nine{\Unicode{78}{93}}
+ \def\CJK@ten{\Unicode{83}{65}}
+ \def\CJK@hundred{\Unicode{118}{126}}
+ \def\CJK@thousand{\Unicode{83}{67}}
+ \def\CJK@tenthousand{\Unicode{132}{44}}
+ \def\CJK@hundredmillion{\Unicode{81}{4}}
+
+ \def\CJK@minus{\Unicode{255}{13}}}
+
+
+\newif\ifCJK@zero@
+\newif\ifCJK@previous@
+
+\newif\ifCJK@null@
+
+
+\newcount\CJK@q
+\newcount\CJK@r
+
+
+\def\CJK@digit#1{
+ \ifcase #1\relax
+ \ifCJK@null@ \CJK@null \else \CJK@zero \fi \or
+ \CJK@one \or
+ \CJK@two \or
+ \CJK@three \or
+ \CJK@four \or
+ \CJK@five \or
+ \CJK@six \or
+ \CJK@seven \or
+ \CJK@eight \or
+ \CJK@nine
+ \fi}
+
+
+% This macro splits the number in zzyyyyxxxx (2^^31-1 is the largest
+% possible integer in TeX); zz is \CJK@yi, yyyy is \CJK@high, and
+% xxxx is \CJK@low.
+
+\def\CJK@splitnumber#1{
+ \CJK@q #1
+ \CJK@r #1
+
+ \divide\CJK@q \@M
+ \begingroup
+ \multiply\CJK@q \@M
+ \advance\CJK@r -\CJK@q
+ \ifnum\CJK@r = \z@
+ \xdef\CJK@low{}
+ \else
+ \xdef\CJK@low{\number\CJK@r}
+ \fi
+ \endgroup
+
+ \ifnum\CJK@q > \z@
+ \CJK@r \CJK@q
+
+ \divide\CJK@q \@M
+ \begingroup
+ \multiply\CJK@q \@M
+ \advance\CJK@r -\CJK@q
+ \ifnum\CJK@r = \z@
+ \xdef\CJK@high{}
+ \else
+ \xdef\CJK@high{\number\CJK@r}
+ \fi
+ \endgroup
+
+ \ifnum\CJK@q > \z@
+ \xdef\CJK@yi{\number\CJK@q}
+ \else
+ \xdef\CJK@yi{}
+ \fi
+ \else
+ \xdef\CJK@high{}
+ \xdef\CJK@yi{}
+ \fi
+}
+
+% Here we process four digits
+
+\def\CJK@processnumber#1{
+ \CJK@zero@false
+
+ \CJK@q #1
+ \CJK@r #1
+
+ \divide\CJK@q \@m
+ \ifnum\CJK@q = \z@
+ \ifCJK@previous@
+ \CJK@zero@true
+ \fi
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \CJK@digit{\CJK@q}
+ \CJK@thousand
+ \CJK@previous@true
+ \CJK@zero@false
+ \fi
+
+ \multiply\CJK@q \@m
+ \advance\CJK@r -\CJK@q
+ \CJK@q \CJK@r
+
+ \divide\CJK@q 100\relax
+ \ifnum\CJK@q = \z@
+ \ifCJK@previous@
+ \CJK@zero@true
+ \fi
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \CJK@digit{\CJK@q}
+ \CJK@hundred
+ \CJK@previous@true
+ \CJK@zero@false
+ \fi
+
+ \multiply\CJK@q 100
+ \advance\CJK@r -\CJK@q
+ \CJK@q \CJK@r
+
+ \divide \CJK@q 10\relax
+ \ifnum\CJK@q = \z@
+ \ifCJK@previous@
+ \CJK@zero@true
+ \fi
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \ifnum\CJK@q = \@ne
+ \ifCJK@previous@
+ \CJK@one
+ \fi
+ \else
+ \CJK@digit{\CJK@q}
+ \fi
+ \CJK@ten
+ \CJK@previous@true
+ \CJK@zero@false
+ \fi
+
+ \multiply\CJK@q 10
+ \advance\CJK@r -\CJK@q
+
+ \ifnum\CJK@r = \z@
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \CJK@digit{\CJK@r}
+ \CJK@previous@true
+ \fi
+}
+
+
+% this command provides a full CJK representation of a number.
+
+\DeclareRobustCommand\CJKnumber[1]{
+ \CJK@null@false
+
+ \CJK@q #1\relax
+
+ \ifnum\CJK@q < \z@
+ \multiply\CJK@q \m@ne
+ \CJK@minus
+ \CJKkern
+ \fi
+
+ \CJK@previous@false
+ \CJK@zero@false
+
+ \ifnum\CJK@q = \z@
+ \CJK@zero
+ \else
+ \CJK@splitnumber{\CJK@q}
+
+ \ifx\CJK@yi \@empty
+ \else
+ \CJK@processnumber{\CJK@yi}
+ \CJK@hundredmillion
+ \fi
+
+ \ifx\CJK@high \@empty
+ \else
+ \CJK@processnumber{\CJK@high}
+ \CJK@tenthousand
+ \fi
+
+ \ifx\CJK@low \@empty
+ \else
+ \ifx\CJK@yi \@empty
+ \else
+ \ifx\CJK@high \@empty
+ \CJK@zero % this catches 100002345
+ \fi
+ \fi
+ \CJK@processnumber{\CJK@low}
+ \fi
+ \fi}
+
+
+% this command simply converts the given string into CJK digits.
+
+\DeclareRobustCommand\CJKdigits[1]{
+ {\CJK@null@true
+ \edef\CJK@tempa{}
+ \edef\CJK@tempb{#1}
+ \ifx\CJK@tempb \@empty
+ \else
+ \loop
+ \expandafter\CJK@getDigit\CJK@tempb\CJK@stop
+ \CJK@digit\CJK@tempa
+ \ifx\CJK@tempb \@empty
+ \else
+ \repeat
+ \fi}}
+
+\def\CJK@getDigit#1#2\CJK@stop{
+ \edef\CJK@tempa{#1}
+ \edef\CJK@tempb{#2}}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CJKulem.sty b/Master/texmf-dist/tex/latex/cjk/CJKulem.sty
new file mode 100644
index 00000000000..d8011cf4e80
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CJKulem.sty
@@ -0,0 +1,193 @@
+% This is the file CJKulem.sty of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesPackage{CJKulem}[\filedate\space\fileversion]
+
+\RequirePackage{ulem}[2000/05/26]
+
+\endlinechar \m@ne
+
+\newdimen\UL@lastkern
+\newskip\CJK@skip
+
+
+\def\UL@CJKnobreakglue{
+ \nobreak
+ \LA@CJKglue
+ \nobreak}
+
+
+\def\UL@CJKglue{
+ \ifx\ \LA@space
+ \LA@CJKglue
+ \else
+ \egroup
+ \UL@stop
+ \ifnum\lastkern = \thr@@
+ \LA@hskip \CJK@skip
+ \else
+ \global\UL@skip \CJK@skip
+ \UL@leaders
+ \fi
+ \UL@start
+ \bgroup
+ \fi}
+
+
+\def\UL@Thaiglue{
+ \ifx\ \LA@space
+ \LA@Thaiglue
+ \else
+ \egroup
+ \egroup
+ \egroup
+ \UL@stop
+ \ifnum\lastkern = \thr@@
+ \LA@hskip \CJK@skip
+ \else
+ \global\UL@skip \CJK@skip
+ \UL@leaders
+ \fi
+ \UL@start
+ \bgroup
+ \fontencoding{C90}\selectfont
+ \bgroup
+ \bgroup
+ \fi}
+
+
+\def\UL@Thaibreak{
+ \ifx\ \LA@space
+ \LA@Thaibreak
+ \else
+ \egroup
+ \egroup
+ \egroup
+ \UL@stop
+ \LA@hskip \z@
+ \UL@start
+ \bgroup
+ \fontencoding{C90}\selectfont
+ \bgroup
+ \bgroup
+ \fi}
+
+
+\def\UL@testLastKern{
+ \global\CJK@false
+ \ifnum\lastkern = \thr@@
+ \ifnum\UL@lastkern = \tw@
+ \global\CJK@true
+ \fi
+ \ifnum\UL@lastkern = 5
+ \global\CJK@true
+ \fi
+ \fi
+
+ \ifnum\lastkern = \tw@
+ \global\CJK@true
+ \fi
+ \ifnum\lastkern = 5
+ \global\CJK@true
+ \fi}
+
+
+\def\UL@testLastCJK{
+ \global\CJK@false
+
+ \ifnum\lastkern = \thr@@
+ \ifnum\UL@lastkern = \@ne
+ \global\CJK@true
+ \fi
+ \fi
+
+ \ifnum\lastkern = \@ne
+ \global\CJK@true
+ \fi}
+
+
+\addto@hook\UL@hook{
+ \let\CJK@savehskip \hskip
+ \let\hskip \LA@hskip
+ \CJKglue
+ \CJK@skip\lastskip
+ \unskip
+ \let\hskip \CJK@savehskip
+ \let\LA@CJKglue \CJKglue
+ \let\LA@Thaiglue \Thaiglue
+ \let\LA@Thaibreak \Thaibreak
+ \let\CJK@nobreakglue \UL@CJKnobreakglue
+ \let\CJKglue \UL@CJKglue
+ \let\Thaiglue \UL@Thaiglue
+ \let\Thaibreak \UL@Thaibreak
+ \let\CJK@testLastKern \UL@testLastKern
+ \let\CJK@testLastCJK \UL@testLastCJK}
+
+
+\def\UL@start{
+ \global\UL@lastkern\lastkern
+ \setbox\UL@box\hbox\bgroup
+ \everyhbox{\UL@hrest}
+ \let\UL@start\@empty
+ \def\UL@unegroup{\bgroup\bgroup}
+ \let\UL@leadtype\@empty
+ \bgroup
+ \kern -3sp
+ \kern 3sp
+ \if@ignore
+ \global\@ignorefalse
+ \ignorespaces
+ \fi}
+
+
+\def\UL@stop{
+ \global\UL@pe\lastpenalty
+ \global\UL@lastkern\lastkern
+ \unpenalty
+ \ifnum\lastkern = \thr@@
+ \egroup
+ \egroup
+ \ifdim\wd\UL@box = \z@
+ \else
+ \UL@putbox
+ \fi
+ \else
+ \egroup
+ \egroup
+ \UL@putbox
+ \fi
+ \ifnum\UL@pe = \z@
+ \else
+ \LA@penalty\UL@pe
+ \fi
+ \kern -\UL@lastkern
+ \kern \UL@lastkern
+ \UL@unegroup}
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CJKutf8.sty b/Master/texmf-dist/tex/latex/cjk/CJKutf8.sty
new file mode 100644
index 00000000000..fd1ae74fe52
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CJKutf8.sty
@@ -0,0 +1,719 @@
+% This is the file CJKutf8.sty of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[2003/12/01]
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesPackage{CJKutf8}[\filedate\space\fileversion]
+
+\RequirePackage{ifpdf}
+\RequirePackage[utf8]{inputenc}
+\RequirePackage[encapsulated]{CJK}
+\RequirePackageWithOptions{fontenc}
+
+\DeclareOption*{\OptionNotUsed}
+
+\ProcessOptions
+
+
+% we suppress any unwanted spaces produced by linefeeds
+
+\endlinechar\m@ne
+
+% We redefine the basic macros for handling multibyte sequences to call
+% a `\u8:...' macro if it has been defined.
+
+\def\CJK@XX#1#2{
+ \ifx #2\protect
+ \expandafter\CJK@XXp\expandafter#1
+ \else
+ \expandafter\ifx\csname u8:\string #1\string #2\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}
+ \else
+ \csname u8:\string #1\string #2\endcsname
+ \fi
+ \CJK@ignorespaces
+ \fi}
+\def\CJK@XXp#1#2{
+ \expandafter\ifx\csname u8:\string #1\string #2\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}\CJK@ignorespaces
+ \else
+ \csname u8:\string #1\string #2\endcsname
+ \fi
+ \CJK@ignorespaces}
+
+\def\CJK@XXX#1#2#3{
+ \ifx #2\protect
+ \expandafter\CJK@XXXp\expandafter#1#3
+ \else
+ \expandafter\ifx\csname u8:\string #1\string #2\string #3\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}
+ \else
+ \csname u8:\string #1\string #2\string #3\endcsname
+ \fi
+ \CJK@ignorespaces
+ \fi}
+\def\CJK@XXXp#1#2#3#4{
+ \expandafter\ifx\csname u8:\string #1\string #2\string #4\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}{`#4}
+ \else
+ \csname u8:\string #1\string #2\string #4\endcsname
+ \fi
+ \CJK@ignorespaces}
+
+% If pdftex is used, emit proper \ToUnicode cmaps. This code is based on
+% cjk-unicmap.sty, part of the hangul-ucs package written by KIM Kang-Soo
+% and KIM Do-Hyun.
+
+\ifpdf
+ % Redefine \pickup@font (again).
+ \def\pickup@font{
+ \CJK@ifundefined\CJK@plane
+ {\expandafter\ifx\font@name \relax% % old definition
+ \define@newfont
+ \fi}
+ {\expandafter% % CJK extension
+ \ifx\csname \curr@fontshape/\f@size/\CJK@plane\endcsname \relax
+ \define@newfont
+ \def\CJK@temp{v}
+ \ifx\CJK@temp\CJK@plane
+ \expandafter
+ \ifx\csname CJK@cmap@\f@family\CJK@plane\endcsname \relax
+ \else
+ \csname CJK@cmap@\f@family\CJK@plane\endcsname
+ \fi
+ \else
+ \CJK@addcmap\CJK@plane
+ \fi
+ \else
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \fi}}
+
+ % Convert a CJK plane #2 to the corresponding surrogate value, if any.
+ % The result is returned in global macro #1.
+ \def\CJK@surr#1#2{
+ {\expandafter\uppercase\expandafter{
+ \expandafter\@tempcnta \expandafter "\expandafter 0#2\relax}
+ \ifnum \@tempcnta > "0FF\relax
+ % prepare for surrogate
+ \advance\@tempcnta -"0100\relax
+
+ % high surrogate value
+ \@tempcntb \@tempcnta
+ \divide\@tempcntb 4\relax
+ \advance\@tempcntb "0D800\relax
+ \CJK@numbxToHex{\CJK@gtemp}{\@tempcntb}
+ \expandafter\toks@\expandafter{\CJK@gtemp}
+
+ % upper byte of low surrogate value
+ \@tempcntb \@tempcnta
+ \divide\@tempcntb 4\relax
+ \multiply\@tempcntb 4\relax
+ \advance\@tempcnta -\@tempcntb
+ \advance\@tempcnta "0DC\relax
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \xdef#1{\the\toks@\CJK@gtemp}
+ \else
+ \xdef#1{#2}
+ \fi}}
+
+ \def\CJK@addcmap#1{
+ {\expandafter\ifx\csname CJK@CMap@#1\endcsname \relax
+ \CJK@surr{\CJK@gtemp}{#1}
+ \immediate\pdfobj stream {
+ /CIDInit /ProcSet findresource begin %
+ 12 dict begin %
+ begincmap %
+ /CIDSystemInfo << %
+ /Registry (TeX) %
+ /Ordering (Uni#1) %
+ /Supplement 0 >> def %
+ /CMapName /TeX-Uni#1-0 def %
+ 1 begincodespacerange <00> <FF> endcodespacerange %
+ 1 beginbfrange <00> <FF> <\CJK@gtemp 00> endbfrange %
+ endcmap %
+ CMapName currentdict /CMap defineresource %
+ pop %
+ end %
+ end }
+ \expandafter\xdef\csname CJK@CMap@#1\endcsname{
+ \the\pdflastobj}
+ \fi
+ \pdffontattr\font@name{
+ /ToUnicode \csname CJK@CMap@#1\endcsname\space 0 R}}}
+\fi
+
+
+% provide hooks for hyperref.sty to automatically emit UTF-16BE for
+% bookmarks -- note that we must do everything with expansion;
+% only eTeX provides numerical expression handling which works
+% within \xdef.
+
+% 110aaaaa 10bbbbbb
+%
+% aaaaa (two octal digits) is handled by \CJK@UnicodeTwoBytesFirst
+% bbbbbb (two octal digits) is handled by \CJK@UnicodeLast
+%
+%
+% 1110aaaa 10abbbbb 10cccccc
+%
+% aaaaa (two octal digits) is handled by \CJK@UnicodeThreeBytesFirst
+% bbbbbb (two octal digits) is handled by \CJK@UnicodeThreeBytesSecond
+% cccccc (two octal digits) is handled by \CJK@UnicodeLast
+%
+%
+% 11110uuu 10uubbbb 10bbcccc 10dddddd
+%
+% is emitted as a surrogate pair
+%
+% 110110aa aabbbbbb 110111cc ccdddddd
+%
+% (aaaa = uuuuu - 1; 0 < uuuuu <= 10000)
+%
+% 110110aaaa (four octal digits) is handled by \CJK@UnicodeFourBytesFirst
+% bbbbbb (two octal digits) is handled by \CJK@UnicodeFourBytesSecond
+% 110111cccc (four octal digits) is handled by \CJK@UnicodeFourBytesThird
+% dddddd (two octal digits) is handled by \CJK@UnicodeLast
+%
+
+\def\CJK@UnicodeFourBytesFirst#1#2{
+ \33
+
+ \ifnum #2 > '257\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or 0\2\or 1\2\or 2\2\or 3\2
+ \fi
+ \else
+ \ifnum #2 > '237\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or 0\1\or 1\1\or 2\1\or 3\1
+ \fi
+ \else
+ \ifnum #2 > '217\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or 0\0\or 1\0\or 2\0\or 3\0
+ \fi
+ \else
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or 0\3\or 1\3\or 2\3\or 3\3
+ \fi
+ \fi
+ \fi
+ \fi}
+
+\def\CJK@UnicodeFourBytesSecond#1#2{
+ \ifnum #2 > '257\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \fi
+ \else
+ \ifnum #2 > '237\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \fi
+ \else
+ \ifnum #2 > '217\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \fi
+ \else
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \fi
+ \fi
+ \fi
+ \fi}
+
+\def\CJK@UnicodeFourBytesThird#1{
+ \33
+
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \fi
+}
+
+\def\CJK@UnicodeThreeBytesFirst#1#2{
+ \ifnum #2 > '237\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \01\or \03\or \05\or \07\or \11\or \13\or \15\or \17
+ \or \21\or \23\or \25\or \27\or \31\or \33\or \35\or \37
+ \fi
+ \else
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \00\or \02\or \04\or \06\or \10\or \12\or \14\or \16
+ \or \20\or \22\or \24\or \26\or \30\or \32\or \34\or \35
+ \fi
+ \fi}
+
+\def\CJK@UnicodeThreeBytesSecond#1{
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 0\0\or 0\1\or 0\2\or 0\3\or 1\0\or 1\1\or 1\2\or 1\3
+ \or 2\0\or 2\1\or 2\2\or 2\3\or 3\0\or 3\1\or 3\2\or 3\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 0\0\or 0\1\or 0\2\or 0\3\or 1\0\or 1\1\or 1\2\or 1\3
+ \or 2\0\or 2\1\or 2\2\or 2\3\or 3\0\or 3\1\or 3\2\or 3\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \fi}
+
+\def\CJK@UnicodeTwoBytesFirst#1{
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \000\0\or \000\1\or \000\2\or \000\3
+ \or \001\0\or \001\1\or \001\2\or \001\3
+ \or \002\0\or \002\1\or \002\2\or \002\3
+ \or \003\0\or \003\1\or \003\2\or \003\3
+ \or \004\0\or \004\1\or \004\2\or \004\3
+ \or \005\0\or \005\1\or \005\2\or \005\3
+ \or \006\0\or \006\1\or \006\2\or \006\3
+ \or \007\0\or \007\1\or \007\2\or \007\3
+ \fi}
+
+\def\CJK@UnicodeLast#1{
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 00\or 01\or 02\or 03\or 04\or 05\or 06\or 07
+ \or 10\or 11\or 12\or 13\or 14\or 15\or 16\or 17
+ \or 20\or 21\or 22\or 23\or 24\or 25\or 26\or 27
+ \or 30\or 31\or 32\or 33\or 34\or 35\or 36\or 37
+ \or 40\or 41\or 42\or 43\or 44\or 45\or 46\or 47
+ \or 50\or 51\or 52\or 53\or 54\or 55\or 56\or 57
+ \or 60\or 61\or 62\or 63\or 64\or 65\or 66\or 67
+ \or 70\or 71\or 72\or 73\or 74\or 75\or 76\or 77
+ \fi}
+
+
+\def\CJK@XXpdf#1#2{
+ \CJK@UnicodeTwoBytesFirst{`#1}
+ \CJK@UnicodeLast{`#2}}
+
+\def\CJK@XXXpdf#1#2#3{
+ \CJK@UnicodeThreeBytesFirst{`#1}{`#2}
+ \CJK@UnicodeThreeBytesSecond{`#2}
+ \CJK@UnicodeLast{`#3}}
+
+\def\CJK@XXXXpdf#1#2#3#4{
+ \CJK@UnicodeFourBytesFirst{`#1}{`#2}
+ \CJK@UnicodeFourBytesSecond{`#2}{`#3}
+ \CJK@UnicodeFourBytesThird{`#3}
+ \CJK@UnicodeLast{`#4}}
+
+
+\ifx\pdfstringdefPreHook \undefined
+ \def\pdfstringdefPreHook{}
+\fi
+\g@addto@macro\pdfstringdefPreHook{
+ \let\CJK@XX \CJK@XXpdf
+ \let\CJK@XXX \CJK@XXXpdf
+ \let\CJK@XXXX \CJK@XXXXpdf}
+
+
+% reset endline character
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CJKvert.sty b/Master/texmf-dist/tex/latex/cjk/CJKvert.sty
new file mode 100644
index 00000000000..4e8af30c0a3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CJKvert.sty
@@ -0,0 +1,159 @@
+% This is the file CJKvert.sty of the CJK package
+% for vertical typesetting.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesPackage{CJKvert}[\filedate\space\fileversion]
+
+\RequirePackage{graphicx}
+
+\newif\ifCJK@useBaselinestretch@
+\CJK@useBaselinestretch@false
+
+\DeclareOption{usebaselinestretch}{\CJK@useBaselinestretch@true}
+
+\ProcessOptions
+
+\newcommand{\CJKbaselinestretch}{1.3}
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+
+\newif\ifCJK@vertical@
+\CJK@vertical@false
+
+\ifCJK@useBaselinestretch@
+ \edef\CJK@horzBaselinestretch{\baselinestretch}
+\fi
+
+\newcommand{\CJKvert}{
+ \CJK@vertical@true
+ \gdef\CJK@direction{v}
+
+ \ifCJK@useBaselinestretch@
+ \edef\CJK@horzBaselinestretch{\baselinestretch}
+ \dimen@ 1pt
+ \dimen@ \CJK@horzBaselinestretch\dimen@
+ \dimen@ \CJKbaselinestretch\dimen@
+ \edef\baselinestretch{\strip@pt\dimen@}
+ \else
+ \edef\baselinestretch{\CJKbaselinestretch}
+ \fi
+
+ \normalfont}
+
+\newcommand{\CJKhorz}{
+ \CJK@vertical@false
+ \gdef\CJK@direction{h}
+
+ \ifCJK@useBaselinestretch@
+ \edef\baselinestretch{\CJK@horzBaselinestretch}
+ \else
+ \edef\baselinestretch{1}
+ \fi
+
+ \normalfont}
+
+\AtBeginDocument{\CJKvert}
+
+
+% we redefine \CJKsymbol so that pseudo bold characters will be shifted
+% vertically, not horizontally.
+%
+% for fonts without vertical representation forms, some glyphs shouldn't
+% be rotated; \CJKsymbolsimple can be then used for a redefinition in
+% the `.fdx' file.
+
+\newcommand{\CJKsymbolsimple}[1]{
+ \edef\CJK@temp{\csname \CJK@enc/\CJK@family/simpleoffset\endcsname}
+ \expandafter\ifx\CJK@temp \relax
+ \edef\CJK@temp{0pt}
+ \fi
+ \ifCJK@bold@
+ \raise \CJK@temp \hbox{\symbol{#1}}
+ \raise \CJK@temp \hbox to \z@{\hss \raise\CJKboldshift\hbox{\symbol{#1}}}
+ \raise \CJK@temp \hbox to \z@{\hss \raise-\CJKboldshift\hbox{\symbol{#1}}}
+ \else
+ \raise \CJK@temp \hbox{\symbol{#1}}
+ \fi
+}
+
+\DeclareRobustCommand{\CJKsymbol}[1]{
+ \ifCJK@vertical@
+ \expandafter\ifx\csname \CJK@enc/\CJK@family/norotate/v\endcsname \relax
+ \edef\CJK@tempa{\csname \CJK@enc/\CJK@family/offset/v\endcsname}
+ \expandafter\ifx\CJK@tempa \relax
+ \edef\CJK@tempa{0pt}
+ \fi
+ \edef\CJK@tempb{\csname \CJK@enc/\CJK@family/fullheight/v\endcsname}
+ \expandafter\ifx\CJK@tempb \relax
+ \def\CJK@temp{\rotatebox[x=\CJK@tempa]{90}{\symbol{#1}}}
+ \else
+ \edef\CJK@tempc{\csname \CJK@enc/\CJK@family/height/v\endcsname}
+ \expandafter\ifx\CJK@tempc \relax
+ \edef\CJK@tempc{0pt}
+ \fi
+ \setbox\@tempboxa\hbox{\symbol{#1}}
+ \ht\@tempboxa \CJK@tempc
+ \@tempdima\CJK@tempb
+ \advance\@tempdima -\CJK@tempc
+ \dp\@tempboxa \@tempdima
+ \def\CJK@temp{
+ \rotatebox[x=\CJK@tempa]{90}{\copy\@tempboxa}}
+ \fi
+ \else
+ \def\CJK@temp{\symbol{#1}}
+ \fi
+ \ifCJK@bold@
+ \CJK@temp
+ \hbox to \z@ {\hss \raise\CJKboldshift\hbox{\CJK@temp}}
+ \hbox to \z@ {\hss \raise-\CJKboldshift\hbox{\CJK@temp}}
+ \else
+ \CJK@temp
+ \fi
+ \else
+ \edef\CJK@tempa{\csname \CJK@enc/\CJK@family/offset/h\endcsname}
+ \expandafter\ifx\CJK@tempa \relax
+ \edef\CJK@tempa{0pt}
+ \fi
+ \edef\CJK@temp{\raise\CJK@tempa\hbox{\symbol{#1}}}
+ \leavevmode
+ \ifCJK@bold@
+ \CJK@temp
+ \hbox to \CJKboldshift{\hss\CJK@temp}
+ \hbox to \CJKboldshift{\hss\CJK@temp}
+ \else
+ \CJK@temp
+ \fi
+ \fi}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.bdg b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.bdg
new file mode 100644
index 00000000000..d61386383c6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.bdg
@@ -0,0 +1,130 @@
+% This is the file EUC-TW.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{EUC-TW.bdg}[\filedate\space\fileversion]
+
+
+% The EUC-TW bindings (with single shift).
+
+\global\@namedef{CJK@EUC-TWBinding}{
+ \CJK@nameppppdef{^^8e}
+
+ \CJK@nameppdef{^^a1}
+ \CJK@nameppdef{^^a2}
+ \CJK@nameppdef{^^a3}
+ \CJK@nameppdef{^^a4}
+ \CJK@nameppdef{^^a5}
+ \CJK@nameppdef{^^a6}
+ \CJK@nameppdef{^^a7}
+ \CJK@nameppdef{^^a8}
+ \CJK@nameppdef{^^a9}
+ \CJK@nameppdef{^^aa}
+ \CJK@nameppdef{^^ab}
+ \CJK@nameppdef{^^ac}
+ \CJK@nameppdef{^^ad}
+ \CJK@nameppdef{^^ae}
+ \CJK@nameppdef{^^af}
+ \CJK@nameppdef{^^b0}
+ \CJK@nameppdef{^^b1}
+ \CJK@nameppdef{^^b2}
+ \CJK@nameppdef{^^b3}
+ \CJK@nameppdef{^^b4}
+ \CJK@nameppdef{^^b5}
+ \CJK@nameppdef{^^b6}
+ \CJK@nameppdef{^^b7}
+ \CJK@nameppdef{^^b8}
+ \CJK@nameppdef{^^b9}
+ \CJK@nameppdef{^^ba}
+ \CJK@nameppdef{^^bb}
+ \CJK@nameppdef{^^bc}
+ \CJK@nameppdef{^^bd}
+ \CJK@nameppdef{^^be}
+ \CJK@nameppdef{^^bf}
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.chr b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.chr
new file mode 100644
index 00000000000..cf31bcd3421
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.chr
@@ -0,0 +1,210 @@
+% This is the file EUC-TW.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{EUC-TW.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling characters in EUC-TW encoding.
+
+\global\@namedef{CJK@EUC-TWChr}{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+% for CNS characters accessed via the SS2 code (0x8E)
+
+ \CJK@global\def\CJK@shiftchar##1##2##3{
+ {\CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJKchar[CNS\expandafter\@secondoftwo\CJK@gtemp]
+ {\number ##2}{\number ##3}}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.enc b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.enc
new file mode 100644
index 00000000000..a82f1e87e60
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.enc
@@ -0,0 +1,138 @@
+% This is the file EUC-TW.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{EUC-TW.enc}[\filedate\space\fileversion]
+
+
+% EUC-TW encoding:
+%
+% CNS 11643-1992 planes 1-7 (C31-C37) 0x8EA1A1A1-0x8EA7FEFE
+% CNS 11643-1992 plane 1 (C31) 0xA1A1-0xFEFE
+
+\global\@namedef{CJK@EUC-TWEncoding}{
+ \CJK@loadChr{EUC-TW}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@shiftError becomes active
+ \CJK@namegdef{^^8e}##1##2##3{\@gobble\CJK@shiftError
+ \CJK@shiftchar{##1}{##2}{##3}}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c31song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c31song.fd
new file mode 100644
index 00000000000..60a647f4357
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CNS/c31song.fd
@@ -0,0 +1,23 @@
+% This is the file c31song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c31song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 1
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C31}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C31}{song}{m}{n}{<-> CJK * c1so12}{}
+\DeclareFontShape{C31}{song}{bx}{n}{<-> CJKb * c1so12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c32song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c32song.fd
new file mode 100644
index 00000000000..446dbcf2d3b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CNS/c32song.fd
@@ -0,0 +1,23 @@
+% This is the file c32song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c32song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 2
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C32}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C32}{song}{m}{n}{<-> CJK * c2so12}{}
+\DeclareFontShape{C32}{song}{bx}{n}{<-> CJKb * c2so12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c33song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c33song.fd
new file mode 100644
index 00000000000..58a184fb105
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CNS/c33song.fd
@@ -0,0 +1,23 @@
+% This is the file c33song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c33song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 3
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C33}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C33}{song}{m}{n}{<-> CJK * c3so12}{}
+\DeclareFontShape{C33}{song}{bx}{n}{<-> CJKb * c3so12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c34song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c34song.fd
new file mode 100644
index 00000000000..715d2f98582
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CNS/c34song.fd
@@ -0,0 +1,23 @@
+% This is the file c34song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c34song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 4
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C34}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C34}{song}{m}{n}{<-> CJK * c4so12}{}
+\DeclareFontShape{C34}{song}{bx}{n}{<-> CJKb * c4so12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c35song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c35song.fd
new file mode 100644
index 00000000000..4f7dd9ed76c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CNS/c35song.fd
@@ -0,0 +1,23 @@
+% This is the file c35song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c35song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 5
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C35}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C35}{song}{m}{n}{<-> CJK * c5so12}{}
+\DeclareFontShape{C35}{song}{bx}{n}{<-> CJKb * c5so12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c36song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c36song.fd
new file mode 100644
index 00000000000..c44ec716fe8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CNS/c36song.fd
@@ -0,0 +1,23 @@
+% This is the file c36song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c36song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 6
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C36}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C36}{song}{m}{n}{<-> CJK * c6so12}{}
+\DeclareFontShape{C36}{song}{bx}{n}{<-> CJKb * c6so12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c37song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c37song.fd
new file mode 100644
index 00000000000..dc8b0a34dce
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/CNS/c37song.fd
@@ -0,0 +1,23 @@
+% This is the file c37song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c37song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 7
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C37}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C37}{song}{m}{n}{<-> CJK * c7so12}{}
+\DeclareFontShape{C37}{song}{bx}{n}{<-> CJKb * c7so12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/GB/GB.cap b/Master/texmf-dist/tex/latex/cjk/GB/GB.cap
new file mode 100644
index 00000000000..5e9457ea968
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/GB/GB.cap
@@ -0,0 +1,86 @@
+% This is the file GB.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{GB.cap}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: GB 2312-80
+% encoding: EUC
+
+\renewcommand\contentsname{ฤฟยผ}
+% \renewcommand\listfigurename{} % ?
+% \renewcommand\listtablename{} % ?
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ฒฮฟผืสมฯ}}
+ {\renewcommand\bibname{ฮฤฯื}}
+
+\renewcommand\indexname{ห๗า}
+
+\newcommand\prefigurename{ตฺ}
+\newcommand\postfigurename{อผ}
+\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename}
+
+\newcommand\pretablename{ตฺ}
+\newcommand\posttablename{ฑํ}
+\renewcommand\tableformat{\pretablename~\thetable~\posttablename}
+
+\newcommand\prepartname{ตฺ}
+\newcommand\postpartname{ฒฟ}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \newcommand\prechaptername{ตฺ}
+% \newcommand\postchaptername{ีย}
+% \newcommand\presectionname{ตฺ}
+% \newcommand\postsectionname{ฝฺ}
+% \newcommand\preappendixname{ตฺ}
+% \newcommand\postappendixname{ธฝยผ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ีชาช}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{ธฝผ}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand\today{\number\yearฤ๊\number\monthิย\number\dayศี}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase#1\or
+ าป\orถ\orศ\orหฤ\orฮๅ\or
+ ม๙\orฦ฿\orฐห\orพล\orสฎ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-china
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/GB/GB.cpx b/Master/texmf-dist/tex/latex/cjk/GB/GB.cpx
new file mode 100644
index 00000000000..8b8ea280704
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/GB/GB.cpx
@@ -0,0 +1,84 @@
+% This is the file GB.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{GB.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: GB 2312-80
+% encoding: EUC
+%
+% preprocessed
+
+\renewcommand\contentsname{ฤ191ย188}
+% \renewcommand\listfigurename{} % ?
+% \renewcommand\listtablename{} % ?
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ฒ206ฟ188ื202ม207}}
+ {\renewcommand\bibname{ฮ196ฯ215}}
+
+\renewcommand\indexname{ห247า253}
+
+\newcommand\prefigurename{ต218}
+\newcommand\postfigurename{อ188}
+\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename}
+
+\newcommand\pretablename{ต218}
+\newcommand\posttablename{ฑ237}
+\renewcommand\tableformat{\pretablename~\thetable~\posttablename}
+
+\newcommand\prepartname{ต218}
+\newcommand\postpartname{ฒ191}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \newcommand\prechaptername{ต218}
+% \newcommand\postchaptername{ี194}
+% \newcommand\presectionname{ต218}
+% \newcommand\postsectionname{ฝ218}
+% \newcommand\preappendixname{ต218}
+% \newcommand\postappendixname{ธ189ย188}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ี170า170}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{ธ189ผ254}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand\today{%
+ \number\yearฤ234\number\monthิ194\number\dayศ213}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase#1\or
+ า187\orถ254\orศ253\orห196\orฮ229\or
+ ม249\orฦ223\orฐ203\orพ197\orส174\fi}}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c10fs.fd b/Master/texmf-dist/tex/latex/cjk/GB/c10fs.fd
new file mode 100644
index 00000000000..5d910bced9b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/GB/c10fs.fd
@@ -0,0 +1,25 @@
+% This is the file c10fs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c10fs.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C10}{fs}{\hyphenchar \font\m@ne}
+
+% jfs56
+
+\DeclareFontShape{C10}{fs}{m}{n}{<-> CJK * gsfs14}{}
+\DeclareFontShape{C10}{fs}{bx}{n}{<-> CJKb * gsfs14}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fd b/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fd
new file mode 100644
index 00000000000..0ac777c7460
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fd
@@ -0,0 +1,25 @@
+% This is the file c10gbsn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c10gbsn.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: CJK (standard)
+
+% Arphic PL TrueType font AR PL SungtiL GB / BousungEG-Light-GB (SongTi)
+
+\DeclareFontFamily{C10}{gbsn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C10}{gbsn}{m}{n}{<-> CJK * gbsnlp}{}
+\DeclareFontShape{C10}{gbsn}{bx}{n}{<-> CJKb * gbsnlp}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fdx b/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fdx
new file mode 100644
index 00000000000..45058ae2bb8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fdx
@@ -0,0 +1,70 @@
+% This is the file c10gbsn.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c10gbsn.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.5em}
+\CJKvdef{simpleoffset}{-.1em}
+
+\CJKvdef{m/n/01/1}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{1}\hss}}
+\CJKvdef{m/n/01/2}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/01/17}{\CJKsymbolsimple{17}}
+\CJKvdef{m/n/01/18}{\CJKsymbolsimple{18}}
+\CJKvdef{m/n/01/19}{\CJKsymbolsimple{19}}
+\CJKvdef{m/n/01/20}{\CJKsymbolsimple{20}}
+\CJKvdef{m/n/01/21}{\CJKsymbolsimple{21}}
+\CJKvdef{m/n/01/22}{\CJKsymbolsimple{22}}
+\CJKvdef{m/n/01/23}{\CJKsymbolsimple{23}}
+\CJKvdef{m/n/01/24}{\CJKsymbolsimple{24}}
+\CJKvdef{m/n/01/25}{\CJKsymbolsimple{25}}
+\CJKvdef{m/n/01/26}{\CJKsymbolsimple{26}}
+\CJKvdef{m/n/01/27}{\CJKsymbolsimple{27}}
+\CJKvdef{m/n/01/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/01/29}{\CJKsymbolsimple{29}}
+\CJKvdef{m/n/01/30}{\CJKsymbolsimple{30}}
+\CJKvdef{m/n/01/195}{\CJKsymbolsimple{195}}
+\CJKvdef{m/n/01/196}{\CJKsymbolsimple{196}}
+\CJKvdef{m/n/01/199}{
+ \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{199}\hss}}
+\CJKvdef{m/n/01/201}{
+ \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{201}\hss}}
+\CJKvdef{m/n/01/246}{\CJKsymbolsimple{246}}
+\CJKvdef{m/n/01/248}{\CJKsymbolsimple{248}}
+\CJKvdef{m/n/02/22}{\CJKsymbolsimple{22}}
+\CJKvdef{m/n/02/24}{\CJKsymbolsimple{24}}
+
+\CJKvlet{bx/n/01/1}{m/n/01/1}
+\CJKvlet{bx/n/01/2}{m/n/01/2}
+\CJKvlet{bx/n/01/17}{m/n/01/17}
+\CJKvlet{bx/n/01/18}{m/n/01/18}
+\CJKvlet{bx/n/01/19}{m/n/01/19}
+\CJKvlet{bx/n/01/20}{m/n/01/20}
+\CJKvlet{bx/n/01/21}{m/n/01/21}
+\CJKvlet{bx/n/01/22}{m/n/01/22}
+\CJKvlet{bx/n/01/23}{m/n/01/23}
+\CJKvlet{bx/n/01/24}{m/n/01/24}
+\CJKvlet{bx/n/01/25}{m/n/01/25}
+\CJKvlet{bx/n/01/26}{m/n/01/26}
+\CJKvlet{bx/n/01/27}{m/n/01/27}
+\CJKvlet{bx/n/01/28}{m/n/01/28}
+\CJKvlet{bx/n/01/29}{m/n/01/29}
+\CJKvlet{bx/n/01/30}{m/n/01/30}
+\CJKvlet{bx/n/01/195}{m/n/01/195}
+\CJKvlet{bx/n/01/196}{m/n/01/196}
+\CJKvlet{bx/n/01/199}{m/n/01/199}
+\CJKvlet{bx/n/01/201}{m/n/01/201}
+\CJKvlet{bx/n/01/246}{m/n/01/246}
+\CJKvlet{bx/n/01/248}{m/n/01/248}
+\CJKvlet{bx/n/02/22}{m/n/02/22}
+\CJKvlet{bx/n/02/24}{m/n/02/24}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c10song.fd b/Master/texmf-dist/tex/latex/cjk/GB/c10song.fd
new file mode 100644
index 00000000000..af003e5c062
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/GB/c10song.fd
@@ -0,0 +1,23 @@
+% This is the file c10song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c10song.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C10}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C10}{song}{m}{n}{<-> CJKsub * fs/m/n}{}
+\DeclareFontShape{C10}{song}{bx}{n}{<-> CJKsub * fs/bx/n}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c11song.fd b/Master/texmf-dist/tex/latex/cjk/GB/c11song.fd
new file mode 100644
index 00000000000..8c9f8c7b47d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/GB/c11song.fd
@@ -0,0 +1,23 @@
+% This is the file c11song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c11song.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: pmC
+
+\DeclareFontFamily{C11}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C11}{song}{m}{n}{<-> sCJKfixed * wccs}{}
+\DeclareFontShape{C11}{song}{bx}{n}{<-> sCJKfixedb * wccs}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c19song.fd b/Master/texmf-dist/tex/latex/cjk/GB/c19song.fd
new file mode 100644
index 00000000000..f52e7d30eff
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/GB/c19song.fd
@@ -0,0 +1,23 @@
+% This is the file c19song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c19song.fd}[\filedate\space\fileversion]
+
+
+% Chinese characters (extension of GB 2312)
+%
+% character set: GBK
+% font encoding: CJK (extended)
+
+\DeclareFontFamily{C19}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C19}{song}{m}{n}{<-> CJK * gbk}{}
+\DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * gbk}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c20song.fd b/Master/texmf-dist/tex/latex/cjk/GB/c20song.fd
new file mode 100644
index 00000000000..6e0a9010117
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/GB/c20song.fd
@@ -0,0 +1,31 @@
+% This is the file c20song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c20song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C20}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C20}{song}{m}{n}{
+ <5> <6> <7> <8> <9> CJKfixed * gtso12
+ <10> <10.95> <12> sCJKfixed * gtso12
+ <14.4> <17.28> <20.74> sCJKfixed * gtso17
+ <24.88> CJKfixed * gtso17}{}
+\DeclareFontShape{C20}{song}{bx}{n}{
+ <5> <6> <7> <8> <9> CJKfixedb * gtso12
+ <10> <10.95> <12> sCJKfixedb * gtso12
+ <14.4> <17.28> <20.74> sCJKfixedb * gtso17
+ <24.88> CJKfixedb * gtso17}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c21song.fd b/Master/texmf-dist/tex/latex/cjk/GB/c21song.fd
new file mode 100644
index 00000000000..a0c92ef5148
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/GB/c21song.fd
@@ -0,0 +1,23 @@
+% This is the file c21song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c21song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% font encoding: pmC
+
+\DeclareFontFamily{C21}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C21}{song}{m}{n}{<-> sCJKfixed * wcct}{}
+\DeclareFontShape{C21}{song}{bx}{n}{<-> sCJKfixedb * wcct}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.bdg b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.bdg
new file mode 100644
index 00000000000..dde27f0cf6f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.bdg
@@ -0,0 +1,131 @@
+% This is the file EUC-JP.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{EUC-JP.bdg}[\filedate\space\fileversion]
+
+
+% The EUC-JP bindings (with single shifts).
+
+\global\@namedef{CJK@EUC-JPBinding}{
+ \CJK@nameppdef{^^8e}
+ \CJK@namepppdef{^^8f}
+
+ \CJK@nameppdef{^^a1}
+ \CJK@nameppdef{^^a2}
+ \CJK@nameppdef{^^a3}
+ \CJK@nameppdef{^^a4}
+ \CJK@nameppdef{^^a5}
+ \CJK@nameppdef{^^a6}
+ \CJK@nameppdef{^^a7}
+ \CJK@nameppdef{^^a8}
+ \CJK@nameppdef{^^a9}
+ \CJK@nameppdef{^^aa}
+ \CJK@nameppdef{^^ab}
+ \CJK@nameppdef{^^ac}
+ \CJK@nameppdef{^^ad}
+ \CJK@nameppdef{^^ae}
+ \CJK@nameppdef{^^af}
+ \CJK@nameppdef{^^b0}
+ \CJK@nameppdef{^^b1}
+ \CJK@nameppdef{^^b2}
+ \CJK@nameppdef{^^b3}
+ \CJK@nameppdef{^^b4}
+ \CJK@nameppdef{^^b5}
+ \CJK@nameppdef{^^b6}
+ \CJK@nameppdef{^^b7}
+ \CJK@nameppdef{^^b8}
+ \CJK@nameppdef{^^b9}
+ \CJK@nameppdef{^^ba}
+ \CJK@nameppdef{^^bb}
+ \CJK@nameppdef{^^bc}
+ \CJK@nameppdef{^^bd}
+ \CJK@nameppdef{^^be}
+ \CJK@nameppdef{^^bf}
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.chr b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.chr
new file mode 100644
index 00000000000..dccf2fe8e8a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.chr
@@ -0,0 +1,246 @@
+% This is the file EUC-JP.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{EUC-JP.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling characters in EUC-JP encoding.
+
+\global\@namedef{CJK@EUC-JPChr}{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+% for half-width katakana accessed via the SS2 code (0x8E)
+
+ \CJK@global\def\CJK@shiftchar##1{
+ {\ifnum ##1 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##1 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@altenc}{}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \def\CJK@plane{}
+ \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@altenc}{}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.enc b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.enc
new file mode 100644
index 00000000000..f87a1d0960b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.enc
@@ -0,0 +1,141 @@
+% This is the file EUC-JP.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{EUC-JP.enc}[\filedate\space\fileversion]
+
+
+% EUC-JP encoding:
+%
+% Half-width katakana (C49) 0x8EA1-0x8EDF
+% JIS X 0212-1992 (C5x) 0x8FA1A1-0x8FFEFE
+% JIS X 0208:1997 (C4x) 0xA1A1-0xFEFE
+
+\global\@namedef{CJK@EUC-JPEncoding}{
+ \CJK@loadChr{EUC-JP}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@shiftError becomes active
+ \CJK@namegdef{^^8e}##1{\@gobble\CJK@shiftError
+ \CJK@shiftchar{##1}}
+ \CJK@namegdef{^^8f}##1##2{\@gobble\CJK@shiftError
+ \CJKchar[JIS2]{\number ##1}{\number ##2}}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JPdnp.enc b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JPdnp.enc
new file mode 100644
index 00000000000..14c6617287b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JPdnp.enc
@@ -0,0 +1,142 @@
+% This is the file EUC-JPdnp.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{EUC-JPdnp.enc}[\filedate\space\fileversion]
+
+
+% EUC-JP encoding with dnp font encoding:
+%
+% Half-width katakana (C49) 0x8EA1-0x8EDF
+% JIS X 0212-1992 (C5x) 0x8FA1A1-0x8FFEFE
+% JIS X 0208:1997 (C4x) 0xA1A1-0xFEFE
+
+\global\@namedef{CJK@EUC-JPdnpEncoding}{
+ \CJK@loadChr{EUC-JP}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@shiftError becomes active
+ \CJK@namegdef{^^8e}##1{\@gobble\CJK@shiftError
+ \CJK@shiftchar{##1}}
+ \CJK@namegdef{^^8f}##1##2{\@gobble\CJK@shiftError
+ \CJKchar[JIS2dnp]{\number ##1}{\number ##2}}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{sy}{-160}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{sy}{ -60}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@char {roma}{-128}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{hira}{-160}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{kata}{-160}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char {greek}{-160}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {russian}{-160}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {keisen}{-160}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {ka}{-161}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char {ka}{ -67}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@charx{ka}{kb}{27}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {kb}{-135}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char {kb}{ -41}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@charx{kb}{kc}{53}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char {kc}{-109}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {kc}{ -15}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@charx{kc}{kd}{79}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char {kd}{ -83}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@charx{kd}{ke}{11}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {ke}{-151}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char {ke}{ -57}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@charx{ke}{kf}{37}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char {kf}{-125}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {kf}{ -31}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@charx{kf}{kg}{63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char {kg}{ -99}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {kg}{ -5}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@charx{kg}{kh}{89}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char {kh}{ -73}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@charx{kh}{ki}{21}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {ki}{-141}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char {ki}{ -47}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@charx{ki}{kj}{47}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char {kj}{-115}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {kj}{ -21}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@charx{kj}{kk}{73}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char {kk}{ -89}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@charx{kk}{kl}{ 5}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {kl}{-157}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char {kl}{-63}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {km}{-161}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {km}{ -67}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{km}{kn}{27}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {kn}{-135}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char {kn}{ -41}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@charx{kn}{ko}{53}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {ko}{-109}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char {ko}{ -15}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@charx{ko}{kp}{79}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {kp}{ -83}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{kp}{kq}{11}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {kq}{-151}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char {kq}{ -57}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{kq}{kr}{37}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {kr}{-125}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char {kr}{ -31}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@charx{kr}{ks}{63}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {ks}{ -99}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char {ks}{ -5}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@charx{ks}{kt}{89}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {kt}{ -73}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{kt}{ku}{21}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {ku}{-141}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char {ku}{ -47}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@charx{ku}{kv}{47}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {kv}{-115}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char {kv}{ -21}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@charx{kv}{kw}{73}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {kw}{ -89}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{kw}{kx}{ 5}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {kx}{-157}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char {kx}{ -63}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{kx}{ky}{31}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {ky}{-131}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char {ky}{ -37}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@charx{ky}{kz}{57}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {kz}{-105}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@errxx}
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cap b/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cap
new file mode 100644
index 00000000000..bce67390fac
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cap
@@ -0,0 +1,83 @@
+% This is the file JIS.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{JIS.cap}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: EUC
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{ฬผก}
+
+\renewcommand\listfigurename{ฟฬผก}
+% \newcommand\listfigurename{ฟฐ์อ๗}
+
+\renewcommand\listtablename{ษฝฬผก}
+% \newcommand\listtablename{ษฝฐ์อ๗}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ปฒนอสธธฅ}
+ }
+ {\renewcommand\bibname{ดุฯขฝ๑ภา}
+% \renewcommand\bibname{ปฒนอสธธฅ}
+ }
+\renewcommand\indexname{บ๗ฐ๚}
+
+\renewcommand\figurename{ฟ}
+\renewcommand\tablename{ษฝ}
+
+\newcommand\prepartname{ย่}
+\newcommand\postpartname{ษ๔}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{ษํฯฟ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{อืป}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 สฟภฎ\,\fi
+ \ifnum\count0=1 ธต\else\number\count0\fi
+ \,วฏ\hspace{.5em}\nobreak\number\month
+ \,ท๎\hspace{.5em}\nobreak\number\day\,ฦ}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase#1\or
+ ฐ์\orฦ๓\orปฐ\orปอ\orธ\or
+ ฯป\orผท\orศฌ\orถๅ\orฝฝ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-japan
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cpx b/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cpx
new file mode 100644
index 00000000000..d203d19e162
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cpx
@@ -0,0 +1,80 @@
+% This is the file JIS.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{JIS.cpx}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: EUC
+%
+% preprocessed
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{ฬ220ผ161}
+
+\renewcommand\listfigurename{ฟ222ฬ220ผ161}
+% \newcommand\listfigurename{ฟ222ฐ236อ247}
+
+\renewcommand\listtablename{ษ189ฬ220ผ161}
+% \newcommand\listtablename{ษ189ฐ236อ247}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ป178น205ส184ธ165}
+ }
+ {\renewcommand\bibname{ด216ฯ162ฝ241ภ210}
+% \renewcommand\bibname{ป178น205ส184ธ165}
+ }
+\renewcommand\indexname{บ247ฐ250}
+
+\renewcommand\figurename{ฟ222}
+\renewcommand\tablename{ษ189}
+
+\newcommand\prepartname{ย232}
+\newcommand\postpartname{ษ244}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{ษ237ฯ191}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{อ215ป221}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 ส191ภ174\,\fi
+ \ifnum\count0=1 ธ181\else\number\count0\fi
+ \,ว175\hspace{.5em}\nobreak\number\month
+ \,ท238\hspace{.5em}\nobreak\number\day\,ฦ252}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase#1\or
+ ฐ236\orฦ243\orป176\orป205\orธ222\or
+ ฯ187\orผ183\orศ172\orถ229\orฝ189\fi}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/JISdnp.enc b/Master/texmf-dist/tex/latex/cjk/JIS/JISdnp.enc
new file mode 100644
index 00000000000..087c02da968
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/JISdnp.enc
@@ -0,0 +1,132 @@
+% This is the file JISdnp.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{JISdnp.enc}[\filedate\space\fileversion]
+
+
+% JIS encoding for DNP fonts:
+% each plane has 94 characters (GB, JIS etc.) (0xA1 - 0xFE).
+
+\global\@namedef{CJK@JISdnpEncoding}{
+ \CJK@loadChr{standard}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{sy}{-160}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{sy}{ -60}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@char {roma}{-128}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{hira}{-160}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{kata}{-160}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char {greek}{-160}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {russian}{-160}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {keisen}{-160}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {ka}{-161}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char {ka}{ -67}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@charx{ka}{kb}{27}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {kb}{-135}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char {kb}{ -41}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@charx{kb}{kc}{53}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char {kc}{-109}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {kc}{ -15}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@charx{kc}{kd}{79}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char {kd}{ -83}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@charx{kd}{ke}{11}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {ke}{-151}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char {ke}{ -57}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@charx{ke}{kf}{37}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char {kf}{-125}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {kf}{ -31}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@charx{kf}{kg}{63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char {kg}{ -99}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {kg}{ -5}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@charx{kg}{kh}{89}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char {kh}{ -73}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@charx{kh}{ki}{21}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {ki}{-141}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char {ki}{ -47}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@charx{ki}{kj}{47}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char {kj}{-115}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {kj}{ -21}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@charx{kj}{kk}{73}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char {kk}{ -89}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@charx{kk}{kl}{ 5}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {kl}{-157}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char {kl}{-63}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {km}{-161}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {km}{ -67}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{km}{kn}{27}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {kn}{-135}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char {kn}{ -41}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@charx{kn}{ko}{53}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {ko}{-109}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char {ko}{ -15}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@charx{ko}{kp}{79}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {kp}{ -83}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{kp}{kq}{11}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {kq}{-151}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char {kq}{ -57}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{kq}{kr}{37}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {kr}{-125}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char {kr}{ -31}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@charx{kr}{ks}{63}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {ks}{ -99}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char {ks}{ -5}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@charx{ks}{kt}{89}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {kt}{ -73}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{kt}{ku}{21}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {ku}{-141}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char {ku}{ -47}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@charx{ku}{kv}{47}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {kv}{-115}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char {kv}{ -21}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@charx{kv}{kw}{73}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {kw}{ -89}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{kw}{kx}{ 5}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {kx}{-157}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char {kx}{ -63}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{kx}{ky}{31}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {ky}{-131}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char {ky}{ -37}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@charx{ky}{kz}{57}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {kz}{-105}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@errxx}
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/c40song.fd b/Master/texmf-dist/tex/latex/cjk/JIS/c40song.fd
new file mode 100644
index 00000000000..0ccfa66190f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/c40song.fd
@@ -0,0 +1,25 @@
+% This is the file c40song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c40song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C40}{song}{\hyphenchar \font\m@ne}
+
+% kanji48
+
+\DeclareFontShape{C40}{song}{m}{n}{<-> CJK * jsso12}{}
+\DeclareFontShape{C40}{song}{bx}{n}{<-> CJKb * jsso12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/c41song.fd b/Master/texmf-dist/tex/latex/cjk/JIS/c41song.fd
new file mode 100644
index 00000000000..b2f738d9514
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/c41song.fd
@@ -0,0 +1,23 @@
+% This is the file c41song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c41song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: pmC
+
+\DeclareFontFamily{C41}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C41}{song}{m}{n}{<-> sCJKfixed * wjis}{}
+\DeclareFontShape{C41}{song}{bx}{n}{<-> sCJKfixedb * wjis}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/c42song.fd b/Master/texmf-dist/tex/latex/cjk/JIS/c42song.fd
new file mode 100644
index 00000000000..9fe22473166
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/c42song.fd
@@ -0,0 +1,28 @@
+% This is the file c42song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c42song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS encoding scheme using DNP fonts.
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: DNP
+
+\DeclareFontFamily{C42}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C42}{song}{m}{n}
+ {<5> <6> <7> <8> <9> <10> <12> DNPgen * dmj
+ <10.95><14.4><17.28><20.74><24.88> DNP *[10] dmj}{}
+\DeclareFontShape{C42}{song}{bx}{n}
+ {<5> <6> <7> <8> <9> <10> <12> DNPgen * dgj
+ <10.95><14.4><17.28><20.74><24.88> DNP *[10] dgj}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/c43song.fd b/Master/texmf-dist/tex/latex/cjk/JIS/c43song.fd
new file mode 100644
index 00000000000..493a3c81e17
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/c43song.fd
@@ -0,0 +1,27 @@
+% This is the file c43song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c43song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: DNP
+
+\DeclareFontFamily{C43}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C43}{song}{m}{n}
+ {<5> <6> <7> <8> <9> <10> <12>
+ <10.95><14.4><17.28><20.74><24.88> DNP * mj}{}
+\DeclareFontShape{C43}{song}{bx}{n}
+ {<5> <6> <7> <8> <9> <10> <12>
+ <10.95><14.4><17.28><20.74><24.88> DNP * bj}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/c50song.fd b/Master/texmf-dist/tex/latex/cjk/JIS/c50song.fd
new file mode 100644
index 00000000000..11088afb02a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/JIS/c50song.fd
@@ -0,0 +1,26 @@
+% This is the file c50song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c50song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS supplement encoding scheme.
+% Japanese characters
+%
+% character set: JIS X 0212-1990
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C50}{song}{\hyphenchar \font\m@ne}
+
+% kanjix48
+
+\DeclareFontShape{C50}{song}{m}{n}{<-> CJK * j2so12}{}
+\DeclareFontShape{C50}{song}{bx}{n}{<-> CJKb * j2so12}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/HLaTeX.chr b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/HLaTeX.chr
new file mode 100644
index 00000000000..c54bf0f7a4b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/HLaTeX.chr
@@ -0,0 +1,229 @@
+% This is the file HLaTeX.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{HLaTeX.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling hangul fonts and characters.
+
+\gdef\CJK@HLaTeXChr{
+
+% KS symbols -- for Hiragana and Katagana, no kinsoku shori is provided!
+
+ \CJK@global\def\CJK@symbA##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+ \CJK@global\def\CJK@symbB##1{
+ {\CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{KS}{A3}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \ifnum ##1 = 220\relax
+ \edef\CJK@plane{04}
+ \else
+ \edef\CJK@plane{07}
+ \fi
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/163/\number ##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{163}{##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{KS}{A3}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}}
+
+ \CJK@global\def\CJK@symbC##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \ifnum ##3 < ##1\relax
+ \edef\CJK@plane{07}
+ \else
+ \ifnum ##3 > 245\relax
+ \edef\CJK@plane{06}
+ \else
+ \edef\CJK@plane{04}
+ \fi
+ \fi
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+ \CJK@global\def\CJK@symbD##1{
+ {\CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{KS}{A1}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \edef\CJK@plane{05}
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/161/\number ##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{161}{##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{KS}{A1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}}
+
+
+% Hangul syllables
+
+ \CJK@global\def\CJK@altchar##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@altcharx##1##2##3##4##5{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \ifnum ##5 < ##3\relax
+ \edef\CJK@plane{##1}
+ \else
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##4/\number ##5/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##4}{##5}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+% Hanja
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4##5{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \ifnum ##5 < ##3\relax
+ \edef\CJK@plane{##1}
+ \else
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##4/\number ##5/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##4}{##5}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/KSHL.enc b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/KSHL.enc
new file mode 100644
index 00000000000..893b52e513f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/KSHL.enc
@@ -0,0 +1,134 @@
+% This is the file KSHL.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{KSHL.enc}[\filedate\space\fileversion]
+
+
+% KS encoding for HLaTeX >= 0.97 fonts:
+% each plane has 94 characters (but 256 characters per subfont);
+% Hangul subfonts have the postfixes 0 - 9
+% Hanja subfonts have the postfixes 10 - 29
+% Symbol subfonts have the postfixes 04 - 07
+
+\gdef\CJK@KSHLEncoding{
+ \CJK@loadChr{HLaTeX}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@symbD{##1}}% Symbols
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@symbA{05}{162}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@symbB{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@symbA{04}{164}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@symbA{07}{165}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@symbA{06}{166}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@symbA{05}{167}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@symbC{176}{168}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@symbC{177}{169}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@symbA{06}{170}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@symbA{06}{171}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@symbA{07}{172}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@altchar {0}{176}{##1}}% Hangul syllables
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@altchar {0}{177}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@altcharx{0}{1}{229}{178}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@altchar {1}{179}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@altchar {1}{180}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@altcharx{1}{2}{203}{181}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@altchar {2}{182}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@altchar {2}{183}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@altcharx{2}{3}{177}{184}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@altchar {3}{185}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@altcharx{3}{4}{245}{186}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@altchar {4}{187}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@altchar {4}{188}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@altcharx{4}{5}{219}{189}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@altchar {5}{190}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@altchar {5}{191}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@altcharx{5}{6}{193}{192}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@altchar {6}{193}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@altchar {6}{194}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@altcharx{6}{7}{167}{195}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@altchar {7}{196}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@altcharx{7}{8}{235}{197}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@altchar {8}{198}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@altchar {8}{199}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@altcharx{8}{9}{209}{200}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {10}{202}{##1}}% Hanja
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {10}{203}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{10}{11}{229}{204}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {11}{205}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {11}{206}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{11}{12}{203}{207}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {12}{208}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {12}{209}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{12}{13}{177}{210}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {13}{211}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{13}{14}{245}{212}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {14}{213}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {14}{214}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{14}{15}{219}{215}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {15}{216}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {15}{217}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{15}{16}{193}{218}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {16}{219}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char {16}{220}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{16}{17}{167}{221}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {17}{222}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{17}{18}{235}{223}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {18}{224}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {18}{225}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{18}{19}{209}{226}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {19}{227}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {19}{228}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{19}{20}{183}{229}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {20}{230}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{20}{21}{251}{231}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {21}{232}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {21}{233}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{21}{22}{225}{234}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {22}{235}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {22}{236}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{22}{23}{199}{237}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {23}{238}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char {23}{239}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{23}{24}{173}{240}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {24}{241}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{24}{25}{241}{242}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {25}{243}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {25}{244}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{25}{26}{215}{245}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {26}{246}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {26}{247}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{26}{27}{189}{248}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {27}{249}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@char {27}{250}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@charx{27}{28}{163}{251}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {28}{252}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{28}{29}{231}{253}{##1}}
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63bm.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63bm.fd
new file mode 100644
index 00000000000..bc4b9301682
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63bm.fd
@@ -0,0 +1,53 @@
+% This is file c63bm.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63bm.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcBom
+
+\DeclareFontFamily{C63}{bm}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{bm}{c}{n}{<-> CJK * wbmc}{}
+\DeclareFontShape{C63}{bm}{c}{sl}{<-> CJK * wbmco}{}
+\DeclareFontShape{C63}{bm}{c}{it}{<-> CJKssub * bm/c/sl}{}
+
+\DeclareFontShape{C63}{bm}{m}{n}{<-> CJK * wbm}{}
+\DeclareFontShape{C63}{bm}{m}{sl}{<-> CJK * wbmo}{}
+\DeclareFontShape{C63}{bm}{m}{it}{<-> CJKssub * bm/m/sl}{}
+
+\DeclareFontShape{C63}{bm}{x}{n}{<-> CJK * wbmx}{}
+\DeclareFontShape{C63}{bm}{x}{sl}{<-> CJK * wbmxo}{}
+\DeclareFontShape{C63}{bm}{x}{it}{<-> CJKssub * bm/x/sl}{}
+
+\DeclareFontShape{C63}{bm}{ux}{n}{<-> CJK * wbmu}{}
+\DeclareFontShape{C63}{bm}{ux}{sl}{<-> CJK * wbmuo}{}
+\DeclareFontShape{C63}{bm}{ux}{it}{<-> CJKssub * bm/ux/sl}{}
+
+\DeclareFontShape{C63}{bm}{bc}{n}{<-> CJKb * wbmc}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bc}{sl}{<-> CJKb * wbmco}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bc}{it}{<-> CJKssub * bm/bc/sl}{}
+
+\DeclareFontShape{C63}{bm}{b}{n}{<-> CJKb * wbm}{\CJKbold}
+\DeclareFontShape{C63}{bm}{b}{sl}{<-> CJKb * wbmo}{\CJKbold}
+\DeclareFontShape{C63}{bm}{b}{it}{<-> CJKssub * bm/b/sl}{}
+
+\DeclareFontShape{C63}{bm}{bx}{n}{<-> CJKb * wbmx}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bx}{sl}{<-> CJKb * wbmxo}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bx}{it}{<-> CJKssub * bm/bx/sl}{}
+
+\DeclareFontShape{C63}{bm}{bux}{n}{<-> CJKb * wbmu}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bux}{sl}{<-> CJKb * wbmuo}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bux}{it}{<-> CJKssub * bm/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63dn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63dn.fd
new file mode 100644
index 00000000000..9682753a397
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63dn.fd
@@ -0,0 +1,69 @@
+% This is file c63dn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63dn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcDinaru
+
+\DeclareFontFamily{C63}{dn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{dn}{c}{n}{<-> CJK * wdnc}{}
+\DeclareFontShape{C63}{dn}{c}{sl}{<-> CJK * wdnco}{}
+\DeclareFontShape{C63}{dn}{c}{it}{<-> CJKssub * dn/c/sl}{}
+
+\DeclareFontShape{C63}{dn}{m}{n}{<-> CJK * wdn}{}
+\DeclareFontShape{C63}{dn}{m}{sl}{<-> CJK * wdno}{}
+\DeclareFontShape{C63}{dn}{m}{it}{<-> CJKssub * dn/m/sl}{}
+
+\DeclareFontShape{C63}{dn}{x}{n}{<-> CJK * wdnx}{}
+\DeclareFontShape{C63}{dn}{x}{sl}{<-> CJK * wdnxo}{}
+\DeclareFontShape{C63}{dn}{x}{it}{<-> CJKssub * dn/x/sl}{}
+
+\DeclareFontShape{C63}{dn}{ux}{n}{<-> CJK * wdnu}{}
+\DeclareFontShape{C63}{dn}{ux}{sl}{<-> CJK * wdnuo}{}
+\DeclareFontShape{C63}{dn}{ux}{it}{<-> CJKssub * dn/ux/sl}{}
+
+\DeclareFontShape{C63}{dn}{bc}{n}{<-> CJK * wdnbc}{}
+\DeclareFontShape{C63}{dn}{bc}{sl}{<-> CJK * wdnbco}{}
+\DeclareFontShape{C63}{dn}{bc}{it}{<-> CJKssub * dn/bc/sl}{}
+
+\DeclareFontShape{C63}{dn}{b}{n}{<-> CJK * wdnb}{}
+\DeclareFontShape{C63}{dn}{b}{sl}{<-> CJK * wdnbo}{}
+\DeclareFontShape{C63}{dn}{b}{it}{<-> CJKssub * dn/b/sl}{}
+
+\DeclareFontShape{C63}{dn}{bx}{n}{<-> CJK * wdnbx}{}
+\DeclareFontShape{C63}{dn}{bx}{sl}{<-> CJK * wdnbxo}{}
+\DeclareFontShape{C63}{dn}{bx}{it}{<-> CJKssub * dn/bx/sl}{}
+
+\DeclareFontShape{C63}{dn}{bux}{n}{<-> CJK * wdnbu}{}
+\DeclareFontShape{C63}{dn}{bux}{sl}{<-> CJK * wdnbuo}{}
+\DeclareFontShape{C63}{dn}{bux}{it}{<-> CJKssub * dn/bux/sl}{}
+
+\DeclareFontShape{C63}{dn}{lc}{n}{<-> CJK * wdnlc}{}
+\DeclareFontShape{C63}{dn}{lc}{sl}{<-> CJK * wdnlco}{}
+\DeclareFontShape{C63}{dn}{lc}{it}{<-> CJKssub * dn/lc/sl}{}
+
+\DeclareFontShape{C63}{dn}{l}{n}{<-> CJK * wdnl}{}
+\DeclareFontShape{C63}{dn}{l}{sl}{<-> CJK * wdnlo}{}
+\DeclareFontShape{C63}{dn}{l}{it}{<-> CJKssub * dn/l/sl}{}
+
+\DeclareFontShape{C63}{dn}{lx}{n}{<-> CJK * wdnlx}{}
+\DeclareFontShape{C63}{dn}{lx}{sl}{<-> CJK * wdnlxo}{}
+\DeclareFontShape{C63}{dn}{lx}{it}{<-> CJKssub * dn/lx/sl}{}
+
+\DeclareFontShape{C63}{dn}{lux}{n}{<-> CJK * wdnlu}{}
+\DeclareFontShape{C63}{dn}{lux}{sl}{<-> CJK * wdnluo}{}
+\DeclareFontShape{C63}{dn}{lux}{it}{<-> CJKssub * dn/lux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gr.fd
new file mode 100644
index 00000000000..eba4c545227
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gr.fd
@@ -0,0 +1,53 @@
+% This is file c63gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGraphic
+
+\DeclareFontFamily{C63}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{gr}{c}{n}{<-> CJK * wgrc}{}
+\DeclareFontShape{C63}{gr}{c}{sl}{<-> CJK * wgrco}{}
+\DeclareFontShape{C63}{gr}{c}{it}{<-> CJKssub * gr/c/sl}{}
+
+\DeclareFontShape{C63}{gr}{m}{n}{<-> CJK * wgr}{}
+\DeclareFontShape{C63}{gr}{m}{sl}{<-> CJK * wgro}{}
+\DeclareFontShape{C63}{gr}{m}{it}{<-> CJKssub * gr/m/sl}{}
+
+\DeclareFontShape{C63}{gr}{x}{n}{<-> CJK * wgrx}{}
+\DeclareFontShape{C63}{gr}{x}{sl}{<-> CJK * wgrxo}{}
+\DeclareFontShape{C63}{gr}{x}{it}{<-> CJKssub * gr/x/sl}{}
+
+\DeclareFontShape{C63}{gr}{ux}{n}{<-> CJK * wgru}{}
+\DeclareFontShape{C63}{gr}{ux}{sl}{<-> CJK * wgruo}{}
+\DeclareFontShape{C63}{gr}{ux}{it}{<-> CJKssub * gr/ux/sl}{}
+
+\DeclareFontShape{C63}{gr}{bc}{n}{<-> CJK * wgrbc}{}
+\DeclareFontShape{C63}{gr}{bc}{sl}{<-> CJK * wgrbco}{}
+\DeclareFontShape{C63}{gr}{bc}{it}{<-> CJKssub * gr/bc/sl}{}
+
+\DeclareFontShape{C63}{gr}{b}{n}{<-> CJK * wgrb}{}
+\DeclareFontShape{C63}{gr}{b}{sl}{<-> CJK * wgrbo}{}
+\DeclareFontShape{C63}{gr}{b}{it}{<-> CJKssub * gr/b/sl}{}
+
+\DeclareFontShape{C63}{gr}{bx}{n}{<-> CJK * wgrbx}{}
+\DeclareFontShape{C63}{gr}{bx}{sl}{<-> CJK * wgrbxo}{}
+\DeclareFontShape{C63}{gr}{bx}{it}{<-> CJKssub * gr/bx/sl}{}
+
+\DeclareFontShape{C63}{gr}{bux}{n}{<-> CJK * wgrbu}{}
+\DeclareFontShape{C63}{gr}{bux}{sl}{<-> CJK * wgrbuo}{}
+\DeclareFontShape{C63}{gr}{bux}{it}{<-> CJKssub * gr/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gs.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gs.fd
new file mode 100644
index 00000000000..e7970fab6ad
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gs.fd
@@ -0,0 +1,53 @@
+% This is file c63gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGungseo
+
+\DeclareFontFamily{C63}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{gs}{bc}{n}{<-> CJK * wgsc}{}
+\DeclareFontShape{C63}{gs}{bc}{sl}{<-> CJK * wgsco}{}
+\DeclareFontShape{C63}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C63}{gs}{b}{n}{<-> CJK * wgs}{}
+\DeclareFontShape{C63}{gs}{b}{sl}{<-> CJK * wgso}{}
+\DeclareFontShape{C63}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C63}{gs}{bx}{n}{<-> CJK * wgsx}{}
+\DeclareFontShape{C63}{gs}{bx}{sl}{<-> CJK * wgsxo}{}
+\DeclareFontShape{C63}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C63}{gs}{bux}{n}{<-> CJK * wgsu}{}
+\DeclareFontShape{C63}{gs}{bux}{sl}{<-> CJK * wgsuo}{}
+\DeclareFontShape{C63}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\DeclareFontShape{C63}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{}
+\DeclareFontShape{C63}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{}
+\DeclareFontShape{C63}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C63}{gs}{m}{n}{<-> CJKssub * gs/b/n}{}
+\DeclareFontShape{C63}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{}
+\DeclareFontShape{C63}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C63}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{}
+\DeclareFontShape{C63}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{}
+\DeclareFontShape{C63}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C63}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{}
+\DeclareFontShape{C63}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{}
+\DeclareFontShape{C63}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gt.fd
new file mode 100644
index 00000000000..86a1c37e590
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gt.fd
@@ -0,0 +1,53 @@
+% This is file c63gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGothic
+
+\DeclareFontFamily{C63}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{gt}{c}{n}{<-> CJK * wgtc}{}
+\DeclareFontShape{C63}{gt}{c}{sl}{<-> CJK * wgtco}{}
+\DeclareFontShape{C63}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{}
+
+\DeclareFontShape{C63}{gt}{m}{n}{<-> CJK * wgt}{}
+\DeclareFontShape{C63}{gt}{m}{sl}{<-> CJK * wgto}{}
+\DeclareFontShape{C63}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{}
+
+\DeclareFontShape{C63}{gt}{x}{n}{<-> CJK * wgtx}{}
+\DeclareFontShape{C63}{gt}{x}{sl}{<-> CJK * wgtxo}{}
+\DeclareFontShape{C63}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{}
+
+\DeclareFontShape{C63}{gt}{ux}{n}{<-> CJK * wgtu}{}
+\DeclareFontShape{C63}{gt}{ux}{sl}{<-> CJK * wgtuo}{}
+\DeclareFontShape{C63}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{}
+
+\DeclareFontShape{C63}{gt}{bc}{n}{<-> CJK * wgtbc}{}
+\DeclareFontShape{C63}{gt}{bc}{sl}{<-> CJK * wgtbco}{}
+\DeclareFontShape{C63}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{}
+
+\DeclareFontShape{C63}{gt}{b}{n}{<-> CJK * wgtb}{}
+\DeclareFontShape{C63}{gt}{b}{sl}{<-> CJK * wgtbo}{}
+\DeclareFontShape{C63}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{}
+
+\DeclareFontShape{C63}{gt}{bx}{n}{<-> CJK * wgtbx}{}
+\DeclareFontShape{C63}{gt}{bx}{sl}{<-> CJK * wgtbxo}{}
+\DeclareFontShape{C63}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{}
+
+\DeclareFontShape{C63}{gt}{bux}{n}{<-> CJK * wgtbu}{}
+\DeclareFontShape{C63}{gt}{bux}{sl}{<-> CJK * wgtbuo}{}
+\DeclareFontShape{C63}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jgt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jgt.fd
new file mode 100644
index 00000000000..61a905ee896
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jgt.fd
@@ -0,0 +1,53 @@
+% This is file c63jgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63jgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoGothic
+
+\DeclareFontFamily{C63}{jgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jgt}{c}{n}{<-> CJK * wjgtc}{}
+\DeclareFontShape{C63}{jgt}{c}{sl}{<-> CJK * wjgtco}{}
+\DeclareFontShape{C63}{jgt}{c}{it}{<-> CJKssub * jgt/c/sl}{}
+
+\DeclareFontShape{C63}{jgt}{m}{n}{<-> CJK * wjgt}{}
+\DeclareFontShape{C63}{jgt}{m}{sl}{<-> CJK * wjgto}{}
+\DeclareFontShape{C63}{jgt}{m}{it}{<-> CJKssub * jgt/m/sl}{}
+
+\DeclareFontShape{C63}{jgt}{x}{n}{<-> CJK * wjgtx}{}
+\DeclareFontShape{C63}{jgt}{x}{sl}{<-> CJK * wjgtxo}{}
+\DeclareFontShape{C63}{jgt}{x}{it}{<-> CJKssub * jgt/x/sl}{}
+
+\DeclareFontShape{C63}{jgt}{ux}{n}{<-> CJK * wjgtu}{}
+\DeclareFontShape{C63}{jgt}{ux}{sl}{<-> CJK * wjgtuo}{}
+\DeclareFontShape{C63}{jgt}{ux}{it}{<-> CJKssub * jgt/ux/sl}{}
+
+\DeclareFontShape{C63}{jgt}{bc}{n}{<-> CJKb * wjgtc}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bc}{sl}{<-> CJKb * wjgtco}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bc}{it}{<-> CJKssub * jgt/bc/sl}{}
+
+\DeclareFontShape{C63}{jgt}{b}{n}{<-> CJKb * wjgt}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{b}{sl}{<-> CJKb * wjgto}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{b}{it}{<-> CJKssub * jgt/b/sl}{}
+
+\DeclareFontShape{C63}{jgt}{bx}{n}{<-> CJKb * wjgtx}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bx}{sl}{<-> CJKb * wjgtxo}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bx}{it}{<-> CJKssub * jgt/bx/sl}{}
+
+\DeclareFontShape{C63}{jgt}{bux}{n}{<-> CJKb * wjgtu}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bux}{sl}{<-> CJKb * wjgtuo}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bux}{it}{<-> CJKssub * jgt/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jmj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jmj.fd
new file mode 100644
index 00000000000..1d9cbce0399
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jmj.fd
@@ -0,0 +1,53 @@
+% This is file c63jmj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63jmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoMyoungjo
+
+\DeclareFontFamily{C63}{jmj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jmj}{c}{n}{<-> CJK * wjmjc}{}
+\DeclareFontShape{C63}{jmj}{c}{sl}{<-> CJK * wjmjco}{}
+\DeclareFontShape{C63}{jmj}{c}{it}{<-> CJKssub * jmj/c/sl}{}
+
+\DeclareFontShape{C63}{jmj}{m}{n}{<-> CJK * wjmj}{}
+\DeclareFontShape{C63}{jmj}{m}{sl}{<-> CJK * wjmjo}{}
+\DeclareFontShape{C63}{jmj}{m}{it}{<-> CJKssub * jmj/m/sl}{}
+
+\DeclareFontShape{C63}{jmj}{x}{n}{<-> CJK * wjmjx}{}
+\DeclareFontShape{C63}{jmj}{x}{sl}{<-> CJK * wjmjxo}{}
+\DeclareFontShape{C63}{jmj}{x}{it}{<-> CJKssub * jmj/x/sl}{}
+
+\DeclareFontShape{C63}{jmj}{ux}{n}{<-> CJK * wjmju}{}
+\DeclareFontShape{C63}{jmj}{ux}{sl}{<-> CJK * wjmjuo}{}
+\DeclareFontShape{C63}{jmj}{ux}{it}{<-> CJKssub * jmj/ux/sl}{}
+
+\DeclareFontShape{C63}{jmj}{bc}{n}{<-> CJKb * wjmjc}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bc}{sl}{<-> CJKb * wjmjco}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bc}{it}{<-> CJKssub * jmj/bc/sl}{}
+
+\DeclareFontShape{C63}{jmj}{b}{n}{<-> CJKb * wjmj}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{b}{sl}{<-> CJKb * wjmjo}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{b}{it}{<-> CJKssub * jmj/b/sl}{}
+
+\DeclareFontShape{C63}{jmj}{bx}{n}{<-> CJKb * wjmjx}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bx}{sl}{<-> CJKb * wjmjxo}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bx}{it}{<-> CJKssub * jmj/bx/sl}{}
+
+\DeclareFontShape{C63}{jmj}{bux}{n}{<-> CJKb * wjmju}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bux}{sl}{<-> CJKb * wjmjuo}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bux}{it}{<-> CJKssub * jmj/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jnv.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jnv.fd
new file mode 100644
index 00000000000..38261170d9c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jnv.fd
@@ -0,0 +1,53 @@
+% This is file c63jnv.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63jnv.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoNovel
+
+\DeclareFontFamily{C63}{jnv}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jnv}{c}{n}{<-> CJK * wjnvc}{}
+\DeclareFontShape{C63}{jnv}{c}{sl}{<-> CJK * wjnvco}{}
+\DeclareFontShape{C63}{jnv}{c}{it}{<-> CJKssub * jnv/c/sl}{}
+
+\DeclareFontShape{C63}{jnv}{m}{n}{<-> CJK * wjnv}{}
+\DeclareFontShape{C63}{jnv}{m}{sl}{<-> CJK * wjnvo}{}
+\DeclareFontShape{C63}{jnv}{m}{it}{<-> CJKssub * jnv/m/sl}{}
+
+\DeclareFontShape{C63}{jnv}{x}{n}{<-> CJK * wjnvx}{}
+\DeclareFontShape{C63}{jnv}{x}{sl}{<-> CJK * wjnvxo}{}
+\DeclareFontShape{C63}{jnv}{x}{it}{<-> CJKssub * jnv/x/sl}{}
+
+\DeclareFontShape{C63}{jnv}{ux}{n}{<-> CJK * wjnvu}{}
+\DeclareFontShape{C63}{jnv}{ux}{sl}{<-> CJK * wjnvuo}{}
+\DeclareFontShape{C63}{jnv}{ux}{it}{<-> CJKssub * jnv/ux/sl}{}
+
+\DeclareFontShape{C63}{jnv}{bc}{n}{<-> CJKb * wjnvc}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bc}{sl}{<-> CJKb * wjnvco}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bc}{it}{<-> CJKssub * jnv/bc/sl}{}
+
+\DeclareFontShape{C63}{jnv}{b}{n}{<-> CJKb * wjnv}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{b}{sl}{<-> CJKb * wjnvo}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{b}{it}{<-> CJKssub * jnv/b/sl}{}
+
+\DeclareFontShape{C63}{jnv}{bx}{n}{<-> CJKb * wjnvx}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bx}{sl}{<-> CJKb * wjnvxo}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bx}{it}{<-> CJKssub * jnv/bx/sl}{}
+
+\DeclareFontShape{C63}{jnv}{bux}{n}{<-> CJKb * wjnvu}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bux}{sl}{<-> CJKb * wjnvuo}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bux}{it}{<-> CJKssub * jnv/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jsr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jsr.fd
new file mode 100644
index 00000000000..051131f3260
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jsr.fd
@@ -0,0 +1,53 @@
+% This is file c63jsr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63jsr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoSora
+
+\DeclareFontFamily{C63}{jsr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jsr}{c}{n}{<-> CJK * wjsrc}{}
+\DeclareFontShape{C63}{jsr}{c}{sl}{<-> CJK * wjsrco}{}
+\DeclareFontShape{C63}{jsr}{c}{it}{<-> CJKssub * jsr/c/sl}{}
+
+\DeclareFontShape{C63}{jsr}{m}{n}{<-> CJK * wjsr}{}
+\DeclareFontShape{C63}{jsr}{m}{sl}{<-> CJK * wjsro}{}
+\DeclareFontShape{C63}{jsr}{m}{it}{<-> CJKssub * jsr/m/sl}{}
+
+\DeclareFontShape{C63}{jsr}{x}{n}{<-> CJK * wjsrx}{}
+\DeclareFontShape{C63}{jsr}{x}{sl}{<-> CJK * wjsrxo}{}
+\DeclareFontShape{C63}{jsr}{x}{it}{<-> CJKssub * jsr/x/sl}{}
+
+\DeclareFontShape{C63}{jsr}{ux}{n}{<-> CJK * wjsru}{}
+\DeclareFontShape{C63}{jsr}{ux}{sl}{<-> CJK * wjsruo}{}
+\DeclareFontShape{C63}{jsr}{ux}{it}{<-> CJKssub * jsr/ux/sl}{}
+
+\DeclareFontShape{C63}{jsr}{bc}{n}{<-> CJKb * wjsrc}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bc}{sl}{<-> CJKb * wjsrco}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bc}{it}{<-> CJKssub * jsr/bc/sl}{}
+
+\DeclareFontShape{C63}{jsr}{b}{n}{<-> CJKb * wjsr}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{b}{sl}{<-> CJKb * wjsro}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{b}{it}{<-> CJKssub * jsr/b/sl}{}
+
+\DeclareFontShape{C63}{jsr}{bx}{n}{<-> CJKb * wjsrx}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bx}{sl}{<-> CJKb * wjsrxo}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bx}{it}{<-> CJKssub * jsr/bx/sl}{}
+
+\DeclareFontShape{C63}{jsr}{bux}{n}{<-> CJKb * wjsru}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bux}{sl}{<-> CJKb * wjsruo}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bux}{it}{<-> CJKssub * jsr/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63mj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63mj.fd
new file mode 100644
index 00000000000..cb8011785a7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63mj.fd
@@ -0,0 +1,53 @@
+% This is file c63mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C63}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C63}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C63}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C63}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C63}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C63}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C63}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C63}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C63}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C63}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C63}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C63}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C63}{mj}{bc}{n}{<-> CJK * wmjbc}{}
+\DeclareFontShape{C63}{mj}{bc}{sl}{<-> CJK * wmjbco}{}
+\DeclareFontShape{C63}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C63}{mj}{b}{n}{<-> CJK * wmjb}{}
+\DeclareFontShape{C63}{mj}{b}{sl}{<-> CJK * wmjbo}{}
+\DeclareFontShape{C63}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C63}{mj}{bx}{n}{<-> CJK * wmjbx}{}
+\DeclareFontShape{C63}{mj}{bx}{sl}{<-> CJK * wmjbxo}{}
+\DeclareFontShape{C63}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C63}{mj}{bux}{n}{<-> CJK * wmjbu}{}
+\DeclareFontShape{C63}{mj}{bux}{sl}{<-> CJK * wmjbuo}{}
+\DeclareFontShape{C63}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pg.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pg.fd
new file mode 100644
index 00000000000..5d949e61eaa
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pg.fd
@@ -0,0 +1,53 @@
+% This is file c63pg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63pg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgi
+
+\DeclareFontFamily{C63}{pg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{pg}{c}{n}{<-> CJK * wpgc}{}
+\DeclareFontShape{C63}{pg}{c}{sl}{<-> CJK * wpgco}{}
+\DeclareFontShape{C63}{pg}{c}{it}{<-> CJKssub * wwpg/c/sl}{}
+
+\DeclareFontShape{C63}{pg}{m}{n}{<-> CJK * wpg}{}
+\DeclareFontShape{C63}{pg}{m}{sl}{<-> CJK * wpgo}{}
+\DeclareFontShape{C63}{pg}{m}{it}{<-> CJKssub * wwpg/m/sl}{}
+
+\DeclareFontShape{C63}{pg}{x}{n}{<-> CJK * wpgx}{}
+\DeclareFontShape{C63}{pg}{x}{sl}{<-> CJK * wpgxo}{}
+\DeclareFontShape{C63}{pg}{x}{it}{<-> CJKssub * wwpg/x/sl}{}
+
+\DeclareFontShape{C63}{pg}{ux}{n}{<-> CJK * wpgu}{}
+\DeclareFontShape{C63}{pg}{ux}{sl}{<-> CJK * wpguo}{}
+\DeclareFontShape{C63}{pg}{ux}{it}{<-> CJKssub * wwpg/ux/sl}{}
+
+\DeclareFontShape{C63}{pg}{bc}{n}{<-> CJK * wpgbc}{}
+\DeclareFontShape{C63}{pg}{bc}{sl}{<-> CJK * wpgbco}{}
+\DeclareFontShape{C63}{pg}{bc}{it}{<-> CJKssub * wwpg/bc/sl}{}
+
+\DeclareFontShape{C63}{pg}{b}{n}{<-> CJK * wpgb}{}
+\DeclareFontShape{C63}{pg}{b}{sl}{<-> CJK * wpgbo}{}
+\DeclareFontShape{C63}{pg}{b}{it}{<-> CJKssub * wwpg/b/sl}{}
+
+\DeclareFontShape{C63}{pg}{bx}{n}{<-> CJK * wpgbx}{}
+\DeclareFontShape{C63}{pg}{bx}{sl}{<-> CJK * wpgbxo}{}
+\DeclareFontShape{C63}{pg}{bx}{it}{<-> CJKssub * wwpg/bx/sl}{}
+
+\DeclareFontShape{C63}{pg}{bux}{n}{<-> CJK * wpgbu}{}
+\DeclareFontShape{C63}{pg}{bux}{sl}{<-> CJK * wpgbuo}{}
+\DeclareFontShape{C63}{pg}{bux}{it}{<-> CJKssub * wwpg/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pga.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pga.fd
new file mode 100644
index 00000000000..bd3261be9d1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pga.fd
@@ -0,0 +1,53 @@
+% This is file c63pga.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63pga.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgia
+
+\DeclareFontFamily{C63}{pga}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{pga}{c}{n}{<-> CJK * wpgac}{}
+\DeclareFontShape{C63}{pga}{c}{sl}{<-> CJK * wpgaco}{}
+\DeclareFontShape{C63}{pga}{c}{it}{<-> CJKssub * pga/c/sl}{}
+
+\DeclareFontShape{C63}{pga}{m}{n}{<-> CJK * wpga}{}
+\DeclareFontShape{C63}{pga}{m}{sl}{<-> CJK * wpgao}{}
+\DeclareFontShape{C63}{pga}{m}{it}{<-> CJKssub * pga/m/sl}{}
+
+\DeclareFontShape{C63}{pga}{x}{n}{<-> CJK * wpgax}{}
+\DeclareFontShape{C63}{pga}{x}{sl}{<-> CJK * wpgaxo}{}
+\DeclareFontShape{C63}{pga}{x}{it}{<-> CJKssub * pga/x/sl}{}
+
+\DeclareFontShape{C63}{pga}{ux}{n}{<-> CJK * wpgau}{}
+\DeclareFontShape{C63}{pga}{ux}{sl}{<-> CJK * wpgauo}{}
+\DeclareFontShape{C63}{pga}{ux}{it}{<-> CJKssub * pga/ux/sl}{}
+
+\DeclareFontShape{C63}{pga}{bc}{n}{<-> CJKb * wpgac}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bc}{sl}{<-> CJKb * wpgaco}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bc}{it}{<-> CJKssub * pga/bc/sl}{}
+
+\DeclareFontShape{C63}{pga}{b}{n}{<-> CJKb * wpga}{\CJKbold}
+\DeclareFontShape{C63}{pga}{b}{sl}{<-> CJKb * wpgao}{\CJKbold}
+\DeclareFontShape{C63}{pga}{b}{it}{<-> CJKssub * pga/b/sl}{}
+
+\DeclareFontShape{C63}{pga}{bx}{n}{<-> CJKb * wpgax}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bx}{sl}{<-> CJKb * wpgaxo}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bx}{it}{<-> CJKssub * pga/bx/sl}{}
+
+\DeclareFontShape{C63}{pga}{bux}{n}{<-> CJKb * wpgau}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bux}{sl}{<-> CJKb * wpgauo}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bux}{it}{<-> CJKssub * pga/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63ph.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63ph.fd
new file mode 100644
index 00000000000..8f59e3dcffc
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63ph.fd
@@ -0,0 +1,53 @@
+% This is file c63ph.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63ph.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPenHeulim
+
+\DeclareFontFamily{C63}{ph}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{ph}{c}{n}{<-> CJK * wphc}{}
+\DeclareFontShape{C63}{ph}{c}{sl}{<-> CJK * wphco}{}
+\DeclareFontShape{C63}{ph}{c}{it}{<-> CJKssub * ph/c/sl}{}
+
+\DeclareFontShape{C63}{ph}{m}{n}{<-> CJK * wph}{}
+\DeclareFontShape{C63}{ph}{m}{sl}{<-> CJK * wpho}{}
+\DeclareFontShape{C63}{ph}{m}{it}{<-> CJKssub * ph/m/sl}{}
+
+\DeclareFontShape{C63}{ph}{x}{n}{<-> CJK * wphx}{}
+\DeclareFontShape{C63}{ph}{x}{sl}{<-> CJK * wphxo}{}
+\DeclareFontShape{C63}{ph}{x}{it}{<-> CJKssub * ph/x/sl}{}
+
+\DeclareFontShape{C63}{ph}{ux}{n}{<-> CJK * wphu}{}
+\DeclareFontShape{C63}{ph}{ux}{sl}{<-> CJK * wphuo}{}
+\DeclareFontShape{C63}{ph}{ux}{it}{<-> CJKssub * ph/ux/sl}{}
+
+\DeclareFontShape{C63}{ph}{bc}{n}{<-> CJKb * wphc}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bc}{sl}{<-> CJKb * wphco}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bc}{it}{<-> CJKssub * ph/bc/sl}{}
+
+\DeclareFontShape{C63}{ph}{b}{n}{<-> CJKb * wph}{\CJKbold}
+\DeclareFontShape{C63}{ph}{b}{sl}{<-> CJKb * wpho}{\CJKbold}
+\DeclareFontShape{C63}{ph}{b}{it}{<-> CJKssub * ph/b/sl}{}
+
+\DeclareFontShape{C63}{ph}{bx}{n}{<-> CJKb * wphx}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bx}{sl}{<-> CJKb * wphxo}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bx}{it}{<-> CJKssub * ph/bx/sl}{}
+
+\DeclareFontShape{C63}{ph}{bux}{n}{<-> CJKb * wphu}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bux}{sl}{<-> CJKb * wphuo}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bux}{it}{<-> CJKssub * ph/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pn.fd
new file mode 100644
index 00000000000..98297599ba5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pn.fd
@@ -0,0 +1,53 @@
+% This is file c63pn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63pn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPen
+
+\DeclareFontFamily{C63}{pn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{pn}{c}{n}{<-> CJK * wpnc}{}
+\DeclareFontShape{C63}{pn}{c}{sl}{<-> CJK * wpnco}{}
+\DeclareFontShape{C63}{pn}{c}{it}{<-> CJKssub * pn/c/sl}{}
+
+\DeclareFontShape{C63}{pn}{m}{n}{<-> CJK * wpn}{}
+\DeclareFontShape{C63}{pn}{m}{sl}{<-> CJK * wpno}{}
+\DeclareFontShape{C63}{pn}{m}{it}{<-> CJKssub * pn/m/sl}{}
+
+\DeclareFontShape{C63}{pn}{x}{n}{<-> CJK * wpnx}{}
+\DeclareFontShape{C63}{pn}{x}{sl}{<-> CJK * wpnxo}{}
+\DeclareFontShape{C63}{pn}{x}{it}{<-> CJKssub * pn/x/sl}{}
+
+\DeclareFontShape{C63}{pn}{ux}{n}{<-> CJK * wpnu}{}
+\DeclareFontShape{C63}{pn}{ux}{sl}{<-> CJK * wpnuo}{}
+\DeclareFontShape{C63}{pn}{ux}{it}{<-> CJKssub * pn/ux/sl}{}
+
+\DeclareFontShape{C63}{pn}{bc}{n}{<-> CJKb * wpnc}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bc}{sl}{<-> CJKb * wpnco}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bc}{it}{<-> CJKssub * pn/bc/sl}{}
+
+\DeclareFontShape{C63}{pn}{b}{n}{<-> CJKb * wpn}{\CJKbold}
+\DeclareFontShape{C63}{pn}{b}{sl}{<-> CJKb * wpno}{\CJKbold}
+\DeclareFontShape{C63}{pn}{b}{it}{<-> CJKssub * pn/b/sl}{}
+
+\DeclareFontShape{C63}{pn}{bx}{n}{<-> CJKb * wpnx}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bx}{sl}{<-> CJKb * wpnxo}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bx}{it}{<-> CJKssub * pn/bx/sl}{}
+
+\DeclareFontShape{C63}{pn}{bux}{n}{<-> CJKb * wpnu}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bux}{sl}{<-> CJKb * wpnuo}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bux}{it}{<-> CJKssub * pn/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63sh.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63sh.fd
new file mode 100644
index 00000000000..854fb0a510f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63sh.fd
@@ -0,0 +1,53 @@
+% This is file c63sh.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63sh.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcShinmunMyoungjo
+
+\DeclareFontFamily{C63}{hwsh}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{sh}{c}{n}{<-> CJK * wshc}{}
+\DeclareFontShape{C63}{sh}{c}{sl}{<-> CJK * wshco}{}
+\DeclareFontShape{C63}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{}
+
+\DeclareFontShape{C63}{sh}{m}{n}{<-> CJK * wsh}{}
+\DeclareFontShape{C63}{sh}{m}{sl}{<-> CJK * wsho}{}
+\DeclareFontShape{C63}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{}
+
+\DeclareFontShape{C63}{sh}{x}{n}{<-> CJK * wshx}{}
+\DeclareFontShape{C63}{sh}{x}{sl}{<-> CJK * wshxo}{}
+\DeclareFontShape{C63}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{}
+
+\DeclareFontShape{C63}{sh}{ux}{n}{<-> CJK * wshu}{}
+\DeclareFontShape{C63}{sh}{ux}{sl}{<-> CJK * wshuo}{}
+\DeclareFontShape{C63}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{}
+
+\DeclareFontShape{C63}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{}
+\DeclareFontShape{C63}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{}
+\DeclareFontShape{C63}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{}
+
+\DeclareFontShape{C63}{sh}{b}{n}{<-> CJKssub * sh/m/n}{}
+\DeclareFontShape{C63}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{}
+\DeclareFontShape{C63}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{}
+
+\DeclareFontShape{C63}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{}
+\DeclareFontShape{C63}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{}
+\DeclareFontShape{C63}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{}
+
+\DeclareFontShape{C63}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{}
+\DeclareFontShape{C63}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{}
+\DeclareFontShape{C63}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63tz.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63tz.fd
new file mode 100644
index 00000000000..26ee5e72c96
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63tz.fd
@@ -0,0 +1,53 @@
+% This is file c63tz.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63tz.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcTypewriter
+
+\DeclareFontFamily{C63}{tz}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{tz}{c}{n}{<-> CJK * wttc}{}
+\DeclareFontShape{C63}{tz}{c}{sl}{<-> CJK * wttco}{}
+\DeclareFontShape{C63}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{}
+
+\DeclareFontShape{C63}{tz}{m}{n}{<-> CJK * wtt}{}
+\DeclareFontShape{C63}{tz}{m}{sl}{<-> CJK * wtto}{}
+\DeclareFontShape{C63}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{}
+
+\DeclareFontShape{C63}{tz}{x}{n}{<-> CJK * wttx}{}
+\DeclareFontShape{C63}{tz}{x}{sl}{<-> CJK * wttxo}{}
+\DeclareFontShape{C63}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{}
+
+\DeclareFontShape{C63}{tz}{ux}{n}{<-> CJK * wttu}{}
+\DeclareFontShape{C63}{tz}{ux}{sl}{<-> CJK * wttuo}{}
+\DeclareFontShape{C63}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{}
+
+\DeclareFontShape{C63}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{}
+
+\DeclareFontShape{C63}{tz}{b}{n}{<-> CJKb * wtt}{\CJKbold}
+\DeclareFontShape{C63}{tz}{b}{sl}{<-> CJKb * wtto}{\CJKbold}
+\DeclareFontShape{C63}{tz}{b}{it}{<-> CJKssub * tz/b/sl}{}
+
+\DeclareFontShape{C63}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{}
+
+\DeclareFontShape{C63}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63vd.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63vd.fd
new file mode 100644
index 00000000000..884ecafe952
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63vd.fd
@@ -0,0 +1,53 @@
+% This is file c63vd.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63vd.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcVada
+
+\DeclareFontFamily{C63}{vd}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{vd}{c}{n}{<-> CJK * wvdc}{}
+\DeclareFontShape{C63}{vd}{c}{sl}{<-> CJK * wvdco}{}
+\DeclareFontShape{C63}{vd}{c}{it}{<-> CJKssub * vd/c/sl}{}
+
+\DeclareFontShape{C63}{vd}{m}{n}{<-> CJK * wvd}{}
+\DeclareFontShape{C63}{vd}{m}{sl}{<-> CJK * wvdo}{}
+\DeclareFontShape{C63}{vd}{m}{it}{<-> CJKssub * vd/m/sl}{}
+
+\DeclareFontShape{C63}{vd}{x}{n}{<-> CJK * wvdx}{}
+\DeclareFontShape{C63}{vd}{x}{sl}{<-> CJK * wvdxo}{}
+\DeclareFontShape{C63}{vd}{x}{it}{<-> CJKssub * vd/x/sl}{}
+
+\DeclareFontShape{C63}{vd}{ux}{n}{<-> CJK * wvdu}{}
+\DeclareFontShape{C63}{vd}{ux}{sl}{<-> CJK * wvduo}{}
+\DeclareFontShape{C63}{vd}{ux}{it}{<-> CJKssub * vd/ux/sl}{}
+
+\DeclareFontShape{C63}{vd}{bc}{n}{<-> CJKb * wvdc}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bc}{sl}{<-> CJKb * wvdco}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bc}{it}{<-> CJKssub * vd/bc/sl}{}
+
+\DeclareFontShape{C63}{vd}{b}{n}{<-> CJKb * wvd}{\CJKbold}
+\DeclareFontShape{C63}{vd}{b}{sl}{<-> CJKb * wvdo}{\CJKbold}
+\DeclareFontShape{C63}{vd}{b}{it}{<-> CJKssub * vd/b/sl}{}
+
+\DeclareFontShape{C63}{vd}{bx}{n}{<-> CJKb * wvdx}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bx}{sl}{<-> CJKb * wvdxo}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bx}{it}{<-> CJKssub * vd/bx/sl}{}
+
+\DeclareFontShape{C63}{vd}{bux}{n}{<-> CJKb * wvdu}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bux}{sl}{<-> CJKb * wvduo}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bux}{it}{<-> CJKssub * vd/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63yt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63yt.fd
new file mode 100644
index 00000000000..00ab44bf35c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63yt.fd
@@ -0,0 +1,53 @@
+% This is file c63yt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63yt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcYetgul
+
+\DeclareFontFamily{C63}{yt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{yt}{c}{n}{<-> CJK * wytc}{}
+\DeclareFontShape{C63}{yt}{c}{sl}{<-> CJK * wytco}{}
+\DeclareFontShape{C63}{yt}{c}{it}{<-> CJKssub * yt/c/sl}{}
+
+\DeclareFontShape{C63}{yt}{m}{n}{<-> CJK * wyt}{}
+\DeclareFontShape{C63}{yt}{m}{sl}{<-> CJK * wyto}{}
+\DeclareFontShape{C63}{yt}{m}{it}{<-> CJKssub * yt/m/sl}{}
+
+\DeclareFontShape{C63}{yt}{x}{n}{<-> CJK * wytx}{}
+\DeclareFontShape{C63}{yt}{x}{sl}{<-> CJK * wytxo}{}
+\DeclareFontShape{C63}{yt}{x}{it}{<-> CJKssub * yt/x/sl}{}
+
+\DeclareFontShape{C63}{yt}{ux}{n}{<-> CJK * wytu}{}
+\DeclareFontShape{C63}{yt}{ux}{sl}{<-> CJK * wytuo}{}
+\DeclareFontShape{C63}{yt}{ux}{it}{<-> CJKssub * yt/ux/sl}{}
+
+\DeclareFontShape{C63}{yt}{bc}{n}{<-> CJKb * wytc}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bc}{sl}{<-> CJKb * wytco}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bc}{it}{<-> CJKssub * yt/bc/sl}{}
+
+\DeclareFontShape{C63}{yt}{b}{n}{<-> CJKb * wyt}{\CJKbold}
+\DeclareFontShape{C63}{yt}{b}{sl}{<-> CJKb * wyto}{\CJKbold}
+\DeclareFontShape{C63}{yt}{b}{it}{<-> CJKssub * yt/b/sl}{}
+
+\DeclareFontShape{C63}{yt}{bx}{n}{<-> CJKb * wytx}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bx}{sl}{<-> CJKb * wytxo}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bx}{it}{<-> CJKssub * yt/bx/sl}{}
+
+\DeclareFontShape{C63}{yt}{bux}{n}{<-> CJKb * wytu}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bux}{sl}{<-> CJKb * wytuo}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bux}{it}{<-> CJKssub * yt/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64bm.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64bm.fd
new file mode 100644
index 00000000000..5d8bc0cf470
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64bm.fd
@@ -0,0 +1,53 @@
+% This is file c64bm.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64bm.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcBom
+
+\DeclareFontFamily{C64}{bm}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{bm}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{bm}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{bm}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{bm}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{bm}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{bm}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{bm}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{bm}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{bm}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{bm}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{bm}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{bm}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{bm}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{bm}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{bm}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{bm}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{bm}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{bm}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{bm}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{bm}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{bm}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{bm}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{bm}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{bm}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64dn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64dn.fd
new file mode 100644
index 00000000000..1313ba099fb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64dn.fd
@@ -0,0 +1,69 @@
+% This is file c64dn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64dn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcDinaru
+
+\DeclareFontFamily{C64}{dn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{dn}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{dn}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{dn}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{dn}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{dn}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{dn}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{dn}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{dn}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{dn}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{dn}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{dn}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{dn}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{dn}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{dn}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{dn}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{dn}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{dn}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{dn}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{dn}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{dn}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{dn}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{dn}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{dn}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{dn}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\DeclareFontShape{C64}{dn}{lc}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{dn}{lc}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{dn}{lc}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{dn}{l}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{dn}{l}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{dn}{l}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{dn}{lx}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{dn}{lx}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{dn}{lx}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{dn}{lux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{dn}{lux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{dn}{lux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gr.fd
new file mode 100644
index 00000000000..9ba1643afac
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gr.fd
@@ -0,0 +1,53 @@
+% This is file c64gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGraphic
+
+\DeclareFontFamily{C64}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{gr}{c}{n}{<-> CJK * wgrc}{}
+\DeclareFontShape{C64}{gr}{c}{sl}{<-> CJK * wgrco}{}
+\DeclareFontShape{C64}{gr}{c}{it}{<-> CJKssub * gr/c/sl}{}
+
+\DeclareFontShape{C64}{gr}{m}{n}{<-> CJK * wgr}{}
+\DeclareFontShape{C64}{gr}{m}{sl}{<-> CJK * wgro}{}
+\DeclareFontShape{C64}{gr}{m}{it}{<-> CJKssub * gr/m/sl}{}
+
+\DeclareFontShape{C64}{gr}{x}{n}{<-> CJK * wgrx}{}
+\DeclareFontShape{C64}{gr}{x}{sl}{<-> CJK * wgrxo}{}
+\DeclareFontShape{C64}{gr}{x}{it}{<-> CJKssub * gr/x/sl}{}
+
+\DeclareFontShape{C64}{gr}{ux}{n}{<-> CJK * wgru}{}
+\DeclareFontShape{C64}{gr}{ux}{sl}{<-> CJK * wgruo}{}
+\DeclareFontShape{C64}{gr}{ux}{it}{<-> CJKssub * gr/ux/sl}{}
+
+\DeclareFontShape{C64}{gr}{bc}{n}{<-> CJK * wgrbc}{}
+\DeclareFontShape{C64}{gr}{bc}{sl}{<-> CJK * wgrbco}{}
+\DeclareFontShape{C64}{gr}{bc}{it}{<-> CJKssub * gr/bc/sl}{}
+
+\DeclareFontShape{C64}{gr}{b}{n}{<-> CJK * wgrb}{}
+\DeclareFontShape{C64}{gr}{b}{sl}{<-> CJK * wgrbo}{}
+\DeclareFontShape{C64}{gr}{b}{it}{<-> CJKssub * gr/b/sl}{}
+
+\DeclareFontShape{C64}{gr}{bx}{n}{<-> CJK * wgrbx}{}
+\DeclareFontShape{C64}{gr}{bx}{sl}{<-> CJK * wgrbxo}{}
+\DeclareFontShape{C64}{gr}{bx}{it}{<-> CJKssub * gr/bx/sl}{}
+
+\DeclareFontShape{C64}{gr}{bux}{n}{<-> CJK * wgrbu}{}
+\DeclareFontShape{C64}{gr}{bux}{sl}{<-> CJK * wgrbuo}{}
+\DeclareFontShape{C64}{gr}{bux}{it}{<-> CJKssub * gr/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gs.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gs.fd
new file mode 100644
index 00000000000..661eaefaf90
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gs.fd
@@ -0,0 +1,53 @@
+% This is file c64gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGungseo
+
+\DeclareFontFamily{C64}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{gs}{bc}{n}{<-> CJK * wgsc}{}
+\DeclareFontShape{C64}{gs}{bc}{sl}{<-> CJK * wgsco}{}
+\DeclareFontShape{C64}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C64}{gs}{b}{n}{<-> CJK * wgs}{}
+\DeclareFontShape{C64}{gs}{b}{sl}{<-> CJK * wgso}{}
+\DeclareFontShape{C64}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C64}{gs}{bx}{n}{<-> CJK * wgsx}{}
+\DeclareFontShape{C64}{gs}{bx}{sl}{<-> CJK * wgsxo}{}
+\DeclareFontShape{C64}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C64}{gs}{bux}{n}{<-> CJK * wgsu}{}
+\DeclareFontShape{C64}{gs}{bux}{sl}{<-> CJK * wgsuo}{}
+\DeclareFontShape{C64}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\DeclareFontShape{C64}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{}
+\DeclareFontShape{C64}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{}
+\DeclareFontShape{C64}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C64}{gs}{m}{n}{<-> CJKssub * gs/b/n}{}
+\DeclareFontShape{C64}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{}
+\DeclareFontShape{C64}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C64}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{}
+\DeclareFontShape{C64}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{}
+\DeclareFontShape{C64}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C64}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{}
+\DeclareFontShape{C64}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{}
+\DeclareFontShape{C64}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gt.fd
new file mode 100644
index 00000000000..db81dfd02c3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gt.fd
@@ -0,0 +1,53 @@
+% This is file c64gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGothic
+
+\DeclareFontFamily{C64}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{gt}{c}{n}{<-> CJK * wgtc}{}
+\DeclareFontShape{C64}{gt}{c}{sl}{<-> CJK * wgtco}{}
+\DeclareFontShape{C64}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{}
+
+\DeclareFontShape{C64}{gt}{m}{n}{<-> CJK * wgt}{}
+\DeclareFontShape{C64}{gt}{m}{sl}{<-> CJK * wgto}{}
+\DeclareFontShape{C64}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{}
+
+\DeclareFontShape{C64}{gt}{x}{n}{<-> CJK * wgtx}{}
+\DeclareFontShape{C64}{gt}{x}{sl}{<-> CJK * wgtxo}{}
+\DeclareFontShape{C64}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{}
+
+\DeclareFontShape{C64}{gt}{ux}{n}{<-> CJK * wgtu}{}
+\DeclareFontShape{C64}{gt}{ux}{sl}{<-> CJK * wgtuo}{}
+\DeclareFontShape{C64}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{}
+
+\DeclareFontShape{C64}{gt}{bc}{n}{<-> CJK * wgtbc}{}
+\DeclareFontShape{C64}{gt}{bc}{sl}{<-> CJK * wgtbco}{}
+\DeclareFontShape{C64}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{}
+
+\DeclareFontShape{C64}{gt}{b}{n}{<-> CJK * wgtb}{}
+\DeclareFontShape{C64}{gt}{b}{sl}{<-> CJK * wgtbo}{}
+\DeclareFontShape{C64}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{}
+
+\DeclareFontShape{C64}{gt}{bx}{n}{<-> CJK * wgtbx}{}
+\DeclareFontShape{C64}{gt}{bx}{sl}{<-> CJK * wgtbxo}{}
+\DeclareFontShape{C64}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{}
+
+\DeclareFontShape{C64}{gt}{bux}{n}{<-> CJK * wgtbu}{}
+\DeclareFontShape{C64}{gt}{bux}{sl}{<-> CJK * wgtbuo}{}
+\DeclareFontShape{C64}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jgt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jgt.fd
new file mode 100644
index 00000000000..3c0d15bda47
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jgt.fd
@@ -0,0 +1,53 @@
+% This is file c64jgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64jgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoGothic
+
+\DeclareFontFamily{C64}{jgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jgt}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{jgt}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{jgt}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{jgt}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{jgt}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{jgt}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{jgt}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{jgt}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{jgt}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{jgt}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{jgt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{jgt}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{jgt}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{jgt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{jgt}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{jgt}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{jgt}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{jgt}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{jgt}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{jgt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{jgt}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{jgt}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{jgt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{jgt}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jmj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jmj.fd
new file mode 100644
index 00000000000..6c10701f759
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jmj.fd
@@ -0,0 +1,53 @@
+% This is file c64jmj.fd of the CJK package
+% for using Asian logograjmjs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64jmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoMyoungjo
+
+\DeclareFontFamily{C64}{jmj}{\hyjmjenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jmj}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C64}{jmj}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C64}{jmj}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C64}{jmj}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C64}{jmj}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C64}{jmj}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C64}{jmj}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C64}{jmj}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C64}{jmj}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C64}{jmj}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C64}{jmj}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C64}{jmj}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C64}{jmj}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C64}{jmj}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C64}{jmj}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C64}{jmj}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C64}{jmj}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C64}{jmj}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C64}{jmj}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C64}{jmj}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C64}{jmj}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C64}{jmj}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C64}{jmj}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C64}{jmj}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jnv.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jnv.fd
new file mode 100644
index 00000000000..5148864360d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jnv.fd
@@ -0,0 +1,53 @@
+% This is file c64jnv.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64jnv.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoNovel
+
+\DeclareFontFamily{C64}{jnv}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jnv}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{jnv}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{jnv}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{jnv}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{jnv}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{jnv}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{jnv}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{jnv}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{jnv}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{jnv}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{jnv}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{jnv}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{jnv}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{jnv}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{jnv}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{jnv}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{jnv}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{jnv}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{jnv}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{jnv}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{jnv}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{jnv}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{jnv}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{jnv}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jsr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jsr.fd
new file mode 100644
index 00000000000..ca42dcd8c94
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jsr.fd
@@ -0,0 +1,53 @@
+% This is file c64jsr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64jsr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoSora
+
+\DeclareFontFamily{C64}{jsr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jsr}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{jsr}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{jsr}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{jsr}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{jsr}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{jsr}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{jsr}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{jsr}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{jsr}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{jsr}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{jsr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{jsr}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{jsr}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{jsr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{jsr}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{jsr}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{jsr}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{jsr}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{jsr}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{jsr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{jsr}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{jsr}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{jsr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{jsr}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64mj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64mj.fd
new file mode 100644
index 00000000000..d4d429404cd
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64mj.fd
@@ -0,0 +1,53 @@
+% This is file c64mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C64}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C64}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C64}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C64}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C64}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C64}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C64}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C64}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C64}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C64}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C64}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C64}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C64}{mj}{bc}{n}{<-> CJK * wmjbc}{}
+\DeclareFontShape{C64}{mj}{bc}{sl}{<-> CJK * wmjbco}{}
+\DeclareFontShape{C64}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C64}{mj}{b}{n}{<-> CJK * wmjb}{}
+\DeclareFontShape{C64}{mj}{b}{sl}{<-> CJK * wmjbo}{}
+\DeclareFontShape{C64}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C64}{mj}{bx}{n}{<-> CJK * wmjbx}{}
+\DeclareFontShape{C64}{mj}{bx}{sl}{<-> CJK * wmjbxo}{}
+\DeclareFontShape{C64}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C64}{mj}{bux}{n}{<-> CJK * wmjbu}{}
+\DeclareFontShape{C64}{mj}{bux}{sl}{<-> CJK * wmjbuo}{}
+\DeclareFontShape{C64}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pg.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pg.fd
new file mode 100644
index 00000000000..df6c644753d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pg.fd
@@ -0,0 +1,53 @@
+% This is file c64pg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64pg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgi
+
+\DeclareFontFamily{C64}{pg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{pg}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{pg}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{pg}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{pg}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{pg}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{pg}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{pg}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{pg}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{pg}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{pg}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{pg}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{pg}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{pg}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{pg}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{pg}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{pg}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{pg}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{pg}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{pg}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{pg}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{pg}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{pg}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{pg}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{pg}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pga.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pga.fd
new file mode 100644
index 00000000000..a2adf9a457d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pga.fd
@@ -0,0 +1,53 @@
+% This is file c64pga.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64pga.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgia
+
+\DeclareFontFamily{C64}{pga}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{pga}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{pga}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{pga}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{pga}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{pga}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{pga}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{pga}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{pga}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{pga}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{pga}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{pga}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{pga}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{pga}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{pga}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{pga}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{pga}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{pga}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{pga}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{pga}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{pga}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{pga}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{pga}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{pga}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{pga}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64ph.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64ph.fd
new file mode 100644
index 00000000000..6d524bd701c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64ph.fd
@@ -0,0 +1,53 @@
+% This is file c64ph.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64ph.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPenHeulim
+
+\DeclareFontFamily{C64}{ph}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{ph}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C64}{ph}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C64}{ph}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C64}{ph}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C64}{ph}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C64}{ph}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C64}{ph}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C64}{ph}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C64}{ph}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C64}{ph}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C64}{ph}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C64}{ph}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C64}{ph}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C64}{ph}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C64}{ph}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C64}{ph}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C64}{ph}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C64}{ph}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C64}{ph}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C64}{ph}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C64}{ph}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C64}{ph}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C64}{ph}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C64}{ph}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pn.fd
new file mode 100644
index 00000000000..a975e0038ab
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pn.fd
@@ -0,0 +1,53 @@
+% This is file c64pn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64pn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPen
+
+\DeclareFontFamily{C64}{pn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{pn}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C64}{pn}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C64}{pn}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C64}{pn}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C64}{pn}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C64}{pn}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C64}{pn}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C64}{pn}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C64}{pn}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C64}{pn}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C64}{pn}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C64}{pn}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C64}{pn}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C64}{pn}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C64}{pn}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C64}{pn}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C64}{pn}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C64}{pn}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C64}{pn}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C64}{pn}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C64}{pn}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C64}{pn}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C64}{pn}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C64}{pn}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64sh.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64sh.fd
new file mode 100644
index 00000000000..9f62cb67638
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64sh.fd
@@ -0,0 +1,53 @@
+% This is file c64sh.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64sh.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcShinmunMyoungjo
+
+\DeclareFontFamily{C64}{hwsh}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{sh}{c}{n}{<-> CJK * wshc}{}
+\DeclareFontShape{C64}{sh}{c}{sl}{<-> CJK * wshco}{}
+\DeclareFontShape{C64}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{}
+
+\DeclareFontShape{C64}{sh}{m}{n}{<-> CJK * wsh}{}
+\DeclareFontShape{C64}{sh}{m}{sl}{<-> CJK * wsho}{}
+\DeclareFontShape{C64}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{}
+
+\DeclareFontShape{C64}{sh}{x}{n}{<-> CJK * wshx}{}
+\DeclareFontShape{C64}{sh}{x}{sl}{<-> CJK * wshxo}{}
+\DeclareFontShape{C64}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{}
+
+\DeclareFontShape{C64}{sh}{ux}{n}{<-> CJK * wshu}{}
+\DeclareFontShape{C64}{sh}{ux}{sl}{<-> CJK * wshuo}{}
+\DeclareFontShape{C64}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{}
+
+\DeclareFontShape{C64}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{}
+\DeclareFontShape{C64}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{}
+\DeclareFontShape{C64}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{}
+
+\DeclareFontShape{C64}{sh}{b}{n}{<-> CJKssub * sh/m/n}{}
+\DeclareFontShape{C64}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{}
+\DeclareFontShape{C64}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{}
+
+\DeclareFontShape{C64}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{}
+\DeclareFontShape{C64}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{}
+\DeclareFontShape{C64}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{}
+
+\DeclareFontShape{C64}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{}
+\DeclareFontShape{C64}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{}
+\DeclareFontShape{C64}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64tz.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64tz.fd
new file mode 100644
index 00000000000..fc38f618e1b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64tz.fd
@@ -0,0 +1,53 @@
+% This is file c64tz.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64tz.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcTypewriter
+
+\DeclareFontFamily{C64}{tz}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{tz}{c}{n}{<-> CJK * wttc}{}
+\DeclareFontShape{C64}{tz}{c}{sl}{<-> CJK * wttco}{}
+\DeclareFontShape{C64}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{}
+
+\DeclareFontShape{C64}{tz}{m}{n}{<-> CJK * wtt}{}
+\DeclareFontShape{C64}{tz}{m}{sl}{<-> CJK * wtto}{}
+\DeclareFontShape{C64}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{}
+
+\DeclareFontShape{C64}{tz}{x}{n}{<-> CJK * wttx}{}
+\DeclareFontShape{C64}{tz}{x}{sl}{<-> CJK * wttxo}{}
+\DeclareFontShape{C64}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{}
+
+\DeclareFontShape{C64}{tz}{ux}{n}{<-> CJK * wttu}{}
+\DeclareFontShape{C64}{tz}{ux}{sl}{<-> CJK * wttuo}{}
+\DeclareFontShape{C64}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{}
+
+\DeclareFontShape{C64}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{}
+
+\DeclareFontShape{C64}{tz}{bm}{n}{<-> CJKb * wtt}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bm}{sl}{<-> CJKb * wtto}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bm}{it}{<-> CJKssub * tz/b/sl}{}
+
+\DeclareFontShape{C64}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{}
+
+\DeclareFontShape{C64}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64vd.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64vd.fd
new file mode 100644
index 00000000000..2351cff078d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64vd.fd
@@ -0,0 +1,53 @@
+% This is file c64vd.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64vd.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcVada
+
+\DeclareFontFamily{C64}{vd}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{vd}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{vd}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{vd}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{vd}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{vd}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{vd}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{vd}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{vd}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{vd}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{vd}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{vd}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{vd}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{vd}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{vd}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{vd}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{vd}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{vd}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{vd}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{vd}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{vd}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{vd}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{vd}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{vd}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{vd}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64yt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64yt.fd
new file mode 100644
index 00000000000..541e598d7e4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64yt.fd
@@ -0,0 +1,53 @@
+% This is file c64yt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64yt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcYetgul
+
+\DeclareFontFamily{C64}{yt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{yt}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{yt}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{yt}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{yt}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{yt}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{yt}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{yt}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{yt}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{yt}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{yt}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{yt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{yt}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{yt}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{yt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{yt}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{yt}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{yt}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{yt}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{yt}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{yt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{yt}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{yt}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{yt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{yt}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65bm.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65bm.fd
new file mode 100644
index 00000000000..f196b245c30
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65bm.fd
@@ -0,0 +1,53 @@
+% This is file c65bm.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65bm.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcBom
+
+\DeclareFontFamily{C65}{bm}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{bm}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{bm}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{bm}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{bm}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{bm}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{bm}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{bm}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{bm}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{bm}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{bm}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{bm}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{bm}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{bm}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{bm}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{bm}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{bm}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{bm}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{bm}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{bm}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{bm}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{bm}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{bm}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{bm}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{bm}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65dn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65dn.fd
new file mode 100644
index 00000000000..1c04c7e1133
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65dn.fd
@@ -0,0 +1,69 @@
+% This is file c65dn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65dn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcDinaru
+
+\DeclareFontFamily{C65}{dn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{dn}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{dn}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{dn}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{dn}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{dn}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{dn}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{dn}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{dn}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{dn}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{dn}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{dn}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{dn}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{dn}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{dn}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{dn}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{dn}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{dn}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{dn}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{dn}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{dn}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{dn}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{dn}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{dn}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{dn}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\DeclareFontShape{C65}{dn}{lc}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{dn}{lc}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{dn}{lc}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{dn}{l}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{dn}{l}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{dn}{l}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{dn}{lx}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{dn}{lx}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{dn}{lx}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{dn}{lux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{dn}{lux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{dn}{lux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gr.fd
new file mode 100644
index 00000000000..c8f5911c841
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gr.fd
@@ -0,0 +1,53 @@
+% This is file c65gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGraphic
+
+\DeclareFontFamily{C65}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{gr}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{gr}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{gr}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{gr}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{gr}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{gr}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{gr}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{gr}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{gr}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{gr}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{gr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{gr}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{gr}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{gr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{gr}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{gr}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{gr}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{gr}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{gr}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{gr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{gr}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{gr}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{gr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{gr}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gs.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gs.fd
new file mode 100644
index 00000000000..ed3ad2ff17d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gs.fd
@@ -0,0 +1,53 @@
+% This is file c65gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGungseo
+
+\DeclareFontFamily{C65}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{gs}{bc}{n}{<-> CJK * wgsc}{}
+\DeclareFontShape{C65}{gs}{bc}{sl}{<-> CJK * wgsco}{}
+\DeclareFontShape{C65}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C65}{gs}{b}{n}{<-> CJK * wgs}{}
+\DeclareFontShape{C65}{gs}{b}{sl}{<-> CJK * wgso}{}
+\DeclareFontShape{C65}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C65}{gs}{bx}{n}{<-> CJK * wgsx}{}
+\DeclareFontShape{C65}{gs}{bx}{sl}{<-> CJK * wgsxo}{}
+\DeclareFontShape{C65}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C65}{gs}{bux}{n}{<-> CJK * wgsu}{}
+\DeclareFontShape{C65}{gs}{bux}{sl}{<-> CJK * wgsuo}{}
+\DeclareFontShape{C65}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\DeclareFontShape{C65}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{}
+\DeclareFontShape{C65}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{}
+\DeclareFontShape{C65}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C65}{gs}{m}{n}{<-> CJKssub * gs/b/n}{}
+\DeclareFontShape{C65}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{}
+\DeclareFontShape{C65}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C65}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{}
+\DeclareFontShape{C65}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{}
+\DeclareFontShape{C65}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C65}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{}
+\DeclareFontShape{C65}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{}
+\DeclareFontShape{C65}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gt.fd
new file mode 100644
index 00000000000..25158e344ae
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gt.fd
@@ -0,0 +1,53 @@
+% This is file c65gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGothic
+
+\DeclareFontFamily{C65}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{gt}{c}{n}{<-> CJK * wgtc}{}
+\DeclareFontShape{C65}{gt}{c}{sl}{<-> CJK * wgtco}{}
+\DeclareFontShape{C65}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{}
+
+\DeclareFontShape{C65}{gt}{m}{n}{<-> CJK * wgt}{}
+\DeclareFontShape{C65}{gt}{m}{sl}{<-> CJK * wgto}{}
+\DeclareFontShape{C65}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{}
+
+\DeclareFontShape{C65}{gt}{x}{n}{<-> CJK * wgtx}{}
+\DeclareFontShape{C65}{gt}{x}{sl}{<-> CJK * wgtxo}{}
+\DeclareFontShape{C65}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{}
+
+\DeclareFontShape{C65}{gt}{ux}{n}{<-> CJK * wgtu}{}
+\DeclareFontShape{C65}{gt}{ux}{sl}{<-> CJK * wgtuo}{}
+\DeclareFontShape{C65}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{}
+
+\DeclareFontShape{C65}{gt}{bc}{n}{<-> CJK * wgtbc}{}
+\DeclareFontShape{C65}{gt}{bc}{sl}{<-> CJK * wgtbco}{}
+\DeclareFontShape{C65}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{}
+
+\DeclareFontShape{C65}{gt}{b}{n}{<-> CJK * wgtb}{}
+\DeclareFontShape{C65}{gt}{b}{sl}{<-> CJK * wgtbo}{}
+\DeclareFontShape{C65}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{}
+
+\DeclareFontShape{C65}{gt}{bx}{n}{<-> CJK * wgtbx}{}
+\DeclareFontShape{C65}{gt}{bx}{sl}{<-> CJK * wgtbxo}{}
+\DeclareFontShape{C65}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{}
+
+\DeclareFontShape{C65}{gt}{bux}{n}{<-> CJK * wgtbu}{}
+\DeclareFontShape{C65}{gt}{bux}{sl}{<-> CJK * wgtbuo}{}
+\DeclareFontShape{C65}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jgt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jgt.fd
new file mode 100644
index 00000000000..c8d8f866d14
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jgt.fd
@@ -0,0 +1,53 @@
+% This is file c65jgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65jgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoGothic
+
+\DeclareFontFamily{C65}{jgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jgt}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{jgt}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{jgt}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{jgt}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{jgt}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{jgt}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{jgt}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{jgt}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{jgt}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{jgt}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{jgt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{jgt}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{jgt}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{jgt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{jgt}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{jgt}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{jgt}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{jgt}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{jgt}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{jgt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{jgt}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{jgt}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{jgt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{jgt}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jmj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jmj.fd
new file mode 100644
index 00000000000..c23a71e60e4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jmj.fd
@@ -0,0 +1,53 @@
+% This is file c65jmj.fd of the CJK package
+% for using Asian logograjmjs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65jmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoMyoungjo
+
+\DeclareFontFamily{C65}{jmj}{\hyjmjenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jmj}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C65}{jmj}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C65}{jmj}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C65}{jmj}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C65}{jmj}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C65}{jmj}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C65}{jmj}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C65}{jmj}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C65}{jmj}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C65}{jmj}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C65}{jmj}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C65}{jmj}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C65}{jmj}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C65}{jmj}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C65}{jmj}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C65}{jmj}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C65}{jmj}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C65}{jmj}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C65}{jmj}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C65}{jmj}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C65}{jmj}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C65}{jmj}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C65}{jmj}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C65}{jmj}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jnv.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jnv.fd
new file mode 100644
index 00000000000..ae4832c1905
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jnv.fd
@@ -0,0 +1,53 @@
+% This is file c65jnv.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65jnv.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoNovel
+
+\DeclareFontFamily{C65}{jnv}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jnv}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{jnv}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{jnv}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{jnv}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{jnv}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{jnv}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{jnv}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{jnv}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{jnv}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{jnv}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{jnv}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{jnv}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{jnv}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{jnv}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{jnv}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{jnv}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{jnv}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{jnv}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{jnv}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{jnv}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{jnv}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{jnv}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{jnv}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{jnv}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jsr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jsr.fd
new file mode 100644
index 00000000000..ec39306af15
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jsr.fd
@@ -0,0 +1,53 @@
+% This is file c65jsr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65jsr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoSora
+
+\DeclareFontFamily{C65}{jsr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jsr}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{jsr}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{jsr}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{jsr}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{jsr}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{jsr}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{jsr}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{jsr}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{jsr}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{jsr}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{jsr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{jsr}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{jsr}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{jsr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{jsr}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{jsr}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{jsr}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{jsr}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{jsr}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{jsr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{jsr}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{jsr}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{jsr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{jsr}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65mj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65mj.fd
new file mode 100644
index 00000000000..61c26a7772f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65mj.fd
@@ -0,0 +1,53 @@
+% This is file c65mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C65}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C65}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C65}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C65}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C65}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C65}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C65}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C65}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C65}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C65}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C65}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C65}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C65}{mj}{bc}{n}{<-> CJK * wmjbc}{}
+\DeclareFontShape{C65}{mj}{bc}{sl}{<-> CJK * wmjbco}{}
+\DeclareFontShape{C65}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C65}{mj}{b}{n}{<-> CJK * wmjb}{}
+\DeclareFontShape{C65}{mj}{b}{sl}{<-> CJK * wmjbo}{}
+\DeclareFontShape{C65}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C65}{mj}{bx}{n}{<-> CJK * wmjbx}{}
+\DeclareFontShape{C65}{mj}{bx}{sl}{<-> CJK * wmjbxo}{}
+\DeclareFontShape{C65}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C65}{mj}{bux}{n}{<-> CJK * wmjbu}{}
+\DeclareFontShape{C65}{mj}{bux}{sl}{<-> CJK * wmjbuo}{}
+\DeclareFontShape{C65}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pg.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pg.fd
new file mode 100644
index 00000000000..67585411c7f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pg.fd
@@ -0,0 +1,53 @@
+% This is file c65pg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65pg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgi
+
+\DeclareFontFamily{C65}{pg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{pg}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{pg}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{pg}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{pg}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{pg}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{pg}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{pg}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{pg}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{pg}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{pg}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{pg}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{pg}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{pg}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{pg}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{pg}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{pg}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{pg}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{pg}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{pg}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{pg}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{pg}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{pg}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{pg}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{pg}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pga.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pga.fd
new file mode 100644
index 00000000000..afd6b41bd30
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pga.fd
@@ -0,0 +1,53 @@
+% This is file c65pga.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65pga.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgia
+
+\DeclareFontFamily{C65}{pga}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{pga}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{pga}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{pga}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{pga}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{pga}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{pga}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{pga}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{pga}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{pga}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{pga}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{pga}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{pga}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{pga}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{pga}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{pga}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{pga}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{pga}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{pga}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{pga}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{pga}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{pga}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{pga}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{pga}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{pga}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65ph.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65ph.fd
new file mode 100644
index 00000000000..45acb802f51
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65ph.fd
@@ -0,0 +1,53 @@
+% This is file c65ph.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65ph.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPenHeulim
+
+\DeclareFontFamily{C65}{ph}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{ph}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C65}{ph}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C65}{ph}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C65}{ph}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C65}{ph}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C65}{ph}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C65}{ph}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C65}{ph}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C65}{ph}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C65}{ph}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C65}{ph}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C65}{ph}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C65}{ph}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C65}{ph}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C65}{ph}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C65}{ph}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C65}{ph}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C65}{ph}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C65}{ph}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C65}{ph}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C65}{ph}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C65}{ph}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C65}{ph}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C65}{ph}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pn.fd
new file mode 100644
index 00000000000..d94d6fea74c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pn.fd
@@ -0,0 +1,53 @@
+% This is file c65pn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65pn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPen
+
+\DeclareFontFamily{C65}{pn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{pn}{c}{n}{<-> CJKssub* mj/c/n}{}
+\DeclareFontShape{C65}{pn}{c}{sl}{<-> CJKssub* mj/c/sl}{}
+\DeclareFontShape{C65}{pn}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C65}{pn}{m}{n}{<-> CJKssub* mj/m/n}{}
+\DeclareFontShape{C65}{pn}{m}{sl}{<-> CJKssub* mj/m/sl}{}
+\DeclareFontShape{C65}{pn}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C65}{pn}{x}{n}{<-> CJKssub* mj/x/n}{}
+\DeclareFontShape{C65}{pn}{x}{sl}{<-> CJKssub* mj/x/sl}{}
+\DeclareFontShape{C65}{pn}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C65}{pn}{ux}{n}{<-> CJKssub* mj/ux/n}{}
+\DeclareFontShape{C65}{pn}{ux}{sl}{<-> CJKssub* mj/ux/sl}{}
+\DeclareFontShape{C65}{pn}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C65}{pn}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C65}{pn}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C65}{pn}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C65}{pn}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C65}{pn}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C65}{pn}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C65}{pn}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C65}{pn}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C65}{pn}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C65}{pn}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C65}{pn}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C65}{pn}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65sh.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65sh.fd
new file mode 100644
index 00000000000..9261f1dbe8f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65sh.fd
@@ -0,0 +1,53 @@
+% This is file c65sh.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65sh.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcShinmunMyoungjo
+
+\DeclareFontFamily{C65}{hwsh}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{sh}{c}{n}{<-> CJK * wshc}{}
+\DeclareFontShape{C65}{sh}{c}{sl}{<-> CJK * wshco}{}
+\DeclareFontShape{C65}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{}
+
+\DeclareFontShape{C65}{sh}{m}{n}{<-> CJK * wsh}{}
+\DeclareFontShape{C65}{sh}{m}{sl}{<-> CJK * wsho}{}
+\DeclareFontShape{C65}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{}
+
+\DeclareFontShape{C65}{sh}{x}{n}{<-> CJK * wshx}{}
+\DeclareFontShape{C65}{sh}{x}{sl}{<-> CJK * wshxo}{}
+\DeclareFontShape{C65}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{}
+
+\DeclareFontShape{C65}{sh}{ux}{n}{<-> CJK * wshu}{}
+\DeclareFontShape{C65}{sh}{ux}{sl}{<-> CJK * wshuo}{}
+\DeclareFontShape{C65}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{}
+
+\DeclareFontShape{C65}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{}
+\DeclareFontShape{C65}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{}
+\DeclareFontShape{C65}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{}
+
+\DeclareFontShape{C65}{sh}{b}{n}{<-> CJKssub * sh/m/n}{}
+\DeclareFontShape{C65}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{}
+\DeclareFontShape{C65}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{}
+
+\DeclareFontShape{C65}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{}
+\DeclareFontShape{C65}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{}
+\DeclareFontShape{C65}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{}
+
+\DeclareFontShape{C65}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{}
+\DeclareFontShape{C65}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{}
+\DeclareFontShape{C65}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65tz.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65tz.fd
new file mode 100644
index 00000000000..97031621c1a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65tz.fd
@@ -0,0 +1,53 @@
+% This is file c65tz.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65tz.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcTypewriter
+
+\DeclareFontFamily{C65}{tz}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{tz}{c}{n}{<-> CJK * wttc}{}
+\DeclareFontShape{C65}{tz}{c}{sl}{<-> CJK * wttco}{}
+\DeclareFontShape{C65}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{}
+
+\DeclareFontShape{C65}{tz}{m}{n}{<-> CJK * wtt}{}
+\DeclareFontShape{C65}{tz}{m}{sl}{<-> CJK * wtto}{}
+\DeclareFontShape{C65}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{}
+
+\DeclareFontShape{C65}{tz}{x}{n}{<-> CJK * wttx}{}
+\DeclareFontShape{C65}{tz}{x}{sl}{<-> CJK * wttxo}{}
+\DeclareFontShape{C65}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{}
+
+\DeclareFontShape{C65}{tz}{ux}{n}{<-> CJK * wttu}{}
+\DeclareFontShape{C65}{tz}{ux}{sl}{<-> CJK * wttuo}{}
+\DeclareFontShape{C65}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{}
+
+\DeclareFontShape{C65}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{}
+
+\DeclareFontShape{C65}{tz}{b}{n}{<-> CJKb * wtt}{\CJKbold}
+\DeclareFontShape{C65}{tz}{b}{sl}{<-> CJKb * wtto}{\CJKbold}
+\DeclareFontShape{C65}{tz}{b}{it}{<-> CJKssub * tz/b/sl}{}
+
+\DeclareFontShape{C65}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{}
+
+\DeclareFontShape{C65}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65vd.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65vd.fd
new file mode 100644
index 00000000000..f7e9909d9eb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65vd.fd
@@ -0,0 +1,53 @@
+% This is file c65vd.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65vd.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcVada
+
+\DeclareFontFamily{C65}{vd}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{vd}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{vd}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{vd}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{vd}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{vd}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{vd}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{vd}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{vd}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{vd}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{vd}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{vd}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{vd}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{vd}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{vd}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{vd}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{vd}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{vd}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{vd}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{vd}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{vd}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{vd}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{vd}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{vd}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{vd}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65yt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65yt.fd
new file mode 100644
index 00000000000..002d9edc948
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65yt.fd
@@ -0,0 +1,53 @@
+% This is file c65yt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65yt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcYetgul
+
+\DeclareFontFamily{C65}{yt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{yt}{c}{n}{<-> CJK * wytc}{}
+\DeclareFontShape{C65}{yt}{c}{sl}{<-> CJK * wytco}{}
+\DeclareFontShape{C65}{yt}{c}{it}{<-> CJKssub * yt/c/sl}{}
+
+\DeclareFontShape{C65}{yt}{m}{n}{<-> CJK * wyt}{}
+\DeclareFontShape{C65}{yt}{m}{sl}{<-> CJK * wyto}{}
+\DeclareFontShape{C65}{yt}{m}{it}{<-> CJKssub * yt/m/sl}{}
+
+\DeclareFontShape{C65}{yt}{x}{n}{<-> CJK * wytx}{}
+\DeclareFontShape{C65}{yt}{x}{sl}{<-> CJK * wytxo}{}
+\DeclareFontShape{C65}{yt}{x}{it}{<-> CJKssub * yt/x/sl}{}
+
+\DeclareFontShape{C65}{yt}{ux}{n}{<-> CJK * wytu}{}
+\DeclareFontShape{C65}{yt}{ux}{sl}{<-> CJK * wytuo}{}
+\DeclareFontShape{C65}{yt}{ux}{it}{<-> CJKssub * yt/ux/sl}{}
+
+\DeclareFontShape{C65}{yt}{bc}{n}{<-> CJKb * wytc}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bc}{sl}{<-> CJKb * wytco}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bc}{it}{<-> CJKssub * yt/bc/sl}{}
+
+\DeclareFontShape{C65}{yt}{b}{n}{<-> CJKb * wyt}{\CJKbold}
+\DeclareFontShape{C65}{yt}{b}{sl}{<-> CJKb * wyto}{\CJKbold}
+\DeclareFontShape{C65}{yt}{b}{it}{<-> CJKssub * yt/b/sl}{}
+
+\DeclareFontShape{C65}{yt}{bx}{n}{<-> CJKb * wytx}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bx}{sl}{<-> CJKb * wytxo}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bx}{it}{<-> CJKssub * yt/bx/sl}{}
+
+\DeclareFontShape{C65}{yt}{bux}{n}{<-> CJKb * wytu}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bux}{sl}{<-> CJKb * wytuo}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bux}{it}{<-> CJKssub * yt/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/pshan.sty b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/pshan.sty
new file mode 100644
index 00000000000..f50056dd496
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/pshan.sty
@@ -0,0 +1,29 @@
+% This is the file pshan.sty of the CJK package
+% for using HLaTeX's PostScript fonts.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesPackage{pshan}[\filedate\space\fileversion]
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/KS.chr b/Master/texmf-dist/tex/latex/cjk/KS/KS.chr
new file mode 100644
index 00000000000..1eab6dfdd7d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/KS.chr
@@ -0,0 +1,251 @@
+% This is the file KS.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{KS.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling hangul fonts and characters.
+
+\gdef\CJK@KSChr{
+ \CJK@global\def\CJK@altchar##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@altcharx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/KS.enc b/Master/texmf-dist/tex/latex/cjk/KS/KS.enc
new file mode 100644
index 00000000000..0a024add58e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/KS.enc
@@ -0,0 +1,114 @@
+% This is the file KS.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{KS.enc}[\filedate\space\fileversion]
+
+
+% KS encoding:
+% each plane has 94 characters; Hangul elements (Jaso) and Hangul
+% syllables are overlaid with a second CJK font.
+
+\gdef\CJK@KSEncoding{
+ \CJK@loadChr{KS}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@char {01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@altchar {02}{-135}{##1}}% Hangul elements
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@char {02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@altchar {06}{ -31}{##1}}% Hangul syllables
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@altcharx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@altchar {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@altchar {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@altcharx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@altchar {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@altcharx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@altchar {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@altchar {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@altcharx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@altchar {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@altchar {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@altcharx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@altchar {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@altcharx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@altchar {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@altchar {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@altcharx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@altchar {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@altchar {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@altcharx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@altchar {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@altchar {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@altcharx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@altchar {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}% Hanja
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60dr.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60dr.fd
new file mode 100644
index 00000000000..f1df8067b4a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c60dr.fd
@@ -0,0 +1,22 @@
+% This is the file c60dr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c60dr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{dr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{dr}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{dr}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60gr.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60gr.fd
new file mode 100644
index 00000000000..bf693501a62
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c60gr.fd
@@ -0,0 +1,22 @@
+% This is the file c60gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c60gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{gr}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{gr}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60gs.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60gs.fd
new file mode 100644
index 00000000000..284f0fd6577
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c60gs.fd
@@ -0,0 +1,22 @@
+% This is the file c60gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c60gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{gs}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{gs}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60gt.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60gt.fd
new file mode 100644
index 00000000000..36979d1ab02
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c60gt.fd
@@ -0,0 +1,22 @@
+% This is the file c60gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c60gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{gt}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{gt}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60hgt.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60hgt.fd
new file mode 100644
index 00000000000..bfac099c530
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c60hgt.fd
@@ -0,0 +1,22 @@
+% This is the file c60hgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c60hgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hgt}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hgt}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60hmj.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60hmj.fd
new file mode 100644
index 00000000000..bfb04353de4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c60hmj.fd
@@ -0,0 +1,22 @@
+% This is the file c60hmj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c60hmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hmj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hmj}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hmj}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60hol.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60hol.fd
new file mode 100644
index 00000000000..a6947496d97
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c60hol.fd
@@ -0,0 +1,22 @@
+% This is the file c60hol.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c60hol.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hol}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hol}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hol}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60hpg.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60hpg.fd
new file mode 100644
index 00000000000..f64250f9658
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c60hpg.fd
@@ -0,0 +1,22 @@
+% This is the file c60hpg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c60hpg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hpg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hpg}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hpg}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60mj.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60mj.fd
new file mode 100644
index 00000000000..8e2406326c2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c60mj.fd
@@ -0,0 +1,22 @@
+% This is the file c60mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c60mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{mj}{m}{n}{<-> CJK * ksso17}{}
+\DeclareFontShape{C60}{mj}{bx}{n}{<-> CJKb * ksso17}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61dr.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61dr.fd
new file mode 100644
index 00000000000..09aa8cd2206
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c61dr.fd
@@ -0,0 +1,27 @@
+% This is the file c61dr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c61dr.fd}[\filedate\space\fileversion]
+
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{dr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{dr}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kdr}{}
+\DeclareFontShape{C61}{dr}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kdr}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61gr.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61gr.fd
new file mode 100644
index 00000000000..9aa73623666
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c61gr.fd
@@ -0,0 +1,26 @@
+% This is the file c61gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c61gr.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{gr}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kgr}{}
+\DeclareFontShape{C61}{gr}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kgr}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61gs.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61gs.fd
new file mode 100644
index 00000000000..b2ea00a23ed
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c61gs.fd
@@ -0,0 +1,26 @@
+% This is the file c61gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c61gs.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{gs}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kgs}{}
+\DeclareFontShape{C61}{gs}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kgs}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61gt.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61gt.fd
new file mode 100644
index 00000000000..80535515906
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c61gt.fd
@@ -0,0 +1,26 @@
+% This is the file c61gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c61gt.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{gt}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kgt}{}
+\DeclareFontShape{C61}{gt}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kgt}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61hgt.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61hgt.fd
new file mode 100644
index 00000000000..b40c99f17d6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c61hgt.fd
@@ -0,0 +1,24 @@
+% This is the file c61hgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c61hgt.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hgt}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hgtm}{}
+\DeclareFontShape{C61}{hgt}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hgtb}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61hmj.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61hmj.fd
new file mode 100644
index 00000000000..98e2d06feed
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c61hmj.fd
@@ -0,0 +1,24 @@
+% This is the file c61hmj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c61hmj.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hmj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hmj}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hmjm}{}
+\DeclareFontShape{C61}{hmj}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hmjb}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61hol.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61hol.fd
new file mode 100644
index 00000000000..7cd2d2e463d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c61hol.fd
@@ -0,0 +1,26 @@
+% This is the file c61hol.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c61hol.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hol}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hol}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hol}{}
+\DeclareFontShape{C61}{hol}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * hol}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61hpg.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61hpg.fd
new file mode 100644
index 00000000000..3fb62634d92
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c61hpg.fd
@@ -0,0 +1,24 @@
+% This is the file c61hpg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c61hpg.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hpg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hpg}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hpgm}{}
+\DeclareFontShape{C61}{hpg}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hpgb}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61mj.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61mj.fd
new file mode 100644
index 00000000000..2ae9cc46bc7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c61mj.fd
@@ -0,0 +1,24 @@
+% This is the file c61mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c61mj.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{mj}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kmj}{}
+\DeclareFontShape{C61}{mj}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kmjb}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c62song.fd b/Master/texmf-dist/tex/latex/cjk/KS/c62song.fd
new file mode 100644
index 00000000000..eaa521348f6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/c62song.fd
@@ -0,0 +1,22 @@
+% This is the file c62song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c62song.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: pmC
+
+\DeclareFontFamily{C62}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C62}{song}{m}{n}{<-> sCJKfixed * wcks}{}
+\DeclareFontShape{C62}{song}{bx}{n}{<-> sCJKfixedb * wcks}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hangul.cap b/Master/texmf-dist/tex/latex/cjk/KS/hangul.cap
new file mode 100644
index 00000000000..5c0aaee8837
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/hangul.cap
@@ -0,0 +1,74 @@
+% This is the file hangul.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{hangul.cap}[\filedate\space\fileversion]
+
+
+% Hangul captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+
+\renewcommand\contentsname{ธ๑ย๗}
+\renewcommand\listfigurename{ฑืธฒ~ธ๑ย๗}
+\renewcommand\listtablename{วฅ~ธ๑ย๗}
+\renewcommand\indexname{ป๖ภฮ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ยฐํ~ผญภ๛}}
+ {\renewcommand\bibname{ยฐํ~นฎวๅ}}
+
+\renewcommand\figurename{ฑืธฒ}
+\renewcommand\tablename{วฅ}
+
+\newcommand\prepartname{มฆ}
+\newcommand\postpartname{บฮ}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{มฆ}
+% \newcommand\postchaptername{ภๅ}
+% \newcommand\presectionname{มฆ}
+% \newcommand\postsectionname{ภ}
+% \renewcommand\appendixname{บฮทฯ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ฟไพเ}}{}
+
+% \renewcommand\ccname{ป็บป}
+% \renewcommand\enclname{รทบฮนฐ}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦไภฬม๖~}
+% \renewcommand\headtoname{นดยภฬ}
+% \renewcommand\seename{ยมถ}
+
+\renewcommand{\today}{\number\yearณโ~\number\monthฟ๙~\number\dayภฯ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-korea
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hangul.cpx b/Master/texmf-dist/tex/latex/cjk/KS/hangul.cpx
new file mode 100644
index 00000000000..7e145f5a37b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/hangul.cpx
@@ -0,0 +1,71 @@
+% This is the file hangul.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{hangul.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+%
+% preprocessed
+
+\renewcommand\contentsname{ธ241ย247}
+\renewcommand\listfigurename{ฑ215ธ178~ธ241ย247}
+\renewcommand\listtablename{ว165~ธ241ย247}
+\renewcommand\indexname{ป246ภ206}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ย252ฐ237~ผ173ภ251}}
+ {\renewcommand\bibname{ย252ฐ237~น174ว229}}
+
+\renewcommand\figurename{ฑ215ธ178}
+\renewcommand\tablename{ว165}
+
+\newcommand\prepartname{ม166}
+\newcommand\postpartname{บ206}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{ม166}
+% \newcommand\postchaptername{ภ229}
+% \newcommand\presectionname{ม166}
+% \newcommand\postsectionname{ภ253}
+% \renewcommand\appendixname{บ206ท207}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ฟ228พ224}}{}
+
+% \renewcommand\ccname{ป231บ187}
+% \renewcommand\enclname{ร183บ206น176}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦ228ภ204ม246~}
+% \renewcommand\headtoname{น222ด194ภ204}
+% \renewcommand\seename{ย252ม182}
+
+\renewcommand{\today}{%
+ \number\yearณ226~\number\monthฟ249~\number\dayภ207}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cap b/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cap
new file mode 100644
index 00000000000..58bd767cd4b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cap
@@ -0,0 +1,74 @@
+% This is the file hangul2.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{hangul2.cap}[\filedate\space\fileversion]
+
+
+% Hangul captions set 2
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+
+\renewcommand\contentsname{ย๗ทส}
+\renewcommand\listfigurename{ฑืธฒ~ย๗ทส}
+\renewcommand\listtablename{วฅ~ย๗ทส}
+\renewcommand\indexname{รฃพฦบธฑโ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ยฐํ~ผญภ๛}}
+ {\renewcommand\bibname{ยฐํ~นฎวๅ}}
+
+\renewcommand\figurename{ฑืธฒ}
+\renewcommand\tablename{วฅ}
+
+\newcommand\prepartname{มฆ}
+\newcommand\postpartname{บฮ}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{มฆ}
+% \newcommand\postchaptername{ภๅ}
+% \newcommand\presectionname{มฆ}
+% \newcommand\postsectionname{ภ}
+% \renewcommand\appendixname{บฮทฯ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ฟไพเ}}{}
+
+% \renewcommand\ccname{ป็บป}
+% \renewcommand\enclname{รทบฮนฐ}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦไภฬม๖~}
+% \renewcommand\headtoname{นดยภฬ}
+% \renewcommand\seename{ยมถ}
+
+\renewcommand{\today}{\number\yearณโ~\number\monthฟ๙~\number\dayภฯ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-korea
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cpx b/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cpx
new file mode 100644
index 00000000000..1a643539ce5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cpx
@@ -0,0 +1,71 @@
+% This is the file hangul2.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{hangul2.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions set 2
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+%
+% preprocessed
+
+\renewcommand\contentsname{ย247ท202}
+\renewcommand\listfigurename{ฑ215ธ178~ย247ท202}
+\renewcommand\listtablename{ว165~ย247ท202}
+\renewcommand\indexname{ร163พ198บ184ฑ226}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ย252ฐ237~ผ173ภ251}}
+ {\renewcommand\bibname{ย252ฐ237~น174ว229}}
+
+\renewcommand\figurename{ฑ215ธ178}
+\renewcommand\tablename{ว165}
+
+\newcommand\prepartname{ม166}
+\newcommand\postpartname{บ206}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{ม166}
+% \newcommand\postchaptername{ภ229}
+% \newcommand\presectionname{ม166}
+% \newcommand\postsectionname{ภ253}
+% \renewcommand\appendixname{บ206ท207}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ฟ228พ224}}{}
+
+% \renewcommand\ccname{ป231บ187}
+% \renewcommand\enclname{ร183บ206น176}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦ228ภ204ม246~}
+% \renewcommand\headtoname{น222ด194ภ204}
+% \renewcommand\seename{ย252ม182}
+
+\renewcommand{\today}{%
+ \number\yearณ226~\number\monthฟ249~\number\dayภ207}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hanja.cap b/Master/texmf-dist/tex/latex/cjk/KS/hanja.cap
new file mode 100644
index 00000000000..57515d3b626
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/hanja.cap
@@ -0,0 +1,74 @@
+% This is the file hanja.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <a7971428@unet.univie.ac.at>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{hanja.cap}[\filedate\space\fileversion]
+
+
+% Hanja captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+
+\renewcommand\contentsname{ูอ๓ญ}
+\renewcommand\listfigurename{ฑืธฒ~ูอ๓ญ}
+\renewcommand\listtablename{๘๚~ูอ๓ญ}
+\renewcommand\indexname{฿ใ์ฺ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{๓ัอล~฿๖๎฿}}
+ {\renewcommand\bibname{๓ัอล~ู๚ฬ}}
+
+\renewcommand\figurename{ฑืธฒ}
+\renewcommand\tablename{๘๚}
+
+\newcommand\prepartname{๐ฏ}
+\newcommand\postpartname{๘น}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{๐ฏ}
+% \newcommand\postchaptername{ํ๑}
+% \newcommand\presectionname{๐ฏ}
+% \newcommand\postsectionname{๏ฝ}
+% \newcommand\appendixname{พึโ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{้ฉ~ๅณ}}{}
+
+% \renewcommand\ccname{ะโ}
+% \renewcommand\enclname{๔ีพฺช}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦไภฬม๖}
+% \renewcommand\headtoname{แ๔ใแ์ั}
+% \renewcommand\seename{๓ั๐ฮ}
+
+\renewcommand{\today}{\number\yearาด~\number\month๊ล~\number\day์ํ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-korea
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hanja.cpx b/Master/texmf-dist/tex/latex/cjk/KS/hanja.cpx
new file mode 100644
index 00000000000..a1c6952c76c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/KS/hanja.cpx
@@ -0,0 +1,71 @@
+% This is the file hanja.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{hanja.cpx}[\filedate\space\fileversion]
+
+
+% Hanja captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+%
+% preprocessed
+
+\renewcommand\contentsname{ู205๓173}
+\renewcommand\listfigurename{ฑ215ธ178~ู205๓173}
+\renewcommand\listtablename{๘250~ู205๓173}
+\renewcommand\indexname{฿227์218}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{๓209อ197~฿246๎223}}
+ {\renewcommand\bibname{๓209อ197~ู254๚204}}
+
+\renewcommand\figurename{ฑ215ธ178}
+\renewcommand\tablename{๘250}
+
+\newcommand\prepartname{๐175}
+\newcommand\postpartname{๘185}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{๐175}
+% \newcommand\postchaptername{ํ241}
+% \newcommand\presectionname{๐175}
+% \newcommand\postsectionname{๏189}
+% \newcommand\appendixname{190ึ226}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{้169~ๅ179}}{}
+
+% \renewcommand\ccname{208226}
+% \renewcommand\enclname{๔213190ฺ170}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦ228ภ204ม246}
+% \renewcommand\headtoname{แ244ใ225์209}
+% \renewcommand\seename{๓209๐206}
+
+\renewcommand{\today}{%
+ \number\yearา180~\number\month๊197~\number\day์237}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.bdg b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.bdg
new file mode 100644
index 00000000000..60b2d57264c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.bdg
@@ -0,0 +1,162 @@
+% This is the file SJIS.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{SJIS.bdg}[\filedate\space\fileversion]
+
+
+% The bindings for SJIS encoding.
+
+\gdef\CJK@SJISBinding{
+% 80
+ \CJK@nameppdef{^^81}
+ \CJK@nameppdef{^^82}
+ \CJK@nameppdef{^^83}
+ \CJK@nameppdef{^^84}
+ \CJK@nameppdef{^^85}
+ \CJK@nameppdef{^^86}
+ \CJK@nameppdef{^^87}
+ \CJK@nameppdef{^^88}
+ \CJK@nameppdef{^^89}
+ \CJK@nameppdef{^^8a}
+ \CJK@nameppdef{^^8b}
+ \CJK@nameppdef{^^8c}
+ \CJK@nameppdef{^^8d}
+ \CJK@nameppdef{^^8e}
+ \CJK@nameppdef{^^8f}
+ \CJK@nameppdef{^^90}
+ \CJK@nameppdef{^^91}
+ \CJK@nameppdef{^^92}
+ \CJK@nameppdef{^^93}
+ \CJK@nameppdef{^^94}
+ \CJK@nameppdef{^^95}
+ \CJK@nameppdef{^^96}
+ \CJK@nameppdef{^^97}
+ \CJK@nameppdef{^^98}
+ \CJK@nameppdef{^^99}
+ \CJK@nameppdef{^^9a}
+ \CJK@nameppdef{^^9b}
+ \CJK@nameppdef{^^9c}
+ \CJK@nameppdef{^^9d}
+ \CJK@nameppdef{^^9e}
+ \CJK@nameppdef{^^9f}
+% A0
+ \CJK@namepdef{^^a1}
+ \CJK@namepdef{^^a2}
+ \CJK@namepdef{^^a3}
+ \CJK@namepdef{^^a4}
+ \CJK@namepdef{^^a5}
+ \CJK@namepdef{^^a6}
+ \CJK@namepdef{^^a7}
+ \CJK@namepdef{^^a8}
+ \CJK@namepdef{^^a9}
+ \CJK@namepdef{^^aa}
+ \CJK@namepdef{^^ab}
+ \CJK@namepdef{^^ac}
+ \CJK@namepdef{^^ad}
+ \CJK@namepdef{^^ae}
+ \CJK@namepdef{^^af}
+ \CJK@namepdef{^^b0}
+ \CJK@namepdef{^^b1}
+ \CJK@namepdef{^^b2}
+ \CJK@namepdef{^^b3}
+ \CJK@namepdef{^^b4}
+ \CJK@namepdef{^^b5}
+ \CJK@namepdef{^^b6}
+ \CJK@namepdef{^^b7}
+ \CJK@namepdef{^^b8}
+ \CJK@namepdef{^^b9}
+ \CJK@namepdef{^^ba}
+ \CJK@namepdef{^^bb}
+ \CJK@namepdef{^^bc}
+ \CJK@namepdef{^^bd}
+ \CJK@namepdef{^^be}
+ \CJK@namepdef{^^bf}
+ \CJK@namepdef{^^c0}
+ \CJK@namepdef{^^c1}
+ \CJK@namepdef{^^c2}
+ \CJK@namepdef{^^c3}
+ \CJK@namepdef{^^c4}
+ \CJK@namepdef{^^c5}
+ \CJK@namepdef{^^c6}
+ \CJK@namepdef{^^c7}
+ \CJK@namepdef{^^c8}
+ \CJK@namepdef{^^c9}
+ \CJK@namepdef{^^ca}
+ \CJK@namepdef{^^cb}
+ \CJK@namepdef{^^cc}
+ \CJK@namepdef{^^cd}
+ \CJK@namepdef{^^ce}
+ \CJK@namepdef{^^cf}
+ \CJK@namepdef{^^d0}
+ \CJK@namepdef{^^d1}
+ \CJK@namepdef{^^d2}
+ \CJK@namepdef{^^d3}
+ \CJK@namepdef{^^d4}
+ \CJK@namepdef{^^d5}
+ \CJK@namepdef{^^d6}
+ \CJK@namepdef{^^d7}
+ \CJK@namepdef{^^d8}
+ \CJK@namepdef{^^d9}
+ \CJK@namepdef{^^da}
+ \CJK@namepdef{^^db}
+ \CJK@namepdef{^^dc}
+ \CJK@namepdef{^^dd}
+ \CJK@namepdef{^^de}
+ \CJK@namepdef{^^df}
+
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cap b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cap
new file mode 100644
index 00000000000..593df2deffb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cap
@@ -0,0 +1,84 @@
+% This is the file SJIS.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{SJIS.cap}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: SJIS
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{–ฺŽŸ}
+
+\renewcommand\listfigurename{\CJKchar{"090}{"07D}–ฺŽŸ}
+% \renewcommand\listfigurename{\CJKchar{"090}{"07D}ˆ๊——}
+
+\renewcommand\listtablename{\CJKchar{"095}{"05C}–ฺŽŸ}
+% \renewcommand\listtablename{\CJKchar{"095}{"05C}ˆ๊——}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ŽQl•ถŒฃ}
+ }
+ {\renewcommand\bibname{Šึ˜A‘ะ}
+% \renewcommand\bibname{ŽQl•ถŒฃ}
+ }
+
+\renewcommand\indexname{๕ˆ๘}
+
+\renewcommand\figurename{\CJKchar{"090}{"07D}}
+\renewcommand\tablename{\CJKchar{"095}{"05C}}
+
+\newcommand\prepartname{‘ๆ}
+\newcommand\postpartname{•”}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{•˜^}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{—vŽ|}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 •ฝฌ\,\fi
+ \ifnum\count0=1 Œณ\else\number\count0\fi
+ \,”N\hspace{.5em}\nobreak\number\month
+ \,ŒŽ\hspace{.5em}\nobreak\number\day\,“๚}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase#1\or
+ ˆ๊\or“๑\orŽO\orŽl\orŒ\or
+ ˜Z\orŽต\or”ช\or‹ใ\or\CJKchar{"08F}{"05C}\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: sjis
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.chr b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.chr
new file mode 100644
index 00000000000..9c88c8fd5a2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.chr
@@ -0,0 +1,260 @@
+% This is the file SJIS.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{SJIS.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling SJIS encoded CJK fonts and characters.
+
+% two byte encoded characters.
+
+\gdef\CJK@SJISChr{
+ \CJK@global\chardef\CJK@gap "07F\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+
+% one byte encoded characters.
+
+ \CJK@global\def\CJK@sjischar##1##2##3{
+ \ifCJK@hwkatakana@
+ {\CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \edef\CJK@plane{}
+ \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number "0##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{"0##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}
+ \else
+ \csname CJK@##2\endcsname{"0##3}
+ \fi}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cpx b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cpx
new file mode 100644
index 00000000000..37db4426223
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cpx
@@ -0,0 +1,81 @@
+% This is the file SJIS.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{SJIS.cpx}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: SJIS
+%
+% preprocessed
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{–218Ž159}
+
+\renewcommand\listfigurename{125–218Ž159}
+% \renewcommand\listfigurename{125ˆ234—151}
+
+\renewcommand\listtablename{•92–218Ž159}
+% \renewcommand\listtablename{•92ˆ234—151}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{Ž81108•182Œ163}
+ }
+ {\renewcommand\bibname{Š214˜65145208}
+% \renewcommand\bibname{Ž81108•182Œ163}
+ }
+
+\renewcommand\indexname{245ˆ248}
+
+\renewcommand\figurename{125}
+\renewcommand\tablename{•92}
+
+\newcommand\prepartname{‘230}
+\newcommand\postpartname{•148}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{•141˜94}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{—118Ž124}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 •189172\,\fi
+ \ifnum\count0=1 Œ179\else\number\count0\fi
+ \,”78\hspace{.5em}\nobreak\number\month
+ \,Œ142\hspace{.5em}\nobreak\number\day\,“250}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase#1\or
+ ˆ234\or“241\orŽ79\orŽ108\orŒ220\or
+ ˜90\orŽ181\or”170\or‹227\or92\fi}}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.enc b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.enc
new file mode 100644
index 00000000000..04d0a6c7626
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.enc
@@ -0,0 +1,199 @@
+% This is the file SJIS.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{SJIS.enc}[\filedate\space\fileversion]
+
+
+% SJIS encoding (JIS X 0208:1997):
+% it uses a one byte encoding (for half-width Katakana) from 0xA1 to
+% 0xDF, and a two byte encoding for the remaining coding space (kanji,
+% kana, and symbols).
+% The first byte of the two byte encoding is in the ranges 0x81-0x9F and
+% 0xE0-0xEF; the second byte is in the range 0x40 - 0xFC with a gap at
+% 0x7F.
+
+\global\@namedef{CJK@SJISEncoding}{
+ \CJK@loadChr{SJIS}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {81}{01}{-64}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{82}{01}{02}{124}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{83}{02}{03}{ 56}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@char {03}{-12}{##1}}
+ \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{176}{##1}}
+ \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{108}{##1}}
+ \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{ 40}{##1}}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@char {06}{-28}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{160}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{ 92}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{ 24}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@char {09}{-44}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{144}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{ 76}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 8}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-60}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{128}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{ 60}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@char {14}{ -8}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{180}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{112}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{ 44}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@char {17}{-24}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{164}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{ 96}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 28}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@char {20}{-40}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{148}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{ 80}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 12}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@char {23}{-56}{##1}}
+ \CJK@namegdef{^^a1}{\@empty\CJK@sjischar{A1}{129}{42}}
+ \CJK@namegdef{^^a2}{\@empty\CJK@sjischar{A2}{129}{75}}
+ \CJK@namegdef{^^a3}{\@empty\CJK@sjischar{A3}{129}{76}}
+ \CJK@namegdef{^^a4}{\@empty\CJK@sjischar{A4}{129}{41}}
+ \CJK@namegdef{^^a5}{\@empty\CJK@sjischar{A5}{129}{45}}
+ \CJK@namegdef{^^a6}{\@empty\CJK@sjischar{A6}{131}{92}}
+ \CJK@namegdef{^^a7}{\@empty\CJK@sjischar{A7}{131}{40}}
+ \CJK@namegdef{^^a8}{\@empty\CJK@sjischar{A8}{131}{42}}
+ \CJK@namegdef{^^a9}{\@empty\CJK@sjischar{A9}{131}{44}}
+ \CJK@namegdef{^^aa}{\@empty\CJK@sjischar{AA}{131}{46}}
+ \CJK@namegdef{^^ab}{\@empty\CJK@sjischar{AB}{131}{48}}
+ \CJK@namegdef{^^ac}{\@empty\CJK@sjischar{AC}{131}{83}}
+ \CJK@namegdef{^^ad}{\@empty\CJK@sjischar{AD}{131}{85}}
+ \CJK@namegdef{^^ae}{\@empty\CJK@sjischar{AE}{131}{87}}
+ \CJK@namegdef{^^af}{\@empty\CJK@sjischar{AF}{131}{62}}
+ \CJK@namegdef{^^b0}{\@empty\CJK@sjischar{B0}{129}{5B}}
+ \CJK@namegdef{^^b1}{\@empty\CJK@sjischar{B1}{131}{41}}
+ \CJK@namegdef{^^b2}{\@empty\CJK@sjischar{B2}{131}{43}}
+ \CJK@namegdef{^^b3}{\@empty\CJK@sjischar{B3}{131}{45}}
+ \CJK@namegdef{^^b4}{\@empty\CJK@sjischar{B4}{131}{47}}
+ \CJK@namegdef{^^b5}{\@empty\CJK@sjischar{B5}{131}{49}}
+ \CJK@namegdef{^^b6}{\@empty\CJK@sjischar{B6}{131}{4A}}
+ \CJK@namegdef{^^b7}{\@empty\CJK@sjischar{B7}{131}{4C}}
+ \CJK@namegdef{^^b8}{\@empty\CJK@sjischar{B8}{131}{4E}}
+ \CJK@namegdef{^^b9}{\@empty\CJK@sjischar{B9}{131}{50}}
+ \CJK@namegdef{^^ba}{\@empty\CJK@sjischar{BA}{131}{52}}
+ \CJK@namegdef{^^bb}{\@empty\CJK@sjischar{BB}{131}{54}}
+ \CJK@namegdef{^^bc}{\@empty\CJK@sjischar{BC}{131}{56}}
+ \CJK@namegdef{^^bd}{\@empty\CJK@sjischar{BD}{131}{58}}
+ \CJK@namegdef{^^be}{\@empty\CJK@sjischar{BE}{131}{5A}}
+ \CJK@namegdef{^^bf}{\@empty\CJK@sjischar{BF}{131}{5C}}
+ \CJK@namegdef{^^c0}{\@empty\CJK@sjischar{C0}{131}{5E}}
+ \CJK@namegdef{^^c1}{\@empty\CJK@sjischar{C1}{131}{60}}
+ \CJK@namegdef{^^c2}{\@empty\CJK@sjischar{C2}{131}{63}}
+ \CJK@namegdef{^^c3}{\@empty\CJK@sjischar{C3}{131}{65}}
+ \CJK@namegdef{^^c4}{\@empty\CJK@sjischar{C4}{131}{67}}
+ \CJK@namegdef{^^c5}{\@empty\CJK@sjischar{C5}{131}{69}}
+ \CJK@namegdef{^^c6}{\@empty\CJK@sjischar{C6}{131}{6A}}
+ \CJK@namegdef{^^c7}{\@empty\CJK@sjischar{C7}{131}{6B}}
+ \CJK@namegdef{^^c8}{\@empty\CJK@sjischar{C8}{131}{6C}}
+ \CJK@namegdef{^^c9}{\@empty\CJK@sjischar{C9}{131}{6D}}
+ \CJK@namegdef{^^ca}{\@empty\CJK@sjischar{CA}{131}{6E}}
+ \CJK@namegdef{^^cb}{\@empty\CJK@sjischar{CB}{131}{71}}
+ \CJK@namegdef{^^cc}{\@empty\CJK@sjischar{CC}{131}{74}}
+ \CJK@namegdef{^^cd}{\@empty\CJK@sjischar{CD}{131}{77}}
+ \CJK@namegdef{^^ce}{\@empty\CJK@sjischar{CE}{131}{7A}}
+ \CJK@namegdef{^^cf}{\@empty\CJK@sjischar{CF}{131}{7D}}
+ \CJK@namegdef{^^d0}{\@empty\CJK@sjischar{D0}{131}{7E}}
+ \CJK@namegdef{^^d1}{\@empty\CJK@sjischar{D1}{131}{80}}
+ \CJK@namegdef{^^d2}{\@empty\CJK@sjischar{D2}{131}{81}}
+ \CJK@namegdef{^^d3}{\@empty\CJK@sjischar{D3}{131}{82}}
+ \CJK@namegdef{^^d4}{\@empty\CJK@sjischar{D4}{131}{84}}
+ \CJK@namegdef{^^d5}{\@empty\CJK@sjischar{D5}{131}{86}}
+ \CJK@namegdef{^^d6}{\@empty\CJK@sjischar{D6}{131}{88}}
+ \CJK@namegdef{^^d7}{\@empty\CJK@sjischar{D7}{131}{89}}
+ \CJK@namegdef{^^d8}{\@empty\CJK@sjischar{D8}{131}{8A}}
+ \CJK@namegdef{^^d9}{\@empty\CJK@sjischar{D9}{131}{8B}}
+ \CJK@namegdef{^^da}{\@empty\CJK@sjischar{DA}{131}{8C}}
+ \CJK@namegdef{^^db}{\@empty\CJK@sjischar{DB}{131}{8D}}
+ \CJK@namegdef{^^dc}{\@empty\CJK@sjischar{DC}{131}{8F}}
+ \CJK@namegdef{^^dd}{\@empty\CJK@sjischar{DD}{131}{93}}
+ \CJK@namegdef{^^de}{\@empty\CJK@sjischar{DE}{129}{4A}}
+ \CJK@namegdef{^^df}{\@empty\CJK@sjischar{DF}{129}{4B}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{132}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{24}{25}{ 64}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@char {25}{ -4}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{25}{26}{184}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{26}{27}{116}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{27}{28}{ 48}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@char {28}{-20}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{168}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{100}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{ 32}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@char {31}{-36}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{152}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{ 84}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{ 16}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@char {34}{-52}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{136}{##1}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.chr b/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.chr
new file mode 100644
index 00000000000..8c3971800ce
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.chr
@@ -0,0 +1,253 @@
+% This is the file SJISdnp.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{SJISdnp.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling SJIS encoded DNP fonts and characters.
+
+% two byte encoded characters.
+
+\gdef\CJK@SJISdnpChr{
+ \CJK@global\chardef\CJK@gap "07F\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% to access two subfonts within one first byte value
+
+ \CJK@global\def\CJK@sjischarx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \ifnum ##5 < "09F\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta ##4\relax
+ \edef\CJK@plane{##3}
+ \fi
+
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same for punctuation.
+
+ \CJK@global\def\CJK@sjispunctcharx##1##2##3##4##5##6{
+ {\ifnum ##6 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##6 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##6}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##6\relax
+ \ifnum ##6 < "09F\relax
+ \ifnum ##6 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta ##5\relax
+ \edef\CJK@plane{##4}
+ \fi
+
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+% one byte encoded characters.
+
+ \CJK@global\def\CJK@sjischar##1##2##3{
+ \ifCJK@hwkatakana@
+ {\CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \def\CJK@plane{}
+ \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number "0##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{"0##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}
+ \else
+ \csname CJK@##2\endcsname{"0##3}
+ \fi}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.enc b/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.enc
new file mode 100644
index 00000000000..9e963e4e837
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.enc
@@ -0,0 +1,192 @@
+% This is the file SJISdnp.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{SJISdnp.enc}[\filedate\space\fileversion]
+
+
+% SJIS encoding (JIS X 0208:1997) for DNP fonts:
+% it uses a one byte encoding (for half-width Katakana) from 0xA1 to
+% 0xDF, and a two byte encoding for the remaining coding space (kanji,
+% kana, and symbols).
+% The first byte of the two byte encoding is in the ranges 0x81-0x9F and
+% 0xE0-0xEF; the second byte is in the range 0x40 - 0xFC with a gap at
+% 0x7F.
+
+\global\@namedef{CJK@SJISdnpEncoding}{
+ \CJK@loadChr{SJISdnp}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@sjispunctcharx{81}{sy}{-63}{sy}{-58}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@sjispunctcharx{82}{roma}{-31}{hira}{-158}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@sjispunctcharx{83}{kata}{-63}{greek}{-158}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@sjischarx{russian}{-63}{keisen}{-158}{##1}}
+ \CJK@namegdef{^^85}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^86}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^87}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@sjischarx{}{0}{ka}{-159}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ka}{kb}{30}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@char {kb}{-38}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kb}{kc}{150}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kc}{kd}{ 82}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kd}{ke}{ 14}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@char {ke}{-54}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ke}{kf}{134}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kf}{kg}{ 66}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@char {kg}{ -2}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kg}{kh}{186}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kh}{ki}{118}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ki}{kj}{ 50}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@char {kj}{-18}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kj}{kk}{170}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kk}{kl}{102}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@sjischarx{kl}{34}{km}{-159}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{km}{kn}{30}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@char {kn}{-38}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kn}{ko}{150}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ko}{kp}{ 82}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kp}{kq}{ 14}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@char {kq}{-54}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kq}{kr}{134}{##1}}
+ \CJK@namegdef{^^a1}{\@empty\CJK@sjischar{A1}{129}{42}}
+ \CJK@namegdef{^^a2}{\@empty\CJK@sjischar{A2}{129}{75}}
+ \CJK@namegdef{^^a3}{\@empty\CJK@sjischar{A3}{129}{76}}
+ \CJK@namegdef{^^a4}{\@empty\CJK@sjischar{A4}{129}{41}}
+ \CJK@namegdef{^^a5}{\@empty\CJK@sjischar{A5}{129}{45}}
+ \CJK@namegdef{^^a6}{\@empty\CJK@sjischar{A6}{131}{92}}
+ \CJK@namegdef{^^a7}{\@empty\CJK@sjischar{A7}{131}{40}}
+ \CJK@namegdef{^^a8}{\@empty\CJK@sjischar{A8}{131}{42}}
+ \CJK@namegdef{^^a9}{\@empty\CJK@sjischar{A9}{131}{44}}
+ \CJK@namegdef{^^aa}{\@empty\CJK@sjischar{AA}{131}{46}}
+ \CJK@namegdef{^^ab}{\@empty\CJK@sjischar{AB}{131}{48}}
+ \CJK@namegdef{^^ac}{\@empty\CJK@sjischar{AC}{131}{83}}
+ \CJK@namegdef{^^ad}{\@empty\CJK@sjischar{AD}{131}{85}}
+ \CJK@namegdef{^^ae}{\@empty\CJK@sjischar{AE}{131}{87}}
+ \CJK@namegdef{^^af}{\@empty\CJK@sjischar{AF}{131}{62}}
+ \CJK@namegdef{^^b0}{\@empty\CJK@sjischar{B0}{129}{5B}}
+ \CJK@namegdef{^^b1}{\@empty\CJK@sjischar{B1}{131}{41}}
+ \CJK@namegdef{^^b2}{\@empty\CJK@sjischar{B2}{131}{43}}
+ \CJK@namegdef{^^b3}{\@empty\CJK@sjischar{B3}{131}{45}}
+ \CJK@namegdef{^^b4}{\@empty\CJK@sjischar{B4}{131}{47}}
+ \CJK@namegdef{^^b5}{\@empty\CJK@sjischar{B5}{131}{49}}
+ \CJK@namegdef{^^b6}{\@empty\CJK@sjischar{B6}{131}{4A}}
+ \CJK@namegdef{^^b7}{\@empty\CJK@sjischar{B7}{131}{4C}}
+ \CJK@namegdef{^^b8}{\@empty\CJK@sjischar{B8}{131}{4E}}
+ \CJK@namegdef{^^b9}{\@empty\CJK@sjischar{B9}{131}{50}}
+ \CJK@namegdef{^^ba}{\@empty\CJK@sjischar{BA}{131}{52}}
+ \CJK@namegdef{^^bb}{\@empty\CJK@sjischar{BB}{131}{54}}
+ \CJK@namegdef{^^bc}{\@empty\CJK@sjischar{BC}{131}{56}}
+ \CJK@namegdef{^^bd}{\@empty\CJK@sjischar{BD}{131}{58}}
+ \CJK@namegdef{^^be}{\@empty\CJK@sjischar{BE}{131}{5A}}
+ \CJK@namegdef{^^bf}{\@empty\CJK@sjischar{BF}{131}{5C}}
+ \CJK@namegdef{^^c0}{\@empty\CJK@sjischar{C0}{131}{5E}}
+ \CJK@namegdef{^^c1}{\@empty\CJK@sjischar{C1}{131}{60}}
+ \CJK@namegdef{^^c2}{\@empty\CJK@sjischar{C2}{131}{63}}
+ \CJK@namegdef{^^c3}{\@empty\CJK@sjischar{C3}{131}{65}}
+ \CJK@namegdef{^^c4}{\@empty\CJK@sjischar{C4}{131}{67}}
+ \CJK@namegdef{^^c5}{\@empty\CJK@sjischar{C5}{131}{69}}
+ \CJK@namegdef{^^c6}{\@empty\CJK@sjischar{C6}{131}{6A}}
+ \CJK@namegdef{^^c7}{\@empty\CJK@sjischar{C7}{131}{6B}}
+ \CJK@namegdef{^^c8}{\@empty\CJK@sjischar{C8}{131}{6C}}
+ \CJK@namegdef{^^c9}{\@empty\CJK@sjischar{C9}{131}{6D}}
+ \CJK@namegdef{^^ca}{\@empty\CJK@sjischar{CA}{131}{6E}}
+ \CJK@namegdef{^^cb}{\@empty\CJK@sjischar{CB}{131}{71}}
+ \CJK@namegdef{^^cc}{\@empty\CJK@sjischar{CC}{131}{74}}
+ \CJK@namegdef{^^cd}{\@empty\CJK@sjischar{CD}{131}{77}}
+ \CJK@namegdef{^^ce}{\@empty\CJK@sjischar{CE}{131}{7A}}
+ \CJK@namegdef{^^cf}{\@empty\CJK@sjischar{CF}{131}{7D}}
+ \CJK@namegdef{^^d0}{\@empty\CJK@sjischar{D0}{131}{7E}}
+ \CJK@namegdef{^^d1}{\@empty\CJK@sjischar{D1}{131}{80}}
+ \CJK@namegdef{^^d2}{\@empty\CJK@sjischar{D2}{131}{81}}
+ \CJK@namegdef{^^d3}{\@empty\CJK@sjischar{D3}{131}{82}}
+ \CJK@namegdef{^^d4}{\@empty\CJK@sjischar{D4}{131}{84}}
+ \CJK@namegdef{^^d5}{\@empty\CJK@sjischar{D5}{131}{86}}
+ \CJK@namegdef{^^d6}{\@empty\CJK@sjischar{D6}{131}{88}}
+ \CJK@namegdef{^^d7}{\@empty\CJK@sjischar{D7}{131}{89}}
+ \CJK@namegdef{^^d8}{\@empty\CJK@sjischar{D8}{131}{8A}}
+ \CJK@namegdef{^^d9}{\@empty\CJK@sjischar{D9}{131}{8B}}
+ \CJK@namegdef{^^da}{\@empty\CJK@sjischar{DA}{131}{8C}}
+ \CJK@namegdef{^^db}{\@empty\CJK@sjischar{DB}{131}{8D}}
+ \CJK@namegdef{^^dc}{\@empty\CJK@sjischar{DC}{131}{8F}}
+ \CJK@namegdef{^^dd}{\@empty\CJK@sjischar{DD}{131}{93}}
+ \CJK@namegdef{^^de}{\@empty\CJK@sjischar{DE}{129}{4A}}
+ \CJK@namegdef{^^df}{\@empty\CJK@sjischar{DF}{129}{4B}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kr}{ks}{ 66}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@char {ks}{ -2}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ks}{kt}{186}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kt}{ku}{118}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ku}{kv}{ 50}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@char {kv}{-18}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kv}{kw}{170}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kw}{kx}{102}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kx}{ky}{ 34}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@char {ky}{-34}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ky}{kz}{154}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@errxx}
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/c49song.fd b/Master/texmf-dist/tex/latex/cjk/SJIS/c49song.fd
new file mode 100644
index 00000000000..fe1b9e95f3c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/SJIS/c49song.fd
@@ -0,0 +1,25 @@
+% This is the file c49song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c49song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: one-byte half-width katakana (JIS X 0201-1997)
+% font encoding: eight-bit (as used in SJIS)
+
+\DeclareFontFamily{C49}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C49}{song}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * sokana}{}
+\DeclareFontShape{C49}{song}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * sokanab}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.bdg b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.bdg
new file mode 100644
index 00000000000..0d93769359f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.bdg
@@ -0,0 +1,156 @@
+% This is the file UTF8.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{UTF8.bdg}[\filedate\space\fileversion]
+
+
+
+% UTF 8 bindings for two-, three-, and four-byte characters. We stop
+% with 0xF4 because there are no valid Unicode characters beyond 0x10FFFF.
+
+\global\@namedef{CJK@UTF8Binding}{
+ \CJK@namedef{^^80}
+ \CJK@namedef{^^81}
+ \CJK@namedef{^^82}
+ \CJK@namedef{^^83}
+ \CJK@namedef{^^84}
+ \CJK@namedef{^^85}
+ \CJK@namedef{^^86}
+ \CJK@namedef{^^87}
+ \CJK@namedef{^^88}
+ \CJK@namedef{^^89}
+ \CJK@namedef{^^8a}
+ \CJK@namedef{^^8b}
+ \CJK@namedef{^^8c}
+ \CJK@namedef{^^8d}
+ \CJK@namedef{^^8e}
+ \CJK@namedef{^^8f}
+ \CJK@namedef{^^90}
+ \CJK@namedef{^^91}
+ \CJK@namedef{^^92}
+ \CJK@namedef{^^93}
+ \CJK@namedef{^^94}
+ \CJK@namedef{^^95}
+ \CJK@namedef{^^96}
+ \CJK@namedef{^^97}
+ \CJK@namedef{^^98}
+ \CJK@namedef{^^99}
+ \CJK@namedef{^^9a}
+ \CJK@namedef{^^9b}
+ \CJK@namedef{^^9c}
+ \CJK@namedef{^^9d}
+ \CJK@namedef{^^9e}
+ \CJK@namedef{^^9f}
+ \CJK@namedef{^^a0}
+ \CJK@namedef{^^a1}
+ \CJK@namedef{^^a2}
+ \CJK@namedef{^^a3}
+ \CJK@namedef{^^a4}
+ \CJK@namedef{^^a5}
+ \CJK@namedef{^^a6}
+ \CJK@namedef{^^a7}
+ \CJK@namedef{^^a8}
+ \CJK@namedef{^^a9}
+ \CJK@namedef{^^aa}
+ \CJK@namedef{^^ab}
+ \CJK@namedef{^^ac}
+ \CJK@namedef{^^ad}
+ \CJK@namedef{^^ae}
+ \CJK@namedef{^^af}
+ \CJK@namedef{^^b0}
+ \CJK@namedef{^^b1}
+ \CJK@namedef{^^b2}
+ \CJK@namedef{^^b3}
+ \CJK@namedef{^^b4}
+ \CJK@namedef{^^b5}
+ \CJK@namedef{^^b6}
+ \CJK@namedef{^^b7}
+ \CJK@namedef{^^b8}
+ \CJK@namedef{^^b9}
+ \CJK@namedef{^^ba}
+ \CJK@namedef{^^bb}
+ \CJK@namedef{^^bc}
+ \CJK@namedef{^^bd}
+ \CJK@namedef{^^be}
+ \CJK@namedef{^^bf}
+
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+
+ \CJK@namepppdef{^^e0}
+ \CJK@namepppdef{^^e1}
+ \CJK@namepppdef{^^e2}
+ \CJK@namepppdef{^^e3}
+ \CJK@namepppdef{^^e4}
+ \CJK@namepppdef{^^e5}
+ \CJK@namepppdef{^^e6}
+ \CJK@namepppdef{^^e7}
+ \CJK@namepppdef{^^e8}
+ \CJK@namepppdef{^^e9}
+ \CJK@namepppdef{^^ea}
+ \CJK@namepppdef{^^eb}
+ \CJK@namepppdef{^^ec}
+ \CJK@namepppdef{^^ed}
+ \CJK@namepppdef{^^ee}
+ \CJK@namepppdef{^^ef}
+
+ \CJK@nameppppdef{^^f0}
+ \CJK@nameppppdef{^^f1}
+ \CJK@nameppppdef{^^f2}
+ \CJK@nameppppdef{^^f3}
+ \CJK@nameppppdef{^^f4}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.chr b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.chr
new file mode 100644
index 00000000000..d1d961c57db
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.chr
@@ -0,0 +1,276 @@
+% This is the file UTF8.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{UTF8.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling CJK fonts and characters in UTF 8 encoding.
+
+% two bytes per character; covers range 0x80 - 0x7FF.
+
+\CJK@global\@namedef{CJK@UTF8Chr}{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \CJKsymbol{\@tempcnta}
+ \fi
+ \fi}}
+
+% three bytes per character; covers range 0x800 - 0xFFFF.
+
+ \CJK@global\def\CJK@altchar##1##2##3{
+ {\ifnum ##2 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##2 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errx
+ \else
+ \ifCJK@CJK@
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \@tempcnta ##1\relax
+ \@tempcntb ##2\relax
+ \divide\@tempcntb 4\relax
+ \advance\@tempcnta \@tempcntb
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \def\CJK@tempa####1{
+ \lowercase{\edef\CJK@plane{####1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+
+ \@tempcnta ##2\relax
+ \multiply\@tempcntb -4\relax
+ \advance\@tempcnta \@tempcntb
+ \multiply\@tempcnta 64\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcnta -128\relax
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ \ifCJK@CJK@
+ \CJK@CJK
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}}
+
+% four bytes per character; covers range 0x10000 - 0x10FFFF.
+
+ \CJK@global\def\CJK@altxchar##1##2##3##4{
+ {\ifnum ##2 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##2 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errx
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errxx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errxx
+ \else
+ \ifCJK@CJK@
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \@tempcnta ##1\relax
+ \@tempcntb ##2\relax
+ \multiply\@tempcntb \sixt@@n
+ \advance\@tempcnta \@tempcntb
+ \@tempcntb ##3\relax
+ \divide\@tempcntb 4\relax
+ \advance\@tempcnta \@tempcntb
+ \CJK@numbxToHex{\CJK@gtemp}{\@tempcnta}
+ \def\CJK@tempa####1{
+ \lowercase{\edef\CJK@plane{####1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+
+ \@tempcnta ##3\relax
+ \multiply\@tempcntb -4\relax
+ \advance\@tempcnta \@tempcntb
+ \multiply\@tempcnta 64\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcnta -128\relax
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ \ifCJK@CJK@
+ \CJK@CJK
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}}
+
+% define macro for handling punctuation characters.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##4 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@errx
+ \else
+ \@tempcnta ##2\relax
+ \@tempcntb ##3\relax
+ \divide\@tempcntb 4\relax
+ \advance\@tempcnta \@tempcntb
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \def\CJK@tempa####1{
+ \lowercase{\edef\CJK@plane{####1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+
+ \@tempcnta ##3\relax
+ \multiply\@tempcntb -4\relax
+ \advance\@tempcnta \@tempcntb
+ \multiply\@tempcnta 64\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcnta -128\relax
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+
+ % we need three braces to make it work with CJKulem.sty
+ {{{\ifCJK@CJK@
+ \expandafter\CJK@testInList
+ \expandafter{\expandafter##1\expandafter}
+ \expandafter{\CJK@plane}
+ \ifCJK@
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \CJKpunctsymbol{\@tempcnta}
+
+ \CJK@CJK
+ \fi
+ \else
+ \CJKpunctsymbol{\@tempcnta}
+ \fi
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ }}}
+ \fi
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.enc b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.enc
new file mode 100644
index 00000000000..e1f659f3ccc
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.enc
@@ -0,0 +1,140 @@
+% This is the file UTF8.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{UTF8.enc}[\filedate\space\fileversion]
+
+
+% UTF 8 encoding:
+
+\CJK@global\@namedef{CJK@UTF8Encoding}{
+ \CJK@loadChr{UTF8}
+
+ % two-byte characters
+ %
+ % 110xxxxx 10xxxxxx
+ % |
+ %
+ % 1. Byte * 64 -> xxxxx000000
+ % 2. Byte -> 128 + xxxxxx
+ %
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char{00}{-128}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char{00}{ -64}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char{00}{ 0}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char{00}{ 64}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char{01}{-128}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char{01}{ -64}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char{01}{ 0}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char{01}{ 64}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char{02}{-128}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char{02}{ -64}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char{02}{ 0}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char{02}{ 64}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char{03}{-128}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char{03}{ -64}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char{03}{ 0}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char{03}{ 64}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char{04}{-128}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char{04}{ -64}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@char{04}{ 0}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char{04}{ 64}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char{05}{-128}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char{05}{ -64}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char{05}{ 0}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char{05}{ 64}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char{06}{-128}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char{06}{ -64}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@char{06}{ 0}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char{06}{ 64}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char{07}{-128}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char{07}{ -64}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char{07}{ 0}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char{07}{ 64}{##1}}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@unicodeError becomes active
+
+ % three-byte characters
+ %
+ % 1110xxxx 10xxxxxx 10xxxxxx
+ % |
+ %
+ % 1. Byte * 16 -> xxxx0000
+ % 2. Byte / 4 -> 32 + xxxx
+ %
+ \CJK@namegdef{^^e0}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{-32}{##1}{##2}}
+ \CJK@namegdef{^^e1}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{-16}{##1}{##2}}
+ \CJK@namegdef{^^e2}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 0}{##1}{##2}}
+ \CJK@namegdef{^^e3}##1##2{\@gobble\CJK@unicodeError
+ \CJK@punctchar{\CJK@uniPunct}{ 16}{##1}{##2}}
+ \CJK@namegdef{^^e4}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 32}{##1}{##2}}
+ \CJK@namegdef{^^e5}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 48}{##1}{##2}}
+ \CJK@namegdef{^^e6}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 64}{##1}{##2}}
+ \CJK@namegdef{^^e7}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 80}{##1}{##2}}
+ \CJK@namegdef{^^e8}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 96}{##1}{##2}}
+ \CJK@namegdef{^^e9}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{112}{##1}{##2}}
+ \CJK@namegdef{^^ea}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{128}{##1}{##2}}
+ \CJK@namegdef{^^eb}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{144}{##1}{##2}}
+ \CJK@namegdef{^^ec}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{160}{##1}{##2}}
+ \CJK@namegdef{^^ed}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{176}{##1}{##2}}
+ \CJK@namegdef{^^ee}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{192}{##1}{##2}}
+ \CJK@namegdef{^^ef}##1##2{\@gobble\CJK@unicodeError
+ \CJK@punctchar{\CJK@uniPunct}{208}{##1}{##2}}
+
+ % four-byte characters
+ %
+ % 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+ % | |
+ %
+ % 1. Byte * 1024 -> xxx00 00000000
+ % 2. Byte * 16 -> 2048 + xx xxxx0000
+ % 3. Byte / 4 -> 32 + xxxx
+ %
+ \CJK@namegdef{^^f0}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{-2080}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f1}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{-1056}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f2}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{ -32}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f3}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{ 992}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f4}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{ 2016}{##1}{##2}{##3}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fd
new file mode 100644
index 00000000000..4919fb009ca
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fd
@@ -0,0 +1,21 @@
+% This is the file c70bkai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70bkai.fd}[\filedate\space\fileversion]
+
+
+% character set: Big5
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{bkai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{bkai}{m}{n}{<-> CJK * bkaiu}{}
+\DeclareFontShape{C70}{bkai}{bx}{n}{<-> CJKb * bkaiu}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fdx b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fdx
new file mode 100644
index 00000000000..36e7df99df0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fdx
@@ -0,0 +1,318 @@
+% This is the file c70bkai.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by the script makefdx.pl for CJK Version 4.8.0 (22-May-2008).
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70bkai.fdx}[\filedate\space\fileversion]
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+% Uncomment if necessary.
+%\CJKvdef{norotate}{}
+\CJKvdef{m/n/00/175}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvlet{bx/n/00/175}{m/n/00/175}
+\CJKvdef{m/n/00/183}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvlet{bx/n/00/183}{m/n/00/183}
+\CJKvdef{m/n/02/205}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvlet{bx/n/02/205}{m/n/02/205}
+\CJKvdef{m/n/ff/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvdef{m/n/ff/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvdef{m/n/ff/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvdef{m/n/ff/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvdef{m/n/ff/59}{\def\CJK@plane{v}\selectfont\CJKsymbol{7}}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvdef{m/n/ff/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{8}}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvdef{m/n/ff/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvlet{bx/n/ff/63}{m/n/ff/63}
+\CJKvdef{m/n/ff/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvdef{m/n/ff/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+\CJKvdef{m/n/ff/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvlet{bx/n/ff/94}{m/n/ff/94}
+\CJKvdef{m/n/20/19}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvlet{bx/n/20/19}{m/n/20/19}
+\CJKvdef{m/n/20/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvlet{bx/n/20/20}{m/n/20/20}
+\CJKvdef{m/n/20/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvdef{m/n/20/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+\CJKvdef{m/n/21/144}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvlet{bx/n/21/144}{m/n/21/144}
+\CJKvdef{m/n/21/145}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvlet{bx/n/21/145}{m/n/21/145}
+\CJKvdef{m/n/21/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvlet{bx/n/21/146}{m/n/21/146}
+\CJKvdef{m/n/21/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvlet{bx/n/21/147}{m/n/21/147}
+\CJKvdef{m/n/22/35}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvlet{bx/n/22/35}{m/n/22/35}
+\CJKvdef{m/n/22/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvlet{bx/n/22/37}{m/n/22/37}
+\CJKvdef{m/n/25/0}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvlet{bx/n/25/0}{m/n/25/0}
+\CJKvdef{m/n/25/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvlet{bx/n/25/2}{m/n/25/2}
+\CJKvdef{m/n/25/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvlet{bx/n/25/12}{m/n/25/12}
+\CJKvdef{m/n/25/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvlet{bx/n/25/16}{m/n/25/16}
+\CJKvdef{m/n/25/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvlet{bx/n/25/20}{m/n/25/20}
+\CJKvdef{m/n/25/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvlet{bx/n/25/24}{m/n/25/24}
+\CJKvdef{m/n/25/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvlet{bx/n/25/28}{m/n/25/28}
+\CJKvdef{m/n/25/36}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvlet{bx/n/25/36}{m/n/25/36}
+\CJKvdef{m/n/25/44}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvlet{bx/n/25/44}{m/n/25/44}
+\CJKvdef{m/n/25/52}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvlet{bx/n/25/52}{m/n/25/52}
+\CJKvdef{m/n/25/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvlet{bx/n/25/80}{m/n/25/80}
+\CJKvdef{m/n/25/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{34}}
+\CJKvlet{bx/n/25/81}{m/n/25/81}
+\CJKvdef{m/n/25/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{35}}
+\CJKvlet{bx/n/25/82}{m/n/25/82}
+\CJKvdef{m/n/25/83}{\def\CJK@plane{v}\selectfont\CJKsymbol{36}}
+\CJKvlet{bx/n/25/83}{m/n/25/83}
+\CJKvdef{m/n/25/84}{\def\CJK@plane{v}\selectfont\CJKsymbol{37}}
+\CJKvlet{bx/n/25/84}{m/n/25/84}
+\CJKvdef{m/n/25/85}{\def\CJK@plane{v}\selectfont\CJKsymbol{38}}
+\CJKvlet{bx/n/25/85}{m/n/25/85}
+\CJKvdef{m/n/25/86}{\def\CJK@plane{v}\selectfont\CJKsymbol{39}}
+\CJKvlet{bx/n/25/86}{m/n/25/86}
+\CJKvdef{m/n/25/87}{\def\CJK@plane{v}\selectfont\CJKsymbol{40}}
+\CJKvlet{bx/n/25/87}{m/n/25/87}
+\CJKvdef{m/n/25/88}{\def\CJK@plane{v}\selectfont\CJKsymbol{41}}
+\CJKvlet{bx/n/25/88}{m/n/25/88}
+\CJKvdef{m/n/25/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{42}}
+\CJKvlet{bx/n/25/89}{m/n/25/89}
+\CJKvdef{m/n/25/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{43}}
+\CJKvlet{bx/n/25/90}{m/n/25/90}
+\CJKvdef{m/n/25/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{44}}
+\CJKvlet{bx/n/25/91}{m/n/25/91}
+\CJKvdef{m/n/25/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{45}}
+\CJKvlet{bx/n/25/92}{m/n/25/92}
+\CJKvdef{m/n/25/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{46}}
+\CJKvlet{bx/n/25/93}{m/n/25/93}
+\CJKvdef{m/n/25/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvlet{bx/n/25/94}{m/n/25/94}
+\CJKvdef{m/n/25/95}{\def\CJK@plane{v}\selectfont\CJKsymbol{48}}
+\CJKvlet{bx/n/25/95}{m/n/25/95}
+\CJKvdef{m/n/25/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{49}}
+\CJKvlet{bx/n/25/96}{m/n/25/96}
+\CJKvdef{m/n/25/97}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvlet{bx/n/25/97}{m/n/25/97}
+\CJKvdef{m/n/25/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{51}}
+\CJKvlet{bx/n/25/98}{m/n/25/98}
+\CJKvdef{m/n/25/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{52}}
+\CJKvlet{bx/n/25/99}{m/n/25/99}
+\CJKvdef{m/n/25/100}{\def\CJK@plane{v}\selectfont\CJKsymbol{53}}
+\CJKvlet{bx/n/25/100}{m/n/25/100}
+\CJKvdef{m/n/25/101}{\def\CJK@plane{v}\selectfont\CJKsymbol{54}}
+\CJKvlet{bx/n/25/101}{m/n/25/101}
+\CJKvdef{m/n/25/102}{\def\CJK@plane{v}\selectfont\CJKsymbol{55}}
+\CJKvlet{bx/n/25/102}{m/n/25/102}
+\CJKvdef{m/n/25/103}{\def\CJK@plane{v}\selectfont\CJKsymbol{56}}
+\CJKvlet{bx/n/25/103}{m/n/25/103}
+\CJKvdef{m/n/25/104}{\def\CJK@plane{v}\selectfont\CJKsymbol{57}}
+\CJKvlet{bx/n/25/104}{m/n/25/104}
+\CJKvdef{m/n/25/105}{\def\CJK@plane{v}\selectfont\CJKsymbol{58}}
+\CJKvlet{bx/n/25/105}{m/n/25/105}
+\CJKvdef{m/n/25/106}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvlet{bx/n/25/106}{m/n/25/106}
+\CJKvdef{m/n/25/107}{\def\CJK@plane{v}\selectfont\CJKsymbol{60}}
+\CJKvlet{bx/n/25/107}{m/n/25/107}
+\CJKvdef{m/n/25/109}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvlet{bx/n/25/109}{m/n/25/109}
+\CJKvdef{m/n/25/110}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvlet{bx/n/25/110}{m/n/25/110}
+\CJKvdef{m/n/25/111}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvlet{bx/n/25/111}{m/n/25/111}
+\CJKvdef{m/n/25/112}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvlet{bx/n/25/112}{m/n/25/112}
+\CJKvdef{m/n/25/116}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvlet{bx/n/25/116}{m/n/25/116}
+\CJKvdef{m/n/30/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvdef{m/n/30/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvdef{m/n/30/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvdef{m/n/30/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvdef{m/n/30/10}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvdef{m/n/30/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvdef{m/n/30/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvdef{m/n/30/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvdef{m/n/30/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvdef{m/n/30/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvdef{m/n/30/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvdef{m/n/30/17}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvdef{m/n/30/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvdef{m/n/30/21}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvdef{m/n/fe/79}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvlet{bx/n/fe/79}{m/n/fe/79}
+\CJKvdef{m/n/fe/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvlet{bx/n/fe/80}{m/n/fe/80}
+\CJKvdef{m/n/fe/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvlet{bx/n/fe/81}{m/n/fe/81}
+\CJKvdef{m/n/fe/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvlet{bx/n/fe/82}{m/n/fe/82}
+\CJKvdef{m/n/fe/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvlet{bx/n/fe/89}{m/n/fe/89}
+\CJKvdef{m/n/fe/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvlet{bx/n/fe/90}{m/n/fe/90}
+\CJKvdef{m/n/fe/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvlet{bx/n/fe/91}{m/n/fe/91}
+\CJKvdef{m/n/fe/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvlet{bx/n/fe/92}{m/n/fe/92}
+\CJKvdef{m/n/fe/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvlet{bx/n/fe/93}{m/n/fe/93}
+\CJKvdef{m/n/fe/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+\CJKvlet{bx/n/fe/94}{m/n/fe/94}
+\CJKvdef{m/n/20/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{90}}
+\CJKvlet{bx/n/20/62}{m/n/20/62}
+
+\gdef\CJK@cmap@bkaiv{
+ \expandafter\ifx\csname CJK@CMap@bkaiv\endcsname \relax
+ \immediate\pdfobj stream {
+ /CIDInit\space/ProcSet\space findresource\space begin\space
+ 12\space dict\space begin\space
+ begincmap\space
+ /CIDSystemInfo\space <<\space
+ /Registry\space (TeX)\space
+ /Ordering\space (bkaiv)\space
+ /Supplement\space 0\space >>\space def\space
+ /CMapName\space /TeX-bkaiv-0\space def\space
+ 1\space begincodespacerange\space
+ <00>\space <FF>\space
+ endcodespacerange\space
+ 91\space beginbfchar\space
+ <00>\space <00AF>\space
+ <01>\space <00B7>\space
+ <02>\space <02CD>\space
+ <03>\space <FF08>\space
+ <04>\space <FF09>\space
+ <05>\space <FF0C>\space
+ <06>\space <FF0E>\space
+ <07>\space <FF3B>\space
+ <08>\space <FF3D>\space
+ <09>\space <FF3F>\space
+ <0A>\space <FF5B>\space
+ <0B>\space <FF5D>\space
+ <0C>\space <FF5E>\space
+ <0D>\space <2013>\space
+ <0E>\space <2014>\space
+ <0F>\space <2025>\space
+ <10>\space <2026>\space
+ <11>\space <2190>\space
+ <12>\space <2191>\space
+ <13>\space <2192>\space
+ <14>\space <2193>\space
+ <15>\space <2223>\space
+ <16>\space <2225>\space
+ <17>\space <2500>\space
+ <18>\space <2502>\space
+ <19>\space <250C>\space
+ <1A>\space <2510>\space
+ <1B>\space <2514>\space
+ <1C>\space <2518>\space
+ <1D>\space <251C>\space
+ <1E>\space <2524>\space
+ <1F>\space <252C>\space
+ <20>\space <2534>\space
+ <21>\space <2550>\space
+ <22>\space <2551>\space
+ <23>\space <2552>\space
+ <24>\space <2553>\space
+ <25>\space <2554>\space
+ <26>\space <2555>\space
+ <27>\space <2556>\space
+ <28>\space <2557>\space
+ <29>\space <2558>\space
+ <2A>\space <2559>\space
+ <2B>\space <255A>\space
+ <2C>\space <255B>\space
+ <2D>\space <255C>\space
+ <2E>\space <255D>\space
+ <2F>\space <255E>\space
+ <30>\space <255F>\space
+ <31>\space <2560>\space
+ <32>\space <2561>\space
+ <33>\space <2562>\space
+ <34>\space <2563>\space
+ <35>\space <2564>\space
+ <36>\space <2565>\space
+ <37>\space <2566>\space
+ <38>\space <2567>\space
+ <39>\space <2568>\space
+ <3A>\space <2569>\space
+ <3B>\space <256A>\space
+ <3C>\space <256B>\space
+ <3D>\space <256D>\space
+ <3E>\space <256E>\space
+ <3F>\space <256F>\space
+ <40>\space <2570>\space
+ <41>\space <2574>\space
+ <42>\space <3001>\space
+ <43>\space <3002>\space
+ <44>\space <3008>\space
+ <45>\space <3009>\space
+ <46>\space <300A>\space
+ <47>\space <300B>\space
+ <48>\space <300C>\space
+ <49>\space <300D>\space
+ <4A>\space <300E>\space
+ <4B>\space <300F>\space
+ <4C>\space <3010>\space
+ <4D>\space <3011>\space
+ <4E>\space <3014>\space
+ <4F>\space <3015>\space
+ <50>\space <FE4F>\space
+ <51>\space <FE50>\space
+ <52>\space <FE51>\space
+ <53>\space <FE52>\space
+ <54>\space <FE59>\space
+ <55>\space <FE5A>\space
+ <56>\space <FE5B>\space
+ <57>\space <FE5C>\space
+ <58>\space <FE5D>\space
+ <59>\space <FE5E>\space
+ <5A>\space <203E>\space
+ endbfchar\space
+ endcmap\space
+ CMapName\space currentdict\space /CMap\space defineresource\space
+ pop\space
+ end\space
+ end\space}
+ \expandafter\xdef\csname CJK@CMap@bkaiv\endcsname{
+ \the\pdflastobj}
+ \fi
+ \pdffontattr\font@name{
+ /ToUnicode\space\csname CJK@CMap@bkaiv\endcsname\space 0\space R}
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fd
new file mode 100644
index 00000000000..900bc8bf945
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fd
@@ -0,0 +1,21 @@
+% This is the file c70bsmi.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70bsmi.fd}[\filedate\space\fileversion]
+
+
+% character set: Big5
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{bsmi}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{bsmi}{m}{n}{<-> CJK * bsmiu}{}
+\DeclareFontShape{C70}{bsmi}{bx}{n}{<-> CJKb * bsmiu}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fdx b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fdx
new file mode 100644
index 00000000000..4d6e511b01c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fdx
@@ -0,0 +1,318 @@
+% This is the file c70bsmi.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by the script makefdx.pl for CJK Version 4.8.0 (22-May-2008).
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70bsmi.fdx}[\filedate\space\fileversion]
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+% Uncomment if necessary.
+%\CJKvdef{norotate}{}
+\CJKvdef{m/n/00/175}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvlet{bx/n/00/175}{m/n/00/175}
+\CJKvdef{m/n/00/183}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvlet{bx/n/00/183}{m/n/00/183}
+\CJKvdef{m/n/02/205}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvlet{bx/n/02/205}{m/n/02/205}
+\CJKvdef{m/n/ff/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvdef{m/n/ff/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvdef{m/n/ff/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvdef{m/n/ff/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvdef{m/n/ff/59}{\def\CJK@plane{v}\selectfont\CJKsymbol{7}}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvdef{m/n/ff/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{8}}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvdef{m/n/ff/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvlet{bx/n/ff/63}{m/n/ff/63}
+\CJKvdef{m/n/ff/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvdef{m/n/ff/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+\CJKvdef{m/n/ff/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvlet{bx/n/ff/94}{m/n/ff/94}
+\CJKvdef{m/n/20/19}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvlet{bx/n/20/19}{m/n/20/19}
+\CJKvdef{m/n/20/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvlet{bx/n/20/20}{m/n/20/20}
+\CJKvdef{m/n/20/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvdef{m/n/20/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+\CJKvdef{m/n/21/144}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvlet{bx/n/21/144}{m/n/21/144}
+\CJKvdef{m/n/21/145}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvlet{bx/n/21/145}{m/n/21/145}
+\CJKvdef{m/n/21/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvlet{bx/n/21/146}{m/n/21/146}
+\CJKvdef{m/n/21/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvlet{bx/n/21/147}{m/n/21/147}
+\CJKvdef{m/n/22/35}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvlet{bx/n/22/35}{m/n/22/35}
+\CJKvdef{m/n/22/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvlet{bx/n/22/37}{m/n/22/37}
+\CJKvdef{m/n/25/0}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvlet{bx/n/25/0}{m/n/25/0}
+\CJKvdef{m/n/25/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvlet{bx/n/25/2}{m/n/25/2}
+\CJKvdef{m/n/25/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvlet{bx/n/25/12}{m/n/25/12}
+\CJKvdef{m/n/25/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvlet{bx/n/25/16}{m/n/25/16}
+\CJKvdef{m/n/25/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvlet{bx/n/25/20}{m/n/25/20}
+\CJKvdef{m/n/25/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvlet{bx/n/25/24}{m/n/25/24}
+\CJKvdef{m/n/25/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvlet{bx/n/25/28}{m/n/25/28}
+\CJKvdef{m/n/25/36}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvlet{bx/n/25/36}{m/n/25/36}
+\CJKvdef{m/n/25/44}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvlet{bx/n/25/44}{m/n/25/44}
+\CJKvdef{m/n/25/52}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvlet{bx/n/25/52}{m/n/25/52}
+\CJKvdef{m/n/25/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvlet{bx/n/25/80}{m/n/25/80}
+\CJKvdef{m/n/25/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{34}}
+\CJKvlet{bx/n/25/81}{m/n/25/81}
+\CJKvdef{m/n/25/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{35}}
+\CJKvlet{bx/n/25/82}{m/n/25/82}
+\CJKvdef{m/n/25/83}{\def\CJK@plane{v}\selectfont\CJKsymbol{36}}
+\CJKvlet{bx/n/25/83}{m/n/25/83}
+\CJKvdef{m/n/25/84}{\def\CJK@plane{v}\selectfont\CJKsymbol{37}}
+\CJKvlet{bx/n/25/84}{m/n/25/84}
+\CJKvdef{m/n/25/85}{\def\CJK@plane{v}\selectfont\CJKsymbol{38}}
+\CJKvlet{bx/n/25/85}{m/n/25/85}
+\CJKvdef{m/n/25/86}{\def\CJK@plane{v}\selectfont\CJKsymbol{39}}
+\CJKvlet{bx/n/25/86}{m/n/25/86}
+\CJKvdef{m/n/25/87}{\def\CJK@plane{v}\selectfont\CJKsymbol{40}}
+\CJKvlet{bx/n/25/87}{m/n/25/87}
+\CJKvdef{m/n/25/88}{\def\CJK@plane{v}\selectfont\CJKsymbol{41}}
+\CJKvlet{bx/n/25/88}{m/n/25/88}
+\CJKvdef{m/n/25/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{42}}
+\CJKvlet{bx/n/25/89}{m/n/25/89}
+\CJKvdef{m/n/25/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{43}}
+\CJKvlet{bx/n/25/90}{m/n/25/90}
+\CJKvdef{m/n/25/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{44}}
+\CJKvlet{bx/n/25/91}{m/n/25/91}
+\CJKvdef{m/n/25/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{45}}
+\CJKvlet{bx/n/25/92}{m/n/25/92}
+\CJKvdef{m/n/25/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{46}}
+\CJKvlet{bx/n/25/93}{m/n/25/93}
+\CJKvdef{m/n/25/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvlet{bx/n/25/94}{m/n/25/94}
+\CJKvdef{m/n/25/95}{\def\CJK@plane{v}\selectfont\CJKsymbol{48}}
+\CJKvlet{bx/n/25/95}{m/n/25/95}
+\CJKvdef{m/n/25/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{49}}
+\CJKvlet{bx/n/25/96}{m/n/25/96}
+\CJKvdef{m/n/25/97}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvlet{bx/n/25/97}{m/n/25/97}
+\CJKvdef{m/n/25/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{51}}
+\CJKvlet{bx/n/25/98}{m/n/25/98}
+\CJKvdef{m/n/25/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{52}}
+\CJKvlet{bx/n/25/99}{m/n/25/99}
+\CJKvdef{m/n/25/100}{\def\CJK@plane{v}\selectfont\CJKsymbol{53}}
+\CJKvlet{bx/n/25/100}{m/n/25/100}
+\CJKvdef{m/n/25/101}{\def\CJK@plane{v}\selectfont\CJKsymbol{54}}
+\CJKvlet{bx/n/25/101}{m/n/25/101}
+\CJKvdef{m/n/25/102}{\def\CJK@plane{v}\selectfont\CJKsymbol{55}}
+\CJKvlet{bx/n/25/102}{m/n/25/102}
+\CJKvdef{m/n/25/103}{\def\CJK@plane{v}\selectfont\CJKsymbol{56}}
+\CJKvlet{bx/n/25/103}{m/n/25/103}
+\CJKvdef{m/n/25/104}{\def\CJK@plane{v}\selectfont\CJKsymbol{57}}
+\CJKvlet{bx/n/25/104}{m/n/25/104}
+\CJKvdef{m/n/25/105}{\def\CJK@plane{v}\selectfont\CJKsymbol{58}}
+\CJKvlet{bx/n/25/105}{m/n/25/105}
+\CJKvdef{m/n/25/106}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvlet{bx/n/25/106}{m/n/25/106}
+\CJKvdef{m/n/25/107}{\def\CJK@plane{v}\selectfont\CJKsymbol{60}}
+\CJKvlet{bx/n/25/107}{m/n/25/107}
+\CJKvdef{m/n/25/109}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvlet{bx/n/25/109}{m/n/25/109}
+\CJKvdef{m/n/25/110}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvlet{bx/n/25/110}{m/n/25/110}
+\CJKvdef{m/n/25/111}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvlet{bx/n/25/111}{m/n/25/111}
+\CJKvdef{m/n/25/112}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvlet{bx/n/25/112}{m/n/25/112}
+\CJKvdef{m/n/25/116}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvlet{bx/n/25/116}{m/n/25/116}
+\CJKvdef{m/n/30/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvdef{m/n/30/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvdef{m/n/30/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvdef{m/n/30/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvdef{m/n/30/10}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvdef{m/n/30/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvdef{m/n/30/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvdef{m/n/30/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvdef{m/n/30/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvdef{m/n/30/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvdef{m/n/30/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvdef{m/n/30/17}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvdef{m/n/30/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvdef{m/n/30/21}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvdef{m/n/fe/79}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvlet{bx/n/fe/79}{m/n/fe/79}
+\CJKvdef{m/n/fe/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvlet{bx/n/fe/80}{m/n/fe/80}
+\CJKvdef{m/n/fe/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvlet{bx/n/fe/81}{m/n/fe/81}
+\CJKvdef{m/n/fe/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvlet{bx/n/fe/82}{m/n/fe/82}
+\CJKvdef{m/n/fe/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvlet{bx/n/fe/89}{m/n/fe/89}
+\CJKvdef{m/n/fe/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvlet{bx/n/fe/90}{m/n/fe/90}
+\CJKvdef{m/n/fe/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvlet{bx/n/fe/91}{m/n/fe/91}
+\CJKvdef{m/n/fe/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvlet{bx/n/fe/92}{m/n/fe/92}
+\CJKvdef{m/n/fe/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvlet{bx/n/fe/93}{m/n/fe/93}
+\CJKvdef{m/n/fe/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+\CJKvlet{bx/n/fe/94}{m/n/fe/94}
+\CJKvdef{m/n/20/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{90}}
+\CJKvlet{bx/n/20/62}{m/n/20/62}
+
+\gdef\CJK@cmap@bsmiv{
+ \expandafter\ifx\csname CJK@CMap@bsmiv\endcsname \relax
+ \immediate\pdfobj stream {
+ /CIDInit\space/ProcSet\space findresource\space begin\space
+ 12\space dict\space begin\space
+ begincmap\space
+ /CIDSystemInfo\space <<\space
+ /Registry\space (TeX)\space
+ /Ordering\space (bsmiv)\space
+ /Supplement\space 0\space >>\space def\space
+ /CMapName\space /TeX-bsmiv-0\space def\space
+ 1\space begincodespacerange\space
+ <00>\space <FF>\space
+ endcodespacerange\space
+ 91\space beginbfchar\space
+ <00>\space <00AF>\space
+ <01>\space <00B7>\space
+ <02>\space <02CD>\space
+ <03>\space <FF08>\space
+ <04>\space <FF09>\space
+ <05>\space <FF0C>\space
+ <06>\space <FF0E>\space
+ <07>\space <FF3B>\space
+ <08>\space <FF3D>\space
+ <09>\space <FF3F>\space
+ <0A>\space <FF5B>\space
+ <0B>\space <FF5D>\space
+ <0C>\space <FF5E>\space
+ <0D>\space <2013>\space
+ <0E>\space <2014>\space
+ <0F>\space <2025>\space
+ <10>\space <2026>\space
+ <11>\space <2190>\space
+ <12>\space <2191>\space
+ <13>\space <2192>\space
+ <14>\space <2193>\space
+ <15>\space <2223>\space
+ <16>\space <2225>\space
+ <17>\space <2500>\space
+ <18>\space <2502>\space
+ <19>\space <250C>\space
+ <1A>\space <2510>\space
+ <1B>\space <2514>\space
+ <1C>\space <2518>\space
+ <1D>\space <251C>\space
+ <1E>\space <2524>\space
+ <1F>\space <252C>\space
+ <20>\space <2534>\space
+ <21>\space <2550>\space
+ <22>\space <2551>\space
+ <23>\space <2552>\space
+ <24>\space <2553>\space
+ <25>\space <2554>\space
+ <26>\space <2555>\space
+ <27>\space <2556>\space
+ <28>\space <2557>\space
+ <29>\space <2558>\space
+ <2A>\space <2559>\space
+ <2B>\space <255A>\space
+ <2C>\space <255B>\space
+ <2D>\space <255C>\space
+ <2E>\space <255D>\space
+ <2F>\space <255E>\space
+ <30>\space <255F>\space
+ <31>\space <2560>\space
+ <32>\space <2561>\space
+ <33>\space <2562>\space
+ <34>\space <2563>\space
+ <35>\space <2564>\space
+ <36>\space <2565>\space
+ <37>\space <2566>\space
+ <38>\space <2567>\space
+ <39>\space <2568>\space
+ <3A>\space <2569>\space
+ <3B>\space <256A>\space
+ <3C>\space <256B>\space
+ <3D>\space <256D>\space
+ <3E>\space <256E>\space
+ <3F>\space <256F>\space
+ <40>\space <2570>\space
+ <41>\space <2574>\space
+ <42>\space <3001>\space
+ <43>\space <3002>\space
+ <44>\space <3008>\space
+ <45>\space <3009>\space
+ <46>\space <300A>\space
+ <47>\space <300B>\space
+ <48>\space <300C>\space
+ <49>\space <300D>\space
+ <4A>\space <300E>\space
+ <4B>\space <300F>\space
+ <4C>\space <3010>\space
+ <4D>\space <3011>\space
+ <4E>\space <3014>\space
+ <4F>\space <3015>\space
+ <50>\space <FE4F>\space
+ <51>\space <FE50>\space
+ <52>\space <FE51>\space
+ <53>\space <FE52>\space
+ <54>\space <FE59>\space
+ <55>\space <FE5A>\space
+ <56>\space <FE5B>\space
+ <57>\space <FE5C>\space
+ <58>\space <FE5D>\space
+ <59>\space <FE5E>\space
+ <5A>\space <203E>\space
+ endbfchar\space
+ endcmap\space
+ CMapName\space currentdict\space /CMap\space defineresource\space
+ pop\space
+ end\space
+ end\space}
+ \expandafter\xdef\csname CJK@CMap@bsmiv\endcsname{
+ \the\pdflastobj}
+ \fi
+ \pdffontattr\font@name{
+ /ToUnicode\space\csname CJK@CMap@bsmiv\endcsname\space 0\space R}
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70gbsn.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70gbsn.fd
new file mode 100644
index 00000000000..b0cb1ed245b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70gbsn.fd
@@ -0,0 +1,21 @@
+% This is the file c70gbsn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70gbsn.fd}[\filedate\space\fileversion]
+
+
+% character set: GB
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{gbsn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{gbsn}{m}{n}{<-> CJK * gbsnu}{}
+\DeclareFontShape{C70}{gbsn}{bx}{n}{<-> CJKb * gbsnu}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70gkai.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70gkai.fd
new file mode 100644
index 00000000000..2ca4b3587ff
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70gkai.fd
@@ -0,0 +1,21 @@
+% This is the file c70gkai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70gkai.fd}[\filedate\space\fileversion]
+
+
+% character set: GB
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{gkai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{gkai}{m}{n}{<-> CJK * gkaiu}{}
+\DeclareFontShape{C70}{gkai}{bx}{n}{<-> CJKb * gkaiu}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70mj.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70mj.fd
new file mode 100644
index 00000000000..5947fa235df
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70mj.fd
@@ -0,0 +1,51 @@
+% This is the file c70mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70mj.fd}[\filedate\space\fileversion]
+
+
+% character set: KS X 1001
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{mj}{c}{n}{<-> CJK * uwmjc}{}
+\DeclareFontShape{C70}{mj}{c}{sl}{<-> CJK * uwmjco}{}
+\DeclareFontShape{C70}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C70}{mj}{m}{n}{<-> CJK * uwmj}{}
+\DeclareFontShape{C70}{mj}{m}{sl}{<-> CJK * uwmjo}{}
+\DeclareFontShape{C70}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C70}{mj}{x}{n}{<-> CJK * uwmjx}{}
+\DeclareFontShape{C70}{mj}{x}{sl}{<-> CJK * uwmjxo}{}
+\DeclareFontShape{C70}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C70}{mj}{ux}{n}{<-> CJK * uwmju}{}
+\DeclareFontShape{C70}{mj}{ux}{sl}{<-> CJK * uwmjuo}{}
+\DeclareFontShape{C70}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+
+\DeclareFontShape{C70}{mj}{bc}{n}{<-> CJKb * uwmjc}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bc}{sl}{<-> CJKb * uwmjco}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C70}{mj}{b}{n}{<-> CJKb * uwmj}{\CJKbold}
+\DeclareFontShape{C70}{mj}{b}{sl}{<-> CJKb * uwmjo}{\CJKbold}
+\DeclareFontShape{C70}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C70}{mj}{bx}{n}{<-> CJKb * uwmjx}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bx}{sl}{<-> CJKb * uwmjxo}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C70}{mj}{bux}{n}{<-> CJKb * uwmju}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bux}{sl}{<-> CJKb * uwmjuo}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70song.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70song.fd
new file mode 100644
index 00000000000..7570da3fd38
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70song.fd
@@ -0,0 +1,21 @@
+% This is the file c70song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70song.fd}[\filedate\space\fileversion]
+
+
+% character set: Unicode U+0080 - U+FFFD
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{song}{m}{n}{<-> CJK * cyberb}{}
+\DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * cyberb}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/ja.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/ja.cpx
new file mode 100644
index 00000000000..e9d9dcd1b68
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/ja.cpx
@@ -0,0 +1,83 @@
+% This is the file ja.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{ja.cpx}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: UTF-8
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{็›ฎๆฌก}
+
+\renewcommand\listfigurename{ๅ›ณ็›ฎๆฌก}
+% \newcommand\listfigurename{ๅ›ณไธ€่ฆง}
+
+\renewcommand\listtablename{่กจ็›ฎๆฌก}
+% \newcommand\listtablename{่กจไธ€่ฆง}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ๅ‚่€ƒๆ–‡็Œฎ}
+ }
+ {\renewcommand\bibname{้–ข้€ฃๆ›ธ็ฑ}
+% \renewcommand\bibname{ๅ‚่€ƒๆ–‡็Œฎ}
+ }
+\renewcommand\indexname{็ดขๅผ•}
+
+\renewcommand\figurename{ๅ›ณ}
+\renewcommand\tablename{่กจ}
+
+\newcommand\prepartname{็ฌฌ}
+\newcommand\postpartname{้ƒจ}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{้™„้Œฒ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{่ฆๆ—จ}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 ๅนณๆˆ\,\fi
+ \ifnum\count0=1 ๅ…ƒ\else\number\count0\fi
+ \,ๅนด\hspace{.5em}\nobreak\number\month
+ \,ๆœˆ\hspace{.5em}\nobreak\number\day\,ๆ—ฅ}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase#1\or
+ ไธ€\orไบŒ\orไธ‰\orๅ››\orไบ”\or
+ ๅ…ญ\orไธƒ\orๅ…ซ\orไน\orๅ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang.cpx
new file mode 100644
index 00000000000..595e8bfa10b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang.cpx
@@ -0,0 +1,74 @@
+% This is the file ko-Hang.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{ko-Hang.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: UTF-8
+
+\renewcommand\contentsname{๋ชฉ์ฐจ}
+\renewcommand\listfigurename{๊ทธ๋ฆผ~๋ชฉ์ฐจ}
+\renewcommand\listtablename{ํ‘œ~๋ชฉ์ฐจ}
+\renewcommand\indexname{์ƒ‰์ธ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{์ฐธ๊ณ ~์„œ์ }}
+ {\renewcommand\bibname{์ฐธ๊ณ ~๋ฌธํ—Œ}}
+
+\renewcommand\figurename{๊ทธ๋ฆผ}
+\renewcommand\tablename{ํ‘œ}
+
+\newcommand\prepartname{์ œ}
+\newcommand\postpartname{๋ถ€}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{์ œ}
+% \newcommand\postchaptername{์žฅ}
+% \newcommand\presectionname{์ œ}
+% \newcommand\postsectionname{์ ˆ}
+% \renewcommand\appendixname{๋ถ€๋ก}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{์š”์•ฝ}}{}
+
+% \renewcommand\ccname{์‚ฌ๋ณธ}
+% \renewcommand\enclname{์ฒจ๋ถ€๋ฌผ}% ํ˜น์€ ๋™๋ด‰๋ฌผ
+% \renewcommand\pagename{ํŽ˜์ด์ง€~}
+% \renewcommand\headtoname{๋ฐ›๋Š”์ด}
+% \renewcommand\seename{์ฐธ์กฐ}
+
+\renewcommand{\today}{\number\year๋…„~\number\month์›”~\number\day์ผ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang2.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang2.cpx
new file mode 100644
index 00000000000..4743a5ba9b5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang2.cpx
@@ -0,0 +1,74 @@
+% This is the file ko-Hang2.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{ko-Hang2.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions set 2
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: UTF-8
+
+\renewcommand\contentsname{์ฐจ๋ก€}
+\renewcommand\listfigurename{๊ทธ๋ฆผ~์ฐจ๋ก€}
+\renewcommand\listtablename{ํ‘œ~์ฐจ๋ก€}
+\renewcommand\indexname{์ฐพ์•„๋ณด๊ธฐ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{์ฐธ๊ณ ~์„œ์ }}
+ {\renewcommand\bibname{์ฐธ๊ณ ~๋ฌธํ—Œ}}
+
+\renewcommand\figurename{๊ทธ๋ฆผ}
+\renewcommand\tablename{ํ‘œ}
+
+\newcommand\prepartname{์ œ}
+\newcommand\postpartname{๋ถ€}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{์ œ}
+% \newcommand\postchaptername{์žฅ}
+% \newcommand\presectionname{์ œ}
+% \newcommand\postsectionname{์ ˆ}
+% \renewcommand\appendixname{๋ถ€๋ก}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{์š”์•ฝ}}{}
+
+% \renewcommand\ccname{์‚ฌ๋ณธ}
+% \renewcommand\enclname{์ฒจ๋ถ€๋ฌผ}% ํ˜น์€ ๋™๋ด‰๋ฌผ
+% \renewcommand\pagename{ํŽ˜์ด์ง€~}
+% \renewcommand\headtoname{๋ฐ›๋Š”์ด}
+% \renewcommand\seename{์ฐธ์กฐ}
+
+\renewcommand{\today}{\number\year๋…„~\number\month์›”~\number\day์ผ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hani.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hani.cpx
new file mode 100644
index 00000000000..0d2f51d4772
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hani.cpx
@@ -0,0 +1,74 @@
+% This is the file ko-Hani.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <a7971428@unet.univie.ac.at>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{ko-Hani.cpx}[\filedate\space\fileversion]
+
+
+% Hanja captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: UTF-8
+
+\renewcommand\contentsname{็›ฎๆฌก}
+\renewcommand\listfigurename{๊ทธ๋ฆผ~็›ฎๆฌก}
+\renewcommand\listtablename{่กจ~็›ฎๆฌก}
+\renewcommand\indexname{็ดขๅผ•}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ๅƒ่€ƒ~ๆ›ธ็ฑ}}
+ {\renewcommand\bibname{ๅƒ่€ƒ~ๆ–‡็ป}}
+
+\renewcommand\figurename{๊ทธ๋ฆผ}
+\renewcommand\tablename{่กจ}
+
+\newcommand\prepartname{็ฌฌ}
+\newcommand\postpartname{็ฏ‡}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{็ฌฌ}
+% \newcommand\postchaptername{็ซ }
+% \newcommand\presectionname{็ฌฌ}
+% \newcommand\postsectionname{็ฏ€}
+% \newcommand\appendixname{้™„้Œ„}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{่ฆ~็ด„}}{}
+
+% \renewcommand\ccname{ๅฏซๆœฌ}
+% \renewcommand\enclname{ๆทป้™„็‰ฉ}% ํ˜น์€ ๋™๋ด‰๋ฌผ
+% \renewcommand\pagename{ํŽ˜์ด์ง€}
+% \renewcommand\headtoname{ๅ—ไฟกไบบ}
+% \renewcommand\seename{ๅƒ็…ง}
+
+\renewcommand{\today}{\number\yearๅนด~\number\monthๆœˆ~\number\dayๆ—ฅ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.chr b/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.chr
new file mode 100644
index 00000000000..7f9f5947894
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.chr
@@ -0,0 +1,231 @@
+% This is the file xUTF8.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by SUN Wenchang <sunwch@hotmail.com>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{xUTF8.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling CJK fonts and characters in UTF 8 encoding
+% as needed for XeTeX support.
+
+% two bytes per character; covers range 0x80 - 0x7FF.
+
+\CJK@global\@namedef{CJK@xUTF8Chr}{
+ \CJK@global\def\CJK@char##1##2{
+ {\ifnum ##2 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##2 > \CJK@max
+ \CJK@err
+ \else
+ \@tempcnta ##1\relax
+ \advance\@tempcnta ##2\relax
+ \advance\@tempcnta -128\relax
+
+ \xCJK@setfont
+ \CJKsymbol{\@tempcnta}
+ \fi
+ \fi}}
+
+% three bytes per character; covers range 0x800 - 0xFFFF.
+
+ \CJK@global\def\CJK@altchar##1##2##3{
+ {\ifnum ##2 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##2 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errx
+ \else
+ \ifCJK@CJK@
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \@tempcnta ##1\relax
+ \@tempcntb ##2\relax
+ \advance\@tempcntb -128\relax
+ \multiply\@tempcntb 64\relax
+ \advance\@tempcntb ##3\relax
+ \advance\@tempcntb -128\relax
+ \advance\@tempcnta \@tempcntb
+
+ \xCJK@setfont
+ \CJKsymbol{\@tempcnta}
+
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ \ifCJK@CJK@
+ \CJK@CJK
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}}
+
+% four bytes per character; covers range 0x10000 - 0x10FFFF.
+
+ \CJK@global\def\CJK@altxchar##1##2##3##4{
+ {\ifnum ##2 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##2 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errx
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errxx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errxx
+ \else
+ \ifCJK@CJK@
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \@tempcnta ##1\relax
+ \@tempcntb ##2\relax
+ \advance\@tempcntb -128\relax
+ \multiply\@tempcntb 64\relax
+ \advance\@tempcntb ##3\relax
+ \advance\@tempcntb -128\relax
+ \multiply\@tempcntb 64\relax
+ \advance\@tempcntb ##4\relax
+ \advance\@tempcntb -128\relax
+ \advance\@tempcnta \@tempcntb
+
+ \xCJK@setfont
+ \CJKsymbol{\@tempcnta}
+
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ \ifCJK@CJK@
+ \CJK@CJK
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}}
+
+% define macro for handling punctuation characters.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##4 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@errx
+ \else
+ \@tempcnta ##2\relax
+ \@tempcntb ##3\relax
+ \advance\@tempcntb -128\relax
+ \multiply\@tempcntb 64\relax
+ \advance\@tempcntb ##4\relax
+ \advance\@tempcntb -128\relax
+ \advance\@tempcnta \@tempcntb
+
+ \xCJK@setfont
+ % we need three braces to make it work with CJKulem.sty
+ {{{\ifCJK@CJK@
+ \xCJK@testPunct{\CJK@@@enc}{}{\the\@tempcnta}
+ \ifCJK@
+ \xCJK@testPunct{\CJK@@@enc}{Post}{\the\@tempcnta}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \CJKpunctsymbol{\@tempcnta}
+
+ \xCJK@testPunct{\CJK@@@enc}{Pre}{\the\@tempcnta}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \CJKsymbol{\@tempcnta}
+
+ \CJK@CJK
+ \fi
+ \else
+ \CJKsymbol{\@tempcnta}
+ \fi
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ }}}
+ \fi
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.enc b/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.enc
new file mode 100644
index 00000000000..7ea4bd9f2da
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.enc
@@ -0,0 +1,121 @@
+% This is the file xUTF8.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by SUN Wenchang <sunwch@hotmail.com>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{xUTF8.enc}[\filedate\space\fileversion]
+
+
+% UTF 8 encoding:
+
+\CJK@global\@namedef{CJK@xUTF8Encoding}{
+ \CJK@loadChr{xUTF8}
+
+ % two-byte characters
+ %
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char{'000}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char{'100}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char{'200}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char{'300}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char{'400}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char{'500}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char{'600}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char{'700}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char{'1000}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char{'1100}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char{'1200}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char{'1300}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char{'1400}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char{'1500}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char{'1600}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char{'1700}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char{'2000}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char{'2100}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@char{'2200}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char{'2300}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char{'2400}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char{'2500}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char{'2600}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char{'2700}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char{'3000}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char{'3100}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@char{'3200}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char{'3300}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char{'3400}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char{'3500}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char{'3600}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char{'3700}{##1}}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@unicodeError becomes active
+
+ % three-byte characters
+ %
+ \CJK@namegdef{^^e0}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'00000}{##1}{##2}}
+ \CJK@namegdef{^^e1}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'10000}{##1}{##2}}
+ \CJK@namegdef{^^e2}##1##2{\@gobble\CJK@unicodeError
+ \CJK@punctchar{E2}{'20000}{##1}{##2}}
+ \CJK@namegdef{^^e3}##1##2{\@gobble\CJK@unicodeError
+ \CJK@punctchar{E3}{'30000}{##1}{##2}}
+ \CJK@namegdef{^^e4}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'40000}{##1}{##2}}
+ \CJK@namegdef{^^e5}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'50000}{##1}{##2}}
+ \CJK@namegdef{^^e6}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'60000}{##1}{##2}}
+ \CJK@namegdef{^^e7}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'70000}{##1}{##2}}
+ \CJK@namegdef{^^e8}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'100000}{##1}{##2}}
+ \CJK@namegdef{^^e9}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'110000}{##1}{##2}}
+ \CJK@namegdef{^^ea}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'120000}{##1}{##2}}
+ \CJK@namegdef{^^eb}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'130000}{##1}{##2}}
+ \CJK@namegdef{^^ec}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'140000}{##1}{##2}}
+ \CJK@namegdef{^^ed}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'150000}{##1}{##2}}
+ \CJK@namegdef{^^ee}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{'160000}{##1}{##2}}
+ \CJK@namegdef{^^ef}##1##2{\@gobble\CJK@unicodeError
+ \CJK@punctchar{EF}{'170000}{##1}{##2}}
+
+ % four-byte characters
+ %
+ \CJK@namegdef{^^f0}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{'0000000}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f1}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{'1000000}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f2}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{'2000000}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f3}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{'3000000}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f4}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{'4000000}{##1}{##2}{##3}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hans.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hans.cpx
new file mode 100644
index 00000000000..b4f6921b3ee
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hans.cpx
@@ -0,0 +1,86 @@
+% This is the file zh-Hans.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{zh-Hans.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: GB 2312-80
+% encoding: EUC
+
+\renewcommand\contentsname{็›ฎๅฝ•}
+% \renewcommand\listfigurename{} % ?
+% \renewcommand\listtablename{} % ?
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ๅ‚่€ƒ่ต„ๆ–™}}
+ {\renewcommand\bibname{ๆ–‡็Œฎ}}
+
+\renewcommand\indexname{็ดขๅผ•}
+
+\newcommand\prefigurename{็ฌฌ}
+\newcommand\postfigurename{ๅ›พ}
+\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename}
+
+\newcommand\pretablename{็ฌฌ}
+\newcommand\posttablename{่กจ}
+\renewcommand\tableformat{\pretablename~\thetable~\posttablename}
+
+\newcommand\prepartname{็ฌฌ}
+\newcommand\postpartname{้ƒจ}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \newcommand\prechaptername{็ฌฌ}
+% \newcommand\postchaptername{็ซ }
+% \newcommand\presectionname{็ฌฌ}
+% \newcommand\postsectionname{่Š‚}
+% \newcommand\preappendixname{็ฌฌ}
+% \newcommand\postappendixname{้™„ๅฝ•}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ๆ‘˜่ฆ}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{้™„ไปถ}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand\today{\number\yearๅนด\number\monthๆœˆ\number\dayๆ—ฅ}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase#1\or
+ ไธ€\orไบŒ\orไธ‰\orๅ››\orไบ”\or
+ ๅ…ญ\orไธƒ\orๅ…ซ\orไน\orๅ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hant.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hant.cpx
new file mode 100644
index 00000000000..67c6f02a262
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hant.cpx
@@ -0,0 +1,86 @@
+% This is the file zh-Hant.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{zh-Hant.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: Big 5
+% encoding: UTF-8
+
+\renewcommand\contentsname{็›ฎ~~้Œ„}
+\renewcommand\listfigurename{ๅœ–~็›ฎ~้Œ„}
+\renewcommand\listtablename{่กจ~็›ฎ~้Œ„}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ๅƒ~่€ƒ~่ณ‡~ๆ–™}
+ %\renewcommand\refname{ๅƒ~่€ƒ~ๆ–‡~็ป}
+ }
+ {\renewcommand\bibname{ๆ–‡~~็ป}
+ %\renewcommand\bibname{ๅƒ~่€ƒ~ๆ›ธ~็›ฎ}
+% \newcommand\prechaptername{็ฌฌ}
+% \newcommand\postchaptername{็ซ }
+ }
+
+\renewcommand\indexname{็ดข~ๅผ•}
+
+\renewcommand\figurename{ๅœ–}
+\renewcommand\tablename{่กจ}
+
+\newcommand\prepartname{็ฌฌ}
+\newcommand\postpartname{้ƒจ}
+%\newcommand{\postpartname}{้ƒจๅˆ†}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+
+% \newcommand\presectionname{็ฌฌ}
+% \newcommand\postsectionname{็ฏ€}
+% \renewcommand\appendixname{้™„~้Œ„}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ๆ‘˜~่ฆ}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{้™„ไปถ}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand{\today}{\number\yearๅนด \number\monthๆœˆ \number\dayๆ—ฅ}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase#1\or
+ ไธ€\orไบŒ\orไธ‰\orๅ››\orไบ”\or
+ ๅ…ญ\orไธƒ\orๅ…ซ\orไน\orๅ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/README b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/README
new file mode 100644
index 00000000000..a07701fe546
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/README
@@ -0,0 +1,2 @@
+The font definition files in this directory are modified versions to be used
+within the TeXLive distribution, using smaller font sets.
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c63mj.fd b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c63mj.fd
new file mode 100644
index 00000000000..01d3e093180
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c63mj.fd
@@ -0,0 +1,53 @@
+% This is file c63mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c63mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C63}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C63}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C63}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C63}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C63}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C63}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C63}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C63}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C63}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C63}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C63}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C63}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C63}{mj}{bc}{n}{<-> CJKb * wmjc}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bc}{sl}{<-> CJKb * wmjco}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C63}{mj}{b}{n}{<-> CJKb * wmj}{\CJKbold}
+\DeclareFontShape{C63}{mj}{b}{sl}{<-> CJKb * wmjo}{\CJKbold}
+\DeclareFontShape{C63}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C63}{mj}{bx}{n}{<-> CJKb * wmjx}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bx}{sl}{<-> CJKb * wmjxo}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C63}{mj}{bux}{n}{<-> CJKb * wmju}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bux}{sl}{<-> CJKb * wmjuo}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c64mj.fd b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c64mj.fd
new file mode 100644
index 00000000000..6f03c150a91
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c64mj.fd
@@ -0,0 +1,53 @@
+% This is file c64mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c64mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C64}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C64}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C64}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C64}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C64}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C64}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C64}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C64}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C64}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C64}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C64}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C64}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C64}{mj}{bc}{n}{<-> CJKb * wmjc}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bc}{sl}{<-> CJKb * wmjco}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C64}{mj}{b}{n}{<-> CJKb * wmj}{\CJKbold}
+\DeclareFontShape{C64}{mj}{b}{sl}{<-> CJKb * wmjo}{\CJKbold}
+\DeclareFontShape{C64}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C64}{mj}{bx}{n}{<-> CJKb * wmjx}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bx}{sl}{<-> CJKb * wmjxo}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C64}{mj}{bux}{n}{<-> CJKb * wmju}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bux}{sl}{<-> CJKb * wmjuo}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c65mj.fd b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c65mj.fd
new file mode 100644
index 00000000000..dc55fd2d61a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c65mj.fd
@@ -0,0 +1,53 @@
+% This is file c65mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c65mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C65}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C65}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C65}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C65}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C65}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C65}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C65}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C65}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C65}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C65}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C65}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C65}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C65}{mj}{bc}{n}{<-> CJKb * wmjc}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bc}{sl}{<-> CJKb * wmjco}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C65}{mj}{b}{n}{<-> CJKb * wmj}{\CJKbold}
+\DeclareFontShape{C65}{mj}{b}{sl}{<-> CJKb * wmjo}{\CJKbold}
+\DeclareFontShape{C65}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C65}{mj}{bx}{n}{<-> CJKb * wmjx}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bx}{sl}{<-> CJKb * wmjxo}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C65}{mj}{bux}{n}{<-> CJKb * wmju}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bux}{sl}{<-> CJKb * wmjuo}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fd
new file mode 100644
index 00000000000..b42610fbd53
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fd
@@ -0,0 +1,22 @@
+% This is the file c42goth.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c42goth.fd}[\filedate\space\fileversion]
+
+% Japanese characters in JIS encoding scheme using Wadalab fonts:
+% wadalab-gothic-0-13
+
+\DeclareFontFamily{C42}{goth}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C42}{goth}{m}{n}
+ { <-> CJK * dgj}{}
+\DeclareFontShape{C42}{goth}{bx}{n}
+ { <-> CJKb * dgj}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fdx
new file mode 100644
index 00000000000..d1df26615d8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fdx
@@ -0,0 +1,66 @@
+% This is the file c42goth.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c42goth.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/sy/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/sy/3}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{3}\hss}}
+\CJKvdef{m/n/sy/4}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{4}\hss}}
+\CJKvdef{m/n/sy/5}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{5}\hss}}
+\CJKvdef{m/n/sy/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/sy/33}{\CJKsymbolsimple{33}}
+\CJKvdef{m/n/sy/36}{\CJKsymbolsimple{36}}
+\CJKvdef{m/n/sy/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/sy/42}{\CJKsymbolsimple{42}}
+\CJKvdef{m/n/sy/43}{\CJKsymbolsimple{43}}
+\CJKvdef{m/n/sy/44}{\CJKsymbolsimple{44}}
+\CJKvdef{m/n/sy/45}{\CJKsymbolsimple{45}}
+\CJKvdef{m/n/sy/46}{\CJKsymbolsimple{46}}
+\CJKvdef{m/n/sy/47}{\CJKsymbolsimple{47}}
+\CJKvdef{m/n/sy/48}{\CJKsymbolsimple{48}}
+\CJKvdef{m/n/sy/49}{\CJKsymbolsimple{49}}
+\CJKvdef{m/n/sy/50}{\CJKsymbolsimple{50}}
+\CJKvdef{m/n/sy/51}{\CJKsymbolsimple{51}}
+\CJKvdef{m/n/sy/52}{\CJKsymbolsimple{52}}
+\CJKvdef{m/n/sy/53}{\CJKsymbolsimple{53}}
+\CJKvdef{m/n/sy/54}{\CJKsymbolsimple{54}}
+\CJKvdef{m/n/sy/55}{\CJKsymbolsimple{55}}
+\CJKvdef{m/n/sy/56}{\CJKsymbolsimple{56}}
+\CJKvdef{m/n/sy/57}{\CJKsymbolsimple{57}}
+
+\CJKvlet{bx/n/sy/2}{m/n/sy/2}
+\CJKvlet{bx/n/sy/3}{m/n/sy/3}
+\CJKvlet{bx/n/sy/4}{m/n/sy/4}
+\CJKvlet{bx/n/sy/5}{m/n/sy/5}
+\CJKvlet{bx/n/sy/28}{m/n/sy/28}
+\CJKvlet{bx/n/sy/33}{m/n/sy/33}
+\CJKvlet{bx/n/sy/36}{m/n/sy/36}
+\CJKvlet{bx/n/sy/37}{m/n/sy/37}
+\CJKvlet{bx/n/sy/42}{m/n/sy/42}
+\CJKvlet{bx/n/sy/43}{m/n/sy/43}
+\CJKvlet{bx/n/sy/44}{m/n/sy/44}
+\CJKvlet{bx/n/sy/45}{m/n/sy/45}
+\CJKvlet{bx/n/sy/46}{m/n/sy/46}
+\CJKvlet{bx/n/sy/47}{m/n/sy/47}
+\CJKvlet{bx/n/sy/48}{m/n/sy/48}
+\CJKvlet{bx/n/sy/49}{m/n/sy/49}
+\CJKvlet{bx/n/sy/50}{m/n/sy/50}
+\CJKvlet{bx/n/sy/51}{m/n/sy/51}
+\CJKvlet{bx/n/sy/52}{m/n/sy/52}
+\CJKvlet{bx/n/sy/53}{m/n/sy/53}
+\CJKvlet{bx/n/sy/54}{m/n/sy/54}
+\CJKvlet{bx/n/sy/55}{m/n/sy/55}
+\CJKvlet{bx/n/sy/56}{m/n/sy/56}
+\CJKvlet{bx/n/sy/57}{m/n/sy/57}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fd
new file mode 100644
index 00000000000..ec7344c16fc
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fd
@@ -0,0 +1,23 @@
+% This is the file c42maru.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c42maru.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS encoding scheme using Wadalab fonts:
+% wadalab-maru-0-8
+
+\DeclareFontFamily{C42}{maru}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C42}{maru}{m}{n}
+ { <-> CJK * mrj}{}
+\DeclareFontShape{C42}{maru}{bx}{n}
+ { <-> CJKb * mrj}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fdx
new file mode 100644
index 00000000000..9f89285a33a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fdx
@@ -0,0 +1,66 @@
+% This is the file c42maru.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c42maru.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/sy/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/sy/3}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{3}\hss}}
+\CJKvdef{m/n/sy/4}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{4}\hss}}
+\CJKvdef{m/n/sy/5}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{5}\hss}}
+\CJKvdef{m/n/sy/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/sy/33}{\CJKsymbolsimple{33}}
+\CJKvdef{m/n/sy/36}{\CJKsymbolsimple{36}}
+\CJKvdef{m/n/sy/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/sy/42}{\CJKsymbolsimple{42}}
+\CJKvdef{m/n/sy/43}{\CJKsymbolsimple{43}}
+\CJKvdef{m/n/sy/44}{\CJKsymbolsimple{44}}
+\CJKvdef{m/n/sy/45}{\CJKsymbolsimple{45}}
+\CJKvdef{m/n/sy/46}{\CJKsymbolsimple{46}}
+\CJKvdef{m/n/sy/47}{\CJKsymbolsimple{47}}
+\CJKvdef{m/n/sy/48}{\CJKsymbolsimple{48}}
+\CJKvdef{m/n/sy/49}{\CJKsymbolsimple{49}}
+\CJKvdef{m/n/sy/50}{\CJKsymbolsimple{50}}
+\CJKvdef{m/n/sy/51}{\CJKsymbolsimple{51}}
+\CJKvdef{m/n/sy/52}{\CJKsymbolsimple{52}}
+\CJKvdef{m/n/sy/53}{\CJKsymbolsimple{53}}
+\CJKvdef{m/n/sy/54}{\CJKsymbolsimple{54}}
+\CJKvdef{m/n/sy/55}{\CJKsymbolsimple{55}}
+\CJKvdef{m/n/sy/56}{\CJKsymbolsimple{56}}
+\CJKvdef{m/n/sy/57}{\CJKsymbolsimple{57}}
+
+\CJKvlet{bx/n/sy/2}{m/n/sy/2}
+\CJKvlet{bx/n/sy/3}{m/n/sy/3}
+\CJKvlet{bx/n/sy/4}{m/n/sy/4}
+\CJKvlet{bx/n/sy/5}{m/n/sy/5}
+\CJKvlet{bx/n/sy/28}{m/n/sy/28}
+\CJKvlet{bx/n/sy/33}{m/n/sy/33}
+\CJKvlet{bx/n/sy/36}{m/n/sy/36}
+\CJKvlet{bx/n/sy/37}{m/n/sy/37}
+\CJKvlet{bx/n/sy/42}{m/n/sy/42}
+\CJKvlet{bx/n/sy/43}{m/n/sy/43}
+\CJKvlet{bx/n/sy/44}{m/n/sy/44}
+\CJKvlet{bx/n/sy/45}{m/n/sy/45}
+\CJKvlet{bx/n/sy/46}{m/n/sy/46}
+\CJKvlet{bx/n/sy/47}{m/n/sy/47}
+\CJKvlet{bx/n/sy/48}{m/n/sy/48}
+\CJKvlet{bx/n/sy/49}{m/n/sy/49}
+\CJKvlet{bx/n/sy/50}{m/n/sy/50}
+\CJKvlet{bx/n/sy/51}{m/n/sy/51}
+\CJKvlet{bx/n/sy/52}{m/n/sy/52}
+\CJKvlet{bx/n/sy/53}{m/n/sy/53}
+\CJKvlet{bx/n/sy/54}{m/n/sy/54}
+\CJKvlet{bx/n/sy/55}{m/n/sy/55}
+\CJKvlet{bx/n/sy/56}{m/n/sy/56}
+\CJKvlet{bx/n/sy/57}{m/n/sy/57}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fd
new file mode 100644
index 00000000000..290cb4151c9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fd
@@ -0,0 +1,26 @@
+% This is the file c42min.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c42min.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS encoding scheme using Wadalab fonts:
+% wadalab-mincho-0-8 (`light' series)
+% wadalab-mincho-0-12 (`normal' series)
+
+\DeclareFontFamily{C42}{min}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C42}{min}{l}{n}
+ { <-> CJK * mcj}{}
+\DeclareFontShape{C42}{min}{m}{n}
+ { <-> CJK * dmj}{}
+\DeclareFontShape{C42}{min}{bx}{n}
+ { <-> CJKb * dmj}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fdx
new file mode 100644
index 00000000000..533af434990
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fdx
@@ -0,0 +1,91 @@
+% This is the file c42min.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c42min.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/sy/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/sy/3}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{3}\hss}}
+\CJKvdef{m/n/sy/4}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{4}\hss}}
+\CJKvdef{m/n/sy/5}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{5}\hss}}
+\CJKvdef{m/n/sy/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/sy/33}{\CJKsymbolsimple{33}}
+\CJKvdef{m/n/sy/36}{\CJKsymbolsimple{36}}
+\CJKvdef{m/n/sy/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/sy/42}{\CJKsymbolsimple{42}}
+\CJKvdef{m/n/sy/43}{\CJKsymbolsimple{43}}
+\CJKvdef{m/n/sy/44}{\CJKsymbolsimple{44}}
+\CJKvdef{m/n/sy/45}{\CJKsymbolsimple{45}}
+\CJKvdef{m/n/sy/46}{\CJKsymbolsimple{46}}
+\CJKvdef{m/n/sy/47}{\CJKsymbolsimple{47}}
+\CJKvdef{m/n/sy/48}{\CJKsymbolsimple{48}}
+\CJKvdef{m/n/sy/49}{\CJKsymbolsimple{49}}
+\CJKvdef{m/n/sy/50}{\CJKsymbolsimple{50}}
+\CJKvdef{m/n/sy/51}{\CJKsymbolsimple{51}}
+\CJKvdef{m/n/sy/52}{\CJKsymbolsimple{52}}
+\CJKvdef{m/n/sy/53}{\CJKsymbolsimple{53}}
+\CJKvdef{m/n/sy/54}{\CJKsymbolsimple{54}}
+\CJKvdef{m/n/sy/55}{\CJKsymbolsimple{55}}
+\CJKvdef{m/n/sy/56}{\CJKsymbolsimple{56}}
+\CJKvdef{m/n/sy/57}{\CJKsymbolsimple{57}}
+
+\CJKvlet{bx/n/sy/2}{m/n/sy/2}
+\CJKvlet{bx/n/sy/3}{m/n/sy/3}
+\CJKvlet{bx/n/sy/4}{m/n/sy/4}
+\CJKvlet{bx/n/sy/5}{m/n/sy/5}
+\CJKvlet{bx/n/sy/28}{m/n/sy/28}
+\CJKvlet{bx/n/sy/33}{m/n/sy/33}
+\CJKvlet{bx/n/sy/36}{m/n/sy/36}
+\CJKvlet{bx/n/sy/37}{m/n/sy/37}
+\CJKvlet{bx/n/sy/42}{m/n/sy/42}
+\CJKvlet{bx/n/sy/43}{m/n/sy/43}
+\CJKvlet{bx/n/sy/44}{m/n/sy/44}
+\CJKvlet{bx/n/sy/45}{m/n/sy/45}
+\CJKvlet{bx/n/sy/46}{m/n/sy/46}
+\CJKvlet{bx/n/sy/47}{m/n/sy/47}
+\CJKvlet{bx/n/sy/48}{m/n/sy/48}
+\CJKvlet{bx/n/sy/49}{m/n/sy/49}
+\CJKvlet{bx/n/sy/50}{m/n/sy/50}
+\CJKvlet{bx/n/sy/51}{m/n/sy/51}
+\CJKvlet{bx/n/sy/52}{m/n/sy/52}
+\CJKvlet{bx/n/sy/53}{m/n/sy/53}
+\CJKvlet{bx/n/sy/54}{m/n/sy/54}
+\CJKvlet{bx/n/sy/55}{m/n/sy/55}
+\CJKvlet{bx/n/sy/56}{m/n/sy/56}
+\CJKvlet{bx/n/sy/57}{m/n/sy/57}
+
+\CJKvlet{l/n/sy/2}{m/n/sy/2}
+\CJKvlet{l/n/sy/3}{m/n/sy/3}
+\CJKvlet{l/n/sy/4}{m/n/sy/4}
+\CJKvlet{l/n/sy/5}{m/n/sy/5}
+\CJKvlet{l/n/sy/28}{m/n/sy/28}
+\CJKvlet{l/n/sy/33}{m/n/sy/33}
+\CJKvlet{l/n/sy/36}{m/n/sy/36}
+\CJKvlet{l/n/sy/37}{m/n/sy/37}
+\CJKvlet{l/n/sy/42}{m/n/sy/42}
+\CJKvlet{l/n/sy/43}{m/n/sy/43}
+\CJKvlet{l/n/sy/44}{m/n/sy/44}
+\CJKvlet{l/n/sy/45}{m/n/sy/45}
+\CJKvlet{l/n/sy/46}{m/n/sy/46}
+\CJKvlet{l/n/sy/47}{m/n/sy/47}
+\CJKvlet{l/n/sy/48}{m/n/sy/48}
+\CJKvlet{l/n/sy/49}{m/n/sy/49}
+\CJKvlet{l/n/sy/50}{m/n/sy/50}
+\CJKvlet{l/n/sy/51}{m/n/sy/51}
+\CJKvlet{l/n/sy/52}{m/n/sy/52}
+\CJKvlet{l/n/sy/53}{m/n/sy/53}
+\CJKvlet{l/n/sy/54}{m/n/sy/54}
+\CJKvlet{l/n/sy/55}{m/n/sy/55}
+\CJKvlet{l/n/sy/56}{m/n/sy/56}
+\CJKvlet{l/n/sy/57}{m/n/sy/57}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fd
new file mode 100644
index 00000000000..2ee522608ff
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fd
@@ -0,0 +1,23 @@
+% This is the file c52maru.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c52maru.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS2 encoding scheme using Wadalab fonts:
+% wadalab-maru-1-8
+
+\DeclareFontFamily{C52}{maru}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C52}{maru}{m}{n}
+ { <-> CJK * mr2j}{}
+\DeclareFontShape{C52}{maru}{bx}{n}
+ { <-> CJKb * mr2j}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fdx
new file mode 100644
index 00000000000..d64141df4db
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fdx
@@ -0,0 +1,16 @@
+% This is the file c52maru.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c52maru.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fd
new file mode 100644
index 00000000000..ad5477e830f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fd
@@ -0,0 +1,23 @@
+% This is the file c52min.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c52min.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS2 encoding scheme using Wadalab fonts:
+% wadalab-mincho-1-8
+
+\DeclareFontFamily{C52}{min}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C52}{min}{m}{n}
+ { <-> CJK * mc2j}{}
+\DeclareFontShape{C52}{min}{bx}{n}
+ { <-> CJKb * mc2j}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fdx
new file mode 100644
index 00000000000..a5f7cab3ea8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fdx
@@ -0,0 +1,16 @@
+% This is the file c52min.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c52min.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fd
new file mode 100644
index 00000000000..c470d16d73c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fd
@@ -0,0 +1,25 @@
+% This is the file c70goth.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70goth.fd}[\filedate\space\fileversion]
+
+
+% character set: Unicode U+0080 - U+FFFD
+% font encoding: Unicode
+%
+% udgj is Wadalab gothic-0-13.
+
+\DeclareFontFamily{C70}{goth}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{goth}{m}{n}
+ { <-> CJK * udgj}{}
+\DeclareFontShape{C70}{goth}{bx}{n}
+ { <-> CJKb * udgj}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fdx
new file mode 100644
index 00000000000..6c139f19d39
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fdx
@@ -0,0 +1,137 @@
+% This is the file c70goth.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Gernot Hassenpflug <gernot@nict.go.jp>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70goth.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/00/163}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/00/167}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{167}\hss}}
+
+\CJKvdef{m/n/20/24}{\CJKsymbolsimple{24}}
+\CJKvdef{m/n/20/25}{\CJKsymbolsimple{25}}
+\CJKvdef{m/n/20/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/20/29}{\CJKsymbolsimple{29}}
+\CJKvdef{m/n/20/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/20/38}{\CJKsymbolsimple{38}}
+
+\CJKvdef{m/n/30/1}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{1}\hss}}
+\CJKvdef{m/n/30/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/30/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/30/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/30/10}{\CJKsymbolsimple{10}}
+\CJKvdef{m/n/30/11}{\CJKsymbolsimple{11}}
+\CJKvdef{m/n/30/12}{\CJKsymbolsimple{12}}
+\CJKvdef{m/n/30/13}{\CJKsymbolsimple{13}}
+\CJKvdef{m/n/30/14}{\CJKsymbolsimple{14}}
+\CJKvdef{m/n/30/15}{\CJKsymbolsimple{15}}
+\CJKvdef{m/n/30/16}{\CJKsymbolsimple{16}}
+\CJKvdef{m/n/30/17}{\CJKsymbolsimple{17}}
+\CJKvdef{m/n/30/20}{\CJKsymbolsimple{20}}
+\CJKvdef{m/n/30/21}{\CJKsymbolsimple{21}}
+\CJKvdef{m/n/30/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/30/252}{\CJKsymbolsimple{252}}
+
+\CJKvdef{m/n/ff/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/ff/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/ff/12}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{12}\hss}}
+\CJKvdef{m/n/ff/14}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{14}\hss}}
+\CJKvdef{m/n/ff/59}{\CJKsymbolsimple{59}}
+\CJKvdef{m/n/ff/61}{\CJKsymbolsimple{61}}
+\CJKvdef{m/n/ff/91}{\CJKsymbolsimple{91}}
+\CJKvdef{m/n/ff/93}{\CJKsymbolsimple{93}}
+
+% Reposition small kana letters for vertical typesetting.
+
+\CJKvdef{m/n/30/65}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{65}\hss}}
+\CJKvdef{m/n/30/67}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{67}\hss}}
+\CJKvdef{m/n/30/69}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{69}\hss}}
+\CJKvdef{m/n/30/71}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{71}\hss}}
+\CJKvdef{m/n/30/73}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{73}\hss}}
+\CJKvdef{m/n/30/99}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{99}\hss}}
+\CJKvdef{m/n/30/131}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{131}\hss}}
+\CJKvdef{m/n/30/133}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{133}\hss}}
+\CJKvdef{m/n/30/135}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{135}\hss}}
+\CJKvdef{m/n/30/142}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{142}\hss}}
+
+\CJKvdef{m/n/30/161}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{161}\hss}}
+\CJKvdef{m/n/30/163}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/30/165}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{165}\hss}}
+\CJKvdef{m/n/30/167}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{167}\hss}}
+\CJKvdef{m/n/30/169}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{169}\hss}}
+\CJKvdef{m/n/30/195}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{195}\hss}}
+\CJKvdef{m/n/30/227}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{227}\hss}}
+\CJKvdef{m/n/30/229}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{229}\hss}}
+\CJKvdef{m/n/30/231}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{231}\hss}}
+\CJKvdef{m/n/30/238}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{238}\hss}}
+\CJKvdef{m/n/30/245}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{245}\hss}}
+\CJKvdef{m/n/30/246}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{246}\hss}}
+
+
+\CJKvlet{bx/n/00/163}{m/n/00/163}
+\CJKvlet{bx/n/00/167}{m/n/00/167}
+
+\CJKvlet{bx/n/20/24}{m/n/20/24}
+\CJKvlet{bx/n/20/25}{m/n/20/25}
+\CJKvlet{bx/n/20/28}{m/n/20/28}
+\CJKvlet{bx/n/20/29}{m/n/20/29}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvlet{bx/n/30/28}{m/n/30/28}
+\CJKvlet{bx/n/30/65}{m/n/30/65}
+\CJKvlet{bx/n/30/67}{m/n/30/67}
+\CJKvlet{bx/n/30/69}{m/n/30/69}
+\CJKvlet{bx/n/30/71}{m/n/30/71}
+\CJKvlet{bx/n/30/73}{m/n/30/73}
+\CJKvlet{bx/n/30/99}{m/n/30/99}
+\CJKvlet{bx/n/30/131}{m/n/30/131}
+\CJKvlet{bx/n/30/133}{m/n/30/133}
+\CJKvlet{bx/n/30/135}{m/n/30/135}
+\CJKvlet{bx/n/30/142}{m/n/30/142}
+\CJKvlet{bx/n/30/161}{m/n/30/161}
+\CJKvlet{bx/n/30/163}{m/n/30/163}
+\CJKvlet{bx/n/30/165}{m/n/30/165}
+\CJKvlet{bx/n/30/167}{m/n/30/167}
+\CJKvlet{bx/n/30/169}{m/n/30/169}
+\CJKvlet{bx/n/30/195}{m/n/30/195}
+\CJKvlet{bx/n/30/227}{m/n/30/227}
+\CJKvlet{bx/n/30/229}{m/n/30/229}
+\CJKvlet{bx/n/30/231}{m/n/30/231}
+\CJKvlet{bx/n/30/238}{m/n/30/238}
+\CJKvlet{bx/n/30/245}{m/n/30/245}
+\CJKvlet{bx/n/30/246}{m/n/30/246}
+\CJKvlet{bx/n/30/252}{m/n/30/252}
+
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fd
new file mode 100644
index 00000000000..8f741d5e2a6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fd
@@ -0,0 +1,25 @@
+% This is the file c70maru.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70maru.fd}[\filedate\space\fileversion]
+
+
+% character set: Unicode U+0080 - U+FFFD
+% font encoding: Unicode
+%
+% umrj is Wadalab maru-0-8 combined with maru-1-8.
+
+\DeclareFontFamily{C70}{maru}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{maru}{m}{n}
+ { <-> CJK * umrj}{}
+\DeclareFontShape{C70}{maru}{bx}{n}
+ { <-> CJKb * umrj}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fdx
new file mode 100644
index 00000000000..6c10052a685
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fdx
@@ -0,0 +1,137 @@
+% This is the file c70maru.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Gernot Hassenpflug <gernot@nict.go.jp>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70maru.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/00/163}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/00/167}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{167}\hss}}
+
+\CJKvdef{m/n/20/24}{\CJKsymbolsimple{24}}
+\CJKvdef{m/n/20/25}{\CJKsymbolsimple{25}}
+\CJKvdef{m/n/20/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/20/29}{\CJKsymbolsimple{29}}
+\CJKvdef{m/n/20/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/20/38}{\CJKsymbolsimple{38}}
+
+\CJKvdef{m/n/30/1}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{1}\hss}}
+\CJKvdef{m/n/30/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/30/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/30/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/30/10}{\CJKsymbolsimple{10}}
+\CJKvdef{m/n/30/11}{\CJKsymbolsimple{11}}
+\CJKvdef{m/n/30/12}{\CJKsymbolsimple{12}}
+\CJKvdef{m/n/30/13}{\CJKsymbolsimple{13}}
+\CJKvdef{m/n/30/14}{\CJKsymbolsimple{14}}
+\CJKvdef{m/n/30/15}{\CJKsymbolsimple{15}}
+\CJKvdef{m/n/30/16}{\CJKsymbolsimple{16}}
+\CJKvdef{m/n/30/17}{\CJKsymbolsimple{17}}
+\CJKvdef{m/n/30/20}{\CJKsymbolsimple{20}}
+\CJKvdef{m/n/30/21}{\CJKsymbolsimple{21}}
+\CJKvdef{m/n/30/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/30/252}{\CJKsymbolsimple{252}}
+
+\CJKvdef{m/n/ff/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/ff/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/ff/12}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{12}\hss}}
+\CJKvdef{m/n/ff/14}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{14}\hss}}
+\CJKvdef{m/n/ff/59}{\CJKsymbolsimple{59}}
+\CJKvdef{m/n/ff/61}{\CJKsymbolsimple{61}}
+\CJKvdef{m/n/ff/91}{\CJKsymbolsimple{91}}
+\CJKvdef{m/n/ff/93}{\CJKsymbolsimple{93}}
+
+% Reposition small kana letters for vertical typesetting.
+
+\CJKvdef{m/n/30/65}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{65}\hss}}
+\CJKvdef{m/n/30/67}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{67}\hss}}
+\CJKvdef{m/n/30/69}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{69}\hss}}
+\CJKvdef{m/n/30/71}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{71}\hss}}
+\CJKvdef{m/n/30/73}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{73}\hss}}
+\CJKvdef{m/n/30/99}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{99}\hss}}
+\CJKvdef{m/n/30/131}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{131}\hss}}
+\CJKvdef{m/n/30/133}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{133}\hss}}
+\CJKvdef{m/n/30/135}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{135}\hss}}
+\CJKvdef{m/n/30/142}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{142}\hss}}
+
+\CJKvdef{m/n/30/161}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{161}\hss}}
+\CJKvdef{m/n/30/163}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/30/165}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{165}\hss}}
+\CJKvdef{m/n/30/167}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{167}\hss}}
+\CJKvdef{m/n/30/169}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{169}\hss}}
+\CJKvdef{m/n/30/195}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{195}\hss}}
+\CJKvdef{m/n/30/227}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{227}\hss}}
+\CJKvdef{m/n/30/229}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{229}\hss}}
+\CJKvdef{m/n/30/231}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{231}\hss}}
+\CJKvdef{m/n/30/238}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{238}\hss}}
+\CJKvdef{m/n/30/245}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{245}\hss}}
+\CJKvdef{m/n/30/246}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{246}\hss}}
+
+
+\CJKvlet{bx/n/00/163}{m/n/00/163}
+\CJKvlet{bx/n/00/167}{m/n/00/167}
+
+\CJKvlet{bx/n/20/24}{m/n/20/24}
+\CJKvlet{bx/n/20/25}{m/n/20/25}
+\CJKvlet{bx/n/20/28}{m/n/20/28}
+\CJKvlet{bx/n/20/29}{m/n/20/29}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvlet{bx/n/30/28}{m/n/30/28}
+\CJKvlet{bx/n/30/65}{m/n/30/65}
+\CJKvlet{bx/n/30/67}{m/n/30/67}
+\CJKvlet{bx/n/30/69}{m/n/30/69}
+\CJKvlet{bx/n/30/71}{m/n/30/71}
+\CJKvlet{bx/n/30/73}{m/n/30/73}
+\CJKvlet{bx/n/30/99}{m/n/30/99}
+\CJKvlet{bx/n/30/131}{m/n/30/131}
+\CJKvlet{bx/n/30/133}{m/n/30/133}
+\CJKvlet{bx/n/30/135}{m/n/30/135}
+\CJKvlet{bx/n/30/142}{m/n/30/142}
+\CJKvlet{bx/n/30/161}{m/n/30/161}
+\CJKvlet{bx/n/30/163}{m/n/30/163}
+\CJKvlet{bx/n/30/165}{m/n/30/165}
+\CJKvlet{bx/n/30/167}{m/n/30/167}
+\CJKvlet{bx/n/30/169}{m/n/30/169}
+\CJKvlet{bx/n/30/195}{m/n/30/195}
+\CJKvlet{bx/n/30/227}{m/n/30/227}
+\CJKvlet{bx/n/30/229}{m/n/30/229}
+\CJKvlet{bx/n/30/231}{m/n/30/231}
+\CJKvlet{bx/n/30/238}{m/n/30/238}
+\CJKvlet{bx/n/30/245}{m/n/30/245}
+\CJKvlet{bx/n/30/246}{m/n/30/246}
+\CJKvlet{bx/n/30/252}{m/n/30/252}
+
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fd
new file mode 100644
index 00000000000..59357372667
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fd
@@ -0,0 +1,28 @@
+% This is the file c70min.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70min.fd}[\filedate\space\fileversion]
+
+
+% character set: Unicode U+0080 - U+FFFD
+% font encoding: Unicode
+%
+% udmj is Wadalab mincho-0-12 combined with mincho-1-8.
+% umcj is Wadalab mincho-0-8 combined with mincho-1-8.
+
+\DeclareFontFamily{C70}{min}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{min}{l}{n}
+ { <-> CJK * umcj}{}
+\DeclareFontShape{C70}{min}{m}{n}
+ { <-> CJK * udmj}{}
+\DeclareFontShape{C70}{min}{bx}{n}
+ { <-> CJKb * udmj}{\CJKbold}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fdx
new file mode 100644
index 00000000000..45c3b316f46
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fdx
@@ -0,0 +1,203 @@
+% This is the file c70min.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Gernot Hassenpflug <gernot@nict.go.jp>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c70min.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/00/163}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/00/167}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{167}\hss}}
+
+\CJKvdef{m/n/20/24}{\CJKsymbolsimple{24}}
+\CJKvdef{m/n/20/25}{\CJKsymbolsimple{25}}
+\CJKvdef{m/n/20/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/20/29}{\CJKsymbolsimple{29}}
+\CJKvdef{m/n/20/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/20/38}{\CJKsymbolsimple{38}}
+
+\CJKvdef{m/n/30/1}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{1}\hss}}
+\CJKvdef{m/n/30/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/30/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/30/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/30/10}{\CJKsymbolsimple{10}}
+\CJKvdef{m/n/30/11}{\CJKsymbolsimple{11}}
+\CJKvdef{m/n/30/12}{\CJKsymbolsimple{12}}
+\CJKvdef{m/n/30/13}{\CJKsymbolsimple{13}}
+\CJKvdef{m/n/30/14}{\CJKsymbolsimple{14}}
+\CJKvdef{m/n/30/15}{\CJKsymbolsimple{15}}
+\CJKvdef{m/n/30/16}{\CJKsymbolsimple{16}}
+\CJKvdef{m/n/30/17}{\CJKsymbolsimple{17}}
+\CJKvdef{m/n/30/20}{\CJKsymbolsimple{20}}
+\CJKvdef{m/n/30/21}{\CJKsymbolsimple{21}}
+\CJKvdef{m/n/30/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/30/252}{\CJKsymbolsimple{252}}
+
+\CJKvdef{m/n/ff/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/ff/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/ff/12}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{12}\hss}}
+\CJKvdef{m/n/ff/14}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{14}\hss}}
+\CJKvdef{m/n/ff/59}{\CJKsymbolsimple{59}}
+\CJKvdef{m/n/ff/61}{\CJKsymbolsimple{61}}
+\CJKvdef{m/n/ff/91}{\CJKsymbolsimple{91}}
+\CJKvdef{m/n/ff/93}{\CJKsymbolsimple{93}}
+
+% Reposition small kana letters for vertical typesetting.
+
+\CJKvdef{m/n/30/65}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{65}\hss}}
+\CJKvdef{m/n/30/67}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{67}\hss}}
+\CJKvdef{m/n/30/69}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{69}\hss}}
+\CJKvdef{m/n/30/71}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{71}\hss}}
+\CJKvdef{m/n/30/73}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{73}\hss}}
+\CJKvdef{m/n/30/99}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{99}\hss}}
+\CJKvdef{m/n/30/131}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{131}\hss}}
+\CJKvdef{m/n/30/133}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{133}\hss}}
+\CJKvdef{m/n/30/135}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{135}\hss}}
+\CJKvdef{m/n/30/142}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{142}\hss}}
+
+\CJKvdef{m/n/30/161}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{161}\hss}}
+\CJKvdef{m/n/30/163}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/30/165}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{165}\hss}}
+\CJKvdef{m/n/30/167}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{167}\hss}}
+\CJKvdef{m/n/30/169}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{169}\hss}}
+\CJKvdef{m/n/30/195}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{195}\hss}}
+\CJKvdef{m/n/30/227}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{227}\hss}}
+\CJKvdef{m/n/30/229}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{229}\hss}}
+\CJKvdef{m/n/30/231}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{231}\hss}}
+\CJKvdef{m/n/30/238}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{238}\hss}}
+\CJKvdef{m/n/30/245}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{245}\hss}}
+\CJKvdef{m/n/30/246}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{246}\hss}}
+
+
+\CJKvlet{bx/n/00/163}{m/n/00/163}
+\CJKvlet{bx/n/00/167}{m/n/00/167}
+
+\CJKvlet{bx/n/20/24}{m/n/20/24}
+\CJKvlet{bx/n/20/25}{m/n/20/25}
+\CJKvlet{bx/n/20/28}{m/n/20/28}
+\CJKvlet{bx/n/20/29}{m/n/20/29}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvlet{bx/n/30/28}{m/n/30/28}
+\CJKvlet{bx/n/30/65}{m/n/30/65}
+\CJKvlet{bx/n/30/67}{m/n/30/67}
+\CJKvlet{bx/n/30/69}{m/n/30/69}
+\CJKvlet{bx/n/30/71}{m/n/30/71}
+\CJKvlet{bx/n/30/73}{m/n/30/73}
+\CJKvlet{bx/n/30/99}{m/n/30/99}
+\CJKvlet{bx/n/30/131}{m/n/30/131}
+\CJKvlet{bx/n/30/133}{m/n/30/133}
+\CJKvlet{bx/n/30/135}{m/n/30/135}
+\CJKvlet{bx/n/30/142}{m/n/30/142}
+\CJKvlet{bx/n/30/161}{m/n/30/161}
+\CJKvlet{bx/n/30/163}{m/n/30/163}
+\CJKvlet{bx/n/30/165}{m/n/30/165}
+\CJKvlet{bx/n/30/167}{m/n/30/167}
+\CJKvlet{bx/n/30/169}{m/n/30/169}
+\CJKvlet{bx/n/30/195}{m/n/30/195}
+\CJKvlet{bx/n/30/227}{m/n/30/227}
+\CJKvlet{bx/n/30/229}{m/n/30/229}
+\CJKvlet{bx/n/30/231}{m/n/30/231}
+\CJKvlet{bx/n/30/238}{m/n/30/238}
+\CJKvlet{bx/n/30/245}{m/n/30/245}
+\CJKvlet{bx/n/30/246}{m/n/30/246}
+\CJKvlet{bx/n/30/252}{m/n/30/252}
+
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+
+
+\CJKvlet{l/n/00/163}{m/n/00/163}
+\CJKvlet{l/n/00/167}{m/n/00/167}
+
+\CJKvlet{l/n/20/24}{m/n/20/24}
+\CJKvlet{l/n/20/25}{m/n/20/25}
+\CJKvlet{l/n/20/28}{m/n/20/28}
+\CJKvlet{l/n/20/29}{m/n/20/29}
+\CJKvlet{l/n/20/37}{m/n/20/37}
+\CJKvlet{l/n/20/38}{m/n/20/38}
+
+\CJKvlet{l/n/30/1}{m/n/30/1}
+\CJKvlet{l/n/30/2}{m/n/30/2}
+\CJKvlet{l/n/30/8}{m/n/30/8}
+\CJKvlet{l/n/30/9}{m/n/30/9}
+\CJKvlet{l/n/30/10}{m/n/30/10}
+\CJKvlet{l/n/30/11}{m/n/30/11}
+\CJKvlet{l/n/30/12}{m/n/30/12}
+\CJKvlet{l/n/30/13}{m/n/30/13}
+\CJKvlet{l/n/30/14}{m/n/30/14}
+\CJKvlet{l/n/30/15}{m/n/30/15}
+\CJKvlet{l/n/30/16}{m/n/30/16}
+\CJKvlet{l/n/30/17}{m/n/30/17}
+\CJKvlet{l/n/30/20}{m/n/30/20}
+\CJKvlet{l/n/30/21}{m/n/30/21}
+\CJKvlet{l/n/30/28}{m/n/30/28}
+\CJKvlet{l/n/30/65}{m/n/30/65}
+\CJKvlet{l/n/30/67}{m/n/30/67}
+\CJKvlet{l/n/30/69}{m/n/30/69}
+\CJKvlet{l/n/30/71}{m/n/30/71}
+\CJKvlet{l/n/30/73}{m/n/30/73}
+\CJKvlet{l/n/30/99}{m/n/30/99}
+\CJKvlet{l/n/30/131}{m/n/30/131}
+\CJKvlet{l/n/30/133}{m/n/30/133}
+\CJKvlet{l/n/30/135}{m/n/30/135}
+\CJKvlet{l/n/30/142}{m/n/30/142}
+\CJKvlet{l/n/30/161}{m/n/30/161}
+\CJKvlet{l/n/30/163}{m/n/30/163}
+\CJKvlet{l/n/30/165}{m/n/30/165}
+\CJKvlet{l/n/30/167}{m/n/30/167}
+\CJKvlet{l/n/30/169}{m/n/30/169}
+\CJKvlet{l/n/30/195}{m/n/30/195}
+\CJKvlet{l/n/30/227}{m/n/30/227}
+\CJKvlet{l/n/30/229}{m/n/30/229}
+\CJKvlet{l/n/30/231}{m/n/30/231}
+\CJKvlet{l/n/30/238}{m/n/30/238}
+\CJKvlet{l/n/30/245}{m/n/30/245}
+\CJKvlet{l/n/30/246}{m/n/30/246}
+\CJKvlet{l/n/30/252}{m/n/30/252}
+
+\CJKvlet{l/n/ff/8}{m/n/ff/8}
+\CJKvlet{l/n/ff/9}{m/n/ff/9}
+\CJKvlet{l/n/ff/12}{m/n/ff/12}
+\CJKvlet{l/n/ff/14}{m/n/ff/14}
+\CJKvlet{l/n/ff/59}{m/n/ff/59}
+\CJKvlet{l/n/ff/61}{m/n/ff/61}
+\CJKvlet{l/n/ff/91}{m/n/ff/91}
+\CJKvlet{l/n/ff/93}{m/n/ff/93}
+
+% Move down small katalana `tsu' in horizontal mode. It sits too high and
+% is possibly confusable with the large `tsu'.
+
+\CJKhdef{m/n/30/195}{\raise -.05em \hbox to 1em {\kern 0em \CJKsymbol{195}\hss}}
+\CJKhlet{bx/n/30/195}{m/n/30/195}
+\CJKhlet{l/n/30/195}{m/n/30/195}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/extended.chr b/Master/texmf-dist/tex/latex/cjk/extended.chr
new file mode 100644
index 00000000000..829546e8add
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/extended.chr
@@ -0,0 +1,219 @@
+% This is the file extended.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{extended.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling extended encodings (GBK, Big5+).
+
+\gdef\CJK@extendedChr{
+ \CJK@global\chardef\CJK@gap "07F\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/extended.enc b/Master/texmf-dist/tex/latex/cjk/extended.enc
new file mode 100644
index 00000000000..a198ef978c1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/extended.enc
@@ -0,0 +1,289 @@
+% This is the file extended.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{extended.enc}[\filedate\space\fileversion]
+
+
+% extended encoding:
+% each plane has 190 characters (GBK, Big5+) (0x40-0x7E, 0x80-0xFE).
+
+\gdef\CJK@extendedEncoding{
+ \CJK@loadChr{extended}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@char {01}{-64}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@charx{01}{02}{126}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@charx{02}{03}{ 60}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@char {03}{ -6}{##1}}
+ \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{184}{##1}}
+ \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{118}{##1}}
+ \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{ 52}{##1}}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@char {06}{-14}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{176}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{110}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{ 44}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@char {09}{-22}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{168}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{102}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 36}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-30}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{160}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{ 94}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{ 28}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@char {15}{-38}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{152}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{ 86}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{ 20}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@char {18}{-46}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{144}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 78}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{ 12}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@char {21}{-54}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{136}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 70}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{ 4}{##1}}
+ \CJK@namegdef{^^a0}##1{\CJK@disableMakeUppercase
+ \CJK@char {24}{-62}{##1}}
+ \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A1}{24}{25}{128}{##1}}
+ \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A2}{25}{26}{ 62}{##1}}
+ \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {A3}{26}{ -4}{##1}}
+ \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A4}{26}{27}{186}{##1}}
+ \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A5}{27}{28}{120}{##1}}
+ \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{ 54}{##1}}
+ \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase
+ \CJK@char {29}{-12}{##1}}
+ \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{178}{##1}}
+ \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{112}{##1}}
+ \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{ 46}{##1}}
+ \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase
+ \CJK@char {32}{-20}{##1}}
+ \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{170}{##1}}
+ \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{104}{##1}}
+ \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{ 38}{##1}}
+ \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase
+ \CJK@char {35}{-28}{##1}}
+ \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{35}{36}{162}{##1}}
+ \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{36}{37}{ 96}{##1}}
+ \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{37}{38}{ 30}{##1}}
+ \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase
+ \CJK@char {38}{-36}{##1}}
+ \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{38}{39}{154}{##1}}
+ \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{39}{40}{ 88}{##1}}
+ \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{40}{41}{ 22}{##1}}
+ \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase
+ \CJK@char {41}{-44}{##1}}
+ \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{41}{42}{146}{##1}}
+ \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{42}{43}{ 80}{##1}}
+ \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase
+ \CJK@charx{43}{44}{ 14}{##1}}
+ \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase
+ \CJK@char {44}{-52}{##1}}
+ \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{44}{45}{138}{##1}}
+ \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{45}{46}{ 72}{##1}}
+ \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase
+ \CJK@charx{46}{47}{ 6}{##1}}
+ \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase
+ \CJK@char {47}{-60}{##1}}
+ \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{47}{48}{130}{##1}}
+ \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{48}{49}{ 64}{##1}}
+ \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase
+ \CJK@char {49}{ -2}{##1}}
+ \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{49}{50}{188}{##1}}
+ \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{50}{51}{122}{##1}}
+ \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{51}{52}{ 56}{##1}}
+ \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase
+ \CJK@char {52}{-10}{##1}}
+ \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{52}{53}{180}{##1}}
+ \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{53}{54}{114}{##1}}
+ \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{54}{55}{ 48}{##1}}
+ \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase
+ \CJK@char {55}{-18}{##1}}
+ \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{55}{56}{172}{##1}}
+ \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{56}{57}{106}{##1}}
+ \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{57}{58}{ 40}{##1}}
+ \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase
+ \CJK@char {58}{-26}{##1}}
+ \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase
+ \CJK@charx{58}{59}{164}{##1}}
+ \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{59}{60}{ 98}{##1}}
+ \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{60}{61}{ 32}{##1}}
+ \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase
+ \CJK@char {61}{-34}{##1}}
+ \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{61}{62}{156}{##1}}
+ \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{62}{63}{ 90}{##1}}
+ \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{63}{64}{ 24}{##1}}
+ \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase
+ \CJK@char {64}{-42}{##1}}
+ \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{64}{65}{148}{##1}}
+ \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{65}{66}{ 82}{##1}}
+ \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{66}{67}{ 16}{##1}}
+ \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase
+ \CJK@char {67}{-50}{##1}}
+ \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase
+ \CJK@charx{67}{68}{140}{##1}}
+ \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{68}{69}{ 74}{##1}}
+ \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{69}{70}{ 8}{##1}}
+ \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase
+ \CJK@char {70}{-58}{##1}}
+ \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase
+ \CJK@charx{70}{71}{132}{##1}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{71}{72}{ 66}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@char {72}{ 0}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{72}{73}{190}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{73}{74}{124}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{74}{75}{ 58}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@char {75}{ -8}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{75}{76}{182}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{76}{77}{116}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{77}{78}{ 50}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@char {78}{-16}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{78}{79}{174}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{79}{80}{108}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{80}{81}{ 42}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@char {81}{-24}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@charx{81}{82}{166}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{82}{83}{100}{##1}}
+ \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{83}{84}{ 34}{##1}}
+ \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase
+ \CJK@char {84}{-32}{##1}}
+ \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{84}{85}{158}{##1}}
+ \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{85}{86}{ 92}{##1}}
+ \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{86}{87}{ 26}{##1}}
+ \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase
+ \CJK@char {87}{-40}{##1}}
+ \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{87}{88}{150}{##1}}
+ \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{88}{89}{ 84}{##1}}
+ \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{89}{90}{ 18}{##1}}
+ \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase
+ \CJK@char {90}{-48}{##1}}
+ \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{90}{91}{142}{##1}}
+ \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{91}{92}{ 76}{##1}}
+ \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{92}{93}{ 10}{##1}}
+ \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase
+ \CJK@char {93}{-56}{##1}}
+ \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase
+ \CJK@charx{93}{94}{134}{##1}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/mule/MULEenc.sty b/Master/texmf-dist/tex/latex/cjk/mule/MULEenc.sty
new file mode 100644
index 00000000000..1b31d790fa8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/mule/MULEenc.sty
@@ -0,0 +1,501 @@
+% This is the file MULEenc.sty of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\makeatletter
+\endlinechar \m@ne
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesPackage{MULEenc}[\filedate\space\fileversion]
+\NeedsTeXFormat{LaTeX2e}[1998/06/01]
+
+
+% to allow Latin encodings in verbatim environments we activate the
+% character ^^7f and define it as a multiplex character which executes
+% its first argument; it will also be used as a delimiter.
+
+\catcode "7F \active
+
+\def^^7f{
+ \ifx\protect \@typeset@protect
+ \expandafter\mule@arg
+ \else
+ \noexpand ^^7f
+ \fi}
+
+\def\mule@arg#1^^7f#2^^7f{
+ \mule@@arg #2^^7f#1^^7f#2^^7f}
+
+\def\mule@@arg#1^^7f{
+ \mule@ifbslash #1^^7f
+ \expandafter\mule@@@arg
+ \else
+ \expandafter\mule@exec
+ \fi}
+
+\def\mule@@@arg#1^^7f#2^^7f{
+ \csname mule@\string #1\endcsname{#2}}
+
+
+% the pseudo-if \mule@ifbslash tests whether its argument contains a
+% backslash with a character category code (this happens in verbatim
+% environments). We need to change the catcode of `\' locally to
+% achieve that.
+%
+% \mule@exec then swallows this backslash so we can call \csname (twice).
+%
+% All these weird constructions assure that we do not lose kerning between
+% characters---only macro expansion is allowed!
+
+\let\mule@@@ \@empty
+
+{\catcode`\|=\z@
+ \catcode`\\=12\relax
+ |gdef|mule@ifbslash#1^^7f{
+ |mule@@ifbslash #1\^^7f}
+ |gdef|mule@@ifbslash#1\#2^^7f{
+ |expandafter|expandafter|expandafter|ifx
+ |expandafter|csname |string #2mule@@@|endcsname |@empty}
+ |gdef|mule@exec#1^^7f\#2^^7f{
+ |expandafter|csname
+ mule@#1|expandafter |endcsname |csname #2|endcsname}
+}
+
+
+% here come the definitions for the macros cjk-enc.el emits.
+
+% first some \let's to avoid problems in tabbing environments.
+
+\AtBeginDocument{
+ \let\mule@acute \'
+ \let\mule@grave \`
+ \let\mule@macron \=
+ \let\mule@hacek \v}
+
+% and now the missing definitions for cjk-enc.el to represent Latin
+% encodings.
+
+% these definitions may be overridden with \ProvideTextCommandDefault
+% commands.
+
+\def\textonequarter{\ensuremath{\frac14}}
+\def\textonehalf{\ensuremath{\frac12}}
+\def\textthreequarters{\ensuremath{\frac34}}
+
+% LaTeX defines the following macros as \math... instead of \text...,
+% but we want that all commands work in text mode.
+
+\def\textonesuperior{\ensuremath{{^1}}}
+\def\texttwosuperior{\ensuremath{{^2}}}
+\def\textthreesuperior{\ensuremath{{^3}}}
+
+% the next macros are text versions of the corresponding math macros.
+
+\def\textlnot{\ensuremath{\lnot}}
+\def\textpm{\ensuremath{\pm}}
+\def\textmu{\ensuremath{\mu}}
+\def\texttimes{\ensuremath{\times}}
+\def\textdiv{\ensuremath{\div}}
+
+% this macro is not in the LaTeX 2e base package
+
+\def\textcommercialat{\char64}
+
+% the following macro is not defined in standard LaTeX2e.
+%
+% JIS X 0201: 0x7E \textoverscore (U+203E)
+
+
+% to make the multiplex macro work with \uppercase and \lowercase too,
+% numbers are used as parameters in the ^^7f macro.
+
+\def\mule@def#1{\expandafter\def\csname mule@\string #1\endcsname}
+
+% accents
+
+\mule@def{8}{\"}
+\mule@def{15}{\mule@macron}
+\mule@def{20}{\mule@acute}
+\mule@def{24}{\c}
+\mule@def{32}{\mule@grave}
+\mule@def{33}{\^}
+\mule@def{34}{\~}
+\mule@def{48}{\k}
+\mule@def{49}{\u}
+\mule@def{51}{\mule@hacek}
+\mule@def{52}{\.}
+\mule@def{53}{\r}
+\mule@def{55}{\H}
+
+% Vietnamese hook (\h; only defined in T5 encoding) and dot below accent
+
+\mule@def{71}{\d}
+\mule@def{73}{\h}
+
+% symbols
+
+\mule@def{1}{\textexclamdown}
+\mule@def{2}{\textcent}
+\mule@def{3}{\textsterling}
+\mule@def{4}{\textcurrency}
+\mule@def{5}{\textyen}
+\mule@def{6}{\textbrokenbar}
+\mule@def{7}{\S}
+\mule@def{9}{\copyright}
+\mule@def{10}{\textordfeminine}
+\mule@def{11}{\guillemotleft}
+\mule@def{12}{\textlnot}
+\mule@def{14}{\textregistered}
+\mule@def{16}{\textdegree}
+\mule@def{17}{\textpm}
+\mule@def{18}{\texttwosuperior}
+\mule@def{19}{\textthreesuperior}
+\mule@def{21}{\textmu}
+\mule@def{22}{\P}
+\mule@def{23}{\textperiodcentered}
+\mule@def{25}{\textonesuperior}
+\mule@def{26}{\textordmasculine}
+\mule@def{27}{\guillemotright}
+\mule@def{28}{\textonequarter}
+\mule@def{29}{\textonehalf}
+\mule@def{30}{\textthreequarters}
+\mule@def{31}{\textquestiondown}
+\mule@def{36}{\textcommercialat}
+\mule@def{37}{\textquotedbl}
+\mule@def{38}{\texttimes}
+\mule@def{39}{\textdollar}
+\mule@def{40}{\textquoteright}
+\mule@def{41}{\textless}
+\mule@def{42}{\textgreater}
+\mule@def{43}{\textasciicircum}
+\mule@def{44}{\textunderscore}
+\mule@def{45}{\textdiv}
+\mule@def{46}{\textquoteleft}
+\mule@def{47}{\textbraceleft}
+\mule@def{50}{\textbar}
+\mule@def{54}{\textbraceright}
+\mule@def{56}{\textoverscore}
+\mule@def{99}{\nobreakspace}
+
+\mule@def{35}{\textnumero} % Cyrillic Number Sign
+
+% letters
+
+\let\TEXTMALTESEH \textmalteseH
+\def\I{I} % uppercase form of \i
+
+\let\TEXTTSTROKE \textTstroke
+\mule@def{59}{\textkra}
+
+% commands
+
+\mule@def{0}{\@firstofone} % for commands as arguments which exist
+ % in both uppercase and lowercase forms
+ % like \AA and \aa
+\mule@def{64}{\CJKspace\@gobble}
+\mule@def{65}{\CJKnospace\@gobble}
+\mule@def{66}{\CJKenc{JIS}\@gobble}
+\mule@def{67}{\CJKenc{GB}\@gobble}
+\mule@def{68}{\CJKenc{Bg5}\@gobble}
+\mule@def{69}{\CJKenc{KS}\@gobble}
+\mule@def{70}{\CJKenc{SJIS}\@gobble}
+
+% in previous versions we have used ^^a0 for calling \CJKchar, but to
+% support GBK and Big 5+ encodings which both need this slot we use the
+% ^^7f interface also.
+
+\mule@def{72}{\mule@@@@arg}
+
+\def\mule@@@@arg#1^^7f#2^^7f#3^^7f{
+ \uppercase{\CJKchar[#1]{#2}{#3}}}
+
+
+% Thai support. We need the many \bgroup and \egroup commands to make it
+% work with ulem.sty.
+
+\mule@def{57}{\bgroup\fontencoding{C90}\selectfont
+ \bgroup\bgroup\@gobble} % begin Thai
+\mule@def{58}{\egroup
+ \egroup\egroup\@gobble} % end Thai
+\mule@def{60}{\mule@char} % Thai diacritic
+\mule@def{61}{\Thaibreak\@gobble} % Thai word break
+\mule@def{62}{\nobreak\Thaiglue\nobreak\mule@char} % Thai base character
+\mule@def{63}{\mule@ignorespaces} % Thai EOL
+
+\def\mule@char#1{\char #1 }
+\def\mule@ignorespaces#1{\ignorespaces}
+
+\newcommand{\Thaiglue}{\hskip \z@ \@plus .03\baselineskip}
+\newcommand{\Thaibreak}{\hskip \z@}
+
+\newcommand{\Thaispace}{\mule@def{63}{}}
+\newcommand{\Thainospace}{\mule@def{63}{\mule@ignorespaces}}
+
+
+% preprocessed mode now uses the ^^7f interface for CJK characters also
+% to make it coexist with normal mode.
+%
+% the \@gobble macro is used to swallow the first element in \CJK@<number>;
+% this is either \CJK@disableMakeUppercase or \relax if not needed.
+
+\def\mule@@def#1{
+ \expandafter\def\csname mule@\string #1\endcsname##1{
+ \expandafter\expandafter\expandafter\@gobble
+ \csname CJK@\number `#1\endcsname{##1}
+ \CJK@ignorespaces}}
+
+\mule@@def{^^81}
+\mule@@def{^^82}
+\mule@@def{^^83}
+\mule@@def{^^84}
+\mule@@def{^^85}
+\mule@@def{^^86}
+\mule@@def{^^87}
+\mule@@def{^^88}
+\mule@@def{^^89}
+\mule@@def{^^8a}
+\mule@@def{^^8b}
+\mule@@def{^^8c}
+\mule@@def{^^8d}
+\mule@@def{^^8e}
+\mule@@def{^^8f}
+\mule@@def{^^90}
+\mule@@def{^^91}
+\mule@@def{^^92}
+\mule@@def{^^93}
+\mule@@def{^^94}
+\mule@@def{^^95}
+\mule@@def{^^96}
+\mule@@def{^^97}
+\mule@@def{^^98}
+\mule@@def{^^99}
+\mule@@def{^^9a}
+\mule@@def{^^9b}
+\mule@@def{^^9c}
+\mule@@def{^^9d}
+\mule@@def{^^9e}
+\mule@@def{^^9f}
+\mule@@def{^^a0}
+\mule@@def{^^a1}
+\mule@@def{^^a2}
+\mule@@def{^^a3}
+\mule@@def{^^a4}
+\mule@@def{^^a5}
+\mule@@def{^^a6}
+\mule@@def{^^a7}
+\mule@@def{^^a8}
+\mule@@def{^^a9}
+\mule@@def{^^aa}
+\mule@@def{^^ab}
+\mule@@def{^^ac}
+\mule@@def{^^ad}
+\mule@@def{^^ae}
+\mule@@def{^^af}
+\mule@@def{^^b0}
+\mule@@def{^^b1}
+\mule@@def{^^b2}
+\mule@@def{^^b3}
+\mule@@def{^^b4}
+\mule@@def{^^b5}
+\mule@@def{^^b6}
+\mule@@def{^^b7}
+\mule@@def{^^b8}
+\mule@@def{^^b9}
+\mule@@def{^^ba}
+\mule@@def{^^bb}
+\mule@@def{^^bc}
+\mule@@def{^^bd}
+\mule@@def{^^be}
+\mule@@def{^^bf}
+\mule@@def{^^c0}
+\mule@@def{^^c1}
+\mule@@def{^^c2}
+\mule@@def{^^c3}
+\mule@@def{^^c4}
+\mule@@def{^^c5}
+\mule@@def{^^c6}
+\mule@@def{^^c7}
+\mule@@def{^^c8}
+\mule@@def{^^c9}
+\mule@@def{^^ca}
+\mule@@def{^^cb}
+\mule@@def{^^cc}
+\mule@@def{^^cd}
+\mule@@def{^^ce}
+\mule@@def{^^cf}
+\mule@@def{^^d0}
+\mule@@def{^^d1}
+\mule@@def{^^d2}
+\mule@@def{^^d3}
+\mule@@def{^^d4}
+\mule@@def{^^d5}
+\mule@@def{^^d6}
+\mule@@def{^^d7}
+\mule@@def{^^d8}
+\mule@@def{^^d9}
+\mule@@def{^^da}
+\mule@@def{^^db}
+\mule@@def{^^dc}
+\mule@@def{^^dd}
+\mule@@def{^^de}
+\mule@@def{^^df}
+\mule@@def{^^e0}
+\mule@@def{^^e1}
+\mule@@def{^^e2}
+\mule@@def{^^e3}
+\mule@@def{^^e4}
+\mule@@def{^^e5}
+\mule@@def{^^e6}
+\mule@@def{^^e7}
+\mule@@def{^^e8}
+\mule@@def{^^e9}
+\mule@@def{^^ea}
+\mule@@def{^^eb}
+\mule@@def{^^ec}
+\mule@@def{^^ed}
+\mule@@def{^^ee}
+\mule@@def{^^ef}
+\mule@@def{^^f0}
+\mule@@def{^^f1}
+\mule@@def{^^f2}
+\mule@@def{^^f3}
+\mule@@def{^^f4}
+\mule@@def{^^f5}
+\mule@@def{^^f6}
+\mule@@def{^^f7}
+\mule@@def{^^f8}
+\mule@@def{^^f9}
+\mule@@def{^^fa}
+\mule@@def{^^fb}
+\mule@@def{^^fc}
+\mule@@def{^^fd}
+\mule@@def{^^fe}
+
+
+% if the `verbatim' package is loaded it is possible to improve the output
+% automatically, namely, to avoid breaking of overfull lines in a
+% verbatim environment. The following command will install a hook to
+% suppress insertion of glue between Thai glyphs. CJK.sty will extend
+% it for CJK glyphs.
+%
+\def\mule@verbatim{
+ \addto@hook{\every@verbatim}{
+ \renewcommand{\Thaiglue}{}
+ \mule@def{61}{}}}
+\ifx\CJK@verbatim \@undefined
+ \def\CJK@verbatim{}
+\fi
+
+\def\CJKverbatim{
+ \mule@verbatim
+ \CJK@verbatim}
+
+
+% here comes our special include command which will load <file>.cjk
+% instead of <file>.tex
+
+\def\CJKinclude#1{
+ \relax
+
+ \ifnum\@auxout = \@partaux
+ \@latex@error{\string\CJKinclude\space cannot be nested}
+ \@eha
+ \else
+ \CJK@include#1 %
+ \fi
+}
+
+\def\CJK@include#1 {
+ \clearpage
+
+ \if@filesw
+ \immediate\write\@mainaux{\string\@input{#1.aux}}
+ \fi
+
+ \@tempswatrue
+
+ \if@partsw
+ \@tempswafalse
+ \edef\reserved@b{#1}
+ \@for\reserved@a:=\@partlist\do
+ {\ifx\reserved@a \reserved@b
+ \@tempswatrue
+ \fi
+ }
+ \fi
+
+ \if@tempswa
+ \let\@auxout\@partaux
+ \if@filesw
+ \immediate\openout\@partaux #1.aux
+ \immediate\write\@partaux{\relax}
+ \fi
+ \@input@{#1.cjk}
+ \clearpage
+ \@writeckpt{#1}
+ \if@filesw
+ \immediate\closeout\@partaux
+ \fi
+ \else
+ \deadcycles\z@
+ \@nameuse{cp@#1}
+ \fi
+
+ \let\@auxout\@mainaux
+}
+
+
+% the same for the bibliography
+
+\def\CJKbibliography#1{
+ \if@filesw
+ \immediate\write\@auxout{\string\bibdata{#1-cjk}}%
+ \fi
+ \@input@{\jobname.bbl}
+}
+
+
+% here our special input command -- cjk-enc.el will scan files included with
+% \CJKinput, but not with \input.
+%
+% We only want the syntax form of \input with braces around the parameter.
+% If no file name extension is given, `cjk' is used.
+
+\def\CJKinput#1{
+ \filename@parse{#1}
+ \ifx\filename@ext \relax
+ \def\filename@ext{cjk}
+ \fi
+ \InputIfFileExists{\filename@area\filename@base.\filename@ext}
+ {}
+ {\edef\reserved@a{
+ \noexpand\@missingfileerror
+ {\filename@area\filename@base}
+ {\filename@ext}}
+ \reserved@a}}
+
+
+\endlinechar `\^^M
+\makeatother
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/pinyin.sty b/Master/texmf-dist/tex/latex/cjk/pinyin.sty
new file mode 100644
index 00000000000..b688addf1eb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/pinyin.sty
@@ -0,0 +1,1223 @@
+% This is the file pinyin.sty of the CJK package
+% to input Chinese in pinyin transcription
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+%
+% This style file works with plain TeX also.
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+
+\catcode`@=11
+\endlinechar \m@ne
+
+% Older versions of the PostScript virtual files don't contain a macron
+% accent at all (e.g. Palatino). Under LaTeX, you can activate the
+% CM macron version with the package option `useCMmacron'.
+
+\newif\ifpy@useCMmacron@
+\py@useCMmacron@false
+
+\ifx\NeedsTeXFormat \@undefined
+ \message{Package: pinyin \filedate\space\fileversion}
+\else
+ \ProvidesPackage{pinyin}[\filedate\space\fileversion]
+
+ \DeclareOption{useCMmacron}{\py@useCMmacron@true}
+ \ProcessOptions
+\fi
+
+
+% Similar to the CJK and ruby packages we need a special kern to indicate
+% hyphenation between pinyin syllables. Values 1sp-3sp are already used
+% by those packages.
+
+\edef\py@sp{\kern -4sp\kern 4sp}
+
+
+% We must preserve various TeX macros because their names overlap with
+% pinyin syllables. The only exception is the internal command \long which
+% can't be renamed because almost all other packages would fail.
+%
+% Note that \ding is not a basic LaTeX macro but defined in pifont.sty, part
+% of the psnfss package.
+%
+% All other pinyin syllables will be defined below.
+
+\let\PYa=\a
+\let\PYchi=\chi
+\let\PYcong=\cong
+\let\PYding=\ding
+\let\PYge=\ge
+\let\PYhang=\hang
+\let\PYle=\le
+%\let\PYlong=\long -> we use \Long and \LONG instead
+\let\PYmin=\min
+\let\PYmu=\mu
+\let\PYne=\ne
+\let\PYni=\ni
+\let\PYnu=\nu
+\let\PYo=\o
+\let\PYO=\O
+\let\PYpi=\pi
+\let\PYPi=\Pi
+\let\PYRe=\Re
+\let\PYtan=\tan
+\let\PYxi=\xi
+\let\PYXi=\Xi
+
+\def\PYactivate{
+ \let\a=\py@@a
+ \let\chi=\py@chi
+ \let\cong=\py@cong
+ \let\ding=\py@ding
+ \let\ge=\py@ge
+ \let\hang=\py@hang
+ \let\le=\py@le
+ \let\min=\py@min
+ \let\mu=\py@mu
+ \let\ne=\py@ne
+ \let\ni=\py@ni
+ \let\nu=\py@nu
+ \let\o=\py@@o
+ \let\O=\py@@O
+ \let\pi=\py@pi
+ \let\Pi=\py@Pi
+ \let\Re=\py@Re
+ \let\tan=\py@tan
+ \let\xi=\py@xi
+ \let\Xi=\py@Xi}
+
+\def\PYdeactivate{
+ \let\a=\PYa
+ \let\chi=\PYchi
+ \let\cong=\PYcong
+ \let\ding=\PYding
+ \let\ge=\PYge
+ \let\hang=\PYhang
+ \let\le=\PYle
+ \let\min=\PYmin
+ \let\mu=\PYmu
+ \let\ne=\PYne
+ \let\ni=\PYni
+ \let\nu=\PYnu
+ \let\o=\PYo
+ \let\O=\PYO
+ \let\pi=\PYpi
+ \let\Pi=\PYPi
+ \let\Re=\PYRe
+ \let\tan=\PYtan
+ \let\xi=\PYxi
+ \let\Xi=\PYXi}
+
+
+% We use our own names for the accent macros so they will also work in
+% tabbing environments.
+
+\let\py@acute \'
+\let\py@hacek \v
+\let\py@grave \`
+
+
+% Macrons of the EC fonts are far too high for the first tone, and most
+% T1 encoded fonts follow this for compatibility reasons. However,
+% T5 encoded fonts don't exhibit this behaviour.
+
+\def\py@macron#1#2{
+ \edef\py@mcorr{0}
+ \edef\py@temp{T1}
+ \ifx\f@encoding \py@temp
+ \chardef\py@mcr 9\relax% T1 fonts
+ \else
+ \edef\py@temp{T5}
+ \ifx\f@encoding \py@temp
+ \chardef\py@mcr 9\relax% T5 fonts
+ \edef\py@mcorr{-.3}
+ \else
+ \chardef\py@mcr 22\relax% OT1 fonts
+ \fi
+ \fi
+
+ {\leavevmode
+ \dimen@ii 1ex
+ \edef\py@temp{\f@family}
+ \ifpy@useCMmacron@
+ \fontfamily{cmr}
+ \selectfont
+ \fi
+ \setbox\z@ \hbox{\char\py@mcr}
+ \dimen@ -#2ex
+ \advance\dimen@ \py@mcorr ex
+ \advance\dimen@ \ht\z@
+ \ifdim 1ex < \dimen@
+ \fontdimen5\font \dimen@
+ \fi
+ \accent\py@mcr
+ \fontfamily\py@temp
+ \selectfont
+ \fontdimen5\font \dimen@ii
+ #1}}
+
+% Here a replacement version for bookmarks in PDFs.
+
+\def\py@hr@macron#1#2{
+ \=#1
+}
+
+
+% The following command outputs the kern between two letters.
+
+\def\py@kern#1#2{
+ {\setbox\z@ \hbox{#1#2}
+ \dimen@ \wd\z@
+ \setbox\z@ \hbox{#1{}#2}
+ \advance\dimen@ -\wd\z@
+ \kern\dimen@}}
+
+
+% To make \MakeUppercase and \MakeLowercase work, we use a generic macro
+% which constructs the necessary pinyin macros by using the first
+% argument.
+
+\def\py@{\protect\py@@@}
+\def\py@@@#1{
+ \csname py@#1\endcsname
+}
+
+% Here are the macros to produce various accents over the vocals.
+
+\def\py@@#1#2#3#4{
+ \py@kern{#2}#1
+ \ifcase#4
+ \or\py@macron #1{.3}\or\py@acute #1\or\py@hacek #1\or\py@grave #1\or #1
+ \fi
+ \py@kern #1{#3}}
+
+\def\py@a{\py@@ a}
+\def\py@A{\py@@ A}
+
+\def\py@e{\py@@ e}
+\def\py@E{\py@@ E}
+
+\def\py@i#1#2#3{
+ \py@kern{#1}i
+ \ifcase#3
+ \or\py@macron\i{.3}\or\py@acute\i\or\py@hacek\i\or\py@grave\i\or i
+ \fi
+ \py@kern i{#2}}
+\def\py@I{\py@@ I}
+
+\def\py@o{\py@@ o}
+\def\py@O{\py@@ O}
+
+\def\py@u{\py@@ u}
+\def\py@U{\py@@ U}
+
+% the previous definitions are almost trivial. The only tricky macro is the
+% following one. Above the u with umlaut dots we must place the four tone
+% modifiers. To get a better appearance, we lower the umlaut dots as much
+% as possible. The algorithm used here has been tested with the standard
+% cm, ec, and PostScript fonts; it was taken from german.sty .
+
+\def\py@@v#1#2#3#4{
+ \edef\py@temp{T1}
+ \ifx\f@encoding \py@temp
+ \chardef\py@umlaut 4\relax% T1 fonts
+ \chardef\py@ac \@ne
+ \chardef\py@gr \z@
+ \else
+ \edef\py@temp{T5}
+ \ifx\f@encoding \py@temp
+ \chardef\py@umlaut 4\relax% T5 fonts
+ \chardef\py@ac \@ne
+ \chardef\py@gr \z@
+ \else
+ \chardef\py@umlaut 127\relax% OT1 fonts
+ \chardef\py@ac 19\relax
+ \chardef\py@gr 18\relax
+ \fi
+ \fi
+
+ {\leavevmode
+ \dimen@ii 1ex
+ \setbox\z@ \hbox{\char\py@umlaut}
+ \dimen@ -.4ex
+ \advance\dimen@ \ht\z@
+ \ifdim 1ex < \dimen@
+ \fontdimen5\font \dimen@
+ \dimen@ .55ex
+ \else
+ \dimen@ .7ex
+ \fi
+ \py@kern{#2}#1
+ \rlap{\accent\py@umlaut #1}
+ \fontdimen5\font \dimen@
+ \ifcase#4
+ \or\py@macron #1{1.1}
+ \or\accent\py@ac #1
+ \or\py@hacek #1
+ \or\accent\py@gr #1
+ \or #1
+ \fi
+ \py@kern #1{#3}
+ \fontdimen5\font \dimen@ii}}
+
+\def\py@v{\py@@v u}
+\def\py@V{\py@@v U}
+
+% Here a replacement version for bookmarks in PDFs.
+
+\def\py@hr@@v#1#2#3#4{
+ \ifcase #4
+ \or\py@hr@dm #1\or\py@hr@da #1\or\py@hr@dh #1\or\py@hr@dg #1\or #1
+ \fi
+}
+
+
+% Here our small macro to test whether we should insert a soft hyphen or
+% not. Since it is the first macro in all syllable definitions, we
+% also ensure horizontal mode.
+
+\def\py@hy{
+ \leavevmode
+ \ifnum\lastkern = 4\relax% \py@sp
+ \-
+ \fi
+}
+
+
+% Bookmarks need Unicode characters and nothing else.
+
+\ifx\AtBeginDocument \undefined
+\else
+ \AtBeginDocument{
+ \ifx\pdfstringdefDisableCommands \undefined
+ \else
+ % We add some definitions to the PU encoding so that \MakeUppercase
+ % and \MakeLowercase work with the pinyin characters which have
+ % two diacritics.
+ \DeclareTextCommand{\py@hr@dm}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@dm{#1}}#1}
+ \DeclareTextCommand{\py@hr@da}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@da{#1}}#1}
+ \DeclareTextCommand{\py@hr@dh}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@dh{#1}}#1}
+ \DeclareTextCommand{\py@hr@dg}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@dg{#1}}#1}
+
+ \DeclareTextCompositeCommand{\py@hr@dm}{PU}{U}{\81\325}% U umlaut macron
+ \DeclareTextCompositeCommand{\py@hr@dm}{PU}{u}{\81\326}% u umlaut macron
+ \DeclareTextCompositeCommand{\py@hr@da}{PU}{U}{\81\327}% U umlaut acute
+ \DeclareTextCompositeCommand{\py@hr@da}{PU}{u}{\81\330}% u umlaut acute
+ \DeclareTextCompositeCommand{\py@hr@dh}{PU}{U}{\81\331}% U umlaut hacek
+ \DeclareTextCompositeCommand{\py@hr@dh}{PU}{u}{\81\332}% u umlaut hacek
+ \DeclareTextCompositeCommand{\py@hr@dg}{PU}{U}{\81\333}% U umlaut grave
+ \DeclareTextCompositeCommand{\py@hr@dg}{PU}{u}{\81\334}% u umlaut grave
+
+ \pdfstringdefDisableCommands{
+ \let\py@hy \relax
+ \let\py@kern \@gobbletwo
+ \let\py@sp \relax
+ \let\py@macron \py@hr@macron
+ \let\py@@v \py@hr@@v
+ }
+ \fi
+ }
+\fi
+
+% Finally the pinyin syllables itselves in lower- and uppercase forms. As
+% mentioned above, the only exceptions are \Long and \LONG instead of the
+% expected \long and \Long macros.
+
+\def\py@@a#1{\py@hy \py@ a{}{}#1\py@sp{}}
+\def\ai#1{\py@hy \py@ a{}i#1i\py@sp{}}
+\def\an#1{\py@hy \py@ a{}n#1n\py@sp{}}
+\def\ang#1{\py@hy \py@ a{}n#1ng\py@sp{}}
+\def\ao#1{\py@hy \py@ a{}o#1o\py@sp{}}
+
+\def\ba#1{\py@hy b\py@ ab{}#1\py@sp{}}
+\def\bai#1{\py@hy b\py@ abi#1i\py@sp{}}
+\def\ban#1{\py@hy b\py@ abn#1n\py@sp{}}
+\def\bang#1{\py@hy b\py@ abn#1ng\py@sp{}}
+\def\bao#1{\py@hy b\py@ abo#1o\py@sp{}}
+\def\bei#1{\py@hy b\py@ ebi#1i\py@sp{}}
+\def\ben#1{\py@hy b\py@ ebn#1n\py@sp{}}
+\def\beng#1{\py@hy b\py@ ebn#1ng\py@sp{}}
+\def\bi#1{\py@hy b\py@ ib{}#1\py@sp{}}
+\def\bian#1{\py@hy bi\py@ ain#1n\py@sp{}}
+\def\biao#1{\py@hy bi\py@ aio#1o\py@sp{}}
+\def\bie#1{\py@hy bi\py@ ei{}#1\py@sp{}}
+\def\bin#1{\py@hy b\py@ ibn#1n\py@sp{}}
+\def\bing#1{\py@hy b\py@ ibn#1ng\py@sp{}}
+\def\bo#1{\py@hy b\py@ ob{}#1\py@sp{}}
+\def\bu#1{\py@hy b\py@ ub{}#1\py@sp{}}
+
+\def\ca#1{\py@hy c\py@ ac{}#1\py@sp{}}
+\def\cai#1{\py@hy c\py@ aci#1i\py@sp{}}
+\def\can#1{\py@hy c\py@ acn#1n\py@sp{}}
+\def\cang#1{\py@hy c\py@ acn#1ng\py@sp{}}
+\def\cao#1{\py@hy c\py@ aco#1o\py@sp{}}
+\def\ce#1{\py@hy c\py@ ec{}#1\py@sp{}}
+\def\cen#1{\py@hy c\py@ ecn#1n\py@sp{}}
+\def\ceng#1{\py@hy c\py@ ecn#1ng\py@sp{}}
+\def\cha#1{\py@hy ch\py@ ah{}#1\py@sp{}}
+\def\chai#1{\py@hy ch\py@ ahi#1i\py@sp{}}
+\def\chan#1{\py@hy ch\py@ ahn#1n\py@sp{}}
+\def\chang#1{\py@hy ch\py@ ahn#1ng\py@sp{}}
+\def\chao#1{\py@hy ch\py@ aho#1o\py@sp{}}
+\def\che#1{\py@hy ch\py@ eh{}#1\py@sp{}}
+\def\chen#1{\py@hy ch\py@ ehn#1n\py@sp{}}
+\def\cheng#1{\py@hy ch\py@ ehn#1ng\py@sp{}}
+\def\py@chi#1{\py@hy ch\py@ ih{}#1\py@sp{}}
+\def\chong#1{\py@hy ch\py@ ohn#1ng\py@sp{}}
+\def\chou#1{\py@hy ch\py@ ohu#1u\py@sp{}}
+\def\chu#1{\py@hy ch\py@ uh{}#1\py@sp{}}
+\def\chua#1{\py@hy chu\py@ au{}#1\py@sp{}}
+\def\chuai#1{\py@hy chu\py@ aui#1i\py@sp{}}
+\def\chuan#1{\py@hy chu\py@ aun#1n\py@sp{}}
+\def\chuang#1{\py@hy chu\py@ aun#1ng\py@sp{}}
+\def\chui#1{\py@hy chu\py@ iu{}#1\py@sp{}}
+\def\chun#1{\py@hy ch\py@ uhn#1n\py@sp{}}
+\def\chuo#1{\py@hy chu\py@ ou{}#1\py@sp{}}
+\def\ci#1{\py@hy c\py@ ic{}#1\py@sp{}}
+\def\py@cong#1{\py@hy c\py@ ocn#1ng\py@sp{}}
+\def\cou#1{\py@hy c\py@ ocu#1u\py@sp{}}
+\def\cu#1{\py@hy c\py@ uc{}#1\py@sp{}}
+\def\cuan#1{\py@hy cu\py@ aun#1n\py@sp{}}
+\def\cui#1{\py@hy cu\py@ iu{}#1\py@sp{}}
+\def\cun#1{\py@hy c\py@ ucn#1n\py@sp{}}
+\def\cuo#1{\py@hy cu\py@ ou{}#1\py@sp{}}
+
+\def\da#1{\py@hy d\py@ ad{}#1\py@sp{}}
+\def\dai#1{\py@hy d\py@ adi#1i\py@sp{}}
+\def\dan#1{\py@hy d\py@ adn#1n\py@sp{}}
+\def\dang#1{\py@hy d\py@ adn#1ng\py@sp{}}
+\def\dao#1{\py@hy d\py@ ado#1o\py@sp{}}
+\def\de#1{\py@hy d\py@ ed{}#1\py@sp{}}
+\def\dei#1{\py@hy d\py@ edi#1i\py@sp{}}
+\def\den#1{\py@hy d\py@ edn#1n\py@sp{}}
+\def\deng#1{\py@hy d\py@ edn#1ng\py@sp{}}
+\def\di#1{\py@hy d\py@ id{}#1\py@sp{}}
+\def\dian#1{\py@hy di\py@ ain#1n\py@sp{}}
+\def\diao#1{\py@hy di\py@ aio#1o\py@sp{}}
+\def\die#1{\py@hy di\py@ ei{}#1\py@sp{}}
+\def\py@ding#1{\py@hy d\py@ idn#1ng\py@sp{}}
+\def\diu#1{\py@hy di\py@ ui{}#1\py@sp{}}
+\def\dong#1{\py@hy d\py@ odn#1ng\py@sp{}}
+\def\dou#1{\py@hy d\py@ odu#1u\py@sp{}}
+\def\du#1{\py@hy d\py@ ud{}#1\py@sp{}}
+\def\duan#1{\py@hy du\py@ aun#1n\py@sp{}}
+\def\dui#1{\py@hy du\py@ iu{}#1\py@sp{}}
+\def\dun#1{\py@hy d\py@ udn#1n\py@sp{}}
+\def\duo#1{\py@hy du\py@ ou{}#1\py@sp{}}
+
+\def\e#1{\py@hy \py@ e{}{}#1\py@sp{}}
+\def\ei#1{\py@hy \py@ e{}i#1i\py@sp{}}
+\def\en#1{\py@hy \py@ e{}n#1n\py@sp{}}
+\def\eng#1{\py@hy \py@ e{}n#1ng\py@sp{}}
+\def\er#1{\py@hy \py@ e{}r#1r\py@sp{}}
+
+\def\fa#1{\py@hy f\py@ af{}#1\py@sp{}}
+\def\fan#1{\py@hy f\py@ afn#1n\py@sp{}}
+\def\fang#1{\py@hy f\py@ afn#1ng\py@sp{}}
+\def\fei#1{\py@hy f\py@ efi#1i\py@sp{}}
+\def\fen#1{\py@hy f\py@ efn#1n\py@sp{}}
+\def\feng#1{\py@hy f\py@ efn#1ng\py@sp{}}
+\def\fiao#1{\py@hy fi\py@ aio#1o\py@sp{}}
+\def\fo#1{\py@hy f\py@ of{}#1\py@sp{}}
+\def\fou#1{\py@hy f\py@ ofu#1u\py@sp{}}
+\def\fu#1{\py@hy f\py@ uf{}#1\py@sp{}}
+
+\def\ga#1{\py@hy g\py@ ag{}#1\py@sp{}}
+\def\gai#1{\py@hy g\py@ agi#1i\py@sp{}}
+\def\gan#1{\py@hy g\py@ agn#1n\py@sp{}}
+\def\gang#1{\py@hy g\py@ agn#1ng\py@sp{}}
+\def\gao#1{\py@hy g\py@ ago#1o\py@sp{}}
+\def\py@ge#1{\py@hy g\py@ eg{}#1\py@sp{}}
+\def\gei#1{\py@hy g\py@ egi#1i\py@sp{}}
+\def\gen#1{\py@hy g\py@ egn#1n\py@sp{}}
+\def\geng#1{\py@hy g\py@ egn#1ng\py@sp{}}
+\def\gong#1{\py@hy g\py@ ogn#1ng\py@sp{}}
+\def\gou#1{\py@hy g\py@ ogu#1u\py@sp{}}
+\def\gu#1{\py@hy g\py@ ug{}#1\py@sp{}}
+\def\gua#1{\py@hy gu\py@ au{}#1\py@sp{}}
+\def\guai#1{\py@hy gu\py@ aui#1i\py@sp{}}
+\def\guan#1{\py@hy gu\py@ aun#1n\py@sp{}}
+\def\guang#1{\py@hy gu\py@ aun#1ng\py@sp{}}
+\def\gui#1{\py@hy gu\py@ iu{}#1\py@sp{}}
+\def\gun#1{\py@hy g\py@ ugn#1n\py@sp{}}
+\def\guo#1{\py@hy gu\py@ ou{}#1\py@sp{}}
+
+\def\ha#1{\py@hy h\py@ ah{}#1\py@sp{}}
+\def\hai#1{\py@hy h\py@ ahi#1i\py@sp{}}
+\def\han#1{\py@hy h\py@ ahn#1n\py@sp{}}
+\def\py@hang#1{\py@hy h\py@ ahn#1ng\py@sp{}}
+\def\hao#1{\py@hy h\py@ aho#1o\py@sp{}}
+\def\he#1{\py@hy h\py@ eh{}#1\py@sp{}}
+\def\hei#1{\py@hy h\py@ ehi#1i\py@sp{}}
+\def\hen#1{\py@hy h\py@ ehn#1n\py@sp{}}
+\def\heng#1{\py@hy h\py@ ehn#1ng\py@sp{}}
+\def\hong#1{\py@hy h\py@ ohn#1ng\py@sp{}}
+\def\hou#1{\py@hy h\py@ ohu#1u\py@sp{}}
+\def\hu#1{\py@hy h\py@ uh{}#1\py@sp{}}
+\def\hua#1{\py@hy hu\py@ au{}#1\py@sp{}}
+\def\huai#1{\py@hy hu\py@ aui#1i\py@sp{}}
+\def\huan#1{\py@hy hu\py@ aun#1n\py@sp{}}
+\def\huang#1{\py@hy hu\py@ aun#1ng\py@sp{}}
+\def\hui#1{\py@hy hu\py@ iu{}#1\py@sp{}}
+\def\hun#1{\py@hy h\py@ uhn#1n\py@sp{}}
+\def\huo#1{\py@hy hu\py@ ou{}#1\py@sp{}}
+
+\def\ji#1{\py@hy j\py@ ij{}#1\py@sp{}}
+\def\jia#1{\py@hy ji\py@ ai{}#1\py@sp{}}
+\def\jian#1{\py@hy ji\py@ ain#1n\py@sp{}}
+\def\jiang#1{\py@hy ji\py@ ain#1ng\py@sp{}}
+\def\jiao#1{\py@hy ji\py@ aio#1o\py@sp{}}
+\def\jie#1{\py@hy ji\py@ ei{}#1\py@sp{}}
+\def\jin#1{\py@hy j\py@ ijn#1n\py@sp{}}
+\def\jing#1{\py@hy j\py@ ijn#1ng\py@sp{}}
+\def\jiong#1{\py@hy ji\py@ oin#1ng\py@sp{}}
+\def\jiu#1{\py@hy ji\py@ ui{}#1\py@sp{}}
+\def\ju#1{\py@hy j\py@ uj{}#1\py@sp{}}
+\def\juan#1{\py@hy ju\py@ aun#1n\py@sp{}}
+\def\jue#1{\py@hy ju\py@ eu{}#1\py@sp{}}
+\def\jun#1{\py@hy j\py@ ujn#1n\py@sp{}}
+
+\def\ka#1{\py@hy k\py@ ak{}#1\py@sp{}}
+\def\kai#1{\py@hy k\py@ aki#1i\py@sp{}}
+\def\kan#1{\py@hy k\py@ akn#1n\py@sp{}}
+\def\kang#1{\py@hy k\py@ akn#1ng\py@sp{}}
+\def\kao#1{\py@hy k\py@ ako#1o\py@sp{}}
+\def\ke#1{\py@hy k\py@ ek{}#1\py@sp{}}
+\def\kei#1{\py@hy k\py@ eki#1i\py@sp{}}
+\def\ken#1{\py@hy k\py@ ekn#1n\py@sp{}}
+\def\keng#1{\py@hy k\py@ ekn#1ng\py@sp{}}
+\def\kong#1{\py@hy k\py@ okn#1ng\py@sp{}}
+\def\kou#1{\py@hy k\py@ oku#1u\py@sp{}}
+\def\ku#1{\py@hy k\py@ uk{}#1\py@sp{}}
+\def\kua#1{\py@hy ku\py@ au{}#1\py@sp{}}
+\def\kuai#1{\py@hy ku\py@ aui#1i\py@sp{}}
+\def\kuan#1{\py@hy ku\py@ aun#1n\py@sp{}}
+\def\kuang#1{\py@hy ku\py@ aun#1ng\py@sp{}}
+\def\kui#1{\py@hy ku\py@ iu{}#1\py@sp{}}
+\def\kun#1{\py@hy k\py@ ukn#1n\py@sp{}}
+\def\kuo#1{\py@hy ku\py@ ou{}#1\py@sp{}}
+
+\def\la#1{\py@hy l\py@ al{}#1\py@sp{}}
+\def\lai#1{\py@hy l\py@ ali#1i\py@sp{}}
+\def\lan#1{\py@hy l\py@ aln#1n\py@sp{}}
+\def\lang#1{\py@hy l\py@ aln#1ng\py@sp{}}
+\def\lao#1{\py@hy l\py@ alo#1o\py@sp{}}
+\def\py@le#1{\py@hy l\py@ el{}#1\py@sp{}}
+\def\lei#1{\py@hy l\py@ eli#1i\py@sp{}}
+\def\leng#1{\py@hy l\py@ eln#1ng\py@sp{}}
+\def\li#1{\py@hy l\py@ il{}#1\py@sp{}}
+\def\lia#1{\py@hy li\py@ ai{}#1\py@sp{}}
+\def\lian#1{\py@hy li\py@ ain#1n\py@sp{}}
+\def\liang#1{\py@hy li\py@ ain#1ng\py@sp{}}
+\def\liao#1{\py@hy li\py@ aio#1o\py@sp{}}
+\def\lie#1{\py@hy li\py@ ei{}#1\py@sp{}}
+\def\lin#1{\py@hy l\py@ iln#1n\py@sp{}}
+\def\ling#1{\py@hy l\py@ iln#1ng\py@sp{}}
+\def\liu#1{\py@hy li\py@ ui{}#1\py@sp{}}
+\def\Long#1{\py@hy l\py@ oln#1ng\py@sp{}}
+\def\lou#1{\py@hy l\py@ olu#1u\py@sp{}}
+\def\lu#1{\py@hy l\py@ ul{}#1\py@sp{}}
+\def\luan#1{\py@hy lu\py@ aun#1n\py@sp{}}
+\def\lun#1{\py@hy l\py@ uln#1n\py@sp{}}
+\def\luo#1{\py@hy lu\py@ ou{}#1\py@sp{}}
+\def\lv#1{\py@hy l\py@ vl{}#1\py@sp{}}
+\def\lve#1{\py@hy l\"{u}\py@ ele#1\py@sp{}}
+
+\def\ma#1{\py@hy m\py@ am{}#1\py@sp{}}
+\def\mai#1{\py@hy m\py@ ami#1i\py@sp{}}
+\def\man#1{\py@hy m\py@ amn#1n\py@sp{}}
+\def\mang#1{\py@hy m\py@ amn#1ng\py@sp{}}
+\def\mao#1{\py@hy m\py@ amo#1o\py@sp{}}
+\def\me#1{\py@hy m\py@ em{}#1\py@sp{}}
+\def\mei#1{\py@hy m\py@ emi#1i\py@sp{}}
+\def\men#1{\py@hy m\py@ emn#1n\py@sp{}}
+\def\meng#1{\py@hy m\py@ emn#1ng\py@sp{}}
+\def\mi#1{\py@hy m\py@ im{}#1\py@sp{}}
+\def\mian#1{\py@hy mi\py@ ain#1n\py@sp{}}
+\def\miao#1{\py@hy mi\py@ aio#1o\py@sp{}}
+\def\mie#1{\py@hy mi\py@ ei{}#1\py@sp{}}
+\def\py@min#1{\py@hy m\py@ imn#1n\py@sp{}}
+\def\ming#1{\py@hy m\py@ imn#1ng\py@sp{}}
+\def\miu#1{\py@hy mi\py@ ui{}#1\py@sp{}}
+\def\mo#1{\py@hy m\py@ om{}#1\py@sp{}}
+\def\mou#1{\py@hy m\py@ omu#1u\py@sp{}}
+\def\py@mu#1{\py@hy m\py@ um{}#1\py@sp{}}
+
+\def\na#1{\py@hy n\py@ an{}#1\py@sp{}}
+\def\nai#1{\py@hy n\py@ ani#1i\py@sp{}}
+\def\nan#1{\py@hy n\py@ ann#1n\py@sp{}}
+\def\nang#1{\py@hy n\py@ ann#1ng\py@sp{}}
+\def\nao#1{\py@hy n\py@ ano#1o\py@sp{}}
+\def\py@ne#1{\py@hy n\py@ en{}#1\py@sp{}}
+\def\nei#1{\py@hy n\py@ eni#1i\py@sp{}}
+\def\nen#1{\py@hy n\py@ enn#1n\py@sp{}}
+\def\neng#1{\py@hy n\py@ enn#1ng\py@sp{}}
+\def\py@ni#1{\py@hy n\py@ in{}#1\py@sp{}}
+\def\nian#1{\py@hy ni\py@ ain#1n\py@sp{}}
+\def\niang#1{\py@hy ni\py@ ain#1ng\py@sp{}}
+\def\niao#1{\py@hy ni\py@ aio#1o\py@sp{}}
+\def\nie#1{\py@hy ni\py@ ei{}#1\py@sp{}}
+\def\nin#1{\py@hy n\py@ inn#1n\py@sp{}}
+\def\ning#1{\py@hy n\py@ inn#1ng\py@sp{}}
+\def\niu#1{\py@hy ni\py@ ui{}#1\py@sp{}}
+\def\nong#1{\py@hy n\py@ onn#1ng\py@sp{}}
+\def\nou#1{\py@hy n\py@ onu#1u\py@sp{}}
+\def\py@nu#1{\py@hy n\py@ un{}#1\py@sp{}}
+\def\nuan#1{\py@hy nu\py@ aun#1n\py@sp{}}
+\def\nuo#1{\py@hy nu\py@ ou{}#1\py@sp{}}
+\def\nv#1{\py@hy n\py@ vn{}#1\py@sp{}}
+\def\nve#1{\py@hy n\"{u}\py@ ene#1\py@sp{}}
+
+\def\py@@o#1{\py@hy \py@ o{}{}#1\py@sp{}}
+\def\ou#1{\py@hy \py@ o{}u#1u\py@sp{}}
+
+\def\pa#1{\py@hy p\py@ ap{}#1\py@sp{}}
+\def\pai#1{\py@hy p\py@ api#1i\py@sp{}}
+\def\pan#1{\py@hy p\py@ apn#1n\py@sp{}}
+\def\pang#1{\py@hy p\py@ apn#1ng\py@sp{}}
+\def\pao#1{\py@hy p\py@ apo#1o\py@sp{}}
+\def\pei#1{\py@hy p\py@ epi#1i\py@sp{}}
+\def\pen#1{\py@hy p\py@ epn#1n\py@sp{}}
+\def\peng#1{\py@hy p\py@ epn#1ng\py@sp{}}
+\def\py@pi#1{\py@hy p\py@ ip{}#1\py@sp{}}
+\def\pian#1{\py@hy pi\py@ ain#1n\py@sp{}}
+\def\piao#1{\py@hy pi\py@ aio#1o\py@sp{}}
+\def\pie#1{\py@hy pi\py@ ei{}#1\py@sp{}}
+\def\pin#1{\py@hy p\py@ ipn#1n\py@sp{}}
+\def\ping#1{\py@hy p\py@ ipn#1ng\py@sp{}}
+\def\po#1{\py@hy p\py@ op{}#1\py@sp{}}
+\def\pou#1{\py@hy p\py@ opu#1u\py@sp{}}
+\def\pu#1{\py@hy p\py@ up{}#1\py@sp{}}
+
+\def\qi#1{\py@hy q\py@ iq{}#1\py@sp{}}
+\def\qia#1{\py@hy qi\py@ ai{}#1\py@sp{}}
+\def\qian#1{\py@hy qi\py@ ain#1n\py@sp{}}
+\def\qiang#1{\py@hy qi\py@ ain#1ng\py@sp{}}
+\def\qiao#1{\py@hy qi\py@ aio#1o\py@sp{}}
+\def\qie#1{\py@hy qi\py@ ei{}#1\py@sp{}}
+\def\qin#1{\py@hy q\py@ iqn#1n\py@sp{}}
+\def\qing#1{\py@hy q\py@ iqn#1ng\py@sp{}}
+\def\qiong#1{\py@hy qi\py@ oin#1ng\py@sp{}}
+\def\qiu#1{\py@hy qi\py@ ui{}#1\py@sp{}}
+\def\qu#1{\py@hy q\py@ uq{}#1\py@sp{}}
+\def\quan#1{\py@hy qu\py@ aun#1n\py@sp{}}
+\def\que#1{\py@hy qu\py@ eu{}#1\py@sp{}}
+\def\qun#1{\py@hy q\py@ uqn#1n\py@sp{}}
+
+\def\ran#1{\py@hy r\py@ arn#1n\py@sp{}}
+\def\rang#1{\py@hy r\py@ arn#1ng\py@sp{}}
+\def\rao#1{\py@hy r\py@ aro#1o\py@sp{}}
+\def\re#1{\py@hy r\py@ er{}#1\py@sp{}}
+\def\ren#1{\py@hy r\py@ ern#1n\py@sp{}}
+\def\reng#1{\py@hy r\py@ ern#1ng\py@sp{}}
+\def\ri#1{\py@hy r\py@ ir{}#1\py@sp{}}
+\def\rong#1{\py@hy r\py@ orn#1ng\py@sp{}}
+\def\rou#1{\py@hy r\py@ oru#1u\py@sp{}}
+\def\ru#1{\py@hy r\py@ ur{}#1\py@sp{}}
+\def\rua#1{\py@hy ru\py@ au{}#1\py@sp{}}
+\def\ruan#1{\py@hy ru\py@ aun#1n\py@sp{}}
+\def\rui#1{\py@hy ru\py@ iu{}#1\py@sp{}}
+\def\run#1{\py@hy r\py@ urn#1n\py@sp{}}
+\def\ruo#1{\py@hy ru\py@ ou{}#1\py@sp{}}
+
+\def\sa#1{\py@hy s\py@ as{}#1\py@sp{}}
+\def\sai#1{\py@hy s\py@ asi#1i\py@sp{}}
+\def\san#1{\py@hy s\py@ asn#1n\py@sp{}}
+\def\sang#1{\py@hy s\py@ asn#1ng\py@sp{}}
+\def\sao#1{\py@hy s\py@ aso#1o\py@sp{}}
+\def\se#1{\py@hy s\py@ es{}#1\py@sp{}}
+\def\sen#1{\py@hy s\py@ esn#1n\py@sp{}}
+\def\seng#1{\py@hy s\py@ esn#1ng\py@sp{}}
+\def\sha#1{\py@hy sh\py@ ah{}#1\py@sp{}}
+\def\shai#1{\py@hy sh\py@ ahi#1i\py@sp{}}
+\def\shan#1{\py@hy sh\py@ ahn#1n\py@sp{}}
+\def\shang#1{\py@hy sh\py@ ahn#1ng\py@sp{}}
+\def\shao#1{\py@hy sh\py@ aho#1o\py@sp{}}
+\def\she#1{\py@hy sh\py@ eh{}#1\py@sp{}}
+\def\shei#1{\py@hy sh\py@ ehi#1i\py@sp{}}
+\def\shen#1{\py@hy sh\py@ ehn#1n\py@sp{}}
+\def\sheng#1{\py@hy sh\py@ ehn#1ng\py@sp{}}
+\def\shi#1{\py@hy sh\py@ ih{}#1\py@sp{}}
+\def\shou#1{\py@hy sh\py@ ohu#1u\py@sp{}}
+\def\shu#1{\py@hy sh\py@ uh{}#1\py@sp{}}
+\def\shua#1{\py@hy shu\py@ au{}#1\py@sp{}}
+\def\shuai#1{\py@hy shu\py@ aui#1i\py@sp{}}
+\def\shuan#1{\py@hy shu\py@ aun#1n\py@sp{}}
+\def\shuang#1{\py@hy shu\py@ aun#1ng\py@sp{}}
+\def\shui#1{\py@hy shu\py@ iu{}#1\py@sp{}}
+\def\shun#1{\py@hy sh\py@ uhn#1n\py@sp{}}
+\def\shuo#1{\py@hy shu\py@ ou{}#1\py@sp{}}
+\def\si#1{\py@hy s\py@ is{}#1\py@sp{}}
+\def\song#1{\py@hy s\py@ osn#1ng\py@sp{}}
+\def\sou#1{\py@hy s\py@ osu#1u\py@sp{}}
+\def\su#1{\py@hy s\py@ us{}#1\py@sp{}}
+\def\suan#1{\py@hy su\py@ aun#1n\py@sp{}}
+\def\sui#1{\py@hy su\py@ iu{}#1\py@sp{}}
+\def\sun#1{\py@hy s\py@ usn#1n\py@sp{}}
+\def\suo#1{\py@hy su\py@ ou{}#1\py@sp{}}
+
+\def\ta#1{\py@hy t\py@ at{}#1\py@sp{}}
+\def\tai#1{\py@hy t\py@ ati#1i\py@sp{}}
+\def\py@tan#1{\py@hy t\py@ atn#1n\py@sp{}}
+\def\tang#1{\py@hy t\py@ atn#1ng\py@sp{}}
+\def\tao#1{\py@hy t\py@ ato#1o\py@sp{}}
+\def\te#1{\py@hy t\py@ et{}#1\py@sp{}}
+\def\tei#1{\py@hy t\py@ eti#1i\py@sp{}}
+\def\teng#1{\py@hy t\py@ etn#1ng\py@sp{}}
+\def\ti#1{\py@hy t\py@ it{}#1\py@sp{}}
+\def\tian#1{\py@hy ti\py@ ain#1n\py@sp{}}
+\def\tiao#1{\py@hy ti\py@ aio#1o\py@sp{}}
+\def\tie#1{\py@hy ti\py@ ei{}#1\py@sp{}}
+\def\ting#1{\py@hy t\py@ itn#1ng\py@sp{}}
+\def\tong#1{\py@hy t\py@ otn#1ng\py@sp{}}
+\def\tou#1{\py@hy t\py@ otu#1u\py@sp{}}
+\def\tu#1{\py@hy t\py@ ut{}#1\py@sp{}}
+\def\tuan#1{\py@hy tu\py@ aun#1n\py@sp{}}
+\def\tui#1{\py@hy tu\py@ iu{}#1\py@sp{}}
+\def\tun#1{\py@hy t\py@ utn#1n\py@sp{}}
+\def\tuo#1{\py@hy tu\py@ ou{}#1\py@sp{}}
+
+\def\wa#1{\py@hy w\py@ aw{}#1\py@sp{}}
+\def\wai#1{\py@hy w\py@ awi#1i\py@sp{}}
+\def\wan#1{\py@hy w\py@ awn#1n\py@sp{}}
+\def\wang#1{\py@hy w\py@ awn#1ng\py@sp{}}
+\def\wei#1{\py@hy w\py@ ewi#1i\py@sp{}}
+\def\wen#1{\py@hy w\py@ ewn#1n\py@sp{}}
+\def\weng#1{\py@hy w\py@ ewn#1ng\py@sp{}}
+\def\wo#1{\py@hy w\py@ ow{}#1\py@sp{}}
+\def\wu#1{\py@hy w\py@ uw{}#1\py@sp{}}
+
+\def\py@xi#1{\py@hy x\py@ ix{}#1\py@sp{}}
+\def\xia#1{\py@hy xi\py@ ai{}#1\py@sp{}}
+\def\xian#1{\py@hy xi\py@ ain#1n\py@sp{}}
+\def\xiang#1{\py@hy xi\py@ ain#1ng\py@sp{}}
+\def\xiao#1{\py@hy xi\py@ aio#1o\py@sp{}}
+\def\xie#1{\py@hy xi\py@ ei{}#1\py@sp{}}
+\def\xin#1{\py@hy x\py@ ixn#1n\py@sp{}}
+\def\xing#1{\py@hy x\py@ ixn#1ng\py@sp{}}
+\def\xiong#1{\py@hy xi\py@ oin#1ng\py@sp{}}
+\def\xiu#1{\py@hy xi\py@ ui{}#1\py@sp{}}
+\def\xu#1{\py@hy x\py@ ux{}#1\py@sp{}}
+\def\xuan#1{\py@hy xu\py@ aun#1n\py@sp{}}
+\def\xue#1{\py@hy xu\py@ eu{}#1\py@sp{}}
+\def\xun#1{\py@hy x\py@ uxn#1n\py@sp{}}
+
+\def\ya#1{\py@hy y\py@ ay{}#1\py@sp{}}
+\def\yan#1{\py@hy y\py@ ayn#1n\py@sp{}}
+\def\yang#1{\py@hy y\py@ ayn#1ng\py@sp{}}
+\def\yao#1{\py@hy y\py@ ayo#1o\py@sp{}}
+\def\ye#1{\py@hy y\py@ ey{}#1\py@sp{}}
+\def\yi#1{\py@hy y\py@ iy{}#1\py@sp{}}
+\def\yin#1{\py@hy y\py@ iyn#1n\py@sp{}}
+\def\ying#1{\py@hy y\py@ iyn#1ng\py@sp{}}
+\def\yo#1{\py@hy y\py@ oy{}#1\py@sp{}}
+\def\yong#1{\py@hy y\py@ oyn#1ng\py@sp{}}
+\def\you#1{\py@hy y\py@ oyu#1u\py@sp{}}
+\def\yu#1{\py@hy y\py@ uy{}#1\py@sp{}}
+\def\yuan#1{\py@hy yu\py@ aun#1n\py@sp{}}
+\def\yue#1{\py@hy yu\py@ eu{}#1\py@sp{}}
+\def\yun#1{\py@hy y\py@ uyn#1n\py@sp{}}
+
+\def\za#1{\py@hy z\py@ az{}#1\py@sp{}}
+\def\zai#1{\py@hy z\py@ azi#1i\py@sp{}}
+\def\zan#1{\py@hy z\py@ azn#1n\py@sp{}}
+\def\zang#1{\py@hy z\py@ azn#1ng\py@sp{}}
+\def\zao#1{\py@hy z\py@ azo#1o\py@sp{}}
+\def\ze#1{\py@hy z\py@ ez{}#1\py@sp{}}
+\def\zei#1{\py@hy z\py@ ezi#1i\py@sp{}}
+\def\zen#1{\py@hy z\py@ ezn#1n\py@sp{}}
+\def\zeng#1{\py@hy z\py@ ezn#1ng\py@sp{}}
+\def\zha#1{\py@hy zh\py@ ah{}#1\py@sp{}}
+\def\zhai#1{\py@hy zh\py@ ahi#1i\py@sp{}}
+\def\zhan#1{\py@hy zh\py@ ahn#1n\py@sp{}}
+\def\zhang#1{\py@hy zh\py@ ahn#1ng\py@sp{}}
+\def\zhao#1{\py@hy zh\py@ aho#1o\py@sp{}}
+\def\zhe#1{\py@hy zh\py@ eh{}#1\py@sp{}}
+\def\zhei#1{\py@hy zh\py@ ehi#1i\py@sp{}}
+\def\zhen#1{\py@hy zh\py@ ehn#1n\py@sp{}}
+\def\zheng#1{\py@hy zh\py@ ehn#1ng\py@sp{}}
+\def\zhi#1{\py@hy zh\py@ ih{}#1\py@sp{}}
+\def\zhong#1{\py@hy zh\py@ ohn#1ng\py@sp{}}
+\def\zhou#1{\py@hy zh\py@ ohu#1u\py@sp{}}
+\def\zhu#1{\py@hy zh\py@ uh{}#1\py@sp{}}
+\def\zhua#1{\py@hy zhu\py@ au{}#1\py@sp{}}
+\def\zhuai#1{\py@hy zhu\py@ aui#1i\py@sp{}}
+\def\zhuan#1{\py@hy zhu\py@ aun#1n\py@sp{}}
+\def\zhuang#1{\py@hy zhu\py@ aun#1ng\py@sp{}}
+\def\zhui#1{\py@hy zhu\py@ iu{}#1\py@sp{}}
+\def\zhun#1{\py@hy zh\py@ uhn#1n\py@sp{}}
+\def\zhuo#1{\py@hy zhu\py@ ou{}#1\py@sp{}}
+\def\zi#1{\py@hy z\py@ iz{}#1\py@sp{}}
+\def\zong#1{\py@hy z\py@ ozn#1ng\py@sp{}}
+\def\zou#1{\py@hy z\py@ ozu#1u\py@sp{}}
+\def\zu#1{\py@hy z\py@ uz{}#1\py@sp{}}
+\def\zuan#1{\py@hy zu\py@ aun#1n\py@sp{}}
+\def\zui#1{\py@hy zu\py@ iu{}#1\py@sp{}}
+\def\zun#1{\py@hy z\py@ uzn#1n\py@sp{}}
+\def\zuo#1{\py@hy zu\py@ ou{}#1\py@sp{}}
+
+
+\def\A#1{\py@hy \py@ A{}{}#1\py@sp{}}
+\def\Ai#1{\py@hy \py@ A{}i#1i\py@sp{}}
+\def\An#1{\py@hy \py@ A{}n#1n\py@sp{}}
+\def\Ang#1{\py@hy \py@ A{}n#1ng\py@sp{}}
+\def\Ao#1{\py@hy \py@ A{}o#1o\py@sp{}}
+
+\def\Ba#1{\py@hy B\py@ aB{}#1\py@sp{}}
+\def\Bai#1{\py@hy B\py@ aBi#1i\py@sp{}}
+\def\Ban#1{\py@hy B\py@ aBn#1n\py@sp{}}
+\def\Bang#1{\py@hy B\py@ aBn#1ng\py@sp{}}
+\def\Bao#1{\py@hy B\py@ aBo#1o\py@sp{}}
+\def\Bei#1{\py@hy B\py@ eBi#1i\py@sp{}}
+\def\Ben#1{\py@hy B\py@ eBn#1n\py@sp{}}
+\def\Beng#1{\py@hy B\py@ eBn#1ng\py@sp{}}
+\def\Bi#1{\py@hy B\py@ iB{}#1\py@sp{}}
+\def\Bian#1{\py@hy Bi\py@ ain#1n\py@sp{}}
+\def\Biao#1{\py@hy Bi\py@ aio#1o\py@sp{}}
+\def\Bie#1{\py@hy Bi\py@ ei{}#1\py@sp{}}
+\def\Bin#1{\py@hy B\py@ iBn#1n\py@sp{}}
+\def\Bing#1{\py@hy B\py@ iBn#1ng\py@sp{}}
+\def\Bo#1{\py@hy B\py@ oB{}#1\py@sp{}}
+\def\Bu#1{\py@hy B\py@ uB{}#1\py@sp{}}
+
+\def\Ca#1{\py@hy C\py@ aC{}#1\py@sp{}}
+\def\Cai#1{\py@hy C\py@ aCi#1i\py@sp{}}
+\def\Can#1{\py@hy C\py@ aCn#1n\py@sp{}}
+\def\Cang#1{\py@hy C\py@ aCn#1ng\py@sp{}}
+\def\Cao#1{\py@hy C\py@ aCo#1o\py@sp{}}
+\def\Ce#1{\py@hy C\py@ eC{}#1\py@sp{}}
+\def\Cen#1{\py@hy C\py@ eCn#1n\py@sp{}}
+\def\Ceng#1{\py@hy C\py@ eCn#1ng\py@sp{}}
+\def\Cha#1{\py@hy Ch\py@ ah{}#1\py@sp{}}
+\def\Chai#1{\py@hy Ch\py@ ahi#1i\py@sp{}}
+\def\Chan#1{\py@hy Ch\py@ ahn#1n\py@sp{}}
+\def\Chang#1{\py@hy Ch\py@ ahn#1ng\py@sp{}}
+\def\Chao#1{\py@hy Ch\py@ aho#1o\py@sp{}}
+\def\Che#1{\py@hy Ch\py@ eh{}#1\py@sp{}}
+\def\Chen#1{\py@hy Ch\py@ ehn#1n\py@sp{}}
+\def\Cheng#1{\py@hy Ch\py@ ehn#1ng\py@sp{}}
+\def\Chi#1{\py@hy Ch\py@ ih{}#1\py@sp{}}
+\def\Chong#1{\py@hy Ch\py@ ohn#1ng\py@sp{}}
+\def\Chou#1{\py@hy Ch\py@ ohu#1u\py@sp{}}
+\def\Chu#1{\py@hy Ch\py@ uh{}#1\py@sp{}}
+\def\Chuai#1{\py@hy Chu\py@ aui#1i\py@sp{}}
+\def\Chuan#1{\py@hy Chu\py@ aun#1n\py@sp{}}
+\def\Chuang#1{\py@hy Chu\py@ aun#1ng\py@sp{}}
+\def\Chui#1{\py@hy Chu\py@ iu{}#1\py@sp{}}
+\def\Chun#1{\py@hy Ch\py@ uhn#1n\py@sp{}}
+\def\Chuo#1{\py@hy Chu\py@ ou{}#1\py@sp{}}
+\def\Ci#1{\py@hy C\py@ iC{}#1\py@sp{}}
+\def\Cong#1{\py@hy C\py@ oCn#1ng\py@sp{}}
+\def\Cou#1{\py@hy C\py@ oCu#1u\py@sp{}}
+\def\Cu#1{\py@hy C\py@ uC{}#1\py@sp{}}
+\def\Cuan#1{\py@hy Cu\py@ aun#1n\py@sp{}}
+\def\Cui#1{\py@hy Cu\py@ iu{}#1\py@sp{}}
+\def\Cun#1{\py@hy C\py@ uCn#1n\py@sp{}}
+\def\Cuo#1{\py@hy Cu\py@ ou{}#1\py@sp{}}
+
+\def\Da#1{\py@hy D\py@ aD{}#1\py@sp{}}
+\def\Dai#1{\py@hy D\py@ aDi#1i\py@sp{}}
+\def\Dan#1{\py@hy D\py@ aDn#1n\py@sp{}}
+\def\Dang#1{\py@hy D\py@ aDn#1ng\py@sp{}}
+\def\Dao#1{\py@hy D\py@ aDo#1o\py@sp{}}
+\def\De#1{\py@hy D\py@ eD{}#1\py@sp{}}
+\def\Dei#1{\py@hy D\py@ eDi#1i\py@sp{}}
+\def\Deng#1{\py@hy D\py@ eDn#1ng\py@sp{}}
+\def\Di#1{\py@hy D\py@ iD{}#1\py@sp{}}
+\def\Dian#1{\py@hy Di\py@ ain#1n\py@sp{}}
+\def\Diao#1{\py@hy Di\py@ aio#1o\py@sp{}}
+\def\Die#1{\py@hy Di\py@ ei{}#1\py@sp{}}
+\def\Ding#1{\py@hy D\py@ iDn#1ng\py@sp{}}
+\def\Diu#1{\py@hy Di\py@ ui{}#1\py@sp{}}
+\def\Dong#1{\py@hy D\py@ oDn#1ng\py@sp{}}
+\def\Dou#1{\py@hy D\py@ oDu#1u\py@sp{}}
+\def\Du#1{\py@hy D\py@ uD{}#1\py@sp{}}
+\def\Duan#1{\py@hy Du\py@ aun#1n\py@sp{}}
+\def\Dui#1{\py@hy Du\py@ iu{}#1\py@sp{}}
+\def\Dun#1{\py@hy D\py@ uDn#1n\py@sp{}}
+\def\Duo#1{\py@hy Du\py@ ou{}#1\py@sp{}}
+
+\def\E#1{\py@hy \py@ E{}{}#1\py@sp{}}
+\def\Ei#1{\py@hy \py@ E{}i#1i\py@sp{}}
+\def\En#1{\py@hy \py@ E{}n#1n\py@sp{}}
+\def\Eng#1{\py@hy \py@ E{}n#1ng\py@sp{}}
+\def\Er#1{\py@hy \py@ E{}r#1r\py@sp{}}
+
+\def\Fa#1{\py@hy F\py@ aF{}#1\py@sp{}}
+\def\Fan#1{\py@hy F\py@ aFn#1n\py@sp{}}
+\def\Fang#1{\py@hy F\py@ aFn#1ng\py@sp{}}
+\def\Fei#1{\py@hy F\py@ eFi#1i\py@sp{}}
+\def\Fen#1{\py@hy F\py@ eFn#1n\py@sp{}}
+\def\Feng#1{\py@hy F\py@ eFn#1ng\py@sp{}}
+\def\Fiao#1{\py@hy Fi\py@ aio#1o\py@sp{}}
+\def\Fo#1{\py@hy F\py@ oF{}#1\py@sp{}}
+\def\Fou#1{\py@hy F\py@ oFu#1u\py@sp{}}
+\def\Fu#1{\py@hy F\py@ uF{}#1\py@sp{}}
+
+\def\Ga#1{\py@hy G\py@ aG{}#1\py@sp{}}
+\def\Gai#1{\py@hy G\py@ aGi#1i\py@sp{}}
+\def\Gan#1{\py@hy G\py@ aGn#1n\py@sp{}}
+\def\Gang#1{\py@hy G\py@ aGn#1ng\py@sp{}}
+\def\Gao#1{\py@hy G\py@ aGo#1o\py@sp{}}
+\def\Ge#1{\py@hy G\py@ eG{}#1\py@sp{}}
+\def\Gei#1{\py@hy G\py@ eGi#1i\py@sp{}}
+\def\Gen#1{\py@hy G\py@ eGn#1n\py@sp{}}
+\def\Geng#1{\py@hy G\py@ eGn#1ng\py@sp{}}
+\def\Gong#1{\py@hy G\py@ oGn#1ng\py@sp{}}
+\def\Gou#1{\py@hy G\py@ oGu#1u\py@sp{}}
+\def\Gu#1{\py@hy G\py@ uG{}#1\py@sp{}}
+\def\Gua#1{\py@hy Gu\py@ au{}#1\py@sp{}}
+\def\Guai#1{\py@hy Gu\py@ aui#1i\py@sp{}}
+\def\Guan#1{\py@hy Gu\py@ aun#1n\py@sp{}}
+\def\Guang#1{\py@hy Gu\py@ aun#1ng\py@sp{}}
+\def\Gui#1{\py@hy Gu\py@ iu{}#1\py@sp{}}
+\def\Gun#1{\py@hy G\py@ uGn#1n\py@sp{}}
+\def\Guo#1{\py@hy Gu\py@ ou{}#1\py@sp{}}
+
+\def\Ha#1{\py@hy H\py@ aH{}#1\py@sp{}}
+\def\Hai#1{\py@hy H\py@ aHi#1i\py@sp{}}
+\def\Han#1{\py@hy H\py@ aHn#1n\py@sp{}}
+\def\Hang#1{\py@hy H\py@ aHn#1ng\py@sp{}}
+\def\Hao#1{\py@hy H\py@ aHo#1o\py@sp{}}
+\def\He#1{\py@hy H\py@ eH{}#1\py@sp{}}
+\def\Hei#1{\py@hy H\py@ eHi#1i\py@sp{}}
+\def\Hen#1{\py@hy H\py@ eHn#1n\py@sp{}}
+\def\Heng#1{\py@hy H\py@ eHn#1ng\py@sp{}}
+\def\Hong#1{\py@hy H\py@ oHn#1ng\py@sp{}}
+\def\Hou#1{\py@hy H\py@ oHu#1u\py@sp{}}
+\def\Hu#1{\py@hy H\py@ uH{}#1\py@sp{}}
+\def\Hua#1{\py@hy Hu\py@ au{}#1\py@sp{}}
+\def\Huai#1{\py@hy Hu\py@ aui#1i\py@sp{}}
+\def\Huan#1{\py@hy Hu\py@ aun#1n\py@sp{}}
+\def\Huang#1{\py@hy Hu\py@ aun#1ng\py@sp{}}
+\def\Hui#1{\py@hy Hu\py@ iu{}#1\py@sp{}}
+\def\Hun#1{\py@hy H\py@ uHn#1n\py@sp{}}
+\def\Huo#1{\py@hy Hu\py@ ou{}#1\py@sp{}}
+
+\def\Ji#1{\py@hy J\py@ iJ{}#1\py@sp{}}
+\def\Jia#1{\py@hy Ji\py@ ai{}#1\py@sp{}}
+\def\Jian#1{\py@hy Ji\py@ ain#1n\py@sp{}}
+\def\Jiang#1{\py@hy Ji\py@ ain#1ng\py@sp{}}
+\def\Jiao#1{\py@hy Ji\py@ aio#1o\py@sp{}}
+\def\Jie#1{\py@hy Ji\py@ ei{}#1\py@sp{}}
+\def\Jin#1{\py@hy J\py@ iJn#1n\py@sp{}}
+\def\Jing#1{\py@hy J\py@ iJn#1ng\py@sp{}}
+\def\Jiong#1{\py@hy Ji\py@ oin#1ng\py@sp{}}
+\def\Jiu#1{\py@hy Ji\py@ ui{}#1\py@sp{}}
+\def\Ju#1{\py@hy J\py@ uJ{}#1\py@sp{}}
+\def\Juan#1{\py@hy Ju\py@ aun#1n\py@sp{}}
+\def\Jue#1{\py@hy Ju\py@ eu{}#1\py@sp{}}
+\def\Jun#1{\py@hy J\py@ uJn#1n\py@sp{}}
+
+\def\Ka#1{\py@hy K\py@ aK{}#1\py@sp{}}
+\def\Kai#1{\py@hy K\py@ aKi#1i\py@sp{}}
+\def\Kan#1{\py@hy K\py@ aKn#1n\py@sp{}}
+\def\Kang#1{\py@hy K\py@ aKn#1ng\py@sp{}}
+\def\Kao#1{\py@hy K\py@ aKo#1o\py@sp{}}
+\def\Ke#1{\py@hy K\py@ eK{}#1\py@sp{}}
+\def\Kei#1{\py@hy K\py@ eKi#1i\py@sp{}}
+\def\Ken#1{\py@hy K\py@ eKn#1n\py@sp{}}
+\def\Keng#1{\py@hy K\py@ eKn#1ng\py@sp{}}
+\def\Kong#1{\py@hy K\py@ oKn#1ng\py@sp{}}
+\def\Kou#1{\py@hy K\py@ oKu#1u\py@sp{}}
+\def\Ku#1{\py@hy K\py@ uK{}#1\py@sp{}}
+\def\Kua#1{\py@hy Ku\py@ au{}#1\py@sp{}}
+\def\Kuai#1{\py@hy Ku\py@ aui#1i\py@sp{}}
+\def\Kuan#1{\py@hy Ku\py@ aun#1n\py@sp{}}
+\def\Kuang#1{\py@hy Ku\py@ aun#1ng\py@sp{}}
+\def\Kui#1{\py@hy Ku\py@ iu{}#1\py@sp{}}
+\def\Kun#1{\py@hy K\py@ uKn#1n\py@sp{}}
+\def\Kuo#1{\py@hy Ku\py@ ou{}#1\py@sp{}}
+
+\def\La#1{\py@hy L\py@ aL{}#1\py@sp{}}
+\def\Lai#1{\py@hy L\py@ aLi#1i\py@sp{}}
+\def\Lan#1{\py@hy L\py@ aLn#1n\py@sp{}}
+\def\Lang#1{\py@hy L\py@ aLn#1ng\py@sp{}}
+\def\Lao#1{\py@hy L\py@ aLo#1o\py@sp{}}
+\def\Le#1{\py@hy L\py@ eL{}#1\py@sp{}}
+\def\Lei#1{\py@hy L\py@ eLi#1i\py@sp{}}
+\def\Leng#1{\py@hy L\py@ eLn#1ng\py@sp{}}
+\def\Li#1{\py@hy L\py@ iL{}#1\py@sp{}}
+\def\Lia#1{\py@hy Li\py@ ai{}#1\py@sp{}}
+\def\Lian#1{\py@hy Li\py@ ain#1n\py@sp{}}
+\def\Liang#1{\py@hy Li\py@ ain#1ng\py@sp{}}
+\def\Liao#1{\py@hy Li\py@ aio#1o\py@sp{}}
+\def\Lie#1{\py@hy Li\py@ ei{}#1\py@sp{}}
+\def\Lin#1{\py@hy L\py@ iLn#1n\py@sp{}}
+\def\Ling#1{\py@hy L\py@ iLn#1ng\py@sp{}}
+\def\Liu#1{\py@hy Li\py@ ui{}#1\py@sp{}}
+\def\LONG#1{\py@hy L\py@ oLn#1ng\py@sp{}}
+\def\Lou#1{\py@hy L\py@ oLu#1u\py@sp{}}
+\def\Lu#1{\py@hy L\py@ uL{}#1\py@sp{}}
+\def\Luan#1{\py@hy Lu\py@ aun#1n\py@sp{}}
+\def\Lun#1{\py@hy L\py@ uLn#1n\py@sp{}}
+\def\Luo#1{\py@hy Lu\py@ ou{}#1\py@sp{}}
+\def\Lv#1{\py@hy L\py@ vL{}#1\py@sp{}}
+\def\Lve#1{\py@hy L\"{u}\py@ eLe#1\py@sp{}}
+
+\def\Ma#1{\py@hy M\py@ aM{}#1\py@sp{}}
+\def\Mai#1{\py@hy M\py@ aMi#1i\py@sp{}}
+\def\Man#1{\py@hy M\py@ aMn#1n\py@sp{}}
+\def\Mang#1{\py@hy M\py@ aMn#1ng\py@sp{}}
+\def\Mao#1{\py@hy M\py@ aMo#1o\py@sp{}}
+\def\Mei#1{\py@hy M\py@ eMi#1i\py@sp{}}
+\def\Men#1{\py@hy M\py@ eMn#1n\py@sp{}}
+\def\Meng#1{\py@hy M\py@ eMn#1ng\py@sp{}}
+\def\Mi#1{\py@hy M\py@ iM{}#1\py@sp{}}
+\def\Mian#1{\py@hy Mi\py@ ain#1n\py@sp{}}
+\def\Miao#1{\py@hy Mi\py@ aio#1o\py@sp{}}
+\def\Mie#1{\py@hy Mi\py@ ei{}#1\py@sp{}}
+\def\Min#1{\py@hy M\py@ iMn#1n\py@sp{}}
+\def\Ming#1{\py@hy M\py@ iMn#1ng\py@sp{}}
+\def\Miu#1{\py@hy Mi\py@ ui{}#1\py@sp{}}
+\def\Mo#1{\py@hy M\py@ oM{}#1\py@sp{}}
+\def\Mou#1{\py@hy M\py@ oMu#1u\py@sp{}}
+\def\Mu#1{\py@hy M\py@ uM{}#1\py@sp{}}
+
+\def\Na#1{\py@hy N\py@ aN{}#1\py@sp{}}
+\def\Nai#1{\py@hy N\py@ aNi#1i\py@sp{}}
+\def\Nan#1{\py@hy N\py@ aNn#1n\py@sp{}}
+\def\Nang#1{\py@hy N\py@ aNn#1ng\py@sp{}}
+\def\Nao#1{\py@hy N\py@ aNo#1o\py@sp{}}
+\def\Ne#1{\py@hy N\py@ eN{}#1\py@sp{}}
+\def\Nei#1{\py@hy N\py@ eNi#1i\py@sp{}}
+\def\Nen#1{\py@hy N\py@ eNn#1n\py@sp{}}
+\def\Neng#1{\py@hy N\py@ eNn#1ng\py@sp{}}
+\def\Ni#1{\py@hy N\py@ iN{}#1\py@sp{}}
+\def\Nian#1{\py@hy Ni\py@ ain#1n\py@sp{}}
+\def\Niang#1{\py@hy Ni\py@ ain#1ng\py@sp{}}
+\def\Niao#1{\py@hy Ni\py@ aio#1o\py@sp{}}
+\def\Nie#1{\py@hy Ni\py@ ei{}#1\py@sp{}}
+\def\Nin#1{\py@hy N\py@ iNn#1n\py@sp{}}
+\def\Ning#1{\py@hy N\py@ iNn#1ng\py@sp{}}
+\def\Niu#1{\py@hy Ni\py@ ui{}#1\py@sp{}}
+\def\Nong#1{\py@hy N\py@ oNn#1ng\py@sp{}}
+\def\Nou#1{\py@hy N\py@ oNu#1u\py@sp{}}
+\def\Nu#1{\py@hy N\py@ uN{}#1\py@sp{}}
+\def\Nuan#1{\py@hy Nu\py@ aun#1n\py@sp{}}
+\def\Nuo#1{\py@hy Nu\py@ ou{}#1\py@sp{}}
+\def\Nv#1{\py@hy N\py@ vN{}#1\py@sp{}}
+\def\Nve#1{\py@hy N\"{u}\py@ eNe#1\py@sp{}}
+
+\def\py@@O#1{\py@hy \py@ O{}{}#1\py@sp{}}
+\def\Ou#1{\py@hy \py@ O{}u#1u\py@sp{}}
+
+\def\Pa#1{\py@hy P\py@ aP{}#1\py@sp{}}
+\def\Pai#1{\py@hy P\py@ aPi#1i\py@sp{}}
+\def\Pan#1{\py@hy P\py@ aPn#1n\py@sp{}}
+\def\Pang#1{\py@hy P\py@ aPn#1ng\py@sp{}}
+\def\Pao#1{\py@hy P\py@ aPo#1o\py@sp{}}
+\def\Pei#1{\py@hy P\py@ ePi#1i\py@sp{}}
+\def\Pen#1{\py@hy P\py@ ePn#1n\py@sp{}}
+\def\Peng#1{\py@hy P\py@ ePn#1ng\py@sp{}}
+\def\py@Pi#1{\py@hy P\py@ iP{}#1\py@sp{}}
+\def\Pian#1{\py@hy Pi\py@ ain#1n\py@sp{}}
+\def\Piao#1{\py@hy Pi\py@ aio#1o\py@sp{}}
+\def\Pie#1{\py@hy Pi\py@ ei{}#1\py@sp{}}
+\def\Pin#1{\py@hy P\py@ iPn#1n\py@sp{}}
+\def\Ping#1{\py@hy P\py@ iPn#1ng\py@sp{}}
+\def\Po#1{\py@hy P\py@ oP{}#1\py@sp{}}
+\def\Pou#1{\py@hy P\py@ oPu#1u\py@sp{}}
+\def\Pu#1{\py@hy P\py@ uP{}#1\py@sp{}}
+
+\def\Qi#1{\py@hy Q\py@ iQ{}#1\py@sp{}}
+\def\Qia#1{\py@hy Qi\py@ ai{}#1\py@sp{}}
+\def\Qian#1{\py@hy Qi\py@ ain#1n\py@sp{}}
+\def\Qiang#1{\py@hy Qi\py@ ain#1ng\py@sp{}}
+\def\Qiao#1{\py@hy Qi\py@ aio#1o\py@sp{}}
+\def\Qie#1{\py@hy Qi\py@ ei{}#1\py@sp{}}
+\def\Qin#1{\py@hy Q\py@ iQn#1n\py@sp{}}
+\def\Qing#1{\py@hy Q\py@ iQn#1ng\py@sp{}}
+\def\Qiong#1{\py@hy Qi\py@ oin#1ng\py@sp{}}
+\def\Qiu#1{\py@hy Qi\py@ ui{}#1\py@sp{}}
+\def\Qu#1{\py@hy Q\py@ uQ{}#1\py@sp{}}
+\def\Quan#1{\py@hy Qu\py@ aun#1n\py@sp{}}
+\def\Que#1{\py@hy Qu\py@ eu{}#1\py@sp{}}
+\def\Qun#1{\py@hy Q\py@ uQn#1n\py@sp{}}
+
+\def\Ran#1{\py@hy R\py@ aRn#1n\py@sp{}}
+\def\Rang#1{\py@hy R\py@ aRn#1ng\py@sp{}}
+\def\Rao#1{\py@hy R\py@ aRo#1o\py@sp{}}
+\def\py@Re#1{\py@hy R\py@ eR{}#1\py@sp{}}
+\def\Ren#1{\py@hy R\py@ eRn#1n\py@sp{}}
+\def\Reng#1{\py@hy R\py@ eRn#1ng\py@sp{}}
+\def\Ri#1{\py@hy R\py@ iR{}#1\py@sp{}}
+\def\Rong#1{\py@hy R\py@ oRn#1ng\py@sp{}}
+\def\Rou#1{\py@hy R\py@ oRu#1u\py@sp{}}
+\def\Ru#1{\py@hy R\py@ uR{}#1\py@sp{}}
+\def\Ruan#1{\py@hy Ru\py@ aun#1n\py@sp{}}
+\def\Rui#1{\py@hy Ru\py@ iu{}#1\py@sp{}}
+\def\Run#1{\py@hy R\py@ uRn#1n\py@sp{}}
+\def\Ruo#1{\py@hy Ru\py@ ou{}#1\py@sp{}}
+
+\def\Sa#1{\py@hy S\py@ aS{}#1\py@sp{}}
+\def\Sai#1{\py@hy S\py@ aSi#1i\py@sp{}}
+\def\San#1{\py@hy S\py@ aSn#1n\py@sp{}}
+\def\Sang#1{\py@hy S\py@ aSn#1ng\py@sp{}}
+\def\Sao#1{\py@hy S\py@ aSo#1o\py@sp{}}
+\def\Se#1{\py@hy S\py@ eS{}#1\py@sp{}}
+\def\Sen#1{\py@hy S\py@ eSn#1n\py@sp{}}
+\def\Seng#1{\py@hy S\py@ eSn#1ng\py@sp{}}
+\def\Sha#1{\py@hy Sh\py@ ah{}#1\py@sp{}}
+\def\Shai#1{\py@hy Sh\py@ ahi#1i\py@sp{}}
+\def\Shan#1{\py@hy Sh\py@ ahn#1n\py@sp{}}
+\def\Shang#1{\py@hy Sh\py@ ahn#1ng\py@sp{}}
+\def\Shao#1{\py@hy Sh\py@ aho#1o\py@sp{}}
+\def\She#1{\py@hy Sh\py@ eh{}#1\py@sp{}}
+\def\Shei#1{\py@hy Sh\py@ ehi#1i\py@sp{}}
+\def\Shen#1{\py@hy Sh\py@ ehn#1n\py@sp{}}
+\def\Sheng#1{\py@hy Sh\py@ ehn#1ng\py@sp{}}
+\def\Shi#1{\py@hy Sh\py@ ih{}#1\py@sp{}}
+\def\Shou#1{\py@hy Sh\py@ ohu#1u\py@sp{}}
+\def\Shu#1{\py@hy Sh\py@ uh{}#1\py@sp{}}
+\def\Shua#1{\py@hy Shu\py@ au{}#1\py@sp{}}
+\def\Shuai#1{\py@hy Shu\py@ aui#1i\py@sp{}}
+\def\Shuan#1{\py@hy Shu\py@ aun#1n\py@sp{}}
+\def\Shuang#1{\py@hy Shu\py@ aun#1ng\py@sp{}}
+\def\Shui#1{\py@hy Shu\py@ iu{}#1\py@sp{}}
+\def\Shun#1{\py@hy Sh\py@ uhn#1n\py@sp{}}
+\def\Shuo#1{\py@hy Shu\py@ ou{}#1\py@sp{}}
+\def\Si#1{\py@hy S\py@ iS{}#1\py@sp{}}
+\def\Song#1{\py@hy S\py@ oSn#1ng\py@sp{}}
+\def\Sou#1{\py@hy S\py@ oSu#1u\py@sp{}}
+\def\Su#1{\py@hy S\py@ uS{}#1\py@sp{}}
+\def\Suan#1{\py@hy Su\py@ aun#1n\py@sp{}}
+\def\Sui#1{\py@hy Su\py@ iu{}#1\py@sp{}}
+\def\Sun#1{\py@hy S\py@ uSn#1n\py@sp{}}
+\def\Suo#1{\py@hy Su\py@ ou{}#1\py@sp{}}
+
+\def\Ta#1{\py@hy T\py@ aT{}#1\py@sp{}}
+\def\Tai#1{\py@hy T\py@ aTi#1i\py@sp{}}
+\def\Tan#1{\py@hy T\py@ aTn#1n\py@sp{}}
+\def\Tang#1{\py@hy T\py@ aTn#1ng\py@sp{}}
+\def\Tao#1{\py@hy T\py@ aTo#1o\py@sp{}}
+\def\Te#1{\py@hy T\py@ eT{}#1\py@sp{}}
+\def\Tei#1{\py@hy T\py@ eTi#1i\py@sp{}}
+\def\Teng#1{\py@hy T\py@ eTn#1ng\py@sp{}}
+\def\Ti#1{\py@hy T\py@ iT{}#1\py@sp{}}
+\def\Tian#1{\py@hy Ti\py@ ain#1n\py@sp{}}
+\def\Tiao#1{\py@hy Ti\py@ aio#1o\py@sp{}}
+\def\Tie#1{\py@hy Ti\py@ ei{}#1\py@sp{}}
+\def\Ting#1{\py@hy T\py@ iTn#1ng\py@sp{}}
+\def\Tong#1{\py@hy T\py@ oTn#1ng\py@sp{}}
+\def\Tou#1{\py@hy T\py@ oTu#1u\py@sp{}}
+\def\Tu#1{\py@hy T\py@ uT{}#1\py@sp{}}
+\def\Tuan#1{\py@hy Tu\py@ aun#1n\py@sp{}}
+\def\Tui#1{\py@hy Tu\py@ iu{}#1\py@sp{}}
+\def\Tun#1{\py@hy T\py@ uTn#1n\py@sp{}}
+\def\Tuo#1{\py@hy Tu\py@ ou{}#1\py@sp{}}
+
+\def\Wa#1{\py@hy W\py@ aW{}#1\py@sp{}}
+\def\Wai#1{\py@hy W\py@ aWi#1i\py@sp{}}
+\def\Wan#1{\py@hy W\py@ aWn#1n\py@sp{}}
+\def\Wang#1{\py@hy W\py@ aWn#1ng\py@sp{}}
+\def\Wei#1{\py@hy W\py@ eWi#1i\py@sp{}}
+\def\Wen#1{\py@hy W\py@ eWn#1n\py@sp{}}
+\def\Weng#1{\py@hy W\py@ eWn#1ng\py@sp{}}
+\def\Wo#1{\py@hy W\py@ oW{}#1\py@sp{}}
+\def\Wu#1{\py@hy W\py@ uW{}#1\py@sp{}}
+
+\def\py@Xi#1{\py@hy X\py@ iX{}#1\py@sp{}}
+\def\Xia#1{\py@hy Xi\py@ ai{}#1\py@sp{}}
+\def\Xian#1{\py@hy Xi\py@ ain#1n\py@sp{}}
+\def\Xiang#1{\py@hy Xi\py@ ain#1ng\py@sp{}}
+\def\Xiao#1{\py@hy Xi\py@ aio#1o\py@sp{}}
+\def\Xie#1{\py@hy Xi\py@ ei{}#1\py@sp{}}
+\def\Xin#1{\py@hy X\py@ iXn#1n\py@sp{}}
+\def\Xing#1{\py@hy X\py@ iXn#1ng\py@sp{}}
+\def\Xiong#1{\py@hy Xi\py@ oin#1ng\py@sp{}}
+\def\Xiu#1{\py@hy Xi\py@ ui{}#1\py@sp{}}
+\def\Xu#1{\py@hy X\py@ uX{}#1\py@sp{}}
+\def\Xuan#1{\py@hy Xu\py@ aun#1n\py@sp{}}
+\def\Xue#1{\py@hy Xu\py@ eu{}#1\py@sp{}}
+\def\Xun#1{\py@hy X\py@ uXn#1n\py@sp{}}
+
+\def\Ya#1{\py@hy Y\py@ aY{}#1\py@sp{}}
+\def\Yan#1{\py@hy Y\py@ aYn#1n\py@sp{}}
+\def\Yang#1{\py@hy Y\py@ aYn#1ng\py@sp{}}
+\def\Yao#1{\py@hy Y\py@ aYo#1o\py@sp{}}
+\def\Ye#1{\py@hy Y\py@ eY{}#1\py@sp{}}
+\def\Yi#1{\py@hy Y\py@ iY{}#1\py@sp{}}
+\def\Yin#1{\py@hy Y\py@ iYn#1n\py@sp{}}
+\def\Ying#1{\py@hy Y\py@ iYn#1ng\py@sp{}}
+\def\Yo#1{\py@hy Y\py@ oY{}#1\py@sp{}}
+\def\Yong#1{\py@hy Y\py@ oYn#1ng\py@sp{}}
+\def\You#1{\py@hy Y\py@ oYu#1u\py@sp{}}
+\def\Yu#1{\py@hy Y\py@ uY{}#1\py@sp{}}
+\def\Yuan#1{\py@hy Yu\py@ aun#1n\py@sp{}}
+\def\Yue#1{\py@hy Yu\py@ eu{}#1\py@sp{}}
+\def\Yun#1{\py@hy Y\py@ uYn#1n\py@sp{}}
+
+\def\Za#1{\py@hy Z\py@ aZ{}#1\py@sp{}}
+\def\Zai#1{\py@hy Z\py@ aZi#1i\py@sp{}}
+\def\Zan#1{\py@hy Z\py@ aZn#1n\py@sp{}}
+\def\Zang#1{\py@hy Z\py@ aZn#1ng\py@sp{}}
+\def\Zao#1{\py@hy Z\py@ aZo#1o\py@sp{}}
+\def\Ze#1{\py@hy Z\py@ eZ{}#1\py@sp{}}
+\def\Zei#1{\py@hy Z\py@ eZi#1i\py@sp{}}
+\def\Zen#1{\py@hy Z\py@ eZn#1n\py@sp{}}
+\def\Zeng#1{\py@hy Z\py@ eZn#1ng\py@sp{}}
+\def\Zha#1{\py@hy Zh\py@ ah{}#1\py@sp{}}
+\def\Zhai#1{\py@hy Zh\py@ ahi#1i\py@sp{}}
+\def\Zhan#1{\py@hy Zh\py@ ahn#1n\py@sp{}}
+\def\Zhang#1{\py@hy Zh\py@ ahn#1ng\py@sp{}}
+\def\Zhao#1{\py@hy Zh\py@ aho#1o\py@sp{}}
+\def\Zhe#1{\py@hy Zh\py@ eh{}#1\py@sp{}}
+\def\Zhei#1{\py@hy Zh\py@ ehi#1i\py@sp{}}
+\def\Zhen#1{\py@hy Zh\py@ ehn#1n\py@sp{}}
+\def\Zheng#1{\py@hy Zh\py@ ehn#1ng\py@sp{}}
+\def\Zhi#1{\py@hy Zh\py@ ih{}#1\py@sp{}}
+\def\Zhong#1{\py@hy Zh\py@ ohn#1ng\py@sp{}}
+\def\Zhou#1{\py@hy Zh\py@ ohu#1u\py@sp{}}
+\def\Zhu#1{\py@hy Zh\py@ uh{}#1\py@sp{}}
+\def\Zhua#1{\py@hy Zhu\py@ au{}#1\py@sp{}}
+\def\Zhuai#1{\py@hy Zhu\py@ aui#1i\py@sp{}}
+\def\Zhuan#1{\py@hy Zhu\py@ aun#1n\py@sp{}}
+\def\Zhuang#1{\py@hy Zhu\py@ aun#1ng\py@sp{}}
+\def\Zhui#1{\py@hy Zhu\py@ iu{}#1\py@sp{}}
+\def\Zhun#1{\py@hy Zh\py@ uhn#1n\py@sp{}}
+\def\Zhuo#1{\py@hy Zhu\py@ ou{}#1\py@sp{}}
+\def\Zi#1{\py@hy Z\py@ iZ{}#1\py@sp{}}
+\def\Zong#1{\py@hy Z\py@ oZn#1ng\py@sp{}}
+\def\Zou#1{\py@hy Z\py@ oZu#1u\py@sp{}}
+\def\Zu#1{\py@hy Z\py@ uZ{}#1\py@sp{}}
+\def\Zuan#1{\py@hy Zu\py@ aun#1n\py@sp{}}
+\def\Zui#1{\py@hy Zu\py@ iu{}#1\py@sp{}}
+\def\Zun#1{\py@hy Z\py@ uZn#1n\py@sp{}}
+\def\Zuo#1{\py@hy Zu\py@ ou{}#1\py@sp{}}
+
+
+% We enable all pinyin syllables as the default.
+
+\PYactivate
+
+
+\endlinechar `\^^M
+\catcode`@=12
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/pmC.chr b/Master/texmf-dist/tex/latex/cjk/pmC.chr
new file mode 100644
index 00000000000..4585939b244
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/pmC.chr
@@ -0,0 +1,98 @@
+% This is the file pmC.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{pmC.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling pmC fonts and characters.
+
+\gdef\CJK@pmCChr{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \CJKsymbol{\@tempcnta}
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \CJKpunctsymbol{\@tempcnta}
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/pmCbig.enc b/Master/texmf-dist/tex/latex/cjk/pmCbig.enc
new file mode 100644
index 00000000000..0539de73386
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/pmCbig.enc
@@ -0,0 +1,133 @@
+% This is the file pmCbig.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{pmCbig.enc}[\filedate\space\fileversion]
+
+
+% old poor man's Chinese encoding:
+% each plane gets an own font (Big 5, GB, JIS etc.).
+
+% big size:
+
+\gdef\CJK@pmCbigEncoding{
+ \CJK@loadChr{pmC}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{a1}{-128}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{a2}{-128}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctchar{A3}{a3}{-128}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{a4}{-128}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{a5}{-128}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char{a6}{-128}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char{a7}{-128}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char{a8}{-128}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@char{a9}{-128}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char{aa}{-128}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@char{ab}{-128}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char{ac}{-128}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char{ad}{-128}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@char{ae}{-128}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char{af}{-128}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char{b0}{-128}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char{b1}{-128}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char{b2}{-128}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char{b3}{-128}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char{b4}{-128}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char{b5}{-128}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char{b6}{-128}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char{b7}{-128}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char{b8}{-128}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char{b9}{-128}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char{ba}{-128}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char{bb}{-128}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char{bc}{-128}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char{bd}{-128}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char{be}{-128}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char{bf}{-128}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char{c0}{-128}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char{c1}{-128}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char{c2}{-128}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char{c3}{-128}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char{c4}{-128}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char{c5}{-128}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char{c6}{-128}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char{c7}{-128}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char{c8}{-128}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char{c9}{-128}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char{ca}{-128}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char{cb}{-128}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char{cc}{-128}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char{cd}{-128}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char{ce}{-128}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char{cf}{-128}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char{d0}{-128}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char{d1}{-128}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@char{d2}{-128}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char{d3}{-128}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char{d4}{-128}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char{d5}{-128}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char{d6}{-128}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char{d7}{-128}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char{d8}{-128}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char{d9}{-128}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@char{da}{-128}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char{db}{-128}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char{dc}{-128}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char{dd}{-128}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char{de}{-128}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char{df}{-128}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char{e0}{-128}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char{e1}{-128}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char{e2}{-128}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char{e3}{-128}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char{e4}{-128}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@char{e5}{-128}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char{e6}{-128}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char{e7}{-128}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char{e8}{-128}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char{e9}{-128}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char{ea}{-128}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char{eb}{-128}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char{ec}{-128}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@char{ed}{-128}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char{ee}{-128}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char{ef}{-128}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char{f0}{-128}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char{f1}{-128}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char{f2}{-128}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char{f3}{-128}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char{f4}{-128}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@char{f5}{-128}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char{f6}{-128}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char{f7}{-128}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@char{f8}{-128}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char{f9}{-128}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@char{fa}{-128}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char{fb}{-128}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char{fc}{-128}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@char{fd}{-128}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char{fe}{-128}{##1}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/pmCsmall.enc b/Master/texmf-dist/tex/latex/cjk/pmCsmall.enc
new file mode 100644
index 00000000000..a658562b2ac
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/pmCsmall.enc
@@ -0,0 +1,133 @@
+% This is the file pmCsmall.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{pmCsmall.enc}[\filedate\space\fileversion]
+
+
+% old poor man's Chinese encoding:
+% each plane gets an own font (Big 5, GB, JIS etc.).
+
+% small size:
+
+\gdef\CJK@pmCsmallEncoding{
+ \CJK@loadChr{pmC}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{a1}{0}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{a2}{0}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctchar{A3}{a3}{0}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{a4}{0}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{a5}{0}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char{a6}{0}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char{a7}{0}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char{a8}{0}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@char{a9}{0}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char{aa}{0}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@char{ab}{0}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char{ac}{0}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char{ad}{0}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@char{ae}{0}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char{af}{0}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char{b0}{0}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char{b1}{0}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char{b2}{0}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char{b3}{0}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char{b4}{0}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char{b5}{0}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char{b6}{0}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char{b7}{0}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char{b8}{0}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char{b9}{0}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char{ba}{0}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char{bb}{0}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char{bc}{0}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char{bd}{0}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char{be}{0}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char{bf}{0}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char{c0}{0}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char{c1}{0}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char{c2}{0}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char{c3}{0}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char{c4}{0}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char{c5}{0}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char{c6}{0}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char{c7}{0}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char{c8}{0}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char{c9}{0}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char{ca}{0}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char{cb}{0}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char{cc}{0}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char{cd}{0}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char{ce}{0}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char{cf}{0}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char{d0}{0}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char{d1}{0}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@char{d2}{0}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char{d3}{0}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char{d4}{0}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char{d5}{0}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char{d6}{0}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char{d7}{0}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char{d8}{0}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char{d9}{0}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@char{da}{0}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char{db}{0}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char{dc}{0}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char{dd}{0}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char{de}{0}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char{df}{0}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char{e0}{0}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char{e1}{0}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char{e2}{0}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char{e3}{0}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char{e4}{0}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@char{e5}{0}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char{e6}{0}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char{e7}{0}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char{e8}{0}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char{e9}{0}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char{ea}{0}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char{eb}{0}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char{ec}{0}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@char{ed}{0}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char{ee}{0}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char{ef}{0}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char{f0}{0}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char{f1}{0}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char{f2}{0}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char{f3}{0}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char{f4}{0}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@char{f5}{0}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char{f6}{0}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char{f7}{0}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@char{f8}{0}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char{f9}{0}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@char{fa}{0}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char{fb}{0}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char{fc}{0}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@char{fd}{0}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char{fe}{0}{##1}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/ruby.sty b/Master/texmf-dist/tex/latex/cjk/ruby.sty
new file mode 100644
index 00000000000..6770c3b08d1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/ruby.sty
@@ -0,0 +1,171 @@
+% This is the file ruby.sty of the CJK package
+% for displaying ruby (i.e. furigana).
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesPackage{ruby}[\filedate\space\fileversion]
+
+
+\RequirePackage{CJK}[1996/11/20]
+
+\newif\ifruby@overlap@
+\newif\ifruby@CJK@
+
+\DeclareOption{overlap}{\ruby@overlap@true}
+\DeclareOption{nooverlap}{\ruby@overlap@false}
+\DeclareOption{CJK}{\ruby@CJK@true}
+\DeclareOption{latin}{\ruby@CJK@false}
+
+\ExecuteOptions{overlap, CJK}
+
+\ProcessOptions
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+% to get a small separation between adjacent lines.
+
+\lineskiplimit 1pt
+
+
+\newdimen\ruby@width
+\edef\ruby@kern{\kern -5sp\kern 5sp}
+
+\newcommand{\rubysize}{0.4}
+\newcommand{\rubysep}{-0.5ex}
+\newcommand{\rubyoverlap}{\ruby@overlap@true}
+\newcommand{\rubynooverlap}{\ruby@overlap@false}
+\newcommand{\rubyCJK}{\ruby@CJK@true}
+\newcommand{\rubylatin}{\ruby@CJK@false}
+
+
+% #1 is the base character; #2 is the ruby.
+
+\DeclareRobustCommand{\ruby}[2]{
+ {\@tempdimc \f@size\p@
+ \@tempdimc \rubysize\@tempdimc
+ \sbox\z@{\vrule\@height.7\baselineskip\@depth\z@\@width\z@ #1}
+ \sbox\@tempboxa{\fontsize{\@tempdimc}{1.2\@tempdimc}\selectfont
+ \vrule\@height\z@\@depth.3\baselineskip\@width\z@ #2}
+
+ \@tempdimb\ruby@width
+
+ \global\ruby@width \wd\@tempboxa
+ \global\advance\ruby@width -\wd\z@
+ \global\divide\ruby@width \tw@
+ \ifdim\ruby@width > \z@
+ \else
+ \global\ruby@width \z@
+ \fi
+
+ % we first compute the box of the ruby with its base character(s).
+ \ifruby@overlap@
+ \setbox\@tempboxa \vbox{
+ \hbox to \wd0{\hss \box\@tempboxa \hss}
+ \nointerlineskip
+ \kern\rubysep
+ \box\z@}
+ \else
+ \ifdim\ruby@width > \z@
+ \@tempdima \wd\@tempboxa
+ \else
+ \@tempdima \wd\z@
+ \fi
+ \setbox\@tempboxa \vbox{
+ \hbox to \@tempdima{\hss \box\@tempboxa \hss}
+ \nointerlineskip
+ \kern\rubysep
+ \hbox to \@tempdima{\hss \box\z@ \hss}}
+ \fi
+
+ % are we at the beginning of a paragraph?
+ \ifvmode
+ \leavevmode
+ \ifruby@overlap@
+ \kern\ruby@width
+ \fi
+ \else
+
+ % has previous character a ruby?
+ \ifnum\lastkern = 5% \ruby@kern
+ \kern\@tempdimb
+ \ifruby@CJK@
+ \nobreak
+ \CJKglue
+ \nobreak
+ \fi
+ \ifruby@overlap@
+ \kern\ruby@width
+ \fi
+ \else
+
+ \ifruby@CJK@
+
+ % is previous character an ordinary CJK character?
+ \ifnum\lastkern = \@ne% \CJK@CJK
+ \ifdim\ruby@width > \z@
+ \nobreak
+ \CJKglue
+ \nobreak
+ \else
+ \CJKglue
+ \fi
+ \else
+
+ % is previous character a punctuation character?
+ \ifnum\lastkern = \tw@% \CJK@kern
+ \nobreak
+ \CJKglue
+ \nobreak
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+
+ \box\@tempboxa
+
+ \ruby@kern
+ \ifdim\ruby@width > \z@
+ \ifruby@overlap@
+ \else
+ \global\ruby@width\z@
+ \fi
+ \else
+ \global\ruby@width\z@
+ \fi}
+
+ \ifruby@CJK@
+ \ignorespaces
+ \fi}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/standard.bdg b/Master/texmf-dist/tex/latex/cjk/standard.bdg
new file mode 100644
index 00000000000..162715b9975
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/standard.bdg
@@ -0,0 +1,161 @@
+% This is the file standard.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{standard.bdg}[\filedate\space\fileversion]
+
+
+% The standard bindings for two byte encodings.
+
+\gdef\CJK@standardBinding{
+% 80 % used with cjk-enc.el/CEF
+ \CJK@nameppdef{^^81}
+ \CJK@nameppdef{^^82}
+ \CJK@nameppdef{^^83}
+ \CJK@nameppdef{^^84}
+ \CJK@nameppdef{^^85}
+ \CJK@nameppdef{^^86}
+ \CJK@nameppdef{^^87}
+ \CJK@nameppdef{^^88}
+ \CJK@nameppdef{^^89}
+ \CJK@nameppdef{^^8a}
+ \CJK@nameppdef{^^8b}
+ \CJK@nameppdef{^^8c}
+ \CJK@nameppdef{^^8d}
+ \CJK@nameppdef{^^8e}
+ \CJK@nameppdef{^^8f}
+ \CJK@nameppdef{^^90}
+ \CJK@nameppdef{^^91}
+ \CJK@nameppdef{^^92}
+ \CJK@nameppdef{^^93}
+ \CJK@nameppdef{^^94}
+ \CJK@nameppdef{^^95}
+ \CJK@nameppdef{^^96}
+ \CJK@nameppdef{^^97}
+ \CJK@nameppdef{^^98}
+ \CJK@nameppdef{^^99}
+ \CJK@nameppdef{^^9a}
+ \CJK@nameppdef{^^9b}
+ \CJK@nameppdef{^^9c}
+ \CJK@nameppdef{^^9d}
+ \CJK@nameppdef{^^9e}
+ \CJK@nameppdef{^^9f}
+ \CJK@nameppdef{^^a0}
+ \CJK@nameppdef{^^a1}
+ \CJK@nameppdef{^^a2}
+ \CJK@nameppdef{^^a3}
+ \CJK@nameppdef{^^a4}
+ \CJK@nameppdef{^^a5}
+ \CJK@nameppdef{^^a6}
+ \CJK@nameppdef{^^a7}
+ \CJK@nameppdef{^^a8}
+ \CJK@nameppdef{^^a9}
+ \CJK@nameppdef{^^aa}
+ \CJK@nameppdef{^^ab}
+ \CJK@nameppdef{^^ac}
+ \CJK@nameppdef{^^ad}
+ \CJK@nameppdef{^^ae}
+ \CJK@nameppdef{^^af}
+ \CJK@nameppdef{^^b0}
+ \CJK@nameppdef{^^b1}
+ \CJK@nameppdef{^^b2}
+ \CJK@nameppdef{^^b3}
+ \CJK@nameppdef{^^b4}
+ \CJK@nameppdef{^^b5}
+ \CJK@nameppdef{^^b6}
+ \CJK@nameppdef{^^b7}
+ \CJK@nameppdef{^^b8}
+ \CJK@nameppdef{^^b9}
+ \CJK@nameppdef{^^ba}
+ \CJK@nameppdef{^^bb}
+ \CJK@nameppdef{^^bc}
+ \CJK@nameppdef{^^bd}
+ \CJK@nameppdef{^^be}
+ \CJK@nameppdef{^^bf}
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/standard.chr b/Master/texmf-dist/tex/latex/cjk/standard.chr
new file mode 100644
index 00000000000..5a4c7714ea0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/standard.chr
@@ -0,0 +1,203 @@
+% This is the file standard.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{standard.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling standard CJK fonts and characters.
+
+\gdef\CJK@standardChr{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/standard.enc b/Master/texmf-dist/tex/latex/cjk/standard.enc
new file mode 100644
index 00000000000..bb4959fb55b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/standard.enc
@@ -0,0 +1,131 @@
+% This is the file standard.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{standard.enc}[\filedate\space\fileversion]
+
+
+% standard encoding:
+% each plane has 94 characters (GB, JIS etc.) (0xA1 - 0xFE).
+
+\gdef\CJK@standardEncoding{
+ \CJK@loadChr{standard}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90cmr.fd b/Master/texmf-dist/tex/latex/cjk/thai/c90cmr.fd
new file mode 100644
index 00000000000..18c9c1d9ba7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/thai/c90cmr.fd
@@ -0,0 +1,24 @@
+% This is the file c90cmr.fd of the CJK package
+% for using Thai with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c90cmr.fd}[\filedate\space\fileversion]
+
+
+% Thai
+%
+% font encoding: OT1-like + TIS 620 + Thai glyph variants
+
+\DeclareFontFamily{C90}{cmr}{}
+
+\DeclareFontShape{C90}{cmr}{m} {n} {<-> ssub * nrsr/m/n}{}
+\DeclareFontShape{C90}{cmr}{bx}{n} {<-> ssub * nrsr/bx/n}{}
+\DeclareFontShape{C90}{cmr}{m} {it}{<-> ssub * nrsr/m/it}{}
+\DeclareFontShape{C90}{cmr}{bx}{it}{<-> ssub * nrsr/bx/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90cmss.fd b/Master/texmf-dist/tex/latex/cjk/thai/c90cmss.fd
new file mode 100644
index 00000000000..543e4cb008f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/thai/c90cmss.fd
@@ -0,0 +1,24 @@
+% This is the file c90cmss.fd of the CJK package
+% for using Thai with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c90cmss.fd}[\filedate\space\fileversion]
+
+
+% Thai
+%
+% font encoding: OT1-like + TIS 620 + Thai glyph variants
+
+\DeclareFontFamily{C90}{cmss}{}
+
+\DeclareFontShape{C90}{cmss}{m} {n} {<-> ssub * gar/m/n}{}
+\DeclareFontShape{C90}{cmss}{bx}{n} {<-> ssub * gar/bx/n}{}
+\DeclareFontShape{C90}{cmss}{m} {it}{<-> ssub * gar/m/it}{}
+\DeclareFontShape{C90}{cmss}{bx}{it}{<-> ssub * gar/bx/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90cmtt.fd b/Master/texmf-dist/tex/latex/cjk/thai/c90cmtt.fd
new file mode 100644
index 00000000000..457766d6004
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/thai/c90cmtt.fd
@@ -0,0 +1,24 @@
+% This is the file c90cmtt.fd of the CJK package
+% for using Thai with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{c90cmtt.fd}[\filedate\space\fileversion]
+
+
+% Thai
+%
+% font encoding: OT1-like + TIS 620 + Thai glyph variants
+
+\DeclareFontFamily{C90}{cmtt}{}
+
+\DeclareFontShape{C90}{cmtt}{m} {n} {<-> ssub * gar/m/n}{}
+\DeclareFontShape{C90}{cmtt}{bx}{n} {<-> ssub * gar/bx/n}{}
+\DeclareFontShape{C90}{cmtt}{m} {it}{<-> ssub * gar/m/it}{}
+\DeclareFontShape{C90}{cmtt}{bx}{it}{<-> ssub * gar/bx/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90enc.def b/Master/texmf-dist/tex/latex/cjk/thai/c90enc.def
new file mode 100644
index 00000000000..428e8e3801d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/thai/c90enc.def
@@ -0,0 +1,110 @@
+% (C) 2002 Dominique Unruh, LPPL
+% The macros in the Thai part are oriented on TIS620, i.e. each
+% letter in TIS620 is represented by exactly one macro.
+% No reordering whatsoever is required.
+%
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+\ProvidesFile{c90enc.def}[2002/06/06 Encoding C90 for Thai]
+\DeclareFontEncoding{C90}{}{}
+\DeclareFontSubstitution{C90}{nrsr}{m}{n}
+%
+\DeclareTextSymbol{\textemdash}{C90}{"0C}
+\DeclareTextSymbol{\textendash}{C90}{"0B}
+\DeclareTextSymbol{\textquotedbl}{C90}{"11}
+\DeclareTextSymbol{\textquotedblleft}{C90}{"0DD}
+\DeclareTextSymbol{\textquotedblright}{C90}{"22}
+\DeclareTextSymbol{\textquoteleft}{C90}{`\`}
+\DeclareTextSymbol{\textquoteright}{C90}{`\'}
+\DeclareTextSymbol{\textbraceleft}{C90}{`\{}
+\DeclareTextSymbol{\textbraceright}{C90}{`\}}
+\DeclareTextSymbol{\textbar}{C90}{`\|}
+%
+\DeclareTextSymbol{\thaiKoKai}{C90}{161}
+\DeclareTextSymbol{\thaiKhoKhai}{C90}{162}
+\DeclareTextSymbol{\thaiKhoKhuat}{C90}{163}
+\DeclareTextSymbol{\thaiKhoKhwai}{C90}{164}
+\DeclareTextSymbol{\thaiKhoKhon}{C90}{165}
+\DeclareTextSymbol{\thaiKhoRakhang}{C90}{166}
+\DeclareTextSymbol{\thaiNgoNgu}{C90}{167}
+\DeclareTextSymbol{\thaiChoChan}{C90}{168}
+\DeclareTextSymbol{\thaiChoChing}{C90}{169}
+\DeclareTextSymbol{\thaiChoChang}{C90}{170}
+\DeclareTextSymbol{\thaiSoSo}{C90}{171}
+\DeclareTextSymbol{\thaiChoChoe}{C90}{172}
+\DeclareTextSymbol{\thaiYoYing}{C90}{173}
+\DeclareTextSymbol{\thaiDoChada}{C90}{174}
+\DeclareTextSymbol{\thaiToPatak}{C90}{175}
+\DeclareTextSymbol{\thaiThoThan}{C90}{176}
+\DeclareTextSymbol{\thaiThoNangmontho}{C90}{177}
+\DeclareTextSymbol{\thaiThoPhuthao}{C90}{178}
+\DeclareTextSymbol{\thaiNoNen}{C90}{179}
+\DeclareTextSymbol{\thaiDoDek}{C90}{180}
+\DeclareTextSymbol{\thaiToTao}{C90}{181}
+\DeclareTextSymbol{\thaiThoThung}{C90}{182}
+\DeclareTextSymbol{\thaiThoThahan}{C90}{183}
+\DeclareTextSymbol{\thaiThoThong}{C90}{184}
+\DeclareTextSymbol{\thaiNoNu}{C90}{185}
+\DeclareTextSymbol{\thaiBoBaimai}{C90}{186}
+\DeclareTextSymbol{\thaiPoPla}{C90}{187}
+\DeclareTextSymbol{\thaiPhoPhung}{C90}{188}
+\DeclareTextSymbol{\thaiFoFa}{C90}{189}
+\DeclareTextSymbol{\thaiPhoPhan}{C90}{190}
+\DeclareTextSymbol{\thaiFoFan}{C90}{191}
+\DeclareTextSymbol{\thaiPhoSamphao}{C90}{192}
+\DeclareTextSymbol{\thaiMoMa}{C90}{193}
+\DeclareTextSymbol{\thaiYoYak}{C90}{194}
+\DeclareTextSymbol{\thaiRoRua}{C90}{195}
+\DeclareTextSymbol{\thaiRu}{C90}{196}
+\DeclareTextSymbol{\thaiLoLing}{C90}{197}
+\DeclareTextSymbol{\thaiLu}{C90}{198}
+\DeclareTextSymbol{\thaiWoWaen}{C90}{199}
+\DeclareTextSymbol{\thaiSoSala}{C90}{200}
+\DeclareTextSymbol{\thaiSoRusi}{C90}{201}
+\DeclareTextSymbol{\thaiSoSua}{C90}{202}
+\DeclareTextSymbol{\thaiHoHip}{C90}{203}
+\DeclareTextSymbol{\thaiLoChula}{C90}{204}
+\DeclareTextSymbol{\thaiOAng}{C90}{205}
+\DeclareTextSymbol{\thaiHoNokhuk}{C90}{206}
+\DeclareTextSymbol{\thaiPaiyannoi}{C90}{207}
+\DeclareTextSymbol{\thaiSaraA}{C90}{208}
+\DeclareTextSymbol{\thaiMaiHanakat}{C90}{209}
+\DeclareTextSymbol{\thaiSaraAa}{C90}{210}
+\DeclareTextSymbol{\thaiSaraAm}{C90}{211}
+\DeclareTextSymbol{\thaiSaraI}{C90}{212}
+\DeclareTextSymbol{\thaiSaraIi}{C90}{213}
+\DeclareTextSymbol{\thaiSaraUe}{C90}{214}
+\DeclareTextSymbol{\thaiSaraUee}{C90}{215}
+\DeclareTextSymbol{\thaiSaraU}{C90}{216}
+\DeclareTextSymbol{\thaiSaraUu}{C90}{217}
+\DeclareTextSymbol{\thaiPhinthu}{C90}{218}
+\DeclareTextSymbol{\textbaht}{C90}{223}
+\DeclareTextSymbol{\thaiSaraE}{C90}{224}
+\DeclareTextSymbol{\thaiSaraAe}{C90}{225}
+\DeclareTextSymbol{\thaiSaraO}{C90}{226}
+\DeclareTextSymbol{\thaiSaraAiMaimuan}{C90}{227}
+\DeclareTextSymbol{\thaiSaraAiMaimalai}{C90}{228}
+\DeclareTextSymbol{\thaiLakkhangyao}{C90}{229}
+\DeclareTextSymbol{\thaiMaiyamok}{C90}{230}
+\DeclareTextSymbol{\thaiMaitaikhu}{C90}{231}
+\DeclareTextSymbol{\thaiMaiEk}{C90}{232}
+\DeclareTextSymbol{\thaiMaiTho}{C90}{233}
+\DeclareTextSymbol{\thaiMaiTri}{C90}{234}
+\DeclareTextSymbol{\thaiMaiChattawa}{C90}{235}
+\DeclareTextSymbol{\thaiThanthakhat}{C90}{236}
+\DeclareTextSymbol{\thaiNikhahit}{C90}{237}
+\DeclareTextSymbol{\thaiYamakkan}{C90}{238}
+\DeclareTextSymbol{\thaiFongman}{C90}{239}
+\DeclareTextSymbol{\thaizero}{C90}{240}
+\DeclareTextSymbol{\thaione}{C90}{241}
+\DeclareTextSymbol{\thaitwo}{C90}{242}
+\DeclareTextSymbol{\thaithree}{C90}{243}
+\DeclareTextSymbol{\thaifour}{C90}{244}
+\DeclareTextSymbol{\thaifive}{C90}{245}
+\DeclareTextSymbol{\thaisix}{C90}{246}
+\DeclareTextSymbol{\thaiseven}{C90}{247}
+\DeclareTextSymbol{\thaieight}{C90}{248}
+\DeclareTextSymbol{\thainine}{C90}{249}
+\DeclareTextSymbol{\thaiAngkhankhu}{C90}{250}
+\DeclareTextSymbol{\thaiKhomut}{C90}{251}
+%
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90gar.fd b/Master/texmf-dist/tex/latex/cjk/thai/c90gar.fd
new file mode 100644
index 00000000000..22a2f466533
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/thai/c90gar.fd
@@ -0,0 +1,34 @@
+%Filename: c90gar.fd
+%Created by: tex garuda
+%Created using fontinst v1.927
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{c90gar.fd}
+ [2005/07/04 Fontinst v1.927 font definitions for C90/gar.]
+
+\DeclareFontFamily{C90}{gar}{}
+
+\DeclareFontShape{C90}{gar}{m}{n}{
+ <-> fgdr8z
+}{}
+
+\DeclareFontShape{C90}{gar}{bx}{n}{
+ <-> fgdb8z
+}{}
+
+\DeclareFontShape{C90}{gar}{bx}{sl}{
+ <-> fgdbo8z
+}{}
+
+\DeclareFontShape{C90}{gar}{m}{sl}{
+ <-> fgdo8z
+}{}
+
+\DeclareFontShape{C90}{gar}{b}{n}{<->ssub * gar/bx/n}{}
+\DeclareFontShape{C90}{gar}{b}{sl}{<->ssub * gar/bx/sl}{}
+\DeclareFontShape{C90}{gar}{bx}{it}{<->ssub * gar/bx/sl}{}
+\DeclareFontShape{C90}{gar}{b}{it}{<->ssub * gar/bx/it}{}
+\DeclareFontShape{C90}{gar}{m}{it}{<->ssub * gar/m/sl}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90nrsr.fd b/Master/texmf-dist/tex/latex/cjk/thai/c90nrsr.fd
new file mode 100644
index 00000000000..a8fc2b06855
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/thai/c90nrsr.fd
@@ -0,0 +1,34 @@
+%Filename: c90nrsr.fd
+%Created by: tex norasi
+%Created using fontinst v1.927
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{c90nrsr.fd}
+ [2005/07/04 Fontinst v1.927 font definitions for C90/nrsr.]
+
+\DeclareFontFamily{C90}{nrsr}{}
+
+\DeclareFontShape{C90}{nrsr}{m}{n}{
+ <-> ftnr8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{bx}{n}{
+ <-> ftnb8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{bx}{it}{
+ <-> ftnbi8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{m}{it}{
+ <-> ftni8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{b}{n}{<->ssub * nrsr/bx/n}{}
+\DeclareFontShape{C90}{nrsr}{b}{it}{<->ssub * nrsr/bx/it}{}
+\DeclareFontShape{C90}{nrsr}{bx}{sl}{<->ssub * nrsr/bx/it}{}
+\DeclareFontShape{C90}{nrsr}{b}{sl}{<->ssub * nrsr/bx/sl}{}
+\DeclareFontShape{C90}{nrsr}{m}{sl}{<->ssub * nrsr/m/it}{}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/thai/thaicjk.ldf b/Master/texmf-dist/tex/latex/cjk/thai/thaicjk.ldf
new file mode 100644
index 00000000000..dae532cdc64
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/thai/thaicjk.ldf
@@ -0,0 +1,89 @@
+% This is the file thaicjk.ldf of the CJK package
+% for handling Thai.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+%
+%
+% It is based on a similar file of the thailatex package, written
+% by Surapant Meknavin <surapan@nectec.or.th> with modifications by
+% Theppitak Karoonboonyanan <thep@links.nectec.or.th>.
+
+\ProvidesLanguage{thaicjk}
+ [CJK 4.8.0 Thai support for the babel system]
+
+\LdfInit{thaicjk}{captionsthaicjk}
+
+\ifx\l@thaicjk\@undefined
+ \adddialect\l@thaicjk0
+\fi
+
+\addto\captionsthaicjk{%
+ \def\prefacename{บทนำ}%
+ \def\refname{หนังสืออ้างอิง}%
+ \def\abstractname{บทคัดย่อ}%
+ \def\bibname{บรรณานุกรม}%
+ \def\chaptername{บทที่}%
+ \def\appendixname{ภาคผนวก}%
+ \def\contentsname{สารบัญ}%
+ \def\listfigurename{สารบัญรูป}%
+ \def\listtablename{สารบัญตาราง}%
+ \def\indexname{ดรรชนี}%
+ \def\figurename{รูปที่}%
+ \def\tablename{ตารางที่}%
+ \def\partname{ภาค}%
+ \def\enclname{สิ่งที่แนบมาด้วย}%
+ \def\ccname{สำเนาถึง}%
+ \def\headtoname{เรียน}%
+ \def\pagename{หน้า}%
+ \def\seename{ดู}%
+ \def\alsoname{ดูเพิ่มเติม}%
+ \def\proofname{พิสูจน์}%
+ }
+
+\def\th@month{%
+ \ifcase\month\or
+ มกราคม\or
+ กุมภาพันธ์\or
+ มีนาคม\or
+ เมษายน\or
+ พฤษภาคม\or
+ มิถุนายน\or
+ กรกฎาคม\or
+ สิงหาคม\or
+ กันยายน\or
+ ตุลาคม\or
+ พฤศจิกายน\or
+ ธันวาคม\fi}
+\newcount\th@year
+\th@year=\year
+\advance\th@year by 543
+\def\datethaicjk{%
+ \def\today{\number\day \space \th@month\space พ.ศ.~\number\th@year}}
+
+\addto\extrasthaicjk{\bbl@frenchspacing}
+\addto\noextrasthaicjk{\bbl@nonfrenchspacing}
+
+\addto\extrasthaicjk{\renewcommand{\baselinestretch}{1.2}}
+\addto\noextrasthaicjk{\renewcommand{\baselinestretch}{1}}
+
+\def\fnum@figure{\figurename\nobreakspace\thefigure}
+\def\fnum@table{\tablename\nobreakspace\thetable}
+
+\InputIfFileExists{c90enc.def}{%
+ \message{Loading definitions for the Thai C90 font encoding}}{%
+ \errhelp{I can't find file `c90enc.def' for Thai fonts}%
+ \errmessage{Since I do not know what the C90 encoding means^^J
+ I can't typeset Thai.^^J
+ I stop here, while you get a suitable c90enc.def file}\@@end
+ }
+
+\ldf@finish{thaicjk}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: tis-620
+%%% mode: latex
+%%% End:
diff --git a/Master/texmf-dist/tex/latex/cjk/xCJK.sty b/Master/texmf-dist/tex/latex/cjk/xCJK.sty
new file mode 100644
index 00000000000..d1a9ec129b2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/xCJK.sty
@@ -0,0 +1,460 @@
+% This is the file xCJK.sty of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Wenchang Sun <sunwch@hotmail.com>
+% Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\RequirePackage{ifxetex}
+\RequireXeTeX
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesPackage{xCJK}[\filedate\space\fileversion]
+\RequirePackage{fontspec}
+\RequirePackage{CJK}
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+\newif\ifxCJK@slantFont@
+\xCJK@slantFont@false
+
+\newif\ifxCJK@boldFont@
+\xCJK@boldFont@false
+
+\def\xCJK@setBoldFont{\special{pdf: literal direct 0.5 w 2 Tr}}
+\def\xCJK@restoreBoldFont{\special{pdf: literal direct 0 Tr}}
+
+\DeclareOption{boldfont}{\xCJK@boldFont@true}
+\DeclareOption{BoldFont}{\ExecuteOptions{boldfont}}
+\DeclareOption{pdfbold}{\ExecuteOptions{boldfont}}
+
+\DeclareOption{slantfont}{\xCJK@slantFont@true}
+\DeclareOption{SlantFont}{\ExecuteOptions{slantfont}}
+
+\ProcessOptions
+
+
+% redefine \usefont for CJK glyphs so that we can control the CJK font
+% family separately.
+
+\let\xCJK@usefont \usefont
+
+\def\usefont#1#2#3#4{
+ \ifx\CJK@plane \@undefined
+ \xCJK@usefont{#1}{#2}{#3}{#4}
+ \else
+ \xCJK@setfont
+ \fi}
+
+\def\xCJK@setfont{
+ \ifcsname\CJK@family/\f@series/\f@shape/\f@size\endcsname
+ \csname\CJK@family/\f@series/\f@shape/\f@size\endcsname
+ \else
+ \csname xCJK@font@\CJK@family\endcsname
+ \get@external@font
+ \expandafter\global\expandafter\font
+ \csname\CJK@family/\f@series/\f@shape/\f@size\endcsname=\external@font
+ \fi}
+
+
+% some shorthands for CJK font families; arguments are handled by
+% \newfontfamily (from fontspec.sty).
+
+\def\setCJKmainfont{
+ \xCJK@newfontfamily{xCJK@font@}}
+\def\setCJKmonofont{
+ \xCJK@newfontfamily{xCJK@font@mono}}
+
+\def\setCJKfamilyfont#1{
+ \xCJK@newfontfamily{xCJK@font@#1}}
+
+
+% extend \CJKverbatim to set \verbatim@font.
+
+\expandafter\def\expandafter\CJK@verbatim\expandafter{
+ \CJK@verbatim
+ \def\verbatim@font{
+ \CJKfamily{mono}
+ \ttfamily}}
+
+
+% we redefine \newfontfamily to introduce fake slant fonts for CJK
+% characters.
+
+\newcommand*\xCJK@newfontfamily[1]{
+ \@ifnextchar[
+ {\xCJK@newfontfamily@{#1}}
+ {\xCJK@newfontfamily@{#1}[]}}
+
+\def\xCJK@newfontfamily@#1[#2]#3{
+ \def\xCJK@temp{#2}
+ \expandafter
+ \xCJK@getBoldFont\xCJK@temp BoldFont={}{}\relax
+ \expandafter
+ \xCJK@getBoldItalicFont\xCJK@temp BoldItalicFont={}{}\relax
+ \expandafter
+ \xCJK@getItalicFont\xCJK@temp ItalicFont={}{}\relax
+
+ \let\xCJK@BoldItalicFont@@\xCJK@BoldItalicFont
+
+ \ifxCJK@boldFont@
+ \ifx\xCJK@BoldFont\@empty
+ \expandafter\def\csname #1@bx@n@set\endcsname{
+ \xCJK@setBoldFont}
+ \expandafter\def\csname #1@bx@n@restore\endcsname{
+ \xCJK@restoreBoldFont}
+ \fi
+ \ifx\xCJK@BoldItalicFont\@empty
+ \ifx\xCJK@ItalicFont\@empty
+ \ifx\xCJK@BoldFont\@empty
+ \expandafter\def\csname #1@bx@it@set\endcsname{
+ \xCJK@setBoldFont}
+ \expandafter\def\csname #1@bx@it@restore\endcsname{
+ \xCJK@restoreBoldFont}
+ \fi
+ \else
+ \expandafter\def\csname #1@bx@it@set\endcsname{
+ \xCJK@setBoldFont}
+ \expandafter\def\csname #1@bx@it@restore\endcsname{
+ \xCJK@restoreBoldFont}
+ \fi
+ \fi
+ \fi
+
+ \ifx\xCJK@BoldItalicFont\@empty
+ \ifx\xCJK@ItalicFont\@empty
+ \ifx\xCJK@BoldFont\@empty
+ \def\xCJK@BoldItalicFont{#3}
+ \else
+ \edef\xCJK@BoldItalicFont{\xCJK@BoldFont}
+ \fi
+ \else
+ \edef\xCJK@BoldItalicFont{\xCJK@ItalicFont}
+ \fi
+ \fi
+
+ \ifxCJK@slantFont@
+ \expandafter
+ \xCJK@getBoldItalicFeatures\xCJK@temp BoldItalicFeatures={}{}\relax
+ \expandafter
+ \xCJK@getItalicFeatures\xCJK@temp ItalicFeatures={}{}\relax
+
+ \ifx\xCJK@ItalicFont\@empty
+ \def\xCJK@ItalicFont{#3}
+ \ifx\xCJK@ItalicFeatures\@empty
+ \edef\xCJK@ItalicFeatures{
+ RawFeature={slant=0.17}}
+ \else
+ \edef\xCJK@ItalicFeatures{
+ RawFeature={slant=0.17},
+ \xCJK@ItalicFeatures}
+ \fi
+
+ \ifx\xCJK@BoldItalicFont@@\@empty
+ \ifx\xCJK@BoldItalicFeatures\@empty
+ \edef\xCJK@BoldItalicFeatures{
+ RawFeature={slant=0.17}}
+ \else
+ \edef\xCJK@BoldItalicFeatures{
+ RawFeature={slant=0.17},
+ \xCJK@BoldItalicFeatures}
+ \fi
+ \fi
+ \fi
+
+ \expandafter\newfontfamily@i\csname #1\endcsname
+ [ItalicFont={\xCJK@ItalicFont},
+ BoldItalicFont={\xCJK@BoldItalicFont},
+ #2,
+ ItalicFeatures={\xCJK@ItalicFeatures},
+ BoldItalicFeatures={\xCJK@BoldItalicFeatures}]
+ {#3}
+ \else
+ \ifxCJK@boldFont@
+ \expandafter\newfontfamily@i\csname #1\endcsname
+ [BoldItalicFont={\xCJK@BoldItalicFont},
+ #2]
+ {#3}
+ \else
+ \expandafter\newfontfamily@i\csname #1\endcsname
+ [#2]
+ {#3}
+ \fi
+ \fi}
+
+\def\xCJK@setmacro@getkey#1{
+ \expandafter\def\csname xCJK@get#1\endcsname ##1#1=##2##3\relax{
+ \expandafter\edef\csname xCJK@#1\endcsname{##2}
+ \edef\xCJK@temp{##1##3}}}
+
+\xCJK@setmacro@getkey{BoldFont}
+\xCJK@setmacro@getkey{ItalicFont}
+\xCJK@setmacro@getkey{BoldItalicFont}
+\xCJK@setmacro@getkey{ItalicFeatures}
+\xCJK@setmacro@getkey{BoldItalicFeatures}
+
+\define@key[zf]{preparse}{ItalicFeatures}{
+ \edef\zf@it@feat{,#1}
+ \edef\zf@family@long{\zf@family@long itfeat:#1}}
+
+
+% redefine \CJKfamily.
+
+\def\xCJK@font@{}
+
+\def\CJKfamily#1{
+ \expandafter\ifx\csname xCJK@font@#1\endcsname \relax
+ \PackageWarning{xCJK}{
+ Unknown CJK family `#1' is ignored.^^J
+ Use \string\setCJKfamilyfont \space to define a CJK family.}
+ \else
+ \def\CJK@family{#1}
+ \fi}
+
+
+% redefine \CJKsymbol and \CJKpunctsymbol to use XeTeX's emboldening.
+
+\def\CJKsymbol#1{
+ {\csname xCJK@font@\CJK@family @\f@series @\f@shape @set\endcsname
+ \char #1
+ \csname xCJK@font@\CJK@family @\f@series @\f@shape @restore\endcsname}}
+
+\let\CJKpunctsymbol \CJKsymbol
+
+
+% XXX: redefinition of \Unicode is missing
+
+
+% replace
+%
+% \begin{CJK*}[#1]{UTF8}{#3}
+%
+% with
+%
+% \begin{CJK*}[]{xUTF8}{}
+
+\def\xCJK@UTF{UTF8}
+\let\xCJK@envStart \CJK@envStart
+
+\def\CJK@envStart#1#2#3{
+ \def\xCJK@tempa{#2}
+ \ifx\xCJK@UTF \xCJK@tempa
+ \else
+ \PackageError{xCJK}{
+ Font encoding `#2' is not supported. Use UTF8 instead.}{}
+ \fi
+ \xCJK@envStart{}{xUTF8}{}}
+
+
+% define the `xUTF8' encoding.
+
+\CJK@mapToNFSS{xUTF8}{C70}{song}{m}{n}
+\CJKencfamily{xUTF8}{song}
+\CJKfontenc{xUTF8}{}
+\@namedef{CJK@xUTF8@hook}{
+ \csname CJK@UTF8@hook\endcsname}
+
+\@namedef{CJK@xUTF8@enc}{
+ \CJK@loadBinding{UTF8}
+ \CJK@global\chardef\CJK@min "080
+ \CJK@global\chardef\CJK@max "0BF
+ \CJK@loadEncoding{xUTF8}
+ \CJK@global\def\CJK@spaceChar{\Unicode{"030}{"000}}}
+
+\def\CJK@UnicodeEnc{xUTF8}
+
+
+% redefine the binding macros to directly emit Unicode characters.
+
+\def\CJK@nameppdef#1{
+ \CJK@active\def#1{
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XX
+ \expandafter\string\expandafter#1
+ \else
+ \expandafter\expandafter\expandafter\CJK@XXp
+ \expandafter\string\expandafter#1
+ \fi}}
+
+\def\CJK@namepppdef#1{
+ \CJK@active\def#1{
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XXX
+ \expandafter\string\expandafter#1
+ \else
+ \expandafter\expandafter\expandafter\CJK@XXXp
+ \expandafter\string\expandafter#1
+ \fi}}
+
+\def\CJK@nameppppdef#1{
+ \CJK@active\def#1{
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XXXX
+ \expandafter\string\expandafter#1
+ \else
+ \expandafter\expandafter\expandafter\CJK@XXXXp
+ \expandafter\string\expandafter#1
+ \fi}}
+
+\DeclareRobustCommand{\xCJK@char}[2]{
+ \csname CJK@#1\endcsname{#2}}
+\DeclareRobustCommand{\xCJK@@char}[3]{
+ \csname CJK@#1\endcsname{#2}{#3}}
+\DeclareRobustCommand{\xCJK@@@char}[4]{
+ \csname CJK@#1\endcsname{#2}{#3}{#4}}
+
+\def\CJK@XXp#1#2{
+ \xCJK@char{\number`#1}{\number`#2}}
+\def\CJK@XXXp#1#2#3{
+ \xCJK@@char{\number`#1}{\number`#2}{\number`#3}}
+\def\CJK@XXXXp#1#2#3#4{
+ \xCJK@@@char{\number`#1}{\number`#2}{\number`#3}{\number`#4}}
+
+
+% variants for PDF bookmarks. xdvipdfmx, the PDF front end of XeTeX,
+% automatically converts UTF-8 encoded bookmark strings into
+% UTF-16BE encoding.
+
+\edef\0{\string\0}
+\edef\1{\string\1}
+\edef\2{\string\2}
+\edef\3{\string\3}
+
+\def\xCJK@numtooctal#1{
+ \ifcase #1
+ \000\or \001\or \002\or \003\or \004\or \005\or \006\or \007
+ \or \010\or \011\or \012\or \013\or \014\or \015\or \016\or \017
+ \or \020\or \021\or \022\or \023\or \024\or \025\or \026\or \027
+ \or \030\or \031\or \032\or \033\or \034\or \035\or \036\or \037
+ \or \040\or \041\or \042\or \043\or \044\or \045\or \046\or \047
+ \or \050\or \051\or \052\or \053\or \054\or \055\or \056\or \057
+ \or \060\or \061\or \062\or \063\or \064\or \065\or \066\or \067
+ \or \070\or \071\or \072\or \073\or \074\or \075\or \076\or \077
+ \or \100\or \101\or \102\or \103\or \104\or \105\or \106\or \107
+ \or \110\or \111\or \112\or \113\or \114\or \115\or \116\or \117
+ \or \120\or \121\or \122\or \123\or \124\or \125\or \126\or \127
+ \or \130\or \131\or \132\or \133\or \134\or \135\or \136\or \137
+ \or \140\or \141\or \142\or \143\or \144\or \145\or \146\or \147
+ \or \150\or \151\or \152\or \153\or \154\or \155\or \156\or \157
+ \or \160\or \161\or \162\or \163\or \164\or \165\or \166\or \167
+ \or \170\or \171\or \172\or \173\or \174\or \175\or \176\or \177
+ \or \200\or \201\or \202\or \203\or \204\or \205\or \206\or \207
+ \or \210\or \211\or \212\or \213\or \214\or \215\or \216\or \217
+ \or \220\or \221\or \222\or \223\or \224\or \225\or \226\or \227
+ \or \230\or \231\or \232\or \233\or \234\or \235\or \236\or \237
+ \or \240\or \241\or \242\or \243\or \244\or \245\or \246\or \247
+ \or \250\or \251\or \252\or \253\or \254\or \255\or \256\or \257
+ \or \260\or \261\or \262\or \263\or \264\or \265\or \266\or \267
+ \or \270\or \271\or \272\or \273\or \274\or \275\or \276\or \277
+ \or \300\or \301\or \302\or \303\or \304\or \305\or \306\or \307
+ \or \310\or \311\or \312\or \313\or \314\or \315\or \316\or \317
+ \or \320\or \321\or \322\or \323\or \324\or \325\or \326\or \327
+ \or \330\or \331\or \332\or \333\or \334\or \335\or \336\or \337
+ \or \340\or \341\or \342\or \343\or \344\or \345\or \346\or \347
+ \or \350\or \351\or \352\or \353\or \354\or \355\or \356\or \357
+ \or \360\or \361\or \362\or \363\or \364\or \365\or \366\or \367
+ \or \370\or \371\or \372\or \373\or \374\or \375\or \376\or \377
+ \fi}
+
+\def\CJK@XXpdf#1#2{
+ \xCJK@numtooctal{\number`#1}
+ \xCJK@numtooctal{\number`#2}}
+\def\CJK@XXXpdf#1#2#3{
+ \xCJK@numtooctal{\number`#1}
+ \xCJK@numtooctal{\number`#2}
+ \xCJK@numtooctal{\number`#3}}
+\def\CJK@XXXXpdf#1#2#3#4{
+ \xCJK@numtooctal{\number`#1}
+ \xCJK@numtooctal{\number`#2}
+ \xCJK@numtooctal{\number`#3}
+ \xCJK@numtooctal{\number`#4}}
+
+
+% add our bookmark macros to the hyperref hook.
+
+\ifx\pdfstringdefPreHook \undefined
+ \def\pdfstringdefPreHook{}
+\fi
+
+\def\utfout{
+ \let\CJK@XX \CJK@XXpdf
+ \let\CJK@XXX \CJK@XXXpdf
+ \let\CJK@XXXX \CJK@XXXXpdf}
+
+\g@addto@macro\pdfstringdefPreHook{\utfout}
+
+
+% macros for UTF8 punctuation testing.
+
+\def\xCJK@prePunct#1#2{
+ \expandafter\gdef\csname xCJK@#1@PrePunct\endcsname{#2}
+ \expandafter\gdef\csname xCJK@#1@Punct\endcsname{#2}}
+\def\xCJK@postPunct#1#2{
+ \expandafter\gdef\csname xCJK@#1@PostPunct\endcsname{#2}
+ \expandafter\edef\csname xCJK@#1@Punct\endcsname{
+ \csname xCJK@#1@Punct\endcsname,#2}}
+
+\xCJK@prePunct{xUTF8}{
+ 8216,8220,12296,12298,12300,12302,12304,12306,
+ 12308,12310,12312,12314,12317,12319,12342,
+ 65113,65115,65117,65119,65120,65129,65131,
+ 65283,65284,65288,65312,65339,65371,65504,65505,65509,65510}
+\xCJK@postPunct{xUTF8}{
+ 8217,8221,12289,12290,12293,12294,12297,12299,
+ 12301,12303,12305,12309,12311,12313,12315,
+ 12318,12353,12355,12357,12359,12361,12387,12419,12421,12423,12430,12443,12444,12445,12446,12449,12451,
+ 12453,12455,12457,12483,12515,12517,12519,12526,12533,12534,12539,12540,12541,12542,
+ 65104,65105,65106,65108,65109,65110,65111,65114,65116,65118,65130,
+ 65281,65285,65289,65292,65294,65306,65307,65311,65341,65373,65377,
+ 65379,65380,65381,65383,65384,65385,65386,65387,65388,65389,65390,65391,65392,65438,65439}
+
+\def\xCJK@testPunct#1#2#3{
+ \expandafter\expandafter\expandafter\CJK@testInList
+ \expandafter\csname xCJK@#1@#2Punct\expandafter\endcsname
+ \expandafter{#3}}
+
+
+% variants for including CJK characters in \special.
+
+\let\xCJK@special \special
+
+\def\special#1{
+ {\utfout
+ \edef\xCJK@temp{#1}
+ \xCJK@special{\xCJK@temp}}}
+
+
+% for beamer class; will be reset by a CJK environment.
+
+\let\CJK@ignorespaces \ignorespaces
+\chardef\CJK@min "040
+
+
+\AtBeginDocument{\XeTeXinputencoding "bytes"}
+
+\XeTeXdefaultencoding "bytes"
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/xpmC.chr b/Master/texmf-dist/tex/latex/cjk/xpmC.chr
new file mode 100644
index 00000000000..cb792ee6ce1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/xpmC.chr
@@ -0,0 +1,96 @@
+% This is the file xpmC.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by SUN Wenchang <sunwch@hotmail.com>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{xpmC.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling xpmC fonts and characters.
+
+\gdef\CJK@xpmCChr{
+ \CJK@global\def\CJK@char##1##2{
+ {\ifnum ##2 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##2 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \CJKsymbol{\@tempcnta}
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2{
+ {\ifnum ##2 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##2 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##2}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \CJKpunctsymbol{\@tempcnta}
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/cjk/xpmC.enc b/Master/texmf-dist/tex/latex/cjk/xpmC.enc
new file mode 100644
index 00000000000..56864902ec4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cjk/xpmC.enc
@@ -0,0 +1,161 @@
+% This is the file xpmC.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by SUN Wenchang <sunwch@hotmail.com>
+%
+% Version 4.8.0 (22-May-2008)
+
+% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.0}
+\def\filedate{2008/05/22}
+\ProvidesFile{xpmC.enc}[\filedate\space\fileversion]
+
+
+% encoding for XeTeX support
+
+\gdef\CJK@xpmCEncoding{
+ \CJK@loadChr{xpmC}
+
+ \CJK@namegdef{^^81}##1{\@empty\CJK@char{81}{##1}}
+ \CJK@namegdef{^^82}##1{\@empty\CJK@char{82}{##1}}
+ \CJK@namegdef{^^83}##1{\@empty\CJK@char{83}{##1}}
+ \CJK@namegdef{^^84}##1{\@empty\CJK@char{84}{##1}}
+ \CJK@namegdef{^^85}##1{\@empty\CJK@char{85}{##1}}
+ \CJK@namegdef{^^86}##1{\@empty\CJK@char{86}{##1}}
+ \CJK@namegdef{^^87}##1{\@empty\CJK@char{87}{##1}}
+ \CJK@namegdef{^^88}##1{\@empty\CJK@char{88}{##1}}
+ \CJK@namegdef{^^89}##1{\@empty\CJK@char{89}{##1}}
+ \CJK@namegdef{^^8a}##1{\@empty\CJK@char{8A}{##1}}
+ \CJK@namegdef{^^8b}##1{\@empty\CJK@char{8B}{##1}}
+ \CJK@namegdef{^^8c}##1{\@empty\CJK@char{8C}{##1}}
+ \CJK@namegdef{^^8d}##1{\@empty\CJK@char{8D}{##1}}
+ \CJK@namegdef{^^8e}##1{\@empty\CJK@char{8E}{##1}}
+ \CJK@namegdef{^^8f}##1{\@empty\CJK@char{8F}{##1}}
+ \CJK@namegdef{^^90}##1{\@empty\CJK@char{90}{##1}}
+ \CJK@namegdef{^^91}##1{\@empty\CJK@char{91}{##1}}
+ \CJK@namegdef{^^92}##1{\@empty\CJK@char{92}{##1}}
+ \CJK@namegdef{^^93}##1{\@empty\CJK@char{93}{##1}}
+ \CJK@namegdef{^^94}##1{\@empty\CJK@char{94}{##1}}
+ \CJK@namegdef{^^95}##1{\@empty\CJK@char{95}{##1}}
+ \CJK@namegdef{^^96}##1{\@empty\CJK@char{96}{##1}}
+ \CJK@namegdef{^^97}##1{\@empty\CJK@char{97}{##1}}
+ \CJK@namegdef{^^98}##1{\@empty\CJK@char{98}{##1}}
+ \CJK@namegdef{^^99}##1{\@empty\CJK@char{99}{##1}}
+ \CJK@namegdef{^^9a}##1{\@empty\CJK@char{9A}{##1}}
+ \CJK@namegdef{^^9b}##1{\@empty\CJK@char{9B}{##1}}
+ \CJK@namegdef{^^9c}##1{\@empty\CJK@char{9C}{##1}}
+ \CJK@namegdef{^^9d}##1{\@empty\CJK@char{9D}{##1}}
+ \CJK@namegdef{^^9e}##1{\@empty\CJK@char{9E}{##1}}
+ \CJK@namegdef{^^9f}##1{\@empty\CJK@char{9F}{##1}}
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctchar{A3}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char{A6}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char{A7}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char{A8}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@char{A9}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char{AA}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@char{AB}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char{AC}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char{AD}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@char{AE}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char{AF}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char{B0}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char{B1}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char{B2}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char{B3}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char{B4}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char{B5}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char{B6}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char{B7}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char{B8}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char{B9}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char{BA}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char{BB}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char{BC}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char{BD}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char{BE}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char{BF}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char{C0}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char{C1}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char{C2}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char{C3}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char{C4}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char{C5}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char{C6}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char{C7}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char{C8}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char{C9}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char{CA}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char{CB}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char{CC}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char{CD}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char{CE}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char{CF}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char{D0}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char{D1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@char{D2}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char{D3}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char{D4}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char{D5}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char{D6}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char{D7}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char{D8}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char{D9}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@char{DA}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char{DB}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char{DC}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char{DD}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char{DE}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char{DF}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char{E0}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char{E1}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char{E2}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char{E3}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char{E4}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@char{E5}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char{E6}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char{E7}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char{E8}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char{E9}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char{EA}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char{EB}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char{EC}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@char{ED}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char{EE}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char{EF}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char{F0}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char{F1}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char{F2}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char{F3}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char{F4}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@char{F5}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char{F6}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char{F7}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@char{F8}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char{F9}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@char{FA}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char{FB}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char{FC}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@char{FD}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char{FE}{##1}}}
+
+\endinput
diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds
index 914270f7ef2..0c4393b78b8 100755
--- a/Master/tlpkg/bin/ctan2tds
+++ b/Master/tlpkg/bin/ctan2tds
@@ -103,7 +103,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw
'cheq', "die 'skipping, nosell license'",
'circuit_macros', "die 'skipping, needs m4'",
'cjhebrew', "&MAKEflatten",
- 'cjk', "die 'skipping, not ready'", #"&MAKEcjk",
+ 'cjk', "&MAKEcjk",
'clock', "&MAKEflatten",
'cm-lgc', '&MAKEcmlgc',
'cm-super', "&MAKEflatten",
@@ -2732,15 +2732,18 @@ sub MAKEvossde {
# wadalab provides nearly TDS-ready .tar.gz with additional stuff
+#
sub MAKEwadalab
{
- print "MAKEwadalab $package\n";
+ print "MAKEwadalab $package - munge tds-ready tarballs\n";
&setup;
&xchdir ("$DEST/doc/$whichdocformat/$package");
+
# each XX.tar.gz contains a tds-ready tree under XX/texmf: use it
- opendir (HERE, ".") or die "this should no happen: $!";
+ opendir (HERE, ".") || die "opendir(.) failed: $!";
my @tarfiles = grep /\.tar\.gz$/, readdir HERE;
- closedir HERE;
+ closedir (HERE);
+
my $destfonts = "$DEST/fonts";
&SYSTEM ("mkdir -p $destfonts");
foreach my $tarfile (@tarfiles) {
@@ -2749,9 +2752,14 @@ sub MAKEwadalab
&SYSTEM ("cp -r $tarfile/texmf/* $DEST");
&SYSTEM ("rm -r $tarfile/texmf && rmdir $tarfile");
}
+
+ # except the mincho-1-8-* tarball misses the doc/fonts level.
+ &SYSTEM ("$MV $DEST/doc/wadalab/* $DEST/doc/fonts/wadalab/");
+
# wadalab has a dir of xdelta from the original fonts
-d "xdelta" && &SYSTEM ("$MV xdelta $DEST/source/$whichdocformat/$package");
- # rm unused directories
+
+ # rm unused directories.
&SYSTEM ("rmdir $DEST/*/$whichformat/$package 2>/dev/null");
}
@@ -3091,11 +3099,30 @@ sub MAKEcjk
&SYSTEM ("$RM *.zip && $MV 4.8.0/* . && rmdir 4.8.0");
#
&xchdir ($DEST);
+ #
+ # move contrib into source subdir.
+ &SYSTEM ("$MV $DOCDIR/contrib source/latex/cjk/");
+ #
# rename texinput to tex/latex/cjk.
&SYSTEM ("rmdir tex/latex/cjk; $MV $DOCDIR/texinput tex/latex/cjk");
#
- # miscellany for source subdir.
- &SYSTEM ("$MV $DOCDIR/contrib $DOCDIR/utils source/latex/cjk/");
+ # rename texlive, contains modified KS/HLaTeX .fd files.
+ my $ksl_dest = "tex/latex/cjk/contrib/hlatex-texlive";
+ &xmkdir ($ksl_dest);
+ &SYSTEM ("$MV $DOCDIR/texlive $ksl_dest");
+ #
+ # move utils into source subdir too, wht we have in
+ # Build/source/texk/cjkutils is a tiny subset.
+ &SYSTEM ("$MV $DOCDIR/utils source/latex/cjk/");
+ #
+ # remove the thaifont runtime files which we painfully package separately.
+ # but leave other thaifont files here, not worth dealing.
+ &SYSTEM ("rm -rf source/latex/cjk/utils/thaifont/texmf");
+ #
+ # We need the wadalab fd files.
+ my $wada_dest = "tex/latex/cjk/contrib/wadalab";
+ &xmkdir ($wada_dest);
+ &SYSTEM ("$MV source/latex/cjk/contrib/wadalab/*.fd* $wada_dest/");
}
sub MAKEcmlgc
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 9414a7492b0..aae07ad7c0e 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -42,7 +42,7 @@ my @WorkingTLP = qw(
changebar changepage changes chappg
chem-journal chemcompounds chemscheme
chemstyle cherokee chessboard chessfss circ
- citeref cjhebrew classicthesis
+ citeref cjhebrew cjk classicthesis
clefval cleveref
clock clrscode cm-super
cmap cmastro cmcyr cmdstring cmdtrack cmll colorinfo
@@ -200,7 +200,7 @@ my @WorkingTLP = qw(
vancouver variations varindex varsfromjobname
vector velthuis venn verse versions vertex
vhistory visualfaq vmargin vntex volumes vpe vwcol vxu
- wallpaper warning warpcol williams wordlike wrapfig
+ wadalab wallpaper warning warpcol williams wordlike wrapfig
xargs xbase xcolor xdoc xecyr xetex-def xetex-pstricks xetexfontinfo
xetexref xfor xgreek xifthen
xkeyval xltxtra xmpincl xnewcommand xoptarg
diff --git a/Master/tlpkg/tlpsrc/cjk.tlpsrc b/Master/tlpkg/tlpsrc/cjk.tlpsrc
new file mode 100644
index 00000000000..d6393d4f7a8
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/cjk.tlpsrc
@@ -0,0 +1,8 @@
+name cjk
+category Package
+depend arphic
+depend cns
+depend garuda
+depend norasi
+depend uhc
+depend wadalab
diff --git a/Master/tlpkg/tlpsrc/wadalab.tlpsrc b/Master/tlpkg/tlpsrc/wadalab.tlpsrc
index b04b02af54a..14f7ca68e80 100644
--- a/Master/tlpkg/tlpsrc/wadalab.tlpsrc
+++ b/Master/tlpkg/tlpsrc/wadalab.tlpsrc
@@ -1,6 +1,13 @@
name wadalab
category Package
-execute addMap wadalab.map
-srcpattern +!d texmf-dist/source/latex/CJK/contrib/wadalab
-runpattern +!d texmf-dist/tex/latex/CJK/contrib/wadalab
-docpattern +!d texmf-dist/doc/latex/CJK/contrib/wadalab
+execute addMap dgj.map
+execute addMap dmj.map
+execute addMap mc2j.map
+execute addMap mcj.map
+execute addMap mr2j.map
+execute addMap mrj.map
+#
+# these are part of the cjk package, despite being in a wadalab subdir.
+srcpattern +!d texmf-dist/source/latex/cjk/contrib/wadalab
+runpattern +!d texmf-dist/tex/latex/cjk/contrib/wadalab
+docpattern +!d texmf-dist/doc/latex/cjk/contrib/wadalab