OSDN Git Service

updated documents (not typeset; so there may be meny typos)
[luatex-ja/luatexja.git] / doc / luatexja.dtx
index 7c27d29..280ccb3 100644 (file)
 \IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
 
 %<en>\documentclass[a4paper,titlepage]{article}
-%<ja>\documentclass[a4paper,titlepage]{ltjsarticle}
+%<ja>\documentclass[a4paper,10ptj,titlepage]{ltjsarticle}
 
 %%%%%%%%
 \makeatletter
 %%%%%%%%
 \def\pgfsysdriver{pgfsys-pdftex.def}
-\directlua{if jit then jit.on() end}
-\usepackage{metalogo,amsmath,array,tikz,pict2e,multienum,float}
+\usepackage{metalogo,amsmath,array,tikz,pict2e,multienum,float,mathtools}
 \usepackage{booktabs,multicol,luatexja-ruby}
 \usepackage[all]{xy}
 \usepackage{lltjext,alltt,comment}
 
-%%%%%%%% Lua GC
-\patchcmd\@outputpage{\stepcounter{page}}{%
-  \directlua{%
-       if jit then
-      local k = collectgarbage("count")
-      if k>900000 then 
-        collectgarbage("collect")
-        texio.write_nl("term and log", "GC: ", math.floor(k), math.floor(collectgarbage("count")))
-      end
-       end
-  }%
-  \stepcounter{page}%
-}{}{}
-
 %%%%%%%% fonts
 \usepackage{luatexja-otf}
 \usepackage[no-math]{fontspec}
-\setmainfont[Ligatures=TeX]{Linux Libertine O}
-\setmonofont[Scale=MatchLowercase, ItalicFont=lmmono10-italic.otf,
-  BoldFont=lmmonolt10-bold.otf, BoldItalicFont=lmmonolt10-boldoblique.otf
-]{lmmono10-regular.otf}
-\setsansfont[Scale=MatchLowercase,Ligatures=TeX]{Linux Biolinum O}
+\setmainfont[Ligatures=TeX,RawFeature=-notdef]{Linux Libertine O}
+\setmonofont[RawFeature=-notdef, Ligatures=CommonOff, CharacterVariant={31,45,61,36},
+%<en>  Scale=0.8132073118633364, FakeStretch=1.183236,
+%<ja>  Scale=MatchLowercase, FakeStretch=1.137121,
+  ItalicFont=iosevka-slab-oblique,
+  BoldFont=iosevka-slab-bold, BoldItalicFont=iosevka-slab-bolditalic,
+]{iosevka-slab-regular}
+\setsansfont[Scale=MatchLowercase,Ligatures=TeX,RawFeature=-notdef]{Linux Biolinum O}
 \usepackage[match]{luatexja-fontspec}
 \usepackage[kozuka-pr6n]{luatexja-preset}
 \usepackage{unicode-math}
 \setmonojfont{KozGoPr6N-Regular.otf}
-\setmathfont[Scale=MatchLowercase]{xits-math.otf}
+\setmathfont[Scale=MatchLowercase]{XITSMath}
 
 \setLaTeXa{\scshape a}
 %<*ja>
@@ -68,9 +56,9 @@
     {\normalfont\normalsize\bfseries\raisebox{.2ex}{$\mdlgblksquare\mkern1mu$}}}
 %</en>
 %<*ja>
-\usepackage[textwidth=45\zw, lines=45, footskip=6mm]{geometry}
+\usepackage[textwidth=44\zw, lines=41, footskip=6mm]{geometry}
 \usepackage{luatexja-adjust}%\ltjdisableadjust
-\advance\leftmargini-1\zw\advance\leftmarginii-1\zw
+\advance\leftmargini-1\zw
 %</ja>
 %<en>\long\def\fakefn#1#2{\par\noindent{\footnotesize\hbox to1.8em{\hss#1}#2\par}}
 %<*ja>
 
 \def\IVS#1{\char\numexpr "E0100+#1\relax}%"
 \def\IVSA#1#2#3#4#5{%
