From d16af08b5d764ae5ef3e5a755491dcf04a8d7362 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 23 Mar 2020 22:25:10 +0000 Subject: luatexja (23mar20) git-svn-id: svn://tug.org/texlive/trunk@54510 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/luatex/luatexja/README | 16 +- .../texmf-dist/doc/luatex/luatexja/luatexja-en.pdf | Bin 531826 -> 528742 bytes .../texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf | Bin 939144 -> 938795 bytes Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx | 218 ++++++++++++++------- .../tex/luatex/luatexja/addons/luatexja-preset.sty | 4 +- .../texmf-dist/tex/luatex/luatexja/ltj-plain.sty | 6 +- Master/texmf-dist/tex/luatex/luatexja/luatexja.sty | 2 +- .../tex/luatex/luatexja/patches/lltjdefs.sty | 8 +- .../tex/luatex/luatexja/patches/lltjfont.sty | 112 +++++++---- 9 files changed, 243 insertions(+), 123 deletions(-) diff --git a/Master/texmf-dist/doc/luatex/luatexja/README b/Master/texmf-dist/doc/luatex/luatexja/README index 382247cd449..4ef0694918a 100644 --- a/Master/texmf-dist/doc/luatex/luatexja/README +++ b/Master/texmf-dist/doc/luatex/luatexja/README @@ -1,4 +1,4 @@ -The LuaTeX-ja Package 20200301.0 +The LuaTeX-ja Package 20200323.0 -------------------------------- Copyright (c) 2011--2020 The LuaTeX-ja project License: modified BSD (see COPYING) @@ -22,9 +22,10 @@ Installation 0. Please make sure that your TeX distribution is up-to-date. This version of LuaTeX-ja requires - - LuaTeX 1.07.0 (or later) + - LuaTeX 1.10.0 (or later) - luaotfload (v3.1 or later recommended) - adobemapping (Adobe CMap files) + - LaTeX 2020-02-02 patch level 5 or later (if you want to use with LaTeX) - everysel package - etoolbox package - ltxcmds package @@ -32,20 +33,21 @@ Installation - atbegshi package - filehook package - stfloats package - - IPAex fonts (http://ipafont.ipa.go.jp/) + - Harano Aji fonts (https://github.com/trueroad/HaranoAjiFonts) + more specifically, HaranoAjiMincho-Regular and HaranoAjiGothic-Medium Using LuaTeX-ja with LuaHBTeX is not well tested. One might be able to typeset documents without an error, but with some unwanted results. -1. If you are using TeX Live 2019, you can install LuaTeX-ja via tlmgr. +1. If you are using TeX Live 2020, you can install LuaTeX-ja via tlmgr. 2. If you must/want to install manually: a. Download the source archive from CTAN, - or tagged as 20200301.0 in the Git repository by + or tagged as 20200323.0 in the Git repository by + ;a=snapshot;h=refs/tags/20200323.0;sf=tgz> b. Extract the archive and process following three files by LuaLaTeX to generate classes for Japanese typesetting: @@ -93,4 +95,4 @@ Notes * src/*.{ins.dtx} and src/ltj-kinsoku_make.tex are not needed in regular use. -Last commit date: Sun Mar 1 09:56:08 2020 +0900 +Last commit date: Mon Mar 23 07:51:46 2020 +0900 diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf b/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf index f4f37cabfb2..c850b984cac 100644 Binary files a/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf and b/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf differ diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf b/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf index 0687d280bb6..e82c5aae289 100644 Binary files a/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf and b/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf differ diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx b/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx index 87654172e7b..1cf7ea28d73 100644 --- a/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx +++ b/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx @@ -505,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. % %<*ja> \paragraph{ギリシャ文字・キリル文字とISO~8859-1の記号} @@ -523,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} 命令 を使えばよい. % @@ -652,15 +648,29 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}. %The following packages are needed for the \LuaTeX-ja\ package. %\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 +% (if you want to use \LuaTeX-ja with \LaTeXe) +% (\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} +% (if you want to use \LuaTeX-ja with \LaTeXe) +% (\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) -%\item \emph{IPAex fonts} (\url{http://ipafont.ipa.go.jp/}) -%\item \emph{IPAexフォント(\url{http://ipafont.ipa.go.jp/})} +%%% %\item \emph{IPAex fonts} (\url{http://ipafont.ipa.go.jp/}) +%%% %\item \emph{IPAexフォント(\url{http://ipafont.ipa.go.jp/})} +%<*en> +\item \emph{Harano Aji fonts} (\url{https://github.com/trueroad/HaranoAjiFonts})\\ + More specifically, HaranoAjiMincho-Regular~and~HaranoAjiGothic-Medium. +% +%<*ja> +\item \emph{原ノ味フォント(\url{https://github.com/trueroad/HaranoAjiFonts})}\\ +\LuaTeX-jaの最低限の動作には原ノ味明朝Regular~(HaranoAjiMincho-Regular)と +原ノ味角ゴシックMedium~(HaranoAjiGothic-Medium)があれば十分である. +% \end{itemize} %<*en> @@ -668,26 +678,25 @@ Now \LuaTeX-ja is available from CTAN (in the \texttt{macros/luatex/generic/luatexja} directory), and the following distributions: \begin{itemize} - \item MiK\TeX\ (in \texttt{luatexja.tar.lzma}); see the next subsection - \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} -IPAex fonts are also available in these distributions. +Harano Aji fonts are available in \TeX~Live and MiK\TeX. % %<*ja> 現在,\LuaTeX-jaはCTAN (\texttt{macros/luatex/generic/luatexja})に収録されている他, 以下のディストリビューションにも収録されている: \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} -これらのディストリビューションはIPAexフォントも収録している. -W32\TeX においてはIPAexフォントは \texttt{luatexja.tar.xz} 内にある. +\TeX~Live, MiK\TeX は原ノ味フォントも収録している. % %<*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, @@ -698,13 +707,12 @@ Especially, by specifying \texttt{Renderer=Harfbuzz}~etc.\ (\Pkg{fontspec}) or~{mode=harf} (otherwise). % %<*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を用いることは推奨しない}. % %\paragraph{Manual installation} @@ -878,24 +886,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. % %<*ja> -なお,\LuaTeX-jaをplain~\LuaTeX や\LaTeX\ 2019-10-01以前の環境下で用いる場合, +なお,\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}パッケージのフォント色処理のコードと衝突するためである. @@ -924,12 +928,12 @@ codes for font color (\Pkg{luaotfload}) in these environments. \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} @@ -941,12 +945,12 @@ codes for font color (\Pkg{luaotfload}) in these environments. \toprule \emph{組方向}&\emph{字体}&\emph{フォント名}&\bfseries``10\,pt''&\bfseries``7\,pt''&\bfseries``5\,pt''\\\midrule \smash{\raisebox{-0.7\zh}{横組}}& -明朝体&IPAex明朝&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\ -&\textgt{ゴシック体}&IPAexゴシック&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\ +明朝体&原ノ味明朝Regular&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\ +&\textgt{ゴシック体}&原ノ味角ゴシックMedium&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\ \midrule \smash{\raisebox{-0.7\zh}{縦組}}& -明朝体&IPAex明朝&\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\ -&\textgt{ゴシック体}&IPAexゴシック&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\ +明朝体&原ノ味明朝Regular&\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\ +&\textgt{ゴシック体}&原ノ味角ゴシックMedium&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\ \bottomrule \end{tabular} \end{center} @@ -958,7 +962,7 @@ codes for font color (\Pkg{luaotfload}) in these environments. one inputs \texttt{luatexja.sty} (Subsection~\ref{ssec:cfg}). % %<*ja> -\item 標準和文フォントやJFMをIPAexフォントから別のものに置き換えるには, +\item 標準和文フォントやJFMを原ノ味フォントから別のものに置き換えるには, \cs{ltj@stdmcfont}等を\texttt{luatexja.sty}読み込み\emph{前}に定義すればよい. \ref{ssec:cfg}節を参照. % @@ -1056,8 +1060,8 @@ By default, the following fonts are used for these two families. \begin{tabular}{lllll} \toprule \textbf{classification}&\textbf{family}&\textbf{\cs{mdseries}}&\textbf{\cs{bfseries}}&\textbf{scale}\\\midrule -\emph{mincho} (明朝体)&\texttt{mc}&IPAexMincho&IPAexGothic&0.962216\\ -\emph{gothic} (\textgt{ゴシック体})&\texttt{gt}&IPAexGothic&IPAexGothic&0.962216\\ +\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} @@ -1091,8 +1095,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}&IPAex明朝&IPAexゴシック&0.962216\\ -\textgt{ゴシック体}&\texttt{gt}&IPAexゴシック&IPAexゴシック&0.962216\\ +明朝体&\texttt{mc}&原ノ味明朝Regular&原ノ味角ゴシックMedium&0.962216\\ +\textgt{ゴシック体}&\texttt{gt}&原ノ味角ゴシックMedium&原ノ味角ゴシックMedium&0.962216\\ \bottomrule \end{tabular} \end{center} @@ -1293,15 +1297,6 @@ For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ ( %<*ja> \LaTeX で用いる際には,\pLaTeXe\ (\texttt{plfonts.dtx})用のフォント選択機構の大部分を流用している. % -\begin{itemize} -%<*en> -\item Commands \cs{fontfamily}, \cs{fontseries}, and \cs{fontshape} can be used to change - attributes of Japanese fonts. -% -%<*ja> -\item 和文フォントの属性を変更するには,\cs{fontfamily}, \cs{fontseries}, \cs{fontshape} を使用する. - もちろん,それらを実際に反映させるには手動で \cs{selectfont} を実行する必要がある. -% %<*en> \begin{center}\small @@ -1314,7 +1309,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} @@ -1324,22 +1319,42 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\ \begin{center}\small \begin{tabular}{llllll} \toprule -&\emph{エンコーディング}&\emph{ファミリ}&\emph{シリーズ}&\emph{シェープ}&\emph{選択}\\\midrule +&\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}\\ -\emph{両方}&---&--&\cs{fontseries}&\cs{fontshape}&---\\ +\emph{両方}&---&--&\cs{fontseries}&\cs{fontshape}$^*$&---\\ \emph{自動選択}&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\ \bottomrule \end{tabular} \end{center} % +\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}. +% +%<*ja> +\item \cs{fontfamily}, \cs{fontseries}, \cs{fontshape} は欧文・和文フォント両方の属性を変更しようとする. + もちろん,それらを実際に反映させるには手動で \cs{selectfont} を実行する必要がある. + + なお,\cs{fontshape\{\}}は常に欧文フォントのシェイプを設定するが, + もしも現在の和文フォントファミリ・シリーズで要求されたシェイプが利用不能だった場合には,和文フォントのシェイプは変更しない. + 詳細は\ref{ssec:nfsspat}節を参照すること. +% + %<*en> - \verb+\fontencoding{+\verb+}+ changes the encoding of alphabetic fonts +\item \verb+\fontencoding{+\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 @@ -1349,7 +1364,7 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\ For the detail, see Subsection~\ref{ssec:nfsspat}. % %<*ja> - ここで,\verb+\fontencoding{+\verb+}+ は,引数により和文側か欧文 +\item ここで,\cs{fontencoding\{\}}は,引数により和文側か欧文 側かのどちらかのエンコーディングを変更する.例えば, \verb+\fontencoding{JY3}+ は和文フォントのエンコーディングを \texttt{JY3}に変更し,\verb+\fontencoding{T1}+ は欧文フォント側を @@ -3987,7 +4002,8 @@ For example, \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. +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.}. @@ -6476,13 +6492,75 @@ to . See Subsection~\ref{ssec:fontfamilycmd} for detail. 和文,\emph{もしくは両方})をに変更する.詳細は\ref{ssec:fontfamilycmd}節を参照すること. % +\item[\cs{fontshape}\{\}\textrm{, }\cs{fontshapeforce}\{\}] +%<*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\{\}}~and~\cs{fontshapeforce\{\}} change current Japanese font shape, only if +the required shape (according to shape changing rules) or 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. +% +%<*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\{\}}, \cs{fontshapeforce\{\}}が和文フォントシェイプを更新するのは, +シェイプ更新規則に基づいた値やの少なくとも一つが現在の和文フォントファミリ・シリーズで利用可能なときに限られる. +どちらでもなく,和文フォントシェイプが変更されなかった場合には +\begin{verbatim} + Kanji font shape JY3/mc/m/it' undefined + No change on ... +\end{verbatim} +というinfo(警告でなく)を出力する. +% + +\item[\cs{kanjishape}\{\}\textrm{, }\cs{kanjishapeforce}\{\}] +%<*en> +\cs{kanjishape\{\}} changes current Japanese font shape according to shape change rules, and +\cs{kanjishapeforce\{\}} changes current Japanese font shape to , 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\}}. +% +%<*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*KozMinPr6N-Regular:jfm=ujis}{} +\DeclareFontShape{JY3}{edm}{m}{fb} {<-> s*KozGoPr6N-Regular:jfm=ujis;color=003FFF}{} +\DeclareFontShape{JY3}{edm}{m}{fb2} {<-> s*KozGoPr6N-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 @@ -6862,11 +6940,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}, + YokoFeatures={Color=FF1900}, TateFeatures={Color=003FFF}, TateFont=KozGoPr6N-Regular ]{KozMinPr6N-Regular} \hbox{\yoko 横組のテスト}\hbox{\tate 縦組のテスト} -\addjfontfeatures{FakeBold=0} +\addjfontfeatures{Color=00AF00} \hbox{\yoko 横組}\hbox{\tate 縦組} \end{LTXexample} %\caption{\texttt{TateFeatures} 等の使用例} @@ -6912,9 +6990,9 @@ 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=KozGoPr6N-Regular, Color=003FFF}, + {Range="6800-"9EFF, Color=FF1900}, + {Range="3040-"306F, Font=KozGoPr6N-Regular, Color=35A16B}, } ]{KozMinPr6N-Regular} 日本国民は、正当に選挙された国会における代表者を通じて行動し、われらとわれらの子孫のために、 @@ -6976,7 +7054,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 @@ -6985,7 +7063,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} @@ -7008,7 +7086,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} のように指定することは出来ず, @@ -7017,7 +7095,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} のように指定しなければならない. @@ -8060,17 +8138,15 @@ There is not rounded gothic family in Kozuka 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. % %<*ja> -ヒラギノフォントは,Mac OS~X以外にも,一太郎2012の上位エディションにもバンドルされている. 極太ゴシック体として用いるヒラギノ角ゴW8は,Adobe-Japan1-3の範囲しかカバーしていない Std/StdNフォントであり,その他はAdobe-Japan1-5対応である. -なお,明朝体細字として用いるヒラギノ明朝体W2はOS~Xや一太郎にはバンドルされておらず, +なお,明朝体細字として用いるヒラギノ明朝体W2はOS~Xにはバンドルされておらず, 別途購入する必要がある. % \begin{center}\small diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty index 050f78e9153..c561df00a66 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty @@ -1,5 +1,5 @@ % luatexja-preset.sty -\ProvidesPackage{luatexja-preset}[2020/01/26 Japanese font presets] +\ProvidesPackage{luatexja-preset}[2020/03/19 Japanese font presets] \RequirePackage{expl3,l3keys2e} \RequirePackage{luatexja} @@ -359,7 +359,7 @@ __custom = false, __office = false, __noembed = true, } -\keys_set:nn {luatexja-preset} { ipaex } +\keys_set:nn {luatexja-preset} { haranoaji } %% old: ipaex \ProcessKeysOptions { luatexja-preset } \@ifpackageloaded{luatexja-fontspec}{ \bool_if:NT \g__ltjpreset_nfssonly_bool diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty b/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty index eb78843f477..16e71e10607 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty @@ -23,8 +23,10 @@ %! ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ % LuaTeX-ja macros against plain TeX -\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{IPAExMincho}\fi -\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{IPAExGothic}\fi +\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{file:HaranoAjiMincho-Regular.otf}\fi +\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{file:HaranoAjiGothic-Medium.otf}\fi +%\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{IPAExMincho}\fi +%\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{IPAExGothic}\fi \ifdefined\ltj@stdyokojfm\else\def\ltj@stdyokojfm{ujis}\fi \ifdefined\ltj@stdtatejfm\else\def\ltj@stdtatejfm{ujisv}\fi \newread\ltj@@cfgread diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty b/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty index e3f36d1e45d..0af38a01afb 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty @@ -41,7 +41,7 @@ \ProcessOptions\relax \fi % %%%% VERSION -\def\LuaTeXjaversion{20200301.0} +\def\LuaTeXjaversion{20200323.0} \directlua{require('ltj-unicode-ccfix.lua')}% catcode of ideographs diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty index 3efb01116b5..29f38b367ad 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty @@ -3,10 +3,12 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjdefs}[2020/02/27 Default font settings of LuaTeX-ja] +\ProvidesPackage{lltjdefs}[2020/03/16 Default font settings of LuaTeX-ja] -\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{IPAExMincho}\fi -\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{IPAExGothic}\fi +\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{file:HaranoAjiMincho-Regular.otf}\fi +\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{file:HaranoAjiGothic-Medium.otf}\fi +%\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{IPAExMincho}\fi +%\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{IPAExGothic}\fi \ifdefined\ltj@stdyokojfm\else\def\ltj@stdyokojfm{ujis}\fi \ifdefined\ltj@stdtatejfm\else\def\ltj@stdtatejfm{ujisv}\fi \InputIfFileExists{luatexja.cfg}{% diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty index cfa8e2343a9..69ab7441c2a 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty @@ -3,7 +3,7 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjfont}[2020/03/01 Patch to NFSS2 for LuaTeX-ja] +\ProvidesPackage{lltjfont}[2020/03/20 Patch to NFSS2 for LuaTeX-ja] %% patching \DeclareTextComposite \def\ltj@chardef@text@cmd#1{% @@ -571,6 +571,8 @@ \newcount\ltj@@latex@plv \ltj@@latex@plv=-1 \ifdefined\@rmfamilyhook %%%% LaTeX 2020-02-02 +\newif\if@shape@roman@kanji +%%%%%% 2020-02-02 patchlevel detection \ifx\@forced@seriestrue\@undefined % 2020-02-02 pl0--2 \@latex@error {Please update LaTeX2e!^^J\space\space @@ -580,12 +582,11 @@ \ltj@@latex@plv=300 \unless\ifx\series@maybe@drop@one@m@x\@undefined % pl5 + develop \ltj@@latex@plv=501 - \else - \unless\ifx\series@maybe@drop@one@m\@undefined % patch level 5 - \ltj@@latex@plv=500 - \fi - \fi + \else\unless\ifx\series@maybe@drop@one@m\@undefined % patch level 5 + \ltj@@latex@plv=500 + \fi\fi \fi +%%%%%% \def\merge@kanji@series#1{% \expandafter\expandafter\expandafter @@ -595,17 +596,17 @@ \@nil } -\ifnum\ltj@@latex@plv>500 % pl5 + develop +\ifnum\ltj@@latex@plv>500 % !!! pl5 + develop \def\set@target@series@kanji#1{% \edef\k@series{#1}% \series@maybe@drop@one@m\k@series\k@series } -\else\ifnum\ltj@@latex@plv>300 % pl5 +\else\ifnum\ltj@@latex@plv>300 % !!! pl5 \def\set@target@series@kanji#1{% \edef\k@series{#1}% \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series } -\else % pl 3, 4 +\else % !!! pl 3, 4 \def\set@target@series@kanji#1{% \edef\k@series{#1}% \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}% @@ -643,7 +644,11 @@ \def\merge@kanji@shape@#1#2#3\@nil{% \def\reserved@a{#3}% \ifx\reserved@a\@empty - \edef\k@shape{#2}% + \if@shape@roman@kanji + \set@safe@kanji@shape{#2}{}% + \else + \edef\k@shape{#2}% + \fi \else \begingroup\let\f@encoding\k@encoding\let\f@family\k@family \maybe@load@fontshape\endgroup @@ -655,13 +660,31 @@ \edef\k@shape{#2}% {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% \else - \edef\k@shape{#3}% - {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% + \if@shape@roman@kanji + \set@safe@kanji@shape{#3}% + {{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}}% + \else + \edef\k@shape{#3}% + {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% + \fi \fi \fi \fi } -\ifnum\ltj@@latex@plv=300 % pl3, 4 +\def\set@safe@kanji@shape#1#2{% + \edef\reserved@b{\k@encoding /\k@family /\k@series/#1}% + \ifcsname \reserved@b\endcsname + \edef\k@shape{#1}% + #2% + \else + \@kanji@shape@nochange@info{\reserved@b}% + \fi +} +\def\@kanji@shape@nochange@info#1{% + \@font@info{Kanji font shape `#1' undefined\MessageBreak + No change}% +} +\ifnum\ltj@@latex@plv=300 % !!! pl3, 4 \DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}} \DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}} \DeclareRobustCommand\fontseries[1]{% @@ -670,7 +693,7 @@ \DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}} \DeclareRobustCommand\fontseriesforce[1]{% \edef\f@series{#1}\edef\k@series{#1}} -\else % pl 5 +\else % !!! pl 5 \DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse\merge@font@series{#1}} \DeclareRobustCommand\kanjiseries[1]{\@forced@seriesfalse\merge@kanji@series{#1}} \DeclareRobustCommand\fontseries[1]{% @@ -683,10 +706,13 @@ \DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}} \DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}} \DeclareRobustCommand\fontshape[1]{% - \merge@font@shape{#1}\merge@kanji@shape{#1}} + \@shape@roman@kanjitrue + \merge@font@shape{#1}\merge@kanji@shape{#1}% + \@shape@roman@kanjifalse +} \DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}} \DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}} -\DeclareRobustCommand\fontshapeforce[1]{\kanjishapeforce{#1}\romanshapeforce{#1}} +\DeclareRobustCommand\fontshapeforce[1]{\set@safe@kanji@shape{#1}{}\romanshapeforce{#1}} \DeclareRobustCommand\usekanji[4]{% \kanjiencoding{#1}\edef\k@family{#2}\edef\k@series{#3}\edef\k@shape{#4}% \selectfont\ignorespaces} @@ -718,8 +744,7 @@ \fi} \DeclareRobustCommand\normalfont{% \useroman\encodingdefault\familydefault\seriesdefault\shapedefault - \usekanji\kanjiencodingdefault\kanjifamilydefault\kanjiseriesdefault\kanjishapedefault - \ignorespaces} + \usekanji\kanjiencodingdefault\kanjifamilydefault\kanjiseriesdefault\kanjishapedefault} \let\reset@font\normalfont \ifdefined\@rmfamilyhook @@ -743,36 +768,49 @@ \patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{} \patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{} \def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}\@elt{jtt}} -\DeclareRobustCommand\bfseries{% - \not@math@alphabet\bfseries\mathbf - \expand@font@defaults - \ifx\f@family\rmdef@ult \romanseries\bfseries@rm - \else\ifx\f@family\sfdef@ult \romanseries\bfseries@sf - \else\ifx\f@family\ttdef@ult \romanseries\bfseries@tt - \else \romanseries\bfdefault - \fi\fi\fi + +\expandafter\patchcmd\csname bfseries \endcsname{% + \let\bfseries@rm\bfdef@ult + \let\bfseries@sf\bfdef@ult + \let\bfseries@tt\bfdef@ult +}{% + \let\bfseries@rm\bfdef@ult + \let\bfseries@sf\bfdef@ult + \let\bfseries@tt\bfdef@ult + \let\bfseries@mc\bfdef@ult + \let\bfseries@gt\bfdef@ult + \let\bfseries@jtt\bfdef@ult +}{}{} +\expandafter\patchcmd\csname mdseries \endcsname{% + \let\mdseries@rm\mddef@ult + \let\mdseries@sf\mddef@ult + \let\mdseries@tt\mddef@ult +}{% + \let\mdseries@rm\mddef@ult + \let\mdseries@sf\mddef@ult + \let\mdseries@tt\mddef@ult + \let\mdseries@mc\mddef@ult + \let\mdseries@gt\mddef@ult + \let\mdseries@jtt\mddef@ult +}{}{} +\expandafter\patchcmd\csname bfseries \endcsname{\selectfont}% +{% \ifx\k@family\mcdef@ult \kanjiseries\bfseries@mc \else\ifx\k@family\gtdef@ult \kanjiseries\bfseries@gt \else\ifx\k@family\jttdef@ult\kanjiseries\bfseries@jtt \else \kanjiseries\bfdefault \fi\fi\fi - \selectfont -} -\DeclareRobustCommand\mdseries{% - \not@math@alphabet\mdseries\relax - \expand@font@defaults - \ifx\f@family\rmdef@ult \romanseries\mdseries@rm - \else\ifx\f@family\sfdef@ult \romanseries\mdseries@sf - \else\ifx\f@family\ttdef@ult \romanseries\mdseries@tt - \else \romanseries\mddefault - \fi\fi\fi + \selectfont +}{}{} +\expandafter\patchcmd\csname mdseries \endcsname{\selectfont}% +{% \ifx\k@family\mcdef@ult \kanjiseries\mdseries@mc \else\ifx\k@family\gtdef@ult \kanjiseries\mdseries@gt \else\ifx\k@family\jttdef@ult\kanjiseries\mdseries@jtt \else \kanjiseries\mddefault \fi\fi\fi \selectfont -} +}{}{} \appto\expand@font@defaults{% \edef\mcdef@ult{\mcdefault}% \edef\gtdef@ult{\gtdefault}% -- cgit v1.2.3