\usepackage[kozuka-pr6n]{luatexja-preset}
\usepackage{unicode-math}
\setmainfont[Ligatures=TeX]{Linux Libertine O}
-\setsansfont[Scale=0.95,Ligatures=TeX]{TeX Gyre Heros}
\setmonofont[Scale=MatchLowercase, ItalicFont=lmmono10-italic.otf,
BoldFont=lmmonolt10-bold.otf, BoldItalicFont=lmmonolt10-boldoblique.otf
]{lmmono10-regular.otf}
\setmonojfont{KozGoPr6N-Regular.otf}
\setmathfont[Scale=MatchLowercase]{xits-math.otf}
+\setsansfont[Scale=MatchLowercase,Ligatures=TeX]{Linux Biolinum O}
%<*ja>
\def\emph#1{\textbf{\textgt{#1}}}
\def\headfont{\normalfont\bfseries\gtfamily}\normalsize
%</ja>
-%<en>\frenchspacing
-
%<*en>
+\frenchspacing
\usepackage[margin=25mm,lmargin=30mm,rmargin=30mm,footskip=6mm]{geometry}
\usepackage{luatexja-adjust}\ltjdisableadjust
\parskip=\smallskipamount
\vskip\belowcaptionskip}
\def\_{\leavevmode \kern .06em\vbox {\hrule \@width .333em}}
-\def\cs#1{\texttt{\upshape\textbackslash #1}}
+\def\cs#1{\texttt{\upshape\textbackslash\ltjsetparameter{autoxspacing=false}#1}}
%%%%%%%%
\makeatother
\end{verbatim}
%<*en>
Note that \pTeX\ adds new two useful units, namely \texttt{zw}~and~\texttt{zh}.
-As shown above, they are changed by \cs{zw}~and\cs{zh} respectively, in \LuaTeX-ja.
+As shown above, they are changed by \cs{zw}~and~\cs{zh} respectively, in \LuaTeX-ja.
%</en>
%<*ja>
特に注意してほしいのは,\pTeX で追加された \texttt{zw} と \texttt{zh} という単位を
\begin{itemize}
%<*en>
-\item As \LuaTeX's internal ligature handling is ``node-based''
+\item As \LuaTeX's internal ligature handling is \emph{node-based}
(\textit{e.g.}, \verb+of{}fice+ doesn't prevent ligatures), the
- insertion process of \textbf{JAglue} is now ``node-based''.
+ insertion process of \textbf{JAglue} is now \emph{node-based}.
%</en>
%<*ja>
\item \LuaTeX の内部での合字の扱いは「ノード」を単位として行われるようになっている(例えば,
なお,\LuaTeX 本体も,$\Omega$流の組方向をサポートしているが,それとは全くの別物であること
に注意してほしい.
\LuaTeX のコールバックや実装により,特に異なった組方向のボックスを扱う場合には
-\cs{wd}, \cs{ht}, \cs{dp}ç\89ã\81®ä»\95æ§\98ã\81\8cç\95°ã\81ªã\82\8bã\81®ã\81§æ³¨æ\84\8fï¼\8e詳細ã\81¯ç¬¬\ref{sec-direction}ç¯\80を参照.
+\cs{wd}, \cs{ht}, \cs{dp}ç\89ã\81®ä»\95æ§\98ã\81\8cç\95°ã\81ªã\82\8bã\81®ã\81§æ³¨æ\84\8fï¼\8e詳細ã\81¯ç¬¬\ref{sec-direction}ç« を参照.
%</ja>
%<*en>
%<ja>\subsection{インストール}
%<en>The following packages are needed for the \LuaTeX-ja\ package.
-%<ja>\LuaTeX-jaパッケージには,次のパッケージ類が必要である.
+%*ja>\LuaTeX-jaパッケージの動作には次のパッケージ類が必要である.
\begin{itemize}
\item \LuaTeX\ beta-0.80.0 (or later)
\item \Pkg{luaotfload} v2.5 (or later)
\item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
\item \Pkg{everysel} (if you want to use \LuaTeX-ja with \LaTeXe)
-%<en>\item \emph{IPAex fonts}(\url{http://ipafont.ipa.go.jp/})
+\item \Pkg{fontspec} v2.4
+%<en>\item \emph{IPAex fonts} (\url{http://ipafont.ipa.go.jp/})
%<ja>\item \emph{IPAexフォント(\url{http://ipafont.ipa.go.jp/})}
\end{itemize}
+%<en>In summary, this version of \LuaTeX-ja no longer supports \TeX~Live~2014 (or older version).
+%<*ja>
+要約すると,本バージョンの\LuaTeX-jaは\TeX~Live~2014以前では動作しない\footnote{%
+ もっとも,自分で\LuaTeX のバイナリをSubversionリポジトリからビルドしていれば話は別である.
+}.
+%</ja>
%<*en>
-\emph{This version of \LuaTeX-ja no longer supports \TeX~Live~2013 (or older version).
-If you want to use this version with \TeX~Live~2014, you have to build a development
-version of \LuaTeX\ from its source.}
-
-\medskip
-
Now \LuaTeX-ja is available from
CTAN (in the \texttt{macros/luatex/generic/luatexja} directory), and
the following distributions:
IPAex fonts are also available in these distributions.
%</en>
%<*ja>
-\emph{本バージョンの\LuaTeX-jaは\TeX~Live~2013以前では動作しない.\TeX~Live~2014で
-用いたい場合は,自力で\LuaTeX 開発版をソースからビルドする必要がある.}
-
-\medskip
-
現在,\LuaTeX-jaはCTAN (\texttt{macros/luatex/generic/luatexja})に収録されている他,
以下のディストリビューションにも収録されている:
\begin{itemize}
$ luatex ltj-kinsoku_make.tex
\end{lstlisting}
%<*en>
-Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not needed in regular use.
+\emph{Do not forget The last line (processing \texttt{ltj-kinsoku\_make.tex})}.
+\texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} used here are not needed in regular use.
%</en>
%<*ja>
+\emph{最後の \texttt{ltj-kinsoku\_make.tex} の実行を忘れないように注意}.
ここで使用した \texttt{*.\{dtx,ins\}} と \texttt{ltj-kinsoku\_make.tex} は
通常の使用にあたっては必要ない.
%</ja>
\item If \texttt{mktexlsr} is needed to update the file name database, make it so.
%</en>
%<*ja>
-\item 必要があれば,\texttt{mktexlsr}を実行する.
+\item 必要があれば,\texttt{mktexlsr} を実行する.
%</ja>
\end{enumerate}
%</ja>
\item%
%<*en>
-\textbf{Note for MiK\TeX\ users}\quad
+\textbf{Outdated note for MiK\TeX\ users}\quad
\LuaTeX-ja requires that several CMap files%
\footnote{\texttt{UniJIS2004-UTF32-\{H,V\}} and \texttt{Adobe-Japan1-UCS2}.}
must be found from \LuaTeX.
\LuaTeX-jaが動作するためには,\emph{導入・更新後の初回起動時に}
\texttt{UniJIS2004-UTF32-\{H,V\}}, \texttt{Adobe-Japan1-UCS2}という3つのCMapが
\LuaTeX によって見つけられることが必要である.
-しかしMiK\TeX ではそのようになっていないので,次のエラーが発生するだろう:
+しかしやや古いMiK\TeX ではそのようになっていないので,次のエラーが発生するだろう:
%</ja>
\begin{lstlisting}
! LuaTeX error ...iles (x86)/MiKTeX 2.9/tex/luatex/luatexja/ltj-rmlgbm.lua
\begin{tabular}{cccccc}
\toprule
\textbf{direction}&
-\textbf{classification}&\textbf{font name}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
+\textbf{classification}&\textbf{font name}&\bf ``10\,pt''&\bf``7\,pt''&\bf``5\,pt''\\\midrule
\smash{\raisebox{-1ex}{\emph{yoko} (horizontal)}}&
\emph{mincho}&IPAex Mincho&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
&\emph{gothic}&IPAex Gothic&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
\begin{center}\small
\begin{tabular}{cccccc}
\toprule
-\emph{組方向}&\emph{字体}&\emph{フォント名}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
+\emph{組方向}&\emph{字体}&\emph{フォント名}&\bf ``10\,pt''&\bf``7\,pt''&\bf``5\,pt''\\\midrule
\smash{\raisebox{-1ex}{横組}}&
明朝体&IPAex明朝&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
&ゴシック体&IPAexゴシック&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
\verb+\fontencoding{+<encoding>\verb+}+ changes the encoding of alphabetic fonts
or Japanese fonts depending on the argument. For example,
\verb+\fontencoding{JY3}+ changes the encoding of Japanese fonts to
- \texttt{JY3},and \verb+\fontencoding{T1}+ changes the encoding of
+ \texttt{JY3}, and \verb+\fontencoding{T1}+ changes the encoding of
alphabetic fonts to \texttt{T1}.
\cs{fontfamily} also changes the current Japanese font family,
the current alphabetic font family, \emph{or both}.
\end{lstlisting}
\item[nfssonly]
+%<*en>
+With this option,selecting Japanese fonts won't be performed using the functionality of
+ the \Pkg{fontspec} package, but only standard NFSS2.
+
+This option will be disabled when \Pkg{luatexja-fontspec} package is loaded.
+Note that the \Pkg{fontspec} can coexist with the option as the following:
+\begin{lstlisting}
+\usepackage{fontspec}
+\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
+\end{lstlisting}
+Note that the functionality of the \Pkg{luatexja-fontspec} package, such as
+ \cs{setmainjfont}, cannot be used in the example above.
+%</en>
%<*ja>
\LaTeX 標準のフォント選択機構(NFSS2)を用いて
\texttt{ltjpm}(明朝),\texttt{ltjpg}(ゴシック),それに後に述べる \texttt{deluxe} オプ
\usepackage{fontspec}
\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
\end{lstlisting}
-のように「和文側では\Pkg{fontspec}の機能は使わない,つまり\Pkg{luatexja-fontspec}は読み込
- まない」ことは可能である.一方,,
+のようにこのオプションを指定することは可能である.一方,
パッケージ読み込み時に既に\Pkg{luatexja-fontspec}パッケージが読み込まれて
いる場合は \texttt{nfssonly} オプションは無視される.
%</ja>
\texttt{morisawa-pro}, \texttt{morisawa-pr6n}以外はフォントの指定は
(ファイル名でなく)フォント名で行われる.
以下の表において,*\,つきのフォント(e,g,~KozGo\dots-Regular)は,\emph{\texttt{deluxe}オプション指定時に}
-ゴシック体細字として用いられるものを示している.
+ゴシック体中字として用いられるものを示している.
%</ja>
\begin{cslist}[style=standard]
\item[kozuka-pro] Kozuka Pro (Adobe-Japan1-4) fonts.
\midrule
%<en>\textit{rounded gothic}
%<ja>\gt 丸ゴシック
-&&Hiragino~Maru~Gothic~ProN~W4&Hiragino~Maru~Gothic~ProN~W4\\
+&&Hiragino~Maru~Gothic~Pro~W4&Hiragino~Maru~Gothic~ProN~W4\\
\bottomrule
\end{tabular}
\end{center}
\end{center}
\item[moga-mobo] MogaMincho, MogaGothic, and MoboGothic.
-These fonts can be downloaded from
-\url{http://yozvox.web.fc2.com/82A882B782B782DF8374834883938367.html}.
+%<en>These fonts can be downloaded from\\\hfill \url{http://yozvox.web.fc2.com/}.
+%<ja>これらのフォントは \url{http://yozvox.web.fc2.com/} からダウンロードできる.
\begin{center}\small
\begin{tabular}{clll}
%</ja>
-%<en>\section{Changing Parameters}
+%<en>\section{Changing Internal Parameters}
%<ja>\section{パラメータの変更}
%<*en>
-There are many parameters in \LuaTeX-ja. And due to the behavior of \LuaTeX,
+There are many internal parameters in \LuaTeX-ja. And due to the behavior of \LuaTeX,
most of them are not stored as internal register of \TeX, but as an
original storage system in \LuaTeX-ja. Hence, to assign or acquire those
parameters, you have to use commands \cs{ltjsetparameter} and
\begin{itemize}
%<*en>
\item Glues/kerns specified in JFM. If \cs{inhibitglue} is issued
- around a Japanese character, this glue will not be inserted at the
+ around a \textbf{JAchar}, this glue will not be inserted at the
place.
%</en>
%<*ja>
-\item JFMで指定されたグルー/カーン.もし \cs{inhibitglue} が和文文字の周りで
+\item JFMで指定されたグルー/カーン.もし \cs{inhibitglue} が\textbf{JAchar}の周りで
発行されていれば,このグルーは挿入されない.
%</ja>
%<*en>
%<*en>
Note that setting positive \Param{yalbaselineshift}~or~\Param{talbaselineshift}
-parameters does not increase the depth of one-letter ``syllable'' $p$ of \textbf{Alchar}, if
+parameters does not increase the depth of one-letter \emph{syllable} $p$ of \textbf{Alchar}, if
its left-protrusion~(\cs{lpcode}) and right-protrusion~(\cs{rpcode}) are both non-zero.
This is because
\begin{itemize}
-\item These two parameters are implemented by setting yoffset field of a
+\item These two parameters are implemented by setting \texttt{yoffset} field of a
glyph node, and this does not increase the depth of the glyph.
\item To cope with the above situation, \LuaTeX-ja automatically supplies
-a rule in every ``syllable''.
-\item However, we cannot use this ``supplying a rule'' method if \dots
+a rule in every syllable.
+\item However, we cannot use this ``supplying a rule'' method if a syllable comprises just
+ one letter whose \cs{lpcode}~and~\cs{rpcode} are both non-zero.
\end{itemize}
-This problem does not apply for \Param{yjabaselineshift}~nor~\Param{tjabaselineshift}.
+This problem does not apply for \Param{yjabaselineshift}~nor~\Param{tjabaselineshift},
+becuse a \emph{JAchar} is encapsulated by a horizontal box if needed.
%</en>
%<*ja>
なお,以下の場合には1文字の\textbf{ALchar}からなる「音節」の深さは増加しないことに注意.
\item 「音節」を構成する唯一の文字$p$の
左余白への突出量(\cs{lpcode}),右余白への突出量(\cs{rpcode})がどちらも非零である.
\end{itemize}
+\emph{JAchar}は必要に応じて1文字ずつボックスにカプセル化されるため,
\Param{yjabaselineshift},~\Param{tjabaselineshift}パラメータについてはこのような問題は起こらない.
%</ja>
\begin{itemize}
\item
\emph{Distinction between \textbf{JAchar} or \textbf{ALchar}}
-is controlled by using the character range, see Subsection~\ref{ssec-setrange}.
+is controlled by the character range, see Subsection~\ref{ssec-setrange}.
\item
\emph{Whether the character can be used in a control word}
is controlled by setting \cs{catcode} to 11~(enabled) or 12~(disabled), as usual.
\emph{Whether \Param{jcharwidowpenalty} can be inserted before the character}
is controlled by the lowermost bit of the \Param{kcatcode} parameter.
\item
-\emph{Ignoring linebreak after a \textbf{JAchar}} is always ignored.
+\emph{Linebreak after a \textbf{JAchar}} does not produce a space.
\end{itemize}
%</en>
%<*ja>
\LuaTeX 自身の \cs{catcode} でよい
\item[\Param{jcharwidowpenalty}が挿入可か]
\Param{kcatcode}パラメータの最下位ビット
- \item[直後の改行の無視]
-日本語しか想定していないので\textbf{JAchar}については一律有効
+ \item[直後の改行]
+日本語しか想定していないので,\textbf{JAchar}直後の改行で半角スペースが挿入されることはない.
\end{description}
%</ja>
%<*en>
-Default setting of \cs{catcode} of \LuaTeX\ can be found
-in \texttt{luatex-unicode-letters.tex},
-which is based on \texttt{unicode-letters.tex} (for \XeTeX).
+Default setting of \cs{catcode} of Unicode characters are located in
+\begin{description}
+ \item[plain \LuaTeX] \texttt{luatex-unicode-letters.tex}, which is based on \texttt{unicode-letters.tex}
+(for \XeTeX).
+ \item[\LuaLaTeX] now included in \LaTeX\ kernel as~\texttt{unicode-letters.def}.
+\end{description}
However, the default setting of \cs{catcode} differs
between \XeTeX\ and \LuaTeX, by the following reasons:
\begin{itemize}
- \item \texttt{luatex-unicode-letters.tex} is based on old \texttt{unicode-letters.tex}.
- \item The latter half of \texttt{unicode-letters.tex} sets
-\cs{catcode} of Kanji and kana characters to 11,
-via setting \cs{XeTeXcharclass}.
+ \item (plain format) \texttt{luatex-unicode-letters.tex} is based on old \texttt{unicode-letters.tex}.
+ \item The latter half of \texttt{unicode-letters.tex}~and~\texttt{unicode-letters.def}
+sets\cs{catcode} of Kanji and kana characters to 11, via setting \cs{XeTeXcharclass}.
-However, this latter half is simply omitted in
-\texttt{luatex-unicode-letters.tex}, hence
+However, this latter half does not exist (plain case), or not executed (\LaTeX~case) in \LuaTeX, hence
\cs{catcode} of Kanji and kana characters remains 12 in \LuaTeX.
\end{itemize}
In other words, Kanji nor kana characters cannot be used in
%<*ja>
ネイティブにUnicode全部の文字を扱える\XeTeX や\LuaTeX では,
文字が制御綴内で使用できるかは通常の欧文文字と同じく \cs{catcode}
-で指定することとなる.\XeTeX における \cs{catcode} の初期設定は\
-\texttt{unicode-letters.tex} 中に記述されており,\LuaTeX ではそれを
+で指定することとなる.plain \XeTeX における \cs{catcode} の初期設定は\
+\texttt{unicode-letters.tex} 中に記述されており,plain \LuaTeX ではそれを
元にした \texttt{luatex-unicode-letters.tex} を用いている.
+\LaTeX では \cs{catcode} の設定はカーネルに \texttt{unicode-letters.def} として統合され.
+このファイルを\XeLaTeX, \LuaLaTeX の両方が用いている.
+
だが,\XeTeX における \cs{catcode} の初期設定と
\LuaTeX におけるそれは一致していない:
\begin{itemize}
\item \texttt{luatex-unicode-letters.tex} の元になった\
\texttt{unicode-letters.tex} が古い
- \item \texttt{unicode-letters.tex} の後半部では
+ \item \texttt{unicode-letters.tex} 後半部や \texttt{unicode-letters.def} 後半部では
\cs{XeTeXcharclass} の設定を行なっており,
それによって漢字や仮名の \cs{catcode} が11に設定されている.
しかし,\texttt{luatex-unicode-letters.tex} ではこの「後半部」が
-まるごと省略されており,漢字や仮名の \cs{catcode} は12のまま.
+まるごと省略されており,また\LuaLaTeX でも \texttt{unicode-letters.def} 後半部は実行されな
+ い.従って漢字や仮名の \cs{catcode} は12のままになっている.
\end{itemize}
言い換えると,\LuaTeX の初期状態では漢字や仮名を制御綴内に
使用することはできない.
Table~\ref{table-kcat-diff} shows the difference.
Except for four characters ``・'',~``゛'', ``゜'',~``゠'',
\LuaTeX-ja admits more characters in a control word than \upTeX.
-\emph{Note that the ideographic space~\texttt{U+3000} can be used
-in a control word in \LuaTeX-ja.}
Difference becomes larger, if we consider
non-kanji JIS~X~0213 characters.
\item[\cs{ltjsetwd}<num>=<dimen>\textrm{, }\cs{ltjsetht}<num>=<dimen>\textrm{, }%
\cs{ltjsetdp}<num>=<dimen>]
-These commands set the dimension of \cs{box<num>}. Unlike \cs{ltjgetwd}, one does not need
+These commands set the dimension of \cs{box<num>}. One does not need
to group the argument <num>; four calls of \cs{ltjsetwd} below have the same meaning.
\begin{lstlisting}
\ltjsetwd42 20pt, \ltjsetwd42=20pt, \ltjsetwd=42 20pt, \ltjsetwd=42=20pt
%<*en>
\subsection{Getting current direction}
The \Param{direction} parameter returns the current direction, and
-the \Param{boxdir} parameter (with the argumant <num>)
+the \Param{boxdir} parameter (with the argument <num>)
returns the direction of a box register \cs{box}<num>.
The returned value of these parameters are a \emph{string}:
\begin{center}
\item['jcharbdd']
%<en>A boundary between \textbf{JAchar} and anything else (such as \textbf{ALchar}, kern, glue,\,\ldots).
-%<ja>和文文字と「その他のもの」(欧文文字,glue,kern等)との境界.
+%<ja>\textbf{JAchar}と「その他のもの」(欧文文字,glue,kern等)との境界.
\item[$-1$]
%<en>The left/right boundary of an inline math formula.
\item \texttt{align} is a number which is determined from \texttt{align}~field in the JFM:
\[
\begin{cases}
- 0&\text{\texttt{'left'} and the default value}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
+ 0&\text{\texttt{'left'} (default)}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
\end{cases}
\]
\item For $j\in \omega$, \texttt{[$j$]} stores a kern or a glue which will be inserted
\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} are commands
for assigning parameters. These take one argument which is a
\texttt{<key>=<value>} list.
-The difference between
-\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} is only the
+The difference between these two commands is the
scope of assignment;
\cs{ltjsetparameter} does a local assignment and
\cs{ltjglobalsetparameter} does a global one.
%<*ja>
\cs{ltjsetparameter} と \cs{ltjglobalsetparameter} はパラメータを
指定するための命令で,\texttt{<key>=<value>}のリストを
-引数としてとる.
-\cs{ltjsetparameter} と \cs{ltjglobalsetparameter} の違いはスコープの
-違いのみで,
+引数としてとる.両者の違いはスコープであり,
\cs{ltjsetparameter} はローカルな設定を行うのに対し,
\cs{ltjglobalsetparameter} はグローバルな設定を行う.
また,他のパラメータ指定と同様に \cs{globaldefs} の値にも従う.
\item[\DParam{jaxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$]\
%<*en>
-Setting whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is <chr\_code>.
+Set whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is <chr\_code>.
The followings are allowed for <mode>:
%</en>
%<*ja>
\item[\DParam{alxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$] [\cs{xspcode}]\
%<*en>
-Setting whether inserting \Param{xkanjiskip} is allowed before/after a
+Set whether inserting \Param{xkanjiskip} is allowed before/after a
\textbf{ALchar} whose character code is <chr\_code>.
The followings are allowed for <mode>:
%</en>
しかし,自然長が \cs{maxdimen} の場合は,例外的に和文フォントのJFM側で指定されている
値を採用(こちらはフォントサイズに比例)することになっている.
%</ja>
+%<*en>
+The default glue which inserted between two \textbf{JAchar}s.
+Changing current Japanese font does not alter this parameter, as \pTeX.
+
+If the natural width of this parameter is \cs{maxdimen}, \LuaTeX-ja uses
+the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec-jfm-str}).
+%</en>
\item[\DParam{xkanjiskip}\,=<skip>$^\ast$] [\cs{xkanjiskip}]\
\Param{kanjiskip}と同じように,通常ではフォントサイズに比例して変わることはないが,
自然長が \cs{maxdimen} の場合が例外である.
%</ja>
+%<*en>
+The default glue which inserted between a \textbf{JAchar} and an
+ \textbf{ALchar}.
+Changing current font does not alter this parameter, as \pTeX.
+
+As \Param{kanjiskip}, if the natural width of this parameter is \cs{maxdimen}, \LuaTeX-ja uses
+the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec-jfm-str}).
+%</en>
\item[\DParam{differentjfm}\,=<mode>$^\dagger$]\
\item[\cs{DeclareTateKanjiEncoding}\{<encoding>\}\{<text-settings>\}\{<math-settings>\}]
%<*en>
-In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
- and Japanese font families are only made by their
- encodings. For example, encodings OT1 and T1 are for
- alphabetic font families, and a Japanese font family cannot
+In NFSS2 under \LuaTeX-ja, distinction between alphabetic fonts
+ and Japanese fonts are only made by their
+ encodings. For example, encodings OT1 and T1 are encodings for
+ alphabetic fonts, and Japanese fonts cannot
have these encodings. These command define a new encoding
scheme for Japanese font families.
%</en>
%<*ja>
-\LuaTeX-jaã\81®NFSS2ã\81«ã\81\8aã\81\84ã\81¦ã\81¯ï¼\8c欧æ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\83\95ã\82¡ã\83\9fã\83ªã\81¨å\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\83\95ã\82¡ã\83\9fã\83ªは
+\LuaTeX-jaã\81®NFSS2ã\81«ã\81\8aã\81\84ã\81¦ã\81¯ï¼\8c欧æ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\81¨å\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88は
そのエンコーディングによってのみ区別される.
-ä¾\8bã\81\88ã\81°ï¼\8cOT1ã\81¨T1ã\81®ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°ã\81¯æ¬§æ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\83\95ã\82¡ã\83\9fã\83ªã\81«å¯¾ã\81\99ã\82\8bã\82\82ã\81®であり,
-å\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\83\95ã\82¡ã\83\9fã\83ªã\81¯ã\81\93ã\82\8cã\82\89ã\81®ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°ã\82\92æ\8c\81ã\81¤ã\81\93ã\81¨ã\81¯ã\81§ã\81\8dã\81ªã\81\84ï¼\8e
+ä¾\8bã\81\88ã\81°ï¼\8cOT1ã\81¨T1ã\81®ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°ã\81¯æ¬§æ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\81®ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°であり,
+和文フォントはこれらのエンコーディングを持つことはできない.
これらコマンドは横組用・縦組用和文フォントのための新しいエンコーディングを
それぞれ定義する.
%</ja>
The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaults} and~others.
%</en>
%<*ja>
-上記3つのコマンドはちょうど \cs{DeclareFontEncodingDefaults} などに対応するものである.
+上記3つのコマンドはちょうどNFSS2 の \cs{DeclareFontEncodingDefaults} などに対応するものである.
%</ja>
\item[\cs{reDeclareMathAlphabet}\{<unified-cmd>\}\{<al-cmd>\}\{<ja-cmd>\}]
\item[\cs{DeclareRelationFont}\{<ja-encoding>\}\{<ja-family>\}\{<ja-series>\}\{<ja-shape>\}\\*
\null\hfill\{<al-encoding>\}\{<al-family>\}\{<al-series>\}\{<al-shape>\}]
%<*en>
-This command sets the ``accompanied'' alphabetic font family (given by the latter 4~arguments)
-with respect to a Japanese font family given by the former 4~arguments.
+This command sets the ``accompanied'' alphabetic font (given by the latter 4~arguments)
+with respect to a Japanese font given by the former 4~arguments.
%</en>
%<*ja>
-ã\81\84ã\82\8fã\82\86ã\82\8bã\80\8cå¾\93å±\9e欧æ\96\87ã\80\8dã\82\92è¨å®\9aã\81\99ã\82\8bã\81\9fã\82\81ã\81®å\91½ä»¤ã\81§ã\81\82ã\82\8bï¼\8eå\89\8då\8d\8aã\81®4å¼\95æ\95°ã\81§è¡¨ã\81\95ã\82\8cã\82\8bå\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\83\95ã\82¡ã\83\9fã\83ªã\81«å¯¾ã\81\97ã\81¦ï¼\8c
-ã\81\9dã\81®ã\83\95ã\82©ã\83³ã\83\88ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\8cå¾\93å±\9e欧æ\96\87ã\80\8dã\81®ã\83\95ã\82©ã\83³ã\83\88ã\83\95ã\82¡ã\83\9fã\83ªã\82\92å¾\8cå\8d\8aã\81®4å¼\95æ\95°ã\81«ã\82\88ã\82\8aä¸\8eã\81\88ã\82\8bï¼\8e
+いわゆる「従属欧文」を設定するための命令である.前半の4引数で表される和文フォントに対して,
+そのフォントに対応する「従属欧文」のフォントを後半の4引数により与える.
%</ja>
\item[\cs{SetRelationFont}]
%<*en>
%<*ja>
現在の欧文フォントのエンコーディング/ファミリ/…… を,
\cs{DeclareRelationFont} か \cs{SetRelationFont} で指定された
-ç\8f¾å\9c¨ã\81®å\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\83\95ã\82¡ã\83\9fã\83ªã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\8cå¾\93å±\9e欧æ\96\87ã\80\8dã\83\95ã\82©ã\83³ã\83\88ã\83\95ã\82¡ã\83\9fã\83ªに変更する.
+ç\8f¾å\9c¨ã\81®å\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\8cå¾\93å±\9e欧æ\96\87ã\80\8dã\83\95ã\82©ã\83³ã\83\88に変更する.
\cs{fontfamily} のように,有効にするためには \cs{selectfont} が必要である.
%</ja>
+ d_{\text{あ}} - d_{\text{M}},
\]
where $h_{a}$~and~$d_{a}$ denote the height of ``$a$'' and the depth, respectively.
-In \LuaTeX-ja, this \cs{adjustbaseline} does same task.
+In \LuaTeX-ja, this \cs{adjustbaseline} does same task, namely setting the
+ \Param{talbaselineshift} parameter.
%</en>
%<*ja>
\pLaTeXe では,\cs{adjustbaseline} は縦組時に「M」と「あ」の中心線を一致させるために,
+ d_{\text{あ}} - d_{\text{M}},
\]
ここで,$h_{a}$,~$d_{a}$はそれぞれ「$a$」の高さ・深さを表す.
-\LuaTeX-jaにおいても\cs{adjustbaseline} は同様の処理を行っている.
+\LuaTeX-jaにおいても\cs{adjustbaseline} は同様に\Param{talbaselineshift}パラメータの調整処
+ 理を行っている.
+
+同時に,これも\pLaTeXe の \cs{adjustbaseline} で行われていたが,
+「漢」の寸法を元に,(本節の最初に述べた,小文字で始まる)\cs{cht}, \cs{cwd} といった長さ変数を設定する.
%</ja>
\item[\cs{fontfamily}\{<family>\}]
the commands of Japanese version:
%</en>
%<*ja>
-\ref{ssec-fontspec}節で述べたように,この追加パッケージは\Pkg{fontspec}
+\ref{ssec-fontspec}節で述べたように,この追加パッケージは\Pkg{fontspec}%
パッケージで定義されているコマンドに対応する和文フォント用のコマンドを提供する.
-\emph{以下に述べる和文版の命令の説明は \Pkg{fontspec}~v2.4 使用時にのみ当てはまる.}
\Pkg{fontspec}パッケージで指定可能な各種font featureに加えて,和文版のコマンドには
以下の``font feature''を指定することができる:
%</ja>
\begin{figure}[!tb]
-\begin{LTXexample}
+\begin{LTXexample}[width=0.25\textwidth]
\jfontspec[
- YokoFeatures={Color=007F00},
- TateFeatures={Color=00007F},
+ YokoFeatures={Color=007F00}, TateFeatures={Color=00007F},
TateFont=KozGoPr6N-Regular
]{KozMinPr6N-Regular}
-\hbox{\yoko 横組のテスト}
-\hbox{\tate 縦組のテスト}
+\hbox{\yoko 横組のテスト}\hbox{\tate 縦組のテスト}
+\addjfontfeatures{Color=FF0000}
+\hbox{\yoko 横組}\hbox{\tate 縦組}
\end{LTXexample}
%<ja>\caption{\texttt{TateFeatures} 等の使用例}
%<en>\caption{An example of \texttt{TateFeatures} etc.}
\item[TateFeatures=\{<features>\}\textrm{, }TateFont=<font>]
-%<en> ...
+%<*en>
+The \texttt{TateFeatures} key specifies font features which are only turned~on in
+vertical writing, such as \texttt{Style=VerticalKana}~(\texttt{vkna} feature).
+Similarly, the \texttt{TateFont} key specifies the Japanese font which will be used only
+ in vertical writing.
+A demonstrarion is shown in Figure~\ref{fig:yokotate-fontspec}.
+%</en>
%<*ja>
縦組において使用されるフォントや,縦組においてのみ適用されるfeature達を
指定する.使用例は図\ref{fig:yokotate-fontspec}参照.
%</ja>
\item[YokoFeatures=\{<features>\}]
-%<en> ...
+%<*en>
+The \texttt{YokoFeatures} key specifies font features which are only turned~on in
+horizontal writing,.
+A demonstrarion is shown in Figure~\ref{fig:yokotate-fontspec}.
+%</en>
%<*ja>
-横組においてのみ適用されるfeature達を
+同様に,横組においてのみ適用されるfeature達を
指定する.使用例は図\ref{fig:yokotate-fontspec}参照.
%</ja>
On the other hand, \texttt{YokoFeatures}, \texttt{TateFeatures} and \texttt{TateFont}
keys can be specified in each list in the \texttt{AltFont} key. Also,
one can specify \texttt{AltFont} inside \texttt{YokoFeatures},~\texttt{TateFeatures}.
+
+Note that features which are specified in \texttt{YokoFeatures}~and~\texttt{TateFeatures}
+are always interpreted \emph{after} other ``direction-independent'' features.
+This explains why \cs{addjfontfeatures} at~line~6 in~Figure~\ref{fig:yokotate-fontspec}
+has no effect, because a color specification is already done in
+\texttt{YokoFeatures}~and~\texttt{TateFeatures} keys.
%</en>
%<*ja>
\paragraph{\texttt{AltFont}, \texttt{YokoFeatures}, \texttt{TateFeatures} 等の制限}
\ \texttt{YokoFeatures},~\texttt{TateFeatures} 及び \texttt{TateFont} キーを
指定することは可能であり.また\ \texttt{YokoFeatures},~\texttt{TateFeatures} キーの
中身に \texttt{AltFont} を指定することができる.
+
+また,図\ref{fig:yokotate-fontspec}後半部では6行目の色の指定が効かず,
+2行目で指定した\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ による色の指定が有効になっ
+たままである.これは\emph{\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ によるfeature指定は
+組方向に依存しないfeature指定より後に解釈される}からである.
+
%</ja>
%</en>
%<*ja>
文字コードが(16進で)<hex\_number>の文字を出力する.
-このコマンドは \verb+\char"+<hex\_number>と似ているが,下の記述に注意すること.%"
+このコマンドは \verb+\char"+<hex\_number>と似ているが,下の注意を参照すること.%"
%</ja>
\end{cslist}
%<*ja>
-このパッケージは,\texttt{ajmacros.sty}(\Pkg{otf}パッケージ付属のマクロ集,井上浩一氏作)から
-漢字コードをUTF8にしたり,plain \LuaTeX でも利用可能にするという
-修正を加えた \texttt{luatexja-ajmacros.sty} も自動的に読み込む.
-そのため,\texttt{ajmacros.sty} マクロ集にある \verb+\aj半角+ などのマクロもそのまま使用可能である.
+このパッケージは,マクロ集 \texttt{luatexja-ajmacros.sty}\footnote{\Pkg{otf}パッケージ付属の井上浩一氏によるマクロ集
+\texttt{ajmacros.sty} に対して
+漢字コードをUTF-8にしたり,plain \LuaTeX でも利用可能にするという
+修正を加えたものである.}\ も自動的に読み込む.
+\texttt{luatexja-ajmacros.sty} は,
+そのため,\Pkg{luatexja-otf} を読みこめば \texttt{ajmacros.sty} マクロ集にある \cs{aj半角} などのマクロもそのまま使うことができる.
%</ja>
+%<*en>
+This package automatically loads \texttt{luatexja-ajmacros.sty}, which is slightly
+modified version of \texttt{ajmacros.sty}\footnote{Useful macros by iNOUE Koich!, for the
+\Pkg{japanese-otf} package.}.
+Hence one can use macros which sre defined in \texttt{ajmacros.sty}, such as~\cs{aj半角}.
+%</en>
%<en>\paragraph{Remarks}
%<ja>\paragraph{注意}
If <width> is positive, the width of the box becomes this <width>.
In this case, <contents> will be aligned \dots
-\item[picture\textrm{environment}]
+\item[picture\textrm{\ environment}]
\item[\cs{rensuji}{[<pos>]}\{<contents>\}\textrm{, }\cs{rensujiskip}]
\attr{ltj@charclass}
%<*en>
-The character class of Japanese \textit{glyph\_node}.
+The character class of a \textbf{JAchar}. This attribute is only set on a
+ \textit{glyph\_node} which contains a \textbf{JAchar}.
%</en>
%<*ja>
-和文文字の\textit{glyph\_node}の文字クラス.
+\textbf{JAchar}の文字クラス.\textbf{JAchar}が格納された\textit{glyph\_node}でのみ使われる.
%</ja>
\attr{ltj@yablshift}
%<*en>
\paragraph{Setting parameters}
-Figure~\ref{fig:setpar-def} shows the ``most outer'' definition of
+Figure~\ref{fig:setpar-def} shows the \emph{most outer} definition of
two commands,
\cs{ltjsetparameter} and \cs{ltjglobalsetparameter}.
Most important part is the last \cs{setkeys},
\texttt{lstlisting}系環境などの日本語対応マクロを書かなくてすませるためのものである.
しかしながら,\pTeX と完全に同じ挙動が実現できたわけではない.
-次のように,和文文字の範囲を変更したちょうどその行においては挙動が異なる:
+次のように,\textbf{JAchar}の範囲を変更したちょうどその行においては挙動が異なる:
\begin{LTXexample}
\fontspec[Ligatures=TeX]{TeX Gyre Termes}
\ltjsetparameter{autoxspacing=false}
y\ltjsetparameter{jacharrange={+6}}zい
u
\end{LTXexample}
-上ソース中の「あ」は欧文文字扱いであり.
+上ソース中の「あ」は\textbf{ALchar}(欧文扱い)であり.
ここで使用している欧文フォント\TeX\ Gyre Termesは「あ」を含まない.
よって,出力に「あ」は現れないことは不思議ではない.
それでも,\pTeX とまったく同じ挙動を示すならば,出力は
上のように異なる挙動となっているが,それは以下の理由による:
\begin{itemize}
\item 3行目を \texttt{process\_input\_buffer} で処理する時点では,
- 「あ」は和文文字扱いである.よって3行目は和文文字で終わることになり,
+ 「あ」は\textbf{JAchar}(和文扱い)である.よって3行目は\textbf{JAchar}で終わることになり,
コメント文字 \texttt{U+FFFFF} が追加される.
よって,直後の改行文字は無視されることになり,空白は入らない.
\item 4行目を \texttt{process\_input\_buffer} で処理する時点では,
- 「い」は欧文文字扱いである.よって4行目は欧文文字で終わることになり,
+ 「い」は\textbf{ALchar}である.よって4行目は\textbf{ALchar}で終わることになり,
直後の改行文字は空白に置き換わる.
\end{itemize}
-このため,トラブルを避けるために,和文文字の範囲を\cs{ltjsetparameter}で編集した場合,
+このため,トラブルを避けるために,\textbf{JAchar}の範囲を\cs{ltjsetparameter}で編集した場合,
その行はそこで改行するようにした方がいいだろう.
%</ja>
説明用に準備した概念であって,実際のLuaコード中にそのように書かれているわけではないことに注意.
\begin{description}
-\item[\textit{id\_jglyph}] 和文文字.\\
-$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$は,その和文文字を表している
+\item[\textit{id\_jglyph}] \textbf{JAchar}(和文文字).\\
+$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$は,その\textbf{JAchar}を表している
\textit{glyph\_node}そのものである.
-\item[\textit{id\_glyph}] 和文文字を表していない\textit{glyph\_node}~$p$.\\
-多くの場合,$p$は欧文文字を格納しているが,「ffi」などの合字によって作られた
+\item[\textit{id\_glyph}] \textbf{JAchar}(和文文字)以外のものを表す\textit{glyph\_node}~$p$.\\
+多くの場合,$p$は\textbf{ALchar}(欧文文字)を格納しているが,「ffi」などの合字によって作られた
\textit{glyph\_node}である可能性もある.
前者の場合,$\mathit{Np}.\mathit{head}$,~$\mathit{Np}.\mathit{tail} = p$である.
一方,後者の場合,
空白等の実際の挿入を行うことは前に書いたが,ここでの説明では,問題にしているクラスタ\textit{Np}は「後ろ側」のクラスタである
とする.「前側」のクラスタについては,以下の説明で\textit{head}が\textit{last}に置き換わることに注意すること.
\begin{description}
-\item[和文A] リスト中に直接出現している和文文字.
+\item[和文A] リスト中に直接出現している\textbf{JAchar}.
\textit{id}が\textit{id\_jglyph}であるか,\\
\textit{id}が\textit{id\_pbox}であって$\mathit{Np}.\mathit{head}$が\textbf{JAchar}であるとき.
-\item[和文B] リスト中のhboxの中身の先頭として出現した和文文字.和文Aとの違いは,これの前に
+\item[和文B] リスト中のhboxの中身の先頭として出現した\textbf{JAchar}.和文Aとの違いは,これの前に
JFMグルーの挿入が行われない(\Param{xkanjiskip},~\Param{kanjiskip}は入り得る)ことである.\\
\textit{id}が\textit{id\_hlist}か\textit{id\_disc}であって$\mathit{Np}.\mathit{head}$が\textbf{JAchar}であるとき.
-\item[欧文] リスト中に直接/hboxの中身として出現している欧文文字.次の3つの場合が該当:
+\item[欧文] リスト中に直接/hboxの中身として出現している「\textbf{JAchar}以外の文字」.次の3つの場合が該当:
\begin{itemize}
\item \textit{id}が\textit{id\_glyph}である.
\item \textit{id}が\textit{id\_math}である.
一方.前者(段落)の場合は,リストの末尾は常に \cs{penalty10000} と,
\cs{parfillskip} 由来のグルーが存在する.%よって,最後のクラスタ\textit{Np}は
%この \cs{parfillskip} 由来のグルーとなり,実質的な中身の最後はその1つ前のクラスタ\textit{Nq}となる.
-段落の最後の「通常の和文文字${}+{}$句点」が独立した行となるのを防ぐために,
+段落の最後の「通常の\textbf{JAchar}${}+{}$句点」が独立した行となるのを防ぐために,
\Param{jcharwidowpenalty}の値の分だけ適切な場所のペナルティを増やす.
ペナルティ量を増やす場所は,\textit{head}が\textbf{JAchar}であり,
この場合が全ての場合の基本となる.
\paragraph{「右空白」の算出}
-まず,「右空白」にあたる量を算出する.通常はこれが,隣り合った2つの和文文字間に入る空白量となる.
+まず,「右空白」にあたる量を算出する.通常はこれが,隣り合った2つの\textbf{JAchar}間に入る空白量となる.
\begin{description}
\item[JFM由来{[M]}] JFMの文字クラス指定によって入る空白を以下によって求める.この段階で空白量が未定義(未指定)だった場合,
デフォルト値\Param{kanjiskip}を採用することとなるので,次へ.
\item[\Param{kanjiskip}~{[K]}] 上の[M]において空白が定まらなかった場合,
以下で定めた量「右空白」として採用する.
この段階においては,\cs{inhibitglue} は効力を持たないため,
-結果として,2つの和文文字間には常に何らかのグルー/カーンが挿入されることとなる.
+結果として,2つの\textbf{JAchar}間には常に何らかのグルー/カーンが挿入されることとなる.
\begin{enumerate}
\item 両クラスタ(厳密には$\mathit{Nq}.\mathit{tail}$,$\mathit{Np}.\mathit{head}$)の中身の文字コードに対する
\Param{autospacing}パラメタが両方ともfalseだった場合は,長さ0のglueとする.
\item ユーザ側から見た\Param{kanjiskip}パラメタの自然長が$\cs{maxdimen}=(2^{30}-1)\,{\rm sp}$で
なければ,\Param{kanjiskip}パラメタの値を持つglueを採用する.
\item 2.でない場合は,\textit{Nq}, \textit{Np}で使われているJFMに指定されている\Param{kanjiskip}の値を用いる.
-どちらか片方のクラスタだけが和文文字(\textsf{和文A}・\textsf{和文B})のときは,そちらのクラスタで使われている
+どちらか片方のクラスタだけが\textbf{JAchar}(\textsf{和文A}・\textsf{和文B})のときは,そちらのクラスタで使われている
JFM由来の値だけを用いる.もし両者で使われているJFMが異なった場合は,上の[M]~3.と同様の方法を用いて調整する.
\end{enumerate}
\end{description}
\item 禁則用ペナルティも,以前述べた\textsf{P-normal~[PN]}と同じである.
\end{itemize}
\begin{description}
-\item[Boundary-B~{[\OB]}] 和文文字と「和文でないもの」との間に入る空白を以下によって求め,
+\item[Boundary-B~{[\OB]}] \textbf{JAchar}と「\textbf{JAchar}でないもの」との間に入る空白を以下によって求め,
未定義でなければそれを「右空白」として採用する.
\textsf{JFM-origin~[M]}の変種と考えて良い.
これによって定まる空白の典型例は,和文の閉じ括弧と欧文文字の間に入る半角アキである.
\item 禁則用ペナルティは,以前述べた\textsf{P-normal~[PN]}と同じである.
\end{itemize}
\begin{description}
-\item[Boundary-A~{[\OA]}] 「和文でないもの」と和文文字との間に入る空白を以下によって求め,
+\item[Boundary-A~{[\OA]}] 「\textbf{JAchar}でないもの」と\textbf{JAchar}との間に入る空白を以下によって求め,
未定義でなければそれを「右空白」として採用する.
\textsf{JFM-origin~[M]}の変種と考えて良い.
これによって定まる空白の典型例は,欧文文字と和文の開き括弧との間に入る半角アキである.
\paragraph{和文Aと和文Bの違い}
先に述べたように,\textsf{和文B}はhboxの中身の先頭(or 末尾)として出現している
-和文文字である.リスト内に直接ノードとして現れている和文文字(\textsf{和文A})との違いは,
+\textbf{JAchar}である.リスト内に直接ノードとして現れている\textbf{JAchar}(\textsf{和文A})との違いは,
\begin{itemize}
\item \textsf{和文B}に対しては,JFMの文字クラス指定から定まる空白
\textsf{JFM-origin~[M]},\textsf{Boundary-A~[\OA]},\textsf{Boundary-B~[\OB]})の挿入は行われない.
\end{itemize}
という状況で組んだ場合を例にとって説明しよう.
-\LuaTeX・\Pkg{luaotfload}によるカーニング・ハイフネーションが終わった段階では,
+\LuaTeX・\Pkg{luaotfload}によるカーニング・ハイフネーションが終わった段階では,……
\item \Param{kanjiskip}
\end{enumerate}
\begin{enumerate}
- \item 行末の和文文字を移動したことで$\textit{total}=0$となれば,
+ \item 行末の\textbf{JAchar}を移動したことで$\textit{total}=0$となれば,
調整の必要はなく,行が格納されているhboxの
\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}を再計算すればよい.
以降,$\textit{total}\neq 0$と仮定する.
\[
\xymatrix{
{}\Node{glyph}{`平'}\ar[r]&{}\Node{glyph}{`成'}\ar[r]&
- {}\HNode{hlist}{10.00003}{3.02779}{0.0}\ar[r]\ar[d]^{\text{中身}}&{}\Node{glyph}{`年'}\\
+ {}\HNode{hbox}{10.00003}{3.02779}{0.0}\ar[r]\ar[d]^{\text{中身}}&{}\Node{glyph}{`年'}\\
&&{}\Node{whatsit}{\cs{tate}}\ar[r]&{}\Node{glyph}{`2'}\ar[r]&{}\Node{glyph}{`6'}
}
\]
&{}\textcolor{blue}{\Node{penalty}{0}}
\ar`r[d] `[l] `[ddll] `[dl] [dl]
\\
- &&{}\textcolor{red}{\HNode{hlist}{3.02779}{10.00003}{0.0}}\ar[r]\ar[d]^{\text{中身}}
+ &&{}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{yoko})}{3.02779}{10.00003}{0.0}}\ar[r]\ar[d]^{\text{中身}}
&{}\textcolor{blue}{\Node{penalty}{0}}\ar[r]
&{}\Node{glyph}{`年'}\\
- &&{}\HNode{\textit{dir\_box} (\cs{yoko})}{10.00003}{3.02779}{0.0}\ar[d]^{\text{中身}}\\
+ &&{}\HNode{hbox}{10.00003}{3.02779}{0.0}\ar[d]^{\text{中身}}\\
&&{}\Node{whatsit}{\cs{tate}}\ar[r]&{}\Node{glyph}{`2'}\ar[r]&{}\Node{glyph}{`6'}
}
\]
{}\Node{whatsit}{\cs{dtou}}\ar[r]&
{}\Node{glyph}{`a'}\ar[r]&
{}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{dtou})}{20.0}{9.0}{0.0}}\ar[d]_{\text{中身}}\\
- &&{}\HNode{hlist}{9.0}{5.0}{2.0}\ar[d]_{\text{中身}}\\
+ &&{}\HNode{hbox}{9.0}{5.0}{2.0}\ar[d]_{\text{中身}}\\
&&{}\Node{whatsit}{\cs{yoko}}\ar[r]&{}\Node{rule}{}
}
\]