-  \textcolor{blue}{\raisebox{3.5pt}{\tt%
-    \fboxsep=0.5pt\fbox{\tiny \oalign{0#1#2\crcr#3#4#5\crcr}}}}%
+  \hbox to1em{\hss\textcolor{blue}{\raisebox{3.5pt}{\normalfont\ttfamily%
+    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{0#1#2\crcr#3#4#5\crcr}\hss}}}}\hss}%
 }
 {\catcode`\%=11
   \gdef\IVSB#1{\expandafter\IVSA\directlua{
     local cat_str = luatexbase.catcodetables['string']
     tex.sprint(cat_str, string.format('%X', 0xE00EF+#1))
 }}}
+\def\UCSA#1#2#3#4{%
+  \hbox to1em{\hss\textcolor{blue}{\raisebox{3.5pt}{\normalfont\ttfamily%
+    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{#1#2\crcr#3#4\crcr}\hss}}}}\hss}%
+}
+\def\UCSB#1#2{%
+  \hbox to1em{\hss\textcolor{red}{\raisebox{3.5pt}{\normalfont\ttfamily%
+    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{\hss#1\hss\crcr\hss#2\hss\crcr}\hss}}}}\hss}%
+}
 
 \usepackage{listings,showexpl,enumitem}
 \lstset{
   basicstyle=\ttfamily\small, pos=r, breaklines=true,
   numbers=none, rframe={}, basewidth=0.5em, numberstyle=\tiny, numbersep=0.5em,
-  explpreset={numberstyle=\tiny, numbers=left, numbersep=1em, columns=fixed}
+  explpreset={numberstyle=\tiny, numbers=left, numbersep=1em, columns=fixed},
+  morecomment=[l]{\%}, commentstyle=\color{green},
 }
 % Suppress output from showexpl to stdout.
 \makeatletter
        pdftitle={LuaTeX-jaパッケージ}
 %</ja>
 }
+\usepackage{bxghost}
 %<*ja>
 \def\HyRef@autoref#1#2{%
   \begingroup
     \Hy@safe@activestrue
     \expandafter\HyRef@autosetref\csname r@#2\endcsname{#2}{#1}%
-  \endgroup\ltjalchar"200C %" 欧文ゴースト
+  \endgroup\eghostguarded{}%" 欧文ゴースト
 }
 \def\figureautorefname{図}
 \def\tableautorefname{表}
 %%%%%%%% other macros
 \newlist{cslist}{description}{2}
 \setlist[cslist]{%
-    style=nextline,font=\mdseries\ttfamily,
+    style=nextline,font=\bfseries\ttfamily,
     before*=\def\<{\char`\<}\def\>{\char`\>}\def\{{\char`\{}\def\}{\char`\}},
     topsep=\medskipamount,
 %<ja> leftmargin=2\zw,
 
 \def\_{\leavevmode \kern .06em\vbox {\hrule \@width .333em}}
 \def\cs#1{\texttt{\upshape
-  \texorpdfstring{\textbackslash\hbox{\ltjsetparameter{autoxspacing=false}#1}}{\textbackslash#1}}}
+  \texorpdfstring{\hbox{\ltjsetparameter{autoxspacing=false}\textbackslash#1}}{\textbackslash#1}}}
 \ltjsetparameter{alxspmode={`\\,allow}}
+\def\text@#1{%
+  \ifnum\mathstyle<\scriptstyle
+       \mbox{#1}
+  \else\ifnum\mathstyle<\scriptscriptstyle
+       \mbox{\let\f@size\sf@size\selectfont#1}
+  \else
+       \mbox{\let\f@size\ssf@size\selectfont#1}
+  \fi\fi
+}
 %%%%%%%%
 \makeatother
 %%%%%%%%
   }}}}}\,}
 
 \makeatletter
-\def\myghost{\ifmmode\else\ltjalchar"200C \fi}
 \def\Param#1{\texorpdfstring{\@Param{#1}}{#1}} % parameter name
-\protected\def\@Param#1{\myghost\hyperlink{fld:#1}{\underline{\smash{\textsf{#1}}}}\myghost}
-\protected\def\DParam#1{\myghost\hypertarget{fld:#1}{\underline{\smash{\textsf{#1}}}}\myghost} % parameter name (definition)
+\protected\def\@Param#1{\eghostguarded{\hyperlink{fld:#1}{\underline{\smash{\textsf{#1}}}}}}
+\protected\def\DParam#1{\eghostguarded{\hypertarget{fld:#1}{\underline{\smash{\textsf{#1}}}}}} % parameter name (definition)
 \def\Pkg#1{\texorpdfstring{\textsf{#1}}{#1}} % packages/classes
-\ltjsetparameter{alxspmode={"200C,allow}}
 
 \begin{document}
 \lstset{
@@ -287,7 +292,7 @@ extent, but gaps still exist.
 外部UTF-8入力が利用可能となり,さらにUnicode化を推進し,\pTeX の内部処理
 までUnicode化した\upTeX も開発されている.また,\pTeX に\eTeX 拡張をマー
 ジした\epTeX も登場し,\TeX\ Live\ 2011では\pLaTeX が\epTeX の上で動作す
-るようになった.だが,\pdfTeX 拡張(PDF直接出力やmicro-typesetting)を
+るようになった.だが,\pdfTeX 拡張の主要部分(PDF直接出力やmicro-typesetting)を
 \pTeX に対応させようという動きはなく,海外とのgapは未だにあるのが現状であ
 る.
 %</ja>
@@ -347,30 +352,37 @@ For more detailed information, see Part~\ref{part-imp} or other sections of this
 %<*ja>
 \paragraph{命令の名称} 例えば\pTeX で追加された次のようなプリミティブ
 %</ja>
-\begin{verbatim}
+\begin{lstlisting}
 \kanjiskip=10pt  \dimen0=kanjiskip
 \tbaselineshift=0.1zw
 \dimen0=\tbaselineshift
 \prebreakpenalty`ぁ=100
 \ifydir ... \fi
-\end{verbatim}
+\end{lstlisting}
 %<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}
+\begin{lstlisting}
 \ltjsetparameter{kanjiskip=10pt}  \dimen0=\ltjgetparameter{kanjiskip}
 \ltjsetparameter{talbaselineshift=0.1\zw}
 \dimen0=\ltjgetparameter{talbaselineshift}
 \ltjsetparameter{prebreakpenalty={`ぁ,100}}
-\ifnum\ltjgetparemeter{direction}=4 ... \fi
-\end{verbatim}
+\ifnum\ltjgetparameter{direction}=4 ... \fi
+\end{lstlisting}
 %<*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, \emph{they are changed to \cs{zw}~and~\cs{zh} respectively} in \LuaTeX-ja.%
+\footnote{\LuaTeX-ja 20200127.0 introduces \cs{ltj@zw}~and~\cs{ltj@zh}, which are copy of
+  \cs{zw}~and~\cs{zh}.}
 %</en>
 %<*ja>
-特に注意してほしいのは,\pTeX で追加された \texttt{zw} と \texttt{zh} という単位は
-\LuaTeX-ja では使用できず,\cs{zw}, \cs{zh} と制御綴の形にしないといけないという点である.
+特に注意してほしいのは,\pTeX で追加された\texttt{zw}と\texttt{zh}という単位は
+\LuaTeX-ja では使用できず,\emph{\cs{zw}, \cs{zh} と制御綴の形にしないといけない}という点である
+\footnote{%
+  別のパッケージやユーザが\cs{zw},~\cs{zh}を書き換えてしまうことに対応するため,
+  \LuaTeX-ja 20200127.0以降では,\cs{ltj@zw},~\cs{ltj@zh}がそれぞれ\cs{zw},~\cs{zh}の
+  コピーとして定義されている.
+}.
 %</ja>
 
 %<*en>
@@ -493,8 +505,6 @@ By default, \LuaTeX-ja uses Japanese fonts to typeset Greek and Cyrillic letters
 
 From version~20150906.0, characters which belongs both ISO~8859-1 and JIS~X~0208,
 such as \P~and~\S, are now typeset in alphabetic fonts.
-If you are using \LaTeXe\ prior to 2017/01/01, these characters are not typeset correctly
-without the \cs{fontspec} (and~\Pkg{luatexja-fontspec}) package.
 %</en>
 %<*ja>
 \paragraph{ギリシャ文字・キリル文字とISO~8859-1の記号}
@@ -511,9 +521,7 @@ without the \cs{fontspec} (and~\Pkg{luatexja-fontspec}) package.
 また,\P,~\S といったISO~8859-1の上位領域とJIS~X~0208の共通部分の文字は
       バージョン20150906.0から標準で欧文扱いとなった.\LaTeXe\ 2017/01/01以降では
 標準でTUエンコーディングのLatin Modernフォントが使われるので,
-特に何もせずソース中にそのまま記述してもこれらの文字が出力される
-\footnote{\LaTeXe\ 2017/01/01より前では,ソース中に直接記述しても
-  \Pkg{fontspec}パッケージ(および\Pkg{luatexja-fontspec}パッケージ)非読み込みの状態では出力されない.}.
+特に何もせずソース中にそのまま記述してもこれらの文字が出力される.
 和文扱いで出力するには \verb+\ltjjachar`§+ のように \cs{ltjjachar} 命令
 を使えばよい.
 %</ja>
@@ -610,7 +618,7 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
 %<ja>本プロジェクトはOSDNのサービスを用いて運営されている.
 
 %<en>\paragraph{Members}\
-%<ja>\paragraph{開発メンバー}\
+%<ja>\clearpage\paragraph{開発メンバー}\
 
 %<*en>
 \begin{multienumerate}
@@ -631,41 +639,39 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
 
 % \paragraph{Acknowledgments} -- 挿入するならここ
 
-\clearpage
+%<en>\clearpage
 %<en>\section{Getting Started}
 %<ja>\section{使い方}
 %<en>\subsection{Installation}
 %<ja>\subsection{インストール}
-
+\label{ssec:install}
 %<en>The following packages are needed for the \LuaTeX-ja\ package.
 %<ja>\LuaTeX-jaパッケージの動作には次のパッケージ類が必要である.
 \begin{itemize}
-\item \LuaTeX\ 1.0.0 (or later)
-\item \Pkg{luaotfload} v2.6 (or later)
+\item \href{http://www.luatex.org/}{\LuaTeX}\ 1.07.0 (or later)
+\item recent \href{https://github.com/latex3/luaotfload}{\Pkg{luaotfload}} (v3.1 or later recommended)
 \item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
-\item \Pkg{etoolbox}, \Pkg{everysel} (if you want to use \LuaTeX-ja with \LaTeXe)
+\item \LaTeX\ 2020-02-02 patch level 5 or later (if you want to use \LuaTeX-ja with \LaTeXe)
+\item \href{https://github.com/josephwright/etoolbox/}{\Pkg{etoolbox}},
+  \Pkg{everysel} (if you want to use \LuaTeX-ja with \LaTeXe)
 \item \Pkg{ltxcmds}, \Pkg{pdftexcmds}, \Pkg{filehook}, \Pkg{atbegshi}
-\item \Pkg{fontspec} v2.5c (or later)
-%<en>\item \emph{IPAex fonts} (\url{http://ipafont.ipa.go.jp/})
-%<ja>\item \emph{IPAexフォント(\url{http://ipafont.ipa.go.jp/})}
+\item \href{https://github.com/wspr/fontspec/}{\Pkg{fontspec}} v2.7c (or later)
+%%% %<en>\item \emph{IPAex fonts} (\url{http://ipafont.ipa.go.jp/})
+%%% %<ja>\item \emph{IPAexフォント(\url{http://ipafont.ipa.go.jp/})}
+%<en>\item \emph{Harano Aji fonts} (\url{https://github.com/trueroad/HaranoAjiFonts})
+%<ja>\item \emph{原ノ味フォント(\url{https://github.com/trueroad/HaranoAjiFonts})}
 \end{itemize}
-%<en>In summary, \LuaTeX-ja version 20180825.0 (or~later) no longer supports \TeX~Live~2016.
-%<*ja>
-要約すると,バージョン20180825.0以降の\LuaTeX-jaは\TeX~Live~2016以前では動作しない\footnote{%
-  もっとも,自分で\LuaTeX のバイナリをSubversionリポジトリからビルドしていれば話は別である.
-}.
-%</ja>
 
 %<*en>
 Now \LuaTeX-ja is available from
 CTAN (in the \texttt{macros/luatex/generic/luatexja} directory), and
 the following distributions:
   \begin{itemize}
+  \item \href{https://www.tug.org/texlive/}{\TeX\ Live} (in \texttt{texmf-dist/tex/luatex/luatexja})
+  \item \href{http://w32tex.org/}{W32\TeX}\ (in \texttt{luatexja.tar.xz})
   \item MiK\TeX\ (in \texttt{luatexja.tar.lzma}); see the next subsection
-  \item \TeX\ Live (in \texttt{texmf-dist/tex/luatex/luatexja})
-  \item W32\TeX\ (in \texttt{luatexja.tar.xz})
   \end{itemize}
-IPAex fonts are also available in these distributions.
+Harano Aji fonts are available in \TeX~Live and MiK\TeX.
 %</en>
 %<*ja>
 現在,\LuaTeX-jaはCTAN (\texttt{macros/luatex/generic/luatexja})に収録されている他,
@@ -675,8 +681,28 @@ IPAex fonts are also available in these distributions.
   \item \TeX\ Live (\texttt{texmf-dist/tex/luatex/luatexja})
   \item W32\TeX\ (\texttt{luatexja.tar.xz})
   \end{itemize}
-これらのディストリビューションはIPAexフォントも収録している.
-W32\TeX においてはIPAexフォントは \texttt{luatexja.tar.xz} 内にある.
+\TeX Live, MiK\TeX は原ノ味フォントも収録している.
+%</ja>
+
+%<*en>
+\paragraph{Using \LuaTeX-ja with LuaHB\TeX}
+Using \LuaTeX-ja with LuaHB\TeX (\LuaTeX\ integrated with
+\href{https://github.com/harfbuzz/harfbuzz}{HarfBuzz}) is not well tested.
+Maybe documents can typeset without an error,
+but with unwanted results (especially, vertical typesetting and \cs{CID}).
+
+Especially,
+\emph{We don't recommend defining a Japanese font with HarfBuzz},
+by specifying \texttt{Renderer=Harfbuzz}~etc.\ (\Pkg{fontspec}) or~{mode=harf} (otherwise).
+%</en>
+%<*ja>
+\paragraph{LuaHB\TeX 下での\LuaTeX-jaの使用}
+現時点では,LuaHB\TeX 下での\LuaTeX-jaの使用は十分にテストされていない.
+エラーが発生せずにタイプセットできるかもしれないが,特に縦組時や
+\cs{CID}などで意図しない結果となりうる可能性が大きい.
+
+特に,\texttt{Renderer=Harfbuzz}等(\Pkg{fontspec})や\texttt{mode=harf}指定(それ以外)を用いて
+\emph{和文フォントに対してHarfBuzzを用いることは推奨しない}.
 %</ja>
 
 %<en>\paragraph{Manual installation}
@@ -688,7 +714,7 @@ W32\TeX においてはIPAexフォントは \texttt{luatexja.tar.xz} 内にあ
       At the present, \LuaTeX-ja has no \emph{stable} release.
 
 \begin{itemize}
-\item Clone the Git repository:
+\item Clone the Git repository by
 \begin{lstlisting}
 $ git clone git://git.osdn.jp/gitroot/luatex-ja/luatexja.git
 \end{lstlisting}
@@ -706,11 +732,11 @@ the forefront of development is not the \texttt{master} branch.
       開発版であって,安定版でないことに注意.
 
 \begin{itemize}
-\item Gitリポジトリをクローンする:
+\item Gitリポジトリを次のコマンドでクローンする:
 \begin{lstlisting}
 $ git clone git://git.osdn.jp/gitroot/luatex-ja/luatexja.git
 \end{lstlisting}
-\item \texttt{master} ã\83\96ã\83©ã\83³ã\83\81ã\81®ã\82¹ã\83\8aã\83\83ã\83\97ã\82·ã\83§ã\83\83ã\83\88ï¼\88\texttt{tar.gz} å½¢å¼\8fï¼\89ã\82\92ã\83\80ã\82¦ã\83³ã\83­ã\83¼ã\83\89ã\81\99ã\82\8bï¼\8e
+\item \texttt{master} ã\83\96ã\83©ã\83³ã\83\81ã\81®ã\82¹ã\83\8aã\83\83ã\83\97ã\82·ã\83§ã\83\83ã\83\88ï¼\88\texttt{tar.gz} å½¢å¼\8fï¼\89ã\82\92ã\83\80ã\82¦ã\83³ã\83­ã\83¼ã\83\89ã\81\99ã\82\8bï¼\9a
 \begin{flushleft}
 \url{http://git.osdn.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
 \end{flushleft}
@@ -749,7 +775,7 @@ $ lualatex ltjltxdoc.ins
 $ luatex   ltj-kinsoku_make.tex
 \end{lstlisting}
 %<*en>
-\emph{Do not forget The last line (processing \texttt{ltj-kinsoku\_make.tex})}.
+\emph{Do not forget 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>
@@ -803,29 +829,12 @@ For changes from \pTeX, see Subsection~\ref{ssec:chgptex}.
       従来日本語の文字コードとして用いられてきたEUC-JPやShift-JISは使用できない.
 %</ja>
 %<*en>
-\item \LuaTeX-ja is very slower than \pTeX.
-  Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja
-  about 30\% faster than \LuaTeX, but not always%
-  \footnote{%
-    LuaJIT has several limitations such as 1\,GB~(or~2\,GB) memory limitation.
-       So typesetting a large source by LuaJIT\TeX may cause an ``out of memory'' error,
-       or failure of loading/saving font cache of \Pkg{luaotfload}.
-  }.
+\item \LuaTeX-ja is very slower than \pTeX, and uses a lot of memory.
 %</en>
 %<*ja>
 \item \LuaTeX-jaは動作が\pTeX に比べて非常に遅い.
-コードを調整して徐々に速くしているが,まだ満足できる速度ではない.
-LuaJIT\TeX を用いると\LuaTeX のだいたい1.3倍の速度で動くようであるが,
-IPA mj明朝などの大きいフォントを用いた場合には\LuaTeX よりも遅くなることもある
-  \footnote{%
-    LuaJITは1\,GB(あるいは2\,GB)のメモリ制限など,いくつかの制限事項があることが知られている.そのため,
-    大きいソースファイルをLuaJIT\TeX でタイプセットするとLuaの側で``out of memory''エラーが発生してしまう.
-    本ドキュメントのように,「各ページごとにLuaで使っているメモリ容量をチェックし,
-    必要なら\texttt{collectgarbage("collect")}でガベージコレクタを実行」すると
-    状況が多少改善されるかもしれない.
-       また,LuaJIT\TeX でIPA mj明朝などの「大きい」フォントを利用した場合はフォントキャッシュの保存に失敗し,
-       毎回フォントを読み込まなければならず結果的に時間がかかることがある.
-  }.
+  コードを調整して徐々に速くしているが,まだ満足できる速度ではない.
+  また,和文フォントを読み込むために多量のメモリを消費することにも注意が必要である.
 %</ja>
 
 \item%
@@ -865,6 +874,31 @@ and finally delete the temporary directory.
 コピーし,その中で\LuaTeX-jaの初回起動を行い,作業用ディレクトリを消す作業をしている.
 %</ja>
 
+\item
+%<*en>
+Note that when \LuaTeX-ja is loaded in plain \LuaTeX,
+we cannot use color specification on font loading, such as
+\begin{lstlisting}
+  \font\hoge=lmroman10-regular.otf:color=FF0000 % \font primitive
+  \DeclareFontShape{TU}{...}{...}{...}{<-> lmsans10-boldoblique:color=005599}{} % NFSS
+  \setmainfont{texgyretermes}[Color=220022]     % fontspec
+\end{lstlisting}
+This is because codes for shifting baseline in math mode (\LuaTeX-ja) collide with and prevents loading
+codes for font color (\Pkg{luaotfload}) in these environments.
+\emph{We recommend to use \LaTeX\ 2020-02-02 (or later)}, since we can avoid this collision in there.
+%</en>
+%<*ja>
+なお,\LuaTeX-jaをplain~\LuaTeX で用いる場合,
+以下のような\emph{フォント読み込み時の色指定}(\cs{textcolor}命令ではなく!)\emph{は利用できない}.
+\begin{lstlisting}
+  \font\hoge=lmroman10-regular.otf:color=FF0000 % \font primitive
+  \DeclareFontShape{TU}{...}{...}{...}{<-> lmsans10-boldoblique:color=005599}{} % NFSS
+  \setmainfont{texgyretermes}[Color=220022]     % fontspec
+\end{lstlisting}
+これは,\LuaTeX-jaによる数式内のベースライン補正(\ref{ssec:baseline}節)のコードが
+\Pkg{luaotfload}パッケージのフォント色処理のコードと衝突するためである.
+\LaTeX\ 2020-02-02以降では衝突回避のための仕組みが備わっているので.\emph{\LaTeX\ 2020-02-02以降での使用を勧める}.
+%</ja>
 \end{itemize}
 
 %<en>\subsection{Using in plain \TeX}
@@ -883,17 +917,17 @@ and finally delete the temporary directory.
 %<*en>
 \item The following 12~Japanese fonts are preloaded:
 \begin{center}\small
-\begin{tabular}{cccccc}
+\begin{tabular}{llllll}
 \toprule
 \textbf{direction}&
 \textbf{classification}&\textbf{font name}&\bfseries ``10\,pt''&\bfseries ``7\,pt''&\bfseries ``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}\\
+\emph{mincho}&HaranoAjiMincho-Regular&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
+&\emph{gothic}&HaranoAjiGothic-Medium&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
 \midrule
 \smash{\raisebox{-1ex}{\emph{tate} (vertical)}}&
-\emph{mincho}&IPAex Mincho&\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
-&\emph{gothic}&IPAex Gothic&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
+\emph{mincho}&HaranoAjiMincho-Regular&\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
+&\emph{gothic}&HaranoAjiGothic-Medium&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -901,28 +935,30 @@ and finally delete the temporary directory.
 %<*ja>
 \item 以下の12個の和文フォントが定義される:
 \begin{center}\small
-\begin{tabular}{cccccc}
+\begin{tabular}{llllll}
 \toprule
 \emph{組方向}&\emph{字体}&\emph{フォント名}&\bfseries``10\,pt''&\bfseries``7\,pt''&\bfseries``5\,pt''\\\midrule
-\smash{\raisebox{-1ex}{横組}}&
-明朝体&IPAex明朝&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
-&ゴシック体&IPAexゴシック&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
+\smash{\raisebox{-0.7\zh}{横組}}&
+明朝体&原ノ味明朝Regular&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
+&\textgt{ゴシック体}&原ノ味ゴシックMedium&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
 \midrule
-\smash{\raisebox{-1ex}{縦組}}&
-明朝体&IPAex明朝&\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
-&ゴシック体&IPAexゴシック&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
+\smash{\raisebox{-0.7\zh}{縦組}}&
+明朝体&原ノ味明朝Regular&\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
+&\textgt{ゴシック体}&原ノ味ゴシックMedium&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
 \bottomrule
 \end{tabular}
 \end{center}
 %</ja>
 \begin{itemize}
 %<*en>
-\item With \texttt{luatexja.cfg}, one can use other fonts
-as ``default'' Japanese fonts (Subsection~\ref{ssec:cfg}).
+\item The ``default'' Japanese fonts (and~JFMs for them) can be 
+  modified by defining \cs{ltj@stdmcfont} etc.\ \emph{before}
+  one inputs \texttt{luatexja.sty} (Subsection~\ref{ssec:cfg}).
 %</en>
 %<*ja>
-\item \texttt{luatexja.cfg} を用いることによって,標準和文フォントを
-IPAexフォントから別のフォントに置き換えることができる.\ref{ssec:cfg}節を参照.
+\item 標準和文フォントやJFMを原ノ味フォントから別のものに置き換えるには,
+  \cs{ltj@stdmcfont}等を\texttt{luatexja.sty}読み込み\emph{前}に定義すればよい.
+  \ref{ssec:cfg}節を参照.
 %</ja>
 
 %<*en>
@@ -970,11 +1006,11 @@ for Japanese, you only have to load \texttt{luatexja.sty}:
 \end{lstlisting}
 %<*en>
 It also does minimal settings (counterparts in \pLaTeX\ are \texttt{%
-plfonts.dtx} and \texttt{pldefs.ltx}):
+plfonts.dtx} and \texttt{pldefs.ltx}).
 %</en>
 %<*ja>
 これで\pLaTeX の\texttt{plfonts.dtx}と\texttt{pldefs.ltx}に相当する最低限の設定が
\81ªã\81\95ã\82\8cã\82\8bï¼\9a
\81ªã\81\95ã\82\8cã\82\8bï¼\8e
 %</ja>
 
 \begin{itemize}
@@ -994,81 +1030,98 @@ plfonts.dtx} and \texttt{pldefs.ltx}):
 \begin{center}\small
 \begin{tabular}{lllc}
 \toprule
-\textbf{classification}&&&\textbf{commands}\\\midrule
+\textbf{classification}&\textbf{commands}&&\textbf{family}\\\midrule
 \emph{mincho} (明朝体)&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\cs{mcdefault}\\
 \emph{gothic} (\textgt{ゴシック体})&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\cs{gtdefault}\\
+(Japanese counterpart for typewriter font)&---&---&\cs{jttdefault}\\
 \bottomrule
 \end{tabular}
 \end{center}
+  Here \cs{jttdefault} specifies the Japanese font family in \cs{verb}~or~\texttt{verbatim}
+  environment, and its default value is \cs{mcdefault} (mincho family).%
+  \footnote{%
+       When \Pkg{ltjsclasses} classes are used, or
+       \Pkg{luatexja-fontspec} (or \Pkg{luatexja-preset}) is loaded with \texttt{match} option,
+       \cs{ttfamily} changes the current Japanese font amily to \cs{jttdefault}.
+       These classes and packages also redefine \cs{jttdefault} to
+       \cs{gtdefault} (\emph{gothic}~family).
+  } \LuaTeX-ja does not define commands to only switch current Japanese font family to
+  \cs{jttdefault}.
+
 \item
 By default, the following fonts are used for these two families.
 \begin{center}\small
-\begin{tabular}{ccccc}
+\begin{tabular}{lllll}
 \toprule
-\textbf{classification}&\textbf{family}&\cs{mdseries}&\cs{bfseries}&\textbf{scale}\\\midrule
-\emph{mincho} (明朝体)&\tt mc&IPAex Mincho&IPAex Gothic&0.962216\\
-\emph{gothic} (\textgt{ゴシック体})&\tt gt&IPAex Gothic&IPAex Gothic&0.962216\\
+\textbf{classification}&\textbf{family}&\textbf{\cs{mdseries}}&\textbf{\cs{bfseries}}&\textbf{scale}\\\midrule
+\emph{mincho} (明朝体)&\texttt{mc}&HaranoAjiMincho-Regular&HaranoAjiGothic-Medium&0.962216\\
+\emph{gothic} (\textgt{ゴシック体})&\texttt{gt}&HaranoAjiGothic-Medium&HaranoAjiGothic-Medium&0.962216\\
 \bottomrule
 \end{tabular}
 \end{center}
-Note that the bold series (series \texttt{bx}~or~\texttt{b}) in both family
+\item Note that the bold series (series \texttt{bx}~or~\texttt{b}) in both family
      are same as the medium series of gothic family.
      There is no italic nor slanted shape for these \texttt{mc}~and~\texttt{gt}.
 %</en>
 %<*ja>
-\item \pLaTeX ã\81¨å\90\8cæ§\98ã\81«ï¼\8cæ¨\99æº\96ã\81§ã\81¯ã\80\8cæ\98\8eæ\9c\9dä½\93ã\80\8dã\80\8cã\82´ã\82·ã\83\83ã\82¯ä½\93ã\80\8dã\81®2種é¡\9eã\82\92ç\94¨ã\81\84ã\82\8bï¼\9a
+\item \pLaTeX ã\81¨å\90\8cæ§\98ã\81«ï¼\8cæ¨\99æº\96ã\81§ã\81¯ã\80\8cæ\98\8eæ\9c\9dä½\93ã\80\8dã\80\8cã\82´ã\82·ã\83\83ã\82¯ä½\93ã\80\8dã\81®2種é¡\9eã\82\92ç\94¨ã\81\84ã\82\8bï¼\8e
 \begin{center}\small
-\begin{tabular}{cllc}
+\begin{tabular}{llll}
 \toprule
-\emph{字体}&&&\emph{ファミリ名}\\\midrule
+\emph{字体}&\emph{命令}&&\emph{ファミリ名}\\\midrule
 明朝体&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\cs{mcdefault}\\
 \textgt{ゴシック体}&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\cs{gtdefault}\\
+(タイプライタ体と合わせる和文)&---&&\cs{jttdefault}\\
 \bottomrule
 \end{tabular}
 \end{center}
+  \cs{jttdefault}は\cs{verb}や\texttt{verbatim}環境中の和文文字に使われる和文フォントファミリであり,
+  標準値は\cs{mcdefault},つまり明朝体である
+  \footnote{%
+       \Pkg{ltjsclasses}を使用したり,また\Pkg{luatexja-fontspec}や\Pkg{luatexja-preset}パッケージを
+       \texttt{match}オプションを指定して読み込んだときは,単なる\cs{ttfamily}によっても和文フォントが
+       \cs{jttdefault}に変更される.また,これらのクラスファイルやパッケージは
+       \cs{jttdefault}を \cs{gtdefault}(ゴシック体)に再定義する.
+  }.和文フォントファミリ(のみ)を\cs{jttdefault}に切り替える命令は準備していない.
+
 \item 標準では,次のフォントが用いられる:
 \begin{center}\small
-\begin{tabular}{ccccc}
+\begin{tabular}{lllll}
 \toprule
-\emph{字体}&\emph{ファミリ}&\cs{mdseries}&\cs{bfseries}&\emph{スケール}\\\midrule
-明朝体&\tt mc&IPAex明朝&IPAexゴシック&0.962216\\
-ゴシック体&\tt gt&IPAexゴシック&IPAexゴシック&0.962216\\
+\emph{字体}&\emph{ファミリ}&\textbf{\cs{mdseries}}&\textbf{\cs{bfseries}}&\emph{スケール}\\\midrule
+明朝体&\texttt{mc}&原ノ味明朝Regular&原ノ味ゴシックMedium&0.962216\\
+\textgt{ゴシック体}&\texttt{gt}&原ノ味ゴシックMedium&原ノ味ゴシックMedium&0.962216\\
 \bottomrule
 \end{tabular}
 \end{center}
-どちらのファミリにおいても,太字(\cs{bfseries})のフォントは
+
+明朝・ゴシックどちらのファミリにおいても,太字(\cs{bfseries})のフォントは
 ゴシック体中字(\cs{gtfamily}\cs{mdseries})で使われるフォントと同じであることに注意.
 また,どちらのファミリでもイタリック体・スラント体は定義されない.
 
-  和文の太字を表すシリーズ名は,(元々のComputer Modernが
\item 和文の太字を表すシリーズ名は,(元々のComputer Modernが
   太字に\texttt{bx}を用いていたことから)伝統的に\texttt{bx}~(Bold Extended)が使われてきた.
   しかし,太字にシリーズ\texttt{b}を使うフォントも増えてきたため,
   バージョン20180616.0以降では和文の太字として\texttt{bx},~\texttt{b}の両方を扱えるようにした.
 %</ja>
 
-%<en>\item Japanese characters in math mode are typeset by the font family \texttt{mc}.
-%<ja>\item 数式モード中の和文文字は明朝体(\texttt{mc})で出力される.
 %<*en>
- \item \cs{jttdefault}%
-  \footnote{%
-       When \Pkg{ltjsclasses} classes are used, or
-       \Pkg{luatexja-fontspec} (or \Pkg{luatexja-preset}) is loaded with \texttt{match} option,
-       \cs{ttfamily} changes the current Japanese font amily to \cs{jttdefault}.
-       These classes and packages also redefine \cs{jttdefault} to
-       \cs{gtdefault} (\emph{gothic}~family).
-  } specifies the Japanese font family in \cs{verb}~or~\texttt{verbatim} environment.
-  The default value of \cs{jttdefault} is \cs{mcdefault}, so the mincho family is used.
+ \item From version~20181102.0, one can specifies \texttt{disablejfam} option at
+  loading \LuaTeX-ja. This option prevents loading a patch for \LaTeX, which are
+  needed to support Japanese characters in math mode.
+
+  Without \texttt{disablejfam} option, one can typeset Japanese characters in
+  math mode as~\verb+$あ$+ (see Page~\pageref{para:jachar_in_math}) as before.
+  Japanese characters in math mode are typeset by the font family \texttt{mc}.
 %</en>
 %<*ja>
- \item \cs{verb} や \texttt{verbatim} 環境中の和文文字に使われる和文フォントファミリは
-  \ \cs{jttdefault} で指定する%
-  \footnote{%
-       \Pkg{ltjsclasses}を使用したり,あるいは \texttt{match} オプションを指定して\Pkg{luatexja-fontspec}%
-       や\Pkg{luatexja-preset}パッケージを読み込んだときは,単なる \cs{ttfamily} によっても和文フォントが
-       \ \cs{jttdefault}\ に変更される.また,これらのクラスファイルやパッケージは
-       \ \cs{jttdefault}\ を \cs{gtdefault}(ゴシック体)に再定義する.
-  }.標準値は \cs{mcdefault},つまり明朝体として用いるのと
-  同じフォントファミリである.
+ \item バージョン20181102.0以降では,\texttt{disablejfam}オプションを\LuaTeX-ja読み込み時に
+  指定できるようになった.このオプションは,数式モード中に直に和文文字を書けるようにするための
+  \LaTeX へのパッチを読み込まない.
+
+  \texttt{disablejfam}のない状況では,以前と同様に和文文字を数式モード中に
+  直に書くことができる(但し\autoref{para:jachar_in_math}ページの記述も参照).
+  その際には明朝体(\texttt{mc})で出力される.
 %</ja>
 
 %<*en>
@@ -1102,7 +1155,7 @@ Note that the bold series (series \texttt{bx}~or~\texttt{b}) in both family
 However, above settings are not sufficient for Japanese-based
 documents. To typeset Japanese-based documents, you are better to use
 class files other than \texttt{article.cls}, \texttt{book.cls}, and so on.  At
-the present, we have the counterparts of \Pkg{jclasses} (standard
+the present, \LuaTeX-ja has the counterparts of \Pkg{jclasses} (standard
 classes in \pLaTeX) and \Pkg{jsclasses} (classes by Haruhiko
 Okumura), namely, \Pkg{ltjclasses}\footnote{%
   \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls},
@@ -1112,7 +1165,7 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{%
   \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls}, \texttt{ltjsreport.cls},~\texttt{ltjskiyou.cls}.}.
 
 Original \Pkg{jsclasses} use \cs{mag}~primitive to set the main document font size.
-However, \LuaTeX\ beta-0.87.0~or~later does not support \cs{mag} in PDF~output,
+However, \LuaTeX\ does not support \cs{mag} in PDF~output,
 so \Pkg{ltjsclasses} uses the \texttt{nomag*} option\footnote{Same effect as 
   the \Pkg{BXjscls} classes (by Takayuki Yato) and \Pkg{jsclasses}.
   However, these classes uses only \TeX\ code, but \Pkg{ltjsclasses} uses Lua code.}
@@ -1131,16 +1184,15 @@ so \Pkg{ltjsclasses} uses the \texttt{nomag*} option\footnote{Same effect as
 },
 \Pkg{ltjsclasses}\footnote{%
   \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls}, \texttt{ltjsreport.cls},~\texttt{ltjskiyou.cls}.}%
-がそれぞれ用意されている.
+がそれぞれ\LuaTeX-ja標準で用意されている.
 
 元々の\Pkg{jsclasses}では本文のフォントサイズを設定するのに\cs{mag}プリミティブが使われていたが,
-\LuaTeX~beta-0.87.0以降ではPDF出力時の\cs{mag}のサポートが廃止された.
+\LuaTeX ではPDF出力時の\cs{mag}のサポートが廃止された.
 そのため,\Pkg{ltjsclasses}では\texttt{nomag*}オプション
 \footnote{\Pkg{jsclasses}や,八登崇之氏による\Pkg{BXjscls}クラスにおける同名のオプションと
   同じ.上記クラスは\TeX コードのみで実装しているが,\Pkg{ltjsclasses}ではLuaコードも用いている.}が標準で
 有効になっており,これを使って本文フォントサイズの設定を行っている.
-しかし,この\texttt{nomag*}オプションでは(20180121.0版より前の版において\Pkg{unicode-math}パッケージ使用時に
-起きたように)予想外の意図しない現象に遭遇する危険がある.そのような場合は
+しかし,この\texttt{nomag*}オプションでは(バージョン20180121.0より前で\Pkg{unicode-math}パッケージ使用時に起きたように)予想外の意図しない現象に遭遇する危険がある.そのような場合は
 \cs{documentclass}において\texttt{nomag}オプションを指定してほしい.
 %</ja>
 
@@ -1241,20 +1293,32 @@ For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (
 %</ja>
 \begin{itemize}
 %<*en>
-\item Commands \cs{fontfamily}, \cs{fontseries}, and \cs{fontshape} can be used to change
-      attributes of Japanese fonts.
+\item \cs{fontfamily}, \cs{fontseries}, and~\cs{fontshape} try to change
+      attributes of Japanese fonts, as well as those of alphabetic fonts.
+      Of course, \cs{selectfont} is needed to select current text fonts.
+
+      \textbf{Remark in \LaTeX~2020-02-02 or later}:
+      \cs{fontshape} always changes current alphabetic font shape,
+      but it does \emph{not} change current Japanese font shape if
+      the target shape is unavailable for current Japanese encoding/family/series.
+      For the detail, see Subsection~\ref{ssec:nfsspat}.
 %</en>
 %<*ja>
-\item å\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\81®å±\9eæ\80§ã\82\92å¤\89æ\9b´ã\81\99ã\82\8bã\81«ã\81¯ï¼\8c\cs{fontfamily}, \cs{fontseries}, \cs{fontshape} ã\82\92使ç\94¨ã\81\99ã\82\8bï¼\8e
+\item \cs{fontfamily}, \cs{fontseries}, \cs{fontshape} ã\81¯æ¬§æ\96\87ã\83»å\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88両æ\96¹ã\81®å±\9eæ\80§ã\82\92å¤\89æ\9b´ã\81\97ã\82\88ã\81\86ã\81¨ã\81\99ã\82\8bï¼\8e
       もちろん,それらを実際に反映させるには手動で \cs{selectfont} を実行する必要がある.
+
+      \emph{\LaTeX\ 2020-02-02以降での注意}:
+      \cs{fontshape\{<shape>\}}は常に欧文フォントのシェイプを設定するが,
+      もしも現在の和文フォントファミリ・シリーズで要求されたシェイプが利用不能だった場合には,和文フォントのシェイプは変更しない.
+      詳細は\ref{ssec:nfsspat}節を参照すること.
 %</ja>
 
 %<*en>
 \begin{center}\small
-\begin{tabular}{cccccc}
+\begin{tabular}{>{\bfseries}llllll}
 \toprule
 &\textbf{encoding}&\textbf{family}&\textbf{series}&\textbf{shape}&\textbf{selection}\\\midrule
-alphabetic fonts
+Alphabetic fonts
 &\cs{romanencoding}&\cs{romanfamily}&\cs{romanseries}&\cs{romanshape}
 &\cs{useroman}\\
 Japanese fonts
@@ -1268,17 +1332,17 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 %</en>
 %<*ja>
 \begin{center}\small
-\begin{tabular}{cccccc}
+\begin{tabular}{llllll}
 \toprule
 &\emph{エンコーディング}&\emph{ファミリ}&\emph{シリーズ}&\emph{シェープ}&\emph{選択}\\\midrule
-欧文
+\emph{欧文}
 &\cs{romanencoding}&\cs{romanfamily}&\cs{romanseries}&\cs{romanshape}
 &\cs{useroman}\\
-和文
+\emph{和文}
 &\cs{kanjiencoding}&\cs{kanjifamily}&\cs{kanjiseries}&\cs{kanjishape}
 &\cs{usekanji}\\
-両方&---&--&\cs{fontseries}&\cs{fontshape}&---\\
-自動選択&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
+\emph{両方}&---&--&\cs{fontseries}&\cs{fontshape}&---\\
+\emph{自動選択}&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -1295,7 +1359,7 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
       For the detail, see Subsection~\ref{ssec:nfsspat}.
 %</en>
 %<*ja>
-      ここで,\verb+\fontencoding{+<encoding>\verb+}+ は,引数により和文側か欧文
+      ここで,\cs{fontencoding\{<encoding>\}}は,引数により和文側か欧文
       側かのどちらかのエンコーディングを変更する.例えば,
       \verb+\fontencoding{JY3}+ は和文フォントのエンコーディングを
       \texttt{JY3}に変更し,\verb+\fontencoding{T1}+ は欧文フォント側を
@@ -1320,7 +1384,7 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 \item 和文フォントのシェイプを定義するには,通常の \cs{DeclareFontShape} を使えば良い:
 %</ja>
 \begin{lstlisting}
-\DeclareFontShape{JY3}{mc}{bx}{n}{<-> s*KozMinPr6N-Bold:jfm=ujis;-kern}{}
+\DeclareFontShape{JY3}{mc}{b}{n}{<-> s*KozMinPr6N-Bold:jfm=ujis;-kern}{}
     % Kozuka Mincho Pr6N Bold
 \end{lstlisting}
 %<*ja>
@@ -1332,12 +1396,16 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 \end{itemize}
 
 %<*en>
-\paragraph{Remark: Japanese characters in math mode}
+\paragraph{Japanese characters in math mode}
+\label{para:jachar_in_math}
+
 Since \pTeX\ supports Japanese characters in math mode, there are
 sources like the following:
 %</en>
 %<*ja>
-\paragraph{注意:数式モード中の和文文字}
+\paragraph{数式モード中の和文文字}
+\label{para:jachar_in_math}
+  
 \pTeX では,特に何もしないでも数式中に和文文字を記述することができた.そのため,
 以下のようなソースが見られた:
 %</ja>
@@ -1376,20 +1444,34 @@ In this point of view,
 $f_{\text{高温}}$~%
 ($f_{\text{high temperature}}$).
 \[ y=(x-1)^2+2\quad
-  \mathrel{\text{よって}}\quad y>0 \]
+  \mathrel{\mbox{よって}}\quad y>0 \]
 $5\in 素:=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
 \end{LTXexample}
+
 %<*en>
 We also believe that using Japanese characters as identifiers is rare,
 hence we don't describe how to change Japanese fonts in math mode in
 this chapter. For the method, please see Subsection~\ref{ssec:math}.
+
+{\emshape When \LuaTeX-ja is loaded with \texttt{disablejfam}~option,
+  one cannot write Japanese characters in math mode as~\verb+$素$+.
+  At that case, one have to use \cs{mbox} (or~\cs{text} in the \Pkg{amsmath} package).
+}
 %</en>
 %<*ja>
\81¾ã\81\9f\LuaTeX-jaプロジェクトでは,和文文字が識別子として用いられることはほとんどない
\81ªã\81\8a\LuaTeX-jaプロジェクトでは,和文文字が識別子として用いられることはほとんどない
 と考えており,したがってこの節では数式モード中の和文フォントを変更する方法については
 記述しない.この方法については\ref{ssec:math}節を参照のこと.
+
+{\gtfamily\bfseries
+  既に記述した通り,\texttt{disablejfam}オプションを指定して\LuaTeX-jaを読み込んだ場合は,
+  \verb+$素$+ のように直接和文文字を数式モード中に記述することはできなくなる.
+  \cs{mbox},あるいは\Pkg{amsmath}パッケージの提供する\cs{text}命令などを使うことになる.
+}
 %</ja>
 
+
+
 %<en>\subsection{\Pkg{luatexja-fontspec} package}
 %<ja>\subsection{\Pkg{luatexja-fontspec}パッケージ}
 \label{ssec:fontspec}
@@ -1433,33 +1515,24 @@ counterparts of original commands in the \Pkg{fontspec} package
 \caption{Commands of \Pkg{luatexja-fontspec}}\label{tab:ltj_fntspc}
 \medskip
 {\centering\small
-\begin{tabular}{cllll}
+\begin{tabular}{>{\bfseries}lllll}
 \toprule
 Japanese fonts
-&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}&\cs{setmonojfont}$^*$\\
-alphabetic fonts
+&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}&\cs{setmonojfont}\\
+Alphabetic fonts
 &\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
 \midrule
 Japanese fonts
-&\cs{newjfontfamily}&\cs{renewjfontfamily}$^{**}$&\cs{setjfontfamily}$^{**}$\\
-alphabetic fonts
-&\cs{newfontfamily}&\cs{renewfontfamily}$^{**}$&\cs{setfontfamily}$^{**}$\\
+&\cs{newjfontfamily}&\cs{renewjfontfamily}&\cs{setjfontfamily}\\
+Alphabetic fonts
+&\cs{newfontfamily}&\cs{renewfontfamily}&\cs{setfontfamily}\\
 \midrule
 Japanese fonts
 &\cs{newjfontface}&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
-alphabetic fonts
+Alphabetic fonts
 &\cs{newfontface}&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
 \bottomrule
 \end{tabular}\par}
-\medskip
-\fakefn{$^*$}{%
-  \cs{setmonojfont} is defined if and only if \texttt{match} option is specified.}
-\fakefn{$^{**}$}{%
-  \cs{renewfontfamily}~and~\cs{setfontfamily} are new commands
-  in \Pkg{fontspec}~v2.6h (2018/7/30).
-  Hence, \Pkg{luatexja-fontspec} define \cs{renewjfontfamily}~and~\cs{setjfontfamily}
-  only when \Pkg{fontspec}~v2.6h (or later) is used.
-}
 \end{table}
 %</en>
 %<*ja>
@@ -1467,35 +1540,24 @@ alphabetic fonts
 \caption{\Pkg{luatexja-fontspec}で定義される命令}\label{tab:ltj_fntspc}
 \medskip
 {\centering\small
-\begin{tabular}{cllll}
+\begin{tabular}{lllll}
 \toprule
-和文
-&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}&\cs{setmonojfont}$^*$\\
-欧文
+\emph{和文}
+&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}&\cs{setmonojfont}\\
+\emph{欧文}
 &\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
 \midrule
-和文
-&\cs{newjfontfamily}&\cs{renewjfontfamily}$^{**}$&\cs{setjfontfamily}$^{**}$\\
-欧文
-&\cs{newfontfamily}&\cs{renewfontfamily}$^{**}$&\cs{setfontfamily}$^{**}$\\
+\emph{和文}
+&\cs{newjfontfamily}&\cs{renewjfontfamily}&\cs{setjfontfamily}\\
+\emph{欧文}
+&\cs{newfontfamily}&\cs{renewfontfamily}&\cs{setfontfamily}\\
 \midrule
-和文
+\emph{和文}
 &\cs{newjfontface}&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
-欧文
+\emph{欧文}
 &\cs{newfontface}&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
 \bottomrule
 \end{tabular}\par}
-
-\medskip
-\fakefn{$^*$}{\cs{setmonojfont} は \texttt{match} オプションが
-指定された時のみ定義される.}
-\fakefn{$^{**}$}{%
-  \cs{renewfontfamily} と \cs{setfontfamily} は
-  \Pkg{fontspec}~v2.6h (2018/7/30)で新たに追加された命令である.
-  そのため,\Pkg{luatexja-fontspec}が \cs{renewjfontfamily} と \cs{setjfontfamily} を
-  定義するのはv2.6h以降の\Pkg{fontspec}を使用した時のみになっている.
-}
-
 \end{table}
 %</ja>
 
@@ -1506,18 +1568,12 @@ alphabetic fonts
 %<*en>
 If this option is specified, usual family-changing commands such as
 \cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
-
-Note that \emph{\cs{setmonojfont} is defined
-if and only if this \texttt{\textup{match}} option is specified}.
 %</en>
 
 %<*ja>
 このオプションが指定されると,「\pLaTeXe 新ドキュメントクラス」のように\
 \cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} 等が
 欧文フォントだけでなく和文フォントも変更するようになる.
-
-\emph{なお,\cs{setmonojfont} はこの \texttt{match} オプションが
-指定された時のみ定義される.}この命令は標準の「タイプライタ体に対応する和文フォント」を指定する.
 %</ja>
 
  \item[pass=<opts>]
@@ -1559,12 +1615,8 @@ This means that two lines below are equivalent, for example.
 \usepackage[no-math]{fontspec}\usepackage{luatexja-fontspec}
 \usepackage[no-math]{luatexja-fontspec}
 \end{lstlisting}
-
-
 %<*en>
-The reason that \cs{setmonojfont} is not defined by default is that
-it is popular for Japanese fonts that nearly all Japanese glyphs have same
-widths.  Also note that kerning information in a font is not used
+Note that kerning information in a font is not used
 (that is, \texttt{kern} feature is set off) by default in these seven (or~eight) commands.
 This is because of the compatibility with previous versions of \LuaTeX-ja
 (see \ref{para-kern}).
@@ -1572,9 +1624,7 @@ This is because of the compatibility with previous versions of \LuaTeX-ja
 Below is an example of \cs{jfontspec}.
 %</en>
 %<*ja>
-標準で \cs{setmonojfont} コマンドが定義されないのは,
-和文フォントではほぼ全ての和文文字のグリフが等幅であるのが伝統的であったことによる.
-また,これらの和文用のコマンドではフォント内のペアカーニング情報は標準では使用されない,
+これらの和文用のコマンドではフォント内のペアカーニング情報は標準では使用されない,
 言い換えれば \texttt{kern} featureは標準では無効化となっている.
 これは以前のバージョンの\LuaTeX-jaとの互換性のためである(\ref{para-kern}節を参照).
 
@@ -1607,9 +1657,9 @@ The following presets are defined:
 \begin{quote}
   \ttfamily
   \hyphenchar\font=-1 \exhyphenchar=-1
-  hiragino-pro, hiragino-pron, ipa, ipa-hg, ipaex, ipaex-hg,
+  haranoaji, hiragino-pro, hiragino-pron, ipa, ipa-hg, ipaex, ipaex-hg,
   kozuka-pr6, kozuka-pr6n, kozuka-pro, moga-mobo, moga-mobo-ex,
-  morisawa-pr6n, morisawa-pro, ms, ms-hg, noembed, noto-otc, noto-otf,
+  bizud, morisawa-pr6n, morisawa-pro, ms, ms-hg, noembed, noto-otc, noto-otf,
   sourcehan, sourcehan-jp, ume, yu-osx, yu-win, yu-win10
 \end{quote}
 
@@ -1667,60 +1717,6 @@ as an external package \Pkg{luatexja-otf}.
 \ref{ssec:fontspec}節 (\Pkg{fontspec}) の方法で手動で指定する必要がある.
 %</ja>
 
-%<en>\subsection{Changing default Japanese fonts}
-%<ja>\subsection{標準和文フォントの変更}
-\label{ssec:cfg}
-%<*en>
-If \texttt{luatexja.cfg} can be seen from \LuaTeX, \LuaTeX-ja automatically reads it.
-The main use of \texttt{luatexja.cfg} is for changing default Japanese fonts,
-when IPAex fonts cannot be installed in \TeX~system.
-One should not overuse this \texttt{luatexja.cfg}; fonts which will be used in
-a document should be specified in its source.
-
-For example,
-\begin{lstlisting}
-\def\ltj@stdmcfont{IPAMincho}
-\def\ltj@stdgtfont{IPAGothic}
-\end{lstlisting}
-makes that IPA~Mincho and IPA~Gothic will be used as default Japanese fonts, instead of
-IPAex~Mincho and IPAex~Gothic.
-
-For another example, the following two lines makes that
-non-embedded fonts Ryumin-Light~and~GothicBBB-Medium as default Japanese fonts
-(as the earlier version of \LuaTeX-ja):
-\begin{lstlisting}
-\def\ltj@stdmcfont{psft:Ryumin-Light}
-\def\ltj@stdgtfont{psft:GothicBBB-Medium}
-\end{lstlisting}
-%</en>
-%<*ja>
-\LuaTeX から見える位置に \texttt{luatexja.cfg} があれば,\LuaTeX-jaはそれを読み込む.
-このファイルを用いるとplain~\TeX, \LaTeXe における標準和文フォントを
-IPAex明朝・IPAexゴシックから変更することができる.
-しかし,基本的には\emph{文章中で用いるフォントは(例えば \Pkg{luatexja-preset} などで)
-文書ソース内で指定するべき}であり,この \texttt{luatexja.cfg} は,
-「IPAexフォントがインストールできない」など,IPAexフォントが使用できない場合にのみ
-応急処置的に用いるべきである.
-
-例えば
-\begin{lstlisting}
-\def\ltj@stdmcfont{IPAMincho}
-\def\ltj@stdgtfont{IPAGothic}
-\end{lstlisting}
-と記述しておけば,標準和文フォントがIPA明朝・IPAゴシックへと変
-更される.
-
-
-なお,20140906.0以前のバージョンのように,
-Ryumin-Light, GothicBBB-Mediumという名前の非埋込フォントを用いる場合は
-\begin{lstlisting}
-\def\ltj@stdmcfont{psft:Ryumin-Light}
-\def\ltj@stdgtfont{psft:GothicBBB-Medium}
-\end{lstlisting}
-と記述すればよい.
-%</ja>
-
-
 %<en>\section{Changing Internal Parameters}
 %<ja>\section{パラメータの変更}
 
@@ -1778,7 +1774,7 @@ For example, the code below is just the default setting of \LuaTeX-ja, and
 it sets
 \begin{itemize}
  \item a character which belongs character ranges 1,~4, 5, and~8 is \textbf{ALchar},
- \item a character which belongs character ranges 2,~3, 6, and~7 is \textbf{JAchar}.
+ \item a character which belongs character ranges 2,~3, 6, 7,~and~9 is \textbf{JAchar}.
 \end{itemize}
 %</en>
 %<*ja>
@@ -1787,11 +1783,11 @@ it sets
 例えば,以下は\LuaTeX-jaの初期設定であり,次の内容を設定している:
 \begin{itemize}
  \item 1番,4番,5番,8番の文字範囲に属する文字は\textbf{ALchar}.
- \item 2番,3番,6番,7番の文字範囲に属する文字は\textbf{JAchar}.
+ \item 2番,3番,6番,7番,9番の文字範囲に属する文字は\textbf{JAchar}.
 \end{itemize}
 %</ja>
 \begin{lstlisting}
-\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8}}
+\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8, +9}}
 \end{lstlisting}
 %<*en>
 The argument to \textsf{jacharrange} parameter is a list of non-zero integer.
@@ -1816,25 +1812,25 @@ Note that characters \texttt{U+0000}--\texttt{U+007F} are always treated as an
 
 %<*en>
 \paragraph{Default character ranges}
-\LuaTeX-ja predefines eight character ranges for convenience. They are
+\LuaTeX-ja predefines nine character ranges for convenience. They are
 determined from the following data:
 %</en>
 %<*ja>
 \paragraph{文字範囲の初期値}
-\LuaTeX-jaでは8つの文字範囲を予め定義しており,
+\LuaTeX-jaでは9つの文字範囲を予め定義しており,
 これらは以下のデータに基づいて決定している.
 %</ja>
 \begin{itemize}
-%<en>\item Blocks in Unicode~6.0.
-%<ja>\item Unicode~6.0のブロック.
-%<en>\item The \texttt{Adobe-Japan1-UCS2} mapping between a CID Adobe-Japan1-6 and Unicode.
-%<ja>\item Adobe-Japan1-6のCIDとUnicodeの間の対応表\texttt{Adobe-Japan1-UCS2}
+%<en>\item Blocks in Unicode~12.0.0.
+%<ja>\item Unicode~12.0のブロック.
+%<en>\item The \texttt{Adobe-Japan1-UCS2} mapping between a CID Adobe-Japan1- and Unicode.
+%<ja>\item Adobe-Japan1-7のCIDとUnicodeの間の対応表\texttt{Adobe-Japan1-UCS2}7
 %<en>\item The \Pkg{PXbase} bundle for \upTeX\ by Takayuki Yato.
 %<ja>\item 八登崇之氏による\upTeX 用の\Pkg{PXbase}バンドル.
 \end{itemize}
 
 %<*en>
-Now we describe these eight ranges. The superscript ``J'' or ``A'' after the
+Now we describe these nine ranges. The superscript ``J'' or ``A'' after the
 number shows whether each character in the range is treated as
 \textbf{JAchar}s or not by default. These settings are similar to the
 \texttt{prefercjk} settings defined in \texttt{PXbase} bundle.
@@ -1842,61 +1838,66 @@ Any characters equal to or above \texttt{U+0080} which does not belong to
 these eight ranges belongs to the character range~217.
 %</en>
 %<*ja>
-以下ではこれら8つの文字範囲について記述する.添字のアルファベット「J」「A」
+以下ではこれら9つの文字範囲について記述する.添字のアルファベット「J」「A」
 は,その文字範囲内の文字が\textbf{JAchar}か\textbf{ALchar}かを表している.これらの初期設定は
 \texttt{PXbase}バンドルで定義されている\texttt{prefercjk}と類似のものであるが,
 8ビットフォント使用時のトラブルを防ぐために \texttt{U+0080}--\texttt{U+00FF} の文字は全部
 \textbf{ALchar}としている.
-なお,\texttt{U+0080} 以降でこれら8つの文字範囲に属さない文字は,217番の文字範囲に属することになっている.
+なお,\texttt{U+0080} 以降でこれら9つの文字範囲に属さない文字は,217番の文字範囲に属することになっている.
 %</ja>
 \begin{description}
 %<*en>
-
 \item[Range~8${}^{\text{A}}$] The intersection of the upper half of ISO~8859-1
-        (Latin-1 Supplement) and JIS~X~0208 (a basic character set for Japanese). This character range
-        consists of the following characters:
+        (Latin-1 Supplement) and JIS~X~0208 (a basic character set for Japanese).
+  The character list is indicated in \autoref{tab:rng8}.
 %</en>
 %<*ja>
 \item[範囲8${}^{\text{A}}$] ISO~8859-1の上位領域(ラテン1補助)と
-                             JIS~X~0208の共通部分.この文字範囲は
-                             以下の文字で構成される:
+  JIS~X~0208の共通部分.文字のリストは\autoref{tab:rng8}を参照.
 %</ja>
-\begin{multicols}{2}
-\begin{itemize}
-\def\ch#1#2{\item \char"#1\ (\texttt{U+00#1}, #2)}%"
-\ch{A7}{Section Sign}
-\ch{A8}{Diaeresis}
-\ch{B0}{Degree sign}
-\ch{B1}{Plus-minus sign}
-\ch{B4}{Spacing acute}
-\ch{B6}{Paragraph sign}
-\ch{D7}{Multiplication sign}
-\ch{F7}{Division Sign}
-\end{itemize}
-\end{multicols}
+\begin{table}[!tb]
+%<en>\caption{Characters in predefined character range~8.}\medskip
+%<ja>\caption{文字範囲8に指定されている文字.}
+\label{tab:rng8}
+\centering\footnotesize
+\def\ch#1{\char"#1~(\texttt{U+00#1})}%"
+\begin{tabular}{llll}
+\ch{A7}&{Section Sign}&
+\ch{A8}&{Diaeresis}\\
+\ch{B0}&{Degree sign}&
+\ch{B1}&{Plus-minus sign}\\
+\ch{B4}&{Spacing acute}&
+\ch{B6}&{Paragraph sign}\\
+\ch{D7}&{Multiplication sign}&
+\ch{F7}&{Division Sign}
+\end{tabular}
+\end{table}
 
 %<*en>
-\item[Range~1${}^{\text{A}}$] Latin characters that some of them are included in Adobe-Japan1-6.
-This range consists of the following Unicode ranges, \emph{except characters in the range~8 above}:
+\item[Range~1${}^{\text{A}}$] Latin characters that some of them are included in Adobe-Japan1-7.
+  This range consists of the Unicode ranges indicated in \autoref{tab:rng1},
+  \emph{except characters in the range~8 above}.
 %</en>
 %<*ja>
-\item[範囲1${}^{\text{A}}$] ラテン文字のうち,Adobe-Japan1-6との共通部分があるもの.
-                             この範囲は以下のUnicodeのブロックのうち
-                             \emph{ç¯\84å\9b²8ã\82\92é\99¤ã\81\84ã\81\9f\83¨å\88\86ã\81§æ§\8bæ\88\90ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bï¼\9a
+\item[範囲1${}^{\text{A}}$] ラテン文字のうち,Adobe-Japan1-7との共通部分があるもの.
+                             この範囲は\autoref{tab:rng1}で示したUnicodeのブロックのうち
+                             \emph{ç¯\84å\9b²8ã\82\92é\99¤ã\81\84ã\81\9f\83¨å\88\86ã\81§æ§\8bæ\88\90ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bï¼\8e
 %</ja>
-\begin{multicols}{2}
-\begin{itemize}
-\item \texttt{U+0080}--\texttt{U+00FF}: Latin-1 Supplement
-\item \texttt{U+0100}--\texttt{U+017F}: Latin Extended-A
-\item \texttt{U+0180}--\texttt{U+024F}: Latin Extended-B
-\item \texttt{U+0250}--\texttt{U+02AF}: IPA Extensions
-\item \texttt{U+02B0}--\texttt{U+02FF}: Spacing Modifier Letters
-%<en>\par\
-\item \texttt{U+0300}--\texttt{U+036F}: \\*\null\hfill Combining Diacritical Marks
-\item \texttt{U+1E00}--\texttt{U+1EFF}: \\*\null\hfill Latin Extended Additional
-%<ja>\par\
-\end{itemize}
-\end{multicols}
+\begin{table}[!tb]
+%<en>\caption{Unicode blocks in predefined character range~1.}\medskip
+%<ja>\caption{文字範囲1に指定されているUnicodeブロック.}
+\label{tab:rng1}
+\centering\footnotesize
+\begin{tabular}{llll}
+ \texttt{U+0080}--\texttt{U+00FF}&Latin-1 Supplement&
+ \texttt{U+0100}--\texttt{U+017F}&Latin Extended-A\\
+ \texttt{U+0180}--\texttt{U+024F}& Latin Extended-B&
+ \texttt{U+0250}--\texttt{U+02AF}& IPA Extensions\\
+ \texttt{U+02B0}--\texttt{U+02FF}& Spacing Modifier Letters&
+ \texttt{U+0300}--\texttt{U+036F}& Combining Diacritical Marks\\
+ \texttt{U+1E00}--\texttt{U+1EFF}&Latin Extended Additional
+\end{tabular}
+\end{table}
 %<*en>
 \item[Range~2${}^{\text{\kern.1emJ}}$] Greek and Cyrillic letters. JIS~X~0208 (hence most of Japanese
           fonts) has some of these characters.
@@ -1914,11 +1915,11 @@ This range consists of the following Unicode ranges, \emph{except characters in
 \end{itemize}
 \end{multicols}
 %<*en>
-\item[Range~3${}^{\text{\kern.1emJ}}$] Punctuations and Miscellaneous symbols. The block list is
+\item[Range~3${}^{\text{\kern.1emJ}}$] Miscellaneous symbols. The block list is
           indicated in \autoref{tab:rng3}.
 %</en>
 %<*ja>
-\item[範囲3${}^{\text{\kern.1emJ}}$] 句読点と記号類.ブロックのリストは\autoref{tab:rng3}%
+\item[範囲3${}^{\text{\kern.1emJ}}$] 記号類.ブロックのリストは\autoref{tab:rng3}%
                              に示してある.
 %</ja>
 \begin{table}[!tb]
@@ -1926,9 +1927,8 @@ This range consists of the following Unicode ranges, \emph{except characters in
 %<ja>\caption{文字範囲3に指定されているUnicodeブロック.}
 \label{tab:rng3}
 \catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
-\centering\small
+\centering\footnotesize
 \begin{tabular}{llll}
-"2000--"206F&General Punctuation&
 "2070--"209F&Superscripts and Subscripts\\
 "20A0--"20CF&Currency Symbols&
 "20D0--"20FF&Comb.\ Diacritical Marks for Symbols\\
@@ -1944,27 +1944,85 @@ This range consists of the following Unicode ranges, \emph{except characters in
 "2600--"26FF&Miscellaneous Symbols\\
 "2700--"27BF&Dingbats&
 "2900--"297F&Supplemental Arrows-B\\
-"2980--"29FF&Misc.\ Mathematical Symbols-B&
-"2B00--"2BFF&Miscellaneous Symbols and Arrows
+"2980--"29FF&Misc.\ Math Symbols-B&
+"2B00--"2BFF&Misc.\ Symbols and Arrows
+\end{tabular}
+\end{table}
+%<*en>
+\item[Range~9${}^{\text{J}}$] The intersection of the ``General Punctuation'' block
+  (\texttt{U+2000}--\texttt{U+206F})
+  and Adobe-Japan1-7 character collection.
+  This character range characters in \autoref{tab:rng9}.
+%</en>
+%<*ja>
+\item[範囲9${}^{\text{J}}$] Unicodeの「一般句読点」ブロック(\texttt{U+2000}--\texttt{U+206F})と
+  Adobe-Japan1-7の共通部分.
+  この文字範囲は\autoref{tab:rng9}に示した文字で構成される.
+%</ja>
+\begin{table}[!tb]
+%<en>\caption{Characters in predefined character range~9.}\medskip
+%<ja>\caption{文字範囲9に指定されている文字.}
+\label{tab:rng9}
+\centering\footnotesize
+\def\ch#1{%
+  {\fboxsep0pt\fcolorbox{cyan}{white}%
+  {\normalsize\char"20#1}}\ (\texttt{U+20#1})} %"
+% 13: JIS X0213, AJ, Adobe-Japan-1 only
+\begin{tabular}{ll>{\color{white}}lll>{\color{white}}l}
+  \ch{02}&{En space}&AJ&
+  \ch{10}&{Hyphen}&\\
+  \ch{11}&{Non-breaking hyphen}&AJ&
+  \ch{13}&{En dash}&13\\
+  \ch{14}&{Em dash}&&
+  \ch{15}&{Horizontal bar}&\\
+  \ch{16}&{Double vertical line}&&
+  \ch{18}&{Left single quotation mark}&\\
+  \ch{19}&{Right single quotation mark}&&
+  \ch{1A}&{Single low-9 quotation mark}&AJ\\
+  \ch{1C}&{Left double quotation mark}&&
+  \ch{1D}&{Right double quotation mark}&\\
+  \ch{1E}&{Double low-9 quotation mark}&AJ&
+  \ch{20}&{Dagger}&\\
+  \ch{21}&{Double dagger}&&
+  \ch{22}&{Bullet}&13\\
+  \ch{25}&{Two dot leader}&&
+  \ch{26}&{Horizontal ellipsis}&\\
+  \ch{30}&{Per mille sign}&&
+  \ch{32}&{Prime}&\\
+  \ch{33}&{Double prime}&&
+  \ch{39}&{Single left-pointing angle quot.}&AJ\\
+  \ch{3A}&{Single right-pointing angle quot.}&AJ&
+  \ch{3B}&{Reference mark}&\\
+  \ch{3C}&{Double exclamation mark}&13&
+  \ch{3E}&{Overline}&\\
+  \ch{3F}&{Undertie}&13&
+  \ch{42}&{Asterism}&13\\
+  \ch{44}&{Fraction slash}&AJ&
+  \ch{47}&{Double question mark}&13\\
+  \ch{48}&{Question exclamation mark}&13&
+  \ch{49}&{Exclamation question mark}&13\\
+  \ch{51}&{Two asterisks aligned vertically}&13
 \end{tabular}
 \end{table}
 %<*en>
 \item[Range~4${}^{\text{A}}$] Characters usually not in Japanese fonts. This range consists
           of almost all Unicode blocks which are not in other
           predefined ranges. Hence, instead of showing the block list,
-          we put the definition of this range itself:
+          we put the definition of this range itself.
 %</en>
 %<*ja>
 \item[範囲4${}^{\text{A}}$] 通常和文フォントには含まれていない文字.
                              この範囲は他の範囲にないほとんど全てのUnicodeブロック
                              で構成されている.したがって,ブロックのリストを示す
-                             ä»£ã\82\8fã\82\8aã\81«ï¼\8cç¯\84å\9b²ã\81®å®\9a義ã\81\9dã\81®ã\82\82ã\81®ã\82\92示ã\81\99ï¼\9a
+                             ä»£ã\82\8fã\82\8aã\81«ï¼\8cç¯\84å\9b²ã\81®å®\9a義ã\81\9dã\81®ã\82\82ã\81®ã\82\92示ã\81\99ï¼\8e
 %</ja>
 \begin{lstlisting}
 \ltjdefcharrange{4}{%
    "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
-  "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F,
-  "FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} % non-Japanese
+  "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
+  "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
+  "1F300-"1FFFF, ... (characters in "2000-"206F which are not in range 9)
+} % non-Japanese
 \end{lstlisting}
 %<en>\item[Range~5${}^{\text{A}}$] Surrogates and Supplementary Private Use Areas.
 %<ja>\item[範囲5${}^{\text{A}}$] 代用符号と補助私用領域.
@@ -1975,7 +2033,7 @@ This range consists of the following Unicode ranges, \emph{except characters in
 %<ja>\caption{文字範囲6に指定されているUnicodeブロック.}
 \label{tab:rng6}
 \catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
-\centering\small
+\centering\footnotesize
 \begin{tabular}{llll}
 "2460--"24FF&Enclosed Alphanumerics&
 "2E80--"2EFF&CJK Radicals Supplement\\
@@ -1986,22 +2044,29 @@ This range consists of the following Unicode ranges, \emph{except characters in
 "31F0--"31FF&Katakana Phonetic Extensions&
 "3200--"32FF&Enclosed CJK Letters and Months\\
 "3300--"33FF&CJK Compatibility&
-"3400--"4DBF&CJK Unified Ideographs Extension A\\
+"3400--"4DBF&CJK Unified Ideographs Ext-A\\
 "4E00--"9FFF&CJK Unified Ideographs&
 "F900--"FAFF&CJK Compatibility Ideographs\\
 "FE10--"FE1F&Vertical Forms&
 "FE30--"FE4F&CJK Compatibility Forms\\
 "FE50--"FE6F&Small Form Variants&
-"{20}000--"{2F}FFF&(Supplementary Ideographic Plane)\\
-"{E0}100--"{E0}1EF&Variation Selectors Supplement
+"FF00--"FFEF&Halfwidth and Fullwidth Forms\\
+"{1B}000--"{1B}0FF&Kana Supplement&
+"{1B}100--"{1B}12F&Kana Extended-A\\
+%"{1B}130--"{1B}16F&Small Kana Extension
+"{1F}100--"{1F}1FF&Enclosed Alphanumeric Supp.&
+"{1F}200--"{1F}2FF&Enclosed Ideographic Supp.\\
+"{20}000--"{2F}FFF&(Supp. Ideographic Plane)&
+"{30}000--"{3F}FFF&(Tert. Ideographic Plane)\\
+"{E0}100--"{E0}1EF&Variation Selectors Supp.
 \end{tabular}
 \end{table}
 %<*en>
-\item[Range~7${}^{\text{\kern.1emJ}}$] Characters used in CJK languages, but not included in  Adobe-Japan1-6.
+\item[Range~7${}^{\text{\kern.1emJ}}$] Characters used in CJK languages, but not included in  Adobe-Japan1-7.
 The block list is indicated in \autoref{tab:rng7}.
 %</en>
 %<*ja>
-\item[範囲7${}^{\text{\kern.1emJ}}$] CJK言語で用いられる文字のうち,Adobe-Japan1-6
+\item[範囲7${}^{\text{\kern.1emJ}}$] CJK言語で用いられる文字のうち,Adobe-Japan1-7
                             含まれていないもの.
                             ブロックのリストは\autoref{tab:rng7}に示す.
 %</ja>
@@ -2021,7 +2086,7 @@ The block list is indicated in \autoref{tab:rng7}.
 "31C0--"31EF&CJK Strokes&
 "A000--"A48F&Yi Syllables\\
 "A490--"A4CF&Yi Radicals&
-"A830--"A83F&Common Indic Number Forms\\
+"A960--"A97F&Hangul Jamo Extended-A\\
 "AC00--"D7AF&Hangul Syllables&
 "D7B0--"D7FF&Hangul Jamo Extended-B
 \end{tabular}
@@ -2071,6 +2136,52 @@ setting, you can use \cs{ltjalchar} and \cs{ltjjachar} respectively, as the foll
 \end{LTXexample}
 %</ja>
 
+%<*ja>
+\paragraph{絵文字など,複数コードポイントの列で表現される字形をを利用する場合の注意}
+(\Pkg{luaotfload}による)OpenType機能や合字等の処理は,\LuaTeX-jaが
+段落・水平ボックスの中身全体に対して「この文字は\textbf{JAchar}だから和文フォントで組む」と
+フォントを置き換えた後に適用される.
+そのため,異体字セレクタや絵文字といった複数のコードポイントの列で表現される文字を
+組む場合には,列全体で\textbf{JAchar}の範囲か\textbf{ALchar}の範囲かが
+統一されていないといけない.
+
+例えば,CJK統合漢字(とその拡張達)と
+IVS用の異体字セレクタ(\texttt{U+E0100}--\texttt{U+E01EF})は標準では
+どちらも同じ文字範囲6であるため,(フォントがサポートしていれば)IVSは正しく機能する.
+しかし,下の例のように異体字セレクタを\textbf{ALchar}の文字範囲(4)に移動させると,
+IVSは機能しなくなる:
+\ltjdefcharrange{4}{"E0100-"E01EF}
+\begin{LTXexample}
+\ltjdefcharrange{4}{"E0100-"E01EF}
+葛󠄀城市,葛󠄁飾区,葛西
+\end{LTXexample}
+\ltjdefcharrange{6}{"E0100-"E01EF}
+
+また,標準では絵文字として使われる可能性が大きい一部の文字が\textbf{JAchar}となっている
+\footnote{同じUnicodeブロック内にAdobe-Japan1-6の文字があったため.}.
+絵文字を用いる場合にはこの点に留意する必要がある.
+
+\begin{center}
+  \begin{minipage}{.5\textwidth}\small\ttfamily
+\verb!\ltjsetparameter{jacharrange={+3}}!\\
+\verb!\font\nce=NotoColorEmoji.ttf:mode=harf\nce!\\
+\IVSA 1F469\UCSB{ZW}{J}\UCSA 2764\UCSB{VS}{16}\UCSB{ZW}J\IVSA 1F48B\UCSB{ZW}J\IVSA 1F468\ 
+  \textcolor{green}{\% U+2764: JAchar}\\
+\verb!\ltjsetparameter{jacharrange={-3}}!\\
+\IVSA 1F469\UCSB{ZW}{J}\UCSA 2764\UCSB{VS}{16}\UCSB{ZW}J\IVSA 1F48B\UCSB{ZW}J\IVSA 1F468\ 
+  \textcolor{green}{\% U+2764: ALchar}
+  \end{minipage}%
+  \begin{minipage}{.5\textwidth}
+\ltjsetparameter{jacharrange={+3}}
+\font\nce=NotoColorEmoji.ttf:mode=harf\nce
+👩‍❤️‍💋‍👨
+\ltjsetparameter{jacharrange={-3}}
+👩‍❤️‍💋‍👨
+  \end{minipage}
+\end{center}
+\ltjsetparameter{jacharrange={+3}}
+%</ja>
+
 
 %<en>\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
 %<ja>\subsection{\Param{kanjiskip}と\Param{xkanjiskip}}
@@ -2225,6 +2336,7 @@ parameters to \texttt{true}/\texttt{false}, respectively.
 
 %<en>\subsection{Shifting the baseline}
 %<ja>\subsection{ベースラインの移動}
+\label{ssec:baseline}
 %<*en>
 To make a match between a Japanese font and an alphabetic font, sometimes
 shifting of the baseline of one of the pair is needed. In \pTeX, this is achieved
@@ -2409,7 +2521,7 @@ However, the penalty inserted after it is 10 which is the \Param{postbreakpenalt
 ``ア'', not 20.
 %</en>
 %<*ja>
-\subsection{禁則処理関連パラメータとOpenTypeのfont feature}
+\subsection{禁則処理関連パラメータとOpenType機能}
 禁則処理や \Param{kanjiskip}, \Param{xkanjiskip} の挿入に関連したパラメータのうち
 \begin{quote}
  \Param{jaxspmode},~\Param{alxspmode}, \Param{prebreakpenalty},
@@ -2418,8 +2530,8 @@ However, the penalty inserted after it is 10 which is the \Param{postbreakpenalt
 は,文字コードごとに設定する量である.
 
 \Pkg{fontspec}パッケージを使う(\ref{ssec:fontspec}節)場合など,
-各種のOpenType featureを適用することもあると思うが,前段落に述べたパラメータ類は,
-\emph{OpenType featureの適用前の文字コードによって適用される.}
+各種のOpenType機能を適用することもあると思うが,前段落に述べたパラメータ類は,
+\emph{OpenType機能の適用前の文字コードによって適用される.}
 例えば,以下の例において10行目の「ア」は,\verb+hwid+ featureの適用により半角カタカナの「ア」
 に置き換わる.しかし,その直後に挿入される \Param{postbreakpenalty}は,置換前の「ア」に対する値10である.
 %</ja>
@@ -2466,7 +2578,7 @@ For the detail, see \autoref{tab:kcat}.
 %<en>\medskip
 
 \noindent\hfill
-\begin{tabular}{ccccc}
+\begin{tabular}{llccc}
 \toprule
 \bfseries \cs{kcatcode}&
 %<*en>
@@ -2580,7 +2692,7 @@ but not fullwidth alphanumerics and several other characters.
 
 This would be inconvenient for \pTeX~users to shifting to \LuaTeX-ja,
 since several control words containing Kanji or other fullwidth characters, such as
-\verb+\西暦+~or~\verb+\1年目西暦+ are used in \pTeX.
+\cs{西暦}~or~\cs{1年目西暦} are used in \pTeX.
 Hence, \LuaTeX-ja have a counterpart of \texttt{unicode-letters.tex}
 for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
 %</en>
@@ -2613,7 +2725,7 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
 \LuaLaTeX では漢字や仮名を制御綴内に
 使用することが可能になったが,全角英数字は相変わらず使用できない,
 \end{description}
-これでは\pTeX で使用できた\verb+\1年目西暦+\footnote{科研費\LaTeX で使用されているそうです.}などが使えないこととなり,
+これでは\pTeX で使用できた\cs{1年目西暦}\footnote{科研費\LaTeX で使用されているそうです.}などが使えないこととなり,
 \LuaTeX-jaへの移行で手間が生じる.そのため,\LuaTeX-jaでは
 \texttt{unicode-letters.tex}の後半部にあたる内容を自前でパッチし,
 結果として\emph{\XeTeX における初期設定と同じになるようにしている.}
@@ -2630,8 +2742,8 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
   {\large\char"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})} %"
 \leavevmode\hbox to 0pt{\hss\begin{tabular}{cccccc}
 \toprule
-%<en>&\bf row&\bf col.&\bf \pTeX&\bf \upTeX&\bf\LuaTeX-ja\\
-%<ja>&\bf 区&\bf 点&\bf \pTeX&\bf \upTeX&\fontseries{b}\selectfont\LuaTeX-ja\\
+%<en>&\textbf{row}&\textbf{col.}&\textbf{\pTeX}&\textbf{\upTeX}&\textbf{\LuaTeX-ja}\\
+%<ja>&\emph{区}&\emph{点}&\emph{\pTeX}&\emph{\upTeX}&\emph{\LuaTeX-ja}\\
 \midrule
 %\D 3000&1&1&N&N&Y\\
 \D 30FB&1&6&N&Y&N\\
@@ -2657,8 +2769,8 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
 \end{tabular}\qquad
 \begin{tabular}{cccccc}
 \toprule
-%<en>&\bf row&\bf col.&\bf \pTeX&\bf \upTeX&\bf\LuaTeX-ja\\
-%<ja>&\bf 区&\bf 点&\bf \pTeX&\bf \upTeX&\fontseries{b}\selectfont\LuaTeX-ja\\
+%<en>&\textbf{row}&\textbf{col.}&\textbf{\pTeX}&\textbf{\upTeX}&\textbf{\LuaTeX-ja}\\
+%<ja>&\emph{区}&\emph{点}&\emph{\pTeX}&\emph{\upTeX}&\emph{\LuaTeX-ja}\\
 \midrule
 \D FF5C&1&35&N&N&Y\\
 \D FF0B&1&60&N&N&Y\\
@@ -2829,6 +2941,10 @@ Down-TO-Upの意味なのだろう.\cs{dtou} を使用する機会はないだ
 ただし,現在のモードが非制限水平モードや(文中,別行立て問わず)数式モードであるときには
 組方向を変更することは出来ない.
 また,縦組中の数式内のボックスは\pTeX と同じように組方向が \cs{utod} となる.
+
+なお,\LaTeX の下で\LuaTeX-jaを使用する場合,組方向変更命令には
+「新たな組方向下での和文フォントを必要なら読み込み(・選択する)」という
+処理が付け加えられている(\ref{ssec:ltx-jfm}節参照).
 %</ja>
 
 %<*en>
@@ -3131,7 +3247,7 @@ These commands set the dimension of \cs{box<num>}. One does not need
 ボックスレジスタ \cs{box}<num> にセットされているボックスの幅・高さ・深さの取得や
 変更にはそれぞれ \cs{wd},~\cs{ht},~\cs{dp} プリミティブを用いるのであった.
 \pTeX ではこれらのプリミティブは,「現在の組方向におけるボックスの寸法」を指すもので,
-同じボックスに対しても現在の組方向によって返る値は異なるもであった.
\90\8cã\81\98ã\83\9cã\83\83ã\82¯ã\82¹ã\81«å¯¾ã\81\97ã\81¦ã\82\82ç\8f¾å\9c¨ã\81®çµ\84æ\96¹å\90\91ã\81«ã\82\88ã\81£ã\81¦è¿\94ã\82\8bå\80¤ã\81¯ç\95°ã\81ªã\82\8bã\82\82ã\81®ã\81§ã\81\82ã\81£ã\81\9fï¼\8e
 
 \LuaTeX-jaにおいては状況が異なり,\cs{wd},~\cs{ht},~\cs{dp} が返す値は
 現在の組方向には依存しない.下の例のように,横組のボックスが格納されていれば
@@ -3366,14 +3482,16 @@ JFMは文字と和文組版で自動的に挿入される
 \def\r#1#2{%
   \hbox{\Large\vrule
   \parbox[b]{7\zw}{%
-    \addjfontfeatures{YokoFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
+    \addjfontfeatures{YokoFeatures={JFM=#1}}\noindent
+       \color{#2}\transparent{0.5}
     ◆◆◆◆◆◆◆
     ある日モモちゃんがお使いで迷子になって泣きました.
   }\vrule}}
 \def\s#1#2{%
   \Large
   \parbox[b]{7\zw}{%
-    \addjfontfeatures{YokoFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
+    \addjfontfeatures{YokoFeatures={JFM=#1}}\noindent
+       \color{#2}\transparent{0.5}
     ちょっと!何
   }}
 \def\t#1#2#3{\hbox to 0pt{\hss%
@@ -3420,17 +3538,17 @@ The following horizontal JFMs are shipped with \LuaTeX-ja:
 %</ja>
 \begin{description}
 %<*en>
-\item[\tt jfm-ujis.lua] A standard horizontal JFM in \LuaTeX-ja. This JFM is
+\item[\texttt{jfm-ujis.lua}] A standard horizontal JFM in \LuaTeX-ja. This JFM is
   based on \verb+upnmlminr-h.tfm+, a metric for UTF/OTF package that
   is used in \upTeX. When you use the \Pkg{luatexja-otf} package, you should use this JFM.
 %</en>
 %<*ja>
-\item[\tt jfm-ujis.lua] \LuaTeX-jaの標準JFMである.このJFMは\upTeX で
+\item[\texttt{jfm-ujis.lua}] \LuaTeX-jaの標準JFMである.このJFMは\upTeX で
   用いられるUTF/OTFパッケージ用の和文用TFMである \verb+upnmlminr-h.tfm+ を
   元にしている.\Pkg{luatexja-otf}パッケージを使うときはこのJFMを指定するべきである.
 %</ja>
 %<*en>
-\item[\tt jfm-jis.lua] A counterpart for \verb+jis.tfm+, ``JIS font
+\item[\texttt{jfm-jis.lua}] A counterpart for \verb+jis.tfm+, ``JIS font
   metric'' which is widely used in \pTeX. A major difference between
   \texttt{jfm-ujis.lua} and this \texttt{jfm-jis.lua} is that
   most characters under \texttt{jfm-ujis.lua} are square-shaped,
@@ -3438,18 +3556,18 @@ The following horizontal JFMs are shipped with \LuaTeX-ja:
   rectangles.
 %</en>
 %<*ja>
-\item[\tt jfm-jis.lua] \pTeX で広く用いられている「JISフォントメトリック」
+\item[\texttt{jfm-jis.lua}] \pTeX で広く用いられている「JISフォントメトリック」
   \verb+jis.tfm+ に相当するJFMである.\texttt{jfm-ujis.lua} とこの
   \texttt{jfm-jis.lua} の主な違いは,\texttt{jfm-ujis.lua} ではほとんどの文字が
   正方形状であるのに対し,\texttt{jfm-jis.lua} では横長の長方形状であることと,
   \texttt{jfm-ujis.lua} では「?」「!」の直後に半角空白が挿入されることである.
 %</ja>
 %<*en>
-\item[\tt jfm-min.lua] A counterpart for \verb+min10.tfm+, which is one
+\item[\texttt{jfm-min.lua}] A counterpart for \verb+min10.tfm+, which is one
   of the default Japanese font metric shipped with \pTeX.
 %</en>
 %<*ja>
-\item[\tt jfm-min.lua] \pTeX に同梱されているデフォルトの和文用TFM
+\item[\texttt{jfm-min.lua}] \pTeX に同梱されているデフォルトの和文用TFM
 (\verb+min10.tfm+)に相当し,行末で文字が揃うようにするために「っ」など一部の文字幅が変わっ
           ている.\verb+min10.tfm+ については\cite{min10}が詳しい.
 %</ja>
@@ -3556,7 +3674,7 @@ NFSS2用の命令(\ref{ssec:chgfnt}節,\ref{ssec:nfsspat}節)における
 
 %<*ja>
 \paragraph{\texttt{extend}と\texttt{slant}}
-OpenType font featureと見かけ上同じような形式で指定できるものに,
+OpenType機能と見かけ上同じような形式で指定できるものに,
 \begin{description}
 \item[\texttt{extend=}<extend>] 横方向に<extend>倍拡大する.
 \item[\texttt{slant=}<slant>] <slant>に指定された割合だけ傾ける.
@@ -3641,7 +3759,7 @@ This functionality is disabled by \texttt{-ltjksp} specification.
 
 %<en>\subsection{\cs{tfont}}
 %<ja>\subsection{\cs{tfont} 命令}
-
+\label{ssec:tfont}
 
 \begin{comment}
   {\catcode`\<=12\catcode`\>=12
@@ -3655,14 +3773,16 @@ This functionality is disabled by \texttt{-ltjksp} specification.
 \def\r#1#2{%
   \hbox{\tate\Large\vrule
   \parbox{7\zw}{%
-    \addjfontfeatures{TateFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
+    \addjfontfeatures{TateFeatures={JFM=#1}}\noindent
+       \color{#2}\transparent{0.5}
     ◆◆◆◆◆◆◆
     ある日モモちゃんが「お使い」で迷子になって泣きました。
   }\vrule}}
 \def\s#1#2{%
   \hbox{\tate\Large
   \parbox{7\zw}{%
-    \addjfontfeatures{TateFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
+    \addjfontfeatures{TateFeatures={JFM=#1}}\noindent
+       \color{#2}\transparent{0.5}
     ちょっと!何
   }}}
 \def\t#1#2#3{\hbox to 0pt{\hss%
@@ -3718,12 +3838,29 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont
  \item One have to specify the name of vertical JFM in  \texttt{jfm=<name>}.
 \LuaTeX-ja ships following vertical JFMs:
 \begin{description}
-\item[\tt jfm-ujisv.lua] A standard vertical JFM in \LuaTeX-ja. This JFM is
+\item[\texttt{jfm-ujisv.lua}] A standard vertical JFM in \LuaTeX-ja. This JFM is
   based on \verb+upnmlminr-v.tfm+, a metric for UTF/OTF package that
   is used in \upTeX.
-\item[\tt jfm-tmin.lua] A counterpart for \verb+tmin10.tfm+, which is one
+\item[\texttt{jfm-tmin.lua}] A counterpart for \verb+tmin10.tfm+, which is one
   of the default Japanese font metric shipped with \pTeX.
 \end{description}
+\begin{figure}[!tb]
+\begin{LTXexample}[pos=b]
+\jfont\X=[KozMinPr6N-Regular.otf]:jfm=ujis
+\tfont\U=[KozMinPr6N-Regular.otf]:jfm=ujisv
+\tfont\V=[KozMinPr6N-Regular.otf]:jfm=ujisv;jpotf
+\def\TEST#1#2{\leavevmode\hbox{#1#2\string#2 “引用,と句読点.”}}
+\ttfamily\centering\TEST\yoko\X \quad \TEST\tate\U \quad \TEST\tate\V
+\end{LTXexample}
+\caption{\texttt{jpotf} ``feature''}
+\label{fig:jpotf}
+\end{figure}
+  
+ \item If \texttt{vert}~and/or~\texttt{vrt2} features are activated,
+  one can specify \texttt{jpotf} to additional substitutions.
+  By default, it substitutes ideographic comma/period for fullwidth comma/period,
+  and double prime quotation marks for double quotation marks
+  (See~\autoref{fig:jpotf}).
 \end{itemize}
 %</en>
 %<*ja>
@@ -3733,7 +3870,7 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont
 以下の点が \cs{jfont} による横組用和文フォントとは異なる:
 \begin{itemize}
  \item 明示的に \texttt{vert}, \texttt{vrt2}(のいずれか)の
-  有効・無効を指定した場合を除き,自動的に OpenType feature~\texttt{vrt2} の有効化が
+  有効・無効を指定した場合を除き,自動的に OpenType機能 \texttt{vrt2} の有効化が
   指定されたものとみなされる
  \footnote{もしフォントが\texttt{vrt2}を定義していなかった場合,代わりに
  \texttt{vert}を用いる.}.
@@ -3762,42 +3899,165 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont
  \item \texttt{jfm=<name>}\ の部分には縦組用JFMを指定する.
 以下の縦組用JFMが\LuaTeX-jaには同梱されている.%おり,違いを\autoref{tab-difjfm-tate}に示した.
 \begin{description}
-\item[\tt jfm-ujisv.lua] \LuaTeX-jaの標準縦組用JFMである.このJFMは\upTeX で
+\item[\texttt{jfm-ujisv.lua}] \LuaTeX-jaの標準縦組用JFMである.このJFMは\upTeX で
   用いられるUTF/OTFパッケージ用の和文用TFMである \verb+upnmlminr-v.tfm+ を
   元にしている.
-\item[\tt jfm-tmin.lua] \pTeX に同梱されているデフォルトの和文用縦組TFM
+\item[\texttt{jfm-tmin.lua}] \pTeX に同梱されているデフォルトの和文用縦組TFM
   である \verb+tmin10.tfm+ に相当し,\texttt{min10.tfm} と同様に
   「っ」など一部の文字幅が狭められている.
 \end{description}
+
+\begin{figure}[!tb]
+\begin{LTXexample}[pos=r,width=.4\textwidth]
+\jfont\X=[KozMinPr6N-Regular.otf]:jfm=ujis
+\tfont\U=[KozMinPr6N-Regular.otf]:jfm=ujisv
+\tfont\V=[KozMinPr6N-Regular.otf]:jfm=ujisv;jpotf
+\def\TEST#1#2{\leavevmode
+  \hbox{#1#2\string#2 “引用,と句読点.”}}
+\ttfamily\centering
+\TEST\yoko\X\quad \TEST\tate\U\quad
+\TEST\tate\V
+\end{LTXexample}
+\caption{\texttt{jpotf} ``feature''}
+\label{fig:jpotf}
+\end{figure}
+\begin{table}[t]
+  \def\D#1#2#3#4{%
+       {\fboxsep0pt\fcolorbox{cyan}{white}%
+    {\large\lower-\cdp\hbox{\tate\ltjjachar"#1#2#3#4}}}\ (\texttt{U+#1#2#3#4})%"
+  }
+  \caption{\texttt{jpotf}が指定された際に行われる追加の縦組形への置換}
+  \label{tab:vert_replace_jpotf}\small\centering
+  \begin{tabular}{*{2}{l@{}>{${}\longmapsto{}$}c@{}l}}
+       \toprule
+       \D FF0C&&\D 3001&\D FF0E&&\D 3002\\
+       \D 201C&&\D 301D&\D 201D&&\D 301F\\
+       \bottomrule
+  \end{tabular}
+\end{table}
+
+ \item \texttt{vert}, \texttt{vrt2}の少なくとも片方が(明示的・自動的を問わず)
+  有効になっていた場合,さらに\texttt{jpotf}を指定することで
+  「通常では行わない縦組用字形への置換」を行うことができる.
+  
+  標準では,\autoref{tab:vert_replace_jpotf}に示した置換が登録されている
+  \footnote{%
+       \texttt{jpotf}という名前にしたのは,
+       OTFパッケージの縦組用和文TFMでほぼ同じの処理(そちらではさらに一重引用符を
+       「シングルミニュート」に置換する機能もあった)を行っていたことに由来する.
+  }.実行例は\autoref{fig:jpotf}を参照.
+
+  ユーザ側で「置換」をカスタマイズしたい場合,
+  \verb+luatexja.jfont.register_vert_replace+関数に変更内容を記したテーブルを渡す.
+  例えば置換$i_1\longmapsto v_1$, $i_2\longmapsto v_2$,~$\dots$を登録する場合は
+       \begin{lstlisting}[escapechar=\!]
+\directlua{luatexja.jfont.register_vert_replace{[!$i_1$!]=!$v_1$!, [!$i_2$!]=!$v_2$!, ...}}
+       \end{lstlisting}
+  を実行する.
+  \verb+luatexja.jfont.register_vert_replace+による変更はこの関数の\emph{実行後}に定義される
+  フォントについてのみ有効である.
+  
 \end{itemize}
 
 なお,\pTeX では,\cs{font},~\cs{jfont},~\cs{tfont}のどれでも欧文フォント・横組用和文フォン
 ト・縦組用和文フォントの定義が可能であったが,\LuaTeX-jaではそうでないので注意.
 %</ja>
 
+%<en>\subsection{Default Japanese fonts and JFMs}
+%<ja>\subsection{標準和文フォント・JFMの変更}
+\label{ssec:cfg}
+%<*en>
+If following commands are defined at loading \LuaTeX-ja package, these change
+default Japanese fonts and JFMs for them:
+%</en>
+%<*ja>
+\LuaTeX-jaが読み込まれる前に以下の命令が定義されていた場合は,
+それらが標準和文フォントやそれらに用いるJFMとして使われる.
+%</ja>
+
+\begin{cslist}[style=standard]
+  \item[\cs{ltj@stdmcfont}] 
+%<en>The default Japanese font for the mincho family.
+%<ja>明朝体として用いるフォント.
+  \item[\cs{ltj@stdgtfont}]
+%<en>The default Japanese font for the gothic family.
+%<ja>ゴシック体として用いるフォント.
+  \item[\cs{ltj@stdyokojfm}]
+%<en>The default JFM for horizontal direction.
+%<ja>標準で用いる横組用JFM.
+  \item[\cs{ltj@stdtatejfm}]
+%<en>The default JFM for vertical direction.
+%<ja>標準で用いる縦組用JFM.
+\end{cslist}
+
+%<*en>
+For example,
+\begin{lstlisting}
+\def\ltj@stdmcfont{IPAMincho}
+\def\ltj@stdgtfont{IPAGothic}
+\end{lstlisting}
+makes that IPA~Mincho and IPA~Gothic will be used as default Japanese fonts, instead of
+Harano Aji fonts.
+%IPAex~Mincho and IPAex~Gothic.
+
+This feature is intended for classes which use special JFMs
+\footnote{This is because commands has \texttt{@} in their names.}.
+It is recommended to use \cs{luatexja-preset}~or~\cs{luatexja-fontspec} package
+to select standard fonts in ordinary \LaTeX\ sources.
+%</en>
+%<*ja>
+例えば
+\begin{lstlisting}
+\def\ltj@stdmcfont{IPAMincho}
+\def\ltj@stdgtfont{IPAGothic}
+\end{lstlisting}
+と記述しておけば,標準和文フォントがIPA明朝・IPAゴシックへと変
+更される.
+
+この機能は,特別のJFMを用いるクラス
+\footnote{例えば阿部紀行氏によるjlreqがそれにあたる.}%
+などでの使用を意図しており,命令名に\texttt{@}が含まれることから
+通常の\TeX/\LaTeX 文書での使用は意図していない.
+通常の\LaTeX 文書では\Pkg{luatexja-preset}や\Pkg{luatexja-fontspec}などで
+使用フォントを選択することを推奨する.
+%</ja>
+
+%<*en>
+For compatibility with earlier versions,
+\LuaTeX-ja reads  \texttt{luatexja.cfg} automatically if it is found by \LuaTeX.
+One should not overuse this \texttt{luatexja.cfg}; it will overwrite
+the definition of \cs{ltj@stdmcfont} and others.
+%</en>
+%<*ja>
+旧バージョンとの互換性のため,
+\LuaTeX から見える位置に\texttt{luatexja.cfg}があれば,\LuaTeX-jaはそれを読み込む.
+しかし,\texttt{luatexja.cfg}内で\cs{ltj@stdmcfont}等が定義されていた場合はそちらが
+優先されるので,もはや\texttt{luatexja.cfg}は使わないほうが良いだろう.
+%</ja>
+
 %<en>\subsection{Prefix \texttt{psft}}
 %<ja>\subsection{\texttt{psft}プリフィックス}
 \label{ssec:psft}
 %<*en>
-Besides ``\texttt{file:}''\ and ``\texttt{name:}''\ prefixes which
+Besides ``\texttt{file}''\ and ``\texttt{name}''\ prefixes which
 are introduced in the \Pkg{luaotfload} package,
-\LuaTeX-ja adds ``\texttt{psft:}''\ prefix in \cs{jfont} (and~\cs{font}),
+\LuaTeX-ja adds ``\texttt{psft}''\ prefix in \cs{jfont} (and~\cs{font}),
 to specify a ``name-only'' Japanese font which
 will not be embedded to PDF.
 Note that these non-embedded fonts under current \LuaTeX\ has Identity-H encoding,
 and this violates the standard ISO32000-1:2008~(\cite{pdfstd}).
 
-\emph{OpenType font features, such as ``{\tt +jp90}'',
-have no meaning in name-only fonts using ``{\tt psft:}''\ prefix,
+\emph{OpenType font features, such as ``\texttt{+jp90}'',
+have no meaning in name-only fonts using ``\texttt{psft}''\ prefix,
 because we can't expect what fonts are actually used by the PDF reader.}
 Note that \texttt{extend}~and~\texttt{slant} settings (see~above) are supported
 with \texttt{psft} prefix, because they are only simple linear transformations.
 %</en>
 %<*ja>
 \Pkg{luaotfload}で使用可能になった
-\texttt{file:}\ と \texttt{name:}\ のプリフィックスに加えて,
+\texttt{file}\ と \texttt{name}\ のプリフィックスに加えて,
 \cs{jfont}(と \cs{font} プリミティブ)では
-\texttt{psft:}プリフィックスを用いることができる.
+\texttt{psft}\ プリフィックスを用いることができる.
 このプリフィックスを用いることで,PDFには埋め込まれない「名前だけの」
 和文フォントを指定することができる.
 なお,現行の\LuaTeX で非埋め込みフォントを作成するとPDF内でのエンコーディングが
@@ -3805,7 +4065,7 @@ Identity-Hとなり,PDFの標準規格ISO32000-1:2008~(\cite{pdfstd})に非準
 ので注意してほしい.
 
 \emph{\texttt{psft} プリフィックスの下では
-\texttt{+jp90} などのOpenType font featureの効力はない.
+\texttt{+jp90} などのOpenType機能の効力はない.
 非埋込フォントをPDFに使用すると,実際にどのようなフォントが
 表示に用いられるか予測できないからである.}\
 \texttt{extend} と \texttt{slant} 指定は単なる変形のため
@@ -3817,25 +4077,26 @@ Identity-Hとなり,PDFの標準規格ISO32000-1:2008~(\cite{pdfstd})に非準
 \label{para-cid}
 
 %<*en>
-The default font defined by using \texttt{psft:} prefix is for Japanese typesetting;
-it is Adobe-Japan1-6 CID-keyed font.
+The default font defined by using \texttt{psft} prefix is for Japanese typesetting;
+it is Adobe-Japan1-7 CID-keyed font.
 One can specify \texttt{cid} key to use other CID-keyed non-embedded fonts
 for Chinese or Korean typesetting.
 %</en>
 %<*ja>
-標準で\texttt{psft:}プリフィックスで定義されるフォントは日本語用のもので
-あり,Adobe-Japan1-6のCIDに対応したものとなる.しかし,\LuaTeX-jaは中国語
+標準で\texttt{psft}\ プリフィックスで定義されるフォントは日本語用のもので
+あり,Adobe-Japan1-7のCIDに対応したものとなる.しかし,\LuaTeX-jaは中国語
 の組版にも威力を発揮することが分かり,日本語フォントでない非埋込フォント
 の対応も必要となった.そのために追加されたのが\texttt{cid}キーである.
 
 \texttt{cid}キーに値を指定すると,そのCIDを持った非埋込フォントを定義することができる:
 %</ja>
 \begin{lstlisting}[numbers=left]
-\jfont\testJ={psft:Ryumin-Light:cid=Adobe-Japan1-6;jfm=jis}     % Japanese
-\jfont\testD={psft:Ryumin-Light:jfm=jis}                        % default value is Adobe-Japan1-6
-\jfont\testC={psft:AdobeMingStd-Light:cid=Adobe-CNS1-6;jfm=jis} % Traditional Chinese
-\jfont\testG={psft:SimSun:cid=Adobe-GB1-5;jfm=jis}              % Simplified Chinese
-\jfont\testK={psft:Batang:cid=Adobe-Korea1-2;jfm=jis}           % Korean
+\jfont\testJ={psft:Ryumin-Light:cid=Adobe-Japan1-7;jfm=jis}    % Japanese
+\jfont\testD={psft:Ryumin-Light:jfm=jis}                       % default: Adobe-Japan1-7
+\jfont\testC={psft:AdobeMingStd-Light:cid=Adobe-CNS1-7;jfm=jis}% Traditional Chinese
+\jfont\testG={psft:SimSun:cid=Adobe-GB1-5;jfm=jis}             % Simplified Chinese
+\jfont\testK={psft:Batang:cid=Adobe-Korea1-2;jfm=jis}          % Korean
+\jfont\testKR={psft:SourceHanSerifAKR9:cid=Adobe-KR-9;jfm=jis} % Korean
 \end{lstlisting}
 %<*en>
 Note that the code above specifies \texttt{jfm-jis.lua}, which is for Japanese fonts,
@@ -3847,11 +4108,11 @@ as JFM for Chinese and Korean fonts.
 %</ja>
 
 %<*en>
-At present, \LuaTeX-ja supports only 4 values written in the sample code above.
+At present, \LuaTeX-ja supports only 5 values written in the sample code above.
 Specifying other values, e.g.,
 %</en>
 %<*ja>
-今のところ,\LuaTeX-jaは上のサンプルコード中に書いた4つの値しかサポートしていない.
+今のところ,\LuaTeX-jaは上のサンプルコード中に書いた5つの値しかサポートしていない.
 %</ja>
 \begin{lstlisting}
 \jfont\test={psft:Ryumin-Light:cid=Adobe-Japan2;jfm=jis}
@@ -3895,7 +4156,7 @@ floating-point numbers in design-size unit.
 %<*ja>
 実際のデータは上で \verb+{ ... }+ で示されたテーブルの中に格納されている.
 以下ではこのテーブルの構造について記す.
-なお,JFMファイル中の長さは全てdesign-sizeを単位とする浮動小数点数であることに
+なお,JFMファイル中の長さは全てdesign sizeを単位とする浮動小数点数であることに
 注意する.
 %</ja>
 
@@ -3961,7 +4222,7 @@ This field specifies the ``ideal'' amount of \Param{kanjiskip}. As noted
 %<*ja>
 理想的な\Param{kanjiskip}の量を指定する.\ref{subs-kskip}節で述べたように,
 もし\Param{kanjiskip}が \cs{maxdimen} の値ならば,このフィールドで指定された
-値が実際には用いられる(指定なしは0\,ptとして扱われる).<stretch>と<shrink>のフィールドもdesign-size
+値が実際には用いられる(指定なしは0\,ptとして扱われる).<stretch>と<shrink>のフィールドもdesign size
 が単位であることに注意せよ.
 %</ja>
 
@@ -4519,7 +4780,7 @@ applying font features by \Pkg{luaotfload}}.
 \item JFMによれば,この「ヒ」のグリフの文字クラスは2000である.
 \item 以上により文字クラス2000とみなされるため,結果として「ヒ」の幅は半角だと認識される.
 \end{enumerate}
-この例は,\emph{文字クラスの決定はfont featureの適用によるグリフ置換の結果に基づく}ことを
+この例は,\emph{文字クラスの決定はOpenType機能の適用によるグリフ置換の結果に基づく}ことを
 示している.
 %</ja>
 
@@ -4550,7 +4811,7 @@ as follows:
 %<*ja>
 ここで,句点「。」(\texttt{U+3002})の文字クラスは,以下のようにして決まる.
 \begin{enumerate}
-\item \Pkg{luaotfload} によって縦組用句点のグリフに置き換わる.
+\item \Pkg{luaotfload}によって縦組用句点のグリフに置き換わる.
 \item 置換後のグリフは \texttt{U+FE12} であり,JFMに従えば文字クラスは\emph{0}と判定される.
 \item この場合,置換前の横組用句点のグリフによって文字クラスを判定する.
 \item 結果として,上の出力例中の句点の文字クラスは2000となる.
@@ -4561,7 +4822,7 @@ as follows:
 %<ja>\paragraph{仮想的な文字}
 %<en>\paragraph{Imaginary characters}
 %<*en>
-As described before, you can specify several \emph{imaginary characters} in
+As described before, you can specify several ``imaginary characters'' in
 \texttt{chars} field. The most of these characters are regarded as the
 characters of class 0 in \pTeX.
 As a result, \LuaTeX-ja can control typesetting finer than \pTeX.
@@ -4580,8 +4841,17 @@ The following is the list of imaginary characters:
 %%<ja>JFMやサイズが異なる2つの\textbf{JAchar}の間の境界として用いられる.
 
 \item['boxbdd']
-%<en>The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \cs{noindent}) paragraph.
-%<ja>hboxの先頭と末尾,及びインデントされていない(\cs{noindent} で開始された)段落の先頭を表す.
+%<*en>
+The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \cs{noindent}) paragraph.
+If a hbox~$b$ begins (resp.~ends) a glue or kern between this ``charater'' and a \textbf{JAchar},
+\textbf{JAglue} won't be inserted before(resp.~after) the hbox~$b$.
+\Param{kanjiskip}~and~\Param{xkanjiskip} around a hbox.
+%</en>
+%<*ja>
+hboxの先頭と末尾,及びインデントされていない(\cs{noindent} で開始された)段落の先頭を表す.
+この「文字」との間に設定したグルー・カーンがボックス$b$の先頭(もしくは末尾)に来た場合,
+  そのボックス$b$の直前(もしくは直後)には和文処理グルーは入らない.
+%</ja>
 
 \item['parbdd']
 %<en>The beginning of an (indented) paragraph.
@@ -4730,9 +5000,9 @@ a \emph{horizontal} Japanese font.
 %<ja>\bf 和文フォント&\bf 欧文フォント\\
 \midrule
 \cs{jfam}${}\in [0,256)$&\cs{fam}\\
-\tt\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\cs{textfont}<fam>=<font\_cs>\\
-\tt\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\cs{scriptfont}<fam>=<font\_cs>\\
-\tt\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\cs{scriptscriptfont}<fam>=<font\_cs>\\
+\ttfamily\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}&\ttfamily\cs{textfont}<fam>=<font\_cs>\\
+\ttfamily\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}&\ttfamily\cs{scriptfont}<fam>=<font\_cs>\\
+\ttfamily\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}&\ttfamily\cs{scriptscriptfont}<fam>=<font\_cs>\\
 \bottomrule
 \end{tabular}
 \end{table}
@@ -4831,9 +5101,11 @@ For $i\in\omega$, \texttt{char\_type[$i$]} is information of characters whose cl
        scaled value of those specified by the JFM, by the font size.
  \item \texttt{align} is a number which is determined from \texttt{align}~field in the JFM:
 \[
- \begin{cases}
-  0&\text{\texttt{'left'} (default)}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
- \end{cases}
+ \begin{cases*}
+  1&(\texttt{'right'} in JFM),\\
+  0.5&(\texttt{'middle'} in JFM),\\
+  0&(otherwise).
+ \end{cases*}
 \]
 \end{itemize}
 For $i$,~$j\in \omega$, \texttt{char\_type[$i$][$j$]} stores a kern or a glue which will be inserted
@@ -4865,9 +5137,11 @@ $i\in\omega$に対して,\texttt{char\_type[$i$]} は文字クラス$i$の文
 JFMで指定されているそれぞれの値をスケーリングしたものである.
  \item \texttt{align} はJFMで指定されている値によって,
 \[
- \begin{cases}
-  0&\text{\texttt{'left'}や省略時}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
- \end{cases}
+ \begin{cases*}
+  1&(\texttt{'right'} in JFM),\\
+  0.5&(\texttt{'middle'} in JFM),\\
+  0&(otherwise).
+ \end{cases*}
 \]
 のいずれかの値をとる.
 \end{itemize}
@@ -4876,10 +5150,10 @@ $i$,~$j\in \omega$に対して,\texttt{char\_type[$i$][$j$]} は
 \begin{itemize}
   \item 間に入るものがカーンであれば,この値は\
 \texttt{[$j$]=\{[1]=<kern\_node>, ratio=<ratio>\}} であり,
-<kern\_node>ã\81¯ã\82«ã\83¼ã\83³ã\82\92表ã\81\99ã\83\8eã\83¼ã\83\89ã\81\9dã\81®ã\82\82ã\81®ã\81§ã\81\82ã\82\8b\footnote{%
-バージョン20150420.0以降ではノードのアクセス手法にdirect access
-      modelを用いている.そのため,例えば\LuaTeX\ beta-0.78.2では,単なる自然数のようにし
-      か見えないことに注意
+<kern\_node>はカーンを表すノードである\footnote{%
+      バージョン20150420.0以降ではノードのアクセス手法にdirect access
+      modelを用いているため,ノードそのものを表すユーザーデータではなく,
+      内部で参照のために使われる添字(整数)である
 }.
   \item グルーであれば,この値は以下のキーを持つテーブルである.
   \begin{description}
@@ -4894,8 +5168,6 @@ $i$,~$j\in \omega$に対して,\texttt{char\_type[$i$][$j$]} は
     JFM中の同名のフィールドの値がそのまま使われている.
   \end{description}
 \end{itemize}
-\item[ascent\textrm{, }descent]
-……
 \item[chars\_cbcache]
 文字クラス決定の処理で.キャッシュとして使われる.
 \end{cslist}
@@ -5020,8 +5292,6 @@ Then, the position of glyphs is shifted up by
 \]
 \end{description}
 
-
-
 %<en>\section{Parameters}
 %<ja>\section{パラメータ}
 \subsection{\cs{ltjsetparameter}}
@@ -5045,18 +5315,17 @@ of \LuaTeX, see Section~\ref{sec-para}.
 
 %<*en>
 \cs{ltjsetparameter} and \cs{ltjglobalsetparameter} are commands
-for assigning parameters. These take one argument which is a
-\texttt{<key>=<value>} list.
+for assigning parameters. These take one argument which is a key-value list.
 The difference between these two commands is the
 scope of assignment;
 \cs{ltjsetparameter} does a local assignment and
-\cs{ltjglobalsetparameter} does a global one.
+\cs{ltjglobalsetparameter} does a global one by default.
 They also obey the value of \cs{globaldefs}, like other assignments.
 %</en>
 %<*ja>
 \cs{ltjsetparameter} と \cs{ltjglobalsetparameter} はパラメータを
-指定するための命令で,\texttt{<key>=<value>}のリストを
-引数としてとる.両者の違いはスコープであり,
+指定するための命令で,key-valueリストを
+引数としてとる.両者の違いはスコープであり,標準では
 \cs{ltjsetparameter} はローカルな設定を行うのに対し,
 \cs{ltjglobalsetparameter} はグローバルな設定を行う.
 また,他のパラメータ指定と同様に \cs{globaldefs} の値にも従う.
@@ -5875,6 +6144,9 @@ If the current Japanese font is \cs{hoge}, \texttt{U+3000}--\texttt{U+30FF}
 and characters in class~1 (ideographic opening brackets)
 are typeset by \cs{piyo}.
 \end{quote}
+
+Note that specifying negative numbers needs specification like \verb+{-1}-{-1}+,
+because simple ``\texttt{-1}'' is treated as the range between 0~and~1.
 %</en>
 %<*ja>
 \cs{jfont} の書式を見ればわかるように,基本的には\LuaTeX-jaにおける1つの和文フォントに
@@ -5919,24 +6191,96 @@ are typeset by \cs{piyo}.
 \textbf{ALchar}か\textbf{JAchar}か,つまり欧文フォントで出力されるか和文フォントで出力され
 るかが決まる.
 
-文字範囲の設定を無視し,文字コードが$\text{<chr\_code>}~(\geq 128=\mathtt{0x80})$の文字を強制的に
+文字範囲の設定を無視し,文字コードが<chr\_code>の文字を強制的に
 \textbf{ALchar}, \textbf{JAchar}で出力する命令がそれぞれ
 \ \cs{ltjalchar},~\cs{ltjjachar} である.使用方法は \cs{char} と同じく
 \ \cs{ltjalchar}<chr\_code>, \cs{ltjjachar}<chr\_code>とすればよい.
-<chr\_code>が127以下の場合は,\cs{ltjjachar} であっても\textbf{ALchar}として出力されること
-に注意
+\LuaTeX-ja~20190926.0から,<chr\_code>が127以下の場合でも\cs{ltjjachar}<chr\_code>が
+\textbf{JAchar}として出力されるようになっている
 
-以下は\ref{ssec:setrange}節に載せた例に,\cs{char} の動作を追加したものである.
+以下は\ref{ssec:setrange}節に載せた例に,\cs{char} の動作などを追加したものである.
+%</ja>
 \begin{LTXexample}[width=0.25\textwidth]
-\gtfamily\large % default, ALchar, JAchar
-¶, \char`¶, \ltjalchar`¶, \ltjjachar`¶\\    % default: ALchar
-α, \char`α, \ltjalchar`α, \ltjjachar`α  % default: JAchar
+\gtfamily\large
+¶,\char`¶,\ltjalchar`¶,\ltjjachar`¶\\     % default: ALchar
+α,\char`α,\ltjalchar`α,\ltjjachar`α\\ % default: JAchar
+g,\char`g,\ltjalchar`g,\ltjjachar`g       % ALchar unless \ltjjachar
 \end{LTXexample}
-%</ja>
 
 %<en>\section{Commands for \LaTeXe}
 %<ja>\section{\LaTeXe 用の命令}
 
+%<*en>
+\subsection{Loading Japanese fonts in \LaTeXe}
+\label{ssec:ltx-jfm}
+From versoin~20190107, 
+\emph{\LuaTeX-ja does not load Japanese fonts for horizontal direction and
+  that for vertical direction at same time},
+to reduce the number of loaded fonts.
+This will save time for typesetting and memory consumption of Lua side (\cite{tc18ltja}).
+
+\begin{itemize}
+  \item \cs{selectfont} loads (and chooses) only the Japanese font for current direction,
+  and does not load the Japanese font for other direction
+  (\LuaTeX-ja only detects its size and JFM, to calculate the amount of shifting the baseline).
+
+  \item Direction changing commands (\cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod}) are patched to
+  include the following process:
+  \begin{quote}
+       If the Japanese font for new direction is not loaded,
+       \LuaTeX-ja loads it automatically.
+  \end{quote}
+  Original commands are saved as \cs{ltj@@orig@yoko} etc.
+  
+  \item Specifying Japanese font command which is
+  defined by \cs{jfont},~\cs{tfont}, or~\cs{DeclareFixedFont} directly
+  actually loads (and selects) the Japanese font.
+  For example, \textbf{JAchar}s in \cs{box0} will be typeset in \cs{HOGE},
+  in the following code:
+\begin{lstlisting}
+  % in horizontal direction (\yoko)
+  \DeclareFixedFont\HOGE{JT3}{gt}{m}{n}{12} % JT3: for vertical direction
+  \HOGE
+  \setbox0=\hbox{\tate あいう}
+\end{lstlisting}
+  \end{itemize}
+%</en>
+
+%<*ja>
+\subsection{\LaTeXe 下での和文フォントの読み込み}
+\label{ssec:ltx-jfm}
+バージョン20190107以降では,\LaTeXe の下で\LuaTeX-jaを使用した際に,
+\emph{横組用和文フォントと縦組み用和文フォントを両方一度に読み込み・選択せずに,
+  実際にそれぞれを使う組方向になったときに行う}という方針にした.
+これは実際に読み込むフォント数を削減することで,
+タイプセットにかかる時間と(主にLuaの)メモリ消費を削減するためである(\cite{tc18ltja}).
+
+\begin{itemize}
+  \item \cs{selectfont}は横組用・縦組用和文フォントのうち,現在の組方向で使う方を
+  実際に読み込み(・選択し),そうでない方は「フォントサイズとJFMのみ\LuaTeX-jaが把握している状態」
+  (以下,\emph{JFM把握状態})とする.
+
+  \item 組方向変更命令\cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod}には
+  \begin{quote}
+       新たな組方向での和文フォントが読み込まれていない(JFM把握状態)ならば,
+       現在のエンコーディング・ファミリ・シリーズ・シェイプから改めて読み込む(または選択する)
+  \end{quote}
+  処理が付け加えられている.
+  もとの「組方向を変更するだけ」の命令は\cs{ltj@@orig@yoko}のように\texttt{ltj@@orig@}が前についた
+  命令に保存されている.
+  
+  \item \cs{jfont},~\cs{tfont},~\cs{DeclareFixedFont}で定義された和文フォントは
+  その時点で実際にフォントが読み込まれる.すなわち,以下のコードにおいて,
+  \cs{box0}中の\textbf{JAchar}は\cs{HOGE}でタイプセットされる.
+\begin{lstlisting}
+  % in horizontal direction (\yoko)
+  \DeclareFixedFont\HOGE{JT3}{gt}{m}{n}{12} % JT3: for vertical direction
+  \HOGE
+  \setbox0=\hbox{\tate あいう}
+\end{lstlisting}
+  \end{itemize}
+%</ja>
+
 %<en>\subsection{Patch for NFSS2}
 %<ja>\subsection{NFSS2へのパッチ}
 \label{ssec:nfsspat}
@@ -5982,13 +6326,14 @@ for information of current Japanese font:
 %<*ja>
 を定義している.なお,\cs{cwd} と \cs{zw},また
 \cs{cHT} と \cs{zh} は一致しない可能性がある.なぜなら,
-\cs{cwd},~\cs{cHT} は「あ」の寸法から決定されるのに対し,
+\cs{cwd},~\cs{cHT} は文字クラス0の和文文字の寸法から決定されるのに対し,
 \cs{zw} と \cs{zh} はJFMに指定された値に過ぎないからである.
 %</ja>
 %<*en>
 Note that \cs{cwd}~and~\cs{cHT} may  differ from \cs{zw}~and~\cs{zh}
 respectively.
-On the one hand the former dimensions are determined from the character ``あ'',
+On the one hand the former dimensions are determined from
+a character whose character class is zero,
 but on the other hand \cs{zw}~and~\cs{zh} are specified by JFM.
 %</en>
 
@@ -6042,9 +6387,9 @@ The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaul
             更させるようにするのが一般的と思われる.
 
 本命令は
-\begin{center}\tt
-<unified-cmd>\{<arg>\}\quad$\longrightarrow$\quad
-(<al-cmd>の1段展開結果)\{<ja-cmd>の1段展開結果)\{<arg>\}\}
+\begin{center}
+<unified-cmd>\texttt{\{}<arg>\texttt{\}}\quad$\longrightarrow$\quad
+(<al-cmd>の1段展開結果)\texttt{\{}<ja-cmd>の1段展開結果)\texttt{\{<arg>\}\}}
 \end{center}
 と定義を行うので,使用には注意が必要である:
 %<en>\vspace{-\medskipamount}
