From f713ac513a897193c8b6ac8e34d55d8490fe270f Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 12 Apr 2022 03:04:20 +0000 Subject: CTAN sync 202204120304 --- macros/luatex/generic/luatexja/README | 8 +-- macros/luatex/generic/luatexja/doc/ltjclasses.pdf | Bin 400068 -> 397581 bytes macros/luatex/generic/luatexja/doc/ltjsclasses.pdf | Bin 456779 -> 456567 bytes macros/luatex/generic/luatexja/doc/luatexja-en.pdf | Bin 717082 -> 717327 bytes macros/luatex/generic/luatexja/doc/luatexja-ja.pdf | Bin 1147701 -> 1149069 bytes macros/luatex/generic/luatexja/doc/luatexja.dtx | 60 +++++++++++++++------ macros/luatex/generic/luatexja/src/ltj-jfont.lua | 10 ++-- macros/luatex/generic/luatexja/src/ltj-plain.sty | 24 ++++----- macros/luatex/generic/luatexja/src/ltjclasses.dtx | 9 ++-- macros/luatex/generic/luatexja/src/ltjsclasses.dtx | 11 ++-- macros/luatex/generic/luatexja/src/luatexja.sty | 2 +- .../generic/luatexja/src/patches/lltjdefs.sty | 12 +++-- 12 files changed, 87 insertions(+), 49 deletions(-) (limited to 'macros/luatex/generic/luatexja') diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README index 9789b3ab84..44e0e1e280 100644 --- a/macros/luatex/generic/luatexja/README +++ b/macros/luatex/generic/luatexja/README @@ -1,4 +1,4 @@ -The LuaTeX-ja Package 20220311.0 +The LuaTeX-ja Package 20220411.0 -------------------------------- Copyright (c) 2011--2022 The LuaTeX-ja project License: modified BSD (see COPYING) @@ -42,9 +42,9 @@ Installation 2. If you must/want to install manually: a. Download the source archive from CTAN, - or tagged as 20220311.0 in the Git repository by + or tagged as 20220411.0 in the Git repository by + ;a=snapshot;h=refs/tags/20220411.0;sf=tgz> b. Extract the archive and process following three files by LuaLaTeX to generate classes for Japanese typesetting: @@ -93,4 +93,4 @@ Notes This file and ltj-kinsoku.lua are not used anymore. (Do not remove ltj-kinsoku.tex.) -Last commit date: Fri Mar 11 19:03:05 2022 +0900 +Last commit date: Mon Apr 11 16:22:21 2022 +0900 diff --git a/macros/luatex/generic/luatexja/doc/ltjclasses.pdf b/macros/luatex/generic/luatexja/doc/ltjclasses.pdf index a199f6baef..f5fe3bec34 100644 Binary files a/macros/luatex/generic/luatexja/doc/ltjclasses.pdf and b/macros/luatex/generic/luatexja/doc/ltjclasses.pdf differ diff --git a/macros/luatex/generic/luatexja/doc/ltjsclasses.pdf b/macros/luatex/generic/luatexja/doc/ltjsclasses.pdf index 2c2a923de9..9993e10d72 100644 Binary files a/macros/luatex/generic/luatexja/doc/ltjsclasses.pdf and b/macros/luatex/generic/luatexja/doc/ltjsclasses.pdf differ diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf index 9b4b7e16ad..4a8064513c 100644 Binary files a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf and b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf differ diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf index 0ecc2456f6..84997df76a 100644 Binary files a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf and b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf differ diff --git a/macros/luatex/generic/luatexja/doc/luatexja.dtx b/macros/luatex/generic/luatexja/doc/luatexja.dtx index bdd6f3acb3..05c59fc21b 100644 --- a/macros/luatex/generic/luatexja/doc/luatexja.dtx +++ b/macros/luatex/generic/luatexja/doc/luatexja.dtx @@ -3759,33 +3759,63 @@ See \autoref{tab-difjfm} for the difference among \texttt{jfm-ujis.lua}, \texttt %<*en> Some fonts have information for inter-glyph spacing. \LuaTeX-ja 20140324.0 or later treats kerning spaces like an italic correction; -any glue and/or kern from the JFM and a kerning space can coexist. +any glue and/or kern from the JFM and a kerning space from the font can coexist. See \autoref{fig:kern-jfm} for detail. -Note that in \cs{setmainjfont} etc.\ which are provided by \Pkg{luatexja-fontspec} -package, kerning option is set \emph{off} (\texttt{Kerning=Off}) by default, -because of the compatibility with previous versions of \LuaTeX-ja. +At version~20220411.0, defaults Japanese fonts which are defined +at the loading of \LuaTeX-ja, \Pkg{ltjclasses},~and~\Pkg{ltjsclasses} +do not insert font-derived kerning spaces by default. +This is because standard JFMs do not expect font-derived kerning spaces +between Japanese characters. + +Also note that in \cs{setmainjfont} etc.\ which are provided by \Pkg{luatexja-fontspec} +package, kerning option is set \emph{off} (\texttt{Kerning=Off}) by default. +This means the following two lines have the same meaning: +\begin{lstlisting} +\setmainjfont{HaranoAjiMincho-Regular} +\setmainjfont[Kerning=Off]{HaranoAjiMincho-Regular} +\end{lstlisting} + % %<*ja> いくつかのフォントはグリフ間のスペースについての情報を持っている. このカーニング情報は以前の\LuaTeX-ja とはあまり相性が良くなかったが, バージョン20140324.0以降ではカーニングによる空白はイタリック補正と同様に扱うことになっている. -つまり,カーニング由来の空白とJFM由来のグルー・カーンは同時に入りうる. +つまり,カーニング由来の空白とJFM由来のグルー・カーンは同時に入ることがある. \autoref{fig:kern-jfm}を参照. \begin{itemize} - \item \emph{\cs{jfont} や, -NFSS2用の命令(\ref{ssec:chgfnt}節,\ref{ssec:nfsspat}節)における指定では -カーニング情報は標準で使用する}ことになっているようである. -言い換えれば,カーニング情報を使用しない設定にするには,面倒でも + \item \emph{\cs{jfont} や,NFSS2用の命令(\ref{ssec:chgfnt}節,\ref{ssec:nfsspat}節)では, +カーニング情報を使用する設定(OpenType機能\texttt{kern})はとくに指定しなくても有効になる}. +すなわち,以下の2行目と3行目,5行目と6行目はそれぞれ等価である: +\begin{lstlisting}[numbers=left] +\jfont\hoge=hogem:jfm=ujis;-kern at 3.5mm % ==> kern 無効(明示) +\jfont\hoge=hogem:jfm=ujis at 3.5mm % ==> kern 有効(暗黙) +\jfont\hoge=hogem:jfm=ujis;+kern at 3.5mm % ==> kern 有効(明示) +\DeclareFontShape{JY3}{fuga}{m}{n}{<-> s*hogem:jfm=-ujis}{} % ==> kern 無効(明示) +\DeclareFontShape{JY3}{fuga}{m}{n}{<-> s*hogem:jfm=ujis}{} % ==> kern 有効(暗黙) +\DeclareFontShape{JY3}{fuga}{m}{n}{<-> s*hogem:jfm=ujis+kern}{}% ==> kern 有効(明示) +\end{lstlisting} + +\item バージョン20220411.0以降では,\LuaTeX-ja読み込み時や,\Pkg{ltjclasses}, \Pkg{ltjsclasses}において + 和文フォントを \begin{lstlisting} -\jfont\hoge=HaranoAjiMincho-Regular:jfm=ujis;-kern at 3.5mm -\DeclareFontShape{JY3}{fuga}{m}{n} {<-> s*HaranoAjiMincho-Regular:jfm=ujis;-kern}{} +\jfont\tenmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm\space at 9.62216pt +\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] + \ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm}{} \end{lstlisting} -のように,\texttt{-kern} という指定を自分で追加しなければいけない. + とOpenType機能\texttt{kern}を明示的に無効化した状態で定義する. + これは標準JFM(\texttt{jfm-ujis.lua}, \texttt{jfm-ujisv.lua})が + フォント由来のカーニングが入ることを期待していないためである. + \item 一方,\emph{\Pkg{luatexja-fontspec} の提供する \cs{setmainjfont}\ -などの命令の標準設定ではカーニング情報は使用しない}(\texttt{Kerning=Off}) -ことになっている.これは以前のバージョンの\LuaTeX-jaとの互換性のためである. +などの命令の標準設定ではカーニング情報は使用しない}(\texttt{Kerning=Off}). +すなわち,次の2行は等価である: +\begin{lstlisting} +\setmainjfont{HaranoAjiMincho-Regular} +\setmainjfont[Kerning=Off]{HaranoAjiMincho-Regular} +\end{lstlisting} +これは前項目の理由の他に,以前のバージョンの\LuaTeX-jaとの互換性のためもある. \end{itemize} % @@ -3828,7 +3858,7 @@ JFM中における\texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\ \texttt{kanjiskip\_shrink}キー(\pageref{pg:ksp_nat}ページ)の使用によって, 「JFM由来のグルーの他に,\Param{kanjiskip}の自然長/伸び量/縮み量の一部が 同じ場所に挿入される」という状況が起こりうる. -この機能を無効化し,バージョン20150922.0以前と同じような組版を得るためには +この機能を無効化し,バージョン20150922.0以前と同じような組版を得るためには, 他のOpenType機能と同じように\texttt{-ltjksp}指定を行えば良い(\autoref{fig:ltjksp}参照). なお, \begin{lstlisting} diff --git a/macros/luatex/generic/luatexja/src/ltj-jfont.lua b/macros/luatex/generic/luatexja/src/ltj-jfont.lua index 4c19e33cb2..64cb1a0da9 100644 --- a/macros/luatex/generic/luatexja/src/ltj-jfont.lua +++ b/macros/luatex/generic/luatexja/src/ltj-jfont.lua @@ -404,12 +404,12 @@ do local semicolon = P';' local comma = P',' local equals = P'=' - local jf_field_char = 1 - S'/{};,=' + local jf_field_char = 1 - S'/{};,= \t\v' local jf_field = C(jf_field_char^1) - local jf_assignment = jf_field * equals * jf_field - local jf_switch = P'-' * jf_field * Cc(false) + P'+'^-1 * jf_field * Cc(true) - local jf_feature_expr = Cg(jf_assignment + jf_switch) * comma^0 - local jf_feature_list = P'{' * jf_feature_expr^0 * P'}' + jf_feature_expr^0 + local jf_assignment = jf_field * ws * equals * ws * jf_field + local jf_switch = P'-' * jf_field * Cc(false) + P'+'^-1 * jf_field * Cc(true) + local jf_feature_expr = Cg(jf_assignment + jf_switch) * ws * comma^0 * ws + local jf_feature_list = ws * ( P'{' * ws * jf_feature_expr^0 * P'}' + jf_feature_expr^0 ) local jf_list = C((1-slash)^1) * (slash * Cf(Ct'' * jf_feature_list, rawset))^-1 local jf_value = (1 - semicolon)^1 local function rem(name,value) diff --git a/macros/luatex/generic/luatexja/src/ltj-plain.sty b/macros/luatex/generic/luatexja/src/ltj-plain.sty index 5268cc1dcd..54e4a93703 100644 --- a/macros/luatex/generic/luatexja/src/ltj-plain.sty +++ b/macros/luatex/generic/luatexja/src/ltj-plain.sty @@ -54,19 +54,19 @@ \fi \let\ltj@@cfgread\relax\advance\count16\m@ne\relax -\jfont\tenmin=\ltj@stdmcfont:jfm=\ltj@stdyokojfm\space at 9.62216pt -\jfont\sevenmin=\ltj@stdmcfont:jfm=\ltj@stdyokojfm\space at 6.73551pt -\jfont\fivemin=\ltj@stdmcfont:jfm=\ltj@stdyokojfm\space at 4.81108pt -\jfont\tengt=\ltj@stdgtfont:jfm=\ltj@stdyokojfm\space at 9.62216pt -\jfont\sevengt=\ltj@stdgtfont:jfm=\ltj@stdyokojfm\space at 6.73551pt -\jfont\fivegt=\ltj@stdgtfont:jfm=\ltj@stdyokojfm\space at 4.81108pt +\jfont\tenmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm\space at 9.62216pt +\jfont\sevenmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm\space at 6.73551pt +\jfont\fivemin=\ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm\space at 4.81108pt +\jfont\tengt=\ltj@stdgtfont:-kern;jfm=\ltj@stdyokojfm\space at 9.62216pt +\jfont\sevengt=\ltj@stdgtfont:-kern;jfm=\ltj@stdyokojfm\space at 6.73551pt +\jfont\fivegt=\ltj@stdgtfont:-kern;jfm=\ltj@stdyokojfm\space at 4.81108pt -\tfont\tentmin=\ltj@stdmcfont:jfm=\ltj@stdtatejfm\space at 9.62216pt -\tfont\seventmin=\ltj@stdmcfont:jfm=\ltj@stdtatejfm\space at 6.73551pt -\tfont\fivetmin=\ltj@stdmcfont:jfm=\ltj@stdtatejfm\space at 4.81108pt -\tfont\tentgt=\ltj@stdgtfont:jfm=\ltj@stdtatejfm\space at 9.62216pt -\tfont\seventgt=\ltj@stdgtfont:jfm=\ltj@stdtatejfm\space at 6.73551pt -\tfont\fivetgt=\ltj@stdgtfont:jfm=\ltj@stdtatejfm\space at 4.81108pt +\tfont\tentmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdtatejfm\space at 9.62216pt +\tfont\seventmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdtatejfm\space at 6.73551pt +\tfont\fivetmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdtatejfm\space at 4.81108pt +\tfont\tentgt=\ltj@stdgtfont:-kern;jfm=\ltj@stdtatejfm\space at 9.62216pt +\tfont\seventgt=\ltj@stdgtfont:-kern;jfm=\ltj@stdtatejfm\space at 6.73551pt +\tfont\fivetgt=\ltj@stdgtfont:-kern;jfm=\ltj@stdtatejfm\space at 4.81108pt \def\mc{\tenmin\tentmin} \def\gt{\tengt\tentgt} diff --git a/macros/luatex/generic/luatexja/src/ltjclasses.dtx b/macros/luatex/generic/luatexja/src/ltjclasses.dtx index 2511e6e0ff..e2d4dd9a50 100644 --- a/macros/luatex/generic/luatexja/src/ltjclasses.dtx +++ b/macros/luatex/generic/luatexja/src/ltjclasses.dtx @@ -138,6 +138,7 @@ % hyperref compability % (sync with ltsect.dtx 2020/07/27 v1.1e)} % \changes{v1.8f-ltj-21}{2021-12-22}{余計なコメントの削除.} +% \changes{v1.8f-ltj-22}{2022-04-11}{kern featureが有効になっていたのを修正.} % \fi % % \iffalse @@ -167,7 +168,7 @@ %<11pt&bk>\ProvidesFile{ltjtbk11.clo} %<12pt&bk>\ProvidesFile{ltjtbk12.clo} % - [2021-12-22 v1.8f-ltj-21 + [2022-04-11 v1.8f-ltj-22 % Standard LuaLaTeX-ja class] %<10pt|11pt|12pt> Standard LuaLaTeX-ja file (size option)] %<*driver> @@ -645,6 +646,8 @@ % % [2020-05-30 LTJ] 「フォントメトリックの変更」の節の内容の処理をここで行います。 % +% [2022-04-11 LTJ] kern featureを無効にするのを忘れていました. +% % \begin{macrocode} \ifptexmin \directlua{luatexbase.add_to_callback('luatexja.load_jfm', @@ -652,8 +655,8 @@ 'ltj.jclasses_load_jfm', 1)} {\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax -\DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:jfm=min}{} -\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{} +\DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:-kern;jfm=min}{} +\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:-kern;jfm=min;jfmvar=goth}{} \ltjglobalsetparameter{differentjfm=both} \directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')} \fi diff --git a/macros/luatex/generic/luatexja/src/ltjsclasses.dtx b/macros/luatex/generic/luatexja/src/ltjsclasses.dtx index b47fe05311..049f9383af 100644 --- a/macros/luatex/generic/luatexja/src/ltjsclasses.dtx +++ b/macros/luatex/generic/luatexja/src/ltjsclasses.dtx @@ -44,7 +44,7 @@ %<*driver> \ProvidesFile{ltjsclasses.dtx} % - [2020/12/23 ltjsclasses ] + [2022/04/11 ltjsclasses ] %<*driver> \IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{} \documentclass[disablejfam]{ltjsarticle} @@ -975,15 +975,16 @@ % [2018-09-23 LTJ] |\Cjascale|の設定を前倒ししたことに伴い,実際の再定義は % \texttt{mingoth}, \texttt{ptexjis}のときしか必要なくなりました。 % +% [2022-04-11 LTJ] kern featureを無効にするのを忘れていました. % \begin{macrocode} \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax \ifmingoth - \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:jfm=min}{} - \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:jfm=min}{} + \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:-kern;jfm=min}{} + \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:-kern;jfm=min}{} \else \ifptexjis - \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:jfm=jis}{} - \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:jfm=jis}{} + \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:-kern;jfm=jis}{} + \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:-kern;jfm=jis}{} \fi \fi % \end{macrocode} diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty index f8c20af662..adc6f2276e 100644 --- a/macros/luatex/generic/luatexja/src/luatexja.sty +++ b/macros/luatex/generic/luatexja/src/luatexja.sty @@ -27,7 +27,7 @@ \newif\ifltj@disablejfam %%%% VERSION -\def\LuaTeXjaversion{20220311.0} +\def\LuaTeXjaversion{20220411.0} %% Check if LaTeX is used. \begingroup\expandafter\expandafter\expandafter\endgroup diff --git a/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty b/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty index c330c0ea57..bb63ac6877 100644 --- a/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty +++ b/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty @@ -45,18 +45,22 @@ \fi \DeclareKanjiFamily{JY3}{mc}{} -\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdyokojfm}{} +\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] + \ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm}{} \DeclareKanjiFamily{JY3}{gt}{} -\DeclareFontShape{JY3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdyokojfm}{} +\DeclareFontShape{JY3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] + \ltj@stdgtfont:-kern;jfm=\ltj@stdyokojfm}{} \DeclareFontShape{JY3}{mc}{bx}{n}{<-> ssub*gt/m/n}{} \DeclareFontShape{JY3}{gt}{bx}{n}{<-> ssub*gt/m/n}{} \DeclareFontShape{JY3}{mc}{b}{n}{<-> ssub*gt/m/n}{} \DeclareFontShape{JY3}{gt}{b}{n}{<-> ssub*gt/m/n}{} \DeclareKanjiFamily{JT3}{mc}{} -\DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdtatejfm}{} +\DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] + \ltj@stdmcfont:-kern;jfm=\ltj@stdtatejfm}{} \DeclareKanjiFamily{JT3}{gt}{} -\DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdtatejfm}{} +\DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] + \ltj@stdgtfont:-kern;jfm=\ltj@stdtatejfm}{} \DeclareFontShape{JT3}{mc}{bx}{n}{<-> ssub*gt/m/n}{} \DeclareFontShape{JT3}{gt}{bx}{n}{<-> ssub*gt/m/n}{} \DeclareFontShape{JT3}{mc}{b}{n}{<-> ssub*gt/m/n}{} -- cgit v1.2.3