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