@@ -6083,46 +6428,53 @@ assignment, where \cs{DeclareRelationFont} does a global assignment.
   font family with respect to current Japanese font family,
   which was set by
   \cs{DeclareRelationFont} or \cs{SetRelationFont}.
+
+  The following is an example of \cs{SetRelationFont} and \cs{userelfont}:
 %</en>
 %<*ja>
 次回(のみ)の\cs{selectfont}の実行時に,現在の欧文フォントのエンコーディング/ファミリ/…… を,
 \cs{DeclareRelationFont} か \cs{SetRelationFont} で指定された
 現在の和文フォントに対応する「従属欧文」フォントに変更する.
+
+  以下に \cs{SetRelationFont} と \cs{userelfont} の例を
+紹介しておこう.\cs{userelfont} の使用によって,「abc」の部分のフォントが
+Latin Modern Sans Serif (TU/lmss/m/n) に変わっていることがわかる.
 %</ja>
+\begin{LTXexample}[width=0.3\textwidth]
+\makeatletter
+\SetRelationFont{JY3}{\k@family}{m}{n}{TU}{lmss}{m}{n}
+  % \k@family: current Japanese font family
+\userelfont\selectfont あいうabc
+\end{LTXexample}
 
 \item[\cs{adjustbaseline}]
 %<*en>
 In \pLaTeXe, \cs{adjustbaseline} sets \cs{tbaselineshift}
