OSDN Git Service

jfm-ujis.lua: add new character classes for (two- or three-) em-dashes
[luatex-ja/luatexja.git] / doc / luatexja.dtx
index a9a4e38..d2ec828 100644 (file)
@@ -1,11 +1,6 @@
 %<*!showexpl>
 %#! lualatex -shell-escape
 
-% To typeset this manual, you need following two fonts:
-%  - KozMinPr6N-Regular.otf
-%  - KozGoPr6N-Medium.otf
-%  - KozGoPr6N-Regular.otf
-
 %%%%% section ==> 章
 %%%%% subsection => 節
 \IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
@@ -34,9 +29,9 @@
 ]{iosevka-slab-regular}
 \setsansfont[Scale=MatchLowercase,Ligatures=TeX,RawFeature=-notdef]{Linux Biolinum O}
 \usepackage[match]{luatexja-fontspec}
-\usepackage[kozuka-pr6n]{luatexja-preset}
+\usepackage[haranoaji]{luatexja-preset}
 \usepackage{unicode-math}
-\setmonojfont{KozGoPr6N-Regular.otf}
+\setmonojfont{HaranoAjiGothic-Regular.otf}
 \setmathfont[Scale=MatchLowercase]{XITSMath}
 
 \setLaTeXa{\scshape a}
@@ -94,7 +89,7 @@
   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},
-  morecomment=[l]{\%}, commentstyle=\color{green},
+  morecomment=[l]{\%}, commentstyle=\color{green}
 }
 % Suppress output from showexpl to stdout.
 \makeatletter
@@ -505,8 +500,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の記号}
@@ -523,9 +516,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>
@@ -652,17 +643,29 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
 %<en>The following packages are needed for the \LuaTeX-ja\ package.
 %<ja>\LuaTeX-jaパッケージの動作には次のパッケージ類が必要である.
 \begin{itemize}
-\item \href{http://www.luatex.org/}{\LuaTeX}\ 1.07.0 (or later)
+\item \href{http://www.luatex.org/}{\LuaTeX}\ 1.10.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 \LaTeX\ 2020-02-02 patch level 5 or later
+%<en>  (if you want to use \LuaTeX-ja with \LaTeXe)
+%<ja>  (\LaTeX 下で\LuaTeX-jaを使う場合)
 \item \href{https://github.com/josephwright/etoolbox/}{\Pkg{etoolbox}},
-  \Pkg{everysel} (if you want to use \LuaTeX-ja with \LaTeXe)
+  \Pkg{everysel}
+%<en>  (if you want to use \LuaTeX-ja with \LaTeXe)
+%<ja>  (\LaTeX 下で\LuaTeX-jaを使う場合)
 \item \Pkg{ltxcmds}, \Pkg{pdftexcmds}, \Pkg{filehook}, \Pkg{atbegshi}
 \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})}
