summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/platex/pxrubrica
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-04-10 21:39:50 +0000
committerKarl Berry <karl@freefriends.org>2017-04-10 21:39:50 +0000
commit274530355cd8be6472559c87f6e1a2b34e54970e (patch)
tree10789d4a03679db47d70901d2e2d31ef77faddc3 /Master/texmf-dist/source/platex/pxrubrica
parent553fc76e143dd5a37bfc90a2035b9f5412143169 (diff)
pxrubrica (10apr17)
git-svn-id: svn://tug.org/texlive/trunk@43733 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/platex/pxrubrica')
-rw-r--r--Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx504
1 files changed, 420 insertions, 84 deletions
diff --git a/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx b/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx
index e76781e85be..c2c286306e3 100644
--- a/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx
+++ b/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx
@@ -1,23 +1,16 @@
% ^^A -*- japanese-latex -*-
% \iffalse meta-comment
%
+% This is file 'pxrubrica.dtx'.
+%
+% Copyright (c) 2017 Takayuki YATO (aka. "ZR")
+% GitHub: https://github.com/zr-tex8r
+% Twitter: @zr_tex8r
+%
+% This package is distributed under the MIT License.
+%
% \fi
% \CheckSum{0}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
%
% \iffalse
%
@@ -27,7 +20,7 @@
%<*driver>
\ProvidesFile{pxrubrica.dtx}
%</driver>
- [2014/12/23 v1.0a PX Japanese-style ruby]
+ [2017/04/10 v1.1 PX Japanese-style ruby]
%<*driver>
\documentclass{jsarticle}
\usepackage{doc}
@@ -51,6 +44,10 @@
\newcommand*{\pad}{\hspace{0pt plus 10pt}\linebreak[0]}
\newcommand*{\Means}{$B!'(B\ }
\newcommand*{\Note}{\par\noindent $B"((B\ }
+\providecommand*{\pTeX}{p\TeX}
+\providecommand*{\upTeX}{u\pTeX}
+\providecommand*{\XeTeX}{XeTeX}
+\providecommand*{\LuaTeX}{Lua\TeX}
\inhibitxspcode`$B!?(B=0
\begin{document}
\DocInput{pxrubrica.dtx}
@@ -716,6 +713,19 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\pxrr@warn@load@order}
+% Unicode {\TeX}$BMQ$NF|K\8lAHHG%Q%C%1!<%8!J(BLua{\TeX}-ja$BEy!K$O(B
+% $B$3$N%Q%C%1!<%8$h$jA0$KFI$_9~$`$Y$-$@$,!"8e$GFI$_9~$^$l$F$$$k(B
+% $B$3$H$,H=L@$7$?>l9g!#(B
+% \begin{macrocode}
+\def\pxrr@warn@load@order#1{%
+ \pxrr@warn{%
+ This package should be loaded after '#1'%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\pxrr@interror}
% $BFbIt%(%i!<!#(B
% $B$3$l$,=P$F$O$$$1$J$$!#(B{\small\texttt{:-)}}
@@ -882,7 +892,16 @@
% $B!J(B|\ruby[no]breakjukugo|$B!K!#(B
% $B%9%$%C%A!#(B
% \begin{macrocode}
-\newif\ifpxrr@break@jukugo \pxrr@edge@adjustfalse
+\newif\ifpxrr@break@jukugo \pxrr@break@jukugofalse
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifpxrr@safe@mode}
+% $B0BA4%b!<%I$G$"$k$+!#(B
+% $B!J(B|\ruby[no]safemode|$B!K!#(B
+% $B%9%$%C%A!#(B
+% \begin{macrocode}
+\newif\ifpxrr@safe@mode \pxrr@safe@modefalse
% \end{macrocode}
% \end{macro}
%
@@ -910,7 +929,7 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\ifpxrr@d@athead}
+% \begin{macro}{\pxrr@d@athead}
% $B8*IU$-!?CfIU$-$N@_Dj!#(B
% |\rubysetup| $B$N(B |c|$B!?(B|h|$B!?(B|H| $B$N@_Dj!#(B
% 0 = $BCfIU$-!J(B|c|$B!K!((B
@@ -1036,6 +1055,14 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\ifpxrr@athead@iven}
+% $B8*IU$-!?CfIU$-$N@_Dj$,L@<(E*$G$"$k$+!#(B
+% $B%9%$%C%A!#(B
+% \begin{macrocode}
+\newif\ifpxrr@athead@given \pxrr@athead@givenfalse
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\pxrr@mode}
% $B%b%N%k%S!J(B|m|$B!K!&%0%k!<%W%k%S!J(B|g|$B!K!&=O8l%k%S!J(B|j|$B!K$N$$$:$l$+!#(B
% |\ruby| $B$N%*%W%7%g%s$N@_DjCM!#(B
@@ -1045,6 +1072,15 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\ifpxrr@mode@given}
+% $B4pK\%b!<%I$N@_Dj$,L@<(E*$G$"$k$+!#(B
+% $B%9%$%C%A!#(B
+% \begin{macrocode}
+\newif\ifpxrr@mode@given \pxrr@mode@givenfalse
+\newif\ifpxrr@afintr \pxrr@afintrfalse
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\ifpxrr@abody}
% $B%k%S$,(B |\aruby|$B!J2$J8?FJ8;zMQ!K$G$"$k$+!#(B
% $B%9%$%C%A!#(B
@@ -1074,6 +1110,16 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\pxrr@revensp}
+% $B%k%SJ8;zNs6QEy3d$j$N@_Dj!#(B
+% 0 = $BL58z!((B1 = $BM-8z!#(B
+% $B@0?tDj?t!#(B
+% \Note $BDL>o$OM-8z$@$,!"0BA4%b!<%I$G$OL58z$K$J$k!#(B
+% \begin{macrocode}
+\chardef\pxrr@revensp=1
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\pxrr@fullsize}
% $B>.=q$-J8;zJQ49$N@_Dj!#(B
% 0 = $BL58z!((B1 = $BM-8z!#(B
@@ -1638,7 +1684,7 @@
% \end{macro}
%
% \begin{macro}{\ifpxrr@in@ptex}
-% $B%(%s%8%s$,(B {p\TeX} $B7O!J(B{up\TeX} $B7O$r4^$`!K$G$"$k$+!#(B
+% $B%(%s%8%s$,(B{\pTeX}$B7O!J(B{\upTeX}$B7O$r4^$`!K$G$"$k$+!#(B
% |\kansuji| $B$N%W%j%_%F%#%V%F%9%H$GH=Dj$9$k!#(B
% \begin{macrocode}
\pxrr@ifprimitive\kansuji{%
@@ -1650,7 +1696,7 @@
% \end{macro}
%
% \begin{macro}{\ifpxrr@in@uptex}
-% $B%(%s%8%s$,(B {up\TeX} $B7O$G$"$k$+!#(B
+% $B%(%s%8%s$,(B{\upTeX}$B7O$G$"$k$+!#(B
% |\enablecjktoken| $B$N%W%j%_%F%#%V%F%9%H$GH=Dj$9$k!#(B
% \begin{macrocode}
\pxrr@ifprimitive\enablecjktoken{%
@@ -1662,7 +1708,7 @@
% \end{macro}
%
% \begin{macro}{\ifpxrr@in@xetex}
-% $B%(%s%8%s$,(B {XeTeX} $B7O$G$"$k$+!#(B
+% $B%(%s%8%s$,(B{\XeTeX}$B7O$G$"$k$+!#(B
% |\XeTeXrevision| $B$N%W%j%_%F%#%V%F%9%H$GH=Dj$9$k!#(B
% \begin{macrocode}
\pxrr@ifprimitive\XeTeXrevision{%
@@ -1673,16 +1719,82 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\ifpxrr@in@xecjk}
+% \PKN{xeCJK}$B%Q%C%1!<%8$,;HMQ$5$l$F$$$k$+!#(B
+% \begin{macrocode}
+\@ifpackageloaded{xeCJK}{%
+ \pxrr@csletcs{ifpxrr@in@xecjk}{iftrue}%
+}{%
+ \pxrr@csletcs{ifpxrr@in@xecjk}{iffalse}%
+% \end{macrocode}
+% $B$3$3$GL$FI9~$G$+$D%W%j%"%s%V%kKvHx$GFI$_9~$^$l$F$$$k>l9g$O7Y9p$9$k!#(B
+% \begin{macrocode}
+ \AtBeginDocument{%
+ \@ifpackageloaded{xeCJK}{%
+ \pxrr@warn@load@order{xeCJK}%
+ }{}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifpxrr@in@luatex}
+% $B%(%s%8%s$,(B{\LuaTeX}$B7O$G$"$k$+!#(B
+% |\luatexrevision| $B$N%W%j%_%F%#%V%F%9%H$GH=Dj$9$k!#(B
+% \begin{macrocode}
+\pxrr@ifprimitive\luatexrevision{%
+ \pxrr@csletcs{ifpxrr@in@luatex}{iftrue}%
+}{%
+ \pxrr@csletcs{ifpxrr@in@luatex}{iffalse}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifpxrr@in@luatexja}
+% \PKN{LuaTeX-ja}$B%Q%C%1!<%8$,;HMQ$5$l$F$$$k$+!#(B
+% \begin{macrocode}
+\@ifpackageloaded{luatexja-core}{%
+ \pxrr@csletcs{ifpxrr@in@luatexja}{iftrue}%
+}{%
+ \pxrr@csletcs{ifpxrr@in@luatexja}{iffalse}%
+ \AtBeginDocument{%
+ \@ifpackageloaded{luatexja-core}{%
+ \pxrr@warn@load@order{LuaTeX-ja}%
+ }{}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\ifpxrr@in@xetex
+\else\ifpxrr@in@luatex
+\else\ifpxrr@in@ptex
+\else
+ \pxrr@ifprimitive\pdftexrevision{%
+ \pxrr@warn{%
+ The engine in use seems to be pdfTeX,\MessageBreak
+ so safe mode is turned on%
+ }%
+ \AtEndOfPackage{%
+ \rubysafemode
+ }%
+ }
+\fi\fi\fi
+% \end{macrocode}
+%
% \begin{macro}{\ifpxrr@in@unicode}
% $B!VOBJ8!WFbIt%3!<%I$,(BUnicode$B$G$"$k$+!#(B
% \begin{macrocode}
\ifpxrr@in@xetex
\pxrr@csletcs{ifpxrr@in@unicode}{iftrue}%
+\else\ifpxrr@in@luatex
+ \pxrr@csletcs{ifpxrr@in@unicode}{iftrue}%
\else\ifpxrr@in@uptex
\pxrr@csletcs{ifpxrr@in@unicode}{iftrue}%
\else
\pxrr@csletcs{ifpxrr@in@unicode}{iffalse}%
-\fi\fi
+\fi\fi\fi
% \end{macrocode}
% \end{macro}
%
@@ -1737,21 +1849,36 @@
% \begin{macro}{\pxrr@get@jchar@token}
% |\pxrr@get@jchar@token\CS{|\jmeta{$B@0?t(B}|}|\Means
% $BFbItJ8;z%3!<%I$,(B\jmeta{$B@0?t(B}$B$G$"$kOBJ8J8;z$N%H!<%/%s$rF@$k!#(B
+%
+% {\pTeX}$B7O$N>l9g!#(B|\kansuji| $B%H%j%C%/$rMxMQ$9$k!#(B
% \begin{macrocode}
-\def\pxrr@get@jchar@token#1#2{%
- \begingroup
- \kansujichar\@ne=#2\relax
- \xdef\pxrr@x@gtempa{\kansuji\@ne}%
- \endgroup
- \let#1\pxrr@x@gtempa
-}
-\ifpxrr@in@unicode\else
- \ifpxrr@in@ptex\else
- \def\pxrr@get@jchar@token#1#2{%
- \def#1{?}%
- }
- \fi
-\fi
+\ifpxrr@in@ptex
+ \def\pxrr@get@jchar@token#1#2{%
+ \begingroup
+ \kansujichar\@ne=#2\relax
+ \xdef\pxrr@x@gtempa{\kansuji\@ne}%
+ \endgroup
+ \let#1\pxrr@x@gtempa
+ }
+% \end{macrocode}
+% Unicode$BBP1~(B{\TeX}$B$N>l9g!#(B|\lowercase| $B%H%j%C%/$rMxMQ$9$k!#(B
+% \begin{macrocode}
+\else\ifpxrr@in@unicode
+ \def\pxrr@get@jchar@token#1#2{%
+ \begingroup
+ \lccode`\?=#2\relax
+ \lowercase{\xdef\pxrr@x@gtempa{?}}%
+ \endgroup
+ \let#1\pxrr@x@gtempa
+ }
+% \end{macrocode}
+% $B$=$l0J30$G$O%@%_!<Dj5A!#(B
+% \begin{macrocode}
+\else
+ \def\pxrr@get@jchar@token#1#2{%
+ \def#1{?}%
+ }
+\fi\fi
% \end{macrocode}
% \end{macro}
%
@@ -1765,6 +1892,8 @@
% \begin{macro}{\pxrr@get@iiskip}
% |\pxrr@get@iiskip\CS|\Means
% $B8=:_$N<B8z$NOBJ84V6uGr$NNL$r<hF@$9$k!#(B
+%
+% {\pTeX}$B7O$N>l9g!#(B
% \begin{macrocode}
\ifpxrr@in@ptex
\def\pxrr@get@iiskip#1{%
@@ -1791,17 +1920,36 @@
\fi
}%
}
+% \end{macrocode}
+%
+% \PKN{LuaTeX-ja}$B;HMQ$N>l9g!#(B
+% \begin{macrocode}
+\else\ifpxrr@in@luatexja
+ \def\pxrr@get@iiskip#1{%
+ \edef#1{%
+ \ifnum\ltjgetparameter{autospacing}=\@ne
+ \ltjgetparameter{kanjiskip}%
+ \else \pxrr@zeropt
+ \fi
+ }%
+ }
+% \end{macrocode}
+%
+% $B$=$l0J30$N>l9g$O%<%m$H$9$k!#(B
+% \begin{macrocode}
\else
\def\pxrr@get@iiskip#1{%
\let#1\pxrr@zeropt
}
-\fi
+\fi\fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\pxrr@get@iaiskip}
% |\pxrr@get@iaiskip\CS|\Means
% $B8=:_$N<B8z$NOB2$J84V6uGr$NNL$r<hF@$9$k!#(B
+%
+% {\pTeX}$B7O$N>l9g!#(B
% \begin{macrocode}
\ifpxrr@in@ptex
\def\pxrr@get@iaiskip#1{%
@@ -1821,29 +1969,118 @@
\fi
}%
}
-\else
+% \end{macrocode}
+%
+% \PKN{LuaTeX-ja}$B;HMQ$N>l9g!#(B
+% \begin{macrocode}
+\else\ifpxrr@in@luatexja
\def\pxrr@get@iaiskip#1{%
- \let#1\pxrr@zeropt
+ \edef#1{%
+ \ifnum\ltjgetparameter{autoxspacing}=\@ne
+ \ltjgetparameter{xkanjiskip}%
+ \else \pxrr@zeropt
+ \fi
+ }%
}
-\fi
+% \end{macrocode}
+%
+% $B$=$l0J30$N>l9g$O<B:]$NAHHG7k2L$+$iH=CG$9$k!#(B
+% \begin{macrocode}
+\else
+ \def\pxrr@get@iaiskip#1{%
+ \begingroup
+ \setbox\z@\hbox{M\pxrr@x@K}%
+ \setbox\tw@\hbox{M\vrule\@width\z@\relax\pxrr@x@K}%
+ \@tempdima\wd\z@ \advance\@tempdima-\wd\tw@
+ \@tempdimb\@tempdima \divide\@tempdimb\thr@@
+ \xdef\pxrr@x@gtempa{\the\@tempdima\space minus \the\@tempdimb}%
+ \endgroup
+ \let#1=\pxrr@x@gtempa
+ }%
+\fi\fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\pxrr@get@zwidth}
% |\pxrr@get@zwidth\CS|\Means
% $B8=:_$NOBJ8%U%)%s%H$NA43QI}$r<hF@$9$k!#(B
+%
+% {\pTeX}$B$N>l9g!"(B|1zw| $B$G$h$$!#(B
% \begin{macrocode}
\ifpxrr@in@ptex
\def\pxrr@get@zwidth#1{%
\@tempdima=1zw\relax
\edef#1{\the\@tempdima}%
}
+% \end{macrocode}
+%
+% |\zw| $B$,Dj5A$5$l$F$$$k>l9g$O(B |1\zw| $B$H$9$k!#(B
+% \begin{macrocode}
+\else\if\ifx\zw\@undefined T\else F\fi F% if defined
+ \def\pxrr@get@zwidth#1{%
+ \@tempdima=1\zw\relax
+ \edef#1{\the\@tempdima}%
+ }
+% \end{macrocode}
+%
+% |\jsZw| $B$,Dj5A$5$l$F$$$k>l9g$O(B |1\jsZw| $B$H$9$k!#(B
+% \begin{macrocode}
+\else\if\ifx\jsZw\@undefined T\else F\fi F% if defined
+ \def\pxrr@get@zwidth#1{%
+ \@tempdima=1\jsZw\relax
+ \edef#1{\the\@tempdima}%
+ }
+% \end{macrocode}
+%
+% $B$=$l0J30$G!"(B|\pxrr@x@K| $B$,M-8z$J>l9g$O<B:]$NAHHG7k2L$+$iH=CG$9$k!#(B
+% \begin{macrocode}
+\else\ifnum\pxrr@x@K>\@cclv
+ \def\pxrr@get@zwidth#1{%
+ \setbox\tw@\hbox{\pxrr@x@K}%
+ \@tempdima\wd\tw@
+ \ifdim\@tempdima>\z@\else \@tempdima\f@size\p@ \fi
+ \edef#1{\the\@tempdima}%
+ }
+% \end{macrocode}
+%
+% $B$=$l0J30$N>l9g$OMW5a%5%$%:$HEy$7$$$H$9$k!#(B
+% \begin{macrocode}
\else
\def\pxrr@get@zwidth#1{%
- \@tempdima=1em\relax
+ \@tempdima\f@size\p@\relax
\edef#1{\the\@tempdima}%
}
-\fi
+\fi\fi\fi\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@get@prebreakpenalty}
+% |\pxrr@get@prebreakpenalty\CS{|\jmeta{$BJ8;z(B}|}|\Means
+% $BJ8;z$NA06XB'%Z%J%k%F%#CM$r@0?t%l%8%9%?$KBeF~$9$k!#(B
+%
+% {\pTeX}$B$N>l9g!"(B|\prebreakpenalty| $B$r;H$&!#(B
+% \begin{macrocode}
+\ifpxrr@in@ptex
+ \def\pxrr@get@prebreakpenalty#1#2{%
+ #1=\prebreakpenalty`#2\relax
+ }
+% \end{macrocode}
+%
+% \PKN{LuaTeX-ja}$B;HMQ;~$O!"(Bprebreakpenalty $B%W%m%Q%F%#$rFI$_=P$9!#(B
+% \begin{macrocode}
+\else\ifpxrr@in@luatexja
+ \def\pxrr@get@prebreakpenalty#1#2{%
+ #1=\ltjgetparameter{prebreakpenalty}{`#2}\relax
+ }
+% \end{macrocode}
+%
+% $B$=$l0J30$N>l9g$O%<%m$H$7$F07$&!#(B
+% \begin{macrocode}
+\else
+ \def\pxrr@get@prebreakpenalty#1#2{%
+ #1=\z@
+ }
+\fi\fi
% \end{macrocode}
% \end{macro}
%
@@ -1944,6 +2181,7 @@
% \begin{macrocode}
\newcommand*\rubyuseaghost{%
\pxrr@aghosttrue
+ \pxrr@setup@aghost
}
\newcommand*\rubynouseaghost{%
\pxrr@aghostfalse
@@ -1980,6 +2218,20 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\rubysafemode}
+% \begin{macro}{\rubynosafemode}
+% $BBP1~$9$k%9%$%C%A$r@_Dj$9$k!#(B
+% \begin{macrocode}
+\newcommand*\rubysafemode{%
+ \pxrr@safe@modetrue
+}
+\newcommand*\rubynosafemode{%
+ \pxrr@safe@modefalse
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\rubystretchprop}
% \begin{macro}{\rubystretchprophead}
% \begin{macro}{\rubystretchpropend}
@@ -2074,6 +2326,11 @@
\pxrr@bfintrfalse
\pxrr@afintrfalse
% \end{macrocode}
+% $BL@<(%U%i%0$r56$K$9$k!#(B
+% \begin{macrocode}
+ \pxrr@mode@givenfalse
+ \pxrr@athead@givenfalse
+% \end{macrocode}
% $BM-8B>uBV5!3#$r3+;O$5$;$k!#(B
% $BF~NO$NKvHx$K(B |@| $B$r2C$($F$$$k!#(B
% |\pxrr@end| $B$O%(%i!<;~$NC&=P$KMQ$$$k!#(B
@@ -2263,21 +2520,27 @@
}
\def\pxrr@po@PR@c{%
\chardef\pxrr@athead\z@
+ \pxrr@athead@giventrue
}
\def\pxrr@po@PR@h{%
\chardef\pxrr@athead\@ne
+ \pxrr@athead@giventrue
}
\def\pxrr@po@PR@H{%
\chardef\pxrr@athead\tw@
+ \pxrr@athead@giventrue
}
\def\pxrr@po@PR@m{%
\let\pxrr@mode=m%
+ \pxrr@mode@giventrue
}
\def\pxrr@po@PR@g{%
\let\pxrr@mode=g%
+ \pxrr@mode@giventrue
}
\def\pxrr@po@PR@j{%
\let\pxrr@mode=j%
+ \pxrr@mode@giventrue
}
\def\pxrr@po@PR@P{%
\chardef\pxrr@side\z@
@@ -2368,26 +2631,27 @@
\pxrr@fatal@bad@intr
\fi
% \end{macrocode}
-% $B%b%N%k%S!J(B|m|$B!K!&=O8l%k%S!J(B|j|$B!K$K4X$9$k8!::!#(B
+% $B2$J8%k%S$G$O%b%N%k%S!J(B|m|$B!K!&=O8l%k%S!J(B|j|$B!K$O;XDjIT2D$J$N$G!"(B
+% $B%0%k!<%W%k%S$KJQ99$9$k!#(B
+% $B$3$N;~$KL@<(;XDj$G$"$k>l9g$O7Y9p$r=P$9!#(B
% \begin{macrocode}
\if g\pxrr@mode\else
-% \end{macrocode}
-% $B2$J8%k%S$G$OIT2D$J$N$G%0%k!<%W%k%S$KJQ99$9$k!#(B
-% \begin{macrocode}
\ifpxrr@abody
\let\pxrr@mode=g\relax
+ \ifpxrr@mode@given
+ \pxrr@warn@must@group
+ \fi
\fi
+ \fi
% \end{macrocode}
-% $BN>B&%k%S$G$OIT2D$J$N$G%0%k!<%W%k%S$KJQ99$9$k!#(B
+% $BN>B&%k%S$G$O%b%N%k%S!J(B|m|$B!K!&=O8l%k%S!J(B|j|$B!K$O;XDjIT2D$J$N$G!"(B
+% $B%0%k!<%W%k%S$KJQ99$9$k!#(B
+% $B$3$N;~$KL@<(;XDj$G$"$k>l9g$O7Y9p$r=P$9!#(B
% \begin{macrocode}
+ \if g\pxrr@mode\else
\ifnum\pxrr@side=\tw@
\let\pxrr@mode=g\relax
- \fi
-% \end{macrocode}
-% $B0J>e$N(B2$B$D$N>l9g$K$D$$$F!"L@<(;XDj$G$"$l$P7Y9p$r=P$9!#(B
-% \begin{macrocode}
- \if g\pxrr@mode
- \if g\pxrr@d@mode
+ \ifpxrr@mode@given
\pxrr@warn@must@group
\fi
\fi
@@ -2400,19 +2664,19 @@
% $B2#AH$_$G$OIT2D$J$N$GCfIU$-$KJQ99$9$k!#(B
% \begin{macrocode}
\ifpxrr@in@tate\else
- \pxrr@athead\z@
+ \chardef\pxrr@athead\z@
\fi
% \end{macrocode}
% $B%0%k!<%W%k%S$G$OIT2D$J$N$GCfIU$-$KJQ99$9$k!#(B
% \begin{macrocode}
\if g\pxrr@mode
- \pxrr@athead\z@
+ \chardef\pxrr@athead\z@
\fi
% \end{macrocode}
% $B0J>e$N(B2$B$D$N>l9g$K$D$$$F!"L@<(;XDj$G$"$l$P7Y9p$r=P$9!#(B
% \begin{macrocode}
\ifnum\pxrr@athead=\z@
- \ifnum\pxrr@d@athead>\z@
+ \ifpxrr@athead@given
\pxrr@warn@bad@athead
\fi
\fi
@@ -2875,24 +3139,26 @@
%
% \begin{macro}{\pxrr@compose@block}
% |\pxrr@compose@block{|\jmeta{$B%Q%?!<%s(B}|}{|^^A
-%r \jmeta{$B?FJ8;z%V%m%C%/(B}|}{|\jmeta{$B%k%SJ8;z%V%m%C%/(B}|}|\Means
+% \jmeta{$B?FJ8;z%V%m%C%/(B}|}{|\jmeta{$B%k%SJ8;z%V%m%C%/(B}|}|\Means
% 1$B$D$N%V%m%C%/$NAHHG=hM}!#(B
% \jmeta{$B%Q%?!<%s(B}$B$O(B |\pxrr@evenspace| $B$HF1$80UL#!#(B
% $BFM=P$,$"$k$+$r(B |\ifpxrr@protr| $B$KJV$7!"A0$H8e$NFM=P$NNL$r(B
% $B$=$l$>$l(B |\pxrr@bspace| $B$H(B |\pxrr@aspace| $B$KJV$9!#(B
% \begin{macrocode}
-\def\pxrr@compose@block{%
+\def\pxrr@compose@block#1#2#3{%
% \end{macrocode}
% $BK\BN$NA0$K2C9)=hM}$r2pF~$5$;$k!#(B
+% \Note |\pxrr@compose@block@pre| $B$O(B2$B$D$N%k%S0z?t$r<h$k!#(B
% |\pxrr@compose@block@do| $B$KK\BN%^%/%m$r(B |\let| $B$9$k!#(B
% \begin{macrocode}
\let\pxrr@compose@block@do\pxrr@compose@oneside@block@do
- \pxrr@compose@block@pre
+ \pxrr@compose@block@pre{#1}{#2}{#3}{}%
}
% \end{macrocode}
% $B$3$A$i$,K\BN!#(B
% \begin{macrocode}
-\def\pxrr@compose@oneside@block@do#1#2#3{%
+% #4$B$O6u(B
+\def\pxrr@compose@oneside@block@do#1#2#3#4{%
\setbox\pxrr@boxa\pxrr@hbox{#2}%
\setbox\pxrr@boxr\pxrr@hbox{%
\pxrr@use@ruby@font
@@ -3055,7 +3321,10 @@
% \end{macro}
%
% \begin{macro}{\pxrr@compose@block@pre}
-% $B?FJ8;zNs$N2C9)$r9T$&!#(B
+% |\pxrr@compose@block@pre{|\jmeta{$B%Q%?!<%s(B}|}{|^^A
+%r \jmeta{$B?FJ8;z(B}|}{|\jmeta{$B%k%S(B1}|}{|\jmeta{$B%k%S(B2}|}|\Means
+% $B?FJ8;zNs!&%k%SJ8;zNs$N2C9)$r9T$&!#(B
+% \Note $BN>B&%k%SBP1~$N$?$a!"%k%SMQ0z?t$,(B2$B$D$"$k!#(B
% \begin{macrocode}
\def\pxrr@compose@block@pre{%
% \end{macrocode}
@@ -3064,27 +3333,48 @@
\pxrr@ifnum{\pxrr@fullsize>\z@}{%
\pxrr@compose@block@pre@a
}{%
- \pxrr@compose@block@pre@c
+ \pxrr@compose@block@pre@d
}%
}
-\def\pxrr@compose@block@pre@a#1#2#3{%
- \def\pxrr@compose@block@tempa{#3}%
+% {$B%Q%?!<%s(B}{$B?FJ8;z(B}{$B%k%S(B1}{$B%k%S(B2}
+\def\pxrr@compose@block@pre@a#1#2#3#4{%
+ \def\pxrr@compose@block@tempa{#4}%
\pxrr@transform@kana\pxrr@compose@block@tempa
\expandafter\pxrr@compose@block@pre@b
- \expandafter{\pxrr@compose@block@tempa}{#1}{#2}%
+ \expandafter{\pxrr@compose@block@tempa}{#1}{#2}{#3}%
+}
+% {$B%k%S(B2}{$B%Q%?!<%s(B}{$B?FJ8;z(B}{$B%k%S(B1}
+\def\pxrr@compose@block@pre@b#1#2#3#4{%
+ \def\pxrr@compose@block@tempa{#4}%
+ \pxrr@transform@kana\pxrr@compose@block@tempa
+ \expandafter\pxrr@compose@block@pre@c
+ \expandafter{\pxrr@compose@block@tempa}{#1}{#2}{#3}%
}
-\def\pxrr@compose@block@pre@b#1#2#3{%
- \pxrr@compose@block@pre@c{#2}{#3}{#1}%
+% {$B%k%S(B1}{$B%k%S(B2}{$B%Q%?!<%s(B}{$B?FJ8;z(B}
+\def\pxrr@compose@block@pre@c#1#2#3#4{%
+ \pxrr@compose@block@pre@d{#3}{#4}{#1}{#2}%
}
-\def\pxrr@compose@block@pre@c{%
+\def\pxrr@compose@block@pre@d{%
\pxrr@ifnum{\pxrr@evensp=\z@}{%
- \pxrr@compose@block@pre@d
+ \pxrr@compose@block@pre@e
+ }{%
+ \pxrr@compose@block@pre@f
+ }%
+}
+% {$B%Q%?!<%s(B}{$B?FJ8;z(B}
+\def\pxrr@compose@block@pre@e#1#2{%
+ \pxrr@compose@block@pre@f{#1}{{#2}}%
+}
+\def\pxrr@compose@block@pre@f{%
+ \pxrr@ifnum{\pxrr@revensp=\z@}{%
+ \pxrr@compose@block@pre@g
}{%
\pxrr@compose@block@do
}%
}
-\def\pxrr@compose@block@pre@d#1#2{%
- \pxrr@compose@block@do{#1}{{#2}}%
+% {$B%Q%?!<%s(B}{$B?FJ8;z(B}{$B%k%S(B1}{$B%k%S(B2}
+\def\pxrr@compose@block@pre@g#1#2#3#4{%
+ \pxrr@compose@block@do{#1}{#2}{{#3}}{{#4}}%
}
% \end{macrocode}
% \end{macro}
@@ -3261,7 +3551,7 @@
\pxrr@check@kinsoku@c#1#1%
}
\def\pxrr@check@kinsoku@c#1{%
- \pxrr@cntr\prebreakpenalty`#1\relax
+ \pxrr@get@prebreakpenalty\pxrr@cntr{#1}%
\pxrr@tempb
}
% \end{macrocode}
@@ -3435,11 +3725,12 @@
\hskip-\pxrr@intr@amount\relax
\fi
% \end{macrocode}
-% $BCJMnKAF,$G$J$$>l9g!"%Z%J%k%F%#!";z4V6u$-$N%0%k!=!"?JF~MQ$N%0%k!=$r(B
+% $BCJMnKAF,$G$J$$>l9g!";z4V6u$-$N%0%k!=!"?JF~MQ$N%0%k!=$r(B
% $B=gHV$KF~$l$k!#(B
+% \Note $B%Z%J%k%F%#$O(B |\pxrr@put@head@penalty| $B$G4{$KF~$l$F$$$k!#(B
% \begin{macrocode}
\else
- \penalty\pxrr@auto@penalty\relax
+% \penalty\pxrr@auto@penalty\relax
\hskip-\pxrr@intr@amount\relax
\hskip\pxrr@auto@icspace\relax
\fi
@@ -3448,6 +3739,27 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\pxrr@put@head@penalty}
+% $BA0B&$KJd=u;XDj$GDj$a$i$l$?CM$N%Z%J%k%F%#$rCV$/!#(B
+% $B8=:_0LCV$K4{$K%Z%J%k%F%#$,$"$k>l9g$O9g;;$9$k!#(B
+% \begin{macrocode}
+\def\pxrr@put@head@penalty{%
+ \ifpxrr@ghost\else \ifpxrr@par@head\else
+ \ifpxrr@abody
+ \pxrr@intrude@setauto@a
+ \else
+ \pxrr@intrude@setauto@j
+ \fi
+ \ifnum\pxrr@auto@penalty=\z@\else
+ \pxrr@cnta\lastpenalty \unpenalty
+ \advance\pxrr@cnta\pxrr@auto@penalty\relax
+ \penalty\pxrr@cnta
+ \fi
+ \fi\fi
+}
+% \end{macrocode}
+% \end{macro}
+%
% \subsubsection{$B8eB&?JF~=hM}(B}
%
% \begin{macro}{\pxrr@intrude@end}
@@ -3673,6 +3985,9 @@
\ifpxrrDebug
\pxrr@debug@show@input
\fi
+ \ifpxrr@safe@mode
+ \pxrr@setup@safe@mode
+ \fi
% \end{macrocode}
% $BF~NO8!::$r9T$$!"%Q%9$7$?>l9g$OAHHG=hM}$K?J$`!#(B
% \begin{macrocode}
@@ -3722,6 +4037,9 @@
\ifpxrrDebug
\pxrr@debug@show@input
\fi
+ \ifpxrr@safe@mode
+ \pxrr@setup@safe@mode
+ \fi
% \end{macrocode}
% $BF~NO8!::$r9T$$!"%Q%9$7$?>l9g$OAHHG=hM}$K?J$`!#(B
% \begin{macrocode}
@@ -3737,6 +4055,18 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\pxrr@setup@safe@mode}
+% $B0BA4%b!<%IMQ$N@_Dj!#(B
+% \begin{macrocode}
+\def\pxrr@setup@safe@mode{%
+ \let\pxrr@mode=g%
+ \chardef\pxrr@evensp\z@
+ \chardef\pxrr@revensp\z@
+ \chardef\pxrr@fullsize\z@
+}
+% \end{macrocode}
+% \end{macro}
+%
% \subsubsection{$BF~NO8!::(B}
%
% $B%0%k!<%W!&J8;z$N8D?t$N8!::$r9T$&<jB3!#(B
@@ -3884,6 +4214,7 @@
\pxrr@zip@list\pxrr@body@list\pxrr@ruby@list
\let\pxrr@whole@list\pxrr@res
\pxrr@check@par@head
+ \pxrr@put@head@penalty
\pxrr@any@protrfalse
\ifpxrrDebug
\pxrr@debug@show@recomp
@@ -4001,6 +4332,7 @@
\pxrr@zip@list\pxrr@body@list\pxrr@ruby@list
\let\pxrr@whole@list\pxrr@res
\pxrr@check@par@head
+ \pxrr@put@head@penalty
\ifpxrrDebug
\pxrr@debug@show@recomp
\fi
@@ -4032,6 +4364,7 @@
% \begin{macrocode}
\def\pxrr@ruby@main@tg{%
\pxrr@check@par@head
+ \pxrr@put@head@penalty
\let\pxrr@locate@sing@\pxrr@locate@inner
\ifpxrr@aprotr\else
\let\pxrr@locate@sing@\pxrr@locate@end
@@ -4107,23 +4440,24 @@
% $B!J%0%k!<%WFb$G(B |\usefont{T1}{lmr}{m}{n}| $B$r8F$s$G$*$/$H!"(B
% $BBg0hE*$K(B |\T1/lmr/m/n/2.5| $B$,Dj5A$5$l$k!#!K(B
% \begin{macrocode}
-\ifpxrr@aghost
+\def\pxrr@setup@aghost{%
+ \global\let\pxrr@setup@aghost\relax
\IfFileExists{t1lmr.fd}{%
\begingroup
- \fontsize{2.5}{0}\usefont{T1}{lmr}{m}{n}
+ \fontsize{2.5}{0}\usefont{T1}{lmr}{m}{n}%
\endgroup
- \pxrr@letcs\pxrr@aghostfont{T1/lmr/m/n/2.5}%
- \chardef\pxrr@aghostchar=23 % compwordmark
- \def\pxrr@aghost{{\pxrr@aghostfont\pxrr@aghostchar}}%
- \xspcode\pxrr@aghostchar=3 %
+ \global\pxrr@letcs\pxrr@aghostfont{T1/lmr/m/n/2.5}%
+ \global\chardef\pxrr@aghostchar=23 % compwordmark
+ \gdef\pxrr@aghost{{\pxrr@aghostfont\pxrr@aghostchar}}%
+ \global\xspcode\pxrr@aghostchar=3 %
}{%else
- \oxrr@warn{Ghost embedding for \string\aruby\space
+ \pxrr@warn{Ghost embedding for \string\aruby\space
is disabled,\MessageBreak
since package lmodern is missing}%
- \pxrr@aghostfalse
- \let\pxrr@aghosttrue\relax
+ \global\pxrr@aghostfalse
+ \global\let\pxrr@aghosttrue\relax
}%
-\fi
+}
% \end{macrocode}
% \end{macro}
%
@@ -4226,6 +4560,8 @@
pxrr@aintr = \pxrr@aintr^^J%
pxrr@athead = \the\pxrr@athead^^J%
pxrr@mode = \meaning\pxrr@mode^^J%
+ ifpxrr@athead@given = \meaning\ifpxrr@athead@given^^J%
+ ifpxrr@mode@given = \meaning\ifpxrr@mode@given^^J%
pxrr@body@list = \meaning\pxrr@body@list^^J%
pxrr@body@count = \@nameuse{pxrr@body@count}^^J%
pxrr@ruby@list = \meaning\pxrr@ruby@list^^J%