texlive[54705] Master/texmf-dist: luatexja (12apr20)

commits+karl at tug.org commits+karl at tug.org
Sun Apr 12 23:34:43 CEST 2020


Revision: 54705
          http://tug.org/svn/texlive?view=revision&revision=54705
Author:   karl
Date:     2020-04-12 23:34:43 +0200 (Sun, 12 Apr 2020)
Log Message:
-----------
luatexja (12apr20)

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/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-microtype.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-unicode-math.sty

Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/README
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luatexja/README	2020-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/doc/luatex/luatexja/README	2020-04-12 21:34:43 UTC (rev 54705)
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20200326.0
+The LuaTeX-ja Package 20200412.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 20200326.0 in the Git repository by
+      or tagged as 20200412.0 in the Git repository by
       <http://git.osdn.jp/view?p=luatex-ja/luatexja.git
-                              ;a=snapshot;h=refs/tags/20200326.0;sf=tgz>
+                              ;a=snapshot;h=refs/tags/20200412.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: Thu Mar 26 10:27:52 2020 +0900
+Last commit date: Sun Apr 12 18:04:02 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/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty	2020-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty	2020-04-12 21:34:43 UTC (rev 54705)
@@ -3,7 +3,7 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-27c}[2020/01/26 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec-27c}[2020-04-04 fontspec support of LuaTeX-ja]
 \RequirePackage{l3keys2e}
 \ExplSyntaxOn
 
@@ -314,6 +314,9 @@
 }
 
 \DeclareDocumentCommand \setmainjfont { O{} m O{} } {
+  \ifdefined\DeclareFontSeriesDefault
+    \DeclareFontSeriesDefault[mc]{bf}{\bfdefault}
+  \fi
   \__ltj_fontspec_set_family:Nnn \mcdefault {#1,#3}{#2}
   \unless\ifltj at disablejfam
     \DeclareSymbolFont{mincho}{JY3}{\mcdefault}{\mddefault}{n}
@@ -323,6 +326,9 @@
 }
 
 \DeclareDocumentCommand \setsansjfont { O{} m O{} } {
+  \ifdefined\DeclareFontSeriesDefault
+    \DeclareFontSeriesDefault[gt]{bf}{\bfdefault}
+  \fi
   \__ltj_fontspec_set_family:Nnn \gtdefault {#1,#3}{#2}
   \unless\ifltj at disablejfam
     \DeclareMathAlphabet{\mathgt}{JY3}{\gtdefault}{\mddefault}{n}
@@ -331,6 +337,9 @@
 }
 
 \DeclareDocumentCommand \setmonojfont { O{} m O{} } {
+  \ifdefined\DeclareFontSeriesDefault
+    \DeclareFontSeriesDefault[jtt]{bf}{\bfdefault}
+  \fi
   \__ltj_fontspec_set_family:Nnn \jttdefault {#1,#3}{#2}
   \normalfont
 }

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty	2020-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty	2020-04-12 21:34:43 UTC (rev 54705)
@@ -3,7 +3,7 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec}[2019/09/26 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec}[2020-04-01 fontspec support of LuaTeX-ja]
 \RequirePackage{l3keys2e,luatexja}
 \ExplSyntaxOn
 
@@ -36,10 +36,9 @@
 
 % We must redefine \try at load@fontshape to ignore kanjifont definitions at all.
 \def\try at load@fontshape{%
-   \expandafter
-   \ifx\csname \f at encoding+\f at family\endcsname\relax
-       \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f at encoding}')}%
-\ifin@\else % Alphabetic font
+  \expandafter
+  \ifx\csname \f at encoding+\f at family\endcsname\relax
+  \ltj@@is at kenc{\f at encoding}\ifin@\else % Alphabetic font
     \@font at info{Trying loading font information for \f at encoding+\f at family}%
     \global\expandafter\let
        \csname\f at encoding+\f at family\endcsname\@empty
@@ -50,7 +49,7 @@
          \noexpand\InputIfFileExists{\f at encoding\f at family.fd}}}%
      \reserved at a\relax
           {\@input@{\f at encoding\f at family.fd}}%
-\fi
-   \fi}
+  \fi
+  \fi}
 
 \endinput

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty	2020-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty	2020-04-12 21:34:43 UTC (rev 54705)
@@ -1,5 +1,5 @@
 % luatexja-preset.sty
-\ProvidesPackage{luatexja-preset}[2020/03/19 Japanese font presets]
+\ProvidesPackage{luatexja-preset}[2020/03/27 Japanese font presets]
 
 \RequirePackage{expl3,l3keys2e}
 \RequirePackage{luatexja}
@@ -488,6 +488,8 @@
   \def\ebdefault{eb}
   \DeclareRobustCommand\ebseries { \not at math@alphabet\ebseries\relax\fontseries\ebdefault\selectfont }
   \DeclareRobustCommand\gtebfamily { \gtfamily\fontseries{\ebdefault}\selectfont }
+  \DeclareTextFontCommand{\textlt}{\ltseries}
+  \DeclareTextFontCommand{\texteb}{\ebseries}
 } {
   \cs_set_eq:NN \__ltjpreset_check_deluxe_existence: \prg_do_nothing:
 }

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua	2020-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua	2020-04-12 21:34:43 UTC (rev 54705)
@@ -31,16 +31,19 @@
    if i>0 then
       local c = utfbyte(buffer, i)
       if c>=0x80 then
-	 local ct = getcatcode(c)
 	 local te = tex.endlinechar
-	 local ctl = (te ~= -1) and (getcatcode(te)==5) and (getcatcode(getcount('ltjlineendcomment'))==14)
 	 -- Is the catcode of endline character is 5 (end-of-line)?