+%<*en>
+\item \emph{Harano Aji fonts} (\url{https://github.com/trueroad/HaranoAjiFonts})\\
+  More specifically, HaranoAjiMincho-Regular~and~HaranoAjiGothic-Medium.
+%</en>
+%<*ja>
+\item \emph{原ノ味フォント(\url{https://github.com/trueroad/HaranoAjiFonts})}\\
+\LuaTeX-jaの最低限の動作には原ノ味明朝Regular~(HaranoAjiMincho-Regular)と
+原ノ味角ゴシックMedium~(HaranoAjiGothic-Medium)があれば十分である.
+%</ja>
 \end{itemize}
 
 %<*en>
@@ -670,7 +673,7 @@ 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/}{\TeXLive} (in \texttt{texmf-dist/tex/luatex/luatexja})
+  \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
   \end{itemize}
@@ -681,14 +684,14 @@ Harano Aji fonts are available in \TeX~Live and MiK\TeX.
 以下のディストリビューションにも収録されている:
   \begin{itemize}
   \item MiK\TeX\ (\texttt{luatexja.tar.lzma})
-  \item \TeXLive (\texttt{texmf-dist/tex/luatex/luatexja})
+  \item \TeX~Live (\texttt{texmf-dist/tex/luatex/luatexja})
   \item W32\TeX\ (\texttt{luatexja.tar.xz})
   \end{itemize}
-\TeX Live, MiK\TeX は原ノ味フォントも収録している.
+\TeX~Live, MiK\TeX は原ノ味フォントも収録している.
 %</ja>
 
 %<*en>
-\paragraph{Using \LuaTeX-ja with LuaHB\TeX}
+\paragraph{HarfBuzz~and~\LuaTeX-ja}
 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,
@@ -699,13 +702,12 @@ Especially,
 by specifying \texttt{Renderer=Harfbuzz}~etc.\ (\Pkg{fontspec}) or~{mode=harf} (otherwise).
 %</en>
 %<*ja>
-\paragraph{LuaHB\TeX 下での\LuaTeX-jaの使用}
-現時点では,LuaHB\TeX 下での\LuaTeX-jaの使用は十分にテストされていない.
+\paragraph{HarfBuzzと\LuaTeX-ja}
+現時点では,HarfBuzzの機能を用いたときの\LuaTeX-jaの使用は十分にテストされていない.
 エラーが発生せずにタイプセットできるかもしれないが,特に縦組時や
 \cs{CID}などで意図しない結果となりうる可能性が大きい.
-
-特に,\texttt{Renderer=Harfbuzz}等(\Pkg{fontspec})や\texttt{mode=harf}指定(それ以外)を用いて
-\emph{和文フォントに対してHarfBuzzを用いることは推奨しない}.
+特に,\emph{\texttt{Renderer=Harfbuzz}等(\Pkg{fontspec})や\texttt{mode=harf}指定(それ以外)を通じて
+  和文フォントに対してHarfBuzzを用いることは推奨しない}.
 %</ja>
 
 %<en>\paragraph{Manual installation}
@@ -879,24 +881,20 @@ and finally delete the temporary directory.
 
 \item
 %<*en>
-Note that when \LuaTeX-ja is loaded in plain \LuaTeX~nor \LaTeX~2019-10-01,
+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}, since we can avoid this collision in \LaTeX\ 2020-02-02.
+\emph{We recommend to use \LaTeX\ 2020-02-02 (or later)}, since we can avoid this collision in there.
 %</en>
 %<*ja>
\81ªã\81\8aï¼\8c\LuaTeX-jaã\82\92plain~\LuaTeX ã\82\84\LaTeX\ 2019-10-01以å\89\8dã\81®ç\92°å¢\83ä¸\8bã\81§ç\94¨ã\81\84ã\82\8bå ´å\90\88ï¼\8c
+なお,\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}パッケージのフォント色処理のコードと衝突するためである.
@@ -943,11 +941,11 @@ codes for font color (\Pkg{luaotfload}) in these environments.
 \emph{組方向}&\emph{字体}&\emph{フォント名}&\bfseries``10\,pt''&\bfseries``7\,pt''&\bfseries``5\,pt''\\\midrule
 \smash{\raisebox{-0.7\zh}{横組}}&
 明朝体&原ノ味明朝Regular&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
-&\textgt{ゴシック体}&原ノ味ゴシックMedium&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
+&\textgt{ゴシック体}&原ノ味ゴシックMedium&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
 \midrule
 \smash{\raisebox{-0.7\zh}{縦組}}&
 明朝体&原ノ味明朝Regular&\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
-&\textgt{ゴシック体}&原ノ味ゴシックMedium&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
+&\textgt{ゴシック体}&原ノ味ゴシックMedium&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -1092,8 +1090,8 @@ By default, the following fonts are used for these two families.
 \begin{tabular}{lllll}
 \toprule
 \emph{字体}&\emph{ファミリ}&\textbf{\cs{mdseries}}&\textbf{\cs{bfseries}}&\emph{スケール}\\\midrule
-明朝体&\texttt{mc}&原ノ味明朝Regular&原ノ味ゴシックMedium&0.962216\\
-\textgt{ゴシック体}&\texttt{gt}&原ノ味ゴシックMedium&原ノ味ゴシックMedium&0.962216\\
+明朝体&\texttt{mc}&原ノ味明朝Regular&原ノ味ゴシックMedium&0.962216\\
+\textgt{ゴシック体}&\texttt{gt}&原ノ味角ゴシックMedium&原ノ味角ゴシックMedium&0.962216\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -1294,15 +1292,6 @@ For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (
 %<*ja>
 \LaTeX で用いる際には,\pLaTeXe\ (\texttt{plfonts.dtx})用のフォント選択機構の大部分を流用している.
 %</ja>
-\begin{itemize}
-%<*en>
-\item Commands \cs{fontfamily}, \cs{fontseries}, and \cs{fontshape} can be used to change
-      attributes of Japanese fonts.
-%</en>
-%<*ja>
-\item 和文フォントの属性を変更するには,\cs{fontfamily}, \cs{fontseries}, \cs{fontshape} を使用する.
-      もちろん,それらを実際に反映させるには手動で \cs{selectfont} を実行する必要がある.
-%</ja>
 
 %<*en>
 \begin{center}\small
@@ -1315,7 +1304,7 @@ Alphabetic fonts
 Japanese fonts
 &\cs{kanjiencoding}&\cs{kanjifamily}&\cs{kanjiseries}&\cs{kanjishape}
 &\cs{usekanji}\\
-both&---&--&\cs{fontseries}&\cs{fontshape}&---\\
+both&---&--&\cs{fontseries}&\cs{fontshape}$^*$&---\\
 auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 \bottomrule
 \end{tabular}
@@ -1325,22 +1314,42 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 \begin{center}\small
 \begin{tabular}{llllll}
 \toprule
-&\emph{ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°}&\emph{ã\83\95ã\82¡ã\83\9fã\83ª}&\emph{ã\82·ã\83ªã\83¼ã\82º}&\emph{ã\82·ã\82§ã\83¼プ}&\emph{選択}\\\midrule
+&\emph{ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°}&\emph{ã\83\95ã\82¡ã\83\9fã\83ª}&\emph{ã\82·ã\83ªã\83¼ã\82º}&\emph{ã\82·ã\82§ã\82¤プ}&\emph{選択}\\\midrule
 \emph{欧文}
 &\cs{romanencoding}&\cs{romanfamily}&\cs{romanseries}&\cs{romanshape}
 &\cs{useroman}\\
 \emph{和文}
 &\cs{kanjiencoding}&\cs{kanjifamily}&\cs{kanjiseries}&\cs{kanjishape}
 &\cs{usekanji}\\
-\emph{両方}&---&--&\cs{fontseries}&\cs{fontshape}&---\\
+\emph{両方}&---&--&\cs{fontseries}&\cs{fontshape}$^*$&---\\
 \emph{自動選択}&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 \bottomrule
 \end{tabular}
 \end{center}
 %</ja>
 
+\begin{itemize}
+%<*en>
+\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.
+
+      Note that \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 \cs{fontfamily}, \cs{fontseries}, \cs{fontshape} は欧文・和文フォント両方の属性を変更しようとする.
+      もちろん,それらを実際に反映させるには手動で \cs{selectfont} を実行する必要がある.
+
+      なお,\cs{fontshape\{<shape>\}}は常に欧文フォントのシェイプを設定するが,
+      もしも現在の和文フォントファミリ・シリーズで要求されたシェイプが利用不能だった場合には,和文フォントのシェイプは変更しない.
+      詳細は\ref{ssec:nfsspat}節を参照すること.
+%</ja>
+
 %<*en>
-      \verb+\fontencoding{+<encoding>\verb+}+ changes the encoding of alphabetic fonts
+\item \verb+\fontencoding{+<encoding>\verb+}+ changes the encoding of alphabetic fonts
       or Japanese fonts depending on the argument. For example,
       \verb+\fontencoding{JY3}+ changes the encoding of Japanese fonts to
       \texttt{JY3}, and \verb+\fontencoding{T1}+ changes the encoding of
@@ -1350,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+}+ は,引数により和文側か欧文
+\item  ここで,\cs{fontencoding\{<encoding>\}}は,引数により和文側か欧文
       側かのどちらかのエンコーディングを変更する.例えば,
       \verb+\fontencoding{JY3}+ は和文フォントのエンコーディングを
       \texttt{JY3}に変更し,\verb+\fontencoding{T1}+ は欧文フォント側を
@@ -1375,8 +1384,8 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 \item 和文フォントのシェイプを定義するには,通常の \cs{DeclareFontShape} を使えば良い:
 %</ja>
 \begin{lstlisting}
-\DeclareFontShape{JY3}{mc}{b}{n}{<-> s*KozMinPr6N-Bold:jfm=ujis;-kern}{}
-    % Kozuka Mincho Pr6N Bold
+\DeclareFontShape{JY3}{mc}{b}{n}{<-> s*HaranoAjiMincho--Bold:jfm=ujis;-kern}{}
+    % Harano Aji Mincho Bold
 \end{lstlisting}
 %<*ja>
 仮名書体を使う場合など,複数の和文フォントを組み合わせて使いたい場合は
@@ -1623,10 +1632,12 @@ Below is an example of \cs{jfontspec}.
 %</ja>
 
 \begin{LTXexample}[width=0.4\textwidth]
-\jfontspec[CJKShape=NLC]{KozMinPr6N-Regular}
-JIS~X~0213:2004→辻\par
-\jfontspec[CJKShape=JIS1990]{KozMinPr6N-Regular}
-JIS~X~0208:1990→辻
+\jfontspec[CJKShape=NLC]{HaranoAjiMincho-Regular}
+JIS~X~0213:2004→辻鯵\par
+\jfontspec[CJKShape=JIS1990]{HaranoAjiMincho-Regular}
+JIS~X~0208-1990→辻鯵\par
+\jfontspec[CJKShape=JIS1978]{HaranoAjiMincho-Regular}
+JIS~C~6226-1978→辻鯵
 \end{LTXexample}
 
 %<en>\subsection{Presets of Japanese fonts}
@@ -1657,10 +1668,10 @@ The following presets are defined:
 %<ja> 例えば,本ドキュメントでは\Pkg{luatexja-preset}パッケージを
 %<en> For example, this document loads \Pkg{luatexja-preset} package by
 \begin{lstlisting}
-\usepackage[kozuka-pr6n]{luatexja-preset}
+\usepackage[haranoaji]{luatexja-preset}
 \end{lstlisting}
-%<ja>ã\81¨ã\81\97ã\81¦èª­ã\81¿è¾¼ã\81¿ï¼\8cå°\8få¡\9aæ\9b¸ä½\93(Pr6N)を使うことを指定している.
-%<en> which means that Kozuka~Pr6N fonts will be used in this document.
+%<ja>ã\81¨ã\81\97ã\81¦èª­ã\81¿è¾¼ã\81¿ï¼\8cå\8e\9fã\83\8eå\91³ã\83\95ã\82©ã\83³ã\83\88を使うことを指定している.
+%<en> which means that Harano Aji fonts will be used in this document.
 
 
 %<*en>
@@ -1679,15 +1690,13 @@ as an external package \Pkg{luatexja-otf}.
 一部を(\Pkg{luatexja-otf}という別のパッケージとして)実装した.
 %</ja>
 
-\begin{LTXexample}
-\jfontspec{KozMinPr6N-Regular.otf}
-森\UTF{9DD7}外と内田百\UTF{9592}とが\UTF{9AD9}島屋に行く。
-
+\begin{LTXexample}[width=0.4\textwidth]
+森\UTF{9DD7}外と内田百\UTF{9592}とが\UTF{9AD9}島屋に\\
 \CID{7652}飾区の\CID{13706}野家,
-\CID{1481}城市,葛西駅,
-高崎と\CID{8705}\UTF{FA11}
-
-\aj半角{はんかくカタカナ}
+\CID{1481}城市,葛西駅,\\
+高崎と\CID{8705}\UTF{FA11},濱と\ajMayuHama\\
+\aj半角{カタカナ}\ajKakko3\ajMaruYobi{2}%
+\ajLig{令和}\ajLig{○問}\ajJIS
 \end{LTXexample}
 
 %<*ja>
@@ -3427,22 +3436,22 @@ TrueType/OpenTypeフォントにfeatureを指定したものを和文フォン
 ことができる:
 %</ja>
 \begin{LTXexample}[width=0.3\textwidth]
-\jfont\tradgt={file:KozMinPr6N-Regular.otf:script=latn;%
+\jfont\tradmc={IPAexMincho:script=latn;%
   +trad;-kern;jfm=ujis} at 14pt
-\tradgt 当/体/医/区
+\tradmc 当/体/医/区
 \end{LTXexample}
 
 %<*en>
 Note that the defined control sequence
-(\cs{tradgt} in the example above) using \cs{jfont} is not a
+(\cs{tradmc} in the example above) using \cs{jfont} is not a
 \textit{font\_def} token,  but a macro.
-Hence the input like \verb+\fontname\tradgt+
+Hence the input like \verb+\fontname\tradmc+
 causes a error.  We denote control sequences which are defined in
 \cs{jfont} by <jfont\_cs>.
 %</en>
 %<*ja>
-なお,\cs{jfont} で定義された制御綴(上の例だと \cs{tradgt})
-は\textit{font\_def}トークンではなくマクロである.従って,\verb+\fontname\tradgt+ のような
+なお,\cs{jfont} で定義された制御綴(上の例だと \cs{tradmc})
+は\textit{font\_def}トークンではなくマクロである.従って,\verb+\fontname\tradmc+のような
 入力はエラーとなる.以下では \cs{jfont} で定義された
 制御綴を<jfont\_cs>で表す.
 %</ja>
@@ -3574,9 +3583,9 @@ The difference among these three~JFMs is  shown in \autoref{tab-difjfm}.
 \begin{figure}
 \begin{LTXexample}[width=0.3\textwidth]
 \ltjsetparameter{differentjfm=both}
-\jfont\F=file:KozMinPr6N-Regular.otf:jfm=ujis
-\jfont\G=file:KozGoPr6N-Medium.otf:jfm=ujis
-\jfont\H=file:KozGoPr6N-Medium.otf:jfm=ujis;jfmvar=hoge
+\jfont\F=HaranoAjiMincho-Regular:jfm=ujis
+\jfont\G=HaranoAjiGothic-Medium:jfm=ujis
+\jfont\H=HaranoAjiGothic-Medium:jfm=ujis;jfmvar=hoge
 \F ){\G 【】}( % halfwidth space
    ){\H 『』}( % fullwidth space
 
@@ -3611,10 +3620,10 @@ JFMもサイズも同じなので,普通に「)【」と入力した時と
 \begin{figure}
 \begin{LTXexample}[pos=t]
 \newcommand\test{\vrule ダイナミックダイクマ\vrule\\}
-\jfont\KMFW = KozMinPr6N-Regular:jfm=prop;-kern at 17pt
-\jfont\KMFK = KozMinPr6N-Regular:jfm=prop at 17pt % kern is activated
-\jfont\KMPW = KozMinPr6N-Regular:jfm=prop;script=dflt;+pwid;-kern at 17pt
-\jfont\KMPK = KozMinPr6N-Regular:jfm=prop;script=dflt;+pwid;+kern at 17pt
+\jfont\KMFW = HaranoAjiMincho-Regular:jfm=prop;-kern at 17.28pt
+\jfont\KMFK = HaranoAjiMincho-Regular:jfm=prop at 17.28pt % kern is activated
+\jfont\KMPW = HaranoAjiMincho-Regular:jfm=prop;script=dflt;+palt;-kern at 17.28pt
+\jfont\KMPK = HaranoAjiMincho-Regular:jfm=prop;script=dflt;+palt;+kern at 17.28pt
 \begin{multicols}{2}
 \ltjsetparameter{kanjiskip=0pt}
 {\KMFW\test \KMFK\test \KMPW\test \KMPK\test}
@@ -3652,8 +3661,8 @@ NFSS2用の命令(\ref{ssec:chgfnt}節,\ref{ssec:nfsspat}節)における
 カーニング情報は標準で使用する}ことになっているようである.
 言い換えれば,カーニング情報を使用しない設定にするには,面倒でも
 \begin{lstlisting}
-\jfont\hoge=KozMinPr6N-Regular:jfm=ujis;-kern at 3.5mm
-\DeclareFontShape{JY3}{fuga}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;-kern}{}
+\jfont\hoge=HaranoAjiMincho-Regular:jfm=ujis;-kern at 3.5mm
+\DeclareFontShape{JY3}{fuga}{m}{n} {<-> s*HaranoAjiMincho-Regular:jfm=ujis;-kern}{}
 \end{lstlisting}
 のように,\texttt{-kern} という指定を自分で追加しなければいけない.
  \item
