OSDN Git Service

typo
[luatex-ja/luatexja.git] / doc / luatexja.dtx
index ba459e4..2dacc77 100644 (file)
@@ -16,8 +16,7 @@
 \makeatletter
 %%%%%%%%
 \directlua{if jit then jit.on() end}
-
-\usepackage{amsmath,array,tikz,pict2e,multienum,float}
+\usepackage{metalogo,amsmath,array,tikz,pict2e,multienum,float}
 \usepackage{booktabs,multicol,luatexja-ruby}
 \usepackage[all]{xy}
 \usepackage{lltjext,alltt}
@@ -25,6 +24,7 @@
 %%%%%%%% fonts
 \usepackage{luatexja-otf}
 \directlua{luatexja.otf.enable_ivs()}
+\expandafter\let\csname xetex_suppressfontnotfounderror:D\endcsname\suppressfontnotfounderror
 \usepackage[match]{luatexja-fontspec}
 \usepackage[kozuka-pr6n]{luatexja-preset}
 \usepackage{unicode-math}
@@ -35,6 +35,8 @@
 \setmonojfont{KozGoPr6N-Regular.otf}
 \setmathfont[Scale=MatchLowercase]{xits-math.otf}
 \setsansfont[Scale=MatchLowercase,Ligatures=TeX]{Linux Biolinum O}
+
+\setLaTeXa{\scshape a}
 %<*ja>
 \def\emph#1{\textbf{\textgt{#1}}}
 \def\headfont{\normalfont\bfseries\gtfamily}\normalsize
 \DeclareRobustCommand\epTeX{\ensuremath{\varepsilon}-\pTeX}
 
 %%%%%%%% other macros
-\newlist{cslist}{description}{1}
+\newlist{cslist}{description}{2}
 \setlist[cslist]{%
     style=nextline,font=\mdseries\ttfamily,
     before*=\def\<{\char`\<}\def\>{\char`\>}\def\{{\char`\{}\def\}{\char`\}},
+    topsep=\medskipamount,
 %<ja> leftmargin=2\zw,
 %<en> leftmargin=2em,
 }
@@ -455,7 +458,7 @@ By default, \LuaTeX-ja uses Japanese fonts to typeset Greek and Cyrillic letters
 
 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.
+      without the \cs{fontspec} (and~\Pkg{luatexja-fontspec}) package, these characters are not typeset correctly.
 %</en>
 %<*ja>
 \paragraph{ギリシャ文字・キリル文字とISO~8859-1の記号}
