OSDN Git Service

fix \ltjruby in non-yoko direction
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Fri, 10 Aug 2018 13:43:47 +0000 (22:43 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Fri, 10 Aug 2018 13:43:47 +0000 (22:43 +0900)
src/ltj-jfmglue.lua
src/ltj-ruby.lua

index 895cf9c..2a726e0 100644 (file)
@@ -280,17 +280,17 @@ local function check_next_ickern(lp)
 end
 
 local function calc_np_pbox(lp, last)
-   local first, lpa, nc = (not Np.first), KINSOKU, nil
+   local first, lpa, nc = (not Np.first), get_attr_icflag(lp), nil
    Np.first = Np.first or lp; Np.id = id_pbox
    set_attr(lp, attr_icflag, get_attr_icflag(lp));
    while lp ~=last and (lpa>=PACKED) and (lpa<BOXBDD) do
       local lpi = getid(lp)
-      if lpi==id_hlist or lpi==id_vlist then
+      if lpa==PACKED then
+         if lpi==id_rule then lp = node_next(lp) end
+        nc, lp = lp, node_next(lp)
+      elseif lpi==id_hlist or lpi==id_vlist then
         head, lp, nc = ltjd_make_dir_whatsit(head, lp, list_dir, 'jfm pbox')
         Np.first = first and nc or Np.first
-      elseif (lpi==id_rule) and (lpa==PACKED) then
-         lp = node_next(lp)
-        nc, lp = lp, node_next(lp)
       else
         nc, lp = lp, node_next(lp)
       end
index 22c7b85..b168823 100644 (file)
@@ -252,6 +252,7 @@ local function texiface_low(rst, rtlr, rtlp)
    setfield(w, 'value', to_node(wv))
    setfield(wv, 'type', 100)
    setfield(wv, 'value', floor(#rtlr))
+   setfield(wv, 'user_id', RUBY_PRE) -- dummy
    set_attr(wv, attr_ruby, rst.rubyzw)
    set_attr(wv, attr_ruby_maxmargin, rst.maxmargin)
    set_attr(wv, attr_ruby_maxprep, rst.pre)