@@ -3689,11 +3698,9 @@ For example, the following example uses the standard JFM \texttt{jfm-ujis.lua},
 letter-spacing and the width of italic correction are not correct:
 %</en>
 \begin{LTXexample}[width=0.3\textwidth]
-\jfont\E=KozMinPr6N-Regular:extend=1.5;jfm=ujis;-kern
-\E あいうえお
-
-\jfont\S=KozMinPr6N-Regular:slant=1;jfm=ujis;-kern
-\S あいう\/ABC
+\jfont\E=HaranoAjiMincho-Regular:extend=1.5;jfm=ujis;-kern
+\jfont\S=HaranoAjiMincho-Regular:slant=1;jfm=ujis;-kern
+\E あいうえお \S あいう\/ABC
 \end{LTXexample}
 
 %<*ja>
@@ -3709,16 +3716,15 @@ JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
 \begin{LTXexample}[width=16\zw]
 \leavevmode
 \ltjsetparameter{kanjiskip=0pt plus 3\zw}
-\vrule\hbox to 15\zw{あ「い」う,えお}\vrule
-
-\jfont\G=file:KozMinPr6N-Regular.otf%
-  :jfm=ujis;-ltjksp at 9.2487pt
+\vrule\hbox to 15\zw{あ「い」う,えお}\vrule\\
+\jfont\G=HaranoAjiMincho-Regular%
+  :jfm=ujis;-ltjksp at \zw
 \G\leavevmode%
 \vrule\hbox to 15\zw{あ「い」う,えお}\vrule
 \end{LTXexample}
 なお,
 \begin{lstlisting}
