OSDN Git Service

typo in manual
[luatex-ja/luatexja.git] / doc / luatexja.dtx
index db8a7ef..b7809c9 100644 (file)
 %%%%%%%%
 \makeatletter
 %%%%%%%%
-
-%%%%%%%% record loaded packages
-\let\ltjpkglist\empty
-\newif\if@real@append@list
-\def\@append@newentry#1#2{{%
-  \@real@append@listtrue \def\@tempa{#2}%
-  \let\@pkglist\@append@newentry@pkglist#1%
-  \if@real@append@list
-    \let\@pkglist=\relax\xdef#1{#1\@pkglist{#2}}%
-  \fi}}
-\def\@append@newentry@pkglist#1{%
-  \def\@tempb{#1}%
-  \ifx\@tempa\@tempb\@real@append@listfalse\fi}
-\def\@addtofilelist#1{\@append@newentry\ltjpkglist{#1}}
-\let\@listfiles\empty
-
+\directlua{if jit then jit.on() end}
 %<*en>
 \usepackage[margin=25mm,lmargin=30mm,rmargin=30mm,footskip=6mm]{geometry}
 \usepackage{luatexja-adjust}\ltjdisableadjust
@@ -245,7 +230,7 @@ Japanese processing in computers (\textit{e.g.}, the UTF-8 encoding).
 ASCII \pTeX やそれの拡張物が用いられることが一般的であった.\pTeX は\TeX
 のエンジン拡張であり,(少々仕様上不便な点はあるものの)商業印刷の分野に
 も用いられるほどの高品質な日本語組版を可能としている.だが,それは弱点に
\82\82ã\81ªã\81£ã\81¦ã\81\97ã\81¾ã\81£ã\81\9fï¼\9a\pTeX という(組版的に)満足なものがあったため,海外で
\82\82ã\81ªã\81£ã\81¦ã\81\97ã\81¾ã\81£ã\81\9fï¼\8e\pTeX という(組版的に)満足なものがあったため,海外で
 行われている数々の\TeX の拡張――例えば\eTeX や\pdfTeX ――や,TrueType,
 OpenType, Unicodeといった計算機で日本語を扱う際の状況の変化に追従すること
 を怠ってしまったのだ.
@@ -290,13 +275,16 @@ scripts for appropriate callbacks.
 
 %<*en>
 The \LuaTeX-ja package is under much influence of \pTeX\ engine. The initial
-target of development was to implement features of \pTeX. However,
-\emph{\LuaTeX-ja is not a just porting of \pTeX; unnatural
+target of development was to implement features of \pTeX. However, 
+implementing all feature of \pTeX\ is impossible, 
+since all process of \LuaTeX-ja must be implemented only by Lua and \TeX\ macros.
+Hence \emph{\LuaTeX-ja is not a just porting of \pTeX; unnatural
 specifications/behaviors of \pTeX\ were not adopted}.
 %</en>
 %<*ja>
 \LuaTeX-jaは,\pTeX に多大な影響を受けている.初期の開発目標は,\pTeX の機
-能をLuaコードにより実装することであった.しかし,開発が進むにつれ,\pTeX
+能をLuaコードにより実装することであった.しかし,(\pTeX はエンジン拡張であったのに対し)
+\LuaTeX-jaはLuaコードと\TeX マクロを用いて全てを実装していなければならないため,\pTeX
 の完全な移植は不可能であり,また\pTeX における実装がいささか不可解になっ
 ているような状況も発見された.そのため,\emph{\LuaTeX-jaは,もはや
 \pTeX の完全な移植は目標とはしない.\pTeX における不自然な仕様・挙動があ
@@ -304,45 +292,74 @@ specifications/behaviors of \pTeX\ were not adopted}.
 %</ja>
 
 %<*en>
-The followings are major changes from \pTeX:
+The followings are major changes from \pTeX.
+For more detailed information, see Part~\ref{part-imp} or other sections of this manual.
 %</en>
 %<*ja>
 以下は \pTeX からの主な変更点である.
+より詳細については第\ref{part-imp}部など本文書の残りを参照.
 %</ja>
 
-\begin{itemize}
 %<*en>
-\item A Japanese font is a tuple of a ``real'' font, a Japanese font
-      metric (\emph{JFM}, for short).
+\paragraph{Command names} \pTeX\ addes several primitives, such as \cs{kanjiskip}, 
+\cs{prebreakpenalty},~and,~\cs{ifydir}. They can be used as follows:
 %</en>
 %<*ja>
-\item 和文フォントは(小塚明朝,IPA明朝などの)実際のフォント,和文フォン
-      トメトリック(JFMと呼ぶ\footnote{混乱を防ぐため,p\TeX の意味での
-      JFM (\texttt{min10.tfm}) などは本ドキュメントでは\emph{和文用
-      TFM}とよぶことにする.})の組である.
+\paragraph{命令の名称} 例えば\pTeX で追加された次のようなプリミティブ
+%</ja>
+\begin{verbatim}
+\kanjiskip=10pt  \dimen0=kanjiskip
+\tbaselineshift=0.1zw
+\dimen0=\tbaselineshift
+\prebreakpenalty`ぁ=100
+\ifydir ... \fi
+\end{verbatim}
+%<en> However, we cannot use them under \LuaTeX-ja. 
+%<en> Instead of them, we have to write as the following.
+%<ja> は\LuaTeX-jaには存在しない.\LuaTeX-jaでは以下のように記述することになる.
+\begin{verbatim}
+\ltjsetparameter{kanjiskip=10pt}  \dimen0=\ltjgetparameter{kanjiskip}
+\ltjsetparameter{talbaselineshift=0.1\zw}
+\dimen0=\ltjgetparameter{talbaselineshift}
+\ltjsetparameter{prebreakpenalty={`ぁ,100}}
+\ifnum\ltjgetparemeter{direction}=4 ... \fi
+\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.
+%</en>
+%<*ja>
+特に注意してほしいのは,\pTeX で追加された \texttt{zw} と \texttt{zh} という単位を
+\LuaTeX-ja で扱うには,\cs{zw}, \cs{zh} と制御綴の形にしないといけないという点である.
 %</ja>
 
 %<*en>
