texlive[55192] Master/texmf-dist: luatexja (18may20)

commits+karl at tug.org commits+karl at tug.org
Mon May 18 00:34:22 CEST 2020


Revision: 55192
          http://tug.org/svn/texlive?view=revision&revision=55192
Author:   karl
Date:     2020-05-18 00:34:22 +0200 (Mon, 18 May 2020)
Log Message:
-----------
luatexja (18may20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/luatex/luatexja/README
    trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
    trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
    trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
    trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-propw.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-collcell.sty

Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/README
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luatexja/README	2020-05-17 22:33:27 UTC (rev 55191)
+++ trunk/Master/texmf-dist/doc/luatex/luatexja/README	2020-05-17 22:34:22 UTC (rev 55192)
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20200412.0
+The LuaTeX-ja Package 20200517.0
 --------------------------------
 Copyright (c) 2011--2020 The LuaTeX-ja project
 License: modified BSD (see COPYING)
@@ -45,9 +45,9 @@
 2. If you must/want to install manually:
 
    a. Download the source archive from CTAN,
-      or tagged as 20200412.0 in the Git repository by
+      or tagged as 20200517.0 in the Git repository by
       <http://git.osdn.jp/view?p=luatex-ja/luatexja.git
-                              ;a=snapshot;h=refs/tags/20200412.0;sf=tgz>
+                              ;a=snapshot;h=refs/tags/20200517.0;sf=tgz>
 
    b. Extract the archive and process following three files by LuaLaTeX
       to generate classes for Japanese typesetting:
@@ -95,4 +95,4 @@
 
 * src/*.{ins.dtx} and src/ltj-kinsoku_make.tex are not needed in regular use.
 
-Last commit date: Sun Apr 12 18:04:02 2020 +0900
+Last commit date: Sun May 17 10:43:32 2020 +0900

Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx	2020-05-17 22:33:27 UTC (rev 55191)
+++ trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx	2020-05-17 22:34:22 UTC (rev 55192)
@@ -1,5 +1,6 @@
 %<*!showexpl>
 %#! lualatex -shell-escape
+%% KozMinPr6N-Regular.otf is needed to typeset this document.
 
 %%%%% section ==> 章
 %%%%% subsection => 節
@@ -33,6 +34,7 @@
 \usepackage{unicode-math}
 \setmonojfont{HaranoAjiGothic-Regular.otf}
 \setmathfont[Scale=MatchLowercase]{XITSMath}
+\newjfontface\KOZM{KozMinPr6N-Regular.otf}
 
 \setLaTeXa{\scshape a}
 %<*ja>
@@ -151,6 +153,7 @@
 \theoremstyle{definition}
 %<en>\newtheorem{defn}{Definition}
 %<ja>\newtheorem{defn}{定義}
+\DeclareMathOperator\nint{nint}
 
 %%%%%%%% logo
 \usepackage{metalogo}
@@ -1966,7 +1969,7 @@
 \centering\footnotesize
 \def\ch#1{%
   {\fboxsep0pt\fcolorbox{cyan}{white}%
-  {\normalsize\char"20#1}}\ (\texttt{U+20#1})} %"
+  {\normalsize\KOZM\UTF{20#1}}}\ (\texttt{U+20#1})} %"
 % 13: JIS X0213, AJ, Adobe-Japan-1 only
 \begin{tabular}{ll>{\color{white}}lll>{\color{white}}l}
   \ch{02}&{En space}&AJ&
@@ -3465,7 +3468,7 @@
 which JFM will be used for this font by the following keys:
 %</en>
 %<*ja>
-JFMは文字と和文組版で自動的に挿入される
+JFMは文字の寸法情報と和文組版で自動的に挿入される
 グルー/カーンの寸法情報を持っている.JFMの構造は次の節で述べる.
 \cs{jfont} 命令の呼び出しの際には,どのJFMを用いるのかを以下のキーで
 指定する必要がある:
@@ -3540,7 +3543,7 @@
 %<*en>
 \item[\texttt{jfm-ujis.lua}] A standard horizontal JFM in \LuaTeX-ja. This JFM is
   based on \verb+upnmlminr-h.tfm+, a metric for UTF/OTF package that
-  is used in \upTeX. When you use the \Pkg{luatexja-otf} package, you should use this JFM.
+  is used in \upTeX. When you are going to use the \Pkg{luatexja-otf} package, you should use this JFM.
 %</en>
 %<*ja>
 \item[\texttt{jfm-ujis.lua}] \LuaTeX-jaの標準JFMである.このJFMは\upTeX で
@@ -3598,7 +3601,21 @@
 \label{fig:jfmvar}
 \end{figure}
 
+%<*ja>
+また,プロポーショナル組用に\texttt{jfm-prop.lua}と\texttt{jfm-propw.lua}も用意されている.
+どちらのJFMも文字幅の情報と自動挿入されるグルー・カーンの情報は持たない(つまりグリフの文字幅をそのまま採用する).
+\texttt{jfm-prop.lua}と\texttt{jfm-propw.lua}の差は,前者が
+文字の高さ・深さ情報も持たないのに対し,後者は持っている点である
+\footnote{プロポーショナル組の状況でルビをつけたい,などという状況では\texttt{jfm-propw.lua}が有用かもしれない.}.
+%</ja>
 %<*en>
+Furthermore, \LuaTeX-ja also ship two JFMs, namely \texttt{jfm-prop.lua}~and~\texttt{jfm-propw.lua},
+  for ``proportional typesetting''.
+Both JFMs don't have any character width information, nor glues/kerns information.
+\texttt{jfm-prop.lua} also also not have character height and depth information, while \texttt{jfm-propw.lua} has them.
+%</en>
+
+%<*en>
 \item[jfmvar=<string>]
 Sometimes there is a need that \ldots.
 %</en>
@@ -3673,6 +3690,7 @@
 %</ja>
 
 %<*ja>
+\newpage
 \paragraph{\texttt{extend}と\texttt{slant}}
 OpenType機能と見かけ上同じような形式で指定できるものに,
 \begin{description}
@@ -3693,7 +3711,7 @@
 \item[\texttt{slant=}<slant>] slant the font.
 \end{cslist}
 Note that \LuaTeX-ja doesn't adjust JFMs by these \texttt{extend} and \texttt{slant}
-settings; you have to write new JFMs on purpose.
+settings; one have to write new JFMs on purpose.
 For example, the following example uses the standard JFM \texttt{jfm-ujis.lua}, hence
 letter-spacing and the width of italic correction are not correct:
 %</en>
@@ -3704,30 +3722,21 @@
 \end{LTXexample}
 
 %<*ja>
-\paragraph{\texttt{ltjksp} 指定}
+\paragraph{\texttt{ltjksp}指定}
 \label{pg:ltjksp}
 \LuaTeX-ja標準では,
-JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
+JFM中における\texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
 \texttt{kanjiskip\_shrink}キー(\pageref{pg:ksp_nat}ページ)の使用によって,
 「JFM由来のグルーの他に,\Param{kanjiskip}の自然長/伸び量/縮み量の一部が
 同じ場所に挿入される」という状況が起こりうる.
 この機能を無効化し,バージョン20150922.0以前と同じような組版を得るためには
-他のOpenType機能と同じように\ \texttt{-ltjksp}\ 指定を行えば良い.
-\begin{LTXexample}[width=16\zw]
-\leavevmode
-\ltjsetparameter{kanjiskip=0pt plus 3\zw}
-\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}
+他のOpenType機能と同じように\texttt{-ltjksp}指定を行えば良い(\autoref{fig:ltjksp}参照).
 なお,
 \begin{lstlisting}
  \jfont\G=HaranoAjiMincho-Regular:jfm=ujis;-ltjksp;+ltjksp at \zw
 \end{lstlisting}
-のように \texttt{+ltjksp} 指定を行った場合は,\texttt{kanjiskip\_natural} など
-3キーは再び有効化される.\texttt{-ltjksp}, \texttt{+ltjksp} を複数回指定した場合は,
+のように\texttt{+ltjksp}指定を行った場合は,\texttt{kanjiskip\_natural}など
+3キーは再び有効化される.\texttt{-ltjksp}, \texttt{+ltjksp}を複数回指定した場合は,
 最後に指定したものが有効となる.
 %</ja>
 %<*en>
@@ -3737,8 +3746,10 @@
 \texttt{kanjiskip\_shrink} keys (Page~\pageref{pg:ksp_nat}) makes tha
 \LuaTeX-ja inserts not only a glue which is specified by a JFM, and also
 the natural width/stretch part/shrink part of \Param{kanjiskip}.
-
-This functionality is disabled by \texttt{-ltjksp} specification.
+This functionality is disabled by \texttt{-ltjksp} specification,
+as shown in~\autoref{fig:ltjksp}.
+%</en>
+\begin{figure}
 \begin{LTXexample}[width=16\zw]
 \leavevmode
 \ltjsetparameter{kanjiskip=0pt plus 3\zw}
@@ -3748,7 +3759,9 @@
 \G\leavevmode%
 \vrule\hbox to 15\zw{あ「い」う,えお}\vrule
 \end{LTXexample}
-%</en>
+\caption{\texttt{ltjksp}}
+\label{fig:ltjksp}
+\end{figure}
 
 
 
@@ -3812,7 +3825,7 @@
 \begin{itemize}
  \item OpenType Feature~\texttt{vrt2}%
   \footnote{If the font does not define \texttt{vrt2} feature,
-	use \texttt{vert} instead.} is automatically activated,
+	\texttt{vert} is used instead.} is automatically activated,
   unless \texttt{vert}~and//or~\texttt{vrt2} are explicitly activated
   or deactivated (as the second line in the example below).
 \begin{lstlisting}
@@ -3857,6 +3870,8 @@
   By default, it substitutes ideographic comma/period for fullwidth comma/period,
   and double prime quotation marks for double quotation marks
   (See~\autoref{fig:jpotf}).
+  One can customize substitutions by lua~function \verb+luatexja.jfont.register_vert_replace+\ %
+  (see Japanese version of this manual).
 \end{itemize}
 %</en>
 %<*ja>
@@ -4727,6 +4742,26 @@
 (optional, version~2 or~later)
 %</en>
 
+  \item[round\_threshold=<float>]
+%<*ja>
+(任意,バージョン3以降,文字クラス0のみ)
+
+「実際のグリフの幅に合わせて文字幅を整数倍する」際のしきい値を指定する.
+より正確に述べると,次のようになる.このフィールドに正の数$r$が指定されていたとし,
+文字クラス0で指定されている文字幅が$w$,文字クラス0に属する文字のグリフの幅が$w'$であったとする.
+$n=\nint(w/w')$とした
+\footnote{ここで,$\nint(a)=\lfloor a+0.5\rfloor$は$a$に「もっとも近い整数」を表す.}
+とき,もし$w'>w$かつ$|w/w'-n|\char`<r$であれば,JFMで文字幅$nw$が指定されたものとして扱う.
+
+この機能は,ほとんど源ノ明朝・源ノ角ゴシックにおける2倍角・3倍角ダッシュの合字のために実装されたと
+言ってもよい.これらのグリフは\LuaTeX 内部ではUnicodeの私用領域に割り当てられるので,
+JFM側で番号を指定することができない.
+%</ja>
+%<*en>
+(optional, version~3 or~later, only available in character class~0)
+%</en>
+
+
 \end{cslist}
 
 %<*ja>
@@ -4817,7 +4852,7 @@
 %<ja>\paragraph{仮想的な文字}
 %<en>\paragraph{Imaginary characters}
 %<*en>
-As described before, you can specify several ``imaginary characters'' in
+As described before, one can specify several ``imaginary characters'' in
 \texttt{chars} field. The most of these characters are regarded as the
 characters of class 0 in \pTeX.
 As a result, \LuaTeX-ja can control typesetting finer than \pTeX.
@@ -4967,7 +5002,7 @@
 \autoref{tab-math} shows counterparts to \TeX's primitives for math
 font families. There is no relation between the value of
 \cs{fam} and that of \cs{jfam}; with appropriate settings,
-you can set both \cs{fam} and \cs{jfam} to the same value.
+one can set both \cs{fam} and \cs{jfam} to the same value.
 Here <jfont\_cs> in the argument of \Param{jatextfont} etc.\ is
 a control sequence which is defined by \cs{jfont}, i.e.,
 a \emph{horizontal} Japanese font.
@@ -5018,7 +5053,7 @@
 %<en>\item[\texttt{luatexja.load\_jfm} callback]
 %<ja>\item[\texttt{luatexja.load\_jfm}コールバック]
 %<*en>
-With this callback you can overwrite JFMs.
+With this callback, one can overwrite JFMs.
 This callback is called when a new JFM is loaded.
 %</en>
 %<*ja>
@@ -8343,7 +8378,7 @@
 \midrule
 %<en>\textit{rounded gothic}
 %<ja>\textgt{丸ゴシック}
-&&\AD{Sans}{Heavy}\\
+&&\AD{Sans}{Medium}\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -8375,7 +8410,7 @@
 \midrule
 %<en>\textit{rounded gothic}
 %<ja>\textgt{丸ゴシック}
-&&\AD{Sans}{Black}\\
+&&\AD{Sans}{Medium}\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -8411,7 +8446,7 @@
 \midrule
 %<en>\textit{rounded gothic}
 %<ja>\textgt{丸ゴシック}
-&&HaranoAjiGothic-Heavy.otf\\
+&&HaranoAjiGothic-Medium.otf\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -11366,10 +11401,11 @@
 縦組時には,「\hbox to \zw{、}」(\texttt{U+3001})から「\ltjjachar"FE11」(\texttt{U+FE11})%"
 のように縦組用字形への置き換えに関係する処理は,以下のようになっている.
 
+
 \begin{table}[t]
   \def\D#1#2#3#4{%
 	{\fboxsep0pt\fcolorbox{cyan}{white}%
-    {\large\char"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})%"
+    {\large\KOZM\ltjjachar"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})%"
   }
   \caption{\LuaTeX-ja標準で行われる縦組形への置換}
   \label{tab:vert_replace}\small\centering

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty	2020-05-17 22:33:27 UTC (rev 55191)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty	2020-05-17 22:34:22 UTC (rev 55192)
@@ -1,5 +1,5 @@
 % luatexja-preset.sty
-\ProvidesPackage{luatexja-preset}[2020/03/27 Japanese font presets]
+\ProvidesPackage{luatexja-preset}[2020-05-15 Japanese font presets]
 
 \RequirePackage{expl3,l3keys2e}
 \RequirePackage{luatexja}
@@ -278,7 +278,7 @@
     gt-b =  Source~Han~Sans~Bold,
     gt-u =  Source~Han~Sans~Medium,
     gt-eb = Source~Han~Sans~Heavy,
-    mg-m =  Source~Han~Sans~Heavy,
+    mg-m =  Source~Han~Sans~Medium,
     mc-l =  Source~Han~Serif~Light,
     __custom = false, __office = false, __noembed = false,
 }
@@ -289,7 +289,7 @@
     gt-b =  Source~Han~Sans~JP~Bold,
     gt-u =  Source~Han~Sans~JP~Medium,
     gt-eb = Source~Han~Sans~JP~Heavy,
-    mg-m =  Source~Han~Sans~JP~Heavy,
+    mg-m =  Source~Han~Sans~JP~Medium,
     mc-l =  Source~Han~Serif~JP~Light,
     __custom = false, __office = false, __noembed = false,
 }
@@ -300,7 +300,7 @@
     gt-b =  Noto~Sans~CJK~Bold,
     gt-u =  Noto~Sans~CJK~Medium,
     gt-eb = Noto~Sans~CJK~Black,
-    mg-m =  Noto~Sans~CJK~Black,
+    mg-m =  Noto~Sans~CJK~Medium,
     mc-l =  Noto~Serif~CJK~Light,
     __custom = false, __office = false, __noembed = false,
 }
@@ -311,7 +311,7 @@
     gt-b =  Noto~Sans~CJK~JP~Bold,
     gt-u =  Noto~Sans~CJK~JP~Medium,
     gt-eb = Noto~Sans~CJK~JP~Black,
-    mg-m =  Noto~Sans~CJK~JP~Black,
+    mg-m =  Noto~Sans~CJK~JP~Medium,
     mc-l =  Noto~Serif~CJK~JP~Light,
     __custom = false, __office = false, __noembed = false,
 }
@@ -324,7 +324,7 @@
     gt-b =  HaranoAjiGothic-Bold.otf,
     gt-u =  HaranoAjiGothic-Medium.otf,
     gt-eb = HaranoAjiGothic-Heavy.otf,
-    mg-m =  HaranoAjiGothic-Heavy.otf,
+    mg-m =  HaranoAjiGothic-Medium.otf,
     mc-l =  HaranoAjiMincho-Light.otf,
     __custom = false, __office = false, __noembed = false,
 }
@@ -463,16 +463,16 @@
 \cs_new:Nn \__ltjpreset_substitute:nnnn {
   \group_begin:
     \suppressfontnotfounderror=1
-    \cs_if_exist:cT {ltjpreset_font_#1_#2:} {
-	  \__ltjpreset_wrap_fontname:e { \cs:w ltjpreset_font_#1_#2: \cs_end: }
-      \font \g__ltjpreset_font_test: = \l__preset_font_name:\relax
+    \cs_if_exist:cTF { __ltjpreset_font_#1_#2: } {
+      \__ltjpreset_wrap_fontname:e { \cs:w __ltjpreset_font_#1_#2: \cs_end: }
+      \font \g__ltjpreset_font_test: = \l__ltjpreset_font_name:\relax
       \ifx \g__ltjpreset_font_test: \nullfont
         \msg_warning:nnxxxx { luatexja-preset }{ no-font }
-          { \cs:w ltjpreset_font_#1_#2: \cs_end: }{ #1/#2 }
-          { \cs:w ltjpreset_font_#3_#4: \cs_end: }{ #3/#4 }
-        \cs_gset_eq:cc { ltjpreset_font_#1_#2: } { ltjpreset_font_#3_#4: }
+          { \cs:w __ltjpreset_font_#1_#2: \cs_end: }{ #1/#2 }
+          { \cs:w __ltjpreset_font_#3_#4: \cs_end: }{ #3/#4 }
+        \cs_gset_eq:cc { __ltjpreset_font_#1_#2: } { __ltjpreset_font_#3_#4: }
       \fi
-    } { \cs_gset_eq:cc { ltjpreset_font_#1_#2: } { ltjpreset_font_#3_#4: } }
+    } { \cs_gset_eq:cc { __ltjpreset_font_#1_#2: } { __ltjpreset_font_#3_#4: } }
   \group_end:
 }
 

Added: trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-propw.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-propw.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-propw.lua	2020-05-17 22:34:22 UTC (rev 55192)
@@ -0,0 +1,9 @@
+luatexja.jfont.define_jfm {
+   dir = 'yoko',
+   zw = 1.0, zh = 1.0,
+
+   [0] = {
+      align = 'left', left = 0.0, down = 0.0,
+      width = 'prop', height = 0.88, depth = 0.12, italic=0.0,
+   }
+}


Property changes on: trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-propw.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua	2020-05-17 22:33:27 UTC (rev 55191)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua	2020-05-17 22:34:22 UTC (rev 55192)
@@ -28,6 +28,7 @@
 	 [8] = { 0, 0, 0, kanjiskip_shrink=1 },
       },
       kern = { [307] = 0 },	 
+      round_threshold = 0.01,
    },
 
    [1] = { -- 開き括弧類
@@ -46,6 +47,9 @@
 	 [4] = { 0, 0, 0, kanjiskip_shrink=1 },
 	 [5] = { 0, 0, 0, kanjiskip_shrink=1 },
 	 [105] = { 0, 0, 0, kanjiskip_shrink=1 },
+	 [205] = { 0, 0, 0, kanjiskip_shrink=1 },
+	 [305] = { 0, 0, 0, kanjiskip_shrink=1 },
+	 [405] = { 0, 0, 0, kanjiskip_shrink=1 },
 	 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
 	 [007] = { 0, 0, 0, kanjiskip_shrink=1 },
 	 [107] = { 0, 0, 0, kanjiskip_shrink=1 },
@@ -70,6 +74,9 @@
          [4] = { 0, 0, 0, kanjiskip_shrink=1 },
 	 [5] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
 	 [105] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+	 [205] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+	 [305] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+	 [405] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
 	 [6] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
 	 [007] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
 	 [107] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
@@ -92,6 +99,9 @@
 	 [4] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
 	 [5] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
 	 [105] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+	 [205] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+	 [305] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+	 [405] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
 	 [6] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
 	 [007] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
 	 [107] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
@@ -111,6 +121,9 @@
 	 [3] = { 0.75, 0.0, 0.25, priority=1, ratio=1./3, kanjiskip_stretch=1 },
 	 [5] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
 	 [105] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+	 [205] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+	 [305] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+	 [405] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
 	 [6] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
 	 [007] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
 	 [107] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
@@ -120,7 +133,7 @@
    },
 
    [5] = { -- 分離禁止文字
-      chars = { '—', '―', '‥', '…', '〳', '〴', '〵', },
+      chars = { '―', '‥', '…', '〳', '〴', '〵', },
       align = 'left', left = 0.0, down = 0.0,
       width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
       glue = {
@@ -131,8 +144,7 @@
 	 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
       },
       kern = {
-	 [5] = 0.0,
-	 [105] = 0.0
+	 [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
       }
    },
 
@@ -148,11 +160,56 @@
 	 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
       },
       kern = {
-	 [5] = 0.0,
-	 [105] = 0.0
+	 [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
       }
    },
 
+   [205] = { -- em-dash
+      chars = { 0x2014 },
+      align = 'middle', left = 0.0, down = 0.0,
+      width = 1, height = 0.88, depth = 0.12, italic=0.0,
+      glue = {
+	 [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
+	 [2] = { 0, 0, 0, kanjiskip_shrink=1 },
+	 [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+	 [4] = { 0, 0, 0, kanjiskip_shrink=1 },
+	 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
+      },
+      kern = {
+	 [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
+      }
+   },
+   [305] = { -- two-em dash
+      chars = { 0x2E3A },
+      align = 'middle', left = 0.0, down = 0.0,
+      width = 2, height = 0.88, depth = 0.12, italic=0.0,
+      glue = {
+	 [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
+	 [2] = { 0, 0, 0, kanjiskip_shrink=1 },
+	 [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+	 [4] = { 0, 0, 0, kanjiskip_shrink=1 },
+	 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
+      },
+      kern = {
+	 [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
+      }
+   },
+   [405] = { -- three-em dash
+      chars = { 0x2E3B },
+      align = 'middle', left = 0.0, down = 0.0,
+      width = 3, height = 0.88, depth = 0.12, italic=0.0,
+      glue = {
+	 [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
+	 [2] = { 0, 0, 0, kanjiskip_shrink=1 },
+	 [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+	 [4] = { 0, 0, 0, kanjiskip_shrink=1 },
+	 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
+      },
+      kern = {
+	 [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
+      }
+   },
+
    [6] = { -- 感嘆符・疑問符
       chars = { '?', '!', '‼', '⁇', '⁈', '⁉', },
       align = 'left', left = 0.0, down = 0.0,
@@ -170,8 +227,7 @@
 	 [8] = { 0, 0, 0, kanjiskip_shrink=1 },
       },
       kern = {
-	 [5] = 0.0,
-	 [105] = 0.0
+	 [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
       }
    },
 
@@ -228,7 +284,7 @@
       }
    },
 
-   [307] = { -- 1/4 角
+   [307] = { -- 合成用(半)濁点
       chars = { 0x3099, 0x309A },
       align = 'right', left = 0.0, down = 0.0,
       width = 0, height = 0.88, depth = 0.12, italic=0.0,

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua	2020-05-17 22:33:27 UTC (rev 55191)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua	2020-05-17 22:34:22 UTC (rev 55192)
@@ -28,6 +28,7 @@
          [8] = { 0, 0, 0, kanjiskip_shrink=1 },
       },
       kern = { [307] = 0 },	 
+      round_threshold = 0.01,
    },
 
    [1] = { -- 開き括弧類

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua	2020-05-17 22:33:27 UTC (rev 55191)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua	2020-05-17 22:34:22 UTC (rev 55192)
@@ -3,7 +3,7 @@
 --
 luatexbase.provides_module({
   name = 'luatexja.jfont',
-  date = '2020-04-01',
+  date = '2020-05-17',
   description = 'Loader for Japanese fonts',
 })
 
@@ -108,6 +108,8 @@
          if type(v.down)~='number' then
             v.down = 0.0
          end
+         v.round_threshold = ((t.version>=3)and(i==0)and(type(v.round_threshold)=='number'))
+            and v.round_threshold or nil
          if t.version>=2 then
             if v.end_stretch then defjfm_res= nil; return end
             if v.end_shrink  then defjfm_res= nil; return end
@@ -184,6 +186,10 @@
 do
    local floor = math.floor
    local function myround(a) return floor(a+0.5) end
+   local mult_ignore_key = {
+     round_threshold=true, kanjiskip_natural=true, kanjiskip_stretch=true, kanjiskip_shrink=true,
+     raio=true, priority=true
+   }
    local function mult_table(old,scale) -- modified from table.fastcopy
       if old then
          local new = { }
@@ -190,7 +196,7 @@
          for k,v in next, old do
             if type(v) == "table" then
                new[k] = mult_table(v,scale)
-            elseif type(v) == "number" then
+            elseif type(v) == "number" and not mult_ignore_key[k] then
                new[k] = myround(v*scale)
             else
                new[k] = v
@@ -213,12 +219,13 @@
             for k,w in pairs(v.glue) do
                v[k] = {
                   nil,
-                  ratio=w.ratio/sz,
-                  priority=FROM_JFM + w.priority/sz,
+                  ratio=w.ratio,
+                  priority=FROM_JFM + w.priority,
                   width = w[1], stretch = w[2], shrink = w[3],
-                  kanjiskip_natural = w.kanjiskip_natural and w.kanjiskip_natural/sz,
-                  kanjiskip_stretch = w.kanjiskip_stretch and w.kanjiskip_stretch/sz,
-                  kanjiskip_shrink =  w.kanjiskip_shrink  and w.kanjiskip_shrink/sz,
+                  kanjiskip_natural = w.kanjiskip_natural,
+                  kanjiskip_stretch = w.kanjiskip_stretch,
+                  kanjiskip_shrink =  w.kanjiskip_shrink,
+                  round_threshold = w.round_threshold,
                }
             end
             for k,w in pairs(v.kern) do
@@ -331,7 +338,7 @@
       local fmtable = { jfm = j, size = f.size, var = jfm_var,
                         with_kanjiskip = jfm_ksp,
                         zw = sz.zw, zh = sz.zh,
-                        chars = sz.chars, char_type = sz.char_type,
+			chars = sz.chars, char_type = sz.char_type,
                         kanjiskip = sz.kanjiskip, xkanjiskip = sz.xkanjiskip,
                         chars_cbcache = {},
                         vert_activated = vert_activated,
@@ -449,9 +456,10 @@
    otfl_fdr= luatexbase.remove_from_callback('define_font', 'luaotfload.define_font')
    luatexbase.add_to_callback('define_font',luatexja.font_callback,"luatexja.font_callback", 1)
 
-   local match, sp = string.match, tex.sp
-   local function load_jfmonly(spec, dir)
-      local spec, size = match(spec,'(.+)%s+at%s*([%.%w]*)')
+   local match, sp, scan_arg = string.match, tex.sp, token.scan_argument
+   local function load_jfmonly()
+      local spec, size = match(scan_arg(), '(.+)%s+at%s*([%.%w]*)')
+      local dir = scan_arg()
       size = sp(size); extract_metric(spec)
       jfm_dir = dir
       local i = load_jfont_metric()
@@ -485,10 +493,12 @@
    end
 
    local kfam_list, Nkfam_list = {}, {}
-   function luatexja.jfont.add_kfam(fam)
-      kfam_list[fam]=true
+   function luatexja.jfont.add_kfam()
+      kfam_list[scan_arg()]=true
    end
-   function luatexja.jfont.search_kfam(fam, use_fd)
+   function luatexja.jfont.search_kfam()
+      local fam = scan_arg()
+      local use_fd = (scan_arg() =='true')
       if kfam_list[fam] then
          tex.sprint(cat_lp, '\\let\\ifin@\\iftrue '); return
       elseif Nkfam_list[fam] then
@@ -510,11 +520,11 @@
       end
    end
    local ffam_list, Nffam_list = {}, {}
-   function luatexja.jfont.is_ffam(fam)
-      tex.sprint(cat_lp, '\\let\\ifin@\\if' .. (ffam_list[fam] or 'false '))
+   function luatexja.jfont.is_ffam()
+      tex.sprint(cat_lp, '\\let\\ifin@\\if' .. (ffam_list[scan_arg()] or 'false '))
    end
-   function luatexja.jfont.add_ffam(fam)
-      ffam_list[fam]='true '
+   function luatexja.jfont.add_ffam()
+      ffam_list[scan_arg()]='true '
    end
    function luatexja.jfont.search_ffam_declared()
      local s = ''
@@ -523,7 +533,8 @@
      end
      tex.sprint(cat_lp, s)
    end
-   function luatexja.jfont.search_ffam_fd(fam)
+   function luatexja.jfont.search_ffam_fd()
+      local fam = scan_arg()
       if Nffam_list[fam] then
          tex.sprint(cat_lp, '\\let\\ifin@\\iffalse '); return
       else
@@ -645,11 +656,12 @@
 
 -- ここから先は 新 \selectfont の内部でしか実行されない
 do
+   local scan_arg = token.scan_argument
    local alt_font_base, alt_font_base_num
    local aftl_base
    -- EXT
-   function luatexja.jfont.does_alt_set(bbase)
-      aftl_base = alt_font_table_latex[bbase]
+   function luatexja.jfont.does_alt_set()
+      aftl_base = alt_font_table_latex[scan_arg()]
       tex.sprint(cat_lp, aftl_base and '\\@firstofone' or '\\@gobble')
    end
    -- EXT

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty	2020-05-17 22:33:27 UTC (rev 55191)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty	2020-05-17 22:34:22 UTC (rev 55192)
@@ -12,7 +12,7 @@
 \def\luatexjalatexLoaded{\endinput}
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ltj-latex}[2019/09/26 LaTeX support of LuaTeX-ja]
+\ProvidesPackage{ltj-latex}[2020-05-17 LaTeX support of LuaTeX-ja]
 
 % cleanup at end of the document
 %\let\ltj@@orig at end=\@@end
@@ -79,6 +79,7 @@
 \ltj at pkgpatch{preview}  %% at \begin{document}
   % (preview package has delayed option)
 \ltj at pkgpatch{array}    %% at \begin{document}
+\ltj at pkgpatch{collcell} %% at \begin{document}
 \ltj at pkgpatch@im{unicode-math}
 \ltj at pkgpatch@im{siunitx}
 \ltj at pkgpatch@im{microtype}

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua	2020-05-17 22:33:27 UTC (rev 55191)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua	2020-05-17 22:34:22 UTC (rev 55192)
@@ -87,7 +87,7 @@
 
 local fshift =  { down = 0, left = 0 }
 
-local min, max = math.min, math.max
+local min, max, floor, abs = math.min, math.max, math.floor, math.abs
 
 local rule_subtype = (status.luatex_version>=85) and 3 or 0
 
@@ -129,6 +129,13 @@
 
    local q
    head, q = node_remove(head, p)
+   if pwidth > fwidth then
+      if char_data.round_threshold then
+         local frac = pwidth / fwidth
+         local quot = floor(frac+0.5)
+	 if abs(frac-quot) <char_data.round_threshold then fwidth = fwidth * quot end
+      end
+   end
    local xo, yo = getoffsets(p)
    setoffsets(p, xo + char_data.align*(fwidth-pwidth) - fshift.left,
               yo - fshift.down);
@@ -191,6 +198,11 @@
       pwidth, ascender = feir.vheight[pc]*met.size, feir.vorigin[pc]*met.size
    end
    fwidth = fwidth or pwidth
+   if pwidth>fwidth and char_data.round_threshold then
+      local frac = pwidth / fwidth
+      local quot = floor(frac+0.5)
+      if abs(frac-quot) <char_data.round_threshold then fwidth = fwidth * quot end
+   end
    fshift.down = char_data.down; fshift.left = char_data.left
    fshift = call_callback("luatexja.set_width", fshift, met, char_data)
    local fheight = char_data.height or 0

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty	2020-05-17 22:33:27 UTC (rev 55191)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty	2020-05-17 22:34:22 UTC (rev 55192)
@@ -41,7 +41,7 @@
   \ProcessOptions\relax
 \fi                             %</LaTeX>
 %%%% VERSION
-\def\LuaTeXjaversion{20200412.0}
+\def\LuaTeXjaversion{20200517.0}
 
 \directlua{require('ltj-unicode-ccfix.lua')}% catcode of ideographs
 

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty	2020-05-17 22:33:27 UTC (rev 55191)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty	2020-05-17 22:34:22 UTC (rev 55192)
@@ -3,7 +3,7 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjfont}[2020-04-12 Patch to NFSS2 for LuaTeX-ja]
+\ProvidesPackage{lltjfont}[2020-05-17 Patch to NFSS2 for LuaTeX-ja]
 
 %% patching \DeclareTextComposite
 \def\ltj at chardef@text at cmd#1{%
@@ -91,6 +91,9 @@
 \newluafunction\ltj@@is at kyenc@@inner
 \newluafunction\ltj@@is at ktenc@@inner
 \newluafunction\ltj@@is at kenc@@inner
+\newluafunction\ltj@@is at ffam@@inner
+\newluafunction\ltj@@add at ffam@@inner
+\newluafunction\ltj@@add at kfam@@inner
 \directlua{%
   local lf = lua.get_functions_table()
   lf[\the\ltj@@add at fenc@@inner]  = luatexja.jfont.add_fenc_list
@@ -99,6 +102,9 @@
   lf[\the\ltj@@is at kyenc@@inner]  = luatexja.jfont.is_kyenc
   lf[\the\ltj@@is at ktenc@@inner]  = luatexja.jfont.is_ktenc
   lf[\the\ltj@@is at kenc@@inner]   = luatexja.jfont.is_kenc
+  lf[\the\ltj@@is at ffam@@inner]   = luatexja.jfont.is_ffam
+  lf[\the\ltj@@add at ffam@@inner]  = luatexja.jfont.add_ffam
+  lf[\the\ltj@@add at kfam@@inner]  = luatexja.jfont.add_kfam
 }
 \luadef\ltj@@add at fenc \ltj@@add at fenc@@inner
 \luadef\ltj@@add at kyenc\ltj@@add at kyenc@@inner
@@ -106,6 +112,9 @@
 \luadef\ltj@@is at kyenc \ltj@@is at kyenc@@inner
 \luadef\ltj@@is at ktenc \ltj@@is at ktenc@@inner
 \luadef\ltj@@is at kenc  \ltj@@is at kenc@@inner
+\luadef\ltj@@is at ffam  \ltj@@is at ffam@@inner
+\luadef\ltj@@add at ffam \ltj@@add at ffam@@inner
+\luadef\ltj@@add at kfam \ltj@@add at kfam@@inner
 
 {\def\cdp at elt#1#2#3#4{\ltj@@add at fenc{#1}}\cdp at list}
 
@@ -210,7 +219,7 @@
               \@empty
             \else \reserved at a
             \fi
-     \directlua{luatexja.jfont.add_ffam('\luatexluaescapestring{#2}')}%
+     \ltj@@add at ffam{#2}%
     }%
 }
 \def\DeclareKanjiFamily#1#2#3{%
@@ -223,7 +232,7 @@
               \@empty
             \else \reserved at a
             \fi
-     \directlua{luatexja.jfont.add_kfam('\luatexluaescapestring{#2}')}%
+     \ltj@@add at kfam{#2}%
      }%
 }
 \def\DeclareKanjiSubstitution#1#2#3#4{%
@@ -578,27 +587,28 @@
 \DeclareRobustCommand\kanjifamily[1]{\edef\k at family{#1}}
 \DeclareRobustCommand\fontfamily[1]{%
   \@notkfamfalse\@notffamfalse
-  \edef\tmp at item{'\luatexluaescapestring{#1}'}%
   %
-  \directlua{luatexja.jfont.search_kfam(\tmp at item, \@ltj at use@fd)}%
+  \directlua{luatexja.jfont.search_kfam()}{#1}{\@ltj at use@fd}%
   \ifin@\edef\k at family{#1}\else\@notkfamtrue\fi
   %
   % alphabetic fonts part
-  \directlua{luatexja.jfont.is_ffam(\tmp at item)}%
+  \ltj@@is at ffam{#1}%
   \ifin@\edef\f at family{#1}\else
     % checking is_stored_ffam is not sufficient,
     % since LuaTeX-ja doesn't know whats fonts are defined before LuaTeX-ja is loaded.
     \ifcsname \f at encoding+#1\endcsname % easy case
-      \directlua{luatexja.jfont.add_ffam(\tmp at item)}\edef\f at family{#1}%
+      \ltj@@add at ffam{#1}\edef\f at family{#1}%
     \else
       \@tempswafalse
-      \def\cdp at elt##1{\ifcsname ##1+#1\endcsname\@tempswatrue\fi}%
-      \directlua{luatexja.jfont.search_ffam_declared()}%
+      \def\cdp at elt##1{\ifcsname ##1+#1\endcsname%
+	\@tempswatrue\def\cdp at elt####1\relax{}%
+      \fi}%
+      \directlua{luatexja.jfont.search_ffam_declared()}\relax%
       \if at tempswz
-        \directlua{luatexja.jfont.add_ffam(\tmp at item)}\edef\f at family{#1}%
+        \ltj@@add at ffam{#1}\edef\f at family{#1}%
       \else
         % now we search Nffam_list and font definition files.
-        \directlua{luatexja.jfont.search_ffam_fd(\tmp at item)}%
+        \directlua{luatexja.jfont.search_ffam_fd()}{#1}%
         \ifin@\edef\f at family{#1}\else\@notffamtrue\fi
       \fi
     \fi
@@ -1026,19 +1036,22 @@
     \expandafter\globaltfont\font at name\external at font\relax\font at name
     \csname \f at encoding+\f at family\endcsname
     \csname\curr at fontshape\endcsname}
+
+\newluafunction\ltj@@jfont@@jfmonly@@inner
+\directlua{%
+  local lf = lua.get_functions_table()
+  lf[\the\ltj@@jfont@@jfmonly@@inner]  = luatexja.jfont.load_jfmonly
+}
+\luadef\ltj@@jfont@@jfmonly  \ltj@@jfont@@jfmonly@@inner
 \def\extract at jfont@onlyjfm{%
 	\get at external@font
 	\csxdef{ltj@@fontjfm/\expandafter\string\font at name}{%
-	  \directlua{%
-		luatexja.jfont.load_jfmonly('\luatexluaescapestring{\external at font}', 'yoko')
-	  }%
+          \ltj@@jfont@@jfmonly{\external at font}{yoko}%
 	}}
 \def\extract at tfont@onlyjfm{%
 	\get at external@font
 	\csxdef{ltj@@fontjfm/\expandafter\string\font at name}{%
-	  \directlua{%
-		luatexja.jfont.load_jfmonly('\luatexluaescapestring{\external at font}', 'tate')
-	  }%
+          \ltj@@jfont@@jfmonly{\external at font}{tate}%
 	}}
 
 \let\ltj@@al at do@subst at correction=\do at subst@correction
@@ -1129,6 +1142,12 @@
 
 %%%% \ClearAlternateKanjiFont<Benc><Bfam><Bser><Bshape>
 % いつも global
+\newluafunction\ltj@@does at alt@set@@inner
+\directlua{%
+  local lf = lua.get_functions_table()
+  lf[\the\ltj@@does at alt@set@@inner]  = luatexja.jfont.does_alt_set
+}
+\def\ltj@@does at alt@set#1#2{\luafunction\ltj@@does at alt@set@@inner{#1}{#2}}
 \def\ClearAlternateKanjiFont#1#2#3#4{%
    \directlua{luatexja.jfont.clear_alt_font_latex('\luatexluaescapestring{#1/#2/#3/#4}')}}
 
@@ -1143,9 +1162,6 @@
   \directlua{luatexja.jfont.pickup_alt_font_b(\the\ltj at tempcntc,'\luatexluaescapestring{#2}')}%
 }
 
-\def\ltj@@does at alt@set#1#2{%
-  \directlua{luatexja.jfont.does_alt_set'\luatexluaescapestring{#1}'}{#2}}
-
 %%%% patch \@text at composite because of {y,t}albaselineshift
 
 % %% \pltx at isletter from plfonts.dtx

Added: trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-collcell.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-collcell.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-collcell.sty	2020-05-17 22:34:22 UTC (rev 55192)
@@ -0,0 +1,37 @@
+%
+% lltjp-collcell.sty
+%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{lltjp-collcell}[2020/05/06 Patch to collcell for LuaTeX-ja]
+
+\RequirePackage{etoolbox,collcell}
+
+\def\collcell at beforeuser{\ltjfakeboxbdd\ignorespaces}
+\def\collcell at afteruser{\unskip\ltjfakeboxbdd}
+
+\def\collectcell#1#2\relax\pltx at next@inhibitglue\ltjfakeboxbdd\ignorespaces{%
+  \begingroup
+  \collect at cell@count\z@
+  \collect at cell@toks{}%
+  \let\collect at cell@spaces\empty
+  \def\collect at cell@end{%
+    \expandafter\endgroup
+    \expandafter\collcell at beforeuser
+    \expandafter\ccell at swap\expandafter{\the\collect at cell@toks}{#1}%
+    \collcell at afteruser
+  }%
+  \collect at cell@look#2%
+}
+\patchcmd\collect at cell@arg{%
+    \cci{%
+      \collect at cell@look
+    }%
+}{
+    \cci{%
+      \collect at cell@look
+    }%
+	\ltjfakeboxbdd{\collect at cell@look}
+}{}{}
+
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-collcell.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property


More information about the tex-live-commits mailing list.