- \jfont\G=file:KozMinPr6N-Regular.otf:jfm=ujis;-ltjksp;+ltjksp at 9.2487pt
+ \jfont\G=HaranoAjiMincho-Regular:jfm=ujis;-ltjksp;+ltjksp at \zw
 \end{lstlisting}
 のように \texttt{+ltjksp} 指定を行った場合は,\texttt{kanjiskip\_natural} など
 3キーは再び有効化される.\texttt{-ltjksp}, \texttt{+ltjksp} を複数回指定した場合は,
@@ -3736,10 +3742,9 @@ This functionality is disabled by \texttt{-ltjksp} specification.
 \begin{LTXexample}[width=16\zw]
 \leavevmode
 \ltjsetparameter{kanjiskip=0pt plus 3\zw}
-\vrule\hbox to 15\zw{あ「い」う,えお}\vrule
-
-\jfont\G=file:KozMinPr6N-Regular.otf%
-  :jfm=ujis;-ltjksp at 9.2487pt
+\vrule\hbox to 15\zw{あ「い」う,えお}\vrule\\
+\jfont\G=HaranoAjiMincho-Regular%
+  :jfm=ujis;-ltjksp at \zw
 \G\leavevmode%
 \vrule\hbox to 15\zw{あ「い」う,えお}\vrule
 \end{LTXexample}
