From 7876940dc1281e7f3d7cff8c4be150e5881cc9bb Mon Sep 17 00:00:00 2001 From: Hironori Kitagawa Date: Thu, 25 Jul 2019 17:43:05 +0900 Subject: [PATCH] support \ltjjachar where <= 255 --- src/luatexja-core.sty | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/luatexja-core.sty b/src/luatexja-core.sty index e57739d..64448d0 100644 --- a/src/luatexja-core.sty +++ b/src/luatexja-core.sty @@ -477,14 +477,20 @@ %%%%%%%% \ltjalchar, \ltjjachar \let\ltj@@origchar=\char -\protected\def\ltj@alljachar{\relax - \csname ltj@kcat0\endcsname\z@ - \csname ltj@kcat1\endcsname\z@ - \csname ltj@kcat2\endcsname\z@ - \csname ltj@kcat3\endcsname\z@ - \csname ltj@kcat4\endcsname\z@ - \csname ltj@kcat5\endcsname\z@ - \csname ltj@kcat6\endcsname\z@} +\newluafunction\ltj@alljachar@inner +\directlua{ + local t, set_attr = lua.get_functions_table(), tex.setattribute + local get_attr, floor = tex.getattribute, math.floor + local attr_curjfnt = luatexbase.attributes['ltj@curjfnt'] + local lang_ja = luatexja.lang_ja + t[\the\ltj@alljachar@inner] = function() + font.current(get_attr(attr_curjfnt)); tex.language=lang_ja; + for i=0,6 do + set_attr(luatexbase.attributes['ltj@kcat' .. floor(i)],0) + end + end +} +\protected\def\ltj@alljachar{\luafunction\ltj@alljachar@inner} \protected\def\ltj@allalchar{\relax \csname ltj@kcat0\endcsname="7FFFFFFF %" \csname ltj@kcat1\endcsname="7FFFFFFF %" -- 2.11.0