+\subsection{その他の場合}
+本節の内容は表\ref{tab-jfmglue}にまとめてある.
+
+\paragraph{和文Aと欧文の間}
+\textit{Nq}が\textsf{和文A}で,\textit{Np}が\textsf{欧文}の場合,JFMグルー挿入処理は次のようにして行われる.
+\begin{itemize}
+\item 「右空白」については,まず以下に述べる\textsf{Boundary-B~[\OB]}により空白を決定しようと試みる.
+それが失敗した場合は,\textsf{\Param{xkanjiskip}~[X]}によって定める.
+\item 「左空白」については,既に述べた\textsf{line-end~[E]}をそのまま採用する.それに伴う「右空白」の補正も同じ.
+\item 禁則用ペナルティも,以前述べた\textsf{P-normal~[PN]}と同じである.
+\end{itemize}
+\begin{description}
+\item[Boundary-B~{[\OB]}] 和文文字と「和文でないもの」との間に入る空白を以下によって求め,
+未定義でなければそれを「右空白」として採用する.
+\textsf{JFM-origin~[M]}の変種と考えて良い.
+これによって定まる空白の典型例は,和文の閉じ括弧と欧文文字の間に入る半角アキである.
+\begin{enumerate}
+\item もし両クラスタの間で\verb+\inhibitglue+が実行されていた場合(証としてwhatsitノードが自動挿入される),次へ.
+\item そうでなければ,
+\textit{Nq}と「文字コードが{\tt'jcharbdd'}の文字」との間に入るglue/kernとして定まる.
+\end{enumerate}
+\item[\Param{xkanjiskip}~{[X]}]
+この段階では,\textsf{\Param{kanjiskip}~[K]}のときと同じように,
+\Param{xkanjiskip}の値を以下で定め,それを「右空白」として採用する.
+この段階で\verb+\inhibitglue+は効力を持たないのも同じである.
+\begin{enumerate}
+\item 以下のいずれかの場合は,\Param{xkanjiskip}の挿入は抑止される.しかし,実際には行分割を許容するために,長さ0のglueを採用する:
+\begin{itemize}
+\item 両クラスタにおいて,それらの中身の文字コードに対する\Param{autoxspacing}パラメタが共にfalseである.
+\item \textit{Nq}の中身の文字コードについて,「直後への\Param{xkanjiskip}の挿入」が禁止されている
+(つまり,\Param{jaxspmode}~(or \Param{alxspmode})パラメタが2以上).
+\item \textit{Np}の中身の文字コードについて,「直前への\Param{xkanjiskip}の挿入」が禁止されている
+(つまり,\Param{jaxspmode}~(or \Param{alxspmode})パラメタが偶数).
+\end{itemize}
+\item ユーザ側から見た\Param{xkanjiskip}パラメタの自然長が${\tt \char92 maxdimen}=(2^{30}-1)\,{\rm sp}$で
+なければ,\Param{xkanjiskip}パラメタの値を持つglueを採用する.
+\item 2.でない場合は,\textit{Nq}, \textit{Np}(\textsf{和文A}/\textsf{和文B}なのは片方だけ)
+で使われているJFMに指定されている\Param{xkanjiskip}の値を用いる.
+\end{enumerate}
+\end{description}
+
+\paragraph{欧文と和文Aの間}
+\textit{Nq}が\textsf{欧文}で,\textit{Np}が\textsf{和文A}の場合,JFMグルー挿入処理は上の場合とほぼ同じである.
+\textsf{和文A}のクラスタが逆になるので,\textsf{Boundary-A~[\OA]}の部分が変わるだけ.
+\begin{itemize}
+\item 「右空白」については,まず以下に述べる\textsf{Boundary-A~[\OA]}により空白を決定しようと試みる.
+それが失敗した場合は,\textsf{\Param{xkanjiskip}~[X]}によって定める.
+\item \textit{Nq}が和文でないので,「左空白」は算出されない.
+\item 禁則用ペナルティは,以前述べた\textsf{P-normal~[PN]}と同じである.
+\end{itemize}
+\begin{description}
+\item[Boundary-A~{[\OA]}] 「和文でないもの」と和文文字との間に入る空白を以下によって求め,
+未定義でなければそれを「右空白」として採用する.
+\textsf{JFM-origin~[M]}の変種と考えて良い.
+これによって定まる空白の典型例は,欧文文字と和文の開き括弧との間に入る半角アキである.
+\begin{enumerate}
+\item もし両クラスタの間で\verb+\inhibitglue+が実行されていた場合(証としてwhatsitノードが自動挿入される),次へ.
+\item そうでなければ,
+「文字コードが{\tt'jcharbdd'}の文字」と\textit{Np}との間に入るglue/kernとして定まる.
+\end{enumerate}
+\end{description}
+
+\paragraph{和文Aと箱・glue・kernの間}
+\textit{Nq}が\textsf{和文A}で,\textit{Np}が\textsf{箱}・glue・kernのいずれかであった場合,
+両者の間に挿入されるJFMグルーについては同じ処理である.しかし,そこでの行分割に対する仕様が異なるので,
+ペナルティの挿入処理は若干異なったものとなっている.
+
+\begin{itemize}
+\item 「右空白」については,既に述べた\textsf{Boundary-B~[\OB]}により空白を決定しようと試みる.
+それが失敗した場合は,「右空白」は挿入されない.
+\item 「左空白」については,既に述べた\textsf{line-end~[E]}の算出方法をそのまま採用する.それに伴う「右空白」の補正も同じ.
+\item 禁則用ペナルティの処理は,後ろのクラスタ\textit{Np}の種類によって異なる.
+なお,$\mathit{Np}.\mathit{head}$は無意味であるから,
+「$\mathit{Np}.\mathit{head}$に対する\Param{prebreakpenalty}の値」は0とみなされる.言い換えれば,
+\[
+ a:=(\text{\textit{Nq}{\footnotemark}の文字に対する\Param{postbreakpenalty}の値}).
+\]
+\begin{description}
+\item[箱] \textit{Np}が\textsf{箱}であった場合は,両クラスタの間での行分割は
+(明示的に両クラスタの間に\verb+\penalty10000+があった場合を除き)いつも許容される.そのため,
+ペナルティ処理は,後に述べる\textsf{P-allow~[PA]}が\textsf{P-normal~[PN]}の代わりに用いられる.
+\item[glue] \textit{Np}がglueの場合,ペナルティ処理は\textsf{P-normal~[PN]}を用いる.
+\item[kern] \textit{Np}がkernであった場合は,両クラスタの間での行分割は
+(明示的に両クラスタの間にペナルティがあった場合を除き)許容されない.
+ペナルティ処理は,後に述べる\textsf{P-suppress~[PS]}を使う.
+\end{description}
+これらの\textsf{P-normal~[PN]},\textsf{P-allow~[PA]},\textsf{P-suppress~[PS]}の違いは,
+\textit{Nq}と\textit{Np}の間(以前の図だと(a)の部分)にペナルティが存在しない場合にのみ存在する.
+\end{itemize}
+
+\begin{description}
+\item[P-allow~{[PA]}]
+\textit{Nq}と\textit{Np}の間の(a)部分にペナルティがあれば,\textsf{P-normal~[PN]}と同様に,
+それらの各ノードにおいてペナルティ値を$a$だけ増加させる.
+
+(a)部分にペナルティが存在していない場合,
+\LuaTeX-ja は\textit{Nq}と\textit{Np}の間の行分割を可能にしようとする.
+そのために,以下の場合に$a$をもつ\textit{penalty\_node}を作って
+「右空白」の(もし未定義なら\textit{Np}の)直前に挿入する:
+\begin{itemize}
+\item 「右空白」がglueでない(kernか未定義)であるとき.
+\item 「左空白」がkernとしてきっちり定義されている時.
+\end{itemize}
+
+\item[P-suppress~{[PS]}]
+\textit{Nq}と\textit{Np}の間の(a)部分にペナルティがあれば,\textsf{P-normal~[PN]}と同様に,
+それらの各ノードにおいてペナルティ値を$a$だけ増加させる.
+
+(a)部分にペナルティが存在していない場合,
+\textit{Nq}と\textit{Np}の間の行分割は元々不可能のはずだったのであるが,
+\LuaTeX-ja はそれをわざわざ行分割可能にはしない.
+そのため,「右空白」がglueであれば,その直前に\verb+\penalty10000+を挿入する.
+\end{description}
+
+なお,「右空白」はkern,「左空白」は未定義の
+\[
+ \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{箱・glue・kernと和文Aの間}
+\textit{Np}が\textsf{箱}・glue・kernのいずれかで,\textit{Np}が\textsf{和文A}であった場合は,
+すぐ上の(\textit{Nq}と\textit{Np}の順序が逆になっている)場合とほぼ同じであるが,「左空白」がなくなることにのみ注意.
+\begin{itemize}
+\item 「右空白」については,既に述べた\textsf{Boundary-A~[\OA]}により空白を決定しようと試みる.
+それが失敗した場合は,「右空白」は挿入されない.
+\item \textit{Nq}が和文でないので,「左空白」は算出されない.
+\item 禁則用ペナルティの処理は,\textit{Nq}の種類によって異なる.
+$\mathit{Nq}.\mathit{tail}$は無意味なので,
+\[
+ a:=(\text{\textit{Np}{\footnotemark}の文字に対する\Param{prebreakpenalty}の値}).
+\]
+\begin{description}
+\item[箱] \textit{Nq}が\textsf{箱}の場合は,\textsf{P-allow~[PA]}を用いる.
+\item[glue] \textit{Nq}がglueの場合は,\textsf{P-normal~[PN]}を用いる.
+\item[kern] \textit{Nq}がkernの場合は,\textsf{P-suppress~[PS]}を用いる.
+\end{description}
+\end{itemize}
+
+\paragraph{和文Aと和文Bの違い}
+先に述べたように,\textsf{和文B}はhboxの中身の先頭(or 末尾)として出現している
+和文文字である.リスト内に直接ノードとして現れている和文文字(\textsf{和文A})との違いは,
+\begin{itemize}
+\item \textsf{和文B}に対しては,JFMの文字クラス指定から定まる空白
+\textsf{JFM-origin~[M]},\textsf{Boundary-A~[\OA]},\textsf{Boundary-B~[\OB]})の挿入は行われない.
+「左空白」の算出も行われない.例えば,
+\begin{itemize}
+\item 片方が\textsf{和文A},もう片方が\textsf{和文B}のクラスタの場合,
+\textsf{Boundary-A~[\OA]}または\textsf{Boundary-B~[\OB]}の挿入を試み,それがダメなら
+\Param{kanjiskip}~\textsf{[K]}の挿入を行う.
+\item \textsf{和文B}の2つのクラスタの間には,\Param{kanjiskip}~\textsf{[K]}が自動的に入る.
+\end{itemize}
+\item \textsf{和文B}と箱・glue・kernが隣接したとき(どちらが前かは関係ない),間にJFMグルー・ペナルティの挿入は一切しない.
+\item \textsf{和文B}と\textsf{和文B},また\textsf{和文B}と\textsf{欧文}とが隣接した時は,禁則用ペナルティ挿入処理は
+\textsf{P-suppress~[PS]}が用いられる.
+\item \textsf{和文B}の文字に対する\Param{prebreakpenalty},~\Param{postbreakpenalty}の値は使われず,0として計算される.
+\end{itemize}
+
+
+次が具体例である:
+\begin{LTXexample}
+あ.\inhibitglue A\\
+\hbox{あ.}A\\
+あ.A
+\end{LTXexample}
+\begin{itemize}
+\item 1行目の\verb+\inhibitglue+は\textsf{Boundary-B~[\OB]}の処理のみを抑止するので,ピリオドと「A」の間には
+\Param{xkanjiskip}(四分アキ)が入ることに注意.
+\item 2行目のピリオドと「A」の間においては,前者が\textsf{和文B}となる(hboxの中身の末尾として登場しているから)ので,
+そもそも\textsf{Boundary-B~[\OB]}の処理は行われない.よって,\Param{xkanjiskip}が入ることとなる.
+\item 3行目では,ピリオドの属するクラスタは\textsf{和文A}である.これによって,
+ピリオドと「A」の間には\textsf{Boundary-B~[\OB]}由来の半角アキが入ることになる.
+\end{itemize}