@@ -3811,8 +3816,8 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont
   unless \texttt{vert}~and//or~\texttt{vrt2} are explicitly activated
   or deactivated (as the second line in the example below).
 \begin{lstlisting}
-\tfont\S=file:KozMinPr6N-Regular.otf:jfm=ujisv % vrt2 is automatically activated
-\tfont\T=file:KozMinPr6N-Regular.otf:jfm=ujisv;-vert % vert and vrt2 are not activated
+\tfont\S=HaranoAjiMincho-Regular:jfm=ujisv % vrt2 is automatically activated
+\tfont\T=HaranoAjiMincho-Regular:jfm=ujisv;-vert % vert and vrt2 are not activated
 \tfont\U=file:ipaexm.ttf:jfm=ujisv
     % vert is automatically activated, since this font does not have vrt2
 \end{lstlisting}
@@ -3837,9 +3842,9 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont
 \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
+\jfont\X=[HaranoAjiMincho-Regular.otf]:jfm=ujis
+\tfont\U=[HaranoAjiMincho-Regular.otf]:jfm=ujisv
+\tfont\V=[HaranoAjiMincho-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}
@@ -3866,8 +3871,8 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont
  \footnote{もしフォントが\texttt{vrt2}を定義していなかった場合,代わりに
  \texttt{vert}を用いる.}.
 \begin{lstlisting}