-to match the vertical center of ``M'' and that of ``''  in vertical typesetting:
+to match the vertical center of ``M'' and that of ``''  in vertical typesetting:
 \[
 \text{\cs{tbaselineshift}} \leftarrow
-\frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{あ}}+d_{\text{あ}})}2
-  + d_{\text{}} - d_{\text{M}},
+\frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{漢}}+d_{\text{漢}})}2
+  + 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 similar task, namely setting the
-            \Param{talbaselineshift} parameter.
-If the \LaTeX\ is 2015/10/01 release or later, \LuaTeX-ja use a Japanese
-character whose character class is zero,  instead of `あ'.
+            \Param{talbaselineshift} parameter
+(a Japanese character whose character class is zero is used, instead of `漢' ).
 %</en>
 %<*ja>
-\pLaTeXe では,\cs{adjustbaseline} は縦組時に「M」と「」の中心線を一致させるために,
-\cs{tbaselineshift} ã\82\92設å®\9aã\81\99ã\82\8bå½¹å\89²ã\82\92æ\8c\81ã\81£ã\81¦ã\81\84ã\81\9f
+\pLaTeXe では,\cs{adjustbaseline} は縦組時に「M」と「」の中心線を一致させるために,
+\cs{tbaselineshift} ã\82\92設å®\9aã\81\99ã\82\8bå½¹å\89²ã\82\92æ\8c\81ã\81£ã\81¦ã\81\84ã\82\8b
 \[
 \text{\cs{tbaselineshift}} \leftarrow
-\frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{あ}}+d_{\text{あ}})}2
-  + d_{\text{}} - d_{\text{M}},
+\frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{漢}}+d_{\text{漢}})}2
+  + d_{\text{}} - d_{\text{M}},
 \]
 ここで,$h_{a}$,~$d_{a}$はそれぞれ「$a$」の高さ・深さを表す.