-\item In \pTeX, a line break after Japanese character is ignored (and
+\paragraph{Linebreak after a Japanese character}
+In \pTeX, a line break after Japanese character is ignored (and
       doesn't yield a space), since line breaks (in source files) are
       permitted almost everywhere in Japanese texts. However, \LuaTeX-ja
-      doesn't have this function completely, because of a specification
-      of \LuaTeX.
+      doesn't have this feature completely, because of a specification
+      of \LuaTeX. For the detail, see Section~\ref{sec-lbreak}.
 %</en>
 %<*ja>
-\item 日本語の文書中では改行はほとんどどこでも許されるので,\pTeX では和文文字
+\paragraph{和文文字直後の改行}
+日本語の文書中では改行はほとんどどこでも許されるので,\pTeX では和文文字
       直後の改行は無視される(スペースが入らない)ようになっていた.しかし,
       \LuaTeX-ja では \LuaTeX の仕様のためにこの機能は完全には実装されていない.
+      詳しくは\ref{sec-lbreak}章を参照.
 %</ja>
 
 %<*en>
-\item The insertion process of glues/kerns between two Japanese
+
+\paragraph{Spaces related to Japanese characters}
+The insertion process of glues/kerns between two Japanese
       characters and between a Japanese character and other characters
       (we refer glues/kerns of both kinds as \textbf{JAglue}) is rewritten from
       scratch.
 %</en>
 %<*ja>
-\item 2つの和文文字の間や,和文文字と欧文文字の間に入るグルー/カーン
+\paragraph{和文関連の空白}
+2つの和文文字の間や,和文文字と欧文文字の間に入るグルー/カーン
       (両者をあわせて\textbf{JAglue}と呼ぶ)の挿入処理が0から書き直されている.
 %</ja>
 
@@ -390,7 +407,6 @@ The followings are major changes from \pTeX:
 ちょ\hbox{}っと
 \end{lstlisting}
 
-
 %<*en>
 \item In the process, two Japanese fonts which only differ in their ``real''
       fonts are identified.
@@ -401,26 +417,34 @@ The followings are major changes from \pTeX:
 %</ja>
 \end{itemize}
 
+%<*en>
+\paragraph{Directions}
+From version ********, \LuaTeX-ja supports vertical writing;
+but this feature must \emph{not} be confused with $\Omega$-style direction support of \LuaTeX\
+itself. ...
+%</en>
 %<*ja>
-\item \LuaTeX-jaでは,\pTeX と同様に漢字・仮名を制御綴内に用いることができ,
-\cs{西暦} などが正しく動作するようにしている.
-但し,制御綴中に使える和文文字が\pTeX・\upTeX と全く同じではないことに注意すること.
-%</ja>
-
-%<*ja>
-\item ****版からは,不安定ながらも\LuaTeX-ja における縦組みをサポートしている.
-\LuaTeX のコールバックの制限などにより,特に異なった組方向のボックスを扱う場合には
-仕様が異なるので注意すること.
+\paragraph{組方向}
+****版からは,不安定ながらも\LuaTeX-ja における縦組みをサポートしている.
+なお,\LuaTeX 本体も,$\Omega$流の組方向をサポートしているが,それとは全くの別物であること
+に注意してほしい.
+\LuaTeX のコールバックや実装により,特に異なった組方向のボックスを扱う場合には
+\cs{wd}, \cs{ht}, \cs{dp}等の仕様が異なるので注意.詳細は第\ref{sec-direction}節を参照.
 %</ja>
-\end{itemize}
 
 %<*en>
-For detailed information, see Part~\ref{part-imp}.
+\paragraph{\cs{discretionary}}
+Japanese characters in discretionary break (\cs{discretionary}) is not supported.
 %</en>
 %<*ja>
-詳細については第\ref{part-imp}部を参照.
+\paragraph{\cs{discretionary}}
+ \cs{discretionary} 内に直接和文文字を記述することは,\pTeX においても想定されていなかった
+ 感があるが.\LuaTeX-jaにおいても想定していない.和文文字をどう
+      しても使いたい場合は \cs{hbox} で括ること.
 %</ja>
 
+
+
 %<en>\subsection{Notations}
 %<ja>\subsection{用語と記法}
 
@@ -437,12 +461,12 @@ In this document, the following terms and notations are used:
       (see Subsection~\ref{ssec-setrange}).
 %</en>
 %<*ja>
-\item 文字は次の2種類に分けられる.この類別はユーザが後から変更可能である
+\item 文字は次の2種類に分けられる.この類別は固定されているものではなく,ユーザが後から変更可能である
       (\ref{ssec-setrange}節を参照).
 %</ja>
 \begin{itemize}
 %<*en>
-\item \textbf{JAchar}: standing for characters which used in Japanese typesetting,
+\item \textbf{JAchar}: standing for characters which is used in Japanese typesetting,
       such as Hiragana,~Katakana, Kanji, and~other Japanese punctuation marks.
 %</en>
 %<*ja>
@@ -543,8 +567,8 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
 %<en>The following packages are needed for the \LuaTeX-ja\ package.
 %<ja>\LuaTeX-jaパッケージには,次のパッケージ類が必要である.
 \begin{itemize}
-\item \LuaTeX\ beta-0.74.0 (or later)
-\item \Pkg{luaotfload} v2.2 (or later)
+\item \LuaTeX\ snapshot rev~5024 (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/})}
@@ -552,9 +576,9 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
 \end{itemize}
 
 %<*en>
-\emph{This version of \LuaTeX-ja no longer supports \TeX~Live~2012 (or older version),
-since \LuaTeX\ binary and \Pkg{luaotfload} is updated in
-\TeX~Live~2013.}
+\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
 
@@ -567,16 +591,10 @@ the following distributions:
   \item W32\TeX\ (in \texttt{luatexja.tar.xz})
   \end{itemize}
 IPAex fonts are also available in these distributions.
-
-If you are using \TeX~Live~2014, you can install \LuaTeX-ja
-from \TeX~Live manager (\texttt{tlmgr}):
-\begin{lstlisting}
-$ tlmgr install luatexja
-\end{lstlisting}
 %</en>
 %<*ja>
-\emph{本バージョンの\LuaTeX-jaは\TeX~Live~2012以前では動作しない.}
-これは,\LuaTeX と\Pkg{luaotfload}が\TeX~Live~2013において更新されたことによる.
+\emph{本バージョンの\LuaTeX-jaは\TeX~Live~2013以前では動作しない.\TeX~Live~2014で
+用いたい場合は,自力で\LuaTeX 開発版をソースからビルドする必要がある.}
 
 \medskip
 
@@ -589,24 +607,33 @@ $ tlmgr install luatexja
   \end{itemize}
 これらのディストリビューションはIPAexフォントも収録している.
 W32\TeX においてはIPAexフォントは \texttt{luatexja.tar.xz} 内にある.
-
-例えば\TeX~Live~2014を利用しているなら,\LuaTeX-jaは\TeX~Live manager (\texttt{tlmgr})を
-使ってインストールすることができる.
-\begin{lstlisting}
-$ tlmgr install luatexja
-\end{lstlisting}
 %</ja>
 
+% %<*ja>
+% 例えば\TeX~Live~2015を利用しているなら,\LuaTeX-jaは\TeX~Live manager (\texttt{tlmgr})を
+% 使ってインストールすることができる.
+% \begin{lstlisting}
+% $ tlmgr install luatexja
+% \end{lstlisting}
+% %</ja>
+% %<*en>
+% If you are using \TeX~Live~2015, you can install \LuaTeX-ja
+% from \TeX~Live manager (\texttt{tlmgr}):
+% \begin{lstlisting}
+% $ tlmgr install luatexja
+% \end{lstlisting}
+% %</en>
+
 %<en>\paragraph{Manual installation}
 %<ja>\paragraph{手動インストール方法}
 
 \begin{enumerate}
 %<*en>
-\item Download the source archive, by one of the following method.
+\item Download the source, by one of the following method.
       At the present, \LuaTeX-ja has no \emph{stable} release.
 
 \begin{itemize}
-\item Copy the Git repository:
+\item Clone the Git repository:
 \begin{lstlisting}
 $ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
 \end{lstlisting}
@@ -620,11 +647,11 @@ Note that the \texttt{master} branch, and hence the archive in CTAN, are not upd
 the forefront of development is not the \texttt{master} branch.
 %</en>
 %<*ja>