-\tfont\S=file:KozMinPr6N-Regular.otf:jfm=ujisv % vrt2 is automatically activated
-\tfont\T=file:KozMinPr6N-Regular.otf:jfm=ujisv;-vert % vert and vrt2 are not activated
+\tfont\S=HaranoAjiMincho-Regular:jfm=ujisv % vrt2 is automatically activated
+\tfont\T=HaranoAjiMincho-Regular:jfm=ujisv;-vert % vert and vrt2 are not activated
 \tfont\U=file:ipaexm.ttf:jfm=ujisv
     % vert is automatically activated, since this font does not have vrt2
 \end{lstlisting}
@@ -3900,9 +3905,9 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont
 
 \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
+\jfont\X=[HaranoAjiMincho-Regular.otf]:jfm=ujis
+\tfont\U=[HaranoAjiMincho-Regular.otf]:jfm=ujisv
+\tfont\V=[HaranoAjiMincho-Regular.otf]:jfm=ujisv;jpotf
 \def\TEST#1#2{\leavevmode
   \hbox{#1#2\string#2 “引用,と句読点.”}}
 \ttfamily\centering
@@ -4749,9 +4754,8 @@ using  \texttt{jfm-test.lua} which contains the following:
 %<ja>ここで,次のような入力とその実行結果を考える:
 %<en>Now consider the following input/output:
 \begin{LTXexample}[width=0.3\textwidth]
-\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+hwid
-\setbox0\hbox{\a ヒ漢}
-\the\wd0
+\jfont\a=IPAexMincho:jfm=test;+hwid
+\setbox0\hbox{\a ヒ漢}\the\wd0
 \end{LTXexample}
 %<*en>
 Now we look why the above source outputs 15\,pt.
@@ -4784,7 +4788,7 @@ The following input is an example.
 但し,JFMによって決まる置換後のグリフの文字クラスが0である場合は,置換前の文字クラスを採用する.
 %</ja>
 \begin{LTXexample}[width=0.3\textwidth]
-\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+vert
+\jfont\a=HaranoAjiMincho-Regular:jfm=test;+vert
 \a 漢。\inhibitglue 漢
 \end{LTXexample}
 %<*en>
@@ -4923,7 +4927,7 @@ See Japanese version of this manual.
 \texttt{'parbdd'}を入れれば全角下がりとなる.
 
 \begin{LTXexample}[width=0.4\textwidth]
-\jfont\g=KozMinPr6N-Regular:jfm=test \g
+\jfont\g=HaranoAjiMincho-Regular:jfm=test \g
 \parindent1\zw\noindent{}◆◆◆◆◆
 \par 「◆◆←二分下がり
 \par 【◆◆←全角下がり
@@ -5989,7 +5993,7 @@ the beginning of a box and ``あ'', and also between ``あ''~and~``ウ''.
 %</ja>
 
 \begin{LTXexample}[width=0.4\textwidth]
-\jfont\g=file:KozMinPr6N-Regular.otf:jfm=test \g
+\jfont\g=HaranoAjiMincho-Regular:jfm=test \g
 \fbox{\hbox{あウあ\inhibitglue ウ}}
 \inhibitglue\par\noindent あ1
 \par\inhibitglue\noindent あ2
@@ -6478,13 +6482,75 @@ 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~20200323.0 change the behavior. Namely,
+\cs{fontshape\{<shape>\}}~and~\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 20200323.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{kanjishapeforce\{<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}{fb}  {<-> s*KozGoPr6N-Regular:jfm=ujis}{}
-\DeclareFontShape{JY3}{edm}{m}{fb2} {<-> s*KozGoPr6N-Medium:jfm=ujis}{}
+\DeclareFontShape{JY3}{edm}{m}{n}   {<-> s*HaranoAjiMincho-Regular:jfm=ujis}{}
+\DeclareFontShape{JY3}{edm}{m}{fb}  {<-> s*HaranoAjiGothic-Regular:jfm=ujis;color=003FFF}{}
+\DeclareFontShape{JY3}{edm}{m}{fb2} {<-> s*HaranoAjiGothic-Regular:jfm=ujis;color=FF1900}{}
 \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
@@ -6864,11 +6930,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={FakeBold=3}, TateFeatures={FakeBold=6},
-  TateFont=KozGoPr6N-Regular
-]{KozMinPr6N-Regular}
+  YokoFeatures={Color=FF1900}, TateFeatures={Color=003FFF},
+  TateFont=HaranoAjiGothic-Regular
+]{HaranoAjiMincho-Regular}
 \hbox{\yoko 横組のテスト}\hbox{\tate 縦組のテスト}