-\LuaTeX-jaにおいても\cs{adjustbaseline} は同様に\Param{talbaselineshift}パラメータの調整処
-            理を行っている.
-
-同時に,これも\pLaTeXe の \cs{adjustbaseline} で同様の処理が行われていたが,
-「漢」の寸法を元に(本節の最初に述べた,小文字で始まる)\cs{cht}, \cs{cwd}
-といった長さ変数を設定する.
+\LuaTeX-jaにおいても,同じように\cs{adjustbaseline}は\Param{talbaselineshift}パラメータの調整処
+            理を行っている(但し「漢」でなく「文字クラス0の和文文字」を用いる).
 
-なお,\LaTeX が2015/10/01版以降の場合は,「あ」「漢」の代わりに
-「文字クラス0の和文文字」を用いる.
+\pLaTeXe では,\cs{adjustbaseline}で(本節の最初に述べた,小文字で始まる)\cs{cht}, \cs{cwd}%の
+  設定処理も行っていたが,\LuaTeX-jaでも全く同様である.
 %</ja>
 
 \item[\cs{fontfamily}\{<family>\}]
@@ -6135,15 +6487,77 @@ to <family>. See Subsection~\ref{ssec:fontfamilycmd} for detail.
 和文,\emph{もしくは両方})を<family>に変更する.詳細は\ref{ssec:fontfamilycmd}節を参照すること.
 %</ja>
 