-	 -- Is the catcode of \ltjlineendcomment (new comment char) is 14 (comment)?
-	 if ((ct==11) or (ct==12)) and ctl then
-	    if ltjc_is_japanese_char_curlist(c) then
-	       buffer = buffer .. utfchar(getcount('ltjlineendcomment'))
+	 if (te ~= -1) and (getcatcode(te)==5) then
+	    local ct = getcatcode(c)
+	    if (ct==11) or (ct==12) then
+	       local lec = getcount('ltjlineendcomment')
+               -- Is the catcode of \ltjlineendcomment (new comment char) is 14 (comment)?
+	       if ltjc_is_japanese_char_curlist(c) and (getcatcode(lec)==14) then
+                  stop_time_measure('inputbuf')
+                  return buffer .. utfchar(lec)
+               end
 	    end
-	 end
+         end
       end
    end
    stop_time_measure('inputbuf')

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua	2020-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua	2020-04-12 21:34:43 UTC (rev 54705)
@@ -3,7 +3,7 @@
 --
 luatexbase.provides_module({
   name = 'luatexja.jfont',
-  date = '2019/09/26',
+  date = '2020-04-01',
   description = 'Loader for Japanese fonts',
 })
 
@@ -466,18 +466,20 @@
 -- LATEX INTERFACE
 ------------------------------------------------------------------------
 do
+   local scan_arg = token.scan_argument
    -- these function are called from ltj-latex.sty
    local fenc_list, kyenc_list, ktenc_list = {}, {}, {}
-   function luatexja.jfont.add_fenc_list(enc) fenc_list[enc] = 'true ' end
-   function luatexja.jfont.add_kyenc_list(enc) kyenc_list[enc] = 'true ' end
-   function luatexja.jfont.add_ktenc_list(enc) ktenc_list[enc] = 'true ' end
-   function luatexja.jfont.is_kyenc(enc)
-      tex.sprint(cat_lp, '\\let\\ifin@\\if' .. (kyenc_list[enc] or 'false '))
+   function luatexja.jfont.add_fenc_list() fenc_list[scan_arg()] = 'true ' end
+   function luatexja.jfont.add_kyenc_list() kyenc_list[scan_arg()] = 'true ' end
+   function luatexja.jfont.add_ktenc_list() ktenc_list[scan_arg()] = 'true ' end
+   function luatexja.jfont.is_kyenc()
+      tex.sprint(cat_lp, '\\let\\ifin@\\if' .. (kyenc_list[scan_arg()] or 'false '))
    end
-   function luatexja.jfont.is_ktenc(enc)
-      tex.sprint(cat_lp, '\\let\\ifin@\\if' .. (ktenc_list[enc] or 'false '))
+   function luatexja.jfont.is_ktenc()
+      tex.sprint(cat_lp, '\\let\\ifin@\\if' .. (ktenc_list[scan_arg()] or 'false '))
    end
-   function luatexja.jfont.is_kenc(enc)
+   function luatexja.jfont.is_kenc()
+      local enc = scan_arg()
       tex.sprint(cat_lp, '\\let\\ifin@\\if'
                  .. (kyenc_list[enc] or ktenc_list[enc] or 'false '))
    end

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty	2020-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty	2020-04-12 21:34:43 UTC (rev 54705)
@@ -200,11 +200,24 @@
 
 %%%%%%%% Redefine \/
 \newluafunction\ltj@@italic at inner
+\newluafunction\ltj@@start at time@measure at inner
+\newluafunction\ltj@@stop at time@measure at inner
 \directlua{
   local t = lua.get_functions_table()
+  local start_time_measure = luatexja.base.start_time_measure
+  local stop_time_measure = luatexja.base.stop_time_measure
+  local scan_arg = token.scan_argument
   t[\the\ltj@@italic at inner] = luatexja.jfont.append_italic
+  t[\the\ltj@@start at time@measure at inner] = function()
+    start_time_measure(scan_arg())
+  end
+  t[\the\ltj@@stop at time@measure at inner] = function()
+    stop_time_measure(scan_arg())
+  end
 }
 \protected\def\/{\relax\luafunction\ltj@@italic at inner}
+\luadef\ltj@@start at time@measure\ltj@@start at time@measure at inner
+\luadef\ltj@@stop at time@measure\ltj@@stop at time@measure at inner
 
 %%%%%%%% \jfont\CS={...:...;jfm=metric;...}, \globaljfont
 \protected\def\jfont#1{%
@@ -253,8 +266,8 @@
   t[\the\ltj@@fakeparbegin at inner] = luatexja.jfmglue.create_beginpar_node
   t[\the\ltj@@fakeboxbdd at inner] = luatexja.jfmglue.create_boxbdd_node
 }
-\protected\def\ltj at reset@globaldefs{\luafunction\ltj at reset@globaldefs at inner}
-\protected\def\ltj at restore@globaldefs{\luafunction\ltj at restore@globaldefs at inner}
+\protected\luadef\ltj at reset@globaldefs  \ltj at reset@globaldefs at inner
+\protected\luadef\ltj at restore@globaldefs\ltj at restore@globaldefs at inner
 \protected\def\inhibitglue{\ifhmode\relax\luafunction\ltj@@ihb at inner\fi}
 \protected\def\ltjfakeparbegin{\ifhmode\relax\luafunction\ltj@@fakeparbegin at inner\fi}
 \protected\def\ltjfakeboxbdd{\ifhmode\relax\luafunction\ltj@@fakeboxbdd at inner\fi}
@@ -394,8 +407,8 @@
     local d = scan_glue(); sss(sti.XSK, d); node.free(d)
   end
 }
-\protected\def\ltjsetkanjiskip{\luafunction\ltjsetkanjiskip at inner}
-\protected\def\ltjsetxkanjiskip{\luafunction\ltjsetxkanjiskip at inner}
+\protected\luadef\ltjsetkanjiskip \ltjsetkanjiskip at inner
+\protected\luadef\ltjsetxkanjiskip\ltjsetxkanjiskip at inner
 
 % jcharwidowpenalty = <count>
 \define at key[ltj]{japaram}{jcharwidowpenalty}{%      %COUNT
@@ -434,16 +447,16 @@
     \else\directlua{luatexja.isglobal=''}\fi
 }
 \protected\def\ltjsetparameter#1{%
