summaryrefslogtreecommitdiff
path: root/macros/luatex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-04-13 03:03:00 +0000
committerNorbert Preining <norbert@preining.info>2020-04-13 03:03:00 +0000
commitc98e9ebef816f09dc54c52a01df4f978e1b210fc (patch)
tree0073017824e78ee91d2356f76d2b2944437da5d9 /macros/luatex
parentffcfe2bb60911db71a31e4c12541eae3e9df29f3 (diff)
CTAN sync 202004130303
Diffstat (limited to 'macros/luatex')
-rw-r--r--macros/luatex/generic/luatexja/README8
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-en.pdfbin685487 -> 685486 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-ja.pdfbin1101328 -> 1101330 bytes
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty11
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty13
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty4
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-inputbuf.lua17
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-jfont.lua20
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja-core.sty123
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.lua8
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.sty4
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjfont.sty237
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty9
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty3
14 files changed, 292 insertions, 165 deletions
diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README
index 838db102cf..6916b1a715 100644
--- a/macros/luatex/generic/luatexja/README
+++ b/macros/luatex/generic/luatexja/README
@@ -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 @@ Installation
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 @@ Notes
* 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
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
index 386207203a..5d9d6fc11a 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
index cae4649d22..c263107d77 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
index 0c44c62e2a..2fc3d6bb29 100644
--- a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
@@ -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@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@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
}
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
index e32d20ab38..60c4c75a31 100644
--- a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
@@ -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@load@fontshape to ignore kanjifont definitions at all.
\def\try@load@fontshape{%
- \expandafter
- \ifx\csname \f@encoding+\f@family\endcsname\relax
- \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
-\ifin@\else % Alphabetic font
+ \expandafter
+ \ifx\csname \f@encoding+\f@family\endcsname\relax
+ \ltj@@is@kenc{\f@encoding}\ifin@\else % Alphabetic font
\@font@info{Trying loading font information for \f@encoding+\f@family}%
\global\expandafter\let
\csname\f@encoding+\f@family\endcsname\@empty
@@ -50,7 +49,7 @@
\noexpand\InputIfFileExists{\f@encoding\f@family.fd}}}%
\reserved@a\relax
{\@input@{\f@encoding\f@family.fd}}%
-\fi
- \fi}
+ \fi
+ \fi}
\endinput
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
index c561df00a6..b64f7887ef 100644
--- a/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
@@ -1,5 +1,5 @@
% luatexja-preset.sty
-\ProvidesPackage{luatexja-preset}[2020/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@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:
}
diff --git a/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua b/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
index 9c1f4e1fad..0616f4e50c 100644
--- a/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
@@ -31,16 +31,19 @@ local function add_comment(buffer)
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')
diff --git a/macros/luatex/generic/luatexja/src/ltj-jfont.lua b/macros/luatex/generic/luatexja/src/ltj-jfont.lua
index d63da29447..bb5d99561a 100644
--- a/macros/luatex/generic/luatexja/src/ltj-jfont.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-jfont.lua
@@ -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 @@ end
-- 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
diff --git a/macros/luatex/generic/luatexja/src/luatexja-core.sty b/macros/luatex/generic/luatexja/src/luatexja-core.sty
index d870df0e28..c8e5449c9b 100644
--- a/macros/luatex/generic/luatexja/src/luatexja-core.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja-core.sty
@@ -200,11 +200,24 @@
%%%%%%%% Redefine \/
\newluafunction\ltj@@italic@inner
+\newluafunction\ltj@@start@time@measure@inner
+\newluafunction\ltj@@stop@time@measure@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@inner] = luatexja.jfont.append_italic
+ t[\the\ltj@@start@time@measure@inner] = function()
+ start_time_measure(scan_arg())
+ end
+ t[\the\ltj@@stop@time@measure@inner] = function()
+ stop_time_measure(scan_arg())
+ end
}
\protected\def\/{\relax\luafunction\ltj@@italic@inner}
+\luadef\ltj@@start@time@measure\ltj@@start@time@measure@inner
+\luadef\ltj@@stop@time@measure\ltj@@stop@time@measure@inner
%%%%%%%% \jfont\CS={...:...;jfm=metric;...}, \globaljfont
\protected\def\jfont#1{%
@@ -253,8 +266,8 @@
t[\the\ltj@@fakeparbegin@inner] = luatexja.jfmglue.create_beginpar_node
t[\the\ltj@@fakeboxbdd@inner] = luatexja.jfmglue.create_boxbdd_node
}
-\protected\def\ltj@reset@globaldefs{\luafunction\ltj@reset@globaldefs@inner}
-\protected\def\ltj@restore@globaldefs{\luafunction\ltj@restore@globaldefs@inner}
+\protected\luadef\ltj@reset@globaldefs \ltj@reset@globaldefs@inner
+\protected\luadef\ltj@restore@globaldefs\ltj@restore@globaldefs@inner
\protected\def\inhibitglue{\ifhmode\relax\luafunction\ltj@@ihb@inner\fi}
\protected\def\ltjfakeparbegin{\ifhmode\relax\luafunction\ltj@@fakeparbegin@inner\fi}
\protected\def\ltjfakeboxbdd{\ifhmode\relax\luafunction\ltj@@fakeboxbdd@inner\fi}
@@ -394,8 +407,8 @@
local d = scan_glue(); sss(sti.XSK, d); node.free(d)
end
}
-\protected\def\ltjsetkanjiskip{\luafunction\ltjsetkanjiskip@inner}
-\protected\def\ltjsetxkanjiskip{\luafunction\ltjsetxkanjiskip@inner}
+\protected\luadef\ltjsetkanjiskip \ltjsetkanjiskip@inner
+\protected\luadef\ltjsetxkanjiskip\ltjsetxkanjiskip@inner
% jcharwidowpenalty = <count>
\define@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@time@measure{set_par}%
\ltj@setpar@global\setkeys[ltj]{japaram}{#1}%
- \directlua{luatexja.base.stop_time_measure('set_par')}%
+ \ltj@@stop@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@time@measure{set_par}%
\setkeys[ltj]{japaram}{#1}%
- \directlua{luatexja.base.stop_time_measure('set_par')}%
+ \ltj@@stop@time@measure{set_par}%
\ignorespaces}
%%%%%%%% \ltjgetparameter
@@ -459,7 +472,7 @@
\ltj@@decl@array@param{chartorange}
\ltj@@decl@array@param{boxdir}
\def\ltjgetparameter#1{%
- \directlua{luatexja.base.start_time_measure('get_par')}%
+ \ltj@@start@time@measure{get_par}%
% stop call is moved in luatexja.lua
\ifcsname ltj@@array@param/#1\endcsname
\expandafter\ltx@firstoftwo
@@ -469,9 +482,12 @@
{\ltj@@getparam@two{#1}}%
{\ltj@@getparam@one{#1}}%
}
-\def\ltj@@getparam@one#1{%
- \directlua{luatexja.ext_get_parameter_unary('#1')}%
-}%
+\newluafunction\ltj@@getparam@one@inner
+\directlua{
+ local t = lua.get_functions_table()
+ t[\the\ltj@@getparam@one@inner] = luatexja.ext_get_parameter_unary
+}
+\luadef\ltj@@getparam@one\ltj@@getparam@one@inner
\def\ltj@@getparam@two#1#2{%
\directlua{luatexja.ext_get_parameter_binary('#1', \ltj@safe@num@or{nil}{#2})}%
}
@@ -491,7 +507,7 @@
end
end
}
-\protected\def\ltj@alljachar{\luafunction\ltj@alljachar@inner}
+\protected\luadef\ltj@alljachar\ltj@alljachar@inner
\protected\def\ltj@allalchar{\relax
\csname ltj@kcat0\endcsname="7FFFFFFF %"
\csname ltj@kcat1\endcsname="7FFFFFFF %"
@@ -579,10 +595,17 @@
%%%% insert
\let\orig@insert=\insert
+\newluafunction\ltj@@lua@populate@insertwhatsit@inner
+\directlua{
+ local t = lua.get_functions_table()
+ t[\the\ltj@@lua@populate@insertwhatsit@inner]
+ = luatexja.direction.populate_insertion_dir_whatsit
+}
+\luadef\ltj@@lua@populate@insertwhatsit\ltj@@lua@populate@insertwhatsit@inner
\protected\def\insert{\begingroup\afterassignment\ltj@@insert@A\ltj@tempcnta}
\protected\def\ltj@@insert@A{\orig@insert\ltj@tempcnta\bgroup
\aftergroup\ltj@@insert@B\let\ltj@@next}
-\protected\def\ltj@@insert@B{\directlua{luatexja.direction.populate_insertion_dir_whatsit()}\endgroup}
+\protected\def\ltj@@insert@B{\ltj@@lua@populate@insertwhatsit\endgroup}
%%%% vadjust
\let\ltj@@orig@vadjust=\vadjust
@@ -602,46 +625,45 @@
}$%
}
\setbox\z@\box\voidb@x
+\newluafunction\ltj@@box@dirhook@inner
+\newluafunction\ltj@@reset@badness@inner
+\directlua{
+ local t, ltjd = lua.get_functions_table(), luatexja.direction
+ t[\the\ltj@@box@dirhook@inner]
+ = function() ltjd.set_list_direction_hook() end
+ t[\the\ltj@@reset@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@dirhook\ltj@@box@dirhook@inner
\ifltj@everyhook@avail% using everyhook package
- \newluafunction\ltj@@box@dirhook
- \directlua{
- local t, ltjd = lua.get_functions_table(), luatexja.direction
- t[\the\ltj@@box@dirhook]
- = function() ltjd.set_list_direction_hook() end
- }
- \PushPreHook{hbox}{\luafunction\ltj@@box@dirhook\aftergroup\ltj@@reset@badness}
- \PushPreHook{vbox}{\luafunction\ltj@@box@dirhook\aftergroup\ltj@@reset@badness}
+ \PushPreHook{hbox}{\ltj@@box@dirhook\aftergroup\ltj@@reset@badness}
+ \PushPreHook{vbox}{\ltj@@box@dirhook\aftergroup\ltj@@reset@badness}
\else
\let\ltj@@everyhbox=\everyhbox\let\ltj@@everyvbox=\everyvbox
\newtoks\ltj@@i@everyhbox\newtoks\ltj@@i@everyvbox
\let\everyhbox=\ltj@@i@everyhbox\let\everyvbox=\ltj@@i@everyvbox
- \newluafunction\ltj@@box@dirhook
- \directlua{
- local t, ltjd = lua.get_functions_table(), luatexja.direction
- t[\the\ltj@@box@dirhook]
- = function() ltjd.set_list_direction_hook() end
- }
- \ltj@@everyhbox{\luafunction\ltj@@box@dirhook
+ \ltj@@everyhbox{\ltj@@box@dirhook
\aftergroup\ltj@@reset@badness\the\ltj@@i@everyhbox}
- \ltj@@everyvbox{\luafunction\ltj@@box@dirhook
+ \ltj@@everyvbox{\ltj@@box@dirhook
\aftergroup\ltj@@reset@badness\the\ltj@@i@everyvbox}
\fi
-\newluafunction\ltj@@reset@badness@inner
-\directlua{
- local t = lua.get_functions_table()
- t[\the\ltj@@reset@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@badness{\luafunction\ltj@@reset@badness@inner}
\AtBeginShipout{\directlua{luatexja.direction.finalize()}}
%%%% \raise, \lower, \moveleft, \moveright
+\newluafunction\ltj@@lua@raisebox@inner
+\directlua{
+ local t = lua.get_functions_table()
+ t[\the\ltj@@lua@raisebox@inner]=luatexja.direction.raise_box
+}
+\protected\luadef\ltj@@lua@raisebox\ltj@@lua@raisebox@inner
\let\ltj@@orig@raise=\raise
\let\ltj@@orig@lower=\lower
\protected\def\raise{\ltj@reset@globaldefs\afterassignment\ltj@@raise\ltj@tempdima}
@@ -649,8 +671,7 @@
\protected\def\ltj@@raise{%
\ltj@restore@globaldefs
\edef\ltj@@raise@a{%
- \noexpand\directlua{luatexja.direction.raise_box()}%
- \ltj@@orig@raise\the\ltj@tempdima\noexpand\box\ltj@afbox
+ \ltj@@lua@raisebox\ltj@@orig@raise\the\ltj@tempdima\noexpand\box\ltj@afbox
}\ltj@afterbox\ltj@@raise@a}
\let\ltj@@orig@moveleft=\moveleft
\let\ltj@@orig@moveright=\moveright
@@ -659,8 +680,7 @@
\protected\def\ltj@@moveleft{%
\ltj@restore@globaldefs
\edef\ltj@@moveleft@a{%
- \noexpand\directlua{luatexja.direction.raise_box()}%
- \ltj@@orig@moveleft\the\ltj@tempdima\noexpand\box\ltj@afbox
+ \ltj@@lua@raisebox\ltj@@orig@moveleft\the\ltj@tempdima\noexpand\box\ltj@afbox
}\ltj@afterbox\ltj@@moveleft@a}
%%%%\vsplit
@@ -670,22 +690,25 @@
\let\ltj@@orig@vcenter=\vcenter
\protected\def\vcenter{\ltj@afterbox\ltj@@vcenter\vbox}
\protected\def\ltj@@vcenter{%
- \directlua{luatexja.direction.raise_box()}%
- \ltj@@orig@vcenter{\box\ltj@afbox}%
+ \ltj@@lua@raisebox\ltj@@orig@vcenter{\box\ltj@afbox}%
}
%%%% \unhbox and \unvbox
+\newluafunction\ltj@@lua@unboxcheckdir@inner
+\directlua{
+ local t = lua.get_functions_table()
+ t[\the\ltj@@lua@unboxcheckdir@inner]=luatexja.direction.unbox_check_dir
+}
+\luadef\ltj@@lua@unboxcheckdir\ltj@@lua@unboxcheckdir@inner
\long\def \@gobbletwo #1#2{}
\let\ltj@@orig@unhbox=\unhbox
\let\ltj@@orig@unvbox=\unvbox
\protected\def\unhbox{\ltj@reset@globaldefs\afterassignment\ltj@@unhbox\ltj@tempcnta}
\protected\def\unvbox{\ltj@reset@globaldefs\afterassignment\ltj@@unvbox\ltj@tempcnta}
\protected\def\ltj@@unhbox{%
- \directlua{luatexja.direction.unbox_check_dir()}%
- \ltj@@orig@unhbox\ltj@tempcnta}
+ \ltj@@lua@unboxcheckdir\ltj@@orig@unhbox\ltj@tempcnta}
\protected\def\ltj@@unvbox{%
- \directlua{luatexja.direction.unbox_check_dir()}%
- \ltj@@orig@unvbox\ltj@tempcnta}
+ \ltj@@lua@unboxcheckdir\ltj@@orig@unvbox\ltj@tempcnta}
\let\ltj@@orig@unhcopy=\unhcopy
\let\ltj@@orig@unvcopy=\unvcopy
\protected\def\unhcopy{\ltj@reset@globaldefs\afterassignment\ltj@@unhcopy\ltj@tempcnta}
diff --git a/macros/luatex/generic/luatexja/src/luatexja.lua b/macros/luatex/generic/luatexja/src/luatexja.lua
index 767659a1c3..df1b57dfe6 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.lua
+++ b/macros/luatex/generic/luatexja/src/luatexja.lua
@@ -232,7 +232,9 @@ do
}
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 @@ do
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
diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty
index 0fbb7d1f39..c2c8c45147 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja.sty
@@ -35,13 +35,13 @@
\expandafter\let\csname ifltj@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@disablejfamtrue}
\DeclareOption*{}
\ProcessOptions\relax
\fi %</LaTeX>
%%%% VERSION
-\def\LuaTeXjaversion{20200326.0}
+\def\LuaTeXjaversion{20200412.0}
\directlua{require('ltj-unicode-ccfix.lua')}% catcode of ideographs
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
index 69ab7441c2..e5f79a8c44 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjfont}[2020/03/20 Patch to NFSS2 for LuaTeX-ja]
+\ProvidesPackage{lltjfont}[2020-04-12 Patch to NFSS2 for LuaTeX-ja]
%% patching \DeclareTextComposite
\def\ltj@chardef@text@cmd#1{%
@@ -83,11 +83,31 @@
\DeclareRobustCommand\zstrut{\relax\hbox{\ltj@@orig@utod
\ifmmode\copy\zstrutbox\else\unhcopy\zstrutbox\fi}}
-{%
- \def\cdp@elt#1#2#3#4{%
- \directlua{luatexja.jfont.add_fenc_list('\luatexluaescapestring{#1}')}}%
- \cdp@list%
+
+
+\newluafunction\ltj@@add@fenc@@inner
+\newluafunction\ltj@@add@kyenc@@inner
+\newluafunction\ltj@@add@ktenc@@inner
+\newluafunction\ltj@@is@kyenc@@inner
+\newluafunction\ltj@@is@ktenc@@inner
+\newluafunction\ltj@@is@kenc@@inner
+\directlua{%
+ local lf = lua.get_functions_table()
+ lf[\the\ltj@@add@fenc@@inner] = luatexja.jfont.add_fenc_list
+ lf[\the\ltj@@add@kyenc@@inner] = luatexja.jfont.add_kyenc_list
+ lf[\the\ltj@@add@ktenc@@inner] = luatexja.jfont.add_ktenc_list
+ lf[\the\ltj@@is@kyenc@@inner] = luatexja.jfont.is_kyenc
+ lf[\the\ltj@@is@ktenc@@inner] = luatexja.jfont.is_ktenc
+ lf[\the\ltj@@is@kenc@@inner] = luatexja.jfont.is_kenc
}
+\luadef\ltj@@add@fenc \ltj@@add@fenc@@inner
+\luadef\ltj@@add@kyenc\ltj@@add@kyenc@@inner
+\luadef\ltj@@add@ktenc\ltj@@add@ktenc@@inner
+\luadef\ltj@@is@kyenc \ltj@@is@kyenc@@inner
+\luadef\ltj@@is@ktenc \ltj@@is@ktenc@@inner
+\luadef\ltj@@is@kenc \ltj@@is@kenc@@inner
+
+{\def\cdp@elt#1#2#3#4{\ltj@@add@fenc{#1}}\cdp@list}
\def\DeclareFontEncoding{%
\begingroup
@@ -102,7 +122,7 @@
{\default@family}{\default@series}%
{\default@shape}}%
\expandafter\let\csname#1-cmd\endcsname\@changed@cmd
- \directlua{luatexja.jfont.add_fenc_list('\luatexluaescapestring{#1}')}%
+ \ltj@@add@fenc{#1}%
\else
\@font@info{Redeclaring font encoding #1}%
\fi
@@ -133,7 +153,7 @@
{\default@k@family}{\default@k@series}%
{\default@k@shape}}%
\expandafter\let\csname#1-cmd\endcsname\@changed@kcmd
- \directlua{luatexja.jfont.add_kyenc_list('\luatexluaescapestring{#1}')}%
+ \ltj@@add@kyenc{#1}%
\else
\@font@info{Redeclaring KANJI (yoko) font encoding #1}%
\fi
@@ -152,7 +172,7 @@
{\default@k@family}{\default@k@series}%
{\default@k@shape}}%
\expandafter\let\csname#1-cmd\endcsname\@changed@kcmd
- \directlua{luatexja.jfont.add_ktenc_list('\luatexluaescapestring{#1}')}%
+ \ltj@@add@ktenc{#1}%
\else
\@font@info{Redeclaring KANJI (tate) font encoding #1}%
\fi
@@ -223,10 +243,22 @@
\cdp@list
\xdef\cdp@list{\the\toks@}%
\endgroup
- \global\@namedef{D@#1}{\def\default@family{#2}%
- \def\default@series{#3}%
- \def\default@shape{#4}}%
+ \global\@namedef{D@#1}{\def\default@k@family{#2}%
+ \def\default@k@series{#3}%
+ \def\default@k@shape{#4}}%
\fi}
+\let\wrong@ja@fontshape\wrong@fontshape
+\let\wrong@al@fontshape\wrong@fontshape
+\patchcmd\wrong@ja@fontshape{\default@shape}{\default@k@shape}{}{}
+\patchcmd\wrong@ja@fontshape{\default@series}{\default@k@series}{}{}
+\patchcmd\wrong@ja@fontshape{\default@family}{\default@k@family}{}{}
+\def\wrong@fontshape{%
+ \ltj@@is@kenc{\f@encoding}\ifin@%
+ \wrong@ja@fontshape
+ \else
+ \wrong@al@fontshape
+ \fi
+}
\@onlypreamble\DeclareKanjiSubstitution
\def\DeclareErrorKanjiFont#1#2#3#4#5{%
\xdef\error@kfontshape{%
@@ -245,13 +277,13 @@
\math@fontsfalse
\every@math@size{}%
\fontsize{#6}\z@
- \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{#2}')}\ifin@%
+ \ltj@@is@kyenc{#2}\ifin@%
\ltjselectfont@force@definetrue
\usekanji{#2}{#3}{#4}{#5}%
\global\let#1\getjfont
\ltjselectfont@force@definefalse
\else
- \directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{#2}')}\ifin@%
+ \ltj@@is@ktenc{#2}\ifin@%
\ltjselectfont@force@definetrue
\usekanji{#2}{#3}{#4}{#5}%
\global\let#1\gettfont
@@ -346,16 +378,18 @@
}%
\fi}
\def\ltj@selectfont@patch{%
- \directlua{luatexja.base.start_time_measure('selectfont')}%
+ \ltj@@start@time@measure{selectfont}%
\let\tmp@error@fontshape\error@fontshape
\let\error@fontshape\error@kfontshape
- \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{\k@encoding}')}\ifin@%
+ \ltj@@is@kyenc{\k@encoding}\ifin@%
\let\cy@encoding\k@encoding
+ \ensure@KanjiEncodingPair{t}%
\edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}%
\else
- \directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{\k@encoding}')}\ifin@%
- \let\ct@encoding\k@encoding
- \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}%
+ \ltj@@is@ktenc{\k@encoding}\ifin@%
+ \let\ct@encoding\k@encoding
+ \ensure@KanjiEncodingPair{y}%
+ \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}%
\else
\@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha
\fi
@@ -382,7 +416,7 @@
\fi
\fi
\global\let\font@name=\ltj@afont@name
- \directlua{luatexja.base.stop_time_measure('selectfont')}%
+ \ltj@@stop@time@measure{selectfont}%
}
\EverySelectfont{\ltj@selectfont@patch}
@@ -405,6 +439,15 @@
\egroup
\def\KanjiEncodingPair#1#2{\@namedef{t@enc@#1}{#2}\@namedef{y@enc@#2}{#1}}
+\def\ensure@KanjiEncodingPair#1{%
+ \edef\reserved@a{\csname #1@enc@\k@encoding\endcsname}%
+ \edef\reserved@b{\csname c#1@encoding\endcsname}%
+ \ifcat\relax\reserved@a
+ \@latex@error
+ {KANJI Encoding pair for `\k@encoding' undefined}%
+ {Use \string\KanjiEncodingPair, falling back to `\reserved@b'...}%
+ \expandafter\edef\reserved@a{\reserved@b}%
+ \fi}
\def\set@fontsize#1#2#3{%
\@defaultunits\@tempdimb#2pt\relax\@nnil
\edef\f@size{\strip@pt\@tempdimb}%
@@ -491,19 +534,17 @@
\fi
}
\DeclareRobustCommand\fontencoding[1]{%
- \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{#1}')}\ifin@%
- \kanjiencoding{#1}\else\romanencoding{#1}\fi}
+ \ltj@@is@kyenc{#1}\ifin@\kanjiencoding{#1}\else\romanencoding{#1}\fi}
\def\@@kenc@update{%
\default@KT
\csname T@\k@encoding\endcsname
\csname D@\k@encoding\endcsname
\let\kenc@update\relax
\let\ck@encoding\k@encoding
- \edef\tmp@enc{'\luatexluaescapestring{\k@encoding}'}%
- \directlua{luatexja.jfont.is_kyenc(\tmp@enc)}\ifin@%
+ \ltj@@is@kyenc{\k@encoding}\ifin@
\let\cy@encoding\k@encoding
\else
- \directlua{luatexja.jfont.is_ktenc(\tmp@enc)}\ifin@%
+ \ltj@@is@ktenc{\k@encoding}\ifin@
\let\ct@encoding\k@encoding
\else
\@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha
@@ -671,19 +712,6 @@
\fi
\fi
}
-\def\set@safe@kanji@shape#1#2{%
- \edef\reserved@b{\k@encoding /\k@family /\k@series/#1}%
- \ifcsname \reserved@b\endcsname
- \edef\k@shape{#1}%
- #2%
- \else
- \@kanji@shape@nochange@info{\reserved@b}%
- \fi
-}
-\def\@kanji@shape@nochange@info#1{%
- \@font@info{Kanji font shape `#1' undefined\MessageBreak
- No change}%
-}
\ifnum\ltj@@latex@plv=300 % !!! pl3, 4
\DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}}
\DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}}
@@ -727,7 +755,7 @@
\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}
\DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}}
\DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}}
-\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}}
+\DeclareRobustCommand\fontshape[1]{\set@safe@kanji@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@safe@kanji@shape#1#2{%
+ \edef\reserved@b{\k@encoding /\k@family /\k@series/#1}%
+ \ifcsname \reserved@b\endcsname
+ \edef\k@shape{#1}%
+ #2%
+ \else
+ \@kanji@shape@nochange@info{\reserved@b}%
+ \fi
+}
+\def\@kanji@shape@nochange@info#1{%
+ \@font@info{Kanji font shape `#1' undefined\MessageBreak
+ No change}%
+}
+
\protected\def\usefont#1#2#3#4{%
- \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{#1}')}\ifin@%
- \usekanji{#1}{#2}{#3}{#4}%
+ \ltj@@is@kenc{#1}\ifin@\usekanji{#1}{#2}{#3}{#4}%
\else\useroman{#1}{#2}{#3}{#4}%
\fi}
\DeclareRobustCommand\normalfont{%
@@ -769,29 +811,71 @@
\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{}
\def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}\@elt{jtt}}
+\ifdefined\@setbfseriesdefaultshook % after 2020-04-07
+ \g@addto@macro\@setbfseriesdefaultshook{%
+ \let\bfseries@mc\bfdef@ult
+ \let\bfseries@gt\bfdef@ult
+ \let\bfseries@jtt\bfdef@ult
+ }
+\else % 2020-02-02
+ \expandafter\patchcmd\csname bfseries \endcsname{%
+ \let\bfseries@rm\bfdef@ult
+ \let\bfseries@sf\bfdef@ult
+ \let\bfseries@tt\bfdef@ult
+ }{%
+ \let\bfseries@rm\bfdef@ult
+ \let\bfseries@sf\bfdef@ult
+ \let\bfseries@tt\bfdef@ult
+ \let\bfseries@mc\bfdef@ult
+ \let\bfseries@gt\bfdef@ult
+ \let\bfseries@jtt\bfdef@ult
+ }{}{}
+\fi
+\ifdefined\@setmdseriesdefaultshook % after 2020-04-07
+ \g@addto@macro\@setmdseriesdefaultshook{%
+ \let\mdseries@mc\mddef@ult
+ \let\mdseries@gt\mddef@ult
+ \let\mdseries@jtt\mddef@ult
+ }
+\else % 2020-02-02
+ \expandafter\patchcmd\csname mdseries \endcsname{%
+ \let\mdseries@rm\mddef@ult
+ \let\mdseries@sf\mddef@ult
+ \let\mdseries@tt\mddef@ult
+ }{%
+ \let\mdseries@rm\mddef@ult
+ \let\mdseries@sf\mddef@ult
+ \let\mdseries@tt\mddef@ult
+ \let\mdseries@mc\mddef@ult
+ \let\mdseries@gt\mddef@ult
+ \let\mdseries@jtt\mddef@ult
+ }{}{}
+\fi
\expandafter\patchcmd\csname bfseries \endcsname{%
- \let\bfseries@rm\bfdef@ult
- \let\bfseries@sf\bfdef@ult
- \let\bfseries@tt\bfdef@ult
+ \ifx\f@family\rmdef@ult \fontseries\bfseries@rm
+ \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf
+ \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt
+ \else \fontseries\bfdefault
+ \fi\fi\fi
}{%
- \let\bfseries@rm\bfdef@ult
- \let\bfseries@sf\bfdef@ult
- \let\bfseries@tt\bfdef@ult
- \let\bfseries@mc\bfdef@ult
- \let\bfseries@gt\bfdef@ult
- \let\bfseries@jtt\bfdef@ult
+ \ifx\f@family\rmdef@ult \romanseries\bfseries@rm
+ \else\ifx\f@family\sfdef@ult \romanseries\bfseries@sf
+ \else\ifx\f@family\ttdef@ult \romanseries\bfseries@tt
+ \else \romanseries\bfdefault
+ \fi\fi\fi
}{}{}
\expandafter\patchcmd\csname mdseries \endcsname{%
- \let\mdseries@rm\mddef@ult
- \let\mdseries@sf\mddef@ult
- \let\mdseries@tt\mddef@ult
+ \ifx\f@family\rmdef@ult \fontseries\mdseries@rm
+ \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf
+ \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt
+ \else \fontseries\mddefault
+ \fi\fi\fi
}{%
- \let\mdseries@rm\mddef@ult
- \let\mdseries@sf\mddef@ult
- \let\mdseries@tt\mddef@ult
- \let\mdseries@mc\mddef@ult
- \let\mdseries@gt\mddef@ult
- \let\mdseries@jtt\mddef@ult
+ \ifx\f@family\rmdef@ult \romanseries\mdseries@rm
+ \else\ifx\f@family\sfdef@ult \romanseries\mdseries@sf
+ \else\ifx\f@family\ttdef@ult \romanseries\mdseries@tt
+ \else \romanseries\mddefault
+ \fi\fi\fi
}{}{}
\expandafter\patchcmd\csname bfseries \endcsname{\selectfont}%
{%
@@ -811,12 +895,21 @@
\fi\fi\fi
\selectfont
}{}{}
-\appto\expand@font@defaults{%
- \edef\mcdef@ult{\mcdefault}%
- \edef\gtdef@ult{\gtdefault}%
- \edef\jttdef@ult{\jttdefault}%
- \edef\kanjidef@ult{\kanjifamilydefault}%
-}
+\ifdefined\@expandfontdefaultshook % 2020-04-07
+ \g@addto@macro\@expandfontdefaultshook{%
+ \edef\mcdef@ult{\mcdefault}%
+ \edef\gtdef@ult{\gtdefault}%
+ \edef\jttdef@ult{\jttdefault}%
+ \edef\kanjidef@ult{\kanjifamilydefault}%
+ }
+\else % 2020-02-02
+ \appto\expand@font@defaults{%
+ \edef\mcdef@ult{\mcdefault}%
+ \edef\gtdef@ult{\gtdefault}%
+ \edef\jttdef@ult{\jttdefault}%
+ \edef\kanjidef@ult{\kanjifamilydefault}%
+ }
+\fi
\appto\init@series@setup{%
\ifx\kanjidef@ult\mcdef@ult \mcfamily
\else\ifx\kanjidef@ult\gtdef@ult \gtfamily
@@ -856,11 +949,8 @@
%%%%%% 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@kenc{#1}}
\let\extract@afont\extract@font
\def\pickup@jfont{%
@@ -960,7 +1050,7 @@
\aftergroup\subst@correction
}
\def\do@subst@correction{%
- \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}\ifin@%
+ \ltj@@is@kenc{\f@encoding}\ifin@%
\ltj@@ja@do@subst@correction
\else
\ltj@@al@do@subst@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@kenc{#3}}}
\let\ltj@@al@getanddefine@fonts=\getanddefine@fonts
\def\ltj@@ja@getanddefine@fonts#1#2{%
@@ -994,7 +1084,7 @@
}
\def\getanddefine@fonts#1#2{%
- \ltj@tempcnta=#1\ltj@@IsFontJapanese{\string#2}%
+ \ltj@tempcnta=#1\expandafter\ltj@@IsFontJapanese\string#2/\relax%
\ifin@\let\ltj@temp=\ltj@@ja@getanddefine@fonts%
\else \let\ltj@temp=\ltj@@al@getanddefine@fonts\fi
\ltj@temp{#1}{#2}%
@@ -1002,7 +1092,8 @@
\def\use@mathgroup#1#2{\relax\ifmmode
\math@bgroup
\expandafter\ifx\csname M@\f@encoding\endcsname#1\else
- #1\fi\ltj@tempcnta=#2 \expandafter\ltj@@mathJapaneseFonts\string#1\relax%
+ #1\fi\ltj@tempcnta=#2
+ \expandafter\ltj@@mathJapaneseFonts\string#1/\relax%
\ifin@\jfam#2\relax\else\mathgroup#2\relax\fi
\expandafter\math@egroup\fi}%
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
index 3e94cfba81..efd3360b9e 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
@@ -12,22 +12,19 @@
(lltjp-microtype.sty, 2019-11-08) may not work}
\patchcmd\MT@register@font
{\xdef\MT@font@list{\MT@font@list\MT@font,}}%
- {\directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
- \unless\ifin@
+ {\ltj@@is@kenc{\f@encoding}\unless\ifin@
\xdef\MT@font@list{\MT@font@list\MT@font,}%
\fi
}{}{}
\patchcmd\MT@register@subst@font
{\xdef\MT@font@list{\MT@font@list\font@name,}}%
- {\directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
- \unless\ifin@
+ {\ltj@@is@kenc{\f@encoding}\unless\ifin@
\xdef\MT@font@list{\MT@font@list\font@name,}%
\fi}{}{}
\let\ltj@MT@tracking@\MT@tracking@
\patchcmd\MT@tracking@
{\xdef\MT@tr@font@list{\MT@tr@font@list\MT@font,}}%
- {\directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
- \unless\ifin@
+ {\ltj@@is@kenc{\f@encoding}\unless\ifin@
\xdef\MT@tr@font@list{\MT@tr@font@list\MT@font,}%
\fi}{}{}
\ifx\MT@tracking\ltj@MT@tracking@\let\MT@tracking\MT@tracking@\fi
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
index d8c4055d14..79ba8cbcf5 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
@@ -26,13 +26,12 @@
\unless\ifltj@disablejfam
\cs_set:Npn \use@mathgroup #1 #2
{
- %\typeout{UM <#1><#2>}
\mode_if_math:T % <- not sure
{
\math@bgroup
\cs_if_eq:cNF {M@\f@encoding} #1 {#1}
\__um_switchto_literal:
- \ltj@tempcnta=#2 \expandafter\ltj@@mathJapaneseFonts\string#1\relax%
+ \ltj@tempcnta=#2 \expandafter\ltj@@mathJapaneseFonts\string#1/\relax%
\ifin@ \jfam #2 \relax \else \mathgroup #2 \relax \fi
\math@egroup
}