texlive[61936] Master/texmf-dist: luatexja (7feb22)

commits+karl at tug.org commits+karl at tug.org
Mon Feb 7 22:41:42 CET 2022


Revision: 61936
          http://tug.org/svn/texlive?view=revision&revision=61936
Author:   karl
Date:     2022-02-07 22:41:42 +0100 (Mon, 07 Feb 2022)
Log Message:
-----------
luatexja (7feb22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/luatex/luatexja/COPYING
    trunk/Master/texmf-dist/doc/luatex/luatexja/README
    trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
    trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
    trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
    trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-adjust.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-adjust.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua
    trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty
    trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty

Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/COPYING
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luatexja/COPYING	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/doc/luatex/luatexja/COPYING	2022-02-07 21:41:42 UTC (rev 61936)
@@ -1,4 +1,4 @@
-Copyright (c) 2011--2016 The LuaTeX-ja project, All rights reserved.
+Copyright (c) 2011--2022 The LuaTeX-ja project, All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:

Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/README
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luatexja/README	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/doc/luatex/luatexja/README	2022-02-07 21:41:42 UTC (rev 61936)
@@ -1,6 +1,6 @@
-The LuaTeX-ja Package 20220103.0
+The LuaTeX-ja Package 20220207.0
 --------------------------------
-Copyright (c) 2011--2021 The LuaTeX-ja project
+Copyright (c) 2011--2022 The LuaTeX-ja project
 License: modified BSD (see COPYING)
 
 LuaTeX-ja is a macro package for typesetting Japanese documents with LuaTeX.
@@ -42,9 +42,9 @@
 2. If you must/want to install manually:
 
    a. Download the source archive from CTAN,
-      or tagged as 20220103.0 in the Git repository by
+      or tagged as 20220207.0 in the Git repository by
       <http://git.osdn.jp/view?p=luatex-ja/luatexja.git
-                              ;a=snapshot;h=refs/tags/20220103.0;sf=tgz>
+                              ;a=snapshot;h=refs/tags/20220207.0;sf=tgz>
 
    b. Extract the archive and process following three files by LuaLaTeX
       to generate classes for Japanese typesetting:
@@ -93,4 +93,4 @@
   This file and ltj-kinsoku.lua are not used anymore.
   (Do not remove ltj-kinsoku.tex.)
 
-Last commit date: Mon Jan 3 12:19:51 2022 +0900
+Last commit date: Mon Feb 7 13:14:19 2022 +0900

Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx	2022-02-07 21:41:42 UTC (rev 61936)
@@ -7837,6 +7837,21 @@
   負数を指定すると,その絶対値が指定されたかのように扱われる.
   初期値は1(つまり\cs{lineskip}(の自然長))である.
 \end{cslist}
+
+さらに,バージョン20220207.0以降では次の命令が提供される:
+\begin{cslist}
+  \item[\cs{ltjghostjachar}]
+  \LuaTeX-ja本体が提供している\cs{ltjfakeparbegin}, \cs{ltjfakeboxbdd}と類似の命令である.
+  実行された箇所が(限定・非限定を問わず)水平モードであった場合に,実行された箇所は
+  「文字クラス0の\textbf{JAchar}」の直前かつ直後であると,\LuaTeX-jaの和文処理グルー挿入処理に認識させる.
+
+  主な仕様用途は和文ゴーストでの使用である.\Pkg{BXghost}パッケージ(\cite{bxghost})などでは
+  伝統的に全角空白(\texttt{U+3000})と\verb+\kern-1\zw+を組み合わせた方法が使われてきたが,
+  \LuaTeX-jaでは全角空白を使っただけではうまくいかない可能性があるため,新たに命令が用意された.
+
+  なお,本命令は将来的に\LuaTeX-ja本体に組み込む可能性もある.
+\end{cslist}
+
 %</ja>
 
 \subsection{\Pkg{luatexja-ruby}}
@@ -11922,6 +11937,7 @@
 \url{http://www.iso.org/iso/iso\_catalogue/catalogue_tc/catalogue\_detail.htm?csnumber=51502}
 \bibitem{tc18ltja} 北川弘典.「\LuaTeX-jaの近況」,\TeX Conf~2018.
   \url{https://osdn.net/projects/luatex-ja/wiki/Documentation/attach/tc18ltja.pdf}
+\bibitem{bxghost} Takuto ASAKURA. \newblock The \textsf{BXghost} Package. \url{https://github.com/wtsnjp/BXghost}
 \end{thebibliography}
 
 \end{document}

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-adjust.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-adjust.sty	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-adjust.sty	2022-02-07 21:41:42 UTC (rev 61936)
@@ -64,7 +64,7 @@
   \expandafter\let\csname ifltj at in@latex\expandafter\endcsname
     \csname iftrue\endcsname
   \NeedsTeXFormat{LaTeX2e}
-  \ProvidesPackage{luatexja-adjust}[2022-01-03]
+  \ProvidesPackage{luatexja-adjust}[2022-02-07]
 \fi                             %</LaTeX>
 
 % Load core module if not yet.
@@ -137,7 +137,15 @@
 \define at key[ltj]{japaram}{profile_hgap_factor}{%
   \directlua{luatexja.adjust.profile_hgap_factor = math.abs(#1)}\relax}
 
+\newluafunction\ltj@@ghost at jachar@inner
+\typeout{\the\ltj@@ghost at jachar@inner.}
+\directlua{
+  local t = lua.get_functions_table(); local cgj = luatexja.adjust.create_ghost_jachar_node;
+  t[\the\ltj@@ghost at jachar@inner] = function() cgj(0) end
+}%
+\protected\def\ltjghostjachar{\ifhmode\relax\luafunction\ltj@@ghost at jachar@inner\fi}
 
+
 %%------------------ all done
 \ltj at adjust@AtEnd
 \endinput

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-adjust.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-adjust.lua	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-adjust.lua	2022-02-07 21:41:42 UTC (rev 61936)
@@ -551,4 +551,40 @@
   end
 end
 
-
+do
+  local ltja = luatexja.adjust
+  local sid_user = node.subtype 'user_defined'
+  local node_remove = node.direct.remove
+  local node_write = node.direct.write
+  local GHOST_JACHAR = luatexbase.newuserwhatsitid('ghost of a jachar',  'luatexja')
+  luatexja.userid_table.GHOST_JACHAR = GHOST_JACHAR
+  function ltja.create_ghost_jachar_node(cl)
+    local tn = node_new(id_whatsit, sid_user)
+    setfield(tn, 'user_id', GHOST_JACHAR)
+    setfield(tn, 'type', 100)
+    setfield(tn, 'value', cl)
+    node_write(tn)
+  end
+  local function whatsit_callback(Np, lp, Nq)
+    if Np and Np.nuc then return Np
+    elseif Np and getfield(lp, 'user_id') == GHOST_JACHAR then
+      Np.first = lp; Np.nuc = lp; Np.last = lp; Np.class = getfield(lp,'value')
+      if Nq then Np.met = Nq.met; Np.pre = 0; Np.post = 0; Np.xspc = 3 end
+      Np.auto_kspc, Np.auto_xspc = (has_attr(lp, attr_autospc)==1), (has_attr(lp, attr_autoxspc)==1)
+      return Np
+    else return Np end
+  end
+  local function whatsit_after_callback(s, Nq, Np, head)
+    if not s and getfield(Nq.nuc, 'user_id') == GHOST_JACHAR then
+      local x, y = node_prev(Nq.nuc), Nq.nuc
+      Nq.first, Nq.nuc, Nq.last = x, x, x
+      if Np then Nq.met = Np.met end
+      s = node_remove(head, y); node_free(y)
+    end
+    return s
+  end
+  luatexbase.add_to_callback("luatexja.jfmglue.whatsit_getinfo", whatsit_callback,
+                             "ghost of a JACHAR", 1)
+  luatexbase.add_to_callback("luatexja.jfmglue.whatsit_after", whatsit_after_callback,
+                             "ghost of a JACHAR", 1)
+end

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua	2022-02-07 21:41:42 UTC (rev 61936)
@@ -924,6 +924,11 @@
 -- 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 at pre')
+      else tex.sprint(cat_lp, '\\ltj@@vadjust at post') end
+   end
    function luatexja.direction.check_adjust_direction()
       start_time_measure 'box_primitive_hook'
       local list_dir = get_adjust_dir_count()

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua	2022-02-07 21:41:42 UTC (rev 61936)
@@ -3,7 +3,7 @@
 --
 luatexbase.provides_module({
   name = 'luatexja.jfmglue',
-  date = '2022-01-02',
+  date = '2022-02-03',
   description = 'Insertion process of JFM glues, [x]kanjiskip and others',
 })
 luatexja.jfmglue = luatexja.jfmglue or {}
@@ -1104,7 +1104,9 @@
                       luatexbase.call_callback("luatexja.jfmglue.special_jaglue_after", Nq.nuc)
                    end,
       [id_pbox_w]= function()
-                      luatexbase.call_callback("luatexja.jfmglue.whatsit_after", false, Nq, Np)
+                      local hh = luatexbase.call_callback("luatexja.jfmglue.whatsit_after", false, Nq, Np, head)
+                      -- hh: new head of false (nott processed)
+                      if hh then head = hh end
                    end,
    }
 
@@ -1323,7 +1325,7 @@
       end
    end
 
-    local function whatsit_after_callback(s, Nq, Np)
+    local function whatsit_after_callback(s, Nq, Np, head)
        if not s and getfield(Nq.nuc, 'user_id') == BPAR then
          local x, y = node_prev(Nq.nuc), Nq.nuc
          Nq.first, Nq.nuc, Nq.last = x, x, x
@@ -1334,7 +1336,7 @@
             Nq.met = Np.met; Nq.pre = 0; Nq.post = 0; Nq.xspc = 0
             Nq.auto_xspc, Nq.auto_kspc = 0, 0
          end
-         head = node_remove(head, y)
+         s = node_remove(head, y)
          node_free(y)
        elseif not s and getfield(Nq.nuc, 'user_id') == BOXB then
          local x, y = node_prev(Nq.nuc), Nq.nuc
@@ -1346,7 +1348,7 @@
             Nq.met = Np.met; Nq.pre = 0; Nq.post = 0; Nq.xspc = 0
             Nq.auto_xspc, Nq.auto_kspc = 0, 0
          end
-         head = node_remove(head, y)
+         s = node_remove(head, y)
          node_free(y)
       end
       return s

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty	2022-02-07 21:41:42 UTC (rev 61936)
@@ -88,7 +88,7 @@
 \ltjdefcharrange{4}{%
    "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
   "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
-  "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
+  "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFEF, "1B170-"1F0FF,
   "1F300-"1FFFF, "2000-"206F
 } % non-Japanese
 \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
@@ -95,7 +95,7 @@
 \ltjdefcharrange{6}{%
   "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
   "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF,
-  "1B000-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF
+  "1AFF0-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF
 }
 \ltjdefcharrange{7}{%
   "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF,

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua	2022-02-07 21:41:42 UTC (rev 61936)
@@ -3,7 +3,7 @@
 --
 luatexbase.provides_module({
   name = 'luatexja.ruby',
-  date = '2021-05-04',
+  date = '2022-02-03',
   description = 'Ruby annotation',
 })
 luatexja.ruby = {}
@@ -764,7 +764,7 @@
    end
    local RIPOST = luatexja.stack_table_index.RIPOST
    local abs = math.abs
-   local function whatsit_after_callback(s, Nq, Np)
+   local function whatsit_after_callback(s, Nq, Np, head)
       if not s and  getfield(Nq.nuc, 'user_id') == RUBY_PRE then
          if Np then
             local last_glue = node_new(id_glue)
@@ -802,7 +802,7 @@
                rst.post = 0
             end
          end
-         return true
+         return head
       else
          return s
       end

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty	2022-02-07 21:41:42 UTC (rev 61936)
@@ -65,7 +65,7 @@
   \expandafter\let\csname ifltj at 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.
@@ -623,20 +623,23 @@
 
 %%%% vadjust
 \let\ltj@@orig at vadjust\vadjust
+\newluafunction\ltj@@vadjust at begin@inner
 \newluafunction\ltj@@vadjust at dirhook@inner
 \newluafunction\ltj@@vadjust at check@dir at inner
 \directlua{
   local t = lua.get_functions_table()
+  t[\the\ltj@@vadjust at begin@inner] = luatexja.direction.adjust_begin
   t[\the\ltj@@vadjust at dirhook@inner]
     = function () luatexja.direction.set_list_direction_hook('adj') end
-  t[\the\ltj@@vadjust at check@dir at inner]
-    = luatexja.direction.check_adjust_direction
+  t[\the\ltj@@vadjust at check@dir at inner] = luatexja.direction.check_adjust_direction
 }
+\protected\luadef\ltj@@vadjust\ltj@@vadjust at begin@inner
 \luadef\ltj@@vadjust at dirhook\ltj@@vadjust at dirhook@inner
 \protected\luadef\ltj@@vadjust at check@dir\ltj@@vadjust at check@dir at inner
-\protected\def\ltj@@vadjust{%
-  \ltj@@orig at vadjust\bgroup\ltj@@vadjust at dirhook
+\def\ltj@@vadjust at pre{\ltj@@orig at vadjust pre\bgroup\ltj@@vadjust at dirhook
   \aftergroup\ltj@@vadjust at check@dir\let\ltj@@next}
+\def\ltj@@vadjust at post{\ltj@@orig at vadjust\bgroup\ltj@@vadjust at dirhook
+  \aftergroup\ltj@@vadjust at check@dir\let\ltj@@next}
 \let\vadjust\ltj@@vadjust %% PRIMITIVE
 
 %%%% \hbox, \vbox, \vtop

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty	2022-02-07 21:41:42 UTC (rev 61936)
@@ -27,7 +27,7 @@
 \newif\ifltj at disablejfam
 
 %%%% VERSION
-\def\LuaTeXjaversion{20220103.0}
+\def\LuaTeXjaversion{20220207.0}
 
 %% Check if LaTeX is used.
 \begingroup\expandafter\expandafter\expandafter\endgroup

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty	2022-02-07 21:41:42 UTC (rev 61936)
@@ -3,7 +3,7 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjcore}[2021-03-25 Patch to LaTeX2e Kernel for LuaTeX-ja]
+\ProvidesPackage{lltjcore}[2022-01-17 Patch to LaTeX2e Kernel for LuaTeX-ja]
 \RequirePackage{etoolbox}
 
 %%% expl3
@@ -208,7 +208,7 @@
   \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}
 \begingroup
 \@ifpackageloaded{hyperref}
-  {\def\ltj at setrefprefix{real}}
+  {\ifdefined\real at setref\def\ltj at setrefprefix{real}\else\def\ltj at setrefprefix{}\fi}
   {\def\ltj at setrefprefix{}}
 \expandafter\gdef\csname \ltj at setrefprefix @setref\endcsname#1#2#3{%
   \ifx#1\relax

Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty	2022-02-07 21:40:53 UTC (rev 61935)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty	2022-02-07 21:41:42 UTC (rev 61936)
@@ -3,7 +3,7 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjdefs}[2021-04-29 Default font settings of LuaTeX-ja]
+\ProvidesPackage{lltjdefs}[2022-01-23 Default font settings of LuaTeX-ja]
 
 \ifdefined\ltj at stdmcfont\else\def\ltj at stdmcfont{file:HaranoAjiMincho-Regular.otf}\fi
 \ifdefined\ltj at stdgtfont\else\def\ltj at stdgtfont{file:HaranoAjiGothic-Medium.otf}\fi
@@ -151,7 +151,7 @@
 \ltjdefcharrange{4}{%
    "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
   "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
-  "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
+  "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFEF, "1B170-"1F0FF,
   "1F300-"1FFFF, "2000-"206F
 } % non-Japanese
 \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
@@ -158,7 +158,7 @@
 \ltjdefcharrange{6}{%
   "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
   "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF,
-  "1B000-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF
+  "1AFF0-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF
 }
 \ltjdefcharrange{7}{%
   "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF,



More information about the tex-live-commits mailing list.