+\item[\cs{fontshape}\{<shape>\}\textrm{, }\cs{fontshapeforce}\{<shape>\}]
+%<*en>
+As in \LaTeXe, this command changes current alphabetic font shape
+according to shape change rules.
+
+Traditionally, \cs{fontshape} changes also current Japanese font shape always.
+However, this leads a lot of \LaTeX\ font warning like
+\begin{verbatim}
+    Font shape `JY3/mc/m/it' undefined
+    using `JY3/mc/m/n' instead on ....
+\end{verbatim}
+when \cs{itshape} is called,
+because almost all Japanese fonts only have shape ``\texttt{n}'', and \cs{itshape} calls \cs{fontshape}.
+
+\LuaTeX-ja~********.0 (with \LaTeX\ 2020-02-02 or~later) change the behavior. Namely,
+\cs{fontshape\{<shape>\}}, \cs{fontshapeforce\{<shape>\}} change current Japanese font shape, only if
+the required shape (according to shape changing rules) or <shape> is avaliable in current Japanese font family/series.
+When this is not the case, an info such as
+\begin{verbatim}
+    Kanji font shape JY3/mc/m/it' undefined
+    No change on ...
+\end{verbatim}
+is issued instead of a warning.
+%</en>
+%<*ja>
+元々の\LaTeXe におけるものと同様に,このコマンドは現在の欧文フォントシェイプを
+\cs{DeclareFontShapeChangeRule}によるシェイプ更新規則によって変更する.
+
+伝統的には,\cs{fontshape}は無条件に和文フォントシェイプも変更した.しかし,例えば多くの和文フォントは
+シェイプが``\texttt{n}''しか持たないことと\cs{itshape}が\cs{fontshape}を呼び出すことから,
+\begin{verbatim}
+    Font shape `JY3/mc/m/it' undefined
+    using `JY3/mc/m/n' instead on ....
+\end{verbatim}
+といった警告をもたらしてしまっていた.
+
+一方,\LuaTeX-ja ********.0以降では,
+\cs{fontshape\{<shape>\}}, \cs{fontshapeforce\{<shape>\}}が和文フォントシェイプを更新するのは,
+シェイプ更新規則に基づいた値や<shape>の少なくとも一つが現在の和文フォントファミリ・シリーズで利用可能なときに限られる.
+どちらでもなく,和文フォントシェイプが変更されなかった場合には
+\begin{verbatim}
+    Kanji font shape JY3/mc/m/it' undefined
+    No change on ...
+\end{verbatim}
+というinfo(警告でなく)を出力する.
+%</ja>
+
+\item[\cs{kanjishape}\{<shape>\}\textrm{, }\cs{kanjishapeforce}\{<shape>\}]
+%<*en>
+\cs{kanjishape\{<shape>\}} changes current Japanese font shape according to shape change rules, and
+\cs{kanjishape\{<shape>\}} changes current Japanese font shape to <shape>, regardless of the rules.
+Hence \cs{kanjishape\{it\}} produces a warning
+\begin{verbatim}
+    Font shape `JY3/mc/m/it' undefined
+    using `JY3/mc/m/n' instead on ....
+\end{verbatim}
+which is not produced by \cs{fontshape\{it\}}.
+%</en>
+%<*ja>
+  ...
+%</ja>
+
 
 \begin{figure}[!tb]
 \begin{LTXexample}[pos=b]
 \DeclareKanjiFamily{JY3}{edm}{}
-\DeclareFontShape{JY3}{edm}{m}{n}    {<-> s*KozMinPr6N-Regular:jfm=ujis;}{}
-\DeclareFontShape{JY3}{edm}{m}{green}{<-> s*KozMinPr6N-Regular:jfm=ujis;color=007F00}{}
-\DeclareFontShape{JY3}{edm}{m}{blue} {<-> s*KozMinPr6N-Regular:jfm=ujis;color=0000FF}{}
-\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{green}{"4E00-"67FF,{-2}-{-2}}
-\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{blue}{ "6800-"9FFF}
+\DeclareFontShape{JY3}{edm}{m}{n}   {<-> s*KozMinPr6N-Regular:jfm=ujis;}{}
+\DeclareFontShape{JY3}{edm}{m}{fb}  {<-> s*KozGoPr6N-Regular:jfm=ujis}{}
+\DeclareFontShape{JY3}{edm}{m}{fb2} {<-> s*KozGoPr6N-Medium:jfm=ujis}{}
+\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{fb}{ "4E00-"67FF,{-2}-{-2}}
+\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{fb2}{"6800-"9FFF}
 {\kanjifamily{edm}\selectfont
 日本国民は、正当に選挙された国会における代表者を通じて行動し、……}
 \end{LTXexample}
@@ -6164,7 +6578,7 @@ to <family>. See Subsection~\ref{ssec:fontfamilycmd} for detail.
 \begin{itemize}
  \item
 \cs{ltjdeclarealtfont} では基底フォント・置き換え先和文フォントはあらかじめ定義されてい
-            ã\81ªã\81\84ã\81¨ã\81\84ã\81\91ã\81ªã\81\84ï¼\88ã\81\9dã\81®ä»£ã\82\8fã\82\8aå\8d³æ\99\82ç\99ºå\8a¹ï¼\89ã\81§ã\81\82ã\81£ã\81\9fã\81\8cï¼\8c
+            ないといけない(その代わり即時発効)たが,
 \cs{DeclareAlternateKanjiFont} の設定が
 実際に効力が発揮するのは,書体変更やサイズ変更を行った時,
 あるいは(これらを含むが)\cs{selectfont} が実行された時である.
@@ -6194,21 +6608,35 @@ current Japanese font is changed, or only after \cs{selectfont} is executed.
 %</en>
 \end{cslist}
 
+
 %<*en>
-As closing this subsection, we shall introduce an example of
-\cs{SetRelationFont} and \cs{userelfont}:
+Furthermore, \LuaTeX-ja applies patches which enables NFSS2 commands,
+such~as \cs{DeclareSymbolFont}~and~\cs{SetSymbolFont}, to specify
+Japanee fonts as math fonts.
+
+Specifying \texttt{disablejfam} option in \cs{usepackage} prevents
+applying these patches.
+Hence one cannot write Japanese Characters in math mode directly
+if \texttt{disablejfam} option is specified.
+The code below does not work either:
+\begin{lstlisting}
+\DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
+\DeclareSymbolFontAlphabet{\mathmc}{mincho}
+\end{lstlisting}
 %</en>
 %<*ja>
-この節の終わりに,\cs{SetRelationFont} と \cs{userelfont} の例を
-紹介しておこう.\cs{userelfont} の使用によって,「abc」の部分のフォントが
-Latin Modern Sans Serif (TU/lmss/m/n) に変わっていることがわかる.
+この他にも,標準では
+\cs{DeclareSymbolFont}, \cs{SetSymbolFont} などの命令で
+(NFSS2の枠組みで)数式フォントとして日本語フォントを使えるようにするためのパッチを当てている.
+
+一方,\texttt{disablejfam}オプション指定時には,これらのパッチを当てないので
+\begin{lstlisting}
+\DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
+\DeclareSymbolFontAlphabet{\mathmc}{mincho}
+\end{lstlisting}
+のように設定しても,数式モード中に直に日本語を記述することはできない.
+\verb|$\mathmc{あ}$| のように \cs{mathmc} で囲んでもできない.
 %</ja>
-\begin{LTXexample}[width=0.3\textwidth]
-\makeatletter
-\SetRelationFont{JY3}{\k@family}{m}{n}{TU}{lmss}{m}{n}
-  % \k@family: current Japanese font family
-\userelfont\selectfont あいうabc
-\end{LTXexample}
 
 %<en>\subsection{Detail of \cs{fontfamily} command}
 %<ja>\subsection{\cs{fontfamily}コマンドの詳細}
@@ -6507,11 +6935,11 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec:psft}.
 \begin{figure}[!tb]
 \begin{LTXexample}[width=0.25\textwidth]
 \jfontspec[
-  YokoFeatures={Color=007F00}, TateFeatures={Color=00007F},
+  YokoFeatures={FakeBold=3}, TateFeatures={FakeBold=6},
   TateFont=KozGoPr6N-Regular
 ]{KozMinPr6N-Regular}
 \hbox{\yoko 横組のテスト}\hbox{\tate 縦組のテスト}
-\addjfontfeatures{Color=FF0000}
+\addjfontfeatures{FakeBold=0}
 \hbox{\yoko 横組}\hbox{\tate 縦組}
 \end{LTXexample}
 %<ja>\caption{\texttt{TateFeatures} 等の使用例}
@@ -6557,8 +6985,8 @@ A demonstrarion is shown in \autoref{fig:yokotate-fontspec}.
 \begin{LTXexample}[pos=b]
 \jfontspec[
   AltFont={
-    {Range="4E00-"67FF, Color=007F00},
-    {Range="6800-"9EFF, Color=0000FF},
+    {Range="4E00-"67FF, Font=KozGoPr6N-Medium},
+    {Range="6800-"9EFF, FakeBold=4},
     {Range="3040-"306F, Font=KozGoPr6N-Regular},
   }
 ]{KozMinPr6N-Regular}
@@ -6621,7 +7049,7 @@ For example,
 \begin{lstlisting}
 AltFont = {
   { Font=HogeraMin-Light, BoldFont=HogeraMin-Bold,
-    Range="3000-"30FF, BoldFeatures={Color=007F00} }
+    Range="3000-"30FF, BoldFeatures={FakeBold=1} }
 }
 \end{lstlisting}
 does \emph{not} work. Instead, one have to write
@@ -6630,7 +7058,7 @@ UprightFeatures = {
   AltFont = { { Font=HogeraMin-Light, Range="3000-"30FF, } },
 },
 BoldFeatures = {
-  AltFont =  { { Font=HogeraMin-Bold, Range="3000-"30FF, Color=007F00 } },
+  AltFont =  { { Font=HogeraMin-Bold, Range="3000-"30FF, FakeBold=1 } },
 }
 \end{lstlisting}
 
@@ -6653,7 +7081,7 @@ has no effect, because a color specification is already done in
 \begin{lstlisting}
 AltFont = {
   { Font=HogeraMin-Light, BoldFont=HogeraMin-Bold,
-    Range="3000-"30FF, BoldFeatures={Color=007F00} }
+    Range="3000-"30FF, BoldFeatures={FakeBold=1} }
 }
 \end{lstlisting}
 のように指定することは出来ず,
@@ -6662,7 +7090,7 @@ UprightFeatures = {
   AltFont = { { Font=HogeraMin-Light, Range="3000-"30FF, } },
 },
 BoldFeatures = {
-  AltFont =  { { Font=HogeraMin-Bold, Range="3000-"30FF, Color=007F00 } },
+  AltFont =  { { Font=HogeraMin-Bold, Range="3000-"30FF, FakeBold=1 } },
 }
 \end{lstlisting}
 のように指定しなければならない.
@@ -6672,8 +7100,8 @@ BoldFeatures = {
 指定することは可能であり.また\ \texttt{YokoFeatures},~\texttt{TateFeatures} キーの
 中身に \texttt{AltFont} を指定することができる.
 
-また,\autoref{fig:yokotate-fontspec}後半部では6行目のの指定が効かず,
-2行目で指定した\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ によるの指定が有効になっ
+また,\autoref{fig:yokotate-fontspec}後半部では6行目の疑似太字無効化の指定が効かず,
+2行目で指定した\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ による疑似太字の指定が有効になっ
 たままである.これは\emph{\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ による
 OpenType機能指定は
 組方向に依存しないOpenType機能の指定より後に解釈される}からである.
@@ -6697,16 +7125,20 @@ commands:
 \item[\cs{CID}\{<number>\}]
 %<*en>
 Typeset a glyph whose CID number is <number>.
-If the Japanese font is neither Adobe-Japan1,~Adobe-GB1, Adobe-CNS1,~nor~Adobe-Korea1 CID-keyed font,
+If the Japanese font is neither Adobe-Japan1,~Adobe-GB1, Adobe-CNS1,
+Adobe-Korea1,~nor~Adobe-KR CID-keyed font,
 \LuaTeX-ja treats that <number> is a CID number of Adobe-Japan1 character collection,
 and tries to typeset a ``most suitable glyph''.
 %</en>
 %<*ja>
 CID番号が<number>の文字を出力する.
-もし現在の和文フォントがAdobe-Japan1,~Adobe-GB1, Adobe-CNS1,~Adobe-Korea1
+もし現在の和文フォントがAdobe-Japan1,~Adobe-GB1, Adobe-CNS1, Adobe-Korea1,~Adobe-KR
   いずれのCID-keyed fontでもない場合,<number>はAdobe-Japan1のCID番号であると解釈し
   「適切なグリフ」\footnote{%
-  例えばフォントにIVDコレクションAdobe-Japan1が含まれていれば,その情報を用いて
+  特に縦組用グリフのCID番号を指定した場合は(LuaTeX-ja 20190504.0以降では若干改良されているが)
+  意図しない結果になる可能性が高い.
+  なお,バージョン20190708.0以降では,CIDからグリフへの選択にグリフ名の情報を使用していない.
+  また,フォントにIVDコレクションAdobe-Japan1が含まれていれば,その情報を用いて
   グリフを選択する.
 }を出力する.
 %</ja>
@@ -6756,13 +7188,21 @@ ordinary characters in the following points:
 \item 常に\textbf{JAchar}として扱われる.
 %</ja>
 %<*en>
-\item Processing codes for supporting OpenType features (\textit{e.g.},
+\item In vertical direction, \texttt{vert}/\texttt{vrt2} feature are automatically applied to
+      characters by \cs{UTF}, regardless these feature are not activated in current Japanese font.
+%</en>
+%<*ja>
+\item 縦組時には,現在の縦組用和文フォントで \texttt{vert}/\texttt{vrt2} 機能が
+  有効か無効かを問わず,\cs{UTF} で出力される文字にはこれらのOpenType機能が働いた字形になる.
+%</ja>
+%<*en>
+\item Processes for supporting other OpenType features (for example,
       glyph replacement and kerning) by the \Pkg{luaotfload} package
       is not performed to these characters.
 %</en>
 %<*ja>
-\item OpenType機能(例えばグリフ置換やカーニング)をサポートするための
-  \Pkg{luaotfload}ã\83\91ã\83\83ã\82±ã\83¼ã\82¸ã\81®ã\82³ã\83¼ã\83\89はこれらの文字には働かない.
+\item その他のOpenType機能(例えばグリフ置換やカーニング)をサポートするための
+  \Pkg{luaotfload}ã\83\91ã\83\83ã\82±ã\83¼ã\82¸ã\81«ã\82\88ã\82\8bå\87¦ç\90\86はこれらの文字には働かない.
 %</ja>
 \end{itemize}
 
@@ -6934,7 +7374,8 @@ for making the difference obvious.}
          \item \cs{prevdepth}の値とその$h'$の深さの値が一致している
        \end{itemize}
        場合にのみ発動するようにしている.
-       \item 行の中身に水平ボックス$h''$が入ってくることもあるが,その場合は$h''$の中身までは参照しない.
+       \item 行の中身に水平ボックス$h''$が入ってくることもあるが,その場合は$h''$の中身の高さ・深さまでは
+       参照せず,あくまでも$h''$自身の高さ・深さのみを参照する.
        参照するようにしてしまうと,\cs{smash}など手動で行った高さ・深さ調整の意味がなくなってしまうからである.
   \end{itemize}
   
@@ -7019,7 +7460,7 @@ for making the difference obvious.}
 \begin{description}
   \item[\texttt{lineend=[false,true,extended]}]
   行末文字の位置調整の機能を無効化(\texttt{false}),「行分割後に調整」の形で有効化(\texttt{true}),
-  「行分割の仮定で考慮」の形で有効化(\texttt{extended})する.
+  「行分割の過程で考慮」の形で有効化(\texttt{extended})する.
   \item[\texttt{priority=[false,true]}]
   優先順位付きの行長調整を無効化(\texttt{false}),または有効化(\texttt{true}).
   \item[\texttt{profile=[false,true]}]
@@ -7043,7 +7484,7 @@ for making the difference obvious.}
 と同義.
 \end{cslist}
 
-また,優先順位付きの行長調整のために,次の3パラメータが\cs{ltjsetparameter}内で
+また,次のパラメータが\cs{ltjsetparameter}内で
 追加される.いずれもグローバルに効力を発揮する.
 \begin{cslist}[style=standard]
 \item[\DParam{stretch\_priority}\,=\{<list>\}]
@@ -7059,22 +7500,30 @@ stretch_priority={kanjiskip=-35,xkanjiskip=-25,others=50}
 \texttt{others}キーが「\textbf{JAglue}以外のグルー」を表す.
 各キーの値は,JFMグルーにおける「優先度$i$」を$10i$に対応させた整数値であり,
   大きい方が先に伸ばされることを意味している.
+  初期値は
+\begin{lstlisting}
+{kanjiskip=-35,xkanjiskip=-25,others=50}
+\end{lstlisting}
+であり,「優先度$-4$」と指定されているJFMグルーが最も伸びにくいようになっている.
 
 \item[\DParam{shrink\_priority}\,=\{<list>\}]
 同様に,「行を自然長より縮める」場合の調整に用いる優先度を指定する.
-それ以外は\Param{stretch\_priority}と指定の形式は変わらない.
\81\9dã\82\8c以å¤\96ã\81¯\Param{stretch\_priority}ã\81¨æ\8c\87å®\9aã\81®å½¢å¼\8fã\81¯å¤\89ã\82\8fã\82\89ã\81ªã\81\84ï¼\88å\88\9dæ\9c\9få\80¤ã\82\82å¤\89ã\82\8fã\82\89ã\81ªã\81\84ï¼\89ï¼\8e
 
  \item[\DParam{linestep\_factor}\,=<float>]
-  段階的な行送り調整の際,\cs{baselineskip}の何倍単位で行送りを変えるかを指定する.
+  段階的な行送り調整の際,\cs{baselineskip}の自然長の何倍単位で行送りを変えるかを指定する.
   0を指定すると無効になるのと変わらない.また負数を指定すると,
   その絶対値が指定されたかのように扱われる.
   初期値は0.5(つまり半行単位)である.
+
+  \item[\DParam{profile\_hgap\_factor}\,=<float>]
+  「中身まで見た」行送り計算の際,
+  前の行にある深さが大きいものと次の行にある高さが大きいものが
+  水平方向にどれだけ離れていないといけないかを
+  「\cs{lineskip}の自然長の何倍か」で指定する.
+  負数を指定すると,その絶対値が指定されたかのように扱われる.
+  初期値は1(つまり\cs{lineskip}(の自然長))である.
 \end{cslist}
-\Param{stretch\_priority}, \Param{shrink\_priority}の初期値はどちらも
-\begin{lstlisting}
-{kanjiskip=-35,xkanjiskip=-25,others=50}
-\end{lstlisting}
-であり,「優先度$-4$」と指定されているJFMグルーが最も伸び(縮み)にくいようになっている.
 %</ja>
 
 \subsection{\Pkg{luatexja-ruby}}
@@ -7465,9 +7914,14 @@ In this case, one can use \cs{setmainfont} etc.\ to select \emph{alphabetic} fon
 %</en>
 %<*ja>
 \LaTeX 標準のフォント選択機構(NFSS2)を用いて
-\texttt{ltjpm}(明朝),\texttt{ltjpg}(ゴシック),それに後に述べる \texttt{deluxe} オプ
-            ションが指定された場合には \texttt{ltjpmg}(丸ゴシック)という
-3つの和文フォントファミリを定義し,これらを用いる.
+\texttt{ltjpm}$n$(明朝),\texttt{ltjpg}$n$(ゴシック),
+それに後に述べる\texttt{deluxe}オプションが指定された場合には
+\texttt{ltjpmg}$n$(丸ゴシック)という
+和文フォントファミリを定義%
+\footnote{%
+  $n$は自然数であり,\cs{ltjapplypreset}の実行(この命令は\Pkg{luatexja-preset}パッケージ
+  読み込み時に自動的に実行される)ごとに増加していく.
+}し,これらを用いる.
 
 本オプション指定時には\Pkg{fontspec}・\Pkg{luatexja-fontspec}パッケージは
 自動では読み込まれない,しかし,
@@ -7477,9 +7931,10 @@ In this case, one can use \cs{setmainfont} etc.\ to select \emph{alphabetic} fon
 \end{lstlisting}
 のようにすれば,このオプションを指定すれば
 欧文フォントを\Pkg{fontspec}パッケージの機能を使って指定することができる.
-一方,
-パッケージ読み込み時に既に\Pkg{luatexja-fontspec}パッケージが読み込まれて
-            いる場合は \texttt{nfssonly} オプションは無視される.
+
+一方,\Pkg{luatexja-preset}パッケージ読み込み時に
+既に\Pkg{luatexja-fontspec}パッケージが読み込まれている場合は
+\texttt{nfssonly}オプションは無視される.
 %</ja>
 
 \item[match]
@@ -7560,7 +8015,7 @@ characters designed for ruby.
 %<*ja>
 横組・縦組専用仮名を用いる.また,\cs{rubyfamily} でルビ用仮名が使用可能となる\footnote{%
   \cs{rubyfamily}とはいいつつ,実際にはフォントファミリを切り替えるのではない(通常では
-  font featureの追加,\texttt{nfssonly} 指定時にはシェイプを \texttt{rb} に切り替え).
+  OpenType機能の有効化であり,\texttt{nfssonly} 指定時にはシェイプを \texttt{rb} に切り替える).
 }.
 %</ja>
 \item[bold]
@@ -7619,13 +8074,13 @@ We didn't taken account of when more than one options among them are specified.
 \label{sssec:ltjpreset-multi}
 
 %<*en>
-Besides \texttt{morisawa-pro}~and~\texttt{morisawa-pr6n} presets,
+Besides \texttt{bizud}, \texttt{haranoaji}, \texttt{morisawa-pro},~and~\texttt{morisawa-pr6n} presets,
 fonts are specified by font name, not by file name.
 In following tables, starred fonts (e.g.~KozGo\dots-Regular) are used for medium series of \textit{gothic},
 \emph{if and only if \texttt{deluxe} option is specified}.
 %</en>
 %<*ja>
-\texttt{morisawa-pro}, \texttt{morisawa-pr6n}以外はフォントの指定は
+\texttt{bizud}, \texttt{haranoaji}, \texttt{morisawa-pro}, \texttt{morisawa-pr6n}以外はフォントの指定は
 (ファイル名でなく)フォント名で行われる.
 以下の表において,*\,つきのフォント(e.g.,~KozGo\dots-Regular)は,\emph{\texttt{deluxe}オプション指定時に}
 ゴシック体中字として用いられるものを示している.
@@ -7661,35 +8116,32 @@ There is not rounded gothic family in Kozuka fonts.
  &KozGoPro-Medium&KozGoProVI-Medium&KozGoPr6N-Medium\\
 \cmidrule(l){2-5}
 %<en>\smash{\raisebox{2ex}{\textit{gothic}}}%
-%<ja>\smash{\raisebox{2ex}{\gt ゴシック}}%
+%<ja>\smash{\raisebox{2ex}{\textgt{ゴシック}}}%
  &bold&KozGoPro-Bold&KozGoProVI-Bold&KozGoPr6N-Bold\\
  &extra bold&KozGoPro-Heavy&KozGoProVI-Heavy&KozGoPr6N-Heavy\\
 \midrule
 %<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
+%<ja>\textgt{丸ゴシック}
 &&KozGoPro-Heavy&KozGoProVI-Heavy&KozGoPr6N-Heavy\\
 \bottomrule
 \end{tabular}
 \end{center}
 
-%<en>\newpage
  \item[hiragino-pro]  Hiragino Pro (Adobe-Japan1-5) fonts.
 %<en>    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
  \item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.
 
 %<*en>
 Hiragino fonts (except Hiragino~Mincho~W2) are bundled with Mac OS~X 10.5 or later.
-Some editions of a Japanese word-processor ``一太郎2012'' includes Hiragino ProN fonts.
 Note that fonts for gothic extra~bold (HiraKakuStd[N]-W8) only contains characters in
 Adobe-Japan1-3 character collection, while others contains those in
 Adobe-Japan1-5 character collection.
 %</en>
 %<*ja>
-ヒラギノフォントは,Mac OS~X以外にも,一太郎2012の上位エディションにもバンドルされている.
 極太ゴシック体として用いるヒラギノ角ゴW8は,Adobe-Japan1-3の範囲しかカバーしていない
 Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
 