@@ -471,7 +474,7 @@ From this version, characters which belongs both ISO~8859-1 and JIS~X~0208,
 
 また,\P,~\S といったISO~8859-1の上位領域とJIS~X~0208の共通部分の文字は
       本バージョンから標準で欧文扱いとなり,\emph{ソース中に直接記述しても
-      \Pkg{fontspec}パッケージ非読み込みの状態では出力されなくなった}.
+      \Pkg{fontspec}パッケージ(および\Pkg{luatexja-fontspec}パッケージ)非読み込みの状態では出力されなくなった}.
       和文扱いで出力するには \verb+\ltjjachar`§+ のように \cs{ltjjachar} 命令
       を使えばよい.
 %</ja>
@@ -1037,7 +1040,7 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{%
 しかしながら,上記の設定は日本語の文書にとって十分とは言えない.
 日本語文書を組版するためには,\texttt{article.cls}, \texttt{book.cls}といった
 欧文用のクラスファイルではなく,和文用のクラスファイルを用いた方がよい.
-現時点では,\Pkg{jclasses}(\pLaTeX の標準クラス)と\Pkg{jsclasses}
+現時点では,\Pkg{jclasses}(\pLaTeX の標準クラス)と\Pkg{jsclasses}%
 (奥村晴彦氏による「\pLaTeXe 新ドキュメントクラス」)に対応するものとして,
 \Pkg{ltjclasses}\footnote{%
   横組用は \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls} であり,
@@ -1048,11 +1051,6 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{%
 がそれぞれ用意されている.
 %</ja>
 
-%<*en>
-%</en>
-%<*ja>
-%</ja>
-
 %<*ja>
 \paragraph{脚注とボトムフロートの出力順序}
 オリジナルの\LaTeX では脚注がボトムフロートの上に来るようになっており,
@@ -1289,13 +1287,18 @@ automatically loads \Pkg{luatexja} and \Pkg{fontspec}
 packages, if needed.
 %</en>
 %<*ja>
-\Pkg{fontspec}パッケージと同様の機能を和文フォントに対しても用いる場合,
-\Pkg{luatexja-fontspec}パッケージを読み込めばよい.
+\Pkg{fontspec}パッケージは,\LuaTeX・\XeTeX において
+TrueType・OpenTypeフォントを容易に扱うためのパッケージであり,このパッケージを読み込んでお
+けばUnicodeによる各種記号の直接入力もできるようになる.
+\LuaTeX-jaでは和文と欧文を区別しているため,\Pkg{fontspec}パッケージの機能は欧文フォントに
+対してのみ有効なものとなっている.
+
+\LuaTeX-ja上において,\Pkg{fontspec}パッケージと同様の機能を和文フォントに対しても用いる場
+合は\Pkg{luatexja-fontspec}パッケージを読み込む:
 \begin{quote}
 \ttfamily \textbackslash usepackage[<options>]\{luatexja-fontspec\}
 \end{quote}
-このパッケージ
-は必要ならば自動で\Pkg{luatexja}パッケージと\Pkg{fontspec}パッケージを読み込む.
+このパッケージは自動で\Pkg{luatexja}パッケージと\Pkg{fontspec}パッケージを読み込む.
 %</ja>
 
 %<*en>
@@ -3834,8 +3837,8 @@ OpenType font featureと見かけ上同じような形式で指定できるも
 \paragraph{\texttt{extend} and \texttt{slant}}
 The following setting can be specified as OpenType font features:
 \begin{cslist}[style=standard]
-\item[\cs{extend=}<extend>] expand the font horizontally by <extend>.
-\item[\cs{slant=}<slant>] slant the font.
+\item[\texttt{extend=}<extend>] expand the font horizontally by <extend>.
+\item[\texttt{slant=}<slant>] slant the font.
 \end{cslist}
 Note that \LuaTeX-ja doesn't adjust JFMs by these \texttt{extend} and \texttt{slant}
 settings; you have to write new JFMs on purpose.
@@ -3850,6 +3853,36 @@ letter-spacing and the width of italic correction are not correct:
 \S あいう\/ABC
 \end{LTXexample}
 
+%<*ja>
+\paragraph{\texttt{ltjksp} 指定}
+\label{pg:ltjksp}
+\LuaTeX-ja標準では,
+JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\ 
+\texttt{kanjiskip\_shrink}キー(\pageref{pg:ksp_nat}ページ)の使用によって,
+「JFM由来のグルーの他に,\Param{kanjiskip}の自然長/伸び量/縮み量の一部が
+同じ場所に挿入される」という状況が起こりうる.
+この機能を無効化し,20150922.0版以前と同じような組版を得るためには
+他のOpenType機能と同じように\ \texttt{-ltjksp}\ 指定を行えば良い.
+\begin{LTXexample}[width=16\zw]
+\leavevmode
+\ltjsetparameter{kanjiskip=0pt plus 3\zw}
+\vrule\hbox to 15\zw{あ「い」う,えお}\vrule
+
+\jfont\G=file:KozMinPr6N-Regular.otf%
+  :jfm=ujis;-ltjksp at 9.2487pt
+\G\leavevmode%
+\vrule\hbox to 15\zw{あ「い」う,えお}\vrule
+\end{LTXexample}
+なお,
+\begin{lstlisting}
+ \jfont\G=file:KozMinPr6N-Regular.otf:jfm=ujis;-ltjksp;+ltjksp at 9.2487pt
+\end{lstlisting}
+のように \texttt{+ltjksp} 指定を行った場合は,\texttt{kanjiskip\_natural} など
+3キーは再び有効化される.\texttt{-ltjksp}, \texttt{+ltjksp} を複数回指定した場合は,
+最後に指定したものが有効となる.
+%</ja>
+
+
 %<en>\subsection{\cs{tfont}}
 %<ja>\subsection{\cs{tfont} 命令}
 
@@ -4416,62 +4449,122 @@ Furthermore, the glyph is shifted according to values of fields
 \label{fig-pos-tate}
 \end{figure}
 
-\item[kern={\{[$j$]=<kern>, [$j'$]=\{<kern>, [<ratio>]\}, ...\}}]
-
-\item[glue={\{[$j$]=\{<width>, <stretch>, <shrink>, [<priority>], [<ratio>]\}, ...\}}]\
+\item[kern={\{[$j$]=<kern>, [$j'$]=\{<kern>, [ratio=<ratio>]\}, ...\}}]
+\nopagebreak
+\item[glue={\{[$j$]=\{<width>, <stretch>, <shrink>, [ratio=<ratio>, ...]\}, ...\}}]\leavevmode
 %<*ja>
 
-文字クラス$i$の文字と$j$の文字の間に挿入されるkernやglueの量を指定する.
-
-             <priority>は \Pkg{luatexja-adjust} による優先順位付き
-            行長調整(\ref{ssec-adj}節)が有効なときのみ意味を持つ.
-このフィールドは省略可能であり,行調整処理におけるこのglueの優先
-             度を$-2$から$+2$の間の整数で指定する.大きい値ほど「伸びやすく,縮みやすい」
-             ことを意味する.省略時の値
-             は0であり,範囲外の値が指定されたときの動作は未定義である.
+文字クラス$i$の文字と$j$の文字の間に挿入されるカーンやグルーの量を指定する.
 
-<ratio>も省略可能フィールドであり,$-1$から$+1$の実数値をとる.省略時の値は0である.
-\begin{itemize}
-\item $-1$はこのグルーが「前の文字」由来であることを示す.
-\item $+1$はこのグルーが「後の文字」由来であることを示す.
-\item それ以外の値は,「前の文字」由来のグルーと「後の文字」由来の
-グルーが混合されていることを示す.
-\end{itemize}
-なお,このフィールドの値は\Param{differentjfm}の値が
+<ratio>は,グルーの自然長のうちどれだけの割合が「後の文字」由来かを示す量で,
+$0$から$+1$の実数値をとる.省略時の値は$0.5$である.
+このフィールドの値は\Param{differentjfm}の値が
 \texttt{pleft},~\texttt{pright},~\texttt{paverage}の値のときのみ実際に用いられる.
 
 例えば,\cite{x4051}では,句点と中点の間には,
 句点由来の二分空きと中点由来の四分空きが挿入されるが,この場合には
 \begin{itemize}
 \item <width>には$0.5+0.25=0.75$を指定する.
-\item <ratio>には次の値を指定する.
-\[
- -1\cdot \frac{0.5}{0.5+0.25} + 1 \cdot \frac{0.25}{0.5+0.25} = -\frac13
-\]
+\item <ratio>には$0.25/(0.5+0.25)=1/3$を指定する.
 \end{itemize}
 %</ja>
 %<*en>
 \
 
-Specifies the width of kern or glue which will be inserted
+Specifies the amount of kern or glue which will be inserted
 between characters in character class~$i$ and those in character class~$j$.
 
-<priority> is an integer in $[-2,2]$ (treated as 0 if omitted), and this is
-used only in line adjustment with priority by \Pkg{luatexja-adjust}
-(see Subsection~\ref{ssec-adj}). Higher value means the glue is easy to shretch,
-and is also easy to shrink.
-
-<ratio> is also an optional value between $-1$ and 1. For example,
+<ratio> specifies how much the glue is originated in the ``right'' character.
+It is a real number between 0 and 1, and treated as 0.5 if omitted. For example,
 The width of a glue between an ideographic full stop ``。''
 and a fullwidth middle dot ``・'' is three-fourth of fullwidth,
 namely halfwidth from the ideographic full stop, and
 quarter-width from the fullwidth middle dot.  In this case,
-we specify <ratio> to
-\[
-  -1\cdot \frac{0.5}{0.5+0.25} + 1 \cdot \frac{0.25}{0.5+0.25} = -\frac13.
-\]
+we specify <ratio> to $0.25/(0.5+0.25)=1/3$.
 %</en>
 
+%<*ja>
+グルーの指定においては,上記に加えて各 \texttt{[$j$]} の各サブテーブル内に
+次のキーを指定できる,
+\begin{cslist}[style=standard]
+\item[priority=<priority>]
+             \Pkg{luatexja-adjust} による優先順位付き
+            行長調整(\ref{ssec-adj}節)の際に使われる値であり,
+行調整処理におけるこのglueの優先
+             度を$-2$から$+2$の間の整数で指定する.大きい値ほど「伸びやすく,縮みやすい」
+             ことを意味する.省略時の値
+             は0であり,範囲外の値が指定されたときの動作は未定義である.
+\item[kanjiskip\_natural=<num>\textrm{, }%
+  kanjiskip\_stretch=<num>\textrm{, }kanjiskip\_shrink=<num>]\leavevmode
+  \label{pg:ksp_nat}
+
+JFMによって本来挿入されるグルーの他に
+\Param{kanjiskip}分の空白を自然長(\texttt{kanjiskip\_natural}),伸び量(\texttt{kanjiskip\_stretch}),
+縮み量(\texttt{kanjiskip\_shrink})ごとに挿入する\footnote{本来\Param{xkanjiskip}が挿入される場所においては
+            \Param{xkanjiskip}分の空白を自然長・伸び量・縮み量ごとに.追加できる.}%
+ための指定である.いずれも省略された場合のデフォルト値は0(追加しない)である.
+
+例えば,\LuaTeX-jaの横組標準JFMの \texttt{jfm-ujis.lua} では,
+\begin{itemize}
+ \item 通常の文字「あ」と開き括弧類の間に入るグルーは,自然長・縮み量半角,伸び量0のグルー
+となっているが,さらに\Param{kanjiskip}の伸び量に \texttt{kanjiskip\_stretch}(ここでは1)を掛け
+       た分だけ伸びることが許される.
+ \item 同様に,閉じ括弧類(全角コンマ「,」も含む)と通常の文字「う」「え」の間にも
+自然長・縮み量半角,伸び量0のグルー
+となっているが,さらに\Param{kanjiskip}の伸び量に \texttt{kanjiskip\_stretch}(ここでは1)を掛け
+       た分だけ伸びることが許される.
+\end{itemize}
+となっている.従って,以下のような組版結果を得る.
+
+\medskip
+\begin{LTXexample}[width=16\zw]
+\leavevmode
+\ltjsetparameter{kanjiskip=0pt plus 3\zw}
+\vrule\hbox to 15\zw{あ「い」う,えお}\vrule
+\end{LTXexample}
+
+\end{cslist}
+%</ja>
+%<*en>
+In case of glue, one can specify following additional keys in each \texttt{[$j$]}
+            subtable:
+\begin{cslist}[style=standard]
+\item[priority=<priority>]
+An integer in $[-2,2]$ (treated as 0 if omitted), and this is
+used only in line adjustment with priority by \Pkg{luatexja-adjust}
+(see Subsection~\ref{ssec-adj}). Higher value means the glue is easy to stretch,
+and is also easy to shrink.
+\item[kanjiskip\_natural=<num>\textrm{, }%
+  kanjiskip\_stretch=<num>\textrm{, }kanjiskip\_shrink=<num>]\leavevmode
+
+These keys specifies the amount of the natural width of \Param{kanjiskip}
+(the stretch/shrink part, respectively) which will be inserted 
+in addition to the original JFM glue. Default values of them are all 0.
+
+As an example, in \texttt{jfm-ujis.lua}, the standard JFM in horizontal writing, we have
+\begin{itemize}
+ \item Between an ordinal letter ``あ'' and an ideographic opening bracket, we have
+a glue whose natural part and shrink part are both half-width, while its stretch part is
+       zero. However, this glue also can be stretched
+       as much as the stretch part of \Param{kanjiskip} times the value of
+       \texttt{kanjiskip\_stretch} key (1 in this case).
+ \item Between an ideographic closeing brackets (the ideographic comma ``,''
+       is included) and an ordinal letter, we have the same glue. 
+       Again, this glue also can be stretched
+       as much as the stretch part of \Param{kanjiskip} times the value of
+       \texttt{kanjiskip\_stretch} key (1 in this case).
+\end{itemize}
+Hence we have the following result:
+
+\medskip
+\begin{LTXexample}[width=16\zw]
+\leavevmode
+\ltjsetparameter{kanjiskip=0pt plus 3\zw}
+\vrule\hbox to 15\zw{あ「い」う,えお}\vrule
+\end{LTXexample}
+
+\end{cslist}
+%</en>
 
 \item[end\_stretch=<kern>, end\_shrink=<kern>]
 %<*ja>
@@ -4959,7 +5052,7 @@ This callback is called when \LuaTeX-ja is trying to encapsule a
 その\textit{glyph\_node}をカプセル化しようとする際に呼び出される.
 %</ja>
 \begin{lstlisting}[numbers=left]
-function (<table> shift_info, <table> jfont_info, <number> char_class)
+function (<table> shift_info, <table> jfont_info, <table> char_type)
   return <table> new_shift_info
 end
 \end{lstlisting}
@@ -4998,7 +5091,7 @@ Then, the position of glyphs is shifted up by
 (和文OpenTypeフォントの標準値)
 \item 実フォント側の数値:$(\hbox{高さ})=28y$, $(\hbox{深さ})=5y$(和文TrueTypeフォントの標準値)
 \end{itemize}
\81¨ã\81ªã\81£ã\81¦ã\81\84ã\81\9fã\81¨ã\81\99ã\82\8bï¼\8eã\81\99ã\82\8bã\81¨ï¼\8cå®\9fé\9a\9bã\81®æ\96\87å­\97ã\81®å\87ºå\8a\9bä½\8dç½®ã\81¯ï¼\8c以ä¸\8bã\81®é\87\8fã\81 ã\81\91ä¸\8aã\81«ã\81\9cらされることとなる:
\81¨ã\81ªã\81£ã\81¦ã\81\84ã\81\9fã\81¨ã\81\99ã\82\8bï¼\8eã\81\99ã\82\8bã\81¨ï¼\8cå®\9fé\9a\9bã\81®æ\96\87å­\97ã\81®å\87ºå\8a\9bä½\8dç½®ã\81¯ï¼\8c以ä¸\8bã\81®é\87\8fã\81 ã\81\91ä¸\8aã\81«ã\81\9aらされることとなる:
 %</ja>
 \[
  \frac{88x}{88x+12x} (28y+5y) - 28y = \frac{26}{25}y= 1.04y.
@@ -6276,8 +6369,8 @@ the commands of Japanese version:
 \ref{ssec-fontspec}節で述べたように,この追加パッケージは\Pkg{fontspec}%
 パッケージで定義されているコマンドに対応する和文フォント用のコマンドを提供する.
 
-\Pkg{fontspec}パッケージで指定可能な各種font featureに加えて,和文版のコマンドには
-以下の``font feature''を指定することができる:
+\Pkg{fontspec}パッケージで指定可能な各種OpenType機能に加えて,和文版のコマンドには
+以下の「フォント機能」を指定することができる:
 %</ja>
 
 
@@ -6333,6 +6426,14 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
 \label{fig:yokotate-fontspec}
 \end{figure}
 
+\item[Kanjiskip=<bool>]
+%<*ja>
+\pageref{pg:ltjksp}ページで説明した \verb+\jfont+ 中での \texttt{ltjksp} 指定と
+同一の効力を持ち,
+JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\ 
+\texttt{kanjiskip\_shrink}キー(\pageref{pg:ksp_nat}ページ)の有効/無効を切り替える.
+標準値は \texttt{true} である.
+%</ja>
 
 \item[TateFeatures=\{<features>\}\textrm{, }TateFont=<font>]
 %<*en>
@@ -6343,7 +6444,7 @@ Similarly, the \texttt{TateFont} key specifies the Japanese font which will be u
 A demonstrarion is shown in Figure~\ref{fig:yokotate-fontspec}.
 %</en>
 %<*ja>
-縦組において使用されるフォントや,縦組においてのみ適用されるfeature達を
+縦組において使用されるフォントや,縦組においてのみ適用されるフォント機能達を
 指定する.使用例は図\ref{fig:yokotate-fontspec}参照.
 %</ja>
 
@@ -6354,7 +6455,7 @@ horizontal writing,.
 A demonstrarion is shown in Figure~\ref{fig:yokotate-fontspec}.
 %</en>
 %<*ja>
-同様に,横組においてのみ適用されるfeature達を
+同様に,横組においてのみ適用されるフォント機能達を
 指定する.使用例は図\ref{fig:yokotate-fontspec}参照.
 %</ja>
 
@@ -6389,7 +6490,7 @@ as the following:
 %<*ja>
 \ref{ssec-altfont}節の \cs{ltjdeclarealtfont} や,
 \ref{ssec-nfsspat}節の \cs{DeclareAlternateKanjiFont} と同様に,
-このキーを用いると一部の文字を異なったフォントやfont featureを使って組むことができる.
+このキーを用いると一部の文字を異なったフォントや機能たちを使って組むことができる.
 \texttt{AltFont} キーに指定する値は,次のように二重のコンマ区切りリストである:
 %</ja>
 \begin{lstlisting}[escapechar=\#]
@@ -6479,8 +6580,9 @@ BoldFeatures = {
 
 また,図\ref{fig:yokotate-fontspec}後半部では6行目の色の指定が効かず,
 2行目で指定した\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ による色の指定が有効になっ
-たままである.これは\emph{\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ によるfeature指定は
-組方向に依存しないfeature指定より後に解釈される}からである.
+たままである.これは\emph{\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ による
+OpenType機能指定は
+組方向に依存しないOpenType機能の指定より後に解釈される}からである.
 
 %</ja>
 
@@ -6558,7 +6660,7 @@ ordinary characters in the following points:
       is not performed to these characters.
 %</en>
 %<*ja>
-\item OpenType feature(例えばグリフ置換やカーニング)をサポートするための
+\item OpenType機能(例えばグリフ置換やカーニング)をサポートするための
   \Pkg{luaotfload}パッケージのコードはこれらの文字には働かない.
 %</ja>
 \end{itemize}
@@ -6635,7 +6737,7 @@ For example, only ``葛'' in ``葛西'' is changed by font features
 \texttt{jp78}~or~\texttt{jp90}, which does not followed by any variation selector.
 %</en>
 %<*ja>
-また,IVSによる字形指定は,font featureによるそれに優先されることとした.
+また,IVSによる字形指定は,OpenType機能によるそれに優先されることとした.
 下の例において,\texttt{jp78}, \texttt{jp90} 指定で字形が変化した文字は
 異体字セレクタが続いていない「葛西」中の「葛」のみである.
 %</ja>
@@ -9181,13 +9283,13 @@ JFM中にある文字クラス$n$の定義の
 が連続した場合に,$p$のフォントに対応したが持つ「異体字情報」に従って出力するグリフを変える.
 
 しかし,単に$p.\textit{char}$を変更するだけでは,後から
-font featureの適用(すぐ下)により置換される可能性がある.そのため,
+OpenType機能の適用(すぐ下)により置換される可能性がある.そのため,
 \cs{CID} や \cs{UTF} と同じように,\textit{glyph\_node}~$p$の代わりに
 \texttt{user\_id} が\textit{char\_by\_cid}であるようなuser-defined whatsitを用いている.
 \item[(\Pkg{luaotfload} によるfont featureの適用)]
 \item[\tt ltj.otf] \texttt{user\_id} が\textit{char\_by\_cid}であるようなuser-defined whatsitを
 きちんと\textit{glyph\_node}に変換する.この処理は,\cs{CID}, \cs{UTF}やIVSによる置換が,
-font featureの適用で上書きされてしまうのを防止するためである.
+OpenType機能の適用で上書きされてしまうのを防止するためである.
 \item[\tt ltj.main\_process] \textbf{JAglue}の挿入処理(\ref{sec-jfmglue}章)と,
 JFMの指定に従って各\textbf{JAchar}の「寸法を補正」することを行う.
 \end{description}