diff options
Diffstat (limited to 'macros/luatex/generic/luatexja')
-rw-r--r-- | macros/luatex/generic/luatexja/README | 16 | ||||
-rw-r--r-- | macros/luatex/generic/luatexja/doc/luatexja-en.pdf | bin | 531826 -> 528742 bytes | |||
-rw-r--r-- | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf | bin | 939144 -> 938795 bytes | |||
-rw-r--r-- | macros/luatex/generic/luatexja/doc/luatexja.dtx | 218 | ||||
-rw-r--r-- | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty | 4 | ||||
-rw-r--r-- | macros/luatex/generic/luatexja/src/ltj-plain.sty | 6 | ||||
-rw-r--r-- | macros/luatex/generic/luatexja/src/luatexja.sty | 2 | ||||
-rw-r--r-- | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty | 8 | ||||
-rw-r--r-- | macros/luatex/generic/luatexja/src/patches/lltjfont.sty | 112 |
9 files changed, 243 insertions, 123 deletions
diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README index 382247cd44..4ef0694918 100644 --- a/macros/luatex/generic/luatexja/README +++ b/macros/luatex/generic/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 <http://git.osdn.jp/view?p=luatex-ja/luatexja.git - ;a=snapshot;h=refs/tags/20200301.0;sf=tgz> + ;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/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf Binary files differindex f4f37cabfb..c850b984ca 100644 --- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf +++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf Binary files differindex 0687d280bb..e82c5aae28 100644 --- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf +++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf diff --git a/macros/luatex/generic/luatexja/doc/luatexja.dtx b/macros/luatex/generic/luatexja/doc/luatexja.dtx index 87654172e7..1cf7ea28d7 100644 --- a/macros/luatex/generic/luatexja/doc/luatexja.dtx +++ b/macros/luatex/generic/luatexja/doc/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. %</en> %<*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} 命令 を使えばよい. %</ja> @@ -652,15 +648,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{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})\\ + 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> @@ -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. %</en> %<*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 は原ノ味フォントも収録している. %</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, @@ -698,13 +707,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} @@ -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. %</en> %<*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}). %</en> %<*ja> -\item 標準和文フォントやJFMをIPAexフォントから別のものに置き換えるには, +\item 標準和文フォントやJFMを原ノ味フォントから別のものに置き換えるには, \cs{ltj@stdmcfont}等を\texttt{luatexja.sty}読み込み\emph{前}に定義すればよい. \ref{ssec:cfg}節を参照. %</ja> @@ -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})用のフォント選択機構の大部分を流用している. %</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 @@ -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} %</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 @@ -1349,7 +1364,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}+ は欧文フォント側を @@ -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 <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*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} %<ja>\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. %</en> %<*ja> -ヒラギノフォントは,Mac OS~X以外にも,一太郎2012の上位エディションにもバンドルされている. 極太ゴシック体として用いるヒラギノ角ゴW8は,Adobe-Japan1-3の範囲しかカバーしていない Std/StdNフォントであり,その他はAdobe-Japan1-5対応である. -なお,明朝体細字として用いるヒラギノ明朝体W2はOS~Xや一太郎にはバンドルされておらず, +なお,明朝体細字として用いるヒラギノ明朝体W2はOS~Xにはバンドルされておらず, 別途購入する必要がある. %</ja> \begin{center}\small diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty index 050f78e915..c561df00a6 100644 --- a/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty +++ b/macros/luatex/generic/luatexja/src/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/macros/luatex/generic/luatexja/src/ltj-plain.sty b/macros/luatex/generic/luatexja/src/ltj-plain.sty index eb78843f47..16e71e1060 100644 --- a/macros/luatex/generic/luatexja/src/ltj-plain.sty +++ b/macros/luatex/generic/luatexja/src/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/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty index e3f36d1e45..0af38a01af 100644 --- a/macros/luatex/generic/luatexja/src/luatexja.sty +++ b/macros/luatex/generic/luatexja/src/luatexja.sty @@ -41,7 +41,7 @@ \ProcessOptions\relax \fi %</LaTeX> %%%% VERSION -\def\LuaTeXjaversion{20200301.0} +\def\LuaTeXjaversion{20200323.0} \directlua{require('ltj-unicode-ccfix.lua')}% catcode of ideographs diff --git a/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty b/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty index 3efb01116b..29f38b367a 100644 --- a/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty +++ b/macros/luatex/generic/luatexja/src/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/macros/luatex/generic/luatexja/src/patches/lltjfont.sty b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty index cfa8e2343a..69ab7441c2 100644 --- a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty +++ b/macros/luatex/generic/luatexja/src/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}% |