From: Hironori Kitagawa Date: Wed, 12 Jan 2022 10:58:44 +0000 (+0900) Subject: \vadjust pre X-Git-Tag: 20220207.0~8 X-Git-Url: http://git.osdn.net/view?p=luatex-ja%2Fluatexja.git;a=commitdiff_plain;h=6d7ed5fa7c91771c7612a9c4a46322756d2041cf \vadjust pre --- diff --git a/src/ltj-direction.lua b/src/ltj-direction.lua index d7cdbd9..db32050 100644 --- a/src/ltj-direction.lua +++ b/src/ltj-direction.lua @@ -924,6 +924,11 @@ end -- adjust do local id_adjust = node.id 'adjust' + local scan_keyword = token.scan_keyword + function luatexja.direction.adjust_begin() + if scan_keyword 'pre' then tex.sprint(cat_lp, '\\ltj@@vadjust@pre') + else tex.sprint(cat_lp, '\\ltj@@vadjust@post') end + end function luatexja.direction.check_adjust_direction() start_time_measure 'box_primitive_hook' local list_dir = get_adjust_dir_count() diff --git a/src/luatexja-core.sty b/src/luatexja-core.sty index fb58eaf..cc49fbd 100644 --- a/src/luatexja-core.sty +++ b/src/luatexja-core.sty @@ -65,7 +65,7 @@ \expandafter\let\csname ifltj@in@latex\expandafter\endcsname \csname iftrue\endcsname \NeedsTeXFormat{LaTeX2e} - \ProvidesPackage{luatexja-core}[2021-05-21 Core of LuaTeX-ja] + \ProvidesPackage{luatexja-core}[2022-01-12 Core of LuaTeX-ja] \fi % %% Load prerequisite packages. @@ -623,19 +623,22 @@ %%%% vadjust \let\ltj@@orig@vadjust\vadjust +\newluafunction\ltj@@vadjust@begin@inner \newluafunction\ltj@@vadjust@dirhook@inner \newluafunction\ltj@@vadjust@check@dir@inner \directlua{ local t = lua.get_functions_table() + t[\the\ltj@@vadjust@begin@inner] = luatexja.direction.adjust_begin t[\the\ltj@@vadjust@dirhook@inner] = function () luatexja.direction.set_list_direction_hook('adj') end - t[\the\ltj@@vadjust@check@dir@inner] - = luatexja.direction.check_adjust_direction + t[\the\ltj@@vadjust@check@dir@inner] = luatexja.direction.check_adjust_direction } +\protected\luadef\ltj@@vadjust\ltj@@vadjust@begin@inner \luadef\ltj@@vadjust@dirhook\ltj@@vadjust@dirhook@inner \protected\luadef\ltj@@vadjust@check@dir\ltj@@vadjust@check@dir@inner -\protected\def\ltj@@vadjust{% - \ltj@@orig@vadjust\bgroup\ltj@@vadjust@dirhook +\def\ltj@@vadjust@pre{\ltj@@orig@vadjust pre\bgroup\ltj@@vadjust@dirhook + \aftergroup\ltj@@vadjust@check@dir\let\ltj@@next} +\def\ltj@@vadjust@post{\ltj@@orig@vadjust\bgroup\ltj@@vadjust@dirhook \aftergroup\ltj@@vadjust@check@dir\let\ltj@@next} \let\vadjust\ltj@@vadjust %% PRIMITIVE