-  \directlua{luatexja.base.start_time_measure('set_par')}%
+  \ltj@@start at time@measure{set_par}%
   \ltj at setpar@global\setkeys[ltj]{japaram}{#1}%
-  \directlua{luatexja.base.stop_time_measure('set_par')}%
+  \ltj@@stop at time@measure{set_par}%
   \ignorespaces}
 \protected\def\ltjglobalsetparameter#1{%
   \relax\ifnum\globaldefs<0\directlua{luatexja.isglobal=''}%
     \else\directlua{luatexja.isglobal='global'}\fi%
-  \directlua{luatexja.base.start_time_measure('set_par')}%
+  \ltj@@start at time@measure{set_par}%
   \setkeys[ltj]{japaram}{#1}%
-  \directlua{luatexja.base.stop_time_measure('set_par')}%
+  \ltj@@stop at time@measure{set_par}%
   \ignorespaces}
 
 %%%%%%%% \ltjgetparameter
@@ -459,7 +472,7 @@
 \ltj@@decl at array@param{chartorange}
 \ltj@@decl at array@param{boxdir}
 \def\ltjgetparameter#1{%
-  \directlua{luatexja.base.start_time_measure('get_par')}%
+  \ltj@@start at time@measure{get_par}%
   % stop call is moved in luatexja.lua
   \ifcsname ltj@@array at param/#1\endcsname
     \expandafter\ltx at firstoftwo