-\addjfontfeatures{FakeBold=0}
+\addjfontfeatures{Color=00AF00}
 \hbox{\yoko 横組}\hbox{\tate 縦組}
 \end{LTXexample}
 %<ja>\caption{\texttt{TateFeatures} 等の使用例}
@@ -6914,11 +6980,11 @@ A demonstrarion is shown in \autoref{fig:yokotate-fontspec}.
 \begin{LTXexample}[pos=b]
 \jfontspec[
   AltFont={
-    {Range="4E00-"67FF, Font=KozGoPr6N-Medium},
-    {Range="6800-"9EFF, FakeBold=4},
-    {Range="3040-"306F, Font=KozGoPr6N-Regular},
+    {Range="4E00-"67FF, Font=HaranoAjiGothic-Regular, Color=003FFF},
+    {Range="6800-"9EFF, Color=FF1900},
+    {Range="3040-"306F, Font=HaranoAjiGothic-Regular, Color=35A16B},
   }
-]{KozMinPr6N-Regular}
+]{HaranoAjiMincho-Regular}
 日本国民は、正当に選挙された国会における代表者を通じて行動し、われらとわれらの子孫のために、
 諸国民との協和による成果と、わが国全土にわたつて自由のもたらす恵沢を確保し、……
 \end{LTXexample}
