/それ以上の品質の日本語組版を実現させようとするマクロパッケージである.
%</ja>
%<*zh>
-\LuaTeX-ja宏包是应用于下一代标准\TeX引擎亦即\LuaTeX引擎上的高质量日语文档排版宏包。
+\LuaTeX-ja宏包是应用于下一代标准\TeX 引擎亦即\LuaTeX 引擎上的高质量日语文档排版宏包。
%</zh>
%<en>\subsection{Backgrounds}
のエンジン拡張であり,(少々仕様上不便な点はあるものの)商業印刷の分野に
も用いられるほどの高品質な日本語組版を可能としている.だが,それは弱点に
もなってしまった:\pTeX という(組版的に)満足なものがあったため,海外で
-è¡\8cã\82\8fã\82\8cã\81¦ã\81\84ã\82\8bæ\95°ã\80\85ã\81®\TeX ã\81®æ\8b¡å¼µâ\94\80â\94\80ä¾\8bã\81\88ã\81°\eTeX ã\82\84\pdfTeX â\94\80â\94\80や,TrueType,
+è¡\8cã\82\8fã\82\8cã\81¦ã\81\84ã\82\8bæ\95°ã\80\85ã\81®\TeX ã\81®æ\8b¡å¼µâ\80\95â\80\95ä¾\8bã\81\88ã\81°\eTeX ã\82\84\pdfTeX â\80\95â\80\95や,TrueType,
OpenType, Unicodeといった計算機で日本語を扱う際の状況の変化に追従すること
を怠ってしまったのだ.
%</ja>
%<*zh>
-一般情况下,\TeX下的日语文档输出,是ASCII \pTeX(\TeX的一个扩展)及其衍生
-软件来完成的。\pTeX作为\TeX的一个扩展引擎,在生成高质量的日语文档时,规避
-了繁杂的宏编写。但是在和同时期的引擎相比之下,\pTeX的处境未免有些尴尬:\pTeX
-已经远远落后于\eTeX和pdf\TeX,此外也没有跟上计算机上对日文处理的演进(比如,
+一般情况下,\TeX 下的日语文档输出,是ASCII \pTeX(\TeX 的一个扩展)及其衍生
+软件来完成的。\pTeX 作为\TeX 的一个扩展引擎,在生成高质量的日语文档时,规避
+了繁杂的宏编写。但是在和同时期的引擎相比之下,\pTeX 的处境未免有些尴尬:\pTeX
+已经远远落后于\eTeX 和pdf\TeX,此外也没有跟上计算机上对日文处理的演进(比如,
UTF-8编码,TrueType字体,OpenType字体)。
%</zh>
る.
%</ja>
%<*zh>
-最近开发的\pTeX扩展,即\upTeX(Unicode下的\pTeX实现)和\epTeX(\pTeX和
-\eTeX的融合版本),虽然在部分情况上弥补了上述的差距,但是差距依然存在。
+最近开发的\pTeX 扩展,即\upTeX(Unicode下的\pTeX 实现)和\epTeX(\pTeX 和
+\eTeX 的融合版本),虽然在部分情况上弥补了上述的差距,但是差距依然存在。
%</zh>
%<*en>
が始まったパッケージである.
%</ja>
%<*zh>
-不过,\LuaTeX的出现改变了整个状况。用户可以通过使用Lua语言的“callback”来
-调整\LuaTeX的内部处理机制。所以,没有必要去通过修改引擎的源代码来支持日文
+不过,\LuaTeX 的出现改变了整个状况。用户可以通过使用Lua语言的“callback”来
+调整\LuaTeX 的内部处理机制。所以,没有必要去通过修改引擎的源代码来支持日文
排版,相反,我们需要做的仅仅是编写其当处理callback的Lua脚本。
%</zh>
%<en>\subsection{Major Changes from \pTeX}
%<ja>\subsection{\pTeX からの主な変更点}
-%<zh>\subsection{与\pTeX的差异所在}
+%<zh>\subsection{与\pTeX 的差异所在}
%<*en>
The \LuaTeX-ja package is under much influence of \pTeX\ engine. The initial
れば,そこは積極的に改める.}
%</ja>
%<*zh>
-\LuaTeX-ja宏包在设计上,受\pTeX影响很大。最初开发的主要议题是实现\pTeX的特性。
+\LuaTeX-ja宏包在设计上,受\pTeX 影响很大。最初开发的主要议题是实现\pTeX 的特性。
不过,{\bf\LuaTeX-ja不是简简单单的移植\pTeX,很多不自然的特征和现象都被移出了。}
%</zh>
以下は \pTeX からの主な変更点である.
%</ja>
%<*zh>
-下面列举出了一些和\pTeX的差异:
+下面列举出了一些和\pTeX 的差异:
%</zh>
\begin{itemize}
\LuaTeX-ja では \LuaTeX の仕様のためにこの機能は完全には実装されていない.
%</ja>
%<*zh>
-\item \pTeX中,日文字符之后的断行并不允许(也不产生空格),其他在源码中的断行
- 是可以随处允许的。不过,因为\LuaTeX的特殊关系,\LuaTeX-ja并没有这个功能。
+\item \pTeX 中,日文字符之后的断行并不允许(也不产生空格),其他在源码中的断行
+ 是可以随处允许的。不过,因为\LuaTeX 的特殊关系,\LuaTeX-ja并没有这个功能。
%</zh>
%<*en>
%</en>
%<*ja>
\item 2つの和文文字の間,和文文字と欧文文字の間に入るグルー/カーン
- (\textbf{JAglue} と呼ぶ)の挿入処理が0から書き直されている.
+ (\textbf{JAglue}と呼ぶ)の挿入処理が0から書き直されている.
%</ja>
%<*zh>
\item 插在日文字符和其他字符言之间的胶/出格(我们将此称为\textbf{JAglue})是重新实现的。
「ノードベース」である.
%</ja>
%<*zh>
-\item 在\LuaTeX中,内部的字符处理是“基于node的”(例如:\verb!of{}fice!不会避免合字),
+\item 在\LuaTeX 中,内部的字符处理是“基于node的”(例如:\verb!of{}fice!不会避免合字),
\textbf{JAglue}的插入处理,现在也是“基于node的”。
%</zh>
使われていたいくつかの方法は用いることができない.具体的には,次の方法はもはや無効である:}
%</ja>
%<*zh>
-\item \textbf{警告:鉴于以上两点,在\pTeX中分割\textbf{JAglue}处理的多种方法不再生效。}
+\item \textbf{警告:鉴于以上两点,在\pTeX 中分割\textbf{JAglue}处理的多种方法不再生效。}
明确地说,下列两种方法不再生效:
%</zh>
\begin{verbatim}
For detailed information, see Part~\ref{part-imp}.
%</en>
%<*ja>
-詳細については第 \ref{part-imp} 部を参照.
+詳細については第\ref{part-imp}部を参照.
%</ja>
%<*zh>
详细的描述,请参见第\ref{part-imp}编。
パッケージやクラスを表す.
%</ja>
%<*zh>
-\item 用下划线表示的词(如:\Pkg{fontspec})表示\LaTeX的宏包或者文档类。
+\item 用下划线表示的词(如:\Pkg{fontspec})表示\LaTeX 的宏包或者文档类。
%</zh>
%<*en>
のコアモジュールで定義されたコントロールシーケンスに対しても用いる.
%</ja>
%<*zh>
-\item “primitive”,该词在本文档中不仅表示\LuaTeX的基本控制命令,也包括\LuaTeX-ja的相关的基本控制命令
+\item “primitive”,该词在本文档中不仅表示\LuaTeX 的基本控制命令,也包括\LuaTeX-ja的相关的基本控制命令
%</zh>
%<*en>
\item Now \LuaTeX-ja is available from the following archive and distributions:
\begin{itemize}
\item CTAN (in the \texttt{macros/luatex/generic/luatexja} directory)
+ \item MiK\TeX\ (in \texttt{luatexja.tar.lzma})
\item \TeX\ Live (in \texttt{texmf-dist/tex/luatex/luatexja})
\item W32\TeX\ (in \texttt{luatexja.tar.xz})
\end{itemize}
\item 今や,\LuaTeX-jaは以下のアーカイブ,およびディストリビューションにも収録されている:
\begin{itemize}
\item CTAN (\texttt{macros/luatex/generic/luatexja})
+ \item MiK\TeX\ (\texttt{luatexja.tar.lzma})
\item \TeX\ Live (\texttt{texmf-dist/tex/luatex/luatexja})
\item W32\TeX\ (\texttt{luatexja.tar.xz})
\end{itemize}
%<en>\subsection{Using in plain \TeX}
%<ja>\subsection{plain \TeX で使う}
-%<zh>\subsection{plain \TeX下使用}
+%<zh>\subsection{plain \TeX 下使用}
\label{ssec-plain}
%<*en>
\LuaTeX-jaを plain \TeX で使うためには,単に次の行をソースファイルの冒頭に追加すればよい:
%</ja>
%<*zh>
-在plain \TeX下使用\LuaTeX-ja相当简易,在文档开头放置一行:
+在plain \TeX 下使用\LuaTeX-ja相当简易,在文档开头放置一行:
%</zh>
\begin{verbatim}
\input luatexja.sty
%<en>\subsection{Using in \LaTeX}
%<ja>\subsection{\LaTeX で使う}
-%<zh>\subsection{\LaTeX下使用}
+%<zh>\subsection{\LaTeX 下使用}
\label{ssec-ltx}
\paragraph{\LaTeXe}
設定するためには,\texttt{luatexja.sty}を読み込むだけでよい:
%</ja>
%<*zh>
-在\LaTeXe下使用基本相同。设定日文的最小环境,你只需加载\texttt{luatexja.sty}:
+在\LaTeXe 下使用基本相同。设定日文的最小环境,你只需加载\texttt{luatexja.sty}:
%</zh>
\begin{verbatim}
\usepackage{luatexja}
なされる:
%</ja>
%<*zh>
-这些做了最小的设定(作用相当于\pLaTeX中的\texttt{plfonts.dtx}和\texttt{pldefs.ltx}):
+这些做了最小的设定(作用相当于\pLaTeX 中的\texttt{plfonts.dtx}和\texttt{pldefs.ltx}):
%</zh>
\begin{itemize}
\hline
\end{tabular}
\end{center}
-注意的是两个字体族的粗体系列同为中等系列的\textbf{哥特}族。这\pLaTeX中的规定。在近些年
+注意的是两个字体族的粗体系列同为中等系列的\textbf{哥特}族。这\pLaTeX 中的规定。在近些年
中的DTP实务中有仅使用2个字体的趋向(是为Ryumin-Light和GothicBBB-Medium)。
%</zh>
%<*zh>
不过,上述设定并不能满足排版基于日文的文档。为了排印基于日文的文
档,你最好不要使用\texttt{article.cls},\texttt{book.cls}等文档类文件。
-现在,我们有相当于\Pkg{jclasses}(\pLaTeX标准文档类)和\Pkg{jsclasses}
+现在,我们有相当于\Pkg{jclasses}(\pLaTeX 标准文档类)和\Pkg{jsclasses}
(奥村晴彦)的文档类,即\Pkg{ltjclasses}和\Pkg{ltjsclasses}。
%</zh>
%</ja>
%<*zh>
\paragraph{OTF包中的\texttt{\char92CID},\texttt{\char92UTF}及其他宏}
-\pLaTeX下,\underline{\texttt{otf}}宏包(斋藤修三郎开发)是用来排印存在
+\pLaTeX 下,\underline{\texttt{otf}}宏包(斋藤修三郎开发)是用来排印存在
于Adobe-Japan1-6但不存在于JIS X 0208中的字符。
该包已经广泛使用,\LuaTeX-ja支持部分\Pkg{otf}包中的部分功能。
如果你想使用这些功能,加载\Pkg{luatexja-otf}宏包。
以下のようなソースが見られた:
%</ja>
%<*zh>
-\paragraph{注记:数学模式下的日文字符} \pTeX支持在数学模式下的日文字符,如以下源码:
+\paragraph{注记:数学模式下的日文字符}
+\pTeX 支持在数学模式下的日文字符,如以下源码:
%</zh>
\begin{LTXexample}
%<*ja>
また\LuaTeX-jaプロジェクトでは,和文文字が識別子として用いられることはほとんどない
と考えており,したがってこの節では数式モード中の和文フォントを変更する方法については
-記述しない.この方法については \ref{ssec-math} 節を参照のこと.
+記述しない.この方法については\ref{ssec-math}節を参照のこと.
%</ja>
%<*zh>
我们也认为使用日文字符作为标识符的情况极为少见,所以我们不在此章节描述如何在数学模式下改变日文字体。
%<*ja>
\paragraph{plain \TeX}
plain \TeX で和文フォントを変更するためには,\verb+\jfont+ プリミティブを用いなけれ
-ばならない.\ref{ssec-jfont} 節を参照.
+ばならない.\ref{ssec-jfont}節を参照.
%</ja>
%<*zh>
\paragraph{plain \TeX}
-在plain \TeX下改变日文字体,你必须使用基本语句\verb!\jfont!。请参见\ref{ssec-jfont}。
+在plain \TeX 下改变日文字体,你必须使用基本语句\verb!\jfont!。请参见\ref{ssec-jfont}。
%</zh>
%<*en>
%</ja>
%<*zh>
\paragraph{NFSS2}
-对于\LaTeXe,\LuaTeX-ja采用了\pLaTeXe中(即\texttt{plfonts.dtx})大部分字体选择系统。
+对于\LaTeXe,\LuaTeX-ja采用了\pLaTeXe 中(即\texttt{plfonts.dtx})大部分字体选择系统。
%</zh>
\begin{itemize}
%<*en>
\texttt{JY3}に変更し,\verb+\fontencoding{T1}+ は欧文フォント側を
\texttt{T1}へと変更する.\verb+\fontfamily+ も引数により和文側,欧文
側,\textbf{あるいは両方}のフォントファミリを変更する.詳細は
- \ref{ssub-nfsspat} 節を参照すること.
+ \ref{ssub-nfsspat}節を参照すること.
%</ja>
%<*zh>
\verb!\fontencoding{<encoding>}!依赖于参数以改变西文字体或者日文字体。
和文フォントについては全ての和文文字のグリフがほぼ等幅であるのが普通であるため,
\verb+\setmonojfont+ コマンドは存在しないことに注意.また,これらの和文用の7つのコマ
ンドではKerning featureはデフォルトではoffとなっている.これはこの
-featureが\textbf{JAglue}と衝突するためである(\ref{para-kern} 節を参照).
+featureが\textbf{JAglue}と衝突するためである(\ref{para-kern}節を参照).
%</ja>
%<*zh>
请注意并没有\verb!\setmonofont!命令,因为流行的日文字体几乎全部是等宽的。
\item 八登崇之氏による\upTeX 用の\texttt{PXbase}バンドル.
%</ja>
%<*zh>
-\item 八登崇之的\texttt{PXbase}宏包(\upTeX下使用)。
+\item 八登崇之的\texttt{PXbase}宏包(\upTeX 下使用)。
%</zh>
\end{itemize}
indicated in Table~\ref{table-rng3}.
%</en>
%<*ja>
-\item[範囲3${}^{\text{J}}$] 句読点と記号類.ブロックのリストは表 \ref{table-rng3}
+\item[範囲3${}^{\text{J}}$] 句読点と記号類.ブロックのリストは表\ref{table-rng3}%
に示してある.
%</ja>
%<*zh>
%</en>
%<*ja>
\item[範囲6${}^{\text{J}}$] 日本語で用いられる文字.ブロックのリストは
- 表 \ref{table-rng6} に示す.
+ 表\ref{table-rng6}に示す.
%</ja>
%<*zh>
\item[范围6${}^\text{J}$] 日文字符。
%<*ja>
\item[範囲7${}^{\text{J}}$] CJK言語で用いられる文字のうち,Adobe-Japan1-6に
含まれていないもの.
- ブロックのリストは表 \ref{table-rng7} に示す.
+ ブロックのリストは表\ref{table-rng7}に示す.
%</ja>
%<*zh>
\item[范围7${}^\text{J}$] 不包含于Adobe-Japan1-6的CJK字符,参见表\ref{table-rng7}。
\ltjsetparameter{alxspmode={`あ,preonly}, jaxspmode={`\!,postonly}}
\end{verbatim}
%<*en>
-One can use also numbers to specify these two parameters (see Subsection \ref{ssec-param}).
+One can use also numbers to specify these two parameters (see Subsection~\ref{ssec-param}).
%</en>
%<*ja>
-また,これら2パラメータには数値で値を指定することもできる(\ref{ssec-param} 節を参照).
+また,これら2パラメータには数値で値を指定することもできる(\ref{ssec-param}節を参照).
%</ja>
%<*zh>
你也可以使用数字来定义两个参数(参见\ref{ssec-param})。
%</ja>
%<*zh>
为了确保日文字体和西文字体能够对其,有时需要浮动其中一者的基线。
-在\pTeX中,此项设定由设定\verb!\yabaselineshift!为非零长度(西文字体基线应向下浮动)。
+在\pTeX 中,此项设定由设定\verb!\yabaselineshift!为非零长度(西文字体基线应向下浮动)。
不过,如果文档的中主要语言不是日文,那么最好上浮日文字体的基线,西文字体不变。
如上所述,\LuaTeX-ja可以独立设定西文字体的基线(\Param{yabaselineshift}参数)和日文字体的基线(\Param{yjabaselineshift}参数)。
%</zh>
%</ja>
%<*zh>
裁剪框标记是在一页的四角和水平/垂直中央放置的标记。在日文中,裁剪框被称为“トンボ”。
-\pLaTeX和\LuaTeX-ja均在底层支持裁剪框标记。需要下列步骤来实现:
+\pLaTeX 和\LuaTeX-ja均在底层支持裁剪框标记。需要下列步骤来实现:
%</zh>
\begin{enumerate}
\label{part-ref}
%<en>\section{Font Metric and Japanese Font}
%<ja>\section{フォントメトリックと和文フォント}
-%<ja>\section{字体测度和日文字体}
+%<zh>\section{字体测度和日文字体}
%<en>\subsection{\texttt{\char92jfont} primitive}
%<ja>\subsection{\texttt{\char92jfont}プリミティブ}
%<zh>\subsection{\texttt{\char92jfont}基本语句}
元にしている.\Pkg{luatexja-otf}パッケージを使うときはこのJFMを指定するべきである.
%</ja>
%<*zh>
-\item[\tt jfm-ujis.lua] \LuaTeX-ja标准JFM。次JFM基于\upTeX使用的UTF/OTF宏包的\verb!upnmlminr-h.tfm!。
+\item[\tt jfm-ujis.lua] \LuaTeX-ja标准JFM。次JFM基于\upTeX 使用的UTF/OTF宏包的\verb!upnmlminr-h.tfm!。
如果你使用\Pkg{luatexja-otf}宏包,你将会用到此JFM。
%</zh>
%<*en>
正方形状であるのに対し,\texttt{jfm-jis.lua}では横長の長方形状である.
%</ja>
%<*zh>
-\item[\tt jfm-jis.lua] 相当于\pTeX使用的\verb!jis.tfm!(“JIS font metric”)。
+\item[\tt jfm-jis.lua] 相当于\pTeX 使用的\verb!jis.tfm!(“JIS font metric”)。
\texttt{jfm-ujis.lua}和\texttt{jfm-jis.lua}主要区别是:
\texttt{jfm-ujis.lua}下的大部分字符是方形,
\texttt{jfm-jis.lua}下则为长方形。
%<*ja>
\item[\tt jfm-min.lua] \pTeX に同梱されているデフォルトの和文フォントメトリック
である \verb+min10.tfm+ に相当するJFMである.このJFMと他の2つのJFMの間には
- 表 \ref{tab-difjfm} に示すような特筆すべき違いがある.
+ 表\ref{tab-difjfm}に示すような特筆すべき違いがある.
%</ja>
%<*zh>
-\item[\tt jfm-min.lua] 相当于\pTeX中默认的\verb!min10.tfm!。
+\item[\tt jfm-min.lua] 相当于\pTeX 中默认的\verb!min10.tfm!。
这个JFM与其他2个JFM的区别如表\ref{tab-difjfm}所示。
%</zh>
\end{description}
-\item[jfmvar=<string>] Sometimes there is a need that ...
+\item[jfmvar=<string>] Sometimes there is a need that \ldots.
\end{list}
\begin{table}[t]
%</zh>
%<*en>
\item If you want to use Japanese fonts in proportional width, and use
- information from this font, use \texttt{jfm-prop.lua} for its JFM, and ...
+ information from this font, use \texttt{jfm-prop.lua} for its JFM, and\ldots.
%</en>
%<*ja>
\item もしプロポーショナル幅の和文フォントをそのフォントの情報に基づいて使いたい
%<en>\subsection{Prefix \texttt{psft}}
-%<ja>\subsection{\texttt{psft} プレフィックス}
+%<ja>\subsection{\texttt{psft}プリフィックス}
%<zh>\subsection{\texttt{psft}前缀}
\label{ssec-psft}
%<*en>
to specify a `name-only' Japanese font which
will not be embedded to PDF. Typical use of this prefix is to specify
the `standard' Japanese fonts, namely, `Ryumin-Light' and
-`GothicBBB-Medium'. For kerning or other information, that of Kozuka
-Mincho Pr6N Regular (this is a font by Adobe Inc., and included in
-Japanese Font Packs for Adobe Reader) will be used.
+`GothicBBB-Medium'.
%</en>
%<*ja>
-\texttt{file:}ã\81¨\texttt{name:}ã\81®ã\83\97ã\83¬フィックスに加えて,
+\texttt{file:}ã\81¨\texttt{name:}ã\81®ã\83\97ã\83ªフィックスに加えて,
\verb+\jfont+ プリミティブ(と \verb+\font+ プリミティブ)では
-\texttt{psft:}プレフィックスを用いることができる.
-このプレフィックスを用いることで,PDFには埋め込まれない「名前だけの」
-和文フォントを指定することができる.典型的な使い方は「標準的な」和文フォント,
-つまり`Ryumin-Light'と`GothicBBB-Medium'を指定することである.
-この場合,カーニング他の情報は小塚明朝 Pr6N Regular
-(Adobe社によるフォントで,Adobe Readerの日本語フォントパックに含まれている)
-が用いられる.
+\texttt{psft:}プリフィックスを用いることができる.
+このプリフィックスを用いることで,PDFには埋め込まれない「名前だけの」
+和文フォントを指定することができる.「標準的な」和文フォント,
+つまり`Ryumin-Light'と`GothicBBB-Medium'の指定でこのプリフィックスが使われる.
%</ja>
%<*zh>
除使用\texttt{file:}和\texttt{name:}外,我们还可以在\verb!\jfont!(以及\verb!\font!)
也可以使用\texttt{cid}键来使用其他的CID字体,如中文和韩文。
%</zh>
-\paragraph{\texttt{cid} key}
+%<en>\paragraph{\texttt{cid} key}
+%<ja>\paragraph{\texttt{cid}キー}
\label{para-cid}
- \texttt{cid} key, ...
+%<*en>
+The default font defined by using \texttt{psft:} prefix is for Japanese typesetting;
+it is Adobe-Japan1-6 CID-keyed font.
+One can specify \texttt{cid} key to use other CID-keyed non-embedded fonts
+for Chinese or Korean typesetting.
+\begin{lstlisting}[numbers=left]
+\jfont\testJ={psft:Ryumin-Light:cid=Adobe-Japan1-6;jfm=jis} % Japanese
+\jfont\testD={psft:Ryumin-Light:jfm=jis} % default value is Adobe-Japan1-6
+\jfont\testC={psft:AdobeMingStd-Light:cid=Adobe-CNS1-5;jfm=jis} % Traditional Chinese
+\jfont\testG={psft:SimSun:cid=Adobe-GB1-5;jfm=jis} % Simplified Chinese
+\jfont\testK={psft:Batang:cid=Adobe-Korea1-2;jfm=jis} % Korean
+\end{lstlisting}
+Note that the code above specifies \texttt{jfm-jis.lua}, which is for Japanese fonts,
+as JFM for Chinese and Korean fonts.
+%</en>
+%<*ja>
+標準で\texttt{psft:}プリフィックスで定義されるフォントは日本語用のもので
+あり,Adobe-Japan1-6のCIDに対応したものとなる.しかし,\LuaTeX-jaは中国語
+の組版にも威力を発揮することが分かり,日本語フォントでない非埋込フォント
+の対応も必要となった.そのために追加されたのが\texttt{cid}キーである.
+\texttt{cid}キーに値を指定すると,そのCIDを持った非埋込フォントを定義することができる:
+\begin{lstlisting}[numbers=left]
+\jfont\testJ={psft:Ryumin-Light:cid=Adobe-Japan1-6;jfm=jis} % 日本語
+\jfont\testD={psft:Ryumin-Light:jfm=jis} % 無指定時は Adobe-Japan1-6
+\jfont\testC={psft:AdobeMingStd-Light:cid=Adobe-CNS1-5;jfm=jis} % 中国語繁体字
+\jfont\testG={psft:SimSun:cid=Adobe-GB1-5;jfm=jis} % 中国語簡体字
+\jfont\testK={psft:Batang:cid=Adobe-Korea1-2;jfm=jis} % 韓国語
+\end{lstlisting}
+上のコードでは中国語・韓国語用フォントに対してもJFMに
+日本語用の\texttt{jfm-jis.lua}を指定しているので注意されたい.
+%</ja>
+
+%<*en>
+At present, \LuaTeX-ja supports only 4 values written in the sample code above.
+Specifying other values, e.g.,
+%</en>
+%<*ja>
+今のところ,\LuaTeX-jaは上のサンプルコード中に書いた4つの値しかサポートしていない.
+%</ja>
+\begin{lstlisting}
+\jfont\test={psft:Ryumin-Light:cid=Adobe-Japan2;jfm=jis}
+\end{lstlisting}
+%<*en>
+occurs the following error:
+%</en>
+%<*ja>
+のようにそれら以外の値を指定すると,
+%</ja>
+\begin{lstlisting}[numbers=left]
+! Package luatexja Error: bad cid key `Adobe-Japan2'.
+
+See the luatexja package documentation for explanation.
+Type H <return> for immediate help.
+<to be read again>
+ \par
+l.78
+
+? h
+I couldn't find any non-embedded font information for the CID
+`Adobe-Japan2'. For now, I'll use `Adobe-Japan1-6'.
+Please contact the LuaTeX-ja project team.
+?
+\end{lstlisting}
+%<*ja>
+というエラーが出る.
+%</ja>
%<en>\subsection{Structure of JFM file}
%<ja>\subsection{JFMファイルの構造}
fields are in design-size unit too.
%</en>
%<*ja>
-「理想的な」\Param{kanjiskip}の量を指定する.\ref{subs-kskip} 節で述べたように,
+「理想的な」\Param{kanjiskip}の量を指定する.\ref{subs-kskip}節で述べたように,
もし\Param{kanjiskip}が \verb+\maxdimen+ の値ならば,このフィールドで指定された
値が実際には用いられる(もしこのフィールドがJFMで指定されていなければ,
0\,ptであるものとして扱われる).<stretch>と<shrink>のフィールドもdesign-size
\texttt{'right'}のいずれかである.もしこれら3つのフィールドのうちの1つが省かれた
場合,\texttt{left}と\texttt{down}は0,\texttt{align}フィールドは
\texttt{'left'}であるものとして扱われる.
-これら3つのフィールドの意味については図 \ref{fig-pos} で説明する.
+これら3つのフィールドの意味については図\ref{fig-pos}で説明する.
%</ja>
%<*zh>
此部分为“真实”字形对齐位置。\texttt{align}的合法值为\texttt{'left'},
%</ja>
%<*zh>
如上所述,你可以在\texttt{chars}中设定多个“假想字符”。这些字符中的多数字符在
-\pTeX中式被视作字符集0中字符。故此,\LuaTeX-ja可以比\pTeX做得更好。
+\pTeX 中式被视作字符集0中字符。故此,\LuaTeX-ja可以比\pTeX 做得更好。
下列为“假想字符”列表:
%</zh>
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
%<zh>缩进段落开头。
\item['jcharbdd']
-%<en>A boundary between \textbf{JAchar} and anything else (such as \textbf{ALchar}, kern, glue, ...).
+%<en>A boundary between \textbf{JAchar} and anything else (such as \textbf{ALchar}, kern, glue,\,\ldots).
%<ja>和文文字と「その他のもの」(欧文文字,glue,kern等)との境界.
%<zh>日文字符和其他(如\textbf{ALchar},胶,出格等)边界。
%<en>\paragraph{Porting JFM from \pTeX}
%<ja>\paragraph{\pTeX 用和文フォントメトリックの移植}
-%<zh>\paragraph{\pTeX下使用的JFM移植}
+%<zh>\paragraph{\pTeX 下使用的JFM移植}
% ToDo: English version.
%<*en>
-...
+\ldots
%</en>
%<*ja>
ところで,\pTeX では通常の段落の先頭にJFMグルーが残るという仕様があるので,
段落先頭の開き括弧は全角二分下がりになる.全角下がりを実現させるに
は,段落の最初に手動で \verb+\inhibitglue+ を追加するか,あるいは
- \verb+\everypar+ のハックを行い,それを自動化させるしかなかった.
+ \ \verb+\everypar+ のハックを行い,それを自動化させるしかなかった.
一方,\LuaTeX-jaでは,\texttt{'parbdd'}によって,それがJFM側で調整できるよ
うになった.例えば,\LuaTeX-ja同梱のJFMのように,\texttt{'boxbdd'}と同じ文字クラスに
\texttt{'parbdd'}を入れれば全角下がりとなる.
-\ltjsetparameter{jacharrange={+3}}
\begin{LTXexample}
\jfont\g=psft:Ryumin-Light:jfm=test \g
\parindent1\zw\noindent{}◆◆◆◆◆
\par 〔◆◆←全角二分下がり
\end{LTXexample}
\end{itemize}
-\ltjsetparameter{jacharrange={-3}}
+
+但し,\verb+\everypar+ を利用している場合にはこの仕組みは正しく動かない.
+そのような例としては箇条書き中の \verb+\item+ で始まる段落があり,\Pkg{ltjsclasses}では
+人工的に「\texttt{'parbdd'}の意味を持つ」whatsitノードを作ることによって対処している%
+\footnote{\texttt{no\_runtime/ltjsclasses.dtx} を参照されたい.
+JFM側で一部の対処ができることにより,\Pkg{jsclasses}のようにif文の判定はしていない.}
%</ja>
%<*zh>
-下面,给出用于\pTeX使用的JFM移植到\LuaTeX-ja过程中需要注意的几点。
+下面,给出用于\pTeX 使用的JFM移植到\LuaTeX-ja过程中需要注意的几点。
%</zh>
%</en>
%<*ja>
\LuaTeX-jaの数式中での和文フォントの扱いも同様である.
-表 \ref{tab-math} は数式フォントファミリに対する \TeX のプリミティブと対応する
+表\ref{tab-math}は数式フォントファミリに対する \TeX のプリミティブと対応する
ものを示している.\verb+\fam+ と \verb+\jfam+ の値の間には関係はなく,
適切な設定の下では \verb+\fam+ と \verb+\jfam+ の両方に同じ値を設定することができる.
%</ja>
先に述べたように,\verb+\ltjsetparameter+ と \verb+\ltjgetparameter+ は
\LuaTeX-jaのほとんどのパラメータにアクセスするためのプリミティブである.
\LuaTeX-jaが\pTeX のような文法(例えば,\verb+\prebreakpenalty`)=10000+)を
-採用しない理由の一つは,\LuaTeX のソースにおける \verb+\hpack_filter+
-コールバックの位置にある.\ref{sec-para} 節を参照.
+採用しない理由の一つは,\LuaTeX のソースにおける \verb+hpack_filter+
+コールバックの位置にある.\ref{sec-para}節を参照.
%</ja>
%<*en>
また,それぞれのパラメータの右上にある記号には次の意味がある:
%</ja>
\begin{itemize}
+%<*zh>
+\item % avoiding from error ``Something's wrong--perhaps a missing \item.''.
+%</zh>
%<*en>
\item No mark: values at the end of the paragraph or the hbox are
adopted in the whole paragraph/hbox.
\item[\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}]
%<en>[\verb+\textfont+ in \TeX]
%<ja>[\TeX の \verb+\textfont+]
-%<zh>[\TeX中的\verb+\textfont+]
+%<zh>[\TeX 的\verb+\textfont+]
\item[\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}]
%<en>[\verb+\scriptfont+ in \TeX]
%<ja>[\TeX の \verb+\scriptfont+]
-%<zh>[\TeX中的\verb+\scriptfont+]
+%<zh>[\TeX 中的\verb+\scriptfont+]
\item[\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}]
%<en>[\verb+\scriptscriptfont+ in \TeX]
%<ja>[\TeX の \verb+\scriptscriptfont+]
-%<zh>[\TeX中的\verb+\scriptscriptfont+]
+%<zh>[\TeX 中的\verb+\scriptscriptfont+]
\item[\Param{yjabaselineshift}\,=<dimen>$^\ast$]\
\item[\Param{yalbaselineshift}\,=<dimen>$^\ast$] [\verb+\ybaselineshift+]
互換性はない.
%</ja>
%<*zh>
-此参数类似\pTeX基本语句\verb!\inhibitxspcode!,但是和\verb!\inhibitxspcode不兼容。!
+此参数类似\pTeX 基本语句\verb!\inhibitxspcode!,但是和\verb!\inhibitxspcode!不兼容。
%</zh>
\item[\Param{alxspmode}\,=\{<chr\_code>,<mode>\}] [\verb+\xspcode+]
以下のプリミティブは\pTeX との互換性のために実装されている:
%</ja>
%<*zh>
-下列基本语句的实现与\pTeX兼容:
+下列基本语句的实现与\pTeX 兼容:
%</zh>
\begin{list}{}{\def\makelabel{\ttfamily\char92 }\advance\leftmargin1\zw}
\item[kuten]
如上例子,我们注意到\verb!\inhibtglue!的用法。
%</zh>
\begin{itemize}
+%<*zh>
+\item
+%</zh>
%<*en>
\item The call of \verb+\inhibitglue+ in the (internal) vertical mode is
simply ignored.
commands which are not described in Subsection~\ref{ssub-chgfnt}.
%</en>
%<*ja>
-\ref{ssec-ltx} 節で述べたように,\LuaTeX-jaはNFSS2への日本語パッチである
+\ref{ssec-ltx}節で述べたように,\LuaTeX-jaはNFSS2への日本語パッチである
\pLaTeXe の\texttt{plfonts.dtx}を単純に取り入れている.
-便宜のため,ここでは \ref{ssub-chgfnt} 節で述べていなかったコマンドについて
+便宜のため,ここでは\ref{ssub-chgfnt}節で述べていなかったコマンドについて
記述しておく.
%</ja>
%</ja>
\item[adjustbaseline]
-...
+\ldots
\item[fontfamily\{<family>\}]
{\let\item\origitem
どのファミリが変更されるかは以下のようにして決定される:
%</ja>
\begin{itemize}
+%<*zh>
+\item
+%</zh>
%<*en>
\item Let current encoding scheme for Japanese fonts be
<ja-enc>. Current Japanese font family will be changed to
\item A font definition named \texttt{<enc><ja-enc>.fd} (the file name is
all lowercase) exists.
%</en>
+%<*zh>
+\item
+%</zh>
%<*ja>
\item フォント定義ファイル\texttt{<enc><ja-enc>.fd}(ファイル名は全て小文字)が存在する.
%</ja>
the commands of Japanese version:
%</en>
%<*ja>
-\ref{ssec-fontspec} 節で述べたように,この追加パッケージは\Pkg{fontspec}
+\ref{ssec-fontspec}節で述べたように,この追加パッケージは\Pkg{fontspec}
パッケージで定義されているコマンドに対応する和文フォント用のコマンドを提供する.
オリジナルの\Pkg{fontspec}での`font feature'に加えて,和文版のコマンドには
以下の`font feature'を指定することができる:
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\item[CID=<name>]
\item[JFM=<name>]
-\item[JFM-var=<name>]
+\item[JFM-var=<name>] \
%<*en>
-These 2 font features correspond to \texttt{jfm} and \texttt{jfmvar} keys for
-\verb+\jfont+ primitive, respectively. See Subsection~\ref{ssec-jfont}.
+These 3 font features correspond to \texttt{cid}, \texttt{jfm} and
+\texttt{jfmvar} keys for \verb+\jfont+ primitive, respectively.
+\texttt{CID} is effective only when with \texttt{NoEmbed}
+described below.
+See Subsections~\ref{ssec-jfont} and \ref{ssec-psft} for details.
%</en>
%<*ja>
-これら2つのキーはそれぞれ \verb+\jfont+ プリミティブに対する
-\texttt{jfm}, \texttt{jfmvar}キーとそれぞれ対応する.
-\ref{ssec-jfont} 節を参照.
+これら3つのキーはそれぞれ \verb+\jfont+ プリミティブに対する
+\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}キーとそれぞれ対応する.
+\texttt{CID} は下の \texttt{NoEmbed} と合わせて用いられたときのみ有効である.
+詳細は\ref{ssec-jfont}節と\ref{ssec-psft}節を参照.
%</ja>
\item[NoEmbed]
%<*en>
-By specifying this font feature, you can use `name-only' Japanese font which
+By specifying this font feature, one can use `name-only' Japanese font which
will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
%</en>
%<*ja>
これを指定することで,PDFに埋め込まれない「名前だけ」のフォントを指定することが
-できる.\ref{ssec-psft} 節を参照.
-%</ja>
-
-\item[CID=<name>]
-%<*en>
-This feature is effective only when with NoEmbed feature.
-You can use the non-embedded CID-keyed font whose glyphs are addressed according
-to the specified character collection defined by Adobe Inc.
-The default value is Adobe-Japan1. See also Subsection~\ref{ssec-psft}.
-%</en>
-%<*ja>
-NoEmbed キーと合わせて用いる.
-非埋め込みの CID-keyed フォントがどの文字コレクションに基づくものかを指定する.
-デフォルトは Adobe-Japan1 である.\ref{ssec-psft} 節も参照.
+できる.\ref{ssec-psft}節を参照.
%</ja>
\end{list}
以下の点で通常の文字と異なる:
%</ja>
\begin{itemize}
+%<*zh>
+\item
+%</zh>
%<*en>
\item Always treated as \textbf{JAchar}s.
%</en>
a unit used in Japanese phototypesetting. So one should not change the value of this dimension.
%</en>
%<*ja>
-\ref{ssec-plain} 節で述べたように,\verb+\jQ+ は$1\,\textrm{Q}=0.25\,\textrm{mm}$
+\ref{ssec-plain}節で述べたように,\verb+\jQ+ は$1\,\textrm{Q}=0.25\,\textrm{mm}$
と等しい.ここで,`Q'(もしくは「級」)は日本の写植で用いられる単位である.したがって,
この寸法レジスタの値を変更してはならない.
%</ja>
\item[\textit{line\_end} (5)]
%<*en>
-Kerns for ...
+Kerns for \ldots
%</en>
%<*ja>
-カーン ...
+和文文字が行末にきたとき,行末との間に挿入されるカーンである.
+% ぶら下げ組への応用
%</ja>
\item[\textit{kanji\_skip} (6)]
\item[\textit{processed} (8)]
%<*en>
-Nodes which is already processed by ...
+Nodes which is already processed by \ldots.
%</en>
%<*ja>
-... によって既に処理されたノード.
+\LuaTeX-ja の内部処理によって既に処理されたノード.
%</ja>
\item[\textit{ic\_processed} (9)]
%</ja>
\item[30114]
-Nodes for indicating beginning of a paragraph.
+Nodes for indicating beginning of a paragraph.
A paragraph which is started by \verb+\item+ in list-like environments has a horizontal box
for its label before the actual contents. So \dots
\end{description}
file in the source of \LuaTeX), there are the following codes:
%</en>
%<*ja>
-\ref{ssec-param} 節で述べたように,ある水平ボックスの中で効力を持つ
+\ref{ssec-param}節で述べたように,ある水平ボックスの中で効力を持つ
\Param{kanjiskip}の値は最後に現れた値のみであり,したがってボックス全体に適用される
\Param{kanjiskip}は5\,ptであるべきである.しかし,\LuaTeX の実装のために,
この`5\,pt'はどのコールバックからも知ることはできない.
$t$とすると:
%</ja>
\begin{itemize}
+%<*zh>
+\item
+%</zh>
%<*en>
\item If there is no \textit{stack\_flag} node in the list of the hbox, then
no assignment was occurred inside the hbox. Hence values of
%<en>\section{Linebreak after Japanese Character}
%<ja>\section{和文文字直後の改行}
-%<ja>\section{日文字符后断行}
+%<zh>\section{日文字符后断行}
\label{sec-lbreak}
%<en>\subsection{Reference: Behavior in \pTeX}
%<ja>\subsection{参考:\pTeX の動作}
\item State~$M$: 行中.
\item State~$K$: 行中(和文文字の後).
\end{itemize}
-また,状態遷移は,図 \ref{fig-ptexipro} のようになっており,図中の数字は
+また,状態遷移は,図\ref{fig-ptexipro}のようになっており,図中の数字は
カテゴリーコードを表している.最初の3状態は\TeX の入力処理部と同じであり,
図中から状態$K$と「$j$」と書かれた矢印を取り除けば,\TeX の入力処理部と同
じものになる.
%<*ja>
\item カテゴリーコード9(無視する文字),14(コメント文字),15(無効文字)は上の図では省かれている.
%</ja>
+%<*zh>
+\item
+%</zh>
\end{itemize}
%<en>\caption{State transitions of \pTeX's input processor.}
%<ja>\caption{\pTeX の入力処理部の状態遷移.}
\begin{quote}
A character U+FFFFF (its category code is set to 14~(comment) by
\LuaTeX-ja) is appended to an input line, \emph{before \LuaTeX\ actually
-process it}, if and only if the following two conditions are satisfied:
+process it}, if and only if the following three conditions are satisfied:
\begin{enumerate}
-\item The category code of the character $\langle${return}$\rangle$
- (whose character code is 13) is 5~(end-of-line).
+\item The category code of \verb+\endlinechar+%
+\footnote{Usually, it is $\langle${return}$\rangle$
+ (whose character code is 13).} is 5~(end-of-line).
+\item The category code of U+FFFFF itself is 14~(comment).
\item The input line matches the following `regular expression':
\[
(\text{any char})^*(\textbf{JAchar})
\begin{quote}
各入力行に対し,\textbf{その入力行が読まれる前の内部状態で}
-以下の2条件が満たされている場合,\LuaTeX-jaはU+FFFFF番の文字
+以下の3条件が満たされている場合,\LuaTeX-jaはU+FFFFF番の文字
\footnote{この文字はコメント文字として扱われるように\LuaTeX-ja内部で設定をしている.}
を末尾に追加する.よって,その場合に改行は空白とは見做されないこととなる.
\begin{enumerate}
-\item 改行文字(文字コード13番)のカテゴリーコードが5~(end-of-line)である.
+\item \verb+\endlinechar+の文字\footnote{普通は,改行文字(文字コード13番)である.}
+のカテゴリーコードが5~(end-of-line)である.
+\item U+FFFFFのカテゴリーコードが14~(comment)である.
\item 入力行は次の「正規表現」にマッチしている:
\[
(\text{any char})^*(\textbf{JAchar})
%<en>\section{Insertion of JFM glues, \Param{kanjiskip} and \Param{xkanjiskip}}
%<ja>\section{JFMグルーの挿入,\Param{kanjiskip}と\Param{xkanjiskip}}
-%<ja>\section{JFM的胶插入,\Param{kanjiskip}和\Param{xkanjiskip}}
+%<zh>\section{JFM的胶插入,\Param{kanjiskip}和\Param{xkanjiskip}}
\label{sec-jfmglue}
%<en>\subsection{Overview}
%<ja>\subsection{概要}
\end{table}
\subsection{その他の場合}
-本節の内容は表 \ref{tab-jfmglue} にまとめてある.
+本節の内容は表\ref{tab-jfmglue}にまとめてある.
\paragraph{和文Aと欧文の間}
\textit{Nq}が\textsf{和文A}で,\textit{Np}が\textsf{欧文}の場合,JFMグルー挿入処理は次のようにして行われる.