@@ -469,9 +482,12 @@
   {\ltj@@getparam at two{#1}}%
   {\ltj@@getparam at one{#1}}%
 }
-\def\ltj@@getparam at one#1{%
-  \directlua{luatexja.ext_get_parameter_unary('#1')}%
-}%
+\newluafunction\ltj@@getparam at one@inner
+\directlua{
+  local t = lua.get_functions_table()
+  t[\the\ltj@@getparam at one@inner] = luatexja.ext_get_parameter_unary
+}
+\luadef\ltj@@getparam at one\ltj@@getparam at one@inner
 \def\ltj@@getparam at two#1#2{%
   \directlua{luatexja.ext_get_parameter_binary('#1', \ltj at safe@num at or{nil}{#2})}%
 }
@@ -491,7 +507,7 @@
     end
   end
 }
-\protected\def\ltj at alljachar{\luafunction\ltj at alljachar@inner}
+\protected\luadef\ltj at alljachar\ltj at alljachar@inner
 \protected\def\ltj at allalchar{\relax
     \csname ltj at kcat0\endcsname="7FFFFFFF %"
     \csname ltj at kcat1\endcsname="7FFFFFFF %"
@@ -579,10 +595,17 @@
 
 %%%% insert
 \let\orig at insert=\insert
+\newluafunction\ltj@@lua at populate@insertwhatsit at inner
+\directlua{
+  local t = lua.get_functions_table()
+  t[\the\ltj@@lua at populate@insertwhatsit at inner]
+    = luatexja.direction.populate_insertion_dir_whatsit
+}
+\luadef\ltj@@lua at populate@insertwhatsit\ltj@@lua at populate@insertwhatsit at inner
 \protected\def\insert{\begingroup\afterassignment\ltj@@insert at A\ltj at tempcnta}
 \protected\def\ltj@@insert at A{\orig at insert\ltj at tempcnta\bgroup
   \aftergroup\ltj@@insert at B\let\ltj@@next}
-\protected\def\ltj@@insert at B{\directlua{luatexja.direction.populate_insertion_dir_whatsit()}\endgroup}
+\protected\def\ltj@@insert at B{\ltj@@lua at populate@insertwhatsit\endgroup}
 
 %%%% vadjust
 \let\ltj@@orig at vadjust=\vadjust
@@ -602,46 +625,45 @@
   }$%
 }
 \setbox\z@\box\voidb at x
+\newluafunction\ltj@@box at dirhook@inner
+\newluafunction\ltj@@reset at badness@inner
+\directlua{
+  local t, ltjd = lua.get_functions_table(), luatexja.direction
+  t[\the\ltj@@box at dirhook@inner]
+    = function() ltjd.set_list_direction_hook() end
+  t[\the\ltj@@reset at badness@inner] = function()
+    if luatexja.global_temp then
+      tex.hbadness= tex.hbadness or luatexja.hbadness_temp
+      tex.vbadness= tex.vbadness or luatexja.vbadness_temp
+      tex.globaldefs= luatexja.global_temp or tex.globaldefs
+    end
+  end
+}
+\luadef\ltj@@box at dirhook\ltj@@box at dirhook@inner
 \ifltj at everyhook@avail% using everyhook package
-  \newluafunction\ltj@@box at dirhook
-  \directlua{
-    local t, ltjd = lua.get_functions_table(), luatexja.direction
-    t[\the\ltj@@box at dirhook] 
-      = function() ltjd.set_list_direction_hook() end
-  }
-  \PushPreHook{hbox}{\luafunction\ltj@@box at dirhook\aftergroup\ltj@@reset at badness}
-  \PushPreHook{vbox}{\luafunction\ltj@@box at dirhook\aftergroup\ltj@@reset at badness}
+  \PushPreHook{hbox}{\ltj@@box at dirhook\aftergroup\ltj@@reset at badness}
+  \PushPreHook{vbox}{\ltj@@box at dirhook\aftergroup\ltj@@reset at badness}
 \else
   \let\ltj@@everyhbox=\everyhbox\let\ltj@@everyvbox=\everyvbox
   \newtoks\ltj@@i at everyhbox\newtoks\ltj@@i at everyvbox
   \let\everyhbox=\ltj@@i at everyhbox\let\everyvbox=\ltj@@i at everyvbox
-  \newluafunction\ltj@@box at dirhook
-  \directlua{
-    local t, ltjd = lua.get_functions_table(), luatexja.direction
-    t[\the\ltj@@box at dirhook] 
-      = function() ltjd.set_list_direction_hook() end
-  }
-  \ltj@@everyhbox{\luafunction\ltj@@box at dirhook
+  \ltj@@everyhbox{\ltj@@box at dirhook
     \aftergroup\ltj@@reset at badness\the\ltj@@i at everyhbox}
-  \ltj@@everyvbox{\luafunction\ltj@@box at dirhook
+  \ltj@@everyvbox{\ltj@@box at dirhook
     \aftergroup\ltj@@reset at badness\the\ltj@@i at everyvbox}
 \fi
 
-\newluafunction\ltj@@reset at badness@inner
-\directlua{
-  local t = lua.get_functions_table()
-  t[\the\ltj@@reset at badness@inner] = function() 
-    if luatexja.global_temp then
-      tex.hbadness= tex.hbadness or luatexja.hbadness_temp
-      tex.vbadness= tex.vbadness or luatexja.vbadness_temp
-      tex.globaldefs= luatexja.global_temp or tex.globaldefs
-    end
-  end}
 \protected\def\ltj@@reset at badness{\luafunction\ltj@@reset at badness@inner}
 
 \AtBeginShipout{\directlua{luatexja.direction.finalize()}}
 
 %%%% \raise, \lower, \moveleft, \moveright
+\newluafunction\ltj@@lua at raisebox@inner
+\directlua{
+  local t = lua.get_functions_table()
+  t[\the\ltj@@lua at raisebox@inner]=luatexja.direction.raise_box
+}
+\protected\luadef\ltj@@lua at raisebox\ltj@@lua at raisebox@inner
 \let\ltj@@orig at raise=\raise
 \let\ltj@@orig at lower=\lower
 \protected\def\raise{\ltj at reset@globaldefs\afterassignment\ltj@@raise\ltj at tempdima}
@@ -649,8 +671,7 @@
 \protected\def\ltj@@raise{%
   \ltj at restore@globaldefs
   \edef\ltj@@raise at a{%
-    \noexpand\directlua{luatexja.direction.raise_box()}%
-    \ltj@@orig at raise\the\ltj at tempdima\noexpand\box\ltj at afbox
+    \ltj@@lua at raisebox\ltj@@orig at raise\the\ltj at tempdima\noexpand\box\ltj at afbox
   }\ltj at afterbox\ltj@@raise at a}
 \let\ltj@@orig at moveleft=\moveleft
 \let\ltj@@orig at moveright=\moveright
@@ -659,8 +680,7 @@
 \protected\def\ltj@@moveleft{%
   \ltj at restore@globaldefs
   \edef\ltj@@moveleft at a{%
-    \noexpand\directlua{luatexja.direction.raise_box()}%
-    \ltj@@orig at moveleft\the\ltj at tempdima\noexpand\box\ltj at afbox
+    \ltj@@lua at raisebox\ltj@@orig at moveleft\the\ltj at tempdima\noexpand\box\ltj at afbox
   }\ltj at afterbox\ltj@@moveleft at a}
 
 %%%%\vsplit
@@ -670,11 +690,16 @@
 \let\ltj@@orig at vcenter=\vcenter
 \protected\def\vcenter{\ltj at afterbox\ltj@@vcenter\vbox}
 \protected\def\ltj@@vcenter{%
-  \directlua{luatexja.direction.raise_box()}%
-  \ltj@@orig at vcenter{\box\ltj at afbox}%
+  \ltj@@lua at raisebox\ltj@@orig at vcenter{\box\ltj at afbox}%
 }
 
 %%%% \unhbox and \unvbox
+\newluafunction\ltj@@lua at unboxcheckdir@inner
+\directlua{
+  local t = lua.get_functions_table()
+  t[\the\ltj@@lua at unboxcheckdir@inner]=luatexja.direction.unbox_check_dir
+}
+\luadef\ltj@@lua at unboxcheckdir\ltj@@lua at unboxcheckdir@inner
 \long\def \@gobbletwo #1#2{}
 \let\ltj@@orig at unhbox=\unhbox
 \let\ltj@@orig at unvbox=\unvbox
@@ -681,11 +706,9 @@
 \protected\def\unhbox{\ltj at reset@globaldefs\afterassignment\ltj@@unhbox\ltj at tempcnta}
 \protected\def\unvbox{\ltj at reset@globaldefs\afterassignment\ltj@@unvbox\ltj at tempcnta}
 \protected\def\ltj@@unhbox{%
-  \directlua{luatexja.direction.unbox_check_dir()}%
-  \ltj@@orig at unhbox\ltj at tempcnta}
+  \ltj@@lua at unboxcheckdir\ltj@@orig at unhbox\ltj at tempcnta}
 \protected\def\ltj@@unvbox{%
-  \directlua{luatexja.direction.unbox_check_dir()}%
-  \ltj@@orig at unvbox\ltj at tempcnta}
+  \ltj@@lua at unboxcheckdir\ltj@@orig at unvbox\ltj at tempcnta}
 \let\ltj@@orig at unhcopy=\unhcopy
 \let\ltj@@orig at unvcopy=\unvcopy
 \protected\def\unhcopy{\ltj at reset@globaldefs\afterassignment\ltj@@unhcopy\ltj at tempcnta}

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua	2020-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua	2020-04-12 21:34:43 UTC (rev 54705)
@@ -232,7 +232,9 @@
    }
 
    local unary_pars = luatexja.unary_pars
-   function luatexja.ext_get_parameter_unary(k)
+   local scan_arg = token.scan_argument
+   function luatexja.ext_get_parameter_unary()
+      local k= scan_arg()
       if unary_pars[k] then
 	 tex.write(tostring(unary_pars[k](tex.getcount('ltj@@stack'))))
       end
@@ -289,9 +291,9 @@
       end,
    }
    local binary_pars = luatexja.binary_pars
-
+   local scan_arg, scan_int = token.scan_argument, token.scan_int
    binary_pars.alxspmode = binary_pars.jaxspmode
