texlive[44225] Master/texmf-dist: pxrubrica (6may17)

commits+karl at tug.org commits+karl at tug.org
Sat May 6 23:40:43 CEST 2017


Revision: 44225
          http://tug.org/svn/texlive?view=revision&revision=44225
Author:   karl
Date:     2017-05-06 23:40:42 +0200 (Sat, 06 May 2017)
Log Message:
-----------
pxrubrica (6may17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/platex/pxrubrica/README-ja.md
    trunk/Master/texmf-dist/doc/platex/pxrubrica/README.md
    trunk/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.pdf
    trunk/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.tex
    trunk/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica.pdf
    trunk/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx
    trunk/Master/texmf-dist/tex/platex/pxrubrica/pxrubrica.sty

Modified: trunk/Master/texmf-dist/doc/platex/pxrubrica/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxrubrica/README-ja.md	2017-05-06 20:36:40 UTC (rev 44224)
+++ trunk/Master/texmf-dist/doc/platex/pxrubrica/README-ja.md	2017-05-06 21:40:42 UTC (rev 44225)
@@ -47,6 +47,9 @@
 更新履歴
 --------
 
+  * Version 1.3a 〈2017/05/05〉
+      - 縦数式組方向のための調整。
+      - バグ修正
   * Version 1.3  〈2017/04/27〉
       - 圏点出力機能(ルビ圏点同時付加を含む)。
       - 和文ゴースト処理の改良。

Modified: trunk/Master/texmf-dist/doc/platex/pxrubrica/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxrubrica/README.md	2017-05-06 20:36:40 UTC (rev 44224)
+++ trunk/Master/texmf-dist/doc/platex/pxrubrica/README.md	2017-05-06 21:40:42 UTC (rev 44225)
@@ -50,6 +50,9 @@
 Revision History
 ----------------
 
+  * Version 1.3a 〈2017/05/05〉
+      - Adjust for tate math direction.
+      - Bug fix.
   * Version 1.3  〈2017/04/27〉
       - Kenten function.
       - Improve Japanese-text ghost insertion.

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

Modified: trunk/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.tex	2017-05-06 20:36:40 UTC (rev 44224)
+++ trunk/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.tex	2017-05-06 21:40:42 UTC (rev 44225)
@@ -8,8 +8,8 @@
 \newcommand*{\Eg}{E.\,g.\mbox{}}
 \newcommand*{\eg}{e.\,g.\mbox{}}
 \newcommand*{\ie}{i.\,e.\mbox{}}
-\newcommand*{\myfileversion}{1.3}
-\newcommand*{\myfiledate}{2017/04/27}
+\newcommand*{\myfileversion}{1.3a}
+\newcommand*{\myfiledate}{2017/05/05}
 \newsavebox{\myexample}
 \begin{document}
 

Modified: trunk/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx
===================================================================
--- trunk/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx	2017-05-06 20:36:40 UTC (rev 44224)
+++ trunk/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx	2017-05-06 21:40:42 UTC (rev 44225)
@@ -20,7 +20,7 @@
 %<*driver>
 \ProvidesFile{pxrubrica.dtx}
 %</driver>
-  [2017/04/27 v1.3 PX Japanese-style ruby]
+  [2017/05/05 v1.3a PX Japanese-style ruby]
 %<*driver>
 \documentclass[uplatex]{jsarticle}
 \usepackage{doc}
@@ -170,7 +170,7 @@
 %     \texttt{g} & \fro{group}     & $B%0%k!<%W%k%S(B\\
 %     \texttt{j} & \fro{jukugo}    & $B=O8l%k%S(B\\
 %     \texttt{M} &                 & $B<+F0 at ZBX%b%N%k%S(B\\
-%     \texttt{G} &                 & $B<+F0 at ZBX%0%k!<%W%k%S(B
+%     \texttt{J} &                 & $B<+F0 at ZBX=O8l%k%S(B
 %   \end{tabular}\qquad
 %   \begin{tabular}[t]{l@{ }ll}
 %     \texttt{P} & \fro{primary}    & $B>eB&G[CV(B\\
@@ -200,8 +200,8 @@
 % \item |M| $B$*$h$S(B |J| $B$N;XDj$O(B
 %   $B!V%0%k!<%W%k%S$H%b%N!&=O8l%k%S$N4V$G<+F0E*$K at Z$jBX$($k!W(B
 %   $B at _Dj$G$"$k!#(B
-%   $B6qBNE*$K$O!"%k%S$N%0%k!<%W$,(B1$B$D$7$+$J$$>l9g$O(B |m| $B$*$h$S(B |g|$B!"(B
-%   $BJ#?t$"$k>l9g$O(B |g| $B$HEy2A$K$J$k!#(B
+%   $B6qBNE*$K$O!"%k%S$N%0%k!<%W$,(B1$B$D$7$+$J$$>l9g$O(B |g|$B!"(B
+%   $BJ#?t$"$k>l9g$O(B |m| $B$*$h$S(B |j| $B$HEy2A$K$J$k!#(B
 % \end{itemize}
 %
 % \jmeta{$B8eJd=u at _Dj(B}$B$O0J2<$NCM$N2?$l$+!#(B
@@ -391,7 +391,7 @@
 %
 % $B$J$*!"(B\jmeta{$BA0Jd=u at _Dj(B}$B!?(B\jmeta{$B8eJd=u at _Dj(B}$B$G;XDj$5$l$k5!G=$O!"(B
 % $B%4!<%9%H=hM}$,M-8z$N>l9g$K$OL58z2=$5$l$k!#(B
-% $B$3$l$i$N5!G=$NL\E*$,<+F0=hM}$,<:GT$9$k$N$rJa0o$9$k$?$a$@$+$i$G$"$k!#(B
+% $B$3$l$i$N5!G=$NL\E*$,<+F0=hM}$,<:GT$9$k$N$rJd=<$9$k$?$a$@$+$i$G$"$k!#(B
 %
 % \subsection{$B%Q%i%a%?@_DjL?Na(B}
 %
@@ -2274,6 +2274,14 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% {\LuaTeX}$B%(%s%8%s$N>l9g!"K\%Q%C%1!<%8MQ$N(BLua$B%b%8%e!<%k(B |pxrubtica|
+% $B$r:n at .$7$F$*$/!#(B
+%    \begin{macrocode}
+\ifpxrr at in@luatex
+  \directlua{ pxrubrica = {} }
+\fi
+%    \end{macrocode}
+%
 % \begin{macro}{\ifpxrr at in@luatexja}
 % \PKN{LuaTeX-ja}$B%Q%C%1!<%8$,;HMQ$5$l$F$$$k$+!#(B
 %    \begin{macrocode}
@@ -2366,19 +2374,30 @@
 %    \end{macrocode}
 % {p\TeX}$B7O$N>l9g!"(B|\iftdir| $B%W%j%_%F%#%V$rMxMQ$9$k!#(B
 % \Note |\iftdir| $B$,L$Dj5A$N$H$-$K(Bif$B$,IT6Q9U$K$J$k$N$rKI$0!#(B
+% \Note $BK\%Q%C%1!<%8$N=hM}$NHO0O$G$O!"=D?t<0AHJ}8~$O(B
+% $BC1$K!V=DAH$G$J$$!W$HH=Dj$9$k!#(B
+% $B!J(B|\ifmdir| $B$O?t<0AHJ}8~$rH=Dj$9$k%W%j%_%F%#%V!#!K(B
 %    \begin{macrocode}
   \begingroup \catcode`\|=0
     \gdef\pxrr at if@in at tate{%
-      \pxrr at cond|iftdir|fi
+      \pxrr at cond{\if
+          |iftdir|ifmdir F|else T|fi|else F|fi
+          T}\fi
     }
   \endgroup
 \else\ifpxrr at in@luatexja
 %    \end{macrocode}
-% Lua\TeX-ja$BMxMQ$N>l9g!"(B|direction| $B%Q%i%a%?$rMxMQ$9$k!#(B
+% {\LuaTeX-ja}$BMxMQ$N>l9g!"(B|direction| $B%Q%i%a%?$rMxMQ$9$k!#(B
+% \Note $B=DAHBP1~!J(B|\ltj at curtfnt| $B$,Dj5A:Q!K$G$J$$8E$$(B{\LuaTeX-ja}$B$N(B
+% $B>l9g$O>o$K2#AH$H8+$J$9!#(B
 %    \begin{macrocode}
-  \def\pxrr at if@in at tate{%
-    \pxrr at cond\ifnum\ltjgetparameter{direction}=\thr@@\fi
-  }
+  \ifx\ltj at curtfnt\@undefined
+    \let\pxrr at if@in at tate\@secondoftwo
+  \else
+    \def\pxrr at if@in at tate{%
+      \pxrr at cond\ifnum\ltjgetparameter{direction}=\thr@@\fi
+    }
+  \fi
 \else
 %    \end{macrocode}
 % $B$=$l0J30$O>o$K2#AH$H8+$J$9!#(B
@@ -2527,14 +2546,97 @@
 %    \begin{macrocode}
 \else\ifpxrr at in@luatexja
   \def\pxrr at get@iiskip#1{%
-    \edef#1{%
-      \ifnum\ltjgetparameter{autospacing}=\@ne
-        \ltjgetparameter{kanjiskip}%
-      \else \pxrr at zeropt
+    \ifnum\ltjgetparameter{autospacing}=\@ne
+      \xdef\pxrr at x@gtempa{\ltjgetparameter{kanjiskip}}%
+      \ifdim\glueexpr\pxrr at x@gtempa=\maxdimen
+%    \end{macrocode}
+% |kanjiskip|$B%Q%i%a%?$NCM$,(B |\maxdimen| $B$N>l9g!"(BJFM$B$N%Q%i%a%?$K(B
+% $B$h$jOB2$J84V6uGr$NNL$,7hDj$5$l$k!#(B
+% $B$3$NCM$rFI$_=P$98x<0$N%$%s%?%U%'!<%9$OB8:_$7$J$$$?$a!"(B
+% $B<B:]$NAHHG7k2L$+$i?dDj$9$k!#(B
+% $B!JCM$O(B |\pxrr at x@gtempa| $B$KJV$k!#!K(B
+%    \begin{macrocode}
+        \pxrr at get@interchar at glue{\pxrr at x@K\pxrr at x@K}%
+        \ifdim\glueexpr\pxrr at x@gtempa=\maxdimen
+%    \end{macrocode}
+% $B?dDj$,<:GT$7$?>l9g!#(B
+% $B7Y9p$r!J0lEY$@$1!K=P$7$?>e$G!"CM$r%<%m$H$7$F07$&!#(B
+%    \begin{macrocode}
+          \pxrr at warn@unknown at iiskip
+          \global\let\pxrr at x@gtempa\pxrr at zeropt
+        \fi
       \fi
-    }%
+      \let#1\pxrr at x@gtempa
+    \else
+      \let#1\pxrr at zeropt
+    \fi
   }
 %    \end{macrocode}
+% $BOBJ84V6uGr$N?dDj$K<:GT$7$?>l9g$N7Y9p!#(B
+%    \begin{macrocode}
+  \def\pxrr at warn@unknown at iiskip{%
+    \global\let\pxrr at warn@unknown at iiskip\relax
+    \pxrr at warn{Cannot find the kanjiskip value}%
+  }
+%    \end{macrocode}
+% $B%F%-%9%H(B |#1| $B$rAHHG$7$??eJ?%\%C%/%9$NCf$K$"$k!"(B
+% $B!HJ8;z4V%0%k!<!I$NCM$r(B |\pxrr at g@tempa| $B$KJV$9!#(B
+%    \begin{macrocode}
+  \def\pxrr at get@interchar at glue#1{%
+    \begingroup
+      \setbox\z@\hbox{#1}%
+%    \end{macrocode}
+% Lua$B$NJd=u4X?t$O=jK>$NCM$r(B |\skip0| $B$KJV$9!#(B
+% $B<:GT;~$N8!=P$N$?$a!"$3$N%l%8%9%?$r(B |\maxdimen| $B$G=i4|2=$9$k!#(B
+%    \begin{macrocode}
+      \skip\z@\maxdimen\relax
+      \directlua{%
+        pcall(pxrubrica._get_interchar_glue)
+      }%
+      \xdef\pxrr at x@gtempa{\the\skip\z@}%
+    \endgroup
+  }
+  \begingroup
+    \endlinechar=10 \directlua{%
+      local node, tex = node, tex
+      local id_glyph, id_glue = node.id("glyph"), node.id("glue")
+      local id_hlist = node.id("hlist")
+%    \end{macrocode}
+% |_get_interchar_glue()| $B$O(B |\box0| $B$N!HJ8;z4V%0%k!<!I$NNL$r(B
+% $B<hF@$7!"(B|\skip0| $B$KBeF~$9$k!#(B
+% $B<B:]$K$O!"!V:G=i$N(B glyph $B%N!<%I$N8e$K$"$k:G=i$N(B glue $B%N!<%I$r(B
+% $B!HJ8;z4V%0%k!<!I$HH=CG$7!"$=$NNL$rFI$_=P$9!#(B
+%    \begin{macrocode}
+      function pxrubrica._get_interchar_glue()
+        local c, n = false, tex.box[0].head
+        while n do
+%    \end{macrocode}
+% \Note 2014$BG/:"$N(B{\LuaTeX-ja}$B$G$OJ8;z$NItJ,$,(Bhlist$B%N!<%I$K$J$C$F$$$k!#(B
+%    \begin{macrocode}
+          if n.id == id_glyph or n.id == id_hlist then
+            c = true
+          elseif c and n.id == id_glue then
+%    \end{macrocode}
+% $B$3$3$G$N(B |n| $B$,!HJ8;z4V%0%k!<!I$N%N!<%I$G$"$k!#(B
+% \Note 0.85$BHG0J9_$N(B{\LuaTeX}$B$G$O!"(Bglue$B%N!<%I$KD>@\CM!J(B|n.width| $BEy!K(B
+% $B$,F~$C$F$$$k!#(B
+% $B$=$l$h$j8E$$HG$G$O!"(B|glue_spec| $B%G!<%?$r2p$7$?%$%s%?%U%'!<%9$K(B
+% $B$J$C$F$$$k!#(B
+%    \begin{macrocode}
+            if n.width then
+              tex.setglue(0, n.width, n.stretch, n.shrink,
+                  n.stretch_order, n.shrink_order)
+            elseif n.spec then
+              tex.setskip(0, node.copy(n.spec))
+            end
+            break
+          end
+          n = n.next
+        end
+      end
+    }%
+  \endgroup%
+%    \end{macrocode}
 %
 % $B$=$l0J30$N>l9g$O%<%m$H$9$k!#(B
 %    \begin{macrocode}
@@ -2573,17 +2675,35 @@
 %    \end{macrocode}
 %
 % \PKN{LuaTeX-ja}$B;HMQ$N>l9g!#(B
+% $B=hM}$NN.$l$OOBJ84V6uGr$N>l9g$HF1$8!#(B
 %    \begin{macrocode}
 \else\ifpxrr at in@luatexja
   \def\pxrr at get@iaiskip#1{%
-    \edef#1{%
-      \ifnum\ltjgetparameter{autoxspacing}=\@ne
-        \ltjgetparameter{xkanjiskip}%
-      \else \pxrr at zeropt
+    \ifnum\ltjgetparameter{autoxspacing}=\@ne
+      \xdef\pxrr at x@gtempa{\ltjgetparameter{xkanjiskip}}%
+      \ifdim\glueexpr\pxrr at x@gtempa=\maxdimen
+%    \end{macrocode}
+% $BH=DjMQ$N%\%C%/%9$O2$J8!&OBJ8$NAH$H$9$k!#(B
+%    \begin{macrocode}
+        \pxrr at get@interchar at glue{A\pxrr at x@K}%
+        \ifdim\glueexpr\pxrr at x@gtempa=\maxdimen
+          \pxrr at warn@unknown at iaiskip
+          \global\let\pxrr at x@gtempa\pxrr at zeropt
+        \fi
       \fi
-    }%
+      \let#1\pxrr at x@gtempa
+    \else
+      \let#1\pxrr at zeropt
+    \fi
   }
 %    \end{macrocode}
+% $BOB2$J84V6uGr$N?dDj$K<:GT$7$?>l9g$N7Y9p!#(B
+%    \begin{macrocode}
+  \def\pxrr at warn@unknown at iaiskip{%
+    \global\let\pxrr at warn@unknown at iaiskip\relax
+    \pxrr at warn{Cannot find the xkanjiskip value}%
+  }
+%    \end{macrocode}
 %
 % $B$=$l0J30$N>l9g$O<B:]$NAHHG7k2L$+$iH=CG$9$k!#(B
 %    \begin{macrocode}
@@ -6225,10 +6345,12 @@
   \hb at xt@\pxrr at dima{%
     \kern-.5\pxrr at dima
     \pxrr at if@in at tate{}{\lower.38\pxrr at dima}%
-    \hbox{%
+    \hb at xt@2\pxrr at dima{%
       \pxrr at dima=\f at size\p@
       \fontsize{2\pxrr at dima}{\z@}\selectfont
+      \hss
       \pxrr at ja@dot
+      \hss
     }%
     \hss
   }%

Modified: trunk/Master/texmf-dist/tex/platex/pxrubrica/pxrubrica.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxrubrica/pxrubrica.sty	2017-05-06 20:36:40 UTC (rev 44224)
+++ trunk/Master/texmf-dist/tex/platex/pxrubrica/pxrubrica.sty	2017-05-06 21:40:42 UTC (rev 44225)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{pxrubrica}
-  [2017/04/27 v1.3 PX Japanese-style ruby]
+  [2017/05/05 v1.3a PX Japanese-style ruby]
 \RequirePackage{keyval}
 \def\pxrr at pkgname{pxrubrica}
 \def\pxrr at error{%
@@ -524,6 +524,9 @@
 }{%
   \pxrr at csletcs{ifpxrr at in@luatex}{iffalse}%
 }
+\ifpxrr at in@luatex
+  \directlua{ pxrubrica = {} }
+\fi
 \@ifpackageloaded{luatexja-core}{%
   \pxrr at csletcs{ifpxrr at in@luatexja}{iftrue}%
 }{%
@@ -581,13 +584,19 @@
 \ifpxrr at in@ptex
   \begingroup \catcode`\|=0
     \gdef\pxrr at if@in at tate{%
-      \pxrr at cond|iftdir|fi
+      \pxrr at cond{\if
+          |iftdir|ifmdir F|else T|fi|else F|fi
+          T}\fi
     }
   \endgroup
 \else\ifpxrr at in@luatexja
-  \def\pxrr at if@in at tate{%
-    \pxrr at cond\ifnum\ltjgetparameter{direction}=\thr@@\fi
-  }
+  \ifx\ltj at curtfnt\@undefined
+    \let\pxrr at if@in at tate\@secondoftwo
+  \else
+    \def\pxrr at if@in at tate{%
+      \pxrr at cond\ifnum\ltjgetparameter{direction}=\thr@@\fi
+    }
+  \fi
 \else
   \let\pxrr at if@in at tate\@secondoftwo
 \fi\fi
@@ -654,13 +663,58 @@
   }
 \else\ifpxrr at in@luatexja
   \def\pxrr at get@iiskip#1{%
-    \edef#1{%
-      \ifnum\ltjgetparameter{autospacing}=\@ne
-        \ltjgetparameter{kanjiskip}%
-      \else \pxrr at zeropt
+    \ifnum\ltjgetparameter{autospacing}=\@ne
+      \xdef\pxrr at x@gtempa{\ltjgetparameter{kanjiskip}}%
+      \ifdim\glueexpr\pxrr at x@gtempa=\maxdimen
+        \pxrr at get@interchar at glue{\pxrr at x@K\pxrr at x@K}%
+        \ifdim\glueexpr\pxrr at x@gtempa=\maxdimen
+          \pxrr at warn@unknown at iiskip
+          \global\let\pxrr at x@gtempa\pxrr at zeropt
+        \fi
       \fi
+      \let#1\pxrr at x@gtempa
+    \else
+      \let#1\pxrr at zeropt
+    \fi
+  }
+  \def\pxrr at warn@unknown at iiskip{%
+    \global\let\pxrr at warn@unknown at iiskip\relax
+    \pxrr at warn{Cannot find the kanjiskip value}%
+  }
+  \def\pxrr at get@interchar at glue#1{%
+    \begingroup
+      \setbox\z@\hbox{#1}%
+      \skip\z@\maxdimen\relax
+      \directlua{%
+        pcall(pxrubrica._get_interchar_glue)
+      }%
+      \xdef\pxrr at x@gtempa{\the\skip\z@}%
+    \endgroup
+  }
+  \begingroup
+    \endlinechar=10 \directlua{%
+      local node, tex = node, tex
+      local id_glyph, id_glue = node.id("glyph"), node.id("glue")
+      local id_hlist = node.id("hlist")
+      function pxrubrica._get_interchar_glue()
+        local c, n = false, tex.box[0].head
+        while n do
+          if n.id == id_glyph or n.id == id_hlist then
+            c = true
+          elseif c and n.id == id_glue then
+            if n.width then
+              tex.setglue(0, n.width, n.stretch, n.shrink,
+                  n.stretch_order, n.shrink_order)
+            elseif n.spec then
+              tex.setskip(0, node.copy(n.spec))
+            end
+            break
+          end
+          n = n.next
+        end
+      end
     }%
-  }
+  \endgroup%
 \else
   \def\pxrr at get@iiskip#1{%
     \let#1\pxrr at zeropt
@@ -686,13 +740,24 @@
   }
 \else\ifpxrr at in@luatexja
   \def\pxrr at get@iaiskip#1{%
-    \edef#1{%
-      \ifnum\ltjgetparameter{autoxspacing}=\@ne
-        \ltjgetparameter{xkanjiskip}%
-      \else \pxrr at zeropt
+    \ifnum\ltjgetparameter{autoxspacing}=\@ne
+      \xdef\pxrr at x@gtempa{\ltjgetparameter{xkanjiskip}}%
+      \ifdim\glueexpr\pxrr at x@gtempa=\maxdimen
+        \pxrr at get@interchar at glue{A\pxrr at x@K}%
+        \ifdim\glueexpr\pxrr at x@gtempa=\maxdimen
+          \pxrr at warn@unknown at iaiskip
+          \global\let\pxrr at x@gtempa\pxrr at zeropt
+        \fi
       \fi
-    }%
+      \let#1\pxrr at x@gtempa
+    \else
+      \let#1\pxrr at zeropt
+    \fi
   }
+  \def\pxrr at warn@unknown at iaiskip{%
+    \global\let\pxrr at warn@unknown at iaiskip\relax
+    \pxrr at warn{Cannot find the xkanjiskip value}%
+  }
 \else
   \def\pxrr at get@iaiskip#1{%
     \begingroup
@@ -2692,10 +2757,12 @@
   \hb at xt@\pxrr at dima{%
     \kern-.5\pxrr at dima
     \pxrr at if@in at tate{}{\lower.38\pxrr at dima}%
-    \hbox{%
+    \hb at xt@2\pxrr at dima{%
       \pxrr at dima=\f at size\p@
       \fontsize{2\pxrr at dima}{\z@}\selectfont
+      \hss
       \pxrr at ja@dot
+      \hss
     }%
     \hss
   }%



More information about the tex-live-commits mailing list