@@ -6978,7 +7044,7 @@ For example,
 \begin{lstlisting}
 AltFont = {
   { Font=HogeraMin-Light, BoldFont=HogeraMin-Bold,
-    Range="3000-"30FF, BoldFeatures={FakeBold=1} }
+    Range="3000-"30FF, BoldFeatures={Color=FF1900} }
 }
 \end{lstlisting}
 does \emph{not} work. Instead, one have to write
@@ -6987,7 +7053,7 @@ UprightFeatures = {
   AltFont = { { Font=HogeraMin-Light, Range="3000-"30FF, } },
 },
 BoldFeatures = {
-  AltFont =  { { Font=HogeraMin-Bold, Range="3000-"30FF, FakeBold=1 } },
+  AltFont =  { { Font=HogeraMin-Bold, Range="3000-"30FF, Color=FF1900 } },
 }
 \end{lstlisting}
 
@@ -7010,7 +7076,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={FakeBold=1} }
+    Range="3000-"30FF, BoldFeatures={Color=FF1900} }
 }
 \end{lstlisting}
 のように指定することは出来ず,
@@ -7019,7 +7085,7 @@ UprightFeatures = {
   AltFont = { { Font=HogeraMin-Light, Range="3000-"30FF, } },
 },
 BoldFeatures = {
-  AltFont =  { { Font=HogeraMin-Bold, Range="3000-"30FF, FakeBold=1 } },
+  AltFont =  { { Font=HogeraMin-Bold, Range="3000-"30FF, Color=FF1900 } },
 }
 \end{lstlisting}
 のように指定しなければならない.
@@ -7058,6 +7124,9 @@ 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''.
+
+Note that if the Japanese font is loaded using the HarfBuzz library, this \cs{CID}
+command does not work.
 %</en>
 %<*ja>
 CID番号が<number>の文字を出力する.
@@ -7070,6 +7139,8 @@ CID番号が<number>の文字を出力する.
   また,フォントにIVDコレクションAdobe-Japan1が含まれていれば,その情報を用いて
   グリフを選択する.
 }を出力する.
+
+なお,現在の和文フォントがHarfBuzzを用いて読み込まれた場合には,\cs{CID}は正しく動作しない.
 %</ja>
 
 \item[\cs{UTF}\{<hex\_number>\}]