-\item ã\82½ã\83¼ã\82¹ã\82¢ã\83¼ã\82«ã\82¤ã\83\96ã\82\92以ä¸\8bã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81®æ\96¹æ³\95ã\81§å\8f\96å¾\97ã\81\99ã\82\8bï¼\8eç\8f¾å\9c¨å\85¬é\96\8bã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\81®ã\81¯ã\81\82ã\81\8fã\81¾ã\81§ã\82\82
+\item ソースを以下のいずれかの方法で取得する.現在公開されているのはあくまでも
       開発版であって,安定版でないことに注意.
 
 \begin{itemize}
-\item Gitã\83ªã\83\9dã\82¸ã\83\88ã\83ªã\81®å\86\85容ã\82\92ã\82³ã\83\94ã\83¼する:
+\item Gitã\83ªã\83\9dã\82¸ã\83\88ã\83ªã\82\92ã\82¯ã\83­ã\83¼ã\83³する:
 \begin{lstlisting}
 $ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
 \end{lstlisting}
@@ -643,7 +670,7 @@ $ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
 But only the contents in \texttt{src/} are needed to work \LuaTeX-ja.
 %</en>
 %<*ja>
-\item ã\80\8cGitã\83ªã\83\9dã\82¸ã\83\88ã\83ªã\82\92ã\82³ã\83\94ã\83¼」以外の方法でアーカイブを取得したならば,それを展開する.
+\item ã\80\8cGitã\83ªã\83\9dã\82¸ã\83\88ã\83ªã\82\92ã\82¯ã\83­ã\83¼ã\83³」以外の方法でアーカイブを取得したならば,それを展開する.
       \texttt{src/}をはじめとしたいくつかのディレクトリができるが,
       動作には\texttt{src/}以下の内容だけで十分.
 %</ja>
@@ -700,9 +727,15 @@ Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not need
 %</ja>
 \end{enumerate}
 
-%<en>\subsection{Cautions}
-%<ja>\subsection{注意点}
-
+%<*en>
+\subsection{Cautions}
+For changes from \pTeX, see Subsection~\ref{ssec:chgptex}.
+%</en>
+%<*ja>
+\subsection{注意点}
+\pTeX からの変更点として,\ref{ssec:chgptex}節も熟読するのが望ましい.
+ここでは一般的な注意点を述べる.
+%</ja>
 \begin{itemize}
 %<*en>
 \item The encoding of your source file must be UTF-8. No other
