%<*!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}}{}
]{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}
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
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の記号}
また,\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>
%<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>
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{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}
以下のディストリビューションにも収録されている:
\begin{itemize}
\item MiK\TeX\ (\texttt{luatexja.tar.lzma})
- \item \TeX\ Live (\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,
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}
\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}パッケージのフォント色処理のコードと衝突するためである.
\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}
\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}
%<*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
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}
\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
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}+ は欧文フォント側を
\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>
仮名書体を使う場合など,複数の和文フォントを組み合わせて使いたい場合は
%</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}
%<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>
一部を(\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>
ことができる:
%</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>
\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
\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}
カーニング情報は標準で使用する}ことになっているようである.
言い換えれば,カーニング情報を使用しない設定にするには,面倒でも
\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
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>
\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} を複数回指定した場合は,
\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}
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}
\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}
\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}
\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
%<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.
但し,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>
\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 【◆◆←全角下がり
%</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
和文,\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
\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} 等の使用例}
\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}
\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
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}
\begin{lstlisting}
AltFont = {
{ Font=HogeraMin-Light, BoldFont=HogeraMin-Bold,
- Range="3000-"30FF, BoldFeatures={FakeBold=1} }
+ Range="3000-"30FF, BoldFeatures={Color=FF1900} }
}
\end{lstlisting}
のように指定することは出来ず,
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}
のように指定しなければならない.
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>の文字を出力する.
また,フォントにIVDコレクションAdobe-Japan1が含まれていれば,その情報を用いて
グリフを選択する.
}を出力する.
+
+なお,現在の和文フォントがHarfBuzzを用いて読み込まれた場合には,\cs{CID}は正しく動作しない.
%</ja>
\item[\cs{UTF}\{<hex\_number>\}]