diff options
author | Karl Berry <karl@freefriends.org> | 2008-07-13 20:37:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-07-13 20:37:26 +0000 |
commit | 97ed0a0a2537a9082a8862be3fb23f89533a17d6 (patch) | |
tree | 63e8af45752837db181e6166a66b4a1be372bd17 /Master/texmf-dist/source/xelatex | |
parent | abccbb6f0951bc5a8ff88441636b91f46e8da766 (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')
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} |