summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/xelatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-07-13 20:37:26 +0000
committerKarl Berry <karl@freefriends.org>2008-07-13 20:37:26 +0000
commit97ed0a0a2537a9082a8862be3fb23f89533a17d6 (patch)
tree63e8af45752837db181e6166a66b4a1be372bd17 /Master/texmf-dist/source/xelatex
parentabccbb6f0951bc5a8ff88441636b91f46e8da766 (diff)
new xelatex xecjk
git-svn-id: svn://tug.org/texlive/trunk@9529 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/xelatex')
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/README.txt14
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/eps2tbl.tex522
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/fontlist.tex65
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/gbklist.tex35
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/main.tex69
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-chs.tex191
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-cht.tex192
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-ja.tex143
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-ko.tex143
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/utf2gbk.tex139
10 files changed, 1513 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/README.txt b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/README.txt
new file mode 100644
index 00000000000..e43b09999ca
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/README.txt
@@ -0,0 +1,14 @@
+1. Edit fontlist.tex to set the ghostscript executable and the language/font.
+
+2. for texlive
+ xelatex --shell-escape main
+
+ for miktex, run
+ xelatex --enable-write18 main
+
+3. move chs*.tbl to the directory $TEXMFLOCAL/xelatex/xeCJK/chs/tbl
+ move cht*.tbl to the directory $TEXMFLOCAL/xelatex/xeCJK/cht/tbl
+ move ja*.tbl to the directory $TEXMFLOCAL/xelatex/xeCJK/ja/tbl
+ move ko*.tbl to the directory $TEXMFLOCAL/xelatex/xeCJK/ko/tbl
+
+4. run texhash \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/eps2tbl.tex b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/eps2tbl.tex
new file mode 100644
index 00000000000..36ed4dd7ce4
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/eps2tbl.tex
@@ -0,0 +1,522 @@
+% -*- coding: utf-8 -*-
+
+\def\tblversion{2008/06/06}
+
+\catcode`\%=11
+
+\long\def\getleftspace#1BoundingBox: #2 #3 #4 #5{
+\cnta=#4\relax
+\advance\cnta -#2\relax
+\gobblerest}
+
+\long\def\gobblerest#1\relax{}
+
+
+\def\getboundingbox#1{
+\edef\epsfilename{#1}
+\immediate\openin0=\epsfilename\relax
+\ifeof0
+ \@latex@error{file \epsfilename\space not found}{}\relax
+\fi
+\loop
+ \read0 to\tempa
+ \expandafter\getleftspace\tempa {} BoundingBox: 0 0 0 0 \relax
+ \ifnum\the\cnta=0\repeat
+\closein0}
+
+
+\def\prepunct#1{
+ \advance\cntb 1
+ \ifnum\the\cntb<10
+ \edef\epsfilename{rubish-0\the\cntb.eps}
+ \else
+ \edef\epsfilename{rubish-\the\cntb.eps}
+ \fi
+ \getboundingbox{\epsfilename}
+ \advance\cnta -1993\relax
+ \cnta=-\cnta\relax
+ \divide\cnta 2\relax
+ \expandafter\edef\csname lspace@#1\endcsname{\the\cnta}
+ \advance\cntb 1
+ \ifnum\the\cntb<10
+ \edef\epsfilename{rubish-0\the\cntb.eps}
+ \else
+ \edef\epsfilename{rubish-\the\cntb.eps}
+ \fi
+ \getboundingbox{\epsfilename}
+ \advance\cnta -1993\relax
+ \cnta=-\cnta\relax
+ \divide\cnta 2\relax
+ \expandafter\edef\csname rspace@#1\endcsname{\the\cnta}
+ \@ifnextchar[{\xeCJK@gobble@a}{\prepunct}}
+
+\let\postpunct\prepunct
+\def\xeCJK@gobble@a[]{}
+
+
+\cntb=0
+\input{punct-\CJKlanguage.tex}
+
+
+\catcode`\%=14
+
+
+%
+% bbox to tbl
+%
+%
+
+\def\getfontname"#1"\relax{
+ \edef\temp{\zap@space #1 \@empty}
+ \edef\temp{\lowercase{\def\noexpand\@ttfontname{\temp}}}
+ \temp}
+
+\expandafter\getfontname\ttfontname\relax
+
+
+
+\def\temp{}
+\def\xeCJK@stringtoascii#1{
+ \ifnum\number`#1>127\relax
+ \edef\temp{\temp\number`#1}
+ \else
+ \edef\temp{\temp\string#1}
+ \fi
+ \@ifnextchar[{\xeCJK@gobbletwo}{\xeCJK@stringtoascii}}
+
+\def\xeCJK@gobbletwo[]{}
+
+\expandafter\xeCJK@stringtoascii\@ttfontname[]
+
+\edef\@ttfontname{\temp}
+
+\ifx\ttfontname@def\@empty
+\else
+ \edef\@ttfontname{\ttfontname@def}
+\fi
+
+\typeout{........fontname=\@ttfontname=}
+
+
+
+
+
+
+\def\prepunct#1{
+\expandafter\def\csname punct\the\cnta\endcsname{#1}
+\expandafter\def\csname prepunct\the\cnta\endcsname{1}
+\expandafter\def\csname prepunct@#1\endcsname{1}
+\advance\cnta 1
+\@ifnextchar[{\xeCJK@gobble@a}{\prepunct}}
+
+\def\postpunct#1{
+\expandafter\def\csname punct\the\cnta\endcsname{#1}
+\expandafter\def\csname prepunct\the\cnta\endcsname{0}
+\expandafter\def\csname prepunct@#1\endcsname{0}
+\advance\cnta 1
+\@ifnextchar[{\xeCJK@gobble@a}{\postpunct}}
+
+\def\xeCJK@gobble@a[]{}
+
+\cnta=0
+\input{punct-\CJKlanguage.tex}
+
+\edef\totalpuncts{\the\cnta}
+\typeout{...number of punctuation: \totalpuncts}
+
+
+
+
+
+
+\bgroup
+\catcode`\%=11
+\catcode`\{=11
+\catcode`\}=11
+\catcode`\(=1
+\catcode`\)=2
+\global\def\percent(%)
+\global\def\lbrace({)
+\global\def\rbrace(})
+\egroup
+
+%
+%
+% tbl 文件头
+\def\outputtblfileheader{
+ \immediate\write\fdout{\percent\space -*- coding: utf-8 -*-}
+ \immediate\write\fdout{\percent\space }
+ \immediate\write\fdout{\percent\space This is the file \tblfilename\space version
+ \tblversion}
+ \bgroup
+ \count@\time
+ \divide\count@ 60
+ \count2=-\count@
+ \multiply\count2 60
+ \advance\count2 \time
+ \edef\today{%
+ \the\year/\two@digits{\the\month}/\two@digits{\the\day}%
+ \space\space at\space
+ \two@digits{\the\count@}:\two@digits{\the\count2}}
+ \immediate\write\fdout{\percent\space This is a generated file [\today].}
+ \egroup
+ \immediate\write\fdout{\percent\space Do not modify it!}
+ \immediate\write\fdout{\percent\space }
+ \immediate\write\fdout{\percent\space }
+ \immediate\write\fdout{\percent\space Note:}
+ \immediate\write\fdout{\percent\space\space\space 1) 'rule' is the width of the \string\vrule\space prepended/appended to the char.}
+ \immediate\write\fdout{\percent\space\space\space 2) 'flag,sp,st,sh' means 'flag,space,stretch,shrink', the glue is}
+ \immediate\write\fdout{\percent\space\space\space defined by: 'space'em plus 'stretch'em minus 'shrink'em}
+ \immediate\write\fdout{\percent\space\space\space (it is ignored when flag is not 1).}
+ \immediate\write\fdout{\percent\space\space\space 3) 'nbflag' means 'nobreak flag'.}
+ \immediate\write\fdout{\percent\space\space\space 4) For more information on the tbl file, we refer to the CCT package.}
+ \immediate\write\fdout{\percent\space\space\space set rule to '0', pre glue to '0,0,0,0', post glue to '0,-0.2,0,0.2'.}
+ \immediate\write\fdout{\percent\space\space\space}
+ \immediate\write\fdout{\percent\space\space\space pre \space\space\space\space\space\space\space post}
+ \immediate\write\fdout{\percent\space\space\space ------------------------------ ------------------------------}
+ \immediate\write\fdout{\percent\space\space\space glue \space\space\space\space\space\space glue}
+ \immediate\write\fdout{\percent\space\space\space char nbflag rule (flag,sp,st,sh) nbflag rule (flag,sp,st,sh)}
+ \immediate\write\fdout{\percent\space\space\space ---- ------------------------------ ------------------------------}
+}
+
+\def\setnumbers#1#2{
+ \def#1{0.}
+ \ifnum #2<0
+ \def#1{-.}
+ \cntb=-#2\relax
+ \else
+ \cntb=#2\relax
+ \fi
+ \ifnum\the\cntb>99\relax
+ \edef#1{#1\the\cntb}
+ \else
+ \ifnum\the\cntb>9\relax
+ \edef#1{#10\the\cntb}
+ \else
+ \edef#1{#100\the\cntb}
+ \fi
+ \fi}
+
+
+
+\def\setspecialpuncts{
+\edef\temp{\csname lspace@—\endcsname}
+\cnta=\temp\relax
+\edef\temp{\csname rspace@—\endcsname}
+\advance\cnta\temp\relax
+\advance\cnta 8\relax
+\cnta=-\cnta
+\setnumbers{\tempa}{\cnta}
+\immediate\write\fdout{\string\UTFpunct\space
+ — \space\space 1\space\space -.00 \space 0,0,0,0 \space\space 0\space\space
+ 0.00 \space 1,0,0,0\relax}
+\immediate\write\fdout{\string\UTFpunct\space
+ … \space\space 1\space\space -.00 \space 0,0,0,0 \space\space 0\space\space
+ 0.00 \space 1,0,0,0\relax}
+\immediate\write\fdout{\string\UTFpunctbreak\space —{}\relax}
+\immediate\write\fdout{\string\UTFpunctbreak\space …{}\relax}
+\immediate\write\fdout{\string\UTFkern\space —— \tempa\relax}
+\immediate\write\fdout{\string\UTFkern\space …… 0\relax}}
+
+%
+% CCT style kernings and glues
+%
+
+\def\outputtblitem{
+ \edef\punctchar{\csname punct\the\cntc\endcsname}
+ \expandafter\ifnum\csname prepunct\the\cntc\endcsname=0\relax
+ \edef\temp{\csname lspace@\punctchar\endcsname}
+ \cnta=125
+ \advance\cnta -\temp\relax
+ \setnumbers{\tempa}{\cnta}
+ \cntd=\cnta\relax
+%
+ \edef\temp{\csname rspace@\punctchar\endcsname}
+ \cnta=125
+ \advance\cnta -\temp\relax
+ \setnumbers{\tempb}{\cnta}
+ \advance\cntd\cnta\relax
+ \cntd=-\cntd\relax
+ \ifnum\the\cntd>200
+ \advance\cntd -200\relax
+ \def\tempd{.200}
+ \def\tempe{.200}
+ \else
+ \def\tempd{.000}
+ \def\tempe{.100}
+ \fi
+ \ifnum\the\cntd>0
+ \setnumbers{\tempc}{\cntd}
+ \else
+ \def\tempc{0.000}
+ \fi
+ \immediate\write\fdout{\string\UTFpunct\space\punctchar
+ \space\space 1 \space\tempa\space\space 0,0,0,0 \space 0 \space
+ \tempb\space\space 1,\tempc,\tempd,\tempe\relax}
+ \else
+ \edef\temp{\csname lspace@\punctchar\endcsname}
+ \cnta=125
+ \advance\cnta -\temp\relax
+ \setnumbers{\tempa}{\cnta}
+ \cntd=\cnta\relax
+ \edef\temp{\csname rspace@\punctchar\endcsname}
+ \cnta=125
+ \advance\cnta -\temp\relax
+ \setnumbers{\tempb}{\cnta}
+ \advance\cntd\cnta\relax
+ \cntd=-\cntd\relax
+ \ifnum\the\cntd>200
+ \advance\cntd -200\relax
+ \def\tempd{.200}
+ \def\tempe{.200}
+ \else
+ \def\tempd{.000}
+ \def\tempe{.100}
+ \fi
+ \ifnum\the\cntd>0
+ \setnumbers{\tempc}{\cntd}
+ \else
+ \def\tempc{0.000}
+ \fi
+ \immediate\write\fdout{\string\UTFpunct\space\punctchar
+ \space\space 0 \space\tempa\space\space 1,\tempc,\tempd,\tempe \space\space 1 \space\space
+ \tempb\space\space 0,0,0,0\relax}
+ \fi}
+
+\edef\tblfilename{\CJKlanguage c\@ttfontname.tbl}
+\immediate\openout\fdout=\tblfilename
+\outputtblfileheader
+\immediate\write\fdout{\percent}
+\immediate\write\fdout{\percent\space \space \string\punctstyle{CCT}}
+\immediate\write\fdout{\percent}
+\immediate\write\fdout{\string\expandafter\string\gdef\string\csname\space
+ xeCJK@\CJKlanguage c\@ttfontname\string\endcsname\lbrace\percent}
+
+\cntc=0
+\loop
+ \outputtblitem
+ \advance\cntc 1\relax
+ \ifnum\the\cntc<\totalpuncts\relax\repeat
+
+\setspecialpuncts
+\immediate\write\fdout{\string\xeCJK@defkern\rbrace\percent}
+\immediate\write\fdout{\string\endinput}
+\immediate\closeout\fdout
+
+
+\def\outputtblitem{
+ \edef\punctchar{\csname punct\the\cntc\endcsname}
+ \expandafter\ifnum\csname prepunct\the\cntc\endcsname=0\relax
+ \edef\temp{\csname lspace@\punctchar\endcsname}
+ \cnta=\sidespace\relax
+ \advance\cnta -\temp\relax
+ \setnumbers{\tempa}{\cnta}
+ \cntd=\cnta\relax
+%
+ \edef\temp{\csname rspace@\punctchar\endcsname}
+ \cnta=\sidespace\relax
+ \advance\cnta -\temp\relax
+ \setnumbers{\tempb}{\cnta}
+ \advance\cntd\cnta\relax
+ \advance\cntd\xeCJK@minusspace\relax
+ \cntd=-\cntd\relax
+ \ifcsname xeCJK@addspace\punctchar\endcsname
+ \edef\temp{\csname xeCJK@addspace\punctchar\endcsname}
+ \advance\cntd\temp\relax
+ \fi
+ \expandafter\edef\csname postglue\punctchar\endcsname{\the\cntd}
+ \expandafter\edef\csname preglue\punctchar\endcsname{0}
+ \edef\tempd{\stretchspace}
+ \edef\tempe{\shrinkspace}
+ \ifnum\the\cntd>0
+ \setnumbers{\tempc}{\cntd}
+ \else
+ \def\tempc{0.000}
+ \fi
+ \immediate\write\fdout{\string\UTFpunct\space\punctchar
+ \space\space 1 \space\tempa\space\space 0,0,0,0 \space 0 \space
+ \tempb\space\space 1,\tempc,\tempd,\tempe\relax}
+ \else
+ \edef\temp{\csname lspace@\punctchar\endcsname}
+ \cnta=\sidespace\relax
+ \advance\cnta -\temp\relax
+ \setnumbers{\tempa}{\cnta}
+ \cntd=\cnta\relax
+%
+ \edef\temp{\csname rspace@\punctchar\endcsname}
+ \cnta=\sidespace\relax
+ \advance\cnta -\temp\relax
+ \setnumbers{\tempb}{\cnta}
+ \advance\cntd\cnta\relax
+ \advance\cntd\xeCJK@minusspace\relax
+ \cntd=-\cntd\relax
+ \expandafter\edef\csname preglue\punctchar\endcsname{\the\cntd}
+ \expandafter\edef\csname postglue\punctchar\endcsname{0}
+ \edef\tempd{\stretchspace}
+ \edef\tempe{\shrinkspace}
+ \ifnum\the\cntd>0
+ \setnumbers{\tempc}{\cntd}
+ \else
+ \def\tempc{0.000}
+ \fi
+ \immediate\write\fdout{\string\UTFpunct\space\punctchar
+ \space\space 0 \space\tempa\space\space 1,\tempc,\tempd,\tempe \space\space 1 \space\space
+ \tempb\space\space 0,0,0,0\relax}
+ \fi}
+
+%
+% 全角式(又称全身式) 在全篇文章中除了两个符号连在一起时,前一符号用半角外,所有符号都用全角。
+%
+\def\sidespace{125}
+\cntc=0
+\def\xeCJK@minusspace{0}
+\def\stretchspace{.100}
+\def\shrinkspace{.020}
+\expandafter\def\csname xeCJK@addspace。\endcsname{0}
+\expandafter\def\csname xeCJK@addspace?\endcsname{0}
+\expandafter\def\csname xeCJK@addspace!\endcsname{0}
+
+
+
+\edef\tblfilename{\CJKlanguage q\@ttfontname.tbl}
+\immediate\openout\fdout=\tblfilename
+\outputtblfileheader
+
+\immediate\write\fdout{\percent}
+\immediate\write\fdout{\percent\space \space
+ \string\punctstyle{quanjiao}}
+\immediate\write\fdout{\percent}
+
+\immediate\write\fdout{\string\expandafter\string\gdef\string\csname\space
+ xeCJK@\CJKlanguage q\@ttfontname\string\endcsname\lbrace\percent}
+
+\loop
+ \outputtblitem
+ \advance\cntc 1\relax
+ \ifnum\the\cntc<\totalpuncts\relax\repeat
+
+\setspecialpuncts
+
+\def\punctpair#1#2{
+ \edef\temp{\csname postglue#1\endcsname}
+ \cnta=\temp\relax
+ \edef\temp{\csname preglue#2\endcsname}
+ \advance\cnta \temp\relax
+ \advance\cnta -500\relax
+ \ifnum\the\cnta>0
+ \setnumbers{\tempa}{\cnta}
+ \immediate\write\fdout{\string\UTFkern\space #1#2\space \tempa\relax}
+ \else
+ \immediate\write\fdout{\string\UTFkern\space #1#2\space 0\relax}
+ \fi}
+
+\punctpairs
+\immediate\write\fdout{\rbrace\percent}
+\immediate\write\fdout{\string\endinput}
+\immediate\closeout\fdout
+
+%
+%
+% 全部半角式,全部标点符号(破折号、省略号除外)都用半角版。这种排版多用于工具书。
+\def\stretchspace{.100}
+\def\shrinkspace{.000}
+\cntc=0
+\def\xeCJK@minusspace{500}
+\def\sidespace{100}
+\expandafter\def\csname xeCJK@addspace。\endcsname{0}
+\expandafter\def\csname xeCJK@addspace?\endcsname{0}
+\expandafter\def\csname xeCJK@addspace!\endcsname{0}
+
+
+\edef\tblfilename{\CJKlanguage b\@ttfontname.tbl}
+\immediate\openout\fdout=\tblfilename
+\outputtblfileheader
+
+
+\immediate\write\fdout{\percent}
+\immediate\write\fdout{\percent\space \space \string\punctstyle{banjiao}}
+\immediate\write\fdout{\percent}
+\immediate\write\fdout{\string\expandafter\string\gdef\string\csname\space
+ xeCJK@\CJKlanguage b\@ttfontname\string\endcsname\lbrace\percent}
+\loop
+ \outputtblitem
+ \advance\cntc 1\relax
+ \ifnum\the\cntc<\totalpuncts\relax\repeat
+
+\setspecialpuncts
+
+\def\punctpair#1#2{
+ \edef\temp{\csname postglue#1\endcsname}
+ \cnta=\temp\relax
+ \edef\temp{\csname preglue#2\endcsname}
+ \advance\cnta \temp\relax
+ \ifnum\the\cnta>0
+ \setnumbers{\tempa}{\cnta}
+ \immediate\write\fdout{\string\UTFkern\space #1#2\space \tempa\relax}
+ \else
+ \immediate\write\fdout{\string\UTFkern\space #1#2\space 0\relax}
+ \fi}
+
+\punctpairs
+\immediate\write\fdout{\rbrace\percent}
+\immediate\write\fdout{\string\endinput}
+\immediate\closeout\fdout
+
+
+
+%
+%
+% 开明式,凡表示一句结束的符号(如句号、问号、叹号等)用全角外,
+% 其它标点符号全部用半角。标点组合时的首标点一律用半角。目前大多出版物用此法。
+%
+%
+\def\stretchspace{.100}
+\def\shrinkspace{.000}
+\expandafter\def\csname xeCJK@addspace。\endcsname{500}
+\expandafter\def\csname xeCJK@addspace?\endcsname{500}
+\expandafter\def\csname xeCJK@addspace!\endcsname{500}
+\cntc=0
+\def\xeCJK@minusspace{500}
+\def\sidespace{100}
+
+\edef\tblfilename{\CJKlanguage k\@ttfontname.tbl}
+\immediate\openout\fdout=\tblfilename
+
+\outputtblfileheader
+
+
+\immediate\write\fdout{\percent}
+\immediate\write\fdout{\percent\space \space \string\punctstyle{kaiming}}
+\immediate\write\fdout{\percent}
+\immediate\write\fdout{\string\expandafter\string\gdef\string\csname\space
+ xeCJK@\CJKlanguage k\@ttfontname\string\endcsname\lbrace\percent}
+\loop
+ \outputtblitem
+ \advance\cntc 1\relax
+ \ifnum\the\cntc<\totalpuncts\relax\repeat
+
+\setspecialpuncts
+
+\def\punctpair#1#2{
+ \edef\temp{\csname postglue#1\endcsname}
+ \cnta=\temp\relax
+ \edef\temp{\csname preglue#2\endcsname}
+ \advance\cnta \temp\relax
+ \ifcsname xeCJK@addspace#1\endcsname
+ \expandafter\ifnum\csname prepunct@#2\endcsname=0\relax
+ \advance\cnta -500\relax
+ \fi
+ \fi
+ \ifnum\the\cnta>0
+ \setnumbers{\tempa}{\cnta}
+ \immediate\write\fdout{\string\UTFkern\space #1#2\space \tempa\relax}
+ \else
+ \immediate\write\fdout{\string\UTFkern\space #1#2\space 0\relax}
+ \fi}
+
+
+
+\punctpairs
+\immediate\write\fdout{\rbrace\percent}
+\immediate\write\fdout{\string\endinput}
+\immediate\closeout\fdout
diff --git a/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/fontlist.tex b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/fontlist.tex
new file mode 100644
index 00000000000..acd2ad25f2b
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/fontlist.tex
@@ -0,0 +1,65 @@
+% -*- coding: utf-8 -*-
+%
+%
+% \setCJKlanguagefont{<language>}{<font name>}
+%
+% <language> = chs | cht | ja | ko
+%
+%
+%
+% Examples:
+%
+% Chinese Simplified
+%\setCJKlanguagefont{chs}{"SimSun"}
+%\setCJKlanguagefont{chs}{"Bitstream CyberCJK"}
+%
+% Chinese Traditional
+%\setCJKlanguagefont{cht}{"MingLiU"}
+%
+%
+% Japanese
+%\setCJKlanguagefont{ja}{"Meiryo"}
+%
+% Korean
+%\setCJKlanguagefont{ko}{"Batang"}
+%
+%
+%
+
+%
+% change the name for the ghostscript executable if necessary:
+%
+% Linux
+%
+%\def\ghostscript{gs}
+
+%
+% Windows
+\def\ghostscript{gswin32c.exe}
+
+
+
+\setCJKlanguagefont{chs}{"SimSun"}
+\setCJKlanguagefont[def]{chs}{"SimSun"}
+
+\setCJKlanguagefont{chs}{"SimHei"}
+
+
+\setCJKlanguagefont{chs}{"FangSong"}
+\setCJKlanguagefont{chs}{"FangSong_GB2312"}
+\setCJKlanguagefont{chs}{"KaiTi"}
+\setCJKlanguagefont{chs}{"KaiTi_GB2312"}
+\setCJKlanguagefont{chs}{"YouYuan"}
+\setCJKlanguagefont{chs}{"LiSu"}
+\setCJKlanguagefont{chs}{"AR PL KaitiM GB"}
+\setCJKlanguagefont{chs}{"AR PL SungtiL GB"}
+\setCJKlanguagefont{chs}{"Bitstream CyberCJK"}
+%
+\setCJKlanguagefont{cht}{"Bitstream CyberCJK"}
+\setCJKlanguagefont[def]{cht}{"Bitstream CyberCJK"}
+%
+\setCJKlanguagefont{ja}{"Bitstream CyberCJK"}
+\setCJKlanguagefont[def]{ja}{"Bitstream CyberCJK"}
+%
+\setCJKlanguagefont{ko}{"Bitstream CyberCJK"}
+\setCJKlanguagefont[def]{ko}{"Bitstream CyberCJK"}
diff --git a/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/gbklist.tex b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/gbklist.tex
new file mode 100644
index 00000000000..137fe2ab500
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/gbklist.tex
@@ -0,0 +1,35 @@
+\punctnumber{226}{128}{152}
+\punctnumber{226}{128}{156}
+\punctnumber{227}{128}{148}
+\punctnumber{239}{188}{136}
+\punctnumber{239}{188}{187}
+\punctnumber{239}{189}{155}
+\punctnumber{227}{128}{136}
+\punctnumber{227}{128}{138}
+\punctnumber{227}{128}{150}
+\punctnumber{227}{128}{144}
+\punctnumber{227}{128}{140}
+\punctnumber{227}{128}{142}
+\punctnumber{227}{128}{129}
+\punctnumber{227}{128}{130}
+\punctnumber{239}{188}{140}
+\punctnumber{239}{188}{142}
+\punctnumber{239}{188}{154}
+\punctnumber{239}{188}{155}
+\punctnumber{239}{188}{129}
+\punctnumber{239}{188}{159}
+\punctnumber{239}{188}{133}
+\punctnumber{226}{128}{153}
+\punctnumber{226}{128}{157}
+\punctnumber{227}{128}{149}
+\punctnumber{239}{188}{137}
+\punctnumber{239}{188}{189}
+\punctnumber{239}{189}{157}
+\punctnumber{227}{128}{137}
+\punctnumber{227}{128}{139}
+\punctnumber{227}{128}{151}
+\punctnumber{227}{128}{145}
+\punctnumber{227}{128}{141}
+\punctnumber{227}{128}{143}
+\punctnumber{226}{128}{148}
+\punctnumber{226}{128}{166}
diff --git a/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/main.tex b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/main.tex
new file mode 100644
index 00000000000..0148ee573d3
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/main.tex
@@ -0,0 +1,69 @@
+% -*- coding: utf-8 -*-
+%
+\documentclass{article}
+\begin{document}
+\makeatletter
+\pagestyle{empty}
+
+
+\bgroup
+\catcode`\%=11
+\catcode`\{=11
+\catcode`\}=11
+\catcode`\(=1
+\catcode`\)=2
+\catcode`\#=11
+\gdef\sharp(#)
+\global\def\percent(%)
+\global\def\lbrace({)
+\global\def\rbrace(})
+\egroup
+
+\newwrite\fda
+\def\makefile@rubisha{
+\immediate\openout\fda=rubisha.tex\relax
+\immediate\write\fda{\string\documentclass{article}}
+\immediate\write\fda{\string\textwidth 2200pt }
+\immediate\write\fda{\string\textheight 2200pt }
+\immediate\write\fda{\string\begin{document} }
+\immediate\write\fda{\string\makeatletter }
+\immediate\write\fda{\string\pagestyle{empty} }
+\immediate\write\fda{\string\special{pdf: pagesize width 2200 truept height 2200 truept}}
+\immediate\write\fda{\string\def\string\prepunct\sharp1\lbrace
+ \sharp1\string\rule{0.5pt}{400pt}\string\newpage}
+\immediate\write\fda{\string\rule{0.5pt}{400pt}\sharp1\string\newpage}
+\immediate\write\fda{\string\@ifnextchar[{\string\xeCJK@gobble@a}{\string\prepunct}\rbrace}
+\immediate\write\fda{}
+\immediate\write\fda{\string\let\string\postpunct\string\prepunct}
+\immediate\write\fda{\string\def\string\xeCJK@gobble@a[]{} }
+\immediate\write\fda{}
+\immediate\write\fda{\string\font\string\1=\ttfontname\space at 2000 pt}
+\immediate\write\fda{\string\1}
+\immediate\write\fda{\string\input{punct-\CJKlanguage.tex}}
+\immediate\write\fda{\string\end{document}}
+\immediate\closeout\fda\relax}
+
+\newcount\cnta
+\newcount\cntb
+\newcount\cntc
+\newcount\cntd
+\newwrite\fdout
+
+\newcommand{\setCJKlanguagefont}[3][]{
+ \def\ttfontname@def{#1}
+ \def\CJKlanguage{#2}
+ \def\ttfontname{#3}
+ \makefile@rubisha
+ \immediate\write18{xelatex rubisha.tex}
+ \immediate\write18{\ghostscript\space -dBATCH
+ -dNOPAUSE -sDEVICE=epswrite -sOutputFile=rubish-\percent 02d.eps rubisha.pdf}
+ \input{eps2tbl.tex}}
+
+
+\input{fontlist.tex}
+
+
+
+
+\end{document}
+
diff --git a/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-chs.tex b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-chs.tex
new file mode 100644
index 00000000000..c0bedc342c8
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-chs.tex
@@ -0,0 +1,191 @@
+% -*- coding: utf-8 -*-
+
+
+%
+% punctuation list
+%
+%
+\def\CJKlanguage{chs}
+\prepunct ‘“〔([{〈《〖【「『[]
+\postpunct —、。,.:;!?%’”〕)]}〉》〗】」』[]
+
+\def\punctpairs{
+\punctpair 。”\relax
+\punctpair ”。\relax
+\punctpair :“\relax
+\punctpair ?”\relax
+\punctpair ”?\relax
+\punctpair !”\relax
+\punctpair ”!\relax
+\punctpair 、“\relax
+\punctpair ”、\relax
+\punctpair ,“\relax
+\punctpair ,”\relax
+\punctpair ”,\relax
+\punctpair 。’\relax
+\punctpair ’。\relax
+\punctpair :‘\relax
+\punctpair ?’\relax
+\punctpair ’?\relax
+\punctpair !’\relax
+\punctpair ’!\relax
+\punctpair 、‘\relax
+\punctpair ’、\relax
+\punctpair ,‘\relax
+\punctpair ,’\relax
+\punctpair ’,\relax
+\punctpair !?\relax
+\punctpair ?!\relax
+\punctpair ”)\relax
+\punctpair 。)\relax
+\punctpair ’)\relax
+\punctpair !)\relax
+\punctpair (“\relax
+\punctpair (‘\relax
+\punctpair )。\relax
+\punctpair ),\relax
+\punctpair ):\relax
+\punctpair );\relax
+\punctpair )、\relax
+\punctpair )!\relax
+\punctpair )?\relax
+\punctpair ]。\relax
+\punctpair ],\relax
+\punctpair ]:\relax
+\punctpair ];\relax
+\punctpair ]、\relax
+\punctpair ]!\relax
+\punctpair ]?\relax
+\punctpair }。\relax
+\punctpair },\relax
+\punctpair }:\relax
+\punctpair };\relax
+\punctpair }、\relax
+\punctpair }!\relax
+\punctpair }?\relax
+\punctpair 〉。\relax
+\punctpair 〉,\relax
+\punctpair 〉:\relax
+\punctpair 〉;\relax
+\punctpair 〉、\relax
+\punctpair 〉!\relax
+\punctpair 〉?\relax
+\punctpair 》。\relax
+\punctpair 》,\relax
+\punctpair 》:\relax
+\punctpair 》;\relax
+\punctpair 》、\relax
+\punctpair 》!\relax
+\punctpair 》?\relax
+\punctpair 〗。\relax
+\punctpair 〗,\relax
+\punctpair 〗:\relax
+\punctpair 〗;\relax
+\punctpair 〗、\relax
+\punctpair 〗!\relax
+\punctpair 〗?\relax
+\punctpair 】。\relax
+\punctpair 】,\relax
+\punctpair 】:\relax
+\punctpair 】;\relax
+\punctpair 】、\relax
+\punctpair 】!\relax
+\punctpair 】?\relax
+\punctpair 。(\relax
+\punctpair ,(\relax
+\punctpair :(\relax
+\punctpair ;(\relax
+\punctpair 、(\relax
+\punctpair !(\relax
+\punctpair ?(\relax
+\punctpair 。[\relax
+\punctpair ,[\relax
+\punctpair :[\relax
+\punctpair ;[\relax
+\punctpair 、[\relax
+\punctpair ![\relax
+\punctpair ?[\relax
+\punctpair 。{\relax
+\punctpair ,{\relax
+\punctpair :{\relax
+\punctpair ;{\relax
+\punctpair 、{\relax
+\punctpair !{\relax
+\punctpair ?{\relax
+\punctpair 。〈\relax
+\punctpair ,〈\relax
+\punctpair :〈\relax
+\punctpair ;〈\relax
+\punctpair 、〈\relax
+\punctpair !〈\relax
+\punctpair ?〈\relax
+\punctpair 。《\relax
+\punctpair ,《\relax
+\punctpair :《\relax
+\punctpair ;《\relax
+\punctpair 、《\relax
+\punctpair !《\relax
+\punctpair ?《\relax
+\punctpair 。〖\relax
+\punctpair ,〖\relax
+\punctpair :〖\relax
+\punctpair ;〖\relax
+\punctpair 、〖\relax
+\punctpair !〖\relax
+\punctpair ?〖\relax
+\punctpair 。【\relax
+\punctpair ,【\relax
+\punctpair :【\relax
+\punctpair ;【\relax
+\punctpair 、【\relax
+\punctpair !【\relax
+\punctpair ?【\relax
+\punctpair !》\relax
+\punctpair )》\relax
+\punctpair ’》\relax
+\punctpair ”》\relax
+\punctpair ]》\relax
+\punctpair ?》\relax
+\punctpair 《(\relax
+\punctpair 《[\relax
+\punctpair “(\relax
+\punctpair ‘(\relax
+\punctpair )”\relax
+\punctpair )’\relax
+\punctpair 》)\relax
+\punctpair (《\relax
+\punctpair 。』\relax
+\punctpair 』。\relax
+\punctpair :『\relax
+\punctpair ?』\relax
+\punctpair 』?\relax
+\punctpair !』\relax
+\punctpair 』!\relax
+\punctpair 、『\relax
+\punctpair 』、\relax
+\punctpair ,『\relax
+\punctpair ,』\relax
+\punctpair 』,\relax
+\punctpair 。」\relax
+\punctpair 」。\relax
+\punctpair :「\relax
+\punctpair ?」\relax
+\punctpair 」?\relax
+\punctpair !」\relax
+\punctpair 」!\relax
+\punctpair 、「\relax
+\punctpair 」、\relax
+\punctpair ,「\relax
+\punctpair ,」\relax
+\punctpair 」,\relax
+\punctpair 』)\relax
+\punctpair 」)\relax
+\punctpair (『\relax
+\punctpair (「\relax
+\punctpair 」》\relax
+\punctpair 』》\relax
+\punctpair 『(\relax
+\punctpair 「(\relax
+\punctpair )』\relax
+\punctpair )」\relax
+}
diff --git a/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-cht.tex b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-cht.tex
new file mode 100644
index 00000000000..2cbc40ac006
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-cht.tex
@@ -0,0 +1,192 @@
+% -*- coding: utf-8 -*-
+
+
+%
+% punctuation list
+%
+%
+\def\CJKlanguage{cht}
+\prepunct ‘“〔([{〈《〖【「『[]
+\postpunct —、。,.:;!?%’”〕)]}〉》〗】」』[]
+
+
+\def\punctpairs{
+\punctpair 。”\relax
+\punctpair ”。\relax
+\punctpair :“\relax
+\punctpair ?”\relax
+\punctpair ”?\relax
+\punctpair !”\relax
+\punctpair ”!\relax
+\punctpair 、“\relax
+\punctpair ”、\relax
+\punctpair ,“\relax
+\punctpair ,”\relax
+\punctpair ”,\relax
+\punctpair 。’\relax
+\punctpair ’。\relax
+\punctpair :‘\relax
+\punctpair ?’\relax
+\punctpair ’?\relax
+\punctpair !’\relax
+\punctpair ’!\relax
+\punctpair 、‘\relax
+\punctpair ’、\relax
+\punctpair ,‘\relax
+\punctpair ,’\relax
+\punctpair ’,\relax
+\punctpair !?\relax
+\punctpair ?!\relax
+\punctpair ”)\relax
+\punctpair 。)\relax
+\punctpair ’)\relax
+\punctpair !)\relax
+\punctpair (“\relax
+\punctpair (‘\relax
+\punctpair )。\relax
+\punctpair ),\relax
+\punctpair ):\relax
+\punctpair );\relax
+\punctpair )、\relax
+\punctpair )!\relax
+\punctpair )?\relax
+\punctpair ]。\relax
+\punctpair ],\relax
+\punctpair ]:\relax
+\punctpair ];\relax
+\punctpair ]、\relax
+\punctpair ]!\relax
+\punctpair ]?\relax
+\punctpair }。\relax
+\punctpair },\relax
+\punctpair }:\relax
+\punctpair };\relax
+\punctpair }、\relax
+\punctpair }!\relax
+\punctpair }?\relax
+\punctpair 〉。\relax
+\punctpair 〉,\relax
+\punctpair 〉:\relax
+\punctpair 〉;\relax
+\punctpair 〉、\relax
+\punctpair 〉!\relax
+\punctpair 〉?\relax
+\punctpair 》。\relax
+\punctpair 》,\relax
+\punctpair 》:\relax
+\punctpair 》;\relax
+\punctpair 》、\relax
+\punctpair 》!\relax
+\punctpair 》?\relax
+\punctpair 〗。\relax
+\punctpair 〗,\relax
+\punctpair 〗:\relax
+\punctpair 〗;\relax
+\punctpair 〗、\relax
+\punctpair 〗!\relax
+\punctpair 〗?\relax
+\punctpair 】。\relax
+\punctpair 】,\relax
+\punctpair 】:\relax
+\punctpair 】;\relax
+\punctpair 】、\relax
+\punctpair 】!\relax
+\punctpair 】?\relax
+\punctpair 。(\relax
+\punctpair ,(\relax
+\punctpair :(\relax
+\punctpair ;(\relax
+\punctpair 、(\relax
+\punctpair !(\relax
+\punctpair ?(\relax
+\punctpair 。[\relax
+\punctpair ,[\relax
+\punctpair :[\relax
+\punctpair ;[\relax
+\punctpair 、[\relax
+\punctpair ![\relax
+\punctpair ?[\relax
+\punctpair 。{\relax
+\punctpair ,{\relax
+\punctpair :{\relax
+\punctpair ;{\relax
+\punctpair 、{\relax
+\punctpair !{\relax
+\punctpair ?{\relax
+\punctpair 。〈\relax
+\punctpair ,〈\relax
+\punctpair :〈\relax
+\punctpair ;〈\relax
+\punctpair 、〈\relax
+\punctpair !〈\relax
+\punctpair ?〈\relax
+\punctpair 。《\relax
+\punctpair ,《\relax
+\punctpair :《\relax
+\punctpair ;《\relax
+\punctpair 、《\relax
+\punctpair !《\relax
+\punctpair ?《\relax
+\punctpair 。〖\relax
+\punctpair ,〖\relax
+\punctpair :〖\relax
+\punctpair ;〖\relax
+\punctpair 、〖\relax
+\punctpair !〖\relax
+\punctpair ?〖\relax
+\punctpair 。【\relax
+\punctpair ,【\relax
+\punctpair :【\relax
+\punctpair ;【\relax
+\punctpair 、【\relax
+\punctpair !【\relax
+\punctpair ?【\relax
+\punctpair !》\relax
+\punctpair )》\relax
+\punctpair ’》\relax
+\punctpair ”》\relax
+\punctpair ]》\relax
+\punctpair ?》\relax
+\punctpair 《(\relax
+\punctpair 《[\relax
+\punctpair “(\relax
+\punctpair ‘(\relax
+\punctpair )”\relax
+\punctpair )’\relax
+\punctpair 》)\relax
+\punctpair (《\relax
+\punctpair 。』\relax
+\punctpair 』。\relax
+\punctpair :『\relax
+\punctpair ?』\relax
+\punctpair 』?\relax
+\punctpair !』\relax
+\punctpair 』!\relax
+\punctpair 、『\relax
+\punctpair 』、\relax
+\punctpair ,『\relax
+\punctpair ,』\relax
+\punctpair 』,\relax
+\punctpair 。」\relax
+\punctpair 」。\relax
+\punctpair :「\relax
+\punctpair ?」\relax
+\punctpair 」?\relax
+\punctpair !」\relax
+\punctpair 」!\relax
+\punctpair 、「\relax
+\punctpair 」、\relax
+\punctpair ,「\relax
+\punctpair ,」\relax
+\punctpair 」,\relax
+\punctpair 』)\relax
+\punctpair 」)\relax
+\punctpair (『\relax
+\punctpair (「\relax
+\punctpair 」》\relax
+\punctpair 』》\relax
+\punctpair 『(\relax
+\punctpair 「(\relax
+\punctpair )』\relax
+\punctpair )」\relax
+} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-ja.tex b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-ja.tex
new file mode 100644
index 00000000000..22af8a48bcd
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-ja.tex
@@ -0,0 +1,143 @@
+% -*- coding: utf-8 -*-
+
+
+%
+% punctuation list
+%
+%
+\def\CJKlanguage{ja}
+\prepunct (〔[{〈《「『【[]
+\postpunct —、。,.:;?!ヽヾゝゞ々〆ー)〕]}〉》」』】%ぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮヵヶ[]
+
+\def\punctpairs{
+\punctpair !?\relax
+\punctpair ?!\relax
+\punctpair 。)\relax
+\punctpair !)\relax
+\punctpair )。\relax
+\punctpair ),\relax
+\punctpair ):\relax
+\punctpair );\relax
+\punctpair )、\relax
+\punctpair )!\relax
+\punctpair )?\relax
+\punctpair ]。\relax
+\punctpair ],\relax
+\punctpair ]:\relax
+\punctpair ];\relax
+\punctpair ]、\relax
+\punctpair ]!\relax
+\punctpair ]?\relax
+\punctpair }。\relax
+\punctpair },\relax
+\punctpair }:\relax
+\punctpair };\relax
+\punctpair }、\relax
+\punctpair }!\relax
+\punctpair }?\relax
+\punctpair 〉。\relax
+\punctpair 〉,\relax
+\punctpair 〉:\relax
+\punctpair 〉;\relax
+\punctpair 〉、\relax
+\punctpair 〉!\relax
+\punctpair 〉?\relax
+\punctpair 》。\relax
+\punctpair 》,\relax
+\punctpair 》:\relax
+\punctpair 》;\relax
+\punctpair 》、\relax
+\punctpair 》!\relax
+\punctpair 》?\relax
+\punctpair 】。\relax
+\punctpair 】,\relax
+\punctpair 】:\relax
+\punctpair 】;\relax
+\punctpair 】、\relax
+\punctpair 】!\relax
+\punctpair 】?\relax
+\punctpair 。(\relax
+\punctpair ,(\relax
+\punctpair :(\relax
+\punctpair ;(\relax
+\punctpair 、(\relax
+\punctpair !(\relax
+\punctpair ?(\relax
+\punctpair 。[\relax
+\punctpair ,[\relax
+\punctpair :[\relax
+\punctpair ;[\relax
+\punctpair 、[\relax
+\punctpair ![\relax
+\punctpair ?[\relax
+\punctpair 。{\relax
+\punctpair ,{\relax
+\punctpair :{\relax
+\punctpair ;{\relax
+\punctpair 、{\relax
+\punctpair !{\relax
+\punctpair ?{\relax
+\punctpair 。〈\relax
+\punctpair ,〈\relax
+\punctpair :〈\relax
+\punctpair ;〈\relax
+\punctpair 、〈\relax
+\punctpair !〈\relax
+\punctpair ?〈\relax
+\punctpair 。《\relax
+\punctpair ,《\relax
+\punctpair :《\relax
+\punctpair ;《\relax
+\punctpair 、《\relax
+\punctpair !《\relax
+\punctpair ?《\relax
+\punctpair 。【\relax
+\punctpair ,【\relax
+\punctpair :【\relax
+\punctpair ;【\relax
+\punctpair 、【\relax
+\punctpair !【\relax
+\punctpair ?【\relax
+\punctpair !》\relax
+\punctpair )》\relax
+\punctpair ]》\relax
+\punctpair ?》\relax
+\punctpair 《(\relax
+\punctpair 《[\relax
+\punctpair 》)\relax
+\punctpair (《\relax
+\punctpair 。』\relax
+\punctpair 』。\relax
+\punctpair :『\relax
+\punctpair ?』\relax
+\punctpair 』?\relax
+\punctpair !』\relax
+\punctpair 』!\relax
+\punctpair 、『\relax
+\punctpair 』、\relax
+\punctpair ,『\relax
+\punctpair ,』\relax
+\punctpair 』,\relax
+\punctpair 。」\relax
+\punctpair 」。\relax
+\punctpair :「\relax
+\punctpair ?」\relax
+\punctpair 」?\relax
+\punctpair !」\relax
+\punctpair 」!\relax
+\punctpair 、「\relax
+\punctpair 」、\relax
+\punctpair ,「\relax
+\punctpair ,」\relax
+\punctpair 」,\relax
+\punctpair 』)\relax
+\punctpair 」)\relax
+\punctpair (『\relax
+\punctpair (「\relax
+\punctpair 」》\relax
+\punctpair 』》\relax
+\punctpair 『(\relax
+\punctpair 「(\relax
+\punctpair )』\relax
+\punctpair )」\relax
+} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-ko.tex b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-ko.tex
new file mode 100644
index 00000000000..1b6e8989eee
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/punct-ko.tex
@@ -0,0 +1,143 @@
+% -*- coding: utf-8 -*-
+
+
+%
+% punctuation list
+%
+%
+\def\CJKlanguage{ko}
+\prepunct 〔〈《「『【([{[]
+\postpunct —、。‥…〕〉》」』】!%),.:;?]}[]
+
+\def\punctpairs{
+\punctpair !?\relax
+\punctpair ?!\relax
+\punctpair 。)\relax
+\punctpair !)\relax
+\punctpair )。\relax
+\punctpair ),\relax
+\punctpair ):\relax
+\punctpair );\relax
+\punctpair )、\relax
+\punctpair )!\relax
+\punctpair )?\relax
+\punctpair ]。\relax
+\punctpair ],\relax
+\punctpair ]:\relax
+\punctpair ];\relax
+\punctpair ]、\relax
+\punctpair ]!\relax
+\punctpair ]?\relax
+\punctpair }。\relax
+\punctpair },\relax
+\punctpair }:\relax
+\punctpair };\relax
+\punctpair }、\relax
+\punctpair }!\relax
+\punctpair }?\relax
+\punctpair 〉。\relax
+\punctpair 〉,\relax
+\punctpair 〉:\relax
+\punctpair 〉;\relax
+\punctpair 〉、\relax
+\punctpair 〉!\relax
+\punctpair 〉?\relax
+\punctpair 》。\relax
+\punctpair 》,\relax
+\punctpair 》:\relax
+\punctpair 》;\relax
+\punctpair 》、\relax
+\punctpair 》!\relax
+\punctpair 》?\relax
+\punctpair 】。\relax
+\punctpair 】,\relax
+\punctpair 】:\relax
+\punctpair 】;\relax
+\punctpair 】、\relax
+\punctpair 】!\relax
+\punctpair 】?\relax
+\punctpair 。(\relax
+\punctpair ,(\relax
+\punctpair :(\relax
+\punctpair ;(\relax
+\punctpair 、(\relax
+\punctpair !(\relax
+\punctpair ?(\relax
+\punctpair 。[\relax
+\punctpair ,[\relax
+\punctpair :[\relax
+\punctpair ;[\relax
+\punctpair 、[\relax
+\punctpair ![\relax
+\punctpair ?[\relax
+\punctpair 。{\relax
+\punctpair ,{\relax
+\punctpair :{\relax
+\punctpair ;{\relax
+\punctpair 、{\relax
+\punctpair !{\relax
+\punctpair ?{\relax
+\punctpair 。〈\relax
+\punctpair ,〈\relax
+\punctpair :〈\relax
+\punctpair ;〈\relax
+\punctpair 、〈\relax
+\punctpair !〈\relax
+\punctpair ?〈\relax
+\punctpair 。《\relax
+\punctpair ,《\relax
+\punctpair :《\relax
+\punctpair ;《\relax
+\punctpair 、《\relax
+\punctpair !《\relax
+\punctpair ?《\relax
+\punctpair 。【\relax
+\punctpair ,【\relax
+\punctpair :【\relax
+\punctpair ;【\relax
+\punctpair 、【\relax
+\punctpair !【\relax
+\punctpair ?【\relax
+\punctpair !》\relax
+\punctpair )》\relax
+\punctpair ]》\relax
+\punctpair ?》\relax
+\punctpair 《(\relax
+\punctpair 《[\relax
+\punctpair 》)\relax
+\punctpair (《\relax
+\punctpair 。』\relax
+\punctpair 』。\relax
+\punctpair :『\relax
+\punctpair ?』\relax
+\punctpair 』?\relax
+\punctpair !』\relax
+\punctpair 』!\relax
+\punctpair 、『\relax
+\punctpair 』、\relax
+\punctpair ,『\relax
+\punctpair ,』\relax
+\punctpair 』,\relax
+\punctpair 。」\relax
+\punctpair 」。\relax
+\punctpair :「\relax
+\punctpair ?」\relax
+\punctpair 」?\relax
+\punctpair !」\relax
+\punctpair 」!\relax
+\punctpair 、「\relax
+\punctpair 」、\relax
+\punctpair ,「\relax
+\punctpair ,」\relax
+\punctpair 」,\relax
+\punctpair 』)\relax
+\punctpair 」)\relax
+\punctpair (『\relax
+\punctpair (「\relax
+\punctpair 」》\relax
+\punctpair 』》\relax
+\punctpair 『(\relax
+\punctpair 「(\relax
+\punctpair )』\relax
+\punctpair )」\relax
+} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/utf2gbk.tex b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/utf2gbk.tex
new file mode 100644
index 00000000000..aef2d51d909
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xecjk/make-tbl-file/utf2gbk.tex
@@ -0,0 +1,139 @@
+%
+% convert tbl files:
+%
+% UTF --> gbk
+
+\documentclass[12pt]{article}
+\begin{document}
+\makeatletter
+
+\@tempcnta "080\relax
+ \loop
+ \catcode\@tempcnta \active
+ \ifnum\@tempcnta < "0FE\relax
+ \advance\@tempcnta \@ne
+ \repeat
+
+\newwrite\fdout
+
+\def\punctnumber#1#2#3#4#5{
+\expandafter\def\csname punct@#1#2#3\endcsname{\string#4\string#5}}
+
+\input{gbklist.tex}
+
+\def\UTFpunct#1#2#3#4\relax{
+\immediate\write\fdout{\string\GBKpunct\space\csname
+ punct@\number `#1\number`#2\number`#3\endcsname#4\relax}}
+
+\def\UTFpunctbreak#1#2#3#4\relax{
+\immediate\write\fdout{\string\GBKpunctbreak\space\csname
+ punct@\number `#1\number`#2\number`#3\endcsname#4\relax}}
+
+\def\UTFkern#1#2#3#4#5#6#7\relax{
+\immediate\write\fdout{\string\GBKkern\space\csname
+ punct@\number `#1\number`#2\number`#3\endcsname
+ \csname
+ punct@\number `#4\number`#5\number`#6\endcsname
+ #7\relax}}
+
+\def\xeCJK@defkern{\immediate\write\fdout{\string\xeCJK@defkern}}
+
+
+\def\tblversion{2008/06/20}
+
+\bgroup
+\catcode`\%=11
+\catcode`\{=11
+\catcode`\}=11
+\catcode`\(=1
+\catcode`\)=2
+\global\def\percent(%)
+\global\def\lbrace({)
+\global\def\rbrace(})
+\egroup
+
+
+
+\def\outputtblfileheader{
+ \immediate\write\fdout{\percent\space }
+ \immediate\write\fdout{\percent\space This is the file \gbktblfilename.tbl\space version
+ \tblversion}
+ \bgroup
+ \count@\time
+ \divide\count@ 60
+ \count2=-\count@
+ \multiply\count2 60
+ \advance\count2 \time
+ \edef\today{%
+ \the\year/\two@digits{\the\month}/\two@digits{\the\day}%
+ \space\space at\space
+ \two@digits{\the\count@}:\two@digits{\the\count2}}
+ \immediate\write\fdout{\percent\space This is a generated file [\today].}
+ \egroup
+ \immediate\write\fdout{\percent\space Do not modify it!}
+ \immediate\write\fdout{\percent\space }
+ \immediate\write\fdout{\percent\space }
+ \immediate\write\fdout{\percent\space Note:}
+ \immediate\write\fdout{\percent\space\space\space 1) 'rule' is the width of the \string\vrule\space prepended/appended to the char.}
+ \immediate\write\fdout{\percent\space\space\space 2) 'flag,sp,st,sh' means 'flag,space,stretch,shrink', the glue is}
+ \immediate\write\fdout{\percent\space\space\space defined by: 'space'em plus 'stretch'em minus 'shrink'em}
+ \immediate\write\fdout{\percent\space\space\space (it is ignored when flag is not 1).}
+ \immediate\write\fdout{\percent\space\space\space 3) 'nbflag' means 'nobreak flag'.}
+ \immediate\write\fdout{\percent\space\space\space 4) For more information on the tbl file, we refer to the CCT package.}
+ \immediate\write\fdout{\percent\space\space\space set rule to '0', pre glue to '0,0,0,0', post glue to '0,-0.2,0,0.2'.}
+ \immediate\write\fdout{\percent\space\space\space}
+ \immediate\write\fdout{\percent\space\space\space pre \space\space\space\space\space\space\space post}
+ \immediate\write\fdout{\percent\space\space\space ------------------------------ ------------------------------}
+ \immediate\write\fdout{\percent\space\space\space glue \space\space\space\space\space\space glue}
+ \immediate\write\fdout{\percent\space\space\space char nbflag rule (flag,sp,st,sh) nbflag rule (flag,sp,st,sh)}
+ \immediate\write\fdout{\percent\space\space\space ---- ------------------------------ ------------------------------}
+}
+
+
+\def\punctstyle#1{
+ \ifcsname xeCJK@ps@#1\endcsname
+ \edef\xeCJK@pstyle{\csname xeCJK@ps@#1\endcsname}
+ \else
+ \typeout{Warning: Punctstyle #1\space is not defined.}
+ \fi}
+
+\def\xeCJK@ps@kaiming{k}
+\def\xeCJK@ps@banjiao{b}
+\def\xeCJK@ps@quanjiao{q}
+\def\xeCJK@ps@CCT{c}
+
+\def\makegbktbl#1#2#3{
+\punctstyle{#1}
+\edef\gbktblfilename{gbk\xeCJK@pstyle#3}
+\immediate\openout\fdout=\gbktblfilename.tbl
+\outputtblfileheader
+\immediate\write\fdout{\percent}
+\immediate\write\fdout{\percent\space \space \string\punctstyle{#1}}
+\immediate\write\fdout{\percent}
+\immediate\write\fdout{\string\expandafter\string\gdef\string\csname\space
+ xeCJK@\gbktblfilename\string\endcsname\lbrace\percent}
+\input{chs\xeCJK@pstyle#2.tbl}
+
+\csname xeCJK@chs\xeCJK@pstyle#2\endcsname
+
+\immediate\write\fdout{\rbrace\percent}
+\immediate\write\fdout{\string\endinput}
+\immediate\closeout\fdout}
+
+\def\makegbktbls#1#2{
+\makegbktbl{CCT}{#1}{#2}
+\makegbktbl{banjiao}{#1}{#2}
+\makegbktbl{quanjiao}{#1}{#2}
+\makegbktbl{kaiming}{#1}{#2}}
+
+
+\makegbktbls{simsun}{song}
+\makegbktbls{simhei}{hei}
+\makegbktbls{lisu}{li}
+\makegbktbls{youyuan}{you}
+\makegbktbls{kaiti}{kai}
+\makegbktbls{fangsong}{fs}
+\makegbktbls{def}{def}
+
+
+\end{document}