\81ªã\81\8aï¼\8cæ\98\8eæ\9c\9dä½\93ç´°å­\97ã\81¨ã\81\97ã\81¦ç\94¨ã\81\84ã\82\8bã\83\92ã\83©ã\82®ã\83\8eæ\98\8eæ\9c\9dä½\93W2ã\81¯OS~Xã\82\84ä¸\80太é\83\8eã\81«ã\81¯ã\83\90ã\83³ã\83\89ã\83«ã\81\95ã\82\8cã\81¦ã\81\8aã\82\89ã\81\9aï¼\8c
+なお,明朝体細字として用いるヒラギノ明朝体W2はOS~Xにはバンドルされておらず,
 別途購入する必要がある.
 %</ja>
 \begin{center}\small
@@ -7708,17 +8160,44 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
  &Hiragino~Kaku~Gothic~Pro~W6&Hiragino~Kaku~Gothic~ProN~W6\\
 \cmidrule(l){2-4}
 %<en>\smash{\raisebox{2ex}{\textit{gothic}}}%
-%<ja>\smash{\raisebox{2ex}{\gt ゴシック}}%
+%<ja>\smash{\raisebox{2ex}{\textgt{ゴシック}}}%
  &bold&Hiragino~Kaku~Gothic~Pro~W6&Hiragino~Kaku~Gothic~ProN~W6\\
  &extra bold&Hiragino~Kaku~Gothic~Std~W8&Hiragino~Kaku~Gothic~StdN~W8\\
 \midrule
 %<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
+%<ja>\textgt{丸ゴシック}
 &&Hiragino~Maru~Gothic~Pro~W4&Hiragino~Maru~Gothic~ProN~W4\\
 \bottomrule
 \end{tabular}
 \end{center}
 
+\item[bizud] BIZ UD fonts (by Morisawa Inc.) bundled with
+  Windows~10 October 2018 Update.
+\begin{center}\small
+\begin{tabular}{ll>{\ttfamily}l}
+\toprule
+\textbf{family}&\textbf{series}\\
+\midrule
+%<en>\textit{mincho}
+%<ja>\textgt{明朝}%
+ &&BIZ-UDMinchoM.ttc\\
+\midrule
+ &medium&BIZ-UDGothicR.ttc\\
+\cmidrule(l){2-3}
+%<en>\textit{gothic}%
+%<ja>\textgt{ゴシック}
+ &bold&BIZ-UDGothicB.ttc\\
+ &extra bold&BIZ-UDGothicB.ttc\\
+\midrule
+%<en>\textit{rounded gothic}
+%<ja>\textgt{丸ゴシック}
+&&BIZ-UDGothicB.ttc\\
+\bottomrule
+\end{tabular}
+\end{center}
+
+%<en>\newpage
+
  \item[morisawa-pro]  Morisawa Pro (Adobe-Japan1-4) fonts.
 %<en>    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
  \item[morisawa-pr6n]  Morisawa Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
@@ -7729,18 +8208,18 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
 \midrule
  &medium&A-OTF-RyuminPro-Light.otf&A-OTF-RyuminPr6N-Light.otf\\
 %<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
+%<ja>\smash{\raisebox{1.5ex}{\textgt{明朝}}}%
  &bold&A-OTF-FutoMinA101Pro-Bold.otf&A-OTF-FutoMinA101Pr6N-Bold.otf\\
 \midrule
  &medium
  &A-OTF-GothicBBBPro-Medium.otf&A-OTF-GothicBBBPr6N-Medium.otf\\
 %<en>\textit{gothic}%
-%<ja>\gt ゴシック
+%<ja>\textgt{ゴシック}
  &bold&A-OTF-FutoGoB101Pro-Bold.otf&A-OTF-FutoGoB101Pr6N-Bold.otf\\
  &extra bold&A-OTF-MidashiGoPro-MB31.otf&A-OTF-MidashiGoPr6N-MB31.otf\\
 \midrule
 %<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
+%<ja>\textgt{丸ゴシック}
 &&A-OTF-Jun101Pro-Light.otf&A-OTF-ShinMGoPr6N-Light.otf\\
 \bottomrule
 \end{tabular}
@@ -7768,12 +8247,12 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
         &YuGothic-Regular&YuGothic-Medium&YuGothic~Medium\\
 \cmidrule(l){2-5}
 %<en>\textit{gothic}%
-%<ja>\gt ゴシック
+%<ja>\textgt{ゴシック}
  &bold&YuGothic-Bold&YuGothic-Bold&YuGothic~Bold\\
  &extra bold&YuGothic-Bold&YuGothic-Bold&YuGothic~Bold\\
 \midrule
 %<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
+%<ja>\textgt{丸ゴシック}
 &&YuGothic-Bold&YuGothic-Bold&YuGothic~Bold\\
 \bottomrule
 \end{tabular}
@@ -7791,17 +8270,17 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
 \midrule
  &medium&Moga90Mincho&MogaMincho\\
 %<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
+%<ja>\smash{\raisebox{1.5ex}{\textgt{明朝}}}%
  &bold&Moga90Mincho Bold&MogaMincho Bold\\
 \midrule
  &medium&Moga90Gothic&MogaGothic\\
 %<en>\textit{gothic}%
-%<ja>\gt ゴシック
+%<ja>\textgt{ゴシック}
  &bold&Moga90Gothic Bold&MogaGothic Bold\\
  &extra bold&Moga90Gothic Bold&MogaGothic Bold\\
 \midrule
 %<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
+%<ja>\textgt{丸ゴシック}
 &&Mobo90Gothic&MoboGothic\\
 \bottomrule
 \end{tabular}
@@ -7819,24 +8298,25 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
 \midrule
  &medium&Ume Mincho\\
 %<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
+%<ja>\smash{\raisebox{1.5ex}{\textgt{明朝}}}%
  &bold&Ume Mincho\\
 \midrule
  &&Ume Gothic*\\
  &\smash{\raisebox{1.5ex}{medium}}&Ume Gothic O5\\
 \cmidrule(l){2-3}
 %<en>\textit{gothic}%
-%<ja>\gt ゴシック
+%<ja>\textgt{ゴシック}
  &bold&Ume Gothic O5\\
  &extra bold&Ume Gothic O5\\
 \midrule
 %<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
+%<ja>\textgt{丸ゴシック}
 &&Ume Gothic O5\\
 \bottomrule
 \end{tabular}
 \end{center}
 
+%<en>\newpage
  \item[sourcehan]  Source Han Serif and Source Han Sans fonts (Language-specific OTF \textit{or} OTC)
 %<en>    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
  \item[sourcehan-jp]  Source Han Serif JP and Source Han Sans JP fonts (Region-specific Subset OTF)
@@ -7857,12 +8337,12 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
  &\AD{Sans}{Medium}\\
 \cmidrule(l){2-4}
 %<en>\smash{\raisebox{2ex}{\textit{gothic}}}%
-%<ja>\smash{\raisebox{2ex}{\gt ゴシック}}%
+%<ja>\smash{\raisebox{2ex}{\textgt{ゴシック}}}%
  &bold&\AD{Sans}{Bold}\\
  &extra bold&\AD{Sans}{Heavy}\\
 \midrule
 %<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
+%<ja>\textgt{丸ゴシック}
 &&\AD{Sans}{Heavy}\\
 \bottomrule
 \end{tabular}
@@ -7889,18 +8369,54 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
  &\AD{Sans}{Medium}\\
 \cmidrule(l){2-4}
 %<en>\smash{\raisebox{2ex}{\textit{gothic}}}%
-%<ja>\smash{\raisebox{2ex}{\gt ゴシック}}%
+%<ja>\smash{\raisebox{2ex}{\textgt{ゴシック}}}%
  &bold&\AD{Sans}{Bold}\\
  &extra bold&\AD{Sans}{Black}\\
 \midrule
 %<en>\textit{rounded gothic}
-%<ja>\gt 丸ゴシック
+%<ja>\textgt{丸ゴシック}
 &&\AD{Sans}{Black}\\
 \bottomrule
 \end{tabular}
 \end{center}
 
+\item[haranoaji]  Harano Aji Fonts.
+%<en>\par These fonts can be downloaded from\\\hfill \url{https://github.com/trueroad/HaranoAjiFonts}.
+%<ja>これらのフォントは \url{https://github.com/trueroad/HaranoAjiFonts} からダウンロードできる.
+%<*en>
+There is not rounded gothic family in Harano Aji Fonts.
+%</en>
+%<*ja>
+「原ノ味丸ゴシック」は存在しないので,便宜的に原ノ味角ゴシックHeavyによって代用している.
+%</ja>
+\begin{center}\small
+\begin{tabular}{lll}
+\toprule
+\bf family&\bf series&\texttt{haranoaji}\\
+\midrule
+ &light&HaranoAjiMincho-Light.otf\\
+%<en>\textit{mincho}%
+%<ja>\textgt{明朝}%
+ &medium&HaranoAjiMincho-Regular.otf\\
+ &bold&HaranoAjiMincho-Bold.otf\\
+\midrule
+ &&HaranoAjiGothic-Regular.otf*\\
+ &\smash{\raisebox{1.5ex}{medium}}
+ &HaranoAjiGothic-Medium.otf\\
+\cmidrule(l){2-3}
+%<en>\smash{\raisebox{2ex}{\textit{gothic}}}%
+%<ja>\smash{\raisebox{2ex}{\textgt{ゴシック}}}%
+ &bold&HaranoAjiGothic-Bold.otf\\
+ &extra bold&HaranoAjiGothic-Heavy.otf\\
+\midrule
+%<en>\textit{rounded gothic}
+%<ja>\textgt{丸ゴシック}
+&&HaranoAjiGothic-Heavy.otf\\
+\bottomrule
+\end{tabular}
+\end{center}
 \end{cslist}
+
 %<en>\subsubsection{Presets which do not support multi weights}
 %<ja>\subsubsection{単ウェイト用プリセット一覧}
 \label{sssec:ltjpreset-single}
@@ -8017,42 +8533,44 @@ and use them by \cs{ltjapplypreset}. These two commands can only be used in the
   新たに<name>という名称のプリセットを定義する.この名称は,
   すでに定義されているプリセット名や,
   \ref{sssec:ltjpreset-general}で定義されているオプション,さらに
-  次の9つと重複してはならない.
+  次の11個と重複してはならない.
   \begin{quote}
        \ttfamily
-       mc mc-l mc-m mc-bx gt gt-m gt-bx gt-eb mg-m
+       mc mc-l mc-m mc-b mc-bx gt gt-m gt-b gt-bx gt-eb mg-m
   \end{quote}
 
   <specification>は,プリセット名や以下のキー達のコンマ区切りリストを指定する:
   \begin{description}
    \item[\ttfamily mc-l=<font>] 明朝体細字(\cs{mcfamily}\cs{ltseries})
    \item[\ttfamily mc-m=<font>] 明朝体中字(\cs{mcfamily}\cs{mdseries})
-   \item[\ttfamily mc-bx=<font>] 明朝体太字(\cs{mcfamily}\cs{bfseries})
+   \item[\ttfamily mc-b=<font>] 明朝体太字(\cs{mcfamily}\cs{bfseries})
+   \item[\ttfamily mc-bx=<font>] \texttt{mc-b=<font>}と同義.
    \item[\ttfamily gt-m=<font>] ゴシック体中字(\cs{gtfamily}\cs{mdseries})
-   \item[\ttfamily gt-bx=<font>] ゴシック体太字(\cs{gtfamily}\cs{bfseries})
+   \item[\ttfamily gt-b=<font>] ゴシック体太字(\cs{gtfamily}\cs{bfseries})
+   \item[\ttfamily gt-bx=<font>] \texttt{gt-b=<font>}と同義.
    \item[\ttfamily gt-eb=<font>] ゴシック体太字(\cs{gtfamily}\cs{ebseries})
    \item[\ttfamily mg-m=<font>] 丸ゴシック体(\cs{mgfamily})
    \item[\ttfamily mc=<font>] 明朝体の細字・中字・太字全部を設定.
        以下を指定したことと同じである:
        \begin{quote}
-         \ttfamily mc-l=<font>, mc-m=<font>, mc-bx=<font>
+         \ttfamily mc-l=<font>, mc-m=<font>, mc-b=<font>
        \end{quote}
    \item[\ttfamily gt=<font>] ゴシック体の中字・太字・極太全部を設定.
        以下を指定したことと同じである:
        \begin{quote}
-         \ttfamily gt-m=<font>, gt-bx=<font>, gt-eb=<font>
+         \ttfamily gt-m=<font>, gt-b=<font>, gt-eb=<font>
        \end{quote}
   \end{description}
   なお,パッケージ読み込み時に \texttt{deluxe} が有効でない場合は,
-  上記9キーのうち\texttt{mc}, \texttt{gt}しか実質的に意味を持たない.  
+  上記11キーのうち\texttt{mc}, \texttt{gt}しか実質的に意味を持たない.
 %</ja>
 %<*en>
   Define new preset~<name>. This <name> cannot be same as other presets,
   options described in Subsubsection~\ref{sssec:ltjpreset-general}, nor
-  following nine strings:
+  following 11~strings:
   \begin{quote}
-       \ttfamily
-       mc mc-l mc-m mc-bx gt gt-m gt-bx gt-eb mg-m
+       \ttfamily       
+       mc mc-l mc-m mc-b mc-bx gt gt-m gt-b gt-bx gt-eb mg-m
   \end{quote}
 
   <specification> is a comma-separated list which consists of
@@ -8060,22 +8578,24 @@ and use them by \cs{ltjapplypreset}. These two commands can only be used in the
   \begin{description}
    \item[\ttfamily mc-l=<font>] mincho light
    \item[\ttfamily mc-m=<font>] mincho medium
-   \item[\ttfamily mc-bx=<font>] mincho bold
+   \item[\ttfamily mc-b=<font>] mincho bold
+   \item[\ttfamily mc-bx=<font>] synonym for \texttt{mc-b=<font>}
    \item[\ttfamily gt-m=<font>] gothic medium
-   \item[\ttfamily gt-bx=<font>] gothic bold
+   \item[\ttfamily gt-b=<font>] gothic bold
+   \item[\ttfamily gt-bx=<font>] synonym for \texttt{gt-b=<font>}
    \item[\ttfamily gt-eb=<font>] gothic extra~bold
    \item[\ttfamily mg-m=<font>] rounded gothic
    \item[\ttfamily mc=<font>] Same as
        \begin{quote}
-         \ttfamily mc-l=<font>, mc-m=<font>, mc-bx=<font>
+         \ttfamily mc-l=<font>, mc-m=<font>, mc-b=<font>
        \end{quote}
    \item[\ttfamily gt=<font>] Same as
        \begin{quote}
-         \ttfamily gt-m=<font>, gt-bx=<font>, gt-eb=<font>
+         \ttfamily gt-m=<font>, gt-b=<font>, gt-eb=<font>
        \end{quote}
   \end{description}
   If \texttt{deluxe} is not specified at loading the package,
-  only \texttt{mc}~and~\texttt{gt} keys (among above 9~keys) have a meaning.
+  only \texttt{mc}~and~\texttt{gt} keys (among above 11~keys) have a meaning.
 %</en>
  \item[\cs{ltjnewpreset}*\{<name>\}\{<specification>\}]
 %<*ja>
@@ -8097,7 +8617,7 @@ and use them by \cs{ltjapplypreset}. These two commands can only be used in the
 \cs{ltjapplypreset}で実際に使うときに定義されていれば良い.
 そのため,次のような記述も可能である:
 \begin{lstlisting}
-  \ltjnewpreset{hoge}{piyo,mc-bx=HiraMinProN-W6}
+  \ltjnewpreset{hoge}{piyo,mc-b=HiraMinProN-W6}
   \ltjnewpreset{piyo}{mg-m=HiraMaruProN-W4}
   \ltjapplypreset{hoge}
 \end{lstlisting}
@@ -8116,7 +8636,7 @@ and use them by \cs{ltjapplypreset}. These two commands can only be used in the
 Note that \cs{ltjnewpreset} does not ``expand'' the definition to define a preset.
 This means that one can write as the following:
 \begin{lstlisting}
-  \ltjnewpreset{hoge}{piyo,mc-bx=HiraMinProN-W6}
+  \ltjnewpreset{hoge}{piyo,mc-b=HiraMinProN-W6}
   \ltjnewpreset{piyo}{mg-m=HiraMaruProN-W4}
   \ltjapplypreset{hoge}
 \end{lstlisting}
@@ -8180,7 +8700,7 @@ This \cs{jH} is the same \cs{dimen} register as \cs{jQ}.
 等しい.この \cs{jH} は \cs{jQ} と同じ寸法レジスタを指す.
 %</ja>
 
-\dim{ltj@zw}
+\dim{ltj@dimen@zw}
 %<*en>
 A temporal register for the ``full-width'' of current Japanese font.
 The command \cs{zw} sets this register to the correct value, and
@@ -8192,7 +8712,7 @@ The command \cs{zw} sets this register to the correct value, and
 「このレジスタ自体を返す」.
 %</ja>
 
-\dim{ltj@zh}
+\dim{ltj@dimen@zh}
 %<*en>
 A temporal register for the ``full-height'' (usually the sum of height of imaginary body and its depth) of current Japanese font.
 The command \cs{zh} sets this register to the correct value, and
@@ -8214,18 +8734,23 @@ Current number of Japanese font family for math formulas.
 
 \attr{ltj@curjfnt}
 %<*en>
-The font index of current Japanese font for horizontal direction.
+If this attribute is a positive number, it stores the font number of current Japanese font for horizontal direction.
+If this attribute is negative, it means that the Japanese font for horizontal direction is
+not loaded---\LuaTeX-ja only knows its size and JFM.
 %</en>
 %<*ja>
-現在の横組用和文フォントのフォント番号.
+基本的には現在の横組用和文フォントのフォント番号を格納しているが,
+\LaTeX 下で使用する場合は($-2$以下の)負数となることがある.
+  負数の場合は「横組用和文フォントは実際には読み込まれておらず,そのフォントサイズとJFMだけが
+  \LuaTeX-jaが把握している」状態を表す.
 %</ja>
 
 \attr{ltj@curtfnt}
 %<*en>
-The font index of current Japanese font for vertical direction.
+Similar to \cs{ltj@curjfnt}, but with current Japanese font for vertical direction.
 %</en>
 %<*ja>
\8f¾å\9c¨ã\81®ç¸¦çµ\84ç\94¨å\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\81®ã\83\95ã\82©ã\83³ã\83\88ç\95ªå\8f·
¸¦çµ\84ç\94¨å\92\8cæ\96\87ã\83\95ã\82©ã\83³ã\83\88ã\81«é\96¢ã\81\99ã\82\8b\cs{ltj@curjfnt}ã\81¨å\90\8cæ§\98ã\81®å\80¤
 %</ja>
 
 \attr{ltj@charclass}
@@ -8301,31 +8826,31 @@ unlike explicit \cs{kern}.
 Penalties inserted for the word-wrapping process (\emph{kinsoku shori}) of Japanese characters.
 %</en>
 %<ja>禁則処理のために挿入されたペナルティ.
-\item[\mathversion{bold}$(\textit{from\_jfm}-2)$--$(\textit{from\_jfm}+2)$~(4--8)]
+\item[\mathversion{bold}$\textit{from\_jfm}$--$(\textit{from\_jfm}+63)$~(4--67)]
 %<en>Glues/kerns from JFM.
 %<ja>JFM由来のグルー/カーン.
-\item[\textit{kanji\_skip}~(9), \textit{kanji\_skip\_jfm}~(10)]
+\item[\textit{kanji\_skip}~(68), \textit{kanji\_skip\_jfm}~(69)]
 %<en>Glues from \Param{kanjiskip}.
 %<ja>和文間空白\Param{kanjiskip}を表すグルー.
-\item[\textit{xkanji\_skip}~(11), \textit{xkanji\_skip\_jfm}~(12)]
+\item[\textit{xkanji\_skip}~(70), \textit{xkanji\_skip\_jfm}~(71)]
 %<en>Glues from \Param{xkanjiskip}.
 %<ja>和欧文間空白\Param{xkanjiskip}を表すグルー.
-\item[\textit{processed} (13)]
+\item[\textit{processed} (73)]
 %<en>Nodes which is already processed by \ldots.
 %<ja>\LuaTeX-ja の内部処理によって既に処理されたノード.
-\item[\textit{ic\_processed} (14)]
+\item[\textit{ic\_processed} (74)]
 %<*en>
 Glues from an italic correction, but already processed in the insertion process of \textbf{JAglue}s.
 %</en>
 %<ja>イタリック補正に由来するグルーであって,既に \textbf{JAglue} 挿入処理にかかったもの.
-\item[\textit{boxbdd} (15)]
+\item[\textit{boxbdd} (75)]
 %<en>Glues/kerns that inserted just the beginning or the ending of an hbox or a paragraph.
 %<ja>hboxか段落の最初か最後に挿入されたグルー/カーン.
 \end{description}
 
 %<*ja>
 また,挿入処理の結果であるリストの最初のノードでは,\verb+\ltj@icflag+ の値に
-\textit{processed\_begin\_flag}~(128)が追加される.これによって,\cs{unhbox} が
+\textit{processed\_begin\_flag}~(4096)が追加される.これによって,\cs{unhbox} が
 連続した場合でも「ボックスの境界」が識別できるようになっている.
 %</ja>
 
@@ -8413,19 +8938,19 @@ Nodes for \LuaTeX-ja's stack system (see the next
 
 \item[\textit{char\_by\_cid}]
 %<*en>
-Nodes for \textbf{JAchar} which the callback process of
-          \Pkg{luaotfload} won't be applied, and the character code is
+Nodes for \textbf{JAchar} which processes by \Pkg{luaotfload} won't be applied,
+       and the character code is
           stored in the \texttt{value} field. Each node of this type are
            converted to a \textit{glyph\_node} \emph{after}
-          the callback process of luaotfload.
-Nodes of this type is used in \cs{CID}, \cs{UTF} and IVS support.
+          processes by luaotfload.
+Nodes of this type is used in \cs{CID}~and~\cs{UTF}.
 %</en>
 %<*ja>
-\Pkg{luaotfload}ã\81®ã\82³ã\83¼ã\83«ã\83\90ã\83\83ã\82¯ã\81«ã\82\88ã\82\8bå\87¦ç\90\86ã\81\8cé\81©ç\94¨ã\81\95ã\82\8cã\81ªã\81\84\textbf{JAchar}ã\81®ã\81\9fã\82\81ã\81®ã\83\8eã\83¼ã\83\89ã\81§ï¼\8c
+\Pkg{luaotfload}による処理が適用されない\textbf{JAchar}のためのノードで,
 \texttt{value} フィールドに文字コードが格納されている.
 この種類のノードはそれぞれが\Pkg{luaotfload}のコールバックの処理の
 \emph{後で}\textit{glyph\_node}に変換される.
-\cs{CID}, \cs{UTF}ã\82\84IVS対å¿\9cå\87¦ç\90\86ã\81§ã\81\93ã\81®ç¨®é¡\9eã\81®ã\83\8eã\83¼ã\83\89ã\81\8cå\88©ç\94¨ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bï¼\8e
+\cs{CID}, \cs{UTF}でこの種類のノードが利用されている.
 %</ja>
 
 \item[\textit{replace\_vs}]
@@ -8746,10 +9271,10 @@ whose prefix is \texttt{ltj} and whose family is \texttt{japaram}, as the follow
 \texttt{luatexja.isglobal}. Its meaning is the following.
 \begin{align}
  \texttt{luatexja.isglobal} =
-\begin{cases}
- \texttt{'global'}&\text{global}\\
- \texttt{''}&\text{local}
-\end{cases}
+\begin{cases*}
+ \texttt{'global'}&(global assignment),\\
+ \texttt{''}&(local assignment).
+\end{cases*}
 \end{align}
 This is determined not only by command name
 (\cs{ltjsetparameter}~or~\cs{ltjglobalsetparameter}),
@@ -8770,10 +9295,10 @@ but also by the value of \cs{globaldefs}.
 なお,パラメータ指定がグローバルかローカルかどうかを示す \texttt{luatexja.isglobal} が,
 \begin{align}
  \texttt{luatexja.isglobal} =
-\begin{cases}
- \texttt{'global'}&\text{パラメータ設定はグローバル}\\
- \texttt{''}&\text{パラメータ設定はローカル}
-\end{cases}
+\begin{cases*}
+ \texttt{'global'}&(パラメータ設定はグローバル),\\
+ \texttt{''}&(パラメータ設定はローカル).
+\end{cases*}
 \end{align}
 として自動的にセットされる\footnote{命令が \cs{ltjglobalsetparameter} かどうかだけでは
 なく,実行時の \cs{globaldefs} の値にも依存して定まる.}.
@@ -9450,11 +9975,11 @@ JFM由来のグルー/カーンは以下の値となる:
 \]
 ここで.$f(x,y)$は
 \[
- f(x,y)=\begin{cases}
-x&\text{if\ }\Param{diffrentjfm}=\texttt{pleft};\\
-y&\text{if\ }\Param{diffrentjfm}=\texttt{pright};\\
-(x+y)/2&\text{if\ }\Param{diffrentjfm}=\texttt{paverage};
-\end{cases}.
+ f(x,y)=\begin{dcases*}
+x&($\Param{diffrentjfm}=\texttt{pleft}$),\\
+y&($\Param{diffrentjfm}=\texttt{pright}$),\\
+\frac{x+y}2&($\Param{diffrentjfm}=\texttt{paverage}$).
+\end{dcases*}
 \]
 \item
 \Param{differentjfm}がそれ以外の値の時は,<ratio>の値は無視され,JFM由来のグルー/カーンは以下の値となる:
@@ -9463,12 +9988,12 @@ y&\text{if\ }\Param{diffrentjfm}=\texttt{pright};\\
 \]
 ここで.$f(x,y)$は
 \[
- f(x,y)=\begin{cases}
-\min(x,y)&\text{if\ }\Param{diffrentjfm}=\texttt{small};\\
-\max(x,y)&\text{if\ }\Param{diffrentjfm}=\texttt{large};\\
-(x+y)/2&\text{if\ }\Param{diffrentjfm}=\texttt{average};\\
-x+y&\text{if\ }\Param{diffrentjfm}=\texttt{both};
-\end{cases}.
+ f(x,y)=\begin{dcases*}
+\min(x,y)&($\Param{diffrentjfm}=\texttt{small}$),\\
+\max(x,y)&($\Param{diffrentjfm}=\texttt{large}$),\\
+\frac{x+y}2&($\Param{diffrentjfm}=\texttt{average}$),\\
+x+y&($\Param{diffrentjfm}=\texttt{both}$).
+\end{dcases*}
 \]
 \end{itemize}
 \end{enumerate}
