\vskip\belowcaptionskip}
\def\_{\leavevmode \kern .06em\vbox {\hrule \@width .333em}}
-\def\cs#1{\texttt{\upshape\textbackslash
- \texorpdfstring{\ltjsetparameter{autoxspacing=false}#1}{#1}}}
+\def\cs#1{\texttt{\upshape
+ \texorpdfstring{\textbackslash\ltjsetparameter{autoxspacing=false}#1}{\textbackslash#1}}}
%%%%%%%%
\makeatother
width:\hfill\ #2\cr height:\hfill\ #3\cr depth:\hfill\ #4\cr
}}}}}\,}
-\protected\def\Param#1{\hyperlink{fld:#1}{\textsf{#1}}} % parameter name
-\protected\def\DParam#1{\hypertarget{fld:#1}{\textsf{#1}}} % parameter name (definition)
-\protected\def\Pkg#1{\underline{\smash{\texttt{#1}}}} % packages/classes
+\protected\def\Param#1{\hyperlink{fld:#1}{\underline{\smash{\textsf{#1}}}}} % parameter name
+\protected\def\DParam#1{\hypertarget{fld:#1}{\underline{\smash{\textsf{#1}}}}} % parameter name (definition)
+\protected\def\Pkg#1{\textsf{#1}} % packages/classes
\begin{document}
が始まったパッケージである.
%</ja>
-%<en>\subsection{Major Changes from \pTeX}
+%<en>\subsection{Major changes from \pTeX}
%<ja>\subsection{\pTeX からの主な変更点}
\label{ssec:chgptex}
As shown above, they are changed by \cs{zw}~and~\cs{zh} respectively, in \LuaTeX-ja.
%</en>
%<*ja>
-ç\89¹ã\81«æ³¨æ\84\8fã\81\97ã\81¦ã\81»ã\81\97ã\81\84ã\81®ã\81¯ï¼\8c\pTeX ã\81§è¿½å\8a ã\81\95ã\82\8cã\81\9f \texttt{zw} ã\81¨ \texttt{zh} ã\81¨ã\81\84ã\81\86å\8d\98ä½\8dã\82\92
-\LuaTeX-ja で扱うには,\cs{zw}, \cs{zh} と制御綴の形にしないといけないという点である.
+ç\89¹ã\81«æ³¨æ\84\8fã\81\97ã\81¦ã\81»ã\81\97ã\81\84ã\81®ã\81¯ï¼\8c\pTeX ã\81§è¿½å\8a ã\81\95ã\82\8cã\81\9f \texttt{zw} ã\81¨ \texttt{zh} ã\81¨ã\81\84ã\81\86å\8d\98ä½\8dã\81¯
+\LuaTeX-ja では使用できず,\cs{zw}, \cs{zh} と制御綴の形にしないといけないという点である.
%</ja>
%<*en>
%</ja>
%<*en>
-
\paragraph{Spaces related to Japanese characters}
The insertion process of glues/kerns between two Japanese
characters and between a Japanese character and other characters
%<*en>
\paragraph{Directions}
-From version~20150420.0, \LuaTeX-ja supports vertical writing;
-but this feature must \emph{not} be confused with $\Omega$-style direction support of \LuaTeX\
-itself. ...
+From version~20150420.0, \LuaTeX-ja supports vertical writing.
+We implement this feature by using callbacks of \LuaTeX; so it must \emph{not} be confused
+with $\Omega$-style direction support of \LuaTeX\ itself.
+Due to implementation, the dimension returned by \cs{wd},~\cs{ht}, or~\cs{dp} depends
+on the content of the register \emph{only}. This is major difference with \pTeX.
%</en>
%<*ja>
\paragraph{組方向}
20150420.0版からは,不安定ながらも\LuaTeX-ja における縦組みをサポートしている.
-なお,\LuaTeX 本体も,$\Omega$流の組方向をサポートしているが,それとは全くの別物であること
+なお,\LuaTeX 本体も$\Omega$流の組方向をサポートしているが,それとは全くの別物であること
に注意してほしい.
-\LuaTeX のコールバックや実装により,特に異なった組方向のボックスを扱う場合には
-\cs{wd}, \cs{ht}, \cs{dp}等の仕様が異なるので注意.詳細は第\ref{sec-direction}章を参照.
+特に,異なった組方向のボックスを扱う場合には
+\cs{wd}, \cs{ht}, \cs{dp}等の仕様が\pTeX と異なるので注意.詳細は第\ref{sec-direction}章を参照.
%</ja>
%<*en>
しても使いたい場合は \cs{hbox} で括ること.
%</ja>
+%<*en>
+\paragraph{Greek and Cyrillic letters, and ISO~8859-1 symbols}
+By default, \LuaTeX-ja uses Japanese fonts to typeset Greek and Cyrillic letters,
+ To change this behavior,
+ put \verb!\ltjsetparameter{jacharrange={-2,-3}}! in the preamble.
+ For the detailed description, see Subsection~\ref{ssec-setrange}.
+From this version, characters which belongs both ISO~8859-1 and JIS~X~0208,
+ such as \P~and~\S, are now typeset in alphabetic fonts. This means that
+ without the \cs{fontspec} package, these characters are not typeset correctly.
+%</en>
+%<*ja>
+\paragraph{ギリシャ文字・キリル文字とISO~8859-1の記号}
+標準では,\LuaTeX-jaはギリシャ文字やキリル文字を和文フォントを使っ
+ て組む.ギリシャ語などを本格的に組むなどこの状況が望ましくない場合,
+ プリアンブルに
+\begin{lstlisting}
+ \ltjsetparameter{jacharrange={-2,-3}}
+\end{lstlisting}
+ を入れると
+ 上記種類の文字は欧文フォントを用いて組まれるようになる.
+ 詳しい説明は\ref{ssec-setrange}節を参照してほしい.
+
+また,\P,~\S といったISO~8859-1の上位領域とJIS~X~0208の共通部分の文字は
+ 本バージョンから標準で欧文扱いとなり,\emph{ソース中に直接記述しても
+ \Pkg{fontspec}パッケージ非読み込みの状態では出力されなくなった}.
+ 和文扱いで出力するには \verb+\ltjjachar`§+ のように \cs{ltjjachar} 命令
+ を使えばよい.
+%</ja>
%<en>\subsection{Notations}
%<ja>\subsection{用語と記法}
\textbf{JAchar}の出力に用いられるフォントを\emph{和文フォント}と呼ぶ.
%</ja>
%<*en>
-\item A word in a sans-serif font (like \Param{prebreakpenalty})
+\item A word in a sans-serif font with underline (like \Param{prebreakpenalty})
means an internal parameter for Japanese typesetting, and it
is used as a key in \cs{ltjsetparameter} command.
%</en>
%<*ja>
-\item サンセリフ体で書かれた語(例:\Param{prebreakpenalty})は日本語組版用の
+\item 下線つきローマン体で書かれた語(例:\Param{prebreakpenalty})は日本語組版用の
パラメータを表し,これらは \cs{ltjsetparameter} 命令のキーとして
用いられる.
%</ja>
%<*en>
-\item A word in typewriter font with underline (like \Pkg{fontspec})
+\item A word in a sens-serif font without underline (like \Pkg{fontspec})
means a package or a class of \LaTeX.
%</en>
%<*ja>
-\item 下線付きタイプライタ体の語(例:\Pkg{fontspec})は\LaTeX の
+\item 下線なしサンセリフ体の語(例:\Pkg{fontspec})は\LaTeX の
パッケージやクラスを表す.
%</ja>
%<*en>
%</ja>
\end{itemize}
-%<en>\subsection{About the Project}
+%<en>\subsection{About the project}
%<ja>\subsection{プロジェクトについて}
%<en>\paragraph{Project Wiki} Project Wiki is under construction.
\begin{lstlisting}
$ git clone git://git.osdn.jp/gitroot/luatex-ja/luatexja.git
\end{lstlisting}
-\item \texttt{master}ブランチのスナップショット(\texttt{tar.gz}形式)をダウンロードする.
+\item \texttt{master} ブランチのスナップショット(\texttt{tar.gz} 形式)をダウンロードする.
\begin{flushleft}
\url{http://git.osdn.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
\end{flushleft}
\end{itemize}
-\texttt{master}ブランチ(従って,CTAN内のアーカイブも)はたまにしか更新されないことに注意.
-主な開発は\texttt{master}の外で行われ,比較的まとまってきたらそれを\texttt{master}に
+\texttt{master} ブランチ(従って,CTAN内のアーカイブも)はたまにしか更新されないことに注意.
+主な開発は\texttt{master}の外で行われ,比較的まとまってきたらそれを \texttt{master} に
反映させることにしている.
%</ja>
%</en>
%<*ja>
\item 「Gitリポジトリをクローン」以外の方法でアーカイブを取得したならば,それを展開する.
- \texttt{src/}をはじめとしたいくつかのディレクトリができるが,
- 動作には\texttt{src/}以下の内容だけで十分.
+ \texttt{src/} をはじめとしたいくつかのディレクトリができるが,
+ 動作には \texttt{src/} 以下の内容だけで十分.
%</ja>
%<*en>
instead copying is also good.
%</en>
%<*ja>
-\item \texttt{src}の中身を自分の\texttt{TEXMF}ツリーにコピーする.
+\item \texttt{src} の中身を自分の \texttt{TEXMF} ツリーにコピーする.
場所の例としては,例えば
\begin{quote}
\texttt{TEXMF/tex/luatex/luatexja/}
従来日本語の文字コードとして用いられてきたEUC-JPやShift-JISは使用できない.
%</ja>
%<*en>
-\item By default, \LuaTeX-ja uses Japanese fonts to typeset Greek and Cyrillic letters,
- and some Unicode symbols such as \P~and~\S. To change this behavior,
- put \lstinline!\ltjsetparameter{jacharrange={-2,-3,-8}}! in the preamble.
- For the detailed description, see Subsection~\ref{ssec-setrange}.
-%</en>
-%<*ja>
-\item
-標準では,\LuaTeX-jaはギリシャ文字やキリル文字,それに\P や\S などの記号を和文フォントを使っ
- て組む.ギリシャ語などを本格的に組むなどこの状況が望ましくない場合,
- プリアンブルに \lstinline!\ltjsetparameter{jacharrange={-2,-3,-8}}! を入れると
- 上記種類の文字は欧文フォントを用いて組まれるようになる.
- 詳しい説明は\ref{ssec-setrange}節を参照してほしい.
-%</ja>
-%<*en>
\item \LuaTeX-ja is very slower than \pTeX.
Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja
about 30\% faster than \LuaTeX, but not always.
\href{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{%
プロジェクトWiki英語版トップページ}中に書かれているバッチファイルを
実行して欲しい.このバッチファイルは,作業用ディレクトリにCMap達を
-コピーし,その中で\LuaTeX-ja の初回起動を行い,作業用ディレクトリを消す作業をしている.
+コピーし,その中で\LuaTeX-jaの初回起動を行い,作業用ディレクトリを消す作業をしている.
%</ja>
\end{itemize}
がそれぞれ用意されている.
%</ja>
+%<*en>
+%</en>
+%<*ja>
+%</ja>
+
%<*ja>
\paragraph{脚注とボトムフロートの出力順序}
オリジナルの\LaTeX では脚注がボトムフロートの上に来るようになっており,
記述しない.この方法については\ref{ssec-math}節を参照のこと.
%</ja>
-
-\subsection{fontspec}
+%<en>\subsection{\Pkg{luatexja-fontspec} package}
+%<ja>\subsection{\Pkg{luatexja-fontspec}パッケージ}
\label{ssec-fontspec}
%<*en>
-To coexist with the \Pkg{fontspec} package, it is needed to load
-the \Pkg{luatexja-fontspec} package in the preamble, as follows:
+To use the functionality of the \Pkg{fontspec} package to Japanese fonts,
+it is needed to load the \Pkg{luatexja-fontspec} package in the preamble, as follows:
\begin{quote}
\ttfamily \textbackslash usepackage[<options>]\{luatexja-fontspec\}
\end{quote}
\end{tabular}
\end{center}
%</ja>
-%<*en>
-The package option of \Pkg{luatexja-fontspec} are the followings:
+
+%<en> The package option of \Pkg{luatexja-fontspec} are the followings:
+%<ja> \Pkg{luatexja-fontspec} パッケージのオプションは以下の通りである:
\begin{cslist}
\item[match]
+%<*en>
If this option is specified, usual family-changing commands such as
\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
Note that \emph{\cs{setmonojfont} is defined
if and only if this \texttt{\textup{match}} option is specified}.
+%</en>
+
+%<*ja>
+このオプションが指定されると,「\pLaTeXe 新ドキュメントクラス」のように\
+\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} 等が
+欧文フォントだけでなく和文フォントも変更するようになる.
+
+\emph{なお,\cs{setmonojfont} はこの \texttt{match} オプションが
+指定された時のみ定義される.}この命令は標準の「タイプライタ体に対応する和文フォント」を指定する.
+%</ja>
\item[pass=<opts>]
-Specify options <opts> which will be passed to the \Pkg{fontspec} package.
+%<en> \emph{(Obsoleted)}\ Specify options <opts> which will be passed to the \Pkg{fontspec} package.
+%<ja> \Pkg{fontspec} パッケージに渡すオプション <opts> を指定する.本オプションは時代遅れである.
+
+\item[scale=<float>]
+%<*en>
+Override the ratio of the font size of Japanese fonts to that of alphabetic fonts.
+The default value is calculated automatically (for~example, about~0.924865 when
+ the \Pkg{ltjsarticle} class is used).
+%</en>
+%<*ja>
+欧文に対する和文の比率は,標準では \Pkg{luatexja-fontspec}読み込み時の和欧文比率から
+自動計算される(例えば,\Pkg{ltjsarticle}クラス使用時には和文は欧文の約0.924865倍となる)が,
+それを手動で上書きするときに使用する.
+%</ja>
\end{cslist}
+
+%<*en>
+All other options listed above are simply passed to the \Pkg{fontspec} package.
+This means that two lines below are equivalent, for example.
+%</en>
+%<*ja>
+上記にないオプションは全て \Pkg{fontspec} パッケージに渡される.
+例えば,下の2行は同じ意味になる:
+%</ja>
+\begin{lstlisting}
+\usepackage[no-math]{fontspec}\usepackage{luatexja-fontspec}
+\usepackage[no-math]{luatexja-fontspec}
+\end{lstlisting}
+
+
+%<*en>
The reason that \cs{setmonojfont} is not defined by default is that
it is popular for Japanese fonts that nearly all Japanese glyphs have same
widths. Also note that kerning information in a font is not used
Below is an example of \cs{jfontspec}.
%</en>
%<*ja>
-\Pkg{luatexja-fontspec} パッケージのオプションは以下の通りである:
-\begin{cslist}
- \item[match]
-このオプションが指定されると,「\pLaTeXe 新ドキュメントクラス」のように\
-\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} 等が
-欧文フォントだけでなく和文フォントも変更するようになる.
-
-\emph{なお,\cs{setmonojfont} はこの \texttt{match} オプションが
-指定された時のみ定義される.}この命令は標準の「タイプライタ体に対応する和文フォント」を指定する.
-
- \item[pass=<opts>]
-\Pkg{fontspec} パッケージに渡すオプション <opts> を指定する.
-\end{cslist}
標準で \cs{setmonojfont} コマンドが定義されないのは,
和文フォントではほぼ全ての和文文字のグリフが等幅であるのが伝統的であったことによる.
また,これらの和文用のコマンドではフォント内のペアカーニング情報は標準では使用されない,
JIS~X~0208:1990→辻
\end{LTXexample}
-%<en>\subsection{Presets}
-%<ja>\subsection{プリセット設定}
+%<en>\subsection{Presets of Japanese fonts}
+%<ja>\subsection{和文フォントのプリセット設定}
\label{ssec-preset}
%<*en>
-To use standard Japanese font settings easily, one can load the \Pkg{luatexja-preset}
-package with several options. This package provides functions in a part of
+One can load the \Pkg{luatexja-preset}
+package to use several ``presets'' of Japanese fonts.
+This package provides functions in a part of
\Pkg{japanese-otf} package and a part of \Pkg{PXchfon} package by Takayuki Yato.
+
+One can specified other options other than listed in this subsection.
+These are simply passed to the \Pkg{luatexja-fontspec}\footnote{if \texttt{nfssonly} option is
+\emph{not} specified; in this case these options are simply ignored.}.
+For example, the line~5 in below example is eqivalent to lines 1--3.
%</en>
%<*ja>
よく使われている和文フォント設定を一行で指定できるようにしたのが
\Pkg{luatexja-preset}パッケージである.このパッケージは,
\Pkg{otf}パッケージの一部機能と八登崇之氏による\Pkg{PXchfon}パッケージの一部機能とを
合わせたような格好をしている.
+
+オプションとして,本節にないものも指定することができるが,それらは
+\Pkg{luatexja-fontspec}パッケージに渡される\footnote{\texttt{nfssonly} オプションが
+指定されていた場合は,\Pkg{luatexja-fontspec}パッケージは読み込まれないので単純に無視され
+る.}.例えば,下の1--3行目は5行目のように一行にまとめることができる.
%</ja>
+\begin{lstlisting}
+\usepackage[no-math]{fontspec}
+\usepackage[match]{luatexja-fontspec}
+\usepackage[kozuka-pr6n]{luatexja-preset}
+%%--------
+\usepackage[no-math,match,kozuka-pr6n]{luatexja-preset}
+\end{lstlisting}
%<en>\paragraph{General options}
%<ja>\paragraph{一般的なオプション}
automatically loaded by this package.
\emph{This option is enabled by default.}
-If you need to pass some options to \Pkg{fontspec}, load \Pkg{fontspec} manually
+If you need to pass some options to \Pkg{fontspec}, you can load \Pkg{fontspec} manually
before \Pkg{luatexja-preset}:
%</en>
%<*ja>
\cs{addjfontfeatures} etc.).
This option is ignored when \Pkg{luatexja-fontspec} package is loaded.
-Note that the \Pkg{fontspec} can coexist with the option as the following:
+When this option is specified, \Pkg{fontspec}~and~\Pkg{luatexja-fontspec} are
+\emph{not} loaded by default. Nevertheless,
+the package\Pkg{fontspec} can coexist with the option, as the following:
\begin{lstlisting}
\usepackage{fontspec}
\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
ションが指定された場合には \texttt{ltjpmg}(丸ゴシック)という
3つの和文フォントファミリを定義し,これらを用いる.
-欧文フォントの指定で\Pkg{fontspec}パッケージを読み込んでいる場合でも
+本オプション指定時には\Pkg{fontspec}・\Pkg{luatexja-fontspec}パッケージは
+自動では読み込まれない,しかし,
\begin{lstlisting}
\usepackage{fontspec}
\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
\end{lstlisting}
-のようにこのオプションを指定することは可能である.一方,
+のようにすれば,このオプションを指定すれば
+欧文フォントを\Pkg{fontspec}パッケージの機能を使って指定することができる.
+一方,
パッケージ読み込み時に既に\Pkg{luatexja-fontspec}パッケージが読み込まれて
いる場合は \texttt{nfssonly} オプションは無視される.
%</ja>
\end{tabular}
\end{center}
-%<ja>\newpage
-
\item[hiragino-pro] Hiragino Pro (Adobe-Japan1-5) fonts.
%<en> \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.
%</en>
%<*ja>
各文字はただ一つの文字範囲に所属することができる.
-例えば,SIPは全て\LuaTeX-jaのデフォルトでは4番の文字範囲に
-属しているが,上記の指定を行えばSIPは100番に属すようになり,4番からは除かれる.
+例えば,SIP内の文字は全て\LuaTeX-jaのデフォルトでは4番の文字範囲に
+属しているが,上記の指定を行えばSIP内の文字は100番に属すようになり,4番からは除かれる.
%</ja>
%<*en>
For example, the code below is just the default setting of \LuaTeX-ja, and
it sets
\begin{itemize}
- \item a character which belongs character ranges 1,~4, and~5 is \textbf{ALchar},
- \item a character which belongs character ranges 2,~3, 6, 7, and~8 is \textbf{JAchar}.
+ \item a character which belongs character ranges 1,~4, 5, and~8 is \textbf{ALchar},
+ \item a character which belongs character ranges 2,~3, 6, and~7 is \textbf{JAchar}.
\end{itemize}
%</en>
%<*ja>
これは\textsf{jacharrange}パラメータによって編集できる.
例えば,以下は\LuaTeX-jaの初期設定であり,次の内容を設定している:
\begin{itemize}
- \item 1番,4番,5番の文字範囲に属する文字は\textbf{ALchar}.
- \item 2番,3番,6番,7番,8番の文字範囲に属する文字は\textbf{JAchar}.
+ \item 1番,4番,5番,8番の文字範囲に属する文字は\textbf{ALchar}.
+ \item 2番,3番,6番,7番の文字範囲に属する文字は\textbf{JAchar}.
\end{itemize}
%</ja>
\begin{lstlisting}
-\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, +8}}
+\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8}}
\end{lstlisting}
%<*en>
The argument to \textsf{jacharrange} parameter is a list of non-zero integer.
%</ja>
%<*en>
-\emph{Caution}: this default setting may causes a problem with traditional 8-bit fonts,
-such as \cs{Frowny} in MarVoSym.ttf. Since the codepoint of \cs{Frowny} is 167,
-which belongs to character range~8, this will be typeset \ltjjachar`§ in current
-\emph{Japanese} font.
-To avoid this problem, one can use
-\begin{lstlisting}
-\ltjsetparameter{jacharrange={-1, -8}}
-\end{lstlisting}
-to set all characters whose codepoint is in $[128,255)$ as \textbf{ALchar}.
+Note that characters \texttt{U+0000}--\texttt{U+007F} are always treated as an
+\textbf{ALchar} (this cannot be customized).
%</en>
%<*ja>
-なお,この標準設定は,伝統的な8ビットのフォントを使うときに問題を起こす可能性がある.
-具体例としてはMarVoSym.ttf中の\cs{Frowny}があり,この符号位置は(文字範囲8内の)167である
-から,\cs{Frowny}はそのままでは\ltjjachar`§を和文フォントで出力してしまうことになる.
-回避するには,
-\begin{lstlisting}
-\ltjsetparameter{jacharrange={-1, -8}}
-\end{lstlisting}
-などとして,符号位置が$[128,255)$の全ての文字を\textbf{ALchar}扱いにさせればよい.
+なお,\texttt{U+0000}--\texttt{U+007F} は常に\textbf{ALchar}として扱われる(利用者が変更す
+ることは出来ない).
%</ja>
-
%<*en>
\paragraph{Default character ranges}
\LuaTeX-ja predefines eight character ranges for convenience. They are
%</en>
%<*ja>
以下ではこれら8つの文字範囲について記述する.添字のアルファベット「J」「A」
-は,その文字範囲内の文字が\textbf{JAchar}か\textbf{ALchar}かを表している.これらの設定は
-\texttt{PXbase}バンドルで定義されている\texttt{prefercjk}と類似のものである.
+は,その文字範囲内の文字が\textbf{JAchar}か\textbf{ALchar}かを表している.これらの初期設定は
+\texttt{PXbase}バンドルで定義されている\texttt{prefercjk}と類似のものであるが,
+8ビットフォント使用時のトラブルを防ぐために \texttt{U+0080}--\texttt{U+00FF} の文字は全部
+\textbf{ALchar}としている.
なお,\texttt{U+0080} 以降でこれら8つの文字範囲に属さない文字は,217番の文字範囲に属することになっている.
%</ja>
\begin{description}
%<*en>
-\item[Range~8${}^{\kern.1em\text{J}}$] The intersection of the upper half of ISO~8859-1
+\item[Range~8${}^{\text{A}}$] The intersection of the upper half of ISO~8859-1
(Latin-1 Supplement) and JIS~X~0208 (a basic character set for Japanese). This character range
consists of the following characters:
%</en>
%<*ja>
-\item[範囲8${}^{\kern.1em\text{J}}$] ISO~8859-1の上位領域(ラテン1補助)と
+\item[範囲8${}^{\text{A}}$] ISO~8859-1の上位領域(ラテン1補助)と
JIS~X~0208の共通部分.この文字範囲は
以下の文字で構成される:
%</ja>
\item \texttt{U+0180}--\texttt{U+024F}: Latin Extended-B
\item \texttt{U+0250}--\texttt{U+02AF}: IPA Extensions
\item \texttt{U+02B0}--\texttt{U+02FF}: Spacing Modifier Letters
-\item \texttt{U+0300}--\texttt{U+036F}: \\\null\hfill Combining Diacritical Marks
-\item \texttt{U+1E00}--\texttt{U+1EFF}: \\\null\hfill Latin Extended Additional
-\par\
+%<en>\par\
+\item \texttt{U+0300}--\texttt{U+036F}: \\*\null\hfill Combining Diacritical Marks
+\item \texttt{U+1E00}--\texttt{U+1EFF}: \\*\null\hfill Latin Extended Additional
+%<ja>\par\
\end{itemize}
\end{multicols}
%<*en>
%</en>
%<*ja>
\item[範囲2${}^{\text{\kern.1emJ}}$] ギリシャ文字とキリル文字.JIS~X~0208(したがってほとんどの
- å\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88ï¼\89ã\81¯ã\81\93ã\82\8cã\82\89ã\81®æ\96\87å\97ã\82\92æ\8c\81ã\81¤.
+ å\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88ï¼\89ã\81«ã\81¯ï¼\8cã\81\93ã\82\8cã\82\89ã\81®æ\96\87å\97ã\81®ä¸\80é\83¨ã\81\8cå\90«ã\81¾ã\82\8cã\81¦ã\81\84ã\82\8b.
%</ja>
\begin{multicols}{2}
\begin{itemize}
\end{table}
\end{description}
+%<*en>
+\paragraph{Notes on \texttt{U+0080}--\texttt{U+00FF}}
+You should treat characters in \\texttt{U+0080}--\texttt{U+00FF} as \textbf{ALchar},
+when you use traditional 8-bit fonts, such as the \Pkg{textcomp} package or the
+\Pkg{marvosym} package.
+
+For example, the codepoint \cs{textparagraph} which is provided by the \Pkg{textcomp}
+package is 182. This codepoint corresponds \P\ (\text{U+00B6}) in Unicode.
+Similarly, \cs{Frowny} which is provided by the \Pkg{marvosym} package has
+the same codepoint as \S\ (\text{U+00A7}).
+Hence, as previous versions of \LuaTeX-ja, if these characters are treated as
+\text{JAchar}s, then \cs{textparagraph} produces ``ltjjachar`¶'' (in a Japanese font),
+and \cs{Frowny} produces ``\ltjjachar`§'' (in a Japanese font).
+
+To avoid such situations, the default setting of \LuaTeX-ja is changed in this release
+so that all characters \texttt{U+0080}--\texttt{U+00FF} are treated as \textbf{ALchar}.
+
+If you want to output a character as \textbf{ALchar} and \textbf{JAchar} regardless the range
+setting, you can use \cs{ltjalchar} and \cs{ltjjachar} respectively, as the following example.
+\begin{LTXexample}[width=0.3\textwidth]
+\gtfamily\large % default, ALchar, JAchar
+¶, \ltjalchar`¶, \ltjjachar`¶\\ % default: ALchar
+α, \ltjalchar`α, \ltjjachar`α % default: JAchar
+\end{LTXexample}
+%</en>
+%<*ja>
+\paragraph{\texttt{U+0080}--\texttt{U+00FF}についての注意}
+\LuaTeX-jaで,\Pkg{textcomp}パッケージや\Pkg{marvosym}パッケージ等,Unicodeフォントでなく
+伝統的な8ビットフォントを用いる場合には注意が必要である.
+
+例えば,\Pkg{textcomp}パッケージの提供する \cs{textparagraph} は,
+符号位置が182,つまり \texttt{0xB6} であり,Unicodeではこの符号位置では\P\ (\text{U+00B6}) に対応する.
+また,\Pkg{marvosym}パッケージの提供する \cs{Frowny} も,符号位置は167,つまりUnicodeにおける
+\S\ (\text{U+00A7}) と同じ符号位置にある.
+即ち,以前のバージョンのように,「前節の文字範囲8内の文字は\textbf{JAchar}」という設定で
+あったとすると,上記の \cs{textparagraph} は和文フォントで「\ltjjachar`¶」を出力し,
+また \cs{Frowny} は和文フォントで「\ltjjachar`§」を出力することになる.
+
+このような事態を避けるために,本バージョンからは \texttt{U+0080}--\texttt{U+00FF} の範囲の
+文字は全て\textbf{ALchar}となるように初期設定を変更している.
+特に影響を受けるのが,JIS~X~0208の一部分である文字範囲8内の文字であり,
+\emph{\Pkg{fontspec}パッケージを読み込んだりして欧文記号としてこれらの文字の出力環境を整え
+ないと,ソース中に直接記述しても出力されない}ことになる.
+
+なお,文字範囲の設定に関わらず1つの文字を\textbf{ALchar}, \textbf{JAchar}で出力したい場合には,
+以下の例のようにそれぞれ \cs{ltjalchar},~\cs{ltjjachar} に該当文字の文字コードを渡せばよい.
+\begin{LTXexample}[width=0.3\textwidth]
+\gtfamily\large % default, ALchar, JAchar
+¶, \ltjalchar`¶, \ltjjachar`¶\\ % default: ALchar
+α, \ltjalchar`α, \ltjjachar`α % default: JAchar
+\end{LTXexample}
+%</ja>
+
%<en>\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
%<ja>\subsection{\Param{kanjiskip}と\Param{xkanjiskip}}
\label{subs-kskip}
\cs{ltjgetparameter} によって取得することはできないので注意が必要である.
%</ja>
-%<en>\subsection{Insertion Setting of \Param{xkanjiskip}}
+%<en>\subsection{Insertion setting of \Param{xkanjiskip}}
%<ja>\subsection{\Param{xkanjiskip} の挿入設定}
%<*en>
下の例において引かれている水平線がベースラインである.
%</ja>
\begin{LTXexample}
-\vrule width 150pt height 0.4pt depth 0pt \hskip-120pt
+\vrule width 150pt height 0.2pt depth 0.2pt \hskip-120pt
\ltjsetparameter{yjabaselineshift=0pt, yalbaselineshift=0pt}abcあいう
\ltjsetparameter{yjabaselineshift=5pt, yalbaselineshift=2pt}abcあいう
\end{LTXexample}
異なる文字を中心線に揃えることができる.
以下は一つの例である(値はあまり調整されていないことに注意):
%</ja>
-\begin{LTXexample}
-xyz漢字
+\begin{LTXexample}[width=0.4\textwidth]
+\vrule width 150pt height4.417pt depth-4.217pt%
+\kern-150pt
+\large xyz漢字
{\scriptsize
- \ltjsetparameter{yjabaselineshift=-1pt,
- yalbaselineshift=-1pt}
- XYZひらがな
-}abcかな
+ \ltjsetparameter{yjabaselineshift=-1.757pt,
+ yalbaselineshift=-1.757pt}
+ 漢字xyzあいう
+}あいうabc
\end{LTXexample}
%<*en>
\toprule
\emph{入力}&\vspace*{\dimexpr-\origbaselineskip-\smallskipamount}
\begin{lstlisting}
-数式abc: $あa\hbox{い}$, $\int_0^x t\,dt=x^2\!/2$,
+数式abc: $あa\hbox{い}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\end{lstlisting}\\
\noalign{\vskip-\origbaselineskip}
\midrule
\emph{\pTeX}&
{\ltjsetparameter{yalbaselineshift=10pt}%
-数式abc: $あa\lower10pt\hbox{い}$, $\int_0^x t\,dt=x^2\!/2$,
+数式abc: $あa\lower10pt\hbox{い}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \lower10pt\hbox{for all}\ x\in A$
\par}\\
\midrule
\emph{\LuaTeX-ja}&
{\ltjsetparameter{yalbaselineshift=10pt}%
-数式abc: $あa\hbox{い}$, $\int_0^x t\,dt=x^2\!/2$,
+数式abc: $あa\hbox{い}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\par}\\
\noalign{\vskip-\origbaselineskip}
\Param{jaxspmode},~\Param{alxspmode}, \Param{prebreakpenalty},
\Param{postbreakpenalty}~and~\Param{kcatcode}
\end{quote}
-are stored by each character codes. ...
+are stored by each character codes.
+OpenType font features are ignored in these parameters.
For example, a fullwidth katakana ``ア'' on line~10 in the below input is replaced to
its halfwidth variant ``ア'', by \verb+hwid+ feature.
However, the penalty inserted after it is 10 which is the \Param{postbreakpenalty} of
``ア'', not 20.
%</en>
%<*ja>
-\subsection{禁則処理関連パラメータとfont feature}
+\subsection{禁則処理関連パラメータとOpenTypeのfont feature}
禁則処理や \Param{kanjiskip}, \Param{xkanjiskip} の挿入に関連したパラメータのうち
\begin{quote}
\Param{jaxspmode},~\Param{alxspmode}, \Param{prebreakpenalty},
\Pkg{fontspec}パッケージを使う(\ref{ssec-fontspec}節)場合など,
各種のOpenType featureを適用することもあると思うが,前段落に述べたパラメータ類は,
-\emph{OpenType featureの適用前の文字コードによって判定される.}
+\emph{OpenType featureの適用前の文字コードによって適用される.}
例えば,以下の例において10行目の「ア」は,\verb+hwid+ featureの適用により半角カタカナの「ア」
に置き換わる.しかし,その直後に挿入される \Param{postbreakpenalty}は,置換前の「ア」に対する値10である.
%</ja>
\end{table}
%<*en>
-\subsection{Non-kanji Characters in a Control Word}
+\subsection{Non-kanji characters in a control word}
Because the engine differ, so non-kanji JIS~X~0208 characters
which can be used in a control word differ in \pTeX, in \upTeX,~and~in \LuaTeX-ja.
Table~\ref{table-kcat-diff} shows the difference.
?
\end{lstlisting}
-%<en>\subsection{Structure of a JFM File}
+%<en>\subsection{Structure of a JFM file}
%<ja>\subsection{JFMファイルの構造}
\label{ssec-jfm-str}
%<en>A JFM file is a Lua script which has only one function call:
%</ja>
-%<en>\subsection{Math Font Family}
+%<en>\subsection{Math font family}
%<ja>\subsection{数式フォントファミリ}
\label{ssec-math}
%<en>\section{Other Commands for plain \TeX\ and \LaTeXe}
%<ja>\section{plainでも\LaTeX でも利用可能なその他の命令}
-%<en>\subsection{Commands for Compatibility with \pTeX}
+%<en>\subsection{Commands for compatibility with \pTeX}
%<ja>\subsection{\pTeX 互換用命令}
%<*en>
マクロの都合による.
%</ja>
+%<*ja>
+\subsection{\cs{ltjalchar} と \cs{ltjjachar}}
+文字コードが$\text{<chr\_code>}~(\geq 128=\mathtt{0x80})$の文字を
+\ \cs{char} プリミティブを使い \cs{char}<chr\_code> として出力させると,
+その文字の属する文字範囲(\ref{ssec-setrange}節参照)によって
+\textbf{ALchar}か\textbf{JAchar}か,つまり欧文フォントで出力されるか和文フォントで出力され
+るかが決まる.
+
+文字範囲の設定を無視し,文字コードが$\text{<chr\_code>}~(\geq 128=\mathtt{0x80})$の文字を強制的に
+\textbf{ALchar}, \textbf{JAchar}で出力する命令がそれぞれ
+\ \cs{ltjalchar},~\cs{ltjjachar} である.使用方法は \cs{char} と同じく
+\ \cs{ltjalchar}<chr\_code>, \cs{ltjjachar}<chr\_code>とすればよい.
+<chr\_code>が127以下の場合は,\cs{ltjjachar} であっても\textbf{ALchar}として出力されること
+に注意.
+
+以下は\ref{ssec-setrange}節に載せた例に,\cs{char} の動作を追加したものである.
+\begin{LTXexample}[width=0.25\textwidth]
+\gtfamily\large % default, ALchar, JAchar
+¶, \char`¶, \ltjalchar`¶, \ltjjachar`¶\\ % default: ALchar
+α, \char`α, \ltjalchar`α, \ltjjachar`α % default: JAchar
+\end{LTXexample}
+%</ja>
%<en>\section{Commands for \LaTeXe}
\userelfont\selectfont あいうabc
\end{LTXexample}
-%<en>\subsection{\cs{fontfamily}}
-%<ja>\subsection{\cs{fontfamily}}
+%<en>\subsection{Detail of \cs{fontfamily} command}
+%<ja>\subsection{\cs{fontfamily}コマンドの詳細}
\label{ssec-fontfamilycmd}
%<*en>
In this subsection, we describe when \cs{fontfamily}<family> changes current
%<*en>
-\section{Addons}
+\section{Addon packages}
\LuaTeX-ja has several addon packages.
These addons are written as \LaTeX\ packages, but
\Pkg{luatexja-otf} and~\Pkg{luatexja-adjust} can be loaded in plain \LuaTeX\
by \cs{input}.
%</en>
%<*ja>
-\section{拡張}
+\section{拡張パッケージ}
\LuaTeX-jaには(動作には必須ではないが)自由に読み込める拡張が付属している.
これらは\LaTeX のパッケージとして制作しているが,
\Pkg{luatexja-otf}と\Pkg{luatexja-adjust}についてはplain \LuaTeX でも\
\cs{input} で読み込み可能である.
%</ja>
-\subsection{\texttt{luatexja-fontspec.sty}}
+\subsection{\Pkg{luatexja-fontspec}}
\label{ssec-fontspec2}
%<*en>
As described in Subsection~\ref{ssec-fontspec}, this optional package
%</ja>
-\subsection{\texttt{luatexja-otf.sty}}
+\subsection{\Pkg{luatexja-otf}}
\label{ssec-ltjotf}
%<*en>
This optional package supports typesetting characters in
%</ja>
-\subsection{\texttt{luatexja-adjust.sty}}
+\subsection{\Pkg{luatexja-adjust}}
\label{ssec-adj}
\begin{figure}[t]
\def\sq{%
\end{cslist}
%</ja>
-\subsection{\texttt{luatexja-ruby.sty}}
+\subsection{\Pkg{luatexja-ruby}}
%<*en>
This addon package provides functionality of ``ruby'' (\emph{furigana}) annotations
using callbacks of \LuaTeX-ja.
%<*ja>
-\subsection{\texttt{lltjext.sty}}
+\subsection{\Pkg{lltjext}}
\pLaTeX では縦組用の拡張として \Pkg{plext} パッケージが用意されていたが,
それを\LuaTeX-ja用に書きなおしたものが本追加パッケージ \Pkg{lltjext} である.
%<en>\section{Storing Parameters}
%<ja>\section{パラメータの保持}
\label{sec-para}
-%<en>\subsection{Used Dimensions, Attributes and Whatsit Nodes}
+%<en>\subsection{Used dimensions, attributes and whatsit nodes}
%<ja>\subsection{\LuaTeX-jaで用いられるレジスタとwhatsitノード}
%<*en>
これらのwhatsitノードは\textbf{JAglue}の挿入処理の間に取り除かれる.
%</ja>
-%<en>\subsection{Stack System of \LuaTeX-ja}
+%<en>\subsection{Stack system of \LuaTeX-ja}
%<ja>\subsection{\LuaTeX-jaのスタックシステム}
\label{ssec-stack}
%</ja>
%<*en>
-\subsection{Lua Functions of the Stack System}
+\subsection{Lua functions of the stack system}
In this subsection, we will see how a user use \LuaTeX-ja's stack system to
store some data which obeys the grouping of \TeX.
%</en>
%<en>\section{Linebreak after a Japanese Character}
%<ja>\section{和文文字直後の改行}
\label{sec-lbreak}
-%<en>\subsection{Reference: Behavior in \pTeX}
+%<en>\subsection{Reference: behavior in \pTeX}
%<ja>\subsection{参考:\pTeX の動作}
%<*en>
In~\pTeX, a line break after a Japanese character doesn't emit a space,
\end{lstlisting}
%</ja>
-%<en>\subsection{Class of Characters}
+%<en>\subsection{Class of characters}
%<ja>\subsection{文字種}
%<en>Roughly speaking, the \Pkg{listings} package processes input as follows:
縦組時における幅を格納している.構造は以下の通り:
%</ja>
%<*en>
-\subsection{Use of Cache}
+\subsection{Use of cache}
\LuaTeX-ja uses the following cache:
\begin{cslist}