-   function luatexja.ext_get_parameter_binary(k,c)
+   function luatexja.ext_get_parameter_binary(k, c)
       if binary_pars[k] then
 	 tex.write(tostring(binary_pars[k](c,tex.getcount('ltj@@stack'))))
       end

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty	2020-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty	2020-04-12 21:34:43 UTC (rev 54705)
@@ -35,13 +35,13 @@
   \expandafter\let\csname ifltj at in@latex\expandafter\endcsname
     \csname iftrue\endcsname
   \NeedsTeXFormat{LaTeX2e}
-  \ProvidesPackage{luatexja}[2020/03/01 Japanese Typesetting with Lua(La)TeX]
+  \ProvidesPackage{luatexja}[2020-04-12 Japanese Typesetting with Lua(La)TeX]
   \DeclareOption{disablejfam}{\ltj at disablejfamtrue}
   \DeclareOption*{}
   \ProcessOptions\relax
 \fi                             %</LaTeX>
 %%%% VERSION
-\def\LuaTeXjaversion{20200326.0}
+\def\LuaTeXjaversion{20200412.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-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty	2020-04-12 21:34:43 UTC (rev 54705)
@@ -3,7 +3,7 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjfont}[2020/03/20 Patch to NFSS2 for LuaTeX-ja]
+\ProvidesPackage{lltjfont}[2020-04-12 Patch to NFSS2 for LuaTeX-ja]
 
 %% patching \DeclareTextComposite
 \def\ltj at chardef@text at cmd#1{%
@@ -83,12 +83,32 @@
 \DeclareRobustCommand\zstrut{\relax\hbox{\ltj@@orig at utod
    \ifmmode\copy\zstrutbox\else\unhcopy\zstrutbox\fi}}
 
-{%
-  \def\cdp at elt#1#2#3#4{%
-    \directlua{luatexja.jfont.add_fenc_list('\luatexluaescapestring{#1}')}}%
-  \cdp at list%
+
+
+\newluafunction\ltj@@add at fenc@@inner
+\newluafunction\ltj@@add at kyenc@@inner
+\newluafunction\ltj@@add at ktenc@@inner
+\newluafunction\ltj@@is at kyenc@@inner
+\newluafunction\ltj@@is at ktenc@@inner
+\newluafunction\ltj@@is at kenc@@inner
+\directlua{%
+  local lf = lua.get_functions_table()
+  lf[\the\ltj@@add at fenc@@inner]  = luatexja.jfont.add_fenc_list
+  lf[\the\ltj@@add at kyenc@@inner] = luatexja.jfont.add_kyenc_list
+  lf[\the\ltj@@add at ktenc@@inner] = luatexja.jfont.add_ktenc_list
+  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
 }
+\luadef\ltj@@add at fenc \ltj@@add at fenc@@inner
+\luadef\ltj@@add at kyenc\ltj@@add at kyenc@@inner
+\luadef\ltj@@add at ktenc\ltj@@add at ktenc@@inner
+\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
 