@@ -935,9 +968,25 @@ Note that the bold series in both family are same as the medium series of \emph{
 また,どちらのファミリでもイタリック体・スラント体は定義されない.
 %</ja>
 
-
 %<en>\item Japanese characters in math mode are typeset by the font family \texttt{mc}.
 %<ja>\item 数式モード中の和文文字は明朝体(\texttt{mc})で出力される.
+
+%<*en>
+\item If you use the \Pkg{beamer} class with the default font theme (which uses sans serif
+      fonts) and with \LuaTeX-ja, you might want to change default Japanese fonts to
+      \emph{gothic} family. The following line  changes  the default Japanese font family
+      to \emph{gothic}:
+%</en>
+%<*ja>
+\item \Pkg{beamer}クラスを既定のフォント設定で使う場合,既定欧文フォントがサンセリフなの
+      で,既定和文フォントもゴシック体にしたいと思うかもしれない.その場合はプリアンブルに
+次を書けばよい:
+%</ja>
+\begin{lstlisting}
+ \renewcommand{\kanjifamilydefault}{\gtdefault}
+\end{lstlisting}
+
+
 \end{itemize}
 
 %<*en>
@@ -977,11 +1026,12 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{%
 脚注とボトムフロートの順序は\LaTeX 通りとした.もし\pLaTeX の出力順序が好みならば,
 \Pkg{stfloats}パッケージを利用して
 \begin{lstlisting}
- \usepackage{stfloats} \fnbelowfloat
+ \usepackage{stfloats}\fnbelowfloat
 \end{lstlisting}
 のようにすればよい.\Pkg{footmisc}パッケージを \texttt{bottom}\ オプションを指定して
 読み込むという方法もあるが,それだとボトムフロートと脚注の間が開いてしまう.
 %</ja>
+%%% ↑は英訳しない
 
 %<en>\section{Changing Fonts}
 %<ja>\section{フォントの変更}
@@ -1096,6 +1146,7 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 \ref{ssec-altfont}節の \cs{ltjdeclarealtfont} と,その\LaTeX 版の\
 \cs{DeclareAlternateKanjiFont}(\ref{ssec-nfsspat}節)を参照せよ.
 %</ja>
+
 \end{itemize}
 
 %<*en>
@@ -1438,7 +1489,7 @@ In above table, starred fonts (KozGo\dots-Regular) are used for medium series of
 \emph{if and only if \texttt{deluxe} option is specified}.
 %</en>
 %<*ja>
-上の表において,*つきのフォント(KozGo\dots-Regular)は,\emph{\texttt{deluxe}オプション指定時に}
+上の表において,*つきのフォント(KozGo\dots-Regular)は,\emph{\texttt{deluxe}オプション指定時に}
 ゴシック体細字として用いられる.
 %</ja>
 
@@ -2285,36 +2336,29 @@ xyz漢字
 \end{LTXexample}
 
 %<*en>
-Note that setting a positive value to
-\Param{yalbaselineshift}~or~\Param{talbaselineshift} does not
-increase the depth of \textbf{ALchar}, as shown below.
-This is because these parameters are implemented by setting \verb+yoffset+
-field of a glyph node, and this does not increase the depth of the glyph.
-This problem does not apply for \Param{yjabaselineshift}, since
-\Param{yjabaselineshift}~and~\Param{tjabaselineshift}
-use a different implementation method.
-%</en>
-%<*ja>
-なお,\Param{yalbaselineshift},~\Param{talbaselineshift}パラメータに
-正の値を指定しても,
-下の例のように\textbf{ALchar}の深さは増加しないことに注意.
-これは,2パラメータがglyph~nodeの\verb+yoffset+を使って
-実装されているためである.
-\Param{yjabaselineshift},~\Param{tjabaselineshift}パラメータは
-別の方法を使って実装しているので,
-このような問題は起こらない.
-%</ja>
-\begin{LTXexample}[width=.3\textwidth]
-\leavevmode\fboxsep=0pt
- \ltjsetparameter{yjabaselineshift=0pt,
-    yalbaselineshift=0pt}
-\vrule width 105pt height 0.4pt depth 0pt \hskip-95pt
-\fbox{\ltjsetparameter{yalbaselineshift=10pt}あいうxyz}
-\fbox{\ltjsetparameter{yalbaselineshift=-10pt}あいうxyz}\\
-\vrule width 105pt height 0.4pt depth 0pt \hskip-95pt
-\fbox{\ltjsetparameter{yjabaselineshift=10pt}あいうxyz}
-\fbox{\ltjsetparameter{yjabaselineshift=-10pt}あいうxyz}
-\end{LTXexample}
+Note that setting positive \Param{yalbaselineshift}~or~\Param{talbaselineshift}
+parameters does not increase the depth of one-letter ``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
+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
+\end{itemize}
+
+This problem does not apply for \Param{yjabaselineshift}~nor~\Param{tjabaselineshift}.
+%</en>
+%<*ja>
+なお,以下の場合には1文字の\textbf{ALchar}からなる「音節」の深さは増加しないことに注意.
+\begin{itemize}
+ \item \Param{yalbaselineshift},~\Param{talbaselineshift}パラメータが正になっている.
+ \item 「音節」を構成する唯一の文字$p$の
+左余白への突出量(\cs{lpcode}),右余白への突出量(\cs{rpcode})がどちらも非零である.
+\end{itemize}
+\Param{yjabaselineshift},~\Param{tjabaselineshift}パラメータについてはこのような問題は起こらない.
+%</ja>
 
 %<*ja>
 \paragraph{数式における挙動:\pTeX との違い}
@@ -2364,6 +2408,7 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
 \end{table}
 %</ja>
 
+
 \clearpage
 %<en>\part{Reference}
 %<ja>\part{リファレンス}
@@ -2371,6 +2416,7 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
 \suppressfloats[t]
 %<*ja>
 \section{\LuaTeX-jaにおける \cs{catcode}}
+\label{sec-catcode}
 \subsection{予備知識:\pTeX と\upTeX における \cs{kcatcode}}
 \pTeX,\upTeX においては,和文文字が制御綴内で利用できるかどうか
 は \cs{kcatcode} の値によって決定されるのであった.
@@ -2378,6 +2424,7 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
 %</ja>
 %<*en>
 \section{\cs{catcode} in \LuaTeX-ja}
+\label{sec-catcode}
 \subsection{Preliminaries: \cs{kcatcode} in \pTeX\ and \upTeX}
 In \pTeX~and~\upTeX, the value of \cs{kcatcode} determines
 whether a Japanese character can be used in a control word.
@@ -3013,7 +3060,7 @@ the current direction. One can use these in \cs{dimexpr} primitive, as the follo
 \begin{lstlisting}
 \dimexpr 2\ltjgetwd{42}-3pt\relax, \the\ltjgetwd{1701}
 \end{lstlisting}
-By implementaion,  the argument must be grouped as \verb+\ltjgetwd{42}+,
+By its implementaion,  the argument must be grouped as \verb+\ltjgetwd{42}+,
 if the argument consists of more than one token.
 \begin{LTXexample}[width=0.3\textwidth]
 \parindent0pt
@@ -3072,7 +3119,10 @@ These commands set the dimension of \cs{box<num>}. Unlike \cs{ltjgetwd}, one doe
 \end{lstlisting}
 のように \cs{wd}<num> の代わりとして扱うことができる.引数が1桁の場合は,
 \cs{ltjgetwd3} のように引数をグループで括らなくても良いが,そうでない場合は
-(通常の命令への引数のように)\verb+\ltjgetwd{42}+ とグループに括る必要がある.
+(通常の命令への引数のように)\verb+\ltjgetwd{42}+ とグループに括る必要がある%
+\footnote{\cs{afterassignment} を利用して実装すればグループに括る必要がなくなるのでは,と思
+             うかもしれないが,それでは本文中に書いた例のように \cs{dimexpr} 中で使用でき
+             なくなってしまう.}.
 使用例は以下の通りである.
 \begin{LTXexample}[width=0.3\textwidth]
 \parindent0pt
@@ -3153,7 +3203,7 @@ Returned value&\texttt{4}&\texttt{3}&\texttt{1}&\texttt{11}&\texttt{0}\\
 \end{center}
 
 \begin{LTXexample}[width=0.3\textwidth]
-\leavevmode\def\DIR{\ltjgetparameter{direction}}
+\leavevmode\def\DIR{\ltjgetparameter{ direction}}
 \hbox{\yoko\DIR}, \hbox{\tate\DIR},
 \hbox{\dtou\DIR}, \hbox{\utod\DIR},
 \hbox{\tate$\hbox{tate math: \DIR}$}
@@ -3183,6 +3233,7 @@ overridden by \LuaTeX-ja, using~\verb+\protected\def+.
 \begin{cslist}[style=standard]
  \item[\cs{unhbox}<num>\textrm{, }\cs{unvbox}<num>\textrm{, }\cs{unhcopy}<num>\textrm{, }\cs{unvcopy}<num>]
  \item[\cs{vadjust}\{<material>\}]
+ \item[\cs{insert}<number>\{<material>\}]
  \item[\cs{lastbox}]
  \item[\cs{raise}<dimen><box>\textrm{, }\cs{lower}<dimen><box>\textrm{\ etc., }\cs{vcenter}]
  \item[\cs{vcenter}]
@@ -3202,6 +3253,9 @@ overridden by \LuaTeX-ja, using~\verb+\protected\def+.
  \item[\cs{vadjust}\{<material>\}] 一旦プリミティブ本来の挙動を行う.その後,<material>の組方向が
  周囲の垂直リストの組方向と一致しない場合にエラーを出力し,
  該当の \cs{vadjust} を無効にする.
+ \item[\cs{insert}<number>\{<material>\}]
+ 一旦プリミティブ本来の挙動を行い,その後<material>内の各ボックス・罫線の直前に組方向を示
+             すdirection whatsitを挿入する.
  \item[\cs{lastbox}] ボックスの「中身」を現在の組方向に合わせるためのノード
              (\textit{dir\_box}という)を必要ならば除去し,
  正しく「中身」のボックスが返されるように前処理をする.
@@ -3254,14 +3308,14 @@ causes a error.  We denote control sequences which are defined in
 
 \paragraph{JFM}
 %<*en>
-As noted in Introduction, a JFM has measurements of characters and
+a JFM has measurements of characters and
 glues/kerns that are automatically inserted for Japanese
 typesetting. The structure of JFM will be described in the next
 subsection. At the calling of \cs{jfont}, you must specify
 which JFM will be used for this font by the following keys:
 %</en>
 %<*ja>
-「はじめに」の節で述べたように,JFMは文字と和文組版で自動的に挿入される
+JFMは文字と和文組版で自動的に挿入される
 グルー/カーンの寸法情報を持っている.JFMの構造は次の節で述べる.
 \cs{jfont} 命令の呼び出しの際には,どのJFMを用いるのかを以下のキーで
 指定する必要がある:
@@ -3556,20 +3610,22 @@ letter-spacing and the width of italic correction are not correct:
 \cs{tfont} で定義された縦組用和文フォントは,
 以下の点が \cs{jfont} による横組用和文フォントとは異なる:
 \begin{itemize}
- \item 出力時に,自動的に「\verb+vert+ feature相当」のグリフ置換が行われる.
-       これは,\Pkg{luaotfload}による各種featureのサポートとは全く別個に行われるもので,
-       いちいち \verb+vert+ featureを指定する必要はない
+ \item 自動的に \texttt{vert}, \texttt{vrt2} の両OpenType featureが有効化される.
+但し,以下の例の3行目に示すように,明示的に \texttt{vert}, \texttt{vrt2}(のいずれか)の
+有効・無効を指定した場合は別である
 \begin{lstlisting}
-\tfont\S=file:KozMinPr6N-Regular.otf:jfm=ujis % OK
+\tfont\S=file:KozMinPr6N-Regular.otf:jfm=ujisv 
+    % vert and vrt2 are automatically activated
+\tfont\T=file:KozMinPr6N-Regular.otf:jfm=ujisv;-vert % vert and vrt2 are not activated
 \end{lstlisting}
  \item \ref{ssec-math}節で述べる,数式中の和文フォントには縦組用和文フォントは指定できない.
  \item \texttt{jfm=<name>}\ の部分には縦組用JFMを指定する.
 以下の縦組用JFMが\LuaTeX-jaには同梱されており,違いを表\ref{tab-difjfm-tate}に示した.
 \begin{description}
-\item[\tt jfm-ujis.lua] \LuaTeX-jaの標準縦組用JFMである.このJFMは\upTeX で
+\item[\tt jfm-ujisv.lua] \LuaTeX-jaの標準縦組用JFMである.このJFMは\upTeX で
   用いられるUTF/OTFパッケージ用の和文用TFMである \verb+upnmlminr-v.tfm+ を
   元にしている.
-\item[\tt jfm-min.lua] \pTeX に同梱されているデフォルトの和文用縦組TFM
+\item[\tt jfm-tmin.lua] \pTeX に同梱されているデフォルトの和文用縦組TFM
   である \verb+tmin10.tfm+ に相当し,\texttt{min10.tfm} と同様に
   「っ」など一部の文字幅が狭められている.
 \end{description}
@@ -4043,12 +4099,11 @@ Furthermore, the glyph is shifted according to values of fields
 和文文字を考えよう.
 \begin{itemize}
 \item
-実際のグリフの「垂直位置」は,ベースラインが文字の物理的な左右方向の中央を通る
+å®\9fé\9a\9bã\81®ã\82°ã\83ªã\83\95ã\81®ã\80\8cå\9e\82ç\9b´ä½\8dç½®ã\80\8dã\81¯ï¼\8cã\81¾ã\81\9aã\83\99ã\83¼ã\82¹ã\83©ã\82¤ã\83³ã\81\8cæ\96\87å­\97ã\81®ç\89©ç\90\86ç\9a\84ã\81ªå·¦å\8f³æ\96¹å\90\91ã\81®ä¸­å¤®ã\82\92é\80\9aã\82\8b
 位置となる.
 \item
-また,この場合\texttt{align}フィールドは \texttt{'right'} なので,
+また,この場合 \texttt{align} フィールドは \texttt{'right'} なので,
 「水平位置」は字送り方向に「右寄せ」したものとなる(緑色の長方形).
-その際,高さ・深さは,実フォントのascender, descenderの値が使われる.
 \item
 その後さらに \texttt{left} と \texttt{down} の値に従ってシフトされる
 のは横組用和文フォントと変わらない.
@@ -4144,93 +4199,79 @@ using  \texttt{jfm-test.lua} which contains the following:
 %</en>
 \begin{lstlisting}
    [0] = {
-      chars = { '漢', 'ヒ*' },
+      chars = { '漢' },
       align = 'left', left = 0.0, down = 0.0,
       width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
    },
    [2000] = {
-      chars = { '。', '、*', 'ヒ' },
+      chars = { '。', 'ヒ' },
       align = 'left', left = 0.0, down = 0.0,
       width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
    },
 \end{lstlisting}
-%<ja>句点「。」の幅は二分であるので
+%<ja>ここで,次のような入力とその実行結果を考える:
 %<en>Now consider the following input/output:
 \begin{LTXexample}[width=0.3\textwidth]
-\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+vert
-\setbox0\hbox{\a ã\80\82\inhibitglue 漢}
+\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+hwid
+\setbox0\hbox{\a ã\83\92漢}
 \the\wd0
 \end{LTXexample}
 %<*en>
-Now we look why the above source outputs 20\,pt, not 15\,pt.
+Now we look why the above source outputs 15\,pt.
 \begin{enumerate}
-\item The ideographic full stop ``。'' is converted to its vertical form ``\char"FE12''~(\texttt{U+FE12}), %"
-by \verb+vert+ feature.
-\item The character class of ``\char"FE12'' is zero, hence its width is fullwidth.%"
-\item The character class of ``漢'', hence its width is fullwidth.
-\item \cs{inhibitglue} makes that no glue will be inserted between ``。'' and ``漢''.
-\item Hence the width of \cs{hbox} equals to 20\,pt.
+\item The character ``ヒ'' is converted to its half width  form ``ヒ'' by \verb+hwid+ feature.
+\item According to the JFM, the character class of ``ヒ'' is 2000, hence its width is halfwidth.
+\item The character class of ``漢'' is zero,  hence its width is fullwidth.
+\item Hence the width of \cs{hbox} equals to 15\,pt.
 \end{enumerate}
-This example shows that the character class of a character is determined \emph{after
+This example shows that the character class of a character is generally determined \emph{after
 applying font features by \Pkg{luaotfload}}.
 %</en>
 %<*ja>
-では,全角二分(15.0\,pt)となるのが自然……と思うかもしれないが,上の実行結果では20\,ptとなっている.
-それは以下の事情によるものである:
+上記の出力結果が,15\,ptとなっているのは理由によるものである:
 \begin{enumerate}
-\item \verb+vert+ featureによって句点(\texttt{U+3002})が縦組用のグリフと置き換わる(\Pkg{luaotfload} による処理).
-\item この縦組用句点のグリフは \texttt{U+FE12} であるため,その文字クラスは0となる.
-\item 以上により文字クラス0とみなされるため,結果として「。」の幅は全角だと認識されてしまう
+\item \verb+hwid+ featureによって「ヒ」が半角幅のグリフ「ヒ」と置き換わる(\Pkg{luaotfload} による処理).
+\item JFMによれば,この「ヒ」のグリフの文字クラスは2000である.
+\item 以上により文字クラス2000とみなされるため,結果として「ヒ」の幅は半角だと認識される
 \end{enumerate}
 この例は,\emph{文字クラスの決定はfont featureの適用によるグリフ置換の後に行われる}ことを
 示している.
 %</ja>
 
 %<*en>
-However, a starred specification like ``\texttt{'、*'}'' changes the rule.
+However, ...
 Consider the following input:
 %</en>
 %<*ja>
-但し,「\texttt{'、*'}」のようにアスタリスクつきの指定があると
+但し,JFMによって決まる置換後のグリフの文字クラスが0である場合は
 状況は異なる.
 %</ja>
 \begin{LTXexample}[width=0.3\textwidth]
 \jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+vert
-\a æ¼¢ã\80\81\inhibitglue 漢
+\a æ¼¢ã\80\82\inhibitglue 漢
 \end{LTXexample}
 %<*en>
-Here, the character class of the ideographic comma ``、''~(\texttt{U+3001}) is determined
+Here, the character class of the ideographic full stop ``。''~(\texttt{U+3002}) is determined
 as following:
 \begin{enumerate}
-\item As the case of ``ã\80\82'', the ideographic comma ``ã\80\81'' is converted to its vertical
-      form ``\char"FE11''~(\texttt{U+FE11}).%"
-\item The character class of ``\char"FE11'' is zero.
-\item However, \LuaTeX-ja remembers that this ``\char"FE11'' is obtained from ``、'' by
-      font features. The character class of ``ã\80\81'' is \emph{non-zero value}, namely, 2000.
-\item Hence the ideographic comma ``、'' in above belongs the character class~2000.
+\item As the case of ``ã\83\92'', the ideographic full stop ``ã\80\82'' is converted to its vertical
+      form ``\char"FE12''~(\texttt{U+FE12}).%"
+\item The character class of ``\char"FE12'' is \emph{zero}.
+\item However, \LuaTeX-ja remembers that this ``\char"FE12'' is obtained from ``。'' by
+      font features. The character class of ``ã\80\82'' is \emph{non-zero value}, namely, 2000.
+\item Hence the ideographic full stop ``。'' in above belongs the character class~2000.
 \end{enumerate}
 %</en>
 %<*ja>
-ここで,読点「、」(\texttt{U+3001})の文字クラスは,以下のようにして決まる.
+ここで,句点「。」(\texttt{U+3002})の文字クラスは,以下のようにして決まる.
 \begin{enumerate}
-\item とりあえず句点の時と同じように,\Pkg{luaotfload} によって縦組用読点のグリフに置き換わる.
-\item 置換後のグリフは \texttt{U+FE11} であり,そのままでは文字クラスは0と判定される.
-\item ã\81¨ã\81\93ã\82\8dã\81\8cï¼\8cJFMã\81«ã\81¯ã\80\8c\texttt{'ã\80\81*'}ã\80\8dæ\8c\87å®\9aã\81\8cã\81\82ã\82\8bã\81®ã\81§ï¼\8cç½®æ\8f\9bå\89\8dã\81®æ¨ªçµ\84ç\94¨èª­点のグリフによって文字クラスを判定する.
-\item 結果として,上の出力例中の点の文字クラスは2000となる.
+\item \Pkg{luaotfload} によって縦組用句点のグリフに置き換わる.
+\item 置換後のグリフは \texttt{U+FE12} であり,JFMに従えば文字クラスは\emph{0}と判定される.
+\item ã\81\93ã\81®å ´å\90\88ï¼\8cç½®æ\8f\9bå\89\8dã\81®æ¨ªçµ\84ç\94¨å\8f¥点のグリフによって文字クラスを判定する.
+\item 結果として,上の出力例中の点の文字クラスは2000となる.
 \end{enumerate}
 %</ja>
 
-%<*ja>
-なお,「\texttt{'\hbox{}ヒ*'}」のようにアスタリスクつきの指定があっても,
-置換後のグリフで判定した文字クラスの値が0でなければ,そちらをそのまま作用する.
-\begin{LTXexample}[width=0.3\textwidth]
-\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+hwid
-\a 漢ヒひ
-\end{LTXexample}
-上の例では,
-\texttt{hwid} featureにより,「ヒ」が半角の「ヒ」に置き換わるが,
-文字クラスは「ヒ」の属する0\emph{ではなく},「ヒ」の属する2000となる.
-%</ja>
 
 %<ja>\paragraph{仮想的な文字}
 %<en>\paragraph{Imaginary characters}
@@ -4533,7 +4574,7 @@ JFMで指定されているそれぞれの値をスケーリングしたもの
 間に入るものがkernであれば,このフィールドの値は\
 \texttt{[$j$]=\{false, <kern\_node>, <ratio>\}} である.
 <kern\_node>はkernを表すノードそのものである\footnote{%
-本バージョンでは利用可能ならばノードのアクセス手法にdirect access
+本バージョンではノードのアクセス手法にdirect access
       modelを用いている.そのため,例えば\LuaTeX\ beta-0.78.2では,単なる自然数のようにし
       か見えないことに注意.
 }.
@@ -4541,6 +4582,10 @@ glueであれば,\texttt{[$j$]=\{false, <spec\_node>, <ratio>, <icflag>\}} で
 <spec\_node>はglueの長さを表すノードそのものであり,
       $\text{<icflag>}=\textit{from\_jfm}+\text{<priority>}$である.
 \end{itemize}
+\item[ascent\textrm{, }descent]
+……
+\item[chars\_cbcache] 
+……
 \end{cslist}
 %</ja>
 
@@ -5207,7 +5252,9 @@ With the help of this example, we remark the specification of \cs{inhibitglue}:
       simply ignored.
 %</en>
 %<*ja>
-\item \cs{inhibitglue} の垂直モード中での呼び出しは意味を持たない.
+\item \emph{\cs{inhibitglue} の垂直モード中での呼び出しは意味を持たない}\footnote{%
+  この点は\TeX~Live~2014での\pTeX における \cs{inhibitglue} の仕様変更と同じである.
+}.
 4行目の入力で有効にならないのは,\cs{inhibitglue} の時点では垂直モードであり,
 \cs{noindent} の時点で水平モードになるからである.
 %</ja>
 \def\OB{$\text{\sf O}_{\text{\sf B}}$}
 \begin{defn}
 %<*en>
-A \emph{cluster} is a list of consecutive nodes in one of the following forms,
+A \emph{cluster} is consecutive nodes in one of the following forms,
 with the \textit{id} of it:
 %</en>
 %<*ja>
-\emph{クラスタ}は以下の形のうちのどれかひとつをとる連続的なノードのリストである:
+\emph{クラスタ}は以下の形のうちのどれかひとつをとるノードのリストである:
 %</ja>
 \begin{enumerate}
 %<*en>
 \item Nodes whose value of\ \verb+\ltj@icflag+ is in $[3,15)$.  These
       nodes come from a hbox which is already packaged, by unpackaging
       (\cs{unhbox}).
-      The \textit{id} is \textit{id\_pbox}.
+      The \textit{id} of the cluster is \textit{id\_pbox}.
 %</en>
 %<*ja>
 \item その \verb+\ltj@icflag+ の値が$[3,15)$に入るノードのリスト.
   これらのノードはある既にパッケージングされたhboxから \cs{unhbox} で
   アンパックされたものである.
-  ã\81\9dの\textit{id}は\textit{id\_pbox}である.
+  ã\81\93ã\81®å ´å\90\88ï¼\8cã\82¯ã\83©ã\82¹ã\82¿の\textit{id}は\textit{id\_pbox}である.
 %</ja>
 
 %<*en>
 \item A inline math formula, including two \textit{math\_node}s at the boundary of it.
-      The \textit{id} is \textit{id\_math}.
+      The \textit{id} of the cluster is \textit{id\_math}.
 %</en>
 %<*ja>
 \item インライン数式でその境界に2つの\textit{math\_node}を含むもの.
-  ã\81\9dの\textit{id}は\textit{id\_math}である.
+  ã\81\93ã\81®å ´å\90\88ï¼\8cã\82¯ã\83©ã\82¹ã\82¿の\textit{id}は\textit{id\_math}である.
 %</ja>
 
 %<*en>
-\item A \textit{glyph\_node}~$p$ with nodes which relate with it:
+\item A \textit{glyph\_node}~$p$, which represents a \textbf{JAchar}, with nodes which relate with it:
 %</en>
 %<*ja>
-\item \textit{glpyh\_node}~$p$とそれに関係するノード:
+\item \textbf{JAchar}を表す\textit{glyph\_node}~$p$とそれに関係するノード:
 %</ja>
 \begin{enumerate}
 %<*en>
-\item A kern for the italic correction of~$p$.
+\item[(a)] A kern for the italic correction of~$p$.
 %</en>
 %<*ja>
-\item $p$のイタリック補正のためのカーン.
+\item[(a)] $p$のイタリック補正のためのカーン.
 %</ja>
 
 %<*en>
-\item An accent attached to $p$ by \cs{accent}.
+\item[(b)] An accent attached to $p$ by \cs{accent}.
 %</en>
 %<*ja>
-\item \cs{accent} による$p$に付随したアクセント.
+\item[(b)] \cs{accent} による$p$に付随したアクセント.
 %</ja>
 \end{enumerate}
 \[
@@ -7384,41 +7431,51 @@ with the \textit{id} of it:
 \]
 
 %<*en>
-The \textit{id} is \textit{id\_jglyph} or
-\textit{id\_glyph}, according to whether the \textit{glyph\_node}
-represents a Japanese character or not.
+In this case, the \textit{id} is \textit{id\_jglyph}.
 %</en>
 %<*ja>
-\textit{id}は\textit{glyph\_node}が和文文字を表すかどうかによって
-\textit{id\_jglyph},もしくは\textit{id\_glyph}となる.
+この場合の\textit{id}は\textit{id\_jglyph}である.
+%</ja>
+
+%<*en>
+\item A list which begins from a \textit{glyph\_node} which represents a \textbf{ALchar},
+      and consists of \textbf{ALchar} \textit{glyph\_node}s,
+      kerns for adjusting accents~(its subtype is 2), kerns for italic corrections and
+      kerns which are automatically inserted by \LuaTeX~or~luaotfload.
+      In this case, the \textit{id} is \textit{id\_glyph}.
+%</en>
+%<*ja>
+\item \textbf{ALchar}を表す\textit{glyph\_node},\cs{accent} によるアクセント位置補正用の
+      カーン(subtypeが2),そしてイタリック補正・カーニングによって挿入されたカーン達が連続
+      したもの.この場合の\textit{id}は\textit{id\_glyph}である.
 %</ja>
 
 %<*en>
 \item An box-like node, that is, an hbox, a vbox, a rule (\cs{vrule}) and an \textit{unset\_node}.
-The \textit{id} is \textit{id\_hlist} if the node is an
+The \textit{id} of the cluster is \textit{id\_hlist} if the node is an
       hbox which is not shifted vertically, or \textit{id\_box\_like}
       otherwise.
 %</en>
 %<*ja>
-\item ボックス様のノード,つまり水平ボックス,垂直ボックス,罫線 (\cs{vrule}),
+\item 水平ボックス(hbox),垂直ボックス,罫線 (\cs{vrule}),
   そして\textit{unset\_node}.
-  ã\81\9dの\textit{id}は垂直に移動していないhboxならば\textit{id\_hlist},
+  ã\82¯ã\83©ã\82¹ã\82¿の\textit{id}は垂直に移動していないhboxならば\textit{id\_hlist},
   そうでなければ\textit{id\_box\_like}となる.
 %</ja>
 
 %<*en>
 \item A glue, a kern whose subtype is not 2~(\textit{accent}), and a discretionary break.
-The \textit{id} is \textit{id\_glue}, \textit{id\_kern}
+The \textit{id} of the cluster is \textit{id\_glue}, \textit{id\_kern}
       and \textit{id\_disc}, respectively.
 %</en>
 %<*ja>
-\item グルー,subtypeが 2~(\textit{accent})ではないカーン,そして任意改行
-  その\textit{id}はそれぞれ\textit{id\_glue}, \textit{id\_kern},そして
+\item グルー,subtypeが 2~(\textit{accent})ではないカーン,そしてdiscretionary break
+  その\textit{id} of the clusterはそれぞれ\textit{id\_glue}, \textit{id\_kern},そして
   \textit{id\_disc}である.
 %</ja>
 \end{enumerate}
 %<*en>
-Let \textit{Np}, \textit{Nq} and \textit{Nr} denote a cluster.
+We use \textit{Np}, \textit{Nq} and \textit{Nr} to denote a cluster.
 %</en>
 %<*ja>
 以下では\textit{Np}, \textit{Nq}, \textit{Nr}でクラスタを表す.
@@ -7454,6 +7511,7 @@ $\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$は,その和文文字
 \item[\textit{id\_hlist}] 縦方向にシフトされていないhbox.\\
 この場合,$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$はそれぞれ$p$の内容を表すリストの,
 先頭・末尾のノードである.
+\medskip
 \begin{itemize}
 \item 状況によっては,\TeX ソースで言うと
 \begin{lstlisting}
@@ -7891,30 +7949,6 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 そのため,「右空白」がglueであれば,その直前に \cs{penalty10000} を挿入する.
 \end{description}
 
-なお,「右空白」はカーンの%,「左空白」は未定義の
-\[
- \overbrace{\Node{glyph}{`あ'}}^{\mathit{Nq}}\longrightarrow \overbrace{\Node{glue}{1\,pt}}^{\mathit{Np}}
-\]
-のような状況を考える.
-このとき,$a$,即ち「あ」の\Param{postbreakpenalty}がいかなる値であっても,
-この2クラスタ間は最終的に
-\begin{equation}
- \overbrace{\Node{glyph}{`あ'}}^{\mathit{Nq}}\longrightarrow
-\Node{kern}{右空白}\longrightarrow \overbrace{\Node{glue}{1\,pt}}^{\mathit{Np}}
-\label{eq-gref}
-\end{equation}
-となり,$a$分のペナルティは挿入されないことに注意して欲しい.
-\Param{postbreakpenalty}は($a$は)殆どの場合が非負の値と考えられ,そのような場合では
-\eqref{eq-gref}と
-\[
- \overbrace{\Node{glyph}{`あ'}}^{\mathit{Nq}}\longrightarrow
-\Node{penalty}{$a$}\longrightarrow
-\Node{kern}{右空白}\longrightarrow \overbrace{\Node{glue}{1\,pt}}^{\mathit{Np}}
-\]
-との間に差異は生じない%
-\footnote{kern$\rightarrow$glueが1つの行分割可能点(行分割に伴うペナルティは0)
-であるため,たとえ$a=10000$であっても,\textit{Nq}と\textit{Np}の間で行分割を禁止することはできない.}.
-
 \paragraph{箱・グルー・カーンと和文Aの間}
 \textit{Np}が\textsf{箱}・グルー・カーンのいずれかで,\textit{Np}が\textsf{和文A}であった場合は,
 すぐ上の(\textit{Nq}と\textit{Np}の順序が逆になっている)場合と同じである.
@@ -7972,6 +8006,69 @@ $\mathit{Nq}.\mathit{tail}$は無意味なので,
 \end{itemize}
 %</ja>
 
+%<*ja>
+\section{ベースライン補正の方法}
+\subsection{\texttt{yoffset} フィールド}
+\Param{yalbaselineshift}等のベースライン補正は,基本的には対象となっている
+\textit{glyph\_node}の \texttt{yoffset} フィールドの値を増減することによって
+実装されている.なお,\texttt{yoffset} の値は上方向への移動量であるのに対し,
+\Param{yalbaselineshift}などは下方向への移動量である.
+
+さて,\texttt{yoffset} の増減によって見かけのグリフ位置は上下に移動するが,
+仮想ボディの高さ$h$,深さ$d$については
+\begin{description}
+\catcode`\<=12\catcode`\>=12
+ \item[$\texttt{yoffset}\geq 0$のとき] 
+$h = \max(\texttt{height} + \texttt{yoffset}, 0)$, 
+$d = \max(\texttt{depth} - \texttt{yoffset}, 0)$, 
+ \item[$\texttt{yoffset}<0$のとき] 
+$h = \max(\texttt{height} + \texttt{yoffset}, 0)$, $d=\texttt{depth}$.
+\end{description}
+という仕様になっている.つまり,\texttt{yoffset} が負(グリフを下ける)の場合に深さは増加しな
+い(表\ref{tab:yoffset_and_im}参照).
+
+\begin{table}[t]
+\caption{\texttt{yoffset} and imaginary body}
+\label{tab:yoffset_and_im}
+\centering\small
+\fboxsep0pt
+\def\T#1#2{\fcolorbox{blue}{white}{%
+  \setbox0=\hbox{\LARGE #1%
+    \directlua{
+      local p = tex.nest[tex.nest.ptr].tail
+      p.yoffset = #2 * 65536
+    }%
+  }%
+  \copy0\kern-\wd0\smash{\color{red}\vrule width \wd0 height 0.2pt depth 0.2pt}%
+}}
+\begin{tabular}{>{\bfseries}lccccc}
+\toprule
+\texttt{yoffset}&10\,pt&5\,pt&0&$-5$\,pt&$-10$\,pt\\
+\midrule
+仮想ボディ&\T{y}{10}, \T{H}{10}&\T{y}{5}, \T{H}{5}&\T{y}{0}, \T{H}{0}%
+&\T{y}{-5}, \T{H}{-5}&\T{y}{-10}, \T{H}{-10}\\[10pt]
+\bottomrule
+\end{tabular}
+\end{table}
+
+\subsection{\textbf{ALchar}の補正}
+上記の問題について,\textbf{ALchar}のベースライン補正では
+「正しい深さ」を持った罫線(rule)を補うという対応策をとった.
+この罫線による補正は,\textit{id}が\textit{id\_glyph}であるクラスタ単位,
+大雑把に言えば音節単位で行われる.
+文字列``Typeset''を
+\begin{itemize}
+ \item フォントはLatin Modern Roman (\texttt{lmroman10-regular.otf}) 10\,pt
+ \item \Param{yalbaselineshift}は5\,pt
+\end{itemize}
+という状況で組んだ場合を例にとって説明しよう.
+
+\LuaTeX・\Pkg{luaotfload}によるカーニング・ハイフネーションが終わった段階では,
+
+
+
+%</ja>
+
 %<en>\section{Patch for the \Pkg{listings} Package}
 %<ja>\section{\Pkg{listings} パッケージへの対応}
 
@@ -8510,8 +8607,9 @@ CMapが必要である.
 非埋め込みの中国語・韓国語フォントを定義する場合,同様のキャッシュが生成される.
 キャッシュの名称,必要となるCMapについては表\ref{tab:cid-cache}を参照して欲しい.
 
-\item[ivs\_***.lua]
-フォント``\texttt{***}''における異体字情報を格納している.構造は以下の通り:
+\item[extra\_***.lua]
+フォント``\texttt{***}''における異体字セレクタの情報,縦組用字形への変換テーブル,そして
+縦組時における幅を格納している.構造は以下の通り:
 %</ja>
 %<*en>
 \subsection{Use of Cache}
@@ -8530,9 +8628,15 @@ if you specified \texttt{cid} key in \cs{jfont}
 to use other CID-keyed non-embedded fonts for Chinese or Korean,
 as in Page~\pageref{para-cid}.
 
-\item[ivs\_***.lua]
-This file stores the table of Unicode variants in a font ``\texttt{***}''.
-The structure of the table is the following:
+\item[extra\_***.lua]
+This file stores the table which stores the following.
+\begin{itemize}
+ \item unicode variants in a font ``\texttt{***}''
+ \item vertical width of glyphs, if it is not equal to the sum of 
+the height of ascender and the depth of descender
+ \item vertical variants
+\end{itemize}
+The following is the structure of the that table.
 %</en>
 
 \begin{table}[!tb]
@@ -8558,16 +8662,18 @@ return {
  {
   [10955]={    -- U+2ACB "Subset Of Above Not Equal To"
    [65024]=983879, -- <2ACB FE00>
+   ["vwidth"]=0.98, -- vertical width
   },
   [37001]={    -- U+9089 "邉"
    [0]=37001,  --   <9089 E0100>
    991049,     --   <9089 E0101>
    ...
+   ["vert"]=995025, -- vertical variant
   },
   ...
  },
  ["chksum"]="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", -- checksum of the fontfile
- ["version"]=4, -- version of the cache
+ ["version"]=2, -- version of the cache
 }
 \end{lstlisting}
 %<*ja>
@@ -8682,8 +8788,13 @@ callbackに処理が回らない.そこで,\LuaTeX-ja では,\cs{everyhbox
        \cs{vbadness} を一時的に10000に変更し,hpack, vpack後に元の値に戻す」処理を行ってい
        る.
 }.
- \item \cs{vsplit}によってvboxを分割した時の「残り」.
+ \item \cs{vsplit}によってvboxを分割した時の「残り」の先頭
  \item \LuaTeX-ja読み込み前に作成したボックスの寸法を \cs{ltjsetwd} 等によって変更した時.
+ \item \cs{insert} によるinsertionでは,中身の先頭に\textit{direction}~whatsitは作られず,
+その代わりに中身の各ボックス・罫線の直前に作られる\footnote{%
+ これは,ページ分割の過程でinsertionが分割される時,「現在のページで出力される部分」が空と
+       なることがあることによる.先頭にwhatsitを置くと,最悪でも「現在のページにwhatsitが
+       残る」ことになってしまう.}.
 \end{itemize}
 なお,\verb+\vtop{...}+ の場合は,先頭にdirection whatsitを置くと
 ボックスの高さが常に0\,ptになるという問題が発生する.そのため,この場合に限っては
@@ -8897,29 +9008,6 @@ ISO 32000-1:2008, \textit{Document management -- Portable document format -- Par
 \url{http://www.iso.org/iso/iso\_catalogue/catalogue_tc/catalogue\_detail.htm?csnumber=51502}
 \end{thebibliography}
 
-\newpage
-\appendix
-
-\section{Package versions used in this document}
-This document was typeset using the following packages:
-
-\medskip
-
-{\makeatletter\tt\footnotesize
-  \def\@pkglist#1{%
-    \filename@parse{#1}\def\@temp{sty}
-    \ifx\@temp\filename@ext
-      \edef\reserved@a{%
-        \filename@base.%
-        \ifx\filename@ext\relax tex\else\filename@ext\fi}%
-      \leavevmode\hskip-13em\hbox to 13em{\filename@area\reserved@a\hss}%
-      \csname ver@\reserved@a\endcsname\par
-    \fi
-  }%
-\parindent0pt\leftskip13em
-\ltjpkglist
-
-\makeatother}
 \end{document}
 %</!showexpl>
 %<*showexpl>