OSDN Git Service

\vadjust pre
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Wed, 12 Jan 2022 10:58:44 +0000 (19:58 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Wed, 12 Jan 2022 10:58:44 +0000 (19:58 +0900)
src/ltj-direction.lua
src/luatexja-core.sty

index d7cdbd9..db32050 100644 (file)
@@ -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()
index fb58eaf..cc49fbd 100644 (file)
@@ -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                             %</LaTeX>
 
 %% Load prerequisite packages.
 
 %%%% 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