@@ -9488,6 +10013,10 @@ x+y&\text{if\ }\Param{diffrentjfm}=\texttt{both};
 という3ノードを考える(それぞれ単独でクラスタをなす).
 この場合,$p$と$q$の間は,実フォントが異なるにもかかわらず2.の状況となる一方で,
 $q$と$r$の間は(実フォントが同じなのに)\texttt{jfmvar} キーの内容が異なるので3.の状況となる.
+
+  なお,JFMで\texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
+\texttt{kanjiskip\_shrink}キーが指定されていた場合は,……
+  
 \item[\Param{kanjiskip}~{[K]}] 上の[M]において空白が定まらなかった場合,
 以下で定めた量「右空白」として採用する.
 この段階においては,\cs{inhibitglue} は効力を持たないため,
@@ -9938,11 +10467,11 @@ then the patch \Pkg{lltjp-listings} is loaded automatically at \verb+\begin{docu
 % \textbf{JAchar}を名称の一部に含む制御綴は使用不可能}である.
 % 例えば次のような入力を考えよう:
 % %</ja>
-% \begin{verbatim*}
-% \begin{lstlisting}[escapechar=\#]
+% \begin{lstlisting}[showspaces][escapechar=\!]
+% !\cs{begin}!{lstlisting}[escapechar=\#]
 % #\ほげ xぴよ#
+% !\cs{end}!{lstlisting}
 % \end{lstlisting}
-% \end{verbatim*}
 % %<en>The line~2 is transformed by the callback to
 % %<ja>ここで,2行目は \verb+process_input_buffer+ の作用により,
 % \begin{lstlisting}[showspaces, escapechar=\!]
@@ -9986,9 +10515,8 @@ variation selectors are ``combined'' with the previous character.
 
 \texttt{vsraw}は,ブール値の値をとるキーであり,標準ではfalseである.
 \begin{itemize}
- \item trueの場合は,異体字セレクタは「直前の文字に続けて」出力される.
-もしもIVSサポート(\ref{ssec:ltjotf}節)が有効になっていた場合は,
-以下の例(左側は入力,右側はその出力)のようになる.
+ \item trueの場合は,異体字セレクタは「直前の文字に続けて」出力されるため,
+例えば以下の例(左側は入力,右側はその出力)のようになる.
 %</ja>
 \begin{LTXexample}
 \begin{lstlisting}[vsraw=true]
@@ -10016,8 +10544,8 @@ The default setting of the \texttt{vscmd} key produces the following.
 %<en> For example, the following code is the setting of the \texttt{vscmd} key in this document.
 \begin{lstlisting}[numbers=left]
 \def\IVSA#1#2#3#4#5{%
-  \textcolor{blue}{\raisebox{3.5pt}{\tt%
-    \fboxsep=0.5pt\fbox{\tiny \oalign{0#1#2\crcr#3#4#5\crcr}}}}%
+  \hbox to1em{\hss\textcolor{blue}{\raisebox{3.5pt}{\normalfont\ttfamily%
+    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{0#1#2\crcr#3#4#5\crcr}\hss}}}}\hss}%
 }
 {\catcode`\%=11
   \gdef\IVSB#1{\expandafter\IVSA\directlua{
@@ -10118,19 +10646,37 @@ For illustration, we introduce following classes of characters:
 直前が和文文字であるかを示すフラグ \verb+\lst@ifkanji+ を新たに導入した.
 以降,説明のために以下のように文字を分類する:
 %</ja>
+%<*ja>
 \begin{center}
 \small
-\begin{tabular}{lccccc}
+\begin{tabular}{llllll}
 \toprule
-&Letter&Other&Kanji&Open&Close\\\midrule
+&\emph{Letter}&\emph{Other}&\emph{Kanji}&\emph{Open}&\emph{Close}\\\midrule
 \verb+\lst@ifletter+&T&F&T&F&T\\
 \verb+\lst@ifkanji+&F&F&T&T&F\\
-%<en>Meaning&char in an identifier&other alphabet&%
-%<en>most of Japanese char&opening brackets&closing brackets\\
-%<ja>意図&識別子中の文字&その他欧文文字&殆どの和文文字&開き括弧類&閉じ括弧類\\
+\emph{意図}&識別子中の文字&その他欧文文字&殆どの和文文字&開き括弧類&閉じ括弧類\\
+\bottomrule
+\end{tabular}
+\end{center}
+%</ja>
+%<*en>
+\begin{center}
+\small
+\begin{tabular}{llll}
+\toprule
+&\textbf{Letter}&\textbf{Other}&\\\midrule
+\verb+\lst@ifletter+&T&F&\\
+\verb+\lst@ifkanji+&F&F&\\
+\textbf{Meaning}&char in an identifier&other alphabet&\\
+  \midrule
+&\textbf{Kanji}&\textbf{Open}&\textbf{Close}\\\midrule
+\verb+\lst@ifletter+&T&F&T\\
+\verb+\lst@ifkanji+&T&T&F\\
+\textbf{Meaning}&most of Japanese char&opening brackets&closing brackets\\
 \bottomrule
 \end{tabular}
 \end{center}
+%</en>
 %<*en>
 Note that \textit{digits} in the \Pkg{listings} package can be Letter or
 Other according to circumstances.
@@ -10162,27 +10708,27 @@ The following table summarizes $5\times 5=25$ cases:
 %</ja>
 \begin{center}
 \small
-\begin{tabular}{llccccc}
+\begin{tabular}{lllllll}
 \toprule
 %<*en>
-&&\multicolumn{4}{c}{Next}\\\cmidrule(lr){3-7}
-&&\hbox to 4em{\hss Letter\hss}&\hbox to 4em{\hss Other\hss}
-&\hbox to 4em{\hss Kanji\hss}&\hbox to 4em{\hss Open\hss}&Close\\\midrule
+&&\multicolumn{4}{c}{\textbf{Next}}\\\cmidrule(lr){3-7}
+&&\hbox to 4em{Letter\hss}&\hbox to 4em{Other\hss}
+&\hbox to 4em{Kanji\hss}&\hbox to 4em{Open\hss}&Close\\\midrule
 &Letter&collects&\multicolumn{3}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
 &Other&outputs&collects&\multicolumn{2}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
-Prev&Kanji&\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
+\textbf{Prev}&Kanji&\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
 &Open&\multicolumn{5}{c}{\hrulefill \ collects\ \hrulefill}\\
 &Close&\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
 %</en>
 %<*ja>
-&&\multicolumn{4}{c}{後ろ側の文字}\\\cmidrule(lr){3-7}
-&&\hbox to 4em{\hss Letter\hss}&\hbox to 4em{\hss Other\hss}
-&\hbox to 4em{\hss Kanji\hss}&\hbox to 4em{\hss Open\hss}&Close\\\midrule
-&Letter&収集&\multicolumn{3}{c}{\hrulefill \ 出力\ \hrulefill}&収集\\
-&Other&出力&収集&\multicolumn{2}{c}{\hrulefill \ 出力\ \hrulefill}&収集\\
-&Kanji&\multicolumn{4}{c}{\hrulefill \ 出力\ \hrulefill}&収集\\
-&Open&\multicolumn{5}{c}{\hrulefill \ 収集\ \hrulefill}\\
-&Close&\multicolumn{4}{c}{\hrulefill \ 出力\ \hrulefill}&収集\\
+&&\multicolumn{4}{c}{\textbf{後側文字種}}\\\cmidrule(lr){3-7}
+&&\hbox to 4em{Letter\hss}&\hbox to 4em{Other\hss}
+&\hbox to 4em{Kanji\hss}&\hbox to 4em{Open\hss}&Close\\\midrule
+\emph{直}&Letter&収集&\multicolumn{3}{c}{\hrulefill \ 出力\ \hrulefill}&収集\\
+\emph{前}&Other&出力&収集&\multicolumn{2}{c}{\hrulefill \ 出力\ \hrulefill}&収集\\
+\emph{文}&Kanji&\multicolumn{4}{c}{\hrulefill \ 出力\ \hrulefill}&収集\\
+\emph{字}&Open&\multicolumn{5}{c}{\hrulefill \ 収集\ \hrulefill}\\
+\emph{種}&Close&\multicolumn{4}{c}{\hrulefill \ 出力\ \hrulefill}&収集\\
 %</ja>
 \bottomrule
 \end{tabular}
@@ -10321,12 +10867,12 @@ T^{+}&:=T^{+}_{L^+},&L^{+} = \max \{l\in
 $b_{i}$とおく.式で書くと,
 \[
 \catcode`\<=12
-b_{i} = \begin{cases}
-  |\textit{total}-a_{i}\text{\cs{zw}}|/T^{+}
-         &(\textit{total}-a_{i}\text{\cs{zw}}\geq 0)\\
-  |\textit{total}-a_{i}\text{\cs{zw}}|/T^{-}
-         &(\textit{total}-a_{i}\text{\cs{zw}}<0)
-\end{cases}.
+b_{i} = \begin{dcases*}
+  \frac{\lvert\textit{total}-a_{i}\text{\cs{zw}}\rvert}{T^{+}}
+         &($\textit{total}-a_{i}\text{\cs{zw}}\geq 0$),\\
+  \frac{\lvert\textit{total}-a_{i}\text{\cs{zw}}\rvert}{T^{-}}
+         &($\textit{total}-a_{i}\text{\cs{zw}}<0$).
+\end{dcases*}
 \]
 $b_{i}$達の最小値を与えるような$i$を$j$としたとき\footnote{%
   そのような$i$が2つ以上あるときは,$|\textit{total}-a_{i}\cdot \text{\cs{zw}}|$,
@@ -10430,53 +10976,6 @@ $|\textit{total}|$の分だけが,行中のグルーの伸び量,あるい
 %</ja>
 
 %<*ja>
-\section{IVS対応}
-\verb+luatexja.otf.enable_ivs()+ を実行し,IVS対応を有効にした状態では,
-\verb+pre_linebreak_filter+ や \verb+hpack_filter+ コールバックには
-次の4つが順に実行される状態となっている:
-\begin{description}
-\item[\tt ltj.do\_ivs] \textit{glyph\_node}~$p$の直後に,異体字セレクタ(を表す\textit{glyph\_node})
-が連続した場合に,$p$のフォントに対応したが持つ「異体字情報」に従って出力するグリフを変える.
-
-しかし,単に$p.\textit{char}$を変更するだけでは,後から
-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による置換が,
-OpenType機能の適用で上書きされてしまうのを防止するためである.
-\item[\tt ltj.main\_process] \textbf{JAglue}の挿入処理(\ref{sec-jfmglue}章)と,
-JFMの指定に従って各\textbf{JAchar}の「寸法を補正」することを行う.
-\end{description}
-
-問題は各フォントの持っているIVS情報をどのように取得するか,である.
-\Pkg{luaotfload} はフォント番号<font\_number>の情報を\
-\texttt{fonts.hashes.identifiers[<font\_number>]} 以下に格納している.
-しかし,OpenTypeフォントのIVS情報は格納されていないようである%
-\footnote{TrueTypeフォントに関しては,
-\begin{center}
-\texttt{fonts.hashes.idenfiers[<font\_number>]%
-  .resources.variants[<selector>][<base\_char>]}
-\end{center}
-に,<base\_char>番の文字の後に異体字セレクタ<selector>が続いた場合に
-出力すべきグリフが書かれてある.}.
-%例えば,小塚明朝Pr6N~Rでは,
-
-一方,\LuaTeX 内部の \texttt{fontloader} の返すテーブルには
-OpenTypeフォントでもTrueTypeフォントでもIVS情報が格納されている.
-具体的には……
-
-そのため,\LuaTeX-jaのIVS対応においては,\LuaTeX 内部の\
-\texttt{fontloader} を直接用いることで,フォントのIVS情報を取得している.
-20140114.0以降でキャッシュを用いるようにした要因はここにあり,
-\texttt{fontloader} の呼び出しでかなり時間を消費することから,
-%%% to_table を使わなくしたことで,メモリ使用量は減った
-IVS情報をキャッシュに保存することで2回目以降の実行時間を節約している.
-%</ja>
-
-
-%<*ja>
 \section{複数フォントの「合成」(未完)}
 \section{\LuaTeX-jaにおけるキャッシュ}
 \Pkg{luaotfload}パッケージが,各TrueType・OpenTypeフォントの情報を
@@ -10488,9 +10987,6 @@ IVS情報をキャッシュに保存することで2回目以降の実行時間
  \item 「通常の」テキスト形式のキャッシュ(拡張子は \texttt{.lua})以外にも,
 それをバイナリ形式(バイトコード)に変換したものもサポートしている.
 \begin{itemize}
- \item \LuaTeX とLuaJIT\TeX ではバイトコードの形式が異なるため,バイナリ形式の
-キャッシュは共有できない.\LuaTeX 用のバイナリキャッシュは \texttt{.luc},
-LuaJIT\TeX 用のは \texttt{.lub} と拡張子を変えることで対応している.
  \item キャッシュを読み込む時,同名のバイナリキャッシュがあれば,
 テキスト形式のものよりそちらを優先して読み込む.
  \item テキスト形式のキャッシュが更新/作成される際は,そのバイナリ版も
@@ -10510,9 +11006,6 @@ in a similar way to the \Pkg{luaotfload} package:
  \item In addition to caches of the text form (the extension is ``\texttt{.lua}''),
 caches of the \emph{binary}, precompiled form are supported.
 \begin{itemize}
- \item We cannot share same binary cache for \LuaTeX\ and LuaJIT\TeX.
-Hence we distinguish them by their extension, ``\texttt{.luc}'' for \LuaTeX\
-and ``\texttt{.lub}'' for LuaJIT\TeX.
  \item In loading a cache, the binary cache precedes
 the text form.
  \item When \LuaTeX-ja updates a cache \texttt{hoge.lua},
@@ -10529,16 +11022,12 @@ its binary version is also updated.
 \item[ltj-cid-auto-adobe-japan1.lua]
 Ryumin-Lightのような非埋め込みフォントの情報を格納しており,
 (それらが\LuaTeX-jaの標準和文フォントなので)\LuaTeX-jaの読み込み時に自動で読まれる.
-生成には\texttt{UniJIS2004-UTF32-\{H, V\}}, \texttt{Adobe-Japan1-UCS2}という3つの
+生成には\texttt{UniJIS2004-UTF32-\{H,V\}}, \texttt{Adobe-Japan1-UCS2}という3つの
 CMapが必要である.
 
 \pageref{para-cid}ページで述べたように,\texttt{cid}キーを使って
 非埋め込みの中国語・韓国語フォントを定義する場合,同様のキャッシュが生成される.
 キャッシュの名称,必要となるCMapについては\autoref{tab:cid-cache}を参照して欲しい.
-
-\item[extra\_***.lua]
-フォント``\texttt{***}''における異体字セレクタの情報,縦組用字形への変換テーブル,そして
-縦組時における幅を格納している.構造は以下の通り:
 %</ja>
 %<*en>
 \subsection{Use of cache}
@@ -10556,16 +11045,6 @@ Similar caches are created as \autoref{tab:cid-cache},
 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[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]
@@ -10580,44 +11059,22 @@ The following is the structure of the that table.
 \midrule
 Adobe-Japan1-*&ltj-cid-auto-adobe-japan1.lua&UniJIS2004-UTF32-*&Adobe-Japan1-UCS2\\
 Adobe-Korea1-*&ltj-cid-auto-adobe-korea1.lua&UniKS-UTF32-*&Adobe-Korea1-UCS2\\
+Adobe-KR-*&ltj-cid-auto-adobe-kr.lua&UniAKR-UTF32-*&Adobe-KR-UCS2\\
 Adobe-GB1-*&ltj-cid-auto-adobe-gb1.lua&UniGB-UTF32-*&Adobe-GB1-UCS2\\
 Adobe-CNS1-*&ltj-cid-auto-adobe-cns1.lua&UniCNS-UTF32-*&Adobe-CNS1-UCS2\\
 \bottomrule
 \end{tabular}
 \end{table}
 
-\begin{lstlisting}
-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>
-   ...
-   ["vform"]=995025, -- vertical variant
-  },
-  ...
-  ["unicodes"]={
-    ["aj102.pe.vert"]=984163, -- glyph name to unicode
-    ...
-  }
- },
- ["chksum"]="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", -- checksum of the fontfile
- ["version"]=11, -- version of the cache
-}
-\end{lstlisting}
 %<*ja>
-\item[ltj-jisx0208.\{luc|lub\}]
-\LuaTeX-jaé\85\8då¸\83中ã\81®\texttt{ltj-jisx0208.lua}ã\82\92ã\83\90ã\82¤ã\83\8aã\83ª化したものである.
+\item[ltj-jisx0208.luc]
+\LuaTeX-jaé\85\8då¸\83中ã\81®\texttt{ltj-jisx0208.lua}ã\82\92ã\83\90ã\82¤ã\83\88ã\82³ã\83¼ã\83\89化したものである.
 これはJIS~X~0208とUnicodeとの変換テーブルであり,
 \pTeX との互換目的の文字コード変換命令で用いられる.
 %</ja>
 %<*en>
 \item[ltj-jisx0208.\{luc|lub\}]
-The binary version of \texttt{ltj-jisx0208.lua}.
+The bytecode version of \texttt{ltj-jisx0208.lua}.
 This is the conversion table between JIS~X~0208 and Unicode
 which is used in Kanji-code conversion commands for compatibility with \pTeX.
 %</en>
@@ -10904,6 +11361,68 @@ direction~whatsit内部のノードリストに,\textit{dir\_box}として格
  }
 \]
 のようになる.
+
+\subsection{縦組用字形の取得}
+縦組時には,「\hbox to \zw{、}」(\texttt{U+3001})から「\ltjjachar"FE11」(\texttt{U+FE11})%"
+のように縦組用字形への置き換えに関係する処理は,以下のようになっている.
+
+\begin{table}[t]
+  \def\D#1#2#3#4{%
+       {\fboxsep0pt\fcolorbox{cyan}{white}%
+    {\large\char"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})%"
+  }
+  \caption{\LuaTeX-ja標準で行われる縦組形への置換}
+  \label{tab:vert_replace}\small\centering
+  \begin{tabular}{*{3}{l@{}>{${}\longmapsto{}$}c@{}l}}
+       \toprule
+       \D 3001&&\D FE11&\D 3002&&\D FE12&\D 3016&&\D FE17\\
+       \D 3017&&\D FE18&\D 2026&&\D FE19&\D 2025&&\D FE30\\
+       \D 2014&&\D FE31&\D 2013&&\D FE32&\D FF3F&&\D FE33\\
+       \D FF08&&\D FE35&\D FF09&&\D FE36&\D FF5B&&\D FE37\\
+       \D FF5D&&\D FE38&\D 3014&&\D FE39&\D 3015&&\D FE3A\\
+       \D 3010&&\D FE3B&\D 3011&&\D FE3C&\D 300A&&\D FE3D\\
+       \D 300B&&\D FE3E&\D 3008&&\D FE3F&\D 3009&&\D FE40\\
+       \D 300C&&\D FE41&\D 300D&&\D FE42&\D 300E&&\D FE43\\
+       \D 300F&&\D FE44&\D FF3B&&\D FE47&\D FF3D&&\D FE48\\
+       \bottomrule
+  \end{tabular}
+\end{table}
+\begin{itemize}
+       \item 各縦組用和文フォントは読み込み時に以下の属性が設定される:
+       \begin{description}
+         \item[\textit{vert\_activated}] 真となるのは,
+         明示的に \texttt{-vert} も \texttt{-vrt2} のいずれも指定されていないちょうどその時.
+         \item[\textit{auto\_enable\_vrt2}] 真となるのは,
+         \texttt{vert}, \texttt{vrt2}のいずれについても有効・無効が指定されていないちょうどその時.
+       \end{description}
+       \textit{vert\_activated}については\texttt{luatexja.define\_jfont}コールバックで渡される引数
+       \texttt{jfont\_info}から取得可能である.
+
+       \item \textit{auto\_enable\_vrt2}が真の場合は,現在のscript tagとlanguage system identifierの値で
+       \texttt{vrt2}機能が利用可能か調べる.利用可能ならば\texttt{vrt2}を,そうでなければ
+       \texttt{vert}を有効化する.
+       \item また,各和文フォント読み込み時には,
+       「OpenType機能による置換以前に行う縦組形への置換」を格納したテーブル\textit{vform}も作成する.
+       \begin{enumerate}
+         \item \autoref{tab:vert_replace}に示した各置換$i\longmapsto v$に対し,
+         置換先$v$がフォント内に存在する文字コードであるならば,$i\longmapsto v$を\textit{vform}に登録する.
+         \item \ref{ssec:tfont}節にある\texttt{jpotf}が指定された場合,
+         \LuaTeX-ja内部の別のテーブル\textit{vert\_jpotf\_table}に登録されている各置換$i\longmapsto v$に対して
+         置換先$v$がフォント内に存在する文字コードであるならば,$i\longmapsto v$を\textit{vform}に登録する.
+         \item もし\texttt{vert}も\texttt{vrt2}も現在のscript, languageでは有効にできない場合,
+         どこかのscript, languageにおける\texttt{vert}で定義されている
+         置換$i\longmapsto v$をすべて\textit{vform}に登録する.
+       \end{enumerate}
+
+       あとで説明するように,\textit{vform}は\textit{vert\_activated}が真であるような縦組用和文フォントでしか
+       利用されない.
+       
+       \item 「現在の水平リスト」内の\textbf{JAchar}を(欧文フォントから)和文フォントへ置き換える処理において,
+    その時点での組方向が縦組であり,かつ処理対象の各ノードの縦組用フォントで
+       \textit{vert\_activated}が真である場合,\textit{vform}に従いグリフが置き換えられる.
+
+       \Pkg{luaotfload}が行う,OpenType機能に沿ったグリフ置換はこの後の処理となる.
+  \end{itemize}
 %</ja>
 
 \newpage
@@ -10914,31 +11433,28 @@ Victor Eijkhout. \newblock \textit{\TeX\ by Topic, A \TeX nician's Reference}, A
 \bibitem{listings} C.\ Heinz, B.\ Moses. \newblock The \textsf{Listings} Package.
 \bibitem{uptex} Takuji Tanaka. \newblock
 upTeX---Unicode version of pTeX with CJK extensions,
-TUG 2013, October 2013.
-%<ja>\newblock
-%<en>\\\null\hfill
+TUG 2013, October 2013.\newblock
 \url{http://tug.org/tug2013/slides/TUG2013_upTeX.pdf}
-\bibitem{jlisting} Thor Watanabe. \newblock Listings\ -\ MyTeXpert.
-%<en>\newblock
-%<ja>\\\null\hfill
+\bibitem{jlisting} Thor Watanabe. \newblock Listings\ -\ MyTeXpert.\newblock
 \url{http://mytexpert.osdn.jp/index.php?Listings}
 \bibitem{jlreq}  W3C Japanese Layout Task Force~(ed). \newblock
 Requirements for Japanese Text Layout (W3C Working Group Note), 2011, 2012. \newblock
 \url{http://www.w3.org/TR/jlreq/}%
 %<ja> \\日本語訳の書籍版:W3C日本語組版タスクフォース(編),『W3C技術ノート 日本語組版処理の要件』,東京電機大学出版局,2012.
-\bibitem{min10} 乙部厳己.min10フォントについて.\\\null\hfill
+\bibitem{min10} 乙部厳己.「min10フォントについて」\newblock
 \url{http://argent.shinshu-u.ac.jp/~otobe/tex/files/min10.pdf}
-\bibitem{x4051} 日本工業規格(Japanese Industrial Standard). JIS~X~4051,
-日本語文書の組版方法(Formatting rules for Japanese documents), 1993, 1995, 2004.
-\bibitem{ptexdoc} 濱野尚人,田村明史,倉沢良一.\TeX の出版への応用—縦組み機能の組み込み—
-\\\null\hfill\texttt{.../texmf-dist/doc/ptex/base/ptexdoc.pdf}
+\bibitem{x4051} 日本工業規格(Japanese Industrial Standard). JIS~X~4051,
+日本語文書の組版方法(Formatting rules for Japanese documents), 1993, 1995, 2004.
+\bibitem{ptexdoc} 濱野尚人,田村明史,倉沢良一.「\TeX の出版への応用—縦組み機能の組み込み—」
+\newblock\texttt{.../texmf-dist/doc/ptex/base/ptexdoc.pdf}
 \bibitem{ptextug} Hisato Hamano. \newblock
 \textit{Vertical Typesetting with \TeX}, TUGBoat~\textbf{11}(3), 346--352, 1990.
 \bibitem{pdfstd} International Organization for Standardization. \newblock
 ISO 32000-1:2008, \textit{Document management -- Portable document format -- Part 1: PDF
       1.7}, 2008. \newblock
-\\\null\hfill
 \url{http://www.iso.org/iso/iso\_catalogue/catalogue_tc/catalogue\_detail.htm?csnumber=51502}
+\bibitem{tc18ltja} 北川弘典.「\LuaTeX-jaの近況」,\TeX Conf~2018.
+  \url{https://osdn.net/projects/luatex-ja/wiki/Documentation/attach/tc18ltja.pdf}
 \end{thebibliography}
 
 \end{document}