+{\def\cdp at elt#1#2#3#4{\ltj@@add at fenc{#1}}\cdp at list}
+
 \def\DeclareFontEncoding{%
   \begingroup
   \nfss at catcodes
@@ -102,7 +122,7 @@
                     {\default at family}{\default at series}%
                     {\default at shape}}%
      \expandafter\let\csname#1-cmd\endcsname\@changed at cmd
-     \directlua{luatexja.jfont.add_fenc_list('\luatexluaescapestring{#1}')}%
+     \ltj@@add at fenc{#1}%
   \else
      \@font at info{Redeclaring font encoding #1}%
   \fi
@@ -133,7 +153,7 @@
                     {\default at k@family}{\default at k@series}%
                     {\default at k@shape}}%
     \expandafter\let\csname#1-cmd\endcsname\@changed at kcmd
-    \directlua{luatexja.jfont.add_kyenc_list('\luatexluaescapestring{#1}')}%
+    \ltj@@add at kyenc{#1}%
   \else
     \@font at info{Redeclaring KANJI (yoko) font encoding #1}%
   \fi
@@ -152,7 +172,7 @@
                     {\default at k@family}{\default at k@series}%
                     {\default at k@shape}}%
     \expandafter\let\csname#1-cmd\endcsname\@changed at kcmd
-    \directlua{luatexja.jfont.add_ktenc_list('\luatexluaescapestring{#1}')}%
+    \ltj@@add at ktenc{#1}%
   \else
     \@font at info{Redeclaring KANJI (tate) font encoding #1}%
   \fi
@@ -223,10 +243,22 @@
        \cdp at list
        \xdef\cdp at list{\the\toks@}%
     \endgroup
-    \global\@namedef{D@#1}{\def\default at family{#2}%
-                           \def\default at series{#3}%
-                           \def\default at shape{#4}}%
+    \global\@namedef{D@#1}{\def\default at k@family{#2}%
+                           \def\default at k@series{#3}%
+                           \def\default at k@shape{#4}}%
   \fi}
+\let\wrong at ja@fontshape\wrong at fontshape
+\let\wrong at al@fontshape\wrong at fontshape
+\patchcmd\wrong at ja@fontshape{\default at shape}{\default at k@shape}{}{}
+\patchcmd\wrong at ja@fontshape{\default at series}{\default at k@series}{}{}
+\patchcmd\wrong at ja@fontshape{\default at family}{\default at k@family}{}{}
+\def\wrong at fontshape{%
+  \ltj@@is at kenc{\f at encoding}\ifin@%
+    \wrong at ja@fontshape
+  \else
+    \wrong at al@fontshape
+  \fi
+}
 \@onlypreamble\DeclareKanjiSubstitution
 \def\DeclareErrorKanjiFont#1#2#3#4#5{%
    \xdef\error at kfontshape{%
@@ -245,13 +277,13 @@
       \math at fontsfalse
       \every at math@size{}%
       \fontsize{#6}\z@
-      \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{#2}')}\ifin@%
+      \ltj@@is at kyenc{#2}\ifin@%
 	    \ltjselectfont at force@definetrue
         \usekanji{#2}{#3}{#4}{#5}%
         \global\let#1\getjfont
 	    \ltjselectfont at force@definefalse
       \else
-        \directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{#2}')}\ifin@%
+        \ltj@@is at ktenc{#2}\ifin@%
   	      \ltjselectfont at force@definetrue
           \usekanji{#2}{#3}{#4}{#5}%
           \global\let#1\gettfont
@@ -346,16 +378,18 @@
     }%
   \fi}
 \def\ltj at selectfont@patch{%
-  \directlua{luatexja.base.start_time_measure('selectfont')}%
+  \ltj@@start at time@measure{selectfont}%
   \let\tmp at error@fontshape\error at fontshape
   \let\error at fontshape\error at kfontshape
-  \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{\k at encoding}')}\ifin@%
+  \ltj@@is at kyenc{\k at encoding}\ifin@%
     \let\cy at encoding\k at encoding
+    \ensure at KanjiEncodingPair{t}%
     \edef\ct at encoding{\csname t at enc@\k at encoding\endcsname}%
   \else
-    \directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{\k at encoding}')}\ifin@%
-     \let\ct at encoding\k at encoding
-     \edef\cy at encoding{\csname y at enc@\k at encoding\endcsname}%
+    \ltj@@is at ktenc{\k at encoding}\ifin@%
+      \let\ct at encoding\k at encoding
+      \ensure at KanjiEncodingPair{y}%
+      \edef\cy at encoding{\csname y at enc@\k at encoding\endcsname}%
     \else
       \@latex at error{KANJI Encoding scheme `\k at encoding' unknown}\@eha
     \fi
@@ -382,7 +416,7 @@
     \fi
   \fi
   \global\let\font at name=\ltj at afont@name
-  \directlua{luatexja.base.stop_time_measure('selectfont')}%
+  \ltj@@stop at time@measure{selectfont}%
 }
 \EverySelectfont{\ltj at selectfont@patch}
 
@@ -405,6 +439,15 @@
 \egroup
 
 \def\KanjiEncodingPair#1#2{\@namedef{t at enc@#1}{#2}\@namedef{y at enc@#2}{#1}}
+\def\ensure at KanjiEncodingPair#1{%
+  \edef\reserved at a{\csname #1 at enc@\k at encoding\endcsname}%
+  \edef\reserved at b{\csname c#1 at encoding\endcsname}%
+  \ifcat\relax\reserved at a
+    \@latex at error
+      {KANJI Encoding pair for `\k at encoding' undefined}%
+      {Use \string\KanjiEncodingPair, falling back to `\reserved at b'...}%
+    \expandafter\edef\reserved at a{\reserved at b}%
+  \fi}
 \def\set at fontsize#1#2#3{%
     \@defaultunits\@tempdimb#2pt\relax\@nnil
     \edef\f at size{\strip at pt\@tempdimb}%
@@ -491,8 +534,7 @@
     \fi
 }
 \DeclareRobustCommand\fontencoding[1]{%
-  \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{#1}')}\ifin@%
-  \kanjiencoding{#1}\else\romanencoding{#1}\fi}
+  \ltj@@is at kyenc{#1}\ifin@\kanjiencoding{#1}\else\romanencoding{#1}\fi}
 \def\@@kenc at update{%
   \default at KT
   \csname T@\k at encoding\endcsname
@@ -499,11 +541,10 @@
   \csname D@\k at encoding\endcsname
   \let\kenc at update\relax
   \let\ck at encoding\k at encoding
-  \edef\tmp at enc{'\luatexluaescapestring{\k at encoding}'}%
-  \directlua{luatexja.jfont.is_kyenc(\tmp at enc)}\ifin@%
+  \ltj@@is at kyenc{\k at encoding}\ifin@
     \let\cy at encoding\k at encoding
   \else
-    \directlua{luatexja.jfont.is_ktenc(\tmp at enc)}\ifin@%
+    \ltj@@is at ktenc{\k at encoding}\ifin@
       \let\ct at encoding\k at encoding
     \else
       \@latex at error{KANJI Encoding scheme `\k at encoding' unknown}\@eha
@@ -671,19 +712,6 @@
     \fi
   \fi
 }
-\def\set at safe@kanji at shape#1#2{%
-  \edef\reserved at b{\k at encoding /\k at family /\k at series/#1}%
-  \ifcsname \reserved at b\endcsname
-    \edef\k at shape{#1}%
-    #2%
-  \else
-    \@kanji at shape@nochange at info{\reserved at b}%
-  \fi
-}
-\def\@kanji at shape@nochange at info#1{%
-    \@font at info{Kanji font shape `#1' undefined\MessageBreak
-                No change}%
-}
 \ifnum\ltj@@latex at plv=300 % !!! pl3, 4
   \DeclareRobustCommand\romanseries[1]{\merge at font@series{#1}}
   \DeclareRobustCommand\kanjiseries[1]{\merge at kanji@series{#1}}
@@ -727,7 +755,7 @@
 \DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}
 \DeclareRobustCommand\romanshape[1]{\edef\f at shape{#1}}
 \DeclareRobustCommand\kanjishape[1]{\edef\k at shape{#1}}
-\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}}
+\DeclareRobustCommand\fontshape[1]{\set at safe@kanji at shape{#1}{}\romanshape{#1}}
 \DeclareRobustCommand\usekanji[4]{%
     \kanjiencoding{#1}\kanjifamily{#2}\kanjiseries{#3}\kanjishape{#4}%
     \selectfont\ignorespaces}
@@ -737,9 +765,23 @@
 %%%% LaTeX 2019-10-01 END
 \fi
 %%%%
+
+\def\set at safe@kanji at shape#1#2{%
+  \edef\reserved at b{\k at encoding /\k at family /\k at series/#1}%
+  \ifcsname \reserved at b\endcsname
+    \edef\k at shape{#1}%
+    #2%
+  \else
+    \@kanji at shape@nochange at info{\reserved at b}%
+  \fi
+}
+\def\@kanji at shape@nochange at info#1{%
+    \@font at info{Kanji font shape `#1' undefined\MessageBreak
+                No change}%
+}
+
 \protected\def\usefont#1#2#3#4{%
-  \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{#1}')}\ifin@%
-  \usekanji{#1}{#2}{#3}{#4}%
+  \ltj@@is at kenc{#1}\ifin@\usekanji{#1}{#2}{#3}{#4}%
   \else\useroman{#1}{#2}{#3}{#4}%
   \fi}
 \DeclareRobustCommand\normalfont{%
@@ -769,29 +811,71 @@
 \patchcmd\update at series@target at value@kanji{\f at series}{\k at series}{}{}
 \def\@meta at family@list at kanji{\@elt{mc}\@elt{gt}\@elt{jtt}}
 
+\ifdefined\@setbfseriesdefaultshook % after 2020-04-07
+  \g at addto@macro\@setbfseriesdefaultshook{%
+    \let\bfseries at mc\bfdef at ult
+    \let\bfseries at gt\bfdef at ult
+    \let\bfseries at jtt\bfdef at ult
+ }
+\else % 2020-02-02
+  \expandafter\patchcmd\csname bfseries \endcsname{%
+    \let\bfseries at rm\bfdef at ult
+    \let\bfseries at sf\bfdef at ult
+    \let\bfseries at tt\bfdef at ult
+  }{%
+    \let\bfseries at rm\bfdef at ult
+    \let\bfseries at sf\bfdef at ult
+    \let\bfseries at tt\bfdef at ult
+    \let\bfseries at mc\bfdef at ult
+    \let\bfseries at gt\bfdef at ult
+    \let\bfseries at jtt\bfdef at ult
+  }{}{}
+\fi
+\ifdefined\@setmdseriesdefaultshook % after 2020-04-07
+  \g at addto@macro\@setmdseriesdefaultshook{%
+    \let\mdseries at mc\mddef at ult
+    \let\mdseries at gt\mddef at ult
+    \let\mdseries at jtt\mddef at ult
+  }
+\else % 2020-02-02
+  \expandafter\patchcmd\csname mdseries \endcsname{%
+    \let\mdseries at rm\mddef at ult
+    \let\mdseries at sf\mddef at ult
+    \let\mdseries at tt\mddef at ult
+  }{%
+    \let\mdseries at rm\mddef at ult
+    \let\mdseries at sf\mddef at ult
+    \let\mdseries at tt\mddef at ult
+    \let\mdseries at mc\mddef at ult
+    \let\mdseries at gt\mddef at ult
+    \let\mdseries at jtt\mddef at ult
+  }{}{}
+\fi
 \expandafter\patchcmd\csname bfseries \endcsname{%
-  \let\bfseries at rm\bfdef at ult
-  \let\bfseries at sf\bfdef at ult
-  \let\bfseries at tt\bfdef at ult
+  \ifx\f at family\rmdef at ult      \fontseries\bfseries at rm
+  \else\ifx\f at family\sfdef at ult \fontseries\bfseries at sf
+  \else\ifx\f at family\ttdef at ult \fontseries\bfseries at tt
+  \else                        \fontseries\bfdefault
+  \fi\fi\fi
 }{%
-  \let\bfseries at rm\bfdef at ult
-  \let\bfseries at sf\bfdef at ult
-  \let\bfseries at tt\bfdef at ult
-  \let\bfseries at mc\bfdef at ult
-  \let\bfseries at gt\bfdef at ult
-  \let\bfseries at jtt\bfdef at ult
+  \ifx\f at family\rmdef at ult      \romanseries\bfseries at rm
+  \else\ifx\f at family\sfdef at ult \romanseries\bfseries at sf
+  \else\ifx\f at family\ttdef at ult \romanseries\bfseries at tt
+  \else                        \romanseries\bfdefault
+  \fi\fi\fi
 }{}{}
 \expandafter\patchcmd\csname mdseries \endcsname{%
-  \let\mdseries at rm\mddef at ult
-  \let\mdseries at sf\mddef at ult
-  \let\mdseries at tt\mddef at ult
+  \ifx\f at family\rmdef at ult      \fontseries\mdseries at rm
+  \else\ifx\f at family\sfdef at ult \fontseries\mdseries at sf
+  \else\ifx\f at family\ttdef at ult \fontseries\mdseries at tt
+  \else                        \fontseries\mddefault
+  \fi\fi\fi
 }{%
-  \let\mdseries at rm\mddef at ult
-  \let\mdseries at sf\mddef at ult
-  \let\mdseries at tt\mddef at ult
-  \let\mdseries at mc\mddef at ult
-  \let\mdseries at gt\mddef at ult
-  \let\mdseries at jtt\mddef at ult
+  \ifx\f at family\rmdef at ult      \romanseries\mdseries at rm
+  \else\ifx\f at family\sfdef at ult \romanseries\mdseries at sf
+  \else\ifx\f at family\ttdef at ult \romanseries\mdseries at tt
+  \else                        \romanseries\mddefault
+  \fi\fi\fi
 }{}{}
 \expandafter\patchcmd\csname bfseries \endcsname{\selectfont}%
 {%
@@ -811,12 +895,21 @@
   \fi\fi\fi
   \selectfont
 }{}{}
-\appto\expand at font@defaults{%
-  \edef\mcdef at ult{\mcdefault}%
-  \edef\gtdef at ult{\gtdefault}%
-  \edef\jttdef at ult{\jttdefault}%
-  \edef\kanjidef at ult{\kanjifamilydefault}%
-}
+\ifdefined\@expandfontdefaultshook % 2020-04-07
+  \g at addto@macro\@expandfontdefaultshook{%
+    \edef\mcdef at ult{\mcdefault}%
+    \edef\gtdef at ult{\gtdefault}%
+    \edef\jttdef at ult{\jttdefault}%
+    \edef\kanjidef at ult{\kanjifamilydefault}%
+  }
+\else % 2020-02-02
+  \appto\expand at font@defaults{%
+    \edef\mcdef at ult{\mcdefault}%
+    \edef\gtdef at ult{\gtdefault}%
+    \edef\jttdef at ult{\jttdefault}%
+    \edef\kanjidef at ult{\kanjifamilydefault}%
+  }
+\fi
 \appto\init at series@setup{%
   \ifx\kanjidef at ult\mcdef at ult      \mcfamily
   \else\ifx\kanjidef at ult\gtdef at ult \gtfamily
@@ -856,12 +949,9 @@
 
 %%%%%% LuaTeX-ja specific
 
-% #1 の展開結果から encoding 部分をとりだし,それが和文用かどうかの結果を \ifin@ に代入
-\def\ltj@@IsFontJapanese#1{%
-  \directlua{luatexja.jfont.is_kenc(string.match(
-      '\luatexluaescapestring{#1}', '[^/]+'))}}
+% #1/#2 の展開結果から encoding 部分 (#1) をとりだし,それが和文用かどうかの結果を \ifin@ に代入
+\def\ltj@@IsFontJapanese#1/#2\relax{\ltj@@is at kenc{#1}}
 
-
 \let\extract at afont\extract at font
 \def\pickup at jfont{%
   \ifnum
@@ -960,7 +1050,7 @@
     \aftergroup\subst at correction
 }
 \def\do at subst@correction{%
-   \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f at encoding}')}\ifin@%
+   \ltj@@is at kenc{\f at encoding}\ifin@%
      \ltj@@ja at do@subst at correction
    \else
      \ltj@@al at do@subst at correction
@@ -973,7 +1063,7 @@
 
 % \M@<enc> から その <enc> が和文用か調べる
 {\catcode`M=12%
-\gdef\ltj@@mathJapaneseFonts#1M#2#3\relax{\ltj@@IsFontJapanese{#3}}}
+\gdef\ltj@@mathJapaneseFonts#1M#2#3/#4\relax{\ltj@@is at kenc{#3}}}
 
 \let\ltj@@al at getanddefine@fonts=\getanddefine at fonts
 \def\ltj@@ja at getanddefine@fonts#1#2{%
@@ -994,7 +1084,7 @@
 }
 
 \def\getanddefine at fonts#1#2{%
-  \ltj at tempcnta=#1\ltj@@IsFontJapanese{\string#2}%
+  \ltj at tempcnta=#1\expandafter\ltj@@IsFontJapanese\string#2/\relax%
   \ifin@\let\ltj at temp=\ltj@@ja at getanddefine@fonts%
   \else \let\ltj at temp=\ltj@@al at getanddefine@fonts\fi
   \ltj at temp{#1}{#2}%
@@ -1002,7 +1092,8 @@
 \def\use at mathgroup#1#2{\relax\ifmmode
   \math at bgroup
     \expandafter\ifx\csname M@\f at encoding\endcsname#1\else
-    #1\fi\ltj at tempcnta=#2 \expandafter\ltj@@mathJapaneseFonts\string#1\relax%
+    #1\fi\ltj at tempcnta=#2
+	\expandafter\ltj@@mathJapaneseFonts\string#1/\relax%
     \ifin@\jfam#2\relax\else\mathgroup#2\relax\fi
   \expandafter\math at egroup\fi}%
 

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-microtype.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-microtype.sty	2020-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-microtype.sty	2020-04-12 21:34:43 UTC (rev 54705)
@@ -12,22 +12,19 @@
    (lltjp-microtype.sty, 2019-11-08) may not work}
 \patchcmd\MT at register@font
   {\xdef\MT at font@list{\MT at font@list\MT at font,}}%
-  {\directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f at encoding}')}%
-   \unless\ifin@
+  {\ltj@@is at kenc{\f at encoding}\unless\ifin@
      \xdef\MT at font@list{\MT at font@list\MT at font,}%
    \fi
    }{}{}
 \patchcmd\MT at register@subst at font
   {\xdef\MT at font@list{\MT at font@list\font at name,}}%
-  {\directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f at encoding}')}%
-   \unless\ifin@
+  {\ltj@@is at kenc{\f at encoding}\unless\ifin@
      \xdef\MT at font@list{\MT at font@list\font at name,}%
    \fi}{}{}
 \let\ltj at MT@tracking@\MT at tracking@
 \patchcmd\MT at tracking@
   {\xdef\MT at tr@font at list{\MT at tr@font at list\MT at font,}}%
-  {\directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f at encoding}')}%
-   \unless\ifin@
+  {\ltj@@is at kenc{\f at encoding}\unless\ifin@
      \xdef\MT at tr@font at list{\MT at tr@font at list\MT at font,}%
    \fi}{}{}
 \ifx\MT at tracking\ltj at MT@tracking@\let\MT at tracking\MT at tracking@\fi

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-unicode-math.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-unicode-math.sty	2020-04-12 21:33:39 UTC (rev 54704)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-unicode-math.sty	2020-04-12 21:34:43 UTC (rev 54705)
@@ -26,13 +26,12 @@
 \unless\ifltj at disablejfam
 \cs_set:Npn \use at mathgroup #1 #2
 {
-  %\typeout{UM <#1><#2>}
   \mode_if_math:T % <- not sure
    {
     \math at bgroup
       \cs_if_eq:cNF {M@\f at encoding} #1 {#1}
       \__um_switchto_literal:
-      \ltj at tempcnta=#2 \expandafter\ltj@@mathJapaneseFonts\string#1\relax%
+      \ltj at tempcnta=#2 \expandafter\ltj@@mathJapaneseFonts\string#1/\relax%
       \ifin@ \jfam #2 \relax \else \mathgroup #2 \relax \fi
     \math at egroup
    }



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