OSDN Git Service

Add a Chinese help document(draft) of pTeX.
[luatex-ja/luatexja.git] / test / zh / ptex-zh.tex
1 \documentclass{zh-article}
2 \usepackage{geometry}
3 \geometry{twoside,left=23mm,width=170mm,right=17mm,top=25mm,height=231mm,bottom=32mm}
4 \def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}}
5 \def\pTeX{p\TeX}
6 \def\upTeX{up\TeX}
7 \def\LuaTeX{Lua\TeX}
8 \def\cwTeX{cw\TeX}
9 \def\PuTeX{P\kern-.1667em\lower.5ex\hbox{U}\kern-.1667em\TeX}
10 \begin{document}
11 \title{高性能排版:从\pTeX到\LuaTeX-ja}
12 \author{马起园}
13 \date{2012年3月}
14 \maketitle
15 \section{引言}
16 \subsection{CJK语言排版综述}
17 CJK是英文中日韩(Chinese, Japanese, Korean)的缩写。CJK语言的排版因为涉及到大量象形字和诸多技术处理细节,一直是\TeX中的排版难题。自\TeX发明以来,有多种排版CJK语言的方法:
18 \begin{itemize}
19 \item 次字体框架(subfont scheme),将CJK字体分割为字符为256个或者更少的字符为单位的字体。次字体框架的弊病为不能在不同的次级字体中增加胶(glue)和出格(kern)。
20 \item 对\TeX进行扩展,例如扩展至支持Unicode或者JIS之类,可以处理CJK。
21 \item 根据扩展的\TeX来处理CJK排版。
22 \end{itemize}
23
24 由这三种方法,衍生出了大量的CJK版本的\TeX扩展(为讨论方便,此处略去韩国扩展部分)。pmC/pmJ,\cwTeX,\PuTeX,CCT,TY,\JTeX,\pTeX,\Omega-CJK,CJK,xeCJK,zhspacing。
25
26 本文主要讨论日本对\TeX的贡献。
27 \subsection{日本的\TeX扩展历史}
28 1987年,NTT的斋藤康己开发了\JTeX\cite{1},使用次字体框架(Subfont Scheme)技术,使用33个字体,每个字体包含256个字符。
29
30 同年,ASCII公司的大野俊治和苍泽良一开发了ASCII Nihongo \TeX。
31
32 1990年,滨野尚人对ASCII Nihongo \TeX扩展了直行排版功能,此版更名为\pTeX。
33
34 1995年,\pTeX升级到\TeX3扩展。
35
36 2007年,田中琢尔对\pTeX进行Unicode扩展,可以处理CJK区块。
37
38 2011年,LuaTeX-ja项目成立。
39 \section{\pTeX/\upTeX细节}
40 \subsection{汉字间隙}
41 汉字间隙在\pTeX中定义为\verb!\kanjiskip!,初始值为\verb!0pt plus .4pt minus.4pt!,有如下定义:
42 $$      字宽 \times \frac{1}{单行字数 - 1}        $$
43 \subsection{汉字与西文}
44 \verb!\noautospacing!和\verb!\autospacing!
45
46 汉字与西文之间:\verb!\inhibitxspcode!和\verb!\xspcode!
47
48 西文与汉字之间:\verb!\xspcode!和\verb!\inhibitxspcode!
49 \subsection{JFM}
50 \verb!\inhibitglue!
51
52 和文フォントのメトリック情報から、自動的に挿入されるグルーの挿入を禁止します。このプリミティブを挿入した箇所にのみ有効です。 
53 \subsection{记号类}
54 \verb!\xspcode!和\verb!\inhibitxspcode!
55
56 \begin{itemize}
57 \item   0  漢字と英字間の処理を禁止する。
58 \item   1  文字と直前の英字との間にだけスペースの挿入を禁止する。
59 \item   2  直後の英字との間にだけスペースの挿入を禁止する。
60 \item   3  前後の英字との間に対して、スペースの挿入を許可する。
61 \end{itemize}
62 \begin{verbatim}
63     \xspcode`(=1    \xspcode`)=2     \xspcode`[=1
64     \xspcode`]=2    \xspcode``=1     \xspcode`'=2
65     \xspcode`;=2    \xspcode`,=2     \xspcode`.=2
66
67     \inhibitxspcode`、=1   \inhibitxspcode`。=1
68     \inhibitxspcode`,=1   \inhibitxspcode`.=1
69     \inhibitxspcode`;=1   \inhibitxspcode`?=1
70     \inhibitxspcode`(=2   \inhibitxspcode`)=1
71     \inhibitxspcode`[=2   \inhibitxspcode`]=1
72     \inhibitxspcode`{=2   \inhibitxspcode`}=1
73     \inhibitxspcode`‘=2   \inhibitxspcode`’=1
74     \inhibitxspcode`“=2   \inhibitxspcode`”=1
75     \inhibitxspcode`〔=2   \inhibitxspcode`〕=1
76     \inhibitxspcode`〈=2   \inhibitxspcode`〉=1
77     \inhibitxspcode`《=2   \inhibitxspcode`》=1
78     \inhibitxspcode`「=2   \inhibitxspcode`」=1
79     \inhibitxspcode`『=2   \inhibitxspcode`』=1
80     \inhibitxspcode`【=2   \inhibitxspcode`】=1
81     \inhibitxspcode`―=0   \inhibitxspcode`~=0
82     \inhibitxspcode`…=0   \inhibitxspcode`¥=0
83     \inhibitxspcode`°=1   \inhibitxspcode`′=1
84     \inhibitxspcode`″=1
85 \end{verbatim}
86 \section{\LuaTeX-ja:\pTeX的\LuaTeX实现。}
87
88 \begin{thebibliography}{99}
89 \bibitem{1}奥村晴彦,{\it \pTeX\ and Japanese Typesetting\/}, The Asian Journal of \TeX\ 2 (2008), no. 1, 43-51
90 \bibitem{2}斋藤康己,{\it Report on \JTeX: A Japanese \TeX\/}, TUGboat 8 (1987), no. 2, 103-116.
91 \bibitem{3}滨野尚人,{\it Vertical typesetting with \TeX\/}, TUGboat 11 (1990), no. 3, 346-352.
92 \bibitem{4}田中琢尔,{\it \upTeX\/}. \texttt{http://homepage3.nifty.com/ttk/comp/tex/uptex.html}
93 \bibitem{5}ASCII MEDIA WORKS, {\hei アスキー日本語\TeX\ (\pTeX)}. \texttt{http://ascii.asciimw.jp/pb/ptex/}
94 \bibitem{6}赵珍焕,奥村晴彦,{\it Typesetting CJK Languages with Omega\/}, \TeX, XML, and Digital Typography, Lecture Notes in Computer Science, vol.~3130, Springer, 2004, 139--148.
95 \end{thebibliography}
96 \end{document}